From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001
From: wwf <yearningwang@iqtogether.com>
Date: 星期三, 04 六月 2025 15:17:49 +0800
Subject: [PATCH] 初始化

---
 app/components/base/icons/src/public/thought/WebReader.tsx                                                      |   14 
 app/components/base/list-empty/index.tsx                                                                        |   21 
 app/components/workflow/operator/control.tsx                                                                    |   24 
 app/components/base/icons/src/public/tracing/LangfuseIcon.json                                                  |    2 
 app/page.tsx                                                                                                    |    2 
 app/components/base/block-input/index.tsx                                                                       |    4 
 app/components/workflow/block-selector/tabs.tsx                                                                 |   15 
 app/components/datasets/create/website/firecrawl/header.tsx                                                     |   29 
 app/components/app/configuration/base/var-highlight/index.tsx                                                   |    2 
 app/components/base/prompt-editor/plugins/custom-text/node.tsx                                                  |    8 
 app/components/base/prompt-editor/plugins/component-picker-block/menu.tsx                                       |    2 
 app/components/datasets/common/retrieval-param-config/index.tsx                                                 |   10 
 app/components/workflow/nodes/start/components/var-list.tsx                                                     |    2 
 app/components/app/overview/apikey-info-panel/progress/style.module.css                                         |   16 
 app/components/datasets/documents/detail/completed/common/action-buttons.tsx                                    |   14 
 app/components/workflow/nodes/if-else/components/condition-value.tsx                                            |   16 
 app/components/workflow/nodes/_base/components/file-upload-setting.tsx                                          |    2 
 app/components/datasets/create/website/jina-reader/crawling.tsx                                                 |   37 
 app/(commonLayout)/apps/style.module.css                                                                        |   29 
 app/components/app/create-app-dialog/app-list/sidebar.tsx                                                       |   71 
 app/components/base/radio/component/group/index.tsx                                                             |    6 
 app/components/workflow/run/node.tsx                                                                            |  180 
 app/components/base/checkbox/index.tsx                                                                          |   49 
 app/components/base/icons/src/public/avatar/Robot.tsx                                                           |   14 
 app/components/billing/config.ts                                                                                |   88 
 app/components/base/icons/src/public/llm/OpenaiText.json                                                        |    2 
 i18n/ko-KR/dataset-documents.ts                                                                                 |    2 
 yarn.lock                                                                                                       | 13310 ++++++++++
 i18n/en-US/share-app.ts                                                                                         |   12 
 app/components/base/image-uploader/chat-image-uploader.tsx                                                      |   20 
 app/components/workflow/nodes/if-else/components/condition-add.tsx                                              |    4 
 app/components/workflow/nodes/llm/components/resolution-picker.tsx                                              |    2 
 i18n/ja-JP/dataset-settings.ts                                                                                  |   22 
 i18n/fa-IR/workflow.ts                                                                                          |  214 
 i18n/ko-KR/app-overview.ts                                                                                      |    2 
 app/components/base/file-uploader/file-uploader-in-attachment/file-item.tsx                                     |   26 
 app/components/base/pagination/type.ts                                                                          |    6 
 i18n/hi-IN/common.ts                                                                                            |   49 
 app/components/base/icons/src/public/files/Pdf.tsx                                                              |   14 
 app/components/app/configuration/ctrl-btn-group/index.tsx                                                       |    4 
 i18n/fa-IR/dataset-documents.ts                                                                                 |    2 
 app/components/datasets/documents/detail/completed/skeleton/paragraph-list-skeleton.tsx                         |   20 
 public/logo/logo-site-dark.png                                                                                  |    0 
 app/signin/assets/background.png                                                                                |    0 
 app/components/workflow/nodes/_base/components/variable/output-var-list.tsx                                     |    2 
 service/use-base.ts                                                                                             |   11 
 i18n/ru-RU/billing.ts                                                                                           |   82 
 app/components/workflow/nodes/http/components/api-input.tsx                                                     |    8 
 app/components/app/configuration/prompt-mode/advanced-mode-waring.tsx                                           |   12 
 app/components/base/logo/logo-embedded-chat-header.tsx                                                          |   13 
 app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx                                     |   67 
 app/components/tools/setting/build-in/config-credentials.tsx                                                    |   37 
 app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.tsx                     |    3 
 app/components/app/switch-app-modal/style.module.css                                                            |    3 
 app/components/base/icons/src/vender/line/development/GitBranch01.tsx                                           |   14 
 app/components/base/text-generation/types.ts                                                                    |    4 
 app/components/header/account-setting/model-provider-page/provider-added-card/priority-use-tip.tsx              |    4 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/config-popup.tsx                              |   77 
 app/components/base/badge.tsx                                                                                   |   13 
 app/components/share/text-generation/run-batch/csv-download/index.tsx                                           |   16 
 i18n/zh-Hans/explore.ts                                                                                         |    1 
 app/components/workflow/nodes/variable-assigner/node.tsx                                                        |    2 
 i18n/es-ES/run-log.ts                                                                                           |    2 
 app/components/header/account-setting/model-provider-page/model-name/index.tsx                                  |   64 
 app/components/base/chat/utils.ts                                                                               |   43 
 app/components/base/icons/src/public/other/Icon3Dots.tsx                                                        |   14 
 app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.tsx              |    6 
 i18n/hi-IN/dataset-settings.ts                                                                                  |    2 
 app/components/base/icons/src/vender/line/general/Edit04.tsx                                                    |   14 
 i18n/ja-JP/app-overview.ts                                                                                      |    2 
 app/components/workflow/custom-edge.tsx                                                                         |    7 
 utils/app-redirection.ts                                                                                        |    4 
 app/components/base/icons/src/public/llm/ZhipuaiTextCn.tsx                                                      |   14 
 app/components/workflow/limit-tips.tsx                                                                          |   12 
 app/components/base/prompt-editor/plugins/on-blur-or-focus-block.tsx                                            |   18 
 app/components/header/account-setting/model-provider-page/utils.ts                                              |    4 
 app/components/workflow/types.ts                                                                                |   36 
 app/components/datasets/external-knowledge-base/create/index.tsx                                                |   30 
 app/components/app/create-from-dsl-modal/index.tsx                                                              |   72 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/api/page.tsx                                      |    4 
 i18n/th-TH/dataset-creation.ts                                                                                  |   18 
 app/components/base/icons/src/vender/workflow/Llm.tsx                                                           |   14 
 i18n/zh-Hans/common.ts                                                                                          |   51 
 i18n/pt-BR/common.ts                                                                                            |   49 
 app/account/delete-account/components/feed-back.tsx                                                             |    4 
 app/components/base/icons/src/image/llm/Wxyy.tsx                                                                |   15 
 app/components/base/markdown-blocks/form.tsx                                                                    |  112 
 i18n/it-IT/dataset-creation.ts                                                                                  |   16 
 i18n/ro-RO/run-log.ts                                                                                           |    2 
 i18n/ru-RU/dataset-creation.ts                                                                                  |   18 
 app/components/sentry-initor.tsx                                                                                |    7 
 app/components/base/icons/src/vender/solid/development/Variable02.tsx                                           |   14 
 app/account/page.tsx                                                                                            |    2 
 app/components/base/chat/chat/answer/operation.tsx                                                              |  197 
 app/components/workflow/panel/chat-variable-panel/components/variable-type-select.tsx                           |   18 
 app/signin/components/sso-auth.tsx                                                                              |    2 
 app/components/app/configuration/config-vision/index.tsx                                                        |   14 
 app/components/app/configuration/base/group-name/index.tsx                                                      |    6 
 app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.tsx                                          |   14 
 app/components/base/icons/src/public/llm/OpenaiGreen.tsx                                                        |   14 
 app/components/tools/workflow-tool/method-selector.tsx                                                          |   34 
 app/signin/normalForm.tsx                                                                                       |   76 
 app/components/base/features/new-feature-panel/feature-card.tsx                                                 |    8 
 app/components/base/icons/src/vender/workflow/IfElse.tsx                                                        |   14 
 app/components/workflow/nodes/_base/components/selector.tsx                                                     |   14 
 app/components/base/icons/src/vender/workflow/TemplatingTransform.tsx                                           |   14 
 app/components/workflow/nodes/_base/panel.tsx                                                                   |   42 
 app/components/base/icons/src/public/common/D.json                                                              |    2 
 app/components/base/icons/src/vender/line/files/Folder.tsx                                                      |   14 
 app/components/app/configuration/config/config-document.tsx                                                     |   14 
 app/components/base/tag-management/filter.tsx                                                                   |   18 
 i18n/es-ES/dataset-creation.ts                                                                                  |   18 
 app/components/base/icons/src/vender/solid/communication/MessageFast.tsx                                        |   14 
 app/components/datasets/create/website/no-data.tsx                                                              |   32 
 i18n/fr-FR/app.ts                                                                                               |   20 
 app/components/base/chat/chat-with-history/chat-wrapper.tsx                                                     |  194 
 app/components/workflow/nodes/_base/components/error-handle/fail-branch-card.tsx                                |   10 
 i18n/de-DE/dataset-documents.ts                                                                                 |    5 
 app/account/header.tsx                                                                                          |   26 
 app/components/header/account-setting/model-provider-page/provider-icon/index.tsx                               |   37 
 app/components/app/configuration/config/assistant-type-picker/index.tsx                                         |   32 
 app/components/base/icons/src/vender/line/others/LongArrowLeft.tsx                                              |   14 
 app/(commonLayout)/datasets/template/template.en.mdx                                                            | 1152 
 app/components/app-sidebar/basic.tsx                                                                            |   27 
 app/components/base/icons/src/public/files/Doc.json                                                             |    2 
 package.json                                                                                                    |  239 
 app/components/header/account-setting/members-page/invited-modal/index.module.css                               |    4 
 app/components/workflow/nodes/list-operator/components/filter-condition.tsx                                     |    2 
 app/components/base/icons/src/vender/features/VirtualAssistant.tsx                                              |   14 
 app/components/workflow/nodes/end/default.ts                                                                    |   14 
 app/components/workflow/block-selector/all-tools.tsx                                                            |  155 
 app/components/workflow/panel/workflow-preview.tsx                                                              |  322 
 i18n/fr-FR/dataset-settings.ts                                                                                  |    2 
 app/components/workflow/panel/chat-variable-panel/components/variable-item.tsx                                  |   22 
 app/components/workflow/panel/debug-and-preview/chat-wrapper.tsx                                                |   39 
 app/components/workflow/nodes/_base/components/file-type-item.tsx                                               |   19 
 app/components/i18n.tsx                                                                                         |    3 
 app/components/header/account-setting/model-provider-page/model-icon/index.tsx                                  |   35 
 app/components/workflow/nodes/knowledge-retrieval/utils.ts                                                      |   12 
 app/components/app/configuration/config/agent/agent-setting/item-panel.tsx                                      |    8 
 app/components/base/icons/src/public/llm/Openllm.tsx                                                            |   14 
 app/components/datasets/create/website/base/crawling.tsx                                                        |    8 
 app/components/tools/edit-custom-collection-modal/examples.ts                                                   |    2 
 hooks/use-timestamp.ts                                                                                          |    6 
 i18n/it-IT/app.ts                                                                                               |   20 
 app/components/header/account-setting/members-page/operation/index.module.css                                   |    3 
 app/signin/layout.tsx                                                                                           |   26 
 i18n/check-i18n.js                                                                                              |   12 
 app/components/base/icons/src/vender/line/general/DotsGrid.tsx                                                  |   14 
 app/forgot-password/page.tsx                                                                                    |   20 
 app/components/base/icons/src/vender/solid/users/UserEdit02.tsx                                                 |   14 
 i18n/zh-Hans/dataset-creation.ts                                                                                |   20 
 app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx                                    |   45 
 app/components/workflow/nodes/_base/components/error-handle/error-handle-on-panel.tsx                           |   25 
 app/components/app/configuration/dataset-config/index.tsx                                                       |  141 
 i18n/pt-BR/dataset.ts                                                                                           |   48 
 hooks/use-metadata.ts                                                                                           |   28 
 i18n/pl-PL/custom.ts                                                                                            |    2 
 app/components/header/account-setting/model-provider-page/hooks.ts                                              |  118 
 app/components/base/icons/src/vender/line/others/Exchange02.tsx                                                 |   14 
 app/components/datasets/external-knowledge-base/create/ExternalApiSelection.tsx                                 |    8 
 i18n/fr-FR/dataset-creation.ts                                                                                  |   18 
 app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx                    |   21 
 app/components/base/toast/index.tsx                                                                             |   41 
 app/components/base/icons/src/public/llm/Gpt3.json                                                              |    2 
 i18n/pl-PL/dataset-documents.ts                                                                                 |    2 
 app/components/workflow/nodes/_base/components/support-var-input/index.tsx                                      |    4 
 app/components/base/icons/src/vender/solid/general/PlusCircle.tsx                                               |   14 
 app/components/base/features/new-feature-panel/annotation-reply/index.tsx                                       |   25 
 app/components/base/icons/src/public/tracing/LangfuseIconBig.json                                               |    2 
 app/components/custom/style.module.css                                                                          |    2 
 app/components/workflow/nodes/_base/components/field.tsx                                                        |   25 
 app/components/base/icons/src/vender/solid/editor/Citations.tsx                                                 |   14 
 app/components/base/icons/src/vender/workflow/End.tsx                                                           |   14 
 app/components/app/configuration/base/feature-panel/index.tsx                                                   |   12 
 app/components/workflow/nodes/knowledge-retrieval/components/dataset-list.tsx                                   |    2 
 service/base.ts                                                                                                 |  268 
 app/components/workflow/panel/env-panel/variable-modal.tsx                                                      |   58 
 app/components/header/account-setting/members-page/index.tsx                                                    |  121 
 app/components/workflow/hooks/use-workflow-variables.ts                                                         |   39 
 i18n/th-TH/custom.ts                                                                                            |    2 
 app/components/datasets/external-api/external-api-modal/index.tsx                                               |   38 
 i18n/sl-SI/app-overview.ts                                                                                      |    2 
 app/components/base/notion-page-selector/base.tsx                                                               |   32 
 models/debug.ts                                                                                                 |   10 
 themes/manual-dark.css                                                                                          |   80 
 app/components/datasets/hit-testing/textarea.tsx                                                                |   38 
 app/components/base/chat/chat/chat-input-area/hooks.ts                                                          |    7 
 app/components/base/icons/src/public/llm/OpenllmText.tsx                                                        |   14 
 i18n/it-IT/run-log.ts                                                                                           |    2 
 app/components/base/icons/src/public/common/Lock.tsx                                                            |   14 
 i18n/sl-SI/run-log.ts                                                                                           |    2 
 app/components/workflow/nodes/_base/components/error-handle/error-handle-type-selector.tsx                      |   12 
 app/components/base/tab-slider/index.tsx                                                                        |  107 
 app/components/workflow/nodes/document-extractor/default.ts                                                     |    2 
 app/components/develop/md.tsx                                                                                   |   21 
 i18n/sl-SI/custom.ts                                                                                            |    2 
 app/components/base/app-icon/index.tsx                                                                          |    4 
 app/components/share/text-generation/result/content.tsx                                                         |    4 
 app/components/base/icons/src/vender/solid/communication/MessageDotsCircle.tsx                                  |   14 
 service/workflow.ts                                                                                             |    9 
 app/components/workflow/nodes/assigner/types.ts                                                                 |    2 
 app/components/base/icons/src/vender/line/general/AtSign.tsx                                                    |   14 
 app/components/base/icons/src/vender/other/Generator.tsx                                                        |   14 
 i18n/uk-UA/explore.ts                                                                                           |    1 
 app/components/workflow/nodes/_base/hooks/use-available-var-list.ts                                             |    7 
 app/reset-password/set-password/page.tsx                                                                        |   22 
 app/components/base/markdown-blocks/button.tsx                                                                  |    2 
 app/components/billing/vector-space-full/index.tsx                                                              |    6 
 app/components/datasets/create/file-uploader/index.tsx                                                          |  105 
 i18n/hi-IN/custom.ts                                                                                            |    2 
 i18n/en-US/custom.ts                                                                                            |    2 
 app/components/app/configuration/base/warning-mask/index.tsx                                                    |    6 
 service/use-workflow.ts                                                                                         |   85 
 app/(shareLayout)/webapp-signin/page.tsx                                                                        |    4 
 app/components/base/notion-page-selector/notion-page-selector-modal/index.tsx                                   |    9 
 README.md                                                                                                       |   26 
 app/components/datasets/create/website/base/error-message.tsx                                                   |   10 
 app/components/workflow/update-dsl-modal.tsx                                                                    |   53 
 app/components/base/icons/src/vender/line/files/FileUpload.tsx                                                  |   14 
 app/components/base/icons/src/vender/line/mapsAndTravel/Globe01.tsx                                             |   14 
 app/components/base/chat/chat-with-history/sidebar/list.tsx                                                     |   34 
 app/components/base/icons/src/public/common/MessageChatSquare.json                                              |    2 
 i18n/ko-KR/workflow.ts                                                                                          |  228 
 app/components/workflow/nodes/llm/types.ts                                                                      |   50 
 i18n/tr-TR/dataset.ts                                                                                           |   48 
 app/components/explore/index.tsx                                                                                |    6 
 i18n/hi-IN/dataset-creation.ts                                                                                  |   16 
 app/components/workflow/nodes/_base/components/input-support-select-var.tsx                                     |   11 
 app/components/base/icons/src/public/files/Txt.json                                                             |    2 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/panel.tsx                                     |  132 
 app/components/base/icons/src/vender/solid/files/FileSearch02.tsx                                               |   14 
 app/components/datasets/create/website/jina-reader/base/field.tsx                                               |    2 
 i18n/zh-Hans/tools.ts                                                                                           |    7 
 app/components/app/overview/embedded/style.module.css                                                           |    2 
 app/components/base/chat/chat/citation/popup.tsx                                                                |   42 
 app/components/datasets/documents/detail/batch-modal/csv-downloader.tsx                                         |   24 
 app/components/workflow/nodes/_base/components/variable/assigned-var-reference-popup.tsx                        |    2 
 app/components/app/configuration/debug/chat-user-input.tsx                                                      |   11 
 app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.tsx                     |    3 
 app/components/base/copy-feedback/index.tsx                                                                     |   29 
 app/components/base/icons/src/public/knowledge/ParentChildType.tsx                                              |   14 
 app/components/share/text-generation/result/index.tsx                                                           |   88 
 app/components/workflow/run/status.tsx                                                                          |   20 
 app/components/base/icons/src/public/llm/HuggingfaceTextHub.json                                                |    2 
 app/components/app/annotation/view-annotation-modal/hit-history-no-data.tsx                                     |    6 
 app/components/base/icons/src/vender/other/ReplayLine.tsx                                                       |   14 
 app/components/datasets/hit-testing/components/result-item-external.tsx                                         |    6 
 app/components/datasets/create/stepper/index.tsx                                                                |    2 
 app/components/base/icons/src/public/common/index.ts                                                            |    3 
 app/components/app/create-app-dialog/app-card/index.tsx                                                         |   16 
 app/components/base/features/new-feature-panel/file-upload/index.tsx                                            |   20 
 app/components/workflow/nodes/code/dependency-picker.tsx                                                        |   16 
 app/components/base/icons/src/public/llm/OpenaiBlack.tsx                                                        |   14 
 app/components/base/icons/src/vender/solid/development/FileHeart02.tsx                                          |   14 
 app/components/base/icons/src/public/common/Dify.tsx                                                            |   14 
 app/components/base/icons/src/vender/line/development/BracketsX.tsx                                             |   14 
 app/components/workflow/hooks/use-workflow-run.ts                                                               |  784 
 app/components/datasets/documents/detail/completed/status-item.tsx                                              |    4 
 app/components/workflow/block-selector/blocks.tsx                                                               |   21 
 app/components/base/audio-btn/audio.player.manager.ts                                                           |    9 
 app/components/base/icons/src/public/plugins/index.ts                                                           |    4 
 i18n/pl-PL/share-app.ts                                                                                         |    8 
 app/components/datasets/documents/detail/new-segment.tsx                                                        |   25 
 app/components/base/icons/src/vender/line/files/FilePlus01.tsx                                                  |   14 
 app/account/account-page/index.tsx                                                                              |   49 
 app/components/app/configuration/config-var/config-modal/index.tsx                                              |    4 
 app/components/base/icons/src/public/knowledge/SelectionMod.json                                                |    2 
 app/components/workflow/nodes/_base/components/next-step/operator.tsx                                           |   14 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/toggle-fold-btn.tsx                           |   45 
 service/datasets.ts                                                                                             |   24 
 app/components/workflow/nodes/document-extractor/node.tsx                                                       |    4 
 app/components/base/icons/src/vender/line/general/UploadCloud01.tsx                                             |   14 
 i18n/en-US/run-log.ts                                                                                           |    2 
 service/knowledge/use-document.ts                                                                               |   24 
 app/components/base/features/new-feature-panel/feature-bar.tsx                                                  |   52 
 app/components/base/prompt-editor/plugins/history-block/index.tsx                                               |    3 
 app/(commonLayout)/datasets/Container.tsx                                                                       |   16 
 app/components/base/icons/src/public/files/Md.json                                                              |    2 
 app/components/base/icons/src/public/llm/LocalaiText.tsx                                                        |   14 
 app/components/workflow/nodes/start/components/var-item.tsx                                                     |   33 
 typography.js                                                                                                   |   70 
 app/components/workflow/nodes/tool/panel.tsx                                                                    |   63 
 themes/tailwind-theme-var-define.ts                                                                             |    3 
 app/components/datasets/create/website/firecrawl/index.tsx                                                      |   15 
 app/components/app-sidebar/app-info.tsx                                                                         |  522 
 app/components/base/icons/src/vender/solid/editor/Colors.tsx                                                    |   14 
 app/components/workflow/nodes/parameter-extractor/components/extract-parameter/item.tsx                         |   25 
 app/components/base/chat/chat/citation/index.tsx                                                                |   16 
 app/components/workflow/header/undo-redo.tsx                                                                    |    4 
 app/components/base/icons/src/vender/line/financeAndECommerce/Tag01.tsx                                         |   14 
 i18n/language.ts                                                                                                |   20 
 app/components/base/icons/src/public/thought/DataSet.json                                                       |    2 
 app/components/app/configuration/debug/debug-with-multiple-model/debug-item.tsx                                 |    6 
 app/components/workflow/nodes/variable-assigner/components/add-variable/index.tsx                               |    8 
 app/components/workflow/run/output-panel.tsx                                                                    |    4 
 app/components/base/file-uploader/file-uploader-in-chat-input/index.tsx                                         |    2 
 app/components/workflow/hooks/use-edges-interactions.ts                                                         |   17 
 app/components/base/chat/chat/answer/__mocks__/workflowProcess.ts                                               |    2 
 app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx                                 |   55 
 app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/style.module.css       |    2 
 app/components/base/icons/src/public/common/DiagonalDividingLine.json                                           |    2 
 app/components/tools/labels/store.ts                                                                            |   15 
 app/components/datasets/documents/detail/completed/skeleton/general-list-skeleton.tsx                           |   18 
 app/components/app/configuration/features/chat-group/opening-statement/index.tsx                                |  300 
 app/components/workflow/nodes/code/utils.ts                                                                     |    4 
 app/components/base/chat/chat-with-history/hooks.tsx                                                            |   99 
 app/components/base/app-icon-picker/ImageInput.tsx                                                              |   12 
 app/components/app/text-generate/item/index.tsx                                                                 |  449 
 app/components/workflow/nodes/question-classifier/panel.tsx                                                     |   64 
 app/components/base/image-gallery/index.tsx                                                                     |    4 
 i18n/tr-TR/billing.ts                                                                                           |   82 
 app/components/app/create-app-dialog/app-list/index.tsx                                                         |   40 
 app/components/base/features/new-feature-panel/moderation/index.tsx                                             |   20 
 app/components/base/icons/src/vender/line/development/PromptEngineering.tsx                                     |   14 
 i18n/th-TH/app-debug.ts                                                                                         |    4 
 app/components/workflow/nodes/code/panel.tsx                                                                    |    8 
 public/vs/language/typescript/tsWorker.js                                                                       |  589 
 i18n/sl-SI/app.ts                                                                                               |   21 
 app/components/base/icons/src/public/llm/Cohere.tsx                                                             |   14 
 app/components/develop/template/template_chat.zh.mdx                                                            |  245 
 i18n/it-IT/workflow.ts                                                                                          |  212 
 i18n/de-DE/dataset-creation.ts                                                                                  |   18 
 i18n/vi-VN/dataset-creation.ts                                                                                  |   18 
 app/components/datasets/create/step-one/index.tsx                                                               |  356 
 i18n/sl-SI/dataset.ts                                                                                           |   48 
 app/components/datasets/create/website/jina-reader/index.tsx                                                    |   19 
 app/components/base/icons/src/public/llm/AzureOpenaiService.tsx                                                 |   14 
 i18n/tr-TR/tools.ts                                                                                             |    3 
 app/components/workflow/panel/env-panel/index.tsx                                                               |   14 
 app/components/workflow/nodes/_base/hooks/use-node-info.ts                                                      |    2 
 i18n/de-DE/custom.ts                                                                                            |    2 
 app/components/base/icons/src/vender/workflow/index.ts                                                          |    3 
 i18n/ru-RU/app-overview.ts                                                                                      |    2 
 app/components/base/chat/chat/chat-input-area/index.tsx                                                         |   37 
 app/components/explore/create-app-modal/index.tsx                                                               |   61 
 app/components/base/prompt-editor/plugins/workflow-variable-block/node.tsx                                      |   26 
 app/components/base/icons/src/image/llm/Minimax.tsx                                                             |   15 
 i18n/pt-BR/billing.ts                                                                                           |   82 
 app/components/header/account-setting/key-validator/index.tsx                                                   |    8 
 .gitignore                                                                                                      |    7 
 app/components/base/icons/src/public/tracing/LangsmithIcon.json                                                 |    2 
 i18n/hi-IN/explore.ts                                                                                           |    1 
 app/components/base/icons/src/vender/line/development/FileHeart02.tsx                                           |   14 
 app/components/base/icons/src/public/files/Unknown.tsx                                                          |   14 
 app/components/base/icons/src/public/tracing/TracingIcon.tsx                                                    |   14 
 .eslintrc.json                                                                                                  |   31 
 .idea/vcs.xml                                                                                                   |    6 
 app/components/base/features/new-feature-panel/moderation/form-generation.tsx                                   |    4 
 app/components/base/corner-label/index.tsx                                                                      |    6 
 app/components/base/icons/src/vender/line/general/LogOut01.tsx                                                  |   14 
 app/components/datasets/create/notion-page-preview/index.tsx                                                    |   13 
 app/components/base/icons/src/vender/solid/development/PuzzlePiece01.tsx                                        |   14 
 app/components/workflow/note-node/note-editor/toolbar/divider.tsx                                               |    2 
 app/components/base/icons/src/vender/line/arrows/ChevronSelectorVertical.tsx                                    |   14 
 app/components/base/icons/src/vender/line/development/Container.tsx                                             |   14 
 app/activate/team-28x28.png                                                                                     |    0 
 app/components/base/notion-page-selector/notion-page-selector-modal/index.module.css                            |    2 
 app/components/base/checkbox/index.module.css                                                                   |   10 
 app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx                                      |   14 
 app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx                                |  124 
 utils/index.ts                                                                                                  |   44 
 app/components/datasets/create/website/index.module.css                                                         |    7 
 app/components/base/icons/src/vender/line/general/Target04.tsx                                                  |   14 
 i18n/de-DE/app-overview.ts                                                                                      |    2 
 app/components/datasets/create/step-two/unescape.ts                                                             |    4 
 i18n/ko-KR/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/public/tracing/LangsmithIcon.tsx                                                  |   14 
 i18n/tr-TR/workflow.ts                                                                                          |  214 
 app/components/datasets/create/website/firecrawl/options.tsx                                                    |   10 
 app/components/workflow/nodes/assigner/components/operation-selector.tsx                                        |   16 
 app/components/workflow/panel/index.tsx                                                                         |   78 
 app/components/header/account-setting/model-provider-page/provider-card/index.tsx                               |  103 
 app/components/base/prompt-editor/plugins/history-block/node.tsx                                                |    6 
 app/components/header/account-setting/model-provider-page/model-parameter-modal/parameter-item.tsx              |   59 
 app/components/base/icons/src/public/files/Yaml.tsx                                                             |   14 
 app/components/develop/doc.tsx                                                                                  |   20 
 app/components/base/icons/src/vender/solid/editor/Brush01.tsx                                                   |   14 
 app/components/app/configuration/dataset-config/params-config/weighted-score.tsx                                |   13 
 app/components/app/configuration/config/agent-setting-button.tsx                                                |    6 
 app/components/datasets/create/empty-dataset-creation-modal/index.module.css                                    |    9 
 utils/classnames.spec.ts                                                                                        |    1 
 app/components/workflow/nodes/_base/components/node-resizer.tsx                                                 |    2 
 app/components/base/icons/src/public/common/Github.json                                                         |    2 
 context/explore-context.ts                                                                                      |    5 
 app/components/app/configuration/dataset-config/select-dataset/index.tsx                                        |   32 
 app/components/base/prompt-log-modal/card.tsx                                                                   |   10 
 i18n/pl-PL/explore.ts                                                                                           |    1 
 i18n/zh-Hans/app.ts                                                                                             |   21 
 i18n/ko-KR/custom.ts                                                                                            |    2 
 app/components/base/icons/src/public/llm/Huggingface.json                                                       |    2 
 app/components/base/icons/src/vender/line/mediaAndDevices/Microphone01.tsx                                      |   14 
 i18n/vi-VN/billing.ts                                                                                           |   82 
 i18n/fa-IR/dataset-creation.ts                                                                                  |   18 
 jest.config.ts                                                                                                  |   23 
 app/components/base/chat/chat/answer/more.tsx                                                                   |   10 
 i18n/en-US/app.ts                                                                                               |   23 
 app/components/base/notion-page-selector/workspace-selector/index.tsx                                           |   44 
 app/components/datasets/create/stepper/step.tsx                                                                 |    8 
 app/components/app/configuration/dataset-config/card-item/item.tsx                                              |  102 
 app/components/header/account-setting/api-based-extension-page/selector.tsx                                     |   36 
 app/components/workflow/nodes/document-extractor/panel.tsx                                                      |    7 
 app/components/base/icons/src/vender/workflow/DocsExtractor.tsx                                                 |   14 
 app/components/base/icons/src/vender/solid/development/Container.tsx                                            |   14 
 app/components/workflow/nodes/if-else/node.tsx                                                                  |   12 
 app/components/app/configuration/config/code-generator/get-code-generator-res.tsx                               |   32 
 app/components/base/icons/src/public/billing/Sparkles.json                                                      |    2 
 utils/format.ts                                                                                                 |   56 
 app/components/tools/workflow-tool/confirm-modal/style.module.css                                               |    3 
 app/components/base/icons/src/vender/line/financeAndECommerce/Tag03.tsx                                         |   14 
 app/components/base/icons/src/vender/solid/arrows/ChevronDown.tsx                                               |   14 
 app/components/header/index.tsx                                                                                 |  108 
 app/components/base/icons/src/vender/line/editor/Colors.tsx                                                     |   14 
 app/components/base/qrcode/style.module.css                                                                     |   61 
 app/components/workflow/nodes/knowledge-retrieval/components/dataset-item.tsx                                   |   32 
 i18n/zh-Hant/workflow.ts                                                                                        |  220 
 app/components/app/overview/apikey-info-panel/index.tsx                                                         |   18 
 app/components/base/icons/src/public/llm/AzureOpenaiServiceText.json                                            |    2 
 themes/manual-light.css                                                                                         |   80 
 app/components/datasets/common/economical-retrieval-method-config/index.tsx                                     |    2 
 app/components/app/overview/appCard.tsx                                                                         |  118 
 app/components/base/emoji-picker/style.module.css                                                               |   12 
 i18n/es-ES/dataset.ts                                                                                           |   46 
 i18n/zh-Hans/dataset-settings.ts                                                                                |    2 
 app/components/billing/plan/index.tsx                                                                           |  170 
 i18n/en-US/dataset-settings.ts                                                                                  |    2 
 app/components/base/svg-gallery/index.tsx                                                                       |    9 
 i18n/th-TH/tools.ts                                                                                             |    3 
 app/components/base/prompt-editor/plugins/component-picker-block/hooks.tsx                                      |   16 
 app/components/app/configuration/debug/debug-with-multiple-model/chat-item.tsx                                  |    3 
 app/components/workflow/nodes/if-else/components/condition-number-input.tsx                                     |   22 
 i18n/sl-SI/common.ts                                                                                            |   51 
 app/components/base/icons/src/vender/line/general/LogIn04.tsx                                                   |   14 
 app/components/base/icons/src/vender/line/files/ClipboardCheck.tsx                                              |   14 
 i18n/de-DE/common.ts                                                                                            |   49 
 app/components/workflow/nodes/iteration/node.tsx                                                                |    4 
 app/components/base/icons/src/vender/line/files/FileCheck02.tsx                                                 |   14 
 app/components/workflow/nodes/end/node.tsx                                                                      |   22 
 app/components/workflow/nodes/_base/components/list-no-data-placeholder.tsx                                     |    2 
 app/components/base/notion-page-selector/page-selector/index.module.css                                         |   17 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/config.ts                                     |    1 
 i18n/vi-VN/dataset-documents.ts                                                                                 |    2 
 app/components/base/icons/src/public/tracing/LangsmithIconBig.tsx                                               |   14 
 app/components/base/image-uploader/uploader.tsx                                                                 |    4 
 i18n/pt-BR/custom.ts                                                                                            |    2 
 app/components/base/icons/src/vender/line/general/Hash02.tsx                                                    |   14 
 i18n/en-US/app-overview.ts                                                                                      |    2 
 app/components/base/icons/src/vender/line/communication/MessageFastPlus.tsx                                     |   14 
 i18n/ko-KR/app.ts                                                                                               |   21 
 app/components/base/icons/src/public/llm/Anthropic.tsx                                                          |   14 
 app/components/develop/secret-key/secret-key-button.tsx                                                         |   20 
 app/components/workflow/nodes/tool/types.ts                                                                     |    4 
 app/components/base/chat/chat-with-history/sidebar/item.tsx                                                     |   22 
 app/components/datasets/hit-testing/modify-retrieval-modal.tsx                                                  |   41 
 app/components/workflow/block-selector/index.tsx                                                                |   48 
 app/components/app/configuration/config-var/index.tsx                                                           |  176 
 app/components/base/icons/src/vender/solid/alertsAndFeedback/AlertTriangle.tsx                                  |   14 
 i18n/en-US/login.ts                                                                                             |    2 
 app/components/workflow/nodes/_base/components/variable/var-list.tsx                                            |    5 
 app/components/workflow/nodes/http/components/authorization/radio-group.tsx                                     |    7 
 i18n/server.ts                                                                                                  |    8 
 app/components/base/icons/src/vender/line/shapes/CubeOutline.tsx                                                |   14 
 app/components/base/icons/src/vender/workflow/ListFilter.tsx                                                    |   14 
 app/components/base/prompt-editor/plugins/context-block/node.tsx                                                |    4 
 app/components/workflow/block-selector/hooks.ts                                                                 |    2 
 app/components/billing/usage-info/apps-info.tsx                                                                 |    8 
 i18n/uk-UA/app-overview.ts                                                                                      |    2 
 app/components/billing/progress-bar/index.tsx                                                                   |    8 
 app/components/base/icons/src/vender/solid/mediaAndDevices/Play.tsx                                             |   14 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/documents/create/page.tsx                         |   12 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/provider-config-modal.tsx                     |   97 
 app/components/base/icons/src/public/common/SparklesSoft.tsx                                                    |   14 
 app/components/app/configuration/config/index.tsx                                                               |    4 
 app/components/workflow/nodes/_base/components/variable/var-reference-popup.tsx                                 |    6 
 app/components/app/configuration/config-var/select-type-item/index.tsx                                          |    6 
 app/components/base/icons/src/vender/line/general/Check.tsx                                                     |   14 
 i18n/th-TH/dataset-settings.ts                                                                                  |    2 
 app/components/app/log/model-info.tsx                                                                           |   14 
 app/components/base/features/context.tsx                                                                        |    2 
 i18n/hi-IN/tools.ts                                                                                             |    3 
 app/components/base/chat/chat-with-history/sidebar/index.tsx                                                    |  144 
 app/components/workflow/nodes/question-classifier/use-config.ts                                                 |   26 
 app/components/workflow/nodes/_base/components/prompt/editor.tsx                                                |   67 
 app/components/app/configuration/dataset-config/params-config/weighted-score.css                                |    2 
 app/components/base/icons/src/image/llm/TongyiText.tsx                                                          |   15 
 app/components/base/icons/src/public/model/Checked.json                                                         |    2 
 app/components/workflow/nodes/_base/components/readonly-input-with-select-var.tsx                               |   26 
 service/knowledge/use-create-dataset.ts                                                                         |    2 
 app/(commonLayout)/apps/page.tsx                                                                                |   17 
 i18n/i18next-config.ts                                                                                          |   19 
 app/components/app/duplicate-modal/index.tsx                                                                    |   21 
 app/components/base/prompt-editor/plugins/placeholder.tsx                                                       |    4 
 app/components/workflow/nodes/variable-assigner/panel.tsx                                                       |   34 
 public/logo/logo-embedded-chat-header.png                                                                       |    0 
 app/components/datasets/create/step-two/preview-item/index.tsx                                                  |   12 
 app/components/base/logo/logo-site.tsx                                                                          |   29 
 app/components/datasets/formatted-text/flavours/preview-slice.tsx                                               |    2 
 app/components/workflow/nodes/_base/components/panel-operator/index.tsx                                         |    4 
 app/components/workflow/nodes/iteration-start/index.tsx                                                         |   12 
 app/components/base/prompt-editor/plugins/history-block/component.tsx                                           |   12 
 app/components/base/image-uploader/text-generation-image-uploader.tsx                                           |   14 
 app/components/workflow/operator/add-block.tsx                                                                  |    6 
 app/components/base/icons/src/vender/solid/security/Lock01.tsx                                                  |   14 
 i18n/en-US/explore.ts                                                                                           |    1 
 app/components/base/icons/src/public/model/Checked.tsx                                                          |   14 
 context/datasets-context.tsx                                                                                    |    3 
 app/components/base/icons/src/vender/features/Microphone01.tsx                                                  |   14 
 app/components/tools/add-tool-modal/category.tsx                                                                |   12 
 app/components/base/icons/src/vender/solid/FinanceAndECommerce/Scales02.tsx                                     |   14 
 i18n/tr-TR/dataset-settings.ts                                                                                  |    2 
 app/components/base/icons/src/vender/solid/layout/Grid01.tsx                                                    |   14 
 app/components/header/account-setting/model-provider-page/model-selector/popup.tsx                              |   74 
 app/components/base/icons/src/public/files/Docx.json                                                            |    2 
 app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool.tsx                             |  231 
 app/account/layout.tsx                                                                                          |    2 
 app/components/base/icons/src/public/files/Txt.tsx                                                              |   14 
 app/components/base/prompt-editor/plugins/workflow-variable-block/index.tsx                                     |    8 
 app/components/workflow/nodes/question-classifier/node.tsx                                                      |   11 
 i18n/pt-BR/app-overview.ts                                                                                      |    2 
 i18n/ro-RO/billing.ts                                                                                           |   82 
 app/components/header/license-env/index.tsx                                                                     |   17 
 app/components/base/icons/src/vender/solid/editor/Paragraph.tsx                                                 |   14 
 .storybook/main.ts                                                                                              |   28 
 app/components/app/configuration/dataset-config/select-dataset/style.module.css                                 |   13 
 app/components/base/icons/src/public/llm/index.ts                                                               |    2 
 i18n/de-DE/dataset-settings.ts                                                                                  |    2 
 app/components/base/chat/chat-with-history/header-in-mobile.tsx                                                 |  170 
 app/components/base/icons/src/public/llm/Openllm.json                                                           |    2 
 app/components/workflow/run/status-container.tsx                                                                |   35 
 app/components/datasets/documents/rename-modal.tsx                                                              |    6 
 i18n/it-IT/dataset.ts                                                                                           |   47 
 app/components/base/icons/src/vender/solid/FinanceAndECommerce/GoldCoin.tsx                                     |   14 
 app/init/page.tsx                                                                                               |   17 
 app/(commonLayout)/datasets/template/template.zh.mdx                                                            | 1181 
 i18n/index.ts                                                                                                   |    9 
 app/components/base/confirm/index.tsx                                                                           |   16 
 app/components/workflow/nodes/list-operator/node.tsx                                                            |    4 
 app/components/base/icons/src/public/llm/IflytekSparkTextCn.json                                                |    2 
 app/components/base/radio/ui.tsx                                                                                |    2 
 app/components/header/account-setting/data-source-page/data-source-notion/index.tsx                             |    3 
 app/signin/page.module.css                                                                                      |    5 
 app/components/base/chat/embedded-chatbot/index.tsx                                                             |  119 
 app/components/workflow/nodes/http/panel.tsx                                                                    |   27 
 app/(commonLayout)/datasets/DatasetCard.tsx                                                                     |   52 
 app/components/workflow/nodes/question-classifier/utils.ts                                                      |    4 
 app/components/base/icons/src/public/plugins/Wikipedia.json                                                     |    2 
 app/components/app/configuration/base/warning-mask/cannot-query-dataset.tsx                                     |    2 
 app/components/base/icons/src/public/tracing/index.ts                                                           |    2 
 app/components/header/account-setting/data-source-page/data-source-website/index.tsx                            |   57 
 app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx                            |   15 
 app/components/base/icons/src/public/llm/Huggingface.tsx                                                        |   14 
 .idea/web.iml                                                                                                   |   12 
 app/components/workflow/header/view-workflow-history.tsx                                                        |   26 
 app/components/datasets/documents/detail/completed/child-segment-list.tsx                                       |   12 
 app/components/base/icons/src/vender/line/development/CodeBrowser.tsx                                           |   14 
 app/components/base/chat/chat/answer/index.tsx                                                                  |   58 
 app/components/base/search-input/index.tsx                                                                      |   24 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/cardView.tsx                                          |    8 
 app/components/base/features/new-feature-panel/text-to-speech/voice-settings.tsx                                |    2 
 app/components/datasets/documents/style.module.css                                                              |    4 
 app/components/workflow/nodes/tool/node.tsx                                                                     |   30 
 app/account/account-page/AvatarWithEdit.tsx                                                                     |    8 
 app/components/base/icons/src/vender/line/general/X.tsx                                                         |   14 
 app/components/base/icons/src/public/common/MultiPathRetrieval.tsx                                              |   14 
 app/components/app/annotation/batch-add-annotation-modal/index.tsx                                              |   13 
 app/components/datasets/rename-modal/index.tsx                                                                  |   23 
 app/components/workflow/nodes/assigner/components/var-list/index.tsx                                            |   26 
 app/components/app/configuration/config-prompt/style.module.css                                                 |    2 
 app/components/workflow/run/iteration-result-panel.tsx                                                          |  174 
 app/components/base/icons/src/public/llm/Gpt3.tsx                                                               |   14 
 app/components/base/file-uploader/pdf-preview.tsx                                                               |   23 
 app/install/installForm.tsx                                                                                     |   64 
 app/components/develop/template/template_workflow.zh.mdx                                                        |  113 
 app/components/base/icons/src/public/llm/Replicate.json                                                         |    2 
 app/components/datasets/create/website/jina-reader/options.tsx                                                  |    4 
 context/i18n.ts                                                                                                 |   15 
 app/components/header/account-setting/model-provider-page/model-selector/feature-icon.tsx                       |   49 
 app/components/base/icons/src/vender/line/users/User01.tsx                                                      |   14 
 app/components/base/file-uploader/store.tsx                                                                     |    4 
 app/(shareLayout)/layout.tsx                                                                                    |    2 
 app/components/base/icons/src/vender/line/general/Settings04.tsx                                                |   14 
 app/components/base/icons/src/vender/line/others/Colors.tsx                                                     |   14 
 app/components/base/icons/src/public/llm/JinaText.json                                                          |    2 
 app/components/base/icons/src/vender/solid/communication/Send03.tsx                                             |   14 
 app/components/base/icons/src/public/llm/OpenaiViolet.tsx                                                       |   14 
 app/components/app/text-generate/saved-items/index.tsx                                                          |   83 
 app/components/app/configuration/debug/index.tsx                                                                |   32 
 app/components/base/icons/src/vender/line/others/Env.tsx                                                        |   14 
 app/components/app/configuration/tools/index.tsx                                                                |   38 
 app/components/workflow/nodes/_base/components/variable/constant-field.tsx                                      |    9 
 i18n/ru-RU/workflow.ts                                                                                          |  214 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/documents/page.tsx                                |   12 
 app/components/base/icons/src/public/other/Icon3Dots.json                                                       |    2 
 app/components/datasets/documents/detail/completed/common/add-another.tsx                                       |    2 
 i18n/ro-RO/custom.ts                                                                                            |    2 
 i18n/hi-IN/app.ts                                                                                               |   21 
 app/components/header/account-setting/model-provider-page/model-modal/index.tsx                                 |   69 
 app/components/base/action-button/index.tsx                                                                     |    5 
 app/components/base/prompt-editor/plugins/component-picker-block/variable-option.tsx                            |    8 
 app/components/base/icons/src/vender/workflow/VariableX.tsx                                                     |   14 
 i18n/pt-BR/dataset-documents.ts                                                                                 |    2 
 app/components/base/icons/src/vender/line/files/FileDownload02.tsx                                              |   14 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/annotations/page.tsx                                           |    2 
 app/components/base/icons/src/public/files/Html.tsx                                                             |   14 
 app/components/base/icons/src/public/llm/Azureai.json                                                           |    2 
 app/components/datasets/external-api/external-knowledge-api-card/index.tsx                                      |   16 
 app/components/workflow/header/version-history-modal.tsx                                                        |   89 
 i18n/ja-JP/workflow.ts                                                                                          |  580 
 app/components/base/icons/src/public/llm/ChatglmText.tsx                                                        |   14 
 app/components/base/icons/src/public/llm/Replicate.tsx                                                          |   14 
 i18n/ro-RO/app-overview.ts                                                                                      |    2 
 app/components/base/icons/src/public/llm/HuggingfaceText.json                                                   |    2 
 i18n/ru-RU/tools.ts                                                                                             |    3 
 app/components/base/action-button/index.css                                                                     |   22 
 app/components/datasets/documents/detail/completed/segment-detail.tsx                                           |   37 
 app/components/share/text-generation/run-batch/res-download/index.tsx                                           |   21 
 app/components/base/icons/src/public/llm/Microsoft.tsx                                                          |   14 
 app/components/workflow/nodes/end/panel.tsx                                                                     |    6 
 i18n/de-DE/explore.ts                                                                                           |    1 
 app/components/workflow/nodes/list-operator/panel.tsx                                                           |   27 
 app/reset-password/check-code/page.tsx                                                                          |   24 
 app/components/header/account-setting/index.tsx                                                                 |  113 
 app/components/billing/annotation-full/style.module.css                                                         |    2 
 app/components/base/prompt-editor/utils.ts                                                                      |    2 
 app/components/header/account-setting/model-provider-page/index.tsx                                             |  201 
 app/components/base/icons/src/public/llm/Chatglm.json                                                           |    2 
 app/components/explore/item-operation/index.tsx                                                                 |   16 
 app/components/workflow/nodes/_base/components/title-description-input.tsx                                      |   19 
 app/components/workflow/header/run-and-history.tsx                                                              |   24 
 app/components/base/prompt-editor/plugins/query-block/node.tsx                                                  |    4 
 i18n/ja-JP/app-annotation.ts                                                                                    |    1 
 app/components/app/configuration/config-prompt/confirm-add-var/index.tsx                                        |   12 
 app/components/datasets/create/website/jina-reader/base/checkbox-with-label.tsx                                 |    4 
 app/components/header/account-setting/model-provider-page/model-modal/model-load-balancing-entry-modal.tsx      |   20 
 app/components/header/account-setting/data-source-page/panel/config-item.tsx                                    |   19 
 app/components/share/text-generation/run-batch/index.tsx                                                        |   18 
 app/components/app/annotation/index.tsx                                                                         |   20 
 app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx                          |   69 
 app/components/app/configuration/tools/external-data-tool-modal.tsx                                             |   25 
 app/components/header/app-selector/index.tsx                                                                    |   45 
 app/components/workflow/nodes/_base/components/next-step/item.tsx                                               |   10 
 app/(commonLayout)/apps/NewAppCard.tsx                                                                          |   32 
 app/components/base/icons/src/image/llm/WxyyText.tsx                                                            |   15 
 i18n/ru-RU/common.ts                                                                                            |   49 
 themes/dark.css                                                                                                 | 1180 
 app/components/base/icons/src/vender/solid/general/AnswerTriangle.tsx                                           |   14 
 app/components/workflow/panel/chat-record/user-input.tsx                                                        |   12 
 app/components/base/icons/src/public/common/MessageChatSquare.tsx                                               |   14 
 app/reset-password/page.tsx                                                                                     |   19 
 app/components/base/image-uploader/image-link-input.tsx                                                         |    4 
 app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx                                         |   10 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/hitTesting/page.tsx                               |   12 
 app/components/app/configuration/config/automatic/style.module.css                                              |    2 
 app/components/workflow/nodes/start/panel.tsx                                                                   |   18 
 app/components/app/configuration/config-prompt/index.tsx                                                        |    9 
 i18n/th-TH/dataset.ts                                                                                           |   48 
 app/components/browser-initor.tsx                                                                               |    4 
 types/workflow.ts                                                                                               |  205 
 i18n/fa-IR/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/vender/solid/general/Eye.tsx                                                      |   14 
 app/components/base/emoji-picker/index.tsx                                                                      |   10 
 app/components/billing/apps-full-in-dialog/style.module.css                                                     |    4 
 app/components/datasets/documents/detail/completed/child-segment-detail.tsx                                     |   22 
 app/components/app/configuration/debug/debug-with-single-model/index.tsx                                        |   35 
 i18n/it-IT/billing.ts                                                                                           |   82 
 i18n/ro-RO/dataset.ts                                                                                           |   48 
 app/components/base/icons/src/public/llm/Localai.tsx                                                            |   14 
 app/components/base/icons/src/vender/workflow/Home.tsx                                                          |   14 
 app/components/workflow/run/retry-result-panel.tsx                                                              |   46 
 app/components/app/configuration/config-var/style.module.css                                                    |   12 
 app/components/base/icons/src/public/llm/OpenllmText.json                                                       |    2 
 i18n/tr-TR/dataset-documents.ts                                                                                 |    2 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/documents/[documentId]/page.tsx                   |   13 
 app/components/share/text-generation/run-batch/csv-reader/style.module.css                                      |   11 
 app/components/workflow/note-node/note-editor/toolbar/font-size-selector.tsx                                    |   10 
 app/components/base/icons/src/vender/line/financeAndECommerce/ReceiptList.tsx                                   |   14 
 app/components/workflow/nodes/llm/use-config.ts                                                                 |   49 
 i18n/vi-VN/dataset.ts                                                                                           |   48 
 app/components/base/icons/src/public/files/Docx.tsx                                                             |   14 
 app/components/base/icons/src/vender/solid/general/index.ts                                                     |    2 
 app/components/base/icons/src/vender/solid/users/UsersPlus.tsx                                                  |   14 
 app/components/base/icons/src/vender/line/development/Webhooks.tsx                                              |   14 
 app/components/workflow/nodes/_base/components/editor/text-editor.tsx                                           |    6 
 app/components/tools/types.ts                                                                                   |   15 
 app/components/base/icons/src/vender/features/MessageFast.tsx                                                   |   14 
 app/forgot-password/ForgotPasswordForm.tsx                                                                      |   19 
 i18n/ro-RO/share-app.ts                                                                                         |    8 
 app/components/header/env-nav/index.tsx                                                                         |    6 
 app/components/workflow/nodes/_base/components/help-link.tsx                                                    |    7 
 app/components/app/configuration/base/var-highlight/style.module.css                                            |    2 
 app/components/datasets/create/stop-embedding-modal/index.tsx                                                   |    2 
 app/components/datasets/hit-testing/components/result-item-footer.tsx                                           |    8 
 app/components/datasets/hit-testing/components/result-item.tsx                                                  |   23 
 app/components/base/icons/src/public/knowledge/ParentChildType.json                                             |    2 
 app/components/app/configuration/debug/debug-with-multiple-model/context.tsx                                    |    5 
 app/components/base/icons/src/public/llm/XorbitsInference.tsx                                                   |   14 
 app/components/datasets/documents/detail/completed/common/keywords.tsx                                          |    4 
 app/components/base/chat/embedded-chatbot/theme/utils.ts                                                        |    6 
 service/common.ts                                                                                               |   27 
 app/components/datasets/create/step-two/language-select/index.tsx                                               |   10 
 app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.tsx                      |   31 
 app/components/header/account-dropdown/workplace-selector/index.tsx                                             |   78 
 app/components/base/icons/src/public/files/Xlsx.tsx                                                             |   14 
 app/components/workflow/context.tsx                                                                             |   15 
 app/components/datasets/formatted-text/flavours/shared.tsx                                                      |   38 
 app/components/base/icons/src/vender/solid/development/Semantic.tsx                                             |   14 
 app/signin/check-code/page.tsx                                                                                  |   14 
 i18n/it-IT/dataset-settings.ts                                                                                  |    2 
 app/components/app/configuration/base/icons/remove-icon/index.tsx                                               |    2 
 app/components/workflow/nodes/if-else/use-config.ts                                                             |    3 
 app/components/base/button/index.tsx                                                                            |    5 
 i18n/zh-Hant/app-overview.ts                                                                                    |   10 
 app/components/datasets/hit-testing/components/chunk-detail-modal.tsx                                           |   23 
 app/components/app/annotation/edit-annotation-modal/index.tsx                                                   |    8 
 app/components/workflow/nodes/_base/components/panel-operator/panel-operator-popup.tsx                          |   39 
 app/components/base/icons/src/vender/solid/communication/CuteRobot.tsx                                          |   14 
 i18n/fa-IR/app-overview.ts                                                                                      |    2 
 app/components/base/chat/chat-with-history/context.tsx                                                          |   43 
 app/components/share/utils.ts                                                                                   |   50 
 i18n/vi-VN/app.ts                                                                                               |   21 
 app/components/app/configuration/dataset-config/context-var/index.tsx                                           |    8 
 app/components/base/icons/src/public/llm/Jina.json                                                              |    2 
 app/components/tools/add-tool-modal/empty.tsx                                                                   |    6 
 app/components/base/prompt-editor/types.ts                                                                      |    8 
 app/components/workflow/panel/env-panel/variable-trigger.tsx                                                    |    2 
 app/components/base/chat/chat/log/index.tsx                                                                     |   12 
 app/components/base/select/index.tsx                                                                            |  151 
 app/components/datasets/documents/detail/batch-modal/index.tsx                                                  |    9 
 app/components/header/account-setting/Integrations-page/index.module.css                                        |    2 
 context/debug-configuration.ts                                                                                  |   62 
 app/components/base/button/index.css                                                                            |  112 
 app/components/develop/template/template.en.mdx                                                                 |  124 
 app/components/app-sidebar/style.module.css                                                                     |    4 
 app/components/workflow/nodes/llm/components/prompt-generator-btn.tsx                                           |    2 
 app/components/base/icons/src/public/llm/Baichuan.json                                                          |    2 
 app/components/base/icons/src/public/llm/JinaText.tsx                                                           |   14 
 app/components/workflow/nodes/knowledge-retrieval/types.ts                                                      |   95 
 app/components/base/icons/src/vender/line/layout/AlignLeft01.tsx                                                |   14 
 app/components/base/icons/src/vender/line/layout/AlignRight01.tsx                                               |   14 
 i18n/th-TH/billing.ts                                                                                           |   82 
 app/components/workflow/hooks/use-nodes-data.ts                                                                 |   23 
 i18n/de-DE/app.ts                                                                                               |   21 
 app/components/base/icons/src/vender/line/time/ClockPlaySlim.tsx                                                |   14 
 app/components/header/account-setting/members-page/invited-modal/index.tsx                                      |   31 
 app/components/app/configuration/debug/debug-with-multiple-model/text-generation-item.tsx                       |   17 
 app/components/workflow/nodes/_base/components/variable/var-type-picker.tsx                                     |   14 
 app/components/base/ga/index.tsx                                                                                |    4 
 app/components/base/icons/src/public/files/Unknown.json                                                         |    2 
 app/components/workflow/hooks/use-workflow.ts                                                                   |  179 
 app/components/base/icons/src/vender/solid/development/Database02.tsx                                           |   14 
 app/components/workflow/header/editing-title.tsx                                                                |   10 
 i18n/ru-RU/explore.ts                                                                                           |    1 
 app/components/base/audio-gallery/AudioPlayer.tsx                                                               |   49 
 app/components/base/icons/src/public/knowledge/GeneralType.json                                                 |    2 
 i18n/pt-BR/run-log.ts                                                                                           |    2 
 app/components/base/icons/src/vender/solid/general/MessageClockCircle.tsx                                       |   14 
 i18n/zh-Hant/explore.ts                                                                                         |    1 
 app/components/base/select/locale.tsx                                                                           |   91 
 app/components/workflow/nodes/if-else/default.ts                                                                |   16 
 app/components/datasets/hit-testing/components/result-item-meta.tsx                                             |    2 
 app/components/base/chat/chat/loading-anim/style.module.css                                                     |    2 
 app/components/base/tag-management/tag-item-editor.tsx                                                          |   22 
 app/components/base/agent-log-modal/tracing.tsx                                                                 |    2 
 app/components/base/icons/src/public/common/Lock.json                                                           |    2 
 app/components/base/icons/src/public/thought/Loading.tsx                                                        |   14 
 app/components/workflow/header/index.tsx                                                                        |  238 
 app/components/base/param-item/score-threshold-item.tsx                                                         |    2 
 i18n/fa-IR/explore.ts                                                                                           |    1 
 app/components/base/icons/src/vender/line/financeAndECommerce/GoldCoin.tsx                                      |   14 
 app/components/header/app-back/index.tsx                                                                        |    4 
 app/components/datasets/external-knowledge-base/create/RetrievalSettings.tsx                                    |    8 
 i18n/ja-JP/dataset-creation.ts                                                                                  |   66 
 app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx         |   24 
 app/components/workflow/panel/chat-variable-panel/components/variable-modal-trigger.tsx                         |    2 
 i18n/ja-JP/dataset.ts                                                                                           |  116 
 app/components/datasets/create/step-two/index.module.css                                                        |    2 
 app/components/datasets/create/website/jina-reader/base/options-wrap.tsx                                        |    8 
 app/components/header/account-setting/model-provider-page/provider-added-card/priority-selector.tsx             |   31 
 i18n/es-ES/app-overview.ts                                                                                      |    2 
 app/components/tools/add-tool-modal/index.tsx                                                                   |   31 
 app/components/workflow/nodes/start/node.tsx                                                                    |   12 
 themes/light.css                                                                                                | 1188 
 i18n/tr-TR/run-log.ts                                                                                           |    2 
 app/components/workflow/nodes/_base/components/editor/code-editor/style.css                                     |   16 
 app/components/base/icons/src/public/plugins/Google.json                                                        |    2 
 app/components/workflow/nodes/assigner/default.ts                                                               |    2 
 i18n/fr-FR/billing.ts                                                                                           |   82 
 app/components/app/configuration/config/automatic/automatic-btn.tsx                                             |   15 
 app/components/workflow/nodes/llm/panel.tsx                                                                     |  104 
 app/components/base/portal-to-follow-elem/index.tsx                                                             |   40 
 app/components/base/icons/src/public/knowledge/Chunk.tsx                                                        |   14 
 app/components/datasets/hit-testing/modify-external-retrieval-modal.tsx                                         |   18 
 app/components/base/pagination/hook.ts                                                                          |    2 
 app/components/base/file-uploader/file-uploader-in-attachment/index.tsx                                         |    8 
 app/components/datasets/create/index.tsx                                                                        |    6 
 app/components/base/icons/src/vender/line/mapsAndTravel/Route.tsx                                               |   14 
 app/components/base/icons/src/vender/line/arrows/ChevronDownDouble.tsx                                          |   14 
 app/components/base/icons/src/vender/line/editor/LetterSpacing01.tsx                                            |   14 
 app/components/workflow/header/view-history.tsx                                                                 |   48 
 app/components/datasets/create/website/base/checkbox-with-label.tsx                                             |    4 
 i18n/uk-UA/dataset-documents.ts                                                                                 |    2 
 app/components/base/icons/src/vender/line/communication/CuteRobot.tsx                                           |   14 
 app/components/header/account-setting/plugin-page/index.tsx                                                     |    8 
 hooks/use-pay.tsx                                                                                               |   68 
 app/components/base/icons/src/public/common/Notion.tsx                                                          |   14 
 app/components/header/explore-nav/index.tsx                                                                     |    4 
 app/components/app/configuration/features/experience-enhance-group/more-like-this/index.tsx                     |    6 
 app/components/header/maintenance-notice.tsx                                                                    |    8 
 app/components/base/icons/src/vender/line/time/ClockPlay.tsx                                                    |   14 
 app/components/workflow/nodes/_base/components/info-panel.tsx                                                   |   10 
 app/components/app/annotation/list.tsx                                                                          |   22 
 app/components/app/workflow-log/detail.tsx                                                                      |    8 
 .idea/modules.xml                                                                                               |    8 
 app/components/workflow/note-node/note-editor/utils.ts                                                          |    1 
 app/components/workflow/nodes/code/use-config.ts                                                                |    2 
 app/components/base/auto-height-textarea/index.tsx                                                              |  126 
 app/components/header/account-setting/model-provider-page/provider-added-card/cooldown-timer.tsx                |    8 
 app/components/base/button/index.spec.tsx                                                                       |  121 
 app/components/base/icons/src/vender/line/files/FileArrow01.tsx                                                 |   14 
 app/components/custom/custom-web-app-brand/index.tsx                                                            |  216 
 app/components/base/icons/src/public/llm/CohereText.tsx                                                         |   14 
 i18n/zh-Hant/common.ts                                                                                          |   49 
 app/components/develop/template/template_chat.ja.mdx                                                            |  253 
 app/components/base/icons/src/vender/line/financeAndECommerce/CoinsStacked01.tsx                                |   14 
 app/components/datasets/documents/detail/completed/common/chunk-content.tsx                                     |   27 
 app/components/header/account-setting/api-based-extension-page/modal.tsx                                        |   25 
 app/components/header/dataset-nav/index.tsx                                                                     |    4 
 app/components/base/image-uploader/image-preview.tsx                                                            |   43 
 app/components/tools/labels/selector.tsx                                                                        |   50 
 app/components/base/tab-slider-new/index.tsx                                                                    |    4 
 .vscode/extensions.json                                                                                         |    3 
 app/components/base/icons/src/vender/line/editor/ImageIndentLeft.tsx                                            |   14 
 app/components/base/icons/src/vender/line/general/Pin02.tsx                                                     |   14 
 app/components/base/icons/src/vender/solid/mapsAndTravel/Globe06.tsx                                            |   14 
 app/components/develop/template/template_chat.en.mdx                                                            |  551 
 app/components/base/premium-badge/index.tsx                                                                     |    8 
 app/components/base/icons/src/public/llm/Zhipuai.tsx                                                            |   14 
 app/components/base/premium-badge/index.css                                                                     |   52 
 app/components/billing/priority-label/index.tsx                                                                 |    2 
 app/components/base/image-gallery/style.module.css                                                              |    6 
 i18n/vi-VN/run-log.ts                                                                                           |    2 
 app/components/base/icons/src/public/llm/AnthropicText.json                                                     |    2 
 app/components/base/icons/src/public/common/MultiPathRetrieval.json                                             |    2 
 app/components/header/account-setting/model-provider-page/model-selector/rerank-trigger.tsx                     |   27 
 service/knowledge/use-dateset.ts                                                                                |    0 
 app/components/header/account-setting/model-provider-page/system-model-selector/index.tsx                       |   42 
 i18n/it-IT/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/public/tracing/OpikIconBig.json                                                   |    2 
 app/components/base/icons/src/vender/line/financeAndECommerce/Balance.tsx                                       |   14 
 i18n/fr-FR/dataset.ts                                                                                           |   47 
 i18n/vi-VN/app-overview.ts                                                                                      |    2 
 app/components/base/icons/src/public/llm/IflytekSparkText.json                                                  |    2 
 app/components/header/account-setting/model-provider-page/model-parameter-modal/presets-parameter.tsx           |   22 
 app/components/workflow/panel/debug-and-preview/conversation-variable-modal.tsx                                 |   49 
 middleware.ts                                                                                                   |   28 
 app/components/base/icons/src/vender/solid/education/Unblur.tsx                                                 |   14 
 i18n/it-IT/common.ts                                                                                            |   49 
 app/components/base/icons/src/public/knowledge/Collapse.tsx                                                     |   14 
 app/components/base/icons/src/vender/line/development/PuzzlePiece01.tsx                                         |   14 
 app/components/workflow/nodes/_base/components/remove-button.tsx                                                |   12 
 i18n/ko-KR/explore.ts                                                                                           |    1 
 i18n/pt-BR/dataset-creation.ts                                                                                  |   18 
 app/components/base/icons/src/public/llm/Azureai.tsx                                                            |   14 
 app/components/base/radio/component/radio/index.tsx                                                             |    8 
 app/components/base/icons/src/public/llm/XorbitsInferenceText.json                                              |    2 
 i18n/zh-Hans/workflow.ts                                                                                        |  214 
 app/components/base/icons/src/vender/solid/mapsAndTravel/Route.tsx                                              |   14 
 app/components/datasets/common/document-picker/index.tsx                                                        |   14 
 app/components/workflow/nodes/knowledge-retrieval/node.tsx                                                      |   43 
 app/components/base/icons/src/vender/line/files/Clipboard.tsx                                                   |   14 
 app/components/explore/app-card/index.tsx                                                                       |   52 
 app/components/base/icons/src/public/other/DefaultToolIcon.json                                                 |    2 
 app/components/workflow/nodes/_base/components/next-step/container.tsx                                          |    4 
 app/components/base/agent-log-modal/index.tsx                                                                   |    8 
 app/components/base/tab-slider-plain/index.tsx                                                                  |   12 
 app/activate/page.tsx                                                                                           |   18 
 app/components/app/overview/settings/index.tsx                                                                  |  128 
 app/components/base/icons/IconBase.tsx                                                                          |   14 
 i18n/pl-PL/workflow.ts                                                                                          |  214 
 app/components/datasets/documents/detail/completed/common/segment-index-tag.tsx                                 |    4 
 app/components/workflow/note-node/note-editor/toolbar/color-picker.tsx                                          |   12 
 app/components/base/icons/src/public/common/D.tsx                                                               |   14 
 app/components/datasets/documents/detail/completed/common/batch-action.tsx                                      |   39 
 app/components/base/markdown.tsx                                                                                |  218 
 app/components/workflow/nodes/_base/hooks/use-one-step-run.ts                                                   |  195 
 app/components/app/annotation/add-annotation-modal/index.tsx                                                    |    8 
 app/components/base/features/new-feature-panel/file-upload/setting-modal.tsx                                    |    2 
 i18n/en-US/common.ts                                                                                            |   57 
 app/components/app/type-selector/index.tsx                                                                      |   30 
 app/components/base/prompt-editor/index.tsx                                                                     |    4 
 i18n/uk-UA/app.ts                                                                                               |   21 
 app/components/workflow/block-icon.tsx                                                                          |   14 
 i18n/ja-JP/billing.ts                                                                                           |  136 
 app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.tsx           |   40 
 app/components/workflow/header/version-history-item.tsx                                                         |   66 
 app/components/base/file-uploader/file-from-link-or-local/index.tsx                                             |   20 
 i18n/ro-RO/app.ts                                                                                               |   21 
 i18n/ru-RU/custom.ts                                                                                            |    2 
 app/components/base/icons/src/vender/line/mediaAndDevices/StopCircle.tsx                                        |   14 
 app/components/base/icons/src/vender/line/arrows/ArrowNarrowLeft.tsx                                            |   14 
 app/components/workflow/run/tracing-panel.tsx                                                                   |  247 
 app/components/workflow/run/index.tsx                                                                           |  181 
 app/components/develop/template/template_advanced_chat.ja.mdx                                                   |  243 
 app/components/base/icons/src/public/common/Highlight.tsx                                                       |   14 
 app/components/base/icons/src/public/plugins/WebReader.json                                                     |    2 
 app/components/base/icons/src/vender/line/files/File02.tsx                                                      |   14 
 app/components/app/configuration/dataset-config/context-var/var-picker.tsx                                      |   24 
 i18n/zh-Hant/custom.ts                                                                                          |    2 
 app/components/base/icons/src/vender/line/layout/LayoutGrid02.tsx                                               |   14 
 app/components/base/icons/src/vender/solid/general/Edit03.tsx                                                   |   14 
 app/components/datasets/create/step-two/index.tsx                                                               |  125 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/config-button.tsx                             |   30 
 i18n/uk-UA/dataset-settings.ts                                                                                  |    2 
 tailwind.config.js                                                                                              |  120 
 app/components/custom/custom-page/index.tsx                                                                     |   44 
 app/components/datasets/create/step-two/option-card.tsx                                                         |   27 
 service/share.ts                                                                                                |   51 
 types/app.ts                                                                                                    |   22 
 app/components/base/features/new-feature-panel/file-upload/setting-content.tsx                                  |    4 
 app/components/base/features/new-feature-panel/index.tsx                                                        |   22 
 i18n/es-ES/tools.ts                                                                                             |    3 
 app/components/base/icons/src/vender/line/development/BarChartSquare02.tsx                                      |   14 
 app/components/base/icons/src/vender/solid/development/BarChartSquare02.tsx                                     |   14 
 app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx                                       |   22 
 app/components/base/icons/src/vender/solid/general/Tool03.tsx                                                   |   14 
 i18n/pl-PL/common.ts                                                                                            |   49 
 app/components/workflow/nodes/code/code-parser.ts                                                               |    8 
 i18n/zh-Hans/app-overview.ts                                                                                    |   10 
 app/components/base/icons/src/public/billing/Sparkles.tsx                                                       |   14 
 i18n/es-ES/workflow.ts                                                                                          |  209 
 app/components/datasets/formatted-text/flavours/edit-slice.tsx                                                  |    4 
 app/components/base/icons/src/public/llm/HuggingfaceTextHub.tsx                                                 |   14 
 app/components/workflow/nodes/http/components/key-value/bulk-edit/index.tsx                                     |   10 
 app/components/base/audio-btn/audio.ts                                                                          |   14 
 context/provider-context.tsx                                                                                    |   99 
 app/components/base/icons/src/public/llm/Zhipuai.json                                                           |    2 
 Dockerfile                                                                                                      |   21 
 app/components/base/icons/src/vender/solid/mediaAndDevices/Speaker.tsx                                          |   14 
 i18n/sl-SI/workflow.ts                                                                                          |  214 
 app/components/base/icons/src/vender/line/general/InfoCircle.tsx                                                |   14 
 app/components/base/slider/index.tsx                                                                            |    6 
 app/components/base/textarea/index.tsx                                                                          |   11 
 i18n/ru-RU/dataset-settings.ts                                                                                  |    2 
 app/components/datasets/settings/permission-selector/index.tsx                                                  |  111 
 config/index.ts                                                                                                 |   82 
 i18n/en-US/tools.ts                                                                                             |    9 
 app/components/base/icons/src/public/plugins/Wikipedia.tsx                                                      |   14 
 app/components/workflow/note-node/note-editor/toolbar/command.tsx                                               |   12 
 i18n/en-US/app-debug.ts                                                                                         |    5 
 app/components/workflow/hooks/use-nodes-sync-draft.ts                                                           |  136 
 i18n/zh-Hant/dataset-creation.ts                                                                                |   18 
 app/components/base/icons/src/public/tracing/LangsmithIconBig.json                                              |    2 
 app/components/base/audio-gallery/AudioPlayer.module.css                                                        |  119 
 app/components/datasets/documents/index.tsx                                                                     |  124 
 app/components/base/file-uploader/file-image-render.tsx                                                         |    2 
 app/components/base/icons/src/vender/features/ContentModeration.tsx                                             |   14 
 app/components/tools/workflow-tool/configure-button.tsx                                                         |  120 
 app/components/workflow/candidate-node.tsx                                                                      |    5 
 app/components/base/icons/src/public/other/RowStruct.tsx                                                        |   14 
 app/components/base/icons/src/public/other/index.ts                                                             |    1 
 i18n/zh-Hant/app.ts                                                                                             |   21 
 i18n/uk-UA/workflow.ts                                                                                          |  214 
 app/components/workflow/block-selector/types.ts                                                                 |   16 
 i18n/ro-RO/tools.ts                                                                                             |    3 
 app/components/base/icons/src/vender/features/TextToAudio.tsx                                                   |   14 
 app/components/base/agent-log-modal/iteration.tsx                                                               |    9 
 app/components/develop/template/template.ja.mdx                                                                 |  128 
 app/components/base/icons/src/vender/line/users/Users01.tsx                                                     |   14 
 app/components/workflow/nodes/_base/components/next-step/add.tsx                                                |   10 
 app/components/workflow/shortcuts-name.tsx                                                                      |    2 
 i18n/ja-JP/tools.ts                                                                                             |    9 
 app/components/header/account-setting/api-based-extension-page/index.tsx                                        |   10 
 app/components/base/features/new-feature-panel/conversation-opener/modal.tsx                                    |   57 
 app/components/workflow/index.tsx                                                                               |  205 
 app/components/workflow/nodes/_base/components/toggle-expand-btn.tsx                                            |    2 
 app/components/base/chat/chat/hooks.ts                                                                          |   61 
 app/components/base/icons/src/public/common/Line3.tsx                                                           |   14 
 app/components/app/configuration/config-prompt/simple-prompt-input.tsx                                          |   24 
 i18n/uk-UA/dataset.ts                                                                                           |   48 
 app/components/app/configuration/base/warning-mask/style.module.css                                             |    2 
 app/components/workflow/nodes/answer/panel.tsx                                                                  |    2 
 app/(commonLayout)/apps/hooks/useAppsQueryState.ts                                                              |   11 
 app/components/base/icons/src/vender/solid/general/CheckCircle.tsx                                              |   14 
 app/components/workflow/hooks/use-nodes-interactions.ts                                                         |  313 
 app/components/workflow/nodes/variable-assigner/use-config.ts                                                   |    2 
 app/components/base/icons/src/vender/solid/communication/MessageSmileSquare.tsx                                 |   14 
 app/components/base/prompt-editor/plugins/context-block/component.tsx                                           |   24 
 app/components/datasets/create/website/jina-reader/crawled-result-item.tsx                                      |   40 
 app/components/base/icons/src/vender/solid/mediaAndDevices/MagicEyes.tsx                                        |   14 
 app/components/base/icons/src/public/thought/ThoughtList.json                                                   |    2 
 app/components/base/icons/src/vender/solid/development/PatternRecognition.tsx                                   |   14 
 app/components/base/icons/src/vender/solid/education/Beaker02.tsx                                               |   14 
 app/install/page.tsx                                                                                            |   20 
 app/components/workflow/nodes/knowledge-retrieval/components/retrieval-config.tsx                               |    6 
 app/components/workflow/store.ts                                                                                |  311 
 app/components/base/icons/src/vender/line/arrows/ArrowUpRight.tsx                                               |   14 
 app/components/workflow/nodes/_base/components/error-handle/error-handle-tip.tsx                                |    8 
 app/components/header/account-setting/data-source-page/panel/style.module.css                                   |    2 
 app/components/base/icons/src/vender/line/general/LogOut04.tsx                                                  |   14 
 app/components/header/account-setting/model-provider-page/model-parameter-modal/index.tsx                       |   28 
 app/components/base/icons/src/vender/line/mediaAndDevices/SlidersH.tsx                                          |   14 
 i18n/sl-SI/dataset-creation.ts                                                                                  |   18 
 i18n/de-DE/workflow.ts                                                                                          |  214 
 app/components/workflow/nodes/_base/components/add-button.tsx                                                   |    2 
 app/components/base/icons/src/vender/line/mediaAndDevices/Speaker.tsx                                           |   14 
 app/components/datasets/create/embedding-process/index.tsx                                                      |   42 
 app/components/base/icons/src/public/thought/DataSet.tsx                                                        |   14 
 app/components/develop/template/template_advanced_chat.en.mdx                                                   |  537 
 app/components/base/checkbox/assets/mixed.svg                                                                   |    5 
 app/components/datasets/documents/detail/embedding/index.tsx                                                    |   35 
 i18n/uk-UA/billing.ts                                                                                           |   82 
 i18n/uk-UA/dataset-creation.ts                                                                                  |   18 
 i18n/sl-SI/tools.ts                                                                                             |    3 
 i18n/en-US/workflow.ts                                                                                          |  215 
 app/components/base/icons/src/public/llm/IflytekSpark.tsx                                                       |   14 
 app/components/base/radio-card/simple/index.tsx                                                                 |   10 
 app/components/workflow/note-node/note-editor/editor.tsx                                                        |    3 
 utils/timezone.json                                                                                             |    2 
 app/components/base/icons/src/image/llm/TongyiTextCn.tsx                                                        |   15 
 app/components/base/icons/src/vender/line/others/Tools.tsx                                                      |   14 
 app/components/base/icons/src/vender/solid/mediaAndDevices/Sliders02.tsx                                        |   14 
 app/components/datasets/external-knowledge-base/create/ExternalApiSelect.tsx                                    |   36 
 app/components/workflow/nodes/_base/components/input-number-with-slider.tsx                                     |    6 
 app/components/datasets/create/website/jina-reader/base/error-message.tsx                                       |    8 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/page.tsx                                              |   14 
 app/components/app/configuration/dataset-config/params-config/config-content.tsx                                |   30 
 app/components/base/icons/src/vender/line/mediaAndDevices/PlayCircle.tsx                                        |   14 
 app/components/base/grid-mask/index.tsx                                                                         |   77 
 .storybook/preview.tsx                                                                                          |   42 
 app/styles/markdown.scss                                                                                        |  233 
 app/components/datasets/hit-testing/index.tsx                                                                   |   56 
 app/components/datasets/external-knowledge-base/create/InfoPanel.tsx                                            |   16 
 app/components/tools/provider/card.tsx                                                                          |   83 
 app/components/base/features/new-feature-panel/text-to-speech/index.tsx                                         |   26 
 app/signin/oneMoreStep.tsx                                                                                      |   33 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/documents/[documentId]/settings/page.tsx          |   13 
 app/components/workflow/panel/debug-and-preview/user-input.tsx                                                  |    4 
 i18n/tr-TR/explore.ts                                                                                           |    1 
 app/components/base/icons/src/public/common/DiagonalDividingLine.tsx                                            |   14 
 app/components/app/annotation/view-annotation-modal/index.tsx                                                   |   32 
 app/components/base/chat/embedded-chatbot/chat-wrapper.tsx                                                      |  177 
 app/components/base/param-item/top-k-item.tsx                                                                   |    4 
 app/components/workflow/nodes/http/components/authorization/index.tsx                                           |    8 
 app/components/base/icons/src/public/llm/CohereText.json                                                        |    2 
 app/components/develop/template/template_workflow.en.mdx                                                        |  103 
 app/components/base/icons/src/vender/line/files/FileText.tsx                                                    |   14 
 app/components/share/text-generation/run-once/index.tsx                                                         |  164 
 app/components/app/create-app-dialog/newAppDialog.tsx                                                           |   57 
 app/components/workflow/panel/debug-and-preview/empty.tsx                                                       |    4 
 app/components/base/image-uploader/image-list.tsx                                                               |   26 
 app/components/workflow/note-node/note-editor/toolbar/operator.tsx                                              |   14 
 app/components/base/chat/embedded-chatbot/config-panel/form-input.tsx                                           |   47 
 app/components/base/icons/src/vender/line/mediaAndDevices/Stop.tsx                                              |   14 
 app/components/base/icons/src/public/llm/OpenaiTransparent.json                                                 |    2 
 app/components/app/annotation/header-opts/index.tsx                                                             |   40 
 app/components/base/chat/chat-with-history/config-panel/index.tsx                                               |  172 
 app/components/workflow/panel/chat-variable-panel/index.tsx                                                     |   48 
 app/components/base/icons/src/public/other/RowStruct.json                                                       |    2 
 i18n/vi-VN/custom.ts                                                                                            |    2 
 app/components/base/features/new-feature-panel/moderation/moderation-content.tsx                                |   24 
 app/components/base/icons/src/image/llm/MinimaxText.tsx                                                         |   15 
 app/components/base/icons/src/public/knowledge/GeneralType.tsx                                                  |   14 
 app/components/base/icons/src/vender/line/editor/LeftIndent02.tsx                                               |   14 
 app/components/base/icons/src/vender/line/communication/AiText.tsx                                              |   14 
 app/components/base/features/new-feature-panel/follow-up.tsx                                                    |    4 
 app/components/base/icons/src/public/files/Csv.json                                                             |    2 
 app/components/base/tag-management/tag-remove-modal.tsx                                                         |   20 
 i18n/pt-BR/explore.ts                                                                                           |    1 
 app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-modal.tsx    |   22 
 app/components/base/icons/src/vender/line/development/Database03.tsx                                            |   14 
 i18n/zh-Hant/run-log.ts                                                                                         |    4 
 app/components/base/icons/src/vender/solid/users/User01.tsx                                                     |   14 
 app/components/explore/item-operation/style.module.css                                                          |    4 
 i18n/it-IT/app-overview.ts                                                                                      |    2 
 app/components/workflow/nodes/_base/hooks/use-toggle-expend.ts                                                  |    4 
 app/components/tools/workflow-tool/index.tsx                                                                    |   58 
 app/components/base/video-gallery/index.tsx                                                                     |    2 
 utils/format.spec.ts                                                                                            |   45 
 app/components/datasets/create/step-two/inputs.tsx                                                              |   14 
 app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx                                |   10 
 app/components/base/agent-log-modal/detail.tsx                                                                  |   18 
 app/components/base/notion-page-selector/search-input/index.module.css                                          |   15 
 app/(commonLayout)/app/(appDetailLayout)/layout.tsx                                                             |    1 
 app/components/base/answer-icon/index.tsx                                                                       |    2 
 app/components/base/icons/src/vender/solid/general/Target04.tsx                                                 |   14 
 context/app-context.tsx                                                                                         |   31 
 app/components/workflow/nodes/http/components/timeout/index.tsx                                                 |    8 
 app/components/base/file-uploader/video-preview.tsx                                                             |   12 
 i18n/de-DE/share-app.ts                                                                                         |    8 
 app/components/workflow/nodes/http/hooks/use-key-value-list.ts                                                  |    2 
 app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx                       |    4 
 app/components/base/chat/chat/chat-input-area/operation.tsx                                                     |   34 
 app/components/base/notion-page-selector/search-input/index.tsx                                                 |   12 
 app/components/base/prompt-editor/plugins/component-picker-block/index.tsx                                      |   98 
 i18n/fa-IR/common.ts                                                                                            |   49 
 app/components/header/account-setting/api-based-extension-page/item.tsx                                         |   27 
 app/components/base/icons/src/vender/solid/shapes/Star04.tsx                                                    |   14 
 app/components/base/icons/src/vender/line/general/Plus02.tsx                                                    |   14 
 app/components/base/icons/src/public/llm/OpenaiBlue.json                                                        |    2 
 app/components/workflow/nodes/http/use-config.ts                                                                |    8 
 app/components/base/icons/src/public/plugins/Google.tsx                                                         |   14 
 app/components/workflow/nodes/if-else/components/condition-list/index.tsx                                       |   10 
 app/components/workflow/nodes/assigner/panel.tsx                                                                |   10 
 app/components/base/slider/style.css                                                                            |    2 
 app/components/tools/edit-custom-collection-modal/config-credentials.tsx                                        |   72 
 i18n/hi-IN/dataset-documents.ts                                                                                 |    2 
 app/components/base/icons/src/vender/solid/editor/TypeSquare.tsx                                                |   14 
 i18n/ko-KR/dataset-creation.ts                                                                                  |   18 
 app/components/workflow/nodes/llm/utils.ts                                                                      |  333 
 app/components/base/tag-input/index.tsx                                                                         |   19 
 app/components/explore/app-list/style.module.css                                                                |    2 
 app/components/workflow/workflow-history-store.tsx                                                              |    3 
 app/components/tools/labels/constant.ts                                                                         |    4 
 app/(commonLayout)/datasets/page.tsx                                                                            |    4 
 app/account/delete-account/components/verify-email.tsx                                                          |    8 
 i18n/pt-BR/workflow.ts                                                                                          |  214 
 app/components/base/icons/src/vender/line/development/ArtificialBrain.tsx                                       |   14 
 app/components/workflow/nodes/_base/components/editor/code-editor/editor-support-vars.tsx                       |    8 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/chartView.tsx                                         |   16 
 i18n/de-DE/run-log.ts                                                                                           |    2 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/tracing-icon.tsx                              |    2 
 app/components/develop/secret-key/input-copy.tsx                                                                |   29 
 app/components/billing/pricing/index.tsx                                                                        |  158 
 i18n/ko-KR/tools.ts                                                                                             |    3 
 app/components/base/icons/src/vender/line/general/Upload03.tsx                                                  |   14 
 app/components/base/icons/src/vender/solid/communication/EditList.tsx                                           |   14 
 app/components/base/icons/src/vender/line/general/Edit05.tsx                                                    |   14 
 app/components/base/icons/src/public/files/Json.json                                                            |    2 
 app/components/base/tab-header/style.module.css                                                                 |    9 
 app/components/base/icons/src/public/llm/Chatglm.tsx                                                            |   14 
 app/components/datasets/api/index.tsx                                                                           |    4 
 app/components/billing/pricing/select-plan-range.tsx                                                            |   49 
 app/components/base/prompt-editor/plugins/query-block/component.tsx                                             |    4 
 app/components/header/account-setting/model-provider-page/provider-card/index.module.css                        |    4 
 app/components/base/chat/chat/citation/progress-tooltip.tsx                                                     |    8 
 app/components/workflow/nodes/knowledge-retrieval/panel.tsx                                                     |   52 
 app/components/header/account-setting/model-provider-page/provider-added-card/model-list-item.tsx               |   22 
 app/components/header/account-setting/model-provider-page/model-parameter-modal/stop-sequence.tsx               |    0 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/field.tsx                                     |    2 
 app/components/header/account-setting/model-provider-page/provider-added-card/model-list.tsx                    |   21 
 app/components/base/icons/src/vender/solid/communication/MessageHeartCircle.tsx                                 |   14 
 i18n/ko-KR/dataset.ts                                                                                           |   48 
 public/favicon.ico                                                                                              |    0 
 app/components/base/chat/chat/type.ts                                                                           |    1 
 app/components/workflow/nodes/document-extractor/use-config.ts                                                  |    8 
 app/components/base/features/new-feature-panel/speech-to-text.tsx                                               |    4 
 app/components/datasets/create/website/base/crawled-result.tsx                                                  |   16 
 i18n/tr-TR/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/vender/line/development/TerminalSquare.tsx                                        |   14 
 app/components/workflow/header/chat-variable-button.tsx                                                         |    2 
 app/(commonLayout)/datasets/ApiServer.tsx                                                                       |   41 
 app/components/base/icons/src/public/llm/Localai.json                                                           |    2 
 app/components/workflow/nodes/_base/components/output-vars.tsx                                                  |   62 
 i18n/th-TH/app.ts                                                                                               |   21 
 app/components/base/icons/src/vender/solid/general/ZapNarrow.tsx                                                |   14 
 app/components/base/icons/src/vender/workflow/Http.tsx                                                          |   14 
 app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.tsx                               |   21 
 app/components/base/icons/src/public/llm/ZhipuaiText.tsx                                                        |   14 
 i18n/fr-FR/workflow.ts                                                                                          |  213 
 app/components/base/input-number/index.tsx                                                                      |   60 
 app/components/workflow/nodes/if-else/panel.tsx                                                                 |    6 
 app/components/base/dropdown/index.tsx                                                                          |   16 
 app/components/base/icons/src/public/llm/AzureaiText.tsx                                                        |   14 
 app/components/base/icons/src/public/llm/ChatglmText.json                                                       |    2 
 i18n/it-IT/custom.ts                                                                                            |    2 
 app/(commonLayout)/apps/Apps.tsx                                                                                |   64 
 docker/entrypoint.sh                                                                                            |   15 
 i18n/sl-SI/explore.ts                                                                                           |    1 
 app/components/base/param-item/index.tsx                                                                        |    9 
 app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx                     |   60 
 app/components/base/icons/src/public/thought/Search.json                                                        |    2 
 app/components/base/chat/types.ts                                                                               |    5 
 app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-configs.tsx  |   46 
 i18n/ro-RO/dataset-settings.ts                                                                                  |    2 
 app/styles/preflight.css                                                                                        |    2 
 app/components/base/fullscreen-modal/index.tsx                                                                  |   54 
 i18n/zh-Hans/run-log.ts                                                                                         |    4 
 app/components/base/icons/src/public/tracing/LangfuseIcon.tsx                                                   |   14 
 app/components/datasets/create/steps-nav-bar/index.tsx                                                          |   61 
 app/components/workflow/utils.ts                                                                                |  814 
 app/components/base/icons/src/vender/solid/communication/ChatBot.tsx                                            |   14 
 i18n/pt-BR/app.ts                                                                                               |   21 
 app/components/base/input/index.tsx                                                                             |   21 
 app/components/base/icons/src/public/avatar/Robot.json                                                          |    2 
 app/components/base/icons/src/public/billing/index.ts                                                           |   10 
 app/components/base/icons/src/vender/line/editor/index.ts                                                       |    1 
 app/components/workflow/nodes/http/components/curl-panel.tsx                                                    |   12 
 app/components/base/icons/src/vender/solid/mediaAndDevices/MagicWand.tsx                                        |   14 
 app/components/datasets/documents/detail/completed/SegmentCard.tsx                                              |  259 
 app/components/base/notion-icon/index.tsx                                                                       |   14 
 app/components/base/icons/src/vender/workflow/Assigner.tsx                                                      |   14 
 app/components/base/icons/src/public/llm/ZhipuaiText.json                                                       |    2 
 app/components/base/chat/chat-with-history/sidebar/rename-modal.tsx                                             |    9 
 app/components/base/icons/src/public/common/SparklesSoft.json                                                   |    2 
 app/components/base/icons/src/public/knowledge/Chunk.json                                                       |   20 
 app/components/base/icons/src/vender/line/general/Settings01.tsx                                                |   14 
 app/components/app/app-publisher/publish-with-multiple-model.tsx                                                |   14 
 app/components/app/log/var-panel.tsx                                                                            |   22 
 app/components/base/icons/src/public/llm/XorbitsInference.json                                                  |    2 
 app/components/base/chat/chat-with-history/header.tsx                                                           |   25 
 app/components/workflow/note-node/note-editor/theme/theme.css                                                   |    2 
 app/components/workflow/panel-contextmenu.tsx                                                                   |   16 
 app/components/develop/secret-key/secret-key-generate.tsx                                                       |   10 
 app/components/base/chat/chat-with-history/config-panel/form-input.tsx                                          |   47 
 i18n/ro-RO/workflow.ts                                                                                          |  214 
 i18n/tr-TR/app.ts                                                                                               |   21 
 app/components/base/icons/src/vender/line/others/LongArrowRight.tsx                                             |   14 
 app/components/workflow/help-line/index.tsx                                                                     |    4 
 app/components/base/icons/src/public/llm/IflytekSparkText.tsx                                                   |   14 
 i18n/ro-RO/dataset-documents.ts                                                                                 |    2 
 app/components/workflow/nodes/variable-assigner/components/var-group-item.tsx                                   |   14 
 app/components/base/icons/src/public/llm/HuggingfaceText.tsx                                                    |   14 
 app/components/workflow/nodes/_base/components/collapse/index.tsx                                               |   63 
 app/components/base/emoji-picker/Inner.tsx                                                                      |   50 
 app/components/base/icons/src/vender/line/time/ClockRefresh.tsx                                                 |   14 
 i18n/th-TH/run-log.ts                                                                                           |    2 
 app/components/datasets/create/website/base/input.tsx                                                           |    9 
 app/components/workflow/panel/chat-variable-panel/components/variable-modal.tsx                                 |   40 
 app/components/workflow/nodes/_base/components/variable-tag.tsx                                                 |   21 
 app/components/base/voice-input/index.tsx                                                                       |   26 
 app/components/workflow/header/checklist.tsx                                                                    |   42 
 app/components/workflow/panel/global-variable-panel/index.tsx                                                   |   14 
 app/components/base/icons/src/public/llm/IflytekSpark.json                                                      |    2 
 app/components/workflow/nodes/_base/components/node-handle.tsx                                                  |   20 
 app/components/datasets/create/website/base/field.tsx                                                           |    4 
 app/components/header/account-dropdown/index.tsx                                                                |  274 
 app/components/workflow/nodes/parameter-extractor/node.tsx                                                      |    1 
 app/components/base/qrcode/index.tsx                                                                            |   32 
 app/components/app/configuration/config-vision/param-config.tsx                                                 |   15 
 app/components/explore/sidebar/index.tsx                                                                        |   17 
 app/components/base/chat/chat/utils.ts                                                                          |   28 
 app/components/app/create-from-dsl-modal/uploader.tsx                                                           |   40 
 app/components/base/icons/src/public/files/Doc.tsx                                                              |   14 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/type.ts                                       |    8 
 app/components/base/features/new-feature-panel/dialog-wrapper.tsx                                               |   46 
 app/components/base/icons/src/public/files/Md.tsx                                                               |   14 
 app/components/datasets/create/website/base/crawled-result-item.tsx                                             |   32 
 i18n/ja-JP/run-log.ts                                                                                           |   28 
 app/components/base/icons/src/vender/solid/education/Heart02.tsx                                                |   14 
 app/components/app/configuration/config/agent/agent-tools/index.tsx                                             |  289 
 app/components/base/icons/src/vender/line/communication/MessageCheckRemove.tsx                                  |   14 
 app/components/billing/billing-page/index.tsx                                                                   |   18 
 i18n/th-TH/share-app.ts                                                                                         |    8 
 app/components/datasets/documents/detail/completed/segment-card.tsx                                             |  280 
 app/components/app/duplicate-modal/style.module.css                                                             |   36 
 app/components/header/account-setting/members-page/operation/index.tsx                                          |   76 
 i18n/es-ES/app.ts                                                                                               |   20 
 app/components/base/icons/src/public/llm/OpenaiText.tsx                                                         |   14 
 app/components/header/account-setting/model-provider-page/model-modal/Input.tsx                                 |   23 
 i18n/pl-PL/dataset.ts                                                                                           |   48 
 app/components/base/icons/src/vender/solid/development/ApiConnection.tsx                                        |   14 
 app/components/develop/template/template.zh.mdx                                                                 |  421 
 app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.tsx                              |    6 
 app/components/workflow/nodes/knowledge-retrieval/use-config.ts                                                 |  150 
 i18n/zh-Hans/dataset.ts                                                                                         |   48 
 app/components/datasets/common/retrieval-method-config/index.tsx                                                |    8 
 app/components/base/icons/src/vender/solid/mediaAndDevices/Microphone01.tsx                                     |   14 
 .idea/.gitignore                                                                                                |    8 
 app/components/tools/provider/grid_bg.svg                                                                       |   14 
 app/components/workflow/block-selector/index-bar.tsx                                                            |   51 
 i18n/fr-FR/run-log.ts                                                                                           |    2 
 app/components/workflow/hooks/use-workflow-template.ts                                                          |   74 
 app/components/workflow/style.css                                                                               |    2 
 app/components/base/avatar/index.tsx                                                                            |    2 
 app/components/header/index.module.css                                                                          |    2 
 app/components/base/svg/index.tsx                                                                               |   11 
 i18n/hi-IN/share-app.ts                                                                                         |   10 
 app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-btn/index.tsx                   |  135 
 app/components/header/account-setting/members-page/invite-modal/index.tsx                                       |   40 
 i18n/ko-KR/run-log.ts                                                                                           |    2 
 app/components/app/switch-app-modal/index.tsx                                                                   |   30 
 app/components/header/account-setting/members-page/invite-modal/role-selector.tsx                               |   40 
 i18n/es-ES/explore.ts                                                                                           |    1 
 app/components/base/icons/src/vender/line/others/DragHandle.tsx                                                 |   14 
 app/components/app/configuration/index.tsx                                                                      |  124 
 app/reset-password/layout.tsx                                                                                   |   20 
 app/components/base/icons/src/vender/line/time/ClockFastForward.tsx                                             |   14 
 app/components/base/icons/src/public/files/Xlsx.json                                                            |    2 
 i18n/pt-BR/share-app.ts                                                                                         |    8 
 app/components/base/mermaid/index.tsx                                                                           |  615 
 app/components/base/features/new-feature-panel/image-upload/index.tsx                                           |   22 
 app/components/base/icons/src/vender/workflow/QuestionClassifier.tsx                                            |   14 
 app/components/workflow/header/global-variable-button.tsx                                                       |    2 
 app/(commonLayout)/datasets/NewDatasetCard.tsx                                                                  |   34 
 app/(commonLayout)/datasets/Doc.tsx                                                                             |   43 
 app/components/workflow/panel/chat-variable-panel/components/object-value-item.tsx                              |    8 
 app/components/workflow/nodes/_base/components/retry/retry-on-node.tsx                                          |   16 
 app/components/base/prompt-editor/constants.tsx                                                                 |    6 
 i18n/uk-UA/share-app.ts                                                                                         |    8 
 i18n/fr-FR/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/vender/line/files/FilePlus02.tsx                                                  |   14 
 app/components/base/tag-management/selector.tsx                                                                 |   66 
 app/components/workflow/nodes/_base/components/panel-operator/change-block.tsx                                  |    4 
 i18n/tr-TR/dataset-creation.ts                                                                                  |   18 
 app/components/workflow/constants.ts                                                                            |   96 
 app/components/app/configuration/config-prompt/conversation-history/history-panel.tsx                           |   14 
 app/components/datasets/create/website/jina-reader/base/input.tsx                                               |    4 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/style.module.css                                               |    2 
 app/components/base/icons/src/public/llm/OpenaiViolet.json                                                      |    2 
 app/components/base/chip/index.tsx                                                                              |   20 
 app/components/datasets/chunk.tsx                                                                               |   30 
 app/components/base/icons/src/vender/solid/general/ZapFast.tsx                                                  |   14 
 app/components/base/logo/logo-embedded-chat-avatar.tsx                                                          |    5 
 i18n/de-DE/tools.ts                                                                                             |    3 
 i18n/fa-IR/custom.ts                                                                                            |    2 
 app/components/base/icons/src/vender/solid/general/Download02.tsx                                               |   14 
 app/components/base/file-uploader/utils.ts                                                                      |    2 
 app/components/develop/secret-key/style.module.css                                                              |    2 
 app/components/header/account-setting/model-provider-page/model-selector/model-trigger.tsx                      |   62 
 app/components/app-sidebar/navLink.tsx                                                                          |    6 
 app/components/base/icons/src/vender/line/others/GlobalVariable.tsx                                             |   14 
 app/components/workflow/nodes/_base/components/next-step/line.tsx                                               |    2 
 i18n/pl-PL/billing.ts                                                                                           |   82 
 app/components/app/overview/embedded/index.tsx                                                                  |   69 
 app/components/base/chat/chat/answer/__mocks__/markdownContentSVG.ts                                            |   12 
 app/components/datasets/external-knowledge-base/create/KnowledgeBaseInfo.tsx                                    |    6 
 app/components/base/icons/src/public/tracing/OpikIconBig.tsx                                                    |   14 
 app/components/workflow/panel/record.tsx                                                                        |    4 
 app/components/datasets/documents/detail/completed/display-toggle.tsx                                           |   10 
 app/components/workflow/nodes/variable-assigner/components/node-variable-item.tsx                               |   95 
 app/components/workflow/panel/debug-and-preview/hooks.ts                                                        |  161 
 app/components/base/icons/src/vender/line/editor/TypeSquare.tsx                                                 |   14 
 app/components/base/icons/src/public/knowledge/Collapse.json                                                    |    8 
 app/components/workflow/nodes/_base/components/add-variable-popup-with-position.tsx                             |    2 
 i18n/fr-FR/dataset-documents.ts                                                                                 |    2 
 app/components/header/nav/nav-selector/index.tsx                                                                |   88 
 app/components/app/overview/apikey-info-panel/progress/index.tsx                                                |   29 
 app/components/base/chat/chat/question.stories.tsx                                                              |    4 
 app/components/datasets/create/website/preview.tsx                                                              |   12 
 app/components/billing/annotation-full/index.tsx                                                                |    6 
 app/components/base/notion-page-selector/workspace-selector/index.module.css                                    |    9 
 app/components/tools/add-tool-modal/type.tsx                                                                    |   12 
 app/(commonLayout)/datasets/Datasets.tsx                                                                        |   31 
 app/components/base/drawer/index.tsx                                                                            |   45 
 app/components/base/icons/src/public/files/Json.tsx                                                             |   14 
 app/components/app/text-generate/saved-items/no-data/index.tsx                                                  |   37 
 i18n/hi-IN/billing.ts                                                                                           |   82 
 app/components/app/configuration/config-prompt/message-type-selector.tsx                                        |    8 
 app/components/base/chat/chat/thought/panel.tsx                                                                 |    6 
 app/components/app/configuration/dataset-config/card-item/style.module.css                                      |    2 
 app/components/base/chat/chat/thought/index.tsx                                                                 |    4 
 app/components/datasets/common/document-status-with-action/status-with-action.tsx                               |   21 
 app/components/base/icons/src/vender/solid/education/BubbleText.tsx                                             |   14 
 app/components/workflow/nodes/template-transform/panel.tsx                                                      |    8 
 app/components/base/file-uploader/file-uploader-in-chat-input/file-item.tsx                                     |   23 
 app/components/workflow/nodes/tool/components/input-var-list.tsx                                                |   92 
 app/components/datasets/preview/header.tsx                                                                      |    2 
 app/components/share/text-generation/no-data/index.tsx                                                          |   16 
 app/components/datasets/create/website/index.tsx                                                                |  117 
 app/components/app/configuration/debug/debug-with-multiple-model/index.tsx                                      |    6 
 app/components/base/chat/chat/citation/tooltip.tsx                                                              |    4 
 app/components/share/text-generation/run-batch/csv-reader/index.tsx                                             |   17 
 i18n/vi-VN/explore.ts                                                                                           |    1 
 app/components/base/icons/src/vender/line/arrows/ReverseLeft.tsx                                                |   14 
 app/components/share/text-generation/result/header.tsx                                                          |   18 
 i18n/auto-gen-i18n.js                                                                                           |   27 
 app/components/base/icons/src/vender/features/LoveMessage.tsx                                                   |   14 
 app/components/base/notion-page-selector/base.module.css                                                        |    4 
 app/components/workflow/nodes/parameter-extractor/use-config.ts                                                 |   34 
 app/components/base/icons/src/public/llm/IflytekSparkTextCn.tsx                                                 |   14 
 app/components/datasets/create/website/jina-reader/crawled-result.tsx                                           |   87 
 app/components/base/app-icon-picker/index.tsx                                                                   |   11 
 app/components/base/icons/src/vender/line/editor/AlignLeft.tsx                                                  |   14 
 app/components/base/icons/src/vender/features/Document.tsx                                                      |   14 
 app/components/workflow/hooks/index.ts                                                                          |    3 
 app/components/workflow/nodes/http/node.tsx                                                                     |    5 
 app/components/base/copy-btn/index.tsx                                                                          |   21 
 context/modal-context.tsx                                                                                       |   59 
 app/components/base/file-uploader/hooks.ts                                                                      |    8 
 app/components/base/sort/index.tsx                                                                              |   22 
 app/components/header/account-setting/Integrations-page/index.tsx                                               |    8 
 app/components/base/icons/src/vender/line/development/Database01.tsx                                            |   14 
 app/components/header/account-setting/data-source-page/index.tsx                                                |    8 
 app/components/datasets/create/step-three/index.tsx                                                             |   24 
 i18n/hi-IN/dataset.ts                                                                                           |   48 
 app/components/base/icons/src/vender/workflow/Answer.tsx                                                        |   14 
 app/components/header/tools-nav/index.tsx                                                                       |    4 
 app/components/datasets/documents/detail/completed/segment-list.tsx                                             |   47 
 app/components/base/icons/src/vender/solid/communication/AiText.tsx                                             |   14 
 app/components/workflow/hooks/use-workflow-interactions.ts                                                      |  155 
 app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx                              |   32 
 app/components/workflow/panel/env-panel/env-item.tsx                                                            |   24 
 i18n/vi-VN/common.ts                                                                                            |   49 
 app/components/workflow/nodes/question-classifier/components/class-item.tsx                                     |   54 
 app/components/app/configuration/config-var/config-modal/field.tsx                                              |    4 
 app/components/tools/add-tool-modal/tools.tsx                                                                   |   29 
 app/components/workflow/header/restoring-title.tsx                                                              |   46 
 app/components/i18n-server.tsx                                                                                  |    4 
 app/components/header/github-star/index.tsx                                                                     |   47 
 app/components/workflow/panel/global-variable-panel/item.tsx                                                    |   12 
 app/components/workflow/nodes/_base/components/error-handle/default-value.tsx                                   |    8 
 app/components/base/icons/src/public/plugins/WebReader.tsx                                                      |   14 
 app/components/base/icons/src/vender/line/general/LinkExternal02.tsx                                            |   14 
 app/components/workflow/nodes/variable-assigner/components/node-group-item.tsx                                  |   18 
 app/components/base/loading/index.tsx                                                                           |    2 
 app/components/base/icons/src/public/common/NTo1Retrieval.json                                                  |    2 
 app/components/workflow/nodes/_base/components/retry/style.module.css                                           |    2 
 i18n/pl-PL/dataset-creation.ts                                                                                  |   18 
 app/components/base/icons/src/vender/solid/general/XCircle.tsx                                                  |   14 
 app/components/header/account-setting/collapse/index.tsx                                                        |   10 
 app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.tsx                          |    6 
 app/components/workflow/nodes/_base/components/node-control.tsx                                                 |   10 
 app/components/datasets/create/website/jina-reader/mock-crawl-result.ts                                         |   24 
 app/components/workflow/nodes/if-else/components/condition-list/condition-var-selector.tsx                      |    6 
 app/components/workflow/note-node/note-editor/context.tsx                                                       |    6 
 app/components/workflow/note-node/note-editor/toolbar/index.tsx                                                 |    2 
 app/components/workflow/run/result-text.tsx                                                                     |    8 
 app/components/base/icons/src/vender/line/development/Variable.tsx                                              |   14 
 app/components/workflow/nodes/llm/components/config-prompt.tsx                                                  |    4 
 app/components/base/file-uploader/file-list-in-log.tsx                                                          |   14 
 app/components/datasets/documents/list.tsx                                                                      |  291 
 app/components/base/icons/src/vender/line/communication/ChatBotSlim.tsx                                         |   14 
 app/components/base/icons/src/public/common/Dify.json                                                           |    2 
 app/components/base/icons/src/vender/line/general/Link03.tsx                                                    |   14 
 app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.tsx                          |    4 
 i18n/fa-IR/run-log.ts                                                                                           |    2 
 app/components/base/auto-height-textarea/common.tsx                                                             |   80 
 app/components/base/icons/src/vender/workflow/Iteration.tsx                                                     |   14 
 app/components/base/chat/embedded-chatbot/theme/theme-context.ts                                                |   11 
 app/components/base/icons/src/vender/solid/users/Users01.tsx                                                    |   14 
 app/components/header/account-setting/key-validator/KeyInput.tsx                                                |    8 
 models/app.ts                                                                                                   |   64 
 app/components/datasets/hit-testing/style.module.css                                                            |    2 
 app/components/datasets/external-api/external-api-modal/Form.tsx                                                |   12 
 app/components/workflow/operator/tip-popup.tsx                                                                  |    2 
 app/components/base/icons/src/vender/line/others/FileCode.tsx                                                   |   14 
 app/components/base/tag-management/style.module.css                                                             |    3 
 app/components/base/icons/src/vender/solid/general/Edit04.tsx                                                   |   14 
 app/components/workflow/panel/chat-variable-panel/components/array-value-list.tsx                               |    4 
 app/components/base/icons/src/public/files/Yaml.json                                                            |    2 
 app/components/base/divider/with-label.tsx                                                                      |    4 
 app/components/base/icons/src/public/llm/Jina.tsx                                                               |   14 
 i18n/pl-PL/app-overview.ts                                                                                      |    2 
 app/components/workflow/note-node/index.tsx                                                                     |    8 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/provider-panel.tsx                            |   30 
 app/components/develop/secret-key/secret-key-modal.tsx                                                          |   86 
 app/components/header/account-about/index.tsx                                                                   |   69 
 app/components/datasets/create/website/jina-reader/header.tsx                                                   |   29 
 app/components/datasets/hit-testing/components/child-chunks-item.tsx                                            |    8 
 app/components/base/chat/chat/question.tsx                                                                      |  129 
 i18n/fr-FR/app-overview.ts                                                                                      |    2 
 app/components/workflow/nodes/_base/node.tsx                                                                    |   93 
 app/components/app/configuration/dataset-config/context-var/style.module.css                                    |    3 
 app/components/base/icons/src/public/llm/AzureaiText.json                                                       |    2 
 app/components/header/account-setting/data-source-page/panel/index.tsx                                          |   48 
 app/components/base/icons/src/public/llm/AnthropicText.tsx                                                      |   14 
 i18n/ru-RU/run-log.ts                                                                                           |    2 
 app/components/app/configuration/config-var/config-select/style.module.css                                      |   21 
 app/components/signin/countdown.tsx                                                                             |    2 
 app/components/base/chat/chat/try-to-ask.tsx                                                                    |   33 
 app/components/base/icons/src/public/llm/OpenaiGreen.json                                                       |    2 
 app/components/base/icons/src/public/llm/Gpt4.tsx                                                               |   14 
 app/components/base/icons/src/public/tracing/LangfuseIconBig.tsx                                                |   14 
 app/components/workflow/panel/debug-and-preview/index.tsx                                                       |   73 
 i18n/es-ES/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/vender/features/FolderUpload.tsx                                                  |   14 
 app/components/develop/index.tsx                                                                                |   30 
 i18n/fr-FR/custom.ts                                                                                            |    2 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/layout.tsx                                                     |  174 
 i18n/es-ES/billing.ts                                                                                           |   82 
 app/components/explore/sidebar/app-nav-item/style.module.css                                                    |    9 
 i18n/ro-RO/common.ts                                                                                            |   49 
 app/components/base/tooltip/index.tsx                                                                           |    6 
 app/components/billing/apps-full-in-dialog/index.tsx                                                            |   79 
 app/components/datasets/documents/detail/metadata/index.tsx                                                     |    8 
 i18n/ja-JP/dataset-documents.ts                                                                                 |    4 
 app/components/base/icons/src/image/llm/WxyyTextCn.tsx                                                          |   15 
 app/components/datasets/common/document-picker/document-list.tsx                                                |    4 
 app/components/base/icons/src/public/llm/ReplicateText.tsx                                                      |   14 
 app/components/base/icons/src/vender/solid/general/QuestionTriangle.tsx                                         |   14 
 app/components/base/chat/chat/index.tsx                                                                         |   48 
 app/components/app/configuration/config-prompt/prompt-editor-height-resize-wrap.tsx                             |    8 
 app/components/base/chat/chat/thought/tool.tsx                                                                  |   20 
 app/components/base/radio-card/index.tsx                                                                        |   15 
 app/components/base/linked-apps-panel/index.tsx                                                                 |   14 
 app/activate/style.module.css                                                                                   |    4 
 app/components/base/icons/src/vender/line/weather/Stars02.tsx                                                   |   14 
 app/components/base/icons/src/vender/workflow/KnowledgeRetrieval.tsx                                            |   14 
 app/components/base/icons/src/public/llm/Microsoft.json                                                         |    2 
 public/embed.js                                                                                                 |  285 
 app/components/base/pagination/index.tsx                                                                        |   44 
 app/components/base/icons/src/vender/line/arrows/RefreshCw05.tsx                                                |   14 
 app/components/base/prompt-log-modal/index.tsx                                                                  |   16 
 app/components/header/account-setting/model-provider-page/provider-added-card/add-model-button.tsx              |    8 
 app/components/header/account-setting/model-provider-page/model-selector/index.tsx                              |   13 
 i18n/de-DE/dataset.ts                                                                                           |   48 
 app/components/datasets/create/step-one/index.module.css                                                        |  106 
 app/components/header/account-setting/model-provider-page/model-selector/popup-item.tsx                         |  122 
 app/components/base/icons/src/public/llm/Cohere.json                                                            |    2 
 app/components/header/account-setting/index.module.css                                                          |    8 
 app/components/datasets/create/website/base/url-input.tsx                                                       |    4 
 app/components/base/features/new-feature-panel/annotation-reply/config-param.tsx                                |    8 
 i18n/zh-Hant/billing.ts                                                                                         |   84 
 app/components/base/icons/src/vender/solid/general/SearchMd.tsx                                                 |   14 
 types/feature.ts                                                                                                |    2 
 app/components/app/configuration/config/agent/prompt-editor.tsx                                                 |   17 
 app/components/base/copy-btn/style.module.css                                                                   |    2 
 .vscode/settings.example.json                                                                                   |    3 
 i18n/en-US/dataset-creation.ts                                                                                  |   20 
 app/components/base/chat/chat/answer/tool-detail.tsx                                                            |   20 
 app/components/base/icons/script.js                                                                             |  163 
 i18n/fa-IR/dataset.ts                                                                                           |   48 
 utils/model-config.ts                                                                                           |    5 
 app/components/app/configuration/config-var/select-var-type.tsx                                                 |    8 
 app/components/datasets/documents/detail/completed/index.tsx                                                    |   73 
 app/components/base/icons/src/vender/line/general/ChecklistSquare.tsx                                           |   14 
 app/components/base/image-uploader/audio-preview.tsx                                                            |   11 
 app/components/app/configuration/style.module.css                                                               |    2 
 i18n/uk-UA/run-log.ts                                                                                           |    2 
 app/components/base/icons/src/public/files/Csv.tsx                                                              |   14 
 i18n/th-TH/dataset-documents.ts                                                                                 |    2 
 i18n/vi-VN/workflow.ts                                                                                          |  214 
 app/components/base/icons/src/vender/solid/communication/Logic.tsx                                              |   14 
 app/components/explore/app-list/index.tsx                                                                       |  116 
 app/components/header/account-setting/api-based-extension-page/empty.tsx                                        |   18 
 app/components/workflow/panel/inputs-panel.tsx                                                                  |    2 
 i18n/zh-Hans/app-debug.ts                                                                                       |    3 
 i18n/fa-IR/app.ts                                                                                               |   21 
 app/components/workflow/panel/chat-variable-panel/components/object-value-list.tsx                              |   10 
 app/init/InitPasswordPopup.tsx                                                                                  |   13 
 i18n/ru-RU/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/vender/solid/files/File05.tsx                                                     |   14 
 app/components/datasets/create/empty-dataset-creation-modal/index.tsx                                           |    4 
 app/components/tools/edit-custom-collection-modal/test-api.tsx                                                  |   44 
 i18n/ja-JP/app.ts                                                                                               |   26 
 app/components/billing/upgrade-btn/index.tsx                                                                    |   59 
 app/components/app/configuration/config/automatic/get-automatic-res.tsx                                         |   52 
 i18n/es-ES/common.ts                                                                                            |   48 
 app/components/base/switch/index.tsx                                                                            |  120 
 app/components/workflow/header/running-title.tsx                                                                |    6 
 app/components/tools/provider/contribute.tsx                                                                    |   40 
 app/components/base/skeleton/index.tsx                                                                          |    2 
 i18n/hi-IN/app-overview.ts                                                                                      |    2 
 app/components/base/icons/src/vender/features/Citations.tsx                                                     |   14 
 app/signin/components/mail-and-code-auth.tsx                                                                    |    5 
 app/components/base/icons/src/vender/solid/files/Folder.tsx                                                     |   14 
 app/components/workflow/run/meta.tsx                                                                            |   38 
 app/components/base/chat/chat/answer/workflow-process.tsx                                                       |   56 
 i18n/ja-JP/common.ts                                                                                            |   49 
 i18n/fr-FR/common.ts                                                                                            |   47 
 i18n/zh-Hans/share-app.ts                                                                                       |   10 
 app/components/base/icons/src/vender/line/education/BookOpen01.tsx                                              |   14 
 app/components/base/icons/src/vender/solid/general/CheckDone01.tsx                                              |   14 
 app/components/header/account-setting/language-page/index.module.css                                            |    2 
 app/components/base/icons/src/public/common/Highlight.json                                                      |    2 
 app/components/app-sidebar/dataset-info.tsx                                                                     |    6 
 i18n/th-TH/explore.ts                                                                                           |    1 
 app/components/header/account-setting/model-provider-page/model-modal/Form.tsx                                  |  338 
 app/(commonLayout)/datasets/DatasetFooter.tsx                                                                   |   10 
 app/components/header/account-setting/model-provider-page/provider-added-card/tab.tsx                           |   45 
 app/components/workflow/nodes/list-operator/components/limit-config.tsx                                         |    2 
 app/components/base/spinner/index.tsx                                                                           |    2 
 app/components/datasets/settings/form/index.tsx                                                                 |   52 
 service/tools.ts                                                                                                |   14 
 app/account/delete-account/components/check-email.tsx                                                           |    8 
 app/components/app/configuration/dataset-config/params-config/index.tsx                                         |    6 
 app/components/billing/apps-full/style.module.css                                                               |    7 
 app/components/workflow/nodes/iteration/add-block.tsx                                                           |   10 
 app/components/app/configuration/toolbox/index.tsx                                                              |   45 
 public/logo/logo-site.png                                                                                       |    0 
 app/components/base/icons/src/public/llm/Anthropic.json                                                         |    2 
 app/components/tools/workflow-tool/confirm-modal/index.tsx                                                      |   22 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/settings/page.tsx                                 |    4 
 app/components/base/icons/src/vender/solid/files/index.ts                                                       |    1 
 app/components/app/configuration/base/operation-btn/index.tsx                                                   |   17 
 next.config.js                                                                                                  |   19 
 models/datasets.ts                                                                                              |   31 
 app/components/workflow/nodes/http/components/edit-body/index.tsx                                               |    4 
 app/components/billing/upgrade-btn/style.module.css                                                             |    2 
 i18n/uk-UA/common.ts                                                                                            |   59 
 app/components/base/icons/src/vender/line/communication/ChatBot.tsx                                             |   14 
 app/components/base/icons/src/public/common/Line3.json                                                          |    2 
 app/components/base/icons/src/public/llm/AzureOpenaiServiceText.tsx                                             |   14 
 app/components/base/icons/src/public/llm/XorbitsInferenceText.tsx                                               |   14 
 app/components/base/icons/src/public/llm/LocalaiText.json                                                       |    2 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/style.module.css                                  |    9 
 app/components/workflow/operator/index.tsx                                                                      |    8 
 i18n/sl-SI/billing.ts                                                                                           |   82 
 app/components/base/file-uploader/file-input.tsx                                                                |    2 
 app/components/billing/type.ts                                                                                  |   46 
 app/components/app/configuration/config/agent/agent-setting/index.tsx                                           |   64 
 app/components/datasets/preview/container.tsx                                                                   |    2 
 app/components/base/icons/src/public/llm/Baichuan.tsx                                                           |   14 
 app/components/datasets/common/retrieval-method-info/index.tsx                                                  |    2 
 app/components/workflow/nodes/variable-assigner/components/var-list/index.tsx                                   |    4 
 app/(commonLayout)/apps/AppCard.tsx                                                                             |   69 
 app/components/base/icons/src/public/common/Notion.json                                                         |    2 
 app/components/base/icons/src/public/thought/Loading.json                                                       |    2 
 app/components/base/icons/src/vender/workflow/Code.tsx                                                          |   14 
 app/components/base/popover/index.tsx                                                                           |   30 
 i18n/ko-KR/common.ts                                                                                            |   49 
 app/components/workflow/nodes/_base/components/before-run-form/form.tsx                                         |   13 
 app/components/base/message-log-modal/index.tsx                                                                 |    8 
 i18n/zh-Hant/share-app.ts                                                                                       |    8 
 app/components/base/icons/src/vender/line/general/Refresh.tsx                                                   |   14 
 i18n/de-DE/dataset-hit-testing.ts                                                                               |    2 
 app/components/workflow/nodes/variable-assigner/default.ts                                                      |   27 
 app/components/header/app-nav/index.tsx                                                                         |    6 
 i18n/de-DE/billing.ts                                                                                           |   82 
 app/components/base/icons/src/public/avatar/User.json                                                           |    2 
 app/components/header/account-setting/key-validator/ValidateStatus.tsx                                          |    8 
 app/components/app/configuration/config-var/config-select/index.tsx                                             |   48 
 app/components/workflow/nodes/assigner/use-config.ts                                                            |   14 
 i18n/fa-IR/tools.ts                                                                                             |    3 
 i18n/hi-IN/workflow.ts                                                                                          |  214 
 app/components/header/account-about/index.module.css                                                            |    5 
 app/components/workflow/nodes/parameter-extractor/components/extract-parameter/import-from-tool.tsx             |    9 
 app/components/base/features/new-feature-panel/more-like-this.tsx                                               |    4 
 public/embed.min.js                                                                                             |   44 
 app/components/base/prompt-editor/plugins/context-block/index.tsx                                               |    3 
 app/components/datasets/common/chunking-mode-label.tsx                                                          |    4 
 app/components/tools/edit-custom-collection-modal/index.tsx                                                     |   64 
 app/components/header/account-setting/model-provider-page/provider-added-card/credential-panel.tsx              |   10 
 app/components/workflow/header/env-button.tsx                                                                   |    2 
 app/components/workflow/nodes/if-else/types.ts                                                                  |    1 
 i18n/it-IT/explore.ts                                                                                           |    1 
 app/components/workflow/nodes/if-else/components/condition-list/condition-operator.tsx                          |    6 
 app/components/app/annotation/filter.tsx                                                                        |    4 
 app/components/workflow/nodes/_base/components/add-variable-popup.tsx                                           |    4 
 app/components/base/icons/src/vender/line/general/Bookmark.tsx                                                  |   14 
 i18n/es-ES/dataset-documents.ts                                                                                 |    2 
 i18n/ja-JP/custom.ts                                                                                            |    2 
 app/components/app/text-generate/index.tsx                                                                      |   26 
 app/components/base/icons/src/image/llm/Tongyi.tsx                                                              |   15 
 app/components/base/icons/src/public/thought/ThoughtList.tsx                                                    |   14 
 app/components/base/icons/src/image/llm/BaichuanTextCn.tsx                                                      |   15 
 app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.json                                         |    4 
 app/components/workflow/nodes/list-operator/components/extract-input.tsx                                        |    2 
 i18n/fr-FR/explore.ts                                                                                           |    1 
 app/components/base/icons/src/vender/workflow/Jinja.tsx                                                         |   14 
 .editorconfig                                                                                                   |   22 
 i18n/pt-BR/dataset-settings.ts                                                                                  |    2 
 i18n/ja-JP/share-app.ts                                                                                         |   96 
 app/components/workflow/nodes/question-classifier/components/class-list.tsx                                     |   15 
 app/components/base/pagination/pagination.tsx                                                                   |    3 
 app/components/app/overview/customize/index.tsx                                                                 |   42 
 app/components/base/progress-bar/index.tsx                                                                      |    4 
 i18n/ru-RU/app.ts                                                                                               |   21 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/develop/page.tsx                                               |   14 
 app/activate/activateForm.tsx                                                                                   |   10 
 app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsDown.tsx                                      |   14 
 app/components/base/icons/src/public/thought/WebReader.json                                                     |    2 
 app/components/workflow/nodes/http/components/key-value/key-value-edit/input-item.tsx                           |   12 
 app/signin/invite-settings/page.tsx                                                                             |   18 
 app/components/app/create-app-modal/index.tsx                                                                   |  124 
 i18n/es-ES/custom.ts                                                                                            |    2 
 app/components/base/icons/src/public/llm/OpenaiBlack.json                                                       |    2 
 app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx                         |   82 
 app/components/billing/vector-space-full/style.module.css                                                       |    2 
 app/components/base/icons/src/vender/solid/shapes/Star06.tsx                                                    |   14 
 i18n/it-IT/dataset-documents.ts                                                                                 |    2 
 app/components/base/audio-btn/index.tsx                                                                         |   10 
 app/components/datasets/settings/index-method-radio/index.tsx                                                   |    2 
 app/components/base/icons/src/public/knowledge/SelectionMod.tsx                                                 |   14 
 app/components/base/icons/src/vender/workflow/IterationStart.tsx                                                |   14 
 app/components/workflow/nodes/iteration/use-interactions.ts                                                     |   17 
 i18n/vi-VN/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/vender/line/images/ImagePlus.tsx                                                  |   14 
 app/components/base/icons/src/vender/solid/mediaAndDevices/Robot.tsx                                            |   14 
 app/components/workflow/nodes/_base/components/next-step/index.tsx                                              |    2 
 app/components/base/icons/src/vender/solid/development/PromptEngineering.tsx                                    |   14 
 i18n/pl-PL/app.ts                                                                                               |   21 
 app/components/base/notion-page-selector/page-selector/index.tsx                                                |   34 
 i18n/zh-Hans/dataset-documents.ts                                                                               |    2 
 app/components/datasets/documents/detail/completed/common/empty.tsx                                             |   20 
 app/components/workflow/block-selector/constants.tsx                                                            |   16 
 app/components/develop/template/template_advanced_chat.zh.mdx                                                   |  541 
 app/components/header/account-setting/model-provider-page/provider-added-card/quota-panel.tsx                   |    8 
 app/components/base/icons/src/vender/solid/mediaAndDevices/MagicBox.tsx                                         |   14 
 app/components/app/text-generate/item/result-tab.tsx                                                            |   99 
 app/components/base/chat/chat-with-history/config-panel/form.tsx                                                |  117 
 i18n/zh-Hant/dataset-documents.ts                                                                               |    2 
 app/components/base/icons/src/public/llm/BaichuanText.json                                                      |    2 
 app/components/tools/provider/tool-item.tsx                                                                     |    7 
 app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.tsx |    7 
 app/components/datasets/documents/detail/completed/common/regeneration-modal.tsx                                |   17 
 app/components/base/chat/chat-with-history/index.tsx                                                            |   90 
 i18n/th-TH/workflow.ts                                                                                          |  214 
 app/components/base/audio-btn/style.module.css                                                                  |    2 
 service/log.ts                                                                                                  |    3 
 i18n/es-ES/dataset-settings.ts                                                                                  |    2 
 i18n/zh-Hans/billing.ts                                                                                         |  134 
 app/components/workflow/nodes/assigner/node.tsx                                                                 |   13 
 app/components/base/icons/src/vender/line/general/Menu01.tsx                                                    |   14 
 app/components/workflow/nodes/_base/components/option-card.tsx                                                  |    6 
 app/components/base/copy-icon/index.tsx                                                                         |    4 
 app/components/app/configuration/dataset-config/settings-modal/index.tsx                                        |   92 
 app/components/workflow/run/result-panel.tsx                                                                    |   88 
 app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx                          |   74 
 app/components/workflow/nodes/_base/components/editor/base.tsx                                                  |   20 
 app/styles/globals.css                                                                                          |   32 
 app/signin/_header.tsx                                                                                          |   42 
 app/components/base/icons/src/vender/line/general/CheckDone01.tsx                                               |   14 
 app/components/workflow/hooks/use-helpline.ts                                                                   |   13 
 i18n/zh-Hant/dataset-settings.ts                                                                                |    2 
 app/components/base/regenerate-btn/index.tsx                                                                    |   31 
 app/components/datasets/documents/detail/completed/common/full-screen-drawer.tsx                                |    5 
 i18n/ro-RO/explore.ts                                                                                           |    1 
 app/components/custom/custom-web-app-brand/style.module.css                                                     |    2 
 app/components/workflow/note-node/note-editor/plugins/link-editor-plugin/component.tsx                          |   22 
 app/(commonLayout)/list.module.css                                                                              |    2 
 .husky/pre-commit                                                                                               |   36 
 app/components/datasets/documents/detail/completed/common/dot.tsx                                               |    2 
 i18n/tr-TR/app-overview.ts                                                                                      |    2 
 app/components/workflow/panel/chat-record/index.tsx                                                             |   22 
 i18n/pl-PL/tools.ts                                                                                             |    3 
 app/components/base/icons/src/public/llm/BaichuanText.tsx                                                       |   14 
 app/components/tools/labels/filter.tsx                                                                          |   56 
 app/components/workflow/nodes/tool/use-config.ts                                                                |   47 
 app/components/datasets/external-api/external-api-panel/index.tsx                                               |   28 
 app/components/app/configuration/config-vision/param-config-content.tsx                                         |    8 
 app/components/app/configuration/config-prompt/conversation-history/edit-modal.tsx                              |   12 
 app/components/billing/annotation-full/modal.tsx                                                                |    6 
 app/components/app/configuration/config-var/config-string/index.tsx                                             |    2 
 app/components/base/tab-header/index.tsx                                                                        |   14 
 app/components/workflow/nodes/_base/components/code-generator-button.tsx                                        |    2 
 app/components/base/icons/src/vender/workflow/ParameterExtractor.tsx                                            |   14 
 app/components/datasets/create/website/base/options-wrap.tsx                                                    |   12 
 app/components/base/chat/embedded-chatbot/config-panel/form.tsx                                                 |  129 
 app/components/base/icons/src/public/avatar/User.tsx                                                            |   14 
 app/components/workflow/nodes/_base/hooks/use-node-help-link.ts                                                 |   19 
 i18n/pl-PL/dataset-settings.ts                                                                                  |    2 
 app/components/base/radio-card/simple/style.module.css                                                          |    2 
 app/components/workflow/block-selector/tools.tsx                                                                |  166 
 i18n/sl-SI/dataset-settings.ts                                                                                  |    2 
 app/components/share/text-generation/index.tsx                                                                  |  363 
 i18n/it-IT/tools.ts                                                                                             |    3 
 app/components/base/icons/src/vender/line/arrows/ChevronRight.tsx                                               |   14 
 app/components/develop/code.tsx                                                                                 |   34 
 i18n/en-US/dataset-documents.ts                                                                                 |    2 
 app/components/header/account-setting/model-provider-page/declarations.ts                                       |   18 
 app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx                                  |  155 
 app/components/develop/template/template_workflow.ja.mdx                                                        |  105 
 app/components/base/icons/src/vender/solid/development/TerminalSquare.tsx                                       |   14 
 .env.example                                                                                                    |   27 
 app/components/datasets/common/document-picker/preview-document-picker.tsx                                      |   10 
 app/components/datasets/create/notion-page-preview/index.module.css                                             |   85 
 app/components/base/icons/src/vender/line/editor/BezierCurve03.tsx                                              |   14 
 app/components/base/toast/style.module.css                                                                      |    2 
 app/components/datasets/documents/detail/embedding/skeleton/index.tsx                                           |   14 
 app/components/datasets/documents/detail/completed/skeleton/full-doc-list-skeleton.tsx                          |   12 
 app/components/base/prompt-editor/plugins/variable-value-block/node.tsx                                         |    7 
 app/components/base/icons/src/public/thought/Search.tsx                                                         |   14 
 app/components/app-sidebar/index.tsx                                                                            |   15 
 app/components/workflow/nodes/if-else/components/condition-wrap.tsx                                             |   23 
 app/components/base/icons/src/vender/features/Vision.tsx                                                        |   14 
 app/components/base/notion-icon/index.module.css                                                                |    6 
 app/components/datasets/create/file-preview/index.module.css                                                    |   42 
 app/components/base/dialog/index.tsx                                                                            |   49 
 app/components/datasets/documents/detail/completed/new-child-segment.tsx                                        |   23 
 app/components/base/icons/src/public/common/Github.tsx                                                          |   14 
 app/components/datasets/documents/detail/batch-modal/csv-uploader.tsx                                           |   22 
 app/components/base/icons/src/vender/solid/communication/ListSparkle.tsx                                        |   14 
 app/components/billing/header-billing-btn/index.tsx                                                             |   24 
 app/components/app/log/filter.tsx                                                                               |    4 
 app/components/explore/category.tsx                                                                             |   10 
 app/components/datasets/create/file-preview/index.tsx                                                           |    9 
 app/components/workflow/operator/zoom-in-out.tsx                                                                |   20 
 app/components/header/account-setting/key-validator/Operate.tsx                                                 |   18 
 app/components/app/configuration/config-prompt/advanced-prompt-input.tsx                                        |   32 
 app/components/app/log-annotation/index.tsx                                                                     |    6 
 app/components/share/text-generation/style.module.css                                                           |   12 
 app/components/workflow/nodes/llm/components/config-prompt-item.tsx                                             |    6 
 app/components/workflow/nodes/_base/components/before-run-form/index.tsx                                        |   75 
 app/(commonLayout)/explore/installed/[appId]/page.tsx                                                           |    8 
 app/(commonLayout)/datasets/(datasetDetailLayout)/[datasetId]/layout.tsx                                        |  231 
 app/signin/components/mail-and-password-auth.tsx                                                                |    7 
 app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx           |   24 
 app/components/app/configuration/toolbox/annotation/config-param.tsx                                            |  124 
 i18n/en-US/billing.ts                                                                                           |  134 
 app/components/base/icons/src/vender/line/alertsAndFeedback/AlertTriangle.tsx                                   |   14 
 app/components/app/configuration/dataset-config/card-item/index.tsx                                             |   10 
 app/components/base/features/new-feature-panel/conversation-opener/index.tsx                                    |   10 
 app/components/app/annotation/batch-add-annotation-modal/csv-downloader.tsx                                     |   18 
 app/components/datasets/documents/detail/completed/common/tag.tsx                                               |    4 
 app/components/base/agent-log-modal/result.tsx                                                                  |   40 
 app/components/base/app-unavailable.tsx                                                                         |    4 
 app/components/app/create-app-dialog/index.tsx                                                                  |    9 
 app/components/base/icons/src/public/llm/AzureOpenaiService.json                                                |    2 
 app/components/base/icons/src/vender/solid/mediaAndDevices/StopCircle.tsx                                       |   14 
 app/components/datasets/documents/detail/index.tsx                                                              |   54 
 app/components/datasets/create/steps-nav-bar/index.module.css                                                   |  107 
 app/components/workflow/dsl-export-confirm-modal.tsx                                                            |   31 
 app/components/datasets/documents/detail/settings/index.tsx                                                     |    2 
 app/components/workflow/nodes/llm/node.tsx                                                                      |    1 
 i18n/ko-KR/dataset-settings.ts                                                                                  |    2 
 i18n/fr-FR/tools.ts                                                                                             |    3 
 app/components/base/icons/src/public/llm/ReplicateText.json                                                     |    2 
 service/refresh-token.ts                                                                                        |    4 
 i18n/ro-RO/dataset-creation.ts                                                                                  |   18 
 app/components/base/icons/src/vender/solid/communication/BubbleTextMod.tsx                                      |   14 
 app/components/workflow/nodes/_base/components/variable/utils.ts                                                |  394 
 app/components/base/icons/src/public/other/DefaultToolIcon.tsx                                                  |   14 
 i18n/pt-BR/tools.ts                                                                                             |    3 
 app/(commonLayout)/app/(appDetailLayout)/[appId]/workflow/page.tsx                                              |    6 
 app/components/base/icons/src/vender/solid/development/Database03.tsx                                           |   14 
 i18n/ru-RU/dataset.ts                                                                                           |   48 
 app/components/app/log/index.tsx                                                                                |   14 
 app/components/base/icons/src/vender/solid/development/ApiConnectionMod.tsx                                     |   14 
 app/components/explore/sidebar/app-nav-item/index.tsx                                                           |   11 
 app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx                                         |   26 
 app/components/tools/edit-custom-collection-modal/get-schema.tsx                                                |   23 
 app/page.module.css                                                                                             |    2 
 app/components/app/workflow-log/index.tsx                                                                       |   37 
 i18n/pl-PL/run-log.ts                                                                                           |    2 
 i18n/tr-TR/custom.ts                                                                                            |    2 
 app/components/datasets/common/document-status-with-action/index-failed.tsx                                     |    3 
 app/components/workflow/nodes/constants.ts                                                                      |   24 
 i18n/uk-UA/tools.ts                                                                                             |    3 
 app/components/base/icons/src/public/files/Pdf.json                                                             |    2 
 app/components/base/icons/src/public/llm/OpenaiTransparent.tsx                                                  |   14 
 hooks/use-tab-searchparams.ts                                                                                   |    3 
 app/components/base/modal/index.tsx                                                                             |   57 
 app/components/base/tag-management/index.tsx                                                                    |   14 
 app/components/base/icons/src/vender/line/layout/Grid01.tsx                                                     |   14 
 i18n/hi-IN/run-log.ts                                                                                           |    2 
 app/components/app/configuration/prompt-value-panel/index.tsx                                                   |   32 
 app/components/workflow/nodes/if-else/use-is-var-file-attribute.ts                                              |    5 
 app/components/app/overview/appChart.tsx                                                                        |   17 
 app/components/billing/usage-info/vector-space-info.tsx                                                         |   10 
 i18n/ko-KR/billing.ts                                                                                           |   82 
 app/components/app/configuration/ctrl-btn-group/style.module.css                                                |    2 
 app/components/workflow/nodes/iteration/panel.tsx                                                               |   51 
 i18n/tr-TR/common.ts                                                                                            |   49 
 app/components/app/app-publisher/suggested-action.tsx                                                           |   12 
 i18n/zh-Hans/custom.ts                                                                                          |    2 
 app/components/header/account-setting/model-provider-page/model-parameter-modal/trigger.tsx                     |   24 
 app/components/base/icons/src/public/tracing/OpikIcon.json                                                      |    2 
 app/components/header/nav/index.tsx                                                                             |   22 
 app/components/app/annotation/empty-element.tsx                                                                 |    8 
 app/components/base/chat/__tests__/utils.spec.ts                                                                |    4 
 app/components/base/icons/src/vender/other/index.ts                                                             |    3 
 i18n/zh-Hant/tools.ts                                                                                           |    3 
 app/components/base/icons/src/public/tracing/TracingIcon.json                                                   |    2 
 i18n/fa-IR/dataset-settings.ts                                                                                  |    2 
 app/components/app/log/list.tsx                                                                                 |   97 
 app/components/base/chat/embedded-chatbot/hooks.tsx                                                             |  149 
 app/components/base/image-uploader/video-preview.tsx                                                            |   11 
 app/components/datasets/create/top-bar/index.tsx                                                                |   22 
 .eslintignore                                                                                                   |    7 
 app/components/tools/utils/to-form-schema.ts                                                                    |   33 
 i18n/uk-UA/custom.ts                                                                                            |    2 
 app/components/workflow/nodes/if-else/components/condition-files-list-value.tsx                                 |   26 
 app/components/workflow/nodes/parameter-extractor/panel.tsx                                                     |   63 
 i18n/sl-SI/dataset-documents.ts                                                                                 |    2 
 app/components/base/icons/src/vender/line/others/BubbleX.tsx                                                    |   14 
 app/components/workflow/nodes/_base/components/memory-config.tsx                                                |   18 
 app/components/base/voice-input/index.module.css                                                                |    2 
 i18n/ja-JP/explore.ts                                                                                           |    1 
 app/components/base/icons/src/vender/solid/shapes/Corner.tsx                                                    |   14 
 i18n/th-TH/app-overview.ts                                                                                      |    2 
 i18n/th-TH/common.ts                                                                                            |   49 
 app/components/datasets/documents/detail/completed/skeleton/parent-chunk-card-skeleton.tsx                      |    8 
 app/components/base/icons/src/vender/line/arrows/RefreshCcw01.tsx                                               |   14 
 app/components/base/features/new-feature-panel/citation.tsx                                                     |    4 
 app/components/workflow/hooks/use-workflow-start-run.tsx                                                        |   91 
 app/components/base/chat/chat/answer/suggested-questions.tsx                                                    |    3 
 app/components/base/icons/src/vender/line/general/Pin01.tsx                                                     |   14 
 app/components/header/account-dropdown/workplace-selector/index.module.css                                      |    2 
 app/components/base/file-uploader/audio-preview.tsx                                                             |   11 
 app/components/workflow/hooks/use-checklist.ts                                                                  |  110 
 app/layout.tsx                                                                                                  |   33 
 .dockerignore                                                                                                   |    2 
 app/components/base/icons/src/vender/solid/arrows/HighPriority.tsx                                              |   14 
 app/components/billing/pricing/plan-item.tsx                                                                    |  304 
 app/components/tools/provider/custom-create-card.tsx                                                            |   22 
 app/components/base/chat/embedded-chatbot/header.tsx                                                            |   56 
 app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsUp.tsx                                        |   14 
 i18n/fa-IR/billing.ts                                                                                           |   82 
 app/account/avatar.tsx                                                                                          |   48 
 app/components/billing/apps-full/index.tsx                                                                      |   27 
 i18n/vi-VN/tools.ts                                                                                             |    3 
 app/components/base/chat/embedded-chatbot/config-panel/index.tsx                                                |  180 
 app/components/base/icons/src/public/llm/Gpt4.json                                                              |    2 
 app/components/base/icons/src/vender/line/general/Edit02.tsx                                                    |   14 
 i18n/ru-RU/dataset-documents.ts                                                                                 |    2 
 app/components/explore/installed-app/index.tsx                                                                  |    2 
 app/components/workflow/nodes/http/components/key-value/key-value-edit/item.tsx                                 |    8 
 app/components/base/icons/src/public/files/Html.json                                                            |    2 
 app/components/base/button/add-button.tsx                                                                       |    4 
 app/components/base/icons/src/public/common/NTo1Retrieval.tsx                                                   |   14 
 app/components/workflow/nodes/list-operator/use-config.ts                                                       |    6 
 app/components/tools/provider/detail.tsx                                                                        |  360 
 app/components/workflow/nodes/list-operator/components/sub-variable-picker.tsx                                  |   26 
 i18n/zh-Hant/dataset.ts                                                                                         |   48 
 app/components/base/icons/src/public/llm/OpenaiBlue.tsx                                                         |   14 
 app/components/base/icons/src/vender/line/others/Apps02.tsx                                                     |   14 
 app/components/billing/usage-info/index.tsx                                                                     |   55 
 models/common.ts                                                                                                |   18 
 app/components/base/icons/src/vender/line/others/Icon3Dots.tsx                                                  |   14 
 app/components/app/annotation/add-annotation-modal/edit-item/index.tsx                                          |    6 
 i18n/en-US/dataset.ts                                                                                           |   48 
 i18n/vi-VN/dataset-settings.ts                                                                                  |    2 
 app/components/datasets/hit-testing/components/score.tsx                                                        |    8 
 app/components/datasets/documents/detail/segment-add/index.tsx                                                  |   47 
 app/components/swr-initor.tsx                                                                                   |   11 
 app/components/base/agent-log-modal/tool-call.tsx                                                               |   24 
 app/components/base/button/index.stories.tsx                                                                    |    2 
 app/components/workflow/nodes/_base/components/error-handle/error-handle-on-node.tsx                            |    4 
 app/components/base/icons/src/vender/solid/mediaAndDevices/index.ts                                             |    3 
 i18n/sl-SI/share-app.ts                                                                                         |    8 
 app/components/base/icons/src/public/tracing/OpikIcon.tsx                                                       |   14 
 utils/var.ts                                                                                                    |   10 
 app/components/app/app-publisher/index.tsx                                                                      |  320 
 app/components/base/drawer-plus/index.tsx                                                                       |   26 
 app/forgot-password/ChangePasswordForm.tsx                                                                      |   39 
 app/components/base/chat/embedded-chatbot/context.tsx                                                           |   33 
 app/components/base/icons/src/public/llm/ZhipuaiTextCn.json                                                     |    2 
 app/components/app/workflow-log/list.tsx                                                                        |   34 
 app/components/base/chat/chat/answer/agent-content.tsx                                                          |    4 
 app/components/app/workflow-log/filter.tsx                                                                      |   31 
 app/components/tools/provider-list.tsx                                                                          |  194 
 1,912 files changed, 39,451 insertions(+), 40,076 deletions(-)

diff --git a/.dockerignore b/.dockerignore
index 31eb66c..45a8922 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -21,4 +21,4 @@
 
 
 # Jetbrains
-.idea
+.idea
\ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..e1d3f0b
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,22 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+# Unix-style newlines with a newline ending every file
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+# Matches multiple files with brace expansion notation
+# Set default charset
+[*.{js,tsx}]
+charset = utf-8
+indent_style = space
+indent_size = 2
+
+
+# Matches the exact files either package.json or .travis.yml
+[{package.json,.travis.yml}]
+indent_style = space
+indent_size = 2
diff --git a/.env.example b/.env.example
index e501df9..e2117dd 100644
--- a/.env.example
+++ b/.env.example
@@ -6,16 +6,10 @@
 # different from api or web app domain.
 # example: http://cloud.dify.ai/console/api
 NEXT_PUBLIC_API_PREFIX=http://localhost:5001/console/api
-NEXT_PUBLIC_WEB_PREFIX=http://localhost:3000
 # The URL for Web APP, refers to the Web App base URL of WEB service if web app domain is different from
 # console or api domain.
 # example: http://udify.app/api
 NEXT_PUBLIC_PUBLIC_API_PREFIX=http://localhost:5001/api
-NEXT_PUBLIC_PUBLIC_WEB_PREFIX=http://localhost:3000
-# The API PREFIX for MARKETPLACE
-NEXT_PUBLIC_MARKETPLACE_API_PREFIX=https://marketplace.dify.ai/api/v1
-# The URL for MARKETPLACE
-NEXT_PUBLIC_MARKETPLACE_URL_PREFIX=https://marketplace.dify.ai
 
 # SENTRY
 NEXT_PUBLIC_SENTRY_DSN=
@@ -31,30 +25,9 @@
 
 # CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
 NEXT_PUBLIC_CSP_WHITELIST=
-# Default is not allow to embed into iframe to prevent Clickjacking: https://owasp.org/www-community/attacks/Clickjacking
-NEXT_PUBLIC_ALLOW_EMBED=
 
-# Github Access Token, used for invoking Github API
-NEXT_PUBLIC_GITHUB_ACCESS_TOKEN=
 # The maximum number of top-k value for RAG.
 NEXT_PUBLIC_TOP_K_MAX_VALUE=10
 
 # The maximum number of tokens for segmentation
 NEXT_PUBLIC_INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000
-
-# Maximum loop count in the workflow
-NEXT_PUBLIC_LOOP_NODE_MAX_COUNT=100
-
-# Maximum number of tools in the agent/workflow
-NEXT_PUBLIC_MAX_TOOLS_NUM=10
-
-# Maximum number of Parallelism branches in the workflow
-NEXT_PUBLIC_MAX_PARALLEL_LIMIT=10
-
-# The maximum number of iterations for agent setting
-NEXT_PUBLIC_MAX_ITERATIONS_NUM=5
-
-NEXT_PUBLIC_ENABLE_WEBSITE_JINAREADER=true
-NEXT_PUBLIC_ENABLE_WEBSITE_FIRECRAWL=true
-NEXT_PUBLIC_ENABLE_WEBSITE_WATERCRAWL=true
-
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..8a8bc38
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,7 @@
+/**/node_modules/*
+node_modules/
+
+dist/
+build/
+out/
+.next/
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..18b6bc6
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,31 @@
+{
+  "extends": [
+    "next",
+    "@antfu",
+    "plugin:storybook/recommended"
+  ],
+  "rules": {
+    "@typescript-eslint/consistent-type-definitions": [
+      "error",
+      "type"
+    ],
+    "@typescript-eslint/no-var-requires": "off",
+    "no-console": "off",
+    "indent": "off",
+    "@typescript-eslint/indent": [
+      "error",
+      2,
+      {
+        "SwitchCase": 1,
+        "flatTernaryExpressions": false,
+        "ignoredNodes": [
+          "PropertyDefinition[decorators]",
+          "TSUnionType",
+          "FunctionExpression[params]:has(Identifier[decorators])"
+        ]
+      }
+    ],
+    "react-hooks/exhaustive-deps": "warn",
+    "react/display-name": "warn"
+  }
+}
diff --git a/.gitignore b/.gitignore
index 048c5f6..cb8fbe7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,11 +44,12 @@
 .pnp.cjs
 .pnp.loader.mjs
 .yarn/
+.yarnrc.yml
+
+# pmpm
+pnpm-lock.yaml
 
 .favorites.json
-
-# storybook
-/storybook-static
 *storybook.log
 
 # mise
diff --git a/.husky/pre-commit b/.husky/pre-commit
index 2ad3922..d9290e1 100644
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,6 @@
-#!/bin/sh
+#!/usr/bin/env bash
+. "$(dirname -- "$0")/_/husky.sh"
+
 # get the list of modified files
 files=$(git diff --cached --name-only)
 
@@ -9,17 +11,13 @@
 
 for file in $files
 do
-    # Use POSIX compliant pattern matching
-    case "$file" in
-        api/*.py)
-            # set api_modified flag to true
-            api_modified=true
-            ;;
-        web/*)
-            # set web_modified flag to true
-            web_modified=true
-            ;;
-    esac
+    if [[ $file == "api/"* && $file == *.py ]]; then
+        # set api_modified flag to true
+        api_modified=true
+    elif [[ $file == "web/"* ]]; then
+        # set web_modified flag to true
+        web_modified=true
+    fi
 done
 
 # run linters based on the modified modules
@@ -27,11 +25,17 @@
 if $api_modified; then
     echo "Running Ruff linter on api module"
 
+    # python style checks rely on `ruff` in path
+    if ! command -v ruff &> /dev/null; then
+        echo "Installing linting tools (Ruff, dotenv-linter ...) ..."
+        poetry install -C api --only lint
+    fi
+
     # run Ruff linter auto-fixing
-    uv run --project api --dev ruff check --fix ./api
+    ruff check --fix ./api
 
     # run Ruff linter checks
-    uv run --project api --dev ruff check  ./api || status=$?
+    ruff check --preview ./api || status=$?
 
     status=${status:-0}
 
@@ -46,7 +50,7 @@
 if $web_modified; then
     echo "Running ESLint on web module"
     cd ./web || exit 1
-    lint-staged
+    npx lint-staged
 
     echo "Running unit tests check"
     modified_files=$(git diff --cached --name-only -- utils | grep -v '\.spec\.ts$' || true)
@@ -59,7 +63,7 @@
             # check if the test file exists
             if [ -f "../$test_file" ]; then
                 echo "Detected changes in $file, running corresponding unit tests..."
-                pnpm run test "../$test_file"
+                npm run test "../$test_file"
 
                 if [ $? -ne 0 ]; then
                     echo "Unit tests failed. Please fix the errors before committing."
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..f589ca3
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/web.iml" filepath="$PROJECT_DIR$/.idea/web.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/web.iml b/.idea/web.iml
new file mode 100644
index 0000000..24643cc
--- /dev/null
+++ b/.idea/web.iml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.tmp" />
+      <excludeFolder url="file://$MODULE_DIR$/temp" />
+      <excludeFolder url="file://$MODULE_DIR$/tmp" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/.storybook/main.ts b/.storybook/main.ts
index fecf774..74e9582 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -1,19 +1,19 @@
 import type { StorybookConfig } from '@storybook/nextjs'
 
 const config: StorybookConfig = {
-  // stories: ['../stories/**/*.mdx', '../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
-  stories: ['../app/components/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
-  addons: [
-    '@storybook/addon-onboarding',
-    '@storybook/addon-links',
-    '@storybook/addon-essentials',
-    '@chromatic-com/storybook',
-    '@storybook/addon-interactions',
-  ],
-  framework: {
-    name: '@storybook/nextjs',
-    options: {},
-  },
-  staticDirs: ['../public'],
+    // stories: ['../stories/**/*.mdx', '../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
+    stories: ['../app/components/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
+    addons: [
+        '@storybook/addon-onboarding',
+        '@storybook/addon-links',
+        '@storybook/addon-essentials',
+        '@chromatic-com/storybook',
+        '@storybook/addon-interactions',
+    ],
+    framework: {
+        name: '@storybook/nextjs',
+        options: {},
+    },
+    staticDirs: ['../public'],
 }
 export default config
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
index 5532860..49cd24e 100644
--- a/.storybook/preview.tsx
+++ b/.storybook/preview.tsx
@@ -1,6 +1,6 @@
 import React from 'react'
 import type { Preview } from '@storybook/react'
-import { withThemeByDataAttribute } from '@storybook/addon-themes'
+import { withThemeByDataAttribute } from '@storybook/addon-themes';
 import I18nServer from '../app/components/i18n-server'
 
 import '../app/styles/globals.css'
@@ -8,30 +8,30 @@
 import './storybook.css'
 
 export const decorators = [
-  withThemeByDataAttribute({
-    themes: {
-      light: 'light',
-      dark: 'dark',
-    },
-    defaultTheme: 'light',
-    attributeName: 'data-theme',
-  }),
-  (Story) => {
-    return <I18nServer>
-      <Story />
-    </I18nServer>
-  },
-]
+    withThemeByDataAttribute({
+      themes: {
+        light: 'light',
+        dark: 'dark',
+      },
+      defaultTheme: 'light',
+      attributeName: 'data-theme',
+    }),
+    Story => {
+      return <I18nServer>
+        <Story />
+      </I18nServer>
+    }
+  ];
 
 const preview: Preview = {
   parameters: {
-    controls: {
-      matchers: {
-        color: /(background|color)$/i,
-        date: /Date$/i,
-      },
+        controls: {
+            matchers: {
+                color: /(background|color)$/i,
+                date: /Date$/i,
+            },
+        },
     },
-  },
 }
 
 export default preview
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index e0e72ce..d7680d7 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,7 +1,6 @@
 {
   "recommendations": [
     "bradlc.vscode-tailwindcss",
-    "firsttris.vscode-jest-runner",
-    "kisstkondoros.vscode-codemetrics"
+    "firsttris.vscode-jest-runner"
   ]
 }
diff --git a/.vscode/settings.example.json b/.vscode/settings.example.json
index ce5c9d6..a2dfe7c 100644
--- a/.vscode/settings.example.json
+++ b/.vscode/settings.example.json
@@ -21,6 +21,5 @@
     "editor.defaultFormatter": "vscode.json-language-features"
   },
   "typescript.tsdk": "node_modules/typescript/lib",
-  "typescript.enablePromptUseWorkspaceTsdk": true,
-  "npm.packageManager": "pnpm"
+  "typescript.enablePromptUseWorkspaceTsdk": true
 }
diff --git a/Dockerfile b/Dockerfile
index dfc5ba8..6c341fa 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,14 +1,11 @@
 # base image
-FROM node:22-alpine3.21 AS base
+FROM node:20-alpine3.20 AS base
 LABEL maintainer="takatost@gmail.com"
 
 # if you located in China, you can use aliyun mirror to speed up
 # RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
 
 RUN apk add --no-cache tzdata
-RUN npm install -g pnpm@10.8.0
-ENV PNPM_HOME="/pnpm"
-ENV PATH="$PNPM_HOME:$PATH"
 
 
 # install packages
@@ -17,12 +14,12 @@
 WORKDIR /app/web
 
 COPY package.json .
-COPY pnpm-lock.yaml .
+COPY yarn.lock .
 
 # if you located in China, you can use taobao registry to speed up
-# RUN pnpm install --frozen-lockfile --registry https://registry.npmmirror.com/
+# RUN yarn install --frozen-lockfile --registry https://registry.npmmirror.com/
 
-RUN pnpm install --frozen-lockfile
+RUN yarn install --frozen-lockfile
 
 # build resources
 FROM base AS builder
@@ -30,8 +27,7 @@
 COPY --from=packages /app/web/ .
 COPY . .
 
-ENV NODE_OPTIONS="--max-old-space-size=4096"
-RUN pnpm build
+RUN yarn build
 
 
 # production stage
@@ -42,11 +38,8 @@
 ENV DEPLOY_ENV=PRODUCTION
 ENV CONSOLE_API_URL=http://127.0.0.1:5001
 ENV APP_API_URL=http://127.0.0.1:5001
-ENV MARKETPLACE_API_URL=https://marketplace.dify.ai
-ENV MARKETPLACE_URL=https://marketplace.dify.ai
 ENV PORT=3000
 ENV NEXT_TELEMETRY_DISABLED=1
-ENV PM2_INSTANCES=2
 
 # set timezone
 ENV TZ=UTC
@@ -59,11 +52,13 @@
 COPY --from=builder /app/web/.next/standalone ./
 COPY --from=builder /app/web/.next/static ./.next/static
 
+COPY docker/pm2.json ./pm2.json
 COPY docker/entrypoint.sh ./entrypoint.sh
 
 
 # global runtime packages
-RUN pnpm add -g pm2 \
+RUN yarn global add pm2 \
+    && yarn cache clean \
     && mkdir /.pm2 \
     && chown -R 1001:0 /.pm2 /app/web \
     && chmod -R g=u /.pm2 /app/web
diff --git a/README.md b/README.md
index ddb1155..ce5239e 100644
--- a/README.md
+++ b/README.md
@@ -6,14 +6,14 @@
 
 ### Run by source code
 
-Before starting the web frontend service, please make sure the following environment is ready.
-- [Node.js](https://nodejs.org) >= v22.11.x
-- [pnpm](https://pnpm.io) v10.x
+To start the web frontend service, you will need [Node.js v18.x (LTS)](https://nodejs.org/en) and [NPM version 8.x.x](https://www.npmjs.com/) or [Yarn](https://yarnpkg.com/).
 
 First, install the dependencies:
 
 ```bash
-pnpm install
+npm install
+# or
+yarn install --frozen-lockfile
 ```
 
 Then, configure the environment variables. Create a file named `.env.local` in the current directory and copy the contents from `.env.example`. Modify the values of these environment variables according to your requirements:
@@ -31,12 +31,10 @@
 # different from api or web app domain.
 # example: http://cloud.dify.ai/console/api
 NEXT_PUBLIC_API_PREFIX=http://localhost:5001/console/api
-NEXT_PUBLIC_WEB_PREFIX=http://localhost:3000
 # The URL for Web APP, refers to the Web App base URL of WEB service if web app domain is different from
 # console or api domain.
 # example: http://udify.app/api
 NEXT_PUBLIC_PUBLIC_API_PREFIX=http://localhost:5001/api
-NEXT_PUBLIC_PUBLIC_WEB_PREFIX=http://localhost:3000
 
 # SENTRY
 NEXT_PUBLIC_SENTRY_DSN=
@@ -45,7 +43,9 @@
 Finally, run the development server:
 
 ```bash
-pnpm run dev
+npm run dev
+# or
+yarn dev
 ```
 
 Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
@@ -59,22 +59,20 @@
 First, build the app for production:
 
 ```bash
-pnpm run build
+npm run build
 ```
 
 Then, start the server:
 
 ```bash
-pnpm run start
+npm run start
 ```
 
 If you want to customize the host and port:
 
 ```bash
-pnpm run start --port=3001 --host=0.0.0.0
+npm run start --port=3001 --host=0.0.0.0
 ```
-
-If you want to customize the number of instances launched by PM2, you can configure `PM2_INSTANCES` in `docker-compose.yaml` or `Dockerfile`.
 
 ## Storybook
 
@@ -83,7 +81,7 @@
 To start the storybook server, run:
 
 ```bash
-pnpm storybook
+yarn storybook
 ```
 
 Open [http://localhost:6006](http://localhost:6006) with your browser to see the result.
@@ -101,7 +99,7 @@
 Run test:
 
 ```bash
-pnpm run test
+npm run test
 ```
 
 If you are not familiar with writing tests, here is some code to refer to:
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/annotations/page.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/annotations/page.tsx"
index 5fb3ff4..0af2e94 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/annotations/page.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/annotations/page.tsx"
@@ -3,7 +3,7 @@
 import { PageType } from '@/app/components/base/features/new-feature-panel/annotation-reply/type'
 
 export type IProps = {
-  params: Promise<{ appId: string }>
+  params: { appId: string }
 }
 
 const Logs = async () => {
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/develop/page.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/develop/page.tsx"
index 415d822..4101120 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/develop/page.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/develop/page.tsx"
@@ -1,18 +1,14 @@
 import React from 'react'
-import type { Locale } from '@/i18n'
+import { type Locale } from '@/i18n'
 import DevelopMain from '@/app/components/develop'
 
 export type IDevelopProps = {
-  params: Promise<{ locale: Locale; appId: string }>
+  params: { locale: Locale; appId: string }
 }
 
-const Develop = async (props: IDevelopProps) => {
-  const params = await props.params
-
-  const {
-    appId,
-  } = params
-
+const Develop = async ({
+  params: { appId },
+}: IDevelopProps) => {
   return <DevelopMain appId={appId} />
 }
 
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/layout.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/layout.tsx"
index 491a046..1d96320 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/layout.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/layout.tsx"
@@ -1,14 +1,174 @@
-import Main from './layout-main'
+'use client'
+import type { FC } from 'react'
+import { useUnmount } from 'ahooks'
+import React, { useCallback, useEffect, useState } from 'react'
+import { usePathname, useRouter } from 'next/navigation'
+import {
+  RiDashboard2Fill,
+  RiDashboard2Line,
+  RiFileList3Fill,
+  RiFileList3Line,
+  RiTerminalBoxFill,
+  RiTerminalBoxLine,
+  RiTerminalWindowFill,
+  RiTerminalWindowLine,
+} from '@remixicon/react'
+import { useTranslation } from 'react-i18next'
+import { useShallow } from 'zustand/react/shallow'
+import { useContextSelector } from 'use-context-selector'
+import s from './style.module.css'
+import cn from '@/utils/classnames'
+import { useStore } from '@/app/components/app/store'
+import AppSideBar from '@/app/components/app-sidebar'
+import type { NavIcon } from '@/app/components/app-sidebar/navLink'
+import { fetchAppDetail, fetchAppSSO } from '@/service/apps'
+import AppContext, { useAppContext } from '@/context/app-context'
+import Loading from '@/app/components/base/loading'
+import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
+import type { App } from '@/types/app'
 
-const AppDetailLayout = async (props: {
+export type IAppDetailLayoutProps = {
   children: React.ReactNode
-  params: Promise<{ appId: string }>
-}) => {
+  params: { appId: string }
+}
+
+const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
   const {
     children,
-    params,
+    params: { appId }, // get appId in path
   } = props
+  const { t } = useTranslation()
+  const router = useRouter()
+  const pathname = usePathname()
+  const media = useBreakpoints()
+  const isMobile = media === MediaType.mobile
+  const { isCurrentWorkspaceEditor, isLoadingCurrentWorkspace } = useAppContext()
+  const { appDetail, setAppDetail, setAppSiderbarExpand } = useStore(useShallow(state => ({
+    appDetail: state.appDetail,
+    setAppDetail: state.setAppDetail,
+    setAppSiderbarExpand: state.setAppSiderbarExpand,
+  })))
+  const [isLoadingAppDetail, setIsLoadingAppDetail] = useState(false)
+  const [appDetailRes, setAppDetailRes] = useState<App | null>(null)
+  const [navigation, setNavigation] = useState<Array<{
+    name: string
+    href: string
+    icon: NavIcon
+    selectedIcon: NavIcon
+  }>>([])
+  const systemFeatures = useContextSelector(AppContext, state => state.systemFeatures)
 
-  return <Main appId={(await params).appId}>{children}</Main>
+  const getNavigations = useCallback((appId: string, isCurrentWorkspaceEditor: boolean, mode: string) => {
+    const navs = [
+      ...(isCurrentWorkspaceEditor
+        ? [{
+          name: t('common.appMenus.promptEng'),
+          href: `/app/${appId}/${(mode === 'workflow' || mode === 'advanced-chat') ? 'workflow' : 'configuration'}`,
+          icon: RiTerminalWindowLine,
+          selectedIcon: RiTerminalWindowFill,
+        }]
+        : []
+      ),
+      {
+        name: t('common.appMenus.apiAccess'),
+        href: `/app/${appId}/develop`,
+        icon: RiTerminalBoxLine,
+        selectedIcon: RiTerminalBoxFill,
+      },
+      ...(isCurrentWorkspaceEditor
+        ? [{
+          name: mode !== 'workflow'
+            ? t('common.appMenus.logAndAnn')
+            : t('common.appMenus.logs'),
+          href: `/app/${appId}/logs`,
+          icon: RiFileList3Line,
+          selectedIcon: RiFileList3Fill,
+        }]
+        : []
+      ),
+      {
+        name: t('common.appMenus.overview'),
+        href: `/app/${appId}/overview`,
+        icon: RiDashboard2Line,
+        selectedIcon: RiDashboard2Fill,
+      },
+    ]
+    return navs
+  }, [t])
+
+  useEffect(() => {
+    if (appDetail) {
+      document.title = `${(appDetail.name || 'App')} - Dify`
+      const localeMode = localStorage.getItem('app-detail-collapse-or-expand') || 'expand'
+      const mode = isMobile ? 'collapse' : 'expand'
+      setAppSiderbarExpand(isMobile ? mode : localeMode)
+      // TODO: consider screen size and mode
+      // if ((appDetail.mode === 'advanced-chat' || appDetail.mode === 'workflow') && (pathname).endsWith('workflow'))
+      //   setAppSiderbarExpand('collapse')
+    }
+  }, [appDetail, isMobile])
+
+  useEffect(() => {
+    setAppDetail()
+    setIsLoadingAppDetail(true)
+    fetchAppDetail({ url: '/apps', id: appId }).then((res) => {
+      setAppDetailRes(res)
+    }).catch((e: any) => {
+      if (e.status === 404)
+        router.replace('/apps')
+    }).finally(() => {
+      setIsLoadingAppDetail(false)
+    })
+  }, [appId, router, setAppDetail])
+
+  useEffect(() => {
+    if (!appDetailRes || isLoadingCurrentWorkspace || isLoadingAppDetail)
+      return
+    const res = appDetailRes
+    // redirection
+    const canIEditApp = isCurrentWorkspaceEditor
+    if (!canIEditApp && (pathname.endsWith('configuration') || pathname.endsWith('workflow') || pathname.endsWith('logs'))) {
+      router.replace(`/app/${appId}/overview`)
+      return
+    }
+    if ((res.mode === 'workflow' || res.mode === 'advanced-chat') && (pathname).endsWith('configuration')) {
+      router.replace(`/app/${appId}/workflow`)
+    }
+    else if ((res.mode !== 'workflow' && res.mode !== 'advanced-chat') && (pathname).endsWith('workflow')) {
+      router.replace(`/app/${appId}/configuration`)
+    }
+    else {
+      setAppDetail({ ...res, enable_sso: false })
+      setNavigation(getNavigations(appId, isCurrentWorkspaceEditor, res.mode))
+      if (systemFeatures.enable_web_sso_switch_component && canIEditApp) {
+        fetchAppSSO({ appId }).then((ssoRes) => {
+          setAppDetail({ ...res, enable_sso: ssoRes.enabled })
+        })
+      }
+    }
+  }, [appDetailRes, appId, getNavigations, isCurrentWorkspaceEditor, isLoadingAppDetail, isLoadingCurrentWorkspace, pathname, router, setAppDetail, systemFeatures.enable_web_sso_switch_component])
+
+  useUnmount(() => {
+    setAppDetail()
+  })
+
+  if (!appDetail) {
+    return (
+      <div className='flex h-full items-center justify-center bg-background-body'>
+        <Loading />
+      </div>
+    )
+  }
+
+  return (
+    <div className={cn(s.app, 'flex', 'overflow-hidden')}>
+      {appDetail && (
+        <AppSideBar title={appDetail.name} icon={appDetail.icon} icon_background={appDetail.icon_background} desc={appDetail.mode} navigation={navigation} />
+      )}
+      <div className="bg-components-panel-bg grow overflow-hidden">
+        {children}
+      </div>
+    </div>
+  )
 }
-export default AppDetailLayout
+export default React.memo(AppDetailLayout)
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/cardView.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/cardView.tsx"
index 79b4594..8f3ee51 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/cardView.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/cardView.tsx"
@@ -24,11 +24,9 @@
 
 export type ICardViewProps = {
   appId: string
-  isInPanel?: boolean
-  className?: string
 }
 
-const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
+const CardView: FC<ICardViewProps> = ({ appId }) => {
   const { t } = useTranslation()
   const { notify } = useContext(ToastContext)
   const appDetail = useAppStore(state => state.appDetail)
@@ -122,11 +120,10 @@
     return <Loading />
 
   return (
-    <div className={className || 'mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'}>
+    <div className="grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6">
       <AppCard
         appInfo={appDetail}
         cardType="webapp"
-        isInPanel={isInPanel}
         onChangeStatus={onChangeSiteStatus}
         onGenerateCode={onGenerateCode}
         onSaveSiteConfig={onSaveSiteConfig}
@@ -134,7 +131,6 @@
       <AppCard
         cardType="api"
         appInfo={appDetail}
-        isInPanel={isInPanel}
         onChangeStatus={onChangeApiStatus}
       />
     </div>
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/chartView.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/chartView.tsx"
index 4afba06..bb1e4fd 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/chartView.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/chartView.tsx"
@@ -46,14 +46,14 @@
 
   return (
     <div>
-      <div className='system-xl-semibold mb-4 mt-8 flex flex-row items-center text-text-primary'>
+      <div className='flex flex-row items-center mt-8 mb-4 text-gray-900 text-base'>
         <span className='mr-3'>{t('appOverview.analysis.title')}</span>
         <SimpleSelect
           items={Object.entries(TIME_PERIOD_MAPPING).map(([k, v]) => ({ value: k, name: t(`appLog.filter.period.${v.name}`) }))}
           className='mt-0 !w-40'
           onSelect={(item) => {
             const id = item.value
-            const value = TIME_PERIOD_MAPPING[id]?.value ?? '-1'
+            const value = TIME_PERIOD_MAPPING[id]?.value || '-1'
             const name = item.name || t('appLog.filter.period.allTime')
             onSelect({ value, name })
           }}
@@ -61,13 +61,13 @@
         />
       </div>
       {!isWorkflow && (
-        <div className='mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'>
+        <div className='grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'>
           <ConversationsChart period={period} id={appId} />
           <EndUsersChart period={period} id={appId} />
         </div>
       )}
       {!isWorkflow && (
-        <div className='mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'>
+        <div className='grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'>
           {isChatApp
             ? (
               <AvgSessionInteractions period={period} id={appId} />
@@ -79,24 +79,24 @@
         </div>
       )}
       {!isWorkflow && (
-        <div className='mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'>
+        <div className='grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'>
           <UserSatisfactionRate period={period} id={appId} />
           <CostChart period={period} id={appId} />
         </div>
       )}
       {!isWorkflow && isChatApp && (
-        <div className='mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'>
+        <div className='grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'>
           <MessagesChart period={period} id={appId} />
         </div>
       )}
       {isWorkflow && (
-        <div className='mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'>
+        <div className='grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'>
           <WorkflowMessagesChart period={period} id={appId} />
           <WorkflowDailyTerminalsChart period={period} id={appId} />
         </div>
       )}
       {isWorkflow && (
-        <div className='mb-6 grid w-full grid-cols-1 gap-6 xl:grid-cols-2'>
+        <div className='grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'>
           <WorkflowCostChart period={period} id={appId} />
           <AvgUserInteractions period={period} id={appId} />
         </div>
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/page.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/page.tsx"
index 0f1bb7e..137c2c3 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/page.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/page.tsx"
@@ -5,18 +5,14 @@
 import ApikeyInfoPanel from '@/app/components/app/overview/apikey-info-panel'
 
 export type IDevelopProps = {
-  params: Promise<{ appId: string }>
+  params: { appId: string }
 }
 
-const Overview = async (props: IDevelopProps) => {
-  const params = await props.params
-
-  const {
-    appId,
-  } = params
-
+const Overview = async ({
+  params: { appId },
+}: IDevelopProps) => {
   return (
-    <div className="h-full overflow-scroll bg-chatbot-bg px-4 py-6 sm:px-12">
+    <div className="h-full px-4 sm:px-16 py-6 overflow-scroll">
       <ApikeyInfoPanel />
       <TracingPanel />
       <CardView appId={appId} />
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-button.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-button.tsx"
index 3d05575..977e3f0 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-button.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-button.tsx"
@@ -1,17 +1,19 @@
 'use client'
 import type { FC } from 'react'
 import React, { useCallback, useEffect, useRef, useState } from 'react'
-import {
-  RiEqualizer2Line,
-} from '@remixicon/react'
+import { useTranslation } from 'react-i18next'
 import type { PopupProps } from './config-popup'
 import ConfigPopup from './config-popup'
 import cn from '@/utils/classnames'
+import Button from '@/app/components/base/button'
+import { Settings04 } from '@/app/components/base/icons/src/vender/line/general'
 import {
   PortalToFollowElem,
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
+
+const I18N_PREFIX = 'app.tracing'
 
 type Props = {
   readOnly: boolean
@@ -26,6 +28,7 @@
   controlShowPopup,
   ...popupProps
 }) => {
+  const { t } = useTranslation()
   const [open, doSetOpen] = useState(false)
   const openRef = useRef(open)
   const setOpen = useCallback((v: boolean) => {
@@ -47,6 +50,21 @@
   if (popupProps.readOnly && !hasConfigured)
     return null
 
+  const triggerContent = hasConfigured
+    ? (
+      <div className={cn(className, 'p-1 rounded-md hover:bg-black/5 cursor-pointer')}>
+        <Settings04 className='w-4 h-4 text-gray-500' />
+      </div>
+    )
+    : (
+      <Button variant='primary'
+        className={cn(className, '!h-8 !px-3 select-none')}
+      >
+        <Settings04 className='mr-1 w-4 h-4' />
+        <span className='text-[13px]'>{t(`${I18N_PREFIX}.config`)}</span>
+      </Button>
+    )
+
   return (
     <PortalToFollowElem
       open={open}
@@ -54,13 +72,11 @@
       placement='bottom-end'
       offset={{
         mainAxis: 12,
-        crossAxis: hasConfigured ? 8 : 49,
+        crossAxis: hasConfigured ? 8 : 0,
       }}
     >
       <PortalToFollowElemTrigger onClick={handleTrigger}>
-        <div className={cn(className, 'rounded-md p-1')}>
-          <RiEqualizer2Line className='h-4 w-4 text-text-tertiary' />
-        </div>
+        {triggerContent}
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[11]'>
         <ConfigPopup {...popupProps} />
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-popup.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-popup.tsx"
index 0efc508..17f46c2 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-popup.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config-popup.tsx"
@@ -5,14 +5,12 @@
 import { useBoolean } from 'ahooks'
 import TracingIcon from './tracing-icon'
 import ProviderPanel from './provider-panel'
-import type { LangFuseConfig, LangSmithConfig, OpikConfig, WeaveConfig } from './type'
+import type { LangFuseConfig, LangSmithConfig, OpikConfig } from './type'
 import { TracingProvider } from './type'
 import ProviderConfigModal from './provider-config-modal'
 import Indicator from '@/app/components/header/indicator'
 import Switch from '@/app/components/base/switch'
 import Tooltip from '@/app/components/base/tooltip'
-import Divider from '@/app/components/base/divider'
-import cn from '@/utils/classnames'
 
 const I18N_PREFIX = 'app.tracing'
 
@@ -26,8 +24,7 @@
   langSmithConfig: LangSmithConfig | null
   langFuseConfig: LangFuseConfig | null
   opikConfig: OpikConfig | null
-  weaveConfig: WeaveConfig | null
-  onConfigUpdated: (provider: TracingProvider, payload: LangSmithConfig | LangFuseConfig | OpikConfig | WeaveConfig) => void
+  onConfigUpdated: (provider: TracingProvider, payload: LangSmithConfig | LangFuseConfig | OpikConfig) => void
   onConfigRemoved: (provider: TracingProvider) => void
 }
 
@@ -41,7 +38,6 @@
   langSmithConfig,
   langFuseConfig,
   opikConfig,
-  weaveConfig,
   onConfigUpdated,
   onConfigRemoved,
 }) => {
@@ -65,7 +61,7 @@
     }
   }, [onChooseProvider])
 
-  const handleConfigUpdated = useCallback((payload: LangSmithConfig | LangFuseConfig | OpikConfig | WeaveConfig) => {
+  const handleConfigUpdated = useCallback((payload: LangSmithConfig | LangFuseConfig | OpikConfig) => {
     onConfigUpdated(currentProvider!, payload)
     hideConfigModal()
   }, [currentProvider, hideConfigModal, onConfigUpdated])
@@ -75,14 +71,15 @@
     hideConfigModal()
   }, [currentProvider, hideConfigModal, onConfigRemoved])
 
-  const providerAllConfigured = langSmithConfig && langFuseConfig && opikConfig && weaveConfig
-  const providerAllNotConfigured = !langSmithConfig && !langFuseConfig && !opikConfig && !weaveConfig
+  const providerAllConfigured = langSmithConfig && langFuseConfig && opikConfig
+  const providerAllNotConfigured = !langSmithConfig && !langFuseConfig && !opikConfig
 
   const switchContent = (
     <Switch
       className='ml-3'
       defaultValue={enabled}
       onChange={onStatusChange}
+      size='l'
       disabled={providerAllNotConfigured}
     />
   )
@@ -125,50 +122,32 @@
     />
   )
 
-  const weavePanel = (
-    <ProviderPanel
-      type={TracingProvider.weave}
-      readOnly={readOnly}
-      config={weaveConfig}
-      hasConfigured={!!weaveConfig}
-      onConfig={handleOnConfig(TracingProvider.weave)}
-      isChosen={chosenProvider === TracingProvider.weave}
-      onChoose={handleOnChoose(TracingProvider.weave)}
-      key="weave-provider-panel"
-    />
-  )
   const configuredProviderPanel = () => {
-    const configuredPanels: JSX.Element[] = []
-
-    if (langFuseConfig)
-      configuredPanels.push(langfusePanel)
+    const configuredPanels: ProviderPanel[] = []
 
     if (langSmithConfig)
       configuredPanels.push(langSmithPanel)
 
+    if (langFuseConfig)
+      configuredPanels.push(langfusePanel)
+
     if (opikConfig)
       configuredPanels.push(opikPanel)
-
-    if (weaveConfig)
-      configuredPanels.push(weavePanel)
 
     return configuredPanels
   }
 
   const moreProviderPanel = () => {
-    const notConfiguredPanels: JSX.Element[] = []
-
-    if (!langFuseConfig)
-      notConfiguredPanels.push(langfusePanel)
+    const notConfiguredPanels: ProviderPanel[] = []
 
     if (!langSmithConfig)
       notConfiguredPanels.push(langSmithPanel)
 
+    if (!langFuseConfig)
+      notConfiguredPanels.push(langfusePanel)
+
     if (!opikConfig)
       notConfiguredPanels.push(opikPanel)
-
-    if (!weaveConfig)
-      notConfiguredPanels.push(weavePanel)
 
     return notConfiguredPanels
   }
@@ -178,21 +157,19 @@
       return langSmithConfig
     if (currentProvider === TracingProvider.langfuse)
       return langFuseConfig
-    if (currentProvider === TracingProvider.opik)
-      return opikConfig
-    return weaveConfig
+    return opikConfig
   }
 
   return (
-    <div className='w-[420px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg p-4 shadow-xl'>
-      <div className='flex items-center justify-between'>
+    <div className='w-[420px] p-4 rounded-2xl bg-white border-[0.5px] border-black/5 shadow-lg'>
+      <div className='flex justify-between items-center'>
         <div className='flex items-center'>
           <TracingIcon size='md' className='mr-2' />
-          <div className='title-2xl-semi-bold text-text-primary'>{t(`${I18N_PREFIX}.tracing`)}</div>
+          <div className='leading-[120%] text-[18px] font-semibold text-gray-900'>{t(`${I18N_PREFIX}.tracing`)}</div>
         </div>
         <div className='flex items-center'>
           <Indicator color={enabled ? 'green' : 'gray'} />
-          <div className={cn('system-xs-semibold-uppercase ml-1 text-text-tertiary', enabled && 'text-util-colors-green-green-600')}>
+          <div className='ml-1.5 text-xs font-semibold text-gray-500 uppercase'>
             {t(`${I18N_PREFIX}.${enabled ? 'enabled' : 'disabled'}`)}
           </div>
           {!readOnly && (
@@ -208,33 +185,33 @@
                 : switchContent}
             </>
           )}
+
         </div>
       </div>
 
-      <div className='system-xs-regular mt-2 text-text-tertiary'>
+      <div className='mt-2 leading-4 text-xs font-normal text-gray-500'>
         {t(`${I18N_PREFIX}.tracingDescription`)}
       </div>
-      <Divider className='my-3' />
-      <div className='relative'>
+      <div className='mt-3 h-px bg-gray-100'></div>
+      <div className='mt-3'>
         {(providerAllConfigured || providerAllNotConfigured)
           ? (
             <>
-              <div className='system-xs-medium-uppercase text-text-tertiary'>{t(`${I18N_PREFIX}.configProviderTitle.${providerAllConfigured ? 'configured' : 'notConfigured'}`)}</div>
+              <div className='leading-4 text-xs font-medium text-gray-500 uppercase'>{t(`${I18N_PREFIX}.configProviderTitle.${providerAllConfigured ? 'configured' : 'notConfigured'}`)}</div>
               <div className='mt-2 space-y-2'>
-                {langfusePanel}
                 {langSmithPanel}
+                {langfusePanel}
                 {opikPanel}
-                {weavePanel}
               </div>
             </>
           )
           : (
             <>
-              <div className='system-xs-medium-uppercase text-text-tertiary'>{t(`${I18N_PREFIX}.configProviderTitle.configured`)}</div>
+              <div className='leading-4 text-xs font-medium text-gray-500 uppercase'>{t(`${I18N_PREFIX}.configProviderTitle.configured`)}</div>
               <div className='mt-2 space-y-2'>
                 {configuredProviderPanel()}
               </div>
-              <div className='system-xs-medium-uppercase mt-3 text-text-tertiary'>{t(`${I18N_PREFIX}.configProviderTitle.moreProvider`)}</div>
+              <div className='mt-3 leading-4 text-xs font-medium text-gray-500 uppercase'>{t(`${I18N_PREFIX}.configProviderTitle.moreProvider`)}</div>
               <div className='mt-2 space-y-2'>
                 {moreProviderPanel()}
               </div>
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config.ts" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config.ts"
index 5d3c407..0f3f280 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config.ts"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/config.ts"
@@ -4,5 +4,4 @@
   [TracingProvider.langSmith]: 'https://docs.smith.langchain.com/',
   [TracingProvider.langfuse]: 'https://docs.langfuse.com',
   [TracingProvider.opik]: 'https://www.comet.com/docs/opik/tracing/integrations/dify#setup-instructions',
-  [TracingProvider.weave]: 'https://weave-docs.wandb.ai/',
 }
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/field.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/field.tsx"
index eecd356..87c8494 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/field.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/field.tsx"
@@ -26,7 +26,7 @@
   return (
     <div className={cn(className)}>
       <div className='flex py-[7px]'>
-        <div className={cn(labelClassName, 'flex h-[18px] items-center text-[13px] font-medium text-text-primary')}>{label} </div>
+        <div className={cn(labelClassName, 'flex items-center h-[18px] text-[13px] font-medium text-gray-900')}>{label} </div>
         {isRequired && <span className='ml-0.5 text-xs font-semibold text-[#D92D20]'>*</span>}
       </div>
       <Input
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx"
index 8575117..b62bb1d 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/panel.tsx"
@@ -1,25 +1,21 @@
 'use client'
 import type { FC } from 'react'
 import React, { useCallback, useEffect, useState } from 'react'
-import {
-  RiArrowDownDoubleLine,
-} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { usePathname } from 'next/navigation'
 import { useBoolean } from 'ahooks'
-import type { LangFuseConfig, LangSmithConfig, OpikConfig, WeaveConfig } from './type'
+import type { LangFuseConfig, LangSmithConfig } from './type'
 import { TracingProvider } from './type'
 import TracingIcon from './tracing-icon'
 import ConfigButton from './config-button'
 import cn from '@/utils/classnames'
-import { LangfuseIcon, LangsmithIcon, OpikIcon, WeaveIcon } from '@/app/components/base/icons/src/public/tracing'
+import { LangfuseIcon, LangsmithIcon, OpikIcon } from '@/app/components/base/icons/src/public/tracing'
 import Indicator from '@/app/components/header/indicator'
 import { fetchTracingConfig as doFetchTracingConfig, fetchTracingStatus, updateTracingStatus } from '@/service/apps'
 import type { TracingStatus } from '@/models/app'
 import Toast from '@/app/components/base/toast'
 import { useAppContext } from '@/context/app-context'
 import Loading from '@/app/components/base/loading'
-import Divider from '@/app/components/base/divider'
 
 const I18N_PREFIX = 'app.tracing'
 
@@ -31,7 +27,7 @@
   const { t } = useTranslation()
 
   return (
-    <div className={cn('system-xl-semibold flex items-center text-text-primary', className)}>
+    <div className={cn(className, 'flex items-center text-lg font-semibold text-gray-900')}>
       {t('common.appMenus.overview')}
     </div>
   )
@@ -82,15 +78,12 @@
         ? LangfuseIcon
         : inUseTracingProvider === TracingProvider.opik
           ? OpikIcon
-          : inUseTracingProvider === TracingProvider.weave
-            ? WeaveIcon
-            : LangsmithIcon
+          : null
 
   const [langSmithConfig, setLangSmithConfig] = useState<LangSmithConfig | null>(null)
   const [langFuseConfig, setLangFuseConfig] = useState<LangFuseConfig | null>(null)
   const [opikConfig, setOpikConfig] = useState<OpikConfig | null>(null)
-  const [weaveConfig, setWeaveConfig] = useState<WeaveConfig | null>(null)
-  const hasConfiguredTracing = !!(langSmithConfig || langFuseConfig || opikConfig || weaveConfig)
+  const hasConfiguredTracing = !!(langSmithConfig || langFuseConfig || opikConfig)
 
   const fetchTracingConfig = async () => {
     const { tracing_config: langSmithConfig, has_not_configured: langSmithHasNotConfig } = await doFetchTracingConfig({ appId, provider: TracingProvider.langSmith })
@@ -102,9 +95,6 @@
     const { tracing_config: opikConfig, has_not_configured: OpikHasNotConfig } = await doFetchTracingConfig({ appId, provider: TracingProvider.opik })
     if (!OpikHasNotConfig)
       setOpikConfig(opikConfig as OpikConfig)
-    const { tracing_config: weaveConfig, has_not_configured: weaveHasNotConfig } = await doFetchTracingConfig({ appId, provider: TracingProvider.weave })
-    if (!weaveHasNotConfig)
-      setWeaveConfig(weaveConfig as WeaveConfig)
   }
 
   const handleTracingConfigUpdated = async (provider: TracingProvider) => {
@@ -112,23 +102,19 @@
     const { tracing_config } = await doFetchTracingConfig({ appId, provider })
     if (provider === TracingProvider.langSmith)
       setLangSmithConfig(tracing_config as LangSmithConfig)
-    else if (provider === TracingProvider.langfuse)
+    else if (provider === TracingProvider.langSmith)
       setLangFuseConfig(tracing_config as LangFuseConfig)
     else if (provider === TracingProvider.opik)
       setOpikConfig(tracing_config as OpikConfig)
-    else if (provider === TracingProvider.weave)
-      setWeaveConfig(tracing_config as WeaveConfig)
   }
 
   const handleTracingConfigRemoved = (provider: TracingProvider) => {
     if (provider === TracingProvider.langSmith)
       setLangSmithConfig(null)
-    else if (provider === TracingProvider.langfuse)
+    else if (provider === TracingProvider.langSmith)
       setLangFuseConfig(null)
     else if (provider === TracingProvider.opik)
       setOpikConfig(null)
-    else if (provider === TracingProvider.weave)
-      setWeaveConfig(null)
     if (provider === inUseTracingProvider) {
       handleTracingStatusChange({
         enabled: false,
@@ -153,7 +139,7 @@
   }, [setControlShowPopup])
   if (!isLoaded) {
     return (
-      <div className='mb-3 flex items-center justify-between'>
+      <div className='flex items-center justify-between mb-3'>
         <Title className='h-[41px]' />
         <div className='w-[200px]'>
           <Loading />
@@ -163,76 +149,48 @@
   }
 
   return (
-    <div className={cn('mb-3 flex items-center justify-between')}>
+    <div className={cn('mb-3 flex justify-between items-center')}>
       <Title className='h-[41px]' />
-      <div
-        className={cn(
-          'flex cursor-pointer items-center rounded-xl border-l-[0.5px] border-t border-effects-highlight bg-background-default-dodge p-2 shadow-xs hover:border-effects-highlight-lightmode-off hover:bg-background-default-lighter',
-          controlShowPopup && 'border-effects-highlight-lightmode-off bg-background-default-lighter',
-        )}
-        onClick={showPopup}
-      >
-        {!inUseTracingProvider && (
-          <>
-            <TracingIcon size='md' />
-            <div className='system-sm-semibold mx-2 text-text-secondary'>{t(`${I18N_PREFIX}.title`)}</div>
-            <div className='flex items-center' onClick={e => e.stopPropagation()}>
-              <ConfigButton
-                appId={appId}
-                readOnly={readOnly}
-                hasConfigured={false}
-                enabled={enabled}
-                onStatusChange={handleTracingEnabledChange}
-                chosenProvider={inUseTracingProvider}
-                onChooseProvider={handleChooseProvider}
-                langSmithConfig={langSmithConfig}
-                langFuseConfig={langFuseConfig}
-                opikConfig={opikConfig}
-                weaveConfig={weaveConfig}
-                onConfigUpdated={handleTracingConfigUpdated}
-                onConfigRemoved={handleTracingConfigRemoved}
-                controlShowPopup={controlShowPopup}
-              />
-            </div>
-            <Divider type='vertical' className='h-3.5' />
-            <div className='rounded-md p-1'>
-              <RiArrowDownDoubleLine className='h-4 w-4 text-text-tertiary' />
-            </div>
+      <div className='flex items-center p-2 rounded-xl border-[0.5px] border-gray-200 shadow-xs cursor-pointer hover:bg-gray-100' onClick={showPopup}>
+        {!inUseTracingProvider
+          ? <>
+            <TracingIcon size='md' className='mr-2' />
+            <div className='leading-5 text-sm font-semibold text-gray-700'>{t(`${I18N_PREFIX}.title`)}</div>
           </>
-        )}
+          : <InUseProviderIcon className='ml-1 h-4' />}
+
         {hasConfiguredTracing && (
-          <>
-            <div className='ml-4 mr-1 flex items-center'>
-              <Indicator color={enabled ? 'green' : 'gray'} />
-              <div className='system-xs-semibold-uppercase ml-1.5 text-text-tertiary'>
-                {t(`${I18N_PREFIX}.${enabled ? 'enabled' : 'disabled'}`)}
-              </div>
+          <div className='ml-4 mr-1 flex items-center'>
+            <Indicator color={enabled ? 'green' : 'gray'} />
+            <div className='ml-1.5 text-xs font-semibold text-gray-500 uppercase'>
+              {t(`${I18N_PREFIX}.${enabled ? 'enabled' : 'disabled'}`)}
             </div>
-            {InUseProviderIcon && <InUseProviderIcon className='ml-1 h-4' />}
-            <Divider type='vertical' className='h-3.5' />
-            <div className='flex items-center' onClick={e => e.stopPropagation()}>
-              <ConfigButton
-                appId={appId}
-                readOnly={readOnly}
-                hasConfigured
-                className='ml-2'
-                enabled={enabled}
-                onStatusChange={handleTracingEnabledChange}
-                chosenProvider={inUseTracingProvider}
-                onChooseProvider={handleChooseProvider}
-                langSmithConfig={langSmithConfig}
-                langFuseConfig={langFuseConfig}
-                opikConfig={opikConfig}
-                weaveConfig={weaveConfig}
-                onConfigUpdated={handleTracingConfigUpdated}
-                onConfigRemoved={handleTracingConfigRemoved}
-                controlShowPopup={controlShowPopup}
-              />
-            </div>
-          </>
+          </div>
         )}
-      </div >
-    </div >
+
+        {hasConfiguredTracing && (
+          <div className='ml-2 w-px h-3.5 bg-gray-200'></div>
+        )}
+        <div className='flex items-center' onClick={e => e.stopPropagation()}>
+          <ConfigButton
+            appId={appId}
+            readOnly={readOnly}
+            hasConfigured
+            className='ml-2'
+            enabled={enabled}
+            onStatusChange={handleTracingEnabledChange}
+            chosenProvider={inUseTracingProvider}
+            onChooseProvider={handleChooseProvider}
+            langSmithConfig={langSmithConfig}
+            langFuseConfig={langFuseConfig}
+            opikConfig={opikConfig}
+            onConfigUpdated={handleTracingConfigUpdated}
+            onConfigRemoved={handleTracingConfigRemoved}
+            controlShowPopup={controlShowPopup}
+          />
+        </div>
+      </div>
+    </div>
   )
 }
 export default React.memo(Panel)
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-config-modal.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-config-modal.tsx"
index c0b52a9..b813e9b 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-config-modal.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-config-modal.tsx"
@@ -4,7 +4,7 @@
 import { useTranslation } from 'react-i18next'
 import { useBoolean } from 'ahooks'
 import Field from './field'
-import type { LangFuseConfig, LangSmithConfig, OpikConfig, WeaveConfig } from './type'
+import type { LangFuseConfig, LangSmithConfig, OpikConfig } from './type'
 import { TracingProvider } from './type'
 import { docURL } from './config'
 import {
@@ -17,15 +17,14 @@
 import Confirm from '@/app/components/base/confirm'
 import { addTracingConfig, removeTracingConfig, updateTracingConfig } from '@/service/apps'
 import Toast from '@/app/components/base/toast'
-import Divider from '@/app/components/base/divider'
 
 type Props = {
   appId: string
   type: TracingProvider
-  payload?: LangSmithConfig | LangFuseConfig | OpikConfig | WeaveConfig | null
+  payload?: LangSmithConfig | LangFuseConfig | OpikConfig | null
   onRemoved: () => void
   onCancel: () => void
-  onSaved: (payload: LangSmithConfig | LangFuseConfig | OpikConfig | WeaveConfig) => void
+  onSaved: (payload: LangSmithConfig | LangFuseConfig | OpikConfig) => void
   onChosen: (provider: TracingProvider) => void
 }
 
@@ -50,13 +49,6 @@
   workspace: '',
 }
 
-const weaveConfigTemplate = {
-  api_key: '',
-  entity: '',
-  project: '',
-  endpoint: '',
-}
-
 const ProviderConfigModal: FC<Props> = ({
   appId,
   type,
@@ -70,7 +62,7 @@
   const isEdit = !!payload
   const isAdd = !isEdit
   const [isSaving, setIsSaving] = useState(false)
-  const [config, setConfig] = useState<LangSmithConfig | LangFuseConfig | OpikConfig | WeaveConfig>((() => {
+  const [config, setConfig] = useState<LangSmithConfig | LangFuseConfig | OpikConfig>((() => {
     if (isEdit)
       return payload
 
@@ -80,10 +72,7 @@
     else if (type === TracingProvider.langfuse)
       return langFuseConfigTemplate
 
-    else if (type === TracingProvider.opik)
-      return opikConfigTemplate
-
-    return weaveConfigTemplate
+    return opikConfigTemplate
   })())
   const [isShowRemoveConfirm, {
     setTrue: showRemoveConfirm,
@@ -133,16 +122,7 @@
     }
 
     if (type === TracingProvider.opik) {
-      // todo: check field validity
-      // const postData = config as OpikConfig
-    }
-
-    if (type === TracingProvider.weave) {
-      const postData = config as WeaveConfig
-      if (!errorMessage && !postData.api_key)
-        errorMessage = t('common.errorMsg.fieldRequired', { field: 'API Key' })
-      if (!errorMessage && !postData.project)
-        errorMessage = t('common.errorMsg.fieldRequired', { field: t(`${I18N_PREFIX}.project`) })
+      const postData = config as OpikConfig
     }
 
     return errorMessage
@@ -185,49 +165,15 @@
       {!isShowRemoveConfirm
         ? (
           <PortalToFollowElem open>
-            <PortalToFollowElemContent className='z-[60] h-full w-full'>
-              <div className='fixed inset-0 flex items-center justify-center bg-background-overlay'>
-                <div className='mx-2 max-h-[calc(100vh-120px)] w-[640px] overflow-y-auto rounded-2xl bg-components-panel-bg shadow-xl'>
+            <PortalToFollowElemContent className='w-full h-full z-[60]'>
+              <div className='fixed inset-0 flex items-center justify-center bg-black/[.25]'>
+                <div className='mx-2 w-[640px] max-h-[calc(100vh-120px)] bg-white shadow-xl rounded-2xl overflow-y-auto'>
                   <div className='px-8 pt-8'>
-                    <div className='mb-4 flex items-center justify-between'>
-                      <div className='title-2xl-semi-bold text-text-primary'>{t(`${I18N_PREFIX}.title`)}{t(`app.tracing.${type}.title`)}</div>
+                    <div className='flex justify-between items-center mb-4'>
+                      <div className='text-xl font-semibold text-gray-900'>{t(`${I18N_PREFIX}.title`)}{t(`app.tracing.${type}.title`)}</div>
                     </div>
 
                     <div className='space-y-4'>
-                      {type === TracingProvider.weave && (
-                        <>
-                          <Field
-                            label='API Key'
-                            labelClassName='!text-sm'
-                            isRequired
-                            value={(config as WeaveConfig).api_key}
-                            onChange={handleConfigChange('api_key')}
-                            placeholder={t(`${I18N_PREFIX}.placeholder`, { key: 'API Key' })!}
-                          />
-                          <Field
-                            label={t(`${I18N_PREFIX}.project`)!}
-                            labelClassName='!text-sm'
-                            isRequired
-                            value={(config as WeaveConfig).project}
-                            onChange={handleConfigChange('project')}
-                            placeholder={t(`${I18N_PREFIX}.placeholder`, { key: t(`${I18N_PREFIX}.project`) })!}
-                          />
-                          <Field
-                            label='Entity'
-                            labelClassName='!text-sm'
-                            value={(config as WeaveConfig).entity}
-                            onChange={handleConfigChange('entity')}
-                            placeholder={t(`${I18N_PREFIX}.placeholder`, { key: 'Entity' })!}
-                          />
-                          <Field
-                            label='Endpoint'
-                            labelClassName='!text-sm'
-                            value={(config as WeaveConfig).endpoint}
-                            onChange={handleConfigChange('endpoint')}
-                            placeholder={'https://trace.wandb.ai/'}
-                          />
-                        </>
-                      )}
                       {type === TracingProvider.langSmith && (
                         <>
                           <Field
@@ -315,30 +261,31 @@
                           />
                         </>
                       )}
+
                     </div>
-                    <div className='my-8 flex h-8 items-center justify-between'>
+                    <div className='my-8 flex justify-between items-center h-8'>
                       <a
-                        className='flex items-center space-x-1 text-xs font-normal leading-[18px] text-[#155EEF]'
+                        className='flex items-center space-x-1 leading-[18px] text-xs font-normal text-[#155EEF]'
                         target='_blank'
                         href={docURL[type]}
                       >
                         <span>{t(`${I18N_PREFIX}.viewDocsLink`, { key: t(`app.tracing.${type}.title`) })}</span>
-                        <LinkExternal02 className='h-3 w-3' />
+                        <LinkExternal02 className='w-3 h-3' />
                       </a>
                       <div className='flex items-center'>
                         {isEdit && (
                           <>
                             <Button
-                              className='h-9 text-sm font-medium text-text-secondary'
+                              className='h-9 text-sm font-medium text-gray-700'
                               onClick={showRemoveConfirm}
                             >
                               <span className='text-[#D92D20]'>{t('common.operation.remove')}</span>
                             </Button>
-                            <Divider className='mx-3 h-[18px]' />
+                            <div className='mx-3 w-px h-[18px] bg-gray-200'></div>
                           </>
                         )}
                         <Button
-                          className='mr-2 h-9 text-sm font-medium text-text-secondary'
+                          className='mr-2 h-9 text-sm font-medium text-gray-700'
                           onClick={onCancel}
                         >
                           {t('common.operation.cancel')}
@@ -355,12 +302,12 @@
 
                     </div>
                   </div>
-                  <div className='border-t-[0.5px] border-divider-regular'>
-                    <div className='flex items-center justify-center bg-background-section-burn py-3 text-xs text-text-tertiary'>
-                      <Lock01 className='mr-1 h-3 w-3 text-text-tertiary' />
+                  <div className='border-t-[0.5px] border-t-black/5'>
+                    <div className='flex justify-center items-center py-3 bg-gray-50 text-xs text-gray-500'>
+                      <Lock01 className='mr-1 w-3 h-3 text-gray-500' />
                       {t('common.modelProvider.encrypted.front')}
                       <a
-                        className='mx-1 text-primary-600'
+                        className='text-primary-600 mx-1'
                         target='_blank' rel='noopener noreferrer'
                         href='https://pycryptodome.readthedocs.io/en/latest/src/cipher/oaep.html'
                       >
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-panel.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-panel.tsx"
index bdccc50..34e5bbe 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-panel.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/provider-panel.tsx"
@@ -1,13 +1,11 @@
 'use client'
 import type { FC } from 'react'
 import React, { useCallback } from 'react'
-import {
-  RiEqualizer2Line,
-} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { TracingProvider } from './type'
 import cn from '@/utils/classnames'
-import { LangfuseIconBig, LangsmithIconBig, OpikIconBig, WeaveIconBig } from '@/app/components/base/icons/src/public/tracing'
+import { LangfuseIconBig, LangsmithIconBig, OpikIconBig } from '@/app/components/base/icons/src/public/tracing'
+import { Settings04 } from '@/app/components/base/icons/src/vender/line/general'
 import { Eye as View } from '@/app/components/base/icons/src/vender/solid/general'
 
 const I18N_PREFIX = 'app.tracing'
@@ -27,7 +25,6 @@
     [TracingProvider.langSmith]: LangsmithIconBig,
     [TracingProvider.langfuse]: LangfuseIconBig,
     [TracingProvider.opik]: OpikIconBig,
-    [TracingProvider.weave]: WeaveIconBig,
   })[type]
 }
 
@@ -65,37 +62,34 @@
   }, [hasConfigured, isChosen, onChoose, readOnly])
   return (
     <div
-      className={cn(
-        'rounded-xl border-[1.5px] bg-background-section-burn px-4 py-3',
-        isChosen ? 'border-components-option-card-option-selected-border bg-background-section' : 'border-transparent',
-        !isChosen && hasConfigured && !readOnly && 'cursor-pointer',
-      )}
+      className={cn(isChosen ? 'border-primary-400' : 'border-transparent', !isChosen && hasConfigured && !readOnly && 'cursor-pointer', 'px-4 py-3 rounded-xl border-[1.5px]  bg-gray-100')}
       onClick={handleChosen}
     >
-      <div className={'flex items-center justify-between space-x-1'}>
+      <div className={'flex justify-between items-center space-x-1'}>
         <div className='flex items-center'>
           <Icon className='h-6' />
-          {isChosen && <div className='system-2xs-medium-uppercase ml-1 flex h-4 items-center rounded-[4px] border border-text-accent-secondary px-1 text-text-accent-secondary'>{t(`${I18N_PREFIX}.inUse`)}</div>}
+          {isChosen && <div className='ml-1 flex items-center h-4  px-1 rounded-[4px] border border-primary-500 leading-4 text-xs font-medium text-primary-500 uppercase '>{t(`${I18N_PREFIX}.inUse`)}</div>}
         </div>
         {!readOnly && (
-          <div className={'flex items-center justify-between space-x-1'}>
+          <div className={'flex justify-between items-center space-x-1'}>
             {hasConfigured && (
-              <div className='flex h-6 cursor-pointer items-center space-x-1 rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-2 text-text-secondary shadow-xs' onClick={viewBtnClick} >
-                <View className='h-3 w-3' />
+              <div className='flex px-2 items-center h-6 bg-white rounded-md border-[0.5px] border-gray-200 shadow-xs cursor-pointer text-gray-700 space-x-1' onClick={viewBtnClick} >
+                <View className='w-3 h-3'/>
                 <div className='text-xs font-medium'>{t(`${I18N_PREFIX}.view`)}</div>
               </div>
             )}
             <div
-              className='flex h-6 cursor-pointer items-center space-x-1 rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-2 text-text-secondary shadow-xs'
+              className='flex px-2 items-center h-6 bg-white rounded-md border-[0.5px] border-gray-200 shadow-xs cursor-pointer text-gray-700 space-x-1'
               onClick={handleConfigBtnClick}
             >
-              <RiEqualizer2Line className='h-3 w-3' />
+              <Settings04 className='w-3 h-3' />
               <div className='text-xs font-medium'>{t(`${I18N_PREFIX}.config`)}</div>
             </div>
           </div>
         )}
+
       </div>
-      <div className='system-xs-regular mt-2 text-text-tertiary'>
+      <div className='mt-2 leading-4 text-xs font-normal text-gray-500'>
         {t(`${I18N_PREFIX}.${type}.description`)}
       </div>
     </div>
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/toggle-fold-btn.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/toggle-fold-btn.tsx"
new file mode 100644
index 0000000..934eb68
--- /dev/null
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/toggle-fold-btn.tsx"
@@ -0,0 +1,45 @@
+'use client'
+import { ChevronDoubleDownIcon } from '@heroicons/react/20/solid'
+import type { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+import React, { useCallback } from 'react'
+import Tooltip from '@/app/components/base/tooltip'
+
+const I18N_PREFIX = 'app.tracing'
+
+type Props = {
+  isFold: boolean
+  onFoldChange: (isFold: boolean) => void
+}
+
+const ToggleFoldBtn: FC<Props> = ({
+  isFold,
+  onFoldChange,
+}) => {
+  const { t } = useTranslation()
+
+  const handleFoldChange = useCallback((e: React.MouseEvent<HTMLDivElement>) => {
+    e.stopPropagation()
+    onFoldChange(!isFold)
+  }, [isFold, onFoldChange])
+  return (
+    // text-[0px] to hide spacing between tooltip elements
+    <div className='shrink-0 cursor-pointer text-[0px]' onClick={handleFoldChange}>
+      <Tooltip
+        popupContent={t(`${I18N_PREFIX}.${isFold ? 'expand' : 'collapse'}`)}
+      >
+        {isFold && (
+          <div className='p-1 rounded-md text-gray-500 hover:text-gray-800 hover:bg-black/5'>
+            <ChevronDoubleDownIcon className='w-4 h-4' />
+          </div>
+        )}
+        {!isFold && (
+          <div className='p-2 rounded-lg text-gray-500 border-[0.5px] border-gray-200 hover:text-gray-800 hover:bg-black/5'>
+            <ChevronDoubleDownIcon className='w-4 h-4 transform rotate-180' />
+          </div>
+        )}
+      </Tooltip>
+    </div>
+  )
+}
+export default React.memo(ToggleFoldBtn)
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/tracing-icon.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/tracing-icon.tsx"
index ec9117d..0f51671 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/tracing-icon.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/tracing-icon.tsx"
@@ -21,7 +21,7 @@
   const sizeClass = sizeClassMap[size]
   return (
     <div className={cn(className, sizeClass, 'bg-primary-500 shadow-md')}>
-      <Icon className='h-full w-full' />
+      <Icon className='w-full h-full' />
     </div>
   )
 }
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/type.ts" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/type.ts"
index 386c589..982d01f 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/type.ts"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/overview/tracing/type.ts"
@@ -2,7 +2,6 @@
   langSmith = 'langsmith',
   langfuse = 'langfuse',
   opik = 'opik',
-  weave = 'weave',
 }
 
 export type LangSmithConfig = {
@@ -22,11 +21,4 @@
   project: string
   workspace: string
   url: string
-}
-
-export type WeaveConfig = {
-  api_key: string
-  entity: string
-  project: string
-  endpoint: string
 }
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/style.module.css" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/style.module.css"
index 45c7d19..16392a5 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/style.module.css"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/style.module.css"
@@ -3,4 +3,4 @@
     height: 0;
     border-radius: 16px 16px 0px 0px;
     box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.05), 0px 0px 2px -1px rgba(0, 0, 0, 0.03);
-}
+}
\ No newline at end of file
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/workflow/page.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/workflow/page.tsx"
index d5df70f..1d26e65 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/workflow/page.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/\133appId\135/workflow/page.tsx"
@@ -1,11 +1,11 @@
 'use client'
 
-import WorkflowApp from '@/app/components/workflow-app'
+import Workflow from '@/app/components/workflow'
 
 const Page = () => {
   return (
-    <div className='h-full w-full overflow-x-auto'>
-      <WorkflowApp />
+    <div className='w-full h-full overflow-x-auto'>
+      <Workflow />
     </div>
   )
 }
diff --git "a/app/\050commonLayout\051/app/\050appDetailLayout\051/layout.tsx" "b/app/\050commonLayout\051/app/\050appDetailLayout\051/layout.tsx"
index dda198f..211b0b3 100644
--- "a/app/\050commonLayout\051/app/\050appDetailLayout\051/layout.tsx"
+++ "b/app/\050commonLayout\051/app/\050appDetailLayout\051/layout.tsx"
@@ -15,7 +15,6 @@
   useEffect(() => {
     if (isCurrentWorkspaceDatasetOperator)
       return router.replace('/datasets')
-  // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [isCurrentWorkspaceDatasetOperator])
 
   return (
diff --git "a/app/\050commonLayout\051/apps/AppCard.tsx" "b/app/\050commonLayout\051/apps/AppCard.tsx"
index c2ad1f1..dabe75e 100644
--- "a/app/\050commonLayout\051/apps/AppCard.tsx"
+++ "b/app/\050commonLayout\051/apps/AppCard.tsx"
@@ -5,6 +5,8 @@
 import { useCallback, useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { RiMoreFill } from '@remixicon/react'
+import s from './style.module.css'
+import cn from '@/utils/classnames'
 import type { App } from '@/types/app'
 import Confirm from '@/app/components/base/confirm'
 import Toast, { ToastContext } from '@/app/components/base/toast'
@@ -16,7 +18,6 @@
 import type { HtmlContentProps } from '@/app/components/base/popover'
 import CustomPopover from '@/app/components/base/popover'
 import Divider from '@/app/components/base/divider'
-import { WEB_PREFIX } from '@/config'
 import { getRedirection } from '@/utils/app-redirection'
 import { useProviderContext } from '@/context/provider-context'
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
@@ -30,7 +31,6 @@
 import { fetchWorkflowDraft } from '@/service/workflow'
 import { fetchInstalledAppList } from '@/service/explore'
 import { AppTypeIcon } from '@/app/components/app/type-selector'
-import cn from '@/utils/classnames'
 
 export type AppCardProps = {
   app: App
@@ -71,7 +71,6 @@
       })
     }
     setShowConfirmDelete(false)
-  // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [app.id])
 
   const onEdit: CreateAppModalProps['onConfirm'] = useCallback(async ({
@@ -101,7 +100,7 @@
         onRefresh()
       mutateApps()
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.editFailed') })
     }
   }, [app.id, mutateApps, notify, onRefresh, t])
@@ -128,7 +127,7 @@
       onPlanInfoChanged()
       getRedirection(isCurrentWorkspaceEditor, newApp, push)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
   }
@@ -145,7 +144,7 @@
       a.download = `${app.name}.yml`
       a.click()
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.exportFailed') })
     }
   }
@@ -164,7 +163,7 @@
       }
       setSecretEnvList(list)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.exportFailed') })
     }
   }
@@ -217,7 +216,7 @@
       try {
         const { installed_apps }: any = await fetchInstalledAppList(app.id) || {}
         if (installed_apps?.length > 0)
-          window.open(`${WEB_PREFIX}/explore/installed/${installed_apps[0].id}`, '_blank')
+          window.open(`/explore/installed/${installed_apps[0].id}`, '_blank')
         else
           throw new Error('No app found in Explore')
       }
@@ -227,37 +226,37 @@
     }
     return (
       <div className="relative w-full py-1" onMouseLeave={onMouseLeave}>
-        <button className='mx-1 flex h-8 w-[calc(100%_-_8px)] cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-base-hover' onClick={onClickSettings}>
-          <span className='system-sm-regular text-text-secondary'>{t('app.editApp')}</span>
+        <button className={s.actionItem} onClick={onClickSettings}>
+          <span className={s.actionName}>{t('app.editApp')}</span>
         </button>
         <Divider className="!my-1" />
-        <button className='mx-1 flex h-8 w-[calc(100%_-_8px)] cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-base-hover' onClick={onClickDuplicate}>
-          <span className='system-sm-regular text-text-secondary'>{t('app.duplicate')}</span>
+        <button className={s.actionItem} onClick={onClickDuplicate}>
+          <span className={s.actionName}>{t('app.duplicate')}</span>
         </button>
-        <button className='mx-1 flex h-8 w-[calc(100%_-_8px)] cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-base-hover' onClick={onClickExport}>
-          <span className='system-sm-regular text-text-secondary'>{t('app.export')}</span>
+        <button className={s.actionItem} onClick={onClickExport}>
+          <span className={s.actionName}>{t('app.export')}</span>
         </button>
         {(app.mode === 'completion' || app.mode === 'chat') && (
           <>
             <Divider className="!my-1" />
             <div
-              className='mx-1 flex h-9 cursor-pointer items-center rounded-lg px-3 py-2 hover:bg-state-base-hover'
+              className='h-9 py-2 px-3 mx-1 flex items-center hover:bg-gray-50 rounded-lg cursor-pointer'
               onClick={onClickSwitch}
             >
-              <span className='text-sm leading-5 text-text-secondary'>{t('app.switch')}</span>
+              <span className='text-gray-700 text-sm leading-5'>{t('app.switch')}</span>
             </div>
           </>
         )}
         <Divider className="!my-1" />
-        <button className='mx-1 flex h-8 w-[calc(100%_-_8px)] cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-base-hover' onClick={onClickInstalledApp}>
-          <span className='system-sm-regular text-text-secondary'>{t('app.openInExplore')}</span>
+        <button className={s.actionItem} onClick={onClickInstalledApp}>
+          <span className={s.actionName}>{t('app.openInExplore')}</span>
         </button>
         <Divider className="!my-1" />
         <div
-          className='group mx-1 flex h-8 w-[calc(100%_-_8px)] cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-destructive-hover'
+          className={cn(s.actionItem, s.deleteActionItem, 'group')}
           onClick={onClickDelete}
         >
-          <span className='system-sm-regular text-text-secondary group-hover:text-text-destructive'>
+          <span className={cn(s.actionName, 'group-hover:text-red-500')}>
             {t('common.operation.delete')}
           </span>
         </div>
@@ -277,9 +276,9 @@
           e.preventDefault()
           getRedirection(isCurrentWorkspaceEditor, app, push)
         }}
-        className='group relative col-span-1 inline-flex h-[160px] cursor-pointer flex-col rounded-xl border-[1px] border-solid border-components-card-border bg-components-card-bg shadow-sm transition-all duration-200 ease-in-out hover:shadow-lg'
+        className='relative h-[160px] group col-span-1 bg-components-card-bg border-[1px] border-solid border-components-card-border rounded-xl shadow-sm inline-flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg'
       >
-        <div className='flex h-[66px] shrink-0 grow-0 items-center gap-3 px-[14px] pb-3 pt-[14px]'>
+        <div className='flex pt-[14px] px-[14px] pb-3 h-[66px] items-center gap-3 grow-0 shrink-0'>
           <div className='relative shrink-0'>
             <AppIcon
               size="large"
@@ -288,13 +287,13 @@
               background={app.icon_background}
               imageUrl={app.icon_url}
             />
-            <AppTypeIcon type={app.mode} wrapperClassName='absolute -bottom-0.5 -right-0.5 w-4 h-4 shadow-sm' className='h-3 w-3' />
+            <AppTypeIcon type={app.mode} wrapperClassName='absolute -bottom-0.5 -right-0.5 w-4 h-4 shadow-sm' className='w-3 h-3' />
           </div>
-          <div className='w-0 grow py-[1px]'>
-            <div className='flex items-center text-sm font-semibold leading-5 text-text-secondary'>
+          <div className='grow w-0 py-[1px]'>
+            <div className='flex items-center text-sm leading-5 font-semibold text-text-secondary'>
               <div className='truncate' title={app.name}>{app.name}</div>
             </div>
-            <div className='flex items-center text-[10px] font-medium leading-[18px] text-text-tertiary'>
+            <div className='flex items-center text-[10px] leading-[18px] text-text-tertiary font-medium'>
               {app.mode === 'advanced-chat' && <div className='truncate'>{t('app.types.advanced').toUpperCase()}</div>}
               {app.mode === 'chat' && <div className='truncate'>{t('app.types.chatbot').toUpperCase()}</div>}
               {app.mode === 'agent-chat' && <div className='truncate'>{t('app.types.agent').toUpperCase()}</div>}
@@ -312,17 +311,17 @@
           </div>
         </div>
         <div className={cn(
-          'absolute bottom-1 left-0 right-0 h-[42px] shrink-0 items-center pb-[6px] pl-[14px] pr-[6px] pt-1',
+          'absolute bottom-1 left-0 right-0 items-center shrink-0 pt-1 pl-[14px] pr-[6px] pb-[6px] h-[42px]',
           tags.length ? 'flex' : '!hidden group-hover:!flex',
         )}>
           {isCurrentWorkspaceEditor && (
             <>
-              <div className={cn('flex w-0 grow items-center gap-1')} onClick={(e) => {
+              <div className={cn('grow flex items-center gap-1 w-0')} onClick={(e) => {
                 e.stopPropagation()
                 e.preventDefault()
               }}>
                 <div className={cn(
-                  'mr-[41px] w-full grow group-hover:!mr-0 group-hover:!block',
+                  'group-hover:!block group-hover:!mr-0 mr-[41px] grow w-full',
                   tags.length ? '!block' : '!hidden',
                 )}>
                   <TagSelector
@@ -336,23 +335,23 @@
                   />
                 </div>
               </div>
-              <div className='mx-1 !hidden h-[14px] w-[1px] shrink-0 group-hover:!flex' />
-              <div className='!hidden shrink-0 group-hover:!flex'>
+              <div className='!hidden group-hover:!flex shrink-0 mx-1 w-[1px] h-[14px]' />
+              <div className='!hidden group-hover:!flex shrink-0'>
                 <CustomPopover
                   htmlContent={<Operations />}
                   position="br"
                   trigger="click"
                   btnElement={
                     <div
-                      className='flex h-8 w-8 cursor-pointer items-center justify-center rounded-md'
+                      className='flex items-center justify-center w-8 h-8 cursor-pointer rounded-md'
                     >
-                      <RiMoreFill className='h-4 w-4 text-text-tertiary' />
+                      <RiMoreFill className='w-4 h-4 text-text-tertiary' />
                     </div>
                   }
                   btnClassName={open =>
                     cn(
                       open ? '!bg-black/5 !shadow-none' : '!bg-transparent',
-                      'h-8 w-8 rounded-md border-none !p-2 hover:!bg-black/5',
+                      'h-8 w-8 !p-2 rounded-md border-none hover:!bg-black/5',
                     )
                   }
                   popupClassName={
@@ -360,7 +359,7 @@
                       ? '!w-[256px] translate-x-[-224px]'
                       : '!w-[160px] translate-x-[-128px]'
                   }
-                  className={'!z-20 h-fit'}
+                  className={'h-fit !z-20'}
                 />
               </div>
             </>
diff --git "a/app/\050commonLayout\051/apps/Apps.tsx" "b/app/\050commonLayout\051/apps/Apps.tsx"
index 1375f4d..34a28d9 100644
--- "a/app/\050commonLayout\051/apps/Apps.tsx"
+++ "b/app/\050commonLayout\051/apps/Apps.tsx"
@@ -1,16 +1,13 @@
 'use client'
 
 import { useCallback, useEffect, useRef, useState } from 'react'
-import {
-  useRouter,
-} from 'next/navigation'
+import { useRouter } from 'next/navigation'
 import useSWRInfinite from 'swr/infinite'
 import { useTranslation } from 'react-i18next'
 import { useDebounceFn } from 'ahooks'
 import {
   RiApps2Line,
   RiExchange2Line,
-  RiFile4Line,
   RiMessage3Line,
   RiRobot3Line,
 } from '@remixicon/react'
@@ -62,11 +59,10 @@
   const [activeTab, setActiveTab] = useTabSearchParams({
     defaultTab: 'all',
   })
-  const { query: { tagIDs = [], keywords = '', isCreatedByMe: queryIsCreatedByMe = false }, setQuery } = useAppsQueryState()
-  const [isCreatedByMe, setIsCreatedByMe] = useState(queryIsCreatedByMe)
+  const { query: { tagIDs = [], keywords = '' }, setQuery } = useAppsQueryState()
+  const [isCreatedByMe, setIsCreatedByMe] = useState(false)
   const [tagFilterValue, setTagFilterValue] = useState<string[]>(tagIDs)
   const [searchKeywords, setSearchKeywords] = useState(keywords)
-  const newAppCardRef = useRef<HTMLDivElement>(null)
   const setKeywords = useCallback((keywords: string) => {
     setQuery(prev => ({ ...prev, keywords }))
   }, [setQuery])
@@ -74,29 +70,22 @@
     setQuery(prev => ({ ...prev, tagIDs }))
   }, [setQuery])
 
-  const { data, isLoading, error, setSize, mutate } = useSWRInfinite(
+  const { data, isLoading, setSize, mutate } = useSWRInfinite(
     (pageIndex: number, previousPageData: AppListResponse) => getKey(pageIndex, previousPageData, activeTab, isCreatedByMe, tagIDs, searchKeywords),
     fetchAppList,
-    {
-      revalidateFirstPage: true,
-      shouldRetryOnError: false,
-      dedupingInterval: 500,
-      errorRetryCount: 3,
-    },
+    { revalidateFirstPage: true },
   )
 
   const anchorRef = useRef<HTMLDivElement>(null)
   const options = [
-    { value: 'all', text: t('app.types.all'), icon: <RiApps2Line className='mr-1 h-[14px] w-[14px]' /> },
-    { value: 'chat', text: t('app.types.chatbot'), icon: <RiMessage3Line className='mr-1 h-[14px] w-[14px]' /> },
-    { value: 'agent-chat', text: t('app.types.agent'), icon: <RiRobot3Line className='mr-1 h-[14px] w-[14px]' /> },
-    { value: 'completion', text: t('app.types.completion'), icon: <RiFile4Line className='mr-1 h-[14px] w-[14px]' /> },
-    { value: 'advanced-chat', text: t('app.types.advanced'), icon: <RiMessage3Line className='mr-1 h-[14px] w-[14px]' /> },
-    { value: 'workflow', text: t('app.types.workflow'), icon: <RiExchange2Line className='mr-1 h-[14px] w-[14px]' /> },
+    { value: 'all', text: t('app.types.all'), icon: <RiApps2Line className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'chat', text: t('app.types.chatbot'), icon: <RiMessage3Line className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'agent-chat', text: t('app.types.agent'), icon: <RiRobot3Line className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'workflow', text: t('app.types.workflow'), icon: <RiExchange2Line className='w-[14px] h-[14px] mr-1' /> },
   ]
 
   useEffect(() => {
-    document.title = `${t('common.menus.apps')} - Dify`
+    document.title = `${t('common.menus.apps')} -  Dify`
     if (localStorage.getItem(NEED_REFRESH_APP_LIST_KEY) === '1') {
       localStorage.removeItem(NEED_REFRESH_APP_LIST_KEY)
       mutate()
@@ -111,22 +100,15 @@
   useEffect(() => {
     const hasMore = data?.at(-1)?.has_more ?? true
     let observer: IntersectionObserver | undefined
-
-    if (error) {
-      if (observer)
-        observer.disconnect()
-      return
-    }
-
     if (anchorRef.current) {
       observer = new IntersectionObserver((entries) => {
-        if (entries[0].isIntersecting && !isLoading && !error && hasMore)
+        if (entries[0].isIntersecting && !isLoading && hasMore)
           setSize((size: number) => size + 1)
       }, { rootMargin: '100px' })
       observer.observe(anchorRef.current)
     }
     return () => observer?.disconnect()
-  }, [isLoading, setSize, anchorRef, mutate, data, error])
+  }, [isLoading, setSize, anchorRef, mutate, data])
 
   const { run: handleSearch } = useDebounceFn(() => {
     setSearchKeywords(keywords)
@@ -144,15 +126,9 @@
     handleTagsUpdate()
   }
 
-  const handleCreatedByMeChange = useCallback(() => {
-    const newValue = !isCreatedByMe
-    setIsCreatedByMe(newValue)
-    setQuery(prev => ({ ...prev, isCreatedByMe: newValue }))
-  }, [isCreatedByMe, setQuery])
-
   return (
     <>
-      <div className='sticky top-0 z-10 flex flex-wrap items-center justify-between gap-y-2 bg-background-body px-12 pb-2 pt-4 leading-[56px]'>
+      <div className='sticky top-0 flex justify-between items-center pt-4 px-12 pb-2 leading-[56px] bg-background-body z-10 flex-wrap gap-y-2'>
         <TabSliderNew
           value={activeTab}
           onChange={setActiveTab}
@@ -163,7 +139,7 @@
             className='mr-2'
             label={t('app.showMyCreatedAppsOnly')}
             isChecked={isCreatedByMe}
-            onChange={handleCreatedByMeChange}
+            onChange={() => setIsCreatedByMe(!isCreatedByMe)}
           />
           <TagFilter type='app' value={tagFilterValue} onChange={handleTagsChange} />
           <Input
@@ -177,16 +153,16 @@
         </div>
       </div>
       {(data && data[0].total > 0)
-        ? <div className='relative grid grow grid-cols-1 content-start gap-4 px-12 pt-2 sm:grid-cols-1 md:grid-cols-2 xl:grid-cols-4 2xl:grid-cols-5 2k:grid-cols-6'>
+        ? <div className='grid content-start grid-cols-1 sm:grid-cols-1 md:grid-cols-2 xl:grid-cols-4 2xl:grid-cols-5 2k:grid-cols-6 gap-4 px-12 pt-2 grow relative'>
           {isCurrentWorkspaceEditor
-            && <NewAppCard ref={newAppCardRef} onSuccess={mutate} />}
+            && <NewAppCard onSuccess={mutate} />}
           {data.map(({ data: apps }) => apps.map(app => (
             <AppCard key={app.id} app={app} onRefresh={mutate} />
           )))}
         </div>
-        : <div className='relative grid grow grid-cols-1 content-start gap-4 overflow-hidden px-12 pt-2 sm:grid-cols-1 md:grid-cols-2 xl:grid-cols-4 2xl:grid-cols-5 2k:grid-cols-6'>
+        : <div className='grid content-start grid-cols-1 sm:grid-cols-1 md:grid-cols-2 xl:grid-cols-4 2xl:grid-cols-5 2k:grid-cols-6 gap-4 px-12 pt-2 grow relative overflow-hidden'>
           {isCurrentWorkspaceEditor
-            && <NewAppCard ref={newAppCardRef} className='z-10' onSuccess={mutate} />}
+            && <NewAppCard className='z-10' onSuccess={mutate} />}
           <NoAppsFound />
         </div>}
       <CheckModal />
@@ -204,14 +180,14 @@
   const { t } = useTranslation()
   function renderDefaultCard() {
     const defaultCards = Array.from({ length: 36 }, (_, index) => (
-      <div key={index} className='inline-flex h-[160px] rounded-xl bg-background-default-lighter'></div>
+      <div key={index} className='h-[160px] inline-flex rounded-xl bg-background-default-lighter'></div>
     ))
     return defaultCards
   }
   return (
     <>
       {renderDefaultCard()}
-      <div className='absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center bg-gradient-to-t from-background-body to-transparent'>
+      <div className='absolute top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-gradient-to-t from-background-body to-transparent'>
         <span className='system-md-medium text-text-tertiary'>{t('app.newApp.noAppsFound')}</span>
       </div>
     </>
diff --git "a/app/\050commonLayout\051/apps/NewAppCard.tsx" "b/app/\050commonLayout\051/apps/NewAppCard.tsx"
index 0b42577..a90af4e 100644
--- "a/app/\050commonLayout\051/apps/NewAppCard.tsx"
+++ "b/app/\050commonLayout\051/apps/NewAppCard.tsx"
@@ -1,6 +1,6 @@
 'use client'
 
-import { useMemo, useState } from 'react'
+import { forwardRef, useMemo, useState } from 'react'
 import {
   useRouter,
   useSearchParams,
@@ -18,15 +18,7 @@
   onSuccess?: () => void
 }
 
-const CreateAppCard = (
-  {
-    ref,
-    className,
-    onSuccess,
-  }: CreateAppCardProps & {
-    ref: React.RefObject<HTMLDivElement>;
-  },
-) => {
+const CreateAppCard = forwardRef<HTMLDivElement, CreateAppCardProps>(({ className, onSuccess }, ref) => {
   const { t } = useTranslation()
   const { onPlanInfoChanged } = useProviderContext()
   const searchParams = useSearchParams()
@@ -47,22 +39,22 @@
   return (
     <div
       ref={ref}
-      className={cn('relative col-span-1 inline-flex h-[160px] flex-col justify-between rounded-xl border-[0.5px] border-components-card-border bg-components-card-bg', className)}
+      className={cn('relative col-span-1 inline-flex flex-col justify-between h-[160px] bg-components-card-bg rounded-xl border-[0.5px] border-components-card-border', className)}
     >
-      <div className='grow rounded-t-xl p-2'>
-        <div className='px-6 pb-1 pt-2 text-xs font-medium leading-[18px] text-text-tertiary'>{t('app.createApp')}</div>
-        <button className='mb-1 flex w-full cursor-pointer items-center rounded-lg px-6 py-[7px] text-[13px] font-medium leading-[18px] text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary' onClick={() => setShowNewAppModal(true)}>
-          <FilePlus01 className='mr-2 h-4 w-4 shrink-0' />
+      <div className='grow p-2 rounded-t-xl'>
+        <div className='px-6 pt-2 pb-1 text-xs font-medium leading-[18px] text-text-tertiary'>{t('app.createApp')}</div>
+        <button className='w-full flex items-center mb-1 px-6 py-[7px] rounded-lg text-[13px] font-medium leading-[18px] text-text-tertiary cursor-pointer hover:text-text-secondary hover:bg-state-base-hover' onClick={() => setShowNewAppModal(true)}>
+          <FilePlus01 className='shrink-0 mr-2 w-4 h-4' />
           {t('app.newApp.startFromBlank')}
         </button>
-        <button className='flex w-full cursor-pointer items-center rounded-lg px-6 py-[7px] text-[13px] font-medium leading-[18px] text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary' onClick={() => setShowNewAppTemplateDialog(true)}>
-          <FilePlus02 className='mr-2 h-4 w-4 shrink-0' />
+        <button className='w-full flex items-center px-6 py-[7px] rounded-lg text-[13px] font-medium leading-[18px] text-text-tertiary cursor-pointer hover:text-text-secondary hover:bg-state-base-hover' onClick={() => setShowNewAppTemplateDialog(true)}>
+          <FilePlus02 className='shrink-0 mr-2 w-4 h-4' />
           {t('app.newApp.startFromTemplate')}
         </button>
         <button
           onClick={() => setShowCreateFromDSLModal(true)}
-          className='flex w-full cursor-pointer items-center rounded-lg px-6 py-[7px] text-[13px] font-medium leading-[18px] text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary'>
-          <FileArrow01 className='mr-2 h-4 w-4 shrink-0' />
+          className='w-full flex items-center px-6 py-[7px] rounded-lg text-[13px] font-medium leading-[18px] text-text-tertiary cursor-pointer hover:text-text-secondary hover:bg-state-base-hover'>
+          <FileArrow01 className='shrink-0 mr-2 w-4 h-4' />
           {t('app.importDSL')}
         </button>
       </div>
@@ -111,7 +103,7 @@
       />
     </div>
   )
-}
+})
 
 CreateAppCard.displayName = 'CreateAppCard'
 export default CreateAppCard
diff --git "a/app/\050commonLayout\051/apps/hooks/useAppsQueryState.ts" "b/app/\050commonLayout\051/apps/hooks/useAppsQueryState.ts"
index dc95a4b..7f1f4ba 100644
--- "a/app/\050commonLayout\051/apps/hooks/useAppsQueryState.ts"
+++ "b/app/\050commonLayout\051/apps/hooks/useAppsQueryState.ts"
@@ -4,20 +4,18 @@
 type AppsQuery = {
   tagIDs?: string[]
   keywords?: string
-  isCreatedByMe?: boolean
 }
 
 // Parse the query parameters from the URL search string.
 function parseParams(params: ReadonlyURLSearchParams): AppsQuery {
   const tagIDs = params.get('tagIDs')?.split(';')
   const keywords = params.get('keywords') || undefined
-  const isCreatedByMe = params.get('isCreatedByMe') === 'true'
-  return { tagIDs, keywords, isCreatedByMe }
+  return { tagIDs, keywords }
 }
 
 // Update the URL search string with the given query parameters.
 function updateSearchParams(query: AppsQuery, current: URLSearchParams) {
-  const { tagIDs, keywords, isCreatedByMe } = query || {}
+  const { tagIDs, keywords } = query || {}
 
   if (tagIDs && tagIDs.length > 0)
     current.set('tagIDs', tagIDs.join(';'))
@@ -28,11 +26,6 @@
     current.set('keywords', keywords)
   else
     current.delete('keywords')
-
-  if (isCreatedByMe)
-    current.set('isCreatedByMe', 'true')
-  else
-    current.delete('isCreatedByMe')
 }
 
 function useAppsQueryState() {
diff --git "a/app/\050commonLayout\051/apps/page.tsx" "b/app/\050commonLayout\051/apps/page.tsx"
index 4a146d9..972aabc 100644
--- "a/app/\050commonLayout\051/apps/page.tsx"
+++ "b/app/\050commonLayout\051/apps/page.tsx"
@@ -7,26 +7,23 @@
 import Apps from './Apps'
 import AppContext from '@/context/app-context'
 import { LicenseStatus } from '@/types/feature'
-import { useEducationInit } from '@/app/education-apply/hooks'
 
 const AppList = () => {
   const { t } = useTranslation()
-  useEducationInit()
-
   const systemFeatures = useContextSelector(AppContext, v => v.systemFeatures)
 
   return (
-    <div className='relative flex h-0 shrink-0 grow flex-col overflow-y-auto bg-background-body'>
+    <div className='relative flex flex-col overflow-y-auto bg-background-body shrink-0 h-0 grow'>
       <Apps />
-      {systemFeatures.license.status === LicenseStatus.NONE && <footer className='shrink-0 grow-0 px-12 py-6'>
-        <h3 className='text-gradient text-xl font-semibold leading-tight'>{t('app.join')}</h3>
-        <p className='system-sm-regular mt-1 text-text-tertiary'>{t('app.communityIntro')}</p>
-        <div className='mt-3 flex items-center gap-2'>
+      {systemFeatures.license.status === LicenseStatus.NONE && <footer className='px-12 py-6 grow-0 shrink-0'>
+        <h3 className='text-xl font-semibold leading-tight text-gradient'>{t('app.join')}</h3>
+        <p className='mt-1 system-sm-regular text-text-tertiary'>{t('app.communityIntro')}</p>
+        <div className='flex items-center gap-2 mt-3'>
           <Link className={style.socialMediaLink} target='_blank' rel='noopener noreferrer' href='https://github.com/langgenius/dify'>
-            <RiGithubFill className='h-5 w-5 text-text-tertiary' />
+            <RiGithubFill className='w-5 h-5 text-text-tertiary' />
           </Link>
           <Link className={style.socialMediaLink} target='_blank' rel='noopener noreferrer' href='https://discord.gg/FngNHpbcY7'>
-            <RiDiscordFill className='h-5 w-5 text-text-tertiary' />
+            <RiDiscordFill className='w-5 h-5 text-text-tertiary' />
           </Link>
         </div>
       </footer>}
diff --git "a/app/\050commonLayout\051/apps/style.module.css" "b/app/\050commonLayout\051/apps/style.module.css"
new file mode 100644
index 0000000..880382e
--- /dev/null
+++ "b/app/\050commonLayout\051/apps/style.module.css"
@@ -0,0 +1,29 @@
+
+.commonIcon {
+  @apply w-4 h-4 inline-block align-middle;
+  background-repeat: no-repeat;
+  background-position: center center;
+  background-size: contain;
+}
+.actionIcon {
+  @apply bg-gray-500;
+  mask-image: url(~@/assets/action.svg);
+}
+.actionItem {
+  @apply h-8 py-[6px] px-3 mx-1 flex items-center gap-2 hover:bg-gray-100 rounded-lg cursor-pointer;
+  width: calc(100% - 0.5rem);
+}
+.deleteActionItem {
+  @apply hover:bg-red-50 !important;
+}
+.actionName {
+  @apply text-gray-700 text-sm;
+}
+
+/* .completionPic {
+  background-image: url(~@/app/components/app-sidebar/completion.png)
+}
+    
+.expertPic {
+  background-image: url(~@/app/components/app-sidebar/expert.png)
+} */
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/api/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/api/page.tsx"
index 167520c..f1b20dd 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/api/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/api/page.tsx"
@@ -1,6 +1,8 @@
 import React from 'react'
 
-const page = () => {
+type Props = {}
+
+const page = (props: Props) => {
   return (
     <div>dataset detail api</div>
   )
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/page.tsx"
index 1db6b66..2bd2a35 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/page.tsx"
@@ -2,17 +2,12 @@
 import MainDetail from '@/app/components/datasets/documents/detail'
 
 export type IDocumentDetailProps = {
-  params: Promise<{ datasetId: string; documentId: string }>
+  params: { datasetId: string; documentId: string }
 }
 
-const DocumentDetail = async (props: IDocumentDetailProps) => {
-  const params = await props.params
-
-  const {
-    datasetId,
-    documentId,
-  } = params
-
+const DocumentDetail = async ({
+  params: { datasetId, documentId },
+}: IDocumentDetailProps) => {
   return (
     <MainDetail datasetId={datasetId} documentId={documentId} />
   )
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/settings/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/settings/page.tsx"
index 5395214..2194934 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/settings/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/\133documentId\135/settings/page.tsx"
@@ -2,17 +2,12 @@
 import Settings from '@/app/components/datasets/documents/detail/settings'
 
 export type IProps = {
-  params: Promise<{ datasetId: string; documentId: string }>
+  params: { datasetId: string; documentId: string }
 }
 
-const DocumentSettings = async (props: IProps) => {
-  const params = await props.params
-
-  const {
-    datasetId,
-    documentId,
-  } = params
-
+const DocumentSettings = async ({
+  params: { datasetId, documentId },
+}: IProps) => {
   return (
     <Settings datasetId={datasetId} documentId={documentId} />
   )
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/create/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/create/page.tsx"
index 8fd2caa..e249632 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/create/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/create/page.tsx"
@@ -2,16 +2,12 @@
 import DatasetUpdateForm from '@/app/components/datasets/create'
 
 export type IProps = {
-  params: Promise<{ datasetId: string }>
+  params: { datasetId: string }
 }
 
-const Create = async (props: IProps) => {
-  const params = await props.params
-
-  const {
-    datasetId,
-  } = params
-
+const Create = async ({
+  params: { datasetId },
+}: IProps) => {
   return (
     <DatasetUpdateForm datasetId={datasetId} />
   )
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/page.tsx"
index 2ff4631..545e9ed 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/documents/page.tsx"
@@ -2,16 +2,12 @@
 import Main from '@/app/components/datasets/documents'
 
 export type IProps = {
-  params: Promise<{ datasetId: string }>
+  params: { datasetId: string }
 }
 
-const Documents = async (props: IProps) => {
-  const params = await props.params
-
-  const {
-    datasetId,
-  } = params
-
+const Documents = async ({
+  params: { datasetId },
+}: IProps) => {
   return (
     <Main datasetId={datasetId} />
   )
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/hitTesting/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/hitTesting/page.tsx"
index 9a701c6..bec07e4 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/hitTesting/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/hitTesting/page.tsx"
@@ -2,16 +2,12 @@
 import Main from '@/app/components/datasets/hit-testing'
 
 type Props = {
-  params: Promise<{ datasetId: string }>
+  params: { datasetId: string }
 }
 
-const HitTesting = async (props: Props) => {
-  const params = await props.params
-
-  const {
-    datasetId,
-  } = params
-
+const HitTesting = ({
+  params: { datasetId },
+}: Props) => {
   return (
     <Main datasetId={datasetId} />
   )
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/layout.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/layout.tsx"
index a8772f7..a6fb116 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/layout.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/layout.tsx"
@@ -1,17 +1,228 @@
-import Main from './layout-main'
+'use client'
+import type { FC, SVGProps } from 'react'
+import React, { useEffect, useMemo } from 'react'
+import { usePathname } from 'next/navigation'
+import useSWR from 'swr'
+import { useTranslation } from 'react-i18next'
+import { useBoolean } from 'ahooks'
+import {
+  Cog8ToothIcon,
+  DocumentTextIcon,
+  PaperClipIcon,
+} from '@heroicons/react/24/outline'
+import {
+  Cog8ToothIcon as Cog8ToothSolidIcon,
+  // CommandLineIcon as CommandLineSolidIcon,
+  DocumentTextIcon as DocumentTextSolidIcon,
+} from '@heroicons/react/24/solid'
+import { RiApps2AddLine, RiInformation2Line } from '@remixicon/react'
+import s from './style.module.css'
+import classNames from '@/utils/classnames'
+import { fetchDatasetDetail, fetchDatasetRelatedApps } from '@/service/datasets'
+import type { RelatedAppResponse } from '@/models/datasets'
+import AppSideBar from '@/app/components/app-sidebar'
+import Loading from '@/app/components/base/loading'
+import DatasetDetailContext from '@/context/dataset-detail'
+import { DataSourceType } from '@/models/datasets'
+import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
+import { LanguagesSupported } from '@/i18n/language'
+import { useStore } from '@/app/components/app/store'
+import { getLocaleOnClient } from '@/i18n'
+import { useAppContext } from '@/context/app-context'
+import Tooltip from '@/app/components/base/tooltip'
+import LinkedAppsPanel from '@/app/components/base/linked-apps-panel'
 
-const DatasetDetailLayout = async (
-  props: {
-    children: React.ReactNode
-    params: Promise<{ datasetId: string }>
-  },
-) => {
-  const params = await props.params
+export type IAppDetailLayoutProps = {
+  children: React.ReactNode
+  params: { datasetId: string }
+}
 
+const TargetIcon = ({ className }: SVGProps<SVGElement>) => {
+  return <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" className={className ?? ''}>
+    <g clipPath="url(#clip0_4610_6951)">
+      <path d="M10.6666 5.33325V3.33325L12.6666 1.33325L13.3332 2.66659L14.6666 3.33325L12.6666 5.33325H10.6666ZM10.6666 5.33325L7.9999 7.99988M14.6666 7.99992C14.6666 11.6818 11.6818 14.6666 7.99992 14.6666C4.31802 14.6666 1.33325 11.6818 1.33325 7.99992C1.33325 4.31802 4.31802 1.33325 7.99992 1.33325M11.3333 7.99992C11.3333 9.84087 9.84087 11.3333 7.99992 11.3333C6.15897 11.3333 4.66659 9.84087 4.66659 7.99992C4.66659 6.15897 6.15897 4.66659 7.99992 4.66659" stroke="#344054" strokeWidth="1.25" strokeLinecap="round" strokeLinejoin="round" />
+    </g>
+    <defs>
+      <clipPath id="clip0_4610_6951">
+        <rect width="16" height="16" fill="white" />
+      </clipPath>
+    </defs>
+  </svg>
+}
+
+const TargetSolidIcon = ({ className }: SVGProps<SVGElement>) => {
+  return <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" className={className ?? ''}>
+    <path fillRule="evenodd" clipRule="evenodd" d="M12.7733 0.67512C12.9848 0.709447 13.1669 0.843364 13.2627 1.03504L13.83 2.16961L14.9646 2.73689C15.1563 2.83273 15.2902 3.01486 15.3245 3.22639C15.3588 3.43792 15.2894 3.65305 15.1379 3.80458L13.1379 5.80458C13.0128 5.92961 12.8433 5.99985 12.6665 5.99985H10.9426L8.47124 8.47124C8.21089 8.73159 7.78878 8.73159 7.52843 8.47124C7.26808 8.21089 7.26808 7.78878 7.52843 7.52843L9.9998 5.05707V3.33318C9.9998 3.15637 10.07 2.9868 10.1951 2.86177L12.1951 0.861774C12.3466 0.710244 12.5617 0.640794 12.7733 0.67512Z" fill="#155EEF" />
+    <path d="M1.99984 7.99984C1.99984 4.68613 4.68613 1.99984 7.99984 1.99984C8.36803 1.99984 8.6665 1.70136 8.6665 1.33317C8.6665 0.964981 8.36803 0.666504 7.99984 0.666504C3.94975 0.666504 0.666504 3.94975 0.666504 7.99984C0.666504 12.0499 3.94975 15.3332 7.99984 15.3332C12.0499 15.3332 15.3332 12.0499 15.3332 7.99984C15.3332 7.63165 15.0347 7.33317 14.6665 7.33317C14.2983 7.33317 13.9998 7.63165 13.9998 7.99984C13.9998 11.3135 11.3135 13.9998 7.99984 13.9998C4.68613 13.9998 1.99984 11.3135 1.99984 7.99984Z" fill="#155EEF" />
+    <path d="M5.33317 7.99984C5.33317 6.52708 6.52708 5.33317 7.99984 5.33317C8.36803 5.33317 8.6665 5.03469 8.6665 4.6665C8.6665 4.29831 8.36803 3.99984 7.99984 3.99984C5.7907 3.99984 3.99984 5.7907 3.99984 7.99984C3.99984 10.209 5.7907 11.9998 7.99984 11.9998C10.209 11.9998 11.9998 10.209 11.9998 7.99984C11.9998 7.63165 11.7014 7.33317 11.3332 7.33317C10.965 7.33317 10.6665 7.63165 10.6665 7.99984C10.6665 9.4726 9.4726 10.6665 7.99984 10.6665C6.52708 10.6665 5.33317 9.4726 5.33317 7.99984Z" fill="#155EEF" />
+  </svg>
+}
+
+const BookOpenIcon = ({ className }: SVGProps<SVGElement>) => {
+  return <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" className={className ?? ''}>
+    <path opacity="0.12" d="M1 3.1C1 2.53995 1 2.25992 1.10899 2.04601C1.20487 1.85785 1.35785 1.70487 1.54601 1.60899C1.75992 1.5 2.03995 1.5 2.6 1.5H2.8C3.9201 1.5 4.48016 1.5 4.90798 1.71799C5.28431 1.90973 5.59027 2.21569 5.78201 2.59202C6 3.01984 6 3.5799 6 4.7V10.5L5.94997 10.425C5.60265 9.90398 5.42899 9.64349 5.19955 9.45491C4.99643 9.28796 4.76238 9.1627 4.5108 9.0863C4.22663 9 3.91355 9 3.28741 9H2.6C2.03995 9 1.75992 9 1.54601 8.89101C1.35785 8.79513 1.20487 8.64215 1.10899 8.45399C1 8.24008 1 7.96005 1 7.4V3.1Z" fill="#155EEF" />
+    <path d="M6 10.5L5.94997 10.425C5.60265 9.90398 5.42899 9.64349 5.19955 9.45491C4.99643 9.28796 4.76238 9.1627 4.5108 9.0863C4.22663 9 3.91355 9 3.28741 9H2.6C2.03995 9 1.75992 9 1.54601 8.89101C1.35785 8.79513 1.20487 8.64215 1.10899 8.45399C1 8.24008 1 7.96005 1 7.4V3.1C1 2.53995 1 2.25992 1.10899 2.04601C1.20487 1.85785 1.35785 1.70487 1.54601 1.60899C1.75992 1.5 2.03995 1.5 2.6 1.5H2.8C3.9201 1.5 4.48016 1.5 4.90798 1.71799C5.28431 1.90973 5.59027 2.21569 5.78201 2.59202C6 3.01984 6 3.5799 6 4.7M6 10.5V4.7M6 10.5L6.05003 10.425C6.39735 9.90398 6.57101 9.64349 6.80045 9.45491C7.00357 9.28796 7.23762 9.1627 7.4892 9.0863C7.77337 9 8.08645 9 8.71259 9H9.4C9.96005 9 10.2401 9 10.454 8.89101C10.6422 8.79513 10.7951 8.64215 10.891 8.45399C11 8.24008 11 7.96005 11 7.4V3.1C11 2.53995 11 2.25992 10.891 2.04601C10.7951 1.85785 10.6422 1.70487 10.454 1.60899C10.2401 1.5 9.96005 1.5 9.4 1.5H9.2C8.07989 1.5 7.51984 1.5 7.09202 1.71799C6.71569 1.90973 6.40973 2.21569 6.21799 2.59202C6 3.01984 6 3.5799 6 4.7" stroke="#155EEF" strokeLinecap="round" strokeLinejoin="round" />
+  </svg>
+}
+
+type IExtraInfoProps = {
+  isMobile: boolean
+  relatedApps?: RelatedAppResponse
+  expand: boolean
+}
+
+const ExtraInfo = ({ isMobile, relatedApps, expand }: IExtraInfoProps) => {
+  const locale = getLocaleOnClient()
+  const [isShowTips, { toggle: toggleTips, set: setShowTips }] = useBoolean(!isMobile)
+  const { t } = useTranslation()
+
+  const hasRelatedApps = relatedApps?.data && relatedApps?.data?.length > 0
+  const relatedAppsTotal = relatedApps?.data?.length || 0
+
+  useEffect(() => {
+    setShowTips(!isMobile)
+  }, [isMobile, setShowTips])
+
+  return <div>
+    {hasRelatedApps && (
+      <>
+        {!isMobile && (
+          <Tooltip
+            position='right'
+            noDecoration
+            needsDelay
+            popupContent={
+              <LinkedAppsPanel
+                relatedApps={relatedApps.data}
+                isMobile={isMobile}
+              />
+            }
+          >
+            <div className='inline-flex items-center system-xs-medium-uppercase text-text-secondary space-x-1 cursor-pointer'>
+              <span>{relatedAppsTotal || '--'} {t('common.datasetMenus.relatedApp')}</span>
+              <RiInformation2Line className='w-4 h-4' />
+            </div>
+          </Tooltip>
+        )}
+
+        {isMobile && <div className={classNames(s.subTitle, 'flex items-center justify-center !px-0 gap-1')}>
+          {relatedAppsTotal || '--'}
+          <PaperClipIcon className='h-4 w-4 text-gray-700' />
+        </div>}
+      </>
+    )}
+    {!hasRelatedApps && !expand && (
+      <Tooltip
+        position='right'
+        noDecoration
+        needsDelay
+        popupContent={
+          <div className='p-4 w-[240px] bg-components-panel-bg-blur border-[0.5px] border-components-panel-border rounded-xl'>
+            <div className='inline-flex p-2 rounded-lg border-[0.5px] border-components-panel-border-subtle bg-background-default-subtle'>
+              <RiApps2AddLine className='h-4 w-4 text-text-tertiary' />
+            </div>
+            <div className='text-xs text-text-tertiary my-2'>{t('common.datasetMenus.emptyTip')}</div>
+            <a
+              className='inline-flex items-center text-xs text-text-accent mt-2 cursor-pointer'
+              href={
+                locale === LanguagesSupported[1]
+                  ? 'https://docs.dify.ai/v/zh-hans/guides/knowledge-base/integrate-knowledge-within-application'
+                  : 'https://docs.dify.ai/guides/knowledge-base/integrate-knowledge-within-application'
+              }
+              target='_blank' rel='noopener noreferrer'
+            >
+              <BookOpenIcon className='mr-1' />
+              {t('common.datasetMenus.viewDoc')}
+            </a>
+          </div>
+        }
+      >
+        <div className='inline-flex items-center system-xs-medium-uppercase text-text-secondary space-x-1 cursor-pointer'>
+          <span>{t('common.datasetMenus.noRelatedApp')}</span>
+          <RiInformation2Line className='w-4 h-4' />
+        </div>
+      </Tooltip>
+    )}
+  </div>
+}
+
+const DatasetDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
   const {
     children,
+    params: { datasetId },
   } = props
+  const pathname = usePathname()
+  const hideSideBar = /documents\/create$/.test(pathname)
+  const { t } = useTranslation()
+  const { isCurrentWorkspaceDatasetOperator } = useAppContext()
 
-  return <Main params={(await params)}>{children}</Main>
+  const media = useBreakpoints()
+  const isMobile = media === MediaType.mobile
+
+  const { data: datasetRes, error, mutate: mutateDatasetRes } = useSWR({
+    url: 'fetchDatasetDetail',
+    datasetId,
+  }, apiParams => fetchDatasetDetail(apiParams.datasetId))
+
+  const { data: relatedApps } = useSWR({
+    action: 'fetchDatasetRelatedApps',
+    datasetId,
+  }, apiParams => fetchDatasetRelatedApps(apiParams.datasetId))
+
+  const navigation = useMemo(() => {
+    const baseNavigation = [
+      { name: t('common.datasetMenus.hitTesting'), href: `/datasets/${datasetId}/hitTesting`, icon: TargetIcon, selectedIcon: TargetSolidIcon },
+      // { name: 'api & webhook', href: `/datasets/${datasetId}/api`, icon: CommandLineIcon, selectedIcon: CommandLineSolidIcon },
+      { name: t('common.datasetMenus.settings'), href: `/datasets/${datasetId}/settings`, icon: Cog8ToothIcon, selectedIcon: Cog8ToothSolidIcon },
+    ]
+
+    if (datasetRes?.provider !== 'external') {
+      baseNavigation.unshift({
+        name: t('common.datasetMenus.documents'),
+        href: `/datasets/${datasetId}/documents`,
+        icon: DocumentTextIcon,
+        selectedIcon: DocumentTextSolidIcon,
+      })
+    }
+    return baseNavigation
+  }, [datasetRes?.provider, datasetId, t])
+
+  useEffect(() => {
+    if (datasetRes)
+      document.title = `${datasetRes.name || 'Dataset'} - Dify`
+  }, [datasetRes])
+
+  const setAppSiderbarExpand = useStore(state => state.setAppSiderbarExpand)
+
+  useEffect(() => {
+    const localeMode = localStorage.getItem('app-detail-collapse-or-expand') || 'expand'
+    const mode = isMobile ? 'collapse' : 'expand'
+    setAppSiderbarExpand(isMobile ? mode : localeMode)
+  }, [isMobile, setAppSiderbarExpand])
+
+  if (!datasetRes && !error)
+    return <Loading type='app' />
+
+  return (
+    <div className='grow flex overflow-hidden'>
+      {!hideSideBar && <AppSideBar
+        title={datasetRes?.name || '--'}
+        icon={datasetRes?.icon || 'https://static.dify.ai/images/dataset-default-icon.png'}
+        icon_background={datasetRes?.icon_background || '#F5F5F5'}
+        desc={datasetRes?.description || '--'}
+        isExternal={datasetRes?.provider === 'external'}
+        navigation={navigation}
+        extraInfo={!isCurrentWorkspaceDatasetOperator ? mode => <ExtraInfo isMobile={mode === 'collapse'} relatedApps={relatedApps} expand={mode === 'collapse'} /> : undefined}
+        iconType={datasetRes?.data_source_type === DataSourceType.NOTION ? 'notion' : 'dataset'}
+      />}
+      <DatasetDetailContext.Provider value={{
+        indexingTechnique: datasetRes?.indexing_technique,
+        dataset: datasetRes,
+        mutateDatasetRes: () => mutateDatasetRes(),
+      }}>
+        <div className="bg-background-default-subtle grow overflow-hidden">{children}</div>
+      </DatasetDetailContext.Provider>
+    </div>
+  )
 }
-export default DatasetDetailLayout
+export default React.memo(DatasetDetailLayout)
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/settings/page.tsx" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/settings/page.tsx"
index d9a196d..3a65f1d 100644
--- "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/settings/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/settings/page.tsx"
@@ -3,13 +3,13 @@
 import Form from '@/app/components/datasets/settings/form'
 
 const Settings = async () => {
-  const locale = await getLocaleOnServer()
+  const locale = getLocaleOnServer()
   const { t } = await translate(locale, 'dataset-settings')
 
   return (
     <div className='h-full overflow-y-auto'>
       <div className='px-6 py-3'>
-        <div className='system-xl-semibold mb-1 text-text-primary'>{t('title')}</div>
+        <div className='mb-1 system-xl-semibold text-text-primary'>{t('title')}</div>
         <div className='system-sm-regular text-text-tertiary'>{t('desc')}</div>
       </div>
       <Form />
diff --git "a/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/style.module.css" "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/style.module.css"
new file mode 100644
index 0000000..516b124
--- /dev/null
+++ "b/app/\050commonLayout\051/datasets/\050datasetDetailLayout\051/\133datasetId\135/style.module.css"
@@ -0,0 +1,9 @@
+.statusPoint {
+  @apply flex justify-center items-center absolute -right-0.5 -bottom-0.5 w-2.5 h-2.5 bg-white rounded;
+}
+.subTitle {
+  @apply uppercase text-xs text-gray-500 font-medium px-3 pb-2 pt-4;
+}
+.emptyIconDiv {
+  @apply h-7 w-7 bg-gray-50 border border-[#EAECF5] inline-flex justify-center items-center rounded-lg;
+}
diff --git "a/app/\050commonLayout\051/datasets/ApiServer.tsx" "b/app/\050commonLayout\051/datasets/ApiServer.tsx"
new file mode 100644
index 0000000..7baa342
--- /dev/null
+++ "b/app/\050commonLayout\051/datasets/ApiServer.tsx"
@@ -0,0 +1,41 @@
+'use client'
+
+import type { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+import CopyFeedback from '@/app/components/base/copy-feedback'
+import SecretKeyButton from '@/app/components/develop/secret-key/secret-key-button'
+import { randomString } from '@/utils'
+
+type ApiServerProps = {
+  apiBaseUrl: string
+}
+const ApiServer: FC<ApiServerProps> = ({
+  apiBaseUrl,
+}) => {
+  const { t } = useTranslation()
+
+  return (
+    <div className='flex items-center flex-wrap gap-y-2'>
+      <div className='flex items-center mr-2 pl-1.5 pr-1 h-8 bg-white/80 border-[0.5px] border-white rounded-lg leading-5'>
+        <div className='mr-0.5 px-1.5 h-5 border border-gray-200 text-[11px] text-gray-500 rounded-md shrink-0'>{t('appApi.apiServer')}</div>
+        <div className='px-1 truncate w-fit sm:w-[248px] text-[13px] font-medium text-gray-800'>{apiBaseUrl}</div>
+        <div className='mx-1 w-[1px] h-[14px] bg-gray-200'></div>
+        <CopyFeedback
+          content={apiBaseUrl}
+          selectorId={randomString(8)}
+          className={'!w-6 !h-6 hover:bg-gray-200'}
+        />
+      </div>
+      <div className='flex items-center mr-2 px-3 h-8 bg-[#ECFDF3] text-xs font-semibold text-[#039855] rounded-lg border-[0.5px] border-[#D1FADF]'>
+        {t('appApi.ok')}
+      </div>
+      <SecretKeyButton
+        className='flex-shrink-0 !h-8 bg-white'
+        textCls='!text-gray-700 font-medium'
+        iconCls='stroke-[1.2px]'
+      />
+    </div>
+  )
+}
+
+export default ApiServer
diff --git "a/app/\050commonLayout\051/datasets/Container.tsx" "b/app/\050commonLayout\051/datasets/Container.tsx"
index b484c04..f484d30 100644
--- "a/app/\050commonLayout\051/datasets/Container.tsx"
+++ "b/app/\050commonLayout\051/datasets/Container.tsx"
@@ -11,7 +11,7 @@
 import ExternalAPIPanel from '../../components/datasets/external-api/external-api-panel'
 import Datasets from './Datasets'
 import DatasetFooter from './DatasetFooter'
-import ApiServer from '../../components/develop/ApiServer'
+import ApiServer from './ApiServer'
 import Doc from './Doc'
 import TabSliderNew from '@/app/components/base/tab-slider-new'
 import TagManagementModal from '@/app/components/base/tag-management'
@@ -37,8 +37,6 @@
   const showTagManagementModal = useTagStore(s => s.showTagManagementModal)
   const { showExternalApiPanel, setShowExternalApiPanel } = useExternalApiPanel()
   const [includeAll, { toggle: toggleIncludeAll }] = useBoolean(false)
-
-  document.title = `${t('dataset.knowledge')} - Dify`
 
   const options = useMemo(() => {
     return [
@@ -84,8 +82,8 @@
   }, [currentWorkspace, router])
 
   return (
-    <div ref={containerRef} className='scroll-container relative flex grow flex-col overflow-y-auto bg-background-body'>
-      <div className='sticky top-0 z-10 flex flex-wrap items-center justify-between gap-y-2 bg-background-body px-12 pb-2 pt-4 leading-[56px]'>
+    <div ref={containerRef} className='grow relative flex flex-col bg-background-body overflow-y-auto scroll-container'>
+      <div className='sticky top-0 flex justify-between pt-4 px-12 pb-2 leading-[56px] bg-background-body z-10 flex-wrap gap-y-2'>
         <TabSliderNew
           value={activeTab}
           onChange={newActiveTab => setActiveTab(newActiveTab)}
@@ -110,13 +108,13 @@
               onChange={e => handleKeywordsChange(e.target.value)}
               onClear={() => handleKeywordsChange('')}
             />
-            <div className="h-4 w-[1px] bg-divider-regular" />
+            <div className="w-[1px] h-4 bg-divider-regular" />
             <Button
-              className='shadows-shadow-xs gap-0.5'
+              className='gap-0.5 shadows-shadow-xs'
               onClick={() => setShowExternalApiPanel(true)}
             >
-              <ApiConnectionMod className='h-4 w-4 text-components-button-secondary-text' />
-              <div className='system-sm-medium flex items-center justify-center gap-1 px-0.5 text-components-button-secondary-text'>{t('dataset.externalAPIPanelTitle')}</div>
+              <ApiConnectionMod className='w-4 h-4 text-components-button-secondary-text' />
+              <div className='flex px-0.5 justify-center items-center gap-1 text-components-button-secondary-text system-sm-medium'>{t('dataset.externalAPIPanelTitle')}</div>
             </Button>
           </div>
         )}
diff --git "a/app/\050commonLayout\051/datasets/DatasetCard.tsx" "b/app/\050commonLayout\051/datasets/DatasetCard.tsx"
index e0012b4..ad83a41 100644
--- "a/app/\050commonLayout\051/datasets/DatasetCard.tsx"
+++ "b/app/\050commonLayout\051/datasets/DatasetCard.tsx"
@@ -61,7 +61,7 @@
       if (onSuccess)
         onSuccess()
     }
-    catch {
+    catch (e: any) {
     }
     setShowConfirmDelete(false)
   }, [dataset.id, notify, onSuccess, t])
@@ -84,17 +84,17 @@
     }
     return (
       <div className="relative w-full py-1" onMouseLeave={onMouseLeave}>
-        <div className='mx-1 flex h-8 cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-base-hover' onClick={onClickRename}>
-          <span className='text-sm text-text-secondary'>{t('common.operation.settings')}</span>
+        <div className='h-8 py-[6px] px-3 mx-1 flex items-center gap-2 hover:bg-gray-100 rounded-lg cursor-pointer' onClick={onClickRename}>
+          <span className='text-gray-700 text-sm'>{t('common.operation.settings')}</span>
         </div>
         {props.showDelete && (
           <>
             <Divider className="!my-1" />
             <div
-              className='group mx-1 flex h-8 cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-state-destructive-hover'
+              className='group h-8 py-[6px] px-3 mx-1 flex items-center gap-2 hover:bg-red-50 rounded-lg cursor-pointer'
               onClick={onClickDelete}
             >
-              <span className={cn('text-sm text-text-secondary', 'group-hover:text-text-destructive')}>
+              <span className={cn('text-gray-700 text-sm', 'group-hover:text-red-500')}>
                 {t('common.operation.delete')}
               </span>
             </div>
@@ -111,7 +111,7 @@
   return (
     <>
       <div
-        className='group relative col-span-1 flex min-h-[160px] cursor-pointer flex-col rounded-xl border-[0.5px] border-solid border-components-card-border bg-components-card-bg shadow-sm transition-all duration-200 ease-in-out hover:shadow-lg'
+        className='group relative col-span-1 bg-components-card-bg border-[0.5px] border-solid border-components-card-border rounded-xl shadow-sm min-h-[160px] flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg'
         data-disable-nprogress={true}
         onClick={(e) => {
           e.preventDefault()
@@ -121,25 +121,25 @@
         }}
       >
         {isExternalProvider(dataset.provider) && <CornerLabel label='External' className='absolute right-0' labelClassName='rounded-tr-xl' />}
-        <div className='flex h-[66px] shrink-0 grow-0 items-center gap-3 px-[14px] pb-3 pt-[14px]'>
+        <div className='flex pt-[14px] px-[14px] pb-3 h-[66px] items-center gap-3 grow-0 shrink-0'>
           <div className={cn(
-            'flex shrink-0 items-center justify-center rounded-md border-[0.5px] border-[#E0EAFF] bg-[#F5F8FF] p-2.5',
+            'shrink-0 flex items-center justify-center p-2.5 bg-[#F5F8FF] rounded-md border-[0.5px] border-[#E0EAFF]',
             !dataset.embedding_available && 'opacity-50 hover:opacity-100',
           )}>
-            <Folder className='h-5 w-5 text-[#444CE7]' />
+            <Folder className='w-5 h-5 text-[#444CE7]' />
           </div>
-          <div className='w-0 grow py-[1px]'>
-            <div className='flex items-center text-sm font-semibold leading-5 text-text-secondary'>
-              <div className={cn('truncate', !dataset.embedding_available && 'text-text-tertiary opacity-50 hover:opacity-100')} title={dataset.name}>{dataset.name}</div>
+          <div className='grow w-0 py-[1px]'>
+            <div className='flex items-center text-sm leading-5 font-semibold text-text-secondary'>
+              <div className={cn('truncate', !dataset.embedding_available && 'opacity-50 hover:opacity-100 text-text-tertiary')} title={dataset.name}>{dataset.name}</div>
               {!dataset.embedding_available && (
                 <Tooltip
                   popupContent={t('dataset.unavailableTip')}
                 >
-                  <span className='ml-1 inline-flex w-max shrink-0 rounded-md border border-divider-regular px-1 text-xs font-normal leading-[18px] text-text-tertiary'>{t('dataset.unavailable')}</span>
+                  <span className='shrink-0 inline-flex w-max ml-1 px-1 border border-gray-200 rounded-md text-gray-500 text-xs font-normal leading-[18px]'>{t('dataset.unavailable')}</span>
                 </Tooltip>
               )}
             </div>
-            <div className='mt-[1px] flex items-center text-xs leading-[18px] text-text-tertiary'>
+            <div className='flex items-center mt-[1px] text-xs leading-[18px] text-text-tertiary'>
               <div
                 className={cn('truncate', (!dataset.embedding_available || !dataset.document_count) && 'opacity-50')}
                 title={dataset.provider === 'external' ? `${dataset.app_count}${t('dataset.appCount')}` : `${dataset.document_count}${t('dataset.documentCount')} 路 ${Math.round(dataset.word_count / 1000)}${t('dataset.wordCount')} 路 ${dataset.app_count}${t('dataset.appCount')}`}
@@ -150,9 +150,9 @@
                   </>
                   : <>
                     <span>{dataset.document_count}{t('dataset.documentCount')}</span>
-                    <span className='mx-0.5 w-1 shrink-0 text-text-tertiary'>路</span>
+                    <span className='shrink-0 mx-0.5 w-1 text-gray-400'>路</span>
                     <span>{Math.round(dataset.word_count / 1000)}{t('dataset.wordCount')}</span>
-                    <span className='mx-0.5 w-1 shrink-0 text-text-tertiary'>路</span>
+                    <span className='shrink-0 mx-0.5 w-1 text-gray-400'>路</span>
                     <span>{dataset.app_count}{t('dataset.appCount')}</span>
                   </>
                 }
@@ -162,7 +162,7 @@
         </div>
         <div
           className={cn(
-            'mb-2 max-h-[72px] grow px-[14px] text-xs leading-normal text-text-tertiary group-hover:line-clamp-2 group-hover:max-h-[36px]',
+            'grow mb-2 px-[14px] max-h-[72px] text-xs leading-normal text-text-tertiary group-hover:line-clamp-2 group-hover:max-h-[36px]',
             tags.length ? 'line-clamp-2' : 'line-clamp-4',
             !dataset.embedding_available && 'opacity-50 hover:opacity-100',
           )}
@@ -170,15 +170,15 @@
           {dataset.description}
         </div>
         <div className={cn(
-          'mt-4 h-[42px] shrink-0 items-center pb-[6px] pl-[14px] pr-[6px] pt-1',
+          'items-center shrink-0 mt-1 pt-1 pl-[14px] pr-[6px] pb-[6px] h-[42px]',
           tags.length ? 'flex' : '!hidden group-hover:!flex',
         )}>
-          <div className={cn('flex w-0 grow items-center gap-1', !dataset.embedding_available && 'opacity-50 hover:opacity-100')} onClick={(e) => {
+          <div className={cn('grow flex items-center gap-1 w-0', !dataset.embedding_available && 'opacity-50 hover:opacity-100')} onClick={(e) => {
             e.stopPropagation()
             e.preventDefault()
           }}>
             <div className={cn(
-              'mr-[41px] w-full grow group-hover:!mr-0 group-hover:!block',
+              'group-hover:!block group-hover:!mr-0 mr-[41px] grow w-full',
               tags.length ? '!block' : '!hidden',
             )}>
               <TagSelector
@@ -192,26 +192,26 @@
               />
             </div>
           </div>
-          <div className='mx-1 !hidden h-[14px] w-[1px] shrink-0 bg-divider-regular group-hover:!flex' />
-          <div className='!hidden shrink-0 group-hover:!flex'>
+          <div className='!hidden group-hover:!flex shrink-0 mx-1 w-[1px] h-[14px] bg-gray-200' />
+          <div className='!hidden group-hover:!flex shrink-0'>
             <CustomPopover
               htmlContent={<Operations showDelete={!isCurrentWorkspaceDatasetOperator} />}
               position="br"
               trigger="click"
               btnElement={
                 <div
-                  className='flex h-8 w-8 cursor-pointer items-center justify-center rounded-md'
+                  className='flex items-center justify-center w-8 h-8 cursor-pointer rounded-md'
                 >
-                  <RiMoreFill className='h-4 w-4 text-text-secondary' />
+                  <RiMoreFill className='w-4 h-4 text-gray-700' />
                 </div>
               }
               btnClassName={open =>
                 cn(
                   open ? '!bg-black/5 !shadow-none' : '!bg-transparent',
-                  'h-8 w-8 rounded-md border-none !p-2 hover:!bg-black/5',
+                  'h-8 w-8 !p-2 rounded-md border-none hover:!bg-black/5',
                 )
               }
-              className={'!z-20 h-fit !w-[128px]'}
+              className={'!w-[128px] h-fit !z-20'}
             />
           </div>
         </div>
diff --git "a/app/\050commonLayout\051/datasets/DatasetFooter.tsx" "b/app/\050commonLayout\051/datasets/DatasetFooter.tsx"
index 1f29700..b870980 100644
--- "a/app/\050commonLayout\051/datasets/DatasetFooter.tsx"
+++ "b/app/\050commonLayout\051/datasets/DatasetFooter.tsx"
@@ -6,11 +6,11 @@
   const { t } = useTranslation()
 
   return (
-    <footer className='shrink-0 grow-0 px-12 py-6'>
-      <h3 className='text-gradient text-xl font-semibold leading-tight'>{t('dataset.didYouKnow')}</h3>
-      <p className='mt-1 text-sm font-normal leading-tight text-text-secondary'>
-        {t('dataset.intro1')}<span className='inline-flex items-center gap-1 text-text-accent'>{t('dataset.intro2')}</span>{t('dataset.intro3')}<br />
-        {t('dataset.intro4')}<span className='inline-flex items-center gap-1 text-text-accent'>{t('dataset.intro5')}</span>{t('dataset.intro6')}
+    <footer className='px-12 py-6 grow-0 shrink-0'>
+      <h3 className='text-xl font-semibold leading-tight text-gradient'>{t('dataset.didYouKnow')}</h3>
+      <p className='mt-1 text-sm font-normal leading-tight text-gray-700'>
+        {t('dataset.intro1')}<span className='inline-flex items-center gap-1 text-blue-600'>{t('dataset.intro2')}</span>{t('dataset.intro3')}<br />
+        {t('dataset.intro4')}<span className='inline-flex items-center gap-1 text-blue-600'>{t('dataset.intro5')}</span>{t('dataset.intro6')}
       </p>
     </footer>
   )
diff --git "a/app/\050commonLayout\051/datasets/Datasets.tsx" "b/app/\050commonLayout\051/datasets/Datasets.tsx"
index 6383513..ea918a2 100644
--- "a/app/\050commonLayout\051/datasets/Datasets.tsx"
+++ "b/app/\050commonLayout\051/datasets/Datasets.tsx"
@@ -1,6 +1,6 @@
 'use client'
 
-import { useCallback, useEffect, useRef } from 'react'
+import { useEffect, useRef } from 'react'
 import useSWRInfinite from 'swr/infinite'
 import { debounce } from 'lodash-es'
 import { useTranslation } from 'react-i18next'
@@ -62,31 +62,24 @@
   useEffect(() => {
     loadingStateRef.current = isLoading
     document.title = `${t('dataset.knowledge')} - Dify`
-  }, [isLoading, t])
+  }, [isLoading])
 
-  const onScroll = useCallback(
-    debounce(() => {
-      if (!loadingStateRef.current && containerRef.current && anchorRef.current) {
-        const { scrollTop, clientHeight } = containerRef.current
-        const anchorOffset = anchorRef.current.offsetTop
+  useEffect(() => {
+    const onScroll = debounce(() => {
+      if (!loadingStateRef.current) {
+        const { scrollTop, clientHeight } = containerRef.current!
+        const anchorOffset = anchorRef.current!.offsetTop
         if (anchorOffset - scrollTop - clientHeight < 100)
           setSize(size => size + 1)
       }
-    }, 50),
-    [setSize],
-  )
+    }, 50)
 
-  useEffect(() => {
-    const currentContainer = containerRef.current
-    currentContainer?.addEventListener('scroll', onScroll)
-    return () => {
-      currentContainer?.removeEventListener('scroll', onScroll)
-      onScroll.cancel()
-    }
-  }, [onScroll])
+    containerRef.current?.addEventListener('scroll', onScroll)
+    return () => containerRef.current?.removeEventListener('scroll', onScroll)
+  }, [])
 
   return (
-    <nav className='grid shrink-0 grow grid-cols-1 content-start gap-4 px-12 pt-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4'>
+    <nav className='grid content-start grid-cols-1 gap-4 px-12 pt-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 grow shrink-0'>
       { isCurrentWorkspaceEditor && <NewDatasetCard ref={anchorRef} /> }
       {data?.map(({ data: datasets }) => datasets.map(dataset => (
         <DatasetCard key={dataset.id} dataset={dataset} onSuccess={mutate} />),
diff --git "a/app/\050commonLayout\051/datasets/Doc.tsx" "b/app/\050commonLayout\051/datasets/Doc.tsx"
index efdfe15..f7a7e8b 100644
--- "a/app/\050commonLayout\051/datasets/Doc.tsx"
+++ "b/app/\050commonLayout\051/datasets/Doc.tsx"
@@ -1,17 +1,13 @@
 'use client'
 
-import { useEffect, useMemo, useState } from 'react'
+import { useEffect, useState } from 'react'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
 import { RiListUnordered } from '@remixicon/react'
 import TemplateEn from './template/template.en.mdx'
 import TemplateZh from './template/template.zh.mdx'
-import TemplateJa from './template/template.ja.mdx'
 import I18n from '@/context/i18n'
 import { LanguagesSupported } from '@/i18n/language'
-import useTheme from '@/hooks/use-theme'
-import { Theme } from '@/types/app'
-import cn from '@/utils/classnames'
 
 type DocProps = {
   apiBaseUrl: string
@@ -22,7 +18,6 @@
   const { t } = useTranslation()
   const [toc, setToc] = useState<Array<{ href: string; text: string }>>([])
   const [isTocExpanded, setIsTocExpanded] = useState(false)
-  const { theme } = useTheme()
 
   // Set initial TOC expanded state based on screen width
   useEffect(() => {
@@ -71,30 +66,19 @@
     }
   }
 
-  const Template = useMemo(() => {
-    switch (locale) {
-      case LanguagesSupported[1]:
-        return <TemplateZh apiBaseUrl={apiBaseUrl} />
-      case LanguagesSupported[7]:
-        return <TemplateJa apiBaseUrl={apiBaseUrl} />
-      default:
-        return <TemplateEn apiBaseUrl={apiBaseUrl} />
-    }
-  }, [apiBaseUrl, locale])
-
   return (
     <div className="flex">
-      <div className={`fixed right-20 top-32 z-10 transition-all ${isTocExpanded ? 'w-64' : 'w-10'}`}>
+      <div className={`fixed right-16 top-32 z-10 transition-all ${isTocExpanded ? 'w-64' : 'w-10'}`}>
         {isTocExpanded
           ? (
-            <nav className="toc max-h-[calc(100vh-150px)] w-full overflow-y-auto rounded-lg bg-components-panel-bg p-4 shadow-md">
-              <div className="mb-4 flex items-center justify-between">
-                <h3 className="text-lg font-semibold text-text-primary">{t('appApi.develop.toc')}</h3>
+            <nav className="toc w-full bg-gray-50 p-4 rounded-lg shadow-md max-h-[calc(100vh-150px)] overflow-y-auto">
+              <div className="flex justify-between items-center mb-4">
+                <h3 className="text-lg font-semibold">{t('appApi.develop.toc')}</h3>
                 <button
                   onClick={() => setIsTocExpanded(false)}
-                  className="text-text-tertiary hover:text-text-secondary"
+                  className="text-gray-500 hover:text-gray-700"
                 >
-                  鉁�
+                鉁�
                 </button>
               </div>
               <ul className="space-y-2">
@@ -102,7 +86,7 @@
                   <li key={index}>
                     <a
                       href={item.href}
-                      className="text-text-secondary transition-colors duration-200 hover:text-text-primary hover:underline"
+                      className="text-gray-600 hover:text-gray-900 hover:underline transition-colors duration-200"
                       onClick={e => handleTocClick(e, item)}
                     >
                       {item.text}
@@ -115,14 +99,17 @@
           : (
             <button
               onClick={() => setIsTocExpanded(true)}
-              className="flex h-10 w-10 items-center justify-center rounded-full bg-components-button-secondary-bg shadow-md transition-colors duration-200 hover:bg-components-button-secondary-bg-hover"
+              className="w-10 h-10 bg-gray-50 rounded-full shadow-md flex items-center justify-center hover:bg-gray-100 transition-colors duration-200"
             >
-              <RiListUnordered className="h-6 w-6 text-components-button-secondary-text" />
+              <RiListUnordered className="w-6 h-6" />
             </button>
           )}
       </div>
-      <article className={cn('prose-xl prose mx-1 rounded-t-xl bg-background-default px-4 pt-16 sm:mx-12', theme === Theme.dark && 'prose-invert')}>
-        {Template}
+      <article className='mx-1 px-4 sm:mx-12 pt-16 bg-white rounded-t-xl prose prose-xl'>
+        {locale !== LanguagesSupported[1]
+          ? <TemplateEn apiBaseUrl={apiBaseUrl} />
+          : <TemplateZh apiBaseUrl={apiBaseUrl} />
+        }
       </article>
     </div>
   )
diff --git "a/app/\050commonLayout\051/datasets/NewDatasetCard.tsx" "b/app/\050commonLayout\051/datasets/NewDatasetCard.tsx"
index ddc48c2..5dd244a 100644
--- "a/app/\050commonLayout\051/datasets/NewDatasetCard.tsx"
+++ "b/app/\050commonLayout\051/datasets/NewDatasetCard.tsx"
@@ -1,41 +1,37 @@
 'use client'
+
+import { forwardRef } from 'react'
 import { useTranslation } from 'react-i18next'
-import Link from 'next/link'
 import {
   RiAddLine,
   RiArrowRightLine,
 } from '@remixicon/react'
 
-const CreateAppCard = (
-  {
-    ref,
-    ..._
-  },
-) => {
+const CreateAppCard = forwardRef<HTMLAnchorElement>((_, ref) => {
   const { t } = useTranslation()
 
   return (
-    <div className='bg-background-default-dimm flex min-h-[160px] flex-col rounded-xl border-[0.5px]
-      border-components-panel-border transition-all duration-200 ease-in-out'
+    <div className='flex flex-col bg-background-default-dimm border-[0.5px] border-components-panel-border rounded-xl
+      min-h-[160px] transition-all duration-200 ease-in-out'
     >
-      <Link ref={ref} className='group flex grow cursor-pointer items-start p-4' href={'/datasets/create'}>
+      <a ref={ref} className='group flex flex-grow items-start p-4 cursor-pointer' href='/datasets/create'>
         <div className='flex items-center gap-3'>
-          <div className='flex h-10 w-10 items-center justify-center rounded-lg border border-dashed border-divider-regular bg-background-default-lighter
-            p-2 group-hover:border-solid group-hover:border-effects-highlight group-hover:bg-background-default-dodge'
+          <div className='w-10 h-10 p-2 flex items-center justify-center border border-dashed border-divider-regular rounded-lg
+            bg-background-default-lighter group-hover:border-solid group-hover:border-effects-highlight group-hover:bg-background-default-dodge'
           >
-            <RiAddLine className='h-4 w-4 text-text-tertiary group-hover:text-text-accent'/>
+            <RiAddLine className='w-4 h-4 text-text-tertiary group-hover:text-text-accent'/>
           </div>
           <div className='system-md-semibold text-text-secondary group-hover:text-text-accent'>{t('dataset.createDataset')}</div>
         </div>
-      </Link>
-      <div className='system-xs-regular p-4 pt-0 text-text-tertiary'>{t('dataset.createDatasetIntro')}</div>
-      <Link className='group flex cursor-pointer items-center gap-1 rounded-b-xl border-t-[0.5px] border-divider-subtle p-4' href={'datasets/connect'}>
+      </a>
+      <div className='p-4 pt-0 text-text-tertiary system-xs-regular'>{t('dataset.createDatasetIntro')}</div>
+      <a className='group flex p-4 items-center gap-1 border-t-[0.5px] border-divider-subtle rounded-b-xl cursor-pointer' href='/datasets/connect'>
         <div className='system-xs-medium text-text-tertiary group-hover:text-text-accent'>{t('dataset.connectDataset')}</div>
-        <RiArrowRightLine className='h-3.5 w-3.5 text-text-tertiary group-hover:text-text-accent' />
-      </Link>
+        <RiArrowRightLine className='w-3.5 h-3.5 text-text-tertiary group-hover:text-text-accent' />
+      </a>
     </div>
   )
-}
+})
 
 CreateAppCard.displayName = 'CreateAppCard'
 
diff --git "a/app/\050commonLayout\051/datasets/page.tsx" "b/app/\050commonLayout\051/datasets/page.tsx"
index 678de47..096a1b8 100644
--- "a/app/\050commonLayout\051/datasets/page.tsx"
+++ "b/app/\050commonLayout\051/datasets/page.tsx"
@@ -4,4 +4,8 @@
   return <Container />
 }
 
+export const metadata = {
+  title: 'Datasets - Dify',
+}
+
 export default AppList
diff --git "a/app/\050commonLayout\051/datasets/template/template.en.mdx" "b/app/\050commonLayout\051/datasets/template/template.en.mdx"
index 7f28610..ac57e3a 100644
--- "a/app/\050commonLayout\051/datasets/template/template.en.mdx"
+++ "b/app/\050commonLayout\051/datasets/template/template.en.mdx"
@@ -1,8 +1,3 @@
-{/**
-  * @typedef Props
-  * @property {string} apiBaseUrl
-  */}
-
 import { CodeGroup } from '@/app/components/develop/code.tsx'
 import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstruction, Paragraph } from '@/app/components/develop/md.tsx'
 
@@ -37,7 +32,7 @@
   <Col>
     This API is based on an existing knowledge and creates a new document through text based on this knowledge.
 
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -51,6 +46,44 @@
       </Property>
       <Property name='text' type='string' key='text'>
         Document content
+      </Property>
+      <Property name='doc_type' type='string' key='doc_type'>
+        Type of document (optional):
+          - <code>book</code> Book
+          - <code>web_page</code> Web page
+          - <code>paper</code> Academic paper/article 
+          - <code>social_media_post</code> Social media post
+          - <code>wikipedia_entry</code> Wikipedia entry
+          - <code>personal_document</code> Personal document
+          - <code>business_document</code> Business document
+          - <code>im_chat_log</code> Chat log
+          - <code>synced_from_notion</code> Notion document
+          - <code>synced_from_github</code> GitHub document
+          - <code>others</code> Other document types
+      </Property>
+      <Property name='doc_metadata' type='object' key='doc_metadata'>
+        Document metadata (required if doc_type is provided). Fields vary by doc_type:
+          For <code>book</code>:
+          - <code>title</code> Book title 
+          - <code>language</code> Book language
+          - <code>author</code> Book author
+          - <code>publisher</code> Publisher name
+          - <code>publication_date</code> Publication date
+          - <code>isbn</code> ISBN number
+          - <code>category</code> Book category
+
+          For <code>web_page</code>:
+          - <code>title</code> Page title
+          - <code>url</code> Page URL
+          - <code>language</code> Page language
+          - <code>publish_date</code> Publish date
+          - <code>author/publisher</code> Author or publisher
+          - <code>topic/keywords</code> Topic or keywords
+          - <code>description</code> Page description
+
+          Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
+
+          For doc_type "others", any valid JSON object is accepted
       </Property>
       <Property name='indexing_technique' type='string' key='indexing_technique'>
         Index mode
@@ -175,7 +208,7 @@
   <Col>
     This API is based on an existing knowledge and creates a new document through a file based on this knowledge.
 
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -199,6 +232,68 @@
           - <code>text_model</code> Text documents are directly embedded; `economy` mode defaults to using this form
           - <code>hierarchical_model</code> Parent-child mode
           - <code>qa_model</code> Q&A Mode: Generates Q&A pairs for segmented documents and then embeds the questions
+
+        - <code>doc_type</code> Type of document (optional)
+          - <code>book</code> Book
+            Document records a book or publication
+          - <code>web_page</code> Web page 
+            Document records web page content
+          - <code>paper</code> Academic paper/article
+            Document records academic paper or research article
+          - <code>social_media_post</code> Social media post
+            Content from social media posts
+          - <code>wikipedia_entry</code> Wikipedia entry
+            Content from Wikipedia entries
+          - <code>personal_document</code> Personal document
+            Documents related to personal content
+          - <code>business_document</code> Business document
+            Documents related to business content
+          - <code>im_chat_log</code> Chat log
+            Records of instant messaging chats
+          - <code>synced_from_notion</code> Notion document
+            Documents synchronized from Notion
+          - <code>synced_from_github</code> GitHub document
+            Documents synchronized from GitHub
+          - <code>others</code> Other document types
+            Other document types not listed above
+
+        - <code>doc_metadata</code> Document metadata (required if doc_type is provided)
+          Fields vary by doc_type:
+
+          For <code>book</code>:
+          - <code>title</code> Book title
+            Title of the book
+          - <code>language</code> Book language
+            Language of the book
+          - <code>author</code> Book author
+            Author of the book
+          - <code>publisher</code> Publisher name
+            Name of the publishing house
+          - <code>publication_date</code> Publication date
+            Date when the book was published
+          - <code>isbn</code> ISBN number
+            International Standard Book Number
+          - <code>category</code> Book category
+            Category or genre of the book
+
+          For <code>web_page</code>:
+          - <code>title</code> Page title
+            Title of the web page
+          - <code>url</code> Page URL
+            URL address of the web page
+          - <code>language</code> Page language
+            Language of the web page
+          - <code>publish_date</code> Publish date
+            Date when the web page was published
+          - <code>author/publisher</code> Author or publisher
+            Author or publisher of the web page
+          - <code>topic/keywords</code> Topic or keywords
+            Topics or keywords of the web page
+          - <code>description</code> Page description
+            Description of the web page content
+
+          Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
+          For doc_type "others", any valid JSON object is accepted
 
         - <code>doc_language</code> In Q&A mode, specify the language of the document, for example: <code>English</code>, <code>Chinese</code>
 
@@ -312,9 +407,46 @@
       <Property name='description' type='string' key='description'>
         Knowledge description (optional)
       </Property>
+      <Property name='doc_type' type='string' key='doc_type'>
+        Type of document (optional):
+          - <code>book</code> Book
+          - <code>web_page</code> Web page
+          - <code>paper</code> Academic paper/article 
+          - <code>social_media_post</code> Social media post
+          - <code>wikipedia_entry</code> Wikipedia entry
+          - <code>personal_document</code> Personal document
+          - <code>business_document</code> Business document
+          - <code>im_chat_log</code> Chat log
+          - <code>synced_from_notion</code> Notion document
+          - <code>synced_from_github</code> GitHub document
+          - <code>others</code> Other document types
+      </Property>
+      <Property name='doc_metadata' type='object' key='doc_metadata'>
+        Document metadata (required if doc_type is provided). Fields vary by doc_type:
+          For <code>book</code>:
+          - <code>title</code> Book title 
+          - <code>language</code> Book language
+          - <code>author</code> Book author
+          - <code>publisher</code> Publisher name
+          - <code>publication_date</code> Publication date
+          - <code>isbn</code> ISBN number
+          - <code>category</code> Book category
+
+          For <code>web_page</code>:
+          - <code>title</code> Page title
+          - <code>url</code> Page URL
+          - <code>language</code> Page language
+          - <code>publish_date</code> Publish date
+          - <code>author/publisher</code> Author or publisher
+          - <code>topic/keywords</code> Topic or keywords
+          - <code>description</code> Page description
+
+          Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
+
+          For doc_type "others", any valid JSON object is accepted
+      </Property>
       <Property name='indexing_technique' type='string' key='indexing_technique'>
         Index technique (optional)
-        If this is not set, embedding_model, embedding_model_provider and retrieval_model will be set to null
           - <code>high_quality</code> High quality
           - <code>economy</code> Economy
       </Property>
@@ -334,26 +466,6 @@
       </Property>
       <Property name='external_knowledge_id' type='str' key='external_knowledge_id'>
         External knowledge ID (optional)
-      </Property>
-      <Property name='embedding_model' type='str' key='embedding_model'>
-        Embedding model name (optional)
-      </Property>
-      <Property name='embedding_model_provider' type='str' key='embedding_model_provider'>
-        Embedding model provider name (optional)
-      </Property>
-      <Property name='retrieval_model' type='object' key='retrieval_model'>
-        Retrieval model (optional)
-          - <code>search_method</code> (string) Search method
-            - <code>hybrid_search</code> Hybrid search
-            - <code>semantic_search</code> Semantic search
-            - <code>full_text_search</code> Full-text search
-          - <code>reranking_enable</code> (bool) Whether to enable reranking
-          - <code>reranking_model</code> (object) Rerank model configuration
-              - <code>reranking_provider_name</code> (string) Rerank model provider
-              - <code>reranking_model_name</code> (string) Rerank model name
-          - <code>top_k</code> (int) Number of results to return
-          - <code>score_threshold_enabled</code> (bool) Whether to enable score threshold
-          - <code>score_threshold</code> (float) Score threshold
       </Property>
     </Properties>
   </Col>
@@ -412,20 +524,11 @@
   <Col>
     ### Query
     <Properties>
-      <Property name='keyword' type='string' key='keyword'>
-        Search keyword, optional
-      </Property>
-      <Property name='tag_ids' type='array[string]' key='tag_ids'>
-        Tag ID list, optional
-      </Property>
       <Property name='page' type='string' key='page'>
-        Page number, optional, default 1
+        Page number
       </Property>
       <Property name='limit' type='string' key='limit'>
-        Number of items returned, optional, default 20, range 1-100
-      </Property>
-      <Property name='include_all' type='boolean' key='include_all'>
-        Whether to include all datasets (only effective for owners), optional, defaults to false
+        Number of items returned, default 20, range 1-100
       </Property>
     </Properties>
   </Col>
@@ -476,255 +579,13 @@
 
 <Heading
   url='/datasets/{dataset_id}'
-  method='GET'
-  title='Get knowledge base details by knowledge base ID'
-  name='#view_dataset'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge Base ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/datasets/{dataset_id}"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "eaedb485-95ac-4ffd-ab1e-18da6d676a2f",
-      "name": "Test Knowledge Base",
-      "description": "",
-      "provider": "vendor",
-      "permission": "only_me",
-      "data_source_type": null,
-      "indexing_technique": null,
-      "app_count": 0,
-      "document_count": 0,
-      "word_count": 0,
-      "created_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "created_at": 1735620612,
-      "updated_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "updated_at": 1735620612,
-      "embedding_model": null,
-      "embedding_model_provider": null,
-      "embedding_available": true,
-      "retrieval_model_dict": {
-        "search_method": "semantic_search",
-        "reranking_enable": false,
-        "reranking_mode": null,
-        "reranking_model": {
-          "reranking_provider_name": "",
-          "reranking_model_name": ""
-        },
-        "weights": null,
-        "top_k": 2,
-        "score_threshold_enabled": false,
-        "score_threshold": null
-      },
-      "tags": [],
-      "doc_form": null,
-      "external_knowledge_info": {
-        "external_knowledge_id": null,
-        "external_knowledge_api_id": null,
-        "external_knowledge_api_name": null,
-        "external_knowledge_api_endpoint": null
-      },
-      "external_retrieval_model": {
-        "top_k": 2,
-        "score_threshold": 0.0,
-        "score_threshold_enabled": null
-      }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}'
-  method='PATCH'
-  title='Update knowledge base'
-  name='#update_dataset'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge Base ID
-      </Property>
-      <Property name='indexing_technique' type='string' key='indexing_technique'>
-        Index technique (optional)
-          - <code>high_quality</code> High quality
-          - <code>economy</code> Economy
-      </Property>
-      <Property name='permission' type='string' key='permission'>
-        Permission
-          - <code>only_me</code> Only me
-          - <code>all_team_members</code> All team members
-          - <code>partial_members</code> Partial members
-      </Property>
-      <Property name='embedding_model_provider' type='string' key='embedding_model_provider'>
-        Specified embedding model provider, must be set up in the system first, corresponding to the provider field(Optional)
-      </Property>
-      <Property name='embedding_model' type='string' key='embedding_model'>
-        Specified embedding model, corresponding to the model field(Optional)
-      </Property>
-      <Property name='retrieval_model' type='object' key='retrieval_model'>
-        Retrieval model (optional, if not filled, it will be recalled according to the default method)
-        - <code>search_method</code> (text) Search method: One of the following four keywords is required
-          - <code>keyword_search</code> Keyword search
-          - <code>semantic_search</code> Semantic search
-          - <code>full_text_search</code> Full-text search
-          - <code>hybrid_search</code> Hybrid search
-        - <code>reranking_enable</code> (bool) Whether to enable reranking, required if the search mode is semantic_search or hybrid_search (optional)
-        - <code>reranking_mode</code> (object) Rerank model configuration, required if reranking is enabled
-            - <code>reranking_provider_name</code> (string) Rerank model provider
-            - <code>reranking_model_name</code> (string) Rerank model name
-        - <code>weights</code> (float) Semantic search weight setting in hybrid search mode
-        - <code>top_k</code> (integer) Number of results to return (optional)
-        - <code>score_threshold_enabled</code> (bool) Whether to enable score threshold
-        - <code>score_threshold</code> (float) Score threshold
-      </Property>
-      <Property name='partial_member_list' type='array' key='partial_member_list'>
-        Partial member list(Optional)
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PATCH"
-      label="/datasets/{dataset_id}"
-      targetCode={`curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{
-        "name": "Test Knowledge Base", 
-        "indexing_technique": "high_quality", 
-        "permission": "only_me", 
-        "embedding_model_provider": "zhipuai", 
-        "embedding_model": "embedding-3", 
-        "retrieval_model": {
-          "search_method": "keyword_search",
-          "reranking_enable": false,
-          "reranking_mode": null,
-          "reranking_model": {
-              "reranking_provider_name": "",
-              "reranking_model_name": ""
-          },
-          "weights": null,
-          "top_k": 1,
-          "score_threshold_enabled": false,
-          "score_threshold": null
-        }, 
-        "partial_member_list": []
-      }'
-    `}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-      "name": "Test Knowledge Base", 
-      "indexing_technique": "high_quality", 
-      "permission": "only_me", 
-      "embedding_model_provider": "zhipuai", 
-      "embedding_model": "embedding-3", 
-      "retrieval_model": {
-        "search_method": "keyword_search",
-        "reranking_enable": false,
-        "reranking_mode": null,
-        "reranking_model": {
-            "reranking_provider_name": "",
-            "reranking_model_name": ""
-        },
-        "weights": null,
-        "top_k": 1,
-        "score_threshold_enabled": false,
-        "score_threshold": null
-      }, 
-      "partial_member_list": []
-    }'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "eaedb485-95ac-4ffd-ab1e-18da6d676a2f",
-      "name": "Test Knowledge Base",
-      "description": "",
-      "provider": "vendor",
-      "permission": "only_me",
-      "data_source_type": null,
-      "indexing_technique": "high_quality",
-      "app_count": 0,
-      "document_count": 0,
-      "word_count": 0,
-      "created_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "created_at": 1735620612,
-      "updated_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "updated_at": 1735622679,
-      "embedding_model": "embedding-3",
-      "embedding_model_provider": "zhipuai",
-      "embedding_available": null,
-      "retrieval_model_dict": {
-          "search_method": "semantic_search",
-          "reranking_enable": false,
-          "reranking_mode": null,
-          "reranking_model": {
-              "reranking_provider_name": "",
-              "reranking_model_name": ""
-          },
-          "weights": null,
-          "top_k": 2,
-          "score_threshold_enabled": false,
-          "score_threshold": null
-      },
-      "tags": [],
-      "doc_form": null,
-      "external_knowledge_info": {
-          "external_knowledge_id": null,
-          "external_knowledge_api_id": null,
-          "external_knowledge_api_name": null,
-          "external_knowledge_api_endpoint": null
-      },
-      "external_retrieval_model": {
-          "top_k": 2,
-          "score_threshold": 0.0,
-          "score_threshold_enabled": null
-      },
-      "partial_member_list": []
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}'
   method='DELETE'
   title='Delete a Knowledge Base'
   name='#delete_dataset'
 />
 <Row>
   <Col>
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -763,7 +624,7 @@
   <Col>
     This API is based on an existing knowledge and updates the document through text based on this knowledge.
 
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -865,7 +726,7 @@
   <Col>
     This API is based on an existing knowledge, and updates documents through files based on this knowledge
 
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -901,6 +762,67 @@
               - <code>separator</code> Segmentation identifier. Currently, only one delimiter is allowed. The default is <code>***</code>
               - <code>max_tokens</code> The maximum length (tokens) must be validated to be shorter than the length of the parent chunk
               - <code>chunk_overlap</code> Define the overlap between adjacent chunks (optional)
+            - <code>doc_type</code> Type of document (optional)
+              - <code>book</code> Book
+                Document records a book or publication
+              - <code>web_page</code> Web page 
+                Document records web page content
+              - <code>paper</code> Academic paper/article
+                Document records academic paper or research article
+              - <code>social_media_post</code> Social media post
+                Content from social media posts
+              - <code>wikipedia_entry</code> Wikipedia entry
+                Content from Wikipedia entries
+              - <code>personal_document</code> Personal document
+                Documents related to personal content
+              - <code>business_document</code> Business document
+                Documents related to business content
+              - <code>im_chat_log</code> Chat log
+                Records of instant messaging chats
+              - <code>synced_from_notion</code> Notion document
+                Documents synchronized from Notion
+              - <code>synced_from_github</code> GitHub document
+                Documents synchronized from GitHub
+              - <code>others</code> Other document types
+                Other document types not listed above
+
+            - <code>doc_metadata</code> Document metadata (required if doc_type is provided)
+              Fields vary by doc_type:
+
+              For <code>book</code>:
+              - <code>title</code> Book title
+                Title of the book
+              - <code>language</code> Book language
+                Language of the book
+              - <code>author</code> Book author
+                Author of the book
+              - <code>publisher</code> Publisher name
+                Name of the publishing house
+              - <code>publication_date</code> Publication date
+                Date when the book was published
+              - <code>isbn</code> ISBN number
+                International Standard Book Number
+              - <code>category</code> Book category
+                Category or genre of the book
+
+              For <code>web_page</code>:
+              - <code>title</code> Page title
+                Title of the web page
+              - <code>url</code> Page URL
+                URL address of the web page
+              - <code>language</code> Page language
+                Language of the web page
+              - <code>publish_date</code> Publish date
+                Date when the web page was published
+              - <code>author/publisher</code> Author or publisher
+                Author or publisher of the web page
+              - <code>topic/keywords</code> Topic or keywords
+                Topics or keywords of the web page
+              - <code>description</code> Page description
+                Description of the web page content
+
+              Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
+              For doc_type "others", any valid JSON object is accepted
       </Property>
     </Properties>
   </Col>
@@ -962,7 +884,7 @@
 />
 <Row>
   <Col>
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -1017,7 +939,7 @@
 />
 <Row>
   <Col>
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -1040,8 +962,10 @@
     ```
     </CodeGroup>
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -1057,7 +981,7 @@
 />
 <Row>
   <Col>
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -1132,7 +1056,7 @@
 />
 <Row>
   <Col>
-    ### Path
+    ### Params
     <Properties>
       <Property name='dataset_id' type='string' key='dataset_id'>
         Knowledge ID
@@ -1236,12 +1160,6 @@
       <Property name='status' type='string' key='status'>
         Search status, completed
       </Property>
-      <Property name='page' type='string' key='page'>
-        Page number (optional)
-      </Property>
-      <Property name='limit' type='string' key='limit'>
-        Number of items returned, default 20, range 1-100 (optional)
-      </Property>
     </Properties>
   </Col>
   <Col sticky>
@@ -1285,11 +1203,7 @@
         "error": null,
         "stopped_at": null
       }],
-      "doc_form": "text_model",
-      "has_more": false,
-      "limit": 20,
-      "total": 9,
-      "page": 1
+      "doc_form": "text_model"
     }
     ```
     </CodeGroup>
@@ -1324,17 +1238,19 @@
       title="Request"
       tag="DELETE"
       label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
+      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/segments/{segment_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
     >
     ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}' \
+    curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/segments/{segment_id}' \
     --header 'Authorization: Bearer {api_key}' \
     --header 'Content-Type: application/json'
     ```
     </CodeGroup>
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -1397,7 +1313,7 @@
     <CodeGroup title="Response">
     ```json {{ title: 'Response' }}
     {
-      "data": {
+      "data": [{
         "id": "",
         "position": 1,
         "document_id": "",
@@ -1421,276 +1337,8 @@
         "completed_at": 1695312007,
         "error": null,
         "stopped_at": null
-      },
-      "doc_form": "text_model"
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks'
-  method='POST'
-  title='Create Child Chunk'
-  name='#create_child_chunk'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        Document ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        Segment ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='content' type='string' key='content'>
-        Child chunk content
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"content": "Child chunk content"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "content": "Child chunk content"
-    }'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": {
-        "id": "",
-        "segment_id": "",
-        "content": "Child chunk content",
-        "word_count": 25,
-        "tokens": 0,
-        "index_node_id": "",
-        "index_node_hash": "",
-        "status": "completed",
-        "created_by": "",
-        "created_at": 1695312007,
-        "indexing_at": 1695312007,
-        "completed_at": 1695312007,
-        "error": null,
-        "stopped_at": null
-      }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks'
-  method='GET'
-  title='Get Child Chunks'
-  name='#get_child_chunks'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        Document ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        Segment ID
-      </Property>
-    </Properties>
-
-    ### Query
-    <Properties>
-      <Property name='keyword' type='string' key='keyword'>
-        Search keyword (optional)
-      </Property>
-      <Property name='page' type='integer' key='page'>
-        Page number (optional, default: 1)
-      </Property>
-      <Property name='limit' type='integer' key='limit'>
-        Items per page (optional, default: 20, max: 100)
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks?page=1&limit=20' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": [{
-        "id": "",
-        "segment_id": "",
-        "content": "Child chunk content",
-        "word_count": 25,
-        "tokens": 0,
-        "index_node_id": "",
-        "index_node_hash": "",
-        "status": "completed",
-        "created_by": "",
-        "created_at": 1695312007,
-        "indexing_at": 1695312007,
-        "completed_at": 1695312007,
-        "error": null,
-        "stopped_at": null
       }],
-      "total": 1,
-      "total_pages": 1,
-      "page": 1,
-      "limit": 20
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}'
-  method='DELETE'
-  title='Delete Child Chunk'
-  name='#delete_child_chunk'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        Document ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        Segment ID
-      </Property>
-      <Property name='child_chunk_id' type='string' key='child_chunk_id'>
-        Child Chunk ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="DELETE"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}'
-  method='PATCH'
-  title='Update Child Chunk'
-  name='#update_child_chunk'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        Document ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        Segment ID
-      </Property>
-      <Property name='child_chunk_id' type='string' key='child_chunk_id'>
-        Child Chunk ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='content' type='string' key='content'>
-        Child chunk content
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PATCH"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}"
-      targetCode={`curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"content": "Updated child chunk content"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "content": "Updated child chunk content"
-    }'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": {
-        "id": "",
-        "segment_id": "",
-        "content": "Updated child chunk content",
-        "word_count": 25,
-        "tokens": 0,
-        "index_node_id": "",
-        "index_node_hash": "",
-        "status": "completed",
-        "created_by": "",
-        "created_at": 1695312007,
-        "indexing_at": 1695312007,
-        "completed_at": 1695312007,
-        "error": null,
-        "stopped_at": null
-      }
+      "doc_form": "text_model"
     }
     ```
     </CodeGroup>
@@ -1880,6 +1528,7 @@
               "id": "a8c6c36f-9f5d-4d7a-8472-f5d7b75d71d2",
               "data_source_type": "upload_file",
               "name": "readme.txt",
+              "doc_type": null
             }
           },
           "score": 3.730463140527718e-05,
@@ -1890,359 +1539,6 @@
     ```
     </CodeGroup>
   </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata'
-  method='POST'
-  title='Create a Knowledge Metadata'
-  name='#create_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='segment' type='object' key='segment'>
-        - <code>type</code> (string) Metadata type, required
-        - <code>name</code> (string) Metadata name, required
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/metadata"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/metadata' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'\\\n--data-raw '{"type": "string", "name": "test"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "abc",
-      "type": "string",
-      "name": "test",
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata/{metadata_id}'
-  method='PATCH'
-  title='Update a Knowledge Metadata'
-  name='#update_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='metadata_id' type='string' key='metadata_id'>
-        Metadata ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='segment' type='object' key='segment'>
-        - <code>name</code> (string) Metadata name, required
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PATCH"
-      label="/datasets/{dataset_id}/metadata/{metadata_id}"
-      targetCode={`curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/metadata/{metadata_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'\\\n--data-raw '{"name": "test"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "abc",
-      "type": "string",
-      "name": "test",
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata/{metadata_id}'
-  method='DELETE'
-  title='Delete a Knowledge Metadata'
-  name='#delete_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='metadata_id' type='string' key='metadata_id'>
-        Metadata ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="DELETE"
-      label="/datasets/{dataset_id}/metadata/{metadata_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/metadata/{metadata_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata/built-in/{action}'
-  method='POST'
-  title='Disable Or Enable Built-in Metadata'
-  name='#toggle_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-      <Property name='action' type='string' key='action'>
-        disable/enable
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/metadata/built-in/{action}"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/metadata/built-in/{action}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/metadata'
-  method='POST'
-  title='Update Documents Metadata'
-  name='#update_documents_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='operation_data' type='object list' key='segments'>
-        - <code>document_id</code> (string) Document ID
-        - <code>metadata_list</code> (list) Metadata list
-          - <code>id</code> (string) Metadata ID
-          - <code>value</code> (string) Metadata value
-          - <code>name</code> (string) Metadata name
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/documents/metadata"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/metadata' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'\\\n--data-raw '{"operation_data": [{"document_id": "document_id", "metadata_list": [{"id": "id", "value": "value", "name": "name"}]}]}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata'
-  method='GET'
-  title='Get Knowledge Metadata List'
-  name='#dataset_metadata_list'
-/>
-<Row>
-  <Col>
-    ### Params
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        Knowledge ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/datasets/{dataset_id}/metadata"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/metadata' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "doc_metadata": [
-        {
-          "id": "",
-          "name": "name",
-          "type": "string",
-          "use_count": 0,
-        },
-        ...
-      ],
-      "built_in_field_enabled": true
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
- 
-<Heading
- url='/workspaces/current/models/model-types/text-embedding'
- method='GET'
- title='Get available embedding models'
- name='#model_type_list'
-/>
-<Row>
-   <Col>
-     ### Query
-     <Properties>
-     </Properties>
-   </Col>
-   <Col sticky>
-     <CodeGroup
-       title="Request"
-       tag="GET"
-       label="/datasets/{dataset_id}"
-       targetCode={`curl --location --location --request GET '${props.apiBaseUrl}/workspaces/current/models/model-types/text-embedding' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' `}
-     >
-     ```bash {{ title: 'cURL' }}
-     curl --location --request GET '${props.apiBaseUrl}/workspaces/current/models/model-types/text-embedding' \
-     --header 'Authorization: Bearer {api_key}' \
-     --header 'Content-Type: application/json' \
-     ```
-     </CodeGroup>
-     <CodeGroup title="Response">
-     ```json {{ title: 'Response' }}
-     {
-       "data": [
-           {
-               "provider": "zhipuai",
-               "label": {
-                   "zh_Hans": "鏅鸿氨 AI",
-                   "en_US": "ZHIPU AI"
-               },
-               "icon_small": {
-                   "zh_Hans": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_small/zh_Hans",
-                   "en_US": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_small/en_US"
-               },
-               "icon_large": {
-                   "zh_Hans": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_large/zh_Hans",
-                   "en_US": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_large/en_US"
-               },
-               "status": "active",
-               "models": [
-                   {
-                       "model": "embedding-3",
-                       "label": {
-                           "zh_Hans": "embedding-3",
-                           "en_US": "embedding-3"
-                       },
-                       "model_type": "text-embedding",
-                       "features": null,
-                       "fetch_from": "predefined-model",
-                       "model_properties": {
-                           "context_size": 8192
-                       },
-                       "deprecated": false,
-                       "status": "active",
-                       "load_balancing_enabled": false
-                   },
-                   {
-                       "model": "embedding-2",
-                       "label": {
-                           "zh_Hans": "embedding-2",
-                           "en_US": "embedding-2"
-                       },
-                       "model_type": "text-embedding",
-                       "features": null,
-                       "fetch_from": "predefined-model",
-                       "model_properties": {
-                           "context_size": 8192
-                       },
-                       "deprecated": false,
-                       "status": "active",
-                       "load_balancing_enabled": false
-                   },
-                   {
-                       "model": "text_embedding",
-                       "label": {
-                           "zh_Hans": "text_embedding",
-                           "en_US": "text_embedding"
-                       },
-                       "model_type": "text-embedding",
-                       "features": null,
-                       "fetch_from": "predefined-model",
-                       "model_properties": {
-                           "context_size": 512
-                       },
-                       "deprecated": false,
-                       "status": "active",
-                       "load_balancing_enabled": false
-                   }
-               ]
-           }
-       ]
-     }
-     ```
-     </CodeGroup>
-   </Col>
 </Row>
 
 <hr className='ml-0 mr-0' />
diff --git "a/app/\050commonLayout\051/datasets/template/template.zh.mdx" "b/app/\050commonLayout\051/datasets/template/template.zh.mdx"
index e3c716e..0e5857c 100644
--- "a/app/\050commonLayout\051/datasets/template/template.zh.mdx"
+++ "b/app/\050commonLayout\051/datasets/template/template.zh.mdx"
@@ -1,8 +1,3 @@
-{/**
-  * @typedef Props
-  * @property {string} apiBaseUrl
-  */}
-
 import { CodeGroup } from '@/app/components/develop/code.tsx'
 import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstruction, Paragraph } from '@/app/components/develop/md.tsx'
 
@@ -52,10 +47,49 @@
       <Property name='text' type='string' key='text'>
         鏂囨。鍐呭
       </Property>
+      <Property name='doc_type' type='string' key='doc_type'>
+        鏂囨。绫诲瀷锛堥�夊~锛�
+          - <code>book</code> 鍥句功 Book
+          - <code>web_page</code> 缃戦〉 Web page
+          - <code>paper</code> 瀛︽湳璁烘枃/鏂囩珷 Academic paper/article 
+          - <code>social_media_post</code> 绀句氦濯掍綋甯栧瓙 Social media post
+          - <code>wikipedia_entry</code> 缁村熀鐧剧鏉$洰 Wikipedia entry
+          - <code>personal_document</code> 涓汉鏂囨。 Personal document
+          - <code>business_document</code> 鍟嗕笟鏂囨。 Business document
+          - <code>im_chat_log</code> 鍗虫椂閫氳璁板綍 Chat log
+          - <code>synced_from_notion</code> Notion鍚屾鏂囨。 Notion document
+          - <code>synced_from_github</code> GitHub鍚屾鏂囨。 GitHub document
+          - <code>others</code> 鍏朵粬鏂囨。绫诲瀷 Other document types
+      </Property>
+      <Property name='doc_metadata' type='object' key='doc_metadata'>
+      
+        鏂囨。鍏冩暟鎹紙濡傛彁渚涙枃妗g被鍨嬪垯蹇呭~锛夈�傚瓧娈靛洜鏂囨。绫诲瀷鑰屽紓锛�
+          
+          閽堝鍥句功 For <code>book</code>:
+          - <code>title</code> 涔﹀悕 Book title 
+          - <code>language</code> 鍥句功璇█ Book language
+          - <code>author</code> 浣滆�� Book author
+          - <code>publisher</code> 鍑虹増绀� Publisher name
+          - <code>publication_date</code> 鍑虹増鏃ユ湡 Publication date
+          - <code>isbn</code> ISBN鍙风爜 ISBN number
+          - <code>category</code> 鍥句功鍒嗙被 Book category
+
+          閽堝缃戦〉 For <code>web_page</code>:
+          - <code>title</code> 椤甸潰鏍囬 Page title
+          - <code>url</code> 椤甸潰缃戝潃 Page URL
+          - <code>language</code> 椤甸潰璇█ Page language
+          - <code>publish_date</code> 鍙戝竷鏃ユ湡 Publish date
+          - <code>author/publisher</code> 浣滆��/鍙戝竷鑰� Author or publisher
+          - <code>topic/keywords</code> 涓婚/鍏抽敭璇� Topic or keywords
+          - <code>description</code> 椤甸潰鎻忚堪 Page description
+
+          璇锋煡鐪� [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) 浜嗚В鍚勬枃妗g被鍨嬫墍闇�瀛楁鐨勮缁嗕俊鎭��
+
+          閽堝"鍏朵粬"绫诲瀷鏂囨。锛屾帴鍙椾换浣曟湁鏁堢殑JSON瀵硅薄
+      </Property>
       <Property name='indexing_technique' type='string' key='indexing_technique'>
         绱㈠紩鏂瑰紡
-          - <code>high_quality</code> 楂樿川閲忥細浣跨敤  
-        ding 妯″瀷杩涜宓屽叆锛屾瀯寤轰负鍚戦噺鏁版嵁搴撶储寮�
+          - <code>high_quality</code> 楂樿川閲忥細浣跨敤  embedding 妯″瀷杩涜宓屽叆锛屾瀯寤轰负鍚戦噺鏁版嵁搴撶储寮�
           - <code>economy</code> 缁忔祹锛氫娇鐢� keyword table index 鐨勫�掓帓绱㈠紩杩涜鏋勫缓
       </Property>
       <Property name='doc_form' type='string' key='doc_form'>
@@ -94,9 +128,6 @@
             - <code>semantic_search</code> 璇箟妫�绱�
             - <code>full_text_search</code> 鍏ㄦ枃妫�绱�
           - <code>reranking_enable</code> (bool) 鏄惁寮�鍚痳erank
-          - <code>reranking_mode</code> (String) 娣峰悎妫�绱�
-            - <code>weighted_score</code> 鏉冮噸璁剧疆
-            - <code>reranking_model</code> Rerank 妯″瀷
           - <code>reranking_model</code> (object) Rerank 妯″瀷閰嶇疆
             - <code>reranking_provider_name</code> (string) Rerank 妯″瀷鐨勬彁渚涘晢
             - <code>reranking_model_name</code> (string) Rerank 妯″瀷鐨勫悕绉�
@@ -203,6 +234,68 @@
           - <code>text_model</code> text 鏂囨。鐩存帴 embedding锛岀粡娴庢ā寮忛粯璁や负璇ユā寮�
           - <code>hierarchical_model</code> parent-child 妯″紡
           - <code>qa_model</code> Q&A 妯″紡锛氫负鍒嗙墖鏂囨。鐢熸垚 Q&A 瀵癸紝鐒跺悗瀵归棶棰樿繘琛� embedding
+        - <code>doc_type</code> 鏂囨。绫诲瀷锛堥�夊~锛塗ype of document (optional)
+          - <code>book</code> 鍥句功
+            鏂囨。璁板綍涓�鏈功绫嶆垨鍑虹増鐗�
+          - <code>web_page</code> 缃戦〉
+            缃戦〉鍐呭鐨勬枃妗h褰�
+          - <code>paper</code> 瀛︽湳璁烘枃/鏂囩珷
+            瀛︽湳璁烘枃鎴栫爺绌舵枃绔犵殑璁板綍
+          - <code>social_media_post</code> 绀句氦濯掍綋甯栧瓙
+            绀句氦濯掍綋涓婄殑甯栧瓙鍐呭
+          - <code>wikipedia_entry</code> 缁村熀鐧剧鏉$洰
+            缁村熀鐧剧鐨勮瘝鏉″唴瀹�
+          - <code>personal_document</code> 涓汉鏂囨。
+            涓汉鐩稿叧鐨勬枃妗h褰�
+          - <code>business_document</code> 鍟嗕笟鏂囨。
+            鍟嗕笟鐩稿叧鐨勬枃妗h褰�
+          - <code>im_chat_log</code> 鍗虫椂閫氳璁板綍
+            鍗虫椂閫氳鐨勮亰澶╄褰�
+          - <code>synced_from_notion</code> Notion鍚屾鏂囨。
+            浠嶯otion鍚屾鐨勬枃妗e唴瀹�
+          - <code>synced_from_github</code> GitHub鍚屾鏂囨。
+            浠嶨itHub鍚屾鐨勬枃妗e唴瀹�
+          - <code>others</code> 鍏朵粬鏂囨。绫诲瀷
+            鍏朵粬鏈垪鍑虹殑鏂囨。绫诲瀷
+
+        - <code>doc_metadata</code> 鏂囨。鍏冩暟鎹紙濡傛彁渚涙枃妗g被鍨嬪垯蹇呭~
+          瀛楁鍥犳枃妗g被鍨嬭�屽紓
+
+          閽堝鍥句功绫诲瀷 For <code>book</code>:
+          - <code>title</code> 涔﹀悕
+            涔︾睄鐨勬爣棰�
+          - <code>language</code> 鍥句功璇█
+            涔︾睄鐨勮瑷�
+          - <code>author</code> 浣滆��
+            涔︾睄鐨勪綔鑰�
+          - <code>publisher</code> 鍑虹増绀�
+            鍑虹増绀剧殑鍚嶇О
+          - <code>publication_date</code> 鍑虹増鏃ユ湡
+            涔︾睄鐨勫嚭鐗堟棩鏈�
+          - <code>isbn</code> ISBN鍙风爜
+            涔︾睄鐨処SBN缂栧彿
+          - <code>category</code> 鍥句功鍒嗙被
+            涔︾睄鐨勫垎绫荤被鍒�
+
+          閽堝缃戦〉绫诲瀷 For <code>web_page</code>:
+          - <code>title</code> 椤甸潰鏍囬
+            缃戦〉鐨勬爣棰�
+          - <code>url</code> 椤甸潰缃戝潃
+            缃戦〉鐨刄RL鍦板潃
+          - <code>language</code> 椤甸潰璇█
+            缃戦〉鐨勮瑷�
+          - <code>publish_date</code> 鍙戝竷鏃ユ湡
+            缃戦〉鐨勫彂甯冩棩鏈�
+          - <code>author/publisher</code> 浣滆��/鍙戝竷鑰�
+            缃戦〉鐨勪綔鑰呮垨鍙戝竷鑰�
+          - <code>topic/keywords</code> 涓婚/鍏抽敭璇�
+            缃戦〉鐨勪富棰樻垨鍏抽敭璇�
+          - <code>description</code> 椤甸潰鎻忚堪
+            缃戦〉鐨勬弿杩颁俊鎭�
+
+          璇锋煡鐪� [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) 浜嗚В鍚勬枃妗g被鍨嬫墍闇�瀛楁鐨勮缁嗕俊鎭��
+
+          閽堝"鍏朵粬"绫诲瀷鏂囨。锛屾帴鍙椾换浣曟湁鏁堢殑JSON瀵硅薄
 
         - <code>doc_language</code> 鍦� Q&A 妯″紡涓嬶紝鎸囧畾鏂囨。鐨勮瑷�锛屼緥濡傦細<code>English</code>銆�<code>Chinese</code>
 
@@ -338,26 +431,6 @@
       <Property name='external_knowledge_id' type='str' key='external_knowledge_id'>
         澶栭儴鐭ヨ瘑搴� ID锛堥�夊~锛�
       </Property>
-      <Property name='embedding_model' type='str' key='embedding_model'>
-        Embedding 妯″瀷鍚嶇О
-      </Property>
-      <Property name='embedding_model_provider' type='str' key='embedding_model_provider'>
-        Embedding 妯″瀷渚涘簲鍟�
-      </Property>
-      <Property name='retrieval_model' type='object' key='retrieval_model'>
-        妫�绱㈡ā寮�
-          - <code>search_method</code> (string) 妫�绱㈡柟娉�
-            - <code>hybrid_search</code> 娣峰悎妫�绱�
-            - <code>semantic_search</code> 璇箟妫�绱�
-            - <code>full_text_search</code> 鍏ㄦ枃妫�绱�
-          - <code>reranking_enable</code> (bool) 鏄惁寮�鍚痳erank
-          - <code>reranking_model</code> (object) Rerank 妯″瀷閰嶇疆
-            - <code>reranking_provider_name</code> (string) Rerank 妯″瀷鐨勬彁渚涘晢
-            - <code>reranking_model_name</code> (string) Rerank 妯″瀷鐨勫悕绉�
-          - <code>top_k</code> (int) 鍙洖鏉℃暟
-          - <code>score_threshold_enabled</code> (bool)鏄惁寮�鍚彫鍥炲垎鏁伴檺鍒�
-          - <code>score_threshold</code> (float) 鍙洖鍒嗘暟闄愬埗
-      </Property>
     </Properties>
   </Col>
   <Col sticky>
@@ -415,20 +488,11 @@
   <Col>
     ### Query
     <Properties>
-      <Property name='keyword' type='string' key='keyword'>
-        鎼滅储鍏抽敭璇嶏紝鍙��
-      </Property>
-      <Property name='tag_ids' type='array[string]' key='tag_ids'>
-        鏍囩 ID 鍒楄〃锛屽彲閫�
-      </Property>
-      <Property name='page' type='integer' key='page'>
-        椤电爜锛屽彲閫夛紝榛樿涓� 1
+      <Property name='page' type='string' key='page'>
+        椤电爜
       </Property>
       <Property name='limit' type='string' key='limit'>
-        杩斿洖鏉℃暟锛屽彲閫夛紝榛樿 20锛岃寖鍥� 1-100
-      </Property>
-      <Property name='include_all' type='boolean' key='include_all'>
-        鏄惁鍖呭惈鎵�鏈夋暟鎹泦锛堜粎瀵规墍鏈夎�呯敓鏁堬級锛屽彲閫夛紝榛樿涓� false
+        杩斿洖鏉℃暟锛岄粯璁� 20锛岃寖鍥� 1-100
       </Property>
     </Properties>
   </Col>
@@ -469,252 +533,6 @@
       "limit": 20,
       "total": 50,
       "page": 1
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}'
-  method='GET'
-  title='鏌ョ湅鐭ヨ瘑搴撹鎯�'
-  name='#view_dataset'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/datasets/{dataset_id}"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "eaedb485-95ac-4ffd-ab1e-18da6d676a2f",
-      "name": "Test Knowledge Base",
-      "description": "",
-      "provider": "vendor",
-      "permission": "only_me",
-      "data_source_type": null,
-      "indexing_technique": null,
-      "app_count": 0,
-      "document_count": 0,
-      "word_count": 0,
-      "created_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "created_at": 1735620612,
-      "updated_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "updated_at": 1735620612,
-      "embedding_model": null,
-      "embedding_model_provider": null,
-      "embedding_available": true,
-      "retrieval_model_dict": {
-        "search_method": "semantic_search",
-        "reranking_enable": false,
-        "reranking_mode": null,
-        "reranking_model": {
-          "reranking_provider_name": "",
-          "reranking_model_name": ""
-        },
-        "weights": null,
-        "top_k": 2,
-        "score_threshold_enabled": false,
-        "score_threshold": null
-      },
-      "tags": [],
-      "doc_form": null,
-      "external_knowledge_info": {
-        "external_knowledge_id": null,
-        "external_knowledge_api_id": null,
-        "external_knowledge_api_name": null,
-        "external_knowledge_api_endpoint": null
-      },
-      "external_retrieval_model": {
-        "top_k": 2,
-        "score_threshold": 0.0,
-        "score_threshold_enabled": null
-      }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}'
-  method='PATCH'
-  title='淇敼鐭ヨ瘑搴撹鎯�'
-  name='#update_dataset'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='indexing_technique' type='string' key='indexing_technique'>
-        绱㈠紩妯″紡锛堥�夊~锛屽缓璁~鍐欙級
-          - <code>high_quality</code> 楂樿川閲�
-          - <code>economy</code> 缁忔祹
-      </Property>
-      <Property name='permission' type='string' key='permission'>
-        鏉冮檺锛堥�夊~锛岄粯璁� only_me锛�
-          - <code>only_me</code> 浠呰嚜宸�
-          - <code>all_team_members</code> 鎵�鏈夊洟闃熸垚鍛�
-          - <code>partial_members</code> 閮ㄥ垎鍥㈤槦鎴愬憳
-      </Property>
-      <Property name='embedding_model_provider' type='string' key='embedding_model_provider'>
-        宓屽叆妯″瀷鎻愪緵鍟嗭紙閫夊~锛�, 蹇呴』鍏堝湪绯荤粺鍐呰瀹氬ソ鎺ュ叆鐨勬ā鍨嬶紝瀵瑰簲鐨勬槸provider瀛楁
-      </Property>
-      <Property name='embedding_model' type='string' key='embedding_model'>
-        宓屽叆妯″瀷锛堥�夊~锛�
-      </Property>
-      <Property name='retrieval_model' type='object' key='retrieval_model'>
-        妫�绱㈠弬鏁帮紙閫夊~锛屽涓嶅~锛屾寜鐓ч粯璁ゆ柟寮忓彫鍥烇級
-        - <code>search_method</code> (text) 妫�绱㈡柟娉曪細浠ヤ笅鍥涗釜鍏抽敭瀛椾箣涓�锛屽繀濉�
-          - <code>keyword_search</code> 鍏抽敭瀛楁绱�
-          - <code>semantic_search</code> 璇箟妫�绱�
-          - <code>full_text_search</code> 鍏ㄦ枃妫�绱�
-          - <code>hybrid_search</code> 娣峰悎妫�绱�
-        - <code>reranking_enable</code> (bool) 鏄惁鍚敤 Reranking锛岄潪蹇呭~锛屽鏋滄绱㈡ā寮忎负 semantic_search 妯″紡鎴栬�� hybrid_search 鍒欎紶鍊�
-        - <code>reranking_mode</code> (object) Rerank 妯″瀷閰嶇疆锛岄潪蹇呭~锛屽鏋滃惎鐢ㄤ簡 reranking 鍒欎紶鍊�
-            - <code>reranking_provider_name</code> (string) Rerank 妯″瀷鎻愪緵鍟�
-            - <code>reranking_model_name</code> (string) Rerank 妯″瀷鍚嶇О
-        - <code>weights</code> (float) 娣峰悎妫�绱㈡ā寮忎笅璇剰妫�绱㈢殑鏉冮噸璁剧疆
-        - <code>top_k</code> (integer) 杩斿洖缁撴灉鏁伴噺锛岄潪蹇呭~
-        - <code>score_threshold_enabled</code> (bool) 鏄惁寮�鍚� score 闃堝��
-        - <code>score_threshold</code> (float) Score 闃堝��
-      </Property>
-      <Property name='partial_member_list' type='array' key='partial_member_list'>
-        閮ㄥ垎鍥㈤槦鎴愬憳 ID 鍒楄〃锛堥�夊~锛�
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PATCH"
-      label="/datasets/{dataset_id}"
-      targetCode={`curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{
-        "name": "Test Knowledge Base", 
-        "indexing_technique": "high_quality", 
-        "permission": "only_me", 
-        "embedding_model_provider": "zhipuai", 
-        "embedding_model": "embedding-3", 
-        "retrieval_model": {
-          "search_method": "keyword_search",
-          "reranking_enable": false,
-          "reranking_mode": null,
-          "reranking_model": {
-              "reranking_provider_name": "",
-              "reranking_model_name": ""
-          },
-          "weights": null,
-          "top_k": 1,
-          "score_threshold_enabled": false,
-          "score_threshold": null
-        }, 
-        "partial_member_list": []
-      }'
-    `}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-      "name": "Test Knowledge Base", 
-      "indexing_technique": "high_quality", 
-      "permission": "only_me", 
-      "embedding_model_provider": "zhipuai", 
-      "embedding_model": "embedding-3", 
-      "retrieval_model": {
-        "search_method": "keyword_search",
-        "reranking_enable": false,
-        "reranking_mode": null,
-        "reranking_model": {
-            "reranking_provider_name": "",
-            "reranking_model_name": ""
-        },
-        "weights": null,
-        "top_k": 1,
-        "score_threshold_enabled": false,
-        "score_threshold": null
-      }, 
-      "partial_member_list": []
-    }'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "eaedb485-95ac-4ffd-ab1e-18da6d676a2f",
-      "name": "Test Knowledge Base",
-      "description": "",
-      "provider": "vendor",
-      "permission": "only_me",
-      "data_source_type": null,
-      "indexing_technique": "high_quality",
-      "app_count": 0,
-      "document_count": 0,
-      "word_count": 0,
-      "created_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "created_at": 1735620612,
-      "updated_by": "e99a1635-f725-4951-a99a-1daaaa76cfc6",
-      "updated_at": 1735622679,
-      "embedding_model": "embedding-3",
-      "embedding_model_provider": "zhipuai",
-      "embedding_available": null,
-      "retrieval_model_dict": {
-          "search_method": "semantic_search",
-          "reranking_enable": false,
-          "reranking_mode": null,
-          "reranking_model": {
-              "reranking_provider_name": "",
-              "reranking_model_name": ""
-          },
-          "weights": null,
-          "top_k": 2,
-          "score_threshold_enabled": false,
-          "score_threshold": null
-      },
-      "tags": [],
-      "doc_form": null,
-      "external_knowledge_info": {
-          "external_knowledge_id": null,
-          "external_knowledge_api_id": null,
-          "external_knowledge_api_name": null,
-          "external_knowledge_api_endpoint": null
-      },
-      "external_retrieval_model": {
-          "top_k": 2,
-          "score_threshold": 0.0,
-          "score_threshold_enabled": null
-      },
-      "partial_member_list": []
     }
     ```
     </CodeGroup>
@@ -787,6 +605,46 @@
       </Property>
       <Property name='text' type='string' key='text'>
         鏂囨。鍐呭锛堥�夊~锛�
+      </Property>
+      <Property name='doc_type' type='string' key='doc_type'>
+        鏂囨。绫诲瀷锛堥�夊~锛�
+          - <code>book</code> 鍥句功 Book
+          - <code>web_page</code> 缃戦〉 Web page
+          - <code>paper</code> 瀛︽湳璁烘枃/鏂囩珷 Academic paper/article 
+          - <code>social_media_post</code> 绀句氦濯掍綋甯栧瓙 Social media post
+          - <code>wikipedia_entry</code> 缁村熀鐧剧鏉$洰 Wikipedia entry
+          - <code>personal_document</code> 涓汉鏂囨。 Personal document
+          - <code>business_document</code> 鍟嗕笟鏂囨。 Business document
+          - <code>im_chat_log</code> 鍗虫椂閫氳璁板綍 Chat log
+          - <code>synced_from_notion</code> Notion鍚屾鏂囨。 Notion document
+          - <code>synced_from_github</code> GitHub鍚屾鏂囨。 GitHub document
+          - <code>others</code> 鍏朵粬鏂囨。绫诲瀷 Other document types
+      </Property>
+      <Property name='doc_metadata' type='object' key='doc_metadata'>
+      
+        鏂囨。鍏冩暟鎹紙濡傛彁渚涙枃妗g被鍨嬪垯蹇呭~锛夈�傚瓧娈靛洜鏂囨。绫诲瀷鑰屽紓锛�
+          
+          閽堝鍥句功 For <code>book</code>:
+          - <code>title</code> 涔﹀悕 Book title 
+          - <code>language</code> 鍥句功璇█ Book language
+          - <code>author</code> 浣滆�� Book author
+          - <code>publisher</code> 鍑虹増绀� Publisher name
+          - <code>publication_date</code> 鍑虹増鏃ユ湡 Publication date
+          - <code>isbn</code> ISBN鍙风爜 ISBN number
+          - <code>category</code> 鍥句功鍒嗙被 Book category
+
+          閽堝缃戦〉 For <code>web_page</code>:
+          - <code>title</code> 椤甸潰鏍囬 Page title
+          - <code>url</code> 椤甸潰缃戝潃 Page URL
+          - <code>language</code> 椤甸潰璇█ Page language
+          - <code>publish_date</code> 鍙戝竷鏃ユ湡 Publish date
+          - <code>author/publisher</code> 浣滆��/鍙戝竷鑰� Author or publisher
+          - <code>topic/keywords</code> 涓婚/鍏抽敭璇� Topic or keywords
+          - <code>description</code> 椤甸潰鎻忚堪 Page description
+
+          璇锋煡鐪� [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) 浜嗚В鍚勬枃妗g被鍨嬫墍闇�瀛楁鐨勮缁嗕俊鎭��
+
+          閽堝"鍏朵粬"绫诲瀷鏂囨。锛屾帴鍙椾换浣曟湁鏁堢殑JSON瀵硅薄
       </Property>
       <Property name='process_rule' type='object' key='process_rule'>
         澶勭悊瑙勫垯锛堥�夊~锛�
@@ -908,6 +766,68 @@
               - <code>separator</code> 鍒嗘鏍囪瘑绗︼紝鐩墠浠呭厑璁歌缃竴涓垎闅旂銆傞粯璁や负 <code>***</code>
               - <code>max_tokens</code> 鏈�澶ч暱搴� (token) 闇�瑕佹牎楠屽皬浜庣埗绾х殑闀垮害
               - <code>chunk_overlap</code> 鍒嗘閲嶅彔鎸囩殑鏄湪瀵规暟鎹繘琛屽垎娈垫椂锛屾涓庢涔嬮棿瀛樺湪涓�瀹氱殑閲嶅彔閮ㄥ垎锛堥�夊~锛�
+            - <code>doc_type</code> 鏂囨。绫诲瀷锛堥�夊~锛塗ype of document (optional)
+              - <code>book</code> 鍥句功
+                鏂囨。璁板綍涓�鏈功绫嶆垨鍑虹増鐗�
+              - <code>web_page</code> 缃戦〉
+                缃戦〉鍐呭鐨勬枃妗h褰�
+              - <code>paper</code> 瀛︽湳璁烘枃/鏂囩珷
+                瀛︽湳璁烘枃鎴栫爺绌舵枃绔犵殑璁板綍
+              - <code>social_media_post</code> 绀句氦濯掍綋甯栧瓙
+                绀句氦濯掍綋涓婄殑甯栧瓙鍐呭
+              - <code>wikipedia_entry</code> 缁村熀鐧剧鏉$洰
+                缁村熀鐧剧鐨勮瘝鏉″唴瀹�
+              - <code>personal_document</code> 涓汉鏂囨。
+                涓汉鐩稿叧鐨勬枃妗h褰�
+              - <code>business_document</code> 鍟嗕笟鏂囨。
+                鍟嗕笟鐩稿叧鐨勬枃妗h褰�
+              - <code>im_chat_log</code> 鍗虫椂閫氳璁板綍
+                鍗虫椂閫氳鐨勮亰澶╄褰�
+              - <code>synced_from_notion</code> Notion鍚屾鏂囨。
+                浠嶯otion鍚屾鐨勬枃妗e唴瀹�
+              - <code>synced_from_github</code> GitHub鍚屾鏂囨。
+                浠嶨itHub鍚屾鐨勬枃妗e唴瀹�
+              - <code>others</code> 鍏朵粬鏂囨。绫诲瀷
+                鍏朵粬鏈垪鍑虹殑鏂囨。绫诲瀷
+
+            - <code>doc_metadata</code> 鏂囨。鍏冩暟鎹紙濡傛彁渚涙枃妗g被鍨嬪垯蹇呭~
+              瀛楁鍥犳枃妗g被鍨嬭�屽紓
+
+              閽堝鍥句功绫诲瀷 For <code>book</code>:
+              - <code>title</code> 涔﹀悕
+                涔︾睄鐨勬爣棰�
+              - <code>language</code> 鍥句功璇█
+                涔︾睄鐨勮瑷�
+              - <code>author</code> 浣滆��
+                涔︾睄鐨勪綔鑰�
+              - <code>publisher</code> 鍑虹増绀�
+                鍑虹増绀剧殑鍚嶇О
+              - <code>publication_date</code> 鍑虹増鏃ユ湡
+                涔︾睄鐨勫嚭鐗堟棩鏈�
+              - <code>isbn</code> ISBN鍙风爜
+                涔︾睄鐨処SBN缂栧彿
+              - <code>category</code> 鍥句功鍒嗙被
+                涔︾睄鐨勫垎绫荤被鍒�
+
+              閽堝缃戦〉绫诲瀷 For <code>web_page</code>:
+              - <code>title</code> 椤甸潰鏍囬
+                缃戦〉鐨勬爣棰�
+              - <code>url</code> 椤甸潰缃戝潃
+                缃戦〉鐨刄RL鍦板潃
+              - <code>language</code> 椤甸潰璇█
+                缃戦〉鐨勮瑷�
+              - <code>publish_date</code> 鍙戝竷鏃ユ湡
+                缃戦〉鐨勫彂甯冩棩鏈�
+              - <code>author/publisher</code> 浣滆��/鍙戝竷鑰�
+                缃戦〉鐨勪綔鑰呮垨鍙戝竷鑰�
+              - <code>topic/keywords</code> 涓婚/鍏抽敭璇�
+                缃戦〉鐨勪富棰樻垨鍏抽敭璇�
+              - <code>description</code> 椤甸潰鎻忚堪
+                缃戦〉鐨勬弿杩颁俊鎭�
+
+              璇锋煡鐪� [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) 浜嗚В鍚勬枃妗g被鍨嬫墍闇�瀛楁鐨勮缁嗕俊鎭��
+
+              閽堝"鍏朵粬"绫诲瀷鏂囨。锛屾帴鍙椾换浣曟湁鏁堢殑JSON瀵硅薄
       </Property>
     </Properties>
   </Col>
@@ -1047,8 +967,10 @@
     ```
     </CodeGroup>
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -1243,12 +1165,6 @@
       <Property name='status' type='string' key='status'>
         鎼滅储鐘舵�侊紝completed
       </Property>
-      <Property name='page' type='string' key='page'>
-        椤电爜锛屽彲閫�
-      </Property>
-      <Property name='limit' type='string' key='limit'>
-        杩斿洖鏉℃暟锛屽彲閫夛紝榛樿 20锛岃寖鍥� 1-100
-      </Property>
     </Properties>
   </Col>
   <Col sticky>
@@ -1292,11 +1208,7 @@
         "error": null,
         "stopped_at": null
       }],
-      "doc_form": "text_model",
-      "has_more": false,
-      "limit": 20,
-      "total": 9,
-      "page": 1
+      "doc_form": "text_model"
     }
     ```
     </CodeGroup>
@@ -1340,8 +1252,10 @@
     ```
     </CodeGroup>
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -1405,7 +1319,7 @@
     <CodeGroup title="Response">
     ```json {{ title: 'Response' }}
     {
-      "data": {
+      "data": [{
         "id": "",
         "position": 1,
         "document_id": "",
@@ -1429,310 +1343,8 @@
         "completed_at": 1695312007,
         "error": null,
         "stopped_at": null
-      },
-      "doc_form": "text_model"
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks'
-  method='POST'
-  title='鏂板鏂囨。瀛愬垎娈�'
-  name='#create_child_chunk'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        鏂囨。 ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        鍒嗘 ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='content' type='string' key='content'>
-        瀛愬垎娈靛唴瀹�
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"content": "瀛愬垎娈靛唴瀹�"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "content": "瀛愬垎娈靛唴瀹�"
-    }'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": {
-        "id": "",
-        "segment_id": "",
-        "content": "瀛愬垎娈靛唴瀹�",
-        "word_count": 25,
-        "tokens": 0,
-        "index_node_id": "",
-        "index_node_hash": "",
-        "status": "completed",
-        "created_by": "",
-        "created_at": 1695312007,
-        "indexing_at": 1695312007,
-        "completed_at": 1695312007,
-        "error": null,
-        "stopped_at": null
-      }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks'
-  method='GET'
-  title='鏌ヨ鏂囨。瀛愬垎娈�'
-  name='#get_child_chunks'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        鏂囨。 ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        鍒嗘 ID
-      </Property>
-    </Properties>
-
-    ### Query
-    <Properties>
-      <Property name='keyword' type='string' key='keyword'>
-        鎼滅储鍏抽敭璇嶏紙閫夊~锛�
-      </Property>
-      <Property name='page' type='integer' key='page'>
-        椤电爜锛堥�夊~锛岄粯璁�1锛�
-      </Property>
-      <Property name='limit' type='integer' key='limit'>
-        姣忛〉鏁伴噺锛堥�夊~锛岄粯璁�20锛屾渶澶�100锛�
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks?page=1&limit=20' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": [{
-        "id": "",
-        "segment_id": "",
-        "content": "瀛愬垎娈靛唴瀹�",
-        "word_count": 25,
-        "tokens": 0,
-        "index_node_id": "",
-        "index_node_hash": "",
-        "status": "completed",
-        "created_by": "",
-        "created_at": 1695312007,
-        "indexing_at": 1695312007,
-        "completed_at": 1695312007,
-        "error": null,
-        "stopped_at": null
       }],
-      "total": 1,
-      "total_pages": 1,
-      "page": 1,
-      "limit": 20
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}'
-  method='DELETE'
-  title='鍒犻櫎鏂囨。瀛愬垎娈�'
-  name='#delete_child_chunk'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        鏂囨。 ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        鍒嗘 ID
-      </Property>
-      <Property name='child_chunk_id' type='string' key='child_chunk_id'>
-        瀛愬垎娈� ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="DELETE"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Row>
-  <Col>
-    ### 閿欒淇℃伅
-    <Properties>
-      <Property name='code' type='string' key='code'>
-        杩斿洖鐨勯敊璇唬鐮�
-      </Property>
-    </Properties>
-    <Properties>
-      <Property name='status' type='number' key='status'>
-        杩斿洖鐨勯敊璇姸鎬�
-      </Property>
-    </Properties>
-    <Properties>
-      <Property name='message' type='string' key='message'>
-        杩斿洖鐨勯敊璇俊鎭�
-      </Property>
-    </Properties>
-  </Col>
-  <Col>
-    <CodeGroup title="Example">
-    ```json {{ title: 'Response' }}
-      {
-        "code": "no_file_uploaded",
-        "message": "Please upload your file.",
-        "status": 400
-      }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}'
-  method='PATCH'
-  title='鏇存柊鏂囨。瀛愬垎娈�'
-  name='#update_child_chunk'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='document_id' type='string' key='document_id'>
-        鏂囨。 ID
-      </Property>
-      <Property name='segment_id' type='string' key='segment_id'>
-        鍒嗘 ID
-      </Property>
-      <Property name='child_chunk_id' type='string' key='child_chunk_id'>
-        瀛愬垎娈� ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='content' type='string' key='content'>
-        瀛愬垎娈靛唴瀹�
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PATCH"
-      label="/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}"
-      targetCode={`curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"content": "鏇存柊鐨勫瓙鍒嗘鍐呭"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "content": "鏇存柊鐨勫瓙鍒嗘鍐呭"
-    }'
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": {
-        "id": "",
-        "segment_id": "",
-        "content": "鏇存柊鐨勫瓙鍒嗘鍐呭",
-        "word_count": 25,
-        "tokens": 0,
-        "index_node_id": "",
-        "index_node_hash": "",
-        "status": "completed",
-        "created_by": "",
-        "created_at": 1695312007,
-        "indexing_at": 1695312007,
-        "completed_at": 1695312007,
-        "error": null,
-        "stopped_at": null
-      }
+      "doc_form": "text_model"
     }
     ```
     </CodeGroup>
@@ -1814,7 +1426,7 @@
       </Property>
       <Property name='retrieval_model' type='object' key='retrieval_model'>
         妫�绱㈠弬鏁帮紙閫夊~锛屽涓嶅~锛屾寜鐓ч粯璁ゆ柟寮忓彫鍥烇級
-        - <code>search_method</code> (text) 妫�绱㈡柟娉曪細浠ヤ笅鍥涗釜鍏抽敭瀛椾箣涓�锛屽繀濉�
+        - <code>search_method</code> (text) 妫�绱㈡柟娉曪細浠ヤ笅涓変釜鍏抽敭瀛椾箣涓�锛屽繀濉�
           - <code>keyword_search</code> 鍏抽敭瀛楁绱�
           - <code>semantic_search</code> 璇箟妫�绱�
           - <code>full_text_search</code> 鍏ㄦ枃妫�绱�
@@ -1922,6 +1534,7 @@
               "id": "a8c6c36f-9f5d-4d7a-8472-f5d7b75d71d2",
               "data_source_type": "upload_file",
               "name": "readme.txt",
+              "doc_type": null
             }
           },
           "score": 3.730463140527718e-05,
@@ -1934,358 +1547,6 @@
   </Col>
 </Row>
 
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata'
-  method='POST'
-  title='鏂板鍏冩暟鎹�'
-  name='#create_metadata'
-/>
-<Row>
-  <Col>
-    ### Params
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='segment' type='object' key='segment'>
-        - <code>type</code> (string) 鍏冩暟鎹被鍨嬶紝蹇呭~
-        - <code>name</code> (string) 鍏冩暟鎹悕绉帮紝蹇呭~
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/metadata"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/metadata' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'\\\n--data-raw '{"type": "string", "name": "test"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "abc",
-      "type": "string",
-      "name": "test",
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata/{metadata_id}'
-  method='PATCH'
-  title='鏇存柊鍏冩暟鎹�'
-  name='#update_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='metadata_id' type='string' key='metadata_id'>
-        鍏冩暟鎹� ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='segment' type='object' key='segment'>
-        - <code>name</code> (string) 鍏冩暟鎹悕绉帮紝蹇呭~
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PATCH"
-      label="/datasets/{dataset_id}/metadata/{metadata_id}"
-      targetCode={`curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/metadata/{metadata_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'\\\n--data-raw '{"name": "test"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "abc",
-      "type": "string",
-      "name": "test",
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata/{metadata_id}'
-  method='DELETE'
-  title='鍒犻櫎鍏冩暟鎹�'
-  name='#delete_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='metadata_id' type='string' key='metadata_id'>
-        鍏冩暟鎹� ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="DELETE"
-      label="/datasets/{dataset_id}/metadata/{metadata_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/metadata/{metadata_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata/built-in/{action}'
-  method='POST'
-  title='鍚敤/绂佺敤鍐呯疆鍏冩暟鎹�'
-  name='#toggle_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-      <Property name='action' type='string' key='action'>
-        disable/enable
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/metadata/built-in/{action}"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/metadata/built-in/{action}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/documents/metadata'
-  method='POST'
-  title='鏇存柊鏂囨。鍏冩暟鎹�'
-  name='#update_documents_metadata'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-    </Properties>
-
-    ### Request Body
-    <Properties>
-      <Property name='operation_data' type='object list' key='segments'>
-        - <code>document_id</code> (string) 鏂囨。 ID
-        - <code>metadata_list</code> (list) 鍏冩暟鎹垪琛�
-          - <code>id</code> (string) 鍏冩暟鎹� ID
-          - <code>type</code> (string) 鍏冩暟鎹被鍨�
-          - <code>name</code> (string) 鍏冩暟鎹悕绉�
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/datasets/{dataset_id}/documents/metadata"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/metadata' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'\\\n--data-raw '{"operation_data": [{"document_id": "document_id", "metadata_list": [{"id": "id", "value": "value", "name": "name"}]}]}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
-
-<Heading
-  url='/datasets/{dataset_id}/metadata'
-  method='GET'
-  title='鏌ヨ鐭ヨ瘑搴撳厓鏁版嵁鍒楄〃'
-  name='#dataset_metadata_list'
-/>
-<Row>
-  <Col>
-    ### Path
-    <Properties>
-      <Property name='dataset_id' type='string' key='dataset_id'>
-        鐭ヨ瘑搴� ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/datasets/{dataset_id}/metadata"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/metadata' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    ```
-    </CodeGroup>
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "doc_metadata": [
-        {
-          "id": "",
-          "name": "name",
-          "type": "string",
-          "use_count": 0,
-        },
-        ...
-      ],
-      "built_in_field_enabled": true
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
-<hr className='ml-0 mr-0' />
- 
-<Heading
- url='/workspaces/current/models/model-types/text-embedding'
- method='GET'
- title='鑾峰彇宓屽叆妯″瀷鍒楄〃'
- name='#model_type_list'
-/>
-<Row>
-   <Col>
-     ### Query
-     <Properties>
-     </Properties>
-   </Col>
-   <Col sticky>
-     <CodeGroup
-       title="Request"
-       tag="GET"
-       label="/datasets/{dataset_id}"
-       targetCode={`curl --location --location --request GET '${props.apiBaseUrl}/workspaces/current/models/model-types/text-embedding' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' `}
-     >
-     ```bash {{ title: 'cURL' }}
-     curl --location --request GET '${props.apiBaseUrl}/workspaces/current/models/model-types/text-embedding' \
-     --header 'Authorization: Bearer {api_key}' \
-     --header 'Content-Type: application/json' \
-     ```
-     </CodeGroup>
-     <CodeGroup title="Response">
-     ```json {{ title: 'Response' }}
-     {
-       "data": [
-           {
-               "provider": "zhipuai",
-               "label": {
-                   "zh_Hans": "鏅鸿氨 AI",
-                   "en_US": "ZHIPU AI"
-               },
-               "icon_small": {
-                   "zh_Hans": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_small/zh_Hans",
-                   "en_US": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_small/en_US"
-               },
-               "icon_large": {
-                   "zh_Hans": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_large/zh_Hans",
-                   "en_US": "http://127.0.0.1:5001/console/api/workspaces/current/model-providers/zhipuai/icon_large/en_US"
-               },
-               "status": "active",
-               "models": [
-                   {
-                       "model": "embedding-3",
-                       "label": {
-                           "zh_Hans": "embedding-3",
-                           "en_US": "embedding-3"
-                       },
-                       "model_type": "text-embedding",
-                       "features": null,
-                       "fetch_from": "predefined-model",
-                       "model_properties": {
-                           "context_size": 8192
-                       },
-                       "deprecated": false,
-                       "status": "active",
-                       "load_balancing_enabled": false
-                   },
-                   {
-                       "model": "embedding-2",
-                       "label": {
-                           "zh_Hans": "embedding-2",
-                           "en_US": "embedding-2"
-                       },
-                       "model_type": "text-embedding",
-                       "features": null,
-                       "fetch_from": "predefined-model",
-                       "model_properties": {
-                           "context_size": 8192
-                       },
-                       "deprecated": false,
-                       "status": "active",
-                       "load_balancing_enabled": false
-                   },
-                   {
-                       "model": "text_embedding",
-                       "label": {
-                           "zh_Hans": "text_embedding",
-                           "en_US": "text_embedding"
-                       },
-                       "model_type": "text-embedding",
-                       "features": null,
-                       "fetch_from": "predefined-model",
-                       "model_properties": {
-                           "context_size": 512
-                       },
-                       "deprecated": false,
-                       "status": "active",
-                       "load_balancing_enabled": false
-                   }
-               ]
-           }
-       ]
-     }
-     ```
-     </CodeGroup>
-   </Col>
-</Row>
 
 <hr className='ml-0 mr-0' />
 
diff --git "a/app/\050commonLayout\051/explore/installed/\133appId\135/page.tsx" "b/app/\050commonLayout\051/explore/installed/\133appId\135/page.tsx"
index 938a039..c22645c 100644
--- "a/app/\050commonLayout\051/explore/installed/\133appId\135/page.tsx"
+++ "b/app/\050commonLayout\051/explore/installed/\133appId\135/page.tsx"
@@ -3,14 +3,14 @@
 import Main from '@/app/components/explore/installed-app'
 
 export type IInstalledAppProps = {
-  params: Promise<{
+  params: {
     appId: string
-  }>
+  }
 }
 
-const InstalledApp: FC<IInstalledAppProps> = async ({ params }) => {
+const InstalledApp: FC<IInstalledAppProps> = ({ params: { appId } }) => {
   return (
-    <Main id={(await params).appId} />
+    <Main id={appId} />
   )
 }
 export default React.memo(InstalledApp)
diff --git "a/app/\050commonLayout\051/list.module.css" "b/app/\050commonLayout\051/list.module.css"
index c4d3aec..2fc6469 100644
--- "a/app/\050commonLayout\051/list.module.css"
+++ "b/app/\050commonLayout\051/list.module.css"
@@ -214,4 +214,4 @@
 
 .listItem:hover .unavailable {
   @apply opacity-100;
-}
+}
\ No newline at end of file
diff --git "a/app/\050shareLayout\051/layout.tsx" "b/app/\050shareLayout\051/layout.tsx"
index 83adbd3..94ac1de 100644
--- "a/app/\050shareLayout\051/layout.tsx"
+++ "b/app/\050shareLayout\051/layout.tsx"
@@ -10,7 +10,7 @@
   children: React.ReactNode
 }> = ({ children }) => {
   return (
-    <div className="h-full min-w-[300px] pb-[env(safe-area-inset-bottom)]">
+    <div className="min-w-[300px] h-full pb-[env(safe-area-inset-bottom)]">
       {children}
     </div>
   )
diff --git "a/app/\050shareLayout\051/webapp-signin/page.tsx" "b/app/\050shareLayout\051/webapp-signin/page.tsx"
index d58fafa..12f4152 100644
--- "a/app/\050shareLayout\051/webapp-signin/page.tsx"
+++ "b/app/\050shareLayout\051/webapp-signin/page.tsx"
@@ -92,8 +92,8 @@
   }, [message, tokenFromUrl]) // Added dependencies to useEffect
 
   return (
-    <div className="flex h-full items-center justify-center">
-      <div className={cn('flex w-full grow flex-col items-center justify-center', 'px-6', 'md:px-[108px]')}>
+    <div className="flex items-center justify-center h-full">
+      <div className={cn('flex flex-col items-center w-full grow justify-center', 'px-6', 'md:px-[108px]')}>
         <Loading type='area' />
       </div>
     </div>
diff --git a/app/account/account-page/AvatarWithEdit.tsx b/app/account/account-page/AvatarWithEdit.tsx
index 8250789..97f6ba8 100644
--- a/app/account/account-page/AvatarWithEdit.tsx
+++ b/app/account/account-page/AvatarWithEdit.tsx
@@ -83,13 +83,13 @@
   return (
     <>
       <div>
-        <div className="group relative">
+        <div className="relative group">
           <Avatar {...props} />
           <div
             onClick={() => { setIsShowAvatarPicker(true) }}
-            className="absolute inset-0 flex cursor-pointer items-center justify-center rounded-full bg-black bg-opacity-50 opacity-0 transition-opacity group-hover:opacity-100"
+            className="absolute inset-0 bg-black bg-opacity-50 rounded-full opacity-0 group-hover:opacity-100 transition-opacity cursor-pointer flex items-center justify-center"
           >
-            <span className="text-xs text-white">
+            <span className="text-white text-xs">
               <RiPencilLine />
             </span>
           </div>
@@ -105,7 +105,7 @@
         <ImageInput onImageInput={handleImageInput} cropShape='round' />
         <Divider className='m-0' />
 
-        <div className='flex w-full items-center justify-center gap-2 p-3'>
+        <div className='w-full flex items-center justify-center p-3 gap-2'>
           <Button className='w-full' onClick={() => setIsShowAvatarPicker(false)}>
             {t('app.iconPicker.cancel')}
           </Button>
diff --git a/app/account/account-page/index.tsx b/app/account/account-page/index.tsx
index 72d2648..16d826a 100644
--- a/app/account/account-page/index.tsx
+++ b/app/account/account-page/index.tsx
@@ -1,9 +1,7 @@
 'use client'
 import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiGraduationCapFill,
-} from '@remixicon/react'
+
 import { useContext } from 'use-context-selector'
 import DeleteAccount from '../delete-account'
 import s from './index.module.css'
@@ -14,12 +12,10 @@
 import Button from '@/app/components/base/button'
 import { updateUserProfile } from '@/service/common'
 import { useAppContext } from '@/context/app-context'
-import { useProviderContext } from '@/context/provider-context'
 import { ToastContext } from '@/app/components/base/toast'
 import AppIcon from '@/app/components/base/app-icon'
 import { IS_CE_EDITION } from '@/config'
 import Input from '@/app/components/base/input'
-import PremiumBadge from '@/app/components/base/premium-badge'
 
 const titleClassName = `
   system-sm-semibold text-text-secondary
@@ -34,7 +30,6 @@
   const { t } = useTranslation()
   const { systemFeatures } = useAppContext()
   const { mutateUserProfile, userProfile, apps } = useAppContext()
-  const { isEducationAccount } = useProviderContext()
   const { notify } = useContext(ToastContext)
   const [editNameModalVisible, setEditNameModalVisible] = useState(false)
   const [editName, setEditName] = useState('')
@@ -127,46 +122,38 @@
         <div className='mr-3'>
           <AppIcon size='tiny' />
         </div>
-        <div className='system-sm-medium mt-[3px] text-text-secondary'>{item.name}</div>
+        <div className='mt-[3px] system-sm-medium text-text-secondary'>{item.name}</div>
       </div>
     )
   }
 
   return (
     <>
-      <div className='pb-3 pt-2'>
+      <div className='pt-2 pb-3'>
         <h4 className='title-2xl-semi-bold text-text-primary'>{t('common.account.myAccount')}</h4>
       </div>
-      <div className='mb-8 flex items-center rounded-xl bg-gradient-to-r from-background-gradient-bg-fill-chat-bg-2 to-background-gradient-bg-fill-chat-bg-1 p-6'>
+      <div className='mb-8 p-6 rounded-xl flex items-center bg-gradient-to-r from-background-gradient-bg-fill-chat-bg-2 to-background-gradient-bg-fill-chat-bg-1'>
         <AvatarWithEdit avatar={userProfile.avatar_url} name={userProfile.name} onSave={ mutateUserProfile } size={64} />
         <div className='ml-4'>
-          <p className='system-xl-semibold text-text-primary'>
-            {userProfile.name}
-            {isEducationAccount && (
-              <PremiumBadge size='s' color='blue' className='ml-1 !px-2'>
-                <RiGraduationCapFill className='mr-1 h-3 w-3' />
-                <span className='system-2xs-medium'>EDU</span>
-              </PremiumBadge>
-            )}
-          </p>
+          <p className='system-xl-semibold text-text-primary'>{userProfile.name}</p>
           <p className='system-xs-regular text-text-tertiary'>{userProfile.email}</p>
         </div>
       </div>
       <div className='mb-8'>
         <div className={titleClassName}>{t('common.account.name')}</div>
-        <div className='mt-2 flex w-full items-center justify-between gap-2'>
-          <div className='system-sm-regular flex-1 rounded-lg bg-components-input-bg-normal p-2 text-components-input-text-filled '>
+        <div className='flex items-center justify-between gap-2 w-full mt-2'>
+          <div className='flex-1 bg-components-input-bg-normal rounded-lg p-2 system-sm-regular text-components-input-text-filled '>
             <span className='pl-1'>{userProfile.name}</span>
           </div>
-          <div className='system-sm-medium cursor-pointer rounded-lg bg-components-button-tertiary-bg px-3 py-2 text-components-button-tertiary-text' onClick={handleEditName}>
+          <div className='bg-components-button-tertiary-bg rounded-lg py-2 px-3 cursor-pointer system-sm-medium text-components-button-tertiary-text' onClick={handleEditName}>
             {t('common.operation.edit')}
           </div>
         </div>
       </div>
       <div className='mb-8'>
         <div className={titleClassName}>{t('common.account.email')}</div>
-        <div className='mt-2 flex w-full items-center justify-between gap-2'>
-          <div className='system-sm-regular flex-1 rounded-lg bg-components-input-bg-normal p-2 text-components-input-text-filled '>
+        <div className='flex items-center justify-between gap-2 w-full mt-2'>
+          <div className='flex-1 bg-components-input-bg-normal rounded-lg p-2 system-sm-regular text-components-input-text-filled '>
             <span className='pl-1'>{userProfile.email}</span>
           </div>
         </div>
@@ -175,8 +162,8 @@
         systemFeatures.enable_email_password_login && (
           <div className='mb-8 flex justify-between gap-2'>
             <div>
-              <div className='system-sm-semibold mb-1 text-text-secondary'>{t('common.account.password')}</div>
-              <div className='body-xs-regular mb-2 text-text-tertiary'>{t('common.account.passwordTip')}</div>
+              <div className='mb-1 system-sm-semibold text-text-secondary'>{t('common.account.password')}</div>
+              <div className='mb-2 body-xs-regular text-text-tertiary'>{t('common.account.passwordTip')}</div>
             </div>
             <Button onClick={() => setEditPasswordModalVisible(true)}>{userProfile.is_password_set ? t('common.account.resetPassword') : t('common.account.setPassword')}</Button>
           </div>
@@ -203,13 +190,13 @@
             onClose={() => setEditNameModalVisible(false)}
             className={s.modal}
           >
-            <div className='title-2xl-semi-bold mb-6 text-text-primary'>{t('common.account.editName')}</div>
+            <div className='mb-6 title-2xl-semi-bold text-text-primary'>{t('common.account.editName')}</div>
             <div className={titleClassName}>{t('common.account.name')}</div>
             <Input className='mt-2'
               value={editName}
               onChange={e => setEditName(e.target.value)}
             />
-            <div className='mt-10 flex justify-end'>
+            <div className='flex justify-end mt-10'>
               <Button className='mr-2' onClick={() => setEditNameModalVisible(false)}>{t('common.operation.cancel')}</Button>
               <Button
                 disabled={editing || !editName}
@@ -232,7 +219,7 @@
             }}
             className={s.modal}
           >
-            <div className='title-2xl-semi-bold mb-6 text-text-primary'>{userProfile.is_password_set ? t('common.account.resetPassword') : t('common.account.setPassword')}</div>
+            <div className='mb-6 title-2xl-semi-bold text-text-primary'>{userProfile.is_password_set ? t('common.account.resetPassword') : t('common.account.setPassword')}</div>
             {userProfile.is_password_set && (
               <>
                 <div className={titleClassName}>{t('common.account.currentPassword')}</div>
@@ -255,7 +242,7 @@
                 </div>
               </>
             )}
-            <div className='system-sm-semibold mt-8 text-text-secondary'>
+            <div className='mt-8 system-sm-semibold text-text-secondary'>
               {userProfile.is_password_set ? t('common.account.newPassword') : t('common.account.password')}
             </div>
             <div className='relative mt-2'>
@@ -274,7 +261,7 @@
                 </Button>
               </div>
             </div>
-            <div className='system-sm-semibold mt-8 text-text-secondary'>{t('common.account.confirmPassword')}</div>
+            <div className='mt-8 system-sm-semibold text-text-secondary'>{t('common.account.confirmPassword')}</div>
             <div className='relative mt-2'>
               <Input
                 type={showConfirmPassword ? 'text' : 'password'}
@@ -291,7 +278,7 @@
                 </Button>
               </div>
             </div>
-            <div className='mt-10 flex justify-end'>
+            <div className='flex justify-end mt-10'>
               <Button className='mr-2' onClick={() => {
                 setEditPasswordModalVisible(false)
                 resetPasswordForm()
diff --git a/app/account/avatar.tsx b/app/account/avatar.tsx
index ea897e6..47e8e75 100644
--- a/app/account/avatar.tsx
+++ b/app/account/avatar.tsx
@@ -2,16 +2,11 @@
 import { useTranslation } from 'react-i18next'
 import { Fragment } from 'react'
 import { useRouter } from 'next/navigation'
-import {
-  RiGraduationCapFill,
-} from '@remixicon/react'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import Avatar from '@/app/components/base/avatar'
 import { logout } from '@/service/common'
 import { useAppContext } from '@/context/app-context'
-import { useProviderContext } from '@/context/provider-context'
 import { LogOut01 } from '@/app/components/base/icons/src/vender/line/general'
-import PremiumBadge from '@/app/components/base/premium-badge'
 
 export type IAppSelector = {
   isMobile: boolean
@@ -21,7 +16,6 @@
   const router = useRouter()
   const { t } = useTranslation()
   const { userProfile } = useAppContext()
-  const { isEducationAccount } = useProviderContext()
 
   const handleLogout = async () => {
     await logout({
@@ -42,17 +36,17 @@
         ({ open }) => (
           <>
             <div>
-              <MenuButton
+              <Menu.Button
                 className={`
-                    p-1x inline-flex
-                    items-center rounded-[20px] text-sm
+                    inline-flex items-center
+                    rounded-[20px] p-1x text-sm
                     text-text-primary
                     mobile:px-1
                     ${open && 'bg-components-panel-bg-blur'}
                   `}
               >
                 <Avatar avatar={userProfile.avatar_url} name={userProfile.name} size={32} />
-              </MenuButton>
+              </Menu.Button>
             </div>
             <Transition
               as={Fragment}
@@ -63,43 +57,35 @@
               leaveFrom="transform opacity-100 scale-100"
               leaveTo="transform opacity-0 scale-95"
             >
-              <MenuItems
+              <Menu.Items
                 className="
                     absolute -right-2 -top-1 w-60 max-w-80
-                    origin-top-right divide-y divide-divider-subtle rounded-lg bg-components-panel-bg-blur
+                    divide-y divide-divider-subtle origin-top-right rounded-lg bg-components-panel-bg-blur
                     shadow-lg
                   "
               >
-                <MenuItem>
+                <Menu.Item>
                   <div className='p-1'>
                     <div className='flex flex-nowrap items-center px-3 py-2'>
                       <div className='grow'>
-                        <div className='system-md-medium break-all text-text-primary'>
-                          {userProfile.name}
-                          {isEducationAccount && (
-                            <PremiumBadge size='s' color='blue' className='ml-1 !px-2'>
-                              <RiGraduationCapFill className='mr-1 h-3 w-3' />
-                              <span className='system-2xs-medium'>EDU</span>
-                            </PremiumBadge>
-                          )}
-                        </div>
-                        <div className='system-xs-regular break-all text-text-tertiary'>{userProfile.email}</div>
+                        <div className='system-md-medium text-text-primary break-all'>{userProfile.name}</div>
+                        <div className='system-xs-regular text-text-tertiary break-all'>{userProfile.email}</div>
                       </div>
                       <Avatar avatar={userProfile.avatar_url} name={userProfile.name} size={32} />
                     </div>
                   </div>
-                </MenuItem>
-                <MenuItem>
+                </Menu.Item>
+                <Menu.Item>
                   <div className='p-1' onClick={() => handleLogout()}>
                     <div
-                      className='group flex h-9 cursor-pointer items-center justify-start rounded-lg px-3 hover:bg-state-base-hover'
+                      className='flex items-center justify-start h-9 px-3 rounded-lg cursor-pointer group hover:bg-state-base-hover'
                     >
-                      <LogOut01 className='mr-1 flex h-4 w-4 text-text-tertiary' />
-                      <div className='text-[14px] font-normal text-text-secondary'>{t('common.userProfile.logout')}</div>
+                      <LogOut01 className='w-4 h-4 text-text-tertiary flex mr-1' />
+                      <div className='font-normal text-[14px] text-text-secondary'>{t('common.userProfile.logout')}</div>
                     </div>
                   </div>
-                </MenuItem>
-              </MenuItems>
+                </Menu.Item>
+              </Menu.Items>
             </Transition>
           </>
         )
diff --git a/app/account/delete-account/components/check-email.tsx b/app/account/delete-account/components/check-email.tsx
index 6359340..84ea8a4 100644
--- a/app/account/delete-account/components/check-email.tsx
+++ b/app/account/delete-account/components/check-email.tsx
@@ -29,18 +29,18 @@
   }, [getDeleteEmailVerifyCode, props])
 
   return <>
-    <div className='body-md-medium py-1 text-text-destructive'>
+    <div className='py-1 text-text-destructive body-md-medium'>
       {t('common.account.deleteTip')}
     </div>
-    <div className='body-md-regular pb-2 pt-1 text-text-secondary'>
+    <div className='pt-1 pb-2 text-text-secondary body-md-regular'>
       {t('common.account.deletePrivacyLinkTip')}
       <Link href='https://dify.ai/privacy' className='text-text-accent'>{t('common.account.deletePrivacyLink')}</Link>
     </div>
-    <label className='system-sm-semibold mb-1 mt-3 flex h-6 items-center text-text-secondary'>{t('common.account.deleteLabel')}</label>
+    <label className='mt-3 mb-1 h-6 flex items-center system-sm-semibold text-text-secondary'>{t('common.account.deleteLabel')}</label>
     <Input placeholder={t('common.account.deletePlaceholder') as string} onChange={(e) => {
       setUserInputEmail(e.target.value)
     }} />
-    <div className='mt-3 flex w-full flex-col gap-2'>
+    <div className='w-full flex flex-col mt-3 gap-2'>
       <Button className='w-full' disabled={userInputEmail !== userProfile.email || isSendingEmail} loading={isSendingEmail} variant='primary' onClick={handleConfirm}>{t('common.account.sendVerificationButton')}</Button>
       <Button className='w-full' onClick={props.onCancel}>{t('common.operation.cancel')}</Button>
     </div>
diff --git a/app/account/delete-account/components/feed-back.tsx b/app/account/delete-account/components/feed-back.tsx
index 2cd30bc..1d01c69 100644
--- a/app/account/delete-account/components/feed-back.tsx
+++ b/app/account/delete-account/components/feed-back.tsx
@@ -56,11 +56,11 @@
     className="max-w-[480px]"
     footer={false}
   >
-    <label className='system-sm-semibold mb-1 mt-3 flex items-center text-text-secondary'>{t('common.account.feedbackLabel')}</label>
+    <label className='mt-3 mb-1 flex items-center system-sm-semibold text-text-secondary'>{t('common.account.feedbackLabel')}</label>
     <Textarea rows={6} value={userFeedback} placeholder={t('common.account.feedbackPlaceholder') as string} onChange={(e) => {
       setUserFeedback(e.target.value)
     }} />
-    <div className='mt-3 flex w-full flex-col gap-2'>
+    <div className='w-full flex flex-col mt-3 gap-2'>
       <Button className='w-full' loading={isPending} variant='primary' onClick={handleSubmit}>{t('common.operation.submit')}</Button>
       <Button className='w-full' onClick={handleSkip}>{t('common.operation.skip')}</Button>
     </div>
diff --git a/app/account/delete-account/components/verify-email.tsx b/app/account/delete-account/components/verify-email.tsx
index 7c9d097..a986c79 100644
--- a/app/account/delete-account/components/verify-email.tsx
+++ b/app/account/delete-account/components/verify-email.tsx
@@ -35,18 +35,18 @@
     catch (error) { console.error(error) }
   }, [emailToken, verificationCode, confirmDeleteAccount, props])
   return <>
-    <div className='body-md-medium pt-1 text-text-destructive'>
+    <div className='pt-1 text-text-destructive body-md-medium'>
       {t('common.account.deleteTip')}
     </div>
-    <div className='body-md-regular pb-2 pt-1 text-text-secondary'>
+    <div className='pt-1 pb-2 text-text-secondary body-md-regular'>
       {t('common.account.deletePrivacyLinkTip')}
       <Link href='https://dify.ai/privacy' className='text-text-accent'>{t('common.account.deletePrivacyLink')}</Link>
     </div>
-    <label className='system-sm-semibold mb-1 mt-3 flex h-6 items-center text-text-secondary'>{t('common.account.verificationLabel')}</label>
+    <label className='mt-3 mb-1 h-6 flex items-center system-sm-semibold text-text-secondary'>{t('common.account.verificationLabel')}</label>
     <Input minLength={6} maxLength={6} placeholder={t('common.account.verificationPlaceholder') as string} onChange={(e) => {
       setVerificationCode(e.target.value)
     }} />
-    <div className='mt-3 flex w-full flex-col gap-2'>
+    <div className='w-full flex flex-col mt-3 gap-2'>
       <Button className='w-full' disabled={shouldButtonDisabled} loading={isDeleting} variant='warning' onClick={handleConfirm}>{t('common.account.permanentlyDeleteButton')}</Button>
       <Button className='w-full' onClick={props.onCancel}>{t('common.operation.cancel')}</Button>
       <Countdown onResend={sendEmail} />
diff --git a/app/account/header.tsx b/app/account/header.tsx
index 11b6bee..694533e 100644
--- a/app/account/header.tsx
+++ b/app/account/header.tsx
@@ -4,33 +4,31 @@
 import { useRouter } from 'next/navigation'
 import Button from '../components/base/button'
 import Avatar from './avatar'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
-import { useCallback } from 'react'
+import LogoSite from '@/app/components/base/logo/logo-site'
 
 const Header = () => {
   const { t } = useTranslation()
   const router = useRouter()
 
-  const back = useCallback(() => {
+  const back = () => {
     router.back()
-  }, [router])
-
+  }
   return (
     <div className='flex flex-1 items-center justify-between px-4'>
       <div className='flex items-center gap-3'>
-        <div className='flex cursor-pointer items-center' onClick={back}>
-          <DifyLogo />
+        <div className='flex items-center cursor-pointer' onClick={back}>
+          <LogoSite className='object-contain' />
         </div>
-        <div className='h-4 w-[1px] origin-center rotate-[11.31deg] bg-divider-regular' />
-        <p className='title-3xl-semi-bold relative mt-[-2px] text-text-primary'>{t('common.account.account')}</p>
+        <div className='w-[1px] h-4 bg-divider-regular' />
+        <p className='text-text-primary title-3xl-semi-bold'>{t('common.account.account')}</p>
       </div>
-      <div className='flex shrink-0 items-center gap-3'>
-        <Button className='system-sm-medium gap-2 px-3 py-2' onClick={back}>
-          <RiRobot2Line className='h-4 w-4' />
+      <div className='flex items-center flex-shrink-0 gap-3'>
+        <Button className='gap-2 py-2 px-3 system-sm-medium' onClick={back}>
+          <RiRobot2Line className='w-4 h-4' />
           <p>{t('common.account.studio')}</p>
-          <RiArrowRightUpLine className='h-4 w-4' />
+          <RiArrowRightUpLine className='w-4 h-4' />
         </Button>
-        <div className='h-4 w-[1px] bg-divider-regular' />
+        <div className='w-[1px] h-4 bg-divider-regular' />
         <Avatar />
       </div>
     </div>
diff --git a/app/account/layout.tsx b/app/account/layout.tsx
index 9ee7435..11a6abe 100644
--- a/app/account/layout.tsx
+++ b/app/account/layout.tsx
@@ -21,7 +21,7 @@
                 <HeaderWrapper>
                   <Header />
                 </HeaderWrapper>
-                <div className='relative flex h-0 shrink-0 grow flex-col overflow-y-auto bg-components-panel-bg'>
+                <div className='relative flex flex-col overflow-y-auto bg-components-panel-bg shrink-0 h-0 grow'>
                   {children}
                 </div>
               </ModalContextProvider>
diff --git a/app/account/page.tsx b/app/account/page.tsx
index baf386e..bb7e7f7 100644
--- a/app/account/page.tsx
+++ b/app/account/page.tsx
@@ -1,7 +1,7 @@
 import AccountPage from './account-page'
 
 export default function Account() {
-  return <div className='mx-auto w-full max-w-[640px] px-6 pt-12'>
+  return <div className='max-w-[640px] w-full mx-auto pt-12 px-6'>
     <AccountPage />
   </div>
 }
diff --git a/app/activate/activateForm.tsx b/app/activate/activateForm.tsx
index 782b24b..9a32a76 100644
--- a/app/activate/activateForm.tsx
+++ b/app/activate/activateForm.tsx
@@ -41,7 +41,7 @@
   return (
     <div className={
       cn(
-        'flex w-full grow flex-col items-center justify-center',
+        'flex flex-col items-center w-full grow justify-center',
         'px-6',
         'md:px-[108px]',
       )
@@ -49,11 +49,11 @@
       {!checkRes && <Loading />}
       {checkRes && !checkRes.is_valid && (
         <div className="flex flex-col md:w-[400px]">
-          <div className="mx-auto w-full">
-            <div className="mb-3 flex h-20 w-20 items-center justify-center rounded-[20px] border border-divider-regular bg-components-option-card-option-bg p-5 text-[40px] font-bold shadow-lg">馃し鈥嶁檪锔�</div>
-            <h2 className="text-[32px] font-bold text-text-primary">{t('login.invalid')}</h2>
+          <div className="w-full mx-auto">
+            <div className="mb-3 flex justify-center items-center w-20 h-20 p-5 rounded-[20px] border border-gray-100 shadow-lg text-[40px] font-bold">馃し鈥嶁檪锔�</div>
+            <h2 className="text-[32px] font-bold text-gray-900">{t('login.invalid')}</h2>
           </div>
-          <div className="mx-auto mt-6 w-full">
+          <div className="w-full mx-auto mt-6">
             <Button variant='primary' className='w-full !text-sm'>
               <a href="https://dify.ai">{t('login.explore')}</a>
             </Button>
diff --git a/app/activate/page.tsx b/app/activate/page.tsx
index 221559f..0f18544 100644
--- a/app/activate/page.tsx
+++ b/app/activate/page.tsx
@@ -1,15 +1,27 @@
 import React from 'react'
 import Header from '../signin/_header'
+import style from '../signin/page.module.css'
 import ActivateForm from './activateForm'
 import cn from '@/utils/classnames'
 
 const Activate = () => {
   return (
-    <div className={cn('flex min-h-screen w-full justify-center bg-background-default-burn p-6')}>
-      <div className={cn('flex w-full shrink-0 flex-col rounded-2xl border border-effects-highlight bg-background-default-subtle')}>
+    <div className={cn(
+      style.background,
+      'flex w-full min-h-screen',
+      'sm:p-4 lg:p-8',
+      'gap-x-20',
+      'justify-center lg:justify-start',
+    )}>
+      <div className={
+        cn(
+          'flex w-full flex-col bg-white shadow rounded-2xl shrink-0',
+          'space-between',
+        )
+      }>
         <Header />
         <ActivateForm />
-        <div className='px-8 py-6 text-sm font-normal text-text-tertiary'>
+        <div className='px-8 py-6 text-sm font-normal text-gray-500'>
           漏 {new Date().getFullYear()} LangGenius, Inc. All rights reserved.
         </div>
       </div>
diff --git a/app/activate/style.module.css b/app/activate/style.module.css
new file mode 100644
index 0000000..1779898
--- /dev/null
+++ b/app/activate/style.module.css
@@ -0,0 +1,4 @@
+.logo {
+  background: #fff center no-repeat url(./team-28x28.png);
+  background-size: 56px;
+}
\ No newline at end of file
diff --git a/app/activate/team-28x28.png b/app/activate/team-28x28.png
new file mode 100644
index 0000000..b517521
--- /dev/null
+++ b/app/activate/team-28x28.png
Binary files differ
diff --git a/app/components/app-sidebar/app-info.tsx b/app/components/app-sidebar/app-info.tsx
index 5ec0e31..12f9c59 100644
--- a/app/components/app-sidebar/app-info.tsx
+++ b/app/components/app-sidebar/app-info.tsx
@@ -1,20 +1,18 @@
 import { useTranslation } from 'react-i18next'
 import { useRouter } from 'next/navigation'
 import { useContext, useContextSelector } from 'use-context-selector'
+import { RiArrowDownSLine } from '@remixicon/react'
 import React, { useCallback, useState } from 'react'
-import {
-  RiDeleteBinLine,
-  RiEditLine,
-  RiEqualizer2Line,
-  RiExchange2Line,
-  RiFileCopy2Line,
-  RiFileDownloadLine,
-  RiFileUploadLine,
-  RiMoreLine,
-} from '@remixicon/react'
 import AppIcon from '../base/app-icon'
 import SwitchAppModal from '../app/switch-app-modal'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
+import {
+  PortalToFollowElem,
+  PortalToFollowElemContent,
+  PortalToFollowElemTrigger,
+} from '@/app/components/base/portal-to-follow-elem'
+import Divider from '@/app/components/base/divider'
 import Confirm from '@/app/components/base/confirm'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { ToastContext } from '@/app/components/base/toast'
@@ -24,6 +22,8 @@
 import DuplicateAppModal from '@/app/components/app/duplicate-modal'
 import type { DuplicateAppModalProps } from '@/app/components/app/duplicate-modal'
 import CreateAppModal from '@/app/components/explore/create-app-modal'
+import { AiText, ChatBot, CuteRobot } from '@/app/components/base/icons/src/vender/solid/communication'
+import { Route } from '@/app/components/base/icons/src/vender/solid/mapsAndTravel'
 import type { CreateAppModalProps } from '@/app/components/explore/create-app-modal'
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { getRedirection } from '@/utils/app-redirection'
@@ -31,10 +31,6 @@
 import type { EnvironmentVariable } from '@/app/components/workflow/types'
 import DSLExportConfirmModal from '@/app/components/workflow/dsl-export-confirm-modal'
 import { fetchWorkflowDraft } from '@/service/workflow'
-import ContentDialog from '@/app/components/base/content-dialog'
-import Button from '@/app/components/base/button'
-import CardView from '@/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/cardView'
-import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '../base/portal-to-follow-elem'
 
 export type IAppInfoProps = {
   expand: boolean
@@ -51,6 +47,7 @@
   const [showEditModal, setShowEditModal] = useState(false)
   const [showDuplicateModal, setShowDuplicateModal] = useState(false)
   const [showConfirmDelete, setShowConfirmDelete] = useState(false)
+  const [showSwitchTip, setShowSwitchTip] = useState<string>('')
   const [showSwitchModal, setShowSwitchModal] = useState<boolean>(false)
   const [showImportDSLModal, setShowImportDSLModal] = useState<boolean>(false)
   const [secretEnvList, setSecretEnvList] = useState<EnvironmentVariable[]>([])
@@ -88,7 +85,7 @@
       setAppDetail(app)
       mutateApps()
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.editFailed') })
     }
   }, [appDetail, mutateApps, notify, setAppDetail, t])
@@ -115,7 +112,7 @@
       onPlanInfoChanged()
       getRedirection(true, newApp, replace)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
   }
@@ -134,7 +131,7 @@
       a.download = `${appDetail.name}.yml`
       a.click()
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.exportFailed') })
     }
   }
@@ -155,7 +152,7 @@
       }
       setSecretEnvList(list)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.exportFailed') })
     }
   }
@@ -178,240 +175,299 @@
       })
     }
     setShowConfirmDelete(false)
-  }, [appDetail, mutateApps, notify, onPlanInfoChanged, replace, setAppDetail, t])
+  }, [appDetail, mutateApps, notify, onPlanInfoChanged, replace, t])
 
   const { isCurrentWorkspaceEditor } = useAppContext()
-
-  const [showMore, setShowMore] = useState(false)
-  const handleTriggerMore = useCallback(() => {
-    setShowMore(true)
-  }, [setShowMore])
 
   if (!appDetail)
     return null
 
   return (
-    <div>
-      <button
-        onClick={() => {
-          if (isCurrentWorkspaceEditor)
-            setOpen(v => !v)
-        }}
-        className='block w-full'
-      >
-        <div className={cn('flex rounded-lg', expand ? 'flex-col gap-2 p-2 pb-2.5' : 'items-start justify-center gap-1 p-1', open && 'bg-state-base-hover', isCurrentWorkspaceEditor && 'cursor-pointer hover:bg-state-base-hover')}>
-          <div className={`flex items-center self-stretch ${expand ? 'justify-between' : 'flex-col gap-1'}`}>
-            <AppIcon
-              size={expand ? 'large' : 'small'}
-              iconType={appDetail.icon_type}
-              icon={appDetail.icon}
-              background={appDetail.icon_background}
-              imageUrl={appDetail.icon_url}
-            />
-            <div className='flex items-center justify-center rounded-md p-0.5'>
-              <div className='flex h-5 w-5 items-center justify-center'>
-                <RiEqualizer2Line className='h-4 w-4 text-text-tertiary' />
-              </div>
+    <PortalToFollowElem
+      open={open}
+      onOpenChange={setOpen}
+      placement='bottom-start'
+      offset={4}
+    >
+      <div className='relative'>
+        <PortalToFollowElemTrigger
+          onClick={() => {
+            if (isCurrentWorkspaceEditor)
+              setOpen(v => !v)
+          }}
+          className='block'
+        >
+          <div className={cn('flex p-1 rounded-lg', open && 'bg-gray-100', isCurrentWorkspaceEditor && 'hover:bg-gray-100 cursor-pointer')}>
+            <div className='relative shrink-0 mr-2'>
+              <AppIcon
+                size={expand ? 'large' : 'small'}
+                iconType={appDetail.icon_type}
+                icon={appDetail.icon}
+                background={appDetail.icon_background}
+                imageUrl={appDetail.icon_url}
+              />
+              <span className={cn(
+                'absolute bottom-[-3px] right-[-3px] w-4 h-4 p-0.5 bg-white rounded border-[0.5px] border-[rgba(0,0,0,0.02)] shadow-sm',
+                !expand && '!w-3.5 !h-3.5 !bottom-[-2px] !right-[-2px]',
+              )}>
+                {appDetail.mode === 'advanced-chat' && (
+                  <ChatBot className={cn('w-3 h-3 text-[#1570EF]', !expand && '!w-2.5 !h-2.5')} />
+                )}
+                {appDetail.mode === 'agent-chat' && (
+                  <CuteRobot className={cn('w-3 h-3 text-indigo-600', !expand && '!w-2.5 !h-2.5')} />
+                )}
+                {appDetail.mode === 'chat' && (
+                  <ChatBot className={cn('w-3 h-3 text-[#1570EF]', !expand && '!w-2.5 !h-2.5')} />
+                )}
+                {appDetail.mode === 'completion' && (
+                  <AiText className={cn('w-3 h-3 text-[#0E9384]', !expand && '!w-2.5 !h-2.5')} />
+                )}
+                {appDetail.mode === 'workflow' && (
+                  <Route className={cn('w-3 h-3 text-[#f79009]', !expand && '!w-2.5 !h-2.5')} />
+                )}
+              </span>
             </div>
-          </div>
-          {
-            expand && (
-              <div className='flex flex-col items-start gap-1'>
-                <div className='flex w-full'>
-                  <div className='system-md-semibold truncate text-text-secondary'>{appDetail.name}</div>
+            {expand && (
+              <div className="grow w-0">
+                <div className='flex justify-between items-center text-sm leading-5 font-medium text-text-secondary'>
+                  <div className='truncate' title={appDetail.name}>{appDetail.name}</div>
+                  {isCurrentWorkspaceEditor && <RiArrowDownSLine className='shrink-0 ml-[2px] w-3 h-3 text-gray-500' />}
                 </div>
-                <div className='system-2xs-medium-uppercase text-text-tertiary'>{appDetail.mode === 'advanced-chat' ? t('app.types.advanced') : appDetail.mode === 'agent-chat' ? t('app.types.agent') : appDetail.mode === 'chat' ? t('app.types.chatbot') : appDetail.mode === 'completion' ? t('app.types.completion') : t('app.types.workflow')}</div>
+                <div className='flex items-center text-[10px] leading-[18px] font-medium text-gray-500 gap-1'>
+                  {appDetail.mode === 'advanced-chat' && (
+                    <>
+                      <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.chatbot').toUpperCase()}</div>
+                      <div title={t('app.types.advanced') || ''} className='px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.advanced').toUpperCase()}</div>
+                    </>
+                  )}
+                  {appDetail.mode === 'agent-chat' && (
+                    <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.agent').toUpperCase()}</div>
+                  )}
+                  {appDetail.mode === 'chat' && (
+                    <>
+                      <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.chatbot').toUpperCase()}</div>
+                      <div title={t('app.types.basic') || ''} className='px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{(t('app.types.basic').toUpperCase())}</div>
+                    </>
+                  )}
+                  {appDetail.mode === 'completion' && (
+                    <>
+                      <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.completion').toUpperCase()}</div>
+                      <div title={t('app.types.basic') || ''} className='px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{(t('app.types.basic').toUpperCase())}</div>
+                    </>
+                  )}
+                  {appDetail.mode === 'workflow' && (
+                    <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.workflow').toUpperCase()}</div>
+                  )}
+                </div>
               </div>
-            )
-          }
-        </div>
-      </button>
-      <ContentDialog
-        show={open}
-        onClose={() => setOpen(false)}
-        className='absolute bottom-2 left-2 top-2 flex w-[420px] flex-col rounded-2xl !p-0'
-      >
-        <div className='flex shrink-0 flex-col items-start justify-center gap-3 self-stretch p-4'>
-          <div className='flex items-center gap-3 self-stretch'>
-            <AppIcon
-              size="large"
-              iconType={appDetail.icon_type}
-              icon={appDetail.icon}
-              background={appDetail.icon_background}
-              imageUrl={appDetail.icon_url}
-            />
-            <div className='flex w-full grow flex-col items-start justify-center'>
-              <div className='system-md-semibold w-full truncate text-text-secondary'>{appDetail.name}</div>
-              <div className='system-2xs-medium-uppercase text-text-tertiary'>{appDetail.mode === 'advanced-chat' ? t('app.types.advanced') : appDetail.mode === 'agent-chat' ? t('app.types.agent') : appDetail.mode === 'chat' ? t('app.types.chatbot') : appDetail.mode === 'completion' ? t('app.types.completion') : t('app.types.workflow')}</div>
-            </div>
+            )}
           </div>
-          {/* description */}
-          {appDetail.description && (
-            <div className='system-xs-regular text-text-tertiary'>{appDetail.description}</div>
-          )}
-          {/* operations */}
-          <div className='flex flex-wrap items-center gap-1 self-stretch'>
-            <Button
-              size={'small'}
-              variant={'secondary'}
-              className='gap-[1px]'
-              onClick={() => {
+        </PortalToFollowElemTrigger>
+        <PortalToFollowElemContent className='z-[1002]'>
+          <div className='relative w-[320px] bg-white rounded-2xl shadow-xl'>
+            {/* header */}
+            <div className={cn('flex pl-4 pt-3 pr-3', !appDetail.description && 'pb-2')}>
+              <div className='relative shrink-0 mr-2'>
+                <AppIcon
+                  size="large"
+                  iconType={appDetail.icon_type}
+                  icon={appDetail.icon}
+                  background={appDetail.icon_background}
+                  imageUrl={appDetail.icon_url}
+                />
+                <span className='absolute bottom-[-3px] right-[-3px] w-4 h-4 p-0.5 bg-white rounded border-[0.5px] border-[rgba(0,0,0,0.02)] shadow-sm'>
+                  {appDetail.mode === 'advanced-chat' && (
+                    <ChatBot className='w-3 h-3 text-[#1570EF]' />
+                  )}
+                  {appDetail.mode === 'agent-chat' && (
+                    <CuteRobot className='w-3 h-3 text-indigo-600' />
+                  )}
+                  {appDetail.mode === 'chat' && (
+                    <ChatBot className='w-3 h-3 text-[#1570EF]' />
+                  )}
+                  {appDetail.mode === 'completion' && (
+                    <AiText className='w-3 h-3 text-[#0E9384]' />
+                  )}
+                  {appDetail.mode === 'workflow' && (
+                    <Route className='w-3 h-3 text-[#f79009]' />
+                  )}
+                </span>
+              </div>
+              <div className='grow w-0'>
+                <div title={appDetail.name} className='flex justify-between items-center text-sm leading-5 font-medium text-gray-900 truncate'>{appDetail.name}</div>
+                <div className='flex items-center text-[10px] leading-[18px] font-medium text-gray-500 gap-1'>
+                  {appDetail.mode === 'advanced-chat' && (
+                    <>
+                      <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.chatbot').toUpperCase()}</div>
+                      <div title={t('app.types.advanced') || ''} className='px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.advanced').toUpperCase()}</div>
+                    </>
+                  )}
+                  {appDetail.mode === 'agent-chat' && (
+                    <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.agent').toUpperCase()}</div>
+                  )}
+                  {appDetail.mode === 'chat' && (
+                    <>
+                      <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.chatbot').toUpperCase()}</div>
+                      <div title={t('app.types.basic') || ''} className='px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{(t('app.types.basic').toUpperCase())}</div>
+                    </>
+                  )}
+                  {appDetail.mode === 'completion' && (
+                    <>
+                      <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.completion').toUpperCase()}</div>
+                      <div title={t('app.types.basic') || ''} className='px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{(t('app.types.basic').toUpperCase())}</div>
+                    </>
+                  )}
+                  {appDetail.mode === 'workflow' && (
+                    <div className='shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate'>{t('app.types.workflow').toUpperCase()}</div>
+                  )}
+                </div>
+              </div>
+            </div>
+            {/* description */}
+            {appDetail.description && (
+              <div className='px-4 py-2 text-gray-500 text-xs leading-[18px]'>{appDetail.description}</div>
+            )}
+            {/* operations */}
+            <Divider className="!my-1" />
+            <div className="w-full py-1">
+              <div className='h-9 py-2 px-3 mx-1 flex items-center hover:bg-gray-50 rounded-lg cursor-pointer' onClick={() => {
                 setOpen(false)
                 setShowEditModal(true)
-              }}
-            >
-              <RiEditLine className='h-3.5 w-3.5 text-components-button-secondary-text' />
-              <span className='system-xs-medium text-components-button-secondary-text'>{t('app.editApp')}</span>
-            </Button>
-            <Button
-              size={'small'}
-              variant={'secondary'}
-              className='gap-[1px]'
-              onClick={() => {
+              }}>
+                <span className='text-gray-700 text-sm leading-5'>{t('app.editApp')}</span>
+              </div>
+              <div className='h-9 py-2 px-3 mx-1 flex items-center hover:bg-gray-50 rounded-lg cursor-pointer' onClick={() => {
                 setOpen(false)
                 setShowDuplicateModal(true)
-              }}
-            >
-              <RiFileCopy2Line className='h-3.5 w-3.5 text-components-button-secondary-text' />
-              <span className='system-xs-medium text-components-button-secondary-text'>{t('app.duplicate')}</span>
-            </Button>
-            <Button
-              size={'small'}
-              variant={'secondary'}
-              className='gap-[1px]'
-              onClick={exportCheck}
-            >
-              <RiFileDownloadLine className='h-3.5 w-3.5 text-components-button-secondary-text' />
-              <span className='system-xs-medium text-components-button-secondary-text'>{t('app.export')}</span>
-            </Button>
-            {appDetail.mode !== 'agent-chat' && <PortalToFollowElem
-              open={showMore}
-              onOpenChange={setShowMore}
-              placement='bottom-end'
-              offset={{
-                mainAxis: 4,
               }}>
-              <PortalToFollowElemTrigger onClick={handleTriggerMore}>
-                <Button
-                  size={'small'}
-                  variant={'secondary'}
-                  className='gap-[1px]'
-                >
-                  <RiMoreLine className='h-3.5 w-3.5 text-components-button-secondary-text' />
-                  <span className='system-xs-medium text-components-button-secondary-text'>{t('common.operation.more')}</span>
-                </Button>
-              </PortalToFollowElemTrigger>
-              <PortalToFollowElemContent className='z-[21]'>
-                <div className='flex w-[264px] flex-col rounded-[12px] border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg backdrop-blur-[5px]'>
-                  {
-                    (appDetail.mode === 'advanced-chat' || appDetail.mode === 'workflow')
-                    && <div className='flex h-8 cursor-pointer items-center gap-x-1 rounded-lg p-1.5 hover:bg-state-base-hover'
-                      onClick={() => {
-                        setOpen(false)
-                        setShowImportDSLModal(true)
-                      }}>
-                      <RiFileUploadLine className='h-4 w-4 text-text-tertiary' />
-                      <span className='system-md-regular text-text-secondary'>{t('workflow.common.importDSL')}</span>
-                    </div>
-                  }
-                  {
-                    (appDetail.mode === 'completion' || appDetail.mode === 'chat')
-                    && <div className='flex h-8 cursor-pointer items-center gap-x-1 rounded-lg p-1.5 hover:bg-state-base-hover'
-                      onClick={() => {
-                        setOpen(false)
-                        setShowSwitchModal(true)
-                      }}>
-                      <RiExchange2Line className='h-4 w-4 text-text-tertiary' />
-                      <span className='system-md-regular text-text-secondary'>{t('app.switch')}</span>
-                    </div>
-                  }
+                <span className='text-gray-700 text-sm leading-5'>{t('app.duplicate')}</span>
+              </div>
+              {(appDetail.mode === 'completion' || appDetail.mode === 'chat') && (
+                <>
+                  <Divider className="!my-1" />
+                  <div
+                    className='h-9 py-2 px-3 mx-1 flex items-center hover:bg-gray-50 rounded-lg cursor-pointer'
+                    onMouseEnter={() => setShowSwitchTip(appDetail.mode)}
+                    onMouseLeave={() => setShowSwitchTip('')}
+                    onClick={() => {
+                      setOpen(false)
+                      setShowSwitchModal(true)
+                    }}
+                  >
+                    <span className='text-gray-700 text-sm leading-5'>{t('app.switch')}</span>
+                  </div>
+                </>
+              )}
+              <Divider className="!my-1" />
+              <div className='h-9 py-2 px-3 mx-1 flex items-center hover:bg-gray-50 rounded-lg cursor-pointer' onClick={exportCheck}>
+                <span className='text-gray-700 text-sm leading-5'>{t('app.export')}</span>
+              </div>
+              {
+                (appDetail.mode === 'advanced-chat' || appDetail.mode === 'workflow') && (
+                  <div
+                    className='h-9 py-2 px-3 mx-1 flex items-center hover:bg-gray-50 rounded-lg cursor-pointer'
+                    onClick={() => {
+                      setOpen(false)
+                      setShowImportDSLModal(true)
+                    }}>
+                    <span className='text-gray-700 text-sm leading-5'>{t('workflow.common.importDSL')}</span>
+                  </div>
+                )
+              }
+              <Divider className="!my-1" />
+              <div className='group h-9 py-2 px-3 mx-1 flex items-center hover:bg-red-50 rounded-lg cursor-pointer' onClick={() => {
+                setOpen(false)
+                setShowConfirmDelete(true)
+              }}>
+                <span className='text-gray-700 text-sm leading-5 group-hover:text-red-500'>
+                  {t('common.operation.delete')}
+                </span>
+              </div>
+            </div>
+            {/* switch tip */}
+            <div
+              className={cn(
+                'hidden absolute left-[324px] top-0 w-[376px] rounded-xl bg-white border-[0.5px] border-[rgba(0,0,0,0.05)] shadow-lg',
+                showSwitchTip && '!block',
+              )}
+            >
+              <div className={cn(
+                'w-full h-[256px] bg-center bg-no-repeat bg-contain rounded-xl',
+                showSwitchTip === 'chat' && s.expertPic,
+                showSwitchTip === 'completion' && s.completionPic,
+              )} />
+              <div className='px-4 pb-2'>
+                <div className='flex items-center gap-1 text-gray-700 text-md leading-6 font-semibold'>
+                  {showSwitchTip === 'chat' ? t('app.types.advanced') : t('app.types.workflow')}
+                  <span className='px-1 rounded-[5px] bg-white border border-black/8 text-gray-500 text-[10px] leading-[18px] font-medium'>BETA</span>
                 </div>
-              </PortalToFollowElemContent>
-            </PortalToFollowElem>}
+                <div className='text-orange-500 text-xs leading-[18px] font-medium'>{t('app.newApp.advancedFor').toLocaleUpperCase()}</div>
+                <div className='mt-1 text-gray-500 text-sm leading-5'>{t('app.newApp.advancedDescription')}</div>
+              </div>
+            </div>
           </div>
-        </div>
-        <div className='flex flex-1'>
-          <CardView
-            appId={appDetail.id}
-            isInPanel={true}
-            className='flex grow flex-col gap-2 overflow-auto px-2 py-1'
+        </PortalToFollowElemContent>
+        {showSwitchModal && (
+          <SwitchAppModal
+            inAppDetail
+            show={showSwitchModal}
+            appDetail={appDetail}
+            onClose={() => setShowSwitchModal(false)}
+            onSuccess={() => setShowSwitchModal(false)}
           />
-        </div>
-        <div className='flex min-h-fit shrink-0 flex-col items-start justify-center gap-3 self-stretch border-t-[0.5px] border-divider-subtle p-2'>
-          <Button
-            size={'medium'}
-            variant={'ghost'}
-            className='gap-0.5'
-            onClick={() => {
-              setOpen(false)
-              setShowConfirmDelete(true)
-            }}
-          >
-            <RiDeleteBinLine className='h-4 w-4 text-text-tertiary' />
-            <span className='system-sm-medium text-text-tertiary'>{t('common.operation.deleteApp')}</span>
-          </Button>
-        </div>
-      </ContentDialog>
-      {showSwitchModal && (
-        <SwitchAppModal
-          inAppDetail
-          show={showSwitchModal}
-          appDetail={appDetail}
-          onClose={() => setShowSwitchModal(false)}
-          onSuccess={() => setShowSwitchModal(false)}
-        />
-      )}
-      {showEditModal && (
-        <CreateAppModal
-          isEditModal
-          appName={appDetail.name}
-          appIconType={appDetail.icon_type}
-          appIcon={appDetail.icon}
-          appIconBackground={appDetail.icon_background}
-          appIconUrl={appDetail.icon_url}
-          appDescription={appDetail.description}
-          appMode={appDetail.mode}
-          appUseIconAsAnswerIcon={appDetail.use_icon_as_answer_icon}
-          show={showEditModal}
-          onConfirm={onEdit}
-          onHide={() => setShowEditModal(false)}
-        />
-      )}
-      {showDuplicateModal && (
-        <DuplicateAppModal
-          appName={appDetail.name}
-          icon_type={appDetail.icon_type}
-          icon={appDetail.icon}
-          icon_background={appDetail.icon_background}
-          icon_url={appDetail.icon_url}
-          show={showDuplicateModal}
-          onConfirm={onCopy}
-          onHide={() => setShowDuplicateModal(false)}
-        />
-      )}
-      {showConfirmDelete && (
-        <Confirm
-          title={t('app.deleteAppConfirmTitle')}
-          content={t('app.deleteAppConfirmContent')}
-          isShow={showConfirmDelete}
-          onConfirm={onConfirmDelete}
-          onCancel={() => setShowConfirmDelete(false)}
-        />
-      )}
-      {showImportDSLModal && (
-        <UpdateDSLModal
-          onCancel={() => setShowImportDSLModal(false)}
-          onBackup={exportCheck}
-        />
-      )}
-      {secretEnvList.length > 0 && (
-        <DSLExportConfirmModal
-          envList={secretEnvList}
-          onConfirm={onExport}
-          onClose={() => setSecretEnvList([])}
-        />
-      )}
-    </div>
+        )}
+        {showEditModal && (
+          <CreateAppModal
+            isEditModal
+            appName={appDetail.name}
+            appIconType={appDetail.icon_type}
+            appIcon={appDetail.icon}
+            appIconBackground={appDetail.icon_background}
+            appIconUrl={appDetail.icon_url}
+            appDescription={appDetail.description}
+            appMode={appDetail.mode}
+            appUseIconAsAnswerIcon={appDetail.use_icon_as_answer_icon}
+            show={showEditModal}
+            onConfirm={onEdit}
+            onHide={() => setShowEditModal(false)}
+          />
+        )}
+        {showDuplicateModal && (
+          <DuplicateAppModal
+            appName={appDetail.name}
+            icon_type={appDetail.icon_type}
+            icon={appDetail.icon}
+            icon_background={appDetail.icon_background}
+            icon_url={appDetail.icon_url}
+            show={showDuplicateModal}
+            onConfirm={onCopy}
+            onHide={() => setShowDuplicateModal(false)}
+          />
+        )}
+        {showConfirmDelete && (
+          <Confirm
+            title={t('app.deleteAppConfirmTitle')}
+            content={t('app.deleteAppConfirmContent')}
+            isShow={showConfirmDelete}
+            onConfirm={onConfirmDelete}
+            onCancel={() => setShowConfirmDelete(false)}
+          />
+        )}
+        {showImportDSLModal && (
+          <UpdateDSLModal
+            onCancel={() => setShowImportDSLModal(false)}
+            onBackup={exportCheck}
+          />
+        )}
+        {secretEnvList.length > 0 && (
+          <DSLExportConfirmModal
+            envList={secretEnvList}
+            onConfirm={onExport}
+            onClose={() => setSecretEnvList([])}
+          />
+        )}
+      </div>
+    </PortalToFollowElem>
   )
 }
 
diff --git a/app/components/app-sidebar/basic.tsx b/app/components/app-sidebar/basic.tsx
index 6a7d5a1..51fc107 100644
--- a/app/components/app-sidebar/basic.tsx
+++ b/app/components/app-sidebar/basic.tsx
@@ -48,33 +48,31 @@
 
 const ICON_MAP = {
   app: <AppIcon className='border !border-[rgba(0,0,0,0.05)]' />,
-  api: <AppIcon innerIcon={ApiSvg} className='border !border-purple-200 !bg-purple-50' />,
+  api: <AppIcon innerIcon={ApiSvg} className='border !bg-purple-50 !border-purple-200' />,
   dataset: <AppIcon innerIcon={DatasetSvg} className='!border-[0.5px] !border-indigo-100 !bg-indigo-25' />,
-  webapp: <AppIcon innerIcon={WebappSvg} className='border !border-primary-200 !bg-primary-100' />,
+  webapp: <AppIcon innerIcon={WebappSvg} className='border !bg-primary-100 !border-primary-200' />,
   notion: <AppIcon innerIcon={NotionSvg} className='!border-[0.5px] !border-indigo-100 !bg-white' />,
 }
 
-export default function AppBasic({ icon, icon_background, name, isExternal, type, hoverTip, textStyle, isExtraInLine, mode = 'expand', iconType = 'app' }: IAppBasicProps) {
+export default function AppBasic({ icon, icon_background, name, isExternal, type, hoverTip, textStyle, mode = 'expand', iconType = 'app' }: IAppBasicProps) {
   const { t } = useTranslation()
 
   return (
-    <div className="flex grow items-center">
+    <div className="flex items-start p-1">
       {icon && icon_background && iconType === 'app' && (
-        <div className='mr-3 shrink-0'>
+        <div className='flex-shrink-0 mr-3'>
           <AppIcon icon={icon} background={icon_background} />
         </div>
       )}
       {iconType !== 'app'
-        && <div className='mr-3 shrink-0'>
+        && <div className='flex-shrink-0 mr-3'>
           {ICON_MAP[iconType]}
         </div>
 
       }
-      {mode === 'expand' && <div className="group w-full">
-        <div className={`system-md-semibold flex flex-row items-center text-text-secondary group-hover:text-text-primary ${textStyle?.main ?? ''}`}>
-          <div className="min-w-0 overflow-hidden text-ellipsis break-normal">
-            {name}
-          </div>
+      {mode === 'expand' && <div className="group">
+        <div className={`flex flex-row items-center text-sm font-semibold text-gray-700 group-hover:text-gray-900 break-all ${textStyle?.main ?? ''}`}>
+          {name}
           {hoverTip
             && <Tooltip
               popupContent={
@@ -88,11 +86,8 @@
             />
           }
         </div>
-        {isExtraInLine ? (
-          <div className="system-2xs-medium-uppercase flex text-text-tertiary">{type}</div>
-        ) : (
-          <div className='system-2xs-medium-uppercase text-text-tertiary'>{isExternal ? t('dataset.externalTag') : type}</div>
-        )}
+        <div className={`text-xs font-normal text-gray-500 group-hover:text-gray-700 break-all ${textStyle?.extra ?? ''}`}>{type}</div>
+        <div className='text-text-tertiary system-2xs-medium-uppercase'>{isExternal ? t('dataset.externalTag') : ''}</div>
       </div>}
     </div>
   )
diff --git a/app/components/app-sidebar/dataset-info.tsx b/app/components/app-sidebar/dataset-info.tsx
index 7374013..5ce51d4 100644
--- a/app/components/app-sidebar/dataset-info.tsx
+++ b/app/components/app-sidebar/dataset-info.tsx
@@ -26,7 +26,7 @@
   const { t } = useTranslation()
   return (
     <div className='pl-1 pt-1'>
-      <div className='mr-3 shrink-0'>
+      <div className='flex-shrink-0 mr-3'>
         <AppIcon innerIcon={DatasetSvg} className='!border-[0.5px] !border-indigo-100 !bg-indigo-25' />
       </div>
       {expand && (
@@ -34,8 +34,8 @@
           <div className='system-md-semibold text-text-secondary'>
             {name}
           </div>
-          <div className='system-2xs-medium-uppercase mt-1 text-text-tertiary'>{isExternal ? t('dataset.externalTag') : t('dataset.localDocs')}</div>
-          <div className='system-xs-regular  my-3 text-text-tertiary first-letter:capitalize'>{description}</div>
+          <div className='mt-1 text-text-tertiary system-2xs-medium-uppercase'>{isExternal ? t('dataset.externalTag') : t('dataset.localDocs')}</div>
+          <div className='my-3  system-xs-regular text-text-tertiary first-letter:capitalize'>{description}</div>
         </div>
       )}
       {extraInfo}
diff --git a/app/components/app-sidebar/index.tsx b/app/components/app-sidebar/index.tsx
index 3276a1c..61e4bf8 100644
--- a/app/components/app-sidebar/index.tsx
+++ b/app/components/app-sidebar/index.tsx
@@ -1,6 +1,7 @@
 import React, { useEffect } from 'react'
 import { useShallow } from 'zustand/react/shallow'
-import { RiLayoutLeft2Line, RiLayoutRight2Line } from '@remixicon/react'
+import { RiLayoutRight2Line } from '@remixicon/react'
+import { LayoutRight2LineMod } from '../base/icons/src/public/knowledge'
 import NavLink from './navLink'
 import type { NavIcon } from './navLink'
 import AppBasic from './basic'
@@ -49,14 +50,14 @@
   return (
     <div
       className={`
-        flex shrink-0 flex-col border-r border-divider-burn bg-background-default-subtle transition-all
+        shrink-0 flex flex-col bg-background-default-subtle border-r border-divider-burn transition-all
         ${expand ? 'w-[216px]' : 'w-14'}
       `}
     >
       <div
         className={`
           shrink-0
-          ${expand ? 'p-2' : 'p-1'}
+          ${expand ? 'p-3' : 'p-2'}
         `}
       >
         {iconType === 'app' && (
@@ -84,7 +85,7 @@
         )}
       </div>
       <div className='px-4'>
-        <div className={cn('mx-auto mt-1 h-[1px] bg-divider-subtle', !expand && 'w-6')} />
+        <div className={cn('mt-1 mx-auto h-[1px] bg-divider-subtle', !expand && 'w-6')} />
       </div>
       <nav
         className={`
@@ -107,13 +108,13 @@
             `}
           >
             <div
-              className='flex h-6 w-6 cursor-pointer items-center justify-center'
+              className='flex items-center justify-center w-6 h-6 text-gray-500 cursor-pointer'
               onClick={() => handleToggle(appSidebarExpand)}
             >
               {
                 expand
-                  ? <RiLayoutRight2Line className='h-5 w-5 text-components-menu-item-text' />
-                  : <RiLayoutLeft2Line className='h-5 w-5 text-components-menu-item-text' />
+                  ? <RiLayoutRight2Line className='w-5 h-5 text-components-menu-item-text' />
+                  : <LayoutRight2LineMod className='w-5 h-5 text-components-menu-item-text' />
               }
             </div>
           </div>
diff --git a/app/components/app-sidebar/navLink.tsx b/app/components/app-sidebar/navLink.tsx
index 295b553..bec6bf1 100644
--- a/app/components/app-sidebar/navLink.tsx
+++ b/app/components/app-sidebar/navLink.tsx
@@ -3,13 +3,13 @@
 import { useSelectedLayoutSegment } from 'next/navigation'
 import Link from 'next/link'
 import classNames from '@/utils/classnames'
-import type { RemixiconComponentType } from '@remixicon/react'
 
 export type NavIcon = React.ComponentType<
 React.PropsWithoutRef<React.ComponentProps<'svg'>> & {
   title?: string | undefined
   titleId?: string | undefined
-}> | RemixiconComponentType
+}
+>
 
 export type NavLinkProps = {
   name: string
@@ -44,7 +44,7 @@
       key={name}
       href={href}
       className={classNames(
-        isActive ? 'bg-state-accent-active text-text-accent font-semibold' : 'text-components-menu-item-text hover:bg-state-base-hover hover:text-components-menu-item-text-hover',
+        isActive ? 'bg-state-accent-active text-text-accent font-semibold' : 'text-components-menu-item-text hover:bg-gray-100 hover:text-components-menu-item-text-hover',
         'group flex items-center h-9 rounded-md py-2 text-sm font-normal',
         mode === 'expand' ? 'px-3' : 'px-2.5',
       )}
diff --git a/app/components/app-sidebar/style.module.css b/app/components/app-sidebar/style.module.css
index ca0978b..722b35b 100644
--- a/app/components/app-sidebar/style.module.css
+++ b/app/components/app-sidebar/style.module.css
@@ -5,7 +5,7 @@
 .completionPic {
 background-image: url('./completion.png')
 }
-
+  
 .expertPic {
 background-image: url('./expert.png')
-}
+}
\ No newline at end of file
diff --git a/app/components/app/annotation/add-annotation-modal/edit-item/index.tsx b/app/components/app/annotation/add-annotation-modal/edit-item/index.tsx
index 4c118c6..032e4b8 100644
--- a/app/components/app/annotation/add-annotation-modal/edit-item/index.tsx
+++ b/app/components/app/annotation/add-annotation-modal/edit-item/index.tsx
@@ -21,17 +21,17 @@
   onChange,
 }) => {
   const { t } = useTranslation()
-  const avatar = type === EditItemType.Query ? <User className='h-6 w-6' /> : <Robot className='h-6 w-6' />
+  const avatar = type === EditItemType.Query ? <User className='w-6 h-6' /> : <Robot className='w-6 h-6' />
   const name = type === EditItemType.Query ? t('appAnnotation.addModal.queryName') : t('appAnnotation.addModal.answerName')
   const placeholder = type === EditItemType.Query ? t('appAnnotation.addModal.queryPlaceholder') : t('appAnnotation.addModal.answerPlaceholder')
 
   return (
     <div className='flex' onClick={e => e.stopPropagation()}>
-      <div className='mr-3 shrink-0'>
+      <div className='shrink-0 mr-3'>
         {avatar}
       </div>
       <div className='grow'>
-        <div className='system-xs-semibold mb-1 text-text-primary'>{name}</div>
+        <div className='mb-1 system-xs-semibold text-text-primary'>{name}</div>
         <Textarea
           value={content}
           onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => onChange(e.target.value)}
diff --git a/app/components/app/annotation/add-annotation-modal/index.tsx b/app/components/app/annotation/add-annotation-modal/index.tsx
index 274a57a..c6cfb54 100644
--- a/app/components/app/annotation/add-annotation-modal/index.tsx
+++ b/app/components/app/annotation/add-annotation-modal/index.tsx
@@ -56,7 +56,7 @@
     try {
       await onAdd(payload)
     }
-    catch {
+    catch (e) {
     }
     setIsSaving(false)
 
@@ -76,7 +76,7 @@
         maxWidthClassName='!max-w-[480px]'
         title={t('appAnnotation.addModal.title') as string}
         body={(
-          <div className='space-y-6 p-6 pb-4'>
+          <div className='p-6 pb-4 space-y-6'>
             <EditItem
               type={EditItemType.Query}
               content={question}
@@ -93,11 +93,11 @@
           (
             <div>
               {isAnnotationFull && (
-                <div className='mb-4 mt-6 px-6'>
+                <div className='mt-6 mb-4 px-6'>
                   <AnnotationFull />
                 </div>
               )}
-              <div className='system-sm-medium flex h-16 items-center justify-between rounded-bl-xl rounded-br-xl border-t border-divider-subtle bg-background-section-burn px-4 text-text-tertiary'>
+              <div className='px-4 flex h-16 items-center justify-between border-t border-divider-subtle bg-background-section-burn rounded-bl-xl rounded-br-xl system-sm-medium text-text-tertiary'>
                 <div
                   className='flex items-center space-x-2'
                 >
diff --git a/app/components/app/annotation/batch-add-annotation-modal/csv-downloader.tsx b/app/components/app/annotation/batch-add-annotation-modal/csv-downloader.tsx
index 8fb42e1..d2189b4 100644
--- a/app/components/app/annotation/batch-add-annotation-modal/csv-downloader.tsx
+++ b/app/components/app/annotation/batch-add-annotation-modal/csv-downloader.tsx
@@ -35,17 +35,17 @@
     <div className='mt-6'>
       <div className='system-sm-medium text-text-primary'>{t('share.generation.csvStructureTitle')}</div>
       <div className='mt-2 max-h-[500px] overflow-auto'>
-        <table className='w-full table-fixed border-separate border-spacing-0 rounded-lg border border-divider-regular text-xs'>
+        <table className='table-fixed w-full border-separate border-spacing-0 border border-divider-regular rounded-lg text-xs'>
           <thead className='text-text-tertiary'>
             <tr>
-              <td className='h-9 border-b border-divider-regular pl-3 pr-2'>{t('appAnnotation.batchModal.question')}</td>
-              <td className='h-9 border-b border-divider-regular pl-3 pr-2'>{t('appAnnotation.batchModal.answer')}</td>
+              <td className='h-9 pl-3 pr-2 border-b border-divider-regular'>{t('appAnnotation.batchModal.question')}</td>
+              <td className='h-9 pl-3 pr-2 border-b border-divider-regular'>{t('appAnnotation.batchModal.answer')}</td>
             </tr>
           </thead>
-          <tbody className='text-text-secondary'>
+          <tbody className='text-gray-700'>
             <tr>
-              <td className='h-9 border-b border-divider-subtle pl-3 pr-2 text-[13px]'>{t('appAnnotation.batchModal.question')} 1</td>
-              <td className='h-9 border-b border-divider-subtle pl-3 pr-2 text-[13px]'>{t('appAnnotation.batchModal.answer')} 1</td>
+              <td className='h-9 pl-3 pr-2 border-b border-divider-subtle text-[13px]'>{t('appAnnotation.batchModal.question')} 1</td>
+              <td className='h-9 pl-3 pr-2 border-b border-divider-subtle text-[13px]'>{t('appAnnotation.batchModal.answer')} 1</td>
             </tr>
             <tr>
               <td className='h-9 pl-3 pr-2 text-[13px]'>{t('appAnnotation.batchModal.question')} 2</td>
@@ -55,14 +55,14 @@
         </table>
       </div>
       <CSVDownloader
-        className="mt-2 block cursor-pointer"
+        className="block mt-2 cursor-pointer"
         type={Type.Link}
         filename={`template-${locale}`}
         bom={true}
         data={getTemplate()}
       >
-        <div className='system-xs-medium flex h-[18px] items-center space-x-1 text-text-accent'>
-          <DownloadIcon className='mr-1 h-3 w-3' />
+        <div className='flex items-center h-[18px] space-x-1 text-text-accent system-xs-medium'>
+          <DownloadIcon className='w-3 h-3 mr-1' />
           {t('appAnnotation.batchModal.template')}
         </div>
       </CSVDownloader>
diff --git a/app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx b/app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx
index dfc8d10..d37593c 100644
--- a/app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx
+++ b/app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx
@@ -91,29 +91,29 @@
       />
       <div ref={dropRef}>
         {!file && (
-          <div className={cn('system-sm-regular flex h-20 items-center rounded-xl border border-dashed border-components-dropzone-border bg-components-dropzone-bg', dragging && 'border border-components-dropzone-border-accent bg-components-dropzone-bg-accent')}>
-            <div className='flex w-full items-center justify-center space-x-2'>
+          <div className={cn('flex items-center h-20 rounded-xl bg-components-dropzone-bg border border-dashed border-components-dropzone-border system-sm-regular', dragging && 'bg-components-dropzone-bg-accent border border-components-dropzone-border-accent')}>
+            <div className='w-full flex items-center justify-center space-x-2'>
               <CSVIcon className="shrink-0" />
               <div className='text-text-tertiary'>
                 {t('appAnnotation.batchModal.csvUploadTitle')}
-                <span className='cursor-pointer text-text-accent' onClick={selectHandle}>{t('appAnnotation.batchModal.browse')}</span>
+                <span className='text-text-accent cursor-pointer' onClick={selectHandle}>{t('appAnnotation.batchModal.browse')}</span>
               </div>
             </div>
-            {dragging && <div ref={dragRef} className='absolute left-0 top-0 h-full w-full' />}
+            {dragging && <div ref={dragRef} className='absolute w-full h-full top-0 left-0' />}
           </div>
         )}
         {file && (
-          <div className={cn('group flex h-20 items-center rounded-xl border border-components-panel-border bg-components-panel-bg px-6 text-sm font-normal', 'hover:border-components-panel-bg-blur hover:bg-components-panel-bg-blur')}>
+          <div className={cn('flex items-center h-20 px-6 rounded-xl bg-components-panel-bg border border-components-panel-border text-sm font-normal group', 'hover:bg-components-panel-bg-blur hover:border-components-panel-bg-blur')}>
             <CSVIcon className="shrink-0" />
-            <div className='ml-2 flex w-0 grow'>
-              <span className='max-w-[calc(100%_-_30px)] overflow-hidden text-ellipsis whitespace-nowrap text-text-primary'>{file.name.replace(/.csv$/, '')}</span>
+            <div className='flex ml-2 w-0 grow'>
+              <span className='max-w-[calc(100%_-_30px)] text-ellipsis whitespace-nowrap overflow-hidden text-text-primary'>{file.name.replace(/.csv$/, '')}</span>
               <span className='shrink-0 text-text-tertiary'>.csv</span>
             </div>
-            <div className='hidden items-center group-hover:flex'>
+            <div className='hidden group-hover:flex items-center'>
               <Button variant='secondary' onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.change')}</Button>
-              <div className='mx-2 h-4 w-px bg-divider-regular' />
-              <div className='cursor-pointer p-2' onClick={removeFile}>
-                <RiDeleteBinLine className='h-4 w-4 text-text-tertiary' />
+              <div className='mx-2 w-px h-4 bg-divider-regular' />
+              <div className='p-2 cursor-pointer' onClick={removeFile}>
+                <RiDeleteBinLine className='w-4 h-4 text-text-tertiary' />
               </div>
             </div>
           </div>
diff --git a/app/components/app/annotation/batch-add-annotation-modal/index.tsx b/app/components/app/annotation/batch-add-annotation-modal/index.tsx
index 8f4e907..9a496a1 100644
--- a/app/components/app/annotation/batch-add-annotation-modal/index.tsx
+++ b/app/components/app/annotation/batch-add-annotation-modal/index.tsx
@@ -11,7 +11,6 @@
 import { annotationBatchImport, checkAnnotationBatchImportProgress } from '@/service/annotation'
 import { useProviderContext } from '@/context/provider-context'
 import AnnotationFull from '@/app/components/billing/annotation-full'
-import { noop } from 'lodash-es'
 
 export enum ProcessStatus {
   WAITING = 'waiting',
@@ -88,10 +87,10 @@
   }
 
   return (
-    <Modal isShow={isShow} onClose={noop} className='!max-w-[520px] !rounded-xl px-8 py-6'>
-      <div className='system-xl-medium relative pb-1 text-text-primary'>{t('appAnnotation.batchModal.title')}</div>
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onCancel}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+    <Modal isShow={isShow} onClose={() => { }} className='px-8 py-6 !max-w-[520px] !rounded-xl'>
+      <div className='relative pb-1 system-xl-medium text-text-primary'>{t('appAnnotation.batchModal.title')}</div>
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onCancel}>
+        <RiCloseLine className='w-4 h-4 text-text-tertiary' />
       </div>
       <CSVUploader
         file={currentCSV}
@@ -105,8 +104,8 @@
         </div>
       )}
 
-      <div className='mt-[28px] flex justify-end pt-6'>
-        <Button className='system-sm-medium mr-2 text-text-tertiary' onClick={onCancel}>
+      <div className='mt-[28px] pt-6 flex justify-end'>
+        <Button className='mr-2 text-text-tertiary system-sm-medium' onClick={onCancel}>
           {t('appAnnotation.batchModal.cancel')}
         </Button>
         <Button
diff --git a/app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx b/app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx
index f68ec4a..208da90 100644
--- a/app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx
+++ b/app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx
@@ -20,11 +20,11 @@
 }
 
 export const EditTitle: FC<{ className?: string; title: string }> = ({ className, title }) => (
-  <div className={cn(className, 'system-xs-medium flex h-[18px] items-center text-text-tertiary')}>
-    <RiEditFill className='mr-1 h-3.5 w-3.5' />
+  <div className={cn(className, 'flex items-center h-[18px] system-xs-medium text-text-tertiary')}>
+    <RiEditFill className='mr-1 w-3.5 h-3.5' />
     <div>{title}</div>
     <div
-      className='ml-2 h-[1px] grow'
+      className='ml-2 grow h-[1px]'
       style={{
         background: 'linear-gradient(90deg, rgba(0, 0, 0, 0.05) -1.65%, rgba(0, 0, 0, 0.00) 100%)',
       }}
@@ -40,7 +40,7 @@
   const { t } = useTranslation()
   const [newContent, setNewContent] = useState('')
   const showNewContent = newContent && newContent !== content
-  const avatar = type === EditItemType.Query ? <User className='h-6 w-6' /> : <Robot className='h-6 w-6' />
+  const avatar = type === EditItemType.Query ? <User className='w-6 h-6' /> : <Robot className='w-6 h-6' />
   const name = type === EditItemType.Query ? t('appAnnotation.editModal.queryName') : t('appAnnotation.editModal.answerName')
   const editTitle = type === EditItemType.Query ? t('appAnnotation.editModal.yourQuery') : t('appAnnotation.editModal.yourAnswer')
   const placeholder = type === EditItemType.Query ? t('appAnnotation.editModal.queryPlaceholder') : t('appAnnotation.editModal.answerPlaceholder')
@@ -58,11 +58,11 @@
 
   return (
     <div className='flex' onClick={e => e.stopPropagation()}>
-      <div className='mr-3 shrink-0'>
+      <div className='shrink-0 mr-3'>
         {avatar}
       </div>
       <div className='grow'>
-        <div className='system-xs-semibold mb-1 text-text-primary'>{name}</div>
+        <div className='mb-1 system-xs-semibold text-text-primary'>{name}</div>
         <div className='system-sm-regular text-text-primary'>{content}</div>
         {!isEdit
           ? (
@@ -70,34 +70,34 @@
               {showNewContent && (
                 <div className='mt-3'>
                   <EditTitle title={editTitle} />
-                  <div className='system-sm-regular mt-1 text-text-primary'>{newContent}</div>
+                  <div className='mt-1 system-sm-regular text-text-primary'>{newContent}</div>
                 </div>
               )}
               <div className='mt-2 flex items-center'>
                 {!readonly && (
                   <div
-                    className='system-xs-medium flex cursor-pointer items-center space-x-1 text-text-accent'
+                    className='flex items-center space-x-1 system-xs-medium text-text-accent cursor-pointer'
                     onClick={() => {
                       setIsEdit(true)
                     }}
                   >
-                    <RiEditLine className='mr-1 h-3.5 w-3.5' />
+                    <RiEditLine className='mr-1 w-3.5 h-3.5' />
                     <div>{t('common.operation.edit')}</div>
                   </div>
                 )}
 
                 {showNewContent && (
-                  <div className='system-xs-medium ml-2 flex items-center text-text-tertiary'>
+                  <div className='ml-2 flex items-center system-xs-medium text-text-tertiary'>
                     <div className='mr-2'>路</div>
                     <div
-                      className='flex cursor-pointer items-center space-x-1'
+                      className='flex items-center space-x-1 cursor-pointer'
                       onClick={() => {
                         setNewContent(content)
                         onSave(content)
                       }}
                     >
-                      <div className='h-3.5 w-3.5'>
-                        <RiDeleteBinLine className='h-3.5 w-3.5' />
+                      <div className='w-3.5 h-3.5'>
+                        <RiDeleteBinLine className='w-3.5 h-3.5' />
                       </div>
                       <div>{t('common.operation.delete')}</div>
                     </div>
diff --git a/app/components/app/annotation/edit-annotation-modal/index.tsx b/app/components/app/annotation/edit-annotation-modal/index.tsx
index 2961ce3..dc00199 100644
--- a/app/components/app/annotation/edit-annotation-modal/index.tsx
+++ b/app/components/app/annotation/edit-annotation-modal/index.tsx
@@ -86,7 +86,7 @@
         title={t('appAnnotation.editModal.title') as string}
         body={(
           <div>
-            <div className='space-y-6 p-6 pb-4'>
+            <div className='p-6 pb-4 space-y-6'>
               <EditItem
                 type={EditItemType.Query}
                 content={query}
@@ -115,7 +115,7 @@
         foot={
           <div>
             {isAnnotationFull && (
-              <div className='mb-4 mt-6 px-6'>
+              <div className='mt-6 mb-4 px-6'>
                 <AnnotationFull />
               </div>
             )}
@@ -123,9 +123,9 @@
             {
               annotationId
                 ? (
-                  <div className='system-sm-medium flex h-16 items-center justify-between rounded-bl-xl rounded-br-xl border-t border-divider-subtle bg-background-section-burn px-4 text-text-tertiary'>
+                  <div className='px-4 flex h-16 items-center justify-between border-t border-divider-subtle bg-background-section-burn rounded-bl-xl rounded-br-xl system-sm-medium text-text-tertiary'>
                     <div
-                      className='flex cursor-pointer items-center space-x-2 pl-3'
+                      className='flex items-center pl-3 space-x-2 cursor-pointer'
                       onClick={() => setShowModal(true)}
                     >
                       <MessageCheckRemove />
diff --git a/app/components/app/annotation/empty-element.tsx b/app/components/app/annotation/empty-element.tsx
index a240f93..9ba31ce 100644
--- a/app/components/app/annotation/empty-element.tsx
+++ b/app/components/app/annotation/empty-element.tsx
@@ -13,10 +13,10 @@
   const { t } = useTranslation()
 
   return (
-    <div className='flex h-full items-center justify-center'>
-      <div className='box-border h-fit w-[560px] rounded-2xl bg-background-section-burn px-5 py-4'>
-        <span className='system-md-semibold text-text-secondary'>{t('appAnnotation.noData.title')}<ThreeDotsIcon className='relative -left-1.5 -top-3 inline' /></span>
-        <div className='system-sm-regular mt-2 text-text-tertiary'>
+    <div className='flex items-center justify-center h-full'>
+      <div className='bg-background-section-burn w-[560px] h-fit box-border px-5 py-4 rounded-2xl'>
+        <span className='text-text-secondary system-md-semibold'>{t('appAnnotation.noData.title')}<ThreeDotsIcon className='inline relative -top-3 -left-1.5' /></span>
+        <div className='mt-2 text-text-tertiary system-sm-regular'>
           {t('appAnnotation.noData.description')}
         </div>
       </div>
diff --git a/app/components/app/annotation/filter.tsx b/app/components/app/annotation/filter.tsx
index b494d38..d741f6d 100644
--- a/app/components/app/annotation/filter.tsx
+++ b/app/components/app/annotation/filter.tsx
@@ -14,7 +14,7 @@
   appId: string
   queryParams: QueryParam
   setQueryParams: (v: QueryParam) => void
-  children: React.JSX.Element
+  children: JSX.Element
 }
 
 const Filter: FC<IFilterProps> = ({
@@ -29,7 +29,7 @@
   if (!data)
     return null
   return (
-    <div className='mb-2 flex flex-row flex-wrap items-center justify-between gap-2'>
+    <div className='flex justify-between flex-row flex-wrap gap-2 items-center mb-2'>
       <Input
         wrapperClassName='w-[200px]'
         showLeftIcon
diff --git a/app/components/app/annotation/header-opts/index.tsx b/app/components/app/annotation/header-opts/index.tsx
index eb397db..649d650 100644
--- a/app/components/app/annotation/header-opts/index.tsx
+++ b/app/components/app/annotation/header-opts/index.tsx
@@ -10,7 +10,7 @@
 import {
   useCSVDownloader,
 } from 'react-papaparse'
-import { Menu, MenuButton, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import Button from '../../../base/button'
 import AddAnnotationModal from '../add-annotation-modal'
 import type { AnnotationItemBasic } from '../type'
@@ -80,18 +80,18 @@
   const Operations = () => {
     return (
       <div className="w-full py-1">
-        <button className='mx-1 flex h-9 w-[calc(100%_-_8px)] cursor-pointer items-center space-x-2 rounded-lg px-3 py-2 hover:bg-components-panel-on-panel-item-bg-hover disabled:opacity-50' onClick={() => {
+        <button className='h-9 py-2 px-3 mx-1 flex items-center space-x-2 hover:bg-components-panel-on-panel-item-bg-hover rounded-lg cursor-pointer disabled:opacity-50 w-[calc(100%_-_8px)]' onClick={() => {
           setShowBulkImportModal(true)
         }}>
-          <FilePlus02 className='h-4 w-4 text-text-tertiary' />
-          <span className='system-sm-regular grow text-left text-text-secondary'>{t('appAnnotation.table.header.bulkImport')}</span>
+          <FilePlus02 className='w-4 h-4 text-text-tertiary' />
+          <span className='grow text-text-secondary system-sm-regular text-left'>{t('appAnnotation.table.header.bulkImport')}</span>
         </button>
-        <Menu as="div" className="relative h-full w-full">
-          <MenuButton className='mx-1 flex h-9 w-[calc(100%_-_8px)] cursor-pointer items-center space-x-2 rounded-lg px-3 py-2 hover:bg-components-panel-on-panel-item-bg-hover disabled:opacity-50'>
-            <FileDownload02 className='h-4 w-4 text-text-tertiary' />
-            <span className='system-sm-regular grow text-left text-text-secondary'>{t('appAnnotation.table.header.bulkExport')}</span>
-            <ChevronRight className='h-[14px] w-[14px] shrink-0 text-text-tertiary' />
-          </MenuButton>
+        <Menu as="div" className="relative w-full h-full">
+          <Menu.Button className='h-9 py-2 px-3 mx-1 flex items-center space-x-2 hover:bg-components-panel-on-panel-item-bg-hover rounded-lg cursor-pointer disabled:opacity-50 w-[calc(100%_-_8px)]'>
+            <FileDownload02 className='w-4 h-4 text-text-tertiary' />
+            <span className='grow text-text-secondary system-sm-regular text-left'>{t('appAnnotation.table.header.bulkExport')}</span>
+            <ChevronRight className='shrink-0 w-[14px] h-[14px] text-text-tertiary' />
+          </Menu.Button>
           <Transition
             as={Fragment}
             enter="transition ease-out duration-100"
@@ -101,9 +101,9 @@
             leaveFrom="transform opacity-100 scale-100"
             leaveTo="transform opacity-0 scale-95"
           >
-            <MenuItems
+            <Menu.Items
               className={cn(
-                'absolute left-1 top-[1px] z-10 min-w-[100px] origin-top-right -translate-x-full rounded-xl border-[0.5px] border-components-panel-on-panel-item-bg bg-components-panel-bg py-1 shadow-xs',
+                'absolute top-[1px] left-1 -translate-x-full py-1 min-w-[100px] z-10 bg-components-panel-bg border-[0.5px] border-components-panel-on-panel-item-bg origin-top-right rounded-xl shadow-xs',
               )}
             >
               <CSVDownloader
@@ -115,14 +115,14 @@
                   ...list.map(item => [item.question, item.answer]),
                 ]}
               >
-                <button disabled={annotationUnavailable} className='mx-1 flex h-9 w-[calc(100%_-_8px)] cursor-pointer items-center space-x-2 rounded-lg px-3 py-2 hover:bg-components-panel-on-panel-item-bg-hover disabled:opacity-50'>
-                  <span className='system-sm-regular grow text-left text-text-secondary'>CSV</span>
+                <button disabled={annotationUnavailable} className='h-9 py-2 px-3 mx-1 flex items-center space-x-2 hover:bg-components-panel-on-panel-item-bg-hover rounded-lg cursor-pointer disabled:opacity-50 w-[calc(100%_-_8px)]'>
+                  <span className='grow text-text-secondary system-sm-regular text-left'>CSV</span>
                 </button>
               </CSVDownloader>
-              <button disabled={annotationUnavailable} className={cn('mx-1 flex h-9 w-[calc(100%_-_8px)] cursor-pointer items-center space-x-2 rounded-lg px-3 py-2 hover:bg-components-panel-on-panel-item-bg-hover disabled:opacity-50', '!border-0')} onClick={JSONLOutput}>
-                <span className='system-sm-regular grow text-left text-text-secondary'>JSONL</span>
+              <button disabled={annotationUnavailable} className={cn('h-9 py-2 px-3 mx-1 flex items-center space-x-2 hover:bg-components-panel-on-panel-item-bg-hover rounded-lg cursor-pointer disabled:opacity-50 w-[calc(100%_-_8px)]', '!border-0')} onClick={JSONLOutput}>
+                <span className='grow text-text-secondary system-sm-regular text-left'>JSONL</span>
               </button>
-            </MenuItems>
+            </Menu.Items>
           </Transition>
         </Menu>
       </div>
@@ -134,7 +134,7 @@
   return (
     <div className='flex space-x-2'>
       <Button variant='primary' onClick={() => setShowAddModal(true)}>
-        <RiAddLine className='mr-0.5 h-4 w-4' />
+        <RiAddLine className='w-4 h-4 mr-0.5' />
         <div>{t('appAnnotation.table.header.addAnnotation')}</div>
       </Button>
       <CustomPopover
@@ -143,11 +143,11 @@
         trigger="click"
         btnElement={
           <Button variant='secondary' className='w-8 p-0'>
-            <RiMoreFill className='h-4 w-4' />
+            <RiMoreFill className='w-4 h-4' />
           </Button>
         }
         btnClassName='p-0 border-0'
-        className={'!z-20 h-fit !w-[155px]'}
+        className={'!w-[155px] h-fit !z-20'}
         popupClassName='!w-full !overflow-visible'
         manualClose
       />
diff --git a/app/components/app/annotation/index.tsx b/app/components/app/annotation/index.tsx
index f010f5f..132734e 100644
--- a/app/components/app/annotation/index.tsx
+++ b/app/components/app/annotation/index.tsx
@@ -90,7 +90,7 @@
       setList(data as AnnotationItem[])
       setTotal(total)
     }
-    catch {
+    catch (e) {
 
     }
     setIsLoading(false)
@@ -152,15 +152,15 @@
   }
 
   return (
-    <div className='flex h-full flex-col'>
-      <p className='system-sm-regular text-text-tertiary'>{t('appLog.description')}</p>
-      <div className='flex flex-1 flex-col py-4'>
+    <div className='flex flex-col h-full'>
+      <p className='text-text-tertiary system-sm-regular'>{t('appLog.description')}</p>
+      <div className='flex flex-col py-4 flex-1'>
         <Filter appId={appDetail.id} queryParams={queryParams} setQueryParams={setQueryParams}>
           <div className='flex items-center space-x-2'>
             {isChatApp && (
               <>
-                <div className={cn(!annotationConfig?.enabled && 'pr-2', 'flex h-7 items-center space-x-1 rounded-lg border border-components-panel-border bg-components-panel-bg-blur pl-2')}>
-                  <MessageFast className='h-4 w-4 text-util-colors-indigo-indigo-600' />
+                <div className={cn(!annotationConfig?.enabled && 'pr-2', 'flex items-center h-7 rounded-lg bg-components-panel-bg-blur border border-components-panel-border pl-2 space-x-1')}>
+                  <MessageFast className='w-4 h-4 text-util-colors-indigo-indigo-600' />
                   <div className='system-sm-medium text-text-primary'>{t('appAnnotation.name')}</div>
                   <Switch
                     key={controlRefreshSwitch}
@@ -188,14 +188,14 @@
                   ></Switch>
                   {annotationConfig?.enabled && (
                     <div className='flex items-center pl-1.5'>
-                      <div className='mr-1 h-3.5 w-[1px] shrink-0 bg-divider-subtle'></div>
+                      <div className='shrink-0 mr-1 w-[1px] h-3.5 bg-divider-subtle'></div>
                       <ActionButton onClick={() => setIsShowEdit(true)}>
-                        <RiEqualizer2Line className='h-4 w-4 text-text-tertiary' />
+                        <RiEqualizer2Line className='w-4 h-4 text-text-tertiary' />
                       </ActionButton>
                     </div>
                   )}
                 </div>
-                <div className='mx-3 h-3.5 w-[1px] shrink-0 bg-divider-regular'></div>
+                <div className='shrink-0 mx-3 w-[1px] h-3.5 bg-divider-regular'></div>
               </>
             )}
 
@@ -217,7 +217,7 @@
               onRemove={handleRemove}
               onView={handleView}
             />
-            : <div className='flex h-full grow items-center justify-center'><EmptyElement /></div>
+            : <div className='grow flex h-full items-center justify-center'><EmptyElement /></div>
         }
         {/* Show Pagination only if the total is more than the limit */}
         {(total && total > APP_PAGE_LIMIT)
diff --git a/app/components/app/annotation/list.tsx b/app/components/app/annotation/list.tsx
index 319f099..39a4950 100644
--- a/app/components/app/annotation/list.tsx
+++ b/app/components/app/annotation/list.tsx
@@ -29,18 +29,18 @@
       <table className={cn('mt-2 w-full min-w-[440px] border-collapse border-0')}>
         <thead className='system-xs-medium-uppercase text-text-tertiary'>
           <tr>
-            <td className='w-5 whitespace-nowrap rounded-l-lg bg-background-section-burn pl-2 pr-1'>{t('appAnnotation.table.header.question')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.table.header.answer')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.table.header.createdAt')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.table.header.hits')}</td>
-            <td className='w-[96px] whitespace-nowrap rounded-r-lg bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.table.header.actions')}</td>
+            <td className='pl-2 pr-1 w-5 rounded-l-lg bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.table.header.question')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.table.header.answer')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.table.header.createdAt')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.table.header.hits')}</td>
+            <td className='pl-3 py-1.5 rounded-r-lg bg-background-section-burn whitespace-nowrap w-[96px]'>{t('appAnnotation.table.header.actions')}</td>
           </tr>
         </thead>
-        <tbody className="system-sm-regular text-text-secondary">
+        <tbody className="text-text-secondary system-sm-regular">
           {list.map(item => (
             <tr
               key={item.id}
-              className='cursor-pointer border-b border-divider-subtle hover:bg-background-default-hover'
+              className='border-b border-divider-subtle hover:bg-background-default-hover cursor-pointer'
               onClick={
                 () => {
                   onView(item)
@@ -48,11 +48,11 @@
               }
             >
               <td
-                className='max-w-[250px] overflow-hidden text-ellipsis whitespace-nowrap p-3 pr-2'
+                className='p-3 pr-2 whitespace-nowrap overflow-hidden text-ellipsis max-w-[250px]'
                 title={item.question}
               >{item.question}</td>
               <td
-                className='max-w-[250px] overflow-hidden text-ellipsis whitespace-nowrap p-3 pr-2'
+                className='p-3 pr-2 whitespace-nowrap overflow-hidden text-ellipsis max-w-[250px]'
                 title={item.answer}
               >{item.answer}</td>
               <td className='p-3 pr-2'>{formatTime(item.created_at, t('appLog.dateTimeFormat') as string)}</td>
@@ -61,7 +61,7 @@
                 {/* Actions */}
                 <div className='flex space-x-1 text-text-tertiary'>
                   <ActionButton onClick={() => onView(item)}>
-                    <RiEditLine className='h-4 w-4' />
+                    <RiEditLine className='w-4 h-4' />
                   </ActionButton>
                   <ActionButton
                     onClick={() => {
@@ -69,7 +69,7 @@
                       setShowConfirmDelete(true)
                     }}
                   >
-                    <RiDeleteBinLine className='h-4 w-4' />
+                    <RiDeleteBinLine className='w-4 h-4' />
                   </ActionButton>
                 </div>
               </td>
diff --git a/app/components/app/annotation/view-annotation-modal/hit-history-no-data.tsx b/app/components/app/annotation/view-annotation-modal/hit-history-no-data.tsx
index ae4eb67..6f7c322 100644
--- a/app/components/app/annotation/view-annotation-modal/hit-history-no-data.tsx
+++ b/app/components/app/annotation/view-annotation-modal/hit-history-no-data.tsx
@@ -7,9 +7,9 @@
 const HitHistoryNoData: FC = () => {
   const { t } = useTranslation()
   return (
-    <div className='mx-auto mt-20 w-[480px] space-y-2 rounded-2xl bg-background-section-burn p-5'>
-      <div className='inline-block rounded-lg border border-divider-subtle p-3'>
-        <ClockFastForward className='h-5 w-5 text-text-tertiary' />
+    <div className='mx-auto mt-20 w-[480px] p-5 rounded-2xl bg-background-section-burn space-y-2'>
+      <div className='inline-block p-3 rounded-lg border border-divider-subtle'>
+        <ClockFastForward className='w-5 h-5 text-text-tertiary' />
       </div>
       <div className='system-sm-regular text-text-tertiary'>{t('appAnnotation.viewModal.noHitHistory')}</div>
     </div>
diff --git a/app/components/app/annotation/view-annotation-modal/index.tsx b/app/components/app/annotation/view-annotation-modal/index.tsx
index 08904d2..83a64b9 100644
--- a/app/components/app/annotation/view-annotation-modal/index.tsx
+++ b/app/components/app/annotation/view-annotation-modal/index.tsx
@@ -55,7 +55,7 @@
       setHitHistoryList(data as HitHistoryItem[])
       setTotal(total)
     }
-    catch {
+    catch (e) {
     }
   }
 
@@ -116,30 +116,30 @@
         <table className={cn('w-full min-w-[440px] border-collapse border-0')} >
           <thead className="system-xs-medium-uppercase text-text-tertiary">
             <tr>
-              <td className='w-5 whitespace-nowrap rounded-l-lg bg-background-section-burn pl-2 pr-1'>{t('appAnnotation.hitHistoryTable.query')}</td>
-              <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.hitHistoryTable.match')}</td>
-              <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.hitHistoryTable.response')}</td>
-              <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.hitHistoryTable.source')}</td>
-              <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.hitHistoryTable.score')}</td>
-              <td className='w-[160px] whitespace-nowrap rounded-r-lg bg-background-section-burn py-1.5 pl-3'>{t('appAnnotation.hitHistoryTable.time')}</td>
+              <td className='pl-2 pr-1 w-5 rounded-l-lg bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.hitHistoryTable.query')}</td>
+              <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.hitHistoryTable.match')}</td>
+              <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.hitHistoryTable.response')}</td>
+              <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.hitHistoryTable.source')}</td>
+              <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appAnnotation.hitHistoryTable.score')}</td>
+              <td className='pl-3 py-1.5 rounded-r-lg bg-background-section-burn whitespace-nowrap w-[160px]'>{t('appAnnotation.hitHistoryTable.time')}</td>
             </tr>
           </thead>
-          <tbody className="system-sm-regular text-text-secondary">
+          <tbody className="text-text-secondary system-sm-regular">
             {hitHistoryList.map(item => (
               <tr
                 key={item.id}
-                className={'cursor-pointer border-b border-divider-subtle hover:bg-background-default-hover'}
+                className={'border-b border-divider-subtle hover:bg-background-default-hover cursor-pointer'}
               >
                 <td
-                  className='max-w-[250px] overflow-hidden text-ellipsis whitespace-nowrap p-3 pr-2'
+                  className='p-3 pr-2 whitespace-nowrap overflow-hidden text-ellipsis max-w-[250px]'
                   title={item.question}
                 >{item.question}</td>
                 <td
-                  className='max-w-[250px] overflow-hidden text-ellipsis whitespace-nowrap p-3 pr-2'
+                  className='p-3 pr-2 whitespace-nowrap overflow-hidden text-ellipsis max-w-[250px]'
                   title={item.match}
                 >{item.match}</td>
                 <td
-                  className='max-w-[250px] overflow-hidden text-ellipsis whitespace-nowrap p-3 pr-2'
+                  className='p-3 pr-2 whitespace-nowrap overflow-hidden text-ellipsis max-w-[250px]'
                   title={item.response}
                 >{item.response}</td>
                 <td className='p-3 pr-2'>{item.source}</td>
@@ -168,7 +168,7 @@
         maxWidthClassName='!max-w-[800px]'
         title={
           <TabSlider
-            className='relative top-[9px] shrink-0'
+            className='shrink-0 relative top-[9px]'
             value={activeTab}
             onChange={v => setActiveTab(v as TabType)}
             options={tabs}
@@ -178,7 +178,7 @@
         }
         body={(
           <div>
-            <div className='space-y-6 p-6 pb-4'>
+            <div className='p-6 pb-4 space-y-6'>
               {activeTab === TabType.annotation ? annotationTab : hitHistoryTab}
             </div>
             <Confirm
@@ -195,9 +195,9 @@
         )}
         foot={id
           ? (
-            <div className='system-sm-medium flex h-16 items-center justify-between rounded-bl-xl rounded-br-xl border-t border-divider-subtle bg-background-section-burn px-4 text-text-tertiary'>
+            <div className='px-4 flex h-16 items-center justify-between border-t border-divider-subtle bg-background-section-burn rounded-bl-xl rounded-br-xl system-sm-medium text-text-tertiary'>
               <div
-                className='flex cursor-pointer items-center space-x-2 pl-3'
+                className='flex items-center pl-3 space-x-2 cursor-pointer'
                 onClick={() => setShowModal(true)}
               >
                 <MessageCheckRemove />
diff --git a/app/components/app/app-publisher/index.tsx b/app/components/app/app-publisher/index.tsx
index 1214483..3ba35a7 100644
--- a/app/components/app/app-publisher/index.tsx
+++ b/app/components/app/app-publisher/index.tsx
@@ -5,17 +5,9 @@
 } from 'react'
 import { useTranslation } from 'react-i18next'
 import dayjs from 'dayjs'
-import {
-  RiArrowDownSLine,
-  RiPlanetLine,
-  RiPlayCircleLine,
-  RiPlayList2Line,
-  RiTerminalBoxLine,
-} from '@remixicon/react'
-import { useKeyPress } from 'ahooks'
+import { RiArrowDownSLine, RiPlanetLine } from '@remixicon/react'
 import Toast from '../../base/toast'
 import type { ModelAndParameter } from '../configuration/debug/types'
-import { getKeyboardKeyCodeBySystem } from '../../workflow/utils'
 import SuggestedAction from './suggested-action'
 import PublishWithMultipleModel from './publish-with-multiple-model'
 import Button from '@/app/components/base/button'
@@ -24,16 +16,17 @@
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
-import { WEB_PREFIX } from '@/config'
 import { fetchInstalledAppList } from '@/service/explore'
 import EmbeddedModal from '@/app/components/app/overview/embedded'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { useGetLanguage } from '@/context/i18n'
+import { PlayCircle } from '@/app/components/base/icons/src/vender/line/mediaAndDevices'
 import { CodeBrowser } from '@/app/components/base/icons/src/vender/line/development'
+import { LeftIndent02 } from '@/app/components/base/icons/src/vender/line/editor'
+import { FileText } from '@/app/components/base/icons/src/vender/line/files'
 import WorkflowToolConfigureButton from '@/app/components/tools/workflow-tool/configure-button'
 import type { InputVar } from '@/app/components/workflow/types'
 import { appDefaultIconBackground } from '@/config'
-import type { PublishWorkflowParams } from '@/types/workflow'
 
 export type AppPublisherProps = {
   disabled?: boolean
@@ -44,7 +37,7 @@
   debugWithMultipleModel?: boolean
   multipleModelConfigs?: ModelAndParameter[]
   /** modelAndParameter is passed when debugWithMultipleModel is true */
-  onPublish?: (params?: any) => Promise<any> | any
+  onPublish?: (modelAndParameter?: ModelAndParameter) => Promise<any> | any
   onRestore?: () => Promise<any> | any
   onToggle?: (state: boolean) => void
   crossAxisOffset?: number
@@ -52,8 +45,6 @@
   inputs?: InputVar[]
   onRefreshData?: () => void
 }
-
-const PUBLISH_SHORTCUT = ['鈱�', '鈬�', 'P']
 
 const AppPublisher = ({
   disabled = false,
@@ -77,29 +68,28 @@
   const { app_base_url: appBaseURL = '', access_token: accessToken = '' } = appDetail?.site ?? {}
   const appMode = (appDetail?.mode !== 'completion' && appDetail?.mode !== 'workflow') ? 'chat' : appDetail.mode
   const appURL = `${appBaseURL}/${appMode}/${accessToken}`
-  const isChatApp = ['chat', 'agent-chat', 'completion'].includes(appDetail?.mode || '')
 
   const language = useGetLanguage()
   const formatTimeFromNow = useCallback((time: number) => {
     return dayjs(time).locale(language === 'zh_Hans' ? 'zh-cn' : language.replace('_', '-')).fromNow()
   }, [language])
 
-  const handlePublish = useCallback(async (params?: ModelAndParameter | PublishWorkflowParams) => {
+  const handlePublish = async (modelAndParameter?: ModelAndParameter) => {
     try {
-      await onPublish?.(params)
+      await onPublish?.(modelAndParameter)
       setPublished(true)
     }
-    catch {
+    catch (e) {
       setPublished(false)
     }
-  }, [onPublish])
+  }
 
   const handleRestore = useCallback(async () => {
     try {
       await onRestore?.()
       setOpen(false)
     }
-    catch {}
+    catch (e) { }
   }, [onRestore])
 
   const handleTrigger = useCallback(() => {
@@ -121,7 +111,7 @@
     try {
       const { installed_apps }: any = await fetchInstalledAppList(appDetail?.id) || {}
       if (installed_apps?.length > 0)
-        window.open(`${WEB_PREFIX}/explore/installed/${installed_apps[0].id}`, '_blank')
+        window.open(`/explore/installed/${installed_apps[0].id}`, '_blank')
       else
         throw new Error('No app found in Explore')
     }
@@ -132,172 +122,142 @@
 
   const [embeddingModalOpen, setEmbeddingModalOpen] = useState(false)
 
-  useKeyPress(`${getKeyboardKeyCodeBySystem('ctrl')}.shift.p`, (e) => {
-    e.preventDefault()
-    if (publishDisabled || published)
-      return
-    handlePublish()
-  },
-  { exactMatch: true, useCapture: true })
-
   return (
-    <>
-      <PortalToFollowElem
-        open={open}
-        onOpenChange={setOpen}
-        placement='bottom-end'
-        offset={{
-          mainAxis: 4,
-          crossAxis: crossAxisOffset,
-        }}
-      >
-        <PortalToFollowElemTrigger onClick={handleTrigger}>
-          <Button
-            variant='primary'
-            className='p-2'
-            disabled={disabled}
-          >
-            {t('workflow.common.publish')}
-            <RiArrowDownSLine className='h-4 w-4 text-components-button-primary-text' />
-          </Button>
-        </PortalToFollowElemTrigger>
-        <PortalToFollowElemContent className='z-[11]'>
-          <div className='w-[320px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl shadow-shadow-shadow-5'>
-            <div className='p-4 pt-3'>
-              <div className='system-xs-medium-uppercase flex h-6 items-center text-text-tertiary'>
-                {publishedAt ? t('workflow.common.latestPublished') : t('workflow.common.currentDraftUnpublished')}
-              </div>
-              {publishedAt
-                ? (
-                  <div className='flex items-center justify-between'>
-                    <div className='system-sm-medium flex items-center text-text-secondary'>
-                      {t('workflow.common.publishedAt')} {formatTimeFromNow(publishedAt)}
-                    </div>
-                    {isChatApp && <Button
-                      variant='secondary-accent'
-                      size='small'
-                      onClick={handleRestore}
-                      disabled={published}
-                    >
-                      {t('workflow.common.restore')}
-                    </Button>}
+    <PortalToFollowElem
+      open={open}
+      onOpenChange={setOpen}
+      placement='bottom-end'
+      offset={{
+        mainAxis: 4,
+        crossAxis: crossAxisOffset,
+      }}
+    >
+      <PortalToFollowElemTrigger onClick={handleTrigger}>
+        <Button
+          variant='primary'
+          className='pl-3 pr-2'
+          disabled={disabled}
+        >
+          {t('workflow.common.publish')}
+          <RiArrowDownSLine className='w-4 h-4 ml-0.5' />
+        </Button>
+      </PortalToFollowElemTrigger>
+      <PortalToFollowElemContent className='z-[11]'>
+        <div className='w-[336px] bg-white rounded-2xl border-[0.5px] border-gray-200 shadow-xl'>
+          <div className='p-4 pt-3'>
+            <div className='flex items-center h-6 text-xs font-medium text-gray-500 uppercase'>
+              {publishedAt ? t('workflow.common.latestPublished') : t('workflow.common.currentDraftUnpublished')}
+            </div>
+            {publishedAt
+              ? (
+                <div className='flex justify-between items-center h-[18px]'>
+                  <div className='flex items-center mt-[3px] mb-[3px] leading-[18px] text-[13px] font-medium text-gray-700'>
+                    {t('workflow.common.publishedAt')} {formatTimeFromNow(publishedAt)}
                   </div>
-                )
-                : (
-                  <div className='system-sm-medium flex items-center text-text-secondary'>
-                    {t('workflow.common.autoSaved')} 路 {Boolean(draftUpdatedAt) && formatTimeFromNow(draftUpdatedAt!)}
-                  </div>
-                )}
-              {debugWithMultipleModel
-                ? (
-                  <PublishWithMultipleModel
-                    multipleModelConfigs={multipleModelConfigs}
-                    onSelect={item => handlePublish(item)}
-                  // textGenerationModelList={textGenerationModelList}
-                  />
-                )
-                : (
                   <Button
-                    variant='primary'
-                    className='mt-3 w-full'
-                    onClick={() => handlePublish()}
-                    disabled={publishDisabled || published}
+                    className={`
+                      ml-2 px-2 text-primary-600
+                      ${published && 'text-primary-300 border-gray-100'}
+                    `}
+                    size='small'
+                    onClick={handleRestore}
+                    disabled={published}
                   >
-                    {
-                      published
-                        ? t('workflow.common.published')
-                        : (
-                          <div className='flex gap-1'>
-                            <span>{t('workflow.common.publishUpdate')}</span>
-                            <div className='flex gap-0.5'>
-                              {PUBLISH_SHORTCUT.map(key => (
-                                <span key={key} className='system-kbd h-4 w-4 rounded-[4px] bg-components-kbd-bg-white text-text-primary-on-surface'>
-                                  {key}
-                                </span>
-                              ))}
-                            </div>
-                          </div>
-                        )
-                    }
+                    {t('workflow.common.restore')}
                   </Button>
-                )
-              }
-            </div>
-            <div className='border-t-[0.5px] border-t-divider-regular p-4 pt-3'>
-              <SuggestedAction
-                disabled={!publishedAt}
-                link={appURL}
-                icon={<RiPlayCircleLine className='h-4 w-4' />}
-              >
-                {t('workflow.common.runApp')}
-              </SuggestedAction>
-              {appDetail?.mode === 'workflow' || appDetail?.mode === 'completion'
-                ? (
-                  <SuggestedAction
-                    disabled={!publishedAt}
-                    link={`${appURL}${appURL.includes('?') ? '&' : '?'}mode=batch`}
-                    icon={<RiPlayList2Line className='h-4 w-4' />}
-                  >
-                    {t('workflow.common.batchRunApp')}
-                  </SuggestedAction>
-                )
-                : (
-                  <SuggestedAction
-                    onClick={() => {
-                      setEmbeddingModalOpen(true)
-                      handleTrigger()
-                    }}
-                    disabled={!publishedAt}
-                    icon={<CodeBrowser className='h-4 w-4' />}
-                  >
-                    {t('workflow.common.embedIntoSite')}
-                  </SuggestedAction>
-                )}
-              <SuggestedAction
-                onClick={() => {
-                  publishedAt && handleOpenInExplore()
-                }}
-                disabled={!publishedAt}
-                icon={<RiPlanetLine className='h-4 w-4' />}
-              >
-                {t('workflow.common.openInExplore')}
-              </SuggestedAction>
-              <SuggestedAction
-                disabled={!publishedAt}
-                link='./develop'
-                icon={<RiTerminalBoxLine className='h-4 w-4' />}
-              >
-                {t('workflow.common.accessAPIReference')}
-              </SuggestedAction>
-              {appDetail?.mode === 'workflow' && (
-                <WorkflowToolConfigureButton
-                  disabled={!publishedAt}
-                  published={!!toolPublished}
-                  detailNeedUpdate={!!toolPublished && published}
-                  workflowAppId={appDetail?.id}
-                  icon={{
-                    content: (appDetail.icon_type === 'image' ? '馃' : appDetail?.icon) || '馃',
-                    background: (appDetail.icon_type === 'image' ? appDefaultIconBackground : appDetail?.icon_background) || appDefaultIconBackground,
-                  }}
-                  name={appDetail?.name}
-                  description={appDetail?.description}
-                  inputs={inputs}
-                  handlePublish={handlePublish}
-                  onRefreshData={onRefreshData}
-                />
+                </div>
+              )
+              : (
+                <div className='flex items-center h-[18px] leading-[18px] text-[13px] font-medium text-gray-700'>
+                  {t('workflow.common.autoSaved')} 路 {Boolean(draftUpdatedAt) && formatTimeFromNow(draftUpdatedAt!)}
+                </div>
               )}
-            </div>
+            {debugWithMultipleModel
+              ? (
+                <PublishWithMultipleModel
+                  multipleModelConfigs={multipleModelConfigs}
+                  onSelect={item => handlePublish(item)}
+                // textGenerationModelList={textGenerationModelList}
+                />
+              )
+              : (
+                <Button
+                  variant='primary'
+                  className='w-full mt-3'
+                  onClick={() => handlePublish()}
+                  disabled={publishDisabled || published}
+                >
+                  {
+                    published
+                      ? t('workflow.common.published')
+                      : publishedAt ? t('workflow.common.update') : t('workflow.common.publish')
+                  }
+                </Button>
+              )
+            }
           </div>
-        </PortalToFollowElemContent>
-        <EmbeddedModal
-          siteInfo={appDetail?.site}
-          isShow={embeddingModalOpen}
-          onClose={() => setEmbeddingModalOpen(false)}
-          appBaseUrl={appBaseURL}
-          accessToken={accessToken}
-        />
-      </PortalToFollowElem >
-    </>
+          <div className='p-4 pt-3 border-t-[0.5px] border-t-black/5'>
+            <SuggestedAction disabled={!publishedAt} link={appURL} icon={<PlayCircle />}>{t('workflow.common.runApp')}</SuggestedAction>
+            {appDetail?.mode === 'workflow'
+              ? (
+                <SuggestedAction
+                  disabled={!publishedAt}
+                  link={`${appURL}${appURL.includes('?') ? '&' : '?'}mode=batch`}
+                  icon={<LeftIndent02 className='w-4 h-4' />}
+                >
+                  {t('workflow.common.batchRunApp')}
+                </SuggestedAction>
+              )
+              : (
+                <SuggestedAction
+                  onClick={() => {
+                    setEmbeddingModalOpen(true)
+                    handleTrigger()
+                  }}
+                  disabled={!publishedAt}
+                  icon={<CodeBrowser className='w-4 h-4' />}
+                >
+                  {t('workflow.common.embedIntoSite')}
+                </SuggestedAction>
+              )}
+            <SuggestedAction
+              onClick={() => {
+                handleOpenInExplore()
+              }}
+              disabled={!publishedAt}
+              icon={<RiPlanetLine className='w-4 h-4' />}
+            >
+              {t('workflow.common.openInExplore')}
+            </SuggestedAction>
+            <SuggestedAction disabled={!publishedAt} link='./develop' icon={<FileText className='w-4 h-4' />}>{t('workflow.common.accessAPIReference')}</SuggestedAction>
+            {appDetail?.mode === 'workflow' && (
+              <WorkflowToolConfigureButton
+                disabled={!publishedAt}
+                published={!!toolPublished}
+                detailNeedUpdate={!!toolPublished && published}
+                workflowAppId={appDetail?.id}
+                icon={{
+                  content: (appDetail.icon_type === 'image' ? '馃' : appDetail?.icon) || '馃',
+                  background: (appDetail.icon_type === 'image' ? appDefaultIconBackground : appDetail?.icon_background) || appDefaultIconBackground,
+                }}
+                name={appDetail?.name}
+                description={appDetail?.description}
+                inputs={inputs}
+                handlePublish={handlePublish}
+                onRefreshData={onRefreshData}
+              />
+            )}
+          </div>
+        </div>
+      </PortalToFollowElemContent>
+      <EmbeddedModal
+        siteInfo={appDetail?.site}
+        isShow={embeddingModalOpen}
+        onClose={() => setEmbeddingModalOpen(false)}
+        appBaseUrl={appBaseURL}
+        accessToken={accessToken}
+      />
+    </PortalToFollowElem >
   )
 }
 
diff --git a/app/components/app/app-publisher/publish-with-multiple-model.tsx b/app/components/app/app-publisher/publish-with-multiple-model.tsx
index e376787..6d96fae 100644
--- a/app/components/app/app-publisher/publish-with-multiple-model.tsx
+++ b/app/components/app/app-publisher/publish-with-multiple-model.tsx
@@ -73,25 +73,25 @@
           className='mt-3 w-full'
         >
           {t('appDebug.operation.applyConfig')}
-          <RiArrowDownSLine className='ml-0.5 h-3 w-3' />
+          <RiArrowDownSLine className='ml-0.5 w-3 h-3' />
         </Button>
       </PortalToFollowElemTrigger>
-      <PortalToFollowElemContent className='z-50 mt-1 w-[288px]'>
-        <div className='rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg p-1 shadow-lg'>
-          <div className='flex h-[22px] items-center px-3 text-xs font-medium text-text-tertiary'>
+      <PortalToFollowElemContent className='mt-1 w-[288px] z-50'>
+        <div className='p-1 rounded-lg border-[0.5px] border-gray-200 shadow-lg bg-white'>
+          <div className='flex items-center px-3 h-[22px] text-xs font-medium text-gray-500'>
             {t('appDebug.publishAs')}
           </div>
           {
             validModelConfigs.map((item, index) => (
               <div
                 key={item.id}
-                className='flex h-8 cursor-pointer items-center rounded-lg px-3 text-sm text-text-tertiary hover:bg-state-base-hover'
+                className='flex items-center h-8 px-3 text-sm text-gray-500 rounded-lg cursor-pointer hover:bg-gray-100'
                 onClick={() => handleSelect(item)}
               >
-                <span className='min-w-[18px] italic'>#{index + 1}</span>
+                <span className='italic min-w-[18px]'>#{index + 1}</span>
                 <ModelIcon modelName={item.model} provider={item.providerItem} className='ml-2' />
                 <div
-                  className='ml-1 truncate text-text-secondary'
+                  className='ml-1 text-gray-700 truncate'
                   title={item.modelItem.label[language]}
                 >
                   {item.modelItem.label[language]}
diff --git a/app/components/app/app-publisher/suggested-action.tsx b/app/components/app/app-publisher/suggested-action.tsx
index 388fb8b..a371eaf 100644
--- a/app/components/app/app-publisher/suggested-action.tsx
+++ b/app/components/app/app-publisher/suggested-action.tsx
@@ -1,6 +1,6 @@
 import type { HTMLProps, PropsWithChildren } from 'react'
-import { RiArrowRightUpLine } from '@remixicon/react'
 import classNames from '@/utils/classnames'
+import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows'
 
 export type SuggestedActionProps = PropsWithChildren<HTMLProps<HTMLAnchorElement> & {
   icon?: React.ReactNode
@@ -14,15 +14,15 @@
     target='_blank'
     rel='noreferrer'
     className={classNames(
-      'flex justify-start items-center gap-2 py-2 px-2.5 bg-background-section-burn rounded-lg transition-colors [&:not(:first-child)]:mt-1',
-      disabled ? 'shadow-xs opacity-30 cursor-not-allowed' : 'text-text-secondary hover:bg-state-accent-hover hover:text-text-accent cursor-pointer',
+      'flex justify-start items-center gap-2 h-[34px] px-2.5 bg-gray-100 rounded-lg transition-colors [&:not(:first-child)]:mt-1',
+      disabled ? 'shadow-xs opacity-30 cursor-not-allowed' : 'hover:bg-primary-50 hover:text-primary-600 cursor-pointer',
       className,
     )}
     {...props}
   >
-    <div className='relative h-4 w-4'>{icon}</div>
-    <div className='system-sm-medium shrink grow basis-0'>{children}</div>
-    <RiArrowRightUpLine className='h-3.5 w-3.5' />
+    <div className='relative w-4 h-4'>{icon}</div>
+    <div className='grow shrink basis-0 text-[13px] font-medium leading-[18px]'>{children}</div>
+    <ArrowUpRight />
   </a>
 )
 
diff --git a/app/components/app/configuration/base/feature-panel/index.tsx b/app/components/app/configuration/base/feature-panel/index.tsx
index ec5ab96..9c4adbd 100644
--- a/app/components/app/configuration/base/feature-panel/index.tsx
+++ b/app/components/app/configuration/base/feature-panel/index.tsx
@@ -23,15 +23,15 @@
   children,
 }) => {
   return (
-    <div className={cn('rounded-xl border-l-[0.5px] border-t-[0.5px] border-effects-highlight bg-background-section-burn pb-3', noBodySpacing && 'pb-0', className)}>
+    <div className={cn('rounded-xl border-t-[0.5px] border-l-[0.5px] bg-background-section-burn pb-3', noBodySpacing && '!pb-0', className)}>
       {/* Header */}
       <div className={cn('px-3 pt-2', hasHeaderBottomBorder && 'border-b border-divider-subtle')}>
-        <div className='flex h-8 items-center justify-between'>
-          <div className='flex shrink-0 items-center space-x-1'>
-            {headerIcon && <div className='flex h-6 w-6 items-center justify-center'>{headerIcon}</div>}
-            <div className='system-sm-semibold text-text-secondary'>{title}</div>
+        <div className='flex justify-between items-center h-8'>
+          <div className='flex items-center space-x-1 shrink-0'>
+            {headerIcon && <div className='flex items-center justify-center w-6 h-6'>{headerIcon}</div>}
+            <div className='text-text-secondary system-sm-semibold'>{title}</div>
           </div>
-          <div className='flex items-center gap-2'>
+          <div className='flex gap-2 items-center'>
             {headerRight && <div>{headerRight}</div>}
           </div>
         </div>
diff --git a/app/components/app/configuration/base/group-name/index.tsx b/app/components/app/configuration/base/group-name/index.tsx
index d387b11..51fe090 100644
--- a/app/components/app/configuration/base/group-name/index.tsx
+++ b/app/components/app/configuration/base/group-name/index.tsx
@@ -10,9 +10,9 @@
   name,
 }) => {
   return (
-    <div className='mb-1 flex items-center'>
-      <div className='mr-3 text-xs font-semibold uppercase leading-[18px] text-text-tertiary'>{name}</div>
-      <div className='h-[1px] grow'
+    <div className='flex items-center mb-1'>
+      <div className='mr-3 leading-[18px] text-xs font-semibold text-gray-500 uppercase'>{name}</div>
+      <div className='grow h-[1px]'
         style={{
           background: 'linear-gradient(270deg, rgba(243, 244, 246, 0) 0%, #F3F4F6 100%)',
 
diff --git a/app/components/app/configuration/base/icons/remove-icon/index.tsx b/app/components/app/configuration/base/icons/remove-icon/index.tsx
index f4b30a9..e07a462 100644
--- a/app/components/app/configuration/base/icons/remove-icon/index.tsx
+++ b/app/components/app/configuration/base/icons/remove-icon/index.tsx
@@ -17,7 +17,7 @@
   const computedIsHovered = isHoverStatus || isHovered
   return (
     <div
-      className={cn(className, computedIsHovered && 'bg-[#FEE4E2]', 'flex h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-[#FEE4E2]')}
+      className={cn(className, computedIsHovered && 'bg-[#FEE4E2]', 'flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-[#FEE4E2]')}
       onMouseEnter={() => setIsHovered(true)}
       onMouseLeave={() => setIsHovered(false)}
       onClick={onClick}
diff --git a/app/components/app/configuration/base/operation-btn/index.tsx b/app/components/app/configuration/base/operation-btn/index.tsx
index aba35cd..e9ffd14 100644
--- a/app/components/app/configuration/base/operation-btn/index.tsx
+++ b/app/components/app/configuration/base/operation-btn/index.tsx
@@ -2,12 +2,8 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiAddLine,
-  RiEditLine,
-} from '@remixicon/react'
+import { PlusIcon } from '@heroicons/react/20/solid'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 export type IOperationBtnProps = {
   className?: string
@@ -17,20 +13,23 @@
 }
 
 const iconMap = {
-  add: <RiAddLine className='h-3.5 w-3.5' />,
-  edit: <RiEditLine className='h-3.5 w-3.5' />,
+  add: <PlusIcon className='w-3.5 h-3.5' />,
+  edit: (<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M6.99998 11.6666H12.25M1.75 11.6666H2.72682C3.01217 11.6666 3.15485 11.6666 3.28912 11.6344C3.40816 11.6058 3.52196 11.5587 3.62635 11.4947C3.74408 11.4226 3.84497 11.3217 4.04675 11.1199L11.375 3.79164C11.8583 3.30839 11.8583 2.52488 11.375 2.04164C10.8918 1.55839 10.1083 1.55839 9.62501 2.04164L2.29674 9.3699C2.09496 9.57168 1.99407 9.67257 1.92192 9.7903C1.85795 9.89469 1.81081 10.0085 1.78224 10.1275C1.75 10.2618 1.75 10.4045 1.75 10.6898V11.6666Z" stroke="#344054" strokeWidth="1.25" strokeLinecap="round" strokeLinejoin="round" />
+  </svg>
+  ),
 }
 
 const OperationBtn: FC<IOperationBtnProps> = ({
   className,
   type,
   actionName,
-  onClick = noop,
+  onClick = () => { },
 }) => {
   const { t } = useTranslation()
   return (
     <div
-      className={cn('flex h-7 cursor-pointer select-none items-center space-x-1 rounded-md px-3 text-text-secondary hover:bg-state-base-hover', className)}
+      className={cn(className, 'flex items-center rounded-md h-7 px-3 space-x-1 text-gray-700 cursor-pointer hover:bg-gray-200 select-none')}
       onClick={onClick}>
       <div>
         {iconMap[type]}
diff --git a/app/components/app/configuration/base/var-highlight/index.tsx b/app/components/app/configuration/base/var-highlight/index.tsx
index 1900dd5..3dd6c14 100644
--- a/app/components/app/configuration/base/var-highlight/index.tsx
+++ b/app/components/app/configuration/base/var-highlight/index.tsx
@@ -16,7 +16,7 @@
   return (
     <div
       key={name}
-      className={`${s.item} ${className} mb-2 flex h-5 items-center justify-center rounded-md px-1 text-xs font-medium text-primary-600`}
+      className={`${s.item} ${className} flex mb-2 items-center justify-center rounded-md px-1 h-5 text-xs font-medium text-primary-600`}
     >
       <span className='opacity-60'>{'{{'}</span>
       <span>{name}</span>
diff --git a/app/components/app/configuration/base/var-highlight/style.module.css b/app/components/app/configuration/base/var-highlight/style.module.css
index 2bcef0d..cd5c8f8 100644
--- a/app/components/app/configuration/base/var-highlight/style.module.css
+++ b/app/components/app/configuration/base/var-highlight/style.module.css
@@ -1,3 +1,3 @@
 .item {
   background-color: rgba(21, 94, 239, 0.05);
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/base/warning-mask/cannot-query-dataset.tsx b/app/components/app/configuration/base/warning-mask/cannot-query-dataset.tsx
index be247b0..5275618 100644
--- a/app/components/app/configuration/base/warning-mask/cannot-query-dataset.tsx
+++ b/app/components/app/configuration/base/warning-mask/cannot-query-dataset.tsx
@@ -20,7 +20,7 @@
       description={t('appDebug.feature.dataSet.queryVariable.unableToQueryDataSetTip')}
       footer={
         <div className='flex space-x-2'>
-          <Button variant='primary' className='flex !w-[96px] justify-start' onClick={onConfirm}>
+          <Button variant='primary' className='flex justify-start !w-[96px]' onClick={onConfirm}>
             <span className='text-[13px] font-medium'>{t('appDebug.feature.dataSet.queryVariable.ok')}</span>
           </Button>
         </div>
diff --git a/app/components/app/configuration/base/warning-mask/index.tsx b/app/components/app/configuration/base/warning-mask/index.tsx
index fbe58be..03df4f1 100644
--- a/app/components/app/configuration/base/warning-mask/index.tsx
+++ b/app/components/app/configuration/base/warning-mask/index.tsx
@@ -22,11 +22,11 @@
   footer,
 }) => {
   return (
-    <div className={`${s.mask} absolute inset-0 z-10 pt-16`}
+    <div className={`${s.mask} absolute z-10 inset-0 pt-16`}
     >
       <div className='mx-auto px-10'>
-        <div className={`${s.icon} flex h-11 w-11 items-center justify-center rounded-xl bg-white`}>{warningIcon}</div>
-        <div className='mt-4 text-[24px] font-semibold leading-normal text-gray-800'>
+        <div className={`${s.icon} flex items-center justify-center w-11 h-11 rounded-xl bg-white`}>{warningIcon}</div>
+        <div className='mt-4 text-[24px] leading-normal font-semibold text-gray-800'>
           {title}
         </div>
         <div className='mt-3 text-base text-gray-500'>
diff --git a/app/components/app/configuration/base/warning-mask/style.module.css b/app/components/app/configuration/base/warning-mask/style.module.css
index 87f226f..e1d6f10 100644
--- a/app/components/app/configuration/base/warning-mask/style.module.css
+++ b/app/components/app/configuration/base/warning-mask/style.module.css
@@ -5,4 +5,4 @@
 
 .icon {
   box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/config-prompt/advanced-prompt-input.tsx b/app/components/app/configuration/config-prompt/advanced-prompt-input.tsx
index 1eec519..afa2bf8 100644
--- a/app/components/app/configuration/config-prompt/advanced-prompt-input.tsx
+++ b/app/components/app/configuration/config-prompt/advanced-prompt-input.tsx
@@ -20,7 +20,6 @@
   Clipboard,
   ClipboardCheck,
 } from '@/app/components/base/icons/src/vender/line/files'
-import Button from '@/app/components/base/button'
 import Tooltip from '@/app/components/base/tooltip'
 import PromptEditor from '@/app/components/base/prompt-editor'
 import ConfigContext from '@/context/debug-configuration'
@@ -142,29 +141,28 @@
   const [editorHeight, setEditorHeight] = React.useState(isChatMode ? 200 : 508)
   const contextMissing = (
     <div
-      className='flex h-11 items-center justify-between rounded-tl-xl rounded-tr-xl pb-1 pl-4 pr-3 pt-2'
+      className='flex justify-between items-center h-11 pt-2 pr-3 pb-1 pl-4 rounded-tl-xl rounded-tr-xl'
       style={{
         background: 'linear-gradient(180deg, #FEF0C7 0%, rgba(254, 240, 199, 0) 100%)',
       }}
     >
       <div className='flex items-center pr-2' >
-        <RiErrorWarningFill className='mr-1 h-4 w-4 text-[#F79009]' />
-        <div className='text-[13px] font-medium leading-[18px] text-[#DC6803]'>{t('appDebug.promptMode.contextMissing')}</div>
+        <RiErrorWarningFill className='mr-1 w-4 h-4 text-[#F79009]' />
+        <div className='leading-[18px] text-[13px] font-medium text-[#DC6803]'>{t('appDebug.promptMode.contextMissing')}</div>
       </div>
-      <Button
-        size='small'
-        variant='secondary-accent'
+      <div
+        className='flex items-center h-6 px-2 rounded-md bg-[#fff] border border-gray-200 shadow-xs text-xs font-medium text-primary-600 cursor-pointer'
         onClick={onHideContextMissingTip}
-      >{t('common.operation.ok')}</Button>
+      >{t('common.operation.ok')}</div>
     </div>
   )
   return (
-    <div className={`rounded-xl bg-gradient-to-r from-components-input-border-active-prompt-1 to-components-input-border-active-prompt-2 p-0.5 shadow-xs ${!isContextMissing ? '' : s.warningBorder}`}>
-      <div className='rounded-xl bg-background-default'>
+    <div className={`relative ${!isContextMissing ? s.gradientBorder : s.warningBorder}`}>
+      <div className='rounded-xl bg-white'>
         {isContextMissing
           ? contextMissing
           : (
-            <div className={cn(s.boxHeader, 'flex h-11 items-center justify-between rounded-tl-xl rounded-tr-xl bg-background-default pb-1 pl-4 pr-3 pt-2 hover:shadow-xs')}>
+            <div className={cn(s.boxHeader, 'flex justify-between items-center h-11 pt-2 pr-3 pb-1 pl-4 rounded-tl-xl rounded-tr-xl bg-white hover:shadow-xs')}>
               {isChatMode
                 ? (
                   <MessageTypeSelector value={type} onChange={onTypeChange} />
@@ -184,30 +182,30 @@
                   </div>)}
               <div className={cn(s.optionWrap, 'items-center space-x-1')}>
                 {canDelete && (
-                  <RiDeleteBinLine onClick={onDelete} className='h-6 w-6 cursor-pointer p-1 text-text-tertiary' />
+                  <RiDeleteBinLine onClick={onDelete} className='h-6 w-6 p-1 text-gray-500 cursor-pointer' />
                 )}
                 {!isCopied
                   ? (
-                    <Clipboard className='h-6 w-6 cursor-pointer p-1 text-text-tertiary' onClick={() => {
+                    <Clipboard className='h-6 w-6 p-1 text-gray-500 cursor-pointer' onClick={() => {
                       copy(value)
                       setIsCopied(true)
                     }} />
                   )
                   : (
-                    <ClipboardCheck className='h-6 w-6 p-1 text-text-tertiary' />
+                    <ClipboardCheck className='h-6 w-6 p-1 text-gray-500' />
                   )}
               </div>
             </div>
           )}
 
         <PromptEditorHeightResizeWrap
-          className='min-h-[102px] overflow-y-auto px-4 text-sm text-text-secondary'
+          className='px-4 min-h-[102px] overflow-y-auto text-sm text-gray-700'
           height={editorHeight}
           minHeight={minHeight}
           onHeightChange={setEditorHeight}
           footer={(
-            <div className='flex pb-2 pl-4'>
-              <div className="h-[18px] rounded-md bg-divider-regular px-1 text-xs leading-[18px] text-text-tertiary">{value.length}</div>
+            <div className='pl-4 pb-2 flex'>
+              <div className="h-[18px] leading-[18px] px-1 rounded-md bg-gray-100 text-xs text-gray-500">{value.length}</div>
             </div>
           )}
           hideResize={noResize}
diff --git a/app/components/app/configuration/config-prompt/confirm-add-var/index.tsx b/app/components/app/configuration/config-prompt/confirm-add-var/index.tsx
index 413f73f..922f8bb 100644
--- a/app/components/app/configuration/config-prompt/confirm-add-var/index.tsx
+++ b/app/components/app/configuration/config-prompt/confirm-add-var/index.tsx
@@ -39,18 +39,22 @@
       }}>
       <div
         ref={mainContentRef}
-        className='w-[420px] rounded-xl bg-components-panel-bg p-6'
+        className='w-[420px] rounded-xl bg-gray-50 p-6'
         style={{
           boxShadow: '0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03)',
         }}
       >
         <div className='flex items-start space-x-3'>
           <div
-            className='flex h-10 w-10 shrink-0 items-center justify-center rounded-xl border border-components-card-border bg-components-card-bg-alt shadow-lg'
+            className='shrink-0 flex items-center justify-center h-10 w-10 rounded-xl border border-gray-100'
+            style={{
+              backgroundColor: 'rgba(255, 255, 255, 0.9)',
+              boxShadow: '0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03)',
+            }}
           >{VarIcon}</div>
           <div className='grow-1'>
-            <div className='text-sm font-medium text-text-primary'>{t('appDebug.autoAddVar')}</div>
-            <div className='mt-[15px] flex max-h-[66px] flex-wrap space-x-1 overflow-y-auto px-1'>
+            <div className='text-sm font-medium text-gray-900'>{t('appDebug.autoAddVar')}</div>
+            <div className='flex flex-wrap mt-[15px] max-h-[66px] overflow-y-auto px-1 space-x-1'>
               {varNameArr.map(name => (
                 <VarHighlight key={name} name={name} />
               ))}
diff --git a/app/components/app/configuration/config-prompt/conversation-history/edit-modal.tsx b/app/components/app/configuration/config-prompt/conversation-history/edit-modal.tsx
index ff115da..87b811f 100644
--- a/app/components/app/configuration/config-prompt/conversation-history/edit-modal.tsx
+++ b/app/components/app/configuration/config-prompt/conversation-history/edit-modal.tsx
@@ -28,8 +28,8 @@
       isShow={isShow}
       onClose={onClose}
     >
-      <div className={'mt-6 text-sm font-medium leading-[21px] text-text-primary'}>{t('appDebug.feature.conversationHistory.editModal.userPrefix')}</div>
-      <input className={'mt-2 box-border h-10 w-full rounded-lg bg-components-input-bg-normal px-3 text-sm leading-10'}
+      <div className={'mt-6 font-medium text-sm leading-[21px] text-gray-900'}>{t('appDebug.feature.conversationHistory.editModal.userPrefix')}</div>
+      <input className={'mt-2 w-full rounded-lg h-10 box-border px-3 text-sm leading-10 bg-gray-100'}
         value={tempData.user_prefix}
         onChange={e => setTempData({
           ...tempData,
@@ -37,8 +37,8 @@
         })}
       />
 
-      <div className={'mt-6 text-sm font-medium leading-[21px] text-text-primary'}>{t('appDebug.feature.conversationHistory.editModal.assistantPrefix')}</div>
-      <input className={'mt-2 box-border h-10 w-full rounded-lg bg-components-input-bg-normal px-3 text-sm leading-10'}
+      <div className={'mt-6 font-medium text-sm leading-[21px] text-gray-900'}>{t('appDebug.feature.conversationHistory.editModal.assistantPrefix')}</div>
+      <input className={'mt-2 w-full rounded-lg h-10 box-border px-3 text-sm leading-10 bg-gray-100'}
         value={tempData.assistant_prefix}
         onChange={e => setTempData({
           ...tempData,
@@ -48,8 +48,8 @@
       />
 
       <div className='mt-10 flex justify-end'>
-        <Button className='mr-2 shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
-        <Button variant='primary' className='shrink-0' onClick={() => onSave(tempData)} loading={saveLoading}>{t('common.operation.save')}</Button>
+        <Button className='mr-2 flex-shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
+        <Button variant='primary' className='flex-shrink-0' onClick={() => onSave(tempData)} loading={saveLoading}>{t('common.operation.save')}</Button>
       </div>
     </Modal>
   )
diff --git a/app/components/app/configuration/config-prompt/conversation-history/history-panel.tsx b/app/components/app/configuration/config-prompt/conversation-history/history-panel.tsx
index 592c952..199f959 100644
--- a/app/components/app/configuration/config-prompt/conversation-history/history-panel.tsx
+++ b/app/components/app/configuration/config-prompt/conversation-history/history-panel.tsx
@@ -30,24 +30,24 @@
         </div>
       }
       headerIcon={
-        <div className='rounded-md p-1 shadow-xs'>
-          <MessageClockCircle className='h-4 w-4 text-[#DD2590]' />
+        <div className='p-1 rounded-md bg-white shadow-xs'>
+          <MessageClockCircle className='w-4 h-4 text-[#DD2590]' />
         </div>}
       headerRight={
         <div className='flex items-center'>
-          <div className='text-xs text-text-tertiary'>{t('appDebug.feature.conversationHistory.description')}</div>
-          <div className='ml-3 h-[14px] w-[1px] bg-divider-regular'></div>
+          <div className='text-xs text-gray-500'>{t('appDebug.feature.conversationHistory.description')}</div>
+          <div className='ml-3 w-[1px] h-[14px] bg-gray-200'></div>
           <OperationBtn type="edit" onClick={onShowEditModal} />
         </div>
       }
       noBodySpacing
     >
       {showWarning && (
-        <div className='flex justify-between rounded-b-xl bg-background-section-burn px-3 py-2 text-xs text-text-secondary'>
+        <div className='flex justify-between py-2 px-3 rounded-b-xl bg-[#FFFAEB] text-xs text-gray-700'>
           <div>{t('appDebug.feature.conversationHistory.tip')}
             <a href={`${locale === LanguagesSupported[1]
-              ? 'https://docs.dify.ai/zh-hans/learn-more/extended-reading/prompt-engineering/README'
-              : 'https://docs.dify.ai/en/features/prompt-engineering'}`}
+              ? 'https://docs.dify.ai/v/zh-hans/guides/application-design/prompt-engineering'
+              : 'https://docs.dify.ai/features/prompt-engineering'}`}
             target='_blank' rel='noopener noreferrer'
             className='text-[#155EEF]'>{t('appDebug.feature.conversationHistory.learnMore')}
             </a>
diff --git a/app/components/app/configuration/config-prompt/index.tsx b/app/components/app/configuration/config-prompt/index.tsx
index 1caca47..64870b7 100644
--- a/app/components/app/configuration/config-prompt/index.tsx
+++ b/app/components/app/configuration/config-prompt/index.tsx
@@ -8,7 +8,6 @@
 } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import SimplePromptInput from './simple-prompt-input'
-import Button from '@/app/components/base/button'
 import AdvancedMessageInput from '@/app/components/app/configuration/config-prompt/advanced-prompt-input'
 import { PromptRole } from '@/models/debug'
 import type { PromptItem, PromptVariable } from '@/models/debug'
@@ -156,12 +155,12 @@
         }
       </div>
       {(modelModeType === ModelModeType.chat && (currentAdvancedPrompt as PromptItem[]).length < MAX_PROMPT_MESSAGE_LENGTH) && (
-        <Button
+        <div
           onClick={handleAddMessage}
-          className='mt-3 w-full'>
-          <RiAddLine className='mr-2 h-4 w-4' />
+          className='mt-3 flex items-center h-8 justify-center bg-gray-50 rounded-lg cursor-pointer text-[13px] font-medium text-gray-700 space-x-2'>
+          <RiAddLine className='w-4 h-4' />
           <div>{t('appDebug.promptMode.operation.addMessage')}</div>
-        </Button>
+        </div>
       )}
     </div>
   )
diff --git a/app/components/app/configuration/config-prompt/message-type-selector.tsx b/app/components/app/configuration/config-prompt/message-type-selector.tsx
index 17b3ecb..d522292 100644
--- a/app/components/app/configuration/config-prompt/message-type-selector.tsx
+++ b/app/components/app/configuration/config-prompt/message-type-selector.tsx
@@ -24,12 +24,12 @@
     <div className='relative left-[-8px]' ref={ref}>
       <div
         onClick={toggleShow}
-        className={cn(showOption && 'bg-indigo-100', 'flex h-7 cursor-pointer items-center space-x-0.5 rounded-lg pl-1.5 pr-1 text-indigo-800')}>
+        className={cn(showOption && 'bg-indigo-100', 'flex items-center h-7 pl-1.5 pr-1 space-x-0.5 rounded-lg cursor-pointer text-indigo-800')}>
         <div className='text-sm font-semibold uppercase'>{value}</div>
-        <ChevronSelectorVertical className='h-3 w-3 ' />
+        <ChevronSelectorVertical className='w-3 h-3 ' />
       </div>
       {showOption && (
-        <div className='absolute top-[30px] z-10 rounded-lg border border-components-panel-border bg-components-panel-bg p-1 shadow-lg'>
+        <div className='absolute z-10 top-[30px] p-1 border border-gray-200 shadow-lg rounded-lg bg-white'>
           {allTypes.map(type => (
             <div
               key={type}
@@ -37,7 +37,7 @@
                 setHide()
                 onChange(type)
               }}
-              className='flex h-9 min-w-[44px] cursor-pointer items-center rounded-lg px-3 text-sm font-medium uppercase text-text-secondary hover:bg-state-base-hover'
+              className='flex items-center h-9 min-w-[44px] px-3 rounded-lg cursor-pointer text-sm font-medium text-gray-700 uppercase hover:bg-gray-50'
             >{type}</div>
           ))
           }
diff --git a/app/components/app/configuration/config-prompt/prompt-editor-height-resize-wrap.tsx b/app/components/app/configuration/config-prompt/prompt-editor-height-resize-wrap.tsx
index 1457a29..5561a21 100644
--- a/app/components/app/configuration/config-prompt/prompt-editor-height-resize-wrap.tsx
+++ b/app/components/app/configuration/config-prompt/prompt-editor-height-resize-wrap.tsx
@@ -9,8 +9,8 @@
   height: number
   minHeight: number
   onHeightChange: (height: number) => void
-  children: React.JSX.Element
-  footer?: React.JSX.Element
+  children: JSX.Element
+  footer?: JSX.Element
   hideResize?: boolean
 }
 
@@ -85,9 +85,9 @@
       {footer}
       {!hideResize && (
         <div
-          className='absolute bottom-0 left-0 flex h-2 w-full cursor-row-resize justify-center'
+          className='absolute bottom-0 left-0 w-full flex justify-center h-2 cursor-row-resize'
           onMouseDown={handleStartResize}>
-          <div className='h-[3px] w-5 rounded-sm bg-gray-300'></div>
+          <div className='w-5 h-[3px] rounded-sm bg-gray-300'></div>
         </div>
       )}
     </div>
diff --git a/app/components/app/configuration/config-prompt/simple-prompt-input.tsx b/app/components/app/configuration/config-prompt/simple-prompt-input.tsx
index 3268c1d..cf65e35 100644
--- a/app/components/app/configuration/config-prompt/simple-prompt-input.tsx
+++ b/app/components/app/configuration/config-prompt/simple-prompt-input.tsx
@@ -6,9 +6,10 @@
 import produce from 'immer'
 import { useContext } from 'use-context-selector'
 import ConfirmAddVar from './confirm-add-var'
+import s from './style.module.css'
 import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap'
 import cn from '@/utils/classnames'
-import type { PromptVariable } from '@/models/debug'
+import { type PromptVariable } from '@/models/debug'
 import Tooltip from '@/app/components/base/tooltip'
 import type { CompletionParams } from '@/types/app'
 import { AppType } from '@/types/app'
@@ -27,7 +28,6 @@
 import { PROMPT_EDITOR_UPDATE_VALUE_BY_EVENT_EMITTER } from '@/app/components/base/prompt-editor/plugins/update-block'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import { useFeaturesStore } from '@/app/components/base/features/hooks'
-import { noop } from 'lodash-es'
 
 export type ISimplePromptInput = {
   mode: AppType
@@ -48,6 +48,7 @@
   readonly = false,
   onChange,
   noTitle,
+  gradientBorder,
   editorHeight: initEditorHeight,
   noResize,
 }) => {
@@ -160,12 +161,12 @@
   const [editorHeight, setEditorHeight] = useState(minHeight)
 
   return (
-    <div className={cn('relative rounded-xl bg-gradient-to-r from-components-input-border-active-prompt-1 to-components-input-border-active-prompt-2 p-0.5 shadow-xs')}>
-      <div className='rounded-xl bg-background-section-burn'>
+    <div className={cn((!readonly || gradientBorder) ? `${s.gradientBorder}` : 'bg-gray-50', ' relative shadow-md')}>
+      <div className='rounded-xl bg-[#EEF4FF]'>
         {!noTitle && (
-          <div className="flex h-11 items-center justify-between pl-3 pr-2.5">
+          <div className="flex justify-between items-center h-11 pl-3 pr-6">
             <div className="flex items-center space-x-1">
-              <div className='h2 system-sm-semibold-uppercase text-text-secondary'>{mode !== AppType.completion ? t('appDebug.chatSubTitle') : t('appDebug.completionSubTitle')}</div>
+              <div className='h2'>{mode !== AppType.completion ? t('appDebug.chatSubTitle') : t('appDebug.completionSubTitle')}</div>
               {!readonly && (
                 <Tooltip
                   popupContent={
@@ -185,14 +186,14 @@
         )}
 
         <PromptEditorHeightResizeWrap
-          className='min-h-[228px] rounded-t-xl bg-background-default px-4 pt-2 text-sm text-text-secondary'
+          className='px-4 pt-2 min-h-[228px] bg-white rounded-t-xl text-sm text-gray-700'
           height={editorHeight}
           minHeight={minHeight}
           onHeightChange={setEditorHeight}
           hideResize={noResize}
           footer={(
-            <div className='flex rounded-b-xl bg-background-default pb-2 pl-4'>
-              <div className="h-[18px] rounded-md bg-components-badge-bg-gray-soft px-1 text-xs leading-[18px] text-text-tertiary">{promptTemplate.length}</div>
+            <div className='pl-4 pb-2 flex bg-white rounded-b-xl'>
+              <div className="h-[18px] leading-[18px] px-1 rounded-md bg-gray-100 text-xs text-gray-500">{promptTemplate.length}</div>
             </div>
           )}
         >
@@ -234,15 +235,14 @@
                 user: '',
                 assistant: '',
               },
-              onEditRole: noop,
+              onEditRole: () => { },
             }}
             queryBlock={{
               show: false,
               selectable: !hasSetBlockStatus.query,
             }}
             onChange={(value) => {
-              if (handleChange)
-                handleChange(value, [])
+              handleChange?.(value, [])
             }}
             onBlur={() => {
               handleChange(promptTemplate, getVars(promptTemplate))
diff --git a/app/components/app/configuration/config-prompt/style.module.css b/app/components/app/configuration/config-prompt/style.module.css
index 224d59d..6678562 100644
--- a/app/components/app/configuration/config-prompt/style.module.css
+++ b/app/components/app/configuration/config-prompt/style.module.css
@@ -25,4 +25,4 @@
 
 .boxHeader:hover .optionWrap {
   display: flex;
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/config-var/config-modal/field.tsx b/app/components/app/configuration/config-var/config-modal/field.tsx
index 78bd2d9..5052f98 100644
--- a/app/components/app/configuration/config-var/config-modal/field.tsx
+++ b/app/components/app/configuration/config-var/config-modal/field.tsx
@@ -6,7 +6,7 @@
 type Props = {
   className?: string
   title: string
-  children: React.JSX.Element
+  children: JSX.Element
 }
 
 const Field: FC<Props> = ({
@@ -16,7 +16,7 @@
 }) => {
   return (
     <div className={cn(className)}>
-      <div className='system-sm-semibold leading-8 text-text-secondary'>{title}</div>
+      <div className='text-text-secondary system-sm-semibold leading-8'>{title}</div>
       <div>{children}</div>
     </div>
   )
diff --git a/app/components/app/configuration/config-var/config-modal/index.tsx b/app/components/app/configuration/config-var/config-modal/index.tsx
index 4b6bfda..85e241a 100644
--- a/app/components/app/configuration/config-var/config-modal/index.tsx
+++ b/app/components/app/configuration/config-var/config-modal/index.tsx
@@ -233,9 +233,9 @@
             />
           )}
 
-          <div className='!mt-5 flex h-6 items-center space-x-2'>
+          <div className='!mt-5 flex items-center h-6 space-x-2'>
             <Checkbox checked={tempPayload.required} onCheck={() => handlePayloadChange('required')(!tempPayload.required)} />
-            <span className='system-sm-semibold text-text-secondary'>{t('appDebug.variableConfig.required')}</span>
+            <span className='text-text-secondary system-sm-semibold'>{t('appDebug.variableConfig.required')}</span>
           </div>
         </div>
       </div>
diff --git a/app/components/app/configuration/config-var/config-select/index.tsx b/app/components/app/configuration/config-var/config-select/index.tsx
index 40ddaef..449cb8b 100644
--- a/app/components/app/configuration/config-var/config-select/index.tsx
+++ b/app/components/app/configuration/config-var/config-select/index.tsx
@@ -1,10 +1,12 @@
 'use client'
 import type { FC } from 'react'
-import React, { useState } from 'react'
-import { RiAddLine, RiDeleteBinLine, RiDraggable } from '@remixicon/react'
+import React from 'react'
 import { useTranslation } from 'react-i18next'
+import { PlusIcon } from '@heroicons/react/24/outline'
 import { ReactSortable } from 'react-sortablejs'
-import cn from '@/utils/classnames'
+import RemoveIcon from '../../base/icons/remove-icon'
+
+import s from './style.module.css'
 
 export type Options = string[]
 export type IConfigSelectProps = {
@@ -17,8 +19,6 @@
   onChange,
 }) => {
   const { t } = useTranslation()
-  const [focusID, setFocusID] = useState<number | null>(null)
-  const [deletingID, setDeletingID] = useState<number | null>(null)
 
   const optionList = options.map((content, index) => {
     return ({
@@ -40,18 +40,15 @@
             animation={150}
           >
             {options.map((o, index) => (
-              <div
-                className={cn(
-                  'group relative flex items-center rounded-lg border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg pl-2.5 hover:bg-components-panel-on-panel-item-bg-hover',
-                  focusID === index && 'border-components-input-border-active bg-components-input-bg-active hover:border-components-input-border-active hover:bg-components-input-bg-active',
-                  deletingID === index && 'border-components-input-border-destructive bg-state-destructive-hover hover:border-components-input-border-destructive hover:bg-state-destructive-hover',
-                )}
-                key={index}
-              >
-                <RiDraggable className='handle h-4 w-4 cursor-grab text-text-quaternary' />
+              <div className={`${s.inputWrap} relative`} key={index}>
+                <div className='handle flex items-center justify-center w-4 h-4 cursor-grab'>
+                  <svg width="6" height="10" viewBox="0 0 6 10" fill="none" xmlns="http://www.w3.org/2000/svg">
+                    <path fillRule="evenodd" clipRule="evenodd" d="M1 2C1.55228 2 2 1.55228 2 1C2 0.447715 1.55228 0 1 0C0.447715 0 0 0.447715 0 1C0 1.55228 0.447715 2 1 2ZM1 6C1.55228 6 2 5.55228 2 5C2 4.44772 1.55228 4 1 4C0.447715 4 0 4.44772 0 5C0 5.55228 0.447715 6 1 6ZM6 1C6 1.55228 5.55228 2 5 2C4.44772 2 4 1.55228 4 1C4 0.447715 4.44772 0 5 0C5.55228 0 6 0.447715 6 1ZM5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6ZM2 9C2 9.55229 1.55228 10 1 10C0.447715 10 0 9.55229 0 9C0 8.44771 0.447715 8 1 8C1.55228 8 2 8.44771 2 9ZM5 10C5.55228 10 6 9.55229 6 9C6 8.44771 5.55228 8 5 8C4.44772 8 4 8.44771 4 9C4 9.55229 4.44772 10 5 10Z" fill="#98A2B3" />
+                  </svg>
+                </div>
                 <input
                   key={index}
-                  type='input'
+                  type="input"
                   value={o || ''}
                   onChange={(e) => {
                     const value = e.target.value
@@ -62,21 +59,14 @@
                       return item
                     }))
                   }}
-                  className={'h-9 w-full grow cursor-pointer overflow-x-auto rounded-lg border-0 bg-transparent pl-1.5 pr-8 text-sm leading-9 text-text-secondary focus:outline-none'}
-                  onFocus={() => setFocusID(index)}
-                  onBlur={() => setFocusID(null)}
+                  className={'w-full pl-1.5 pr-8 text-sm leading-9 text-gray-900 border-0 grow h-9 bg-transparent focus:outline-none cursor-pointer'}
                 />
-                <div
-                  role='button'
-                  className='absolute right-1.5 top-1/2 block translate-y-[-50%] cursor-pointer rounded-md p-1 text-text-tertiary hover:bg-state-destructive-hover hover:text-text-destructive'
+                <RemoveIcon
+                  className={`${s.deleteBtn} absolute top-1/2 translate-y-[-50%] right-1.5 items-center justify-center w-6 h-6 rounded-md cursor-pointer hover:bg-[#FEE4E2]`}
                   onClick={() => {
                     onChange(options.filter((_, i) => index !== i))
                   }}
-                  onMouseEnter={() => setDeletingID(index)}
-                  onMouseLeave={() => setDeletingID(null)}
-                >
-                  <RiDeleteBinLine className='h-3.5 w-3.5' />
-                </div>
+                />
               </div>
             ))}
           </ReactSortable>
@@ -85,9 +75,9 @@
 
       <div
         onClick={() => { onChange([...options, '']) }}
-        className='mt-1 flex h-9 cursor-pointer items-center gap-2 rounded-lg bg-components-button-tertiary-bg px-3  text-components-button-tertiary-text hover:bg-components-button-tertiary-bg-hover'>
-        <RiAddLine className='h-4 w-4' />
-        <div className='system-sm-medium text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
+        className='flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100'>
+        <PlusIcon width={16} height={16}></PlusIcon>
+        <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
       </div>
     </div>
   )
diff --git a/app/components/app/configuration/config-var/config-select/style.module.css b/app/components/app/configuration/config-var/config-select/style.module.css
new file mode 100644
index 0000000..a09d195
--- /dev/null
+++ b/app/components/app/configuration/config-var/config-select/style.module.css
@@ -0,0 +1,21 @@
+.inputWrap {
+  display: flex;
+  align-items: center;
+  border-radius: 8px;
+  border: 1px solid #EAECF0;
+  padding-left: 10px;
+  cursor: pointer;
+}
+
+.deleteBtn {
+  display: none;
+  display: flex;
+}
+
+.inputWrap:hover {
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+}
+
+.inputWrap:hover .deleteBtn {
+  display: flex;
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/config-var/config-string/index.tsx b/app/components/app/configuration/config-var/config-string/index.tsx
index 78f185b..719ad8e 100644
--- a/app/components/app/configuration/config-var/config-string/index.tsx
+++ b/app/components/app/configuration/config-var/config-string/index.tsx
@@ -28,7 +28,7 @@
         min={1}
         value={value || ''}
         onChange={(e) => {
-          let value = Number.parseInt(e.target.value, 10)
+          let value = parseInt(e.target.value, 10)
           if (value > maxLength)
             value = maxLength
 
diff --git a/app/components/app/configuration/config-var/index.tsx b/app/components/app/configuration/config-var/index.tsx
index 612d476..67bc373 100644
--- a/app/components/app/configuration/config-var/index.tsx
+++ b/app/components/app/configuration/config-var/index.tsx
@@ -3,17 +3,26 @@
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useBoolean } from 'ahooks'
+import type { Timeout } from 'ahooks/lib/useRequest/src/types'
 import { useContext } from 'use-context-selector'
 import produce from 'immer'
+import {
+  RiDeleteBinLine,
+} from '@remixicon/react'
 import Panel from '../base/feature-panel'
 import EditModal from './config-modal'
-import VarItem from './var-item'
+import IconTypeIcon from './input-type-icon'
+import type { IInputTypeIconProps } from './input-type-icon'
+import s from './style.module.css'
 import SelectVarType from './select-var-type'
+import { BracketsX as VarIcon } from '@/app/components/base/icons/src/vender/line/development'
 import Tooltip from '@/app/components/base/tooltip'
 import type { PromptVariable } from '@/models/debug'
-import { DEFAULT_VALUE_MAX_LEN } from '@/config'
-import { getNewVar } from '@/utils/var'
+import { DEFAULT_VALUE_MAX_LEN, getMaxVarNameLength } from '@/config'
+import { checkKeys, getNewVar } from '@/utils/var'
+import Switch from '@/app/components/base/switch'
 import Toast from '@/app/components/base/toast'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import Confirm from '@/app/components/base/confirm'
 import ConfigContext from '@/context/debug-configuration'
 import { AppType } from '@/types/app'
@@ -41,6 +50,8 @@
   onPromptVariablesChange?: (promptVariables: PromptVariable[]) => void
 }
 
+let conflictTimer: Timeout
+
 const ConfigVar: FC<IConfigVarProps> = ({ promptVariables, readonly, onPromptVariablesChange }) => {
   const { t } = useTranslation()
   const {
@@ -50,6 +61,19 @@
   const { eventEmitter } = useEventEmitterContextContext()
 
   const hasVar = promptVariables.length > 0
+  const updatePromptVariable = (key: string, updateKey: string, newValue: string | boolean) => {
+    const newPromptVariables = promptVariables.map((item) => {
+      if (item.key === key) {
+        return {
+          ...item,
+          [updateKey]: newValue,
+        }
+      }
+
+      return item
+    })
+    onPromptVariablesChange?.(newPromptVariables)
+  }
   const [currIndex, setCurrIndex] = useState<number>(-1)
   const currItem = currIndex !== -1 ? promptVariables[currIndex] : null
   const currItemToEdit: InputVar | null = (() => {
@@ -78,6 +102,55 @@
 
       if (payload.type !== InputVarType.select)
         delete draft[currIndex].options
+    })
+
+    onPromptVariablesChange?.(newPromptVariables)
+  }
+  const updatePromptKey = (index: number, newKey: string) => {
+    clearTimeout(conflictTimer)
+    const { isValid, errorKey, errorMessageKey } = checkKeys([newKey], true)
+    if (!isValid) {
+      Toast.notify({
+        type: 'error',
+        message: t(`appDebug.varKeyError.${errorMessageKey}`, { key: errorKey }),
+      })
+      return
+    }
+
+    const newPromptVariables = promptVariables.map((item, i) => {
+      if (i === index) {
+        return {
+          ...item,
+          key: newKey,
+        }
+      }
+      return item
+    })
+
+    conflictTimer = setTimeout(() => {
+      const isKeyExists = promptVariables.some(item => item.key?.trim() === newKey.trim())
+      if (isKeyExists) {
+        Toast.notify({
+          type: 'error',
+          message: t('appDebug.varKeyError.keyAlreadyExists', { key: newKey }),
+        })
+      }
+    }, 1000)
+
+    onPromptVariablesChange?.(newPromptVariables)
+  }
+
+  const updatePromptNameIfNameEmpty = (index: number, newKey: string) => {
+    if (!newKey)
+      return
+    const newPromptVariables = promptVariables.map((item, i) => {
+      if (i === index && !item.name) {
+        return {
+          ...item,
+          name: newKey,
+        }
+      }
+      return item
     })
 
     onPromptVariablesChange?.(newPromptVariables)
@@ -200,6 +273,9 @@
   return (
     <Panel
       className="mt-2"
+      headerIcon={
+        <VarIcon className='w-4 h-4 text-primary-500' />
+      }
       title={
         <div className='flex items-center'>
           <div className='mr-1'>{t('appDebug.variableTitle')}</div>
@@ -215,27 +291,87 @@
         </div>
       }
       headerRight={!readonly ? <SelectVarType onChange={handleAddVar} /> : null}
-      noBodySpacing
     >
       {!hasVar && (
-        <div className='mt-1 px-3 pb-3'>
-          <div className='pb-1 pt-2 text-xs text-text-tertiary'>{t('appDebug.notSetVar')}</div>
-        </div>
+        <div className='pt-2 pb-1 text-xs text-gray-500'>{t('appDebug.notSetVar')}</div>
       )}
       {hasVar && (
-        <div className='mt-1 px-3 pb-3'>
-          {promptVariables.map(({ key, name, type, required, config, icon, icon_background }, index) => (
-            <VarItem
-              key={index}
-              readonly={readonly}
-              name={key}
-              label={name}
-              required={!!required}
-              type={type}
-              onEdit={() => handleConfig({ type, key, index, name, config, icon, icon_background })}
-              onRemove={() => handleRemoveVar(index)}
-            />
-          ))}
+        <div className='rounded-lg border border-gray-200 bg-white overflow-x-auto'>
+          <table className={`${s.table} min-w-[440px] w-full max-w-full border-collapse border-0 rounded-lg text-sm`}>
+            <thead className="border-b  border-gray-200 text-gray-500 text-xs font-medium">
+              <tr className='uppercase'>
+                <td>{t('appDebug.variableTable.key')}</td>
+                <td>{t('appDebug.variableTable.name')}</td>
+                {!readonly && (
+                  <>
+                    <td>{t('appDebug.variableTable.optional')}</td>
+                    <td>{t('appDebug.variableTable.action')}</td>
+                  </>
+                )}
+
+              </tr>
+            </thead>
+            <tbody className="text-gray-700">
+              {promptVariables.map(({ key, name, type, required, config, icon, icon_background }, index) => (
+                <tr key={index} className="h-9 leading-9">
+                  <td className="w-[160px] border-b border-gray-100 pl-3">
+                    <div className='flex items-center space-x-1'>
+                      <IconTypeIcon type={type as IInputTypeIconProps['type']} className='text-gray-400' />
+                      {!readonly
+                        ? (
+                          <input
+                            type="text"
+                            placeholder="key"
+                            value={key}
+                            onChange={e => updatePromptKey(index, e.target.value)}
+                            onBlur={e => updatePromptNameIfNameEmpty(index, e.target.value)}
+                            maxLength={getMaxVarNameLength(name)}
+                            className="h-6 leading-6 block w-full rounded-md border-0 py-1.5 text-gray-900  placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200"
+                          />
+                        )
+                        : (
+                          <div className='h-6 leading-6 text-[13px] text-gray-700'>{key}</div>
+                        )}
+                    </div>
+                  </td>
+                  <td className="py-1 border-b border-gray-100">
+                    {!readonly
+                      ? (
+                        <input
+                          type="text"
+                          placeholder={key}
+                          value={name}
+                          onChange={e => updatePromptVariable(key, 'name', e.target.value)}
+                          maxLength={getMaxVarNameLength(name)}
+                          className="h-6 leading-6 block w-full rounded-md border-0 py-1.5 text-gray-900  placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200"
+                        />)
+                      : (
+                        <div className='h-6 leading-6 text-[13px] text-gray-700'>{name}</div>
+                      )}
+                  </td>
+                  {!readonly && (
+                    <>
+                      <td className='w-[84px] border-b border-gray-100'>
+                        <div className='flex items-center h-full'>
+                          <Switch defaultValue={!required} size='md' onChange={value => updatePromptVariable(key, 'required', !value)} />
+                        </div>
+                      </td>
+                      <td className='w-20  border-b border-gray-100'>
+                        <div className='flex h-full items-center space-x-1'>
+                          <div className=' p-1 rounded-md hover:bg-black/5 w-6 h-6 cursor-pointer' onClick={() => handleConfig({ type, key, index, name, config, icon, icon_background })}>
+                            <Settings01 className='w-4 h-4 text-gray-500' />
+                          </div>
+                          <div className=' p-1 rounded-md hover:bg-black/5 w-6 h-6 cursor-pointer' onClick={() => handleRemoveVar(index)} >
+                            <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
+                          </div>
+                        </div>
+                      </td>
+                    </>
+                  )}
+                </tr>
+              ))}
+            </tbody>
+          </table>
         </div>
       )}
 
diff --git a/app/components/app/configuration/config-var/select-type-item/index.tsx b/app/components/app/configuration/config-var/select-type-item/index.tsx
index a952bcf..b71486b 100644
--- a/app/components/app/configuration/config-var/select-type-item/index.tsx
+++ b/app/components/app/configuration/config-var/select-type-item/index.tsx
@@ -27,12 +27,12 @@
   return (
     <div
       className={cn(
-        'flex h-[58px] flex-col items-center justify-center space-y-1 rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg text-text-secondary',
-        selected ? 'system-xs-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg shadow-xs' : ' system-xs-regular cursor-pointer hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs')}
+        'flex flex-col justify-center items-center h-[58px] rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg space-y-1',
+        selected ? 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg shadow-xs system-xs-medium' : ' hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs cursor-pointer system-xs-regular')}
       onClick={onClick}
     >
       <div className='shrink-0'>
-        <InputVarTypeIcon type={type} className='h-5 w-5' />
+        <InputVarTypeIcon type={type} className='w-5 h-5' />
       </div>
       <span>{typeName}</span>
     </div>
diff --git a/app/components/app/configuration/config-var/select-var-type.tsx b/app/components/app/configuration/config-var/select-var-type.tsx
index f82e931..14d4f92 100644
--- a/app/components/app/configuration/config-var/select-var-type.tsx
+++ b/app/components/app/configuration/config-var/select-var-type.tsx
@@ -28,11 +28,11 @@
 const SelectItem: FC<ItemProps> = ({ text, type, value, Icon, onClick }) => {
   return (
     <div
-      className='flex h-8 cursor-pointer items-center rounded-lg px-3 hover:bg-gray-50'
+      className='flex items-center px-3 h-8 rounded-lg hover:bg-gray-50 cursor-pointer'
       onClick={() => onClick(value)}
     >
-      {Icon ? <Icon className='h-4 w-4 text-gray-500' /> : <InputVarTypeIcon type={type!} className='h-4 w-4 text-gray-500' />}
-      <div className='ml-2 truncate text-xs text-gray-600'>{text}</div>
+      {Icon ? <Icon className='w-4 h-4 text-gray-500' /> : <InputVarTypeIcon type={type!} className='w-4 h-4 text-gray-500' />}
+      <div className='ml-2 text-xs text-gray-600 truncate'>{text}</div>
     </div>
   )
 }
@@ -60,7 +60,7 @@
         <OperationBtn type='add' className={cn(open && 'bg-gray-200')} />
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 1000 }}>
-        <div className='min-w-[192px] rounded-lg border border-gray-200 bg-white shadow-lg'>
+        <div className='bg-white border border-gray-200 shadow-lg rounded-lg min-w-[192px]'>
           <div className='p-1'>
             <SelectItem type={InputVarType.textInput} value='string' text={t('appDebug.variableConfig.string')} onClick={handleChange}></SelectItem>
             <SelectItem type={InputVarType.paragraph} value='paragraph' text={t('appDebug.variableConfig.paragraph')} onClick={handleChange}></SelectItem>
diff --git a/app/components/app/configuration/config-var/style.module.css b/app/components/app/configuration/config-var/style.module.css
new file mode 100644
index 0000000..733755d
--- /dev/null
+++ b/app/components/app/configuration/config-var/style.module.css
@@ -0,0 +1,12 @@
+.table td {
+  padding-left: 12px;
+}
+
+.table thead td {
+  height: 33px;
+  line-height: 33px;
+}
+
+.table tbody tr:last-child td {
+  border-bottom: none;
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/config-vision/index.tsx b/app/components/app/configuration/config-vision/index.tsx
index f719822..f30d3e4 100644
--- a/app/components/app/configuration/config-vision/index.tsx
+++ b/app/components/app/configuration/config-vision/index.tsx
@@ -57,14 +57,14 @@
     return null
 
   return (
-    <div className='mt-2 flex items-center gap-2 rounded-xl border-l-[0.5px] border-t-[0.5px] border-effects-highlight bg-background-section-burn p-2'>
+    <div className='mt-2 flex items-center gap-2 p-2 rounded-xl border-t-[0.5px] border-l-[0.5px] bg-background-section-burn'>
       <div className='shrink-0 p-1'>
-        <div className='rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-indigo-indigo-600 p-1 shadow-xs'>
-          <Vision className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-indigo-indigo-600'>
+          <Vision className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       </div>
-      <div className='flex grow items-center'>
-        <div className='system-sm-semibold mr-1 text-text-secondary'>{t('appDebug.vision.name')}</div>
+      <div className='grow flex items-center'>
+        <div className='mr-1 text-text-secondary system-sm-semibold'>{t('appDebug.vision.name')}</div>
         <Tooltip
           popupContent={
             <div className='w-[180px]' >
@@ -73,7 +73,7 @@
           }
         />
       </div>
-      <div className='flex shrink-0 items-center'>
+      <div className='shrink-0 flex items-center'>
         {/* <div className='mr-2 flex items-center gap-0.5'>
           <div className='text-text-tertiary system-xs-medium-uppercase'>{t('appDebug.vision.visionSettings.resolution')}</div>
           <Tooltip
@@ -99,7 +99,7 @@
           />
         </div> */}
         <ParamConfig />
-        <div className='ml-1 mr-3 h-3.5 w-[1px] bg-divider-regular'></div>
+        <div className='ml-1 mr-3 w-[1px] h-3.5 bg-divider-subtle'></div>
         <Switch
           defaultValue={isImageEnabled}
           onChange={handleChange}
diff --git a/app/components/app/configuration/config-vision/param-config-content.tsx b/app/components/app/configuration/config-vision/param-config-content.tsx
index f0d8122..fe6d1cd 100644
--- a/app/components/app/configuration/config-vision/param-config-content.tsx
+++ b/app/components/app/configuration/config-vision/param-config-content.tsx
@@ -41,11 +41,11 @@
 
   return (
     <div>
-      <div className='text-base font-semibold leading-6 text-text-primary'>{t('appDebug.vision.visionSettings.title')}</div>
-      <div className='space-y-6 pt-3'>
+      <div className='leading-6 text-base font-semibold text-gray-800'>{t('appDebug.vision.visionSettings.title')}</div>
+      <div className='pt-3 space-y-6'>
         <div>
           <div className='mb-2 flex items-center  space-x-1'>
-            <div className='text-[13px] font-semibold leading-[18px] text-text-secondary'>{t('appDebug.vision.visionSettings.resolution')}</div>
+            <div className='leading-[18px] text-[13px] font-semibold text-gray-800'>{t('appDebug.vision.visionSettings.resolution')}</div>
             <Tooltip
               popupContent={
                 <div className='w-[180px]' >
@@ -78,7 +78,7 @@
           </div>
         </div>
         <div>
-          <div className='mb-2 text-[13px] font-semibold leading-[18px] text-text-secondary'>{t('appDebug.vision.visionSettings.uploadMethod')}</div>
+          <div className='mb-2 leading-[18px] text-[13px] font-semibold text-gray-800'>{t('appDebug.vision.visionSettings.uploadMethod')}</div>
           <div className='flex items-center gap-1'>
             <OptionCard
               className='grow'
diff --git a/app/components/app/configuration/config-vision/param-config.tsx b/app/components/app/configuration/config-vision/param-config.tsx
index 5e4aac6..8c63879 100644
--- a/app/components/app/configuration/config-vision/param-config.tsx
+++ b/app/components/app/configuration/config-vision/param-config.tsx
@@ -2,15 +2,14 @@
 import type { FC } from 'react'
 import { memo, useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiSettings2Line } from '@remixicon/react'
 import ParamConfigContent from './param-config-content'
-import Button from '@/app/components/base/button'
+import cn from '@/utils/classnames'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import {
   PortalToFollowElem,
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
-import cn from '@/utils/classnames'
 
 const ParamsConfig: FC = () => {
   const { t } = useTranslation()
@@ -26,13 +25,13 @@
       }}
     >
       <PortalToFollowElemTrigger onClick={() => setOpen(v => !v)}>
-        <Button variant='ghost' size='small' className={cn('')}>
-          <RiSettings2Line className='h-3.5 w-3.5' />
-          <div className='ml-1'>{t('appDebug.voice.settings')}</div>
-        </Button>
+        <div className={cn('flex items-center rounded-md h-7 px-3 space-x-1 text-text-tertiary cursor-pointer hover:bg-gray-200', open && 'bg-gray-200')}>
+          <Settings01 className='w-3.5 h-3.5 ' />
+          <div className='ml-1 leading-[18px] text-xs font-medium '>{t('appDebug.voice.settings')}</div>
+        </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 50 }}>
-        <div className='w-80 space-y-3 rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg p-4 shadow-lg sm:w-[412px]'>
+        <div className='w-80 sm:w-[412px] p-4 bg-white rounded-lg border-[0.5px] border-gray-200 shadow-lg space-y-3'>
           <ParamConfigContent />
         </div>
       </PortalToFollowElemContent>
diff --git a/app/components/app/configuration/config/agent-setting-button.tsx b/app/components/app/configuration/config/agent-setting-button.tsx
index b0a93d5..f50f778 100644
--- a/app/components/app/configuration/config/agent-setting-button.tsx
+++ b/app/components/app/configuration/config/agent-setting-button.tsx
@@ -2,9 +2,9 @@
 import type { FC } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiSettings2Line } from '@remixicon/react'
 import AgentSetting from './agent/agent-setting'
 import Button from '@/app/components/base/button'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import type { AgentConfig } from '@/models/debug'
 
 type Props = {
@@ -25,8 +25,8 @@
 
   return (
     <>
-      <Button onClick={() => setIsShowAgentSetting(true)} className='mr-2 shrink-0'>
-        <RiSettings2Line className='mr-1 h-4 w-4 text-text-tertiary' />
+      <Button onClick={() => setIsShowAgentSetting(true)} className='shrink-0 mr-2'>
+        <Settings01 className='mr-1 w-4 h-4 text-gray-500' />
         {t('appDebug.agent.setting.name')}
       </Button>
       {isShowAgentSetting && (
diff --git a/app/components/app/configuration/config/agent/agent-setting/index.tsx b/app/components/app/configuration/config/agent/agent-setting/index.tsx
index 26a1242..9593364 100644
--- a/app/components/app/configuration/config/agent/agent-setting/index.tsx
+++ b/app/components/app/configuration/config/agent/agent-setting/index.tsx
@@ -1,16 +1,15 @@
 'use client'
 import type { FC } from 'react'
-import React, { useEffect, useRef, useState } from 'react'
+import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { RiCloseLine } from '@remixicon/react'
-import { useClickAway } from 'ahooks'
 import ItemPanel from './item-panel'
 import Button from '@/app/components/base/button'
 import { CuteRobot } from '@/app/components/base/icons/src/vender/solid/communication'
 import { Unblur } from '@/app/components/base/icons/src/vender/solid/education'
 import Slider from '@/app/components/base/slider'
 import type { AgentConfig } from '@/models/debug'
-import { DEFAULT_AGENT_PROMPT, MAX_ITERATIONS_NUM } from '@/config'
+import { DEFAULT_AGENT_PROMPT } from '@/config'
 
 type Props = {
   isChatModel: boolean
@@ -21,6 +20,7 @@
 }
 
 const maxIterationsMin = 1
+const maxIterationsMax = 5
 
 const AgentSetting: FC<Props> = ({
   isChatModel,
@@ -31,65 +31,52 @@
 }) => {
   const { t } = useTranslation()
   const [tempPayload, setTempPayload] = useState(payload)
-  const ref = useRef(null)
-  const [mounted, setMounted] = useState(false)
-
-  useClickAway(() => {
-    if (mounted)
-      onCancel()
-  }, ref)
-
-  useEffect(() => {
-    setMounted(true)
-  }, [])
-
   const handleSave = () => {
     onSave(tempPayload)
   }
 
   return (
-    <div className='fixed inset-0 z-[100] flex justify-end overflow-hidden p-2'
+    <div className='fixed z-[100] inset-0 overflow-hidden flex justify-end p-2'
       style={{
         backgroundColor: 'rgba(16, 24, 40, 0.20)',
       }}
     >
       <div
-        ref={ref}
-        className='flex h-full w-[640px] flex-col overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'
+        className='w-[640px] flex flex-col h-full overflow-hidden bg-white border-[0.5px] border-gray-200 rounded-xl shadow-xl'
       >
-        <div className='flex h-14 shrink-0 items-center justify-between border-b border-divider-regular pl-6 pr-5'>
-          <div className='flex flex-col text-base font-semibold text-text-primary'>
+        <div className='shrink-0 flex justify-between items-center pl-6 pr-5 h-14 border-b border-b-gray-100'>
+          <div className='flex flex-col text-base font-semibold text-gray-900'>
             <div className='leading-6'>{t('appDebug.agent.setting.name')}</div>
           </div>
           <div className='flex items-center'>
             <div
               onClick={onCancel}
-              className='flex h-6 w-6 cursor-pointer items-center justify-center'
+              className='flex justify-center items-center w-6 h-6 cursor-pointer'
             >
-              <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+              <RiCloseLine className='w-4 h-4 text-gray-500' />
             </div>
           </div>
         </div>
         {/* Body */}
-        <div className='grow overflow-y-auto border-b p-6 pb-[68px] pt-5' style={{
+        <div className='grow p-6 pt-5 border-b overflow-y-auto pb-[68px]' style={{
           borderBottom: 'rgba(0, 0, 0, 0.05)',
         }}>
           {/* Agent Mode */}
           <ItemPanel
             className='mb-4'
             icon={
-              <CuteRobot className='h-4 w-4 text-indigo-600' />
+              <CuteRobot className='w-4 h-4 text-indigo-600' />
             }
             name={t('appDebug.agent.agentMode')}
             description={t('appDebug.agent.agentModeDes')}
           >
-            <div className='text-[13px] font-medium leading-[18px] text-text-primary'>{isFunctionCall ? t('appDebug.agent.agentModeType.functionCall') : t('appDebug.agent.agentModeType.ReACT')}</div>
+            <div className='leading-[18px] text-[13px] font-medium text-gray-900'>{isFunctionCall ? t('appDebug.agent.agentModeType.functionCall') : t('appDebug.agent.agentModeType.ReACT')}</div>
           </ItemPanel>
 
           <ItemPanel
             className='mb-4'
             icon={
-              <Unblur className='h-4 w-4 text-[#FB6514]' />
+              <Unblur className='w-4 h-4 text-[#FB6514]' />
             }
             name={t('appDebug.agent.setting.maximumIterations.name')}
             description={t('appDebug.agent.setting.maximumIterations.description')}
@@ -98,7 +85,7 @@
               <Slider
                 className='mr-3 w-[156px]'
                 min={maxIterationsMin}
-                max={MAX_ITERATIONS_NUM}
+                max={maxIterationsMax}
                 value={tempPayload.max_iteration}
                 onChange={(value) => {
                   setTempPayload({
@@ -111,16 +98,16 @@
               <input
                 type="number"
                 min={maxIterationsMin}
-                max={MAX_ITERATIONS_NUM} step={1}
-                className="block h-7 w-11 rounded-lg border-0 bg-components-input-bg-normal px-1.5 pl-1 leading-7 text-text-primary placeholder:text-text-tertiary focus:ring-1 focus:ring-inset focus:ring-primary-600"
+                max={maxIterationsMax} step={1}
+                className="block w-11 h-7 leading-7 rounded-lg border-0 pl-1 px-1.5 bg-gray-100 text-gray-900  placeholder:text-gray-400 focus:ring-1 focus:ring-inset focus:ring-primary-600"
                 value={tempPayload.max_iteration}
                 onChange={(e) => {
-                  let value = Number.parseInt(e.target.value, 10)
+                  let value = parseInt(e.target.value, 10)
                   if (value < maxIterationsMin)
                     value = maxIterationsMin
 
-                  if (value > MAX_ITERATIONS_NUM)
-                    value = MAX_ITERATIONS_NUM
+                  if (value > maxIterationsMax)
+                    value = maxIterationsMax
                   setTempPayload({
                     ...tempPayload,
                     max_iteration: value,
@@ -130,20 +117,23 @@
           </ItemPanel>
 
           {!isFunctionCall && (
-            <div className='rounded-xl bg-background-section-burn py-2 shadow-xs'>
-              <div className='flex h-8 items-center px-4 text-sm font-semibold leading-6 text-text-secondary'>{t('tools.builtInPromptTitle')}</div>
-              <div className='h-[396px] overflow-y-auto whitespace-pre-line px-4 text-sm font-normal leading-5 text-text-secondary'>
+            <div className='py-2 bg-gray-50 rounded-xl shadow-xs'>
+              <div className='flex items-center h-8 px-4 leading-6 text-sm font-semibold text-gray-700'>{t('tools.builtInPromptTitle')}</div>
+              <div className='h-[396px] px-4 overflow-y-auto leading-5 text-sm font-normal text-gray-700 whitespace-pre-line'>
                 {isChatModel ? DEFAULT_AGENT_PROMPT.chat : DEFAULT_AGENT_PROMPT.completion}
               </div>
               <div className='px-4'>
-                <div className='inline-flex h-5 items-center rounded-md bg-components-input-bg-normal px-1 text-xs font-medium leading-[18px] text-text-tertiary'>{(isChatModel ? DEFAULT_AGENT_PROMPT.chat : DEFAULT_AGENT_PROMPT.completion).length}</div>
+                <div className='inline-flex items-center h-5 px-1 rounded-md bg-gray-100 leading-[18px] text-xs font-medium text-gray-500'>{(isChatModel ? DEFAULT_AGENT_PROMPT.chat : DEFAULT_AGENT_PROMPT.completion).length}</div>
               </div>
             </div>
           )}
 
         </div>
         <div
-          className='sticky bottom-0 z-[5] flex w-full justify-end border-t border-divider-regular bg-background-section-burn px-6 py-4'
+          className='sticky z-[5] bottom-0 w-full flex justify-end py-4 px-6 border-t bg-white '
+          style={{
+            borderColor: 'rgba(0, 0, 0, 0.05)',
+          }}
         >
           <Button
             onClick={onCancel}
diff --git a/app/components/app/configuration/config/agent/agent-setting/item-panel.tsx b/app/components/app/configuration/config/agent/agent-setting/item-panel.tsx
index 6512e11..99c2478 100644
--- a/app/components/app/configuration/config/agent/agent-setting/item-panel.tsx
+++ b/app/components/app/configuration/config/agent/agent-setting/item-panel.tsx
@@ -5,10 +5,10 @@
 import Tooltip from '@/app/components/base/tooltip'
 type Props = {
   className?: string
-  icon: React.JSX.Element
+  icon: JSX.Element
   name: string
   description: string
-  children: React.JSX.Element
+  children: JSX.Element
 }
 
 const ItemPanel: FC<Props> = ({
@@ -19,10 +19,10 @@
   children,
 }) => {
   return (
-    <div className={cn(className, 'flex h-12 items-center justify-between rounded-lg bg-background-section-burn px-3')}>
+    <div className={cn(className, 'flex justify-between items-center h-12 px-3 rounded-lg bg-gray-50')}>
       <div className='flex items-center'>
         {icon}
-        <div className='ml-3 mr-1 text-sm font-semibold leading-6 text-text-secondary'>{name}</div>
+        <div className='ml-3 mr-1 leading-6 text-sm font-semibold text-gray-800'>{name}</div>
         <Tooltip
           popupContent={
             <div className='w-[180px]'>
diff --git a/app/components/app/configuration/config/agent/agent-tools/index.tsx b/app/components/app/configuration/config/agent/agent-tools/index.tsx
index 4b773c0..52e5d5d 100644
--- a/app/components/app/configuration/config/agent/agent-tools/index.tsx
+++ b/app/components/app/configuration/config/agent/agent-tools/index.tsx
@@ -1,24 +1,21 @@
 'use client'
 import type { FC } from 'react'
-import React, { useMemo, useState } from 'react'
+import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
-import copy from 'copy-to-clipboard'
 import produce from 'immer'
 import {
   RiDeleteBinLine,
-  RiEqualizer2Line,
-  RiInformation2Line,
+  RiHammerFill,
 } from '@remixicon/react'
 import { useFormattingChangedDispatcher } from '../../../debug/hooks'
 import SettingBuiltInTool from './setting-built-in-tool'
+import cn from '@/utils/classnames'
 import Panel from '@/app/components/app/configuration/base/feature-panel'
+import { InfoCircle } from '@/app/components/base/icons/src/vender/line/general'
 import OperationBtn from '@/app/components/app/configuration/base/operation-btn'
 import AppIcon from '@/app/components/base/app-icon'
-import Button from '@/app/components/base/button'
-import Indicator from '@/app/components/header/indicator'
 import Switch from '@/app/components/base/switch'
-import Toast from '@/app/components/base/toast'
 import ConfigContext from '@/context/debug-configuration'
 import type { AgentTool } from '@/types/app'
 import { type Collection, CollectionType } from '@/app/components/tools/types'
@@ -26,12 +23,7 @@
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
 import Tooltip from '@/app/components/base/tooltip'
 import { DefaultToolIcon } from '@/app/components/base/icons/src/public/other'
-import ConfigCredential from '@/app/components/tools/setting/build-in/config-credentials'
-import { updateBuiltInToolCredential } from '@/service/tools'
-import cn from '@/utils/classnames'
-import ToolPicker from '@/app/components/workflow/block-selector/tool-picker'
-import type { ToolDefaultValue } from '@/app/components/workflow/block-selector/types'
-import { canFindTool } from '@/utils'
+import AddToolModal from '@/app/components/tools/add-tool-modal'
 
 type AgentToolWithMoreInfo = AgentTool & { icon: any; collection?: Collection } | null
 const AgentTools: FC = () => {
@@ -41,19 +33,9 @@
   const formattingChangedDispatcher = useFormattingChangedDispatcher()
 
   const [currentTool, setCurrentTool] = useState<AgentToolWithMoreInfo>(null)
-  const currentCollection = useMemo(() => {
-    if (!currentTool) return null
-    const collection = collectionList.find(collection => canFindTool(collection.id, currentTool?.provider_id) && collection.type === currentTool?.provider_type)
-    return collection
-  }, [currentTool, collectionList])
   const [isShowSettingTool, setIsShowSettingTool] = useState(false)
-  const [isShowSettingAuth, setShowSettingAuth] = useState(false)
   const tools = (modelConfig?.agentConfig?.tools as AgentTool[] || []).map((item) => {
-    const collection = collectionList.find(
-      collection =>
-        canFindTool(collection.id, item.provider_id)
-        && collection.type === item.provider_type,
-    )
+    const collection = collectionList.find(collection => collection.id === item.provider_id && collection.type === item.provider_type)
     const icon = collection?.icon
     return {
       ...item,
@@ -73,40 +55,14 @@
     formattingChangedDispatcher()
   }
 
-  const handleToolAuthSetting = (value: AgentToolWithMoreInfo) => {
-    const newModelConfig = produce(modelConfig, (draft) => {
-      const tool = (draft.agentConfig.tools).find((item: any) => item.provider_id === value?.collection?.id && item.tool_name === value?.tool_name)
-      if (tool)
-        (tool as AgentTool).notAuthor = false
-    })
-    setModelConfig(newModelConfig)
-    setIsShowSettingTool(false)
-    formattingChangedDispatcher()
-  }
-
-  const [isDeleting, setIsDeleting] = useState<number>(-1)
-
-  const handleSelectTool = (tool: ToolDefaultValue) => {
-    const newModelConfig = produce(modelConfig, (draft) => {
-      draft.agentConfig.tools.push({
-        provider_id: tool.provider_id,
-        provider_type: tool.provider_type as CollectionType,
-        provider_name: tool.provider_name,
-        tool_name: tool.tool_name,
-        tool_label: tool.tool_label,
-        tool_parameters: tool.params,
-        notAuthor: !tool.is_team_authorization,
-        enabled: true,
-      })
-    })
-    setModelConfig(newModelConfig)
-  }
-
   return (
     <>
       <Panel
-        className={cn('mt-2', tools.length === 0 && 'pb-2')}
+        className="mt-2"
         noBodySpacing={tools.length === 0}
+        headerIcon={
+          <RiHammerFill className='w-4 h-4 text-primary-500' />
+        }
         title={
           <div className='flex items-center'>
             <div className='mr-1'>{t('appDebug.agent.tools.name')}</div>
@@ -121,181 +77,142 @@
         }
         headerRight={
           <div className='flex items-center'>
-            <div className='text-xs font-normal leading-[18px] text-text-tertiary'>{tools.filter(item => !!item.enabled).length}/{tools.length}&nbsp;{t('appDebug.agent.tools.enabled')}</div>
+            <div className='leading-[18px] text-xs font-normal text-gray-500'>{tools.filter((item: any) => !!item.enabled).length}/{tools.length}&nbsp;{t('appDebug.agent.tools.enabled')}</div>
             {tools.length < MAX_TOOLS_NUM && (
               <>
-                <div className='ml-3 mr-1 h-3.5 w-px bg-divider-regular'></div>
-                <ToolPicker
-                  trigger={<OperationBtn type="add" />}
-                  isShow={isShowChooseTool}
-                  onShowChange={setIsShowChooseTool}
-                  disabled={false}
-                  supportAddCustomTool
-                  onSelect={handleSelectTool}
-                  selectedTools={tools}
-                />
+                <div className='ml-3 mr-1 h-3.5 w-px bg-gray-200'></div>
+                <OperationBtn type="add" onClick={() => setIsShowChooseTool(true)} />
               </>
             )}
           </div>
         }
       >
-        <div className='grid grid-cols-1 flex-wrap items-center justify-between gap-1 2xl:grid-cols-2'>
+        <div className='grid gap-1 grid-cols-1 2xl:grid-cols-2 items-center flex-wrap justify-between'>
           {tools.map((item: AgentTool & { icon: any; collection?: Collection }, index) => (
             <div key={index}
-              className={cn(
-                'cursor group relative flex w-full items-center justify-between rounded-lg border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg p-1.5 pr-2 shadow-xs last-of-type:mb-0 hover:bg-components-panel-on-panel-item-bg-hover hover:shadow-sm',
-                isDeleting === index && 'border-state-destructive-border hover:bg-state-destructive-hover',
-              )}
+              className={cn((item.isDeleted || item.notAuthor) ? 'bg-white/50' : 'bg-white', (item.enabled && !item.isDeleted && !item.notAuthor) && 'shadow-xs', index > 1 && 'mt-1', 'group relative flex justify-between items-center last-of-type:mb-0  pl-2.5 py-2 pr-3 w-full  rounded-lg border-[0.5px] border-gray-200 ')}
             >
-              <div className='flex w-0 grow items-center'>
-                {item.isDeleted && <DefaultToolIcon className='h-5 w-5' />}
-                {!item.isDeleted && (
-                  <div className={cn((item.notAuthor || !item.enabled) && 'opacity-50')}>
-                    {typeof item.icon === 'string' && <div className='h-5 w-5 rounded-md bg-cover bg-center' style={{ backgroundImage: `url(${item.icon})` }} />}
-                    {typeof item.icon !== 'string' && <AppIcon className='rounded-md' size='xs' icon={item.icon?.content} background={item.icon?.background} />}
-                  </div>
-                )}
+              <div className='grow w-0 flex items-center'>
+                {(item.isDeleted || item.notAuthor)
+                  ? (
+                    <DefaultToolIcon className='w-6 h-6' />
+                  )
+                  : (
+                    typeof item.icon === 'string'
+                      ? (
+                        <div
+                          className='w-6 h-6 bg-cover bg-center rounded-md'
+                          style={{
+                            backgroundImage: `url(${item.icon})`,
+                          }}
+                        ></div>
+                      )
+                      : (
+                        <AppIcon
+                          className='rounded-md'
+                          size='tiny'
+                          icon={item.icon?.content}
+                          background={item.icon?.background}
+                        />
+                      ))}
                 <div
-                  className={cn(
-                    'system-xs-regular ml-1.5 flex w-0 grow items-center truncate',
-                    (item.isDeleted || item.notAuthor || !item.enabled) ? 'opacity-50' : '',
-                  )}
+                  className={cn((item.isDeleted || item.notAuthor) ? 'line-through opacity-50' : '', 'grow w-0 ml-2 leading-[18px] text-[13px] font-medium text-gray-800  truncate')}
                 >
-                  <span className='system-xs-medium pr-1.5 text-text-secondary'>{item.provider_type === CollectionType.builtIn ? item.provider_name.split('/').pop() : item.tool_label}</span>
-                  <span className='text-text-tertiary'>{item.tool_label}</span>
-                  {!item.isDeleted && (
-                    <Tooltip
-                      needsDelay
-                      popupContent={
-                        <div className='w-[180px]'>
-                          <div className='mb-1.5 text-text-secondary'>{item.tool_name}</div>
-                          <div className='mb-1.5 text-text-tertiary'>{t('tools.toolNameUsageTip')}</div>
-                          <div className='cursor-pointer text-text-accent' onClick={() => copy(item.tool_name)}>{t('tools.copyToolName')}</div>
-                        </div>
-                      }
-                    >
-                      <div className='h-4 w-4'>
-                        <div className='ml-0.5 hidden group-hover:inline-block'>
-                          <RiInformation2Line className='h-4 w-4 text-text-tertiary' />
-                        </div>
-                      </div>
-                    </Tooltip>
-                  )}
+                  <span className='text-gray-800 pr-2'>{item.provider_type === CollectionType.builtIn ? item.provider_name : item.tool_label}</span>
+                  <Tooltip
+                    popupContent={t('tools.toolNameUsageTip')}
+                  >
+                    <span className='text-gray-500'>{item.tool_name}</span>
+                  </Tooltip>
                 </div>
               </div>
-              <div className='ml-1 flex shrink-0 items-center'>
-                {item.isDeleted && (
-                  <div className='mr-2 flex items-center'>
-                    <Tooltip
-                      popupContent={t('tools.toolRemoved')}
-                      needsDelay
-                    >
-                      <div className='mr-1 cursor-pointer rounded-md p-1 hover:bg-black/5'>
-                        <AlertTriangle className='h-4 w-4 text-[#F79009]' />
-                      </div>
-                    </Tooltip>
-                    <div
-                      className='cursor-pointer rounded-md p-1 text-text-tertiary hover:text-text-destructive'
-                      onClick={() => {
+              <div className='shrink-0 ml-1 flex items-center'>
+                {(item.isDeleted || item.notAuthor)
+                  ? (
+                    <div className='flex items-center'>
+                      <Tooltip
+                        popupContent={t(`tools.${item.isDeleted ? 'toolRemoved' : 'notAuthorized'}`)}
+                        needsDelay
+                      >
+                        <div className='mr-1 p-1 rounded-md hover:bg-black/5  cursor-pointer' onClick={() => {
+                          if (item.notAuthor)
+                            setIsShowChooseTool(true)
+                        }}>
+                          <AlertTriangle className='w-4 h-4 text-[#F79009]' />
+                        </div>
+                      </Tooltip>
+
+                      <div className='p-1 rounded-md hover:bg-black/5 cursor-pointer' onClick={() => {
                         const newModelConfig = produce(modelConfig, (draft) => {
                           draft.agentConfig.tools.splice(index, 1)
                         })
                         setModelConfig(newModelConfig)
                         formattingChangedDispatcher()
-                      }}
-                      onMouseOver={() => setIsDeleting(index)}
-                      onMouseLeave={() => setIsDeleting(-1)}
-                    >
-                      <RiDeleteBinLine className='h-4 w-4' />
+                      }}>
+                        <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
+                      </div>
+                      <div className='ml-2 mr-3 w-px h-3.5 bg-gray-200'></div>
                     </div>
-                  </div>
-                )}
-                {!item.isDeleted && (
-                  <div className='mr-2 hidden items-center gap-1 group-hover:flex'>
-                    {!item.notAuthor && (
+                  )
+                  : (
+                    <div className='hidden group-hover:flex items-center'>
                       <Tooltip
                         popupContent={t('tools.setBuiltInTools.infoAndSetting')}
                         needsDelay
                       >
-                        <div className='cursor-pointer rounded-md p-1  hover:bg-black/5' onClick={() => {
+                        <div className='p-1 rounded-md hover:bg-black/5  cursor-pointer' onClick={() => {
                           setCurrentTool(item)
                           setIsShowSettingTool(true)
                         }}>
-                          <RiEqualizer2Line className='h-4 w-4 text-text-tertiary' />
+                          <InfoCircle className='w-4 h-4 text-gray-500' />
                         </div>
                       </Tooltip>
-                    )}
-                    <div
-                      className='cursor-pointer rounded-md p-1 text-text-tertiary hover:text-text-destructive'
-                      onClick={() => {
+
+                      <div className='p-1 rounded-md hover:bg-black/5 cursor-pointer' onClick={() => {
                         const newModelConfig = produce(modelConfig, (draft) => {
                           draft.agentConfig.tools.splice(index, 1)
                         })
                         setModelConfig(newModelConfig)
                         formattingChangedDispatcher()
-                      }}
-                      onMouseOver={() => setIsDeleting(index)}
-                      onMouseLeave={() => setIsDeleting(-1)}
-                    >
-                      <RiDeleteBinLine className='h-4 w-4' />
+                      }}>
+                        <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
+                      </div>
+                      <div className='ml-2 mr-3 w-px h-3.5 bg-gray-200'></div>
                     </div>
-                  </div>
-                )}
-                <div className={cn(item.isDeleted && 'opacity-50')}>
-                  {!item.notAuthor && (
-                    <Switch
-                      defaultValue={item.isDeleted ? false : item.enabled}
-                      disabled={item.isDeleted}
-                      size='md'
-                      onChange={(enabled) => {
-                        const newModelConfig = produce(modelConfig, (draft) => {
-                          (draft.agentConfig.tools[index] as any).enabled = enabled
-                        })
-                        setModelConfig(newModelConfig)
-                        formattingChangedDispatcher()
-                      }} />
                   )}
-                  {item.notAuthor && (
-                    <Button variant='secondary' size='small' onClick={() => {
-                      setCurrentTool(item)
-                      setShowSettingAuth(true)
-                    }}>
-                      {t('tools.notAuthorized')}
-                      <Indicator className='ml-2' color='orange' />
-                    </Button>
-                  )}
+                <div className={cn((item.isDeleted || item.notAuthor) && 'opacity-50')}>
+                  <Switch
+                    defaultValue={(item.isDeleted || item.notAuthor) ? false : item.enabled}
+                    disabled={(item.isDeleted || item.notAuthor)}
+                    size='md'
+                    onChange={(enabled) => {
+                      const newModelConfig = produce(modelConfig, (draft) => {
+                        (draft.agentConfig.tools[index] as any).enabled = enabled
+                      })
+                      setModelConfig(newModelConfig)
+                      formattingChangedDispatcher()
+                    }} />
                 </div>
               </div>
             </div>
           ))}
         </div >
       </Panel >
-      {isShowSettingTool && (
-        <SettingBuiltInTool
-          toolName={currentTool?.tool_name as string}
-          setting={currentTool?.tool_parameters}
-          collection={currentTool?.collection as Collection}
-          isBuiltIn={currentTool?.collection?.type === CollectionType.builtIn}
-          isModel={currentTool?.collection?.type === CollectionType.model}
-          onSave={handleToolSettingChange}
-          onHide={() => setIsShowSettingTool(false)}
-        />
+      {isShowChooseTool && (
+        <AddToolModal onHide={() => setIsShowChooseTool(false)} />
       )}
-      {isShowSettingAuth && (
-        <ConfigCredential
-          collection={currentCollection as any}
-          onCancel={() => setShowSettingAuth(false)}
-          onSaved={async (value) => {
-            await updateBuiltInToolCredential((currentCollection as any).name, value)
-            Toast.notify({
-              type: 'success',
-              message: t('common.api.actionSuccess'),
-            })
-            handleToolAuthSetting(currentTool)
-            setShowSettingAuth(false)
-          }}
-        />
-      )}
+      {
+        isShowSettingTool && (
+          <SettingBuiltInTool
+            toolName={currentTool?.tool_name as string}
+            setting={currentTool?.tool_parameters as any}
+            collection={currentTool?.collection as Collection}
+            isBuiltIn={currentTool?.collection?.type === CollectionType.builtIn}
+            isModel={currentTool?.collection?.type === CollectionType.model}
+            onSave={handleToolSettingChange}
+            onHide={() => setIsShowSettingTool(false)}
+          />)
+      }
     </>
   )
 }
diff --git a/app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool.tsx b/app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool.tsx
index 952ad66..69e18e3 100644
--- a/app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool.tsx
+++ b/app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool.tsx
@@ -3,30 +3,21 @@
 import React, { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
-import {
-  RiArrowLeftLine,
-  RiCloseLine,
-} from '@remixicon/react'
-import Drawer from '@/app/components/base/drawer'
-import Loading from '@/app/components/base/loading'
-import ActionButton from '@/app/components/base/action-button'
-import Icon from '@/app/components/plugins/card/base/card-icon'
-import OrgInfo from '@/app/components/plugins/card/base/org-info'
-import Description from '@/app/components/plugins/card/base/description'
-import TabSlider from '@/app/components/base/tab-slider-plain'
-
-import Button from '@/app/components/base/button'
+import cn from '@/utils/classnames'
+import Drawer from '@/app/components/base/drawer-plus'
 import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form'
 import { addDefaultValue, toolParametersToFormSchemas } from '@/app/components/tools/utils/to-form-schema'
 import type { Collection, Tool } from '@/app/components/tools/types'
 import { CollectionType } from '@/app/components/tools/types'
 import { fetchBuiltInToolList, fetchCustomToolList, fetchModelToolList, fetchWorkflowToolList } from '@/service/tools'
 import I18n from '@/context/i18n'
+import Button from '@/app/components/base/button'
+import Loading from '@/app/components/base/loading'
+import { DiagonalDividingLine } from '@/app/components/base/icons/src/public/common'
 import { getLanguage } from '@/i18n/language'
-import cn from '@/utils/classnames'
+import AppIcon from '@/app/components/base/app-icon'
 
 type Props = {
-  showBackButton?: boolean
   collection: Collection
   isBuiltIn?: boolean
   isModel?: boolean
@@ -38,7 +29,6 @@
 }
 
 const SettingBuiltInTool: FC<Props> = ({
-  showBackButton = false,
   collection,
   isBuiltIn = true,
   isModel = true,
@@ -56,8 +46,8 @@
   const [tools, setTools] = useState<Tool[]>([])
   const currTool = tools.find(tool => tool.name === toolName)
   const formSchemas = currTool ? toolParametersToFormSchemas(currTool.parameters) : []
-  const infoSchemas = formSchemas.filter(item => item.form === 'llm')
-  const settingSchemas = formSchemas.filter(item => item.form !== 'llm')
+  const infoSchemas = formSchemas.filter((item: any) => item.form === 'llm')
+  const settingSchemas = formSchemas.filter((item: any) => item.form !== 'llm')
   const hasSetting = settingSchemas.length > 0
   const [tempSetting, setTempSetting] = useState(setting)
   const [currType, setCurrType] = useState('info')
@@ -88,7 +78,7 @@
           setTempSetting(addDefaultValue(setting, formSchemas))
         }
       }
-      catch { }
+      catch (e) { }
       setIsLoading(false)
     })()
   }, [collection?.name, collection?.id, collection?.type])
@@ -99,45 +89,46 @@
 
   const isValid = (() => {
     let valid = true
-    settingSchemas.forEach((item) => {
+    settingSchemas.forEach((item: any) => {
       if (item.required && !tempSetting[item.name])
         valid = false
     })
     return valid
   })()
 
-  const getType = (type: string) => {
-    if (type === 'number-input')
-      return t('tools.setBuiltInTools.number')
-    if (type === 'text-input')
-      return t('tools.setBuiltInTools.string')
-    if (type === 'file')
-      return t('tools.setBuiltInTools.file')
-    return type
-  }
-
   const infoUI = (
-    <div className=''>
+    <div className='pt-2'>
+      <div className='leading-5 text-sm font-medium text-gray-900'>
+        {t('tools.setBuiltInTools.toolDescription')}
+      </div>
+      <div className='mt-1 leading-[18px] text-xs font-normal text-gray-600'>
+        {currTool?.description[language]}
+      </div>
+
       {infoSchemas.length > 0 && (
-        <div className='space-y-1 py-2'>
-          {infoSchemas.map((item, index) => (
-            <div key={index} className='py-1'>
-              <div className='flex items-center gap-2'>
-                <div className='code-sm-semibold text-text-secondary'>{item.label[language]}</div>
-                <div className='system-xs-regular text-text-tertiary'>
-                  {getType(item.type)}
+        <div className='mt-6'>
+          <div className='flex items-center mb-4 leading-[18px] text-xs font-semibold text-gray-500 uppercase'>
+            <div className='mr-3'>{t('tools.setBuiltInTools.parameters')}</div>
+            <div className='grow w-0 h-px bg-[#f3f4f6]'></div>
+          </div>
+          <div className='space-y-4'>
+            {infoSchemas.map((item: any, index) => (
+              <div key={index}>
+                <div className='flex items-center space-x-2 leading-[18px]'>
+                  <div className='text-[13px] font-semibold text-gray-900'>{item.label[language]}</div>
+                  <div className='text-xs font-medium text-gray-500'>{item.type === 'number-input' ? t('tools.setBuiltInTools.number') : t('tools.setBuiltInTools.string')}</div>
+                  {item.required && (
+                    <div className='text-xs font-medium text-[#EC4A0A]'>{t('tools.setBuiltInTools.required')}</div>
+                  )}
                 </div>
-                {item.required && (
-                  <div className='system-xs-medium text-text-warning-secondary'>{t('tools.setBuiltInTools.required')}</div>
+                {item.human_description && (
+                  <div className='mt-1 leading-[18px] text-xs font-normal text-gray-600'>
+                    {item.human_description?.[language]}
+                  </div>
                 )}
               </div>
-              {item.human_description && (
-                <div className='system-xs-regular mt-0.5 text-text-tertiary'>
-                  {item.human_description?.[language]}
-                </div>
-              )}
-            </div>
-          ))}
+            ))}
+          </div>
         </div>
       )}
     </div>
@@ -147,92 +138,86 @@
     <Form
       value={tempSetting}
       onChange={setTempSetting}
-      formSchemas={settingSchemas}
+      formSchemas={settingSchemas as any}
       isEditMode={false}
       showOnVariableMap={{}}
       validating={false}
+      inputClassName='!bg-gray-50'
       readonly={readonly}
     />
   )
 
   return (
     <Drawer
-      isOpen
+      isShow
+      onHide={onHide}
+      title={(
+        <div className='flex items-center'>
+          {typeof collection.icon === 'string'
+            ? (
+              <div
+                className='w-6 h-6 bg-cover bg-center rounded-md flex-shrink-0'
+                style={{
+                  backgroundImage: `url(${collection.icon})`,
+                }}
+              ></div>
+            )
+            : (
+              <AppIcon
+                className='rounded-md'
+                size='tiny'
+                icon={(collection.icon as any)?.content}
+                background={(collection.icon as any)?.background}
+              />
+            )}
+
+          <div className='ml-2 leading-6 text-base font-semibold text-gray-900'>{currTool?.label[language]}</div>
+          {(hasSetting && !readonly) && (<>
+            <DiagonalDividingLine className='mx-4' />
+            <div className='flex space-x-6'>
+              <div
+                className={cn(isInfoActive ? 'text-gray-900 font-semibold' : 'font-normal text-gray-600 cursor-pointer', 'relative text-base')}
+                onClick={() => setCurrType('info')}
+              >
+                {t('tools.setBuiltInTools.info')}
+                {isInfoActive && <div className='absolute left-0 bottom-[-16px] w-full h-0.5 bg-primary-600'></div>}
+              </div>
+              <div className={cn(!isInfoActive ? 'text-gray-900 font-semibold' : 'font-normal text-gray-600 cursor-pointer', 'relative text-base ')}
+                onClick={() => setCurrType('setting')}
+              >
+                {t('tools.setBuiltInTools.setting')}
+                {!isInfoActive && <div className='absolute left-0 bottom-[-16px] w-full h-0.5 bg-primary-600'></div>}
+              </div>
+            </div>
+          </>)}
+        </div>
+      )}
+      panelClassName='mt-[65px] !w-[405px]'
+      maxWidthClassName='!max-w-[405px]'
+      height='calc(100vh - 65px)'
+      headerClassName='!border-b-black/5'
+      body={
+        <div className='h-full pt-3'>
+          {isLoading
+            ? <div className='flex h-full items-center'>
+              <Loading type='app' />
+            </div>
+            : (<div className='flex flex-col h-full'>
+              <div className='grow h-0 overflow-y-auto  px-6'>
+                {isInfoActive ? infoUI : settingUI}
+              </div>
+              {!readonly && !isInfoActive && (
+                <div className='mt-2 shrink-0 flex justify-end py-4 px-6  space-x-2 rounded-b-[10px] bg-gray-50 border-t border-black/5'>
+                  <Button className='flex items-center h-8 !px-3 !text-[13px] font-medium !text-gray-700' onClick={onHide}>{t('common.operation.cancel')}</Button>
+                  <Button className='flex items-center h-8 !px-3 !text-[13px] font-medium' variant='primary' disabled={!isValid} onClick={() => onSave?.(addDefaultValue(tempSetting, formSchemas))}>{t('common.operation.save')}</Button>
+                </div>
+              )}
+            </div>)}
+        </div>
+      }
+      isShowMask={false}
       clickOutsideNotOpen={false}
-      onClose={onHide}
-      footer={null}
-      mask={false}
-      positionCenter={false}
-      panelClassName={cn('mb-2 mr-2 mt-[64px] !w-[420px] !max-w-[420px] justify-start rounded-2xl border-[0.5px] border-components-panel-border !bg-components-panel-bg !p-0 shadow-xl')}
-    >
-      <>
-        {isLoading && <Loading type='app' />}
-        {!isLoading && (
-          <>
-            {/* header */}
-            <div className='relative border-b border-divider-subtle p-4 pb-3'>
-              <div className='absolute right-3 top-3'>
-                <ActionButton onClick={onHide}>
-                  <RiCloseLine className='h-4 w-4' />
-                </ActionButton>
-              </div>
-              {showBackButton && (
-                <div
-                  className='system-xs-semibold-uppercase mb-2 flex cursor-pointer items-center gap-1 text-text-accent-secondary'
-                  onClick={onHide}
-                >
-                  <RiArrowLeftLine className='h-4 w-4' />
-                  BACK
-                </div>
-              )}
-              <div className='flex items-center gap-1'>
-                <Icon size='tiny' className='h-6 w-6' src={collection.icon} />
-                <OrgInfo
-                  packageNameClassName='w-auto'
-                  orgName={collection.author}
-                  packageName={collection.name.split('/').pop() || ''}
-                />
-              </div>
-              <div className='system-md-semibold mt-1 text-text-primary'>{currTool?.label[language]}</div>
-              {!!currTool?.description[language] && (
-                <Description className='mt-3' text={currTool.description[language]} descriptionLineRows={2}></Description>
-              )}
-            </div>
-            {/* form */}
-            <div className='h-full'>
-              <div className='flex h-full flex-col'>
-                {(hasSetting && !readonly) ? (
-                  <TabSlider
-                    className='mt-1 shrink-0 px-4'
-                    itemClassName='py-3'
-                    noBorderBottom
-                    value={currType}
-                    onChange={(value) => {
-                      setCurrType(value)
-                    }}
-                    options={[
-                      { value: 'info', text: t('tools.setBuiltInTools.parameters')! },
-                      { value: 'setting', text: t('tools.setBuiltInTools.setting')! },
-                    ]}
-                  />
-                ) : (
-                  <div className='system-sm-semibold-uppercase p-4 pb-1 text-text-primary'>{t('tools.setBuiltInTools.parameters')}</div>
-                )}
-                <div className='h-0 grow overflow-y-auto px-4'>
-                  {isInfoActive ? infoUI : settingUI}
-                </div>
-                {!readonly && !isInfoActive && (
-                  <div className='mt-2 flex shrink-0 justify-end space-x-2 rounded-b-[10px]  border-t border-divider-regular bg-components-panel-bg px-6 py-4'>
-                    <Button className='flex h-8 items-center !px-3 !text-[13px] font-medium ' onClick={onHide}>{t('common.operation.cancel')}</Button>
-                    <Button className='flex h-8 items-center !px-3 !text-[13px] font-medium' variant='primary' disabled={!isValid} onClick={() => onSave?.(addDefaultValue(tempSetting, formSchemas))}>{t('common.operation.save')}</Button>
-                  </div>
-                )}
-              </div>
-            </div>
-          </>
-        )}
-      </>
-    </Drawer>
+    />
   )
 }
 export default React.memo(SettingBuiltInTool)
diff --git a/app/components/app/configuration/config/agent/prompt-editor.tsx b/app/components/app/configuration/config/agent/prompt-editor.tsx
index 7f7f140..1532c96 100644
--- a/app/components/app/configuration/config/agent/prompt-editor.tsx
+++ b/app/components/app/configuration/config/agent/prompt-editor.tsx
@@ -14,9 +14,8 @@
 import ConfigContext from '@/context/debug-configuration'
 import { useModalContext } from '@/context/modal-context'
 import { useToastContext } from '@/app/components/base/toast'
-import s from '@/app/components/app/configuration/config-prompt/style.module.css'
-import { noop } from 'lodash-es'
 
+import s from '@/app/components/app/configuration/config-prompt/style.module.css'
 type Props = {
   className?: string
   type: 'first-prompt' | 'next-iteration'
@@ -76,12 +75,12 @@
   return (
     <div className={cn(className, s.gradientBorder, 'relative')}>
       <div className='rounded-xl bg-white'>
-        <div className={cn(s.boxHeader, 'flex h-11 items-center justify-between rounded-tl-xl rounded-tr-xl bg-white pb-1 pl-4 pr-3 pt-2 hover:shadow-xs')}>
+        <div className={cn(s.boxHeader, 'flex justify-between items-center h-11 pt-2 pr-3 pb-1 pl-4 rounded-tl-xl rounded-tr-xl bg-white hover:shadow-xs')}>
           <div className='text-sm font-semibold uppercase text-indigo-800'>{t(`appDebug.agent.${isFirstPrompt ? 'firstPrompt' : 'nextIteration'}`)}</div>
           <div className={cn(s.optionWrap, 'items-center space-x-1')}>
             {!isCopied
               ? (
-                <Clipboard className='h-6 w-6 cursor-pointer p-1 text-gray-500' onClick={() => {
+                <Clipboard className='h-6 w-6 p-1 text-gray-500 cursor-pointer' onClick={() => {
                   copy(value)
                   setIsCopied(true)
                 }} />
@@ -91,7 +90,7 @@
               )}
           </div>
         </div>
-        <div className={cn(editorHeight, ' min-h-[102px] overflow-y-auto px-4 text-sm text-gray-700')}>
+        <div className={cn(editorHeight, ' px-4 min-h-[102px] overflow-y-auto text-sm text-gray-700')}>
           <PromptEditor
             className={editorHeight}
             value={value}
@@ -129,18 +128,18 @@
                 user: '',
                 assistant: '',
               },
-              onEditRole: noop,
+              onEditRole: () => { },
             }}
             queryBlock={{
               show: false,
               selectable: false,
             }}
             onChange={onChange}
-            onBlur={noop}
+            onBlur={() => { }}
           />
         </div>
-        <div className='flex pb-2 pl-4'>
-          <div className="h-[18px] rounded-md bg-gray-100 px-1 text-xs leading-[18px] text-gray-500">{value.length}</div>
+        <div className='pl-4 pb-2 flex'>
+          <div className="h-[18px] leading-[18px] px-1 rounded-md bg-gray-100 text-xs text-gray-500">{value.length}</div>
         </div>
       </div>
     </div>
diff --git a/app/components/app/configuration/config/assistant-type-picker/index.tsx b/app/components/app/configuration/config/assistant-type-picker/index.tsx
index 874c6bc..336d736 100644
--- a/app/components/app/configuration/config/assistant-type-picker/index.tsx
+++ b/app/components/app/configuration/config/assistant-type-picker/index.tsx
@@ -40,19 +40,19 @@
 const SelectItem: FC<ItemProps> = ({ text, value, Icon, isChecked, description, onClick, disabled }) => {
   return (
     <div
-      className={cn(disabled ? 'opacity-50' : 'cursor-pointer', isChecked ? 'border-[2px] border-indigo-600 shadow-sm' : 'border border-gray-100', 'mb-2 rounded-xl bg-gray-25 p-3 pr-4 hover:bg-gray-50')}
+      className={cn(disabled ? 'opacity-50' : 'cursor-pointer', isChecked ? 'border-[2px] border-indigo-600 shadow-sm' : 'border border-gray-100', 'mb-2 p-3 pr-4 rounded-xl bg-gray-25 hover:bg-gray-50')}
       onClick={() => !disabled && onClick(value)}
     >
       <div className='flex items-center justify-between'>
         <div className='flex items-center '>
-          <div className='mr-3 rounded-lg bg-indigo-50 p-1'>
-            <Icon className='h-4 w-4 text-indigo-600' />
+          <div className='mr-3 p-1 bg-indigo-50 rounded-lg'>
+            <Icon className='w-4 h-4 text-indigo-600' />
           </div>
-          <div className='text-sm font-medium leading-5 text-gray-900'>{text}</div>
+          <div className='leading-5 text-sm font-medium text-gray-900'>{text}</div>
         </div>
         <Radio isChecked={isChecked} />
       </div>
-      <div className='ml-9 text-xs font-normal leading-[18px] text-gray-500'>{description}</div>
+      <div className='ml-9 leading-[18px] text-xs font-normal text-gray-500'>{description}</div>
     </div>
   )
 }
@@ -83,7 +83,7 @@
     <>
       <div className='my-4 h-[1px] bg-gray-100'></div>
       <div
-        className={cn(isAgent ? 'group cursor-pointer hover:bg-primary-50' : 'opacity-30', 'rounded-xl bg-gray-50 p-3 pr-4 ')}
+        className={cn(isAgent ? 'group cursor-pointer hover:bg-primary-50' : 'opacity-30', 'p-3 pr-4 rounded-xl bg-gray-50 ')}
         onClick={() => {
           if (isAgent) {
             setOpen(false)
@@ -93,14 +93,14 @@
       >
         <div className='flex items-center justify-between'>
           <div className='flex items-center '>
-            <div className='mr-3 rounded-lg bg-gray-200 p-1 group-hover:bg-white'>
-              <Settings04 className='h-4 w-4 text-gray-600 group-hover:text-[#155EEF]' />
+            <div className='mr-3 p-1 bg-gray-200 group-hover:bg-white rounded-lg'>
+              <Settings04 className='w-4 h-4 text-gray-600 group-hover:text-[#155EEF]' />
             </div>
-            <div className='text-sm font-medium leading-5 text-gray-900 group-hover:text-[#155EEF]'>{t('appDebug.agent.setting.name')}</div>
+            <div className='leading-5 text-sm font-medium text-gray-900 group-hover:text-[#155EEF]'>{t('appDebug.agent.setting.name')}</div>
           </div>
-          <ArrowUpRight className='h-4 w-4 text-gray-500 group-hover:text-[#155EEF]' />
+          <ArrowUpRight className='w-4 h-4 text-gray-500 group-hover:text-[#155EEF]' />
         </div>
-        <div className='ml-9 text-xs font-normal leading-[18px] text-gray-500'>{t('appDebug.agent.setting.description')}</div>
+        <div className='ml-9 leading-[18px] text-xs font-normal text-gray-500'>{t('appDebug.agent.setting.description')}</div>
       </div>
     </>
   )
@@ -116,15 +116,15 @@
         }}
       >
         <PortalToFollowElemTrigger onClick={() => setOpen(v => !v)}>
-          <div className={cn(open && 'bg-gray-50', 'flex h-8 cursor-pointer select-none items-center space-x-1 rounded-lg border border-black/5 px-3 text-indigo-600')}>
-            {isAgent ? <BubbleText className='h-3 w-3' /> : <CuteRobot className='h-3 w-3' />}
+          <div className={cn(open && 'bg-gray-50', 'flex items-center h-8 px-3 border border-black/5 rounded-lg cursor-pointer select-none space-x-1 text-indigo-600')}>
+            {isAgent ? <BubbleText className='w-3 h-3' /> : <CuteRobot className='w-3 h-3' />}
             <div className='text-xs font-medium'>{t(`appDebug.assistantType.${isAgent ? 'agentAssistant' : 'chatAssistant'}.name`)}</div>
-            <RiArrowDownSLine className='h-3 w-3' />
+            <RiArrowDownSLine className='w-3 h-3' />
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent style={{ zIndex: 1000 }}>
-          <div className='relative left-0.5 w-[480px] rounded-xl border border-black/8 bg-white p-6 shadow-lg'>
-            <div className='mb-2 text-sm font-semibold leading-5 text-gray-900'>{t('appDebug.assistantType.name')}</div>
+          <div className='relative left-0.5 p-6 bg-white border border-black/8 shadow-lg rounded-xl w-[480px]'>
+            <div className='mb-2 leading-5 text-sm font-semibold text-gray-900'>{t('appDebug.assistantType.name')}</div>
             <SelectItem
               Icon={BubbleText}
               value='chat'
diff --git a/app/components/app/configuration/config/automatic/automatic-btn.tsx b/app/components/app/configuration/config/automatic/automatic-btn.tsx
index b2d4e30..f709760 100644
--- a/app/components/app/configuration/config/automatic/automatic-btn.tsx
+++ b/app/components/app/configuration/config/automatic/automatic-btn.tsx
@@ -2,10 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiSparklingFill,
-} from '@remixicon/react'
-import Button from '@/app/components/base/button'
+import { Generator } from '@/app/components/base/icons/src/vender/other'
 
 export type IAutomaticBtnProps = {
   onClick: () => void
@@ -16,10 +13,12 @@
   const { t } = useTranslation()
 
   return (
-    <Button variant='secondary-accent' size='small' onClick={onClick}>
-      <RiSparklingFill className='mr-1 h-3.5 w-3.5' />
-      <span className=''>{t('appDebug.operation.automatic')}</span>
-    </Button>
+    <div className='flex space-x-1 items-center !h-8 cursor-pointer'
+      onClick={onClick}
+    >
+      <Generator className='w-3.5 h-3.5 text-indigo-600' />
+      <span className='text-xs font-semibold text-indigo-600'>{t('appDebug.operation.automatic')}</span>
+    </div>
   )
 }
 export default React.memo(AutomaticBtn)
diff --git a/app/components/app/configuration/config/automatic/get-automatic-res.tsx b/app/components/app/configuration/config/automatic/get-automatic-res.tsx
index e4b333d..0a20f4b 100644
--- a/app/components/app/configuration/config/automatic/get-automatic-res.tsx
+++ b/app/components/app/configuration/config/automatic/get-automatic-res.tsx
@@ -54,11 +54,11 @@
 }> = ({ Icon, text, onClick }) => {
   return (
     <div
-      className='mr-1 mt-2 flex h-7 shrink-0 cursor-pointer items-center rounded-lg bg-components-button-secondary-bg px-2'
+      className='mt-2 mr-1 shrink-0 flex h-7 items-center px-2 bg-gray-100 rounded-lg cursor-pointer'
       onClick={onClick}
     >
-      <Icon className='h-4 w-4 text-text-tertiary'></Icon>
-      <div className='ml-1 text-xs font-medium text-text-secondary'>{text}</div>
+      <Icon className='w-4 h-4 text-gray-500'></Icon>
+      <div className='ml-1 text-xs font-medium text-gray-700'>{text}</div>
     </div>
   )
 }
@@ -138,16 +138,16 @@
   const [res, setRes] = React.useState<AutomaticRes | null>(null)
 
   const renderLoading = (
-    <div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3'>
+    <div className='w-0 grow flex flex-col items-center justify-center h-full space-y-3'>
       <Loading />
-      <div className='text-[13px] text-text-tertiary'>{t('appDebug.generate.loading')}</div>
+      <div className='text-[13px] text-gray-400'>{t('appDebug.generate.loading')}</div>
     </div>
   )
 
   const renderNoData = (
-    <div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3 px-8'>
-      <Generator className='h-14 w-14 text-text-tertiary' />
-      <div className='text-center text-[13px] font-normal leading-5 text-text-tertiary'>
+    <div className='w-0 grow flex flex-col items-center px-8 justify-center h-full space-y-3'>
+      <Generator className='w-14 h-14 text-gray-300' />
+      <div className='leading-5 text-center text-[13px] font-normal text-gray-400'>
         <div>{t('appDebug.generate.noDataLine1')}</div>
         <div>{t('appDebug.generate.noDataLine2')}</div>
       </div>
@@ -189,18 +189,18 @@
     <Modal
       isShow={isShow}
       onClose={onClose}
-      className='min-w-[1140px] !p-0'
+      className='!p-0 min-w-[1140px]'
       closable
     >
       <div className='flex h-[680px] flex-wrap'>
-        <div className='h-full w-[570px] shrink-0 overflow-y-auto border-r border-divider-regular p-6'>
+        <div className='w-[570px] shrink-0 p-6 h-full overflow-y-auto border-r border-gray-100'>
           <div className='mb-8'>
-            <div className={`text-lg font-bold leading-[28px] ${s.textGradient}`}>{t('appDebug.generate.title')}</div>
-            <div className='mt-1 text-[13px] font-normal text-text-tertiary'>{t('appDebug.generate.description')}</div>
+            <div className={`leading-[28px] text-lg font-bold ${s.textGradient}`}>{t('appDebug.generate.title')}</div>
+            <div className='mt-1 text-[13px] font-normal text-gray-500'>{t('appDebug.generate.description')}</div>
           </div>
-          <div className='mb-8 flex items-center'>
+          <div className='flex items-center mb-8'>
             <ModelIcon
-              className='mr-1.5 shrink-0 '
+              className='shrink-0 mr-1.5 '
               provider={currentProvider}
               modelName={currentModel?.model}
             />
@@ -213,8 +213,8 @@
           </div>
           <div >
             <div className='flex items-center'>
-              <div className='mr-3 shrink-0 text-xs font-semibold uppercase leading-[18px] text-text-tertiary'>{t('appDebug.generate.tryIt')}</div>
-              <div className='h-px grow' style={{
+              <div className='mr-3 shrink-0 leading-[18px] text-xs font-semibold text-gray-500 uppercase'>{t('appDebug.generate.tryIt')}</div>
+              <div className='grow h-px' style={{
                 background: 'linear-gradient(to right, rgba(243, 244, 246, 1), rgba(243, 244, 246, 0))',
               }}></div>
             </div>
@@ -232,7 +232,7 @@
           {/* inputs */}
           <div className='mt-6'>
             <div className='text-[0px]'>
-              <div className='mb-2 text-sm font-medium leading-5 text-text-primary'>{t('appDebug.generate.instruction')}</div>
+              <div className='mb-2 leading-5 text-sm font-medium text-gray-900'>{t('appDebug.generate.instruction')}</div>
               <Textarea
                 className="h-[200px] resize-none"
                 placeholder={t('appDebug.generate.instructionPlaceHolder') as string}
@@ -247,7 +247,7 @@
                 onClick={onGenerate}
                 disabled={isLoading}
               >
-                <Generator className='h-4 w-4 text-white' />
+                <Generator className='w-4 h-4 text-white' />
                 <span className='text-xs font-semibold text-white'>{t('appDebug.generate.generate')}</span>
               </Button>
             </div>
@@ -255,8 +255,8 @@
         </div>
 
         {(!isLoading && res) && (
-          <div className='h-full w-0 grow p-6 pb-0'>
-            <div className='mb-3 shrink-0 text-base font-semibold leading-[160%] text-text-secondary'>{t('appDebug.generate.resTitle')}</div>
+          <div className='w-0 grow p-6 pb-0 h-full'>
+            <div className='shrink-0 mb-3 leading-[160%] text-base font-semibold text-gray-800'>{t('appDebug.generate.resTitle')}</div>
             <div className={cn('max-h-[555px] overflow-y-auto', !isInLLMNode && 'pb-2')}>
               <ConfigPrompt
                 mode={mode}
@@ -283,17 +283,17 @@
                     <div className='mt-7'>
                       <GroupName name={t('appDebug.feature.groupChat.title')} />
                       <div
-                        className='mb-1 rounded-xl border-l-[0.5px] border-t-[0.5px] border-effects-highlight bg-background-section-burn p-3'
+                        className='mb-1 p-3 border-t-[0.5px] border-l-[0.5px] border-effects-highlight rounded-xl bg-background-section-burn'
                       >
                         <div className='mb-2 flex items-center gap-2'>
-                          <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-                            <LoveMessage className='h-4 w-4 text-text-primary-on-surface' />
+                          <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+                            <LoveMessage className='w-4 h-4 text-text-primary-on-surface' />
                           </div>
-                          <div className='system-sm-semibold flex grow items-center text-text-secondary'>
+                          <div className='grow flex items-center text-text-secondary system-sm-semibold'>
                             {t('appDebug.feature.conversationOpener.title')}
                           </div>
                         </div>
-                        <div className='system-xs-regular min-h-8 text-text-tertiary'>{res.opening_statement}</div>
+                        <div className='min-h-8 text-text-tertiary system-xs-regular'>{res.opening_statement}</div>
                       </div>
                     </div>
                   )}
@@ -301,7 +301,7 @@
               )}
             </div>
 
-            <div className='flex justify-end bg-background-default py-4'>
+            <div className='flex justify-end py-4 bg-white'>
               <Button onClick={onClose}>{t('common.operation.cancel')}</Button>
               <Button variant='primary' className='ml-2' onClick={() => {
                 setShowConfirmOverwrite(true)
diff --git a/app/components/app/configuration/config/automatic/style.module.css b/app/components/app/configuration/config/automatic/style.module.css
index 15bedd8..7ad3180 100644
--- a/app/components/app/configuration/config/automatic/style.module.css
+++ b/app/components/app/configuration/config/automatic/style.module.css
@@ -4,4 +4,4 @@
   -webkit-text-fill-color: transparent;
   background-clip: text;
   text-fill-color: transparent;
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx b/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx
index ddae2f5..85c522c 100644
--- a/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx
+++ b/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx
@@ -100,15 +100,15 @@
   const [showConfirmOverwrite, setShowConfirmOverwrite] = React.useState(false)
 
   const renderLoading = (
-    <div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3'>
+    <div className='w-0 grow flex flex-col items-center justify-center h-full space-y-3'>
       <Loading />
       <div className='text-[13px] text-gray-400'>{t('appDebug.codegen.loading')}</div>
     </div>
   )
   const renderNoData = (
-    <div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3 px-8'>
-      <Generator className='h-14 w-14 text-gray-300' />
-      <div className='text-center text-[13px] font-normal leading-5 text-gray-400'>
+    <div className='w-0 grow flex flex-col items-center px-8 justify-center h-full space-y-3'>
+      <Generator className='w-14 h-14 text-gray-300' />
+      <div className='leading-5 text-center text-[13px] font-normal text-gray-400'>
         <div>{t('appDebug.codegen.noDataLine1')}</div>
         <div>{t('appDebug.codegen.noDataLine2')}</div>
       </div>
@@ -119,18 +119,18 @@
     <Modal
       isShow={isShow}
       onClose={onClose}
-      className='min-w-[1140px] !p-0'
+      className='!p-0 min-w-[1140px]'
       closable
     >
       <div className='relative flex h-[680px] flex-wrap'>
-        <div className='h-full w-[570px] shrink-0 overflow-y-auto border-r border-gray-100 p-8'>
+        <div className='w-[570px] shrink-0 p-8 h-full overflow-y-auto border-r border-gray-100'>
           <div className='mb-8'>
-            <div className={'text-lg font-bold leading-[28px]'}>{t('appDebug.codegen.title')}</div>
+            <div className={'leading-[28px] text-lg font-bold'}>{t('appDebug.codegen.title')}</div>
             <div className='mt-1 text-[13px] font-normal text-gray-500'>{t('appDebug.codegen.description')}</div>
           </div>
           <div className='flex items-center'>
             <ModelIcon
-              className='mr-1.5 shrink-0'
+              className='shrink-0 mr-1.5'
               provider={currentProvider}
               modelName={currentModel?.model}
             />
@@ -143,9 +143,9 @@
           </div>
           <div className='mt-6'>
             <div className='text-[0px]'>
-              <div className='mb-2 text-sm font-medium leading-5 text-gray-900'>{t('appDebug.codegen.instruction')}</div>
+              <div className='mb-2 leading-5 text-sm font-medium text-gray-900'>{t('appDebug.codegen.instruction')}</div>
               <textarea
-                className="h-[200px] w-full overflow-y-auto rounded-lg bg-gray-50 px-3 py-2 text-sm"
+                className="w-full h-[200px] overflow-y-auto px-3 py-2 text-sm bg-gray-50 rounded-lg"
                 placeholder={t('appDebug.codegen.instructionPlaceholder') || ''}
                 value={instruction}
                 onChange={e => setInstruction(e.target.value)}
@@ -159,7 +159,7 @@
                 onClick={onGenerate}
                 disabled={isLoading}
               >
-                <Generator className='h-4 w-4 text-white' />
+                <Generator className='w-4 h-4 text-white' />
                 <span className='text-xs font-semibold text-white'>{t('appDebug.codegen.generate')}</span>
               </Button>
             </div>
@@ -168,8 +168,8 @@
         {isLoading && renderLoading}
         {!isLoading && !res && renderNoData}
         {(!isLoading && res) && (
-          <div className='h-full w-0 grow p-6 pb-0'>
-            <div className='mb-3 shrink-0 text-base font-semibold leading-[160%] text-gray-800'>{t('appDebug.codegen.resTitle')}</div>
+          <div className='w-0 grow p-6 pb-0 h-full'>
+            <div className='shrink-0 mb-3 leading-[160%] text-base font-semibold text-gray-800'>{t('appDebug.codegen.resTitle')}</div>
             <div className={cn('max-h-[555px] overflow-y-auto', !isInLLMNode && 'pb-2')}>
               <ConfigPrompt
                 mode={mode}
@@ -186,7 +186,7 @@
                   {res?.code && (
                     <div className='mt-4'>
                       <h3 className='mb-2 text-sm font-medium text-gray-900'>{t('appDebug.codegen.generatedCode')}</h3>
-                      <pre className='overflow-x-auto rounded-lg bg-gray-50 p-4'>
+                      <pre className='p-4 bg-gray-50 rounded-lg overflow-x-auto'>
                         <code className={`language-${res.language}`}>
                           {res.code}
                         </code>
@@ -194,7 +194,7 @@
                     </div>
                   )}
                   {res?.error && (
-                    <div className='mt-4 rounded-lg bg-red-50 p-4'>
+                    <div className='mt-4 p-4 bg-red-50 rounded-lg'>
                       <p className='text-sm text-red-600'>{res.error}</p>
                     </div>
                   )}
@@ -202,7 +202,7 @@
               )}
             </div>
 
-            <div className='flex justify-end bg-white py-4'>
+            <div className='flex justify-end py-4 bg-white'>
               <Button onClick={onClose}>{t('common.operation.cancel')}</Button>
               <Button variant='primary' className='ml-2' onClick={() => {
                 setShowConfirmOverwrite(true)
diff --git a/app/components/app/configuration/config/config-document.tsx b/app/components/app/configuration/config/config-document.tsx
index 9300bbc..1ac6da0 100644
--- a/app/components/app/configuration/config/config-document.tsx
+++ b/app/components/app/configuration/config/config-document.tsx
@@ -48,14 +48,14 @@
     return null
 
   return (
-    <div className='mt-2 flex items-center gap-2 rounded-xl border-l-[0.5px] border-t-[0.5px] bg-background-section-burn p-2'>
+    <div className='mt-2 flex items-center gap-2 p-2 rounded-xl border-t-[0.5px] border-l-[0.5px] bg-background-section-burn'>
       <div className='shrink-0 p-1'>
-        <div className='rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-indigo-indigo-600 p-1 shadow-xs'>
-          <Document className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-indigo-indigo-600'>
+          <Document className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       </div>
-      <div className='flex grow items-center'>
-        <div className='system-sm-semibold mr-1 text-text-secondary'>{t('appDebug.feature.documentUpload.title')}</div>
+      <div className='grow flex items-center'>
+        <div className='mr-1 text-text-secondary system-sm-semibold'>{t('appDebug.feature.documentUpload.title')}</div>
         <Tooltip
           popupContent={
             <div className='w-[180px]' >
@@ -64,8 +64,8 @@
           }
         />
       </div>
-      <div className='flex shrink-0 items-center'>
-        <div className='ml-1 mr-3 h-3.5 w-[1px] bg-divider-subtle'></div>
+      <div className='shrink-0 flex items-center'>
+        <div className='ml-1 mr-3 w-[1px] h-3.5 bg-divider-subtle'></div>
         <Switch
           defaultValue={isDocumentEnabled}
           onChange={handleChange}
diff --git a/app/components/app/configuration/config/index.tsx b/app/components/app/configuration/config/index.tsx
index dc20955..39fdd50 100644
--- a/app/components/app/configuration/config/index.tsx
+++ b/app/components/app/configuration/config/index.tsx
@@ -12,7 +12,7 @@
 import ConfigContext from '@/context/debug-configuration'
 import ConfigPrompt from '@/app/components/app/configuration/config-prompt'
 import ConfigVar from '@/app/components/app/configuration/config-var'
-import type { ModelConfig, PromptVariable } from '@/models/debug'
+import { type ModelConfig, type PromptVariable } from '@/models/debug'
 import type { AppType } from '@/types/app'
 import { ModelModeType } from '@/types/app'
 
@@ -57,7 +57,7 @@
   return (
     <>
       <div
-        className="relative h-0 grow overflow-y-auto px-6 pb-[50px]"
+        className="grow h-0 relative px-6 pb-[50px] overflow-y-auto"
       >
         {/* Template */}
         <ConfigPrompt
diff --git a/app/components/app/configuration/ctrl-btn-group/index.tsx b/app/components/app/configuration/ctrl-btn-group/index.tsx
index e126e12..9ed1bf3 100644
--- a/app/components/app/configuration/ctrl-btn-group/index.tsx
+++ b/app/components/app/configuration/ctrl-btn-group/index.tsx
@@ -13,8 +13,8 @@
 const ContrlBtnGroup: FC<IContrlBtnGroupProps> = ({ onSave, onReset }) => {
   const { t } = useTranslation()
   return (
-    <div className="fixed bottom-0 left-[224px] h-[64px] w-[519px]">
-      <div className={`${s.ctrlBtn} flex h-full items-center gap-2  bg-white pl-4`}>
+    <div className="fixed left-[224px] bottom-0 w-[519px] h-[64px]">
+      <div className={`${s.ctrlBtn} flex items-center h-full pl-4  gap-2 bg-white`}>
         <Button variant='primary' onClick={onSave}>{t('appDebug.operation.applyConfig')}</Button>
         <Button onClick={onReset}>{t('appDebug.operation.resetConfig')}</Button>
       </div>
diff --git a/app/components/app/configuration/ctrl-btn-group/style.module.css b/app/components/app/configuration/ctrl-btn-group/style.module.css
index 3e87486..c7250b8 100644
--- a/app/components/app/configuration/ctrl-btn-group/style.module.css
+++ b/app/components/app/configuration/ctrl-btn-group/style.module.css
@@ -3,4 +3,4 @@
     right: -16px;
     bottom: -16px;
     border-top: 1px solid #F3F4F6;
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/dataset-config/card-item/index.tsx b/app/components/app/configuration/dataset-config/card-item/index.tsx
index 1220c75..a528b22 100644
--- a/app/components/app/configuration/dataset-config/card-item/index.tsx
+++ b/app/components/app/configuration/dataset-config/card-item/index.tsx
@@ -28,24 +28,24 @@
     <div
       className={
         cn(className, s.card,
-          'relative flex cursor-pointer items-center  rounded-xl border border-gray-200 bg-white px-3  py-2.5')
+          'relative flex items-center rounded-xl  px-3 py-2.5 bg-white border border-gray-200  cursor-pointer')
       }>
       <div className='flex items-center space-x-2'>
         <div className={cn(!config.embedding_available && 'opacity-50')}>
           <TypeIcon type="upload_file" />
         </div>
         <div>
-          <div className='mr-1 flex w-[160px] items-center'>
-            <div className={cn('overflow-hidden text-ellipsis whitespace-nowrap text-[13px] font-medium leading-[18px] text-gray-800', !config.embedding_available && 'opacity-50')}>{config.name}</div>
+          <div className='flex items-center w-[160px] mr-1'>
+            <div className={cn('text-[13px] leading-[18px] font-medium text-gray-800 overflow-hidden text-ellipsis whitespace-nowrap', !config.embedding_available && 'opacity-50')}>{config.name}</div>
             {!config.embedding_available && (
               <Tooltip
                 popupContent={t('dataset.unavailableTip')}
               >
-                <span className='inline-flex shrink-0 whitespace-nowrap rounded-md border border-gray-200 px-1 text-xs font-normal leading-[18px] text-gray-500'>{t('dataset.unavailable')}</span>
+                <span className='shrink-0 inline-flex whitespace-nowrap px-1 border border-gray-200 rounded-md text-gray-500 text-xs font-normal leading-[18px]'>{t('dataset.unavailable')}</span>
               </Tooltip>
             )}
           </div>
-          <div className={cn('flex max-w-[150px] text-xs text-gray-500', !config.embedding_available && 'opacity-50')}>
+          <div className={cn('max-w-[150px] flex text-xs text-gray-500', !config.embedding_available && 'opacity-50')}>
             {formatNumber(config.word_count)} {t('appDebug.feature.dataSet.words')} 路 {formatNumber(config.document_count)} {t('appDebug.feature.dataSet.textBlocks')}
           </div>
         </div>
diff --git a/app/components/app/configuration/dataset-config/card-item/item.tsx b/app/components/app/configuration/dataset-config/card-item/item.tsx
index 4feba8b..7036ae8 100644
--- a/app/components/app/configuration/dataset-config/card-item/item.tsx
+++ b/app/components/app/configuration/dataset-config/card-item/item.tsx
@@ -12,12 +12,10 @@
 import FileIcon from '@/app/components/base/file-icon'
 import { Folder } from '@/app/components/base/icons/src/vender/solid/files'
 import { Globe06 } from '@/app/components/base/icons/src/vender/solid/mapsAndTravel'
-import ActionButton, { ActionButtonState } from '@/app/components/base/action-button'
 import Drawer from '@/app/components/base/drawer'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import Badge from '@/app/components/base/badge'
 import { useKnowledge } from '@/hooks/use-knowledge'
-import cn from '@/utils/classnames'
 
 type ItemProps = {
   className?: string
@@ -45,77 +43,63 @@
     setShowSettingsModal(false)
   }
 
-  const [isDeleting, setIsDeleting] = useState(false)
-
   return (
-    <div className={cn(
-      'group relative mb-1 flex h-10 w-full cursor-pointer items-center justify-between rounded-lg border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg px-2 last-of-type:mb-0 hover:bg-components-panel-on-panel-item-bg-hover',
-      isDeleting && 'border-state-destructive-border hover:bg-state-destructive-hover',
-    )}>
-      <div className='flex w-0 grow items-center space-x-1.5'>
-        {
-          config.data_source_type === DataSourceType.FILE && (
-            <div className='mr-2 flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-[#E0EAFF] bg-[#F5F8FF]'>
-              <Folder className='h-4 w-4 text-[#444CE7]' />
-            </div>
-          )
-        }
-        {
-          config.data_source_type === DataSourceType.NOTION && (
-            <div className='mr-2 flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-[#EAECF5]'>
-              <FileIcon type='notion' className='h-4 w-4' />
-            </div>
-          )
-        }
-        {
-          config.data_source_type === DataSourceType.WEB && (
-            <div className='mr-2 flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-blue-100 bg-[#F5FAFF]'>
-              <Globe06 className='h-4 w-4 text-blue-600' />
-            </div>
-          )
-        }
-        <div className='system-sm-medium w-0 grow truncate text-text-secondary' title={config.name}>{config.name}</div>
+    <div className='group relative flex items-center mb-1 last-of-type:mb-0  pl-2.5 py-2 pr-3 w-full bg-white rounded-lg border-[0.5px] border-gray-200 shadow-xs'>
+      {
+        config.data_source_type === DataSourceType.FILE && (
+          <div className='shrink-0 flex items-center justify-center mr-2 w-6 h-6 bg-[#F5F8FF] rounded-md border-[0.5px] border-[#E0EAFF]'>
+            <Folder className='w-4 h-4 text-[#444CE7]' />
+          </div>
+        )
+      }
+      {
+        config.data_source_type === DataSourceType.NOTION && (
+          <div className='shrink-0 flex items-center justify-center mr-2 w-6 h-6 rounded-md border-[0.5px] border-[#EAECF5]'>
+            <FileIcon type='notion' className='w-4 h-4' />
+          </div>
+        )
+      }
+      {
+        config.data_source_type === DataSourceType.WEB && (
+          <div className='shrink-0 flex items-center justify-center mr-2 w-6 h-6 bg-[#F5FAFF] border-[0.5px] border-blue-100 rounded-md'>
+            <Globe06 className='w-4 h-4 text-blue-600' />
+          </div>
+        )
+      }
+      <div className='grow'>
+        <div className='flex items-center h-[18px]'>
+          <div className='grow text-[13px] font-medium text-gray-800 truncate' title={config.name}>{config.name}</div>
+          {config.provider === 'external'
+            ? <Badge text={t('dataset.externalTag') as string} />
+            : <Badge
+              text={formatIndexingTechniqueAndMethod(config.indexing_technique, config.retrieval_model_dict?.search_method)}
+            />}
+        </div>
       </div>
-      <div className='ml-2 hidden shrink-0 items-center space-x-1 group-hover:flex'>
+      <div className='hidden rounded-lg group-hover:flex items-center justify-end absolute right-0 top-0 bottom-0 pr-2 w-[124px] bg-gradient-to-r from-white/50 to-white to-50%'>
         {
-          editable && <ActionButton
-            onClick={(e) => {
-              e.stopPropagation()
-              setShowSettingsModal(true)
-            }}
+          editable && <div
+            className='flex items-center justify-center mr-1 w-6 h-6 hover:bg-black/5 rounded-md cursor-pointer'
+            onClick={() => setShowSettingsModal(true)}
           >
-            <RiEditLine className='h-4 w-4 shrink-0 text-text-tertiary' />
-          </ActionButton>
+            <RiEditLine className='w-4 h-4 text-gray-500' />
+          </div>
         }
-        <ActionButton
+        <div
+          className='group/action flex items-center justify-center w-6 h-6 hover:bg-[#FEE4E2] rounded-md cursor-pointer'
           onClick={() => onRemove(config.id)}
-          state={isDeleting ? ActionButtonState.Destructive : ActionButtonState.Default}
-          onMouseEnter={() => setIsDeleting(true)}
-          onMouseLeave={() => setIsDeleting(false)}
         >
-          <RiDeleteBinLine className={cn('h-4 w-4 shrink-0 text-text-tertiary', isDeleting && 'text-text-destructive')} />
-        </ActionButton>
+          <RiDeleteBinLine className='w-4 h-4 text-gray-500 group-hover/action:text-[#D92D20]' />
+        </div>
       </div>
-      {
-        config.indexing_technique && <Badge
-          className='shrink-0 group-hover:hidden'
-          text={formatIndexingTechniqueAndMethod(config.indexing_technique, config.retrieval_model_dict?.search_method)}
-        />
-      }
-      {
-        config.provider === 'external' && <Badge
-          className='shrink-0 group-hover:hidden'
-          text={t('dataset.externalTag') as string}
-        />
-      }
-      <Drawer isOpen={showSettingsModal} onClose={() => setShowSettingsModal(false)} footer={null} mask={isMobile} panelClassName='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>
+      <Drawer isOpen={showSettingsModal} onClose={() => setShowSettingsModal(false)} footer={null} mask={isMobile} panelClassname='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>
         <SettingsModal
           currentDataset={config}
           onCancel={() => setShowSettingsModal(false)}
           onSave={handleSave}
         />
       </Drawer>
-    </div >
+    </div>
   )
 }
 
diff --git a/app/components/app/configuration/dataset-config/card-item/style.module.css b/app/components/app/configuration/dataset-config/card-item/style.module.css
index da07056..4ddec9e 100644
--- a/app/components/app/configuration/dataset-config/card-item/style.module.css
+++ b/app/components/app/configuration/dataset-config/card-item/style.module.css
@@ -19,4 +19,4 @@
 
 .settingBtn:hover {
   background-color: rgba(0, 0, 0, 0.05);
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/dataset-config/context-var/index.tsx b/app/components/app/configuration/dataset-config/context-var/index.tsx
index ebba9c5..0de182b 100644
--- a/app/components/app/configuration/dataset-config/context-var/index.tsx
+++ b/app/components/app/configuration/dataset-config/context-var/index.tsx
@@ -14,12 +14,12 @@
   const currItem = options.find(item => item.value === value)
   const notSetVar = !currItem
   return (
-    <div className={cn(notSetVar ? 'rounded-bl-xl rounded-br-xl border-[#FEF0C7] bg-[#FEF0C7]' : 'border-components-panel-border-subtle', 'flex h-12 items-center justify-between border-t px-3 ')}>
-      <div className='flex shrink-0 items-center space-x-1'>
+    <div className={cn(notSetVar ? 'rounded-bl-xl rounded-br-xl bg-[#FEF0C7] border-[#FEF0C7]' : 'border-gray-200', 'flex justify-between items-center h-12 px-3 border-t ')}>
+      <div className='flex items-center space-x-1 shrink-0'>
         <div className='p-1'>
-          <BracketsX className='h-4 w-4 text-text-accent' />
+          <BracketsX className='w-4 h-4 text-primary-500' />
         </div>
-        <div className='mr-1 text-sm font-medium text-text-secondary'>{t('appDebug.feature.dataSet.queryVariable.title')}</div>
+        <div className='mr-1 text-sm font-medium text-gray-800'>{t('appDebug.feature.dataSet.queryVariable.title')}</div>
         <Tooltip
           popupContent={
             <div className='w-[180px]'>
diff --git a/app/components/app/configuration/dataset-config/context-var/style.module.css b/app/components/app/configuration/dataset-config/context-var/style.module.css
new file mode 100644
index 0000000..cbfaae8
--- /dev/null
+++ b/app/components/app/configuration/dataset-config/context-var/style.module.css
@@ -0,0 +1,3 @@
+.trigger:hover .dropdownIcon {
+  color: #98A2B3;
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/dataset-config/context-var/var-picker.tsx b/app/components/app/configuration/dataset-config/context-var/var-picker.tsx
index c443ea0..bc31721 100644
--- a/app/components/app/configuration/dataset-config/context-var/var-picker.tsx
+++ b/app/components/app/configuration/dataset-config/context-var/var-picker.tsx
@@ -3,6 +3,7 @@
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { ChevronDownIcon } from '@heroicons/react/24/outline'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import {
   PortalToFollowElem,
@@ -23,7 +24,7 @@
 }
 
 const VarItem: FC<{ item: Option }> = ({ item }) => (
-  <div className='flex h-[18px] items-center space-x-1 rounded bg-[#EFF8FF] px-1'>
+  <div className='flex items-center h-[18px] px-1 bg-[#EFF8FF] rounded space-x-1'>
     <IconTypeIcon type={item.type as IInputTypeIconProps['type']} className='text-[#1570EF]' />
     <div className='flex text-xs font-medium text-[#1570EF]'>
       <span className='opacity-60'>{'{{'}</span>
@@ -55,12 +56,13 @@
     >
       <PortalToFollowElemTrigger className={cn(triggerClassName)} onClick={() => setOpen(v => !v)}>
         <div className={cn(
+          s.trigger,
           className,
-          notSetVar ? 'border-[#FEDF89] bg-[#FFFCF5] text-[#DC6803]' : ' border-components-button-secondary-border text-text-accent hover:bg-components-button-secondary-bg',
-          open ? 'bg-components-button-secondary-bg' : 'bg-transparent',
+          notSetVar ? 'bg-[#FFFCF5] border-[#FEDF89] text-[#DC6803]' : ' hover:bg-gray-50 border-gray-200 text-primary-600',
+          open ? 'bg-gray-50' : 'bg-white',
           `
-          flex h-8 cursor-pointer items-center justify-center space-x-1 rounded-lg border  px-2 text-[13px]
-          font-medium  shadow-xs
+          flex items-center h-8 justify-center px-2 space-x-1 rounded-lg border  shadow-xs cursor-pointer
+          text-[13px]  font-medium
           `)}>
           <div>
             {value
@@ -71,16 +73,16 @@
                 {notSelectedVarTip || t('appDebug.feature.dataSet.queryVariable.choosePlaceholder')}
               </div>)}
           </div>
-          <ChevronDownIcon className={cn(open && 'rotate-180 text-text-tertiary', 'h-3.5 w-3.5')} />
+          <ChevronDownIcon className={cn(s.dropdownIcon, open && 'rotate-180 text-[#98A2B3]', 'w-3.5 h-3.5')} />
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 1000 }}>
         {options.length > 0
-          ? (<div className='max-h-[50vh] w-[240px] overflow-y-auto rounded-lg  border border-components-panel-border bg-components-panel-bg p-1 shadow-lg'>
+          ? (<div className='w-[240px] max-h-[50vh] overflow-y-auto p-1  border bg-white border-gray-200 rounded-lg shadow-lg'>
             {options.map(({ name, value, type }, index) => (
               <div
                 key={index}
-                className='flex cursor-pointer rounded-lg px-3 py-1 hover:bg-state-base-hover'
+                className='px-3 py-1 flex rounded-lg hover:bg-gray-50 cursor-pointer'
                 onClick={() => {
                   onChange(value)
                   setOpen(false)
@@ -91,9 +93,9 @@
             ))}
           </div>)
           : (
-            <div className='w-[240px] rounded-lg border border-components-panel-border bg-components-panel-bg p-6 shadow-lg'>
-              <div className='mb-1 text-sm font-medium text-text-secondary'>{t('appDebug.feature.dataSet.queryVariable.noVar')}</div>
-              <div className='text-xs leading-normal text-text-tertiary'>{t('appDebug.feature.dataSet.queryVariable.noVarTip')}</div>
+            <div className='w-[240px] p-6 bg-white border border-gray-200 rounded-lg shadow-lg'>
+              <div className='mb-1 text-sm font-medium text-gray-700'>{t('appDebug.feature.dataSet.queryVariable.noVar')}</div>
+              <div className='text-xs leading-normal text-gray-500'>{t('appDebug.feature.dataSet.queryVariable.noVarTip')}</div>
             </div>
           )}
 
diff --git a/app/components/app/configuration/dataset-config/index.tsx b/app/components/app/configuration/dataset-config/index.tsx
index 6165cfd..ecbc52c 100644
--- a/app/components/app/configuration/dataset-config/index.tsx
+++ b/app/components/app/configuration/dataset-config/index.tsx
@@ -1,11 +1,9 @@
 'use client'
 import type { FC } from 'react'
-import React, { useCallback, useMemo } from 'react'
+import React, { useMemo } from 'react'
 import { useTranslation } from 'react-i18next'
-import { intersectionBy } from 'lodash-es'
 import { useContext } from 'use-context-selector'
 import produce from 'immer'
-import { v4 as uuid4 } from 'uuid'
 import { useFormattingChangedDispatcher } from '../debug/hooks'
 import FeaturePanel from '../base/feature-panel'
 import OperationBtn from '../base/operation-btn'
@@ -23,19 +21,13 @@
 import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import { useSelector as useAppContextSelector } from '@/context/app-context'
 import { hasEditPermissionForDataset } from '@/utils/permission'
-import MetadataFilter from '@/app/components/workflow/nodes/knowledge-retrieval/components/metadata/metadata-filter'
-import type {
-  HandleAddCondition,
-  HandleRemoveCondition,
-  HandleToggleConditionLogicalOperator,
-  HandleUpdateCondition,
-  MetadataFilteringModeEnum,
-} from '@/app/components/workflow/nodes/knowledge-retrieval/types'
-import {
-  ComparisonOperator,
-  LogicalOperator,
-  MetadataFilteringVariableType,
-} from '@/app/components/workflow/nodes/knowledge-retrieval/types'
+
+const Icon = (
+  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path fillRule="evenodd" clipRule="evenodd" d="M12.6667 5.34368C12.6667 5.32614 12.6667 5.31738 12.6659 5.30147C12.6502 4.97229 12.3607 4.68295 12.0315 4.66737C12.0156 4.66662 12.0104 4.66662 12 4.66663H9.8391C9.30248 4.66662 8.85957 4.66661 8.49878 4.69609C8.12405 4.72671 7.77958 4.79242 7.45603 4.95728C6.95426 5.21294 6.54631 5.62089 6.29065 6.12265C6.12579 6.44621 6.06008 6.79068 6.02946 7.16541C5.99999 7.5262 5.99999 7.96911 6 8.50574V15.4942C5.99999 16.0308 5.99999 16.4737 6.02946 16.8345C6.06008 17.2092 6.12579 17.5537 6.29065 17.8773C6.54631 18.379 6.95426 18.787 7.45603 19.0426C7.77958 19.2075 8.12405 19.2732 8.49878 19.3038C8.85958 19.3333 9.30248 19.3333 9.83912 19.3333H14.1609C14.6975 19.3333 15.1404 19.3333 15.5012 19.3038C15.8759 19.2732 16.2204 19.2075 16.544 19.0426C17.0457 18.787 17.4537 18.379 17.7093 17.8773C17.8742 17.5537 17.9399 17.2092 17.9705 16.8345C18 16.4737 18 16.0308 18 15.4942V10.6666C18 10.6562 18 10.6511 17.9993 10.6352C17.9837 10.306 17.6943 10.0164 17.3651 10.0007C17.3492 9.99997 17.3405 9.99997 17.323 9.99997L14.3787 9.99997C14.2105 9.99999 14.0466 10 13.9078 9.98867C13.7555 9.97622 13.5756 9.94684 13.3947 9.85464C13.1438 9.72681 12.9398 9.52284 12.812 9.27195C12.7198 9.09101 12.6904 8.91118 12.678 8.75879C12.6666 8.62001 12.6666 8.45615 12.6667 8.2879L12.6667 5.34368ZM9.33333 12.6666C8.96514 12.6666 8.66667 12.9651 8.66667 13.3333C8.66667 13.7015 8.96514 14 9.33333 14H14.6667C15.0349 14 15.3333 13.7015 15.3333 13.3333C15.3333 12.9651 15.0349 12.6666 14.6667 12.6666H9.33333ZM9.33333 15.3333C8.96514 15.3333 8.66667 15.6318 8.66667 16C8.66667 16.3681 8.96514 16.6666 9.33333 16.6666H13.3333C13.7015 16.6666 14 16.3681 14 16C14 15.6318 13.7015 15.3333 13.3333 15.3333H9.33333Z" fill="#6938EF" />
+    <path d="M16.6053 8.66662C16.8011 8.66662 16.8989 8.66663 16.9791 8.61747C17.0923 8.54806 17.16 8.38452 17.129 8.25538C17.107 8.16394 17.0432 8.10018 16.9155 7.97265L14.694 5.75111C14.5664 5.62345 14.5027 5.55962 14.4112 5.53764C14.2821 5.5066 14.1186 5.57429 14.0492 5.68752C14 5.7677 14 5.86557 14 6.06132L14 8.13327C14 8.31994 14 8.41328 14.0363 8.48459C14.0683 8.54731 14.1193 8.5983 14.182 8.63026C14.2533 8.66659 14.3466 8.66659 14.5333 8.66659L16.6053 8.66662Z" fill="#6938EF" />
+  </svg>
+)
 
 const DatasetConfig: FC = () => {
   const { t } = useTranslation()
@@ -49,7 +41,6 @@
     showSelectDataSet,
     isAgent,
     datasetConfigs,
-    datasetConfigsRef,
     setDatasetConfigs,
     setRerankSettingModalOpen,
   } = useContext(ConfigContext)
@@ -131,100 +122,10 @@
     })
   }, [dataSet, userProfile?.id])
 
-  const metadataList = useMemo(() => {
-    return intersectionBy(...formattedDataset.filter((dataset) => {
-      return !!dataset.doc_metadata
-    }).map((dataset) => {
-      return dataset.doc_metadata!
-    }), 'name')
-  }, [formattedDataset])
-
-  const handleMetadataFilterModeChange = useCallback((newMode: MetadataFilteringModeEnum) => {
-    setDatasetConfigs(produce(datasetConfigsRef.current!, (draft) => {
-      draft.metadata_filtering_mode = newMode
-    }))
-  }, [setDatasetConfigs, datasetConfigsRef])
-
-  const handleAddCondition = useCallback<HandleAddCondition>(({ name, type }) => {
-    let operator: ComparisonOperator = ComparisonOperator.is
-
-    if (type === MetadataFilteringVariableType.number)
-      operator = ComparisonOperator.equal
-
-    const newCondition = {
-      id: uuid4(),
-      name,
-      comparison_operator: operator,
-    }
-
-    const newInputs = produce(datasetConfigsRef.current!, (draft) => {
-      if (draft.metadata_filtering_conditions) {
-        draft.metadata_filtering_conditions.conditions.push(newCondition)
-      }
-      else {
-        draft.metadata_filtering_conditions = {
-          logical_operator: LogicalOperator.and,
-          conditions: [newCondition],
-        }
-      }
-    })
-    setDatasetConfigs(newInputs)
-  }, [setDatasetConfigs, datasetConfigsRef])
-
-  const handleRemoveCondition = useCallback<HandleRemoveCondition>((id) => {
-    const conditions = datasetConfigsRef.current!.metadata_filtering_conditions?.conditions || []
-    const index = conditions.findIndex(c => c.id === id)
-    const newInputs = produce(datasetConfigsRef.current!, (draft) => {
-      if (index > -1)
-        draft.metadata_filtering_conditions?.conditions.splice(index, 1)
-    })
-    setDatasetConfigs(newInputs)
-  }, [setDatasetConfigs, datasetConfigsRef])
-
-  const handleUpdateCondition = useCallback<HandleUpdateCondition>((id, newCondition) => {
-    const conditions = datasetConfigsRef.current!.metadata_filtering_conditions?.conditions || []
-    const index = conditions.findIndex(c => c.id === id)
-    const newInputs = produce(datasetConfigsRef.current!, (draft) => {
-      if (index > -1)
-        draft.metadata_filtering_conditions!.conditions[index] = newCondition
-    })
-    setDatasetConfigs(newInputs)
-  }, [setDatasetConfigs, datasetConfigsRef])
-
-  const handleToggleConditionLogicalOperator = useCallback<HandleToggleConditionLogicalOperator>(() => {
-    const oldLogicalOperator = datasetConfigsRef.current!.metadata_filtering_conditions?.logical_operator
-    const newLogicalOperator = oldLogicalOperator === LogicalOperator.and ? LogicalOperator.or : LogicalOperator.and
-    const newInputs = produce(datasetConfigsRef.current!, (draft) => {
-      draft.metadata_filtering_conditions!.logical_operator = newLogicalOperator
-    })
-    setDatasetConfigs(newInputs)
-  }, [setDatasetConfigs, datasetConfigsRef])
-
-  const handleMetadataModelChange = useCallback((model: { provider: string; modelId: string; mode?: string }) => {
-    const newInputs = produce(datasetConfigsRef.current!, (draft) => {
-      draft.metadata_model_config = {
-        provider: model.provider,
-        name: model.modelId,
-        mode: model.mode || 'chat',
-        completion_params: draft.metadata_model_config?.completion_params || { temperature: 0.7 },
-      }
-    })
-    setDatasetConfigs(newInputs)
-  }, [setDatasetConfigs, datasetConfigsRef])
-
-  const handleMetadataCompletionParamsChange = useCallback((newParams: Record<string, any>) => {
-    const newInputs = produce(datasetConfigsRef.current!, (draft) => {
-      draft.metadata_model_config = {
-        ...draft.metadata_model_config!,
-        completion_params: newParams,
-      }
-    })
-    setDatasetConfigs(newInputs)
-  }, [setDatasetConfigs, datasetConfigsRef])
-
   return (
     <FeaturePanel
       className='mt-2'
+      headerIcon={Icon}
       title={t('appDebug.feature.dataSet.title')}
       headerRight={
         <div className='flex items-center gap-1'>
@@ -237,7 +138,7 @@
     >
       {hasData
         ? (
-          <div className='mt-1 flex flex-wrap justify-between px-3 pb-3'>
+          <div className='flex flex-wrap mt-1 px-3 pb-3 justify-between'>
             {formattedDataset.map(item => (
               <CardItem
                 key={item.id}
@@ -251,29 +152,9 @@
         )
         : (
           <div className='mt-1 px-3 pb-3'>
-            <div className='pb-1 pt-2 text-xs text-text-tertiary'>{t('appDebug.feature.dataSet.noData')}</div>
+            <div className='pt-2 pb-1 text-xs text-gray-500'>{t('appDebug.feature.dataSet.noData')}</div>
           </div>
         )}
-
-      <div className='border-t border-t-divider-subtle py-2'>
-        <MetadataFilter
-          metadataList={metadataList}
-          selectedDatasetsLoaded
-          metadataFilterMode={datasetConfigs.metadata_filtering_mode}
-          metadataFilteringConditions={datasetConfigs.metadata_filtering_conditions}
-          handleAddCondition={handleAddCondition}
-          handleMetadataFilterModeChange={handleMetadataFilterModeChange}
-          handleRemoveCondition={handleRemoveCondition}
-          handleToggleConditionLogicalOperator={handleToggleConditionLogicalOperator}
-          handleUpdateCondition={handleUpdateCondition}
-          metadataModelConfig={datasetConfigs.metadata_model_config}
-          handleMetadataModelChange={handleMetadataModelChange}
-          handleMetadataCompletionParamsChange={handleMetadataCompletionParamsChange}
-          isCommonVariable
-          availableCommonStringVars={promptVariablesToSelect.filter(item => item.type === MetadataFilteringVariableType.string || item.type === MetadataFilteringVariableType.select)}
-          availableCommonNumberVars={promptVariablesToSelect.filter(item => item.type === MetadataFilteringVariableType.number)}
-        />
-      </div>
 
       {mode === AppType.completion && dataSet.length > 0 && (
         <ContextVar
diff --git a/app/components/app/configuration/dataset-config/params-config/config-content.tsx b/app/components/app/configuration/dataset-config/params-config/config-content.tsx
index 86025f6..3744c6a 100644
--- a/app/components/app/configuration/dataset-config/params-config/config-content.tsx
+++ b/app/components/app/configuration/dataset-config/params-config/config-content.tsx
@@ -24,8 +24,6 @@
 import { useSelectedDatasetsMode } from '@/app/components/workflow/nodes/knowledge-retrieval/hooks'
 import Switch from '@/app/components/base/switch'
 import Toast from '@/app/components/base/toast'
-import Divider from '@/app/components/base/divider'
-import { noop } from 'lodash-es'
 
 type Props = {
   datasetConfigs: DatasetConfigs
@@ -42,8 +40,8 @@
   onChange,
   isInWorkflow,
   singleRetrievalModelConfig: singleRetrievalConfig = {} as ModelConfig,
-  onSingleRetrievalModelChange = noop,
-  onSingleRetrievalModelParamsChange = noop,
+  onSingleRetrievalModelChange = () => { },
+  onSingleRetrievalModelParamsChange = () => { },
   selectedDatasets = [],
 }) => {
   const { t } = useTranslation()
@@ -186,30 +184,30 @@
       </div>
       {type === RETRIEVE_TYPE.multiWay && (
         <>
-          <div className='my-2 flex h-6 items-center py-1'>
-            <div className='system-xs-semibold-uppercase mr-2 shrink-0 text-text-secondary'>
+          <div className='flex items-center my-2 py-1 h-6'>
+            <div className='shrink-0 mr-2 system-xs-semibold-uppercase text-text-secondary'>
               {t('dataset.rerankSettings')}
             </div>
-            <Divider bgStyle='gradient' className='mx-0 !h-px' />
+            <div className='grow h-[1px] bg-gradient-to-l from-white to-[rgba(16,24,40,0.08)]'></div>
           </div>
           {
             selectedDatasetsMode.inconsistentEmbeddingModel
             && (
-              <div className='system-xs-medium mt-4 text-text-warning'>
+              <div className='mt-4 system-xs-medium text-text-warning'>
                 {t('dataset.inconsistentEmbeddingModelTip')}
               </div>
             )
           }
           {
             selectedDatasetsMode.mixtureInternalAndExternal && (
-              <div className='system-xs-medium mt-4 text-text-warning'>
+              <div className='mt-4 system-xs-medium text-text-warning'>
                 {t('dataset.mixtureInternalAndExternalTip')}
               </div>
             )
           }
           {
             selectedDatasetsMode.allExternal && (
-              <div className='system-xs-medium mt-4 text-text-warning'>
+              <div className='mt-4 system-xs-medium text-text-warning'>
                 {t('dataset.allExternalTip')}
               </div>
             )
@@ -217,7 +215,7 @@
           {
             selectedDatasetsMode.mixtureHighQualityAndEconomic
             && (
-              <div className='system-xs-medium mt-4 text-text-warning'>
+              <div className='mt-4 system-xs-medium text-text-warning'>
                 {t('dataset.mixtureHighQualityAndEconomicTip')}
               </div>
             )
@@ -230,7 +228,7 @@
                     <div
                       key={option.value}
                       className={cn(
-                        'system-sm-medium flex h-8 w-[calc((100%-8px)/2)] cursor-pointer items-center justify-center rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg text-text-secondary',
+                        'flex items-center justify-center w-[calc((100%-8px)/2)] h-8 rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg cursor-pointer system-sm-medium text-text-secondary',
                         selectedRerankMode === option.value && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary',
                       )}
                       onClick={() => handleRerankModeChange(option.value)}
@@ -265,7 +263,7 @@
                       />
                     )
                   }
-                  <div className='system-sm-semibold ml-1 leading-[32px] text-text-secondary'>{t('common.modelProvider.rerankModel.key')}</div>
+                  <div className='leading-[32px] ml-1 text-text-secondary system-sm-semibold'>{t('common.modelProvider.rerankModel.key')}</div>
                   <Tooltip
                     popupContent={
                       <div className="w-[200px]">
@@ -354,7 +352,7 @@
       {isInWorkflow && type === RETRIEVE_TYPE.oneWay && (
         <div className='mt-4'>
           <div className='flex items-center space-x-0.5'>
-            <div className='text-[13px] font-medium leading-[32px] text-text-primary'>{t('common.modelProvider.systemReasoningModel.key')}</div>
+            <div className='leading-[32px] text-[13px] font-medium text-gray-900'>{t('common.modelProvider.systemReasoningModel.key')}</div>
             <Tooltip
               popupContent={t('common.modelProvider.systemReasoningModel.tip')}
             />
@@ -368,8 +366,8 @@
             provider={model?.provider}
             completionParams={model?.completion_params}
             modelId={model?.name}
-            setModel={onSingleRetrievalModelChange}
-            onCompletionParamsChange={onSingleRetrievalModelParamsChange}
+            setModel={onSingleRetrievalModelChange as any}
+            onCompletionParamsChange={onSingleRetrievalModelParamsChange as any}
             hideDebugWithMultipleModel
             debugWithMultipleModel={false}
           />
diff --git a/app/components/app/configuration/dataset-config/params-config/index.tsx b/app/components/app/configuration/dataset-config/params-config/index.tsx
index df2b429..acd1955 100644
--- a/app/components/app/configuration/dataset-config/params-config/index.tsx
+++ b/app/components/app/configuration/dataset-config/params-config/index.tsx
@@ -121,7 +121,7 @@
         }}
         disabled={disabled}
       >
-        <RiEqualizer2Line className='mr-1 h-3.5 w-3.5' />
+        <RiEqualizer2Line className='mr-1 w-3.5 h-3.5' />
         {t('dataset.retrievalSettings')}
       </Button>
       {
@@ -140,11 +140,11 @@
             />
 
             <div className='mt-6 flex justify-end'>
-              <Button className='mr-2 shrink-0' onClick={() => {
+              <Button className='mr-2 flex-shrink-0' onClick={() => {
                 setTempDataSetConfigs(datasetConfigs)
                 setRerankSettingModalOpen(false)
               }}>{t('common.operation.cancel')}</Button>
-              <Button variant='primary' className='shrink-0' onClick={handleSave} >{t('common.operation.save')}</Button>
+              <Button variant='primary' className='flex-shrink-0' onClick={handleSave} >{t('common.operation.save')}</Button>
             </div>
           </Modal>
         )
diff --git a/app/components/app/configuration/dataset-config/params-config/weighted-score.css b/app/components/app/configuration/dataset-config/params-config/weighted-score.css
index ef93506..5bfea0c 100644
--- a/app/components/app/configuration/dataset-config/params-config/weighted-score.css
+++ b/app/components/app/configuration/dataset-config/params-config/weighted-score.css
@@ -4,4 +4,4 @@
 
 .weightedScoreSliderTrack-1 {
   background: transparent !important;
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/dataset-config/params-config/weighted-score.tsx b/app/components/app/configuration/dataset-config/params-config/weighted-score.tsx
index 5f0ad94..87767c2 100644
--- a/app/components/app/configuration/dataset-config/params-config/weighted-score.tsx
+++ b/app/components/app/configuration/dataset-config/params-config/weighted-score.tsx
@@ -3,7 +3,6 @@
 import './weighted-score.css'
 import Slider from '@/app/components/base/slider'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 const formatNumber = (value: number) => {
   if (value > 0 && value < 1)
@@ -24,15 +23,15 @@
 }
 const WeightedScore = ({
   value,
-  onChange = noop,
+  onChange = () => {},
 }: WeightedScoreProps) => {
   const { t } = useTranslation()
 
   return (
     <div>
-      <div className='space-x-3 rounded-lg border border-components-panel-border px-3 pb-2 pt-5'>
+      <div className='px-3 pt-5 pb-2 space-x-3 rounded-lg border border-components-panel-border'>
         <Slider
-          className={cn('h-0.5 grow rounded-full !bg-util-colors-teal-teal-500')}
+          className={cn('grow h-0.5 !bg-util-colors-teal-teal-500 rounded-full')}
           max={1.0}
           min={0}
           step={0.1}
@@ -40,14 +39,14 @@
           onChange={v => onChange({ value: [v, (10 - v * 10) / 10] })}
           trackClassName='weightedScoreSliderTrack'
         />
-        <div className='mt-3 flex justify-between'>
-          <div className='system-xs-semibold-uppercase flex w-[90px] shrink-0 items-center text-util-colors-blue-light-blue-light-500'>
+        <div className='flex justify-between mt-3'>
+          <div className='shrink-0 flex items-center w-[90px] system-xs-semibold-uppercase text-util-colors-blue-light-blue-light-500'>
             <div className='mr-1 truncate uppercase' title={t('dataset.weightedScore.semantic') || ''}>
               {t('dataset.weightedScore.semantic')}
             </div>
             {formatNumber(value.value[0])}
           </div>
-          <div className='system-xs-semibold-uppercase flex w-[90px] shrink-0 items-center justify-end text-util-colors-teal-teal-500'>
+          <div className='shrink-0 flex items-center justify-end w-[90px] system-xs-semibold-uppercase text-util-colors-teal-teal-500'>
             {formatNumber(value.value[1])}
             <div className='ml-1 truncate uppercase' title={t('dataset.weightedScore.keyword') || ''}>
               {t('dataset.weightedScore.keyword')}
diff --git a/app/components/app/configuration/dataset-config/select-dataset/index.tsx b/app/components/app/configuration/dataset-config/select-dataset/index.tsx
index 70f5e1e..0d94e59 100644
--- a/app/components/app/configuration/dataset-config/select-dataset/index.tsx
+++ b/app/components/app/configuration/dataset-config/select-dataset/index.tsx
@@ -6,6 +6,8 @@
 import Link from 'next/link'
 import produce from 'immer'
 import TypeIcon from '../type-icon'
+import s from './style.module.css'
+import cn from '@/utils/classnames'
 import Modal from '@/app/components/base/modal'
 import type { DataSet } from '@/models/datasets'
 import Button from '@/app/components/base/button'
@@ -13,7 +15,6 @@
 import Loading from '@/app/components/base/loading'
 import Badge from '@/app/components/base/badge'
 import { useKnowledge } from '@/hooks/use-knowledge'
-import cn from '@/utils/classnames'
 
 export type ISelectDataSetProps = {
   isShow: boolean
@@ -104,54 +105,49 @@
       )}
 
       {(loaded && hasNoData) && (
-        <div className='mt-6 flex h-[128px] items-center justify-center space-x-1  rounded-lg border text-[13px]'
+        <div className='flex items-center justify-center mt-6 rounded-lg space-x-1  h-[128px] text-[13px] border'
           style={{
             background: 'rgba(0, 0, 0, 0.02)',
             borderColor: 'rgba(0, 0, 0, 0.02',
           }}
         >
-          <span className='text-text-tertiary'>{t('appDebug.feature.dataSet.noDataSet')}</span>
-          <Link href={'/datasets/create'} className='font-normal text-text-accent'>{t('appDebug.feature.dataSet.toCreate')}</Link>
+          <span className='text-gray-500'>{t('appDebug.feature.dataSet.noDataSet')}</span>
+          <Link href="/datasets/create" className='font-normal text-[#155EEF]'>{t('appDebug.feature.dataSet.toCreate')}</Link>
         </div>
       )}
 
       {datasets && datasets?.length > 0 && (
         <>
-          <div ref={listRef} className='mt-7 max-h-[286px] space-y-1 overflow-y-auto'>
+          <div ref={listRef} className='mt-7 space-y-1 max-h-[286px] overflow-y-auto'>
             {datasets.map(item => (
               <div
                 key={item.id}
-                className={cn(
-                  'flex h-10 cursor-pointer items-center justify-between rounded-lg border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg px-2 shadow-xs hover:border-components-panel-border hover:bg-components-panel-on-panel-item-bg-hover hover:shadow-sm',
-                  selected.some(i => i.id === item.id) && 'border-[1.5px] border-components-option-card-option-selected-border bg-state-accent-hover shadow-xs hover:border-components-option-card-option-selected-border hover:bg-state-accent-hover hover:shadow-xs',
-                  !item.embedding_available && 'hover:border-components-panel-border-subtle hover:bg-components-panel-on-panel-item-bg hover:shadow-xs',
-                )}
+                className={cn(s.item, selected.some(i => i.id === item.id) && s.selected, 'flex justify-between items-center h-10 px-2 rounded-lg bg-white border border-gray-200  cursor-pointer', !item.embedding_available && s.disabled)}
                 onClick={() => {
                   if (!item.embedding_available)
                     return
                   toggleSelect(item)
                 }}
               >
-                <div className='mr-1 flex items-center overflow-hidden'>
-                  <div className={cn('mr-2', !item.embedding_available && 'opacity-30')}>
+                <div className='mr-1 flex items-center'>
+                  <div className={cn('mr-2', !item.embedding_available && 'opacity-50')}>
                     <TypeIcon type="upload_file" size='md' />
                   </div>
-                  <div className={cn('max-w-[200px] truncate text-[13px] font-medium text-text-secondary', !item.embedding_available && '!max-w-[120px] opacity-30')}>{item.name}</div>
+                  <div className={cn('max-w-[200px] text-[13px] font-medium text-gray-800 overflow-hidden text-ellipsis whitespace-nowrap', !item.embedding_available && 'opacity-50 !max-w-[120px]')}>{item.name}</div>
                   {!item.embedding_available && (
-                    <span className='ml-1 shrink-0 rounded-md border border-divider-deep px-1 text-xs font-normal leading-[18px] text-text-tertiary'>{t('dataset.unavailable')}</span>
+                    <span className='ml-1 shrink-0 px-1 border border-gray-200 rounded-md text-gray-500 text-xs font-normal leading-[18px]'>{t('dataset.unavailable')}</span>
                   )}
                 </div>
                 {
                   item.indexing_technique && (
                     <Badge
-                      className='shrink-0'
                       text={formatIndexingTechniqueAndMethod(item.indexing_technique, item.retrieval_model_dict?.search_method)}
                     />
                   )
                 }
                 {
                   item.provider === 'external' && (
-                    <Badge className='shrink-0' text={t('dataset.externalTag')} />
+                    <Badge text={t('dataset.externalTag')} />
                   )
                 }
               </div>
@@ -160,8 +156,8 @@
         </>
       )}
       {loaded && (
-        <div className='mt-8 flex items-center justify-between'>
-          <div className='text-sm  font-medium text-text-secondary'>
+        <div className='flex justify-between items-center mt-8'>
+          <div className='text-sm  font-medium text-gray-700'>
             {selected.length > 0 && `${selected.length} ${t('appDebug.feature.dataSet.selected')}`}
           </div>
           <div className='flex space-x-2'>
diff --git a/app/components/app/configuration/dataset-config/select-dataset/style.module.css b/app/components/app/configuration/dataset-config/select-dataset/style.module.css
new file mode 100644
index 0000000..b560f29
--- /dev/null
+++ b/app/components/app/configuration/dataset-config/select-dataset/style.module.css
@@ -0,0 +1,13 @@
+.item {
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+}
+
+.item:hover,
+.item.selected {
+  background: #F5F8FF;
+  border-color: #528BFF;
+}
+
+.item.disabled {
+  @apply bg-white border-gray-200 cursor-default;
+}
diff --git a/app/components/app/configuration/dataset-config/settings-modal/index.tsx b/app/components/app/configuration/dataset-config/settings-modal/index.tsx
index 3170d33..e00eb40 100644
--- a/app/components/app/configuration/dataset-config/settings-modal/index.tsx
+++ b/app/components/app/configuration/dataset-config/settings-modal/index.tsx
@@ -4,6 +4,7 @@
 import { useTranslation } from 'react-i18next'
 import { isEqual } from 'lodash-es'
 import { RiCloseLine } from '@remixicon/react'
+import { BookOpenIcon } from '@heroicons/react/24/outline'
 import { ApiConnectionMod } from '@/app/components/base/icons/src/vender/solid/development'
 import cn from '@/utils/classnames'
 import IndexMethodRadio from '@/app/components/datasets/settings/index-method-radio'
@@ -61,13 +62,13 @@
   const { notify } = useToastContext()
   const ref = useRef(null)
   const isExternal = currentDataset.provider === 'external'
+  const [topK, setTopK] = useState(currentDataset?.external_retrieval_model.top_k ?? 2)
+  const [scoreThreshold, setScoreThreshold] = useState(currentDataset?.external_retrieval_model.score_threshold ?? 0.5)
+  const [scoreThresholdEnabled, setScoreThresholdEnabled] = useState(currentDataset?.external_retrieval_model.score_threshold_enabled ?? false)
   const { setShowAccountSettingModal } = useModalContext()
   const [loading, setLoading] = useState(false)
   const { isCurrentWorkspaceDatasetOperator } = useAppContext()
   const [localeCurrentDataset, setLocaleCurrentDataset] = useState({ ...currentDataset })
-  const [topK, setTopK] = useState(localeCurrentDataset?.external_retrieval_model.top_k ?? 2)
-  const [scoreThreshold, setScoreThreshold] = useState(localeCurrentDataset?.external_retrieval_model.score_threshold ?? 0.5)
-  const [scoreThresholdEnabled, setScoreThresholdEnabled] = useState(localeCurrentDataset?.external_retrieval_model.score_threshold_enabled ?? false)
   const [selectedMemberIDs, setSelectedMemberIDs] = useState<string[]>(currentDataset.partial_member_list || [])
   const [memberList, setMemberList] = useState<Member[]>([])
 
@@ -87,14 +88,6 @@
       setScoreThreshold(data.score_threshold)
     if (data.score_threshold_enabled !== undefined)
       setScoreThresholdEnabled(data.score_threshold_enabled)
-
-    setLocaleCurrentDataset({
-      ...localeCurrentDataset,
-      external_retrieval_model: {
-        ...localeCurrentDataset?.external_retrieval_model,
-        ...data,
-      },
-    })
   }
 
   const handleSave = async () => {
@@ -157,7 +150,7 @@
         retrieval_model_dict: retrievalConfig,
       })
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
     }
     finally {
@@ -179,30 +172,32 @@
 
   return (
     <div
-      className='flex w-full flex-col overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'
+      className='overflow-hidden w-full flex flex-col bg-white border-[0.5px] border-gray-200 rounded-xl shadow-xl'
       style={{
         height: 'calc(100vh - 72px)',
       }}
       ref={ref}
     >
-      <div className='flex h-14 shrink-0 items-center justify-between border-b border-divider-regular pl-6 pr-5'>
-        <div className='flex flex-col text-base font-semibold text-text-primary'>
+      <div className='shrink-0 flex justify-between items-center pl-6 pr-5 h-14 border-b border-b-gray-100'>
+        <div className='flex flex-col text-base font-semibold text-gray-900'>
           <div className='leading-6'>{t('datasetSettings.title')}</div>
         </div>
         <div className='flex items-center'>
           <div
             onClick={onCancel}
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex justify-center items-center w-6 h-6 cursor-pointer'
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-gray-500' />
           </div>
         </div>
       </div>
       {/* Body */}
-      <div className='overflow-y-auto border-b border-divider-regular p-6 pb-[68px] pt-5'>
+      <div className='p-6 pt-5 border-b overflow-y-auto pb-[68px]' style={{
+        borderBottom: 'rgba(0, 0, 0, 0.05)',
+      }}>
         <div className={cn(rowClass, 'items-center')}>
           <div className={labelClass}>
-            <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.name')}</div>
+            <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.name')}</div>
           </div>
           <Input
             value={localeCurrentDataset.name}
@@ -213,7 +208,7 @@
         </div>
         <div className={cn(rowClass)}>
           <div className={labelClass}>
-            <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.desc')}</div>
+            <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.desc')}</div>
           </div>
           <div className='w-full'>
             <Textarea
@@ -222,11 +217,15 @@
               className='resize-none'
               placeholder={t('datasetSettings.form.descPlaceholder') || ''}
             />
+            <a className='mt-2 flex items-center h-[18px] px-3 text-xs text-gray-500' href="https://docs.dify.ai/features/datasets#how-to-write-a-good-dataset-description" target='_blank' rel='noopener noreferrer'>
+              <BookOpenIcon className='w-3 h-[18px] mr-1' />
+              {t('datasetSettings.form.descWrite')}
+            </a>
           </div>
         </div>
         <div className={rowClass}>
           <div className={labelClass}>
-            <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.permissions')}</div>
+            <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.permissions')}</div>
           </div>
           <div className='w-full'>
             <PermissionSelector
@@ -242,7 +241,7 @@
         {currentDataset && currentDataset.indexing_technique && (
           <div className={cn(rowClass)}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.indexMethod')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.indexMethod')}</div>
             </div>
             <div className='grow'>
               <IndexMethodRadio
@@ -258,10 +257,10 @@
         {indexMethod === 'high_quality' && (
           <div className={cn(rowClass)}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.embeddingModel')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.embeddingModel')}</div>
             </div>
             <div className='w-full'>
-              <div className='h-8 w-full rounded-lg bg-components-input-bg-normal opacity-60'>
+              <div className='w-full h-9 rounded-lg bg-gray-100 opacity-60'>
                 <ModelSelector
                   readonly
                   defaultModel={{
@@ -271,9 +270,9 @@
                   modelList={embeddingsModelList}
                 />
               </div>
-              <div className='mt-2 w-full text-xs leading-6 text-text-tertiary'>
+              <div className='mt-2 w-full text-xs leading-6 text-gray-500'>
                 {t('datasetSettings.form.embeddingModelTip')}
-                <span className='cursor-pointer text-text-accent' onClick={() => setShowAccountSettingModal({ payload: 'provider' })}>{t('datasetSettings.form.embeddingModelTipLink')}</span>
+                <span className='text-[#155eef] cursor-pointer' onClick={() => setShowAccountSettingModal({ payload: 'provider' })}>{t('datasetSettings.form.embeddingModelTipLink')}</span>
               </div>
             </div>
           </div>
@@ -285,7 +284,7 @@
             <div className={rowClass}><Divider /></div>
             <div className={rowClass}>
               <div className={labelClass}>
-                <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.retrievalSetting.title')}</div>
+                <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.retrievalSetting.title')}</div>
               </div>
               <RetrievalSettings
                 topK={topK}
@@ -298,26 +297,26 @@
             <div className={rowClass}><Divider /></div>
             <div className={rowClass}>
               <div className={labelClass}>
-                <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.externalKnowledgeAPI')}</div>
+                <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.externalKnowledgeAPI')}</div>
               </div>
               <div className='w-full max-w-[480px]'>
-                <div className='flex h-full items-center gap-1 rounded-lg bg-components-input-bg-normal px-3 py-2'>
-                  <ApiConnectionMod className='h-4 w-4 text-text-secondary' />
-                  <div className='system-sm-medium overflow-hidden text-ellipsis text-text-secondary'>
+                <div className='flex h-full px-3 py-2 items-center gap-1 rounded-lg bg-components-input-bg-normal'>
+                  <ApiConnectionMod className='w-4 h-4 text-text-secondary' />
+                  <div className='overflow-hidden text-text-secondary text-ellipsis system-sm-medium'>
                     {currentDataset?.external_knowledge_info.external_knowledge_api_name}
                   </div>
-                  <div className='system-xs-regular text-text-tertiary'>路</div>
-                  <div className='system-xs-regular text-text-tertiary'>{currentDataset?.external_knowledge_info.external_knowledge_api_endpoint}</div>
+                  <div className='text-text-tertiary system-xs-regular'>路</div>
+                  <div className='text-text-tertiary system-xs-regular'>{currentDataset?.external_knowledge_info.external_knowledge_api_endpoint}</div>
                 </div>
               </div>
             </div>
             <div className={rowClass}>
               <div className={labelClass}>
-                <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.externalKnowledgeID')}</div>
+                <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.externalKnowledgeID')}</div>
               </div>
               <div className='w-full max-w-[480px]'>
-                <div className='flex h-full items-center gap-1 rounded-lg bg-components-input-bg-normal px-3 py-2'>
-                  <div className='system-xs-regular text-text-tertiary'>{currentDataset?.external_knowledge_info.external_knowledge_id}</div>
+                <div className='flex h-full px-3 py-2 items-center gap-1 rounded-lg bg-components-input-bg-normal'>
+                  <div className='text-text-tertiary system-xs-regular'>{currentDataset?.external_knowledge_info.external_knowledge_id}</div>
                 </div>
               </div>
             </div>
@@ -326,9 +325,9 @@
           : <div className={rowClass}>
             <div className={cn(labelClass, 'w-auto min-w-[168px]')}>
               <div>
-                <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.retrievalSetting.title')}</div>
-                <div className='text-xs font-normal leading-[18px] text-text-tertiary'>
-                  <a target='_blank' rel='noopener noreferrer' href='https://docs.dify.ai/guides/knowledge-base/create-knowledge-and-upload-documents#id-4-retrieval-settings' className='text-text-accent'>{t('datasetSettings.form.retrievalSetting.learnMore')}</a>
+                <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.retrievalSetting.title')}</div>
+                <div className='leading-[18px] text-xs font-normal text-gray-500'>
+                  <a target='_blank' rel='noopener noreferrer' href='https://docs.dify.ai/guides/knowledge-base/create-knowledge-and-upload-documents#id-4-retrieval-settings' className='text-[#155eef]'>{t('datasetSettings.form.retrievalSetting.learnMore')}</a>
                   {t('datasetSettings.form.retrievalSetting.description')}
                 </div>
               </div>
@@ -351,23 +350,26 @@
           </div>}
       </div>
       {isRetrievalChanged && !isHideChangedTip && (
-        <div className='absolute bottom-[76px] left-[30px] right-[30px] z-10 flex h-10 items-center justify-between rounded-lg border border-[#FEF0C7] bg-[#FFFAEB] px-3 shadow-lg'>
+        <div className='absolute z-10 left-[30px] right-[30px] bottom-[76px] flex h-10 items-center px-3 rounded-lg border border-[#FEF0C7] bg-[#FFFAEB] shadow-lg justify-between'>
           <div className='flex items-center'>
-            <AlertTriangle className='mr-1 h-3 w-3 text-[#F79009]' />
-            <div className='text-xs font-medium leading-[18px] text-gray-700'>{t('appDebug.datasetConfig.retrieveChangeTip')}</div>
+            <AlertTriangle className='mr-1 w-3 h-3 text-[#F79009]' />
+            <div className='leading-[18px] text-xs font-medium text-gray-700'>{t('appDebug.datasetConfig.retrieveChangeTip')}</div>
           </div>
-          <div className='cursor-pointer p-1' onClick={(e) => {
+          <div className='p-1 cursor-pointer' onClick={(e) => {
             setIsHideChangedTip(true)
             e.stopPropagation()
             e.nativeEvent.stopImmediatePropagation()
           }}>
-            <RiCloseLine className='h-4 w-4 text-gray-500' />
+            <RiCloseLine className='w-4 h-4 text-gray-500 ' />
           </div>
         </div>
       )}
 
       <div
-        className='sticky bottom-0 z-[5] flex w-full justify-end border-t border-divider-regular bg-background-section px-6 py-4'
+        className='sticky z-[5] bottom-0 w-full flex justify-end py-4 px-6 border-t bg-white '
+        style={{
+          borderColor: 'rgba(0, 0, 0, 0.05)',
+        }}
       >
         <Button
           onClick={onCancel}
diff --git a/app/components/app/configuration/debug/chat-user-input.tsx b/app/components/app/configuration/debug/chat-user-input.tsx
index fb4ac31..cda4191 100644
--- a/app/components/app/configuration/debug/chat-user-input.tsx
+++ b/app/components/app/configuration/debug/chat-user-input.tsx
@@ -47,17 +47,17 @@
     return null
 
   return (
-    <div className={cn('z-[1] rounded-xl border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg shadow-xs')}>
-      <div className='px-4 pb-4 pt-3'>
+    <div className={cn('bg-components-panel-on-panel-item-bg rounded-xl border-[0.5px] border-components-panel-border-subtle shadow-xs z-[1]')}>
+      <div className='px-4 pt-3 pb-4'>
         {promptVariables.map(({ key, name, type, options, max_length, required }, index) => (
           <div
             key={key}
             className='mb-4 last-of-type:mb-0'
           >
             <div>
-              <div className='system-sm-semibold mb-1 flex h-6 items-center gap-1 text-text-secondary'>
+              <div className='h-6 mb-1 flex items-center gap-1 text-text-secondary system-sm-semibold'>
                 <div className='truncate'>{name || key}</div>
-                {!required && <span className='system-xs-regular text-text-tertiary'>{t('workflow.panel.optional')}</span>}
+                {!required && <span className='text-text-tertiary system-xs-regular'>{t('workflow.panel.optional')}</span>}
               </div>
               <div className='grow'>
                 {type === 'string' && (
@@ -71,7 +71,7 @@
                 )}
                 {type === 'paragraph' && (
                   <Textarea
-                    className='h-[120px] grow'
+                    className='grow h-[120px]'
                     placeholder={name}
                     value={inputs[key] ? `${inputs[key]}` : ''}
                     onChange={(e) => { handleInputValueChange(key, e.target.value) }}
@@ -84,6 +84,7 @@
                     onSelect={(i) => { handleInputValueChange(key, i.value as string) }}
                     items={(options || []).map(i => ({ name: i, value: i }))}
                     allowSearch={false}
+                    bgClassName='bg-gray-50'
                   />
                 )}
                 {type === 'number' && (
diff --git a/app/components/app/configuration/debug/debug-with-multiple-model/chat-item.tsx b/app/components/app/configuration/debug/debug-with-multiple-model/chat-item.tsx
index ad4c06b..5d2f33a 100644
--- a/app/components/app/configuration/debug/debug-with-multiple-model/chat-item.tsx
+++ b/app/components/app/configuration/debug/debug-with-multiple-model/chat-item.tsx
@@ -30,7 +30,6 @@
 import { useFeatures } from '@/app/components/base/features/hooks'
 import type { InputForm } from '@/app/components/base/chat/chat/type'
 import { getLastAnswer } from '@/app/components/base/chat/utils'
-import { canFindTool } from '@/utils'
 
 type ChatItemProps = {
   modelAndParameter: ModelAndParameter
@@ -129,7 +128,7 @@
   const allToolIcons = useMemo(() => {
     const icons: Record<string, any> = {}
     modelConfig.agentConfig.tools?.forEach((item: any) => {
-      icons[item.tool_name] = collectionList.find((collection: any) => canFindTool(collection.id, item.provider_id))?.icon
+      icons[item.tool_name] = collectionList.find((collection: any) => collection.id === item.provider_id)?.icon
     })
     return icons
   }, [collectionList, modelConfig.agentConfig.tools])
diff --git a/app/components/app/configuration/debug/debug-with-multiple-model/context.tsx b/app/components/app/configuration/debug/debug-with-multiple-model/context.tsx
index 1fcd878..d95faf7 100644
--- a/app/components/app/configuration/debug/debug-with-multiple-model/context.tsx
+++ b/app/components/app/configuration/debug/debug-with-multiple-model/context.tsx
@@ -2,7 +2,6 @@
 
 import { createContext, useContext } from 'use-context-selector'
 import type { ModelAndParameter } from '../types'
-import { noop } from 'lodash-es'
 
 export type DebugWithMultipleModelContextType = {
   multipleModelConfigs: ModelAndParameter[]
@@ -12,8 +11,8 @@
 }
 const DebugWithMultipleModelContext = createContext<DebugWithMultipleModelContextType>({
   multipleModelConfigs: [],
-  onMultipleModelConfigsChange: noop,
-  onDebugWithMultipleModelChange: noop,
+  onMultipleModelConfigsChange: () => {},
+  onDebugWithMultipleModelChange: () => {},
 })
 
 export const useDebugWithMultipleModelContext = () => useContext(DebugWithMultipleModelContext)
diff --git a/app/components/app/configuration/debug/debug-with-multiple-model/debug-item.tsx b/app/components/app/configuration/debug/debug-with-multiple-model/debug-item.tsx
index 95c43f5..9f6da8a 100644
--- a/app/components/app/configuration/debug/debug-with-multiple-model/debug-item.tsx
+++ b/app/components/app/configuration/debug/debug-with-multiple-model/debug-item.tsx
@@ -64,11 +64,11 @@
 
   return (
     <div
-      className={`flex min-w-[320px] flex-col rounded-xl bg-background-section-burn ${className}`}
+      className={`flex flex-col min-w-[320px] rounded-xl bg-white border-[0.5px] border-black/5 ${className}`}
       style={style}
     >
-      <div className='flex h-10 shrink-0 items-center justify-between border-b-[0.5px] border-divider-regular px-3'>
-        <div className='flex h-5 w-6 items-center justify-center font-medium italic text-text-tertiary'>
+      <div className='shrink-0 flex items-center justify-between h-10 px-3 border-b-[0.5px] border-b-black/5'>
+        <div className='flex items-center justify-center w-6 h-5 font-medium italic text-gray-500'>
           #{index + 1}
         </div>
         <ModelParameterTrigger
diff --git a/app/components/app/configuration/debug/debug-with-multiple-model/index.tsx b/app/components/app/configuration/debug/debug-with-multiple-model/index.tsx
index 75ba836..d5662cb 100644
--- a/app/components/app/configuration/debug/debug-with-multiple-model/index.tsx
+++ b/app/components/app/configuration/debug/debug-with-multiple-model/index.tsx
@@ -102,10 +102,10 @@
   const inputsForm = modelConfig.configs.prompt_variables.filter(item => item.type !== 'api').map(item => ({ ...item, label: item.name, variable: item.key })) as InputForm[]
 
   return (
-    <div className='flex h-full flex-col'>
+    <div className='flex flex-col h-full'>
       <div
         className={`
-          relative mb-3 grow overflow-auto px-6
+          grow mb-3 relative px-6 overflow-auto
         `}
         style={{ height: isChatMode ? 'calc(100% - 60px)' : '100%' }}
       >
@@ -131,7 +131,7 @@
         }
       </div>
       {isChatMode && (
-        <div className='shrink-0 px-6 pb-0'>
+        <div className='shrink-0 pb-0 px-6'>
           <ChatInputArea
             showFeatureBar
             showFileUpload={false}
diff --git a/app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx b/app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx
index 17d04ac..155ebe2 100644
--- a/app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx
+++ b/app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx
@@ -8,7 +8,6 @@
 import ModelIcon from '@/app/components/header/account-setting/model-provider-page/model-icon'
 import ModelName from '@/app/components/header/account-setting/model-provider-page/model-name'
 import {
-  type FormValue,
   MODEL_STATUS_TEXT,
   ModelStatusEnum,
 } from '@/app/components/header/account-setting/model-provider-page/declarations'
@@ -46,7 +45,7 @@
     }
     onMultipleModelConfigsChange(true, newModelConfigs)
   }
-  const handleParamsChange = (params: FormValue) => {
+  const handleParamsChange = (params: any) => {
     const newModelConfigs = [...multipleModelConfigs]
     newModelConfigs[index] = {
       ...newModelConfigs[index],
@@ -73,15 +72,15 @@
       }) => (
         <div
           className={`
-            flex h-8 max-w-[200px] cursor-pointer items-center rounded-lg px-2
-            ${open && 'bg-state-base-hover'}
+            flex items-center max-w-[200px] h-8 px-2 rounded-lg cursor-pointer
+            ${open && 'bg-gray-100'}
             ${currentModel && currentModel.status !== ModelStatusEnum.active && '!bg-[#FFFAEB]'}
           `}
         >
           {
             currentProvider && (
               <ModelIcon
-                className='mr-1 !h-4 !w-4'
+                className='mr-1 !w-4 !h-4'
                 provider={currentProvider}
                 modelName={currentModel?.model}
               />
@@ -89,31 +88,31 @@
           }
           {
             !currentProvider && (
-              <div className='mr-1 flex h-4 w-4 items-center justify-center rounded'>
-                <CubeOutline className='h-4 w-4 text-text-accent' />
+              <div className='flex items-center justify-center mr-1 w-4 h-4 rounded border border-dashed border-primary-100'>
+                <CubeOutline className='w-[11px] h-[11px] text-primary-600' />
               </div>
             )
           }
           {
             currentModel && (
               <ModelName
-                className='mr-0.5 text-text-secondary'
+                className='mr-0.5 text-gray-800'
                 modelItem={currentModel}
               />
             )
           }
           {
             !currentModel && (
-              <div className='mr-0.5 truncate text-[13px] font-medium text-text-accent'>
+              <div className='mr-0.5 text-[13px] font-medium text-primary-600 truncate'>
                 {t('common.modelProvider.selectModel')}
               </div>
             )
           }
-          <RiArrowDownSLine className={`h-3 w-3 ${(currentModel && currentProvider) ? 'text-text-tertiary' : 'text-text-accent'}`} />
+          <RiArrowDownSLine className={`w-3 h-3 ${(currentModel && currentProvider) ? 'text-gray-800' : 'text-primary-600'}`} />
           {
             currentModel && currentModel.status !== ModelStatusEnum.active && (
               <Tooltip popupContent={MODEL_STATUS_TEXT[currentModel.status][language]}>
-                <AlertTriangle className='h-4 w-4 text-[#F79009]' />
+                <AlertTriangle className='w-4 h-4 text-[#F79009]' />
               </Tooltip>
             )
           }
diff --git a/app/components/app/configuration/debug/debug-with-multiple-model/text-generation-item.tsx b/app/components/app/configuration/debug/debug-with-multiple-model/text-generation-item.tsx
index 8f8555e..57c8f83 100644
--- a/app/components/app/configuration/debug/debug-with-multiple-model/text-generation-item.tsx
+++ b/app/components/app/configuration/debug/debug-with-multiple-model/text-generation-item.tsx
@@ -14,7 +14,6 @@
 import { useEventEmitterContextContext } from '@/context/event-emitter'
 import { useProviderContext } from '@/context/provider-context'
 import { useFeatures } from '@/app/components/base/features/hooks'
-import { noop } from 'lodash-es'
 
 type TextGenerationItemProps = {
   modelAndParameter: ModelAndParameter
@@ -125,9 +124,18 @@
       doSend(v.payload.message, v.payload.files)
   })
 
+  const varList = modelConfig.configs.prompt_variables.map((item: any) => {
+    return {
+      label: item.key,
+      value: inputs[item.key],
+    }
+  })
+
   return (
     <TextGeneration
-      className='flex h-full flex-col overflow-y-auto border-none'
+      className='flex flex-col h-full overflow-y-auto border-none'
+      innerClassName='grow flex flex-col'
+      contentClassName='grow'
       content={completion}
       isLoading={!completion && isResponding}
       isResponding={isResponding}
@@ -135,8 +143,9 @@
       siteInfo={null}
       messageId={messageId}
       isError={false}
-      onRetry={noop}
-      inSidePanel
+      onRetry={() => { }}
+      appId={appId}
+      varList={varList}
     />
   )
 }
diff --git a/app/components/app/configuration/debug/debug-with-single-model/index.tsx b/app/components/app/configuration/debug/debug-with-single-model/index.tsx
index d439b00..2b3c3b8 100644
--- a/app/components/app/configuration/debug/debug-with-single-model/index.tsx
+++ b/app/components/app/configuration/debug/debug-with-single-model/index.tsx
@@ -1,4 +1,10 @@
-import { memo, useCallback, useImperativeHandle, useMemo } from 'react'
+import {
+  forwardRef,
+  memo,
+  useCallback,
+  useImperativeHandle,
+  useMemo,
+} from 'react'
 import {
   useConfigFromDebugContext,
   useFormattingChangedSubscription,
@@ -20,8 +26,6 @@
 import { useFeatures } from '@/app/components/base/features/hooks'
 import { getLastAnswer, isValidGeneratedAnswer } from '@/app/components/base/chat/utils'
 import type { InputForm } from '@/app/components/base/chat/chat/type'
-import { canFindTool } from '@/utils'
-import type { FileEntity } from '@/app/components/base/file-uploader/types'
 
 type DebugWithSingleModelProps = {
   checkCanSend?: () => boolean
@@ -29,14 +33,9 @@
 export type DebugWithSingleModelRefType = {
   handleRestart: () => void
 }
-const DebugWithSingleModel = (
-  {
-    ref,
-    checkCanSend,
-  }: DebugWithSingleModelProps & {
-    ref: React.RefObject<DebugWithSingleModelRefType>;
-  },
-) => {
+const DebugWithSingleModel = forwardRef<DebugWithSingleModelRefType, DebugWithSingleModelProps>(({
+  checkCanSend,
+}, ref) => {
   const { userProfile } = useAppContext()
   const {
     modelConfig,
@@ -126,20 +125,16 @@
     )
   }, [appId, chatList, checkCanSend, completionParams, config, handleSend, inputs, modelConfig.mode, modelConfig.model_id, modelConfig.provider, textGenerationModelList])
 
-  const doRegenerate = useCallback((chatItem: ChatItemInTree, editedQuestion?: { message: string, files?: FileEntity[] }) => {
-    const question = editedQuestion ? chatItem : chatList.find(item => item.id === chatItem.parentMessageId)!
+  const doRegenerate = useCallback((chatItem: ChatItemInTree) => {
+    const question = chatList.find(item => item.id === chatItem.parentMessageId)!
     const parentAnswer = chatList.find(item => item.id === question.parentMessageId)
-    doSend(editedQuestion ? editedQuestion.message : question.content,
-      editedQuestion ? editedQuestion.files : question.message_files,
-      true,
-      isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null,
-    )
+    doSend(question.content, question.message_files, true, isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null)
   }, [chatList, doSend])
 
   const allToolIcons = useMemo(() => {
     const icons: Record<string, any> = {}
     modelConfig.agentConfig.tools?.forEach((item: any) => {
-      icons[item.tool_name] = collectionList.find((collection: any) => canFindTool(collection.id, item.provider_id))?.icon
+      icons[item.tool_name] = collectionList.find((collection: any) => collection.id === item.provider_id)?.icon
     })
     return icons
   }, [collectionList, modelConfig.agentConfig.tools])
@@ -178,7 +173,7 @@
       noSpacing
     />
   )
-}
+})
 
 DebugWithSingleModel.displayName = 'DebugWithSingleModel'
 
diff --git a/app/components/app/configuration/debug/index.tsx b/app/components/app/configuration/debug/index.tsx
index 477328d..480bd78 100644
--- a/app/components/app/configuration/debug/index.tsx
+++ b/app/components/app/configuration/debug/index.tsx
@@ -47,7 +47,6 @@
 import PromptLogModal from '@/app/components/base/prompt-log-modal'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { useFeatures, useFeaturesStore } from '@/app/components/base/features/hooks'
-import { noop } from 'lodash-es'
 
 type IDebug = {
   isAPIKeySet: boolean
@@ -392,8 +391,8 @@
   return (
     <>
       <div className="shrink-0">
-        <div className='flex items-center justify-between px-4 pb-2 pt-3'>
-          <div className='system-xl-semibold text-text-primary'>{t('appDebug.inputs.title')}</div>
+        <div className='flex items-center justify-between px-4 pt-3 pb-2'>
+          <div className='text-text-primary system-xl-semibold'>{t('appDebug.inputs.title')}</div>
           <div className='flex items-center'>
             {
               debugWithMultipleModel
@@ -404,10 +403,10 @@
                       onClick={() => onMultipleModelConfigsChange(true, [...multipleModelConfigs, { id: `${Date.now()}`, model: '', provider: '', parameters: {} }])}
                       disabled={multipleModelConfigs.length >= 4}
                     >
-                      <RiAddLine className='mr-1 h-3.5 w-3.5' />
+                      <RiAddLine className='mr-1 w-3.5 h-3.5' />
                       {t('common.modelProvider.addModel')}({multipleModelConfigs.length}/4)
                     </Button>
-                    <div className='mx-2 h-[14px] w-[1px] bg-divider-regular' />
+                    <div className='mx-2 w-[1px] h-[14px] bg-divider-regular' />
                   </>
                 )
                 : null
@@ -418,7 +417,7 @@
                   popupContent={t('common.operation.refresh')}
                 >
                   <ActionButton onClick={clearConversation}>
-                    <RefreshCcw01 className='h-4 w-4' />
+                    <RefreshCcw01 className='w-4 h-4' />
                   </ActionButton>
                 </TooltipPlus>
                 {varList.length > 0 && (
@@ -427,10 +426,10 @@
                       popupContent={t('workflow.panel.userInputField')}
                     >
                       <ActionButton state={expanded ? ActionButtonState.Active : undefined} onClick={() => setExpanded(!expanded)}>
-                        <RiEqualizer2Line className='h-4 w-4' />
+                        <RiEqualizer2Line className='w-4 h-4' />
                       </ActionButton>
                     </TooltipPlus>
-                    {expanded && <div className='absolute bottom-[-14px] right-[5px] z-10 h-3 w-3 rotate-45 border-l-[0.5px] border-t-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg' />}
+                    {expanded && <div className='absolute z-10 bottom-[-14px] right-[5px] w-3 h-3 bg-components-panel-on-panel-item-bg border-l-[0.5px] border-t-[0.5px] border-components-panel-border-subtle rotate-45' />}
                   </div>
                 )}
               </>
@@ -458,7 +457,7 @@
       </div>
       {
         debugWithMultipleModel && (
-          <div className='mt-3 grow overflow-hidden' ref={ref}>
+          <div className='grow mt-3 overflow-hidden' ref={ref}>
             <DebugWithMultipleModel
               multipleModelConfigs={multipleModelConfigs}
               onMultipleModelConfigsChange={onMultipleModelConfigsChange}
@@ -490,10 +489,10 @@
       }
       {
         !debugWithMultipleModel && (
-          <div className="flex grow flex-col" ref={ref}>
+          <div className="flex flex-col grow" ref={ref}>
             {/* Chat */}
             {mode !== AppType.completion && (
-              <div className='h-0 grow overflow-hidden'>
+              <div className='grow h-0 overflow-hidden'>
                 <DebugWithSingleModel
                   ref={debugWithSingleModelRef}
                   checkCanSend={checkCanSend}
@@ -516,16 +515,19 @@
                         isInstalledApp={false}
                         messageId={messageId}
                         isError={false}
-                        onRetry={noop}
+                        onRetry={() => { }}
+                        supportAnnotation
+                        appId={appId}
+                        varList={varList}
                         siteInfo={null}
                       />
                     </div>
                   </>
                 )}
                 {!completionRes && !isResponding && (
-                  <div className='flex grow flex-col items-center justify-center gap-2'>
-                    <RiSparklingFill className='h-12 w-12 text-text-empty-state-icon' />
-                    <div className='system-sm-regular text-text-quaternary'>{t('appDebug.noResult')}</div>
+                  <div className='grow flex flex-col items-center justify-center gap-2'>
+                    <RiSparklingFill className='w-12 h-12 text-text-empty-state-icon' />
+                    <div className='text-text-quaternary system-sm-regular'>{t('appDebug.noResult')}</div>
                   </div>
                 )}
               </>
diff --git a/app/components/app/configuration/features/chat-group/opening-statement/index.tsx b/app/components/app/configuration/features/chat-group/opening-statement/index.tsx
new file mode 100644
index 0000000..6d16660
--- /dev/null
+++ b/app/components/app/configuration/features/chat-group/opening-statement/index.tsx
@@ -0,0 +1,300 @@
+/* eslint-disable multiline-ternary */
+'use client'
+import type { FC } from 'react'
+import React, { useEffect, useRef, useState } from 'react'
+import {
+  RiAddLine,
+  RiDeleteBinLine,
+} from '@remixicon/react'
+import { useContext } from 'use-context-selector'
+import produce from 'immer'
+import { useTranslation } from 'react-i18next'
+import { useBoolean } from 'ahooks'
+import { ReactSortable } from 'react-sortablejs'
+import cn from '@/utils/classnames'
+import ConfigContext from '@/context/debug-configuration'
+import Panel from '@/app/components/app/configuration/base/feature-panel'
+import Button from '@/app/components/base/button'
+import OperationBtn from '@/app/components/app/configuration/base/operation-btn'
+import { getInputKeys } from '@/app/components/base/block-input'
+import ConfirmAddVar from '@/app/components/app/configuration/config-prompt/confirm-add-var'
+import { getNewVar } from '@/utils/var'
+import { varHighlightHTML } from '@/app/components/app/configuration/base/var-highlight'
+import Toast from '@/app/components/base/toast'
+
+const MAX_QUESTION_NUM = 10
+
+export type IOpeningStatementProps = {
+  value: string
+  readonly?: boolean
+  onChange?: (value: string) => void
+  suggestedQuestions?: string[]
+  onSuggestedQuestionsChange?: (value: string[]) => void
+}
+
+// regex to match the {{}} and replace it with a span
+const regex = /\{\{([^}]+)\}\}/g
+
+const OpeningStatement: FC<IOpeningStatementProps> = ({
+  value = '',
+  readonly,
+  onChange,
+  suggestedQuestions = [],
+  onSuggestedQuestionsChange = () => { },
+}) => {
+  const { t } = useTranslation()
+  const {
+    modelConfig,
+    setModelConfig,
+  } = useContext(ConfigContext)
+  const promptVariables = modelConfig.configs.prompt_variables
+  const [notIncludeKeys, setNotIncludeKeys] = useState<string[]>([])
+
+  const hasValue = !!(value || '').trim()
+  const inputRef = useRef<HTMLTextAreaElement>(null)
+
+  const [isFocus, { setTrue: didSetFocus, setFalse: setBlur }] = useBoolean(false)
+
+  const setFocus = () => {
+    didSetFocus()
+    setTimeout(() => {
+      const input = inputRef.current
+      if (input) {
+        input.focus()
+        input.setSelectionRange(input.value.length, input.value.length)
+      }
+    }, 0)
+  }
+
+  const [tempValue, setTempValue] = useState(value)
+  useEffect(() => {
+    setTempValue(value || '')
+  }, [value])
+
+  const [tempSuggestedQuestions, setTempSuggestedQuestions] = useState(suggestedQuestions || [])
+  const notEmptyQuestions = tempSuggestedQuestions.filter(question => !!question && question.trim())
+  const coloredContent = (tempValue || '')
+    .replace(/</g, '&lt;')
+    .replace(/>/g, '&gt;')
+    .replace(regex, varHighlightHTML({ name: '$1' })) // `<span class="${highLightClassName}">{{$1}}</span>`
+    .replace(/\n/g, '<br />')
+
+  const handleEdit = () => {
+    if (readonly)
+      return
+    setFocus()
+  }
+
+  const [isShowConfirmAddVar, { setTrue: showConfirmAddVar, setFalse: hideConfirmAddVar }] = useBoolean(false)
+
+  const handleCancel = () => {
+    setBlur()
+    setTempValue(value)
+    setTempSuggestedQuestions(suggestedQuestions)
+  }
+
+  const handleConfirm = () => {
+    if (!(tempValue || '').trim()) {
+      Toast.notify({
+        type: 'error',
+        message: t('common.errorMsg.fieldRequired', {
+          field: t('appDebug.openingStatement.title'),
+        }),
+      })
+      return
+    }
+    const keys = getInputKeys(tempValue)
+    const promptKeys = promptVariables.map(item => item.key)
+    let notIncludeKeys: string[] = []
+
+    if (promptKeys.length === 0) {
+      if (keys.length > 0)
+        notIncludeKeys = keys
+    }
+    else {
+      notIncludeKeys = keys.filter(key => !promptKeys.includes(key))
+    }
+
+    if (notIncludeKeys.length > 0) {
+      setNotIncludeKeys(notIncludeKeys)
+      showConfirmAddVar()
+      return
+    }
+    setBlur()
+    onChange?.(tempValue)
+    onSuggestedQuestionsChange(tempSuggestedQuestions)
+  }
+
+  const cancelAutoAddVar = () => {
+    onChange?.(tempValue)
+    hideConfirmAddVar()
+    setBlur()
+  }
+
+  const autoAddVar = () => {
+    const newModelConfig = produce(modelConfig, (draft) => {
+      draft.configs.prompt_variables = [...draft.configs.prompt_variables, ...notIncludeKeys.map(key => getNewVar(key, 'string'))]
+    })
+    onChange?.(tempValue)
+    setModelConfig(newModelConfig)
+    hideConfirmAddVar()
+    setBlur()
+  }
+
+  const headerRight = !readonly ? (
+    isFocus ? (
+      <div className='flex items-center space-x-1'>
+        <Button
+          variant='ghost'
+          size='small'
+          onClick={handleCancel}
+        >
+          {t('common.operation.cancel')}
+        </Button>
+        <Button
+          onClick={handleConfirm}
+          variant="primary"
+          size='small'
+        >
+          {t('common.operation.save')}
+        </Button>
+      </div>
+    ) : (
+      <OperationBtn type='edit' actionName={hasValue ? '' : t('appDebug.openingStatement.writeOpener') as string} onClick={handleEdit} />
+    )
+  ) : null
+
+  const renderQuestions = () => {
+    return isFocus ? (
+      <div>
+        <div className='flex items-center py-2'>
+          <div className='shrink-0 flex space-x-0.5 leading-[18px] text-xs font-medium text-gray-500'>
+            <div className='uppercase'>{t('appDebug.openingStatement.openingQuestion')}</div>
+            <div>路</div>
+            <div>{tempSuggestedQuestions.length}/{MAX_QUESTION_NUM}</div>
+          </div>
+          <div className='ml-3 grow w-0 h-px bg-[#243, 244, 246]'></div>
+        </div>
+        <ReactSortable
+          className="space-y-1"
+          list={tempSuggestedQuestions.map((name, index) => {
+            return {
+              id: index,
+              name,
+            }
+          })}
+          setList={list => setTempSuggestedQuestions(list.map(item => item.name))}
+          handle='.handle'
+          ghostClass="opacity-50"
+          animation={150}
+        >
+          {tempSuggestedQuestions.map((question, index) => {
+            return (
+              <div className='group relative rounded-lg border border-gray-200 flex items-center pl-2.5 hover:border-gray-300 hover:bg-white' key={index}>
+                <div className='handle flex items-center justify-center w-4 h-4 cursor-grab'>
+                  <svg width="6" height="10" viewBox="0 0 6 10" fill="none" xmlns="http://www.w3.org/2000/svg">
+                    <path fillRule="evenodd" clipRule="evenodd" d="M1 2C1.55228 2 2 1.55228 2 1C2 0.447715 1.55228 0 1 0C0.447715 0 0 0.447715 0 1C0 1.55228 0.447715 2 1 2ZM1 6C1.55228 6 2 5.55228 2 5C2 4.44772 1.55228 4 1 4C0.447715 4 0 4.44772 0 5C0 5.55228 0.447715 6 1 6ZM6 1C6 1.55228 5.55228 2 5 2C4.44772 2 4 1.55228 4 1C4 0.447715 4.44772 0 5 0C5.55228 0 6 0.447715 6 1ZM5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6ZM2 9C2 9.55229 1.55228 10 1 10C0.447715 10 0 9.55229 0 9C0 8.44771 0.447715 8 1 8C1.55228 8 2 8.44771 2 9ZM5 10C5.55228 10 6 9.55229 6 9C6 8.44771 5.55228 8 5 8C4.44772 8 4 8.44771 4 9C4 9.55229 4.44772 10 5 10Z" fill="#98A2B3" />
+                  </svg>
+                </div>
+                <input
+                  type="input"
+                  value={question || ''}
+                  onChange={(e) => {
+                    const value = e.target.value
+                    setTempSuggestedQuestions(tempSuggestedQuestions.map((item, i) => {
+                      if (index === i)
+                        return value
+
+                      return item
+                    }))
+                  }}
+                  className={'w-full overflow-x-auto pl-1.5 pr-8 text-sm leading-9 text-gray-900 border-0 grow h-9 bg-transparent focus:outline-none cursor-pointer rounded-lg'}
+                />
+
+                <div
+                  className='block absolute top-1/2 translate-y-[-50%] right-1.5 p-1 rounded-md cursor-pointer hover:bg-[#FEE4E2] hover:text-[#D92D20]'
+                  onClick={() => {
+                    setTempSuggestedQuestions(tempSuggestedQuestions.filter((_, i) => index !== i))
+                  }}
+                >
+                  <RiDeleteBinLine className='w-3.5 h-3.5' />
+                </div>
+              </div>
+            )
+          })}</ReactSortable>
+        {tempSuggestedQuestions.length < MAX_QUESTION_NUM && (
+          <div
+            onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }}
+            className='mt-1 flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100 hover:bg-gray-200'>
+            <RiAddLine className='w-4 h-4' />
+            <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
+          </div>
+        )}
+      </div>
+    ) : (
+      <div className='mt-1.5 flex flex-wrap'>
+        {notEmptyQuestions.map((question, index) => {
+          return (
+            <div key={index} className='mt-1 mr-1 max-w-full truncate last:mr-0 shrink-0 leading-8 items-center px-2.5 rounded-lg border border-gray-200 shadow-xs bg-white text-[13px] font-normal text-gray-900 cursor-pointer'>
+              {question}
+            </div>
+          )
+        })}
+      </div>
+    )
+  }
+
+  return (
+    <Panel
+      className={cn(isShowConfirmAddVar && 'h-[220px]', 'relative mt-4 !bg-gray-25')}
+      title={t('appDebug.openingStatement.title')}
+      headerIcon={
+        <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+          <path fillRule="evenodd" clipRule="evenodd" d="M8.33353 1.33301C4.83572 1.33301 2.00019 4.16854 2.00019 7.66634C2.00019 8.37301 2.11619 9.05395 2.3307 9.69036C2.36843 9.80229 2.39063 9.86853 2.40507 9.91738L2.40979 9.93383L2.40729 9.93903C2.39015 9.97437 2.36469 10.0218 2.31705 10.11L1.2158 12.1484C1.14755 12.2746 1.07633 12.4064 1.02735 12.5209C0.978668 12.6348 0.899813 12.8437 0.938613 13.0914C0.984094 13.3817 1.15495 13.6373 1.40581 13.7903C1.61981 13.9208 1.843 13.9279 1.96683 13.9264C2.09141 13.925 2.24036 13.9095 2.38314 13.8947L5.81978 13.5395C5.87482 13.5338 5.9036 13.5309 5.92468 13.5292L5.92739 13.529L5.93564 13.532C5.96154 13.5413 5.99666 13.5548 6.0573 13.5781C6.76459 13.8506 7.53244 13.9997 8.33353 13.9997C11.8313 13.9997 14.6669 11.1641 14.6669 7.66634C14.6669 4.16854 11.8313 1.33301 8.33353 1.33301ZM5.9799 5.72116C6.73142 5.08698 7.73164 5.27327 8.33144 5.96584C8.93125 5.27327 9.91854 5.09365 10.683 5.72116C11.4474 6.34867 11.5403 7.41567 10.9501 8.16572C10.5845 8.6304 9.6668 9.47911 9.02142 10.0576C8.78435 10.2702 8.66582 10.3764 8.52357 10.4192C8.40154 10.456 8.26134 10.456 8.13931 10.4192C7.99706 10.3764 7.87853 10.2702 7.64147 10.0576C6.99609 9.47911 6.07839 8.6304 5.71276 8.16572C5.12259 7.41567 5.22839 6.35534 5.9799 5.72116Z" fill="#E74694" />
+        </svg>
+      }
+      headerRight={headerRight}
+      hasHeaderBottomBorder={!hasValue}
+      isFocus={isFocus}
+    >
+      <div className='text-gray-700 text-sm'>
+        {(hasValue || (!hasValue && isFocus)) ? (
+          <>
+            {isFocus
+              ? (
+                <div>
+                  <textarea
+                    ref={inputRef}
+                    value={tempValue}
+                    rows={3}
+                    onChange={e => setTempValue(e.target.value)}
+                    className="w-full px-0 text-sm  border-0 bg-transparent focus:outline-none "
+                    placeholder={t('appDebug.openingStatement.placeholder') as string}
+                  >
+                  </textarea>
+                </div>
+              )
+              : (
+                <div dangerouslySetInnerHTML={{
+                  __html: coloredContent,
+                }}></div>
+              )}
+            {renderQuestions()}
+          </>) : (
+          <div className='pt-2 pb-1 text-xs text-gray-500'>{t('appDebug.openingStatement.noDataPlaceHolder')}</div>
+        )}
+
+        {isShowConfirmAddVar && (
+          <ConfirmAddVar
+            varNameArr={notIncludeKeys}
+            onConfirm={autoAddVar}
+            onCancel={cancelAutoAddVar}
+            onHide={hideConfirmAddVar}
+          />
+        )}
+
+      </div>
+    </Panel>
+  )
+}
+export default React.memo(OpeningStatement)
diff --git a/app/components/app/configuration/features/experience-enhance-group/more-like-this/index.tsx b/app/components/app/configuration/features/experience-enhance-group/more-like-this/index.tsx
index e110d0c..f63ed1c 100644
--- a/app/components/app/configuration/features/experience-enhance-group/more-like-this/index.tsx
+++ b/app/components/app/configuration/features/experience-enhance-group/more-like-this/index.tsx
@@ -34,13 +34,13 @@
       noBodySpacing
     >
       {!isHideTip && (
-        <div className='flex h-9 items-center justify-between rounded-b-xl bg-[#FFFAEB] px-3 text-xs text-gray-700'>
+        <div className='flex justify-between items-center h-9 px-3 rounded-b-xl bg-[#FFFAEB] text-xs text-gray-700'>
           <div className='flex  items-center space-x-2'>
             <div>{warningIcon}</div>
             <div>{t('appDebug.feature.moreLikeThis.tip')}</div>
           </div>
-          <div className='flex h-4 w-4 cursor-pointer items-center justify-center' onClick={() => setIsHideTip(true)}>
-            <XMarkIcon className="h-3 w-3" />
+          <div className='flex items-center justify-center w-4 h-4 cursor-pointer' onClick={() => setIsHideTip(true)}>
+            <XMarkIcon className="w-3 h-3" />
           </div>
         </div>
       )}
diff --git a/app/components/app/configuration/index.tsx b/app/components/app/configuration/index.tsx
index 5b8f865..3a5ee38 100644
--- a/app/components/app/configuration/index.tsx
+++ b/app/components/app/configuration/index.tsx
@@ -2,7 +2,6 @@
 import type { FC } from 'react'
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import useSWR from 'swr'
-import { basePath } from '@/utils/var'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
 import { usePathname } from 'next/navigation'
@@ -20,7 +19,6 @@
 } from '@/app/components/app/configuration/debug/hooks'
 import type { ModelAndParameter } from '@/app/components/app/configuration/debug/types'
 import Button from '@/app/components/base/button'
-import Divider from '@/app/components/base/divider'
 import Loading from '@/app/components/base/loading'
 import AppPublisher from '@/app/components/app/app-publisher/features-wrapper'
 import type {
@@ -61,7 +59,7 @@
   useTextGenerationCurrentProviderAndModelAndModelList,
 } from '@/app/components/header/account-setting/model-provider-page/hooks'
 import { fetchCollectionList } from '@/service/tools'
-import type { Collection } from '@/app/components/tools/types'
+import { type Collection } from '@/app/components/tools/types'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import {
   getMultipleRetrievalConfig,
@@ -73,12 +71,6 @@
 import { SupportUploadFileTypes } from '@/app/components/workflow/types'
 import NewFeaturePanel from '@/app/components/base/features/new-feature-panel'
 import { fetchFileUploadConfig } from '@/service/common'
-import {
-  correctModelProvider,
-  correctToolProvider,
-} from '@/utils'
-import PluginDependency from '@/app/components/workflow/plugin-dependency'
-import { supportFunctionCall } from '@/utils/tool-call'
 
 type PublishConfig = {
   modelConfig: ModelConfig
@@ -96,7 +88,7 @@
   })))
   const { data: fileUploadConfigResponse } = useSWR({ url: '/files/upload' }, fetchFileUploadConfig)
 
-  const latestPublishedAt = useMemo(() => appDetail?.model_config?.updated_at, [appDetail])
+  const latestPublishedAt = useMemo(() => appDetail?.model_config.updated_at, [appDetail])
   const [formattingChanged, setFormattingChanged] = useState(false)
   const { setShowAccountSettingModal } = useModalContext()
   const [hasFetchedDetail, setHasFetchedDetail] = useState(false)
@@ -164,7 +156,7 @@
   const setCompletionParams = (value: FormValue) => {
     const params = { ...value }
 
-    // eslint-disable-next-line ts/no-use-before-define
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
     if ((!params.stop || params.stop.length === 0) && (modeModeTypeRef.current === ModelModeType.completion)) {
       params.stop = getTempStop()
       setTempStop([])
@@ -173,7 +165,7 @@
   }
 
   const [modelConfig, doSetModelConfig] = useState<ModelConfig>({
-    provider: 'langgenius/openai/openai',
+    provider: 'openai',
     model_id: 'gpt-3.5-turbo',
     mode: ModelModeType.unset,
     configs: {
@@ -193,12 +185,16 @@
     dataSets: [],
     agentConfig: DEFAULT_AGENT_SETTING,
   })
+
   const isAgent = mode === 'agent-chat'
 
-  const isOpenAI = modelConfig.provider === 'langgenius/openai/openai'
+  const isOpenAI = modelConfig.provider === 'openai'
 
   const [collectionList, setCollectionList] = useState<Collection[]>([])
-  const [datasetConfigs, doSetDatasetConfigs] = useState<DatasetConfigs>({
+  useEffect(() => {
+
+  }, [])
+  const [datasetConfigs, setDatasetConfigs] = useState<DatasetConfigs>({
     retrieval_model: RETRIEVE_TYPE.multiWay,
     reranking_model: {
       reranking_provider_name: '',
@@ -211,11 +207,6 @@
       datasets: [],
     },
   })
-  const datasetConfigsRef = useRef(datasetConfigs)
-  const setDatasetConfigs = useCallback((newDatasetConfigs: DatasetConfigs) => {
-    doSetDatasetConfigs(newDatasetConfigs)
-    datasetConfigsRef.current = newDatasetConfigs
-  }, [])
 
   const setModelConfig = (newModelConfig: ModelConfig) => {
     doSetModelConfig(newModelConfig)
@@ -228,7 +219,7 @@
   }, [modelModeType])
 
   const [dataSets, setDataSets] = useState<DataSet[]>([])
-  const contextVar = modelConfig.configs.prompt_variables.find(item => item.is_context_var)?.key
+  const contextVar = modelConfig.configs.prompt_variables.find((item: any) => item.is_context_var)?.key
   const hasSetContextVar = !!contextVar
   const [isShowSelectDataSet, { setTrue: showSelectDataSet, setFalse: hideSelectDataSet }] = useBoolean(false)
   const selectedIds = dataSets.map(item => item.id)
@@ -246,7 +237,7 @@
     formattingChangedDispatcher()
     let newDatasets = data
     if (data.find(item => !item.name)) { // has not loaded selected dataset
-      const newSelected = produce(data, (draft) => {
+      const newSelected = produce(data, (draft: any) => {
         data.forEach((item, index) => {
           if (!item.name) { // not fetched database
             const newItem = dataSets.find(i => i.id === item.id)
@@ -295,7 +286,6 @@
     })
 
     setDatasetConfigs({
-      ...datasetConfigsRef.current,
       ...retrievalConfig,
       reranking_model: {
         reranking_provider_name: retrievalConfig?.reranking_model?.provider || '',
@@ -346,7 +336,12 @@
     },
   )
 
-  const isFunctionCall = supportFunctionCall(currModel?.features)
+  const isFunctionCall = (() => {
+    const features = currModel?.features
+    if (!features)
+      return false
+    return features.includes(ModelFeatureEnum.toolCall) || features.includes(ModelFeatureEnum.multiToolCall)
+  })()
 
   // Fill old app data missing model mode.
   useEffect(() => {
@@ -366,7 +361,7 @@
   const [canReturnToSimpleMode, setCanReturnToSimpleMode] = useState(true)
   const setPromptMode = async (mode: PromptMode) => {
     if (mode === PromptMode.advanced) {
-      // eslint-disable-next-line ts/no-use-before-define
+      // eslint-disable-next-line @typescript-eslint/no-use-before-define
       await migrateToDefaultPrompt()
       setCanReturnToSimpleMode(true)
     }
@@ -504,12 +499,6 @@
   useEffect(() => {
     (async () => {
       const collectionList = await fetchCollectionList()
-      if (basePath) {
-        collectionList.forEach((item) => {
-          if (typeof item.icon == 'string' && !item.icon.includes(basePath))
-            item.icon = `${basePath}${item.icon}`
-        })
-      }
       setCollectionList(collectionList)
       fetchAppDetail({ url: '/apps', id: appId }).then(async (res: any) => {
         setMode(res.mode)
@@ -520,7 +509,7 @@
           if (modelConfig.chat_prompt_config && modelConfig.chat_prompt_config.prompt.length > 0)
             setChatPromptConfig(modelConfig.chat_prompt_config)
           else
-            setChatPromptConfig(clone(DEFAULT_CHAT_PROMPT_CONFIG))
+            setChatPromptConfig(clone(DEFAULT_CHAT_PROMPT_CONFIG) as any)
           setCompletionPromptConfig(modelConfig.completion_prompt_config || clone(DEFAULT_COMPLETION_PROMPT_CONFIG) as any)
           setCanReturnToSimpleMode(false)
         }
@@ -558,19 +547,8 @@
         if (modelConfig.retriever_resource)
           setCitationConfig(modelConfig.retriever_resource)
 
-        if (modelConfig.annotation_reply) {
-          let annotationConfig = modelConfig.annotation_reply
-          if (modelConfig.annotation_reply.enabled) {
-            annotationConfig = {
-              ...modelConfig.annotation_reply,
-              embedding_model: {
-                ...modelConfig.annotation_reply.embedding_model,
-                embedding_provider_name: correctModelProvider(modelConfig.annotation_reply.embedding_model.embedding_provider_name),
-              },
-            }
-          }
-          setAnnotationConfig(annotationConfig, true)
-        }
+        if (modelConfig.annotation_reply)
+          setAnnotationConfig(modelConfig.annotation_reply, true)
 
         if (modelConfig.sensitive_word_avoidance)
           setModerationConfig(modelConfig.sensitive_word_avoidance)
@@ -580,7 +558,7 @@
 
         const config = {
           modelConfig: {
-            provider: correctModelProvider(model.provider),
+            provider: model.provider,
             model_id: model.name,
             mode: model.mode,
             configs: {
@@ -622,6 +600,7 @@
             annotation_reply: modelConfig.annotation_reply,
             external_data_tools: modelConfig.external_data_tools,
             dataSets: datasets || [],
+            // eslint-disable-next-line multiline-ternary
             agentConfig: res.mode === 'agent-chat' ? {
               max_iteration: DEFAULT_AGENT_SETTING.max_iteration,
               ...modelConfig.agent_mode,
@@ -630,15 +609,10 @@
               tools: modelConfig.agent_mode?.tools.filter((tool: any) => {
                 return !tool.dataset
               }).map((tool: any) => {
-                const toolInCollectionList = collectionList.find(c => tool.provider_id === c.id)
                 return {
                   ...tool,
-                  isDeleted: res.deleted_tools?.some((deletedTool: any) => deletedTool.id === tool.id && deletedTool.tool_name === tool.tool_name),
-                  notAuthor: toolInCollectionList?.is_team_authorization === false,
-                  ...(tool.provider_type === 'builtin' ? {
-                    provider_id: correctToolProvider(tool.provider_name, !!toolInCollectionList),
-                    provider_name: correctToolProvider(tool.provider_name, !!toolInCollectionList),
-                  } : {}),
+                  isDeleted: res.deleted_tools?.includes(tool.tool_name),
+                  notAuthor: collectionList.find(c => tool.provider_id === c.id)?.is_team_authorization === false,
                 }
               }),
             } : DEFAULT_AGENT_SETTING,
@@ -651,13 +625,7 @@
 
         syncToPublishedConfig(config)
         setPublishedConfig(config)
-        const retrievalConfig = getMultipleRetrievalConfig({
-          ...modelConfig.dataset_configs,
-          reranking_model: modelConfig.dataset_configs.reranking_model && {
-            provider: modelConfig.dataset_configs.reranking_model.reranking_provider_name,
-            model: modelConfig.dataset_configs.reranking_model.reranking_model_name,
-          },
-        }, datasets, datasets, {
+        const retrievalConfig = getMultipleRetrievalConfig(modelConfig.dataset_configs, datasets, datasets, {
           provider: currentRerankProvider?.provider,
           model: currentRerankModel?.model,
         })
@@ -665,12 +633,6 @@
           retrieval_model: RETRIEVE_TYPE.multiWay,
           ...modelConfig.dataset_configs,
           ...retrievalConfig,
-          ...(retrievalConfig.reranking_model ? {
-            reranking_model: {
-              reranking_model_name: retrievalConfig.reranking_model.model,
-              reranking_provider_name: correctModelProvider(retrievalConfig.reranking_model.provider),
-            },
-          } : {}),
         })
         setHasFetchedDetail(true)
       })
@@ -826,7 +788,7 @@
   }
 
   if (isLoading) {
-    return <div className='flex h-full items-center justify-center'>
+    return <div className='flex items-center justify-center h-full'>
       <Loading type='area' />
     </div>
   }
@@ -895,7 +857,6 @@
       dataSets,
       setDataSets,
       datasetConfigs,
-      datasetConfigsRef,
       setDatasetConfigs,
       hasSetContextVar,
       isShowVisionConfig,
@@ -909,16 +870,16 @@
     >
       <FeaturesProvider features={featuresData}>
         <>
-          <div className="flex h-full flex-col">
-            <div className='relative flex h-[200px] grow pt-14'>
+          <div className="flex flex-col h-full">
+            <div className='relative flex grow h-[200px] pt-14'>
               {/* Header */}
-              <div className='bg-default-subtle absolute left-0 top-0 h-14 w-full'>
-                <div className='flex h-14 items-center justify-between px-6'>
+              <div className='absolute top-0 left-0 w-full bg-white h-14'>
+                <div className='flex items-center justify-between px-6 h-14'>
                   <div className='flex items-center'>
-                    <div className='system-xl-semibold text-text-primary'>{t('appDebug.orchestrate')}</div>
-                    <div className='flex h-[14px] items-center space-x-1 text-xs'>
+                    <div className='text-base font-semibold leading-6 text-gray-900'>{t('appDebug.orchestrate')}</div>
+                    <div className='flex items-center h-[14px] space-x-1 text-xs'>
                       {isAdvancedMode && (
-                        <div className='system-xs-medium-uppercase ml-1 flex h-5 items-center rounded-md border border-components-button-secondary-border px-1.5 uppercase text-text-tertiary'>{t('appDebug.promptMode.advanced')}</div>
+                        <div className='ml-1 flex items-center h-5 px-1.5 border border-gray-100 rounded-md text-[11px] font-medium text-gray-500 uppercase'>{t('appDebug.promptMode.advanced')}</div>
                       )}
                     </div>
                   </div>
@@ -954,13 +915,13 @@
                           debugWithMultipleModel={debugWithMultipleModel}
                           onDebugWithMultipleModelChange={handleDebugWithMultipleModelChange}
                         />
-                        <Divider type='vertical' className='mx-2 h-[14px]' />
+                        <div className='mx-2 w-[1px] h-[14px] bg-gray-200'></div>
                       </>
                     )}
                     {isMobile && (
-                      <Button className='mr-2 !h-8 !text-[13px] font-medium' onClick={showDebugPanel}>
+                      <Button className='!h-8 !text-[13px] font-medium' onClick={showDebugPanel}>
                         <span className='mr-1'>{t('appDebug.operation.debugConfig')}</span>
-                        <CodeBracketIcon className="h-4 w-4 text-text-tertiary" />
+                        <CodeBracketIcon className="w-4 h-4 text-gray-500" />
                       </Button>
                     )}
                     <AppPublisher {...{
@@ -975,11 +936,11 @@
                   </div>
                 </div>
               </div>
-              <div className={`flex h-full w-full shrink-0 flex-col sm:w-1/2 ${debugWithMultipleModel && 'max-w-[560px]'}`}>
+              <div className={`w-full sm:w-1/2 shrink-0 flex flex-col h-full ${debugWithMultipleModel && 'max-w-[560px]'}`}>
                 <Config />
               </div>
-              {!isMobile && <div className="relative flex h-full w-1/2 grow flex-col overflow-y-auto " style={{ borderColor: 'rgba(0, 0, 0, 0.02)' }}>
-                <div className='flex grow flex-col rounded-tl-2xl border-l-[0.5px] border-t-[0.5px] border-components-panel-border bg-chatbot-bg '>
+              {!isMobile && <div className="relative flex flex-col w-1/2 h-full overflow-y-auto grow " style={{ borderColor: 'rgba(0, 0, 0, 0.02)' }}>
+                <div className='grow flex flex-col border-t-[0.5px] border-l-[0.5px] rounded-tl-2xl border-components-panel-border bg-chatbot-bg '>
                   <Debug
                     isAPIKeySet={isAPIKeySet}
                     onSetting={() => setShowAccountSettingModal({ payload: 'provider' })}
@@ -1031,7 +992,7 @@
             />
           )}
           {isMobile && (
-            <Drawer showClose isOpen={isShowDebugPanel} onClose={hideDebugPanel} mask footer={null}>
+            <Drawer showClose isOpen={isShowDebugPanel} onClose={hideDebugPanel} mask footer={null} panelClassname='!bg-gray-50'>
               <Debug
                 isAPIKeySet={isAPIKeySet}
                 onSetting={() => setShowAccountSettingModal({ payload: 'provider' })}
@@ -1059,7 +1020,6 @@
               onAutoAddPromptVariable={handleAddPromptVariable}
             />
           )}
-          <PluginDependency />
         </>
       </FeaturesProvider>
     </ConfigContext.Provider>
diff --git a/app/components/app/configuration/prompt-mode/advanced-mode-waring.tsx b/app/components/app/configuration/prompt-mode/advanced-mode-waring.tsx
index cca775c..6fb58ba 100644
--- a/app/components/app/configuration/prompt-mode/advanced-mode-waring.tsx
+++ b/app/components/app/configuration/prompt-mode/advanced-mode-waring.tsx
@@ -18,14 +18,14 @@
   if (!show)
     return null
   return (
-    <div className='mb-3 rounded-xl border border-[#FEF0C7] bg-[#FFFAEB] px-4 py-3' >
-      <div className='mb-2 text-xs font-bold leading-[18px] text-[#DC6803]'>{t('appDebug.promptMode.advancedWarning.title')}</div>
-      <div className='flex items-center justify-between'>
+    <div className='mb-3 py-3 px-4 border border-[#FEF0C7] rounded-xl bg-[#FFFAEB]' >
+      <div className='mb-2 text-xs leading-[18px] font-bold text-[#DC6803]'>{t('appDebug.promptMode.advancedWarning.title')}</div>
+      <div className='flex justify-between items-center'>
         <div className='text-xs leading-[18px] '>
           <span className='text-gray-700'>{t('appDebug.promptMode.advancedWarning.description')}</span>
           <a
             className='font-medium text-[#155EEF]'
-            href={`https://docs.dify.ai/${locale === LanguagesSupported[1] ? '/guides/features/prompt-engineering' : 'features/prompt-engineering'}`}
+            href={`https://docs.dify.ai/${locale === LanguagesSupported[1] ? 'v/zh-hans/guides/application-design/prompt-engineering' : 'features/prompt-engineering'}`}
             target='_blank' rel='noopener noreferrer'
           >
             {t('appDebug.promptMode.advancedWarning.learnMore')}
@@ -35,12 +35,12 @@
         <div className='flex items-center space-x-1'>
           <div
             onClick={onReturnToSimpleMode}
-            className='flex h-6 shrink-0 cursor-pointer items-center space-x-1 rounded-lg border border-gray-200 bg-indigo-600 px-2 text-xs font-semibold text-white shadow-xs'
+            className='shrink-0 flex items-center h-6 px-2 bg-indigo-600 shadow-xs border border-gray-200 rounded-lg text-white text-xs font-semibold cursor-pointer space-x-1'
           >
             <div className='text-xs font-semibold uppercase'>{t('appDebug.promptMode.switchBack')}</div>
           </div>
           <div
-            className='flex h-6 cursor-pointer items-center rounded-md border border-gray-200 bg-[#fff] px-2 text-xs font-medium text-primary-600 shadow-xs'
+            className='flex items-center h-6 px-2 rounded-md bg-[#fff] border border-gray-200 shadow-xs text-xs font-medium text-primary-600 cursor-pointer'
             onClick={() => setShow(false)}
           >{t('appDebug.promptMode.advancedWarning.ok')}</div>
         </div>
diff --git a/app/components/app/configuration/prompt-value-panel/index.tsx b/app/components/app/configuration/prompt-value-panel/index.tsx
index e509ee5..a4aadc9 100644
--- a/app/components/app/configuration/prompt-value-panel/index.tsx
+++ b/app/components/app/configuration/prompt-value-panel/index.tsx
@@ -79,7 +79,7 @@
   }
 
   const onClear = () => {
-    const newInputs: Inputs = {}
+    const newInputs: Record<string, any> = {}
     promptVariables.forEach((item) => {
       newInputs[item.key] = ''
     })
@@ -90,28 +90,28 @@
 
   return (
     <>
-      <div className='relative z-[1] mx-3 rounded-xl border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg shadow-md'>
+      <div className='relative z-[1] mx-3 border-[0.5px] bg-components-panel-on-panel-item-bg border-components-panel-border-subtle rounded-xl shadow-md'>
         <div className={cn('px-4 pt-3', userInputFieldCollapse ? 'pb-3' : 'pb-1')}>
-          <div className='flex cursor-pointer items-center gap-0.5 py-0.5' onClick={() => setUserInputFieldCollapse(!userInputFieldCollapse)}>
-            <div className='system-md-semibold-uppercase text-text-secondary'>{t('appDebug.inputs.userInputField')}</div>
-            {userInputFieldCollapse && <RiArrowRightSLine className='h-4 w-4 text-text-secondary'/>}
-            {!userInputFieldCollapse && <RiArrowDownSLine className='h-4 w-4 text-text-secondary'/>}
+          <div className='flex items-center gap-0.5 py-0.5 cursor-pointer' onClick={() => setUserInputFieldCollapse(!userInputFieldCollapse)}>
+            <div className='text-text-secondary system-md-semibold-uppercase'>{t('appDebug.inputs.userInputField')}</div>
+            {userInputFieldCollapse && <RiArrowRightSLine className='w-4 h-4 text-text-secondary'/>}
+            {!userInputFieldCollapse && <RiArrowDownSLine className='w-4 h-4 text-text-secondary'/>}
           </div>
           {!userInputFieldCollapse && (
-            <div className='system-xs-regular mt-1 text-text-tertiary'>{t('appDebug.inputs.completionVarTip')}</div>
+            <div className='mt-1 text-text-tertiary system-xs-regular'>{t('appDebug.inputs.completionVarTip')}</div>
           )}
         </div>
         {!userInputFieldCollapse && promptVariables.length > 0 && (
-          <div className='px-4 pb-4 pt-3'>
+          <div className='px-4 pt-3 pb-4'>
             {promptVariables.map(({ key, name, type, options, max_length, required }, index) => (
               <div
                 key={key}
                 className='mb-4 last-of-type:mb-0'
               >
                 <div>
-                  <div className='system-sm-semibold mb-1 flex h-6 items-center gap-1 text-text-secondary'>
+                  <div className='h-6 mb-1 flex items-center gap-1 text-text-secondary system-sm-semibold'>
                     <div className='truncate'>{name || key}</div>
-                    {!required && <span className='system-xs-regular text-text-tertiary'>{t('workflow.panel.optional')}</span>}
+                    {!required && <span className='text-text-tertiary system-xs-regular'>{t('workflow.panel.optional')}</span>}
                   </div>
                   <div className='grow'>
                     {type === 'string' && (
@@ -125,7 +125,7 @@
                     )}
                     {type === 'paragraph' && (
                       <Textarea
-                        className='h-[120px] grow'
+                        className='grow h-[120px]'
                         placeholder={name}
                         value={inputs[key] ? `${inputs[key]}` : ''}
                         onChange={(e) => { handleInputValueChange(key, e.target.value) }}
@@ -156,8 +156,8 @@
               </div>
             ))}
             {visionConfig?.enabled && (
-              <div className="mt-3 justify-between xl:flex">
-                <div className="mr-1 w-[120px] shrink-0 py-2 text-sm text-text-primary">{t('common.imageUploader.imageUpload')}</div>
+              <div className="mt-3 xl:flex justify-between">
+                <div className="mr-1 py-2 shrink-0 w-[120px] text-sm text-gray-900">{t('common.imageUploader.imageUpload')}</div>
                 <div className='grow'>
                   <TextGenerationImageUploader
                     settings={visionConfig}
@@ -174,7 +174,7 @@
           </div>
         )}
         {!userInputFieldCollapse && (
-          <div className='flex justify-between border-t border-divider-subtle p-4 pt-3'>
+          <div className='flex justify-between p-4 pt-3 border-t border-divider-subtle'>
             <Button className='w-[72px]' onClick={onClear}>{t('common.operation.clear')}</Button>
             {canNotRun && (
               <Tooltip popupContent={t('appDebug.otherError.promptNoBeEmpty')} needsDelay>
@@ -183,7 +183,7 @@
                   disabled={canNotRun}
                   onClick={() => onSend && onSend()}
                   className="w-[96px]">
-                  <RiPlayLargeFill className="mr-0.5 h-4 w-4 shrink-0" aria-hidden="true" />
+                  <RiPlayLargeFill className="shrink-0 w-4 h-4 mr-0.5" aria-hidden="true" />
                   {t('appDebug.inputs.run')}
                 </Button>
               </Tooltip>
@@ -194,7 +194,7 @@
                 disabled={canNotRun}
                 onClick={() => onSend && onSend()}
                 className="w-[96px]">
-                <RiPlayLargeFill className="mr-0.5 h-4 w-4 shrink-0" aria-hidden="true" />
+                <RiPlayLargeFill className="shrink-0 w-4 h-4 mr-0.5" aria-hidden="true" />
                 {t('appDebug.inputs.run')}
               </Button>
             )}
diff --git a/app/components/app/configuration/style.module.css b/app/components/app/configuration/style.module.css
index 01f2c93..f0e57ce 100644
--- a/app/components/app/configuration/style.module.css
+++ b/app/components/app/configuration/style.module.css
@@ -11,4 +11,4 @@
   height: 3px;
   background-color: rgba(68, 76, 231, 0.18);
   transform: skewX(-30deg);
-}
+}
\ No newline at end of file
diff --git a/app/components/app/configuration/toolbox/annotation/config-param.tsx b/app/components/app/configuration/toolbox/annotation/config-param.tsx
new file mode 100644
index 0000000..e418a76
--- /dev/null
+++ b/app/components/app/configuration/toolbox/annotation/config-param.tsx
@@ -0,0 +1,124 @@
+'use client'
+import type { FC } from 'react'
+import React from 'react'
+import { useTranslation } from 'react-i18next'
+import { useContext } from 'use-context-selector'
+import { usePathname, useRouter } from 'next/navigation'
+import ConfigParamModal from './config-param-modal'
+import Panel from '@/app/components/app/configuration/base/feature-panel'
+import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication'
+import Tooltip from '@/app/components/base/tooltip'
+import { LinkExternal02, Settings04 } from '@/app/components/base/icons/src/vender/line/general'
+import ConfigContext from '@/context/debug-configuration'
+import type { EmbeddingModelConfig } from '@/app/components/app/annotation/type'
+import { fetchAnnotationConfig, updateAnnotationScore } from '@/service/annotation'
+import type { AnnotationReplyConfig as AnnotationReplyConfigType } from '@/models/debug'
+
+type Props = {
+  onEmbeddingChange: (embeddingModel: EmbeddingModelConfig) => void
+  onScoreChange: (score: number, embeddingModel?: EmbeddingModelConfig) => void
+}
+
+export const Item: FC<{ title: string; tooltip: string; children: JSX.Element }> = ({
+  title,
+  tooltip,
+  children,
+}) => {
+  return (
+    <div>
+      <div className='flex items-center space-x-1'>
+        <div>{title}</div>
+        <Tooltip
+          popupContent={
+            <div className='max-w-[200px] leading-[18px] text-[13px] font-medium text-gray-800'>{tooltip}</div>
+          }
+        />
+      </div>
+      <div>{children}</div>
+    </div>
+  )
+}
+
+const AnnotationReplyConfig: FC<Props> = ({
+  onEmbeddingChange,
+  onScoreChange,
+}) => {
+  const { t } = useTranslation()
+  const router = useRouter()
+  const pathname = usePathname()
+  const matched = pathname.match(/\/app\/([^/]+)/)
+  const appId = (matched?.length && matched[1]) ? matched[1] : ''
+  const {
+    annotationConfig,
+  } = useContext(ConfigContext)
+
+  const [isShowEdit, setIsShowEdit] = React.useState(false)
+
+  return (
+    <>
+      <Panel
+        className="mt-4"
+        headerIcon={
+          <MessageFast className='w-4 h-4 text-[#444CE7]' />
+        }
+        title={t('appDebug.feature.annotation.title')}
+        headerRight={
+          <div className='flex items-center'>
+            <div
+              className='flex items-center rounded-md h-7 px-3 space-x-1 text-gray-700 cursor-pointer hover:bg-gray-200'
+              onClick={() => { setIsShowEdit(true) }}
+            >
+              <Settings04 className="w-[14px] h-[14px]" />
+              <div className='text-xs font-medium'>
+
+                {t('common.operation.params')}
+              </div>
+            </div>
+            <div
+              className='ml-1 flex items-center h-7 px-3 space-x-1 leading-[18px] text-xs font-medium text-gray-700 rounded-md cursor-pointer hover:bg-gray-200'
+              onClick={() => {
+                router.push(`/app/${appId}/annotations`)
+              }}>
+              <div>{t('appDebug.feature.annotation.cacheManagement')}</div>
+              <LinkExternal02 className='w-3.5 h-3.5' />
+            </div>
+          </div>
+        }
+        noBodySpacing
+      />
+      {isShowEdit && (
+        <ConfigParamModal
+          appId={appId}
+          isShow
+          onHide={() => {
+            setIsShowEdit(false)
+          }}
+          onSave={async (embeddingModel, score) => {
+            const annotationConfig = await fetchAnnotationConfig(appId) as AnnotationReplyConfigType
+            let isEmbeddingModelChanged = false
+            if (
+              embeddingModel.embedding_model_name !== annotationConfig.embedding_model.embedding_model_name
+              || embeddingModel.embedding_provider_name !== annotationConfig.embedding_model.embedding_provider_name
+            ) {
+              await onEmbeddingChange(embeddingModel)
+              isEmbeddingModelChanged = true
+            }
+
+            if (score !== annotationConfig.score_threshold) {
+              await updateAnnotationScore(appId, annotationConfig.id, score)
+              if (isEmbeddingModelChanged)
+                onScoreChange(score, embeddingModel)
+
+              else
+                onScoreChange(score)
+            }
+
+            setIsShowEdit(false)
+          }}
+          annotationConfig={annotationConfig}
+        />
+      )}
+    </>
+  )
+}
+export default React.memo(AnnotationReplyConfig)
diff --git a/app/components/app/configuration/toolbox/index.tsx b/app/components/app/configuration/toolbox/index.tsx
new file mode 100644
index 0000000..00ea301
--- /dev/null
+++ b/app/components/app/configuration/toolbox/index.tsx
@@ -0,0 +1,45 @@
+'use client'
+
+import type { FC } from 'react'
+import React from 'react'
+import { useTranslation } from 'react-i18next'
+import GroupName from '../base/group-name'
+import Moderation from './moderation'
+import Annotation from './annotation/config-param'
+import type { EmbeddingModelConfig } from '@/app/components/app/annotation/type'
+
+export type ToolboxProps = {
+  showModerationSettings: boolean
+  showAnnotation: boolean
+  onEmbeddingChange: (embeddingModel: EmbeddingModelConfig) => void
+  onScoreChange: (score: number, embeddingModel?: EmbeddingModelConfig) => void
+}
+
+const Toolbox: FC<ToolboxProps> = ({
+  showModerationSettings,
+  showAnnotation,
+  onEmbeddingChange,
+  onScoreChange,
+}) => {
+  const { t } = useTranslation()
+
+  return (
+    <div className='mt-7'>
+      <GroupName name={t('appDebug.feature.toolbox.title')} />
+      {
+        showModerationSettings && (
+          <Moderation />
+        )
+      }
+      {
+        showAnnotation && (
+          <Annotation
+            onEmbeddingChange={onEmbeddingChange}
+            onScoreChange={onScoreChange}
+          />
+        )
+      }
+    </div>
+  )
+}
+export default React.memo(Toolbox)
diff --git a/app/components/app/configuration/tools/external-data-tool-modal.tsx b/app/components/app/configuration/tools/external-data-tool-modal.tsx
index ee4bd57..eefdd45 100644
--- a/app/components/app/configuration/tools/external-data-tool-modal.tsx
+++ b/app/components/app/configuration/tools/external-data-tool-modal.tsx
@@ -19,7 +19,6 @@
 } from '@/models/common'
 import { useToastContext } from '@/app/components/base/toast'
 import AppIcon from '@/app/components/base/app-icon'
-import { noop } from 'lodash-es'
 
 const systemTypes = ['api']
 type ExternalDataToolModalProps = {
@@ -151,7 +150,7 @@
       return
     }
 
-    if (localeData.variable && !/[a-zA-Z_]\w{0,29}/g.test(localeData.variable)) {
+    if (localeData.variable && !/[a-zA-Z_][a-zA-Z0-9_]{0,29}/g.test(localeData.variable)) {
       notify({ type: 'error', message: t('appDebug.varKeyError.notValid', { key: t('appDebug.feature.tools.modal.variableName.title') }) })
       return
     }
@@ -186,14 +185,14 @@
   return (
     <Modal
       isShow
-      onClose={noop}
-      className='!w-[640px] !max-w-none !p-8 !pb-6'
+      onClose={() => { }}
+      className='!p-8 !pb-6 !max-w-none !w-[640px]'
     >
       <div className='mb-2 text-xl font-semibold text-gray-900'>
         {`${action} ${t('appDebug.variableConfig.apiBasedVar')}`}
       </div>
       <div className='py-2'>
-        <div className='text-sm font-medium leading-9 text-gray-900'>
+        <div className='leading-9 text-sm font-medium text-gray-900'>
           {t('common.apiBasedExtension.type')}
         </div>
         <SimpleSelect
@@ -208,46 +207,46 @@
         />
       </div>
       <div className='py-2'>
-        <div className='text-sm font-medium leading-9 text-gray-900'>
+        <div className='leading-9 text-sm font-medium text-gray-900'>
           {t('appDebug.feature.tools.modal.name.title')}
         </div>
         <div className='flex items-center'>
           <input
             value={localeData.label || ''}
             onChange={e => handleValueChange({ label: e.target.value })}
-            className='mr-2 block h-9 grow appearance-none rounded-lg bg-gray-100 px-3 text-sm text-gray-900 outline-none'
+            className='grow block mr-2 px-3 h-9 bg-gray-100 rounded-lg text-sm text-gray-900 outline-none appearance-none'
             placeholder={t('appDebug.feature.tools.modal.name.placeholder') || ''}
           />
           <AppIcon size='large'
             onClick={() => { setShowEmojiPicker(true) }}
-            className='!h-9 !w-9 cursor-pointer rounded-lg border-[0.5px] border-black/5 '
+            className='!w-9 !h-9 rounded-lg border-[0.5px] border-black/5 cursor-pointer '
             icon={localeData.icon}
             background={localeData.icon_background}
           />
         </div>
       </div>
       <div className='py-2'>
-        <div className='text-sm font-medium leading-9 text-gray-900'>
+        <div className='leading-9 text-sm font-medium text-gray-900'>
           {t('appDebug.feature.tools.modal.variableName.title')}
         </div>
         <input
           value={localeData.variable || ''}
           onChange={e => handleValueChange({ variable: e.target.value })}
-          className='block h-9 w-full appearance-none rounded-lg bg-gray-100 px-3 text-sm text-gray-900 outline-none'
+          className='block px-3 w-full h-9 bg-gray-100 rounded-lg text-sm text-gray-900 outline-none appearance-none'
           placeholder={t('appDebug.feature.tools.modal.variableName.placeholder') || ''}
         />
       </div>
       {
         localeData.type === 'api' && (
           <div className='py-2'>
-            <div className='flex h-9 items-center justify-between text-sm font-medium text-gray-900'>
+            <div className='flex justify-between items-center h-9 text-sm font-medium text-gray-900'>
               {t('common.apiBasedExtension.selector.title')}
               <a
                 href={t('common.apiBasedExtension.linkUrl') || '/'}
                 target='_blank' rel='noopener noreferrer'
                 className='group flex items-center text-xs font-normal text-gray-500 hover:text-primary-600'
               >
-                <BookOpen01 className='mr-1 h-3 w-3 text-gray-500 group-hover:text-primary-600' />
+                <BookOpen01 className='mr-1 w-3 h-3 text-gray-500 group-hover:text-primary-600' />
                 {t('common.apiBasedExtension.link')}
               </a>
             </div>
@@ -269,7 +268,7 @@
           />
         )
       }
-      <div className='mt-6 flex items-center justify-end'>
+      <div className='flex items-center justify-end mt-6'>
         <Button
           onClick={onCancel}
           className='mr-2'
diff --git a/app/components/app/configuration/tools/index.tsx b/app/components/app/configuration/tools/index.tsx
index ba586bb..03525d7 100644
--- a/app/components/app/configuration/tools/index.tsx
+++ b/app/components/app/configuration/tools/index.tsx
@@ -82,24 +82,24 @@
   }
 
   return (
-    <div className='mt-3 rounded-xl bg-gray-50 px-3'>
-      <div className='flex h-12 items-center'>
-        <div className='flex grow items-center'>
+    <div className='mt-3 px-3 rounded-xl bg-gray-50'>
+      <div className='flex items-center h-12'>
+        <div className='grow flex items-center'>
           <div
             className={`
-              group mr-1 flex h-6 w-6 items-center justify-center rounded-md
-              ${externalDataToolsConfig.length && 'hover:bg-white hover:shadow-xs'}
+              group flex items-center justify-center mr-1 w-6 h-6 rounded-md 
+              ${externalDataToolsConfig.length && 'hover:shadow-xs hover:bg-white'}
             `}
             onClick={() => setExpanded(v => !v)}
           >
             {
               externalDataToolsConfig.length
-                ? <Tool03 className='h-4 w-4 text-[#444CE7] group-hover:hidden' />
-                : <Tool03 className='h-4 w-4 text-[#444CE7]' />
+                ? <Tool03 className='group-hover:hidden w-4 h-4 text-[#444CE7]' />
+                : <Tool03 className='w-4 h-4 text-[#444CE7]' />
             }
             {
               !!externalDataToolsConfig.length && (
-                <RiArrowDownSLine className={`hidden h-4 w-4 cursor-pointer text-primary-600 group-hover:block ${expanded ? 'rotate-180' : 'rotate-0'}`} />
+                <RiArrowDownSLine className={`hidden group-hover:block w-4 h-4 text-primary-600 cursor-pointer ${expanded ? 'rotate-180' : 'rotate-0'}`} />
               )
             }
           </div>
@@ -118,15 +118,15 @@
           !expanded && !!externalDataToolsConfig.length && (
             <>
               <div className='mr-3 text-xs text-gray-500'>{t('appDebug.feature.tools.toolsInUse', { count: externalDataToolsConfig.length })}</div>
-              <div className='mr-1 h-3.5 w-[1px] bg-gray-200' />
+              <div className='mr-1 w-[1px] h-3.5 bg-gray-200' />
             </>
           )
         }
         <div
-          className='flex h-7 cursor-pointer items-center px-3 text-xs font-medium text-gray-700'
+          className='flex items-center h-7 px-3 text-xs font-medium text-gray-700 cursor-pointer'
           onClick={() => handleOpenExternalDataToolModal({}, -1)}
         >
-          <RiAddLine className='mr-[5px] h-3.5 w-3.5 ' />
+          <RiAddLine className='mr-[5px] w-3.5 h-3.5 ' />
           {t('common.operation.add')}
         </div>
       </div>
@@ -137,11 +137,11 @@
               externalDataToolsConfig.map((item, index: number) => (
                 <div
                   key={`${index}-${item.type}-${item.label}-${item.variable}`}
-                  className='group mb-1 flex items-center rounded-lg border-[0.5px] border-gray-200 bg-white px-2.5 py-2 shadow-xs last-of-type:mb-0'
+                  className='group flex items-center mb-1 last-of-type:mb-0 px-2.5 py-2 rounded-lg border-[0.5px] border-gray-200 bg-white shadow-xs'
                 >
-                  <div className='flex grow items-center'>
+                  <div className='grow flex items-center'>
                     <AppIcon size='large'
-                      className='mr-2 !h-6 !w-6 rounded-md border-[0.5px] border-black/5'
+                      className='mr-2 !w-6 !h-6 rounded-md border-[0.5px] border-black/5'
                       icon={item.icon}
                       background={item.icon_background}
                     />
@@ -161,18 +161,18 @@
                     </Tooltip>
                   </div>
                   <div
-                    className='mr-1 hidden h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-black/5 group-hover:flex'
+                    className='hidden group-hover:flex items-center justify-center mr-1 w-6 h-6 hover:bg-black/5 rounded-md cursor-pointer'
                     onClick={() => handleOpenExternalDataToolModal(item, index)}
                   >
-                    <Settings01 className='h-4 w-4 text-gray-500' />
+                    <Settings01 className='w-4 h-4 text-gray-500' />
                   </div>
                   <div
-                    className='group/action hidden h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-[#FEE4E2] group-hover:flex'
+                    className='hidden group/action group-hover:flex items-center justify-center w-6 h-6 hover:bg-[#FEE4E2] rounded-md cursor-pointer'
                     onClick={() => setExternalDataToolsConfig([...externalDataToolsConfig.slice(0, index), ...externalDataToolsConfig.slice(index + 1)])}
                   >
-                    <RiDeleteBinLine className='h-4 w-4 text-gray-500 group-hover/action:text-[#D92D20]' />
+                    <RiDeleteBinLine className='w-4 h-4 text-gray-500 group-hover/action:text-[#D92D20]' />
                   </div>
-                  <div className='ml-2 mr-3 hidden h-3.5 w-[1px] bg-gray-200 group-hover:block' />
+                  <div className='hidden group-hover:block ml-2 mr-3 w-[1px] h-3.5 bg-gray-200' />
                   <Switch
                     size='l'
                     defaultValue={item.enabled}
diff --git a/app/components/app/create-app-dialog/app-card/index.tsx b/app/components/app/create-app-dialog/app-card/index.tsx
index 7f7ede0..f180794 100644
--- a/app/components/app/create-app-dialog/app-card/index.tsx
+++ b/app/components/app/create-app-dialog/app-card/index.tsx
@@ -20,8 +20,8 @@
   const { t } = useTranslation()
   const { app: appBasicInfo } = app
   return (
-    <div className={cn('group relative flex h-[132px] cursor-pointer flex-col overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-on-panel-item-bg p-4  shadow-xs hover:shadow-lg')}>
-      <div className='flex shrink-0 grow-0 items-center gap-3 pb-2'>
+    <div className={cn('p-4 h-[132px] relative overflow-hidden flex flex-col group bg-components-panel-on-panel-item-bg border-[0.5px] border-components-panel-border rounded-xl shadow-xs  hover:shadow-lg cursor-pointer')}>
+      <div className='flex items-center gap-3 pb-2 grow-0 shrink-0'>
         <div className='relative shrink-0'>
           <AppIcon
             size='large'
@@ -31,24 +31,24 @@
             imageUrl={appBasicInfo.icon_url}
           />
           <AppTypeIcon wrapperClassName='absolute -bottom-0.5 -right-0.5 w-4 h-4 rounded-[4px] border border-divider-regular outline outline-components-panel-on-panel-item-bg'
-            className='h-3 w-3' type={appBasicInfo.mode} />
+            className='w-3 h-3' type={appBasicInfo.mode} />
         </div>
-        <div className='flex grow flex-col gap-1'>
+        <div className='grow flex flex-col gap-1'>
           <div className='line-clamp-1'>
             <span className='system-md-semibold text-text-secondary' title={appBasicInfo.name}>{appBasicInfo.name}</span>
           </div>
           <AppTypeLabel className='system-2xs-medium-uppercase text-text-tertiary' type={app.app.mode} />
         </div>
       </div>
-      <div className="system-xs-regular py-1 text-text-tertiary">
+      <div className="py-1 system-xs-regular text-text-tertiary">
         <div className='line-clamp-3'>
           {app.description}
         </div>
       </div>
-      <div className={cn('absolute bottom-0 left-0 right-0 hidden bg-gradient-to-t from-components-panel-gradient-2 from-[60.27%] to-transparent p-4 pt-8 group-hover:flex')}>
-        <div className={cn('flex h-8 w-full items-center space-x-2')}>
+      <div className={cn('hidden absolute bottom-0 left-0 right-0 p-4 pt-8 group-hover:flex bg-gradient-to-t from-[60.27%] from-components-panel-gradient-2 to-transparent')}>
+        <div className={cn('flex items-center w-full space-x-2 h-8')}>
           <Button variant='primary' className='grow' onClick={() => onCreate()}>
-            <PlusIcon className='mr-1 h-4 w-4' />
+            <PlusIcon className='w-4 h-4 mr-1' />
             <span className='text-xs'>{t('app.newApp.useTemplate')}</span>
           </Button>
         </div>
diff --git a/app/components/app/create-app-dialog/app-list/index.tsx b/app/components/app/create-app-dialog/app-list/index.tsx
index 0b0b325..f158f21 100644
--- a/app/components/app/create-app-dialog/app-list/index.tsx
+++ b/app/components/app/create-app-dialog/app-list/index.tsx
@@ -27,7 +27,6 @@
 import Input from '@/app/components/base/input'
 import type { AppMode } from '@/types/app'
 import { DSLImportMode } from '@/models/app'
-import { usePluginDependencies } from '@/app/components/workflow/plugin-dependency/hooks'
 
 type AppsProps = {
   onSuccess?: () => void
@@ -120,7 +119,6 @@
 
   const [currApp, setCurrApp] = React.useState<App | null>(null)
   const [isShowCreateModal, setIsShowCreateModal] = React.useState(false)
-  const { handleCheckPluginDependencies } = usePluginDependencies()
   const onCreate: CreateAppModalProps['onConfirm'] = async ({
     name,
     icon_type,
@@ -128,7 +126,7 @@
     icon_background,
     description,
   }) => {
-    const { export_data, mode } = await fetchAppDetail(
+    const { export_data } = await fetchAppDetail(
       currApp?.app.id as string,
     )
     try {
@@ -148,12 +146,10 @@
       })
       if (onSuccess)
         onSuccess()
-      if (app.app_id)
-        await handleCheckPluginDependencies(app.app_id)
       localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
-      getRedirection(isCurrentWorkspaceEditor, { id: app.app_id!, mode }, push)
+      getRedirection(isCurrentWorkspaceEditor, { id: app.app_id }, push)
     }
-    catch {
+    catch (e) {
       Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
   }
@@ -167,12 +163,12 @@
   }
 
   return (
-    <div className='flex h-full flex-col'>
-      <div className='flex items-center justify-between border-b border-divider-burn py-3'>
+    <div className='h-full flex flex-col'>
+      <div className='flex justify-between items-center py-3 border-b border-divider-burn'>
         <div className='min-w-[180px] pl-5'>
           <span className='title-xl-semi-bold text-text-primary'>{t('app.newApp.startFromTemplate')}</span>
         </div>
-        <div className='flex max-w-[548px] flex-1 items-center rounded-xl border border-components-panel-border bg-components-panel-bg-blur p-1.5 shadow-md'>
+        <div className='flex-1 max-w-[548px] p-1.5 flex items-center rounded-xl shadow-md bg-components-panel-bg-blur border border-components-panel-border'>
           <AppTypeSelector value={currentType} onChange={setCurrentType} />
           <div className='h-[14px]'>
             <Divider type='vertical' />
@@ -180,31 +176,29 @@
           <Input
             showClearIcon
             wrapperClassName='w-full flex-1'
-            className='bg-transparent hover:border-transparent hover:bg-transparent focus:border-transparent focus:bg-transparent focus:shadow-none'
+            className='bg-transparent hover:bg-transparent focus:bg-transparent hover:border-transparent focus:border-transparent focus:shadow-none'
             placeholder={t('app.newAppFromTemplate.searchAllTemplate') as string}
             value={keywords}
             onChange={e => handleKeywordsChange(e.target.value)}
             onClear={() => handleKeywordsChange('')}
           />
         </div>
-        <div className='h-8 w-[180px]'></div>
+        <div className='w-[180px] h-8'></div>
       </div>
       <div className='relative flex flex-1 overflow-y-auto'>
-        {!searchKeywords && <div className='h-full w-[200px] p-4'>
-          <Sidebar current={currCategory as AppCategories} categories={categories} onClick={(category) => { setCurrCategory(category) }} onCreateFromBlank={onCreateFromBlank} />
+        {!searchKeywords && <div className='w-[200px] h-full p-4'>
+          <Sidebar current={currCategory as AppCategories} onClick={(category) => { setCurrCategory(category) }} onCreateFromBlank={onCreateFromBlank} />
         </div>}
-        <div className='h-full flex-1 shrink-0 grow overflow-auto border-l border-divider-burn p-6 pt-2'>
+        <div className='flex-1 h-full overflow-auto shrink-0 grow p-6 pt-2 border-l border-divider-burn'>
           {searchFilteredList && searchFilteredList.length > 0 && <>
-            <div className='pb-1 pt-4'>
+            <div className='pt-4 pb-1'>
               {searchKeywords
                 ? <p className='title-md-semi-bold text-text-tertiary'>{searchFilteredList.length > 1 ? t('app.newApp.foundResults', { count: searchFilteredList.length }) : t('app.newApp.foundResult', { count: searchFilteredList.length })}</p>
-                : <div className='flex h-[22px] items-center'>
-                  <AppCategoryLabel category={currCategory as AppCategories} className='title-md-semi-bold text-text-primary' />
-                </div>}
+                : <AppCategoryLabel category={currCategory as AppCategories} className='title-md-semi-bold text-text-primary' />}
             </div>
             <div
               className={cn(
-                'grid shrink-0 grid-cols-1 content-start gap-3 sm:grid-cols-1 md:grid-cols-2 xl:grid-cols-4 2xl:grid-cols-5 2k:grid-cols-6',
+                'grid content-start shrink-0 gap-3 grid-cols-1 sm:grid-cols-1 md:grid-cols-2 xl:grid-cols-4 2xl:grid-cols-5 2k:grid-cols-6',
               )}>
               {searchFilteredList.map(app => (
                 <AppCard
@@ -243,9 +237,9 @@
 
 function NoTemplateFound() {
   const { t } = useTranslation()
-  return <div className='w-full rounded-lg bg-workflow-process-bg p-4'>
-    <div className='mb-2 inline-flex h-8 w-8 items-center justify-center rounded-lg bg-components-card-bg shadow-lg'>
-      <RiRobot2Line className='h-5 w-5 text-text-tertiary' />
+  return <div className='p-4 rounded-lg w-full bg-workflow-process-bg'>
+    <div className='w-8 h-8 rounded-lg inline-flex items-center justify-center mb-2 shadow-lg bg-components-card-bg'>
+      <RiRobot2Line className='w-5 h-5 text-text-tertiary' />
     </div>
     <p className='title-md-semi-bold text-text-primary'>{t('app.newApp.noTemplateFound')}</p>
     <p className='system-sm-regular text-text-tertiary'>{t('app.newApp.noTemplateFoundTip')}</p>
diff --git a/app/components/app/create-app-dialog/app-list/sidebar.tsx b/app/components/app/create-app-dialog/app-list/sidebar.tsx
index 346de07..73b34c7 100644
--- a/app/components/app/create-app-dialog/app-list/sidebar.tsx
+++ b/app/components/app/create-app-dialog/app-list/sidebar.tsx
@@ -1,33 +1,43 @@
 'use client'
-import { RiStickyNoteAddLine, RiThumbUpLine } from '@remixicon/react'
+import { RiAppsFill, RiChatSmileAiFill, RiExchange2Fill, RiPassPendingFill, RiQuillPenAiFill, RiSpeakAiFill, RiStickyNoteAddLine, RiTerminalBoxFill, RiThumbUpFill } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import classNames from '@/utils/classnames'
 import Divider from '@/app/components/base/divider'
 
 export enum AppCategories {
   RECOMMENDED = 'Recommended',
+  ASSISTANT = 'Assistant',
+  AGENT = 'Agent',
+  HR = 'HR',
+  PROGRAMMING = 'Programming',
+  WORKFLOW = 'Workflow',
+  WRITING = 'Writing',
 }
 
 type SidebarProps = {
-  current: AppCategories | string
-  categories: string[]
-  onClick?: (category: AppCategories | string) => void
+  current: AppCategories
+  onClick?: (category: AppCategories) => void
   onCreateFromBlank?: () => void
 }
 
-export default function Sidebar({ current, categories, onClick, onCreateFromBlank }: SidebarProps) {
+export default function Sidebar({ current, onClick, onCreateFromBlank }: SidebarProps) {
   const { t } = useTranslation()
-  return <div className="flex h-full w-full flex-col">
-    <ul className='pt-0.5'>
+  return <div className="w-full h-full flex flex-col">
+    <ul>
       <CategoryItem category={AppCategories.RECOMMENDED} active={current === AppCategories.RECOMMENDED} onClick={onClick} />
     </ul>
-    <div className='system-xs-medium-uppercase mb-0.5 mt-3 px-3 pb-1 pt-2 text-text-tertiary'>{t('app.newAppFromTemplate.byCategories')}</div>
-    <ul className='flex grow flex-col gap-0.5'>
-      {categories.map(category => (<CategoryItem key={category} category={category} active={current === category} onClick={onClick} />))}
+    <div className='px-3 pt-2 pb-1 system-xs-medium-uppercase text-text-tertiary'>{t('app.newAppFromTemplate.byCategories')}</div>
+    <ul className='flex-grow flex flex-col gap-0.5'>
+      <CategoryItem category={AppCategories.ASSISTANT} active={current === AppCategories.ASSISTANT} onClick={onClick} />
+      <CategoryItem category={AppCategories.AGENT} active={current === AppCategories.AGENT} onClick={onClick} />
+      <CategoryItem category={AppCategories.HR} active={current === AppCategories.HR} onClick={onClick} />
+      <CategoryItem category={AppCategories.PROGRAMMING} active={current === AppCategories.PROGRAMMING} onClick={onClick} />
+      <CategoryItem category={AppCategories.WORKFLOW} active={current === AppCategories.WORKFLOW} onClick={onClick} />
+      <CategoryItem category={AppCategories.WRITING} active={current === AppCategories.WRITING} onClick={onClick} />
     </ul>
     <Divider bgStyle='gradient' />
-    <div className='flex cursor-pointer items-center gap-1 px-3 py-1 text-text-tertiary' onClick={onCreateFromBlank}>
-      <RiStickyNoteAddLine className='h-3.5 w-3.5' />
+    <div className='px-3 py-1 flex items-center gap-1 text-text-tertiary cursor-pointer' onClick={onCreateFromBlank}>
+      <RiStickyNoteAddLine className='w-3.5 h-3.5' />
       <span className='system-xs-regular'>{t('app.newApp.startFromBlank')}</span>
     </div>
   </div>
@@ -35,26 +45,47 @@
 
 type CategoryItemProps = {
   active: boolean
-  category: AppCategories | string
-  onClick?: (category: AppCategories | string) => void
+  category: AppCategories
+  onClick?: (category: AppCategories) => void
 }
 function CategoryItem({ category, active, onClick }: CategoryItemProps) {
   return <li
-    className={classNames('p-1 pl-3 h-8 rounded-lg flex items-center gap-2 group cursor-pointer hover:bg-state-base-hover [&.active]:bg-state-base-active', active && 'active')}
+    className={classNames('p-1 pl-3 rounded-lg flex items-center gap-2 group cursor-pointer hover:bg-state-base-hover [&.active]:bg-state-base-active', active && 'active')}
     onClick={() => { onClick?.(category) }}>
-    {category === AppCategories.RECOMMENDED && <div className='inline-flex h-5 w-5 items-center justify-center rounded-md'>
-      <RiThumbUpLine className='h-4 w-4 text-components-menu-item-text group-[.active]:text-components-menu-item-text-active' />
-    </div>}
+    <div className='w-5 h-5 inline-flex items-center justify-center rounded-md border border-divider-regular bg-components-icon-bg-midnight-solid group-[.active]:bg-components-icon-bg-blue-solid'>
+      <AppCategoryIcon category={category} />
+    </div>
     <AppCategoryLabel category={category}
       className={classNames('system-sm-medium text-components-menu-item-text group-[.active]:text-components-menu-item-text-active group-hover:text-components-menu-item-text-hover', active && 'system-sm-semibold')} />
   </li >
 }
 
 type AppCategoryLabelProps = {
-  category: AppCategories | string
+  category: AppCategories
   className?: string
 }
 export function AppCategoryLabel({ category, className }: AppCategoryLabelProps) {
   const { t } = useTranslation()
-  return <span className={className}>{category === AppCategories.RECOMMENDED ? t('app.newAppFromTemplate.sidebar.Recommended') : category}</span>
+  return <span className={className}>{t(`app.newAppFromTemplate.sidebar.${category}`)}</span>
+}
+
+type AppCategoryIconProps = {
+  category: AppCategories
+}
+function AppCategoryIcon({ category }: AppCategoryIconProps) {
+  if (category === AppCategories.AGENT)
+    return <RiSpeakAiFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  if (category === AppCategories.ASSISTANT)
+    return <RiChatSmileAiFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  if (category === AppCategories.HR)
+    return <RiPassPendingFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  if (category === AppCategories.PROGRAMMING)
+    return <RiTerminalBoxFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  if (category === AppCategories.RECOMMENDED)
+    return <RiThumbUpFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  if (category === AppCategories.WRITING)
+    return <RiQuillPenAiFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  if (category === AppCategories.WORKFLOW)
+    return <RiExchange2Fill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
+  return <RiAppsFill className='w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100' />
 }
diff --git a/app/components/app/create-app-dialog/index.tsx b/app/components/app/create-app-dialog/index.tsx
index 794bbbf..acc3650 100644
--- a/app/components/app/create-app-dialog/index.tsx
+++ b/app/components/app/create-app-dialog/index.tsx
@@ -1,6 +1,4 @@
 'use client'
-import { useCallback } from 'react'
-import { useKeyPress } from 'ahooks'
 import AppList from './app-list'
 import FullScreenModal from '@/app/components/base/fullscreen-modal'
 
@@ -12,13 +10,6 @@
 }
 
 const CreateAppTemplateDialog = ({ show, onSuccess, onClose, onCreateFromBlank }: CreateAppDialogProps) => {
-  const handleEscKeyPress = useCallback(() => {
-    if (show)
-      onClose()
-  }, [show, onClose])
-
-  useKeyPress('esc', handleEscKeyPress)
-
   return (
     <FullScreenModal
       open={show}
diff --git a/app/components/app/create-app-dialog/newAppDialog.tsx b/app/components/app/create-app-dialog/newAppDialog.tsx
new file mode 100644
index 0000000..2145977
--- /dev/null
+++ b/app/components/app/create-app-dialog/newAppDialog.tsx
@@ -0,0 +1,57 @@
+import { Fragment, useCallback } from 'react'
+import type { ReactNode } from 'react'
+import { Dialog, Transition } from '@headlessui/react'
+import cn from '@/utils/classnames'
+
+type DialogProps = {
+  className?: string
+  children: ReactNode
+  show: boolean
+  onClose?: () => void
+}
+
+const NewAppDialog = ({
+  className,
+  children,
+  show,
+  onClose,
+}: DialogProps) => {
+  const close = useCallback(() => onClose?.(), [onClose])
+  return (
+    <Transition appear show={show} as={Fragment}>
+      <Dialog as="div" className="relative z-40" onClose={close}>
+        <Transition.Child
+          as={Fragment}
+          enter="ease-out duration-300"
+          enterFrom="opacity-0"
+          enterTo="opacity-100"
+          leave="ease-in duration-200"
+          leaveFrom="opacity-100"
+          leaveTo="opacity-0"
+        >
+          <div className="fixed inset-0 bg-black bg-opacity-25" />
+        </Transition.Child>
+
+        <div className="fixed inset-0">
+          <div className="flex flex-col items-center justify-center min-h-full pt-[56px]">
+            <Transition.Child
+              as={Fragment}
+              enter="ease-out duration-300"
+              enterFrom="opacity-0 scale-95"
+              enterTo="opacity-100 scale-100"
+              leave="ease-in duration-200"
+              leaveFrom="opacity-100 scale-100"
+              leaveTo="opacity-0 scale-95"
+            >
+              <Dialog.Panel className={cn('grow relative w-full h-[calc(100vh-56px)] p-0 overflow-hidden text-left align-middle transition-all transform bg-white shadow-xl rounded-t-xl', className)}>
+                {children}
+              </Dialog.Panel>
+            </Transition.Child>
+          </div>
+        </div>
+      </Dialog>
+    </Transition >
+  )
+}
+
+export default NewAppDialog
diff --git a/app/components/app/create-app-modal/index.tsx b/app/components/app/create-app-modal/index.tsx
index f91f440..eb78258 100644
--- a/app/components/app/create-app-modal/index.tsx
+++ b/app/components/app/create-app-modal/index.tsx
@@ -1,9 +1,9 @@
 'use client'
 
-import { useCallback, useEffect, useRef, useState } from 'react'
+import { useCallback, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 
-import { useRouter, useSearchParams } from 'next/navigation'
+import { useRouter } from 'next/navigation'
 import { useContext, useContextSelector } from 'use-context-selector'
 import { RiArrowRightLine, RiCommandLine, RiCornerDownLeftLine, RiExchange2Fill } from '@remixicon/react'
 import Link from 'next/link'
@@ -14,12 +14,10 @@
 import Button from '@/app/components/base/button'
 import Divider from '@/app/components/base/divider'
 import cn from '@/utils/classnames'
-import { WEB_PREFIX } from '@/config'
 import AppsContext, { useAppContext } from '@/context/app-context'
 import { useProviderContext } from '@/context/provider-context'
 import { ToastContext } from '@/app/components/base/toast'
 import type { AppMode } from '@/types/app'
-import { AppModes } from '@/types/app'
 import { createApp } from '@/service/apps'
 import Input from '@/app/components/base/input'
 import Textarea from '@/app/components/base/textarea'
@@ -29,7 +27,6 @@
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { getRedirection } from '@/utils/app-redirection'
 import FullScreenModal from '@/app/components/base/fullscreen-modal'
-import useTheme from '@/hooks/use-theme'
 
 type CreateAppProps = {
   onSuccess: () => void
@@ -54,14 +51,6 @@
   const { isCurrentWorkspaceEditor } = useAppContext()
 
   const isCreatingRef = useRef(false)
-
-  const searchParams = useSearchParams()
-
-  useEffect(() => {
-    const category = searchParams.get('category')
-    if (category && AppModes.includes(category as AppMode))
-      setAppMode(category as AppMode)
-  }, [searchParams])
 
   const onCreate = useCallback(async () => {
     if (!appMode) {
@@ -91,7 +80,7 @@
       localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
       getRedirection(isCurrentWorkspaceEditor, app, push)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
     isCreatingRef.current = false
@@ -104,17 +93,17 @@
     handleCreateApp()
   })
   return <>
-    <div className='flex h-full justify-center overflow-y-auto overflow-x-hidden'>
-      <div className='flex flex-1 shrink-0 justify-end'>
+    <div className='flex justify-center h-full overflow-y-auto overflow-x-hidden'>
+      <div className='flex-1 shrink-0 flex justify-end'>
         <div className='px-10'>
-          <div className='h-6 w-full 2xl:h-[139px]' />
-          <div className='pb-6 pt-1'>
+          <div className='w-full h-6 2xl:h-[139px]' />
+          <div className='pt-1 pb-6'>
             <span className='title-2xl-semi-bold text-text-primary'>{t('app.newApp.startFromBlank')}</span>
           </div>
-          <div className='mb-2 leading-6'>
+          <div className='leading-6 mb-2'>
             <span className='system-sm-semibold text-text-secondary'>{t('app.newApp.chooseAppType')}</span>
           </div>
-          <div className='flex w-[660px] flex-col gap-4'>
+          <div className='flex flex-col w-[660px] gap-4'>
             <div>
               <div className='mb-2'>
                 <span className='system-2xs-medium-uppercase text-text-tertiary'>{t('app.newApp.forBeginners')}</span>
@@ -124,8 +113,8 @@
                   active={appMode === 'chat'}
                   title={t('app.types.chatbot')}
                   description={t('app.newApp.chatbotShortDescription')}
-                  icon={<div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-blue-solid'>
-                    <ChatBot className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
+                  icon={<div className='w-6 h-6 bg-components-icon-bg-blue-solid rounded-md flex items-center justify-center'>
+                    <ChatBot className='w-4 h-4 text-components-avatar-shape-fill-stop-100' />
                   </div>}
                   onClick={() => {
                     setAppMode('chat')
@@ -134,8 +123,8 @@
                   active={appMode === 'agent-chat'}
                   title={t('app.types.agent')}
                   description={t('app.newApp.agentShortDescription')}
-                  icon={<div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-violet-solid'>
-                    <Logic className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
+                  icon={<div className='w-6 h-6 bg-components-icon-bg-violet-solid rounded-md flex items-center justify-center'>
+                    <Logic className='w-4 h-4 text-components-avatar-shape-fill-stop-100' />
                   </div>}
                   onClick={() => {
                     setAppMode('agent-chat')
@@ -144,8 +133,8 @@
                   active={appMode === 'completion'}
                   title={t('app.newApp.completeApp')}
                   description={t('app.newApp.completionShortDescription')}
-                  icon={<div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-teal-solid'>
-                    <ListSparkle className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
+                  icon={<div className='w-6 h-6 bg-components-icon-bg-teal-solid rounded-md flex items-center justify-center'>
+                    <ListSparkle className='w-4 h-4 text-components-avatar-shape-fill-stop-100' />
                   </div>}
                   onClick={() => {
                     setAppMode('completion')
@@ -158,21 +147,23 @@
               </div>
               <div className='flex flex-row gap-2'>
                 <AppTypeCard
+                  beta
                   active={appMode === 'advanced-chat'}
                   title={t('app.types.advanced')}
                   description={t('app.newApp.advancedShortDescription')}
-                  icon={<div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-blue-light-solid'>
-                    <BubbleTextMod className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
+                  icon={<div className='w-6 h-6 bg-components-icon-bg-blue-light-solid rounded-md flex items-center justify-center'>
+                    <BubbleTextMod className='w-4 h-4 text-components-avatar-shape-fill-stop-100' />
                   </div>}
                   onClick={() => {
                     setAppMode('advanced-chat')
                   }} />
                 <AppTypeCard
+                  beta
                   active={appMode === 'workflow'}
                   title={t('app.types.workflow')}
                   description={t('app.newApp.workflowShortDescription')}
-                  icon={<div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-indigo-solid'>
-                    <RiExchange2Fill className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
+                  icon={<div className='w-6 h-6 bg-components-icon-bg-indigo-solid rounded-md flex items-center justify-center'>
+                    <RiExchange2Fill className='w-4 h-4 text-components-avatar-shape-fill-stop-100' />
                   </div>}
                   onClick={() => {
                     setAppMode('workflow')
@@ -180,9 +171,9 @@
               </div>
             </div>
             <Divider style={{ margin: 0 }} />
-            <div className='flex items-center space-x-3'>
+            <div className='flex space-x-3 items-center'>
               <div className='flex-1'>
-                <div className='mb-1 flex h-6 items-center'>
+                <div className='h-6 flex items-center mb-1'>
                   <label className='system-sm-semibold text-text-secondary'>{t('app.newApp.captionName')}</label>
                 </div>
                 <Input
@@ -210,9 +201,9 @@
               />}
             </div>
             <div>
-              <div className='mb-1 flex h-6 items-center'>
+              <div className='h-6 flex items-center mb-1'>
                 <label className='system-sm-semibold text-text-secondary'>{t('app.newApp.captionDescription')}</label>
-                <span className='system-xs-regular ml-1 text-text-tertiary'>({t('app.newApp.optional')})</span>
+                <span className='system-xs-regular text-text-tertiary ml-1'>({t('app.newApp.optional')})</span>
               </div>
               <Textarea
                 className='resize-none'
@@ -222,12 +213,11 @@
               />
             </div>
           </div>
-          {isAppsFull && <AppsFull className='mt-4' loc='app-create' />}
-          <div className='flex items-center justify-between pb-10 pt-5'>
-            <div className='system-xs-regular flex cursor-pointer items-center gap-1 text-text-tertiary' onClick={onCreateFromTemplate}>
+          <div className='pt-5 pb-10 flex justify-between items-center'>
+            <div className='flex gap-1 items-center system-xs-regular text-text-tertiary cursor-pointer' onClick={onCreateFromTemplate}>
               <span>{t('app.newApp.noIdeaTip')}</span>
               <div className='p-[1px]'>
-                <RiArrowRightLine className='h-3.5 w-3.5' />
+                <RiArrowRightLine className='w-3.5 h-3.5' />
               </div>
             </div>
             <div className='flex gap-2'>
@@ -235,21 +225,21 @@
               <Button disabled={isAppsFull || !name} className='gap-1' variant="primary" onClick={handleCreateApp}>
                 <span>{t('app.newApp.Create')}</span>
                 <div className='flex gap-0.5'>
-                  <RiCommandLine size={14} className='system-kbd rounded-sm bg-components-kbd-bg-white p-0.5' />
-                  <RiCornerDownLeftLine size={14} className='system-kbd rounded-sm bg-components-kbd-bg-white p-0.5' />
+                  <RiCommandLine size={14} className='p-0.5 system-kbd bg-components-kbd-bg-white rounded-sm' />
+                  <RiCornerDownLeftLine size={14} className='p-0.5 system-kbd bg-components-kbd-bg-white rounded-sm' />
                 </div>
               </Button>
             </div>
           </div>
         </div>
       </div>
-      <div className='relative flex h-full flex-1 shrink justify-start overflow-hidden'>
-        <div className='absolute left-0 right-0 top-0 h-6 border-b border-b-divider-subtle 2xl:h-[139px]'></div>
+      <div className='flex-1 shrink h-full flex justify-start relative overflow-hidden'>
+        <div className='h-6 2xl:h-[139px] absolute left-0 top-0 right-0 border-b border-b-divider-subtle'></div>
         <div className='max-w-[760px] border-x border-x-divider-subtle'>
           <div className='h-6 2xl:h-[139px]' />
           <AppPreview mode={appMode} />
           <div className='absolute left-0 right-0 border-b border-b-divider-subtle'></div>
-          <div className='flex h-[448px] w-[664px] items-center justify-center' style={{ background: 'repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(16,24,40,0.04) 4px,transparent 3px, transparent 6px)' }}>
+          <div className='w-[664px] h-[448px] flex items-center justify-center' style={{ background: 'repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(16,24,40,0.04) 4px,transparent 3px, transparent 6px)' }}>
             <AppScreenShot show={appMode === 'chat'} mode='chat' />
             <AppScreenShot show={appMode === 'advanced-chat'} mode='advanced-chat' />
             <AppScreenShot show={appMode === 'agent-chat'} mode='agent-chat' />
@@ -260,6 +250,13 @@
         </div>
       </div>
     </div>
+    {
+      isAppsFull && (
+        <div className='px-8 py-2'>
+          <AppsFull loc='app-create' />
+        </div>
+      )
+    }
   </>
 }
 type CreateAppDialogProps = CreateAppProps & {
@@ -281,25 +278,30 @@
 export default CreateAppModal
 
 type AppTypeCardProps = {
-  icon: React.JSX.Element
+  icon: JSX.Element
+  beta?: boolean
   title: string
   description: string
   active: boolean
   onClick: () => void
 }
-function AppTypeCard({ icon, title, description, active, onClick }: AppTypeCardProps) {
+function AppTypeCard({ icon, title, beta = false, description, active, onClick }: AppTypeCardProps) {
+  const { t } = useTranslation()
   return <div
     className={
-      cn(`relative box-content h-[84px] w-[191px] cursor-pointer rounded-xl
-      border-[0.5px] border-components-option-card-option-border
-      bg-components-panel-on-panel-item-bg p-3 shadow-xs hover:shadow-md`, active
-        ? 'shadow-md outline outline-[1.5px] outline-components-option-card-option-selected-border'
+      cn(`w-[191px] h-[84px] p-3 border-[0.5px] relative box-content
+      rounded-xl border-components-option-card-option-border
+      bg-components-panel-on-panel-item-bg shadow-xs cursor-pointer hover:shadow-md`, active
+        ? 'outline outline-[1.5px] outline-components-option-card-option-selected-border shadow-md'
         : '')
     }
     onClick={onClick}
   >
+    {beta && <div className='px-[5px] py-[3px]
+      rounded-[5px] min-w-[18px] absolute top-3 right-3
+      border border-divider-deep system-2xs-medium-uppercase text-text-tertiary'>{t('common.menus.status')}</div>}
     {icon}
-    <div className='system-sm-semibold mb-0.5 mt-2 text-text-secondary'>{title}</div>
+    <div className='system-sm-semibold text-text-secondary mt-2 mb-0.5'>{title}</div>
     <div className='system-xs-regular text-text-tertiary'>{description}</div>
   </div>
 }
@@ -310,17 +312,17 @@
     'chat': {
       title: t('app.types.chatbot'),
       description: t('app.newApp.chatbotUserDescription'),
-      link: 'https://docs.dify.ai/guides/application-orchestrate/readme',
+      link: 'https://docs.dify.ai/guides/application-orchestrate/conversation-application?fallback=true',
     },
     'advanced-chat': {
       title: t('app.types.advanced'),
       description: t('app.newApp.advancedUserDescription'),
-      link: 'https://docs.dify.ai/en/guides/workflow/README',
+      link: 'https://docs.dify.ai/guides/workflow',
     },
     'agent-chat': {
       title: t('app.types.agent'),
       description: t('app.newApp.agentUserDescription'),
-      link: 'https://docs.dify.ai/en/guides/application-orchestrate/agent',
+      link: 'https://docs.dify.ai/guides/application-orchestrate/agent',
     },
     'completion': {
       title: t('app.newApp.completeApp'),
@@ -330,21 +332,21 @@
     'workflow': {
       title: t('app.types.workflow'),
       description: t('app.newApp.workflowUserDescription'),
-      link: 'https://docs.dify.ai/en/guides/workflow/README',
+      link: 'https://docs.dify.ai/guides/workflow',
     },
   }
   const previewInfo = modeToPreviewInfoMap[mode]
   return <div className='px-8 py-4'>
     <h4 className='system-sm-semibold-uppercase text-text-secondary'>{previewInfo.title}</h4>
-    <div className='system-xs-regular mt-1 min-h-8 max-w-96 text-text-tertiary'>
+    <div className='mt-1 system-xs-regular text-text-tertiary max-w-96 min-h-8'>
       <span>{previewInfo.description}</span>
-      {previewInfo.link && <Link target='_blank' href={previewInfo.link} className='ml-1 text-text-accent'>{t('app.newApp.learnMore')}</Link>}
+      {previewInfo.link && <Link target='_blank' href={previewInfo.link} className='text-text-accent ml-1'>{t('app.newApp.learnMore')}</Link>}
     </div>
   </div>
 }
 
 function AppScreenShot({ mode, show }: { mode: AppMode; show: boolean }) {
-  const { theme } = useTheme()
+  const theme = useContextSelector(AppsContext, state => state.theme)
   const modeToImageMap = {
     'chat': 'Chatbot',
     'advanced-chat': 'Chatflow',
@@ -353,11 +355,11 @@
     'workflow': 'Workflow',
   }
   return <picture>
-    <source media="(resolution: 1x)" srcSet={`${WEB_PREFIX}/screenshots/${theme}/${modeToImageMap[mode]}.png`} />
-    <source media="(resolution: 2x)" srcSet={`${WEB_PREFIX}/screenshots/${theme}/${modeToImageMap[mode]}@2x.png`} />
-    <source media="(resolution: 3x)" srcSet={`${WEB_PREFIX}/screenshots/${theme}/${modeToImageMap[mode]}@3x.png`} />
+    <source media="(resolution: 1x)" srcSet={`/screenshots/${theme}/${modeToImageMap[mode]}.png`} />
+    <source media="(resolution: 2x)" srcSet={`/screenshots/${theme}/${modeToImageMap[mode]}@2x.png`} />
+    <source media="(resolution: 3x)" srcSet={`/screenshots/${theme}/${modeToImageMap[mode]}@3x.png`} />
     <Image className={show ? '' : 'hidden'}
-      src={`${WEB_PREFIX}/screenshots/${theme}/${modeToImageMap[mode]}.png`}
+      src={`/screenshots/${theme}/${modeToImageMap[mode]}.png`}
       alt='App Screen Shot'
       width={664} height={448} />
   </picture>
diff --git a/app/components/app/create-from-dsl-modal/index.tsx b/app/components/app/create-from-dsl-modal/index.tsx
index 9739ac4..ce06b11 100644
--- a/app/components/app/create-from-dsl-modal/index.tsx
+++ b/app/components/app/create-from-dsl-modal/index.tsx
@@ -5,8 +5,7 @@
 import { useRouter } from 'next/navigation'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
-import { RiCloseLine, RiCommandLine, RiCornerDownLeftLine } from '@remixicon/react'
-import { useDebounceFn, useKeyPress } from 'ahooks'
+import { RiCloseLine } from '@remixicon/react'
 import Uploader from './uploader'
 import Button from '@/app/components/base/button'
 import Input from '@/app/components/base/input'
@@ -26,8 +25,6 @@
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { getRedirection } from '@/utils/app-redirection'
 import cn from '@/utils/classnames'
-import { usePluginDependencies } from '@/app/components/workflow/plugin-dependency/hooks'
-import { noop } from 'lodash-es'
 
 type CreateFromDSLModalProps = {
   show: boolean
@@ -53,7 +50,6 @@
   const [showErrorModal, setShowErrorModal] = useState(false)
   const [versions, setVersions] = useState<{ importedVersion: string; systemVersion: string }>()
   const [importId, setImportId] = useState<string>()
-  const { handleCheckPluginDependencies } = usePluginDependencies()
 
   const readFile = (file: File) => {
     const reader = new FileReader()
@@ -104,7 +100,8 @@
 
       if (!response)
         return
-      const { id, status, app_id, app_mode, imported_dsl_version, current_dsl_version } = response
+
+      const { id, status, app_id, imported_dsl_version, current_dsl_version } = response
       if (status === DSLImportStatus.COMPLETED || status === DSLImportStatus.COMPLETED_WITH_WARNINGS) {
         if (onSuccess)
           onSuccess()
@@ -117,9 +114,7 @@
           children: status === DSLImportStatus.COMPLETED_WITH_WARNINGS && t('app.newApp.appCreateDSLWarning'),
         })
         localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
-        if (app_id)
-          await handleCheckPluginDependencies(app_id)
-        getRedirection(isCurrentWorkspaceEditor, { id: app_id!, mode: app_mode }, push)
+        getRedirection(isCurrentWorkspaceEditor, { id: app_id }, push)
       }
       else if (status === DSLImportStatus.PENDING) {
         setVersions({
@@ -137,24 +132,11 @@
         notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
       }
     }
-    // eslint-disable-next-line unused-imports/no-unused-vars
     catch (e) {
       notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
     isCreatingRef.current = false
   }
-
-  const { run: handleCreateApp } = useDebounceFn(onCreate, { wait: 300 })
-
-  useKeyPress(['meta.enter', 'ctrl.enter'], () => {
-    if (show && !isAppsFull && ((currentTab === CreateFromDSLModalTab.FROM_FILE && currentFile) || (currentTab === CreateFromDSLModalTab.FROM_URL && dslUrlValue)))
-      handleCreateApp()
-  })
-
-  useKeyPress('esc', () => {
-    if (show && !showErrorModal)
-      onClose()
-  })
 
   const onDSLConfirm: MouseEventHandler = async () => {
     try {
@@ -164,7 +146,7 @@
         import_id: importId,
       })
 
-      const { status, app_id, app_mode } = response
+      const { status, app_id } = response
 
       if (status === DSLImportStatus.COMPLETED) {
         if (onSuccess)
@@ -176,16 +158,13 @@
           type: 'success',
           message: t('app.newApp.appCreated'),
         })
-        if (app_id)
-          await handleCheckPluginDependencies(app_id)
         localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
-        getRedirection(isCurrentWorkspaceEditor, { id: app_id!, mode: app_mode }, push)
+        getRedirection(isCurrentWorkspaceEditor, { id: app_id }, push)
       }
       else if (status === DSLImportStatus.FAILED) {
         notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
       }
     }
-    // eslint-disable-next-line unused-imports/no-unused-vars
     catch (e) {
       notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
@@ -215,26 +194,26 @@
   return (
     <>
       <Modal
-        className='w-[520px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg p-0 shadow-xl'
+        className='p-0 w-[520px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'
         isShow={show}
-        onClose={noop}
+        onClose={() => { }}
       >
-        <div className='title-2xl-semi-bold flex items-center justify-between pb-3 pl-6 pr-5 pt-6 text-text-primary'>
+        <div className='flex items-center justify-between pt-6 pl-6 pr-5 pb-3 text-text-primary title-2xl-semi-bold'>
           {t('app.importFromDSL')}
           <div
-            className='flex h-8 w-8 cursor-pointer items-center'
+            className='flex items-center w-8 h-8 cursor-pointer'
             onClick={() => onClose()}
           >
-            <RiCloseLine className='h-5 w-5 text-text-tertiary' />
+            <RiCloseLine className='w-5 h-5 text-text-tertiary' />
           </div>
         </div>
-        <div className='system-md-semibold flex h-9 items-center space-x-6 border-b border-divider-subtle px-6 text-text-tertiary'>
+        <div className='flex items-center px-6 h-9 space-x-6 system-md-semibold text-text-tertiary border-b border-divider-subtle'>
           {
             tabs.map(tab => (
               <div
                 key={tab.key}
                 className={cn(
-                  'relative flex h-full cursor-pointer items-center',
+                  'relative flex items-center h-full cursor-pointer',
                   currentTab === tab.key && 'text-text-primary',
                 )}
                 onClick={() => setCurrentTab(tab.key)}
@@ -242,7 +221,7 @@
                 {tab.label}
                 {
                   currentTab === tab.key && (
-                    <div className='absolute bottom-0 h-[2px] w-full bg-util-colors-blue-brand-blue-brand-600'></div>
+                    <div className='absolute bottom-0 w-full h-[2px] bg-util-colors-blue-brand-blue-brand-600'></div>
                   )
                 }
               </div>
@@ -262,7 +241,7 @@
           {
             currentTab === CreateFromDSLModalTab.FROM_URL && (
               <div>
-                <div className='system-md-semibold mb-1 text-text-secondary'>DSL URL</div>
+                <div className='mb-1 system-md-semibold leading6'>DSL URL</div>
                 <Input
                   placeholder={t('app.importFromDSLUrlPlaceholder') || ''}
                   value={dslUrlValue}
@@ -279,18 +258,7 @@
         )}
         <div className='flex justify-end px-6 py-5'>
           <Button className='mr-2' onClick={onClose}>{t('app.newApp.Cancel')}</Button>
-          <Button
-            disabled={buttonDisabled}
-            variant="primary"
-            onClick={handleCreateApp}
-            className="gap-1"
-          >
-            <span>{t('app.newApp.Create')}</span>
-            <div className='flex gap-0.5'>
-              <RiCommandLine size={14} className='system-kbd rounded-sm bg-components-kbd-bg-white p-0.5' />
-              <RiCornerDownLeftLine size={14} className='system-kbd rounded-sm bg-components-kbd-bg-white p-0.5' />
-            </div>
-          </Button>
+          <Button disabled={buttonDisabled} variant="primary" onClick={onCreate}>{t('app.newApp.Create')}</Button>
         </div>
       </Modal>
       <Modal
@@ -298,9 +266,9 @@
         onClose={() => setShowErrorModal(false)}
         className='w-[480px]'
       >
-        <div className='flex flex-col items-start gap-2 self-stretch pb-4'>
-          <div className='title-2xl-semi-bold text-text-primary'>{t('app.newApp.appCreateDSLErrorTitle')}</div>
-          <div className='system-md-regular flex grow flex-col text-text-secondary'>
+        <div className='flex pb-4 flex-col items-start gap-2 self-stretch'>
+          <div className='text-text-primary title-2xl-semi-bold'>{t('app.newApp.appCreateDSLErrorTitle')}</div>
+          <div className='flex flex-grow flex-col text-text-secondary system-md-regular'>
             <div>{t('app.newApp.appCreateDSLErrorPart1')}</div>
             <div>{t('app.newApp.appCreateDSLErrorPart2')}</div>
             <br />
@@ -308,7 +276,7 @@
             <div>{t('app.newApp.appCreateDSLErrorPart4')}<span className='system-md-medium'>{versions?.systemVersion}</span></div>
           </div>
         </div>
-        <div className='flex items-start justify-end gap-2 self-stretch pt-6'>
+        <div className='flex pt-6 justify-end items-start gap-2 self-stretch'>
           <Button variant='secondary' onClick={() => setShowErrorModal(false)}>{t('app.newApp.Cancel')}</Button>
           <Button variant='primary' destructive onClick={onDSLConfirm}>{t('app.newApp.Confirm')}</Button>
         </div>
diff --git a/app/components/app/create-from-dsl-modal/uploader.tsx b/app/components/app/create-from-dsl-modal/uploader.tsx
index 6ad4116..beb2b4b 100644
--- a/app/components/app/create-from-dsl-modal/uploader.tsx
+++ b/app/components/app/create-from-dsl-modal/uploader.tsx
@@ -3,7 +3,6 @@
 import React, { useEffect, useRef, useState } from 'react'
 import {
   RiDeleteBinLine,
-  RiUploadCloud2Line,
 } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
@@ -11,7 +10,8 @@
 import cn from '@/utils/classnames'
 import { Yaml as YamlIcon } from '@/app/components/base/icons/src/public/files'
 import { ToastContext } from '@/app/components/base/toast'
-import ActionButton from '@/app/components/base/action-button'
+import { UploadCloud01 } from '@/app/components/base/icons/src/vender/line/general'
+import Button from '@/app/components/base/button'
 
 export type Props = {
   file: File | undefined
@@ -97,39 +97,41 @@
         style={{ display: 'none' }}
         type="file"
         id="fileUploader"
-        accept='.yaml,.yml'
+        accept='.yml'
         onChange={fileChangeHandle}
       />
       <div ref={dropRef}>
         {!file && (
-          <div className={cn('flex h-12 items-center rounded-[10px] border border-dashed border-components-dropzone-border bg-components-dropzone-bg text-sm font-normal', dragging && 'border-components-dropzone-border-accent bg-components-dropzone-bg-accent')}>
-            <div className='flex w-full items-center justify-center space-x-2'>
-              <RiUploadCloud2Line className='h-6 w-6 text-text-tertiary' />
-              <div className='text-text-tertiary'>
+          <div className={cn('flex items-center h-12 rounded-xl bg-gray-50 border border-dashed border-gray-200 text-sm font-normal', dragging && 'bg-[#F5F8FF] border border-[#B2CCFF]')}>
+            <div className='w-full flex items-center justify-center space-x-2'>
+              <UploadCloud01 className='w-6 h-6 mr-2' />
+              <div className='text-gray-500'>
                 {t('datasetCreation.stepOne.uploader.button')}
-                <span className='cursor-pointer pl-1 text-text-accent' onClick={selectHandle}>{t('datasetDocuments.list.batchModal.browse')}</span>
+                <span className='pl-1 text-[#155eef] cursor-pointer' onClick={selectHandle}>{t('datasetDocuments.list.batchModal.browse')}</span>
               </div>
             </div>
-            {dragging && <div ref={dragRef} className='absolute left-0 top-0 h-full w-full' />}
+            {dragging && <div ref={dragRef} className='absolute w-full h-full top-0 left-0' />}
           </div>
         )}
         {file && (
-          <div className={cn('group flex items-center rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-on-panel-item-bg shadow-xs', ' hover:bg-components-panel-on-panel-item-bg-hover')}>
-            <div className='flex items-center justify-center p-3'>
-              <YamlIcon className="h-6 w-6 shrink-0" />
+          <div className={cn('flex items-center rounded-lg bg-components-panel-on-panel-item-bg border-[0.5px] border-components-panel-border shadow-xs group', 'hover:bg-[#F5F8FF] hover:border-[#B2CCFF]')}>
+            <div className='flex p-3 justify-center items-center'>
+              <YamlIcon className="w-6 h-6 shrink-0" />
             </div>
-            <div className='flex grow flex-col items-start gap-0.5 py-1 pr-2'>
-              <span className='font-inter max-w-[calc(100%_-_30px)] overflow-hidden text-ellipsis whitespace-nowrap text-[12px] font-medium leading-4 text-text-secondary'>{file.name}</span>
-              <div className='font-inter flex h-3 items-center gap-1 self-stretch text-[10px] font-medium uppercase leading-3 text-text-tertiary'>
+            <div className='flex py-1 pr-2 grow flex-col items-start gap-0.5'>
+              <span className='max-w-[calc(100%_-_30px)] text-ellipsis whitespace-nowrap overflow-hidden text-text-secondary font-inter text-[12px] font-medium leading-4'>{file.name}</span>
+              <div className='flex h-3 items-center gap-1 self-stretch text-text-tertiary font-inter text-[10px] font-medium leading-3 uppercase'>
                 <span>YAML</span>
                 <span className='text-text-quaternary'>路</span>
                 <span>{formatFileSize(file.size)}</span>
               </div>
             </div>
-            <div className='hidden items-center pr-3 group-hover:flex'>
-              <ActionButton onClick={removeFile}>
-                <RiDeleteBinLine className='h-4 w-4 text-text-tertiary' />
-              </ActionButton>
+            <div className='hidden group-hover:flex items-center'>
+              <Button onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.change')}</Button>
+              <div className='mx-2 w-px h-4 bg-gray-200' />
+              <div className='p-2 cursor-pointer' onClick={removeFile}>
+                <RiDeleteBinLine className='w-4 h-4 text-text-tertiary' />
+              </div>
             </div>
           </div>
         )}
diff --git a/app/components/app/duplicate-modal/index.tsx b/app/components/app/duplicate-modal/index.tsx
index f98fb83..bcad1c2 100644
--- a/app/components/app/duplicate-modal/index.tsx
+++ b/app/components/app/duplicate-modal/index.tsx
@@ -1,8 +1,8 @@
 'use client'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiCloseLine } from '@remixicon/react'
 import AppIconPicker from '../../base/app-icon-picker'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
@@ -12,7 +12,6 @@
 import { useProviderContext } from '@/context/provider-context'
 import AppsFull from '@/app/components/billing/apps-full-in-dialog'
 import type { AppIconType } from '@/types/app'
-import { noop } from 'lodash-es'
 
 export type DuplicateAppModalProps = {
   appName: string
@@ -72,15 +71,13 @@
     <>
       <Modal
         isShow={show}
-        onClose={noop}
-        className={cn('relative !max-w-[480px]', 'px-8')}
+        onClose={() => { }}
+        className={cn(s.modal, '!max-w-[480px]', 'px-8')}
       >
-        <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onHide}>
-          <RiCloseLine className='h-4 w-4 text-text-tertiary' />
-        </div>
-        <div className='relative mb-9 mt-3 text-xl font-semibold leading-[30px] text-text-primary'>{t('app.duplicateTitle')}</div>
-        <div className='system-sm-regular mb-9 text-text-secondary'>
-          <div className='system-md-medium mb-2'>{t('explore.appCustomize.subTitle')}</div>
+        <span className={s.close} onClick={onHide} />
+        <div className={s.title}>{t('app.duplicateTitle')}</div>
+        <div className={s.content}>
+          <div className={s.subTitle}>{t('explore.appCustomize.subTitle')}</div>
           <div className='flex items-center justify-between space-x-2'>
             <AppIcon
               size='large'
@@ -97,10 +94,10 @@
               className='h-10'
             />
           </div>
-          {isAppsFull && <AppsFull className='mt-4' loc='app-duplicate-create' />}
+          {isAppsFull && <AppsFull loc='app-duplicate-create' />}
         </div>
         <div className='flex flex-row-reverse'>
-          <Button disabled={isAppsFull} className='ml-2 w-24' variant='primary' onClick={submit}>{t('app.duplicate')}</Button>
+          <Button disabled={isAppsFull} className='w-24 ml-2' variant='primary' onClick={submit}>{t('app.duplicate')}</Button>
           <Button className='w-24' onClick={onHide}>{t('common.operation.cancel')}</Button>
         </div>
       </Modal>
diff --git a/app/components/app/duplicate-modal/style.module.css b/app/components/app/duplicate-modal/style.module.css
new file mode 100644
index 0000000..798a463
--- /dev/null
+++ b/app/components/app/duplicate-modal/style.module.css
@@ -0,0 +1,36 @@
+.modal {
+  position: relative;
+}
+
+.modal .close {
+  position: absolute;
+  right: 16px;
+  top: 25px;
+  width: 32px;
+  height: 32px;
+  border-radius: 8px;
+  background: center no-repeat url(~@/app/components/datasets/create/assets/close.svg);
+  background-size: 16px;
+  cursor: pointer;
+}
+
+.modal .title {
+  @apply mb-9;
+  font-weight: 600;
+  font-size: 20px;
+  line-height: 30px;
+  color: #101828;
+}
+
+.modal .content {
+  @apply mb-9;
+  font-weight: 400;
+  font-size: 14px;
+  line-height: 20px;
+  color: #101828;
+}
+
+.subTitle {
+  margin-bottom: 8px;
+  font-weight: 500;
+}
\ No newline at end of file
diff --git a/app/components/app/log-annotation/index.tsx b/app/components/app/log-annotation/index.tsx
index 12a611e..696cc19 100644
--- a/app/components/app/log-annotation/index.tsx
+++ b/app/components/app/log-annotation/index.tsx
@@ -30,7 +30,7 @@
       { value: PageType.log, text: t('appLog.title') },
       { value: PageType.annotation, text: t('appAnnotation.title') },
     ]
-  }, [appDetail?.mode, t])
+  }, [appDetail])
 
   if (!appDetail) {
     return (
@@ -41,7 +41,7 @@
   }
 
   return (
-    <div className='flex h-full flex-col px-6 pt-3'>
+    <div className='pt-3 px-6 h-full flex flex-col'>
       {appDetail.mode !== 'workflow' && (
         <TabSlider
           className='shrink-0'
@@ -52,7 +52,7 @@
           options={options}
         />
       )}
-      <div className={cn('h-0 grow', appDetail.mode !== 'workflow' && 'mt-3')}>
+      <div className={cn('grow h-0', appDetail.mode !== 'workflow' && 'mt-3')}>
         {pageType === PageType.log && appDetail.mode !== 'workflow' && (<Log appDetail={appDetail} />)}
         {pageType === PageType.annotation && (<Annotation appDetail={appDetail} />)}
         {pageType === PageType.log && appDetail.mode === 'workflow' && (<WorkflowLog appDetail={appDetail} />)}
diff --git a/app/components/app/log/filter.tsx b/app/components/app/log/filter.tsx
index 6e259a2..787b740 100644
--- a/app/components/app/log/filter.tsx
+++ b/app/components/app/log/filter.tsx
@@ -40,7 +40,7 @@
   if (!data)
     return null
   return (
-    <div className='mb-2 flex flex-row flex-wrap items-center gap-2'>
+    <div className='flex flex-row flex-wrap gap-2 items-center mb-2'>
       <Chip
         className='min-w-[150px]'
         panelClassName='w-[270px]'
@@ -80,7 +80,7 @@
       />
       {isChatMode && (
         <>
-          <div className='h-3.5 w-px bg-divider-regular'></div>
+          <div className='w-px h-3.5 bg-divider-regular'></div>
           <Sort
             order={queryParams.sort_by?.startsWith('-') ? '-' : ''}
             value={queryParams.sort_by?.replace('-', '') || 'created_at'}
diff --git a/app/components/app/log/index.tsx b/app/components/app/log/index.tsx
index 8e523b7..592233f 100644
--- a/app/components/app/log/index.tsx
+++ b/app/components/app/log/index.tsx
@@ -37,10 +37,10 @@
   const pathname = usePathname()
   const pathSegments = pathname.split('/')
   pathSegments.pop()
-  return <div className='flex h-full items-center justify-center'>
-    <div className='box-border h-fit w-[560px] rounded-2xl bg-background-section-burn px-5 py-4'>
-      <span className='system-md-semibold text-text-secondary'>{t('appLog.table.empty.element.title')}<ThreeDotsIcon className='relative -left-1.5 -top-3 inline' /></span>
-      <div className='system-sm-regular mt-2 text-text-tertiary'>
+  return <div className='flex items-center justify-center h-full'>
+    <div className='bg-background-section-burn w-[560px] h-fit box-border px-5 py-4 rounded-2xl'>
+      <span className='text-text-secondary system-md-semibold'>{t('appLog.table.empty.element.title')}<ThreeDotsIcon className='inline relative -top-3 -left-1.5' /></span>
+      <div className='mt-2 text-text-tertiary system-sm-regular'>
         <Trans
           i18nKey="appLog.table.empty.element.content"
           components={{ shareLink: <Link href={`${pathSegments.join('/')}/overview`} className='text-util-colors-blue-blue-600' />, testLink: <Link href={appUrl} className='text-util-colors-blue-blue-600' target='_blank' rel='noopener noreferrer' /> }}
@@ -101,9 +101,9 @@
   const total = isChatMode ? chatConversations?.total : completionConversations?.total
 
   return (
-    <div className='flex h-full grow flex-col'>
-      <p className='system-sm-regular shrink-0 text-text-tertiary'>{t('appLog.description')}</p>
-      <div className='flex max-h-[calc(100%-16px)] flex-1 grow flex-col py-4'>
+    <div className='grow flex flex-col h-full'>
+      <p className='shrink-0 text-text-tertiary system-sm-regular'>{t('appLog.description')}</p>
+      <div className='grow max-h-[calc(100%-16px)] flex flex-col py-4 flex-1'>
         <Filter isChatMode={isChatMode} appId={appDetail.id} queryParams={queryParams} setQueryParams={setQueryParams} />
         {total === undefined
           ? <Loading type='app' />
diff --git a/app/components/app/log/list.tsx b/app/components/app/log/list.tsx
index 7ce164c..383aeb1 100644
--- a/app/components/app/log/list.tsx
+++ b/app/components/app/log/list.tsx
@@ -41,7 +41,6 @@
 import { buildChatItemTree, getThreadMessages } from '@/app/components/base/chat/utils'
 import { getProcessedFilesFromResponse } from '@/app/components/base/file-uploader/utils'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 dayjs.extend(utc)
 dayjs.extend(timezone)
@@ -73,19 +72,16 @@
 const HandThumbIconWithCount: FC<{ count: number; iconType: 'up' | 'down' }> = ({ count, iconType }) => {
   const classname = iconType === 'up' ? 'text-primary-600 bg-primary-50' : 'text-red-600 bg-red-50'
   const Icon = iconType === 'up' ? HandThumbUpIcon : HandThumbDownIcon
-  return <div className={`inline-flex w-fit items-center rounded-md p-1 text-xs ${classname} mr-1 last:mr-0`}>
-    <Icon className={'mr-0.5 h-3 w-3 rounded-md'} />
+  return <div className={`inline-flex items-center w-fit rounded-md p-1 text-xs ${classname} mr-1 last:mr-0`}>
+    <Icon className={'h-3 w-3 mr-0.5 rounded-md'} />
     {count > 0 ? count : null}
   </div>
 }
 
 const statusTdRender = (statusCount: StatusCount) => {
-  if (!statusCount)
-    return null
-
   if (statusCount.partial_success + statusCount.failed === 0) {
     return (
-      <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+      <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
         <Indicator color={'green'} />
         <span className='text-util-colors-green-green-600'>Success</span>
       </div>
@@ -93,7 +89,7 @@
   }
   else if (statusCount.failed === 0) {
     return (
-      <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+      <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
         <Indicator color={'green'} />
         <span className='text-util-colors-green-green-600'>Partial Success</span>
       </div>
@@ -101,7 +97,7 @@
   }
   else {
     return (
-      <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+      <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
         <Indicator color={'red'} />
         <span className='text-util-colors-red-red-600'>{statusCount.failed} {`${statusCount.failed > 1 ? 'Failures' : 'Failure'}`}</span>
       </div>
@@ -361,13 +357,13 @@
   }, [])
 
   return (
-    <div ref={ref} className='flex h-full flex-col rounded-xl border-[0.5px] border-components-panel-border'>
+    <div ref={ref} className='rounded-xl border-[0.5px] border-components-panel-border h-full flex flex-col'>
       {/* Panel Header */}
-      <div className='flex shrink-0 items-center gap-2 rounded-t-xl bg-components-panel-bg pb-2 pl-4 pr-3 pt-3'>
+      <div className='shrink-0 pl-4 pt-3 pr-3 pb-2 flex items-center gap-2 bg-components-panel-bg rounded-t-xl'>
         <div className='shrink-0'>
-          <div className='system-xs-semibold-uppercase mb-0.5 text-text-primary'>{isChatMode ? t('appLog.detail.conversationId') : t('appLog.detail.time')}</div>
+          <div className='mb-0.5 text-text-primary system-xs-semibold-uppercase'>{isChatMode ? t('appLog.detail.conversationId') : t('appLog.detail.time')}</div>
           {isChatMode && (
-            <div className='system-2xs-regular-uppercase flex items-center text-text-secondary'>
+            <div className='flex items-center text-text-secondary system-2xs-regular-uppercase'>
               <Tooltip
                 popupContent={detail.id}
               >
@@ -377,19 +373,19 @@
             </div>
           )}
           {!isChatMode && (
-            <div className='system-2xs-regular-uppercase text-text-secondary'>{formatTime(detail.created_at, t('appLog.dateTimeFormat') as string)}</div>
+            <div className='text-text-secondary system-2xs-regular-uppercase'>{formatTime(detail.created_at, t('appLog.dateTimeFormat') as string)}</div>
           )}
         </div>
-        <div className='flex grow flex-wrap items-center justify-end gap-y-1'>
+        <div className='grow flex items-center flex-wrap gap-y-1 justify-end'>
           {!isAdvanced && <ModelInfo model={detail.model_config.model} />}
         </div>
         <ActionButton size='l' onClick={onClose}>
-          <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+          <RiCloseLine className='w-4 h-4 text-text-tertiary' />
         </ActionButton>
       </div>
       {/* Panel Body */}
-      <div className='shrink-0 px-1 pt-1'>
-        <div className='rounded-t-xl bg-background-section-burn p-3 pb-2'>
+      <div className='shrink-0 pt-1 px-1'>
+        <div className='p-3 pb-2 rounded-t-xl bg-background-section-burn'>
           {(varList.length > 0 || (!isChatMode && message_files.length > 0)) && (
             <VarPanel
               varList={varList}
@@ -398,12 +394,12 @@
           )}
         </div>
       </div>
-      <div className='mx-1 mb-1 grow overflow-auto rounded-b-xl bg-background-section-burn'>
+      <div className='grow mx-1 mb-1 bg-background-section-burn rounded-b-xl overflow-auto'>
         {!isChatMode
           ? <div className="px-6 py-4">
             <div className='flex h-[18px] items-center space-x-3'>
-              <div className='system-xs-semibold-uppercase text-text-tertiary'>{t('appLog.table.header.output')}</div>
-              <div className='h-[1px] grow' style={{
+              <div className='text-text-tertiary system-xs-semibold-uppercase'>{t('appLog.table.header.output')}</div>
+              <div className='grow h-[1px]' style={{
                 background: 'linear-gradient(270deg, rgba(243, 244, 246, 0) 0%, rgb(243, 244, 246) 100%)',
               }}></div>
             </div>
@@ -412,24 +408,26 @@
               content={detail.message.answer}
               messageId={detail.message.id}
               isError={false}
-              onRetry={noop}
+              onRetry={() => { }}
               isInstalledApp={false}
               supportFeedback
               feedback={detail.message.feedbacks.find((item: any) => item.from_source === 'admin')}
               onFeedback={feedback => onFeedback(detail.message.id, feedback)}
+              supportAnnotation
               isShowTextToSpeech
+              appId={appDetail?.id}
+              varList={varList}
               siteInfo={null}
             />
           </div>
           : threadChatItems.length < 8
-            ? <div className="mb-4 pt-4">
+            ? <div className="pt-4 mb-4">
               <Chat
                 config={{
                   appId: appDetail?.id,
                   text_to_speech: {
                     enabled: true,
                   },
-                  questionEditEnable: false,
                   supportAnnotation: true,
                   annotation_reply: {
                     enabled: true,
@@ -463,7 +461,7 @@
                 dataLength={threadChatItems.length}
                 next={fetchData}
                 hasMore={hasMore}
-                loader={<div className='system-xs-regular text-center text-text-tertiary'>{t('appLog.detail.loading')}...</div>}
+                loader={<div className='text-center text-text-tertiary system-xs-regular'>{t('appLog.detail.loading')}...</div>}
                 // endMessage={<div className='text-center'>Nothing more to show</div>}
                 // below props only if you need pull down functionality
                 refreshFunction={fetchData}
@@ -485,7 +483,6 @@
                     text_to_speech: {
                       enabled: true,
                     },
-                    questionEditEnable: false,
                     supportAnnotation: true,
                     annotation_reply: {
                       enabled: true,
@@ -549,7 +546,7 @@
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
       return true
     }
-    catch {
+    catch (err) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       return false
     }
@@ -562,7 +559,7 @@
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
       return true
     }
-    catch {
+    catch (err) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       return false
     }
@@ -593,7 +590,7 @@
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
       return true
     }
-    catch {
+    catch (err) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       return false
     }
@@ -605,7 +602,7 @@
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
       return true
     }
-    catch {
+    catch (err) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       return false
     }
@@ -635,10 +632,9 @@
   const [currentConversation, setCurrentConversation] = useState<ChatConversationGeneralDetail | CompletionConversationGeneralDetail | undefined>() // Currently selected conversation
   const isChatMode = appDetail.mode !== 'completion' // Whether the app is a chat app
   const isChatflow = appDetail.mode === 'advanced-chat' // Whether the app is a chatflow app
-  const { setShowPromptLogModal, setShowAgentLogModal, setShowMessageLogModal } = useAppStore(useShallow(state => ({
+  const { setShowPromptLogModal, setShowAgentLogModal } = useAppStore(useShallow(state => ({
     setShowPromptLogModal: state.setShowPromptLogModal,
     setShowAgentLogModal: state.setShowAgentLogModal,
-    setShowMessageLogModal: state.setShowMessageLogModal,
   })))
 
   // Annotated data needs to be highlighted
@@ -646,8 +642,8 @@
     return (
       <Tooltip
         popupContent={
-          <span className='inline-flex items-center text-xs text-text-tertiary'>
-            <RiEditFill className='mr-1 h-3 w-3' />{`${t('appLog.detail.annotationTip', { user: annotation?.account?.name })} ${formatTime(annotation?.created_at || dayjs().unix(), 'MM-DD hh:mm A')}`}
+          <span className='text-xs text-text-tertiary inline-flex items-center'>
+            <RiEditFill className='w-3 h-3 mr-1' />{`${t('appLog.detail.annotationTip', { user: annotation?.account?.name })} ${formatTime(annotation?.created_at || dayjs().unix(), 'MM-DD hh:mm A')}`}
           </span>
         }
         popupClassName={(isHighlight && !isChatMode) ? '' : '!hidden'}
@@ -665,7 +661,6 @@
     setCurrentConversation(undefined)
     setShowPromptLogModal(false)
     setShowAgentLogModal(false)
-    setShowMessageLogModal(false)
   }
 
   if (!logs)
@@ -676,41 +671,41 @@
       <table className={cn('mt-2 w-full min-w-[440px] border-collapse border-0')}>
         <thead className='system-xs-medium-uppercase text-text-tertiary'>
           <tr>
-            <td className='w-5 whitespace-nowrap rounded-l-lg bg-background-section-burn pl-2 pr-1'></td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{isChatMode ? t('appLog.table.header.summary') : t('appLog.table.header.input')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.endUser')}</td>
-            {isChatflow && <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.status')}</td>}
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{isChatMode ? t('appLog.table.header.messageCount') : t('appLog.table.header.output')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.userRate')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.adminRate')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.updatedTime')}</td>
-            <td className='whitespace-nowrap rounded-r-lg bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.time')}</td>
+            <td className='pl-2 pr-1 w-5 rounded-l-lg bg-background-section-burn whitespace-nowrap'></td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{isChatMode ? t('appLog.table.header.summary') : t('appLog.table.header.input')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.endUser')}</td>
+            {isChatflow && <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.status')}</td>}
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{isChatMode ? t('appLog.table.header.messageCount') : t('appLog.table.header.output')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.userRate')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.adminRate')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.updatedTime')}</td>
+            <td className='pl-3 py-1.5 rounded-r-lg bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.time')}</td>
           </tr>
         </thead>
-        <tbody className="system-sm-regular text-text-secondary">
+        <tbody className="text-text-secondary system-sm-regular">
           {logs.data.map((log: any) => {
             const endUser = log.from_end_user_session_id || log.from_account_name
             const leftValue = get(log, isChatMode ? 'name' : 'message.inputs.query') || (!isChatMode ? (get(log, 'message.query') || get(log, 'message.inputs.default_input')) : '') || ''
             const rightValue = get(log, isChatMode ? 'message_count' : 'message.answer')
             return <tr
               key={log.id}
-              className={cn('cursor-pointer border-b border-divider-subtle hover:bg-background-default-hover', currentConversation?.id !== log.id ? '' : 'bg-background-default-hover')}
+              className={cn('border-b border-divider-subtle hover:bg-background-default-hover cursor-pointer', currentConversation?.id !== log.id ? '' : 'bg-background-default-hover')}
               onClick={() => {
                 setShowDrawer(true)
                 setCurrentConversation(log)
               }}>
               <td className='h-4'>
                 {!log.read_at && (
-                  <div className='flex items-center p-3 pr-0.5'>
-                    <span className='inline-block h-1.5 w-1.5 rounded bg-util-colors-blue-blue-500'></span>
+                  <div className='p-3 pr-0.5 flex items-center'>
+                    <span className='inline-block bg-util-colors-blue-blue-500 h-1.5 w-1.5 rounded'></span>
                   </div>
                 )}
               </td>
-              <td className='w-[160px] p-3 pr-2' style={{ maxWidth: isChatMode ? 300 : 200 }}>
+              <td className='p-3 pr-2 w-[160px]' style={{ maxWidth: isChatMode ? 300 : 200 }}>
                 {renderTdValue(leftValue || t('appLog.table.empty.noChat'), !leftValue, isChatMode && log.annotated)}
               </td>
               <td className='p-3 pr-2'>{renderTdValue(endUser || defaultValue, !endUser)}</td>
-              {isChatflow && <td className='w-[160px] p-3 pr-2' style={{ maxWidth: isChatMode ? 300 : 200 }}>
+              {isChatflow && <td className='p-3 pr-2 w-[160px]' style={{ maxWidth: isChatMode ? 300 : 200 }}>
                 {statusTdRender(log.status_count)}
               </td>}
               <td className='p-3 pr-2' style={{ maxWidth: isChatMode ? 100 : 200 }}>
@@ -745,7 +740,7 @@
         onClose={onCloseDrawer}
         mask={isMobile}
         footer={null}
-        panelClassName='mt-16 mx-2 sm:mr-2 mb-4 !p-0 !max-w-[640px] rounded-xl bg-components-panel-bg'
+        panelClassname='mt-16 mx-2 sm:mr-2 mb-4 !p-0 !max-w-[640px] rounded-xl bg-components-panel-bg'
       >
         <DrawerContext.Provider value={{
           onClose: onCloseDrawer,
diff --git a/app/components/app/log/model-info.tsx b/app/components/app/log/model-info.tsx
index 626ef09..b0fb0ec 100644
--- a/app/components/app/log/model-info.tsx
+++ b/app/components/app/log/model-info.tsx
@@ -57,9 +57,9 @@
 
   return (
     <div className={cn('flex items-center rounded-lg')}>
-      <div className='mr-px flex h-8 shrink-0 items-center gap-1 rounded-l-lg bg-components-input-bg-normal pl-1.5 pr-2'>
+      <div className='shrink-0 flex items-center gap-1 mr-px h-8 pl-1.5 pr-2 rounded-l-lg bg-components-input-bg-normal'>
         <ModelIcon
-          className='!h-5 !w-5'
+          className='!w-5 !h-5'
           provider={currentProvider}
           modelName={currentModel?.model}
         />
@@ -80,20 +80,20 @@
             className='block'
           >
             <div className={cn(
-              'cursor-pointer rounded-r-lg bg-components-button-tertiary-bg p-2 hover:bg-components-button-tertiary-bg-hover',
+              'p-2 rounded-r-lg bg-components-button-tertiary-bg hover:bg-components-button-tertiary-bg-hover cursor-pointer',
               open && 'bg-components-button-tertiary-bg-hover',
             )}>
               <RiInformation2Line className='h-4 w-4 text-text-tertiary' />
             </div>
           </PortalToFollowElemTrigger>
           <PortalToFollowElemContent className='z-[1002]'>
-            <div className='relative w-[280px] overflow-hidden rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg px-4 pb-2 pt-3 shadow-xl'>
-              <div className='system-sm-semibold-uppercase mb-1 h-6 text-text-secondary'>{t('appLog.detail.modelParams')}</div>
+            <div className='relative w-[280px] pt-3 px-4 pb-2 bg-components-panel-bg rounded-2xl border-[0.5px] border-components-panel-border shadow-xl overflow-hidden'>
+              <div className='mb-1 h-6 text-text-secondary system-sm-semibold-uppercase'>{t('appLog.detail.modelParams')}</div>
               <div className='py-1'>
                 {['temperature', 'top_p', 'presence_penalty', 'max_tokens', 'stop'].map((param: string, index: number) => {
                   return <div className='flex justify-between py-1.5' key={index}>
-                    <span className='system-xs-medium-uppercase text-text-tertiary'>{PARAM_MAP[param as keyof typeof PARAM_MAP]}</span>
-                    <span className='system-xs-medium-uppercase text-text-secondary'>{getParamValue(param)}</span>
+                    <span className='text-text-tertiary system-xs-medium-uppercase'>{PARAM_MAP[param as keyof typeof PARAM_MAP]}</span>
+                    <span className='text-text-secondary system-xs-medium-uppercase'>{getParamValue(param)}</span>
                   </div>
                 })}
               </div>
diff --git a/app/components/app/log/var-panel.tsx b/app/components/app/log/var-panel.tsx
index dd8c231..eef1a1a 100644
--- a/app/components/app/log/var-panel.tsx
+++ b/app/components/app/log/var-panel.tsx
@@ -27,38 +27,38 @@
   return (
     <div className='rounded-[10px] border border-divider-subtle bg-chat-bubble-bg'>
       <div
-        className={cn('flex cursor-pointer items-center gap-1 border-b border-divider-subtle px-3 pb-2 pt-2.5 text-text-secondary', isCollapse && 'border-0 pb-2.5')}
+        className={cn('flex items-center gap-1 px-3 pt-2.5 pb-2 border-b border-divider-subtle text-text-secondary cursor-pointer', isCollapse && 'pb-2.5 border-0')}
         onClick={toggleCollapse}
       >
-        <Variable02 className='h-4 w-4' />
-        <div className='system-md-medium grow'>{t('appLog.detail.variables')}</div>
+        <Variable02 className='w-4 h-4' />
+        <div className='grow system-md-medium'>{t('appLog.detail.variables')}</div>
         {
           isCollapse
-            ? <RiArrowRightSLine className='h-4 w-4' />
-            : <RiArrowDownSLine className='h-4 w-4' />
+            ? <RiArrowRightSLine className='w-4 h-4' />
+            : <RiArrowDownSLine className='w-4 h-4' />
         }
       </div>
       {!isCollapse && (
-        <div className='flex max-h-[500px] flex-col gap-2 overflow-y-auto p-3'>
+        <div className='p-3 flex flex-col gap-2 max-h-[500px] overflow-y-auto'>
           {varList.map(({ label, value }, index) => (
-            <div key={index} className='system-xs-medium flex py-2'>
-              <div className='flex w-[128px] shrink-0 text-text-accent'>
+            <div key={index} className='flex py-2 system-xs-medium'>
+              <div className='shrink-0 w-[128px] flex text-text-accent'>
                 <span className='shrink-0 opacity-60'>{'{{'}</span>
                 <span className='truncate'>{label}</span>
                 <span className='shrink-0 opacity-60'>{'}}'}</span>
               </div>
-              <div className='whitespace-pre-wrap pl-2.5 text-text-secondary'>{value}</div>
+              <div className='pl-2.5 whitespace-pre-wrap text-text-secondary'>{value}</div>
             </div>
           ))}
 
           {message_files.length > 0 && (
             <div className='mt-1 flex py-2'>
-              <div className='system-xs-medium w-[128px] shrink-0 text-text-tertiary'>{t('appLog.detail.uploadImages')}</div>
+              <div className='shrink-0 w-[128px] system-xs-medium text-text-tertiary'>{t('appLog.detail.uploadImages')}</div>
               <div className="flex space-x-2">
                 {message_files.map((url, index) => (
                   <div
                     key={index}
-                    className="ml-2.5 h-16 w-16 cursor-pointer rounded-lg bg-cover bg-center bg-no-repeat"
+                    className="ml-2.5 w-16 h-16 rounded-lg bg-no-repeat bg-cover bg-center cursor-pointer"
                     style={{ backgroundImage: `url(${url})` }}
                     onClick={() => setImagePreviewUrl(url)}
                   />
diff --git a/app/components/app/overview/apikey-info-panel/index.tsx b/app/components/app/overview/apikey-info-panel/index.tsx
index 7654d49..661a88e 100644
--- a/app/components/app/overview/apikey-info-panel/index.tsx
+++ b/app/components/app/overview/apikey-info-panel/index.tsx
@@ -27,8 +27,8 @@
     return null
 
   return (
-    <div className={cn('border-components-panel-border bg-components-panel-bg', 'relative mb-6 rounded-2xl border p-8 shadow-md ')}>
-      <div className={cn('text-[24px] font-semibold text-text-primary', isCloud ? 'flex h-8 items-center space-x-1' : 'mb-6 leading-8')}>
+    <div className={cn('bg-[#EFF4FF] border-[#D1E0FF]', 'mb-6 relative  rounded-2xl shadow-md border  p-8 ')}>
+      <div className={cn('text-[24px] text-gray-800 font-semibold', isCloud ? 'flex items-center h-8 space-x-1' : 'leading-8 mb-6')}>
         {isCloud && <em-emoji id={'馃榾'} />}
         {isCloud
           ? (
@@ -42,30 +42,30 @@
           )}
       </div>
       {isCloud && (
-        <div className='mt-1 text-sm font-normal text-text-tertiary'>{t(`appOverview.apiKeyInfo.cloud.${'trial'}.description`)}</div>
+        <div className='mt-1 text-sm text-gray-600 font-normal'>{t(`appOverview.apiKeyInfo.cloud.${'trial'}.description`)}</div>
       )}
       <Button
         variant='primary'
-        className='mt-2 space-x-2'
+        className='space-x-2'
         onClick={() => setShowAccountSettingModal({ payload: 'provider' })}
       >
         <div className='text-sm font-medium'>{t('appOverview.apiKeyInfo.setAPIBtn')}</div>
-        <LinkExternal02 className='h-4 w-4' />
+        <LinkExternal02 className='w-4 h-4' />
       </Button>
       {!isCloud && (
         <a
-          className='mt-2 flex h-[26px] items-center space-x-1  p-1 text-xs font-medium text-[#155EEF]'
+          className='mt-2 flex items-center h-[26px] text-xs  font-medium text-[#155EEF] p-1 space-x-1'
           href='https://cloud.dify.ai/apps'
           target='_blank' rel='noopener noreferrer'
         >
           <div>{t('appOverview.apiKeyInfo.tryCloud')}</div>
-          <LinkExternal02 className='h-3 w-3' />
+          <LinkExternal02 className='w-3 h-3' />
         </a>
       )}
       <div
         onClick={() => setIsShow(false)}
-        className='absolute right-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center '>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+        className='absolute right-4 top-4 flex items-center justify-center w-8 h-8 cursor-pointer '>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
     </div>
   )
diff --git a/app/components/app/overview/apikey-info-panel/progress/index.tsx b/app/components/app/overview/apikey-info-panel/progress/index.tsx
new file mode 100644
index 0000000..3a4accb
--- /dev/null
+++ b/app/components/app/overview/apikey-info-panel/progress/index.tsx
@@ -0,0 +1,29 @@
+'use client'
+import type { FC } from 'react'
+import React from 'react'
+import s from './style.module.css'
+import cn from '@/utils/classnames'
+
+export type IProgressProps = {
+  className?: string
+  value: number // percent
+}
+
+const Progress: FC<IProgressProps> = ({
+  className,
+  value,
+}) => {
+  const exhausted = value === 100
+  return (
+    <div className={cn(className, 'relative grow h-2 flex bg-gray-200 rounded-md overflow-hidden')}>
+      <div
+        className={cn(s.bar, exhausted && s['bar-error'], 'absolute top-0 left-0 right-0 bottom-0')}
+        style={{ width: `${value}%` }}
+      />
+      {Array(10).fill(0).map((i, k) => (
+        <div key={k} className={s['bar-item']} />
+      ))}
+    </div>
+  )
+}
+export default React.memo(Progress)
diff --git a/app/components/app/overview/apikey-info-panel/progress/style.module.css b/app/components/app/overview/apikey-info-panel/progress/style.module.css
new file mode 100644
index 0000000..94c3ef4
--- /dev/null
+++ b/app/components/app/overview/apikey-info-panel/progress/style.module.css
@@ -0,0 +1,16 @@
+.bar {
+  background: linear-gradient(90deg, rgba(41, 112, 255, 0.9) 0%, rgba(21, 94, 239, 0.9) 100%);
+}
+
+.bar-error {
+  background: linear-gradient(90deg, rgba(240, 68, 56, 0.72) 0%, rgba(217, 45, 32, 0.9) 100%);
+}
+
+.bar-item {
+  width: 10%;
+  border-right: 1px solid rgba(255, 255, 255, 0.5);
+}
+
+.bar-item:last-of-type {
+  border-right: 0;
+}
\ No newline at end of file
diff --git a/app/components/app/overview/appCard.tsx b/app/components/app/overview/appCard.tsx
index 04fc8f2..f9f5c1f 100644
--- a/app/components/app/overview/appCard.tsx
+++ b/app/components/app/overview/appCard.tsx
@@ -1,14 +1,14 @@
 'use client'
+import type { HTMLProps } from 'react'
 import React, { useMemo, useState } from 'react'
+import {
+  Cog8ToothIcon,
+  DocumentTextIcon,
+  PaintBrushIcon,
+  RocketLaunchIcon,
+} from '@heroicons/react/24/outline'
 import { usePathname, useRouter } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
-import {
-  RiBookOpenLine,
-  RiEqualizer2Line,
-  RiExternalLinkLine,
-  RiPaintBrushLine,
-  RiWindowLine,
-} from '@remixicon/react'
 import SettingsModal from './settings'
 import EmbeddedModal from './embedded'
 import CustomizeModal from './customize'
@@ -18,6 +18,7 @@
 import AppBasic from '@/app/components/app-sidebar/basic'
 import { asyncRunSafe, randomString } from '@/utils'
 import Button from '@/app/components/base/button'
+import Tag from '@/app/components/base/tag'
 import Switch from '@/app/components/base/switch'
 import Divider from '@/app/components/base/divider'
 import CopyFeedback from '@/app/components/base/copy-feedback'
@@ -27,12 +28,10 @@
 import type { AppDetailResponse } from '@/models/app'
 import { useAppContext } from '@/context/app-context'
 import type { AppSSO } from '@/types/app'
-import Indicator from '@/app/components/header/indicator'
 
 export type IAppCardProps = {
   className?: string
   appInfo: AppDetailResponse & Partial<AppSSO>
-  isInPanel?: boolean
   cardType?: 'api' | 'webapp'
   customBgColor?: string
   onChangeStatus: (val: boolean) => Promise<void>
@@ -40,9 +39,12 @@
   onGenerateCode?: () => Promise<void>
 }
 
+const EmbedIcon = ({ className = '' }: HTMLProps<HTMLDivElement>) => {
+  return <div className={`${style.codeBrowserIcon} ${className}`}></div>
+}
+
 function AppCard({
   appInfo,
-  isInPanel,
   cardType = 'webapp',
   customBgColor,
   onChangeStatus,
@@ -64,18 +66,17 @@
   const OPERATIONS_MAP = useMemo(() => {
     const operationsMap = {
       webapp: [
-        { opName: t('appOverview.overview.appInfo.launch'), opIcon: RiExternalLinkLine },
+        { opName: t('appOverview.overview.appInfo.preview'), opIcon: RocketLaunchIcon },
+        { opName: t('appOverview.overview.appInfo.customize.entry'), opIcon: PaintBrushIcon },
       ] as { opName: string; opIcon: any }[],
-      api: [{ opName: t('appOverview.overview.apiInfo.doc'), opIcon: RiBookOpenLine }],
+      api: [{ opName: t('appOverview.overview.apiInfo.doc'), opIcon: DocumentTextIcon }],
       app: [],
     }
     if (appInfo.mode !== 'completion' && appInfo.mode !== 'workflow')
-      operationsMap.webapp.push({ opName: t('appOverview.overview.appInfo.embedded.entry'), opIcon: RiWindowLine })
-
-    operationsMap.webapp.push({ opName: t('appOverview.overview.appInfo.customize.entry'), opIcon: RiPaintBrushLine })
+      operationsMap.webapp.push({ opName: t('appOverview.overview.appInfo.embedded.entry'), opIcon: EmbedIcon })
 
     if (isCurrentWorkspaceEditor)
-      operationsMap.webapp.push({ opName: t('appOverview.overview.appInfo.settings.entry'), opIcon: RiEqualizer2Line })
+      operationsMap.webapp.push({ opName: t('appOverview.overview.appInfo.settings.entry'), opIcon: Cog8ToothIcon })
 
     return operationsMap
   }, [isCurrentWorkspaceEditor, appInfo, t])
@@ -91,9 +92,13 @@
   const appUrl = `${app_base_url}/${appMode}/${access_token}`
   const apiUrl = appInfo?.api_base_url
 
+  let bgColor = 'bg-primary-50 bg-opacity-40'
+  if (cardType === 'api')
+    bgColor = 'bg-purple-50'
+
   const genClickFuncByName = (opName: string) => {
     switch (opName) {
-      case t('appOverview.overview.appInfo.launch'):
+      case t('appOverview.overview.appInfo.preview'):
         return () => {
           window.open(appUrl, '_blank')
         }
@@ -130,50 +135,49 @@
   return (
     <div
       className={
-        `${isInPanel ? 'border-l-[0.5px] border-t' : 'border-[0.5px] shadow-xs'} w-full max-w-full rounded-xl border-effects-highlight ${className ?? ''}`}
+        `shadow-xs border-[0.5px] rounded-lg border-gray-200 ${className ?? ''}`}
     >
-      <div className={`${customBgColor ?? 'bg-background-default'} rounded-xl`}>
-        <div className='flex w-full flex-col items-start justify-center gap-3 self-stretch border-b-[0.5px] border-divider-subtle p-3'>
-          <div className='flex w-full items-center gap-3 self-stretch'>
-            <AppBasic
-              iconType={cardType}
-              icon={appInfo.icon}
-              icon_background={appInfo.icon_background}
-              name={basicName}
-              type={
-                isApp
-                  ? t('appOverview.overview.appInfo.explanation')
-                  : t('appOverview.overview.apiInfo.explanation')
-              }
-            />
-            <div className='flex items-center gap-1'>
-              <Indicator color={runningStatus ? 'green' : 'yellow'} />
-              <div className={`${runningStatus ? 'text-text-success' : 'text-text-warning'} system-xs-semibold-uppercase`}>
-                {runningStatus
-                  ? t('appOverview.overview.status.running')
-                  : t('appOverview.overview.status.disable')}
-              </div>
-            </div>
+      <div className={`px-6 py-5 ${customBgColor ?? bgColor} rounded-lg`}>
+        <div className="mb-2.5 flex flex-row items-start justify-between">
+          <AppBasic
+            iconType={cardType}
+            icon={appInfo.icon}
+            icon_background={appInfo.icon_background}
+            name={basicName}
+            type={
+              isApp
+                ? t('appOverview.overview.appInfo.explanation')
+                : t('appOverview.overview.apiInfo.explanation')
+            }
+          />
+          <div className="flex flex-row items-center h-9">
+            <Tag className="mr-2" color={runningStatus ? 'green' : 'yellow'}>
+              {runningStatus
+                ? t('appOverview.overview.status.running')
+                : t('appOverview.overview.status.disable')}
+            </Tag>
             <Switch defaultValue={runningStatus} onChange={onChangeStatus} disabled={toggleDisabled} />
           </div>
-          <div className='flex flex-col items-start justify-center self-stretch'>
-            <div className="system-xs-medium pb-1 text-text-tertiary">
+        </div>
+        <div className="flex flex-col justify-center py-2">
+          <div className="py-1">
+            <div className="pb-1 text-xs text-gray-500">
               {isApp
                 ? t('appOverview.overview.appInfo.accessibleAddress')
                 : t('appOverview.overview.apiInfo.accessibleAddress')}
             </div>
-            <div className="inline-flex h-9 w-full items-center gap-0.5 rounded-lg bg-components-input-bg-normal p-1 pl-2">
-              <div className="flex h-4 min-w-0 flex-1 items-start justify-start gap-2 px-1">
-                <div className="overflow-hidden text-ellipsis whitespace-nowrap text-xs font-medium text-text-secondary">
+            <div className="w-full h-9 pl-2 pr-0.5 py-0.5 bg-black bg-opacity-2 rounded-lg border border-black border-opacity-5 justify-start items-center inline-flex">
+              <div className="h-4 px-2 justify-start items-start gap-2 flex flex-1 min-w-0">
+                <div className="text-gray-700 text-xs font-medium text-ellipsis overflow-hidden whitespace-nowrap">
                   {isApp ? appUrl : apiUrl}
                 </div>
               </div>
+              <Divider type="vertical" className="!h-3.5 shrink-0 !mx-0.5" />
+              {isApp && <ShareQRCode content={isApp ? appUrl : apiUrl} selectorId={randomString(8)} className={'hover:bg-gray-200'} />}
               <CopyFeedback
                 content={isApp ? appUrl : apiUrl}
-                className={'!size-6'}
+                className={'hover:bg-gray-200'}
               />
-              {isApp && <ShareQRCode content={isApp ? appUrl : apiUrl} className='z-50 !size-6 rounded-md hover:bg-state-base-hover' selectorId={randomString(8)} />}
-              {isApp && <Divider type="vertical" className="!mx-0.5 !h-3.5 shrink-0" />}
               {/* button copy link/ button regenerate */}
               {showConfirmDelete && (
                 <Confirm
@@ -193,12 +197,12 @@
                   popupContent={t('appOverview.overview.appInfo.regenerate') || ''}
                 >
                   <div
-                    className="h-6 w-6 cursor-pointer rounded-md hover:bg-state-base-hover"
+                    className="w-8 h-8 ml-0.5 cursor-pointer hover:bg-gray-200 rounded-lg"
                     onClick={() => setShowConfirmDelete(true)}
                   >
                     <div
                       className={
-                        `h-full w-full ${style.refreshIcon} ${genLoading ? style.generateLogo : ''}`}
+                        `w-full h-full ${style.refreshIcon} ${genLoading ? style.generateLogo : ''}`}
                     ></div>
                   </div>
                 </Tooltip>
@@ -206,8 +210,8 @@
             </div>
           </div>
         </div>
-        <div className={'flex items-center gap-1 self-stretch p-3'}>
-          {!isApp && <SecretKeyButton appId={appInfo.id} />}
+        <div className={'pt-2 flex flex-row items-center flex-wrap gap-y-2'}>
+          {!isApp && <SecretKeyButton className='flex-shrink-0 !h-8 bg-white mr-2' textCls='!text-gray-700 font-medium' iconCls='stroke-[1.2px]' appId={appInfo.id} />}
           {OPERATIONS_MAP[cardType].map((op) => {
             const disabled
               = op.opName === t('appOverview.overview.appInfo.settings.entry')
@@ -215,9 +219,7 @@
                 : !runningStatus
             return (
               <Button
-                className="mr-1 min-w-[88px]"
-                size="small"
-                variant={'ghost'}
+                className="mr-2"
                 key={op.opName}
                 onClick={genClickFuncByName(op.opName)}
                 disabled={disabled}
@@ -228,9 +230,9 @@
                   }
                   popupClassName={disabled ? 'mt-[-8px]' : '!hidden'}
                 >
-                  <div className="flex items-center justify-center gap-[1px]">
-                    <op.opIcon className="h-3.5 w-3.5" />
-                    <div className={`${runningStatus ? 'text-text-tertiary' : 'text-components-button-ghost-text-disabled'} system-xs-medium px-[3px]`}>{op.opName}</div>
+                  <div className="flex flex-row items-center">
+                    <op.opIcon className="h-4 w-4 mr-1.5 stroke-[1.8px]" />
+                    <span className="text-[13px]">{op.opName}</span>
                   </div>
                 </Tooltip>
               </Button>
diff --git a/app/components/app/overview/appChart.tsx b/app/components/app/overview/appChart.tsx
index 4e74eda..43b1cb6 100644
--- a/app/components/app/overview/appChart.tsx
+++ b/app/components/app/overview/appChart.tsx
@@ -215,8 +215,8 @@
             return `<div style='color:#6B7280;font-size:12px'>${params.name}</div>
                           <div style='font-size:14px;color:#1F2A37'>${valueFormatter((params.data as any)[yField])}
                               ${!CHART_TYPE_CONFIG[chartType].showTokens
-                                ? ''
-                                : `<span style='font-size:12px'>
+    ? ''
+    : `<span style='font-size:12px'>
                                   <span style='margin-left:4px;color:#6B7280'>(</span>
                                   <span style='color:#FF8A4C'>~$${get(params.data, 'total_price', 0)}</span>
                                   <span style='color:#6B7280'>)</span>
@@ -230,22 +230,22 @@
   const sumData = isAvg ? (sum(yData) / yData.length) : sum(yData)
 
   return (
-    <div className={`flex w-full flex-col rounded-xl bg-components-chart-bg px-6 py-4 shadow-xs ${className ?? ''}`}>
+    <div className={`flex flex-col w-full px-6 py-4 border-[0.5px] rounded-lg border-gray-200 shadow-xs ${className ?? ''}`}>
       <div className='mb-3'>
         <Basic name={title} type={timePeriod} hoverTip={explanation} />
       </div>
       <div className='mb-4 flex-1'>
         <Basic
           isExtraInLine={CHART_TYPE_CONFIG[chartType].showTokens}
-          name={chartType !== 'costs' ? (`${sumData.toLocaleString()} ${unit}`) : `${sumData < 1000 ? sumData : (`${formatNumber(Math.round(sumData / 1000))}k`)}`}
+          name={chartType !== 'costs' ? (sumData.toLocaleString() + unit) : `${sumData < 1000 ? sumData : (`${formatNumber(Math.round(sumData / 1000))}k`)}`}
           type={!CHART_TYPE_CONFIG[chartType].showTokens
             ? ''
             : <span>{t('appOverview.analysis.tokenUsage.consumed')} Tokens<span className='text-sm'>
-              <span className='ml-1 text-text-tertiary'>(</span>
-              <span className='text-orange-400'>~{sum(statistics.map(item => Number.parseFloat(get(item, 'total_price', '0')))).toLocaleString('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 4 })}</span>
-              <span className='text-text-tertiary'>)</span>
+              <span className='ml-1 text-gray-500'>(</span>
+              <span className='text-orange-400'>~{sum(statistics.map(item => parseFloat(get(item, 'total_price', '0')))).toLocaleString('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 4 })}</span>
+              <span className='text-gray-500'>)</span>
             </span></span>}
-          textStyle={{ main: `!text-3xl !font-normal ${sumData === 0 ? '!text-text-quaternary' : ''}` }} />
+          textStyle={{ main: `!text-3xl !font-normal ${sumData === 0 ? '!text-gray-300' : ''}` }} />
       </div>
       <ReactECharts option={options} style={{ height: 160 }} />
     </div>
@@ -350,7 +350,6 @@
     isAvg
     unit={t('appOverview.analysis.tokenPS') as string}
     {...(noDataFlag && { yMax: 100 })}
-    className="min-w-0"
   />
 }
 
diff --git a/app/components/app/overview/customize/index.tsx b/app/components/app/overview/customize/index.tsx
index 4e84dd8..d53aa00 100644
--- a/app/components/app/overview/customize/index.tsx
+++ b/app/components/app/overview/customize/index.tsx
@@ -21,7 +21,7 @@
 }
 
 const StepNum: FC<{ children: React.ReactNode }> = ({ children }) =>
-  <div className='mr-3 flex h-7 w-7 shrink-0 items-center justify-center rounded-2xl bg-util-colors-blue-blue-50 text-text-accent'>
+  <div className='h-7 w-7 flex justify-center items-center flex-shrink-0 mr-3 text-primary-600 bg-primary-50 rounded-2xl'>
     {children}
   </div>
 
@@ -51,30 +51,30 @@
     description={t(`${prefixCustomize}.explanation`)}
     isShow={isShow}
     onClose={onClose}
-    className='w-[640px] !max-w-2xl'
+    className='!max-w-2xl w-[640px]'
     closable={true}
   >
-    <div className='mt-4 w-full rounded-lg border-[0.5px] border-components-panel-border px-6 py-5'>
-      <Tag bordered={true} hideBg={true} className='border-text-accent-secondary uppercase text-text-accent-secondary'>{t(`${prefixCustomize}.way`)} 1</Tag>
-      <p className='system-sm-medium my-2 text-text-secondary'>{t(`${prefixCustomize}.way1.name`)}</p>
+    <div className='w-full mt-4 px-6 py-5 border-gray-200 rounded-lg border-[0.5px]'>
+      <Tag bordered={true} hideBg={true} className='text-primary-600 border-primary-600 uppercase'>{t(`${prefixCustomize}.way`)} 1</Tag>
+      <p className='my-2 text-base font-medium text-gray-800'>{t(`${prefixCustomize}.way1.name`)}</p>
       <div className='flex py-4'>
         <StepNum>1</StepNum>
         <div className='flex flex-col'>
-          <div className='text-text-primary'>{t(`${prefixCustomize}.way1.step1`)}</div>
-          <div className='mb-2 mt-1 text-xs text-text-tertiary'>{t(`${prefixCustomize}.way1.step1Tip`)}</div>
+          <div className='text-gray-900'>{t(`${prefixCustomize}.way1.step1`)}</div>
+          <div className='text-gray-500 text-xs mt-1 mb-2'>{t(`${prefixCustomize}.way1.step1Tip`)}</div>
           <a href={`https://github.com/langgenius/${isChatApp ? 'webapp-conversation' : 'webapp-text-generator'}`} target='_blank' rel='noopener noreferrer'>
-            <Button><GithubIcon className='mr-2 text-text-secondary' />{t(`${prefixCustomize}.way1.step1Operation`)}</Button>
+            <Button><GithubIcon className='text-gray-800 mr-2' />{t(`${prefixCustomize}.way1.step1Operation`)}</Button>
           </a>
         </div>
       </div>
       <div className='flex pt-4'>
         <StepNum>2</StepNum>
         <div className='flex flex-col'>
-          <div className='text-text-primary'>{t(`${prefixCustomize}.way1.step3`)}</div>
-          <div className='mb-2 mt-1 text-xs text-text-tertiary'>{t(`${prefixCustomize}.way1.step2Tip`)}</div>
+          <div className='text-gray-900'>{t(`${prefixCustomize}.way1.step3`)}</div>
+          <div className='text-gray-500 text-xs mt-1 mb-2'>{t(`${prefixCustomize}.way1.step2Tip`)}</div>
           <a href="https://vercel.com/docs/concepts/deployments/git/vercel-for-github" target='_blank' rel='noopener noreferrer'>
             <Button>
-              <div className='mr-1.5 border-b-[12px] border-l-[7px] border-r-[7px] border-t-0 border-solid border-text-primary border-l-transparent border-r-transparent border-t-transparent'></div>
+              <div className='mr-1.5 border-solid border-t-0 border-r-[7px] border-l-[7px] border-b-[12px] border-r-transparent border-b-black border-l-transparent border-t-transparent'></div>
               <span>{t(`${prefixCustomize}.way1.step2Operation`)}</span>
             </Button>
           </a>
@@ -82,10 +82,10 @@
       </div>
       <div className='flex py-4'>
         <StepNum>3</StepNum>
-        <div className='flex w-full flex-col overflow-hidden'>
-          <div className='text-text-primary'>{t(`${prefixCustomize}.way1.step3`)}</div>
-          <div className='mb-2 mt-1 text-xs text-text-tertiary'>{t(`${prefixCustomize}.way1.step3Tip`)}</div>
-          <pre className='box-border select-text overflow-x-scroll rounded-lg border-[0.5px] border-components-panel-border bg-background-section px-4 py-3 text-xs font-medium text-text-secondary'>
+        <div className='flex flex-col w-full overflow-hidden'>
+          <div className='text-gray-900'>{t(`${prefixCustomize}.way1.step3`)}</div>
+          <div className='text-gray-500 text-xs mt-1 mb-2'>{t(`${prefixCustomize}.way1.step3Tip`)}</div>
+          <pre className='overflow-x-scroll box-border py-3 px-4 bg-gray-100 text-xs font-medium rounded-lg select-text'>
             NEXT_PUBLIC_APP_ID={`'${appId}'`} <br />
             NEXT_PUBLIC_APP_KEY={'\'<Web API Key From Dify>\''} <br />
             NEXT_PUBLIC_API_URL={`'${api_base_url}'`}
@@ -94,23 +94,23 @@
       </div>
 
     </div>
-    <div className='mt-4 w-full rounded-lg border-[0.5px] border-components-panel-border px-6 py-5'>
-      <Tag bordered={true} hideBg={true} className='border-text-accent-secondary uppercase text-text-accent-secondary'>{t(`${prefixCustomize}.way`)} 2</Tag>
-      <p className='system-sm-medium my-2 text-text-secondary'>{t(`${prefixCustomize}.way2.name`)}</p>
+    <div className='w-full mt-4 px-6 py-5 border-gray-200 rounded-lg border-[0.5px]'>
+      <Tag bordered={true} hideBg={true} className='text-primary-600 border-primary-600 uppercase'>{t(`${prefixCustomize}.way`)} 2</Tag>
+      <p className='mt-2 text-base font-medium text-gray-800'>{t(`${prefixCustomize}.way2.name`)}</p>
       <Button
         className='mt-2'
         onClick={() =>
           window.open(
             `https://docs.dify.ai/${locale !== LanguagesSupported[1]
               ? 'user-guide/launching-dify-apps/developing-with-apis'
-              : `${locale.toLowerCase()}/guides/application-publishing/developing-with-apis`
+              : `v/${locale.toLowerCase()}/guides/application-publishing/developing-with-apis`
             }`,
             '_blank',
           )
         }
       >
-        <span className='text-sm text-text-secondary'>{t(`${prefixCustomize}.way2.operation`)}</span>
-        <ArrowTopRightOnSquareIcon className='ml-1 h-4 w-4 shrink-0 text-text-secondary' />
+        <span className='text-sm text-gray-800'>{t(`${prefixCustomize}.way2.operation`)}</span>
+        <ArrowTopRightOnSquareIcon className='w-4 h-4 ml-1 text-gray-800 shrink-0' />
       </Button>
     </div>
   </Modal>
diff --git a/app/components/app/overview/embedded/index.tsx b/app/components/app/overview/embedded/index.tsx
index e047b4f..b71a3c3 100644
--- a/app/components/app/overview/embedded/index.tsx
+++ b/app/components/app/overview/embedded/index.tsx
@@ -1,19 +1,15 @@
 import React, { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiClipboardFill,
-  RiClipboardLine,
-} from '@remixicon/react'
 import copy from 'copy-to-clipboard'
 import style from './style.module.css'
+import cn from '@/utils/classnames'
 import Modal from '@/app/components/base/modal'
+import copyStyle from '@/app/components/base/copy-btn/style.module.css'
 import Tooltip from '@/app/components/base/tooltip'
 import { useAppContext } from '@/context/app-context'
 import { IS_CE_EDITION } from '@/config'
 import type { SiteInfo } from '@/models/share'
 import { useThemeContext } from '@/app/components/base/chat/embedded-chatbot/theme/theme-context'
-import ActionButton from '@/app/components/base/action-button'
-import cn from '@/utils/classnames'
 
 type Props = {
   siteInfo?: SiteInfo
@@ -39,16 +35,12 @@
       `<script>
  window.difyChatbotConfig = {
   token: '${token}'${isTestEnv
-        ? `,
+  ? `,
   isDev: true`
-        : ''}${IS_CE_EDITION
-          ? `,
+  : ''}${IS_CE_EDITION
+  ? `,
   baseUrl: '${url}'`
-          : ''},
-  systemVariables: {
-    // user_id: 'YOU CAN DEFINE USER ID HERE',
-    // conversation_id: 'YOU CAN DEFINE CONVERSATION ID HERE, IT MUST BE A VALID UUID',
-  },
+  : ''}
  }
 </script>
 <script
@@ -111,7 +103,7 @@
   }
 
   const navigateToChromeUrl = () => {
-    window.open('https://chrome.google.com/webstore/detail/dify-chatbot/ceehdapohffmjmkdcifjofadiaoeggaf', '_blank', 'noopener,noreferrer')
+    window.open('https://chrome.google.com/webstore/detail/dify-chatbot/ceehdapohffmjmkdcifjofadiaoeggaf', '_blank')
   }
 
   useEffect(() => {
@@ -123,11 +115,11 @@
       title={t(`${prefixEmbedded}.title`)}
       isShow={isShow}
       onClose={onClose}
-      className="w-[640px] !max-w-2xl"
+      className="!max-w-2xl w-[640px]"
       wrapperClassName={className}
       closable={true}
     >
-      <div className="system-sm-medium mb-4 mt-8 text-text-primary">
+      <div className="mb-4 mt-8 text-gray-900 text-[14px] font-medium leading-tight">
         {t(`${prefixEmbedded}.explanation`)}
       </div>
       <div className="flex flex-wrap items-center justify-between gap-y-2">
@@ -149,39 +141,32 @@
         })}
       </div>
       {option === 'chromePlugin' && (
-        <div className="mt-6 w-full">
-          <div className={cn('inline-flex w-full items-center justify-center gap-2 rounded-lg py-3',
-            'shrink-0 cursor-pointer bg-primary-600 text-white hover:bg-primary-600/75 hover:shadow-sm')}>
-            <div className={`relative h-4 w-4 ${style.pluginInstallIcon}`}></div>
-            <div className="font-['Inter'] text-sm font-medium leading-tight text-white" onClick={navigateToChromeUrl}>{t(`${prefixEmbedded}.chromePlugin`)}</div>
+        <div className="w-full mt-6">
+          <div className={cn('gap-2 py-3 justify-center items-center inline-flex w-full rounded-lg',
+            'bg-primary-600 hover:bg-primary-600/75 hover:shadow-md cursor-pointer text-white hover:shadow-sm flex-shrink-0')}>
+            <div className={`w-4 h-4 relative ${style.pluginInstallIcon}`}></div>
+            <div className="text-white text-sm font-medium font-['Inter'] leading-tight" onClick={navigateToChromeUrl}>{t(`${prefixEmbedded}.chromePlugin`)}</div>
           </div>
         </div>
       )}
-      <div className={cn('inline-flex w-full flex-col items-start justify-start rounded-lg border-[0.5px] border-components-panel-border bg-background-section',
+      <div className={cn('w-full bg-gray-100 rounded-lg flex-col justify-start items-start inline-flex',
         'mt-6')}>
-        <div className="inline-flex items-center justify-start gap-2 self-stretch rounded-t-lg bg-background-section-burn py-1  pl-3 pr-1">
-          <div className="system-sm-medium shrink-0 grow text-text-secondary">
+        <div className="inline-flex items-center self-stretch justify-start gap-2 py-1 pl-3 pr-1 border border-black rounded-tl-lg rounded-tr-lg bg-gray-50 border-opacity-5">
+          <div className="grow shrink basis-0 text-slate-700 text-[13px] font-medium leading-none">
             {t(`${prefixEmbedded}.${option}`)}
           </div>
-          <Tooltip
-            popupContent={
-              (isCopied[option]
-                ? t(`${prefixEmbedded}.copied`)
-                : t(`${prefixEmbedded}.copy`)) || ''
-            }
-          >
-            <ActionButton>
-              <div
-                onClick={onClickCopy}
-              >
-                {isCopied[option] && <RiClipboardFill className='h-4 w-4' />}
-                {!isCopied[option] && <RiClipboardLine className='h-4 w-4' />}
+          <div className="flex items-center justify-center gap-1 p-2 rounded-lg">
+            <Tooltip
+              popupContent={(isCopied[option] ? t(`${prefixEmbedded}.copied`) : t(`${prefixEmbedded}.copy`)) || ''}
+            >
+              <div className="w-8 h-8 rounded-lg cursor-pointer hover:bg-gray-100">
+                <div onClick={onClickCopy} className={`w-full h-full ${copyStyle.copyIcon} ${isCopied[option] ? copyStyle.copied : ''}`}></div>
               </div>
-            </ActionButton>
-          </Tooltip>
+            </Tooltip>
+          </div>
         </div>
-        <div className="flex w-full items-start justify-start gap-2 overflow-x-auto p-3">
-          <div className="shrink grow basis-0 font-mono text-[13px] leading-tight text-text-secondary">
+        <div className="flex items-start justify-start w-full gap-2 p-3 overflow-x-auto">
+          <div className="grow shrink basis-0 text-slate-700 text-[13px] leading-tight font-mono">
             <pre className='select-text'>{OPTION_MAP[option].getContent(appBaseUrl, accessToken, themeBuilder.theme?.primaryColor ?? '#1C64F2', isTestEnv)}</pre>
           </div>
         </div>
diff --git a/app/components/app/overview/embedded/style.module.css b/app/components/app/overview/embedded/style.module.css
index f2a4d2d..bea829b 100644
--- a/app/components/app/overview/embedded/style.module.css
+++ b/app/components/app/overview/embedded/style.module.css
@@ -17,4 +17,4 @@
 }
 .pluginInstallIcon {
   background-image: url(../assets/chromeplugin-install.svg);
-}
+}
\ No newline at end of file
diff --git a/app/components/app/overview/settings/index.tsx b/app/components/app/overview/settings/index.tsx
index c0a5fdf..f9d13b9 100644
--- a/app/components/app/overview/settings/index.tsx
+++ b/app/components/app/overview/settings/index.tsx
@@ -162,20 +162,9 @@
       return check
     }
 
-    const validatePrivacyPolicy = (privacyPolicy: string | null) => {
-      if (privacyPolicy === null || privacyPolicy?.length === 0)
-        return true
-
-      return privacyPolicy.startsWith('http://') || privacyPolicy.startsWith('https://')
-    }
-
     if (inputInfo !== null) {
       if (!validateColorHex(inputInfo.chatColorTheme)) {
         notify({ type: 'error', message: t(`${prefixSettings}.invalidHexMessage`) })
-        return
-      }
-      if (!validatePrivacyPolicy(inputInfo.privacyPolicy)) {
-        notify({ type: 'error', message: t(`${prefixSettings}.invalidPrivacyPolicy`) })
         return
       }
     }
@@ -232,24 +221,24 @@
         className='max-w-[520px] p-0'
       >
         {/* header */}
-        <div className='pb-3 pl-6 pr-5 pt-5'>
+        <div className='pl-6 pt-5 pr-5 pb-3'>
           <div className='flex items-center gap-1'>
-            <div className='title-2xl-semi-bold grow text-text-primary'>{t(`${prefixSettings}.title`)}</div>
+            <div className='grow text-text-primary title-2xl-semi-bold'>{t(`${prefixSettings}.title`)}</div>
             <ActionButton className='shrink-0' onClick={onHide}>
-              <RiCloseLine className='h-4 w-4' />
+              <RiCloseLine className='w-4 h-4' />
             </ActionButton>
           </div>
-          <div className='system-xs-regular mt-0.5 text-text-tertiary'>
+          <div className='mt-0.5 text-text-tertiary system-xs-regular'>
             <span>{t(`${prefixSettings}.modalTip`)}</span>
-            <Link href={`${locale === LanguagesSupported[1] ? 'https://docs.dify.ai/zh-hans/guides/application-publishing/launch-your-webapp-quickly#she-zhi-ni-de-ai-zhan-dian' : 'https://docs.dify.ai/en/guides/application-publishing/launch-your-webapp-quickly/README'}`} target='_blank' rel='noopener noreferrer' className='text-text-accent'>{t('common.operation.learnMore')}</Link>
+            <Link href={`${locale === LanguagesSupported[1] ? 'https://docs.dify.ai/zh-hans/guides/application-publishing/launch-your-webapp-quickly#she-zhi-ni-de-ai-zhan-dian' : 'https://docs.dify.ai/guides/application-publishing/launch-your-webapp-quickly#setting-up-your-ai-site'}`} target='_blank' rel='noopener noreferrer' className='text-text-accent'>{t('common.operation.learnMore')}</Link>
           </div>
         </div>
         {/* form body */}
-        <div className='space-y-5 px-6 py-3'>
+        <div className='px-6 py-3 space-y-5'>
           {/* name & icon */}
           <div className='flex gap-4'>
             <div className='grow'>
-              <div className={cn('system-sm-semibold mb-1 py-1 text-text-secondary')}>{t(`${prefixSettings}.webName`)}</div>
+              <div className={cn('mb-1 py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.webName`)}</div>
               <Input
                 className='w-full'
                 value={inputInfo.title}
@@ -269,46 +258,45 @@
           </div>
           {/* description */}
           <div className='relative'>
-            <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.webDesc`)}</div>
+            <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.webDesc`)}</div>
             <Textarea
               className='mt-1'
               value={inputInfo.desc}
               onChange={e => onDesChange(e.target.value)}
               placeholder={t(`${prefixSettings}.webDescPlaceholder`) as string}
             />
-            <p className={cn('body-xs-regular pb-0.5 text-text-tertiary')}>{t(`${prefixSettings}.webDescTip`)}</p>
+            <p className={cn('pb-0.5 text-text-tertiary body-xs-regular')}>{t(`${prefixSettings}.webDescTip`)}</p>
           </div>
-          <Divider className="my-0 h-px" />
+          <Divider className="h-px my-0" />
           {/* answer icon */}
           {isChat && (
             <div className='w-full'>
-              <div className='flex items-center justify-between'>
-                <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t('app.answerIcon.title')}</div>
+              <div className='flex justify-between items-center'>
+                <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t('app.answerIcon.title')}</div>
                 <Switch
                   defaultValue={inputInfo.use_icon_as_answer_icon}
                   onChange={v => setInputInfo({ ...inputInfo, use_icon_as_answer_icon: v })}
                 />
               </div>
-              <p className='body-xs-regular pb-0.5 text-text-tertiary'>{t('app.answerIcon.description')}</p>
+              <p className='pb-0.5 text-text-tertiary body-xs-regular'>{t('app.answerIcon.description')}</p>
             </div>
           )}
           {/* language */}
           <div className='flex items-center'>
-            <div className={cn('system-sm-semibold grow py-1 text-text-secondary')}>{t(`${prefixSettings}.language`)}</div>
+            <div className={cn('grow py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.language`)}</div>
             <SimpleSelect
               wrapperClassName='w-[200px]'
               items={languages.filter(item => item.supported)}
               defaultValue={language}
               onSelect={item => setLanguage(item.value as Language)}
-              notClearable
             />
           </div>
           {/* theme color */}
           {isChat && (
             <div className='flex items-center'>
               <div className='grow'>
-                <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.chatColorTheme`)}</div>
-                <div className='body-xs-regular pb-0.5 text-text-tertiary'>{t(`${prefixSettings}.chatColorThemeDesc`)}</div>
+                <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.chatColorTheme`)}</div>
+                <div className='pb-0.5 body-xs-regular text-text-tertiary'>{t(`${prefixSettings}.chatColorThemeDesc`)}</div>
               </div>
               <div className='shrink-0'>
                 <Input
@@ -317,7 +305,7 @@
                   onChange={onChange('chatColorTheme')}
                   placeholder='E.g #A020F0'
                 />
-                <div className='flex items-center justify-between'>
+                <div className='flex justify-between items-center'>
                   <p className={cn('body-xs-regular text-text-tertiary')}>{t(`${prefixSettings}.chatColorThemeInverted`)}</p>
                   <Switch defaultValue={inputInfo.chatColorThemeInverted} onChange={v => setInputInfo({ ...inputInfo, chatColorThemeInverted: v })}></Switch>
                 </div>
@@ -326,24 +314,24 @@
           )}
           {/* workflow detail */}
           <div className='w-full'>
-            <div className='flex items-center justify-between'>
-              <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.workflow.subTitle`)}</div>
+            <div className='flex justify-between items-center'>
+              <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.workflow.subTitle`)}</div>
               <Switch
                 disabled={!(appInfo.mode === 'workflow' || appInfo.mode === 'advanced-chat')}
                 defaultValue={inputInfo.show_workflow_steps}
                 onChange={v => setInputInfo({ ...inputInfo, show_workflow_steps: v })}
               />
             </div>
-            <p className='body-xs-regular pb-0.5 text-text-tertiary'>{t(`${prefixSettings}.workflow.showDesc`)}</p>
+            <p className='pb-0.5 text-text-tertiary body-xs-regular'>{t(`${prefixSettings}.workflow.showDesc`)}</p>
           </div>
           {/* SSO */}
           {systemFeatures.enable_web_sso_switch_component && (
             <>
-              <Divider className="my-0 h-px" />
+              <Divider className="h-px my-0" />
               <div className='w-full'>
-                <p className='system-xs-medium-uppercase mb-1 text-text-tertiary'>{t(`${prefixSettings}.sso.label`)}</p>
-                <div className='flex items-center justify-between'>
-                  <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.sso.title`)}</div>
+                <p className='mb-1 system-xs-medium-uppercase text-text-tertiary'>{t(`${prefixSettings}.sso.label`)}</p>
+                <div className='flex justify-between items-center'>
+                  <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.sso.title`)}</div>
                   <Tooltip
                     disabled={systemFeatures.sso_enforced_for_web}
                     popupContent={
@@ -354,19 +342,19 @@
                     <Switch disabled={!systemFeatures.sso_enforced_for_web || !isCurrentWorkspaceEditor} defaultValue={systemFeatures.sso_enforced_for_web && inputInfo.enable_sso} onChange={v => setInputInfo({ ...inputInfo, enable_sso: v })}></Switch>
                   </Tooltip>
                 </div>
-                <p className='body-xs-regular pb-0.5 text-text-tertiary'>{t(`${prefixSettings}.sso.description`)}</p>
+                <p className='pb-0.5 body-xs-regular text-text-tertiary'>{t(`${prefixSettings}.sso.description`)}</p>
               </div>
             </>
           )}
           {/* more settings switch */}
-          <Divider className="my-0 h-px" />
+          <Divider className="h-px my-0" />
           {!isShowMore && (
-            <div className='flex cursor-pointer items-center' onClick={() => setIsShowMore(true)}>
+            <div className='flex items-center cursor-pointer' onClick={() => setIsShowMore(true)}>
               <div className='grow'>
-                <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.more.entry`)}</div>
-                <p className={cn('body-xs-regular pb-0.5 text-text-tertiary')}>{t(`${prefixSettings}.more.copyRightPlaceholder`)} & {t(`${prefixSettings}.more.privacyPolicyPlaceholder`)}</p>
+                <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.more.entry`)}</div>
+                <p className={cn('pb-0.5 text-text-tertiary body-xs-regular')}>{t(`${prefixSettings}.more.copyRightPlaceholder`)} & {t(`${prefixSettings}.more.privacyPolicyPlaceholder`)}</p>
               </div>
-              <RiArrowRightSLine className='ml-1 h-4 w-4 shrink-0 text-text-secondary' />
+              <RiArrowRightSLine className='shrink-0 ml-1 w-4 h-4 text-text-secondary'/>
             </div>
           )}
           {/* more settings */}
@@ -375,13 +363,13 @@
               {/* copyright */}
               <div className='w-full'>
                 <div className='flex items-center'>
-                  <div className='flex grow items-center'>
-                    <div className={cn('system-sm-semibold mr-1 py-1 text-text-secondary')}>{t(`${prefixSettings}.more.copyright`)}</div>
+                  <div className='grow flex items-center'>
+                    <div className={cn('mr-1 py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.more.copyright`)}</div>
                     {/* upgrade button */}
                     {enableBilling && isFreePlan && (
-                      <div className='h-[18px] select-none'>
+                      <div className='select-none h-[18px]'>
                         <PremiumBadge size='s' color='blue' allowHover={true} onClick={handlePlanClick}>
-                          <SparklesSoft className='flex h-3.5 w-3.5 items-center py-[1px] pl-[3px] text-components-premium-badge-indigo-text-stop-0' />
+                          <SparklesSoft className='flex items-center py-[1px] pl-[3px] w-3.5 h-3.5 text-components-premium-badge-indigo-text-stop-0' />
                           <div className='system-xs-medium'>
                             <span className='p-1'>
                               {t('billing.upgradeBtn.encourageShort')}
@@ -405,7 +393,7 @@
                     />
                   </Tooltip>
                 </div>
-                <p className='body-xs-regular pb-0.5 text-text-tertiary'>{t(`${prefixSettings}.more.copyrightTip`)}</p>
+                <p className='pb-0.5 text-text-tertiary body-xs-regular'>{t(`${prefixSettings}.more.copyrightTip`)}</p>
                 {inputInfo.copyrightSwitchValue && (
                   <Input
                     className='mt-2 h-10'
@@ -417,11 +405,11 @@
               </div>
               {/* privacy policy */}
               <div className='w-full'>
-                <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.more.privacyPolicy`)}</div>
-                <p className={cn('body-xs-regular pb-0.5 text-text-tertiary')}>
+                <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.more.privacyPolicy`)}</div>
+                <p className={cn('pb-0.5 body-xs-regular text-text-tertiary')}>
                   <Trans
                     i18nKey={`${prefixSettings}.more.privacyPolicyTip`}
-                    components={{ privacyPolicyLink: <Link href={'https://dify.ai/privacy'} target='_blank' rel='noopener noreferrer' className='text-text-accent' /> }}
+                    components={{ privacyPolicyLink: <Link href={'https://docs.dify.ai/user-agreement/privacy-policy'} target='_blank' rel='noopener noreferrer' className='text-text-accent' /> }}
                   />
                 </p>
                 <Input
@@ -433,8 +421,8 @@
               </div>
               {/* custom disclaimer */}
               <div className='w-full'>
-                <div className={cn('system-sm-semibold py-1 text-text-secondary')}>{t(`${prefixSettings}.more.customDisclaimer`)}</div>
-                <p className={cn('body-xs-regular pb-0.5 text-text-tertiary')}>{t(`${prefixSettings}.more.customDisclaimerTip`)}</p>
+                <div className={cn('py-1 text-text-secondary system-sm-semibold')}>{t(`${prefixSettings}.more.customDisclaimer`)}</div>
+                <p className={cn('pb-0.5 body-xs-regular text-text-tertiary')}>{t(`${prefixSettings}.more.customDisclaimerTip`)}</p>
                 <Textarea
                   className='mt-1'
                   value={inputInfo.customDisclaimer}
@@ -446,29 +434,27 @@
           )}
         </div>
         {/* footer */}
-        <div className='flex justify-end p-6 pt-5'>
+        <div className='p-6 pt-5 flex justify-end'>
           <Button className='mr-2' onClick={onHide}>{t('common.operation.cancel')}</Button>
           <Button variant='primary' onClick={onClickSave} loading={saveLoading}>{t('common.operation.save')}</Button>
         </div>
-
-        {showAppIconPicker && (
-          <div onClick={e => e.stopPropagation()}>
-            <AppIconPicker
-              onSelect={(payload) => {
-                setAppIcon(payload)
-                setShowAppIconPicker(false)
-              }}
-              onClose={() => {
-                setAppIcon(icon_type === 'image'
-                  ? { type: 'image', url: icon_url!, fileId: icon }
-                  : { type: 'emoji', icon, background: icon_background! })
-                setShowAppIconPicker(false)
-              }}
-            />
-          </div>
-        )}
-      </Modal>
+      </Modal >
+      {showAppIconPicker && (
+        <AppIconPicker
+          onSelect={(payload) => {
+            setAppIcon(payload)
+            setShowAppIconPicker(false)
+          }}
+          onClose={() => {
+            setAppIcon(icon_type === 'image'
+              ? { type: 'image', url: icon_url!, fileId: icon }
+              : { type: 'emoji', icon, background: icon_background! })
+            setShowAppIconPicker(false)
+          }}
+        />
+      )}
     </>
+
   )
 }
 export default React.memo(SettingsModal)
diff --git a/app/components/app/switch-app-modal/index.tsx b/app/components/app/switch-app-modal/index.tsx
index f1654eb..5b45095 100644
--- a/app/components/app/switch-app-modal/index.tsx
+++ b/app/components/app/switch-app-modal/index.tsx
@@ -6,6 +6,7 @@
 import { useTranslation } from 'react-i18next'
 import { RiCloseLine } from '@remixicon/react'
 import AppIconPicker from '../../base/app-icon-picker'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import Checkbox from '@/app/components/base/checkbox'
 import Button from '@/app/components/base/button'
@@ -23,7 +24,6 @@
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
 import AppIcon from '@/app/components/base/app-icon'
 import { useStore as useAppStore } from '@/app/components/app/store'
-import { noop } from 'lodash-es'
 
 type SwitchAppModalProps = {
   show: boolean
@@ -82,7 +82,7 @@
         removeOriginal ? replace : push,
       )
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
     }
   }
@@ -95,24 +95,24 @@
   return (
     <>
       <Modal
-        className={cn('w-[600px] max-w-[600px] p-8')}
+        className={cn('p-8 max-w-[600px] w-[600px]', s.bg)}
         isShow={show}
-        onClose={noop}
+        onClose={() => { }}
       >
-        <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onClose}>
-          <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+        <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
+          <RiCloseLine className='w-4 h-4 text-gray-500' />
         </div>
-        <div className='h-12 w-12 rounded-xl border-[0.5px] border-divider-regular bg-background-default-burn p-3 shadow-xl'>
-          <AlertTriangle className='h-6 w-6 text-[rgb(247,144,9)]' />
+        <div className='w-12 h-12 p-3 bg-white rounded-xl border-[0.5px] border-gray-100 shadow-xl'>
+          <AlertTriangle className='w-6 h-6 text-[rgb(247,144,9)]' />
         </div>
-        <div className='relative mt-3 text-xl font-semibold leading-[30px] text-text-primary'>{t('app.switch')}</div>
-        <div className='my-1 text-sm leading-5 text-text-tertiary'>
+        <div className='relative mt-3 text-xl font-semibold leading-[30px] text-gray-900'>{t('app.switch')}</div>
+        <div className='my-1 text-gray-500 text-sm leading-5'>
           <span>{t('app.switchTipStart')}</span>
-          <span className='font-medium text-text-secondary'>{t('app.switchTip')}</span>
+          <span className='text-gray-700 font-medium'>{t('app.switchTip')}</span>
           <span>{t('app.switchTipEnd')}</span>
         </div>
         <div className='pb-4'>
-          <div className='py-2 text-sm font-medium leading-[20px] text-text-primary'>{t('app.switchLabel')}</div>
+          <div className='py-2 text-sm font-medium leading-[20px] text-gray-900'>{t('app.switchLabel')}</div>
           <div className='flex items-center justify-between space-x-2'>
             <AppIcon
               size='large'
@@ -127,7 +127,7 @@
               value={name}
               onChange={e => setName(e.target.value)}
               placeholder={t('app.newApp.appNamePlaceholder') || ''}
-              className='h-10 grow'
+              className='grow h-10'
             />
           </div>
           {showAppIconPicker && <AppIconPicker
@@ -144,10 +144,10 @@
           />}
         </div>
         {isAppsFull && <AppsFull loc='app-switch' />}
-        <div className='flex items-center justify-between pt-6'>
+        <div className='pt-6 flex justify-between items-center'>
           <div className='flex items-center'>
             <Checkbox className='shrink-0' checked={removeOriginal} onCheck={() => setRemoveOriginal(!removeOriginal)} />
-            <div className="ml-2 cursor-pointer text-sm leading-5 text-text-secondary" onClick={() => setRemoveOriginal(!removeOriginal)}>{t('app.removeOriginal')}</div>
+            <div className="ml-2 text-sm leading-5 text-gray-700 cursor-pointer" onClick={() => setRemoveOriginal(!removeOriginal)}>{t('app.removeOriginal')}</div>
           </div>
           <div className='flex items-center'>
             <Button className='mr-2' onClick={onClose}>{t('app.newApp.Cancel')}</Button>
diff --git a/app/components/app/switch-app-modal/style.module.css b/app/components/app/switch-app-modal/style.module.css
new file mode 100644
index 0000000..14367ec
--- /dev/null
+++ b/app/components/app/switch-app-modal/style.module.css
@@ -0,0 +1,3 @@
+.bg {
+  background: linear-gradient(180deg, rgba(247, 144, 9, 0.05) 0%, rgba(247, 144, 9, 0.00) 24.41%), #F9FAFB;
+}
diff --git a/app/components/app/text-generate/index.tsx b/app/components/app/text-generate/index.tsx
new file mode 100644
index 0000000..4cacbdb
--- /dev/null
+++ b/app/components/app/text-generate/index.tsx
@@ -0,0 +1,26 @@
+'use client'
+import type { FC } from 'react'
+import React from 'react'
+import { format } from '@/service/base'
+
+export type ITextGenerationProps = {
+  value: string
+  className?: string
+}
+
+const TextGeneration: FC<ITextGenerationProps> = ({
+  value,
+  className,
+}) => {
+  return (
+    <div
+      className={className}
+      dangerouslySetInnerHTML={{
+        __html: format(value),
+      }}
+    >
+    </div>
+  )
+}
+
+export default React.memo(TextGeneration)
diff --git a/app/components/app/text-generate/item/index.tsx b/app/components/app/text-generate/item/index.tsx
index aa3ffa3..3e2f837 100644
--- a/app/components/app/text-generate/item/index.tsx
+++ b/app/components/app/text-generate/item/index.tsx
@@ -1,36 +1,35 @@
 'use client'
 import type { FC } from 'react'
-import React, { useEffect, useState } from 'react'
+import React, { useEffect, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import {
-  RiBookmark3Line,
   RiClipboardLine,
-  RiFileList3Line,
-  RiPlayList2Line,
-  RiReplay15Line,
-  RiSparklingFill,
-  RiSparklingLine,
-  RiThumbDownLine,
-  RiThumbUpLine,
 } from '@remixicon/react'
 import copy from 'copy-to-clipboard'
 import { useParams } from 'next/navigation'
+import { HandThumbDownIcon, HandThumbUpIcon } from '@heroicons/react/24/outline'
 import { useBoolean } from 'ahooks'
+import { HashtagIcon } from '@heroicons/react/24/solid'
 import ResultTab from './result-tab'
+import cn from '@/utils/classnames'
 import { Markdown } from '@/app/components/base/markdown'
 import Loading from '@/app/components/base/loading'
 import Toast from '@/app/components/base/toast'
+import AudioBtn from '@/app/components/base/audio-btn'
 import type { FeedbackType } from '@/app/components/base/chat/chat/type'
 import { fetchMoreLikeThis, updateFeedback } from '@/service/share'
+import { File02 } from '@/app/components/base/icons/src/vender/line/files'
+import { Bookmark } from '@/app/components/base/icons/src/vender/line/general'
+import { Stars02 } from '@/app/components/base/icons/src/vender/line/weather'
+import { RefreshCcw01 } from '@/app/components/base/icons/src/vender/line/arrows'
+import AnnotationCtrlBtn from '@/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-btn'
 import { fetchTextGenerationMessage } from '@/service/debug'
+import EditReplyModal from '@/app/components/app/annotation/edit-annotation-modal'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import WorkflowProcessItem from '@/app/components/base/chat/chat/answer/workflow-process'
 import type { WorkflowProcess } from '@/app/components/base/chat/types'
 import type { SiteInfo } from '@/models/share'
 import { useChatContext } from '@/app/components/base/chat/chat/context'
-import ActionButton, { ActionButtonState } from '@/app/components/base/action-button'
-import NewAudioButton from '@/app/components/base/new-audio-button'
-import cn from '@/utils/classnames'
 
 const MAX_DEPTH = 3
 
@@ -57,11 +56,30 @@
   taskId?: string
   controlClearMoreLikeThis?: number
   supportFeedback?: boolean
+  supportAnnotation?: boolean
   isShowTextToSpeech?: boolean
+  appId?: string
+  varList?: { label: string; value: string | number | object }[]
+  innerClassName?: string
+  contentClassName?: string
+  footerClassName?: string
   hideProcessDetail?: boolean
   siteInfo: SiteInfo | null
-  inSidePanel?: boolean
 }
+
+export const SimpleBtn = ({ className, isDisabled, onClick, children }: {
+  className?: string
+  isDisabled?: boolean
+  onClick?: () => void
+  children: React.ReactNode
+}) => (
+  <div
+    className={cn(isDisabled ? 'border-gray-100 text-gray-300' : 'border-gray-200 text-gray-700 cursor-pointer hover:border-gray-300 hover:shadow-sm', 'flex items-center h-7 px-3 rounded-md border text-xs  font-medium', className)}
+    onClick={() => !isDisabled && onClick?.()}
+  >
+    {children}
+  </div>
+)
 
 export const copyIcon = (
   <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -91,16 +109,22 @@
   taskId,
   controlClearMoreLikeThis,
   supportFeedback,
+  supportAnnotation,
   isShowTextToSpeech,
+  appId,
+  varList,
+  innerClassName,
+  contentClassName,
   hideProcessDetail,
   siteInfo,
-  inSidePanel,
 }) => {
   const { t } = useTranslation()
   const params = useParams()
   const isTop = depth === 1
+  const ref = useRef(null)
   const [completionRes, setCompletionRes] = useState('')
   const [childMessageId, setChildMessageId] = useState<string | null>(null)
+  const hasChild = !!childMessageId
   const [childFeedback, setChildFeedback] = useState<FeedbackType>({
     rating: null,
   })
@@ -116,6 +140,8 @@
     setChildFeedback(childFeedback)
   }
 
+  const [isShowReplyModal, setIsShowReplyModal] = useState(false)
+  const question = (varList && varList?.length > 0) ? varList?.map(({ label, value }) => `${label}:${value}`).join('&') : ''
   const [isQuerying, { setTrue: startQuerying, setFalse: stopQuerying }] = useBoolean(false)
 
   const childProps = {
@@ -135,7 +161,6 @@
     controlClearMoreLikeThis,
     isWorkflow,
     siteInfo,
-    taskId,
   }
 
   const handleMoreLikeThis = async () => {
@@ -152,6 +177,19 @@
     setChildMessageId(res.id)
     stopQuerying()
   }
+
+  const mainStyle = (() => {
+    const res: React.CSSProperties = !isTop
+      ? {
+        background: depth % 2 === 0 ? 'linear-gradient(90.07deg, #F9FAFB 0.05%, rgba(249, 250, 251, 0) 99.93%)' : '#fff',
+      }
+      : {}
+
+    if (hasChild)
+      res.boxShadow = '0px 1px 2px rgba(16, 24, 40, 0.05)'
+
+    return res
+  })()
 
   useEffect(() => {
     if (controlClearMoreLikeThis) {
@@ -190,125 +228,123 @@
     setShowPromptLogModal(true)
   }
 
+  const ratingContent = (
+    <>
+      {!isWorkflow && !isError && messageId && !feedback?.rating && (
+        <SimpleBtn className="!px-0">
+          <>
+            <div
+              onClick={() => {
+                onFeedback?.({
+                  rating: 'like',
+                })
+              }}
+              className='flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-gray-100'>
+              <HandThumbUpIcon width={16} height={16} />
+            </div>
+            <div
+              onClick={() => {
+                onFeedback?.({
+                  rating: 'dislike',
+                })
+              }}
+              className='flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-gray-100'>
+              <HandThumbDownIcon width={16} height={16} />
+            </div>
+          </>
+        </SimpleBtn>
+      )}
+      {!isWorkflow && !isError && messageId && feedback?.rating === 'like' && (
+        <div
+          onClick={() => {
+            onFeedback?.({
+              rating: null,
+            })
+          }}
+          className='flex w-7 h-7 items-center justify-center rounded-md cursor-pointer  !text-primary-600 border border-primary-200 bg-primary-100 hover:border-primary-300 hover:bg-primary-200'>
+          <HandThumbUpIcon width={16} height={16} />
+        </div>
+      )}
+      {!isWorkflow && !isError && messageId && feedback?.rating === 'dislike' && (
+        <div
+          onClick={() => {
+            onFeedback?.({
+              rating: null,
+            })
+          }}
+          className='flex w-7 h-7 items-center justify-center rounded-md cursor-pointer  !text-red-600 border border-red-200 bg-red-100 hover:border-red-300 hover:bg-red-200'>
+          <HandThumbDownIcon width={16} height={16} />
+        </div>
+      )}
+    </>
+  )
+
   const [currentTab, setCurrentTab] = useState<string>('DETAIL')
-  const showResultTabs = !!workflowProcessData?.resultText || !!workflowProcessData?.files?.length
-  const switchTab = async (tab: string) => {
-    setCurrentTab(tab)
-  }
-  useEffect(() => {
-    if (workflowProcessData?.resultText || !!workflowProcessData?.files?.length)
-      switchTab('RESULT')
-    else
-      switchTab('DETAIL')
-  }, [workflowProcessData?.files?.length, workflowProcessData?.resultText])
 
   return (
-    <>
-      <div className={cn('relative', !isTop && 'mt-3', className)}>
-        {isLoading && (
-          <div className={cn('flex h-10 items-center', !inSidePanel && 'rounded-2xl border-t border-divider-subtle bg-chat-bubble-bg')}><Loading type='area' /></div>
-        )}
-        {!isLoading && (
-          <>
-            {/* result content */}
-            <div className={cn(
-              'relative',
-              !inSidePanel && 'rounded-2xl border-t border-divider-subtle bg-chat-bubble-bg',
-            )}>
-              {workflowProcessData && (
-                <>
-                  <div className={cn(
-                    'p-3',
-                    showResultTabs && 'border-b border-divider-subtle',
-                  )}>
-                    {taskId && (
-                      <div className={cn('system-2xs-medium-uppercase mb-2 flex items-center text-text-accent-secondary', isError && 'text-text-destructive')}>
-                        <RiPlayList2Line className='mr-1 h-3 w-3' />
-                        <span>{t('share.generation.execution')}</span>
-                        <span className='px-1'>路</span>
-                        <span>{taskId}</span>
-                      </div>
-                    )}
-                    {siteInfo && workflowProcessData && (
-                      <WorkflowProcessItem
-                        data={workflowProcessData}
-                        expand={workflowProcessData.expand}
-                        hideProcessDetail={hideProcessDetail}
-                        hideInfo={hideProcessDetail}
-                        readonly={!siteInfo.show_workflow_steps}
-                      />
-                    )}
-                    {showResultTabs && (
-                      <div className='flex items-center space-x-6 px-1'>
-                        <div
-                          className={cn(
-                            'system-sm-semibold-uppercase cursor-pointer border-b-2 border-transparent py-3 text-text-tertiary',
-                            currentTab === 'RESULT' && 'border-util-colors-blue-brand-blue-brand-600 text-text-primary',
-                          )}
-                          onClick={() => switchTab('RESULT')}
-                        >{t('runLog.result')}</div>
-                        <div
-                          className={cn(
-                            'system-sm-semibold-uppercase cursor-pointer border-b-2 border-transparent py-3 text-text-tertiary',
-                            currentTab === 'DETAIL' && 'border-util-colors-blue-brand-blue-brand-600 text-text-primary',
-                          )}
-                          onClick={() => switchTab('DETAIL')}
-                        >{t('runLog.detail')}</div>
-                      </div>
-                    )}
-                  </div>
-                  {!isError && (
-                    <ResultTab data={workflowProcessData} content={content} currentTab={currentTab} />
-                  )}
-                </>
-              )}
-              {!workflowProcessData && taskId && (
-                <div className={cn('system-2xs-medium-uppercase sticky left-0 top-0 flex w-full items-center rounded-t-2xl bg-components-actionbar-bg p-4 pb-3 text-text-accent-secondary', isError && 'text-text-destructive')}>
-                  <RiPlayList2Line className='mr-1 h-3 w-3' />
-                  <span>{t('share.generation.execution')}</span>
-                  <span className='px-1'>路</span>
-                  <span>{`${taskId}${depth > 1 ? `-${depth - 1}` : ''}`}</span>
-                </div>
-              )}
-              {isError && (
-                <div className='body-lg-regular p-4 pt-0 text-text-quaternary'>{t('share.generation.batchFailed.outputPlaceholder')}</div>
-              )}
-              {!workflowProcessData && !isError && (typeof content === 'string') && (
-                <div className={cn('p-4', taskId && 'pt-0')}>
-                  <Markdown content={content} />
-                </div>
-              )}
-            </div>
-            {/* meta data */}
-            <div className={cn(
-              'system-xs-regular relative mt-1 h-4 px-4 text-text-quaternary',
-              isMobile && ((childMessageId || isQuerying) && depth < 3) && 'pl-10',
-            )}>
-              {!isWorkflow && <span>{content?.length} {t('common.unit.char')}</span>}
-              {/* action buttons */}
-              <div className='absolute bottom-1 right-2 flex items-center'>
-                {!isInWebApp && !isInstalledApp && !isResponding && (
-                  <div className='ml-1 flex items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm'>
-                    <ActionButton disabled={isError || !messageId} onClick={handleOpenLogModal}>
-                      <RiFileList3Line className='h-4 w-4' />
-                      {/* <div>{t('common.operation.log')}</div> */}
-                    </ActionButton>
-                  </div>
+    <div ref={ref} className={cn(isTop ? `rounded-xl border ${!isError ? 'border-gray-200 bg-chat-bubble-bg' : 'border-[#FECDCA] bg-[#FEF3F2]'} ` : 'rounded-br-xl !mt-0', className)}
+      style={isTop
+        ? {
+          boxShadow: '0px 1px 2px rgba(16, 24, 40, 0.05)',
+        }
+        : {}}
+    >
+      {isLoading
+        ? (
+          <div className='flex items-center h-10'><Loading type='area' /></div>
+        )
+        : (
+          <div
+            className={cn(!isTop && 'rounded-br-xl border-l-2 border-primary-400', 'p-4', innerClassName)}
+            style={mainStyle}
+          >
+            {(isTop && taskId) && (
+              <div className='mb-2 text-gray-500 border border-gray-200 box-border flex items-center rounded-md italic text-[11px] pl-1 pr-1.5 font-medium w-fit group-hover:opacity-100'>
+                <HashtagIcon className='w-3 h-3 text-gray-400 fill-current mr-1 stroke-current stroke-1' />
+                {taskId}
+              </div>)
+            }
+            <div className={`flex ${contentClassName}`}>
+              <div className='grow w-0'>
+                {siteInfo && workflowProcessData && (
+                  <WorkflowProcessItem
+                    data={workflowProcessData}
+                    expand={workflowProcessData.expand}
+                    hideProcessDetail={hideProcessDetail}
+                    hideInfo={hideProcessDetail}
+                    readonly={!siteInfo.show_workflow_steps}
+                  />
                 )}
-                <div className='ml-1 flex items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm'>
-                  {moreLikeThis && (
-                    <ActionButton state={depth === MAX_DEPTH ? ActionButtonState.Disabled : ActionButtonState.Default} disabled={depth === MAX_DEPTH} onClick={handleMoreLikeThis}>
-                      <RiSparklingLine className='h-4 w-4' />
-                    </ActionButton>
-                  )}
-                  {isShowTextToSpeech && (
-                    <NewAudioButton
-                      id={messageId!}
-                      voice={config?.text_to_speech?.voice}
-                    />
-                  )}
-                  {((currentTab === 'RESULT' && workflowProcessData?.resultText) || !isWorkflow) && (
-                    <ActionButton disabled={isError || !messageId} onClick={() => {
+                {workflowProcessData && !isError && (
+                  <ResultTab data={workflowProcessData} content={content} currentTab={currentTab} onCurrentTabChange={setCurrentTab} />
+                )}
+                {isError && (
+                  <div className='text-gray-400 text-sm'>{t('share.generation.batchFailed.outputPlaceholder')}</div>
+                )}
+                {!workflowProcessData && !isError && (typeof content === 'string') && (
+                  <Markdown content={content} />
+                )}
+              </div>
+            </div>
+
+            <div className='flex items-center justify-between mt-3'>
+              <div className='flex items-center'>
+                {
+                  !isInWebApp && !isInstalledApp && !isResponding && (
+                    <SimpleBtn
+                      isDisabled={isError || !messageId}
+                      className={cn(isMobile && '!px-1.5', 'space-x-1 mr-1')}
+                      onClick={handleOpenLogModal}>
+                      <File02 className='w-3.5 h-3.5' />
+                      {!isMobile && <div>{t('common.operation.log')}</div>}
+                    </SimpleBtn>
+                  )
+                }
+                {((currentTab === 'RESULT' && workflowProcessData?.resultText) || !isWorkflow) && (
+                  <SimpleBtn
+                    isDisabled={isError || !messageId}
+                    className={cn(isMobile && '!px-1.5', 'space-x-1')}
+                    onClick={() => {
                       const copyContent = isWorkflow ? workflowProcessData?.resultText : content
                       if (typeof copyContent === 'string')
                         copy(copyContent)
@@ -316,68 +352,117 @@
                         copy(JSON.stringify(copyContent))
                       Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
                     }}>
-                      <RiClipboardLine className='h-4 w-4' />
-                    </ActionButton>
-                  )}
-                  {isInWebApp && isError && (
-                    <ActionButton onClick={onRetry}>
-                      <RiReplay15Line className='h-4 w-4' />
-                    </ActionButton>
-                  )}
-                  {isInWebApp && !isWorkflow && (
-                    <ActionButton disabled={isError || !messageId} onClick={() => { onSave?.(messageId as string) }}>
-                      <RiBookmark3Line className='h-4 w-4' />
-                    </ActionButton>
-                  )}
-                </div>
-                {(supportFeedback || isInWebApp) && !isWorkflow && !isError && messageId && (
-                  <div className='ml-1 flex items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm'>
-                    {!feedback?.rating && (
-                      <>
-                        <ActionButton onClick={() => onFeedback?.({ rating: 'like' })}>
-                          <RiThumbUpLine className='h-4 w-4' />
-                        </ActionButton>
-                        <ActionButton onClick={() => onFeedback?.({ rating: 'dislike' })}>
-                          <RiThumbDownLine className='h-4 w-4' />
-                        </ActionButton>
-                      </>
+                    <RiClipboardLine className='w-3.5 h-3.5' />
+                    {!isMobile && <div>{t('common.operation.copy')}</div>}
+                  </SimpleBtn>
+                )}
+
+                {isInWebApp && (
+                  <>
+                    {!isWorkflow && (
+                      <SimpleBtn
+                        isDisabled={isError || !messageId}
+                        className={cn(isMobile && '!px-1.5', 'ml-2 space-x-1')}
+                        onClick={() => { onSave?.(messageId as string) }}
+                      >
+                        <Bookmark className='w-3.5 h-3.5' />
+                        {!isMobile && <div>{t('common.operation.save')}</div>}
+                      </SimpleBtn>
                     )}
-                    {feedback?.rating === 'like' && (
-                      <ActionButton state={ActionButtonState.Active} onClick={() => onFeedback?.({ rating: null })}>
-                        <RiThumbUpLine className='h-4 w-4' />
-                      </ActionButton>
+                    {(moreLikeThis && depth < MAX_DEPTH) && (
+                      <SimpleBtn
+                        isDisabled={isError || !messageId}
+                        className={cn(isMobile && '!px-1.5', 'ml-2 space-x-1')}
+                        onClick={handleMoreLikeThis}
+                      >
+                        <Stars02 className='w-3.5 h-3.5' />
+                        {!isMobile && <div>{t('appDebug.feature.moreLikeThis.title')}</div>}
+                      </SimpleBtn>
                     )}
-                    {feedback?.rating === 'dislike' && (
-                      <ActionButton state={ActionButtonState.Destructive} onClick={() => onFeedback?.({ rating: null })}>
-                        <RiThumbDownLine className='h-4 w-4' />
-                      </ActionButton>
+                    {isError && (
+                      <SimpleBtn
+                        onClick={onRetry}
+                        className={cn(isMobile && '!px-1.5', 'ml-2 space-x-1')}
+                      >
+                        <RefreshCcw01 className='w-3.5 h-3.5' />
+                        {!isMobile && <div>{t('share.generation.batchFailed.retry')}</div>}
+                      </SimpleBtn>
                     )}
+                    {!isError && messageId && !isWorkflow && (
+                      <div className="mx-3 w-[1px] h-[14px] bg-gray-200"></div>
+                    )}
+                    {ratingContent}
+                  </>
+                )}
+
+                {supportAnnotation && (
+                  <>
+                    <div className='ml-2 mr-1 h-[14px] w-[1px] bg-gray-200'></div>
+                    <AnnotationCtrlBtn
+                      appId={appId!}
+                      messageId={messageId!}
+                      className='ml-1'
+                      query={question}
+                      answer={content}
+                      // not support cache. So can not be cached
+                      cached={false}
+                      onAdded={() => {
+
+                      }}
+                      onEdit={() => setIsShowReplyModal(true)}
+                      onRemoved={() => { }}
+                    />
+                  </>
+                )}
+
+                <EditReplyModal
+                  appId={appId!}
+                  messageId={messageId!}
+                  isShow={isShowReplyModal}
+                  onHide={() => setIsShowReplyModal(false)}
+                  query={question}
+                  answer={content}
+                  onAdded={() => { }}
+                  onEdited={() => { }}
+                  createdAt={0}
+                  onRemove={() => { }}
+                  onlyEditResponse
+                />
+
+                {supportFeedback && (
+                  <div className='ml-1'>
+                    {ratingContent}
                   </div>
+                )}
+
+                {isShowTextToSpeech && (
+                  <>
+                    <div className='ml-2 mr-2 h-[14px] w-[1px] bg-gray-200'></div>
+                    <AudioBtn
+                      id={messageId!}
+                      className={'mr-1'}
+                      voice={config?.text_to_speech?.voice}
+                    />
+                  </>
+                )}
+              </div>
+              <div>
+                {!workflowProcessData && (
+                  <div className='text-xs text-gray-500'>{content?.length} {t('common.unit.char')}</div>
                 )}
               </div>
             </div>
-            {/* more like this elements */}
-            {!isTop && (
-              <div className={cn(
-                'absolute top-[-32px] flex h-[33px] w-4 justify-center',
-                isMobile ? 'left-[17px]' : 'left-[50%] translate-x-[-50%]',
-              )}>
-                <div className='h-full w-0.5 bg-divider-regular'></div>
-                <div className={cn(
-                  'absolute left-0 flex h-4 w-4 items-center justify-center rounded-2xl border-[0.5px] border-divider-subtle bg-util-colors-blue-blue-500 shadow-xs',
-                  isMobile ? 'top-[3.5px]' : 'top-2',
-                )}>
-                  <RiSparklingFill className='h-3 w-3 text-text-primary-on-surface' />
-                </div>
-              </div>
-            )}
-          </>
+
+          </div>
         )}
-      </div>
+
       {((childMessageId || isQuerying) && depth < 3) && (
-        <GenerationItem {...childProps as any} />
+        <div className='pl-4'>
+          <GenerationItem {...childProps as any} />
+        </div>
       )}
-    </>
+
+    </div>
   )
 }
 export default React.memo(GenerationItem)
diff --git a/app/components/app/text-generate/item/result-tab.tsx b/app/components/app/text-generate/item/result-tab.tsx
index 94d5ded..1e324d2 100644
--- a/app/components/app/text-generate/item/result-tab.tsx
+++ b/app/components/app/text-generate/item/result-tab.tsx
@@ -1,6 +1,9 @@
 import {
   memo,
+  useEffect,
 } from 'react'
+import { useTranslation } from 'react-i18next'
+import cn from '@/utils/classnames'
 import { Markdown } from '@/app/components/base/markdown'
 import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor'
 import { CodeLanguage } from '@/app/components/workflow/nodes/code/types'
@@ -11,45 +14,79 @@
   data,
   content,
   currentTab,
+  onCurrentTabChange,
 }: {
   data?: WorkflowProcess
   content: any
   currentTab: string
+  onCurrentTabChange: (tab: string) => void
 }) => {
+  const { t } = useTranslation()
+
+  const switchTab = async (tab: string) => {
+    onCurrentTabChange(tab)
+  }
+  useEffect(() => {
+    if (data?.resultText || !!data?.files?.length)
+      switchTab('RESULT')
+    else
+      switchTab('DETAIL')
+  }, [data?.files?.length, data?.resultText])
+
   return (
-    <>
-      {currentTab === 'RESULT' && (
-        <div className='space-y-3 p-4'>
-          {data?.resultText && <Markdown content={data?.resultText || ''} />}
-          {!!data?.files?.length && (
-            <div className='flex flex-col gap-2'>
-              {data?.files.map((item: any) => (
-                <div key={item.varName} className='system-xs-regular flex flex-col gap-1'>
-                  <div className='py-1 text-text-tertiary '>{item.varName}</div>
-                  <FileList
-                    files={item.list}
-                    showDeleteAction={false}
-                    showDownloadAction
-                    canPreview
-                  />
-                </div>
-              ))}
-            </div>
-          )}
+    <div className='grow relative flex flex-col'>
+      {(data?.resultText || !!data?.files?.length) && (
+        <div className='shrink-0 flex items-center mb-2 border-b-[0.5px] border-[rgba(0,0,0,0.05)]'>
+          <div
+            className={cn(
+              'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+              currentTab === 'RESULT' && '!border-[rgb(21,94,239)] text-gray-700',
+            )}
+            onClick={() => switchTab('RESULT')}
+          >{t('runLog.result')}</div>
+          <div
+            className={cn(
+              'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+              currentTab === 'DETAIL' && '!border-[rgb(21,94,239)] text-gray-700',
+            )}
+            onClick={() => switchTab('DETAIL')}
+          >{t('runLog.detail')}</div>
         </div>
       )}
-      {currentTab === 'DETAIL' && content && (
-        <div className='p-4'>
-          <CodeEditor
-            readOnly
-            title={<div>JSON OUTPUT</div>}
-            language={CodeLanguage.json}
-            value={content}
-            isJSONStringifyBeauty
-          />
-        </div>
-      )}
-    </>
+      <div className={cn('grow bg-white')}>
+        {currentTab === 'RESULT' && (
+          <>
+            {data?.resultText && <Markdown content={data?.resultText || ''} />}
+            {!!data?.files?.length && (
+              <div className='flex flex-col gap-2'>
+                {data?.files.map((item: any) => (
+                  <div key={item.varName} className='flex flex-col gap-1 system-xs-regular'>
+                    <div className='py-1 text-text-tertiary '>{item.varName}</div>
+                    <FileList
+                      files={item.list}
+                      showDeleteAction={false}
+                      showDownloadAction
+                      canPreview
+                    />
+                  </div>
+                ))}
+              </div>
+            )}
+          </>
+        )}
+        {currentTab === 'DETAIL' && content && (
+          <div className='mt-1'>
+            <CodeEditor
+              readOnly
+              title={<div>JSON OUTPUT</div>}
+              language={CodeLanguage.json}
+              value={content}
+              isJSONStringifyBeauty
+            />
+          </div>
+        )}
+      </div>
+    </div>
   )
 }
 
diff --git a/app/components/app/text-generate/saved-items/index.tsx b/app/components/app/text-generate/saved-items/index.tsx
index c22a4ca..8bfebbc 100644
--- a/app/components/app/text-generate/saved-items/index.tsx
+++ b/app/components/app/text-generate/saved-items/index.tsx
@@ -1,19 +1,15 @@
 'use client'
 import type { FC } from 'react'
 import React from 'react'
-import {
-  RiClipboardLine,
-  RiDeleteBinLine,
-} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import copy from 'copy-to-clipboard'
 import NoData from './no-data'
 import cn from '@/utils/classnames'
 import type { SavedMessage } from '@/models/debug'
 import { Markdown } from '@/app/components/base/markdown'
+import { SimpleBtn, copyIcon } from '@/app/components/app/text-generate/item'
 import Toast from '@/app/components/base/toast'
-import ActionButton from '@/app/components/base/action-button'
-import NewAudioButton from '@/app/components/base/new-audio-button'
+import AudioBtn from '@/app/components/base/audio-btn'
 
 export type ISavedItemsProps = {
   className?: string
@@ -22,6 +18,12 @@
   onRemove: (id: string) => void
   onStartCreateContent: () => void
 }
+
+const removeIcon = (
+  <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M5.25 1.75H8.75M1.75 3.5H12.25M11.0833 3.5L10.6742 9.63625C10.6129 10.5569 10.5822 11.0172 10.3833 11.3663C10.2083 11.6735 9.94422 11.9206 9.62597 12.0748C9.26448 12.25 8.80314 12.25 7.88045 12.25H6.11955C5.19686 12.25 4.73552 12.25 4.37403 12.0748C4.05577 11.9206 3.79172 11.6735 3.61666 11.3663C3.41781 11.0172 3.38713 10.5569 3.32575 9.63625L2.91667 3.5M5.83333 6.125V9.04167M8.16667 6.125V9.04167" stroke="#344054" strokeWidth="1.25" strokeLinecap="round" strokeLinejoin="round" />
+  </svg>
+)
 
 const SavedItems: FC<ISavedItemsProps> = ({
   className,
@@ -33,37 +35,56 @@
   const { t } = useTranslation()
 
   return (
-    <div className={cn('space-y-4', className)}>
+    <div className={cn(className, 'space-y-3')}>
       {list.length === 0
         ? (
-          <NoData onStartCreateContent={onStartCreateContent} />
+          <div className='px-6'>
+            <NoData onStartCreateContent={onStartCreateContent} />
+          </div>
         )
         : (<>
           {list.map(({ id, answer }) => (
-            <div key={id} className='relative'>
-              <div className={cn(
-                'rounded-2xl bg-background-section-burn p-4',
-              )}>
-                <Markdown content={answer} />
-              </div>
-              <div className='system-xs-regular mt-1 h-4 px-4 text-text-quaternary'>
-                <span>{answer.length} {t('common.unit.char')}</span>
-              </div>
-              <div className='absolute bottom-1 right-2'>
-                <div className='ml-1 flex items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm'>
-                  {isShowTextToSpeech && <NewAudioButton value={answer}/>}
-                  <ActionButton onClick={() => {
-                    copy(answer)
-                    Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
-                  }}>
-                    <RiClipboardLine className='h-4 w-4' />
-                  </ActionButton>
-                  <ActionButton onClick={() => {
-                    onRemove(id)
-                  }}>
-                    <RiDeleteBinLine className='h-4 w-4' />
-                  </ActionButton>
+            <div
+              key={id}
+              className='p-4 rounded-xl  bg-gray-50'
+              style={{
+                boxShadow: '0px 1px 2px rgba(16, 24, 40, 0.05)',
+              }}
+            >
+              <Markdown content={answer} />
+              <div className='flex items-center justify-between mt-3'>
+                <div className='flex items-center space-x-2'>
+                  <SimpleBtn
+                    className='space-x-1'
+                    onClick={() => {
+                      copy(answer)
+                      Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
+                    }}>
+                    {copyIcon}
+                    <div>{t('common.operation.copy')}</div>
+                  </SimpleBtn>
+
+                  <SimpleBtn
+                    className='space-x-1'
+                    onClick={() => {
+                      onRemove(id)
+                    }}>
+                    {removeIcon}
+                    <div>{t('common.operation.remove')}</div>
+                  </SimpleBtn>
+
+                  {isShowTextToSpeech && (
+                    <>
+                      <div className='ml-2 mr-2 h-[14px] w-[1px] bg-gray-200'></div>
+                      <AudioBtn
+                        value={answer}
+                        noCache={false}
+                        className={'mr-1'}
+                      />
+                    </>
+                  )}
                 </div>
+                <div className='text-xs text-gray-500'>{answer?.length} {t('common.unit.char')}</div>
               </div>
             </div>
           ))}
diff --git a/app/components/app/text-generate/saved-items/no-data/index.tsx b/app/components/app/text-generate/saved-items/no-data/index.tsx
index 69c4966..0b087a6 100644
--- a/app/components/app/text-generate/saved-items/no-data/index.tsx
+++ b/app/components/app/text-generate/saved-items/no-data/index.tsx
@@ -2,14 +2,21 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiAddLine,
-  RiBookmark3Line,
-} from '@remixicon/react'
+import { PlusIcon } from '@heroicons/react/24/outline'
 import Button from '@/app/components/base/button'
 export type INoDataProps = {
   onStartCreateContent: () => void
 }
+
+const markIcon = (
+  <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M4.16699 6.5C4.16699 5.09987 4.16699 4.3998 4.43948 3.86502C4.67916 3.39462 5.06161 3.01217 5.53202 2.77248C6.0668 2.5 6.76686 2.5 8.16699 2.5H11.8337C13.2338 2.5 13.9339 2.5 14.4686 2.77248C14.939 3.01217 15.3215 3.39462 15.5612 3.86502C15.8337 4.3998 15.8337 5.09987 15.8337 6.5V17.5L10.0003 14.1667L4.16699 17.5V6.5Z" stroke="#667085" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
+  </svg>
+)
+
+const lightIcon = (
+  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" className="inline relative -top-3 -left-1.5"><path d="M5 6.5V5M8.93934 7.56066L10 6.5M10.0103 11.5H11.5103" stroke="#374151" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"></path></svg>
+)
 
 const NoData: FC<INoDataProps> = ({
   onStartCreateContent,
@@ -17,23 +24,25 @@
   const { t } = useTranslation()
 
   return (
-    <div className='rounded-xl bg-background-section-burn p-6 '>
-      <div className='flex h-10 w-10 items-center justify-center rounded-[10px] border-[0.5px] border-components-card-border bg-components-card-bg-alt shadow-lg backdrop-blur-sm'>
-        <RiBookmark3Line className='h-4 w-4 text-text-accent'/>
+    <div className='mt-[60px] px-5 py-4 rounded-2xl bg-gray-50 '>
+      <div className='flex items-center justify-center w-11 h-11 border border-gray-100 rounded-lg'>
+        {markIcon}
       </div>
-      <div className='mt-3'>
-        <span className='system-xl-semibold text-text-secondary'>{t('share.generation.savedNoData.title')}</span>
+      <div className='mt-2'>
+        <span className='text-gray-700 font-semibold'>{t('share.generation.savedNoData.title')}</span>
+        {lightIcon}
       </div>
-      <div className='system-sm-regular mt-1 text-text-tertiary'>
+      <div className='mt-2 text-gray-500 text-[13px] font-normal'>
         {t('share.generation.savedNoData.description')}
       </div>
       <Button
-        variant='primary'
-        className='mt-3'
+        className='mt-4'
         onClick={onStartCreateContent}
       >
-        <RiAddLine className='mr-1 h-4 w-4' />
-        <span>{t('share.generation.savedNoData.startCreateContent')}</span>
+        <div className='flex items-center space-x-2 text-primary-600 text-[13px] font-medium'>
+          <PlusIcon className='w-4 h-4' />
+          <span>{t('share.generation.savedNoData.startCreateContent')}</span>
+        </div>
       </Button>
     </div>
   )
diff --git a/app/components/app/type-selector/index.tsx b/app/components/app/type-selector/index.tsx
index 0accafd..9deb3e9 100644
--- a/app/components/app/type-selector/index.tsx
+++ b/app/components/app/type-selector/index.tsx
@@ -9,7 +9,7 @@
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
 import { BubbleTextMod, ChatBot, ListSparkle, Logic } from '@/app/components/base/icons/src/vender/solid/communication'
-import type { AppMode } from '@/types/app'
+import { type AppMode } from '@/types/app'
 export type AppSelectorProps = {
   value: Array<AppMode>
   onChange: (value: AppSelectorProps['value']) => void
@@ -33,19 +33,19 @@
           className='block'
         >
           <div className={cn(
-            'flex cursor-pointer items-center justify-between space-x-1 rounded-md px-2 hover:bg-state-base-hover',
+            'flex items-center justify-between rounded-md cursor-pointer px-2 space-x-1 hover:bg-state-base-hover',
           )}>
             <AppTypeSelectTrigger values={value} />
-            {value && value.length > 0 && <div className='h-4 w-4' onClick={(e) => {
+            {value && value.length > 0 && <div className='w-4 h-4' onClick={(e) => {
               e.stopPropagation()
               onChange([])
             }}>
-              <RiCloseCircleFill className='h-3.5 w-3.5 cursor-pointer text-text-quaternary hover:text-text-tertiary' />
+              <RiCloseCircleFill className='w-3.5 h-3.5 text-text-quaternary hover:text-text-tertiary cursor-pointer' />
             </div>}
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1002]'>
-          <ul className='relative w-[240px] rounded-xl border border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg backdrop-blur-[5px]'>
+          <ul className='relative p-1 w-[240px] bg-components-panel-bg-blur backdrop-blur-[5px] rounded-xl shadow-lg border border-components-panel-border'>
             {allTypes.map(mode => (
               <AppTypeSelectorItem key={mode} type={mode}
                 checked={Boolean(value.length > 0 && value?.indexOf(mode) !== -1)}
@@ -69,25 +69,25 @@
   const { t } = useTranslation()
   if (!values || values.length === 0) {
     return <div className={cn(
-      'flex h-8 items-center justify-between gap-1',
+      'flex items-center justify-between gap-1 h-8',
     )}>
-      <RiFilter3Line className='h-4 w-4 text-text-tertiary' />
-      <div className='system-sm-medium min-w-[65px] grow text-center text-text-tertiary'>{t('app.typeSelector.all')}</div>
-      <RiArrowDownSLine className='h-4 w-4 text-text-tertiary' />
+      <RiFilter3Line className='w-4 h-4 text-text-tertiary' />
+      <div className='grow min-w-[65px] text-center system-sm-medium text-text-tertiary'>{t('app.typeSelector.all')}</div>
+      <RiArrowDownSLine className='w-4 h-4 text-text-tertiary' />
     </div>
   }
   if (values.length === 1) {
     return <div className={cn(
-      'flex h-8 flex-nowrap items-center justify-between gap-1',
+      'flex items-center justify-between gap-1 h-8 flex-nowrap',
     )}>
       <AppTypeIcon type={values[0]} />
-      <div className='line-clamp-1 flex flex-1 items-center text-center'>
+      <div className='flex flex-1 items-center text-center line-clamp-1'>
         <AppTypeLabel type={values[0]} className="system-sm-medium text-components-menu-item-text" />
       </div>
     </div>
   }
   return <div className={cn(
-    'relative flex h-8 items-center justify-between -space-x-2',
+    'flex items-center justify-between h-8 -space-x-2 relative',
   )}>
     {values.map((mode, index) => (<AppTypeIcon key={mode} type={mode} wrapperClassName='border border-components-panel-on-panel-item-bg' style={{ zIndex: 5 - index }} />))}
   </div>
@@ -99,7 +99,7 @@
   onClick: () => void
 }
 function AppTypeSelectorItem({ checked, type, onClick }: AppTypeSelectorItemProps) {
-  return <li className='flex cursor-pointer items-center space-x-2 rounded-lg py-1 pl-2 pr-1 hover:bg-state-base-hover' onClick={onClick}>
+  return <li className='flex items-center space-x-2 pl-2 py-1 pr-1 rounded-lg cursor-pointer hover:bg-state-base-hover' onClick={onClick}>
     <Checkbox checked={checked} />
     <AppTypeIcon type={type} />
     <div className='grow p-1 pl-0'>
@@ -116,8 +116,8 @@
 }
 
 export function AppTypeIcon({ type, className, wrapperClassName, style }: AppTypeIconProps) {
-  const wrapperClassNames = cn('inline-flex h-5 w-5 items-center justify-center rounded-md border border-divider-regular', wrapperClassName)
-  const iconClassNames = cn('h-3.5 w-3.5 text-components-avatar-shape-fill-stop-100', className)
+  const wrapperClassNames = cn('w-5 h-5 inline-flex items-center justify-center rounded-md border border-divider-regular', wrapperClassName)
+  const iconClassNames = cn('w-3.5 h-3.5 text-components-avatar-shape-fill-stop-100', className)
   if (type === 'chat') {
     return <div style={style} className={cn(wrapperClassNames, 'bg-components-icon-bg-blue-solid')}>
       <ChatBot className={iconClassNames} />
diff --git a/app/components/app/workflow-log/detail.tsx b/app/components/app/workflow-log/detail.tsx
index dc3eb89..2ee9f83 100644
--- a/app/components/app/workflow-log/detail.tsx
+++ b/app/components/app/workflow-log/detail.tsx
@@ -13,11 +13,11 @@
   const { t } = useTranslation()
 
   return (
-    <div className='relative flex grow flex-col pt-3'>
-      <span className='absolute right-3 top-4 z-20 cursor-pointer p-1' onClick={onClose}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+    <div className='grow relative flex flex-col pt-3'>
+      <span className='absolute right-3 top-4 p-1 cursor-pointer z-20' onClick={onClose}>
+        <RiCloseLine className='w-4 h-4 text-text-tertiary' />
       </span>
-      <h1 className='system-xl-semibold shrink-0 px-4 py-1 text-text-primary'>{t('appLog.runDetail.workflowTitle')}</h1>
+      <h1 className='shrink-0 px-4 py-1 text-text-primary system-xl-semibold'>{t('appLog.runDetail.workflowTitle')}</h1>
       <Run runID={runID}/>
     </div>
   )
diff --git a/app/components/app/workflow-log/filter.tsx b/app/components/app/workflow-log/filter.tsx
index f60e1f9..466e9b8 100644
--- a/app/components/app/workflow-log/filter.tsx
+++ b/app/components/app/workflow-log/filter.tsx
@@ -2,27 +2,9 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import dayjs from 'dayjs'
-import { RiCalendarLine } from '@remixicon/react'
-import quarterOfYear from 'dayjs/plugin/quarterOfYear'
 import type { QueryParam } from './index'
 import Chip from '@/app/components/base/chip'
 import Input from '@/app/components/base/input'
-dayjs.extend(quarterOfYear)
-
-const today = dayjs()
-
-export const TIME_PERIOD_MAPPING: { [key: string]: { value: number; name: string } } = {
-  1: { value: 0, name: 'today' },
-  2: { value: 7, name: 'last7days' },
-  3: { value: 28, name: 'last4weeks' },
-  4: { value: today.diff(today.subtract(3, 'month'), 'day'), name: 'last3months' },
-  5: { value: today.diff(today.subtract(12, 'month'), 'day'), name: 'last12months' },
-  6: { value: today.diff(today.startOf('month'), 'day'), name: 'monthToDate' },
-  7: { value: today.diff(today.startOf('quarter'), 'day'), name: 'quarterToDate' },
-  8: { value: today.diff(today.startOf('year'), 'day'), name: 'yearToDate' },
-  9: { value: -1, name: 'allTime' },
-}
 
 type IFilterProps = {
   queryParams: QueryParam
@@ -32,7 +14,7 @@
 const Filter: FC<IFilterProps> = ({ queryParams, setQueryParams }: IFilterProps) => {
   const { t } = useTranslation()
   return (
-    <div className='mb-2 flex flex-row flex-wrap gap-2'>
+    <div className='flex flex-row flex-wrap gap-2 mb-2'>
       <Chip
         value={queryParams.status || 'all'}
         onSelect={(item) => {
@@ -44,17 +26,6 @@
           { value: 'failed', name: 'Fail' },
           { value: 'stopped', name: 'Stop' },
         ]}
-      />
-      <Chip
-        className='min-w-[150px]'
-        panelClassName='w-[270px]'
-        leftIcon={<RiCalendarLine className='h-4 w-4 text-text-secondary' />}
-        value={queryParams.period}
-        onSelect={(item) => {
-          setQueryParams({ ...queryParams, period: item.value })
-        }}
-        onClear={() => setQueryParams({ ...queryParams, period: '9' })}
-        items={Object.entries(TIME_PERIOD_MAPPING).map(([k, v]) => ({ value: k, name: t(`appLog.filter.period.${v.name}`) }))}
       />
       <Input
         wrapperClassName='w-[200px]'
diff --git a/app/components/app/workflow-log/index.tsx b/app/components/app/workflow-log/index.tsx
index c350a8b..453f2cd 100644
--- a/app/components/app/workflow-log/index.tsx
+++ b/app/components/app/workflow-log/index.tsx
@@ -4,30 +4,21 @@
 import useSWR from 'swr'
 import { usePathname } from 'next/navigation'
 import { useDebounce } from 'ahooks'
-import { omit } from 'lodash-es'
-import dayjs from 'dayjs'
-import utc from 'dayjs/plugin/utc'
-import timezone from 'dayjs/plugin/timezone'
 import { Trans, useTranslation } from 'react-i18next'
 import Link from 'next/link'
 import List from './list'
-import Filter, { TIME_PERIOD_MAPPING } from './filter'
+import Filter from './filter'
 import Pagination from '@/app/components/base/pagination'
 import Loading from '@/app/components/base/loading'
 import { fetchWorkflowLogs } from '@/service/log'
 import { APP_PAGE_LIMIT } from '@/config'
 import type { App, AppMode } from '@/types/app'
-import { useAppContext } from '@/context/app-context'
-
-dayjs.extend(utc)
-dayjs.extend(timezone)
 
 export type ILogsProps = {
   appDetail: App
 }
 
 export type QueryParam = {
-  period: string
   status?: string
   keyword?: string
 }
@@ -42,10 +33,10 @@
   const pathname = usePathname()
   const pathSegments = pathname.split('/')
   pathSegments.pop()
-  return <div className='flex h-full items-center justify-center'>
-    <div className='box-border h-fit w-[560px] rounded-2xl bg-background-section-burn px-5 py-4'>
-      <span className='system-md-semibold text-text-secondary'>{t('appLog.table.empty.element.title')}<ThreeDotsIcon className='relative -left-1.5 -top-3 inline' /></span>
-      <div className='system-sm-regular mt-2 text-text-tertiary'>
+  return <div className='flex items-center justify-center h-full'>
+    <div className='bg-background-section-burn w-[560px] h-fit box-border px-5 py-4 rounded-2xl'>
+      <span className='text-text-secondary system-md-semibold'>{t('appLog.table.empty.element.title')}<ThreeDotsIcon className='inline relative -top-3 -left-1.5' /></span>
+      <div className='mt-2 text-text-tertiary system-sm-regular'>
         <Trans
           i18nKey="appLog.table.empty.element.content"
           components={{ shareLink: <Link href={`${pathSegments.join('/')}/overview`} className='text-util-colors-blue-blue-600' />, testLink: <Link href={appUrl} className='text-util-colors-blue-blue-600' target='_blank' rel='noopener noreferrer' /> }}
@@ -57,8 +48,7 @@
 
 const Logs: FC<ILogsProps> = ({ appDetail }) => {
   const { t } = useTranslation()
-  const { userProfile: { timezone } } = useAppContext()
-  const [queryParams, setQueryParams] = useState<QueryParam>({ status: 'all', period: '2' })
+  const [queryParams, setQueryParams] = useState<QueryParam>({ status: 'all' })
   const [currPage, setCurrPage] = React.useState<number>(0)
   const debouncedQueryParams = useDebounce(queryParams, { wait: 500 })
   const [limit, setLimit] = React.useState<number>(APP_PAGE_LIMIT)
@@ -68,13 +58,6 @@
     limit,
     ...(debouncedQueryParams.status !== 'all' ? { status: debouncedQueryParams.status } : {}),
     ...(debouncedQueryParams.keyword ? { keyword: debouncedQueryParams.keyword } : {}),
-    ...((debouncedQueryParams.period !== '9')
-      ? {
-        created_at__after: dayjs().subtract(TIME_PERIOD_MAPPING[debouncedQueryParams.period].value, 'day').startOf('day').tz(timezone).format('YYYY-MM-DDTHH:mm:ssZ'),
-        created_at__before: dayjs().endOf('day').tz(timezone).format('YYYY-MM-DDTHH:mm:ssZ'),
-      }
-      : {}),
-    ...omit(debouncedQueryParams, ['period', 'status']),
   }
 
   const getWebAppType = (appType: AppMode) => {
@@ -90,10 +73,10 @@
   const total = workflowLogs?.total
 
   return (
-    <div className='flex h-full flex-col'>
-      <h1 className='system-xl-semibold text-text-primary'>{t('appLog.workflowTitle')}</h1>
-      <p className='system-sm-regular text-text-tertiary'>{t('appLog.workflowSubtitle')}</p>
-      <div className='flex max-h-[calc(100%-16px)] flex-1 flex-col py-4'>
+    <div className='flex flex-col h-full'>
+      <h1 className='text-text-primary system-xl-semibold'>{t('appLog.workflowTitle')}</h1>
+      <p className='text-text-tertiary system-sm-regular'>{t('appLog.workflowSubtitle')}</p>
+      <div className='flex flex-col py-4 flex-1 max-h-[calc(100%-16px)]'>
         <Filter queryParams={queryParams} setQueryParams={setQueryParams} />
         {/* workflow log */}
         {total === undefined
diff --git a/app/components/app/workflow-log/list.tsx b/app/components/app/workflow-log/list.tsx
index b01c049..41db9b5 100644
--- a/app/components/app/workflow-log/list.tsx
+++ b/app/components/app/workflow-log/list.tsx
@@ -33,7 +33,7 @@
   const statusTdRender = (status: string) => {
     if (status === 'succeeded') {
       return (
-        <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+        <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
           <Indicator color={'green'} />
           <span className='text-util-colors-green-green-600'>Success</span>
         </div>
@@ -41,7 +41,7 @@
     }
     if (status === 'failed') {
       return (
-        <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+        <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
           <Indicator color={'red'} />
           <span className='text-util-colors-red-red-600'>Fail</span>
         </div>
@@ -49,7 +49,7 @@
     }
     if (status === 'stopped') {
       return (
-        <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+        <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
           <Indicator color={'yellow'} />
           <span className='text-util-colors-warning-warning-600'>Stop</span>
         </div>
@@ -57,7 +57,7 @@
     }
     if (status === 'running') {
       return (
-        <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+        <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
           <Indicator color={'blue'} />
           <span className='text-util-colors-blue-light-blue-light-600'>Running</span>
         </div>
@@ -65,7 +65,7 @@
     }
     if (status === 'partial-succeeded') {
       return (
-        <div className='system-xs-semibold-uppercase inline-flex items-center gap-1'>
+        <div className='inline-flex items-center gap-1 system-xs-semibold-uppercase'>
           <Indicator color={'green'} />
           <span className='text-util-colors-green-green-600'>Partial Success</span>
         </div>
@@ -87,32 +87,32 @@
       <table className={cn('mt-2 w-full min-w-[440px] border-collapse border-0')}>
         <thead className='system-xs-medium-uppercase text-text-tertiary'>
           <tr>
-            <td className='w-5 whitespace-nowrap rounded-l-lg bg-background-section-burn pl-2 pr-1'></td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.startTime')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.status')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.runtime')}</td>
-            <td className='whitespace-nowrap bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.tokens')}</td>
-            <td className='whitespace-nowrap rounded-r-lg bg-background-section-burn py-1.5 pl-3'>{t('appLog.table.header.user')}</td>
+            <td className='pl-2 pr-1 w-5 rounded-l-lg bg-background-section-burn whitespace-nowrap'></td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.startTime')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.status')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.runtime')}</td>
+            <td className='pl-3 py-1.5 bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.tokens')}</td>
+            <td className='pl-3 py-1.5 rounded-r-lg bg-background-section-burn whitespace-nowrap'>{t('appLog.table.header.user')}</td>
           </tr>
         </thead>
-        <tbody className="system-sm-regular text-text-secondary">
+        <tbody className="text-text-secondary system-sm-regular">
           {logs.data.map((log: WorkflowAppLogDetail) => {
             const endUser = log.created_by_end_user ? log.created_by_end_user.session_id : log.created_by_account ? log.created_by_account.name : defaultValue
             return <tr
               key={log.id}
-              className={cn('cursor-pointer border-b border-divider-subtle hover:bg-background-default-hover', currentLog?.id !== log.id ? '' : 'bg-background-default-hover')}
+              className={cn('border-b border-divider-subtle hover:bg-background-default-hover cursor-pointer', currentLog?.id !== log.id ? '' : 'bg-background-default-hover')}
               onClick={() => {
                 setCurrentLog(log)
                 setShowDrawer(true)
               }}>
               <td className='h-4'>
                 {!log.read_at && (
-                  <div className='flex items-center p-3 pr-0.5'>
-                    <span className='inline-block h-1.5 w-1.5 rounded bg-util-colors-blue-blue-500'></span>
+                  <div className='p-3 pr-0.5 flex items-center'>
+                    <span className='inline-block bg-util-colors-blue-blue-500 h-1.5 w-1.5 rounded'></span>
                   </div>
                 )}
               </td>
-              <td className='w-[160px] p-3 pr-2'>{formatTime(log.created_at, t('appLog.dateTimeFormat') as string)}</td>
+              <td className='p-3 pr-2 w-[160px]'>{formatTime(log.created_at, t('appLog.dateTimeFormat') as string)}</td>
               <td className='p-3 pr-2'>{statusTdRender(log.workflow_run.status)}</td>
               <td className='p-3 pr-2'>
                 <div className={cn(
@@ -134,7 +134,7 @@
         onClose={onCloseDrawer}
         mask={isMobile}
         footer={null}
-        panelClassName='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[600px] rounded-xl border border-components-panel-border'
+        panelClassname='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[600px] rounded-xl border border-components-panel-border'
       >
         <DetailPanel onClose={onCloseDrawer} runID={currentLog?.workflow_run.id || ''} />
       </Drawer>
diff --git a/app/components/base/action-button/index.css b/app/components/base/action-button/index.css
index 3c1a10b..96fbb14 100644
--- a/app/components/base/action-button/index.css
+++ b/app/components/base/action-button/index.css
@@ -2,11 +2,9 @@
 
 @layer components {
     .action-btn {
-        @apply inline-flex justify-center items-center cursor-pointer text-text-tertiary hover:text-text-secondary hover:bg-state-base-hover
-    }
-
-    .action-btn-hover {
-        @apply bg-state-base-hover
+        @apply inline-flex justify-center items-center cursor-pointer text-text-tertiary
+        hover:text-text-secondary 
+        hover:bg-state-base-hover 
     }
 
     .action-btn-disabled {
@@ -31,15 +29,21 @@
     }
 
     .action-btn.action-btn-active {
-        @apply text-text-accent bg-state-accent-active hover:bg-state-accent-active-alt
+        @apply 
+        text-text-accent 
+        bg-state-accent-active
+        hover:bg-state-accent-active-alt
     }
 
     .action-btn.action-btn-disabled {
-        @apply text-text-disabled
+        @apply
+        text-text-disabled
     }
 
     .action-btn.action-btn-destructive {
-        @apply text-text-destructive bg-state-destructive-hover
+        @apply
+        text-text-destructive
+        bg-state-destructive-hover
     }
 
-}
+}
\ No newline at end of file
diff --git a/app/components/base/action-button/index.tsx b/app/components/base/action-button/index.tsx
index c90d1a8..9e4552a 100644
--- a/app/components/base/action-button/index.tsx
+++ b/app/components/base/action-button/index.tsx
@@ -8,7 +8,6 @@
   Active = 'active',
   Disabled = 'disabled',
   Default = '',
-  Hover = 'hover',
 }
 
 const actionButtonVariants = cva(
@@ -29,7 +28,7 @@
 )
 
 export type ActionButtonProps = {
-  size?: 'xs' | 's' | 'm' | 'l' | 'xl'
+  size?: 'xs' | 'm' | 'l' | 'xl'
   state?: ActionButtonState
   styleCss?: CSSProperties
 } & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof actionButtonVariants>
@@ -42,8 +41,6 @@
       return 'action-btn-active'
     case ActionButtonState.Disabled:
       return 'action-btn-disabled'
-    case ActionButtonState.Hover:
-      return 'action-btn-hover'
     default:
       return ''
   }
diff --git a/app/components/base/agent-log-modal/detail.tsx b/app/components/base/agent-log-modal/detail.tsx
index 148b168..e90f593 100644
--- a/app/components/base/agent-log-modal/detail.tsx
+++ b/app/components/base/agent-log-modal/detail.tsx
@@ -36,7 +36,7 @@
   const [list, setList] = useState<AgentIteration[]>([])
 
   const tools = useMemo(() => {
-    const res = uniq(flatten(runDetail?.iterations.map((iteration) => {
+    const res = uniq(flatten(runDetail?.iterations.map((iteration: any) => {
       return iteration.tool_calls.map((tool: any) => tool.tool_name).filter(Boolean)
     })).filter(Boolean))
     return res
@@ -79,28 +79,28 @@
   }, [appDetail, conversationID, messageID])
 
   return (
-    <div className='relative flex grow flex-col'>
+    <div className='grow relative flex flex-col'>
       {/* tab */}
-      <div className='flex shrink-0 items-center border-b-[0.5px] border-divider-regular px-4'>
+      <div className='shrink-0 flex items-center px-4 border-b-[0.5px] border-[rgba(0,0,0,0.05)]'>
         <div
           className={cn(
-            'mr-6 cursor-pointer border-b-2 border-transparent py-3 text-[13px] font-semibold leading-[18px] text-text-tertiary',
-            currentTab === 'DETAIL' && '!border-[rgb(21,94,239)] text-text-secondary',
+            'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+            currentTab === 'DETAIL' && '!border-[rgb(21,94,239)] text-gray-700',
           )}
           onClick={() => switchTab('DETAIL')}
         >{t('runLog.detail')}</div>
         <div
           className={cn(
-            'mr-6 cursor-pointer border-b-2 border-transparent py-3 text-[13px] font-semibold leading-[18px] text-text-tertiary',
-            currentTab === 'TRACING' && '!border-[rgb(21,94,239)] text-text-secondary',
+            'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+            currentTab === 'TRACING' && '!border-[rgb(21,94,239)] text-gray-700',
           )}
           onClick={() => switchTab('TRACING')}
         >{t('runLog.tracing')}</div>
       </div>
       {/* panel detail */}
-      <div className={cn('h-0 grow overflow-y-auto rounded-b-2xl bg-components-panel-bg', currentTab !== 'DETAIL' && '!bg-background-section')}>
+      <div className={cn('grow bg-white h-0 overflow-y-auto rounded-b-2xl', currentTab !== 'DETAIL' && '!bg-gray-50')}>
         {loading && (
-          <div className='flex h-full items-center justify-center bg-components-panel-bg'>
+          <div className='flex h-full items-center justify-center bg-white'>
             <Loading />
           </div>
         )}
diff --git a/app/components/base/agent-log-modal/index.tsx b/app/components/base/agent-log-modal/index.tsx
index 024ea2a..bbe1167 100644
--- a/app/components/base/agent-log-modal/index.tsx
+++ b/app/components/base/agent-log-modal/index.tsx
@@ -35,7 +35,7 @@
 
   return (
     <div
-      className={cn('relative z-10 flex flex-col rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg py-3 shadow-xl')}
+      className={cn('relative flex flex-col py-3 bg-white border-[0.5px] border-gray-200 rounded-xl shadow-xl z-10')}
       style={{
         width: 480,
         position: 'fixed',
@@ -45,9 +45,9 @@
       }}
       ref={ref}
     >
-      <h1 className='text-md shrink-0 px-4 py-1 font-semibold text-text-primary'>{t('appLog.runDetail.workflowTitle')}</h1>
-      <span className='absolute right-3 top-4 z-20 cursor-pointer p-1' onClick={onCancel}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <h1 className='shrink-0 px-4 py-1 text-md font-semibold text-gray-900'>{t('appLog.runDetail.workflowTitle')}</h1>
+      <span className='absolute right-3 top-4 p-1 cursor-pointer z-20' onClick={onCancel}>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </span>
       <AgentLogDetail
         conversationID={currentLogItem.conversationId}
diff --git a/app/components/base/agent-log-modal/iteration.tsx b/app/components/base/agent-log-modal/iteration.tsx
index d6f8e84..2bb04d1 100644
--- a/app/components/base/agent-log-modal/iteration.tsx
+++ b/app/components/base/agent-log-modal/iteration.tsx
@@ -2,9 +2,8 @@
 import { useTranslation } from 'react-i18next'
 import type { FC } from 'react'
 import ToolCall from './tool-call'
-import Divider from '@/app/components/base/divider'
-import type { AgentIteration } from '@/models/log'
 import cn from '@/utils/classnames'
+import type { AgentIteration } from '@/models/log'
 
 type Props = {
   isFinal: boolean
@@ -19,12 +18,12 @@
     <div className={cn('px-4 py-2')}>
       <div className='flex items-center'>
         {isFinal && (
-          <div className='mr-3 shrink-0 text-xs font-semibold leading-[18px] text-text-tertiary'>{t('appLog.agentLogDetail.finalProcessing')}</div>
+          <div className='shrink-0 mr-3 text-gray-500 text-xs leading-[18px] font-semibold'>{t('appLog.agentLogDetail.finalProcessing')}</div>
         )}
         {!isFinal && (
-          <div className='mr-3 shrink-0 text-xs font-semibold leading-[18px] text-text-tertiary'>{`${t('appLog.agentLogDetail.iteration').toUpperCase()} ${index}`}</div>
+          <div className='shrink-0 mr-3 text-gray-500 text-xs leading-[18px] font-semibold'>{`${t('appLog.agentLogDetail.iteration').toUpperCase()} ${index}`}</div>
         )}
-        <Divider bgStyle='gradient' className='mx-0 h-[1px] grow'/>
+        <div className='grow h-[1px] bg-gradient-to-r from-[#f3f4f6] to-gray-50'></div>
       </div>
       <ToolCall
         isLLM
diff --git a/app/components/base/agent-log-modal/result.tsx b/app/components/base/agent-log-modal/result.tsx
index 850f457..7cba63b 100644
--- a/app/components/base/agent-log-modal/result.tsx
+++ b/app/components/base/agent-log-modal/result.tsx
@@ -36,7 +36,7 @@
   const { formatTime } = useTimestamp()
 
   return (
-    <div className='bg-components-panel-bg py-2'>
+    <div className='bg-white py-2'>
       <div className='px-4 py-2'>
         <StatusPanel
           status='succeeded'
@@ -45,7 +45,7 @@
           error={error}
         />
       </div>
-      <div className='flex flex-col gap-2 px-4 py-2'>
+      <div className='px-4 py-2 flex flex-col gap-2'>
         <CodeEditor
           readOnly
           title={<div>INPUT</div>}
@@ -62,57 +62,57 @@
         />
       </div>
       <div className='px-4 py-2'>
-        <div className='h-[0.5px] bg-divider-regular opacity-5' />
+        <div className='h-[0.5px] bg-black opacity-5' />
       </div>
       <div className='px-4 py-2'>
         <div className='relative'>
-          <div className='h-6 text-xs font-medium leading-6 text-text-tertiary'>{t('runLog.meta.title')}</div>
+          <div className='h-6 leading-6 text-gray-500 text-xs font-medium'>{t('runLog.meta.title')}</div>
           <div className='py-1'>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('runLog.meta.status')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('runLog.meta.status')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>SUCCESS</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('runLog.meta.executor')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('runLog.meta.executor')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{created_by || 'N/A'}</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('runLog.meta.startTime')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('runLog.meta.startTime')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{formatTime(Date.parse(created_at) / 1000, t('appLog.dateTimeFormat') as string)}</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('runLog.meta.time')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('runLog.meta.time')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{`${elapsed_time?.toFixed(3)}s`}</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('runLog.meta.tokens')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('runLog.meta.tokens')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{`${total_tokens || 0} Tokens`}</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('appLog.agentLogDetail.agentMode')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('appLog.agentLogDetail.agentMode')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{agentMode === 'function_call' ? t('appDebug.agent.agentModeType.functionCall') : t('appDebug.agent.agentModeType.ReACT')}</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('appLog.agentLogDetail.toolUsed')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('appLog.agentLogDetail.toolUsed')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{tools?.length ? tools?.join(', ') : 'Null'}</span>
               </div>
             </div>
             <div className='flex'>
-              <div className='w-[104px] shrink-0 truncate px-2 py-[5px] text-xs leading-[18px] text-text-tertiary'>{t('appLog.agentLogDetail.iterations')}</div>
-              <div className='grow px-2 py-[5px] text-xs leading-[18px] text-text-primary'>
+              <div className='shrink-0 w-[104px] px-2 py-[5px] text-gray-500 text-xs leading-[18px] truncate'>{t('appLog.agentLogDetail.iterations')}</div>
+              <div className='grow px-2 py-[5px] text-gray-900 text-xs leading-[18px]'>
                 <span>{iterations}</span>
               </div>
             </div>
diff --git a/app/components/base/agent-log-modal/tool-call.tsx b/app/components/base/agent-log-modal/tool-call.tsx
index 499a703..8d8e583 100644
--- a/app/components/base/agent-log-modal/tool-call.tsx
+++ b/app/components/base/agent-log-modal/tool-call.tsx
@@ -33,7 +33,7 @@
     if (time < 1)
       return `${(time * 1000).toFixed(3)} ms`
     if (time > 60)
-      return `${Number.parseInt(Math.round(time / 60).toString())} m ${(time % 60).toFixed(3)} s`
+      return `${parseInt(Math.round(time / 60).toString())} m ${(time % 60).toFixed(3)} s`
     return `${time.toFixed(3)} s`
   }
 
@@ -41,32 +41,32 @@
     if (tokens < 1000)
       return tokens
     if (tokens >= 1000 && tokens < 1000000)
-      return `${Number.parseFloat((tokens / 1000).toFixed(3))}K`
+      return `${parseFloat((tokens / 1000).toFixed(3))}K`
     if (tokens >= 1000000)
-      return `${Number.parseFloat((tokens / 1000000).toFixed(3))}M`
+      return `${parseFloat((tokens / 1000000).toFixed(3))}M`
   }
 
   return (
     <div className={cn('py-1')}>
-      <div className={cn('group rounded-2xl border border-components-panel-border bg-background-default shadow-xs transition-all hover:shadow-md')}>
+      <div className={cn('group transition-all bg-white border border-gray-100 rounded-2xl shadow-xs hover:shadow-md')}>
         <div
           className={cn(
-            'flex cursor-pointer items-center py-3 pl-[6px] pr-3',
+            'flex items-center py-3 pl-[6px] pr-3 cursor-pointer',
             !collapseState && '!pb-2',
           )}
           onClick={() => setCollapseState(!collapseState)}
         >
           <ChevronRight
             className={cn(
-              'mr-1 h-3 w-3 shrink-0 text-text-quaternary transition-all group-hover:text-text-tertiary',
+              'shrink-0 w-3 h-3 mr-1 text-gray-400 transition-all group-hover:text-gray-500',
               !collapseState && 'rotate-90',
             )}
           />
-          <BlockIcon className={cn('mr-2 shrink-0')} type={isLLM ? BlockEnum.LLM : BlockEnum.Tool} toolIcon={toolCall.tool_icon} />
+          <BlockIcon className={cn('shrink-0 mr-2')} type={isLLM ? BlockEnum.LLM : BlockEnum.Tool} toolIcon={toolCall.tool_icon} />
           <div className={cn(
-            'grow truncate text-[13px] font-semibold leading-[16px] text-text-secondary',
+            'grow text-gray-700 text-[13px] leading-[16px] font-semibold truncate',
           )} title={toolName}>{toolName}</div>
-          <div className='shrink-0 text-xs leading-[18px] text-text-tertiary'>
+          <div className='shrink-0 text-gray-500 text-xs leading-[18px]'>
             {toolCall.time_cost && (
               <span>{getTime(toolCall.time_cost || 0)}</span>
             )}
@@ -75,17 +75,17 @@
             )}
           </div>
           {toolCall.status === 'success' && (
-            <RiCheckboxCircleLine className='ml-2 h-3.5 w-3.5 shrink-0 text-[#12B76A]' />
+            <RiCheckboxCircleLine className='shrink-0 ml-2 w-3.5 h-3.5 text-[#12B76A]' />
           )}
           {toolCall.status === 'error' && (
-            <RiErrorWarningLine className='ml-2 h-3.5 w-3.5 shrink-0 text-[#F04438]' />
+            <RiErrorWarningLine className='shrink-0 ml-2 w-3.5 h-3.5 text-[#F04438]' />
           )}
         </div>
         {!collapseState && (
           <div className='pb-2'>
             <div className={cn('px-[10px] py-1')}>
               {toolCall.status === 'error' && (
-                <div className='rounded-lg border-[0.5px] border-[rbga(0,0,0,0.05)] bg-[#fef3f2] px-3 py-[10px] text-xs leading-[18px] text-[#d92d20] shadow-xs'>{toolCall.error}</div>
+                <div className='px-3 py-[10px] bg-[#fef3f2] rounded-lg border-[0.5px] border-[rbga(0,0,0,0.05)] text-xs leading-[18px] text-[#d92d20] shadow-xs'>{toolCall.error}</div>
               )}
             </div>
             {toolCall.tool_input && (
diff --git a/app/components/base/agent-log-modal/tracing.tsx b/app/components/base/agent-log-modal/tracing.tsx
index c390d25..59cffa0 100644
--- a/app/components/base/agent-log-modal/tracing.tsx
+++ b/app/components/base/agent-log-modal/tracing.tsx
@@ -9,7 +9,7 @@
 
 const TracingPanel: FC<TracingPanelProps> = ({ list }) => {
   return (
-    <div className='bg-background-section'>
+    <div className='bg-gray-50'>
       {list.map((iteration, index) => (
         <Iteration
           key={index}
diff --git a/app/components/base/answer-icon/index.tsx b/app/components/base/answer-icon/index.tsx
index faad4e5..8c6363e 100644
--- a/app/components/base/answer-icon/index.tsx
+++ b/app/components/base/answer-icon/index.tsx
@@ -38,7 +38,7 @@
     style={{ background: background || '#D5F5F6' }}
   >
     {isValidImageIcon
-      ? <img src={imageUrl} className="h-full w-full rounded-full" alt="answer icon" />
+      ? <img src={imageUrl} className="w-full h-full rounded-full" alt="answer icon" />
       : (icon && icon !== '') ? <em-emoji id={icon} /> : <em-emoji id='馃' />
     }
   </div>
diff --git a/app/components/base/app-icon-picker/ImageInput.tsx b/app/components/base/app-icon-picker/ImageInput.tsx
index 9c0a95c..0111b3c 100644
--- a/app/components/base/app-icon-picker/ImageInput.tsx
+++ b/app/components/base/app-icon-picker/ImageInput.tsx
@@ -4,7 +4,6 @@
 import { createRef, useEffect, useState } from 'react'
 import Cropper, { type Area, type CropperProps } from 'react-easy-crop'
 import classNames from 'classnames'
-import { useTranslation } from 'react-i18next'
 
 import { ImagePlus } from '../icons/src/vender/line/images'
 import { useDraggableUploader } from './hooks'
@@ -27,7 +26,6 @@
   cropShape,
   onImageInput,
 }) => {
-  const { t } = useTranslation()
   const [inputImage, setInputImage] = useState<{ file: File; url: string }>()
   const [isAnimatedImage, setIsAnimatedImage] = useState<boolean>(false)
   useEffect(() => {
@@ -103,10 +101,10 @@
         {
           !inputImage
             ? <>
-              <ImagePlus className="pointer-events-none mb-3 h-[30px] w-[30px]" />
-              <div className="mb-[2px] text-sm font-medium">
-                <span className="pointer-events-none">{t('common.imageInput.dropImageHere')}&nbsp;</span>
-                <button className="text-components-button-primary-bg" onClick={() => inputRef.current?.click()}>{t('common.imageInput.browse')}</button>
+              <ImagePlus className="w-[30px] h-[30px] mb-3 pointer-events-none" />
+              <div className="text-sm font-medium mb-[2px]">
+                <span className="pointer-events-none">Drop your image here, or&nbsp;</span>
+                <button className="text-components-button-primary-bg" onClick={() => inputRef.current?.click()}>browse</button>
                 <input
                   ref={inputRef} type="file" className="hidden"
                   onClick={e => ((e.target as HTMLInputElement).value = '')}
@@ -114,7 +112,7 @@
                   onChange={handleLocalFileInput}
                 />
               </div>
-              <div className="pointer-events-none">{t('common.imageInput.supportedFormats')}</div>
+              <div className="text-xs pointer-events-none">Supports PNG, JPG, JPEG, WEBP and GIF</div>
             </>
             : handleShowImage()
         }
diff --git a/app/components/base/app-icon-picker/index.tsx b/app/components/base/app-icon-picker/index.tsx
index 8304de1..277e2fa 100644
--- a/app/components/base/app-icon-picker/index.tsx
+++ b/app/components/base/app-icon-picker/index.tsx
@@ -15,7 +15,6 @@
 import type { AppIconType, ImageFile } from '@/types/app'
 import cn from '@/utils/classnames'
 import { DISABLE_UPLOAD_IMAGE_AS_ICON } from '@/config'
-import { noop } from 'lodash-es'
 
 export type AppIconEmojiSelection = {
   type: 'emoji'
@@ -108,19 +107,19 @@
   }
 
   return <Modal
-    onClose={noop}
+    onClose={() => { }}
     isShow
     closable={false}
     wrapperClassName={className}
     className={cn(s.container, '!w-[362px] !p-0')}
   >
-    {!DISABLE_UPLOAD_IMAGE_AS_ICON && <div className="w-full p-2 pb-0">
-      <div className='flex items-center justify-center gap-2 rounded-xl bg-background-body p-1'>
+    {!DISABLE_UPLOAD_IMAGE_AS_ICON && <div className="p-2 pb-0 w-full">
+      <div className='p-1 flex items-center justify-center gap-2 bg-background-body rounded-xl'>
         {tabs.map(tab => (
           <button
             key={tab.key}
             className={`
-                        flex h-8 flex-1 shrink-0 items-center justify-center rounded-xl p-2 text-sm font-medium
+                        p-2 flex-1 flex justify-center items-center h-8 rounded-xl text-sm shrink-0 font-medium
                         ${activeTab === tab.key && 'bg-components-main-nav-nav-button-bg-active shadow-md'}
                       `}
             onClick={() => setActiveTab(tab.key as AppIconType)}
@@ -135,7 +134,7 @@
     <ImageInput className={activeTab === 'image' ? 'block' : 'hidden'} onImageInput={handleImageInput} />
 
     <Divider className='m-0' />
-    <div className='flex w-full items-center justify-center gap-2 p-3'>
+    <div className='w-full flex items-center justify-center p-3 gap-2'>
       <Button className='w-full' onClick={() => onClose?.()}>
         {t('app.iconPicker.cancel')}
       </Button>
diff --git a/app/components/base/app-icon/index.tsx b/app/components/base/app-icon/index.tsx
index ac17af1..1938c42 100644
--- a/app/components/base/app-icon/index.tsx
+++ b/app/components/base/app-icon/index.tsx
@@ -61,8 +61,8 @@
     onClick={onClick}
   >
     {isValidImageIcon
-
-      ? <img src={imageUrl} className="h-full w-full" alt="app icon" />
+      // eslint-disable-next-line @next/next/no-img-element
+      ? <img src={imageUrl} className="w-full h-full" alt="app icon" />
       : (innerIcon || ((icon && icon !== '') ? <em-emoji id={icon} /> : <em-emoji id='馃' />))
     }
   </span>
diff --git a/app/components/base/app-unavailable.tsx b/app/components/base/app-unavailable.tsx
index 00abb4c..b8b4210 100644
--- a/app/components/base/app-unavailable.tsx
+++ b/app/components/base/app-unavailable.tsx
@@ -17,8 +17,8 @@
   const { t } = useTranslation()
 
   return (
-    <div className='flex h-screen w-screen items-center justify-center'>
-      <h1 className='mr-5 h-[50px] pr-5 text-[24px] font-medium leading-[50px]'
+    <div className='flex items-center justify-center w-screen h-screen'>
+      <h1 className='mr-5 h-[50px] leading-[50px] pr-5 text-[24px] font-medium'
         style={{
           borderRight: '1px solid rgba(0,0,0,.3)',
         }}>{code}</h1>
diff --git a/app/components/base/audio-btn/audio.player.manager.ts b/app/components/base/audio-btn/audio.player.manager.ts
index 86eb377..17d92f8 100644
--- a/app/components/base/audio-btn/audio.player.manager.ts
+++ b/app/components/base/audio-btn/audio.player.manager.ts
@@ -1,6 +1,6 @@
 import AudioPlayer from '@/app/components/base/audio-btn/audio'
 declare global {
-  // eslint-disable-next-line ts/consistent-type-definitions
+  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
   interface AudioPlayerManager {
     instance: AudioPlayerManager
   }
@@ -12,6 +12,9 @@
   private audioPlayers: AudioPlayer | null = null
   private msgId: string | undefined
 
+  private constructor() {
+  }
+
   public static getInstance(): AudioPlayerManager {
     if (!AudioPlayerManager.instance) {
       AudioPlayerManager.instance = new AudioPlayerManager()
@@ -21,7 +24,7 @@
     return AudioPlayerManager.instance
   }
 
-  public getAudioPlayer(url: string, isPublic: boolean, id: string | undefined, msgContent: string | null | undefined, voice: string | undefined, callback: ((event: string) => void) | null): AudioPlayer {
+  public getAudioPlayer(url: string, isPublic: boolean, id: string | undefined, msgContent: string | null | undefined, voice: string | undefined, callback: ((event: string) => {}) | null): AudioPlayer {
     if (this.msgId && this.msgId === id && this.audioPlayers) {
       this.audioPlayers.setCallback(callback)
       return this.audioPlayers
@@ -33,7 +36,7 @@
           this.audioPlayers.cacheBuffers = []
           this.audioPlayers.sourceBuffer?.abort()
         }
-        catch {
+        catch (e) {
         }
       }
 
diff --git a/app/components/base/audio-btn/audio.ts b/app/components/base/audio-btn/audio.ts
index 00797d0..baf675d 100644
--- a/app/components/base/audio-btn/audio.ts
+++ b/app/components/base/audio-btn/audio.ts
@@ -2,7 +2,7 @@
 import { textToAudioStream } from '@/service/share'
 
 declare global {
-  // eslint-disable-next-line ts/consistent-type-definitions
+  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
   interface Window {
     ManagedMediaSource: any
   }
@@ -21,9 +21,9 @@
   isLoadData = false
   url: string
   isPublic: boolean
-  callback: ((event: string) => void) | null
+  callback: ((event: string) => {}) | null
 
-  constructor(streamUrl: string, isPublic: boolean, msgId: string | undefined, msgContent: string | null | undefined, voice: string | undefined, callback: ((event: string) => void) | null) {
+  constructor(streamUrl: string, isPublic: boolean, msgId: string | undefined, msgContent: string | null | undefined, voice: string | undefined, callback: ((event: string) => {}) | null) {
     this.audioContext = new AudioContext()
     this.msgId = msgId
     this.msgContent = msgContent
@@ -68,7 +68,7 @@
     })
   }
 
-  public setCallback(callback: ((event: string) => void) | null) {
+  public setCallback(callback: ((event: string) => {}) | null) {
     this.callback = callback
     if (callback) {
       this.audio.addEventListener('ended', () => {
@@ -125,7 +125,7 @@
         this.receiveAudioData(value)
       }
     }
-    catch {
+    catch (error) {
       this.isLoadData = false
       this.callback && this.callback('error')
     }
@@ -211,6 +211,10 @@
     this.audioContext.suspend()
   }
 
+  private cancer() {
+
+  }
+
   private receiveAudioData(unit8Array: Uint8Array) {
     if (!unit8Array) {
       this.finishStream()
diff --git a/app/components/base/audio-btn/index.tsx b/app/components/base/audio-btn/index.tsx
index 2a54a8e..593411e 100644
--- a/app/components/base/audio-btn/index.tsx
+++ b/app/components/base/audio-btn/index.tsx
@@ -29,7 +29,7 @@
 
   const params = useParams()
   const pathname = usePathname()
-  const audio_finished_call = (event: string): void => {
+  const audio_finished_call = (event: string): any => {
     switch (event) {
       case 'ended':
         setAudioState('ended')
@@ -87,18 +87,18 @@
       >
         <button
           disabled={audioState === 'loading'}
-          className={`box-border flex h-6 w-6 cursor-pointer items-center justify-center ${isAudition ? 'p-0.5' : 'rounded-md bg-white p-0'}`}
+          className={`box-border w-6 h-6 flex items-center justify-center cursor-pointer ${isAudition ? 'p-0.5' : 'p-0 rounded-md bg-white'}`}
           onClick={handleToggle}
         >
           {audioState === 'loading'
             ? (
-              <div className='flex h-full w-full items-center justify-center rounded-md'>
+              <div className='w-full h-full rounded-md flex items-center justify-center'>
                 <Loading />
               </div>
             )
             : (
-              <div className={'flex h-full w-full items-center justify-center rounded-md hover:bg-gray-50'}>
-                <div className={`h-4 w-4 ${(audioState === 'playing') ? s.pauseIcon : s.playIcon}`}></div>
+              <div className={`w-full h-full rounded-md flex items-center justify-center ${!isAudition ? 'hover:bg-gray-50' : 'hover:bg-gray-50'}`}>
+                <div className={`w-4 h-4 ${(audioState === 'playing') ? s.pauseIcon : s.playIcon}`}></div>
               </div>
             )}
         </button>
diff --git a/app/components/base/audio-btn/style.module.css b/app/components/base/audio-btn/style.module.css
index 7e3175a..b8a4da6 100644
--- a/app/components/base/audio-btn/style.module.css
+++ b/app/components/base/audio-btn/style.module.css
@@ -7,4 +7,4 @@
   background-image: url(~@/app/components/develop/secret-key/assets/pause.svg);
   background-position: center;
   background-repeat: no-repeat;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/audio-gallery/AudioPlayer.module.css b/app/components/base/audio-gallery/AudioPlayer.module.css
new file mode 100644
index 0000000..6c070e1
--- /dev/null
+++ b/app/components/base/audio-gallery/AudioPlayer.module.css
@@ -0,0 +1,119 @@
+.audioPlayer {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  background-color: #ffffff;
+  border-radius: 10px;
+  padding: 8px;
+  min-width: 240px;
+  max-width: 420px;
+  max-height: 40px;
+  backdrop-filter: blur(5px);
+  border: 1px solid rgba(16, 24, 40, 0.08);
+  box-shadow: 0 1px 2px rgba(9, 9, 11, 0.05);
+  gap: 8px;
+}
+
+.playButton {
+  display: inline-flex;
+  width: 16px;
+  height: 16px;
+  border-radius: 50%;
+  background-color: #296DFF;
+  color: white;
+  border: none;
+  cursor: pointer;
+  align-items: center;
+  justify-content: center;
+  transition: background-color 0.1s;
+  flex-shrink: 0;
+}
+
+.playButton:hover {
+  background-color: #3367d6;
+}
+
+.playButton:disabled {
+  background-color: #bdbdbf;
+}
+
+.audioControls {
+  flex-grow: 1;
+  
+}
+
+.progressBarContainer {
+  height: 32px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.waveform {
+  position: relative;
+  display: flex;
+  cursor: pointer;
+  height: 24px;
+  width: 100%;
+  flex-grow: 1;
+  align-items: center;
+  justify-content: center;
+}
+
+.progressBar {
+  position: absolute;
+  top: 0;
+  left: 0;
+  opacity: 0.5;
+  border-radius: 2px;
+  flex: none;
+  order: 55;
+  flex-grow: 0;
+  height: 100%;
+  background-color: rgba(66, 133, 244, 0.3);
+  pointer-events: none;
+}
+
+.timeDisplay {
+  /* position: absolute; */
+  color: #296DFF;
+  border-radius: 2px;
+  order: 0;
+  height: 100%;
+  width: 50px;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+}
+
+/* .currentTime {
+    position: absolute;
+    bottom: calc(100% + 5px);
+    transform: translateX(-50%);
+    background-color: rgba(255,255,255,.8);
+    padding: 2px 4px;
+    border-radius:10px;
+    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.08);
+} */
+
+.duration {
+  background-color: rgba(255, 255, 255, 0.8);
+  padding: 2px 4px;
+  border-radius: 10px;
+}
+
+.source_unavailable {
+  border: none;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  color: #bdbdbf;
+}
+
+.playButton svg path,
+.playButton svg rect{
+   fill:currentColor;
+}
diff --git a/app/components/base/audio-gallery/AudioPlayer.tsx b/app/components/base/audio-gallery/AudioPlayer.tsx
index 67ded63..c482981 100644
--- a/app/components/base/audio-gallery/AudioPlayer.tsx
+++ b/app/components/base/audio-gallery/AudioPlayer.tsx
@@ -1,13 +1,7 @@
 import React, { useCallback, useEffect, useRef, useState } from 'react'
 import { t } from 'i18next'
-import {
-  RiPauseCircleFill,
-  RiPlayLargeFill,
-} from '@remixicon/react'
+import styles from './AudioPlayer.module.css'
 import Toast from '@/app/components/base/toast'
-import useTheme from '@/hooks/use-theme'
-import { Theme } from '@/types/app'
-import cn from '@/utils/classnames'
 
 type AudioPlayerProps = {
   src: string
@@ -24,7 +18,6 @@
   const [hasStartedPlaying, setHasStartedPlaying] = useState(false)
   const [hoverTime, setHoverTime] = useState(0)
   const [isAudioAvailable, setIsAudioAvailable] = useState(true)
-  const { theme } = useTheme()
 
   useEffect(() => {
     const audio = audioRef.current
@@ -62,7 +55,7 @@
     audio.load()
 
     // Delayed generation of waveform data
-    // eslint-disable-next-line ts/no-use-before-define
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
     const timer = setTimeout(() => generateWaveformData(src), 1000)
 
     return () => {
@@ -124,7 +117,7 @@
       setWaveformData(normalizedWaveform)
       setIsAudioAvailable(true)
     }
-    catch {
+    catch (error) {
       const waveform: number[] = []
       let prevValue = Math.random()
 
@@ -237,11 +230,11 @@
       let color
 
       if (index * barWidth <= playedWidth)
-        color = theme === Theme.light ? '#296DFF' : '#84ABFF'
+        color = '#296DFF'
       else if ((index * barWidth / width) * duration <= hoverTime)
-        color = theme === Theme.light ? 'rgba(21,90,239,.40)' : 'rgba(200, 206, 218, 0.28)'
+        color = 'rgba(21,90,239,.40)'
       else
-        color = theme === Theme.light ? 'rgba(21,90,239,.20)' : 'rgba(200, 206, 218, 0.14)'
+        color = 'rgba(21,90,239,.20)'
 
       const barHeight = value * height
       const rectX = index * barWidth
@@ -260,7 +253,7 @@
         ctx.fillRect(rectX, rectY, rectWidth, rectHeight)
       }
     })
-  }, [currentTime, duration, hoverTime, theme, waveformData])
+  }, [currentTime, duration, hoverTime, waveformData])
 
   useEffect(() => {
     drawWaveform()
@@ -286,32 +279,40 @@
   }, [duration])
 
   return (
-    <div className='flex h-9 min-w-[240px] max-w-[420px] items-end gap-2 rounded-[10px] border border-components-panel-border-subtle bg-components-chat-input-audio-bg-alt p-2 shadow-xs backdrop-blur-sm'>
+    <div className={styles.audioPlayer}>
       <audio ref={audioRef} src={src} preload="auto"/>
-      <button className='inline-flex shrink-0 cursor-pointer items-center justify-center border-none text-text-accent transition-all hover:text-text-accent-secondary disabled:text-components-button-primary-bg-disabled' onClick={togglePlay} disabled={!isAudioAvailable}>
+      <button className={styles.playButton} onClick={togglePlay} disabled={!isAudioAvailable}>
         {isPlaying
           ? (
-            <RiPauseCircleFill className='h-5 w-5' />
+            <svg viewBox="0 0 24 24" width="16" height="16">
+              <rect x="7" y="6" width="3" height="12" rx="1.5" ry="1.5"/>
+              <rect x="15" y="6" width="3" height="12" rx="1.5" ry="1.5"/>
+            </svg>
           )
           : (
-            <RiPlayLargeFill className='h-5 w-5' />
+            <svg viewBox="0 0 24 24" width="16" height="16">
+              <path d="M8 5v14l11-7z" fill="currentColor"/>
+            </svg>
           )}
       </button>
-      <div className={cn(isAudioAvailable && 'grow')} hidden={!isAudioAvailable}>
-        <div className='flex h-8 items-center justify-center'>
+      <div className={isAudioAvailable ? styles.audioControls : styles.audioControls_disabled} hidden={!isAudioAvailable}>
+        <div className={styles.progressBarContainer}>
           <canvas
             ref={canvasRef}
-            className='relative flex h-6 w-full grow cursor-pointer items-center justify-center'
+            className={styles.waveform}
             onClick={handleCanvasInteraction}
             onMouseMove={handleMouseMove}
             onMouseDown={handleCanvasInteraction}
           />
-          <div className='system-xs-medium inline-flex min-w-[50px] items-center justify-center text-text-accent-secondary'>
-            <span className='rounded-[10px] px-0.5 py-1'>{formatTime(duration)}</span>
+          {/* <div className={styles.currentTime} style={{ left: `${(currentTime / duration) * 81}%`, bottom: '29px' }}>
+            {formatTime(currentTime)}
+          </div> */}
+          <div className={styles.timeDisplay}>
+            <span className={styles.duration}>{formatTime(duration)}</span>
           </div>
         </div>
       </div>
-      <div className='absolute left-0 top-0 flex h-full w-full items-center justify-center text-text-quaternary' hidden={isAudioAvailable}>{t('common.operation.audioSourceUnavailable')}</div>
+      <div className={styles.source_unavailable} hidden={isAudioAvailable}>{t('common.operation.audioSourceUnavailable')}</div>
     </div>
   )
 }
diff --git a/app/components/base/auto-height-textarea/common.tsx b/app/components/base/auto-height-textarea/common.tsx
index 841bfdd..98ff0b7 100644
--- a/app/components/base/auto-height-textarea/common.tsx
+++ b/app/components/base/auto-height-textarea/common.tsx
@@ -1,53 +1,53 @@
-import { useEffect, useRef } from 'react'
+import { forwardRef, useEffect, useRef } from 'react'
 import cn from '@/utils/classnames'
 
 type AutoHeightTextareaProps =
   & React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>
   & { outerClassName?: string }
 
-const AutoHeightTextarea = (
-  {
-    ref: outRef,
-    outerClassName,
-    value,
-    className,
-    placeholder,
-    autoFocus,
-    disabled,
-    ...rest
-  }: AutoHeightTextareaProps & {
-    ref: React.RefObject<HTMLTextAreaElement>;
-  },
-) => {
-  const innerRef = useRef<HTMLTextAreaElement>(null)
-  const ref = outRef || innerRef
+const AutoHeightTextarea = forwardRef<HTMLTextAreaElement, AutoHeightTextareaProps>(
+  (
+    {
+      outerClassName,
+      value,
+      className,
+      placeholder,
+      autoFocus,
+      disabled,
+      ...rest
+    },
+    outRef,
+  ) => {
+    const innerRef = useRef<HTMLTextAreaElement>(null)
+    const ref = outRef || innerRef
 
-  useEffect(() => {
-    if (autoFocus && !disabled && value) {
-      if (typeof ref !== 'function') {
-        ref.current?.setSelectionRange(`${value}`.length, `${value}`.length)
-        ref.current?.focus()
+    useEffect(() => {
+      if (autoFocus && !disabled && value) {
+        if (typeof ref !== 'function') {
+          ref.current?.setSelectionRange(`${value}`.length, `${value}`.length)
+          ref.current?.focus()
+        }
       }
-    }
-  }, [autoFocus, disabled, ref])
-  return (
-    (<div className={outerClassName}>
-      <div className='relative'>
-        <div className={cn(className, 'invisible whitespace-pre-wrap break-all')}>
-          {!value ? placeholder : `${value}`.replace(/\n$/, '\n ')}
+    }, [autoFocus, disabled, ref])
+    return (
+      <div className={outerClassName}>
+        <div className='relative'>
+          <div className={cn(className, 'invisible whitespace-pre-wrap break-all')}>
+            {!value ? placeholder : `${value}`.replace(/\n$/, '\n ')}
+          </div>
+          <textarea
+            ref={ref}
+            placeholder={placeholder}
+            className={cn(className, 'disabled:bg-transparent absolute inset-0 outline-none border-none appearance-none resize-none w-full h-full')}
+            value={value}
+            disabled={disabled}
+            {...rest}
+          />
         </div>
-        <textarea
-          ref={ref}
-          placeholder={placeholder}
-          className={cn(className, 'absolute inset-0 h-full w-full resize-none appearance-none border-none outline-none disabled:bg-transparent')}
-          value={value}
-          disabled={disabled}
-          {...rest}
-        />
       </div>
-    </div>)
-  )
-}
+    )
+  },
+)
 
 AutoHeightTextarea.displayName = 'AutoHeightTextarea'
 
diff --git a/app/components/base/auto-height-textarea/index.tsx b/app/components/base/auto-height-textarea/index.tsx
index da412a1..f55db79 100644
--- a/app/components/base/auto-height-textarea/index.tsx
+++ b/app/components/base/auto-height-textarea/index.tsx
@@ -1,4 +1,4 @@
-import { useEffect, useRef } from 'react'
+import { forwardRef, useEffect, useRef } from 'react'
 import cn from '@/utils/classnames'
 import { sleep } from '@/utils'
 
@@ -16,80 +16,68 @@
   onKeyUp?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void
 }
 
-const AutoHeightTextarea = (
-  {
-    ref: outerRef,
-    value,
-    onChange,
-    placeholder,
-    className,
-    wrapperClassName,
-    minHeight = 36,
-    maxHeight = 96,
-    autoFocus,
-    controlFocus,
-    onKeyDown,
-    onKeyUp,
-  }: IProps & {
-    ref: React.RefObject<unknown>;
-  },
-) => {
-  // eslint-disable-next-line react-hooks/rules-of-hooks
-  const ref = outerRef || useRef<HTMLTextAreaElement>(null)
+const AutoHeightTextarea = forwardRef(
+  (
+    { value, onChange, placeholder, className, wrapperClassName, minHeight = 36, maxHeight = 96, autoFocus, controlFocus, onKeyDown, onKeyUp }: IProps,
+    outerRef: any,
+  ) => {
+    // eslint-disable-next-line react-hooks/rules-of-hooks
+    const ref = outerRef || useRef<HTMLTextAreaElement>(null)
 
-  const doFocus = () => {
-    if (ref.current) {
-      ref.current.setSelectionRange(value.length, value.length)
-      ref.current.focus()
-      return true
+    const doFocus = () => {
+      if (ref.current) {
+        ref.current.setSelectionRange(value.length, value.length)
+        ref.current.focus()
+        return true
+      }
+      return false
     }
-    return false
-  }
 
-  const focus = async () => {
-    if (!doFocus()) {
-      let hasFocus = false
-      await sleep(100)
-      hasFocus = doFocus()
-      if (!hasFocus)
+    const focus = async () => {
+      if (!doFocus()) {
+        let hasFocus = false
+        await sleep(100)
+        hasFocus = doFocus()
+        if (!hasFocus)
+          focus()
+      }
+    }
+
+    useEffect(() => {
+      if (autoFocus)
         focus()
-    }
-  }
+    }, [])
+    useEffect(() => {
+      if (controlFocus)
+        focus()
+    }, [controlFocus])
 
-  useEffect(() => {
-    if (autoFocus)
-      focus()
-  }, [])
-  useEffect(() => {
-    if (controlFocus)
-      focus()
-  }, [controlFocus])
-
-  return (
-    (<div className={`relative ${wrapperClassName}`}>
-      <div className={cn(className, 'invisible overflow-y-auto whitespace-pre-wrap  break-all')} style={{
-        minHeight,
-        maxHeight,
-        paddingRight: (value && value.trim().length > 10000) ? 140 : 130,
-      }}>
-        {!value ? placeholder : value.replace(/\n$/, '\n ')}
-      </div>
-      <textarea
-        ref={ref}
-        autoFocus={autoFocus}
-        className={cn(className, 'absolute inset-0 resize-none overflow-auto')}
-        style={{
+    return (
+      <div className={`relative ${wrapperClassName}`}>
+        <div className={cn(className, 'invisible whitespace-pre-wrap break-all  overflow-y-auto')} style={{
+          minHeight,
+          maxHeight,
           paddingRight: (value && value.trim().length > 10000) ? 140 : 130,
-        }}
-        placeholder={placeholder}
-        onChange={onChange}
-        onKeyDown={onKeyDown}
-        onKeyUp={onKeyUp}
-        value={value}
-      />
-    </div>)
-  )
-}
+        }}>
+          {!value ? placeholder : value.replace(/\n$/, '\n ')}
+        </div>
+        <textarea
+          ref={ref}
+          autoFocus={autoFocus}
+          className={cn(className, 'absolute inset-0 resize-none overflow-auto')}
+          style={{
+            paddingRight: (value && value.trim().length > 10000) ? 140 : 130,
+          }}
+          placeholder={placeholder}
+          onChange={onChange}
+          onKeyDown={onKeyDown}
+          onKeyUp={onKeyUp}
+          value={value}
+        />
+      </div>
+    )
+  },
+)
 
 AutoHeightTextarea.displayName = 'AutoHeightTextarea'
 
diff --git a/app/components/base/avatar/index.tsx b/app/components/base/avatar/index.tsx
index 2a08f75..af40655 100644
--- a/app/components/base/avatar/index.tsx
+++ b/app/components/base/avatar/index.tsx
@@ -42,7 +42,7 @@
       style={style}
     >
       <div
-        className={cn(textClassName, 'scale-[0.4] text-center text-white')}
+        className={cn(textClassName, 'text-center text-white scale-[0.4]')}
         style={style}
       >
         {name[0].toLocaleUpperCase()}
diff --git a/app/components/base/badge.tsx b/app/components/base/badge.tsx
index 0362d8d..787b005 100644
--- a/app/components/base/badge.tsx
+++ b/app/components/base/badge.tsx
@@ -1,13 +1,11 @@
-import type { ReactNode } from 'react'
 import { memo } from 'react'
 import cn from '@/utils/classnames'
 
 type BadgeProps = {
   className?: string
-  text?: ReactNode
-  children?: ReactNode
+  text?: string
+  children?: React.ReactNode
   uppercase?: boolean
-  hasRedCornerMark?: boolean
 }
 
 const Badge = ({
@@ -15,20 +13,15 @@
   text,
   children,
   uppercase = true,
-  hasRedCornerMark,
 }: BadgeProps) => {
   return (
     <div
       className={cn(
-        'relative inline-flex h-5 items-center rounded-[5px] border border-divider-deep px-[5px] leading-3 text-text-tertiary',
+        'inline-flex items-center px-[5px] h-5 rounded-[5px] border border-divider-deep leading-3 text-text-tertiary',
         uppercase ? 'system-2xs-medium-uppercase' : 'system-xs-medium',
         className,
       )}
     >
-      {hasRedCornerMark && (
-        <div className='absolute right-[-2px] top-[-2px] h-1.5 w-1.5 rounded-[2px] border border-components-badge-status-light-error-border-inner bg-components-badge-status-light-error-bg shadow-sm'>
-        </div>
-      )}
       {children || text}
     </div>
   )
diff --git a/app/components/base/block-input/index.tsx b/app/components/base/block-input/index.tsx
index 9b26b52..43c14de 100644
--- a/app/components/base/block-input/index.tsx
+++ b/app/components/base/block-input/index.tsx
@@ -134,8 +134,8 @@
       {textAreaContent}
       {/* footer */}
       {!readonly && (
-        <div className='flex pb-2 pl-4'>
-          <div className="h-[18px] rounded-md bg-gray-100 px-1 text-xs leading-[18px] text-gray-500">{currentValue?.length}</div>
+        <div className='pl-4 pb-2 flex'>
+          <div className="h-[18px] leading-[18px] px-1 rounded-md bg-gray-100 text-xs text-gray-500">{currentValue?.length}</div>
         </div>
       )}
 
diff --git a/app/components/base/button/add-button.tsx b/app/components/base/button/add-button.tsx
index 420b668..ab0e247 100644
--- a/app/components/base/button/add-button.tsx
+++ b/app/components/base/button/add-button.tsx
@@ -14,8 +14,8 @@
   onClick,
 }) => {
   return (
-    <div className={cn(className, 'cursor-pointer select-none rounded-md p-1 hover:bg-state-base-hover')} onClick={onClick}>
-      <RiAddLine className='h-4 w-4 text-text-tertiary' />
+    <div className={cn(className, 'p-1 rounded-md cursor-pointer hover:bg-state-base-hover select-none')} onClick={onClick}>
+      <RiAddLine className='w-4 h-4 text-text-tertiary' />
     </div>
   )
 }
diff --git a/app/components/base/button/index.css b/app/components/base/button/index.css
index 47e5914..5656cb9 100644
--- a/app/components/base/button/index.css
+++ b/app/components/base/button/index.css
@@ -22,7 +22,7 @@
   }
 
   .btn-primary {
-    @apply
+    @apply 
     shadow
     bg-components-button-primary-bg
     border-components-button-primary-border
@@ -32,7 +32,7 @@
   }
 
   .btn-primary.btn-destructive {
-    @apply
+    @apply 
     bg-components-button-destructive-primary-bg
     border-components-button-destructive-primary-border
     hover:bg-components-button-destructive-primary-bg-hover
@@ -41,7 +41,7 @@
   }
 
   .btn-primary.btn-disabled {
-    @apply
+    @apply 
     shadow-none
     bg-components-button-primary-bg-disabled
     border-components-button-primary-border-disabled
@@ -49,7 +49,7 @@
   }
 
   .btn-primary.btn-destructive.btn-disabled {
-    @apply
+    @apply 
     shadow-none
     bg-components-button-destructive-primary-bg-disabled
     border-components-button-destructive-primary-border-disabled
@@ -57,130 +57,130 @@
   }
 
   .btn-secondary {
-    @apply
+    @apply 
     border-[0.5px]
     shadow-xs
-    bg-components-button-secondary-bg
-    border-components-button-secondary-border
-    hover:bg-components-button-secondary-bg-hover
-    hover:border-components-button-secondary-border-hover
+    bg-components-button-secondary-bg 
+    border-components-button-secondary-border 
+    hover:bg-components-button-secondary-bg-hover 
+    hover:border-components-button-secondary-border-hover 
     text-components-button-secondary-text;
   }
 
   .btn-secondary.btn-disabled {
-    @apply
-    bg-components-button-secondary-bg-disabled
-    border-components-button-secondary-border-disabled
+    @apply 
+    bg-components-button-secondary-bg-disabled 
+    border-components-button-secondary-border-disabled 
     text-components-button-secondary-text-disabled;
   }
 
   .btn-secondary.btn-destructive {
-    @apply
-    bg-components-button-destructive-secondary-bg
-    border-components-button-destructive-secondary-border
-    hover:bg-components-button-destructive-secondary-bg-hover
-    hover:border-components-button-destructive-secondary-border-hover
+    @apply 
+    bg-components-button-destructive-secondary-bg 
+    border-components-button-destructive-secondary-border 
+    hover:bg-components-button-destructive-secondary-bg-hover 
+    hover:border-components-button-destructive-secondary-border-hover 
     text-components-button-destructive-secondary-text;
   }
 
   .btn-secondary.btn-destructive.btn-disabled {
-    @apply
-    bg-components-button-destructive-secondary-bg-disabled
-    border-components-button-destructive-secondary-border-disabled
+    @apply 
+    bg-components-button-destructive-secondary-bg-disabled 
+    border-components-button-destructive-secondary-border-disabled 
     text-components-button-destructive-secondary-text-disabled;
   }
 
-
+  
   .btn-secondary-accent {
-    @apply
+    @apply 
     border-[0.5px]
     shadow-xs
-    bg-components-button-secondary-bg
-    border-components-button-secondary-border
-    hover:bg-components-button-secondary-bg-hover
-    hover:border-components-button-secondary-border-hover
+    bg-components-button-secondary-bg 
+    border-components-button-secondary-border 
+    hover:bg-components-button-secondary-bg-hover 
+    hover:border-components-button-secondary-border-hover 
     text-components-button-secondary-accent-text;
   }
 
   .btn-secondary-accent.btn-disabled {
-    @apply
-    bg-components-button-secondary-bg-disabled
-    border-components-button-secondary-border-disabled
+    @apply 
+    bg-components-button-secondary-bg-disabled 
+    border-components-button-secondary-border-disabled 
     text-components-button-secondary-accent-text-disabled;
   }
 
   .btn-warning {
-    @apply
-    bg-components-button-destructive-primary-bg
-    border-components-button-destructive-primary-border
-    hover:bg-components-button-destructive-primary-bg-hover
-    hover:border-components-button-destructive-primary-border-hover
+    @apply 
+    bg-components-button-destructive-primary-bg 
+    border-components-button-destructive-primary-border 
+    hover:bg-components-button-destructive-primary-bg-hover 
+    hover:border-components-button-destructive-primary-border-hover 
     text-components-button-destructive-primary-text;
   }
 
   .btn-warning.btn-disabled {
-    @apply
-    bg-components-button-destructive-primary-bg-disabled
-    border-components-button-destructive-primary-border-disabled
+    @apply 
+    bg-components-button-destructive-primary-bg-disabled 
+    border-components-button-destructive-primary-border-disabled 
     text-components-button-destructive-primary-text-disabled;
   }
 
   .btn-tertiary {
-    @apply
-    bg-components-button-tertiary-bg
-    hover:bg-components-button-tertiary-bg-hover
+    @apply 
+    bg-components-button-tertiary-bg 
+    hover:bg-components-button-tertiary-bg-hover 
     text-components-button-tertiary-text;
   }
 
   .btn-tertiary.btn-disabled {
-    @apply
-    bg-components-button-tertiary-bg-disabled
+    @apply 
+    bg-components-button-tertiary-bg-disabled 
     text-components-button-tertiary-text-disabled;
   }
 
   .btn-tertiary.btn-destructive {
-    @apply
-    bg-components-button-destructive-tertiary-bg
-    hover:bg-components-button-destructive-tertiary-bg-hover
+    @apply 
+    bg-components-button-destructive-tertiary-bg 
+    hover:bg-components-button-destructive-tertiary-bg-hover 
     text-components-button-destructive-tertiary-text;
   }
 
   .btn-tertiary.btn-destructive.btn-disabled {
-    @apply
-    bg-components-button-destructive-tertiary-bg-disabled
+    @apply 
+    bg-components-button-destructive-tertiary-bg-disabled 
     text-components-button-destructive-tertiary-text-disabled;
   }
 
   .btn-ghost {
-    @apply
-    hover:bg-components-button-ghost-bg-hover
+    @apply 
+    hover:bg-components-button-ghost-bg-hover 
     text-components-button-ghost-text;
   }
 
   .btn-ghost.btn-disabled {
-    @apply
+    @apply 
     text-components-button-ghost-text-disabled;
   }
 
   .btn-ghost.btn-destructive {
-    @apply
-    hover:bg-components-button-destructive-ghost-bg-hover
+    @apply 
+    hover:bg-components-button-destructive-ghost-bg-hover 
     text-components-button-destructive-ghost-text;
   }
 
   .btn-ghost.btn-destructive.btn-disabled {
-    @apply
+    @apply 
     text-components-button-destructive-ghost-text-disabled;
   }
 
   .btn-ghost-accent {
-    @apply
+    @apply 
     hover:bg-state-accent-hover
     text-components-button-secondary-accent-text;
   }
 
   .btn-ghost-accent.btn-disabled {
-    @apply
+    @apply 
     text-components-button-secondary-accent-text-disabled;
   }
-}
+}
\ No newline at end of file
diff --git a/app/components/base/button/index.spec.tsx b/app/components/base/button/index.spec.tsx
index 9da2620..308656c 100644
--- a/app/components/base/button/index.spec.tsx
+++ b/app/components/base/button/index.spec.tsx
@@ -4,107 +4,46 @@
 
 afterEach(cleanup)
 // https://testing-library.com/docs/queries/about
-describe('Button', () => {
-  describe('Button text', () => {
-    test('Button text should be same as children', async () => {
-      const { getByRole, container } = render(<Button>Click me</Button>)
-      expect(getByRole('button').textContent).toBe('Click me')
-      expect(container.querySelector('button')?.textContent).toBe('Click me')
-    })
+describe('Button text', () => {
+  test('Button text should be same as children', async () => {
+    const { getByRole, container } = render(<Button>Click me</Button>)
+    expect(getByRole('button').textContent).toBe('Click me')
+    expect(container.querySelector('button')?.textContent).toBe('Click me')
   })
 
-  describe('Button loading', () => {
-    test('Loading button text should include same as children', async () => {
-      const { getByRole } = render(<Button loading>Click me</Button>)
-      expect(getByRole('button').textContent?.includes('Loading')).toBe(true)
-    })
-    test('Not loading button text should include same as children', async () => {
-      const { getByRole } = render(<Button loading={false}>Click me</Button>)
-      expect(getByRole('button').textContent?.includes('Loading')).toBe(false)
-    })
+  test('Loading button text should include  same as children', async () => {
+    const { getByRole } = render(<Button loading>Click me</Button>)
+    expect(getByRole('button').textContent?.includes('Loading')).toBe(true)
+  })
+})
 
-    test('Loading button should have loading classname', async () => {
-      const animClassName = 'anim-breath'
-      const { getByRole } = render(<Button loading spinnerClassName={animClassName}>Click me</Button>)
-      expect(getByRole('button').getElementsByClassName('animate-spin')[0]?.className).toContain(animClassName)
-    })
+describe('Button style', () => {
+  test('Button should have default variant', async () => {
+    const { getByRole } = render(<Button>Click me</Button>)
+    expect(getByRole('button').className).toContain('btn-secondary')
   })
 
-  describe('Button style', () => {
-    test('Button should have default variant', async () => {
-      const { getByRole } = render(<Button>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-secondary')
-    })
-
-    test('Button should have primary variant', async () => {
-      const { getByRole } = render(<Button variant='primary'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-primary')
-    })
-
-    test('Button should have warning variant', async () => {
-      const { getByRole } = render(<Button variant='warning'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-warning')
-    })
-
-    test('Button should have secondary variant', async () => {
-      const { getByRole } = render(<Button variant='secondary'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-secondary')
-    })
-
-    test('Button should have secondary-accent variant', async () => {
-      const { getByRole } = render(<Button variant='secondary-accent'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-secondary-accent')
-    })
-    test('Button should have ghost variant', async () => {
-      const { getByRole } = render(<Button variant='ghost'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-ghost')
-    })
-    test('Button should have ghost-accent variant', async () => {
-      const { getByRole } = render(<Button variant='ghost-accent'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-ghost-accent')
-    })
-
-    test('Button disabled should have disabled variant', async () => {
-      const { getByRole } = render(<Button disabled>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-disabled')
-    })
+  test('Button should have primary variant', async () => {
+    const { getByRole } = render(<Button variant='primary'>Click me</Button>)
+    expect(getByRole('button').className).toContain('btn-primary')
   })
 
-  describe('Button size', () => {
-    test('Button should have default size', async () => {
-      const { getByRole } = render(<Button>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-medium')
-    })
-
-    test('Button should have small size', async () => {
-      const { getByRole } = render(<Button size='small'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-small')
-    })
-
-    test('Button should have medium size', async () => {
-      const { getByRole } = render(<Button size='medium'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-medium')
-    })
-
-    test('Button should have large size', async () => {
-      const { getByRole } = render(<Button size='large'>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-large')
-    })
+  test('Button should have warning variant', async () => {
+    const { getByRole } = render(<Button variant='warning'>Click me</Button>)
+    expect(getByRole('button').className).toContain('btn-warning')
   })
 
-  describe('Button destructive', () => {
-    test('Button should have destructive classname', async () => {
-      const { getByRole } = render(<Button destructive>Click me</Button>)
-      expect(getByRole('button').className).toContain('btn-destructive')
-    })
+  test('Button disabled should have disabled variant', async () => {
+    const { getByRole } = render(<Button disabled>Click me</Button>)
+    expect(getByRole('button').className).toContain('btn-disabled')
   })
+})
 
-  describe('Button events', () => {
-    test('onClick should been call after clicked', async () => {
-      const onClick = jest.fn()
-      const { getByRole } = render(<Button onClick={onClick}>Click me</Button>)
-      fireEvent.click(getByRole('button'))
-      expect(onClick).toHaveBeenCalled()
-    })
+describe('Button events', () => {
+  test('onClick should been call after clicked', async () => {
+    const onClick = jest.fn()
+    const { getByRole } = render(<Button onClick={onClick}>Click me</Button>)
+    fireEvent.click(getByRole('button'))
+    expect(onClick).toHaveBeenCalled()
   })
 })
diff --git a/app/components/base/button/index.stories.tsx b/app/components/base/button/index.stories.tsx
index c1b18f1..2964275 100644
--- a/app/components/base/button/index.stories.tsx
+++ b/app/components/base/button/index.stories.tsx
@@ -99,7 +99,7 @@
     variant: 'primary',
     children: (
       <>
-        <RocketLaunchIcon className="mr-1.5 h-4 w-4 stroke-[1.8px]" />
+        <RocketLaunchIcon className="h-4 w-4 mr-1.5 stroke-[1.8px]" />
         Launch
       </>
     ),
diff --git a/app/components/base/button/index.tsx b/app/components/base/button/index.tsx
index b467c49..3bd4b21 100644
--- a/app/components/base/button/index.tsx
+++ b/app/components/base/button/index.tsx
@@ -34,11 +34,10 @@
   destructive?: boolean
   loading?: boolean
   styleCss?: CSSProperties
-  spinnerClassName?: string
 } & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof buttonVariants>
 
 const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
-  ({ className, variant, size, destructive, loading, styleCss, children, spinnerClassName, ...props }, ref) => {
+  ({ className, variant, size, destructive, loading, styleCss, children, ...props }, ref) => {
     return (
       <button
         type='button'
@@ -51,7 +50,7 @@
         {...props}
       >
         {children}
-        {loading && <Spinner loading={loading} className={classNames('!text-white !h-3 !w-3 !border-2 !ml-1', spinnerClassName)} />}
+        {loading && <Spinner loading={loading} className='!text-white !h-3 !w-3 !border-2 !ml-1' />}
       </button>
     )
   },
diff --git a/app/components/base/chat/__tests__/utils.spec.ts b/app/components/base/chat/__tests__/utils.spec.ts
index 3dc484c..0bff8a7 100644
--- a/app/components/base/chat/__tests__/utils.spec.ts
+++ b/app/components/base/chat/__tests__/utils.spec.ts
@@ -1,4 +1,4 @@
-import { get } from 'lodash-es'
+import { get } from 'lodash'
 import { buildChatItemTree, getThreadMessages } from '../utils'
 import type { ChatItemInTree } from '../types'
 import branchedTestMessages from './branchedTestMessages.json'
@@ -263,7 +263,7 @@
     expect(tree7).toMatchSnapshot()
   })
 
-  const partialMessages2 = partialMessages as ChatItemInTree[]
+  const partialMessages2 = (partialMessages as ChatItemInTree[])
   const tree8 = buildChatItemTree(partialMessages2)
   it('should work with partial messages 2', () => {
     expect(tree8).toMatchSnapshot()
diff --git a/app/components/base/chat/chat-with-history/chat-wrapper.tsx b/app/components/base/chat/chat-with-history/chat-wrapper.tsx
index 63de135..7725920 100644
--- a/app/components/base/chat/chat-with-history/chat-wrapper.tsx
+++ b/app/components/base/chat/chat-with-history/chat-wrapper.tsx
@@ -1,4 +1,4 @@
-import { useCallback, useEffect, useMemo, useState } from 'react'
+import { useCallback, useEffect, useMemo } from 'react'
 import Chat from '../chat'
 import type {
   ChatConfig,
@@ -9,20 +9,14 @@
 import { useChat } from '../chat/hooks'
 import { getLastAnswer, isValidGeneratedAnswer } from '../utils'
 import { useChatWithHistoryContext } from './context'
-import { InputVarType } from '@/app/components/workflow/types'
-import { TransferMethod } from '@/types/app'
-import InputsForm from '@/app/components/base/chat/chat-with-history/inputs-form'
+import Header from './header'
+import ConfigPanel from './config-panel'
 import {
   fetchSuggestedQuestions,
   getUrl,
   stopChatMessageResponding,
 } from '@/service/share'
-import AppIcon from '@/app/components/base/app-icon'
 import AnswerIcon from '@/app/components/base/answer-icon'
-import SuggestedQuestions from '@/app/components/base/chat/chat/answer/suggested-questions'
-import { Markdown } from '@/app/components/base/markdown'
-import cn from '@/utils/classnames'
-import type { FileEntity } from '../../file-uploader/types'
 
 const ChatWrapper = () => {
   const {
@@ -30,10 +24,8 @@
     appPrevChatTree,
     currentConversationId,
     currentConversationItem,
-    currentConversationInputs,
     inputsForms,
     newConversationInputs,
-    newConversationInputsRef,
     handleNewConversationCompleted,
     isMobile,
     isInstalledApp,
@@ -43,10 +35,6 @@
     currentChatInstanceRef,
     appData,
     themeBuilder,
-    sidebarCollapseState,
-    clearChatList,
-    setClearChatList,
-    setIsResponding,
   } = useChatWithHistoryContext()
   const appConfig = useMemo(() => {
     const config = appParams || {}
@@ -66,51 +54,17 @@
     setTargetMessageId,
     handleSend,
     handleStop,
-    isResponding: respondingState,
+    isResponding,
     suggestedQuestions,
   } = useChat(
     appConfig,
     {
-      inputs: (currentConversationId ? currentConversationInputs : newConversationInputs) as any,
+      inputs: (currentConversationId ? currentConversationItem?.inputs : newConversationInputs) as any,
       inputsForm: inputsForms,
     },
     appPrevChatTree,
     taskId => stopChatMessageResponding('', taskId, isInstalledApp, appId),
-    clearChatList,
-    setClearChatList,
   )
-  const inputsFormValue = currentConversationId ? currentConversationInputs : newConversationInputsRef?.current
-  const inputDisabled = useMemo(() => {
-    let hasEmptyInput = ''
-    let fileIsUploading = false
-    const requiredVars = inputsForms.filter(({ required }) => required)
-    if (requiredVars.length) {
-      requiredVars.forEach(({ variable, label, type }) => {
-        if (hasEmptyInput)
-          return
-
-        if (fileIsUploading)
-          return
-
-        if (!inputsFormValue?.[variable])
-          hasEmptyInput = label as string
-
-        if ((type === InputVarType.singleFile || type === InputVarType.multiFiles) && inputsFormValue?.[variable]) {
-          const files = inputsFormValue[variable]
-          if (Array.isArray(files))
-            fileIsUploading = files.find(item => item.transferMethod === TransferMethod.local_file && !item.uploadedId)
-          else
-            fileIsUploading = files.transferMethod === TransferMethod.local_file && !files.uploadedId
-        }
-      })
-    }
-    if (hasEmptyInput)
-      return true
-
-    if (fileIsUploading)
-      return true
-    return false
-  }, [inputsFormValue, inputsForms])
 
   useEffect(() => {
     if (currentChatInstanceRef.current)
@@ -118,15 +72,11 @@
   // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [])
 
-  useEffect(() => {
-    setIsResponding(respondingState)
-  }, [respondingState, setIsResponding])
-
   const doSend: OnSend = useCallback((message, files, isRegenerate = false, parentAnswer: ChatItem | null = null) => {
     const data: any = {
       query: message,
       files,
-      inputs: currentConversationId ? currentConversationInputs : newConversationInputs,
+      inputs: currentConversationId ? currentConversationItem?.inputs : newConversationInputs,
       conversation_id: currentConversationId,
       parent_message_id: (isRegenerate ? parentAnswer?.id : getLastAnswer(chatList)?.id) || null,
     }
@@ -140,85 +90,59 @@
         isPublicAPI: !isInstalledApp,
       },
     )
-  }, [chatList, handleNewConversationCompleted, handleSend, currentConversationId, currentConversationInputs, newConversationInputs, isInstalledApp, appId])
+  }, [
+    chatList,
+    handleNewConversationCompleted,
+    handleSend,
+    currentConversationId,
+    currentConversationItem,
+    newConversationInputs,
+    isInstalledApp,
+    appId,
+  ])
 
-  const doRegenerate = useCallback((chatItem: ChatItemInTree, editedQuestion?: { message: string, files?: FileEntity[] }) => {
-    const question = editedQuestion ? chatItem : chatList.find(item => item.id === chatItem.parentMessageId)!
+  const doRegenerate = useCallback((chatItem: ChatItemInTree) => {
+    const question = chatList.find(item => item.id === chatItem.parentMessageId)!
     const parentAnswer = chatList.find(item => item.id === question.parentMessageId)
-    doSend(editedQuestion ? editedQuestion.message : question.content,
-      editedQuestion ? editedQuestion.files : question.message_files,
-      true,
-      isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null,
-    )
+    doSend(question.content, question.message_files, true, isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null)
   }, [chatList, doSend])
 
-  const messageList = useMemo(() => {
-    if (currentConversationId)
-      return chatList
-    return chatList.filter(item => !item.isOpeningStatement)
-  }, [chatList, currentConversationId])
-
-  const [collapsed, setCollapsed] = useState(!!currentConversationId)
-
   const chatNode = useMemo(() => {
-    if (!inputsForms.length)
-      return null
-    if (isMobile) {
-      if (!currentConversationId)
-        return <InputsForm collapsed={collapsed} setCollapsed={setCollapsed} />
-      return null
-    }
-    else {
-      return <InputsForm collapsed={collapsed} setCollapsed={setCollapsed} />
-    }
-  }, [inputsForms.length, isMobile, currentConversationId, collapsed])
-
-  const welcome = useMemo(() => {
-    const welcomeMessage = chatList.find(item => item.isOpeningStatement)
-    if (respondingState)
-      return null
-    if (currentConversationId)
-      return null
-    if (!welcomeMessage)
-      return null
-    if (!collapsed && inputsForms.length > 0)
-      return null
-    if (welcomeMessage.suggestedQuestions && welcomeMessage.suggestedQuestions?.length > 0) {
+    if (inputsForms.length) {
       return (
-        <div className='flex min-h-[50vh] items-center justify-center px-4 py-12'>
-          <div className='flex max-w-[720px] grow gap-4'>
-            <AppIcon
-              size='xl'
-              iconType={appData?.site.icon_type}
-              icon={appData?.site.icon}
-              background={appData?.site.icon_background}
-              imageUrl={appData?.site.icon_url}
-            />
-            <div className='w-0 grow'>
-              <div className='body-lg-regular grow rounded-2xl bg-chat-bubble-bg px-4 py-3 text-text-primary'>
-                <Markdown content={welcomeMessage.content} />
-                <SuggestedQuestions item={welcomeMessage} />
+        <>
+          <Header
+            isMobile={isMobile}
+            title={currentConversationItem?.name || ''}
+          />
+          {
+            !currentConversationId && (
+              <div className={`mx-auto w-full max-w-[720px] ${isMobile && 'px-4'}`}>
+                <div className='mb-6' />
+                <ConfigPanel />
+                <div
+                  className='my-6 h-[1px]'
+                  style={{ background: 'linear-gradient(90deg, rgba(242, 244, 247, 0.00) 0%, #F2F4F7 49.17%, rgba(242, 244, 247, 0.00) 100%)' }}
+                />
               </div>
-            </div>
-          </div>
-        </div>
+            )
+          }
+        </>
       )
     }
+
     return (
-      <div className={cn('flex h-[50vh] flex-col items-center justify-center gap-3 py-12')}>
-        <AppIcon
-          size='xl'
-          iconType={appData?.site.icon_type}
-          icon={appData?.site.icon}
-          background={appData?.site.icon_background}
-          imageUrl={appData?.site.icon_url}
-        />
-        <div className='max-w-[768px] px-4'>
-          <Markdown className='!body-2xl-regular !text-text-tertiary' content={welcomeMessage.content} />
-        </div>
-      </div>
+      <Header
+        isMobile={isMobile}
+        title={currentConversationItem?.name || ''}
+      />
     )
-  }, [appData?.site.icon, appData?.site.icon_background, appData?.site.icon_type, appData?.site.icon_url, chatList, collapsed, currentConversationId, inputsForms.length, respondingState])
+  }, [
+    currentConversationId,
+    inputsForms,
+    currentConversationItem,
+    isMobile,
+  ])
 
   const answerIcon = (appData?.site && appData.site.use_icon_as_answer_icon)
     ? <AnswerIcon
@@ -231,27 +155,22 @@
 
   return (
     <div
-      className='h-full overflow-hidden bg-chatbot-bg'
+      className='h-full bg-chatbot-bg overflow-hidden'
     >
       <Chat
         appData={appData}
         config={appConfig}
-        chatList={messageList}
-        isResponding={respondingState}
-        chatContainerInnerClassName={`mx-auto pt-6 w-full max-w-[768px] ${isMobile && 'px-4'}`}
+        chatList={chatList}
+        isResponding={isResponding}
+        chatContainerInnerClassName={`mx-auto pt-6 w-full max-w-[720px] ${isMobile && 'px-4'}`}
         chatFooterClassName='pb-4'
-        chatFooterInnerClassName={`mx-auto w-full max-w-[768px] ${isMobile ? 'px-2' : 'px-4'}`}
+        chatFooterInnerClassName={`mx-auto w-full max-w-[720px] ${isMobile && 'px-4'}`}
         onSend={doSend}
-        inputs={currentConversationId ? currentConversationInputs as any : newConversationInputs}
+        inputs={currentConversationId ? currentConversationItem?.inputs as any : newConversationInputs}
         inputsForm={inputsForms}
         onRegenerate={doRegenerate}
         onStopResponding={handleStop}
-        chatNode={
-          <>
-            {chatNode}
-            {welcome}
-          </>
-        }
+        chatNode={chatNode}
         allToolIcons={appMeta?.tool_icons || {}}
         onFeedback={handleFeedback}
         suggestedQuestions={suggestedQuestions}
@@ -259,9 +178,6 @@
         hideProcessDetail
         themeBuilder={themeBuilder}
         switchSibling={siblingMessageId => setTargetMessageId(siblingMessageId)}
-        inputDisabled={inputDisabled}
-        isMobile={isMobile}
-        sidebarCollapseState={sidebarCollapseState}
       />
     </div>
   )
diff --git a/app/components/base/chat/chat-with-history/config-panel/form-input.tsx b/app/components/base/chat/chat-with-history/config-panel/form-input.tsx
new file mode 100644
index 0000000..9be0ff3
--- /dev/null
+++ b/app/components/base/chat/chat-with-history/config-panel/form-input.tsx
@@ -0,0 +1,47 @@
+import type { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+import { memo } from 'react'
+import Textarea from '@/app/components/base/textarea'
+
+type InputProps = {
+  form: any
+  value: string
+  onChange: (variable: string, value: string) => void
+}
+const FormInput: FC<InputProps> = ({
+  form,
+  value,
+  onChange,
+}) => {
+  const { t } = useTranslation()
+  const {
+    type,
+    label,
+    required,
+    max_length,
+    variable,
+  } = form
+
+  if (type === 'paragraph') {
+    return (
+      <Textarea
+        value={value}
+        className='resize-none'
+        onChange={e => onChange(variable, e.target.value)}
+        placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+      />
+    )
+  }
+
+  return (
+    <input
+      className='grow h-9 rounded-lg bg-gray-100 px-2.5 outline-none appearance-none'
+      value={value || ''}
+      maxLength={max_length}
+      onChange={e => onChange(variable, e.target.value)}
+      placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+    />
+  )
+}
+
+export default memo(FormInput)
diff --git a/app/components/base/chat/chat-with-history/config-panel/form.tsx b/app/components/base/chat/chat-with-history/config-panel/form.tsx
new file mode 100644
index 0000000..1292eda
--- /dev/null
+++ b/app/components/base/chat/chat-with-history/config-panel/form.tsx
@@ -0,0 +1,117 @@
+import { useCallback } from 'react'
+import { useTranslation } from 'react-i18next'
+import { useChatWithHistoryContext } from '../context'
+import Input from './form-input'
+import { PortalSelect } from '@/app/components/base/select'
+import { InputVarType } from '@/app/components/workflow/types'
+import { FileUploaderInAttachmentWrapper } from '@/app/components/base/file-uploader'
+
+const Form = () => {
+  const { t } = useTranslation()
+  const {
+    appParams,
+    inputsForms,
+    newConversationInputs,
+    newConversationInputsRef,
+    handleNewConversationInputsChange,
+    isMobile,
+  } = useChatWithHistoryContext()
+
+  const handleFormChange = useCallback((variable: string, value: any) => {
+    handleNewConversationInputsChange({
+      ...newConversationInputsRef.current,
+      [variable]: value,
+    })
+  }, [newConversationInputsRef, handleNewConversationInputsChange])
+
+  const renderField = (form: any) => {
+    const {
+      label,
+      required,
+      variable,
+      options,
+    } = form
+
+    if (form.type === 'text-input' || form.type === 'paragraph') {
+      return (
+        <Input
+          form={form}
+          value={newConversationInputs[variable]}
+          onChange={handleFormChange}
+        />
+      )
+    }
+    if (form.type === 'number') {
+      return (
+        <input
+          className="grow h-9 rounded-lg bg-gray-100 px-2.5 outline-none appearance-none"
+          type="number"
+          value={newConversationInputs[variable] || ''}
+          onChange={e => handleFormChange(variable, e.target.value)}
+          placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+        />
+      )
+    }
+    if (form.type === InputVarType.singleFile) {
+      return (
+        <FileUploaderInAttachmentWrapper
+          value={newConversationInputs[variable] ? [newConversationInputs[variable]] : []}
+          onChange={files => handleFormChange(variable, files[0])}
+          fileConfig={{
+            allowed_file_types: form.allowed_file_types,
+            allowed_file_extensions: form.allowed_file_extensions,
+            allowed_file_upload_methods: form.allowed_file_upload_methods,
+            number_limits: 1,
+            fileUploadConfig: (appParams as any).system_parameters,
+          }}
+        />
+      )
+    }
+    if (form.type === InputVarType.multiFiles) {
+      return (
+        <FileUploaderInAttachmentWrapper
+          value={newConversationInputs[variable]}
+          onChange={files => handleFormChange(variable, files)}
+          fileConfig={{
+            allowed_file_types: form.allowed_file_types,
+            allowed_file_extensions: form.allowed_file_extensions,
+            allowed_file_upload_methods: form.allowed_file_upload_methods,
+            number_limits: form.max_length,
+            fileUploadConfig: (appParams as any).system_parameters,
+          }}
+        />
+      )
+    }
+
+    return (
+      <PortalSelect
+        popupClassName='w-[200px]'
+        value={newConversationInputs[variable]}
+        items={options.map((option: string) => ({ value: option, name: option }))}
+        onSelect={item => handleFormChange(variable, item.value as string)}
+        placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+      />
+    )
+  }
+
+  if (!inputsForms.length)
+    return null
+
+  return (
+    <div className='mb-4 py-2'>
+      {
+        inputsForms.map(form => (
+          <div
+            key={form.variable}
+            className={`flex mb-3 last-of-type:mb-0 text-sm text-gray-900 ${isMobile && '!flex-wrap'}`}
+          >
+            <div className={`shrink-0 mr-2 py-2 w-[128px] ${isMobile && '!w-full'}`}>{form.label}</div>
+            {renderField(form)}
+          </div>
+        ))
+      }
+    </div>
+  )
+}
+
+export default Form
diff --git a/app/components/base/chat/chat-with-history/config-panel/index.tsx b/app/components/base/chat/chat-with-history/config-panel/index.tsx
new file mode 100644
index 0000000..c864a39
--- /dev/null
+++ b/app/components/base/chat/chat-with-history/config-panel/index.tsx
@@ -0,0 +1,172 @@
+import { useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { useChatWithHistoryContext } from '../context'
+import Form from './form'
+import Button from '@/app/components/base/button'
+import AppIcon from '@/app/components/base/app-icon'
+import { MessageDotsCircle } from '@/app/components/base/icons/src/vender/solid/communication'
+import { Edit02 } from '@/app/components/base/icons/src/vender/line/general'
+import { Star06 } from '@/app/components/base/icons/src/vender/solid/shapes'
+import LogoSite from '@/app/components/base/logo/logo-site'
+
+const ConfigPanel = () => {
+  const { t } = useTranslation()
+  const {
+    appData,
+    inputsForms,
+    handleStartChat,
+    showConfigPanelBeforeChat,
+    isMobile,
+  } = useChatWithHistoryContext()
+  const [collapsed, setCollapsed] = useState(true)
+  const customConfig = appData?.custom_config
+  const site = appData?.site
+
+  return (
+    <div className='flex flex-col max-h-[80%] w-full max-w-[720px]'>
+      <div
+        className={`
+          grow rounded-xl overflow-y-auto
+          ${showConfigPanelBeforeChat && 'border-[0.5px] border-gray-100 shadow-lg'}
+          ${!showConfigPanelBeforeChat && collapsed && 'border border-indigo-100'}
+          ${!showConfigPanelBeforeChat && !collapsed && 'border-[0.5px] border-gray-100 shadow-lg'}
+        `}
+      >
+        <div
+          className={`
+            flex flex-wrap px-6 py-4 rounded-t-xl bg-indigo-25
+            ${isMobile && '!px-4 !py-3'}
+          `}
+        >
+          {
+            showConfigPanelBeforeChat && (
+              <>
+                <div className='flex items-center h-8 text-2xl font-semibold text-gray-800'>
+                  <AppIcon
+                    iconType={appData?.site.icon_type}
+                    icon={appData?.site.icon}
+                    background='transparent'
+                    imageUrl={appData?.site.icon_url}
+                    size='small'
+                    className="mr-2"
+                  />
+                  {appData?.site.title}
+                </div>
+                {
+                  appData?.site.description && (
+                    <div className='mt-2 w-full text-sm text-gray-500'>
+                      {appData?.site.description}
+                    </div>
+                  )
+                }
+              </>
+            )
+          }
+          {
+            !showConfigPanelBeforeChat && collapsed && (
+              <>
+                <Star06 className='mr-1 mt-1 w-4 h-4 text-indigo-600' />
+                <div className='grow py-[3px] text-[13px] text-indigo-600 leading-[18px] font-medium'>
+                  {t('share.chat.configStatusDes')}
+                </div>
+                <Button
+                  variant='secondary-accent'
+                  size='small'
+                  className='shrink-0'
+                  onClick={() => setCollapsed(false)}
+                >
+                  <Edit02 className='mr-1 w-3 h-3' />
+                  {t('common.operation.edit')}
+                </Button>
+              </>
+            )
+          }
+          {
+            !showConfigPanelBeforeChat && !collapsed && (
+              <>
+                <Star06 className='mr-1 mt-1 w-4 h-4 text-indigo-600' />
+                <div className='grow py-[3px] text-[13px] text-indigo-600 leading-[18px] font-medium'>
+                  {t('share.chat.privatePromptConfigTitle')}
+                </div>
+              </>
+            )
+          }
+        </div>
+        {
+          !collapsed && !showConfigPanelBeforeChat && (
+            <div className='p-6 rounded-b-xl'>
+              <Form />
+              <div className={`pl-[136px] flex items-center ${isMobile && '!pl-0'}`}>
+                <Button
+                  variant='primary'
+                  className='mr-2'
+                  onClick={() => {
+                    setCollapsed(true)
+                    handleStartChat()
+                  }}
+                >
+                  {t('common.operation.save')}
+                </Button>
+                <Button
+                  onClick={() => setCollapsed(true)}
+                >
+                  {t('common.operation.cancel')}
+                </Button>
+              </div>
+            </div>
+          )
+        }
+        {
+          showConfigPanelBeforeChat && (
+            <div className='p-6 rounded-b-xl'>
+              <Form />
+              <Button
+                className={`${inputsForms.length && !isMobile && 'ml-[136px]'}`}
+                variant='primary'
+                size='large'
+                onClick={handleStartChat}
+              >
+                <MessageDotsCircle className='mr-2 w-4 h-4 text-white' />
+                {t('share.chat.startChat')}
+              </Button>
+            </div>
+          )
+        }
+      </div>
+      {
+        showConfigPanelBeforeChat && (site || customConfig) && (
+          <div className='mt-4 flex flex-wrap justify-between items-center py-2 text-xs text-gray-400'>
+            {site?.privacy_policy
+              ? <div className={`flex items-center ${isMobile && 'w-full justify-end'}`}>{t('share.chat.privacyPolicyLeft')}
+                <a
+                  className='text-gray-500 px-1'
+                  href={site?.privacy_policy}
+                  target='_blank' rel='noopener noreferrer'>{t('share.chat.privacyPolicyMiddle')}</a>
+                {t('share.chat.privacyPolicyRight')}
+              </div>
+              : <div>
+              </div>}
+            {
+              customConfig?.remove_webapp_brand
+                ? null
+                : (
+                  <div className={`flex items-center justify-end ${isMobile && 'w-full'}`}>
+                    <div className='flex items-center pr-3 space-x-3'>
+                      <span className='uppercase'>{t('share.chat.poweredBy')}</span>
+                      {
+                        customConfig?.replace_webapp_logo
+                          ? <img src={customConfig?.replace_webapp_logo} alt='logo' className='block w-auto h-5' />
+                          : <LogoSite className='!h-5' />
+                      }
+                    </div>
+                  </div>
+                )
+            }
+          </div>
+        )
+      }
+    </div>
+  )
+}
+
+export default ConfigPanel
diff --git a/app/components/base/chat/chat-with-history/context.tsx b/app/components/base/chat/chat-with-history/context.tsx
index 7dd7a78..4b5817c 100644
--- a/app/components/base/chat/chat-with-history/context.tsx
+++ b/app/components/base/chat/chat-with-history/context.tsx
@@ -15,7 +15,6 @@
   AppMeta,
   ConversationItem,
 } from '@/models/share'
-import { noop } from 'lodash-es'
 
 export type ChatWithHistoryContextValue = {
   appInfoError?: any
@@ -29,12 +28,13 @@
   appPrevChatTree: ChatItemInTree[]
   pinnedConversationList: AppConversationData['data']
   conversationList: AppConversationData['data']
+  showConfigPanelBeforeChat: boolean
   newConversationInputs: Record<string, any>
   newConversationInputsRef: RefObject<Record<string, any>>
   handleNewConversationInputsChange: (v: Record<string, any>) => void
   inputsForms: any[]
   handleNewConversation: () => void
-  handleStartChat: (callback?: any) => void
+  handleStartChat: () => void
   handleChangeConversation: (conversationId: string) => void
   handlePinConversation: (conversationId: string) => void
   handleUnpinConversation: (conversationId: string) => void
@@ -49,14 +49,6 @@
   handleFeedback: (messageId: string, feedback: Feedback) => void
   currentChatInstanceRef: RefObject<{ handleStop: () => void }>
   themeBuilder?: ThemeBuilder
-  sidebarCollapseState?: boolean
-  handleSidebarCollapse: (state: boolean) => void
-  clearChatList?: boolean
-  setClearChatList: (state: boolean) => void
-  isResponding?: boolean
-  setIsResponding: (state: boolean) => void,
-  currentConversationInputs: Record<string, any> | null,
-  setCurrentConversationInputs: (v: Record<string, any>) => void,
 }
 
 export const ChatWithHistoryContext = createContext<ChatWithHistoryContextValue>({
@@ -64,31 +56,24 @@
   appPrevChatTree: [],
   pinnedConversationList: [],
   conversationList: [],
+  showConfigPanelBeforeChat: false,
   newConversationInputs: {},
   newConversationInputsRef: { current: {} },
-  handleNewConversationInputsChange: noop,
+  handleNewConversationInputsChange: () => {},
   inputsForms: [],
-  handleNewConversation: noop,
-  handleStartChat: noop,
-  handleChangeConversation: noop,
-  handlePinConversation: noop,
-  handleUnpinConversation: noop,
-  handleDeleteConversation: noop,
+  handleNewConversation: () => {},
+  handleStartChat: () => {},
+  handleChangeConversation: () => {},
+  handlePinConversation: () => {},
+  handleUnpinConversation: () => {},
+  handleDeleteConversation: () => {},
   conversationRenaming: false,
-  handleRenameConversation: noop,
-  handleNewConversationCompleted: noop,
+  handleRenameConversation: () => {},
+  handleNewConversationCompleted: () => {},
   chatShouldReloadKey: '',
   isMobile: false,
   isInstalledApp: false,
-  handleFeedback: noop,
-  currentChatInstanceRef: { current: { handleStop: noop } },
-  sidebarCollapseState: false,
-  handleSidebarCollapse: noop,
-  clearChatList: false,
-  setClearChatList: noop,
-  isResponding: false,
-  setIsResponding: noop,
-  currentConversationInputs: {},
-  setCurrentConversationInputs: noop,
+  handleFeedback: () => {},
+  currentChatInstanceRef: { current: { handleStop: () => {} } },
 })
 export const useChatWithHistoryContext = () => useContext(ChatWithHistoryContext)
diff --git a/app/components/base/chat/chat-with-history/header-in-mobile.tsx b/app/components/base/chat/chat-with-history/header-in-mobile.tsx
index ec8da7b..4178940 100644
--- a/app/components/base/chat/chat-with-history/header-in-mobile.tsx
+++ b/app/components/base/chat/chat-with-history/header-in-mobile.tsx
@@ -1,150 +1,60 @@
-import { useCallback, useState } from 'react'
-import { useTranslation } from 'react-i18next'
-import {
-  RiMenuLine,
-} from '@remixicon/react'
+import { useState } from 'react'
 import { useChatWithHistoryContext } from './context'
-import Operation from './header/operation'
 import Sidebar from './sidebar'
-import MobileOperationDropdown from './header/mobile-operation-dropdown'
 import AppIcon from '@/app/components/base/app-icon'
-import ActionButton from '@/app/components/base/action-button'
-import { Message3Fill } from '@/app/components/base/icons/src/public/other'
-import InputsFormContent from '@/app/components/base/chat/chat-with-history/inputs-form/content'
-import Confirm from '@/app/components/base/confirm'
-import RenameModal from '@/app/components/base/chat/chat-with-history/sidebar/rename-modal'
-import type { ConversationItem } from '@/models/share'
+import {
+  Edit05,
+  Menu01,
+} from '@/app/components/base/icons/src/vender/line/general'
 
 const HeaderInMobile = () => {
   const {
     appData,
-    currentConversationId,
-    currentConversationItem,
-    pinnedConversationList,
     handleNewConversation,
-    handlePinConversation,
-    handleUnpinConversation,
-    handleDeleteConversation,
-    handleRenameConversation,
-    conversationRenaming,
-    inputsForms,
   } = useChatWithHistoryContext()
-  const { t } = useTranslation()
-  const isPin = pinnedConversationList.some(item => item.id === currentConversationId)
-  const [showConfirm, setShowConfirm] = useState<ConversationItem | null>(null)
-  const [showRename, setShowRename] = useState<ConversationItem | null>(null)
-  const handleOperate = useCallback((type: string) => {
-    if (type === 'pin')
-      handlePinConversation(currentConversationId)
-
-    if (type === 'unpin')
-      handleUnpinConversation(currentConversationId)
-
-    if (type === 'delete')
-      setShowConfirm(currentConversationItem as any)
-
-    if (type === 'rename')
-      setShowRename(currentConversationItem as any)
-  }, [currentConversationId, currentConversationItem, handlePinConversation, handleUnpinConversation])
-  const handleCancelConfirm = useCallback(() => {
-    setShowConfirm(null)
-  }, [])
-  const handleDelete = useCallback(() => {
-    if (showConfirm)
-      handleDeleteConversation(showConfirm.id, { onSuccess: handleCancelConfirm })
-  }, [showConfirm, handleDeleteConversation, handleCancelConfirm])
-  const handleCancelRename = useCallback(() => {
-    setShowRename(null)
-  }, [])
-  const handleRename = useCallback((newName: string) => {
-    if (showRename)
-      handleRenameConversation(showRename.id, newName, { onSuccess: handleCancelRename })
-  }, [showRename, handleRenameConversation, handleCancelRename])
   const [showSidebar, setShowSidebar] = useState(false)
-  const [showChatSettings, setShowChatSettings] = useState(false)
 
   return (
     <>
-      <div className='flex shrink-0 items-center gap-1 bg-mask-top2bottom-gray-50-to-transparent px-2 py-3'>
-        <ActionButton size='l' className='shrink-0' onClick={() => setShowSidebar(true)}>
-          <RiMenuLine className='h-[18px] w-[18px]' />
-        </ActionButton>
-        <div className='flex grow items-center justify-center'>
-          {!currentConversationId && (
-            <>
-              <AppIcon
-                className='mr-2'
-                size='tiny'
-                icon={appData?.site.icon}
-                iconType={appData?.site.icon_type}
-                imageUrl={appData?.site.icon_url}
-                background={appData?.site.icon_background}
-              />
-              <div className='system-md-semibold truncate text-text-secondary'>
-                {appData?.site.title}
-              </div>
-            </>
-          )}
-          {currentConversationId && (
-            <Operation
-              title={currentConversationItem?.name || ''}
-              isPinned={!!isPin}
-              togglePin={() => handleOperate(isPin ? 'unpin' : 'pin')}
-              isShowDelete
-              isShowRenameConversation
-              onRenameConversation={() => handleOperate('rename')}
-              onDelete={() => handleOperate('delete')}
-            />
-          )}
+      <div className='shrink-0 flex items-center px-3 h-[44px] border-b-[0.5px] border-b-gray-200'>
+        <div
+          className='shrink-0 flex items-center justify-center w-8 h-8 rounded-lg'
+          onClick={() => setShowSidebar(true)}
+        >
+          <Menu01 className='w-4 h-4 text-gray-700' />
         </div>
-        <MobileOperationDropdown
-          handleResetChat={handleNewConversation}
-          handleViewChatSettings={() => setShowChatSettings(true)}
-          hideViewChatSettings={inputsForms.length < 1}
-        />
+        <div className='grow flex justify-center items-center px-3'>
+          <AppIcon
+            className='mr-2'
+            size='tiny'
+            icon={appData?.site.icon}
+            iconType={appData?.site.icon_type}
+            imageUrl={appData?.site.icon_url}
+            background={appData?.site.icon_background}
+          />
+          <div className='py-1 text-base font-semibold text-gray-800 truncate'>
+            {appData?.site.title}
+          </div>
+        </div>
+        <div
+          className='shrink-0 flex items-center justify-center w-8 h-8 rounded-lg'
+          onClick={handleNewConversation}
+        >
+          <Edit05 className='w-4 h-4 text-gray-700' />
+        </div>
       </div>
-      {showSidebar && (
-        <div className='fixed inset-0 z-50 flex bg-background-overlay p-1'
-          onClick={() => setShowSidebar(false)}
-        >
-          <div className='flex h-full w-[calc(100vw_-_40px)] rounded-xl bg-components-panel-bg shadow-lg backdrop-blur-sm' onClick={e => e.stopPropagation()}>
-            <Sidebar />
-          </div>
-        </div>
-      )}
-      {showChatSettings && (
-        <div className='fixed inset-0 z-50 flex justify-end bg-background-overlay p-1'
-          onClick={() => setShowChatSettings(false)}
-        >
-          <div className='flex h-full w-[calc(100vw_-_40px)] flex-col rounded-xl bg-components-panel-bg shadow-lg backdrop-blur-sm' onClick={e => e.stopPropagation()}>
-            <div className='flex items-center gap-3 rounded-t-2xl border-b border-divider-subtle px-4 py-3'>
-              <Message3Fill className='h-6 w-6 shrink-0' />
-              <div className='system-xl-semibold grow text-text-secondary'>{t('share.chat.chatSettingsTitle')}</div>
-            </div>
-            <div className='p-4'>
-              <InputsFormContent />
+      {
+        showSidebar && (
+          <div className='fixed inset-0 z-50'
+            style={{ backgroundColor: 'rgba(35, 56, 118, 0.2)' }}
+            onClick={() => setShowSidebar(false)}
+          >
+            <div className='inline-block h-full bg-white' onClick={e => e.stopPropagation()}>
+              <Sidebar />
             </div>
           </div>
-        </div>
-      )}
-      {!!showConfirm && (
-        <Confirm
-          title={t('share.chat.deleteConversation.title')}
-          content={t('share.chat.deleteConversation.content') || ''}
-          isShow
-          onCancel={handleCancelConfirm}
-          onConfirm={handleDelete}
-        />
-      )}
-      {showRename && (
-        <RenameModal
-          isShow
-          onClose={handleCancelRename}
-          saveLoading={conversationRenaming}
-          name={showRename?.name || ''}
-          onSave={handleRename}
-        />
-      )}
+        )
+      }
     </>
   )
 }
diff --git a/app/components/base/chat/chat-with-history/header.tsx b/app/components/base/chat/chat-with-history/header.tsx
new file mode 100644
index 0000000..d269b97
--- /dev/null
+++ b/app/components/base/chat/chat-with-history/header.tsx
@@ -0,0 +1,25 @@
+import type { FC } from 'react'
+import { memo } from 'react'
+
+type HeaderProps = {
+  title: string
+  isMobile: boolean
+}
+const Header: FC<HeaderProps> = ({
+  title,
+  isMobile,
+}) => {
+  return (
+    <div
+      className={`
+      sticky top-0 flex items-center px-8 h-16 bg-white/80 text-base font-medium 
+      text-gray-900 border-b-[0.5px] border-b-gray-100 backdrop-blur-md z-10
+      ${isMobile && '!h-12'}
+      `}
+    >
+      {title}
+    </div>
+  )
+}
+
+export default memo(Header)
diff --git a/app/components/base/chat/chat-with-history/hooks.tsx b/app/components/base/chat/chat-with-history/hooks.tsx
index 91ceaff..64dbb13 100644
--- a/app/components/base/chat/chat-with-history/hooks.tsx
+++ b/app/components/base/chat/chat-with-history/hooks.tsx
@@ -16,7 +16,7 @@
   Feedback,
 } from '../types'
 import { CONVERSATION_ID_INFO } from '../constants'
-import { buildChatItemTree, getProcessedSystemVariablesFromUrlParams } from '../utils'
+import { buildChatItemTree } from '../utils'
 import { addFileInfos, sortAgentSorts } from '../../../tools/utils'
 import { getProcessedFilesFromResponse } from '@/app/components/base/file-uploader/utils'
 import {
@@ -42,7 +42,6 @@
 import { useAppFavicon } from '@/hooks/use-app-favicon'
 import { InputVarType } from '@/app/components/workflow/types'
 import { TransferMethod } from '@/types/app'
-import { noop } from 'lodash-es'
 
 function getFormattedChatList(messages: any[]) {
   const newChatList: ChatItem[] = []
@@ -52,7 +51,7 @@
       id: `question-${item.id}`,
       content: item.query,
       isAnswer: false,
-      message_files: getProcessedFilesFromResponse(questionFiles.map((item: any) => ({ ...item, related_id: item.id, upload_file_id: item.upload_file_id }))),
+      message_files: getProcessedFilesFromResponse(questionFiles.map((item: any) => ({ ...item, related_id: item.id }))),
       parentMessageId: item.parent_message_id || undefined,
     })
     const answerFiles = item.message_files?.filter((file: any) => file.belongs_to === 'assistant') || []
@@ -63,7 +62,7 @@
       feedback: item.feedback,
       isAnswer: true,
       citation: item.retriever_resources,
-      message_files: getProcessedFilesFromResponse(answerFiles.map((item: any) => ({ ...item, related_id: item.id, upload_file_id: item.upload_file_id }))),
+      message_files: getProcessedFilesFromResponse(answerFiles.map((item: any) => ({ ...item, related_id: item.id }))),
       parentMessageId: `question-${item.id}`,
     })
   })
@@ -106,49 +105,24 @@
   }, [isInstalledApp, installedAppInfo, appInfo])
   const appId = useMemo(() => appData?.app_id, [appData])
 
-  const [userId, setUserId] = useState<string>()
-  useEffect(() => {
-    getProcessedSystemVariablesFromUrlParams().then(({ user_id }) => {
-      setUserId(user_id)
-    })
-  }, [])
-
   useEffect(() => {
     if (appData?.site.default_language)
       changeLanguage(appData.site.default_language)
   }, [appData])
 
-  const [sidebarCollapseState, setSidebarCollapseState] = useState<boolean>(false)
-  const handleSidebarCollapse = useCallback((state: boolean) => {
-    if (appId) {
-      setSidebarCollapseState(state)
-      localStorage.setItem('webappSidebarCollapse', state ? 'collapsed' : 'expanded')
-    }
-  }, [appId, setSidebarCollapseState])
-  useEffect(() => {
-    if (appId) {
-      const localState = localStorage.getItem('webappSidebarCollapse')
-      setSidebarCollapseState(localState === 'collapsed')
-    }
-  }, [appId])
-  const [conversationIdInfo, setConversationIdInfo] = useLocalStorageState<Record<string, Record<string, string>>>(CONVERSATION_ID_INFO, {
+  const [conversationIdInfo, setConversationIdInfo] = useLocalStorageState<Record<string, string>>(CONVERSATION_ID_INFO, {
     defaultValue: {},
   })
-  const currentConversationId = useMemo(() => conversationIdInfo?.[appId || '']?.[userId || 'DEFAULT'] || '', [appId, conversationIdInfo, userId])
+  const currentConversationId = useMemo(() => conversationIdInfo?.[appId || ''] || '', [appId, conversationIdInfo])
   const handleConversationIdInfoChange = useCallback((changeConversationId: string) => {
     if (appId) {
-      let prevValue = conversationIdInfo?.[appId || '']
-      if (typeof prevValue === 'string')
-        prevValue = {}
       setConversationIdInfo({
         ...conversationIdInfo,
-        [appId || '']: {
-          ...prevValue,
-          [userId || 'DEFAULT']: changeConversationId,
-        },
+        [appId || '']: changeConversationId,
       })
     }
-  }, [appId, conversationIdInfo, setConversationIdInfo, userId])
+  }, [appId, conversationIdInfo, setConversationIdInfo])
+  const [showConfigPanelBeforeChat, setShowConfigPanelBeforeChat] = useState(true)
 
   const [newConversationId, setNewConversationId] = useState('')
   const chatShouldReloadKey = useMemo(() => {
@@ -164,8 +138,6 @@
   const { data: appConversationData, isLoading: appConversationDataLoading, mutate: mutateAppConversationData } = useSWR(['appConversationData', isInstalledApp, appId, false], () => fetchConversations(isInstalledApp, appId, undefined, false, 100))
   const { data: appChatListData, isLoading: appChatListDataLoading } = useSWR(chatShouldReloadKey ? ['appChatList', chatShouldReloadKey, isInstalledApp, appId] : null, () => fetchChatList(chatShouldReloadKey, isInstalledApp, appId))
 
-  const [clearChatList, setClearChatList] = useState(false)
-  const [isResponding, setIsResponding] = useState(false)
   const appPrevChatTree = useMemo(
     () => (currentConversationId && appChatListData?.data.length)
       ? buildChatItemTree(getFormattedChatList(appChatListData.data))
@@ -277,17 +249,6 @@
     return conversationItem
   }, [conversationList, currentConversationId, pinnedConversationList])
 
-  const currentConversationLatestInputs = useMemo(() => {
-    if (!currentConversationId || !appChatListData?.data.length)
-      return newConversationInputsRef.current || {}
-    return appChatListData.data.slice().pop().inputs || {}
-  }, [appChatListData, currentConversationId])
-  const [currentConversationInputs, setCurrentConversationInputs] = useState<Record<string, any>>(currentConversationLatestInputs || {})
-  useEffect(() => {
-    if (currentConversationItem)
-      setCurrentConversationInputs(currentConversationLatestInputs || {})
-  }, [currentConversationItem, currentConversationLatestInputs])
-
   const { notify } = useToastContext()
   const checkInputsRequired = useCallback((silent?: boolean) => {
     let hasEmptyInput = ''
@@ -326,27 +287,37 @@
 
     return true
   }, [inputsForms, notify, t])
-  const handleStartChat = useCallback((callback: any) => {
+  const handleStartChat = useCallback(() => {
     if (checkInputsRequired()) {
+      setShowConfigPanelBeforeChat(false)
       setShowNewConversationItemInList(true)
-      callback?.()
     }
-  }, [setShowNewConversationItemInList, checkInputsRequired])
-  const currentChatInstanceRef = useRef<{ handleStop: () => void }>({ handleStop: noop })
+  }, [setShowConfigPanelBeforeChat, setShowNewConversationItemInList, checkInputsRequired])
+  const currentChatInstanceRef = useRef<{ handleStop: () => void }>({ handleStop: () => { } })
   const handleChangeConversation = useCallback((conversationId: string) => {
     currentChatInstanceRef.current.handleStop()
     setNewConversationId('')
     handleConversationIdInfoChange(conversationId)
-    if (conversationId)
-      setClearChatList(false)
-  }, [handleConversationIdInfoChange, setClearChatList])
+
+    if (conversationId === '' && !checkInputsRequired(true))
+      setShowConfigPanelBeforeChat(true)
+    else
+      setShowConfigPanelBeforeChat(false)
+  }, [handleConversationIdInfoChange, setShowConfigPanelBeforeChat, checkInputsRequired])
   const handleNewConversation = useCallback(() => {
     currentChatInstanceRef.current.handleStop()
-    setShowNewConversationItemInList(true)
-    handleChangeConversation('')
-    handleNewConversationInputsChange({})
-    setClearChatList(true)
-  }, [handleChangeConversation, setShowNewConversationItemInList, handleNewConversationInputsChange, setClearChatList])
+    setNewConversationId('')
+
+    if (showNewConversationItemInList) {
+      handleChangeConversation('')
+    }
+    else if (currentConversationId) {
+      handleConversationIdInfoChange('')
+      setShowConfigPanelBeforeChat(true)
+      setShowNewConversationItemInList(true)
+      handleNewConversationInputsChange({})
+    }
+  }, [handleChangeConversation, currentConversationId, handleConversationIdInfoChange, setShowConfigPanelBeforeChat, setShowNewConversationItemInList, showNewConversationItemInList, handleNewConversationInputsChange])
   const handleUpdateConversationList = useCallback(() => {
     mutateAppConversationData()
     mutateAppPinnedConversationData()
@@ -464,6 +435,8 @@
     appPrevChatTree,
     pinnedConversationList,
     conversationList,
+    showConfigPanelBeforeChat,
+    setShowConfigPanelBeforeChat,
     setShowNewConversationItemInList,
     newConversationInputs,
     newConversationInputsRef,
@@ -483,13 +456,5 @@
     chatShouldReloadKey,
     handleFeedback,
     currentChatInstanceRef,
-    sidebarCollapseState,
-    handleSidebarCollapse,
-    clearChatList,
-    setClearChatList,
-    isResponding,
-    setIsResponding,
-    currentConversationInputs,
-    setCurrentConversationInputs,
   }
 }
diff --git a/app/components/base/chat/chat-with-history/index.tsx b/app/components/base/chat/chat-with-history/index.tsx
index dfd7bd2..7282dd4 100644
--- a/app/components/base/chat/chat-with-history/index.tsx
+++ b/app/components/base/chat/chat-with-history/index.tsx
@@ -11,15 +11,14 @@
 } from './context'
 import { useChatWithHistory } from './hooks'
 import Sidebar from './sidebar'
-import Header from './header'
 import HeaderInMobile from './header-in-mobile'
+import ConfigPanel from './config-panel'
 import ChatWrapper from './chat-wrapper'
 import type { InstalledApp } from '@/models/explore'
 import Loading from '@/app/components/base/loading'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import { checkOrSetAccessToken } from '@/app/components/share/utils'
 import AppUnavailable from '@/app/components/base/app-unavailable'
-import cn from '@/utils/classnames'
 
 type ChatWithHistoryProps = {
   className?: string
@@ -31,17 +30,17 @@
     appInfoError,
     appData,
     appInfoLoading,
+    appPrevChatTree,
+    showConfigPanelBeforeChat,
     appChatListDataLoading,
     chatShouldReloadKey,
     isMobile,
     themeBuilder,
-    sidebarCollapseState,
   } = useChatWithHistoryContext()
-  const isSidebarCollapsed = sidebarCollapseState
+
+  const chatReady = (!showConfigPanelBeforeChat || !!appPrevChatTree.length)
   const customConfig = appData?.custom_config
   const site = appData?.site
-
-  const [showSidePanel, setShowSidePanel] = useState(false)
 
   useEffect(() => {
     themeBuilder?.buildTheme(site?.chat_color_theme, site?.chat_color_theme_inverted)
@@ -66,44 +65,35 @@
   }
 
   return (
-    <div className={cn(
-      'flex h-full bg-background-default-burn',
-      isMobile && 'flex-col',
-      className,
-    )}>
-      {!isMobile && (
-        <div className={cn(
-          'flex w-[236px] flex-col p-1 pr-0 transition-all duration-200 ease-in-out',
-          isSidebarCollapsed && 'w-0 overflow-hidden !p-0',
-        )}>
+    <div className={`h-full flex bg-white ${className} ${isMobile && 'flex-col'}`}>
+      {
+        !isMobile && (
           <Sidebar />
-        </div>
-      )}
-      {isMobile && (
-        <HeaderInMobile />
-      )}
-      <div className={cn('relative grow p-2', isMobile && 'h-[calc(100%_-_56px)] p-0')}>
-        {isSidebarCollapsed && (
-          <div
-            className={cn(
-              'absolute top-0 z-20 flex h-full w-[256px] flex-col p-2 transition-all duration-500 ease-in-out',
-              showSidePanel ? 'left-0' : 'left-[-248px]',
-            )}
-            onMouseEnter={() => setShowSidePanel(true)}
-            onMouseLeave={() => setShowSidePanel(false)}
-          >
-            <Sidebar isPanel />
-          </div>
-        )}
-        <div className={cn('flex h-full flex-col overflow-hidden border-[0,5px] border-components-panel-border-subtle bg-chatbot-bg', isMobile ? 'rounded-t-2xl' : 'rounded-2xl')}>
-          {!isMobile && <Header />}
-          {appChatListDataLoading && (
+        )
+      }
+      {
+        isMobile && (
+          <HeaderInMobile />
+        )
+      }
+      <div className={`grow overflow-hidden ${showConfigPanelBeforeChat && !appPrevChatTree.length && 'flex items-center justify-center'}`}>
+        {
+          showConfigPanelBeforeChat && !appChatListDataLoading && !appPrevChatTree.length && (
+            <div className={`flex w-full items-center justify-center h-full ${isMobile && 'px-4'}`}>
+              <ConfigPanel />
+            </div>
+          )
+        }
+        {
+          appChatListDataLoading && chatReady && (
             <Loading type='app' />
-          )}
-          {!appChatListDataLoading && (
+          )
+        }
+        {
+          chatReady && !appChatListDataLoading && (
             <ChatWrapper key={chatShouldReloadKey} />
-          )}
-        </div>
+          )
+        }
       </div>
     </div>
   )
@@ -133,6 +123,7 @@
     appPrevChatTree,
     pinnedConversationList,
     conversationList,
+    showConfigPanelBeforeChat,
     newConversationInputs,
     newConversationInputsRef,
     handleNewConversationInputsChange,
@@ -151,14 +142,6 @@
     appId,
     handleFeedback,
     currentChatInstanceRef,
-    sidebarCollapseState,
-    handleSidebarCollapse,
-    clearChatList,
-    setClearChatList,
-    isResponding,
-    setIsResponding,
-    currentConversationInputs,
-    setCurrentConversationInputs,
   } = useChatWithHistory(installedAppInfo)
 
   return (
@@ -174,6 +157,7 @@
       appPrevChatTree,
       pinnedConversationList,
       conversationList,
+      showConfigPanelBeforeChat,
       newConversationInputs,
       newConversationInputsRef,
       handleNewConversationInputsChange,
@@ -194,14 +178,6 @@
       handleFeedback,
       currentChatInstanceRef,
       themeBuilder,
-      sidebarCollapseState,
-      handleSidebarCollapse,
-      clearChatList,
-      setClearChatList,
-      isResponding,
-      setIsResponding,
-      currentConversationInputs,
-      setCurrentConversationInputs,
     }}>
       <ChatWithHistory className={className} />
     </ChatWithHistoryContext.Provider>
diff --git a/app/components/base/chat/chat-with-history/sidebar/index.tsx b/app/components/base/chat/chat-with-history/sidebar/index.tsx
index dc4e864..69716f9 100644
--- a/app/components/base/chat/chat-with-history/sidebar/index.tsx
+++ b/app/components/base/chat/chat-with-history/sidebar/index.tsx
@@ -3,34 +3,22 @@
   useState,
 } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiEditBoxLine,
-  RiExpandRightLine,
-  RiLayoutLeft2Line,
-} from '@remixicon/react'
 import { useChatWithHistoryContext } from '../context'
+import List from './list'
 import AppIcon from '@/app/components/base/app-icon'
-import ActionButton from '@/app/components/base/action-button'
 import Button from '@/app/components/base/button'
-import List from '@/app/components/base/chat/chat-with-history/sidebar/list'
-import MenuDropdown from '@/app/components/share/text-generation/menu-dropdown'
+import { Edit05 } from '@/app/components/base/icons/src/vender/line/general'
+import type { ConversationItem } from '@/models/share'
 import Confirm from '@/app/components/base/confirm'
 import RenameModal from '@/app/components/base/chat/chat-with-history/sidebar/rename-modal'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
-import type { ConversationItem } from '@/models/share'
-import cn from '@/utils/classnames'
 
-type Props = {
-  isPanel?: boolean
-}
-
-const Sidebar = ({ isPanel }: Props) => {
+const Sidebar = () => {
   const { t } = useTranslation()
   const {
     appData,
-    handleNewConversation,
     pinnedConversationList,
     conversationList,
+    handleNewConversation,
     currentConversationId,
     handleChangeConversation,
     handlePinConversation,
@@ -38,13 +26,8 @@
     conversationRenaming,
     handleRenameConversation,
     handleDeleteConversation,
-    sidebarCollapseState,
-    handleSidebarCollapse,
     isMobile,
-    isResponding,
   } = useChatWithHistoryContext()
-  const isSidebarCollapsed = sidebarCollapseState
-
   const [showConfirm, setShowConfirm] = useState<ConversationItem | null>(null)
   const [showRename, setShowRename] = useState<ConversationItem | null>(null)
 
@@ -77,83 +60,66 @@
   }, [showRename, handleRenameConversation, handleCancelRename])
 
   return (
-    <div className={cn(
-      'flex w-full grow flex-col',
-      isPanel && 'rounded-xl border-[0.5px] border-components-panel-border-subtle bg-components-panel-bg shadow-lg',
-    )}>
-      <div className={cn(
-        'flex shrink-0 items-center gap-3 p-3 pr-2',
-      )}>
-        <div className='shrink-0'>
-          <AppIcon
-            size='large'
-            iconType={appData?.site.icon_type}
-            icon={appData?.site.icon}
-            background={appData?.site.icon_background}
-            imageUrl={appData?.site.icon_url}
-          />
-        </div>
-        <div className={cn('system-md-semibold grow truncate text-text-secondary')}>{appData?.site.title}</div>
-        {!isMobile && isSidebarCollapsed && (
-          <ActionButton size='l' onClick={() => handleSidebarCollapse(false)}>
-            <RiExpandRightLine className='h-[18px] w-[18px]' />
-          </ActionButton>
-        )}
-        {!isMobile && !isSidebarCollapsed && (
-          <ActionButton size='l' onClick={() => handleSidebarCollapse(true)}>
-            <RiLayoutLeft2Line className='h-[18px] w-[18px]' />
-          </ActionButton>
-        )}
-      </div>
-      <div className='shrink-0 px-3 py-4'>
-        <Button variant='secondary-accent' disabled={isResponding} className='w-full justify-center' onClick={handleNewConversation}>
-          <RiEditBoxLine className='mr-1 h-4 w-4' />
+    <div className='shrink-0 h-full flex flex-col w-[240px] border-r border-r-gray-100'>
+      {
+        !isMobile && (
+          <div className='shrink-0 flex p-4'>
+            <AppIcon
+              className='mr-3'
+              size='small'
+              iconType={appData?.site.icon_type}
+              icon={appData?.site.icon}
+              background={appData?.site.icon_background}
+              imageUrl={appData?.site.icon_url}
+            />
+            <div className='py-1 text-base font-semibold text-gray-800'>
+              {appData?.site.title}
+            </div>
+          </div>
+        )
+      }
+      <div className='shrink-0 p-4'>
+        <Button
+          variant='secondary-accent'
+          className='justify-start w-full'
+          onClick={handleNewConversation}
+        >
+          <Edit05 className='mr-2 w-4 h-4' />
           {t('share.chat.newChat')}
         </Button>
       </div>
-      <div className='h-0 grow space-y-2 overflow-y-auto px-3 pt-4'>
-        {/* pinned list */}
-        {!!pinnedConversationList.length && (
-          <div className='mb-4'>
+      <div className='grow px-4 py-2 overflow-y-auto'>
+        {
+          !!pinnedConversationList.length && (
+            <div className='mb-4'>
+              <List
+                isPin
+                title={t('share.chat.pinnedTitle') || ''}
+                list={pinnedConversationList}
+                onChangeConversation={handleChangeConversation}
+                onOperate={handleOperate}
+                currentConversationId={currentConversationId}
+              />
+            </div>
+          )
+        }
+        {
+          !!conversationList.length && (
             <List
-              isPin
-              title={t('share.chat.pinnedTitle') || ''}
-              list={pinnedConversationList}
+              title={(pinnedConversationList.length && t('share.chat.unpinnedTitle')) || ''}
+              list={conversationList}
               onChangeConversation={handleChangeConversation}
               onOperate={handleOperate}
               currentConversationId={currentConversationId}
             />
-          </div>
-        )}
-        {!!conversationList.length && (
-          <List
-            title={(pinnedConversationList.length && t('share.chat.unpinnedTitle')) || ''}
-            list={conversationList}
-            onChangeConversation={handleChangeConversation}
-            onOperate={handleOperate}
-            currentConversationId={currentConversationId}
-          />
-        )}
+          )
+        }
       </div>
-      <div className='flex shrink-0 items-center justify-between p-3'>
-        <MenuDropdown placement='top-start' data={appData?.site} />
-        {/* powered by */}
-        <div className='shrink-0'>
-          {!appData?.custom_config?.remove_webapp_brand && (
-            <div className={cn(
-              'flex shrink-0 items-center gap-1.5 px-1',
-            )}>
-              <div className='system-2xs-medium-uppercase text-text-tertiary'>{t('share.chat.poweredBy')}</div>
-              {appData?.custom_config?.replace_webapp_logo && (
-                <img src={appData?.custom_config?.replace_webapp_logo} alt='logo' className='block h-5 w-auto' />
-              )}
-              {!appData?.custom_config?.replace_webapp_logo && (
-                <DifyLogo size='small' />
-              )}
-            </div>
-          )}
+      {appData?.site.copyright && (
+        <div className='px-4 pb-4 text-xs text-gray-400'>
+          漏 {(new Date()).getFullYear()} {appData?.site.copyright}
         </div>
-      </div>
+      )}
       {!!showConfirm && (
         <Confirm
           title={t('share.chat.deleteConversation.title')}
diff --git a/app/components/base/chat/chat-with-history/sidebar/item.tsx b/app/components/base/chat/chat-with-history/sidebar/item.tsx
index ea17f3f..90458cb 100644
--- a/app/components/base/chat/chat-with-history/sidebar/item.tsx
+++ b/app/components/base/chat/chat-with-history/sidebar/item.tsx
@@ -5,8 +5,8 @@
 } from 'react'
 import { useHover } from 'ahooks'
 import type { ConversationItem } from '@/models/share'
-import Operation from '@/app/components/base/chat/chat-with-history/sidebar/operation'
-import cn from '@/utils/classnames'
+import { MessageDotsCircle } from '@/app/components/base/icons/src/vender/solid/communication'
+import ItemOperation from '@/app/components/explore/item-operation'
 
 type ItemProps = {
   isPin?: boolean
@@ -24,23 +24,23 @@
 }) => {
   const ref = useRef(null)
   const isHovering = useHover(ref)
-  const isSelected = currentConversationId === item.id
 
   return (
     <div
       ref={ref}
       key={item.id}
-      className={cn(
-        'system-sm-medium group flex cursor-pointer rounded-lg p-1 pl-3 text-components-menu-item-text hover:bg-state-base-hover',
-        isSelected && 'bg-state-accent-active text-text-accent hover:bg-state-accent-active',
-      )}
+      className={`
+        flex mb-0.5 last-of-type:mb-0 py-1.5 pl-3 pr-1.5 text-sm font-medium text-gray-700 
+        rounded-lg cursor-pointer hover:bg-gray-50 group
+        ${currentConversationId === item.id && 'text-primary-600 bg-primary-50'}
+      `}
       onClick={() => onChangeConversation(item.id)}
     >
-      <div className='grow truncate p-1 pl-0' title={item.name}>{item.name}</div>
+      <MessageDotsCircle className={`shrink-0 mt-1 mr-2 w-4 h-4 text-gray-400 ${currentConversationId === item.id && 'text-primary-600'}`} />
+      <div className='grow py-0.5 break-all' title={item.name}>{item.name}</div>
       {item.id !== '' && (
-        <div className='shrink-0' onClick={e => e.stopPropagation()}>
-          <Operation
-            isActive={isSelected}
+        <div className='shrink-0 h-6' onClick={e => e.stopPropagation()}>
+          <ItemOperation
             isPinned={!!isPin}
             isItemHovering={isHovering}
             togglePin={() => onOperate(isPin ? 'unpin' : 'pin', item)}
diff --git a/app/components/base/chat/chat-with-history/sidebar/list.tsx b/app/components/base/chat/chat-with-history/sidebar/list.tsx
index 4a9c207..a2a3e1f 100644
--- a/app/components/base/chat/chat-with-history/sidebar/list.tsx
+++ b/app/components/base/chat/chat-with-history/sidebar/list.tsx
@@ -19,20 +19,26 @@
   currentConversationId,
 }) => {
   return (
-    <div className='space-y-0.5'>
-      {title && (
-        <div className='system-xs-medium-uppercase px-3 pb-1 pt-2 text-text-tertiary'>{title}</div>
-      )}
-      {list.map(item => (
-        <Item
-          key={item.id}
-          isPin={isPin}
-          item={item}
-          onOperate={onOperate}
-          onChangeConversation={onChangeConversation}
-          currentConversationId={currentConversationId}
-        />
-      ))}
+    <div>
+      {
+        title && (
+          <div className='mb-0.5 px-3 h-[26px] text-xs font-medium text-gray-500'>
+            {title}
+          </div>
+        )
+      }
+      {
+        list.map(item => (
+          <Item
+            key={item.id}
+            isPin={isPin}
+            item={item}
+            onOperate={onOperate}
+            onChangeConversation={onChangeConversation}
+            currentConversationId={currentConversationId}
+          />
+        ))
+      }
     </div>
   )
 }
diff --git a/app/components/base/chat/chat-with-history/sidebar/rename-modal.tsx b/app/components/base/chat/chat-with-history/sidebar/rename-modal.tsx
index bbd087a..8c2c587 100644
--- a/app/components/base/chat/chat-with-history/sidebar/rename-modal.tsx
+++ b/app/components/base/chat/chat-with-history/sidebar/rename-modal.tsx
@@ -4,7 +4,6 @@
 import { useTranslation } from 'react-i18next'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
-import Input from '@/app/components/base/input'
 
 export type IRenameModalProps = {
   isShow: boolean
@@ -30,16 +29,16 @@
       isShow={isShow}
       onClose={onClose}
     >
-      <div className={'mt-6 text-sm font-medium leading-[21px] text-text-primary'}>{t('common.chat.conversationName')}</div>
-      <Input className='mt-2 h-10 w-full'
+      <div className={'mt-6 font-medium text-sm leading-[21px] text-gray-900'}>{t('common.chat.conversationName')}</div>
+      <input className={'mt-2 w-full rounded-lg h-10 box-border px-3 text-sm leading-10 bg-gray-100'}
         value={tempName}
         onChange={e => setTempName(e.target.value)}
         placeholder={t('common.chat.conversationNamePlaceholder') || ''}
       />
 
       <div className='mt-10 flex justify-end'>
-        <Button className='mr-2 shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
-        <Button variant='primary' className='shrink-0' onClick={() => onSave(tempName)} loading={saveLoading}>{t('common.operation.save')}</Button>
+        <Button className='mr-2 flex-shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
+        <Button variant='primary' className='flex-shrink-0' onClick={() => onSave(tempName)} loading={saveLoading}>{t('common.operation.save')}</Button>
       </div>
     </Modal>
   )
diff --git a/app/components/base/chat/chat/answer/__mocks__/markdownContentSVG.ts b/app/components/base/chat/chat/answer/__mocks__/markdownContentSVG.ts
index bcc3ae6..67029cd 100644
--- a/app/components/base/chat/chat/answer/__mocks__/markdownContentSVG.ts
+++ b/app/components/base/chat/chat/answer/__mocks__/markdownContentSVG.ts
@@ -2,25 +2,25 @@
 \`\`\`svg
 <svg width="400" height="600" xmlns="http://www.w3.org/2000/svg">
   <rect width="100%" height="100%" fill="#F0F8FF"/>
-
+  
   <text x="50%" y="60" font-family="妤蜂綋" font-size="32" fill="#4682B4" text-anchor="middle">鍒涙剰Logo璁捐</text>
-
+  
   <line x1="50" y1="80" x2="350" y2="80" stroke="#B0C4DE" stroke-width="2"/>
-
+  
   <text x="50%" y="120" font-family="Arial" font-size="24" fill="#708090" text-anchor="middle">绉戠爺</text>
   <text x="50%" y="150" font-family="MS Mincho" font-size="20" fill="#778899" text-anchor="middle">绉戝鐮旂┒</text>
-
+  
   <text x="50%" y="200" font-family="姹囨枃鏄庢湞浣�" font-size="18" fill="#696969" text-anchor="middle">
     <tspan x="50%" dy="25">鎺㈢储鏈煡鐨勭伅濉旓紝</tspan>
     <tspan x="50%" dy="25">鐓т寒浜虹被鍓嶈繘鐨勯亾璺��</tspan>
     <tspan x="50%" dy="25">绉戠爺锛屾槸姘镐笉鐔勭伃鐨勫ソ濂囧績锛�</tspan>
     <tspan x="50%" dy="25">涔熸槸鎺ㄥ姩涓栫晫杩涙鐨勫紩鎿庛��</tspan>
   </text>
-
+  
   <circle cx="200" cy="400" r="80" fill="none" stroke="#4169E1" stroke-width="3"/>
   <line x1="200" y1="320" x2="200" y2="480" stroke="#4169E1" stroke-width="3"/>
   <line x1="120" y1="400" x2="280" y2="400" stroke="#4169E1" stroke-width="3"/>
-
+  
   <text x="50%" y="550" font-family="寰蒋闆呴粦" font-size="16" fill="#1E90FF" text-anchor="middle">鎺㈢储 鈥� 鍒涙柊 鈥� 杩涙</text>
 </svg>
 \`\`\`
diff --git a/app/components/base/chat/chat/answer/__mocks__/workflowProcess.ts b/app/components/base/chat/chat/answer/__mocks__/workflowProcess.ts
index b6bd9a6..0c5fd39 100644
--- a/app/components/base/chat/chat/answer/__mocks__/workflowProcess.ts
+++ b/app/components/base/chat/chat/answer/__mocks__/workflowProcess.ts
@@ -46,7 +46,6 @@
       parent_parallel_id: null,
       parent_parallel_start_node_id: null,
       iteration_id: null,
-      loop_id: null,
     },
     {
       extras: {},
@@ -108,7 +107,6 @@
       parent_parallel_id: null,
       parent_parallel_start_node_id: null,
       iteration_id: null,
-      loop_id: null,
     },
     {
       extras: {},
diff --git a/app/components/base/chat/chat/answer/agent-content.tsx b/app/components/base/chat/chat/answer/agent-content.tsx
index c20e38c..6f03c93 100644
--- a/app/components/base/chat/chat/answer/agent-content.tsx
+++ b/app/components/base/chat/chat/answer/agent-content.tsx
@@ -11,12 +11,10 @@
 type AgentContentProps = {
   item: ChatItem
   responding?: boolean
-  content?: string
 }
 const AgentContent: FC<AgentContentProps> = ({
   item,
   responding,
-  content,
 }) => {
   const {
     annotation,
@@ -28,7 +26,7 @@
 
   return (
     <div>
-      {content ? <Markdown content={content} /> : agent_thoughts?.map((thought, index) => (
+      {agent_thoughts?.map((thought, index) => (
         <div key={index} className='px-2 py-1'>
           {thought.thought && (
             <Markdown content={thought.thought} />
diff --git a/app/components/base/chat/chat/answer/index.tsx b/app/components/base/chat/chat/answer/index.tsx
index a0a9323..3217a3f 100644
--- a/app/components/base/chat/chat/answer/index.tsx
+++ b/app/components/base/chat/chat/answer/index.tsx
@@ -2,7 +2,7 @@
   FC,
   ReactNode,
 } from 'react'
-import { memo, useCallback, useEffect, useRef, useState } from 'react'
+import { memo, useEffect, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import type {
   ChatConfig,
@@ -19,9 +19,9 @@
 import { EditTitle } from '@/app/components/app/annotation/edit-annotation-modal/edit-item'
 import type { AppData } from '@/models/share'
 import AnswerIcon from '@/app/components/base/answer-icon'
+import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
 import cn from '@/utils/classnames'
 import { FileList } from '@/app/components/base/file-uploader'
-import ContentSwitch from '../content-switch'
 
 type AnswerProps = {
   item: ChatItem
@@ -100,28 +100,21 @@
     }
   }, [])
 
-  const handleSwitchSibling = useCallback((direction: 'prev' | 'next') => {
-    if (direction === 'prev')
-      item.prevSibling && switchSibling?.(item.prevSibling)
-    else
-      item.nextSibling && switchSibling?.(item.nextSibling)
-  }, [switchSibling, item.prevSibling, item.nextSibling])
-
   return (
-    <div className='mb-2 flex last:mb-0'>
-      <div className='relative h-10 w-10 shrink-0'>
+    <div className='flex mb-2 last:mb-0'>
+      <div className='shrink-0 relative w-10 h-10'>
         {answerIcon || <AnswerIcon />}
         {responding && (
-          <div className='absolute left-[-3px] top-[-3px] flex h-4 w-4 items-center rounded-full border-[0.5px] border-divider-subtle bg-background-section-burn pl-[6px] shadow-xs'>
+          <div className='absolute -top-[3px] -left-[3px] pl-[6px] flex items-center w-4 h-4 bg-white rounded-full shadow-xs border-[0.5px] border-gray-50'>
             <LoadingAnim type='avatar' />
           </div>
         )}
       </div>
-      <div className='chat-answer-container group ml-4 w-0 grow pb-4' ref={containerRef}>
+      <div className='chat-answer-container group grow w-0 ml-4' ref={containerRef}>
         <div className={cn('group relative pr-10', chatAnswerContainerInner)}>
           <div
             ref={contentRef}
-            className={cn('body-lg-regular relative inline-block max-w-full rounded-2xl bg-chat-bubble-bg px-4 py-3 text-text-primary', workflowProcess && 'w-full')}
+            className={cn('relative inline-block px-4 py-3 max-w-full bg-chat-bubble-bg rounded-2xl body-lg-regular text-text-primary', workflowProcess && 'w-full')}
           >
             {
               !responding && (
@@ -160,7 +153,7 @@
             }
             {
               responding && !content && !hasAgentThoughts && (
-                <div className='flex h-5 w-6 items-center justify-center'>
+                <div className='flex items-center justify-center w-6 h-5'>
                   <LoadingAnim type='text' />
                 </div>
               )
@@ -171,11 +164,10 @@
               )
             }
             {
-              (hasAgentThoughts) && (
+              hasAgentThoughts && (
                 <AgentContent
                   item={item}
                   responding={responding}
-                  content={content}
                 />
               )
             }
@@ -215,17 +207,23 @@
                 <Citation data={citation} showHitInfo={config?.supportCitationHitInfo} />
               )
             }
-            {
-              item.siblingCount && item.siblingCount > 1 && item.siblingIndex !== undefined && (
-                <ContentSwitch
-                  count={item.siblingCount}
-                  currentIndex={item.siblingIndex}
-                  prevDisabled={!item.prevSibling}
-                  nextDisabled={!item.nextSibling}
-                  switchSibling={handleSwitchSibling}
-                />
-              )
-            }
+            {item.siblingCount && item.siblingCount > 1 && item.siblingIndex !== undefined && <div className="pt-3.5 flex justify-center items-center text-sm">
+              <button
+                className={`${item.prevSibling ? 'opacity-100' : 'opacity-30'}`}
+                disabled={!item.prevSibling}
+                onClick={() => item.prevSibling && switchSibling?.(item.prevSibling)}
+              >
+                <ChevronRight className="w-[14px] h-[14px] rotate-180 text-text-primary" />
+              </button>
+              <span className="px-2 text-xs text-text-primary">{item.siblingIndex + 1} / {item.siblingCount}</span>
+              <button
+                className={`${item.nextSibling ? 'opacity-100' : 'opacity-30'}`}
+                disabled={!item.nextSibling}
+                onClick={() => item.nextSibling && switchSibling?.(item.nextSibling)}
+              >
+                <ChevronRight className="w-[14px] h-[14px] text-text-primary" />
+              </button>
+            </div>}
           </div>
         </div>
         <More more={more} />
@@ -234,6 +232,4 @@
   )
 }
 
-export default memo(Answer, (prevProps, nextProps) =>
-  prevProps.responding === false && nextProps.responding === false,
-)
+export default memo(Answer)
diff --git a/app/components/base/chat/chat/answer/more.tsx b/app/components/base/chat/chat/answer/more.tsx
index e86011e..03fa7b2 100644
--- a/app/components/base/chat/chat/answer/more.tsx
+++ b/app/components/base/chat/chat/answer/more.tsx
@@ -13,25 +13,25 @@
   const { t } = useTranslation()
 
   return (
-    <div className='system-xs-regular mt-1 flex items-center text-text-quaternary opacity-0 group-hover:opacity-100'>
+    <div className='flex items-center mt-1 h-[18px] text-xs text-gray-400 opacity-0 group-hover:opacity-100'>
       {
         more && (
           <>
             <div
-              className='mr-2 max-w-[33.3%] shrink-0 truncate'
+              className='mr-2 shrink-0 truncate max-w-[33.3%]'
               title={`${t('appLog.detail.timeConsuming')} ${more.latency}${t('appLog.detail.second')}`}
             >
               {`${t('appLog.detail.timeConsuming')} ${more.latency}${t('appLog.detail.second')}`}
             </div>
             <div
-              className='max-w-[33.3%] shrink-0 truncate'
+              className='shrink-0 truncate max-w-[33.3%]'
               title={`${t('appLog.detail.tokenCost')} ${formatNumber(more.tokens)}`}
             >
               {`${t('appLog.detail.tokenCost')} ${formatNumber(more.tokens)}`}
             </div>
-            <div className='mx-2 shrink-0'>路</div>
+            <div className='shrink-0 mx-2'>路</div>
             <div
-              className='max-w-[33.3%] shrink-0 truncate'
+              className='shrink-0 truncate max-w-[33.3%]'
               title={more.time}
             >
               {more.time}
diff --git a/app/components/base/chat/chat/answer/operation.tsx b/app/components/base/chat/chat/answer/operation.tsx
index 0fbb7ce..dcd3df6 100644
--- a/app/components/base/chat/chat/answer/operation.tsx
+++ b/app/components/base/chat/chat/answer/operation.tsx
@@ -5,22 +5,21 @@
   useState,
 } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiClipboardLine,
-  RiResetLeftLine,
-  RiThumbDownLine,
-  RiThumbUpLine,
-} from '@remixicon/react'
 import type { ChatItem } from '../../types'
 import { useChatContext } from '../context'
-import copy from 'copy-to-clipboard'
-import Toast from '@/app/components/base/toast'
-import AnnotationCtrlButton from '@/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-button'
-import EditReplyModal from '@/app/components/app/annotation/edit-annotation-modal'
-import Log from '@/app/components/base/chat/chat/log'
-import ActionButton, { ActionButtonState } from '@/app/components/base/action-button'
-import NewAudioButton from '@/app/components/base/new-audio-button'
+import RegenerateBtn from '@/app/components/base/regenerate-btn'
 import cn from '@/utils/classnames'
+import CopyBtn from '@/app/components/base/copy-btn'
+import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication'
+import AudioBtn from '@/app/components/base/audio-btn'
+import AnnotationCtrlBtn from '@/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-btn'
+import EditReplyModal from '@/app/components/app/annotation/edit-annotation-modal'
+import {
+  ThumbsDown,
+  ThumbsUp,
+} from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
+import Tooltip from '@/app/components/base/tooltip'
+import Log from '@/app/components/base/chat/chat/log'
 
 type OperationProps = {
   item: ChatItem
@@ -61,6 +60,7 @@
     adminFeedback,
     agent_thoughts,
   } = item
+  const hasAnnotation = !!annotation?.id
   const [localFeedback, setLocalFeedback] = useState(config?.supportAnnotation ? adminFeedback : feedback)
 
   const content = useMemo(() => {
@@ -81,13 +81,13 @@
   const operationWidth = useMemo(() => {
     let width = 0
     if (!isOpeningStatement)
-      width += 26
+      width += 28
     if (!isOpeningStatement && showPromptLog)
-      width += 28 + 8
+      width += 102 + 8
     if (!isOpeningStatement && config?.text_to_speech?.enabled)
-      width += 26
+      width += 33
     if (!isOpeningStatement && config?.supportAnnotation && config?.annotation_reply?.enabled)
-      width += 26
+      width += 56 + 8
     if (config?.supportFeedback && !localFeedback?.rating && onFeedback && !isOpeningStatement)
       width += 60 + 8
     if (config?.supportFeedback && localFeedback?.rating && onFeedback && !isOpeningStatement)
@@ -102,78 +102,121 @@
       <div
         className={cn(
           'absolute flex justify-end gap-1',
-          hasWorkflowProcess && '-bottom-4 right-2',
-          !positionRight && '-bottom-4 right-2',
+          hasWorkflowProcess && '-top-3.5 -right-3.5',
+          !positionRight && '-top-3.5 -right-3.5',
           !hasWorkflowProcess && positionRight && '!top-[9px]',
         )}
         style={(!hasWorkflowProcess && positionRight) ? { left: contentWidth + 8 } : {}}
       >
-        {showPromptLog && !isOpeningStatement && (
-          <div className='hidden group-hover:block'>
-            <Log logItem={item} />
-          </div>
-        )}
         {!isOpeningStatement && (
-          <div className='ml-1 hidden items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm group-hover:flex'>
-            {(config?.text_to_speech?.enabled) && (
-              <NewAudioButton
-                id={id}
-                value={content}
-                voice={config?.text_to_speech?.voice}
-              />
-            )}
-            <ActionButton onClick={() => {
-              copy(content)
-              Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
-            }}>
-              <RiClipboardLine className='h-4 w-4' />
-            </ActionButton>
-            {!noChatInput && (
-              <ActionButton onClick={() => onRegenerate?.(item)}>
-                <RiResetLeftLine className='h-4 w-4' />
-              </ActionButton>
-            )}
-            {(config?.supportAnnotation && config.annotation_reply?.enabled) && (
-              <AnnotationCtrlButton
-                appId={config?.appId || ''}
-                messageId={id}
-                cached={!!annotation?.id}
-                query={question}
-                answer={content}
-                onAdded={(id, authorName) => onAnnotationAdded?.(id, authorName, question, content, index)}
-                onEdit={() => setIsShowReplyModal(true)}
-              />
-            )}
-          </div>
+          <CopyBtn
+            value={content}
+            className='hidden group-hover:block'
+          />
         )}
-        {!isOpeningStatement && config?.supportFeedback && !localFeedback?.rating && onFeedback && (
-          <div className='ml-1 hidden items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm group-hover:flex'>
-            {!localFeedback?.rating && (
+
+        {!isOpeningStatement && (showPromptLog || config?.text_to_speech?.enabled) && (
+          <div className='hidden group-hover:flex items-center w-max h-[28px] p-0.5 rounded-lg bg-white border-[0.5px] border-gray-100 shadow-md shrink-0'>
+            {showPromptLog && (
               <>
-                <ActionButton onClick={() => handleFeedback('like')}>
-                  <RiThumbUpLine className='h-4 w-4' />
-                </ActionButton>
-                <ActionButton onClick={() => handleFeedback('dislike')}>
-                  <RiThumbDownLine className='h-4 w-4' />
-                </ActionButton>
+                <Log logItem={item} />
+                <div className='mx-1 w-[1px] h-[14px] bg-gray-200' />
+              </>
+            )}
+
+            {(config?.text_to_speech?.enabled) && (
+              <>
+                <AudioBtn
+                  id={id}
+                  value={content}
+                  noCache={false}
+                  voice={config?.text_to_speech?.voice}
+                  className='hidden group-hover:block'
+                />
               </>
             )}
           </div>
         )}
-        {!isOpeningStatement && config?.supportFeedback && localFeedback?.rating && onFeedback && (
-          <div className='ml-1 flex items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm'>
-            {localFeedback?.rating === 'like' && (
-              <ActionButton state={ActionButtonState.Active} onClick={() => handleFeedback(null)}>
-                <RiThumbUpLine className='h-4 w-4' />
-              </ActionButton>
-            )}
-            {localFeedback?.rating === 'dislike' && (
-              <ActionButton state={ActionButtonState.Destructive} onClick={() => handleFeedback(null)}>
-                <RiThumbDownLine className='h-4 w-4' />
-              </ActionButton>
-            )}
-          </div>
+
+        {(!isOpeningStatement && config?.supportAnnotation && config.annotation_reply?.enabled) && (
+          <AnnotationCtrlBtn
+            appId={config?.appId || ''}
+            messageId={id}
+            annotationId={annotation?.id || ''}
+            className='hidden group-hover:block ml-1 shrink-0'
+            cached={hasAnnotation}
+            query={question}
+            answer={content}
+            onAdded={(id, authorName) => onAnnotationAdded?.(id, authorName, question, content, index)}
+            onEdit={() => setIsShowReplyModal(true)}
+            onRemoved={() => onAnnotationRemoved?.(index)}
+          />
         )}
+        {
+          annotation?.id && (
+            <div
+              className='relative box-border flex items-center justify-center h-7 w-7 p-0.5 rounded-lg bg-white cursor-pointer text-[#444CE7] shadow-md group-hover:hidden'
+            >
+              <div className='p-1 rounded-lg bg-[#EEF4FF] '>
+                <MessageFast className='w-4 h-4' />
+              </div>
+            </div>
+          )
+        }
+        {
+          !isOpeningStatement && !noChatInput && <RegenerateBtn className='hidden group-hover:block mr-1' onClick={() => onRegenerate?.(item)} />
+        }
+        {
+          config?.supportFeedback && !localFeedback?.rating && onFeedback && !isOpeningStatement && (
+            <div className='hidden group-hover:flex shrink-0 items-center px-0.5 bg-white border-[0.5px] border-gray-100 shadow-md text-gray-500 rounded-lg'>
+              <Tooltip popupContent={t('appDebug.operation.agree')}>
+                <div
+                  className='flex items-center justify-center mr-0.5 w-6 h-6 rounded-md hover:bg-black/5 hover:text-gray-800 cursor-pointer'
+                  onClick={() => handleFeedback('like')}
+                >
+                  <ThumbsUp className='w-4 h-4' />
+                </div>
+              </Tooltip>
+              <Tooltip
+                popupContent={t('appDebug.operation.disagree')}
+              >
+                <div
+                  className='flex items-center justify-center w-6 h-6 rounded-md hover:bg-black/5 hover:text-gray-800 cursor-pointer'
+                  onClick={() => handleFeedback('dislike')}
+                >
+                  <ThumbsDown className='w-4 h-4' />
+                </div>
+              </Tooltip>
+            </div>
+          )
+        }
+        {
+          config?.supportFeedback && localFeedback?.rating && onFeedback && !isOpeningStatement && (
+            <Tooltip
+              popupContent={localFeedback.rating === 'like' ? t('appDebug.operation.cancelAgree') : t('appDebug.operation.cancelDisagree')}
+            >
+              <div
+                className={`
+                  flex items-center justify-center w-7 h-7 rounded-[10px] border-[2px] border-white cursor-pointer
+                  ${localFeedback.rating === 'like' && 'bg-blue-50 text-blue-600'}
+                  ${localFeedback.rating === 'dislike' && 'bg-red-100 text-red-600'}
+                `}
+                onClick={() => handleFeedback(null)}
+              >
+                {
+                  localFeedback.rating === 'like' && (
+                    <ThumbsUp className='w-4 h-4' />
+                  )
+                }
+                {
+                  localFeedback.rating === 'dislike' && (
+                    <ThumbsDown className='w-4 h-4' />
+                  )
+                }
+              </div>
+            </Tooltip>
+          )
+        }
       </div>
       <EditReplyModal
         isShow={isShowReplyModal}
diff --git a/app/components/base/chat/chat/answer/suggested-questions.tsx b/app/components/base/chat/chat/answer/suggested-questions.tsx
index 8b64bff..dd8e79b 100644
--- a/app/components/base/chat/chat/answer/suggested-questions.tsx
+++ b/app/components/base/chat/chat/answer/suggested-questions.tsx
@@ -10,7 +10,6 @@
   item,
 }) => {
   const { onSend } = useChatContext()
-
   const {
     isOpeningStatement,
     suggestedQuestions,
@@ -24,7 +23,7 @@
       {suggestedQuestions.filter(q => !!q && q.trim()).map((question, index) => (
         <div
           key={index}
-          className='system-sm-medium mr-1 mt-1 inline-flex max-w-full shrink-0 cursor-pointer flex-wrap rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-3.5 py-2 text-components-button-secondary-accent-text shadow-xs last:mr-0 hover:border-components-button-secondary-border-hover hover:bg-components-button-secondary-bg-hover'
+          className='mt-1 mr-1 max-w-full last:mr-0 shrink-0 py-[5px] leading-[18px] items-center px-4 rounded-lg border border-gray-200 shadow-xs bg-white text-xs font-medium text-primary-600 cursor-pointer'
           onClick={() => onSend?.(question)}
         >
           {question}
diff --git a/app/components/base/chat/chat/answer/tool-detail.tsx b/app/components/base/chat/chat/answer/tool-detail.tsx
index 26d1b3b..aeaeafc 100644
--- a/app/components/base/chat/chat/answer/tool-detail.tsx
+++ b/app/components/base/chat/chat/answer/tool-detail.tsx
@@ -30,34 +30,34 @@
     >
       <div
         className={cn(
-          'system-xs-medium flex cursor-pointer items-center px-2.5 py-2 text-text-tertiary',
+          'flex items-center system-xs-medium text-text-tertiary px-2.5 py-2 cursor-pointer',
           expand && 'pb-1.5',
         )}
         onClick={() => setExpand(!expand)}
       >
-        {isFinished && <RiHammerFill className='mr-1 h-3.5 w-3.5' />}
-        {!isFinished && <RiLoader2Line className='mr-1 h-3.5 w-3.5 animate-spin' />}
+        {isFinished && <RiHammerFill className='mr-1 w-3.5 h-3.5' />}
+        {!isFinished && <RiLoader2Line className='mr-1 w-3.5 h-3.5 animate-spin' />}
         {t(`tools.thought.${isFinished ? 'used' : 'using'}`)}
         <div className='mx-1 text-text-secondary'>{toolLabel}</div>
-        {!expand && <RiArrowRightSLine className='h-4 w-4' />}
-        {expand && <RiArrowDownSLine className='ml-auto h-4 w-4' />}
+        {!expand && <RiArrowRightSLine className='w-4 h-4' />}
+        {expand && <RiArrowDownSLine className='ml-auto w-4 h-4' />}
       </div>
       {
         expand && (
           <>
-            <div className='mx-1 mb-0.5 rounded-[10px] bg-components-panel-on-panel-item-bg text-text-secondary'>
-              <div className='system-xs-semibold-uppercase flex h-7 items-center justify-between px-2 pt-1'>
+            <div className='mb-0.5 mx-1 rounded-[10px] bg-components-panel-on-panel-item-bg text-text-secondary'>
+              <div className='flex items-center justify-between px-2 pt-1 h-7 system-xs-semibold-uppercase'>
                 {t('tools.thought.requestTitle')}
               </div>
-              <div className='code-xs-regular break-words px-3 pb-2 pt-1'>
+              <div className='pt-1 px-3 pb-2 code-xs-regular break-words'>
                 {input}
               </div>
             </div>
             <div className='mx-1 mb-1 rounded-[10px] bg-components-panel-on-panel-item-bg text-text-secondary'>
-              <div className='system-xs-semibold-uppercase flex h-7 items-center justify-between px-2 pt-1'>
+              <div className='flex items-center justify-between px-2 pt-1 h-7 system-xs-semibold-uppercase'>
                 {t('tools.thought.responseTitle')}
               </div>
-              <div className='code-xs-regular break-words px-3 pb-2 pt-1'>
+              <div className='pt-1 px-3 pb-2 code-xs-regular break-words'>
                 {output}
               </div>
             </div>
diff --git a/app/components/base/chat/chat/answer/workflow-process.tsx b/app/components/base/chat/chat/answer/workflow-process.tsx
index 4651ff4..4dcac1a 100644
--- a/app/components/base/chat/chat/answer/workflow-process.tsx
+++ b/app/components/base/chat/chat/answer/workflow-process.tsx
@@ -1,5 +1,7 @@
 import {
+  useCallback,
   useEffect,
+  useMemo,
   useState,
 } from 'react'
 import {
@@ -13,6 +15,7 @@
 import cn from '@/utils/classnames'
 import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general'
 import { WorkflowRunningStatus } from '@/app/components/workflow/types'
+import { useStore as useAppStore } from '@/app/components/app/store'
 
 type WorkflowProcessProps = {
   data: WorkflowProcess
@@ -24,6 +27,7 @@
 }
 const WorkflowProcessItem = ({
   data,
+  item,
   expand = false,
   hideInfo = false,
   hideProcessDetail = false,
@@ -35,44 +39,72 @@
   const succeeded = data.status === WorkflowRunningStatus.Succeeded
   const failed = data.status === WorkflowRunningStatus.Failed || data.status === WorkflowRunningStatus.Stopped
 
+  const background = useMemo(() => {
+    if (collapse)
+      return 'linear-gradient(90deg, rgba(200, 206, 218, 0.20) 0%, rgba(200, 206, 218, 0.04) 100%)'
+    if (running && !collapse)
+      return 'linear-gradient(180deg, #E1E4EA 0%, #EAECF0 100%)'
+
+    if (succeeded && !collapse)
+      return 'linear-gradient(180deg, #ECFDF3 0%, #F6FEF9 100%)'
+
+    if (failed && !collapse)
+      return 'linear-gradient(180deg, #FEE4E2 0%, #FEF3F2 100%)'
+  }, [running, succeeded, failed, collapse])
+
   useEffect(() => {
     setCollapse(!expand)
   }, [expand])
 
+  const setCurrentLogItem = useAppStore(s => s.setCurrentLogItem)
+  const setShowMessageLogModal = useAppStore(s => s.setShowMessageLogModal)
+  const setCurrentLogModalActiveTab = useAppStore(s => s.setCurrentLogModalActiveTab)
+
+  const showIterationDetail = useCallback(() => {
+    setCurrentLogItem(item)
+    setCurrentLogModalActiveTab('TRACING')
+    setShowMessageLogModal(true)
+  }, [item, setCurrentLogItem, setCurrentLogModalActiveTab, setShowMessageLogModal])
+
+  const showRetryDetail = useCallback(() => {
+    setCurrentLogItem(item)
+    setCurrentLogModalActiveTab('TRACING')
+    setShowMessageLogModal(true)
+  }, [item, setCurrentLogItem, setCurrentLogModalActiveTab, setShowMessageLogModal])
+
   return (
     <div
       className={cn(
-        '-mx-1 rounded-xl px-2.5',
-        collapse ? 'border-l-[0.25px] border-components-panel-border py-[7px]' : 'border-[0.5px] border-components-panel-border-subtle px-1 pb-1 pt-[7px]',
-        running && !collapse && 'bg-background-section-burn',
-        succeeded && !collapse && 'bg-state-success-hover',
-        failed && !collapse && 'bg-state-destructive-hover',
-        collapse && 'bg-workflow-process-bg',
+        '-mx-1 px-2.5 rounded-xl border-[0.5px]',
+        collapse ? 'py-[7px] border-components-panel-border' : 'pt-[7px] px-1 pb-1 border-components-panel-border-subtle',
       )}
+      style={{
+        background,
+      }}
     >
       <div
-        className={cn('flex cursor-pointer items-center', !collapse && 'px-1.5', readonly && 'cursor-default')}
+        className={cn('flex items-center cursor-pointer', !collapse && 'px-1.5', readonly && 'cursor-default')}
         onClick={() => !readonly && setCollapse(!collapse)}
       >
         {
           running && (
-            <RiLoader2Line className='mr-1 h-3.5 w-3.5 shrink-0 animate-spin text-text-tertiary' />
+            <RiLoader2Line className='shrink-0 mr-1 w-3.5 h-3.5 text-text-tertiary' />
           )
         }
         {
           succeeded && (
-            <CheckCircle className='mr-1 h-3.5 w-3.5 shrink-0 text-text-success' />
+            <CheckCircle className='shrink-0 mr-1 w-3.5 h-3.5 text-text-success' />
           )
         }
         {
           failed && (
-            <RiErrorWarningFill className='mr-1 h-3.5 w-3.5 shrink-0 text-text-destructive' />
+            <RiErrorWarningFill className='shrink-0 mr-1 w-3.5 h-3.5 text-text-destructive' />
           )
         }
         <div className={cn('system-xs-medium text-text-secondary', !collapse && 'grow')}>
           {t('workflow.common.workflowProcess')}
         </div>
-        {!readonly && <RiArrowRightSLine className={cn('ml-1 h-4 w-4 text-text-tertiary', !collapse && 'rotate-90')} />}
+        {!readonly && <RiArrowRightSLine className={`'ml-1 w-4 h-4 text-text-tertiary' ${collapse ? '' : 'rotate-90'}`} />}
       </div>
       {
         !collapse && !readonly && (
@@ -80,6 +112,8 @@
             {
               <TracingPanel
                 list={data.tracing}
+                onShowIterationDetail={showIterationDetail}
+                onShowRetryDetail={showRetryDetail}
                 hideNodeInfo={hideInfo}
                 hideNodeProcessDetail={hideProcessDetail}
               />
diff --git a/app/components/base/chat/chat/chat-input-area/hooks.ts b/app/components/base/chat/chat/chat-input-area/hooks.ts
index 6b6e801..5f54012 100644
--- a/app/components/base/chat/chat/chat-input-area/hooks.ts
+++ b/app/components/base/chat/chat/chat-input-area/hooks.ts
@@ -3,22 +3,23 @@
   useRef,
   useState,
 } from 'react'
+import type { TextAreaRef } from 'rc-textarea'
 
 export const useTextAreaHeight = () => {
   const wrapperRef = useRef<HTMLDivElement>(null)
-  const textareaRef = useRef<HTMLTextAreaElement | undefined>(undefined)
+  const textareaRef = useRef<TextAreaRef>(null)
   const textValueRef = useRef<HTMLDivElement>(null)
   const holdSpaceRef = useRef<HTMLDivElement>(null)
   const [isMultipleLine, setIsMultipleLine] = useState(false)
 
   const handleComputeHeight = useCallback(() => {
-    const textareaElement = textareaRef.current
-
+    const textareaElement = textareaRef.current?.resizableTextArea.textArea
     if (wrapperRef.current && textareaElement && textValueRef.current && holdSpaceRef.current) {
       const { width: wrapperWidth } = wrapperRef.current.getBoundingClientRect()
       const { height: textareaHeight } = textareaElement.getBoundingClientRect()
       const { width: textValueWidth } = textValueRef.current.getBoundingClientRect()
       const { width: holdSpaceWidth } = holdSpaceRef.current.getBoundingClientRect()
+
       if (textareaHeight > 32) {
         setIsMultipleLine(true)
       }
diff --git a/app/components/base/chat/chat/chat-input-area/index.tsx b/app/components/base/chat/chat/chat-input-area/index.tsx
index 14d8185..0d341d1 100644
--- a/app/components/base/chat/chat/chat-input-area/index.tsx
+++ b/app/components/base/chat/chat/chat-input-area/index.tsx
@@ -3,7 +3,7 @@
   useRef,
   useState,
 } from 'react'
-import Textarea from 'react-textarea-autosize'
+import Textarea from 'rc-textarea'
 import { useTranslation } from 'react-i18next'
 import Recorder from 'js-audio-recorder'
 import type {
@@ -40,7 +40,6 @@
   inputsForm?: InputForm[]
   theme?: Theme | null
   isResponding?: boolean
-  disabled?: boolean
 }
 const ChatInputArea = ({
   showFeatureBar,
@@ -54,7 +53,6 @@
   inputsForm = [],
   theme,
   isResponding,
-  disabled,
 }: ChatInputAreaProps) => {
   const { t } = useTranslation()
   const { notify } = useToastContext()
@@ -80,7 +78,6 @@
   const { checkInputsForm } = useCheckInputsForms()
   const historyRef = useRef([''])
   const [currentIndex, setCurrentIndex] = useState(-1)
-  const isComposingRef = useRef(false)
   const handleSend = () => {
     if (isResponding) {
       notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
@@ -104,21 +101,8 @@
       }
     }
   }
-  const handleCompositionStart = () => {
-    // e: React.CompositionEvent<HTMLTextAreaElement>
-    isComposingRef.current = true
-  }
-  const handleCompositionEnd = () => {
-    // safari or some browsers will trigger compositionend before keydown.
-    // delay 50ms for safari.
-    setTimeout(() => {
-      isComposingRef.current = false
-    }, 50)
-  }
   const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
     if (e.key === 'Enter' && !e.shiftKey && !e.nativeEvent.isComposing) {
-      // if isComposing, exit
-      if (isComposingRef.current) return
       e.preventDefault()
       setQuery(query.replace(/\n$/, ''))
       historyRef.current.push(query)
@@ -169,41 +153,38 @@
     <>
       <div
         className={cn(
-          'relative z-10 rounded-xl border border-components-chat-input-border bg-components-panel-bg-blur pb-[9px] shadow-md',
+          'relative pb-[9px] bg-components-panel-bg-blur border border-components-chat-input-border rounded-xl shadow-md z-10',
           isDragActive && 'border border-dashed border-components-option-card-option-selected-border',
-          disabled && 'pointer-events-none border-components-panel-border opacity-50 shadow-none',
         )}
       >
-        <div className='relative max-h-[158px] overflow-y-auto overflow-x-hidden px-[9px] pt-[9px]'>
+        <div className='relative px-[9px] pt-[9px] max-h-[158px] overflow-x-hidden overflow-y-auto'>
           <FileListInChatInput fileConfig={visionConfig!} />
           <div
             ref={wrapperRef}
             className='flex items-center justify-between'
           >
-            <div className='relative flex w-full grow items-center'>
+            <div className='flex items-center relative grow w-full'>
               <div
                 ref={textValueRef}
-                className='body-lg-regular pointer-events-none invisible absolute h-auto w-auto whitespace-pre p-1 leading-6'
+                className='absolute w-auto h-auto p-1 leading-6 body-lg-regular pointer-events-none whitespace-pre invisible'
               >
                 {query}
               </div>
               <Textarea
-                ref={ref => textareaRef.current = ref as any}
+                ref={textareaRef}
                 className={cn(
-                  'body-lg-regular w-full resize-none bg-transparent p-1 leading-6 text-text-tertiary outline-none',
+                  'p-1 w-full leading-6 body-lg-regular text-text-tertiary outline-none',
                 )}
                 placeholder={t('common.chat.inputPlaceholder') || ''}
                 autoFocus
-                minRows={1}
+                autoSize={{ minRows: 1 }}
                 onResize={handleTextareaResize}
                 value={query}
                 onChange={(e) => {
                   setQuery(e.target.value)
-                  setTimeout(handleTextareaResize, 0)
+                  handleTextareaResize()
                 }}
                 onKeyDown={handleKeyDown}
-                onCompositionStart={handleCompositionStart}
-                onCompositionEnd={handleCompositionEnd}
                 onPaste={handleClipboardPasteFile}
                 onDragEnter={handleDragFileEnter}
                 onDragLeave={handleDragFileLeave}
diff --git a/app/components/base/chat/chat/chat-input-area/operation.tsx b/app/components/base/chat/chat/chat-input-area/operation.tsx
index 122dfcb..56ca863 100644
--- a/app/components/base/chat/chat/chat-input-area/operation.tsx
+++ b/app/components/base/chat/chat/chat-input-area/operation.tsx
@@ -1,4 +1,7 @@
-import { memo } from 'react'
+import {
+  forwardRef,
+  memo,
+} from 'react'
 import {
   RiMicLine,
   RiSendPlane2Fill,
@@ -20,22 +23,17 @@
   onSend: () => void
   theme?: Theme | null
 }
-const Operation = (
-  {
-    ref,
-    fileConfig,
-    speechToTextConfig,
-    onShowVoiceInput,
-    onSend,
-    theme,
-  }: OperationProps & {
-    ref: React.RefObject<HTMLDivElement>;
-  },
-) => {
+const Operation = forwardRef<HTMLDivElement, OperationProps>(({
+  fileConfig,
+  speechToTextConfig,
+  onShowVoiceInput,
+  onSend,
+  theme,
+}, ref) => {
   return (
     <div
       className={cn(
-        'flex shrink-0 items-center justify-end',
+        'shrink-0 flex items-center justify-end',
       )}
     >
       <div
@@ -50,13 +48,13 @@
                 size='l'
                 onClick={onShowVoiceInput}
               >
-                <RiMicLine className='h-5 w-5' />
+                <RiMicLine className='w-5 h-5' />
               </ActionButton>
             )
           }
         </div>
         <Button
-          className='ml-3 w-8 px-0'
+          className='ml-3 px-0 w-8'
           variant='primary'
           onClick={onSend}
           style={
@@ -67,12 +65,12 @@
               : {}
           }
         >
-          <RiSendPlane2Fill className='h-4 w-4' />
+          <RiSendPlane2Fill className='w-4 h-4' />
         </Button>
       </div>
     </div>
   )
-}
+})
 Operation.displayName = 'Operation'
 
 export default memo(Operation)
diff --git a/app/components/base/chat/chat/citation/index.tsx b/app/components/base/chat/chat/citation/index.tsx
index 9552492..2ca7b80 100644
--- a/app/components/base/chat/chat/citation/index.tsx
+++ b/app/components/base/chat/chat/citation/index.tsx
@@ -76,18 +76,18 @@
   const resourcesLength = resources.length
 
   return (
-    <div className='-mb-1 mt-3'>
-      <div className='system-xs-medium mb-2 flex items-center text-text-tertiary'>
+    <div className='mt-3 -mb-1'>
+      <div className='flex items-center mb-2 text-xs font-medium text-gray-500'>
         {t('common.chat.citation.title')}
-        <div className='ml-2 h-[1px] grow bg-divider-regular' />
+        <div className='grow ml-2 h-[1px] bg-black/5' />
       </div>
       <div className='relative flex flex-wrap'>
         {
           resources.map((res, index) => (
             <div
               key={index}
-              className='absolute left-0 top-0 -z-10 mb-1 mr-1 h-7 w-auto max-w-[240px] whitespace-nowrap pl-7 pr-2 text-xs opacity-0'
-              ref={(ele: any) => (elesRef.current[index] = ele!)}
+              className='absolute top-0 left-0 w-auto mr-1 mb-1 pl-7 pr-2 max-w-[240px] h-7 text-xs whitespace-nowrap opacity-0 -z-10'
+              ref={ele => (elesRef.current[index] = ele!)}
             >
               {res.documentName}
             </div>
@@ -95,7 +95,7 @@
         }
         {
           resources.slice(0, showMore ? resourcesLength : limitNumberInOneLine).map((res, index) => (
-            <div key={index} className='mb-1 mr-1 cursor-pointer'>
+            <div key={index} className='mr-1 mb-1 cursor-pointer'>
               <Popup
                 data={res}
                 showHitInfo={showHitInfo}
@@ -106,13 +106,13 @@
         {
           limitNumberInOneLine < resourcesLength && (
             <div
-              className='system-xs-medium flex h-7 cursor-pointer items-center rounded-lg bg-components-panel-bg px-2 text-text-tertiary'
+              className='flex items-center px-2 h-7 bg-white rounded-lg text-xs font-medium text-gray-500 cursor-pointer'
               onClick={() => setShowMore(v => !v)}
             >
               {
                 !showMore
                   ? `+ ${resourcesLength - limitNumberInOneLine}`
-                  : <RiArrowDownSLine className='h-4 w-4 rotate-180 text-text-tertiary' />
+                  : <RiArrowDownSLine className='w-4 h-4 text-gray-600 rotate-180' />
               }
             </div>
           )
diff --git a/app/components/base/chat/chat/citation/popup.tsx b/app/components/base/chat/chat/citation/popup.tsx
index c26f427..9b98329 100644
--- a/app/components/base/chat/chat/citation/popup.tsx
+++ b/app/components/base/chat/chat/citation/popup.tsx
@@ -47,29 +47,29 @@
       }}
     >
       <PortalToFollowElemTrigger onClick={() => setOpen(v => !v)}>
-        <div className='flex h-7 max-w-[240px] items-center rounded-lg bg-components-button-secondary-bg px-2'>
-          <FileIcon type={fileType} className='mr-1 h-4 w-4 shrink-0' />
-          <div className='truncate text-xs text-text-tertiary'>{data.documentName}</div>
+        <div className='flex items-center px-2 max-w-[240px] h-7 bg-white rounded-lg'>
+          <FileIcon type={fileType} className='shrink-0 mr-1 w-4 h-4' />
+          <div className='text-xs text-gray-600 truncate'>{data.documentName}</div>
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 1000 }}>
-        <div className='max-w-[360px] rounded-xl bg-background-section-burn shadow-lg'>
-          <div className='px-4 pb-2 pt-3'>
-            <div className='flex h-[18px] items-center'>
-              <FileIcon type={fileType} className='mr-1 h-4 w-4 shrink-0' />
-              <div className='system-xs-medium truncate text-text-tertiary'>{data.documentName}</div>
+        <div className='max-w-[360px] bg-gray-50 rounded-xl shadow-lg'>
+          <div className='px-4 pt-3 pb-2'>
+            <div className='flex items-center h-[18px]'>
+              <FileIcon type={fileType} className='shrink-0 mr-1 w-4 h-4' />
+              <div className='text-xs font-medium text-gray-600 truncate'>{data.documentName}</div>
             </div>
           </div>
-          <div className='max-h-[450px] overflow-y-auto rounded-lg bg-components-panel-bg px-4 py-0.5'>
+          <div className='px-4 py-0.5 max-h-[450px] bg-white rounded-lg overflow-y-auto'>
             <div className='w-full'>
               {
                 data.sources.map((source, index) => (
                   <Fragment key={index}>
                     <div className='group py-3'>
-                      <div className='mb-2 flex items-center justify-between'>
-                        <div className='flex h-5 items-center rounded-md border border-divider-subtle px-1.5'>
-                          <Hash02 className='mr-0.5 h-3 w-3 text-text-quaternary' />
-                          <div className='text-[11px] font-medium text-text-tertiary'>
+                      <div className='flex items-center justify-between mb-2'>
+                        <div className='flex items-center px-1.5 h-5 border border-gray-200 rounded-md'>
+                          <Hash02 className='mr-0.5 w-3 h-3 text-gray-400' />
+                          <div className='text-[11px] font-medium text-gray-500'>
                             {source.segment_position || index + 1}
                           </div>
                         </div>
@@ -77,31 +77,31 @@
                           showHitInfo && (
                             <Link
                               href={`/datasets/${source.dataset_id}/documents/${source.document_id}`}
-                              className='hidden h-[18px] items-center text-xs text-text-accent group-hover:flex'>
+                              className='hidden items-center h-[18px] text-xs text-primary-600 group-hover:flex'>
                               {t('common.chat.citation.linkToDataset')}
-                              <ArrowUpRight className='ml-1 h-3 w-3' />
+                              <ArrowUpRight className='ml-1 w-3 h-3' />
                             </Link>
                           )
                         }
                       </div>
-                      <div className='break-words text-[13px] text-text-secondary'>{source.content}</div>
+                      <div className='text-[13px] text-gray-800 break-words'>{source.content}</div>
                       {
                         showHitInfo && (
-                          <div className='system-xs-medium mt-2 flex flex-wrap items-center text-text-quaternary'>
+                          <div className='flex items-center mt-2 text-xs font-medium text-gray-500 flex-wrap'>
                             <Tooltip
                               text={t('common.chat.citation.characters')}
                               data={source.word_count}
-                              icon={<TypeSquare className='mr-1 h-3 w-3' />}
+                              icon={<TypeSquare className='mr-1 w-3 h-3' />}
                             />
                             <Tooltip
                               text={t('common.chat.citation.hitCount')}
                               data={source.hit_count}
-                              icon={<Target04 className='mr-1 h-3 w-3' />}
+                              icon={<Target04 className='mr-1 w-3 h-3' />}
                             />
                             <Tooltip
                               text={t('common.chat.citation.vectorHash')}
                               data={source.index_node_hash?.substring(0, 7)}
-                              icon={<BezierCurve03 className='mr-1 h-3 w-3' />}
+                              icon={<BezierCurve03 className='mr-1 w-3 h-3' />}
                             />
                             {
                               source.score && (
@@ -114,7 +114,7 @@
                     </div>
                     {
                       index !== data.sources.length - 1 && (
-                        <div className='my-1 h-[1px] bg-divider-regular' />
+                        <div className='my-1 h-[1px] bg-black/5' />
                       )
                     }
                   </Fragment>
diff --git a/app/components/base/chat/chat/citation/progress-tooltip.tsx b/app/components/base/chat/chat/citation/progress-tooltip.tsx
index e1f2404..1f24d84 100644
--- a/app/components/base/chat/chat/citation/progress-tooltip.tsx
+++ b/app/components/base/chat/chat/citation/progress-tooltip.tsx
@@ -27,15 +27,15 @@
         onMouseEnter={() => setOpen(true)}
         onMouseLeave={() => setOpen(false)}
       >
-        <div className='flex grow items-center'>
-          <div className='mr-1 h-1.5 w-16 overflow-hidden rounded-[3px] border border-components-progress-gray-border'>
-            <div className='h-full bg-components-progress-gray-progress' style={{ width: `${data * 100}%` }}></div>
+        <div className='grow flex items-center'>
+          <div className='mr-1 w-16 h-1.5 rounded-[3px] border border-gray-400 overflow-hidden'>
+            <div className='bg-gray-400 h-full' style={{ width: `${data * 100}%` }}></div>
           </div>
           {data}
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 1001 }}>
-        <div className='system-xs-medium rounded-lg bg-components-tooltip-bg p-3 text-text-quaternary shadow-lg'>
+        <div className='p-3 bg-white text-xs font-medium text-gray-500 rounded-lg shadow-lg'>
           {t('common.chat.citation.hitScore')} {data}
         </div>
       </PortalToFollowElemContent>
diff --git a/app/components/base/chat/chat/citation/tooltip.tsx b/app/components/base/chat/chat/citation/tooltip.tsx
index 8d58e9a..794b22b 100644
--- a/app/components/base/chat/chat/citation/tooltip.tsx
+++ b/app/components/base/chat/chat/citation/tooltip.tsx
@@ -29,13 +29,13 @@
         onMouseEnter={() => setOpen(true)}
         onMouseLeave={() => setOpen(false)}
       >
-        <div className='mr-6 flex items-center'>
+        <div className='flex items-center mr-6'>
           {icon}
           {data}
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 1001 }}>
-        <div className='system-xs-medium rounded-lg bg-components-tooltip-bg p-3 text-text-quaternary shadow-lg'>
+        <div className='p-3 bg-white text-xs font-medium text-gray-500 rounded-lg shadow-lg'>
           {text} {data}
         </div>
       </PortalToFollowElemContent>
diff --git a/app/components/base/chat/chat/hooks.ts b/app/components/base/chat/chat/hooks.ts
index fde4674..bcd08c8 100644
--- a/app/components/base/chat/chat/hooks.ts
+++ b/app/components/base/chat/chat/hooks.ts
@@ -34,7 +34,6 @@
   getProcessedFiles,
   getProcessedFilesFromResponse,
 } from '@/app/components/base/file-uploader/utils'
-import { noop } from 'lodash-es'
 
 type GetAbortController = (abortController: AbortController) => void
 type SendCallback = {
@@ -52,8 +51,6 @@
   },
   prevChatTree?: ChatItemInTree[],
   stopChat?: (taskId: string) => void,
-  clearChatList?: boolean,
-  clearChatListCallback?: (state: boolean) => void,
 ) => {
   const { t } = useTranslation()
   const { formatTime } = useTimestamp()
@@ -93,7 +90,7 @@
       }
       else {
         ret.unshift({
-          id: 'opening-statement',
+          id: `${Date.now()}`,
           content: getIntroduction(config.opening_statement),
           isAnswer: true,
           isOpeningStatement: true,
@@ -166,13 +163,12 @@
       suggestedQuestionsAbortControllerRef.current.abort()
   }, [stopChat, handleResponding])
 
-  const handleRestart = useCallback((cb?: any) => {
+  const handleRestart = useCallback(() => {
     conversationId.current = ''
     taskIdRef.current = ''
     handleStop()
     setChatTree([])
     setSuggestQuestions([])
-    cb?.()
   }, [handleStop])
 
   const updateCurrentQAOnTree = useCallback(({
@@ -309,7 +305,7 @@
       else
         ttsUrl = `/apps/${params.appId}/text-to-audio`
     }
-    const player = AudioPlayerManager.getInstance().getAudioPlayer(ttsUrl, ttsIsPublic, uuidV4(), 'none', 'none', noop)
+    const player = AudioPlayerManager.getInstance().getAudioPlayer(ttsUrl, ttsIsPublic, uuidV4(), 'none', 'none', (_: any): any => {})
     ssePost(
       url,
       {
@@ -401,7 +397,6 @@
               )
               setSuggestQuestions(data)
             }
-            // eslint-disable-next-line unused-imports/no-unused-vars
             catch (e) {
               setSuggestQuestions([])
             }
@@ -424,8 +419,6 @@
           const response = responseItem as any
           if (thought.message_id && !hasSetResponseId)
             response.id = thought.message_id
-          if (thought.conversation_id)
-            response.conversationId = thought.conversation_id
 
           if (response.agent_thoughts.length === 0) {
             response.agent_thoughts.push(thought)
@@ -514,7 +507,7 @@
           responseItem.workflowProcess!.tracing!.push({
             ...iterationStartedData,
             status: WorkflowRunningStatus.Running,
-          })
+          } as any)
           updateCurrentQAOnTree({
             placeholderQuestionId,
             questionItem,
@@ -530,7 +523,7 @@
             ...tracing[iterationIndex],
             ...iterationFinishedData,
             status: WorkflowRunningStatus.Succeeded,
-          }
+          } as any
 
           updateCurrentQAOnTree({
             placeholderQuestionId,
@@ -543,13 +536,10 @@
           if (nodeStartedData.iteration_id)
             return
 
-          if (data.loop_id)
-            return
-
           responseItem.workflowProcess!.tracing!.push({
             ...nodeStartedData,
             status: WorkflowRunningStatus.Running,
-          })
+          } as any)
           updateCurrentQAOnTree({
             placeholderQuestionId,
             questionItem,
@@ -561,14 +551,11 @@
           if (nodeFinishedData.iteration_id)
             return
 
-          if (data.loop_id)
-            return
-
           const currentIndex = responseItem.workflowProcess!.tracing!.findIndex((item) => {
             if (!item.execution_metadata?.parallel_id)
               return item.node_id === nodeFinishedData.node_id
 
-            return item.node_id === nodeFinishedData.node_id && (item.execution_metadata?.parallel_id === nodeFinishedData.execution_metadata?.parallel_id)
+            return item.node_id === nodeFinishedData.node_id && (item.execution_metadata?.parallel_id === nodeFinishedData.execution_metadata.parallel_id)
           })
           responseItem.workflowProcess!.tracing[currentIndex] = nodeFinishedData as any
 
@@ -587,35 +574,6 @@
         },
         onTTSEnd: (messageId: string, audio: string) => {
           player.playAudioWithAudio(audio, false)
-        },
-        onLoopStart: ({ data: loopStartedData }) => {
-          responseItem.workflowProcess!.tracing!.push({
-            ...loopStartedData,
-            status: WorkflowRunningStatus.Running,
-          })
-          updateCurrentQAOnTree({
-            placeholderQuestionId,
-            questionItem,
-            responseItem,
-            parentId: data.parent_message_id,
-          })
-        },
-        onLoopFinish: ({ data: loopFinishedData }) => {
-          const tracing = responseItem.workflowProcess!.tracing!
-          const loopIndex = tracing.findIndex(item => item.node_id === loopFinishedData.node_id
-            && (item.execution_metadata?.parallel_id === loopFinishedData.execution_metadata?.parallel_id || item.parallel_id === loopFinishedData.execution_metadata?.parallel_id))!
-          tracing[loopIndex] = {
-            ...tracing[loopIndex],
-            ...loopFinishedData,
-            status: WorkflowRunningStatus.Succeeded,
-          }
-
-          updateCurrentQAOnTree({
-            placeholderQuestionId,
-            questionItem,
-            responseItem,
-            parentId: data.parent_message_id,
-          })
         },
       })
     return true
@@ -687,11 +645,6 @@
       } as Annotation,
     })
   }, [chatList, updateChatTreeNode])
-
-  useEffect(() => {
-    if (clearChatList)
-      handleRestart(() => clearChatListCallback?.(false))
-  }, [clearChatList, clearChatListCallback, handleRestart])
 
   return {
     chatList,
diff --git a/app/components/base/chat/chat/index.tsx b/app/components/base/chat/chat/index.tsx
index 7c8eb23..e6de012 100644
--- a/app/components/base/chat/chat/index.tsx
+++ b/app/components/base/chat/chat/index.tsx
@@ -70,9 +70,6 @@
   showFileUpload?: boolean
   onFeatureBarClick?: (state: boolean) => void
   noSpacing?: boolean
-  inputDisabled?: boolean
-  isMobile?: boolean
-  sidebarCollapseState?: boolean
 }
 
 const Chat: FC<ChatProps> = ({
@@ -109,9 +106,6 @@
   showFileUpload,
   onFeatureBarClick,
   noSpacing,
-  inputDisabled,
-  isMobile,
-  sidebarCollapseState,
 }) => {
   const { t } = useTranslation()
   const { currentLogItem, setCurrentLogItem, showPromptLogModal, setShowPromptLogModal, showAgentLogModal, setShowAgentLogModal } = useAppStore(useShallow(state => ({
@@ -166,28 +160,19 @@
 
   useEffect(() => {
     if (chatFooterRef.current && chatContainerRef.current) {
-      // container padding bottom
-      const resizeContainerObserver = new ResizeObserver((entries) => {
+      const resizeObserver = new ResizeObserver((entries) => {
         for (const entry of entries) {
           const { blockSize } = entry.borderBoxSize[0]
+
           chatContainerRef.current!.style.paddingBottom = `${blockSize}px`
           handleScrollToBottom()
         }
       })
-      resizeContainerObserver.observe(chatFooterRef.current)
 
-      // footer width
-      const resizeFooterObserver = new ResizeObserver((entries) => {
-        for (const entry of entries) {
-          const { inlineSize } = entry.borderBoxSize[0]
-          chatFooterRef.current!.style.width = `${inlineSize}px`
-        }
-      })
-      resizeFooterObserver.observe(chatContainerRef.current)
+      resizeObserver.observe(chatFooterRef.current)
 
       return () => {
-        resizeContainerObserver.disconnect()
-        resizeFooterObserver.disconnect()
+        resizeObserver.disconnect()
       }
     }
   }, [handleScrollToBottom])
@@ -196,19 +181,13 @@
     const chatContainer = chatContainerRef.current
     if (chatContainer) {
       const setUserScrolled = () => {
-        // eslint-disable-next-line sonarjs/no-gratuitous-expressions
-        if (chatContainer) // its in event callback, chatContainer may be null
-          userScrolledRef.current = chatContainer.scrollHeight - chatContainer.scrollTop > chatContainer.clientHeight
+        if (chatContainer)
+          userScrolledRef.current = chatContainer.scrollHeight - chatContainer.scrollTop >= chatContainer.clientHeight + 300
       }
       chatContainer.addEventListener('scroll', setUserScrolled)
       return () => chatContainer.removeEventListener('scroll', setUserScrolled)
     }
   }, [])
-
-  useEffect(() => {
-    if (!sidebarCollapseState)
-      setTimeout(() => handleWindowResize(), 200)
-  }, [handleWindowResize, sidebarCollapseState])
 
   const hasTryToAsk = config?.suggested_questions_after_answer?.enabled && !!suggestedQuestions?.length && onSend
 
@@ -265,8 +244,6 @@
                     item={item}
                     questionIcon={questionIcon}
                     theme={themeBuilder?.theme}
-                    enableEdit={config?.questionEditEnable}
-                    switchSibling={switchSibling}
                   />
                 )
               })
@@ -274,8 +251,11 @@
           </div>
         </div>
         <div
-          className={`absolute bottom-0 flex justify-center bg-chat-input-mask ${(hasTryToAsk || !noChatInput || !noStopResponding) && chatFooterClassName}`}
+          className={`absolute bottom-0 ${(hasTryToAsk || !noChatInput || !noStopResponding) && chatFooterClassName}`}
           ref={chatFooterRef}
+          style={{
+            background: 'linear-gradient(0deg, #F9FAFB 40%, rgba(255, 255, 255, 0.00) 100%)',
+          }}
         >
           <div
             ref={chatFooterInnerRef}
@@ -283,10 +263,10 @@
           >
             {
               !noStopResponding && isResponding && (
-                <div className='mb-2 flex justify-center'>
+                <div className='flex justify-center mb-2'>
                   <Button onClick={onStopResponding}>
-                    <StopCircle className='mr-[5px] h-3.5 w-3.5 text-gray-500' />
-                    <span className='text-xs font-normal text-gray-500'>{t('appDebug.operation.stopResponding')}</span>
+                    <StopCircle className='mr-[5px] w-3.5 h-3.5 text-gray-500' />
+                    <span className='text-xs text-gray-500 font-normal'>{t('appDebug.operation.stopResponding')}</span>
                   </Button>
                 </div>
               )
@@ -296,14 +276,12 @@
                 <TryToAsk
                   suggestedQuestions={suggestedQuestions}
                   onSend={onSend}
-                  isMobile={isMobile}
                 />
               )
             }
             {
               !noChatInput && (
                 <ChatInputArea
-                  disabled={inputDisabled}
                   showFeatureBar={showFeatureBar}
                   showFileUpload={showFileUpload}
                   featureBarDisabled={isResponding}
diff --git a/app/components/base/chat/chat/loading-anim/style.module.css b/app/components/base/chat/chat/loading-anim/style.module.css
index b1371ec..5a764db 100644
--- a/app/components/base/chat/chat/loading-anim/style.module.css
+++ b/app/components/base/chat/chat/loading-anim/style.module.css
@@ -79,4 +79,4 @@
 
 .avatar::after {
   left: 5px;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/chat/chat/log/index.tsx b/app/components/base/chat/chat/log/index.tsx
index 5963e12..c2b9761 100644
--- a/app/components/base/chat/chat/log/index.tsx
+++ b/app/components/base/chat/chat/log/index.tsx
@@ -1,8 +1,8 @@
 import type { FC } from 'react'
-import { RiFileList3Line } from '@remixicon/react'
+import { useTranslation } from 'react-i18next'
+import { File02 } from '@/app/components/base/icons/src/vender/line/files'
 import type { IChatItem } from '@/app/components/base/chat/chat/type'
 import { useStore as useAppStore } from '@/app/components/app/store'
-import ActionButton from '@/app/components/base/action-button'
 
 type LogProps = {
   logItem: IChatItem
@@ -10,6 +10,7 @@
 const Log: FC<LogProps> = ({
   logItem,
 }) => {
+  const { t } = useTranslation()
   const setCurrentLogItem = useAppStore(s => s.setCurrentLogItem)
   const setShowPromptLogModal = useAppStore(s => s.setShowPromptLogModal)
   const setShowAgentLogModal = useAppStore(s => s.setShowAgentLogModal)
@@ -19,7 +20,7 @@
 
   return (
     <div
-      className='ml-1 flex items-center gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm'
+      className='shrink-0 p-1 flex items-center justify-center rounded-[6px] font-medium text-gray-500 hover:bg-gray-50 cursor-pointer hover:text-gray-700'
       onClick={(e) => {
         e.stopPropagation()
         e.nativeEvent.stopImmediatePropagation()
@@ -32,9 +33,8 @@
           setShowPromptLogModal(true)
       }}
     >
-      <ActionButton>
-        <RiFileList3Line className='h-4 w-4' />
-      </ActionButton>
+      <File02 className='mr-1 w-4 h-4' />
+      <div className='text-xs leading-4'>{runID ? t('appLog.viewLog') : isAgent ? t('appLog.agentLog') : t('appLog.promptLog')}</div>
     </div>
   )
 }
diff --git a/app/components/base/chat/chat/question.stories.tsx b/app/components/base/chat/chat/question.stories.tsx
index 9c0eb8c..450e88d 100644
--- a/app/components/base/chat/chat/question.stories.tsx
+++ b/app/components/base/chat/chat/question.stories.tsx
@@ -26,8 +26,8 @@
       content: 'You are a helpful assistant.',
     } satisfies ChatItem,
     theme: undefined,
-    questionIcon: <div className='h-full w-full rounded-full border-[0.5px] border-black/5'>
-      <User className='h-full w-full' />
+    questionIcon: <div className='w-full h-full rounded-full border-[0.5px] border-black/5'>
+      <User className='w-full h-full' />
     </div>,
   },
 }
diff --git a/app/components/base/chat/chat/question.tsx b/app/components/base/chat/chat/question.tsx
index 8fc49d1..7052c1f 100644
--- a/app/components/base/chat/chat/question.tsx
+++ b/app/components/base/chat/chat/question.tsx
@@ -4,169 +4,54 @@
 } from 'react'
 import {
   memo,
-  useCallback,
-  useEffect,
-  useRef,
-  useState,
 } from 'react'
 import type { ChatItem } from '../types'
 import type { Theme } from '../embedded-chatbot/theme/theme-context'
 import { CssTransform } from '../embedded-chatbot/theme/utils'
-import ContentSwitch from './content-switch'
 import { User } from '@/app/components/base/icons/src/public/avatar'
 import { Markdown } from '@/app/components/base/markdown'
 import { FileList } from '@/app/components/base/file-uploader'
-import ActionButton from '../../action-button'
-import { RiClipboardLine, RiEditLine } from '@remixicon/react'
-import Toast from '../../toast'
-import copy from 'copy-to-clipboard'
-import { useTranslation } from 'react-i18next'
-import cn from '@/utils/classnames'
-import Textarea from 'react-textarea-autosize'
-import Button from '../../button'
-import { useChatContext } from './context'
 
 type QuestionProps = {
   item: ChatItem
   questionIcon?: ReactNode
   theme: Theme | null | undefined
-  enableEdit?: boolean
-  switchSibling?: (siblingMessageId: string) => void
 }
-
 const Question: FC<QuestionProps> = ({
   item,
   questionIcon,
   theme,
-  enableEdit = true,
-  switchSibling,
 }) => {
-  const { t } = useTranslation()
-
   const {
     content,
     message_files,
   } = item
 
-  const {
-    onRegenerate,
-  } = useChatContext()
-
-  const [isEditing, setIsEditing] = useState(false)
-  const [editedContent, setEditedContent] = useState(content)
-  const [contentWidth, setContentWidth] = useState(0)
-  const contentRef = useRef<HTMLDivElement>(null)
-
-  const handleEdit = useCallback(() => {
-    setIsEditing(true)
-    setEditedContent(content)
-  }, [content])
-
-  const handleResend = useCallback(() => {
-    setIsEditing(false)
-    onRegenerate?.(item, { message: editedContent, files: message_files })
-  }, [editedContent, message_files, item, onRegenerate])
-
-  const handleCancelEditing = useCallback(() => {
-    setIsEditing(false)
-    setEditedContent(content)
-  }, [content])
-
-  const handleSwitchSibling = useCallback((direction: 'prev' | 'next') => {
-    if (direction === 'prev')
-      item.prevSibling && switchSibling?.(item.prevSibling)
-    else
-      item.nextSibling && switchSibling?.(item.nextSibling)
-  }, [switchSibling, item.prevSibling, item.nextSibling])
-
-  const getContentWidth = () => {
-    if (contentRef.current)
-      setContentWidth(contentRef.current?.clientWidth)
-  }
-
-  useEffect(() => {
-    if (!contentRef.current)
-      return
-    const resizeObserver = new ResizeObserver(() => {
-      getContentWidth()
-    })
-    resizeObserver.observe(contentRef.current)
-    return () => {
-      resizeObserver.disconnect()
-    }
-  }, [])
-
   return (
-    <div className='mb-2 flex justify-end last:mb-0'>
-      <div className={cn('group relative mr-4 flex max-w-full items-start pl-14', isEditing && 'flex-1')}>
-        <div className={cn('mr-2 gap-1', isEditing ? 'hidden' : 'flex')}>
-          <div
-            className="absolute hidden gap-0.5 rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-md backdrop-blur-sm group-hover:flex"
-            style={{ right: contentWidth + 8 }}
-          >
-            <ActionButton onClick={() => {
-              copy(content)
-              Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
-            }}>
-              <RiClipboardLine className='h-4 w-4' />
-            </ActionButton>
-            {enableEdit && <ActionButton onClick={handleEdit}>
-              <RiEditLine className='h-4 w-4' />
-            </ActionButton>}
-          </div>
-        </div>
+    <div className='flex justify-end mb-2 last:mb-0 pl-14'>
+      <div className='group relative mr-4 max-w-full'>
         <div
-          ref={contentRef}
-          className='w-full rounded-2xl bg-[#D1E9FF]/50 px-4 py-3 text-sm text-gray-900'
+          className='px-4 py-3 bg-[#D1E9FF]/50 rounded-2xl text-sm text-gray-900'
           style={theme?.chatBubbleColorStyle ? CssTransform(theme.chatBubbleColorStyle) : {}}
         >
           {
             !!message_files?.length && (
               <FileList
-                className='mb-2'
                 files={message_files}
                 showDeleteAction={false}
                 showDownloadAction={true}
               />
             )
           }
-          { !isEditing
-            ? <Markdown content={content} />
-            : <div className="
-                flex flex-col gap-2 rounded-xl
-                border border-components-chat-input-border bg-components-panel-bg-blur p-[9px] shadow-md
-              ">
-              <div className="max-h-[158px] overflow-y-auto overflow-x-hidden">
-                <Textarea
-                  className={cn(
-                    'body-lg-regular w-full p-1 leading-6 text-text-tertiary outline-none',
-                  )}
-                  autoFocus
-                  minRows={1}
-                  value={editedContent}
-                  onChange={e => setEditedContent(e.target.value)}
-                />
-              </div>
-              <div className="flex justify-end gap-2">
-                <Button variant='ghost' onClick={handleCancelEditing}>{t('common.operation.cancel')}</Button>
-                <Button variant='primary' onClick={handleResend}>{t('common.chat.resend')}</Button>
-              </div>
-            </div> }
-          { !isEditing && <ContentSwitch
-            count={item.siblingCount}
-            currentIndex={item.siblingIndex}
-            prevDisabled={!item.prevSibling}
-            nextDisabled={!item.nextSibling}
-            switchSibling={handleSwitchSibling}
-          />}
+          <Markdown content={content} />
         </div>
         <div className='mt-1 h-[18px]' />
       </div>
-      <div className='h-10 w-10 shrink-0'>
+      <div className='shrink-0 w-10 h-10'>
         {
           questionIcon || (
-            <div className='h-full w-full rounded-full border-[0.5px] border-black/5'>
-              <User className='h-full w-full' />
+            <div className='w-full h-full rounded-full border-[0.5px] border-black/5'>
+              <User className='w-full h-full' />
             </div>
           )
         }
diff --git a/app/components/base/chat/chat/thought/index.tsx b/app/components/base/chat/chat/thought/index.tsx
index 36f7e65..409f83d 100644
--- a/app/components/base/chat/chat/thought/index.tsx
+++ b/app/components/base/chat/chat/thought/index.tsx
@@ -14,7 +14,7 @@
     try {
       return JSON.parse(value)[index]
     }
-    catch {
+    catch (e) {
     }
   }
   return value
@@ -29,7 +29,7 @@
       if (Array.isArray(JSON.parse(thought.tool)))
         return [JSON.parse(thought.tool), true]
     }
-    catch {
+    catch (e) {
     }
     return [[thought.tool], false]
   })()
diff --git a/app/components/base/chat/chat/thought/panel.tsx b/app/components/base/chat/chat/thought/panel.tsx
index 541818c..2b0f1f9 100644
--- a/app/components/base/chat/chat/thought/panel.tsx
+++ b/app/components/base/chat/chat/thought/panel.tsx
@@ -17,11 +17,11 @@
   const { t } = useTranslation()
 
   return (
-    <div className='overflow-hidden rounded-md border border-black/5 bg-gray-100'>
-      <div className='flex items-center bg-gray-50 px-2 py-1 text-xs font-medium uppercase leading-[18px] text-gray-500'>
+    <div className='rounded-md bg-gray-100 overflow-hidden border border-black/5'>
+      <div className='flex items-center px-2 py-1 leading-[18px] bg-gray-50 uppercase text-xs font-medium text-gray-500'>
         {t(`tools.thought.${isRequest ? 'requestTitle' : 'responseTitle'}`)} {toolName}
       </div>
-      <div className='border-t border-black/5 p-2 text-xs leading-4 text-gray-700'>{content}</div>
+      <div className='p-2 border-t border-black/5 leading-4 text-xs text-gray-700'>{content}</div>
     </div>
   )
 }
diff --git a/app/components/base/chat/chat/thought/tool.tsx b/app/components/base/chat/chat/thought/tool.tsx
index d0a3c52..7d6a1a0 100644
--- a/app/components/base/chat/chat/thought/tool.tsx
+++ b/app/components/base/chat/chat/thought/tool.tsx
@@ -30,7 +30,7 @@
     typeof icon === 'string'
       ? (
         <div
-          className='h-3 w-3 shrink-0 rounded-[3px] bg-cover bg-center'
+          className='w-3 h-3 bg-cover bg-center rounded-[3px] shrink-0'
           style={{
             backgroundImage: `url(${icon})`,
           }}
@@ -38,7 +38,7 @@
       )
       : (
         <AppIcon
-          className='shrink-0 rounded-[3px]'
+          className='rounded-[3px] shrink-0'
           size='xs'
           icon={icon?.content}
           background={icon?.background}
@@ -58,35 +58,35 @@
   const icon = getIcon(name, allToolIcons) as any
   return (
     <div>
-      <div className={cn(!isShowDetail && 'shadow-sm', !isShowDetail && 'inline-block', 'max-w-full overflow-x-auto rounded-md bg-white')}>
+      <div className={cn(!isShowDetail && 'shadow-sm', !isShowDetail && 'inline-block', 'max-w-full overflow-x-auto bg-white rounded-md')}>
         <div
-          className={cn('flex h-7 cursor-pointer items-center px-2')}
+          className={cn('flex items-center h-7 px-2 cursor-pointer')}
           onClick={() => setIsShowDetail(!isShowDetail)}
         >
           {!isFinished && (
-            <RiLoader2Line className='h-3 w-3 shrink-0 animate-spin text-gray-500' />
+            <RiLoader2Line className='w-3 h-3 text-gray-500 animate-spin shrink-0' />
           )}
           {isFinished && !isShowDetail && (
-            <CheckCircle className='h-3 w-3 shrink-0 text-[#12B76A]' />
+            <CheckCircle className='w-3 h-3 text-[#12B76A] shrink-0' />
           )}
           {isFinished && isShowDetail && (
             icon
           )}
-          <span className='mx-1 shrink-0 text-xs font-medium text-gray-500'>
+          <span className='mx-1 text-xs font-medium text-gray-500 shrink-0'>
             {t(`tools.thought.${isFinished ? 'used' : 'using'}`)}
           </span>
           <span
-            className='truncate text-xs font-medium text-gray-700'
+            className='text-xs font-medium text-gray-700 truncate'
             title={toolLabel}
           >
             {toolLabel}
           </span>
           <RiArrowDownSLine
-            className={cn(isShowDetail && 'rotate-180', 'ml-1 h-3 w-3 shrink-0 cursor-pointer select-none text-gray-500')}
+            className={cn(isShowDetail && 'rotate-180', 'ml-1 w-3 h-3 text-gray-500 select-none cursor-pointer shrink-0')}
           />
         </div>
         {isShowDetail && (
-          <div className='space-y-2 border-t border-black/5 p-2 '>
+          <div className='border-t border-black/5 p-2 space-y-2 '>
             <Panel
               isRequest={true}
               toolName={toolName}
diff --git a/app/components/base/chat/chat/try-to-ask.tsx b/app/components/base/chat/chat/try-to-ask.tsx
index 7e3dcc9..94ae4df 100644
--- a/app/components/base/chat/chat/try-to-ask.tsx
+++ b/app/components/base/chat/chat/try-to-ask.tsx
@@ -2,37 +2,46 @@
 import { memo } from 'react'
 import { useTranslation } from 'react-i18next'
 import type { OnSend } from '../types'
+import { Star04 } from '@/app/components/base/icons/src/vender/solid/shapes'
 import Button from '@/app/components/base/button'
-import Divider from '@/app/components/base/divider'
-import cn from '@/utils/classnames'
 
 type TryToAskProps = {
   suggestedQuestions: string[]
   onSend: OnSend
-  isMobile?: boolean
 }
 const TryToAsk: FC<TryToAskProps> = ({
   suggestedQuestions,
   onSend,
-  isMobile,
 }) => {
   const { t } = useTranslation()
 
   return (
-    <div className='mb-2 py-2'>
-      <div className={cn('mb-2.5 flex items-center justify-between gap-2', isMobile && 'justify-end')}>
-        <Divider bgStyle='gradient' className='h-px grow rotate-180' />
-        <div className='system-xs-medium-uppercase shrink-0 text-text-tertiary'>{t('appDebug.feature.suggestedQuestionsAfterAnswer.tryToAsk')}</div>
-        {!isMobile && <Divider bgStyle='gradient' className='h-px grow' />}
+    <div>
+      <div className='flex items-center mb-2.5 py-2'>
+        <div
+          className='grow h-[1px]'
+          style={{
+            background: 'linear-gradient(270deg, #F3F4F6 0%, rgba(243, 244, 246, 0) 100%)',
+          }}
+        />
+        <div className='shrink-0 flex items-center px-3 text-gray-500'>
+          <Star04 className='mr-1 w-2.5 h-2.5' />
+          <span className='text-xs text-gray-500 font-medium'>{t('appDebug.feature.suggestedQuestionsAfterAnswer.tryToAsk')}</span>
+        </div>
+        <div
+          className='grow h-[1px]'
+          style={{
+            background: 'linear-gradient(270deg, rgba(243, 244, 246, 0) 0%, #F3F4F6 100%)',
+          }}
+        />
       </div>
-      <div className={cn('flex flex-wrap justify-center', isMobile && 'justify-end')}>
+      <div className='flex flex-wrap justify-center'>
         {
           suggestedQuestions.map((suggestQuestion, index) => (
             <Button
-              size='small'
               key={index}
               variant='secondary-accent'
-              className='mb-1 mr-1 last:mr-0'
+              className='mb-2 mr-2 last:mr-0'
               onClick={() => onSend(suggestQuestion)}
             >
               {suggestQuestion}
diff --git a/app/components/base/chat/chat/type.ts b/app/components/base/chat/chat/type.ts
index b37151f..7f22ba0 100644
--- a/app/components/base/chat/chat/type.ts
+++ b/app/components/base/chat/chat/type.ts
@@ -41,7 +41,6 @@
   tool_input: string
   tool_labels?: { [key: string]: TypeWithI18N }
   message_id: string
-  conversation_id: string
   observation: string
   position: number
   files?: string[]
diff --git a/app/components/base/chat/chat/utils.ts b/app/components/base/chat/chat/utils.ts
index 69bc680..34d00af 100644
--- a/app/components/base/chat/chat/utils.ts
+++ b/app/components/base/chat/chat/utils.ts
@@ -17,35 +17,15 @@
   })
 }
 
-export const processInputFileFromServer = (fileItem: Record<string, any>) => {
-  return {
-    type: fileItem.type,
-    transfer_method: fileItem.transfer_method,
-    url: fileItem.remote_url,
-    upload_file_id: fileItem.related_id,
-  }
-}
-
 export const getProcessedInputs = (inputs: Record<string, any>, inputsForm: InputForm[]) => {
   const processedInputs = { ...inputs }
 
   inputsForm.forEach((item) => {
-    const inputValue = inputs[item.variable]
-    if (!inputValue)
-      return
+    if (item.type === InputVarType.multiFiles && inputs[item.variable])
+      processedInputs[item.variable] = getProcessedFiles(inputs[item.variable])
 
-    if (item.type === InputVarType.singleFile) {
-      if ('transfer_method' in inputValue)
-        processedInputs[item.variable] = processInputFileFromServer(inputValue)
-      else
-        processedInputs[item.variable] = getProcessedFiles([inputValue])[0]
-    }
-    else if (item.type === InputVarType.multiFiles) {
-      if ('transfer_method' in inputValue[0])
-        processedInputs[item.variable] = inputValue.map(processInputFileFromServer)
-      else
-        processedInputs[item.variable] = getProcessedFiles(inputValue)
-    }
+    if (item.type === InputVarType.singleFile && inputs[item.variable])
+      processedInputs[item.variable] = getProcessedFiles([inputs[item.variable]])[0]
   })
 
   return processedInputs
diff --git a/app/components/base/chat/embedded-chatbot/chat-wrapper.tsx b/app/components/base/chat/embedded-chatbot/chat-wrapper.tsx
index a06930c..8d0af02 100644
--- a/app/components/base/chat/embedded-chatbot/chat-wrapper.tsx
+++ b/app/components/base/chat/embedded-chatbot/chat-wrapper.tsx
@@ -1,4 +1,4 @@
-import { useCallback, useEffect, useMemo, useState } from 'react'
+import { useCallback, useEffect, useMemo } from 'react'
 import Chat from '../chat'
 import type {
   ChatConfig,
@@ -9,22 +9,16 @@
 import { useChat } from '../chat/hooks'
 import { getLastAnswer, isValidGeneratedAnswer } from '../utils'
 import { useEmbeddedChatbotContext } from './context'
+import ConfigPanel from './config-panel'
 import { isDify } from './utils'
-import { InputVarType } from '@/app/components/workflow/types'
-import { TransferMethod } from '@/types/app'
-import InputsForm from '@/app/components/base/chat/embedded-chatbot/inputs-form'
+import cn from '@/utils/classnames'
 import {
   fetchSuggestedQuestions,
   getUrl,
   stopChatMessageResponding,
 } from '@/service/share'
-import AppIcon from '@/app/components/base/app-icon'
 import LogoAvatar from '@/app/components/base/logo/logo-embedded-chat-avatar'
 import AnswerIcon from '@/app/components/base/answer-icon'
-import SuggestedQuestions from '@/app/components/base/chat/chat/answer/suggested-questions'
-import { Markdown } from '@/app/components/base/markdown'
-import cn from '@/utils/classnames'
-import type { FileEntity } from '../../file-uploader/types'
 
 const ChatWrapper = () => {
   const {
@@ -33,10 +27,8 @@
     appPrevChatList,
     currentConversationId,
     currentConversationItem,
-    currentConversationInputs,
     inputsForms,
     newConversationInputs,
-    newConversationInputsRef,
     handleNewConversationCompleted,
     isMobile,
     isInstalledApp,
@@ -45,9 +37,6 @@
     handleFeedback,
     currentChatInstanceRef,
     themeBuilder,
-    clearChatList,
-    setClearChatList,
-    setIsResponding,
   } = useEmbeddedChatbotContext()
   const appConfig = useMemo(() => {
     const config = appParams || {}
@@ -67,65 +56,28 @@
     setTargetMessageId,
     handleSend,
     handleStop,
-    isResponding: respondingState,
+    isResponding,
     suggestedQuestions,
   } = useChat(
     appConfig,
     {
-      inputs: (currentConversationId ? currentConversationInputs : newConversationInputs) as any,
+      inputs: (currentConversationId ? currentConversationItem?.inputs : newConversationInputs) as any,
       inputsForm: inputsForms,
     },
     appPrevChatList,
     taskId => stopChatMessageResponding('', taskId, isInstalledApp, appId),
-    clearChatList,
-    setClearChatList,
   )
-  const inputsFormValue = currentConversationId ? currentConversationInputs : newConversationInputsRef?.current
-  const inputDisabled = useMemo(() => {
-    let hasEmptyInput = ''
-    let fileIsUploading = false
-    const requiredVars = inputsForms.filter(({ required }) => required)
-    if (requiredVars.length) {
-      requiredVars.forEach(({ variable, label, type }) => {
-        if (hasEmptyInput)
-          return
-
-        if (fileIsUploading)
-          return
-
-        if (!inputsFormValue?.[variable])
-          hasEmptyInput = label as string
-
-        if ((type === InputVarType.singleFile || type === InputVarType.multiFiles) && inputsFormValue?.[variable]) {
-          const files = inputsFormValue[variable]
-          if (Array.isArray(files))
-            fileIsUploading = files.find(item => item.transferMethod === TransferMethod.local_file && !item.uploadedId)
-          else
-            fileIsUploading = files.transferMethod === TransferMethod.local_file && !files.uploadedId
-        }
-      })
-    }
-    if (hasEmptyInput)
-      return true
-
-    if (fileIsUploading)
-      return true
-    return false
-  }, [inputsFormValue, inputsForms])
 
   useEffect(() => {
     if (currentChatInstanceRef.current)
       currentChatInstanceRef.current.handleStop = handleStop
   }, [currentChatInstanceRef, handleStop])
-  useEffect(() => {
-    setIsResponding(respondingState)
-  }, [respondingState, setIsResponding])
 
   const doSend: OnSend = useCallback((message, files, isRegenerate = false, parentAnswer: ChatItem | null = null) => {
     const data: any = {
       query: message,
       files,
-      inputs: currentConversationId ? currentConversationInputs : newConversationInputs,
+      inputs: currentConversationId ? currentConversationItem?.inputs : newConversationInputs,
       conversation_id: currentConversationId,
       parent_message_id: (isRegenerate ? parentAnswer?.id : getLastAnswer(chatList)?.id) || null,
     }
@@ -139,83 +91,43 @@
         isPublicAPI: !isInstalledApp,
       },
     )
-  }, [currentConversationId, currentConversationInputs, newConversationInputs, chatList, handleSend, isInstalledApp, appId, handleNewConversationCompleted])
+  }, [
+    chatList,
+    handleNewConversationCompleted,
+    handleSend,
+    currentConversationId,
+    currentConversationItem,
+    newConversationInputs,
+    isInstalledApp,
+    appId,
+  ])
 
-  const doRegenerate = useCallback((chatItem: ChatItemInTree, editedQuestion?: { message: string, files?: FileEntity[] }) => {
-    const question = editedQuestion ? chatItem : chatList.find(item => item.id === chatItem.parentMessageId)!
+  const doRegenerate = useCallback((chatItem: ChatItemInTree) => {
+    const question = chatList.find(item => item.id === chatItem.parentMessageId)!
     const parentAnswer = chatList.find(item => item.id === question.parentMessageId)
-    doSend(editedQuestion ? editedQuestion.message : question.content,
-      editedQuestion ? editedQuestion.files : question.message_files,
-      true,
-      isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null,
-    )
+    doSend(question.content, question.message_files, true, isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null)
   }, [chatList, doSend])
 
-  const messageList = useMemo(() => {
-    if (currentConversationId)
-      return chatList
-    return chatList.filter(item => !item.isOpeningStatement)
-  }, [chatList, currentConversationId])
-
-  const [collapsed, setCollapsed] = useState(!!currentConversationId)
-
   const chatNode = useMemo(() => {
-    if (!inputsForms.length)
-      return null
-    if (isMobile) {
-      if (!currentConversationId)
-        return <InputsForm collapsed={collapsed} setCollapsed={setCollapsed} />
-      return <div className='mb-4'></div>
-    }
-    else {
-      return <InputsForm collapsed={collapsed} setCollapsed={setCollapsed} />
-    }
-  }, [inputsForms.length, isMobile, currentConversationId, collapsed])
-
-  const welcome = useMemo(() => {
-    const welcomeMessage = chatList.find(item => item.isOpeningStatement)
-    if (respondingState)
-      return null
-    if (currentConversationId)
-      return null
-    if (!welcomeMessage)
-      return null
-    if (!collapsed && inputsForms.length > 0)
-      return null
-    if (welcomeMessage.suggestedQuestions && welcomeMessage.suggestedQuestions?.length > 0) {
+    if (inputsForms.length) {
       return (
-        <div className={cn('flex items-center justify-center px-4 py-12', isMobile ? 'min-h-[30vh] py-0' : 'h-[50vh]')}>
-          <div className='flex max-w-[720px] grow gap-4'>
-            <AppIcon
-              size='xl'
-              iconType={appData?.site.icon_type}
-              icon={appData?.site.icon}
-              background={appData?.site.icon_background}
-              imageUrl={appData?.site.icon_url}
-            />
-            <div className='body-lg-regular grow rounded-2xl bg-chat-bubble-bg px-4 py-3 text-text-primary'>
-              <Markdown content={welcomeMessage.content} />
-              <SuggestedQuestions item={welcomeMessage} />
+        <>
+          {!currentConversationId && (
+            <div className={cn('mx-auto w-full max-w-full tablet:px-4', isMobile && 'px-4')}>
+              <div className='mb-6' />
+              <ConfigPanel />
+              <div
+                className='my-6 h-[1px]'
+                style={{ background: 'linear-gradient(90deg, rgba(242, 244, 247, 0.00) 0%, #F2F4F7 49.17%, rgba(242, 244, 247, 0.00) 100%)' }}
+              />
             </div>
-          </div>
-        </div>
+          )}
+        </>
       )
     }
-    return (
-      <div className={cn('flex h-[50vh] flex-col items-center justify-center gap-3 py-12', isMobile ? 'min-h-[30vh] py-0' : 'h-[50vh]')}>
-        <AppIcon
-          size='xl'
-          iconType={appData?.site.icon_type}
-          icon={appData?.site.icon}
-          background={appData?.site.icon_background}
-          imageUrl={appData?.site.icon_url}
-        />
-        <div className='max-w-[768px] px-4'>
-          <Markdown className='!body-2xl-regular !text-text-tertiary' content={welcomeMessage.content} />
-        </div>
-      </div>
-    )
-  }, [appData?.site.icon, appData?.site.icon_background, appData?.site.icon_type, appData?.site.icon_url, chatList, collapsed, currentConversationId, inputsForms.length, respondingState])
+
+    return null
+  }, [currentConversationId, inputsForms, isMobile])
 
   const answerIcon = isDify()
     ? <LogoAvatar className='relative shrink-0' />
@@ -232,22 +144,17 @@
     <Chat
       appData={appData}
       config={appConfig}
-      chatList={messageList}
-      isResponding={respondingState}
-      chatContainerInnerClassName={cn('mx-auto w-full max-w-full pt-4 tablet:px-4', isMobile && 'px-4')}
-      chatFooterClassName={cn('pb-4', !isMobile && 'rounded-b-2xl')}
-      chatFooterInnerClassName={cn('mx-auto w-full max-w-full px-4', isMobile && 'px-2')}
+      chatList={chatList}
+      isResponding={isResponding}
+      chatContainerInnerClassName={cn('mx-auto w-full max-w-full tablet:px-4', isMobile && 'px-4')}
+      chatFooterClassName='pb-4'
+      chatFooterInnerClassName={cn('mx-auto w-full max-w-full tablet:px-4', isMobile && 'px-4')}
       onSend={doSend}
-      inputs={currentConversationId ? currentConversationInputs as any : newConversationInputs}
+      inputs={currentConversationId ? currentConversationItem?.inputs as any : newConversationInputs}
       inputsForm={inputsForms}
       onRegenerate={doRegenerate}
       onStopResponding={handleStop}
-      chatNode={
-        <>
-          {chatNode}
-          {welcome}
-        </>
-      }
+      chatNode={chatNode}
       allToolIcons={appMeta?.tool_icons || {}}
       onFeedback={handleFeedback}
       suggestedQuestions={suggestedQuestions}
@@ -255,8 +162,6 @@
       hideProcessDetail
       themeBuilder={themeBuilder}
       switchSibling={siblingMessageId => setTargetMessageId(siblingMessageId)}
-      inputDisabled={inputDisabled}
-      isMobile={isMobile}
     />
   )
 }
diff --git a/app/components/base/chat/embedded-chatbot/config-panel/form-input.tsx b/app/components/base/chat/embedded-chatbot/config-panel/form-input.tsx
new file mode 100644
index 0000000..9be0ff3
--- /dev/null
+++ b/app/components/base/chat/embedded-chatbot/config-panel/form-input.tsx
@@ -0,0 +1,47 @@
+import type { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+import { memo } from 'react'
+import Textarea from '@/app/components/base/textarea'
+
+type InputProps = {
+  form: any
+  value: string
+  onChange: (variable: string, value: string) => void
+}
+const FormInput: FC<InputProps> = ({
+  form,
+  value,
+  onChange,
+}) => {
+  const { t } = useTranslation()
+  const {
+    type,
+    label,
+    required,
+    max_length,
+    variable,
+  } = form
+
+  if (type === 'paragraph') {
+    return (
+      <Textarea
+        value={value}
+        className='resize-none'
+        onChange={e => onChange(variable, e.target.value)}
+        placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+      />
+    )
+  }
+
+  return (
+    <input
+      className='grow h-9 rounded-lg bg-gray-100 px-2.5 outline-none appearance-none'
+      value={value || ''}
+      maxLength={max_length}
+      onChange={e => onChange(variable, e.target.value)}
+      placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+    />
+  )
+}
+
+export default memo(FormInput)
diff --git a/app/components/base/chat/embedded-chatbot/config-panel/form.tsx b/app/components/base/chat/embedded-chatbot/config-panel/form.tsx
new file mode 100644
index 0000000..718b9a9
--- /dev/null
+++ b/app/components/base/chat/embedded-chatbot/config-panel/form.tsx
@@ -0,0 +1,129 @@
+import { useCallback } from 'react'
+import { useTranslation } from 'react-i18next'
+import { useEmbeddedChatbotContext } from '../context'
+import Input from './form-input'
+import { PortalSelect } from '@/app/components/base/select'
+import { InputVarType } from '@/app/components/workflow/types'
+import { FileUploaderInAttachmentWrapper } from '@/app/components/base/file-uploader'
+
+const Form = () => {
+  const { t } = useTranslation()
+  const {
+    appParams,
+    inputsForms,
+    newConversationInputs,
+    newConversationInputsRef,
+    handleNewConversationInputsChange,
+    isMobile,
+  } = useEmbeddedChatbotContext()
+
+  const handleFormChange = useCallback((variable: string, value: any) => {
+    handleNewConversationInputsChange({
+      ...newConversationInputsRef.current,
+      [variable]: value,
+    })
+  }, [newConversationInputsRef, handleNewConversationInputsChange])
+
+  const renderField = (form: any) => {
+    const {
+      label,
+      required,
+      variable,
+      options,
+    } = form
+
+    if (form.type === 'text-input' || form.type === 'paragraph') {
+      return (
+        <Input
+          form={form}
+          value={newConversationInputs[variable]}
+          onChange={handleFormChange}
+        />
+      )
+    }
+    if (form.type === 'number') {
+      return (
+        <input
+          className="grow h-9 rounded-lg bg-gray-100 px-2.5 outline-none appearance-none"
+          type="number"
+          value={newConversationInputs[variable] || ''}
+          onChange={e => handleFormChange(variable, e.target.value)}
+          placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+        />
+      )
+    }
+
+    if (form.type === 'number') {
+      return (
+        <input
+          className="grow h-9 rounded-lg bg-gray-100 px-2.5 outline-none appearance-none"
+          type="number"
+          value={newConversationInputs[variable] || ''}
+          onChange={e => handleFormChange(variable, e.target.value)}
+          placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+        />
+      )
+    }
+    if (form.type === InputVarType.singleFile) {
+      return (
+        <FileUploaderInAttachmentWrapper
+          value={newConversationInputs[variable] ? [newConversationInputs[variable]] : []}
+          onChange={files => handleFormChange(variable, files[0])}
+          fileConfig={{
+            allowed_file_types: form.allowed_file_types,
+            allowed_file_extensions: form.allowed_file_extensions,
+            allowed_file_upload_methods: form.allowed_file_upload_methods,
+            number_limits: 1,
+            fileUploadConfig: (appParams as any).system_parameters,
+          }}
+        />
+      )
+    }
+    if (form.type === InputVarType.multiFiles) {
+      return (
+        <FileUploaderInAttachmentWrapper
+          value={newConversationInputs[variable]}
+          onChange={files => handleFormChange(variable, files)}
+          fileConfig={{
+            allowed_file_types: form.allowed_file_types,
+            allowed_file_extensions: form.allowed_file_extensions,
+            allowed_file_upload_methods: form.allowed_file_upload_methods,
+            number_limits: form.max_length,
+            fileUploadConfig: (appParams as any).system_parameters,
+          }}
+        />
+      )
+    }
+
+    return (
+      <PortalSelect
+        popupClassName='w-[200px]'
+        value={newConversationInputs[variable]}
+        items={options.map((option: string) => ({ value: option, name: option }))}
+        onSelect={item => handleFormChange(variable, item.value as string)}
+        placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+      />
+    )
+  }
+
+  if (!inputsForms.length)
+    return null
+
+  return (
+    <div className='mb-4 py-2'>
+      {
+        inputsForms.map(form => (
+          <div
+            key={form.variable}
+            className={`flex mb-3 last-of-type:mb-0 text-sm text-gray-900 ${isMobile && '!flex-wrap'}`}
+          >
+            <div className={`shrink-0 mr-2 py-2 w-[128px] ${isMobile && '!w-full'}`}>{form.label}</div>
+            {renderField(form)}
+          </div>
+        ))
+      }
+    </div>
+  )
+}
+
+export default Form
diff --git a/app/components/base/chat/embedded-chatbot/config-panel/index.tsx b/app/components/base/chat/embedded-chatbot/config-panel/index.tsx
new file mode 100644
index 0000000..2cc46ca
--- /dev/null
+++ b/app/components/base/chat/embedded-chatbot/config-panel/index.tsx
@@ -0,0 +1,180 @@
+import { useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { useEmbeddedChatbotContext } from '../context'
+import { useThemeContext } from '../theme/theme-context'
+import { CssTransform } from '../theme/utils'
+import Form from './form'
+import cn from '@/utils/classnames'
+import Button from '@/app/components/base/button'
+import AppIcon from '@/app/components/base/app-icon'
+import { MessageDotsCircle } from '@/app/components/base/icons/src/vender/solid/communication'
+import { Edit02 } from '@/app/components/base/icons/src/vender/line/general'
+import { Star06 } from '@/app/components/base/icons/src/vender/solid/shapes'
+import LogoSite from '@/app/components/base/logo/logo-site'
+
+const ConfigPanel = () => {
+  const { t } = useTranslation()
+  const {
+    appData,
+    inputsForms,
+    handleStartChat,
+    showConfigPanelBeforeChat,
+    isMobile,
+  } = useEmbeddedChatbotContext()
+  const [collapsed, setCollapsed] = useState(true)
+  const customConfig = appData?.custom_config
+  const site = appData?.site
+  const themeBuilder = useThemeContext()
+
+  return (
+    <div className='flex flex-col max-h-[80%] w-full max-w-[720px]'>
+      <div
+        className={cn(
+          'grow rounded-xl overflow-y-auto',
+          showConfigPanelBeforeChat && 'border-[0.5px] border-gray-100 shadow-lg',
+          !showConfigPanelBeforeChat && collapsed && 'border border-indigo-100',
+          !showConfigPanelBeforeChat && !collapsed && 'border-[0.5px] border-gray-100 shadow-lg',
+        )}
+      >
+        <div
+          style={CssTransform(themeBuilder.theme?.roundedBackgroundColorStyle ?? '')}
+          className={`
+            flex flex-wrap px-6 py-4 rounded-t-xl bg-indigo-25
+            ${isMobile && '!px-4 !py-3'}
+          `}
+        >
+          {
+            showConfigPanelBeforeChat && (
+              <>
+                <div className='flex items-center h-8 text-2xl font-semibold text-gray-800'>
+                  <AppIcon
+                    iconType={appData?.site.icon_type}
+                    icon={appData?.site.icon}
+                    imageUrl={appData?.site.icon_url}
+                    background='transparent'
+                    size='small'
+                    className="mr-2"
+                  />
+                  {appData?.site.title}
+                </div>
+                {
+                  appData?.site.description && (
+                    <div className='mt-2 w-full text-sm text-gray-500'>
+                      {appData?.site.description}
+                    </div>
+                  )
+                }
+              </>
+            )
+          }
+          {
+            !showConfigPanelBeforeChat && collapsed && (
+              <>
+                <Star06 className='mr-1 mt-1 w-4 h-4 text-indigo-600' />
+                <div className='grow py-[3px] text-[13px] text-indigo-600 leading-[18px] font-medium'>
+                  {t('share.chat.configStatusDes')}
+                </div>
+                <Button
+                  styleCss={CssTransform(themeBuilder.theme?.backgroundButtonDefaultColorStyle ?? '')}
+                  variant='secondary-accent'
+                  size='small'
+                  className='shrink-0'
+                  onClick={() => setCollapsed(false)}
+                >
+                  <Edit02 className='mr-1 w-3 h-3' />
+                  {t('common.operation.edit')}
+                </Button>
+              </>
+            )
+          }
+          {
+            !showConfigPanelBeforeChat && !collapsed && (
+              <>
+                <Star06 className='mr-1 mt-1 w-4 h-4 text-indigo-600' />
+                <div className='grow py-[3px] text-[13px] text-indigo-600 leading-[18px] font-medium'>
+                  {t('share.chat.privatePromptConfigTitle')}
+                </div>
+              </>
+            )
+          }
+        </div>
+        {
+          !collapsed && !showConfigPanelBeforeChat && (
+            <div className='p-6 rounded-b-xl'>
+              <Form />
+              <div className={cn('pl-[136px] flex items-center', isMobile && '!pl-0')}>
+                <Button
+                  styleCss={CssTransform(themeBuilder.theme?.backgroundButtonDefaultColorStyle ?? '')}
+                  variant='primary'
+                  className='mr-2'
+                  onClick={() => {
+                    setCollapsed(true)
+                    handleStartChat()
+                  }}
+                >
+                  {t('common.operation.save')}
+                </Button>
+                <Button
+                  onClick={() => setCollapsed(true)}
+                >
+                  {t('common.operation.cancel')}
+                </Button>
+              </div>
+            </div>
+          )
+        }
+        {
+          showConfigPanelBeforeChat && (
+            <div className='p-6 rounded-b-xl'>
+              <Form />
+              <Button
+                styleCss={CssTransform(themeBuilder.theme?.backgroundButtonDefaultColorStyle ?? '')}
+                className={cn(inputsForms.length && !isMobile && 'ml-[136px]')}
+                variant='primary'
+                size='large'
+                onClick={handleStartChat}
+              >
+                <MessageDotsCircle className='mr-2 w-4 h-4 text-white' />
+                {t('share.chat.startChat')}
+              </Button>
+            </div>
+          )
+        }
+      </div>
+      {
+        showConfigPanelBeforeChat && (site || customConfig) && (
+          <div className='mt-4 flex flex-wrap justify-between items-center py-2 text-xs text-gray-400'>
+            {site?.privacy_policy
+              ? <div className={cn(isMobile && 'mb-2 w-full text-center')}>{t('share.chat.privacyPolicyLeft')}
+                <a
+                  className='text-gray-500 px-1'
+                  href={site?.privacy_policy}
+                  target='_blank' rel='noopener noreferrer'>{t('share.chat.privacyPolicyMiddle')}</a>
+                {t('share.chat.privacyPolicyRight')}
+              </div>
+              : <div>
+              </div>}
+            {
+              customConfig?.remove_webapp_brand
+                ? null
+                : (
+                  <div className={cn('flex items-center justify-end', isMobile && 'w-full')}>
+                    <div className='flex items-center pr-3 space-x-3'>
+                      <span className='uppercase'>{t('share.chat.poweredBy')}</span>
+                      {
+                        customConfig?.replace_webapp_logo
+                          ? <img src={customConfig?.replace_webapp_logo} alt='logo' className='block w-auto h-5' />
+                          : <LogoSite className='!h-5' />
+                      }
+                    </div>
+                  </div>
+                )
+            }
+          </div>
+        )
+      }
+    </div>
+  )
+}
+
+export default ConfigPanel
diff --git a/app/components/base/chat/embedded-chatbot/context.tsx b/app/components/base/chat/embedded-chatbot/context.tsx
index fb00dbd..f48247a 100644
--- a/app/components/base/chat/embedded-chatbot/context.tsx
+++ b/app/components/base/chat/embedded-chatbot/context.tsx
@@ -14,7 +14,6 @@
   AppMeta,
   ConversationItem,
 } from '@/models/share'
-import { noop } from 'lodash-es'
 
 export type EmbeddedChatbotContextValue = {
   appInfoError?: any
@@ -28,28 +27,22 @@
   appPrevChatList: ChatItem[]
   pinnedConversationList: AppConversationData['data']
   conversationList: AppConversationData['data']
+  showConfigPanelBeforeChat: boolean
   newConversationInputs: Record<string, any>
   newConversationInputsRef: RefObject<Record<string, any>>
   handleNewConversationInputsChange: (v: Record<string, any>) => void
   inputsForms: any[]
   handleNewConversation: () => void
-  handleStartChat: (callback?: any) => void
+  handleStartChat: () => void
   handleChangeConversation: (conversationId: string) => void
   handleNewConversationCompleted: (newConversationId: string) => void
   chatShouldReloadKey: string
   isMobile: boolean
   isInstalledApp: boolean
-  allowResetChat: boolean
   appId?: string
   handleFeedback: (messageId: string, feedback: Feedback) => void
   currentChatInstanceRef: RefObject<{ handleStop: () => void }>
   themeBuilder?: ThemeBuilder
-  clearChatList?: boolean
-  setClearChatList: (state: boolean) => void
-  isResponding?: boolean
-  setIsResponding: (state: boolean) => void,
-  currentConversationInputs: Record<string, any> | null,
-  setCurrentConversationInputs: (v: Record<string, any>) => void,
 }
 
 export const EmbeddedChatbotContext = createContext<EmbeddedChatbotContextValue>({
@@ -57,25 +50,19 @@
   appPrevChatList: [],
   pinnedConversationList: [],
   conversationList: [],
+  showConfigPanelBeforeChat: false,
   newConversationInputs: {},
   newConversationInputsRef: { current: {} },
-  handleNewConversationInputsChange: noop,
+  handleNewConversationInputsChange: () => {},
   inputsForms: [],
-  handleNewConversation: noop,
-  handleStartChat: noop,
-  handleChangeConversation: noop,
-  handleNewConversationCompleted: noop,
+  handleNewConversation: () => {},
+  handleStartChat: () => {},
+  handleChangeConversation: () => {},
+  handleNewConversationCompleted: () => {},
   chatShouldReloadKey: '',
   isMobile: false,
   isInstalledApp: false,
-  allowResetChat: true,
-  handleFeedback: noop,
-  currentChatInstanceRef: { current: { handleStop: noop } },
-  clearChatList: false,
-  setClearChatList: noop,
-  isResponding: false,
-  setIsResponding: noop,
-  currentConversationInputs: {},
-  setCurrentConversationInputs: noop,
+  handleFeedback: () => {},
+  currentChatInstanceRef: { current: { handleStop: () => {} } },
 })
 export const useEmbeddedChatbotContext = () => useContext(EmbeddedChatbotContext)
diff --git a/app/components/base/chat/embedded-chatbot/header.tsx b/app/components/base/chat/embedded-chatbot/header.tsx
new file mode 100644
index 0000000..a5c7443
--- /dev/null
+++ b/app/components/base/chat/embedded-chatbot/header.tsx
@@ -0,0 +1,56 @@
+import type { FC } from 'react'
+import React from 'react'
+import { RiRefreshLine } from '@remixicon/react'
+import { useTranslation } from 'react-i18next'
+import type { Theme } from './theme/theme-context'
+import { CssTransform } from './theme/utils'
+import Tooltip from '@/app/components/base/tooltip'
+
+export type IHeaderProps = {
+  isMobile?: boolean
+  customerIcon?: React.ReactNode
+  title: string
+  theme?: Theme
+  onCreateNewChat?: () => void
+}
+const Header: FC<IHeaderProps> = ({
+  isMobile,
+  customerIcon,
+  title,
+  theme,
+  onCreateNewChat,
+}) => {
+  const { t } = useTranslation()
+  if (!isMobile)
+    return null
+
+  return (
+    <div
+      className={`
+        shrink-0 flex items-center justify-between h-14 px-4 
+      `}
+      style={Object.assign({}, CssTransform(theme?.backgroundHeaderColorStyle ?? ''), CssTransform(theme?.headerBorderBottomStyle ?? '')) }
+    >
+      <div className="flex items-center space-x-2">
+        {customerIcon}
+        <div
+          className={'text-sm font-bold text-white'}
+          style={CssTransform(theme?.colorFontOnHeaderStyle ?? '')}
+        >
+          {title}
+        </div>
+      </div>
+      <Tooltip
+        popupContent={t('share.chat.resetChat')}
+      >
+        <div className='flex cursor-pointer hover:rounded-lg hover:bg-black/5 w-8 h-8 items-center justify-center' onClick={() => {
+          onCreateNewChat?.()
+        }}>
+          <RiRefreshLine className="h-4 w-4 text-sm font-bold text-white" color={theme?.colorPathOnHeader}/>
+        </div>
+      </Tooltip>
+    </div>
+  )
+}
+
+export default React.memo(Header)
diff --git a/app/components/base/chat/embedded-chatbot/hooks.tsx b/app/components/base/chat/embedded-chatbot/hooks.tsx
index 7efbc95..0a8bc09 100644
--- a/app/components/base/chat/embedded-chatbot/hooks.tsx
+++ b/app/components/base/chat/embedded-chatbot/hooks.tsx
@@ -11,12 +11,10 @@
 import produce from 'immer'
 import type {
   ChatConfig,
-  ChatItem,
   Feedback,
 } from '../types'
 import { CONVERSATION_ID_INFO } from '../constants'
-import { buildChatItemTree, getProcessedInputsFromUrlParams, getProcessedSystemVariablesFromUrlParams } from '../utils'
-import { getProcessedFilesFromResponse } from '../../file-uploader/utils'
+import { getPrevChatList, getProcessedInputsFromUrlParams } from '../utils'
 import {
   fetchAppInfo,
   fetchAppMeta,
@@ -34,34 +32,6 @@
 import { changeLanguage } from '@/i18n/i18next-config'
 import { InputVarType } from '@/app/components/workflow/types'
 import { TransferMethod } from '@/types/app'
-import { addFileInfos, sortAgentSorts } from '@/app/components/tools/utils'
-import { noop } from 'lodash-es'
-
-function getFormattedChatList(messages: any[]) {
-  const newChatList: ChatItem[] = []
-  messages.forEach((item) => {
-    const questionFiles = item.message_files?.filter((file: any) => file.belongs_to === 'user') || []
-    newChatList.push({
-      id: `question-${item.id}`,
-      content: item.query,
-      isAnswer: false,
-      message_files: getProcessedFilesFromResponse(questionFiles.map((item: any) => ({ ...item, related_id: item.id }))),
-      parentMessageId: item.parent_message_id || undefined,
-    })
-    const answerFiles = item.message_files?.filter((file: any) => file.belongs_to === 'assistant') || []
-    newChatList.push({
-      id: item.id,
-      content: item.answer,
-      agent_thoughts: addFileInfos(item.agent_thoughts ? sortAgentSorts(item.agent_thoughts) : item.agent_thoughts, item.message_files),
-      feedback: item.feedback,
-      isAnswer: true,
-      citation: item.retriever_resources,
-      message_files: getProcessedFilesFromResponse(answerFiles.map((item: any) => ({ ...item, related_id: item.id }))),
-      parentMessageId: `question-${item.id}`,
-    })
-  })
-  return newChatList
-}
 
 export const useEmbeddedChatbot = () => {
   const isInstalledApp = false
@@ -72,62 +42,24 @@
   }, [appInfo])
   const appId = useMemo(() => appData?.app_id, [appData])
 
-  const [userId, setUserId] = useState<string>()
-  const [conversationId, setConversationId] = useState<string>()
   useEffect(() => {
-    getProcessedSystemVariablesFromUrlParams().then(({ user_id, conversation_id }) => {
-      setUserId(user_id)
-      setConversationId(conversation_id)
-    })
-  }, [])
-
-  useEffect(() => {
-    const setLanguageFromParams = async () => {
-      // Check URL parameters for language override
-      const urlParams = new URLSearchParams(window.location.search)
-      const localeParam = urlParams.get('locale')
-
-      // Check for encoded system variables
-      const systemVariables = await getProcessedSystemVariablesFromUrlParams()
-      const localeFromSysVar = systemVariables.locale
-
-      if (localeParam) {
-        // If locale parameter exists in URL, use it instead of default
-        changeLanguage(localeParam)
-      }
-      else if (localeFromSysVar) {
-        // If locale is set as a system variable, use that
-        changeLanguage(localeFromSysVar)
-      }
-      else if (appInfo?.site.default_language) {
-        // Otherwise use the default from app config
-        changeLanguage(appInfo.site.default_language)
-      }
-    }
-
-    setLanguageFromParams()
+    if (appInfo?.site.default_language)
+      changeLanguage(appInfo.site.default_language)
   }, [appInfo])
 
-  const [conversationIdInfo, setConversationIdInfo] = useLocalStorageState<Record<string, Record<string, string>>>(CONVERSATION_ID_INFO, {
+  const [conversationIdInfo, setConversationIdInfo] = useLocalStorageState<Record<string, string>>(CONVERSATION_ID_INFO, {
     defaultValue: {},
   })
-  const allowResetChat = !conversationId
-  const currentConversationId = useMemo(() => conversationIdInfo?.[appId || '']?.[userId || 'DEFAULT'] || conversationId || '',
-    [appId, conversationIdInfo, userId, conversationId])
+  const currentConversationId = useMemo(() => conversationIdInfo?.[appId || ''] || '', [appId, conversationIdInfo])
   const handleConversationIdInfoChange = useCallback((changeConversationId: string) => {
     if (appId) {
-      let prevValue = conversationIdInfo?.[appId || '']
-      if (typeof prevValue === 'string')
-        prevValue = {}
       setConversationIdInfo({
         ...conversationIdInfo,
-        [appId || '']: {
-          ...prevValue,
-          [userId || 'DEFAULT']: changeConversationId,
-        },
+        [appId || '']: changeConversationId,
       })
     }
-  }, [appId, conversationIdInfo, setConversationIdInfo, userId])
+  }, [appId, conversationIdInfo, setConversationIdInfo])
+  const [showConfigPanelBeforeChat, setShowConfigPanelBeforeChat] = useState(true)
 
   const [newConversationId, setNewConversationId] = useState('')
   const chatShouldReloadKey = useMemo(() => {
@@ -143,11 +75,9 @@
   const { data: appConversationData, isLoading: appConversationDataLoading, mutate: mutateAppConversationData } = useSWR(['appConversationData', isInstalledApp, appId, false], () => fetchConversations(isInstalledApp, appId, undefined, false, 100))
   const { data: appChatListData, isLoading: appChatListDataLoading } = useSWR(chatShouldReloadKey ? ['appChatList', chatShouldReloadKey, isInstalledApp, appId] : null, () => fetchChatList(chatShouldReloadKey, isInstalledApp, appId))
 
-  const [clearChatList, setClearChatList] = useState(false)
-  const [isResponding, setIsResponding] = useState(false)
   const appPrevChatList = useMemo(
     () => (currentConversationId && appChatListData?.data.length)
-      ? buildChatItemTree(getFormattedChatList(appChatListData.data))
+      ? getPrevChatList(appChatListData.data)
       : [],
     [appChatListData, currentConversationId],
   )
@@ -223,10 +153,7 @@
 
   useEffect(() => {
     // init inputs from url params
-    (async () => {
-      const inputs = await getProcessedInputsFromUrlParams()
-      setInitInputs(inputs)
-    })()
+    setInitInputs(getProcessedInputsFromUrlParams())
   }, [])
   useEffect(() => {
     const conversationInputs: Record<string, any> = {}
@@ -279,17 +206,6 @@
     return conversationItem
   }, [conversationList, currentConversationId, pinnedConversationList])
 
-  const currentConversationLatestInputs = useMemo(() => {
-    if (!currentConversationId || !appChatListData?.data.length)
-      return newConversationInputsRef.current || {}
-    return appChatListData.data.slice().pop().inputs || {}
-  }, [appChatListData, currentConversationId])
-  const [currentConversationInputs, setCurrentConversationInputs] = useState<Record<string, any>>(currentConversationLatestInputs || {})
-  useEffect(() => {
-    if (currentConversationItem)
-      setCurrentConversationInputs(currentConversationLatestInputs || {})
-  }, [currentConversationItem, currentConversationLatestInputs])
-
   const { notify } = useToastContext()
   const checkInputsRequired = useCallback((silent?: boolean) => {
     let hasEmptyInput = ''
@@ -328,27 +244,37 @@
 
     return true
   }, [inputsForms, notify, t])
-  const handleStartChat = useCallback((callback?: any) => {
+  const handleStartChat = useCallback(() => {
     if (checkInputsRequired()) {
+      setShowConfigPanelBeforeChat(false)
       setShowNewConversationItemInList(true)
-      callback?.()
     }
-  }, [setShowNewConversationItemInList, checkInputsRequired])
-  const currentChatInstanceRef = useRef<{ handleStop: () => void }>({ handleStop: noop })
+  }, [setShowConfigPanelBeforeChat, setShowNewConversationItemInList, checkInputsRequired])
+  const currentChatInstanceRef = useRef<{ handleStop: () => void }>({ handleStop: () => { } })
   const handleChangeConversation = useCallback((conversationId: string) => {
     currentChatInstanceRef.current.handleStop()
     setNewConversationId('')
     handleConversationIdInfoChange(conversationId)
-    if (conversationId)
-      setClearChatList(false)
-  }, [handleConversationIdInfoChange, setClearChatList])
-  const handleNewConversation = useCallback(async () => {
+
+    if (conversationId === '' && !checkInputsRequired(true))
+      setShowConfigPanelBeforeChat(true)
+    else
+      setShowConfigPanelBeforeChat(false)
+  }, [handleConversationIdInfoChange, setShowConfigPanelBeforeChat, checkInputsRequired])
+  const handleNewConversation = useCallback(() => {
     currentChatInstanceRef.current.handleStop()
-    setShowNewConversationItemInList(true)
-    handleChangeConversation('')
-    handleNewConversationInputsChange(await getProcessedInputsFromUrlParams())
-    setClearChatList(true)
-  }, [handleChangeConversation, setShowNewConversationItemInList, handleNewConversationInputsChange, setClearChatList])
+    setNewConversationId('')
+
+    if (showNewConversationItemInList) {
+      handleChangeConversation('')
+    }
+    else if (currentConversationId) {
+      handleConversationIdInfoChange('')
+      setShowConfigPanelBeforeChat(true)
+      setShowNewConversationItemInList(true)
+      handleNewConversationInputsChange({})
+    }
+  }, [handleChangeConversation, currentConversationId, handleConversationIdInfoChange, setShowConfigPanelBeforeChat, setShowNewConversationItemInList, showNewConversationItemInList, handleNewConversationInputsChange])
 
   const handleNewConversationCompleted = useCallback((newConversationId: string) => {
     setNewConversationId(newConversationId)
@@ -366,7 +292,6 @@
     appInfoError,
     appInfoLoading,
     isInstalledApp,
-    allowResetChat,
     appId,
     currentConversationId,
     currentConversationItem,
@@ -382,6 +307,8 @@
     appPrevChatList,
     pinnedConversationList,
     conversationList,
+    showConfigPanelBeforeChat,
+    setShowConfigPanelBeforeChat,
     setShowNewConversationItemInList,
     newConversationInputs,
     newConversationInputsRef,
@@ -395,11 +322,5 @@
     chatShouldReloadKey,
     handleFeedback,
     currentChatInstanceRef,
-    clearChatList,
-    setClearChatList,
-    isResponding,
-    setIsResponding,
-    currentConversationInputs,
-    setCurrentConversationInputs,
   }
 }
diff --git a/app/components/base/chat/embedded-chatbot/index.tsx b/app/components/base/chat/embedded-chatbot/index.tsx
index 59c358a..703dde1 100644
--- a/app/components/base/chat/embedded-chatbot/index.tsx
+++ b/app/components/base/chat/embedded-chatbot/index.tsx
@@ -4,6 +4,7 @@
 } from 'react'
 import { useAsyncEffect } from 'ahooks'
 import { useTranslation } from 'react-i18next'
+import { RiLoopLeftLine } from '@remixicon/react'
 import {
   EmbeddedChatbotContext,
   useEmbeddedChatbotContext,
@@ -11,31 +12,32 @@
 import { useEmbeddedChatbot } from './hooks'
 import { isDify } from './utils'
 import { useThemeContext } from './theme/theme-context'
-import { CssTransform } from './theme/utils'
+import cn from '@/utils/classnames'
 import { checkOrSetAccessToken } from '@/app/components/share/utils'
 import AppUnavailable from '@/app/components/base/app-unavailable'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import Loading from '@/app/components/base/loading'
 import LogoHeader from '@/app/components/base/logo/logo-embedded-chat-header'
 import Header from '@/app/components/base/chat/embedded-chatbot/header'
+import ConfigPanel from '@/app/components/base/chat/embedded-chatbot/config-panel'
 import ChatWrapper from '@/app/components/base/chat/embedded-chatbot/chat-wrapper'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
-import cn from '@/utils/classnames'
+import Tooltip from '@/app/components/base/tooltip'
 
 const Chatbot = () => {
+  const { t } = useTranslation()
   const {
     isMobile,
-    allowResetChat,
     appInfoError,
     appInfoLoading,
     appData,
+    appPrevChatList,
+    showConfigPanelBeforeChat,
     appChatListDataLoading,
-    chatShouldReloadKey,
     handleNewConversation,
     themeBuilder,
   } = useEmbeddedChatbotContext()
-  const { t } = useTranslation()
 
+  const chatReady = (!showConfigPanelBeforeChat || !!appPrevChatList.length)
   const customConfig = appData?.custom_config
   const site = appData?.site
 
@@ -53,77 +55,52 @@
 
   if (appInfoLoading) {
     return (
-      <>
-        {!isMobile && <Loading type='app' />}
-        {isMobile && (
-          <div className={cn('relative')}>
-            <div className={cn('flex h-[calc(100vh_-_60px)] flex-col rounded-2xl border-[0.5px] border-components-panel-border shadow-xs')}>
-              <Loading type='app' />
-            </div>
-          </div>
-        )}
-      </>
+      <Loading type='app' />
     )
   }
 
   if (appInfoError) {
     return (
-      <>
-        {!isMobile && <AppUnavailable />}
-        {isMobile && (
-          <div className={cn('relative')}>
-            <div className={cn('flex h-[calc(100vh_-_60px)] flex-col rounded-2xl border-[0.5px] border-components-panel-border shadow-xs')}>
-              <AppUnavailable />
-            </div>
-          </div>
-        )}
-      </>
+      <AppUnavailable />
     )
   }
   return (
-    <div className='relative'>
-      <div
-        className={cn(
-          'flex flex-col rounded-2xl border border-components-panel-border-subtle',
-          isMobile ? 'h-[calc(100vh_-_60px)] border-[0.5px] border-components-panel-border shadow-xs' : 'h-[100vh] bg-chatbot-bg',
-        )}
-        style={isMobile ? Object.assign({}, CssTransform(themeBuilder?.theme?.backgroundHeaderColorStyle ?? '')) : {}}
-      >
-        <Header
-          isMobile={isMobile}
-          allowResetChat={allowResetChat}
-          title={site?.title || ''}
-          customerIcon={isDify() ? difyIcon : ''}
-          theme={themeBuilder?.theme}
-          onCreateNewChat={handleNewConversation}
-        />
-        <div className={cn('flex grow flex-col overflow-y-auto', isMobile && '!h-[calc(100vh_-_3rem)] rounded-2xl bg-chatbot-bg')}>
-          {appChatListDataLoading && (
+    <div>
+      <Header
+        isMobile={isMobile}
+        title={site?.title || ''}
+        customerIcon={isDify() ? difyIcon : ''}
+        theme={themeBuilder?.theme}
+        onCreateNewChat={handleNewConversation}
+      />
+      <div className='flex bg-white overflow-hidden'>
+        <div className={cn('h-[100vh] grow flex flex-col overflow-y-auto', isMobile && '!h-[calc(100vh_-_3rem)]')}>
+          {showConfigPanelBeforeChat && !appChatListDataLoading && !appPrevChatList.length && (
+            <div className={cn('flex w-full items-center justify-center h-full tablet:px-4', isMobile && 'px-4')}>
+              <ConfigPanel />
+            </div>
+          )}
+          {appChatListDataLoading && chatReady && (
             <Loading type='app' />
           )}
-          {!appChatListDataLoading && (
-            <ChatWrapper key={chatShouldReloadKey} />
-          )}
-        </div>
-      </div>
-      {/* powered by */}
-      {isMobile && (
-        <div className='flex h-[60px] shrink-0 items-center pl-2'>
-          {!appData?.custom_config?.remove_webapp_brand && (
-            <div className={cn(
-              'flex shrink-0 items-center gap-1.5 px-2',
-            )}>
-              <div className='system-2xs-medium-uppercase text-text-tertiary'>{t('share.chat.poweredBy')}</div>
-              {appData?.custom_config?.replace_webapp_logo && (
-                <img src={appData?.custom_config?.replace_webapp_logo} alt='logo' className='block h-5 w-auto' />
+          {chatReady && !appChatListDataLoading && (
+            <div className='relative h-full pt-8 mx-auto w-full max-w-[720px]'>
+              {!isMobile && (
+                <div className='absolute top-2.5 right-3 z-20'>
+                  <Tooltip
+                    popupContent={t('share.chat.resetChat')}
+                  >
+                    <div className='p-1.5 bg-white border-[0.5px] border-gray-100 rounded-lg shadow-md cursor-pointer' onClick={handleNewConversation}>
+                      <RiLoopLeftLine className="h-4 w-4 text-gray-500"/>
+                    </div>
+                  </Tooltip>
+                </div>
               )}
-              {!appData?.custom_config?.replace_webapp_logo && (
-                <DifyLogo size='small' />
-              )}
+              <ChatWrapper />
             </div>
           )}
         </div>
-      )}
+      </div>
     </div>
   )
 }
@@ -145,6 +122,7 @@
     appPrevChatList,
     pinnedConversationList,
     conversationList,
+    showConfigPanelBeforeChat,
     newConversationInputs,
     newConversationInputsRef,
     handleNewConversationInputsChange,
@@ -155,16 +133,9 @@
     handleNewConversationCompleted,
     chatShouldReloadKey,
     isInstalledApp,
-    allowResetChat,
     appId,
     handleFeedback,
     currentChatInstanceRef,
-    clearChatList,
-    setClearChatList,
-    isResponding,
-    setIsResponding,
-    currentConversationInputs,
-    setCurrentConversationInputs,
   } = useEmbeddedChatbot()
 
   return <EmbeddedChatbotContext.Provider value={{
@@ -179,6 +150,7 @@
     appPrevChatList,
     pinnedConversationList,
     conversationList,
+    showConfigPanelBeforeChat,
     newConversationInputs,
     newConversationInputsRef,
     handleNewConversationInputsChange,
@@ -190,17 +162,10 @@
     chatShouldReloadKey,
     isMobile,
     isInstalledApp,
-    allowResetChat,
     appId,
     handleFeedback,
     currentChatInstanceRef,
     themeBuilder,
-    clearChatList,
-    setClearChatList,
-    isResponding,
-    setIsResponding,
-    currentConversationInputs,
-    setCurrentConversationInputs,
   }}>
     <Chatbot />
   </EmbeddedChatbotContext.Provider>
diff --git a/app/components/base/chat/embedded-chatbot/theme/theme-context.ts b/app/components/base/chat/embedded-chatbot/theme/theme-context.ts
index d4d617d..49994d9 100644
--- a/app/components/base/chat/embedded-chatbot/theme/theme-context.ts
+++ b/app/components/base/chat/embedded-chatbot/theme/theme-context.ts
@@ -9,7 +9,7 @@
   public backgroundHeaderColorStyle = 'backgroundImage: linear-gradient(to right, #2563eb, #0ea5e9)'
   public headerBorderBottomStyle = ''
   public colorFontOnHeaderStyle = 'color: white'
-  public colorPathOnHeader = 'text-text-primary-on-surface'
+  public colorPathOnHeader = 'white'
   public backgroundButtonDefaultColorStyle = 'backgroundColor: #1C64F2'
   public roundedBackgroundColorStyle = 'backgroundColor: rgb(245 248 255)'
   public chatBubbleColorStyle = 'backgroundColor: rgb(225 239 254)'
@@ -48,13 +48,10 @@
   private buildChecker = false
 
   public get theme() {
-    if (this._theme === undefined) {
-      this._theme = new Theme()
+    if (this._theme === undefined)
+      throw new Error('The theme should be built first and then accessed')
+    else
       return this._theme
-    }
-    else {
-      return this._theme
-    }
   }
 
   public buildTheme(chatColorTheme: string | null = null, chatColorThemeInverted = false) {
diff --git a/app/components/base/chat/embedded-chatbot/theme/utils.ts b/app/components/base/chat/embedded-chatbot/theme/utils.ts
index 812b928..690d7a7 100644
--- a/app/components/base/chat/embedded-chatbot/theme/utils.ts
+++ b/app/components/base/chat/embedded-chatbot/theme/utils.ts
@@ -1,9 +1,9 @@
 export function hexToRGBA(hex: string, opacity: number): string {
   hex = hex.replace('#', '')
 
-  const r = Number.parseInt(hex.slice(0, 2), 16)
-  const g = Number.parseInt(hex.slice(2, 4), 16)
-  const b = Number.parseInt(hex.slice(4, 6), 16)
+  const r = parseInt(hex.slice(0, 2), 16)
+  const g = parseInt(hex.slice(2, 4), 16)
+  const b = parseInt(hex.slice(4, 6), 16)
 
   // Returning an RGB color object
   return `rgba(${r},${g},${b},${opacity.toString()})`
diff --git a/app/components/base/chat/types.ts b/app/components/base/chat/types.ts
index 91f9bc9..851c82d 100644
--- a/app/components/base/chat/types.ts
+++ b/app/components/base/chat/types.ts
@@ -28,13 +28,13 @@
 }
 
 export type UserInputFormSelect = {
-  select: UserInputForm & {
+  'select': UserInputForm & {
     options: string[]
   }
 }
 
 export type UserInputFormParagraph = {
-  paragraph: UserInputForm
+  'paragraph': UserInputForm
 }
 
 export type VisionConfig = VisionSettings
@@ -46,7 +46,6 @@
 export type ChatConfig = Omit<ModelConfig, 'model'> & {
   supportAnnotation?: boolean
   appId?: string
-  questionEditEnable?: boolean
   supportFeedback?: boolean
   supportCitationHitInfo?: boolean
 }
diff --git a/app/components/base/chat/utils.ts b/app/components/base/chat/utils.ts
index bdac599..ce7a7c0 100644
--- a/app/components/base/chat/utils.ts
+++ b/app/components/base/chat/utils.ts
@@ -3,42 +3,20 @@
 import type { ChatItem, ChatItemInTree } from './types'
 
 async function decodeBase64AndDecompress(base64String: string) {
-  try {
-    const binaryString = atob(base64String)
-    const compressedUint8Array = Uint8Array.from(binaryString, char => char.charCodeAt(0))
-    const decompressedStream = new Response(compressedUint8Array).body?.pipeThrough(new DecompressionStream('gzip'))
-    const decompressedArrayBuffer = await new Response(decompressedStream).arrayBuffer()
-    return new TextDecoder().decode(decompressedArrayBuffer)
-  }
-  catch {
-    return undefined
-  }
+  const binaryString = atob(base64String)
+  const compressedUint8Array = Uint8Array.from(binaryString, char => char.charCodeAt(0))
+  const decompressedStream = new Response(compressedUint8Array).body?.pipeThrough(new DecompressionStream('gzip'))
+  const decompressedArrayBuffer = await new Response(decompressedStream).arrayBuffer()
+  return new TextDecoder().decode(decompressedArrayBuffer)
 }
 
-async function getProcessedInputsFromUrlParams(): Promise<Record<string, any>> {
+function getProcessedInputsFromUrlParams(): Record<string, any> {
   const urlParams = new URLSearchParams(window.location.search)
   const inputs: Record<string, any> = {}
-  const entriesArray = Array.from(urlParams.entries())
-  await Promise.all(
-    entriesArray.map(async ([key, value]) => {
-      if (!key.startsWith('sys.'))
-        inputs[key] = await decodeBase64AndDecompress(decodeURIComponent(value))
-    }),
-  )
+  urlParams.forEach(async (value, key) => {
+    inputs[key] = await decodeBase64AndDecompress(decodeURIComponent(value))
+  })
   return inputs
-}
-
-async function getProcessedSystemVariablesFromUrlParams(): Promise<Record<string, any>> {
-  const urlParams = new URLSearchParams(window.location.search)
-  const systemVariables: Record<string, any> = {}
-  const entriesArray = Array.from(urlParams.entries())
-  await Promise.all(
-    entriesArray.map(async ([key, value]) => {
-      if (key.startsWith('sys.'))
-        systemVariables[key.slice(4)] = await decodeBase64AndDecompress(decodeURIComponent(value))
-    }),
-  )
-  return systemVariables
 }
 
 function isValidGeneratedAnswer(item?: ChatItem | ChatItemInTree): boolean {
@@ -122,7 +100,7 @@
   let targetNode: ChatItemInTree | undefined
 
   // find path to the target message
-  const stack = tree.slice().reverse().map(rootNode => ({
+  const stack = tree.toReversed().map(rootNode => ({
     node: rootNode,
     path: [rootNode],
   }))
@@ -185,7 +163,6 @@
 
 export {
   getProcessedInputsFromUrlParams,
-  getProcessedSystemVariablesFromUrlParams,
   isValidGeneratedAnswer,
   getLastAnswer,
   buildChatItemTree,
diff --git a/app/components/base/checkbox/assets/mixed.svg b/app/components/base/checkbox/assets/mixed.svg
new file mode 100644
index 0000000..e16b8fc
--- /dev/null
+++ b/app/components/base/checkbox/assets/mixed.svg
@@ -0,0 +1,5 @@
+<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g id="check">
+<path id="Vector 1" d="M2.5 6H9.5" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
+</g>
+</svg>
diff --git a/app/components/base/checkbox/index.module.css b/app/components/base/checkbox/index.module.css
new file mode 100644
index 0000000..d675607
--- /dev/null
+++ b/app/components/base/checkbox/index.module.css
@@ -0,0 +1,10 @@
+.mixed {
+  background: var(--color-components-checkbox-bg) url(./assets/mixed.svg) center center no-repeat;
+  background-size: 12px 12px;
+  border: none;
+}
+
+.checked.disabled {
+  background-color: #d0d5dd;
+  border-color: #d0d5dd;
+}
\ No newline at end of file
diff --git a/app/components/base/checkbox/index.tsx b/app/components/base/checkbox/index.tsx
index 3e47967..df2c368 100644
--- a/app/components/base/checkbox/index.tsx
+++ b/app/components/base/checkbox/index.tsx
@@ -1,49 +1,48 @@
 import { RiCheckLine } from '@remixicon/react'
+import s from './index.module.css'
 import cn from '@/utils/classnames'
-import IndeterminateIcon from './assets/indeterminate-icon'
 
 type CheckboxProps = {
-  id?: string
   checked?: boolean
   onCheck?: () => void
   className?: string
   disabled?: boolean
-  indeterminate?: boolean
+  mixed?: boolean
 }
 
-const Checkbox = ({
-    id,
-    checked,
-    onCheck,
-    className,
-    disabled,
-    indeterminate,
-}: CheckboxProps) => {
-  const checkClassName = (checked || indeterminate)
-    ? 'bg-components-checkbox-bg text-components-checkbox-icon hover:bg-components-checkbox-bg-hover'
-    : 'border border-components-checkbox-border bg-components-checkbox-bg-unchecked hover:bg-components-checkbox-bg-unchecked-hover hover:border-components-checkbox-border-hover'
-  const disabledClassName = (checked || indeterminate)
-    ? 'cursor-not-allowed bg-components-checkbox-bg-disabled-checked text-components-checkbox-icon-disabled hover:bg-components-checkbox-bg-disabled-checked'
-    : 'cursor-not-allowed border-components-checkbox-border-disabled bg-components-checkbox-bg-disabled hover:border-components-checkbox-border-disabled hover:bg-components-checkbox-bg-disabled'
-
+const Checkbox = ({ checked, onCheck, className, disabled, mixed }: CheckboxProps) => {
+  if (!checked) {
+    return (
+      <div
+        className={cn(
+          'w-4 h-4 rounded-[4px] bg-components-checkbox-bg-unchecked border border-components-checkbox-border hover:bg-components-checkbox-bg-unchecked-hover hover:border-components-checkbox-border-hover shadow-xs cursor-pointer',
+          disabled && 'border-components-checkbox-border-disabled bg-components-checkbox-bg-disabled hover:border-components-checkbox-border-disabled hover:bg-components-checkbox-bg-disabled cursor-not-allowed',
+          mixed && s.mixed,
+          className,
+        )}
+        onClick={() => {
+          if (disabled)
+            return
+          onCheck?.()
+        }}
+      ></div>
+    )
+  }
   return (
     <div
-      id={id}
       className={cn(
-        'flex h-4 w-4 cursor-pointer items-center justify-center rounded-[4px] shadow-xs shadow-shadow-shadow-3',
-        checkClassName,
-        disabled && disabledClassName,
+        'w-4 h-4 flex items-center justify-center rounded-[4px] bg-components-checkbox-bg hover:bg-components-checkbox-bg-hover text-components-checkbox-icon shadow-xs cursor-pointer',
+        disabled && 'bg-components-checkbox-bg-disabled-checked hover:bg-components-checkbox-bg-disabled-checked text-components-checkbox-icon-disabled cursor-not-allowed',
         className,
       )}
       onClick={() => {
         if (disabled)
           return
+
         onCheck?.()
       }}
-      data-testid={`checkbox-${id}`}
     >
-      {!checked && indeterminate && <IndeterminateIcon />}
-      {checked && <RiCheckLine className='h-3 w-3' data-testid={`check-icon-${id}`} />}
+      <RiCheckLine className={cn('w-3 h-3')} />
     </div>
   )
 }
diff --git a/app/components/base/chip/index.tsx b/app/components/base/chip/index.tsx
index eeaf2b1..cf81b6d 100644
--- a/app/components/base/chip/index.tsx
+++ b/app/components/base/chip/index.tsx
@@ -52,10 +52,10 @@
           className='block'
         >
           <div className={cn(
-            'flex min-h-8 cursor-pointer items-center rounded-lg border-[0.5px] border-transparent bg-components-input-bg-normal px-2 py-1 hover:bg-state-base-hover-alt',
+            'flex items-center min-h-8 px-2 py-1 rounded-lg border-[0.5px] border-transparent bg-components-input-bg-normal cursor-pointer hover:bg-state-base-hover-alt',
             open && !value && '!bg-state-base-hover-alt hover:bg-state-base-hover-alt',
-            !open && !!value && '!border-components-button-secondary-border !bg-components-button-secondary-bg shadow-xs hover:border-components-button-secondary-border-hover hover:!bg-components-button-secondary-bg-hover',
-            open && !!value && '!border-components-button-secondary-border-hover !bg-components-button-secondary-bg-hover shadow-xs hover:border-components-button-secondary-border-hover hover:!bg-components-button-secondary-bg-hover',
+            !open && !!value && '!bg-components-button-secondary-bg shadow-xs !border-components-button-secondary-border hover:!bg-components-button-secondary-bg-hover hover:border-components-button-secondary-border-hover',
+            open && !!value && '!bg-components-button-secondary-bg-hover !border-components-button-secondary-border-hover shadow-xs hover:!bg-components-button-secondary-bg-hover hover:border-components-button-secondary-border-hover',
             className,
           )}>
             {showLeftIcon && (
@@ -65,14 +65,14 @@
                 )}
               </div>
             )}
-            <div className='flex grow items-center gap-0.5 first-line:p-1'>
+            <div className='grow first-line:p-1 flex items-center gap-0.5'>
               <div className={cn('system-sm-regular text-text-tertiary', !!value && 'text-text-secondary')}>
                 {triggerContent}
               </div>
             </div>
             {!value && <RiArrowDownSLine className='h-4 w-4 text-text-tertiary' />}
             {!!value && (
-              <div className='group/clear cursor-pointer p-[1px]' onClick={(e) => {
+              <div className='p-[1px] cursor-pointer group/clear' onClick={(e) => {
                 e.stopPropagation()
                 onClear()
               }}>
@@ -82,19 +82,19 @@
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1002]'>
-          <div className={cn('relative w-[240px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg', panelClassName)}>
-            <div className='max-h-72 overflow-auto p-1'>
+          <div className={cn('relative w-[240px] bg-components-panel-bg-blur rounded-xl border-[0.5px] border-components-panel-border shadow-lg', panelClassName)}>
+            <div className='p-1 max-h-72 overflow-auto'>
               {items.map(item => (
                 <div
                   key={item.value}
-                  className='flex cursor-pointer items-center gap-2 rounded-lg px-2 py-[6px] pl-3 hover:bg-state-base-hover'
+                  className='flex items-center gap-2 pl-3 py-[6px] px-2 rounded-lg cursor-pointer hover:bg-state-base-hover'
                   onClick={() => {
                     onSelect(item)
                     setOpen(false)
                   }}
                 >
-                  <div title={item.name} className='system-sm-medium grow truncate text-text-secondary'>{item.name}</div>
-                  {value === item.value && <RiCheckLine className='h-4 w-4 shrink-0 text-util-colors-blue-light-blue-light-600' />}
+                  <div title={item.name} className='grow text-text-secondary system-sm-medium truncate'>{item.name}</div>
+                  {value === item.value && <RiCheckLine className='shrink-0 w-4 h-4 text-util-colors-blue-light-blue-light-600' />}
                 </div>
               ))}
             </div>
diff --git a/app/components/base/confirm/index.tsx b/app/components/base/confirm/index.tsx
index 8cb1c8b..813254c 100644
--- a/app/components/base/confirm/index.tsx
+++ b/app/components/base/confirm/index.tsx
@@ -46,17 +46,13 @@
     const handleKeyDown = (event: KeyboardEvent) => {
       if (event.key === 'Escape')
         onCancel()
-      if (event.key === 'Enter' && isShow) {
-        event.preventDefault()
-        onConfirm()
-      }
     }
 
     document.addEventListener('keydown', handleKeyDown)
     return () => {
       document.removeEventListener('keydown', handleKeyDown)
     }
-  }, [onCancel, onConfirm, isShow])
+  }, [onCancel])
 
   const handleClickOutside = (event: MouseEvent) => {
     if (maskClosable && dialogRef.current && !dialogRef.current.contains(event.target as Node))
@@ -84,18 +80,18 @@
     return null
 
   return createPortal(
-    <div className={'fixed inset-0 z-[10000000] flex items-center justify-center bg-background-overlay'}
+    <div className={'fixed inset-0 flex items-center justify-center z-[10000000] bg-background-overlay'}
       onClick={(e) => {
         e.preventDefault()
         e.stopPropagation()
       }}>
       <div ref={dialogRef} className={'relative w-full max-w-[480px] overflow-hidden'}>
-        <div className='shadows-shadow-lg flex max-w-full flex-col items-start rounded-2xl border-[0.5px] border-solid border-components-panel-border bg-components-panel-bg'>
-          <div className='flex flex-col items-start gap-2 self-stretch pb-4 pl-6 pr-6 pt-6'>
+        <div className='flex flex-col items-start max-w-full rounded-2xl border-[0.5px] border-solid border-components-panel-border shadows-shadow-lg bg-components-panel-bg'>
+          <div className='flex pt-6 pl-6 pr-6 pb-4 flex-col items-start gap-2 self-stretch'>
             <div className='title-2xl-semi-bold text-text-primary'>{title}</div>
-            <div className='system-md-regular w-full text-text-tertiary'>{content}</div>
+            <div className='system-md-regular text-text-tertiary w-full'>{content}</div>
           </div>
-          <div className='flex items-start justify-end gap-2 self-stretch p-6'>
+          <div className='flex p-6 gap-2 justify-end items-start self-stretch'>
             {showCancel && <Button onClick={onCancel}>{cancelTxt}</Button>}
             {showConfirm && <Button variant={'primary'} destructive={type !== 'info'} loading={isLoading} disabled={isDisabled} onClick={onConfirm}>{confirmTxt}</Button>}
           </div>
diff --git a/app/components/base/copy-btn/index.tsx b/app/components/base/copy-btn/index.tsx
index 88c8ba6..2acb5d8 100644
--- a/app/components/base/copy-btn/index.tsx
+++ b/app/components/base/copy-btn/index.tsx
@@ -1,7 +1,6 @@
 'use client'
 import { useState } from 'react'
 import { t } from 'i18next'
-import { debounce } from 'lodash-es'
 import copy from 'copy-to-clipboard'
 import s from './style.module.css'
 import Tooltip from '@/app/components/base/tooltip'
@@ -19,32 +18,24 @@
 }: ICopyBtnProps) => {
   const [isCopied, setIsCopied] = useState(false)
 
-  const onClickCopy = debounce(() => {
-    copy(value)
-    setIsCopied(true)
-  }, 100)
-
-  const onMouseLeave = debounce(() => {
-    setIsCopied(false)
-  }, 100)
-
   return (
     <div className={`${className}`}>
       <Tooltip
         popupContent={(isCopied ? t('appApi.copied') : t('appApi.copy'))}
-        asChild={false}
       >
         <div
-          onMouseLeave={onMouseLeave}
-          className={'box-border flex cursor-pointer items-center justify-center rounded-md bg-components-button-secondary-bg p-0.5'}
+          className={'box-border p-0.5 flex items-center justify-center rounded-md bg-white cursor-pointer'}
           style={!isPlain
             ? {
               boxShadow: '0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06)',
             }
             : {}}
-          onClick={onClickCopy}
+          onClick={() => {
+            copy(value)
+            setIsCopied(true)
+          }}
         >
-          <div className={`h-6 w-6 rounded-md hover:bg-components-button-secondary-bg-hover  ${s.copyIcon} ${isCopied ? s.copied : ''}`}></div>
+          <div className={`w-6 h-6 rounded-md hover:bg-gray-50  ${s.copyIcon} ${isCopied ? s.copied : ''}`}></div>
         </div>
       </Tooltip>
     </div>
diff --git a/app/components/base/copy-btn/style.module.css b/app/components/base/copy-btn/style.module.css
index 83625d6..56c7560 100644
--- a/app/components/base/copy-btn/style.module.css
+++ b/app/components/base/copy-btn/style.module.css
@@ -12,4 +12,4 @@
 
 .copyIcon.copied {
   background-image: url(~@/app/components/develop/secret-key/assets/copied.svg);
-}
+}
\ No newline at end of file
diff --git a/app/components/base/copy-feedback/index.tsx b/app/components/base/copy-feedback/index.tsx
index 18ebe03..ead1eb1 100644
--- a/app/components/base/copy-feedback/index.tsx
+++ b/app/components/base/copy-feedback/index.tsx
@@ -1,15 +1,10 @@
 'use client'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiClipboardFill,
-  RiClipboardLine,
-} from '@remixicon/react'
 import { debounce } from 'lodash-es'
 import copy from 'copy-to-clipboard'
 import copyStyle from './style.module.css'
 import Tooltip from '@/app/components/base/tooltip'
-import ActionButton from '@/app/components/base/action-button'
 
 type Props = {
   content: string
@@ -18,7 +13,7 @@
 
 const prefixEmbedded = 'appOverview.overview.appInfo.embedded'
 
-const CopyFeedback = ({ content }: Props) => {
+const CopyFeedback = ({ content, className }: Props) => {
   const { t } = useTranslation()
   const [isCopied, setIsCopied] = useState<boolean>(false)
 
@@ -39,15 +34,19 @@
           : t(`${prefixEmbedded}.copy`)) || ''
       }
     >
-      <ActionButton>
+      <div
+        className={`w-8 h-8 cursor-pointer hover:bg-gray-100 rounded-lg ${
+          className ?? ''
+        }`}
+      >
         <div
           onClick={onClickCopy}
           onMouseLeave={onMouseLeave}
-        >
-          {isCopied && <RiClipboardFill className='h-4 w-4' />}
-          {!isCopied && <RiClipboardLine className='h-4 w-4' />}
-        </div>
-      </ActionButton>
+          className={`w-full h-full ${copyStyle.copyIcon} ${
+            isCopied ? copyStyle.copied : ''
+          }`}
+        ></div>
+      </div>
     </Tooltip>
   )
 }
@@ -76,13 +75,15 @@
       }
     >
       <div
-        className={`h-8 w-8 cursor-pointer rounded-lg hover:bg-components-button-ghost-bg-hover ${className ?? ''
+        className={`w-8 h-8 cursor-pointer hover:bg-gray-100 rounded-lg ${
+          className ?? ''
         }`}
       >
         <div
           onClick={onClickCopy}
           onMouseLeave={onMouseLeave}
-          className={`h-full w-full ${copyStyle.copyIcon} ${isCopied ? copyStyle.copied : ''
+          className={`w-full h-full ${copyStyle.copyIcon} ${
+            isCopied ? copyStyle.copied : ''
           }`}
         ></div>
       </div>
diff --git a/app/components/base/copy-icon/index.tsx b/app/components/base/copy-icon/index.tsx
index c9e8a5a..9f886a1 100644
--- a/app/components/base/copy-icon/index.tsx
+++ b/app/components/base/copy-icon/index.tsx
@@ -39,10 +39,10 @@
       <div onMouseLeave={onMouseLeave}>
         {!isCopied
           ? (
-            <Clipboard className='mx-1 h-3.5 w-3.5 cursor-pointer text-text-tertiary' onClick={onClickCopy} />
+            <Clipboard className='mx-1 w-3.5 h-3.5 text-text-tertiary cursor-pointer' onClick={onClickCopy} />
           )
           : (
-            <ClipboardCheck className='mx-1 h-3.5 w-3.5 text-text-tertiary' />
+            <ClipboardCheck className='mx-1 w-3.5 h-3.5 text-text-tertiary' />
           )
         }
       </div>
diff --git a/app/components/base/corner-label/index.tsx b/app/components/base/corner-label/index.tsx
index 9e192ed..0ad33ce 100644
--- a/app/components/base/corner-label/index.tsx
+++ b/app/components/base/corner-label/index.tsx
@@ -10,9 +10,9 @@
 const CornerLabel: React.FC<CornerLabelProps> = ({ label, className, labelClassName }) => {
   return (
     <div className={cn('group/corner-label inline-flex items-start', className)}>
-      <Corner className='h-5 w-[13px] text-background-section group-hover/corner-label:text-background-section-burn' />
-      <div className={cn('flex items-center gap-0.5 bg-background-section py-1 pr-2 group-hover/corner-label:bg-background-section-burn', labelClassName)}>
-        <div className='system-2xs-medium-uppercase text-text-tertiary'>{label}</div>
+      <Corner className='w-[13px] h-5 text-background-section group-hover/corner-label:text-background-section-burn' />
+      <div className={cn('flex py-1 pr-2 items-center gap-0.5 bg-background-section group-hover/corner-label:bg-background-section-burn', labelClassName)}>
+        <div className='text-text-tertiary system-2xs-medium-uppercase'>{label}</div>
       </div>
     </div>
   )
diff --git a/app/components/base/dialog/index.tsx b/app/components/base/dialog/index.tsx
index 6eae3bc..f439067 100644
--- a/app/components/base/dialog/index.tsx
+++ b/app/components/base/dialog/index.tsx
@@ -1,6 +1,6 @@
 import { Fragment, useCallback } from 'react'
 import type { ElementType, ReactNode } from 'react'
-import { Dialog, DialogPanel, DialogTitle, Transition, TransitionChild } from '@headlessui/react'
+import { Dialog, Transition } from '@headlessui/react'
 import classNames from '@/utils/classnames'
 
 // https://headlessui.com/react/dialog
@@ -34,32 +34,37 @@
   return (
     <Transition appear show={show} as={Fragment}>
       <Dialog as="div" className="relative z-40" onClose={close}>
-        <TransitionChild>
-          <div className={classNames(
-            'fixed inset-0 bg-background-overlay-backdrop backdrop-blur-[6px]',
-            'duration-300 ease-in data-[closed]:opacity-0',
-            'data-[enter]:opacity-100',
-            'data-[leave]:opacity-0',
-          )} />
-        </TransitionChild>
+        <Transition.Child
+          as={Fragment}
+          enter="ease-out duration-300"
+          enterFrom="opacity-0"
+          enterTo="opacity-100"
+          leave="ease-in duration-200"
+          leaveFrom="opacity-100"
+          leaveTo="opacity-0"
+        >
+          <div className="fixed inset-0 bg-black bg-opacity-25" />
+        </Transition.Child>
 
         <div className="fixed inset-0 overflow-y-auto">
-          <div className="flex min-h-full items-center justify-center">
-            <TransitionChild>
-              <DialogPanel className={classNames(
-                'w-full max-w-[800px] p-6 overflow-hidden transition-all transform bg-components-panel-bg border-[0.5px] border-components-panel-border shadow-xl rounded-2xl',
-                'duration-100 ease-in data-[closed]:opacity-0 data-[closed]:scale-95',
-                'data-[enter]:opacity-100 data-[enter]:scale-100',
-                'data-[leave]:opacity-0 data-[enter]:scale-95',
-                className,
-              )}>
+          <div className="flex items-center justify-center min-h-full">
+            <Transition.Child
+              as={Fragment}
+              enter="ease-out duration-300"
+              enterFrom="opacity-0 scale-95"
+              enterTo="opacity-100 scale-100"
+              leave="ease-in duration-200"
+              leaveFrom="opacity-100 scale-100"
+              leaveTo="opacity-0 scale-95"
+            >
+              <Dialog.Panel className={classNames('w-full max-w-[800px] p-6 overflow-hidden transition-all transform bg-components-panel-bg border-[0.5px] border-components-panel-border shadow-xl rounded-2xl', className)}>
                 {Boolean(title) && (
-                  <DialogTitle
+                  <Dialog.Title
                     as={titleAs || 'h3'}
                     className={classNames('pr-8 pb-3 title-2xl-semi-bold text-text-primary', titleClassName)}
                   >
                     {title}
-                  </DialogTitle>
+                  </Dialog.Title>
                 )}
                 <div className={classNames(bodyClassName)}>
                   {children}
@@ -69,8 +74,8 @@
                     {footer}
                   </div>
                 )}
-              </DialogPanel>
-            </TransitionChild>
+              </Dialog.Panel>
+            </Transition.Child>
           </div>
         </div>
       </Dialog>
diff --git a/app/components/base/divider/with-label.tsx b/app/components/base/divider/with-label.tsx
index 0cd9796..608bc79 100644
--- a/app/components/base/divider/with-label.tsx
+++ b/app/components/base/divider/with-label.tsx
@@ -10,10 +10,10 @@
 export const DividerWithLabel: FC<DividerWithLabelProps> = (props) => {
   const { label, className, ...rest } = props
   return <div
-    className="my-2 flex items-center gap-2"
+    className="flex items-center gap-2 my-2"
   >
     <Divider {...rest} className={classNames('flex-1', className)} />
-    <span className="text-xs text-text-tertiary">
+    <span className="text-text-tertiary text-xs">
       {label}
     </span>
     <Divider {...rest} className={classNames('flex-1', className)} />
diff --git a/app/components/base/drawer-plus/index.tsx b/app/components/base/drawer-plus/index.tsx
index 33a1948..5140257 100644
--- a/app/components/base/drawer-plus/index.tsx
+++ b/app/components/base/drawer-plus/index.tsx
@@ -9,17 +9,15 @@
 type Props = {
   isShow: boolean
   onHide: () => void
-  dialogClassName?: string
-  dialogBackdropClassName?: string
   panelClassName?: string
   maxWidthClassName?: string
   contentClassName?: string
   headerClassName?: string
   height?: number | string
-  title: string | React.JSX.Element
-  titleDescription?: string | React.JSX.Element
-  body: React.JSX.Element
-  foot?: React.JSX.Element
+  title: string | JSX.Element
+  titleDescription?: string | JSX.Element
+  body: JSX.Element
+  foot?: JSX.Element
   isShowMask?: boolean
   clickOutsideNotOpen?: boolean
   positionCenter?: boolean
@@ -28,8 +26,6 @@
 const DrawerPlus: FC<Props> = ({
   isShow,
   onHide,
-  dialogClassName = '',
-  dialogBackdropClassName = '',
   panelClassName = '',
   maxWidthClassName = '!max-w-[640px]',
   height = 'calc(100vh - 72px)',
@@ -59,33 +55,31 @@
       footer={null}
       mask={isMobile || isShowMask}
       positionCenter={positionCenter}
-      dialogClassName={dialogClassName}
-      dialogBackdropClassName={dialogBackdropClassName}
-      panelClassName={cn('mx-2 mb-3 mt-16 rounded-xl !p-0 sm:mr-2', panelClassName, maxWidthClassName)}
+      panelClassname={cn('mt-16 mx-2 sm:mr-2 mb-3 !p-0 rounded-xl', panelClassName, maxWidthClassName)}
     >
       <div
-        className={cn(contentClassName, 'flex w-full flex-col rounded-xl border-[0.5px] border-divider-subtle bg-components-panel-bg shadow-xl')}
+        className={cn(contentClassName, 'w-full flex flex-col bg-components-panel-bg border-[0.5px] border-divider-subtle rounded-xl shadow-xl')}
         style={{
           height,
         }}
         ref={ref}
       >
         <div className={cn(headerClassName, 'shrink-0 border-b border-divider-subtle py-4')}>
-          <div className='flex h-6 items-center justify-between pl-6 pr-5'>
+          <div className='flex justify-between items-center pl-6 pr-5 h-6'>
             <div className='system-xl-semibold text-text-primary'>
               {title}
             </div>
             <div className='flex items-center'>
               <div
                 onClick={onHide}
-                className='flex h-6 w-6 cursor-pointer items-center justify-center'
+                className='flex justify-center items-center w-6 h-6 cursor-pointer'
               >
-                <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+                <RiCloseLine className='w-4 h-4 text-text-tertiary' />
               </div>
             </div>
           </div>
           {titleDescription && (
-            <div className='system-xs-regular pl-6 pr-10 text-text-tertiary'>
+            <div className='pl-6 pr-10 system-xs-regular text-text-tertiary'>
               {titleDescription}
             </div>
           )}
diff --git a/app/components/base/drawer/index.tsx b/app/components/base/drawer/index.tsx
index 8217caa..c1057b9 100644
--- a/app/components/base/drawer/index.tsx
+++ b/app/components/base/drawer/index.tsx
@@ -1,5 +1,5 @@
 'use client'
-import { Dialog, DialogBackdrop, DialogTitle } from '@headlessui/react'
+import { Dialog } from '@headlessui/react'
 import { useTranslation } from 'react-i18next'
 import { XMarkIcon } from '@heroicons/react/24/outline'
 import Button from '../button'
@@ -8,9 +8,7 @@
 export type IDrawerProps = {
   title?: string
   description?: string
-  dialogClassName?: string
-  dialogBackdropClassName?: string
-  panelClassName?: string
+  panelClassname?: string
   children: React.ReactNode
   footer?: React.ReactNode
   mask?: boolean
@@ -27,9 +25,7 @@
 export default function Drawer({
   title = '',
   description = '',
-  dialogClassName = '',
-  dialogBackdropClassName = '',
-  panelClassName = '',
+  panelClassname = '',
   children,
   footer,
   mask = true,
@@ -48,30 +44,25 @@
       unmount={unmount}
       open={isOpen}
       onClose={() => !clickOutsideNotOpen && onClose()}
-      className={cn('fixed inset-0 z-[30] overflow-y-auto', dialogClassName)}
+      className="fixed z-30 inset-0 overflow-y-auto"
     >
-      <div className={cn('flex h-screen w-screen justify-end', positionCenter && '!justify-center')}>
+      <div className={cn('flex w-screen h-screen justify-end', positionCenter && '!justify-center')}>
         {/* mask */}
-        <DialogBackdrop
-          className={cn('fixed inset-0 z-[40]', mask && 'bg-black/30', dialogBackdropClassName)}
-          onClick={() => {
-            !clickOutsideNotOpen && onClose()
-          }}
+        <Dialog.Overlay
+          className={cn('z-40 fixed inset-0', mask && 'bg-black bg-opacity-30')}
         />
-        <div className={cn('relative z-[50] flex w-full max-w-sm flex-col justify-between overflow-hidden bg-components-panel-bg p-6 text-left align-middle shadow-xl', panelClassName)}>
+        <div className={cn('relative z-50 flex flex-col justify-between bg-background-body w-full max-w-sm p-6 overflow-hidden text-left align-middle shadow-xl', panelClassname)}>
           <>
-            <div className='flex justify-between'>
-              {title && <DialogTitle
-                as="h3"
-                className="text-lg font-medium leading-6 text-text-primary"
-              >
-                {title}
-              </DialogTitle>}
-              {showClose && <DialogTitle className="mb-4 flex cursor-pointer items-center" as="div">
-                <XMarkIcon className='h-4 w-4 text-text-tertiary' onClick={onClose} />
-              </DialogTitle>}
-            </div>
-            {description && <div className='mt-2 text-xs font-normal text-text-tertiary'>{description}</div>}
+            {title && <Dialog.Title
+              as="h3"
+              className="text-lg font-medium leading-6 text-gray-900"
+            >
+              {title}
+            </Dialog.Title>}
+            {showClose && <Dialog.Title className="flex items-center mb-4" as="div">
+              <XMarkIcon className='w-4 h-4 text-gray-500' onClick={onClose} />
+            </Dialog.Title>}
+            {description && <Dialog.Description className='text-gray-500 text-xs font-normal mt-2'>{description}</Dialog.Description>}
             {children}
           </>
           {footer || (footer === null
diff --git a/app/components/base/dropdown/index.tsx b/app/components/base/dropdown/index.tsx
index cdee153..9af2421 100644
--- a/app/components/base/dropdown/index.tsx
+++ b/app/components/base/dropdown/index.tsx
@@ -11,7 +11,7 @@
 
 export type Item = {
   value: string | number
-  text: string | React.JSX.Element
+  text: string | JSX.Element
 }
 type DropdownProps = {
   items: Item[]
@@ -47,17 +47,17 @@
             : (
               <div
                 className={`
-                  flex h-6 w-6 cursor-pointer items-center justify-center rounded-md
-                  ${open && 'bg-divider-regular'}
+                  flex items-center justify-center w-6 h-6 cursor-pointer rounded-md
+                  ${open && 'bg-black/5'}
                 `}
               >
-                <RiMoreFill className='h-4 w-4 text-text-tertiary' />
+                <RiMoreFill className='w-4 h-4 text-gray-500' />
               </div>
             )
         }
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className={popupClassName}>
-        <div className='rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg text-sm text-text-secondary shadow-lg'>
+        <div className='rounded-lg border-[0.5px] border-gray-200 bg-white shadow-lg text-sm text-gray-700'>
           {
             !!items.length && (
               <div className='p-1'>
@@ -65,7 +65,7 @@
                   items.map(item => (
                     <div
                       key={item.value}
-                      className='flex h-8 cursor-pointer items-center rounded-lg px-3 hover:bg-components-panel-on-panel-item-bg-hover'
+                      className='flex items-center px-3 h-8 rounded-lg cursor-pointer hover:bg-gray-100'
                       onClick={() => handleSelect(item)}
                     >
                       {item.text}
@@ -77,7 +77,7 @@
           }
           {
             (!!items.length && !!secondItems?.length) && (
-              <div className='h-[1px] bg-divider-regular' />
+              <div className='h-[1px] bg-gray-100' />
             )
           }
           {
@@ -87,7 +87,7 @@
                   secondItems.map(item => (
                     <div
                       key={item.value}
-                      className='flex h-8 cursor-pointer items-center rounded-lg px-3 hover:bg-components-panel-on-panel-item-bg-hover'
+                      className='flex items-center px-3 h-8 rounded-lg cursor-pointer hover:bg-gray-100'
                       onClick={() => handleSelect(item)}
                     >
                       {item.text}
diff --git a/app/components/base/emoji-picker/Inner.tsx b/app/components/base/emoji-picker/Inner.tsx
index 34ce3f7..5db223e 100644
--- a/app/components/base/emoji-picker/Inner.tsx
+++ b/app/components/base/emoji-picker/Inner.tsx
@@ -7,17 +7,15 @@
 import {
   MagnifyingGlassIcon,
 } from '@heroicons/react/24/outline'
-import Input from '@/app/components/base/input'
+import cn from '@/utils/classnames'
 import Divider from '@/app/components/base/divider'
 import { searchEmoji } from '@/utils/emoji'
-import cn from '@/utils/classnames'
 
 declare global {
-  // eslint-disable-next-line ts/no-namespace
   namespace JSX {
-    // eslint-disable-next-line ts/consistent-type-definitions
+    // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
     interface IntrinsicElements {
-      'em-emoji': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>
+      'em-emoji': React.DetailedHTMLProps< React.HTMLAttributes<HTMLElement>, HTMLElement >
     }
   }
 }
@@ -70,15 +68,15 @@
   }, [onSelect, selectedEmoji, selectedBackground])
 
   return <div className={cn(className)}>
-    <div className='flex w-full flex-col items-center px-3 pb-2'>
+    <div className='flex flex-col items-center w-full px-3 pb-2'>
       <div className="relative w-full">
-        <div className="pointer-events-none absolute inset-y-0 left-0 z-10 flex items-center pl-3">
-          <MagnifyingGlassIcon className="h-5 w-5 text-text-quaternary" aria-hidden="true" />
+        <div className="absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none">
+          <MagnifyingGlassIcon className="w-5 h-5 text-gray-400" aria-hidden="true" />
         </div>
-        <Input
-          className="pl-10"
+        <input
           type="search"
           id="search"
+          className='block w-full h-10 px-3 pl-10 text-sm font-normal bg-gray-100 rounded-lg'
           placeholder="Search emojis..."
           onChange={async (e: ChangeEvent<HTMLInputElement>) => {
             if (e.target.value === '') {
@@ -93,22 +91,22 @@
         />
       </div>
     </div>
-    <Divider className='my-3' />
+    <Divider className='m-0 mb-3' />
 
-    <div className="max-h-[200px] w-full overflow-y-auto overflow-x-hidden px-3">
+    <div className="w-full max-h-[200px] overflow-x-hidden overflow-y-auto px-3">
       {isSearching && <>
         <div key={'category-search'} className='flex flex-col'>
-          <p className='system-xs-medium-uppercase mb-1 text-text-primary'>Search</p>
-          <div className='grid h-full w-full grid-cols-8 gap-1'>
+          <p className='font-medium uppercase text-xs text-[#101828] mb-1'>Search</p>
+          <div className='w-full h-full grid grid-cols-8 gap-1'>
             {searchedEmojis.map((emoji: string, index: number) => {
               return <div
                 key={`emoji-search-${index}`}
-                className='inline-flex h-10 w-10 items-center justify-center rounded-lg'
+                className='inline-flex w-10 h-10 rounded-lg items-center justify-center'
                 onClick={() => {
                   setSelectedEmoji(emoji)
                 }}
               >
-                <div className='flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg p-1 ring-components-input-border-hover ring-offset-1 hover:ring-1'>
+                <div className='cursor-pointer w-8 h-8 p-1 flex items-center justify-center rounded-lg hover:ring-1 ring-offset-1 ring-gray-300'>
                   <em-emoji id={emoji} />
                 </div>
               </div>
@@ -119,17 +117,17 @@
 
       {categories.map((category, index: number) => {
         return <div key={`category-${index}`} className='flex flex-col'>
-          <p className='system-xs-medium-uppercase mb-1 text-text-primary'>{category.id}</p>
-          <div className='grid h-full w-full grid-cols-8 gap-1'>
+          <p className='font-medium uppercase text-xs text-[#101828] mb-1'>{category.id}</p>
+          <div className='w-full h-full grid grid-cols-8 gap-1'>
             {category.emojis.map((emoji, index: number) => {
               return <div
                 key={`emoji-${index}`}
-                className='inline-flex h-10 w-10 items-center justify-center rounded-lg'
+                className='inline-flex w-10 h-10 rounded-lg items-center justify-center'
                 onClick={() => {
                   setSelectedEmoji(emoji)
                 }}
               >
-                <div className='flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg p-1 ring-components-input-border-hover ring-offset-1 hover:ring-1'>
+                <div className='cursor-pointer w-8 h-8 p-1 flex items-center justify-center rounded-lg hover:ring-1 ring-offset-1 ring-gray-300'>
                   <em-emoji id={emoji} />
                 </div>
               </div>
@@ -142,24 +140,24 @@
 
     {/* Color Select */}
     <div className={cn('p-3 pb-0', selectedEmoji === '' ? 'opacity-25' : '')}>
-      <p className='system-xs-medium-uppercase mb-2 text-text-primary'>Choose Style</p>
-      <div className='grid h-full w-full grid-cols-8 gap-1'>
+      <p className='font-medium uppercase text-xs text-[#101828] mb-2'>Choose Style</p>
+      <div className='w-full h-full grid grid-cols-8 gap-1'>
         {backgroundColors.map((color) => {
           return <div
             key={color}
             className={
               cn(
                 'cursor-pointer',
-                'ring-offset-1 hover:ring-1',
-                'inline-flex h-10 w-10 items-center justify-center rounded-lg',
-                color === selectedBackground ? 'ring-1 ring-components-input-border-hover' : '',
+                'hover:ring-1 ring-offset-1',
+                'inline-flex w-10 h-10 rounded-lg items-center justify-center',
+                color === selectedBackground ? 'ring-1 ring-gray-300' : '',
               )}
             onClick={() => {
               setSelectedBackground(color)
             }}
           >
             <div className={cn(
-              'flex h-8 w-8 items-center justify-center rounded-lg p-1',
+              'w-8 h-8 p-1 flex items-center justify-center rounded-lg',
             )
             } style={{ background: color }}>
               {selectedEmoji !== '' && <em-emoji id={selectedEmoji} />}
diff --git a/app/components/base/emoji-picker/index.tsx b/app/components/base/emoji-picker/index.tsx
index d3b20bb..3add148 100644
--- a/app/components/base/emoji-picker/index.tsx
+++ b/app/components/base/emoji-picker/index.tsx
@@ -2,12 +2,12 @@
 import type { FC } from 'react'
 import React, { useCallback, useState } from 'react'
 import { useTranslation } from 'react-i18next'
+import s from './style.module.css'
 import EmojiPickerInner from './Inner'
 import cn from '@/utils/classnames'
 import Divider from '@/app/components/base/divider'
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
-import { noop } from 'lodash-es'
 
 type IEmojiPickerProps = {
   isModal?: boolean
@@ -33,17 +33,17 @@
 
   return isModal
     ? <Modal
-      onClose={noop}
+      onClose={() => { }}
       isShow
       closable={false}
       wrapperClassName={className}
-      className={cn('flex max-h-[552px] flex-col rounded-xl border-[0.5px] border-divider-subtle p-0 shadow-xl')}
+      className={cn(s.container, '!w-[362px] !p-0')}
     >
       <EmojiPickerInner
         className="pt-3"
         onSelect={handleSelectEmoji} />
-      <Divider className='mb-0 mt-3' />
-      <div className='flex w-full items-center justify-center gap-2 p-3'>
+      <Divider className='m-0' />
+      <div className='w-full flex items-center justify-center p-3 gap-2'>
         <Button className='w-full' onClick={() => {
           onClose && onClose()
         }}>
diff --git a/app/components/base/emoji-picker/style.module.css b/app/components/base/emoji-picker/style.module.css
new file mode 100644
index 0000000..5facb35
--- /dev/null
+++ b/app/components/base/emoji-picker/style.module.css
@@ -0,0 +1,12 @@
+.container {
+    display: flex;
+    flex-direction: column;
+    align-items: flex-start;
+    width: 362px;
+    max-height: 552px;
+
+    border: 0.5px solid #EAECF0;
+    box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
+    border-radius: 12px;
+    background: #fff;
+}
diff --git a/app/components/base/features/context.tsx b/app/components/base/features/context.tsx
index dc04f6b..3c9347c 100644
--- a/app/components/base/features/context.tsx
+++ b/app/components/base/features/context.tsx
@@ -14,7 +14,7 @@
   children: React.ReactNode
 } & Partial<FeaturesState>
 export const FeaturesProvider = ({ children, ...props }: FeaturesProviderProps) => {
-  const storeRef = useRef<FeaturesStore | undefined>(undefined)
+  const storeRef = useRef<FeaturesStore>()
 
   if (!storeRef.current)
     storeRef.current = createFeaturesStore(props)
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-btn/index.tsx b/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-btn/index.tsx
new file mode 100644
index 0000000..809b907
--- /dev/null
+++ b/app/components/base/features/new-feature-panel/annotation-reply/annotation-ctrl-btn/index.tsx
@@ -0,0 +1,135 @@
+'use client'
+import type { FC } from 'react'
+import React, { useRef, useState } from 'react'
+import { useHover } from 'ahooks'
+import { useTranslation } from 'react-i18next'
+import cn from '@/utils/classnames'
+import { MessageCheckRemove, MessageFastPlus } from '@/app/components/base/icons/src/vender/line/communication'
+import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication'
+import { Edit04 } from '@/app/components/base/icons/src/vender/line/general'
+import RemoveAnnotationConfirmModal from '@/app/components/app/annotation/remove-annotation-confirm-modal'
+import Tooltip from '@/app/components/base/tooltip'
+import { addAnnotation, delAnnotation } from '@/service/annotation'
+import Toast from '@/app/components/base/toast'
+import { useProviderContext } from '@/context/provider-context'
+import { useModalContext } from '@/context/modal-context'
+
+type Props = {
+  appId: string
+  messageId?: string
+  annotationId?: string
+  className?: string
+  cached: boolean
+  query: string
+  answer: string
+  onAdded: (annotationId: string, authorName: string) => void
+  onEdit: () => void
+  onRemoved: () => void
+}
+
+const CacheCtrlBtn: FC<Props> = ({
+  className,
+  cached,
+  query,
+  answer,
+  appId,
+  messageId,
+  annotationId,
+  onAdded,
+  onEdit,
+  onRemoved,
+}) => {
+  const { t } = useTranslation()
+  const { plan, enableBilling } = useProviderContext()
+  const isAnnotationFull = (enableBilling && plan.usage.annotatedResponse >= plan.total.annotatedResponse)
+  const { setShowAnnotationFullModal } = useModalContext()
+  const [showModal, setShowModal] = useState(false)
+  const cachedBtnRef = useRef<HTMLDivElement>(null)
+  const isCachedBtnHovering = useHover(cachedBtnRef)
+  const handleAdd = async () => {
+    if (isAnnotationFull) {
+      setShowAnnotationFullModal()
+      return
+    }
+    const res: any = await addAnnotation(appId, {
+      message_id: messageId,
+      question: query,
+      answer,
+    })
+    Toast.notify({
+      message: t('common.api.actionSuccess') as string,
+      type: 'success',
+    })
+    onAdded(res.id, res.account?.name)
+  }
+
+  const handleRemove = async () => {
+    await delAnnotation(appId, annotationId!)
+    Toast.notify({
+      message: t('common.api.actionSuccess') as string,
+      type: 'success',
+    })
+    onRemoved()
+    setShowModal(false)
+  }
+  return (
+    <div className={cn('inline-block', className)}>
+      <div className='inline-flex p-0.5 space-x-0.5 rounded-lg bg-white border border-gray-100 shadow-md text-gray-500 cursor-pointer'>
+        {cached
+          ? (
+            <div>
+              <div
+                ref={cachedBtnRef}
+                className={cn(isCachedBtnHovering ? 'bg-[#FEF3F2] text-[#D92D20]' : 'bg-[#EEF4FF] text-[#444CE7]', 'flex p-1 space-x-1 items-center rounded-md leading-4 text-xs font-medium')}
+                onClick={() => setShowModal(true)}
+              >
+                {!isCachedBtnHovering
+                  ? (
+                    <>
+                      <MessageFast className='w-4 h-4' />
+                      <div>{t('appDebug.feature.annotation.cached')}</div>
+                    </>
+                  )
+                  : <>
+                    <MessageCheckRemove className='w-4 h-4' />
+                    <div>{t('appDebug.feature.annotation.remove')}</div>
+                  </>}
+              </div>
+            </div>
+          )
+          : answer
+            ? (
+              <Tooltip
+                popupContent={t('appDebug.feature.annotation.add')}
+              >
+                <div
+                  className='p-1 rounded-md hover:bg-[#EEF4FF] hover:text-[#444CE7] cursor-pointer'
+                  onClick={handleAdd}
+                >
+                  <MessageFastPlus className='w-4 h-4' />
+                </div>
+              </Tooltip>
+            )
+            : null
+        }
+        <Tooltip
+          popupContent={t('appDebug.feature.annotation.edit')}
+        >
+          <div
+            className='p-1 cursor-pointer rounded-md hover:bg-black/5'
+            onClick={onEdit}
+          >
+            <Edit04 className='w-4 h-4' />
+          </div>
+        </Tooltip>
+
+      </div>
+      <RemoveAnnotationConfirmModal
+        isShow={showModal}
+        onHide={() => setShowModal(false)}
+        onRemove={handleRemove}
+      />
+    </div>
+  )
+}
+export default React.memo(CacheCtrlBtn)
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.tsx b/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.tsx
index 33677f0..b16c724 100644
--- a/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.tsx
+++ b/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal.tsx
@@ -77,9 +77,9 @@
     <Modal
       isShow={isShow}
       onClose={onHide}
-      className='!mt-14 !w-[640px] !max-w-none !p-6'
+      className='!p-6 !mt-14 !max-w-none !w-[640px]'
     >
-      <div className='title-2xl-semi-bold mb-2 text-text-primary'>
+      <div className='mb-2 title-2xl-semibold text-text-primary'>
         {t(`appAnnotation.initSetup.${isInit ? 'title' : 'configTitle'}`)}
       </div>
 
@@ -122,7 +122,7 @@
         </Item>
       </div>
 
-      <div className='mt-6 flex justify-end gap-2'>
+      <div className='mt-6 flex gap-2 justify-end'>
         <Button onClick={onHide}>{t('common.operation.cancel')}</Button>
         <Button
           variant='primary'
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/config-param.tsx b/app/components/base/features/new-feature-panel/annotation-reply/config-param.tsx
index e2febcf..c192fcb 100644
--- a/app/components/base/features/new-feature-panel/annotation-reply/config-param.tsx
+++ b/app/components/base/features/new-feature-panel/annotation-reply/config-param.tsx
@@ -3,18 +3,18 @@
 import React from 'react'
 import Tooltip from '@/app/components/base/tooltip'
 
-export const Item: FC<{ title: string; tooltip: string; children: React.JSX.Element }> = ({
+export const Item: FC<{ title: string; tooltip: string; children: JSX.Element }> = ({
   title,
   tooltip,
   children,
 }) => {
   return (
     <div>
-      <div className='mb-1 flex items-center space-x-1'>
-        <div className='system-sm-semibold py-1 text-text-secondary'>{title}</div>
+      <div className='flex items-center space-x-1 mb-1'>
+        <div className='py-1 system-sm-semibold text-text-secondary'>{title}</div>
         <Tooltip
           popupContent={
-            <div className='system-sm-regular max-w-[200px] text-text-secondary'>{tooltip}</div>
+            <div className='max-w-[200px] system-sm-regular text-text-secondary'>{tooltip}</div>
           }
         />
       </div>
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/index.tsx b/app/components/base/features/new-feature-panel/annotation-reply/index.tsx
index 34ecf23..f44aab5 100644
--- a/app/components/base/features/new-feature-panel/annotation-reply/index.tsx
+++ b/app/components/base/features/new-feature-panel/annotation-reply/index.tsx
@@ -12,7 +12,6 @@
 import ConfigParamModal from '@/app/components/base/features/new-feature-panel/annotation-reply/config-param-modal'
 import AnnotationFullModal from '@/app/components/billing/annotation-full/modal'
 import { ANNOTATION_DEFAULT } from '@/config'
-import type { AnnotationReplyConfig } from '@/models/debug'
 
 type Props = {
   disabled?: boolean
@@ -31,7 +30,7 @@
   const featuresStore = useFeaturesStore()
   const annotationReply = useFeatures(s => s.features.annotationReply)
 
-  const updateAnnotationReply = useCallback((newConfig: AnnotationReplyConfig) => {
+  const updateAnnotationReply = useCallback((newConfig: any) => {
     const {
       features,
       setFeatures,
@@ -78,8 +77,8 @@
     <>
       <FeatureCard
         icon={
-          <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-indigo-indigo-600 p-1 shadow-xs'>
-            <MessageFast className='h-4 w-4 text-text-primary-on-surface' />
+          <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-indigo-indigo-600'>
+            <MessageFast className='w-4 h-4 text-text-primary-on-surface' />
           </div>
         }
         title={t('appDebug.feature.annotation.title')}
@@ -91,33 +90,33 @@
       >
         <>
           {!annotationReply?.enabled && (
-            <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{t('appDebug.feature.annotation.description')}</div>
+            <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{t('appDebug.feature.annotation.description')}</div>
           )}
           {!!annotationReply?.enabled && (
             <>
               {!isHovering && (
-                <div className='flex items-center gap-4 pt-0.5'>
+                <div className='pt-0.5 flex items-center gap-4'>
                   <div className=''>
-                    <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.annotation.scoreThreshold.title')}</div>
-                    <div className='system-xs-regular text-text-secondary'>{annotationReply.score_threshold || '-'}</div>
+                    <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.annotation.scoreThreshold.title')}</div>
+                    <div className='text-text-secondary system-xs-regular'>{annotationReply.score_threshold || '-'}</div>
                   </div>
-                  <div className='h-[27px] w-px rotate-12 bg-divider-subtle'></div>
+                  <div className='w-px h-[27px] bg-divider-subtle rotate-12'></div>
                   <div className=''>
-                    <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('common.modelProvider.embeddingModel.key')}</div>
-                    <div className='system-xs-regular text-text-secondary'>{annotationReply.embedding_model?.embedding_model_name}</div>
+                    <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('common.modelProvider.embeddingModel.key')}</div>
+                    <div className='text-text-secondary system-xs-regular'>{annotationReply.embedding_model?.embedding_model_name}</div>
                   </div>
                 </div>
               )}
               {isHovering && (
                 <div className='flex items-center justify-between'>
                   <Button className='w-[178px]' onClick={() => setIsShowAnnotationConfigInit(true)} disabled={disabled}>
-                    <RiEqualizer2Line className='mr-1 h-4 w-4' />
+                    <RiEqualizer2Line className='mr-1 w-4 h-4' />
                     {t('common.operation.params')}
                   </Button>
                   <Button className='w-[178px]' onClick={() => {
                     router.push(`/app/${appId}/annotations`)
                   }}>
-                    <RiExternalLinkLine className='mr-1 h-4 w-4' />
+                    <RiExternalLinkLine className='mr-1 w-4 h-4' />
                     {t('appDebug.feature.annotation.cacheManagement')}
                   </Button>
                 </div>
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.tsx b/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.tsx
index cc8e125..1df7253 100644
--- a/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.tsx
+++ b/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/index.tsx
@@ -20,13 +20,13 @@
     max={max || 100}
     step={step || 1}
     className={cn(className, s.slider)}
-    thumbClassName={cn(s['slider-thumb'], 'top-[-7px] h-[18px] w-2 cursor-pointer rounded-[36px] border !border-black/8 bg-white shadow-md')}
+    thumbClassName={cn(s['slider-thumb'], 'top-[-7px] w-2 h-[18px] bg-white border !border-black/8 rounded-[36px] shadow-md cursor-pointer')}
     trackClassName={s['slider-track']}
     onChange={onChange}
     renderThumb={(props, state) => (
       <div {...props}>
-        <div className='relative h-full w-full'>
-          <div className='system-sm-semibold absolute left-[50%] top-[-16px] translate-x-[-50%] text-text-primary'>
+        <div className='relative w-full h-full'>
+          <div className='absolute top-[-16px] left-[50%] translate-x-[-50%] system-sm-semibold text-text-primary'>
             {(state.valueNow / 100).toFixed(2)}
           </div>
         </div>
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/style.module.css b/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/style.module.css
index 8ef23b5..4e93b39 100644
--- a/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/style.module.css
+++ b/app/components/base/features/new-feature-panel/annotation-reply/score-slider/base-slider/style.module.css
@@ -17,4 +17,4 @@
 
 .slider-track-1 {
     background-color: #E5E7EB;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.tsx b/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.tsx
index 2fc89b9..3a9a34b 100644
--- a/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.tsx
+++ b/app/components/base/features/new-feature-panel/annotation-reply/score-slider/index.tsx
@@ -19,7 +19,7 @@
 
   return (
     <div className={className}>
-      <div className='mt-[14px] h-[1px]'>
+      <div className='h-[1px] mt-[14px]'>
         <Slider
           max={100}
           min={80}
@@ -28,7 +28,7 @@
           onChange={onChange}
         />
       </div>
-      <div className='system-xs-semibold-uppercase mt-[10px] flex items-center justify-between'>
+      <div className='mt-[10px] flex justify-between items-center system-xs-semibold-uppercase'>
         <div className='flex space-x-1 text-util-colors-cyan-cyan-500'>
           <div>0.8</div>
           <div>路</div>
diff --git a/app/components/base/features/new-feature-panel/citation.tsx b/app/components/base/features/new-feature-panel/citation.tsx
index 773304d..a0b702e 100644
--- a/app/components/base/features/new-feature-panel/citation.tsx
+++ b/app/components/base/features/new-feature-panel/citation.tsx
@@ -40,8 +40,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-warning-warning-500 p-1 shadow-xs'>
-          <Citations className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-warning-warning-500'>
+          <Citations className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.citation.title')}
diff --git a/app/components/base/features/new-feature-panel/conversation-opener/index.tsx b/app/components/base/features/new-feature-panel/conversation-opener/index.tsx
index e407588..ab6b3ec 100644
--- a/app/components/base/features/new-feature-panel/conversation-opener/index.tsx
+++ b/app/components/base/features/new-feature-panel/conversation-opener/index.tsx
@@ -81,8 +81,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-          <LoveMessage className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+          <LoveMessage className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.conversationOpener.title')}
@@ -94,18 +94,18 @@
     >
       <>
         {!opening?.enabled && (
-          <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{t('appDebug.feature.conversationOpener.description')}</div>
+          <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{t('appDebug.feature.conversationOpener.description')}</div>
         )}
         {!!opening?.enabled && (
           <>
             {!isHovering && (
-              <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>
+              <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>
                 {opening.opening_statement || t('appDebug.openingStatement.placeholder')}
               </div>
             )}
             {isHovering && (
               <Button className='w-full' onClick={handleOpenOpeningModal} disabled={disabled}>
-                <RiEditLine className='mr-1 h-4 w-4' />
+                <RiEditLine className='mr-1 w-4 h-4' />
                 {t('appDebug.openingStatement.writeOpener')}
               </Button>
             )}
diff --git a/app/components/base/features/new-feature-panel/conversation-opener/modal.tsx b/app/components/base/features/new-feature-panel/conversation-opener/modal.tsx
index 117c8a5..41ed043 100644
--- a/app/components/base/features/new-feature-panel/conversation-opener/modal.tsx
+++ b/app/components/base/features/new-feature-panel/conversation-opener/modal.tsx
@@ -6,15 +6,12 @@
 import { RiAddLine, RiAsterisk, RiCloseLine, RiDeleteBinLine, RiDraggable } from '@remixicon/react'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
-import Divider from '@/app/components/base/divider'
 import ConfirmAddVar from '@/app/components/app/configuration/config-prompt/confirm-add-var'
 import type { OpeningStatement } from '@/app/components/base/features/types'
 import { getInputKeys } from '@/app/components/base/block-input'
 import type { PromptVariable } from '@/models/debug'
 import type { InputVar } from '@/app/components/workflow/types'
 import { getNewVar } from '@/utils/var'
-import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 type OpeningSettingModalProps = {
   data: OpeningStatement
@@ -89,19 +86,16 @@
     handleSave(true)
   }, [handleSave, hideConfirmAddVar, notIncludeKeys, onAutoAddPromptVariable])
 
-  const [focusID, setFocusID] = useState<number | null>(null)
-  const [deletingID, setDeletingID] = useState<number | null>(null)
-
   const renderQuestions = () => {
     return (
       <div>
         <div className='flex items-center py-2'>
-          <div className='flex shrink-0 space-x-0.5 text-xs font-medium leading-[18px] text-text-tertiary'>
+          <div className='shrink-0 flex space-x-0.5 leading-[18px] text-xs font-medium text-gray-500'>
             <div className='uppercase'>{t('appDebug.openingStatement.openingQuestion')}</div>
             <div>路</div>
             <div>{tempSuggestedQuestions.length}/{MAX_QUESTION_NUM}</div>
           </div>
-          <Divider bgStyle='gradient' className='ml-3 h-px w-0 grow'/>
+          <div className='ml-3 grow w-0 h-px bg-[#243, 244, 246]'></div>
         </div>
         <ReactSortable
           className="space-y-1"
@@ -118,15 +112,8 @@
         >
           {tempSuggestedQuestions.map((question, index) => {
             return (
-              <div
-                className={cn(
-                  'group relative flex items-center rounded-lg border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg pl-2.5 hover:bg-components-panel-on-panel-item-bg-hover',
-                  focusID === index && 'border-components-input-border-active bg-components-input-bg-active hover:border-components-input-border-active hover:bg-components-input-bg-active',
-                  deletingID === index && 'border-components-input-border-destructive bg-state-destructive-hover hover:border-components-input-border-destructive hover:bg-state-destructive-hover',
-                )}
-                key={index}
-              >
-                <RiDraggable className='handle h-4 w-4 cursor-grab text-text-quaternary' />
+              <div className='group relative rounded-lg border border-gray-200 flex items-center pl-2.5 hover:border-gray-300 hover:bg-white' key={index}>
+                <RiDraggable className='handle w-4 h-4 cursor-grab' />
                 <input
                   type="input"
                   value={question || ''}
@@ -139,20 +126,16 @@
                       return item
                     }))
                   }}
-                  className={'h-9 w-full grow cursor-pointer overflow-x-auto rounded-lg border-0 bg-transparent pl-1.5 pr-8 text-sm leading-9 text-text-secondary focus:outline-none'}
-                  onFocus={() => setFocusID(index)}
-                  onBlur={() => setFocusID(null)}
+                  className={'w-full overflow-x-auto pl-1.5 pr-8 text-sm leading-9 text-gray-900 border-0 grow h-9 bg-transparent focus:outline-none cursor-pointer rounded-lg'}
                 />
 
                 <div
-                  className='absolute right-1.5 top-1/2 block translate-y-[-50%] cursor-pointer rounded-md p-1 text-text-tertiary hover:bg-state-destructive-hover hover:text-text-destructive'
+                  className='block absolute top-1/2 translate-y-[-50%] right-1.5 p-1 rounded-md cursor-pointer hover:bg-[#FEE4E2] hover:text-[#D92D20]'
                   onClick={() => {
                     setTempSuggestedQuestions(tempSuggestedQuestions.filter((_, i) => index !== i))
                   }}
-                  onMouseEnter={() => setDeletingID(index)}
-                  onMouseLeave={() => setDeletingID(null)}
                 >
-                  <RiDeleteBinLine className='h-3.5 w-3.5' />
+                  <RiDeleteBinLine className='w-3.5 h-3.5' />
                 </div>
               </div>
             )
@@ -160,9 +143,9 @@
         {tempSuggestedQuestions.length < MAX_QUESTION_NUM && (
           <div
             onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }}
-            className='mt-1 flex h-9 cursor-pointer items-center gap-2 rounded-lg bg-components-button-tertiary-bg px-3  text-components-button-tertiary-text hover:bg-components-button-tertiary-bg-hover'>
-            <RiAddLine className='h-4 w-4' />
-            <div className='system-sm-medium text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
+            className='mt-1 flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100 hover:bg-gray-200'>
+            <RiAddLine className='w-4 h-4' />
+            <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
           </div>
         )}
       </div>
@@ -172,23 +155,23 @@
   return (
     <Modal
       isShow
-      onClose={noop}
-      className='!mt-14 !w-[640px] !max-w-none !bg-components-panel-bg-blur !p-6'
+      onClose={() => { }}
+      className='!p-6 !mt-14 !max-w-none !w-[640px] !bg-components-panel-bg-blur'
     >
-      <div className='mb-6 flex items-center justify-between'>
-        <div className='title-2xl-semi-bold text-text-primary'>{t('appDebug.feature.conversationOpener.title')}</div>
-        <div className='cursor-pointer p-1' onClick={onCancel}><RiCloseLine className='h-4 w-4 text-text-tertiary'/></div>
+      <div className='flex items-center justify-between mb-6'>
+        <div className='text-text-primary title-2xl-semi-bold'>{t('appDebug.feature.conversationOpener.title')}</div>
+        <div className='p-1 cursor-pointer' onClick={onCancel}><RiCloseLine className='w-4 h-4 text-text-tertiary'/></div>
       </div>
-      <div className='mb-8 flex gap-2'>
-        <div className='mt-1.5 h-8 w-8 shrink-0 rounded-lg border-components-panel-border bg-util-colors-orange-dark-orange-dark-500 p-1.5'>
-          <RiAsterisk className='h-5 w-5 text-text-primary-on-surface' />
+      <div className='flex gap-2 mb-8'>
+        <div className='shrink-0 mt-1.5 w-8 h-8 p-1.5 rounded-lg border-components-panel-border bg-util-colors-orange-dark-orange-dark-500'>
+          <RiAsterisk className='w-5 h-5 text-text-primary-on-surface' />
         </div>
-        <div className='grow rounded-2xl border-t border-divider-subtle bg-chat-bubble-bg p-3 shadow-xs'>
+        <div className='grow p-3 bg-chat-bubble-bg rounded-2xl border-t border-divider-subtle shadow-xs'>
           <textarea
             value={tempValue}
             rows={3}
             onChange={e => setTempValue(e.target.value)}
-            className="system-md-regular w-full border-0 bg-transparent  px-0 text-text-secondary focus:outline-none"
+            className="w-full px-0 text-text-secondary system-md-regular  border-0 bg-transparent focus:outline-none"
             placeholder={t('appDebug.openingStatement.placeholder') as string}
           />
           {renderQuestions()}
diff --git a/app/components/base/features/new-feature-panel/dialog-wrapper.tsx b/app/components/base/features/new-feature-panel/dialog-wrapper.tsx
index b87b635..e2b03fa 100644
--- a/app/components/base/features/new-feature-panel/dialog-wrapper.tsx
+++ b/app/components/base/features/new-feature-panel/dialog-wrapper.tsx
@@ -1,6 +1,6 @@
 import { Fragment, useCallback } from 'react'
 import type { ReactNode } from 'react'
-import { Dialog, DialogPanel, Transition, TransitionChild } from '@headlessui/react'
+import { Dialog, Transition } from '@headlessui/react'
 import cn from '@/utils/classnames'
 
 type DialogProps = {
@@ -22,29 +22,33 @@
   return (
     <Transition appear show={show} as={Fragment}>
       <Dialog as="div" className="relative z-40" onClose={close}>
-        <TransitionChild>
-          <div className={cn(
-            'fixed inset-0 bg-black bg-opacity-25',
-            'data-[closed]:opacity-0',
-            'data-[enter]:opacity-100 data-[enter]:duration-300 data-[enter]:ease-out',
-            'data-[leave]:opacity-0 data-[leave]:duration-200 data-[leave]:ease-in',
-          )} />
-        </TransitionChild>
+        <Transition.Child
+          as={Fragment}
+          enter="ease-out duration-300"
+          enterFrom="opacity-0"
+          enterTo="opacity-100"
+          leave="ease-in duration-200"
+          leaveFrom="opacity-100"
+          leaveTo="opacity-0"
+        >
+          <div className="fixed inset-0 bg-black bg-opacity-25" />
+        </Transition.Child>
 
         <div className="fixed inset-0">
-          <div className={cn('flex min-h-full flex-col items-end justify-center pb-2', inWorkflow ? 'pt-[112px]' : 'pr-2 pt-[64px]')}>
-            <TransitionChild>
-              <DialogPanel className={cn(
-                'relative flex h-0 w-[420px] grow flex-col overflow-hidden border-components-panel-border bg-components-panel-bg-alt p-0 text-left align-middle shadow-xl transition-all',
-                inWorkflow ? 'rounded-l-2xl border-b-[0.5px] border-l-[0.5px] border-t-[0.5px]' : 'rounded-2xl border-[0.5px]',
-                'data-[closed]:scale-95  data-[closed]:opacity-0',
-                'data-[enter]:scale-100 data-[enter]:opacity-100 data-[enter]:duration-300 data-[enter]:ease-out',
-                'data-[leave]:scale-95 data-[leave]:opacity-0 data-[leave]:duration-200 data-[leave]:ease-in',
-                className,
-              )}>
+          <div className={cn('flex flex-col items-end justify-center min-h-full pb-2', inWorkflow ? 'pt-[112px]' : 'pt-[64px] pr-2')}>
+            <Transition.Child
+              as={Fragment}
+              enter="ease-out duration-300"
+              enterFrom="opacity-0 scale-95"
+              enterTo="opacity-100 scale-100"
+              leave="ease-in duration-200"
+              leaveFrom="opacity-100 scale-100"
+              leaveTo="opacity-0 scale-95"
+            >
+              <Dialog.Panel className={cn('grow flex flex-col relative w-[420px] h-0 p-0 overflow-hidden text-left align-middle transition-all transform bg-components-panel-bg-alt border-components-panel-border shadow-xl', inWorkflow ? 'border-t-[0.5px] border-l-[0.5px] border-b-[0.5px] rounded-l-2xl' : 'border-[0.5px] rounded-2xl', className)}>
                 {children}
-              </DialogPanel>
-            </TransitionChild>
+              </Dialog.Panel>
+            </Transition.Child>
           </div>
         </div>
       </Dialog>
diff --git a/app/components/base/features/new-feature-panel/feature-bar.tsx b/app/components/base/features/new-feature-panel/feature-bar.tsx
index bea26d8..42fe555 100644
--- a/app/components/base/features/new-feature-panel/feature-bar.tsx
+++ b/app/components/base/features/new-feature-panel/feature-bar.tsx
@@ -36,23 +36,23 @@
   }, [features, isChatMode, showFileUpload])
 
   return (
-    <div className='m-1 mt-0 -translate-y-2 rounded-b-[10px] border-b border-l border-r border-components-panel-border-subtle bg-util-colors-indigo-indigo-50 px-2.5 py-2 pt-4'>
+    <div className='-translate-y-2 m-1 mt-0 px-2.5 py-2 pt-4 bg-util-colors-indigo-indigo-50 rounded-b-[10px] border-l border-b border-r border-components-panel-border-subtle'>
       {noFeatureEnabled && (
-        <div className='flex cursor-pointer items-end gap-1' onClick={() => onFeatureBarClick?.(true)}>
-          <RiApps2AddLine className='h-3.5 w-3.5 text-text-accent' />
-          <div className='body-xs-medium text-text-accent'>{t('appDebug.feature.bar.empty')}</div>
-          <RiArrowRightLine className='h-3.5 w-3.5 text-text-accent' />
+        <div className='flex items-end gap-1 cursor-pointer' onClick={() => onFeatureBarClick?.(true)}>
+          <RiApps2AddLine className='w-3.5 h-3.5 text-text-accent' />
+          <div className='text-text-accent body-xs-medium'>{t('appDebug.feature.bar.empty')}</div>
+          <RiArrowRightLine className='w-3.5 h-3.5 text-text-accent' />
         </div>
       )}
       {!noFeatureEnabled && (
         <div className='flex items-center gap-2'>
-          <div className='flex shrink-0 items-center gap-0.5'>
+          <div className='shrink-0 flex items-center gap-0.5'>
             {!!features.moreLikeThis?.enabled && (
               <Tooltip
                 popupContent={t('appDebug.feature.moreLikeThis.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-                  <RiSparklingFill className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+                  <RiSparklingFill className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -60,8 +60,8 @@
               <Tooltip
                 popupContent={t('appDebug.feature.conversationOpener.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-                  <LoveMessage className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+                  <LoveMessage className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -69,8 +69,8 @@
               <Tooltip
                 popupContent={t('appDebug.feature.moderation.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-text-success p-1 shadow-xs'>
-                  <ContentModeration className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-text-success'>
+                  <ContentModeration className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -78,8 +78,8 @@
               <Tooltip
                 popupContent={t('appDebug.feature.speechToText.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-violet-violet-600 p-1 shadow-xs'>
-                  <Microphone01 className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-violet-violet-600'>
+                  <Microphone01 className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -88,8 +88,8 @@
                 <Tooltip
                   popupContent={t('appDebug.feature.textToSpeech.title')}
                 >
-                  <div className={cn('shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-violet-violet-600 p-1 shadow-xs', !disabled && 'cursor-pointer')}>
-                    <TextToAudio className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                  <div className={cn('shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-violet-violet-600', !disabled && 'cursor-pointer')}>
+                    <TextToAudio className='w-3.5 h-3.5 text-text-primary-on-surface' />
                   </div>
                 </Tooltip>
               </VoiceSettings>
@@ -98,8 +98,8 @@
               <Tooltip
                 popupContent={t('appDebug.feature.fileUpload.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-blue-600 p-1 shadow-xs'>
-                  <FolderUpload className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-blue-600'>
+                  <FolderUpload className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -107,8 +107,8 @@
               <Tooltip
                 popupContent={t('appDebug.feature.suggestedQuestionsAfterAnswer.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-                  <VirtualAssistant className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+                  <VirtualAssistant className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -116,8 +116,8 @@
               <Tooltip
                 popupContent={t('appDebug.feature.citation.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-warning-warning-500 p-1 shadow-xs'>
-                  <Citations className='h-4 w-4 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-warning-warning-500'>
+                  <Citations className='w-4 h-4 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
@@ -125,16 +125,16 @@
               <Tooltip
                 popupContent={t('appDebug.feature.annotation.title')}
               >
-                <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-indigo-indigo-600 p-1 shadow-xs'>
-                  <MessageFast className='h-3.5 w-3.5 text-text-primary-on-surface' />
+                <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-indigo-indigo-600'>
+                  <MessageFast className='w-3.5 h-3.5 text-text-primary-on-surface' />
                 </div>
               </Tooltip>
             )}
           </div>
-          <div className='body-xs-regular grow text-text-tertiary'>{t('appDebug.feature.bar.enableText')}</div>
+          <div className='grow text-text-tertiary body-xs-regular'>{t('appDebug.feature.bar.enableText')}</div>
           <Button className='shrink-0' variant='ghost-accent' size='small' onClick={() => onFeatureBarClick?.(true)}>
             <div className='mx-1'>{t('appDebug.feature.bar.manage')}</div>
-            <RiArrowRightLine className='h-3.5 w-3.5 text-text-accent' />
+            <RiArrowRightLine className='w-3.5 h-3.5 text-text-accent' />
           </Button>
         </div>
       )}
diff --git a/app/components/base/features/new-feature-panel/feature-card.tsx b/app/components/base/features/new-feature-panel/feature-card.tsx
index c895ef1..341a693 100644
--- a/app/components/base/features/new-feature-panel/feature-card.tsx
+++ b/app/components/base/features/new-feature-panel/feature-card.tsx
@@ -32,26 +32,26 @@
 }: Props) => {
   return (
     <div
-      className='mb-1 rounded-xl border-l-[0.5px] border-t-[0.5px] border-effects-highlight bg-background-section-burn p-3'
+      className='mb-1 p-3 border-t-[0.5px] border-l-[0.5px] border-effects-highlight rounded-xl bg-background-section-burn'
       onMouseEnter={onMouseEnter}
       onMouseLeave={onMouseLeave}
     >
       <div className='mb-2 flex items-center gap-2'>
         {icon}
-        <div className='system-sm-semibold flex grow items-center text-text-secondary'>
+        <div className='grow flex items-center text-text-secondary system-sm-semibold'>
           {title}
           {tooltip && (
             <Tooltip
               popupContent={tooltip}
             >
-              <div className='ml-0.5 p-px'><RiQuestionLine className='h-3.5 w-3.5 text-text-quaternary' /></div>
+              <div className='ml-0.5 p-px'><RiQuestionLine className='w-3.5 h-3.5 text-text-quaternary' /></div>
             </Tooltip>
           )}
         </div>
         <Switch disabled={disabled} className='shrink-0' onChange={state => onChange?.(state)} defaultValue={value} />
       </div>
       {description && (
-        <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{description}</div>
+        <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{description}</div>
       )}
       {children}
     </div>
diff --git a/app/components/base/features/new-feature-panel/file-upload/index.tsx b/app/components/base/features/new-feature-panel/file-upload/index.tsx
index 1fc1bff..7babdd7 100644
--- a/app/components/base/features/new-feature-panel/file-upload/index.tsx
+++ b/app/components/base/features/new-feature-panel/file-upload/index.tsx
@@ -50,8 +50,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-blue-600 p-1 shadow-xs'>
-          <FolderUpload className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-blue-600'>
+          <FolderUpload className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.fileUpload.title')}
@@ -63,20 +63,20 @@
     >
       <>
         {!file?.enabled && (
-          <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{t('appDebug.feature.fileUpload.description')}</div>
+          <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{t('appDebug.feature.fileUpload.description')}</div>
         )}
         {file?.enabled && (
           <>
             {!isHovering && !modalOpen && (
-              <div className='flex items-center gap-4 pt-0.5'>
+              <div className='pt-0.5 flex items-center gap-4'>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.fileUpload.supportedTypes')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{supportedTypes}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.fileUpload.supportedTypes')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{supportedTypes}</div>
                 </div>
-                <div className='h-[27px] w-px rotate-12 bg-divider-subtle'></div>
+                <div className='w-px h-[27px] bg-divider-subtle rotate-12'></div>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.fileUpload.numberLimit')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{file?.number_limits}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.fileUpload.numberLimit')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{file?.number_limits}</div>
                 </div>
               </div>
             )}
@@ -90,7 +90,7 @@
                 onChange={onChange}
               >
                 <Button className='w-full' disabled={disabled}>
-                  <RiEqualizer2Line className='mr-1 h-4 w-4' />
+                  <RiEqualizer2Line className='mr-1 w-4 h-4' />
                   {t('common.operation.settings')}
                 </Button>
               </SettingModal>
diff --git a/app/components/base/features/new-feature-panel/file-upload/setting-content.tsx b/app/components/base/features/new-feature-panel/file-upload/setting-content.tsx
index 5a53aa4..7493f79 100644
--- a/app/components/base/features/new-feature-panel/file-upload/setting-content.tsx
+++ b/app/components/base/features/new-feature-panel/file-upload/setting-content.tsx
@@ -57,8 +57,8 @@
   return (
     <>
       <div className='mb-4 flex items-center justify-between'>
-        <div className='system-xl-semibold text-text-primary'>{!imageUpload ? t('appDebug.feature.fileUpload.modalTitle') : t('appDebug.feature.imageUpload.modalTitle')}</div>
-        <div className='cursor-pointer p-1' onClick={onClose}><RiCloseLine className='h-4 w-4 text-text-tertiary'/></div>
+        <div className='text-text-primary system-xl-semibold'>{!imageUpload ? t('appDebug.feature.fileUpload.modalTitle') : t('appDebug.feature.imageUpload.modalTitle')}</div>
+        <div className='p-1 cursor-pointer' onClick={onClose}><RiCloseLine className='w-4 h-4 text-text-tertiary'/></div>
       </div>
       <FileUploadSetting
         isMultiple
diff --git a/app/components/base/features/new-feature-panel/file-upload/setting-modal.tsx b/app/components/base/features/new-feature-panel/file-upload/setting-modal.tsx
index 92f93b8..e302309 100644
--- a/app/components/base/features/new-feature-panel/file-upload/setting-modal.tsx
+++ b/app/components/base/features/new-feature-panel/file-upload/setting-modal.tsx
@@ -37,7 +37,7 @@
         {children}
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 50 }}>
-        <div className='w-[360px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg p-4 shadow-2xl'>
+        <div className='w-[360px] p-4 bg-components-panel-bg rounded-2xl border-[0.5px] border-components-panel-border shadow-2xl'>
           <SettingContent
             imageUpload={imageUpload}
             onClose={() => onOpen(false)}
diff --git a/app/components/base/features/new-feature-panel/follow-up.tsx b/app/components/base/features/new-feature-panel/follow-up.tsx
index a81bc94..f4377ce 100644
--- a/app/components/base/features/new-feature-panel/follow-up.tsx
+++ b/app/components/base/features/new-feature-panel/follow-up.tsx
@@ -40,8 +40,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-          <VirtualAssistant className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+          <VirtualAssistant className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.suggestedQuestionsAfterAnswer.title')}
diff --git a/app/components/base/features/new-feature-panel/image-upload/index.tsx b/app/components/base/features/new-feature-panel/image-upload/index.tsx
index f09c35a..f728520 100644
--- a/app/components/base/features/new-feature-panel/image-upload/index.tsx
+++ b/app/components/base/features/new-feature-panel/image-upload/index.tsx
@@ -50,8 +50,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-indigo-indigo-600 p-1 shadow-xs'>
-          <RiImage2Fill className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-indigo-indigo-600'>
+          <RiImage2Fill className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={
@@ -59,7 +59,7 @@
           {t('appDebug.feature.imageUpload.title')}
           <Badge
             text='LEGACY'
-            className='mx-1 shrink-0 border-text-accent-secondary text-text-accent-secondary'
+            className='shrink-0 mx-1 border-text-accent-secondary text-text-accent-secondary'
           />
         </div>
       }
@@ -71,20 +71,20 @@
     >
       <>
         {!file?.enabled && (
-          <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{t('appDebug.feature.imageUpload.description')}</div>
+          <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{t('appDebug.feature.imageUpload.description')}</div>
         )}
         {file?.enabled && (
           <>
             {!isHovering && !modalOpen && (
-              <div className='flex items-center gap-4 pt-0.5'>
+              <div className='pt-0.5 flex items-center gap-4'>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.imageUpload.supportedTypes')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{supportedTypes}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.imageUpload.supportedTypes')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{supportedTypes}</div>
                 </div>
-                <div className='h-[27px] w-px rotate-12 bg-divider-subtle'></div>
+                <div className='w-px h-[27px] bg-divider-subtle rotate-12'></div>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.imageUpload.numberLimit')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{file?.number_limits}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.imageUpload.numberLimit')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{file?.number_limits}</div>
                 </div>
               </div>
             )}
@@ -99,7 +99,7 @@
                 onChange={onChange}
               >
                 <Button className='w-full' disabled={disabled}>
-                  <RiEqualizer2Line className='mr-1 h-4 w-4' />
+                  <RiEqualizer2Line className='mr-1 w-4 h-4' />
                   {t('common.operation.settings')}
                 </Button>
               </SettingModal>
diff --git a/app/components/base/features/new-feature-panel/index.tsx b/app/components/base/features/new-feature-panel/index.tsx
index eee6805..78204f2 100644
--- a/app/components/base/features/new-feature-panel/index.tsx
+++ b/app/components/base/features/new-feature-panel/index.tsx
@@ -58,25 +58,25 @@
       onClose={onClose}
       inWorkflow={inWorkflow}
     >
-      <div className='flex h-full grow flex-col'>
+      <div className='grow flex flex-col h-full'>
         {/* header */}
-        <div className='flex shrink-0 justify-between p-4 pb-3'>
+        <div className='shrink-0 flex justify-between p-4 pb-3'>
           <div>
-            <div className='system-xl-semibold text-text-primary'>{t('workflow.common.features')}</div>
-            <div className='body-xs-regular text-text-tertiary'>{t('workflow.common.featuresDescription')}</div>
+            <div className='text-text-primary system-xl-semibold'>{t('workflow.common.features')}</div>
+            <div className='text-text-tertiary body-xs-regular'>{t('workflow.common.featuresDescription')}</div>
           </div>
-          <div className='h-8 w-8 cursor-pointer p-2' onClick={onClose}><RiCloseLine className='h-4 w-4 text-text-tertiary'/></div>
+          <div className='w-8 h-8 p-2 cursor-pointer' onClick={onClose}><RiCloseLine className='w-4 h-4 text-text-tertiary'/></div>
         </div>
         {/* list */}
         <div className='grow basis-0 overflow-y-auto px-4 pb-4'>
           {showFileUpload && (
-            <div className='relative mb-1 rounded-xl border border-components-panel-border p-2 shadow-xs'>
-              <div className='absolute left-0 top-0 h-full w-full rounded-xl opacity-40' style={{ background: 'linear-gradient(92deg, rgba(11, 165, 236, 0.25) 18.12%, rgba(255, 255, 255, 0.00) 167.31%)' }}></div>
-              <div className='relative flex h-full w-full items-start'>
-                <div className='mr-0.5 shrink-0 p-0.5'>
-                  <RiInformation2Fill className='h-5 w-5 text-text-accent' />
+            <div className='relative mb-1 p-2 rounded-xl border border-components-panel-border shadow-xs'>
+              <div className='absolute top-0 left-0 w-full h-full rounded-xl opacity-40' style={{ background: 'linear-gradient(92deg, rgba(11, 165, 236, 0.25) 18.12%, rgba(255, 255, 255, 0.00) 167.31%)' }}></div>
+              <div className='relative flex items-start w-full h-full'>
+                <div className='shrink-0 mr-0.5 p-0.5'>
+                  <RiInformation2Fill className='w-5 h-5 text-text-accent' />
                 </div>
-                <div className='system-xs-medium p-1 text-text-primary'>
+                <div className='p-1 text-text-primary system-xs-medium'>
                   <span>{isChatMode ? t('workflow.common.fileUploadTip') : t('workflow.common.ImageUploadLegacyTip')}</span>
                   <a
                     className='text-text-accent'
diff --git a/app/components/base/features/new-feature-panel/moderation/form-generation.tsx b/app/components/base/features/new-feature-panel/moderation/form-generation.tsx
index dccf10d..067d009 100644
--- a/app/components/base/features/new-feature-panel/moderation/form-generation.tsx
+++ b/app/components/base/features/new-feature-panel/moderation/form-generation.tsx
@@ -30,14 +30,14 @@
             key={index}
             className='py-2'
           >
-            <div className='flex h-9 items-center text-sm font-medium text-text-primary'>
+            <div className='flex items-center h-9 text-sm font-medium text-gray-900'>
               {locale === 'zh-Hans' ? form.label['zh-Hans'] : form.label['en-US']}
             </div>
             {
               form.type === 'text-input' && (
                 <input
                   value={value?.[form.variable] || ''}
-                  className='block h-9 w-full appearance-none rounded-lg bg-components-input-bg-normal px-3 text-sm text-text-primary outline-none'
+                  className='block px-3 w-full h-9 bg-gray-100 rounded-lg text-sm text-gray-900 outline-none appearance-none'
                   placeholder={form.placeholder}
                   onChange={e => handleFormChange(form.variable, e.target.value)}
                 />
diff --git a/app/components/base/features/new-feature-panel/moderation/index.tsx b/app/components/base/features/new-feature-panel/moderation/index.tsx
index 78f4f2d..201efe3 100644
--- a/app/components/base/features/new-feature-panel/moderation/index.tsx
+++ b/app/components/base/features/new-feature-panel/moderation/index.tsx
@@ -130,8 +130,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-text-success p-1 shadow-xs'>
-          <ContentModeration className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-text-success'>
+          <ContentModeration className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.moderation.title')}
@@ -143,26 +143,26 @@
     >
       <>
         {!moderation?.enabled && (
-          <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{t('appDebug.feature.moderation.description')}</div>
+          <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{t('appDebug.feature.moderation.description')}</div>
         )}
         {!!moderation?.enabled && (
           <>
             {!isHovering && (
-              <div className='flex items-center gap-4 pt-0.5'>
+              <div className='pt-0.5 flex items-center gap-4'>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.moderation.modal.provider.title')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{providerContent}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.moderation.modal.provider.title')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{providerContent}</div>
                 </div>
-                <div className='h-[27px] w-px rotate-12 bg-divider-subtle'></div>
+                <div className='w-px h-[27px] bg-divider-subtle rotate-12'></div>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.feature.moderation.contentEnableLabel')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{enableContent}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.feature.moderation.contentEnableLabel')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{enableContent}</div>
                 </div>
               </div>
             )}
             {isHovering && (
               <Button className='w-full' onClick={handleOpenModerationSettingModal} disabled={disabled}>
-                <RiEqualizer2Line className='mr-1 h-4 w-4' />
+                <RiEqualizer2Line className='mr-1 w-4 h-4' />
                 {t('common.operation.settings')}
               </Button>
             )}
diff --git a/app/components/base/features/new-feature-panel/moderation/moderation-content.tsx b/app/components/base/features/new-feature-panel/moderation/moderation-content.tsx
index 9c00a7d..7cb8114 100644
--- a/app/components/base/features/new-feature-panel/moderation/moderation-content.tsx
+++ b/app/components/base/features/new-feature-panel/moderation/moderation-content.tsx
@@ -27,13 +27,13 @@
 
   return (
     <div className='py-2'>
-      <div className='rounded-lg border border-components-panel-border bg-components-panel-bg'>
-        <div className='flex h-10 items-center justify-between rounded-lg px-3'>
-          <div className='shrink-0 text-sm font-medium text-text-primary'>{title}</div>
-          <div className='flex grow items-center justify-end'>
+      <div className='rounded-lg bg-gray-50 border border-gray-200'>
+        <div className='flex items-center justify-between px-3 h-10 rounded-lg'>
+          <div className='shrink-0 text-sm font-medium text-gray-900'>{title}</div>
+          <div className='grow flex items-center justify-end'>
             {
               info && (
-                <div className='mr-2 truncate text-xs text-text-tertiary' title={info}>{info}</div>
+                <div className='mr-2 text-xs text-gray-500 truncate' title={info}>{info}</div>
               )
             }
             <Switch
@@ -45,20 +45,20 @@
         </div>
         {
           config.enabled && showPreset && (
-            <div className='rounded-lg bg-components-panel-bg px-3 pb-3 pt-1'>
-              <div className='flex h-8 items-center justify-between text-[13px] font-medium text-text-secondary'>
+            <div className='px-3 pt-1 pb-3 bg-white rounded-lg'>
+              <div className='flex items-center justify-between h-8 text-[13px] font-medium text-gray-700'>
                 {t('appDebug.feature.moderation.modal.content.preset')}
-                <span className='text-xs font-normal text-text-tertiary'>{t('appDebug.feature.moderation.modal.content.supportMarkdown')}</span>
+                <span className='text-xs font-normal text-gray-500'>{t('appDebug.feature.moderation.modal.content.supportMarkdown')}</span>
               </div>
-              <div className='relative h-20 rounded-lg bg-components-input-bg-normal px-3 py-2'>
+              <div className='relative px-3 py-2 h-20 rounded-lg bg-gray-100'>
                 <textarea
                   value={config.preset_response || ''}
-                  className='block h-full w-full resize-none appearance-none bg-transparent text-sm text-text-secondary outline-none'
+                  className='block w-full h-full bg-transparent text-sm outline-none appearance-none resize-none'
                   placeholder={t('appDebug.feature.moderation.modal.content.placeholder') || ''}
                   onChange={e => handleConfigChange('preset_response', e.target.value)}
                 />
-                <div className='absolute bottom-2 right-2 flex h-5 items-center rounded-md bg-background-section px-1 text-xs font-medium text-text-quaternary'>
-                  <span>{(config.preset_response || '').length}</span>/<span className='text-text-tertiary'>100</span>
+                <div className='absolute bottom-2 right-2 flex items-center px-1 h-5 rounded-md bg-gray-50 text-xs font-medium text-gray-300'>
+                  <span>{(config.preset_response || '').length}</span>/<span className='text-gray-500'>100</span>
                 </div>
               </div>
             </div>
diff --git a/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx b/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx
index ab5200f..e9e1a79 100644
--- a/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx
+++ b/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx
@@ -9,7 +9,6 @@
 import ApiBasedExtensionSelector from '@/app/components/header/account-setting/api-based-extension-page/selector'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
-import Divider from '@/app/components/base/divider'
 import { BookOpen01 } from '@/app/components/base/icons/src/vender/line/education'
 import type { ModerationConfig, ModerationContentConfig } from '@/models/debug'
 import { useToastContext } from '@/app/components/base/toast'
@@ -23,8 +22,6 @@
 import { InfoCircle } from '@/app/components/base/icons/src/vender/line/general'
 import { useModalContext } from '@/context/modal-context'
 import { CustomConfigurationStatusEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
-import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 const systemTypes = ['openai_moderation', 'keywords', 'api']
 
@@ -63,7 +60,7 @@
     '/code-based-extension?module=moderation',
     fetchCodeBasedExtensionList,
   )
-  const openaiProvider = modelProviders?.data.find(item => item.provider === 'langgenius/openai/openai')
+  const openaiProvider = modelProviders?.data.find(item => item.provider === 'openai')
   const systemOpenaiProviderEnabled = openaiProvider?.system_configuration.enabled
   const systemOpenaiProviderQuota = systemOpenaiProviderEnabled ? openaiProvider?.system_configuration.quota_configurations.find(item => item.quota_type === openaiProvider.system_configuration.current_quota_type) : undefined
   const systemOpenaiProviderCanUse = systemOpenaiProviderQuota?.is_valid
@@ -240,34 +237,32 @@
   return (
     <Modal
       isShow
-      onClose={noop}
-      className='!mt-14 !w-[600px] !max-w-none !p-6'
+      onClose={() => { }}
+      className='!p-6 !mt-14 !max-w-none !w-[600px]'
     >
       <div className='flex items-center justify-between'>
-        <div className='title-2xl-semi-bold text-text-primary'>{t('appDebug.feature.moderation.modal.title')}</div>
-        <div className='cursor-pointer p-1' onClick={onCancel}><RiCloseLine className='h-4 w-4 text-text-tertiary' /></div>
+        <div className='text-text-primary title-2xl-semi-bold'>{t('appDebug.feature.moderation.modal.title')}</div>
+        <div className='p-1 cursor-pointer' onClick={onCancel}><RiCloseLine className='w-4 h-4 text-text-tertiary'/></div>
       </div>
       <div className='py-2'>
-        <div className='text-sm font-medium leading-9 text-text-primary'>
+        <div className='leading-9 text-sm font-medium text-gray-900'>
           {t('appDebug.feature.moderation.modal.provider.title')}
         </div>
-        <div className='grid grid-cols-3 gap-2.5'>
+        <div className='grid gap-2.5 grid-cols-3'>
           {
             providers.map(provider => (
               <div
                 key={provider.key}
-                className={cn(
-                  'system-sm-regular flex h-8 cursor-default items-center rounded-md border border-components-option-card-option-border bg-components-option-card-option-bg px-2 text-text-secondary',
-                  localeData.type !== provider.key && 'cursor-pointer hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs',
-                  localeData.type === provider.key && 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg shadow-xs',
-                  localeData.type === 'openai_moderation' && provider.key === 'openai_moderation' && !isOpenAIProviderConfigured && 'text-text-disabled',
-                )}
+                className={`
+                  flex items-center px-3 py-2 rounded-lg text-sm text-gray-900 cursor-pointer
+                  ${localeData.type === provider.key ? 'bg-white border-[1.5px] border-primary-400 shadow-sm' : 'border border-gray-100 bg-gray-25'}
+                  ${localeData.type === 'openai_moderation' && provider.key === 'openai_moderation' && !isOpenAIProviderConfigured && 'opacity-50'}
+                `}
                 onClick={() => handleDataTypeChange(provider.key)}
               >
-                <div className={cn(
-                  'mr-2 h-4 w-4 rounded-full border border-components-radio-border bg-components-radio-bg shadow-xs',
-                  localeData.type === provider.key && 'border-[5px] border-components-radio-border-checked',
-                )}></div>
+                <div className={`
+                  mr-2 w-4 h-4 rounded-full border
+                  ${localeData.type === provider.key ? 'border-[5px] border-primary-600' : 'border border-gray-300'}`} />
                 {provider.name}
               </div>
             ))
@@ -275,12 +270,12 @@
         </div>
         {
           !isLoading && !isOpenAIProviderConfigured && localeData.type === 'openai_moderation' && (
-            <div className='mt-2 flex items-center rounded-lg border border-[#FEF0C7] bg-[#FFFAEB] px-3 py-2'>
-              <InfoCircle className='mr-1 h-4 w-4 text-[#F79009]' />
+            <div className='flex items-center mt-2 px-3 py-2 bg-[#FFFAEB] rounded-lg border border-[#FEF0C7]'>
+              <InfoCircle className='mr-1 w-4 h-4 text-[#F79009]' />
               <div className='flex items-center text-xs font-medium text-gray-700'>
                 {t('appDebug.feature.moderation.modal.openaiNotConfig.before')}
                 <span
-                  className='cursor-pointer text-primary-600'
+                  className='text-primary-600 cursor-pointer'
                   onClick={handleOpenSettingsModal}
                 >
                   &nbsp;{t('common.settings.provider')}&nbsp;
@@ -294,17 +289,17 @@
       {
         localeData.type === 'keywords' && (
           <div className='py-2'>
-            <div className='mb-1 text-sm font-medium text-text-primary'>{t('appDebug.feature.moderation.modal.provider.keywords')}</div>
-            <div className='mb-2 text-xs text-text-tertiary'>{t('appDebug.feature.moderation.modal.keywords.tip')}</div>
-            <div className='relative h-[88px] rounded-lg bg-components-input-bg-normal px-3 py-2'>
+            <div className='mb-1 text-sm font-medium text-gray-900'>{t('appDebug.feature.moderation.modal.provider.keywords')}</div>
+            <div className='mb-2 text-xs text-gray-500'>{t('appDebug.feature.moderation.modal.keywords.tip')}</div>
+            <div className='relative px-3 py-2 h-[88px] bg-gray-100 rounded-lg'>
               <textarea
                 value={localeData.config?.keywords || ''}
                 onChange={handleDataKeywordsChange}
-                className='block h-full w-full resize-none appearance-none bg-transparent text-sm text-text-secondary outline-none'
+                className='block w-full h-full bg-transparent text-sm outline-none appearance-none resize-none'
                 placeholder={t('appDebug.feature.moderation.modal.keywords.placeholder') || ''}
               />
-              <div className='absolute bottom-2 right-2 flex h-5 items-center rounded-md bg-background-section px-1 text-xs font-medium text-text-quaternary'>
-                <span>{(localeData.config?.keywords || '').split('\n').filter(Boolean).length}</span>/<span className='text-text-tertiary'>100 {t('appDebug.feature.moderation.modal.keywords.line')}</span>
+              <div className='absolute bottom-2 right-2 flex items-center px-1 h-5 rounded-md bg-gray-50 text-xs font-medium text-gray-300'>
+                <span>{(localeData.config?.keywords || '').split('\n').filter(Boolean).length}</span>/<span className='text-gray-500'>100 {t('appDebug.feature.moderation.modal.keywords.line')}</span>
               </div>
             </div>
           </div>
@@ -313,14 +308,14 @@
       {
         localeData.type === 'api' && (
           <div className='py-2'>
-            <div className='flex h-9 items-center justify-between'>
-              <div className='text-sm font-medium text-text-primary'>{t('common.apiBasedExtension.selector.title')}</div>
+            <div className='flex items-center justify-between h-9'>
+              <div className='text-sm font-medium text-gray-900'>{t('common.apiBasedExtension.selector.title')}</div>
               <a
                 href={t('common.apiBasedExtension.linkUrl') || '/'}
                 target='_blank' rel='noopener noreferrer'
-                className='group flex items-center text-xs text-text-tertiary hover:text-primary-600'
+                className='group flex items-center text-xs text-gray-500 hover:text-primary-600'
               >
-                <BookOpen01 className='mr-1 h-3 w-3 text-text-tertiary group-hover:text-primary-600' />
+                <BookOpen01 className='mr-1 w-3 h-3 text-gray-500 group-hover:text-primary-600' />
                 {t('common.apiBasedExtension.link')}
               </a>
             </div>
@@ -342,22 +337,22 @@
           />
         )
       }
-      <Divider bgStyle='gradient' className='my-3 h-px' />
+      <div className='my-3 h-[1px] bg-gradient-to-r from-[#F3F4F6]'></div>
       <ModerationContent
         title={t('appDebug.feature.moderation.modal.content.input') || ''}
         config={localeData.config?.inputs_config || { enabled: false, preset_response: '' }}
         onConfigChange={config => handleDataContentChange('inputs_config', config)}
         info={(localeData.type === 'api' && t('appDebug.feature.moderation.modal.content.fromApi')) || ''}
-        showPreset={localeData.type !== 'api'}
+        showPreset={!(localeData.type === 'api')}
       />
       <ModerationContent
         title={t('appDebug.feature.moderation.modal.content.output') || ''}
         config={localeData.config?.outputs_config || { enabled: false, preset_response: '' }}
         onConfigChange={config => handleDataContentChange('outputs_config', config)}
         info={(localeData.type === 'api' && t('appDebug.feature.moderation.modal.content.fromApi')) || ''}
-        showPreset={localeData.type !== 'api'}
+        showPreset={!(localeData.type === 'api')}
       />
-      <div className='mb-8 mt-1 text-xs font-medium text-text-tertiary'>{t('appDebug.feature.moderation.modal.content.condition')}</div>
+      <div className='mt-1 mb-8 text-xs font-medium text-gray-500'>{t('appDebug.feature.moderation.modal.content.condition')}</div>
       <div className='flex items-center justify-end'>
         <Button
           onClick={onCancel}
diff --git a/app/components/base/features/new-feature-panel/more-like-this.tsx b/app/components/base/features/new-feature-panel/more-like-this.tsx
index d2e2fc6..ac9ab07 100644
--- a/app/components/base/features/new-feature-panel/more-like-this.tsx
+++ b/app/components/base/features/new-feature-panel/more-like-this.tsx
@@ -40,8 +40,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-blue-light-blue-light-500 p-1 shadow-xs'>
-          <RiSparklingFill className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-blue-light-blue-light-500'>
+          <RiSparklingFill className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.moreLikeThis.title')}
diff --git a/app/components/base/features/new-feature-panel/speech-to-text.tsx b/app/components/base/features/new-feature-panel/speech-to-text.tsx
index 7905f8a..837b924 100644
--- a/app/components/base/features/new-feature-panel/speech-to-text.tsx
+++ b/app/components/base/features/new-feature-panel/speech-to-text.tsx
@@ -40,8 +40,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-violet-violet-600 p-1 shadow-xs'>
-          <Microphone01 className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-violet-violet-600'>
+          <Microphone01 className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.speechToText.title')}
diff --git a/app/components/base/features/new-feature-panel/text-to-speech/index.tsx b/app/components/base/features/new-feature-panel/text-to-speech/index.tsx
index 39f77f6..4bde724 100644
--- a/app/components/base/features/new-feature-panel/text-to-speech/index.tsx
+++ b/app/components/base/features/new-feature-panel/text-to-speech/index.tsx
@@ -49,8 +49,8 @@
   return (
     <FeatureCard
       icon={
-        <div className='shrink-0 rounded-lg border-[0.5px] border-divider-subtle bg-util-colors-violet-violet-600 p-1 shadow-xs'>
-          <TextToAudio className='h-4 w-4 text-text-primary-on-surface' />
+        <div className='shrink-0 p-1 rounded-lg border-[0.5px] border-divider-subtle shadow-xs bg-util-colors-violet-violet-600'>
+          <TextToAudio className='w-4 h-4 text-text-primary-on-surface' />
         </div>
       }
       title={t('appDebug.feature.textToSpeech.title')}
@@ -62,32 +62,32 @@
     >
       <>
         {!features.text2speech?.enabled && (
-          <div className='system-xs-regular line-clamp-2 min-h-8 text-text-tertiary'>{t('appDebug.feature.textToSpeech.description')}</div>
+          <div className='min-h-8 text-text-tertiary system-xs-regular line-clamp-2'>{t('appDebug.feature.textToSpeech.description')}</div>
         )}
         {!!features.text2speech?.enabled && (
           <>
             {!isHovering && !modalOpen && (
-              <div className='flex items-center gap-4 pt-0.5'>
+              <div className='pt-0.5 flex items-center gap-4'>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.voice.voiceSettings.language')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{languageInfo?.name || '-'}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.voice.voiceSettings.language')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{languageInfo?.name || '-'}</div>
                 </div>
-                <div className='h-[27px] w-px rotate-12 bg-divider-subtle'></div>
+                <div className='w-px h-[27px] bg-divider-subtle rotate-12'></div>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.voice.voiceSettings.voice')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{features.text2speech?.voice || t('appDebug.voice.defaultDisplay')}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.voice.voiceSettings.voice')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{features.text2speech?.voice || t('appDebug.voice.defaultDisplay')}</div>
                 </div>
-                <div className='h-[27px] w-px rotate-12 bg-divider-subtle'></div>
+                <div className='w-px h-[27px] bg-divider-subtle rotate-12'></div>
                 <div className=''>
-                  <div className='system-2xs-medium-uppercase mb-0.5 text-text-tertiary'>{t('appDebug.voice.voiceSettings.autoPlay')}</div>
-                  <div className='system-xs-regular text-text-secondary'>{features.text2speech?.autoPlay === TtsAutoPlay.enabled ? t('appDebug.voice.voiceSettings.autoPlayEnabled') : t('appDebug.voice.voiceSettings.autoPlayDisabled')}</div>
+                  <div className='mb-0.5 text-text-tertiary system-2xs-medium-uppercase'>{t('appDebug.voice.voiceSettings.autoPlay')}</div>
+                  <div className='text-text-secondary system-xs-regular'>{features.text2speech?.autoPlay === TtsAutoPlay.enabled ? t('appDebug.voice.voiceSettings.autoPlayEnabled') : t('appDebug.voice.voiceSettings.autoPlayDisabled')}</div>
                 </div>
               </div>
             )}
             {(isHovering || modalOpen) && (
               <VoiceSettings open={modalOpen && !disabled} onOpen={setModalOpen} onChange={onChange}>
                 <Button className='w-full' disabled={disabled}>
-                  <RiEqualizer2Line className='mr-1 h-4 w-4' />
+                  <RiEqualizer2Line className='mr-1 w-4 h-4' />
                   {t('appDebug.voice.voiceSettings.title')}
                 </Button>
               </VoiceSettings>
diff --git a/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx b/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx
index 57659d6..360ea8a 100644
--- a/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx
+++ b/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx
@@ -5,7 +5,7 @@
 import { usePathname } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
 import { RiCloseLine } from '@remixicon/react'
-import { Listbox, ListboxButton, ListboxOption, ListboxOptions, Transition } from '@headlessui/react'
+import { Listbox, Transition } from '@headlessui/react'
 import { CheckIcon, ChevronDownIcon } from '@heroicons/react/20/solid'
 import { useFeatures, useFeaturesStore } from '@/app/components/base/features/hooks'
 import type { Item } from '@/app/components/base/select'
@@ -66,11 +66,11 @@
   return (
     <>
       <div className='mb-4 flex items-center justify-between'>
-        <div className='system-xl-semibold text-text-primary'>{t('appDebug.voice.voiceSettings.title')}</div>
-        <div className='cursor-pointer p-1' onClick={onClose}><RiCloseLine className='h-4 w-4 text-text-tertiary' /></div>
+        <div className='text-text-primary system-xl-semibold'>{t('appDebug.voice.voiceSettings.title')}</div>
+        <div className='p-1 cursor-pointer' onClick={onClose}><RiCloseLine className='w-4 h-4 text-text-tertiary'/></div>
       </div>
       <div className='mb-3'>
-        <div className='system-sm-semibold mb-1 flex items-center py-1 text-text-secondary'>
+        <div className='mb-1 py-1 flex items-center text-text-secondary system-sm-semibold'>
           {t('appDebug.voice.voiceSettings.language')}
           <Tooltip
             popupContent={
@@ -92,18 +92,18 @@
           }}
         >
           <div className='relative h-8'>
-            <ListboxButton
-              className={'h-full w-full cursor-pointer rounded-lg border-0 bg-components-input-bg-normal py-1.5 pl-3 pr-10 focus-visible:bg-state-base-hover focus-visible:outline-none group-hover:bg-state-base-hover sm:text-sm sm:leading-6'}>
-              <span className={classNames('block truncate text-left text-text-secondary', !languageItem?.name && 'text-text-tertiary')}>
+            <Listbox.Button
+              className={'w-full h-full rounded-lg border-0 bg-gray-100 py-1.5 pl-3 pr-10 sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-gray-200 group-hover:bg-gray-200 cursor-pointer'}>
+              <span className={classNames('block truncate text-left', !languageItem?.name && 'text-gray-400')}>
                 {languageItem?.name ? t(`common.voice.language.${languageItem?.value.replace('-', '')}`) : localLanguagePlaceholder}
               </span>
               <span className="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2">
                 <ChevronDownIcon
-                  className="h-4 w-4 text-text-tertiary"
+                  className="h-5 w-5 text-gray-400"
                   aria-hidden="true"
                 />
               </span>
-            </ListboxButton>
+            </Listbox.Button>
             <Transition
               as={Fragment}
               leave="transition ease-in duration-100"
@@ -111,13 +111,14 @@
               leaveTo="opacity-0"
             >
 
-              <ListboxOptions
-                className="absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md border-[0.5px] border-components-panel-border bg-components-panel-bg px-1 py-1 text-base shadow-lg focus:outline-none sm:text-sm">
+              <Listbox.Options
+                className="absolute z-10 mt-1 px-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg border-gray-200 border-[0.5px] focus:outline-none sm:text-sm">
                 {languages.map((item: Item) => (
-                  <ListboxOption
+                  <Listbox.Option
                     key={item.value}
-                    className={
-                      'relative cursor-pointer select-none rounded-lg py-2 pl-3 pr-9 text-text-secondary hover:bg-state-base-hover data-[active]:bg-state-base-active'
+                    className={({ active }) =>
+                      `relative cursor-pointer select-none py-2 pl-3 pr-9 rounded-lg hover:bg-gray-100 text-gray-700 ${active ? 'bg-gray-100' : ''
+                      }`
                     }
                     value={item}
                     disabled={false}
@@ -129,23 +130,23 @@
                         {(selected || item.value === text2speech?.language) && (
                           <span
                             className={classNames(
-                              'absolute inset-y-0 right-0 flex items-center pr-4 text-text-secondary',
+                              'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700',
                             )}
                           >
-                            <CheckIcon className="h-4 w-4" aria-hidden="true" />
+                            <CheckIcon className="h-5 w-5" aria-hidden="true"/>
                           </span>
                         )}
                       </>
                     )}
-                  </ListboxOption>
+                  </Listbox.Option>
                 ))}
-              </ListboxOptions>
+              </Listbox.Options>
             </Transition>
           </div>
         </Listbox>
       </div>
       <div className='mb-3'>
-        <div className='system-sm-semibold mb-1 py-1 text-text-secondary'>
+        <div className='mb-1 py-1 text-text-secondary system-sm-semibold'>
           {t('appDebug.voice.voiceSettings.voice')}
         </div>
         <div className='flex items-center gap-1'>
@@ -158,18 +159,18 @@
               })
             }}
           >
-            <div className={'relative h-8 grow'}>
-              <ListboxButton
-                className={'h-full w-full cursor-pointer rounded-lg border-0 bg-components-input-bg-normal py-1.5 pl-3 pr-10 focus-visible:bg-state-base-hover focus-visible:outline-none group-hover:bg-state-base-hover sm:text-sm sm:leading-6'}>
+            <div className={'grow relative h-8'}>
+              <Listbox.Button
+                className={'w-full h-full rounded-lg border-0 bg-gray-100 py-1.5 pl-3 pr-10 sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-gray-200 group-hover:bg-gray-200 cursor-pointer'}>
                 <span
-                  className={classNames('block truncate text-left text-text-secondary', !voiceItem?.name && 'text-text-tertiary')}>{voiceItem?.name ?? localVoicePlaceholder}</span>
+                  className={classNames('block truncate text-left', !voiceItem?.name && 'text-gray-400')}>{voiceItem?.name ?? localVoicePlaceholder}</span>
                 <span className="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2">
                   <ChevronDownIcon
-                    className="h-4 w-4 text-text-tertiary"
+                    className="h-5 w-5 text-gray-400"
                     aria-hidden="true"
                   />
                 </span>
-              </ListboxButton>
+              </Listbox.Button>
               <Transition
                 as={Fragment}
                 leave="transition ease-in duration-100"
@@ -177,13 +178,14 @@
                 leaveTo="opacity-0"
               >
 
-                <ListboxOptions
-                  className="absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md border-[0.5px] border-components-panel-border bg-components-panel-bg px-1 py-1 text-base shadow-lg focus:outline-none sm:text-sm">
+                <Listbox.Options
+                  className="absolute z-10 mt-1 px-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg border-gray-200 border-[0.5px] focus:outline-none sm:text-sm">
                   {voiceItems?.map((item: Item) => (
-                    <ListboxOption
+                    <Listbox.Option
                       key={item.value}
-                      className={
-                        'relative cursor-pointer select-none rounded-lg py-2 pl-3 pr-9 text-text-secondary hover:bg-state-base-hover data-[active]:bg-state-base-active'
+                      className={({ active }) =>
+                        `relative cursor-pointer select-none py-2 pl-3 pr-9 rounded-lg hover:bg-gray-100 text-gray-700 ${active ? 'bg-gray-100' : ''
+                        }`
                       }
                       value={item}
                       disabled={false}
@@ -194,22 +196,22 @@
                           {(selected || item.value === text2speech?.voice) && (
                             <span
                               className={classNames(
-                                'absolute inset-y-0 right-0 flex items-center pr-4 text-text-secondary',
+                                'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700',
                               )}
                             >
-                              <CheckIcon className="h-4 w-4" aria-hidden="true" />
+                              <CheckIcon className="h-5 w-5" aria-hidden="true"/>
                             </span>
                           )}
                         </>
                       )}
-                    </ListboxOption>
+                    </Listbox.Option>
                   ))}
-                </ListboxOptions>
+                </Listbox.Options>
               </Transition>
             </div>
           </Listbox>
           {languageItem?.example && (
-            <div className='h-8 shrink-0 rounded-lg bg-components-button-tertiary-bg p-1'>
+            <div className='shrink-0 h-8 p-1 rounded-lg bg-components-button-tertiary-bg'>
               <AudioBtn
                 value={languageItem?.example}
                 isAudition
@@ -221,7 +223,7 @@
         </div>
       </div>
       <div>
-        <div className='system-sm-semibold mb-1 py-1 text-text-secondary'>
+        <div className='mb-1 py-1 text-text-secondary system-sm-semibold'>
           {t('appDebug.voice.voiceSettings.autoPlay')}
         </div>
         <Switch className='shrink-0'
diff --git a/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.tsx b/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.tsx
index 3c77897..076f06e 100644
--- a/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.tsx
+++ b/app/components/base/features/new-feature-panel/text-to-speech/voice-settings.tsx
@@ -37,7 +37,7 @@
         {children}
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 50 }}>
-        <div className='w-[360px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg p-4 shadow-2xl'>
+        <div className='w-[360px] p-4 bg-components-panel-bg rounded-2xl border-[0.5px] border-components-panel-border shadow-2xl'>
           <ParamConfigContent onClose={() => onOpen(false)} onChange={onChange} />
         </div>
       </PortalToFollowElemContent>
diff --git a/app/components/base/file-uploader/audio-preview.tsx b/app/components/base/file-uploader/audio-preview.tsx
index 22d244a..9a1ed44 100644
--- a/app/components/base/file-uploader/audio-preview.tsx
+++ b/app/components/base/file-uploader/audio-preview.tsx
@@ -19,7 +19,7 @@
 
   return createPortal(
     <div
-      className='fixed inset-0 z-[1000] flex items-center justify-center bg-black/80 p-8'
+      className='fixed inset-0 p-8 flex items-center justify-center bg-black/80 z-[1000]'
       onClick={e => e.stopPropagation()}
       tabIndex={-1}
     >
@@ -28,17 +28,18 @@
           <source
             type="audio/mpeg"
             src={url}
-            className='max-h-full max-w-full'
+            className='max-w-full max-h-full'
           />
         </audio>
       </div>
       <div
-        className='absolute right-6 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-white/[0.08] backdrop-blur-[2px]'
+        className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/[0.08] rounded-lg backdrop-blur-[2px] cursor-pointer'
         onClick={onCancel}
       >
-        <RiCloseLine className='h-4 w-4 text-gray-500'/>
+        <RiCloseLine className='w-4 h-4 text-gray-500'/>
       </div>
-    </div>,
+    </div>
+    ,
     document.body,
   )
 }
diff --git a/app/components/base/file-uploader/file-from-link-or-local/index.tsx b/app/components/base/file-uploader/file-from-link-or-local/index.tsx
index 4f11923..1ff2bdd 100644
--- a/app/components/base/file-uploader/file-from-link-or-local/index.tsx
+++ b/app/components/base/file-uploader/file-from-link-or-local/index.tsx
@@ -59,22 +59,22 @@
       <PortalToFollowElemTrigger onClick={() => setOpen(v => !v)} asChild>
         {trigger(open)}
       </PortalToFollowElemTrigger>
-      <PortalToFollowElemContent className='z-[1001]'>
-        <div className='w-[280px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-3 shadow-lg'>
+      <PortalToFollowElemContent className='z-10'>
+        <div className='p-3 w-[280px] bg-components-panel-bg-blur border-[0.5px] border-components-panel-border rounded-xl shadow-lg'>
           {
             showFromLink && (
               <>
                 <div className={cn(
-                  'flex h-8 items-center rounded-lg border border-components-input-border-active bg-components-input-bg-active p-1 shadow-xs',
+                  'flex items-center p-1 h-8 bg-components-input-bg-active border border-components-input-border-active rounded-lg shadow-xs',
                   showError && 'border-components-input-border-destructive',
                 )}>
                   <input
-                    className='system-sm-regular mr-0.5 block grow appearance-none bg-transparent px-1 outline-none'
+                    className='grow block mr-0.5 px-1 bg-transparent system-sm-regular outline-none appearance-none'
                     placeholder={t('common.fileUploader.pasteFileLinkInputPlaceholder') || ''}
                     value={url}
                     onChange={(e) => {
                       setShowError(false)
-                      setUrl(e.target.value.trim())
+                      setUrl(e.target.value)
                     }}
                     disabled={disabled}
                   />
@@ -90,7 +90,7 @@
                 </div>
                 {
                   showError && (
-                    <div className='body-xs-regular mt-0.5 text-text-destructive'>
+                    <div className='mt-0.5 body-xs-regular text-text-destructive'>
                       {t('common.fileUploader.pasteFileLinkInvalid')}
                     </div>
                   )
@@ -100,10 +100,10 @@
           }
           {
             showFromLink && showFromLocal && (
-              <div className='system-2xs-medium-uppercase flex h-7 items-center p-2 text-text-quaternary'>
-                <div className='mr-2 h-[1px] w-[93px] bg-gradient-to-l from-[rgba(16,24,40,0.08)]' />
+              <div className='flex items-center p-2 h-7 system-2xs-medium-uppercase text-text-quaternary'>
+                <div className='mr-2 w-[93px] h-[1px] bg-gradient-to-l from-[rgba(16,24,40,0.08)]' />
                 OR
-                <div className='ml-2 h-[1px] w-[93px] bg-gradient-to-r from-[rgba(16,24,40,0.08)]' />
+                <div className='ml-2 w-[93px] h-[1px] bg-gradient-to-r from-[rgba(16,24,40,0.08)]' />
               </div>
             )
           }
@@ -114,7 +114,7 @@
                 variant='secondary-accent'
                 disabled={disabled}
               >
-                <RiUploadCloud2Line className='mr-1 h-4 w-4' />
+                <RiUploadCloud2Line className='mr-1 w-4 h-4' />
                 {t('common.fileUploader.uploadFromComputer')}
                 <FileInput fileConfig={fileConfig} />
               </Button>
diff --git a/app/components/base/file-uploader/file-image-render.tsx b/app/components/base/file-uploader/file-image-render.tsx
index d613505..9d26322 100644
--- a/app/components/base/file-uploader/file-image-render.tsx
+++ b/app/components/base/file-uploader/file-image-render.tsx
@@ -19,7 +19,7 @@
   return (
     <div className={cn('border-[2px] border-effects-image-frame shadow-xs', className)}>
       <img
-        className={cn('h-full w-full object-cover', showDownloadAction && 'cursor-pointer')}
+        className={cn('w-full h-full object-cover', showDownloadAction && 'cursor-pointer')}
         alt={alt || 'Preview'}
         onLoad={onLoad}
         onError={onError}
diff --git a/app/components/base/file-uploader/file-input.tsx b/app/components/base/file-uploader/file-input.tsx
index ba3bade..f7d659c 100644
--- a/app/components/base/file-uploader/file-input.tsx
+++ b/app/components/base/file-uploader/file-input.tsx
@@ -35,7 +35,7 @@
 
   return (
     <input
-      className='absolute inset-0 block w-full cursor-pointer text-[0] opacity-0 disabled:cursor-not-allowed'
+      className='absolute block inset-0 opacity-0 text-[0] w-full disabled:cursor-not-allowed cursor-pointer'
       onClick={e => ((e.target as HTMLInputElement).value = '')}
       type='file'
       onChange={handleChange}
diff --git a/app/components/base/file-uploader/file-list-in-log.tsx b/app/components/base/file-uploader/file-list-in-log.tsx
index c28b41e..e76d84b 100644
--- a/app/components/base/file-uploader/file-list-in-log.tsx
+++ b/app/components/base/file-uploader/file-list-in-log.tsx
@@ -38,7 +38,7 @@
     <div className={cn('px-3 py-2', expanded && 'py-3', !noBorder && 'border-t border-divider-subtle', noPadding && '!p-0')}>
       <div className='flex justify-between gap-1'>
         {expanded && (
-          <div className='system-xs-semibold-uppercase grow cursor-pointer py-1 text-text-secondary' onClick={() => setExpanded(!expanded)}>{t('appLog.runDetail.fileListLabel')}</div>
+          <div className='grow py-1 text-text-secondary system-xs-semibold-uppercase cursor-pointer' onClick={() => setExpanded(!expanded)}>{t('appLog.runDetail.fileListLabel')}</div>
         )}
         {!expanded && (
           <div className='flex gap-1'>
@@ -53,7 +53,7 @@
                     >
                       <div key={id}>
                         <FileImageRender
-                          className='h-8 w-8'
+                          className='w-8 h-8'
                           imageUrl={base64Url || url || ''}
                         />
                       </div>
@@ -63,7 +63,7 @@
                     <Tooltip
                       popupContent={name}
                     >
-                      <div key={id} className='rounded-md border-[0.5px] border-components-panel-border bg-components-panel-on-panel-item-bg p-1.5 shadow-xs'>
+                      <div key={id} className='p-1.5 rounded-md bg-components-panel-on-panel-item-bg border-[0.5px] border-components-panel-border shadow-xs'>
                         <FileTypeIcon
                           type={getFileAppearanceType(name, type)}
                           size='md'
@@ -76,15 +76,15 @@
             })}
           </div>
         )}
-        <div className='flex cursor-pointer items-center gap-1' onClick={() => setExpanded(!expanded)}>
-          {!expanded && <div className='system-xs-medium-uppercase text-text-tertiary'>{t('appLog.runDetail.fileListDetail')}</div>}
-          <RiArrowRightSLine className={cn('h-4 w-4 text-text-tertiary', expanded && 'rotate-90')} />
+        <div className='flex items-center gap-1 cursor-pointer' onClick={() => setExpanded(!expanded)}>
+          {!expanded && <div className='text-text-tertiary system-xs-medium-uppercase'>{t('appLog.runDetail.fileListDetail')}</div>}
+          <RiArrowRightSLine className={cn('w-4 h-4 text-text-tertiary', expanded && 'rotate-90')} />
         </div>
       </div>
       {expanded && (
         <div className='flex flex-col gap-3'>
           {fileList.map(item => (
-            <div key={item.varName} className='system-xs-regular flex flex-col gap-1'>
+            <div key={item.varName} className='flex flex-col gap-1 system-xs-regular'>
               <div className='py-1 text-text-tertiary '>{item.varName}</div>
               {item.list.map(file => (
                 <FileItem
diff --git a/app/components/base/file-uploader/file-uploader-in-attachment/file-item.tsx b/app/components/base/file-uploader/file-uploader-in-attachment/file-item.tsx
index fab1c36..722ef64 100644
--- a/app/components/base/file-uploader/file-uploader-in-attachment/file-item.tsx
+++ b/app/components/base/file-uploader/file-uploader-in-attachment/file-item.tsx
@@ -47,14 +47,14 @@
   return (
     <>
       <div className={cn(
-        'flex h-12 items-center rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-on-panel-item-bg pr-3 shadow-xs',
-        progress === -1 && 'border-state-destructive-border bg-state-destructive-hover',
+        'flex items-center pr-3 h-12 rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-on-panel-item-bg shadow-xs',
+        progress === -1 && 'bg-state-destructive-hover border-state-destructive-border',
       )}>
-        <div className='flex h-12 w-12 items-center justify-center'>
+        <div className='flex items-center justify-center w-12 h-12'>
           {
             isImageFile && (
               <FileImageRender
-                className='h-8 w-8'
+                className='w-8 h-8'
                 imageUrl={base64Url || url || ''}
               />
             )
@@ -68,14 +68,14 @@
             )
           }
         </div>
-        <div className='mr-1 w-0 grow'>
+        <div className='grow w-0 mr-1'>
           <div
-            className='system-xs-medium mb-0.5 flex items-center truncate text-text-secondary'
+            className='flex items-center mb-0.5 system-xs-medium text-text-secondary truncate'
             title={file.name}
           >
             <div className='truncate'>{name}</div>
           </div>
-          <div className='system-2xs-medium-uppercase flex items-center text-text-tertiary'>
+          <div className='flex items-center system-2xs-medium-uppercase text-text-tertiary'>
             {
               ext && (
                 <span>{ext.toLowerCase()}</span>
@@ -83,7 +83,7 @@
             }
             {
               ext && (
-                <span className='system-2xs-medium mx-1'>鈥�</span>
+                <span className='mx-1 system-2xs-medium'>鈥�</span>
               )
             }
             {
@@ -93,7 +93,7 @@
             }
           </div>
         </div>
-        <div className='flex shrink-0 items-center'>
+        <div className='shrink-0 flex items-center'>
           {
             progress >= 0 && !fileIsUploaded(file) && (
               <ProgressCircle
@@ -108,21 +108,21 @@
                 className='mr-1'
                 onClick={() => onReUpload?.(id)}
               >
-                <ReplayLine className='h-4 w-4 text-text-tertiary' />
+                <ReplayLine className='w-4 h-4 text-text-tertiary' />
               </ActionButton>
             )
           }
           {
             showDeleteAction && (
               <ActionButton onClick={() => onRemove?.(id)}>
-                <RiDeleteBinLine className='h-4 w-4' />
+                <RiDeleteBinLine className='w-4 h-4' />
               </ActionButton>
             )
           }
           {
             canPreview && isImageFile && (
               <ActionButton className='mr-1' onClick={() => setImagePreviewUrl(url || '')}>
-                <RiEyeLine className='h-4 w-4' />
+                <RiEyeLine className='w-4 h-4' />
               </ActionButton>
             )
           }
@@ -132,7 +132,7 @@
                 e.stopPropagation()
                 downloadFile(url || base64Url || '', name)
               }}>
-                <RiDownloadLine className='h-4 w-4' />
+                <RiDownloadLine className='w-4 h-4' />
               </ActionButton>
             )
           }
diff --git a/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx b/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx
index ab4e2aa..3978de1 100644
--- a/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx
+++ b/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx
@@ -23,7 +23,7 @@
 type Option = {
   value: string
   label: string
-  icon: React.JSX.Element
+  icon: JSX.Element
 }
 type FileUploaderInAttachmentProps = {
   fileConfig: FileUpload
@@ -41,12 +41,12 @@
     {
       value: TransferMethod.local_file,
       label: t('common.fileUploader.uploadFromComputer'),
-      icon: <RiUploadCloud2Line className='h-4 w-4' />,
+      icon: <RiUploadCloud2Line className='w-4 h-4' />,
     },
     {
       value: TransferMethod.remote_url,
       label: t('common.fileUploader.pasteFileLink'),
-      icon: <RiLink className='h-4 w-4' />,
+      icon: <RiLink className='w-4 h-4' />,
     },
   ]
 
@@ -55,7 +55,7 @@
       <Button
         key={option.value}
         variant='tertiary'
-        className={cn('relative grow', open && 'bg-components-button-tertiary-bg-hover')}
+        className={cn('grow relative', open && 'bg-components-button-tertiary-bg-hover')}
         disabled={!!(fileConfig.number_limits && files.length >= fileConfig.number_limits)}
       >
         {option.icon}
diff --git a/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.tsx b/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.tsx
index 5160348..2cc78b7 100644
--- a/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.tsx
+++ b/app/components/base/file-uploader/file-uploader-in-chat-input/file-image-item.tsx
@@ -32,7 +32,6 @@
 }: FileImageItemProps) => {
   const { id, progress, base64Url, url, name } = file
   const [imagePreviewUrl, setImagePreviewUrl] = useState('')
-  const download_url = url ? `${url}&as_attachment=true` : base64Url
 
   return (
     <>
@@ -43,21 +42,21 @@
         {
           showDeleteAction && (
             <Button
-              className='absolute -right-1.5 -top-1.5 z-[11] hidden h-5 w-5 rounded-full p-0 group-hover/file-image:flex'
+              className='hidden group-hover/file-image:flex absolute -right-1.5 -top-1.5 p-0 w-5 h-5 rounded-full z-[11]'
               onClick={() => onRemove?.(id)}
             >
-              <RiCloseLine className='h-4 w-4 text-components-button-secondary-text' />
+              <RiCloseLine className='w-4 h-4 text-components-button-secondary-text' />
             </Button>
           )
         }
         <FileImageRender
-          className='h-[68px] w-[68px] shadow-md'
+          className='w-[68px] h-[68px] shadow-md'
           imageUrl={base64Url || url || ''}
           showDownloadAction={showDownloadAction}
         />
         {
           progress >= 0 && !fileIsUploaded(file) && (
-            <div className='absolute inset-0 z-10 flex items-center justify-center border-[2px] border-effects-image-frame bg-background-overlay-alt'>
+            <div className='absolute inset-0 flex items-center justify-center border-[2px] border-effects-image-frame bg-background-overlay-alt z-10'>
               <ProgressCircle
                 percentage={progress}
                 size={12}
@@ -70,9 +69,9 @@
         }
         {
           progress === -1 && (
-            <div className='absolute inset-0 z-10 flex items-center justify-center border-[2px] border-state-destructive-border bg-background-overlay-destructive'>
+            <div className='absolute inset-0 flex items-center justify-center border-[2px] border-state-destructive-border bg-background-overlay-destructive z-10'>
               <ReplayLine
-                className='h-5 w-5'
+                className='w-5 h-5'
                 onClick={() => onReUpload?.(id)}
               />
             </div>
@@ -80,15 +79,15 @@
         }
         {
           showDownloadAction && (
-            <div className='absolute inset-0.5 z-10 hidden bg-background-overlay-alt bg-opacity-[0.3] group-hover/file-image:block'>
+            <div className='hidden group-hover/file-image:block absolute inset-0.5 bg-background-overlay-alt bg-opacity-[0.3] z-10'>
               <div
-                className='absolute bottom-0.5 right-0.5  flex h-6 w-6 items-center justify-center rounded-lg bg-components-actionbar-bg shadow-md'
+                className='absolute bottom-0.5 right-0.5  flex items-center justify-center w-6 h-6 rounded-lg bg-components-actionbar-bg shadow-md'
                 onClick={(e) => {
                   e.stopPropagation()
-                  downloadFile(download_url || '', name)
+                  downloadFile(url || base64Url || '', name)
                 }}
               >
-                <RiDownloadLine className='h-4 w-4 text-text-tertiary' />
+                <RiDownloadLine className='w-4 h-4 text-text-tertiary' />
               </div>
             </div>
           )
diff --git a/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.tsx b/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.tsx
index 667bf7c..ddbe745 100644
--- a/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.tsx
+++ b/app/components/base/file-uploader/file-uploader-in-chat-input/file-item.tsx
@@ -45,37 +45,36 @@
   let tmp_preview_url = url || base64Url
   if (!tmp_preview_url && file?.originalFile)
     tmp_preview_url = URL.createObjectURL(file.originalFile.slice()).toString()
-  const download_url = url ? `${url}&as_attachment=true` : base64Url
 
   return (
     <>
       <div
         className={cn(
-          'group/file-item relative h-[68px] w-[144px] rounded-lg border-[0.5px] border-components-panel-border bg-components-card-bg p-2 shadow-xs',
+          'group/file-item relative p-2 w-[144px] h-[68px] rounded-lg border-[0.5px] border-components-panel-border bg-components-card-bg shadow-xs',
           !uploadError && 'hover:bg-components-card-bg-alt',
           uploadError && 'border border-state-destructive-border bg-state-destructive-hover',
-          uploadError && 'bg-state-destructive-hover-alt hover:border-[0.5px] hover:border-state-destructive-border',
+          uploadError && 'hover:border-[0.5px] hover:border-state-destructive-border bg-state-destructive-hover-alt',
         )}
       >
         {
           showDeleteAction && (
             <Button
-              className='absolute -right-1.5 -top-1.5 z-[11] hidden h-5 w-5 rounded-full p-0 group-hover/file-item:flex'
+              className='hidden group-hover/file-item:flex absolute -right-1.5 -top-1.5 p-0 w-5 h-5 rounded-full z-[11]'
               onClick={() => onRemove?.(id)}
             >
-              <RiCloseLine className='h-4 w-4 text-components-button-secondary-text' />
+              <RiCloseLine className='w-4 h-4 text-components-button-secondary-text' />
             </Button>
           )
         }
         <div
-          className='system-xs-medium mb-1 line-clamp-2 h-8 cursor-pointer break-all text-text-tertiary'
+          className='mb-1 h-8 line-clamp-2 system-xs-medium text-text-tertiary break-all cursor-pointer'
           title={name}
           onClick={() => canPreview && setPreviewUrl(tmp_preview_url || '')}
         >
           {name}
         </div>
         <div className='relative flex items-center justify-between'>
-          <div className='system-2xs-medium-uppercase flex items-center text-text-tertiary'>
+          <div className='flex items-center system-2xs-medium-uppercase text-text-tertiary'>
             <FileTypeIcon
               size='sm'
               type={getFileAppearanceType(name, type)}
@@ -94,16 +93,16 @@
             }
           </div>
           {
-            showDownloadAction && download_url && (
+            showDownloadAction && tmp_preview_url && (
               <ActionButton
                 size='m'
-                className='absolute -right-1 -top-1 hidden group-hover/file-item:flex'
+                className='hidden group-hover/file-item:flex absolute -right-1 -top-1'
                 onClick={(e) => {
                   e.stopPropagation()
-                  downloadFile(download_url || '', name)
+                  downloadFile(tmp_preview_url || '', name)
                 }}
               >
-                <RiDownloadLine className='h-3.5 w-3.5 text-text-tertiary' />
+                <RiDownloadLine className='w-3.5 h-3.5 text-text-tertiary' />
               </ActionButton>
             )
           }
@@ -119,7 +118,7 @@
           {
             uploadError && (
               <ReplayLine
-                className='h-4 w-4 text-text-tertiary'
+                className='w-4 h-4 text-text-tertiary'
                 onClick={() => onReUpload?.(id)}
               />
             )
diff --git a/app/components/base/file-uploader/file-uploader-in-chat-input/index.tsx b/app/components/base/file-uploader/file-uploader-in-chat-input/index.tsx
index 7e6e190..e20a119 100644
--- a/app/components/base/file-uploader/file-uploader-in-chat-input/index.tsx
+++ b/app/components/base/file-uploader/file-uploader-in-chat-input/index.tsx
@@ -23,7 +23,7 @@
         size='l'
         className={cn(open && 'bg-state-base-hover')}
       >
-        <RiAttachmentLine className='h-5 w-5' />
+        <RiAttachmentLine className='w-5 h-5' />
       </ActionButton>
     )
   }, [])
diff --git a/app/components/base/file-uploader/hooks.ts b/app/components/base/file-uploader/hooks.ts
index 66d5b46..b4c8fe1 100644
--- a/app/components/base/file-uploader/hooks.ts
+++ b/app/components/base/file-uploader/hooks.ts
@@ -28,7 +28,6 @@
 import { formatFileSize } from '@/utils/format'
 import { uploadRemoteFileInfo } from '@/service/common'
 import type { FileUploadConfigResponse } from '@/models/common'
-import { noop } from 'lodash-es'
 
 export const useFileSizeLimit = (fileUploadConfig?: FileUploadConfigResponse) => {
   const imgSizeLimit = Number(fileUploadConfig?.image_file_size_limit) * 1024 * 1024 || IMG_SIZE_LIMIT
@@ -244,9 +243,9 @@
     })
   }, [checkSizeLimit, handleAddFile, handleUpdateFile, notify, t, handleRemoveFile, fileConfig?.allowed_file_types, fileConfig.allowed_file_extensions, startProgressTimer, params.token])
 
-  const handleLoadFileFromLinkSuccess = useCallback(noop, [])
+  const handleLoadFileFromLinkSuccess = useCallback(() => { }, [])
 
-  const handleLoadFileFromLinkError = useCallback(noop, [])
+  const handleLoadFileFromLinkError = useCallback(() => { }, [])
 
   const handleClearFiles = useCallback(() => {
     const {
@@ -311,8 +310,7 @@
 
   const handleClipboardPasteFile = useCallback((e: ClipboardEvent<HTMLTextAreaElement>) => {
     const file = e.clipboardData?.files[0]
-    const text = e.clipboardData?.getData('text/plain')
-    if (file && !text) {
+    if (file) {
       e.preventDefault()
       handleLocalFileUpload(file)
     }
diff --git a/app/components/base/file-uploader/pdf-preview.tsx b/app/components/base/file-uploader/pdf-preview.tsx
index f8a02e8..04947be 100644
--- a/app/components/base/file-uploader/pdf-preview.tsx
+++ b/app/components/base/file-uploader/pdf-preview.tsx
@@ -9,7 +9,6 @@
 import Loading from '@/app/components/base/loading'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import Tooltip from '@/app/components/base/tooltip'
-import { noop } from 'lodash-es'
 
 type PdfPreviewProps = {
   url: string
@@ -48,26 +47,26 @@
 
   return createPortal(
     <div
-      className={`fixed inset-0 z-[1000] flex items-center justify-center bg-black/80 ${!isMobile && 'p-8'}`}
+      className={`fixed inset-0 flex items-center justify-center bg-black/80 z-[1000] ${!isMobile && 'p-8'}`}
       onClick={e => e.stopPropagation()}
       tabIndex={-1}
     >
       <div
-        className='h-[95vh] max-h-full w-[100vw] max-w-full overflow-hidden'
+        className='h-[95vh] w-[100vw] max-w-full max-h-full overflow-hidden'
         style={{ transform: `scale(${scale})`, transformOrigin: 'center', scrollbarWidth: 'none', msOverflowStyle: 'none' }}
       >
         <PdfLoader
           workerSrc='/pdf.worker.min.mjs'
           url={url}
-          beforeLoad={<div className='flex h-64 items-center justify-center'><Loading type='app' /></div>}
+          beforeLoad={<div className='flex justify-center items-center h-64'><Loading type='app' /></div>}
         >
           {(pdfDocument) => {
             return (
               <PdfHighlighter
                 pdfDocument={pdfDocument}
                 enableAreaSelection={event => event.altKey}
-                scrollRef={noop}
-                onScrollChange={noop}
+                scrollRef={() => { }}
+                onScrollChange={() => { }}
                 onSelectionFinished={() => null}
                 highlightTransform={() => { return <div/> }}
                 highlights={[]}
@@ -77,22 +76,22 @@
         </PdfLoader>
       </div>
       <Tooltip popupContent={t('common.operation.zoomOut')}>
-        <div className='absolute right-24 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-24 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={zoomOut}>
-          <RiZoomOutLine className='h-4 w-4 text-gray-500'/>
+          <RiZoomOutLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.zoomIn')}>
-        <div className='absolute right-16 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-16 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={zoomIn}>
-          <RiZoomInLine className='h-4 w-4 text-gray-500'/>
+          <RiZoomInLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.cancel')}>
         <div
-          className='absolute right-6 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-white/8 backdrop-blur-[2px]'
+          className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/8 rounded-lg backdrop-blur-[2px] cursor-pointer'
           onClick={onCancel}>
-          <RiCloseLine className='h-4 w-4 text-gray-500'/>
+          <RiCloseLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
     </div>,
diff --git a/app/components/base/file-uploader/store.tsx b/app/components/base/file-uploader/store.tsx
index cddfdf6..3ad0b74 100644
--- a/app/components/base/file-uploader/store.tsx
+++ b/app/components/base/file-uploader/store.tsx
@@ -21,7 +21,7 @@
   onChange?: (files: FileEntity[]) => void,
 ) => {
   return create<Shape>(set => ({
-    files: value ? [...value] : [],
+    files: [...value],
     setFiles: (files) => {
       set({ files })
       onChange?.(files)
@@ -54,7 +54,7 @@
   value,
   onChange,
 }: FileProviderProps) => {
-  const storeRef = useRef<FileStore | undefined>(undefined)
+  const storeRef = useRef<FileStore>()
 
   if (!storeRef.current)
     storeRef.current = createFileStore(value, onChange)
diff --git a/app/components/base/file-uploader/utils.ts b/app/components/base/file-uploader/utils.ts
index e05c0b2..e095d4a 100644
--- a/app/components/base/file-uploader/utils.ts
+++ b/app/components/base/file-uploader/utils.ts
@@ -134,7 +134,7 @@
       progress: 100,
       transferMethod: fileItem.transfer_method,
       supportFileType: fileItem.type,
-      uploadedId: fileItem.upload_file_id || fileItem.related_id,
+      uploadedId: fileItem.related_id,
       url: fileItem.url,
     }
   })
diff --git a/app/components/base/file-uploader/video-preview.tsx b/app/components/base/file-uploader/video-preview.tsx
index 16ae27c..0378f37 100644
--- a/app/components/base/file-uploader/video-preview.tsx
+++ b/app/components/base/file-uploader/video-preview.tsx
@@ -18,7 +18,7 @@
 
   return createPortal(
     <div
-      className='fixed inset-0 z-[1000] flex items-center justify-center bg-black/80 p-8'
+      className='fixed inset-0 p-8 flex items-center justify-center bg-black/80 z-[1000]'
       onClick={e => e.stopPropagation()}
       tabIndex={-1}
     >
@@ -27,18 +27,18 @@
           <source
             type="video/mp4"
             src={url}
-            className='max-h-full max-w-full'
+            className='max-w-full max-h-full'
           />
         </video>
       </div>
       <div
-        className='absolute right-6 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-white/[0.08] backdrop-blur-[2px]'
+        className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/[0.08] rounded-lg backdrop-blur-[2px] cursor-pointer'
         onClick={onCancel}
       >
-        <RiCloseLine className='h-4 w-4 text-gray-500'/>
+        <RiCloseLine className='w-4 h-4 text-gray-500'/>
       </div>
-    </div>,
-    document.body,
+    </div>
+    , document.body,
   )
 }
 
diff --git a/app/components/base/fullscreen-modal/index.tsx b/app/components/base/fullscreen-modal/index.tsx
index 209507a..752a91c 100644
--- a/app/components/base/fullscreen-modal/index.tsx
+++ b/app/components/base/fullscreen-modal/index.tsx
@@ -1,7 +1,7 @@
-import { Dialog, DialogPanel, Transition, TransitionChild } from '@headlessui/react'
+import { Dialog, Transition } from '@headlessui/react'
+import { Fragment } from 'react'
 import { RiCloseLargeLine } from '@remixicon/react'
 import classNames from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 type IModal = {
   className?: string
@@ -19,22 +19,25 @@
   className,
   wrapperClassName,
   open,
-  onClose = noop,
+  onClose = () => { },
   children,
   closable = false,
   overflowVisible = false,
 }: IModal) {
   return (
-    <Transition show={open} appear>
+    <Transition show={open} as={Fragment}>
       <Dialog as="div" className={classNames('modal-dialog', wrapperClassName)} onClose={onClose}>
-        <TransitionChild>
-          <div className={classNames(
-            'fixed inset-0 bg-background-overlay-backdrop backdrop-blur-[6px]',
-            'duration-300 ease-in data-[closed]:opacity-0',
-            'data-[enter]:opacity-100',
-            'data-[leave]:opacity-0',
-          )} />
-        </TransitionChild>
+        <Transition.Child
+          as={Fragment}
+          enter="ease-out duration-300"
+          enterFrom="opacity-0"
+          enterTo="opacity-100"
+          leave="ease-in duration-200"
+          leaveFrom="opacity-100"
+          leaveTo="opacity-0"
+        >
+          <div className="fixed inset-0 bg-background-overlay-backdrop backdrop-blur-[6px]" />
+        </Transition.Child>
 
         <div
           className="fixed inset-0 h-screen w-screen p-4"
@@ -43,29 +46,34 @@
             e.stopPropagation()
           }}
         >
-          <div className="relative h-full w-full rounded-2xl border border-effects-highlight bg-background-default-subtle">
-            <TransitionChild>
-              <DialogPanel className={classNames(
+          <div className="w-full h-full bg-background-default-subtle rounded-2xl border border-effects-highlight relative">
+            <Transition.Child
+              as={Fragment}
+              enter="ease-out duration-300"
+              enterFrom="opacity-0 scale-95"
+              enterTo="opacity-100 scale-100"
+              leave="ease-in duration-200"
+              leaveFrom="opacity-100 scale-100"
+              leaveTo="opacity-0 scale-95"
+            >
+              <Dialog.Panel className={classNames(
                 'h-full',
                 overflowVisible ? 'overflow-visible' : 'overflow-hidden',
-                'duration-100 ease-in data-[closed]:opacity-0 data-[closed]:scale-95',
-                'data-[enter]:opacity-100 data-[enter]:scale-100',
-                'data-[leave]:opacity-0 data-[enter]:scale-95',
                 className,
               )}>
                 {closable
                   && <div
-                    className='absolute right-3 top-3 z-50 flex h-9 w-9 cursor-pointer items-center justify-center
-                  rounded-[10px] bg-components-button-tertiary-bg hover:bg-components-button-tertiary-bg-hover'
+                    className='absolute z-50 top-3 right-3 w-9 h-9 flex items-center justify-center rounded-[10px]
+                  bg-components-button-tertiary-bg hover:bg-components-button-tertiary-bg-hover cursor-pointer'
                     onClick={(e) => {
                       e.stopPropagation()
                       onClose()
                     }}>
-                    <RiCloseLargeLine className='h-3.5 w-3.5 text-components-button-tertiary-text' />
+                    <RiCloseLargeLine className='w-3.5 h-3.5 text-components-button-tertiary-text' />
                   </div>}
                 {children}
-              </DialogPanel>
-            </TransitionChild>
+              </Dialog.Panel>
+            </Transition.Child>
           </div>
         </div>
       </Dialog>
diff --git a/app/components/base/ga/index.tsx b/app/components/base/ga/index.tsx
index 7a95561..0015edb 100644
--- a/app/components/base/ga/index.tsx
+++ b/app/components/base/ga/index.tsx
@@ -1,7 +1,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import Script from 'next/script'
-import { type UnsafeUnwrappedHeaders, headers } from 'next/headers'
+import { headers } from 'next/headers'
 import { IS_CE_EDITION } from '@/config'
 
 export enum GaType {
@@ -24,7 +24,7 @@
   if (IS_CE_EDITION)
     return null
 
-  const nonce = process.env.NODE_ENV === 'production' ? (headers() as unknown as UnsafeUnwrappedHeaders).get('x-nonce') : ''
+  const nonce = process.env.NODE_ENV === 'production' ? headers().get('x-nonce') : ''
 
   return (
     <>
diff --git a/app/components/base/grid-mask/index.tsx b/app/components/base/grid-mask/index.tsx
index 6805c3d..876eb7f 100644
--- a/app/components/base/grid-mask/index.tsx
+++ b/app/components/base/grid-mask/index.tsx
@@ -1,6 +1,5 @@
 import type { FC } from 'react'
-import Style from './style.module.css'
-import classNames from '@/utils/classnames'
+import { useCallback, useEffect, useRef } from 'react'
 
 type GridMaskProps = {
   children: React.ReactNode
@@ -14,10 +13,78 @@
   canvasClassName,
   gradientClassName,
 }) => {
+  const canvasRef = useRef<HTMLCanvasElement | null>(null)
+  const ctxRef = useRef<CanvasRenderingContext2D | null>(null)
+  const initCanvas = () => {
+    const dpr = window.devicePixelRatio || 1
+
+    if (canvasRef.current) {
+      const { width: cssWidth, height: cssHeight } = canvasRef.current?.getBoundingClientRect()
+
+      canvasRef.current.width = dpr * cssWidth
+      canvasRef.current.height = dpr * cssHeight
+
+      const ctx = canvasRef.current.getContext('2d')
+      if (ctx) {
+        ctx.scale(dpr, dpr)
+        ctx.strokeStyle = '#D1E0FF'
+        ctxRef.current = ctx
+      }
+    }
+  }
+
+  const drawRecord = useCallback(() => {
+    const canvas = canvasRef.current!
+    const ctx = ctxRef.current!
+    const rowNumber = parseInt(`${canvas.width / 24}`)
+    const colNumber = parseInt(`${canvas.height / 24}`)
+
+    ctx.clearRect(0, 0, canvas.width, canvas.height)
+    ctx.beginPath()
+    for (let i = 0; i < rowNumber; i++) {
+      for (let j = 0; j < colNumber; j++) {
+        const x = i * 24
+        const y = j * 24
+        if (j === 0) {
+          ctx.moveTo(x, y + 2)
+          ctx.arc(x + 2, y + 2, 2, Math.PI, Math.PI * 1.5)
+          ctx.lineTo(x + 22, y)
+          ctx.arc(x + 22, y + 2, 2, Math.PI * 1.5, Math.PI * 2)
+          ctx.lineTo(x + 24, y + 22)
+          ctx.arc(x + 22, y + 22, 2, 0, Math.PI * 0.5)
+          ctx.lineTo(x + 2, y + 24)
+          ctx.arc(x + 2, y + 22, 2, Math.PI * 0.5, Math.PI)
+        }
+        else {
+          ctx.moveTo(x + 2, y)
+          ctx.arc(x + 2, y + 2, 2, Math.PI * 1.5, Math.PI, true)
+          ctx.lineTo(x, y + 22)
+          ctx.arc(x + 2, y + 22, 2, Math.PI, Math.PI * 0.5, true)
+          ctx.lineTo(x + 22, y + 24)
+          ctx.arc(x + 22, y + 22, 2, Math.PI * 0.5, 0, true)
+          ctx.lineTo(x + 24, y + 2)
+          ctx.arc(x + 22, y + 2, 2, 0, Math.PI * 1.5, true)
+        }
+      }
+    }
+    ctx.stroke()
+    ctx.closePath()
+  }, [])
+
+  const handleStartDraw = () => {
+    if (canvasRef.current && ctxRef.current)
+      drawRecord()
+  }
+
+  useEffect(() => {
+    initCanvas()
+    handleStartDraw()
+  }, [])
+
   return (
-    <div className={classNames('relative bg-saas-background', wrapperClassName)}>
-      <div className={classNames('absolute inset-0 w-full h-full z-0 opacity-70', canvasClassName, Style.gridBg)} />
-      <div className={classNames('absolute w-full h-full z-[1] bg-grid-mask-background rounded-lg', gradientClassName)} />
+    <div className={`relative bg-white ${wrapperClassName}`}>
+      <canvas ref={canvasRef} className={`absolute inset-0 w-full h-full ${canvasClassName}`} />
+      <div className={`absolute w-full h-full z-[1] bg-gradient-to-b from-white/80 to-white rounded-lg ${gradientClassName}`} />
       <div className='relative z-[2]'>{children}</div>
     </div>
   )
diff --git a/app/components/base/icons/IconBase.tsx b/app/components/base/icons/IconBase.tsx
index 134c948..994cd98 100644
--- a/app/components/base/icons/IconBase.tsx
+++ b/app/components/base/icons/IconBase.tsx
@@ -1,3 +1,4 @@
+import { forwardRef } from 'react'
 import { generate } from './utils'
 import type { AbstractNode } from './utils'
 
@@ -13,14 +14,7 @@
   style?: React.CSSProperties
 }
 
-const IconBase = (
-  {
-    ref,
-    ...props
-  }: IconBaseProps & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => {
+const IconBase = forwardRef<React.MutableRefObject<HTMLOrSVGElement>, IconBaseProps>((props, ref) => {
   const { data, className, onClick, style, ...restProps } = props
 
   return generate(data.icon, `svg-${data.name}`, {
@@ -32,8 +26,6 @@
     ...restProps,
     'ref': ref,
   })
-}
-
-IconBase.displayName = 'IconBase'
+})
 
 export default IconBase
diff --git a/app/components/base/icons/script.js b/app/components/base/icons/script.js
new file mode 100644
index 0000000..0ff6a2a
--- /dev/null
+++ b/app/components/base/icons/script.js
@@ -0,0 +1,163 @@
+const path = require('node:path')
+const { open, readdir, access, mkdir, writeFile, appendFile, rm } = require('node:fs/promises')
+const { parseXml } = require('@rgrove/parse-xml')
+const camelCase = require('lodash/camelCase')
+const template = require('lodash/template')
+
+const generateDir = async (currentPath) => {
+  try {
+    await mkdir(currentPath, { recursive: true })
+  }
+  catch (err) {
+    console.error(err.message)
+  }
+}
+const processSvgStructure = (svgStructure, replaceFillOrStrokeColor) => {
+  if (svgStructure?.children.length) {
+    svgStructure.children = svgStructure.children.filter(c => c.type !== 'text')
+
+    svgStructure.children.forEach((child) => {
+      if (child?.name === 'path' && replaceFillOrStrokeColor) {
+        if (child?.attributes?.stroke)
+          child.attributes.stroke = 'currentColor'
+
+        if (child?.attributes.fill)
+          child.attributes.fill = 'currentColor'
+      }
+      if (child?.children.length)
+        processSvgStructure(child, replaceFillOrStrokeColor)
+    })
+  }
+}
+const generateSvgComponent = async (fileHandle, entry, pathList, replaceFillOrStrokeColor) => {
+  const currentPath = path.resolve(__dirname, 'src', ...pathList.slice(2))
+
+  try {
+    await access(currentPath)
+  }
+  catch {
+    await generateDir(currentPath)
+  }
+
+  const svgString = await fileHandle.readFile({ encoding: 'utf8' })
+  const svgJson = parseXml(svgString).toJSON()
+  const svgStructure = svgJson.children[0]
+  processSvgStructure(svgStructure, replaceFillOrStrokeColor)
+  const prefixFileName = camelCase(entry.split('.')[0])
+  const fileName = prefixFileName.charAt(0).toUpperCase() + prefixFileName.slice(1)
+  const svgData = {
+    icon: svgStructure,
+    name: fileName,
+  }
+
+  const componentRender = template(`
+// GENERATE BY script
+// DON NOT EDIT IT MANUALLY
+
+import * as React from 'react'
+import data from './<%= svgName %>.json'
+import IconBase from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
+
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
+
+Icon.displayName = '<%= svgName %>'
+
+export default Icon
+`.trim())
+
+  await writeFile(path.resolve(currentPath, `${fileName}.json`), JSON.stringify(svgData, '', '\t'))
+  await writeFile(path.resolve(currentPath, `${fileName}.tsx`), `${componentRender({ svgName: fileName })}\n`)
+
+  const indexingRender = template(`
+export { default as <%= svgName %> } from './<%= svgName %>'
+`.trim())
+
+  await appendFile(path.resolve(currentPath, 'index.ts'), `${indexingRender({ svgName: fileName })}\n`)
+}
+
+const generateImageComponent = async (entry, pathList) => {
+  const currentPath = path.resolve(__dirname, 'src', ...pathList.slice(2))
+
+  try {
+    await access(currentPath)
+  }
+  catch {
+    await generateDir(currentPath)
+  }
+
+  const prefixFileName = camelCase(entry.split('.')[0])
+  const fileName = prefixFileName.charAt(0).toUpperCase() + prefixFileName.slice(1)
+
+  const componentCSSRender = template(`
+.wrapper {
+  display: inline-flex;
+  background: url(<%= assetPath %>) center center no-repeat;
+  background-size: contain;
+}
+`.trim())
+
+  await writeFile(path.resolve(currentPath, `${fileName}.module.css`), `${componentCSSRender({ assetPath: path.join('~@/app/components/base/icons/assets', ...pathList.slice(2), entry) })}\n`)
+
+  const componentRender = template(`
+// GENERATE BY script
+// DON NOT EDIT IT MANUALLY
+
+import * as React from 'react'
+import cn from '@/utils/classnames'
+import s from './<%= fileName %>.module.css'
+
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
+
+Icon.displayName = '<%= fileName %>'
+
+export default Icon
+`.trim())
+
+  await writeFile(path.resolve(currentPath, `${fileName}.tsx`), `${componentRender({ fileName })}\n`)
+
+  const indexingRender = template(`
+export { default as <%= fileName %> } from './<%= fileName %>'
+`.trim())
+
+  await appendFile(path.resolve(currentPath, 'index.ts'), `${indexingRender({ fileName })}\n`)
+}
+
+const walk = async (entry, pathList, replaceFillOrStrokeColor) => {
+  const currentPath = path.resolve(...pathList, entry)
+  let fileHandle
+
+  try {
+    fileHandle = await open(currentPath)
+    const stat = await fileHandle.stat()
+
+    if (stat.isDirectory()) {
+      const files = await readdir(currentPath)
+
+      for (const file of files)
+        await walk(file, [...pathList, entry], replaceFillOrStrokeColor)
+    }
+
+    if (stat.isFile() && /.+\.svg$/g.test(entry))
+      await generateSvgComponent(fileHandle, entry, pathList, replaceFillOrStrokeColor)
+
+    if (stat.isFile() && /.+\.png$/g.test(entry))
+      await generateImageComponent(entry, pathList)
+  }
+  finally {
+    fileHandle?.close()
+  }
+}
+
+(async () => {
+  await rm(path.resolve(__dirname, 'src'), { recursive: true, force: true })
+  await walk('public', [__dirname, 'assets'])
+  await walk('vender', [__dirname, 'assets'], true)
+  await walk('image', [__dirname, 'assets'])
+})()
diff --git a/app/components/base/icons/src/image/llm/BaichuanTextCn.tsx b/app/components/base/icons/src/image/llm/BaichuanTextCn.tsx
index be9a407..5206d02 100644
--- a/app/components/base/icons/src/image/llm/BaichuanTextCn.tsx
+++ b/app/components/base/icons/src/image/llm/BaichuanTextCn.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './BaichuanTextCn.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'BaichuanTextCn'
 
diff --git a/app/components/base/icons/src/image/llm/Minimax.tsx b/app/components/base/icons/src/image/llm/Minimax.tsx
index 7df7e3f..7b75ff6 100644
--- a/app/components/base/icons/src/image/llm/Minimax.tsx
+++ b/app/components/base/icons/src/image/llm/Minimax.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './Minimax.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'Minimax'
 
diff --git a/app/components/base/icons/src/image/llm/MinimaxText.tsx b/app/components/base/icons/src/image/llm/MinimaxText.tsx
index 840e8cb..490a977 100644
--- a/app/components/base/icons/src/image/llm/MinimaxText.tsx
+++ b/app/components/base/icons/src/image/llm/MinimaxText.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './MinimaxText.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'MinimaxText'
 
diff --git a/app/components/base/icons/src/image/llm/Tongyi.tsx b/app/components/base/icons/src/image/llm/Tongyi.tsx
index 2f62f1a..543b4ce 100644
--- a/app/components/base/icons/src/image/llm/Tongyi.tsx
+++ b/app/components/base/icons/src/image/llm/Tongyi.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './Tongyi.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'Tongyi'
 
diff --git a/app/components/base/icons/src/image/llm/TongyiText.tsx b/app/components/base/icons/src/image/llm/TongyiText.tsx
index a52f63c..16e3920 100644
--- a/app/components/base/icons/src/image/llm/TongyiText.tsx
+++ b/app/components/base/icons/src/image/llm/TongyiText.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './TongyiText.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'TongyiText'
 
diff --git a/app/components/base/icons/src/image/llm/TongyiTextCn.tsx b/app/components/base/icons/src/image/llm/TongyiTextCn.tsx
index c982c73..c14d323 100644
--- a/app/components/base/icons/src/image/llm/TongyiTextCn.tsx
+++ b/app/components/base/icons/src/image/llm/TongyiTextCn.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './TongyiTextCn.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'TongyiTextCn'
 
diff --git a/app/components/base/icons/src/image/llm/Wxyy.tsx b/app/components/base/icons/src/image/llm/Wxyy.tsx
index a3c4948..312e325 100644
--- a/app/components/base/icons/src/image/llm/Wxyy.tsx
+++ b/app/components/base/icons/src/image/llm/Wxyy.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './Wxyy.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'Wxyy'
 
diff --git a/app/components/base/icons/src/image/llm/WxyyText.tsx b/app/components/base/icons/src/image/llm/WxyyText.tsx
index e5dd6e8..fd618e8 100644
--- a/app/components/base/icons/src/image/llm/WxyyText.tsx
+++ b/app/components/base/icons/src/image/llm/WxyyText.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './WxyyText.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'WxyyText'
 
diff --git a/app/components/base/icons/src/image/llm/WxyyTextCn.tsx b/app/components/base/icons/src/image/llm/WxyyTextCn.tsx
index 32108ad..01acc26 100644
--- a/app/components/base/icons/src/image/llm/WxyyTextCn.tsx
+++ b/app/components/base/icons/src/image/llm/WxyyTextCn.tsx
@@ -2,18 +2,13 @@
 // DON NOT EDIT IT MANUALLY
 
 import * as React from 'react'
-import cn from '@/utils/classnames'
 import s from './WxyyTextCn.module.css'
+import cn from '@/utils/classnames'
 
-const Icon = (
-  {
-    ref,
-    className,
-    ...restProps
-  }: React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> & {
-    ref?: React.RefObject<HTMLSpanElement>;
-  },
-) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />
+const Icon = React.forwardRef<HTMLSpanElement, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>((
+  { className, ...restProps },
+  ref,
+) => <span className={cn(s.wrapper, className)} {...restProps} ref={ref} />)
 
 Icon.displayName = 'WxyyTextCn'
 
diff --git a/app/components/base/icons/src/public/avatar/Robot.json b/app/components/base/icons/src/public/avatar/Robot.json
index 8969a2a..babc0f8 100644
--- a/app/components/base/icons/src/public/avatar/Robot.json
+++ b/app/components/base/icons/src/public/avatar/Robot.json
@@ -89,4 +89,4 @@
 		]
 	},
 	"name": "Robot"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/avatar/Robot.tsx b/app/components/base/icons/src/public/avatar/Robot.tsx
index 8bee6e2..07251c5 100644
--- a/app/components/base/icons/src/public/avatar/Robot.tsx
+++ b/app/components/base/icons/src/public/avatar/Robot.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Robot.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Robot'
 
diff --git a/app/components/base/icons/src/public/avatar/User.json b/app/components/base/icons/src/public/avatar/User.json
index 4b9ad76..01fb8e3 100644
--- a/app/components/base/icons/src/public/avatar/User.json
+++ b/app/components/base/icons/src/public/avatar/User.json
@@ -86,4 +86,4 @@
 		]
 	},
 	"name": "User"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/avatar/User.tsx b/app/components/base/icons/src/public/avatar/User.tsx
index c7af428..3fb5305 100644
--- a/app/components/base/icons/src/public/avatar/User.tsx
+++ b/app/components/base/icons/src/public/avatar/User.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './User.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'User'
 
diff --git a/app/components/base/icons/src/public/billing/Sparkles.json b/app/components/base/icons/src/public/billing/Sparkles.json
index 5317b50..ea2bae4 100644
--- a/app/components/base/icons/src/public/billing/Sparkles.json
+++ b/app/components/base/icons/src/public/billing/Sparkles.json
@@ -92,4 +92,4 @@
 		]
 	},
 	"name": "Sparkles"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/billing/Sparkles.tsx b/app/components/base/icons/src/public/billing/Sparkles.tsx
index 09fb779..b7480ab 100644
--- a/app/components/base/icons/src/public/billing/Sparkles.tsx
+++ b/app/components/base/icons/src/public/billing/Sparkles.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Sparkles.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Sparkles'
 
diff --git a/app/components/base/icons/src/public/billing/index.ts b/app/components/base/icons/src/public/billing/index.ts
index 9460acf..d74cc5b 100644
--- a/app/components/base/icons/src/public/billing/index.ts
+++ b/app/components/base/icons/src/public/billing/index.ts
@@ -1,11 +1 @@
-export { default as ArCube1 } from './ArCube1'
-export { default as Asterisk } from './Asterisk'
-export { default as AwsMarketplace } from './AwsMarketplace'
-export { default as Azure } from './Azure'
-export { default as Buildings } from './Buildings'
-export { default as Diamond } from './Diamond'
-export { default as GoogleCloud } from './GoogleCloud'
-export { default as Group2 } from './Group2'
-export { default as Keyframe } from './Keyframe'
-export { default as SparklesSoft } from './SparklesSoft'
 export { default as Sparkles } from './Sparkles'
diff --git a/app/components/base/icons/src/public/common/D.json b/app/components/base/icons/src/public/common/D.json
index ab4ed79..2090b89 100644
--- a/app/components/base/icons/src/public/common/D.json
+++ b/app/components/base/icons/src/public/common/D.json
@@ -122,4 +122,4 @@
 		]
 	},
 	"name": "D"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/D.tsx b/app/components/base/icons/src/public/common/D.tsx
index 87aca80..6d8bbf7 100644
--- a/app/components/base/icons/src/public/common/D.tsx
+++ b/app/components/base/icons/src/public/common/D.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './D.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'D'
 
diff --git a/app/components/base/icons/src/public/common/DiagonalDividingLine.json b/app/components/base/icons/src/public/common/DiagonalDividingLine.json
index a9e7cd7..04475c2 100644
--- a/app/components/base/icons/src/public/common/DiagonalDividingLine.json
+++ b/app/components/base/icons/src/public/common/DiagonalDividingLine.json
@@ -25,4 +25,4 @@
 		]
 	},
 	"name": "DiagonalDividingLine"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/DiagonalDividingLine.tsx b/app/components/base/icons/src/public/common/DiagonalDividingLine.tsx
index ce95c2f..9a33e19 100644
--- a/app/components/base/icons/src/public/common/DiagonalDividingLine.tsx
+++ b/app/components/base/icons/src/public/common/DiagonalDividingLine.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './DiagonalDividingLine.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'DiagonalDividingLine'
 
diff --git a/app/components/base/icons/src/public/common/Dify.json b/app/components/base/icons/src/public/common/Dify.json
index a954b66..9926e91 100644
--- a/app/components/base/icons/src/public/common/Dify.json
+++ b/app/components/base/icons/src/public/common/Dify.json
@@ -59,4 +59,4 @@
 		]
 	},
 	"name": "Dify"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/Dify.tsx b/app/components/base/icons/src/public/common/Dify.tsx
index f53f47f..7b5e68f 100644
--- a/app/components/base/icons/src/public/common/Dify.tsx
+++ b/app/components/base/icons/src/public/common/Dify.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Dify.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Dify'
 
diff --git a/app/components/base/icons/src/public/common/Github.json b/app/components/base/icons/src/public/common/Github.json
index 523bcd5..abccde4 100644
--- a/app/components/base/icons/src/public/common/Github.json
+++ b/app/components/base/icons/src/public/common/Github.json
@@ -33,4 +33,4 @@
 		]
 	},
 	"name": "Github"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/Github.tsx b/app/components/base/icons/src/public/common/Github.tsx
index 9c6f418..416743f 100644
--- a/app/components/base/icons/src/public/common/Github.tsx
+++ b/app/components/base/icons/src/public/common/Github.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Github.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Github'
 
diff --git a/app/components/base/icons/src/public/common/Highlight.json b/app/components/base/icons/src/public/common/Highlight.json
index 055d9f7..d18386e 100644
--- a/app/components/base/icons/src/public/common/Highlight.json
+++ b/app/components/base/icons/src/public/common/Highlight.json
@@ -64,4 +64,4 @@
 		]
 	},
 	"name": "Highlight"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/Highlight.tsx b/app/components/base/icons/src/public/common/Highlight.tsx
index 261b589..379f38f 100644
--- a/app/components/base/icons/src/public/common/Highlight.tsx
+++ b/app/components/base/icons/src/public/common/Highlight.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Highlight.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Highlight'
 
diff --git a/app/components/base/icons/src/public/common/Line3.json b/app/components/base/icons/src/public/common/Line3.json
index 2beb66a..32f6d50 100644
--- a/app/components/base/icons/src/public/common/Line3.json
+++ b/app/components/base/icons/src/public/common/Line3.json
@@ -25,4 +25,4 @@
 		]
 	},
 	"name": "Line3"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/Line3.tsx b/app/components/base/icons/src/public/common/Line3.tsx
index a1fb899..a9c9981 100644
--- a/app/components/base/icons/src/public/common/Line3.tsx
+++ b/app/components/base/icons/src/public/common/Line3.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Line3.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Line3'
 
diff --git a/app/components/base/icons/src/public/common/Lock.json b/app/components/base/icons/src/public/common/Lock.json
index a5a1f4b..24af41a 100644
--- a/app/components/base/icons/src/public/common/Lock.json
+++ b/app/components/base/icons/src/public/common/Lock.json
@@ -35,4 +35,4 @@
 		]
 	},
 	"name": "Lock"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/Lock.tsx b/app/components/base/icons/src/public/common/Lock.tsx
index 1fce8bb..3a2ed38 100644
--- a/app/components/base/icons/src/public/common/Lock.tsx
+++ b/app/components/base/icons/src/public/common/Lock.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Lock.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Lock'
 
diff --git a/app/components/base/icons/src/public/common/MessageChatSquare.json b/app/components/base/icons/src/public/common/MessageChatSquare.json
index 71cf6d0..18069ed 100644
--- a/app/components/base/icons/src/public/common/MessageChatSquare.json
+++ b/app/components/base/icons/src/public/common/MessageChatSquare.json
@@ -34,4 +34,4 @@
 		]
 	},
 	"name": "MessageChatSquare"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/MessageChatSquare.tsx b/app/components/base/icons/src/public/common/MessageChatSquare.tsx
index 85ccc0b..0c54640 100644
--- a/app/components/base/icons/src/public/common/MessageChatSquare.tsx
+++ b/app/components/base/icons/src/public/common/MessageChatSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageChatSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageChatSquare'
 
diff --git a/app/components/base/icons/src/public/common/MultiPathRetrieval.json b/app/components/base/icons/src/public/common/MultiPathRetrieval.json
index 9d64eda..d37b263 100644
--- a/app/components/base/icons/src/public/common/MultiPathRetrieval.json
+++ b/app/components/base/icons/src/public/common/MultiPathRetrieval.json
@@ -150,4 +150,4 @@
 		]
 	},
 	"name": "MultiPathRetrieval"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/MultiPathRetrieval.tsx b/app/components/base/icons/src/public/common/MultiPathRetrieval.tsx
index a325900..7eafeb8 100644
--- a/app/components/base/icons/src/public/common/MultiPathRetrieval.tsx
+++ b/app/components/base/icons/src/public/common/MultiPathRetrieval.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MultiPathRetrieval.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MultiPathRetrieval'
 
diff --git a/app/components/base/icons/src/public/common/NTo1Retrieval.json b/app/components/base/icons/src/public/common/NTo1Retrieval.json
index 74ca345..0865220 100644
--- a/app/components/base/icons/src/public/common/NTo1Retrieval.json
+++ b/app/components/base/icons/src/public/common/NTo1Retrieval.json
@@ -143,4 +143,4 @@
 		]
 	},
 	"name": "NTo1Retrieval"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/NTo1Retrieval.tsx b/app/components/base/icons/src/public/common/NTo1Retrieval.tsx
index 1afa979..ea48b5e 100644
--- a/app/components/base/icons/src/public/common/NTo1Retrieval.tsx
+++ b/app/components/base/icons/src/public/common/NTo1Retrieval.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './NTo1Retrieval.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'NTo1Retrieval'
 
diff --git a/app/components/base/icons/src/public/common/Notion.json b/app/components/base/icons/src/public/common/Notion.json
index d27aeb8..27bb008 100644
--- a/app/components/base/icons/src/public/common/Notion.json
+++ b/app/components/base/icons/src/public/common/Notion.json
@@ -80,4 +80,4 @@
 		]
 	},
 	"name": "Notion"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/Notion.tsx b/app/components/base/icons/src/public/common/Notion.tsx
index 33b7c31..9b7e6c3 100644
--- a/app/components/base/icons/src/public/common/Notion.tsx
+++ b/app/components/base/icons/src/public/common/Notion.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Notion.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Notion'
 
diff --git a/app/components/base/icons/src/public/common/SparklesSoft.json b/app/components/base/icons/src/public/common/SparklesSoft.json
index 11ac030..e22cec8 100644
--- a/app/components/base/icons/src/public/common/SparklesSoft.json
+++ b/app/components/base/icons/src/public/common/SparklesSoft.json
@@ -44,4 +44,4 @@
 		]
 	},
 	"name": "SparklesSoft"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/common/SparklesSoft.tsx b/app/components/base/icons/src/public/common/SparklesSoft.tsx
index b3f94d0..dd422c4 100644
--- a/app/components/base/icons/src/public/common/SparklesSoft.tsx
+++ b/app/components/base/icons/src/public/common/SparklesSoft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './SparklesSoft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'SparklesSoft'
 
diff --git a/app/components/base/icons/src/public/common/index.ts b/app/components/base/icons/src/public/common/index.ts
index dba789a..788d275 100644
--- a/app/components/base/icons/src/public/common/index.ts
+++ b/app/components/base/icons/src/public/common/index.ts
@@ -1,15 +1,12 @@
 export { default as D } from './D'
 export { default as DiagonalDividingLine } from './DiagonalDividingLine'
 export { default as Dify } from './Dify'
-export { default as Gdpr } from './Gdpr'
 export { default as Github } from './Github'
 export { default as Highlight } from './Highlight'
-export { default as Iso } from './Iso'
 export { default as Line3 } from './Line3'
 export { default as Lock } from './Lock'
 export { default as MessageChatSquare } from './MessageChatSquare'
 export { default as MultiPathRetrieval } from './MultiPathRetrieval'
 export { default as NTo1Retrieval } from './NTo1Retrieval'
 export { default as Notion } from './Notion'
-export { default as Soc2 } from './Soc2'
 export { default as SparklesSoft } from './SparklesSoft'
diff --git a/app/components/base/icons/src/public/files/Csv.json b/app/components/base/icons/src/public/files/Csv.json
index 533dcd7..d4d2bd9 100644
--- a/app/components/base/icons/src/public/files/Csv.json
+++ b/app/components/base/icons/src/public/files/Csv.json
@@ -178,4 +178,4 @@
 		]
 	},
 	"name": "Csv"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Csv.tsx b/app/components/base/icons/src/public/files/Csv.tsx
index 03ce2fb..179d0e4 100644
--- a/app/components/base/icons/src/public/files/Csv.tsx
+++ b/app/components/base/icons/src/public/files/Csv.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Csv.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Csv'
 
diff --git a/app/components/base/icons/src/public/files/Doc.json b/app/components/base/icons/src/public/files/Doc.json
index 9d219ad..f451317 100644
--- a/app/components/base/icons/src/public/files/Doc.json
+++ b/app/components/base/icons/src/public/files/Doc.json
@@ -166,4 +166,4 @@
 		]
 	},
 	"name": "Doc"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Doc.tsx b/app/components/base/icons/src/public/files/Doc.tsx
index e71773f..7a73e51 100644
--- a/app/components/base/icons/src/public/files/Doc.tsx
+++ b/app/components/base/icons/src/public/files/Doc.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Doc.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Doc'
 
diff --git a/app/components/base/icons/src/public/files/Docx.json b/app/components/base/icons/src/public/files/Docx.json
index ffa9ef8..5054f08 100644
--- a/app/components/base/icons/src/public/files/Docx.json
+++ b/app/components/base/icons/src/public/files/Docx.json
@@ -175,4 +175,4 @@
 		]
 	},
 	"name": "Docx"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Docx.tsx b/app/components/base/icons/src/public/files/Docx.tsx
index 25d5d06..912d3a2 100644
--- a/app/components/base/icons/src/public/files/Docx.tsx
+++ b/app/components/base/icons/src/public/files/Docx.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Docx.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Docx'
 
diff --git a/app/components/base/icons/src/public/files/Html.json b/app/components/base/icons/src/public/files/Html.json
index f267073..86134d1 100644
--- a/app/components/base/icons/src/public/files/Html.json
+++ b/app/components/base/icons/src/public/files/Html.json
@@ -175,4 +175,4 @@
 		]
 	},
 	"name": "Html"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Html.tsx b/app/components/base/icons/src/public/files/Html.tsx
index 65b333d..16aca73 100644
--- a/app/components/base/icons/src/public/files/Html.tsx
+++ b/app/components/base/icons/src/public/files/Html.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Html.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Html'
 
diff --git a/app/components/base/icons/src/public/files/Json.json b/app/components/base/icons/src/public/files/Json.json
index 0801fec..ae2943d 100644
--- a/app/components/base/icons/src/public/files/Json.json
+++ b/app/components/base/icons/src/public/files/Json.json
@@ -175,4 +175,4 @@
 		]
 	},
 	"name": "Json"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Json.tsx b/app/components/base/icons/src/public/files/Json.tsx
index 90812be..452b75f 100644
--- a/app/components/base/icons/src/public/files/Json.tsx
+++ b/app/components/base/icons/src/public/files/Json.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Json.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Json'
 
diff --git a/app/components/base/icons/src/public/files/Md.json b/app/components/base/icons/src/public/files/Md.json
index 4a3cb68..da16696 100644
--- a/app/components/base/icons/src/public/files/Md.json
+++ b/app/components/base/icons/src/public/files/Md.json
@@ -141,4 +141,4 @@
 		]
 	},
 	"name": "Md"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Md.tsx b/app/components/base/icons/src/public/files/Md.tsx
index 25d4205..d9c1bc6 100644
--- a/app/components/base/icons/src/public/files/Md.tsx
+++ b/app/components/base/icons/src/public/files/Md.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Md.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Md'
 
diff --git a/app/components/base/icons/src/public/files/Pdf.json b/app/components/base/icons/src/public/files/Pdf.json
index 7770f27..e5ff4bc 100644
--- a/app/components/base/icons/src/public/files/Pdf.json
+++ b/app/components/base/icons/src/public/files/Pdf.json
@@ -166,4 +166,4 @@
 		]
 	},
 	"name": "Pdf"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Pdf.tsx b/app/components/base/icons/src/public/files/Pdf.tsx
index 15444df..851d7b1 100644
--- a/app/components/base/icons/src/public/files/Pdf.tsx
+++ b/app/components/base/icons/src/public/files/Pdf.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Pdf.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Pdf'
 
diff --git a/app/components/base/icons/src/public/files/Txt.json b/app/components/base/icons/src/public/files/Txt.json
index c689fc6..e511b92 100644
--- a/app/components/base/icons/src/public/files/Txt.json
+++ b/app/components/base/icons/src/public/files/Txt.json
@@ -177,4 +177,4 @@
 		]
 	},
 	"name": "Txt"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Txt.tsx b/app/components/base/icons/src/public/files/Txt.tsx
index 7b1f16c..867f4b2 100644
--- a/app/components/base/icons/src/public/files/Txt.tsx
+++ b/app/components/base/icons/src/public/files/Txt.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Txt.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Txt'
 
diff --git a/app/components/base/icons/src/public/files/Unknown.json b/app/components/base/icons/src/public/files/Unknown.json
index f1351e0..c39df99 100644
--- a/app/components/base/icons/src/public/files/Unknown.json
+++ b/app/components/base/icons/src/public/files/Unknown.json
@@ -196,4 +196,4 @@
 		]
 	},
 	"name": "Unknown"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Unknown.tsx b/app/components/base/icons/src/public/files/Unknown.tsx
index 1b7c658..de909ed 100644
--- a/app/components/base/icons/src/public/files/Unknown.tsx
+++ b/app/components/base/icons/src/public/files/Unknown.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Unknown.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Unknown'
 
diff --git a/app/components/base/icons/src/public/files/Xlsx.json b/app/components/base/icons/src/public/files/Xlsx.json
index 5f0e7a9..9cd6a61 100644
--- a/app/components/base/icons/src/public/files/Xlsx.json
+++ b/app/components/base/icons/src/public/files/Xlsx.json
@@ -142,4 +142,4 @@
 		]
 	},
 	"name": "Xlsx"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Xlsx.tsx b/app/components/base/icons/src/public/files/Xlsx.tsx
index 399570b..e938c83 100644
--- a/app/components/base/icons/src/public/files/Xlsx.tsx
+++ b/app/components/base/icons/src/public/files/Xlsx.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Xlsx.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Xlsx'
 
diff --git a/app/components/base/icons/src/public/files/Yaml.json b/app/components/base/icons/src/public/files/Yaml.json
index aa05cb4..e35087a 100644
--- a/app/components/base/icons/src/public/files/Yaml.json
+++ b/app/components/base/icons/src/public/files/Yaml.json
@@ -178,4 +178,4 @@
 		]
 	},
 	"name": "Yaml"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/files/Yaml.tsx b/app/components/base/icons/src/public/files/Yaml.tsx
index 5f95d27..b969695 100644
--- a/app/components/base/icons/src/public/files/Yaml.tsx
+++ b/app/components/base/icons/src/public/files/Yaml.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Yaml.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Yaml'
 
diff --git a/app/components/base/icons/src/public/knowledge/Chunk.json b/app/components/base/icons/src/public/knowledge/Chunk.json
index 91e85f2..7bd5668 100644
--- a/app/components/base/icons/src/public/knowledge/Chunk.json
+++ b/app/components/base/icons/src/public/knowledge/Chunk.json
@@ -24,7 +24,7 @@
 						"attributes": {
 							"id": "Vector",
 							"d": "M2.5 10H0V7.5H2.5V10Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -34,7 +34,7 @@
 						"attributes": {
 							"id": "Vector_2",
 							"d": "M6.25 6.25H3.75V3.75H6.25V6.25Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -44,7 +44,7 @@
 						"attributes": {
 							"id": "Vector_3",
 							"d": "M2.5 6.25H0V3.75H2.5V6.25Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -54,7 +54,7 @@
 						"attributes": {
 							"id": "Vector_4",
 							"d": "M6.25 2.5H3.75V0H6.25V2.5Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -64,7 +64,7 @@
 						"attributes": {
 							"id": "Vector_5",
 							"d": "M2.5 2.5H0V0H2.5V2.5Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -74,7 +74,7 @@
 						"attributes": {
 							"id": "Vector_6",
 							"d": "M10 2.5H7.5V0H10V2.5Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -84,7 +84,7 @@
 						"attributes": {
 							"id": "Vector_7",
 							"d": "M9.58342 7.91663H7.91675V9.58329H9.58342V7.91663Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -94,7 +94,7 @@
 						"attributes": {
 							"id": "Vector_8",
 							"d": "M9.58342 4.16663H7.91675V5.83329H9.58342V4.16663Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					},
@@ -104,7 +104,7 @@
 						"attributes": {
 							"id": "Vector_9",
 							"d": "M5.83341 7.91663H4.16675V9.58329H5.83341V7.91663Z",
-							"fill": "#676F83"
+							"fill": "currentColor"
 						},
 						"children": []
 					}
@@ -113,4 +113,4 @@
 		]
 	},
 	"name": "Chunk"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/knowledge/Chunk.tsx b/app/components/base/icons/src/public/knowledge/Chunk.tsx
index a01bd1e..87ff635 100644
--- a/app/components/base/icons/src/public/knowledge/Chunk.tsx
+++ b/app/components/base/icons/src/public/knowledge/Chunk.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Chunk.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Chunk'
 
diff --git a/app/components/base/icons/src/public/knowledge/Collapse.json b/app/components/base/icons/src/public/knowledge/Collapse.json
index 726b074..5e3cf08 100644
--- a/app/components/base/icons/src/public/knowledge/Collapse.json
+++ b/app/components/base/icons/src/public/knowledge/Collapse.json
@@ -30,7 +30,7 @@
 								"name": "path",
 								"attributes": {
 									"d": "M2.66602 11.3333H0.666016L3.33268 8.66667L5.99935 11.3333H3.99935L3.99935 14H2.66602L2.66602 11.3333Z",
-									"fill": "#354052"
+									"fill": "currentColor"
 								},
 								"children": []
 							},
@@ -39,7 +39,7 @@
 								"name": "path",
 								"attributes": {
 									"d": "M2.66602 4.66667L2.66602 2L3.99935 2L3.99935 4.66667L5.99935 4.66667L3.33268 7.33333L0.666016 4.66667L2.66602 4.66667Z",
-									"fill": "#354052"
+									"fill": "currentColor"
 								},
 								"children": []
 							},
@@ -48,7 +48,7 @@
 								"name": "path",
 								"attributes": {
 									"d": "M7.33268 2.66667H13.9993V4H7.33268V2.66667ZM7.33268 12H13.9993V13.3333H7.33268V12ZM5.99935 7.33333H13.9993V8.66667H5.99935V7.33333Z",
-									"fill": "#354052"
+									"fill": "currentColor"
 								},
 								"children": []
 							}
@@ -59,4 +59,4 @@
 		]
 	},
 	"name": "Collapse"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/knowledge/Collapse.tsx b/app/components/base/icons/src/public/knowledge/Collapse.tsx
index 6f43dde..48206c4 100644
--- a/app/components/base/icons/src/public/knowledge/Collapse.tsx
+++ b/app/components/base/icons/src/public/knowledge/Collapse.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Collapse.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Collapse'
 
diff --git a/app/components/base/icons/src/public/knowledge/GeneralType.json b/app/components/base/icons/src/public/knowledge/GeneralType.json
index 5cbfb1a..9a87d00 100644
--- a/app/components/base/icons/src/public/knowledge/GeneralType.json
+++ b/app/components/base/icons/src/public/knowledge/GeneralType.json
@@ -35,4 +35,4 @@
 		]
 	},
 	"name": "GeneralType"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/knowledge/GeneralType.tsx b/app/components/base/icons/src/public/knowledge/GeneralType.tsx
index 29005b8..7fce78a 100644
--- a/app/components/base/icons/src/public/knowledge/GeneralType.tsx
+++ b/app/components/base/icons/src/public/knowledge/GeneralType.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './GeneralType.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'GeneralType'
 
diff --git a/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.json b/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.json
index 194bec7..6f5b00e 100644
--- a/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.json
+++ b/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.json
@@ -24,7 +24,7 @@
 						"attributes": {
 							"id": "Vector",
 							"d": "M14.0002 2C14.3684 2 14.6668 2.29848 14.6668 2.66667V13.3333C14.6668 13.7015 14.3684 14 14.0002 14H2.00016C1.63198 14 1.3335 13.7015 1.3335 13.3333V2.66667C1.3335 2.29848 1.63198 2 2.00016 2H14.0002ZM13.3335 3.33333H2.66683V12.6667H13.3335V3.33333ZM14.0002 2.66667V13.3333H10.0002V2.66667H14.0002Z",
-							"fill": "#354052"
+							"fill": "currentColor"
 						},
 						"children": []
 					}
@@ -33,4 +33,4 @@
 		]
 	},
 	"name": "LayoutRight2LineMod"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.tsx b/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.tsx
index 18327cd..2189893 100644
--- a/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.tsx
+++ b/app/components/base/icons/src/public/knowledge/LayoutRight2LineMod.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LayoutRight2LineMod.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LayoutRight2LineMod'
 
diff --git a/app/components/base/icons/src/public/knowledge/ParentChildType.json b/app/components/base/icons/src/public/knowledge/ParentChildType.json
index 2d3270e..250da77 100644
--- a/app/components/base/icons/src/public/knowledge/ParentChildType.json
+++ b/app/components/base/icons/src/public/knowledge/ParentChildType.json
@@ -53,4 +53,4 @@
 		]
 	},
 	"name": "ParentChildType"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/knowledge/ParentChildType.tsx b/app/components/base/icons/src/public/knowledge/ParentChildType.tsx
index 1073150..2b13aa9 100644
--- a/app/components/base/icons/src/public/knowledge/ParentChildType.tsx
+++ b/app/components/base/icons/src/public/knowledge/ParentChildType.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ParentChildType.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ParentChildType'
 
diff --git a/app/components/base/icons/src/public/knowledge/SelectionMod.json b/app/components/base/icons/src/public/knowledge/SelectionMod.json
index c88e278..ff8174a 100644
--- a/app/components/base/icons/src/public/knowledge/SelectionMod.json
+++ b/app/components/base/icons/src/public/knowledge/SelectionMod.json
@@ -113,4 +113,4 @@
 		]
 	},
 	"name": "SelectionMod"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/knowledge/SelectionMod.tsx b/app/components/base/icons/src/public/knowledge/SelectionMod.tsx
index a2d60fa..19125b7 100644
--- a/app/components/base/icons/src/public/knowledge/SelectionMod.tsx
+++ b/app/components/base/icons/src/public/knowledge/SelectionMod.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './SelectionMod.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'SelectionMod'
 
diff --git a/app/components/base/icons/src/public/llm/Anthropic.json b/app/components/base/icons/src/public/llm/Anthropic.json
index db33abd..f237bba 100644
--- a/app/components/base/icons/src/public/llm/Anthropic.json
+++ b/app/components/base/icons/src/public/llm/Anthropic.json
@@ -34,4 +34,4 @@
 		]
 	},
 	"name": "Anthropic"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Anthropic.tsx b/app/components/base/icons/src/public/llm/Anthropic.tsx
index f5de0f5..f1307e5 100644
--- a/app/components/base/icons/src/public/llm/Anthropic.tsx
+++ b/app/components/base/icons/src/public/llm/Anthropic.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Anthropic.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Anthropic'
 
diff --git a/app/components/base/icons/src/public/llm/AnthropicText.json b/app/components/base/icons/src/public/llm/AnthropicText.json
index 7f89795..72b3e6e 100644
--- a/app/components/base/icons/src/public/llm/AnthropicText.json
+++ b/app/components/base/icons/src/public/llm/AnthropicText.json
@@ -536,4 +536,4 @@
 		]
 	},
 	"name": "AnthropicText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/AnthropicText.tsx b/app/components/base/icons/src/public/llm/AnthropicText.tsx
index be9ebd3..868cfe5 100644
--- a/app/components/base/icons/src/public/llm/AnthropicText.tsx
+++ b/app/components/base/icons/src/public/llm/AnthropicText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AnthropicText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AnthropicText'
 
diff --git a/app/components/base/icons/src/public/llm/AzureOpenaiService.json b/app/components/base/icons/src/public/llm/AzureOpenaiService.json
index bf07b59..42cba31 100644
--- a/app/components/base/icons/src/public/llm/AzureOpenaiService.json
+++ b/app/components/base/icons/src/public/llm/AzureOpenaiService.json
@@ -71,4 +71,4 @@
 		]
 	},
 	"name": "AzureOpenaiService"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/AzureOpenaiService.tsx b/app/components/base/icons/src/public/llm/AzureOpenaiService.tsx
index 9a82df1..01db4fa 100644
--- a/app/components/base/icons/src/public/llm/AzureOpenaiService.tsx
+++ b/app/components/base/icons/src/public/llm/AzureOpenaiService.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AzureOpenaiService.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AzureOpenaiService'
 
diff --git a/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.json b/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.json
index f4342d7..12cdeec 100644
--- a/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.json
+++ b/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.json
@@ -233,4 +233,4 @@
 		]
 	},
 	"name": "AzureOpenaiServiceText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.tsx b/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.tsx
index f91189a..ae29a4f 100644
--- a/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.tsx
+++ b/app/components/base/icons/src/public/llm/AzureOpenaiServiceText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AzureOpenaiServiceText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AzureOpenaiServiceText'
 
diff --git a/app/components/base/icons/src/public/llm/Azureai.json b/app/components/base/icons/src/public/llm/Azureai.json
index 004da32..8662cfb 100644
--- a/app/components/base/icons/src/public/llm/Azureai.json
+++ b/app/components/base/icons/src/public/llm/Azureai.json
@@ -177,4 +177,4 @@
 		]
 	},
 	"name": "Azureai"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Azureai.tsx b/app/components/base/icons/src/public/llm/Azureai.tsx
index bf7f2da..7a6769f 100644
--- a/app/components/base/icons/src/public/llm/Azureai.tsx
+++ b/app/components/base/icons/src/public/llm/Azureai.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Azureai.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Azureai'
 
diff --git a/app/components/base/icons/src/public/llm/AzureaiText.json b/app/components/base/icons/src/public/llm/AzureaiText.json
index 44976aa..2eb3599 100644
--- a/app/components/base/icons/src/public/llm/AzureaiText.json
+++ b/app/components/base/icons/src/public/llm/AzureaiText.json
@@ -240,4 +240,4 @@
 		]
 	},
 	"name": "AzureaiText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/AzureaiText.tsx b/app/components/base/icons/src/public/llm/AzureaiText.tsx
index cd23769..26881a8 100644
--- a/app/components/base/icons/src/public/llm/AzureaiText.tsx
+++ b/app/components/base/icons/src/public/llm/AzureaiText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AzureaiText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AzureaiText'
 
diff --git a/app/components/base/icons/src/public/llm/Baichuan.json b/app/components/base/icons/src/public/llm/Baichuan.json
index 196fbad..ad93703 100644
--- a/app/components/base/icons/src/public/llm/Baichuan.json
+++ b/app/components/base/icons/src/public/llm/Baichuan.json
@@ -73,4 +73,4 @@
 		]
 	},
 	"name": "Baichuan"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Baichuan.tsx b/app/components/base/icons/src/public/llm/Baichuan.tsx
index 363820b..e62e0a0 100644
--- a/app/components/base/icons/src/public/llm/Baichuan.tsx
+++ b/app/components/base/icons/src/public/llm/Baichuan.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Baichuan.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Baichuan'
 
diff --git a/app/components/base/icons/src/public/llm/BaichuanText.json b/app/components/base/icons/src/public/llm/BaichuanText.json
index c4dc1d1..cda52e9 100644
--- a/app/components/base/icons/src/public/llm/BaichuanText.json
+++ b/app/components/base/icons/src/public/llm/BaichuanText.json
@@ -153,4 +153,4 @@
 		]
 	},
 	"name": "BaichuanText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/BaichuanText.tsx b/app/components/base/icons/src/public/llm/BaichuanText.tsx
index 37d6242..3e24837 100644
--- a/app/components/base/icons/src/public/llm/BaichuanText.tsx
+++ b/app/components/base/icons/src/public/llm/BaichuanText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BaichuanText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BaichuanText'
 
diff --git a/app/components/base/icons/src/public/llm/Chatglm.json b/app/components/base/icons/src/public/llm/Chatglm.json
index c01787f..37a6aa9 100644
--- a/app/components/base/icons/src/public/llm/Chatglm.json
+++ b/app/components/base/icons/src/public/llm/Chatglm.json
@@ -69,4 +69,4 @@
 		]
 	},
 	"name": "Chatglm"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Chatglm.tsx b/app/components/base/icons/src/public/llm/Chatglm.tsx
index 742704f..d26b904 100644
--- a/app/components/base/icons/src/public/llm/Chatglm.tsx
+++ b/app/components/base/icons/src/public/llm/Chatglm.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Chatglm.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Chatglm'
 
diff --git a/app/components/base/icons/src/public/llm/ChatglmText.json b/app/components/base/icons/src/public/llm/ChatglmText.json
index 1fe28ea..80b765c 100644
--- a/app/components/base/icons/src/public/llm/ChatglmText.json
+++ b/app/components/base/icons/src/public/llm/ChatglmText.json
@@ -132,4 +132,4 @@
 		]
 	},
 	"name": "ChatglmText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/ChatglmText.tsx b/app/components/base/icons/src/public/llm/ChatglmText.tsx
index e97f3fa..c74c12c 100644
--- a/app/components/base/icons/src/public/llm/ChatglmText.tsx
+++ b/app/components/base/icons/src/public/llm/ChatglmText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChatglmText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChatglmText'
 
diff --git a/app/components/base/icons/src/public/llm/Cohere.json b/app/components/base/icons/src/public/llm/Cohere.json
index 7062891..255514e 100644
--- a/app/components/base/icons/src/public/llm/Cohere.json
+++ b/app/components/base/icons/src/public/llm/Cohere.json
@@ -109,4 +109,4 @@
 		]
 	},
 	"name": "Cohere"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Cohere.tsx b/app/components/base/icons/src/public/llm/Cohere.tsx
index 1f16d1c..76d8bfb 100644
--- a/app/components/base/icons/src/public/llm/Cohere.tsx
+++ b/app/components/base/icons/src/public/llm/Cohere.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Cohere.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Cohere'
 
diff --git a/app/components/base/icons/src/public/llm/CohereText.json b/app/components/base/icons/src/public/llm/CohereText.json
index 89657cc..588b345 100644
--- a/app/components/base/icons/src/public/llm/CohereText.json
+++ b/app/components/base/icons/src/public/llm/CohereText.json
@@ -87,4 +87,4 @@
 		]
 	},
 	"name": "CohereText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/CohereText.tsx b/app/components/base/icons/src/public/llm/CohereText.tsx
index e6d5ceb..efd37b6 100644
--- a/app/components/base/icons/src/public/llm/CohereText.tsx
+++ b/app/components/base/icons/src/public/llm/CohereText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CohereText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CohereText'
 
diff --git a/app/components/base/icons/src/public/llm/Gpt3.json b/app/components/base/icons/src/public/llm/Gpt3.json
index 383cb98..253b9a3 100644
--- a/app/components/base/icons/src/public/llm/Gpt3.json
+++ b/app/components/base/icons/src/public/llm/Gpt3.json
@@ -48,4 +48,4 @@
 		]
 	},
 	"name": "Gpt3"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Gpt3.tsx b/app/components/base/icons/src/public/llm/Gpt3.tsx
index 7926d50..f365ef3 100644
--- a/app/components/base/icons/src/public/llm/Gpt3.tsx
+++ b/app/components/base/icons/src/public/llm/Gpt3.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Gpt3.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Gpt3'
 
diff --git a/app/components/base/icons/src/public/llm/Gpt4.json b/app/components/base/icons/src/public/llm/Gpt4.json
index b0d1941..0e50c5f 100644
--- a/app/components/base/icons/src/public/llm/Gpt4.json
+++ b/app/components/base/icons/src/public/llm/Gpt4.json
@@ -48,4 +48,4 @@
 		]
 	},
 	"name": "Gpt4"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Gpt4.tsx b/app/components/base/icons/src/public/llm/Gpt4.tsx
index 1fa170e..702bf9c 100644
--- a/app/components/base/icons/src/public/llm/Gpt4.tsx
+++ b/app/components/base/icons/src/public/llm/Gpt4.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Gpt4.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Gpt4'
 
diff --git a/app/components/base/icons/src/public/llm/Huggingface.json b/app/components/base/icons/src/public/llm/Huggingface.json
index 57e10e2..b3bd943 100644
--- a/app/components/base/icons/src/public/llm/Huggingface.json
+++ b/app/components/base/icons/src/public/llm/Huggingface.json
@@ -155,4 +155,4 @@
 		]
 	},
 	"name": "Huggingface"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Huggingface.tsx b/app/components/base/icons/src/public/llm/Huggingface.tsx
index 1dcee18..ebf6a17 100644
--- a/app/components/base/icons/src/public/llm/Huggingface.tsx
+++ b/app/components/base/icons/src/public/llm/Huggingface.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Huggingface.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Huggingface'
 
diff --git a/app/components/base/icons/src/public/llm/HuggingfaceText.json b/app/components/base/icons/src/public/llm/HuggingfaceText.json
index d113e64..4e80364 100644
--- a/app/components/base/icons/src/public/llm/HuggingfaceText.json
+++ b/app/components/base/icons/src/public/llm/HuggingfaceText.json
@@ -319,4 +319,4 @@
 		]
 	},
 	"name": "HuggingfaceText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/HuggingfaceText.tsx b/app/components/base/icons/src/public/llm/HuggingfaceText.tsx
index 961d63e..89cceec 100644
--- a/app/components/base/icons/src/public/llm/HuggingfaceText.tsx
+++ b/app/components/base/icons/src/public/llm/HuggingfaceText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './HuggingfaceText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'HuggingfaceText'
 
diff --git a/app/components/base/icons/src/public/llm/HuggingfaceTextHub.json b/app/components/base/icons/src/public/llm/HuggingfaceTextHub.json
index 0500abf..9dcc6d6 100644
--- a/app/components/base/icons/src/public/llm/HuggingfaceTextHub.json
+++ b/app/components/base/icons/src/public/llm/HuggingfaceTextHub.json
@@ -347,4 +347,4 @@
 		]
 	},
 	"name": "HuggingfaceTextHub"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/HuggingfaceTextHub.tsx b/app/components/base/icons/src/public/llm/HuggingfaceTextHub.tsx
index 47e3620..cf44edd 100644
--- a/app/components/base/icons/src/public/llm/HuggingfaceTextHub.tsx
+++ b/app/components/base/icons/src/public/llm/HuggingfaceTextHub.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './HuggingfaceTextHub.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'HuggingfaceTextHub'
 
diff --git a/app/components/base/icons/src/public/llm/IflytekSpark.json b/app/components/base/icons/src/public/llm/IflytekSpark.json
index 1803b5f..03f50d7 100644
--- a/app/components/base/icons/src/public/llm/IflytekSpark.json
+++ b/app/components/base/icons/src/public/llm/IflytekSpark.json
@@ -41,4 +41,4 @@
 		]
 	},
 	"name": "IflytekSpark"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/IflytekSpark.tsx b/app/components/base/icons/src/public/llm/IflytekSpark.tsx
index a2573a3..f910c3e 100644
--- a/app/components/base/icons/src/public/llm/IflytekSpark.tsx
+++ b/app/components/base/icons/src/public/llm/IflytekSpark.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './IflytekSpark.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'IflytekSpark'
 
diff --git a/app/components/base/icons/src/public/llm/IflytekSparkText.json b/app/components/base/icons/src/public/llm/IflytekSparkText.json
index 2b01c14..bd51f88 100644
--- a/app/components/base/icons/src/public/llm/IflytekSparkText.json
+++ b/app/components/base/icons/src/public/llm/IflytekSparkText.json
@@ -184,4 +184,4 @@
 		]
 	},
 	"name": "IflytekSparkText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/IflytekSparkText.tsx b/app/components/base/icons/src/public/llm/IflytekSparkText.tsx
index 99abd56..a807f04 100644
--- a/app/components/base/icons/src/public/llm/IflytekSparkText.tsx
+++ b/app/components/base/icons/src/public/llm/IflytekSparkText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './IflytekSparkText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'IflytekSparkText'
 
diff --git a/app/components/base/icons/src/public/llm/IflytekSparkTextCn.json b/app/components/base/icons/src/public/llm/IflytekSparkTextCn.json
index 22d1411..4c874ad 100644
--- a/app/components/base/icons/src/public/llm/IflytekSparkTextCn.json
+++ b/app/components/base/icons/src/public/llm/IflytekSparkTextCn.json
@@ -95,4 +95,4 @@
 		]
 	},
 	"name": "IflytekSparkTextCn"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/IflytekSparkTextCn.tsx b/app/components/base/icons/src/public/llm/IflytekSparkTextCn.tsx
index 8f9d09e..706487d 100644
--- a/app/components/base/icons/src/public/llm/IflytekSparkTextCn.tsx
+++ b/app/components/base/icons/src/public/llm/IflytekSparkTextCn.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './IflytekSparkTextCn.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'IflytekSparkTextCn'
 
diff --git a/app/components/base/icons/src/public/llm/Jina.json b/app/components/base/icons/src/public/llm/Jina.json
index 88d70a3..fc40c02 100644
--- a/app/components/base/icons/src/public/llm/Jina.json
+++ b/app/components/base/icons/src/public/llm/Jina.json
@@ -32,4 +32,4 @@
 		]
 	},
 	"name": "Jina"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Jina.tsx b/app/components/base/icons/src/public/llm/Jina.tsx
index 6fe2403..8036e08 100644
--- a/app/components/base/icons/src/public/llm/Jina.tsx
+++ b/app/components/base/icons/src/public/llm/Jina.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Jina.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Jina'
 
diff --git a/app/components/base/icons/src/public/llm/JinaText.json b/app/components/base/icons/src/public/llm/JinaText.json
index 08e76ef..04831fa 100644
--- a/app/components/base/icons/src/public/llm/JinaText.json
+++ b/app/components/base/icons/src/public/llm/JinaText.json
@@ -79,4 +79,4 @@
 		]
 	},
 	"name": "JinaText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/JinaText.tsx b/app/components/base/icons/src/public/llm/JinaText.tsx
index e5514a5..802d5aa 100644
--- a/app/components/base/icons/src/public/llm/JinaText.tsx
+++ b/app/components/base/icons/src/public/llm/JinaText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './JinaText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'JinaText'
 
diff --git a/app/components/base/icons/src/public/llm/Localai.json b/app/components/base/icons/src/public/llm/Localai.json
index e0f8549..30b9786 100644
--- a/app/components/base/icons/src/public/llm/Localai.json
+++ b/app/components/base/icons/src/public/llm/Localai.json
@@ -104,4 +104,4 @@
 		]
 	},
 	"name": "Localai"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Localai.tsx b/app/components/base/icons/src/public/llm/Localai.tsx
index 731f008..86e5d07 100644
--- a/app/components/base/icons/src/public/llm/Localai.tsx
+++ b/app/components/base/icons/src/public/llm/Localai.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Localai.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Localai'
 
diff --git a/app/components/base/icons/src/public/llm/LocalaiText.json b/app/components/base/icons/src/public/llm/LocalaiText.json
index 849f7ae..e7a4519 100644
--- a/app/components/base/icons/src/public/llm/LocalaiText.json
+++ b/app/components/base/icons/src/public/llm/LocalaiText.json
@@ -167,4 +167,4 @@
 		]
 	},
 	"name": "LocalaiText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/LocalaiText.tsx b/app/components/base/icons/src/public/llm/LocalaiText.tsx
index aaea98a..95875d4 100644
--- a/app/components/base/icons/src/public/llm/LocalaiText.tsx
+++ b/app/components/base/icons/src/public/llm/LocalaiText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LocalaiText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LocalaiText'
 
diff --git a/app/components/base/icons/src/public/llm/Microsoft.json b/app/components/base/icons/src/public/llm/Microsoft.json
index ab2c052..692cd25 100644
--- a/app/components/base/icons/src/public/llm/Microsoft.json
+++ b/app/components/base/icons/src/public/llm/Microsoft.json
@@ -73,4 +73,4 @@
 		]
 	},
 	"name": "Microsoft"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Microsoft.tsx b/app/components/base/icons/src/public/llm/Microsoft.tsx
index 0b6e5dc..adc5535 100644
--- a/app/components/base/icons/src/public/llm/Microsoft.tsx
+++ b/app/components/base/icons/src/public/llm/Microsoft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Microsoft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Microsoft'
 
diff --git a/app/components/base/icons/src/public/llm/OpenaiBlack.json b/app/components/base/icons/src/public/llm/OpenaiBlack.json
index 9f4a991..ad72284 100644
--- a/app/components/base/icons/src/public/llm/OpenaiBlack.json
+++ b/app/components/base/icons/src/public/llm/OpenaiBlack.json
@@ -34,4 +34,4 @@
 		]
 	},
 	"name": "OpenaiBlack"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenaiBlack.tsx b/app/components/base/icons/src/public/llm/OpenaiBlack.tsx
index 1b9e3ec..7a22c97 100644
--- a/app/components/base/icons/src/public/llm/OpenaiBlack.tsx
+++ b/app/components/base/icons/src/public/llm/OpenaiBlack.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenaiBlack.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenaiBlack'
 
diff --git a/app/components/base/icons/src/public/llm/OpenaiBlue.json b/app/components/base/icons/src/public/llm/OpenaiBlue.json
index 5c716f7..60b3fc6 100644
--- a/app/components/base/icons/src/public/llm/OpenaiBlue.json
+++ b/app/components/base/icons/src/public/llm/OpenaiBlue.json
@@ -34,4 +34,4 @@
 		]
 	},
 	"name": "OpenaiBlue"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenaiBlue.tsx b/app/components/base/icons/src/public/llm/OpenaiBlue.tsx
index 3dc45a9..971941c 100644
--- a/app/components/base/icons/src/public/llm/OpenaiBlue.tsx
+++ b/app/components/base/icons/src/public/llm/OpenaiBlue.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenaiBlue.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenaiBlue'
 
diff --git a/app/components/base/icons/src/public/llm/OpenaiGreen.json b/app/components/base/icons/src/public/llm/OpenaiGreen.json
index 8980e85..9ca36b6 100644
--- a/app/components/base/icons/src/public/llm/OpenaiGreen.json
+++ b/app/components/base/icons/src/public/llm/OpenaiGreen.json
@@ -34,4 +34,4 @@
 		]
 	},
 	"name": "OpenaiGreen"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenaiGreen.tsx b/app/components/base/icons/src/public/llm/OpenaiGreen.tsx
index 36f967c..faa62e6 100644
--- a/app/components/base/icons/src/public/llm/OpenaiGreen.tsx
+++ b/app/components/base/icons/src/public/llm/OpenaiGreen.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenaiGreen.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenaiGreen'
 
diff --git a/app/components/base/icons/src/public/llm/OpenaiText.json b/app/components/base/icons/src/public/llm/OpenaiText.json
index f5fc3de..469aacf 100644
--- a/app/components/base/icons/src/public/llm/OpenaiText.json
+++ b/app/components/base/icons/src/public/llm/OpenaiText.json
@@ -74,4 +74,4 @@
 		]
 	},
 	"name": "OpenaiText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenaiText.tsx b/app/components/base/icons/src/public/llm/OpenaiText.tsx
index f07995d..cd2f626 100644
--- a/app/components/base/icons/src/public/llm/OpenaiText.tsx
+++ b/app/components/base/icons/src/public/llm/OpenaiText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenaiText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenaiText'
 
diff --git a/app/components/base/icons/src/public/llm/OpenaiTransparent.json b/app/components/base/icons/src/public/llm/OpenaiTransparent.json
index 13b9cb4..00a410d 100644
--- a/app/components/base/icons/src/public/llm/OpenaiTransparent.json
+++ b/app/components/base/icons/src/public/llm/OpenaiTransparent.json
@@ -23,4 +23,4 @@
 		]
 	},
 	"name": "OpenaiTransparent"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenaiTransparent.tsx b/app/components/base/icons/src/public/llm/OpenaiTransparent.tsx
index 0a90287..51b965f 100644
--- a/app/components/base/icons/src/public/llm/OpenaiTransparent.tsx
+++ b/app/components/base/icons/src/public/llm/OpenaiTransparent.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenaiTransparent.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenaiTransparent'
 
diff --git a/app/components/base/icons/src/public/llm/OpenaiViolet.json b/app/components/base/icons/src/public/llm/OpenaiViolet.json
index efff2fe..927699b 100644
--- a/app/components/base/icons/src/public/llm/OpenaiViolet.json
+++ b/app/components/base/icons/src/public/llm/OpenaiViolet.json
@@ -34,4 +34,4 @@
 		]
 	},
 	"name": "OpenaiViolet"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenaiViolet.tsx b/app/components/base/icons/src/public/llm/OpenaiViolet.tsx
index 03e2864..cc22619 100644
--- a/app/components/base/icons/src/public/llm/OpenaiViolet.tsx
+++ b/app/components/base/icons/src/public/llm/OpenaiViolet.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenaiViolet.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenaiViolet'
 
diff --git a/app/components/base/icons/src/public/llm/Openllm.json b/app/components/base/icons/src/public/llm/Openllm.json
index 93eec11..1c71fa9 100644
--- a/app/components/base/icons/src/public/llm/Openllm.json
+++ b/app/components/base/icons/src/public/llm/Openllm.json
@@ -80,4 +80,4 @@
 		]
 	},
 	"name": "Openllm"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Openllm.tsx b/app/components/base/icons/src/public/llm/Openllm.tsx
index 6497165..99e9dba 100644
--- a/app/components/base/icons/src/public/llm/Openllm.tsx
+++ b/app/components/base/icons/src/public/llm/Openllm.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Openllm.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Openllm'
 
diff --git a/app/components/base/icons/src/public/llm/OpenllmText.json b/app/components/base/icons/src/public/llm/OpenllmText.json
index d5705de..ad5179e 100644
--- a/app/components/base/icons/src/public/llm/OpenllmText.json
+++ b/app/components/base/icons/src/public/llm/OpenllmText.json
@@ -140,4 +140,4 @@
 		]
 	},
 	"name": "OpenllmText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/OpenllmText.tsx b/app/components/base/icons/src/public/llm/OpenllmText.tsx
index d1b6f6b..5c3a50f 100644
--- a/app/components/base/icons/src/public/llm/OpenllmText.tsx
+++ b/app/components/base/icons/src/public/llm/OpenllmText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpenllmText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpenllmText'
 
diff --git a/app/components/base/icons/src/public/llm/Replicate.json b/app/components/base/icons/src/public/llm/Replicate.json
index 303c239..089d111 100644
--- a/app/components/base/icons/src/public/llm/Replicate.json
+++ b/app/components/base/icons/src/public/llm/Replicate.json
@@ -36,4 +36,4 @@
 		]
 	},
 	"name": "Replicate"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Replicate.tsx b/app/components/base/icons/src/public/llm/Replicate.tsx
index 237b68d..4c580d7 100644
--- a/app/components/base/icons/src/public/llm/Replicate.tsx
+++ b/app/components/base/icons/src/public/llm/Replicate.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Replicate.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Replicate'
 
diff --git a/app/components/base/icons/src/public/llm/ReplicateText.json b/app/components/base/icons/src/public/llm/ReplicateText.json
index b2d597c..c163ccb 100644
--- a/app/components/base/icons/src/public/llm/ReplicateText.json
+++ b/app/components/base/icons/src/public/llm/ReplicateText.json
@@ -113,4 +113,4 @@
 		]
 	},
 	"name": "ReplicateText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/ReplicateText.tsx b/app/components/base/icons/src/public/llm/ReplicateText.tsx
index 667b7d5..a9a595f 100644
--- a/app/components/base/icons/src/public/llm/ReplicateText.tsx
+++ b/app/components/base/icons/src/public/llm/ReplicateText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ReplicateText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ReplicateText'
 
diff --git a/app/components/base/icons/src/public/llm/XorbitsInference.json b/app/components/base/icons/src/public/llm/XorbitsInference.json
index b2d3b1a..fae25b3 100644
--- a/app/components/base/icons/src/public/llm/XorbitsInference.json
+++ b/app/components/base/icons/src/public/llm/XorbitsInference.json
@@ -173,4 +173,4 @@
 		]
 	},
 	"name": "XorbitsInference"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/XorbitsInference.tsx b/app/components/base/icons/src/public/llm/XorbitsInference.tsx
index 8316ce3..45259b0 100644
--- a/app/components/base/icons/src/public/llm/XorbitsInference.tsx
+++ b/app/components/base/icons/src/public/llm/XorbitsInference.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './XorbitsInference.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'XorbitsInference'
 
diff --git a/app/components/base/icons/src/public/llm/XorbitsInferenceText.json b/app/components/base/icons/src/public/llm/XorbitsInferenceText.json
index 967ee6d..b8dac91 100644
--- a/app/components/base/icons/src/public/llm/XorbitsInferenceText.json
+++ b/app/components/base/icons/src/public/llm/XorbitsInferenceText.json
@@ -326,4 +326,4 @@
 		]
 	},
 	"name": "XorbitsInferenceText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/XorbitsInferenceText.tsx b/app/components/base/icons/src/public/llm/XorbitsInferenceText.tsx
index fb834e7..8df4587 100644
--- a/app/components/base/icons/src/public/llm/XorbitsInferenceText.tsx
+++ b/app/components/base/icons/src/public/llm/XorbitsInferenceText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './XorbitsInferenceText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'XorbitsInferenceText'
 
diff --git a/app/components/base/icons/src/public/llm/Zhipuai.json b/app/components/base/icons/src/public/llm/Zhipuai.json
index 8795568..7f93c63 100644
--- a/app/components/base/icons/src/public/llm/Zhipuai.json
+++ b/app/components/base/icons/src/public/llm/Zhipuai.json
@@ -50,4 +50,4 @@
 		]
 	},
 	"name": "Zhipuai"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/Zhipuai.tsx b/app/components/base/icons/src/public/llm/Zhipuai.tsx
index d06244b..37c8481 100644
--- a/app/components/base/icons/src/public/llm/Zhipuai.tsx
+++ b/app/components/base/icons/src/public/llm/Zhipuai.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Zhipuai.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Zhipuai'
 
diff --git a/app/components/base/icons/src/public/llm/ZhipuaiText.json b/app/components/base/icons/src/public/llm/ZhipuaiText.json
index 12eb65a..455a606 100644
--- a/app/components/base/icons/src/public/llm/ZhipuaiText.json
+++ b/app/components/base/icons/src/public/llm/ZhipuaiText.json
@@ -41,4 +41,4 @@
 		]
 	},
 	"name": "ZhipuaiText"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/ZhipuaiText.tsx b/app/components/base/icons/src/public/llm/ZhipuaiText.tsx
index 600ca7c..4d3234b 100644
--- a/app/components/base/icons/src/public/llm/ZhipuaiText.tsx
+++ b/app/components/base/icons/src/public/llm/ZhipuaiText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ZhipuaiText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ZhipuaiText'
 
diff --git a/app/components/base/icons/src/public/llm/ZhipuaiTextCn.json b/app/components/base/icons/src/public/llm/ZhipuaiTextCn.json
index c5b1755..6002e07 100644
--- a/app/components/base/icons/src/public/llm/ZhipuaiTextCn.json
+++ b/app/components/base/icons/src/public/llm/ZhipuaiTextCn.json
@@ -59,4 +59,4 @@
 		]
 	},
 	"name": "ZhipuaiTextCn"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/llm/ZhipuaiTextCn.tsx b/app/components/base/icons/src/public/llm/ZhipuaiTextCn.tsx
index 5311241..9e55aba 100644
--- a/app/components/base/icons/src/public/llm/ZhipuaiTextCn.tsx
+++ b/app/components/base/icons/src/public/llm/ZhipuaiTextCn.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ZhipuaiTextCn.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ZhipuaiTextCn'
 
diff --git a/app/components/base/icons/src/public/llm/index.ts b/app/components/base/icons/src/public/llm/index.ts
index cc9b531..3545049 100644
--- a/app/components/base/icons/src/public/llm/index.ts
+++ b/app/components/base/icons/src/public/llm/index.ts
@@ -1,5 +1,3 @@
-export { default as AnthropicDark } from './AnthropicDark'
-export { default as AnthropicLight } from './AnthropicLight'
 export { default as AnthropicText } from './AnthropicText'
 export { default as Anthropic } from './Anthropic'
 export { default as AzureOpenaiServiceText } from './AzureOpenaiServiceText'
diff --git a/app/components/base/icons/src/public/model/Checked.json b/app/components/base/icons/src/public/model/Checked.json
index 7e96db7..f8ea944 100644
--- a/app/components/base/icons/src/public/model/Checked.json
+++ b/app/components/base/icons/src/public/model/Checked.json
@@ -26,4 +26,4 @@
 		]
 	},
 	"name": "Checked"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/model/Checked.tsx b/app/components/base/icons/src/public/model/Checked.tsx
index ec8b54f..c673c02 100644
--- a/app/components/base/icons/src/public/model/Checked.tsx
+++ b/app/components/base/icons/src/public/model/Checked.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Checked.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Checked'
 
diff --git a/app/components/base/icons/src/public/other/DefaultToolIcon.json b/app/components/base/icons/src/public/other/DefaultToolIcon.json
index 32786d2..32412e8 100644
--- a/app/components/base/icons/src/public/other/DefaultToolIcon.json
+++ b/app/components/base/icons/src/public/other/DefaultToolIcon.json
@@ -78,4 +78,4 @@
 		]
 	},
 	"name": "DefaultToolIcon"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/other/DefaultToolIcon.tsx b/app/components/base/icons/src/public/other/DefaultToolIcon.tsx
index dd28b8a..730ba3a 100644
--- a/app/components/base/icons/src/public/other/DefaultToolIcon.tsx
+++ b/app/components/base/icons/src/public/other/DefaultToolIcon.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './DefaultToolIcon.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'DefaultToolIcon'
 
diff --git a/app/components/base/icons/src/public/other/Icon3Dots.json b/app/components/base/icons/src/public/other/Icon3Dots.json
index b59b293..9c6d232 100644
--- a/app/components/base/icons/src/public/other/Icon3Dots.json
+++ b/app/components/base/icons/src/public/other/Icon3Dots.json
@@ -26,4 +26,4 @@
 		]
 	},
 	"name": "Icon3Dots"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/other/Icon3Dots.tsx b/app/components/base/icons/src/public/other/Icon3Dots.tsx
index bcc2cee..1f9eb76 100644
--- a/app/components/base/icons/src/public/other/Icon3Dots.tsx
+++ b/app/components/base/icons/src/public/other/Icon3Dots.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Icon3Dots.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Icon3Dots'
 
diff --git a/app/components/base/icons/src/public/other/RowStruct.json b/app/components/base/icons/src/public/other/RowStruct.json
index 49ef717..0d1ef43 100644
--- a/app/components/base/icons/src/public/other/RowStruct.json
+++ b/app/components/base/icons/src/public/other/RowStruct.json
@@ -53,4 +53,4 @@
 		]
 	},
 	"name": "RowStruct"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/other/RowStruct.tsx b/app/components/base/icons/src/public/other/RowStruct.tsx
index 14487c8..ef5ab8c 100644
--- a/app/components/base/icons/src/public/other/RowStruct.tsx
+++ b/app/components/base/icons/src/public/other/RowStruct.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './RowStruct.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'RowStruct'
 
diff --git a/app/components/base/icons/src/public/other/index.ts b/app/components/base/icons/src/public/other/index.ts
index a7558ca..257ba59 100644
--- a/app/components/base/icons/src/public/other/index.ts
+++ b/app/components/base/icons/src/public/other/index.ts
@@ -1,4 +1,3 @@
 export { default as Icon3Dots } from './Icon3Dots'
 export { default as DefaultToolIcon } from './DefaultToolIcon'
-export { default as Message3Fill } from './Message3Fill'
 export { default as RowStruct } from './RowStruct'
diff --git a/app/components/base/icons/src/public/plugins/Google.json b/app/components/base/icons/src/public/plugins/Google.json
index 198050e..6f04ddd 100644
--- a/app/components/base/icons/src/public/plugins/Google.json
+++ b/app/components/base/icons/src/public/plugins/Google.json
@@ -50,4 +50,4 @@
 		]
 	},
 	"name": "Google"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/plugins/Google.tsx b/app/components/base/icons/src/public/plugins/Google.tsx
index 7d8d667..6d2a0b8 100644
--- a/app/components/base/icons/src/public/plugins/Google.tsx
+++ b/app/components/base/icons/src/public/plugins/Google.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Google.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Google'
 
diff --git a/app/components/base/icons/src/public/plugins/WebReader.json b/app/components/base/icons/src/public/plugins/WebReader.json
index 58c8283..42ec3d9 100644
--- a/app/components/base/icons/src/public/plugins/WebReader.json
+++ b/app/components/base/icons/src/public/plugins/WebReader.json
@@ -36,4 +36,4 @@
 		]
 	},
 	"name": "WebReader"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/plugins/WebReader.tsx b/app/components/base/icons/src/public/plugins/WebReader.tsx
index b23007d..ee7281e 100644
--- a/app/components/base/icons/src/public/plugins/WebReader.tsx
+++ b/app/components/base/icons/src/public/plugins/WebReader.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './WebReader.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'WebReader'
 
diff --git a/app/components/base/icons/src/public/plugins/Wikipedia.json b/app/components/base/icons/src/public/plugins/Wikipedia.json
index af2d505..7a16433 100644
--- a/app/components/base/icons/src/public/plugins/Wikipedia.json
+++ b/app/components/base/icons/src/public/plugins/Wikipedia.json
@@ -23,4 +23,4 @@
 		]
 	},
 	"name": "Wikipedia"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/plugins/Wikipedia.tsx b/app/components/base/icons/src/public/plugins/Wikipedia.tsx
index 0477e9c..36f18f1 100644
--- a/app/components/base/icons/src/public/plugins/Wikipedia.tsx
+++ b/app/components/base/icons/src/public/plugins/Wikipedia.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Wikipedia.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Wikipedia'
 
diff --git a/app/components/base/icons/src/public/plugins/index.ts b/app/components/base/icons/src/public/plugins/index.ts
index 87dc371..38c48b5 100644
--- a/app/components/base/icons/src/public/plugins/index.ts
+++ b/app/components/base/icons/src/public/plugins/index.ts
@@ -1,7 +1,3 @@
 export { default as Google } from './Google'
-export { default as PartnerDark } from './PartnerDark'
-export { default as PartnerLight } from './PartnerLight'
-export { default as VerifiedDark } from './VerifiedDark'
-export { default as VerifiedLight } from './VerifiedLight'
 export { default as WebReader } from './WebReader'
 export { default as Wikipedia } from './Wikipedia'
diff --git a/app/components/base/icons/src/public/thought/DataSet.json b/app/components/base/icons/src/public/thought/DataSet.json
index 5be61da..55952fe 100644
--- a/app/components/base/icons/src/public/thought/DataSet.json
+++ b/app/components/base/icons/src/public/thought/DataSet.json
@@ -61,4 +61,4 @@
 		]
 	},
 	"name": "DataSet"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/thought/DataSet.tsx b/app/components/base/icons/src/public/thought/DataSet.tsx
index 28c38c3..cadbbdc 100644
--- a/app/components/base/icons/src/public/thought/DataSet.tsx
+++ b/app/components/base/icons/src/public/thought/DataSet.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './DataSet.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'DataSet'
 
diff --git a/app/components/base/icons/src/public/thought/Loading.json b/app/components/base/icons/src/public/thought/Loading.json
index 23e6866..f19a3b1 100644
--- a/app/components/base/icons/src/public/thought/Loading.json
+++ b/app/components/base/icons/src/public/thought/Loading.json
@@ -61,4 +61,4 @@
 		]
 	},
 	"name": "Loading"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/thought/Loading.tsx b/app/components/base/icons/src/public/thought/Loading.tsx
index 11389b8..389f575 100644
--- a/app/components/base/icons/src/public/thought/Loading.tsx
+++ b/app/components/base/icons/src/public/thought/Loading.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Loading.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Loading'
 
diff --git a/app/components/base/icons/src/public/thought/Search.json b/app/components/base/icons/src/public/thought/Search.json
index 1ad8876..9213419 100644
--- a/app/components/base/icons/src/public/thought/Search.json
+++ b/app/components/base/icons/src/public/thought/Search.json
@@ -61,4 +61,4 @@
 		]
 	},
 	"name": "Search"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/thought/Search.tsx b/app/components/base/icons/src/public/thought/Search.tsx
index 2f469d2..0d9e9ba 100644
--- a/app/components/base/icons/src/public/thought/Search.tsx
+++ b/app/components/base/icons/src/public/thought/Search.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Search.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Search'
 
diff --git a/app/components/base/icons/src/public/thought/ThoughtList.json b/app/components/base/icons/src/public/thought/ThoughtList.json
index d5e13c3..8b97633 100644
--- a/app/components/base/icons/src/public/thought/ThoughtList.json
+++ b/app/components/base/icons/src/public/thought/ThoughtList.json
@@ -80,4 +80,4 @@
 		]
 	},
 	"name": "ThoughtList"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/thought/ThoughtList.tsx b/app/components/base/icons/src/public/thought/ThoughtList.tsx
index 99b42ae..3f4eb0a 100644
--- a/app/components/base/icons/src/public/thought/ThoughtList.tsx
+++ b/app/components/base/icons/src/public/thought/ThoughtList.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ThoughtList.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ThoughtList'
 
diff --git a/app/components/base/icons/src/public/thought/WebReader.json b/app/components/base/icons/src/public/thought/WebReader.json
index ba2bc48..ecf85d9 100644
--- a/app/components/base/icons/src/public/thought/WebReader.json
+++ b/app/components/base/icons/src/public/thought/WebReader.json
@@ -61,4 +61,4 @@
 		]
 	},
 	"name": "WebReader"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/thought/WebReader.tsx b/app/components/base/icons/src/public/thought/WebReader.tsx
index b23007d..ee7281e 100644
--- a/app/components/base/icons/src/public/thought/WebReader.tsx
+++ b/app/components/base/icons/src/public/thought/WebReader.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './WebReader.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'WebReader'
 
diff --git a/app/components/base/icons/src/public/tracing/LangfuseIcon.json b/app/components/base/icons/src/public/tracing/LangfuseIcon.json
index c2c8a73..ab0b8fb 100644
--- a/app/components/base/icons/src/public/tracing/LangfuseIcon.json
+++ b/app/components/base/icons/src/public/tracing/LangfuseIcon.json
@@ -233,4 +233,4 @@
 		]
 	},
 	"name": "LangfuseIcon"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/LangfuseIcon.tsx b/app/components/base/icons/src/public/tracing/LangfuseIcon.tsx
index 7f0f115..38e763e 100644
--- a/app/components/base/icons/src/public/tracing/LangfuseIcon.tsx
+++ b/app/components/base/icons/src/public/tracing/LangfuseIcon.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LangfuseIcon.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LangfuseIcon'
 
diff --git a/app/components/base/icons/src/public/tracing/LangfuseIconBig.json b/app/components/base/icons/src/public/tracing/LangfuseIconBig.json
index 8172de6..0fee622 100644
--- a/app/components/base/icons/src/public/tracing/LangfuseIconBig.json
+++ b/app/components/base/icons/src/public/tracing/LangfuseIconBig.json
@@ -233,4 +233,4 @@
 		]
 	},
 	"name": "LangfuseIconBig"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/LangfuseIconBig.tsx b/app/components/base/icons/src/public/tracing/LangfuseIconBig.tsx
index 69ac5aa..d1d3d00 100644
--- a/app/components/base/icons/src/public/tracing/LangfuseIconBig.tsx
+++ b/app/components/base/icons/src/public/tracing/LangfuseIconBig.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LangfuseIconBig.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LangfuseIconBig'
 
diff --git a/app/components/base/icons/src/public/tracing/LangsmithIcon.json b/app/components/base/icons/src/public/tracing/LangsmithIcon.json
index 293c4bf..04d480b 100644
--- a/app/components/base/icons/src/public/tracing/LangsmithIcon.json
+++ b/app/components/base/icons/src/public/tracing/LangsmithIcon.json
@@ -185,4 +185,4 @@
 		]
 	},
 	"name": "LangsmithIcon"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/LangsmithIcon.tsx b/app/components/base/icons/src/public/tracing/LangsmithIcon.tsx
index 696442c..5565f24 100644
--- a/app/components/base/icons/src/public/tracing/LangsmithIcon.tsx
+++ b/app/components/base/icons/src/public/tracing/LangsmithIcon.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LangsmithIcon.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LangsmithIcon'
 
diff --git a/app/components/base/icons/src/public/tracing/LangsmithIconBig.json b/app/components/base/icons/src/public/tracing/LangsmithIconBig.json
index 18b1761..4aa76ac 100644
--- a/app/components/base/icons/src/public/tracing/LangsmithIconBig.json
+++ b/app/components/base/icons/src/public/tracing/LangsmithIconBig.json
@@ -185,4 +185,4 @@
 		]
 	},
 	"name": "LangsmithIconBig"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/LangsmithIconBig.tsx b/app/components/base/icons/src/public/tracing/LangsmithIconBig.tsx
index 2e652d5..0a0f2e0 100644
--- a/app/components/base/icons/src/public/tracing/LangsmithIconBig.tsx
+++ b/app/components/base/icons/src/public/tracing/LangsmithIconBig.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LangsmithIconBig.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LangsmithIconBig'
 
diff --git a/app/components/base/icons/src/public/tracing/OpikIcon.json b/app/components/base/icons/src/public/tracing/OpikIcon.json
index c9f3ad7..5bab796 100644
--- a/app/components/base/icons/src/public/tracing/OpikIcon.json
+++ b/app/components/base/icons/src/public/tracing/OpikIcon.json
@@ -160,4 +160,4 @@
 		]
 	},
 	"name": "OpikIcon"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/OpikIcon.tsx b/app/components/base/icons/src/public/tracing/OpikIcon.tsx
index 9f114fb..4729baa 100644
--- a/app/components/base/icons/src/public/tracing/OpikIcon.tsx
+++ b/app/components/base/icons/src/public/tracing/OpikIcon.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpikIcon.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpikIcon'
 
diff --git a/app/components/base/icons/src/public/tracing/OpikIconBig.json b/app/components/base/icons/src/public/tracing/OpikIconBig.json
index 44e1e2c..1372a92 100644
--- a/app/components/base/icons/src/public/tracing/OpikIconBig.json
+++ b/app/components/base/icons/src/public/tracing/OpikIconBig.json
@@ -159,4 +159,4 @@
 		]
 	},
 	"name": "OpikIconBig"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/OpikIconBig.tsx b/app/components/base/icons/src/public/tracing/OpikIconBig.tsx
index 643312b..10b41b9 100644
--- a/app/components/base/icons/src/public/tracing/OpikIconBig.tsx
+++ b/app/components/base/icons/src/public/tracing/OpikIconBig.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './OpikIconBig.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'OpikIconBig'
 
diff --git a/app/components/base/icons/src/public/tracing/TracingIcon.json b/app/components/base/icons/src/public/tracing/TracingIcon.json
index 2157a08..508b555 100644
--- a/app/components/base/icons/src/public/tracing/TracingIcon.json
+++ b/app/components/base/icons/src/public/tracing/TracingIcon.json
@@ -44,4 +44,4 @@
 		]
 	},
 	"name": "TracingIcon"
-}
+}
\ No newline at end of file
diff --git a/app/components/base/icons/src/public/tracing/TracingIcon.tsx b/app/components/base/icons/src/public/tracing/TracingIcon.tsx
index 1f1e8d3..e24b2d0 100644
--- a/app/components/base/icons/src/public/tracing/TracingIcon.tsx
+++ b/app/components/base/icons/src/public/tracing/TracingIcon.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TracingIcon.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TracingIcon'
 
diff --git a/app/components/base/icons/src/public/tracing/index.ts b/app/components/base/icons/src/public/tracing/index.ts
index 36b59e4..09ffd54 100644
--- a/app/components/base/icons/src/public/tracing/index.ts
+++ b/app/components/base/icons/src/public/tracing/index.ts
@@ -5,5 +5,3 @@
 export { default as OpikIconBig } from './OpikIconBig'
 export { default as OpikIcon } from './OpikIcon'
 export { default as TracingIcon } from './TracingIcon'
-export { default as WeaveIconBig } from './WeaveIconBig'
-export { default as WeaveIcon } from './WeaveIcon'
diff --git a/app/components/base/icons/src/vender/features/Citations.tsx b/app/components/base/icons/src/vender/features/Citations.tsx
index 439aab6..ad1abf4 100644
--- a/app/components/base/icons/src/vender/features/Citations.tsx
+++ b/app/components/base/icons/src/vender/features/Citations.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Citations.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Citations'
 
diff --git a/app/components/base/icons/src/vender/features/ContentModeration.tsx b/app/components/base/icons/src/vender/features/ContentModeration.tsx
index baf9629..f71904e 100644
--- a/app/components/base/icons/src/vender/features/ContentModeration.tsx
+++ b/app/components/base/icons/src/vender/features/ContentModeration.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ContentModeration.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ContentModeration'
 
diff --git a/app/components/base/icons/src/vender/features/Document.tsx b/app/components/base/icons/src/vender/features/Document.tsx
index 05c0180..84bf3a2 100644
--- a/app/components/base/icons/src/vender/features/Document.tsx
+++ b/app/components/base/icons/src/vender/features/Document.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Document.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Document'
 
diff --git a/app/components/base/icons/src/vender/features/FolderUpload.tsx b/app/components/base/icons/src/vender/features/FolderUpload.tsx
index 27b38ae..fceed89 100644
--- a/app/components/base/icons/src/vender/features/FolderUpload.tsx
+++ b/app/components/base/icons/src/vender/features/FolderUpload.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FolderUpload.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FolderUpload'
 
diff --git a/app/components/base/icons/src/vender/features/LoveMessage.tsx b/app/components/base/icons/src/vender/features/LoveMessage.tsx
index c4cdcfd..55bbb59 100644
--- a/app/components/base/icons/src/vender/features/LoveMessage.tsx
+++ b/app/components/base/icons/src/vender/features/LoveMessage.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LoveMessage.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LoveMessage'
 
diff --git a/app/components/base/icons/src/vender/features/MessageFast.tsx b/app/components/base/icons/src/vender/features/MessageFast.tsx
index 45a1e77..836da90 100644
--- a/app/components/base/icons/src/vender/features/MessageFast.tsx
+++ b/app/components/base/icons/src/vender/features/MessageFast.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageFast.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageFast'
 
diff --git a/app/components/base/icons/src/vender/features/Microphone01.tsx b/app/components/base/icons/src/vender/features/Microphone01.tsx
index 37fb66a..e8125ca 100644
--- a/app/components/base/icons/src/vender/features/Microphone01.tsx
+++ b/app/components/base/icons/src/vender/features/Microphone01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Microphone01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Microphone01'
 
diff --git a/app/components/base/icons/src/vender/features/TextToAudio.tsx b/app/components/base/icons/src/vender/features/TextToAudio.tsx
index 1f94c10..b0d53b2 100644
--- a/app/components/base/icons/src/vender/features/TextToAudio.tsx
+++ b/app/components/base/icons/src/vender/features/TextToAudio.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TextToAudio.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TextToAudio'
 
diff --git a/app/components/base/icons/src/vender/features/VirtualAssistant.tsx b/app/components/base/icons/src/vender/features/VirtualAssistant.tsx
index eeb64a1..24cf5f4 100644
--- a/app/components/base/icons/src/vender/features/VirtualAssistant.tsx
+++ b/app/components/base/icons/src/vender/features/VirtualAssistant.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './VirtualAssistant.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'VirtualAssistant'
 
diff --git a/app/components/base/icons/src/vender/features/Vision.tsx b/app/components/base/icons/src/vender/features/Vision.tsx
index 7b6cbf6..1079427 100644
--- a/app/components/base/icons/src/vender/features/Vision.tsx
+++ b/app/components/base/icons/src/vender/features/Vision.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Vision.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Vision'
 
diff --git a/app/components/base/icons/src/vender/line/alertsAndFeedback/AlertTriangle.tsx b/app/components/base/icons/src/vender/line/alertsAndFeedback/AlertTriangle.tsx
index cceacb9..780f859 100644
--- a/app/components/base/icons/src/vender/line/alertsAndFeedback/AlertTriangle.tsx
+++ b/app/components/base/icons/src/vender/line/alertsAndFeedback/AlertTriangle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AlertTriangle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AlertTriangle'
 
diff --git a/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsDown.tsx b/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsDown.tsx
index f2efee6..a7d64b0 100644
--- a/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsDown.tsx
+++ b/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsDown.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ThumbsDown.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ThumbsDown'
 
diff --git a/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsUp.tsx b/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsUp.tsx
index dadd80c..39340fa 100644
--- a/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsUp.tsx
+++ b/app/components/base/icons/src/vender/line/alertsAndFeedback/ThumbsUp.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ThumbsUp.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ThumbsUp'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/ArrowNarrowLeft.tsx b/app/components/base/icons/src/vender/line/arrows/ArrowNarrowLeft.tsx
index 1c3b82e..f2ab0c7 100644
--- a/app/components/base/icons/src/vender/line/arrows/ArrowNarrowLeft.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/ArrowNarrowLeft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ArrowNarrowLeft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ArrowNarrowLeft'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/ArrowUpRight.tsx b/app/components/base/icons/src/vender/line/arrows/ArrowUpRight.tsx
index 6c3293f..188b86e 100644
--- a/app/components/base/icons/src/vender/line/arrows/ArrowUpRight.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/ArrowUpRight.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ArrowUpRight.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ArrowUpRight'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/ChevronDownDouble.tsx b/app/components/base/icons/src/vender/line/arrows/ChevronDownDouble.tsx
index aa134fa..edf1213 100644
--- a/app/components/base/icons/src/vender/line/arrows/ChevronDownDouble.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/ChevronDownDouble.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChevronDownDouble.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChevronDownDouble'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/ChevronRight.tsx b/app/components/base/icons/src/vender/line/arrows/ChevronRight.tsx
index befecea..aa9e3f7 100644
--- a/app/components/base/icons/src/vender/line/arrows/ChevronRight.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/ChevronRight.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChevronRight.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChevronRight'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/ChevronSelectorVertical.tsx b/app/components/base/icons/src/vender/line/arrows/ChevronSelectorVertical.tsx
index 7c19420..7a3711a 100644
--- a/app/components/base/icons/src/vender/line/arrows/ChevronSelectorVertical.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/ChevronSelectorVertical.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChevronSelectorVertical.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChevronSelectorVertical'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/RefreshCcw01.tsx b/app/components/base/icons/src/vender/line/arrows/RefreshCcw01.tsx
index f0caf73..959233a 100644
--- a/app/components/base/icons/src/vender/line/arrows/RefreshCcw01.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/RefreshCcw01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './RefreshCcw01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'RefreshCcw01'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/RefreshCw05.tsx b/app/components/base/icons/src/vender/line/arrows/RefreshCw05.tsx
index b426871..125ad22 100644
--- a/app/components/base/icons/src/vender/line/arrows/RefreshCw05.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/RefreshCw05.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './RefreshCw05.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'RefreshCw05'
 
diff --git a/app/components/base/icons/src/vender/line/arrows/ReverseLeft.tsx b/app/components/base/icons/src/vender/line/arrows/ReverseLeft.tsx
index 30a2e3a..3f73da3 100644
--- a/app/components/base/icons/src/vender/line/arrows/ReverseLeft.tsx
+++ b/app/components/base/icons/src/vender/line/arrows/ReverseLeft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ReverseLeft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ReverseLeft'
 
diff --git a/app/components/base/icons/src/vender/line/communication/AiText.tsx b/app/components/base/icons/src/vender/line/communication/AiText.tsx
index c1a6a24..5e156bf 100644
--- a/app/components/base/icons/src/vender/line/communication/AiText.tsx
+++ b/app/components/base/icons/src/vender/line/communication/AiText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AiText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AiText'
 
diff --git a/app/components/base/icons/src/vender/line/communication/ChatBot.tsx b/app/components/base/icons/src/vender/line/communication/ChatBot.tsx
index 867ae31..34c2cd2 100644
--- a/app/components/base/icons/src/vender/line/communication/ChatBot.tsx
+++ b/app/components/base/icons/src/vender/line/communication/ChatBot.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChatBot.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChatBot'
 
diff --git a/app/components/base/icons/src/vender/line/communication/ChatBotSlim.tsx b/app/components/base/icons/src/vender/line/communication/ChatBotSlim.tsx
index 1950a42..bcac97e 100644
--- a/app/components/base/icons/src/vender/line/communication/ChatBotSlim.tsx
+++ b/app/components/base/icons/src/vender/line/communication/ChatBotSlim.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChatBotSlim.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChatBotSlim'
 
diff --git a/app/components/base/icons/src/vender/line/communication/CuteRobot.tsx b/app/components/base/icons/src/vender/line/communication/CuteRobot.tsx
index 526bb77..4999404 100644
--- a/app/components/base/icons/src/vender/line/communication/CuteRobot.tsx
+++ b/app/components/base/icons/src/vender/line/communication/CuteRobot.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CuteRobot.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CuteRobot'
 
diff --git a/app/components/base/icons/src/vender/line/communication/MessageCheckRemove.tsx b/app/components/base/icons/src/vender/line/communication/MessageCheckRemove.tsx
index fac727b..d2805c8 100644
--- a/app/components/base/icons/src/vender/line/communication/MessageCheckRemove.tsx
+++ b/app/components/base/icons/src/vender/line/communication/MessageCheckRemove.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageCheckRemove.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageCheckRemove'
 
diff --git a/app/components/base/icons/src/vender/line/communication/MessageFastPlus.tsx b/app/components/base/icons/src/vender/line/communication/MessageFastPlus.tsx
index 4446687..03c24af 100644
--- a/app/components/base/icons/src/vender/line/communication/MessageFastPlus.tsx
+++ b/app/components/base/icons/src/vender/line/communication/MessageFastPlus.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageFastPlus.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageFastPlus'
 
diff --git a/app/components/base/icons/src/vender/line/development/ArtificialBrain.tsx b/app/components/base/icons/src/vender/line/development/ArtificialBrain.tsx
index cefb404..2df9883 100644
--- a/app/components/base/icons/src/vender/line/development/ArtificialBrain.tsx
+++ b/app/components/base/icons/src/vender/line/development/ArtificialBrain.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ArtificialBrain.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ArtificialBrain'
 
diff --git a/app/components/base/icons/src/vender/line/development/BarChartSquare02.tsx b/app/components/base/icons/src/vender/line/development/BarChartSquare02.tsx
index c8a3357..bd71c2c 100644
--- a/app/components/base/icons/src/vender/line/development/BarChartSquare02.tsx
+++ b/app/components/base/icons/src/vender/line/development/BarChartSquare02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BarChartSquare02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BarChartSquare02'
 
diff --git a/app/components/base/icons/src/vender/line/development/BracketsX.tsx b/app/components/base/icons/src/vender/line/development/BracketsX.tsx
index 84cc1d2..b701405 100644
--- a/app/components/base/icons/src/vender/line/development/BracketsX.tsx
+++ b/app/components/base/icons/src/vender/line/development/BracketsX.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BracketsX.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BracketsX'
 
diff --git a/app/components/base/icons/src/vender/line/development/CodeBrowser.tsx b/app/components/base/icons/src/vender/line/development/CodeBrowser.tsx
index fd402ed..43b40b8 100644
--- a/app/components/base/icons/src/vender/line/development/CodeBrowser.tsx
+++ b/app/components/base/icons/src/vender/line/development/CodeBrowser.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CodeBrowser.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CodeBrowser'
 
diff --git a/app/components/base/icons/src/vender/line/development/Container.tsx b/app/components/base/icons/src/vender/line/development/Container.tsx
index 2aa777a..25b2732 100644
--- a/app/components/base/icons/src/vender/line/development/Container.tsx
+++ b/app/components/base/icons/src/vender/line/development/Container.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Container.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Container'
 
diff --git a/app/components/base/icons/src/vender/line/development/Database01.tsx b/app/components/base/icons/src/vender/line/development/Database01.tsx
index 55a67f8..245cb30 100644
--- a/app/components/base/icons/src/vender/line/development/Database01.tsx
+++ b/app/components/base/icons/src/vender/line/development/Database01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Database01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Database01'
 
diff --git a/app/components/base/icons/src/vender/line/development/Database03.tsx b/app/components/base/icons/src/vender/line/development/Database03.tsx
index 012294a..0e574ac 100644
--- a/app/components/base/icons/src/vender/line/development/Database03.tsx
+++ b/app/components/base/icons/src/vender/line/development/Database03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Database03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Database03'
 
diff --git a/app/components/base/icons/src/vender/line/development/FileHeart02.tsx b/app/components/base/icons/src/vender/line/development/FileHeart02.tsx
index e918e5e..ca891fd 100644
--- a/app/components/base/icons/src/vender/line/development/FileHeart02.tsx
+++ b/app/components/base/icons/src/vender/line/development/FileHeart02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileHeart02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileHeart02'
 
diff --git a/app/components/base/icons/src/vender/line/development/GitBranch01.tsx b/app/components/base/icons/src/vender/line/development/GitBranch01.tsx
index 15343eb..e729beb 100644
--- a/app/components/base/icons/src/vender/line/development/GitBranch01.tsx
+++ b/app/components/base/icons/src/vender/line/development/GitBranch01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './GitBranch01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'GitBranch01'
 
diff --git a/app/components/base/icons/src/vender/line/development/PromptEngineering.tsx b/app/components/base/icons/src/vender/line/development/PromptEngineering.tsx
index 506e9fe..7faf461 100644
--- a/app/components/base/icons/src/vender/line/development/PromptEngineering.tsx
+++ b/app/components/base/icons/src/vender/line/development/PromptEngineering.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PromptEngineering.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PromptEngineering'
 
diff --git a/app/components/base/icons/src/vender/line/development/PuzzlePiece01.tsx b/app/components/base/icons/src/vender/line/development/PuzzlePiece01.tsx
index b62d37d..c48dee6 100644
--- a/app/components/base/icons/src/vender/line/development/PuzzlePiece01.tsx
+++ b/app/components/base/icons/src/vender/line/development/PuzzlePiece01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PuzzlePiece01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PuzzlePiece01'
 
diff --git a/app/components/base/icons/src/vender/line/development/TerminalSquare.tsx b/app/components/base/icons/src/vender/line/development/TerminalSquare.tsx
index 38575b9..add9201 100644
--- a/app/components/base/icons/src/vender/line/development/TerminalSquare.tsx
+++ b/app/components/base/icons/src/vender/line/development/TerminalSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TerminalSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TerminalSquare'
 
diff --git a/app/components/base/icons/src/vender/line/development/Variable.tsx b/app/components/base/icons/src/vender/line/development/Variable.tsx
index 3f2844a..9d80034 100644
--- a/app/components/base/icons/src/vender/line/development/Variable.tsx
+++ b/app/components/base/icons/src/vender/line/development/Variable.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Variable.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Variable'
 
diff --git a/app/components/base/icons/src/vender/line/development/Webhooks.tsx b/app/components/base/icons/src/vender/line/development/Webhooks.tsx
index 61dc207..44326e1 100644
--- a/app/components/base/icons/src/vender/line/development/Webhooks.tsx
+++ b/app/components/base/icons/src/vender/line/development/Webhooks.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Webhooks.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Webhooks'
 
diff --git a/app/components/base/icons/src/vender/line/editor/AlignLeft.tsx b/app/components/base/icons/src/vender/line/editor/AlignLeft.tsx
index 6d8c83f..4d2ade7 100644
--- a/app/components/base/icons/src/vender/line/editor/AlignLeft.tsx
+++ b/app/components/base/icons/src/vender/line/editor/AlignLeft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AlignLeft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AlignLeft'
 
diff --git a/app/components/base/icons/src/vender/line/editor/BezierCurve03.tsx b/app/components/base/icons/src/vender/line/editor/BezierCurve03.tsx
index 5bea901..0e325d2 100644
--- a/app/components/base/icons/src/vender/line/editor/BezierCurve03.tsx
+++ b/app/components/base/icons/src/vender/line/editor/BezierCurve03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BezierCurve03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BezierCurve03'
 
diff --git a/app/components/base/icons/src/vender/line/editor/Colors.tsx b/app/components/base/icons/src/vender/line/editor/Colors.tsx
index bdfe6d1..224ca11 100644
--- a/app/components/base/icons/src/vender/line/editor/Colors.tsx
+++ b/app/components/base/icons/src/vender/line/editor/Colors.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Colors.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Colors'
 
diff --git a/app/components/base/icons/src/vender/line/editor/ImageIndentLeft.tsx b/app/components/base/icons/src/vender/line/editor/ImageIndentLeft.tsx
index 957c12c..b763bac 100644
--- a/app/components/base/icons/src/vender/line/editor/ImageIndentLeft.tsx
+++ b/app/components/base/icons/src/vender/line/editor/ImageIndentLeft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ImageIndentLeft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ImageIndentLeft'
 
diff --git a/app/components/base/icons/src/vender/line/editor/LeftIndent02.tsx b/app/components/base/icons/src/vender/line/editor/LeftIndent02.tsx
index 96ae01c..0c394db 100644
--- a/app/components/base/icons/src/vender/line/editor/LeftIndent02.tsx
+++ b/app/components/base/icons/src/vender/line/editor/LeftIndent02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LeftIndent02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LeftIndent02'
 
diff --git a/app/components/base/icons/src/vender/line/editor/LetterSpacing01.tsx b/app/components/base/icons/src/vender/line/editor/LetterSpacing01.tsx
index e6bc4ce..effd85a 100644
--- a/app/components/base/icons/src/vender/line/editor/LetterSpacing01.tsx
+++ b/app/components/base/icons/src/vender/line/editor/LetterSpacing01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LetterSpacing01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LetterSpacing01'
 
diff --git a/app/components/base/icons/src/vender/line/editor/TypeSquare.tsx b/app/components/base/icons/src/vender/line/editor/TypeSquare.tsx
index 5149e12..8a44fb2 100644
--- a/app/components/base/icons/src/vender/line/editor/TypeSquare.tsx
+++ b/app/components/base/icons/src/vender/line/editor/TypeSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TypeSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TypeSquare'
 
diff --git a/app/components/base/icons/src/vender/line/editor/index.ts b/app/components/base/icons/src/vender/line/editor/index.ts
index b31c42e..f571be0 100644
--- a/app/components/base/icons/src/vender/line/editor/index.ts
+++ b/app/components/base/icons/src/vender/line/editor/index.ts
@@ -1,6 +1,5 @@
 export { default as AlignLeft } from './AlignLeft'
 export { default as BezierCurve03 } from './BezierCurve03'
-export { default as Collapse } from './Collapse'
 export { default as Colors } from './Colors'
 export { default as ImageIndentLeft } from './ImageIndentLeft'
 export { default as LeftIndent02 } from './LeftIndent02'
diff --git a/app/components/base/icons/src/vender/line/education/BookOpen01.tsx b/app/components/base/icons/src/vender/line/education/BookOpen01.tsx
index b362119..7df9e54 100644
--- a/app/components/base/icons/src/vender/line/education/BookOpen01.tsx
+++ b/app/components/base/icons/src/vender/line/education/BookOpen01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BookOpen01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BookOpen01'
 
diff --git a/app/components/base/icons/src/vender/line/files/Clipboard.tsx b/app/components/base/icons/src/vender/line/files/Clipboard.tsx
index c49d15d..31be579 100644
--- a/app/components/base/icons/src/vender/line/files/Clipboard.tsx
+++ b/app/components/base/icons/src/vender/line/files/Clipboard.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Clipboard.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Clipboard'
 
diff --git a/app/components/base/icons/src/vender/line/files/ClipboardCheck.tsx b/app/components/base/icons/src/vender/line/files/ClipboardCheck.tsx
index 586b55e..7c77b7d 100644
--- a/app/components/base/icons/src/vender/line/files/ClipboardCheck.tsx
+++ b/app/components/base/icons/src/vender/line/files/ClipboardCheck.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ClipboardCheck.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ClipboardCheck'
 
diff --git a/app/components/base/icons/src/vender/line/files/File02.tsx b/app/components/base/icons/src/vender/line/files/File02.tsx
index 8c53308..6787b60 100644
--- a/app/components/base/icons/src/vender/line/files/File02.tsx
+++ b/app/components/base/icons/src/vender/line/files/File02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './File02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'File02'
 
diff --git a/app/components/base/icons/src/vender/line/files/FileArrow01.tsx b/app/components/base/icons/src/vender/line/files/FileArrow01.tsx
index c0f4207..f3fa5c1 100644
--- a/app/components/base/icons/src/vender/line/files/FileArrow01.tsx
+++ b/app/components/base/icons/src/vender/line/files/FileArrow01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileArrow01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileArrow01'
 
diff --git a/app/components/base/icons/src/vender/line/files/FileCheck02.tsx b/app/components/base/icons/src/vender/line/files/FileCheck02.tsx
index 0bb51a3..78fa61c 100644
--- a/app/components/base/icons/src/vender/line/files/FileCheck02.tsx
+++ b/app/components/base/icons/src/vender/line/files/FileCheck02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileCheck02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileCheck02'
 
diff --git a/app/components/base/icons/src/vender/line/files/FileDownload02.tsx b/app/components/base/icons/src/vender/line/files/FileDownload02.tsx
index 5dac794..6457fa2 100644
--- a/app/components/base/icons/src/vender/line/files/FileDownload02.tsx
+++ b/app/components/base/icons/src/vender/line/files/FileDownload02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileDownload02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileDownload02'
 
diff --git a/app/components/base/icons/src/vender/line/files/FilePlus01.tsx b/app/components/base/icons/src/vender/line/files/FilePlus01.tsx
index d33f4b5..fdb978e 100644
--- a/app/components/base/icons/src/vender/line/files/FilePlus01.tsx
+++ b/app/components/base/icons/src/vender/line/files/FilePlus01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FilePlus01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FilePlus01'
 
diff --git a/app/components/base/icons/src/vender/line/files/FilePlus02.tsx b/app/components/base/icons/src/vender/line/files/FilePlus02.tsx
index 5405325..6ca14b0 100644
--- a/app/components/base/icons/src/vender/line/files/FilePlus02.tsx
+++ b/app/components/base/icons/src/vender/line/files/FilePlus02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FilePlus02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FilePlus02'
 
diff --git a/app/components/base/icons/src/vender/line/files/FileText.tsx b/app/components/base/icons/src/vender/line/files/FileText.tsx
index 9c64082..77ed228 100644
--- a/app/components/base/icons/src/vender/line/files/FileText.tsx
+++ b/app/components/base/icons/src/vender/line/files/FileText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileText'
 
diff --git a/app/components/base/icons/src/vender/line/files/FileUpload.tsx b/app/components/base/icons/src/vender/line/files/FileUpload.tsx
index 2e3143d..379e112 100644
--- a/app/components/base/icons/src/vender/line/files/FileUpload.tsx
+++ b/app/components/base/icons/src/vender/line/files/FileUpload.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileUpload.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileUpload'
 
diff --git a/app/components/base/icons/src/vender/line/files/Folder.tsx b/app/components/base/icons/src/vender/line/files/Folder.tsx
index e7a3fdf..1914bf6 100644
--- a/app/components/base/icons/src/vender/line/files/Folder.tsx
+++ b/app/components/base/icons/src/vender/line/files/Folder.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Folder.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Folder'
 
diff --git a/app/components/base/icons/src/vender/line/financeAndECommerce/Balance.tsx b/app/components/base/icons/src/vender/line/financeAndECommerce/Balance.tsx
index f2d4b1b..7743f0b 100644
--- a/app/components/base/icons/src/vender/line/financeAndECommerce/Balance.tsx
+++ b/app/components/base/icons/src/vender/line/financeAndECommerce/Balance.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Balance.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Balance'
 
diff --git a/app/components/base/icons/src/vender/line/financeAndECommerce/CoinsStacked01.tsx b/app/components/base/icons/src/vender/line/financeAndECommerce/CoinsStacked01.tsx
index 7eb20ed..0c550a0 100644
--- a/app/components/base/icons/src/vender/line/financeAndECommerce/CoinsStacked01.tsx
+++ b/app/components/base/icons/src/vender/line/financeAndECommerce/CoinsStacked01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CoinsStacked01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CoinsStacked01'
 
diff --git a/app/components/base/icons/src/vender/line/financeAndECommerce/GoldCoin.tsx b/app/components/base/icons/src/vender/line/financeAndECommerce/GoldCoin.tsx
index d912a6b..a91dc1d 100644
--- a/app/components/base/icons/src/vender/line/financeAndECommerce/GoldCoin.tsx
+++ b/app/components/base/icons/src/vender/line/financeAndECommerce/GoldCoin.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './GoldCoin.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'GoldCoin'
 
diff --git a/app/components/base/icons/src/vender/line/financeAndECommerce/ReceiptList.tsx b/app/components/base/icons/src/vender/line/financeAndECommerce/ReceiptList.tsx
index e96aced..a87c75f 100644
--- a/app/components/base/icons/src/vender/line/financeAndECommerce/ReceiptList.tsx
+++ b/app/components/base/icons/src/vender/line/financeAndECommerce/ReceiptList.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ReceiptList.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ReceiptList'
 
diff --git a/app/components/base/icons/src/vender/line/financeAndECommerce/Tag01.tsx b/app/components/base/icons/src/vender/line/financeAndECommerce/Tag01.tsx
index c8b1ce2..1af1ac6 100644
--- a/app/components/base/icons/src/vender/line/financeAndECommerce/Tag01.tsx
+++ b/app/components/base/icons/src/vender/line/financeAndECommerce/Tag01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Tag01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Tag01'
 
diff --git a/app/components/base/icons/src/vender/line/financeAndECommerce/Tag03.tsx b/app/components/base/icons/src/vender/line/financeAndECommerce/Tag03.tsx
index c0ec1bb..654ea5c 100644
--- a/app/components/base/icons/src/vender/line/financeAndECommerce/Tag03.tsx
+++ b/app/components/base/icons/src/vender/line/financeAndECommerce/Tag03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Tag03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Tag03'
 
diff --git a/app/components/base/icons/src/vender/line/general/AtSign.tsx b/app/components/base/icons/src/vender/line/general/AtSign.tsx
index 44c972b..18693d5 100644
--- a/app/components/base/icons/src/vender/line/general/AtSign.tsx
+++ b/app/components/base/icons/src/vender/line/general/AtSign.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AtSign.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AtSign'
 
diff --git a/app/components/base/icons/src/vender/line/general/Bookmark.tsx b/app/components/base/icons/src/vender/line/general/Bookmark.tsx
index 6708376..587a17a 100644
--- a/app/components/base/icons/src/vender/line/general/Bookmark.tsx
+++ b/app/components/base/icons/src/vender/line/general/Bookmark.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Bookmark.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Bookmark'
 
diff --git a/app/components/base/icons/src/vender/line/general/Check.tsx b/app/components/base/icons/src/vender/line/general/Check.tsx
index babd202..e10a3e2 100644
--- a/app/components/base/icons/src/vender/line/general/Check.tsx
+++ b/app/components/base/icons/src/vender/line/general/Check.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Check.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Check'
 
diff --git a/app/components/base/icons/src/vender/line/general/CheckDone01.tsx b/app/components/base/icons/src/vender/line/general/CheckDone01.tsx
index c7e7d80..5b52deb 100644
--- a/app/components/base/icons/src/vender/line/general/CheckDone01.tsx
+++ b/app/components/base/icons/src/vender/line/general/CheckDone01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CheckDone01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CheckDone01'
 
diff --git a/app/components/base/icons/src/vender/line/general/ChecklistSquare.tsx b/app/components/base/icons/src/vender/line/general/ChecklistSquare.tsx
index 8fb72f0..6dc7c67 100644
--- a/app/components/base/icons/src/vender/line/general/ChecklistSquare.tsx
+++ b/app/components/base/icons/src/vender/line/general/ChecklistSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChecklistSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChecklistSquare'
 
diff --git a/app/components/base/icons/src/vender/line/general/DotsGrid.tsx b/app/components/base/icons/src/vender/line/general/DotsGrid.tsx
index fb272fd..232c8a6 100644
--- a/app/components/base/icons/src/vender/line/general/DotsGrid.tsx
+++ b/app/components/base/icons/src/vender/line/general/DotsGrid.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './DotsGrid.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'DotsGrid'
 
diff --git a/app/components/base/icons/src/vender/line/general/Edit02.tsx b/app/components/base/icons/src/vender/line/general/Edit02.tsx
index 10ba0f5..47e7b39 100644
--- a/app/components/base/icons/src/vender/line/general/Edit02.tsx
+++ b/app/components/base/icons/src/vender/line/general/Edit02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Edit02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Edit02'
 
diff --git a/app/components/base/icons/src/vender/line/general/Edit04.tsx b/app/components/base/icons/src/vender/line/general/Edit04.tsx
index 5e436c0..d918872 100644
--- a/app/components/base/icons/src/vender/line/general/Edit04.tsx
+++ b/app/components/base/icons/src/vender/line/general/Edit04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Edit04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Edit04'
 
diff --git a/app/components/base/icons/src/vender/line/general/Edit05.tsx b/app/components/base/icons/src/vender/line/general/Edit05.tsx
index f6904bb..d62ade7 100644
--- a/app/components/base/icons/src/vender/line/general/Edit05.tsx
+++ b/app/components/base/icons/src/vender/line/general/Edit05.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Edit05.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Edit05'
 
diff --git a/app/components/base/icons/src/vender/line/general/Hash02.tsx b/app/components/base/icons/src/vender/line/general/Hash02.tsx
index fa8bdfb..5588169 100644
--- a/app/components/base/icons/src/vender/line/general/Hash02.tsx
+++ b/app/components/base/icons/src/vender/line/general/Hash02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Hash02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Hash02'
 
diff --git a/app/components/base/icons/src/vender/line/general/InfoCircle.tsx b/app/components/base/icons/src/vender/line/general/InfoCircle.tsx
index 3f1d59a..957c5fa 100644
--- a/app/components/base/icons/src/vender/line/general/InfoCircle.tsx
+++ b/app/components/base/icons/src/vender/line/general/InfoCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './InfoCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'InfoCircle'
 
diff --git a/app/components/base/icons/src/vender/line/general/Link03.tsx b/app/components/base/icons/src/vender/line/general/Link03.tsx
index 1a0c3e1..f447a1c 100644
--- a/app/components/base/icons/src/vender/line/general/Link03.tsx
+++ b/app/components/base/icons/src/vender/line/general/Link03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Link03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Link03'
 
diff --git a/app/components/base/icons/src/vender/line/general/LinkExternal02.tsx b/app/components/base/icons/src/vender/line/general/LinkExternal02.tsx
index 58d502d..e18e892 100644
--- a/app/components/base/icons/src/vender/line/general/LinkExternal02.tsx
+++ b/app/components/base/icons/src/vender/line/general/LinkExternal02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LinkExternal02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LinkExternal02'
 
diff --git a/app/components/base/icons/src/vender/line/general/LogIn04.tsx b/app/components/base/icons/src/vender/line/general/LogIn04.tsx
index 6d2fbfc..14c3fa1 100644
--- a/app/components/base/icons/src/vender/line/general/LogIn04.tsx
+++ b/app/components/base/icons/src/vender/line/general/LogIn04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LogIn04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LogIn04'
 
diff --git a/app/components/base/icons/src/vender/line/general/LogOut01.tsx b/app/components/base/icons/src/vender/line/general/LogOut01.tsx
index 12b83b2..816d933 100644
--- a/app/components/base/icons/src/vender/line/general/LogOut01.tsx
+++ b/app/components/base/icons/src/vender/line/general/LogOut01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LogOut01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LogOut01'
 
diff --git a/app/components/base/icons/src/vender/line/general/LogOut04.tsx b/app/components/base/icons/src/vender/line/general/LogOut04.tsx
index 2a73cb4..954b90e 100644
--- a/app/components/base/icons/src/vender/line/general/LogOut04.tsx
+++ b/app/components/base/icons/src/vender/line/general/LogOut04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LogOut04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LogOut04'
 
diff --git a/app/components/base/icons/src/vender/line/general/Menu01.tsx b/app/components/base/icons/src/vender/line/general/Menu01.tsx
index 3ef0904..0cd6816 100644
--- a/app/components/base/icons/src/vender/line/general/Menu01.tsx
+++ b/app/components/base/icons/src/vender/line/general/Menu01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Menu01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Menu01'
 
diff --git a/app/components/base/icons/src/vender/line/general/Pin01.tsx b/app/components/base/icons/src/vender/line/general/Pin01.tsx
index fc0aa4f..fb44fcc 100644
--- a/app/components/base/icons/src/vender/line/general/Pin01.tsx
+++ b/app/components/base/icons/src/vender/line/general/Pin01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Pin01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Pin01'
 
diff --git a/app/components/base/icons/src/vender/line/general/Pin02.tsx b/app/components/base/icons/src/vender/line/general/Pin02.tsx
index e1b1853..e5c4b7c 100644
--- a/app/components/base/icons/src/vender/line/general/Pin02.tsx
+++ b/app/components/base/icons/src/vender/line/general/Pin02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Pin02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Pin02'
 
diff --git a/app/components/base/icons/src/vender/line/general/Plus02.tsx b/app/components/base/icons/src/vender/line/general/Plus02.tsx
index 6e7920f..5bc02de 100644
--- a/app/components/base/icons/src/vender/line/general/Plus02.tsx
+++ b/app/components/base/icons/src/vender/line/general/Plus02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Plus02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Plus02'
 
diff --git a/app/components/base/icons/src/vender/line/general/Refresh.tsx b/app/components/base/icons/src/vender/line/general/Refresh.tsx
index 0d51f21..96641f1 100644
--- a/app/components/base/icons/src/vender/line/general/Refresh.tsx
+++ b/app/components/base/icons/src/vender/line/general/Refresh.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Refresh.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Refresh'
 
diff --git a/app/components/base/icons/src/vender/line/general/Settings01.tsx b/app/components/base/icons/src/vender/line/general/Settings01.tsx
index 77d4b7a..dcfbfcc 100644
--- a/app/components/base/icons/src/vender/line/general/Settings01.tsx
+++ b/app/components/base/icons/src/vender/line/general/Settings01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Settings01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Settings01'
 
diff --git a/app/components/base/icons/src/vender/line/general/Settings04.tsx b/app/components/base/icons/src/vender/line/general/Settings04.tsx
index cb475fa..f938d29 100644
--- a/app/components/base/icons/src/vender/line/general/Settings04.tsx
+++ b/app/components/base/icons/src/vender/line/general/Settings04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Settings04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Settings04'
 
diff --git a/app/components/base/icons/src/vender/line/general/Target04.tsx b/app/components/base/icons/src/vender/line/general/Target04.tsx
index d2d04f9..17901f5 100644
--- a/app/components/base/icons/src/vender/line/general/Target04.tsx
+++ b/app/components/base/icons/src/vender/line/general/Target04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Target04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Target04'
 
diff --git a/app/components/base/icons/src/vender/line/general/Upload03.tsx b/app/components/base/icons/src/vender/line/general/Upload03.tsx
index e62e5d7..3acbead 100644
--- a/app/components/base/icons/src/vender/line/general/Upload03.tsx
+++ b/app/components/base/icons/src/vender/line/general/Upload03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Upload03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Upload03'
 
diff --git a/app/components/base/icons/src/vender/line/general/UploadCloud01.tsx b/app/components/base/icons/src/vender/line/general/UploadCloud01.tsx
index 413c36e..1bfb145 100644
--- a/app/components/base/icons/src/vender/line/general/UploadCloud01.tsx
+++ b/app/components/base/icons/src/vender/line/general/UploadCloud01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './UploadCloud01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'UploadCloud01'
 
diff --git a/app/components/base/icons/src/vender/line/general/X.tsx b/app/components/base/icons/src/vender/line/general/X.tsx
index 779f4cd..654dfe2 100644
--- a/app/components/base/icons/src/vender/line/general/X.tsx
+++ b/app/components/base/icons/src/vender/line/general/X.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './X.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'X'
 
diff --git a/app/components/base/icons/src/vender/line/images/ImagePlus.tsx b/app/components/base/icons/src/vender/line/images/ImagePlus.tsx
index bd5a921..ea1f67f 100644
--- a/app/components/base/icons/src/vender/line/images/ImagePlus.tsx
+++ b/app/components/base/icons/src/vender/line/images/ImagePlus.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ImagePlus.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ImagePlus'
 
diff --git a/app/components/base/icons/src/vender/line/layout/AlignLeft01.tsx b/app/components/base/icons/src/vender/line/layout/AlignLeft01.tsx
index 0aad9be..bc32d71 100644
--- a/app/components/base/icons/src/vender/line/layout/AlignLeft01.tsx
+++ b/app/components/base/icons/src/vender/line/layout/AlignLeft01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AlignLeft01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AlignLeft01'
 
diff --git a/app/components/base/icons/src/vender/line/layout/AlignRight01.tsx b/app/components/base/icons/src/vender/line/layout/AlignRight01.tsx
index 486ba7b..8ccaae9 100644
--- a/app/components/base/icons/src/vender/line/layout/AlignRight01.tsx
+++ b/app/components/base/icons/src/vender/line/layout/AlignRight01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AlignRight01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AlignRight01'
 
diff --git a/app/components/base/icons/src/vender/line/layout/Grid01.tsx b/app/components/base/icons/src/vender/line/layout/Grid01.tsx
index 5638f3c..c823ec6 100644
--- a/app/components/base/icons/src/vender/line/layout/Grid01.tsx
+++ b/app/components/base/icons/src/vender/line/layout/Grid01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Grid01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Grid01'
 
diff --git a/app/components/base/icons/src/vender/line/layout/LayoutGrid02.tsx b/app/components/base/icons/src/vender/line/layout/LayoutGrid02.tsx
index f718a66..4613112 100644
--- a/app/components/base/icons/src/vender/line/layout/LayoutGrid02.tsx
+++ b/app/components/base/icons/src/vender/line/layout/LayoutGrid02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LayoutGrid02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LayoutGrid02'
 
diff --git a/app/components/base/icons/src/vender/line/mapsAndTravel/Globe01.tsx b/app/components/base/icons/src/vender/line/mapsAndTravel/Globe01.tsx
index 445fde6..2c3f5b5 100644
--- a/app/components/base/icons/src/vender/line/mapsAndTravel/Globe01.tsx
+++ b/app/components/base/icons/src/vender/line/mapsAndTravel/Globe01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Globe01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Globe01'
 
diff --git a/app/components/base/icons/src/vender/line/mapsAndTravel/Route.tsx b/app/components/base/icons/src/vender/line/mapsAndTravel/Route.tsx
index f81fb61..9c30a7c 100644
--- a/app/components/base/icons/src/vender/line/mapsAndTravel/Route.tsx
+++ b/app/components/base/icons/src/vender/line/mapsAndTravel/Route.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Route.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Route'
 
diff --git a/app/components/base/icons/src/vender/line/mediaAndDevices/Microphone01.tsx b/app/components/base/icons/src/vender/line/mediaAndDevices/Microphone01.tsx
index 37fb66a..e8125ca 100644
--- a/app/components/base/icons/src/vender/line/mediaAndDevices/Microphone01.tsx
+++ b/app/components/base/icons/src/vender/line/mediaAndDevices/Microphone01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Microphone01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Microphone01'
 
diff --git a/app/components/base/icons/src/vender/line/mediaAndDevices/PlayCircle.tsx b/app/components/base/icons/src/vender/line/mediaAndDevices/PlayCircle.tsx
index 3298fe3..733d382 100644
--- a/app/components/base/icons/src/vender/line/mediaAndDevices/PlayCircle.tsx
+++ b/app/components/base/icons/src/vender/line/mediaAndDevices/PlayCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PlayCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PlayCircle'
 
diff --git a/app/components/base/icons/src/vender/line/mediaAndDevices/SlidersH.tsx b/app/components/base/icons/src/vender/line/mediaAndDevices/SlidersH.tsx
index f5649c4..ad5787f 100644
--- a/app/components/base/icons/src/vender/line/mediaAndDevices/SlidersH.tsx
+++ b/app/components/base/icons/src/vender/line/mediaAndDevices/SlidersH.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './SlidersH.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'SlidersH'
 
diff --git a/app/components/base/icons/src/vender/line/mediaAndDevices/Speaker.tsx b/app/components/base/icons/src/vender/line/mediaAndDevices/Speaker.tsx
index 0cf9364..a33b9eb 100644
--- a/app/components/base/icons/src/vender/line/mediaAndDevices/Speaker.tsx
+++ b/app/components/base/icons/src/vender/line/mediaAndDevices/Speaker.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Speaker.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Speaker'
 
diff --git a/app/components/base/icons/src/vender/line/mediaAndDevices/Stop.tsx b/app/components/base/icons/src/vender/line/mediaAndDevices/Stop.tsx
index 3b5d84b..e501aac 100644
--- a/app/components/base/icons/src/vender/line/mediaAndDevices/Stop.tsx
+++ b/app/components/base/icons/src/vender/line/mediaAndDevices/Stop.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Stop.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Stop'
 
diff --git a/app/components/base/icons/src/vender/line/mediaAndDevices/StopCircle.tsx b/app/components/base/icons/src/vender/line/mediaAndDevices/StopCircle.tsx
index 84430c3..6022e6b 100644
--- a/app/components/base/icons/src/vender/line/mediaAndDevices/StopCircle.tsx
+++ b/app/components/base/icons/src/vender/line/mediaAndDevices/StopCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './StopCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'StopCircle'
 
diff --git a/app/components/base/icons/src/vender/line/others/Apps02.tsx b/app/components/base/icons/src/vender/line/others/Apps02.tsx
index 070cc28..42109d8 100644
--- a/app/components/base/icons/src/vender/line/others/Apps02.tsx
+++ b/app/components/base/icons/src/vender/line/others/Apps02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Apps02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Apps02'
 
diff --git a/app/components/base/icons/src/vender/line/others/BubbleX.tsx b/app/components/base/icons/src/vender/line/others/BubbleX.tsx
index 80d4331..7d78bd3 100644
--- a/app/components/base/icons/src/vender/line/others/BubbleX.tsx
+++ b/app/components/base/icons/src/vender/line/others/BubbleX.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BubbleX.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BubbleX'
 
diff --git a/app/components/base/icons/src/vender/line/others/Colors.tsx b/app/components/base/icons/src/vender/line/others/Colors.tsx
index bdfe6d1..224ca11 100644
--- a/app/components/base/icons/src/vender/line/others/Colors.tsx
+++ b/app/components/base/icons/src/vender/line/others/Colors.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Colors.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Colors'
 
diff --git a/app/components/base/icons/src/vender/line/others/DragHandle.tsx b/app/components/base/icons/src/vender/line/others/DragHandle.tsx
index 495c29c..b9606ca 100644
--- a/app/components/base/icons/src/vender/line/others/DragHandle.tsx
+++ b/app/components/base/icons/src/vender/line/others/DragHandle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './DragHandle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'DragHandle'
 
diff --git a/app/components/base/icons/src/vender/line/others/Env.tsx b/app/components/base/icons/src/vender/line/others/Env.tsx
index fbfc3a7..356a5f6 100644
--- a/app/components/base/icons/src/vender/line/others/Env.tsx
+++ b/app/components/base/icons/src/vender/line/others/Env.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Env.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Env'
 
diff --git a/app/components/base/icons/src/vender/line/others/Exchange02.tsx b/app/components/base/icons/src/vender/line/others/Exchange02.tsx
index 782a3fc..36fa63e 100644
--- a/app/components/base/icons/src/vender/line/others/Exchange02.tsx
+++ b/app/components/base/icons/src/vender/line/others/Exchange02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Exchange02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Exchange02'
 
diff --git a/app/components/base/icons/src/vender/line/others/FileCode.tsx b/app/components/base/icons/src/vender/line/others/FileCode.tsx
index 10df81b..c050f36 100644
--- a/app/components/base/icons/src/vender/line/others/FileCode.tsx
+++ b/app/components/base/icons/src/vender/line/others/FileCode.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileCode.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileCode'
 
diff --git a/app/components/base/icons/src/vender/line/others/GlobalVariable.tsx b/app/components/base/icons/src/vender/line/others/GlobalVariable.tsx
index 7758863..4a8c475 100644
--- a/app/components/base/icons/src/vender/line/others/GlobalVariable.tsx
+++ b/app/components/base/icons/src/vender/line/others/GlobalVariable.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './GlobalVariable.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'GlobalVariable'
 
diff --git a/app/components/base/icons/src/vender/line/others/Icon3Dots.tsx b/app/components/base/icons/src/vender/line/others/Icon3Dots.tsx
index bcc2cee..1f9eb76 100644
--- a/app/components/base/icons/src/vender/line/others/Icon3Dots.tsx
+++ b/app/components/base/icons/src/vender/line/others/Icon3Dots.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Icon3Dots.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Icon3Dots'
 
diff --git a/app/components/base/icons/src/vender/line/others/LongArrowLeft.tsx b/app/components/base/icons/src/vender/line/others/LongArrowLeft.tsx
index 997201b..930ced5 100644
--- a/app/components/base/icons/src/vender/line/others/LongArrowLeft.tsx
+++ b/app/components/base/icons/src/vender/line/others/LongArrowLeft.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LongArrowLeft.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LongArrowLeft'
 
diff --git a/app/components/base/icons/src/vender/line/others/LongArrowRight.tsx b/app/components/base/icons/src/vender/line/others/LongArrowRight.tsx
index 42732f9..3c9084c 100644
--- a/app/components/base/icons/src/vender/line/others/LongArrowRight.tsx
+++ b/app/components/base/icons/src/vender/line/others/LongArrowRight.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './LongArrowRight.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'LongArrowRight'
 
diff --git a/app/components/base/icons/src/vender/line/others/Tools.tsx b/app/components/base/icons/src/vender/line/others/Tools.tsx
index 6d02329..c46b8bc 100644
--- a/app/components/base/icons/src/vender/line/others/Tools.tsx
+++ b/app/components/base/icons/src/vender/line/others/Tools.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Tools.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Tools'
 
diff --git a/app/components/base/icons/src/vender/line/shapes/CubeOutline.tsx b/app/components/base/icons/src/vender/line/shapes/CubeOutline.tsx
index 40e0df2..647b545 100644
--- a/app/components/base/icons/src/vender/line/shapes/CubeOutline.tsx
+++ b/app/components/base/icons/src/vender/line/shapes/CubeOutline.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CubeOutline.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CubeOutline'
 
diff --git a/app/components/base/icons/src/vender/line/time/ClockFastForward.tsx b/app/components/base/icons/src/vender/line/time/ClockFastForward.tsx
index e520c5a..6bcf1d4 100644
--- a/app/components/base/icons/src/vender/line/time/ClockFastForward.tsx
+++ b/app/components/base/icons/src/vender/line/time/ClockFastForward.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ClockFastForward.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ClockFastForward'
 
diff --git a/app/components/base/icons/src/vender/line/time/ClockPlay.tsx b/app/components/base/icons/src/vender/line/time/ClockPlay.tsx
index a86756a..f3ddfee 100644
--- a/app/components/base/icons/src/vender/line/time/ClockPlay.tsx
+++ b/app/components/base/icons/src/vender/line/time/ClockPlay.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ClockPlay.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ClockPlay'
 
diff --git a/app/components/base/icons/src/vender/line/time/ClockPlaySlim.tsx b/app/components/base/icons/src/vender/line/time/ClockPlaySlim.tsx
index 47e917b..9f90df7 100644
--- a/app/components/base/icons/src/vender/line/time/ClockPlaySlim.tsx
+++ b/app/components/base/icons/src/vender/line/time/ClockPlaySlim.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ClockPlaySlim.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ClockPlaySlim'
 
diff --git a/app/components/base/icons/src/vender/line/time/ClockRefresh.tsx b/app/components/base/icons/src/vender/line/time/ClockRefresh.tsx
index 31e3a9c..e53a816 100644
--- a/app/components/base/icons/src/vender/line/time/ClockRefresh.tsx
+++ b/app/components/base/icons/src/vender/line/time/ClockRefresh.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ClockRefresh.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ClockRefresh'
 
diff --git a/app/components/base/icons/src/vender/line/users/User01.tsx b/app/components/base/icons/src/vender/line/users/User01.tsx
index 24fd0df..1bb3c6a 100644
--- a/app/components/base/icons/src/vender/line/users/User01.tsx
+++ b/app/components/base/icons/src/vender/line/users/User01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './User01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'User01'
 
diff --git a/app/components/base/icons/src/vender/line/users/Users01.tsx b/app/components/base/icons/src/vender/line/users/Users01.tsx
index f26ff03..29300a9 100644
--- a/app/components/base/icons/src/vender/line/users/Users01.tsx
+++ b/app/components/base/icons/src/vender/line/users/Users01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Users01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Users01'
 
diff --git a/app/components/base/icons/src/vender/line/weather/Stars02.tsx b/app/components/base/icons/src/vender/line/weather/Stars02.tsx
index ad24f6c..606ab51 100644
--- a/app/components/base/icons/src/vender/line/weather/Stars02.tsx
+++ b/app/components/base/icons/src/vender/line/weather/Stars02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Stars02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Stars02'
 
diff --git a/app/components/base/icons/src/vender/other/Generator.tsx b/app/components/base/icons/src/vender/other/Generator.tsx
index cba3904..1dc19f5 100644
--- a/app/components/base/icons/src/vender/other/Generator.tsx
+++ b/app/components/base/icons/src/vender/other/Generator.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Generator.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Generator'
 
diff --git a/app/components/base/icons/src/vender/other/ReplayLine.tsx b/app/components/base/icons/src/vender/other/ReplayLine.tsx
index 29f7137..7dabfc7 100644
--- a/app/components/base/icons/src/vender/other/ReplayLine.tsx
+++ b/app/components/base/icons/src/vender/other/ReplayLine.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ReplayLine.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ReplayLine'
 
diff --git a/app/components/base/icons/src/vender/other/index.ts b/app/components/base/icons/src/vender/other/index.ts
index 8ddf5e7..1982dcf 100644
--- a/app/components/base/icons/src/vender/other/index.ts
+++ b/app/components/base/icons/src/vender/other/index.ts
@@ -1,5 +1,2 @@
-export { default as AnthropicText } from './AnthropicText'
 export { default as Generator } from './Generator'
-export { default as Group } from './Group'
-export { default as Openai } from './Openai'
 export { default as ReplayLine } from './ReplayLine'
diff --git a/app/components/base/icons/src/vender/solid/FinanceAndECommerce/GoldCoin.tsx b/app/components/base/icons/src/vender/solid/FinanceAndECommerce/GoldCoin.tsx
index d912a6b..a91dc1d 100644
--- a/app/components/base/icons/src/vender/solid/FinanceAndECommerce/GoldCoin.tsx
+++ b/app/components/base/icons/src/vender/solid/FinanceAndECommerce/GoldCoin.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './GoldCoin.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'GoldCoin'
 
diff --git a/app/components/base/icons/src/vender/solid/FinanceAndECommerce/Scales02.tsx b/app/components/base/icons/src/vender/solid/FinanceAndECommerce/Scales02.tsx
index 5a4ad8b..1df91e7 100644
--- a/app/components/base/icons/src/vender/solid/FinanceAndECommerce/Scales02.tsx
+++ b/app/components/base/icons/src/vender/solid/FinanceAndECommerce/Scales02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Scales02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Scales02'
 
diff --git a/app/components/base/icons/src/vender/solid/alertsAndFeedback/AlertTriangle.tsx b/app/components/base/icons/src/vender/solid/alertsAndFeedback/AlertTriangle.tsx
index cceacb9..780f859 100644
--- a/app/components/base/icons/src/vender/solid/alertsAndFeedback/AlertTriangle.tsx
+++ b/app/components/base/icons/src/vender/solid/alertsAndFeedback/AlertTriangle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AlertTriangle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AlertTriangle'
 
diff --git a/app/components/base/icons/src/vender/solid/arrows/ChevronDown.tsx b/app/components/base/icons/src/vender/solid/arrows/ChevronDown.tsx
index e08b7db..9419fe1 100644
--- a/app/components/base/icons/src/vender/solid/arrows/ChevronDown.tsx
+++ b/app/components/base/icons/src/vender/solid/arrows/ChevronDown.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChevronDown.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChevronDown'
 
diff --git a/app/components/base/icons/src/vender/solid/arrows/HighPriority.tsx b/app/components/base/icons/src/vender/solid/arrows/HighPriority.tsx
index 4d25be2..1facf6f 100644
--- a/app/components/base/icons/src/vender/solid/arrows/HighPriority.tsx
+++ b/app/components/base/icons/src/vender/solid/arrows/HighPriority.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './HighPriority.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'HighPriority'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/AiText.tsx b/app/components/base/icons/src/vender/solid/communication/AiText.tsx
index c1a6a24..5e156bf 100644
--- a/app/components/base/icons/src/vender/solid/communication/AiText.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/AiText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AiText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AiText'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/BubbleTextMod.tsx b/app/components/base/icons/src/vender/solid/communication/BubbleTextMod.tsx
index da3ed73..9440842 100644
--- a/app/components/base/icons/src/vender/solid/communication/BubbleTextMod.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/BubbleTextMod.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BubbleTextMod.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BubbleTextMod'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/ChatBot.tsx b/app/components/base/icons/src/vender/solid/communication/ChatBot.tsx
index 867ae31..34c2cd2 100644
--- a/app/components/base/icons/src/vender/solid/communication/ChatBot.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/ChatBot.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ChatBot.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ChatBot'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/CuteRobot.tsx b/app/components/base/icons/src/vender/solid/communication/CuteRobot.tsx
index 526bb77..4999404 100644
--- a/app/components/base/icons/src/vender/solid/communication/CuteRobot.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/CuteRobot.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CuteRobot.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CuteRobot'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/EditList.tsx b/app/components/base/icons/src/vender/solid/communication/EditList.tsx
index 09fce2c..32eb8a7 100644
--- a/app/components/base/icons/src/vender/solid/communication/EditList.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/EditList.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './EditList.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'EditList'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/ListSparkle.tsx b/app/components/base/icons/src/vender/solid/communication/ListSparkle.tsx
index b42b769..f616009 100644
--- a/app/components/base/icons/src/vender/solid/communication/ListSparkle.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/ListSparkle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ListSparkle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ListSparkle'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/Logic.tsx b/app/components/base/icons/src/vender/solid/communication/Logic.tsx
index 695b341..7aae28b 100644
--- a/app/components/base/icons/src/vender/solid/communication/Logic.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/Logic.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Logic.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Logic'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/MessageDotsCircle.tsx b/app/components/base/icons/src/vender/solid/communication/MessageDotsCircle.tsx
index 08431ea..8cea978 100644
--- a/app/components/base/icons/src/vender/solid/communication/MessageDotsCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/MessageDotsCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageDotsCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageDotsCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/MessageFast.tsx b/app/components/base/icons/src/vender/solid/communication/MessageFast.tsx
index 45a1e77..836da90 100644
--- a/app/components/base/icons/src/vender/solid/communication/MessageFast.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/MessageFast.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageFast.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageFast'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/MessageHeartCircle.tsx b/app/components/base/icons/src/vender/solid/communication/MessageHeartCircle.tsx
index 0894581..ce90c47 100644
--- a/app/components/base/icons/src/vender/solid/communication/MessageHeartCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/MessageHeartCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageHeartCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageHeartCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/MessageSmileSquare.tsx b/app/components/base/icons/src/vender/solid/communication/MessageSmileSquare.tsx
index ece3080..1dfb106 100644
--- a/app/components/base/icons/src/vender/solid/communication/MessageSmileSquare.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/MessageSmileSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageSmileSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageSmileSquare'
 
diff --git a/app/components/base/icons/src/vender/solid/communication/Send03.tsx b/app/components/base/icons/src/vender/solid/communication/Send03.tsx
index 7e23d70..8590fa6 100644
--- a/app/components/base/icons/src/vender/solid/communication/Send03.tsx
+++ b/app/components/base/icons/src/vender/solid/communication/Send03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Send03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Send03'
 
diff --git a/app/components/base/icons/src/vender/solid/development/ApiConnection.tsx b/app/components/base/icons/src/vender/solid/development/ApiConnection.tsx
index 7001163..97506ed 100644
--- a/app/components/base/icons/src/vender/solid/development/ApiConnection.tsx
+++ b/app/components/base/icons/src/vender/solid/development/ApiConnection.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ApiConnection.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ApiConnection'
 
diff --git a/app/components/base/icons/src/vender/solid/development/ApiConnectionMod.tsx b/app/components/base/icons/src/vender/solid/development/ApiConnectionMod.tsx
index fb741f0..f88431a 100644
--- a/app/components/base/icons/src/vender/solid/development/ApiConnectionMod.tsx
+++ b/app/components/base/icons/src/vender/solid/development/ApiConnectionMod.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ApiConnectionMod.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ApiConnectionMod'
 
diff --git a/app/components/base/icons/src/vender/solid/development/BarChartSquare02.tsx b/app/components/base/icons/src/vender/solid/development/BarChartSquare02.tsx
index c8a3357..bd71c2c 100644
--- a/app/components/base/icons/src/vender/solid/development/BarChartSquare02.tsx
+++ b/app/components/base/icons/src/vender/solid/development/BarChartSquare02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BarChartSquare02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BarChartSquare02'
 
diff --git a/app/components/base/icons/src/vender/solid/development/Container.tsx b/app/components/base/icons/src/vender/solid/development/Container.tsx
index 2aa777a..25b2732 100644
--- a/app/components/base/icons/src/vender/solid/development/Container.tsx
+++ b/app/components/base/icons/src/vender/solid/development/Container.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Container.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Container'
 
diff --git a/app/components/base/icons/src/vender/solid/development/Database02.tsx b/app/components/base/icons/src/vender/solid/development/Database02.tsx
index 088a3ae..2e3f3f4 100644
--- a/app/components/base/icons/src/vender/solid/development/Database02.tsx
+++ b/app/components/base/icons/src/vender/solid/development/Database02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Database02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Database02'
 
diff --git a/app/components/base/icons/src/vender/solid/development/Database03.tsx b/app/components/base/icons/src/vender/solid/development/Database03.tsx
index 012294a..0e574ac 100644
--- a/app/components/base/icons/src/vender/solid/development/Database03.tsx
+++ b/app/components/base/icons/src/vender/solid/development/Database03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Database03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Database03'
 
diff --git a/app/components/base/icons/src/vender/solid/development/FileHeart02.tsx b/app/components/base/icons/src/vender/solid/development/FileHeart02.tsx
index e918e5e..ca891fd 100644
--- a/app/components/base/icons/src/vender/solid/development/FileHeart02.tsx
+++ b/app/components/base/icons/src/vender/solid/development/FileHeart02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileHeart02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileHeart02'
 
diff --git a/app/components/base/icons/src/vender/solid/development/PatternRecognition.tsx b/app/components/base/icons/src/vender/solid/development/PatternRecognition.tsx
index c1eb6ad..74cdf2f 100644
--- a/app/components/base/icons/src/vender/solid/development/PatternRecognition.tsx
+++ b/app/components/base/icons/src/vender/solid/development/PatternRecognition.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PatternRecognition.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PatternRecognition'
 
diff --git a/app/components/base/icons/src/vender/solid/development/PromptEngineering.tsx b/app/components/base/icons/src/vender/solid/development/PromptEngineering.tsx
index 506e9fe..7faf461 100644
--- a/app/components/base/icons/src/vender/solid/development/PromptEngineering.tsx
+++ b/app/components/base/icons/src/vender/solid/development/PromptEngineering.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PromptEngineering.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PromptEngineering'
 
diff --git a/app/components/base/icons/src/vender/solid/development/PuzzlePiece01.tsx b/app/components/base/icons/src/vender/solid/development/PuzzlePiece01.tsx
index b62d37d..c48dee6 100644
--- a/app/components/base/icons/src/vender/solid/development/PuzzlePiece01.tsx
+++ b/app/components/base/icons/src/vender/solid/development/PuzzlePiece01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PuzzlePiece01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PuzzlePiece01'
 
diff --git a/app/components/base/icons/src/vender/solid/development/Semantic.tsx b/app/components/base/icons/src/vender/solid/development/Semantic.tsx
index df01994..8b93402 100644
--- a/app/components/base/icons/src/vender/solid/development/Semantic.tsx
+++ b/app/components/base/icons/src/vender/solid/development/Semantic.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Semantic.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Semantic'
 
diff --git a/app/components/base/icons/src/vender/solid/development/TerminalSquare.tsx b/app/components/base/icons/src/vender/solid/development/TerminalSquare.tsx
index 38575b9..add9201 100644
--- a/app/components/base/icons/src/vender/solid/development/TerminalSquare.tsx
+++ b/app/components/base/icons/src/vender/solid/development/TerminalSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TerminalSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TerminalSquare'
 
diff --git a/app/components/base/icons/src/vender/solid/development/Variable02.tsx b/app/components/base/icons/src/vender/solid/development/Variable02.tsx
index 8ffaeaa..3d166bf 100644
--- a/app/components/base/icons/src/vender/solid/development/Variable02.tsx
+++ b/app/components/base/icons/src/vender/solid/development/Variable02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Variable02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Variable02'
 
diff --git a/app/components/base/icons/src/vender/solid/editor/Brush01.tsx b/app/components/base/icons/src/vender/solid/editor/Brush01.tsx
index d76c5f1..00bb143 100644
--- a/app/components/base/icons/src/vender/solid/editor/Brush01.tsx
+++ b/app/components/base/icons/src/vender/solid/editor/Brush01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Brush01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Brush01'
 
diff --git a/app/components/base/icons/src/vender/solid/editor/Citations.tsx b/app/components/base/icons/src/vender/solid/editor/Citations.tsx
index 439aab6..ad1abf4 100644
--- a/app/components/base/icons/src/vender/solid/editor/Citations.tsx
+++ b/app/components/base/icons/src/vender/solid/editor/Citations.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Citations.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Citations'
 
diff --git a/app/components/base/icons/src/vender/solid/editor/Colors.tsx b/app/components/base/icons/src/vender/solid/editor/Colors.tsx
index bdfe6d1..224ca11 100644
--- a/app/components/base/icons/src/vender/solid/editor/Colors.tsx
+++ b/app/components/base/icons/src/vender/solid/editor/Colors.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Colors.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Colors'
 
diff --git a/app/components/base/icons/src/vender/solid/editor/Paragraph.tsx b/app/components/base/icons/src/vender/solid/editor/Paragraph.tsx
index 548b383..e6051f7 100644
--- a/app/components/base/icons/src/vender/solid/editor/Paragraph.tsx
+++ b/app/components/base/icons/src/vender/solid/editor/Paragraph.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Paragraph.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Paragraph'
 
diff --git a/app/components/base/icons/src/vender/solid/editor/TypeSquare.tsx b/app/components/base/icons/src/vender/solid/editor/TypeSquare.tsx
index 5149e12..8a44fb2 100644
--- a/app/components/base/icons/src/vender/solid/editor/TypeSquare.tsx
+++ b/app/components/base/icons/src/vender/solid/editor/TypeSquare.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TypeSquare.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TypeSquare'
 
diff --git a/app/components/base/icons/src/vender/solid/education/Beaker02.tsx b/app/components/base/icons/src/vender/solid/education/Beaker02.tsx
index 6fd1a62..55e6825 100644
--- a/app/components/base/icons/src/vender/solid/education/Beaker02.tsx
+++ b/app/components/base/icons/src/vender/solid/education/Beaker02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Beaker02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Beaker02'
 
diff --git a/app/components/base/icons/src/vender/solid/education/BubbleText.tsx b/app/components/base/icons/src/vender/solid/education/BubbleText.tsx
index 9be36ec..69118ef 100644
--- a/app/components/base/icons/src/vender/solid/education/BubbleText.tsx
+++ b/app/components/base/icons/src/vender/solid/education/BubbleText.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './BubbleText.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'BubbleText'
 
diff --git a/app/components/base/icons/src/vender/solid/education/Heart02.tsx b/app/components/base/icons/src/vender/solid/education/Heart02.tsx
index ffe3a07..8193c32 100644
--- a/app/components/base/icons/src/vender/solid/education/Heart02.tsx
+++ b/app/components/base/icons/src/vender/solid/education/Heart02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Heart02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Heart02'
 
diff --git a/app/components/base/icons/src/vender/solid/education/Unblur.tsx b/app/components/base/icons/src/vender/solid/education/Unblur.tsx
index b994171..14ee8f0 100644
--- a/app/components/base/icons/src/vender/solid/education/Unblur.tsx
+++ b/app/components/base/icons/src/vender/solid/education/Unblur.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Unblur.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Unblur'
 
diff --git a/app/components/base/icons/src/vender/solid/files/File05.tsx b/app/components/base/icons/src/vender/solid/files/File05.tsx
index eda65c0..0043d84 100644
--- a/app/components/base/icons/src/vender/solid/files/File05.tsx
+++ b/app/components/base/icons/src/vender/solid/files/File05.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './File05.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'File05'
 
diff --git a/app/components/base/icons/src/vender/solid/files/FileSearch02.tsx b/app/components/base/icons/src/vender/solid/files/FileSearch02.tsx
index 154ad45..58bf4fd 100644
--- a/app/components/base/icons/src/vender/solid/files/FileSearch02.tsx
+++ b/app/components/base/icons/src/vender/solid/files/FileSearch02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './FileSearch02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'FileSearch02'
 
diff --git a/app/components/base/icons/src/vender/solid/files/Folder.tsx b/app/components/base/icons/src/vender/solid/files/Folder.tsx
index e7a3fdf..1914bf6 100644
--- a/app/components/base/icons/src/vender/solid/files/Folder.tsx
+++ b/app/components/base/icons/src/vender/solid/files/Folder.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Folder.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Folder'
 
diff --git a/app/components/base/icons/src/vender/solid/files/index.ts b/app/components/base/icons/src/vender/solid/files/index.ts
index fa93cd6..31feeb5 100644
--- a/app/components/base/icons/src/vender/solid/files/index.ts
+++ b/app/components/base/icons/src/vender/solid/files/index.ts
@@ -1,4 +1,3 @@
 export { default as File05 } from './File05'
 export { default as FileSearch02 } from './FileSearch02'
-export { default as FileZip } from './FileZip'
 export { default as Folder } from './Folder'
diff --git a/app/components/base/icons/src/vender/solid/general/AnswerTriangle.tsx b/app/components/base/icons/src/vender/solid/general/AnswerTriangle.tsx
index 956c328..d816a2c 100644
--- a/app/components/base/icons/src/vender/solid/general/AnswerTriangle.tsx
+++ b/app/components/base/icons/src/vender/solid/general/AnswerTriangle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './AnswerTriangle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'AnswerTriangle'
 
diff --git a/app/components/base/icons/src/vender/solid/general/CheckCircle.tsx b/app/components/base/icons/src/vender/solid/general/CheckCircle.tsx
index 2b34cd6..fe2cbfc 100644
--- a/app/components/base/icons/src/vender/solid/general/CheckCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/general/CheckCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CheckCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CheckCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/general/CheckDone01.tsx b/app/components/base/icons/src/vender/solid/general/CheckDone01.tsx
index c7e7d80..5b52deb 100644
--- a/app/components/base/icons/src/vender/solid/general/CheckDone01.tsx
+++ b/app/components/base/icons/src/vender/solid/general/CheckDone01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './CheckDone01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'CheckDone01'
 
diff --git a/app/components/base/icons/src/vender/solid/general/Download02.tsx b/app/components/base/icons/src/vender/solid/general/Download02.tsx
index aee2993..17b55dc 100644
--- a/app/components/base/icons/src/vender/solid/general/Download02.tsx
+++ b/app/components/base/icons/src/vender/solid/general/Download02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Download02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Download02'
 
diff --git a/app/components/base/icons/src/vender/solid/general/Edit03.tsx b/app/components/base/icons/src/vender/solid/general/Edit03.tsx
index 837e597..23c9716 100644
--- a/app/components/base/icons/src/vender/solid/general/Edit03.tsx
+++ b/app/components/base/icons/src/vender/solid/general/Edit03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Edit03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Edit03'
 
diff --git a/app/components/base/icons/src/vender/solid/general/Edit04.tsx b/app/components/base/icons/src/vender/solid/general/Edit04.tsx
index 5e436c0..d918872 100644
--- a/app/components/base/icons/src/vender/solid/general/Edit04.tsx
+++ b/app/components/base/icons/src/vender/solid/general/Edit04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Edit04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Edit04'
 
diff --git a/app/components/base/icons/src/vender/solid/general/Eye.tsx b/app/components/base/icons/src/vender/solid/general/Eye.tsx
index 29d1ea9..5915374 100644
--- a/app/components/base/icons/src/vender/solid/general/Eye.tsx
+++ b/app/components/base/icons/src/vender/solid/general/Eye.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Eye.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Eye'
 
diff --git a/app/components/base/icons/src/vender/solid/general/MessageClockCircle.tsx b/app/components/base/icons/src/vender/solid/general/MessageClockCircle.tsx
index dc1f17e..0792895 100644
--- a/app/components/base/icons/src/vender/solid/general/MessageClockCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/general/MessageClockCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MessageClockCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MessageClockCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/general/PlusCircle.tsx b/app/components/base/icons/src/vender/solid/general/PlusCircle.tsx
index 142ad91..01364c7 100644
--- a/app/components/base/icons/src/vender/solid/general/PlusCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/general/PlusCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './PlusCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'PlusCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/general/QuestionTriangle.tsx b/app/components/base/icons/src/vender/solid/general/QuestionTriangle.tsx
index 85cc44f..360f628 100644
--- a/app/components/base/icons/src/vender/solid/general/QuestionTriangle.tsx
+++ b/app/components/base/icons/src/vender/solid/general/QuestionTriangle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './QuestionTriangle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'QuestionTriangle'
 
diff --git a/app/components/base/icons/src/vender/solid/general/SearchMd.tsx b/app/components/base/icons/src/vender/solid/general/SearchMd.tsx
index 295997c..2e2cf15 100644
--- a/app/components/base/icons/src/vender/solid/general/SearchMd.tsx
+++ b/app/components/base/icons/src/vender/solid/general/SearchMd.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './SearchMd.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'SearchMd'
 
diff --git a/app/components/base/icons/src/vender/solid/general/Target04.tsx b/app/components/base/icons/src/vender/solid/general/Target04.tsx
index d2d04f9..17901f5 100644
--- a/app/components/base/icons/src/vender/solid/general/Target04.tsx
+++ b/app/components/base/icons/src/vender/solid/general/Target04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Target04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Target04'
 
diff --git a/app/components/base/icons/src/vender/solid/general/Tool03.tsx b/app/components/base/icons/src/vender/solid/general/Tool03.tsx
index fd60b8e..6168e16 100644
--- a/app/components/base/icons/src/vender/solid/general/Tool03.tsx
+++ b/app/components/base/icons/src/vender/solid/general/Tool03.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Tool03.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Tool03'
 
diff --git a/app/components/base/icons/src/vender/solid/general/XCircle.tsx b/app/components/base/icons/src/vender/solid/general/XCircle.tsx
index b278a98..bd9bb36 100644
--- a/app/components/base/icons/src/vender/solid/general/XCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/general/XCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './XCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'XCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/general/ZapFast.tsx b/app/components/base/icons/src/vender/solid/general/ZapFast.tsx
index af7e8bd..3f7b1c5 100644
--- a/app/components/base/icons/src/vender/solid/general/ZapFast.tsx
+++ b/app/components/base/icons/src/vender/solid/general/ZapFast.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ZapFast.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ZapFast'
 
diff --git a/app/components/base/icons/src/vender/solid/general/ZapNarrow.tsx b/app/components/base/icons/src/vender/solid/general/ZapNarrow.tsx
index 5f2aa62..4cbaf5b 100644
--- a/app/components/base/icons/src/vender/solid/general/ZapNarrow.tsx
+++ b/app/components/base/icons/src/vender/solid/general/ZapNarrow.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ZapNarrow.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ZapNarrow'
 
diff --git a/app/components/base/icons/src/vender/solid/general/index.ts b/app/components/base/icons/src/vender/solid/general/index.ts
index 4c4dd9a..9d2492e 100644
--- a/app/components/base/icons/src/vender/solid/general/index.ts
+++ b/app/components/base/icons/src/vender/solid/general/index.ts
@@ -1,12 +1,10 @@
 export { default as AnswerTriangle } from './AnswerTriangle'
-export { default as ArrowDownRoundFill } from './ArrowDownRoundFill'
 export { default as CheckCircle } from './CheckCircle'
 export { default as CheckDone01 } from './CheckDone01'
 export { default as Download02 } from './Download02'
 export { default as Edit03 } from './Edit03'
 export { default as Edit04 } from './Edit04'
 export { default as Eye } from './Eye'
-export { default as Github } from './Github'
 export { default as MessageClockCircle } from './MessageClockCircle'
 export { default as PlusCircle } from './PlusCircle'
 export { default as QuestionTriangle } from './QuestionTriangle'
diff --git a/app/components/base/icons/src/vender/solid/layout/Grid01.tsx b/app/components/base/icons/src/vender/solid/layout/Grid01.tsx
index 5638f3c..c823ec6 100644
--- a/app/components/base/icons/src/vender/solid/layout/Grid01.tsx
+++ b/app/components/base/icons/src/vender/solid/layout/Grid01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Grid01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Grid01'
 
diff --git a/app/components/base/icons/src/vender/solid/mapsAndTravel/Globe06.tsx b/app/components/base/icons/src/vender/solid/mapsAndTravel/Globe06.tsx
index d961eed..01a05fc 100644
--- a/app/components/base/icons/src/vender/solid/mapsAndTravel/Globe06.tsx
+++ b/app/components/base/icons/src/vender/solid/mapsAndTravel/Globe06.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Globe06.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Globe06'
 
diff --git a/app/components/base/icons/src/vender/solid/mapsAndTravel/Route.tsx b/app/components/base/icons/src/vender/solid/mapsAndTravel/Route.tsx
index f81fb61..9c30a7c 100644
--- a/app/components/base/icons/src/vender/solid/mapsAndTravel/Route.tsx
+++ b/app/components/base/icons/src/vender/solid/mapsAndTravel/Route.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Route.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Route'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicBox.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicBox.tsx
index 0c38691..cbb88a8 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicBox.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicBox.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MagicBox.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MagicBox'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicEyes.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicEyes.tsx
index e7f7335..32312af 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicEyes.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicEyes.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MagicEyes.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MagicEyes'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicWand.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicWand.tsx
index 3eb6130..12dae69 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicWand.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/MagicWand.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './MagicWand.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'MagicWand'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/Microphone01.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/Microphone01.tsx
index 37fb66a..e8125ca 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/Microphone01.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/Microphone01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Microphone01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Microphone01'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/Play.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/Play.tsx
index b9e07c5..f182f7a 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/Play.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/Play.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Play.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Play'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/Robot.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/Robot.tsx
index 8bee6e2..07251c5 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/Robot.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/Robot.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Robot.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Robot'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/Sliders02.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/Sliders02.tsx
index f1d05e7..829ed5a 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/Sliders02.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/Sliders02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Sliders02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Sliders02'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/Speaker.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/Speaker.tsx
index 0cf9364..a33b9eb 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/Speaker.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/Speaker.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Speaker.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Speaker'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/StopCircle.tsx b/app/components/base/icons/src/vender/solid/mediaAndDevices/StopCircle.tsx
index 84430c3..6022e6b 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/StopCircle.tsx
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/StopCircle.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './StopCircle.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'StopCircle'
 
diff --git a/app/components/base/icons/src/vender/solid/mediaAndDevices/index.ts b/app/components/base/icons/src/vender/solid/mediaAndDevices/index.ts
index 7c313fe..ab43a47 100644
--- a/app/components/base/icons/src/vender/solid/mediaAndDevices/index.ts
+++ b/app/components/base/icons/src/vender/solid/mediaAndDevices/index.ts
@@ -1,5 +1,3 @@
-export { default as AudioSupportIcon } from './AudioSupportIcon'
-export { default as DocumentSupportIcon } from './DocumentSupportIcon'
 export { default as MagicBox } from './MagicBox'
 export { default as MagicEyes } from './MagicEyes'
 export { default as MagicWand } from './MagicWand'
@@ -9,4 +7,3 @@
 export { default as Sliders02 } from './Sliders02'
 export { default as Speaker } from './Speaker'
 export { default as StopCircle } from './StopCircle'
-export { default as VideoSupportIcon } from './VideoSupportIcon'
diff --git a/app/components/base/icons/src/vender/solid/security/Lock01.tsx b/app/components/base/icons/src/vender/solid/security/Lock01.tsx
index ea192d8..f66473a 100644
--- a/app/components/base/icons/src/vender/solid/security/Lock01.tsx
+++ b/app/components/base/icons/src/vender/solid/security/Lock01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Lock01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Lock01'
 
diff --git a/app/components/base/icons/src/vender/solid/shapes/Corner.tsx b/app/components/base/icons/src/vender/solid/shapes/Corner.tsx
index 6b02e92..0edeb2c 100644
--- a/app/components/base/icons/src/vender/solid/shapes/Corner.tsx
+++ b/app/components/base/icons/src/vender/solid/shapes/Corner.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Corner.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Corner'
 
diff --git a/app/components/base/icons/src/vender/solid/shapes/Star04.tsx b/app/components/base/icons/src/vender/solid/shapes/Star04.tsx
index eb699cd..daa86d8 100644
--- a/app/components/base/icons/src/vender/solid/shapes/Star04.tsx
+++ b/app/components/base/icons/src/vender/solid/shapes/Star04.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Star04.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Star04'
 
diff --git a/app/components/base/icons/src/vender/solid/shapes/Star06.tsx b/app/components/base/icons/src/vender/solid/shapes/Star06.tsx
index 9b320a6..f59285f 100644
--- a/app/components/base/icons/src/vender/solid/shapes/Star06.tsx
+++ b/app/components/base/icons/src/vender/solid/shapes/Star06.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Star06.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Star06'
 
diff --git a/app/components/base/icons/src/vender/solid/users/User01.tsx b/app/components/base/icons/src/vender/solid/users/User01.tsx
index 24fd0df..1bb3c6a 100644
--- a/app/components/base/icons/src/vender/solid/users/User01.tsx
+++ b/app/components/base/icons/src/vender/solid/users/User01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './User01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'User01'
 
diff --git a/app/components/base/icons/src/vender/solid/users/UserEdit02.tsx b/app/components/base/icons/src/vender/solid/users/UserEdit02.tsx
index 588b6ae..074ca30 100644
--- a/app/components/base/icons/src/vender/solid/users/UserEdit02.tsx
+++ b/app/components/base/icons/src/vender/solid/users/UserEdit02.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './UserEdit02.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'UserEdit02'
 
diff --git a/app/components/base/icons/src/vender/solid/users/Users01.tsx b/app/components/base/icons/src/vender/solid/users/Users01.tsx
index f26ff03..29300a9 100644
--- a/app/components/base/icons/src/vender/solid/users/Users01.tsx
+++ b/app/components/base/icons/src/vender/solid/users/Users01.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Users01.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Users01'
 
diff --git a/app/components/base/icons/src/vender/solid/users/UsersPlus.tsx b/app/components/base/icons/src/vender/solid/users/UsersPlus.tsx
index 3594435..a229496 100644
--- a/app/components/base/icons/src/vender/solid/users/UsersPlus.tsx
+++ b/app/components/base/icons/src/vender/solid/users/UsersPlus.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './UsersPlus.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'UsersPlus'
 
diff --git a/app/components/base/icons/src/vender/workflow/Answer.tsx b/app/components/base/icons/src/vender/workflow/Answer.tsx
index 91bf788..389717f 100644
--- a/app/components/base/icons/src/vender/workflow/Answer.tsx
+++ b/app/components/base/icons/src/vender/workflow/Answer.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Answer.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Answer'
 
diff --git a/app/components/base/icons/src/vender/workflow/Assigner.tsx b/app/components/base/icons/src/vender/workflow/Assigner.tsx
index c4d1382..1cb7d69 100644
--- a/app/components/base/icons/src/vender/workflow/Assigner.tsx
+++ b/app/components/base/icons/src/vender/workflow/Assigner.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Assigner.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Assigner'
 
diff --git a/app/components/base/icons/src/vender/workflow/Code.tsx b/app/components/base/icons/src/vender/workflow/Code.tsx
index 1ec2e49..2680423 100644
--- a/app/components/base/icons/src/vender/workflow/Code.tsx
+++ b/app/components/base/icons/src/vender/workflow/Code.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Code.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Code'
 
diff --git a/app/components/base/icons/src/vender/workflow/DocsExtractor.tsx b/app/components/base/icons/src/vender/workflow/DocsExtractor.tsx
index 838fb8a..355c68e 100644
--- a/app/components/base/icons/src/vender/workflow/DocsExtractor.tsx
+++ b/app/components/base/icons/src/vender/workflow/DocsExtractor.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './DocsExtractor.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'DocsExtractor'
 
diff --git a/app/components/base/icons/src/vender/workflow/End.tsx b/app/components/base/icons/src/vender/workflow/End.tsx
index 8d7f693..f4a9d27 100644
--- a/app/components/base/icons/src/vender/workflow/End.tsx
+++ b/app/components/base/icons/src/vender/workflow/End.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './End.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'End'
 
diff --git a/app/components/base/icons/src/vender/workflow/Home.tsx b/app/components/base/icons/src/vender/workflow/Home.tsx
index 6210e6b..69da542 100644
--- a/app/components/base/icons/src/vender/workflow/Home.tsx
+++ b/app/components/base/icons/src/vender/workflow/Home.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Home.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Home'
 
diff --git a/app/components/base/icons/src/vender/workflow/Http.tsx b/app/components/base/icons/src/vender/workflow/Http.tsx
index 77f46bf..7344566 100644
--- a/app/components/base/icons/src/vender/workflow/Http.tsx
+++ b/app/components/base/icons/src/vender/workflow/Http.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Http.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Http'
 
diff --git a/app/components/base/icons/src/vender/workflow/IfElse.tsx b/app/components/base/icons/src/vender/workflow/IfElse.tsx
index aed6635..553a038 100644
--- a/app/components/base/icons/src/vender/workflow/IfElse.tsx
+++ b/app/components/base/icons/src/vender/workflow/IfElse.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './IfElse.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'IfElse'
 
diff --git a/app/components/base/icons/src/vender/workflow/Iteration.tsx b/app/components/base/icons/src/vender/workflow/Iteration.tsx
index 5e2b2c9..57b6a88 100644
--- a/app/components/base/icons/src/vender/workflow/Iteration.tsx
+++ b/app/components/base/icons/src/vender/workflow/Iteration.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Iteration.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Iteration'
 
diff --git a/app/components/base/icons/src/vender/workflow/IterationStart.tsx b/app/components/base/icons/src/vender/workflow/IterationStart.tsx
index 939d696..6a9155a 100644
--- a/app/components/base/icons/src/vender/workflow/IterationStart.tsx
+++ b/app/components/base/icons/src/vender/workflow/IterationStart.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './IterationStart.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'IterationStart'
 
diff --git a/app/components/base/icons/src/vender/workflow/Jinja.tsx b/app/components/base/icons/src/vender/workflow/Jinja.tsx
index 67422f6..ed819ea 100644
--- a/app/components/base/icons/src/vender/workflow/Jinja.tsx
+++ b/app/components/base/icons/src/vender/workflow/Jinja.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Jinja.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Jinja'
 
diff --git a/app/components/base/icons/src/vender/workflow/KnowledgeRetrieval.tsx b/app/components/base/icons/src/vender/workflow/KnowledgeRetrieval.tsx
index abe3f35..7d232b1 100644
--- a/app/components/base/icons/src/vender/workflow/KnowledgeRetrieval.tsx
+++ b/app/components/base/icons/src/vender/workflow/KnowledgeRetrieval.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './KnowledgeRetrieval.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'KnowledgeRetrieval'
 
diff --git a/app/components/base/icons/src/vender/workflow/ListFilter.tsx b/app/components/base/icons/src/vender/workflow/ListFilter.tsx
index 4eb992a..bf8eb27 100644
--- a/app/components/base/icons/src/vender/workflow/ListFilter.tsx
+++ b/app/components/base/icons/src/vender/workflow/ListFilter.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ListFilter.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ListFilter'
 
diff --git a/app/components/base/icons/src/vender/workflow/Llm.tsx b/app/components/base/icons/src/vender/workflow/Llm.tsx
index d72c5f2..e8c80eb 100644
--- a/app/components/base/icons/src/vender/workflow/Llm.tsx
+++ b/app/components/base/icons/src/vender/workflow/Llm.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './Llm.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'Llm'
 
diff --git a/app/components/base/icons/src/vender/workflow/ParameterExtractor.tsx b/app/components/base/icons/src/vender/workflow/ParameterExtractor.tsx
index 7066a74..f080f5a 100644
--- a/app/components/base/icons/src/vender/workflow/ParameterExtractor.tsx
+++ b/app/components/base/icons/src/vender/workflow/ParameterExtractor.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './ParameterExtractor.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'ParameterExtractor'
 
diff --git a/app/components/base/icons/src/vender/workflow/QuestionClassifier.tsx b/app/components/base/icons/src/vender/workflow/QuestionClassifier.tsx
index 59b2bcc..35b10a0 100644
--- a/app/components/base/icons/src/vender/workflow/QuestionClassifier.tsx
+++ b/app/components/base/icons/src/vender/workflow/QuestionClassifier.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './QuestionClassifier.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'QuestionClassifier'
 
diff --git a/app/components/base/icons/src/vender/workflow/TemplatingTransform.tsx b/app/components/base/icons/src/vender/workflow/TemplatingTransform.tsx
index a4d1e50..7430e27 100644
--- a/app/components/base/icons/src/vender/workflow/TemplatingTransform.tsx
+++ b/app/components/base/icons/src/vender/workflow/TemplatingTransform.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './TemplatingTransform.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'TemplatingTransform'
 
diff --git a/app/components/base/icons/src/vender/workflow/VariableX.tsx b/app/components/base/icons/src/vender/workflow/VariableX.tsx
index 43ec10a..5a24273 100644
--- a/app/components/base/icons/src/vender/workflow/VariableX.tsx
+++ b/app/components/base/icons/src/vender/workflow/VariableX.tsx
@@ -4,16 +4,12 @@
 import * as React from 'react'
 import data from './VariableX.json'
 import IconBase from '@/app/components/base/icons/IconBase'
-import type { IconData } from '@/app/components/base/icons/IconBase'
+import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase'
 
-const Icon = (
-  {
-    ref,
-    ...props
-  }: React.SVGProps<SVGSVGElement> & {
-    ref?: React.RefObject<React.MutableRefObject<HTMLOrSVGElement>>;
-  },
-) => <IconBase {...props} ref={ref} data={data as IconData} />
+const Icon = React.forwardRef<React.MutableRefObject<SVGElement>, Omit<IconBaseProps, 'data'>>((
+  props,
+  ref,
+) => <IconBase {...props} ref={ref} data={data as IconData} />)
 
 Icon.displayName = 'VariableX'
 
diff --git a/app/components/base/icons/src/vender/workflow/index.ts b/app/components/base/icons/src/vender/workflow/index.ts
index 7167b71..b2cc796 100644
--- a/app/components/base/icons/src/vender/workflow/index.ts
+++ b/app/components/base/icons/src/vender/workflow/index.ts
@@ -1,4 +1,3 @@
-export { default as Agent } from './Agent'
 export { default as Answer } from './Answer'
 export { default as Assigner } from './Assigner'
 export { default as Code } from './Code'
@@ -13,8 +12,6 @@
 export { default as KnowledgeRetrieval } from './KnowledgeRetrieval'
 export { default as ListFilter } from './ListFilter'
 export { default as Llm } from './Llm'
-export { default as LoopEnd } from './LoopEnd'
-export { default as Loop } from './Loop'
 export { default as ParameterExtractor } from './ParameterExtractor'
 export { default as QuestionClassifier } from './QuestionClassifier'
 export { default as TemplatingTransform } from './TemplatingTransform'
diff --git a/app/components/base/image-gallery/index.tsx b/app/components/base/image-gallery/index.tsx
index 0f9061f..5881390 100644
--- a/app/components/base/image-gallery/index.tsx
+++ b/app/components/base/image-gallery/index.tsx
@@ -38,7 +38,7 @@
     <div className={cn(s[`img-${imgNum}`], 'flex flex-wrap')}>
       {/* TODO: support preview */}
       {srcs.map((src, index) => (
-
+        // eslint-disable-next-line @next/next/no-img-element
         <img
           key={index}
           className={s.item}
@@ -75,7 +75,7 @@
   return (
     <div className='space-y-2'>
       {imgGallerySrcs.map((_, index) => (
-        <div key={index} className='rounded-lg bg-[#D1E9FF80] p-4 pb-2'>
+        <div key={index} className='p-4 pb-2 rounded-lg bg-[#D1E9FF80]'>
           <ImageGallery srcs={imgGallerySrcs.slice(0, index + 1)} />
         </div>
       ))}
diff --git a/app/components/base/image-gallery/style.module.css b/app/components/base/image-gallery/style.module.css
index 2e4c62e..116d602 100644
--- a/app/components/base/image-gallery/style.module.css
+++ b/app/components/base/image-gallery/style.module.css
@@ -1,8 +1,8 @@
 .item {
-  max-height: 200px;
+  height: 200px;
   margin-right: 8px;
   margin-bottom: 8px;
-  object-fit: contain;
+  object-fit: cover;
   object-position: center;
   border-radius: 8px;
   cursor: pointer;
@@ -19,4 +19,4 @@
 
 .img-4 .item:nth-child(3n) {
   margin-right: 8px;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/image-uploader/audio-preview.tsx b/app/components/base/image-uploader/audio-preview.tsx
index d1f71f8..24ede8a 100644
--- a/app/components/base/image-uploader/audio-preview.tsx
+++ b/app/components/base/image-uploader/audio-preview.tsx
@@ -13,23 +13,24 @@
   onCancel,
 }) => {
   return createPortal(
-    <div className='fixed inset-0 z-[1000] flex items-center justify-center bg-black/80 p-8' onClick={e => e.stopPropagation()}>
+    <div className='fixed inset-0 p-8 flex items-center justify-center bg-black/80 z-[1000]' onClick={e => e.stopPropagation()}>
       <div>
         <audio controls title={title} autoPlay={false} preload="metadata">
           <source
             type="audio/mpeg"
             src={url}
-            className='max-h-full max-w-full'
+            className='max-w-full max-h-full'
           />
         </audio>
       </div>
       <div
-        className='absolute right-6 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-white/[0.08] backdrop-blur-[2px]'
+        className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/[0.08] rounded-lg backdrop-blur-[2px] cursor-pointer'
         onClick={onCancel}
       >
-        <RiCloseLine className='h-4 w-4 text-gray-500'/>
+        <RiCloseLine className='w-4 h-4 text-gray-500'/>
       </div>
-    </div>,
+    </div>
+    ,
     document.body,
   )
 }
diff --git a/app/components/base/image-uploader/chat-image-uploader.tsx b/app/components/base/image-uploader/chat-image-uploader.tsx
index 401af2b..742965b 100644
--- a/app/components/base/image-uploader/chat-image-uploader.tsx
+++ b/app/components/base/image-uploader/chat-image-uploader.tsx
@@ -29,11 +29,11 @@
       {hovering => (
         <div
           className={`
-            relative flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg
+            relative flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer
             ${hovering && 'bg-gray-100'}
           `}
         >
-          <ImagePlus className="h-4 w-4 text-gray-500" />
+          <ImagePlus className="w-4 h-4 text-gray-500" />
         </div>
       )}
     </Uploader>
@@ -82,20 +82,20 @@
         <button
           type="button"
           disabled={disabled}
-          className="relative flex h-8 w-8 items-center justify-center rounded-lg enabled:hover:bg-gray-100 disabled:cursor-not-allowed"
+          className="relative flex items-center justify-center w-8 h-8 enabled:hover:bg-gray-100 rounded-lg disabled:cursor-not-allowed"
         >
-          <ImagePlus className="h-4 w-4 text-gray-500" />
+          <ImagePlus className="w-4 h-4 text-gray-500" />
         </button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className="z-50">
-        <div className="w-[260px] rounded-lg border-[0.5px] border-gray-200 bg-white p-2 shadow-lg">
+        <div className="p-2 w-[260px] bg-white rounded-lg border-[0.5px] border-gray-200 shadow-lg">
           <ImageLinkInput onUpload={handleUpload} disabled={disabled} />
           {hasUploadFromLocal && (
             <>
-              <div className="mt-2 flex items-center px-2 text-xs font-medium text-gray-400">
-                <div className="mr-3 h-[1px] w-[93px] bg-gradient-to-l from-[#F3F4F6]" />
+              <div className="flex items-center mt-2 px-2 text-xs font-medium text-gray-400">
+                <div className="mr-3 w-[93px] h-[1px] bg-gradient-to-l from-[#F3F4F6]" />
                 OR
-                <div className="ml-3 h-[1px] w-[93px] bg-gradient-to-r from-[#F3F4F6]" />
+                <div className="ml-3 w-[93px] h-[1px] bg-gradient-to-r from-[#F3F4F6]" />
               </div>
               <Uploader
                 onUpload={handleUpload}
@@ -105,11 +105,11 @@
                 {hovering => (
                   <div
                     className={cn(
-                      'flex h-8 cursor-pointer items-center justify-center rounded-lg text-[13px] font-medium text-[#155EEF]',
+                      'flex items-center justify-center h-8 text-[13px] font-medium text-[#155EEF] rounded-lg cursor-pointer',
                       hovering && 'bg-primary-50',
                     )}
                   >
-                    <Upload03 className="mr-1 h-4 w-4" />
+                    <Upload03 className="mr-1 w-4 h-4" />
                     {t('common.imageUploader.uploadFromComputer')}
                   </div>
                 )}
diff --git a/app/components/base/image-uploader/image-link-input.tsx b/app/components/base/image-uploader/image-link-input.tsx
index a767e0c..477a76b 100644
--- a/app/components/base/image-uploader/image-link-input.tsx
+++ b/app/components/base/image-uploader/image-link-input.tsx
@@ -33,10 +33,10 @@
   }
 
   return (
-    <div className='flex h-8 items-center rounded-lg border border-components-panel-border bg-components-panel-bg pl-1.5 pr-1 shadow-xs'>
+    <div className='flex items-center pl-1.5 pr-1 h-8 border border-gray-200 bg-white shadow-xs rounded-lg'>
       <input
         type="text"
-        className='mr-0.5 h-[18px] grow appearance-none bg-transparent px-1 text-[13px] text-text-primary outline-none'
+        className='grow mr-0.5 px-1 h-[18px] text-[13px] outline-none appearance-none'
         value={imageLink}
         onChange={e => setImageLink(e.target.value)}
         placeholder={t('common.imageUploader.pasteImageLinkInputPlaceholder') || ''}
diff --git a/app/components/base/image-uploader/image-list.tsx b/app/components/base/image-uploader/image-list.tsx
index 758ffe9..35f6149 100644
--- a/app/components/base/image-uploader/image-list.tsx
+++ b/app/components/base/image-uploader/image-list.tsx
@@ -51,23 +51,23 @@
       {list.map(item => (
         <div
           key={item._id}
-          className="group relative mr-1 rounded-lg border-[0.5px] border-black/5"
+          className="group relative mr-1 border-[0.5px] border-black/5 rounded-lg"
         >
           {item.type === TransferMethod.local_file && item.progress !== 100 && (
             <>
               <div
-                className="absolute inset-0 z-[1] flex items-center justify-center bg-black/30"
+                className="absolute inset-0 flex items-center justify-center z-[1] bg-black/30"
                 style={{ left: item.progress > -1 ? `${item.progress}%` : 0 }}
               >
                 {item.progress === -1 && (
                   <RefreshCcw01
-                    className="h-5 w-5 text-white"
+                    className="w-5 h-5 text-white"
                     onClick={() => onReUpload && onReUpload(item._id)}
                   />
                 )}
               </div>
               {item.progress > -1 && (
-                <span className="absolute left-[50%] top-[50%] z-[1] translate-x-[-50%] translate-y-[-50%] text-sm text-white mix-blend-lighten">
+                <span className="absolute top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] text-sm text-white mix-blend-lighten z-[1]">
                   {item.progress}%
                 </span>
               )}
@@ -76,27 +76,27 @@
           {item.type === TransferMethod.remote_url && item.progress !== 100 && (
             <div
               className={`
-                  absolute inset-0 z-[1] flex items-center justify-center rounded-lg border
+                  absolute inset-0 flex items-center justify-center rounded-lg z-[1] border
                   ${item.progress === -1
-              ? 'border-[#DC6803] bg-[#FEF0C7]'
-              : 'border-transparent bg-black/[0.16]'
+              ? 'bg-[#FEF0C7] border-[#DC6803]'
+              : 'bg-black/[0.16] border-transparent'
             }
                 `}
             >
               {item.progress > -1 && (
-                <RiLoader2Line className="h-5 w-5 animate-spin text-white" />
+                <RiLoader2Line className="animate-spin w-5 h-5 text-white" />
               )}
               {item.progress === -1 && (
                 <Tooltip
                   popupContent={t('common.imageUploader.pasteImageLinkInvalid')}
                 >
-                  <AlertTriangle className="h-4 w-4 text-[#DC6803]" />
+                  <AlertTriangle className="w-4 h-4 text-[#DC6803]" />
                 </Tooltip>
               )}
             </div>
           )}
           <img
-            className="h-16 w-16 cursor-pointer rounded-lg border-[0.5px] border-black/5 object-cover"
+            className="w-16 h-16 rounded-lg object-cover cursor-pointer border-[0.5px] border-black/5"
             alt={item.file?.name}
             onLoad={() => handleImageLinkLoadSuccess(item)}
             onError={() => handleImageLinkLoadError(item)}
@@ -118,13 +118,13 @@
             <button
               type="button"
               className={cn(
-                'absolute -right-[9px] -top-[9px] z-10 h-[18px] w-[18px] items-center justify-center',
-                'rounded-2xl shadow-lg hover:bg-state-base-hover',
+                'absolute z-10 -top-[9px] -right-[9px] items-center justify-center w-[18px] h-[18px]',
+                'bg-white hover:bg-gray-50 border-[0.5px] border-black/2 rounded-2xl shadow-lg',
                 item.progress === -1 ? 'flex' : 'hidden group-hover:flex',
               )}
               onClick={() => onRemove && onRemove(item._id)}
             >
-              <RiCloseLine className="h-3 w-3 text-text-tertiary" />
+              <RiCloseLine className="w-3 h-3 text-gray-500" />
             </button>
           )}
         </div>
diff --git a/app/components/base/image-uploader/image-preview.tsx b/app/components/base/image-uploader/image-preview.tsx
index e67edaa..748e6ba 100644
--- a/app/components/base/image-uploader/image-preview.tsx
+++ b/app/components/base/image-uploader/image-preview.tsx
@@ -6,7 +6,6 @@
 import { useHotkeys } from 'react-hotkeys-hook'
 import Tooltip from '@/app/components/base/tooltip'
 import Toast from '@/app/components/base/toast'
-import { noop } from 'lodash-es'
 
 type ImagePreviewProps = {
   url: string
@@ -62,7 +61,6 @@
     if (url.startsWith('http') || url.startsWith('https')) {
       const a = document.createElement('a')
       a.href = url
-      a.target = '_blank'
       a.download = title
       a.click()
     }
@@ -70,7 +68,6 @@
       // Base64 image
       const a = document.createElement('a')
       a.href = url
-      a.target = '_blank'
       a.download = title
       a.click()
     }
@@ -102,11 +99,11 @@
 
     for (let offset = 0; offset < byteCharacters.length; offset += 512) {
       const slice = byteCharacters.slice(offset, offset + 512)
-      const byteNumbers = Array.from({ length: slice.length })
+      const byteNumbers = new Array(slice.length)
       for (let i = 0; i < slice.length; i++)
         byteNumbers[i] = slice.charCodeAt(i)
 
-      const byteArray = new Uint8Array(byteNumbers as any)
+      const byteArray = new Uint8Array(byteNumbers)
       byteArrays.push(byteArray)
     }
 
@@ -199,11 +196,11 @@
   useHotkeys('esc', onCancel)
   useHotkeys('up', zoomIn)
   useHotkeys('down', zoomOut)
-  useHotkeys('left', onPrev || noop)
-  useHotkeys('right', onNext || noop)
+  useHotkeys('left', onPrev || (() => {}))
+  useHotkeys('right', onNext || (() => {}))
 
   return createPortal(
-    <div className='image-preview-container fixed inset-0 z-[1000] flex items-center justify-center bg-black/80 p-8'
+    <div className='fixed inset-0 p-8 flex items-center justify-center bg-black/80 z-[1000] image-preview-container'
       onClick={e => e.stopPropagation()}
       onWheel={handleWheel}
       onMouseDown={handleMouseDown}
@@ -211,54 +208,54 @@
       onMouseUp={handleMouseUp}
       style={{ cursor: scale > 1 ? 'move' : 'default' }}
       tabIndex={-1}>
-      { }
+      {/* eslint-disable-next-line @next/next/no-img-element */}
       <img
         ref={imgRef}
         alt={title}
         src={isBase64(url) ? `data:image/png;base64,${url}` : url}
-        className='max-h-full max-w-full'
+        className='max-w-full max-h-full'
         style={{
           transform: `scale(${scale}) translate(${position.x}px, ${position.y}px)`,
           transition: isDragging ? 'none' : 'transform 0.2s ease-in-out',
         }}
       />
       <Tooltip popupContent={t('common.operation.copyImage')}>
-        <div className='absolute right-48 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-48 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={imageCopy}>
           {isCopied
-            ? <RiFileCopyLine className='h-4 w-4 text-green-500' />
-            : <RiFileCopyLine className='h-4 w-4 text-gray-500' />}
+            ? <RiFileCopyLine className='w-4 h-4 text-green-500'/>
+            : <RiFileCopyLine className='w-4 h-4 text-gray-500'/>}
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.zoomOut')}>
-        <div className='absolute right-40 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-40 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={zoomOut}>
-          <RiZoomOutLine className='h-4 w-4 text-gray-500' />
+          <RiZoomOutLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.zoomIn')}>
-        <div className='absolute right-32 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-32 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={zoomIn}>
-          <RiZoomInLine className='h-4 w-4 text-gray-500' />
+          <RiZoomInLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.download')}>
-        <div className='absolute right-24 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-24 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={downloadImage}>
-          <RiDownloadCloud2Line className='h-4 w-4 text-gray-500' />
+          <RiDownloadCloud2Line className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.openInNewTab')}>
-        <div className='absolute right-16 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg'
+        <div className='absolute top-6 right-16 flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer'
           onClick={openInNewTab}>
-          <RiAddBoxLine className='h-4 w-4 text-gray-500' />
+          <RiAddBoxLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
       <Tooltip popupContent={t('common.operation.cancel')}>
         <div
-          className='absolute right-6 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-white/8 backdrop-blur-[2px]'
+          className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/8 rounded-lg backdrop-blur-[2px] cursor-pointer'
           onClick={onCancel}>
-          <RiCloseLine className='h-4 w-4 text-gray-500' />
+          <RiCloseLine className='w-4 h-4 text-gray-500'/>
         </div>
       </Tooltip>
     </div>,
diff --git a/app/components/base/image-uploader/text-generation-image-uploader.tsx b/app/components/base/image-uploader/text-generation-image-uploader.tsx
index 99aef56..ed82f12 100644
--- a/app/components/base/image-uploader/text-generation-image-uploader.tsx
+++ b/app/components/base/image-uploader/text-generation-image-uploader.tsx
@@ -50,15 +50,15 @@
     >
       <PortalToFollowElemTrigger onClick={handleToggle}>
         <div className={`
-          relative flex h-8 items-center justify-center rounded-lg bg-components-button-tertiary-bg px-3 text-xs text-text-tertiary hover:bg-components-button-tertiary-bg-hover
+          relative flex items-center justify-center px-3 h-8 bg-gray-100 hover:bg-gray-200 text-xs text-gray-500 rounded-lg
           ${disabled ? 'cursor-not-allowed' : 'cursor-pointer'}
         `}>
-          <Link03 className='mr-2 h-4 w-4' />
+          <Link03 className='mr-2 w-4 h-4' />
           {t('common.imageUploader.pasteImageLink')}
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-10'>
-        <div className='w-[320px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg p-2 shadow-lg'>
+        <div className='p-2 w-[320px] bg-white border-[0.5px] border-gray-200 rounded-lg shadow-lg'>
           <ImageLinkInput onUpload={handleUpload} />
         </div>
       </PortalToFollowElemContent>
@@ -98,11 +98,11 @@
       {
         hovering => (
           <div className={`
-            flex h-8 cursor-pointer items-center justify-center rounded-lg
-            bg-components-button-tertiary-bg px-3 text-xs text-text-tertiary
-            ${hovering && 'hover:bg-components-button-tertiary-bg-hover'}
+            flex items-center justify-center px-3 h-8 bg-gray-100
+            text-xs text-gray-500 rounded-lg cursor-pointer
+            ${hovering && 'bg-gray-200'}
           `}>
-            <ImagePlus className='mr-2 h-4 w-4' />
+            <ImagePlus className='mr-2 w-4 h-4' />
             {t('common.imageUploader.uploadFromComputer')}
           </div>
         )
diff --git a/app/components/base/image-uploader/uploader.tsx b/app/components/base/image-uploader/uploader.tsx
index 2f922ec..c6f5e70 100644
--- a/app/components/base/image-uploader/uploader.tsx
+++ b/app/components/base/image-uploader/uploader.tsx
@@ -5,7 +5,7 @@
 import { ALLOW_FILE_EXTENSIONS } from '@/types/app'
 
 type UploaderProps = {
-  children: (hovering: boolean) => React.JSX.Element
+  children: (hovering: boolean) => JSX.Element
   onUpload: (imageFile: ImageFile) => void
   closePopover?: () => void
   limit?: number
@@ -44,7 +44,7 @@
     >
       {children(hovering)}
       <input
-        className='absolute inset-0 block w-full cursor-pointer text-[0] opacity-0 disabled:cursor-not-allowed'
+        className='absolute block inset-0 opacity-0 text-[0] w-full disabled:cursor-not-allowed cursor-pointer'
         onClick={e => ((e.target as HTMLInputElement).value = '')}
         type='file'
         accept={ALLOW_FILE_EXTENSIONS.map(ext => `.${ext}`).join(',')}
diff --git a/app/components/base/image-uploader/video-preview.tsx b/app/components/base/image-uploader/video-preview.tsx
index 09ca3d8..1529141 100644
--- a/app/components/base/image-uploader/video-preview.tsx
+++ b/app/components/base/image-uploader/video-preview.tsx
@@ -13,23 +13,24 @@
   onCancel,
 }) => {
   return createPortal(
-    <div className='fixed inset-0 z-[1000] flex items-center justify-center bg-black/80 p-8' onClick={e => e.stopPropagation()}>
+    <div className='fixed inset-0 p-8 flex items-center justify-center bg-black/80 z-[1000]' onClick={e => e.stopPropagation()}>
       <div>
         <video controls title={title} autoPlay={false} preload="metadata">
           <source
             type="video/mp4"
             src={url}
-            className='max-h-full max-w-full'
+            className='max-w-full max-h-full'
           />
         </video>
       </div>
       <div
-        className='absolute right-6 top-6 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-white/[0.08] backdrop-blur-[2px]'
+        className='absolute top-6 right-6 flex items-center justify-center w-8 h-8 bg-white/[0.08] rounded-lg backdrop-blur-[2px] cursor-pointer'
         onClick={onCancel}
       >
-        <RiCloseLine className='h-4 w-4 text-gray-500'/>
+        <RiCloseLine className='w-4 h-4 text-gray-500'/>
       </div>
-    </div>,
+    </div>
+    ,
     document.body,
   )
 }
diff --git a/app/components/base/input-number/index.tsx b/app/components/base/input-number/index.tsx
index 98efc94..316d863 100644
--- a/app/components/base/input-number/index.tsx
+++ b/app/components/base/input-number/index.tsx
@@ -8,28 +8,24 @@
   value?: number
   onChange: (value?: number) => void
   amount?: number
-  size?: 'regular' | 'large'
+  size?: 'sm' | 'md'
   max?: number
   min?: number
   defaultValue?: number
-  disabled?: boolean
-  wrapClassName?: string
-  controlWrapClassName?: string
-  controlClassName?: string
 } & Omit<InputProps, 'value' | 'onChange' | 'size' | 'min' | 'max' | 'defaultValue'>
 
 export const InputNumber: FC<InputNumberProps> = (props) => {
-  const { unit, className, onChange, amount = 1, value, size = 'regular', max, min, defaultValue, wrapClassName, controlWrapClassName, controlClassName, disabled, ...rest } = props
+  const { unit, className, onChange, amount = 1, value, size = 'md', max, min, defaultValue, ...rest } = props
 
   const isValidValue = (v: number) => {
-    if (typeof max === 'number' && v > max)
+    if (max && v > max)
       return false
-    return !(typeof min === 'number' && v < min)
+    if (min && v < min)
+      return false
+    return true
   }
 
   const inc = () => {
-    if (disabled) return
-
     if (value === undefined) {
       onChange(defaultValue)
       return
@@ -40,8 +36,6 @@
     onChange(newValue)
   }
   const dec = () => {
-    if (disabled) return
-
     if (value === undefined) {
       onChange(defaultValue)
       return
@@ -52,7 +46,7 @@
     onChange(newValue)
   }
 
-  return <div className={classNames('flex', wrapClassName)}>
+  return <div className='flex'>
     <Input {...rest}
       // disable default controller
       type='text'
@@ -60,7 +54,6 @@
       value={value}
       max={max}
       min={min}
-      disabled={disabled}
       onChange={(e) => {
         if (e.target.value === '')
           onChange(undefined)
@@ -74,39 +67,18 @@
         onChange(parsed)
       }}
       unit={unit}
-      size={size}
     />
-    <div className={classNames(
-      'flex flex-col bg-components-input-bg-normal rounded-r-md border-l border-divider-subtle text-text-tertiary focus:shadow-xs',
-      disabled && 'opacity-50 cursor-not-allowed',
-      controlWrapClassName)}
-    >
-      <button
-        type='button'
-        onClick={inc}
-        disabled={disabled}
-        aria-label='increment'
-        className={classNames(
-          size === 'regular' ? 'pt-1' : 'pt-1.5',
-          'px-1.5 hover:bg-components-input-bg-hover',
-          disabled && 'cursor-not-allowed hover:bg-transparent',
-          controlClassName,
-        )}
-      >
+    <div className='flex flex-col bg-components-input-bg-normal rounded-r-md border-l border-divider-subtle text-text-tertiary focus:shadow-xs'>
+      <button onClick={inc} className={classNames(
+        size === 'sm' ? 'pt-1' : 'pt-1.5',
+        'px-1.5 hover:bg-components-input-bg-hover',
+      )}>
         <RiArrowUpSLine className='size-3' />
       </button>
-      <button
-        type='button'
-        onClick={dec}
-        disabled={disabled}
-        aria-label='decrement'
-        className={classNames(
-          size === 'regular' ? 'pb-1' : 'pb-1.5',
-          'px-1.5 hover:bg-components-input-bg-hover',
-          disabled && 'cursor-not-allowed hover:bg-transparent',
-          controlClassName,
-        )}
-      >
+      <button onClick={dec} className={classNames(
+        size === 'sm' ? 'pb-1' : 'pb-1.5',
+        'px-1.5 hover:bg-components-input-bg-hover',
+      )}>
         <RiArrowDownSLine className='size-3' />
       </button>
     </div>
diff --git a/app/components/base/input/index.tsx b/app/components/base/input/index.tsx
index 30fd90a..044fc27 100644
--- a/app/components/base/input/index.tsx
+++ b/app/components/base/input/index.tsx
@@ -4,7 +4,6 @@
 import { RiCloseCircleFill, RiErrorWarningLine, RiSearchLine } from '@remixicon/react'
 import { type VariantProps, cva } from 'class-variance-authority'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 export const inputVariants = cva(
   '',
@@ -30,7 +29,7 @@
   wrapperClassName?: string
   styleCss?: CSSProperties
   unit?: string
-} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> & VariantProps<typeof inputVariants>
+} & React.InputHTMLAttributes<HTMLInputElement> & VariantProps<typeof inputVariants>
 
 const Input = ({
   size,
@@ -44,18 +43,18 @@
   styleCss,
   value,
   placeholder,
-  onChange = noop,
+  onChange,
   unit,
   ...props
 }: InputProps) => {
   const { t } = useTranslation()
   return (
     <div className={cn('relative w-full', wrapperClassName)}>
-      {showLeftIcon && <RiSearchLine className={cn('absolute left-2 top-1/2 h-4 w-4 -translate-y-1/2 text-components-input-text-placeholder')} />}
+      {showLeftIcon && <RiSearchLine className={cn('absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-components-input-text-placeholder')} />}
       <input
         style={styleCss}
         className={cn(
-          'w-full appearance-none border border-transparent bg-components-input-bg-normal py-[7px] text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs',
+          'w-full py-[7px] bg-components-input-bg-normal border border-transparent text-components-input-text-filled hover:bg-components-input-bg-hover hover:border-components-input-border-hover focus:bg-components-input-bg-active focus:border-components-input-border-active focus:shadow-xs placeholder:text-components-input-text-placeholder appearance-none outline-none caret-primary-600',
           inputVariants({ size }),
           showLeftIcon && 'pl-[26px]',
           showLeftIcon && size === 'large' && 'pl-7',
@@ -63,8 +62,8 @@
           showClearIcon && value && size === 'large' && 'pr-7',
           destructive && 'pr-[26px]',
           destructive && size === 'large' && 'pr-7',
-          disabled && 'cursor-not-allowed border-transparent bg-components-input-bg-disabled text-components-input-text-filled-disabled hover:border-transparent hover:bg-components-input-bg-disabled',
-          destructive && 'border-components-input-border-destructive bg-components-input-bg-destructive text-components-input-text-filled hover:border-components-input-border-destructive hover:bg-components-input-bg-destructive focus:border-components-input-border-destructive focus:bg-components-input-bg-destructive',
+          disabled && 'bg-components-input-bg-disabled border-transparent text-components-input-text-filled-disabled cursor-not-allowed hover:bg-components-input-bg-disabled hover:border-transparent',
+          destructive && 'bg-components-input-bg-destructive border-components-input-border-destructive text-components-input-text-filled hover:bg-components-input-bg-destructive hover:border-components-input-border-destructive focus:bg-components-input-bg-destructive focus:border-components-input-border-destructive',
           className,
         )}
         placeholder={placeholder ?? (showLeftIcon
@@ -76,16 +75,16 @@
         {...props}
       />
       {showClearIcon && value && !disabled && !destructive && (
-        <div className={cn('group absolute right-2 top-1/2 -translate-y-1/2 cursor-pointer p-[1px]')} onClick={onClear}>
-          <RiCloseCircleFill className='h-3.5 w-3.5 cursor-pointer text-text-quaternary group-hover:text-text-tertiary' />
+        <div className={cn('absolute right-2 top-1/2 -translate-y-1/2 group p-[1px] cursor-pointer')} onClick={onClear}>
+          <RiCloseCircleFill className='w-3.5 h-3.5 text-text-quaternary cursor-pointer group-hover:text-text-tertiary' />
         </div>
       )}
       {destructive && (
-        <RiErrorWarningLine className='absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-text-destructive-secondary' />
+        <RiErrorWarningLine className='absolute right-2 top-1/2 -translate-y-1/2 w-4 h-4 text-text-destructive-secondary' />
       )}
       {
         unit && (
-          <div className='system-sm-regular absolute right-2 top-1/2 -translate-y-1/2 text-text-tertiary'>
+          <div className='absolute right-2 top-1/2 -translate-y-1/2 system-sm-regular text-text-tertiary'>
             {unit}
           </div>
         )
diff --git a/app/components/base/linked-apps-panel/index.tsx b/app/components/base/linked-apps-panel/index.tsx
index 4ee67c5..4320cb0 100644
--- a/app/components/base/linked-apps-panel/index.tsx
+++ b/app/components/base/linked-apps-panel/index.tsx
@@ -27,15 +27,15 @@
   isMobile,
 }: ILikedItemProps) => {
   return (
-    <Link className={cn('group/link-item flex h-8 w-full cursor-pointer items-center justify-between rounded-lg px-2 hover:bg-state-base-hover', isMobile && 'justify-center')} href={`/app/${detail?.id}/overview`}>
+    <Link className={cn('group/link-item flex items-center justify-between w-full h-8 rounded-lg hover:bg-state-base-hover cursor-pointer px-2', isMobile && 'justify-center')} href={`/app/${detail?.id}/overview`}>
       <div className='flex items-center'>
-        <div className={cn('relative h-6 w-6 rounded-md')}>
+        <div className={cn('relative w-6 h-6 rounded-md')}>
           <AppIcon size='tiny' iconType={detail.icon_type} icon={detail.icon} background={detail.icon_background} imageUrl={detail.icon_url} />
         </div>
-        {!isMobile && <div className={cn(' system-sm-medium ml-2 truncate text-text-primary')}>{detail?.name || '--'}</div>}
+        {!isMobile && <div className={cn(' ml-2 truncate system-sm-medium text-text-primary')}>{detail?.name || '--'}</div>}
       </div>
-      <div className='system-2xs-medium-uppercase shrink-0 text-text-tertiary group-hover/link-item:hidden'>{appTypeMap[detail.mode]}</div>
-      <RiArrowRightUpLine className='hidden h-4 w-4 text-text-tertiary group-hover/link-item:block' />
+      <div className='group-hover/link-item:hidden shrink-0 system-2xs-medium-uppercase text-text-tertiary'>{appTypeMap[detail.mode]}</div>
+      <RiArrowRightUpLine className='hidden group-hover/link-item:block w-4 h-4 text-text-tertiary' />
     </Link>
   )
 }
@@ -51,8 +51,8 @@
 }) => {
   const { t } = useTranslation()
   return (
-    <div className='w-[320px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg  backdrop-blur-[5px]'>
-      <div className='system-xs-medium-uppercase mb-0.5 mt-1 pl-2 text-text-tertiary'>{relatedApps.length || '--'} {t('common.datasetMenus.relatedApp')}</div>
+    <div className='p-1 w-[320px] bg-components-panel-bg-blur border-[0.5px] border-components-panel-border shadow-lg rounded-xl  backdrop-blur-[5px]'>
+      <div className='mt-1 mb-0.5 pl-2 system-xs-medium-uppercase text-text-tertiary'>{relatedApps.length || '--'} {t('common.datasetMenus.relatedApp')}</div>
       {relatedApps.map((item, index) => (
         <LikedItem key={index} detail={item} isMobile={isMobile} />
       ))}
diff --git a/app/components/base/list-empty/index.tsx b/app/components/base/list-empty/index.tsx
index db3eaff..e925878 100644
--- a/app/components/base/list-empty/index.tsx
+++ b/app/components/base/list-empty/index.tsx
@@ -1,4 +1,3 @@
-import type { ReactNode } from 'react'
 import React from 'react'
 import { Variable02 } from '../icons/src/vender/solid/development'
 import VerticalLine from './vertical-line'
@@ -6,29 +5,27 @@
 
 type ListEmptyProps = {
   title?: string
-  description?: ReactNode
-  icon?: ReactNode
+  description?: React.ReactNode
 }
 
 const ListEmpty = ({
   title,
   description,
-  icon,
 }: ListEmptyProps) => {
   return (
-    <div className='flex w-[320px] flex-col items-start gap-2 rounded-[10px] bg-workflow-process-bg p-4'>
-      <div className='flex h-10 w-10 items-center justify-center gap-2 rounded-[10px]'>
-        <div className='relative flex grow items-center justify-center gap-2 self-stretch rounded-[10px] border-[0.5px]
-          border-components-card-border bg-components-card-bg p-1 shadow-lg'>
-          {icon || <Variable02 className='h-5 w-5 shrink-0 text-text-accent' />}
+    <div className='flex w-[320px] p-4 flex-col items-start gap-2 rounded-[10px] bg-workflow-process-bg'>
+      <div className='flex w-10 h-10 justify-center items-center gap-2 rounded-[10px]'>
+        <div className='flex relative p-1 justify-center items-center gap-2 grow self-stretch rounded-[10px]
+          border-[0.5px] border-components-card-border bg-components-card-bg shadow-lg'>
+          <Variable02 className='w-5 h-5 shrink-0 text-text-accent' />
           <VerticalLine className='absolute -right-[1px] top-1/2 -translate-y-1/4'/>
           <VerticalLine className='absolute -left-[1px] top-1/2 -translate-y-1/4'/>
-          <HorizontalLine className='absolute left-3/4 top-0 -translate-x-1/4 -translate-y-1/2'/>
-          <HorizontalLine className='absolute left-3/4 top-full -translate-x-1/4 -translate-y-1/2' />
+          <HorizontalLine className='absolute top-0 left-3/4 -translate-x-1/4 -translate-y-1/2'/>
+          <HorizontalLine className='absolute top-full left-3/4 -translate-x-1/4 -translate-y-1/2' />
         </div>
       </div>
       <div className='flex flex-col items-start gap-1 self-stretch'>
-        <div className='system-sm-medium text-text-secondary'>{title}</div>
+        <div className='text-text-secondary system-sm-medium'>{title}</div>
         {description}
       </div>
     </div>
diff --git a/app/components/base/loading/index.tsx b/app/components/base/loading/index.tsx
index 2ae3310..aec4120 100644
--- a/app/components/base/loading/index.tsx
+++ b/app/components/base/loading/index.tsx
@@ -8,7 +8,7 @@
   { type = 'area' }: ILoadingProps = { type: 'area' },
 ) => {
   return (
-    <div className={`flex w-full items-center justify-center ${type === 'app' ? 'h-full' : ''}`}>
+    <div className={`flex w-full justify-center items-center ${type === 'app' ? 'h-full' : ''}`}>
       <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" className='spin-animation'>
         <g clipPath="url(#clip0_324_2488)">
           <path d="M15 0H10C9.44772 0 9 0.447715 9 1V6C9 6.55228 9.44772 7 10 7H15C15.5523 7 16 6.55228 16 6V1C16 0.447715 15.5523 0 15 0Z" fill="#1C64F2" />
diff --git a/app/components/base/logo/logo-embedded-chat-avatar.tsx b/app/components/base/logo/logo-embedded-chat-avatar.tsx
index 170a23b..7fd9482 100644
--- a/app/components/base/logo/logo-embedded-chat-avatar.tsx
+++ b/app/components/base/logo/logo-embedded-chat-avatar.tsx
@@ -1,5 +1,4 @@
 import type { FC } from 'react'
-import { WEB_PREFIX } from '@/config'
 
 type LogoEmbeddedChatAvatarProps = {
   className?: string
@@ -9,8 +8,8 @@
 }) => {
   return (
     <img
-      src={`${WEB_PREFIX}/logo/logo-embedded-chat-avatar.png`}
-      className={`block h-10 w-10 ${className}`}
+      src='/logo/logo-embedded-chat-avatar.png'
+      className={`block w-10 h-10 ${className}`}
       alt='logo'
     />
   )
diff --git a/app/components/base/logo/logo-embedded-chat-header.tsx b/app/components/base/logo/logo-embedded-chat-header.tsx
index 012b659..976ce0c 100644
--- a/app/components/base/logo/logo-embedded-chat-header.tsx
+++ b/app/components/base/logo/logo-embedded-chat-header.tsx
@@ -1,6 +1,4 @@
-import classNames from '@/utils/classnames'
 import type { FC } from 'react'
-import { WEB_PREFIX } from '@/config'
 
 type LogoEmbeddedChatHeaderProps = {
   className?: string
@@ -9,16 +7,13 @@
 const LogoEmbeddedChatHeader: FC<LogoEmbeddedChatHeaderProps> = ({
   className,
 }) => {
-  return <picture>
-    <source media="(resolution: 1x)" srcSet='/logo/logo-embedded-chat-header.png' />
-    <source media="(resolution: 2x)" srcSet='/logo/logo-embedded-chat-header@2x.png' />
-    <source media="(resolution: 3x)" srcSet='/logo/logo-embedded-chat-header@3x.png' />
+  return (
     <img
-      src={`${WEB_PREFIX}/logo/logo-embedded-chat-header.png`}
+      src='/logo/logo-embedded-chat-header.png'
+      className={`block w-auto h-6 ${className}`}
       alt='logo'
-      className={classNames('block h-6 w-auto', className)}
     />
-  </picture>
+  )
 }
 
 export default LogoEmbeddedChatHeader
diff --git a/app/components/base/logo/logo-site.tsx b/app/components/base/logo/logo-site.tsx
new file mode 100644
index 0000000..a399ff3
--- /dev/null
+++ b/app/components/base/logo/logo-site.tsx
@@ -0,0 +1,29 @@
+'use client'
+import type { FC } from 'react'
+import classNames from '@/utils/classnames'
+import { useSelector } from '@/context/app-context'
+
+type LogoSiteProps = {
+  className?: string
+}
+
+const LogoSite: FC<LogoSiteProps> = ({
+  className,
+}) => {
+  const { theme } = useSelector((s) => {
+    return {
+      theme: s.theme,
+    }
+  })
+
+  const src = theme === 'light' ? '/logo/logo-site.png' : `/logo/logo-site-${theme}.png`
+  return (
+    <img
+      src={src}
+      className={classNames('block w-auto h-10', className)}
+      alt='logo'
+    />
+  )
+}
+
+export default LogoSite
diff --git a/app/components/base/markdown-blocks/button.tsx b/app/components/base/markdown-blocks/button.tsx
index 81a3f30..77e3cc1 100644
--- a/app/components/base/markdown-blocks/button.tsx
+++ b/app/components/base/markdown-blocks/button.tsx
@@ -22,7 +22,7 @@
   return <Button
     variant={variant}
     size={size}
-    className={cn('!h-auto min-h-8 select-none whitespace-normal !px-3')}
+    className={cn('!h-8 !px-3 select-none')}
     onClick={() => {
       if (is_valid_url(link)) {
         window.open(link, '_blank')
diff --git a/app/components/base/markdown-blocks/form.tsx b/app/components/base/markdown-blocks/form.tsx
index ab7e7ce..7ce3e82 100644
--- a/app/components/base/markdown-blocks/form.tsx
+++ b/app/components/base/markdown-blocks/form.tsx
@@ -2,10 +2,6 @@
 import Button from '@/app/components/base/button'
 import Input from '@/app/components/base/input'
 import Textarea from '@/app/components/base/textarea'
-import DatePicker from '@/app/components/base/date-and-time-picker/date-picker'
-import TimePicker from '@/app/components/base/date-and-time-picker/time-picker'
-import Checkbox from '@/app/components/base/checkbox'
-import Select from '@/app/components/base/select'
 import { useChatContext } from '@/app/components/base/chat/chat/context'
 
 enum DATA_FORMAT {
@@ -23,13 +19,18 @@
   PASSWORD = 'password',
   EMAIL = 'email',
   NUMBER = 'number',
-  DATE = 'date',
-  TIME = 'time',
-  DATETIME = 'datetime',
-  CHECKBOX = 'checkbox',
-  SELECT = 'select',
 }
 const MarkdownForm = ({ node }: any) => {
+  // const supportedTypes = ['text', 'password', 'email', 'number']
+  //   <form data-format="text">
+  //      <label for="username">Username:</label>
+  //      <input type="text" name="username" />
+  //      <label for="password">Password:</label>
+  //      <input type="password" name="password" />
+  //      <label for="content">Content:</label>
+  //      <textarea name="content"></textarea>
+  //      <button data-size="small" data-variant="primary">Login</button>
+  //   </form>
   const { onSend } = useChatContext()
 
   const [formValues, setFormValues] = useState<{ [key: string]: any }>({})
@@ -82,104 +83,13 @@
             <label
               key={index}
               htmlFor={child.properties.for}
-              className="system-md-semibold my-2 text-text-secondary"
+              className="my-2 system-md-semibold text-text-secondary"
             >
               {child.children[0]?.value || ''}
             </label>
           )
         }
         if (child.tagName === SUPPORTED_TAGS.INPUT && Object.values(SUPPORTED_TYPES).includes(child.properties.type)) {
-          if (child.properties.type === SUPPORTED_TYPES.DATE || child.properties.type === SUPPORTED_TYPES.DATETIME) {
-            return (
-              <DatePicker
-                key={index}
-                value={formValues[child.properties.name]}
-                needTimePicker={child.properties.type === SUPPORTED_TYPES.DATETIME}
-                onChange={(date) => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: date,
-                  }))
-                }}
-                onClear={() => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: undefined,
-                  }))
-                }}
-              />
-            )
-          }
-          if (child.properties.type === SUPPORTED_TYPES.TIME) {
-            return (
-              <TimePicker
-                key={index}
-                value={formValues[child.properties.name]}
-                onChange={(time) => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: time,
-                  }))
-                }}
-                onClear={() => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: undefined,
-                  }))
-                }}
-              />
-            )
-          }
-          if (child.properties.type === SUPPORTED_TYPES.CHECKBOX) {
-            return (
-              <div className='mt-2 flex h-6 items-center space-x-2' key={index}>
-                <Checkbox
-                  key={index}
-                  checked={formValues[child.properties.name]}
-                  onCheck={() => {
-                    setFormValues(prevValues => ({
-                      ...prevValues,
-                      [child.properties.name]: !prevValues[child.properties.name],
-                    }))
-                  }}
-                />
-                <span>{child.properties.dataTip || child.properties['data-tip'] || ''}</span>
-              </div>
-            )
-          }
-          if (child.properties.type === SUPPORTED_TYPES.SELECT) {
-            return (
-              <Select
-                key={index}
-                allowSearch={false}
-                className="w-full"
-                items={(() => {
-                  let options = child.properties.dataOptions || child.properties['data-options'] || []
-                  if (typeof options === 'string') {
-                    try {
-                      options = JSON.parse(options)
-                    }
-                    catch (e) {
-                      console.error('Failed to parse options:', e)
-                      options = []
-                    }
-                  }
-                  return options.map((option: string) => ({
-                    name: option,
-                    value: option,
-                  }))
-                })()}
-                defaultValue={formValues[child.properties.name]}
-                onSelect={(item) => {
-                  setFormValues(prevValues => ({
-                    ...prevValues,
-                    [child.properties.name]: item.value,
-                  }))
-                }}
-              />
-            )
-          }
-
           return (
             <Input
               key={index}
diff --git a/app/components/base/markdown.tsx b/app/components/base/markdown.tsx
index bc6fe0e..b26d9df 100644
--- a/app/components/base/markdown.tsx
+++ b/app/components/base/markdown.tsx
@@ -7,28 +7,20 @@
 import RemarkGfm from 'remark-gfm'
 import RehypeRaw from 'rehype-raw'
 import SyntaxHighlighter from 'react-syntax-highlighter'
-import {
-  atelierHeathDark,
-  atelierHeathLight,
-} from 'react-syntax-highlighter/dist/esm/styles/hljs'
+import { atelierHeathLight } from 'react-syntax-highlighter/dist/esm/styles/hljs'
 import { Component, memo, useMemo, useRef, useState } from 'react'
-import { flow } from 'lodash-es'
-import ActionButton from '@/app/components/base/action-button'
-import CopyIcon from '@/app/components/base/copy-icon'
+import type { CodeComponent } from 'react-markdown/lib/ast-to-react'
+import cn from '@/utils/classnames'
+import CopyBtn from '@/app/components/base/copy-btn'
 import SVGBtn from '@/app/components/base/svg'
 import Flowchart from '@/app/components/base/mermaid'
 import ImageGallery from '@/app/components/base/image-gallery'
 import { useChatContext } from '@/app/components/base/chat/chat/context'
 import VideoGallery from '@/app/components/base/video-gallery'
 import AudioGallery from '@/app/components/base/audio-gallery'
+import SVGRenderer from '@/app/components/base/svg-gallery'
 import MarkdownButton from '@/app/components/base/markdown-blocks/button'
 import MarkdownForm from '@/app/components/base/markdown-blocks/form'
-import MarkdownMusic from '@/app/components/base/markdown-blocks/music'
-import ThinkBlock from '@/app/components/base/markdown-blocks/think-block'
-import { Theme } from '@/types/app'
-import useTheme from '@/hooks/use-theme'
-import cn from '@/utils/classnames'
-import SVGRenderer from './svg-gallery'
 
 // Available language https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_HLJS.MD
 const capitalizationLanguageNameMap: Record<string, string> = {
@@ -52,7 +44,6 @@
   json: 'JSON',
   latex: 'Latex',
   svg: 'SVG',
-  abc: 'ABC',
 }
 const getCorrectCapitalizationLanguageName = (language: string) => {
   if (!language)
@@ -67,32 +58,9 @@
 const preprocessLaTeX = (content: string) => {
   if (typeof content !== 'string')
     return content
-
-  const codeBlockRegex = /```[\s\S]*?```/g
-  const codeBlocks = content.match(codeBlockRegex) || []
-  let processedContent = content.replace(codeBlockRegex, 'CODE_BLOCK_PLACEHOLDER')
-
-  processedContent = flow([
-    (str: string) => str.replace(/\\\[(.*?)\\\]/g, (_, equation) => `$$${equation}$$`),
-    (str: string) => str.replace(/\\\[(.*?)\\\]/gs, (_, equation) => `$$${equation}$$`),
-    (str: string) => str.replace(/\\\((.*?)\\\)/g, (_, equation) => `$$${equation}$$`),
-    (str: string) => str.replace(/(^|[^\\])\$(.+?)\$/g, (_, prefix, equation) => `${prefix}$${equation}$`),
-  ])(processedContent)
-
-  codeBlocks.forEach((block) => {
-    processedContent = processedContent.replace('CODE_BLOCK_PLACEHOLDER', block)
-  })
-
-  return processedContent
-}
-
-const preprocessThinkTag = (content: string) => {
-  const thinkOpenTagRegex = /<think>\n/g
-  const thinkCloseTagRegex = /\n<\/think>/g
-  return flow([
-    (str: string) => str.replace(thinkOpenTagRegex, '<details data-think=true>\n'),
-    (str: string) => str.replace(thinkCloseTagRegex, '\n[ENDTHINKFLAG]</details>'),
-  ])(content)
+  return content.replace(/\\\[(.*?)\\\]/g, (_, equation) => `$$${equation}$$`)
+    .replace(/\\\((.*?)\\\)/g, (_, equation) => `$$${equation}$$`)
+    .replace(/(^|[^\\])\$(.+?)\$/g, (_, prefix, equation) => `${prefix}$${equation}$`)
 }
 
 export function PreCode(props: { children: any }) {
@@ -121,91 +89,80 @@
 // visit https://reactjs.org/docs/error-decoder.html?invariant=185 for the full message
 // or use the non-minified dev environment for full errors and additional helpful warnings.
 
-const CodeBlock: any = memo(({ inline, className, children = '', ...props }: any) => {
-  const { theme } = useTheme()
+const CodeBlock: CodeComponent = memo(({ inline, className, children, ...props }) => {
   const [isSVG, setIsSVG] = useState(true)
   const match = /language-(\w+)/.exec(className || '')
   const language = match?.[1]
   const languageShowName = getCorrectCapitalizationLanguageName(language || '')
   const chartData = useMemo(() => {
-    const str = String(children).replace(/\n$/, '')
     if (language === 'echarts') {
       try {
-        return JSON.parse(str)
+        return JSON.parse(String(children).replace(/\n$/, ''))
       }
-      catch { }
-      try {
-        // eslint-disable-next-line no-new-func, sonarjs/code-eval
-        return new Function(`return ${str}`)()
-      }
-      catch { }
+      catch (error) { }
     }
-    return JSON.parse('{"title":{"text":"ECharts error - Wrong option."}}')
+    return JSON.parse('{"title":{"text":"ECharts error - Wrong JSON format."}}')
   }, [language, children])
 
   const renderCodeContent = useMemo(() => {
     const content = String(children).replace(/\n$/, '')
-    switch (language) {
-      case 'mermaid':
-        if (isSVG)
-          return <Flowchart PrimitiveCode={content} />
-        break
-      case 'echarts':
-        return (
-          <div style={{ minHeight: '350px', minWidth: '100%', overflowX: 'scroll' }}>
-            <ErrorBoundary>
-              <ReactEcharts option={chartData} style={{ minWidth: '700px' }} />
-            </ErrorBoundary>
-          </div>
-        )
-      case 'svg':
-        if (isSVG) {
-          return (
-            <ErrorBoundary>
-              <SVGRenderer content={content} />
-            </ErrorBoundary>
-          )
-        }
-        break
-      case 'abc':
-        return (
-          <ErrorBoundary>
-            <MarkdownMusic children={content} />
-          </ErrorBoundary>
-        )
-      default:
-        return (
-          <SyntaxHighlighter
-            {...props}
-            style={theme === Theme.light ? atelierHeathLight : atelierHeathDark}
-            customStyle={{
-              paddingLeft: 12,
-              borderBottomLeftRadius: '10px',
-              borderBottomRightRadius: '10px',
-              backgroundColor: 'var(--color-components-input-bg-normal)',
-            }}
-            language={match?.[1]}
-            showLineNumbers
-            PreTag="div"
-          >
-            {content}
-          </SyntaxHighlighter>
-        )
+    if (language === 'mermaid' && isSVG) {
+      return <Flowchart PrimitiveCode={content} />
     }
-  }, [children, language, isSVG, chartData, props, theme, match])
+    else if (language === 'echarts') {
+      return (
+        <div style={{ minHeight: '350px', minWidth: '100%', overflowX: 'scroll' }}>
+          <ErrorBoundary>
+            <ReactEcharts option={chartData} style={{ minWidth: '700px' }} />
+          </ErrorBoundary>
+        </div>
+      )
+    }
+    else if (language === 'svg' && isSVG) {
+      return (
+        <ErrorBoundary>
+          <SVGRenderer content={content} />
+        </ErrorBoundary>
+      )
+    }
+    else {
+      return (
+        <SyntaxHighlighter
+          {...props}
+          style={atelierHeathLight}
+          customStyle={{
+            paddingLeft: 12,
+            backgroundColor: '#fff',
+          }}
+          language={match?.[1]}
+          showLineNumbers
+          PreTag="div"
+        >
+          {content}
+        </SyntaxHighlighter>
+      )
+    }
+  }, [language, match, props, children, chartData, isSVG])
 
   if (inline || !match)
     return <code {...props} className={className}>{children}</code>
 
   return (
-    <div className='relative'>
-      <div className='flex h-8 items-center justify-between rounded-t-[10px] border-b border-divider-subtle bg-components-input-bg-normal p-1 pl-3'>
-        <div className='system-xs-semibold-uppercase text-text-secondary'>{languageShowName}</div>
-        <div className='flex items-center gap-1'>
+    <div>
+      <div
+        className='flex justify-between h-8 items-center p-1 pl-3 border-b'
+        style={{
+          borderColor: 'rgba(0, 0, 0, 0.05)',
+        }}
+      >
+        <div className='text-[13px] text-gray-500 font-normal'>{languageShowName}</div>
+        <div style={{ display: 'flex' }}>
           {(['mermaid', 'svg']).includes(language!) && <SVGBtn isSVG={isSVG} setIsSVG={setIsSVG} />}
-          <ActionButton>
-            <CopyIcon content={String(children).replace(/\n$/, '')} />
-          </ActionButton>
+          <CopyBtn
+            className='mr-1'
+            value={String(children).replace(/\n$/, '')}
+            isPlain
+          />
         </div>
       </div>
       {renderCodeContent}
@@ -214,16 +171,16 @@
 })
 CodeBlock.displayName = 'CodeBlock'
 
-const VideoBlock: any = memo(({ node }: any) => {
-  const srcs = node.children.filter((child: any) => 'properties' in child).map((child: any) => (child as any).properties.src)
+const VideoBlock: CodeComponent = memo(({ node }) => {
+  const srcs = node.children.filter(child => 'properties' in child).map(child => (child as any).properties.src)
   if (srcs.length === 0)
     return null
   return <VideoGallery key={srcs.join()} srcs={srcs} />
 })
 VideoBlock.displayName = 'VideoBlock'
 
-const AudioBlock: any = memo(({ node }: any) => {
-  const srcs = node.children.filter((child: any) => 'properties' in child).map((child: any) => (child as any).properties.src)
+const AudioBlock: CodeComponent = memo(({ node }) => {
+  const srcs = node.children.filter(child => 'properties' in child).map(child => (child as any).properties.src)
   if (srcs.length === 0)
     return null
   return <AudioGallery key={srcs.join()} srcs={srcs} />
@@ -241,44 +198,36 @@
   const children_node = node.children
   if (children_node && children_node[0] && 'tagName' in children_node[0] && children_node[0].tagName === 'img') {
     return (
-      <div className="markdown-img-wrapper">
+      <>
         <ImageGallery srcs={[children_node[0].properties.src]} />
-        {
-          Array.isArray(paragraph.children) && paragraph.children.length > 1 && (
-            <div className="mt-2">{paragraph.children.slice(1)}</div>
-          )
-        }
-      </div>
+        <p>{paragraph.children.slice(1)}</p>
+      </>
     )
   }
   return <p>{paragraph.children}</p>
 }
 
 const Img = ({ src }: any) => {
-  return <div className="markdown-img-wrapper"><ImageGallery srcs={[src]} /></div>
+  return (<ImageGallery srcs={[src]} />)
 }
 
-const Link = ({ node, children, ...props }: any) => {
+const Link = ({ node, ...props }: any) => {
   if (node.properties?.href && node.properties.href?.toString().startsWith('abbr')) {
     // eslint-disable-next-line react-hooks/rules-of-hooks
     const { onSend } = useChatContext()
     const hidden_text = decodeURIComponent(node.properties.href.toString().split('abbr:')[1])
 
-    return <abbr className="cursor-pointer underline !decoration-primary-700 decoration-dashed" onClick={() => onSend?.(hidden_text)} title={node.children[0]?.value || ''}>{node.children[0]?.value || ''}</abbr>
+    return <abbr className="underline decoration-dashed !decoration-primary-700 cursor-pointer" onClick={() => onSend?.(hidden_text)} title={node.children[0]?.value}>{node.children[0]?.value}</abbr>
   }
   else {
-    return <a {...props} target="_blank" className="cursor-pointer underline !decoration-primary-700 decoration-dashed">{children || 'Download'}</a>
+    return <a {...props} target="_blank" className="underline decoration-dashed !decoration-primary-700 cursor-pointer">{node.children[0] ? node.children[0]?.value : 'Download'}</a>
   }
 }
 
-export function Markdown(props: { content: string; className?: string; customDisallowedElements?: string[] }) {
-  const latexContent = flow([
-    preprocessThinkTag,
-    preprocessLaTeX,
-  ])(props.content)
-
+export function Markdown(props: { content: string; className?: string }) {
+  const latexContent = preprocessLaTeX(props.content)
   return (
-    <div className={cn('markdown-body', '!text-text-primary', props.className)}>
+    <div className={cn(props.className, 'markdown-body')}>
       <ReactMarkdown
         remarkPlugins={[
           RemarkGfm,
@@ -295,11 +244,6 @@
                 if (node.type === 'element' && node.properties?.ref)
                   delete node.properties.ref
 
-                if (node.type === 'element' && !/^[a-z][a-z0-9]*$/i.test(node.tagName)) {
-                  node.type = 'text'
-                  node.value = `<${node.tagName}`
-                }
-
                 if (node.children)
                   node.children.forEach(iterate)
               }
@@ -307,7 +251,7 @@
             }
           },
         ]}
-        disallowedElements={['iframe', 'head', 'html', 'meta', 'link', 'style', 'body', ...(props.customDisallowedElements || [])]}
+        disallowedElements={['iframe', 'head', 'html', 'meta', 'link', 'style', 'body']}
         components={{
           code: CodeBlock,
           img: Img,
@@ -317,9 +261,9 @@
           p: Paragraph,
           button: MarkdownButton,
           form: MarkdownForm,
-          script: ScriptBlock as any,
-          details: ThinkBlock,
+          script: ScriptBlock,
         }}
+        linkTarget='_blank'
       >
         {/* Markdown detect has problem. */}
         {latexContent}
@@ -344,11 +288,11 @@
   }
 
   render() {
-    // eslint-disable-next-line ts/ban-ts-comment
+    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
     // @ts-expect-error
     if (this.state.hasError)
       return <div>Oops! An error occurred. This could be due to an ECharts runtime error or invalid SVG content. <br />(see the browser console for more information)</div>
-    // eslint-disable-next-line ts/ban-ts-comment
+    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
     // @ts-expect-error
     return this.props.children
   }
diff --git a/app/components/base/mermaid/index.tsx b/app/components/base/mermaid/index.tsx
index a484261..bcc30ca 100644
--- a/app/components/base/mermaid/index.tsx
+++ b/app/components/base/mermaid/index.tsx
@@ -1,528 +1,108 @@
-import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
+import React, { useCallback, useEffect, useRef, useState } from 'react'
 import mermaid from 'mermaid'
+import { usePrevious } from 'ahooks'
 import { useTranslation } from 'react-i18next'
 import { ExclamationTriangleIcon } from '@heroicons/react/24/outline'
-import { MoonIcon, SunIcon } from '@heroicons/react/24/solid'
-import {
-  cleanUpSvgCode,
-  isMermaidCodeComplete,
-  prepareMermaidCode,
-  processSvgForTheme,
-  svgToBase64,
-  waitForDOMElement,
-} from './utils'
 import LoadingAnim from '@/app/components/base/chat/chat/loading-anim'
 import cn from '@/utils/classnames'
 import ImagePreview from '@/app/components/base/image-uploader/image-preview'
-import { Theme } from '@/types/app'
 
-// Global flags and cache for mermaid
-let isMermaidInitialized = false
-const diagramCache = new Map<string, string>()
-let mermaidAPI: any = null
+let mermaidAPI: any
+mermaidAPI = null
 
 if (typeof window !== 'undefined')
   mermaidAPI = mermaid.mermaidAPI
 
-// Theme configurations
-const THEMES = {
-  light: {
-    name: 'Light Theme',
-    background: '#ffffff',
-    primaryColor: '#ffffff',
-    primaryBorderColor: '#000000',
-    primaryTextColor: '#000000',
-    secondaryColor: '#ffffff',
-    tertiaryColor: '#ffffff',
-    nodeColors: [
-      { bg: '#f0f9ff', color: '#0369a1' },
-      { bg: '#f0fdf4', color: '#166534' },
-      { bg: '#fef2f2', color: '#b91c1c' },
-      { bg: '#faf5ff', color: '#7e22ce' },
-      { bg: '#fffbeb', color: '#b45309' },
-    ],
-    connectionColor: '#74a0e0',
-  },
-  dark: {
-    name: 'Dark Theme',
-    background: '#1e293b',
-    primaryColor: '#334155',
-    primaryBorderColor: '#94a3b8',
-    primaryTextColor: '#e2e8f0',
-    secondaryColor: '#475569',
-    tertiaryColor: '#334155',
-    nodeColors: [
-      { bg: '#164e63', color: '#e0f2fe' },
-      { bg: '#14532d', color: '#dcfce7' },
-      { bg: '#7f1d1d', color: '#fee2e2' },
-      { bg: '#581c87', color: '#f3e8ff' },
-      { bg: '#78350f', color: '#fef3c7' },
-    ],
-    connectionColor: '#60a5fa',
-  },
-}
-
-/**
- * Initializes mermaid library with default configuration
- */
-const initMermaid = () => {
-  if (typeof window !== 'undefined' && !isMermaidInitialized) {
-    try {
-      mermaid.initialize({
-        startOnLoad: false,
-        fontFamily: 'sans-serif',
-        securityLevel: 'loose',
-        flowchart: {
-          htmlLabels: true,
-          useMaxWidth: true,
-          diagramPadding: 10,
-          curve: 'basis',
-          nodeSpacing: 50,
-          rankSpacing: 70,
-        },
-        gantt: {
-          titleTopMargin: 25,
-          barHeight: 20,
-          barGap: 4,
-          topPadding: 50,
-          leftPadding: 75,
-          gridLineStartPadding: 35,
-          fontSize: 11,
-          numberSectionStyles: 4,
-          axisFormat: '%Y-%m-%d',
-        },
-        maxTextSize: 50000,
-      })
-      isMermaidInitialized = true
-    }
-    catch (error) {
-      console.error('Mermaid initialization error:', error)
-      return null
-    }
-  }
-  return isMermaidInitialized
+const svgToBase64 = (svgGraph: string) => {
+  const svgBytes = new TextEncoder().encode(svgGraph)
+  const blob = new Blob([svgBytes], { type: 'image/svg+xml;charset=utf-8' })
+  return new Promise((resolve, reject) => {
+    const reader = new FileReader()
+    reader.onloadend = () => resolve(reader.result)
+    reader.onerror = reject
+    reader.readAsDataURL(blob)
+  })
 }
 
 const Flowchart = React.forwardRef((props: {
   PrimitiveCode: string
-  theme?: 'light' | 'dark'
 }, ref) => {
   const { t } = useTranslation()
-  const [svgCode, setSvgCode] = useState<string | null>(null)
+  const [svgCode, setSvgCode] = useState(null)
   const [look, setLook] = useState<'classic' | 'handDrawn'>('classic')
-  const [isInitialized, setIsInitialized] = useState(false)
-  const [currentTheme, setCurrentTheme] = useState<'light' | 'dark'>(props.theme || 'light')
-  const containerRef = useRef<HTMLDivElement>(null)
-  const chartId = useRef(`mermaid-chart-${Math.random().toString(36).substr(2, 9)}`).current
+
+  const prevPrimitiveCode = usePrevious(props.PrimitiveCode)
   const [isLoading, setIsLoading] = useState(true)
-  const renderTimeoutRef = useRef<NodeJS.Timeout>()
+  const timeRef = useRef<NodeJS.Timeout>()
   const [errMsg, setErrMsg] = useState('')
   const [imagePreviewUrl, setImagePreviewUrl] = useState('')
-  const [isCodeComplete, setIsCodeComplete] = useState(false)
-  const codeCompletionCheckRef = useRef<NodeJS.Timeout>()
 
-  // Create cache key from code, style and theme
-  const cacheKey = useMemo(() => {
-    return `${props.PrimitiveCode}-${look}-${currentTheme}`
-  }, [props.PrimitiveCode, look, currentTheme])
-
-  /**
-   * Renders Mermaid chart
-   */
-  const renderMermaidChart = async (code: string, style: 'classic' | 'handDrawn') => {
-    if (style === 'handDrawn') {
-      // Special handling for hand-drawn style
-      if (containerRef.current)
-        containerRef.current.innerHTML = `<div id="${chartId}"></div>`
-      await new Promise(resolve => setTimeout(resolve, 30))
-
-      if (typeof window !== 'undefined' && mermaidAPI) {
-        // Prefer using mermaidAPI directly for hand-drawn style
-        return await mermaidAPI.render(chartId, code)
-      }
-      else {
-        // Fall back to standard rendering if mermaidAPI is not available
-        const { svg } = await mermaid.render(chartId, code)
-        return { svg }
-      }
-    }
-    else {
-      // Standard rendering for classic style - using the extracted waitForDOMElement function
-      const renderWithRetry = async () => {
-        if (containerRef.current)
-          containerRef.current.innerHTML = `<div id="${chartId}"></div>`
-        await new Promise(resolve => setTimeout(resolve, 30))
-        const { svg } = await mermaid.render(chartId, code)
-        return { svg }
-      }
-      return await waitForDOMElement(renderWithRetry)
-    }
-  }
-
-  /**
-   * Handle rendering errors
-   */
-  const handleRenderError = (error: any) => {
-    console.error('Mermaid rendering error:', error)
-    const errorMsg = (error as Error).message
-
-    if (errorMsg.includes('getAttribute')) {
-      diagramCache.clear()
-      mermaid.initialize({
-        startOnLoad: false,
-        securityLevel: 'loose',
-      })
-    }
-    else {
-      setErrMsg(`Rendering chart failed, please refresh and try again ${look === 'handDrawn' ? 'Or try using classic mode' : ''}`)
-    }
-
-    if (look === 'handDrawn') {
-      try {
-        // Clear possible cache issues
-        diagramCache.delete(`${props.PrimitiveCode}-handDrawn-${currentTheme}`)
-
-        // Reset mermaid configuration
-        mermaid.initialize({
-          startOnLoad: false,
-          securityLevel: 'loose',
-          theme: 'default',
-          maxTextSize: 50000,
-        })
-
-        // Try rendering with standard mode
-        setLook('classic')
-        setErrMsg('Hand-drawn mode is not supported for this diagram. Switched to classic mode.')
-
-        // Delay error clearing
-        setTimeout(() => {
-          if (containerRef.current) {
-            // Try rendering again with standard mode, but can't call renderFlowchart directly due to circular dependency
-            // Instead set state to trigger re-render
-            setIsCodeComplete(true) // This will trigger useEffect re-render
-          }
-        }, 500)
-      }
-      catch (e) {
-        console.error('Reset after handDrawn error failed:', e)
-      }
-    }
-
-    setIsLoading(false)
-  }
-
-  // Initialize mermaid
-  useEffect(() => {
-    const api = initMermaid()
-    if (api)
-      setIsInitialized(true)
-  }, [])
-
-  // Update theme when prop changes
-  useEffect(() => {
-    if (props.theme)
-      setCurrentTheme(props.theme)
-  }, [props.theme])
-
-  // Validate mermaid code and check for completeness
-  useEffect(() => {
-    if (codeCompletionCheckRef.current)
-      clearTimeout(codeCompletionCheckRef.current)
-
-    // Reset code complete status when code changes
-    setIsCodeComplete(false)
-
-    // If no code or code is extremely short, don't proceed
-    if (!props.PrimitiveCode || props.PrimitiveCode.length < 10)
-      return
-
-    // Check if code already in cache - if so we know it's valid
-    if (diagramCache.has(cacheKey)) {
-      setIsCodeComplete(true)
-      return
-    }
-
-    // Initial check using the extracted isMermaidCodeComplete function
-    const isComplete = isMermaidCodeComplete(props.PrimitiveCode)
-    if (isComplete) {
-      setIsCodeComplete(true)
-      return
-    }
-
-    // Set a delay to check again in case code is still being generated
-    codeCompletionCheckRef.current = setTimeout(() => {
-      setIsCodeComplete(isMermaidCodeComplete(props.PrimitiveCode))
-    }, 300)
-
-    return () => {
-      if (codeCompletionCheckRef.current)
-        clearTimeout(codeCompletionCheckRef.current)
-    }
-  }, [props.PrimitiveCode, cacheKey])
-
-  /**
-   * Renders flowchart based on provided code
-   */
-  const renderFlowchart = useCallback(async (primitiveCode: string) => {
-    if (!isInitialized || !containerRef.current) {
-      setIsLoading(false)
-      setErrMsg(!isInitialized ? 'Mermaid initialization failed' : 'Container element not found')
-      return
-    }
-
-    // Don't render if code is not complete yet
-    if (!isCodeComplete) {
-      setIsLoading(true)
-      return
-    }
-
-    // Return cached result if available
-    if (diagramCache.has(cacheKey)) {
-      setSvgCode(diagramCache.get(cacheKey) || null)
-      setIsLoading(false)
-      return
-    }
-
+  const renderFlowchart = useCallback(async (PrimitiveCode: string) => {
+    setSvgCode(null)
     setIsLoading(true)
-    setErrMsg('')
 
     try {
-      let finalCode: string
-
-      // Check if it's a gantt chart
-      const isGanttChart = primitiveCode.trim().startsWith('gantt')
-
-      if (isGanttChart) {
-        // For gantt charts, ensure each task is on its own line
-        // and preserve exact whitespace/format
-        finalCode = primitiveCode.trim()
-      }
-      else {
-        // Step 1: Clean and prepare Mermaid code using the extracted prepareMermaidCode function
-        finalCode = prepareMermaidCode(primitiveCode, look)
-      }
-
-      // Step 2: Render chart
-      const svgGraph = await renderMermaidChart(finalCode, look)
-
-      // Step 3: Apply theme to SVG using the extracted processSvgForTheme function
-      const processedSvg = processSvgForTheme(
-        svgGraph.svg,
-        currentTheme === Theme.dark,
-        look === 'handDrawn',
-        THEMES,
-      )
-
-      // Step 4: Clean SVG code and convert to base64 using the extracted functions
-      const cleanedSvg = cleanUpSvgCode(processedSvg)
-      const base64Svg = await svgToBase64(cleanedSvg)
-
-      if (base64Svg && typeof base64Svg === 'string') {
-        diagramCache.set(cacheKey, base64Svg)
+      if (typeof window !== 'undefined' && mermaidAPI) {
+        const svgGraph = await mermaidAPI.render('flowchart', PrimitiveCode)
+        const base64Svg: any = await svgToBase64(svgGraph.svg)
         setSvgCode(base64Svg)
+        setIsLoading(false)
       }
-
-      setIsLoading(false)
     }
     catch (error) {
-      // Error handling
-      handleRenderError(error)
+      if (prevPrimitiveCode === props.PrimitiveCode) {
+        setIsLoading(false)
+        setErrMsg((error as Error).message)
+      }
     }
-  }, [chartId, isInitialized, cacheKey, isCodeComplete, look, currentTheme, t])
+  }, [props.PrimitiveCode])
 
-  /**
-   * Configure mermaid based on selected style and theme
-   */
-  const configureMermaid = useCallback(() => {
-    if (typeof window !== 'undefined' && isInitialized) {
-      const themeVars = THEMES[currentTheme]
-      const config: any = {
-        startOnLoad: false,
-        securityLevel: 'loose',
-        fontFamily: 'sans-serif',
-        maxTextSize: 50000,
-        gantt: {
-          titleTopMargin: 25,
-          barHeight: 20,
-          barGap: 4,
-          topPadding: 50,
-          leftPadding: 75,
-          gridLineStartPadding: 35,
-          fontSize: 11,
-          numberSectionStyles: 4,
-          axisFormat: '%Y-%m-%d',
+  useEffect(() => {
+    if (typeof window !== 'undefined') {
+      mermaid.initialize({
+        startOnLoad: true,
+        theme: 'neutral',
+        look,
+        flowchart: {
+          htmlLabels: true,
+          useMaxWidth: true,
         },
-      }
+      })
 
-      if (look === 'classic') {
-        config.theme = currentTheme === 'dark' ? 'dark' : 'neutral'
-        config.flowchart = {
-          htmlLabels: true,
-          useMaxWidth: true,
-          diagramPadding: 12,
-          nodeSpacing: 60,
-          rankSpacing: 80,
-          curve: 'linear',
-          ranker: 'tight-tree',
-        }
-      }
-      else {
-        config.theme = 'default'
-        config.themeCSS = `
-          .node rect { fill-opacity: 0.85; }
-          .edgePath .path { stroke-width: 1.5px; }
-          .label { font-family: 'sans-serif'; }
-          .edgeLabel { font-family: 'sans-serif'; }
-          .cluster rect { rx: 5px; ry: 5px; }
-        `
-        config.themeVariables = {
-          fontSize: '14px',
-          fontFamily: 'sans-serif',
-        }
-        config.flowchart = {
-          htmlLabels: true,
-          useMaxWidth: true,
-          diagramPadding: 10,
-          nodeSpacing: 40,
-          rankSpacing: 60,
-          curve: 'basis',
-        }
-        config.themeVariables.primaryBorderColor = currentTheme === 'dark' ? THEMES.dark.connectionColor : THEMES.light.connectionColor
-      }
-
-      if (currentTheme === 'dark' && !config.themeVariables) {
-        config.themeVariables = {
-          background: themeVars.background,
-          primaryColor: themeVars.primaryColor,
-          primaryBorderColor: themeVars.primaryBorderColor,
-          primaryTextColor: themeVars.primaryTextColor,
-          secondaryColor: themeVars.secondaryColor,
-          tertiaryColor: themeVars.tertiaryColor,
-          fontFamily: 'sans-serif',
-        }
-      }
-
-      try {
-        mermaid.initialize(config)
-        return true
-      }
-      catch (error) {
-        console.error('Config error:', error)
-        return false
-      }
-    }
-    return false
-  }, [currentTheme, isInitialized, look])
-
-  // Effect for theme and style configuration
-  useEffect(() => {
-    if (diagramCache.has(cacheKey)) {
-      setSvgCode(diagramCache.get(cacheKey) || null)
-      setIsLoading(false)
-      return
-    }
-
-    if (configureMermaid() && containerRef.current && isCodeComplete)
       renderFlowchart(props.PrimitiveCode)
-  }, [look, props.PrimitiveCode, renderFlowchart, isInitialized, cacheKey, currentTheme, isCodeComplete, configureMermaid])
+    }
+  }, [look])
 
-  // Effect for rendering with debounce
   useEffect(() => {
-    if (diagramCache.has(cacheKey)) {
-      setSvgCode(diagramCache.get(cacheKey) || null)
-      setIsLoading(false)
-      return
-    }
+    if (timeRef.current)
+      clearTimeout(timeRef.current)
 
-    if (renderTimeoutRef.current)
-      clearTimeout(renderTimeoutRef.current)
-
-    if (isCodeComplete) {
-      renderTimeoutRef.current = setTimeout(() => {
-        if (isInitialized)
-          renderFlowchart(props.PrimitiveCode)
-      }, 300)
-    }
-    else {
-      setIsLoading(true)
-    }
-
-    return () => {
-      if (renderTimeoutRef.current)
-        clearTimeout(renderTimeoutRef.current)
-    }
-  }, [props.PrimitiveCode, renderFlowchart, isInitialized, cacheKey, isCodeComplete])
-
-  // Cleanup on unmount
-  useEffect(() => {
-    return () => {
-      if (containerRef.current)
-        containerRef.current.innerHTML = ''
-      if (renderTimeoutRef.current)
-        clearTimeout(renderTimeoutRef.current)
-      if (codeCompletionCheckRef.current)
-        clearTimeout(codeCompletionCheckRef.current)
-    }
-  }, [])
-
-  const toggleTheme = () => {
-    setCurrentTheme(prevTheme => prevTheme === 'light' ? Theme.dark : Theme.light)
-    diagramCache.clear()
-  }
-
-  // Style classes for theme-dependent elements
-  const themeClasses = {
-    container: cn('relative', {
-      'bg-white': currentTheme === Theme.light,
-      'bg-slate-900': currentTheme === Theme.dark,
-    }),
-    mermaidDiv: cn('mermaid relative h-auto w-full cursor-pointer', {
-      'bg-white': currentTheme === Theme.light,
-      'bg-slate-900': currentTheme === Theme.dark,
-    }),
-    errorMessage: cn('px-[26px] py-4', {
-      'text-red-500': currentTheme === Theme.light,
-      'text-red-400': currentTheme === Theme.dark,
-    }),
-    errorIcon: cn('h-6 w-6', {
-      'text-red-500': currentTheme === Theme.light,
-      'text-red-400': currentTheme === Theme.dark,
-    }),
-    segmented: cn('msh-segmented msh-segmented-sm css-23bs09 css-var-r1', {
-      'text-gray-700': currentTheme === Theme.light,
-      'text-gray-300': currentTheme === Theme.dark,
-    }),
-    themeToggle: cn('flex h-10 w-10 items-center justify-center rounded-full shadow-md backdrop-blur-sm transition-all duration-300', {
-      'bg-white/80 hover:bg-white hover:shadow-lg text-gray-700 border border-gray-200': currentTheme === Theme.light,
-      'bg-slate-800/80 hover:bg-slate-700 hover:shadow-lg text-yellow-300 border border-slate-600': currentTheme === Theme.dark,
-    }),
-  }
-
-  // Style classes for look options
-  const getLookButtonClass = (lookType: 'classic' | 'handDrawn') => {
-    return cn(
-      'system-sm-medium mb-4 flex h-8 w-[calc((100%-8px)/2)] cursor-pointer items-center justify-center rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg text-text-secondary',
-      look === lookType && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary',
-      currentTheme === Theme.dark && 'border-slate-600 bg-slate-800 text-slate-300',
-      look === lookType && currentTheme === Theme.dark && 'border-blue-500 bg-slate-700 text-white',
-    )
-  }
+    timeRef.current = setTimeout(() => {
+      renderFlowchart(props.PrimitiveCode)
+    }, 300)
+  }, [props.PrimitiveCode])
 
   return (
-    <div ref={ref as React.RefObject<HTMLDivElement>} className={themeClasses.container}>
-      <div className={themeClasses.segmented}>
+    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+    // @ts-expect-error
+    <div ref={ref}>
+      <div className="msh-segmented msh-segmented-sm css-23bs09 css-var-r1">
         <div className="msh-segmented-group">
-          <label className="msh-segmented-item m-2 flex w-[200px] items-center space-x-1">
-            <div
-              key='classic'
-              className={getLookButtonClass('classic')}
+          <label className="msh-segmented-item flex items-center space-x-1 m-2 w-[200px]">
+            <div key='classic'
+              className={cn('flex items-center justify-center mb-4 w-[calc((100%-8px)/2)] h-8 rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg cursor-pointer system-sm-medium text-text-secondary',
+                look === 'classic' && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary',
+              )}
+
               onClick={() => setLook('classic')}
             >
               <div className="msh-segmented-item-label">{t('app.mermaid.classic')}</div>
             </div>
-            <div
-              key='handDrawn'
-              className={getLookButtonClass('handDrawn')}
+            <div key='handDrawn'
+              className={cn(
+                'flex items-center justify-center mb-4 w-[calc((100%-8px)/2)] h-8 rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg cursor-pointer system-sm-medium text-text-secondary',
+                look === 'handDrawn' && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary',
+              )}
               onClick={() => setLook('handDrawn')}
             >
               <div className="msh-segmented-item-label">{t('app.mermaid.handDrawn')}</div>
@@ -530,61 +110,30 @@
           </label>
         </div>
       </div>
-
-      <div ref={containerRef} style={{ position: 'absolute', visibility: 'hidden', height: 0, overflow: 'hidden' }} />
-
-      {isLoading && !svgCode && (
-        <div className='px-[26px] py-4'>
-          <LoadingAnim type='text'/>
-          {!isCodeComplete && (
-            <div className="mt-2 text-sm text-gray-500">
-              {t('common.wait_for_completion', 'Waiting for diagram code to complete...')}
+      {
+        svgCode
+            && <div className="mermaid cursor-pointer h-auto w-full object-fit: cover" onClick={() => setImagePreviewUrl(svgCode)}>
+              {svgCode && <img src={svgCode} alt="mermaid_chart" />}
             </div>
-          )}
-        </div>
-      )}
-
-      {svgCode && (
-        <div className={themeClasses.mermaidDiv} style={{ objectFit: 'cover' }} onClick={() => setImagePreviewUrl(svgCode)}>
-          <div className="absolute bottom-2 left-2 z-[100]">
-            <button
-              onClick={(e) => {
-                e.stopPropagation()
-                toggleTheme()
-              }}
-              className={themeClasses.themeToggle}
-              title={(currentTheme === Theme.light ? t('app.theme.switchDark') : t('app.theme.switchLight')) || ''}
-              style={{ transform: 'translate3d(0, 0, 0)' }}
-            >
-              {currentTheme === Theme.light ? <MoonIcon className="h-5 w-5" /> : <SunIcon className="h-5 w-5" />}
-            </button>
-          </div>
-
-          <img
-            src={svgCode}
-            alt="mermaid_chart"
-            style={{ maxWidth: '100%' }}
-            onError={() => { setErrMsg('Chart rendering failed, please refresh and retry') }}
-          />
-        </div>
-      )}
-
-      {errMsg && (
-        <div className={themeClasses.errorMessage}>
-          <div className="flex items-center">
-            <ExclamationTriangleIcon className={themeClasses.errorIcon}/>
-            <span className="ml-2">{errMsg}</span>
-          </div>
-        </div>
-      )}
-
-      {imagePreviewUrl && (
-        <ImagePreview title='mermaid_chart' url={imagePreviewUrl} onCancel={() => setImagePreviewUrl('')} />
-      )}
+      }
+      {isLoading
+            && <div className='py-4 px-[26px]'>
+              <LoadingAnim type='text'/>
+            </div>
+      }
+      {
+        errMsg
+            && <div className='py-4 px-[26px]'>
+              <ExclamationTriangleIcon className='w-6 h-6 text-red-500'/>
+              &nbsp;
+              {errMsg}
+            </div>
+      }
+      {
+        imagePreviewUrl && (<ImagePreview title='mermaid_chart' url={imagePreviewUrl} onCancel={() => setImagePreviewUrl('')} />)
+      }
     </div>
   )
 })
-
-Flowchart.displayName = 'Flowchart'
 
 export default Flowchart
diff --git a/app/components/base/message-log-modal/index.tsx b/app/components/base/message-log-modal/index.tsx
index d5ff818..7bbd3f3 100644
--- a/app/components/base/message-log-modal/index.tsx
+++ b/app/components/base/message-log-modal/index.tsx
@@ -39,7 +39,7 @@
 
   return (
     <div
-      className={cn('relative z-10 flex flex-col rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg pt-3 shadow-xl')}
+      className={cn('relative flex flex-col pt-3 bg-components-panel-bg border-[0.5px] border-components-panel-border rounded-xl shadow-xl z-10')}
       style={{
         width: fixedWidth ? width : 480,
         ...(!fixedWidth
@@ -55,9 +55,9 @@
       }}
       ref={ref}
     >
-      <h1 className='system-xl-semibold shrink-0 px-4 py-1 text-text-primary'>{t('appLog.runDetail.title')}</h1>
-      <span className='absolute right-3 top-4 z-20 cursor-pointer p-1' onClick={onCancel}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <h1 className='shrink-0 px-4 py-1 text-text-primary system-xl-semibold'>{t('appLog.runDetail.title')}</h1>
+      <span className='absolute right-3 top-4 p-1 cursor-pointer z-20' onClick={onCancel}>
+        <RiCloseLine className='w-4 h-4 text-text-tertiary' />
       </span>
       <Run
         hideResult
diff --git a/app/components/base/modal/index.tsx b/app/components/base/modal/index.tsx
index dd60b00..26cde5f 100644
--- a/app/components/base/modal/index.tsx
+++ b/app/components/base/modal/index.tsx
@@ -1,8 +1,7 @@
-import { Dialog, DialogPanel, DialogTitle, Transition, TransitionChild } from '@headlessui/react'
+import { Dialog, Transition } from '@headlessui/react'
 import { Fragment } from 'react'
 import { RiCloseLine } from '@remixicon/react'
 import classNames from '@/utils/classnames'
-import { noop } from 'lodash-es'
 // https://headlessui.com/react/dialog
 
 type IModal = {
@@ -21,7 +20,7 @@
   className,
   wrapperClassName,
   isShow,
-  onClose = noop,
+  onClose = () => { },
   title,
   description,
   children,
@@ -30,15 +29,18 @@
 }: IModal) {
   return (
     <Transition appear show={isShow} as={Fragment}>
-      <Dialog as="div" className={classNames('relative z-[60]', wrapperClassName)} onClose={onClose}>
-        <TransitionChild>
-          <div className={classNames(
-            'fixed inset-0 bg-background-overlay',
-            'duration-300 ease-in data-[closed]:opacity-0',
-            'data-[enter]:opacity-100',
-            'data-[leave]:opacity-0',
-          )} />
-        </TransitionChild>
+      <Dialog as="div" className={classNames('relative z-50', wrapperClassName)} onClose={onClose}>
+        <Transition.Child
+          as={Fragment}
+          enter="ease-out duration-300"
+          enterFrom="opacity-0"
+          enterTo="opacity-100"
+          leave="ease-in duration-200"
+          leaveFrom="opacity-100"
+          leaveTo="opacity-0"
+        >
+          <div className="fixed inset-0 bg-background-overlay" />
+        </Transition.Child>
 
         <div
           className="fixed inset-0 overflow-y-auto"
@@ -48,27 +50,32 @@
           }}
         >
           <div className="flex min-h-full items-center justify-center p-4 text-center">
-            <TransitionChild>
-              <DialogPanel className={classNames(
+            <Transition.Child
+              as={Fragment}
+              enter="ease-out duration-300"
+              enterFrom="opacity-0 scale-95"
+              enterTo="opacity-100 scale-100"
+              leave="ease-in duration-200"
+              leaveFrom="opacity-100 scale-100"
+              leaveTo="opacity-0 scale-95"
+            >
+              <Dialog.Panel className={classNames(
                 'w-full max-w-[480px] transform rounded-2xl bg-components-panel-bg p-6 text-left align-middle shadow-xl transition-all',
                 overflowVisible ? 'overflow-visible' : 'overflow-hidden',
-                'duration-100 ease-in data-[closed]:opacity-0 data-[closed]:scale-95',
-                'data-[enter]:opacity-100 data-[enter]:scale-100',
-                'data-[leave]:opacity-0 data-[enter]:scale-95',
                 className,
               )}>
-                {title && <DialogTitle
+                {title && <Dialog.Title
                   as="h3"
                   className="title-2xl-semi-bold text-text-primary"
                 >
                   {title}
-                </DialogTitle>}
-                {description && <div className='body-md-regular mt-2 text-text-secondary'>
+                </Dialog.Title>}
+                {description && <Dialog.Description className='text-text-secondary body-md-regular mt-2'>
                   {description}
-                </div>}
+                </Dialog.Description>}
                 {closable
-                  && <div className='absolute right-6 top-6 z-10 flex h-5 w-5 items-center justify-center rounded-2xl hover:cursor-pointer hover:bg-state-base-hover'>
-                    <RiCloseLine className='h-4 w-4 text-text-tertiary' onClick={
+                  && <div className='absolute z-10 top-6 right-6 w-5 h-5 rounded-2xl flex items-center justify-center hover:cursor-pointer hover:bg-state-base-hover'>
+                    <RiCloseLine className='w-4 h-4 text-text-tertiary' onClick={
                       (e) => {
                         e.stopPropagation()
                         onClose()
@@ -76,8 +83,8 @@
                     } />
                   </div>}
                 {children}
-              </DialogPanel>
-            </TransitionChild>
+              </Dialog.Panel>
+            </Transition.Child>
           </div>
         </div>
       </Dialog>
diff --git a/app/components/base/notion-icon/index.module.css b/app/components/base/notion-icon/index.module.css
new file mode 100644
index 0000000..2947260
--- /dev/null
+++ b/app/components/base/notion-icon/index.module.css
@@ -0,0 +1,6 @@
+.default-page-icon {
+  width: 20px;
+  height: 20px;
+  background: url(../notion-page-selector/assets/notion-page.svg) center center no-repeat;
+  background-size: cover;
+}
\ No newline at end of file
diff --git a/app/components/base/notion-icon/index.tsx b/app/components/base/notion-icon/index.tsx
index 75fea8c..273d90c 100644
--- a/app/components/base/notion-icon/index.tsx
+++ b/app/components/base/notion-icon/index.tsx
@@ -1,4 +1,4 @@
-import { RiFileTextLine } from '@remixicon/react'
+import s from './index.module.css'
 import cn from '@/utils/classnames'
 import type { DataSourceNotionPage } from '@/models/common'
 
@@ -22,16 +22,16 @@
           <img
             alt='workspace icon'
             src={src}
-            className={cn('block h-5 w-5 object-cover', className)}
+            className={cn('block object-cover w-5 h-5', className)}
           />
         )
       }
       return (
-        <div className={cn('flex h-5 w-5 items-center justify-center', className)}>{src}</div>
+        <div className={cn('flex items-center justify-center w-5 h-5', className)}>{src}</div>
       )
     }
     return (
-      <div className={cn('flex h-5 w-5 items-center justify-center rounded bg-gray-200 text-xs font-medium text-gray-500', className)}>{name?.[0].toLocaleUpperCase()}</div>
+      <div className={cn('flex items-center justify-center w-5 h-5 bg-gray-200 text-xs font-medium text-gray-500 rounded', className)}>{name?.[0].toLocaleUpperCase()}</div>
     )
   }
 
@@ -41,17 +41,17 @@
         <img
           alt='page icon'
           src={src.url || ''}
-          className={cn('block h-5 w-5 object-cover', className)}
+          className={cn('block object-cover w-5 h-5', className)}
         />
       )
     }
     return (
-      <div className={cn('flex h-5 w-5 items-center justify-center', className)}>{src?.emoji}</div>
+      <div className={cn('flex items-center justify-center w-5 h-5', className)}>{src?.emoji}</div>
     )
   }
 
   return (
-    <RiFileTextLine className={cn('h-5 w-5 text-text-tertiary', className)} />
+    <div className={cn(s['default-page-icon'], className)} />
   )
 }
 
diff --git a/app/components/base/notion-page-selector/base.module.css b/app/components/base/notion-page-selector/base.module.css
new file mode 100644
index 0000000..d9aa9fe
--- /dev/null
+++ b/app/components/base/notion-page-selector/base.module.css
@@ -0,0 +1,4 @@
+.setting-icon {
+  background: url(./assets/setting.svg) center center no-repeat;
+  background-size: 14px 14px;
+}
\ No newline at end of file
diff --git a/app/components/base/notion-page-selector/base.tsx b/app/components/base/notion-page-selector/base.tsx
index 7ee7587..e3b321b 100644
--- a/app/components/base/notion-page-selector/base.tsx
+++ b/app/components/base/notion-page-selector/base.tsx
@@ -1,9 +1,10 @@
 import { useCallback, useEffect, useMemo, useState } from 'react'
 import useSWR from 'swr'
-import { RiEqualizer2Line } from '@remixicon/react'
+import s from './base.module.css'
 import WorkspaceSelector from './workspace-selector'
 import SearchInput from './search-input'
 import PageSelector from './page-selector'
+import cn from '@/utils/classnames'
 import { preImportNotionPages } from '@/service/datasets'
 import { NotionConnector } from '@/app/components/datasets/create/step-one'
 import type { DataSourceNotionPageMap, DataSourceNotionWorkspace, NotionPage } from '@/models/common'
@@ -87,30 +88,29 @@
   }, [firstWorkspaceId])
 
   return (
-    <div className='rounded-xl border border-components-panel-border bg-background-default-subtle'>
+    <div className='bg-gray-25 border border-gray-200 rounded-xl'>
       {
         data?.notion_info?.length
           ? (
             <>
-              <div className='flex h-12 items-center gap-x-2 rounded-t-xl border-b border-b-divider-regular bg-components-panel-bg p-2'>
-                <div className='flex grow items-center gap-x-1'>
-                  <WorkspaceSelector
-                    value={currentWorkspaceId || firstWorkspaceId}
-                    items={notionWorkspaces}
-                    onSelect={handleSelectWorkspace}
-                  />
-                  <div className='mx-1 h-3 w-[1px] bg-divider-regular' />
-                  <RiEqualizer2Line
-                    className='h-4 w-4 cursor-pointer text-text-tertiary'
-                    onClick={() => setShowAccountSettingModal({ payload: 'data-source', onCancelCallback: mutate })}
-                  />
-                </div>
+              <div className='flex items-center pl-[10px] pr-2 h-11 bg-white border-b border-b-gray-200 rounded-t-xl'>
+                <WorkspaceSelector
+                  value={currentWorkspaceId || firstWorkspaceId}
+                  items={notionWorkspaces}
+                  onSelect={handleSelectWorkspace}
+                />
+                <div className='mx-1 w-[1px] h-3 bg-gray-200' />
+                <div
+                  className={cn(s['setting-icon'], 'w-6 h-6 cursor-pointer')}
+                  onClick={() => setShowAccountSettingModal({ payload: 'data-source', onCancelCallback: mutate })}
+                />
+                <div className='grow' />
                 <SearchInput
                   value={searchValue}
                   onChange={handleSearchValueChange}
                 />
               </div>
-              <div className='overflow-hidden rounded-b-xl'>
+              <div className='rounded-b-xl overflow-hidden'>
                 <PageSelector
                   value={selectedPagesId}
                   disabledValue={getPagesMapAndSelectedPagesId[2]}
diff --git a/app/components/base/notion-page-selector/notion-page-selector-modal/index.module.css b/app/components/base/notion-page-selector/notion-page-selector-modal/index.module.css
index cd1f9c7..ed90916 100644
--- a/app/components/base/notion-page-selector/notion-page-selector-modal/index.module.css
+++ b/app/components/base/notion-page-selector/notion-page-selector-modal/index.module.css
@@ -25,4 +25,4 @@
   border-color: #155eef;
   background-color: #155eef;
   color: #ffffff;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/notion-page-selector/notion-page-selector-modal/index.tsx b/app/components/base/notion-page-selector/notion-page-selector-modal/index.tsx
index 22d2a16..e7fba57 100644
--- a/app/components/base/notion-page-selector/notion-page-selector-modal/index.tsx
+++ b/app/components/base/notion-page-selector/notion-page-selector-modal/index.tsx
@@ -6,7 +6,6 @@
 import type { NotionPage } from '@/models/common'
 import cn from '@/utils/classnames'
 import Modal from '@/app/components/base/modal'
-import { noop } from 'lodash-es'
 
 type NotionPageSelectorModalProps = {
   isShow: boolean
@@ -37,14 +36,14 @@
     <Modal
       className={s.modal}
       isShow={isShow}
-      onClose={noop}
+      onClose={() => { }}
     >
-      <div className='mb-6 flex h-8 items-center justify-between'>
+      <div className='flex items-center justify-between mb-6 h-8'>
         <div className='text-xl font-semibold text-gray-900'>{t('common.dataSource.notion.selector.addPages')}</div>
         <div
-          className='-mr-2 flex h-8 w-8 cursor-pointer items-center justify-center'
+          className='flex items-center justify-center -mr-2 w-8 h-8 cursor-pointer'
           onClick={handleClose}>
-          <XMarkIcon className='h-4 w-4' />
+          <XMarkIcon className='w-4 h-4' />
         </div>
       </div>
       <NotionPageSelector
diff --git a/app/components/base/notion-page-selector/page-selector/index.module.css b/app/components/base/notion-page-selector/page-selector/index.module.css
new file mode 100644
index 0000000..1542095
--- /dev/null
+++ b/app/components/base/notion-page-selector/page-selector/index.module.css
@@ -0,0 +1,17 @@
+.arrow {
+  width: 20px;
+  height: 20px;
+  background: url(../assets/down-arrow.svg) center center no-repeat;
+  background-size: 16px 16px;
+  transform: rotate(-90deg);
+}
+
+.arrow-expand {
+  transform: rotate(0);
+}
+
+.preview-item {
+  background-color: #eff4ff;
+  border: 1px solid #D1E0FF;
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+}
\ No newline at end of file
diff --git a/app/components/base/notion-page-selector/page-selector/index.tsx b/app/components/base/notion-page-selector/page-selector/index.tsx
index 4989559..8f39879 100644
--- a/app/components/base/notion-page-selector/page-selector/index.tsx
+++ b/app/components/base/notion-page-selector/page-selector/index.tsx
@@ -2,9 +2,9 @@
 import { useTranslation } from 'react-i18next'
 import { FixedSizeList as List, areEqual } from 'react-window'
 import type { ListChildComponentProps } from 'react-window'
-import { RiArrowDownSLine, RiArrowRightSLine } from '@remixicon/react'
 import Checkbox from '../../checkbox'
 import NotionIcon from '../../notion-icon'
+import s from './index.module.css'
 import cn from '@/utils/classnames'
 import type { DataSourceNotionPage, DataSourceNotionPageMap } from '@/models/common'
 
@@ -94,16 +94,10 @@
     if (hasChild) {
       return (
         <div
-          className='mr-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-md hover:bg-components-button-ghost-bg-hover'
+          className={cn(s.arrow, current.expand && s['arrow-expand'], 'shrink-0 mr-1 w-5 h-5 hover:bg-gray-200 rounded-md')}
           style={{ marginLeft: current.depth * 8 }}
           onClick={() => handleToggle(index)}
-        >
-          {
-            current.expand
-              ? <RiArrowDownSLine className='h-4 w-4 text-text-tertiary' />
-              : <RiArrowRightSLine className='h-4 w-4 text-text-tertiary' />
-          }
-        </div>
+        />
       )
     }
     if (current.parent_id === 'root' || !pagesMap[current.parent_id]) {
@@ -112,18 +106,20 @@
       )
     }
     return (
-      <div className='mr-1 h-5 w-5 shrink-0' style={{ marginLeft: current.depth * 8 }} />
+      <div className='shrink-0 mr-1 w-5 h-5' style={{ marginLeft: current.depth * 8 }} />
     )
   }
 
   return (
     <div
-      className={cn('group flex cursor-pointer items-center rounded-md pl-2 pr-[2px] hover:bg-state-base-hover',
-        previewPageId === current.page_id && 'bg-state-base-hover')}
+      className={cn('group flex items-center pl-2 pr-[2px] rounded-md border border-transparent hover:bg-gray-100 cursor-pointer', previewPageId === current.page_id && s['preview-item'])}
       style={{ ...style, top: style.top as number + 8, left: 8, right: 8, width: 'calc(100% - 16px)' }}
     >
       <Checkbox
-        className='mr-2 shrink-0'
+        className={cn(
+          'shrink-0 mr-2 group-hover:border-primary-600 group-hover:border-[2px]',
+          disabled && 'group-hover:border-transparent',
+        )}
         checked={checkedIds.has(current.page_id)}
         disabled={disabled}
         onCheck={() => {
@@ -134,12 +130,12 @@
       />
       {!searchValue && renderArrow()}
       <NotionIcon
-        className='mr-1 shrink-0'
+        className='shrink-0 mr-1'
         type='page'
         src={current.page_icon}
       />
       <div
-        className='grow truncate text-[13px] font-medium leading-4 text-text-secondary'
+        className='grow text-sm font-medium text-gray-700 truncate'
         title={current.page_name}
       >
         {current.page_name}
@@ -147,9 +143,7 @@
       {
         canPreview && (
           <div
-            className='ml-1 hidden h-6 shrink-0 cursor-pointer items-center rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-2 text-xs
-            font-medium leading-4 text-components-button-secondary-text shadow-xs shadow-shadow-shadow-3 backdrop-blur-[10px]
-            hover:border-components-button-secondary-border-hover hover:bg-components-button-secondary-bg-hover group-hover:flex'
+            className='shrink-0 hidden group-hover:flex items-center ml-1 px-2 h-6 rounded-md text-xs font-medium text-gray-500 cursor-pointer hover:bg-gray-50 hover:text-gray-700'
             onClick={() => handlePreview(index)}>
             {t('common.dataSource.notion.selector.preview')}
           </div>
@@ -158,7 +152,7 @@
       {
         searchValue && (
           <div
-            className='ml-1 max-w-[120px] shrink-0 truncate text-xs text-text-quaternary'
+            className='shrink-0 ml-1 max-w-[120px] text-xs text-gray-400 truncate'
             title={breadCrumbs.join(' / ')}
           >
             {breadCrumbs.join(' / ')}
@@ -284,7 +278,7 @@
 
   if (!currentDataList.length) {
     return (
-      <div className='flex h-[296px] items-center justify-center text-[13px] text-text-tertiary'>
+      <div className='flex items-center justify-center h-[296px] text-[13px] text-gray-500'>
         {t('common.dataSource.notion.selector.noSearchResult')}
       </div>
     )
diff --git a/app/components/base/notion-page-selector/search-input/index.module.css b/app/components/base/notion-page-selector/search-input/index.module.css
new file mode 100644
index 0000000..a65b7d5
--- /dev/null
+++ b/app/components/base/notion-page-selector/search-input/index.module.css
@@ -0,0 +1,15 @@
+.search-icon {
+  background: url(../assets/search.svg) center center;
+  background-size: 14px 14px;
+}
+
+.clear-icon {
+  background: url(../assets/clear.svg) center center;
+  background-size: contain;
+}
+
+.input-wrapper {
+  flex-basis: 200px;
+  width: 0;
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+}
\ No newline at end of file
diff --git a/app/components/base/notion-page-selector/search-input/index.tsx b/app/components/base/notion-page-selector/search-input/index.tsx
index 6bf819e..8bf5527 100644
--- a/app/components/base/notion-page-selector/search-input/index.tsx
+++ b/app/components/base/notion-page-selector/search-input/index.tsx
@@ -1,7 +1,7 @@
 import { useCallback } from 'react'
 import type { ChangeEvent } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiCloseCircleFill, RiSearchLine } from '@remixicon/react'
+import s from './index.module.css'
 import cn from '@/utils/classnames'
 
 type SearchInputProps = {
@@ -19,18 +19,18 @@
   }, [onChange])
 
   return (
-    <div className={cn('flex h-8 w-[200px] items-center rounded-lg bg-components-input-bg-normal p-2')}>
-      <RiSearchLine className={'mr-0.5 h-4 w-4 shrink-0 text-components-input-text-placeholder'} />
+    <div className={cn(s['input-wrapper'], 'flex items-center px-2 h-7 rounded-md', `${value ? 'bg-white' : 'bg-gray-100'}`)}>
+      <div className={cn(s['search-icon'], 'mr-[6px] w-4 h-4')} />
       <input
-        className='min-w-0 grow appearance-none border-0 bg-transparent px-1 text-[13px] leading-[16px] text-components-input-text-filled outline-0 placeholder:text-components-input-text-placeholder'
+        className='grow text-[13px] bg-inherit border-0 outline-0 appearance-none'
         value={value}
         onChange={(e: ChangeEvent<HTMLInputElement>) => onChange(e.target.value)}
         placeholder={t('common.dataSource.notion.selector.searchPages') || ''}
       />
       {
         value && (
-          <RiCloseCircleFill
-            className={'h-4 w-4 shrink-0 cursor-pointer text-components-input-text-placeholder'}
+          <div
+            className={cn(s['clear-icon'], 'ml-1 w-4 h-4 cursor-pointer')}
             onClick={handleClear}
           />
         )
diff --git a/app/components/base/notion-page-selector/workspace-selector/index.module.css b/app/components/base/notion-page-selector/workspace-selector/index.module.css
new file mode 100644
index 0000000..b68e156
--- /dev/null
+++ b/app/components/base/notion-page-selector/workspace-selector/index.module.css
@@ -0,0 +1,9 @@
+.down-arrow {
+  background: url(../assets/down-arrow.svg) center center no-repeat;
+  background-size: cover;
+}
+
+.popup {
+  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
+  z-index: 10;
+}
\ No newline at end of file
diff --git a/app/components/base/notion-page-selector/workspace-selector/index.tsx b/app/components/base/notion-page-selector/workspace-selector/index.tsx
index 2e7b57f..66227d4 100644
--- a/app/components/base/notion-page-selector/workspace-selector/index.tsx
+++ b/app/components/base/notion-page-selector/workspace-selector/index.tsx
@@ -1,9 +1,10 @@
 'use client'
 import { useTranslation } from 'react-i18next'
 import { Fragment } from 'react'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
-import { RiArrowDownSLine } from '@remixicon/react'
+import { Menu, Transition } from '@headlessui/react'
 import NotionIcon from '../../notion-icon'
+import s from './index.module.css'
+import cn from '@/utils/classnames'
 import type { DataSourceNotionWorkspace } from '@/models/common'
 
 type WorkspaceSelectorProps = {
@@ -24,16 +25,16 @@
       {
         ({ open }) => (
           <>
-            <MenuButton className={`flex h-7 items-center justify-center rounded-md p-1 pr-2 hover:bg-state-base-hover ${open && 'bg-state-base-hover'} cursor-pointer`}>
+            <Menu.Button className={`flex items-center justify-center h-7 rounded-md hover:bg-gray-50 ${open && 'bg-gray-50'} cursor-pointer`}>
               <NotionIcon
-                className='mr-2'
+                className='ml-1 mr-2'
                 src={currentWorkspace?.workspace_icon}
                 name={currentWorkspace?.workspace_name}
               />
-              <div className='mr-1 w-[90px] truncate text-left text-sm font-medium text-text-secondary' title={currentWorkspace?.workspace_name}>{currentWorkspace?.workspace_name}</div>
-              {/* <div className='mr-1 px-1 h-[18px] bg-primary-50 rounded-lg text-xs font-medium text-text-accent'>{currentWorkspace?.pages.length}</div> */}
-              <RiArrowDownSLine className='h-4 w-4 text-text-secondary' />
-            </MenuButton>
+              <div className='mr-1 w-[90px] text-left text-sm font-medium text-gray-700 truncate' title={currentWorkspace?.workspace_name}>{currentWorkspace?.workspace_name}</div>
+              <div className='mr-1 px-1 h-[18px] bg-primary-50 rounded-lg text-xs font-medium text-primary-600'>{currentWorkspace?.pages.length}</div>
+              <div className={cn(s['down-arrow'], 'mr-2 w-3 h-3')} />
+            </Menu.Button>
             <Transition
               as={Fragment}
               enter="transition ease-out duration-100"
@@ -43,34 +44,37 @@
               leaveFrom="transform opacity-100 scale-100"
               leaveTo="transform opacity-0 scale-95"
             >
-              <MenuItems
-                className='absolute left-0 top-8 z-10 w-80
-                  origin-top-right rounded-lg border-[0.5px]
-                  border-components-panel-border bg-components-panel-bg-blur shadow-lg shadow-shadow-shadow-5 backdrop-blur-[5px]'
+              <Menu.Items
+                className={cn(
+                  s.popup,
+                  `absolute left-0 top-8 w-80
+                  origin-top-right rounded-lg bg-white
+                  border-[0.5px] border-gray-200`,
+                )}
               >
-                <div className="max-h-50 overflow-auto p-1">
+                <div className="p-1 max-h-50 overflow-auto">
                   {
                     items.map(item => (
-                      <MenuItem key={item.workspace_id}>
+                      <Menu.Item key={item.workspace_id}>
                         <div
-                          className='flex h-9 cursor-pointer items-center rounded-lg px-3 hover:bg-state-base-hover'
+                          className='flex items-center px-3 h-9 hover:bg-gray-50 cursor-pointer'
                           onClick={() => onSelect(item.workspace_id)}
                         >
                           <NotionIcon
-                            className='mr-2 shrink-0'
+                            className='shrink-0 mr-2'
                             src={item.workspace_icon}
                             name={item.workspace_name}
                           />
-                          <div className='system-sm-medium mr-2 grow truncate text-text-secondary' title={item.workspace_name}>{item.workspace_name}</div>
-                          <div className='system-xs-medium shrink-0 text-text-accent'>
+                          <div className='grow mr-2 text-sm text-gray-700 truncate' title={item.workspace_name}>{item.workspace_name}</div>
+                          <div className='shrink-0 text-xs font-medium text-primary-600'>
                             {item.pages.length} {t('common.dataSource.notion.selector.pageSelected')}
                           </div>
                         </div>
-                      </MenuItem>
+                      </Menu.Item>
                     ))
                   }
                 </div>
-              </MenuItems>
+              </Menu.Items>
             </Transition>
           </>
         )
diff --git a/app/components/base/pagination/hook.ts b/app/components/base/pagination/hook.ts
index 32a2af8..6501d6f 100644
--- a/app/components/base/pagination/hook.ts
+++ b/app/components/base/pagination/hook.ts
@@ -10,7 +10,7 @@
   edgePageCount,
   middlePagesSiblingCount,
 }: IPaginationProps): IUsePagination => {
-  const pages = new Array(totalPages)
+  const pages = Array(totalPages)
     .fill(0)
     .map((_, i) => i + 1)
 
diff --git a/app/components/base/pagination/index.tsx b/app/components/base/pagination/index.tsx
index 8126f66..c0cc9f8 100644
--- a/app/components/base/pagination/index.tsx
+++ b/app/components/base/pagination/index.tsx
@@ -33,20 +33,20 @@
   const [showPerPageTip, setShowPerPageTip] = React.useState(false)
 
   const { run: handlePaging } = useDebounceFn((value: string) => {
-    if (Number.parseInt(value) > totalPages) {
+    if (parseInt(value) > totalPages) {
       setInputValue(totalPages)
       onChange(totalPages - 1)
       setShowInput(false)
       return
     }
-    if (Number.parseInt(value) < 1) {
+    if (parseInt(value) < 1) {
       setInputValue(1)
       onChange(0)
       setShowInput(false)
       return
     }
-    onChange(Number.parseInt(value) - 1)
-    setInputValue(Number.parseInt(value))
+    onChange(parseInt(value) - 1)
+    setInputValue(parseInt(value))
     setShowInput(false)
   }, { wait: 500 })
 
@@ -54,15 +54,15 @@
     const value = e.target.value
     if (!value)
       return setInputValue('')
-    if (isNaN(Number.parseInt(value)))
+    if (isNaN(parseInt(value)))
       return setInputValue('')
-    setInputValue(Number.parseInt(value))
+    setInputValue(parseInt(value))
     handlePaging(value)
   }
 
   return (
     <Pagination
-      className={cn('flex w-full select-none items-center px-6 py-3', className)}
+      className={cn('flex items-center w-full px-6 py-3 select-none', className)}
       currentPage={current}
       edgePageCount={2}
       middlePagesSiblingCount={1}
@@ -71,14 +71,14 @@
       truncableClassName='flex items-center justify-center w-8 px-1 py-2 system-sm-medium text-text-tertiary'
       truncableText='...'
     >
-      <div className='flex items-center gap-0.5 rounded-[10px] bg-background-section-burn p-0.5'>
+      <div className='flex items-center gap-0.5 p-0.5 rounded-[10px] bg-background-section-burn'>
         <Pagination.PrevButton
           as={<div></div>}
           disabled={current === 0}
         >
           <Button
             variant='secondary'
-            className='h-7 w-7 px-1.5'
+            className='w-7 h-7 px-1.5'
             disabled={current === 0}
           >
             <RiArrowLeftLine className='h-4 w-4' />
@@ -87,7 +87,7 @@
         {!showInput && (
           <div
             ref={inputRef}
-            className='flex items-center gap-0.5 rounded-lg px-2 py-1.5 hover:cursor-text hover:bg-state-base-hover-alt'
+            className='flex items-center gap-0.5 px-2 py-1.5 rounded-lg hover:bg-state-base-hover-alt hover:cursor-text'
             onClick={() => setShowInput(true)}
           >
             <div className='system-xs-medium text-text-secondary'>{current + 1}</div>
@@ -114,46 +114,46 @@
         >
           <Button
             variant='secondary'
-            className='h-7 w-7 px-1.5'
+            className='w-7 h-7 px-1.5'
             disabled={current === totalPages - 1}
           >
             <RiArrowRightLine className='h-4 w-4' />
           </Button>
         </Pagination.NextButton>
       </div>
-      <div className={cn('flex grow list-none items-center justify-center gap-1')}>
+      <div className={cn('grow flex items-center justify-center gap-1 list-none')}>
         <Pagination.PageButton
-          className='system-sm-medium flex min-w-8 cursor-pointer items-center justify-center rounded-lg px-1 py-2 hover:bg-components-button-ghost-bg-hover'
+          className='flex items-center justify-center min-w-8 px-1 py-2 rounded-lg system-sm-medium cursor-pointer hover:bg-components-button-ghost-bg-hover'
           activeClassName='bg-components-button-tertiary-bg text-components-button-tertiary-text hover:bg-components-button-ghost-bg-hover'
           inactiveClassName='text-text-tertiary'
         />
       </div>
       {onLimitChange && (
-        <div className='flex shrink-0 items-center gap-2'>
-          <div className='system-2xs-regular-uppercase w-[51px] shrink-0 text-end text-text-tertiary'>{showPerPageTip ? t('common.pagination.perPage') : ''}</div>
+        <div className='shrink-0 flex items-center gap-2'>
+          <div className='shrink-0 w-[51px] text-end text-text-tertiary system-2xs-regular-uppercase'>{showPerPageTip ? t('common.pagination.perPage') : ''}</div>
           <div
-            className='flex items-center gap-[1px] rounded-[10px] bg-components-segmented-control-bg-normal p-0.5'
+            className='flex items-center gap-[1px] p-0.5 rounded-[10px] bg-components-segmented-control-bg-normal'
             onMouseEnter={() => setShowPerPageTip(true)}
             onMouseLeave={() => setShowPerPageTip(false)}
           >
             <div
               className={cn(
-                'system-sm-medium cursor-pointer rounded-lg border-[0.5px] border-transparent px-2.5 py-1.5 text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary',
-                limit === 10 && 'border-components-segmented-control-item-active-border bg-components-segmented-control-item-active-bg text-text-secondary shadow-xs hover:bg-components-segmented-control-item-active-bg',
+                'px-2.5 py-1.5 rounded-lg border-[0.5px] border-transparent system-sm-medium text-text-tertiary cursor-pointer hover:bg-state-base-hover hover:text-text-secondary',
+                limit === 10 && 'shadow-xs border-components-segmented-control-item-active-border bg-components-segmented-control-item-active-bg text-text-secondary hover:bg-components-segmented-control-item-active-bg',
               )}
               onClick={() => onLimitChange?.(10)}
             >10</div>
             <div
               className={cn(
-                'system-sm-medium cursor-pointer rounded-lg border-[0.5px] border-transparent px-2.5 py-1.5 text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary',
-                limit === 25 && 'border-components-segmented-control-item-active-border bg-components-segmented-control-item-active-bg text-text-secondary shadow-xs hover:bg-components-segmented-control-item-active-bg',
+                'px-2.5 py-1.5 rounded-lg border-[0.5px] border-transparent system-sm-medium text-text-tertiary cursor-pointer hover:bg-state-base-hover hover:text-text-secondary',
+                limit === 25 && 'shadow-xs border-components-segmented-control-item-active-border bg-components-segmented-control-item-active-bg text-text-secondary hover:bg-components-segmented-control-item-active-bg',
               )}
               onClick={() => onLimitChange?.(25)}
             >25</div>
             <div
               className={cn(
-                'system-sm-medium cursor-pointer rounded-lg border-[0.5px] border-transparent px-2.5 py-1.5 text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary',
-                limit === 50 && 'border-components-segmented-control-item-active-border bg-components-segmented-control-item-active-bg text-text-secondary shadow-xs hover:bg-components-segmented-control-item-active-bg',
+                'px-2.5 py-1.5 rounded-lg border-[0.5px] border-transparent system-sm-medium text-text-tertiary cursor-pointer hover:bg-state-base-hover hover:text-text-secondary',
+                limit === 50 && 'shadow-xs border-components-segmented-control-item-active-border bg-components-segmented-control-item-active-bg text-text-secondary hover:bg-components-segmented-control-item-active-bg',
               )}
               onClick={() => onLimitChange?.(50)}
             >50</div>
diff --git a/app/components/base/pagination/pagination.tsx b/app/components/base/pagination/pagination.tsx
index ec8b035..5898c4e 100644
--- a/app/components/base/pagination/pagination.tsx
+++ b/app/components/base/pagination/pagination.tsx
@@ -7,11 +7,10 @@
   IPaginationProps,
   PageButtonProps,
 } from './type'
-import { noop } from 'lodash-es'
 
 const defaultState: IPagination = {
   currentPage: 0,
-  setCurrentPage: noop,
+  setCurrentPage: () => {},
   truncableText: '...',
   truncableClassName: '',
   pages: [],
diff --git a/app/components/base/pagination/type.ts b/app/components/base/pagination/type.ts
index c3744c0..07580e1 100644
--- a/app/components/base/pagination/type.ts
+++ b/app/components/base/pagination/type.ts
@@ -31,7 +31,7 @@
 }
 
 type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
-  as?: React.ReactNode
+  as?: React.ReactElement
   children?: string | React.ReactNode
   className?: string
   dataTestId?: string
@@ -39,9 +39,9 @@
 
 type PageButtonProps = ButtonProps & {
   /**
-   * Provide a custom ReactNode (e.g. Next/Link)
+   * Provide a custom ReactElement (e.g. Next/Link)
    */
-  as?: React.ReactNode
+  as?: React.ReactElement
   activeClassName?: string
   inactiveClassName?: string
   dataTestIdActive?: string
diff --git a/app/components/base/param-item/index.tsx b/app/components/base/param-item/index.tsx
index 03eb5a7..68c980a 100644
--- a/app/components/base/param-item/index.tsx
+++ b/app/components/base/param-item/index.tsx
@@ -25,7 +25,7 @@
   return (
     <div className={className}>
       <div className="flex items-center justify-between">
-        <div className="flex h-6 items-center">
+        <div className="flex items-center h-6">
           {hasSwitch && (
             <Switch
               size='md'
@@ -36,7 +36,7 @@
               }}
             />
           )}
-          <span className="system-sm-semibold mr-1 text-text-secondary">{name}</span>
+          <span className="mr-1 text-text-secondary system-sm-semibold">{name}</span>
           {!noTooltip && (
             <Tooltip
               triggerClassName='w-4 h-4 shrink-0'
@@ -53,8 +53,7 @@
             min={min}
             max={max}
             step={step}
-            amount={step}
-            size='regular'
+            size='sm'
             value={value}
             onChange={(value) => {
               onChange(id, value)
@@ -62,7 +61,7 @@
             className='w-[72px]'
           />
         </div>
-        <div className="flex grow items-center">
+        <div className="flex items-center grow">
           <Slider
             className='w-full'
             disabled={!enable}
diff --git a/app/components/base/param-item/score-threshold-item.tsx b/app/components/base/param-item/score-threshold-item.tsx
index b5557c8..947961a 100644
--- a/app/components/base/param-item/score-threshold-item.tsx
+++ b/app/components/base/param-item/score-threshold-item.tsx
@@ -31,7 +31,7 @@
 }) => {
   const { t } = useTranslation()
   const handleParamChange = (key: string, value: number) => {
-    let notOutRangeValue = Number.parseFloat(value.toFixed(2))
+    let notOutRangeValue = parseFloat(value.toFixed(2))
     notOutRangeValue = Math.max(VALUE_LIMIT.min, notOutRangeValue)
     notOutRangeValue = Math.min(VALUE_LIMIT.max, notOutRangeValue)
     onChange(key, notOutRangeValue)
diff --git a/app/components/base/param-item/top-k-item.tsx b/app/components/base/param-item/top-k-item.tsx
index 4c4c857..f9c6ed6 100644
--- a/app/components/base/param-item/top-k-item.tsx
+++ b/app/components/base/param-item/top-k-item.tsx
@@ -12,7 +12,7 @@
 }
 
 const maxTopK = (() => {
-  const configValue = Number.parseInt(globalThis.document?.body?.getAttribute('data-public-top-k-max-value') || '', 10)
+  const configValue = parseInt(globalThis.document?.body?.getAttribute('data-public-top-k-max-value') || '', 10)
   if (configValue && !isNaN(configValue))
     return configValue
   return 10
@@ -33,7 +33,7 @@
 }) => {
   const { t } = useTranslation()
   const handleParamChange = (key: string, value: number) => {
-    let notOutRangeValue = Number.parseFloat(value.toFixed(2))
+    let notOutRangeValue = parseFloat(value.toFixed(2))
     notOutRangeValue = Math.max(VALUE_LIMIT.min, notOutRangeValue)
     notOutRangeValue = Math.min(VALUE_LIMIT.max, notOutRangeValue)
     onChange(key, notOutRangeValue)
diff --git a/app/components/base/popover/index.tsx b/app/components/base/popover/index.tsx
index 2a831e0..8fd9906 100644
--- a/app/components/base/popover/index.tsx
+++ b/app/components/base/popover/index.tsx
@@ -1,4 +1,4 @@
-import { Popover, PopoverButton, PopoverPanel, Transition } from '@headlessui/react'
+import { Popover, Transition } from '@headlessui/react'
 import { Fragment, cloneElement, useRef } from 'react'
 import cn from '@/utils/classnames'
 
@@ -9,7 +9,7 @@
 
 type IPopover = {
   className?: string
-  htmlContent: React.ReactNode
+  htmlContent: React.ReactElement<HtmlContentProps>
   popupClassName?: string
   trigger?: 'click' | 'hover'
   position?: 'bottom' | 'br' | 'bl'
@@ -33,15 +33,15 @@
   disabled = false,
 }: IPopover) {
   const buttonRef = useRef<HTMLButtonElement>(null)
-  const timeOutRef = useRef<number | null>(null)
+  const timeOutRef = useRef<NodeJS.Timeout | null>(null)
 
   const onMouseEnter = (isOpen: boolean) => {
-    timeOutRef.current && window.clearTimeout(timeOutRef.current)
+    timeOutRef.current && clearTimeout(timeOutRef.current)
     !isOpen && buttonRef.current?.click()
   }
 
   const onMouseLeave = (isOpen: boolean) => {
-    timeOutRef.current = window.setTimeout(() => {
+    timeOutRef.current = setTimeout(() => {
       isOpen && buttonRef.current?.click()
     }, timeoutDuration)
   }
@@ -59,23 +59,23 @@
                   onMouseEnter: () => onMouseEnter(open),
                 })}
             >
-              <PopoverButton
+              <Popover.Button
                 ref={buttonRef}
                 disabled={disabled}
                 className={cn(
-                  'group inline-flex items-center rounded-lg border border-components-button-secondary-border bg-components-button-secondary-bg px-3 py-2 text-base font-medium hover:border-components-button-secondary-border-hover hover:bg-components-button-secondary-bg-hover focus:outline-none',
-                  open && 'border-components-button-secondary-border bg-components-button-secondary-bg-hover',
+                  'group inline-flex items-center bg-components-button-secondary-bg px-3 py-2 rounded-lg text-base border border-components-button-secondary-border font-medium hover:bg-components-button-secondary-bg-hover hover:border-components-button-secondary-border-hover focus:outline-none',
+                  open && 'bg-components-button-secondary-bg-hover border-components-button-secondary-border',
                   (btnClassName && typeof btnClassName === 'string') && btnClassName,
                   (btnClassName && typeof btnClassName !== 'string') && btnClassName?.(open),
                 )}
               >
                 {btnElement}
-              </PopoverButton>
+              </Popover.Button>
               <Transition as={Fragment}>
-                <PopoverPanel
+                <Popover.Panel
                   className={cn(
-                    'absolute z-10 mt-1 w-full max-w-sm px-4 sm:px-0 lg:max-w-3xl',
-                    position === 'bottom' && 'left-1/2 -translate-x-1/2',
+                    'absolute z-10 w-full max-w-sm px-4 mt-1 sm:px-0 lg:max-w-3xl',
+                    position === 'bottom' && '-translate-x-1/2 left-1/2',
                     position === 'bl' && 'left-0',
                     position === 'br' && 'right-0',
                     className,
@@ -90,7 +90,7 @@
                 >
                   {({ close }) => (
                     <div
-                      className={cn('w-fit min-w-[130px] overflow-hidden rounded-lg bg-components-panel-bg shadow-lg ring-1 ring-black/5', popupClassName)}
+                      className={cn('overflow-hidden bg-components-panel-bg w-fit min-w-[130px] rounded-lg shadow-lg ring-1 ring-black ring-opacity-5', popupClassName)}
                       {...(trigger !== 'hover'
                         ? {}
                         : {
@@ -99,7 +99,7 @@
                         })
                       }
                     >
-                      {cloneElement(htmlContent as React.ReactElement, {
+                      {cloneElement(htmlContent as React.ReactElement<HtmlContentProps>, {
                         onClose: () => onMouseLeave(open),
                         ...(manualClose
                           ? {
@@ -109,7 +109,7 @@
                       })}
                     </div>
                   )}
-                </PopoverPanel>
+                </Popover.Panel>
               </Transition>
             </div>
           </>
diff --git a/app/components/base/portal-to-follow-elem/index.tsx b/app/components/base/portal-to-follow-elem/index.tsx
index 1e2e198..4a380e6 100644
--- a/app/components/base/portal-to-follow-elem/index.tsx
+++ b/app/components/base/portal-to-follow-elem/index.tsx
@@ -6,7 +6,6 @@
   flip,
   offset,
   shift,
-  size,
   useDismiss,
   useFloating,
   useFocus,
@@ -28,7 +27,6 @@
   open?: boolean
   offset?: number | OffsetOptions
   onOpenChange?: (open: boolean) => void
-  triggerPopupSameWidth?: boolean
 }
 
 export function usePortalToFollowElem({
@@ -36,7 +34,6 @@
   open,
   offset: offsetValue = 0,
   onOpenChange: setControlledOpen,
-  triggerPopupSameWidth,
 }: PortalToFollowElemOptions = {}) {
   const setOpen = setControlledOpen
 
@@ -53,12 +50,6 @@
         padding: 5,
       }),
       shift({ padding: 5 }),
-      size({
-        apply({ rects, elements }) {
-          if (triggerPopupSameWidth)
-            elements.floating.style.width = `${rects.reference.width}px`
-        },
-      }),
     ],
   })
 
@@ -114,16 +105,12 @@
   )
 }
 
-export const PortalToFollowElemTrigger = (
-  {
-    ref: propRef,
-    children,
-    asChild = false,
-    ...props
-  }: React.HTMLProps<HTMLElement> & { ref?: React.RefObject<HTMLElement>, asChild?: boolean },
-) => {
+export const PortalToFollowElemTrigger = React.forwardRef<
+HTMLElement,
+React.HTMLProps<HTMLElement> & { asChild?: boolean }
+>(({ children, asChild = false, ...props }, propRef) => {
   const context = usePortalToFollowElemContext()
-  const childrenRef = (children as any).props?.ref
+  const childrenRef = (children as any).ref
   const ref = useMergeRefs([context.refs.setReference, propRef, childrenRef])
 
   // `asChild` allows the user to pass any element as the anchor
@@ -150,18 +137,13 @@
       {children}
     </div>
   )
-}
+})
 PortalToFollowElemTrigger.displayName = 'PortalToFollowElemTrigger'
 
-export const PortalToFollowElemContent = (
-  {
-    ref: propRef,
-    style,
-    ...props
-  }: React.HTMLProps<HTMLDivElement> & {
-    ref?: React.RefObject<HTMLDivElement>;
-  },
-) => {
+export const PortalToFollowElemContent = React.forwardRef<
+HTMLDivElement,
+React.HTMLProps<HTMLDivElement>
+>(({ style, ...props }, propRef) => {
   const context = usePortalToFollowElemContext()
   const ref = useMergeRefs([context.refs.setFloating, propRef])
 
@@ -182,6 +164,6 @@
       />
     </FloatingPortal>
   )
-}
+})
 
 PortalToFollowElemContent.displayName = 'PortalToFollowElemContent'
diff --git a/app/components/base/premium-badge/index.css b/app/components/base/premium-badge/index.css
index 61031cd..be8f9e6 100644
--- a/app/components/base/premium-badge/index.css
+++ b/app/components/base/premium-badge/index.css
@@ -2,55 +2,47 @@
 
 @layer components {
   .premium-badge {
-    @apply shrink-0 relative inline-flex justify-center items-center rounded-md box-border border border-transparent text-white shadow-xs hover:shadow-lg bg-origin-border overflow-hidden transition-all duration-100 ease-out;
-    background-clip: padding-box, border-box;
-  }
-  .allowHover {
-    @apply cursor-pointer;
+    @apply inline-flex justify-center items-center rounded-full border box-border border-[rgba(255,255,255,0.8)] text-white
   }
 
   /* m is for the regular button */
   .premium-badge-m {
-    @apply !p-1 h-6 w-auto
+    @apply border shadow-lg !p-1 h-6 w-auto
   }
 
   .premium-badge-s {
-    @apply border-[0.5px] !px-1 !py-[3px] h-[18px] w-auto
+    @apply border-[0.5px] shadow-xs !px-1 !py-[3px] h-[18px] w-auto
   }
 
   .premium-badge-blue {
-    @apply bg-util-colors-blue-blue-200;
-    background-image: linear-gradient(90deg, #5289ffe6 0%, #155aefe6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #155aef 100%);
-  }
-  .premium-badge-blue.allowHover:hover {
-    @apply bg-util-colors-blue-blue-300;
-    background-image: linear-gradient(90deg, #296dffe6 0%, #004aebe6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #00329e 100%);
+    @apply bg-gradient-to-r from-[#5289ffe6] to-[#155aefe6] bg-util-colors-blue-blue-200
   }
 
   .premium-badge-indigo {
-    @apply bg-util-colors-indigo-indigo-200;
-    background-image: linear-gradient(90deg, #8098f9e6 0%, #444ce7e6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #6172f3 100%);
-  }
-  .premium-badge-indigo.allowHover:hover {
-    @apply bg-util-colors-indigo-indigo-300;
-    background-image: linear-gradient(90deg, #6172f3e6 0%, #2d31a6e6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #2d31a6 100%);
+    @apply bg-gradient-to-r from-[#8098f9e6] to-[#444ce7e6] bg-util-colors-indigo-indigo-200
   }
 
   .premium-badge-gray {
-    @apply bg-util-colors-gray-gray-200;
-    background-image: linear-gradient(90deg, #98a2b2e6 0%, #676f83e6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #676f83 100%);
-  }
-  .premium-badge-gray.allowHover:hover {
-    @apply bg-util-colors-gray-gray-300;
-    background-image: linear-gradient(90deg, #676f83e6 0%, #354052e6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #354052 100%);
+    @apply bg-gradient-to-r from-[#98a2b2e6] to-[#676f83e6] bg-util-colors-gray-gray-200
   }
 
   .premium-badge-orange {
-    @apply bg-util-colors-orange-orange-200;
-    background-image: linear-gradient(90deg, #ff692ee6 0%, #e04f16e6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #e62e05 100%);
+    @apply bg-gradient-to-r from-[#ff692ee6] to-[#e04f16e6] bg-util-colors-orange-orange-200
   }
+
+  .premium-badge-blue.allowHover:hover {
+    @apply bg-gradient-to-r from-[#296dffe6] to-[#004aebe6] bg-util-colors-blue-blue-300 cursor-pointer
+  }
+
+  .premium-badge-indigo.allowHover:hover {
+    @apply bg-gradient-to-r from-[#6172f3e6] to-[#2d31a6e6] bg-util-colors-indigo-indigo-300 cursor-pointer
+  }
+
+  .premium-badge-gray.allowHover:hover {
+    @apply bg-gradient-to-r from-[#676f83e6] to-[#354052e6] bg-util-colors-gray-gray-300 cursor-pointer
+  }
+
   .premium-badge-orange.allowHover:hover {
-    @apply bg-util-colors-orange-orange-300;
-    background-image: linear-gradient(90deg, #ff4405e6 0%, #b93815e6 100%), linear-gradient(135deg, var(--color-premium-badge-border-highlight-color) 0%, #e62e05 100%);
+    @apply bg-gradient-to-r from-[#ff4405e6] to-[#b93815e6] bg-util-colors-orange-orange-300 cursor-pointer
   }
-}
+}
\ No newline at end of file
diff --git a/app/components/base/premium-badge/index.tsx b/app/components/base/premium-badge/index.tsx
index ce162d7..5ab1f80 100644
--- a/app/components/base/premium-badge/index.tsx
+++ b/app/components/base/premium-badge/index.tsx
@@ -61,9 +61,13 @@
       {children}
       <Highlight
         className={classNames(
-          'absolute top-0 opacity-50 right-1/2 translate-x-[20%] transition-all duration-100 ease-out hover:opacity-80 hover:translate-x-[30%]',
-          size === 's' ? 'h-[18px] w-12' : 'h-6 w-12',
+          'absolute top-0 opacity-50 hover:opacity-80',
+          size === 's' ? 'h-4.5 w-12' : 'h-6 w-12',
         )}
+        style={{
+          right: '50%',
+          transform: 'translateX(10%)',
+        }}
       />
     </div>
   )
diff --git a/app/components/base/progress-bar/index.tsx b/app/components/base/progress-bar/index.tsx
index 759c9ea..f0fd2a8 100644
--- a/app/components/base/progress-bar/index.tsx
+++ b/app/components/base/progress-bar/index.tsx
@@ -6,9 +6,9 @@
 }: ProgressBarProps) => {
   return (
     <div className='flex items-center'>
-      <div className='mr-2 w-[100px] rounded-lg bg-gray-100'>
+      <div className='mr-2 w-[100px] bg-gray-100 rounded-lg'>
         <div
-          className='h-1 rounded-lg bg-[#2970FF]'
+          className='h-1 bg-[#2970FF] rounded-lg'
           style={{ width: `${percent}%` }}
         />
       </div>
diff --git a/app/components/base/prompt-editor/constants.tsx b/app/components/base/prompt-editor/constants.tsx
index 31fbc0a..c78b2fc 100644
--- a/app/components/base/prompt-editor/constants.tsx
+++ b/app/components/base/prompt-editor/constants.tsx
@@ -52,7 +52,7 @@
 
 export const FILE_EXTS: Record<string, string[]> = {
   [SupportUploadFileTypes.image]: ['JPG', 'JPEG', 'PNG', 'GIF', 'WEBP', 'SVG'],
-  [SupportUploadFileTypes.document]: ['TXT', 'MD', 'MDX', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOC', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB'],
-  [SupportUploadFileTypes.audio]: ['MP3', 'M4A', 'WAV', 'AMR', 'MPGA'],
-  [SupportUploadFileTypes.video]: ['MP4', 'MOV', 'MPEG', 'WEBM'],
+  [SupportUploadFileTypes.document]: ['TXT', 'MD', 'MDX', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB'],
+  [SupportUploadFileTypes.audio]: ['MP3', 'M4A', 'WAV', 'WEBM', 'AMR', 'MPGA'],
+  [SupportUploadFileTypes.video]: ['MP4', 'MOV', 'MPEG', 'MPGA'],
 }
diff --git a/app/components/base/prompt-editor/index.tsx b/app/components/base/prompt-editor/index.tsx
index 94a65e4..b09109e 100644
--- a/app/components/base/prompt-editor/index.tsx
+++ b/app/components/base/prompt-editor/index.tsx
@@ -13,7 +13,7 @@
 import { LexicalComposer } from '@lexical/react/LexicalComposer'
 import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin'
 import { ContentEditable } from '@lexical/react/LexicalContentEditable'
-import { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary'
+import LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary'
 import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin'
 import { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin'
 // import TreeView from './plugins/tree-view'
@@ -149,7 +149,7 @@
     <LexicalComposer initialConfig={{ ...initialConfig, editable }}>
       <div className='relative min-h-5'>
         <RichTextPlugin
-          contentEditable={<ContentEditable className={`${className} outline-none ${compact ? 'text-[13px] leading-5' : 'text-sm leading-6'} text-text-secondary`} style={style || {}} />}
+          contentEditable={<ContentEditable className={`${className} outline-none ${compact ? 'leading-5 text-[13px]' : 'leading-6 text-sm'} text-text-secondary`} style={style || {}} />}
           placeholder={<Placeholder value={placeholder} className={cn('truncate', placeholderClassName)} compact={compact} />}
           ErrorBoundary={LexicalErrorBoundary}
         />
diff --git a/app/components/base/prompt-editor/plugins/component-picker-block/hooks.tsx b/app/components/base/prompt-editor/plugins/component-picker-block/hooks.tsx
index 7332a0d..f39d56f 100644
--- a/app/components/base/prompt-editor/plugins/component-picker-block/hooks.tsx
+++ b/app/components/base/prompt-editor/plugins/component-picker-block/hooks.tsx
@@ -44,7 +44,7 @@
       render: ({ isSelected, onSelect, onSetHighlight }) => {
         return <PromptMenuItem
           title={t('common.promptEditor.context.item.title')}
-          icon={<File05 className='h-4 w-4 text-[#6938EF]' />}
+          icon={<File05 className='w-4 h-4 text-[#6938EF]' />}
           disabled={!contextBlock.selectable}
           isSelected={isSelected}
           onClick={onSelect}
@@ -68,7 +68,7 @@
           return (
             <PromptMenuItem
               title={t('common.promptEditor.query.item.title')}
-              icon={<UserEdit02 className='h-4 w-4 text-[#FD853A]' />}
+              icon={<UserEdit02 className='w-4 h-4 text-[#FD853A]' />}
               disabled={!queryBlock.selectable}
               isSelected={isSelected}
               onClick={onSelect}
@@ -94,7 +94,7 @@
           return (
             <PromptMenuItem
               title={t('common.promptEditor.history.item.title')}
-              icon={<MessageClockCircle className='h-4 w-4 text-[#DD2590]' />}
+              icon={<MessageClockCircle className='w-4 h-4 text-[#DD2590]' />}
               disabled={!historyBlock.selectable
               }
               isSelected={isSelected}
@@ -133,7 +133,7 @@
           return (
             <VariableMenuItem
               title={item.value}
-              icon={<BracketsX className='h-[14px] w-[14px] text-text-accent' />}
+              icon={<BracketsX className='w-[14px] h-[14px] text-text-accent' />}
               queryString={queryString}
               isSelected={isSelected}
               onClick={onSelect}
@@ -162,7 +162,7 @@
         return (
           <VariableMenuItem
             title={t('common.promptEditor.variable.modal.add')}
-            icon={<BracketsX className='h-[14px] w-[14px] text-text-accent' />}
+            icon={<BracketsX className='w-[14px] h-[14px] text-text-accent' />}
             queryString={queryString}
             isSelected={isSelected}
             onClick={onSelect}
@@ -206,7 +206,7 @@
               title={item.name}
               icon={
                 <AppIcon
-                  className='!h-[14px] !w-[14px]'
+                  className='!w-[14px] !h-[14px]'
                   icon={item.icon}
                   background={item.icon_background}
                 />
@@ -240,8 +240,8 @@
         return (
           <VariableMenuItem
             title={t('common.promptEditor.variable.modal.addTool')}
-            icon={<Tool03 className='h-[14px] w-[14px] text-text-accent' />}
-            extraElement={< ArrowUpRight className='h-3 w-3 text-text-tertiary' />}
+            icon={<Tool03 className='w-[14px] h-[14px] text-text-accent' />}
+            extraElement={< ArrowUpRight className='w-3 h-3 text-text-tertiary' />}
             queryString={queryString}
             isSelected={isSelected}
             onClick={onSelect}
diff --git a/app/components/base/prompt-editor/plugins/component-picker-block/index.tsx b/app/components/base/prompt-editor/plugins/component-picker-block/index.tsx
index b43d2c8..7524582 100644
--- a/app/components/base/prompt-editor/plugins/component-picker-block/index.tsx
+++ b/app/components/base/prompt-editor/plugins/component-picker-block/index.tsx
@@ -31,7 +31,6 @@
 import type { PickerBlockMenuOption } from './menu'
 import VarReferenceVars from '@/app/components/workflow/nodes/_base/components/variable/var-reference-vars'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
-import { KEY_ESCAPE_COMMAND } from 'lexical'
 
 type ComponentPickerProps = {
   triggerString: string
@@ -119,22 +118,13 @@
       editor.dispatchCommand(INSERT_WORKFLOW_VARIABLE_BLOCK_COMMAND, variables)
   }, [editor, checkForTriggerMatch, triggerString])
 
-  const handleClose = useCallback(() => {
-    const escapeEvent = new KeyboardEvent('keydown', { key: 'Escape' })
-    editor.dispatchCommand(KEY_ESCAPE_COMMAND, escapeEvent)
-  }, [editor])
-
   const renderMenu = useCallback<MenuRenderFn<PickerBlockMenuOption>>((
     anchorElementRef,
     { options, selectedIndex, selectOptionAndCleanUp, setHighlightedIndex },
   ) => {
     if (!(anchorElementRef.current && (allFlattenOptions.length || workflowVariableBlock?.show)))
       return null
-
-    setTimeout(() => {
-      if (anchorElementRef.current)
-        refs.setReference(anchorElementRef.current)
-    }, 0)
+    refs.setReference(anchorElementRef.current)
 
     return (
       <>
@@ -143,9 +133,9 @@
             // The `LexicalMenu` will try to calculate the position of the floating menu based on the first child.
             // Since we use floating ui, we need to wrap it with a div to prevent the position calculation being affected.
             // See https://github.com/facebook/lexical/blob/ac97dfa9e14a73ea2d6934ff566282d7f758e8bb/packages/lexical-react/src/shared/LexicalMenu.ts#L493
-            <div className='h-0 w-0'>
+            <div className='w-0 h-0'>
               <div
-                className='w-[260px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg'
+                className='p-1 w-[260px] bg-components-panel-bg-blur rounded-lg border-[0.5px] border-components-panel-border shadow-lg'
                 style={{
                   ...floatingStyles,
                   visibility: isPositioned ? 'visible' : 'hidden',
@@ -153,51 +143,49 @@
                 ref={refs.setFloating}
               >
                 {
-                  workflowVariableBlock?.show && (
-                    <div className='p-1'>
-                      <VarReferenceVars
-                        searchBoxClassName='mt-1'
-                        vars={workflowVariableOptions}
-                        onChange={(variables: string[]) => {
-                          handleSelectWorkflowVariable(variables)
-                        }}
-                        maxHeightClass='max-h-[34vh]'
-                        isSupportFileVar={isSupportFileVar}
-                        onClose={handleClose}
-                        onBlur={handleClose}
-                      />
-                    </div>
-                  )
+                  options.map((option, index) => (
+                    <Fragment key={option.key}>
+                      {
+                        // Divider
+                        index !== 0 && options.at(index - 1)?.group !== option.group && (
+                          <div className='h-px bg-divider-subtle my-1 w-full -translate-x-1'></div>
+                        )
+                      }
+                      {option.renderMenuOption({
+                        queryString,
+                        isSelected: selectedIndex === index,
+                        onSelect: () => {
+                          selectOptionAndCleanUp(option)
+                        },
+                        onSetHighlight: () => {
+                          setHighlightedIndex(index)
+                        },
+                      })}
+                    </Fragment>
+                  ))
                 }
                 {
-                  workflowVariableBlock?.show && !!options.length && (
-                    <div className='my-1 h-px w-full -translate-x-1 bg-divider-subtle'></div>
+                  workflowVariableBlock?.show && (
+                    <>
+                      {
+                        (!!options.length) && (
+                          <div className='h-px bg-divider-subtle my-1 w-full -translate-x-1'></div>
+                        )
+                      }
+                      <div className='p-1'>
+                        <VarReferenceVars
+                          hideSearch
+                          vars={workflowVariableOptions}
+                          onChange={(variables: string[]) => {
+                            handleSelectWorkflowVariable(variables)
+                          }}
+                          maxHeightClass='max-h-[34vh]'
+                          isSupportFileVar={isSupportFileVar}
+                        />
+                      </div>
+                    </>
                   )
                 }
-                <div>
-                  {
-                    options.map((option, index) => (
-                      <Fragment key={option.key}>
-                        {
-                          // Divider
-                          index !== 0 && options.at(index - 1)?.group !== option.group && (
-                            <div className='my-1 h-px w-full -translate-x-1 bg-divider-subtle'></div>
-                          )
-                        }
-                        {option.renderMenuOption({
-                          queryString,
-                          isSelected: selectedIndex === index,
-                          onSelect: () => {
-                            selectOptionAndCleanUp(option)
-                          },
-                          onSetHighlight: () => {
-                            setHighlightedIndex(index)
-                          },
-                        })}
-                      </Fragment>
-                    ))
-                  }
-                </div>
               </div>
             </div>,
             anchorElementRef.current,
@@ -205,7 +193,7 @@
         }
       </>
     )
-  }, [allFlattenOptions.length, workflowVariableBlock?.show, refs, isPositioned, floatingStyles, queryString, workflowVariableOptions, handleSelectWorkflowVariable, handleClose, isSupportFileVar])
+  }, [allFlattenOptions.length, workflowVariableBlock?.show, refs, isPositioned, floatingStyles, queryString, workflowVariableOptions, handleSelectWorkflowVariable])
 
   return (
     <LexicalTypeaheadMenuPlugin
diff --git a/app/components/base/prompt-editor/plugins/component-picker-block/menu.tsx b/app/components/base/prompt-editor/plugins/component-picker-block/menu.tsx
index 679e604..d8c7156 100644
--- a/app/components/base/prompt-editor/plugins/component-picker-block/menu.tsx
+++ b/app/components/base/prompt-editor/plugins/component-picker-block/menu.tsx
@@ -19,7 +19,7 @@
       key: string
       group?: string
       onSelect?: () => void
-      render: (menuRenderProps: MenuOptionRenderProps) => React.JSX.Element
+      render: (menuRenderProps: MenuOptionRenderProps) => JSX.Element
     },
   ) {
     super(data.key)
diff --git a/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.tsx b/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.tsx
index 55be781..985e195 100644
--- a/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.tsx
+++ b/app/components/base/prompt-editor/plugins/component-picker-block/prompt-option.tsx
@@ -1,7 +1,7 @@
 import { memo } from 'react'
 
 type PromptMenuItemMenuItemProps = {
-  icon: React.JSX.Element
+  icon: JSX.Element
   title: string
   disabled?: boolean
   isSelected: boolean
@@ -21,9 +21,9 @@
   return (
     <div
       className={`
-        flex h-6 cursor-pointer items-center rounded-md px-3 hover:bg-state-base-hover
+        flex items-center px-3 h-6 cursor-pointer hover:bg-state-base-hover rounded-md
         ${isSelected && !disabled && '!bg-state-base-hover'}
-        ${disabled ? 'cursor-not-allowed opacity-30' : 'cursor-pointer hover:bg-state-base-hover'}
+        ${disabled ? 'cursor-not-allowed opacity-30' : 'hover:bg-state-base-hover cursor-pointer'}
       `}
       tabIndex={-1}
       ref={setRefElement}
diff --git a/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.tsx b/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.tsx
index 20c0376..ae0cdfb 100644
--- a/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.tsx
+++ b/app/components/base/prompt-editor/plugins/component-picker-block/variable-option.tsx
@@ -2,8 +2,8 @@
 
 type VariableMenuItemProps = {
   title: string
-  icon?: React.JSX.Element
-  extraElement?: React.JSX.Element
+  icon?: JSX.Element
+  extraElement?: JSX.Element
   isSelected: boolean
   queryString: string | null
   onClick: () => void
@@ -38,7 +38,7 @@
   return (
     <div
       className={`
-        flex h-6 cursor-pointer items-center rounded-md px-3 hover:bg-state-base-hover
+        flex items-center px-3 h-6 rounded-md hover:bg-state-base-hover cursor-pointer
         ${isSelected && 'bg-state-base-hover'}
       `}
       tabIndex={-1}
@@ -48,7 +48,7 @@
       <div className='mr-2'>
         {icon}
       </div>
-      <div className='grow truncate text-[13px] text-text-secondary' title={title}>
+      <div className='grow text-[13px] text-text-secondary truncate' title={title}>
         {before}
         <span className='text-text-accent'>{middle}</span>
         {after}
diff --git a/app/components/base/prompt-editor/plugins/context-block/component.tsx b/app/components/base/prompt-editor/plugins/context-block/component.tsx
index 8396478..91db2f3 100644
--- a/app/components/base/prompt-editor/plugins/context-block/component.tsx
+++ b/app/components/base/prompt-editor/plugins/context-block/component.tsx
@@ -42,11 +42,11 @@
 
   return (
     <div className={`
-      group inline-flex h-6 items-center rounded-[5px] border border-transparent bg-[#F4F3FF] pl-1 pr-0.5 text-[#6938EF] hover:bg-[#EBE9FE]
+      group inline-flex items-center pl-1 pr-0.5 h-6 border border-transparent bg-[#F4F3FF] text-[#6938EF] rounded-[5px] hover:bg-[#EBE9FE]
       ${open ? 'bg-[#EBE9FE]' : 'bg-[#F4F3FF]'}
       ${isSelected && '!border-[#9B8AFB]'}
     `} ref={ref}>
-      <File05 className='mr-1 h-[14px] w-[14px]' />
+      <File05 className='mr-1 w-[14px] h-[14px]' />
       <div className='mr-1 text-xs font-medium'>{t('common.promptEditor.context.item.title')}</div>
       {!canNotAddContext && (
         <PortalToFollowElem
@@ -60,12 +60,12 @@
         >
           <PortalToFollowElemTrigger ref={triggerRef}>
             <div className={`
-            flex h-[18px] w-[18px] cursor-pointer items-center justify-center rounded text-[11px] font-semibold
+            flex items-center justify-center w-[18px] h-[18px] text-[11px] font-semibold rounded cursor-pointer
             ${open ? 'bg-[#6938EF] text-white' : 'bg-white/50 group-hover:bg-white group-hover:shadow-xs'}
           `}>{localDatasets.length}</div>
           </PortalToFollowElemTrigger>
           <PortalToFollowElemContent style={{ zIndex: 100 }}>
-            <div className='w-[360px] rounded-xl bg-white shadow-lg'>
+            <div className='w-[360px] bg-white rounded-xl shadow-lg'>
               <div className='p-4'>
                 <div className='mb-2 text-xs font-medium text-gray-500'>
                   {t('common.promptEditor.context.modal.title', { num: localDatasets.length })}
@@ -73,23 +73,23 @@
                 <div className='max-h-[270px] overflow-y-auto'>
                   {
                     localDatasets.map(dataset => (
-                      <div key={dataset.id} className='flex h-8 items-center'>
-                        <div className='mr-2 flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-[#EAECF5] bg-[#F5F8FF]'>
-                          <Folder className='h-4 w-4 text-[#444CE7]' />
+                      <div key={dataset.id} className='flex items-center h-8'>
+                        <div className='flex items-center justify-center shrink-0 mr-2 w-6 h-6 bg-[#F5F8FF] rounded-md border-[0.5px] border-[#EAECF5]'>
+                          <Folder className='w-4 h-4 text-[#444CE7]' />
                         </div>
-                        <div className='truncate text-sm text-gray-800' title=''>{dataset.name}</div>
+                        <div className='text-sm text-gray-800 truncate' title=''>{dataset.name}</div>
                       </div>
                     ))
                   }
                 </div>
-                <div className='flex h-8 cursor-pointer items-center text-[#155EEF]' onClick={onAddContext}>
-                  <div className='mr-2 flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-gray-100'>
-                    <RiAddLine className='h-[14px] w-[14px]' />
+                <div className='flex items-center h-8 text-[#155EEF] cursor-pointer' onClick={onAddContext}>
+                  <div className='shrink-0 flex justify-center items-center mr-2 w-6 h-6 rounded-md border-[0.5px] border-gray-100'>
+                    <RiAddLine className='w-[14px] h-[14px]' />
                   </div>
                   <div className='text-[13px] font-medium' title=''>{t('common.promptEditor.context.modal.add')}</div>
                 </div>
               </div>
-              <div className='rounded-b-xl border-t-[0.5px] border-gray-50 bg-gray-50 px-4 py-3 text-xs text-gray-500'>
+              <div className='px-4 py-3 text-xs text-gray-500 bg-gray-50 border-t-[0.5px] border-gray-50 rounded-b-xl'>
                 {t('common.promptEditor.context.modal.footer')}
               </div>
             </div>
diff --git a/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.tsx b/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.tsx
index 7d96827..9d44a40 100644
--- a/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.tsx
+++ b/app/components/base/prompt-editor/plugins/context-block/context-block-replacement-block.tsx
@@ -14,13 +14,12 @@
   ContextBlockNode,
 } from '../context-block/node'
 import { CustomTextNode } from '../custom-text/node'
-import { noop } from 'lodash-es'
 
 const REGEX = new RegExp(CONTEXT_PLACEHOLDER_TEXT)
 
 const ContextBlockReplacementBlock = ({
   datasets = [],
-  onAddContext = noop,
+  onAddContext = () => {},
   onInsert,
   canNotAddContext,
 }: ContextBlockType) => {
diff --git a/app/components/base/prompt-editor/plugins/context-block/index.tsx b/app/components/base/prompt-editor/plugins/context-block/index.tsx
index c115065..5be4f1f 100644
--- a/app/components/base/prompt-editor/plugins/context-block/index.tsx
+++ b/app/components/base/prompt-editor/plugins/context-block/index.tsx
@@ -14,7 +14,6 @@
   $createContextBlockNode,
   ContextBlockNode,
 } from './node'
-import { noop } from 'lodash-es'
 
 export const INSERT_CONTEXT_BLOCK_COMMAND = createCommand('INSERT_CONTEXT_BLOCK_COMMAND')
 export const DELETE_CONTEXT_BLOCK_COMMAND = createCommand('DELETE_CONTEXT_BLOCK_COMMAND')
@@ -27,7 +26,7 @@
 
 const ContextBlock = memo(({
   datasets = [],
-  onAddContext = noop,
+  onAddContext = () => {},
   onInsert,
   onDelete,
   canNotAddContext,
diff --git a/app/components/base/prompt-editor/plugins/context-block/node.tsx b/app/components/base/prompt-editor/plugins/context-block/node.tsx
index 227043c..3800b9b 100644
--- a/app/components/base/prompt-editor/plugins/context-block/node.tsx
+++ b/app/components/base/prompt-editor/plugins/context-block/node.tsx
@@ -5,7 +5,7 @@
 
 export type SerializedNode = SerializedLexicalNode & { datasets: Dataset[]; onAddContext: () => void; canNotAddContext: boolean }
 
-export class ContextBlockNode extends DecoratorNode<React.JSX.Element> {
+export class ContextBlockNode extends DecoratorNode<JSX.Element> {
   __datasets: Dataset[]
   __onAddContext: () => void
   __canNotAddContext: boolean
@@ -40,7 +40,7 @@
     return false
   }
 
-  decorate(): React.JSX.Element {
+  decorate(): JSX.Element {
     return (
       <ContextBlockComponent
         nodeKey={this.getKey()}
diff --git a/app/components/base/prompt-editor/plugins/custom-text/node.tsx b/app/components/base/prompt-editor/plugins/custom-text/node.tsx
index 49f4a05..5df4894 100644
--- a/app/components/base/prompt-editor/plugins/custom-text/node.tsx
+++ b/app/components/base/prompt-editor/plugins/custom-text/node.tsx
@@ -1,4 +1,4 @@
-import type { EditorConfig, SerializedTextNode } from 'lexical'
+import type { EditorConfig, NodeKey, SerializedTextNode } from 'lexical'
 import { $createTextNode, TextNode } from 'lexical'
 
 export class CustomTextNode extends TextNode {
@@ -10,9 +10,9 @@
     return new CustomTextNode(node.__text, node.__key)
   }
 
-  // constructor(text: string, key?: NodeKey) {
-  //   super(text, key)
-  // }
+  constructor(text: string, key?: NodeKey) {
+    super(text, key)
+  }
 
   createDOM(config: EditorConfig) {
     const dom = super.createDOM(config)
diff --git a/app/components/base/prompt-editor/plugins/history-block/component.tsx b/app/components/base/prompt-editor/plugins/history-block/component.tsx
index dc41413..1dd2972 100644
--- a/app/components/base/prompt-editor/plugins/history-block/component.tsx
+++ b/app/components/base/prompt-editor/plugins/history-block/component.tsx
@@ -40,11 +40,11 @@
 
   return (
     <div className={`
-      group inline-flex h-6 items-center rounded-[5px] border border-transparent pl-1 pr-0.5 text-[#DD2590] hover:bg-[#FCE7F6]
+      group inline-flex items-center pl-1 pr-0.5 h-6 border border-transparent text-[#DD2590] rounded-[5px] hover:bg-[#FCE7F6]
       ${open ? 'bg-[#FCE7F6]' : 'bg-[#FDF2FA]'}
       ${isSelected && '!border-[#F670C7]'}
     `} ref={ref}>
-      <MessageClockCircle className='mr-1 h-[14px] w-[14px]' />
+      <MessageClockCircle className='mr-1 w-[14px] h-[14px]' />
       <div className='mr-1 text-xs font-medium'>{t('common.promptEditor.history.item.title')}</div>
       <PortalToFollowElem
         open={open}
@@ -57,14 +57,14 @@
       >
         <PortalToFollowElemTrigger ref={triggerRef}>
           <div className={`
-            flex h-[18px] w-[18px] cursor-pointer items-center justify-center rounded
+            flex items-center justify-center w-[18px] h-[18px] rounded cursor-pointer
             ${open ? 'bg-[#DD2590] text-white' : 'bg-white/50 group-hover:bg-white group-hover:shadow-xs'}
           `}>
-            <RiMoreFill className='h-3 w-3' />
+            <RiMoreFill className='w-3 h-3' />
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent style={{ zIndex: 100 }}>
-          <div className='w-[360px] rounded-xl bg-white shadow-lg'>
+          <div className='w-[360px] bg-white rounded-xl shadow-lg'>
             <div className='p-4'>
               <div className='mb-2 text-xs font-medium text-gray-500'>{t('common.promptEditor.history.modal.title')}</div>
               <div className='flex items-center text-sm text-gray-700'>
@@ -77,7 +77,7 @@
               </div>
             </div>
             <div
-              className='cursor-pointer rounded-b-xl border-t border-black/5 px-4 py-3 text-xs text-[#155EEF]'
+              className='px-4 py-3 text-xs text-[#155EEF] border-t border-black/5 rounded-b-xl cursor-pointer'
               onClick={onEditRole}
             >
               {t('common.promptEditor.history.modal.edit')}
diff --git a/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.tsx b/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.tsx
index 7845903..04aa0cb 100644
--- a/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.tsx
+++ b/app/components/base/prompt-editor/plugins/history-block/history-block-replacement-block.tsx
@@ -13,13 +13,12 @@
   HistoryBlockNode,
 } from '../history-block/node'
 import { CustomTextNode } from '../custom-text/node'
-import { noop } from 'lodash-es'
 
 const REGEX = new RegExp(HISTORY_PLACEHOLDER_TEXT)
 
 const HistoryBlockReplacementBlock = ({
   history = { user: '', assistant: '' },
-  onEditRole = noop,
+  onEditRole = () => {},
   onInsert,
 }: HistoryBlockType) => {
   const [editor] = useLexicalComposerContext()
diff --git a/app/components/base/prompt-editor/plugins/history-block/index.tsx b/app/components/base/prompt-editor/plugins/history-block/index.tsx
index d51c986..78c7349 100644
--- a/app/components/base/prompt-editor/plugins/history-block/index.tsx
+++ b/app/components/base/prompt-editor/plugins/history-block/index.tsx
@@ -14,7 +14,6 @@
   $createHistoryBlockNode,
   HistoryBlockNode,
 } from './node'
-import { noop } from 'lodash-es'
 
 export const INSERT_HISTORY_BLOCK_COMMAND = createCommand('INSERT_HISTORY_BLOCK_COMMAND')
 export const DELETE_HISTORY_BLOCK_COMMAND = createCommand('DELETE_HISTORY_BLOCK_COMMAND')
@@ -33,7 +32,7 @@
 
 const HistoryBlock = memo(({
   history = { user: '', assistant: '' },
-  onEditRole = noop,
+  onEditRole = () => {},
   onInsert,
   onDelete,
 }: HistoryBlockType) => {
diff --git a/app/components/base/prompt-editor/plugins/history-block/node.tsx b/app/components/base/prompt-editor/plugins/history-block/node.tsx
index 1cb33fc..4112b73 100644
--- a/app/components/base/prompt-editor/plugins/history-block/node.tsx
+++ b/app/components/base/prompt-editor/plugins/history-block/node.tsx
@@ -5,7 +5,7 @@
 
 export type SerializedNode = SerializedLexicalNode & { roleName: RoleName; onEditRole: () => void }
 
-export class HistoryBlockNode extends DecoratorNode<React.JSX.Element> {
+export class HistoryBlockNode extends DecoratorNode<JSX.Element> {
   __roleName: RoleName
   __onEditRole: () => void
 
@@ -14,7 +14,7 @@
   }
 
   static clone(node: HistoryBlockNode): HistoryBlockNode {
-    return new HistoryBlockNode(node.__roleName, node.__onEditRole, node.__key)
+    return new HistoryBlockNode(node.__roleName, node.__onEditRole)
   }
 
   constructor(roleName: RoleName, onEditRole: () => void, key?: NodeKey) {
@@ -38,7 +38,7 @@
     return false
   }
 
-  decorate(): React.JSX.Element {
+  decorate(): JSX.Element {
     return (
       <HistoryBlockComponent
         nodeKey={this.getKey()}
diff --git a/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.tsx b/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.tsx
index 246fd96..2e3adc1 100644
--- a/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.tsx
+++ b/app/components/base/prompt-editor/plugins/on-blur-or-focus-block.tsx
@@ -37,16 +37,14 @@
       ),
       editor.registerCommand(
         BLUR_COMMAND,
-        (event) => {
-          // Check if the clicked target element is var-search-input
-          const target = event?.relatedTarget as HTMLElement
-          if (!target?.classList?.contains('var-search-input')) {
-            ref.current = setTimeout(() => {
-              editor.dispatchCommand(KEY_ESCAPE_COMMAND, new KeyboardEvent('keydown', { key: 'Escape' }))
-            }, 200)
-            if (onBlur)
-              onBlur()
-          }
+        () => {
+          ref.current = setTimeout(() => {
+            editor.dispatchCommand(KEY_ESCAPE_COMMAND, new KeyboardEvent('keydown', { key: 'Escape' }))
+          }, 200)
+
+          if (onBlur)
+            onBlur()
+
           return true
         },
         COMMAND_PRIORITY_EDITOR,
diff --git a/app/components/base/prompt-editor/plugins/placeholder.tsx b/app/components/base/prompt-editor/plugins/placeholder.tsx
index 8b86913..2ad8791 100644
--- a/app/components/base/prompt-editor/plugins/placeholder.tsx
+++ b/app/components/base/prompt-editor/plugins/placeholder.tsx
@@ -16,8 +16,8 @@
   return (
     <div className={cn(
       className,
-      'pointer-events-none absolute left-0 top-0 h-full w-full select-none text-sm text-components-input-text-placeholder',
-      compact ? 'text-[13px] leading-5' : 'text-sm leading-6',
+      'absolute top-0 left-0 h-full w-full text-sm text-components-input-text-placeholder select-none pointer-events-none',
+      compact ? 'leading-5 text-[13px]' : 'leading-6 text-sm',
     )}>
       {value || t('common.promptEditor.placeholder')}
     </div>
diff --git a/app/components/base/prompt-editor/plugins/query-block/component.tsx b/app/components/base/prompt-editor/plugins/query-block/component.tsx
index fa46334..2ade9a9 100644
--- a/app/components/base/prompt-editor/plugins/query-block/component.tsx
+++ b/app/components/base/prompt-editor/plugins/query-block/component.tsx
@@ -17,12 +17,12 @@
   return (
     <div
       className={`
-        inline-flex h-6 items-center rounded-[5px] border border-transparent bg-[#FFF6ED] pl-1 pr-0.5 hover:bg-[#FFEAD5]
+        inline-flex items-center pl-1 pr-0.5 h-6 bg-[#FFF6ED] border border-transparent rounded-[5px] hover:bg-[#FFEAD5]
         ${isSelected && '!border-[#FD853A]'}
       `}
       ref={ref}
     >
-      <UserEdit02 className='mr-1 h-[14px] w-[14px] text-[#FD853A]' />
+      <UserEdit02 className='mr-1 w-[14px] h-[14px] text-[#FD853A]' />
       <div className='text-xs font-medium text-[#EC4A0A] opacity-60'>{'{{'}</div>
       <div className='text-xs font-medium text-[#EC4A0A]'>{t('common.promptEditor.query.item.title')}</div>
       <div className='text-xs font-medium text-[#EC4A0A] opacity-60'>{'}}'}</div>
diff --git a/app/components/base/prompt-editor/plugins/query-block/node.tsx b/app/components/base/prompt-editor/plugins/query-block/node.tsx
index fc56045..3b5f6c0 100644
--- a/app/components/base/prompt-editor/plugins/query-block/node.tsx
+++ b/app/components/base/prompt-editor/plugins/query-block/node.tsx
@@ -4,7 +4,7 @@
 
 export type SerializedNode = SerializedLexicalNode
 
-export class QueryBlockNode extends DecoratorNode<React.JSX.Element> {
+export class QueryBlockNode extends DecoratorNode<JSX.Element> {
   static getType(): string {
     return 'query-block'
   }
@@ -27,7 +27,7 @@
     return false
   }
 
-  decorate(): React.JSX.Element {
+  decorate(): JSX.Element {
     return <QueryBlockComponent nodeKey={this.getKey()} />
   }
 
diff --git a/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx b/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx
index e83dd22..9dd76fc 100644
--- a/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx
+++ b/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx
@@ -1,6 +1,7 @@
 import type {
   EditorConfig,
   LexicalNode,
+  NodeKey,
   SerializedTextNode,
 } from 'lexical'
 import {
@@ -17,9 +18,9 @@
     return new VariableValueBlockNode(node.__text, node.__key)
   }
 
-  // constructor(text: string, key?: NodeKey) {
-  //   super(text, key)
-  // }
+  constructor(text: string, key?: NodeKey) {
+    super(text, key)
+  }
 
   createDOM(config: EditorConfig): HTMLElement {
     const element = super.createDOM(config)
diff --git a/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx b/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx
index 50ff296..fc6e589 100644
--- a/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx
+++ b/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx
@@ -11,7 +11,6 @@
 import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'
 import {
   RiErrorWarningFill,
-  RiMoreLine,
 } from '@remixicon/react'
 import { useSelectOrDelete } from '../../hooks'
 import type { WorkflowNodesMap } from './node'
@@ -28,35 +27,26 @@
 import { isConversationVar, isENV, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils'
 import Tooltip from '@/app/components/base/tooltip'
 import { isExceptionVariable } from '@/app/components/workflow/utils'
-import VarFullPathPanel from '@/app/components/workflow/nodes/_base/components/variable/var-full-path-panel'
-import { Type } from '@/app/components/workflow/nodes/llm/types'
-import type { ValueSelector } from '@/app/components/workflow/types'
 
 type WorkflowVariableBlockComponentProps = {
   nodeKey: string
   variables: string[]
   workflowNodesMap: WorkflowNodesMap
-  getVarType?: (payload: {
-    nodeId: string,
-    valueSelector: ValueSelector,
-  }) => Type
 }
 
 const WorkflowVariableBlockComponent = ({
   nodeKey,
   variables,
   workflowNodesMap = {},
-  getVarType,
 }: WorkflowVariableBlockComponentProps) => {
   const { t } = useTranslation()
   const [editor] = useLexicalComposerContext()
   const [ref, isSelected] = useSelectOrDelete(nodeKey, DELETE_WORKFLOW_VARIABLE_BLOCK_COMMAND)
   const variablesLength = variables.length
-  const isShowAPart = variablesLength > 2
   const varName = (
     () => {
       const isSystem = isSystemVar(variables)
-      const varName = variables[variablesLength - 1]
+      const varName = variablesLength >= 3 ? (variables).slice(-2).join('.') : variables[variablesLength - 1]
       return `${isSystem ? 'sys.' : ''}${varName}`
     }
   )()
@@ -86,7 +76,7 @@
   const Item = (
     <div
       className={cn(
-        'group/wrap relative mx-0.5 flex h-[18px] select-none items-center rounded-[5px] border pl-0.5 pr-[3px] hover:border-state-accent-solid hover:bg-state-accent-hover',
+        'mx-0.5 relative group/wrap flex items-center h-[18px] pl-0.5 pr-[3px] rounded-[5px] border select-none',
         isSelected ? ' border-state-accent-solid bg-state-accent-hover' : ' border-components-panel-border-subtle bg-components-badge-white-to-dark',
         !node && !isEnv && !isChatVar && '!border-state-destructive-solid !bg-state-destructive-hover',
       )}
@@ -104,31 +94,24 @@
               </div>
             )
           }
-          <div className='mx-0.5 max-w-[60px] shrink-0 truncate text-xs font-medium text-text-secondary' title={node?.title} style={{
+          <div className='shrink-0 mx-0.5 max-w-[60px] text-xs font-medium text-text-secondary truncate' title={node?.title} style={{
           }}>{node?.title}</div>
           <Line3 className='mr-0.5 text-divider-deep'></Line3>
         </div>
       )}
-      {isShowAPart && (
-        <div className='flex items-center'>
-          <RiMoreLine className='h-3 w-3 text-text-secondary' />
-          <Line3 className='mr-0.5 text-divider-deep'></Line3>
-        </div>
-      )}
-
       <div className='flex items-center text-text-accent'>
-        {!isEnv && !isChatVar && <Variable02 className={cn('h-3.5 w-3.5 shrink-0', isException && 'text-text-warning')} />}
-        {isEnv && <Env className='h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-        {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
+        {!isEnv && !isChatVar && <Variable02 className={cn('shrink-0 w-3.5 h-3.5', isException && 'text-text-warning')} />}
+        {isEnv && <Env className='shrink-0 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+        {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
         <div className={cn(
-          'ml-0.5 shrink-0 truncate text-xs font-medium',
+          'shrink-0 ml-0.5 text-xs font-medium truncate',
           isEnv && 'text-util-colors-violet-violet-600',
           isChatVar && 'text-util-colors-teal-teal-700',
           isException && 'text-text-warning',
         )} title={varName}>{varName}</div>
         {
           !node && !isEnv && !isChatVar && (
-            <RiErrorWarningFill className='ml-0.5 h-3 w-3 text-text-destructive' />
+            <RiErrorWarningFill className='ml-0.5 w-3 h-3 text-text-destructive' />
           )
         }
       </div>
@@ -143,27 +126,7 @@
     )
   }
 
-  if (!node)
-    return Item
-
-  return (
-    <Tooltip
-      noDecoration
-      popupContent={
-        <VarFullPathPanel
-          nodeName={node.title}
-          path={variables.slice(1)}
-          varType={getVarType ? getVarType({
-            nodeId: variables[0],
-            valueSelector: variables,
-          }) : Type.string}
-          nodeType={node?.type}
-        />}
-      disabled={!isShowAPart}
-    >
-      <div>{Item}</div>
-    </Tooltip>
-  )
+  return Item
 }
 
 export default memo(WorkflowVariableBlockComponent)
diff --git a/app/components/base/prompt-editor/plugins/workflow-variable-block/index.tsx b/app/components/base/prompt-editor/plugins/workflow-variable-block/index.tsx
index 479dce9..05d4505 100644
--- a/app/components/base/prompt-editor/plugins/workflow-variable-block/index.tsx
+++ b/app/components/base/prompt-editor/plugins/workflow-variable-block/index.tsx
@@ -9,7 +9,7 @@
 } from 'lexical'
 import { mergeRegister } from '@lexical/utils'
 import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'
-import type { GetVarType, WorkflowVariableBlockType } from '../../types'
+import type { WorkflowVariableBlockType } from '../../types'
 import {
   $createWorkflowVariableBlockNode,
   WorkflowVariableBlockNode,
@@ -25,13 +25,11 @@
   getWorkflowNode: (nodeId: string) => Node
   onInsert?: () => void
   onDelete?: () => void
-  getVarType: GetVarType
 }
 const WorkflowVariableBlock = memo(({
   workflowNodesMap,
   onInsert,
   onDelete,
-  getVarType,
 }: WorkflowVariableBlockType) => {
   const [editor] = useLexicalComposerContext()
 
@@ -50,7 +48,7 @@
         INSERT_WORKFLOW_VARIABLE_BLOCK_COMMAND,
         (variables: string[]) => {
           editor.dispatchCommand(CLEAR_HIDE_MENU_TIMEOUT, undefined)
-          const workflowVariableBlockNode = $createWorkflowVariableBlockNode(variables, workflowNodesMap, getVarType)
+          const workflowVariableBlockNode = $createWorkflowVariableBlockNode(variables, workflowNodesMap)
 
           $insertNodes([workflowVariableBlockNode])
           if (onInsert)
@@ -71,7 +69,7 @@
         COMMAND_PRIORITY_EDITOR,
       ),
     )
-  }, [editor, onInsert, onDelete, workflowNodesMap, getVarType])
+  }, [editor, onInsert, onDelete, workflowNodesMap])
 
   return null
 })
diff --git a/app/components/base/prompt-editor/plugins/workflow-variable-block/node.tsx b/app/components/base/prompt-editor/plugins/workflow-variable-block/node.tsx
index dce636d..e415473 100644
--- a/app/components/base/prompt-editor/plugins/workflow-variable-block/node.tsx
+++ b/app/components/base/prompt-editor/plugins/workflow-variable-block/node.tsx
@@ -2,39 +2,34 @@
 import { DecoratorNode } from 'lexical'
 import type { WorkflowVariableBlockType } from '../../types'
 import WorkflowVariableBlockComponent from './component'
-import type { GetVarType } from '../../types'
 
 export type WorkflowNodesMap = WorkflowVariableBlockType['workflowNodesMap']
-
 export type SerializedNode = SerializedLexicalNode & {
   variables: string[]
   workflowNodesMap: WorkflowNodesMap
-  getVarType?: GetVarType
 }
 
-export class WorkflowVariableBlockNode extends DecoratorNode<React.JSX.Element> {
+export class WorkflowVariableBlockNode extends DecoratorNode<JSX.Element> {
   __variables: string[]
   __workflowNodesMap: WorkflowNodesMap
-  __getVarType?: GetVarType
 
   static getType(): string {
     return 'workflow-variable-block'
   }
 
   static clone(node: WorkflowVariableBlockNode): WorkflowVariableBlockNode {
-    return new WorkflowVariableBlockNode(node.__variables, node.__workflowNodesMap, node.__getVarType, node.__key)
+    return new WorkflowVariableBlockNode(node.__variables, node.__workflowNodesMap)
   }
 
   isInline(): boolean {
     return true
   }
 
-  constructor(variables: string[], workflowNodesMap: WorkflowNodesMap, getVarType: any, key?: NodeKey) {
+  constructor(variables: string[], workflowNodesMap: WorkflowNodesMap, key?: NodeKey) {
     super(key)
 
     this.__variables = variables
     this.__workflowNodesMap = workflowNodesMap
-    this.__getVarType = getVarType
   }
 
   createDOM(): HTMLElement {
@@ -47,19 +42,18 @@
     return false
   }
 
-  decorate(): React.JSX.Element {
+  decorate(): JSX.Element {
     return (
       <WorkflowVariableBlockComponent
         nodeKey={this.getKey()}
         variables={this.__variables}
         workflowNodesMap={this.__workflowNodesMap}
-        getVarType={this.__getVarType!}
       />
     )
   }
 
   static importJSON(serializedNode: SerializedNode): WorkflowVariableBlockNode {
-    const node = $createWorkflowVariableBlockNode(serializedNode.variables, serializedNode.workflowNodesMap, serializedNode.getVarType)
+    const node = $createWorkflowVariableBlockNode(serializedNode.variables, serializedNode.workflowNodesMap)
 
     return node
   }
@@ -70,7 +64,6 @@
       version: 1,
       variables: this.getVariables(),
       workflowNodesMap: this.getWorkflowNodesMap(),
-      getVarType: this.getVarType(),
     }
   }
 
@@ -84,17 +77,12 @@
     return self.__workflowNodesMap
   }
 
-  getVarType(): any {
-    const self = this.getLatest()
-    return self.__getVarType
-  }
-
   getTextContent(): string {
     return `{{#${this.getVariables().join('.')}#}}`
   }
 }
-export function $createWorkflowVariableBlockNode(variables: string[], workflowNodesMap: WorkflowNodesMap, getVarType?: GetVarType): WorkflowVariableBlockNode {
-  return new WorkflowVariableBlockNode(variables, workflowNodesMap, getVarType)
+export function $createWorkflowVariableBlockNode(variables: string[], workflowNodesMap: WorkflowNodesMap): WorkflowVariableBlockNode {
+  return new WorkflowVariableBlockNode(variables, workflowNodesMap)
 }
 
 export function $isWorkflowVariableBlockNode(
diff --git a/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.tsx b/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.tsx
index 288008b..0a80ecc 100644
--- a/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.tsx
+++ b/app/components/base/prompt-editor/plugins/workflow-variable-block/workflow-variable-block-replacement-block.tsx
@@ -16,7 +16,6 @@
 
 const WorkflowVariableBlockReplacementBlock = ({
   workflowNodesMap,
-  getVarType,
   onInsert,
 }: WorkflowVariableBlockType) => {
   const [editor] = useLexicalComposerContext()
@@ -31,8 +30,8 @@
       onInsert()
 
     const nodePathString = textNode.getTextContent().slice(3, -3)
-    return $applyNodeReplacement($createWorkflowVariableBlockNode(nodePathString.split('.'), workflowNodesMap, getVarType))
-  }, [onInsert, workflowNodesMap, getVarType])
+    return $applyNodeReplacement($createWorkflowVariableBlockNode(nodePathString.split('.'), workflowNodesMap))
+  }, [onInsert, workflowNodesMap])
 
   const getMatch = useCallback((text: string) => {
     const matchArr = REGEX.exec(text)
@@ -48,7 +47,7 @@
     }
   }, [])
 
-  const transformListener = useCallback((textNode: CustomTextNode) => {
+  const transformListener = useCallback((textNode: any) => {
     resetReg()
     return decoratorTransform(textNode, getMatch, createWorkflowVariableBlockNode)
   }, [createWorkflowVariableBlockNode, getMatch])
diff --git a/app/components/base/prompt-editor/types.ts b/app/components/base/prompt-editor/types.ts
index 0f09fb2..6d0f307 100644
--- a/app/components/base/prompt-editor/types.ts
+++ b/app/components/base/prompt-editor/types.ts
@@ -1,10 +1,8 @@
-import type { Type } from '../../workflow/nodes/llm/types'
 import type { Dataset } from './plugins/context-block'
 import type { RoleName } from './plugins/history-block'
 import type {
   Node,
   NodeOutPutVar,
-  ValueSelector,
 } from '@/app/components/workflow/types'
 
 export type Option = {
@@ -56,18 +54,12 @@
   onAddExternalTool?: () => void
 }
 
-export type GetVarType = (payload: {
-  nodeId: string,
-  valueSelector: ValueSelector,
-}) => Type
-
 export type WorkflowVariableBlockType = {
   show?: boolean
   variables?: NodeOutPutVar[]
   workflowNodesMap?: Record<string, Pick<Node['data'], 'title' | 'type'>>
   onInsert?: () => void
   onDelete?: () => void
-  getVarType?: GetVarType
 }
 
 export type MenuTextMatch = {
diff --git a/app/components/base/prompt-editor/utils.ts b/app/components/base/prompt-editor/utils.ts
index 4b2570e..6d7d636 100644
--- a/app/components/base/prompt-editor/utils.ts
+++ b/app/components/base/prompt-editor/utils.ts
@@ -296,7 +296,7 @@
 }
 
 export function textToEditorState(text: string) {
-  const paragraph = text && (typeof text === 'string') ? text.split('\n') : ['']
+  const paragraph = text ? text.split('\n') : ['']
 
   return JSON.stringify({
     root: {
diff --git a/app/components/base/prompt-log-modal/card.tsx b/app/components/base/prompt-log-modal/card.tsx
index 958a8fa..6c1ea8c 100644
--- a/app/components/base/prompt-log-modal/card.tsx
+++ b/app/components/base/prompt-log-modal/card.tsx
@@ -12,7 +12,7 @@
       {
         log.length === 1 && (
           <div className='px-4 py-2'>
-            <div className='whitespace-pre-line text-text-secondary'>
+            <div className='whitespace-pre-line text-gray-700'>
               {log[0].text}
             </div>
           </div>
@@ -23,12 +23,12 @@
           <div>
             {
               log.map((item, index) => (
-                <div key={index} className='group/card mb-2 rounded-xl px-4 pb-4 pt-2 last-of-type:mb-0 hover:bg-state-base-hover'>
-                  <div className='flex h-8 items-center justify-between'>
+                <div key={index} className='group/card mb-2 px-4 pt-2 pb-4 rounded-xl hover:bg-gray-50 last-of-type:mb-0'>
+                  <div className='flex justify-between items-center h-8'>
                     <div className='font-semibold text-[#2D31A6]'>{item.role.toUpperCase()}</div>
-                    <CopyFeedbackNew className='hidden h-6 w-6 group-hover/card:block' content={item.text} />
+                    <CopyFeedbackNew className='hidden w-6 h-6 group-hover/card:block' content={item.text} />
                   </div>
-                  <div className='whitespace-pre-line text-text-secondary'>{item.text}</div>
+                  <div className='whitespace-pre-line text-gray-700'>{item.text}</div>
                 </div>
               ))
             }
diff --git a/app/components/base/prompt-log-modal/index.tsx b/app/components/base/prompt-log-modal/index.tsx
index bd3097b..3cf47d8 100644
--- a/app/components/base/prompt-log-modal/index.tsx
+++ b/app/components/base/prompt-log-modal/index.tsx
@@ -33,7 +33,7 @@
 
   return (
     <div
-      className='relative z-10 flex flex-col rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'
+      className='relative flex flex-col bg-white border-[0.5px] border-gray-200 rounded-xl shadow-xl z-10'
       style={{
         width: 480,
         position: 'fixed',
@@ -43,26 +43,26 @@
       }}
       ref={ref}
     >
-      <div className='flex h-14 shrink-0 items-center justify-between border-b border-divider-regular pl-6 pr-5'>
-        <div className='text-base font-semibold text-text-primary'>PROMPT LOG</div>
+      <div className='shrink-0 flex justify-between items-center pl-6 pr-5 h-14 border-b border-b-gray-100'>
+        <div className='text-base font-semibold text-gray-900'>PROMPT LOG</div>
         <div className='flex items-center'>
           {
             currentLogItem.log?.length === 1 && (
               <>
-                <CopyFeedbackNew className='h-6 w-6' content={currentLogItem.log[0].text} />
-                <div className='mx-2.5 h-[14px] w-[1px] bg-divider-regular' />
+                <CopyFeedbackNew className='w-6 h-6' content={currentLogItem.log[0].text} />
+                <div className='mx-2.5 w-[1px] h-[14px] bg-gray-200' />
               </>
             )
           }
           <div
             onClick={onCancel}
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex justify-center items-center w-6 h-6 cursor-pointer'
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-gray-500' />
           </div>
         </div>
       </div>
-      <div className='grow overflow-y-auto p-2'>
+      <div className='grow p-2 overflow-y-auto'>
         <Card log={currentLogItem.log} />
       </div>
     </div>
diff --git a/app/components/base/qrcode/index.tsx b/app/components/base/qrcode/index.tsx
index 278176e..c932399 100644
--- a/app/components/base/qrcode/index.tsx
+++ b/app/components/base/qrcode/index.tsx
@@ -1,20 +1,19 @@
 'use client'
 import React, { useEffect, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiQrCodeLine,
-} from '@remixicon/react'
-import { QRCodeCanvas as QRCode } from 'qrcode.react'
-import ActionButton from '@/app/components/base/action-button'
+import QRCode from 'qrcode.react'
+import QrcodeStyle from './style.module.css'
 import Tooltip from '@/app/components/base/tooltip'
 
 type Props = {
   content: string
+  selectorId: string
+  className?: string
 }
 
 const prefixEmbedded = 'appOverview.overview.appInfo.qrcode.title'
 
-const ShareQRCode = ({ content }: Props) => {
+const ShareQRCode = ({ content, selectorId, className }: Props) => {
   const { t } = useTranslation()
   const [isShow, setIsShow] = useState<boolean>(false)
   const qrCodeRef = useRef<HTMLDivElement>(null)
@@ -54,21 +53,22 @@
     <Tooltip
       popupContent={t(`${prefixEmbedded}`) || ''}
     >
-      <div className='relative h-6 w-6' onClick={toggleQRCode}>
-        <ActionButton>
-          <RiQrCodeLine className='h-4 w-4' />
-        </ActionButton>
+      <div
+        className={`w-8 h-8 cursor-pointer rounded-lg ${className ?? ''}`}
+        onClick={toggleQRCode}
+      >
+        <div className={`w-full h-full ${QrcodeStyle.QrcodeIcon} ${isShow ? QrcodeStyle.show : ''}`} />
         {isShow && (
           <div
             ref={qrCodeRef}
-            className='absolute -right-8 top-8 z-10 flex w-[232px] flex-col items-center rounded-lg bg-components-panel-bg p-4 shadow-xs'
+            className={QrcodeStyle.qrcodeform}
             onClick={handlePanelClick}
           >
-            <QRCode size={160} value={content} className='mb-2' />
-            <div className='system-xs-regular flex items-center'>
-              <div className='text-text-tertiary'>{t('appOverview.overview.appInfo.qrcode.scan')}</div>
-              <div className='text-text-tertiary'>路</div>
-              <div className='cursor-pointer text-text-accent-secondary' onClick={downloadQR}>{t('appOverview.overview.appInfo.qrcode.download')}</div>
+            <QRCode size={160} value={content} className={QrcodeStyle.qrcodeimage}/>
+            <div className={QrcodeStyle.text}>
+              <div className={`text-gray-500 ${QrcodeStyle.scan}`}>{t('appOverview.overview.appInfo.qrcode.scan')}</div>
+              <div className={`text-gray-500 ${QrcodeStyle.scan}`}>路</div>
+              <div className={QrcodeStyle.download} onClick={downloadQR}>{t('appOverview.overview.appInfo.qrcode.download')}</div>
             </div>
           </div>
         )}
diff --git a/app/components/base/qrcode/style.module.css b/app/components/base/qrcode/style.module.css
new file mode 100644
index 0000000..b0c4441
--- /dev/null
+++ b/app/components/base/qrcode/style.module.css
@@ -0,0 +1,61 @@
+.QrcodeIcon {
+  background-image: url(~@/app/components/develop/secret-key/assets/qrcode.svg);
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.QrcodeIcon:hover {
+  background-image: url(~@/app/components/develop/secret-key/assets/qrcode-hover.svg);
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.QrcodeIcon.show {
+  background-image: url(~@/app/components/develop/secret-key/assets/qrcode-hover.svg);
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.qrcodeimage {
+  position: relative;
+  object-fit: cover;
+}
+.scan {
+  margin: 0;
+  line-height: 1rem;
+  font-size: 0.75rem;
+}
+.download {
+  position: relative;
+  color: #155eef;
+  font-size: 0.75rem;
+  line-height: 1rem;
+}
+.text {
+  align-self: stretch;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  white-space: nowrap;
+  gap: 4px;
+}
+.qrcodeform {
+  border: 0.5px solid #eaecf0;
+  display: flex;
+  flex-direction: column;
+  margin: 0 !important;
+  margin-top: 4px !important;
+  margin-left: -75px !important;
+  width: fit-content;
+  position: relative;
+  border-radius: 8px;
+  background-color: #fff;
+  box-shadow: 0 12px 16px -4px rgba(16, 24, 40, 0.08),
+    0 4px 6px -2px rgba(16, 24, 40, 0.03);
+  overflow: hidden;
+  align-items: center;
+  justify-content: center;
+  padding: 15px;
+  gap: 8px;
+}
diff --git a/app/components/base/radio-card/index.tsx b/app/components/base/radio-card/index.tsx
index 4178972..b8e8440 100644
--- a/app/components/base/radio-card/index.tsx
+++ b/app/components/base/radio-card/index.tsx
@@ -2,7 +2,6 @@
 import type { FC } from 'react'
 import React from 'react'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 type Props = {
   className?: string
@@ -24,7 +23,7 @@
   description,
   noRadio,
   isChosen,
-  onChosen = noop,
+  onChosen = () => { },
   chosenConfig,
   chosenConfigWrapClassName,
   className,
@@ -32,30 +31,30 @@
   return (
     <div
       className={cn(
-        'relative cursor-pointer rounded-xl border-[0.5px] border-components-option-card-option-border bg-components-option-card-option-bg p-3',
+        'relative p-3 border-[0.5px] border-components-option-card-option-border bg-components-option-card-option-bg rounded-xl cursor-pointer',
         isChosen && 'border-[1.5px] bg-components-option-card-option-selected-bg',
         className,
       )}
     >
       <div className='flex gap-x-2' onClick={onChosen}>
-        <div className={cn(iconBgClassName, 'flex size-8 shrink-0 items-center justify-center rounded-lg shadow-md')}>
+        <div className={cn(iconBgClassName, 'shrink-0 flex size-8 justify-center items-center rounded-lg shadow-md')}>
           {icon}
         </div>
         <div className='grow'>
-          <div className='system-sm-semibold mb-1 text-text-secondary'>{title}</div>
+          <div className='system-sm-semibold text-text-secondary mb-1'>{title}</div>
           <div className='system-xs-regular text-text-tertiary'>{description}</div>
         </div>
         {!noRadio && (
-          <div className='absolute right-3 top-3'>
+          <div className='absolute top-3 right-3'>
             <div className={cn(
-              'h-4 w-4 rounded-full border border-components-radio-border bg-components-radio-bg shadow-xs',
+              'w-4 h-4 border border-components-radio-border bg-components-radio-bg shadow-xs rounded-full',
               isChosen && 'border-[5px] border-components-radio-border-checked',
             )}></div>
           </div>
         )}
       </div>
       {((isChosen && chosenConfig) || noRadio) && (
-        <div className='mt-2 flex gap-x-2'>
+        <div className='flex gap-x-2 mt-2'>
           <div className='size-8 shrink-0'></div>
           <div className={cn(chosenConfigWrapClassName, 'grow')}>
             {chosenConfig}
diff --git a/app/components/base/radio-card/simple/index.tsx b/app/components/base/radio-card/simple/index.tsx
index 7bb5c0f..926fc02 100644
--- a/app/components/base/radio-card/simple/index.tsx
+++ b/app/components/base/radio-card/simple/index.tsx
@@ -6,12 +6,12 @@
 
 type Props = {
   className?: string
-  title: string | React.JSX.Element | null
+  title: string | JSX.Element | null
   description: string
   isChosen: boolean
   onChosen: () => void
   chosenConfig?: React.ReactNode
-  icon?: React.JSX.Element
+  icon?: JSX.Element
   extra?: React.ReactNode
 }
 
@@ -31,11 +31,11 @@
       <div className='flex px-3 py-2'>
         {icon}
         <div>
-          <div className='flex items-center justify-between'>
-            <div className='text-sm font-medium leading-5 text-gray-900'>{title}</div>
+          <div className='flex justify-between items-center'>
+            <div className='leading-5 text-sm font-medium text-gray-900'>{title}</div>
             <div className={s.radio}></div>
           </div>
-          <div className='text-xs font-normal leading-[18px] text-gray-500'>{description}</div>
+          <div className='leading-[18px] text-xs font-normal text-gray-500'>{description}</div>
         </div>
       </div>
       {extra}
diff --git a/app/components/base/radio-card/simple/style.module.css b/app/components/base/radio-card/simple/style.module.css
index 93a0f43..58a8708 100644
--- a/app/components/base/radio-card/simple/style.module.css
+++ b/app/components/base/radio-card/simple/style.module.css
@@ -22,4 +22,4 @@
 .item.active .radio {
   border-width: 5px;
   border-color: #155EEF;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/radio/component/group/index.tsx b/app/components/base/radio/component/group/index.tsx
index 088aec7..e195c89 100644
--- a/app/components/base/radio/component/group/index.tsx
+++ b/app/components/base/radio/component/group/index.tsx
@@ -1,16 +1,16 @@
-import type { ReactNode } from 'react'
+import type { ReactElement } from 'react'
 import RadioGroupContext from '../../context'
 import s from '../../style.module.css'
 import cn from '@/utils/classnames'
 
 export type TRadioGroupProps = {
-  children?: ReactNode | ReactNode[]
+  children?: ReactElement | ReactElement[]
   value?: string | number
   className?: string
   onChange?: (value: any) => void
 }
 
-export default function Group({ children, value, onChange, className = '' }: TRadioGroupProps): React.JSX.Element {
+export default function Group({ children, value, onChange, className = '' }: TRadioGroupProps): JSX.Element {
   const onRadioChange = (value: any) => {
     onChange?.(value)
   }
diff --git a/app/components/base/radio/component/radio/index.tsx b/app/components/base/radio/component/radio/index.tsx
index eddc53d..a880bae 100644
--- a/app/components/base/radio/component/radio/index.tsx
+++ b/app/components/base/radio/component/radio/index.tsx
@@ -1,4 +1,4 @@
-import type { ReactNode } from 'react'
+import type { ReactElement } from 'react'
 import { useId } from 'react'
 import { useContext } from 'use-context-selector'
 import RadioGroupContext from '../../context'
@@ -8,7 +8,7 @@
 export type IRadioProps = {
   className?: string
   labelClassName?: string
-  children?: string | ReactNode
+  children?: string | ReactElement
   checked?: boolean
   value?: string | number
   disabled?: boolean
@@ -23,7 +23,7 @@
   value,
   disabled,
   onChange,
-}: IRadioProps): React.JSX.Element {
+}: IRadioProps): JSX.Element {
   const groupContext = useContext(RadioGroupContext)
   const labelId = useId()
   const handleChange = (e: IRadioProps['value']) => {
@@ -51,7 +51,7 @@
     >
       {children && (
         <label className={
-          cn(labelClassName, 'cursor-pointer text-sm')
+          cn(labelClassName, 'text-sm cursor-pointer')
         }
         id={labelId}
         >
diff --git a/app/components/base/radio/ui.tsx b/app/components/base/radio/ui.tsx
index 178262d..234560a 100644
--- a/app/components/base/radio/ui.tsx
+++ b/app/components/base/radio/ui.tsx
@@ -11,7 +11,7 @@
   isChecked,
 }) => {
   return (
-    <div className={cn(isChecked ? 'border-[5px] border-components-radio-border-checked' : 'border-[2px] border-components-radio-border', 'h-4 w-4  rounded-full')}>
+    <div className={cn(isChecked ? 'border-[5px] border-[#155eef]' : 'border-[2px] border-gray-200', 'w-4 h-4  rounded-full')}>
     </div>
   )
 }
diff --git a/app/components/base/regenerate-btn/index.tsx b/app/components/base/regenerate-btn/index.tsx
new file mode 100644
index 0000000..aaf0206
--- /dev/null
+++ b/app/components/base/regenerate-btn/index.tsx
@@ -0,0 +1,31 @@
+'use client'
+import { t } from 'i18next'
+import { Refresh } from '../icons/src/vender/line/general'
+import Tooltip from '@/app/components/base/tooltip'
+
+type Props = {
+  className?: string
+  onClick?: () => void
+}
+
+const RegenerateBtn = ({ className, onClick }: Props) => {
+  return (
+    <div className={`${className}`}>
+      <Tooltip
+        popupContent={t('appApi.regenerate') as string}
+      >
+        <div
+          className={'box-border p-0.5 flex items-center justify-center rounded-md bg-white cursor-pointer'}
+          onClick={() => onClick?.()}
+          style={{
+            boxShadow: '0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06)',
+          }}
+        >
+          <Refresh className="p-[3.5px] w-6 h-6 text-[#667085] hover:bg-gray-50" />
+        </div>
+      </Tooltip>
+    </div>
+  )
+}
+
+export default RegenerateBtn
diff --git a/app/components/base/search-input/index.tsx b/app/components/base/search-input/index.tsx
index cf9bc1c..556a7bd 100644
--- a/app/components/base/search-input/index.tsx
+++ b/app/components/base/search-input/index.tsx
@@ -1,8 +1,9 @@
 import type { FC } from 'react'
 import { useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiCloseCircleFill, RiSearchLine } from '@remixicon/react'
+import { RiSearchLine } from '@remixicon/react'
 import cn from '@/utils/classnames'
+import { XCircle } from '@/app/components/base/icons/src/vender/solid/general'
 
 type SearchInputProps = {
   placeholder?: string
@@ -26,20 +27,23 @@
 
   return (
     <div className={cn(
-      'group flex h-8 items-center overflow-hidden rounded-lg border-none bg-components-input-bg-normal px-2 hover:bg-components-input-bg-hover',
-      focus && '!bg-components-input-bg-active',
-      white && '!border-gray-300 !bg-white shadow-xs hover:!border-gray-300 hover:!bg-white',
+      'group flex items-center px-2 h-8 rounded-lg bg-gray-200 hover:bg-gray-300 border border-transparent overflow-hidden',
+      focus && '!bg-white hover:bg-white shadow-xs !border-gray-300',
+      !focus && value && 'hover:!bg-gray-200 hover:!shadow-xs hover:!border-black/5',
+      white && '!bg-white hover:!bg-white shadow-xs !border-gray-300 hover:!border-gray-300',
       className,
     )}>
-      <div className="pointer-events-none mr-1.5 flex h-4 w-4 shrink-0 items-center justify-center">
-        <RiSearchLine className="h-4 w-4 text-components-input-text-placeholder" aria-hidden="true" />
+      <div className="pointer-events-none shrink-0 flex items-center mr-1.5 justify-center w-4 h-4">
+        <RiSearchLine className="h-3.5 w-3.5 text-gray-500" aria-hidden="true" />
       </div>
       <input
         type="text"
         name="query"
         className={cn(
-          'system-sm-regular caret-#295EFF block h-[18px] grow appearance-none border-0 bg-transparent text-components-input-text-filled outline-none placeholder:text-components-input-text-placeholder',
-          white && '!bg-white placeholder:!text-gray-400 hover:!bg-white group-hover:!bg-white',
+          'grow block h-[18px] bg-gray-200 border-0 text-gray-700 text-[13px] placeholder:text-gray-500 appearance-none outline-none group-hover:bg-gray-300 caret-blue-600',
+          focus && '!bg-white hover:bg-white group-hover:bg-white placeholder:!text-gray-400',
+          !focus && value && 'hover:!bg-gray-200 group-hover:!bg-gray-200',
+          white && '!bg-white hover:!bg-white group-hover:!bg-white placeholder:!text-gray-400',
         )}
         placeholder={placeholder || t('common.operation.search')!}
         value={internalValue}
@@ -61,13 +65,13 @@
       />
       {value && (
         <div
-          className='group/clear flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center'
+          className='shrink-0 flex items-center justify-center w-4 h-4 cursor-pointer group/clear'
           onClick={() => {
             onChange('')
             setInternalValue('')
           }}
         >
-          <RiCloseCircleFill className='h-4 w-4 text-text-quaternary group-hover/clear:text-text-tertiary' />
+          <XCircle className='w-3.5 h-3.5 text-gray-400 group-hover/clear:text-gray-600' />
         </div>
       )}
     </div>
diff --git a/app/components/base/select/index.tsx b/app/components/base/select/index.tsx
index fa8730f..221d703 100644
--- a/app/components/base/select/index.tsx
+++ b/app/components/base/select/index.tsx
@@ -1,9 +1,8 @@
 'use client'
 import type { FC } from 'react'
-import React, { useEffect, useState } from 'react'
-import { Combobox, ComboboxButton, ComboboxInput, ComboboxOption, ComboboxOptions, Listbox, ListboxButton, ListboxOption, ListboxOptions } from '@headlessui/react'
+import React, { Fragment, useEffect, useState } from 'react'
+import { Combobox, Listbox, Transition } from '@headlessui/react'
 import { ChevronDownIcon, ChevronUpIcon, XMarkIcon } from '@heroicons/react/20/solid'
-import Badge from '../badge/index'
 import { RiCheckLine } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import classNames from '@/utils/classnames'
@@ -31,7 +30,7 @@
 export type ISelectProps = {
   className?: string
   wrapperClassName?: string
-  renderTrigger?: (value: Item | null) => React.JSX.Element | null
+  renderTrigger?: (value: Item | null) => JSX.Element | null
   items?: Item[]
   defaultValue?: number | string
   disabled?: boolean
@@ -59,7 +58,7 @@
   disabled = false,
   onSelect,
   allowSearch = true,
-  bgClassName = 'bg-components-input-bg-normal',
+  bgClassName = 'bg-gray-100',
   overlayClassName,
   optionClassName,
   renderOption,
@@ -99,44 +98,44 @@
         }
       }}>
       <div className={classNames('relative')}>
-        <div className='group text-text-secondary'>
+        <div className='group text-gray-800'>
           {allowSearch
-            ? <ComboboxInput
-              className={`w-full rounded-lg border-0 ${bgClassName} py-1.5 pl-3 pr-10 shadow-sm focus-visible:bg-state-base-hover focus-visible:outline-none group-hover:bg-state-base-hover sm:text-sm sm:leading-6 ${disabled ? 'cursor-not-allowed' : 'cursor-pointer'}`}
+            ? <Combobox.Input
+              className={`w-full rounded-lg border-0 ${bgClassName} py-1.5 pl-3 pr-10 shadow-sm sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-gray-200 group-hover:bg-gray-200 ${disabled ? 'cursor-not-allowed' : 'cursor-pointer'}`}
               onChange={(event) => {
                 if (!disabled)
                   setQuery(event.target.value)
               }}
               displayValue={(item: Item) => item?.name}
             />
-            : <ComboboxButton onClick={
+            : <Combobox.Button onClick={
               () => {
                 if (!disabled)
                   setOpen(!open)
               }
-            } className={classNames(`flex items-center h-9 w-full rounded-lg border-0 ${bgClassName} py-1.5 pl-3 pr-10 shadow-sm sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-state-base-hover group-hover:bg-state-base-hover`, optionClassName)}>
-              <div className='w-0 grow truncate text-left' title={selectedItem?.name}>{selectedItem?.name}</div>
-            </ComboboxButton>}
-          <ComboboxButton className="absolute inset-y-0 right-0 flex items-center rounded-r-md px-2 focus:outline-none" onClick={
+            } className={classNames(`flex items-center h-9 w-full rounded-lg border-0 ${bgClassName} py-1.5 pl-3 pr-10 shadow-sm sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-gray-200 group-hover:bg-gray-200`, optionClassName)}>
+              <div className='w-0 grow text-left truncate' title={selectedItem?.name}>{selectedItem?.name}</div>
+            </Combobox.Button>}
+          <Combobox.Button className="absolute inset-y-0 right-0 flex items-center rounded-r-md px-2 focus:outline-none group-hover:bg-gray-200" onClick={
             () => {
               if (!disabled)
                 setOpen(!open)
             }
           }>
             {open ? <ChevronUpIcon className="h-5 w-5" /> : <ChevronDownIcon className="h-5 w-5" />}
-          </ComboboxButton>
+          </Combobox.Button>
         </div>
 
         {(filteredItems.length > 0 && open) && (
-          <ComboboxOptions className={`absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md border-[0.5px] border-components-panel-border bg-components-panel-bg-blur px-1 py-1 text-base shadow-lg backdrop-blur-sm focus:outline-none sm:text-sm ${overlayClassName}`}>
+          <Combobox.Options className={`absolute z-10 mt-1 px-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg border-gray-200 border-[0.5px] focus:outline-none sm:text-sm ${overlayClassName}`}>
             {filteredItems.map((item: Item) => (
-              <ComboboxOption
+              <Combobox.Option
                 key={item.value}
                 value={item}
                 className={({ active }: { active: boolean }) =>
                   classNames(
-                    'relative cursor-default select-none py-2 pl-3 pr-9 rounded-lg hover:bg-state-base-hover text-text-secondary',
-                    active ? 'bg-state-base-hover' : '',
+                    'relative cursor-default select-none py-2 pl-3 pr-9 rounded-lg hover:bg-gray-100 text-gray-700',
+                    active ? 'bg-gray-100' : '',
                     optionClassName,
                   )
                 }
@@ -151,7 +150,7 @@
                           {selected && (
                             <span
                               className={classNames(
-                                'absolute inset-y-0 right-0 flex items-center pr-4 text-text-secondary',
+                                'absolute inset-y-0 right-0 flex items-center pr-4 text-gray-700',
                               )}
                             >
                               <RiCheckLine className="h-4 w-4" aria-hidden="true" />
@@ -161,9 +160,9 @@
                       )}
                   </>
                 )}
-              </ComboboxOption>
+              </Combobox.Option>
             ))}
-          </ComboboxOptions>
+          </Combobox.Options>
         )}
       </div>
     </Combobox >
@@ -210,9 +209,9 @@
       }}
     >
       <div className={classNames('group/simple-select relative h-9', wrapperClassName)}>
-        {renderTrigger && <ListboxButton className='w-full'>{renderTrigger(selectedItem)}</ListboxButton>}
+        {renderTrigger && <Listbox.Button className='w-full'>{renderTrigger(selectedItem)}</Listbox.Button>}
         {!renderTrigger && (
-          <ListboxButton className={classNames(`flex items-center w-full h-full rounded-lg border-0 bg-components-input-bg-normal pl-3 pr-10 sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-state-base-hover-alt group-hover/simple-select:bg-state-base-hover-alt ${disabled ? 'cursor-not-allowed' : 'cursor-pointer'}`, className)}>
+          <Listbox.Button className={classNames(`flex items-center w-full h-full rounded-lg border-0 bg-components-input-bg-normal pl-3 pr-10 sm:text-sm sm:leading-6 focus-visible:outline-none focus-visible:bg-state-base-hover-alt group-hover/simple-select:bg-state-base-hover-alt ${disabled ? 'cursor-not-allowed' : 'cursor-pointer'}`, className)}>
             <span className={classNames('block truncate text-left system-sm-regular text-components-input-text-filled', !selectedItem?.name && 'text-components-input-text-placeholder')}>{selectedItem?.name ?? localPlaceholder}</span>
             <span className="absolute inset-y-0 right-0 flex items-center pr-2">
               {(selectedItem && !notClearable)
@@ -223,7 +222,7 @@
                       setSelectedItem(null)
                       onSelect({ name: '', value: '' })
                     }}
-                    className="h-4 w-4 cursor-pointer text-text-quaternary"
+                    className="h-4 w-4 text-text-quaternary cursor-pointer"
                     aria-hidden="false"
                   />
                 )
@@ -234,44 +233,52 @@
                   />
                 )}
             </span>
-          </ListboxButton>
+          </Listbox.Button>
         )}
 
         {!disabled && (
-          <ListboxOptions className={classNames('absolute z-10 mt-1 px-1 max-h-60 w-full overflow-auto rounded-xl bg-components-panel-bg-blur backdrop-blur-sm py-1 text-base shadow-lg border-components-panel-border border-[0.5px] focus:outline-none sm:text-sm', optionWrapClassName)}>
-            {items.map((item: Item) => (
-              <ListboxOption
-                key={item.value}
-                className={
-                  classNames(
-                    'relative cursor-pointer select-none py-2 pl-3 pr-9 rounded-lg hover:bg-state-base-hover text-text-secondary',
-                    optionClassName,
-                  )
-                }
-                value={item}
-                disabled={disabled}
-              >
-                {({ /* active, */ selected }) => (
-                  <>
-                    {renderOption
-                      ? renderOption({ item, selected })
-                      : (<>
-                        <span className={classNames('block', selected && 'font-normal')}>{item.name}</span>
-                        {selected && !hideChecked && (
-                          <span
-                            className={classNames(
-                              'absolute inset-y-0 right-0 flex items-center pr-4 text-text-accent',
-                            )}
-                          >
-                            <RiCheckLine className="h-4 w-4" aria-hidden="true" />
-                          </span>
-                        )}
-                      </>)}
-                  </>
-                )}
-              </ListboxOption>
-            ))}
-          </ListboxOptions>
+          <Transition
+            as={Fragment}
+            leave="transition ease-in duration-100"
+            leaveFrom="opacity-100"
+            leaveTo="opacity-0"
+          >
+
+            <Listbox.Options className={classNames('absolute z-10 mt-1 px-1 max-h-60 w-full overflow-auto rounded-md bg-components-panel-bg-blur py-1 text-base shadow-lg border-components-panel-border border-[0.5px] focus:outline-none sm:text-sm', optionWrapClassName)}>
+              {items.map((item: Item) => (
+                <Listbox.Option
+                  key={item.value}
+                  className={({ active }) =>
+                    classNames(
+                      'relative cursor-pointer select-none py-2 pl-3 pr-9 rounded-lg hover:bg-state-base-hover text-text-secondary',
+                      optionClassName,
+                    )
+                  }
+                  value={item}
+                  disabled={disabled}
+                >
+                  {({ /* active, */ selected }) => (
+                    <>
+                      {renderOption
+                        ? renderOption({ item, selected })
+                        : (<>
+                          <span className={classNames('block', selected && 'font-normal')}>{item.name}</span>
+                          {selected && !hideChecked && (
+                            <span
+                              className={classNames(
+                                'absolute inset-y-0 right-0 flex items-center pr-4 text-text-accent',
+                              )}
+                            >
+                              <RiCheckLine className="h-4 w-4" aria-hidden="true" />
+                            </span>
+                          )}
+                        </>)}
+                    </>
+                  )}
+                </Listbox.Option>
+              ))}
+            </Listbox.Options>
+          </Transition>
         )}
       </div>
     </Listbox>
@@ -283,8 +290,7 @@
   onSelect: (value: Item) => void
   items: Item[]
   placeholder?: string
-  installedValue?: string | number
-  renderTrigger?: (value?: Item) => React.JSX.Element | null
+  renderTrigger?: (value?: Item) => JSX.Element | null
   triggerClassName?: string
   triggerClassNameFn?: (open: boolean) => string
   popupClassName?: string
@@ -297,7 +303,6 @@
   onSelect,
   items,
   placeholder,
-  installedValue,
   renderTrigger,
   triggerClassName,
   triggerClassNameFn,
@@ -309,7 +314,7 @@
   const { t } = useTranslation()
   const [open, setOpen] = useState(false)
   const localPlaceholder = placeholder || t('common.placeholder.select')
-  const selectedItem = value ? items.find(item => item.value === value) : undefined
+  const selectedItem = items.find(item => item.value === value)
 
   return (
     <PortalToFollowElem
@@ -324,34 +329,33 @@
           : (
             <div
               className={classNames(`
-            group flex items-center justify-between px-2.5 h-9 rounded-lg border-0 bg-components-input-bg-normal hover:bg-state-base-hover-alt text-sm ${readonly ? 'cursor-not-allowed' : 'cursor-pointer'}
+            flex items-center justify-between px-2.5 h-9 rounded-lg border-0 bg-gray-100 text-sm ${readonly ? 'cursor-not-allowed' : 'cursor-pointer'} 
           `, triggerClassName, triggerClassNameFn?.(open))}
               title={selectedItem?.name}
             >
               <span
                 className={`
               grow truncate
-              ${!selectedItem?.name && 'text-components-input-text-placeholder'}
+              ${!selectedItem?.name && 'text-gray-400'}
             `}
               >
                 {selectedItem?.name ?? localPlaceholder}
               </span>
-              <div className='mx-0.5'>{installedValue && selectedItem && selectedItem.value !== installedValue && <Badge>{installedValue} {'->'} {selectedItem.value} </Badge>}</div>
-              <ChevronDownIcon className='h-4 w-4 shrink-0 text-text-quaternary group-hover:text-text-secondary' />
+              <ChevronDownIcon className='shrink-0 h-4 w-4 text-gray-400' />
             </div>
           )}
 
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className={`z-20 ${popupClassName}`}>
         <div
-          className={classNames('px-1 py-1 max-h-60 overflow-auto rounded-md text-base shadow-lg border-components-panel-border bg-components-panel-bg border-[0.5px] focus:outline-none sm:text-sm', popupInnerClassName)}
+          className={classNames('px-1 py-1 max-h-60 overflow-auto rounded-md bg-white text-base shadow-lg border-gray-200 border-[0.5px] focus:outline-none sm:text-sm', popupInnerClassName)}
         >
           {items.map((item: Item) => (
             <div
               key={item.value}
               className={`
-                flex h-9 cursor-pointer items-center justify-between rounded-lg px-2.5 text-text-secondary hover:bg-state-base-hover
-                ${item.value === value && 'bg-state-base-hover'}
+                flex items-center justify-between px-2.5 h-9 cursor-pointer rounded-lg hover:bg-gray-100 text-gray-700
+                ${item.value === value && 'bg-gray-100'}
               `}
               title={item.name}
               onClick={() => {
@@ -363,13 +367,10 @@
                 className='w-0 grow truncate'
                 title={item.name}
               >
-                <span className='truncate'>{item.name}</span>
-                {item.value === installedValue && (
-                  <Badge uppercase={true} className='ml-1 shrink-0'>INSTALLED</Badge>
-                )}
+                {item.name}
               </span>
               {!hideChecked && item.value === value && (
-                <RiCheckLine className='h-4 w-4 shrink-0 text-text-accent' />
+                <RiCheckLine className='shrink-0 h-4 w-4 text-text-accent' />
               )}
             </div>
           ))}
diff --git a/app/components/base/select/locale.tsx b/app/components/base/select/locale.tsx
index 8981f09..8b89c66 100644
--- a/app/components/base/select/locale.tsx
+++ b/app/components/base/select/locale.tsx
@@ -1,5 +1,5 @@
 'use client'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import { Fragment } from 'react'
 import { GlobeAltIcon } from '@heroicons/react/24/outline'
 
@@ -21,10 +21,14 @@
     <div className="w-56 text-right">
       <Menu as="div" className="relative inline-block text-left">
         <div>
-          <MenuButton className="h-[44px]justify-center inline-flex w-full items-center rounded-lg border border-components-button-secondary-border px-[10px] py-[6px] text-[13px] font-medium text-text-primary hover:bg-state-base-hover">
-            <GlobeAltIcon className="mr-1 h-5 w-5" aria-hidden="true" />
+          <Menu.Button className="inline-flex w-full h-[44px]justify-center items-center
+          rounded-lg px-[10px] py-[6px]
+          text-gray-900 text-[13px] font-medium
+          border border-gray-200
+          hover:bg-gray-100">
+            <GlobeAltIcon className="w-5 h-5 mr-1" aria-hidden="true" />
             {item?.name}
-          </MenuButton>
+          </Menu.Button>
         </div>
         <Transition
           as={Fragment}
@@ -35,25 +39,78 @@
           leaveFrom="transform opacity-100 scale-100"
           leaveTo="transform opacity-0 scale-95"
         >
-          <MenuItems className="absolute right-0 z-10 mt-2 w-[200px] origin-top-right divide-y divide-divider-regular rounded-md bg-components-panel-bg shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none">
+          <Menu.Items className="absolute right-0 mt-2 w-[200px] origin-top-right divide-y divide-gray-100 rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none z-10">
             <div className="px-1 py-1 ">
               {items.map((item) => {
-                return <MenuItem key={item.value}>
-                  <button
-                    className={'group flex w-full items-center rounded-lg px-3 py-2 text-sm text-text-secondary data-[active]:bg-state-base-hover'}
-                    onClick={(evt) => {
-                      evt.preventDefault()
-                      onChange && onChange(item.value)
-                    }}
-                  >
-                    {item.name}
-                  </button>
-                </MenuItem>
+                return <Menu.Item key={item.value}>
+                  {({ active }) => (
+                    <button
+                      className={`${active ? 'bg-gray-100' : ''
+                      } group flex w-full items-center rounded-lg px-3 py-2 text-sm text-gray-700`}
+                      onClick={(evt) => {
+                        evt.preventDefault()
+                        onChange && onChange(item.value)
+                      }}
+                    >
+                      {item.name}
+                    </button>
+                  )}
+                </Menu.Item>
               })}
 
             </div>
 
-          </MenuItems>
+          </Menu.Items>
+        </Transition>
+      </Menu>
+    </div>
+  )
+}
+
+export function InputSelect({
+  items,
+  value,
+  onChange,
+}: ISelectProps) {
+  const item = items.filter(item => item.value === value)[0]
+  return (
+    <div className="w-full">
+      <Menu as="div" className="w-full">
+        <div>
+          <Menu.Button className="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 sm:text-sm h-[38px] text-left">
+            {item?.name}
+          </Menu.Button>
+        </div>
+        <Transition
+          as={Fragment}
+          enter="transition ease-out duration-100"
+          enterFrom="transform opacity-0 scale-95"
+          enterTo="transform opacity-100 scale-100"
+          leave="transition ease-in duration-75"
+          leaveFrom="transform opacity-100 scale-100"
+          leaveTo="transform opacity-0 scale-95"
+        >
+          <Menu.Items className="absolute right-0 mt-2 w-full origin-top-right divide-y divide-gray-100 rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none z-10">
+            <div className="px-1 py-1 ">
+              {items.map((item) => {
+                return <Menu.Item key={item.value}>
+                  {({ active }) => (
+                    <button
+                      className={`${active ? 'bg-gray-100' : ''
+                      } group flex w-full items-center rounded-md px-2 py-2 text-sm`}
+                      onClick={() => {
+                        onChange && onChange(item.value)
+                      }}
+                    >
+                      {item.name}
+                    </button>
+                  )}
+                </Menu.Item>
+              })}
+
+            </div>
+
+          </Menu.Items>
         </Transition>
       </Menu>
     </div>
diff --git a/app/components/base/skeleton/index.tsx b/app/components/base/skeleton/index.tsx
index 41edc26..a2d4e4d 100644
--- a/app/components/base/skeleton/index.tsx
+++ b/app/components/base/skeleton/index.tsx
@@ -24,7 +24,7 @@
 export const SkeletonRectangle: FC<SkeletonProps> = (props) => {
   const { className, children, ...rest } = props
   return (
-    <div className={classNames('h-2 rounded-sm opacity-20 bg-text-quaternary my-1', className)} {...rest}>
+    <div className={classNames('h-2 rounded-sm opacity-20 bg-text-tertiary my-1', className)} {...rest}>
       {children}
     </div>
   )
diff --git a/app/components/base/slider/index.tsx b/app/components/base/slider/index.tsx
index 2cfbf80..2b8f181 100644
--- a/app/components/base/slider/index.tsx
+++ b/app/components/base/slider/index.tsx
@@ -31,9 +31,9 @@
     min={min || 0}
     max={max || 100}
     step={step || 1}
-    className={cn('slider relative', className)}
-    thumbClassName={cn('absolute top-[-9px] h-5 w-2 rounded-[3px] border-[0.5px] border-components-slider-knob-border bg-components-slider-knob shadow-sm  focus:outline-none', !disabled && 'cursor-pointer', thumbClassName)}
-    trackClassName={cn('h-0.5 rounded-full', 'slider-track', trackClassName)}
+    className={cn('relative slider', className)}
+    thumbClassName={cn('absolute top-[-9px] w-2 h-5 border-[0.5px] border-components-slider-knob-border rounded-[3px] bg-components-slider-knob shadow-sm  focus:outline-none', !disabled && 'cursor-pointer', thumbClassName)}
+    trackClassName={cn('h-0.5 rounded-full slider-track', trackClassName)}
     onChange={onChange}
   />
 }
diff --git a/app/components/base/slider/style.css b/app/components/base/slider/style.css
index 5d87fb0..e215a99 100644
--- a/app/components/base/slider/style.css
+++ b/app/components/base/slider/style.css
@@ -8,4 +8,4 @@
 
 .slider-track-1 {
     background-color: var(--color-components-slider-track);
-}
+}
\ No newline at end of file
diff --git a/app/components/base/sort/index.tsx b/app/components/base/sort/index.tsx
index af90233..36f1fdf 100644
--- a/app/components/base/sort/index.tsx
+++ b/app/components/base/sort/index.tsx
@@ -47,11 +47,11 @@
             className='block'
           >
             <div className={cn(
-              'flex cursor-pointer items-center rounded-l-lg bg-components-input-bg-normal px-2 py-1 hover:bg-state-base-hover-alt',
+              'flex items-center px-2 py-1 rounded-l-lg bg-components-input-bg-normal cursor-pointer hover:bg-state-base-hover-alt',
               open && '!bg-state-base-hover-alt hover:bg-state-base-hover-alt',
             )}>
-              <div className='flex items-center gap-0.5 p-1'>
-                <div className='system-sm-regular text-text-tertiary'>{t('appLog.filter.sortBy')}</div>
+              <div className='p-1 flex items-center gap-0.5'>
+                <div className='text-text-tertiary system-sm-regular'>{t('appLog.filter.sortBy')}</div>
                 <div className={cn('system-sm-regular text-text-tertiary', !!value && 'text-text-secondary')}>
                   {triggerContent}
                 </div>
@@ -60,19 +60,19 @@
             </div>
           </PortalToFollowElemTrigger>
           <PortalToFollowElemContent className='z-[1002]'>
-            <div className='relative w-[240px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'>
-              <div className='max-h-72 overflow-auto p-1'>
+            <div className='relative w-[240px] bg-components-panel-bg-blur rounded-xl border-[0.5px] border-components-panel-border shadow-lg'>
+              <div className='p-1 max-h-72 overflow-auto'>
                 {items.map(item => (
                   <div
                     key={item.value}
-                    className='flex cursor-pointer items-center gap-2 rounded-lg px-2 py-[6px] pl-3 hover:bg-state-base-hover'
+                    className='flex items-center gap-2 pl-3 py-[6px] px-2 rounded-lg cursor-pointer hover:bg-state-base-hover'
                     onClick={() => {
                       onSelect(`${order}${item.value}`)
                       setOpen(false)
                     }}
                   >
-                    <div title={item.name} className='system-sm-medium grow truncate text-text-secondary'>{item.name}</div>
-                    {value === item.value && <RiCheckLine className='h-4 w-4 shrink-0 text-util-colors-blue-light-blue-light-600' />}
+                    <div title={item.name} className='grow text-text-secondary system-sm-medium truncate'>{item.name}</div>
+                    {value === item.value && <RiCheckLine className='shrink-0 w-4 h-4 text-util-colors-blue-light-blue-light-600' />}
                   </div>
                 ))}
               </div>
@@ -80,9 +80,9 @@
           </PortalToFollowElemContent>
         </div>
       </PortalToFollowElem>
-      <div className='ml-px cursor-pointer rounded-r-lg bg-components-button-tertiary-bg p-2 hover:bg-components-button-tertiary-bg-hover' onClick={() => onSelect(`${order ? '' : '-'}${value}`)}>
-        {!order && <RiSortAsc className='h-4 w-4 text-components-button-tertiary-text' />}
-        {order && <RiSortDesc className='h-4 w-4 text-components-button-tertiary-text' />}
+      <div className='ml-px p-2 rounded-r-lg bg-components-button-tertiary-bg hover:bg-components-button-tertiary-bg-hover cursor-pointer' onClick={() => onSelect(`${order ? '' : '-'}${value}`)}>
+        {!order && <RiSortAsc className='w-4 h-4 text-components-button-tertiary-text' />}
+        {order && <RiSortDesc className='w-4 h-4 text-components-button-tertiary-text' />}
       </div>
     </div>
 
diff --git a/app/components/base/spinner/index.tsx b/app/components/base/spinner/index.tsx
index e1568c2..53de4ed 100644
--- a/app/components/base/spinner/index.tsx
+++ b/app/components/base/spinner/index.tsx
@@ -10,7 +10,7 @@
 const Spinner: FC<Props> = ({ loading = false, children, className }) => {
   return (
     <div
-      className={`inline-block h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] text-gray-200 ${loading ? 'motion-reduce:animate-[spin_1.5s_linear_infinite]' : 'hidden'} ${className ?? ''}`}
+      className={`inline-block text-gray-200 h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] ${loading ? 'motion-reduce:animate-[spin_1.5s_linear_infinite]' : 'hidden'} ${className ?? ''}`}
       role="status"
     >
       <span
diff --git a/app/components/base/svg-gallery/index.tsx b/app/components/base/svg-gallery/index.tsx
index 94fc82c..4368df0 100644
--- a/app/components/base/svg-gallery/index.tsx
+++ b/app/components/base/svg-gallery/index.tsx
@@ -1,7 +1,6 @@
 import { useEffect, useRef, useState } from 'react'
 import { SVG } from '@svgdotjs/svg.js'
 import ImagePreview from '@/app/components/base/image-uploader/image-preview'
-import DOMPurify from 'dompurify'
 
 export const SVGRenderer = ({ content }: { content: string }) => {
   const svgRef = useRef<HTMLDivElement>(null)
@@ -39,19 +38,19 @@
         if (!(svgElement instanceof SVGElement))
           throw new Error('Invalid SVG content')
 
-        const originalWidth = Number.parseInt(svgElement.getAttribute('width') || '400', 10)
-        const originalHeight = Number.parseInt(svgElement.getAttribute('height') || '600', 10)
+        const originalWidth = parseInt(svgElement.getAttribute('width') || '400', 10)
+        const originalHeight = parseInt(svgElement.getAttribute('height') || '600', 10)
         draw.viewbox(0, 0, originalWidth, originalHeight)
 
         svgRef.current.style.width = `${Math.min(originalWidth, 298)}px`
 
-        const rootElement = draw.svg(DOMPurify.sanitize(content))
+        const rootElement = draw.svg(content)
 
         rootElement.click(() => {
           setImagePreview(svgToDataURL(svgElement as Element))
         })
       }
-      catch {
+      catch (error) {
         if (svgRef.current)
           svgRef.current.innerHTML = '<span style="padding: 1rem;">Error rendering SVG. Wait for the image content to complete.</span>'
       }
diff --git a/app/components/base/svg/index.tsx b/app/components/base/svg/index.tsx
index d29fd17..bf7cb08 100644
--- a/app/components/base/svg/index.tsx
+++ b/app/components/base/svg/index.tsx
@@ -1,7 +1,5 @@
 import React from 'react'
 import s from './style.module.css'
-import ActionButton from '../action-button'
-import cn from '@/utils/classnames'
 
 type ISVGBtnProps = {
   isSVG: boolean
@@ -13,9 +11,12 @@
   setIsSVG,
 }: ISVGBtnProps) => {
   return (
-    <ActionButton onClick={() => { setIsSVG(prevIsSVG => !prevIsSVG) }}>
-      <div className={cn('h-4 w-4', isSVG ? s.svgIconed : s.svgIcon)}></div>
-    </ActionButton>
+    <div
+      className={'box-border p-0.5 flex items-center justify-center rounded-md bg-white cursor-pointer'}
+      onClick={() => { setIsSVG(prevIsSVG => !prevIsSVG) }}
+    >
+      <div className={`w-6 h-6 rounded-md hover:bg-gray-50 ${s.svgIcon} ${isSVG ? s.svgIconed : ''}`}></div>
+    </div>
   )
 }
 
diff --git a/app/components/base/switch/index.tsx b/app/components/base/switch/index.tsx
index 1faf7c5..48e5c0c 100644
--- a/app/components/base/switch/index.tsx
+++ b/app/components/base/switch/index.tsx
@@ -5,82 +5,68 @@
 
 type SwitchProps = {
   onChange?: (value: boolean) => void
-  size?: 'xs' | 'sm' | 'md' | 'lg' | 'l'
+  size?: 'sm' | 'md' | 'lg' | 'l'
   defaultValue?: boolean
   disabled?: boolean
   className?: string
 }
 
-const Switch = (
-  {
-    ref: propRef,
-    onChange,
-    size = 'md',
-    defaultValue = false,
-    disabled = false,
-    className,
-  }: SwitchProps & {
-    ref?: React.RefObject<HTMLButtonElement>;
-  },
-) => {
-  const [enabled, setEnabled] = useState(defaultValue)
-  useEffect(() => {
-    setEnabled(defaultValue)
-  }, [defaultValue])
-  const wrapStyle = {
-    lg: 'h-6 w-11',
-    l: 'h-5 w-9',
-    md: 'h-4 w-7',
-    sm: 'h-3 w-5',
-    xs: 'h-2.5 w-3.5',
-  }
+const Switch = React.forwardRef(
+  ({ onChange, size = 'md', defaultValue = false, disabled = false, className }: SwitchProps,
+    propRef: React.Ref<HTMLButtonElement>) => {
+    const [enabled, setEnabled] = useState(defaultValue)
+    useEffect(() => {
+      setEnabled(defaultValue)
+    }, [defaultValue])
+    const wrapStyle = {
+      lg: 'h-6 w-11',
+      l: 'h-5 w-9',
+      md: 'h-4 w-7',
+      sm: 'h-3 w-5',
+    }
 
-  const circleStyle = {
-    lg: 'h-5 w-5',
-    l: 'h-4 w-4',
-    md: 'h-3 w-3',
-    sm: 'h-2 w-2',
-    xs: 'h-1.5 w-1',
-  }
+    const circleStyle = {
+      lg: 'h-5 w-5',
+      l: 'h-4 w-4',
+      md: 'h-3 w-3',
+      sm: 'h-2 w-2',
+    }
 
-  const translateLeft = {
-    lg: 'translate-x-5',
-    l: 'translate-x-4',
-    md: 'translate-x-3',
-    sm: 'translate-x-2',
-    xs: 'translate-x-1.5',
-  }
-  return (
-    <OriginalSwitch
-      ref={propRef}
-      checked={enabled}
-      onChange={(checked: boolean) => {
-        if (disabled)
-          return
-        setEnabled(checked)
-        onChange?.(checked)
-      }}
-      className={classNames(
-        wrapStyle[size],
-        enabled ? 'bg-components-toggle-bg' : 'bg-components-toggle-bg-unchecked',
-        'relative inline-flex  flex-shrink-0 cursor-pointer rounded-[5px] border-2 border-transparent transition-colors duration-200 ease-in-out',
-        disabled ? '!opacity-50 !cursor-not-allowed' : '',
-        size === 'xs' && 'rounded-sm',
-        className,
-      )}
-    >
-      <span
-        aria-hidden="true"
+    const translateLeft = {
+      lg: 'translate-x-5',
+      l: 'translate-x-4',
+      md: 'translate-x-3',
+      sm: 'translate-x-2',
+    }
+    return (
+      <OriginalSwitch
+        ref={propRef}
+        checked={enabled}
+        onChange={(checked: boolean) => {
+          if (disabled)
+            return
+          setEnabled(checked)
+          onChange?.(checked)
+        }}
         className={classNames(
-          circleStyle[size],
-          enabled ? translateLeft[size] : 'translate-x-0',
-          size === 'xs' && 'rounded-[1px]',
-          'pointer-events-none inline-block transform rounded-[3px] bg-components-toggle-knob shadow ring-0 transition duration-200 ease-in-out',
+          wrapStyle[size],
+          enabled ? 'bg-components-toggle-bg' : 'bg-components-toggle-bg-unchecked',
+          'relative inline-flex  flex-shrink-0 cursor-pointer rounded-[5px] border-2 border-transparent transition-colors duration-200 ease-in-out',
+          disabled ? '!opacity-50 !cursor-not-allowed' : '',
+          className,
         )}
-      />
-    </OriginalSwitch>
-  )
-}
+      >
+        <span
+          aria-hidden="true"
+          className={classNames(
+            circleStyle[size],
+            enabled ? translateLeft[size] : 'translate-x-0',
+            'pointer-events-none inline-block transform rounded-[3px] bg-components-toggle-knob shadow ring-0 transition duration-200 ease-in-out',
+          )}
+        />
+      </OriginalSwitch>
+    )
+  })
 
 Switch.displayName = 'Switch'
 
diff --git a/app/components/base/tab-header/index.tsx b/app/components/base/tab-header/index.tsx
index 36dfa8c..47edc5d 100644
--- a/app/components/base/tab-header/index.tsx
+++ b/app/components/base/tab-header/index.tsx
@@ -1,13 +1,13 @@
 'use client'
 import type { FC } from 'react'
 import React from 'react'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 
 type Item = {
   id: string
   name: string
   isRight?: boolean
-  icon?: React.ReactNode
   extra?: React.ReactNode
 }
 
@@ -22,22 +22,18 @@
   value,
   onChange,
 }) => {
-  const renderItem = ({ id, name, icon, extra }: Item) => (
+  const renderItem = ({ id, name, extra }: Item) => (
     <div
       key={id}
-      className={cn(
-        'system-md-semibold relative flex cursor-pointer items-center border-b-2 border-transparent pb-2 pt-2.5',
-        id === value ? 'border-components-tab-active text-text-primary' : 'text-text-tertiary',
-      )}
+      className={cn(id === value ? `${s.itemActive} text-gray-900` : 'text-gray-500', 'relative flex items-center pb-1.5 leading-6 cursor-pointer')}
       onClick={() => onChange(id)}
     >
-      {icon || ''}
-      <div className='ml-2'>{name}</div>
+      <div className='text-base font-semibold'>{name}</div>
       {extra || ''}
     </div>
   )
   return (
-    <div className='flex justify-between'>
+    <div className='flex justify-between border-b border-gray-200 '>
       <div className='flex space-x-4'>
         {items.filter(item => !item.isRight).map(renderItem)}
       </div>
diff --git a/app/components/base/tab-header/style.module.css b/app/components/base/tab-header/style.module.css
new file mode 100644
index 0000000..0984420
--- /dev/null
+++ b/app/components/base/tab-header/style.module.css
@@ -0,0 +1,9 @@
+.itemActive::after {
+  content: '';
+  position: absolute;
+  bottom: -1px;
+  left: 0;
+  width: 100%;
+  height: 2px;
+  background-color: #155EEF;
+}
\ No newline at end of file
diff --git a/app/components/base/tab-slider-new/index.tsx b/app/components/base/tab-slider-new/index.tsx
index fc0bc1c..767a553 100644
--- a/app/components/base/tab-slider-new/index.tsx
+++ b/app/components/base/tab-slider-new/index.tsx
@@ -25,8 +25,8 @@
           key={option.value}
           onClick={() => onChange(option.value)}
           className={cn(
-            'mr-1 flex h-[32px] cursor-pointer items-center rounded-lg border-[0.5px] border-transparent px-3 py-[7px] text-[13px] font-medium leading-[18px] text-text-tertiary hover:bg-components-main-nav-nav-button-bg-active',
-            value === option.value && 'border-components-main-nav-nav-button-border bg-components-main-nav-nav-button-bg-active text-components-main-nav-nav-button-text-active shadow-xs',
+            'mr-1 px-3 py-[7px] h-[32px] flex items-center rounded-lg border-[0.5px] border-transparent text-text-tertiary text-[13px] font-medium leading-[18px] cursor-pointer hover:bg-components-main-nav-nav-button-bg-active',
+            value === option.value && 'bg-components-main-nav-nav-button-bg-active border-components-main-nav-nav-button-border shadow-xs text-components-main-nav-nav-button-text-active',
           )}
         >
           {option.icon}
diff --git a/app/components/base/tab-slider-plain/index.tsx b/app/components/base/tab-slider-plain/index.tsx
index b9b3965..a472aba 100644
--- a/app/components/base/tab-slider-plain/index.tsx
+++ b/app/components/base/tab-slider-plain/index.tsx
@@ -5,7 +5,7 @@
 
 type Option = {
   value: string
-  text: string | React.JSX.Element
+  text: string | JSX.Element
 }
 
 type ItemProps = {
@@ -13,29 +13,26 @@
   isActive: boolean
   onClick: (v: string) => void
   option: Option
-  smallItem?: boolean
 }
 const Item: FC<ItemProps> = ({
   className,
   isActive,
   onClick,
   option,
-  smallItem,
 }) => {
   return (
     <div
       key={option.value}
       className={cn(
-        'relative pb-2.5 ',
+        'relative pb-2.5 system-xl-semibold',
         !isActive && 'cursor-pointer',
-        smallItem ? 'system-sm-semibold-uppercase' : 'system-xl-semibold',
         className,
       )}
       onClick={() => !isActive && onClick(option.value)}
     >
       <div className={cn(isActive ? 'text-text-primary' : 'text-text-tertiary')}>{option.text}</div>
       {isActive && (
-        <div className='absolute bottom-0 left-0 right-0 h-0.5 bg-util-colors-blue-brand-blue-brand-600'></div>
+        <div className='absolute bottom-0 left-0 right-0 h-0.5 bg-util-colors-blue-blue-500'></div>
       )}
     </div>
   )
@@ -47,7 +44,6 @@
   onChange: (v: string) => void
   options: Option[]
   noBorderBottom?: boolean
-  smallItem?: boolean
   itemClassName?: string
 }
 
@@ -58,7 +54,6 @@
   options,
   noBorderBottom,
   itemClassName,
-  smallItem,
 }) => {
   return (
     <div className={cn(className, !noBorderBottom && 'border-b border-divider-subtle', 'flex  space-x-6')}>
@@ -69,7 +64,6 @@
           onClick={onChange}
           key={option.value}
           className={itemClassName}
-          smallItem={smallItem}
         />
       ))}
     </div>
diff --git a/app/components/base/tab-slider/index.tsx b/app/components/base/tab-slider/index.tsx
index fd6b876..03296a9 100644
--- a/app/components/base/tab-slider/index.tsx
+++ b/app/components/base/tab-slider/index.tsx
@@ -1,85 +1,64 @@
-import type { FC, ReactNode } from 'react'
-import { useEffect, useState } from 'react'
+import type { FC } from 'react'
 import cn from '@/utils/classnames'
-import Badge, { BadgeState } from '@/app/components/base/badge/index'
-import { useInstalledPluginList } from '@/service/use-plugins'
+
 type Option = {
   value: string
-  text: ReactNode
+  text: string
 }
-
 type TabSliderProps = {
   className?: string
+  itemWidth?: number
   value: string
   onChange: (v: string) => void
   options: Option[]
 }
-
 const TabSlider: FC<TabSliderProps> = ({
   className,
+  itemWidth = 118,
   value,
   onChange,
   options,
 }) => {
-  const [activeIndex, setActiveIndex] = useState(options.findIndex(option => option.value === value))
-  const [sliderStyle, setSliderStyle] = useState({})
-  const { data: pluginList } = useInstalledPluginList()
-
-  const updateSliderStyle = (index: number) => {
-    const tabElement = document.getElementById(`tab-${index}`)
-    if (tabElement) {
-      const { offsetLeft, offsetWidth } = tabElement
-      setSliderStyle({
-        transform: `translateX(${offsetLeft}px)`,
-        width: `${offsetWidth}px`,
-      })
-    }
-  }
-
-  useEffect(() => {
-    const newIndex = options.findIndex(option => option.value === value)
-    setActiveIndex(newIndex)
-    updateSliderStyle(newIndex)
-  }, [value, options, pluginList])
+  const currentIndex = options.findIndex(option => option.value === value)
+  const current = options[currentIndex]
 
   return (
-    <div className={cn(className, 'relative inline-flex items-center justify-center rounded-[10px] bg-components-segmented-control-bg-normal p-0.5')}>
-      <div
-        className="shadows-shadow-xs absolute bottom-0.5 left-0 right-0 top-0.5 rounded-[10px] bg-components-panel-bg transition-transform duration-300 ease-in-out"
-        style={sliderStyle}
-      />
-      {options.map((option, index) => (
-        <div
-          id={`tab-${index}`}
-          key={option.value}
-          className={cn(
-            'relative z-10 flex cursor-pointer items-center justify-center gap-1 rounded-[10px] px-2.5 py-1.5 transition-colors duration-300 ease-in-out',
-            'system-md-semibold',
-            index === activeIndex
-              ? 'text-text-primary'
-              : 'text-text-tertiary',
-          )}
-          onClick={() => {
-            if (index !== activeIndex) {
-              onChange(option.value)
-              updateSliderStyle(index)
-            }
-          }}
-        >
-          {option.text}
-          {/* if no plugin installed, the badge won't show */}
-          {option.value === 'plugins'
-            && (pluginList?.plugins.length ?? 0) > 0
-            && <Badge
-              size='s'
-              uppercase={true}
-              state={BadgeState.Default}
-            >
-              {pluginList?.plugins.length}
-            </Badge>
-          }
-        </div>
-      ))}
+    <div className={cn(className, 'relative flex p-0.5 rounded-lg bg-gray-200')}>
+      {
+        options.map((option, index) => (
+          <div
+            key={option.value}
+            className={`
+              flex justify-center items-center h-7 text-[13px] 
+              font-semibold text-gray-600 rounded-[7px] cursor-pointer
+              hover:bg-gray-50
+              ${index !== options.length - 1 && 'mr-[1px]'}
+            `}
+            style={{
+              width: itemWidth,
+            }}
+            onClick={() => onChange(option.value)}
+          >
+            {option.text}
+          </div>
+        ))
+      }
+      {
+        current && (
+          <div
+            className={`
+              absolute flex justify-center items-center h-7 bg-white text-[13px] font-semibold text-primary-600 
+              border-[0.5px] border-gray-200 rounded-[7px] shadow-xs transition-transform
+            `}
+            style={{
+              width: itemWidth,
+              transform: `translateX(${currentIndex * itemWidth + 1}px)`,
+            }}
+          >
+            {current.text}
+          </div>
+        )
+      }
     </div>
   )
 }
diff --git a/app/components/base/tag-input/index.tsx b/app/components/base/tag-input/index.tsx
index 2be9c5f..ec6c1ce 100644
--- a/app/components/base/tag-input/index.tsx
+++ b/app/components/base/tag-input/index.tsx
@@ -70,18 +70,18 @@
   }
 
   return (
-    <div className={cn('flex flex-wrap', !isInWorkflow && 'min-w-[200px]', isSpecialMode ? 'rounded-lg bg-components-input-bg-normal pb-1 pl-1' : '')}>
+    <div className={cn('flex flex-wrap', !isInWorkflow && 'min-w-[200px]', isSpecialMode ? 'bg-gray-100 rounded-lg pb-1 pl-1' : '')}>
       {
         (items || []).map((item, index) => (
           <div
             key={item}
-            className={cn('system-xs-regular mr-1 mt-1 flex items-center rounded-md border border-divider-deep bg-components-badge-white-to-dark py-1 pl-1.5 pr-1 text-text-secondary')}
+            className={cn('flex items-center mr-1 mt-1 pl-1.5 pr-1 py-1 system-xs-regular text-text-secondary border border-divider-deep bg-components-badge-white-to-dark rounded-md')}
           >
             {item}
             {
               !disableRemove && (
-                <div className='flex h-4 w-4 cursor-pointer items-center justify-center' onClick={() => handleRemove(index)}>
-                  <RiCloseLine className='ml-0.5 h-3.5 w-3.5 text-text-tertiary' />
+                <div className='flex items-center justify-center w-4 h-4 cursor-pointer' onClick={() => handleRemove(index)}>
+                  <RiCloseLine className='ml-0.5 w-3.5 h-3.5 text-text-tertiary' />
                 </div>
               )
             }
@@ -90,17 +90,16 @@
       }
       {
         !disableAdd && (
-          <div className={cn('group/tag-add mt-1 flex items-center gap-x-0.5', !isSpecialMode ? 'rounded-md border border-dashed border-divider-deep px-1.5' : '')}>
-            {!isSpecialMode && !focused && <RiAddLine className='h-3.5 w-3.5 text-text-placeholder group-hover/tag-add:text-text-secondary' />}
+          <div className={cn('flex items-center gap-x-0.5 mt-1 group/tag-add', !isSpecialMode ? 'px-1.5 rounded-md border border-dashed border-divider-deep' : '')}>
+            {!isSpecialMode && !focused && <RiAddLine className='w-3.5 h-3.5 text-text-placeholder group-hover/tag-add:text-text-secondary' />}
             <AutosizeInput
-              inputClassName={cn('appearance-none caret-[#295EFF] outline-none placeholder:text-text-placeholder group-hover/tag-add:placeholder:text-text-secondary', isSpecialMode ? 'bg-transparent' : '')}
+              inputClassName={cn('outline-none appearance-none placeholder:text-text-placeholder caret-[#295EFF] group-hover/tag-add:placeholder:text-text-secondary', isSpecialMode ? 'bg-transparent' : '')}
               className={cn(
                 !isInWorkflow && 'max-w-[300px]',
                 isInWorkflow && 'max-w-[146px]',
                 `
-                system-xs-regular overflow-hidden rounded-md py-1
-                ${isSpecialMode && 'border border-transparent px-1.5'}
-                ${focused && isSpecialMode && 'border-dashed border-divider-deep'}
+                py-1 rounded-md overflow-hidden system-xs-regular
+                ${focused && isSpecialMode && 'px-1.5 border border-dashed border-divider-deep'}
               `)}
               onFocus={() => setFocused(true)}
               onBlur={handleBlur}
diff --git a/app/components/base/tag-management/filter.tsx b/app/components/base/tag-management/filter.tsx
index 1ce56e8..49a3e7c 100644
--- a/app/components/base/tag-management/filter.tsx
+++ b/app/components/base/tag-management/filter.tsx
@@ -78,7 +78,7 @@
           className='block'
         >
           <div className={cn(
-            'flex h-8 cursor-pointer items-center gap-1 rounded-lg border-[0.5px] border-transparent bg-components-input-bg-normal px-2',
+            'flex items-center gap-1 px-2 h-8 rounded-lg border-[0.5px] border-transparent bg-components-input-bg-normal cursor-pointer',
             !open && !!value.length && 'shadow-xs',
             open && !!value.length && 'shadow-xs',
           )}>
@@ -98,7 +98,7 @@
               </div>
             )}
             {!!value.length && (
-              <div className='group/clear cursor-pointer p-[1px]' onClick={(e) => {
+              <div className='p-[1px] cursor-pointer group/clear' onClick={(e) => {
                 e.stopPropagation()
                 onChange([])
               }}>
@@ -108,7 +108,7 @@
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1002]'>
-          <div className='relative w-[240px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-[5px]'>
+          <div className='relative w-[240px] bg-components-panel-bg-blur backdrop-blur-[5px] rounded-lg border-[0.5px] border-components-panel-border shadow-lg'>
             <div className='p-2'>
               <Input
                 showLeftIcon
@@ -118,21 +118,21 @@
                 onClear={() => handleKeywordsChange('')}
               />
             </div>
-            <div className='max-h-72 overflow-auto p-1'>
+            <div className='p-1 max-h-72 overflow-auto'>
               {filteredTagList.map(tag => (
                 <div
                   key={tag.id}
-                  className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-state-base-hover'
+                  className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-state-base-hover'
                   onClick={() => selectTag(tag)}
                 >
-                  <div title={tag.name} className='grow truncate text-sm leading-5 text-text-tertiary'>{tag.name}</div>
-                  {value.includes(tag.id) && <Check className='h-4 w-4 shrink-0 text-text-secondary' />}
+                  <div title={tag.name} className='grow text-sm text-text-tertiary leading-5 truncate'>{tag.name}</div>
+                  {value.includes(tag.id) && <Check className='shrink-0 w-4 h-4 text-text-secondary' />}
                 </div>
               ))}
               {!filteredTagList.length && (
-                <div className='flex flex-col items-center gap-1 p-3'>
+                <div className='p-3 flex flex-col items-center gap-1'>
                   <Tag03 className='h-6 w-6 text-text-tertiary' />
-                  <div className='text-xs leading-[14px] text-text-tertiary'>{t('common.tag.noTag')}</div>
+                  <div className='text-text-tertiary text-xs leading-[14px]'>{t('common.tag.noTag')}</div>
                 </div>
               )}
             </div>
diff --git a/app/components/base/tag-management/index.tsx b/app/components/base/tag-management/index.tsx
index d3c509b..1b859db 100644
--- a/app/components/base/tag-management/index.tsx
+++ b/app/components/base/tag-management/index.tsx
@@ -30,7 +30,7 @@
     setTagList(res)
   }
 
-  const [pending, setPending] = useState<boolean>(false)
+  const [pending, setPending] = useState<Boolean>(false)
   const [name, setName] = useState<string>('')
   const createNewTag = async () => {
     if (!name)
@@ -48,7 +48,7 @@
       setName('')
       setPending(false)
     }
-    catch {
+    catch (e: any) {
       notify({ type: 'error', message: t('common.tag.failed') })
       setPending(false)
     }
@@ -60,17 +60,17 @@
 
   return (
     <Modal
-      className='!w-[600px] !max-w-[600px] rounded-xl px-8 py-6'
+      className='px-8 py-6 !max-w-[600px] !w-[600px] rounded-xl'
       isShow={show}
       onClose={() => setShowTagManagementModal(false)}
     >
-      <div className='relative pb-2 text-xl font-semibold leading-[30px] text-text-primary'>{t('common.tag.manageTags')}</div>
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={() => setShowTagManagementModal(false)}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='relative pb-2 text-xl font-semibold leading-[30px] text-gray-900'>{t('common.tag.manageTags')}</div>
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={() => setShowTagManagementModal(false)}>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
       <div className='mt-3 flex flex-wrap gap-2'>
         <input
-          className='w-[100px] shrink-0 appearance-none rounded-lg border border-dashed border-divider-regular bg-transparent px-2 py-1 text-sm leading-5 text-text-secondary caret-primary-600  outline-none placeholder:text-text-quaternary focus:border-solid'
+          className='shrink-0 w-[100px] px-2 py-1 rounded-lg border border-dashed border-gray-200 text-sm leading-5 text-gray-700 outline-none appearance-none  placeholder:text-gray-300 caret-primary-600 focus:border-solid'
           placeholder={t('common.tag.addNew') || ''}
           autoFocus
           value={name}
diff --git a/app/components/base/tag-management/selector.tsx b/app/components/base/tag-management/selector.tsx
index 2678be2..68fe7dd 100644
--- a/app/components/base/tag-management/selector.tsx
+++ b/app/components/base/tag-management/selector.tsx
@@ -15,7 +15,6 @@
 import Checkbox from '@/app/components/base/checkbox'
 import { bindTag, createTag, fetchTagList, unBindTag } from '@/service/tag'
 import { ToastContext } from '@/app/components/base/toast'
-import { noop } from 'lodash-es'
 
 type TagSelectorProps = {
   targetID: string
@@ -55,7 +54,7 @@
     return tagList.filter(tag => tag.type === type && !value.includes(tag.id) && tag.name.includes(keywords))
   }, [type, tagList, value, keywords])
 
-  const [creating, setCreating] = useState<boolean>(false)
+  const [creating, setCreating] = useState<Boolean>(false)
   const createNewTag = async () => {
     if (!keywords)
       return
@@ -73,7 +72,7 @@
       setCreating(false)
       onCreate()
     }
-    catch {
+    catch (e: any) {
       notify({ type: 'error', message: t('common.tag.failed') })
       setCreating(false)
     }
@@ -83,7 +82,7 @@
       await bindTag(tagIDs, targetID, type)
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
     }
-    catch {
+    catch (e: any) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
     }
   }
@@ -92,7 +91,7 @@
       await unBindTag(tagID, targetID, type)
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
     }
-    catch {
+    catch (e: any) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
     }
   }
@@ -126,8 +125,8 @@
   })
 
   return (
-    <div className='relative w-full rounded-lg border-[0.5px] border-components-panel-border bg-components-input-bg-hover'>
-      <div className='border-b-[0.5px] border-divider-regular p-2'>
+    <div className='relative w-full bg-white rounded-lg border-[0.5px] border-gray-200'>
+      <div className='p-2 border-b-[0.5px] border-black/5'>
         <Input
           showLeftIcon
           showClearIcon
@@ -139,9 +138,9 @@
       </div>
       {keywords && notExisted && (
         <div className='p-1'>
-          <div className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-state-base-hover' onClick={createNewTag}>
-            <RiAddLine className='h-4 w-4 text-text-tertiary' />
-            <div className='grow truncate text-sm leading-5 text-text-secondary'>
+          <div className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-100' onClick={createNewTag}>
+            <RiAddLine className='h-4 w-4 text-gray-500' />
+            <div className='grow text-sm text-gray-700 leading-5 truncate'>
               {`${t('common.tag.create')} `}
               <span className='font-medium'>{`"${keywords}"`}</span>
             </div>
@@ -149,53 +148,53 @@
         </div>
       )}
       {keywords && notExisted && filteredTagList.length > 0 && (
-        <Divider className='!my-0 !h-[1px]' />
+        <Divider className='!h-[1px] !my-0' />
       )}
       {(filteredTagList.length > 0 || filteredSelectedTagList.length > 0) && (
-        <div className='max-h-[172px] overflow-y-auto p-1'>
+        <div className='p-1 max-h-[172px] overflow-y-auto'>
           {filteredSelectedTagList.map(tag => (
             <div
               key={tag.id}
-              className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-state-base-hover'
+              className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-100'
               onClick={() => selectTag(tag)}
             >
               <Checkbox
                 className='shrink-0'
                 checked={selectedTagIDs.includes(tag.id)}
-                onCheck={noop}
+                onCheck={() => { }}
               />
-              <div title={tag.name} className='grow truncate text-sm leading-5 text-text-secondary'>{tag.name}</div>
+              <div title={tag.name} className='grow text-sm text-gray-700 leading-5 truncate'>{tag.name}</div>
             </div>
           ))}
           {filteredTagList.map(tag => (
             <div
               key={tag.id}
-              className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-state-base-hover'
+              className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-100'
               onClick={() => selectTag(tag)}
             >
               <Checkbox
                 className='shrink-0'
                 checked={selectedTagIDs.includes(tag.id)}
-                onCheck={noop}
+                onCheck={() => { }}
               />
-              <div title={tag.name} className='grow truncate text-sm leading-5 text-text-secondary'>{tag.name}</div>
+              <div title={tag.name} className='grow text-sm text-gray-700 leading-5 truncate'>{tag.name}</div>
             </div>
           ))}
         </div>
       )}
       {!keywords && !filteredTagList.length && !filteredSelectedTagList.length && (
         <div className='p-1'>
-          <div className='flex flex-col items-center gap-1 p-3'>
-            <Tag03 className='h-6 w-6 text-text-quaternary' />
-            <div className='text-xs leading-[14px] text-text-tertiary'>{t('common.tag.noTag')}</div>
+          <div className='p-3 flex flex-col items-center gap-1'>
+            <Tag03 className='h-6 w-6 text-gray-300' />
+            <div className='text-gray-500 text-xs leading-[14px]'>{t('common.tag.noTag')}</div>
           </div>
         </div>
       )}
-      <Divider className='!my-0 !h-[1px]' />
+      <Divider className='!h-[1px] !my-0' />
       <div className='p-1'>
-        <div className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-state-base-hover' onClick={() => setShowTagManagementModal(true)}>
-          <Tag03 className='h-4 w-4 text-text-tertiary' />
-          <div className='grow truncate text-sm leading-5 text-text-secondary'>
+        <div className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-100' onClick={() => setShowTagManagementModal(true)}>
+          <Tag03 className='h-4 w-4 text-gray-500' />
+          <div className='grow text-sm text-gray-700 leading-5 truncate'>
             {t('common.tag.manageTags')}
           </div>
         </div>
@@ -216,7 +215,6 @@
 }) => {
   const { t } = useTranslation()
 
-  const tagList = useTagStore(s => s.tagList)
   const setTagList = useTagStore(s => s.setTagList)
 
   const getTagList = async () => {
@@ -226,17 +224,17 @@
 
   const triggerContent = useMemo(() => {
     if (selectedTags?.length)
-      return selectedTags.filter(selectedTag => tagList.find(tag => tag.id === selectedTag.id)).map(tag => tag.name).join(', ')
+      return selectedTags.map(tag => tag.name).join(', ')
     return ''
-  }, [selectedTags, tagList])
+  }, [selectedTags])
 
   const Trigger = () => {
     return (
       <div className={cn(
-        'group/tip relative flex w-full cursor-pointer items-center gap-1 rounded-md px-2 py-[7px] hover:bg-state-base-hover',
+        'group/tip relative w-full flex items-center gap-1 px-2 py-[7px] rounded-md cursor-pointer hover:bg-gray-100',
       )}>
-        <Tag01 className='h-3 w-3 shrink-0 text-components-input-text-placeholder' />
-        <div className='system-sm-regular grow truncate  text-start text-components-input-text-placeholder'>
+        <Tag01 className='shrink-0 w-3 h-3' />
+        <div className='grow text-xs text-start leading-[18px] font-normal truncate'>
           {!triggerContent ? t('common.tag.addTag') : triggerContent}
         </div>
       </div>
@@ -262,12 +260,12 @@
           btnElement={<Trigger />}
           btnClassName={open =>
             cn(
-              open ? '!bg-state-base-hover !text-text-secondary' : '!bg-transparent',
-              '!w-full !border-0 !p-0 !text-text-tertiary hover:!bg-state-base-hover hover:!text-text-secondary',
+              open ? '!bg-gray-100 !text-gray-700' : '!bg-transparent',
+              '!w-full !p-0 !border-0 !text-gray-500 hover:!bg-gray-100 hover:!text-gray-700',
             )
           }
           popupClassName='!w-full !ring-0'
-          className={'!z-20 h-fit !w-full'}
+          className={'!w-full h-fit !z-20'}
         />
       )}
     </>
diff --git a/app/components/base/tag-management/style.module.css b/app/components/base/tag-management/style.module.css
new file mode 100644
index 0000000..14367ec
--- /dev/null
+++ b/app/components/base/tag-management/style.module.css
@@ -0,0 +1,3 @@
+.bg {
+  background: linear-gradient(180deg, rgba(247, 144, 9, 0.05) 0%, rgba(247, 144, 9, 0.00) 24.41%), #F9FAFB;
+}
diff --git a/app/components/base/tag-management/tag-item-editor.tsx b/app/components/base/tag-management/tag-item-editor.tsx
index 3264979..3735695 100644
--- a/app/components/base/tag-management/tag-item-editor.tsx
+++ b/app/components/base/tag-management/tag-item-editor.tsx
@@ -59,7 +59,7 @@
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
       setName(name)
     }
-    catch {
+    catch (e: any) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       setName(tag.name)
       const recoverList = tagList.map((tag) => {
@@ -78,7 +78,7 @@
     }
   }
   const [showRemoveModal, setShowRemoveModal] = useState(false)
-  const [pending, setPending] = useState<boolean>(false)
+  const [pending, setPending] = useState<Boolean>(false)
   const removeTag = async (tagID: string) => {
     if (pending)
       return
@@ -92,7 +92,7 @@
       ])
       setPending(false)
     }
-    catch {
+    catch (e: any) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       setPending(false)
     }
@@ -103,29 +103,29 @@
 
   return (
     <>
-      <div className={cn('flex shrink-0 items-center gap-0.5 rounded-lg border border-components-panel-border py-1 pl-2 pr-1 text-sm leading-5 text-text-secondary')}>
+      <div className={cn('shrink-0 flex items-center gap-0.5 pr-1 pl-2 py-1 rounded-lg border border-gray-200 text-sm leading-5 text-gray-700')}>
         {!isEditing && (
           <>
-            <div className='text-sm leading-5 text-text-secondary'>
+            <div className='text-sm leading-5 text-gray-700'>
               {tag.name}
             </div>
-            <div className='leading-4.5 shrink-0 px-1 text-sm font-medium text-text-tertiary'>{tag.binding_count}</div>
-            <div className='group/edit shrink-0 cursor-pointer rounded-md p-1 hover:bg-state-base-hover' onClick={() => setIsEditing(true)}>
-              <RiEditLine className='h-3 w-3 text-text-tertiary group-hover/edit:text-text-secondary' />
+            <div className='shrink-0 px-1 text-sm leading-4.5 text-gray-500 font-medium'>{tag.binding_count}</div>
+            <div className='group/edit shrink-0 p-1 rounded-md cursor-pointer hover:bg-black/5' onClick={() => setIsEditing(true)}>
+              <RiEditLine className='w-3 h-3 text-gray-500 group-hover/edit:text-gray-800' />
             </div>
-            <div className='group/remove shrink-0 cursor-pointer rounded-md p-1 hover:bg-state-base-hover' onClick={() => {
+            <div className='group/remove shrink-0 p-1 rounded-md cursor-pointer hover:bg-black/5' onClick={() => {
               if (tag.binding_count)
                 setShowRemoveModal(true)
               else
                 handleRemove()
             }}>
-              <RiDeleteBinLine className='h-3 w-3 text-text-tertiary group-hover/remove:text-text-secondary' />
+              <RiDeleteBinLine className='w-3 h-3 text-gray-500 group-hover/remove:text-gray-800' />
             </div>
           </>
         )}
         {isEditing && (
           <input
-            className='shrink-0 appearance-none caret-primary-600 outline-none placeholder:text-text-quaternary'
+            className='shrink-0 outline-none appearance-none placeholder:text-gray-300 caret-primary-600'
             autoFocus
             value={name}
             onChange={e => setName(e.target.value)}
diff --git a/app/components/base/tag-management/tag-remove-modal.tsx b/app/components/base/tag-management/tag-remove-modal.tsx
index 85f1831..3e4d08f 100644
--- a/app/components/base/tag-management/tag-remove-modal.tsx
+++ b/app/components/base/tag-management/tag-remove-modal.tsx
@@ -2,12 +2,12 @@
 
 import { useTranslation } from 'react-i18next'
 import { RiCloseLine } from '@remixicon/react'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
 import type { Tag } from '@/app/components/base/tag-management/constant'
-import { noop } from 'lodash-es'
 
 type TagRemoveModalProps = {
   show: boolean
@@ -21,24 +21,24 @@
 
   return (
     <Modal
-      className={cn('w-[480px] max-w-[480px] p-8')}
+      className={cn('p-8 max-w-[480px] w-[480px]', s.bg)}
       isShow={show}
-      onClose={noop}
+      onClose={() => { }}
     >
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onClose}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
-      <div className='h-12 w-12 rounded-xl border-[0.5px] border-divider-regular bg-background-default-burn p-3 shadow-xl'>
-        <AlertTriangle className='h-6 w-6 text-[rgb(247,144,9)]' />
+      <div className='w-12 h-12 p-3 bg-white rounded-xl border-[0.5px] border-gray-100 shadow-xl'>
+        <AlertTriangle className='w-6 h-6 text-[rgb(247,144,9)]' />
       </div>
-      <div className='mt-3 text-xl font-semibold leading-[30px] text-text-primary'>
+      <div className='mt-3 text-xl font-semibold leading-[30px] text-gray-900'>
         {`${t('common.tag.delete')} `}
         <span>{`"${tag.name}"`}</span>
       </div>
-      <div className='my-1 text-sm leading-5 text-text-tertiary'>
+      <div className='my-1 text-gray-500 text-sm leading-5'>
         {t('common.tag.deleteTip')}
       </div>
-      <div className='flex items-center justify-end pt-6'>
+      <div className='pt-6 flex items-center justify-end'>
         <Button className='mr-2' onClick={onClose}>{t('common.operation.cancel')}</Button>
         <Button className='border-red-700' variant="warning" onClick={onConfirm}>{t('common.operation.delete')}</Button>
       </div>
diff --git a/app/components/base/text-generation/types.ts b/app/components/base/text-generation/types.ts
index 677a8e7..e4a8b76 100644
--- a/app/components/base/text-generation/types.ts
+++ b/app/components/base/text-generation/types.ts
@@ -21,13 +21,13 @@
 }
 
 export type UserInputFormSelect = {
-  select: UserInputForm & {
+  'select': UserInputForm & {
     options: string[]
   }
 }
 
 export type UserInputFormParagraph = {
-  paragraph: UserInputForm
+  'paragraph': UserInputForm
 }
 
 export type VisionConfig = VisionSettings
diff --git a/app/components/base/textarea/index.tsx b/app/components/base/textarea/index.tsx
index 1e27451..13e7af9 100644
--- a/app/components/base/textarea/index.tsx
+++ b/app/components/base/textarea/index.tsx
@@ -8,9 +8,8 @@
   {
     variants: {
       size: {
-        small: 'py-1 rounded-md system-xs-regular',
-        regular: 'px-3 rounded-md system-sm-regular',
-        large: 'px-4 rounded-lg system-md-regular',
+        regular: 'px-3 radius-md system-sm-regular',
+        large: 'px-4 radius-lg system-md-regular',
       },
     },
     defaultVariants: {
@@ -33,10 +32,10 @@
         ref={ref}
         style={styleCss}
         className={cn(
-          'min-h-20 w-full appearance-none border border-transparent bg-components-input-bg-normal p-2 text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs',
+          'w-full min-h-20 p-2 bg-components-input-bg-normal border border-transparent text-components-input-text-filled hover:bg-components-input-bg-hover hover:border-components-input-border-hover focus:bg-components-input-bg-active focus:border-components-input-border-active focus:shadow-xs placeholder:text-components-input-text-placeholder appearance-none outline-none caret-primary-600',
           textareaVariants({ size }),
-          disabled && 'cursor-not-allowed border-transparent bg-components-input-bg-disabled text-components-input-text-filled-disabled hover:border-transparent hover:bg-components-input-bg-disabled',
-          destructive && 'border-components-input-border-destructive bg-components-input-bg-destructive text-components-input-text-filled hover:border-components-input-border-destructive hover:bg-components-input-bg-destructive focus:border-components-input-border-destructive focus:bg-components-input-bg-destructive',
+          disabled && 'bg-components-input-bg-disabled border-transparent text-components-input-text-filled-disabled cursor-not-allowed hover:bg-components-input-bg-disabled hover:border-transparent',
+          destructive && 'bg-components-input-bg-destructive border-components-input-border-destructive text-components-input-text-filled hover:bg-components-input-bg-destructive hover:border-components-input-border-destructive focus:bg-components-input-bg-destructive focus:border-components-input-border-destructive',
           className,
         )}
         value={value}
diff --git a/app/components/base/toast/index.tsx b/app/components/base/toast/index.tsx
index 725c7af..ba7d8af 100644
--- a/app/components/base/toast/index.tsx
+++ b/app/components/base/toast/index.tsx
@@ -12,7 +12,6 @@
 import { createContext, useContext } from 'use-context-selector'
 import ActionButton from '@/app/components/base/action-button'
 import classNames from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 export type IToastProps = {
   type?: 'success' | 'error' | 'warning' | 'info'
@@ -52,35 +51,32 @@
     'top-0',
     'right-0',
   )}>
-    <div className={`absolute inset-0 -z-10 opacity-40 ${
-      (type === 'success' && 'bg-toast-success-bg')
-      || (type === 'warning' && 'bg-toast-warning-bg')
-      || (type === 'error' && 'bg-toast-error-bg')
-      || (type === 'info' && 'bg-toast-info-bg')
+    <div className={`absolute inset-0 opacity-40 -z-10 ${(type === 'success' && 'bg-[linear-gradient(92deg,rgba(23,178,106,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
+      || (type === 'warning' && 'bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
+      || (type === 'error' && 'bg-[linear-gradient(92deg,rgba(240,68,56,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
+      || (type === 'info' && 'bg-[linear-gradient(92deg,rgba(11,165,236,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
     }`}
     />
     <div className={`flex ${size === 'md' ? 'gap-1' : 'gap-0.5'}`}>
-      <div className={`flex items-center justify-center ${size === 'md' ? 'p-0.5' : 'p-1'}`}>
-        {type === 'success' && <RiCheckboxCircleFill className={`${size === 'md' ? 'h-5 w-5' : 'h-4 w-4'} text-text-success`} aria-hidden="true" />}
-        {type === 'error' && <RiErrorWarningFill className={`${size === 'md' ? 'h-5 w-5' : 'h-4 w-4'} text-text-destructive`} aria-hidden="true" />}
-        {type === 'warning' && <RiAlertFill className={`${size === 'md' ? 'h-5 w-5' : 'h-4 w-4'} text-text-warning-secondary`} aria-hidden="true" />}
-        {type === 'info' && <RiInformation2Fill className={`${size === 'md' ? 'h-5 w-5' : 'h-4 w-4'} text-text-accent`} aria-hidden="true" />}
+      <div className={`flex justify-center items-center ${size === 'md' ? 'p-0.5' : 'p-1'}`}>
+        {type === 'success' && <RiCheckboxCircleFill className={`${size === 'md' ? 'w-5 h-5' : 'w-4 h-4'} text-text-success`} aria-hidden="true" />}
+        {type === 'error' && <RiErrorWarningFill className={`${size === 'md' ? 'w-5 h-5' : 'w-4 h-4'} text-text-destructive`} aria-hidden="true" />}
+        {type === 'warning' && <RiAlertFill className={`${size === 'md' ? 'w-5 h-5' : 'w-4 h-4'} text-text-warning-secondary`} aria-hidden="true" />}
+        {type === 'info' && <RiInformation2Fill className={`${size === 'md' ? 'w-5 h-5' : 'w-4 h-4'} text-text-accent`} aria-hidden="true" />}
       </div>
-      <div className={`flex py-1 ${size === 'md' ? 'px-1' : 'px-0.5'} grow flex-col items-start gap-1`}>
+      <div className={`flex py-1 ${size === 'md' ? 'px-1' : 'px-0.5'} flex-col items-start gap-1 flex-grow z-10`}>
         <div className='flex items-center gap-1'>
-          <div className='system-sm-semibold text-text-primary [word-break:break-word]'>{message}</div>
+          <div className='text-text-primary system-sm-semibold'>{message}</div>
           {customComponent}
         </div>
-        {children && <div className='system-xs-regular text-text-secondary'>
+        {children && <div className='text-text-secondary system-xs-regular'>
           {children}
         </div>
         }
       </div>
-      {close
-        && (<ActionButton className='z-[1000]' onClick={close}>
-          <RiCloseLine className='h-4 w-4 shrink-0 text-text-tertiary' />
-        </ActionButton>)
-      }
+      <ActionButton onClick={close}>
+        <RiCloseLine className='w-4 h-4 flex-shrink-0 text-text-tertiary' />
+      </ActionButton>
     </div>
   </div>
 }
@@ -126,8 +122,7 @@
   duration,
   className,
   customComponent,
-  onClose,
-}: Pick<IToastProps, 'type' | 'size' | 'message' | 'duration' | 'className' | 'customComponent' | 'onClose'>) => {
+}: Pick<IToastProps, 'type' | 'size' | 'message' | 'duration' | 'className' | 'customComponent'>) => {
   const defaultDuring = (type === 'success' || type === 'info') ? 3000 : 6000
   if (typeof window === 'object') {
     const holder = document.createElement('div')
@@ -135,13 +130,12 @@
 
     root.render(
       <ToastContext.Provider value={{
-        notify: noop,
+        notify: () => {},
         close: () => {
           if (holder) {
             root.unmount()
             holder.remove()
           }
-          onClose?.()
         },
       }}>
         <Toast type={type} size={size} message={message} duration={duration} className={className} customComponent={customComponent} />
@@ -153,7 +147,6 @@
         root.unmount()
         holder.remove()
       }
-      onClose?.()
     }, duration || defaultDuring)
   }
 }
diff --git a/app/components/base/toast/style.module.css b/app/components/base/toast/style.module.css
index 216ccf1..a6c9cdb 100644
--- a/app/components/base/toast/style.module.css
+++ b/app/components/base/toast/style.module.css
@@ -41,4 +41,4 @@
   text-align: center;
   font-size: .2rem;
   color: rgba(255, 255, 255, 0.86);
-}
+}
\ No newline at end of file
diff --git a/app/components/base/tooltip/index.tsx b/app/components/base/tooltip/index.tsx
index e6c4de3..65b5a99 100644
--- a/app/components/base/tooltip/index.tsx
+++ b/app/components/base/tooltip/index.tsx
@@ -10,7 +10,6 @@
   position?: Placement
   triggerMethod?: 'hover' | 'click'
   triggerClassName?: string
-  triggerTestId?: string
   disabled?: boolean
   popupContent?: React.ReactNode
   children?: React.ReactNode
@@ -25,7 +24,6 @@
   position = 'top',
   triggerMethod = 'hover',
   triggerClassName,
-  triggerTestId,
   disabled = false,
   popupContent,
   children,
@@ -93,14 +91,14 @@
         onMouseLeave={() => triggerMethod === 'hover' && handleLeave(true)}
         asChild={asChild}
       >
-        {children || <div data-testid={triggerTestId} className={triggerClassName || 'h-3.5 w-3.5 shrink-0 p-[1px]'}><RiQuestionLine className='h-full w-full text-text-quaternary hover:text-text-tertiary' /></div>}
+        {children || <div className={triggerClassName || 'p-[1px] w-3.5 h-3.5 shrink-0'}><RiQuestionLine className='text-text-quaternary hover:text-text-tertiary w-full h-full' /></div>}
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent
         className="z-[9999]"
       >
         {popupContent && (<div
           className={cn(
-            !noDecoration && 'system-xs-regular relative break-words rounded-md bg-components-panel-bg px-3 py-2 text-text-tertiary shadow-lg',
+            !noDecoration && 'relative px-3 py-2 system-xs-regular text-text-tertiary bg-components-panel-bg rounded-md shadow-lg break-words',
             popupClassName,
           )}
           onMouseEnter={() => triggerMethod === 'hover' && setHoverPopup()}
diff --git a/app/components/base/video-gallery/index.tsx b/app/components/base/video-gallery/index.tsx
index ae2fab8..a41dfe8 100644
--- a/app/components/base/video-gallery/index.tsx
+++ b/app/components/base/video-gallery/index.tsx
@@ -6,7 +6,7 @@
 }
 
 const VideoGallery: React.FC<Props> = ({ srcs }) => {
-  return (<><br/>{srcs.map((src, index) => (<React.Fragment key={`video_${index}`}><br/><VideoPlayer src={src}/></React.Fragment>))}</>)
+  return (<><br/>{srcs.map((src, index) => (<><br/><VideoPlayer key={`video_${index}`} src={src}/></>))}</>)
 }
 
 export default React.memo(VideoGallery)
diff --git a/app/components/base/voice-input/index.module.css b/app/components/base/voice-input/index.module.css
index 8286f9d..18d51da 100644
--- a/app/components/base/voice-input/index.module.css
+++ b/app/components/base/voice-input/index.module.css
@@ -7,4 +7,4 @@
   background: linear-gradient(91.92deg, #104AE1 -1.74%, #0098EE 75.74%);
   background-clip: text;
   color: transparent;
-}
+}
\ No newline at end of file
diff --git a/app/components/base/voice-input/index.tsx b/app/components/base/voice-input/index.tsx
index 5a5400a..37ebe3d 100644
--- a/app/components/base/voice-input/index.tsx
+++ b/app/components/base/voice-input/index.tsx
@@ -49,8 +49,8 @@
     const ctx = ctxRef.current!
     const dataUnit8Array = recorder.current.getRecordAnalyseData()
     const dataArray = [].slice.call(dataUnit8Array)
-    const lineLength = Number.parseInt(`${canvas.width / 3}`)
-    const gap = Number.parseInt(`${1024 / lineLength}`)
+    const lineLength = parseInt(`${canvas.width / 3}`)
+    const gap = parseInt(`${1024 / lineLength}`)
 
     ctx.clearRect(0, 0, canvas.width, canvas.height)
     ctx.beginPath()
@@ -111,7 +111,7 @@
       onConverted(audioResponse.text)
       onCancel()
     }
-    catch {
+    catch (e) {
       onConverted('')
       onCancel()
     }
@@ -125,7 +125,7 @@
       if (canvasRef.current && ctxRef.current)
         drawRecord()
     }
-    catch {
+    catch (e) {
       onCancel()
     }
   }
@@ -161,15 +161,15 @@
     }
   }, [])
 
-  const minutes = Number.parseInt(`${Number.parseInt(`${originDuration}`) / 60}`)
-  const seconds = Number.parseInt(`${originDuration}`) % 60
+  const minutes = parseInt(`${parseInt(`${originDuration}`) / 60}`)
+  const seconds = parseInt(`${originDuration}`) % 60
 
   return (
     <div className={cn(s.wrapper, 'absolute inset-0 rounded-xl')}>
-      <div className='absolute inset-[1.5px] flex items-center overflow-hidden rounded-[10.5px] bg-primary-25 py-[14px] pl-[14.5px] pr-[6.5px]'>
-        <canvas id='voice-input-record' className='absolute bottom-0 left-0 h-4 w-full' />
+      <div className='absolute inset-[1.5px] flex items-center pl-[14.5px] pr-[6.5px] py-[14px] bg-primary-25 rounded-[10.5px] overflow-hidden'>
+        <canvas id='voice-input-record' className='absolute left-0 bottom-0 w-full h-4' />
         {
-          startConvert && <RiLoader2Line className='mr-2 h-4 w-4 animate-spin text-primary-700' />
+          startConvert && <RiLoader2Line className='animate-spin mr-2 w-4 h-4 text-primary-700' />
         }
         <div className='grow'>
           {
@@ -190,20 +190,20 @@
         {
           startRecord && (
             <div
-              className='mr-1 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg  hover:bg-primary-100'
+              className='flex justify-center items-center mr-1 w-8 h-8 hover:bg-primary-100 rounded-lg  cursor-pointer'
               onClick={handleStopRecorder}
             >
-              <StopCircle className='h-5 w-5 text-primary-600' />
+              <StopCircle className='w-5 h-5 text-primary-600' />
             </div>
           )
         }
         {
           startConvert && (
             <div
-              className='mr-1 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg  hover:bg-gray-200'
+              className='flex justify-center items-center mr-1 w-8 h-8 hover:bg-gray-200 rounded-lg  cursor-pointer'
               onClick={onCancel}
             >
-              <RiCloseLine className='h-4 w-4 text-gray-500' />
+              <RiCloseLine className='w-4 h-4 text-gray-500' />
             </div>
           )
         }
diff --git a/app/components/billing/annotation-full/index.tsx b/app/components/billing/annotation-full/index.tsx
index 88ed5f1..26d149a 100644
--- a/app/components/billing/annotation-full/index.tsx
+++ b/app/components/billing/annotation-full/index.tsx
@@ -13,9 +13,9 @@
 
   return (
     <GridMask wrapperClassName='rounded-lg' canvasClassName='rounded-lg' gradientClassName='rounded-lg'>
-      <div className='mt-6 flex cursor-pointer flex-col rounded-lg border-2 border-solid border-transparent px-3.5 py-4 shadow-md transition-all duration-200 ease-in-out'>
-        <div className='flex items-center justify-between'>
-          <div className={cn(s.textGradient, 'text-base font-semibold leading-[24px]')}>
+      <div className='mt-6 px-3.5 py-4 border-2 border-solid border-transparent rounded-lg shadow-md flex flex-col transition-all duration-200 ease-in-out cursor-pointer'>
+        <div className='flex justify-between items-center'>
+          <div className={cn(s.textGradient, 'leading-[24px] text-base font-semibold')}>
             <div>{t('billing.annotatedResponse.fullTipLine1')}</div>
             <div>{t('billing.annotatedResponse.fullTipLine2')}</div>
           </div>
diff --git a/app/components/billing/annotation-full/modal.tsx b/app/components/billing/annotation-full/modal.tsx
index 324a4dc..274e709 100644
--- a/app/components/billing/annotation-full/modal.tsx
+++ b/app/components/billing/annotation-full/modal.tsx
@@ -27,9 +27,9 @@
       className='!p-0'
     >
       <GridMask wrapperClassName='rounded-lg' canvasClassName='rounded-lg' gradientClassName='rounded-lg'>
-        <div className='mt-6 flex cursor-pointer flex-col rounded-lg border-2 border-solid border-transparent px-7 py-6 shadow-md transition-all duration-200 ease-in-out'>
-          <div className='flex items-center justify-between'>
-            <div className={cn(s.textGradient, 'text-[18px] font-semibold leading-[27px]')}>
+        <div className='mt-6 px-7 py-6 border-2 border-solid border-transparent rounded-lg shadow-md flex flex-col transition-all duration-200 ease-in-out cursor-pointer'>
+          <div className='flex justify-between items-center'>
+            <div className={cn(s.textGradient, 'leading-[27px] text-[18px] font-semibold')}>
               <div>{t('billing.annotatedResponse.fullTipLine1')}</div>
               <div>{t('billing.annotatedResponse.fullTipLine2')}</div>
             </div>
diff --git a/app/components/billing/annotation-full/style.module.css b/app/components/billing/annotation-full/style.module.css
index 15bedd8..7ad3180 100644
--- a/app/components/billing/annotation-full/style.module.css
+++ b/app/components/billing/annotation-full/style.module.css
@@ -4,4 +4,4 @@
   -webkit-text-fill-color: transparent;
   background-clip: text;
   text-fill-color: transparent;
-}
+}
\ No newline at end of file
diff --git a/app/components/billing/apps-full-in-dialog/index.tsx b/app/components/billing/apps-full-in-dialog/index.tsx
index b721b94..b3601db 100644
--- a/app/components/billing/apps-full-in-dialog/index.tsx
+++ b/app/components/billing/apps-full-in-dialog/index.tsx
@@ -3,82 +3,35 @@
 import React from 'react'
 import { useTranslation } from 'react-i18next'
 import UpgradeBtn from '../upgrade-btn'
-import ProgressBar from '@/app/components/billing/progress-bar'
-import Button from '@/app/components/base/button'
-import { mailToSupport } from '@/app/components/header/utils/util'
-import { useProviderContext } from '@/context/provider-context'
-import { useAppContext } from '@/context/app-context'
-import { Plan } from '@/app/components/billing/type'
+import AppsInfo from '../usage-info/apps-info'
 import s from './style.module.css'
 import cn from '@/utils/classnames'
+import GridMask from '@/app/components/base/grid-mask'
 
-const LOW = 50
-const MIDDLE = 80
-
-const AppsFull: FC<{ loc: string; className?: string; }> = ({
+const AppsFull: FC<{ loc: string; className?: string }> = ({
   loc,
   className,
 }) => {
   const { t } = useTranslation()
-  const { plan } = useProviderContext()
-  const { userProfile, langeniusVersionInfo } = useAppContext()
-  const isTeam = plan.type === Plan.team
-  const usage = plan.usage.buildApps
-  const total = plan.total.buildApps
-  const percent = usage / total * 100
-  const color = (() => {
-    if (percent < LOW)
-      return 'bg-components-progress-bar-progress-solid'
 
-    if (percent < MIDDLE)
-      return 'bg-components-progress-warning-progress'
-
-    return 'bg-components-progress-error-progress'
-  })()
   return (
-    <div className={cn(
-      'flex flex-col gap-3 rounded-xl border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg p-4 shadow-xs backdrop-blur-sm',
-      className,
-    )}>
-      <div className='flex justify-between'>
-        {!isTeam && (
-          <div>
-            <div className={cn('title-xl-semi-bold mb-1', s.textGradient)}>
-              {t('billing.apps.fullTip1')}
-            </div>
-            <div className='system-xs-regular text-text-tertiary'>{t('billing.apps.fullTip1des')}</div>
+    <GridMask wrapperClassName='rounded-lg' canvasClassName='rounded-lg' gradientClassName='rounded-lg'>
+      <div className={cn(
+        'mt-6 px-3.5 py-4 border-2 border-solid border-transparent rounded-lg shadow-md flex flex-col transition-all duration-200 ease-in-out cursor-pointer',
+        className,
+      )}>
+        <div className='flex justify-between items-center'>
+          <div className={cn(s.textGradient, 'leading-[24px] text-base font-semibold')}>
+            <div>{t('billing.apps.fullTipLine1')}</div>
+            <div>{t('billing.apps.fullTipLine2')}</div>
           </div>
-        )}
-        {isTeam && (
-          <div>
-            <div className={cn('title-xl-semi-bold mb-1', s.textGradient)}>
-              {t('billing.apps.fullTip2')}
-            </div>
-            <div className='system-xs-regular text-text-tertiary'>{t('billing.apps.fullTip2des')}</div>
+          <div className='flex'>
+            <UpgradeBtn loc={loc} />
           </div>
-        )}
-        {(plan.type === Plan.sandbox || plan.type === Plan.professional) && (
-          <UpgradeBtn isShort loc={loc} />
-        )}
-        {plan.type !== Plan.sandbox && plan.type !== Plan.professional && (
-          <Button variant='secondary-accent'>
-            <a target='_blank' rel='noopener noreferrer' href={mailToSupport(userProfile.email, plan.type, langeniusVersionInfo.current_version)}>
-              {t('billing.apps.contactUs')}
-            </a>
-          </Button>
-        )}
-      </div>
-      <div className='flex flex-col gap-2'>
-        <div className='system-xs-medium flex items-center justify-between text-text-secondary'>
-          <div>{t('billing.usagePage.buildApps')}</div>
-          <div>{usage}/{total}</div>
         </div>
-        <ProgressBar
-          percent={percent}
-          color={color}
-        />
+        <AppsInfo className='mt-4' />
       </div>
-    </div>
+    </GridMask>
   )
 }
 export default React.memo(AppsFull)
diff --git a/app/components/billing/apps-full-in-dialog/style.module.css b/app/components/billing/apps-full-in-dialog/style.module.css
index 1f68e66..7ad3180 100644
--- a/app/components/billing/apps-full-in-dialog/style.module.css
+++ b/app/components/billing/apps-full-in-dialog/style.module.css
@@ -1,7 +1,7 @@
 .textGradient {
-  background: linear-gradient(92deg, #0EBCF3 -29.55%, #2250F2 75.22%);
+  background: linear-gradient(92deg, #2250F2 -29.55%, #0EBCF3 75.22%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   text-fill-color: transparent;
-}
+}
\ No newline at end of file
diff --git a/app/components/billing/apps-full/index.tsx b/app/components/billing/apps-full/index.tsx
new file mode 100644
index 0000000..9167d46
--- /dev/null
+++ b/app/components/billing/apps-full/index.tsx
@@ -0,0 +1,27 @@
+'use client'
+import type { FC } from 'react'
+import React from 'react'
+import { useTranslation } from 'react-i18next'
+import UpgradeBtn from '../upgrade-btn'
+import s from './style.module.css'
+import cn from '@/utils/classnames'
+import GridMask from '@/app/components/base/grid-mask'
+
+const AppsFull: FC = () => {
+  const { t } = useTranslation()
+
+  return (
+    <GridMask wrapperClassName='rounded-lg' canvasClassName='rounded-lg' gradientClassName='rounded-lg'>
+      <div className='col-span-1 px-3.5 pt-3.5 border-2 border-solid border-transparent rounded-lg shadow-xs min-h-[160px] flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg'>
+        <div className={cn(s.textGradient, 'leading-[24px] text-base font-semibold')}>
+          <div>{t('billing.apps.fullTipLine1')}</div>
+          <div>{t('billing.apps.fullTipLine2')}</div>
+        </div>
+        <div className='flex mt-8'>
+          <UpgradeBtn loc='app-create' />
+        </div>
+      </div>
+    </GridMask>
+  )
+}
+export default React.memo(AppsFull)
diff --git a/app/components/billing/apps-full/style.module.css b/app/components/billing/apps-full/style.module.css
new file mode 100644
index 0000000..7ad3180
--- /dev/null
+++ b/app/components/billing/apps-full/style.module.css
@@ -0,0 +1,7 @@
+.textGradient {
+  background: linear-gradient(92deg, #2250F2 -29.55%, #0EBCF3 75.22%);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+  background-clip: text;
+  text-fill-color: transparent;
+}
\ No newline at end of file
diff --git a/app/components/billing/billing-page/index.tsx b/app/components/billing/billing-page/index.tsx
index 43e80f4..41068d5 100644
--- a/app/components/billing/billing-page/index.tsx
+++ b/app/components/billing/billing-page/index.tsx
@@ -4,10 +4,10 @@
 import { useTranslation } from 'react-i18next'
 import useSWR from 'swr'
 import {
-  RiArrowRightUpLine,
+  RiExternalLinkLine,
 } from '@remixicon/react'
 import PlanComp from '../plan'
-import Divider from '@/app/components/base/divider'
+import { ReceiptList } from '../../base/icons/src/vender/line/financeAndECommerce'
 import { fetchBillingUrl } from '@/service/billing'
 import { useAppContext } from '@/context/app-context'
 import { useProviderContext } from '@/context/provider-context'
@@ -25,13 +25,13 @@
     <div>
       <PlanComp loc={'billing-page'} />
       {enableBilling && isCurrentWorkspaceManager && billingUrl && (
-        <>
-          <Divider className='my-4' />
-          <a className='system-xs-medium flex cursor-pointer items-center text-text-accent-light-mode-only' href={billingUrl} target='_blank' rel='noopener noreferrer'>
-            <span className='pr-0.5'>{t('billing.viewBilling')}</span>
-            <RiArrowRightUpLine className='h-4 w-4' />
-          </a>
-        </>
+        <a className='mt-5 flex px-6 justify-between h-12 items-center bg-gray-50 rounded-xl cursor-pointer' href={billingUrl} target='_blank' rel='noopener noreferrer'>
+          <div className='flex items-center'>
+            <ReceiptList className='w-4 h-4 text-gray-700' />
+            <div className='ml-2 text-sm font-normal text-gray-700'>{t('billing.viewBilling')}</div>
+          </div>
+          <RiExternalLinkLine className='w-3 h-3' />
+        </a>
       )}
     </div>
   )
diff --git a/app/components/billing/config.ts b/app/components/billing/config.ts
index 1d5fbc7..feb1f41 100644
--- a/app/components/billing/config.ts
+++ b/app/components/billing/config.ts
@@ -1,86 +1,98 @@
-import type { BasicPlan } from '@/app/components/billing/type'
 import { Plan, type PlanInfo, Priority } from '@/app/components/billing/type'
 
-const supportModelProviders = 'OpenAI/Anthropic/Llama2/Azure OpenAI/Hugging Face/Replicate'
+const supportModelProviders = 'OpenAI/Anthropic/Azure OpenAI/  Llama2/Hugging Face/Replicate'
 
 export const NUM_INFINITE = 99999999
 export const contractSales = 'contractSales'
 export const unAvailable = 'unAvailable'
 
-export const contactSalesUrl = 'https://vikgc6bnu1s.typeform.com/dify-business'
-export const getStartedWithCommunityUrl = 'https://github.com/langgenius/dify'
-export const getWithPremiumUrl = 'https://aws.amazon.com/marketplace/pp/prodview-t22mebxzwjhu6'
+export const contactSalesUrl = 'mailto:business@dify.ai'
 
-export const ALL_PLANS: Record<BasicPlan, PlanInfo> = {
+export const ALL_PLANS: Record<Plan, PlanInfo> = {
   sandbox: {
     level: 1,
     price: 0,
     modelProviders: supportModelProviders,
-    teamWorkspace: 1,
     teamMembers: 1,
-    buildApps: 5,
-    documents: 50,
-    vectorSpace: '50MB',
-    documentsUploadQuota: 0,
-    documentsRequestQuota: 10,
-    apiRateLimit: 5000,
+    buildApps: 10,
+    vectorSpace: 5,
+    documentsUploadQuota: 50,
     documentProcessingPriority: Priority.standard,
-    messageRequest: 200,
-    annotatedResponse: 10,
     logHistory: 30,
+    customTools: unAvailable,
+    messageRequest: {
+      en: '200 messages',
+      zh: '200 鏉′俊鎭�',
+    },
+    annotatedResponse: 10,
   },
   professional: {
     level: 2,
     price: 59,
     modelProviders: supportModelProviders,
-    teamWorkspace: 1,
     teamMembers: 3,
     buildApps: 50,
-    documents: 500,
-    vectorSpace: '5GB',
-    documentsUploadQuota: 0,
-    documentsRequestQuota: 100,
-    apiRateLimit: NUM_INFINITE,
+    vectorSpace: 200,
+    documentsUploadQuota: 500,
     documentProcessingPriority: Priority.priority,
-    messageRequest: 5000,
-    annotatedResponse: 2000,
     logHistory: NUM_INFINITE,
+    customTools: 10,
+    messageRequest: {
+      en: '5,000  messages/month',
+      zh: '5,000 鏉′俊鎭�/鏈�',
+    },
+    annotatedResponse: 2000,
   },
   team: {
     level: 3,
     price: 159,
     modelProviders: supportModelProviders,
-    teamWorkspace: 1,
-    teamMembers: 50,
-    buildApps: 200,
-    documents: 1000,
-    vectorSpace: '20GB',
-    documentsUploadQuota: 0,
-    documentsRequestQuota: 1000,
-    apiRateLimit: NUM_INFINITE,
+    teamMembers: NUM_INFINITE,
+    buildApps: NUM_INFINITE,
+    vectorSpace: 1000,
+    documentsUploadQuota: 1000,
     documentProcessingPriority: Priority.topPriority,
-    messageRequest: 10000,
-    annotatedResponse: 5000,
     logHistory: NUM_INFINITE,
+    customTools: NUM_INFINITE,
+    messageRequest: {
+      en: '10,000  messages/month',
+      zh: '10,000 鏉′俊鎭�/鏈�',
+    },
+    annotatedResponse: 5000,
+  },
+  enterprise: {
+    level: 4,
+    price: 0,
+    modelProviders: supportModelProviders,
+    teamMembers: NUM_INFINITE,
+    buildApps: NUM_INFINITE,
+    vectorSpace: NUM_INFINITE,
+    documentsUploadQuota: NUM_INFINITE,
+    documentProcessingPriority: Priority.topPriority,
+    logHistory: NUM_INFINITE,
+    customTools: NUM_INFINITE,
+    messageRequest: {
+      en: contractSales,
+      zh: contractSales,
+    },
+    annotatedResponse: NUM_INFINITE,
   },
 }
 
 export const defaultPlan = {
-  type: Plan.sandbox as BasicPlan,
+  type: Plan.sandbox,
   usage: {
-    documents: 50,
     vectorSpace: 1,
     buildApps: 1,
     teamMembers: 1,
     annotatedResponse: 1,
-    documentsUploadQuota: 0,
+    documentsUploadQuota: 1,
   },
   total: {
-    documents: 50,
     vectorSpace: 10,
     buildApps: 10,
     teamMembers: 1,
     annotatedResponse: 10,
-    documentsUploadQuota: 0,
+    documentsUploadQuota: 50,
   },
 }
diff --git a/app/components/billing/header-billing-btn/index.tsx b/app/components/billing/header-billing-btn/index.tsx
index f34fa0b..a841552 100644
--- a/app/components/billing/header-billing-btn/index.tsx
+++ b/app/components/billing/header-billing-btn/index.tsx
@@ -7,13 +7,11 @@
 import { useProviderContext } from '@/context/provider-context'
 
 type Props = {
-  onClick?: () => void
-  isDisplayOnly?: boolean
+  onClick: () => void
 }
 
 const HeaderBillingBtn: FC<Props> = ({
   onClick,
-  isDisplayOnly = false,
 }) => {
   const { plan, enableBilling, isFetchedPlan } = useProviderContext()
   const {
@@ -27,9 +25,9 @@
   })()
   const classNames = (() => {
     if (type === Plan.professional)
-      return `border-[#E0F2FE] ${!isDisplayOnly ? 'hover:border-[#B9E6FE]' : ''} bg-[#E0F2FE] text-[#026AA2]`
+      return 'border-[#E0F2FE] hover:border-[#B9E6FE] bg-[#E0F2FE] text-[#026AA2]'
     if (type === Plan.team)
-      return `border-[#E0EAFF] ${!isDisplayOnly ? 'hover:border-[#C7D7FE]' : ''} bg-[#E0EAFF] text-[#3538CD]`
+      return 'border-[#E0EAFF] hover:border-[#C7D7FE] bg-[#E0EAFF] text-[#3538CD]'
     return ''
   })()
 
@@ -37,22 +35,10 @@
     return null
 
   if (type === Plan.sandbox)
-    return <UpgradeBtn onClick={isDisplayOnly ? undefined : onClick} isShort />
-
-  const handleClick = () => {
-    if (!isDisplayOnly && onClick)
-      onClick()
-  }
+    return <UpgradeBtn onClick={onClick} isShort />
 
   return (
-    <div
-      onClick={handleClick}
-      className={cn(
-        classNames,
-        'flex h-[22px] items-center rounded-md border px-2 text-xs font-semibold uppercase',
-        isDisplayOnly ? 'cursor-default' : 'cursor-pointer',
-      )}
-    >
+    <div onClick={onClick} className={cn(classNames, 'flex items-center h-[22px] px-2 rounded-md border text-xs font-semibold uppercase cursor-pointer')}>
       {name}
     </div>
   )
diff --git a/app/components/billing/plan/index.tsx b/app/components/billing/plan/index.tsx
index 7badb36..baf4110 100644
--- a/app/components/billing/plan/index.tsx
+++ b/app/components/billing/plan/index.tsx
@@ -2,28 +2,35 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import { useRouter } from 'next/navigation'
-import {
-  RiBook2Line,
-  RiBox3Line,
-  RiFileEditLine,
-  RiGraduationCapLine,
-  RiGroup3Line,
-  RiGroupLine,
-  RiSquareLine,
-} from '@remixicon/react'
-import { Plan, SelfHostedPlan } from '../type'
+import { Plan } from '../type'
 import VectorSpaceInfo from '../usage-info/vector-space-info'
 import AppsInfo from '../usage-info/apps-info'
 import UpgradeBtn from '../upgrade-btn'
+import { User01 } from '../../base/icons/src/vender/line/users'
+import { MessageFastPlus } from '../../base/icons/src/vender/line/communication'
+import { FileUpload } from '../../base/icons/src/vender/line/files'
+import cn from '@/utils/classnames'
 import { useProviderContext } from '@/context/provider-context'
-import { useAppContext } from '@/context/app-context'
-import Button from '@/app/components/base/button'
 import UsageInfo from '@/app/components/billing/usage-info'
-import VerifyStateModal from '@/app/education-apply/verify-state-modal'
-import { EDUCATION_VERIFYING_LOCALSTORAGE_ITEM } from '@/app/education-apply/constants'
-import { useEducationVerify } from '@/service/use-education'
-import { useModalContextSelector } from '@/context/modal-context'
+
+const typeStyle = {
+  [Plan.sandbox]: {
+    textClassNames: 'text-gray-900',
+    bg: 'linear-gradient(113deg, rgba(255, 255, 255, 0.51) 3.51%, rgba(255, 255, 255, 0.00) 111.71%), #EAECF0',
+  },
+  [Plan.professional]: {
+    textClassNames: 'text-[#026AA2]',
+    bg: 'linear-gradient(113deg, rgba(255, 255, 255, 0.51) 3.51%, rgba(255, 255, 255, 0.00) 111.71%), #E0F2FE',
+  },
+  [Plan.team]: {
+    textClassNames: 'text-[#3538CD]',
+    bg: 'linear-gradient(113deg, rgba(255, 255, 255, 0.51) 3.51%, rgba(255, 255, 255, 0.00) 111.71%), #E0EAFF',
+  },
+  [Plan.enterprise]: {
+    textClassNames: 'text-[#DC6803]',
+    bg: 'linear-gradient(113deg, rgba(255, 255, 255, 0.51) 3.51%, rgba(255, 255, 255, 0.00) 111.71%), #FFEED3',
+  },
+}
 
 type Props = {
   loc: string
@@ -33,9 +40,7 @@
   loc,
 }) => {
   const { t } = useTranslation()
-  const router = useRouter()
-  const { userProfile } = useAppContext()
-  const { plan, enableEducationPlan, isEducationAccount } = useProviderContext()
+  const { plan } = useProviderContext()
   const {
     type,
   } = plan
@@ -45,92 +50,75 @@
     total,
   } = plan
 
-  const [showModal, setShowModal] = React.useState(false)
-  const { mutateAsync } = useEducationVerify()
-  const setShowAccountSettingModal = useModalContextSelector(s => s.setShowAccountSettingModal)
-  const handleVerify = () => {
-    mutateAsync().then((res) => {
-      localStorage.removeItem(EDUCATION_VERIFYING_LOCALSTORAGE_ITEM)
-      router.push(`/education-apply?token=${res.token}`)
-      setShowAccountSettingModal(null)
-    }).catch(() => {
-      setShowModal(true)
-    })
-  }
+  const isInHeader = loc === 'header'
+
   return (
-    <div className='rounded-2xl border-[0.5px] border-effects-highlight-lightmode-off bg-background-section-burn'>
-      <div className='p-6 pb-2'>
-        {plan.type === Plan.sandbox && (
-          <RiBox3Line className='h-7 w-7 text-text-primary'/>
-        )}
-        {plan.type === Plan.professional && (
-          <RiSquareLine className='h-7 w-7 rotate-90 text-util-colors-blue-brand-blue-brand-600'/>
-        )}
-        {plan.type === Plan.team && (
-          <RiGroup3Line className='h-7 w-7 text-util-colors-indigo-indigo-600'/>
-        )}
-        {(plan.type as any) === SelfHostedPlan.enterprise && (
-          <RiGroup3Line className='h-7 w-7 text-util-colors-indigo-indigo-600'/>
-        )}
-        <div className='mt-1 flex items-center'>
-          <div className='grow'>
-            <div className='mb-1 flex items-center gap-1'>
-              <div className='system-md-semibold-uppercase text-text-primary'>{t(`billing.plans.${type}.name`)}</div>
-              <div className='system-2xs-medium-uppercase rounded-[5px] border border-divider-deep px-1 py-0.5 text-text-tertiary'>{t('billing.currentPlan')}</div>
-            </div>
-            <div className='system-xs-regular text-util-colors-gray-gray-600'>{t(`billing.plans.${type}.for`)}</div>
+    <div
+      className='rounded-xl border border-white select-none'
+      style={{
+        background: typeStyle[type].bg,
+        boxShadow: '5px 7px 12px 0px rgba(0, 0, 0, 0.06)',
+      }}
+    >
+      <div className='flex justify-between px-6 py-5 items-center'>
+        <div>
+          <div
+            className='leading-[18px] text-xs font-normal opacity-70'
+            style={{
+              color: 'rgba(0, 0, 0, 0.64)',
+            }}
+          >
+            {t('billing.currentPlan')}
           </div>
-          <div className='flex shrink-0 items-center gap-1'>
-            {enableEducationPlan && !isEducationAccount && (
-              <Button variant='ghost' onClick={handleVerify}>
-                <RiGraduationCapLine className='mr-1 h-4 w-4'/>
-                {t('education.toVerified')}
-              </Button>
-            )}
-            {(plan.type as any) !== SelfHostedPlan.enterprise && (
-              <UpgradeBtn
-                className='shrink-0'
-                isPlain={type === Plan.team}
-                isShort
-                loc={loc}
-              />
-            )}
+          <div className={cn(typeStyle[type].textClassNames, 'leading-[125%] text-lg font-semibold uppercase')}>
+            {t(`billing.plans.${type}.name`)}
           </div>
         </div>
+        {(!isInHeader || (isInHeader && type !== Plan.sandbox)) && (
+          <UpgradeBtn
+            className='flex-shrink-0'
+            isPlain={type !== Plan.sandbox}
+            loc={loc}
+          />
+        )}
       </div>
+
       {/* Plan detail */}
-      <div className='grid grid-cols-3 content-start gap-1 p-2'>
-        <AppsInfo />
+      <div className='rounded-xl bg-white px-6 py-3'>
+
         <UsageInfo
-          Icon={RiGroupLine}
-          name={t('billing.usagePage.teamMembers')}
+          className='py-3'
+          Icon={User01}
+          name={t('billing.plansCommon.teamMembers')}
           usage={usage.teamMembers}
           total={total.teamMembers}
         />
+        <AppsInfo className='py-3' />
+        <VectorSpaceInfo className='py-3' />
         <UsageInfo
-          Icon={RiBook2Line}
-          name={t('billing.usagePage.documentsUploadQuota')}
-          usage={usage.documentsUploadQuota}
-          total={total.documentsUploadQuota}
-        />
-        <VectorSpaceInfo />
-        <UsageInfo
-          Icon={RiFileEditLine}
-          name={t('billing.usagePage.annotationQuota')}
+          className='py-3'
+          Icon={MessageFastPlus}
+          name={t('billing.plansCommon.annotationQuota')}
           usage={usage.annotatedResponse}
           total={total.annotatedResponse}
         />
-
+        <UsageInfo
+          className='py-3'
+          Icon={FileUpload}
+          name={t('billing.plansCommon.documentsUploadQuota')}
+          usage={usage.documentsUploadQuota}
+          total={total.documentsUploadQuota}
+        />
+        {isInHeader && type === Plan.sandbox && (
+          <UpgradeBtn
+            className='flex-shrink-0 my-3'
+            isFull
+            size='lg'
+            isPlain={type !== Plan.sandbox}
+            loc={loc}
+          />
+        )}
       </div>
-      <VerifyStateModal
-        showLink
-        email={userProfile.email}
-        isShow={showModal}
-        title={t('education.rejectTitle')}
-        content={t('education.rejectContent')}
-        onConfirm={() => setShowModal(false)}
-        onCancel={() => setShowModal(false)}
-      />
     </div>
   )
 }
diff --git a/app/components/billing/pricing/index.tsx b/app/components/billing/pricing/index.tsx
index 0516794..9b5e5e7 100644
--- a/app/components/billing/pricing/index.tsx
+++ b/app/components/billing/pricing/index.tsx
@@ -3,19 +3,13 @@
 import React from 'react'
 import { createPortal } from 'react-dom'
 import { useTranslation } from 'react-i18next'
-import { RiArrowRightUpLine, RiCloseLine, RiCloudFill, RiTerminalBoxFill } from '@remixicon/react'
-import Link from 'next/link'
-import { useKeyPress } from 'ahooks'
-import { Plan, SelfHostedPlan } from '../type'
-import TabSlider from '../../base/tab-slider'
+import { RiCloseLine } from '@remixicon/react'
+import { Plan } from '../type'
 import SelectPlanRange, { PlanRange } from './select-plan-range'
 import PlanItem from './plan-item'
-import SelfHostedPlanItem from './self-hosted-plan-item'
 import { useProviderContext } from '@/context/provider-context'
 import GridMask from '@/app/components/base/grid-mask'
 import { useAppContext } from '@/context/app-context'
-import classNames from '@/utils/classnames'
-import { useGetPricingPageLanguage } from '@/context/i18n'
 
 type Props = {
   onCancel: () => void
@@ -30,116 +24,56 @@
   const canPay = isCurrentWorkspaceManager
   const [planRange, setPlanRange] = React.useState<PlanRange>(PlanRange.monthly)
 
-  const [currentPlan, setCurrentPlan] = React.useState<string>('cloud')
-
-  useKeyPress(['esc'], onCancel)
-
-  const pricingPageLanguage = useGetPricingPageLanguage()
-  const pricingPageURL = pricingPageLanguage
-    ? `https://dify.ai/${pricingPageLanguage}/pricing#plans-and-features`
-    : 'https://dify.ai/pricing#plans-and-features'
-
   return createPortal(
     <div
-      className='fixed inset-0 bottom-0 left-0 right-0 top-0 z-[1000] bg-background-overlay-backdrop p-4 backdrop-blur-[6px]'
+      className='fixed inset-0 flex bg-white z-[1000] overflow-auto'
       onClick={e => e.stopPropagation()}
     >
-      <div className='relative h-full w-full overflow-auto rounded-2xl border border-effects-highlight bg-saas-background'>
-        <div
-          className='fixed right-7 top-7 z-[1001] flex h-9 w-9 cursor-pointer items-center justify-center rounded-[10px] bg-components-button-tertiary-bg hover:bg-components-button-tertiary-bg-hover'
-          onClick={onCancel}
-        >
-          <RiCloseLine className='size-5 text-components-button-tertiary-text' />
+      <GridMask wrapperClassName='grow'>
+        <div className='grow width-[0] mt-6 p-6 flex flex-col items-center'>
+          <div className='mb-3 leading-[38px] text-[30px] font-semibold text-gray-900'>
+            {t('billing.plansCommon.title')}
+          </div>
+          <SelectPlanRange
+            value={planRange}
+            onChange={setPlanRange}
+          />
+          <div className='mt-8 pb-6 w-full justify-center flex-nowrap flex space-x-3'>
+            <PlanItem
+              currentPlan={plan.type}
+              plan={Plan.sandbox}
+              planRange={planRange}
+              canPay={canPay}
+            />
+            <PlanItem
+              currentPlan={plan.type}
+              plan={Plan.professional}
+              planRange={planRange}
+              canPay={canPay}
+            />
+            <PlanItem
+              currentPlan={plan.type}
+              plan={Plan.team}
+              planRange={planRange}
+              canPay={canPay}
+            />
+            <PlanItem
+              currentPlan={plan.type}
+              plan={Plan.enterprise}
+              planRange={planRange}
+              canPay={canPay}
+            />
+          </div>
         </div>
-        <GridMask wrapperClassName='w-full min-h-full' canvasClassName='min-h-full'>
-          <div className='flex flex-col items-center px-8 pb-7 pt-12'>
-            <div className='title-5xl-bold mb-2 text-text-primary'>
-              {t('billing.plansCommon.title')}
-            </div>
-            <div className='system-sm-regular text-text-secondary'>
-              <span>{t('billing.plansCommon.freeTrialTipPrefix')}</span>
-              <span className='text-gradient font-semibold'>{t('billing.plansCommon.freeTrialTip')}</span>
-              <span>{t('billing.plansCommon.freeTrialTipSuffix')}</span>
-            </div>
-          </div>
-          <div className='mx-auto w-[1152px]'>
-            <div className='flex h-[64px] items-center justify-between py-2'>
-              <TabSlider
-                value={currentPlan}
-                className='inline-flex'
-                options={[
-                  {
-                    value: 'cloud',
-                    text: <div className={
-                      classNames('inline-flex items-center system-md-semibold-uppercase text-text-secondary',
-                        currentPlan === 'cloud' && 'text-text-accent-light-mode-only')} >
-                      <RiCloudFill className='mr-2 size-4' />{t('billing.plansCommon.cloud')}</div>,
-                  },
-                  {
-                    value: 'self',
-                    text: <div className={
-                      classNames('inline-flex items-center system-md-semibold-uppercase text-text-secondary',
-                        currentPlan === 'self' && 'text-text-accent-light-mode-only')}>
-                      <RiTerminalBoxFill className='mr-2 size-4' />{t('billing.plansCommon.self')}</div>,
-                  }]}
-                onChange={v => setCurrentPlan(v)} />
+      </GridMask>
 
-              {currentPlan === 'cloud' && <SelectPlanRange
-                value={planRange}
-                onChange={setPlanRange}
-              />}
-            </div>
-            <div className='pb-8 pt-3'>
-              <div className='flex flex-nowrap justify-center gap-x-4'>
-                {currentPlan === 'cloud' && <>
-                  <PlanItem
-                    currentPlan={plan.type}
-                    plan={Plan.sandbox}
-                    planRange={planRange}
-                    canPay={canPay}
-                  />
-                  <PlanItem
-                    currentPlan={plan.type}
-                    plan={Plan.professional}
-                    planRange={planRange}
-                    canPay={canPay}
-                  />
-                  <PlanItem
-                    currentPlan={plan.type}
-                    plan={Plan.team}
-                    planRange={planRange}
-                    canPay={canPay}
-                  />
-                </>}
-                {currentPlan === 'self' && <>
-                  <SelfHostedPlanItem
-                    plan={SelfHostedPlan.community}
-                    planRange={planRange}
-                    canPay={canPay}
-                  />
-                  <SelfHostedPlanItem
-                    plan={SelfHostedPlan.premium}
-                    planRange={planRange}
-                    canPay={canPay}
-                  />
-                  <SelfHostedPlanItem
-                    plan={SelfHostedPlan.enterprise}
-                    planRange={planRange}
-                    canPay={canPay}
-                  />
-                </>}
-              </div>
-            </div>
-          </div>
-          <div className='flex items-center justify-center py-4'>
-            <div className='flex items-center justify-center gap-x-0.5 rounded-lg px-3 py-2 text-components-button-secondary-accent-text hover:cursor-pointer hover:bg-state-accent-hover'>
-              <Link href={pricingPageURL} className='system-sm-medium'>{t('billing.plansCommon.comparePlanAndFeatures')}</Link>
-              <RiArrowRightUpLine className='size-4' />
-            </div>
-          </div>
-        </GridMask>
-      </div >
-    </div >,
+      <div
+        className='fixed top-6 right-6 flex items-center justify-center w-10 h-10 bg-black/[0.05] rounded-full backdrop-blur-[2px] cursor-pointer z-[1001]'
+        onClick={onCancel}
+      >
+        <RiCloseLine className='w-4 h-4 text-gray-900' />
+      </div>
+    </div>,
     document.body,
   )
 }
diff --git a/app/components/billing/pricing/plan-item.tsx b/app/components/billing/pricing/plan-item.tsx
index 07af0ff..b6ac174 100644
--- a/app/components/billing/pricing/plan-item.tsx
+++ b/app/components/billing/pricing/plan-item.tsx
@@ -1,97 +1,182 @@
 'use client'
-import type { FC, ReactNode } from 'react'
+import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiApps2Line, RiBook2Line, RiBrain2Line, RiChatAiLine, RiFileEditLine, RiFolder6Line, RiGroupLine, RiHardDrive3Line, RiHistoryLine, RiProgress3Line, RiQuestionLine, RiSeoLine, RiTerminalBoxLine } from '@remixicon/react'
-import type { BasicPlan } from '../type'
+import { useContext } from 'use-context-selector'
 import { Plan } from '../type'
-import { ALL_PLANS, NUM_INFINITE } from '../config'
+import { ALL_PLANS, NUM_INFINITE, contactSalesUrl, contractSales, unAvailable } from '../config'
 import Toast from '../../base/toast'
 import Tooltip from '../../base/tooltip'
-import Divider from '../../base/divider'
-import { ArCube1, Group2, Keyframe, SparklesSoft } from '../../base/icons/src/public/billing'
 import { PlanRange } from './select-plan-range'
 import cn from '@/utils/classnames'
 import { useAppContext } from '@/context/app-context'
 import { fetchSubscriptionUrls } from '@/service/billing'
+import { LanguagesSupported } from '@/i18n/language'
+import I18n from '@/context/i18n'
 
 type Props = {
-  currentPlan: BasicPlan
-  plan: BasicPlan
+  currentPlan: Plan
+  plan: Plan
   planRange: PlanRange
   canPay: boolean
 }
 
-const KeyValue = ({ icon, label, tooltip }: { icon: ReactNode; label: string; tooltip?: ReactNode }) => {
+const KeyValue = ({ label, value, tooltip }: { label: string; value: string | number | JSX.Element; tooltip?: string }) => {
   return (
-    <div className='flex text-text-tertiary'>
-      <div className='flex size-4 items-center justify-center'>
-        {icon}
+    <div className='mt-3.5 leading-[125%] text-[13px] font-medium'>
+      <div className='flex items-center text-gray-500 space-x-1'>
+        <div>{label}</div>
+        {tooltip && (
+          <Tooltip
+            popupContent={
+              <div className='w-[200px]'>{tooltip}</div>
+            }
+          />
+        )}
       </div>
-      <div className='system-sm-regular ml-2 mr-0.5 text-text-primary'>{label}</div>
-      {tooltip && (
-        <Tooltip
-          asChild
-          popupContent={tooltip}
-          popupClassName='w-[200px]'
-        >
-          <div className='flex size-4 items-center justify-center'>
-            <RiQuestionLine className='text-text-quaternary' />
-          </div>
-        </Tooltip>
-      )}
+      <div className='mt-0.5 text-gray-900'>{value}</div>
     </div>
   )
 }
 
-const priceClassName = 'leading-[125%] text-[28px] font-bold text-text-primary'
+const priceClassName = 'leading-[32px] text-[28px] font-bold text-gray-900'
 const style = {
   [Plan.sandbox]: {
-    icon: <ArCube1 className='size-7 text-text-primary' />,
-    description: 'text-util-colors-gray-gray-600',
-    btnStyle: 'bg-components-button-secondary-bg hover:bg-components-button-secondary-bg-hover border-[0.5px] border-components-button-secondary-border text-text-primary',
-    btnDisabledStyle: 'bg-components-button-secondary-bg-disabled hover:bg-components-button-secondary-bg-disabled border-components-button-secondary-border-disabled text-components-button-secondary-text-disabled',
+    bg: 'bg-[#F2F4F7]',
+    title: 'text-gray-900',
+    hoverAndActive: '',
   },
   [Plan.professional]: {
-    icon: <Keyframe className='size-7 text-util-colors-blue-brand-blue-brand-600' />,
-    description: 'text-util-colors-blue-brand-blue-brand-600',
-    btnStyle: 'bg-components-button-primary-bg hover:bg-components-button-primary-bg-hover border border-components-button-primary-border text-components-button-primary-text',
-    btnDisabledStyle: 'bg-components-button-primary-bg-disabled hover:bg-components-button-primary-bg-disabled border-components-button-primary-border-disabled text-components-button-primary-text-disabled',
+    bg: 'bg-[#E0F2FE]',
+    title: 'text-[#026AA2]',
+    hoverAndActive: 'hover:shadow-lg hover:!text-white hover:!bg-[#0086C9] hover:!border-[#026AA2] active:!text-white active:!bg-[#026AA2] active:!border-[#026AA2]',
   },
   [Plan.team]: {
-    icon: <Group2 className='size-7 text-util-colors-indigo-indigo-600' />,
-    description: 'text-util-colors-indigo-indigo-600',
-    btnStyle: 'bg-components-button-indigo-bg hover:bg-components-button-indigo-bg-hover border border-components-button-primary-border text-components-button-primary-text',
-    btnDisabledStyle: 'bg-components-button-indigo-bg-disabled hover:bg-components-button-indigo-bg-disabled border-components-button-indigo-border-disabled text-components-button-primary-text-disabled',
+    bg: 'bg-[#E0EAFF]',
+    title: 'text-[#3538CD]',
+    hoverAndActive: 'hover:shadow-lg hover:!text-white hover:!bg-[#444CE7] hover:!border-[#3538CD] active:!text-white active:!bg-[#3538CD] active:!border-[#3538CD]',
+  },
+  [Plan.enterprise]: {
+    bg: 'bg-[#FFEED3]',
+    title: 'text-[#DC6803]',
+    hoverAndActive: 'hover:shadow-lg hover:!text-white hover:!bg-[#F79009] hover:!border-[#DC6803] active:!text-white active:!bg-[#DC6803] active:!border-[#DC6803]',
   },
 }
 const PlanItem: FC<Props> = ({
   plan,
   currentPlan,
   planRange,
+  canPay,
 }) => {
   const { t } = useTranslation()
+  const { locale } = useContext(I18n)
+
+  const isZh = locale === LanguagesSupported[1]
   const [loading, setLoading] = React.useState(false)
   const i18nPrefix = `billing.plans.${plan}`
   const isFreePlan = plan === Plan.sandbox
+  const isEnterprisePlan = plan === Plan.enterprise
   const isMostPopularPlan = plan === Plan.professional
   const planInfo = ALL_PLANS[plan]
   const isYear = planRange === PlanRange.yearly
   const isCurrent = plan === currentPlan
-  const isPlanDisabled = planInfo.level <= ALL_PLANS[currentPlan].level
+  const isPlanDisabled = planInfo.level <= ALL_PLANS[currentPlan].level || (!canPay && plan !== Plan.enterprise)
   const { isCurrentWorkspaceManager } = useAppContext()
+  const messagesRequest = (() => {
+    const value = planInfo.messageRequest[isZh ? 'zh' : 'en']
+    if (value === contractSales)
+      return t('billing.plansCommon.contractSales')
 
+    return value
+  })()
   const btnText = (() => {
+    if (!canPay && plan !== Plan.enterprise)
+      return t('billing.plansCommon.contractOwner')
+
     if (isCurrent)
       return t('billing.plansCommon.currentPlan')
 
     return ({
       [Plan.sandbox]: t('billing.plansCommon.startForFree'),
-      [Plan.professional]: t('billing.plansCommon.getStarted'),
-      [Plan.team]: t('billing.plansCommon.getStarted'),
+      [Plan.professional]: <>{t('billing.plansCommon.getStartedWith')}<span className='capitalize'>&nbsp;{plan}</span></>,
+      [Plan.team]: <>{t('billing.plansCommon.getStartedWith')}<span className='capitalize'>&nbsp;{plan}</span></>,
+      [Plan.enterprise]: t('billing.plansCommon.talkToSales'),
     })[plan]
   })()
-
+  const comingSoon = (
+    <div className='leading-[12px] text-[9px] font-semibold text-[#3538CD] uppercase'>{t('billing.plansCommon.comingSoon')}</div>
+  )
+  const supportContent = (() => {
+    switch (plan) {
+      case Plan.sandbox:
+        return (<div className='space-y-3.5'>
+          <div>{t('billing.plansCommon.supportItems.communityForums')}</div>
+          <div>{t('billing.plansCommon.supportItems.agentMode')}</div>
+          <div className='flex items-center space-x-1'>
+            <div className='flex items-center'>
+              <div className='mr-0.5'>&nbsp;{t('billing.plansCommon.supportItems.workflow')}</div>
+            </div>
+          </div>
+        </div>)
+      case Plan.professional:
+        return (
+          <div>
+            <div>{t('billing.plansCommon.supportItems.emailSupport')}</div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <div>+ {t('billing.plansCommon.supportItems.logoChange')}</div>
+            </div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <div>+ {t('billing.plansCommon.supportItems.bulkUpload')}</div>
+            </div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <span>+ </span>
+              <div>{t('billing.plansCommon.supportItems.llmLoadingBalancing')}</div>
+              <Tooltip
+                popupContent={
+                  <div className='w-[200px]'>{t('billing.plansCommon.supportItems.llmLoadingBalancingTooltip')}</div>
+                }
+              />
+            </div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <div className='flex items-center'>
+                +
+                <div className='mr-0.5'>&nbsp;{t('billing.plansCommon.supportItems.ragAPIRequest')}</div>
+                <Tooltip
+                  popupContent={
+                    <div className='w-[200px]'>{t('billing.plansCommon.ragAPIRequestTooltip')}</div>
+                  }
+                />
+              </div>
+              <div>{comingSoon}</div>
+            </div>
+          </div>
+        )
+      case Plan.team:
+        return (
+          <div>
+            <div>{t('billing.plansCommon.supportItems.priorityEmail')}</div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <div>+ {t('billing.plansCommon.supportItems.SSOAuthentication')}</div>
+              <div>{comingSoon}</div>
+            </div>
+          </div>
+        )
+      case Plan.enterprise:
+        return (
+          <div>
+            <div>{t('billing.plansCommon.supportItems.personalizedSupport')}</div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <div>+ {t('billing.plansCommon.supportItems.dedicatedAPISupport')}</div>
+            </div>
+            <div className='mt-3.5 flex items-center space-x-1'>
+              <div>+ {t('billing.plansCommon.supportItems.customIntegration')}</div>
+            </div>
+          </div>
+        )
+      default:
+        return ''
+    }
+  })()
   const handleGetPayUrl = async () => {
     if (loading)
       return
@@ -102,6 +187,10 @@
     if (isFreePlan)
       return
 
+    if (isEnterprisePlan) {
+      window.location.href = contactSalesUrl
+      return
+    }
     // Only workspace manager can buy plan
     if (!isCurrentWorkspaceManager) {
       Toast.notify({
@@ -122,111 +211,90 @@
     }
   }
   return (
-    <div className={cn('flex w-[373px] flex-col rounded-2xl border-[0.5px] border-effects-highlight-lightmode-off bg-background-section-burn p-6',
-      isMostPopularPlan ? 'border-effects-highlight shadow-lg backdrop-blur-[5px]' : 'hover:border-effects-highlight hover:shadow-lg hover:backdrop-blur-[5px]',
-    )}>
-      <div className='flex flex-col gap-y-1'>
-        {style[plan].icon}
-        <div className='flex items-center'>
-          <div className='grow text-lg font-semibold uppercase leading-[125%] text-text-primary'>{t(`${i18nPrefix}.name`)}</div>
-          {isMostPopularPlan && <div className='ml-1 flex shrink-0 items-center justify-center rounded-full border-[0.5px] bg-price-premium-badge-background px-1 py-[3px] text-components-premium-badge-grey-text-stop-0 shadow-xs'>
-            <div className='pl-0.5'>
-              <SparklesSoft className='size-3' />
-            </div>
-            <span className='system-2xs-semibold-uppercase bg-price-premium-text-background bg-clip-text px-0.5 text-transparent'>{t('billing.plansCommon.mostPopular')}</span>
-          </div>}
-        </div>
-        <div className={cn(style[plan].description, 'system-sm-regular')}>{t(`${i18nPrefix}.description`)}</div>
-      </div>
-      <div className='my-5'>
+    <div className={cn(isMostPopularPlan ? 'bg-[#0086C9] p-0.5' : 'pt-7', 'flex flex-col min-w-[290px] w-[290px] rounded-xl')}>
+      {isMostPopularPlan && (
+        <div className='flex items-center h-7 justify-center leading-[12px] text-xs font-medium text-[#F5F8FF]'>{t('billing.plansCommon.mostPopular')}</div>
+      )}
+      <div className={cn(style[plan].bg, 'grow px-6 py-6 rounded-[10px]')}>
+        <div className={cn(style[plan].title, 'mb-1 leading-[125%] text-lg font-semibold')}>{t(`${i18nPrefix}.name`)}</div>
+        <div className={cn(isFreePlan ? 'mb-5 text-[#FB6514]' : 'mb-4 text-gray-500', 'h-8 leading-[125%] text-[13px] font-normal')}>{t(`${i18nPrefix}.description`)}</div>
+
         {/* Price */}
         {isFreePlan && (
           <div className={priceClassName}>{t('billing.plansCommon.free')}</div>
         )}
-        {!isFreePlan && (
-          <div className='flex items-end'>
+        {isEnterprisePlan && (
+          <div className={priceClassName}>{t('billing.plansCommon.contactSales')}</div>
+        )}
+        {!isFreePlan && !isEnterprisePlan && (
+          <div className='flex items-end h-9'>
             <div className={priceClassName}>${isYear ? planInfo.price * 10 : planInfo.price}</div>
-            <div className='ml-1 flex flex-col'>
-              {isYear && <div className='text-[14px] font-normal italic leading-[14px] text-text-warning'>{t('billing.plansCommon.save')}${planInfo.price * 2}</div>}
-              <div className='text-[14px] font-normal leading-normal text-text-tertiary'>
-                {t('billing.plansCommon.priceTip')}
-                {t(`billing.plansCommon.${!isYear ? 'month' : 'year'}`)}</div>
+            <div className='ml-1'>
+              {isYear && <div className='leading-[18px] text-xs font-medium text-[#F26725]'>{t('billing.plansCommon.save')}${planInfo.price * 2}</div>}
+              <div className='leading-[18px] text-[15px] font-normal text-gray-500'>/{t(`billing.plansCommon.${!isYear ? 'month' : 'year'}`)}</div>
             </div>
           </div>
         )}
-      </div>
 
-      <div
-        className={cn('flex h-[42px] items-center justify-center rounded-full px-5 py-3',
-          style[plan].btnStyle,
-          isPlanDisabled && style[plan].btnDisabledStyle,
-          isPlanDisabled ? 'cursor-not-allowed' : 'cursor-pointer')}
-        onClick={handleGetPayUrl}
-      >
-        {btnText}
-      </div>
-      <div className='mt-6 flex flex-col gap-y-3'>
+        <div
+          className={cn(isMostPopularPlan && !isCurrent && '!bg-[#444CE7] !text-white !border !border-[#3538CD] shadow-sm', isPlanDisabled ? 'opacity-30' : `${style[plan].hoverAndActive} cursor-pointer`, 'mt-4 flex h-11 items-center justify-center border-[2px] border-gray-900 rounded-3xl text-sm font-semibold text-gray-900')}
+          onClick={handleGetPayUrl}
+        >
+          {btnText}
+        </div>
+
+        <div className='my-4 h-[1px] bg-black/5'></div>
+
+        <div className='leading-[125%] text-[13px] font-normal text-gray-900'>
+          {t(`${i18nPrefix}.includesTitle`)}
+        </div>
         <KeyValue
-          icon={<RiChatAiLine />}
-          label={isFreePlan
-            ? t('billing.plansCommon.messageRequest.title', { count: planInfo.messageRequest })
-            : t('billing.plansCommon.messageRequest.titlePerMonth', { count: planInfo.messageRequest })}
+          label={t('billing.plansCommon.messageRequest.title')}
+          value={messagesRequest}
           tooltip={t('billing.plansCommon.messageRequest.tooltip') as string}
         />
         <KeyValue
-          icon={<RiBrain2Line />}
           label={t('billing.plansCommon.modelProviders')}
+          value={planInfo.modelProviders}
         />
         <KeyValue
-          icon={<RiFolder6Line />}
-          label={t('billing.plansCommon.teamWorkspace', { count: planInfo.teamWorkspace })}
+          label={t('billing.plansCommon.teamMembers')}
+          value={planInfo.teamMembers === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : planInfo.teamMembers}
         />
         <KeyValue
-          icon={<RiGroupLine />}
-          label={t('billing.plansCommon.teamMember', { count: planInfo.teamMembers })}
+          label={t('billing.plansCommon.buildApps')}
+          value={planInfo.buildApps === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : planInfo.buildApps}
         />
         <KeyValue
-          icon={<RiApps2Line />}
-          label={t('billing.plansCommon.buildApps', { count: planInfo.buildApps })}
-        />
-        <Divider bgStyle='gradient' />
-        <KeyValue
-          icon={<RiBook2Line />}
-          label={t('billing.plansCommon.documents', { count: planInfo.documents })}
-          tooltip={t('billing.plansCommon.documentsTooltip') as string}
+          label={t('billing.plansCommon.vectorSpace')}
+          value={planInfo.vectorSpace === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : (planInfo.vectorSpace >= 1000 ? `${planInfo.vectorSpace / 1000}G` : `${planInfo.vectorSpace}MB`)}
+          tooltip={t('billing.plansCommon.vectorSpaceBillingTooltip') as string}
         />
         <KeyValue
-          icon={<RiHardDrive3Line />}
-          label={t('billing.plansCommon.vectorSpace', { size: planInfo.vectorSpace })}
-          tooltip={t('billing.plansCommon.vectorSpaceTooltip') as string}
+          label={t('billing.plansCommon.documentsUploadQuota')}
+          value={planInfo.vectorSpace === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : planInfo.documentsUploadQuota}
+        />
+        <KeyValue
+          label={t('billing.plansCommon.documentProcessingPriority')}
+          value={t(`billing.plansCommon.priority.${planInfo.documentProcessingPriority}`) as string}
         />
 
         <KeyValue
-          icon={<RiSeoLine />}
-          label={t('billing.plansCommon.documentsRequestQuota', { count: planInfo.documentsRequestQuota })}
-          tooltip={t('billing.plansCommon.documentsRequestQuotaTooltip')}
-        />
-        <KeyValue
-          icon={<RiTerminalBoxLine />}
-          label={
-            planInfo.apiRateLimit === NUM_INFINITE ? `${t('billing.plansCommon.unlimitedApiRate')}`
-              : `${t('billing.plansCommon.apiRateLimitUnit', { count: planInfo.apiRateLimit })} ${t('billing.plansCommon.apiRateLimit')}`
-          }
-          tooltip={planInfo.apiRateLimit === NUM_INFINITE ? null : t('billing.plansCommon.apiRateLimitTooltip') as string}
-        />
-        <KeyValue
-          icon={<RiProgress3Line />}
-          label={[t(`billing.plansCommon.priority.${planInfo.documentProcessingPriority}`), t('billing.plansCommon.documentProcessingPriority')].join('')}
-        />
-        <Divider bgStyle='gradient' />
-        <KeyValue
-          icon={<RiFileEditLine />}
-          label={t('billing.plansCommon.annotatedResponse.title', { count: planInfo.annotatedResponse })}
+          label={t('billing.plansCommon.annotatedResponse.title')}
+          value={planInfo.annotatedResponse === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : `${planInfo.annotatedResponse}`}
           tooltip={t('billing.plansCommon.annotatedResponse.tooltip') as string}
         />
         <KeyValue
-          icon={<RiHistoryLine />}
-          label={t('billing.plansCommon.logsHistory', { days: planInfo.logHistory === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : `${planInfo.logHistory} ${t('billing.plansCommon.days')}` })}
+          label={t('billing.plansCommon.logsHistory')}
+          value={planInfo.logHistory === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : `${planInfo.logHistory} ${t('billing.plansCommon.days')}`}
+        />
+        <KeyValue
+          label={t('billing.plansCommon.customTools')}
+          value={planInfo.customTools === NUM_INFINITE ? t('billing.plansCommon.unlimited') as string : (planInfo.customTools === unAvailable ? t('billing.plansCommon.unavailable') as string : `${planInfo.customTools}`)}
+        />
+        <KeyValue
+          label={t('billing.plansCommon.support')}
+          value={supportContent}
         />
       </div>
     </div>
diff --git a/app/components/billing/pricing/select-plan-range.tsx b/app/components/billing/pricing/select-plan-range.tsx
index e7b06cb..8caffaa 100644
--- a/app/components/billing/pricing/select-plan-range.tsx
+++ b/app/components/billing/pricing/select-plan-range.tsx
@@ -2,7 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import Switch from '../../base/switch'
+import cn from '@/utils/classnames'
 export enum PlanRange {
   monthly = 'monthly',
   yearly = 'yearly',
@@ -13,20 +13,22 @@
   onChange: (value: PlanRange) => void
 }
 
+const ITem: FC<{ isActive: boolean; value: PlanRange; text: string; onClick: (value: PlanRange) => void }> = ({ isActive, value, text, onClick }) => {
+  return (
+    <div
+      className={cn(isActive ? 'bg-[#155EEF] text-white' : 'text-gray-900', 'flex items-center px-8 h-11 rounded-[32px] cursor-pointer text-[15px] font-medium')}
+      onClick={() => onClick(value)}
+    >
+      {text}
+    </div>
+  )
+}
+
 const ArrowIcon = (
-  <svg xmlns="http://www.w3.org/2000/svg" width="22" height="29" viewBox="0 0 22 29" fill="none">
-    <g clipPath="url(#clip0_394_43518)">
-      <path d="M2.11312 1.64777C2.11312 1.64777 2.10178 1.64849 2.09045 1.6492C2.06211 1.65099 2.08478 1.64956 2.11312 1.64777ZM9.047 20.493C9.43106 19.9965 8.97268 19.2232 8.35639 19.2848C7.72208 19.4215 6.27243 20.3435 5.13995 20.8814C4.2724 21.3798 3.245 21.6892 2.54015 22.4221C1.87751 23.2831 2.70599 23.9706 3.47833 24.3088C4.73679 24.9578 6.00624 25.6004 7.25975 26.2611C8.4424 26.8807 9.57833 27.5715 10.7355 28.2383C10.9236 28.3345 11.1464 28.3489 11.3469 28.2794C11.9886 28.0796 12.0586 27.1137 11.4432 26.8282C9.83391 25.8485 8.17365 24.9631 6.50314 24.0955C8.93023 24.2384 11.3968 24.1058 13.5161 22.7945C16.6626 20.8097 19.0246 17.5714 20.2615 14.0854C22.0267 8.96164 18.9313 4.08153 13.9897 2.40722C10.5285 1.20289 6.76599 0.996166 3.14837 1.46306C2.50624 1.56611 2.68616 1.53201 2.10178 1.64849C2.12445 1.64706 2.14712 1.64563 2.16979 1.6442C2.01182 1.66553 1.86203 1.72618 1.75582 1.84666C1.48961 2.13654 1.58903 2.63096 1.9412 2.80222C2.19381 2.92854 2.4835 2.83063 2.74986 2.81385C3.7267 2.69541 4.70711 2.63364 5.69109 2.62853C8.30015 2.58932 10.5052 2.82021 13.2684 3.693C21.4149 6.65607 20.7135 14.2162 14.6733 20.0304C12.4961 22.2272 9.31209 22.8944 6.11128 22.4816C5.92391 22.4877 5.72342 22.4662 5.52257 22.439C6.35474 22.011 7.20002 21.6107 8.01305 21.1498C8.35227 20.935 8.81233 20.8321 9.05266 20.4926L9.047 20.493Z" fill="url(#paint0_linear_394_43518)" />
-    </g>
-    <defs>
-      <linearGradient id="paint0_linear_394_43518" x1="11" y1="-48.5001" x2="12.2401" y2="28.2518" gradientUnits="userSpaceOnUse">
-        <stop stopColor="#FDB022" />
-        <stop offset="1" stopColor="#F79009" />
-      </linearGradient>
-      <clipPath id="clip0_394_43518">
-        <rect width="19.1928" height="27.3696" fill="white" transform="translate(21.8271 27.6475) rotate(176.395)" />
-      </clipPath>
-    </defs>
+  <svg xmlns="http://www.w3.org/2000/svg" width="26" height="38" viewBox="0 0 26 38" fill="none">
+    <path d="M20.5005 3.49991C23.5 18 18.7571 25.2595 2.92348 31.9599" stroke="#F26725" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
+    <path d="M2.21996 32.2756L8.37216 33.5812" stroke="#F26725" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
+    <path d="M2.22168 32.2764L3.90351 27.4459" stroke="#F26725" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
   </svg>
 )
 
@@ -37,16 +39,15 @@
   const { t } = useTranslation()
 
   return (
-    <div className='relative flex flex-col items-end pr-6'>
-      <div className='bg-premium-yearly-tip-text-background bg-clip-text text-sm italic text-transparent'>{t('billing.plansCommon.yearlyTip')}</div>
-      <div className='flex items-center py-1'>
-        <span className='mr-2 text-[13px]'>{t('billing.plansCommon.annualBilling')}</span>
-        <Switch size='l' defaultValue={value === PlanRange.yearly} onChange={(v) => {
-          onChange(v ? PlanRange.yearly : PlanRange.monthly)
-        }} />
-      </div>
-      <div className='absolute right-0 top-2'>
-        {ArrowIcon}
+    <div>
+      <div className='mb-4 leading-[18px] text-sm font-medium text-[#F26725]'>{t('billing.plansCommon.yearlyTip')}</div>
+
+      <div className='inline-flex relative p-1 rounded-full bg-[#F5F8FF] border border-black/5'>
+        <ITem isActive={value === PlanRange.monthly} value={PlanRange.monthly} text={t('billing.plansCommon.planRange.monthly') as string} onClick={onChange} />
+        <ITem isActive={value === PlanRange.yearly} value={PlanRange.yearly} text={t('billing.plansCommon.planRange.yearly') as string} onClick={onChange} />
+        <div className='absolute right-0 top-[-16px] '>
+          {ArrowIcon}
+        </div>
       </div>
     </div>
   )
diff --git a/app/components/billing/priority-label/index.tsx b/app/components/billing/priority-label/index.tsx
index d63d7ba..6ecac4a 100644
--- a/app/components/billing/priority-label/index.tsx
+++ b/app/components/billing/priority-label/index.tsx
@@ -43,7 +43,7 @@
       </div>
     }>
       <span className={cn(`
-        ml-1 flex h-[18px] shrink-0 items-center rounded-[5px] border border-text-accent-secondary px-1
+        shrink-0 flex items-center ml-1 px-1 h-[18px] rounded-[5px] border border-text-accent-secondary
         text-2xs font-medium text-text-accent-secondary
       `, className)}>
         {
diff --git a/app/components/billing/progress-bar/index.tsx b/app/components/billing/progress-bar/index.tsx
index 6397b43..ec2ffcf 100644
--- a/app/components/billing/progress-bar/index.tsx
+++ b/app/components/billing/progress-bar/index.tsx
@@ -1,20 +1,18 @@
-import cn from '@/utils/classnames'
-
 type ProgressBarProps = {
   percent: number
   color: string
 }
-
 const ProgressBar = ({
   percent = 0,
   color = '#2970FF',
 }: ProgressBarProps) => {
   return (
-    <div className='overflow-hidden rounded-[6px] bg-components-progress-bar-bg'>
+    <div className='bg-[#F2F4F7] rounded-[4px] overflow-hidden'>
       <div
-        className={cn('h-1 rounded-[6px]', color)}
+        className='h-2 rounded-[4px]'
         style={{
           width: `${Math.min(percent, 100)}%`,
+          backgroundColor: color,
         }}
       />
     </div>
diff --git a/app/components/billing/type.ts b/app/components/billing/type.ts
index 2f5728c..d78eab2 100644
--- a/app/components/billing/type.ts
+++ b/app/components/billing/type.ts
@@ -4,55 +4,31 @@
   team = 'team',
   enterprise = 'enterprise',
 }
+
 export enum Priority {
   standard = 'standard',
   priority = 'priority',
   topPriority = 'top-priority',
 }
-
-export type BasicPlan = Plan.sandbox | Plan.professional | Plan.team
-
 export type PlanInfo = {
   level: number
   price: number
   modelProviders: string
-  teamWorkspace: number
   teamMembers: number
   buildApps: number
-  documents: number
-  vectorSpace: string
+  vectorSpace: number
   documentsUploadQuota: number
-  documentsRequestQuota: number
-  apiRateLimit: number
   documentProcessingPriority: Priority
   logHistory: number
-  messageRequest: number
+  customTools: string | number
+  messageRequest: {
+    en: string | number
+    zh: string | number
+  }
   annotatedResponse: number
 }
 
-export enum SelfHostedPlan {
-  community = 'community',
-  premium = 'premium',
-  enterprise = 'enterprise',
-}
-
-export type SelfHostedPlanInfo = {
-  level: number
-  price: number
-  modelProviders: string
-  teamWorkspace: number
-  teamMembers: number
-  buildApps: number
-  documents: number
-  vectorSpace: string
-  documentsRequestQuota: number
-  documentProcessingPriority: Priority
-  logHistory: number
-  messageRequest: number
-  annotatedResponse: number
-}
-
-export type UsagePlanInfo = Pick<PlanInfo, 'buildApps' | 'teamMembers' | 'annotatedResponse' | 'documentsUploadQuota'> & { vectorSpace: number }
+export type UsagePlanInfo = Pick<PlanInfo, 'vectorSpace' | 'buildApps' | 'teamMembers' | 'annotatedResponse' | 'documentsUploadQuota'>
 
 export enum DocumentProcessingPriority {
   standard = 'standard',
@@ -64,7 +40,7 @@
   billing: {
     enabled: boolean
     subscription: {
-      plan: BasicPlan
+      plan: Plan
     }
   }
   members: {
@@ -91,10 +67,6 @@
   can_replace_logo: boolean
   model_load_balancing_enabled: boolean
   dataset_operator_enabled: boolean
-  education: {
-    enabled: boolean
-    activated: boolean
-  }
 }
 
 export type SubscriptionItem = {
diff --git a/app/components/billing/upgrade-btn/index.tsx b/app/components/billing/upgrade-btn/index.tsx
index 45f4d44..d7885d7 100644
--- a/app/components/billing/upgrade-btn/index.tsx
+++ b/app/components/billing/upgrade-btn/index.tsx
@@ -2,9 +2,10 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import PremiumBadge from '../../base/premium-badge'
-import Button from '@/app/components/base/button'
-import { SparklesSoft } from '@/app/components/base/icons/src/public/common'
+import { GoldCoin } from '../../base/icons/src/vender/solid/FinanceAndECommerce'
+import { Sparkles } from '../../base/icons/src/public/billing'
+import s from './style.module.css'
+import cn from '@/utils/classnames'
 import { useModalContext } from '@/context/modal-context'
 
 type Props = {
@@ -17,9 +18,27 @@
   loc?: string
 }
 
+const PlainBtn = ({ className, onClick }: { className?: string; onClick: () => void }) => {
+  const { t } = useTranslation()
+
+  return (
+    <div
+      className={cn(className, 'flex items-center h-8 px-3 rounded-lg border border-gray-200 bg-white shadow-sm cursor-pointer')}
+      onClick={onClick}
+    >
+      <div className='leading-[18px] text-[13px] font-medium text-gray-700'>
+        {t('billing.upgradeBtn.plain')}
+      </div>
+    </div>
+  )
+}
+
 const UpgradeBtn: FC<Props> = ({
+  className,
   isPlain = false,
+  isFull = false,
   isShort = false,
+  size = 'md',
   onClick: _onClick,
   loc,
 }) => {
@@ -40,28 +59,26 @@
     }
   }
 
-  if (isPlain) {
-    return (
-      <Button onClick={onClick}>
-        {t('billing.upgradeBtn.plain')}
-      </Button>
-    )
-  }
+  if (isPlain)
+    return <PlainBtn onClick={onClick} className={className} />
 
   return (
-    <PremiumBadge
-      size="m"
-      color="blue"
-      allowHover={true}
+    <div
+      className={cn(
+        s.upgradeBtn,
+        className,
+        isFull ? 'justify-center' : 'px-3',
+        size === 'lg' ? 'h-10' : 'h-9',
+        'relative flex items-center cursor-pointer border rounded-[20px] border-[#0096EA] text-white',
+      )}
       onClick={onClick}
     >
-      <SparklesSoft className='flex h-3.5 w-3.5 items-center py-[1px] pl-[3px] text-components-premium-badge-indigo-text-stop-0' />
-      <div className='system-xs-medium'>
-        <span className='p-1'>
-          {t(`billing.upgradeBtn.${isShort ? 'encourageShort' : 'encourage'}`)}
-        </span>
-      </div>
-    </PremiumBadge>
+      <GoldCoin className='mr-1 w-3.5 h-3.5' />
+      <div className='text-xs font-normal'>{t(`billing.upgradeBtn.${isShort ? 'encourageShort' : 'encourage'}`)}</div>
+      <Sparkles
+        className='absolute -right-1 -top-2  w-4 h-5 bg-cover'
+      />
+    </div>
   )
 }
 export default React.memo(UpgradeBtn)
diff --git a/app/components/billing/upgrade-btn/style.module.css b/app/components/billing/upgrade-btn/style.module.css
index ab8c30e..a1e2687 100644
--- a/app/components/billing/upgrade-btn/style.module.css
+++ b/app/components/billing/upgrade-btn/style.module.css
@@ -6,4 +6,4 @@
 .upgradeBtn:hover {
   background: linear-gradient(99deg, rgba(255, 255, 255, 0.12) 7.16%, rgba(255, 255, 255, 0.00) 85.47%), linear-gradient(280deg, #02C2FF 12.96%, #001AFF 90.95%);
   box-shadow: 0px 4px 6px -2px rgba(16, 18, 40, 0.08), 0px 12px 16px -4px rgba(0, 209, 255, 0.08);
-}
+}
\ No newline at end of file
diff --git a/app/components/billing/usage-info/apps-info.tsx b/app/components/billing/usage-info/apps-info.tsx
index 2601bbc..d0d7f54 100644
--- a/app/components/billing/usage-info/apps-info.tsx
+++ b/app/components/billing/usage-info/apps-info.tsx
@@ -2,9 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiApps2Line,
-} from '@remixicon/react'
+import { ChatBot } from '../../base/icons/src/vender/line/communication'
 import UsageInfo from '../usage-info'
 import { useProviderContext } from '@/context/provider-context'
 
@@ -24,8 +22,8 @@
   return (
     <UsageInfo
       className={className}
-      Icon={RiApps2Line}
-      name={t('billing.usagePage.buildApps')}
+      Icon={ChatBot}
+      name={t('billing.plansCommon.buildApps')}
       usage={usage.buildApps}
       total={total.buildApps}
     />
diff --git a/app/components/billing/usage-info/index.tsx b/app/components/billing/usage-info/index.tsx
index 30b4bca..ee41508 100644
--- a/app/components/billing/usage-info/index.tsx
+++ b/app/components/billing/usage-info/index.tsx
@@ -5,7 +5,6 @@
 import ProgressBar from '../progress-bar'
 import { NUM_INFINITE } from '../config'
 import Tooltip from '@/app/components/base/tooltip'
-import cn from '@/utils/classnames'
 
 type Props = {
   className?: string
@@ -34,37 +33,43 @@
   const percent = usage / total * 100
   const color = (() => {
     if (percent < LOW)
-      return 'bg-components-progress-bar-progress-solid'
+      return '#155EEF'
 
     if (percent < MIDDLE)
-      return 'bg-components-progress-warning-progress'
+      return '#F79009'
 
-    return 'bg-components-progress-error-progress'
+    return '#F04438'
   })()
   return (
-    <div className={cn('flex flex-col gap-2 rounded-xl bg-components-panel-bg p-4', className)}>
-      <Icon className='h-4 w-4 text-text-tertiary' />
-      <div className='flex items-center gap-1'>
-        <div className='system-xs-medium text-text-tertiary'>{name}</div>
-        {tooltip && (
-          <Tooltip
-            popupContent={
-              <div className='w-[180px]'>
-                {tooltip}
-              </div>
-            }
-          />
-        )}
+    <div className={className}>
+      <div className='flex justify-between h-5 items-center'>
+        <div className='flex items-center'>
+          <Icon className='w-4 h-4 text-gray-700' />
+          <div className='mx-1 leading-5 text-sm font-medium text-gray-700'>{name}</div>
+          {tooltip && (
+            <Tooltip
+              popupContent={
+                <div className='w-[180px]'>
+                  {tooltip}
+                </div>
+              }
+            />
+          )}
+        </div>
+        <div className='flex items-center leading-[18px] text-[13px] font-normal'>
+          <div style={{
+            color: percent < LOW ? '#344054' : color,
+          }}>{usage}{unit}</div>
+          <div className='mx-1 text-gray-300'>/</div>
+          <div className='text-gray-500'>{total === NUM_INFINITE ? t('billing.plansCommon.unlimited') : `${total}${unit}`}</div>
+        </div>
       </div>
-      <div className='system-md-semibold flex items-center gap-1  text-text-primary'>
-        {usage}
-        <div className='system-md-regular text-text-quaternary'>/</div>
-        <div>{total === NUM_INFINITE ? t('billing.plansCommon.unlimited') : `${total}${unit}`}</div>
+      <div className='mt-2'>
+        <ProgressBar
+          percent={percent}
+          color={color}
+        />
       </div>
-      <ProgressBar
-        percent={percent}
-        color={color}
-      />
     </div>
   )
 }
diff --git a/app/components/billing/usage-info/vector-space-info.tsx b/app/components/billing/usage-info/vector-space-info.tsx
index e578280..bb14800 100644
--- a/app/components/billing/usage-info/vector-space-info.tsx
+++ b/app/components/billing/usage-info/vector-space-info.tsx
@@ -1,10 +1,8 @@
 'use client'
 import type { FC } from 'react'
 import React from 'react'
-import {
-  RiHardDrive3Line,
-} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
+import { ArtificialBrain } from '../../base/icons/src/vender/line/development'
 import UsageInfo from '../usage-info'
 import { useProviderContext } from '@/context/provider-context'
 
@@ -24,9 +22,9 @@
   return (
     <UsageInfo
       className={className}
-      Icon={RiHardDrive3Line}
-      name={t('billing.usagePage.vectorSpace')}
-      tooltip={t('billing.usagePage.vectorSpaceTooltip') as string}
+      Icon={ArtificialBrain}
+      name={t('billing.plansCommon.vectorSpace')}
+      tooltip={t('billing.plansCommon.vectorSpaceTooltip') as string}
       usage={usage.vectorSpace}
       total={total.vectorSpace}
       unit='MB'
diff --git a/app/components/billing/vector-space-full/index.tsx b/app/components/billing/vector-space-full/index.tsx
index 58d9db0..1abd279 100644
--- a/app/components/billing/vector-space-full/index.tsx
+++ b/app/components/billing/vector-space-full/index.tsx
@@ -13,9 +13,9 @@
 
   return (
     <GridMask wrapperClassName='border border-gray-200 rounded-xl' canvasClassName='rounded-xl' gradientClassName='rounded-xl'>
-      <div className='px-6 py-5'>
-        <div className='flex items-center justify-between'>
-          <div className={cn(s.textGradient, 'text-base font-semibold leading-[24px]')}>
+      <div className='py-5 px-6'>
+        <div className='flex justify-between items-center'>
+          <div className={cn(s.textGradient, 'leading-[24px] text-base font-semibold')}>
             <div>{t('billing.vectorSpace.fullTip')}</div>
             <div>{t('billing.vectorSpace.fullSolution')}</div>
           </div>
diff --git a/app/components/billing/vector-space-full/style.module.css b/app/components/billing/vector-space-full/style.module.css
index 15bedd8..7ad3180 100644
--- a/app/components/billing/vector-space-full/style.module.css
+++ b/app/components/billing/vector-space-full/style.module.css
@@ -4,4 +4,4 @@
   -webkit-text-fill-color: transparent;
   background-clip: text;
   text-fill-color: transparent;
-}
+}
\ No newline at end of file
diff --git a/app/components/browser-initor.tsx b/app/components/browser-initor.tsx
index f2f4b02..939ddd5 100644
--- a/app/components/browser-initor.tsx
+++ b/app/components/browser-initor.tsx
@@ -30,7 +30,7 @@
   localStorage = globalThis.localStorage
   sessionStorage = globalThis.sessionStorage
 }
-catch {
+catch (e) {
   localStorage = new StorageMock()
   sessionStorage = new StorageMock()
 }
@@ -45,7 +45,7 @@
 
 const BrowserInitor = ({
   children,
-}: { children: React.ReactNode }) => {
+}: { children: React.ReactElement }) => {
   return children
 }
 
diff --git a/app/components/custom/custom-page/index.tsx b/app/components/custom/custom-page/index.tsx
index 90ce16b..75d5923 100644
--- a/app/components/custom/custom-page/index.tsx
+++ b/app/components/custom/custom-page/index.tsx
@@ -1,36 +1,44 @@
 import { useTranslation } from 'react-i18next'
 import CustomWebAppBrand from '../custom-web-app-brand'
+import s from '../style.module.css'
+import GridMask from '@/app/components/base/grid-mask'
+import UpgradeBtn from '@/app/components/billing/upgrade-btn'
 import { useProviderContext } from '@/context/provider-context'
 import { Plan } from '@/app/components/billing/type'
 import { contactSalesUrl } from '@/app/components/billing/config'
-import { useModalContext } from '@/context/modal-context'
 
 const CustomPage = () => {
   const { t } = useTranslation()
   const { plan, enableBilling } = useProviderContext()
-  const { setShowPricingModal } = useModalContext()
+
   const showBillingTip = enableBilling && plan.type === Plan.sandbox
   const showContact = enableBilling && (plan.type === Plan.professional || plan.type === Plan.team)
 
   return (
     <div className='flex flex-col'>
-      {showBillingTip && (
-        <div className='mb-1 flex justify-between rounded-xl bg-gradient-to-r from-components-input-border-active-prompt-1 to-components-input-border-active-prompt-2 p-4 pl-6 shadow-lg backdrop-blur-sm'>
-          <div className='space-y-1 text-text-primary-on-surface'>
-            <div className='title-xl-semi-bold'>{t('custom.upgradeTip.title')}</div>
-            <div className='system-sm-regular'>{t('custom.upgradeTip.des')}</div>
-          </div>
-          <div className='system-md-semibold flex h-10 w-[120px] cursor-pointer items-center justify-center rounded-3xl bg-white text-text-accent shadow-xs hover:opacity-95' onClick={() => setShowPricingModal()}>{t('billing.upgradeBtn.encourageShort')}</div>
-        </div>
-      )}
+      {
+        showBillingTip && (
+          <GridMask canvasClassName='!rounded-xl'>
+            <div className='flex justify-between mb-1 px-6 py-5 h-[88px] shadow-md rounded-xl border-[0.5px] border-gray-200'>
+              <div className={`${s.textGradient} leading-[24px] text-base font-semibold`}>
+                <div>{t('custom.upgradeTip.prefix')}</div>
+                <div>{t('custom.upgradeTip.suffix')}</div>
+              </div>
+              <UpgradeBtn />
+            </div>
+          </GridMask>
+        )
+      }
       <CustomWebAppBrand />
-      {showContact && (
-        <div className='absolute bottom-0 h-[50px] text-xs leading-[50px] text-text-quaternary'>
-          {t('custom.customize.prefix')}
-          <a className='text-text-accent' href={contactSalesUrl} target='_blank' rel='noopener noreferrer'>{t('custom.customize.contactUs')}</a>
-          {t('custom.customize.suffix')}
-        </div>
-      )}
+      {
+        showContact && (
+          <div className='absolute bottom-0 h-[50px] leading-[50px] text-xs text-gray-500'>
+            {t('custom.customize.prefix')}
+            <a className='text-[#155EEF]' href={contactSalesUrl} target='_blank' rel='noopener noreferrer'>{t('custom.customize.contactUs')}</a>
+            {t('custom.customize.suffix')}
+          </div>
+        )
+      }
     </div>
   )
 }
diff --git a/app/components/custom/custom-web-app-brand/index.tsx b/app/components/custom/custom-web-app-brand/index.tsx
index 444df98..0804f2f 100644
--- a/app/components/custom/custom-web-app-brand/index.tsx
+++ b/app/components/custom/custom-web-app-brand/index.tsx
@@ -2,28 +2,22 @@
 import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import {
-  RiEditBoxLine,
-  RiEqualizer2Line,
-  RiExchange2Fill,
-  RiImageAddLine,
-  RiLayoutLeft2Line,
   RiLoader2Line,
-  RiPlayLargeLine,
 } from '@remixicon/react'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
+import s from './style.module.css'
+import LogoSite from '@/app/components/base/logo/logo-site'
 import Switch from '@/app/components/base/switch'
 import Button from '@/app/components/base/button'
-import Divider from '@/app/components/base/divider'
+import { MessageDotsCircle } from '@/app/components/base/icons/src/vender/solid/communication'
+import { ImagePlus } from '@/app/components/base/icons/src/vender/line/images'
 import { useProviderContext } from '@/context/provider-context'
 import { Plan } from '@/app/components/billing/type'
 import { imageUpload } from '@/app/components/base/image-uploader/utils'
 import { useToastContext } from '@/app/components/base/toast'
-import { BubbleTextMod } from '@/app/components/base/icons/src/vender/solid/communication'
 import {
   updateCurrentWorkspace,
 } from '@/service/common'
 import { useAppContext } from '@/context/app-context'
-import cn from '@/utils/classnames'
 
 const ALLOW_FILE_EXTENSIONS = ['svg', 'png']
 
@@ -113,7 +107,32 @@
 
   return (
     <div className='py-4'>
-      <div className='system-md-medium mb-2 flex items-center justify-between rounded-xl bg-background-section-burn p-4 text-text-primary'>
+      <div className='mb-2 text-sm font-medium text-gray-900'>{t('custom.webapp.title')}</div>
+      <div className='relative mb-4 pl-4 pb-6 pr-[119px] rounded-xl border-[0.5px] border-black/8 shadow-xs bg-gray-50 overflow-hidden'>
+        <div className={`${s.mask} absolute top-0 left-0 w-full -bottom-2 z-10`}></div>
+        <div className='flex items-center -mt-2 mb-4 p-6 bg-white rounded-xl'>
+          <div className='flex items-center px-4 w-[125px] h-9 rounded-lg bg-primary-600 border-[0.5px] border-primary-700 shadow-xs'>
+            <MessageDotsCircle className='shrink-0 mr-2 w-4 h-4 text-white' />
+            <div className='grow h-2 rounded-sm bg-white opacity-50' />
+          </div>
+        </div>
+        <div className='flex items-center h-5 justify-between'>
+          <div className='w-[369px] h-1.5 rounded-sm bg-gray-200 opacity-80' />
+          {
+            !webappBrandRemoved && (
+              <div className='flex items-center text-[10px] font-medium text-gray-400'>
+                POWERED BY
+                {
+                  webappLogo
+                    ? <img src={`${webappLogo}?hash=${imgKey}`} alt='logo' className='ml-2 block w-auto h-5' />
+                    : <LogoSite className='ml-2 !h-5' />
+                }
+              </div>
+            )
+          }
+        </div>
+      </div>
+      <div className='flex items-center justify-between mb-2 px-4 h-14 rounded-xl border-[0.5px] border-gray-200 bg-gray-50 text-sm font-medium text-gray-900'>
         {t('custom.webapp.removeBrand')}
         <Switch
           size='l'
@@ -122,38 +141,34 @@
           onChange={handleSwitch}
         />
       </div>
-      <div className={cn('flex h-14 items-center justify-between rounded-xl bg-background-section-burn px-4', webappBrandRemoved && 'opacity-30')}>
+      <div className={`
+        flex items-center justify-between px-4 py-3 rounded-xl border-[0.5px] border-gray-200 bg-gray-50
+        ${webappBrandRemoved && 'opacity-30'}
+      `}>
         <div>
-          <div className='system-md-medium text-text-primary'>{t('custom.webapp.changeLogo')}</div>
-          <div className='system-xs-regular text-text-tertiary'>{t('custom.webapp.changeLogoTip')}</div>
+          <div className='leading-5 text-sm font-medium text-gray-900'>{t('custom.webapp.changeLogo')}</div>
+          <div className='leading-[18px] text-xs text-gray-500'>{t('custom.webapp.changeLogoTip')}</div>
         </div>
         <div className='flex items-center'>
-          {(uploadDisabled || (!webappLogo && !webappBrandRemoved)) && (
-            <>
-              <Button
-                variant='ghost'
-                disabled={uploadDisabled || (!webappLogo && !webappBrandRemoved)}
-                onClick={handleRestore}
-              >
-                {t('custom.restore')}
-              </Button>
-              <div className='mx-2 h-5 w-[1px] bg-divider-regular'></div>
-            </>
-          )}
           {
             !uploading && (
               <Button
-                className='relative mr-2'
+                className={`
+                  relative mr-2
+                `}
                 disabled={uploadDisabled}
               >
-                <RiImageAddLine className='mr-1 h-4 w-4' />
+                <ImagePlus className='mr-2 w-4 h-4' />
                 {
                   (webappLogo || fileId)
                     ? t('custom.change')
                     : t('custom.upload')
                 }
                 <input
-                  className={cn('absolute inset-0 block w-full text-[0] opacity-0', uploadDisabled ? 'cursor-not-allowed' : 'cursor-pointer')}
+                  className={`
+                    absolute block inset-0 opacity-0 text-[0] w-full
+                    ${uploadDisabled ? 'cursor-not-allowed' : 'cursor-pointer'}
+                  `}
                   onClick={e => (e.target as HTMLInputElement).value = ''}
                   type='file'
                   accept={ALLOW_FILE_EXTENSIONS.map(ext => `.${ext}`).join(',')}
@@ -169,7 +184,7 @@
                 className='relative mr-2'
                 disabled={true}
               >
-                <RiLoader2Line className='mr-1 h-4 w-4 animate-spin' />
+                <RiLoader2Line className='animate-spin mr-2 w-4 h-4' />
                 {t('custom.uploading')}
               </Button>
             )
@@ -178,13 +193,6 @@
             fileId && (
               <>
                 <Button
-                  className='mr-2'
-                  onClick={handleCancel}
-                  disabled={webappBrandRemoved || !isCurrentWorkspaceManager}
-                >
-                  {t('common.operation.cancel')}
-                </Button>
-                <Button
                   variant='primary'
                   className='mr-2'
                   onClick={handleApply}
@@ -192,126 +200,30 @@
                 >
                   {t('custom.apply')}
                 </Button>
+                <Button
+                  className='mr-2'
+                  onClick={handleCancel}
+                  disabled={webappBrandRemoved || !isCurrentWorkspaceManager}
+                >
+                  {t('common.operation.cancel')}
+                </Button>
               </>
             )
           }
+          <div className='mr-2 h-5 w-[1px] bg-black/5'></div>
+          <Button
+            disabled={uploadDisabled || (!webappLogo && !webappBrandRemoved)}
+            onClick={handleRestore}
+          >
+            {t('custom.restore')}
+          </Button>
         </div>
       </div>
-      {uploadProgress === -1 && (
-        <div className='mt-2 text-xs text-[#D92D20]'>{t('custom.uploadedFail')}</div>
-      )}
-      <div className='mb-2 mt-5 flex items-center gap-2'>
-        <div className='system-xs-medium-uppercase shrink-0 text-text-tertiary'>{t('appOverview.overview.appInfo.preview')}</div>
-        <Divider bgStyle='gradient' className='grow' />
-      </div>
-      <div className='relative mb-2 flex items-center gap-3'>
-        {/* chat card */}
-        <div className='flex h-[320px] grow basis-1/2 overflow-hidden rounded-2xl border-[0.5px] border-components-panel-border-subtle bg-background-default-burn'>
-          <div className='flex h-full w-[232px] shrink-0 flex-col p-1 pr-0'>
-            <div className='flex items-center gap-3 p-3 pr-2'>
-              <div className={cn('inline-flex h-8 w-8 items-center justify-center rounded-lg border border-divider-regular', 'bg-components-icon-bg-blue-light-solid')}>
-                <BubbleTextMod className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
-              </div>
-              <div className='system-md-semibold grow text-text-secondary'>Chatflow App</div>
-              <div className='p-1.5'>
-                <RiLayoutLeft2Line className='h-4 w-4 text-text-tertiary' />
-              </div>
-            </div>
-            <div className='shrink-0 px-4 py-3'>
-              <Button variant='secondary-accent' className='w-full justify-center'>
-                <RiEditBoxLine className='mr-1 h-4 w-4' />
-                <div className='p-1 opacity-20'>
-                  <div className='h-2 w-[94px] rounded-sm bg-text-accent-light-mode-only'></div>
-                </div>
-              </Button>
-            </div>
-            <div className='grow px-3 pt-5'>
-              <div className='flex h-8 items-center px-3 py-1'>
-                <div className='h-2 w-14 rounded-sm bg-text-quaternary opacity-20'></div>
-              </div>
-              <div className='flex h-8 items-center px-3 py-1'>
-                <div className='h-2 w-[168px] rounded-sm bg-text-quaternary opacity-20'></div>
-              </div>
-              <div className='flex h-8 items-center px-3 py-1'>
-                <div className='h-2 w-[128px] rounded-sm bg-text-quaternary opacity-20'></div>
-              </div>
-            </div>
-            <div className='flex shrink-0 items-center justify-between p-3'>
-              <div className='p-1.5'>
-                <RiEqualizer2Line className='h-4 w-4 text-text-tertiary' />
-              </div>
-              <div className='flex items-center gap-1.5'>
-                {!webappBrandRemoved && (
-                  <>
-                    <div className='system-2xs-medium-uppercase text-text-tertiary'>POWERED BY</div>
-                    {webappLogo
-                      ? <img src={`${webappLogo}?hash=${imgKey}`} alt='logo' className='block h-5 w-auto' />
-                      : <DifyLogo size='small' />
-                    }
-                  </>
-                )}
-              </div>
-            </div>
-          </div>
-          <div className='flex w-[138px] grow flex-col justify-between p-2 pr-0'>
-            <div className='flex grow flex-col justify-between rounded-l-2xl border-[0.5px] border-r-0 border-components-panel-border-subtle bg-chatbot-bg pb-4 pl-[22px] pt-16'>
-              <div className='w-[720px] rounded-2xl border border-divider-subtle bg-chat-bubble-bg px-4 py-3'>
-                <div className='body-md-regular mb-1 text-text-primary'>Hello! How can I assist you today?</div>
-                <Button size='small'>
-                  <div className='h-2 w-[144px] rounded-sm bg-text-quaternary opacity-20'></div>
-                </Button>
-              </div>
-              <div className='body-lg-regular flex h-[52px] w-[578px] items-center rounded-xl border border-components-chat-input-border bg-components-panel-bg-blur pl-3.5 text-text-placeholder shadow-md backdrop-blur-sm'>Talk to Dify</div>
-            </div>
-          </div>
-        </div>
-        {/* workflow card */}
-        <div className='flex h-[320px] grow basis-1/2 flex-col overflow-hidden rounded-2xl border-[0.5px] border-components-panel-border-subtle bg-background-default-burn'>
-          <div className='w-full border-b-[0.5px] border-divider-subtle p-4 pb-0'>
-            <div className='mb-2 flex items-center gap-3'>
-              <div className={cn('inline-flex h-8 w-8 items-center justify-center rounded-lg border border-divider-regular', 'bg-components-icon-bg-indigo-solid')}>
-                <RiExchange2Fill className='h-4 w-4 text-components-avatar-shape-fill-stop-100' />
-              </div>
-              <div className='system-md-semibold grow text-text-secondary'>Workflow App</div>
-              <div className='p-1.5'>
-                <RiLayoutLeft2Line className='h-4 w-4 text-text-tertiary' />
-              </div>
-            </div>
-            <div className='flex items-center gap-4'>
-              <div className='system-md-semibold-uppercase flex h-10 shrink-0 items-center border-b-2 border-components-tab-active text-text-primary'>RUN ONCE</div>
-              <div className='system-md-semibold-uppercase flex h-10 grow items-center border-b-2 border-transparent text-text-tertiary'>RUN BATCH</div>
-            </div>
-          </div>
-          <div className='grow bg-components-panel-bg'>
-            <div className='p-4 pb-1'>
-              <div className='mb-1 py-2'>
-                <div className='h-2 w-20 rounded-sm bg-text-quaternary opacity-20'></div>
-              </div>
-              <div className='h-16 w-full rounded-lg bg-components-input-bg-normal '></div>
-            </div>
-            <div className='flex items-center justify-between px-4 py-3'>
-              <Button size='small'>
-                <div className='h-2 w-10 rounded-sm bg-text-quaternary opacity-20'></div>
-              </Button>
-              <Button variant='primary' size='small' disabled>
-                <RiPlayLargeLine className='mr-1 h-4 w-4' />
-                <span>Execute</span>
-              </Button>
-            </div>
-          </div>
-          <div className='flex h-12 shrink-0 items-center gap-1.5 bg-components-panel-bg p-4 pt-3'>
-            {!webappBrandRemoved && (
-              <>
-                <div className='system-2xs-medium-uppercase text-text-tertiary'>POWERED BY</div>
-                {webappLogo
-                  ? <img src={`${webappLogo}?hash=${imgKey}`} alt='logo' className='block h-5 w-auto' />
-                  : <DifyLogo size='small' />
-                }
-              </>
-            )}
-          </div>
-        </div>
-      </div>
+      {
+        uploadProgress === -1 && (
+          <div className='mt-2 text-xs text-[#D92D20]'>{t('custom.uploadedFail')}</div>
+        )
+      }
     </div>
   )
 }
diff --git a/app/components/custom/custom-web-app-brand/style.module.css b/app/components/custom/custom-web-app-brand/style.module.css
index bdc7d7c..6fe7d84 100644
--- a/app/components/custom/custom-web-app-brand/style.module.css
+++ b/app/components/custom/custom-web-app-brand/style.module.css
@@ -1,3 +1,3 @@
 .mask {
   background: linear-gradient(273deg, rgba(255, 255, 255, 0.00) 51.75%, rgba(255, 255, 255, 0.80) 115.32%);
-}
+}
\ No newline at end of file
diff --git a/app/components/custom/style.module.css b/app/components/custom/style.module.css
index 0a839f6..088fd3a 100644
--- a/app/components/custom/style.module.css
+++ b/app/components/custom/style.module.css
@@ -3,4 +3,4 @@
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
-}
+}
\ No newline at end of file
diff --git a/app/components/datasets/api/index.tsx b/app/components/datasets/api/index.tsx
index 3ca84c3..e5c5f7f 100644
--- a/app/components/datasets/api/index.tsx
+++ b/app/components/datasets/api/index.tsx
@@ -1,6 +1,8 @@
 import React from 'react'
 
-const index = () => {
+type Props = {}
+
+const index = (props: Props) => {
   return (
     <div>index</div>
   )
diff --git a/app/components/datasets/chunk.tsx b/app/components/datasets/chunk.tsx
index eb36c20..bf2835d 100644
--- a/app/components/datasets/chunk.tsx
+++ b/app/components/datasets/chunk.tsx
@@ -9,19 +9,17 @@
 
 export const ChunkLabel: FC<ChunkLabelProps> = (props) => {
   const { label, characterCount } = props
-  return <div className='flex items-center text-xs font-medium text-text-tertiary'>
+  return <div className='flex items-center text-text-tertiary text-xs font-medium'>
     <SelectionMod className='size-[10px]' />
-    <p className='ml-0.5 flex gap-2'>
-      <span>
-        {label}
-      </span>
-      <span>
+    <p className='flex gap-2 ml-0.5'><span>
+      {label}
+    </span>
+    <span>
         路
-      </span>
-      <span>
-        {`${characterCount} characters`}
-      </span>
-    </p>
+    </span>
+    <span>
+      {`${characterCount} characters`}
+    </span></p>
   </div>
 }
 
@@ -31,7 +29,7 @@
   const { label, characterCount, children } = props
   return <div className='space-y-2'>
     <ChunkLabel label={label} characterCount={characterCount} />
-    <div className='body-md-regular text-text-secondary'>
+    <div className='text-text-secondary body-md-regular'>
       {children}
     </div>
   </div>
@@ -45,12 +43,12 @@
   const { qa } = props
   return <div className='flex flex-col gap-y-2'>
     <div className='flex gap-x-1'>
-      <label className='shrink-0 text-[13px] font-medium leading-[20px] text-text-tertiary'>Q</label>
-      <p className='body-md-regular text-text-secondary'>{qa.question}</p>
+      <label className='text-text-tertiary text-[13px] font-medium leading-[20px] shrink-0'>Q</label>
+      <p className='text-text-secondary body-md-regular'>{qa.question}</p>
     </div>
     <div className='flex gap-x-1'>
-      <label className='shrink-0 text-[13px] font-medium leading-[20px] text-text-tertiary'>A</label>
-      <p className='body-md-regular text-text-secondary'>{qa.answer}</p>
+      <label className='text-text-tertiary text-[13px] font-medium leading-[20px] shrink-0'>A</label>
+      <p className='text-text-secondary body-md-regular'>{qa.answer}</p>
     </div>
   </div>
 }
diff --git a/app/components/datasets/common/chunking-mode-label.tsx b/app/components/datasets/common/chunking-mode-label.tsx
index ced0f44..7c6e924 100644
--- a/app/components/datasets/common/chunking-mode-label.tsx
+++ b/app/components/datasets/common/chunking-mode-label.tsx
@@ -19,8 +19,8 @@
 
   return (
     <Badge>
-      <div className='flex h-full items-center space-x-0.5 text-text-tertiary'>
-        <TypeIcon className='h-3 w-3' />
+      <div className='flex items-center h-full space-x-0.5 text-text-tertiary'>
+        <TypeIcon className='w-3 h-3' />
         <span className='system-2xs-medium-uppercase'>{isGeneralMode ? `${t('dataset.chunkingMode.general')}${isQAMode ? ' 路 QA' : ''}` : t('dataset.chunkingMode.parentChild')}</span>
       </div>
     </Badge>
diff --git a/app/components/datasets/common/document-picker/document-list.tsx b/app/components/datasets/common/document-picker/document-list.tsx
index 5ac98b9..3e320d7 100644
--- a/app/components/datasets/common/document-picker/document-list.tsx
+++ b/app/components/datasets/common/document-picker/document-list.tsx
@@ -27,11 +27,11 @@
         return (
           <div
             key={id}
-            className='flex h-8 cursor-pointer items-center space-x-2 rounded-lg px-2 hover:bg-state-base-hover'
+            className='flex items-center h-8 px-2 hover:bg-state-base-hover rounded-lg space-x-2 cursor-pointer'
             onClick={handleChange(item)}
           >
             <FileIcon name={item.name} extension={extension} size='md' />
-            <div className='truncate text-sm text-text-secondary'>{name}</div>
+            <div className='truncate text-text-secondary text-sm'>{name}</div>
           </div>
         )
       })}
diff --git a/app/components/datasets/common/document-picker/index.tsx b/app/components/datasets/common/document-picker/index.tsx
index d1a6a37..30690fc 100644
--- a/app/components/datasets/common/document-picker/index.tsx
+++ b/app/components/datasets/common/document-picker/index.tsx
@@ -74,15 +74,15 @@
       placement='bottom-start'
     >
       <PortalToFollowElemTrigger onClick={togglePopup}>
-        <div className={cn('ml-1 flex cursor-pointer select-none items-center rounded-lg px-2 py-0.5 hover:bg-state-base-hover', open && 'bg-state-base-hover')}>
+        <div className={cn('flex items-center ml-1 px-2 py-0.5 rounded-lg hover:bg-state-base-hover select-none cursor-pointer', open && 'bg-state-base-hover')}>
           <FileIcon name={name} extension={extension} size='lg' />
-          <div className='ml-1 mr-0.5 flex flex-col items-start'>
+          <div className='flex flex-col items-start ml-1 mr-0.5'>
             <div className='flex items-center space-x-0.5'>
-              <span className={cn('system-md-semibold text-text-primary')}> {name || '--'}</span>
+              <span className={cn('system-md-semibold')}> {name || '--'}</span>
               <ArrowIcon className={'h-4 w-4 text-text-primary'} />
             </div>
-            <div className='flex h-3 items-center space-x-0.5 text-text-tertiary'>
-              <TypeIcon className='h-3 w-3' />
+            <div className='flex items-center h-3 text-text-tertiary space-x-0.5'>
+              <TypeIcon className='w-3 h-3' />
               <span className={cn('system-2xs-medium-uppercase', isParentChild && 'mt-0.5' /* to icon problem cause not ver align */)}>
                 {isParentChild ? t('dataset.chunkingMode.parentChild') : t('dataset.chunkingMode.general')}
                 {isParentChild && ` 路 ${!parentMode ? '--' : parentMode === 'paragraph' ? t('dataset.parentMode.paragraph') : t('dataset.parentMode.fullDoc')}`}
@@ -92,7 +92,7 @@
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[11]'>
-        <div className='w-[360px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 pt-2 shadow-lg backdrop-blur-[5px]'>
+        <div className='w-[360px] p-1 pt-2 rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-[5px]'>
           <SearchInput value={query} onChange={setQuery} className='mx-1' />
           {documentsList
             ? (
@@ -106,7 +106,7 @@
                 onChange={handleChange}
               />
             )
-            : (<div className='mt-2 flex h-[100px] w-[360px] items-center justify-center'>
+            : (<div className='mt-2 flex items-center justify-center w-[360px] h-[100px]'>
               <Loading />
             </div>)}
         </div>
diff --git a/app/components/datasets/common/document-picker/preview-document-picker.tsx b/app/components/datasets/common/document-picker/preview-document-picker.tsx
index a6de0c3..2a35b75 100644
--- a/app/components/datasets/common/document-picker/preview-document-picker.tsx
+++ b/app/components/datasets/common/document-picker/preview-document-picker.tsx
@@ -50,9 +50,9 @@
       offset={4}
     >
       <PortalToFollowElemTrigger onClick={togglePopup}>
-        <div className={cn('flex h-6 select-none items-center rounded-md px-1 hover:bg-state-base-hover', open && 'bg-state-base-hover', className)}>
+        <div className={cn('flex items-center h-6 px-1 rounded-md hover:bg-state-base-hover select-none', open && 'bg-state-base-hover', className)}>
           <FileIcon name={name} extension={extension} size='md' />
-          <div className='ml-1 flex flex-col items-start'>
+          <div className='flex flex-col items-start ml-1'>
             <div className='flex items-center space-x-0.5'>
               <span className={cn('system-md-semibold max-w-[200px] truncate text-text-primary')}> {name || '--'}</span>
               <ArrowIcon className={'h-[18px] w-[18px] text-text-primary'} />
@@ -61,8 +61,8 @@
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[11]'>
-        <div className='w-[392px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg backdrop-blur-[5px]'>
-          {files?.length > 1 && <div className='system-xs-medium-uppercase flex h-8 items-center pl-2 text-text-tertiary'>{t('dataset.preprocessDocument', { num: files.length })}</div>}
+        <div className='w-[392px] p-1 rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-[5px]'>
+          {files?.length > 1 && <div className='pl-2 flex items-center h-8 system-xs-medium-uppercase text-text-tertiary'>{t('dataset.preprocessDocument', { num: files.length })}</div>}
           {files?.length > 0
             ? (
               <DocumentList
@@ -70,7 +70,7 @@
                 onChange={handleChange}
               />
             )
-            : (<div className='mt-2 flex h-[100px] w-[360px] items-center justify-center'>
+            : (<div className='mt-2 flex items-center justify-center w-[360px] h-[100px]'>
               <Loading />
             </div>)}
         </div>
diff --git a/app/components/datasets/common/document-status-with-action/index-failed.tsx b/app/components/datasets/common/document-status-with-action/index-failed.tsx
index 802e3d8..3731176 100644
--- a/app/components/datasets/common/document-status-with-action/index-failed.tsx
+++ b/app/components/datasets/common/document-status-with-action/index-failed.tsx
@@ -6,7 +6,6 @@
 import StatusWithAction from './status-with-action'
 import { getErrorDocs, retryErrorDocs } from '@/service/datasets'
 import type { IndexingStatusResponse } from '@/models/datasets'
-import { noop } from 'lodash-es'
 
 type Props = {
   datasetId: string
@@ -63,7 +62,7 @@
       description={`${errorDocs?.total} ${t('dataset.docsFailedNotice')}`}
       actionText={t('dataset.retry')}
       disabled={indexState.value === 'retry'}
-      onAction={indexState.value === 'error' ? onRetryErrorDocs : noop}
+      onAction={indexState.value === 'error' ? onRetryErrorDocs : () => { }}
     />
   )
 }
diff --git a/app/components/datasets/common/document-status-with-action/status-with-action.tsx b/app/components/datasets/common/document-status-with-action/status-with-action.tsx
index 0314b26..a8da9bf 100644
--- a/app/components/datasets/common/document-status-with-action/status-with-action.tsx
+++ b/app/components/datasets/common/document-status-with-action/status-with-action.tsx
@@ -9,8 +9,8 @@
 type Props = {
   type?: Status
   description: string
-  actionText?: string
-  onAction?: () => void
+  actionText: string
+  onAction: () => void
   disabled?: boolean
 }
 
@@ -46,23 +46,18 @@
 }) => {
   const { Icon, color } = getIcon(type)
   return (
-    <div className='relative flex h-[34px] items-center rounded-lg border border-components-panel-border bg-components-panel-bg-blur pl-2 pr-3 shadow-xs'>
-      <div className={
-        `absolute inset-0 rounded-lg opacity-40 ${(type === 'success' && 'bg-[linear-gradient(92deg,rgba(23,178,106,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
+    <div className='relative flex items-center h-[34px] rounded-lg pl-2 pr-3 border border-components-panel-border bg-components-panel-bg-blur shadow-xs'>
+      <div className={`absolute inset-0 opacity-40 rounded-lg ${(type === 'success' && 'bg-[linear-gradient(92deg,rgba(23,178,106,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
         || (type === 'warning' && 'bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
         || (type === 'error' && 'bg-[linear-gradient(92deg,rgba(240,68,56,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
         || (type === 'info' && 'bg-[linear-gradient(92deg,rgba(11,165,236,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
-        }`}
+      }`}
       />
       <div className='relative z-10 flex h-full items-center space-x-2'>
-        <Icon className={cn('h-4 w-4', color)} />
+        <Icon className={cn('w-4 h-4', color)} />
         <div className='text-[13px] font-normal text-text-secondary'>{description}</div>
-        {onAction && (
-          <>
-            <Divider type='vertical' className='!h-4' />
-            <div onClick={onAction} className={cn('cursor-pointer text-[13px] font-semibold text-text-accent', disabled && 'cursor-not-allowed text-text-disabled')}>{actionText}</div>
-          </>
-        )}
+        <Divider type='vertical' className='!h-4' />
+        <div onClick={onAction} className={cn('text-text-accent font-semibold text-[13px] cursor-pointer', disabled && 'text-text-disabled cursor-not-allowed')}>{actionText}</div>
       </div>
     </div>
   )
diff --git a/app/components/datasets/common/economical-retrieval-method-config/index.tsx b/app/components/datasets/common/economical-retrieval-method-config/index.tsx
index 17cb3ef..5183b7a 100644
--- a/app/components/datasets/common/economical-retrieval-method-config/index.tsx
+++ b/app/components/datasets/common/economical-retrieval-method-config/index.tsx
@@ -25,7 +25,7 @@
   return (
     <div className='space-y-2'>
       <OptionCard
-        disabled={disabled} icon={<Image className='h-4 w-4' src={retrievalIcon.vector} alt='' />}
+        disabled={disabled} icon={<Image className='w-4 h-4' src={retrievalIcon.vector} alt='' />}
         title={t('dataset.retrieval.invertedIndex.title')}
         description={t('dataset.retrieval.invertedIndex.description')} isActive
         activeHeaderClassName='bg-dataset-option-card-purple-gradient'
diff --git a/app/components/datasets/common/retrieval-method-config/index.tsx b/app/components/datasets/common/retrieval-method-config/index.tsx
index f979447..aee978c 100644
--- a/app/components/datasets/common/retrieval-method-config/index.tsx
+++ b/app/components/datasets/common/retrieval-method-config/index.tsx
@@ -94,7 +94,7 @@
   return (
     <div className='space-y-2'>
       {supportRetrievalMethods.includes(RETRIEVE_METHOD.semantic) && (
-        <OptionCard disabled={disabled} icon={<Image className='h-4 w-4' src={retrievalIcon.vector} alt='' />}
+        <OptionCard disabled={disabled} icon={<Image className='w-4 h-4' src={retrievalIcon.vector} alt='' />}
           title={t('dataset.retrieval.semantic_search.title')}
           description={t('dataset.retrieval.semantic_search.description')}
           isActive={
@@ -112,7 +112,7 @@
         </OptionCard>
       )}
       {supportRetrievalMethods.includes(RETRIEVE_METHOD.fullText) && (
-        <OptionCard disabled={disabled} icon={<Image className='h-4 w-4' src={retrievalIcon.fullText} alt='' />}
+        <OptionCard disabled={disabled} icon={<Image className='w-4 h-4' src={retrievalIcon.fullText} alt='' />}
           title={t('dataset.retrieval.full_text_search.title')}
           description={t('dataset.retrieval.full_text_search.description')}
           isActive={
@@ -130,11 +130,11 @@
         </OptionCard>
       )}
       {supportRetrievalMethods.includes(RETRIEVE_METHOD.hybrid) && (
-        <OptionCard disabled={disabled} icon={<Image className='h-4 w-4' src={retrievalIcon.hybrid} alt='' />}
+        <OptionCard disabled={disabled} icon={<Image className='w-4 h-4' src={retrievalIcon.hybrid} alt='' />}
           title={
             <div className='flex items-center space-x-1'>
               <div>{t('dataset.retrieval.hybrid_search.title')}</div>
-              <Badge text={t('dataset.retrieval.hybrid_search.recommend')!} className='ml-1 h-[18px] border-text-accent-secondary text-text-accent-secondary' uppercase />
+              <Badge text={t('dataset.retrieval.hybrid_search.recommend')!} className='border-text-accent-secondary text-text-accent-secondary ml-1 h-[18px]' uppercase />
             </div>
           }
           description={t('dataset.retrieval.hybrid_search.description')} isActive={
diff --git a/app/components/datasets/common/retrieval-method-info/index.tsx b/app/components/datasets/common/retrieval-method-info/index.tsx
index 066cfd9..fc3020d 100644
--- a/app/components/datasets/common/retrieval-method-info/index.tsx
+++ b/app/components/datasets/common/retrieval-method-info/index.tsx
@@ -38,7 +38,7 @@
         noRadio
         chosenConfigWrapClassName='!pb-3'
         chosenConfig={
-          <div className='flex flex-wrap text-xs font-normal leading-[18px]'>
+          <div className='flex flex-wrap leading-[18px] text-xs font-normal'>
             {value.reranking_model.reranking_model_name && (
               <div className='mr-8 flex space-x-1'>
                 <div className='text-gray-500'>{t('common.modelProvider.rerankModel.key')}</div>
diff --git a/app/components/datasets/common/retrieval-param-config/index.tsx b/app/components/datasets/common/retrieval-param-config/index.tsx
index 97e0a7f..93d555a 100644
--- a/app/components/datasets/common/retrieval-param-config/index.tsx
+++ b/app/components/datasets/common/retrieval-param-config/index.tsx
@@ -115,7 +115,7 @@
     <div>
       {!isEconomical && !isHybridSearch && (
         <div>
-          <div className='mb-2 flex items-center space-x-2'>
+          <div className='flex items-center space-x-2 mb-2'>
             {canToggleRerankModalEnable && (
               <Switch
                 size='md'
@@ -124,7 +124,7 @@
               />
             )}
             <div className='flex items-center'>
-              <span className='system-sm-semibold mr-0.5 text-text-secondary'>{t('common.modelProvider.rerankModel.key')}</span>
+              <span className='mr-0.5 system-sm-semibold text-text-secondary'>{t('common.modelProvider.rerankModel.key')}</span>
               <Tooltip
                 popupContent={
                   <div className="w-[200px]">{t('common.modelProvider.rerankModel.tip')}</div>
@@ -153,7 +153,7 @@
       )}
       {
         !isHybridSearch && (
-          <div className={cn(!isEconomical && 'mt-4', 'space-between flex space-x-4')}>
+          <div className={cn(!isEconomical && 'mt-4', 'flex space-between space-x-4')}>
             <TopKItem
               className='grow'
               value={value.top_k}
@@ -191,7 +191,7 @@
       {
         isHybridSearch && (
           <>
-            <div className='mb-4 flex gap-2'>
+            <div className='flex gap-2 mb-4'>
               {
                 rerankingModeOptions.map(option => (
                   <RadioCard
@@ -255,7 +255,7 @@
                 />
               )
             }
-            <div className={cn(!isEconomical && 'mt-4', 'space-between flex space-x-6')}>
+            <div className={cn(!isEconomical && 'mt-4', 'flex space-between space-x-6')}>
               <TopKItem
                 className='grow'
                 value={value.top_k}
diff --git a/app/components/datasets/create/embedding-process/index.tsx b/app/components/datasets/create/embedding-process/index.tsx
index 2890670..ead593d 100644
--- a/app/components/datasets/create/embedding-process/index.tsx
+++ b/app/components/datasets/create/embedding-process/index.tsx
@@ -184,7 +184,7 @@
       await sleep(2500)
       await startQueryStatus()
     }
-    catch {
+    catch (e) {
       await sleep(2500)
       await startQueryStatus()
     }
@@ -252,10 +252,10 @@
 
   return (
     <>
-      <div className="mb-3 flex h-5 items-center">
-        <div className="mr-2 flex items-center justify-between text-sm font-medium text-text-secondary">
+      <div className="h-5 flex items-center mb-3">
+        <div className="flex items-center justify-between text-gray-900 font-medium text-sm mr-2">
           {isEmbedding && <div className='flex items-center'>
-            <RiLoader2Fill className='mr-1 size-4 animate-spin text-text-secondary' />
+            <RiLoader2Fill className='size-4 mr-1 animate-spin' />
             {t('datasetDocuments.embedding.processing')}
           </div>}
           {isEmbeddingCompleted && t('datasetDocuments.embedding.completed')}
@@ -263,11 +263,11 @@
       </div>
       {
         enableBilling && plan.type !== Plan.team && (
-          <div className='mb-3 flex h-14 items-center rounded-xl border-[0.5px] border-black/5 bg-white p-3 shadow-md'>
-            <div className='flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#FFF6ED]'>
-              <ZapFast className='h-4 w-4 text-[#FB6514]' />
+          <div className='flex items-center mb-3 p-3 h-14 bg-white border-[0.5px] border-black/5 shadow-md rounded-xl'>
+            <div className='shrink-0 flex items-center justify-center w-8 h-8 bg-[#FFF6ED] rounded-lg'>
+              <ZapFast className='w-4 h-4 text-[#FB6514]' />
             </div>
-            <div className='mx-3 grow text-[13px] font-medium text-gray-700'>
+            <div className='grow mx-3 text-[13px] font-medium text-gray-700'>
               {t('billing.plansCommon.documentProcessingPriorityUpgrade')}
             </div>
             <UpgradeBtn loc='knowledge-speed-up' />
@@ -277,21 +277,21 @@
       <div className="flex flex-col gap-0.5 pb-2">
         {indexingStatusBatchDetail.map(indexingStatusDetail => (
           <div key={indexingStatusDetail.id} className={cn(
-            'relative h-[26px] overflow-hidden rounded-md bg-components-progress-bar-bg',
+            'relative h-[26px] bg-components-progress-bar-bg rounded-md overflow-hidden',
             indexingStatusDetail.indexing_status === 'error' && 'bg-state-destructive-hover-alt',
             // indexingStatusDetail.indexing_status === 'completed' && 's.success',
           )}>
             {isSourceEmbedding(indexingStatusDetail) && (
-              <div className="absolute left-0 top-0 h-full min-w-0.5 border-r-[2px] border-r-components-progress-bar-progress-highlight bg-components-progress-bar-progress" style={{ width: `${getSourcePercent(indexingStatusDetail)}%` }} />
+              <div className="absolute top-0 left-0 h-full min-w-0.5 bg-components-progress-bar-progress border-r-[2px] border-r-components-progress-bar-progress-highlight" style={{ width: `${getSourcePercent(indexingStatusDetail)}%` }} />
             )}
-            <div className="z-[1] flex h-full items-center gap-1 pl-[6px] pr-2">
+            <div className="flex gap-1 pl-[6px] pr-2 h-full items-center z-[1]">
               {getSourceType(indexingStatusDetail.id) === DataSourceType.FILE && (
                 // <div className={cn(
                 //   'shrink-0 marker:size-4 bg-center bg-no-repeat bg-contain',
                 //   s[getFileType(getSourceName(indexingStatusDetail.id))] || s.unknownFileIcon,
                 // )} />
                 <DocumentFileIcon
-                  className="size-4 shrink-0"
+                  className="shrink-0 size-4"
                   name={getSourceName(indexingStatusDetail.id)}
                   extension={getFileType(getSourceName(indexingStatusDetail.id))}
                 />
@@ -303,8 +303,8 @@
                   src={getIcon(indexingStatusDetail.id)}
                 />
               )}
-              <div className="flex w-0 grow items-center gap-1" title={getSourceName(indexingStatusDetail.id)}>
-                <div className="system-xs-medium truncate text-text-secondary">
+              <div className="grow flex items-center gap-1 w-0" title={getSourceName(indexingStatusDetail.id)}>
+                <div className="text-xs truncate">
                   {getSourceName(indexingStatusDetail.id)}
                 </div>
                 {
@@ -314,7 +314,7 @@
                 }
               </div>
               {isSourceEmbedding(indexingStatusDetail) && (
-                <div className="shrink-0 text-xs text-text-secondary">{`${getSourcePercent(indexingStatusDetail)}%`}</div>
+                <div className="shrink-0 text-xs">{`${getSourcePercent(indexingStatusDetail)}%`}</div>
               )}
               {indexingStatusDetail.indexing_status === 'error' && (
                 <Tooltip
@@ -323,31 +323,31 @@
                   popupContent={indexingStatusDetail.error}
                 >
                   <span>
-                    <RiErrorWarningFill className='size-4 shrink-0 text-text-destructive' />
+                    <RiErrorWarningFill className='shrink-0 size-4 text-text-destructive' />
                   </span>
                 </Tooltip>
               )}
               {indexingStatusDetail.indexing_status === 'completed' && (
-                <RiCheckboxCircleFill className='size-4 shrink-0 text-text-success' />
+                <RiCheckboxCircleFill className='shrink-0 size-4 text-text-success' />
               )}
             </div>
           </div>
         ))}
       </div>
-      <hr className="my-3 h-[1px] border-0 bg-divider-subtle" />
+      <hr className="my-3 h-[1px] bg-divider-subtle border-0" />
       <RuleDetail
         sourceData={ruleDetail}
         indexingType={indexingType}
         retrievalMethod={retrievalMethod}
       />
-      <div className='my-10 flex items-center gap-2'>
+      <div className='flex items-center gap-2 my-10'>
         <Button className='w-fit' onClick={navToApiDocs}>
-          <RiTerminalBoxLine className='mr-2 size-4' />
+          <RiTerminalBoxLine className='size-4 mr-2' />
           <span>Access the API</span>
         </Button>
         <Button className='w-fit' variant='primary' onClick={navToDocumentList}>
           <span>{t('datasetCreation.stepThree.navTo')}</span>
-          <ArrowRightIcon className='ml-2 size-4 stroke-current stroke-1' />
+          <ArrowRightIcon className='size-4 ml-2 stroke-current stroke-1' />
         </Button>
       </div>
     </>
diff --git a/app/components/datasets/create/empty-dataset-creation-modal/index.module.css b/app/components/datasets/create/empty-dataset-creation-modal/index.module.css
index 3131c9e..37f971e 100644
--- a/app/components/datasets/create/empty-dataset-creation-modal/index.module.css
+++ b/app/components/datasets/create/empty-dataset-creation-modal/index.module.css
@@ -6,10 +6,11 @@
   @apply flex items-center place-content-between h-8;
 }
 .modalHeader .title {
-  @apply grow text-text-primary;
+  @apply grow;
   font-weight: 600;
   font-size: 20px;
   line-height: 32px;
+  color: #101828;
 }
 .modalHeader .close {
   @apply shrink-0 h-4 w-4 bg-center bg-no-repeat cursor-pointer;
@@ -18,18 +19,20 @@
 }
 
 .modal .tip {
-  @apply mt-1 mb-8 text-text-tertiary;
+  @apply mt-1 mb-8;
   font-weight: 400;
   font-size: 13px;
   line-height: 18px;
+  color: #667085;
 }
 
 .form {
   @apply mb-8;
 }
 .form .label {
-  @apply mb-2 text-text-primary;
+  @apply mb-2;
   font-weight: 500;
   font-size: 14px;
   line-height: 20px;
+  color: #101828;
 }
diff --git a/app/components/datasets/create/empty-dataset-creation-modal/index.tsx b/app/components/datasets/create/empty-dataset-creation-modal/index.tsx
index f9a3584..7702a70 100644
--- a/app/components/datasets/create/empty-dataset-creation-modal/index.tsx
+++ b/app/components/datasets/create/empty-dataset-creation-modal/index.tsx
@@ -40,7 +40,7 @@
       onHide()
       router.push(`/datasets/${dataset.id}/documents`)
     }
-    catch {
+    catch (err) {
       notify({ type: 'error', message: t('datasetCreation.stepOne.modal.failed') })
     }
   }
@@ -61,7 +61,7 @@
         <Input value={inputValue} placeholder={t('datasetCreation.stepOne.modal.placeholder') || ''} onChange={e => setInputValue(e.target.value)} />
       </div>
       <div className='flex flex-row-reverse'>
-        <Button className='ml-2 w-24' variant='primary' onClick={submit}>{t('datasetCreation.stepOne.modal.confirmButton')}</Button>
+        <Button className='w-24 ml-2' variant='primary' onClick={submit}>{t('datasetCreation.stepOne.modal.confirmButton')}</Button>
         <Button className='w-24' onClick={onHide}>{t('datasetCreation.stepOne.modal.cancelButton')}</Button>
       </div>
     </Modal>
diff --git a/app/components/datasets/create/file-preview/index.module.css b/app/components/datasets/create/file-preview/index.module.css
index da139fa..929002e 100644
--- a/app/components/datasets/create/file-preview/index.module.css
+++ b/app/components/datasets/create/file-preview/index.module.css
@@ -1,39 +1,53 @@
 .filePreview {
-    @apply flex flex-col border-l border-components-panel-border shrink-0 bg-background-default-lighter;
+    @apply flex flex-col border-l border-gray-200 shrink-0;
     width: 100%;
+    background-color: #fcfcfd;
   }
-
+  
   .previewHeader {
-    @apply border-b border-divider-subtle shrink-0;
+    @apply border-b border-gray-200 shrink-0;
     margin: 42px 32px 0;
     padding-bottom: 16px;
   }
-
+  
   .previewHeader .title {
-    @apply flex justify-between items-center text-text-primary;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    color: #101828;
+    font-weight: 600;
+    font-size: 18px;
+    line-height: 28px;
   }
-
+  
   .previewHeader .fileName {
-    @apply text-text-tertiary;
+    font-weight: 400;
+    font-size: 12px;
+    line-height: 18px;
+    color: #1D2939;
   }
-
+  
   .previewHeader .filetype {
-    @apply text-text-tertiary;
+    color: #667085;
   }
-
+  
   .previewContent {
-    @apply overflow-y-auto grow text-text-secondary;
+    @apply overflow-y-auto grow;
     padding: 20px 32px;
+    font-weight: 400;
+    font-size: 16px;
+    line-height: 24px;
+    color: #344054;
   }
-
+  
   .previewContent .loading {
     width: 100%;
     height: 180px;
-    background: transparent center no-repeat url(../assets/Loading.svg);
+    background: #f9fafb center no-repeat url(../assets/Loading.svg);
     background-size: contain;
   }
-
   .fileContent {
     white-space: pre-line;
     word-break: break-all;
   }
+  
\ No newline at end of file
diff --git a/app/components/datasets/create/file-preview/index.tsx b/app/components/datasets/create/file-preview/index.tsx
index 8a88834..cb1f1d6 100644
--- a/app/components/datasets/create/file-preview/index.tsx
+++ b/app/components/datasets/create/file-preview/index.tsx
@@ -2,7 +2,6 @@
 import React, { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { XMarkIcon } from '@heroicons/react/20/solid'
-import Loading from '@/app/components/base/loading'
 import s from './index.module.css'
 import cn from '@/utils/classnames'
 import type { CustomFile as File } from '@/models/datasets'
@@ -47,18 +46,18 @@
   return (
     <div className={cn(s.filePreview, 'h-full')}>
       <div className={cn(s.previewHeader)}>
-        <div className={cn(s.title, 'title-md-semi-bold')}>
+        <div className={cn(s.title)}>
           <span>{t('datasetCreation.stepOne.filePreview')}</span>
-          <div className='flex h-6 w-6 cursor-pointer items-center justify-center' onClick={hidePreview}>
+          <div className='flex items-center justify-center w-6 h-6 cursor-pointer' onClick={hidePreview}>
             <XMarkIcon className='h-4 w-4'></XMarkIcon>
           </div>
         </div>
-        <div className={cn(s.fileName, 'system-xs-medium')}>
+        <div className={cn(s.fileName)}>
           <span>{getFileName(file)}</span><span className={cn(s.filetype)}>.{file?.extension}</span>
         </div>
       </div>
       <div className={cn(s.previewContent)}>
-        {loading && <Loading type='area' />}
+        {loading && <div className={cn(s.loading)} />}
         {!loading && (
           <div className={cn(s.fileContent, 'body-md-regular')}>{previewContent}</div>
         )}
diff --git a/app/components/datasets/create/file-uploader/index.tsx b/app/components/datasets/create/file-uploader/index.tsx
index 5ed4b7d..e42a24c 100644
--- a/app/components/datasets/create/file-uploader/index.tsx
+++ b/app/components/datasets/create/file-uploader/index.tsx
@@ -16,8 +16,8 @@
 import I18n from '@/context/i18n'
 import { LanguagesSupported } from '@/i18n/language'
 import { IS_CE_EDITION } from '@/config'
+import { useAppContext } from '@/context/app-context'
 import { Theme } from '@/types/app'
-import useTheme from '@/hooks/use-theme'
 
 const FILES_NUMBER_LIMIT = 20
 
@@ -196,68 +196,19 @@
     e.stopPropagation()
     e.target === dragRef.current && setDragging(false)
   }
-  type FileWithPath = {
-    relativePath?: string
-  } & File
-  const traverseFileEntry = useCallback(
-    (entry: any, prefix = ''): Promise<FileWithPath[]> => {
-      return new Promise((resolve) => {
-        if (entry.isFile) {
-          entry.file((file: FileWithPath) => {
-            file.relativePath = `${prefix}${file.name}`
-            resolve([file])
-          })
-        }
-        else if (entry.isDirectory) {
-          const reader = entry.createReader()
-          const entries: any[] = []
-          const read = () => {
-            reader.readEntries(async (results: FileSystemEntry[]) => {
-              if (!results.length) {
-                const files = await Promise.all(
-                  entries.map(ent =>
-                    traverseFileEntry(ent, `${prefix}${entry.name}/`),
-                  ),
-                )
-                resolve(files.flat())
-              }
-              else {
-                entries.push(...results)
-                read()
-              }
-            })
-          }
-          read()
-        }
-        else {
-          resolve([])
-        }
-      })
-    },
-    [],
-  )
 
-  const handleDrop = useCallback(
-    async (e: DragEvent) => {
-      e.preventDefault()
-      e.stopPropagation()
-      setDragging(false)
-      if (!e.dataTransfer) return
-      const nested = await Promise.all(
-        Array.from(e.dataTransfer.items).map((it) => {
-          const entry = (it as any).webkitGetAsEntry?.()
-          if (entry) return traverseFileEntry(entry)
-          const f = it.getAsFile?.()
-          return f ? Promise.resolve([f]) : Promise.resolve([])
-        }),
-      )
-      let files = nested.flat()
-      if (notSupportBatchUpload) files = files.slice(0, 1)
-      const valid = files.filter(isValid)
-      initialUpload(valid)
-    },
-    [initialUpload, isValid, notSupportBatchUpload, traverseFileEntry],
-  )
+  const handleDrop = useCallback((e: DragEvent) => {
+    e.preventDefault()
+    e.stopPropagation()
+    setDragging(false)
+    if (!e.dataTransfer)
+      return
+
+    const files = [...e.dataTransfer.files] as File[]
+    const validFiles = files.filter(isValid)
+    initialUpload(validFiles)
+  }, [initialUpload, isValid])
+
   const selectHandle = () => {
     if (fileUploader.current)
       fileUploader.current.click()
@@ -275,7 +226,7 @@
     initialUpload(files.filter(isValid))
   }, [isValid, initialUpload])
 
-  const { theme } = useTheme()
+  const { theme } = useAppContext()
   const chartColor = useMemo(() => theme === Theme.dark ? '#5289ff' : '#296dff', [theme])
 
   useEffect(() => {
@@ -305,17 +256,17 @@
         />
       )}
 
-      <div className={cn('mb-1 text-sm font-semibold leading-6 text-text-secondary', titleClassName)}>{t('datasetCreation.stepOne.uploader.title')}</div>
+      <div className={cn('text-text-tertiary text-sm font-semibold leading-6 mb-1', titleClassName)}>{t('datasetCreation.stepOne.uploader.title')}</div>
 
       {!hideUpload && (
-        <div ref={dropRef} className={cn('relative mb-2 box-border flex min-h-20 max-w-[640px] flex-col items-center justify-center gap-1 rounded-xl border border-dashed border-components-dropzone-border bg-components-dropzone-bg px-4 py-3 text-xs leading-4 text-text-tertiary', dragging && 'border-components-dropzone-border-accent bg-components-dropzone-bg-accent')}>
-          <div className="flex min-h-5 items-center justify-center text-sm leading-4 text-text-secondary">
+        <div ref={dropRef} className={cn('relative box-border flex flex-col justify-center items-center gap-1 mb-2 px-4 py-3 max-w-[640px] min-h-20 leading-4 text-xs text-text-tertiary bg-components-dropzone-bg border border-dashed border-components-dropzone-border rounded-xl', dragging && 'bg-components-dropzone-bg-accent border-components-dropzone-border-accent')}>
+          <div className="flex justify-center items-center min-h-5 text-sm leading-4 text-text-secondary">
             <RiUploadCloud2Line className='mr-2 size-5' />
 
             <span>
               {t('datasetCreation.stepOne.uploader.button')}
               {supportTypes.length > 0 && (
-                <label className="ml-1 cursor-pointer text-text-accent" onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.browse')}</label>
+                <label className="ml-1 text-text-accent cursor-pointer" onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.browse')}</label>
               )}
             </span>
           </div>
@@ -323,32 +274,32 @@
             size: fileUploadConfig.file_size_limit,
             supportTypes: supportTypesShowNames,
           })}</div>
-          {dragging && <div ref={dragRef} className='absolute left-0 top-0 h-full w-full' />}
+          {dragging && <div ref={dragRef} className='absolute top-0 left-0 w-full h-full' />}
         </div>
       )}
-      <div className='max-w-[640px] cursor-default space-y-1'>
+      <div className='space-y-1 max-w-[640px] cursor-default'>
 
         {fileList.map((fileItem, index) => (
           <div
             key={`${fileItem.fileID}-${index}`}
             onClick={() => fileItem.file?.id && onPreview(fileItem.file)}
             className={cn(
-              'flex h-12 max-w-[640px] items-center rounded-lg border border-components-panel-border bg-components-panel-on-panel-item-bg text-xs leading-3 text-text-tertiary shadow-xs',
+              'flex items-center h-12 max-w-[640px] bg-components-panel-on-panel-item-bg text-xs leading-3 text-text-tertiary border border-components-panel-border rounded-lg shadow-xs',
               // 'border-state-destructive-border bg-state-destructive-hover',
             )}
           >
-            <div className="flex w-12 shrink-0 items-center justify-center">
+            <div className="shrink-0 flex justify-center items-center w-12">
               <DocumentFileIcon
-                className="size-6 shrink-0"
+                className="shrink-0 size-6"
                 name={fileItem.file.name}
                 extension={getFileType(fileItem.file)}
               />
             </div>
-            <div className="flex shrink grow flex-col gap-0.5">
+            <div className="grow shrink flex flex-col gap-0.5">
               <div className='flex w-full'>
-                <div className="w-0 grow truncate text-sm leading-4 text-text-secondary">{fileItem.file.name}</div>
+                <div className="text-sm leading-4 text-text-secondary w-0 grow truncate">{fileItem.file.name}</div>
               </div>
-              <div className="w-full truncate leading-3 text-text-tertiary">
+              <div className="w-full leading-3 truncate text-text-tertiary">
                 <span className='uppercase'>{getFileType(fileItem.file)}</span>
                 <span className='px-1 text-text-quaternary'>路</span>
                 <span>{getFileSize(fileItem.file.size)}</span>
@@ -356,7 +307,7 @@
                   <span>10k characters</span> */}
               </div>
             </div>
-            <div className="flex w-16 shrink-0 items-center justify-end gap-1 pr-3">
+            <div className="shrink-0 flex items-center justify-end gap-1 pr-3 w-16">
               {/* <span className="flex justify-center items-center w-6 h-6 cursor-pointer">
                   <RiErrorWarningFill className='size-4 text-text-warning' />
                 </span> */}
@@ -364,7 +315,7 @@
                 // <div className={s.percent}>{`${fileItem.progress}%`}</div>
                 <SimplePieChart percentage={fileItem.progress} stroke={chartColor} fill={chartColor} animationDuration={0} />
               )}
-              <span className="flex h-6 w-6 cursor-pointer items-center justify-center" onClick={(e) => {
+              <span className="flex justify-center items-center w-6 h-6 cursor-pointer" onClick={(e) => {
                 e.stopPropagation()
                 removeFile(fileItem.fileID)
               }}>
diff --git a/app/components/datasets/create/index.tsx b/app/components/datasets/create/index.tsx
index b1e4087..9556b9f 100644
--- a/app/components/datasets/create/index.tsx
+++ b/app/components/datasets/create/index.tsx
@@ -6,7 +6,7 @@
 import StepOne from './step-one'
 import StepTwo from './step-two'
 import StepThree from './step-three'
-import { TopBar } from './top-bar'
+import { Topbar } from './top-bar'
 import { DataSourceType } from '@/models/datasets'
 import type { CrawlOptions, CrawlResultItem, DataSet, FileItem, createDocumentResponse } from '@/models/datasets'
 import { fetchDataSource } from '@/service/common'
@@ -111,7 +111,7 @@
           const detail = await fetchDatasetDetail(datasetId)
           setDetail(detail)
         }
-        catch {
+        catch (e) {
           setHasError(true)
         }
       }
@@ -123,7 +123,7 @@
 
   return (
     <div className='flex flex-col bg-components-panel-bg' style={{ height: 'calc(100vh - 56px)' }}>
-      <TopBar activeIndex={step - 1} datasetId={datasetId} />
+      <Topbar activeIndex={step - 1} />
       <div style={{ height: 'calc(100% - 52px)' }}>
         {step === 1 && <StepOne
           hasConnection={hasConnection}
diff --git a/app/components/datasets/create/notion-page-preview/index.module.css b/app/components/datasets/create/notion-page-preview/index.module.css
index b3bc589..12d3747 100644
--- a/app/components/datasets/create/notion-page-preview/index.module.css
+++ b/app/components/datasets/create/notion-page-preview/index.module.css
@@ -1,33 +1,54 @@
 .filePreview {
-  @apply flex flex-col border-l border-components-panel-border shrink-0 bg-background-default-lighter;
-  width: 528px;
-}
-
-.previewHeader {
-  @apply border-b border-divider-subtle shrink-0;
-  margin: 42px 32px 0;
-  padding-bottom: 16px;
-}
-
-.previewHeader .title {
-  @apply flex justify-between items-center text-text-primary;
-}
-
-.previewHeader .fileName {
-  @apply flex items-center text-text-tertiary;
-}
-
-.previewContent {
-  @apply overflow-y-auto grow text-text-secondary;
-  padding: 20px 32px;
-}
-
-.previewContent .loading {
-  width: 100%;
-  height: 180px;
-  background: #f9fafb center no-repeat url(../assets/Loading.svg);
-  background-size: contain;
-}
-.fileContent {
-  white-space: pre-line;
-}
+    @apply flex flex-col border-l border-gray-200 shrink-0;
+    width: 528px;
+    background-color: #fcfcfd;
+  }
+  
+  .previewHeader {
+    @apply border-b border-gray-200 shrink-0;
+    margin: 42px 32px 0;
+    padding-bottom: 16px;
+  }
+  
+  .previewHeader .title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    color: #101828;
+    font-weight: 600;
+    font-size: 18px;
+    line-height: 28px;
+  }
+  
+  .previewHeader .fileName {
+    display: flex;
+    align-items: center;
+    font-weight: 400;
+    font-size: 12px;
+    line-height: 18px;
+    color: #1D2939;
+  }
+  
+  .previewHeader .filetype {
+    color: #667085;
+  }
+  
+  .previewContent {
+    @apply overflow-y-auto grow;
+    padding: 20px 32px;
+    font-weight: 400;
+    font-size: 16px;
+    line-height: 24px;
+    color: #344054;
+  }
+  
+  .previewContent .loading {
+    width: 100%;
+    height: 180px;
+    background: #f9fafb center no-repeat url(../assets/Loading.svg);
+    background-size: contain;
+  }
+  .fileContent {
+    white-space: pre-line;
+  }
+  
\ No newline at end of file
diff --git a/app/components/datasets/create/notion-page-preview/index.tsx b/app/components/datasets/create/notion-page-preview/index.tsx
index 5b56036..f658f21 100644
--- a/app/components/datasets/create/notion-page-preview/index.tsx
+++ b/app/components/datasets/create/notion-page-preview/index.tsx
@@ -2,7 +2,6 @@
 import React, { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { XMarkIcon } from '@heroicons/react/20/solid'
-import Loading from '@/app/components/base/loading'
 import s from './index.module.css'
 import cn from '@/utils/classnames'
 import type { NotionPage } from '@/models/common'
@@ -47,23 +46,23 @@
   return (
     <div className={cn(s.filePreview, 'h-full')}>
       <div className={cn(s.previewHeader)}>
-        <div className={cn(s.title, 'title-md-semi-bold')}>
+        <div className={cn(s.title)}>
           <span>{t('datasetCreation.stepOne.pagePreview')}</span>
-          <div className='flex h-6 w-6 cursor-pointer items-center justify-center' onClick={hidePreview}>
+          <div className='flex items-center justify-center w-6 h-6 cursor-pointer' onClick={hidePreview}>
             <XMarkIcon className='h-4 w-4'></XMarkIcon>
           </div>
         </div>
-        <div className={cn(s.fileName, 'system-xs-medium')}>
+        <div className={cn(s.fileName)}>
           <NotionIcon
-            className='mr-1 shrink-0'
+            className='shrink-0 mr-1'
             type='page'
             src={currentPage?.page_icon}
           />
           {currentPage?.page_name}
         </div>
       </div>
-      <div className={cn(s.previewContent, 'body-md-regular')}>
-        {loading && <Loading type='area' />}
+      <div className={cn(s.previewContent)}>
+        {loading && <div className={cn(s.loading)} />}
         {!loading && (
           <div className={cn(s.fileContent, 'body-md-regular')}>{previewContent}</div>
         )}
diff --git a/app/components/datasets/create/step-one/index.module.css b/app/components/datasets/create/step-one/index.module.css
index 581409b..bb8dd9b 100644
--- a/app/components/datasets/create/step-one/index.module.css
+++ b/app/components/datasets/create/step-one/index.module.css
@@ -1,5 +1,11 @@
 .stepHeader {
+  position: sticky;
+  top: 0;
+  left: 0;
   padding: 42px 64px 12px 0;
+  font-weight: 600;
+  font-size: 18px;
+  line-height: 28px;
 }
 
 .form {
@@ -8,22 +14,38 @@
 }
 
 .dataSourceItem {
-  @apply w-full relative flex items-center p-3 h-14 bg-components-option-card-option-bg rounded-xl
-  cursor-pointer border border-components-option-card-option-border text-text-secondary;
+  @apply box-border relative grow shrink-0 flex items-center p-3 h-14 bg-white rounded-xl cursor-pointer;
+  border: 0.5px solid #EAECF0;
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+  font-weight: 500;
+  font-size: 14px;
+  line-height: 20px;
+  color: #101828;
 }
 
 .dataSourceItem:hover {
-  @apply bg-components-option-card-option-bg-hover border border-components-option-card-option-border-hover shadow-xs shadow-shadow-shadow-3;
+  background-color: #f5f8ff;
+  border: 0.5px solid #B2CCFF;
+  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
 }
 
 .dataSourceItem.active {
-  @apply bg-components-option-card-option-selected-bg border border-components-option-card-option-selected-border
-  ring-[0.5px] ring-components-option-card-option-selected-border;
+  background-color: #f5f8ff;
+  border: 1.5px solid #528BFF;
+  box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);
 }
 
-.dataSourceItem.disabled,
+.dataSourceItem.disabled {
+  background-color: #f9fafb;
+  border: 0.5px solid #EAECF0;
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+  cursor: default;
+}
+
 .dataSourceItem.disabled:hover {
-  @apply bg-components-option-card-option-bg border-[0.5px] border-components-option-card-option-border cursor-not-allowed text-text-disabled shadow-none;
+  background-color: #f9fafb;
+  border: 0.5px solid #EAECF0;
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
 }
 
 .comingTag {
@@ -42,9 +64,17 @@
 }
 
 .datasetIcon {
-  @apply flex shrink-0 mr-2 w-8 h-8 rounded-lg bg-center bg-no-repeat bg-text-primary-on-surface border-[0.5px] border-divider-regular backdrop-blur-sm;
+  @apply flex mr-2 w-8 h-8 rounded-lg bg-center bg-no-repeat;
+  background-color: #F5FAFF;
   background-image: url(../assets/file.svg);
   background-size: 16px;
+  border: 0.5px solid #D1E9FF;
+}
+
+.dataSourceItem:active .datasetIcon,
+.dataSourceItem:hover .datasetIcon {
+  background-color: #F5F8FF;
+  border: 0.5px solid #E0EAFF;
 }
 
 .datasetIcon.notion {
@@ -60,7 +90,61 @@
   width: 120px;
 }
 
-.notionIcon {
-  background: var(--color-components-card-bg) center no-repeat url(../assets/notion.svg);
-  background-size: 24px;
+.dividerLine {
+  margin: 32px 0;
+  max-width: 640px;
+  height: 1px;
+  background-color: #eaecf0;
 }
+
+.notionConnectionTip {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+  padding: 24px;
+  width: 640px;
+  background: #F9FAFB;
+  border-radius: 16px;
+}
+
+.notionIcon {
+  display: flex;
+  padding: 12px;
+  width: 48px;
+  height: 48px;
+  background: #fff center no-repeat url(../assets/notion.svg);
+  background-size: 24px;
+  border: 0.5px solid #EAECF5;
+  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
+  border-radius: 12px;
+}
+
+.notionConnectionTip .title {
+  position: relative;
+  margin: 24px 0 4px;
+  font-style: normal;
+  font-weight: 600;
+  font-size: 16px;
+  line-height: 24px;
+  color: #374151;
+}
+
+.notionConnectionTip .title::after {
+  content: '';
+  position: absolute;
+  top: -6px;
+  right: -12px;
+  width: 16px;
+  height: 16px;
+  background: center no-repeat url(../assets/Icon-3-dots.svg);
+  background-size: contain;
+}
+
+.notionConnectionTip .tip {
+  margin-bottom: 20px;
+  font-style: normal;
+  font-weight: 400;
+  font-size: 13px;
+  line-height: 18px;
+  color: #6B7280;
+}
\ No newline at end of file
diff --git a/app/components/datasets/create/step-one/index.tsx b/app/components/datasets/create/step-one/index.tsx
index 38c885e..2cca003 100644
--- a/app/components/datasets/create/step-one/index.tsx
+++ b/app/components/datasets/create/step-one/index.tsx
@@ -19,12 +19,11 @@
 import { useProviderContext } from '@/context/provider-context'
 import VectorSpaceFull from '@/app/components/billing/vector-space-full'
 import classNames from '@/utils/classnames'
-import { Icon3Dots } from '@/app/components/base/icons/src/vender/line/others'
-import { ENABLE_WEBSITE_FIRECRAWL, ENABLE_WEBSITE_JINAREADER, ENABLE_WEBSITE_WATERCRAWL } from '@/config'
+
 type IStepOneProps = {
   datasetId?: string
   dataSourceType?: DataSourceType
-  dataSourceTypeDisable: boolean
+  dataSourceTypeDisable: Boolean
   hasConnection: boolean
   onSetting: () => void
   files: FileItem[]
@@ -49,15 +48,10 @@
   const { t } = useTranslation()
 
   return (
-    <div className='flex w-[640px] flex-col items-start rounded-2xl bg-workflow-process-bg p-6'>
-      <span className={cn(s.notionIcon, 'mb-2 h-12 w-12 rounded-[10px] border-[0.5px] border-components-card-border p-3 shadow-lg shadow-shadow-shadow-5')} />
-      <div className='mb-1 flex flex-col gap-y-1 pb-3 pt-1'>
-        <span className='system-md-semibold text-text-secondary'>
-          {t('datasetCreation.stepOne.notionSyncTitle')}
-          <Icon3Dots className='relative -left-1.5 -top-2.5 inline h-4 w-4 text-text-secondary' />
-        </span>
-        <div className='system-sm-regular text-text-tertiary'>{t('datasetCreation.stepOne.notionSyncTip')}</div>
-      </div>
+    <div className={s.notionConnectionTip}>
+      <span className={s.notionIcon} />
+      <div className={s.title}>{t('datasetCreation.stepOne.notionSyncTitle')}</div>
+      <div className={s.tip}>{t('datasetCreation.stepOne.notionSyncTip')}</div>
       <Button className='h-8' variant='primary' onClick={onSetting}>{t('datasetCreation.stepOne.connect')}</Button>
     </div>
   )
@@ -126,197 +120,175 @@
       return true
     if (files.some(file => !file.file.id))
       return true
-    return isShowVectorSpaceFull
+    if (isShowVectorSpaceFull)
+      return true
+    return false
   }, [files, isShowVectorSpaceFull])
 
   return (
-    <div className='h-full w-full overflow-x-auto'>
-      <div className='flex h-full w-full min-w-[1440px]'>
-        <div className='relative h-full w-1/2 overflow-y-auto'>
-          <div className='flex justify-end'>
-            <div className={classNames(s.form)}>
-              {
-                shouldShowDataSourceTypeList && (
-                  <div className={classNames(s.stepHeader, 'text-text-secondary system-md-semibold')}>
-                    {t('datasetCreation.steps.one')}
+    <div className='flex w-full h-full'>
+      <div className='w-1/2 h-full overflow-y-auto relative'>
+        <div className='flex justify-end'>
+          <div className={classNames(s.form)}>
+            {
+              shouldShowDataSourceTypeList && (
+                <div className={classNames(s.stepHeader, 'z-10 text-text-secondary bg-components-panel-bg-blur')}>{t('datasetCreation.steps.one')}</div>
+              )
+            }
+            {
+              shouldShowDataSourceTypeList && (
+                <div className='flex items-center mb-8 flex-wrap gap-4'>
+                  <div
+                    className={cn(
+                      s.dataSourceItem,
+                      dataSourceType === DataSourceType.FILE && s.active,
+                      dataSourceTypeDisable && dataSourceType !== DataSourceType.FILE && s.disabled,
+                    )}
+                    onClick={() => {
+                      if (dataSourceTypeDisable)
+                        return
+                      changeType(DataSourceType.FILE)
+                      hideFilePreview()
+                      hideNotionPagePreview()
+                    }}
+                  >
+                    <span className={cn(s.datasetIcon)} />
+                    {t('datasetCreation.stepOne.dataSourceType.file')}
                   </div>
-                )
-              }
-              {
-                shouldShowDataSourceTypeList && (
-                  <div className='mb-8 grid grid-cols-3 gap-4'>
-                    <div
-                      className={cn(
-                        s.dataSourceItem,
-                        'system-sm-medium',
-                        dataSourceType === DataSourceType.FILE && s.active,
-                        dataSourceTypeDisable && dataSourceType !== DataSourceType.FILE && s.disabled,
-                      )}
-                      onClick={() => {
-                        if (dataSourceTypeDisable)
-                          return
-                        changeType(DataSourceType.FILE)
-                        hideFilePreview()
-                        hideNotionPagePreview()
-                      }}
-                    >
-                      <span className={cn(s.datasetIcon)} />
-                      <span
-                        title={t('datasetCreation.stepOne.dataSourceType.file')}
-                        className='truncate'
-                      >
-                        {t('datasetCreation.stepOne.dataSourceType.file')}
-                      </span>
+                  <div
+                    className={cn(
+                      s.dataSourceItem,
+                      dataSourceType === DataSourceType.NOTION && s.active,
+                      dataSourceTypeDisable && dataSourceType !== DataSourceType.NOTION && s.disabled,
+                    )}
+                    onClick={() => {
+                      if (dataSourceTypeDisable)
+                        return
+                      changeType(DataSourceType.NOTION)
+                      hideFilePreview()
+                      hideNotionPagePreview()
+                    }}
+                  >
+                    <span className={cn(s.datasetIcon, s.notion)} />
+                    {t('datasetCreation.stepOne.dataSourceType.notion')}
+                  </div>
+                  <div
+                    className={cn(
+                      s.dataSourceItem,
+                      dataSourceType === DataSourceType.WEB && s.active,
+                      dataSourceTypeDisable && dataSourceType !== DataSourceType.WEB && s.disabled,
+                    )}
+                    onClick={() => changeType(DataSourceType.WEB)}
+                  >
+                    <span className={cn(s.datasetIcon, s.web)} />
+                    {t('datasetCreation.stepOne.dataSourceType.web')}
+                  </div>
+                </div>
+              )
+            }
+            {dataSourceType === DataSourceType.FILE && (
+              <>
+                <FileUploader
+                  fileList={files}
+                  titleClassName={!shouldShowDataSourceTypeList ? 'mt-[30px] !mb-[44px] !text-lg !font-semibold !text-gray-900' : undefined}
+                  prepareFileList={updateFileList}
+                  onFileListUpdate={updateFileList}
+                  onFileUpdate={updateFile}
+                  onPreview={updateCurrentFile}
+                  notSupportBatchUpload={notSupportBatchUpload}
+                />
+                {isShowVectorSpaceFull && (
+                  <div className='max-w-[640px] mb-4'>
+                    <VectorSpaceFull />
+                  </div>
+                )}
+                <div className="flex justify-end gap-2 max-w-[640px]">
+                  {/* <Button>{t('datasetCreation.stepOne.cancel')}</Button> */}
+                  <Button disabled={nextDisabled} variant='primary' onClick={onStepChange}>
+                    <span className="flex gap-0.5 px-[10px]">
+                      <span className="px-0.5">{t('datasetCreation.stepOne.button')}</span>
+                      <RiArrowRightLine className="size-4" />
+                    </span>
+                  </Button>
+                </div>
+              </>
+            )}
+            {dataSourceType === DataSourceType.NOTION && (
+              <>
+                {!hasConnection && <NotionConnector onSetting={onSetting} />}
+                {hasConnection && (
+                  <>
+                    <div className='mb-8 w-[640px]'>
+                      <NotionPageSelector
+                        value={notionPages.map(page => page.page_id)}
+                        onSelect={updateNotionPages}
+                        onPreview={updateCurrentPage}
+                      />
                     </div>
-                    <div
-                      className={cn(
-                        s.dataSourceItem,
-                        'system-sm-medium',
-                        dataSourceType === DataSourceType.NOTION && s.active,
-                        dataSourceTypeDisable && dataSourceType !== DataSourceType.NOTION && s.disabled,
-                      )}
-                      onClick={() => {
-                        if (dataSourceTypeDisable)
-                          return
-                        changeType(DataSourceType.NOTION)
-                        hideFilePreview()
-                        hideNotionPagePreview()
-                      }}
-                    >
-                      <span className={cn(s.datasetIcon, s.notion)} />
-                      <span
-                        title={t('datasetCreation.stepOne.dataSourceType.notion')}
-                        className='truncate'
-                      >
-                        {t('datasetCreation.stepOne.dataSourceType.notion')}
-                      </span>
-                    </div>
-                    {(ENABLE_WEBSITE_FIRECRAWL || ENABLE_WEBSITE_JINAREADER || ENABLE_WEBSITE_WATERCRAWL) && (
-                      <div
-                      className={cn(
-                        s.dataSourceItem,
-                        'system-sm-medium',
-                        dataSourceType === DataSourceType.WEB && s.active,
-                        dataSourceTypeDisable && dataSourceType !== DataSourceType.WEB && s.disabled,
-                      )}
-                      onClick={() => changeType(DataSourceType.WEB)}
-                      >
-                      <span className={cn(s.datasetIcon, s.web)} />
-                      <span
-                        title={t('datasetCreation.stepOne.dataSourceType.web')}
-                        className='truncate'
-                      >
-                        {t('datasetCreation.stepOne.dataSourceType.web')}
-                      </span>
+                    {isShowVectorSpaceFull && (
+                      <div className='max-w-[640px] mb-4'>
+                        <VectorSpaceFull />
                       </div>
                     )}
-                  </div>
-                )
-              }
-              {dataSourceType === DataSourceType.FILE && (
-                <>
-                  <FileUploader
-                    fileList={files}
-                    titleClassName={!shouldShowDataSourceTypeList ? 'mt-[30px] !mb-[44px] !text-lg' : undefined}
-                    prepareFileList={updateFileList}
-                    onFileListUpdate={updateFileList}
-                    onFileUpdate={updateFile}
-                    onPreview={updateCurrentFile}
-                    notSupportBatchUpload={notSupportBatchUpload}
+                    <div className="flex justify-end gap-2 max-w-[640px]">
+                      {/* <Button>{t('datasetCreation.stepOne.cancel')}</Button> */}
+                      <Button disabled={isShowVectorSpaceFull || !notionPages.length} variant='primary' onClick={onStepChange}>
+                        <span className="flex gap-0.5 px-[10px]">
+                          <span className="px-0.5">{t('datasetCreation.stepOne.button')}</span>
+                          <RiArrowRightLine className="size-4" />
+                        </span>
+                      </Button>
+                    </div>
+                  </>
+                )}
+              </>
+            )}
+            {dataSourceType === DataSourceType.WEB && (
+              <>
+                <div className={cn('mb-8 w-[640px]', !shouldShowDataSourceTypeList && 'mt-12')}>
+                  <Website
+                    onPreview={setCurrentWebsite}
+                    checkedCrawlResult={websitePages}
+                    onCheckedCrawlResultChange={updateWebsitePages}
+                    onCrawlProviderChange={onWebsiteCrawlProviderChange}
+                    onJobIdChange={onWebsiteCrawlJobIdChange}
+                    crawlOptions={crawlOptions}
+                    onCrawlOptionsChange={onCrawlOptionsChange}
                   />
-                  {isShowVectorSpaceFull && (
-                    <div className='mb-4 max-w-[640px]'>
-                      <VectorSpaceFull />
-                    </div>
-                  )}
-                  <div className="flex max-w-[640px] justify-end gap-2">
-                    {/* <Button>{t('datasetCreation.stepOne.cancel')}</Button> */}
-                    <Button disabled={nextDisabled} variant='primary' onClick={onStepChange}>
-                      <span className="flex gap-0.5 px-[10px]">
-                        <span className="px-0.5">{t('datasetCreation.stepOne.button')}</span>
-                        <RiArrowRightLine className="size-4" />
-                      </span>
-                    </Button>
+                </div>
+                {isShowVectorSpaceFull && (
+                  <div className='max-w-[640px] mb-4'>
+                    <VectorSpaceFull />
                   </div>
-                </>
-              )}
-              {dataSourceType === DataSourceType.NOTION && (
-                <>
-                  {!hasConnection && <NotionConnector onSetting={onSetting} />}
-                  {hasConnection && (
-                    <>
-                      <div className='mb-8 w-[640px]'>
-                        <NotionPageSelector
-                          value={notionPages.map(page => page.page_id)}
-                          onSelect={updateNotionPages}
-                          onPreview={updateCurrentPage}
-                        />
-                      </div>
-                      {isShowVectorSpaceFull && (
-                        <div className='mb-4 max-w-[640px]'>
-                          <VectorSpaceFull />
-                        </div>
-                      )}
-                      <div className="flex max-w-[640px] justify-end gap-2">
-                        {/* <Button>{t('datasetCreation.stepOne.cancel')}</Button> */}
-                        <Button disabled={isShowVectorSpaceFull || !notionPages.length} variant='primary' onClick={onStepChange}>
-                          <span className="flex gap-0.5 px-[10px]">
-                            <span className="px-0.5">{t('datasetCreation.stepOne.button')}</span>
-                            <RiArrowRightLine className="size-4" />
-                          </span>
-                        </Button>
-                      </div>
-                    </>
-                  )}
-                </>
-              )}
-              {dataSourceType === DataSourceType.WEB && (
-                <>
-                  <div className={cn('mb-8 w-[640px]', !shouldShowDataSourceTypeList && 'mt-12')}>
-                    <Website
-                      onPreview={setCurrentWebsite}
-                      checkedCrawlResult={websitePages}
-                      onCheckedCrawlResultChange={updateWebsitePages}
-                      onCrawlProviderChange={onWebsiteCrawlProviderChange}
-                      onJobIdChange={onWebsiteCrawlJobIdChange}
-                      crawlOptions={crawlOptions}
-                      onCrawlOptionsChange={onCrawlOptionsChange}
-                    />
-                  </div>
-                  {isShowVectorSpaceFull && (
-                    <div className='mb-4 max-w-[640px]'>
-                      <VectorSpaceFull />
-                    </div>
-                  )}
-                  <div className="flex max-w-[640px] justify-end gap-2">
-                    {/* <Button>{t('datasetCreation.stepOne.cancel')}</Button> */}
-                    <Button disabled={isShowVectorSpaceFull || !websitePages.length} variant='primary' onClick={onStepChange}>
-                      <span className="flex gap-0.5 px-[10px]">
-                        <span className="px-0.5">{t('datasetCreation.stepOne.button')}</span>
-                        <RiArrowRightLine className="size-4" />
-                      </span>
-                    </Button>
-                  </div>
-                </>
-              )}
-              {!datasetId && (
-                <>
-                  <div className='my-8 h-px max-w-[640px] bg-divider-regular' />
-                  <span className="inline-flex cursor-pointer items-center text-[13px] leading-4 text-text-accent" onClick={modalShowHandle}>
-                    <RiFolder6Line className="mr-1 size-4" />
-                    {t('datasetCreation.stepOne.emptyDatasetCreation')}
-                  </span>
-                </>
-              )}
-            </div>
-            <EmptyDatasetCreationModal show={showModal} onHide={modalCloseHandle} />
+                )}
+                <div className="flex justify-end gap-2 max-w-[640px]">
+                  {/* <Button>{t('datasetCreation.stepOne.cancel')}</Button> */}
+                  <Button disabled={isShowVectorSpaceFull || !websitePages.length} variant='primary' onClick={onStepChange}>
+                    <span className="flex gap-0.5 px-[10px]">
+                      <span className="px-0.5">{t('datasetCreation.stepOne.button')}</span>
+                      <RiArrowRightLine className="size-4" />
+                    </span>
+                  </Button>
+                </div>
+              </>
+            )}
+            {!datasetId && (
+              <>
+                <div className={s.dividerLine} />
+                <span className="inline-flex items-center cursor-pointer text-[13px] leading-4 text-text-accent" onClick={modalShowHandle}>
+                  <RiFolder6Line className="size-4 mr-1" />
+                  {t('datasetCreation.stepOne.emptyDatasetCreation')}
+                </span>
+              </>
+            )}
           </div>
+          <EmptyDatasetCreationModal show={showModal} onHide={modalCloseHandle} />
         </div>
-        <div className='h-full w-1/2 overflow-y-auto'>
-          {currentFile && <FilePreview file={currentFile} hidePreview={hideFilePreview} />}
-          {currentNotionPage && <NotionPagePreview currentPage={currentNotionPage} hidePreview={hideNotionPagePreview} />}
-          {currentWebsite && <WebsitePreview payload={currentWebsite} hidePreview={hideWebsitePreview} />}
-        </div>
+      </div>
+      <div className='w-1/2 h-full overflow-y-auto'>
+        {currentFile && <FilePreview file={currentFile} hidePreview={hideFilePreview} />}
+        {currentNotionPage && <NotionPagePreview currentPage={currentNotionPage} hidePreview={hideNotionPagePreview} />}
+        {currentWebsite && <WebsitePreview payload={currentWebsite} hidePreview={hideWebsitePreview} />}
       </div>
     </div>
   )
diff --git a/app/components/datasets/create/step-three/index.tsx b/app/components/datasets/create/step-three/index.tsx
index cdaa003..8d97961 100644
--- a/app/components/datasets/create/step-three/index.tsx
+++ b/app/components/datasets/create/step-three/index.tsx
@@ -23,28 +23,28 @@
   const isMobile = media === MediaType.mobile
 
   return (
-    <div className="flex h-full max-h-full w-full justify-center overflow-y-auto">
-      <div className="h-full max-w-[960px] shrink-0 grow overflow-y-auto px-14 sm:px-16">
+    <div className="flex justify-center w-full max-h-full h-full overflow-y-auto">
+      <div className="grow shrink-0 h-full max-w-[960px] overflow-y-auto px-14 sm:px-16">
         <div className="mx-auto max-w-[640px]">
           {!datasetId && (
             <>
               <div className="pt-10">
-                <div className="mb-1 text-xl font-semibold leading-[22px] text-text-primary">{t('datasetCreation.stepThree.creationTitle')}</div>
+                <div className="mb-1 text-xl leading-[22px] font-semibold text-text-primary">{t('datasetCreation.stepThree.creationTitle')}</div>
                 <div className="mb-7 text-[13px] leading-4 text-text-tertiary">{t('datasetCreation.stepThree.creationContent')}</div>
                 <div className="flex gap-4">
-                  <AppIcon {...creationCache?.dataset} className="size-14 self-center text-2xl" />
-                  <div className="flex grow flex-col gap-1">
-                    <div className="text-[13px] font-semibold leading-6 text-text-secondary">{t('datasetCreation.stepThree.label')}</div>
-                    <div className="w-full truncate rounded-lg bg-components-input-bg-normal px-3 py-2 text-[13px] leading-4 text-components-input-text-filled">{datasetName || creationCache?.dataset?.name}</div>
+                  <AppIcon {...creationCache?.dataset} className="size-14 text-2xl self-center" />
+                  <div className="grow flex flex-col gap-1">
+                    <div className="text-[13px] leading-6 font-semibold">{t('datasetCreation.stepThree.label')}</div>
+                    <div className="w-full px-3 py-2 text-[13px] leading-4 bg-components-input-bg-normal rounded-lg truncate">{datasetName || creationCache?.dataset?.name}</div>
                   </div>
                 </div>
               </div>
-              <hr className="my-6 h-[1px] border-0 bg-divider-subtle" />
+              <hr className="my-6 h-[1px] bg-divider-subtle border-0" />
             </>
           )}
           {datasetId && (
             <div className="pt-10">
-              <div className="mb-1 text-xl font-semibold leading-[22px] text-text-primary">{t('datasetCreation.stepThree.additionTitle')}</div>
+              <div className="mb-1 text-xl leading-[22px] font-semibold text-text-primary">{t('datasetCreation.stepThree.additionTitle')}</div>
               <div className="mb-7 text-[13px] leading-4 text-text-tertiary">{`${t('datasetCreation.stepThree.additionP1')} ${datasetName || creationCache?.dataset?.name} ${t('datasetCreation.stepThree.additionP2')}`}</div>
             </div>
           )}
@@ -58,9 +58,9 @@
         </div>
       </div>
       {!isMobile && (
-        <div className="shrink-0 pr-8 pt-[88px] text-xs">
-          <div className="flex w-[328px] flex-col gap-3 rounded-xl bg-background-section p-6 text-text-tertiary">
-            <div className="flex size-10 items-center justify-center rounded-[10px] bg-components-card-bg shadow-lg">
+        <div className="shrink-0 pt-[88px] pr-8 text-xs">
+          <div className="flex flex-col gap-3 w-[328px] p-6 text-text-tertiary bg-background-section rounded-xl">
+            <div className="flex justify-center items-center size-10 bg-components-card-bg rounded-[10px] shadow-lg">
               <RiBookOpenLine className="size-5 text-text-accent" />
             </div>
             <div className="text-base font-semibold text-text-secondary">{t('datasetCreation.stepThree.sideTipTitle')}</div>
diff --git a/app/components/datasets/create/step-two/index.module.css b/app/components/datasets/create/step-two/index.module.css
index e79ab2d..178cbeb 100644
--- a/app/components/datasets/create/step-two/index.module.css
+++ b/app/components/datasets/create/step-two/index.module.css
@@ -385,7 +385,7 @@
   max-width: 524px;
 }
 
-/*
+/* 
  * `fixed` must under `previewHeader` because of style override would not work
  */
 .fixed {
diff --git a/app/components/datasets/create/step-two/index.tsx b/app/components/datasets/create/step-two/index.tsx
index 6b6580a..ec9b3a5 100644
--- a/app/components/datasets/create/step-two/index.tsx
+++ b/app/components/datasets/create/step-two/index.tsx
@@ -37,7 +37,7 @@
 import FloatRightContainer from '@/app/components/base/float-right-container'
 import RetrievalMethodConfig from '@/app/components/datasets/common/retrieval-method-config'
 import EconomicalRetrievalMethodConfig from '@/app/components/datasets/common/economical-retrieval-method-config'
-import type { RetrievalConfig } from '@/types/app'
+import { type RetrievalConfig } from '@/types/app'
 import { isReRankModelSelected } from '@/app/components/datasets/common/check-rerank-model'
 import Toast from '@/app/components/base/toast'
 import type { NotionPage } from '@/models/common'
@@ -62,10 +62,9 @@
 import CustomDialog from '@/app/components/base/dialog'
 import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger } from '@/app/components/base/portal-to-follow-elem'
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
-import { noop } from 'lodash-es'
 
 const TextLabel: FC<PropsWithChildren> = (props) => {
-  return <label className='system-sm-semibold text-text-secondary'>{props.children}</label>
+  return <label className='text-text-secondary system-sm-semibold'>{props.children}</label>
 }
 
 type StepTwoProps = {
@@ -97,9 +96,9 @@
 }
 
 const DEFAULT_SEGMENT_IDENTIFIER = '\\n\\n'
-const DEFAULT_MAXIMUM_CHUNK_LENGTH = 1024
+const DEFAULT_MAXIMUM_CHUNK_LENGTH = 500
 const DEFAULT_OVERLAP = 50
-const MAXIMUM_CHUNK_TOKEN_LENGTH = Number.parseInt(globalThis.document?.body?.getAttribute('data-public-indexing-max-segmentation-tokens-length') || '4000', 10)
+const MAXIMUM_CHUNK_TOKEN_LENGTH = parseInt(globalThis.document?.body?.getAttribute('data-public-indexing-max-segmentation-tokens-length') || '4000', 10)
 
 type ParentChildConfig = {
   chunkForContext: ParentMode
@@ -117,11 +116,11 @@
   chunkForContext: 'paragraph',
   parent: {
     delimiter: '\\n\\n',
-    maxLength: 1024,
+    maxLength: 500,
   },
   child: {
     delimiter: '\\n',
-    maxLength: 512,
+    maxLength: 200,
   },
 }
 
@@ -170,11 +169,12 @@
   const [rules, setRules] = useState<PreProcessingRule[]>([])
   const [defaultConfig, setDefaultConfig] = useState<Rules>()
   const hasSetIndexType = !!indexingType
-  const [indexType, setIndexType] = useState<IndexingType>(() => {
-    if (hasSetIndexType)
-      return indexingType
-    return isAPIKeySet ? IndexingType.QUALIFIED : IndexingType.ECONOMICAL
-  })
+  const [indexType, setIndexType] = useState<IndexingType>(
+    (indexingType
+      || isAPIKeySet)
+      ? IndexingType.QUALIFIED
+      : IndexingType.ECONOMICAL,
+  )
 
   const [previewFile, setPreviewFile] = useState<DocumentItem>(
     (datasetId && documentDetail)
@@ -206,12 +206,12 @@
     if (value === ChunkingMode.parentChild && indexType === IndexingType.ECONOMICAL)
       setIndexType(IndexingType.QUALIFIED)
     setDocForm(value)
-    // eslint-disable-next-line ts/no-use-before-define
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
     currentEstimateMutation.reset()
   }
 
   const [docLanguage, setDocLanguage] = useState<string>(
-    (datasetId && documentDetail) ? documentDetail.doc_language : (locale !== LanguagesSupported[1] ? 'English' : 'Chinese Simplified'),
+    (datasetId && documentDetail) ? documentDetail.doc_language : (locale !== LanguagesSupported[1] ? 'English' : 'Chinese'),
   )
 
   const [parentChildConfig, setParentChildConfig] = useState<ParentChildConfig>(defaultParentChildConfig)
@@ -421,13 +421,6 @@
     }
     else { // create
       const indexMethod = getIndexing_technique()
-      if (indexMethod === IndexingType.QUALIFIED && (!embeddingModel.model || !embeddingModel.provider)) {
-        Toast.notify({
-          type: 'error',
-          message: t('appDebug.datasetConfig.embeddingModelRequired'),
-        })
-        return
-      }
       if (
         !isReRankModelSelected({
           rerankModelList,
@@ -575,6 +568,7 @@
     // get indexing type by props
     if (indexingType)
       setIndexType(indexingType as IndexingType)
+
     else
       setIndexType(isAPIKeySet ? IndexingType.QUALIFIED : IndexingType.ECONOMICAL)
   }, [isAPIKeySet, indexingType, datasetId])
@@ -585,14 +579,14 @@
   const isModelAndRetrievalConfigDisabled = !!datasetId && !!currentDataset?.data_source_type
 
   return (
-    <div className='flex h-full w-full'>
-      <div className={cn('relative h-full w-1/2 overflow-y-auto py-6', isMobile ? 'px-4' : 'px-12')}>
-        <div className={'system-md-semibold mb-1 text-text-secondary'}>{t('datasetCreation.stepTwo.segmentation')}</div>
+    <div className='flex w-full h-full'>
+      <div className={cn('relative h-full w-1/2 py-6 overflow-y-auto', isMobile ? 'px-4' : 'px-12')}>
+        <div className={'system-md-semibold mb-1'}>{t('datasetCreation.stepTwo.segmentation')}</div>
         {((isInUpload && [ChunkingMode.text, ChunkingMode.qa].includes(currentDataset!.doc_form))
           || isUploadInEmptyDataset
           || isInInit)
           && <OptionCard
-            className='mb-2 bg-background-section'
+            className='bg-background-section mb-2'
             title={t('datasetCreation.stepTwo.general')}
             icon={<Image width={20} height={20} src={SettingCog} alt={t('datasetCreation.stepTwo.general')} />}
             activeHeaderClassName='bg-dataset-option-card-blue-gradient'
@@ -606,7 +600,7 @@
             actions={
               <>
                 <Button variant={'secondary-accent'} onClick={() => updatePreview()}>
-                  <RiSearchEyeLine className='mr-0.5 h-4 w-4' />
+                  <RiSearchEyeLine className='h-4 w-4 mr-0.5' />
                   {t('datasetCreation.stepTwo.previewChunk')}
                 </Button>
                 <Button variant={'ghost'} onClick={resetRules}>
@@ -623,18 +617,18 @@
                   onChange={e => setSegmentIdentifier(e.target.value, true)}
                 />
                 <MaxLengthInput
-                  unit='characters'
+                  unit='tokens'
                   value={maxChunkLength}
                   onChange={setMaxChunkLength}
                 />
                 <OverlapInput
-                  unit='characters'
+                  unit='tokens'
                   value={overlap}
                   min={1}
                   onChange={setOverlap}
                 />
               </div>
-              <div className='flex w-full flex-col'>
+              <div className='w-full flex flex-col'>
                 <div className='flex items-center gap-x-2'>
                   <div className='inline-flex shrink-0'>
                     <TextLabel>{t('datasetCreation.stepTwo.rules')}</TextLabel>
@@ -649,7 +643,7 @@
                       <Checkbox
                         checked={rule.enabled}
                       />
-                      <label className="system-sm-regular ml-2 cursor-pointer text-text-secondary">{getRuleName(rule.id)}</label>
+                      <label className="ml-2 system-sm-regular cursor-pointer text-text-secondary">{getRuleName(rule.id)}</label>
                     </div>
                   ))}
                   {IS_CE_EDITION && <>
@@ -667,7 +661,7 @@
                           checked={currentDocForm === ChunkingMode.qa}
                           disabled={!!currentDataset?.doc_form}
                         />
-                        <label className="system-sm-regular ml-2 cursor-pointer text-text-secondary">
+                        <label className="ml-2 system-sm-regular cursor-pointer text-text-secondary">
                           {t('datasetCreation.stepTwo.useQALanguage')}
                         </label>
                       </div>
@@ -683,7 +677,7 @@
                         style={{
                           background: 'linear-gradient(92deg, rgba(247, 144, 9, 0.1) 0%, rgba(255, 255, 255, 0.00) 100%)',
                         }}
-                        className='mt-2 flex h-10 items-center gap-2 rounded-xl border border-components-panel-border px-3 text-xs shadow-xs backdrop-blur-[5px]'
+                        className='h-10 mt-2 flex items-center gap-2 rounded-xl backdrop-blur-[5px] border-components-panel-border border shadow-xs px-3 text-xs'
                       >
                         <RiAlertFill className='size-4 text-text-warning-secondary' />
                         <span className='system-xs-medium text-text-primary'>
@@ -713,7 +707,7 @@
             actions={
               <>
                 <Button variant={'secondary-accent'} onClick={() => updatePreview()}>
-                  <RiSearchEyeLine className='mr-0.5 h-4 w-4' />
+                  <RiSearchEyeLine className='h-4 w-4 mr-0.5' />
                   {t('datasetCreation.stepTwo.previewChunk')}
                 </Button>
                 <Button variant={'ghost'} onClick={resetRules}>
@@ -756,7 +750,7 @@
                         })}
                       />
                       <MaxLengthInput
-                        unit='characters'
+                        unit='tokens'
                         value={parentChildConfig.parent.maxLength}
                         onChange={value => setParentChildConfig({
                           ...parentChildConfig,
@@ -790,7 +784,7 @@
                   </div>
                   <Divider className='grow' bgStyle='gradient' />
                 </div>
-                <div className='mt-1 flex gap-3'>
+                <div className='flex gap-3 mt-1'>
                   <DelimiterInput
                     value={parentChildConfig.child.delimiter}
                     tooltip={t('datasetCreation.stepTwo.parentChildChunkDelimiterTip')!}
@@ -803,7 +797,7 @@
                     })}
                   />
                   <MaxLengthInput
-                    unit='characters'
+                    unit='tokens'
                     value={parentChildConfig.child.maxLength}
                     onChange={value => setParentChildConfig({
                       ...parentChildConfig,
@@ -830,7 +824,7 @@
                       <Checkbox
                         checked={rule.enabled}
                       />
-                      <label className="system-sm-regular ml-2 cursor-pointer text-text-secondary">{getRuleName(rule.id)}</label>
+                      <label className="ml-2 system-sm-regular cursor-pointer text-text-secondary">{getRuleName(rule.id)}</label>
                     </div>
                   ))}
                 </div>
@@ -838,10 +832,10 @@
             </div>
           </OptionCard>}
         <Divider className='my-5' />
-        <div className={'system-md-semibold mb-1 text-text-secondary'}>{t('datasetCreation.stepTwo.indexMode')}</div>
+        <div className={'system-md-semibold mb-1'}>{t('datasetCreation.stepTwo.indexMode')}</div>
         <div className='flex items-center gap-2'>
           {(!hasSetIndexType || (hasSetIndexType && indexingType === IndexingType.QUALIFIED)) && (
-            <OptionCard className='flex-1 self-stretch'
+            <OptionCard className='flex-1'
               title={<div className='flex items-center'>
                 {t('datasetCreation.stepTwo.qualified')}
                 <Badge className={cn('ml-1 h-[18px]', (!hasSetIndexType && indexType === IndexingType.QUALIFIED) ? 'border-text-accent-secondary text-text-accent-secondary' : '')} uppercase>
@@ -854,9 +848,10 @@
               description={t('datasetCreation.stepTwo.qualifiedTip')}
               icon={<Image src={indexMethodIcon.high_quality} alt='' />}
               isActive={!hasSetIndexType && indexType === IndexingType.QUALIFIED}
-              disabled={hasSetIndexType}
+              disabled={!isAPIKeySet || hasSetIndexType}
               onSwitched={() => {
-                setIndexType(IndexingType.QUALIFIED)
+                if (isAPIKeySet)
+                  setIndexType(IndexingType.QUALIFIED)
               }}
             />
           )}
@@ -864,11 +859,11 @@
           {(!hasSetIndexType || (hasSetIndexType && indexingType === IndexingType.ECONOMICAL)) && (
             <>
               <CustomDialog show={isQAConfirmDialogOpen} onClose={() => setIsQAConfirmDialogOpen(false)} className='w-[432px]'>
-                <header className='mb-4 pt-6'>
+                <header className='pt-6 mb-4'>
                   <h2 className='text-lg font-semibold'>
                     {t('datasetCreation.stepTwo.qaSwitchHighQualityTipTitle')}
                   </h2>
-                  <p className='mt-2 text-sm font-normal'>
+                  <p className='font-normal text-sm mt-2'>
                     {t('datasetCreation.stepTwo.qaSwitchHighQualityTipContent')}
                   </p>
                 </header>
@@ -894,20 +889,21 @@
                 placement={'top'}
               >
                 <PortalToFollowElemTrigger asChild>
-                  <OptionCard className='flex-1 self-stretch'
+                  <OptionCard className='flex-1'
                     title={t('datasetCreation.stepTwo.economical')}
                     description={t('datasetCreation.stepTwo.economicalTip')}
                     icon={<Image src={indexMethodIcon.economical} alt='' />}
                     isActive={!hasSetIndexType && indexType === IndexingType.ECONOMICAL}
-                    disabled={hasSetIndexType || docForm !== ChunkingMode.text}
+                    disabled={!isAPIKeySet || hasSetIndexType || docForm !== ChunkingMode.text}
                     ref={economyDomRef}
                     onSwitched={() => {
-                      setIndexType(IndexingType.ECONOMICAL)
+                      if (isAPIKeySet && docForm === ChunkingMode.text)
+                        setIndexType(IndexingType.ECONOMICAL)
                     }}
                   />
                 </PortalToFollowElemTrigger>
                 <PortalToFollowElemContent>
-                  <div className='rounded-lg border-components-panel-border bg-components-tooltip-bg p-3 text-xs font-medium text-text-secondary shadow-lg'>
+                  <div className='p-3 bg-components-tooltip-bg border-components-panel-border text-xs font-medium text-text-secondary rounded-lg shadow-lg'>
                     {
                       docForm === ChunkingMode.qa
                         ? t('datasetCreation.stepTwo.notAvailableForQA')
@@ -919,16 +915,16 @@
             </>)}
         </div>
         {!hasSetIndexType && indexType === IndexingType.QUALIFIED && (
-          <div className='mt-2 flex h-10 items-center gap-x-0.5 overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-2 shadow-xs backdrop-blur-[5px]'>
-            <div className='absolute bottom-0 left-0 right-0 top-0 bg-dataset-warning-message-bg opacity-40'></div>
+          <div className='mt-2 h-10 p-2 flex items-center gap-x-0.5 rounded-xl border-[0.5px] border-components-panel-border overflow-hidden bg-components-panel-bg-blur backdrop-blur-[5px] shadow-xs'>
+            <div className='absolute top-0 left-0 right-0 bottom-0 bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)] opacity-40'></div>
             <div className='p-1'>
               <AlertTriangle className='size-4 text-text-warning-secondary' />
             </div>
-            <span className='system-xs-medium text-text-primary'>{t('datasetCreation.stepTwo.highQualityTip')}</span>
+            <span className='system-xs-medium'>{t('datasetCreation.stepTwo.highQualityTip')}</span>
           </div>
         )}
         {hasSetIndexType && indexType === IndexingType.ECONOMICAL && (
-          <div className='system-xs-medium mt-2'>
+          <div className='mt-2 system-xs-medium'>
             {t('datasetCreation.stepTwo.indexSettingTip')}
             <Link className='text-text-accent' href={`/datasets/${datasetId}/settings`}>{t('datasetCreation.stepTwo.datasetSettingLink')}</Link>
           </div>
@@ -936,7 +932,7 @@
         {/* Embedding model */}
         {indexType === IndexingType.QUALIFIED && (
           <div className='mt-5'>
-            <div className={cn('system-md-semibold mb-1 text-text-secondary', datasetId && 'flex items-center justify-between')}>{t('datasetSettings.form.embeddingModel')}</div>
+            <div className={cn('system-md-semibold mb-1', datasetId && 'flex justify-between items-center')}>{t('datasetSettings.form.embeddingModel')}</div>
             <ModelSelector
               readonly={isModelAndRetrievalConfigDisabled}
               triggerClassName={isModelAndRetrievalConfigDisabled ? 'opacity-50' : ''}
@@ -947,7 +943,7 @@
               }}
             />
             {isModelAndRetrievalConfigDisabled && (
-              <div className='system-xs-medium mt-2 text-text-tertiary'>
+              <div className='mt-2 system-xs-medium'>
                 {t('datasetCreation.stepTwo.indexSettingTip')}
                 <Link className='text-text-accent' href={`/datasets/${datasetId}/settings`}>{t('datasetCreation.stepTwo.datasetSettingLink')}</Link>
               </div>
@@ -960,7 +956,7 @@
           {!isModelAndRetrievalConfigDisabled
             ? (
               <div className={'mb-1'}>
-                <div className='system-md-semibold mb-0.5 text-text-secondary'>{t('datasetSettings.form.retrievalSetting.title')}</div>
+                <div className='system-md-semibold mb-0.5'>{t('datasetSettings.form.retrievalSetting.title')}</div>
                 <div className='body-xs-regular text-text-tertiary'>
                   <a target='_blank' rel='noopener noreferrer' href='https://docs.dify.ai/guides/knowledge-base/create-knowledge-and-upload-documents#id-4-retrieval-settings' className='text-text-accent'>{t('datasetSettings.form.retrievalSetting.learnMore')}</a>
                   {t('datasetSettings.form.retrievalSetting.longDescription')}
@@ -968,7 +964,7 @@
               </div>
             )
             : (
-              <div className={cn('system-md-semibold mb-0.5 text-text-secondary', 'flex items-center justify-between')}>
+              <div className={cn('system-md-semibold mb-0.5', 'flex justify-between items-center')}>
                 <div>{t('datasetSettings.form.retrievalSetting.title')}</div>
               </div>
             )}
@@ -996,22 +992,22 @@
 
         {!isSetting
           ? (
-            <div className='mt-8 flex items-center py-2'>
+            <div className='flex items-center mt-8 py-2'>
               <Button onClick={() => onStepChange && onStepChange(-1)}>
-                <RiArrowLeftLine className='mr-1 h-4 w-4' />
+                <RiArrowLeftLine className='w-4 h-4 mr-1' />
                 {t('datasetCreation.stepTwo.previousStep')}
               </Button>
               <Button className='ml-auto' loading={isCreating} variant='primary' onClick={createHandle}>{t('datasetCreation.stepTwo.nextStep')}</Button>
             </div>
           )
           : (
-            <div className='mt-8 flex items-center py-2'>
+            <div className='flex items-center mt-8 py-2'>
               <Button loading={isCreating} variant='primary' onClick={createHandle}>{t('datasetCreation.stepTwo.save')}</Button>
               <Button className='ml-2' onClick={onCancel}>{t('datasetCreation.stepTwo.cancel')}</Button>
             </div>
           )}
       </div>
-      <FloatRightContainer isMobile={isMobile} isOpen={true} onClose={noop} footer={null}>
+      <FloatRightContainer isMobile={isMobile} isOpen={true} onClose={() => { }} footer={null}>
         <PreviewContainer
           header={<PreviewHeader
             title={t('datasetCreation.stepTwo.preview')}
@@ -1077,14 +1073,15 @@
               }
               {
                 currentDocForm !== ChunkingMode.qa
-                && <Badge text={t('datasetCreation.stepTwo.previewChunkCount', {
-                  count: estimate?.total_segments || 0,
-                }) as string}
+                && <Badge text={t(
+                  'datasetCreation.stepTwo.previewChunkCount', {
+                    count: estimate?.total_segments || 0,
+                  }) as string}
                 />
               }
             </div>
           </PreviewHeader>}
-          className={cn('relative flex h-full w-1/2 shrink-0 p-4 pr-0', isMobile && 'w-full max-w-[524px]')}
+          className={cn('flex shrink-0 w-1/2 p-4 pr-0 relative h-full', isMobile && 'w-full max-w-[524px]')}
           mainClassName='space-y-6'
         >
           {currentDocForm === ChunkingMode.qa && estimate?.qa_preview && (
@@ -1141,7 +1138,7 @@
             })
           )}
           {currentEstimateMutation.isIdle && (
-            <div className='flex h-full w-full items-center justify-center'>
+            <div className='h-full w-full flex items-center justify-center'>
               <div className='flex flex-col items-center justify-center gap-3'>
                 <RiSearchEyeLine className='size-10 text-text-empty-state-icon' />
                 <p className='text-sm text-text-tertiary'>
diff --git a/app/components/datasets/create/step-two/inputs.tsx b/app/components/datasets/create/step-two/inputs.tsx
index d6dc6e9..acd4e3a 100644
--- a/app/components/datasets/create/step-two/inputs.tsx
+++ b/app/components/datasets/create/step-two/inputs.tsx
@@ -7,11 +7,11 @@
 import { InputNumber } from '@/app/components/base/input-number'
 
 const TextLabel: FC<PropsWithChildren> = (props) => {
-  return <label className='text-xs font-semibold leading-none text-text-secondary'>{props.children}</label>
+  return <label className='text-text-secondary text-xs font-semibold leading-none'>{props.children}</label>
 }
 
 const FormField: FC<PropsWithChildren<{ label: ReactNode }>> = (props) => {
-  return <div className='flex-1 space-y-2'>
+  return <div className='space-y-2 flex-1'>
     <TextLabel>{props.label}</TextLabel>
     {props.children}
   </div>
@@ -19,7 +19,7 @@
 
 export const DelimiterInput: FC<InputProps & { tooltip?: string }> = (props) => {
   const { t } = useTranslation()
-  return <FormField label={<div className='mb-1 flex items-center'>
+  return <FormField label={<div className='flex items-center mb-1'>
     <span className='system-sm-semibold mr-0.5'>{t('datasetCreation.stepTwo.separator')}</span>
     <Tooltip
       popupContent={
@@ -39,7 +39,7 @@
 }
 
 export const MaxLengthInput: FC<InputNumberProps> = (props) => {
-  const maxValue = Number.parseInt(globalThis.document?.body?.getAttribute('data-public-indexing-max-segmentation-tokens-length') || '4000', 10)
+  const maxValue = parseInt(globalThis.document?.body?.getAttribute('data-public-indexing-max-segmentation-tokens-length') || '4000', 10)
 
   const { t } = useTranslation()
   return <FormField label={<div className='system-sm-semibold mb-1'>
@@ -47,7 +47,7 @@
   </div>}>
     <InputNumber
       type="number"
-      size='large'
+      className='h-9'
       placeholder={`鈮� ${maxValue}`}
       max={maxValue}
       min={1}
@@ -58,7 +58,7 @@
 
 export const OverlapInput: FC<InputNumberProps> = (props) => {
   const { t } = useTranslation()
-  return <FormField label={<div className='mb-1 flex items-center'>
+  return <FormField label={<div className='flex items-center mb-1'>
     <span className='system-sm-semibold'>{t('datasetCreation.stepTwo.overlap')}</span>
     <Tooltip
       popupContent={
@@ -70,7 +70,7 @@
   </div>}>
     <InputNumber
       type="number"
-      size='large'
+      className='h-9'
       placeholder={t('datasetCreation.stepTwo.overlap') || ''}
       min={1}
       {...props}
diff --git a/app/components/datasets/create/step-two/language-select/index.tsx b/app/components/datasets/create/step-two/language-select/index.tsx
index 0e6bae9..9cbf1a4 100644
--- a/app/components/datasets/create/step-two/language-select/index.tsx
+++ b/app/components/datasets/create/step-two/language-select/index.tsx
@@ -28,10 +28,10 @@
           {languages.filter(language => language.supported).map(({ prompt_name }) => (
             <div
               key={prompt_name}
-              className='inline-flex w-full cursor-pointer items-center justify-between rounded-lg px-3 py-2 hover:bg-state-base-hover'
+              className='w-full py-2 px-3 inline-flex items-center justify-between hover:bg-state-base-hover rounded-lg cursor-pointer'
               onClick={() => onSelect(prompt_name)}
             >
-              <span className='system-sm-medium text-text-secondary'>{prompt_name}</span>
+              <span className='text-text-secondary system-sm-medium'>{prompt_name}</span>
               {(currentLanguage === prompt_name) && <RiCheckLine className='size-4 text-text-accent' />}
             </div>
           ))}
@@ -40,7 +40,7 @@
       btnElement={
         <div className={cn('inline-flex items-center gap-x-[1px]', disabled && 'cursor-not-allowed')}>
           <span className={cn(
-            'system-xs-semibold px-[3px] text-components-button-tertiary-text',
+            'px-[3px] system-xs-semibold text-components-button-tertiary-text',
             disabled ? 'text-components-button-tertiary-text-disabled' : '',
           )}>
             {currentLanguage}
@@ -52,10 +52,10 @@
         </div>
       }
       btnClassName={() => cn(
-        '!hover:bg-components-button-tertiary-bg !mx-1 rounded-md !border-0 !bg-components-button-tertiary-bg !px-1.5 !py-1',
+        '!border-0 rounded-md !px-1.5 !py-1 !mx-1 !bg-components-button-tertiary-bg !hover:bg-components-button-tertiary-bg',
         disabled ? 'bg-components-button-tertiary-bg-disabled' : '',
       )}
-      className='!left-1 !z-20 h-fit !w-[140px] !translate-x-0'
+      className='!w-[140px] h-fit !z-20 !translate-x-0 !left-1'
     />
   )
 }
diff --git a/app/components/datasets/create/step-two/option-card.tsx b/app/components/datasets/create/step-two/option-card.tsx
index 6bfe538..57ed50d 100644
--- a/app/components/datasets/create/step-two/option-card.tsx
+++ b/app/components/datasets/create/step-two/option-card.tsx
@@ -1,4 +1,4 @@
-import type { ComponentProps, FC, ReactNode } from 'react'
+import { type ComponentProps, type FC, type ReactNode, forwardRef } from 'react'
 import Image from 'next/image'
 import classNames from '@/utils/classnames'
 
@@ -25,20 +25,20 @@
     isActive && activeClassName,
     !disabled && 'cursor-pointer',
   )}>
-    <div className='relative flex size-14 items-center justify-center overflow-hidden'>
-      {isActive && effectImg && <Image src={effectImg} className='absolute left-0 top-0 h-full w-full' alt='' width={56} height={56} />}
+    <div className='size-14 flex items-center justify-center relative overflow-hidden'>
+      {isActive && effectImg && <Image src={effectImg} className='absolute top-0 left-0 w-full h-full' alt='' width={56} height={56} />}
       <div className='p-1'>
-        <div className='flex size-8 justify-center rounded-lg border border-components-panel-border-subtle bg-background-default-dodge p-1.5 shadow-md'>
+        <div className='size-8 rounded-lg border p-1.5 shadow-md border-components-panel-border-subtle justify-center flex bg-background-default-dodge'>
           {icon}
         </div>
       </div>
     </div>
     <TriangleArrow
-      className={classNames('absolute left-4 -bottom-1.5 text-transparent', isActive && 'text-components-panel-bg')}
+      className='absolute left-4 -bottom-1.5 text-components-panel-bg'
     />
     <div className='flex-1 space-y-0.5 py-3 pr-4'>
-      <div className='system-md-semibold text-text-secondary'>{title}</div>
-      <div className='system-xs-regular text-text-tertiary'>{description}</div>
+      <div className='text-text-secondary system-md-semibold'>{title}</div>
+      <div className='text-text-tertiary system-xs-regular'>{description}</div>
     </div>
   </div>
 }
@@ -57,12 +57,7 @@
   disabled?: boolean
 } & Omit<ComponentProps<'div'>, 'title' | 'onClick'>
 
-export const OptionCard: FC<OptionCardProps> = (
-  {
-    ref,
-    ...props
-  },
-) => {
+export const OptionCard: FC<OptionCardProps> = forwardRef((props, ref) => {
   const { icon, className, title, description, isActive, children, actions, activeHeaderClassName, style, effectImg, onSwitched, noHighlight, disabled, ...rest } = props
   return <div
     className={classNames(
@@ -93,14 +88,14 @@
       disabled={disabled}
     />
     {/** Body */}
-    {isActive && (children || actions) && <div className='rounded-b-xl bg-components-panel-bg px-4 py-3'>
+    {isActive && (children || actions) && <div className='py-3 px-4 bg-components-panel-bg rounded-b-xl'>
       {children}
-      {actions && <div className='mt-4 flex gap-2'>
+      {actions && <div className='flex gap-2 mt-4'>
         {actions}
       </div>
       }
     </div>}
   </div>
-}
+})
 
 OptionCard.displayName = 'OptionCard'
diff --git a/app/components/datasets/create/step-two/preview-item/index.tsx b/app/components/datasets/create/step-two/preview-item/index.tsx
index 7c6c920..56102b6 100644
--- a/app/components/datasets/create/step-two/preview-item/index.tsx
+++ b/app/components/datasets/create/step-two/preview-item/index.tsx
@@ -44,9 +44,9 @@
   const formattedIndex = (() => String(index).padStart(3, '0'))()
 
   return (
-    <div className='rounded-xl bg-gray-50 p-4'>
-      <div className='flex h-5 items-center justify-between text-xs text-gray-500'>
-        <div className='box-border flex h-[18px] items-center space-x-1 rounded-md border border-gray-200 pl-1 pr-1.5 font-medium italic'>
+    <div className='p-4 rounded-xl bg-gray-50'>
+      <div className='flex items-center justify-between h-5 text-xs text-gray-500'>
+        <div className='flex items-center h-[18px] space-x-1 border border-gray-200 box-border rounded-md italic pl-1 pr-1.5 font-medium'>
           {sharpIcon}
           <span>{formattedIndex}</span>
         </div>
@@ -55,18 +55,18 @@
           <span>{charNums} {t('datasetCreation.stepTwo.characters')}</span>
         </div>
       </div>
-      <div className='mt-2 line-clamp-6 max-h-[120px] overflow-hidden text-sm text-gray-800'>
+      <div className='mt-2 max-h-[120px] line-clamp-6 overflow-hidden text-sm text-gray-800'>
         {type === PreviewType.TEXT && (
           <div style={{ whiteSpace: 'pre-line' }}>{content}</div>
         )}
         {type === PreviewType.QA && (
           <div style={{ whiteSpace: 'pre-line' }}>
             <div className='flex'>
-              <div className='text-medium mr-2 shrink-0 text-gray-400'>Q</div>
+              <div className='shrink-0 mr-2 text-medium text-gray-400'>Q</div>
               <div style={{ whiteSpace: 'pre-line' }}>{qa?.question}</div>
             </div>
             <div className='flex'>
-              <div className='text-medium mr-2 shrink-0 text-gray-400'>A</div>
+              <div className='shrink-0 mr-2 text-medium text-gray-400'>A</div>
               <div style={{ whiteSpace: 'pre-line' }}>{qa?.answer}</div>
             </div>
           </div>
diff --git a/app/components/datasets/create/step-two/unescape.ts b/app/components/datasets/create/step-two/unescape.ts
index fae3e96..5c0f9e4 100644
--- a/app/components/datasets/create/step-two/unescape.ts
+++ b/app/components/datasets/create/step-two/unescape.ts
@@ -31,8 +31,8 @@
   '\\': '\\',
 }
 
-const fromHex = (str: string) => String.fromCodePoint(Number.parseInt(str, 16))
-const fromOct = (str: string) => String.fromCodePoint(Number.parseInt(str, 8))
+const fromHex = (str: string) => String.fromCodePoint(parseInt(str, 16))
+const fromOct = (str: string) => String.fromCodePoint(parseInt(str, 8))
 
 const unescape = (str: string) => {
   return str.replace(jsEscapeRegex, (_, __, varHex, longHex, shortHex, octal, specialCharacter, python) => {
diff --git a/app/components/datasets/create/stepper/index.tsx b/app/components/datasets/create/stepper/index.tsx
index 8882ec6..317c1a7 100644
--- a/app/components/datasets/create/stepper/index.tsx
+++ b/app/components/datasets/create/stepper/index.tsx
@@ -19,7 +19,7 @@
             activeIndex={activeIndex}
             index={index}
           />
-          {!isLast && <div className='h-px w-4 bg-divider-deep' />}
+          {!isLast && <div className='w-4 h-px bg-divider-deep' />}
         </Fragment>
       )
     })}
diff --git a/app/components/datasets/create/stepper/step.tsx b/app/components/datasets/create/stepper/step.tsx
index 91e9c71..c230de1 100644
--- a/app/components/datasets/create/stepper/step.tsx
+++ b/app/components/datasets/create/stepper/step.tsx
@@ -17,12 +17,12 @@
   const label = isActive ? `STEP ${index + 1}` : `${index + 1}`
   return <div className='flex items-center gap-2'>
     <div className={classNames(
-      'h-5 py-1 rounded-3xl flex-col justify-center items-center gap-2 inline-flex',
+      'h-5 px-2 py-1 rounded-3xl flex-col justify-center items-center gap-2 inline-flex',
       isActive
-        ? 'px-2 bg-state-accent-solid'
+        ? 'bg-state-accent-solid'
         : !isDisabled
-          ? 'w-5 border border-text-quaternary'
-          : 'w-5 border border-divider-deep',
+          ? 'border border-text-quaternary'
+          : 'border border-divider-deep',
     )}>
       <div className={classNames(
         'text-center system-2xs-semibold-uppercase',
diff --git a/app/components/datasets/create/steps-nav-bar/index.module.css b/app/components/datasets/create/steps-nav-bar/index.module.css
new file mode 100644
index 0000000..965b151
--- /dev/null
+++ b/app/components/datasets/create/steps-nav-bar/index.module.css
@@ -0,0 +1,107 @@
+.stepsHeader {
+  @apply flex items-center px-6 py-6;
+  color: #344054;
+  font-weight: 600;
+  font-size: 14px;
+  line-height: 20px;
+}
+.navBack {
+  @apply box-border flex justify-center items-center mr-3 w-8 h-8 bg-white bg-center bg-no-repeat cursor-pointer hover:border-gray-300;
+  border: 0.5px solid #F2F4F7;
+  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
+  border-radius: 32px;
+  background-image: url(../assets/arrow-narrow-left.svg);
+  background-size: 16px;
+}
+.stepList {
+  @apply p-4 relative;
+  line-height: 18px;
+}
+
+.stepItem {
+  @apply relative flex justify-items-start pt-3 pr-0 pb-3 box-content;
+  padding-left: 52px;
+  font-size: 13px;
+  height: 18px;
+}
+
+.stepItem.step1::before {
+  content: '';
+  position: absolute;
+  bottom: 0;
+  left: 23px;
+  width: 2px;
+  height: 7px;
+  background-color: #f2f4f7;
+}
+
+.stepItem.step2::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 23px;
+  width: 2px;
+  height: 100%;
+  background-color: #f2f4f7;
+}
+.stepItem.step2::after {
+  content: '';
+  position: absolute;
+  top: 6px;
+  left: 23px;
+  width: 2px;
+  height: 28px;
+  background-color: #fff;
+}
+
+.stepItem.step3::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 23px;
+  width: 2px;
+  height: 7px;
+  background-color: #f2f4f7;
+}
+
+.stepNum {
+  @apply box-border absolute top-2 left-3 flex justify-center items-center  w-6 h-6;
+  color: #98a2b3;
+  font-size: 12px;
+  border: 1px solid #F2F4F7;
+  border-radius: 24px;
+  z-index: 1;
+}
+
+.stepName {
+  color: #98a2b3;
+}
+
+.stepItem.active .stepNum {
+  color: #1c64f2;
+  background-color: #EFF4FF;
+  border: none;
+}
+
+.stepItem.active .stepName {
+  color: #1c64f2;
+}
+
+.stepItem.done .stepNum {
+  color: #667085;
+  background-color: #f2f4f7;
+  border: none;
+}
+
+.stepItem.done .stepNum::after {
+  content: '';
+  display: flex;
+  width: 12px;
+  height: 12px;
+  background: center no-repeat url(../assets/check.svg);
+  background-size: 12px;
+}
+
+.stepItem.done .stepName {
+  color: #667085;
+}
diff --git a/app/components/datasets/create/steps-nav-bar/index.tsx b/app/components/datasets/create/steps-nav-bar/index.tsx
new file mode 100644
index 0000000..b676f3a
--- /dev/null
+++ b/app/components/datasets/create/steps-nav-bar/index.tsx
@@ -0,0 +1,61 @@
+'use client'
+import { useTranslation } from 'react-i18next'
+import { useRouter } from 'next/navigation'
+
+import { useCallback } from 'react'
+import s from './index.module.css'
+import cn from '@/utils/classnames'
+import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
+
+type IStepsNavBarProps = {
+  step: number
+  datasetId?: string
+}
+
+const STEP_T_MAP: Record<number, string> = {
+  1: 'datasetCreation.steps.one',
+  2: 'datasetCreation.steps.two',
+  3: 'datasetCreation.steps.three',
+}
+
+const STEP_LIST = [1, 2, 3]
+
+const StepsNavBar = ({
+  step,
+  datasetId,
+}: IStepsNavBarProps) => {
+  const { t } = useTranslation()
+  const router = useRouter()
+
+  const media = useBreakpoints()
+  const isMobile = media === MediaType.mobile
+
+  const navBackHandle = useCallback(() => {
+    if (!datasetId)
+      router.replace('/datasets')
+    else
+      router.replace(`/datasets/${datasetId}/documents`)
+  }, [router, datasetId])
+
+  return (
+    <div className='w-full pt-4'>
+      <div className={cn(s.stepsHeader, isMobile && '!px-0 justify-center')}>
+        <div onClick={navBackHandle} className={cn(s.navBack, isMobile && '!mr-0')} />
+        {!isMobile && (!datasetId ? t('datasetCreation.steps.header.creation') : t('datasetCreation.steps.header.update'))}
+      </div>
+      <div className={cn(s.stepList, isMobile && '!p-0')}>
+        {STEP_LIST.map(item => (
+          <div
+            key={item}
+            className={cn(s.stepItem, s[`step${item}`], step === item && s.active, step > item && s.done, isMobile && 'px-0')}
+          >
+            <div className={cn(s.stepNum)}>{step > item ? '' : item}</div>
+            <div className={cn(s.stepName)}>{isMobile ? '' : t(STEP_T_MAP[item])}</div>
+          </div>
+        ))}
+      </div>
+    </div>
+  )
+}
+
+export default StepsNavBar
diff --git a/app/components/datasets/create/stop-embedding-modal/index.tsx b/app/components/datasets/create/stop-embedding-modal/index.tsx
index 9d29187..929b581 100644
--- a/app/components/datasets/create/stop-embedding-modal/index.tsx
+++ b/app/components/datasets/create/stop-embedding-modal/index.tsx
@@ -35,7 +35,7 @@
       <div className={s.title}>{t('datasetCreation.stepThree.modelTitle')}</div>
       <div className={s.content}>{t('datasetCreation.stepThree.modelContent')}</div>
       <div className='flex flex-row-reverse'>
-        <Button className='ml-2 w-24' variant='primary' onClick={submit}>{t('datasetCreation.stepThree.modelButtonConfirm')}</Button>
+        <Button className='w-24 ml-2' variant='primary' onClick={submit}>{t('datasetCreation.stepThree.modelButtonConfirm')}</Button>
         <Button className='w-24' onClick={onHide}>{t('datasetCreation.stepThree.modelButtonCancel')}</Button>
       </div>
     </Modal>
diff --git a/app/components/datasets/create/top-bar/index.tsx b/app/components/datasets/create/top-bar/index.tsx
index c5d8921..20ba715 100644
--- a/app/components/datasets/create/top-bar/index.tsx
+++ b/app/components/datasets/create/top-bar/index.tsx
@@ -1,13 +1,12 @@
-import { type FC, useMemo } from 'react'
+import type { FC } from 'react'
 import { RiArrowLeftLine } from '@remixicon/react'
 import Link from 'next/link'
 import { useTranslation } from 'react-i18next'
 import { Stepper, type StepperProps } from '../stepper'
 import classNames from '@/utils/classnames'
 
-export type TopBarProps = Pick<StepperProps, 'activeIndex'> & {
+export type TopbarProps = Pick<StepperProps, 'activeIndex'> & {
   className?: string
-  datasetId?: string
 }
 
 const STEP_T_MAP: Record<number, string> = {
@@ -16,25 +15,20 @@
   3: 'datasetCreation.steps.three',
 }
 
-export const TopBar: FC<TopBarProps> = (props) => {
-  const { className, datasetId, ...rest } = props
+export const Topbar: FC<TopbarProps> = (props) => {
+  const { className, ...rest } = props
   const { t } = useTranslation()
-
-  const fallbackRoute = useMemo(() => {
-    return datasetId ? `/datasets/${datasetId}/documents` : '/datasets'
-  }, [datasetId])
-
   return <div className={classNames('flex shrink-0 h-[52px] items-center justify-between relative border-b border-b-divider-subtle', className)}>
-    <Link href={fallbackRoute} replace className="inline-flex h-12 items-center justify-start gap-1 py-2 pl-2 pr-6">
+    <Link href={'/datasets'} className="h-12 pl-2 pr-6 py-2 justify-start items-center gap-1 inline-flex">
       <div className='p-2'>
         <RiArrowLeftLine className='size-4 text-text-primary' />
       </div>
-      <p className="system-sm-semibold-uppercase text-text-primary">
-        {t('datasetCreation.steps.header.fallbackRoute')}
+      <p className="text-text-primary system-sm-semibold-uppercase">
+        {t('datasetCreation.steps.header.creation')}
       </p>
     </Link>
     <div className={
-      'absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2'
+      'top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 absolute'
     }>
       <Stepper
         steps={Array.from({ length: 3 }, (_, i) => ({
diff --git a/app/components/datasets/create/website/base/checkbox-with-label.tsx b/app/components/datasets/create/website/base/checkbox-with-label.tsx
index f5451af..25d40fe 100644
--- a/app/components/datasets/create/website/base/checkbox-with-label.tsx
+++ b/app/components/datasets/create/website/base/checkbox-with-label.tsx
@@ -23,9 +23,9 @@
   tooltip,
 }) => {
   return (
-    <label className={cn(className, 'flex h-7 items-center space-x-2')}>
+    <label className={cn(className, 'flex items-center h-7 space-x-2')}>
       <Checkbox checked={isChecked} onCheck={() => onChange(!isChecked)} />
-      <div className={cn('text-sm font-normal text-text-secondary', labelClassName)}>{label}</div>
+      <div className={cn(labelClassName, 'text-sm font-normal text-gray-800')}>{label}</div>
       {tooltip && (
         <Tooltip
           popupContent={
diff --git a/app/components/datasets/create/website/base/crawled-result-item.tsx b/app/components/datasets/create/website/base/crawled-result-item.tsx
index 8ea316f..5531d3e 100644
--- a/app/components/datasets/create/website/base/crawled-result-item.tsx
+++ b/app/components/datasets/create/website/base/crawled-result-item.tsx
@@ -5,7 +5,6 @@
 import cn from '@/utils/classnames'
 import type { CrawlResultItem as CrawlResultItemType } from '@/models/datasets'
 import Checkbox from '@/app/components/base/checkbox'
-import Button from '@/app/components/base/button'
 
 type Props = {
   payload: CrawlResultItemType
@@ -28,32 +27,13 @@
     onCheckChange(!isChecked)
   }, [isChecked, onCheckChange])
   return (
-    <div className={cn(isPreview ? 'bg-state-base-active' : 'group hover:bg-state-base-hover', 'cursor-pointer rounded-lg p-2')}>
-      <div className='relative flex'>
-        <div className='flex h-5 items-center'>
-          <Checkbox className='mr-2 shrink-0' checked={isChecked} onCheck={handleCheckChange} />
-        </div>
-        <div className='flex min-w-0 grow flex-col'>
-          <div
-            className='truncate text-sm font-medium text-text-secondary'
-            title={payload.title}
-          >
-            {payload.title}
-          </div>
-          <div
-            className='mt-0.5 truncate text-xs text-text-tertiary'
-            title={payload.source_url}
-          >
-            {payload.source_url}
-          </div>
-        </div>
-        <Button
-          onClick={onPreview}
-          className='right-0 top-0 hidden h-6 px-1.5 text-xs font-medium uppercase group-hover:absolute group-hover:block'
-        >
-          {t('datasetCreation.stepOne.website.preview')}
-        </Button>
+    <div className={cn(isPreview ? 'border-[#D1E0FF] bg-primary-50 shadow-xs' : 'group hover:bg-gray-100', 'rounded-md px-2 py-[5px] cursor-pointer border border-transparent')}>
+      <div className='flex items-center h-5'>
+        <Checkbox className='group-hover:border-2 group-hover:border-primary-600 mr-2 shrink-0' checked={isChecked} onCheck={handleCheckChange} />
+        <div className='grow w-0 truncate text-sm font-medium text-gray-700' title={payload.title}>{payload.title}</div>
+        <div onClick={onPreview} className='hidden group-hover:flex items-center h-6 px-2 text-xs rounded-md font-medium text-gray-500 uppercase hover:bg-gray-50'>{t('datasetCreation.stepOne.website.preview')}</div>
       </div>
+      <div className='mt-0.5 truncate pl-6 leading-[18px] text-xs font-normal text-gray-500' title={payload.source_url}>{payload.source_url}</div>
     </div>
   )
 }
diff --git a/app/components/datasets/create/website/base/crawled-result.tsx b/app/components/datasets/create/website/base/crawled-result.tsx
index c168405..d5c8d1b 100644
--- a/app/components/datasets/create/website/base/crawled-result.tsx
+++ b/app/components/datasets/create/website/base/crawled-result.tsx
@@ -57,19 +57,17 @@
   }, [list, onPreview])
 
   return (
-    <div className={cn(className, 'border-t-[0.5px] border-divider-regular shadow-xs shadow-shadow-shadow-3')}>
-      <div className='flex h-[34px] items-center justify-between px-4'>
+    <div className={cn(className, 'border-t border-gray-200')}>
+      <div className='flex items-center justify-between h-[34px] px-4 bg-gray-50 shadow-xs border-b-[0.5px] border-black/8 text-xs font-normal text-gray-700'>
         <CheckboxWithLabel
           isChecked={isCheckAll}
           onChange={handleCheckedAll} label={isCheckAll ? t(`${I18N_PREFIX}.resetAll`) : t(`${I18N_PREFIX}.selectAll`)}
-          labelClassName='system-[13px] leading-[16px] font-medium text-text-secondary'
+          labelClassName='!font-medium'
         />
-        <div className='text-xs text-text-tertiary'>
-          {t(`${I18N_PREFIX}.scrapTimeInfo`, {
-            total: list.length,
-            time: usedTime.toFixed(1),
-          })}
-        </div>
+        <div>{t(`${I18N_PREFIX}.scrapTimeInfo`, {
+          total: list.length,
+          time: usedTime.toFixed(1),
+        })}</div>
       </div>
       <div className='p-2'>
         {list.map((item, index) => (
diff --git a/app/components/datasets/create/website/base/crawling.tsx b/app/components/datasets/create/website/base/crawling.tsx
index 915f17d..ee26e76 100644
--- a/app/components/datasets/create/website/base/crawling.tsx
+++ b/app/components/datasets/create/website/base/crawling.tsx
@@ -2,6 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
+import cn from '@/utils/classnames'
 import { RowStruct } from '@/app/components/base/icons/src/public/other'
 
 type Props = {
@@ -18,16 +19,15 @@
   const { t } = useTranslation()
 
   return (
-    <div className={className}>
-      <div className='flex h-[34px] items-center border-y-[0.5px] border-divider-regular px-4
-        text-xs text-text-tertiary shadow-xs shadow-shadow-shadow-3'>
+    <div className={cn(className, 'border-t border-gray-200')}>
+      <div className='flex items-center h-[34px] px-4 bg-gray-50 shadow-xs border-b-[0.5px] border-black/8 text-xs font-normal text-gray-700'>
         {t('datasetCreation.stepOne.website.totalPageScraped')} {crawledNum}/{totalNum}
       </div>
 
       <div className='p-2'>
         {['', '', '', ''].map((item, index) => (
           <div className='py-[5px]' key={index}>
-            <RowStruct className='text-text-quaternary' />
+            <RowStruct />
           </div>
         ))}
       </div>
diff --git a/app/components/datasets/create/website/base/error-message.tsx b/app/components/datasets/create/website/base/error-message.tsx
index 2788eb9..f061c46 100644
--- a/app/components/datasets/create/website/base/error-message.tsx
+++ b/app/components/datasets/create/website/base/error-message.tsx
@@ -16,13 +16,13 @@
   errorMsg,
 }) => {
   return (
-    <div className={cn(className, 'border-t border-divider-subtle bg-dataset-warning-message-bg px-4 py-2 opacity-40')}>
-      <div className='flex h-5 items-center'>
-        <AlertTriangle className='mr-2 h-4 w-4 text-text-warning-secondary' />
-        <div className='system-md-medium text-text-warning'>{title}</div>
+    <div className={cn(className, 'py-2 px-4 border-t border-gray-200 bg-[#FFFAEB]')}>
+      <div className='flex items-center h-5'>
+        <AlertTriangle className='mr-2 w-4 h-4 text-text-warning-secondary' />
+        <div className='text-sm font-medium text-[#DC6803]'>{title}</div>
       </div>
       {errorMsg && (
-        <div className='system-xs-regular mt-1 pl-6 text-text-secondary'>{errorMsg}</div>
+        <div className='mt-1 pl-6 leading-[18px] text-xs font-normal text-gray-700'>{errorMsg}</div>
       )}
     </div>
   )
diff --git a/app/components/datasets/create/website/base/field.tsx b/app/components/datasets/create/website/base/field.tsx
index 43d7646..5b5ca90 100644
--- a/app/components/datasets/create/website/base/field.tsx
+++ b/app/components/datasets/create/website/base/field.tsx
@@ -31,8 +31,8 @@
   return (
     <div className={cn(className)}>
       <div className='flex py-[7px]'>
-        <div className={cn(labelClassName, 'flex h-[16px] items-center text-[13px] font-semibold text-text-secondary')}>{label} </div>
-        {isRequired && <span className='ml-0.5 text-xs font-semibold text-text-destructive'>*</span>}
+        <div className={cn(labelClassName, 'flex items-center h-[18px] text-[13px] font-medium text-gray-900')}>{label} </div>
+        {isRequired && <span className='ml-0.5 text-xs font-semibold text-[#D92D20]'>*</span>}
         {tooltip && (
           <Tooltip
             popupContent={
diff --git a/app/components/datasets/create/website/base/input.tsx b/app/components/datasets/create/website/base/input.tsx
index ae47111..7d2d2b6 100644
--- a/app/components/datasets/create/website/base/input.tsx
+++ b/app/components/datasets/create/website/base/input.tsx
@@ -20,7 +20,7 @@
   const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
     const value = e.target.value
     if (isNumber) {
-      let numberValue = Number.parseInt(value, 10) // integer only
+      let numberValue = parseInt(value, 10) // integer only
       if (isNaN(numberValue)) {
         onChange('')
         return
@@ -50,12 +50,7 @@
       {...otherOption}
       value={value}
       onChange={handleChange}
-      className='system-xs-regular focus:bg-components-inout-border-active flex h-8 w-full rounded-lg border border-transparent
-      bg-components-input-bg-normal p-2 text-components-input-text-filled
-        caret-[#295eff] placeholder:text-components-input-text-placeholder hover:border
-        hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border focus:border-components-input-border-active
-        focus:shadow-xs focus:shadow-shadow-shadow-3
-        focus-visible:outline-none'
+      className='flex h-9 w-full py-1 px-2 rounded-lg text-xs leading-normal bg-gray-100 caret-primary-600 hover:bg-gray-100 focus:ring-1 focus:ring-inset focus:ring-gray-200 focus-visible:outline-none focus:bg-gray-50 placeholder:text-gray-400'
       placeholder={placeholder}
     />
   )
diff --git a/app/components/datasets/create/website/base/options-wrap.tsx b/app/components/datasets/create/website/base/options-wrap.tsx
index 8e9181b..652401a 100644
--- a/app/components/datasets/create/website/base/options-wrap.tsx
+++ b/app/components/datasets/create/website/base/options-wrap.tsx
@@ -3,8 +3,8 @@
 import type { FC } from 'react'
 import React, { useEffect } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiEqualizer2Line } from '@remixicon/react'
 import cn from '@/utils/classnames'
+import { Settings04 } from '@/app/components/base/icons/src/vender/line/general'
 import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
 const I18N_PREFIX = 'datasetCreation.stepOne.website'
 
@@ -34,14 +34,14 @@
   return (
     <div className={cn(className, !fold ? 'mb-0' : 'mb-3')}>
       <div
-        className='flex h-[26px] cursor-pointer select-none items-center gap-x-1 py-1'
+        className='flex justify-between items-center h-[26px] py-1 cursor-pointer select-none'
         onClick={foldToggle}
       >
-        <div className='flex grow items-center'>
-          <RiEqualizer2Line className='mr-1 h-4 w-4 text-text-secondary' />
-          <span className='text-[13px] font-semibold uppercase leading-[16px] text-text-secondary'>{t(`${I18N_PREFIX}.options`)}</span>
+        <div className='flex items-center text-gray-700'>
+          <Settings04 className='mr-1 w-4 h-4' />
+          <div className='text-[13px] font-semibold text-gray-800 uppercase'>{t(`${I18N_PREFIX}.options`)}</div>
         </div>
-        <ChevronRight className={cn(!fold && 'rotate-90', 'h-4 w-4 shrink-0 text-text-tertiary')} />
+        <ChevronRight className={cn(!fold && 'rotate-90', 'w-4 h-4 text-gray-500')} />
       </div>
       {!fold && (
         <div className='mb-4'>
diff --git a/app/components/datasets/create/website/base/url-input.tsx b/app/components/datasets/create/website/base/url-input.tsx
index b7dc9bf..e6b0475 100644
--- a/app/components/datasets/create/website/base/url-input.tsx
+++ b/app/components/datasets/create/website/base/url-input.tsx
@@ -28,7 +28,7 @@
   }, [isRunning, onRun, url])
 
   return (
-    <div className='flex items-center justify-between gap-x-2'>
+    <div className='flex items-center justify-between'>
       <Input
         value={url}
         onChange={handleUrlChange}
@@ -37,8 +37,8 @@
       <Button
         variant='primary'
         onClick={handleOnRun}
+        className='ml-2'
         loading={isRunning}
-        spinnerClassName='!ml-0'
       >
         {!isRunning ? t(`${I18N_PREFIX}.run`) : ''}
       </Button>
diff --git a/app/components/datasets/create/website/firecrawl/header.tsx b/app/components/datasets/create/website/firecrawl/header.tsx
index d23c57f..c06b816 100644
--- a/app/components/datasets/create/website/firecrawl/header.tsx
+++ b/app/components/datasets/create/website/firecrawl/header.tsx
@@ -2,8 +2,8 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiBookOpenLine, RiEqualizer2Line } from '@remixicon/react'
-import Button from '@/app/components/base/button'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
+import { BookOpen01 } from '@/app/components/base/icons/src/vender/line/education'
 
 const I18N_PREFIX = 'datasetCreation.stepOne.website'
 
@@ -19,23 +19,22 @@
   return (
     <div className='flex h-6 items-center justify-between'>
       <div className='flex items-center'>
-        <div className='text-base font-medium text-text-secondary'>{t(`${I18N_PREFIX}.firecrawlTitle`)}</div>
-        <div className='ml-2 mr-2 h-3.5 w-px bg-divider-regular' />
-        <Button className='flex h-6 items-center gap-x-[1px] px-1.5' onClick={onSetting}>
-          <RiEqualizer2Line className='h-3.5 w-3.5 text-components-button-secondary-text' />
-          <span className='px-[3px] text-xs font-medium text-components-button-secondary-text'>
-            {t(`${I18N_PREFIX}.configureFirecrawl`)}
-          </span>
-        </Button>
+        <div className='text-base font-medium text-gray-700'>{t(`${I18N_PREFIX}.firecrawlTitle`)}</div>
+        <div className='ml-2 mr-1 w-px h-3.5 bg-gray-200'></div>
+        <div
+          className='p-1 rounded-md hover:bg-black/5 cursor-pointer'
+          onClick={onSetting}
+        >
+          <Settings01 className='w-3.5 h-3.5 text-gray-500' />
+        </div>
       </div>
       <a
         href='https://docs.firecrawl.dev/introduction'
-        target='_blank'
-        rel='noopener noreferrer'
-        className='inline-flex items-center gap-x-1 text-xs font-medium text-text-accent'
+        target='_blank' rel='noopener noreferrer'
+        className='flex items-center text-xs text-primary-600'
       >
-        <RiBookOpenLine className='h-3.5 w-3.5 text-text-accent' />
-        <span>{t(`${I18N_PREFIX}.firecrawlDoc`)}</span>
+        <BookOpen01 className='mr-1 w-3.5 h-3.5 text-primary-600' />
+        {t(`${I18N_PREFIX}.firecrawlDoc`)}
       </a>
     </div>
   )
diff --git a/app/components/datasets/create/website/firecrawl/index.tsx b/app/components/datasets/create/website/firecrawl/index.tsx
index 77f9666..aa4dffc 100644
--- a/app/components/datasets/create/website/firecrawl/index.tsx
+++ b/app/components/datasets/create/website/firecrawl/index.tsx
@@ -9,6 +9,7 @@
 import ErrorMessage from '../base/error-message'
 import Header from './header'
 import Options from './options'
+import cn from '@/utils/classnames'
 import { useModalContext } from '@/context/modal-context'
 import type { CrawlOptions, CrawlResultItem } from '@/models/datasets'
 import Toast from '@/app/components/base/toast'
@@ -98,7 +99,7 @@
           isError: false,
           data: {
             ...res,
-            total: Math.min(res.total, Number.parseFloat(crawlOptions.limit as string)),
+            total: Math.min(res.total, parseFloat(crawlOptions.limit as string)),
           },
         }
       }
@@ -115,7 +116,7 @@
       // update the progress
       setCrawlResult({
         ...res,
-        total: Math.min(res.total, Number.parseFloat(crawlOptions.limit as string)),
+        total: Math.min(res.total, parseFloat(crawlOptions.limit as string)),
       })
       onCheckedCrawlResultChange(res.data || []) // default select the crawl result
       await sleep(2500)
@@ -178,22 +179,22 @@
   return (
     <div>
       <Header onSetting={handleSetting} />
-      <div className='mt-2 rounded-xl border border-components-panel-border bg-background-default-subtle p-4 pb-0'>
+      <div className={cn('mt-2 p-4 pb-0 rounded-xl border border-gray-200')}>
         <UrlInput onRun={handleRun} isRunning={isRunning} />
         <OptionsWrap
-          className='mt-4'
+          className={cn('mt-4')}
           controlFoldOptions={controlFoldOptions}
         >
           <Options className='mt-2' payload={crawlOptions} onChange={onCrawlOptionsChange} />
         </OptionsWrap>
 
         {!isInit && (
-          <div className='relative left-[-16px] mt-3 w-[calc(100%_+_32px)] rounded-b-xl'>
+          <div className='mt-3 relative left-[-16px] w-[calc(100%_+_32px)] rounded-b-xl'>
             {isRunning
               && <Crawling
                 className='mt-2'
                 crawledNum={crawlResult?.current || 0}
-                totalNum={crawlResult?.total || Number.parseFloat(crawlOptions.limit as string) || 0}
+                totalNum={crawlResult?.total || parseFloat(crawlOptions.limit as string) || 0}
               />}
             {showError && (
               <ErrorMessage className='rounded-b-xl' title={t(`${I18N_PREFIX}.exceptionErrorTitle`)} errorMsg={crawlErrorMessage} />
@@ -205,7 +206,7 @@
                 checkedList={checkedCrawlResult}
                 onSelectedChange={onCheckedCrawlResultChange}
                 onPreview={onPreview}
-                usedTime={Number.parseFloat(crawlResult?.time_consuming as string) || 0}
+                usedTime={parseFloat(crawlResult?.time_consuming as string) || 0}
               />
             }
           </div>
diff --git a/app/components/datasets/create/website/firecrawl/options.tsx b/app/components/datasets/create/website/firecrawl/options.tsx
index dea6c0e..8cc2c67 100644
--- a/app/components/datasets/create/website/firecrawl/options.tsx
+++ b/app/components/datasets/create/website/firecrawl/options.tsx
@@ -36,11 +36,10 @@
         label={t(`${I18N_PREFIX}.crawlSubPage`)}
         isChecked={payload.crawl_sub_pages}
         onChange={handleChange('crawl_sub_pages')}
-        labelClassName='text-[13px] leading-[16px] font-medium text-text-secondary'
       />
       <div className='flex justify-between space-x-4'>
         <Field
-          className='shrink-0 grow'
+          className='grow shrink-0'
           label={t(`${I18N_PREFIX}.limit`)}
           value={payload.limit}
           onChange={handleChange('limit')}
@@ -48,7 +47,7 @@
           isRequired
         />
         <Field
-          className='shrink-0 grow'
+          className='grow shrink-0'
           label={t(`${I18N_PREFIX}.maxDepth`)}
           value={payload.max_depth}
           onChange={handleChange('max_depth')}
@@ -59,14 +58,14 @@
 
       <div className='flex justify-between space-x-4'>
         <Field
-          className='shrink-0 grow'
+          className='grow shrink-0'
           label={t(`${I18N_PREFIX}.excludePaths`)}
           value={payload.excludes}
           onChange={handleChange('excludes')}
           placeholder='blog/*, /about/*'
         />
         <Field
-          className='shrink-0 grow'
+          className='grow shrink-0'
           label={t(`${I18N_PREFIX}.includeOnlyPaths`)}
           value={payload.includes}
           onChange={handleChange('includes')}
@@ -77,7 +76,6 @@
         label={t(`${I18N_PREFIX}.extractOnlyMainContent`)}
         isChecked={payload.only_main_content}
         onChange={handleChange('only_main_content')}
-        labelClassName='text-[13px] leading-[16px] font-medium text-text-secondary'
       />
     </div>
   )
diff --git a/app/components/datasets/create/website/index.module.css b/app/components/datasets/create/website/index.module.css
index cf6c364..abaab4b 100644
--- a/app/components/datasets/create/website/index.module.css
+++ b/app/components/datasets/create/website/index.module.css
@@ -4,10 +4,3 @@
   background-image: url(../assets/jina.png);
   background-size: 16px;
 }
-
-.watercrawlLogo {
-  @apply w-5 h-5 bg-center bg-no-repeat inline-block;
-  /*background-color: #F5FAFF;*/
-  background-image: url(../assets/watercrawl.svg);
-  background-size: 16px;
-}
diff --git a/app/components/datasets/create/website/index.tsx b/app/components/datasets/create/website/index.tsx
index e2d0e2d..58b7f5f 100644
--- a/app/components/datasets/create/website/index.tsx
+++ b/app/components/datasets/create/website/index.tsx
@@ -5,14 +5,12 @@
 import s from './index.module.css'
 import NoData from './no-data'
 import Firecrawl from './firecrawl'
-import Watercrawl from './watercrawl'
 import JinaReader from './jina-reader'
 import cn from '@/utils/classnames'
 import { useModalContext } from '@/context/modal-context'
 import type { CrawlOptions, CrawlResultItem } from '@/models/datasets'
 import { fetchDataSources } from '@/service/datasets'
 import { type DataSourceItem, DataSourceProvider } from '@/models/common'
-import { ENABLE_WEBSITE_FIRECRAWL, ENABLE_WEBSITE_JINAREADER, ENABLE_WEBSITE_WATERCRAWL } from '@/config'
 
 type Props = {
   onPreview: (payload: CrawlResultItem) => void
@@ -49,11 +47,7 @@
 
     // If users have configured one of the providers, select it.
     const availableProviders = res.sources.filter((item: DataSourceItem) =>
-      [
-        DataSourceProvider.jinaReader,
-        DataSourceProvider.fireCrawl,
-        DataSourceProvider.waterCrawl,
-      ].includes(item.provider),
+      [DataSourceProvider.jinaReader, DataSourceProvider.fireCrawl].includes(item.provider),
     )
 
     if (availableProviders.length > 0)
@@ -76,85 +70,68 @@
   if (!isLoaded)
     return null
 
-  const source = sources.find(source => source.provider === selectedProvider)
-
   return (
     <div>
       <div className="mb-4">
-        <div className="system-md-medium mb-2 text-text-secondary">
+        <div className="font-medium text-gray-700 mb-2 h-6">
           {t('datasetCreation.stepOne.website.chooseProvider')}
         </div>
         <div className="flex space-x-2">
-          {ENABLE_WEBSITE_JINAREADER && <button
-            className={cn('flex items-center justify-center rounded-lg px-4 py-2',
+          <button
+            className={`px-4 py-2 text-sm font-medium rounded-md flex items-center justify-center ${
               selectedProvider === DataSourceProvider.jinaReader
-                ? 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary'
-                : `system-sm-regular border border-components-option-card-option-border bg-components-option-card-option-bg text-text-secondary
-                hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs hover:shadow-shadow-shadow-3`,
-            )}
+                ? 'bg-primary-50 text-primary-600'
+                : 'bg-gray-100 text-gray-600 hover:bg-gray-200'
+            }`}
             onClick={() => setSelectedProvider(DataSourceProvider.jinaReader)}
           >
-            <span className={cn(s.jinaLogo, 'mr-2')}/>
+            <span className={cn(s.jinaLogo, 'mr-2')} />
             <span>Jina Reader</span>
-          </button>}
-         {ENABLE_WEBSITE_FIRECRAWL && <button
-            className={cn('rounded-lg px-4 py-2',
+          </button>
+          <button
+            className={`px-4 py-2 text-sm font-medium rounded-md ${
               selectedProvider === DataSourceProvider.fireCrawl
-                ? 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary'
-                : `system-sm-regular border border-components-option-card-option-border bg-components-option-card-option-bg text-text-secondary
-                hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs hover:shadow-shadow-shadow-3`,
-            )}
+                ? 'bg-primary-50 text-primary-600'
+                : 'bg-gray-100 text-gray-600 hover:bg-gray-200'
+            }`}
             onClick={() => setSelectedProvider(DataSourceProvider.fireCrawl)}
           >
             馃敟 Firecrawl
-          </button>}
-          {ENABLE_WEBSITE_WATERCRAWL && <button
-            className={cn('flex items-center justify-center rounded-lg px-4 py-2',
-              selectedProvider === DataSourceProvider.waterCrawl
-                ? 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary'
-                : `system-sm-regular border border-components-option-card-option-border bg-components-option-card-option-bg text-text-secondary
-                hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs hover:shadow-shadow-shadow-3`,
-            )}
-            onClick={() => setSelectedProvider(DataSourceProvider.waterCrawl)}
-          >
-            <span className={cn(s.watercrawlLogo, 'mr-2')}/>
-            <span>WaterCrawl</span>
-          </button>}
+          </button>
         </div>
       </div>
-      {source && selectedProvider === DataSourceProvider.fireCrawl && (
-        <Firecrawl
-          onPreview={onPreview}
-          checkedCrawlResult={checkedCrawlResult}
-          onCheckedCrawlResultChange={onCheckedCrawlResultChange}
-          onJobIdChange={onJobIdChange}
-          crawlOptions={crawlOptions}
-          onCrawlOptionsChange={onCrawlOptionsChange}
-        />
-      )}
-      {source && selectedProvider === DataSourceProvider.waterCrawl && (
-        <Watercrawl
-          onPreview={onPreview}
-          checkedCrawlResult={checkedCrawlResult}
-          onCheckedCrawlResultChange={onCheckedCrawlResultChange}
-          onJobIdChange={onJobIdChange}
-          crawlOptions={crawlOptions}
-          onCrawlOptionsChange={onCrawlOptionsChange}
-        />
-      )}
-      {source && selectedProvider === DataSourceProvider.jinaReader && (
-        <JinaReader
-          onPreview={onPreview}
-          checkedCrawlResult={checkedCrawlResult}
-          onCheckedCrawlResultChange={onCheckedCrawlResultChange}
-          onJobIdChange={onJobIdChange}
-          crawlOptions={crawlOptions}
-          onCrawlOptionsChange={onCrawlOptionsChange}
-        />
-      )}
-      {!source && (
-        <NoData onConfig={handleOnConfig} provider={selectedProvider}/>
-      )}
+
+      {
+        selectedProvider === DataSourceProvider.fireCrawl
+          ? sources.find(source => source.provider === DataSourceProvider.fireCrawl)
+            ? (
+              <Firecrawl
+                onPreview={onPreview}
+                checkedCrawlResult={checkedCrawlResult}
+                onCheckedCrawlResultChange={onCheckedCrawlResultChange}
+                onJobIdChange={onJobIdChange}
+                crawlOptions={crawlOptions}
+                onCrawlOptionsChange={onCrawlOptionsChange}
+              />
+            )
+            : (
+              <NoData onConfig={handleOnConfig} provider={selectedProvider} />
+            )
+          : sources.find(source => source.provider === DataSourceProvider.jinaReader)
+            ? (
+              <JinaReader
+                onPreview={onPreview}
+                checkedCrawlResult={checkedCrawlResult}
+                onCheckedCrawlResultChange={onCheckedCrawlResultChange}
+                onJobIdChange={onJobIdChange}
+                crawlOptions={crawlOptions}
+                onCrawlOptionsChange={onCrawlOptionsChange}
+              />
+            )
+            : (
+              <NoData onConfig={handleOnConfig} provider={selectedProvider} />
+            )
+      }
     </div>
   )
 }
diff --git a/app/components/datasets/create/website/jina-reader/base/checkbox-with-label.tsx b/app/components/datasets/create/website/jina-reader/base/checkbox-with-label.tsx
index 3ec1375..25d40fe 100644
--- a/app/components/datasets/create/website/jina-reader/base/checkbox-with-label.tsx
+++ b/app/components/datasets/create/website/jina-reader/base/checkbox-with-label.tsx
@@ -23,9 +23,9 @@
   tooltip,
 }) => {
   return (
-    <label className={cn(className, 'flex h-7 items-center space-x-2')}>
+    <label className={cn(className, 'flex items-center h-7 space-x-2')}>
       <Checkbox checked={isChecked} onCheck={() => onChange(!isChecked)} />
-      <div className={cn('text-sm font-normal text-gray-800', labelClassName)}>{label}</div>
+      <div className={cn(labelClassName, 'text-sm font-normal text-gray-800')}>{label}</div>
       {tooltip && (
         <Tooltip
           popupContent={
diff --git a/app/components/datasets/create/website/jina-reader/base/error-message.tsx b/app/components/datasets/create/website/jina-reader/base/error-message.tsx
index 5a61638..aa337ec 100644
--- a/app/components/datasets/create/website/jina-reader/base/error-message.tsx
+++ b/app/components/datasets/create/website/jina-reader/base/error-message.tsx
@@ -16,13 +16,13 @@
   errorMsg,
 }) => {
   return (
-    <div className={cn(className, 'border-t border-gray-200 bg-[#FFFAEB] px-4 py-2')}>
-      <div className='flex h-5 items-center'>
-        <AlertTriangle className='mr-2 h-4 w-4 text-[#F79009]' />
+    <div className={cn(className, 'py-2 px-4 border-t border-gray-200 bg-[#FFFAEB]')}>
+      <div className='flex items-center h-5'>
+        <AlertTriangle className='mr-2 w-4 h-4 text-[#F79009]' />
         <div className='text-sm font-medium text-[#DC6803]'>{title}</div>
       </div>
       {errorMsg && (
-        <div className='mt-1 pl-6 text-xs font-normal leading-[18px] text-gray-700'>{errorMsg}</div>
+        <div className='mt-1 pl-6 leading-[18px] text-xs font-normal text-gray-700'>{errorMsg}</div>
       )}
     </div>
   )
diff --git a/app/components/datasets/create/website/jina-reader/base/field.tsx b/app/components/datasets/create/website/jina-reader/base/field.tsx
index 13477ff..5b5ca90 100644
--- a/app/components/datasets/create/website/jina-reader/base/field.tsx
+++ b/app/components/datasets/create/website/jina-reader/base/field.tsx
@@ -31,7 +31,7 @@
   return (
     <div className={cn(className)}>
       <div className='flex py-[7px]'>
-        <div className={cn(labelClassName, 'flex h-[18px] items-center text-[13px] font-medium text-gray-900')}>{label} </div>
+        <div className={cn(labelClassName, 'flex items-center h-[18px] text-[13px] font-medium text-gray-900')}>{label} </div>
         {isRequired && <span className='ml-0.5 text-xs font-semibold text-[#D92D20]'>*</span>}
         {tooltip && (
           <Tooltip
diff --git a/app/components/datasets/create/website/jina-reader/base/input.tsx b/app/components/datasets/create/website/jina-reader/base/input.tsx
index bc7a15a..7d2d2b6 100644
--- a/app/components/datasets/create/website/jina-reader/base/input.tsx
+++ b/app/components/datasets/create/website/jina-reader/base/input.tsx
@@ -20,7 +20,7 @@
   const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
     const value = e.target.value
     if (isNumber) {
-      let numberValue = Number.parseInt(value, 10) // integer only
+      let numberValue = parseInt(value, 10) // integer only
       if (isNaN(numberValue)) {
         onChange('')
         return
@@ -50,7 +50,7 @@
       {...otherOption}
       value={value}
       onChange={handleChange}
-      className='flex h-9 w-full rounded-lg bg-gray-100 px-2 py-1 text-xs leading-normal caret-primary-600 placeholder:text-gray-400 hover:bg-gray-100 focus:bg-gray-50 focus:ring-1 focus:ring-inset focus:ring-gray-200 focus-visible:outline-none'
+      className='flex h-9 w-full py-1 px-2 rounded-lg text-xs leading-normal bg-gray-100 caret-primary-600 hover:bg-gray-100 focus:ring-1 focus:ring-inset focus:ring-gray-200 focus-visible:outline-none focus:bg-gray-50 placeholder:text-gray-400'
       placeholder={placeholder}
     />
   )
diff --git a/app/components/datasets/create/website/jina-reader/base/options-wrap.tsx b/app/components/datasets/create/website/jina-reader/base/options-wrap.tsx
index a5fa687..652401a 100644
--- a/app/components/datasets/create/website/jina-reader/base/options-wrap.tsx
+++ b/app/components/datasets/create/website/jina-reader/base/options-wrap.tsx
@@ -34,14 +34,14 @@
   return (
     <div className={cn(className, !fold ? 'mb-0' : 'mb-3')}>
       <div
-        className='flex h-[26px] cursor-pointer select-none items-center justify-between py-1'
+        className='flex justify-between items-center h-[26px] py-1 cursor-pointer select-none'
         onClick={foldToggle}
       >
         <div className='flex items-center text-gray-700'>
-          <Settings04 className='mr-1 h-4 w-4' />
-          <div className='text-[13px] font-semibold uppercase text-gray-800'>{t(`${I18N_PREFIX}.options`)}</div>
+          <Settings04 className='mr-1 w-4 h-4' />
+          <div className='text-[13px] font-semibold text-gray-800 uppercase'>{t(`${I18N_PREFIX}.options`)}</div>
         </div>
-        <ChevronRight className={cn(!fold && 'rotate-90', 'h-4 w-4 text-gray-500')} />
+        <ChevronRight className={cn(!fold && 'rotate-90', 'w-4 h-4 text-gray-500')} />
       </div>
       {!fold && (
         <div className='mb-4'>
diff --git a/app/components/datasets/create/website/jina-reader/crawled-result-item.tsx b/app/components/datasets/create/website/jina-reader/crawled-result-item.tsx
new file mode 100644
index 0000000..5531d3e
--- /dev/null
+++ b/app/components/datasets/create/website/jina-reader/crawled-result-item.tsx
@@ -0,0 +1,40 @@
+'use client'
+import type { FC } from 'react'
+import React, { useCallback } from 'react'
+import { useTranslation } from 'react-i18next'
+import cn from '@/utils/classnames'
+import type { CrawlResultItem as CrawlResultItemType } from '@/models/datasets'
+import Checkbox from '@/app/components/base/checkbox'
+
+type Props = {
+  payload: CrawlResultItemType
+  isChecked: boolean
+  isPreview: boolean
+  onCheckChange: (checked: boolean) => void
+  onPreview: () => void
+}
+
+const CrawledResultItem: FC<Props> = ({
+  isPreview,
+  payload,
+  isChecked,
+  onCheckChange,
+  onPreview,
+}) => {
+  const { t } = useTranslation()
+
+  const handleCheckChange = useCallback(() => {
+    onCheckChange(!isChecked)
+  }, [isChecked, onCheckChange])
+  return (
+    <div className={cn(isPreview ? 'border-[#D1E0FF] bg-primary-50 shadow-xs' : 'group hover:bg-gray-100', 'rounded-md px-2 py-[5px] cursor-pointer border border-transparent')}>
+      <div className='flex items-center h-5'>
+        <Checkbox className='group-hover:border-2 group-hover:border-primary-600 mr-2 shrink-0' checked={isChecked} onCheck={handleCheckChange} />
+        <div className='grow w-0 truncate text-sm font-medium text-gray-700' title={payload.title}>{payload.title}</div>
+        <div onClick={onPreview} className='hidden group-hover:flex items-center h-6 px-2 text-xs rounded-md font-medium text-gray-500 uppercase hover:bg-gray-50'>{t('datasetCreation.stepOne.website.preview')}</div>
+      </div>
+      <div className='mt-0.5 truncate pl-6 leading-[18px] text-xs font-normal text-gray-500' title={payload.source_url}>{payload.source_url}</div>
+    </div>
+  )
+}
+export default React.memo(CrawledResultItem)
diff --git a/app/components/datasets/create/website/jina-reader/crawled-result.tsx b/app/components/datasets/create/website/jina-reader/crawled-result.tsx
new file mode 100644
index 0000000..2bd51e4
--- /dev/null
+++ b/app/components/datasets/create/website/jina-reader/crawled-result.tsx
@@ -0,0 +1,87 @@
+'use client'
+import type { FC } from 'react'
+import React, { useCallback } from 'react'
+import { useTranslation } from 'react-i18next'
+import CheckboxWithLabel from './base/checkbox-with-label'
+import CrawledResultItem from './crawled-result-item'
+import cn from '@/utils/classnames'
+import type { CrawlResultItem } from '@/models/datasets'
+
+const I18N_PREFIX = 'datasetCreation.stepOne.website'
+
+type Props = {
+  className?: string
+  list: CrawlResultItem[]
+  checkedList: CrawlResultItem[]
+  onSelectedChange: (selected: CrawlResultItem[]) => void
+  onPreview: (payload: CrawlResultItem) => void
+  usedTime: number
+}
+
+const CrawledResult: FC<Props> = ({
+  className = '',
+  list,
+  checkedList,
+  onSelectedChange,
+  onPreview,
+  usedTime,
+}) => {
+  const { t } = useTranslation()
+
+  const isCheckAll = checkedList.length === list.length
+
+  const handleCheckedAll = useCallback(() => {
+    if (!isCheckAll)
+      onSelectedChange(list)
+
+    else
+      onSelectedChange([])
+  }, [isCheckAll, list, onSelectedChange])
+
+  const handleItemCheckChange = useCallback((item: CrawlResultItem) => {
+    return (checked: boolean) => {
+      if (checked)
+        onSelectedChange([...checkedList, item])
+
+      else
+        onSelectedChange(checkedList.filter(checkedItem => checkedItem.source_url !== item.source_url))
+    }
+  }, [checkedList, onSelectedChange])
+
+  const [previewIndex, setPreviewIndex] = React.useState<number>(-1)
+  const handlePreview = useCallback((index: number) => {
+    return () => {
+      setPreviewIndex(index)
+      onPreview(list[index])
+    }
+  }, [list, onPreview])
+
+  return (
+    <div className={cn(className, 'border-t border-gray-200')}>
+      <div className='flex items-center justify-between h-[34px] px-4 bg-gray-50 shadow-xs border-b-[0.5px] border-black/8 text-xs font-normal text-gray-700'>
+        <CheckboxWithLabel
+          isChecked={isCheckAll}
+          onChange={handleCheckedAll} label={isCheckAll ? t(`${I18N_PREFIX}.resetAll`) : t(`${I18N_PREFIX}.selectAll`)}
+          labelClassName='!font-medium'
+        />
+        <div>{t(`${I18N_PREFIX}.scrapTimeInfo`, {
+          total: list.length,
+          time: usedTime.toFixed(1),
+        })}</div>
+      </div>
+      <div className='p-2'>
+        {list.map((item, index) => (
+          <CrawledResultItem
+            key={item.source_url}
+            isPreview={index === previewIndex}
+            onPreview={handlePreview(index)}
+            payload={item}
+            isChecked={checkedList.some(checkedItem => checkedItem.source_url === item.source_url)}
+            onCheckChange={handleItemCheckChange(item)}
+          />
+        ))}
+      </div>
+    </div>
+  )
+}
+export default React.memo(CrawledResult)
diff --git a/app/components/datasets/create/website/jina-reader/crawling.tsx b/app/components/datasets/create/website/jina-reader/crawling.tsx
new file mode 100644
index 0000000..ee26e76
--- /dev/null
+++ b/app/components/datasets/create/website/jina-reader/crawling.tsx
@@ -0,0 +1,37 @@
+'use client'
+import type { FC } from 'react'
+import React from 'react'
+import { useTranslation } from 'react-i18next'
+import cn from '@/utils/classnames'
+import { RowStruct } from '@/app/components/base/icons/src/public/other'
+
+type Props = {
+  className?: string
+  crawledNum: number
+  totalNum: number
+}
+
+const Crawling: FC<Props> = ({
+  className = '',
+  crawledNum,
+  totalNum,
+}) => {
+  const { t } = useTranslation()
+
+  return (
+    <div className={cn(className, 'border-t border-gray-200')}>
+      <div className='flex items-center h-[34px] px-4 bg-gray-50 shadow-xs border-b-[0.5px] border-black/8 text-xs font-normal text-gray-700'>
+        {t('datasetCreation.stepOne.website.totalPageScraped')} {crawledNum}/{totalNum}
+      </div>
+
+      <div className='p-2'>
+        {['', '', '', ''].map((item, index) => (
+          <div className='py-[5px]' key={index}>
+            <RowStruct />
+          </div>
+        ))}
+      </div>
+    </div>
+  )
+}
+export default React.memo(Crawling)
diff --git a/app/components/datasets/create/website/jina-reader/header.tsx b/app/components/datasets/create/website/jina-reader/header.tsx
index 13b8a9e..85014a3 100644
--- a/app/components/datasets/create/website/jina-reader/header.tsx
+++ b/app/components/datasets/create/website/jina-reader/header.tsx
@@ -2,8 +2,8 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiBookOpenLine, RiEqualizer2Line } from '@remixicon/react'
-import Button from '@/app/components/base/button'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
+import { BookOpen01 } from '@/app/components/base/icons/src/vender/line/education'
 
 const I18N_PREFIX = 'datasetCreation.stepOne.website'
 
@@ -19,23 +19,22 @@
   return (
     <div className='flex h-6 items-center justify-between'>
       <div className='flex items-center'>
-        <div className='text-sm font-semibold text-text-secondary'>{t(`${I18N_PREFIX}.jinaReaderTitle`)}</div>
-        <div className='ml-2 mr-2 h-3.5 w-px bg-divider-regular' />
-        <Button className='flex h-6 items-center gap-x-[1px] px-1.5' onClick={onSetting}>
-          <RiEqualizer2Line className='h-3.5 w-3.5 text-components-button-secondary-text' />
-          <span className='px-[3px] text-xs font-medium text-components-button-secondary-text'>
-            {t(`${I18N_PREFIX}.configureJinaReader`)}
-          </span>
-        </Button>
+        <div className='text-base font-medium text-gray-700'>{t(`${I18N_PREFIX}.jinaReaderTitle`)}</div>
+        <div className='ml-2 mr-1 w-px h-3.5 bg-gray-200'></div>
+        <div
+          className='p-1 rounded-md hover:bg-black/5 cursor-pointer'
+          onClick={onSetting}
+        >
+          <Settings01 className='w-3.5 h-3.5 text-gray-500' />
+        </div>
       </div>
       <a
         href='https://jina.ai/reader'
-        target='_blank'
-        rel='noopener noreferrer'
-        className='inline-flex items-center gap-x-1 text-xs font-medium text-text-accent'
+        target='_blank' rel='noopener noreferrer'
+        className='flex items-center text-xs text-primary-600'
       >
-        <RiBookOpenLine className='h-3.5 w-3.5 text-text-accent' />
-        <span>{t(`${I18N_PREFIX}.jinaReaderDoc`)}</span>
+        <BookOpen01 className='mr-1 w-3.5 h-3.5 text-primary-600' />
+        {t(`${I18N_PREFIX}.jinaReaderDoc`)}
       </a>
     </div>
   )
diff --git a/app/components/datasets/create/website/jina-reader/index.tsx b/app/components/datasets/create/website/jina-reader/index.tsx
index 2ab0444..1c133f9 100644
--- a/app/components/datasets/create/website/jina-reader/index.tsx
+++ b/app/components/datasets/create/website/jina-reader/index.tsx
@@ -9,6 +9,7 @@
 import ErrorMessage from '../base/error-message'
 import Header from './header'
 import Options from './options'
+import cn from '@/utils/classnames'
 import { useModalContext } from '@/context/modal-context'
 import Toast from '@/app/components/base/toast'
 import { checkJinaReaderTaskStatus, createJinaReaderTask } from '@/service/datasets'
@@ -98,7 +99,7 @@
           isError: false,
           data: {
             ...res,
-            total: Math.min(res.total, Number.parseFloat(crawlOptions.limit as string)),
+            total: Math.min(res.total, parseFloat(crawlOptions.limit as string)),
           },
         }
       }
@@ -114,7 +115,7 @@
       // update the progress
       setCrawlResult({
         ...res,
-        total: Math.min(res.total, Number.parseFloat(crawlOptions.limit as string)),
+        total: Math.min(res.total, parseFloat(crawlOptions.limit as string)),
       })
       onCheckedCrawlResultChange(res.data || []) // default select the crawl result
       await sleep(2500)
@@ -130,7 +131,7 @@
         },
       }
     }
-  }, [crawlOptions.limit, onCheckedCrawlResultChange])
+  }, [crawlOptions.limit])
 
   const handleRun = useCallback(async (url: string) => {
     const { isValid, errorMsg } = checkValid(url)
@@ -186,27 +187,27 @@
     finally {
       setStep(Step.finished)
     }
-  }, [checkValid, crawlOptions, onCheckedCrawlResultChange, onJobIdChange, t, waitForCrawlFinished])
+  }, [checkValid, crawlOptions, onJobIdChange, t, waitForCrawlFinished])
 
   return (
     <div>
       <Header onSetting={handleSetting} />
-      <div className='mt-2 rounded-xl border border-components-panel-border bg-background-default-subtle p-4 pb-0'>
+      <div className={cn('mt-2 p-4 pb-0 rounded-xl border border-gray-200')}>
         <UrlInput onRun={handleRun} isRunning={isRunning} />
         <OptionsWrap
-          className='mt-4'
+          className={cn('mt-4')}
           controlFoldOptions={controlFoldOptions}
         >
           <Options className='mt-2' payload={crawlOptions} onChange={onCrawlOptionsChange} />
         </OptionsWrap>
 
         {!isInit && (
-          <div className='relative left-[-16px] mt-3 w-[calc(100%_+_32px)] rounded-b-xl'>
+          <div className='mt-3 relative left-[-16px] w-[calc(100%_+_32px)] rounded-b-xl'>
             {isRunning
               && <Crawling
                 className='mt-2'
                 crawledNum={crawlResult?.current || 0}
-                totalNum={crawlResult?.total || Number.parseFloat(crawlOptions.limit as string) || 0}
+                totalNum={crawlResult?.total || parseFloat(crawlOptions.limit as string) || 0}
               />}
             {showError && (
               <ErrorMessage className='rounded-b-xl' title={t(`${I18N_PREFIX}.exceptionErrorTitle`)} errorMsg={crawlErrorMessage} />
@@ -218,7 +219,7 @@
                 checkedList={checkedCrawlResult}
                 onSelectedChange={onCheckedCrawlResultChange}
                 onPreview={onPreview}
-                usedTime={Number.parseFloat(crawlResult?.time_consuming as string) || 0}
+                usedTime={parseFloat(crawlResult?.time_consuming as string) || 0}
               />
             }
           </div>
diff --git a/app/components/datasets/create/website/jina-reader/mock-crawl-result.ts b/app/components/datasets/create/website/jina-reader/mock-crawl-result.ts
new file mode 100644
index 0000000..8fd5e66
--- /dev/null
+++ b/app/components/datasets/create/website/jina-reader/mock-crawl-result.ts
@@ -0,0 +1,24 @@
+import type { CrawlResultItem } from '@/models/datasets'
+
+const result: CrawlResultItem[] = [
+  {
+    title: 'Start the frontend Docker container separately',
+    markdown: 'Markdown 1',
+    description: 'Description 1',
+    source_url: 'https://example.com/1',
+  },
+  {
+    title: 'Advanced Tool Integration',
+    markdown: 'Markdown 2',
+    description: 'Description 2',
+    source_url: 'https://example.com/2',
+  },
+  {
+    title: 'Local Source Code Start | English | Dify',
+    markdown: 'Markdown 3',
+    description: 'Description 3',
+    source_url: 'https://example.com/3',
+  },
+]
+
+export default result
diff --git a/app/components/datasets/create/website/jina-reader/options.tsx b/app/components/datasets/create/website/jina-reader/options.tsx
index e18cff8..52cfaa8 100644
--- a/app/components/datasets/create/website/jina-reader/options.tsx
+++ b/app/components/datasets/create/website/jina-reader/options.tsx
@@ -36,18 +36,16 @@
         label={t(`${I18N_PREFIX}.crawlSubPage`)}
         isChecked={payload.crawl_sub_pages}
         onChange={handleChange('crawl_sub_pages')}
-        labelClassName='text-[13px] leading-[16px] font-medium text-text-secondary'
       />
       <CheckboxWithLabel
         label={t(`${I18N_PREFIX}.useSitemap`)}
         isChecked={payload.use_sitemap}
         onChange={handleChange('use_sitemap')}
         tooltip={t(`${I18N_PREFIX}.useSitemapTooltip`) as string}
-        labelClassName='text-[13px] leading-[16px] font-medium text-text-secondary'
       />
       <div className='flex justify-between space-x-4'>
         <Field
-          className='shrink-0 grow'
+          className='grow shrink-0'
           label={t(`${I18N_PREFIX}.limit`)}
           value={payload.limit}
           onChange={handleChange('limit')}
diff --git a/app/components/datasets/create/website/no-data.tsx b/app/components/datasets/create/website/no-data.tsx
index 1db83a7..8a508a4 100644
--- a/app/components/datasets/create/website/no-data.tsx
+++ b/app/components/datasets/create/website/no-data.tsx
@@ -6,7 +6,6 @@
 import { Icon3Dots } from '@/app/components/base/icons/src/vender/line/others'
 import Button from '@/app/components/base/button'
 import { DataSourceProvider } from '@/models/common'
-import { ENABLE_WEBSITE_FIRECRAWL, ENABLE_WEBSITE_JINAREADER, ENABLE_WEBSITE_WATERCRAWL } from '@/config'
 
 const I18N_PREFIX = 'datasetCreation.stepOne.website'
 
@@ -22,40 +21,29 @@
   const { t } = useTranslation()
 
   const providerConfig = {
-    [DataSourceProvider.jinaReader]: ENABLE_WEBSITE_JINAREADER ? {
+    [DataSourceProvider.jinaReader]: {
       emoji: <span className={s.jinaLogo} />,
       title: t(`${I18N_PREFIX}.jinaReaderNotConfigured`),
       description: t(`${I18N_PREFIX}.jinaReaderNotConfiguredDescription`),
-    } : null,
-    [DataSourceProvider.fireCrawl]: ENABLE_WEBSITE_FIRECRAWL ? {
+    },
+    [DataSourceProvider.fireCrawl]: {
       emoji: '馃敟',
       title: t(`${I18N_PREFIX}.fireCrawlNotConfigured`),
       description: t(`${I18N_PREFIX}.fireCrawlNotConfiguredDescription`),
-    } : null,
-    [DataSourceProvider.waterCrawl]: ENABLE_WEBSITE_WATERCRAWL ? {
-      emoji: '馃挧',
-      title: t(`${I18N_PREFIX}.waterCrawlNotConfigured`),
-      description: t(`${I18N_PREFIX}.waterCrawlNotConfiguredDescription`),
-    } : null,
+    },
   }
 
-  const currentProvider = providerConfig[provider] || providerConfig[DataSourceProvider.jinaReader]
-
-  if (!currentProvider) return null
+  const currentProvider = providerConfig[provider]
 
   return (
     <>
-      <div className='mt-4 max-w-[640px] rounded-2xl bg-workflow-process-bg p-6'>
-        <div className='flex h-12 w-12 items-center justify-center rounded-[10px] border-[0.5px]
-          border-components-card-border bg-components-card-bg shadow-lg shadow-shadow-shadow-5 backdrop-blur-[5px]'>
+      <div className='max-w-[640px] p-6 rounded-2xl bg-gray-50 mt-4'>
+        <div className='flex w-11 h-11 items-center justify-center bg-gray-50 rounded-xl border-[0.5px] border-gray-100 shadow-lg'>
           {currentProvider.emoji}
         </div>
-        <div className='mb-1 mt-2 flex flex-col gap-y-1 pb-3 pt-1'>
-          <span className='system-md-semibold text-text-secondary'>
-            {currentProvider.title}
-            <Icon3Dots className='relative -left-1.5 -top-2.5 inline' />
-          </span>
-          <div className='system-sm-regular text-text-tertiary'>
+        <div className='my-2'>
+          <span className='text-gray-700 font-semibold'>{currentProvider.title}<Icon3Dots className='inline relative -top-3 -left-1.5' /></span>
+          <div className='mt-1 pb-3 text-gray-500 text-[13px] font-normal'>
             {currentProvider.description}
           </div>
         </div>
diff --git a/app/components/datasets/create/website/preview.tsx b/app/components/datasets/create/website/preview.tsx
index f43dc83..5180a83 100644
--- a/app/components/datasets/create/website/preview.tsx
+++ b/app/components/datasets/create/website/preview.tsx
@@ -20,19 +20,19 @@
   return (
     <div className={cn(s.filePreview, 'h-full')}>
       <div className={cn(s.previewHeader)}>
-        <div className={cn(s.title, 'title-md-semi-bold')}>
+        <div className={cn(s.title)}>
           <span>{t('datasetCreation.stepOne.pagePreview')}</span>
-          <div className='flex h-6 w-6 cursor-pointer items-center justify-center' onClick={hidePreview}>
+          <div className='flex items-center justify-center w-6 h-6 cursor-pointer' onClick={hidePreview}>
             <XMarkIcon className='h-4 w-4'></XMarkIcon>
           </div>
         </div>
-        <div className='title-sm-semi-bold break-words text-text-primary'>
+        <div className='leading-5 text-sm font-medium text-gray-900 break-words'>
           {payload.title}
         </div>
-        <div className='system-xs-medium truncate text-text-tertiary' title={payload.source_url}>{payload.source_url}</div>
+        <div className='truncate leading-[18px] text-xs font-normal text-gray-500' title={payload.source_url}>{payload.source_url}</div>
       </div>
-      <div className={cn(s.previewContent, 'body-md-regular')}>
-        <div className={cn(s.fileContent)}>{payload.markdown}</div>
+      <div className={cn(s.previewContent)}>
+        <div className={cn(s.fileContent, 'body-md-regular')}>{payload.markdown}</div>
       </div>
     </div>
   )
diff --git a/app/components/datasets/documents/detail/batch-modal/csv-downloader.tsx b/app/components/datasets/documents/detail/batch-modal/csv-downloader.tsx
index 90bdb70..6602244 100644
--- a/app/components/datasets/documents/detail/batch-modal/csv-downloader.tsx
+++ b/app/components/datasets/documents/detail/batch-modal/csv-downloader.tsx
@@ -50,20 +50,20 @@
 
   return (
     <div className='mt-6'>
-      <div className='text-sm font-medium text-gray-900'>{t('share.generation.csvStructureTitle')}</div>
+      <div className='text-sm text-gray-900 font-medium'>{t('share.generation.csvStructureTitle')}</div>
       <div className='mt-2 max-h-[500px] overflow-auto'>
         {docForm === ChunkingMode.qa && (
-          <table className='w-full table-fixed border-separate border-spacing-0 rounded-lg border border-gray-200 text-xs'>
+          <table className='table-fixed w-full border-separate border-spacing-0 border border-gray-200 rounded-lg text-xs'>
             <thead className='text-gray-500'>
               <tr>
-                <td className='h-9 border-b border-gray-200 pl-3 pr-2'>{t('datasetDocuments.list.batchModal.question')}</td>
-                <td className='h-9 border-b border-gray-200 pl-3 pr-2'>{t('datasetDocuments.list.batchModal.answer')}</td>
+                <td className='h-9 pl-3 pr-2 border-b border-gray-200'>{t('datasetDocuments.list.batchModal.question')}</td>
+                <td className='h-9 pl-3 pr-2 border-b border-gray-200'>{t('datasetDocuments.list.batchModal.answer')}</td>
               </tr>
             </thead>
             <tbody className='text-gray-700'>
               <tr>
-                <td className='h-9 border-b border-gray-100 pl-3 pr-2 text-[13px]'>{t('datasetDocuments.list.batchModal.question')} 1</td>
-                <td className='h-9 border-b border-gray-100 pl-3 pr-2 text-[13px]'>{t('datasetDocuments.list.batchModal.answer')} 1</td>
+                <td className='h-9 pl-3 pr-2 border-b border-gray-100 text-[13px]'>{t('datasetDocuments.list.batchModal.question')} 1</td>
+                <td className='h-9 pl-3 pr-2 border-b border-gray-100 text-[13px]'>{t('datasetDocuments.list.batchModal.answer')} 1</td>
               </tr>
               <tr>
                 <td className='h-9 pl-3 pr-2 text-[13px]'>{t('datasetDocuments.list.batchModal.question')} 2</td>
@@ -73,15 +73,15 @@
           </table>
         )}
         {docForm === ChunkingMode.text && (
-          <table className='w-full table-fixed border-separate border-spacing-0 rounded-lg border border-gray-200 text-xs'>
+          <table className='table-fixed w-full border-separate border-spacing-0 border border-gray-200 rounded-lg text-xs'>
             <thead className='text-gray-500'>
               <tr>
-                <td className='h-9 border-b border-gray-200 pl-3 pr-2'>{t('datasetDocuments.list.batchModal.contentTitle')}</td>
+                <td className='h-9 pl-3 pr-2 border-b border-gray-200'>{t('datasetDocuments.list.batchModal.contentTitle')}</td>
               </tr>
             </thead>
             <tbody className='text-gray-700'>
               <tr>
-                <td className='h-9 border-b border-gray-100 pl-3 pr-2 text-[13px]'>{t('datasetDocuments.list.batchModal.content')} 1</td>
+                <td className='h-9 pl-3 pr-2 border-b border-gray-100 text-[13px]'>{t('datasetDocuments.list.batchModal.content')} 1</td>
               </tr>
               <tr>
                 <td className='h-9 pl-3 pr-2 text-[13px]'>{t('datasetDocuments.list.batchModal.content')} 2</td>
@@ -91,14 +91,14 @@
         )}
       </div>
       <CSVDownloader
-        className="mt-2 block cursor-pointer"
+        className="block mt-2 cursor-pointer"
         type={Type.Link}
         filename={'template'}
         bom={true}
         data={getTemplate()}
       >
-        <div className='flex h-[18px] items-center space-x-1 text-xs font-medium text-text-accent'>
-          <DownloadIcon className='mr-1 h-3 w-3' />
+        <div className='flex items-center h-[18px] space-x-1 text-text-accent text-xs font-medium'>
+          <DownloadIcon className='w-3 h-3 mr-1' />
           {t('datasetDocuments.list.batchModal.template')}
         </div>
       </CSVDownloader>
diff --git a/app/components/datasets/documents/detail/batch-modal/csv-uploader.tsx b/app/components/datasets/documents/detail/batch-modal/csv-uploader.tsx
index 471bf7b..edac3e2 100644
--- a/app/components/datasets/documents/detail/batch-modal/csv-uploader.tsx
+++ b/app/components/datasets/documents/detail/batch-modal/csv-uploader.tsx
@@ -93,29 +93,29 @@
       />
       <div ref={dropRef}>
         {!file && (
-          <div className={cn('flex h-20 items-center rounded-xl border border-dashed border-gray-200 bg-gray-50 text-sm font-normal', dragging && 'border border-[#B2CCFF] bg-[#F5F8FF]')}>
-            <div className='flex w-full items-center justify-center space-x-2'>
+          <div className={cn('flex items-center h-20 rounded-xl bg-gray-50 border border-dashed border-gray-200 text-sm font-normal', dragging && 'bg-[#F5F8FF] border border-[#B2CCFF]')}>
+            <div className='w-full flex items-center justify-center space-x-2'>
               <CSVIcon className="shrink-0" />
               <div className='text-gray-500'>
                 {t('datasetDocuments.list.batchModal.csvUploadTitle')}
-                <span className='cursor-pointer text-primary-400' onClick={selectHandle}>{t('datasetDocuments.list.batchModal.browse')}</span>
+                <span className='text-primary-400 cursor-pointer' onClick={selectHandle}>{t('datasetDocuments.list.batchModal.browse')}</span>
               </div>
             </div>
-            {dragging && <div ref={dragRef} className='absolute left-0 top-0 h-full w-full' />}
+            {dragging && <div ref={dragRef} className='absolute w-full h-full top-0 left-0' />}
           </div>
         )}
         {file && (
-          <div className={cn('group flex h-20 items-center rounded-xl border border-gray-200 bg-gray-50 px-6 text-sm font-normal', 'hover:border-[#B2CCFF] hover:bg-[#F5F8FF]')}>
+          <div className={cn('flex items-center h-20 px-6 rounded-xl bg-gray-50 border border-gray-200 text-sm font-normal group', 'hover:bg-[#F5F8FF] hover:border-[#B2CCFF]')}>
             <CSVIcon className="shrink-0" />
-            <div className='ml-2 flex w-0 grow'>
-              <span className='max-w-[calc(100%_-_30px)] overflow-hidden text-ellipsis whitespace-nowrap text-gray-800'>{file.name.replace(/.csv$/, '')}</span>
+            <div className='flex ml-2 w-0 grow'>
+              <span className='max-w-[calc(100%_-_30px)] text-ellipsis whitespace-nowrap overflow-hidden text-gray-800'>{file.name.replace(/.csv$/, '')}</span>
               <span className='shrink-0 text-gray-500'>.csv</span>
             </div>
-            <div className='hidden items-center group-hover:flex'>
+            <div className='hidden group-hover:flex items-center'>
               <Button onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.change')}</Button>
-              <div className='mx-2 h-4 w-px bg-gray-200' />
-              <div className='cursor-pointer p-2' onClick={removeFile}>
-                <RiDeleteBinLine className='h-4 w-4 text-gray-500' />
+              <div className='mx-2 w-px h-4 bg-gray-200' />
+              <div className='p-2 cursor-pointer' onClick={removeFile}>
+                <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
               </div>
             </div>
           </div>
diff --git a/app/components/datasets/documents/detail/batch-modal/index.tsx b/app/components/datasets/documents/detail/batch-modal/index.tsx
index 775d755..c666ba6 100644
--- a/app/components/datasets/documents/detail/batch-modal/index.tsx
+++ b/app/components/datasets/documents/detail/batch-modal/index.tsx
@@ -8,7 +8,6 @@
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
 import type { ChunkingMode } from '@/models/datasets'
-import { noop } from 'lodash-es'
 
 export type IBatchModalProps = {
   isShow: boolean
@@ -40,10 +39,10 @@
   }, [isShow])
 
   return (
-    <Modal isShow={isShow} onClose={noop} className='!max-w-[520px] !rounded-xl px-8 py-6'>
+    <Modal isShow={isShow} onClose={() => { }} className='px-8 py-6 !max-w-[520px] !rounded-xl'>
       <div className='relative pb-1 text-xl font-medium leading-[30px] text-gray-900'>{t('datasetDocuments.list.batchModal.title')}</div>
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onCancel}>
-        <RiCloseLine className='h-4 w-4 text-gray-500' />
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onCancel}>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
       <CSVUploader
         file={currentCSV}
@@ -52,7 +51,7 @@
       <CSVDownloader
         docForm={docForm}
       />
-      <div className='mt-[28px] flex justify-end pt-6'>
+      <div className='mt-[28px] pt-6 flex justify-end'>
         <Button className='mr-2' onClick={onCancel}>
           {t('datasetDocuments.list.batchModal.cancel')}
         </Button>
diff --git a/app/components/datasets/documents/detail/completed/SegmentCard.tsx b/app/components/datasets/documents/detail/completed/SegmentCard.tsx
new file mode 100644
index 0000000..264d62b
--- /dev/null
+++ b/app/components/datasets/documents/detail/completed/SegmentCard.tsx
@@ -0,0 +1,259 @@
+import type { FC } from 'react'
+import React, { useState } from 'react'
+import { ArrowUpRightIcon } from '@heroicons/react/24/outline'
+import { useTranslation } from 'react-i18next'
+import {
+  RiDeleteBinLine,
+} from '@remixicon/react'
+import { StatusItem } from '../../list'
+import style from '../../style.module.css'
+import s from './style.module.css'
+import { SegmentIndexTag } from './common/segment-index-tag'
+import cn from '@/utils/classnames'
+import Confirm from '@/app/components/base/confirm'
+import Switch from '@/app/components/base/switch'
+import Divider from '@/app/components/base/divider'
+import Indicator from '@/app/components/header/indicator'
+import { formatNumber } from '@/utils/format'
+import type { SegmentDetailModel } from '@/models/datasets'
+
+const ProgressBar: FC<{ percent: number; loading: boolean }> = ({ percent, loading }) => {
+  return (
+    <div className={s.progressWrapper}>
+      <div className={cn(s.progress, loading ? s.progressLoading : '')}>
+        <div
+          className={s.progressInner}
+          style={{ width: `${loading ? 0 : (Math.min(percent, 1) * 100).toFixed(2)}%` }}
+        />
+      </div>
+      <div className={loading ? s.progressTextLoading : s.progressText}>{loading ? null : percent.toFixed(2)}</div>
+    </div>
+  )
+}
+
+type DocumentTitleProps = {
+  extension?: string
+  name?: string
+  iconCls?: string
+  textCls?: string
+  wrapperCls?: string
+}
+
+const DocumentTitle: FC<DocumentTitleProps> = ({ extension, name, iconCls, textCls, wrapperCls }) => {
+  const localExtension = extension?.toLowerCase() || name?.split('.')?.pop()?.toLowerCase()
+  return <div className={cn('flex items-center justify-start flex-1', wrapperCls)}>
+    <div className={cn(s[`${localExtension || 'txt'}Icon`], style.titleIcon, iconCls)}></div>
+    <span className={cn('font-semibold text-lg text-gray-900 ml-1', textCls)}> {name || '--'}</span>
+  </div>
+}
+
+export type UsageScene = 'doc' | 'hitTesting'
+
+type ISegmentCardProps = {
+  loading: boolean
+  detail?: SegmentDetailModel & { document: { name: string } }
+  contentExternal?: string
+  refSource?: {
+    title: string
+    uri: string
+  }
+  isExternal?: boolean
+  score?: number
+  onClick?: () => void
+  onChangeSwitch?: (segId: string, enabled: boolean) => Promise<void>
+  onDelete?: (segId: string) => Promise<void>
+  scene?: UsageScene
+  className?: string
+  archived?: boolean
+  embeddingAvailable?: boolean
+}
+
+const SegmentCard: FC<ISegmentCardProps> = ({
+  detail = {},
+  contentExternal,
+  isExternal,
+  refSource,
+  score,
+  onClick,
+  onChangeSwitch,
+  onDelete,
+  loading = true,
+  scene = 'doc',
+  className = '',
+  archived,
+  embeddingAvailable,
+}) => {
+  const { t } = useTranslation()
+  const {
+    id,
+    position,
+    enabled,
+    content,
+    word_count,
+    hit_count,
+    index_node_hash,
+    answer,
+  } = detail as Required<ISegmentCardProps>['detail']
+  const isDocScene = scene === 'doc'
+  const [showModal, setShowModal] = useState(false)
+
+  const renderContent = () => {
+    if (answer) {
+      return (
+        <>
+          <div className='flex mb-2'>
+            <div className='mr-2 text-[13px] font-semibold text-gray-400'>Q</div>
+            <div className='text-[13px]'>{content}</div>
+          </div>
+          <div className='flex'>
+            <div className='mr-2 text-[13px] font-semibold text-gray-400'>A</div>
+            <div className='text-[13px]'>{answer}</div>
+          </div>
+        </>
+      )
+    }
+
+    if (contentExternal)
+      return contentExternal
+
+    return content
+  }
+
+  return (
+    <div
+      className={cn(
+        s.segWrapper,
+        (isDocScene && !enabled) ? 'bg-gray-25' : '',
+        'group',
+        !loading ? 'pb-4 hover:pb-[10px]' : '',
+        className,
+      )}
+      onClick={() => onClick?.()}
+    >
+      <div className={s.segTitleWrapper}>
+        {isDocScene
+          ? <>
+            <SegmentIndexTag positionId={position} className={cn('w-fit group-hover:opacity-100', (isDocScene && !enabled) ? 'opacity-50' : '')} />
+            <div className={s.segStatusWrapper}>
+              {loading
+                ? (
+                  <Indicator
+                    color="gray"
+                    className="bg-gray-200 border-gray-300 shadow-none"
+                  />
+                )
+                : (
+                  <>
+                    <StatusItem status={enabled ? 'enabled' : 'disabled'} reverse textCls="text-gray-500 text-xs" />
+                    {embeddingAvailable && (
+                      <div className="hidden group-hover:inline-flex items-center">
+                        <Divider type="vertical" className="!h-2" />
+                        <div
+                          onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) =>
+                            e.stopPropagation()
+                          }
+                          className="inline-flex items-center"
+                        >
+                          <Switch
+                            size='md'
+                            disabled={archived || detail.status !== 'completed'}
+                            defaultValue={enabled}
+                            onChange={async (val) => {
+                              await onChangeSwitch?.(id, val)
+                            }}
+                          />
+                        </div>
+                      </div>
+                    )}
+                  </>
+                )}
+            </div>
+          </>
+          : (
+            score !== null
+              ? (
+                <div className={s.hitTitleWrapper}>
+                  <div className={cn(s.commonIcon, s.targetIcon, loading ? '!bg-gray-300' : '', '!w-3.5 !h-3.5')} />
+                  <ProgressBar percent={score ?? 0} loading={loading} />
+                </div>
+              )
+              : null
+          )}
+      </div>
+      {loading
+        ? (
+          <div className={cn(s.cardLoadingWrapper, s.cardLoadingIcon)}>
+            <div className={cn(s.cardLoadingBg)} />
+          </div>
+        )
+        : (
+          isDocScene
+            ? <>
+              <div
+                className={cn(
+                  s.segContent,
+                  enabled ? '' : 'opacity-50',
+                  'group-hover:text-transparent group-hover:bg-clip-text group-hover:bg-gradient-to-b',
+                )}
+              >
+                {renderContent()}
+              </div>
+              <div className={cn('group-hover:flex', s.segData)}>
+                <div className="flex items-center mr-6">
+                  <div className={cn(s.commonIcon, s.typeSquareIcon)}></div>
+                  <div className={s.segDataText}>{formatNumber(word_count)}</div>
+                </div>
+                <div className="flex items-center mr-6">
+                  <div className={cn(s.commonIcon, s.targetIcon)} />
+                  <div className={s.segDataText}>{formatNumber(hit_count)}</div>
+                </div>
+                <div className="grow flex items-center">
+                  <div className={cn(s.commonIcon, s.bezierCurveIcon)} />
+                  <div className={s.segDataText}>{index_node_hash}</div>
+                </div>
+                {!archived && embeddingAvailable && (
+                  <div className='shrink-0 w-6 h-6 flex items-center justify-center rounded-md hover:bg-red-100 hover:text-red-600 cursor-pointer group/delete' onClick={(e) => {
+                    e.stopPropagation()
+                    setShowModal(true)
+                  }}>
+                    <RiDeleteBinLine className='w-[14px] h-[14px] text-gray-500 group-hover/delete:text-red-600' />
+                  </div>
+                )}
+              </div>
+            </>
+            : <>
+              <div className="h-[140px] overflow-hidden text-ellipsis text-sm font-normal text-gray-800">
+                {renderContent()}
+              </div>
+              <div className={cn('w-full bg-gray-50 group-hover:bg-white')}>
+                <Divider />
+                <div className="relative flex items-center w-full pb-1">
+                  <DocumentTitle
+                    name={detail?.document?.name || refSource?.title || ''}
+                    extension={(detail?.document?.name || refSource?.title || '').split('.').pop() || 'txt'}
+                    wrapperCls='w-full'
+                    iconCls="!h-4 !w-4 !bg-contain"
+                    textCls="text-xs text-gray-700 !font-normal overflow-hidden whitespace-nowrap text-ellipsis"
+                  />
+                  <div className={cn(s.chartLinkText, 'group-hover:inline-flex')}>
+                    {isExternal ? t('datasetHitTesting.viewDetail') : t('datasetHitTesting.viewChart')}
+                    <ArrowUpRightIcon className="w-3 h-3 ml-1 stroke-current stroke-2" />
+                  </div>
+                </div>
+              </div>
+            </>
+        )}
+      {showModal
+        && <Confirm
+          isShow={showModal}
+          title={t('datasetDocuments.segment.delete')}
+          confirmText={t('common.operation.sure')}
+          onConfirm={async () => { await onDelete?.(id) }}
+          onCancel={() => setShowModal(false)}
+        />
+      }
+    </div>
+  )
+}
+
+export default SegmentCard
diff --git a/app/components/datasets/documents/detail/completed/child-segment-detail.tsx b/app/components/datasets/documents/detail/completed/child-segment-detail.tsx
index 81afed9..085bfdd 100644
--- a/app/components/datasets/documents/detail/completed/child-segment-detail.tsx
+++ b/app/components/datasets/documents/detail/completed/child-segment-detail.tsx
@@ -2,7 +2,6 @@
 import { useTranslation } from 'react-i18next'
 import {
   RiCloseLine,
-  RiCollapseDiagonalLine,
   RiExpandDiagonalLine,
 } from '@remixicon/react'
 import ActionButtons from './common/action-buttons'
@@ -51,6 +50,7 @@
 
   const handleCancel = () => {
     onCancel()
+    setContent(childChunkInfo?.content || '')
   }
 
   const handleSave = () => {
@@ -73,16 +73,16 @@
   }, [childChunkInfo?.updated_at])
 
   return (
-    <div className={'flex h-full flex-col'}>
+    <div className={'flex flex-col h-full'}>
       <div className={classNames('flex items-center justify-between', fullScreen ? 'py-3 pr-4 pl-6 border border-divider-subtle' : 'pt-3 pr-3 pl-4')}>
         <div className='flex flex-col'>
-          <div className='system-xl-semibold text-text-primary'>{t('datasetDocuments.segment.editChildChunk')}</div>
+          <div className='text-text-primary system-xl-semibold'>{t('datasetDocuments.segment.editChildChunk')}</div>
           <div className='flex items-center gap-x-2'>
             <SegmentIndexTag positionId={childChunkInfo?.position || ''} labelPrefix={t('datasetDocuments.segment.childChunk') as string} />
             <Dot />
-            <span className='system-xs-medium text-text-tertiary'>{wordCountText}</span>
+            <span className='text-text-tertiary system-xs-medium'>{wordCountText}</span>
             <Dot />
-            <span className='system-xs-medium text-text-tertiary'>
+            <span className='text-text-tertiary system-xs-medium'>
               {EditTimeText}
             </span>
           </div>
@@ -96,14 +96,14 @@
                 loading={loading}
                 isChildChunk={true}
               />
-              <Divider type='vertical' className='ml-4 mr-2 h-3.5 bg-divider-regular' />
+              <Divider type='vertical' className='h-3.5 bg-divider-regular ml-4 mr-2' />
             </>
           )}
-          <div className='mr-1 flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={toggleFullScreen}>
-            {fullScreen ? <RiCollapseDiagonalLine className='h-4 w-4 text-text-tertiary' /> : <RiExpandDiagonalLine className='h-4 w-4 text-text-tertiary' />}
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer mr-1' onClick={toggleFullScreen}>
+            <RiExpandDiagonalLine className='w-4 h-4 text-text-tertiary' />
           </div>
-          <div className='flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={onCancel}>
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer' onClick={onCancel}>
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
@@ -118,7 +118,7 @@
         </div>
       </div>
       {!fullScreen && (
-        <div className='flex items-center justify-end border-t-[1px] border-t-divider-subtle p-4 pt-3'>
+        <div className='flex items-center justify-end p-4 pt-3 border-t-[1px] border-t-divider-subtle'>
           <ActionButtons
             handleCancel={handleCancel}
             handleSave={handleSave}
diff --git a/app/components/datasets/documents/detail/completed/child-segment-list.tsx b/app/components/datasets/documents/detail/completed/child-segment-list.tsx
index be5fc8b..1615ea9 100644
--- a/app/components/datasets/documents/detail/completed/child-segment-list.tsx
+++ b/app/components/datasets/documents/detail/completed/child-segment-list.tsx
@@ -94,7 +94,7 @@
       isParagraphMode ? 'pt-1 pb-2' : 'px-3 grow',
       (isFullDocMode && isLoading) && 'overflow-y-hidden',
     )}>
-      {isFullDocMode ? <Divider type='horizontal' className='my-1 h-[1px] bg-divider-subtle' /> : null}
+      {isFullDocMode ? <Divider type='horizontal' className='h-[1px] bg-divider-subtle my-1' /> : null}
       <div className={classNames('flex items-center justify-between', isFullDocMode ? 'pt-2 pb-3 sticky -top-2 left-0 bg-background-default' : '')}>
         <div className={classNames(
           'h-7 flex items-center pl-1 pr-3 rounded-lg',
@@ -111,12 +111,12 @@
             isParagraphMode
               ? collapsed
                 ? (
-                  <RiArrowRightSLine className='mr-0.5 h-4 w-4 text-text-secondary opacity-50' />
+                  <RiArrowRightSLine className='w-4 h-4 text-text-secondary opacity-50 mr-0.5' />
                 )
-                : (<RiArrowDownSLine className='mr-0.5 h-4 w-4 text-text-secondary' />)
+                : (<RiArrowDownSLine className='w-4 h-4 text-text-secondary mr-0.5' />)
               : null
           }
-          <span className='system-sm-semibold-uppercase text-text-secondary'>{totalText}</span>
+          <span className='text-text-secondary system-sm-semibold-uppercase'>{totalText}</span>
           <span className={classNames('text-text-quaternary text-xs font-medium pl-1.5', isParagraphMode ? 'hidden group-hover/card:inline-block' : '')}>路</span>
           <button
             type='button'
@@ -150,7 +150,7 @@
         ? <div className={classNames('flex gap-x-0.5', isFullDocMode ? 'grow mb-6' : 'items-center')}>
           {isParagraphMode && (
             <div className='self-stretch'>
-              <Divider type='vertical' className='mx-[7px] w-[2px] bg-text-accent-secondary' />
+              <Divider type='vertical' className='w-[2px] mx-[7px] bg-text-accent-secondary' />
             </div>
           )}
           {childChunks.length > 0
@@ -165,7 +165,7 @@
                   onDelete={() => onDelete?.(childChunk.segment_id, childChunk.id)}
                   labelClassName={focused ? 'bg-state-accent-solid text-text-primary-on-surface' : ''}
                   labelInnerClassName={'text-[10px] font-semibold align-bottom leading-6'}
-                  contentClassName={classNames('!leading-6', focused ? 'bg-state-accent-hover-alt text-text-primary' : 'text-text-secondary')}
+                  contentClassName={classNames('!leading-6', focused ? 'bg-state-accent-hover-alt text-text-primary' : '')}
                   showDivider={false}
                   onClick={(e) => {
                     e.stopPropagation()
diff --git a/app/components/datasets/documents/detail/completed/common/action-buttons.tsx b/app/components/datasets/documents/detail/completed/common/action-buttons.tsx
index fd0a072..1238d98 100644
--- a/app/components/datasets/documents/detail/completed/common/action-buttons.tsx
+++ b/app/components/datasets/documents/detail/completed/common/action-buttons.tsx
@@ -36,8 +36,8 @@
     if (loading)
       return
     handleSave()
-  },
-  { exactMatch: true, useCapture: true })
+  }
+  , { exactMatch: true, useCapture: true })
 
   const isParentChildParagraphMode = useMemo(() => {
     return mode === 'hierarchical' && parentMode === 'paragraph'
@@ -49,8 +49,8 @@
         onClick={handleCancel}
       >
         <div className='flex items-center gap-x-1'>
-          <span className='system-sm-medium text-components-button-secondary-text'>{t('common.operation.cancel')}</span>
-          <span className='system-kbd rounded-[4px] bg-components-kbd-bg-gray px-[1px] text-text-tertiary'>ESC</span>
+          <span className='text-components-button-secondary-text system-sm-medium'>{t('common.operation.cancel')}</span>
+          <span className='px-[1px] bg-components-kbd-bg-gray rounded-[4px] text-text-tertiary system-kbd'>ESC</span>
         </div>
       </Button>
       {(isParentChildParagraphMode && actionType === 'edit' && !isChildChunk)
@@ -58,7 +58,7 @@
           onClick={handleRegeneration}
           disabled={loading}
         >
-          <span className='system-sm-medium text-components-button-secondary-text'>
+          <span className='text-components-button-secondary-text system-sm-medium'>
             {t('common.operation.saveAndRegenerate')}
           </span>
         </Button>
@@ -72,8 +72,8 @@
         <div className='flex items-center gap-x-1'>
           <span className='text-components-button-primary-text'>{t('common.operation.save')}</span>
           <div className='flex items-center gap-x-0.5'>
-            <span className='system-kbd h-4 w-4 rounded-[4px] bg-components-kbd-bg-white capitalize text-text-primary-on-surface'>{getKeyboardKeyNameBySystem('ctrl')}</span>
-            <span className='system-kbd h-4 w-4 rounded-[4px] bg-components-kbd-bg-white text-text-primary-on-surface'>S</span>
+            <span className='w-4 h-4 bg-components-kbd-bg-white rounded-[4px] text-text-primary-on-surface system-kbd capitalize'>{getKeyboardKeyNameBySystem('ctrl')}</span>
+            <span className='w-4 h-4 bg-components-kbd-bg-white rounded-[4px] text-text-primary-on-surface system-kbd'>S</span>
           </div>
         </div>
       </Button>
diff --git a/app/components/datasets/documents/detail/completed/common/add-another.tsx b/app/components/datasets/documents/detail/completed/common/add-another.tsx
index c504faa..444560e 100644
--- a/app/components/datasets/documents/detail/completed/common/add-another.tsx
+++ b/app/components/datasets/documents/detail/completed/common/add-another.tsx
@@ -24,7 +24,7 @@
         checked={isChecked}
         onCheck={onCheck}
       />
-      <span className='system-xs-medium text-text-tertiary'>{t('datasetDocuments.segment.addAnother')}</span>
+      <span className='text-text-tertiary system-xs-medium'>{t('datasetDocuments.segment.addAnother')}</span>
     </div>
   )
 }
diff --git a/app/components/datasets/documents/detail/completed/common/batch-action.tsx b/app/components/datasets/documents/detail/completed/common/batch-action.tsx
index 78dda7b..3dd3689 100644
--- a/app/components/datasets/documents/detail/completed/common/batch-action.tsx
+++ b/app/components/datasets/documents/detail/completed/common/batch-action.tsx
@@ -1,5 +1,5 @@
 import React, { type FC } from 'react'
-import { RiArchive2Line, RiCheckboxCircleLine, RiCloseCircleLine, RiDeleteBinLine, RiDraftLine } from '@remixicon/react'
+import { RiArchive2Line, RiCheckboxCircleLine, RiCloseCircleLine, RiDeleteBinLine } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { useBoolean } from 'ahooks'
 import Divider from '@/app/components/base/divider'
@@ -14,7 +14,6 @@
   onBatchDisable: () => void
   onBatchDelete: () => Promise<void>
   onArchive?: () => void
-  onEditMetadata?: () => void
   onCancel: () => void
 }
 
@@ -25,7 +24,6 @@
   onBatchDisable,
   onArchive,
   onBatchDelete,
-  onEditMetadata,
   onCancel,
 }) => {
   const { t } = useTranslation()
@@ -44,52 +42,43 @@
   }
   return (
     <div className={classNames('w-full flex justify-center gap-x-2', className)}>
-      <div className='flex items-center gap-x-1 rounded-[10px] border border-components-actionbar-border-accent bg-components-actionbar-bg-accent p-1 shadow-xl shadow-shadow-shadow-5 backdrop-blur-[5px]'>
-        <div className='inline-flex items-center gap-x-2 py-1 pl-2 pr-3'>
-          <span className='flex h-5 w-5 items-center justify-center rounded-md bg-text-accent px-1 py-0.5 text-xs font-medium text-text-primary-on-surface'>
+      <div className='flex items-center gap-x-1 p-1 rounded-[10px] bg-components-actionbar-bg-accent border border-components-actionbar-border-accent shadow-xl shadow-shadow-shadow-5 backdrop-blur-[5px]'>
+        <div className='inline-flex items-center gap-x-2 pl-2 pr-3 py-1'>
+          <span className='w-5 h-5 flex items-center justify-center px-1 py-0.5 bg-text-accent rounded-md text-text-primary-on-surface text-xs font-medium'>
             {selectedIds.length}
           </span>
-          <span className='text-[13px] font-semibold leading-[16px] text-text-accent'>{t(`${i18nPrefix}.selected`)}</span>
+          <span className='text-text-accent text-[13px] font-semibold leading-[16px]'>{t(`${i18nPrefix}.selected`)}</span>
         </div>
         <Divider type='vertical' className='mx-0.5 h-3.5 bg-divider-regular' />
         <div className='flex items-center gap-x-0.5 px-3 py-2'>
-          <RiCheckboxCircleLine className='h-4 w-4 text-components-button-ghost-text' />
-          <button type='button' className='px-0.5 text-[13px] font-medium leading-[16px] text-components-button-ghost-text' onClick={onBatchEnable}>
+          <RiCheckboxCircleLine className='w-4 h-4 text-components-button-ghost-text' />
+          <button type='button' className='px-0.5 text-components-button-ghost-text text-[13px] font-medium leading-[16px]' onClick={onBatchEnable}>
             {t(`${i18nPrefix}.enable`)}
           </button>
         </div>
         <div className='flex items-center gap-x-0.5 px-3 py-2'>
-          <RiCloseCircleLine className='h-4 w-4 text-components-button-ghost-text' />
-          <button type='button' className='px-0.5 text-[13px] font-medium leading-[16px] text-components-button-ghost-text' onClick={onBatchDisable}>
+          <RiCloseCircleLine className='w-4 h-4 text-components-button-ghost-text' />
+          <button type='button' className='px-0.5 text-components-button-ghost-text text-[13px] font-medium leading-[16px]' onClick={onBatchDisable}>
             {t(`${i18nPrefix}.disable`)}
           </button>
         </div>
-        {onEditMetadata && (
-          <div className='flex items-center gap-x-0.5 px-3 py-2'>
-            <RiDraftLine className='h-4 w-4 text-components-button-ghost-text' />
-            <button type='button' className='px-0.5 text-[13px] font-medium leading-[16px] text-components-button-ghost-text' onClick={onEditMetadata}>
-              {t('dataset.metadata.metadata')}
-            </button>
-          </div>
-        )}
-
         {onArchive && (
           <div className='flex items-center gap-x-0.5 px-3 py-2'>
-            <RiArchive2Line className='h-4 w-4 text-components-button-ghost-text' />
-            <button type='button' className='px-0.5 text-[13px] font-medium leading-[16px] text-components-button-ghost-text' onClick={onArchive}>
+            <RiArchive2Line className='w-4 h-4 text-components-button-ghost-text' />
+            <button type='button' className='px-0.5 text-components-button-ghost-text text-[13px] font-medium leading-[16px]' onClick={onArchive}>
               {t(`${i18nPrefix}.archive`)}
             </button>
           </div>
         )}
         <div className='flex items-center gap-x-0.5 px-3 py-2'>
-          <RiDeleteBinLine className='h-4 w-4 text-components-button-destructive-ghost-text' />
-          <button type='button' className='px-0.5 text-[13px] font-medium leading-[16px] text-components-button-destructive-ghost-text' onClick={showDeleteConfirm}>
+          <RiDeleteBinLine className='w-4 h-4 text-components-button-destructive-ghost-text' />
+          <button type='button' className='px-0.5 text-components-button-destructive-ghost-text text-[13px] font-medium leading-[16px]' onClick={showDeleteConfirm}>
             {t(`${i18nPrefix}.delete`)}
           </button>
         </div>
 
         <Divider type='vertical' className='mx-0.5 h-3.5 bg-divider-regular' />
-        <button type='button' className='px-3.5 py-2 text-[13px] font-medium leading-[16px] text-components-button-ghost-text' onClick={onCancel}>
+        <button type='button' className='px-3.5 py-2 text-components-button-ghost-text text-[13px] font-medium leading-[16px]' onClick={onCancel}>
           {t(`${i18nPrefix}.cancel`)}
         </button>
       </div>
diff --git a/app/components/datasets/documents/detail/completed/common/chunk-content.tsx b/app/components/datasets/documents/detail/completed/common/chunk-content.tsx
index 2f20549..e6403fa 100644
--- a/app/components/datasets/documents/detail/completed/common/chunk-content.tsx
+++ b/app/components/datasets/documents/detail/completed/common/chunk-content.tsx
@@ -3,7 +3,6 @@
 import { useTranslation } from 'react-i18next'
 import { ChunkingMode } from '@/models/datasets'
 import classNames from '@/utils/classnames'
-import { Markdown } from '@/app/components/base/markdown'
 
 type IContentProps = ComponentProps<'textarea'>
 
@@ -17,7 +16,7 @@
   return (
     <textarea
       className={classNames(
-        'bg-transparent inset-0 outline-none border-none appearance-none resize-none w-full overflow-y-auto',
+        'disabled:bg-transparent inset-0 outline-none border-none appearance-none resize-none w-full overflow-y-auto',
         className,
       )}
       placeholder={placeholder}
@@ -53,7 +52,7 @@
     if (!textarea)
       return
     textarea.style.height = 'auto'
-    const lineHeight = Number.parseInt(getComputedStyle(textarea).lineHeight)
+    const lineHeight = parseInt(getComputedStyle(textarea).lineHeight)
     const textareaHeight = Math.max(textarea.scrollHeight, lineHeight)
     textarea.style.height = `${textareaHeight}px`
   }, [value])
@@ -83,7 +82,7 @@
     <textarea
       ref={textareaRef}
       className={classNames(
-        'bg-transparent inset-0 outline-none border-none appearance-none resize-none w-full',
+        'disabled:bg-transparent inset-0 outline-none border-none appearance-none resize-none w-full',
         className,
       )}
       style={{
@@ -120,9 +119,9 @@
 
   return (
     <div ref={containerRef} className='h-full overflow-hidden'>
-      <div ref={labelRef} className='mb-1 text-xs font-medium text-text-tertiary'>QUESTION</div>
+      <div ref={labelRef} className='text-text-tertiary text-xs font-medium mb-1'>QUESTION</div>
       <AutoResizeTextArea
-        className='text-sm tracking-[-0.07px] text-text-secondary caret-[#295EFF]'
+        className='text-text-secondary text-sm tracking-[-0.07px] caret-[#295EFF]'
         value={question}
         placeholder={t('datasetDocuments.segment.questionPlaceholder') || ''}
         onChange={e => onQuestionChange(e.target.value)}
@@ -130,9 +129,9 @@
         containerRef={containerRef}
         labelRef={labelRef}
       />
-      <div className='mb-1 mt-6 text-xs font-medium text-text-tertiary'>ANSWER</div>
+      <div className='text-text-tertiary text-xs font-medium mb-1 mt-6'>ANSWER</div>
       <AutoResizeTextArea
-        className='text-sm tracking-[-0.07px] text-text-secondary caret-[#295EFF]'
+        className='text-text-secondary text-sm tracking-[-0.07px] caret-[#295EFF]'
         value={answer}
         placeholder={t('datasetDocuments.segment.answerPlaceholder') || ''}
         onChange={e => onAnswerChange?.(e.target.value)}
@@ -176,19 +175,9 @@
     />
   }
 
-  if (!isEditMode) {
-    return (
-      <Markdown
-        className='h-full w-full !text-text-secondary'
-        content={question}
-        customDisallowedElements={['input']}
-      />
-    )
-  }
-
   return (
     <Textarea
-      className='body-md-regular h-full w-full pb-6 tracking-[-0.07px] text-text-secondary caret-[#295EFF]'
+      className='h-full w-full pb-6 body-md-regular text-text-secondary tracking-[-0.07px] caret-[#295EFF]'
       value={question}
       placeholder={t('datasetDocuments.segment.contentPlaceholder') || ''}
       onChange={e => onQuestionChange(e.target.value)}
diff --git a/app/components/datasets/documents/detail/completed/common/dot.tsx b/app/components/datasets/documents/detail/completed/common/dot.tsx
index 2c70f6f..aa6a9f1 100644
--- a/app/components/datasets/documents/detail/completed/common/dot.tsx
+++ b/app/components/datasets/documents/detail/completed/common/dot.tsx
@@ -2,7 +2,7 @@
 
 const Dot = () => {
   return (
-    <div className='system-xs-medium text-text-quaternary'>路</div>
+    <div className='text-text-quaternary system-xs-medium'>路</div>
   )
 }
 
diff --git a/app/components/datasets/documents/detail/completed/common/empty.tsx b/app/components/datasets/documents/detail/completed/common/empty.tsx
index eef2aa9..cabcb6d 100644
--- a/app/components/datasets/documents/detail/completed/common/empty.tsx
+++ b/app/components/datasets/documents/detail/completed/common/empty.tsx
@@ -8,7 +8,7 @@
 
 const EmptyCard = React.memo(() => {
   return (
-    <div className='h-32 w-full shrink-0 rounded-xl bg-background-section-burn opacity-30' />
+    <div className='w-full h-32 rounded-xl opacity-30 bg-background-section-burn shrink-0' />
   )
 })
 
@@ -43,34 +43,34 @@
   const { t } = useTranslation()
 
   return (
-    <div className={'relative z-0 flex h-full items-center justify-center'}>
+    <div className={'h-full relative flex items-center justify-center z-0'}>
       <div className='flex flex-col items-center'>
-        <div className='relative z-10 flex h-14 w-14 items-center justify-center rounded-xl border border-divider-subtle bg-components-card-bg shadow-lg shadow-shadow-shadow-5'>
-          <RiFileList2Line className='h-6 w-6 text-text-secondary' />
+        <div className='relative z-10 flex items-center justify-center w-14 h-14 border border-divider-subtle bg-components-card-bg rounded-xl shadow-lg shadow-shadow-shadow-5'>
+          <RiFileList2Line className='w-6 h-6 text-text-secondary' />
           <Line className='absolute -right-[1px] top-1/2 -translate-y-1/2' />
           <Line className='absolute -left-[1px] top-1/2 -translate-y-1/2' />
-          <Line className='absolute left-1/2 top-0 -translate-x-1/2 -translate-y-1/2 rotate-90' />
-          <Line className='absolute left-1/2 top-full -translate-x-1/2 -translate-y-1/2 rotate-90' />
+          <Line className='absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 rotate-90' />
+          <Line className='absolute top-full left-1/2 -translate-x-1/2 -translate-y-1/2 rotate-90' />
         </div>
-        <div className='system-md-regular mt-3 text-text-tertiary'>
+        <div className='text-text-tertiary system-md-regular mt-3'>
           {t('datasetDocuments.segment.empty')}
         </div>
         <button
           type='button'
-          className='system-sm-medium mt-1 text-text-accent'
+          className='text-text-accent system-sm-medium mt-1'
           onClick={onClearFilter}
         >
           {t('datasetDocuments.segment.clearFilter')}
         </button>
       </div>
-      <div className='absolute left-0 top-0 -z-20 flex h-full w-full flex-col gap-y-3 overflow-hidden'>
+      <div className='h-full w-full absolute top-0 left-0 flex flex-col gap-y-3 -z-20 overflow-hidden'>
         {
           Array.from({ length: 10 }).map((_, i) => (
             <EmptyCard key={i} />
           ))
         }
       </div>
-      <div className='absolute left-0 top-0 -z-10 h-full w-full bg-dataset-chunk-list-mask-bg' />
+      <div className='h-full w-full absolute top-0 left-0 bg-dataset-chunk-list-mask-bg -z-10' />
     </div>
   )
 }
diff --git a/app/components/datasets/documents/detail/completed/common/full-screen-drawer.tsx b/app/components/datasets/documents/detail/completed/common/full-screen-drawer.tsx
index 277c429..0d86d2d 100644
--- a/app/components/datasets/documents/detail/completed/common/full-screen-drawer.tsx
+++ b/app/components/datasets/documents/detail/completed/common/full-screen-drawer.tsx
@@ -1,7 +1,6 @@
 import React, { type FC } from 'react'
 import Drawer from '@/app/components/base/drawer'
 import classNames from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 type IFullScreenDrawerProps = {
   isOpen: boolean
@@ -12,7 +11,7 @@
 
 const FullScreenDrawer: FC<IFullScreenDrawerProps> = ({
   isOpen,
-  onClose = noop,
+  onClose = () => {},
   fullScreen,
   children,
 }) => {
@@ -20,7 +19,7 @@
     <Drawer
       isOpen={isOpen}
       onClose={onClose}
-      panelClassName={classNames('!p-0 bg-components-panel-bg',
+      panelClassname={classNames('!p-0 bg-components-panel-bg',
         fullScreen
           ? '!max-w-full !w-full'
           : 'mt-16 mr-2 mb-2 !max-w-[560px] !w-[560px] border-[0.5px] border-components-panel-border rounded-xl',
diff --git a/app/components/datasets/documents/detail/completed/common/keywords.tsx b/app/components/datasets/documents/detail/completed/common/keywords.tsx
index ee90ee2..8c85ec1 100644
--- a/app/components/datasets/documents/detail/completed/common/keywords.tsx
+++ b/app/components/datasets/documents/detail/completed/common/keywords.tsx
@@ -24,8 +24,8 @@
   const { t } = useTranslation()
   return (
     <div className={classNames('flex flex-col', className)}>
-      <div className='system-xs-medium-uppercase text-text-tertiary'>{t('datasetDocuments.segment.keywords')}</div>
-      <div className='flex max-h-[200px] w-full flex-wrap gap-1 overflow-auto text-text-tertiary'>
+      <div className='text-text-tertiary system-xs-medium-uppercase'>{t('datasetDocuments.segment.keywords')}</div>
+      <div className='text-text-tertiary w-full max-h-[200px] overflow-auto flex flex-wrap gap-1'>
         {(!segInfo?.keywords?.length && actionType === 'view')
           ? '-'
           : (
diff --git a/app/components/datasets/documents/detail/completed/common/regeneration-modal.tsx b/app/components/datasets/documents/detail/completed/common/regeneration-modal.tsx
index 95bb339..c9356b7 100644
--- a/app/components/datasets/documents/detail/completed/common/regeneration-modal.tsx
+++ b/app/components/datasets/documents/detail/completed/common/regeneration-modal.tsx
@@ -5,7 +5,6 @@
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
-import { noop } from 'lodash-es'
 
 type IDefaultContentProps = {
   onCancel: () => void
@@ -21,8 +20,8 @@
   return (
     <>
       <div className='pb-4'>
-        <span className='title-2xl-semi-bold text-text-primary'>{t('datasetDocuments.segment.regenerationConfirmTitle')}</span>
-        <p className='system-md-regular text-text-secondary'>{t('datasetDocuments.segment.regenerationConfirmMessage')}</p>
+        <span className='text-text-primary title-2xl-semi-bold'>{t('datasetDocuments.segment.regenerationConfirmTitle')}</span>
+        <p className='text-text-secondary system-md-regular'>{t('datasetDocuments.segment.regenerationConfirmMessage')}</p>
       </div>
       <div className='flex justify-end gap-x-2 pt-6'>
         <Button onClick={onCancel}>
@@ -44,12 +43,12 @@
   return (
     <>
       <div className='pb-4'>
-        <span className='title-2xl-semi-bold text-text-primary'>{t('datasetDocuments.segment.regeneratingTitle')}</span>
-        <p className='system-md-regular text-text-secondary'>{t('datasetDocuments.segment.regeneratingMessage')}</p>
+        <span className='text-text-primary title-2xl-semi-bold'>{t('datasetDocuments.segment.regeneratingTitle')}</span>
+        <p className='text-text-secondary system-md-regular'>{t('datasetDocuments.segment.regeneratingMessage')}</p>
       </div>
       <div className='flex justify-end pt-6'>
         <Button variant='warning' destructive disabled className='inline-flex items-center gap-x-0.5'>
-          <RiLoader2Line className='h-4 w-4 animate-spin text-components-button-destructive-primary-text-disabled' />
+          <RiLoader2Line className='w-4 h-4 text-components-button-destructive-primary-text-disabled animate-spin' />
           <span>{t('common.operation.regenerate')}</span>
         </Button>
       </div>
@@ -78,8 +77,8 @@
   return (
     <>
       <div className='pb-4'>
-        <span className='title-2xl-semi-bold text-text-primary'>{t('datasetDocuments.segment.regenerationSuccessTitle')}</span>
-        <p className='system-md-regular text-text-secondary'>{t('datasetDocuments.segment.regenerationSuccessMessage')}</p>
+        <span className='text-text-primary title-2xl-semi-bold'>{t('datasetDocuments.segment.regenerationSuccessTitle')}</span>
+        <p className='text-text-secondary system-md-regular'>{t('datasetDocuments.segment.regenerationSuccessMessage')}</p>
       </div>
       <div className='flex justify-end pt-6'>
         <Button variant='primary' onClick={onClose}>
@@ -121,7 +120,7 @@
   })
 
   return (
-    <Modal isShow={isShow} onClose={noop} className='!max-w-[480px] !rounded-2xl'>
+    <Modal isShow={isShow} onClose={() => {}} className='!max-w-[480px] !rounded-2xl'>
       {!loading && !updateSucceeded && <DefaultContent onCancel={onCancel} onConfirm={onConfirm} />}
       {loading && !updateSucceeded && <RegeneratingContent />}
       {!loading && updateSucceeded && <RegenerationCompletedContent onClose={onClose} />}
diff --git a/app/components/datasets/documents/detail/completed/common/segment-index-tag.tsx b/app/components/datasets/documents/detail/completed/common/segment-index-tag.tsx
index 8f30a55..436bfb3 100644
--- a/app/components/datasets/documents/detail/completed/common/segment-index-tag.tsx
+++ b/app/components/datasets/documents/detail/completed/common/segment-index-tag.tsx
@@ -27,8 +27,8 @@
   }, [positionId, labelPrefix])
   return (
     <div className={cn('flex items-center', className)}>
-      <Chunk className={cn('mr-0.5 h-3 w-3 p-[1px] text-text-tertiary', iconClassName)} />
-      <div className={cn('system-xs-medium text-text-tertiary', labelClassName)}>
+      <Chunk className={cn('w-3 h-3 p-[1px] text-text-tertiary mr-0.5', iconClassName)} />
+      <div className={cn('text-text-tertiary system-xs-medium', labelClassName)}>
         {label || localPositionId}
       </div>
     </div>
diff --git a/app/components/datasets/documents/detail/completed/common/tag.tsx b/app/components/datasets/documents/detail/completed/common/tag.tsx
index 306087d..bb7261e 100644
--- a/app/components/datasets/documents/detail/completed/common/tag.tsx
+++ b/app/components/datasets/documents/detail/completed/common/tag.tsx
@@ -4,8 +4,8 @@
 const Tag = ({ text, className }: { text: string; className?: string }) => {
   return (
     <div className={cn('inline-flex items-center gap-x-0.5', className)}>
-      <span className='text-xs font-medium text-text-quaternary'>#</span>
-      <span className='line-clamp-1 max-w-12 shrink-0 text-xs text-text-tertiary'>{text}</span>
+      <span className='text-text-quaternary text-xs font-medium'>#</span>
+      <span className='text-text-tertiary text-xs max-w-12 line-clamp-1 shrink-0'>{text}</span>
     </div>
   )
 }
diff --git a/app/components/datasets/documents/detail/completed/display-toggle.tsx b/app/components/datasets/documents/detail/completed/display-toggle.tsx
index 24e0be1..b58b20c 100644
--- a/app/components/datasets/documents/detail/completed/display-toggle.tsx
+++ b/app/components/datasets/documents/detail/completed/display-toggle.tsx
@@ -2,7 +2,7 @@
 import { useTranslation } from 'react-i18next'
 import { RiLineHeight } from '@remixicon/react'
 import Tooltip from '@/app/components/base/tooltip'
-import { Collapse } from '@/app/components/base/icons/src/vender/line/editor'
+import { Collapse } from '@/app/components/base/icons/src/public/knowledge'
 
 type DisplayToggleProps = {
   isCollapsed: boolean
@@ -22,14 +22,14 @@
     >
       <button
         type='button'
-        className='flex items-center justify-center rounded-lg border-[0.5px] border-components-button-secondary-border
-        bg-components-button-secondary-bg p-2 shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]'
+        className='flex items-center justify-center p-2 rounded-lg bg-components-button-secondary-bg
+        border-[0.5px] border-components-button-secondary-border shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]'
         onClick={toggleCollapsed}
       >
         {
           isCollapsed
-            ? <RiLineHeight className='h-4 w-4 text-components-button-secondary-text' />
-            : <Collapse className='h-4 w-4 text-components-button-secondary-text' />
+            ? <RiLineHeight className='w-4 h-4 text-components-button-secondary-text' />
+            : <Collapse className='w-4 h-4 text-components-button-secondary-text' />
         }
       </button>
 
diff --git a/app/components/datasets/documents/detail/completed/index.tsx b/app/components/datasets/documents/detail/completed/index.tsx
index 4fe0df2..d4a4f03 100644
--- a/app/components/datasets/documents/detail/completed/index.tsx
+++ b/app/components/datasets/documents/detail/completed/index.tsx
@@ -46,7 +46,6 @@
   useUpdateSegment,
 } from '@/service/knowledge/use-segment'
 import { useInvalid } from '@/service/use-base'
-import { noop } from 'lodash-es'
 
 const DEFAULT_LIMIT = 10
 
@@ -72,7 +71,7 @@
 const SegmentListContext = createContext<SegmentListContextValue>({
   isCollapsed: true,
   fullScreen: false,
-  toggleFullScreen: noop,
+  toggleFullScreen: () => {},
   currSegment: { showModal: false },
   currChildChunk: { showModal: false },
 })
@@ -220,11 +219,13 @@
   const resetList = useCallback(() => {
     setSelectedSegmentIds([])
     invalidSegmentList()
-  }, [invalidSegmentList])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [])
 
   const resetChildList = useCallback(() => {
     invalidChildSegmentList()
-  }, [invalidChildSegmentList])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [])
 
   const onClickCard = (detail: SegmentDetailModel, isEditMode = false) => {
     setCurrSegment({ segInfo: detail, showModal: true, isEditMode })
@@ -251,7 +252,7 @@
   const invalidChunkListEnabled = useInvalid(useChunkListEnabledKey)
   const invalidChunkListDisabled = useInvalid(useChunkListDisabledKey)
 
-  const refreshChunkListWithStatusChanged = useCallback(() => {
+  const refreshChunkListWithStatusChanged = () => {
     switch (selectedStatus) {
       case 'all':
         invalidChunkListDisabled()
@@ -260,7 +261,7 @@
       default:
         invalidSegmentList()
     }
-  }, [selectedStatus, invalidChunkListDisabled, invalidChunkListEnabled, invalidSegmentList])
+  }
 
   const onChangeSwitch = useCallback(async (enable: boolean, segId?: string) => {
     const operationApi = enable ? enableSegment : disableSegment
@@ -278,7 +279,8 @@
         notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       },
     })
-  }, [datasetId, documentId, selectedSegmentIds, segments, disableSegment, enableSegment, t, notify, refreshChunkListWithStatusChanged])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [datasetId, documentId, selectedSegmentIds, segments])
 
   const { mutateAsync: deleteSegment } = useDeleteSegment()
 
@@ -293,11 +295,12 @@
         notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
       },
     })
-  }, [datasetId, documentId, selectedSegmentIds, deleteSegment, resetList, t, notify])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [datasetId, documentId, selectedSegmentIds])
 
   const { mutateAsync: updateSegment } = useUpdateSegment()
 
-  const refreshChunkListDataWithDetailChanged = useCallback(() => {
+  const refreshChunkListDataWithDetailChanged = () => {
     switch (selectedStatus) {
       case 'all':
         invalidChunkListDisabled()
@@ -312,7 +315,7 @@
         invalidChunkListEnabled()
         break
     }
-  }, [selectedStatus, invalidChunkListDisabled, invalidChunkListEnabled, invalidChunkListAll])
+  }
 
   const handleUpdateSegment = useCallback(async (
     segmentId: string,
@@ -354,7 +357,6 @@
           if (seg.id === segmentId) {
             seg.answer = res.data.answer
             seg.content = res.data.content
-            seg.sign_content = res.data.sign_content
             seg.keywords = res.data.keywords
             seg.word_count = res.data.word_count
             seg.hit_count = res.data.hit_count
@@ -371,18 +373,17 @@
         eventEmitter?.emit('update-segment-done')
       },
     })
-  }, [segments, datasetId, documentId, updateSegment, docForm, notify, eventEmitter, onCloseSegmentDetail, refreshChunkListDataWithDetailChanged, t])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [segments, datasetId, documentId])
 
   useEffect(() => {
     resetList()
-  // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [pathname])
 
   useEffect(() => {
     if (importStatus === ProcessStatus.COMPLETED)
       resetList()
-  // eslint-disable-next-line react-hooks/exhaustive-deps
-  }, [importStatus])
+  }, [importStatus, resetList])
 
   const onCancelBatchOperation = useCallback(() => {
     setSelectedSegmentIds([])
@@ -408,9 +409,9 @@
     setSelectedSegmentIds((prev) => {
       const currentAllSegIds = segments.map(seg => seg.id)
       const prevSelectedIds = prev.filter(item => !currentAllSegIds.includes(item))
-      return [...prevSelectedIds, ...(isAllSelected ? [] : currentAllSegIds)]
+      return [...prevSelectedIds, ...((isAllSelected || selectedSegmentIds.length > 0) ? [] : currentAllSegIds)]
     })
-  }, [segments, isAllSelected])
+  }, [segments, isAllSelected, selectedSegmentIds])
 
   const totalText = useMemo(() => {
     const isSearch = searchValue !== '' || selectedStatus !== 'all'
@@ -427,7 +428,8 @@
       const count = segmentListData?.total || 0
       return `${total} ${t('datasetDocuments.segment.searchResults', { count })}`
     }
-  }, [segmentListData, mode, parentMode, searchValue, selectedStatus, t])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [segmentListData?.total, mode, parentMode, searchValue, selectedStatus])
 
   const toggleFullScreen = useCallback(() => {
     setFullScreen(!fullScreen)
@@ -445,7 +447,8 @@
       resetList()
       currentPage !== totalPages && setCurrentPage(totalPages)
     }
-  }, [segmentListData, limit, currentPage, resetList])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [segmentListData, limit, currentPage])
 
   const { mutateAsync: deleteChildSegment } = useDeleteChildSegment()
 
@@ -465,7 +468,8 @@
         },
       },
     )
-  }, [datasetId, documentId, parentMode, deleteChildSegment, resetList, resetChildList, t, notify])
+  // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [datasetId, documentId, parentMode])
 
   const handleAddNewChildChunk = useCallback((parentChunkId: string) => {
     setShowNewChildSegmentModal(true)
@@ -484,7 +488,8 @@
     else {
       resetChildList()
     }
-  }, [parentMode, currChunkId, segments, refreshChunkListDataWithDetailChanged, resetChildList])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [parentMode, currChunkId, segments])
 
   const viewNewlyAddedChildChunk = useCallback(() => {
     const totalPages = childChunkListData?.total_pages || 0
@@ -498,7 +503,8 @@
       resetChildList()
       currentPage !== totalPages && setCurrentPage(totalPages)
     }
-  }, [childChunkListData, limit, currentPage, resetChildList])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [childChunkListData, limit, currentPage])
 
   const onClickSlice = useCallback((detail: ChildChunkDetail) => {
     setCurrChildChunk({ childChunkInfo: detail, showModal: true })
@@ -552,7 +558,8 @@
         eventEmitter?.emit('update-child-segment-done')
       },
     })
-  }, [segments, datasetId, documentId, parentMode, updateChildSegment, notify, eventEmitter, onCloseChildSegmentDetail, refreshChunkListDataWithDetailChanged, resetChildList, t])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [segments, childSegments, datasetId, documentId, parentMode])
 
   const onClearFilter = useCallback(() => {
     setInputValue('')
@@ -560,12 +567,6 @@
     setSelectedStatus('all')
     setCurrentPage(1)
   }, [])
-
-  const selectDefaultValue = useMemo(() => {
-    if (selectedStatus === 'all')
-      return 'all'
-    return selectedStatus ? 1 : 0
-  }, [selectedStatus])
 
   return (
     <SegmentListContext.Provider value={{
@@ -580,15 +581,15 @@
         <Checkbox
           className='shrink-0'
           checked={isAllSelected}
-          indeterminate={!isAllSelected && isSomeSelected}
+          mixed={!isAllSelected && isSomeSelected}
           onCheck={onSelectedAll}
           disabled={isLoadingSegmentList}
         />
-        <div className={'system-sm-semibold-uppercase flex-1 pl-5 text-text-secondary'}>{totalText}</div>
+        <div className={'system-sm-semibold-uppercase pl-5 text-text-secondary flex-1'}>{totalText}</div>
         <SimpleSelect
           onSelect={onChangeStatus}
           items={statusList.current}
-          defaultValue={selectDefaultValue}
+          defaultValue={selectedStatus === 'all' ? 'all' : selectedStatus ? 1 : 0}
           className={s.select}
           wrapperClassName='h-fit mr-2'
           optionWrapClassName='w-[160px]'
@@ -604,14 +605,14 @@
           onChange={e => handleInputChange(e.target.value)}
           onClear={() => handleInputChange('')}
         />
-        <Divider type='vertical' className='mx-3 h-3.5' />
+        <Divider type='vertical' className='h-3.5 mx-3' />
         <DisplayToggle isCollapsed={isCollapsed} toggleCollapsed={() => setIsCollapsed(!isCollapsed)} />
       </div>}
       {/* Segment list */}
       {
         isFullDocMode
           ? <div className={cn(
-            'flex grow flex-col overflow-x-hidden',
+            'flex flex-col grow overflow-x-hidden',
             (isLoadingSegmentList || isLoadingChildSegmentList) ? 'overflow-y-hidden' : 'overflow-y-auto',
           )}>
             <SegmentCard
@@ -655,7 +656,7 @@
           />
       }
       {/* Pagination */}
-      <Divider type='horizontal' className='mx-6 my-0 h-[1px] w-auto bg-divider-subtle' />
+      <Divider type='horizontal' className='w-auto h-[1px] my-0 mx-6 bg-divider-subtle' />
       <Pagination
         current={currentPage - 1}
         onChange={cur => setCurrentPage(cur + 1)}
@@ -721,7 +722,7 @@
       {/* Batch Action Buttons */}
       {selectedSegmentIds.length > 0
         && <BatchAction
-          className='absolute bottom-16 left-0 z-20'
+          className='absolute left-0 bottom-16 z-20'
           selectedIds={selectedSegmentIds}
           onBatchEnable={onChangeSwitch.bind(null, true, '')}
           onBatchDisable={onChangeSwitch.bind(null, false, '')}
diff --git a/app/components/datasets/documents/detail/completed/new-child-segment.tsx b/app/components/datasets/documents/detail/completed/new-child-segment.tsx
index e1d5701..55766d8 100644
--- a/app/components/datasets/documents/detail/completed/new-child-segment.tsx
+++ b/app/components/datasets/documents/detail/completed/new-child-segment.tsx
@@ -53,10 +53,10 @@
   }, [parentMode])
 
   const CustomButton = <>
-    <Divider type='vertical' className='mx-1 h-3 bg-divider-regular' />
+    <Divider type='vertical' className='h-3 mx-1 bg-divider-regular' />
     <button
       type='button'
-      className='system-xs-semibold text-text-accent'
+      className='text-text-accent system-xs-semibold'
       onClick={() => {
         clearTimeout(refreshTimer.current)
         viewNewlyAddedChildChunk?.()
@@ -68,6 +68,7 @@
   const handleCancel = (actionType: 'esc' | 'add' = 'esc') => {
     if (actionType === 'esc' || !addAnother)
       onCancel()
+    setContent('')
   }
 
   const { mutateAsync: addChildSegment } = useAddChildSegment()
@@ -113,14 +114,14 @@
   }, [content.length])
 
   return (
-    <div className={'flex h-full flex-col'}>
+    <div className={'flex flex-col h-full'}>
       <div className={classNames('flex items-center justify-between', fullScreen ? 'py-3 pr-4 pl-6 border border-divider-subtle' : 'pt-3 pr-3 pl-4')}>
         <div className='flex flex-col'>
-          <div className='system-xl-semibold text-text-primary'>{t('datasetDocuments.segment.addChildChunk')}</div>
+          <div className='text-text-primary system-xl-semibold'>{t('datasetDocuments.segment.addChildChunk')}</div>
           <div className='flex items-center gap-x-2'>
             <SegmentIndexTag label={t('datasetDocuments.segment.newChildChunk') as string} />
             <Dot />
-            <span className='system-xs-medium text-text-tertiary'>{wordCountText}</span>
+            <span className='text-text-tertiary system-xs-medium'>{wordCountText}</span>
           </div>
         </div>
         <div className='flex items-center'>
@@ -134,14 +135,14 @@
                 actionType='add'
                 isChildChunk={true}
               />
-              <Divider type='vertical' className='ml-4 mr-2 h-3.5 bg-divider-regular' />
+              <Divider type='vertical' className='h-3.5 bg-divider-regular ml-4 mr-2' />
             </>
           )}
-          <div className='mr-1 flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={toggleFullScreen}>
-            <RiExpandDiagonalLine className='h-4 w-4 text-text-tertiary' />
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer mr-1' onClick={toggleFullScreen}>
+            <RiExpandDiagonalLine className='w-4 h-4 text-text-tertiary' />
           </div>
-          <div className='flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={handleCancel.bind(null, 'esc')}>
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer' onClick={handleCancel.bind(null, 'esc')}>
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
@@ -156,7 +157,7 @@
         </div>
       </div>
       {!fullScreen && (
-        <div className='flex items-center justify-between border-t-[1px] border-t-divider-subtle p-4 pt-3'>
+        <div className='flex items-center justify-between p-4 pt-3 border-t-[1px] border-t-divider-subtle'>
           <AddAnother isChecked={addAnother} onCheck={() => setAddAnother(!addAnother)} />
           <ActionButtons
             handleCancel={handleCancel.bind(null, 'esc')}
diff --git a/app/components/datasets/documents/detail/completed/segment-card.tsx b/app/components/datasets/documents/detail/completed/segment-card.tsx
new file mode 100644
index 0000000..1cadd0c
--- /dev/null
+++ b/app/components/datasets/documents/detail/completed/segment-card.tsx
@@ -0,0 +1,280 @@
+import React, { type FC, useCallback, useMemo, useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import { RiDeleteBinLine, RiEditLine } from '@remixicon/react'
+import { StatusItem } from '../../list'
+import { useDocumentContext } from '../index'
+import ChildSegmentList from './child-segment-list'
+import Tag from './common/tag'
+import Dot from './common/dot'
+import { SegmentIndexTag } from './common/segment-index-tag'
+import ParentChunkCardSkeleton from './skeleton/parent-chunk-card-skeleton'
+import { useSegmentListContext } from './index'
+import type { ChildChunkDetail, SegmentDetailModel } from '@/models/datasets'
+import Switch from '@/app/components/base/switch'
+import Divider from '@/app/components/base/divider'
+import { formatNumber } from '@/utils/format'
+import Confirm from '@/app/components/base/confirm'
+import cn from '@/utils/classnames'
+import Badge from '@/app/components/base/badge'
+import { isAfter } from '@/utils/time'
+import Tooltip from '@/app/components/base/tooltip'
+
+type ISegmentCardProps = {
+  loading: boolean
+  detail?: SegmentDetailModel & { document?: { name: string } }
+  onClick?: () => void
+  onChangeSwitch?: (enabled: boolean, segId?: string) => Promise<void>
+  onDelete?: (segId: string) => Promise<void>
+  onDeleteChildChunk?: (segId: string, childChunkId: string) => Promise<void>
+  handleAddNewChildChunk?: (parentChunkId: string) => void
+  onClickSlice?: (childChunk: ChildChunkDetail) => void
+  onClickEdit?: () => void
+  className?: string
+  archived?: boolean
+  embeddingAvailable?: boolean
+  focused: {
+    segmentIndex: boolean
+    segmentContent: boolean
+  }
+}
+
+const SegmentCard: FC<ISegmentCardProps> = ({
+  detail = {},
+  onClick,
+  onChangeSwitch,
+  onDelete,
+  onDeleteChildChunk,
+  handleAddNewChildChunk,
+  onClickSlice,
+  onClickEdit,
+  loading = true,
+  className = '',
+  archived,
+  embeddingAvailable,
+  focused,
+}) => {
+  const { t } = useTranslation()
+  const {
+    id,
+    position,
+    enabled,
+    content,
+    word_count,
+    hit_count,
+    answer,
+    keywords,
+    child_chunks = [],
+    created_at,
+    updated_at,
+  } = detail as Required<ISegmentCardProps>['detail']
+  const [showModal, setShowModal] = useState(false)
+  const isCollapsed = useSegmentListContext(s => s.isCollapsed)
+  const mode = useDocumentContext(s => s.mode)
+  const parentMode = useDocumentContext(s => s.parentMode)
+
+  const isGeneralMode = useMemo(() => {
+    return mode === 'custom'
+  }, [mode])
+
+  const isParentChildMode = useMemo(() => {
+    return mode === 'hierarchical'
+  }, [mode])
+
+  const isParagraphMode = useMemo(() => {
+    return mode === 'hierarchical' && parentMode === 'paragraph'
+  }, [mode, parentMode])
+
+  const isFullDocMode = useMemo(() => {
+    return mode === 'hierarchical' && parentMode === 'full-doc'
+  }, [mode, parentMode])
+
+  const chunkEdited = useMemo(() => {
+    if (mode === 'hierarchical' && parentMode === 'full-doc')
+      return false
+    return isAfter(updated_at * 1000, created_at * 1000)
+  }, [mode, parentMode, updated_at, created_at])
+
+  const contentOpacity = useMemo(() => {
+    return (enabled || focused.segmentContent) ? '' : 'opacity-50 group-hover/card:opacity-100'
+  }, [enabled, focused.segmentContent])
+
+  const handleClickCard = useCallback(() => {
+    if (mode !== 'hierarchical' || parentMode !== 'full-doc')
+      onClick?.()
+  }, [mode, parentMode, onClick])
+
+  const renderContent = () => {
+    if (answer) {
+      return (
+        <>
+          <div className='flex gap-x-1'>
+            <div className='w-4 text-[13px] font-medium leading-[20px] text-text-tertiary shrink-0'>Q</div>
+            <div
+              className={cn('text-text-secondary body-md-regular',
+                isCollapsed ? 'line-clamp-2' : 'line-clamp-20',
+              )}>
+              {content}
+            </div>
+          </div>
+          <div className='flex gap-x-1'>
+            <div className='w-4 text-[13px] font-medium leading-[20px] text-text-tertiary shrink-0'>A</div>
+            <div className={cn('text-text-secondary body-md-regular',
+              isCollapsed ? 'line-clamp-2' : 'line-clamp-20',
+            )}>
+              {answer}
+            </div>
+          </div>
+        </>
+      )
+    }
+    return content
+  }
+
+  const wordCountText = useMemo(() => {
+    const total = formatNumber(word_count)
+    return `${total} ${t('datasetDocuments.segment.characters', { count: word_count })}`
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [word_count])
+
+  const labelPrefix = useMemo(() => {
+    return isParentChildMode ? t('datasetDocuments.segment.parentChunk') : t('datasetDocuments.segment.chunk')
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [isParentChildMode])
+
+  if (loading)
+    return <ParentChunkCardSkeleton />
+
+  return (
+    <div
+      className={cn(
+        'w-full px-3 rounded-xl group/card',
+        isFullDocMode ? '' : 'pt-2.5 pb-2 hover:bg-dataset-chunk-detail-card-hover-bg',
+        focused.segmentContent ? 'bg-dataset-chunk-detail-card-hover-bg' : '',
+        className,
+      )}
+      onClick={handleClickCard}
+    >
+      <div className='h-5 relative flex items-center justify-between'>
+        <>
+          <div className='flex items-center gap-x-2'>
+            <SegmentIndexTag
+              className={cn(contentOpacity)}
+              iconClassName={focused.segmentIndex ? 'text-text-accent' : ''}
+              labelClassName={focused.segmentIndex ? 'text-text-accent' : ''}
+              positionId={position}
+              label={isFullDocMode ? labelPrefix : ''}
+              labelPrefix={labelPrefix}
+            />
+            <Dot />
+            <div className={cn('text-text-tertiary system-xs-medium', contentOpacity)}>{wordCountText}</div>
+            <Dot />
+            <div className={cn('text-text-tertiary system-xs-medium', contentOpacity)}>{`${formatNumber(hit_count)} ${t('datasetDocuments.segment.hitCount')}`}</div>
+            {chunkEdited && (
+              <>
+                <Dot />
+                <Badge text={t('datasetDocuments.segment.edited') as string} uppercase className={contentOpacity} />
+              </>
+            )}
+          </div>
+          {!isFullDocMode
+            ? <div className='flex items-center'>
+              <StatusItem status={enabled ? 'enabled' : 'disabled'} reverse textCls="text-text-tertiary system-xs-regular" />
+              {embeddingAvailable && (
+                <div className="absolute -top-2 -right-2.5 z-20 hidden group-hover/card:flex items-center gap-x-0.5 p-1
+                      rounded-[10px] border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg shadow-md backdrop-blur-[5px]">
+                  {!archived && (
+                    <>
+                      <Tooltip
+                        popupContent='Edit'
+                        popupClassName='text-text-secondary system-xs-medium'
+                      >
+                        <div
+                          className='shrink-0 w-6 h-6 flex items-center justify-center rounded-lg hover:bg-state-base-hover cursor-pointer'
+                          onClick={(e) => {
+                            e.stopPropagation()
+                            onClickEdit?.()
+                          }}>
+                          <RiEditLine className='w-4 h-4 text-text-tertiary' />
+                        </div>
+                      </Tooltip>
+                      <Tooltip
+                        popupContent='Delete'
+                        popupClassName='text-text-secondary system-xs-medium'
+                      >
+                        <div className='shrink-0 w-6 h-6 flex items-center justify-center rounded-lg hover:bg-state-destructive-hover cursor-pointer group/delete'
+                          onClick={(e) => {
+                            e.stopPropagation()
+                            setShowModal(true)
+                          }
+                          }>
+                          <RiDeleteBinLine className='w-4 h-4 text-text-tertiary group-hover/delete:text-text-destructive' />
+                        </div>
+                      </Tooltip>
+                      <Divider type="vertical" className="h-3.5 bg-divider-regular" />
+                    </>
+                  )}
+                  <div
+                    onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) =>
+                      e.stopPropagation()
+                    }
+                    className="flex items-center"
+                  >
+                    <Switch
+                      size='md'
+                      disabled={archived || detail?.status !== 'completed'}
+                      defaultValue={enabled}
+                      onChange={async (val) => {
+                        await onChangeSwitch?.(val, id)
+                      }}
+                    />
+                  </div>
+                </div>
+              )}
+            </div>
+            : null}
+        </>
+      </div>
+      <div className={cn('text-text-secondary body-md-regular -tracking-[0.07px] mt-0.5',
+        contentOpacity,
+        isFullDocMode ? 'line-clamp-3' : isCollapsed ? 'line-clamp-2' : 'line-clamp-20',
+      )}>
+        {renderContent()}
+      </div>
+      {isGeneralMode && <div className={cn('flex flex-wrap items-center gap-2 py-1.5', contentOpacity)}>
+        {keywords?.map(keyword => <Tag key={keyword} text={keyword} />)}
+      </div>}
+      {
+        isFullDocMode
+          ? <button
+            type='button'
+            className='mt-0.5 mb-2 text-text-accent system-xs-semibold-uppercase'
+            onClick={() => onClick?.()}
+          >{t('common.operation.viewMore')}</button>
+          : null
+      }
+      {
+        isParagraphMode && child_chunks.length > 0
+          && <ChildSegmentList
+            parentChunkId={id}
+            childChunks={child_chunks}
+            enabled={enabled}
+            onDelete={onDeleteChildChunk!}
+            handleAddNewChildChunk={handleAddNewChildChunk}
+            onClickSlice={onClickSlice}
+            focused={focused.segmentContent}
+          />
+      }
+      {showModal
+        && <Confirm
+          isShow={showModal}
+          title={t('datasetDocuments.segment.delete')}
+          confirmText={t('common.operation.sure')}
+          onConfirm={async () => { await onDelete?.(id) }}
+          onCancel={() => setShowModal(false)}
+        />
+      }
+    </div>
+  )
+}
+
+export default React.memo(SegmentCard)
diff --git a/app/components/datasets/documents/detail/completed/segment-detail.tsx b/app/components/datasets/documents/detail/completed/segment-detail.tsx
index d3575c1..307a5cf 100644
--- a/app/components/datasets/documents/detail/completed/segment-detail.tsx
+++ b/app/components/datasets/documents/detail/completed/segment-detail.tsx
@@ -2,7 +2,6 @@
 import { useTranslation } from 'react-i18next'
 import {
   RiCloseLine,
-  RiCollapseDiagonalLine,
   RiExpandDiagonalLine,
 } from '@remixicon/react'
 import { useDocumentContext } from '../index'
@@ -38,7 +37,7 @@
   docForm,
 }) => {
   const { t } = useTranslation()
-  const [question, setQuestion] = useState(isEditMode ? segInfo?.content || '' : segInfo?.sign_content || '')
+  const [question, setQuestion] = useState(segInfo?.content || '')
   const [answer, setAnswer] = useState(segInfo?.answer || '')
   const [keywords, setKeywords] = useState<string[]>(segInfo?.keywords || [])
   const { eventEmitter } = useEventEmitterContextContext()
@@ -58,6 +57,9 @@
 
   const handleCancel = () => {
     onCancel()
+    setQuestion(segInfo?.content || '')
+    setAnswer(segInfo?.answer || '')
+    setKeywords(segInfo?.keywords || [])
   }
 
   const handleSave = () => {
@@ -86,7 +88,8 @@
 
   const titleText = useMemo(() => {
     return isEditMode ? t('datasetDocuments.segment.editChunk') : t('datasetDocuments.segment.chunkDetail')
-  }, [isEditMode, t])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [isEditMode])
 
   const isQAModel = useMemo(() => {
     return docForm === ChunkingMode.qa
@@ -97,21 +100,23 @@
     const total = formatNumber(isEditMode ? contentLength : segInfo!.word_count as number)
     const count = isEditMode ? contentLength : segInfo!.word_count as number
     return `${total} ${t('datasetDocuments.segment.characters', { count })}`
-  }, [isEditMode, question.length, answer.length, isQAModel, segInfo, t])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [isEditMode, question.length, answer.length, segInfo?.word_count, isQAModel])
 
   const labelPrefix = useMemo(() => {
     return isParentChildMode ? t('datasetDocuments.segment.parentChunk') : t('datasetDocuments.segment.chunk')
-  }, [isParentChildMode, t])
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [isParentChildMode])
 
   return (
-    <div className={'flex h-full flex-col'}>
+    <div className={'flex flex-col h-full'}>
       <div className={classNames('flex items-center justify-between', fullScreen ? 'py-3 pr-4 pl-6 border border-divider-subtle' : 'pt-3 pr-3 pl-4')}>
         <div className='flex flex-col'>
-          <div className='system-xl-semibold text-text-primary'>{titleText}</div>
+          <div className='text-text-primary system-xl-semibold'>{titleText}</div>
           <div className='flex items-center gap-x-2'>
             <SegmentIndexTag positionId={segInfo?.position || ''} label={isFullDocMode ? labelPrefix : ''} labelPrefix={labelPrefix} />
             <Dot />
-            <span className='system-xs-medium text-text-tertiary'>{wordCountText}</span>
+            <span className='text-text-tertiary system-xs-medium'>{wordCountText}</span>
           </div>
         </div>
         <div className='flex items-center'>
@@ -123,23 +128,23 @@
                 handleSave={handleSave}
                 loading={loading}
               />
-              <Divider type='vertical' className='ml-4 mr-2 h-3.5 bg-divider-regular' />
+              <Divider type='vertical' className='h-3.5 bg-divider-regular ml-4 mr-2' />
             </>
           )}
-          <div className='mr-1 flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={toggleFullScreen}>
-            {fullScreen ? <RiCollapseDiagonalLine className='h-4 w-4 text-text-tertiary' /> : <RiExpandDiagonalLine className='h-4 w-4 text-text-tertiary' />}
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer mr-1' onClick={toggleFullScreen}>
+            <RiExpandDiagonalLine className='w-4 h-4 text-text-tertiary' />
           </div>
-          <div className='flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={onCancel}>
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer' onClick={onCancel}>
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
       <div className={classNames(
         'flex grow',
         fullScreen ? 'w-full flex-row justify-center px-6 pt-6 gap-x-8' : 'flex-col gap-y-1 py-3 px-4',
-        !isEditMode && 'pb-0 overflow-hidden',
+        !isEditMode && 'pb-0',
       )}>
-        <div className={classNames(isEditMode ? 'break-all whitespace-pre-line overflow-hidden' : 'overflow-y-auto', fullScreen ? 'w-1/2' : 'grow')}>
+        <div className={classNames('break-all overflow-hidden whitespace-pre-line', fullScreen ? 'w-1/2' : 'grow')}>
           <ChunkContent
             docForm={docForm}
             question={question}
@@ -159,7 +164,7 @@
         />}
       </div>
       {isEditMode && !fullScreen && (
-        <div className='flex items-center justify-end border-t-[1px] border-t-divider-subtle p-4 pt-3'>
+        <div className='flex items-center justify-end p-4 pt-3 border-t-[1px] border-t-divider-subtle'>
           <ActionButtons
             handleCancel={handleCancel}
             handleRegeneration={handleRegeneration}
diff --git a/app/components/datasets/documents/detail/completed/segment-list.tsx b/app/components/datasets/documents/detail/completed/segment-list.tsx
index f6076e5..885db49 100644
--- a/app/components/datasets/documents/detail/completed/segment-list.tsx
+++ b/app/components/datasets/documents/detail/completed/segment-list.tsx
@@ -1,4 +1,4 @@
-import React, { useMemo } from 'react'
+import React, { type ForwardedRef, useMemo } from 'react'
 import { useDocumentContext } from '../index'
 import SegmentCard from './segment-card'
 import Empty from './common/empty'
@@ -25,25 +25,22 @@
   onClearFilter: () => void
 }
 
-const SegmentList = (
-  {
-    ref,
-    isLoading,
-    items,
-    selectedSegmentIds,
-    onSelected,
-    onClick: onClickCard,
-    onChangeSwitch,
-    onDelete,
-    onDeleteChildChunk,
-    handleAddNewChildChunk,
-    onClickSlice,
-    archived,
-    embeddingAvailable,
-    onClearFilter,
-  }: ISegmentListProps & {
-    ref: React.LegacyRef<HTMLDivElement>
-  },
+const SegmentList = React.forwardRef(({
+  isLoading,
+  items,
+  selectedSegmentIds,
+  onSelected,
+  onClick: onClickCard,
+  onChangeSwitch,
+  onDelete,
+  onDeleteChildChunk,
+  handleAddNewChildChunk,
+  onClickSlice,
+  archived,
+  embeddingAvailable,
+  onClearFilter,
+}: ISegmentListProps,
+ref: ForwardedRef<HTMLDivElement>,
 ) => {
   const mode = useDocumentContext(s => s.mode)
   const parentMode = useDocumentContext(s => s.parentMode)
@@ -66,7 +63,7 @@
     )
   }
   return (
-    <div ref={ref} className={'flex grow flex-col overflow-y-auto'}>
+    <div ref={ref} className={'flex flex-col grow overflow-y-auto'}>
       {
         items.map((segItem) => {
           const isLast = items[items.length - 1].id === segItem.id
@@ -79,11 +76,11 @@
             <div key={segItem.id} className='flex items-start gap-x-2'>
               <Checkbox
                 key={`${segItem.id}-checkbox`}
-                className='mt-3.5 shrink-0'
+                className='shrink-0 mt-3.5'
                 checked={selectedSegmentIds.includes(segItem.id)}
                 onCheck={() => onSelected(segItem.id)}
               />
-              <div className='min-w-0 grow'>
+              <div className='grow min-w-0'>
                 <SegmentCard
                   key={`${segItem.id}-card`}
                   detail={segItem}
@@ -103,7 +100,7 @@
                   }}
                 />
                 {!isLast && <div className='w-full px-3'>
-                  <Divider type='horizontal' className='my-1 bg-divider-subtle' />
+                  <Divider type='horizontal' className='bg-divider-subtle my-1' />
                 </div>}
               </div>
             </div>
@@ -112,7 +109,7 @@
       }
     </div>
   )
-}
+})
 
 SegmentList.displayName = 'SegmentList'
 
diff --git a/app/components/datasets/documents/detail/completed/skeleton/full-doc-list-skeleton.tsx b/app/components/datasets/documents/detail/completed/skeleton/full-doc-list-skeleton.tsx
index cc7daa5..7ae5e8c 100644
--- a/app/components/datasets/documents/detail/completed/skeleton/full-doc-list-skeleton.tsx
+++ b/app/components/datasets/documents/detail/completed/skeleton/full-doc-list-skeleton.tsx
@@ -3,10 +3,10 @@
 const Slice = React.memo(() => {
   return (
     <div className='flex flex-col gap-y-1'>
-      <div className='flex h-5 w-full items-center bg-state-base-hover'>
-        <span className='h-5 w-[30px] bg-state-base-hover-alt' />
+      <div className='w-full h-5 bg-state-base-hover flex items-center'>
+        <span className='w-[30px] h-5 bg-state-base-hover-alt' />
       </div>
-      <div className='h-5 w-2/3 bg-state-base-hover' />
+      <div className='w-2/3 h-5 bg-state-base-hover' />
     </div>
   )
 })
@@ -15,9 +15,9 @@
 
 const FullDocListSkeleton = () => {
   return (
-    <div className='relative z-10 flex w-full grow flex-col gap-y-3 overflow-y-hidden'>
-      <div className='absolute bottom-14 left-0 top-0 z-20 h-full w-full bg-dataset-chunk-list-mask-bg' />
-      {[...Array.from({ length: 15 })].map((_, index) => <Slice key={index} />)}
+    <div className='w-full grow flex flex-col gap-y-3 relative z-10 overflow-y-hidden'>
+      <div className='absolute top-0 left-0 bottom-14 w-full h-full bg-dataset-chunk-list-mask-bg z-20' />
+      {[...Array(15)].map((_, index) => <Slice key={index} />)}
     </div>
   )
 }
diff --git a/app/components/datasets/documents/detail/completed/skeleton/general-list-skeleton.tsx b/app/components/datasets/documents/detail/completed/skeleton/general-list-skeleton.tsx
index bf22a53..c9b9c08 100644
--- a/app/components/datasets/documents/detail/completed/skeleton/general-list-skeleton.tsx
+++ b/app/components/datasets/documents/detail/completed/skeleton/general-list-skeleton.tsx
@@ -8,10 +8,10 @@
 import Checkbox from '@/app/components/base/checkbox'
 import Divider from '@/app/components/base/divider'
 
-export const CardSkelton = React.memo(() => {
+const CardSkelton = React.memo(() => {
   return (
-    <SkeletonContainer className='gap-y-0 p-1 pb-2'>
-      <SkeletonContainer className='gap-y-0.5 px-2 pt-1.5'>
+    <SkeletonContainer className='p-1 pb-2 gap-y-0'>
+      <SkeletonContainer className='px-2 pt-1.5 gap-y-0.5'>
         <SkeletonRow className='py-0.5'>
           <SkeletonRectangle className='w-[72px] bg-text-quaternary' />
           <SkeletonPoint className='opacity-20' />
@@ -20,7 +20,7 @@
           <SkeletonRectangle className='w-24 bg-text-quaternary' />
           <SkeletonRow className='grow justify-end gap-1'>
             <SkeletonRectangle className='w-12 bg-text-quaternary' />
-            <SkeletonRectangle className='mx-1 w-2 bg-text-quaternary' />
+            <SkeletonRectangle className='w-2 bg-text-quaternary mx-1' />
           </SkeletonRow>
         </SkeletonRow>
         <SkeletonRow className='py-0.5'>
@@ -48,20 +48,20 @@
 
 const GeneralListSkeleton = () => {
   return (
-    <div className='relative z-10 flex grow flex-col overflow-y-hidden'>
-      <div className='absolute left-0 top-0 z-20 h-full w-full bg-dataset-chunk-list-mask-bg' />
-      {[...Array.from({ length: 10 })].map((_, index) => {
+    <div className='relative flex flex-col grow overflow-y-hidden z-10'>
+      <div className='absolute top-0 left-0 w-full h-full bg-dataset-chunk-list-mask-bg z-20' />
+      {[...Array(10)].map((_, index) => {
         return (
           <div key={index} className='flex items-start gap-x-2'>
             <Checkbox
               key={`${index}-checkbox`}
-              className='mt-3.5 shrink-0'
+              className='shrink-0 mt-3.5'
               disabled
             />
             <div className='grow'>
               <CardSkelton />
               {index !== 9 && <div className='w-full px-3'>
-                <Divider type='horizontal' className='my-1 bg-divider-subtle' />
+                <Divider type='horizontal' className='bg-divider-subtle my-1' />
               </div>}
             </div>
           </div>
diff --git a/app/components/datasets/documents/detail/completed/skeleton/paragraph-list-skeleton.tsx b/app/components/datasets/documents/detail/completed/skeleton/paragraph-list-skeleton.tsx
index eb01feb..4e88d49 100644
--- a/app/components/datasets/documents/detail/completed/skeleton/paragraph-list-skeleton.tsx
+++ b/app/components/datasets/documents/detail/completed/skeleton/paragraph-list-skeleton.tsx
@@ -11,8 +11,8 @@
 
 const CardSkelton = React.memo(() => {
   return (
-    <SkeletonContainer className='gap-y-0 p-1 pb-2'>
-      <SkeletonContainer className='gap-y-0.5 px-2 pt-1.5'>
+    <SkeletonContainer className='p-1 pb-2 gap-y-0'>
+      <SkeletonContainer className='px-2 pt-1.5 gap-y-0.5'>
         <SkeletonRow className='py-0.5'>
           <SkeletonRectangle className='w-[72px] bg-text-quaternary' />
           <SkeletonPoint className='opacity-20' />
@@ -21,7 +21,7 @@
           <SkeletonRectangle className='w-24 bg-text-quaternary' />
           <SkeletonRow className='grow justify-end gap-1'>
             <SkeletonRectangle className='w-12 bg-text-quaternary' />
-            <SkeletonRectangle className='mx-1 w-2 bg-text-quaternary' />
+            <SkeletonRectangle className='w-2 bg-text-quaternary mx-1' />
           </SkeletonRow>
         </SkeletonRow>
         <SkeletonRow className='py-0.5'>
@@ -36,8 +36,8 @@
       </SkeletonContainer>
       <SkeletonContainer className='p-1 pb-2'>
         <SkeletonRow>
-          <SkeletonRow className='h-7 gap-x-0.5 rounded-lg bg-dataset-child-chunk-expand-btn-bg pl-1 pr-3'>
-            <RiArrowRightSLine className='h-4 w-4 text-text-secondary opacity-20' />
+          <SkeletonRow className='h-7 pl-1 pr-3 gap-x-0.5 rounded-lg bg-dataset-child-chunk-expand-btn-bg'>
+            <RiArrowRightSLine className='w-4 h-4 text-text-secondary opacity-20' />
             <SkeletonRectangle className='w-32 bg-text-quaternary' />
           </SkeletonRow>
         </SkeletonRow>
@@ -50,20 +50,20 @@
 
 const ParagraphListSkeleton = () => {
   return (
-    <div className='relative z-10 flex h-full flex-col overflow-y-hidden'>
-      <div className='absolute left-0 top-0 z-20 h-full w-full bg-dataset-chunk-list-mask-bg' />
-      {[...Array.from({ length: 10 })].map((_, index) => {
+    <div className='relative flex flex-col h-full overflow-y-hidden z-10'>
+      <div className='absolute top-0 left-0 w-full h-full bg-dataset-chunk-list-mask-bg z-20' />
+      {[...Array(10)].map((_, index) => {
         return (
           <div key={index} className='flex items-start gap-x-2'>
             <Checkbox
               key={`${index}-checkbox`}
-              className='mt-3.5 shrink-0'
+              className='shrink-0 mt-3.5'
               disabled
             />
             <div className='grow'>
               <CardSkelton />
               {index !== 9 && <div className='w-full px-3'>
-                <Divider type='horizontal' className='my-1 bg-divider-subtle' />
+                <Divider type='horizontal' className='bg-divider-subtle my-1' />
               </div>}
             </div>
           </div>
diff --git a/app/components/datasets/documents/detail/completed/skeleton/parent-chunk-card-skeleton.tsx b/app/components/datasets/documents/detail/completed/skeleton/parent-chunk-card-skeleton.tsx
index f22024b..46f5ccc 100644
--- a/app/components/datasets/documents/detail/completed/skeleton/parent-chunk-card-skeleton.tsx
+++ b/app/components/datasets/documents/detail/completed/skeleton/parent-chunk-card-skeleton.tsx
@@ -11,8 +11,8 @@
   const { t } = useTranslation()
   return (
     <div className='flex flex-col pb-2'>
-      <SkeletonContainer className='gap-y-0 p-1 pb-0'>
-        <SkeletonContainer className='gap-y-0.5 px-2 pt-1.5'>
+      <SkeletonContainer className='p-1 pb-0 gap-y-0'>
+        <SkeletonContainer className='px-2 pt-1.5 gap-y-0.5'>
           <SkeletonRow className='py-0.5'>
             <SkeletonRectangle className='w-[72px] bg-text-quaternary' />
             <SkeletonPoint className='opacity-20' />
@@ -31,8 +31,8 @@
           </SkeletonRow>
         </SkeletonContainer>
       </SkeletonContainer>
-      <div className='mt-0.5 flex items-center px-3'>
-        <button type='button' className='system-xs-semibold-uppercase pt-0.5 text-components-button-secondary-accent-text-disabled' disabled>
+      <div className='flex items-center px-3 mt-0.5'>
+        <button type='button' className='pt-0.5 text-components-button-secondary-accent-text-disabled system-xs-semibold-uppercase' disabled>
           {t('common.operation.viewMore')}
         </button>
       </div>
diff --git a/app/components/datasets/documents/detail/completed/status-item.tsx b/app/components/datasets/documents/detail/completed/status-item.tsx
index 04fbea3..06cf703 100644
--- a/app/components/datasets/documents/detail/completed/status-item.tsx
+++ b/app/components/datasets/documents/detail/completed/status-item.tsx
@@ -12,9 +12,9 @@
   selected,
 }) => {
   return (
-    <div className='flex items-center justify-between px-2 py-1.5'>
+    <div className='flex items-center justify-between py-1.5 px-2'>
       <span className='system-md-regular'>{item.name}</span>
-      {selected && <RiCheckLine className='h-4 w-4 text-text-accent' />}
+      {selected && <RiCheckLine className='w-4 h-4 text-text-accent' />}
     </div>
   )
 }
diff --git a/app/components/datasets/documents/detail/embedding/index.tsx b/app/components/datasets/documents/detail/embedding/index.tsx
index e9ea72b..c6a90a0 100644
--- a/app/components/datasets/documents/detail/embedding/index.tsx
+++ b/app/components/datasets/documents/detail/embedding/index.tsx
@@ -15,7 +15,6 @@
 import cn from '@/utils/classnames'
 import Divider from '@/app/components/base/divider'
 import { ToastContext } from '@/app/components/base/toast'
-import type { IndexingStatusResponse } from '@/models/datasets'
 import { ProcessMode, type ProcessRuleResponse } from '@/models/datasets'
 import type { CommonResponse } from '@/models/common'
 import { asyncRunSafe, sleep } from '@/utils'
@@ -167,7 +166,7 @@
   const localDatasetId = dstId ?? datasetId
   const localDocumentId = docId ?? documentId
 
-  const [indexingStatusDetail, setIndexingStatusDetail] = useState<IndexingStatusResponse | null>(null)
+  const [indexingStatusDetail, setIndexingStatusDetail] = useState<any>(null)
   const fetchIndexingStatus = async () => {
     const status = await doFetchIndexingStatus({ datasetId: localDatasetId, documentId: localDocumentId })
     setIndexingStatusDetail(status)
@@ -194,7 +193,7 @@
       await sleep(2500)
       await startQueryStatus()
     }
-    catch {
+    catch (e) {
       await sleep(2500)
       await startQueryStatus()
     }
@@ -249,10 +248,10 @@
 
   return (
     <>
-      <div className='flex flex-col gap-y-2 px-16 py-12'>
-        <div className='flex h-6 items-center gap-x-1'>
-          {isEmbedding && <RiLoader2Line className='h-4 w-4 animate-spin text-text-secondary' />}
-          <span className='system-md-semibold-uppercase grow text-text-secondary'>
+      <div className='py-12 px-16 flex flex-col gap-y-2'>
+        <div className='flex items-center gap-x-1 h-6'>
+          {isEmbedding && <RiLoader2Line className='h-4 w-4 text-text-secondary animate-spin' />}
+          <span className='grow text-text-secondary system-md-semibold-uppercase'>
             {isEmbedding && t('datasetDocuments.embedding.processing')}
             {isEmbeddingCompleted && t('datasetDocuments.embedding.completed')}
             {isEmbeddingPaused && t('datasetDocuments.embedding.paused')}
@@ -261,12 +260,12 @@
           {isEmbedding && (
             <button
               type='button'
-              className={`flex items-center gap-x-1 rounded-md border-[0.5px]
-              border-components-button-secondary-border bg-components-button-secondary-bg px-1.5 py-1 shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]`}
+              className={`px-1.5 py-1 border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg
+              shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px] flex items-center gap-x-1 rounded-md`}
               onClick={handleSwitch}
             >
-              <RiPauseCircleLine className='h-3.5 w-3.5 text-components-button-secondary-text' />
-              <span className='system-xs-medium pr-[3px] text-components-button-secondary-text'>
+              <RiPauseCircleLine className='w-3.5 h-3.5 text-components-button-secondary-text' />
+              <span className='pr-[3px] text-components-button-secondary-text system-xs-medium'>
                 {t('datasetDocuments.embedding.pause')}
               </span>
             </button>
@@ -274,12 +273,12 @@
           {isEmbeddingPaused && (
             <button
               type='button'
-              className={`flex items-center gap-x-1 rounded-md border-[0.5px]
-              border-components-button-secondary-border bg-components-button-secondary-bg px-1.5 py-1 shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]`}
+              className={`px-1.5 py-1 border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg
+              shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px] flex items-center gap-x-1 rounded-md`}
               onClick={handleSwitch}
             >
-              <RiPlayCircleLine className='h-3.5 w-3.5 text-components-button-secondary-text' />
-              <span className='system-xs-medium pr-[3px] text-components-button-secondary-text'>
+              <RiPlayCircleLine className='w-3.5 h-3.5 text-components-button-secondary-text' />
+              <span className='pr-[3px] text-components-button-secondary-text system-xs-medium'>
                 {t('datasetDocuments.embedding.resume')}
               </span>
             </button>
@@ -287,7 +286,7 @@
         </div>
         {/* progress bar */}
         <div className={cn(
-          'flex h-2 w-full items-center overflow-hidden rounded-md border border-components-progress-bar-border',
+          'flex items-center w-full h-2 rounded-md border border-components-progress-bar-border overflow-hidden',
           isEmbedding ? 'bg-components-progress-bar-bg bg-opacity-50' : 'bg-components-progress-bar-bg',
         )}>
           <div
@@ -299,8 +298,8 @@
             style={{ width: `${percent}%` }}
           />
         </div>
-        <div className={'flex w-full items-center'}>
-          <span className='system-xs-medium text-text-secondary'>
+        <div className={'w-full flex items-center'}>
+          <span className='text-text-secondary system-xs-medium'>
             {`${t('datasetDocuments.embedding.segments')} ${indexingStatusDetail?.completed_segments || '--'}/${indexingStatusDetail?.total_segments || '--'} 路 ${percent}%`}
           </span>
         </div>
diff --git a/app/components/datasets/documents/detail/embedding/skeleton/index.tsx b/app/components/datasets/documents/detail/embedding/skeleton/index.tsx
index 523af54..ebf5dc1 100644
--- a/app/components/datasets/documents/detail/embedding/skeleton/index.tsx
+++ b/app/components/datasets/documents/detail/embedding/skeleton/index.tsx
@@ -9,8 +9,8 @@
 
 const CardSkelton = React.memo(() => {
   return (
-    <SkeletonContainer className='gap-y-0 p-1 pb-2'>
-      <SkeletonContainer className='gap-y-0.5 px-2 pt-1.5'>
+    <SkeletonContainer className='p-1 pb-2 gap-y-0'>
+      <SkeletonContainer className='px-2 pt-1.5 gap-y-0.5'>
         <SkeletonRow className='py-0.5'>
           <SkeletonRectangle className='w-[72px] bg-text-quaternary' />
           <SkeletonPoint className='opacity-20' />
@@ -19,7 +19,7 @@
           <SkeletonRectangle className='w-24 bg-text-quaternary' />
           <SkeletonRow className='grow justify-end gap-1'>
             <SkeletonRectangle className='w-12 bg-text-quaternary' />
-            <SkeletonRectangle className='mx-1 w-2 bg-text-quaternary' />
+            <SkeletonRectangle className='w-2 bg-text-quaternary mx-1' />
           </SkeletonRow>
         </SkeletonRow>
         <SkeletonRow className='py-0.5'>
@@ -47,14 +47,14 @@
 
 const EmbeddingSkeleton = () => {
   return (
-    <div className='relative z-10 flex grow flex-col overflow-y-hidden'>
-      <div className='absolute left-0 top-0 z-20 h-full w-full bg-dataset-chunk-list-mask-bg' />
-      {[...Array.from({ length: 5 })].map((_, index) => {
+    <div className='relative flex flex-col grow overflow-y-hidden z-10'>
+      <div className='absolute top-0 left-0 w-full h-full bg-dataset-chunk-list-mask-bg z-20' />
+      {[...Array(5)].map((_, index) => {
         return (
           <div key={index} className='w-full px-11'>
             <CardSkelton />
             {index !== 9 && <div className='w-full px-3'>
-              <Divider type='horizontal' className='my-1 bg-divider-subtle' />
+              <Divider type='horizontal' className='bg-divider-subtle my-1' />
             </div>}
           </div>
         )
diff --git a/app/components/datasets/documents/detail/index.tsx b/app/components/datasets/documents/detail/index.tsx
index aff7403..2b65c19 100644
--- a/app/components/datasets/documents/detail/index.tsx
+++ b/app/components/datasets/documents/detail/index.tsx
@@ -4,12 +4,12 @@
 import { createContext, useContext, useContextSelector } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
 import { useRouter } from 'next/navigation'
-import { RiArrowLeftLine, RiLayoutLeft2Line, RiLayoutRight2Line } from '@remixicon/react'
+import { RiArrowLeftLine, RiLayoutRight2Line } from '@remixicon/react'
 import { OperationAction, StatusItem } from '../list'
 import DocumentPicker from '../../common/document-picker'
 import Completed from './completed'
 import Embedding from './embedding'
-import Metadata from '@/app/components/datasets/metadata/metadata-document'
+import Metadata from './metadata'
 import SegmentAdd, { ProcessStatus } from './segment-add'
 import BatchModal from './batch-modal'
 import style from './style.module.css'
@@ -21,8 +21,9 @@
 import { useDatasetDetailContext } from '@/context/dataset-detail'
 import FloatRightContainer from '@/app/components/base/float-right-container'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
+import { LayoutRight2LineMod } from '@/app/components/base/icons/src/public/knowledge'
 import { useCheckSegmentBatchImportProgress, useChildSegmentListKey, useSegmentBatchImport, useSegmentListKey } from '@/service/knowledge/use-segment'
-import { useDocumentDetail, useDocumentMetadata, useInvalidDocumentList } from '@/service/knowledge/use-document'
+import { useDocumentDetail, useDocumentMetadata } from '@/service/knowledge/use-document'
 import { useInvalid } from '@/service/use-base'
 
 type DocumentContextValue = {
@@ -53,7 +54,7 @@
 export const DocumentTitle: FC<DocumentTitleProps> = ({ datasetId, extension, name, processMode, parent_mode, wrapperCls }) => {
   const router = useRouter()
   return (
-    <div className={cn('flex flex-1 items-center justify-start', wrapperCls)}>
+    <div className={cn('flex items-center justify-start flex-1', wrapperCls)}>
       <DocumentPicker
         datasetId={datasetId}
         value={{
@@ -134,7 +135,7 @@
     params: { metadata: 'without' },
   })
 
-  const { data: documentMetadata } = useDocumentMetadata({
+  const { data: documentMetadata, error: metadataErr, refetch: metadataMutate } = useDocumentMetadata({
     datasetId,
     documentId,
     params: { metadata: 'only' },
@@ -145,27 +146,23 @@
   }
 
   const isDetailLoading = !documentDetail && !error
+  const isMetadataLoading = !documentMetadata && !metadataErr
 
   const embedding = ['queuing', 'indexing', 'paused'].includes((documentDetail?.display_status || '').toLowerCase())
 
   const invalidChunkList = useInvalid(useSegmentListKey)
   const invalidChildChunkList = useInvalid(useChildSegmentListKey)
-  const invalidDocumentList = useInvalidDocumentList(datasetId)
 
   const handleOperate = (operateName?: string) => {
-    invalidDocumentList()
     if (operateName === 'delete') {
       backToPrev()
     }
     else {
       detailMutate()
-      // If operation is not rename, refresh the chunk list after 5 seconds
-      if (operateName) {
-        setTimeout(() => {
-          invalidChunkList()
-          invalidChildChunkList()
-        }, 5000)
-      }
+      setTimeout(() => {
+        invalidChunkList()
+        invalidChildChunkList()
+      }, 5000)
     }
   }
 
@@ -189,10 +186,10 @@
       mode,
       parentMode,
     }}>
-      <div className='flex h-full flex-col bg-background-default'>
-        <div className='flex min-h-16 flex-wrap items-center justify-between border-b border-b-divider-subtle py-2.5 pl-3 pr-4'>
-          <div onClick={backToPrev} className={'flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-full hover:bg-components-button-tertiary-bg'}>
-            <RiArrowLeftLine className='h-4 w-4 text-components-button-ghost-text hover:text-text-tertiary' />
+      <div className='flex flex-col h-full bg-background-default'>
+        <div className='flex items-center justify-between flex-wrap min-h-16 pl-3 pr-4 py-2.5 border-b border-b-divider-subtle'>
+          <div onClick={backToPrev} className={'shrink-0 rounded-full w-8 h-8 flex justify-center items-center cursor-pointer hover:bg-components-button-tertiary-bg'}>
+            <RiArrowLeftLine className='text-components-button-ghost-text hover:text-text-tertiary w-4 h-4' />
           </div>
           <DocumentTitle
             datasetId={datasetId}
@@ -202,7 +199,7 @@
             parent_mode={parentMode}
             processMode={mode}
           />
-          <div className='flex flex-wrap items-center'>
+          <div className='flex items-center flex-wrap'>
             {embeddingAvailable && documentDetail && !documentDetail.archived && !isFullDocMode && (
               <>
                 <SegmentAdd
@@ -212,7 +209,7 @@
                   showBatchModal={showBatchModal}
                   embedding={embedding}
                 />
-                <Divider type='vertical' className='!mx-3 !h-[14px] !bg-divider-regular' />
+                <Divider type='vertical' className='!bg-divider-regular !h-[14px] !mx-3' />
               </>
             )}
             <StatusItem
@@ -249,17 +246,17 @@
             >
               {
                 showMetadata
-                  ? <RiLayoutLeft2Line className='h-4 w-4 text-components-button-secondary-text' />
-                  : <RiLayoutRight2Line className='h-4 w-4 text-components-button-secondary-text' />
+                  ? <LayoutRight2LineMod className='w-4 h-4 text-components-button-secondary-text' />
+                  : <RiLayoutRight2Line className='w-4 h-4 text-components-button-secondary-text' />
               }
             </button>
           </div>
         </div>
-        <div className='flex flex-1 flex-row' style={{ height: 'calc(100% - 4rem)' }}>
+        <div className='flex flex-row flex-1' style={{ height: 'calc(100% - 4rem)' }}>
           {isDetailLoading
             ? <Loading type='app' />
-            : <div className={cn('flex h-full min-w-0 grow flex-col',
-              embedding ? '' : isFullDocMode ? 'relative pl-11 pr-11 pt-4' : 'relative pl-5 pr-11 pt-3',
+            : <div className={cn('h-full grow min-w-0 flex flex-col',
+              embedding ? '' : isFullDocMode ? 'relative pt-4 pr-11 pl-11' : 'relative pt-3 pr-11 pl-5',
             )}>
               {embedding
                 ? <Embedding
@@ -277,12 +274,11 @@
               }
             </div>
           }
-          <FloatRightContainer showClose isOpen={showMetadata} onClose={() => setShowMetadata(false)} isMobile={isMobile} panelClassName='!justify-start' footer={null}>
+          <FloatRightContainer showClose isOpen={showMetadata} onClose={() => setShowMetadata(false)} isMobile={isMobile} panelClassname='!justify-start' footer={null}>
             <Metadata
-              className='mr-2 mt-3'
-              datasetId={datasetId}
-              documentId={documentId}
               docDetail={{ ...documentDetail, ...documentMetadata, doc_type: documentMetadata?.doc_type === 'others' ? '' : documentMetadata?.doc_type } as any}
+              loading={isMetadataLoading}
+              onUpdate={metadataMutate}
             />
           </FloatRightContainer>
         </div>
diff --git a/app/components/datasets/documents/detail/metadata/index.tsx b/app/components/datasets/documents/detail/metadata/index.tsx
index da269fc..4a55602 100644
--- a/app/components/datasets/documents/detail/metadata/index.tsx
+++ b/app/components/datasets/documents/detail/metadata/index.tsx
@@ -58,9 +58,9 @@
   const readAlignTop = !showEdit && textNeedWrap
 
   return (
-    <div className={cn('flex min-h-5 items-center gap-1 py-0.5 text-xs', editAlignTop && '!items-start', readAlignTop && '!items-start pt-1')}>
-      <div className={cn('w-[200px] shrink-0 overflow-hidden text-ellipsis whitespace-nowrap text-text-tertiary', editAlignTop && 'pt-1')}>{label}</div>
-      <div className="flex grow items-center gap-1 text-text-secondary">
+    <div className={cn('flex items-center gap-1 py-0.5 min-h-5 text-xs', editAlignTop && '!items-start', readAlignTop && '!items-start pt-1')}>
+      <div className={cn('w-[200px] text-text-tertiary overflow-hidden text-ellipsis whitespace-nowrap shrink-0', editAlignTop && 'pt-1')}>{label}</div>
+      <div className="grow flex items-center gap-1 text-text-secondary">
         {valueIcon}
         {!showEdit
           ? displayedValue
@@ -348,7 +348,7 @@
                   {metadataParams.documentType && <>
                     <TypeIcon iconName={metadataMap[metadataParams.documentType || 'book'].iconName || ''} className={s.iconShow} />
                     {metadataMap[metadataParams.documentType || 'book'].text}
-                    {editStatus && <div className='ml-1 inline-flex items-center gap-1'>
+                    {editStatus && <div className='inline-flex items-center gap-1 ml-1'>
                       路
                       <div
                         onClick={() => { setShowDocTypes(true) }}
diff --git a/app/components/datasets/documents/detail/new-segment.tsx b/app/components/datasets/documents/detail/new-segment.tsx
index 7a08027..e0eec87 100644
--- a/app/components/datasets/documents/detail/new-segment.tsx
+++ b/app/components/datasets/documents/detail/new-segment.tsx
@@ -51,10 +51,10 @@
   const refreshTimer = useRef<any>(null)
 
   const CustomButton = <>
-    <Divider type='vertical' className='mx-1 h-3 bg-divider-regular' />
+    <Divider type='vertical' className='h-3 mx-1 bg-divider-regular' />
     <button
       type='button'
-      className='system-xs-semibold text-text-accent'
+      className='text-text-accent system-xs-semibold'
       onClick={() => {
         clearTimeout(refreshTimer.current)
         viewNewlyAddedChunk()
@@ -70,6 +70,9 @@
   const handleCancel = (actionType: 'esc' | 'add' = 'esc') => {
     if (actionType === 'esc' || !addAnother)
       onCancel()
+    setQuestion('')
+    setAnswer('')
+    setKeywords([])
   }
 
   const { mutateAsync: addSegment } = useAddSegment()
@@ -135,16 +138,16 @@
   }, [question.length, answer.length, isQAModel])
 
   return (
-    <div className={'flex h-full flex-col'}>
+    <div className={'flex flex-col h-full'}>
       <div className={classNames('flex items-center justify-between', fullScreen ? 'py-3 pr-4 pl-6 border border-divider-subtle' : 'pt-3 pr-3 pl-4')}>
         <div className='flex flex-col'>
-          <div className='system-xl-semibold text-text-primary'>{
+          <div className='text-text-primary system-xl-semibold'>{
             t('datasetDocuments.segment.addChunk')
           }</div>
           <div className='flex items-center gap-x-2'>
             <SegmentIndexTag label={t('datasetDocuments.segment.newChunk')!} />
             <Dot />
-            <span className='system-xs-medium text-text-tertiary'>{wordCountText}</span>
+            <span className='text-text-tertiary system-xs-medium'>{wordCountText}</span>
           </div>
         </div>
         <div className='flex items-center'>
@@ -157,14 +160,14 @@
                 loading={loading}
                 actionType='add'
               />
-              <Divider type='vertical' className='ml-4 mr-2 h-3.5 bg-divider-regular' />
+              <Divider type='vertical' className='h-3.5 bg-divider-regular ml-4 mr-2' />
             </>
           )}
-          <div className='mr-1 flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={toggleFullScreen}>
-            <RiExpandDiagonalLine className='h-4 w-4 text-text-tertiary' />
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer mr-1' onClick={toggleFullScreen}>
+            <RiExpandDiagonalLine className='w-4 h-4 text-text-tertiary' />
           </div>
-          <div className='flex h-8 w-8 cursor-pointer items-center justify-center p-1.5' onClick={handleCancel.bind(null, 'esc')}>
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+          <div className='w-8 h-8 flex justify-center items-center p-1.5 cursor-pointer' onClick={handleCancel.bind(null, 'esc')}>
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
@@ -188,7 +191,7 @@
         />}
       </div>
       {!fullScreen && (
-        <div className='flex items-center justify-between border-t-[1px] border-t-divider-subtle p-4 pt-3'>
+        <div className='flex items-center justify-between p-4 pt-3 border-t-[1px] border-t-divider-subtle'>
           <AddAnother isChecked={addAnother} onCheck={() => setAddAnother(!addAnother)} />
           <ActionButtons
             handleCancel={handleCancel.bind(null, 'esc')}
diff --git a/app/components/datasets/documents/detail/segment-add/index.tsx b/app/components/datasets/documents/detail/segment-add/index.tsx
index d41118e..7123c99 100644
--- a/app/components/datasets/documents/detail/segment-add/index.tsx
+++ b/app/components/datasets/documents/detail/segment-add/index.tsx
@@ -45,36 +45,36 @@
     return (
       <>
         {(importStatus === ProcessStatus.WAITING || importStatus === ProcessStatus.PROCESSING) && (
-          <div className='relative mr-2 inline-flex items-center overflow-hidden rounded-lg border-[0.5px] border-components-progress-bar-border
-            bg-components-progress-bar-border px-2.5 py-2 text-components-button-secondary-accent-text
+          <div className='relative overflow-hidden inline-flex items-center mr-2 px-2.5 py-2 text-components-button-secondary-accent-text
+            bg-components-progress-bar-border rounded-lg border-[0.5px] border-components-progress-bar-border
             shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]'>
-            <div className={cn('absolute left-0 top-0 z-0 h-full border-r-[1.5px] border-r-components-progress-bar-progress-highlight bg-components-progress-bar-progress', importStatus === ProcessStatus.WAITING ? 'w-3/12' : 'w-2/3')} />
-            <RiLoader2Line className='mr-1 h-4 w-4 animate-spin' />
+            <div className={cn('absolute left-0 top-0 h-full bg-components-progress-bar-progress border-r-[1.5px] border-r-components-progress-bar-progress-highlight z-0', importStatus === ProcessStatus.WAITING ? 'w-3/12' : 'w-2/3')} />
+            <RiLoader2Line className='animate-spin mr-1 w-4 h-4' />
             <span className='system-sm-medium z-10 pr-0.5'>{t('datasetDocuments.list.batchModal.processing')}</span>
           </div>
         )}
         {importStatus === ProcessStatus.COMPLETED && (
-          <div className='relative mr-2 inline-flex items-center overflow-hidden rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]'>
-            <div className='inline-flex items-center border-r border-r-divider-subtle px-2.5 py-2 text-text-success'>
-              <CheckCircle className='mr-1 h-4 w-4' />
+          <div className='relative inline-flex items-center mr-2 bg-components-panel-bg rounded-lg border-[0.5px] border-components-panel-border shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px] overflow-hidden'>
+            <div className='inline-flex items-center px-2.5 py-2 text-text-success border-r border-r-divider-subtle'>
+              <CheckCircle className='mr-1 w-4 h-4' />
               <span className='system-sm-medium pr-0.5'>{t('datasetDocuments.list.batchModal.completed')}</span>
             </div>
             <div className='m-1 inline-flex items-center'>
-              <span className='system-xs-medium cursor-pointer rounded-md px-1.5 py-1 text-components-button-ghost-text hover:bg-components-button-ghost-bg-hover' onClick={clearProcessStatus}>{t('datasetDocuments.list.batchModal.ok')}</span>
+              <span className='system-xs-medium text-components-button-ghost-text hover:bg-components-button-ghost-bg-hover px-1.5 py-1 rounded-md cursor-pointer' onClick={clearProcessStatus}>{t('datasetDocuments.list.batchModal.ok')}</span>
             </div>
-            <div className='absolute left-0 top-0 -z-10 h-full w-full bg-dataset-chunk-process-success-bg opacity-40' />
+            <div className='absolute top-0 left-0 w-full h-full bg-dataset-chunk-process-success-bg opacity-40 -z-10' />
           </div>
         )}
         {importStatus === ProcessStatus.ERROR && (
-          <div className='relative mr-2 inline-flex items-center overflow-hidden rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]'>
-            <div className='inline-flex items-center border-r border-r-divider-subtle px-2.5 py-2 text-text-destructive'>
-              <RiErrorWarningFill className='mr-1 h-4 w-4' />
+          <div className='relative inline-flex items-center mr-2 bg-components-panel-bg rounded-lg border-[0.5px] border-components-panel-border shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px] overflow-hidden'>
+            <div className='inline-flex items-center px-2.5 py-2 text-text-destructive border-r border-r-divider-subtle'>
+              <RiErrorWarningFill className='mr-1 w-4 h-4' />
               <span className='system-sm-medium pr-0.5'>{t('datasetDocuments.list.batchModal.error')}</span>
             </div>
             <div className='m-1 inline-flex items-center'>
-              <span className='system-xs-medium cursor-pointer rounded-md px-1.5 py-1 text-components-button-ghost-text hover:bg-components-button-ghost-bg-hover' onClick={clearProcessStatus}>{t('datasetDocuments.list.batchModal.ok')}</span>
+              <span className='system-xs-medium text-components-button-ghost-text hover:bg-components-button-ghost-bg-hover px-1.5 py-1 rounded-md cursor-pointer' onClick={clearProcessStatus}>{t('datasetDocuments.list.batchModal.ok')}</span>
             </div>
-            <div className='absolute left-0 top-0 -z-10 h-full w-full bg-dataset-chunk-process-error-bg opacity-40' />
+            <div className='absolute top-0 left-0 w-full h-full bg-dataset-chunk-process-error-bg opacity-40 -z-10' />
           </div>
         )}
       </>
@@ -83,18 +83,18 @@
 
   return (
     <div className={cn(
-      'relative z-20 flex items-center rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]',
+      'flex items-center rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px] relative z-20',
       embedding && 'border-components-button-secondary-border-disabled bg-components-button-secondary-bg-disabled',
     )}>
       <button
         type='button'
-        className={`inline-flex items-center rounded-l-lg border-r-[1px] border-r-divider-subtle px-2.5 py-2
+        className={`inline-flex items-center px-2.5 py-2 rounded-l-lg border-r-[1px] border-r-divider-subtle
           hover:bg-state-base-hover disabled:cursor-not-allowed disabled:hover:bg-transparent`}
         onClick={showNewSegmentModal}
         disabled={embedding}
       >
-        <RiAddLine className={cn('h-4 w-4', textColor)} />
-        <span className={cn('ml-0.5 px-0.5 text-[13px] font-medium capitalize leading-[16px]', textColor)}>
+        <RiAddLine className={cn('w-4 h-4', textColor)} />
+        <span className={cn('text-[13px] leading-[16px] font-medium capitalize px-0.5 ml-0.5', textColor)}>
           {t('datasetDocuments.list.action.addButton')}
         </span>
       </button>
@@ -103,11 +103,10 @@
         manualClose
         trigger='click'
         htmlContent={
-          // need to wrapper the button with div when manualClose is true
           <div className='w-full p-1'>
             <button
               type='button'
-              className='system-md-regular flex w-full items-center rounded-lg px-2 py-1.5 text-text-secondary'
+              className='w-full py-1.5 px-2 flex items-center hover:bg-state-base-hover rounded-lg text-text-secondary system-md-regular'
               onClick={showBatchModal}
             >
               {t('datasetDocuments.list.action.batchAdd')}
@@ -115,18 +114,18 @@
           </div>
         }
         btnElement={
-          <div className='flex items-center justify-center' >
-            <RiArrowDownSLine className={cn('h-4 w-4', textColor)}/>
+          <div className='flex justify-center items-center' >
+            <RiArrowDownSLine className={cn('w-4 h-4', textColor)}/>
           </div>
         }
         btnClassName={open => cn(
-          `!hover:bg-state-base-hover !rounded-l-none !rounded-r-lg !border-0 !p-2 backdrop-blur-[5px]
+          `!p-2 !border-0 !rounded-l-none !rounded-r-lg !hover:bg-state-base-hover backdrop-blur-[5px]
           disabled:cursor-not-allowed disabled:bg-transparent disabled:hover:bg-transparent`,
           open ? '!bg-state-base-hover' : '',
         )}
         popupClassName='!min-w-[128px] !bg-components-panel-bg-blur !rounded-xl border-[0.5px] !ring-0
           border-components-panel-border !shadow-xl !shadow-shadow-shadow-5 backdrop-blur-[5px]'
-        className='h-fit min-w-[128px]'
+        className='min-w-[128px] h-fit'
         disabled={embedding}
       />
     </div>
diff --git a/app/components/datasets/documents/detail/settings/index.tsx b/app/components/datasets/documents/detail/settings/index.tsx
index d45e4d8..05c52d4 100644
--- a/app/components/datasets/documents/detail/settings/index.tsx
+++ b/app/components/datasets/documents/detail/settings/index.tsx
@@ -57,7 +57,7 @@
 
   return (
     <div className='flex' style={{ height: 'calc(100vh - 56px)' }}>
-      <div className="grow">
+      <div className="grow bg-white">
         {!documentDetail && <Loading type='app' />}
         {dataset && documentDetail && (
           <StepTwo
diff --git a/app/components/datasets/documents/index.tsx b/app/components/datasets/documents/index.tsx
index 32980ee..c9df2f2 100644
--- a/app/components/datasets/documents/index.tsx
+++ b/app/components/datasets/documents/index.tsx
@@ -1,12 +1,13 @@
 'use client'
 import type { FC } from 'react'
 import React, { useCallback, useEffect, useMemo, useState } from 'react'
+import useSWR from 'swr'
 import { useTranslation } from 'react-i18next'
 import { useRouter } from 'next/navigation'
 import { useDebounce, useDebounceFn } from 'ahooks'
-import { groupBy } from 'lodash-es'
+import { groupBy, omit } from 'lodash-es'
 import { PlusIcon } from '@heroicons/react/24/solid'
-import { RiDraftLine, RiExternalLinkLine } from '@remixicon/react'
+import { RiExternalLinkLine } from '@remixicon/react'
 import AutoDisabledDocument from '../common/document-status-with-action/auto-disabled-document'
 import List from './list'
 import s from './style.module.css'
@@ -14,23 +15,18 @@
 import Button from '@/app/components/base/button'
 import Input from '@/app/components/base/input'
 import { get } from '@/service/base'
-import { createDocument } from '@/service/datasets'
+import { createDocument, fetchDocuments } from '@/service/datasets'
 import { useDatasetDetailContext } from '@/context/dataset-detail'
 import { NotionPageSelectorModal } from '@/app/components/base/notion-page-selector'
 import type { NotionPage } from '@/models/common'
 import type { CreateDocumentReq } from '@/models/datasets'
-import { DataSourceType, ProcessMode } from '@/models/datasets'
+import { DataSourceType } from '@/models/datasets'
 import IndexFailed from '@/app/components/datasets/common/document-status-with-action/index-failed'
 import { useProviderContext } from '@/context/provider-context'
 import cn from '@/utils/classnames'
-import { useDocumentList, useInvalidDocumentDetailKey, useInvalidDocumentList } from '@/service/knowledge/use-document'
+import { useInvalidDocumentDetailKey } from '@/service/knowledge/use-document'
 import { useInvalid } from '@/service/use-base'
 import { useChildSegmentListKey, useSegmentListKey } from '@/service/knowledge/use-segment'
-import useEditDocumentMetadata from '../metadata/hooks/use-edit-dataset-metadata'
-import DatasetMetadataDrawer from '../metadata/metadata-dataset/dataset-metadata-drawer'
-import StatusWithAction from '../common/document-status-with-action/status-with-action'
-import { LanguagesSupported } from '@/i18n/language'
-import { getLocaleOnClient } from '@/i18n'
 
 const FolderPlusIcon = ({ className }: React.SVGProps<SVGElement>) => {
   return <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" className={className ?? ''}>
@@ -66,7 +62,7 @@
       <div className={s.emptySymbolIconWrapper}>
         {type === 'upload' ? <FolderPlusIcon /> : <NotionIcon />}
       </div>
-      <span className={s.emptyTitle}>{t('datasetDocuments.list.empty.title')}<ThreeDotsIcon className='relative -left-1.5 -top-3 inline' /></span>
+      <span className={s.emptyTitle}>{t('datasetDocuments.list.empty.title')}<ThreeDotsIcon className='inline relative -top-3 -left-1.5' /></span>
       <div className={s.emptyTip}>
         {t(`datasetDocuments.list.empty.${type}.tip`)}
       </div>
@@ -82,7 +78,7 @@
 }
 
 export const fetcher = (url: string) => get(url, {}, {})
-const DEFAULT_LIMIT = 10
+const DEFAULT_LIMIT = 15
 
 const Documents: FC<IDocumentsProps> = ({ datasetId }) => {
   const { t } = useTranslation()
@@ -100,36 +96,36 @@
   const isDataSourceWeb = dataset?.data_source_type === DataSourceType.WEB
   const isDataSourceFile = dataset?.data_source_type === DataSourceType.FILE
   const embeddingAvailable = !!dataset?.embedding_available
-  const locale = getLocaleOnClient()
+
   const debouncedSearchValue = useDebounce(searchValue, { wait: 500 })
 
-  const { data: documentsRes, isFetching: isListLoading } = useDocumentList({
-    datasetId,
-    query: {
-      page: currPage + 1,
-      limit,
-      keyword: debouncedSearchValue,
+  const query = useMemo(() => {
+    return { page: currPage + 1, limit, keyword: debouncedSearchValue, fetch: isDataSourceNotion ? true : '' }
+  }, [currPage, debouncedSearchValue, isDataSourceNotion, limit])
+
+  const { data: documentsRes, mutate, isLoading: isListLoading } = useSWR(
+    {
+      action: 'fetchDocuments',
+      datasetId,
+      params: query,
     },
-    refetchInterval: (isDataSourceNotion && timerCanRun) ? 2500 : 0,
-  })
+    apiParams => fetchDocuments(omit(apiParams, 'action')),
+    { refreshInterval: (isDataSourceNotion && timerCanRun) ? 2500 : 0 },
+  )
 
-  const invalidDocumentList = useInvalidDocumentList(datasetId)
-
+  const [isMuting, setIsMuting] = useState(false)
   useEffect(() => {
-    if (documentsRes) {
-      const totalPages = Math.ceil(documentsRes.total / limit)
-      if (totalPages < currPage + 1)
-        setCurrPage(totalPages === 0 ? 0 : totalPages - 1)
-    }
-    // eslint-disable-next-line react-hooks/exhaustive-deps
-  }, [documentsRes])
+    if (!isListLoading && isMuting)
+      setIsMuting(false)
+  }, [isListLoading, isMuting])
 
   const invalidDocumentDetail = useInvalidDocumentDetailKey()
   const invalidChunkList = useInvalid(useSegmentListKey)
   const invalidChildChunkList = useInvalid(useChildSegmentListKey)
 
   const handleUpdate = useCallback(() => {
-    invalidDocumentList()
+    setIsMuting(true)
+    mutate()
     invalidDocumentDetail()
     setTimeout(() => {
       invalidChunkList()
@@ -179,6 +175,8 @@
     router.push(`/datasets/${datasetId}/documents/create`)
   }
 
+  const isLoading = isListLoading // !documentsRes && !error
+
   const handleSaveNotionPageSelected = async (selectedPages: NotionPage[]) => {
     const workspacesMap = groupBy(selectedPages, 'workspace_id')
     const workspaces = Object.keys(workspacesMap).map((workspaceId) => {
@@ -211,7 +209,7 @@
       indexing_technique: dataset?.indexing_technique,
       process_rule: {
         rules: {},
-        mode: ProcessMode.general,
+        mode: 'automatic',
       },
     } as CreateDocumentReq
 
@@ -219,7 +217,7 @@
       datasetId,
       body: params,
     })
-    invalidDocumentList()
+    mutate()
     setTimerCanRun(true)
     // mutateDatasetIndexingStatus(undefined, { revalidate: true })
     setNotionPageSelectorModalVisible(false)
@@ -236,45 +234,23 @@
     handleSearch()
   }
 
-  const {
-    isShowEditModal: isShowEditMetadataModal,
-    showEditModal: showEditMetadataModal,
-    hideEditModal: hideEditMetadataModal,
-    datasetMetaData,
-    handleAddMetaData,
-    handleRename,
-    handleDeleteMetaData,
-    builtInEnabled,
-    setBuiltInEnabled,
-    builtInMetaData,
-  } = useEditDocumentMetadata({
-    datasetId,
-    dataset,
-    onUpdateDocList: invalidDocumentList,
-  })
-
   return (
-    <div className='flex h-full flex-col overflow-y-auto'>
+    <div className='flex flex-col h-full overflow-y-auto'>
       <div className='flex flex-col justify-center gap-1 px-6 pt-4'>
         <h1 className='text-base font-semibold text-text-primary'>{t('datasetDocuments.list.title')}</h1>
-        <div className='flex items-center space-x-0.5 text-sm font-normal text-text-tertiary'>
+        <div className='flex items-center text-sm font-normal text-text-tertiary space-x-0.5'>
           <span>{t('datasetDocuments.list.desc')}</span>
           <a
             className='flex items-center text-text-accent'
             target='_blank'
-            href={
-              locale === LanguagesSupported[1]
-                ? 'https://docs.dify.ai/zh-hans/guides/knowledge-base/integrate-knowledge-within-application'
-                : 'https://docs.dify.ai/en/guides/knowledge-base/integrate-knowledge-within-application'
-            }
-            >
+            href='https://docs.dify.ai/guides/knowledge-base/integrate-knowledge-within-application'>
             <span>{t('datasetDocuments.list.learnMore')}</span>
-            <RiExternalLinkLine className='h-3 w-3' />
+            <RiExternalLinkLine className='w-3 h-3' />
           </a>
         </div>
       </div>
-      <div className='flex flex-1 flex-col px-6 py-4'>
-        <div className='flex flex-wrap items-center justify-between'>
+      <div className='flex flex-col px-6 py-4 flex-1'>
+        <div className='flex items-center justify-between flex-wrap'>
           <Input
             showLeftIcon
             showClearIcon
@@ -283,31 +259,12 @@
             onChange={e => handleInputChange(e.target.value)}
             onClear={() => handleInputChange('')}
           />
-          <div className='flex !h-8 items-center justify-center gap-2'>
+          <div className='flex gap-2 justify-center items-center !h-8'>
             {!isFreePlan && <AutoDisabledDocument datasetId={datasetId} />}
             <IndexFailed datasetId={datasetId} />
-            {!embeddingAvailable && <StatusWithAction type='warning' description={t('dataset.embeddingModelNotAvailable')} />}
-            {embeddingAvailable && (
-              <Button variant='secondary' className='shrink-0' onClick={showEditMetadataModal}>
-                <RiDraftLine className='mr-1 size-4' />
-                {t('dataset.metadata.metadata')}
-              </Button>
-            )}
-            {isShowEditMetadataModal && (
-              <DatasetMetadataDrawer
-                userMetadata={datasetMetaData || []}
-                onClose={hideEditMetadataModal}
-                onAdd={handleAddMetaData}
-                onRename={handleRename}
-                onRemove={handleDeleteMetaData}
-                builtInMetadata={builtInMetaData || []}
-                isBuiltInEnabled={!!builtInEnabled}
-                onIsBuiltInEnabledChange={setBuiltInEnabled}
-              />
-            )}
             {embeddingAvailable && (
               <Button variant='primary' onClick={routeToDocCreate} className='shrink-0'>
-                <PlusIcon className={cn('mr-2 h-4 w-4 stroke-current')} />
+                <PlusIcon className={cn('h-4 w-4 mr-2 stroke-current')} />
                 {isDataSourceNotion && t('datasetDocuments.list.addPages')}
                 {isDataSourceWeb && t('datasetDocuments.list.addUrl')}
                 {(!dataset?.data_source_type || isDataSourceFile) && t('datasetDocuments.list.addFile')}
@@ -315,7 +272,7 @@
             )}
           </div>
         </div>
-        {isListLoading
+        {(isLoading && !isMuting)
           ? <Loading type='app' />
           : total > 0
             ? <List
@@ -332,7 +289,6 @@
                 current: currPage,
                 onChange: setCurrPage,
               }}
-              onManageMetadata={showEditMetadataModal}
             />
             : <EmptyElement canAdd={embeddingAvailable} onClick={routeToDocCreate} type={isDataSourceNotion ? 'sync' : 'upload'} />
         }
diff --git a/app/components/datasets/documents/list.tsx b/app/components/datasets/documents/list.tsx
index cb349ee..00ccdfd 100644
--- a/app/components/datasets/documents/list.tsx
+++ b/app/components/datasets/documents/list.tsx
@@ -16,6 +16,7 @@
 import { useRouter } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
 import dayjs from 'dayjs'
+import { Edit03 } from '../../base/icons/src/vender/solid/general'
 import { Globe01 } from '../../base/icons/src/vender/line/mapsAndTravel'
 import ChunkingModeLabel from '../common/chunking-mode-label'
 import FileTypeIcon from '../../base/file-uploader/file-type-icon'
@@ -44,9 +45,6 @@
 import Checkbox from '@/app/components/base/checkbox'
 import { useDocumentArchive, useDocumentDelete, useDocumentDisable, useDocumentEnable, useDocumentUnArchive, useSyncDocument, useSyncWebsite } from '@/service/knowledge/use-document'
 import { extensionToFileType } from '@/app/components/datasets/hit-testing/utils/extension-to-file-type'
-import useBatchEditDocumentMetadata from '../metadata/hooks/use-batch-edit-document-metadata'
-import EditMetadataBatchModal from '@/app/components/datasets/metadata/edit-metadata-batch/modal'
-import { noop } from 'lodash-es'
 
 export const useIndexStatus = () => {
   const { t } = useTranslation()
@@ -109,8 +107,7 @@
     const [e] = await asyncRunSafe<CommonResponse>(opApi({ datasetId, documentId: id }) as Promise<CommonResponse>)
     if (!e) {
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
-      onUpdate?.()
-      // onUpdate?.(operationName)
+      onUpdate?.(operationName)
     }
     else { notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') }) }
   }
@@ -148,7 +145,7 @@
     }
     {
       scene === 'detail' && (
-        <div className='ml-1.5 flex items-center justify-between'>
+        <div className='flex justify-between items-center ml-1.5'>
           <Tooltip
             popupContent={t('datasetDocuments.list.action.enableWarning')}
             popupClassName='text-text-secondary system-xs-medium'
@@ -202,7 +199,7 @@
   const isListScene = scene === 'list'
 
   const onOperate = async (operationName: OperationName) => {
-    let opApi
+    let opApi = deleteDocument
     switch (operationName) {
       case 'archive':
         opApi = archiveDocument
@@ -266,7 +263,7 @@
 
   return <div className='flex items-center' onClick={e => e.stopPropagation()}>
     {isListScene && !embeddingAvailable && (
-      <Switch defaultValue={false} onChange={noop} disabled={true} size='md' />
+      <Switch defaultValue={false} onChange={() => { }} disabled={true} size='md' />
     )}
     {isListScene && embeddingAvailable && (
       <>
@@ -277,7 +274,7 @@
             needsDelay
           >
             <div>
-              <Switch defaultValue={false} onChange={noop} disabled={true} size='md' />
+              <Switch defaultValue={false} onChange={() => { }} disabled={true} size='md' />
             </div>
           </Tooltip>
           : <Switch defaultValue={enabled} onChange={v => handleSwitch(v ? 'enable' : 'disable')} size='md' />
@@ -292,12 +289,12 @@
           popupClassName='text-text-secondary system-xs-medium'
         >
           <button
-            className={cn('mr-2 cursor-pointer rounded-lg',
+            className={cn('rounded-lg mr-2 cursor-pointer',
               !isListScene
-                ? 'border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg p-2 shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px] hover:border-components-button-secondary-border-hover hover:bg-components-button-secondary-bg-hover'
+                ? 'p-2 bg-components-button-secondary-bg hover:bg-components-button-secondary-bg-hover border-[0.5px] border-components-button-secondary-border hover:border-components-button-secondary-border-hover shadow-xs shadow-shadow-shadow-3 backdrop-blur-[5px]'
                 : 'p-0.5 hover:bg-state-base-hover')}
             onClick={() => router.push(`/datasets/${datasetId}/documents/${detail.id}/settings`)}>
-            <RiEqualizer2Line className='h-4 w-4 text-components-button-secondary-text' />
+            <RiEqualizer2Line className='w-4 h-4 text-components-button-secondary-text' />
           </button>
         </Tooltip>
         <Popover
@@ -311,12 +308,12 @@
                       name: detail.name,
                     })
                   }}>
-                    <RiEditLine className='h-4 w-4 text-text-tertiary' />
+                    <RiEditLine className='w-4 h-4 text-text-tertiary' />
                     <span className={s.actionName}>{t('datasetDocuments.list.table.rename')}</span>
                   </div>
                   {['notion_import', DataSourceType.WEB].includes(data_source_type) && (
                     <div className={s.actionItem} onClick={() => onOperate('sync')}>
-                      <RiLoopLeftLine className='h-4 w-4 text-text-tertiary' />
+                      <RiLoopLeftLine className='w-4 h-4 text-text-tertiary' />
                       <span className={s.actionName}>{t('datasetDocuments.list.action.sync')}</span>
                     </div>
                   )}
@@ -324,17 +321,17 @@
                 </>
               )}
               {!archived && <div className={s.actionItem} onClick={() => onOperate('archive')}>
-                <RiArchive2Line className='h-4 w-4 text-text-tertiary' />
+                <RiArchive2Line className='w-4 h-4 text-text-tertiary' />
                 <span className={s.actionName}>{t('datasetDocuments.list.action.archive')}</span>
               </div>}
               {archived && (
                 <div className={s.actionItem} onClick={() => onOperate('un_archive')}>
-                  <RiArchive2Line className='h-4 w-4 text-text-tertiary' />
+                  <RiArchive2Line className='w-4 h-4 text-text-tertiary' />
                   <span className={s.actionName}>{t('datasetDocuments.list.action.unarchive')}</span>
                 </div>
               )}
               <div className={cn(s.actionItem, s.deleteActionItem, 'group')} onClick={() => setShowModal(true)}>
-                <RiDeleteBinLine className={'h-4 w-4 text-text-tertiary group-hover:text-text-destructive'} />
+                <RiDeleteBinLine className={'w-4 h-4 text-text-tertiary group-hover:text-text-destructive'} />
                 <span className={cn(s.actionName, 'group-hover:text-text-destructive')}>{t('datasetDocuments.list.action.delete')}</span>
               </div>
             </div>
@@ -343,12 +340,12 @@
           position='br'
           btnElement={
             <div className={cn(s.commonIcon)}>
-              <RiMoreFill className='h-4 w-4 text-components-button-secondary-text' />
+              <RiMoreFill className='w-4 h-4 text-text-components-button-secondary-text' />
             </div>
           }
           btnClassName={open => cn(isListScene ? s.actionIconWrapperList : s.actionIconWrapperDetail, open ? '!hover:bg-state-base-hover !shadow-none' : '!bg-transparent')}
           popupClassName='!w-full'
-          className={`!z-20 flex h-fit !w-[200px] justify-end ${className}`}
+          className={`flex justify-end !w-[200px] h-fit !z-20 ${className}`}
         />
       </>
     )}
@@ -404,7 +401,6 @@
   datasetId: string
   pagination: PaginationProps
   onUpdate: () => void
-  onManageMetadata: () => void
 }
 
 /**
@@ -418,7 +414,6 @@
   datasetId,
   pagination,
   onUpdate,
-  onManageMetadata,
 }) => {
   const { t } = useTranslation()
   const { formatTime } = useTimestamp()
@@ -429,17 +424,6 @@
   const isQAMode = chunkingMode === ChunkingMode.qa
   const [localDocs, setLocalDocs] = useState<LocalDoc[]>(documents)
   const [enableSort, setEnableSort] = useState(true)
-  const {
-    isShowEditModal,
-    showEditModal,
-    hideEditModal,
-    originalList,
-    handleSave,
-  } = useBatchEditDocumentMetadata({
-    datasetId,
-    docList: documents.filter(item => selectedIds.includes(item.id)),
-    onUpdate,
-  })
 
   useEffect(() => {
     setLocalDocs(documents)
@@ -490,7 +474,7 @@
 
   const handleAction = (actionName: DocumentActionType) => {
     return async () => {
-      let opApi
+      let opApi = deleteDocument
       switch (actionName) {
         case DocumentActionType.archive:
           opApi = archiveDocument
@@ -516,144 +500,139 @@
   }
 
   return (
-    <div className='relative flex h-full w-full flex-col'>
-      <div className='relative grow overflow-x-auto'>
-        <table className={`mt-3 w-full min-w-[700px] max-w-full border-collapse border-0 text-sm ${s.documentTable}`}>
-          <thead className="h-8 border-b border-divider-subtle text-xs font-medium uppercase leading-8 text-text-tertiary">
-            <tr>
-              <td className='w-12'>
+    <div className='relative w-full h-full overflow-x-auto'>
+      <table className={`min-w-[700px] max-w-full w-full border-collapse border-0 text-sm mt-3 ${s.documentTable}`}>
+        <thead className="h-8 leading-8 border-b border-divider-subtle text-text-tertiary font-medium text-xs uppercase">
+          <tr>
+            <td className='w-12'>
+              <div className='flex items-center' onClick={e => e.stopPropagation()}>
+                <Checkbox
+                  className='shrink-0 mr-2'
+                  checked={isAllSelected}
+                  mixed={!isAllSelected && isSomeSelected}
+                  onCheck={onSelectedAll}
+                />
+                #
+              </div>
+            </td>
+            <td>
+              <div className='flex'>
+                {t('datasetDocuments.list.table.header.fileName')}
+              </div>
+            </td>
+            <td className='w-[130px]'>{t('datasetDocuments.list.table.header.chunkingMode')}</td>
+            <td className='w-24'>{t('datasetDocuments.list.table.header.words')}</td>
+            <td className='w-44'>{t('datasetDocuments.list.table.header.hitCount')}</td>
+            <td className='w-44'>
+              <div className='flex items-center' onClick={onClickSort}>
+                {t('datasetDocuments.list.table.header.uploadTime')}
+                <ArrowDownIcon className={cn('ml-0.5 h-3 w-3 stroke-current stroke-2 cursor-pointer', enableSort ? 'text-text-tertiary' : 'text-text-disabled')} />
+              </div>
+            </td>
+            <td className='w-40'>{t('datasetDocuments.list.table.header.status')}</td>
+            <td className='w-20'>{t('datasetDocuments.list.table.header.action')}</td>
+          </tr>
+        </thead>
+        <tbody className="text-text-secondary">
+          {localDocs.map((doc, index) => {
+            const isFile = doc.data_source_type === DataSourceType.FILE
+            const fileType = isFile ? doc.data_source_detail_dict?.upload_file?.extension : ''
+            return <tr
+              key={doc.id}
+              className={'border-b border-divider-subtle h-8 hover:bg-background-default-hover cursor-pointer'}
+              onClick={() => {
+                router.push(`/datasets/${datasetId}/documents/${doc.id}`)
+              }}>
+              <td className='text-left align-middle text-text-tertiary text-xs'>
                 <div className='flex items-center' onClick={e => e.stopPropagation()}>
-                  {embeddingAvailable && (
-                    <Checkbox
-                      className='mr-2 shrink-0'
-                      checked={isAllSelected}
-                      indeterminate={!isAllSelected && isSomeSelected}
-                      onCheck={onSelectedAll}
-                    />
-                  )}
-                  #
+                  <Checkbox
+                    className='shrink-0 mr-2'
+                    checked={selectedIds.includes(doc.id)}
+                    onCheck={() => {
+                      onSelectedIdChange(
+                        selectedIds.includes(doc.id)
+                          ? selectedIds.filter(id => id !== doc.id)
+                          : [...selectedIds, doc.id],
+                      )
+                    }}
+                  />
+                  {/* {doc.position} */}
+                  {index + 1}
                 </div>
               </td>
               <td>
-                <div className='flex'>
-                  {t('datasetDocuments.list.table.header.fileName')}
-                </div>
-              </td>
-              <td className='w-[130px]'>{t('datasetDocuments.list.table.header.chunkingMode')}</td>
-              <td className='w-24'>{t('datasetDocuments.list.table.header.words')}</td>
-              <td className='w-44'>{t('datasetDocuments.list.table.header.hitCount')}</td>
-              <td className='w-44'>
-                <div className='flex items-center' onClick={onClickSort}>
-                  {t('datasetDocuments.list.table.header.uploadTime')}
-                  <ArrowDownIcon className={cn('ml-0.5 h-3 w-3 cursor-pointer stroke-current stroke-2', enableSort ? 'text-text-tertiary' : 'text-text-disabled')} />
-                </div>
-              </td>
-              <td className='w-40'>{t('datasetDocuments.list.table.header.status')}</td>
-              <td className='w-20'>{t('datasetDocuments.list.table.header.action')}</td>
-            </tr>
-          </thead>
-          <tbody className="text-text-secondary">
-            {localDocs.map((doc, index) => {
-              const isFile = doc.data_source_type === DataSourceType.FILE
-              const fileType = isFile ? doc.data_source_detail_dict?.upload_file?.extension : ''
-              return <tr
-                key={doc.id}
-                className={'h-8 cursor-pointer border-b border-divider-subtle hover:bg-background-default-hover'}
-                onClick={() => {
-                  router.push(`/datasets/${datasetId}/documents/${doc.id}`)
-                }}>
-                <td className='text-left align-middle text-xs text-text-tertiary'>
-                  <div className='flex items-center' onClick={e => e.stopPropagation()}>
-                    <Checkbox
-                      className='mr-2 shrink-0'
-                      checked={selectedIds.includes(doc.id)}
-                      onCheck={() => {
-                        onSelectedIdChange(
-                          selectedIds.includes(doc.id)
-                            ? selectedIds.filter(id => id !== doc.id)
-                            : [...selectedIds, doc.id],
-                        )
-                      }}
-                    />
-                    {/* {doc.position} */}
-                    {index + 1}
+                <div className={'group flex items-center mr-6 hover:mr-0 max-w-[460px]'}>
+                  <div className='shrink-0'>
+                    {doc?.data_source_type === DataSourceType.NOTION && <NotionIcon className='inline-flex -mt-[3px] mr-1.5 align-middle' type='page' src={doc.data_source_info.notion_page_icon} />}
+                    {doc?.data_source_type === DataSourceType.FILE && <FileTypeIcon type={extensionToFileType(doc?.data_source_info?.upload_file?.extension ?? fileType)} className='mr-1.5' />}
+                    {doc?.data_source_type === DataSourceType.WEB && <Globe01 className='inline-flex -mt-[3px] mr-1.5 align-middle' />}
                   </div>
-                </td>
-                <td>
-                  <div className={'group mr-6 flex max-w-[460px] items-center hover:mr-0'}>
-                    <div className='shrink-0'>
-                      {doc?.data_source_type === DataSourceType.NOTION && <NotionIcon className='mr-1.5 mt-[-3px] inline-flex align-middle' type='page' src={doc.data_source_info.notion_page_icon} />}
-                      {doc?.data_source_type === DataSourceType.FILE && <FileTypeIcon type={extensionToFileType(doc?.data_source_info?.upload_file?.extension ?? fileType)} className='mr-1.5' />}
-                      {doc?.data_source_type === DataSourceType.WEB && <Globe01 className='mr-1.5 mt-[-3px] inline-flex align-middle' />}
-                    </div>
-                    <span className='grow-1 truncate text-sm'>{doc.name}</span>
-                    <div className='hidden shrink-0 group-hover:ml-auto group-hover:flex'>
-                      <Tooltip
-                        popupContent={t('datasetDocuments.list.table.rename')}
+                  <span className='text-sm truncate grow-1'>{doc.name}</span>
+                  <div className='group-hover:flex group-hover:ml-auto hidden shrink-0'>
+                    <Tooltip
+                      popupContent={t('datasetDocuments.list.table.rename')}
+                    >
+                      <div
+                        className='p-1 rounded-md cursor-pointer hover:bg-state-base-hover'
+                        onClick={(e) => {
+                          e.stopPropagation()
+                          handleShowRenameModal(doc)
+                        }}
                       >
-                        <div
-                          className='cursor-pointer rounded-md p-1 hover:bg-state-base-hover'
-                          onClick={(e) => {
-                            e.stopPropagation()
-                            handleShowRenameModal(doc)
-                          }}
-                        >
-                          <RiEditLine className='h-4 w-4 text-text-tertiary' />
-                        </div>
-                      </Tooltip>
-                    </div>
+                        <Edit03 className='w-4 h-4 text-text-tertiary' />
+                      </div>
+                    </Tooltip>
                   </div>
-                </td>
-                <td>
-                  <ChunkingModeLabel
-                    isGeneralMode={isGeneralMode}
-                    isQAMode={isQAMode}
-                  />
-                </td>
-                <td>{renderCount(doc.word_count)}</td>
-                <td>{renderCount(doc.hit_count)}</td>
-                <td className='text-[13px] text-text-secondary'>
-                  {formatTime(doc.created_at, t('datasetHitTesting.dateTimeFormat') as string)}
-                </td>
-                <td>
-                  {
-                    (['indexing', 'splitting', 'parsing', 'cleaning'].includes(doc.indexing_status) && doc?.data_source_type === DataSourceType.NOTION)
-                      ? <ProgressBar percent={doc.percent || 0} />
-                      : <StatusItem status={doc.display_status} />
-                  }
-                </td>
-                <td>
-                  <OperationAction
-                    embeddingAvailable={embeddingAvailable}
-                    datasetId={datasetId}
-                    detail={pick(doc, ['name', 'enabled', 'archived', 'id', 'data_source_type', 'doc_form'])}
-                    onUpdate={onUpdate}
-                  />
-                </td>
-              </tr>
-            })}
-          </tbody>
-        </table>
-      </div>
+                </div>
+              </td>
+              <td>
+                <ChunkingModeLabel
+                  isGeneralMode={isGeneralMode}
+                  isQAMode={isQAMode}
+                />
+              </td>
+              <td>{renderCount(doc.word_count)}</td>
+              <td>{renderCount(doc.hit_count)}</td>
+              <td className='text-text-secondary text-[13px]'>
+                {formatTime(doc.created_at, t('datasetHitTesting.dateTimeFormat') as string)}
+              </td>
+              <td>
+                {
+                  (['indexing', 'splitting', 'parsing', 'cleaning'].includes(doc.indexing_status) && doc?.data_source_type === DataSourceType.NOTION)
+                    ? <ProgressBar percent={doc.percent || 0} />
+                    : <StatusItem status={doc.display_status} />
+                }
+              </td>
+              <td>
+                <OperationAction
+                  embeddingAvailable={embeddingAvailable}
+                  datasetId={datasetId}
+                  detail={pick(doc, ['name', 'enabled', 'archived', 'id', 'data_source_type', 'doc_form'])}
+                  onUpdate={onUpdate}
+                />
+              </td>
+            </tr>
+          })}
+        </tbody>
+      </table>
       {(selectedIds.length > 0) && (
         <BatchAction
-          className='absolute bottom-16 left-0 z-20'
+          className='absolute left-0 bottom-16 z-20'
           selectedIds={selectedIds}
           onArchive={handleAction(DocumentActionType.archive)}
           onBatchEnable={handleAction(DocumentActionType.enable)}
           onBatchDisable={handleAction(DocumentActionType.disable)}
           onBatchDelete={handleAction(DocumentActionType.delete)}
-          onEditMetadata={showEditModal}
           onCancel={() => {
             onSelectedIdChange([])
           }}
         />
       )}
       {/* Show Pagination only if the total is more than the limit */}
-      {pagination.total && (
+      {pagination.total && pagination.total > (pagination.limit || 10) && (
         <Pagination
           {...pagination}
-          className='w-full shrink-0 px-0 pb-0'
+          className='absolute bottom-0 left-0 w-full px-0 pb-0'
         />
       )}
 
@@ -664,20 +643,6 @@
           name={currDocument.name}
           onClose={setShowRenameModalFalse}
           onSaved={handleRenamed}
-        />
-      )}
-
-      {isShowEditModal && (
-        <EditMetadataBatchModal
-          datasetId={datasetId}
-          documentNum={selectedIds.length}
-          list={originalList}
-          onSave={handleSave}
-          onHide={hideEditModal}
-          onShowManage={() => {
-            hideEditModal()
-            onManageMetadata()
-          }}
         />
       )}
     </div>
diff --git a/app/components/datasets/documents/rename-modal.tsx b/app/components/datasets/documents/rename-modal.tsx
index ff50479..883897b 100644
--- a/app/components/datasets/documents/rename-modal.tsx
+++ b/app/components/datasets/documents/rename-modal.tsx
@@ -59,7 +59,7 @@
       isShow
       onClose={onClose}
     >
-      <div className={'mt-6 text-sm font-medium leading-[21px] text-text-primary'}>{t('datasetDocuments.list.table.name')}</div>
+      <div className={'mt-6 font-medium text-sm leading-[21px] text-gray-900'}>{t('datasetDocuments.list.table.name')}</div>
       <Input
         className='mt-2 h-10'
         value={newName}
@@ -67,8 +67,8 @@
       />
 
       <div className='mt-10 flex justify-end'>
-        <Button className='mr-2 shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
-        <Button variant='primary' className='shrink-0' onClick={handleSave} loading={saveLoading}>{t('common.operation.save')}</Button>
+        <Button className='mr-2 flex-shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
+        <Button variant='primary' className='flex-shrink-0' onClick={handleSave} loading={saveLoading}>{t('common.operation.save')}</Button>
       </div>
     </Modal>
   )
diff --git a/app/components/datasets/documents/style.module.css b/app/components/datasets/documents/style.module.css
index ececd3a..e10402e 100644
--- a/app/components/datasets/documents/style.module.css
+++ b/app/components/datasets/documents/style.module.css
@@ -9,7 +9,7 @@
   max-width: 200px;
 }
 .actionIconWrapperList {
-  @apply h-6 w-6 rounded-md border-none p-1 hover:bg-state-base-hover !important;
+  @apply h-6 w-6 rounded-md border-none p-1 hover:bg-gray-100 !important;
 }
 .actionIconWrapperDetail {
   @apply p-2 bg-components-button-secondary-bg hover:bg-components-button-secondary-bg-hover
@@ -17,7 +17,7 @@
   shadow-xs shadow-shadow-shadow-3 !important;
 }
 .actionItem {
-  @apply h-9 py-2 px-3 mx-1 flex items-center gap-2 hover:bg-state-base-hover rounded-lg cursor-pointer;
+  @apply h-9 py-2 px-3 mx-1 flex items-center gap-2 hover:bg-gray-100 rounded-lg cursor-pointer;
 }
 .deleteActionItem {
   @apply hover:bg-state-destructive-hover !important;
diff --git a/app/components/datasets/external-api/external-api-modal/Form.tsx b/app/components/datasets/external-api/external-api-modal/Form.tsx
index 2746a32..ada0149 100644
--- a/app/components/datasets/external-api/external-api-modal/Form.tsx
+++ b/app/components/datasets/external-api/external-api-modal/Form.tsx
@@ -50,8 +50,8 @@
 
     return (
       <div key={variable} className={cn(itemClassName, 'flex flex-col items-start gap-1 self-stretch')}>
-        <div className="flex w-full items-center justify-between">
-          <label className={cn(fieldLabelClassName, 'system-sm-semibold text-text-secondary')} htmlFor={variable}>
+        <div className="flex justify-between items-center w-full">
+          <label className={cn(fieldLabelClassName, 'text-text-secondary system-sm-semibold')} htmlFor={variable}>
             {label[i18n.language] || label.en_US}
             {required && <span className='ml-1 text-red-500'>*</span>}
           </label>
@@ -60,9 +60,9 @@
               href={'https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation' || '/'}
               target='_blank'
               rel='noopener noreferrer'
-              className='body-xs-regular flex items-center text-text-accent'
+              className='text-text-accent body-xs-regular flex items-center'
             >
-              <RiBookOpenLine className='mr-1 h-3 w-3 text-text-accent' />
+              <RiBookOpenLine className='w-3 h-3 text-text-accent mr-1' />
               {t('dataset.externalAPIPanelDocumentation')}
             </a>
           )}
@@ -81,12 +81,10 @@
   }
 
   return (
-    <form className={cn('flex flex-col items-start justify-center gap-4 self-stretch', className)}>
+    <form className={cn('flex flex-col justify-center items-start gap-4 self-stretch', className)}>
       {formSchemas.map(formSchema => renderField(formSchema))}
     </form>
   )
 })
-
-Form.displayName = 'Form'
 
 export default Form
diff --git a/app/components/datasets/external-api/external-api-modal/index.tsx b/app/components/datasets/external-api/external-api-modal/index.tsx
index 8614664..340d147 100644
--- a/app/components/datasets/external-api/external-api-modal/index.tsx
+++ b/app/components/datasets/external-api/external-api-modal/index.tsx
@@ -116,31 +116,31 @@
 
   return (
     <PortalToFollowElem open>
-      <PortalToFollowElemContent className='z-[60] h-full w-full'>
+      <PortalToFollowElemContent className='w-full h-full z-[60]'>
         <div className='fixed inset-0 flex items-center justify-center bg-black/[.25]'>
-          <div className='shadows-shadow-xl relative flex w-[480px] flex-col items-start rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg'>
-            <div className='flex flex-col items-start gap-2 self-stretch pb-3 pl-6 pr-14 pt-6'>
-              <div className='title-2xl-semi-bold grow self-stretch text-text-primary'>
+          <div className='flex relative w-[480px] flex-col items-start bg-components-panel-bg rounded-2xl border-[0.5px] border-components-panel-border shadows-shadow-xl'>
+            <div className='flex flex-col pt-6 pl-6 pb-3 pr-14 items-start gap-2 self-stretch'>
+              <div className='self-stretch text-text-primary title-2xl-semi-bold flex-grow'>
                 {
                   isEditMode ? t('dataset.editExternalAPIFormTitle') : t('dataset.createExternalAPI')
                 }
               </div>
               {isEditMode && (datasetBindings?.length ?? 0) > 0 && (
-                <div className='system-xs-regular flex items-center text-text-tertiary'>
+                <div className='text-text-tertiary system-xs-regular flex items-center'>
                   {t('dataset.editExternalAPIFormWarning.front')}
-                  <span className='flex cursor-pointer items-center text-text-accent'>
+                  <span className='text-text-accent cursor-pointer flex items-center'>
                     &nbsp;{datasetBindings?.length} {t('dataset.editExternalAPIFormWarning.end')}&nbsp;
                     <Tooltip
                       popupClassName='flex items-center self-stretch w-[320px]'
                       popupContent={
                         <div className='p-1'>
-                          <div className='flex items-start self-stretch pb-0.5 pl-2 pr-3 pt-1'>
-                            <div className='system-xs-medium-uppercase text-text-tertiary'>{`${datasetBindings?.length} ${t('dataset.editExternalAPITooltipTitle')}`}</div>
+                          <div className='flex pt-1 pb-0.5 pl-2 pr-3 items-start self-stretch'>
+                            <div className='text-text-tertiary system-xs-medium-uppercase'>{`${datasetBindings?.length} ${t('dataset.editExternalAPITooltipTitle')}`}</div>
                           </div>
                           {datasetBindings?.map(binding => (
-                            <div key={binding.id} className='flex items-center gap-1 self-stretch px-2 py-1'>
-                              <RiBook2Line className='h-4 w-4 text-text-secondary' />
-                              <div className='system-sm-medium text-text-secondary'>{binding.name}</div>
+                            <div key={binding.id} className='flex px-2 py-1 items-center gap-1 self-stretch'>
+                              <RiBook2Line className='w-4 h-4 text-text-secondary' />
+                              <div className='text-text-secondary system-sm-medium'>{binding.name}</div>
                             </div>
                           ))}
                         </div>
@@ -148,22 +148,22 @@
                       asChild={false}
                       position='bottom'
                     >
-                      <RiInformation2Line className='h-3.5 w-3.5' />
+                      <RiInformation2Line className='w-3.5 h-3.5' />
                     </Tooltip>
                   </span>
                 </div>
               )}
             </div>
-            <ActionButton className='absolute right-5 top-5' onClick={onCancel}>
-              <RiCloseLine className='h-[18px] w-[18px] shrink-0 text-text-tertiary' />
+            <ActionButton className='absolute top-5 right-5' onClick={onCancel}>
+              <RiCloseLine className='w-[18px] h-[18px] text-text-tertiary flex-shrink-0' />
             </ActionButton>
             <Form
               value={formData}
               onChange={handleDataChange}
               formSchemas={formSchemas}
-              className='flex flex-col items-start justify-center gap-4 self-stretch px-6 py-3'
+              className='flex px-6 py-3 flex-col justify-center items-start gap-4 self-stretch'
             />
-            <div className='flex items-center justify-end gap-2 self-stretch p-6 pt-5'>
+            <div className='flex p-6 pt-5 justify-end items-center gap-2 self-stretch'>
               <Button type='button' variant='secondary' onClick={onCancel}>
                 {t('dataset.externalAPIForm.cancel')}
               </Button>
@@ -184,10 +184,10 @@
                 {t('dataset.externalAPIForm.save')}
               </Button>
             </div>
-            <div className='system-xs-regular flex items-center justify-center gap-1 self-stretch rounded-b-2xl border-t-[0.5px]
-              border-divider-subtle bg-background-soft px-2 py-3 text-text-tertiary'
+            <div className='flex px-2 py-3 justify-center items-center gap-1 self-stretch rounded-b-2xl
+              border-t-[0.5px] border-divider-subtle bg-background-soft text-text-tertiary system-xs-regular'
             >
-              <RiLock2Fill className='h-3 w-3 text-text-quaternary' />
+              <RiLock2Fill className='w-3 h-3 text-text-quaternary' />
               {t('dataset.externalAPIForm.encrypted.front')}
               <a
                 className='text-text-accent'
diff --git a/app/components/datasets/external-api/external-api-panel/index.tsx b/app/components/datasets/external-api/external-api-panel/index.tsx
index d4af34f..044c008 100644
--- a/app/components/datasets/external-api/external-api-panel/index.tsx
+++ b/app/components/datasets/external-api/external-api-panel/index.tsx
@@ -39,39 +39,39 @@
   return (
     <div
       tabIndex={-1}
-      className={cn('absolute bottom-2 right-0 top-14 z-10 flex outline-none')}
+      className={cn('absolute top-14 right-0 bottom-2 flex z-10 outline-none')}
     >
       <div
         className={cn(
-          'relative flex h-full w-[420px] flex-col rounded-l-2xl border border-components-panel-border bg-components-panel-bg-alt',
+          'relative flex flex-col w-[420px] bg-components-panel-bg-alt rounded-l-2xl h-full border border-components-panel-border',
         )}
       >
         <div className='flex items-start self-stretch p-4 pb-0'>
-          <div className='flex grow flex-col items-start gap-1'>
-            <div className='system-xl-semibold self-stretch text-text-primary'>{t('dataset.externalAPIPanelTitle')}</div>
-            <div className='body-xs-regular self-stretch text-text-tertiary'>{t('dataset.externalAPIPanelDescription')}</div>
-            <a className='flex cursor-pointer items-center justify-center gap-1 self-stretch' href='https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation' target='_blank'>
-              <RiBookOpenLine className='h-3 w-3 text-text-accent' />
-              <div className='body-xs-regular grow text-text-accent'>{t('dataset.externalAPIPanelDocumentation')}</div>
+          <div className='flex flex-col items-start gap-1 flex-grow'>
+            <div className='self-stretch text-text-primary system-xl-semibold'>{t('dataset.externalAPIPanelTitle')}</div>
+            <div className='self-stretch text-text-tertiary body-xs-regular'>{t('dataset.externalAPIPanelDescription')}</div>
+            <a className='flex justify-center items-center gap-1 self-stretch cursor-pointer' href='https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation' target='_blank'>
+              <RiBookOpenLine className='w-3 h-3 text-text-accent' />
+              <div className='flex-grow text-text-accent body-xs-regular'>{t('dataset.externalAPIPanelDocumentation')}</div>
             </a>
           </div>
           <div className='flex items-center'>
             <ActionButton onClick={() => onClose()}>
-              <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+              <RiCloseLine className='w-4 h-4 text-text-tertiary' />
             </ActionButton>
           </div>
         </div>
-        <div className='flex flex-col items-start justify-center gap-2 self-stretch px-4 py-3'>
+        <div className='flex px-4 py-3 flex-col justify-center items-start gap-2 self-stretch'>
           <Button
             variant={'primary'}
-            className='flex items-center justify-center gap-0.5 px-3 py-2'
+            className='flex justify-center items-center px-3 py-2 gap-0.5'
             onClick={handleOpenExternalAPIModal}
           >
-            <RiAddLine className='h-4 w-4 text-components-button-primary-text' />
-            <div className='system-sm-medium text-components-button-primary-text'>{t('dataset.createExternalAPI')}</div>
+            <RiAddLine className='w-4 h-4 text-components-button-primary-text' />
+            <div className='text-components-button-primary-text system-sm-medium'>{t('dataset.createExternalAPI')}</div>
           </Button>
         </div>
-        <div className='flex grow flex-col items-start gap-1 self-stretch px-4 py-0'>
+        <div className='flex py-0 px-4 flex-col items-start gap-1 flex-grow self-stretch'>
           {isLoading
             ? (
               <Loading />
diff --git a/app/components/datasets/external-api/external-knowledge-api-card/index.tsx b/app/components/datasets/external-api/external-knowledge-api-card/index.tsx
index bb50631..603b4fe 100644
--- a/app/components/datasets/external-api/external-knowledge-api-card/index.tsx
+++ b/app/components/datasets/external-api/external-knowledge-api-card/index.tsx
@@ -105,20 +105,20 @@
 
   return (
     <>
-      <div className={`shadows-shadow-xs flex items-start self-stretch rounded-lg border-[0.5px] border-components-panel-border-subtle
-        bg-components-panel-on-panel-item-bg p-2
-        pl-3 ${isHovered ? 'border-state-destructive-border bg-state-destructive-hover' : ''}`}
+      <div className={`flex p-2 pl-3 items-start self-stretch rounded-lg border-[0.5px] 
+        border-components-panel-border-subtle bg-components-panel-on-panel-item-bg 
+        shadows-shadow-xs ${isHovered ? 'bg-state-destructive-hover border-state-destructive-border' : ''}`}
       >
-        <div className='flex grow flex-col items-start justify-center gap-1.5 py-1'>
+        <div className='flex py-1 flex-col justify-center items-start gap-1.5 flex-grow'>
           <div className='flex items-center gap-1 self-stretch text-text-secondary'>
-            <ApiConnectionMod className='h-4 w-4' />
+            <ApiConnectionMod className='w-4 h-4' />
             <div className='system-sm-medium'>{api.name}</div>
           </div>
-          <div className='system-xs-regular self-stretch text-text-tertiary'>{api.settings.endpoint}</div>
+          <div className='self-stretch text-text-tertiary system-xs-regular'>{api.settings.endpoint}</div>
         </div>
         <div className='flex items-start gap-1'>
           <ActionButton onClick={handleEditClick}>
-            <RiEditLine className='h-4 w-4 text-text-tertiary hover:text-text-secondary' />
+            <RiEditLine className='w-4 h-4 text-text-tertiary hover:text-text-secondary' />
           </ActionButton>
           <ActionButton
             className='hover:bg-state-destructive-hover'
@@ -126,7 +126,7 @@
             onMouseEnter={() => setIsHovered(true)}
             onMouseLeave={() => setIsHovered(false)}
           >
-            <RiDeleteBinLine className='h-4 w-4 text-text-tertiary hover:text-text-destructive' />
+            <RiDeleteBinLine className='w-4 h-4 text-text-tertiary hover:text-text-destructive' />
           </ActionButton>
         </div>
       </div>
diff --git a/app/components/datasets/external-knowledge-base/create/ExternalApiSelect.tsx b/app/components/datasets/external-knowledge-base/create/ExternalApiSelect.tsx
index d459061..a6a4647 100644
--- a/app/components/datasets/external-knowledge-base/create/ExternalApiSelect.tsx
+++ b/app/components/datasets/external-knowledge-base/create/ExternalApiSelect.tsx
@@ -59,46 +59,46 @@
   return (
     <div className="relative w-full">
       <div
-        className={`flex cursor-pointer items-center justify-between gap-0.5 self-stretch rounded-lg bg-components-input-bg-normal px-2
-        py-1 hover:bg-state-base-hover-alt ${isOpen && 'bg-state-base-hover-alt'}`}
+        className={`flex items-center justify-between cursor-pointer px-2 py-1 gap-0.5 self-stretch rounded-lg 
+        bg-components-input-bg-normal hover:bg-state-base-hover-alt ${isOpen && 'bg-state-base-hover-alt'}`}
         onClick={() => setIsOpen(!isOpen)}
       >
         {selectedItem
           ? (
-            <div className="flex items-center gap-2 self-stretch rounded-lg p-1">
-              <ApiConnectionMod className='h-4 w-4 text-text-secondary' />
-              <div className='flex grow items-center'>
-                <span className='system-sm-regular overflow-hidden text-ellipsis text-components-input-text-filled'>{selectedItem.name}</span>
+            <div className="flex p-1 items-center gap-2 self-stretch rounded-lg">
+              <ApiConnectionMod className='text-text-secondary w-4 h-4' />
+              <div className='flex items-center flex-grow'>
+                <span className='text-components-input-text-filled text-ellipsis system-sm-regular overflow-hidden'>{selectedItem.name}</span>
               </div>
             </div>
           )
           : (
-            <span className='system-sm-regular text-components-input-text-placeholder'>{t('dataset.selectExternalKnowledgeAPI.placeholder')}</span>
+            <span className='text-components-input-text-placeholder system-sm-regular'>{t('dataset.selectExternalKnowledgeAPI.placeholder')}</span>
           )}
-        <RiArrowDownSLine className={`h-4 w-4 text-text-quaternary transition-transform ${isOpen ? 'text-text-secondary' : ''}`} />
+        <RiArrowDownSLine className={`w-4 h-4 text-text-quaternary transition-transform ${isOpen ? 'text-text-secondary' : ''}`} />
       </div>
       {isOpen && (
-        <div className="absolute z-10 mt-1 w-full rounded-xl border bg-components-panel-bg-blur shadow-lg">
+        <div className="absolute z-10 w-full mt-1 bg-components-panel-bg-blur border rounded-xl shadow-lg">
           {items.map(item => (
             <div
               key={item.value}
-              className="flex cursor-pointer items-center p-1"
+              className="flex p-1 items-center cursor-pointer"
               onClick={() => handleSelect(item)}
             >
-              <div className="flex w-full items-center gap-2 self-stretch rounded-lg p-2 hover:bg-state-base-hover">
-                <ApiConnectionMod className='h-4 w-4 text-text-secondary' />
-                <span className='system-sm-medium grow overflow-hidden text-ellipsis text-text-secondary'>{item.name}</span>
-                <span className='system-xs-regular overflow-hidden text-ellipsis text-right text-text-tertiary'>{item.url}</span>
+              <div className="flex p-2 items-center gap-2 self-stretch rounded-lg hover:bg-state-base-hover w-full">
+                <ApiConnectionMod className='text-text-secondary w-4 h-4' />
+                <span className='text-text-secondary text-ellipsis system-sm-medium overflow-hidden flex-grow'>{item.name}</span>
+                <span className='text-text-tertiary overflow-hidden text-right text-ellipsis system-xs-regular'>{item.url}</span>
               </div>
             </div>
           ))}
-          <div className='flex flex-col items-start self-stretch p-1'>
+          <div className='flex p-1 flex-col items-start self-stretch'>
             <div
-              className='flex cursor-pointer items-center gap-2 self-stretch rounded-lg p-2 hover:bg-state-base-hover'
+              className='flex p-2 items-center gap-2 self-stretch rounded-lg cursor-pointer hover:bg-state-base-hover'
               onClick={handleAddNewAPI}
             >
-              <RiAddLine className='h-4 w-4 text-text-secondary' />
-              <span className='system-sm-medium grow overflow-hidden text-ellipsis text-text-secondary'>{t('dataset.createNewExternalAPI')}</span>
+              <RiAddLine className='text-text-secondary w-4 h-4' />
+              <span className='flex-grow overflow-hidden text-text-secondary text-ellipsis system-sm-medium'>{t('dataset.createNewExternalAPI')}</span>
             </div>
           </div>
         </div>
diff --git a/app/components/datasets/external-knowledge-base/create/ExternalApiSelection.tsx b/app/components/datasets/external-knowledge-base/create/ExternalApiSelection.tsx
index d70f612..c910d9b 100644
--- a/app/components/datasets/external-knowledge-base/create/ExternalApiSelection.tsx
+++ b/app/components/datasets/external-knowledge-base/create/ExternalApiSelection.tsx
@@ -62,7 +62,7 @@
     <form className='flex flex-col gap-4 self-stretch'>
       <div className='flex flex-col gap-1 self-stretch'>
         <div className='flex flex-col self-stretch'>
-          <label className='system-sm-semibold text-text-secondary'>{t('dataset.externalAPIPanelTitle')}</label>
+          <label className='text-text-secondary system-sm-semibold'>{t('dataset.externalAPIPanelTitle')}</label>
         </div>
         {apiItems.length > 0
           ? <ExternalApiSelect
@@ -74,14 +74,14 @@
             }}
           />
           : <Button variant={'tertiary'} onClick={handleAddNewAPI} className='justify-start gap-0.5'>
-            <RiAddLine className='h-4 w-4 text-text-tertiary' />
-            <span className='system-sm-regular text-text-tertiary'>{t('dataset.noExternalKnowledge')}</span>
+            <RiAddLine className='w-4 h-4 text-text-tertiary' />
+            <span className='text-text-tertiary system-sm-regular'>{t('dataset.noExternalKnowledge')}</span>
           </Button>
         }
       </div>
       <div className='flex flex-col gap-1 self-stretch'>
         <div className='flex flex-col self-stretch'>
-          <label className='system-sm-semibold text-text-secondary'>{t('dataset.externalKnowledgeId')}</label>
+          <label className='text-text-secondary system-sm-semibold'>{t('dataset.externalKnowledgeId')}</label>
         </div>
         <Input
           value={external_knowledge_id}
diff --git a/app/components/datasets/external-knowledge-base/create/InfoPanel.tsx b/app/components/datasets/external-knowledge-base/create/InfoPanel.tsx
index 5c3c126..bd32683 100644
--- a/app/components/datasets/external-knowledge-base/create/InfoPanel.tsx
+++ b/app/components/datasets/external-knowledge-base/create/InfoPanel.tsx
@@ -5,23 +5,23 @@
   const { t } = useTranslation()
 
   return (
-    <div className='flex w-[360px] flex-col items-start pb-2 pr-8 pt-[108px]'>
-      <div className='flex w-full min-w-[240px] flex-col items-start gap-3 self-stretch rounded-xl bg-background-section p-6'>
-        <div className='flex h-10 w-10 grow items-center justify-center gap-2 self-stretch rounded-lg border-[0.5px] border-components-card-border bg-components-card-bg p-1'>
-          <RiBookOpenLine className='h-5 w-5 text-text-accent' />
+    <div className='flex w-[360px] pt-[108px] pb-2 pr-8 flex-col items-start'>
+      <div className='flex min-w-[240px] w-full p-6 flex-col items-start gap-3 self-stretch rounded-xl bg-background-section'>
+        <div className='flex p-1 w-10 h-10 justify-center items-center gap-2 flex-grow self-stretch rounded-lg border-[0.5px] border-components-card-border bg-components-card-bg'>
+          <RiBookOpenLine className='w-5 h-5 text-text-accent' />
         </div>
         <p className='flex flex-col items-start gap-2 self-stretch'>
-          <span className='system-xl-semibold self-stretch text-text-secondary'>
+          <span className='self-stretch text-text-secondary system-xl-semibold'>
             {t('dataset.connectDatasetIntro.title')}
           </span>
-          <span className='system-sm-regular text-text-tertiary'>
+          <span className='text-text-tertiary system-sm-regular'>
             {t('dataset.connectDatasetIntro.content.front')}
-            <a className='system-sm-regular ml-1 text-text-accent' href='https://docs.dify.ai/en/guides/knowledge-base/external-knowledge-api' target='_blank' rel="noopener noreferrer">
+            <a className='text-text-accent system-sm-regular ml-1' href='https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation' target='_blank' rel="noopener noreferrer">
               {t('dataset.connectDatasetIntro.content.link')}
             </a>
             {t('dataset.connectDatasetIntro.content.end')}
           </span>
-          <a className='system-sm-regular self-stretch text-text-accent' href='https://docs.dify.ai/en/guides/knowledge-base/connect-external-knowledge-base' target='_blank' rel="noopener noreferrer">
+          <a className='self-stretch text-text-accent system-sm-regular' href='https://docs.dify.ai/guides/knowledge-base/connect-external-knowledge' target='_blank' rel="noopener noreferrer">
             {t('dataset.connectDatasetIntro.learnMore')}
           </a>
         </p>
diff --git a/app/components/datasets/external-knowledge-base/create/KnowledgeBaseInfo.tsx b/app/components/datasets/external-knowledge-base/create/KnowledgeBaseInfo.tsx
index 4261208..fec526b 100644
--- a/app/components/datasets/external-knowledge-base/create/KnowledgeBaseInfo.tsx
+++ b/app/components/datasets/external-knowledge-base/create/KnowledgeBaseInfo.tsx
@@ -24,7 +24,7 @@
       <div className='flex flex-col gap-4 self-stretch'>
         <div className='flex flex-col gap-1 self-stretch'>
           <div className='flex flex-col justify-center self-stretch'>
-            <label className='system-sm-semibold text-text-secondary'>{t('dataset.externalKnowledgeName')}</label>
+            <label className='text-text-secondary system-sm-semibold'>{t('dataset.externalKnowledgeName')}</label>
           </div>
           <Input
             value={name}
@@ -34,14 +34,14 @@
         </div>
         <div className='flex flex-col gap-1 self-stretch'>
           <div className='flex flex-col justify-center self-stretch'>
-            <label className='system-sm-semibold text-text-secondary'>{t('dataset.externalKnowledgeDescription')}</label>
+            <label className='text-text-secondary system-sm-semibold'>{t('dataset.externalKnowledgeDescription')}</label>
           </div>
           <div className='flex flex-col gap-1 self-stretch'>
             <textarea
               value={description}
               onChange={ e => handleDescriptionChange(e)}
               placeholder={t('dataset.externalKnowledgeDescriptionPlaceholder') ?? ''}
-              className={`flex h-20 items-start self-stretch rounded-lg bg-components-input-bg-normal p-3 py-2 ${description ? 'text-components-input-text-filled' : 'text-components-input-text-placeholder'} system-sm-regular`}
+              className={`flex h-20 py-2 p-3 self-stretch items-start rounded-lg bg-components-input-bg-normal ${description ? 'text-components-input-text-filled' : 'text-components-input-text-placeholder'} system-sm-regular`}
             />
           </div>
         </div>
diff --git a/app/components/datasets/external-knowledge-base/create/RetrievalSettings.tsx b/app/components/datasets/external-knowledge-base/create/RetrievalSettings.tsx
index 1c43d7e..d501dde 100644
--- a/app/components/datasets/external-knowledge-base/create/RetrievalSettings.tsx
+++ b/app/components/datasets/external-knowledge-base/create/RetrievalSettings.tsx
@@ -30,8 +30,8 @@
 
   return (
     <div className={cn('flex flex-col gap-2 self-stretch', isInRetrievalSetting && 'w-full max-w-[480px]')}>
-      {!isInHitTesting && !isInRetrievalSetting && <div className='flex h-7 flex-col gap-2 self-stretch pt-1'>
-        <label className='system-sm-semibold text-text-secondary'>{t('dataset.retrievalSettings')}</label>
+      {!isInHitTesting && !isInRetrievalSetting && <div className='flex h-7 pt-1 flex-col gap-2 self-stretch'>
+        <label className='text-text-secondary system-sm-semibold'>{t('dataset.retrievalSettings')}</label>
       </div>}
       <div className={cn(
         'flex gap-4 self-stretch',
@@ -41,7 +41,7 @@
           'flex-col sm:flex-row': !isInHitTesting && !isInRetrievalSetting,
         },
       )}>
-        <div className='flex grow flex-col gap-1'>
+        <div className='flex flex-col gap-1 flex-grow'>
           <TopKItem
             className='grow'
             value={topK}
@@ -49,7 +49,7 @@
             enable={true}
           />
         </div>
-        <div className='flex grow flex-col gap-1'>
+        <div className='flex flex-col gap-1 flex-grow'>
           <ScoreThresholdItem
             className='grow'
             value={scoreThreshold}
diff --git a/app/components/datasets/external-knowledge-base/create/index.tsx b/app/components/datasets/external-knowledge-base/create/index.tsx
index 5fbddea..921050e 100644
--- a/app/components/datasets/external-knowledge-base/create/index.tsx
+++ b/app/components/datasets/external-knowledge-base/create/index.tsx
@@ -49,27 +49,27 @@
     && formData.external_retrieval_model.score_threshold !== undefined
 
   return (
-    <div className='flex grow flex-col self-stretch rounded-t-2xl border-t border-effects-highlight bg-components-panel-bg'>
-      <div className='flex grow justify-center self-stretch'>
-        <div className='flex w-full max-w-[960px] flex-col items-center px-14 py-0'>
-          <div className='flex w-full max-w-[640px] grow flex-col items-center gap-4 pb-8 pt-6'>
-            <div className='relative flex flex-col items-center gap-[2px] self-stretch py-2'>
-              <div className='system-xl-semibold grow self-stretch text-text-primary'>{t('dataset.connectDataset')}</div>
-              <p className='system-sm-regular text-text-tertiary'>
+    <div className='flex flex-col flex-grow self-stretch rounded-t-2xl border-t border-effects-highlight bg-components-panel-bg'>
+      <div className='flex justify-center flex-grow self-stretch'>
+        <div className='flex w-full max-w-[960px] px-14 py-0 flex-col items-center'>
+          <div className='flex w-full max-w-[640px] pt-6 pb-8 flex-col grow items-center gap-4'>
+            <div className='relative flex flex-col py-2 items-center gap-[2px] self-stretch'>
+              <div className='flex-grow text-text-primary system-xl-semibold self-stretch'>{t('dataset.connectDataset')}</div>
+              <p className='text-text-tertiary system-sm-regular'>
                 <span>{t('dataset.connectHelper.helper1')}</span>
-                <span className='system-sm-medium text-text-secondary'>{t('dataset.connectHelper.helper2')}</span>
+                <span className='text-text-secondary system-sm-medium'>{t('dataset.connectHelper.helper2')}</span>
                 <span>{t('dataset.connectHelper.helper3')}</span>
-                <a className='system-sm-regular self-stretch text-text-accent' href='https://docs.dify.ai/en/guides/knowledge-base/connect-external-knowledge-base' target='_blank' rel="noopener noreferrer">
+                <a className='self-stretch text-text-accent system-sm-regular' href='https://docs.dify.ai/guides/knowledge-base/connect-external-knowledge' target='_blank' rel="noopener noreferrer">
                   {t('dataset.connectHelper.helper4')}
                 </a>
                 <span>{t('dataset.connectHelper.helper5')} </span>
               </p>
               <Button
-                className='absolute left-[-44px] top-1 flex h-8 w-8 items-center justify-center rounded-full p-2'
+                className='flex w-8 h-8 p-2 items-center justify-center absolute left-[-44px] top-1 rounded-full'
                 variant='tertiary'
                 onClick={navBackHandle}
               >
-                <RiArrowLeftLine className='h-4 w-4 text-text-tertiary' />
+                <RiArrowLeftLine className='w-4 h-4 text-text-tertiary' />
               </Button>
             </div>
             <KnowledgeBaseInfo
@@ -101,9 +101,9 @@
                 },
               })}
             />
-            <div className='flex items-center justify-end gap-2 self-stretch py-2'>
+            <div className='flex py-2 justify-end items-center gap-2 self-stretch'>
               <Button variant='secondary' onClick={navBackHandle}>
-                <div className='system-sm-medium text-components-button-secondary-text'>{t('dataset.externalKnowledgeForm.cancel')}</div>
+                <div className='text-components-button-secondary-text system-sm-medium'>{t('dataset.externalKnowledgeForm.cancel')}</div>
               </Button>
               <Button
                 variant='primary'
@@ -113,8 +113,8 @@
                 disabled={!isFormValid}
                 loading={loading}
               >
-                <div className='system-sm-medium text-components-button-primary-text'>{t('dataset.externalKnowledgeForm.connect')}</div>
-                <RiArrowRightLine className='h-4 w-4 text-components-button-primary-text' />
+                <div className='text-components-button-primary-text system-sm-medium'>{t('dataset.externalKnowledgeForm.connect')}</div>
+                <RiArrowRightLine className='w-4 h-4 text-components-button-primary-text' />
               </Button>
             </div>
           </div>
diff --git a/app/components/datasets/formatted-text/flavours/edit-slice.tsx b/app/components/datasets/formatted-text/flavours/edit-slice.tsx
index 44bd170..ca29c03 100644
--- a/app/components/datasets/formatted-text/flavours/edit-slice.tsx
+++ b/app/components/datasets/formatted-text/flavours/edit-slice.tsx
@@ -93,7 +93,7 @@
             ref={refs.setFloating}
             style={floatingStyles}
             {...getFloatingProps()}
-            className='inline-flex items-center justify-center rounded-lg bg-components-actionbar-bg p-1 shadow'
+            className='p-1 rounded-lg bg-components-actionbar-bg shadow inline-flex items-center justify-center'
             onMouseEnter={() => setDelBtnHover(true)}
             onMouseLeave={() => setDelBtnHover(false)}
           >
@@ -105,7 +105,7 @@
               }}
               state={ActionButtonState.Destructive}
             >
-              <RiDeleteBinLine className='h-4 w-4' />
+              <RiDeleteBinLine className='w-4 h-4' />
             </ActionButton>
           </span>
         </FloatingFocusManager>}
diff --git a/app/components/datasets/formatted-text/flavours/preview-slice.tsx b/app/components/datasets/formatted-text/flavours/preview-slice.tsx
index d3fa1f4..662362c 100644
--- a/app/components/datasets/formatted-text/flavours/preview-slice.tsx
+++ b/app/components/datasets/formatted-text/flavours/preview-slice.tsx
@@ -47,7 +47,7 @@
         ref={refs.setFloating}
         style={floatingStyles}
         {...getFloatingProps()}
-        className='rounded-md border-[0.5px] border-components-panel-border bg-components-tooltip-bg p-2 text-xs leading-4 text-text-secondary shadow shadow-shadow-shadow-5 backdrop-blur-[5px]'
+        className='p-2 rounded-md bg-components-tooltip-bg shadow shadow-shadow-shadow-5 backdrop-blur-[5px] text-text-secondary leading-4 border-[0.5px] border-components-panel-border text-xs'
       >
         {tooltip}
       </span>}
diff --git a/app/components/datasets/formatted-text/flavours/shared.tsx b/app/components/datasets/formatted-text/flavours/shared.tsx
index 1154857..577e3ce 100644
--- a/app/components/datasets/formatted-text/flavours/shared.tsx
+++ b/app/components/datasets/formatted-text/flavours/shared.tsx
@@ -1,32 +1,22 @@
-import type { ComponentProps, FC } from 'react'
+import { type ComponentProps, type FC, forwardRef } from 'react'
 import classNames from '@/utils/classnames'
 
 const baseStyle = 'py-[3px]'
 
 export type SliceContainerProps = ComponentProps<'span'>
 
-export const SliceContainer: FC<SliceContainerProps> = (
-  {
-    ref,
-    ...props
-  },
-) => {
+export const SliceContainer: FC<SliceContainerProps> = forwardRef((props, ref) => {
   const { className, ...rest } = props
   return <span {...rest} ref={ref} className={classNames(
     'group align-bottom mr-1 select-none text-sm',
     className,
   )} />
-}
+})
 SliceContainer.displayName = 'SliceContainer'
 
 export type SliceLabelProps = ComponentProps<'span'> & { labelInnerClassName?: string }
 
-export const SliceLabel: FC<SliceLabelProps> = (
-  {
-    ref,
-    ...props
-  },
-) => {
+export const SliceLabel: FC<SliceLabelProps> = forwardRef((props, ref) => {
   const { className, children, labelInnerClassName, ...rest } = props
   return <span {...rest} ref={ref} className={classNames(
     baseStyle,
@@ -37,17 +27,12 @@
       {children}
     </span>
   </span>
-}
+})
 SliceLabel.displayName = 'SliceLabel'
 
 export type SliceContentProps = ComponentProps<'span'>
 
-export const SliceContent: FC<SliceContentProps> = (
-  {
-    ref,
-    ...props
-  },
-) => {
+export const SliceContent: FC<SliceContentProps> = forwardRef((props, ref) => {
   const { className, children, ...rest } = props
   return <span {...rest} ref={ref} className={classNames(
     baseStyle,
@@ -56,17 +41,12 @@
   )}>
     {children}
   </span>
-}
+})
 SliceContent.displayName = 'SliceContent'
 
 export type SliceDividerProps = ComponentProps<'span'>
 
-export const SliceDivider: FC<SliceDividerProps> = (
-  {
-    ref,
-    ...props
-  },
-) => {
+export const SliceDivider: FC<SliceDividerProps> = forwardRef((props, ref) => {
   const { className, ...rest } = props
   return <span {...rest} ref={ref} className={classNames(
     baseStyle,
@@ -76,5 +56,5 @@
     {/* use a zero-width space to make the hover area bigger */}
     &#8203;
   </span>
-}
+})
 SliceDivider.displayName = 'SliceDivider'
diff --git a/app/components/datasets/hit-testing/components/child-chunks-item.tsx b/app/components/datasets/hit-testing/components/child-chunks-item.tsx
index 3ccd638..3c01e3d 100644
--- a/app/components/datasets/hit-testing/components/child-chunks-item.tsx
+++ b/app/components/datasets/hit-testing/components/child-chunks-item.tsx
@@ -14,16 +14,16 @@
   payload,
   isShowAll,
 }) => {
-  const { score, content, position } = payload
+  const { id, score, content, position } = payload
   return (
     <div
       className={!isShowAll ? 'line-clamp-2 break-all' : ''}
     >
-      <div className='relative top-[-2px] inline-flex items-center'>
-        <div className='system-2xs-semibold-uppercase flex h-[20.5px] items-center  bg-state-accent-solid px-1 text-text-primary-on-surface'>C-{position}</div>
+      <div className='inline-flex items-center relative top-[-2px]'>
+        <div className='flex items-center h-[20.5px] bg-state-accent-solid  system-2xs-semibold-uppercase text-text-primary-on-surface px-1'>C-{position}</div>
         <Score value={score} besideChunkName />
       </div>
-      <SliceContent className='bg-state-accent-hover py-0.5 text-sm font-normal text-text-secondary group-hover:bg-state-accent-hover'>{content}</SliceContent>
+      <SliceContent className='py-0.5 bg-state-accent-hover group-hover:bg-state-accent-hover text-sm text-text-secondary font-normal'>{content}</SliceContent>
     </div>
   )
 }
diff --git a/app/components/datasets/hit-testing/components/chunk-detail-modal.tsx b/app/components/datasets/hit-testing/components/chunk-detail-modal.tsx
index 4fd62bb..fe2f2b8 100644
--- a/app/components/datasets/hit-testing/components/chunk-detail-modal.tsx
+++ b/app/components/datasets/hit-testing/components/chunk-detail-modal.tsx
@@ -12,7 +12,6 @@
 import type { FileAppearanceTypeEnum } from '@/app/components/base/file-uploader/types'
 import cn from '@/utils/classnames'
 import Tag from '@/app/components/datasets/documents/detail/completed/common/tag'
-import { Markdown } from '@/app/components/base/markdown'
 
 const i18nPrefix = 'datasetHitTesting'
 
@@ -27,7 +26,7 @@
 }) => {
   const { t } = useTranslation()
   const { segment, score, child_chunks } = payload
-  const { position, content, sign_content, keywords, document } = segment
+  const { position, content, keywords, document } = segment
   const isParentChildRetrieval = !!(child_chunks && child_chunks.length > 0)
   const extension = document.name.split('.').slice(-1)[0] as FileAppearanceTypeEnum
   const heighClassName = isParentChildRetrieval ? 'h-[min(627px,_80vh)] overflow-y-auto' : 'h-[min(539px,_80vh)] overflow-y-auto'
@@ -42,29 +41,27 @@
       <div className='mt-4 flex'>
         <div className={cn('flex-1', isParentChildRetrieval && 'pr-6')}>
           {/* Meta info */}
-          <div className='flex items-center justify-between'>
-            <div className='flex grow items-center space-x-2'>
+          <div className='flex justify-between items-center'>
+            <div className='grow flex items-center space-x-2'>
               <SegmentIndexTag
                 labelPrefix={`${isParentChildRetrieval ? 'Parent-' : ''}Chunk`}
                 positionId={position}
                 className={cn('w-fit group-hover:opacity-100')}
               />
               <Dot />
-              <div className='flex grow items-center space-x-1'>
+              <div className='grow flex items-center space-x-1'>
                 <FileIcon type={extension} size='sm' />
-                <span className='w-0 grow truncate text-[13px] font-normal text-text-secondary'>{document.name}</span>
+                <span className='grow w-0 truncate text-text-secondary text-[13px] font-normal'>{document.name}</span>
               </div>
             </div>
             <Score value={score} />
           </div>
-          <Markdown
-            className={cn('!mt-2 !text-text-secondary', heighClassName)}
-            content={sign_content || content}
-            customDisallowedElements={['input']}
-          />
+          <div className={cn('mt-2 body-md-regular text-text-secondary break-all', heighClassName)}>
+            {content}
+          </div>
           {!isParentChildRetrieval && keywords && keywords.length > 0 && (
             <div className='mt-6'>
-              <div className='text-xs font-medium uppercase text-text-tertiary'>{t(`${i18nPrefix}.keyword`)}</div>
+              <div className='font-medium text-xs text-text-tertiary uppercase'>{t(`${i18nPrefix}.keyword`)}</div>
               <div className='mt-1 flex flex-wrap'>
                 {keywords.map(keyword => (
                   <Tag key={keyword} text={keyword} className='mr-2' />
@@ -75,7 +72,7 @@
         </div>
 
         {isParentChildRetrieval && (
-          <div className='flex-1 pb-6 pl-6'>
+          <div className='flex-1 pl-6 pb-6'>
             <div className='system-xs-semibold-uppercase text-text-secondary'>{t(`${i18nPrefix}.hitChunks`, { num: child_chunks.length })}</div>
             <div className={cn('mt-1 space-y-2', heighClassName)}>
               {child_chunks.map(item => (
diff --git a/app/components/datasets/hit-testing/components/result-item-external.tsx b/app/components/datasets/hit-testing/components/result-item-external.tsx
index 2c793cd..000b56d 100644
--- a/app/components/datasets/hit-testing/components/result-item-external.tsx
+++ b/app/components/datasets/hit-testing/components/result-item-external.tsx
@@ -25,13 +25,13 @@
   ] = useBoolean(false)
 
   return (
-    <div className={cn('cursor-pointer rounded-xl bg-chat-bubble-bg pt-3 hover:shadow-lg')} onClick={showDetailModal}>
+    <div className={cn('pt-3 bg-chat-bubble-bg rounded-xl hover:shadow-lg cursor-pointer')} onClick={showDetailModal}>
       {/* Meta info */}
       <ResultItemMeta className='px-3' labelPrefix={'Chunk'} positionId={positionId} wordCount={content.length} score={score} />
 
       {/* Main */}
       <div className='mt-1 px-3'>
-        <div className='body-md-regular line-clamp-2 break-all'>{content}</div>
+        <div className='line-clamp-2 body-md-regular break-all'>{content}</div>
       </div>
 
       {/* Foot */}
@@ -47,7 +47,7 @@
         >
           <div className='mt-4 flex-1'>
             <ResultItemMeta labelPrefix={'Chunk'} positionId={positionId} wordCount={content.length} score={score} />
-            <div className={cn('body-md-regular mt-2 break-all text-text-secondary', 'h-[min(539px,_80vh)] overflow-y-auto')}>
+            <div className={cn('mt-2 body-md-regular text-text-secondary break-all', 'h-[min(539px,_80vh)] overflow-y-auto')}>
               {content}
             </div>
           </div>
diff --git a/app/components/datasets/hit-testing/components/result-item-footer.tsx b/app/components/datasets/hit-testing/components/result-item-footer.tsx
index c06c5aa..66b053b 100644
--- a/app/components/datasets/hit-testing/components/result-item-footer.tsx
+++ b/app/components/datasets/hit-testing/components/result-item-footer.tsx
@@ -21,15 +21,15 @@
   const { t } = useTranslation()
 
   return (
-    <div className="mt-3 flex h-10 items-center justify-between border-t border-divider-subtle pl-3 pr-2">
-      <div className="flex grow items-center space-x-1">
+    <div className="mt-3 flex justify-between items-center h-10 pl-3 pr-2 border-t border-divider-subtle">
+      <div className="grow flex items-center space-x-1">
         <FileIcon type={docType} size="sm" />
-        <span className="w-0 grow truncate text-[13px] font-normal text-text-secondary">
+        <span className="grow w-0 truncate text-text-secondary text-[13px] font-normal">
           {docTitle}
         </span>
       </div>
       <div
-        className="flex cursor-pointer items-center space-x-1 text-text-tertiary"
+        className="flex items-center space-x-1 cursor-pointer text-text-tertiary"
         onClick={showDetailModal}
       >
         <div className="text-xs uppercase">{t(`${i18nPrefix}.open`)}</div>
diff --git a/app/components/datasets/hit-testing/components/result-item-meta.tsx b/app/components/datasets/hit-testing/components/result-item-meta.tsx
index 617aa77..87267aa 100644
--- a/app/components/datasets/hit-testing/components/result-item-meta.tsx
+++ b/app/components/datasets/hit-testing/components/result-item-meta.tsx
@@ -25,7 +25,7 @@
   const { t } = useTranslation()
 
   return (
-    <div className={cn('flex items-center justify-between', className)}>
+    <div className={cn('flex justify-between items-center', className)}>
       <div className="flex items-center space-x-2">
         <SegmentIndexTag
           labelPrefix={labelPrefix}
diff --git a/app/components/datasets/hit-testing/components/result-item.tsx b/app/components/datasets/hit-testing/components/result-item.tsx
index 03a0023..16bc40f 100644
--- a/app/components/datasets/hit-testing/components/result-item.tsx
+++ b/app/components/datasets/hit-testing/components/result-item.tsx
@@ -13,7 +13,6 @@
 import type { FileAppearanceTypeEnum } from '@/app/components/base/file-uploader/types'
 import Tag from '@/app/components/datasets/documents/detail/completed/common/tag'
 import { extensionToFileType } from '@/app/components/datasets/hit-testing/utils/extension-to-file-type'
-import { Markdown } from '@/app/components/base/markdown'
 
 const i18nPrefix = 'datasetHitTesting'
 type Props = {
@@ -26,7 +25,7 @@
   const { t } = useTranslation()
   const { segment, score, child_chunks } = payload
   const data = segment
-  const { position, word_count, content, sign_content, keywords, document } = data
+  const { position, word_count, content, keywords, document } = data
   const isParentChildRetrieval = !!(child_chunks && child_chunks.length > 0)
   const extension = document.name.split('.').slice(-1)[0] as FileAppearanceTypeEnum
   const fileType = extensionToFileType(extension)
@@ -41,33 +40,23 @@
   }] = useBoolean(false)
 
   return (
-    <div className={cn('cursor-pointer rounded-xl bg-chat-bubble-bg pt-3 hover:shadow-lg')} onClick={showDetailModal}>
+    <div className={cn('pt-3 bg-chat-bubble-bg rounded-xl hover:shadow-lg cursor-pointer')} onClick={showDetailModal}>
       {/* Meta info */}
       <ResultItemMeta className='px-3' labelPrefix={`${isParentChildRetrieval ? 'Parent-' : ''}Chunk`} positionId={position} wordCount={word_count} score={score} />
 
       {/* Main */}
       <div className='mt-1 px-3'>
-        <Markdown
-          className='line-clamp-2'
-          content={sign_content || content}
-          customDisallowedElements={['input']}
-        />
+        <div className='line-clamp-2 body-md-regular break-all'>{content}</div>
         {isParentChildRetrieval && (
           <div className='mt-1'>
-            <div
-              className={cn('inline-flex h-6 cursor-pointer select-none items-center space-x-0.5 rounded-lg text-text-secondary', isFold && 'bg-workflow-process-bg pl-1')}
-              onClick={(e) => {
-                e.stopPropagation()
-                toggleFold()
-              }}
-            >
-              <Icon className={cn('h-4 w-4', isFold && 'opacity-50')} />
+            <div className={cn('inline-flex items-center h-6 space-x-0.5 text-text-secondary select-none rounded-lg cursor-pointer', isFold && 'pl-1 bg-[linear-gradient(90deg,_rgba(200,_206,_218,_0.20)_0%,_rgba(200,_206,_218,_0.04)_100%)]')} onClick={toggleFold}>
+              <Icon className={cn('w-4 h-4', isFold && 'opacity-50')} />
               <div className='text-xs font-semibold uppercase'>{t(`${i18nPrefix}.hitChunks`, { num: child_chunks.length })}</div>
             </div>
             {!isFold && (
               <div className='space-y-2'>
                 {child_chunks.map(item => (
-                  <div key={item.id} className='ml-[7px] border-l-[2px] border-text-accent-secondary pl-[7px]'>
+                  <div key={item.id} className='ml-[7px] pl-[7px] border-l-[2px] border-text-accent-secondary'>
                     <ChildChunkItem payload={item} isShowAll={false} />
                   </div>
                 ))}
diff --git a/app/components/datasets/hit-testing/components/score.tsx b/app/components/datasets/hit-testing/components/score.tsx
index 05e470b..7691431 100644
--- a/app/components/datasets/hit-testing/components/score.tsx
+++ b/app/components/datasets/hit-testing/components/score.tsx
@@ -15,10 +15,10 @@
   if (!value || isNaN(value))
     return null
   return (
-    <div className={cn('relative items-center overflow-hidden border border-components-progress-bar-border px-[5px]',
-      besideChunkName ? 'h-[20.5px] border-l-0' : 'h-[20px] rounded-md')}>
-      <div className={cn('absolute left-0 top-0 h-full border-r-[1.5px] border-components-progress-brand-progress bg-util-colors-blue-brand-blue-brand-100', value === 1 && 'border-r-0')} style={{ width: `${value * 100}%` }} />
-      <div className={cn('relative flex h-full items-center space-x-0.5 text-util-colors-blue-brand-blue-brand-700')}>
+    <div className={cn('relative items-center px-[5px] border border-components-progress-bar-border overflow-hidden',
+      besideChunkName ? 'border-l-0 h-[20.5px]' : 'h-[20px] rounded-md')}>
+      <div className={cn('absolute top-0 left-0 h-full bg-util-colors-blue-brand-blue-brand-100 border-r-[1.5px] border-components-progress-brand-progress', value === 1 && 'border-r-0')} style={{ width: `${value * 100}%` }} />
+      <div className={cn('relative flex items-center h-full space-x-0.5 text-util-colors-blue-brand-blue-brand-700')}>
         <div className='system-2xs-medium-uppercase'>score</div>
         <div className='system-xs-semibold'>{value?.toFixed(2)}</div>
       </div>
diff --git a/app/components/datasets/hit-testing/index.tsx b/app/components/datasets/hit-testing/index.tsx
index fef69a5..33f2acc 100644
--- a/app/components/datasets/hit-testing/index.tsx
+++ b/app/components/datasets/hit-testing/index.tsx
@@ -6,7 +6,8 @@
 import { omit } from 'lodash-es'
 import { useBoolean } from 'ahooks'
 import { useContext } from 'use-context-selector'
-import { RiApps2Line, RiFocus2Line, RiHistoryLine } from '@remixicon/react'
+import { RiApps2Line, RiFocus2Line } from '@remixicon/react'
+import SegmentCard from '../documents/detail/completed/SegmentCard'
 import Textarea from './textarea'
 import s from './style.module.css'
 import ModifyRetrievalModal from './modify-retrieval-modal'
@@ -24,7 +25,6 @@
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import useTimestamp from '@/hooks/use-timestamp'
 import docStyle from '@/app/components/datasets/documents/detail/completed/style.module.css'
-import { CardSkelton } from '../documents/detail/completed/skeleton/general-list-skeleton'
 
 const limit = 10
 
@@ -34,11 +34,11 @@
 
 const RecordsEmpty: FC = () => {
   const { t } = useTranslation()
-  return <div className='rounded-2xl bg-workflow-process-bg p-5'>
-    <div className='flex h-10 w-10 items-center justify-center rounded-[10px] border-[0.5px] border-components-card-border bg-components-card-bg p-1 shadow-lg shadow-shadow-shadow-5 backdrop-blur-[5px]'>
-      <RiHistoryLine className='h-5 w-5 text-text-tertiary' />
+  return <div className='bg-gray-50 rounded-2xl p-5'>
+    <div className={s.clockWrapper}>
+      <div className={cn(s.clockIcon, 'w-5 h-5')}></div>
     </div>
-    <div className='my-2 text-[13px] font-medium leading-4 text-text-tertiary'>{t('datasetHitTesting.noRecentTip')}</div>
+    <div className='my-2 text-gray-500 text-sm'>{t('datasetHitTesting.noRecentTip')}</div>
   </div>
 }
 
@@ -70,11 +70,11 @@
   const [isShowModifyRetrievalModal, setIsShowModifyRetrievalModal] = useState(false)
   const [isShowRightPanel, { setTrue: showRightPanel, setFalse: hideRightPanel, set: setShowRightPanel }] = useBoolean(!isMobile)
   const renderHitResults = (results: HitTesting[] | ExternalKnowledgeBaseHitTesting[]) => (
-    <div className='flex h-full flex-col rounded-t-2xl bg-background-body px-4 py-3'>
-      <div className='mb-2 shrink-0 pl-2 font-semibold leading-6 text-text-primary'>
+    <div className='h-full flex flex-col py-3 px-4 rounded-t-2xl bg-background-body'>
+      <div className='shrink-0 pl-2 text-text-primary font-semibold leading-6 mb-2'>
         {t('datasetHitTesting.hit.title', { num: results.length })}
       </div>
-      <div className='grow space-y-2 overflow-y-auto'>
+      <div className='grow overflow-y-auto space-y-2'>
         {results.map((record, idx) =>
           isExternal
             ? (
@@ -93,9 +93,9 @@
   )
 
   const renderEmptyState = () => (
-    <div className='flex h-full flex-col items-center justify-center rounded-t-2xl bg-background-body px-4 py-3'>
-      <div className={cn(docStyle.commonIcon, docStyle.targetIcon, '!h-14 !w-14 !bg-text-quaternary')} />
-      <div className='mt-3 text-[13px] text-text-quaternary'>
+    <div className='h-full flex flex-col justify-center items-center py-3 px-4 rounded-t-2xl bg-background-body'>
+      <div className={cn(docStyle.commonIcon, docStyle.targetIcon, '!bg-text-quaternary !h-14 !w-14')} />
+      <div className='text-text-quaternary text-[13px] mt-3'>
         {t('datasetHitTesting.hit.emptyTip')}
       </div>
     </div>
@@ -107,10 +107,10 @@
 
   return (
     <div className={s.container}>
-      <div className='flex flex-col px-6 py-3'>
-        <div className='mb-4 flex flex-col justify-center'>
+      <div className='px-6 py-3 flex flex-col'>
+        <div className='flex flex-col justify-center mb-4'>
           <h1 className='text-base font-semibold text-text-primary'>{t('datasetHitTesting.title')}</h1>
-          <p className='mt-0.5 text-[13px] font-normal leading-4 text-text-tertiary'>{t('datasetHitTesting.desc')}</p>
+          <p className='mt-0.5 text-[13px] leading-4 font-normal text-text-tertiary'>{t('datasetHitTesting.desc')}</p>
         </div>
         <Textarea
           datasetId={datasetId}
@@ -127,7 +127,7 @@
           retrievalConfig={retrievalConfig}
           isEconomy={currentDataset?.indexing_technique === 'economy'}
         />
-        <div className='mb-3 mt-6 text-base font-semibold text-text-primary'>{t('datasetHitTesting.records')}</div>
+        <div className='text-base font-semibold text-text-primary mt-6 mb-3'>{t('datasetHitTesting.records')}</div>
         {(!recordsRes && !error)
           ? (
             <div className='flex-1'><Loading type='app' /></div>
@@ -137,11 +137,11 @@
               <>
                 <div className='grow overflow-y-auto'>
                   <table className={'w-full border-collapse border-0 text-[13px] leading-4 text-text-secondary '}>
-                    <thead className='sticky top-0 h-7 text-xs  font-medium uppercase leading-7 text-text-tertiary'>
+                    <thead className='sticky top-0 h-7 leading-7  text-xs text-text-tertiary font-medium uppercase'>
                       <tr>
-                        <td className='w-[128px] rounded-l-lg bg-background-section-burn pl-3'>{t('datasetHitTesting.table.header.source')}</td>
+                        <td className='pl-3 w-[128px] rounded-l-lg bg-background-section-burn'>{t('datasetHitTesting.table.header.source')}</td>
                         <td className='bg-background-section-burn'>{t('datasetHitTesting.table.header.text')}</td>
-                        <td className='w-48 rounded-r-lg bg-background-section-burn pl-2'>{t('datasetHitTesting.table.header.time')}</td>
+                        <td className='pl-2 w-48 rounded-r-lg bg-background-section-burn'>{t('datasetHitTesting.table.header.time')}</td>
                       </tr>
                     </thead>
                     <tbody>
@@ -149,17 +149,17 @@
                         const SourceIcon = record.source === 'app' ? RiApps2Line : RiFocus2Line
                         return <tr
                           key={record.id}
-                          className='group h-10 cursor-pointer border-b border-divider-subtle hover:bg-background-default-hover'
+                          className='group border-b border-divider-subtle h-10 hover:bg-background-default-hover cursor-pointer'
                           onClick={() => setText(record.content)}
                         >
-                          <td className='w-[128px] pl-3'>
+                          <td className='pl-3 w-[128px]'>
                             <div className='flex items-center'>
                               <SourceIcon className='mr-1 size-4 text-text-tertiary' />
                               <span className='capitalize'>{record.source.replace('_', ' ').replace('hit testing', 'retrieval test')}</span>
                             </div>
                           </td>
                           <td className='max-w-xs py-2'>{record.content}</td>
-                          <td className='w-36 pl-2'>
+                          <td className='pl-2 w-36'>
                             {formatTime(record.created_at, t('datasetHitTesting.dateTimeFormat') as string)}
                           </td>
                         </tr>
@@ -176,13 +176,15 @@
               <RecordsEmpty />
             )}
       </div>
-      <FloatRightContainer panelClassName='!justify-start !overflow-y-auto' showClose isMobile={isMobile} isOpen={isShowRightPanel} onClose={hideRightPanel} footer={null}>
+      <FloatRightContainer panelClassname='!justify-start !overflow-y-auto' showClose isMobile={isMobile} isOpen={isShowRightPanel} onClose={hideRightPanel} footer={null}>
         <div className='flex flex-col pt-3'>
           {/* {renderHitResults(generalResultData)} */}
           {submitLoading
-            ? <div className='flex h-full flex-col rounded-t-2xl bg-background-body px-4 py-3'>
-              <CardSkelton />
-            </div>
+            ? <SegmentCard
+              loading={true}
+              scene='hitTesting'
+              className='h-[216px]'
+            />
             : (
               (() => {
                 if (!hitResult?.records.length && !externalHitResult?.records.length)
@@ -197,7 +199,7 @@
           }
         </div>
       </FloatRightContainer>
-      <Drawer unmount={true} isOpen={isShowModifyRetrievalModal} onClose={() => setIsShowModifyRetrievalModal(false)} footer={null} mask={isMobile} panelClassName='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>
+      <Drawer unmount={true} isOpen={isShowModifyRetrievalModal} onClose={() => setIsShowModifyRetrievalModal(false)} footer={null} mask={isMobile} panelClassname='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>
         <ModifyRetrievalModal
           indexMethod={currentDataset?.indexing_technique || ''}
           value={retrievalConfig}
diff --git a/app/components/datasets/hit-testing/modify-external-retrieval-modal.tsx b/app/components/datasets/hit-testing/modify-external-retrieval-modal.tsx
index db06dc0..fd99c69 100644
--- a/app/components/datasets/hit-testing/modify-external-retrieval-modal.tsx
+++ b/app/components/datasets/hit-testing/modify-external-retrieval-modal.tsx
@@ -42,16 +42,16 @@
   }
 
   return (
-    <div className='shadows-shadow-2xl absolute right-[14px] top-[36px] z-10 flex w-[320px] flex-col items-start rounded-2xl
-      border-[0.5px] border-components-panel-border bg-components-panel-bg'
+    <div className='absolute z-10 top-[36px] right-[14px] flex w-[320px] flex-col items-start rounded-2xl border-[0.5px]
+      border-components-panel-border bg-components-panel-bg shadows-shadow-2xl'
     >
-      <div className='flex items-center justify-between self-stretch p-4 pb-2'>
-        <div className='system-xl-semibold grow text-text-primary'>{t('datasetHitTesting.settingTitle')}</div>
+      <div className='flex p-4 pb-2 items-center justify-between self-stretch'>
+        <div className='text-text-primary system-xl-semibold flex-grow'>{t('datasetHitTesting.settingTitle')}</div>
         <ActionButton className='ml-auto' onClick={onClose}>
-          <RiCloseLine className='h-4 w-4 shrink-0' />
+          <RiCloseLine className='w-4 h-4 flex-shrink-0' />
         </ActionButton>
       </div>
-      <div className='flex flex-col items-start justify-center gap-4 self-stretch p-4 pt-2'>
+      <div className='flex p-4 pt-2 flex-col justify-center items-start gap-4 self-stretch'>
         <RetrievalSettings
           topK={topK}
           scoreThreshold={scoreThreshold}
@@ -60,9 +60,9 @@
           isInHitTesting={true}
         />
       </div>
-      <div className='flex w-full items-end justify-end gap-1 p-4 pt-2'>
-        <Button className='min-w-[72px] shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
-        <Button variant='primary' className='min-w-[72px] shrink-0' onClick={handleSave}>{t('common.operation.save')}</Button>
+      <div className='flex p-4 pt-2 justify-end items-end gap-1 w-full'>
+        <Button className='flex-shrink-0 min-w-[72px]' onClick={onClose}>{t('common.operation.cancel')}</Button>
+        <Button variant='primary' className='flex-shrink-0 min-w-[72px]' onClick={handleSave}>{t('common.operation.save')}</Button>
       </div>
     </div>
   )
diff --git a/app/components/datasets/hit-testing/modify-retrieval-modal.tsx b/app/components/datasets/hit-testing/modify-retrieval-modal.tsx
index e66448b..2d46923 100644
--- a/app/components/datasets/hit-testing/modify-retrieval-modal.tsx
+++ b/app/components/datasets/hit-testing/modify-retrieval-modal.tsx
@@ -59,41 +59,33 @@
 
   return (
     <div
-      className='flex w-full flex-col rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-2xl shadow-shadow-shadow-9'
+      className='w-full flex flex-col bg-white border-[0.5px] border-gray-200 rounded-xl shadow-xl'
       style={{
         height: 'calc(100vh - 72px)',
       }}
       ref={ref}
     >
-      <div className='h-15 flex shrink-0 justify-between px-3 pb-1 pt-3.5'>
-        <div className='text-base font-semibold text-text-primary'>
+      <div className='shrink-0 flex justify-between items-center pl-6 pr-5 h-14 border-b border-b-gray-100'>
+        <div className='text-base font-semibold text-gray-900'>
           <div>{t('datasetSettings.form.retrievalSetting.title')}</div>
-          <div className='text-xs font-normal leading-[18px] text-text-tertiary'>
-            <a
-              target='_blank'
-              rel='noopener noreferrer'
-              href='https://docs.dify.ai/guides/knowledge-base/create-knowledge-and-upload-documents#id-4-retrieval-settings'
-              className='text-text-accent'
-            >
-              {t('datasetSettings.form.retrievalSetting.learnMore')}
-            </a>
+          <div className='leading-[18px] text-xs font-normal text-gray-500'>
+            <a target='_blank' rel='noopener noreferrer' href='https://docs.dify.ai/guides/knowledge-base/create-knowledge-and-upload-documents#id-4-retrieval-settings' className='text-text-accent'>{t('datasetSettings.form.retrievalSetting.learnMore')}</a>
             {t('datasetSettings.form.retrievalSetting.description')}
           </div>
         </div>
-        <div className='flex'>
+        <div className='flex items-center'>
           <div
             onClick={onHide}
-            className='flex h-8 w-8 cursor-pointer items-center justify-center'
+            className='flex justify-center items-center w-6 h-6 cursor-pointer'
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-gray-500' />
           </div>
         </div>
       </div>
 
-      <div className='px-4 py-2'>
-        <div className='mb-1 text-[13px] font-semibold leading-6 text-text-secondary'>
-          {t('datasetSettings.form.retrievalSetting.method')}
-        </div>
+      <div className='p-6 border-b' style={{
+        borderBottom: 'rgba(0, 0, 0, 0.05)',
+      }}>
         {indexMethod === 'high_quality'
           ? (
             <RetrievalMethodConfig
@@ -108,9 +100,14 @@
             />
           )}
       </div>
-      <div className='flex justify-end p-4 pt-2'>
-        <Button className='mr-2 shrink-0' onClick={onHide}>{t('common.operation.cancel')}</Button>
-        <Button variant='primary' className='shrink-0' onClick={handleSave} >{t('common.operation.save')}</Button>
+      <div
+        className='flex justify-end pt-6 px-6 border-t'
+        style={{
+          borderColor: 'rgba(0, 0, 0, 0.05)',
+        }}
+      >
+        <Button className='mr-2 flex-shrink-0' onClick={onHide}>{t('common.operation.cancel')}</Button>
+        <Button variant='primary' className='flex-shrink-0' onClick={handleSave} >{t('common.operation.save')}</Button>
       </div>
     </div>
   )
diff --git a/app/components/datasets/hit-testing/style.module.css b/app/components/datasets/hit-testing/style.module.css
index a421962..cf8536f 100644
--- a/app/components/datasets/hit-testing/style.module.css
+++ b/app/components/datasets/hit-testing/style.module.css
@@ -40,4 +40,4 @@
 .clockIcon {
   mask-image: url(./assets/clock.svg);
   @apply bg-gray-500;
-}
+}
\ No newline at end of file
diff --git a/app/components/datasets/hit-testing/textarea.tsx b/app/components/datasets/hit-testing/textarea.tsx
index c92e107..4336675 100644
--- a/app/components/datasets/hit-testing/textarea.tsx
+++ b/app/components/datasets/hit-testing/textarea.tsx
@@ -1,4 +1,3 @@
-import type { ChangeEvent } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import {
@@ -14,6 +13,7 @@
 import { externalKnowledgeBaseHitTesting, hitTesting } from '@/service/datasets'
 import { asyncRunSafe } from '@/utils'
 import { RETRIEVE_METHOD, type RetrievalConfig } from '@/types/app'
+import promptS from '@/app/components/app/configuration/config-prompt/style.module.css'
 
 type TextAreaWithButtonIProps = {
   datasetId: string
@@ -59,7 +59,7 @@
     setIsSettingsOpen(false)
   }
 
-  function handleTextChange(event: ChangeEvent<HTMLTextAreaElement>) {
+  function handleTextChange(event: any) {
     setText(event.target.value)
   }
 
@@ -107,10 +107,10 @@
   const icon = <Image className='size-3.5 text-util-colors-purple-purple-600' src={getIcon(retrievalMethod)} alt='' />
   return (
     <>
-      <div className={cn('relative rounded-xl bg-gradient-to-r from-components-input-border-active-prompt-1 to-components-input-border-active-prompt-2 p-0.5 shadow-xs')}>
-        <div className='relative rounded-t-xl bg-background-section-burn pt-1.5'>
-          <div className="flex h-8 items-center justify-between pb-1 pl-4 pr-1.5">
-            <span className="text-[13px] font-semibold uppercase leading-4 text-text-secondary">
+      <div className={cn('relative rounded-xl', promptS.gradientBorder)}>
+        <div className='relative pt-1.5 rounded-tl-xl rounded-tr-xl bg-background-section-burn'>
+          <div className="pl-4 pr-1.5 pb-1 flex justify-between h-8 items-center">
+            <span className="text-text-secondary font-semibold text-[13px] leading-4 uppercase">
               {t('datasetHitTesting.input.title')}
             </span>
             {isExternal
@@ -119,17 +119,17 @@
                 size='small'
                 onClick={() => setIsSettingsOpen(!isSettingsOpen)}
               >
-                <RiEqualizer2Line className='h-3.5 w-3.5 text-components-button-secondary-text' />
-                <div className='flex items-center justify-center gap-1 px-[3px]'>
-                  <span className='system-xs-medium text-components-button-secondary-text'>{t('datasetHitTesting.settingTitle')}</span>
+                <RiEqualizer2Line className='text-components-button-secondary-text w-3.5 h-3.5' />
+                <div className='flex px-[3px] justify-center items-center gap-1'>
+                  <span className='text-components-button-secondary-text system-xs-medium'>{t('datasetHitTesting.settingTitle')}</span>
                 </div>
               </Button>
               : <div
                 onClick={onClickRetrievalMethod}
-                className='flex h-7 cursor-pointer items-center space-x-0.5 rounded-lg border-[0.5px] border-components-button-secondary-bg bg-components-button-secondary-bg px-1.5 shadow-xs backdrop-blur-[5px] hover:bg-components-button-secondary-bg-hover'
+                className='flex px-1.5 h-7 items-center bg-components-button-secondary-bg hover:bg-components-button-secondary-bg-hover rounded-lg border-[0.5px] border-components-button-secondary-bg shadow-xs backdrop-blur-[5px] cursor-pointer space-x-0.5'
               >
                 {icon}
-                <div className='text-xs font-medium uppercase text-text-secondary'>{t(`dataset.retrieval.${retrievalMethod}.title`)}</div>
+                <div className='text-text-secondary text-xs font-medium uppercase'>{t(`dataset.retrieval.${retrievalMethod}.title`)}</div>
                 <RiEqualizer2Line className='size-4 text-components-menu-item-text'></RiEqualizer2Line>
               </div>
             }
@@ -145,36 +145,36 @@
               />
             )
           }
-          <div className='h-2 rounded-t-xl bg-background-default'></div>
+          <div className='h-2 rounded-tl-xl rounded-tr-xl bg-background-default'></div>
         </div>
-        <div className='rounded-b-xl bg-background-default px-4 pb-11'>
+        <div className='px-4 pb-11 bg-background-default rounded-b-xl'>
           <textarea
-            className='h-[220px] w-full resize-none border-none bg-transparent text-sm font-normal text-text-secondary caret-[#295EFF]  placeholder:text-sm placeholder:font-normal placeholder:text-components-input-text-placeholder focus-visible:outline-none'
+            className='h-[220px] border-none resize-none font-normal caret-primary-600 text-text-secondary text-sm w-full focus-visible:outline-none  placeholder:text-gray-300 placeholder:text-sm placeholder:font-normal'
             value={text}
             onChange={handleTextChange}
             placeholder={t('datasetHitTesting.input.placeholder') as string}
           />
-          <div className="absolute inset-x-0 bottom-0 mx-4 mb-2 mt-2 flex items-center justify-between">
+          <div className="absolute inset-x-0 bottom-0 flex items-center justify-between mx-4 mt-2 mb-2">
             {text?.length > 200
               ? (
                 <Tooltip
                   popupContent={t('datasetHitTesting.input.countWarning')}
                 >
                   <div
-                    className={cn('flex h-5 items-center rounded-md bg-background-section-burn px-1 text-xs font-medium text-red-600', !text?.length && 'opacity-50')}
+                    className={cn('flex items-center h-5 px-1 rounded-md bg-background-section-burn text-red-600 text-xs font-medium', !text?.length && 'opacity-50')}
                   >
                     {text?.length}
-                    <span className="mx-0.5 text-red-300">/</span>
+                    <span className="text-red-300 mx-0.5">/</span>
                     200
                   </div>
                 </Tooltip>
               )
               : (
                 <div
-                  className={cn('flex h-5 items-center rounded-md bg-background-section-burn px-1 text-xs font-medium text-text-tertiary', !text?.length && 'opacity-50')}
+                  className={cn('flex items-center h-5 px-1 rounded-md bg-background-section-burn text-text-tertiary text-xs font-medium', !text?.length && 'opacity-50')}
                 >
                   {text?.length}
-                  <span className="mx-0.5 text-divider-deep">/</span>
+                  <span className="text-divider-deep mx-0.5">/</span>
                   200
                 </div>
               )}
diff --git a/app/components/datasets/preview/container.tsx b/app/components/datasets/preview/container.tsx
index f6c1f7d..e59fc8d 100644
--- a/app/components/datasets/preview/container.tsx
+++ b/app/components/datasets/preview/container.tsx
@@ -17,7 +17,7 @@
         'flex flex-col w-full h-full overflow-y-auto rounded-l-xl border-t-[0.5px] border-l-[0.5px] border-components-panel-border bg-background-default-lighter shadow shadow-shadow-shadow-5',
       )}
     >
-      <header className='border-b border-divider-subtle pb-3 pl-5 pr-4 pt-4'>
+      <header className='pl-5 pt-4 pr-4 pb-3 border-b border-divider-subtle'>
         {header}
       </header>
       <main className={classNames('py-5 px-6 w-full h-full', mainClassName)}>
diff --git a/app/components/datasets/preview/header.tsx b/app/components/datasets/preview/header.tsx
index eb3cd46..ccb7cf8 100644
--- a/app/components/datasets/preview/header.tsx
+++ b/app/components/datasets/preview/header.tsx
@@ -14,7 +14,7 @@
     )}
   >
     <div
-      className='system-2xs-semibold-uppercase mb-1 px-1 uppercase text-text-accent'
+      className='text-text-accent system-2xs-semibold-uppercase uppercase px-1 mb-1'
     >
       {title}
     </div>
diff --git a/app/components/datasets/rename-modal/index.tsx b/app/components/datasets/rename-modal/index.tsx
index dd53baf..e93862f 100644
--- a/app/components/datasets/rename-modal/index.tsx
+++ b/app/components/datasets/rename-modal/index.tsx
@@ -13,7 +13,6 @@
 import { ToastContext } from '@/app/components/base/toast'
 import type { DataSet } from '@/models/datasets'
 import { updateDatasetSetting } from '@/service/datasets'
-import { noop } from 'lodash-es'
 
 type RenameDatasetModalProps = {
   show: boolean
@@ -55,7 +54,7 @@
         onSuccess()
       onClose()
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
     }
     finally {
@@ -65,17 +64,17 @@
 
   return (
     <Modal
-      className='w-[520px] max-w-[520px] rounded-xl px-8 py-6'
+      className='px-8 py-6 max-w-[520px] w-[520px] rounded-xl'
       isShow={show}
-      onClose={noop}
+      onClose={() => { }}
     >
-      <div className='relative pb-2 text-xl font-medium leading-[30px] text-text-primary'>{t('datasetSettings.title')}</div>
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onClose}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='relative pb-2 text-xl font-medium leading-[30px] text-gray-900'>{t('datasetSettings.title')}</div>
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
       <div>
-        <div className={cn('flex flex-wrap items-center justify-between py-4')}>
-          <div className='shrink-0 py-2 text-sm font-medium leading-[20px] text-text-primary'>
+        <div className={cn('flex justify-between py-4 flex-wrap items-center')}>
+          <div className='shrink-0 py-2 text-sm font-medium leading-[20px] text-gray-900'>
             {t('datasetSettings.form.name')}
           </div>
           <Input
@@ -85,8 +84,8 @@
             placeholder={t('datasetSettings.form.namePlaceholder') || ''}
           />
         </div>
-        <div className={cn('flex flex-wrap items-center justify-between py-4')}>
-          <div className='shrink-0 py-2 text-sm font-medium leading-[20px] text-text-primary'>
+        <div className={cn('flex justify-between py-4 flex-wrap items-center')}>
+          <div className='shrink-0 py-2 text-sm font-medium leading-[20px] text-gray-900'>
             {t('datasetSettings.form.desc')}
           </div>
           <div className='w-full'>
@@ -99,7 +98,7 @@
           </div>
         </div>
       </div>
-      <div className='flex justify-end pt-6'>
+      <div className='pt-6 flex justify-end'>
         <Button className='mr-2' onClick={onClose}>{t('common.operation.cancel')}</Button>
         <Button disabled={loading} variant="primary" onClick={onConfirm}>{t('common.operation.save')}</Button>
       </div>
diff --git a/app/components/datasets/settings/form/index.tsx b/app/components/datasets/settings/form/index.tsx
index c36c16c..c25c982 100644
--- a/app/components/datasets/settings/form/index.tsx
+++ b/app/components/datasets/settings/form/index.tsx
@@ -19,7 +19,7 @@
 import { updateDatasetSetting } from '@/service/datasets'
 import { type DataSetListResponse, DatasetPermission } from '@/models/datasets'
 import DatasetDetailContext from '@/context/dataset-detail'
-import type { RetrievalConfig } from '@/types/app'
+import { type RetrievalConfig } from '@/types/app'
 import { useAppContext } from '@/context/app-context'
 import { isReRankModelSelected } from '@/app/components/datasets/common/check-rerank-model'
 import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
@@ -160,7 +160,7 @@
         mutate(unstable_serialize(getKey))
       }
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
     }
     finally {
@@ -169,10 +169,10 @@
   }
 
   return (
-    <div className='flex w-full flex-col gap-y-4 px-14 py-8 sm:w-[880px]'>
+    <div className='w-full sm:w-[880px] px-14 py-8 flex flex-col gap-y-4'>
       <div className={rowClass}>
         <div className={labelClass}>
-          <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.name')}</div>
+          <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.name')}</div>
         </div>
         <div className='grow'>
           <Input
@@ -185,7 +185,7 @@
       </div>
       <div className={rowClass}>
         <div className={labelClass}>
-          <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.desc')}</div>
+          <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.desc')}</div>
         </div>
         <div className='grow'>
           <Textarea
@@ -199,7 +199,7 @@
       </div>
       <div className={rowClass}>
         <div className={labelClass}>
-          <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.permissions')}</div>
+          <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.permissions')}</div>
         </div>
         <div className='grow'>
           <PermissionSelector
@@ -214,10 +214,10 @@
       </div>
       {currentDataset && currentDataset.indexing_technique && (
         <>
-          <div className='my-1 h-0 w-full border-b border-divider-subtle' />
+          <div className='w-full h-0 border-b border-divider-subtle my-1' />
           <div className={rowClass}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.indexMethod')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.indexMethod')}</div>
             </div>
             <div className='grow'>
               <IndexMethodRadio
@@ -227,8 +227,8 @@
                 docForm={currentDataset.doc_form}
                 currentValue={currentDataset.indexing_technique}
               />
-              {currentDataset.indexing_technique === IndexingType.ECONOMICAL && indexMethod === IndexingType.QUALIFIED && <div className='mt-2 flex h-10 items-center gap-x-0.5 overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-2 shadow-xs backdrop-blur-[5px]'>
-                <div className='absolute bottom-0 left-0 right-0 top-0 bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)] opacity-40'></div>
+              {currentDataset.indexing_technique === IndexingType.ECONOMICAL && indexMethod === IndexingType.QUALIFIED && <div className='mt-2 h-10 p-2 flex items-center gap-x-0.5 rounded-xl border-[0.5px] border-components-panel-border overflow-hidden bg-components-panel-bg-blur backdrop-blur-[5px] shadow-xs'>
+                <div className='absolute top-0 left-0 right-0 bottom-0 bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)] opacity-40'></div>
                 <div className='p-1'>
                   <AlertTriangle className='size-4 text-text-warning-secondary' />
                 </div>
@@ -242,7 +242,7 @@
         <>
           <div className={rowClass}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.embeddingModel')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.embeddingModel')}</div>
             </div>
             <div className='grow'>
               <ModelSelector
@@ -260,10 +260,10 @@
       {/* Retrieval Method Config */}
       {currentDataset?.provider === 'external'
         ? <>
-          <div className='my-1 h-0 w-full border-b border-divider-subtle' />
+          <div className='w-full h-0 border-b border-divider-subtle my-1' />
           <div className={rowClass}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.retrievalSetting.title')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.retrievalSetting.title')}</div>
             </div>
             <RetrievalSettings
               topK={topK}
@@ -273,40 +273,40 @@
               isInRetrievalSetting={true}
             />
           </div>
-          <div className='my-1 h-0 w-full border-b border-divider-subtle' />
+          <div className='w-full h-0 border-b border-divider-subtle my-1' />
           <div className={rowClass}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.externalKnowledgeAPI')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.externalKnowledgeAPI')}</div>
             </div>
             <div className='w-full'>
-              <div className='flex h-full items-center gap-1 rounded-lg bg-components-input-bg-normal px-3 py-2'>
-                <ApiConnectionMod className='h-4 w-4 text-text-secondary' />
-                <div className='system-sm-medium overflow-hidden text-ellipsis text-text-secondary'>
+              <div className='flex h-full px-3 py-2 items-center gap-1 rounded-lg bg-components-input-bg-normal'>
+                <ApiConnectionMod className='w-4 h-4 text-text-secondary' />
+                <div className='overflow-hidden text-text-secondary text-ellipsis system-sm-medium'>
                   {currentDataset?.external_knowledge_info.external_knowledge_api_name}
                 </div>
-                <div className='system-xs-regular text-text-tertiary'>路</div>
-                <div className='system-xs-regular text-text-tertiary'>{currentDataset?.external_knowledge_info.external_knowledge_api_endpoint}</div>
+                <div className='text-text-tertiary system-xs-regular'>路</div>
+                <div className='text-text-tertiary system-xs-regular'>{currentDataset?.external_knowledge_info.external_knowledge_api_endpoint}</div>
               </div>
             </div>
           </div>
           <div className={rowClass}>
             <div className={labelClass}>
-              <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.externalKnowledgeID')}</div>
+              <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.externalKnowledgeID')}</div>
             </div>
             <div className='w-full'>
-              <div className='flex h-full items-center gap-1 rounded-lg bg-components-input-bg-normal px-3 py-2'>
-                <div className='system-xs-regular text-text-tertiary'>{currentDataset?.external_knowledge_info.external_knowledge_id}</div>
+              <div className='flex h-full px-3 py-2 items-center gap-1 rounded-lg bg-components-input-bg-normal'>
+                <div className='text-text-tertiary system-xs-regular'>{currentDataset?.external_knowledge_info.external_knowledge_id}</div>
               </div>
             </div>
           </div>
         </>
         : indexMethod
           ? <>
-            <div className='my-1 h-0 w-full border-b border-divider-subtle' />
+            <div className='w-full h-0 border-b border-divider-subtle my-1' />
             <div className={rowClass}>
               <div className={labelClass}>
                 <div>
-                  <div className='system-sm-semibold text-text-secondary'>{t('datasetSettings.form.retrievalSetting.title')}</div>
+                  <div className='text-text-secondary system-sm-semibold'>{t('datasetSettings.form.retrievalSetting.title')}</div>
                   <div className='body-xs-regular text-text-tertiary'>
                     <a target='_blank' rel='noopener noreferrer' href='https://docs.dify.ai/guides/knowledge-base/create-knowledge-and-upload-documents#id-4-retrieval-settings' className='text-text-accent'>{t('datasetSettings.form.retrievalSetting.learnMore')}</a>
                     {t('datasetSettings.form.retrievalSetting.description')}
@@ -332,7 +332,7 @@
           </>
           : null
       }
-      <div className='my-1 h-0 w-full border-b border-divider-subtle' />
+      <div className='w-full h-0 border-b border-divider-subtle my-1' />
       <div className={rowClass}>
         <div className={labelClass} />
         <div className='grow'>
diff --git a/app/components/datasets/settings/index-method-radio/index.tsx b/app/components/datasets/settings/index-method-radio/index.tsx
index f0d2b32..05650e4 100644
--- a/app/components/datasets/settings/index-method-radio/index.tsx
+++ b/app/components/datasets/settings/index-method-radio/index.tsx
@@ -91,7 +91,7 @@
                 </OptionCard>
               </PortalToFollowElemTrigger>
               <PortalToFollowElemContent style={{ zIndex: 60 }}>
-                <div className='rounded-lg border-components-panel-border bg-components-tooltip-bg p-3 text-xs font-medium text-text-secondary shadow-lg'>
+                <div className='p-3 bg-components-tooltip-bg border-components-panel-border text-xs font-medium text-text-secondary rounded-lg shadow-lg'>
                   {t('datasetSettings.form.indexMethodChangeToEconomyDisabledTip')}
                 </div>
               </PortalToFollowElemContent>
diff --git a/app/components/datasets/settings/permission-selector/index.tsx b/app/components/datasets/settings/permission-selector/index.tsx
index 9bb6f81..62ec947 100644
--- a/app/components/datasets/settings/permission-selector/index.tsx
+++ b/app/components/datasets/settings/permission-selector/index.tsx
@@ -76,82 +76,73 @@
           onClick={() => !disabled && setOpen(v => !v)}
           className='block'
         >
-          <div className={cn('flex cursor-pointer items-center rounded-lg bg-components-input-bg-normal px-3 py-[6px] hover:bg-state-base-hover-alt',
-            open && 'bg-state-base-hover-alt',
-            disabled && '!cursor-not-allowed !bg-components-input-bg-disabled hover:!bg-components-input-bg-disabled',
-          )}>
-            {
-              isOnlyMe && (
-                <>
-                  <Avatar avatar={userProfile.avatar_url} name={userProfile.name} className='mr-2 shrink-0' size={24} />
-                  <div className='mr-2 grow text-sm leading-5 text-components-input-text-filled'>{t('datasetSettings.form.permissionsOnlyMe')}</div>
-                </>
-              )
-            }
-            {
-              isAllTeamMembers && (
-                <>
-                  <div className='mr-2 flex h-6 w-6 items-center justify-center rounded-lg bg-[#EEF4FF]'>
-                    <Users01 className='h-3.5 w-3.5 text-[#444CE7]' />
-                  </div>
-                  <div className='mr-2 grow text-sm leading-5 text-components-input-text-filled'>{t('datasetSettings.form.permissionsAllMember')}</div>
-                </>
-              )
-            }
-            {
-              isPartialMembers && (
-                <>
-                  <div className='mr-2 flex h-6 w-6 items-center justify-center rounded-lg bg-[#EEF4FF]'>
-                    <Users01 className='h-3.5 w-3.5 text-[#444CE7]' />
-                  </div>
-                  <div title={selectedMembers} className='mr-2 grow truncate text-sm leading-5 text-components-input-text-filled'>{selectedMembers}</div>
-                </>
-              )
-            }
-            <RiArrowDownSLine className={cn('h-4 w-4 shrink-0 text-text-secondary', disabled && '!text-components-input-text-placeholder')} />
-          </div>
+          {isOnlyMe && (
+            <div className={cn('flex items-center px-3 py-[6px] rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200', open && 'bg-gray-200', disabled && 'hover:!bg-gray-100 !cursor-default')}>
+              <Avatar avatar={userProfile.avatar_url} name={userProfile.name} className='shrink-0 mr-2' size={24} />
+              <div className='grow mr-2 text-gray-900 text-sm leading-5'>{t('datasetSettings.form.permissionsOnlyMe')}</div>
+              {!disabled && <RiArrowDownSLine className='shrink-0 w-4 h-4 text-gray-700' />}
+            </div>
+          )}
+          {isAllTeamMembers && (
+            <div className={cn('flex items-center px-3 py-[6px] rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200', open && 'bg-gray-200')}>
+              <div className='mr-2 flex items-center justify-center w-6 h-6 rounded-lg bg-[#EEF4FF]'>
+                <Users01 className='w-3.5 h-3.5 text-[#444CE7]' />
+              </div>
+              <div className='grow mr-2 text-gray-900 text-sm leading-5'>{t('datasetSettings.form.permissionsAllMember')}</div>
+              {!disabled && <RiArrowDownSLine className='shrink-0 w-4 h-4 text-gray-700' />}
+            </div>
+          )}
+          {isPartialMembers && (
+            <div className={cn('flex items-center px-3 py-[6px] rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200', open && 'bg-gray-200')}>
+              <div className='mr-2 flex items-center justify-center w-6 h-6 rounded-lg bg-[#EEF4FF]'>
+                <Users01 className='w-3.5 h-3.5 text-[#444CE7]' />
+              </div>
+              <div title={selectedMembers} className='grow mr-2 text-gray-900 text-sm leading-5 truncate'>{selectedMembers}</div>
+              {!disabled && <RiArrowDownSLine className='shrink-0 w-4 h-4 text-gray-700' />}
+            </div>
+          )}
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1002]'>
-          <div className='relative w-[480px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-sm'>
+          <div className='relative w-[480px] rounded-lg border-[0.5px] bg-white shadow-lg'>
             <div className='p-1'>
-              <div className='cursor-pointer rounded-lg py-1 pl-3 pr-2 hover:bg-state-base-hover' onClick={() => {
+              <div className='pl-3 pr-2 py-1 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                 onChange(DatasetPermission.onlyMe)
                 setOpen(false)
               }}>
                 <div className='flex items-center gap-2'>
-                  <Avatar avatar={userProfile.avatar_url} name={userProfile.name} className='mr-2 shrink-0' size={24} />
-                  <div className='mr-2 grow text-sm leading-5 text-text-primary'>{t('datasetSettings.form.permissionsOnlyMe')}</div>
-                  {isOnlyMe && <Check className='h-4 w-4 text-primary-600' />}
+                  <Avatar avatar={userProfile.avatar_url} name={userProfile.name} className='shrink-0 mr-2' size={24} />
+                  <div className='grow mr-2 text-gray-900 text-sm leading-5'>{t('datasetSettings.form.permissionsOnlyMe')}</div>
+                  {isOnlyMe && <Check className='w-4 h-4 text-primary-600' />}
                 </div>
               </div>
-              <div className='cursor-pointer rounded-lg py-1 pl-3 pr-2 hover:bg-state-base-hover' onClick={() => {
+              <div className='pl-3 pr-2 py-1 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                 onChange(DatasetPermission.allTeamMembers)
                 setOpen(false)
               }}>
                 <div className='flex items-center gap-2'>
-                  <div className='mr-2 flex h-6 w-6 items-center justify-center rounded-lg bg-[#EEF4FF]'>
-                    <Users01 className='h-3.5 w-3.5 text-[#444CE7]' />
+                  <div className='mr-2 flex items-center justify-center w-6 h-6 rounded-lg bg-[#EEF4FF]'>
+                    <Users01 className='w-3.5 h-3.5 text-[#444CE7]' />
                   </div>
-                  <div className='mr-2 grow text-sm leading-5 text-text-primary'>{t('datasetSettings.form.permissionsAllMember')}</div>
-                  {isAllTeamMembers && <Check className='h-4 w-4 text-primary-600' />}
+                  <div className='grow mr-2 text-gray-900 text-sm leading-5'>{t('datasetSettings.form.permissionsAllMember')}</div>
+                  {isAllTeamMembers && <Check className='w-4 h-4 text-primary-600' />}
                 </div>
               </div>
-              <div className='cursor-pointer rounded-lg py-1 pl-3 pr-2 hover:bg-state-base-hover' onClick={() => {
+              <div className='pl-3 pr-2 py-1 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                 onChange(DatasetPermission.partialMembers)
                 onMemberSelect([userProfile.id])
               }}>
                 <div className='flex items-center gap-2'>
-                  <div className={cn('mr-2 flex h-6 w-6 items-center justify-center rounded-lg bg-[#FFF6ED]', isPartialMembers && '!bg-[#EEF4FF]')}>
-                    <UsersPlus className={cn('h-3.5 w-3.5 text-[#FB6514]', isPartialMembers && '!text-[#444CE7]')} />
+                  <div className={cn('mr-2 flex items-center justify-center w-6 h-6 rounded-lg bg-[#FFF6ED]', isPartialMembers && '!bg-[#EEF4FF]')}>
+                    <UsersPlus className={cn('w-3.5 h-3.5 text-[#FB6514]', isPartialMembers && '!text-[#444CE7]')} />
                   </div>
-                  <div className='mr-2 grow text-sm leading-5 text-text-primary'>{t('datasetSettings.form.permissionsInvitedMembers')}</div>
-                  {isPartialMembers && <Check className='h-4 w-4 text-primary-600' />}
+                  <div className='grow mr-2 text-gray-900 text-sm leading-5'>{t('datasetSettings.form.permissionsInvitedMembers')}</div>
+                  {isPartialMembers && <Check className='w-4 h-4 text-primary-600' />}
                 </div>
               </div>
             </div>
             {isPartialMembers && (
-              <div className='max-h-[360px] overflow-y-auto border-t-[1px] border-divider-regular pb-1 pl-1 pr-1'>
-                <div className='sticky left-0 top-0 z-10 bg-white p-2 pb-1'>
+              <div className='max-h-[360px] border-t-[1px] border-gray-100 p-1 overflow-y-auto'>
+                <div className='sticky left-0 top-0 p-2 pb-1 bg-white'>
                   <Input
                     showLeftIcon
                     showClearIcon
@@ -161,26 +152,26 @@
                   />
                 </div>
                 {showMe && (
-                  <div className='flex items-center gap-2 rounded-lg py-1 pl-3 pr-[10px]'>
+                  <div className='pl-3 pr-[10px] py-1 flex gap-2 items-center rounded-lg'>
                     <Avatar avatar={userProfile.avatar_url} name={userProfile.name} className='shrink-0' size={24} />
                     <div className='grow'>
-                      <div className='truncate text-[13px] font-medium leading-[18px] text-text-secondary'>
+                      <div className='text-[13px] text-gray-700 font-medium leading-[18px] truncate'>
                         {userProfile.name}
-                        <span className='text-xs font-normal text-text-tertiary'>{t('datasetSettings.form.me')}</span>
+                        <span className='text-xs text-gray-500 font-normal'>{t('datasetSettings.form.me')}</span>
                       </div>
-                      <div className='truncate text-xs leading-[18px] text-text-tertiary'>{userProfile.email}</div>
+                      <div className='text-xs text-gray-500 leading-[18px] truncate'>{userProfile.email}</div>
                     </div>
-                    <Check className='h-4 w-4 shrink-0 text-text-accent opacity-30' />
+                    <Check className='shrink-0 w-4 h-4 text-primary-600 opacity-30' />
                   </div>
                 )}
                 {filteredMemberList.map(member => (
-                  <div key={member.id} className='flex cursor-pointer items-center gap-2 rounded-lg py-1 pl-3 pr-[10px] hover:bg-state-base-hover' onClick={() => selectMember(member)}>
+                  <div key={member.id} className='pl-3 pr-[10px] py-1 flex gap-2 items-center rounded-lg hover:bg-gray-100 cursor-pointer' onClick={() => selectMember(member)}>
                     <Avatar avatar={userProfile.avatar_url} name={member.name} className='shrink-0' size={24} />
                     <div className='grow'>
-                      <div className='truncate text-[13px] font-medium leading-[18px] text-text-secondary'>{member.name}</div>
-                      <div className='truncate text-xs leading-[18px] text-text-tertiary'>{member.email}</div>
+                      <div className='text-[13px] text-gray-700 font-medium leading-[18px] truncate'>{member.name}</div>
+                      <div className='text-xs text-gray-500 leading-[18px] truncate'>{member.email}</div>
                     </div>
-                    {value.includes(member.id) && <Check className='h-4 w-4 shrink-0 text-text-accent' />}
+                    {value.includes(member.id) && <Check className='shrink-0 w-4 h-4 text-primary-600' />}
                   </div>
                 ))}
               </div>
diff --git a/app/components/develop/code.tsx b/app/components/develop/code.tsx
index d187d78..7716cd4 100644
--- a/app/components/develop/code.tsx
+++ b/app/components/develop/code.tsx
@@ -7,7 +7,7 @@
   useRef,
   useState,
 } from 'react'
-import { Tab, TabList, TabPanel, TabPanels } from '@headlessui/react'
+import { Tab } from '@headlessui/react'
 import { Tag } from './tag'
 import classNames from '@/utils/classnames'
 import { writeTextToClipboard } from '@/utils/clipboard'
@@ -24,7 +24,7 @@
 } as { [key: string]: string }
 
 type IChildrenProps = {
-  children: React.ReactNode
+  children: React.ReactElement
   [key: string]: any
 }
 
@@ -84,7 +84,7 @@
           copied && '-translate-y-1.5 opacity-0',
         )}
       >
-        <ClipboardIcon className="h-5 w-5 fill-zinc-500/20 stroke-zinc-500 transition-colors group-hover/button:stroke-zinc-400" />
+        <ClipboardIcon className="w-5 h-5 transition-colors fill-zinc-500/20 stroke-zinc-500 group-hover/button:stroke-zinc-400" />
         Copy
       </span>
       <span
@@ -105,9 +105,9 @@
     return null
 
   return (
-    <div className="border-b-white/7.5 bg-white/2.5 dark:bg-white/1 flex h-9 items-center gap-2 border-y border-t-transparent bg-zinc-900 px-4 dark:border-b-white/5">
+    <div className="flex h-9 items-center gap-2 border-y border-t-transparent border-b-white/7.5 bg-zinc-900 bg-white/2.5 px-4 dark:border-b-white/5 dark:bg-white/1">
       {tag && (
-        <div className="dark flex">
+        <div className="flex dark">
           <Tag variant="small">{tag}</Tag>
         </div>
       )}
@@ -122,7 +122,7 @@
 }
 
 type ICodePanelProps = {
-  children: React.ReactNode
+  children: React.ReactElement
   tag?: string
   code?: string
   label?: string
@@ -132,7 +132,7 @@
   const child = Children.only(children)
 
   return (
-    <div className="dark:bg-white/2.5 group">
+    <div className="group dark:bg-white/2.5">
       <CodePanelHeader
         tag={child.props.tag ?? tag}
         label={child.props.label ?? label}
@@ -141,7 +141,7 @@
         {/* <pre className="p-4 overflow-x-auto text-xs text-white">{children}</pre> */}
         {/* <CopyButton code={child.props.code ?? code} /> */}
         {/* <CopyButton code={child.props.children.props.children} /> */}
-        <pre className="overflow-x-auto p-4 text-xs text-white">{targetCode || children}</pre>
+        <pre className="p-4 overflow-x-auto text-xs text-white">{targetCode || children}</pre>
         <CopyButton code={targetCode || child.props.children.props.children} />
       </div>
     </div>
@@ -157,12 +157,12 @@
   return (
     <div className="flex min-h-[calc(theme(spacing.12)+1px)] flex-wrap items-start gap-x-4 border-b border-zinc-700 bg-zinc-800 px-4 dark:border-zinc-800 dark:bg-transparent">
       {title && (
-        <h3 className="mr-auto pt-3 text-xs font-semibold text-white">
+        <h3 className="pt-3 mr-auto text-xs font-semibold text-white">
           {title}
         </h3>
       )}
       {hasTabs && (
-        <TabList className="-mb-px flex gap-4 text-xs font-medium">
+        <Tab.List className="flex gap-4 -mb-px text-xs font-medium">
           {Children.map(children, (child, childIndex) => (
             <Tab
               className={classNames(
@@ -175,14 +175,14 @@
               {getPanelTitle(child.props.children.props)}
             </Tab>
           ))}
-        </TabList>
+        </Tab.List>
       )}
     </div>
   )
 }
 
 type ICodeGroupPanelsProps = {
-  children: React.ReactNode
+  children: React.ReactElement
   [key: string]: any
 }
 function CodeGroupPanels({ children, targetCode, ...props }: ICodeGroupPanelsProps) {
@@ -190,13 +190,13 @@
 
   if (hasTabs) {
     return (
-      <TabPanels>
+      <Tab.Panels>
         {Children.map(children, child => (
-          <TabPanel>
+          <Tab.Panel>
             <CodePanel {...props}>{child}</CodePanel>
-          </TabPanel>
+          </Tab.Panel>
         ))}
-      </TabPanels>
+      </Tab.Panels>
     )
   }
 
@@ -271,7 +271,7 @@
     <CodeGroupContext.Provider value={true}>
       <Container
         {...containerProps}
-        className="not-prose my-6 overflow-hidden rounded-2xl bg-zinc-900 shadow-md dark:ring-1 dark:ring-white/10"
+        className="my-6 overflow-hidden shadow-md not-prose rounded-2xl bg-zinc-900 dark:ring-1 dark:ring-white/10"
       >
         <CodeGroupHeader title={title} {...headerProps}>
           {children}
diff --git a/app/components/develop/doc.tsx b/app/components/develop/doc.tsx
index c61cc09..fd524ef 100644
--- a/app/components/develop/doc.tsx
+++ b/app/components/develop/doc.tsx
@@ -17,9 +17,6 @@
 import TemplateChatJa from './template/template_chat.ja.mdx'
 import I18n from '@/context/i18n'
 import { LanguagesSupported } from '@/i18n/language'
-import useTheme from '@/hooks/use-theme'
-import { Theme } from '@/types/app'
-import cn from '@/utils/classnames'
 
 type IDocProps = {
   appDetail: any
@@ -30,7 +27,6 @@
   const { t } = useTranslation()
   const [toc, setToc] = useState<Array<{ href: string; text: string }>>([])
   const [isTocExpanded, setIsTocExpanded] = useState(false)
-  const { theme } = useTheme()
 
   const variables = appDetail?.model_config?.configs?.prompt_variables || []
   const inputs = variables.reduce((res: any, variable: any) => {
@@ -87,12 +83,12 @@
       <div className={`fixed right-8 top-32 z-10 transition-all ${isTocExpanded ? 'w-64' : 'w-10'}`}>
         {isTocExpanded
           ? (
-            <nav className="toc max-h-[calc(100vh-150px)] w-full overflow-y-auto rounded-lg bg-components-panel-bg p-4 shadow-md">
-              <div className="mb-4 flex items-center justify-between">
-                <h3 className="text-lg font-semibold text-text-primary">{t('appApi.develop.toc')}</h3>
+            <nav className="toc w-full bg-gray-50 p-4 rounded-lg shadow-md">
+              <div className="flex justify-between items-center mb-4">
+                <h3 className="text-lg font-semibold">{t('appApi.develop.toc')}</h3>
                 <button
                   onClick={() => setIsTocExpanded(false)}
-                  className="text-text-tertiary hover:text-text-secondary"
+                  className="text-gray-500 hover:text-gray-700"
                 >
                   鉁�
                 </button>
@@ -102,7 +98,7 @@
                   <li key={index}>
                     <a
                       href={item.href}
-                      className="text-text-secondary transition-colors duration-200 hover:text-text-primary hover:underline"
+                      className="text-gray-600 hover:text-gray-900 hover:underline transition-colors duration-200"
                       onClick={e => handleTocClick(e, item)}
                     >
                       {item.text}
@@ -115,13 +111,13 @@
           : (
             <button
               onClick={() => setIsTocExpanded(true)}
-              className="flex h-10 w-10 items-center justify-center rounded-full bg-components-button-secondary-bg shadow-md transition-colors duration-200 hover:bg-components-button-secondary-bg-hover"
+              className="w-10 h-10 bg-gray-50 rounded-full shadow-md flex items-center justify-center hover:bg-gray-100 transition-colors duration-200"
             >
-              <RiListUnordered className="h-6 w-6 text-components-button-secondary-text" />
+              <RiListUnordered className="w-6 h-6" />
             </button>
           )}
       </div>
-      <article className={cn('prose-xl prose', theme === Theme.dark && 'prose-invert')} >
+      <article className="prose prose-xl" >
         {(appDetail?.mode === 'chat' || appDetail?.mode === 'agent-chat') && (
           (() => {
             switch (locale) {
diff --git a/app/components/develop/index.tsx b/app/components/develop/index.tsx
index c3f88a1..2f6a2a2 100644
--- a/app/components/develop/index.tsx
+++ b/app/components/develop/index.tsx
@@ -1,7 +1,10 @@
 'use client'
+import { useTranslation } from 'react-i18next'
+import s from './secret-key/style.module.css'
 import Doc from '@/app/components/develop/doc'
 import Loading from '@/app/components/base/loading'
-import ApiServer from '@/app/components/develop/ApiServer'
+import InputCopy from '@/app/components/develop/secret-key/input-copy'
+import SecretKeyButton from '@/app/components/develop/secret-key/secret-key-button'
 import { useStore as useAppStore } from '@/app/components/app/store'
 
 type IDevelopMainProps = {
@@ -10,22 +13,35 @@
 
 const DevelopMain = ({ appId }: IDevelopMainProps) => {
   const appDetail = useAppStore(state => state.appDetail)
+  const { t } = useTranslation()
 
   if (!appDetail) {
     return (
-      <div className='flex h-full items-center justify-center bg-background-default'>
+      <div className='flex h-full items-center justify-center bg-white'>
         <Loading />
       </div>
     )
   }
 
   return (
-    <div className='relative flex h-full flex-col overflow-hidden'>
-      <div className='flex shrink-0 items-center justify-between border-b border-solid border-b-divider-regular px-6 py-2'>
-        <div className='text-lg font-medium text-text-primary'></div>
-        <ApiServer apiBaseUrl={appDetail.api_base_url} appId={appId} />
+    <div className='relative flex flex-col h-full overflow-hidden'>
+      <div className='flex items-center justify-between flex-shrink-0 px-6 border-b border-solid py-2 border-b-gray-100'>
+        <div className='text-lg font-medium text-gray-900'></div>
+        <div className='flex items-center flex-wrap gap-y-1'>
+          <InputCopy className='flex-shrink-0 mr-1 w-52 sm:w-80' value={appDetail.api_base_url}>
+            <div className={`ml-2 border border-gray-200 border-solid flex-shrink-0 px-2 py-0.5 rounded-[6px] text-gray-500 text-[0.625rem] ${s.customApi}`}>
+              {t('appApi.apiServer')}
+            </div>
+          </InputCopy>
+          <div className={`flex items-center h-9 px-3 rounded-lg 
+                        text-[13px] font-normal  mr-2 ${appDetail.enable_api ? 'text-green-500 bg-green-50' : 'text-yellow-500 bg-yellow-50'}`}>
+            <div className='mr-1'>{t('appApi.status')}</div>
+            <div className='font-semibold'>{appDetail.enable_api ? `${t('appApi.ok')}` : `${t('appApi.disabled')}`}</div>
+          </div>
+          <SecretKeyButton className='flex-shrink-0' appId={appId} />
+        </div>
       </div>
-      <div className='grow overflow-auto px-4 py-4 sm:px-10'>
+      <div className='px-4 sm:px-10 py-4 overflow-auto grow'>
         <Doc appDetail={appDetail} />
       </div>
     </div>
diff --git a/app/components/develop/md.tsx b/app/components/develop/md.tsx
index a9b74a3..c75798f 100644
--- a/app/components/develop/md.tsx
+++ b/app/components/develop/md.tsx
@@ -12,7 +12,7 @@
 
 type IHeaderingProps = {
   url: string
-  method: 'PUT' | 'DELETE' | 'GET' | 'POST' | 'PATCH'
+  method: 'PUT' | 'DELETE' | 'GET' | 'POST'
   title: string
   name: string
 }
@@ -34,9 +34,6 @@
     case 'POST':
       style = 'ring-sky-300 bg-sky-400/10 text-sky-500 dark:ring-sky-400/30 dark:bg-sky-400/10 dark:text-sky-400'
       break
-    case 'PATCH':
-      style = 'ring-violet-300 bg-violet-400/10 text-violet-500 dark:ring-violet-400/30 dark:bg-violet-400/10 dark:text-violet-400'
-      break
     default:
       style = 'ring-emerald-300 dark:ring-emerald-400/30 bg-emerald-400/10 text-emerald-500 dark:text-emerald-400'
       break
@@ -45,12 +42,12 @@
     <>
       <span id={name?.replace(/^#/, '')} className='relative -top-28' />
       <div className="flex items-center gap-x-3" >
-        <span className={`rounded-lg px-1.5 font-mono text-[0.625rem] font-semibold leading-6 ring-1 ring-inset ${style}`}>{method}</span>
+        <span className={`font-mono text-[0.625rem] font-semibold leading-6 rounded-lg px-1.5 ring-1 ring-inset ${style}`}>{method}</span>
         {/* <span className="h-0.5 w-0.5 rounded-full bg-zinc-300 dark:bg-zinc-600"></span> */}
         <span className="font-mono text-xs text-zinc-400">{url}</span>
       </div>
       <h2 className='mt-2 scroll-mt-32'>
-        <a href={name} className='group text-inherit no-underline hover:text-inherit'>{title}</a>
+        <a href={name} className='no-underline group text-inherit hover:text-inherit'>{title}</a>
       </h2>
     </>
 
@@ -59,7 +56,7 @@
 
 export function Row({ children }: IChildrenProps) {
   return (
-    <div className="grid grid-cols-1 items-start gap-x-16 gap-y-10 xl:!max-w-none xl:grid-cols-2">
+    <div className="grid items-start grid-cols-1 gap-x-16 gap-y-10 xl:max-w-none xl:grid-cols-2">
       {children}
     </div>
   )
@@ -100,8 +97,8 @@
 }
 export function Property({ name, type, children }: IProperty) {
   return (
-    <li className="m-0 px-0 py-4 first:pt-0 last:pb-0">
-      <dl className="m-0 flex flex-wrap items-center gap-x-3 gap-y-2">
+    <li className="px-0 py-4 m-0 first:pt-0 last:pb-0">
+      <dl className="flex flex-wrap items-center m-0 gap-x-3 gap-y-2">
         <dt className="sr-only">Name</dt>
         <dd>
           <code>{name}</code>
@@ -125,8 +122,8 @@
 }
 export function SubProperty({ name, type, children }: ISubProperty) {
   return (
-    <li className="m-0 px-0 py-1 last:pb-0">
-      <dl className="m-0 flex flex-wrap items-center gap-x-3">
+    <li className="px-0 py-1 m-0 last:pb-0">
+      <dl className="flex flex-wrap items-center m-0 gap-x-3">
         <dt className="sr-only">Name</dt>
         <dd>
           <code>{name}</code>
@@ -146,6 +143,6 @@
 
 export function PropertyInstruction({ children }: PropsWithChildren<{}>) {
   return (
-    <li className="m-0 px-0 py-4 italic first:pt-0">{children}</li>
+    <li className="m-0 px-0 py-4 first:pt-0 italic">{children}</li>
   )
 }
diff --git a/app/components/develop/secret-key/input-copy.tsx b/app/components/develop/secret-key/input-copy.tsx
index 982c63f..d310779 100644
--- a/app/components/develop/secret-key/input-copy.tsx
+++ b/app/components/develop/secret-key/input-copy.tsx
@@ -2,18 +2,20 @@
 import React, { useEffect, useState } from 'react'
 import copy from 'copy-to-clipboard'
 import { t } from 'i18next'
+import s from './style.module.css'
 import Tooltip from '@/app/components/base/tooltip'
-import CopyFeedback from '@/app/components/base/copy-feedback'
 
 type IInputCopyProps = {
   value?: string
   className?: string
+  readOnly?: boolean
   children?: React.ReactNode
 }
 
 const InputCopy = ({
   value = '',
   className,
+  readOnly = true,
   children,
 }: IInputCopyProps) => {
   const [isCopied, setIsCopied] = useState(false)
@@ -31,11 +33,11 @@
   }, [isCopied])
 
   return (
-    <div className={`flex items-center rounded-lg bg-components-input-bg-normal py-2 hover:bg-state-base-hover ${className}`}>
-      <div className="flex h-5 grow items-center">
+    <div className={`flex rounded-lg bg-gray-50 hover:bg-gray-50 py-2 items-center ${className}`}>
+      <div className="flex items-center flex-grow h-5">
         {children}
-        <div className='relative h-full grow text-[13px]'>
-          <div className='r-0 absolute left-0 top-0 w-full cursor-pointer truncate pl-2 pr-2' onClick={() => {
+        <div className='flex-grow bg-gray-50 text-[13px] relative h-full'>
+          <div className='absolute top-0 left-0 w-full pl-2 pr-2 truncate cursor-pointer r-0' onClick={() => {
             copy(value)
             setIsCopied(true)
           }}>
@@ -43,12 +45,23 @@
               popupContent={isCopied ? `${t('appApi.copied')}` : `${t('appApi.copy')}`}
               position='bottom'
             >
-              <span className='text-text-secondary'>{value}</span>
+              {value}
             </Tooltip>
           </div>
         </div>
-        <div className="h-4 w-px shrink-0 bg-divider-regular" />
-        <div className='mx-1'><CopyFeedback content={value} /></div>
+        <div className="flex-shrink-0 h-4 bg-gray-200 border" />
+        <Tooltip
+          popupContent={isCopied ? `${t('appApi.copied')}` : `${t('appApi.copy')}`}
+          position='bottom'
+        >
+          <div className="px-0.5 flex-shrink-0">
+            <div className={`box-border w-[30px] h-[30px] flex items-center justify-center rounded-lg hover:bg-gray-100 cursor-pointer ${s.copyIcon} ${isCopied ? s.copied : ''}`} onClick={() => {
+              copy(value)
+              setIsCopied(true)
+            }}>
+            </div>
+          </div>
+        </Tooltip>
       </div>
     </div>
   )
diff --git a/app/components/develop/secret-key/secret-key-button.tsx b/app/components/develop/secret-key/secret-key-button.tsx
index 7d27c01..dab319b 100644
--- a/app/components/develop/secret-key/secret-key-button.tsx
+++ b/app/components/develop/secret-key/secret-key-button.tsx
@@ -1,31 +1,29 @@
 'use client'
 import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiKey2Line } from '@remixicon/react'
 import Button from '@/app/components/base/button'
 import SecretKeyModal from '@/app/components/develop/secret-key/secret-key-modal'
+// import { KeyIcon } from '@heroicons/react/20/solid'
 
 type ISecretKeyButtonProps = {
   className?: string
   appId?: string
+  iconCls?: string
   textCls?: string
 }
 
-const SecretKeyButton = ({ className, appId, textCls }: ISecretKeyButtonProps) => {
+const SecretKeyButton = ({ className, appId, iconCls, textCls }: ISecretKeyButtonProps) => {
   const [isVisible, setVisible] = useState(false)
   const { t } = useTranslation()
   return (
     <>
-      <Button
-        className={`px-3 ${className}`}
-        onClick={() => setVisible(true)}
-        size='small'
-        variant='ghost'
-      >
-        <div className={'flex h-3.5 w-3.5 items-center justify-center'}>
-          <RiKey2Line className='h-3.5 w-3.5 text-text-tertiary' />
+      <Button className={`px-3 ${className}`} onClick={() => setVisible(true)}>
+        <div className={'flex items-center justify-center w-4 h-4 mr-2'}>
+          <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" className={iconCls}>
+            <path d="M9 3.66672C9.35362 3.66672 9.69276 3.80719 9.94281 4.05724C10.1929 4.30729 10.3333 4.64643 10.3333 5.00005M13 5.00005C13.0002 5.62483 12.854 6.24097 12.5732 6.79908C12.2924 7.3572 11.8847 7.84177 11.3829 8.21397C10.8811 8.58617 10.2991 8.83564 9.68347 8.94239C9.06788 9.04915 8.43584 9.01022 7.838 8.82872L6.33333 10.3334H5V11.6667H3.66667V13.0001H1.66667C1.48986 13.0001 1.32029 12.9298 1.19526 12.8048C1.07024 12.6798 1 12.5102 1 12.3334V10.6094C1.00004 10.4326 1.0703 10.263 1.19533 10.1381L5.17133 6.16205C5.00497 5.61206 4.95904 5.03268 5.0367 4.46335C5.11435 3.89402 5.31375 3.3481 5.62133 2.86275C5.92891 2.3774 6.33744 1.96401 6.81913 1.65073C7.30082 1.33745 7.84434 1.13162 8.41272 1.04725C8.9811 0.96289 9.56098 1.00197 10.1129 1.16184C10.6648 1.32171 11.1758 1.59861 11.6111 1.97369C12.0464 2.34878 12.3958 2.81324 12.6354 3.33548C12.8751 3.85771 12.9994 4.42545 13 5.00005Z" stroke="#1F2A37" strokeLinecap="round" strokeLinejoin="round" />
+          </svg>
         </div>
-        <div className={`system-xs-medium px-[3px] text-text-tertiary ${textCls}`}>{t('appApi.apiKey')}</div>
+        <div className={`text-[13px] text-gray-800 ${textCls}`}>{t('appApi.apiKey')}</div>
       </Button>
       <SecretKeyModal isShow={isVisible} onClose={() => setVisible(false)} appId={appId} />
     </>
diff --git a/app/components/develop/secret-key/secret-key-generate.tsx b/app/components/develop/secret-key/secret-key-generate.tsx
index 3d15b04..14b862f 100644
--- a/app/components/develop/secret-key/secret-key-generate.tsx
+++ b/app/components/develop/secret-key/secret-key-generate.tsx
@@ -23,14 +23,14 @@
   const { t } = useTranslation()
   return (
     <Modal isShow={isShow} onClose={onClose} title={`${t('appApi.apiKeyModal.apiSecretKey')}`} className={`px-8 ${className}`}>
-      <XMarkIcon className={`absolute h-6 w-6 cursor-pointer text-text-tertiary ${s.close}`} onClick={onClose} />
-      <p className='mt-1 text-[13px] font-normal leading-5 text-text-tertiary'>{t('appApi.apiKeyModal.generateTips')}</p>
+      <XMarkIcon className={`w-6 h-6 absolute cursor-pointer text-gray-500 ${s.close}`} onClick={onClose} />
+      <p className='mt-1 text-[13px] text-gray-500 font-normal leading-5'>{t('appApi.apiKeyModal.generateTips')}</p>
       <div className='my-4'>
         <InputCopy className='w-full' value={newKey?.token} />
       </div>
-      <div className='my-4 flex justify-end'>
-        <Button className={`shrink-0 ${s.w64}`} onClick={onClose}>
-          <span className='text-xs font-medium text-text-secondary'>{t('appApi.actionMsg.ok')}</span>
+      <div className='flex justify-end my-4'>
+        <Button className={`flex-shrink-0 ${s.w64}`} onClick={onClose}>
+          <span className='text-xs font-medium text-gray-800'>{t('appApi.actionMsg.ok')}</span>
         </Button>
       </div>
 
diff --git a/app/components/develop/secret-key/secret-key-modal.tsx b/app/components/develop/secret-key/secret-key-modal.tsx
index b61e231..dbb5cc3 100644
--- a/app/components/develop/secret-key/secret-key-modal.tsx
+++ b/app/components/develop/secret-key/secret-key-modal.tsx
@@ -1,17 +1,16 @@
 'use client'
 import {
+  useEffect,
   useState,
 } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiDeleteBinLine } from '@remixicon/react'
 import { PlusIcon, XMarkIcon } from '@heroicons/react/20/solid'
 import useSWR, { useSWRConfig } from 'swr'
+import copy from 'copy-to-clipboard'
 import SecretKeyGenerateModal from './secret-key-generate'
 import s from './style.module.css'
-import ActionButton from '@/app/components/base/action-button'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
-import CopyFeedback from '@/app/components/base/copy-feedback'
 import {
   createApikey as createAppApikey,
   delApikey as delAppApikey,
@@ -23,6 +22,7 @@
   fetchApiKeysList as fetchDatasetApiKeysList,
 } from '@/service/datasets'
 import type { CreateApiKeyResponse } from '@/models/app'
+import Tooltip from '@/app/components/base/tooltip'
 import Loading from '@/app/components/base/loading'
 import Confirm from '@/app/components/base/confirm'
 import useTimestamp from '@/hooks/use-timestamp'
@@ -54,6 +54,20 @@
 
   const [delKeyID, setDelKeyId] = useState('')
 
+  const [copyValue, setCopyValue] = useState('')
+
+  useEffect(() => {
+    if (copyValue) {
+      const timeout = setTimeout(() => {
+        setCopyValue('')
+      }, 1000)
+
+      return () => {
+        clearTimeout(timeout)
+      }
+    }
+  }, [copyValue])
+
   const onDel = async () => {
     setShowConfirmDelete(false)
     if (!delKeyID)
@@ -83,37 +97,43 @@
   }
 
   return (
-    <Modal isShow={isShow} onClose={onClose} title={`${t('appApi.apiKeyModal.apiSecretKey')}`} className={`${s.customModal} flex flex-col px-8`}>
-      <XMarkIcon className={`absolute h-6 w-6 cursor-pointer text-text-tertiary ${s.close}`} onClick={onClose} />
-      <p className='mt-1 shrink-0 text-[13px] font-normal leading-5 text-text-tertiary'>{t('appApi.apiKeyModal.apiSecretKeyTips')}</p>
+    <Modal isShow={isShow} onClose={onClose} title={`${t('appApi.apiKeyModal.apiSecretKey')}`} className={`${s.customModal} px-8 flex flex-col`}>
+      <XMarkIcon className={`w-6 h-6 absolute cursor-pointer text-gray-500 ${s.close}`} onClick={onClose} />
+      <p className='mt-1 text-[13px] text-gray-500 font-normal leading-5 flex-shrink-0'>{t('appApi.apiKeyModal.apiSecretKeyTips')}</p>
       {!apiKeysList && <div className='mt-4'><Loading /></div>}
       {
         !!apiKeysList?.data?.length && (
-          <div className='mt-4 flex grow flex-col overflow-hidden'>
-            <div className='flex h-9 shrink-0 items-center border-b border-divider-regular text-xs font-semibold text-text-tertiary'>
-              <div className='w-64 shrink-0 px-3'>{t('appApi.apiKeyModal.secretKey')}</div>
-              <div className='w-[200px] shrink-0 px-3'>{t('appApi.apiKeyModal.created')}</div>
-              <div className='w-[200px] shrink-0 px-3'>{t('appApi.apiKeyModal.lastUsed')}</div>
-              <div className='grow px-3'></div>
+          <div className='flex flex-col flex-grow mt-4 overflow-hidden'>
+            <div className='flex items-center flex-shrink-0 text-xs font-semibold text-gray-500 border-b border-solid h-9'>
+              <div className='flex-shrink-0 w-64 px-3'>{t('appApi.apiKeyModal.secretKey')}</div>
+              <div className='flex-shrink-0 px-3 w-[200px]'>{t('appApi.apiKeyModal.created')}</div>
+              <div className='flex-shrink-0 px-3 w-[200px]'>{t('appApi.apiKeyModal.lastUsed')}</div>
+              <div className='flex-grow px-3'></div>
             </div>
-            <div className='grow overflow-auto'>
+            <div className='flex-grow overflow-auto'>
               {apiKeysList.data.map(api => (
-                <div className='flex h-9 items-center border-b border-divider-regular text-sm font-normal text-text-secondary' key={api.id}>
-                  <div className='w-64 shrink-0 truncate px-3 font-mono'>{generateToken(api.token)}</div>
-                  <div className='w-[200px] shrink-0 truncate px-3'>{formatTime(Number(api.created_at), t('appLog.dateTimeFormat') as string)}</div>
-                  <div className='w-[200px] shrink-0 truncate px-3'>{api.last_used_at ? formatTime(Number(api.last_used_at), t('appLog.dateTimeFormat') as string) : t('appApi.never')}</div>
-                  <div className='flex grow space-x-2 px-3'>
-                    <CopyFeedback content={api.token} />
-                    {isCurrentWorkspaceManager && (
-                      <ActionButton
-                        onClick={() => {
-                          setDelKeyId(api.id)
-                          setShowConfirmDelete(true)
-                        }}
-                      >
-                        <RiDeleteBinLine className='h-4 w-4' />
-                      </ActionButton>
-                    )}
+                <div className='flex items-center text-sm font-normal text-gray-700 border-b border-solid h-9' key={api.id}>
+                  <div className='flex-shrink-0 w-64 px-3 font-mono truncate'>{generateToken(api.token)}</div>
+                  <div className='flex-shrink-0 px-3 truncate w-[200px]'>{formatTime(Number(api.created_at), t('appLog.dateTimeFormat') as string)}</div>
+                  <div className='flex-shrink-0 px-3 truncate w-[200px]'>{api.last_used_at ? formatTime(Number(api.last_used_at), t('appLog.dateTimeFormat') as string) : t('appApi.never')}</div>
+                  <div className='flex flex-grow px-3'>
+                    <Tooltip
+                      popupContent={copyValue === api.token ? `${t('appApi.copied')}` : `${t('appApi.copy')}`}
+                      popupClassName='mr-1'
+                    >
+                      <div className={`flex items-center justify-center flex-shrink-0 w-6 h-6 mr-1 rounded-lg cursor-pointer hover:bg-gray-100 ${s.copyIcon} ${copyValue === api.token ? s.copied : ''}`} onClick={() => {
+                        // setIsCopied(true)
+                        copy(api.token)
+                        setCopyValue(api.token)
+                      }}></div>
+                    </Tooltip>
+                    {isCurrentWorkspaceManager
+                      && <div className={`flex items-center justify-center flex-shrink-0 w-6 h-6 rounded-lg cursor-pointer ${s.trashIcon}`} onClick={() => {
+                        setDelKeyId(api.id)
+                        setShowConfirmDelete(true)
+                      }}>
+                      </div>
+                    }
                   </div>
                 </div>
               ))}
@@ -122,12 +142,12 @@
         )
       }
       <div className='flex'>
-        <Button className={`mt-4 flex shrink-0 ${s.autoWidth}`} onClick={onCreate} disabled={!currentWorkspace || !isCurrentWorkspaceEditor}>
-          <PlusIcon className='mr-1 flex h-4 w-4 shrink-0' />
-          <div className='text-xs font-medium text-text-secondary'>{t('appApi.apiKeyModal.createNewSecretKey')}</div>
+        <Button className={`flex flex-shrink-0 mt-4 ${s.autoWidth}`} onClick={onCreate} disabled={!currentWorkspace || !isCurrentWorkspaceEditor}>
+          <PlusIcon className='flex flex-shrink-0 w-4 h-4' />
+          <div className='text-xs font-medium text-gray-800'>{t('appApi.apiKeyModal.createNewSecretKey')}</div>
         </Button>
       </div>
-      <SecretKeyGenerateModal className='shrink-0' isShow={isVisible} onClose={() => setVisible(false)} newKey={newKey} />
+      <SecretKeyGenerateModal className='flex-shrink-0' isShow={isVisible} onClose={() => setVisible(false)} newKey={newKey} />
       {showConfirmDelete && (
         <Confirm
           title={`${t('appApi.actionMsg.deleteConfirmTitle')}`}
diff --git a/app/components/develop/secret-key/style.module.css b/app/components/develop/secret-key/style.module.css
index f13161c..663d8e8 100644
--- a/app/components/develop/secret-key/style.module.css
+++ b/app/components/develop/secret-key/style.module.css
@@ -54,4 +54,4 @@
 
 .copyIcon.copied {
     background-image: url(./assets/copied.svg);
-}
+}
\ No newline at end of file
diff --git a/app/components/develop/template/template.en.mdx b/app/components/develop/template/template.en.mdx
index 8212e80..31c8129 100644
--- a/app/components/develop/template/template.en.mdx
+++ b/app/components/develop/template/template.en.mdx
@@ -384,69 +384,6 @@
 ---
 
 <Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='Get feedbacks of application'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    Get application's feedbacks.
-
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛坥ptional锛塸agination锛宒efault锛�1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛坥ptional锛� records per page default锛�20
-      </Property>
-    </Properties>
-
-    ### Response
-    - `data` (List) return apps feedback list.
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-      {
-          "data": [
-              {
-                  "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                  "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                  "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                  "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                  "rating": "like",
-                  "content": "message feedback information-3",
-                  "from_source": "user",
-                  "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                  "from_account_id": null,
-                  "created_at": "2025-04-24T09:24:38",
-                  "updated_at": "2025-04-24T09:24:38"
-              }
-          ]
-      }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
   url='/text-to-audio'
   method='POST'
   title='Text to Audio'
@@ -459,7 +396,7 @@
     ### Request Body
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         For text messages generated by Dify, simply pass the generated message-id directly. The backend will use the message-id to look up the corresponding content and synthesize the voice information directly. If both message_id and text are provided simultaneously, the message_id is given priority.
       </Property>
       <Property name='text' type='str' key='text'>
@@ -647,62 +584,3 @@
     </CodeGroup>
   </Col>
 </Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='Get Application WebApp Settings'
-  name='#site'
-/>
-<Row>
-  <Col>
-  Used to get the WebApp settings of the application.
-  ### Response
-  - `title` (string) WebApp name
-  - `chat_color_theme` (string) Chat color theme, in hex format
-  - `chat_color_theme_inverted` (bool) Whether the chat color theme is inverted
-  - `icon_type` (string) Icon type, `emoji` - emoji, `image` - picture
-  - `icon` (string) Icon. If it's `emoji` type, it's an emoji symbol; if it's `image` type, it's an image URL.
-  - `icon_background` (string) Background color in hex format
-  - `icon_url` (string) Icon URL
-  - `description` (string) Description
-  - `copyright` (string) Copyright information
-  - `privacy_policy` (string) Privacy policy link
-  - `custom_disclaimer` (string) Custom disclaimer
-  - `default_language` (string) Default language
-  - `show_workflow_steps` (bool) Whether to show workflow details
-  - `use_icon_as_answer_icon` (bool) Whether to replace 馃 in chat with the WebApp icon
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/develop/template/template.ja.mdx b/app/components/develop/template/template.ja.mdx
index 5061792..4670404 100644
--- a/app/components/develop/template/template.ja.mdx
+++ b/app/components/develop/template/template.ja.mdx
@@ -192,8 +192,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -382,69 +382,6 @@
 ---
 
 <Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='銈€儣銉伄銉°儍銈汇兗銈搞伄銆屻亜銇勩伃銆嶃仺銉曘偅銉笺儔銉愩儍銈倰鍙栧緱'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    銈€儣銉伄銈ㄣ兂銉夈儲銉笺偠銉笺亱銈夈伄銉曘偅銉笺儔銉愩儍銈倓銆屻亜銇勩伃銆嶃倰鍙栧緱銇椼伨銇欍��
-
-    ### 銈偍銉�
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛堜换鎰忥級銉氥兗銈哥暘鍙枫�傘儑銉曘偐銉儓鍊わ細1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛堜换鎰忥級1銉氥兗銈搞亗銇熴倞銇欢鏁般�傘儑銉曘偐銉儓鍊わ細20
-      </Property>
-    </Properties>
-
-    ### 銉偣銉濄兂銈�
-    - `data` (銉偣銉�) 銇撱伄銈€儣銉伄銆屻亜銇勩伃銆嶃仺銉曘偅銉笺儔銉愩儍銈伄涓�瑕с倰杩斻仐銇俱仚銆�
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-        {
-        "data": [
-            {
-                "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                "rating": "like",
-                "content": "message feedback information-3",
-                "from_source": "user",
-                "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                "from_account_id": null,
-                "created_at": "2025-04-24T09:24:38",
-                "updated_at": "2025-04-24T09:24:38"
-            }
-        ]
-        }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
   url='/text-to-audio'
   method='POST'
   title='銉嗐偔銈广儓銇嬨倝闊冲0'
@@ -457,7 +394,7 @@
     ### 銉偗銈ㄣ偣銉堛儨銉囥偅
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         Dify銇岀敓鎴愩仐銇熴儐銈偣銉堛儭銉冦偦銉笺偢銇牬鍚堛�佺敓鎴愩仌銈屻仧message-id銈掔洿鎺ユ浮銇欍仩銇戙仹銇欍�傘儛銉冦偗銈ㄣ兂銉夈伅message-id銈掍娇鐢ㄣ仐銇﹀蹇溿仚銈嬨偝銉炽儐銉炽儎銈掓绱€仐銆侀煶澹版儏鍫便倰鐩存帴鍚堟垚銇椼伨銇欍�俶essage_id銇╰ext銇浮鏂广亴鍚屾檪銇彁渚涖仌銈屻仧鍫村悎銆乵essage_id銇屽劒鍏堛仌銈屻伨銇欍��
       </Property>
       <Property name='text' type='str' key='text'>
@@ -645,62 +582,3 @@
     </CodeGroup>
   </Col>
 </Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='銈€儣銉伄WebApp瑷畾銈掑彇寰�'
-  name='#site'
-/>
-<Row>
-  <Col>
-  銈€儣銉伄WebApp瑷畾銈掑彇寰椼仚銈嬨仧銈併伀浣跨敤銇椼伨銇欍��
-  ### 銉偣銉濄兂銈�
-  - `title` (string) WebApp鍚�
-  - `chat_color_theme` (string) 銉併儯銉冦儓銇壊銉嗐兗銉炪��16閫叉暟褰㈠紡
-  - `chat_color_theme_inverted` (bool) 銉併儯銉冦儓銇壊銉嗐兗銉炪倰鍙嶈虎銇欍倠銇嬨仼銇嗐亱
-  - `icon_type` (string) 銈€偆銈炽兂銈裤偆銉椼�乣emoji`-绲垫枃瀛椼�乣image`-鐢诲儚
-  - `icon` (string) 銈€偆銈炽兂銆俙emoji`銈裤偆銉椼伄鍫村悎銇档鏂囧瓧銆乣image`銈裤偆銉椼伄鍫村悎銇敾鍍廢RL
-  - `icon_background` (string) 16閫叉暟褰㈠紡銇儗鏅壊
-  - `icon_url` (string) 銈€偆銈炽兂銇甎RL
-  - `description` (string) 瑾槑
-  - `copyright` (string) 钁椾綔妯╂儏鍫�
-  - `privacy_policy` (string) 銉椼儵銈ゃ儛銈枫兗銉濄儶銈枫兗銇儶銉炽偗
-  - `custom_disclaimer` (string) 銈偣銈裤儬鍏嶈铂浜嬮爡
-  - `default_language` (string) 銉囥儠銈┿儷銉堣█瑾�
-  - `show_workflow_steps` (bool) 銉兗銈儠銉兗銇┏绱般倰琛ㄧず銇欍倠銇嬨仼銇嗐亱
-  - `use_icon_as_answer_icon` (bool) WebApp銇偄銈ゃ偝銉炽倰銉併儯銉冦儓鍐呫伄馃銇疆銇嶆彌銇堛倠銇嬨仼銇嗐亱
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/develop/template/template.zh.mdx b/app/components/develop/template/template.zh.mdx
index df83684..d8cabb5 100644
--- a/app/components/develop/template/template.zh.mdx
+++ b/app/components/develop/template/template.zh.mdx
@@ -356,68 +356,6 @@
 </Row>
 
 ---
-<Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='Get feedbacks of application'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    Get application's feedbacks.
-
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛坥ptional锛塸agination锛宒efault锛�1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛坥ptional锛� records per page default锛�20
-      </Property>
-    </Properties>
-
-    ### Response
-    - `data` (List) return apps feedback list.
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-      {
-          "data": [
-              {
-                  "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                  "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                  "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                  "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                  "rating": "like",
-                  "content": "message feedback information-3",
-                  "from_source": "user",
-                  "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                  "from_account_id": null,
-                  "created_at": "2025-04-24T09:24:38",
-                  "updated_at": "2025-04-24T09:24:38"
-              }
-          ]
-      }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
 
 <Heading
   url='/text-to-audio'
@@ -432,7 +370,7 @@
     ### Request Body
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         Dify 鐢熸垚鐨勬枃鏈秷鎭紝閭d箞鐩存帴浼犻�掔敓鎴愮殑message-id 鍗冲彲锛屽悗鍙颁細閫氳繃 message_id 鏌ユ壘鐩稿簲鐨勫唴瀹圭洿鎺ュ悎鎴愯闊充俊鎭�傚鏋滃悓鏃朵紶 message_id 鍜� text锛屼紭鍏堜娇鐢� message_id銆�
       </Property>
       <Property name='text' type='str' key='text'>
@@ -507,6 +445,7 @@
     </CodeGroup>
   </Col>
 </Row>
+
 ---
 
 <Heading
@@ -604,362 +543,6 @@
           "audio_file_size_limit": 50,
           "video_file_size_limit": 100
       }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='鑾峰彇搴旂敤 WebApp 璁剧疆'
-  name='#site'
-/>
-<Row>
-  <Col>
-  鐢ㄤ簬鑾峰彇搴旂敤鐨� WebApp 璁剧疆
-  ### Response
-  - `title` (string) WebApp 鍚嶇О
-  - `chat_color_theme` (string) 鑱婂ぉ棰滆壊涓婚, hex 鏍煎紡
-  - `chat_color_theme_inverted` (bool) 鑱婂ぉ棰滆壊涓婚鏄惁鍙嶈浆
-  - `icon_type` (string) 鍥炬爣绫诲瀷, `emoji`-琛ㄦ儏, `image`-鍥剧墖
-  - `icon` (string) 鍥炬爣, 濡傛灉鏄� `emoji` 绫诲瀷, 鍒欐槸 emoji 琛ㄦ儏绗﹀彿, 濡傛灉鏄� `image` 绫诲瀷, 鍒欐槸鍥剧墖 URL
-  - `icon_background` (string) hex 鏍煎紡鐨勮儗鏅壊
-  - `icon_url` (string) 鍥炬爣 URL
-  - `description` (string) 鎻忚堪
-  - `copyright` (string) 鐗堟潈淇℃伅
-  - `privacy_policy` (string) 闅愮鏀跨瓥閾炬帴
-  - `custom_disclaimer` (string) 鑷畾涔夊厤璐e0鏄�
-  - `default_language` (string) 榛樿璇█
-  - `show_workflow_steps` (bool) 鏄惁鏄剧ず宸ヤ綔娴佽鎯�
-  - `use_icon_as_answer_icon` (bool) 鏄惁浣跨敤 WebApp 鍥炬爣鏇挎崲鑱婂ぉ涓殑 馃
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
-
-<Heading
-  url='/apps/annotations'
-  method='GET'
-  title='鑾峰彇鏍囨敞鍒楄〃'
-  name='#annotation_list'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-        椤电爜
-      </Property>
-      <Property name='limit' type='string' key='limit'>
-        姣忛〉鏁伴噺
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/apps/annotations?page=1&limit=20' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/apps/annotations?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": [
-        {
-          "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-          "question": "What is your name?",
-          "answer": "I am Dify.",
-          "hit_count": 0,
-          "created_at": 1735625869
-        }
-      ],
-      "has_more": false,
-      "limit": 20,
-      "total": 1,
-      "page": 1
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations'
-  method='POST'
-  title='鍒涘缓鏍囨敞'
-  name='#create_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='question' type='string' key='question'>
-        闂
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        绛旀鍐呭
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotations"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotations' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.apiBaseUrl}/apps/annotations' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-      "question": "What is your name?",
-      "answer": "I am Dify.",
-      "hit_count": 0,
-      "created_at": 1735625869
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='PUT'
-  title='鏇存柊鏍囨敞'
-  name='#update_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        鏍囨敞 ID
-      </Property>
-      <Property name='question' type='string' key='question'>
-        闂
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        绛旀鍐呭
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request PUT '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PUT '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-      "question": "What is your name?",
-      "answer": "I am Dify.",
-      "hit_count": 0,
-      "created_at": 1735625869
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='DELETE'
-  title='鍒犻櫎鏍囨敞'
-  name='#delete_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        鏍囨敞 ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}'
-  method='POST'
-  title='鏍囨敞鍥炲鍒濆璁剧疆'
-  name='#initial_annotation_reply_settings'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='action' type='string' key='action'>
-        鍔ㄤ綔锛屽彧鑳芥槸 'enable' 鎴� 'disable'
-      </Property>
-      <Property name='embedding_provider_name' type='string' key='embedding_provider_name'>
-        鎸囧畾鐨勫祵鍏ユā鍨嬫彁渚涘晢, 蹇呴』鍏堝湪绯荤粺鍐呰瀹氬ソ鎺ュ叆鐨勬ā鍨嬶紝瀵瑰簲鐨勬槸provider瀛楁
-      </Property>
-      <Property name='embedding_model_name' type='string' key='embedding_model_name'>
-        鎸囧畾鐨勫祵鍏ユā鍨嬶紝瀵瑰簲鐨勬槸model瀛楁
-      </Property>
-      <Property name='score_threshold' type='number' key='score_threshold'>
-        鐩镐技搴﹂槇鍊硷紝褰撶浉浼煎害澶т簬璇ラ槇鍊兼椂锛岀郴缁熶細鑷姩鍥炲锛屽惁鍒欎笉鍥炲
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    宓屽叆妯″瀷鐨勬彁渚涘晢鍜屾ā鍨嬪悕绉板彲浠ラ�氳繃浠ヤ笅鎺ュ彛鑾峰彇锛歷1/workspaces/current/models/model-types/text-embedding锛� 鍏蜂綋瑙侊細閫氳繃 API 缁存姢鐭ヨ瘑搴撱�� 浣跨敤鐨凙uthorization鏄疍ataset鐨凙PI Token銆�
-    璇ユ帴鍙f槸寮傛鎵ц锛屾墍浠ヤ細杩斿洖涓�涓猨ob_id锛岄�氳繃鏌ヨjob鐘舵�佹帴鍙e彲浠ヨ幏鍙栧埌鏈�缁堢殑鎵ц缁撴灉銆�
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotation-reply/{action}"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotation-reply/{action}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"score_threshold": 0.9, "embedding_provider_name": "zhipu", "embedding_model_name": "embedding_3"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST 'https://api.dify.ai/v1/apps/annotation-reply/{action}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "score_threshold": 0.9,
-        "embedding_provider_name": "zhipu",
-        "embedding_model_name": "embedding_3"
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting"
-    }
-    ```
-    
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}/status/{job_id}'
-  method='GET'
-  title='鏌ヨ鏍囨敞鍥炲鍒濆璁剧疆浠诲姟鐘舵��'
-  name='#initial_annotation_reply_settings_task_status'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-    <Property name='action' type='string' key='action'>
-        鍔ㄤ綔锛屽彧鑳芥槸 'enable' 鎴� 'disable'锛屽苟涓斿繀椤诲拰鏍囨敞鍥炲鍒濆璁剧疆鎺ュ彛鐨勫姩浣滀竴鑷�
-      </Property>
-      <Property name='job_id' type='string' key='job_id'>
-        浠诲姟 ID锛屼粠鏍囨敞鍥炲鍒濆璁剧疆鎺ュ彛杩斿洖鐨� job_id
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/apps/annotation-reply/{action}/status/{job_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/apps/annotation-reply/{action}/status/{job_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting",
-      "error_msg": ""
     }
     ```
     </CodeGroup>
diff --git a/app/components/develop/template/template_advanced_chat.en.mdx b/app/components/develop/template/template_advanced_chat.en.mdx
index f460949..e905e9e 100644
--- a/app/components/develop/template/template_advanced_chat.en.mdx
+++ b/app/components/develop/template/template_advanced_chat.en.mdx
@@ -88,9 +88,6 @@
 
     ### ChatCompletionResponse
     Returns the complete App result, `Content-Type` is `application/json`.
-    - `event` (string) Event type, fixed to `message`
-    - `task_id` (string) Task ID, used for request tracking and the below Stop Generate API
-    - `id` (string) unique ID
     - `message_id` (string) Unique message ID
     - `conversation_id` (string) Conversation ID
     - `mode` (string) App mode, fixed as `chat`
@@ -246,8 +243,6 @@
     ```json {{ title: 'Response' }}
     {
         "event": "message",
-        "task_id": "c3800678-a077-43df-a102-53f23ed20b88", 
-        "id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
         "mode": "chat",
@@ -295,8 +290,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -485,69 +480,6 @@
   </Col>
 </Row>
 
----
-
-<Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='Get feedbacks of application'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    Get application's feedbacks.
-
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛坥ptional锛塸agination锛宒efault锛�1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛坥ptional锛� records per page default锛�20
-      </Property>
-    </Properties>
-
-    ### Response
-    - `data` (List) return apps feedback list.
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-      {
-          "data": [
-              {
-                  "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                  "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                  "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                  "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                  "rating": "like",
-                  "content": "message feedback information-3",
-                  "from_source": "user",
-                  "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                  "from_account_id": null,
-                  "created_at": "2025-04-24T09:24:38",
-                  "updated_at": "2025-04-24T09:24:38"
-              }
-          ]
-      }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
 ---
 
 <Heading
@@ -828,8 +760,10 @@
     </CodeGroup>
 
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -907,106 +841,6 @@
 ---
 
 <Heading
-  url='/conversations/:conversation_id/variables'
-  method='GET'
-  title='Get Conversation Variables'
-  name='#conversation-variables'
-/>
-<Row>
-  <Col>
-    Retrieve variables from a specific conversation. This endpoint is useful for extracting structured data that was captured during the conversation.
-
-    ### Path Parameters
-
-    <Properties>
-      <Property name='conversation_id' type='string' key='conversation_id'>
-        The ID of the conversation to retrieve variables from.
-      </Property>
-    </Properties>
-
-    ### Query Parameters
-
-    <Properties>
-      <Property name='user' type='string' key='user'>
-        The user identifier, defined by the developer, must ensure uniqueness within the application
-      </Property>
-      <Property name='last_id' type='string' key='last_id'>
-          (Optional) The ID of the last record on the current page, default is null.
-      </Property>
-      <Property name='limit' type='int' key='limit'>
-          (Optional) How many records to return in one request, default is the most recent 20 entries. Maximum 100, minimum 1.
-      </Property>
-    </Properties>
-
-    ### Response
-
-    - `limit` (int) Number of items per page
-    - `has_more` (bool) Whether there is a next page
-    - `data` (array[object]) List of variables
-      - `id` (string) Variable ID
-      - `name` (string) Variable name
-      - `value_type` (string) Variable type (string, number, object, etc.)
-      - `value` (string) Variable value
-      - `description` (string) Variable description
-      - `created_at` (int) Creation timestamp
-      - `updated_at` (int) Last update timestamp
-
-    ### Errors
-    - 404, `conversation_not_exists`, Conversation not found
-
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/conversations/:conversation_id/variables" targetCode={`curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \\\n--header 'Authorization: Bearer {api_key}'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Request with variable name filter">
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123&variable_name=customer_name' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "limit": 100,
-      "has_more": false,
-      "data": [
-        {
-          "id": "variable-uuid-1",
-          "name": "customer_name",
-          "value_type": "string",
-          "value": "John Doe",
-          "description": "Customer name extracted from the conversation",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        },
-        {
-          "id": "variable-uuid-2",
-          "name": "order_details",
-          "value_type": "json",
-          "value": "{\"product\":\"Widget\",\"quantity\":5,\"price\":19.99}",
-          "description": "Order details from the customer",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        }
-      ]
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/audio-to-text'
   method='POST'
   title='Speech to Text'
@@ -1046,7 +880,7 @@
     </CodeGroup>
 
     <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
+    ```json {{ text: 'hello' }}
     {
       "text": ""
     }
@@ -1070,7 +904,7 @@
     ### Request Body
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         For text messages generated by Dify, simply pass the generated message-id directly. The backend will use the message-id to look up the corresponding content and synthesize the voice information directly. If both message_id and text are provided simultaneously, the message_id is given priority.
       </Property>
       <Property name='text' type='str' key='text'>
@@ -1298,361 +1132,6 @@
           "content": "\ud83d\ude01"
         }
       }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='Get Application WebApp Settings'
-  name='#site'
-/>
-<Row>
-  <Col>
-  Used to get the WebApp settings of the application.
-  ### Response
-  - `title` (string) WebApp name
-  - `chat_color_theme` (string) Chat color theme, in hex format
-  - `chat_color_theme_inverted` (bool) Whether the chat color theme is inverted
-  - `icon_type` (string) Icon type, `emoji` - emoji, `image` - picture
-  - `icon` (string) Icon. If it's `emoji` type, it's an emoji symbol; if it's `image` type, it's an image URL
-  - `icon_background` (string) Background color in hex format
-  - `icon_url` (string) Icon URL
-  - `description` (string) Description
-  - `copyright` (string) Copyright information
-  - `privacy_policy` (string) Privacy policy link
-  - `custom_disclaimer` (string) Custom disclaimer
-  - `default_language` (string) Default language
-  - `show_workflow_steps` (bool) Whether to show workflow details
-  - `use_icon_as_answer_icon` (bool) Whether to replace 馃 in chat with the WebApp icon
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
-
-<Heading
-  url='/apps/annotations'
-  method='GET'
-  title='Get Annotation List'
-  name='#annotation_list'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-        Page number
-      </Property>
-      <Property name='limit' type='string' key='limit'>
-        Number of items returned, default 20, range 1-100
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/apps/annotations?page=1&limit=20' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/apps/annotations?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": [
-        {
-          "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-          "question": "What is your name?",
-          "answer": "I am Dify.",
-          "hit_count": 0,
-          "created_at": 1735625869
-        }
-      ],
-      "has_more": false,
-      "limit": 20,
-      "total": 1,
-      "page": 1
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations'
-  method='POST'
-  title='Create Annotation'
-  name='#create_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='question' type='string' key='question'>
-        Question
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        Answer
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotations"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotations' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.apiBaseUrl}/apps/annotations' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-      "question": "What is your name?",
-      "answer": "I am Dify.",
-      "hit_count": 0,
-      "created_at": 1735625869
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='PUT'
-  title='Update Annotation'
-  name='#update_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        Annotation ID
-      </Property>
-      <Property name='question' type='string' key='question'>
-        Question
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        Answer
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request PUT '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PUT '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-      "question": "What is your name?",
-      "answer": "I am Dify.",
-      "hit_count": 0,
-      "created_at": 1735625869
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='DELETE'
-  title='Delete Annotation'
-  name='#delete_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        Annotation ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}'
-  method='POST'
-  title='Initial Annotation Reply Settings'
-  name='#initial_annotation_reply_settings'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='action' type='string' key='action'>
-        Action, can only be 'enable' or 'disable'
-      </Property>
-      <Property name='embedding_provider_name' type='string' key='embedding_provider_name'>
-        Specified embedding model provider, must be set up in the system first, corresponding to the provider field(Optional)
-      </Property>
-      <Property name='embedding_model_name' type='string' key='embedding_model_name'>
-        Specified embedding model, corresponding to the model field(Optional)
-      </Property>
-      <Property name='score_threshold' type='number' key='score_threshold'>
-        The similarity threshold for matching annotated replies. Only annotations with scores above this threshold will be recalled.
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    The provider and model name of the embedding model can be obtained through the following interface: v1/workspaces/current/models/model-types/text-embedding. For specific instructions, see: Maintain Knowledge Base via API. The Authorization used is the Dataset API Token.
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotation-reply/{action}"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotation-reply/{action}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"score_threshold": 0.9, "embedding_provider_name": "zhipu", "embedding_model_name": "embedding_3"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST 'https://api.dify.ai/v1/apps/annotation-reply/{action}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "score_threshold": 0.9,
-        "embedding_provider_name": "zhipu",
-        "embedding_model_name": "embedding_3"
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting"
-    }
-    ```
-    </CodeGroup>
-    This interface is executed asynchronously, so it will return a job_id. You can get the final execution result by querying the job status interface.
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}/status/{job_id}'
-  method='GET'
-  title='Query Initial Annotation Reply Settings Task Status'
-  name='#initial_annotation_reply_settings_task_status'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-    <Property name='action' type='string' key='action'>
-        Action, can only be 'enable' or 'disable', must be the same as the action in the initial annotation reply settings interface
-      </Property>
-      <Property name='job_id' type='string' key='job_id'>
-        Job ID, obtained from the initial annotation reply settings interface
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/apps/annotation-reply/{action}/status/{job_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/apps/annotation-reply/{action}/status/{job_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting",
-      "error_msg": ""
     }
     ```
     </CodeGroup>
diff --git a/app/components/develop/template/template_advanced_chat.ja.mdx b/app/components/develop/template/template_advanced_chat.ja.mdx
index 75c69a4..08255b8 100644
--- a/app/components/develop/template/template_advanced_chat.ja.mdx
+++ b/app/components/develop/template/template_advanced_chat.ja.mdx
@@ -88,9 +88,6 @@
 
     ### ChatCompletionResponse
     瀹屽叏銇偄銉椼儶绲愭灉銈掕繑銇椼伨銇欍�俙Content-Type`銇痐application/json`銇с仚銆�
-    - `event` (string) 銈ゃ儥銉炽儓銈裤偆銉椼�佸浐瀹氥仹 `message`
-    - `task_id` (string) 銈裤偣銈疘D銆併儶銈偍銈广儓杩借贰銇ㄤ互涓嬨伄Stop Generate API銇娇鐢�
-    - `id` (string) 銉︺儖銉笺偗ID
     - `message_id` (string) 涓�鎰忋伄銉°儍銈汇兗銈窱D
     - `conversation_id` (string) 浼氳┍ID
     - `mode` (string) 銈€儣銉儮銉笺儔銆乣chat`銇ㄣ仐銇﹀浐瀹�
@@ -246,8 +243,6 @@
     ```json {{ title: '蹇滅瓟' }}
     {
         "event": "message",
-        "task_id": "c3800678-a077-43df-a102-53f23ed20b88", 
-        "id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
         "mode": "chat",
@@ -295,8 +290,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -486,70 +481,6 @@
 </Row>
 
 ---
-
-<Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='銈€儣銉伄銉°儍銈汇兗銈搞伄銆屻亜銇勩伃銆嶃仺銉曘偅銉笺儔銉愩儍銈倰鍙栧緱'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    銈€儣銉伄銈ㄣ兂銉夈儲銉笺偠銉笺亱銈夈伄銉曘偅銉笺儔銉愩儍銈倓銆屻亜銇勩伃銆嶃倰鍙栧緱銇椼伨銇欍��
-
-    ### 銈偍銉�
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛堜换鎰忥級銉氥兗銈哥暘鍙枫�傘儑銉曘偐銉儓鍊わ細1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛堜换鎰忥級1銉氥兗銈搞亗銇熴倞銇欢鏁般�傘儑銉曘偐銉儓鍊わ細20
-      </Property>
-    </Properties>
-
-    ### 銉偣銉濄兂銈�
-    - `data` (銉偣銉�) 銇撱伄銈€儣銉伄銆屻亜銇勩伃銆嶃仺銉曘偅銉笺儔銉愩儍銈伄涓�瑕с倰杩斻仐銇俱仚銆�
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-        {
-        "data": [
-            {
-                "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                "rating": "like",
-                "content": "message feedback information-3",
-                "from_source": "user",
-                "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                "from_account_id": null,
-                "created_at": "2025-04-24T09:24:38",
-                "updated_at": "2025-04-24T09:24:38"
-            }
-        ]
-        }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
 
 <Heading
   url='/messages/{message_id}/suggested'
@@ -828,8 +759,10 @@
     </CodeGroup>
 
     <CodeGroup title="蹇滅瓟">
-    ```text {{ title: '蹇滅瓟' }}
-    204 No Content
+    ```json {{ title: '蹇滅瓟' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -907,106 +840,6 @@
 ---
 
 <Heading
-  url='/conversations/:conversation_id/variables'
-  method='GET'
-  title='浼氳┍澶夋暟銇彇寰�'
-  name='#conversation-variables'
-/>
-<Row>
-  <Col>
-    鐗瑰畾銇細瑭便亱銈夊鏁般倰鍙栧緱銇椼伨銇欍�傘亾銇偍銉炽儔銉濄偆銉炽儓銇�佷細瑭变腑銇彇寰椼仌銈屻仧妲嬮�犲寲銉囥兗銈裤倰鎶藉嚭銇欍倠銇伀褰圭珛銇°伨銇欍��
-
-    ### 銉戙偣銉戙儵銉°兗銈�
-
-    <Properties>
-      <Property name='conversation_id' type='string' key='conversation_id'>
-        澶夋暟銈掑彇寰椼仚銈嬩細瑭便伄ID銆�
-      </Property>
-    </Properties>
-
-    ### 銈偍銉儜銉┿儭銉笺偪
-
-    <Properties>
-      <Property name='user' type='string' key='user'>
-        銉︺兗銈躲兗璀樺垾瀛愩�傞枊鐧鸿�呫伀銈堛仯銇﹀畾缇┿仌銈屻仧銉兗銉伀寰撱亜銆併偄銉椼儶銈便兗銈枫儳銉冲唴銇т竴鎰忋仹銇傘倠蹇呰銇屻亗銈娿伨銇欍��
-      </Property>
-      <Property name='last_id' type='string' key='last_id'>
-          (Optional)鐝惧湪銇儦銉笺偢銇渶寰屻伄瑷橀尣銇甀D銆併儑銉曘偐銉儓銇痭ull銇с仚銆�
-      </Property>
-      <Property name='limit' type='int' key='limit'>
-          (Optional)1鍥炪伄銉偗銈ㄣ偣銉堛仹杩斻仚瑷橀尣銇暟銆併儑銉曘偐銉儓銇渶鏂般伄20浠躲仹銇欍�傛渶澶�100銆佹渶灏�1銆�
-      </Property>
-    </Properties>
-
-    ### 銉偣銉濄兂銈�
-
-    - `limit` (int) 銉氥兗銈搞仈銇ㄣ伄銈€偆銉嗐儬鏁�
-    - `has_more` (bool) 銇曘倝銇偄銈ゃ儐銉犮亴銇傘倠銇嬨仼銇嗐亱
-    - `data` (array[object]) 澶夋暟銇儶銈广儓
-      - `id` (string) 澶夋暟ID
-      - `name` (string) 澶夋暟鍚�
-      - `value_type` (string) 澶夋暟銈裤偆銉楋紙鏂囧瓧鍒椼�佹暟鍊ゃ�佺湡鍋藉�ゃ仾銇╋級
-      - `value` (string) 澶夋暟鍊�
-      - `description` (string) 澶夋暟銇鏄�
-      - `created_at` (int) 浣滄垚銈裤偆銉犮偣銈裤兂銉�
-      - `updated_at` (int) 鏈�绲傛洿鏂般偪銈ゃ儬銈广偪銉炽儣
-
-    ### 銈ㄣ儵銉�
-    - 404, `conversation_not_exists`, 浼氳┍銇岃銇ゃ亱銈娿伨銇涖倱
-
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/conversations/:conversation_id/variables" targetCode={`curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \\\n--header 'Authorization: Bearer {api_key}'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Request with variable name filter">
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123&variable_name=customer_name' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "limit": 100,
-      "has_more": false,
-      "data": [
-        {
-          "id": "variable-uuid-1",
-          "name": "customer_name",
-          "value_type": "string",
-          "value": "John Doe",
-          "description": "浼氳┍銇嬨倝鎶藉嚭銇曘倢銇熼¨瀹㈠悕",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        },
-        {
-          "id": "variable-uuid-2",
-          "name": "order_details",
-          "value_type": "json",
-          "value": "{\"product\":\"Widget\",\"quantity\":5,\"price\":19.99}",
-          "description": "椤у銇敞鏂囪┏绱�",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        }
-      ]
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/audio-to-text'
   method='POST'
   title='闊冲0銇嬨倝銉嗐偔銈广儓銇�'
@@ -1046,7 +879,7 @@
     </CodeGroup>
 
     <CodeGroup title="蹇滅瓟">
-    ```json {{ title: '蹇滅瓟' }}
+    ```json {{ text: 'hello' }}
     {
       "text": ""
     }
@@ -1070,7 +903,7 @@
     ### 銉偗銈ㄣ偣銉堛儨銉囥偅
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         Dify銇倛銇c仸鐢熸垚銇曘倢銇熴儐銈偣銉堛儭銉冦偦銉笺偢銇牬鍚堛�佺敓鎴愩仌銈屻仧銉°儍銈汇兗銈窱D銈掔洿鎺ユ浮銇椼伨銇欍�傘儛銉冦偗銈ㄣ兂銉夈伅銉°儍銈汇兗銈窱D銈掍娇鐢ㄣ仐銇﹀蹇溿仚銈嬪唴瀹广倰妞滅储銇椼�侀煶澹版儏鍫便倰鐩存帴鍚堟垚銇椼伨銇欍�俶essage_id銇╰ext銇屽悓鏅傘伀鎻愪緵銇曘倢銈嬪牬鍚堛�乵essage_id銇屽劒鍏堛仌銈屻伨銇欍��
       </Property>
       <Property name='text' type='str' key='text'>
@@ -1303,63 +1136,3 @@
     </CodeGroup>
   </Col>
 </Row>
-
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='銈€儣銉伄WebApp瑷畾銈掑彇寰�'
-  name='#site'
-/>
-<Row>
-  <Col>
-  銈€儣銉伄WebApp瑷畾銈掑彇寰椼仚銈嬨仧銈併伀浣跨敤銇椼伨銇欍��
-  ### 蹇滅瓟
-  - `title` (string) WebApp鍚�
-  - `chat_color_theme` (string) 銉併儯銉冦儓銇壊銉嗐兗銉炪��16閫叉暟褰㈠紡
-  - `chat_color_theme_inverted` (bool) 銉併儯銉冦儓銇壊銉嗐兗銉炪倰鍙嶈虎銇欍倠銇嬨仼銇嗐亱
-  - `icon_type` (string) 銈€偆銈炽兂銈裤偆銉椼�乣emoji`-绲垫枃瀛椼�乣image`-鐢诲儚
-  - `icon` (string) 銈€偆銈炽兂銆俙emoji`銈裤偆銉椼伄鍫村悎銇档鏂囧瓧銆乣image`銈裤偆銉椼伄鍫村悎銇敾鍍廢RL
-  - `icon_background` (string) 16閫叉暟褰㈠紡銇儗鏅壊
-  - `icon_url` (string) 銈€偆銈炽兂銇甎RL
-  - `description` (string) 瑾槑
-  - `copyright` (string) 钁椾綔妯╂儏鍫�
-  - `privacy_policy` (string) 銉椼儵銈ゃ儛銈枫兗銉濄儶銈枫兗銇儶銉炽偗
-  - `custom_disclaimer` (string) 銈偣銈裤儬鍏嶈铂浜嬮爡
-  - `default_language` (string) 銉囥儠銈┿儷銉堣█瑾�
-  - `show_workflow_steps` (bool) 銉兗銈儠銉兗銇┏绱般倰琛ㄧず銇欍倠銇嬨仼銇嗐亱
-  - `use_icon_as_answer_icon` (bool) WebApp銇偄銈ゃ偝銉炽倰銉併儯銉冦儓鍐呫伄馃銇疆銇嶆彌銇堛倠銇嬨仼銇嗐亱
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/develop/template/template_advanced_chat.zh.mdx b/app/components/develop/template/template_advanced_chat.zh.mdx
index 9077f54..8d181d7 100644
--- a/app/components/develop/template/template_advanced_chat.zh.mdx
+++ b/app/components/develop/template/template_advanced_chat.zh.mdx
@@ -88,9 +88,6 @@
     ### ChatCompletionResponse
 
     杩斿洖瀹屾暣鐨� App 缁撴灉锛宍Content-Type` 涓� `application/json`銆�
-    - `event` (string) 浜嬩欢绫诲瀷锛屽浐瀹氫负 `message`
-    - `task_id` (string) 浠诲姟 ID锛岀敤浜庤姹傝窡韪拰涓嬫柟鐨勫仠姝㈠搷搴旀帴鍙�
-    - `id` (string) 鍞竴ID
     - `message_id` (string) 娑堟伅鍞竴 ID
     - `conversation_id` (string) 浼氳瘽 ID
     - `mode` (string) App 妯″紡锛屽浐瀹氫负 chat
@@ -256,8 +253,6 @@
     ```json {{ title: 'Response' }}
     {
         "event": "message",
-        "task_id": "c3800678-a077-43df-a102-53f23ed20b88", 
-        "id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
         "mode": "chat",
@@ -305,8 +300,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -494,71 +489,6 @@
 ---
 
 <Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='鑾峰彇APP鐨勬秷鎭偣璧炲拰鍙嶉'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    鑾峰彇搴旂敤鐨勭粓绔敤鎴峰弽棣堛�佺偣璧炪��
-
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛堥�夊~锛夊垎椤碉紝榛樿鍊硷細1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛堥�夊~锛夋瘡椤垫暟閲忥紝榛樿鍊硷細20
-      </Property>
-    </Properties>
-
-    ### Response
-    - `data` (List) 杩斿洖璇PP鐨勭偣璧炪�佸弽棣堝垪琛ㄣ��
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-        {
-        "data": [
-            {
-                "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                "rating": "like",
-                "content": "message feedback information-3",
-                "from_source": "user",
-                "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                "from_account_id": null,
-                "created_at": "2025-04-24T09:24:38",
-                "updated_at": "2025-04-24T09:24:38"
-            }
-        ]
-        }
-
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/messages/{message_id}/suggested'
   method='GET'
   title='鑾峰彇涓嬩竴杞缓璁棶棰樺垪琛�'
@@ -588,7 +518,7 @@
     <CodeGroup title="Request" tag="GET" label="/messages/{message_id}/suggested" targetCode={`curl --location --request GET '${props.appDetail.api_base_url}/messages/{message_id}/suggested?user=abc-123 \\\n--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \\\n--header 'Content-Type: application/json'`}>
 
     ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.appDetail.api_base_url}/messages/{message_id}/suggested?user=abc-123' \
+    curl --location --request GET '${props.appDetail.api_base_url}/messages/{message_id}/suggested'?user=abc-123 \
     --header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
     --header 'Content-Type: application/json' \
     ```
@@ -864,8 +794,10 @@
     </CodeGroup>
 
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -945,106 +877,6 @@
 ---
 
 <Heading
-  url='/conversations/:conversation_id/variables'
-  method='GET'
-  title='鑾峰彇瀵硅瘽鍙橀噺'
-  name='#conversation-variables'
-/>
-<Row>
-  <Col>
-    浠庣壒瀹氬璇濅腑妫�绱㈠彉閲忋�傛绔偣瀵逛簬鎻愬彇瀵硅瘽杩囩▼涓崟鑾风殑缁撴瀯鍖栨暟鎹潪甯告湁鐢ㄣ��
-
-    ### 璺緞鍙傛暟
-
-    <Properties>
-      <Property name='conversation_id' type='string' key='conversation_id'>
-        瑕佷粠涓绱㈠彉閲忕殑瀵硅瘽ID銆�
-      </Property>
-    </Properties>
-
-    ### 鏌ヨ鍙傛暟
-
-    <Properties>
-      <Property name='user' type='string' key='user'>
-        鐢ㄦ埛鏍囪瘑绗︼紝鐢卞紑鍙戜汉鍛樺畾涔夌殑瑙勫垯锛屽湪搴旂敤绋嬪簭鍐呭繀椤诲敮涓�銆�
-      </Property>
-      <Property name='last_id' type='string' key='last_id'>
-        锛堥�夊~锛夊綋鍓嶉〉鏈�鍚庨潰涓�鏉¤褰曠殑 ID锛岄粯璁� null
-      </Property>
-      <Property name='limit' type='int' key='limit'>
-        锛堥�夊~锛変竴娆¤姹傝繑鍥炲灏戞潯璁板綍锛岄粯璁� 20 鏉★紝鏈�澶� 100 鏉★紝鏈�灏� 1 鏉°��
-      </Property>
-    </Properties>
-
-    ### 鍝嶅簲
-
-    - `limit` (int) 姣忛〉椤圭洰鏁�
-    - `has_more` (bool) 鏄惁鏈夋洿澶氶」鐩�
-    - `data` (array[object]) 鍙橀噺鍒楄〃
-      - `id` (string) 鍙橀噺ID
-      - `name` (string) 鍙橀噺鍚嶇О
-      - `value_type` (string) 鍙橀噺绫诲瀷锛堝瓧绗︿覆銆佹暟瀛椼�佸竷灏旂瓑锛�
-      - `value` (string) 鍙橀噺鍊�
-      - `description` (string) 鍙橀噺鎻忚堪
-      - `created_at` (int) 鍒涘缓鏃堕棿鎴�
-      - `updated_at` (int) 鏈�鍚庢洿鏂版椂闂存埑
-
-    ### 閿欒
-    - 404, `conversation_not_exists`, 瀵硅瘽涓嶅瓨鍦�
-
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/conversations/:conversation_id/variables" targetCode={`curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \\\n--header 'Authorization: Bearer {api_key}'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Request with variable name filter">
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123&variable_name=customer_name' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "limit": 100,
-      "has_more": false,
-      "data": [
-        {
-          "id": "variable-uuid-1",
-          "name": "customer_name",
-          "value_type": "string",
-          "value": "John Doe",
-          "description": "瀹㈡埛鍚嶇О锛堜粠瀵硅瘽涓彁鍙栵級",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        },
-        {
-          "id": "variable-uuid-2",
-          "name": "order_details",
-          "value_type": "json",
-          "value": "{\"product\":\"Widget\",\"quantity\":5,\"price\":19.99}",
-          "description": "瀹㈡埛鐨勮鍗曡鎯�",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        }
-      ]
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/audio-to-text'
   method='POST'
   title='璇煶杞枃瀛�'
@@ -1105,7 +937,7 @@
     ### Request Body
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         Dify 鐢熸垚鐨勬枃鏈秷鎭紝閭d箞鐩存帴浼犻�掔敓鎴愮殑message-id 鍗冲彲锛屽悗鍙颁細閫氳繃 message_id 鏌ユ壘鐩稿簲鐨勫唴瀹圭洿鎺ュ悎鎴愯闊充俊鎭�傚鏋滃悓鏃朵紶 message_id 鍜� text锛屼紭鍏堜娇鐢� message_id銆�
       </Property>
       <Property name='text' type='str' key='text'>
@@ -1130,7 +962,7 @@
         "user": "abc-123"
     }'
     ```
-
+    
     </CodeGroup>
 
     <CodeGroup title="headers">
@@ -1322,361 +1154,6 @@
               "content": "\ud83d\ude01"
           }
       }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='鑾峰彇搴旂敤 WebApp 璁剧疆'
-  name='#site'
-/>
-<Row>
-  <Col>
-  鐢ㄤ簬鑾峰彇搴旂敤鐨� WebApp 璁剧疆
-  ### Response
-  - `title` (string) WebApp 鍚嶇О
-  - `chat_color_theme` (string) 鑱婂ぉ棰滆壊涓婚, hex 鏍煎紡
-  - `chat_color_theme_inverted` (bool) 鑱婂ぉ棰滆壊涓婚鏄惁鍙嶈浆
-  - `icon_type` (string) 鍥炬爣绫诲瀷, `emoji`-琛ㄦ儏, `image`-鍥剧墖
-  - `icon` (string) 鍥炬爣, 濡傛灉鏄� `emoji` 绫诲瀷, 鍒欐槸 emoji 琛ㄦ儏绗﹀彿, 濡傛灉鏄� `image` 绫诲瀷, 鍒欐槸鍥剧墖 URL
-  - `icon_background` (string) hex 鏍煎紡鐨勮儗鏅壊
-  - `icon_url` (string) 鍥炬爣 URL
-  - `description` (string) 鎻忚堪
-  - `copyright` (string) 鐗堟潈淇℃伅
-  - `privacy_policy` (string) 闅愮鏀跨瓥閾炬帴
-  - `custom_disclaimer` (string) 鑷畾涔夊厤璐e0鏄�
-  - `default_language` (string) 榛樿璇█
-  - `show_workflow_steps` (bool) 鏄惁鏄剧ず宸ヤ綔娴佽鎯�
-  - `use_icon_as_answer_icon` (bool) 鏄惁浣跨敤 WebApp 鍥炬爣鏇挎崲鑱婂ぉ涓殑 馃
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
-
-<Heading
-  url='/apps/annotations'
-  method='GET'
-  title='鑾峰彇鏍囨敞鍒楄〃'
-  name='#annotation_list'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-        椤电爜
-      </Property>
-      <Property name='limit' type='string' key='limit'>
-        姣忛〉鏁伴噺
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.appDetail.api_base_url}/apps/annotations?page=1&limit=20' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.appDetail.api_base_url}/apps/annotations?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": [
-        {
-          "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-          "question": "What is your name?",
-          "answer": "I am Dify.",
-          "hit_count": 0,
-          "created_at": 1735625869
-        }
-      ],
-      "has_more": false,
-      "limit": 20,
-      "total": 1,
-      "page": 1
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations'
-  method='POST'
-  title='鍒涘缓鏍囨敞'
-  name='#create_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='question' type='string' key='question'>
-        闂
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        绛旀鍐呭
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotations"
-      targetCode={`curl --location --request POST '${props.appDetail.api_base_url}/apps/annotations' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.appDetail.api_base_url}/apps/annotations' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-      "question": "What is your name?",
-      "answer": "I am Dify.",
-      "hit_count": 0,
-      "created_at": 1735625869
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='PUT'
-  title='鏇存柊鏍囨敞'
-  name='#update_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        鏍囨敞 ID
-      </Property>
-      <Property name='question' type='string' key='question'>
-        闂
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        绛旀鍐呭
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request PUT '${props.appDetail.api_base_url}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request PUT '${props.appDetail.api_base_url}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-      "question": "What is your name?",
-      "answer": "I am Dify.",
-      "hit_count": 0,
-      "created_at": 1735625869
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='DELETE'
-  title='鍒犻櫎鏍囨敞'
-  name='#delete_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        鏍囨敞 ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request DELETE '${props.appDetail.api_base_url}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.appDetail.api_base_url}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}'
-  method='POST'
-  title='鏍囨敞鍥炲鍒濆璁剧疆'
-  name='#initial_annotation_reply_settings'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='action' type='string' key='action'>
-        鍔ㄤ綔锛屽彧鑳芥槸 'enable' 鎴� 'disable'
-      </Property>
-      <Property name='embedding_provider_name' type='string' key='embedding_provider_name'>
-        鎸囧畾鐨勫祵鍏ユā鍨嬫彁渚涘晢, 蹇呴』鍏堝湪绯荤粺鍐呰瀹氬ソ鎺ュ叆鐨勬ā鍨嬶紝瀵瑰簲鐨勬槸provider瀛楁
-      </Property>
-      <Property name='embedding_model_name' type='string' key='embedding_model_name'>
-        鎸囧畾鐨勫祵鍏ユā鍨嬶紝瀵瑰簲鐨勬槸model瀛楁
-      </Property>
-      <Property name='score_threshold' type='number' key='score_threshold'>
-        鐩镐技搴﹂槇鍊硷紝褰撶浉浼煎害澶т簬璇ラ槇鍊兼椂锛岀郴缁熶細鑷姩鍥炲锛屽惁鍒欎笉鍥炲
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    宓屽叆妯″瀷鐨勬彁渚涘晢鍜屾ā鍨嬪悕绉板彲浠ラ�氳繃浠ヤ笅鎺ュ彛鑾峰彇锛歷1/workspaces/current/models/model-types/text-embedding锛� 鍏蜂綋瑙侊細閫氳繃 API 缁存姢鐭ヨ瘑搴撱�� 浣跨敤鐨凙uthorization鏄疍ataset鐨凙PI Token銆�
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotation-reply/{action}"
-      targetCode={`curl --location --request POST '${props.appDetail.api_base_url}/apps/annotation-reply/{action}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"score_threshold": 0.9, "embedding_provider_name": "zhipu", "embedding_model_name": "embedding_3"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST 'https://api.dify.ai/v1/apps/annotation-reply/{action}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "score_threshold": 0.9,
-        "embedding_provider_name": "zhipu",
-        "embedding_model_name": "embedding_3"
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting"
-    }
-    ```
-    </CodeGroup>
-    璇ユ帴鍙f槸寮傛鎵ц锛屾墍浠ヤ細杩斿洖涓�涓猨ob_id锛岄�氳繃鏌ヨjob鐘舵�佹帴鍙e彲浠ヨ幏鍙栧埌鏈�缁堢殑鎵ц缁撴灉銆�
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}/status/{job_id}'
-  method='GET'
-  title='鏌ヨ鏍囨敞鍥炲鍒濆璁剧疆浠诲姟鐘舵��'
-  name='#initial_annotation_reply_settings_task_status'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-    <Property name='action' type='string' key='action'>
-        鍔ㄤ綔锛屽彧鑳芥槸 'enable' 鎴� 'disable'锛屽苟涓斿繀椤诲拰鏍囨敞鍥炲鍒濆璁剧疆鎺ュ彛鐨勫姩浣滀竴鑷�
-      </Property>
-      <Property name='job_id' type='string' key='job_id'>
-        浠诲姟 ID锛屼粠鏍囨敞鍥炲鍒濆璁剧疆鎺ュ彛杩斿洖鐨� job_id
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.appDetail.api_base_url}/apps/annotation-reply/{action}/status/{job_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.appDetail.api_base_url}/apps/annotation-reply/{action}/status/{job_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting",
-      "error_msg": ""
     }
     ```
     </CodeGroup>
diff --git a/app/components/develop/template/template_chat.en.mdx b/app/components/develop/template/template_chat.en.mdx
index c45a803..7de329a 100644
--- a/app/components/develop/template/template_chat.en.mdx
+++ b/app/components/develop/template/template_chat.en.mdx
@@ -82,9 +82,6 @@
 
     ### ChatCompletionResponse
     Returns the complete App result, `Content-Type` is `application/json`.
-    - `event` (string) 浜嬩欢绫诲瀷锛屽浐瀹氫负 `message`
-    - `task_id` (string) 浠诲姟 ID锛岀敤浜庤姹傝窡韪拰涓嬫柟鐨勫仠姝㈠搷搴旀帴鍙�
-    - `id` (string) 鍞竴ID
     - `message_id` (string) Unique message ID
     - `conversation_id` (string) Conversation ID
     - `mode` (string) App mode, fixed as `chat`
@@ -127,7 +124,7 @@
       - `created_at` (int) Creation timestamp, e.g.: 1705395332
     - `event: agent_thought` thought of Agent, contains the thought of LLM, input and output of tool calls (Only supported in Agent mode)
       - `id` (string) Agent thought ID, every iteration has a unique agent thought ID
-      - `task_id` (string)  Task ID, used for request tracking and the below Stop Generate API
+      - `task_id` (string) (string) Task ID, used for request tracking and the below Stop Generate API
       - `message_id` (string) Unique message ID
       - `position` (int) Position of current agent thought, each message may have multiple thoughts in order.
       - `thought` (string) What LLM is thinking about
@@ -200,8 +197,6 @@
     ```json {{ title: 'Response' }}
     {
         "event": "message",
-        "task_id": "c3800678-a077-43df-a102-53f23ed20b88", 
-        "id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
         "mode": "chat",
@@ -245,8 +240,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -259,8 +254,8 @@
     data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
     data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
     data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-    data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-    data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+    data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+    data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
     data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
     data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
     data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -448,69 +443,6 @@
   </Col>
 </Row>
 
----
-
-<Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='Get feedbacks of application'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    Get application's feedbacks.
-
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛坥ptional锛塸agination锛宒efault锛�1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛坥ptional锛� records per page default锛�20
-      </Property>
-    </Properties>
-
-    ### Response
-    - `data` (List) return apps feedback list.
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-      {
-          "data": [
-              {
-                  "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                  "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                  "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                  "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                  "rating": "like",
-                  "content": "message feedback information-3",
-                  "from_source": "user",
-                  "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                  "from_account_id": null,
-                  "created_at": "2025-04-24T09:24:38",
-                  "updated_at": "2025-04-24T09:24:38"
-              }
-          ]
-      }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
 ---
 
 <Heading
@@ -709,7 +641,7 @@
                         "tool_input": "{\"dalle2\": {\"prompt\": \"cat\"}}",
                         "created_at": 1705988186,
                         "observation": "image has been created and sent to user already, you should tell user to check it now.",
-                        "files": [
+                        "message_files": [
                             "976990d2-5294-47e6-8f14-7356ba9d2d76"
                         ]
                     },
@@ -723,7 +655,7 @@
                         "tool_input": "",
                         "created_at": 1705988199,
                         "observation": "",
-                        "files": []
+                        "message_files": []
                     }
                 ]
             }
@@ -861,8 +793,10 @@
     </CodeGroup>
 
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -940,106 +874,6 @@
 ---
 
 <Heading
-  url='/conversations/:conversation_id/variables'
-  method='GET'
-  title='Get Conversation Variables'
-  name='#conversation-variables'
-/>
-<Row>
-  <Col>
-    Retrieve variables from a specific conversation. This endpoint is useful for extracting structured data that was captured during the conversation.
-
-    ### Path Parameters
-
-    <Properties>
-      <Property name='conversation_id' type='string' key='conversation_id'>
-        The ID of the conversation to retrieve variables from.
-      </Property>
-    </Properties>
-
-    ### Query Parameters
-
-    <Properties>
-      <Property name='user' type='string' key='user'>
-        The user identifier, defined by the developer, must ensure uniqueness within the application
-      </Property>
-      <Property name='last_id' type='string' key='last_id'>
-          (Optional) The ID of the last record on the current page, default is null.
-      </Property>
-      <Property name='limit' type='int' key='limit'>
-          (Optional) How many records to return in one request, default is the most recent 20 entries. Maximum 100, minimum 1.
-      </Property>
-    </Properties>
-
-    ### Response
-
-    - `limit` (int) Number of items per page
-    - `has_more` (bool) Whether there is a next page
-    - `data` (array[object]) List of variables
-      - `id` (string) Variable ID
-      - `name` (string) Variable name
-      - `value_type` (string) Variable type (string, number, object, etc.)
-      - `value` (string) Variable value
-      - `description` (string) Variable description
-      - `created_at` (int) Creation timestamp
-      - `updated_at` (int) Last update timestamp
-
-    ### Errors
-    - 404, `conversation_not_exists`, Conversation not found
-
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/conversations/:conversation_id/variables" targetCode={`curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \\\n--header 'Authorization: Bearer {api_key}'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Request with variable name filter">
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123&variable_name=customer_name' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "limit": 100,
-      "has_more": false,
-      "data": [
-        {
-          "id": "variable-uuid-1",
-          "name": "customer_name",
-          "value_type": "string",
-          "value": "John Doe",
-          "description": "Customer name extracted from the conversation",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        },
-        {
-          "id": "variable-uuid-2",
-          "name": "order_details",
-          "value_type": "json",
-          "value": "{\"product\":\"Widget\",\"quantity\":5,\"price\":19.99}",
-          "description": "Order details from the customer",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        }
-      ]
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/audio-to-text'
   method='POST'
   title='Speech to Text'
@@ -1079,7 +913,7 @@
     </CodeGroup>
 
     <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
+    ```json {{ text: 'hello' }}
     {
       "text": ""
     }
@@ -1103,7 +937,7 @@
     ### Request Body
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         For text messages generated by Dify, simply pass the generated message-id directly. The backend will use the message-id to look up the corresponding content and synthesize the voice information directly. If both message_id and text are provided simultaneously, the message_id is given priority.
       </Property>
       <Property name='text' type='str' key='text'>
@@ -1334,365 +1168,6 @@
           "content": "\ud83d\ude01"
         }
       }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='Get Application WebApp Settings'
-  name='#site'
-/>
-<Row>
-  <Col>
-  Used to get the WebApp settings of the application.
-  ### Response
-  - `title` (string) WebApp name
-  - `chat_color_theme` (string) Chat color theme, in hex format
-  - `chat_color_theme_inverted` (bool) Whether the chat color theme is inverted
-  - `icon_type` (string) Icon type, `emoji` - emoji, `image` - picture
-  - `icon` (string) Icon. If it's `emoji` type, it's an emoji symbol; if it's `image` type, it's an image URL
-  - `icon_background` (string) Background color in hex format
-  - `icon_url` (string) Icon URL
-  - `description` (string) Description
-  - `copyright` (string) Copyright information
-  - `privacy_policy` (string) Privacy policy link
-  - `custom_disclaimer` (string) Custom disclaimer
-  - `default_language` (string) Default language
-  - `show_workflow_steps` (bool) Whether to show workflow details
-  - `use_icon_as_answer_icon` (bool) Whether to replace 馃 in chat with the WebApp icon
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
-
-<Heading
-  url='/apps/annotations'
-  method='GET'
-  title='Get Annotation List'
-  name='#annotation_list'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-        Page number
-      </Property>
-      <Property name='limit' type='string' key='limit'>
-        Number of items returned, default 20, range 1-100
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/apps/annotations?page=1&limit=20' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/apps/annotations?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "data": [
-        {
-          "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-          "question": "What is your name?",
-          "answer": "I am Dify.",
-          "hit_count": 0,
-          "created_at": 1735625869
-        }
-      ],
-      "has_more": false,
-      "limit": 20,
-      "total": 1,
-      "page": 1
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations'
-  method='POST'
-  title='Create Annotation'
-  name='#create_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='question' type='string' key='question'>
-        Question
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        Answer
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotations"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotations' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.apiBaseUrl}/apps/annotations' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      {
-        "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-        "question": "What is your name?",
-        "answer": "I am Dify.",
-        "hit_count": 0,
-        "created_at": 1735625869
-      }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='PUT'
-  title='Update Annotation'
-  name='#update_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        Annotation ID
-      </Property>
-      <Property name='question' type='string' key='question'>
-        Question
-      </Property>
-      <Property name='answer' type='string' key='answer'>
-        Answer
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"question": "What is your name?","answer": "I am Dify."}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "question": "What is your name?",
-        "answer": "I am Dify."
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      {
-        "id": "69d48372-ad81-4c75-9c46-2ce197b4d402",
-        "question": "What is your name?",
-        "answer": "I am Dify.",
-        "hit_count": 0,
-        "created_at": 1735625869
-      }
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotations/{annotation_id}'
-  method='DELETE'
-  title='Delete Annotation'
-  name='#delete_annotation'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='annotation_id' type='string' key='annotation_id'>
-        Annotation ID
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="PUT"
-      label="/apps/annotations/{annotation_id}"
-      targetCode={`curl --location --request DELETE '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request DELETE '${props.apiBaseUrl}/apps/annotations/{annotation_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}'
-  method='POST'
-  title='Initial Annotation Reply Settings'
-  name='#initial_annotation_reply_settings'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-      <Property name='action' type='string' key='action'>
-        Action, can only be 'enable' or 'disable'
-      </Property>
-      <Property name='embedding_model_provider' type='string' key='embedding_model_provider'>
-        Specified embedding model provider, must be set up in the system first, corresponding to the provider field(Optional)
-      </Property>
-      <Property name='embedding_model' type='string' key='embedding_model'>
-        Specified embedding model, corresponding to the model field(Optional)
-      </Property>
-      <Property name='score_threshold' type='number' key='score_threshold'>
-        The similarity threshold for matching annotated replies. Only annotations with scores above this threshold will be recalled.
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    The provider and model name of the embedding model can be obtained through the following interface: v1/workspaces/current/models/model-types/text-embedding. For specific instructions, see: Maintain Knowledge Base via API. The Authorization used is the Dataset API Token.
-    <CodeGroup
-      title="Request"
-      tag="POST"
-      label="/apps/annotation-reply/{action}"
-      targetCode={`curl --location --request POST '${props.apiBaseUrl}/apps/annotation-reply/{action}' \\\n--header 'Authorization: Bearer {api_key}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{"score_threshold": 0.9, "embedding_provider_name": "zhipu", "embedding_model_name": "embedding_3"}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request POST 'https://api.dify.ai/v1/apps/annotation-reply/{action}' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json' \
-    --data-raw '{
-        "score_threshold": 0.9,
-        "embedding_provider_name": "zhipu",
-        "embedding_model_name": "embedding_3"
-    }'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting"
-    }
-    ```
-    </CodeGroup>
-    This interface is executed asynchronously, so it will return a job_id. You can get the final execution result by querying the job status interface.
-  </Col>
-</Row>
----
-
-<Heading
-  url='/apps/annotation-reply/{action}/status/{job_id}'
-  method='GET'
-  title='Query Initial Annotation Reply Settings Task Status'
-  name='#initial_annotation_reply_settings_task_status'
-/>
-<Row>
-  <Col>
-    ### Query
-    <Properties>
-    <Property name='action' type='string' key='action'>
-        Action, can only be 'enable' or 'disable', must be the same as the action in the initial annotation reply settings interface
-      </Property>
-      <Property name='job_id' type='string' key='job_id'>
-        Job ID, 
-      </Property>
-    </Properties>
-  </Col>
-  <Col sticky>
-    <CodeGroup
-      title="Request"
-      tag="GET"
-      label="/apps/annotations"
-      targetCode={`curl --location --request GET '${props.apiBaseUrl}/apps/annotation-reply/{action}/status/{job_id}' \\\n--header 'Authorization: Bearer {api_key}'`}
-    >
-    ```bash {{ title: 'cURL' }}
-    curl --location --request GET '${props.apiBaseUrl}/apps/annotation-reply/{action}/status/{job_id}' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "job_id": "b15c8f68-1cf4-4877-bf21-ed7cf2011802",
-      "job_status": "waiting",
-      "error_msg": ""
     }
     ```
     </CodeGroup>
diff --git a/app/components/develop/template/template_chat.ja.mdx b/app/components/develop/template/template_chat.ja.mdx
index 81385ed..8107f62 100644
--- a/app/components/develop/template/template_chat.ja.mdx
+++ b/app/components/develop/template/template_chat.ja.mdx
@@ -82,9 +82,6 @@
 
     ### ChatCompletionResponse
     瀹屽叏銇偄銉椼儶绲愭灉銈掕繑銇椼伨銇欍�俙Content-Type`銇痐application/json`銇с仚銆�
-    - `event` (string) 銈ゃ儥銉炽儓銈裤偆銉椼�佸浐瀹氥仹 `message`
-    - `task_id` (string) 銈裤偣銈疘D銆併儶銈偍銈广儓杩借贰銇ㄤ互涓嬨伄Stop Generate API銇娇鐢�
-    - `id` (string) 銉︺儖銉笺偗ID
     - `message_id` (string) 涓�鎰忋伄銉°儍銈汇兗銈窱D
     - `conversation_id` (string) 浼氳┍ID
     - `mode` (string) 銈€儣銉儮銉笺儔銆乣chat`銇ㄣ仐銇﹀浐瀹�
@@ -127,7 +124,7 @@
       - `created_at` (int) 浣滄垚銈裤偆銉犮偣銈裤兂銉椼�佷緥锛�1705395332
     - `event: agent_thought` 銈ㄣ兗銈搞偋銉炽儓銇�濊�冦�丩LM銇�濊�冦�併儎銉笺儷鍛笺伋鍑恒仐銇叆鍔涖仺鍑哄姏銈掑惈銇裤伨銇欙紙銈ㄣ兗銈搞偋銉炽儓銉€兗銉夈仹銇伩銈点儩銉笺儓锛�
       - `id` (string) 銈ㄣ兗銈搞偋銉炽儓鎬濊�僆D銆佸悇鍙嶅京銇伅涓�鎰忋伄銈ㄣ兗銈搞偋銉炽儓鎬濊�僆D銇屻亗銈娿伨銇�
-      - `task_id` (string)  銈裤偣銈疘D銆併儶銈偍銈广儓杩借贰銇ㄤ互涓嬨伄Stop Generate API銇娇鐢�
+      - `task_id` (string) (string) 銈裤偣銈疘D銆併儶銈偍銈广儓杩借贰銇ㄤ互涓嬨伄Stop Generate API銇娇鐢�
       - `message_id` (string) 涓�鎰忋伄銉°儍銈汇兗銈窱D
       - `position` (int) 鐝惧湪銇偍銉笺偢銈с兂銉堟�濊�冦伄浣嶇疆銆佸悇銉°儍銈汇兗銈搞伀銇爢鐣伀瑜囨暟銇�濊�冦亴鍚伨銈屻倠鍫村悎銇屻亗銈娿伨銇欍��
       - `thought` (string) LLM銇岃�冦亪銇︺亜銈嬨亾銇�
@@ -200,8 +197,6 @@
     ```json {{ title: '蹇滅瓟' }}
     {
         "event": "message",
-        "task_id": "c3800678-a077-43df-a102-53f23ed20b88", 
-        "id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
         "mode": "chat",
@@ -245,8 +240,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -259,8 +254,8 @@
     data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
     data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
     data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-    data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-    data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+    data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+    data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
     data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
     data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
     data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -449,70 +444,6 @@
 </Row>
 
 ---
-
-<Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='銈€儣銉伄銉°儍銈汇兗銈搞伄銆屻亜銇勩伃銆嶃仺銉曘偅銉笺儔銉愩儍銈倰鍙栧緱'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    銈€儣銉伄銈ㄣ兂銉夈儲銉笺偠銉笺亱銈夈伄銉曘偅銉笺儔銉愩儍銈倓銆屻亜銇勩伃銆嶃倰鍙栧緱銇椼伨銇欍��
-
-    ### 銈偍銉�
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛堜换鎰忥級銉氥兗銈哥暘鍙枫�傘儑銉曘偐銉儓鍊わ細1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛堜换鎰忥級1銉氥兗銈搞亗銇熴倞銇欢鏁般�傘儑銉曘偐銉儓鍊わ細20
-      </Property>
-    </Properties>
-
-    ### 銉偣銉濄兂銈�
-    - `data` (銉偣銉�) 銇撱伄銈€儣銉伄銆屻亜銇勩伃銆嶃仺銉曘偅銉笺儔銉愩儍銈伄涓�瑕с倰杩斻仐銇俱仚銆�
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-        {
-        "data": [
-            {
-                "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                "rating": "like",
-                "content": "message feedback information-3",
-                "from_source": "user",
-                "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                "from_account_id": null,
-                "created_at": "2025-04-24T09:24:38",
-                "updated_at": "2025-04-24T09:24:38"
-            }
-        ]
-        }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
 
 <Heading
   url='/messages/{message_id}/suggested'
@@ -710,7 +641,7 @@
                         "tool_input": "{\"dalle2\": {\"prompt\": \"cat\"}}",
                         "created_at": 1705988186,
                         "observation": "鐢诲儚銇仚銇с伀浣滄垚銇曘倢銆併儲銉笺偠銉笺伀閫佷俊銇曘倢銇俱仐銇熴�備粖銇欍亹銉︺兗銈躲兗銇⒑瑾嶃仚銈嬨倛銇嗐伀浼濄亪銇︺亸銇犮仌銇勩��",
-                        "files": [
+                        "message_files": [
                             "976990d2-5294-47e6-8f14-7356ba9d2d76"
                         ]
                     },
@@ -724,7 +655,7 @@
                         "tool_input": "",
                         "created_at": 1705988199,
                         "observation": "",
-                        "files": []
+                        "message_files": []
                     }
                 ]
             }
@@ -861,8 +792,10 @@
     </CodeGroup>
 
     <CodeGroup title="蹇滅瓟">
-    ```text {{ title: '蹇滅瓟' }}
-    204 No Content
+    ```json {{ title: '蹇滅瓟' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -939,106 +872,6 @@
 ---
 
 <Heading
-  url='/conversations/:conversation_id/variables'
-  method='GET'
-  title='浼氳┍澶夋暟銇彇寰�'
-  name='#conversation-variables'
-/>
-<Row>
-  <Col>
-    鐗瑰畾銇細瑭便亱銈夊鏁般倰鍙栧緱銇椼伨銇欍�傘亾銇偍銉炽儔銉濄偆銉炽儓銇�佷細瑭变腑銇彇寰椼仌銈屻仧妲嬮�犲寲銉囥兗銈裤倰鎶藉嚭銇欍倠銇伀褰圭珛銇°伨銇欍��
-
-    ### 銉戙偣銉戙儵銉°兗銈�
-
-    <Properties>
-      <Property name='conversation_id' type='string' key='conversation_id'>
-        澶夋暟銈掑彇寰椼仚銈嬩細瑭便伄ID銆�
-      </Property>
-    </Properties>
-
-    ### 銈偍銉儜銉┿儭銉笺偪
-
-    <Properties>
-      <Property name='user' type='string' key='user'>
-        銉︺兗銈躲兗璀樺垾瀛愩�傞枊鐧鸿�呫伀銈堛仯銇﹀畾缇┿仌銈屻仧銉兗銉伀寰撱亜銆併偄銉椼儶銈便兗銈枫儳銉冲唴銇т竴鎰忋仹銇傘倠蹇呰銇屻亗銈娿伨銇欍��
-      </Property>
-      <Property name='last_id' type='string' key='last_id'>
-          (Optional)鐝惧湪銇儦銉笺偢銇渶寰屻伄銉偝銉笺儔銇甀D銆併儑銉曘偐銉儓銇痭ull銇с仚銆�
-      </Property>
-      <Property name='limit' type='int' key='limit'>
-          (Optional)1鍥炪伄銉偗銈ㄣ偣銉堛仹杩斻仚銉偝銉笺儔銇暟銆併儑銉曘偐銉儓銇渶鏂般伄20浠躲仹銇欍�傛渶澶�100銆佹渶灏�1銆�
-      </Property>
-    </Properties>
-
-    ### 銉偣銉濄兂銈�
-
-    - `limit` (int) 銉氥兗銈搞仈銇ㄣ伄銈€偆銉嗐儬鏁�
-    - `has_more` (bool) 銇曘倝銇偄銈ゃ儐銉犮亴銇傘倠銇嬨仼銇嗐亱
-    - `data` (array[object]) 澶夋暟銇儶銈广儓
-      - `id` (string) 澶夋暟ID
-      - `name` (string) 澶夋暟鍚�
-      - `value_type` (string) 澶夋暟銈裤偆銉楋紙鏂囧瓧鍒椼�佹暟鍊ゃ�佺湡鍋藉�ゃ仾銇╋級
-      - `value` (string) 澶夋暟鍊�
-      - `description` (string) 澶夋暟銇鏄�
-      - `created_at` (int) 浣滄垚銈裤偆銉犮偣銈裤兂銉�
-      - `updated_at` (int) 鏈�绲傛洿鏂般偪銈ゃ儬銈广偪銉炽儣
-
-    ### 銈ㄣ儵銉�
-    - 404, `conversation_not_exists`, 浼氳┍銇岃銇ゃ亱銈娿伨銇涖倱
-
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/conversations/:conversation_id/variables" targetCode={`curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \\\n--header 'Authorization: Bearer {api_key}'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Request with variable name filter">
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123&variable_name=customer_name' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "limit": 100,
-      "has_more": false,
-      "data": [
-        {
-          "id": "variable-uuid-1",
-          "name": "customer_name",
-          "value_type": "string",
-          "value": "John Doe",
-          "description": "浼氳┍銇嬨倝鎶藉嚭銇曘倢銇熼¨瀹㈠悕",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        },
-        {
-          "id": "variable-uuid-2",
-          "name": "order_details",
-          "value_type": "json",
-          "value": "{\"product\":\"Widget\",\"quantity\":5,\"price\":19.99}",
-          "description": "椤у銇敞鏂囪┏绱�",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        }
-      ]
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/audio-to-text'
   method='POST'
   title='闊冲0銇嬨倝銉嗐偔銈广儓銇�'
@@ -1078,7 +911,7 @@
     </CodeGroup>
 
     <CodeGroup title="蹇滅瓟">
-    ```json {{ title: '蹇滅瓟' }}
+    ```json {{ text: 'hello' }}
     {
       "text": ""
     }
@@ -1102,7 +935,7 @@
     ### 銉偗銈ㄣ偣銉堛儨銉囥偅
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         Dify銇倛銇c仸鐢熸垚銇曘倢銇熴儐銈偣銉堛儭銉冦偦銉笺偢銇牬鍚堛�佺敓鎴愩仌銈屻仧銉°儍銈汇兗銈窱D銈掔洿鎺ユ浮銇椼伨銇欍�傘儛銉冦偗銈ㄣ兂銉夈伅銉°儍銈汇兗銈窱D銈掍娇鐢ㄣ仐銇﹀蹇溿仚銈嬨偝銉炽儐銉炽儎銈掓绱€仐銆侀煶澹版儏鍫便倰鐩存帴鍚堟垚銇椼伨銇欍�俶essage_id銇╰ext銇屽悓鏅傘伀鎻愪緵銇曘倢銈嬪牬鍚堛�乵essage_id銇屽劒鍏堛仌銈屻伨銇欍��
       </Property>
       <Property name='text' type='str' key='text'>
@@ -1330,63 +1163,3 @@
     </CodeGroup>
   </Col>
 </Row>
-
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='銈€儣銉伄WebApp瑷畾銈掑彇寰�'
-  name='#site'
-/>
-<Row>
-  <Col>
-  銈€儣銉伄WebApp瑷畾銈掑彇寰椼仚銈嬨仧銈併伀浣跨敤銇椼伨銇欍��
-  ### 蹇滅瓟
-  - `title` (string) WebApp鍚�
-  - `chat_color_theme` (string) 銉併儯銉冦儓銇壊銉嗐兗銉炪��16閫叉暟褰㈠紡
-  - `chat_color_theme_inverted` (bool) 銉併儯銉冦儓銇壊銉嗐兗銉炪倰鍙嶈虎銇欍倠銇嬨仼銇嗐亱
-  - `icon_type` (string) 銈€偆銈炽兂銈裤偆銉椼�乣emoji`-绲垫枃瀛椼�乣image`-鐢诲儚
-  - `icon` (string) 銈€偆銈炽兂銆俙emoji`銈裤偆銉椼伄鍫村悎銇档鏂囧瓧銆乣image`銈裤偆銉椼伄鍫村悎銇敾鍍廢RL
-  - `icon_background` (string) 16閫叉暟褰㈠紡銇儗鏅壊
-  - `icon_url` (string) 銈€偆銈炽兂銇甎RL
-  - `description` (string) 瑾槑
-  - `copyright` (string) 钁椾綔妯╂儏鍫�
-  - `privacy_policy` (string) 銉椼儵銈ゃ儛銈枫兗銉濄儶銈枫兗銇儶銉炽偗
-  - `custom_disclaimer` (string) 銈偣銈裤儬鍏嶈铂浜嬮爡
-  - `default_language` (string) 銉囥儠銈┿儷銉堣█瑾�
-  - `show_workflow_steps` (bool) 銉兗銈儠銉兗銇┏绱般倰琛ㄧず銇欍倠銇嬨仼銇嗐亱
-  - `use_icon_as_answer_icon` (bool) WebApp銇偄銈ゃ偝銉炽倰銉併儯銉冦儓鍐呫伄馃銇疆銇嶆彌銇堛倠銇嬨仼銇嗐亱
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/develop/template/template_chat.zh.mdx b/app/components/develop/template/template_chat.zh.mdx
index 8661700..ec84597 100644
--- a/app/components/develop/template/template_chat.zh.mdx
+++ b/app/components/develop/template/template_chat.zh.mdx
@@ -83,9 +83,6 @@
     ### ChatCompletionResponse
 
     杩斿洖瀹屾暣鐨� App 缁撴灉锛宍Content-Type` 涓� `application/json`銆�
-    - `event` (string) 浜嬩欢绫诲瀷锛屽浐瀹氫负 `message`
-    - `task_id` (string) 浠诲姟 ID锛岀敤浜庤姹傝窡韪拰涓嬫柟鐨勫仠姝㈠搷搴旀帴鍙�
-    - `id` (string) 鍞竴ID
     - `message_id` (string) 娑堟伅鍞竴 ID
     - `conversation_id` (string) 浼氳瘽 ID
     - `mode` (string) App 妯″紡锛屽浐瀹氫负 chat
@@ -94,6 +91,7 @@
       - `usage` (Usage) 妯″瀷鐢ㄩ噺淇℃伅
       - `retriever_resources` (array[RetrieverResource]) 寮曠敤鍜屽綊灞炲垎娈靛垪琛�
     - `created_at` (int) 娑堟伅鍒涘缓鏃堕棿鎴筹紝濡傦細1705395332
+
     ### ChunkChatCompletionResponse
     杩斿洖 App 杈撳嚭鐨勬祦寮忓潡锛宍Content-Type` 涓� `text/event-stream`銆�
     姣忎釜娴佸紡鍧楀潎涓� data: 寮�澶达紝鍧椾箣闂翠互 \n\n 鍗充袱涓崲琛岀鍒嗛殧锛屽涓嬫墍绀猴細
@@ -212,8 +210,6 @@
     ```json {{ title: 'Response' }}
     {
         "event": "message",
-        "task_id": "c3800678-a077-43df-a102-53f23ed20b88", 
-        "id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
         "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
         "mode": "chat",
@@ -257,8 +253,8 @@
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": "'m", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " glad", "created_at": 1679586595}
       data: {"event": "message", "message_id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " to", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
-      data: {"event": "message", "message_id" : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " meet", "created_at": 1679586595}
+      data: {"event": "message", "message_id": : "5ad4cb98-f0c7-4085-b384-88c403be6290", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "answer": " you", "created_at": 1679586595}
       data: {"event": "message_end", "id": "5e52ce04-874b-4d27-9045-b3bc80def685", "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2", "metadata": {"usage": {"prompt_tokens": 1033, "prompt_unit_price": "0.001", "prompt_price_unit": "0.001", "prompt_price": "0.0010330", "completion_tokens": 135, "completion_unit_price": "0.002", "completion_price_unit": "0.001", "completion_price": "0.0002700", "total_tokens": 1168, "total_price": "0.0013030", "currency": "USD", "latency": 1.381760165997548}, "retriever_resources": [{"position": 1, "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb", "dataset_name": "iPhone", "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00", "document_name": "iPhone List", "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a", "score": 0.98457545, "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""}]}}
       data: {"event": "tts_message", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"}
       data: {"event": "tts_message_end", "conversation_id": "23dd85f3-1a41-4ea0-b7a9-062734ccfaf9", "message_id": "a8bdc41c-13b2-4c18-bfd9-054b9803038c", "created_at": 1721205487, "task_id": "3bf8a0bb-e73b-4690-9e66-4e429bad8ee7", "audio": ""}
@@ -465,69 +461,6 @@
 ---
 
 <Heading
-  url='/app/feedbacks'
-  method='GET'
-  title='鑾峰彇APP鐨勬秷鎭偣璧炲拰鍙嶉'
-  name='#app-feedbacks'
-/>
-<Row>
-  <Col>
-    鑾峰彇搴旂敤鐨勭粓绔敤鎴峰弽棣堛�佺偣璧炪��
-
-    ### Query
-    <Properties>
-      <Property name='page' type='string' key='page'>
-       锛堥�夊~锛夊垎椤碉紝榛樿鍊硷細1
-      </Property>
-    </Properties>
-
-    <Properties>
-      <Property name='limit' type='string' key='limit'>
-       锛堥�夊~锛夋瘡椤垫暟閲忥紝榛樿鍊硷細20
-      </Property>
-    </Properties>
-
-    ### Response
-    - `data` (List) 杩斿洖璇PP鐨勭偣璧炪�佸弽棣堝垪琛ㄣ��
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/app/feedbacks" targetCode={`curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/app/feedbacks?page=1&limit=20' \
-    --header 'Authorization: Bearer {api_key}' \
-    --header 'Content-Type: application/json'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-        {
-        "data": [
-            {
-                "id": "8c0fbed8-e2f9-49ff-9f0e-15a35bdd0e25",
-                "app_id": "f252d396-fe48-450e-94ec-e184218e7346",
-                "conversation_id": "2397604b-9deb-430e-b285-4726e51fd62d",
-                "message_id": "709c0b0f-0a96-4a4e-91a4-ec0889937b11",
-                "rating": "like",
-                "content": "message feedback information-3",
-                "from_source": "user",
-                "from_end_user_id": "74286412-9a1a-42c1-929c-01edb1d381d5",
-                "from_account_id": null,
-                "created_at": "2025-04-24T09:24:38",
-                "updated_at": "2025-04-24T09:24:38"
-            }
-        ]
-        }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
----
-
-<Heading
   url='/messages/{message_id}/suggested'
   method='GET'
   title='鑾峰彇涓嬩竴杞缓璁棶棰樺垪琛�'
@@ -724,7 +657,7 @@
                     "tool_input": "{\"dalle2\": {\"prompt\": \"cat\"}}",
                     "created_at": 1705988186,
                     "observation": "image has been created and sent to user already, you should tell user to check it now.",
-                    "files": [
+                    "message_files": [
                         "976990d2-5294-47e6-8f14-7356ba9d2d76"
                     ]
                 },
@@ -738,7 +671,7 @@
                     "tool_input": "",
                     "created_at": 1705988199,
                     "observation": "",
-                    "files": []
+                    "message_files": []
                 }
             ]
         }
@@ -874,8 +807,10 @@
     </CodeGroup>
 
     <CodeGroup title="Response">
-    ```text {{ title: 'Response' }}
-    204 No Content
+    ```json {{ title: 'Response' }}
+    {
+      "result": "success"
+    }
     ```
     </CodeGroup>
   </Col>
@@ -955,106 +890,6 @@
 ---
 
 <Heading
-  url='/conversations/:conversation_id/variables'
-  method='GET'
-  title='鑾峰彇瀵硅瘽鍙橀噺'
-  name='#conversation-variables'
-/>
-<Row>
-  <Col>
-    浠庣壒瀹氬璇濅腑妫�绱㈠彉閲忋�傛绔偣瀵逛簬鎻愬彇瀵硅瘽杩囩▼涓崟鑾风殑缁撴瀯鍖栨暟鎹潪甯告湁鐢ㄣ��
-
-    ### 璺緞鍙傛暟
-
-    <Properties>
-      <Property name='conversation_id' type='string' key='conversation_id'>
-        瑕佷粠涓绱㈠彉閲忕殑瀵硅瘽ID銆�
-      </Property>
-    </Properties>
-
-    ### 鏌ヨ鍙傛暟
-
-    <Properties>
-      <Property name='user' type='string' key='user'>
-        鐢ㄦ埛鏍囪瘑绗︼紝鐢卞紑鍙戜汉鍛樺畾涔夌殑瑙勫垯锛屽湪搴旂敤绋嬪簭鍐呭繀椤诲敮涓�銆�
-      </Property>
-      <Property name='last_id' type='string' key='last_id'>
-        锛堥�夊~锛夊綋鍓嶉〉鏈�鍚庨潰涓�鏉¤褰曠殑 ID锛岄粯璁� null
-      </Property>
-      <Property name='limit' type='int' key='limit'>
-        锛堥�夊~锛変竴娆¤姹傝繑鍥炲灏戞潯璁板綍锛岄粯璁� 20 鏉★紝鏈�澶� 100 鏉★紝鏈�灏� 1 鏉°��
-      </Property>
-    </Properties>
-
-    ### 鍝嶅簲
-
-    - `limit` (int) 姣忛〉椤圭洰鏁�
-    - `has_more` (bool) 鏄惁鏈夋洿澶氶」鐩�
-    - `data` (array[object]) 鍙橀噺鍒楄〃
-      - `id` (string) 鍙橀噺ID
-      - `name` (string) 鍙橀噺鍚嶇О
-      - `value_type` (string) 鍙橀噺绫诲瀷锛堝瓧绗︿覆銆佹暟瀛椼�佸竷灏旂瓑锛�
-      - `value` (string) 鍙橀噺鍊�
-      - `description` (string) 鍙橀噺鎻忚堪
-      - `created_at` (int) 鍒涘缓鏃堕棿鎴�
-      - `updated_at` (int) 鏈�鍚庢洿鏂版椂闂存埑
-
-    ### 閿欒
-    - 404, `conversation_not_exists`, 瀵硅瘽涓嶅瓨鍦�
-
-  </Col>
-  <Col sticky>
-
-    <CodeGroup title="Request" tag="GET" label="/conversations/:conversation_id/variables" targetCode={`curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \\\n--header 'Authorization: Bearer {api_key}'`}>
-
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Request with variable name filter">
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/conversations/{conversation_id}/variables?user=abc-123&variable_name=customer_name' \
-    --header 'Authorization: Bearer {api_key}'
-    ```
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "limit": 100,
-      "has_more": false,
-      "data": [
-        {
-          "id": "variable-uuid-1",
-          "name": "customer_name",
-          "value_type": "string",
-          "value": "John Doe",
-          "description": "瀹㈡埛鍚嶇О锛堜粠瀵硅瘽涓彁鍙栵級",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        },
-        {
-          "id": "variable-uuid-2",
-          "name": "order_details",
-          "value_type": "json",
-          "value": "{\"product\":\"Widget\",\"quantity\":5,\"price\":19.99}",
-          "description": "瀹㈡埛鐨勮鍗曡鎯�",
-          "created_at": 1650000000000,
-          "updated_at": 1650000000000
-        }
-      ]
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-
----
-
-<Heading
   url='/audio-to-text'
   method='POST'
   title='璇煶杞枃瀛�'
@@ -1115,7 +950,7 @@
     ### Request Body
 
     <Properties>
-      <Property name='message_id' type='str' key='message_id'>
+      <Property name='message_id' type='str' key='text'>
         Dify 鐢熸垚鐨勬枃鏈秷鎭紝閭d箞鐩存帴浼犻�掔敓鎴愮殑message-id 鍗冲彲锛屽悗鍙颁細閫氳繃 message_id 鏌ユ壘鐩稿簲鐨勫唴瀹圭洿鎺ュ悎鎴愯闊充俊鎭�傚鏋滃悓鏃朵紶 message_id 鍜� text锛屼紭鍏堜娇鐢� message_id銆�
       </Property>
       <Property name='text' type='str' key='text'>
@@ -1332,63 +1167,3 @@
     </CodeGroup>
   </Col>
 </Row>
-
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='鑾峰彇搴旂敤 WebApp 璁剧疆'
-  name='#site'
-/>
-<Row>
-  <Col>
-  鐢ㄤ簬鑾峰彇搴旂敤鐨� WebApp 璁剧疆
-  ### Response
-  - `title` (string) WebApp 鍚嶇О
-  - `chat_color_theme` (string) 鑱婂ぉ棰滆壊涓婚, hex 鏍煎紡
-  - `chat_color_theme_inverted` (bool) 鑱婂ぉ棰滆壊涓婚鏄惁鍙嶈浆
-  - `icon_type` (string) 鍥炬爣绫诲瀷, `emoji`-琛ㄦ儏, `image`-鍥剧墖
-  - `icon` (string) 鍥炬爣, 濡傛灉鏄� `emoji` 绫诲瀷, 鍒欐槸 emoji 琛ㄦ儏绗﹀彿, 濡傛灉鏄� `image` 绫诲瀷, 鍒欐槸鍥剧墖 URL
-  - `icon_background` (string) hex 鏍煎紡鐨勮儗鏅壊
-  - `icon_url` (string) 鍥炬爣 URL
-  - `description` (string) 鎻忚堪
-  - `copyright` (string) 鐗堟潈淇℃伅
-  - `privacy_policy` (string) 闅愮鏀跨瓥閾炬帴
-  - `custom_disclaimer` (string) 鑷畾涔夊厤璐e0鏄�
-  - `default_language` (string) 榛樿璇█
-  - `show_workflow_steps` (bool) 鏄惁鏄剧ず宸ヤ綔娴佽鎯�
-  - `use_icon_as_answer_icon` (bool) 鏄惁浣跨敤 WebApp 鍥炬爣鏇挎崲鑱婂ぉ涓殑 馃
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "chat_color_theme": "#ff4a4a",
-      "chat_color_theme_inverted": false,
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-      "use_icon_as_answer_icon": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/develop/template/template_workflow.en.mdx b/app/components/develop/template/template_workflow.en.mdx
index 2afcedc..27c0d26 100644
--- a/app/components/develop/template/template_workflow.en.mdx
+++ b/app/components/develop/template/template_workflow.en.mdx
@@ -43,9 +43,18 @@
       - `inputs` (object) Required
         Allows the entry of various variable values defined by the App.
         The `inputs` parameter contains multiple key/value pairs, with each key corresponding to a specific variable and each value being the specific value for that variable.
-        The workflow application requires at least one key/value pair to be inputted. The variable can be of File Array type.
-        File Array type variable is suitable for inputting files combined with text understanding and answering questions, available only when the model supports file parsing and understanding capability.
-        If the variable is of File Array type, the corresponding value should be a list whose elements contain following attributions: 
+        The workflow application requires at least one key/value pair to be inputted.
+        If the variable is of File type, specify an object that has the keys described in `files` below.
+      - `response_mode` (string) Required
+        The mode of response return, supporting:
+        - `streaming` Streaming mode (recommended), implements a typewriter-like output through SSE ([Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)).
+        - `blocking` Blocking mode, returns result after execution is complete. (Requests may be interrupted if the process is long)
+        <i>Due to Cloudflare restrictions, the request will be interrupted without a return after 100 seconds.</i>
+      - `user` (string) Required
+        User identifier, used to define the identity of the end-user for retrieval and statistics.
+        Should be uniquely defined by the developer within the application.
+      - `files` (array[object]) Optional
+        File list, suitable for inputting files combined with text understanding and answering questions, available only when the model supports file parsing and understanding capability.
           - `type` (string) Supported type: 
             - `document` ('TXT', 'MD', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB')
             - `image` ('JPG', 'JPEG', 'PNG', 'GIF', 'WEBP', 'SVG')
@@ -55,15 +64,6 @@
           - `transfer_method` (string) Transfer method, `remote_url` for image URL / `local_file` for file upload
           - `url` (string) Image URL (when the transfer method is `remote_url`)
           - `upload_file_id` (string) Uploaded file ID, which must be obtained by uploading through the File Upload API in advance (when the transfer method is `local_file`)
-
-      - `response_mode` (string) Required
-        The mode of response return, supporting:
-        - `streaming` Streaming mode (recommended), implements a typewriter-like output through SSE ([Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)).
-        - `blocking` Blocking mode, returns result after execution is complete. (Requests may be interrupted if the process is long)
-        <i>Due to Cloudflare restrictions, the request will be interrupted without a return after 100 seconds.</i>
-      - `user` (string) Required
-        User identifier, used to define the identity of the end-user for retrieval and statistics.
-        Should be uniquely defined by the developer within the application.
 
     ### Response
     When `response_mode` is `blocking`, return a CompletionResponse object.
@@ -90,7 +90,7 @@
     Each streaming chunk starts with `data:`, separated by two newline characters `\n\n`, as shown below:
     <CodeGroup>
     ```streaming {{ title: 'Response' }}
-    data: {"event": "text_chunk", "workflow_run_id": "b85e5fc5-751b-454d-b14e-dc5f240b0a31", "task_id": "bd029338-b068-4d34-a331-fc85478922c2", "data": {"text": "\u4e3a\u4e86", "from_variable_selector": ["1745912968134", "text"]}}\n\n
+    data: {"event": "message", "task_id": "900bbd43-dc0b-4383-a372-aa6e6c414227", "id": "663c5084-a254-4040-8ad3-51f2a3c1a77c", "answer": "Hi", "created_at": 1705398420}\n\n
     ```
     </CodeGroup>
     The structure of the streaming chunks varies depending on the `event`:
@@ -116,13 +116,6 @@
         - `predecessor_node_id` (string) optional Prefix node ID, used for canvas display execution path
         - `inputs` (object) Contents of all preceding node variables used in the node
         - `created_at` (timestamp) timestamp of start, e.g., 1705395332
-    - `event: text_chunk` Text fragment  
-      - `task_id` (string) Task ID, used for request tracking and the below Stop Generate API 
-      - `workflow_run_id` (string) Unique ID of workflow execution 
-      - `event` (string) fixed to `text_chunk`
-      - `data` (object) detail
-        - `text` (string) Text content
-        - `from_variable_selector` (array) Text source path, helping developers understand which node and variable generated the text
     - `event: node_finished` node execution ends, success or failure in different states in the same event
       - `task_id` (string) Task ID, used for request tracking and the below Stop Generate API
       - `workflow_run_id` (string) Unique ID of workflow execution
@@ -197,18 +190,15 @@
     ```
 
     </CodeGroup>
-    <CodeGroup title="Example: file array as an input variable">
+    <CodeGroup title="File variable example">
       ```json {{ title: 'File variable example' }}
       {
         "inputs": {
-          "{variable_name}": 
-          [
-            {
+          "{variable_name}": {
             "transfer_method": "local_file",
             "upload_file_id": "{upload_file_id}",
             "type": "{document_type}"
-            }
-          ]
+          }
         }
       }
       ```
@@ -289,11 +279,11 @@
 
           data = {
               "inputs": {
-                  "orig_mail": [{
+                  "orig_mail": {
                       "transfer_method": "local_file",
                       "upload_file_id": file_id,
                       "type": "document"
-                  }]
+                  }
               },
               "response_mode": response_mode,
               "user": user
@@ -377,8 +367,8 @@
         "error": null,
         "total_steps": 3,
         "total_tokens": 0,
-        "created_at": 1705407629,
-        "finished_at": 1727807631,
+        "created_at": "Thu, 18 Jul 2024 03:17:40 -0000",
+        "finished_at": "Thu, 18 Jul 2024 03:18:10 -0000",
         "elapsed_time": 30.098514399956912
     }
     ```
@@ -737,56 +727,3 @@
     </CodeGroup>
   </Col>
 </Row>
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='Get Application WebApp Settings'
-  name='#site'
-/>
-<Row>
-  <Col>
-  Used to get the WebApp settings of the application.
-  ### Response
-  - `title` (string) WebApp name
-  - `icon_type` (string) Icon type, `emoji` - emoji, `image` - picture
-  - `icon` (string) Icon. If it's `emoji` type, it's an emoji symbol; if it's `image` type, it's an image URL.
-  - `icon_background` (string) Background color in hex format
-  - `icon_url` (string) Icon URL
-  - `description` (string) Description
-  - `copyright` (string) Copyright information
-  - `privacy_policy` (string) Privacy policy link
-  - `custom_disclaimer` (string) Custom disclaimer
-  - `default_language` (string) Default language
-  - `show_workflow_steps` (bool) Whether to show workflow details
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/develop/template/template_workflow.ja.mdx b/app/components/develop/template/template_workflow.ja.mdx
index b6afea9..9e66973 100644
--- a/app/components/develop/template/template_workflow.ja.mdx
+++ b/app/components/develop/template/template_workflow.ja.mdx
@@ -43,20 +43,8 @@
       - `inputs` (object) 蹇呴爤
         銈€儣銉仹瀹氱京銇曘倢銇熴仌銇俱仏銇俱仾澶夋暟鍊ゃ伄鍏ュ姏銈掕ū鍙仐銇俱仚銆�
         `inputs`銉戙儵銉°兗銈裤伀銇鏁般伄銈兗/鍊ゃ儦銈€亴鍚伨銈屻�佸悇銈兗銇壒瀹氥伄澶夋暟銇蹇溿仐銆佸悇鍊ゃ伅銇濄伄澶夋暟銇壒瀹氥伄鍊ゃ仹銇欍��
-        銉兗銈儠銉兗銈€儣銉偙銉笺偡銉с兂銇皯銇亸銇ㄣ倐1銇ゃ伄銈兗/鍊ゃ儦銈€伄鍏ュ姏銈掑繀瑕併仺銇椼伨銇欍�傚�ゃ伅銉曘偂銈ゃ儷銉偣銉堛仹銇傘倠鍫村悎銈傘亗銈娿伨銇欍��
-        銉曘偂銈ゃ儷銉偣銉堛伅銆併儐銈偣銉堢悊瑙c仺璩晱銇搞伄鍥炵瓟銈掔祫銇垮悎銈忋仜銇熴儠銈°偆銉伄鍏ュ姏銇仼銇椼仸銇勩伨銇欍�傘儮銉囥儷銇屻儠銈°偆銉伄瑙f瀽銇ㄧ悊瑙f鑳姐倰銈点儩銉笺儓銇椼仸銇勩倠鍫村悎銇伄銇夸娇鐢ㄣ仹銇嶃伨銇欍��
-
-        澶夋暟銇屻儠銈°偆銉儶銈广儓銇牬鍚堛�併儶銈广儓銇悇瑕佺礌銇互涓嬨伄灞炴�с倰鎸併仱蹇呰銇屻亗銈娿伨銇欍��
-          - `type` (string) 銈点儩銉笺儓銇曘倢銇︺亜銈嬨偪銈ゃ儣: 
-            - `document` ('TXT', 'MD', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB')
-            - `image` ('JPG', 'JPEG', 'PNG', 'GIF', 'WEBP', 'SVG')
-            - `audio` ('MP3', 'M4A', 'WAV', 'WEBM', 'AMR')
-            - `video` ('MP4', 'MOV', 'MPEG', 'MPGA')
-            - `custom` (浠栥伄銉曘偂銈ゃ儷銈裤偆銉�)
-          - `transfer_method` (string) 杌㈤�佹柟娉曘�佺敾鍍廢RL銇牬鍚堛伅`remote_url` / 銉曘偂銈ゃ儷銈€儍銉椼儹銉笺儔銇牬鍚堛伅`local_file`
-          - `url` (string) 鐢诲儚URL锛堣虎閫佹柟娉曘亴`remote_url`銇牬鍚堬級
-          - `upload_file_id` (string) 銈€儍銉椼儹銉笺儔銇曘倢銇熴儠銈°偆銉獻D銆佷簨鍓嶃伀銉曘偂銈ゃ儷銈€儍銉椼儹銉笺儔API銈掗�氥仒銇﹀彇寰椼仚銈嬪繀瑕併亴銇傘倞銇俱仚锛堣虎閫佹柟娉曘亴`local_file`銇牬鍚堬級
-
+        銉兗銈儠銉兗銈€儣銉偙銉笺偡銉с兂銇皯銇亸銇ㄣ倐1銇ゃ伄銈兗/鍊ゃ儦銈€伄鍏ュ姏銈掑繀瑕併仺銇椼伨銇欍��
+        澶夋暟銇屻儠銈°偆銉偪銈ゃ儣銇牬鍚堛�佷互涓嬨伄`files`銇ц鏄庛仌銈屻仸銇勩倠銈兗銈掓寔銇ゃ偑銉栥偢銈с偗銉堛倰鎸囧畾銇椼仸銇忋仩銇曘亜銆�
       - `response_mode` (string) 蹇呴爤
         蹇滅瓟銇繑鍗淬儮銉笺儔銈掓寚瀹氥仐銇俱仚銆傘偟銉濄兗銉堛仌銈屻仸銇勩倠銉€兗銉夛細
         - `streaming` 銈广儓銉兗銉熴兂銈般儮銉笺儔锛堟帹濂級銆丼SE锛圼Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)锛夈倰閫氥仒銇︺偪銈ゃ儣銉┿偆銈裤兗銇倛銇嗐仾鍑哄姏銈掑疅瑁呫仐銇俱仚銆�
@@ -66,7 +54,16 @@
         銉︺兗銈躲兗璀樺垾瀛愩�併偍銉炽儔銉︺兗銈躲兗銇偄銈ゃ儑銉炽儐銈c儐銈c倰瀹氱京銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍��
         銈€儣銉偙銉笺偡銉с兂鍐呫仹闁嬬櫤鑰呫伀銈堛仯銇︿竴鎰忋伀瀹氱京銇曘倢銈嬪繀瑕併亴銇傘倞銇俱仚銆�
       - `files` (array[object]) 銈儣銈枫儳銉�
-        
+        銉曘偂銈ゃ儷銉偣銉堛伅銆併儐銈偣銉堢悊瑙c仺璩晱銇搞伄鍥炵瓟銈掔祫銇垮悎銈忋仜銇熴儠銈°偆銉伄鍏ュ姏銇仼銇椼仸銇勩伨銇欍�傘儮銉囥儷銇屻儠銈°偆銉伄瑙f瀽銇ㄧ悊瑙f鑳姐倰銈点儩銉笺儓銇椼仸銇勩倠鍫村悎銇伄銇夸娇鐢ㄣ仹銇嶃伨銇欍��
+          - `type` (string) 銈点儩銉笺儓銇曘倢銇︺亜銈嬨偪銈ゃ儣: 
+            - `document` ('TXT', 'MD', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB')
+            - `image` ('JPG', 'JPEG', 'PNG', 'GIF', 'WEBP', 'SVG')
+            - `audio` ('MP3', 'M4A', 'WAV', 'WEBM', 'AMR')
+            - `video` ('MP4', 'MOV', 'MPEG', 'MPGA')
+            - `custom` (浠栥伄銉曘偂銈ゃ儷銈裤偆銉�)
+          - `transfer_method` (string) 杌㈤�佹柟娉曘�佺敾鍍廢RL銇牬鍚堛伅`remote_url` / 銉曘偂銈ゃ儷銈€儍銉椼儹銉笺儔銇牬鍚堛伅`local_file`
+          - `url` (string) 鐢诲儚URL锛堣虎閫佹柟娉曘亴`remote_url`銇牬鍚堬級
+          - `upload_file_id` (string) 銈€儍銉椼儹銉笺儔銇曘倢銇熴儠銈°偆銉獻D銆佷簨鍓嶃伀銉曘偂銈ゃ儷銈€儍銉椼儹銉笺儔API銈掗�氥仒銇﹀彇寰椼仚銈嬪繀瑕併亴銇傘倞銇俱仚锛堣虎閫佹柟娉曘亴`local_file`銇牬鍚堬級
 
     ### 蹇滅瓟
     `response_mode`銇宍blocking`銇牬鍚堛�丆ompletionResponse銈儢銈搞偋銈儓銈掕繑銇椼伨銇欍��
@@ -93,7 +90,7 @@
     鍚勩偣銉堛儶銉笺儫銉炽偘銉併儯銉炽偗銇痐data:`銇у銇俱倞銆�2銇ゃ伄鏀硅鏂囧瓧`\n\n`銇у尯鍒囥倝銈屻伨銇欍�備互涓嬨伄銈堛亞銇〃绀恒仌銈屻伨銇欙細
     <CodeGroup>
     ```streaming {{ title: '蹇滅瓟' }}
-    data: {"event": "text_chunk", "workflow_run_id": "b85e5fc5-751b-454d-b14e-dc5f240b0a31", "task_id": "bd029338-b068-4d34-a331-fc85478922c2", "data": {"text": "\u4e3a\u4e86", "from_variable_selector": ["1745912968134", "text"]}}\n\n
+    data: {"event": "message", "task_id": "900bbd43-dc0b-4383-a372-aa6e6c414227", "id": "663c5084-a254-4040-8ad3-51f2a3c1a77c", "answer": "Hi", "created_at": 1705398420}\n\n
     ```
     </CodeGroup>
     銈广儓銉兗銉熴兂銈般儊銉c兂銈伄妲嬮�犮伅`event`銇繙銇樸仸鐣般仾銈娿伨銇欙細
@@ -119,13 +116,6 @@
         - `predecessor_node_id` (string) 銈儣銈枫儳銉炽伄銉椼儸銉曘偅銉冦偗銈广儙銉笺儔ID銆併偔銉c兂銉愩偣琛ㄧず瀹熻銉戙偣銇娇鐢�
         - `inputs` (object) 銉庛兗銉夈仹浣跨敤銇曘倢銈嬨仚銇广仸銇墠銇儙銉笺儔澶夋暟銇唴瀹�
         - `created_at` (timestamp) 闁嬪銇偪銈ゃ儬銈广偪銉炽儣銆佷緥锛�1705395332
-    - `event: text_chunk` 銉嗐偔銈广儓銉曘儵銈般儭銉炽儓
-      - `task_id` (string) 銈裤偣銈疘D銆併儶銈偍銈广儓杩借贰銇ㄤ互涓嬨伄Stop Generate API銇娇鐢�
-      - `workflow_run_id` (string) 銉兗銈儠銉兗瀹熻銇竴鎰忋伄ID
-      - `event` (string) `text_chunk`銇浐瀹�
-      - `data` (object) 瑭崇窗
-        - `text` (string) 銉嗐偔銈广儓鍐呭
-        - `from_variable_selector` (array) 銉嗐偔銈广儓鐢熸垚鍏冦儜銈癸紙闁嬬櫤鑰呫亴銇┿伄銉庛兗銉夈伄銇┿伄澶夋暟銇嬨倝鐢熸垚銇曘倢銇熴亱銈掔悊瑙c仚銈嬨仧銈併伄鎯呭牨锛�
     - `event: node_finished` 銉庛兗銉夊疅琛岀祩浜嗐�佸悓銇樸偆銉欍兂銉堛仹鐣般仾銈嬬姸鎱嬨仹鎴愬姛銇俱仧銇け鏁�
       - `task_id` (string) 銈裤偣銈疘D銆併儶銈偍銈广儓杩借贰銇ㄤ互涓嬨伄Stop Generate API銇娇鐢�
       - `workflow_run_id` (string) 銉兗銈儠銉兗瀹熻銇竴鎰忋伄ID
@@ -204,14 +194,11 @@
       ```json {{ title: '銉曘偂銈ゃ儷澶夋暟銇緥' }}
       {
         "inputs": {
-          "{variable_name}": 
-          [
-            {
+          "{variable_name}": {
             "transfer_method": "local_file",
             "upload_file_id": "{upload_file_id}",
             "type": "{document_type}"
-            }
-          ]
+          }
         }
       }
       ```
@@ -292,11 +279,11 @@
 
           data = {
               "inputs": {
-                  "orig_mail": [{
+                  "orig_mail": {
                       "transfer_method": "local_file",
                       "upload_file_id": file_id,
                       "type": "document"
-                  }]
+                  }
               },
               "response_mode": response_mode,
               "user": user
@@ -380,8 +367,8 @@
         "error": null,
         "total_steps": 3,
         "total_tokens": 0,
-        "created_at": 1705407629,
-        "finished_at": 1727807631,
+        "created_at": "Thu, 18 Jul 2024 03:17:40 -0000",
+        "finished_at": "Thu, 18 Jul 2024 03:18:10 -0000",
         "elapsed_time": 30.098514399956912
     }
     ```
@@ -740,57 +727,3 @@
     </CodeGroup>
   </Col>
 </Row>
-鈥斺�斺��
-
-<Heading
-  url='/site'
-  method='GET'
-  title='銈€儣銉伄WebApp瑷畾銈掑彇寰�'
-  name='#site'
-/>
-<Row>
-  <Col>
-  銈€儣銉伄WebApp瑷畾銈掑彇寰椼仚銈嬨仧銈併伀浣跨敤銇椼伨銇欍��
-  ### 蹇滅瓟
-  - `title` (string) WebApp鍚�
-  - `icon_type` (string) 銈€偆銈炽兂銈裤偆銉椼�乣emoji`-绲垫枃瀛椼�乣image`-鐢诲儚
-  - `icon` (string) 銈€偆銈炽兂銆俙emoji`銈裤偆銉椼伄鍫村悎銇档鏂囧瓧銆乣image`銈裤偆銉椼伄鍫村悎銇敾鍍廢RL
-  - `icon_background` (string) 16閫叉暟褰㈠紡銇儗鏅壊
-  - `icon_url` (string) 銈€偆銈炽兂銇甎RL
-  - `description` (string) 瑾槑
-  - `copyright` (string) 钁椾綔妯╂儏鍫�
-  - `privacy_policy` (string) 銉椼儵銈ゃ儛銈枫兗銉濄儶銈枫兗銇儶銉炽偗
-  - `custom_disclaimer` (string) 銈偣銈裤儬鍏嶈铂浜嬮爡
-  - `default_language` (string) 銉囥儠銈┿儷銉堣█瑾�
-  - `show_workflow_steps` (bool) 銉兗銈儠銉兗銇┏绱般倰琛ㄧず銇欍倠銇嬨仼銇嗐亱
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
-
diff --git a/app/components/develop/template/template_workflow.zh.mdx b/app/components/develop/template/template_workflow.zh.mdx
index e78b309..40dfb86 100644
--- a/app/components/develop/template/template_workflow.zh.mdx
+++ b/app/components/develop/template/template_workflow.zh.mdx
@@ -41,17 +41,8 @@
     ### Request Body
       - `inputs` (object) Required
         鍏佽浼犲叆 App 瀹氫箟鐨勫悇鍙橀噺鍊笺��
-        inputs 鍙傛暟鍖呭惈浜嗗缁勯敭鍊煎锛圞ey/Value pairs锛夛紝姣忕粍鐨勯敭瀵瑰簲涓�涓壒瀹氬彉閲忥紝姣忕粍鐨勫�煎垯鏄鍙橀噺鐨勫叿浣撳�笺�傚彉閲忓彲浠ユ槸鏂囦欢鍒楄〃绫诲瀷銆�
-        鏂囦欢鍒楄〃绫诲瀷鍙橀噺閫傜敤浜庝紶鍏ユ枃浠剁粨鍚堟枃鏈悊瑙e苟鍥炵瓟闂锛屼粎褰撴ā鍨嬫敮鎸佽绫诲瀷鏂囦欢瑙f瀽鑳藉姏鏃跺彲鐢ㄣ�傚鏋滆鍙橀噺鏄枃浠跺垪琛ㄧ被鍨嬶紝璇ュ彉閲忓搴旂殑鍊煎簲鏄垪琛ㄦ牸寮忥紝鍏朵腑姣忎釜鍏冪礌搴斿寘鍚互涓嬪唴瀹癸細
-          - `type` (string) 鏀寔绫诲瀷锛�
-            - `document` 鍏蜂綋绫诲瀷鍖呭惈锛�'TXT', 'MD', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB'
-            - `image` 鍏蜂綋绫诲瀷鍖呭惈锛�'JPG', 'JPEG', 'PNG', 'GIF', 'WEBP', 'SVG'
-            - `audio` 鍏蜂綋绫诲瀷鍖呭惈锛�'MP3', 'M4A', 'WAV', 'WEBM', 'AMR'
-            - `video` 鍏蜂綋绫诲瀷鍖呭惈锛�'MP4', 'MOV', 'MPEG', 'MPGA'
-            - `custom` 鍏蜂綋绫诲瀷鍖呭惈锛氬叾浠栨枃浠剁被鍨�
-          - `transfer_method` (string) 浼犻�掓柟寮忥紝`remote_url` 鍥剧墖鍦板潃 / `local_file` 涓婁紶鏂囦欢
-          - `url` (string) 鍥剧墖鍦板潃锛堜粎褰撲紶閫掓柟寮忎负 `remote_url` 鏃讹級
-          - `upload_file_id` (string)  涓婁紶鏂囦欢 ID锛堜粎褰撲紶閫掓柟寮忎负 `local_file` 鏃讹級
+        inputs 鍙傛暟鍖呭惈浜嗗缁勯敭鍊煎锛圞ey/Value pairs锛夛紝姣忕粍鐨勯敭瀵瑰簲涓�涓壒瀹氬彉閲忥紝姣忕粍鐨勫�煎垯鏄鍙橀噺鐨勫叿浣撳�笺��
+        濡傛灉鍙橀噺鏄枃浠剁被鍨嬶紝璇锋寚瀹氫竴涓寘鍚互涓� `files` 涓墍杩伴敭鐨勫璞°��
       - `response_mode` (string) Required
         杩斿洖鍝嶅簲妯″紡锛屾敮鎸侊細
         - `streaming` 娴佸紡妯″紡锛堟帹鑽愶級銆傚熀浜� SSE锛�**[Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)**锛夊疄鐜扮被浼兼墦瀛楁満杈撳嚭鏂瑰紡鐨勬祦寮忚繑鍥炪��
@@ -60,7 +51,17 @@
       - `user` (string) Required
         鐢ㄦ埛鏍囪瘑锛岀敤浜庡畾涔夌粓绔敤鎴风殑韬唤锛屾柟渚挎绱€�佺粺璁°��
         鐢卞紑鍙戣�呭畾涔夎鍒欙紝闇�淇濊瘉鐢ㄦ埛鏍囪瘑鍦ㄥ簲鐢ㄥ唴鍞竴銆�
-
+      - `files` (array[object]) Optional
+          鏂囦欢鍒楄〃锛岄�傜敤浜庝紶鍏ユ枃浠剁粨鍚堟枃鏈悊瑙e苟鍥炵瓟闂锛屼粎褰撴ā鍨嬫敮鎸佽绫诲瀷鏂囦欢瑙f瀽鑳藉姏鏃跺彲鐢ㄣ��
+          - `type` (string) 鏀寔绫诲瀷锛�
+            - `document` 鍏蜂綋绫诲瀷鍖呭惈锛�'TXT', 'MD', 'MARKDOWN', 'PDF', 'HTML', 'XLSX', 'XLS', 'DOCX', 'CSV', 'EML', 'MSG', 'PPTX', 'PPT', 'XML', 'EPUB'
+            - `image` 鍏蜂綋绫诲瀷鍖呭惈锛�'JPG', 'JPEG', 'PNG', 'GIF', 'WEBP', 'SVG'
+            - `audio` 鍏蜂綋绫诲瀷鍖呭惈锛�'MP3', 'M4A', 'WAV', 'WEBM', 'AMR'
+            - `video` 鍏蜂綋绫诲瀷鍖呭惈锛�'MP4', 'MOV', 'MPEG', 'MPGA'
+            - `custom` 鍏蜂綋绫诲瀷鍖呭惈锛氬叾浠栨枃浠剁被鍨�
+          - `transfer_method` (string) 浼犻�掓柟寮忥紝`remote_url` 鍥剧墖鍦板潃 / `local_file` 涓婁紶鏂囦欢
+          - `url` (string) 鍥剧墖鍦板潃锛堜粎褰撲紶閫掓柟寮忎负 `remote_url` 鏃讹級
+          - `upload_file_id` (string) (string) 涓婁紶鏂囦欢 ID锛堜粎褰撲紶閫掓柟寮忎负 `local_file` 鏃讹級
 
     ### Response
     褰� `response_mode` 涓� `blocking` 鏃讹紝杩斿洖 CompletionResponse object銆�
@@ -87,7 +88,7 @@
     姣忎釜娴佸紡鍧楀潎涓� data: 寮�澶达紝鍧椾箣闂翠互 `\n\n` 鍗充袱涓崲琛岀鍒嗛殧锛屽涓嬫墍绀猴細
     <CodeGroup>
     ```streaming {{ title: 'Response' }}
-    data: {"event": "text_chunk", "workflow_run_id": "b85e5fc5-751b-454d-b14e-dc5f240b0a31", "task_id": "bd029338-b068-4d34-a331-fc85478922c2", "data": {"text": "\u4e3a\u4e86", "from_variable_selector": ["1745912968134", "text"]}}\n\n
+    data: {"event": "message", "task_id": "900bbd43-dc0b-4383-a372-aa6e6c414227", "id": "663c5084-a254-4040-8ad3-51f2a3c1a77c", "answer": "Hi", "created_at": 1705398420}\n\n
     ```
     </CodeGroup>
     娴佸紡鍧椾腑鏍规嵁 `event` 涓嶅悓锛岀粨鏋勪篃涓嶅悓锛屽寘鍚互涓嬬被鍨嬶細
@@ -113,13 +114,6 @@
         - `predecessor_node_id` (string) 鍓嶇疆鑺傜偣 ID锛岀敤浜庣敾甯冨睍绀烘墽琛岃矾寰�
         - `inputs` (object) 鑺傜偣涓墍鏈変娇鐢ㄥ埌鐨勫墠缃妭鐐瑰彉閲忓唴瀹�
         - `created_at` (timestamp) 寮�濮嬫椂闂�
-    - `event: text_chunk` 鏂囨湰鐗囨
-      - `task_id` (string) 浠诲姟 ID锛岀敤浜庤姹傝窡韪拰涓嬫柟鐨勫仠姝㈠搷搴旀帴鍙�
-      - `workflow_run_id` (string) workflow 鎵ц ID
-      - `event` (string) 鍥哄畾涓� `text_chunk`
-      - `data` (object) 璇︾粏鍐呭
-        - `text` (string) 鏂囨湰鍐呭
-        - `from_variable_selector` (array) 鏂囨湰鏉ユ簮璺緞锛屽府鍔╁紑鍙戣�呬簡瑙f枃鏈槸鐢卞摢涓妭鐐圭殑鍝釜鍙橀噺鐢熸垚鐨�
     - `event: node_finished` node 鎵ц缁撴潫锛屾垚鍔熷け璐ュ悓涓�浜嬩欢涓笉鍚岀姸鎬�
       - `task_id` (string) 浠诲姟 ID锛岀敤浜庤姹傝窡韪拰涓嬫柟鐨勫仠姝㈠搷搴旀帴鍙�
       - `workflow_run_id` (string) workflow 鎵ц ID
@@ -190,18 +184,15 @@
     }'
     ```
     </CodeGroup>
-    <CodeGroup title="Example: file array as an input variable">
+    <CodeGroup title="File variable example">
       ```json {{ title: 'File variable example' }}
       {
         "inputs": {
-          "{variable_name}": 
-          [
-            {
+          "{variable_name}": {
             "transfer_method": "local_file",
             "upload_file_id": "{upload_file_id}",
             "type": "{document_type}"
-            }
-          ]
+          }
         }
       }
       ```
@@ -282,11 +273,11 @@
 
           data = {
               "inputs": {
-                  "orig_mail": [{
+                  "orig_mail": {
                       "transfer_method": "local_file",
                       "upload_file_id": file_id,
                       "type": "document"
-                  }]
+                  }
               },
               "response_mode": response_mode,
               "user": user
@@ -325,7 +316,7 @@
 ---
 
 <Heading
-  url='/workflows/run/:workflow_run_id'
+  url='/workflows/run/:workflow_id'
   method='GET'
   title='鑾峰彇workflow鎵ц鎯呭喌'
   name='#get-workflow-run-detail'
@@ -334,7 +325,7 @@
   <Col>
     鏍规嵁 workflow 鎵ц ID 鑾峰彇 workflow 浠诲姟褰撳墠鎵ц缁撴灉
     ### Path
-    - `workflow_run_id` (string) workflow_run_id锛屽彲鍦ㄦ祦寮忚繑鍥� Chunk 涓幏鍙�
+    - `workflow_id` (string) workflow 鎵ц ID锛屽彲鍦ㄦ祦寮忚繑鍥� Chunk 涓幏鍙�
     ### Response
     - `id` (string) workflow 鎵ц ID
     - `workflow_id` (string) 鍏宠仈鐨� Workflow ID
@@ -350,9 +341,9 @@
   </Col>
   <Col sticky>
     ### Request Example
-    <CodeGroup title="Request" tag="GET" label="/workflows/run/:workflow_run_id" targetCode={`curl -X GET '${props.appDetail.api_base_url}/workflows/run/:workflow_run_id' \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'Content-Type: application/json'`}>
+    <CodeGroup title="Request" tag="GET" label="/workflows/run/:workflow_id" targetCode={`curl -X GET '${props.appDetail.api_base_url}/workflows/run/:workflow_id' \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'Content-Type: application/json'`}>
       ```bash {{ title: 'cURL' }}
-      curl -X GET '${props.appDetail.api_base_url}/workflows/run/:workflow_run_id' \
+      curl -X GET '${props.appDetail.api_base_url}/workflows/run/:workflow_id' \
       -H 'Authorization: Bearer {api_key}' \
       -H 'Content-Type: application/json'
       ```
@@ -370,8 +361,8 @@
         "error": null,
         "total_steps": 3,
         "total_tokens": 0,
-        "created_at": 1705407629,
-        "finished_at": 1727807631,
+        "created_at": "Thu, 18 Jul 2024 03:17:40 -0000",
+        "finished_at": "Thu, 18 Jul 2024 03:18:10 -0000",
         "elapsed_time": 30.098514399956912
     }
     ```
@@ -727,57 +718,3 @@
     </CodeGroup>
   </Col>
 </Row>
-
----
-
-<Heading
-  url='/site'
-  method='GET'
-  title='鑾峰彇搴旂敤 WebApp 璁剧疆'
-  name='#site'
-/>
-<Row>
-  <Col>
-  鐢ㄤ簬鑾峰彇搴旂敤鐨� WebApp 璁剧疆
-  ### Response
-  - `title` (string) WebApp 鍚嶇О
-  - `icon_type` (string) 鍥炬爣绫诲瀷, `emoji`-琛ㄦ儏, `image`-鍥剧墖
-  - `icon` (string) 鍥炬爣, 濡傛灉鏄� `emoji` 绫诲瀷, 鍒欐槸 emoji 琛ㄦ儏绗﹀彿, 濡傛灉鏄� `image` 绫诲瀷, 鍒欐槸鍥剧墖 URL
-  - `icon_background` (string) hex 鏍煎紡鐨勮儗鏅壊
-  - `icon_url` (string) 鍥炬爣 URL
-  - `description` (string) 鎻忚堪
-  - `copyright` (string) 鐗堟潈淇℃伅
-  - `privacy_policy` (string) 闅愮鏀跨瓥閾炬帴
-  - `custom_disclaimer` (string) 鑷畾涔夊厤璐e0鏄�
-  - `default_language` (string) 榛樿璇█
-  - `show_workflow_steps` (bool) 鏄惁鏄剧ず宸ヤ綔娴佽鎯�
-  </Col>
-  <Col>
-  <CodeGroup title="Request" tag="POST" label="/meta" targetCode={`curl -X GET '${props.appDetail.api_base_url}/site' \\\n-H 'Authorization: Bearer {api_key}'`}>
-    ```bash {{ title: 'cURL' }}
-    curl -X GET '${props.appDetail.api_base_url}/site' \
-    -H 'Authorization: Bearer {api_key}'
-    ```
-
-    </CodeGroup>
-
-    <CodeGroup title="Response">
-    ```json {{ title: 'Response' }}
-    {
-      "title": "My App",
-      "icon_type": "emoji",
-      "icon": "馃槃",
-      "icon_background": "#FFEAD5",
-      "icon_url": null,
-      "description": "This is my app.",
-      "copyright": "all rights reserved",
-      "privacy_policy": "",
-      "custom_disclaimer": "All generated by AI",
-      "default_language": "en-US",
-      "show_workflow_steps": false,
-    }
-    ```
-    </CodeGroup>
-  </Col>
-</Row>
-___
diff --git a/app/components/explore/app-card/index.tsx b/app/components/explore/app-card/index.tsx
index 31d218a..3603419 100644
--- a/app/components/explore/app-card/index.tsx
+++ b/app/components/explore/app-card/index.tsx
@@ -5,7 +5,8 @@
 import cn from '@/utils/classnames'
 import type { App } from '@/models/explore'
 import AppIcon from '@/app/components/base/app-icon'
-import { AppTypeIcon } from '../../app/type-selector'
+import { AiText, ChatBot, CuteRobot } from '@/app/components/base/icons/src/vender/solid/communication'
+import { Route } from '@/app/components/base/icons/src/vender/solid/mapsAndTravel'
 export type AppCardProps = {
   app: App
   canCreate: boolean
@@ -22,8 +23,8 @@
   const { t } = useTranslation()
   const { app: appBasicInfo } = app
   return (
-    <div className={cn('group relative col-span-1 flex cursor-pointer flex-col overflow-hidden rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-on-panel-item-bg pb-2 shadow-sm transition-all duration-200 ease-in-out hover:shadow-lg')}>
-      <div className='flex h-[66px] shrink-0 grow-0 items-center gap-3 px-[14px] pb-3 pt-[14px]'>
+    <div className={cn('relative overflow-hidden pb-2 group col-span-1 bg-white border-2 border-solid border-transparent rounded-lg shadow-sm flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg')}>
+      <div className='flex pt-[14px] px-[14px] pb-3 h-[66px] items-center gap-3 grow-0 shrink-0'>
         <div className='relative shrink-0'>
           <AppIcon
             size='large'
@@ -32,14 +33,29 @@
             background={appBasicInfo.icon_background}
             imageUrl={appBasicInfo.icon_url}
           />
-          <AppTypeIcon wrapperClassName='absolute -bottom-0.5 -right-0.5 w-4 h-4 rounded-[4px] border border-divider-regular outline outline-components-panel-on-panel-item-bg'
-            className='h-3 w-3' type={appBasicInfo.mode} />
+          <span className='absolute bottom-[-3px] right-[-3px] w-4 h-4 p-0.5 bg-white rounded border-[0.5px] border-[rgba(0,0,0,0.02)] shadow-sm'>
+            {appBasicInfo.mode === 'advanced-chat' && (
+              <ChatBot className='w-3 h-3 text-[#1570EF]' />
+            )}
+            {appBasicInfo.mode === 'agent-chat' && (
+              <CuteRobot className='w-3 h-3 text-indigo-600' />
+            )}
+            {appBasicInfo.mode === 'chat' && (
+              <ChatBot className='w-3 h-3 text-[#1570EF]' />
+            )}
+            {appBasicInfo.mode === 'completion' && (
+              <AiText className='w-3 h-3 text-[#0E9384]' />
+            )}
+            {appBasicInfo.mode === 'workflow' && (
+              <Route className='w-3 h-3 text-[#f79009]' />
+            )}
+          </span>
         </div>
-        <div className='w-0 grow py-[1px]'>
-          <div className='flex items-center text-sm font-semibold leading-5 text-text-secondary'>
+        <div className='grow w-0 py-[1px]'>
+          <div className='flex items-center text-sm leading-5 font-semibold text-text-secondary'>
             <div className='truncate' title={appBasicInfo.name}>{appBasicInfo.name}</div>
           </div>
-          <div className='flex items-center text-[10px] font-medium leading-[18px] text-text-tertiary'>
+          <div className='flex items-center text-[10px] leading-[18px] text-text-tertiary font-medium'>
             {appBasicInfo.mode === 'advanced-chat' && <div className='truncate'>{t('app.types.advanced').toUpperCase()}</div>}
             {appBasicInfo.mode === 'chat' && <div className='truncate'>{t('app.types.chatbot').toUpperCase()}</div>}
             {appBasicInfo.mode === 'agent-chat' && <div className='truncate'>{t('app.types.agent').toUpperCase()}</div>}
@@ -48,21 +64,31 @@
           </div>
         </div>
       </div>
-      <div className="description-wrapper system-xs-regular h-[90px] px-[14px] text-text-tertiary">
+      <div className="description-wrapper h-[90px] px-[14px] text-xs leading-normal text-text-tertiary ">
         <div className='line-clamp-4 group-hover:line-clamp-2'>
           {app.description}
         </div>
       </div>
       {isExplore && canCreate && (
-        <div className={cn('absolute bottom-0 left-0 right-0 hidden bg-gradient-to-t from-components-panel-gradient-2 from-[60.27%] to-transparent p-4 pt-8 group-hover:flex')}>
-          <div className={cn('flex h-8 w-full items-center space-x-2')}>
-            <Button variant='primary' className='h-7 grow' onClick={() => onCreate()}>
-              <PlusIcon className='mr-1 h-4 w-4' />
+        <div className={cn('hidden items-center flex-wrap min-h-[42px] px-[14px] pt-2 pb-[10px] bg-white group-hover:flex absolute bottom-0 left-0 right-0')}>
+          <div className={cn('flex items-center w-full space-x-2')}>
+            <Button variant='primary' className='grow h-7' onClick={() => onCreate()}>
+              <PlusIcon className='w-4 h-4 mr-1' />
               <span className='text-xs'>{t('explore.appCard.addToWorkspace')}</span>
             </Button>
           </div>
         </div>
       )}
+      {!isExplore && (
+        <div className={cn('hidden items-center flex-wrap min-h-[42px] px-[14px] pt-2 pb-[10px] bg-white group-hover:flex absolute bottom-0 left-0 right-0')}>
+          <div className={cn('flex items-center w-full space-x-2')}>
+            <Button variant='primary' className='grow h-7' onClick={() => onCreate()}>
+              <PlusIcon className='w-4 h-4 mr-1' />
+              <span className='text-xs'>{t('app.newApp.useTemplate')}</span>
+            </Button>
+          </div>
+        </div>
+      )}
     </div>
   )
 }
diff --git a/app/components/explore/app-list/index.tsx b/app/components/explore/app-list/index.tsx
index 7e2d990..b8e7939 100644
--- a/app/components/explore/app-list/index.tsx
+++ b/app/components/explore/app-list/index.tsx
@@ -1,10 +1,12 @@
 'use client'
 
-import React, { useCallback, useMemo, useState } from 'react'
+import React, { useMemo, useState } from 'react'
+import { useRouter } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
 import useSWR from 'swr'
 import { useDebounceFn } from 'ahooks'
+import Toast from '../../base/toast'
 import s from './style.module.css'
 import cn from '@/utils/classnames'
 import ExploreContext from '@/context/explore-context'
@@ -12,18 +14,20 @@
 import Category from '@/app/components/explore/category'
 import AppCard from '@/app/components/explore/app-card'
 import { fetchAppDetail, fetchAppList } from '@/service/explore'
+import { importDSL } from '@/service/apps'
 import { useTabSearchParams } from '@/hooks/use-tab-searchparams'
 import CreateAppModal from '@/app/components/explore/create-app-modal'
+import AppTypeSelector from '@/app/components/app/type-selector'
 import type { CreateAppModalProps } from '@/app/components/explore/create-app-modal'
 import Loading from '@/app/components/base/loading'
+import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
+import { useAppContext } from '@/context/app-context'
+import { getRedirection } from '@/utils/app-redirection'
 import Input from '@/app/components/base/input'
-import {
-  DSLImportMode,
-} from '@/models/app'
-import { useImportDSL } from '@/hooks/use-import-dsl'
-import DSLConfirmModal from '@/app/components/app/create-from-dsl-modal/dsl-confirm-modal'
+import { DSLImportMode } from '@/models/app'
 
 type AppsProps = {
+  pageType?: PageType
   onSuccess?: () => void
 }
 
@@ -33,9 +37,12 @@
 }
 
 const Apps = ({
+  pageType = PageType.EXPLORE,
   onSuccess,
 }: AppsProps) => {
   const { t } = useTranslation()
+  const { isCurrentWorkspaceEditor } = useAppContext()
+  const { push } = useRouter()
   const { hasEditPermission } = useContext(ExploreContext)
   const allCategoriesEn = t('explore.apps.allCategories', { lng: 'en' })
 
@@ -54,7 +61,7 @@
   const [currentType, setCurrentType] = useState<string>('')
   const [currCategory, setCurrCategory] = useTabSearchParams({
     defaultTab: allCategoriesEn,
-    disableSearchParams: false,
+    disableSearchParams: pageType !== PageType.EXPLORE,
   })
 
   const {
@@ -110,14 +117,6 @@
 
   const [currApp, setCurrApp] = React.useState<App | null>(null)
   const [isShowCreateModal, setIsShowCreateModal] = React.useState(false)
-
-  const {
-    handleImportDSL,
-    handleImportDSLConfirm,
-    versions,
-    isFetching,
-  } = useImportDSL()
-  const [showDSLConfirmModal, setShowDSLConfirmModal] = useState(false)
   const onCreate: CreateAppModalProps['onConfirm'] = async ({
     name,
     icon_type,
@@ -128,30 +127,30 @@
     const { export_data } = await fetchAppDetail(
       currApp?.app.id as string,
     )
-    const payload = {
-      mode: DSLImportMode.YAML_CONTENT,
-      yaml_content: export_data,
-      name,
-      icon_type,
-      icon,
-      icon_background,
-      description,
+    try {
+      const app = await importDSL({
+        mode: DSLImportMode.YAML_CONTENT,
+        yaml_content: export_data,
+        name,
+        icon_type,
+        icon,
+        icon_background,
+        description,
+      })
+      setIsShowCreateModal(false)
+      Toast.notify({
+        type: 'success',
+        message: t('app.newApp.appCreated'),
+      })
+      if (onSuccess)
+        onSuccess()
+      localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
+      getRedirection(isCurrentWorkspaceEditor, { id: app.app_id }, push)
     }
-    await handleImportDSL(payload, {
-      onSuccess: () => {
-        setIsShowCreateModal(false)
-      },
-      onPending: () => {
-        setShowDSLConfirmModal(true)
-      },
-    })
+    catch (e) {
+      Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })
+    }
   }
-
-  const onConfirmDSL = useCallback(async () => {
-    await handleImportDSLConfirm({
-      onSuccess,
-    })
-  }, [handleImportDSLConfirm, onSuccess])
 
   if (!categories || categories.length === 0) {
     return (
@@ -163,18 +162,26 @@
 
   return (
     <div className={cn(
-      'flex h-full flex-col border-l-[0.5px] border-divider-regular',
+      'flex flex-col',
+      pageType === PageType.EXPLORE ? 'h-full border-l border-gray-200' : 'h-[calc(100%-56px)]',
     )}>
-
-      <div className='shrink-0 px-12 pt-6'>
-        <div className={`mb-1 ${s.textGradient} text-xl font-semibold`}>{t('explore.apps.title')}</div>
-        <div className='text-sm text-text-tertiary'>{t('explore.apps.description')}</div>
-      </div>
-
+      {pageType === PageType.EXPLORE && (
+        <div className='shrink-0 pt-6 px-12'>
+          <div className={`mb-1 ${s.textGradient} text-xl font-semibold`}>{t('explore.apps.title')}</div>
+          <div className='text-gray-500 text-sm'>{t('explore.apps.description')}</div>
+        </div>
+      )}
       <div className={cn(
-        'mt-6 flex items-center justify-between px-12',
+        'flex items-center justify-between mt-6',
+        pageType === PageType.EXPLORE ? 'px-12' : 'px-8',
       )}>
         <>
+          {pageType !== PageType.EXPLORE && (
+            <>
+              <AppTypeSelector value={currentType} onChange={setCurrentType}/>
+              <div className='mx-2 w-[1px] h-3.5 bg-gray-200'/>
+            </>
+          )}
           <Category
             list={categories}
             value={currCategory}
@@ -194,17 +201,19 @@
       </div>
 
       <div className={cn(
-        'relative mt-4 flex flex-1 shrink-0 grow flex-col overflow-auto pb-6',
+        'relative flex flex-1 pb-6 flex-col overflow-auto bg-gray-100 shrink-0 grow',
+        pageType === PageType.EXPLORE ? 'mt-4' : 'mt-0 pt-2',
       )}>
         <nav
           className={cn(
             s.appList,
-            'grid shrink-0 content-start gap-4 px-6 sm:px-12',
+            'grid content-start shrink-0',
+            pageType === PageType.EXPLORE ? 'gap-4 px-6 sm:px-12' : 'gap-3 px-8  sm:!grid-cols-2 md:!grid-cols-3 lg:!grid-cols-4',
           )}>
           {searchFilteredList.map(app => (
             <AppCard
               key={app.app_id}
-              isExplore
+              isExplore={pageType === PageType.EXPLORE}
               app={app}
               canCreate={hasEditPermission}
               onCreate={() => {
@@ -225,20 +234,9 @@
           appDescription={currApp?.app.description || ''}
           show={isShowCreateModal}
           onConfirm={onCreate}
-          confirmDisabled={isFetching}
           onHide={() => setIsShowCreateModal(false)}
         />
       )}
-      {
-        showDSLConfirmModal && (
-          <DSLConfirmModal
-            versions={versions}
-            onCancel={() => setShowDSLConfirmModal(false)}
-            onConfirm={onConfirmDSL}
-            confirmDisabled={isFetching}
-          />
-        )
-      }
     </div>
   )
 }
diff --git a/app/components/explore/app-list/style.module.css b/app/components/explore/app-list/style.module.css
index 241130a..fb6b1ee 100644
--- a/app/components/explore/app-list/style.module.css
+++ b/app/components/explore/app-list/style.module.css
@@ -26,4 +26,4 @@
   .appList {
     grid-template-columns: repeat(2, minmax(0, 1fr))
   }
-}
+}
\ No newline at end of file
diff --git a/app/components/explore/category.tsx b/app/components/explore/category.tsx
index 51daaa9..8f67f0f 100644
--- a/app/components/explore/category.tsx
+++ b/app/components/explore/category.tsx
@@ -31,17 +31,17 @@
   const isAllCategories = !list.includes(value as AppCategory) || value === allCategoriesEn
 
   const itemClassName = (isSelected: boolean) => cn(
-    'flex h-[32px] cursor-pointer items-center rounded-lg border-[0.5px] border-transparent px-3 py-[7px] font-medium leading-[18px] text-text-tertiary hover:bg-components-main-nav-nav-button-bg-active',
-    isSelected && 'border-components-main-nav-nav-button-border bg-components-main-nav-nav-button-bg-active text-components-main-nav-nav-button-text-active shadow-xs',
+    'flex items-center px-3 py-[7px] h-[32px] rounded-lg border-[0.5px] border-transparent text-gray-700 font-medium leading-[18px] cursor-pointer hover:bg-gray-200',
+    isSelected && 'bg-white border-gray-200 shadow-xs text-primary-600 hover:bg-white',
   )
 
   return (
-    <div className={cn(className, 'flex flex-wrap space-x-1 text-[13px]')}>
+    <div className={cn(className, 'flex space-x-1 text-[13px] flex-wrap')}>
       <div
         className={itemClassName(isAllCategories)}
         onClick={() => onChange(allCategoriesEn)}
       >
-        <ThumbsUp className='mr-1 h-3.5 w-3.5' />
+        <ThumbsUp className='mr-1 w-3.5 h-3.5' />
         {t('explore.apps.allCategories')}
       </div>
       {list.filter(name => name !== allCategoriesEn).map(name => (
@@ -50,7 +50,7 @@
           className={itemClassName(name === value)}
           onClick={() => onChange(name)}
         >
-          {(categoryI18n as any)[name] ? t(`explore.category.${name}`) : name}
+          {categoryI18n[name] ? t(`explore.category.${name}`) : name}
         </div>
       ))}
     </div>
diff --git a/app/components/explore/create-app-modal/index.tsx b/app/components/explore/create-app-modal/index.tsx
index f30b286..45baf77 100644
--- a/app/components/explore/create-app-modal/index.tsx
+++ b/app/components/explore/create-app-modal/index.tsx
@@ -1,8 +1,7 @@
 'use client'
-import React, { useCallback, useState } from 'react'
+import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiCloseLine, RiCommandLine, RiCornerDownLeftLine } from '@remixicon/react'
-import { useDebounceFn, useKeyPress } from 'ahooks'
+import { RiCloseLine } from '@remixicon/react'
 import AppIconPicker from '../../base/app-icon-picker'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
@@ -14,7 +13,6 @@
 import { useProviderContext } from '@/context/provider-context'
 import AppsFull from '@/app/components/billing/apps-full-in-dialog'
 import type { AppIconType } from '@/types/app'
-import { noop } from 'lodash-es'
 
 export type CreateAppModalProps = {
   show: boolean
@@ -35,7 +33,6 @@
     description: string
     use_icon_as_answer_icon?: boolean
   }) => Promise<void>
-  confirmDisabled?: boolean
   onHide: () => void
 }
 
@@ -51,7 +48,6 @@
   appMode,
   appUseIconAsAnswerIcon,
   onConfirm,
-  confirmDisabled,
   onHide,
 }: CreateAppModalProps) => {
   const { t } = useTranslation()
@@ -69,7 +65,7 @@
   const { plan, enableBilling } = useProviderContext()
   const isAppsFull = (enableBilling && plan.usage.buildApps >= plan.total.buildApps)
 
-  const submit = useCallback(() => {
+  const submit = () => {
     if (!name.trim()) {
       Toast.notify({ type: 'error', message: t('explore.appCustomize.nameRequired') })
       return
@@ -83,40 +79,28 @@
       use_icon_as_answer_icon: useIconAsAnswerIcon,
     })
     onHide()
-  }, [name, appIcon, description, useIconAsAnswerIcon, onConfirm, onHide, t])
-
-  const { run: handleSubmit } = useDebounceFn(submit, { wait: 300 })
-
-  useKeyPress(['meta.enter', 'ctrl.enter'], () => {
-    if (show && !(!isEditModal && isAppsFull) && name.trim())
-      handleSubmit()
-  })
-
-  useKeyPress('esc', () => {
-    if (show)
-      onHide()
-  })
+  }
 
   return (
     <>
       <Modal
         isShow={show}
-        onClose={noop}
+        onClose={() => {}}
         className='relative !max-w-[480px] px-8'
       >
-        <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onHide}>
-          <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+        <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onHide}>
+          <RiCloseLine className='w-4 h-4 text-gray-500' />
         </div>
         {isEditModal && (
-          <div className='mb-9 text-xl font-semibold leading-[30px] text-text-primary'>{t('app.editAppTitle')}</div>
+          <div className='mb-9 font-semibold text-xl leading-[30px] text-gray-900'>{t('app.editAppTitle')}</div>
         )}
         {!isEditModal && (
-          <div className='mb-9 text-xl font-semibold leading-[30px] text-text-primary'>{t('explore.appCustomize.title', { name: appName })}</div>
+          <div className='mb-9 font-semibold text-xl leading-[30px] text-gray-900'>{t('explore.appCustomize.title', { name: appName })}</div>
         )}
         <div className='mb-9'>
           {/* icon & name */}
           <div className='pt-2'>
-            <div className='py-2 text-sm font-medium leading-[20px] text-text-primary'>{t('app.newApp.captionName')}</div>
+            <div className='py-2 text-sm font-medium leading-[20px] text-gray-900'>{t('app.newApp.captionName')}</div>
             <div className='flex items-center justify-between space-x-2'>
               <AppIcon
                 size='large'
@@ -131,13 +115,13 @@
                 value={name}
                 onChange={e => setName(e.target.value)}
                 placeholder={t('app.newApp.appNamePlaceholder') || ''}
-                className='h-10 grow'
+                className='grow h-10'
               />
             </div>
           </div>
           {/* description */}
           <div className='pt-2'>
-            <div className='py-2 text-sm font-medium leading-[20px] text-text-primary'>{t('app.newApp.captionDescription')}</div>
+            <div className='py-2 text-sm font-medium leading-[20px] text-gray-900'>{t('app.newApp.captionDescription')}</div>
             <Textarea
               className='resize-none'
               placeholder={t('app.newApp.appDescriptionPlaceholder') || ''}
@@ -148,31 +132,20 @@
           {/* answer icon */}
           {isEditModal && (appMode === 'chat' || appMode === 'advanced-chat' || appMode === 'agent-chat') && (
             <div className='pt-2'>
-              <div className='flex items-center justify-between'>
-                <div className='py-2 text-sm font-medium leading-[20px] text-text-primary'>{t('app.answerIcon.title')}</div>
+              <div className='flex justify-between items-center'>
+                <div className='py-2 text-sm font-medium leading-[20px] text-gray-900'>{t('app.answerIcon.title')}</div>
                 <Switch
                   defaultValue={useIconAsAnswerIcon}
                   onChange={v => setUseIconAsAnswerIcon(v)}
                 />
               </div>
-              <p className='body-xs-regular text-text-tertiary'>{t('app.answerIcon.descriptionInExplore')}</p>
+              <p className='body-xs-regular text-gray-500'>{t('app.answerIcon.descriptionInExplore')}</p>
             </div>
           )}
-          {!isEditModal && isAppsFull && <AppsFull className='mt-4' loc='app-explore-create' />}
+          {!isEditModal && isAppsFull && <AppsFull loc='app-explore-create' />}
         </div>
         <div className='flex flex-row-reverse'>
-          <Button
-            disabled={(!isEditModal && isAppsFull) || !name.trim() || confirmDisabled}
-            className='ml-2 w-24 gap-1'
-            variant='primary'
-            onClick={handleSubmit}
-          >
-            <span>{!isEditModal ? t('common.operation.create') : t('common.operation.save')}</span>
-            <div className='flex gap-0.5'>
-              <RiCommandLine size={14} className='system-kbd rounded-sm bg-components-kbd-bg-white p-0.5' />
-              <RiCornerDownLeftLine size={14} className='system-kbd rounded-sm bg-components-kbd-bg-white p-0.5' />
-            </div>
-          </Button>
+          <Button disabled={!isEditModal && isAppsFull} className='w-24 ml-2' variant='primary' onClick={submit}>{!isEditModal ? t('common.operation.create') : t('common.operation.save')}</Button>
           <Button className='w-24' onClick={onHide}>{t('common.operation.cancel')}</Button>
         </div>
       </Modal>
diff --git a/app/components/explore/index.tsx b/app/components/explore/index.tsx
index 5175b46..cef6573 100644
--- a/app/components/explore/index.tsx
+++ b/app/components/explore/index.tsx
@@ -24,7 +24,7 @@
   const [installedApps, setInstalledApps] = useState<InstalledApp[]>([])
 
   useEffect(() => {
-    document.title = `${t('explore.title')} - Dify`;
+    document.title = `${t('explore.title')} -  Dify`;
     (async () => {
       const { accounts } = await fetchMembers({ url: '/workspaces/current/members', params: {} })
       if (!accounts)
@@ -40,7 +40,7 @@
   }, [isCurrentWorkspaceDatasetOperator])
 
   return (
-    <div className='flex h-full overflow-hidden border-t border-divider-regular bg-background-body'>
+    <div className='flex h-full bg-gray-100 border-t border-gray-200 overflow-hidden'>
       <ExploreContext.Provider
         value={
           {
@@ -53,7 +53,7 @@
         }
       >
         <Sidebar controlUpdateInstalledApps={controlUpdateInstalledApps} />
-        <div className='w-0 grow'>
+        <div className='grow w-0'>
           {children}
         </div>
       </ExploreContext.Provider>
diff --git a/app/components/explore/installed-app/index.tsx b/app/components/explore/installed-app/index.tsx
index 62f9452..2785fcc 100644
--- a/app/components/explore/installed-app/index.tsx
+++ b/app/components/explore/installed-app/index.tsx
@@ -28,7 +28,7 @@
   return (
     <div className='h-full py-2 pl-0 pr-2 sm:p-2'>
       {installedApp.app.mode !== 'completion' && installedApp.app.mode !== 'workflow' && (
-        <ChatWithHistory installedAppInfo={installedApp} className='overflow-hidden rounded-2xl shadow-md' />
+        <ChatWithHistory installedAppInfo={installedApp} className='rounded-2xl shadow-md overflow-hidden' />
       )}
       {installedApp.app.mode === 'completion' && (
         <TextGenerationApp isInstalledApp installedAppInfo={installedApp}/>
diff --git a/app/components/explore/item-operation/index.tsx b/app/components/explore/item-operation/index.tsx
index 6fd11fd..9e081c1 100644
--- a/app/components/explore/item-operation/index.tsx
+++ b/app/components/explore/item-operation/index.tsx
@@ -52,33 +52,33 @@
       <PortalToFollowElemTrigger
         onClick={() => setOpen(v => !v)}
       >
-        <div className={cn(className, s.btn, 'h-6 w-6 rounded-md border-none py-1', (isItemHovering || open) && `${s.open} !bg-components-actionbar-bg !shadow-none`)}></div>
+        <div className={cn(className, s.btn, 'h-6 w-6 rounded-md border-none py-1', (isItemHovering || open) && `${s.open} !bg-gray-100 !shadow-none`)}></div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent
         className="z-50"
       >
         <div
           ref={ref}
-          className={'min-w-[120px] rounded-lg border border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg backdrop-blur-[5px]'}
+          className={'min-w-[120px] p-1 bg-white rounded-lg border border--gray-200 shadow-lg'}
           onMouseEnter={setIsHovering}
           onMouseLeave={setNotHovering}
           onClick={(e) => {
             e.stopPropagation()
           }}
         >
-          <div className={cn(s.actionItem, 'group hover:bg-state-base-hover')} onClick={togglePin}>
-            <Pin02 className='h-4 w-4 shrink-0 text-text-secondary' />
+          <div className={cn(s.actionItem, 'hover:bg-gray-50 group')} onClick={togglePin}>
+            <Pin02 className='shrink-0 w-4 h-4 text-gray-500' />
             <span className={s.actionName}>{isPinned ? t('explore.sidebar.action.unpin') : t('explore.sidebar.action.pin')}</span>
           </div>
           {isShowRenameConversation && (
-            <div className={cn(s.actionItem, 'group hover:bg-state-base-hover')} onClick={onRenameConversation}>
-              <RiEditLine className='h-4 w-4 shrink-0 text-text-secondary' />
+            <div className={cn(s.actionItem, 'hover:bg-gray-50 group')} onClick={onRenameConversation}>
+              <RiEditLine className='shrink-0 w-4 h-4 text-gray-500' />
               <span className={s.actionName}>{t('explore.sidebar.action.rename')}</span>
             </div>
           )}
           {isShowDelete && (
-            <div className={cn(s.actionItem, s.deleteActionItem, 'group hover:bg-state-base-hover')} onClick={onDelete} >
-              <RiDeleteBinLine className={cn(s.deleteActionItemChild, 'h-4 w-4 shrink-0 stroke-current stroke-2 text-text-secondary')} />
+            <div className={cn(s.actionItem, s.deleteActionItem, 'hover:bg-gray-50 group')} onClick={onDelete} >
+              <RiDeleteBinLine className={cn(s.deleteActionItemChild, 'shrink-0 w-4 h-4 stroke-current text-gray-500 stroke-2')} />
               <span className={cn(s.actionName, s.deleteActionItemChild)}>{t('explore.sidebar.action.delete')}</span>
             </div>
           )}
diff --git a/app/components/explore/item-operation/style.module.css b/app/components/explore/item-operation/style.module.css
index 7d4a46a..5d2db27 100644
--- a/app/components/explore/item-operation/style.module.css
+++ b/app/components/explore/item-operation/style.module.css
@@ -3,7 +3,7 @@
 }
 
 .actionName {
-  @apply text-text-secondary text-sm;
+  @apply text-gray-700 text-sm;
 }
 
 .commonIcon {
@@ -29,5 +29,5 @@
 }
 
 .deleteActionItem:hover .deleteActionItemChild {
-  @apply text-red-500;
+  @apply text-red-500; 
 }
diff --git a/app/components/explore/sidebar/app-nav-item/index.tsx b/app/components/explore/sidebar/app-nav-item/index.tsx
index 9b3ca09..73bd935 100644
--- a/app/components/explore/sidebar/app-nav-item/index.tsx
+++ b/app/components/explore/sidebar/app-nav-item/index.tsx
@@ -3,6 +3,7 @@
 
 import { useRouter } from 'next/navigation'
 import { useHover } from 'ahooks'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import ItemOperation from '@/app/components/explore/item-operation'
 import AppIcon from '@/app/components/base/app-icon'
@@ -45,8 +46,10 @@
     <div
       ref={ref}
       key={id}
-      className={cn('system-sm-medium flex h-8 items-center justify-between rounded-lg px-2 text-sm font-normal text-components-menu-item-text mobile:justify-center mobile:px-1',
-        isSelected ? 'bg-state-base-active text-components-menu-item-text-active' : 'hover:bg-state-base-hover hover:text-components-menu-item-text-hover',
+      className={cn(
+        s.item,
+        isSelected ? s.active : 'hover:bg-gray-200',
+        'flex h-8 items-center justify-between mobile:justify-center px-2 mobile:px-1 rounded-lg text-sm font-normal',
       )}
       onClick={() => {
         router.push(url) // use Link causes popup item always trigger jump. Can not be solved by e.stopPropagation().
@@ -55,11 +58,11 @@
       {isMobile && <AppIcon size='tiny' iconType={icon_type} icon={icon} background={icon_background} imageUrl={icon_url} />}
       {!isMobile && (
         <>
-          <div className='flex w-0 grow items-center space-x-2'>
+          <div className='flex items-center space-x-2 w-0 grow'>
             <AppIcon size='tiny' iconType={icon_type} icon={icon} background={icon_background} imageUrl={icon_url} />
             <div className='overflow-hidden text-ellipsis whitespace-nowrap' title={name}>{name}</div>
           </div>
-          <div className='h-6 shrink-0' onClick={e => e.stopPropagation()}>
+          <div className='shrink-0 h-6' onClick={e => e.stopPropagation()}>
             <ItemOperation
               isPinned={isPinned}
               isItemHovering={isHovering}
diff --git a/app/components/explore/sidebar/app-nav-item/style.module.css b/app/components/explore/sidebar/app-nav-item/style.module.css
new file mode 100644
index 0000000..f10b0d1
--- /dev/null
+++ b/app/components/explore/sidebar/app-nav-item/style.module.css
@@ -0,0 +1,9 @@
+/* .item:hover, */
+.item.active {
+  border: 0.5px solid #EAECF0;
+  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
+  border-radius: 8px;
+  background: #FFFFFF;
+  color: #344054;
+  font-weight: 500;
+}
\ No newline at end of file
diff --git a/app/components/explore/sidebar/index.tsx b/app/components/explore/sidebar/index.tsx
index fe5935b..13d5a0e 100644
--- a/app/components/explore/sidebar/index.tsx
+++ b/app/components/explore/sidebar/index.tsx
@@ -15,14 +15,14 @@
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 
 const SelectedDiscoveryIcon = () => (
-  <svg width="16" height="16" viewBox="0 0 16 16" fill="current" xmlns="http://www.w3.org/2000/svg">
-    <path fillRule="evenodd" clipRule="evenodd" d="M13.4135 1.11725C13.5091 1.09983 13.6483 1.08355 13.8078 1.11745C14.0143 1.16136 14.2017 1.26953 14.343 1.42647C14.4521 1.54766 14.5076 1.67634 14.5403 1.76781C14.5685 1.84673 14.593 1.93833 14.6136 2.01504L15.5533 5.5222C15.5739 5.5989 15.5985 5.69049 15.6135 5.77296C15.6309 5.86852 15.6472 6.00771 15.6133 6.16722C15.5694 6.37378 15.4612 6.56114 15.3043 6.70245C15.1831 6.81157 15.0544 6.86706 14.9629 6.89975C14.884 6.92796 14.7924 6.95247 14.7157 6.97299L14.676 6.98364C14.3365 7.07461 14.0437 7.15309 13.7972 7.19802C13.537 7.24543 13.2715 7.26736 12.9946 7.20849C12.7513 7.15677 12.5213 7.06047 12.3156 6.92591L9.63273 7.64477C9.86399 7.97104 9.99992 8.36965 9.99992 8.80001C9.99992 9.2424 9.85628 9.65124 9.6131 9.98245L12.5508 14.291C12.7582 14.5952 12.6797 15.01 12.3755 15.2174C12.0713 15.4248 11.6566 15.3464 11.4492 15.0422L8.51171 10.7339C8.34835 10.777 8.17682 10.8 7.99992 10.8C7.82305 10.8 7.65155 10.777 7.48823 10.734L4.5508 15.0422C4.34338 15.3464 3.92863 15.4248 3.62442 15.2174C3.32021 15.01 3.24175 14.5952 3.44916 14.291L6.3868 9.98254C6.14358 9.65132 5.99992 9.24244 5.99992 8.80001C5.99992 8.73795 6.00274 8.67655 6.00827 8.61594L4.59643 8.99424C4.51973 9.01483 4.42813 9.03941 4.34567 9.05444C4.25011 9.07185 4.11092 9.08814 3.95141 9.05423C3.74485 9.01033 3.55748 8.90215 3.41618 8.74522C3.38535 8.71097 3.3588 8.67614 3.33583 8.64171L2.49206 8.8678C2.41536 8.88838 2.32376 8.91296 2.2413 8.92799C2.14574 8.94541 2.00655 8.96169 1.84704 8.92779C1.64048 8.88388 1.45311 8.77571 1.31181 8.61877C1.20269 8.49759 1.1472 8.3689 1.1145 8.27744C1.08629 8.1985 1.06177 8.10689 1.04125 8.03018L0.791701 7.09885C0.771119 7.02215 0.746538 6.93055 0.731508 6.84809C0.714092 6.75253 0.697808 6.61334 0.731712 6.45383C0.775619 6.24726 0.883793 6.0599 1.04073 5.9186C1.16191 5.80948 1.2906 5.75399 1.38206 5.72129C1.461 5.69307 1.55261 5.66856 1.62932 5.64804L2.47318 5.42193C2.47586 5.38071 2.48143 5.33735 2.49099 5.29237C2.5349 5.08581 2.64307 4.89844 2.80001 4.75714C2.92119 4.64802 3.04988 4.59253 3.14134 4.55983C3.22027 4.53162 3.31189 4.50711 3.3886 4.48658L11.1078 2.41824C11.2186 2.19888 11.3697 2.00049 11.5545 1.83406C11.7649 1.64462 12.0058 1.53085 12.2548 1.44183C12.4907 1.35749 12.7836 1.27904 13.123 1.18809L13.1628 1.17744C13.2395 1.15686 13.3311 1.13228 13.4135 1.11725ZM13.3642 2.5039C13.0648 2.58443 12.8606 2.64126 12.7036 2.69735C12.5325 2.75852 12.4742 2.80016 12.4467 2.82492C12.3421 2.91912 12.2699 3.04403 12.2407 3.18174C12.233 3.21793 12.2261 3.28928 12.2587 3.46805C12.2927 3.6545 12.3564 3.89436 12.4559 4.26563L12.5594 4.652C12.6589 5.02328 12.7236 5.26287 12.7874 5.44133C12.8486 5.61244 12.8902 5.67079 12.915 5.69829C13.0092 5.80291 13.1341 5.87503 13.2718 5.9043C13.308 5.91199 13.3793 5.91887 13.5581 5.88629C13.7221 5.85641 13.9273 5.80352 14.2269 5.72356L13.3642 2.5039Z" fill="currentColor" />
+  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path fillRule="evenodd" clipRule="evenodd" d="M13.4135 1.11725C13.5091 1.09983 13.6483 1.08355 13.8078 1.11745C14.0143 1.16136 14.2017 1.26953 14.343 1.42647C14.4521 1.54766 14.5076 1.67634 14.5403 1.76781C14.5685 1.84673 14.593 1.93833 14.6136 2.01504L15.5533 5.5222C15.5739 5.5989 15.5985 5.69049 15.6135 5.77296C15.6309 5.86852 15.6472 6.00771 15.6133 6.16722C15.5694 6.37378 15.4612 6.56114 15.3043 6.70245C15.1831 6.81157 15.0544 6.86706 14.9629 6.89975C14.884 6.92796 14.7924 6.95247 14.7157 6.97299L14.676 6.98364C14.3365 7.07461 14.0437 7.15309 13.7972 7.19802C13.537 7.24543 13.2715 7.26736 12.9946 7.20849C12.7513 7.15677 12.5213 7.06047 12.3156 6.92591L9.63273 7.64477C9.86399 7.97104 9.99992 8.36965 9.99992 8.80001C9.99992 9.2424 9.85628 9.65124 9.6131 9.98245L12.5508 14.291C12.7582 14.5952 12.6797 15.01 12.3755 15.2174C12.0713 15.4248 11.6566 15.3464 11.4492 15.0422L8.51171 10.7339C8.34835 10.777 8.17682 10.8 7.99992 10.8C7.82305 10.8 7.65155 10.777 7.48823 10.734L4.5508 15.0422C4.34338 15.3464 3.92863 15.4248 3.62442 15.2174C3.32021 15.01 3.24175 14.5952 3.44916 14.291L6.3868 9.98254C6.14358 9.65132 5.99992 9.24244 5.99992 8.80001C5.99992 8.73795 6.00274 8.67655 6.00827 8.61594L4.59643 8.99424C4.51973 9.01483 4.42813 9.03941 4.34567 9.05444C4.25011 9.07185 4.11092 9.08814 3.95141 9.05423C3.74485 9.01033 3.55748 8.90215 3.41618 8.74522C3.38535 8.71097 3.3588 8.67614 3.33583 8.64171L2.49206 8.8678C2.41536 8.88838 2.32376 8.91296 2.2413 8.92799C2.14574 8.94541 2.00655 8.96169 1.84704 8.92779C1.64048 8.88388 1.45311 8.77571 1.31181 8.61877C1.20269 8.49759 1.1472 8.3689 1.1145 8.27744C1.08629 8.1985 1.06177 8.10689 1.04125 8.03018L0.791701 7.09885C0.771119 7.02215 0.746538 6.93055 0.731508 6.84809C0.714092 6.75253 0.697808 6.61334 0.731712 6.45383C0.775619 6.24726 0.883793 6.0599 1.04073 5.9186C1.16191 5.80948 1.2906 5.75399 1.38206 5.72129C1.461 5.69307 1.55261 5.66856 1.62932 5.64804L2.47318 5.42193C2.47586 5.38071 2.48143 5.33735 2.49099 5.29237C2.5349 5.08581 2.64307 4.89844 2.80001 4.75714C2.92119 4.64802 3.04988 4.59253 3.14134 4.55983C3.22027 4.53162 3.31189 4.50711 3.3886 4.48658L11.1078 2.41824C11.2186 2.19888 11.3697 2.00049 11.5545 1.83406C11.7649 1.64462 12.0058 1.53085 12.2548 1.44183C12.4907 1.35749 12.7836 1.27904 13.123 1.18809L13.1628 1.17744C13.2395 1.15686 13.3311 1.13228 13.4135 1.11725ZM13.3642 2.5039C13.0648 2.58443 12.8606 2.64126 12.7036 2.69735C12.5325 2.75852 12.4742 2.80016 12.4467 2.82492C12.3421 2.91912 12.2699 3.04403 12.2407 3.18174C12.233 3.21793 12.2261 3.28928 12.2587 3.46805C12.2927 3.6545 12.3564 3.89436 12.4559 4.26563L12.5594 4.652C12.6589 5.02328 12.7236 5.26287 12.7874 5.44133C12.8486 5.61244 12.8902 5.67079 12.915 5.69829C13.0092 5.80291 13.1341 5.87503 13.2718 5.9043C13.308 5.91199 13.3793 5.91887 13.5581 5.88629C13.7221 5.85641 13.9273 5.80352 14.2269 5.72356L13.3642 2.5039Z" fill="#155EEF" />
   </svg>
 )
 
 const DiscoveryIcon = () => (
-  <svg width="16" height="16" viewBox="0 0 16 16" fill="current" xmlns="http://www.w3.org/2000/svg">
-    <path d="M8.74786 9.89676L12.0003 14.6669M7.25269 9.89676L4.00027 14.6669M9.3336 8.80031C9.3336 9.53669 8.73665 10.1336 8.00027 10.1336C7.26389 10.1336 6.66694 9.53669 6.66694 8.80031C6.66694 8.06393 7.26389 7.46698 8.00027 7.46698C8.73665 7.46698 9.3336 8.06393 9.3336 8.80031ZM11.4326 3.02182L3.57641 5.12689C3.39609 5.1752 3.30593 5.19936 3.24646 5.25291C3.19415 5.30001 3.15809 5.36247 3.14345 5.43132C3.12681 5.5096 3.15097 5.59976 3.19929 5.78008L3.78595 7.96951C3.83426 8.14984 3.85842 8.24 3.91197 8.29947C3.95907 8.35178 4.02153 8.38784 4.09038 8.40248C4.16866 8.41911 4.25882 8.39496 4.43914 8.34664L12.2953 6.24158L11.4326 3.02182ZM14.5285 6.33338C13.8072 6.52665 13.4466 6.62328 13.1335 6.55673C12.8581 6.49819 12.6082 6.35396 12.4198 6.14471C12.2056 5.90682 12.109 5.54618 11.9157 4.82489L11.8122 4.43852C11.6189 3.71722 11.5223 3.35658 11.5889 3.04347C11.6474 2.76805 11.7916 2.51823 12.0009 2.32982C12.2388 2.11563 12.5994 2.019 13.3207 1.82573C13.501 1.77741 13.5912 1.75325 13.6695 1.76989C13.7383 1.78452 13.8008 1.82058 13.8479 1.87289C13.9014 1.93237 13.9256 2.02253 13.9739 2.20285L14.9057 5.68018C14.954 5.86051 14.9781 5.95067 14.9615 6.02894C14.9469 6.0978 14.9108 6.16025 14.8585 6.20736C14.799 6.2609 14.7088 6.28506 14.5285 6.33338ZM2.33475 8.22033L3.23628 7.97876C3.4166 7.93044 3.50676 7.90628 3.56623 7.85274C3.61854 7.80563 3.6546 7.74318 3.66924 7.67433C3.68588 7.59605 3.66172 7.50589 3.6134 7.32556L3.37184 6.42403C3.32352 6.24371 3.29936 6.15355 3.24581 6.09408C3.19871 6.04176 3.13626 6.00571 3.0674 5.99107C2.98912 5.97443 2.89896 5.99859 2.71864 6.04691L1.81711 6.28847C1.63678 6.33679 1.54662 6.36095 1.48715 6.4145C1.43484 6.4616 1.39878 6.52405 1.38415 6.59291C1.36751 6.67119 1.39167 6.76135 1.43998 6.94167L1.68155 7.8432C1.72987 8.02352 1.75402 8.11369 1.80757 8.17316C1.85467 8.22547 1.91713 8.26153 1.98598 8.27616C2.06426 8.2928 2.15442 8.26864 2.33475 8.22033Z" stroke="currentColor" strokeWidth="1.25" strokeLinecap="round" strokeLinejoin="round" />
+  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M8.74786 9.89676L12.0003 14.6669M7.25269 9.89676L4.00027 14.6669M9.3336 8.80031C9.3336 9.53669 8.73665 10.1336 8.00027 10.1336C7.26389 10.1336 6.66694 9.53669 6.66694 8.80031C6.66694 8.06393 7.26389 7.46698 8.00027 7.46698C8.73665 7.46698 9.3336 8.06393 9.3336 8.80031ZM11.4326 3.02182L3.57641 5.12689C3.39609 5.1752 3.30593 5.19936 3.24646 5.25291C3.19415 5.30001 3.15809 5.36247 3.14345 5.43132C3.12681 5.5096 3.15097 5.59976 3.19929 5.78008L3.78595 7.96951C3.83426 8.14984 3.85842 8.24 3.91197 8.29947C3.95907 8.35178 4.02153 8.38784 4.09038 8.40248C4.16866 8.41911 4.25882 8.39496 4.43914 8.34664L12.2953 6.24158L11.4326 3.02182ZM14.5285 6.33338C13.8072 6.52665 13.4466 6.62328 13.1335 6.55673C12.8581 6.49819 12.6082 6.35396 12.4198 6.14471C12.2056 5.90682 12.109 5.54618 11.9157 4.82489L11.8122 4.43852C11.6189 3.71722 11.5223 3.35658 11.5889 3.04347C11.6474 2.76805 11.7916 2.51823 12.0009 2.32982C12.2388 2.11563 12.5994 2.019 13.3207 1.82573C13.501 1.77741 13.5912 1.75325 13.6695 1.76989C13.7383 1.78452 13.8008 1.82058 13.8479 1.87289C13.9014 1.93237 13.9256 2.02253 13.9739 2.20285L14.9057 5.68018C14.954 5.86051 14.9781 5.95067 14.9615 6.02894C14.9469 6.0978 14.9108 6.16025 14.8585 6.20736C14.799 6.2609 14.7088 6.28506 14.5285 6.33338ZM2.33475 8.22033L3.23628 7.97876C3.4166 7.93044 3.50676 7.90628 3.56623 7.85274C3.61854 7.80563 3.6546 7.74318 3.66924 7.67433C3.68588 7.59605 3.66172 7.50589 3.6134 7.32556L3.37184 6.42403C3.32352 6.24371 3.29936 6.15355 3.24581 6.09408C3.19871 6.04176 3.13626 6.00571 3.0674 5.99107C2.98912 5.97443 2.89896 5.99859 2.71864 6.04691L1.81711 6.28847C1.63678 6.33679 1.54662 6.36095 1.48715 6.4145C1.43484 6.4616 1.39878 6.52405 1.38415 6.59291C1.36751 6.67119 1.39167 6.76135 1.43998 6.94167L1.68155 7.8432C1.72987 8.02352 1.75402 8.11369 1.80757 8.17316C1.85467 8.22547 1.91713 8.26153 1.98598 8.27616C2.06426 8.2928 2.15442 8.26864 2.33475 8.22033Z" stroke="#344054" strokeWidth="1.25" strokeLinecap="round" strokeLinejoin="round" />
   </svg>
 )
 
@@ -92,12 +92,11 @@
 
   const pinnedAppsCount = installedApps.filter(({ is_pinned }) => is_pinned).length
   return (
-    <div className='w-fit shrink-0 cursor-pointer border-r border-divider-burn px-4 pt-6 sm:w-[216px]'>
-      <div className={cn(isDiscoverySelected ? 'text-text-accent' : 'text-text-tertiary')}>
+    <div className='w-fit sm:w-[216px] shrink-0 pt-6 px-4 border-gray-200 cursor-pointer'>
+      <div>
         <Link
           href='/explore/apps'
-          className={cn(isDiscoverySelected ? ' bg-components-main-nav-nav-button-bg-active' : 'font-medium hover:bg-state-base-hover',
-            'flex h-9 items-center gap-2 rounded-lg px-3 mobile:w-fit mobile:justify-center mobile:px-2 pc:w-full pc:justify-start')}
+          className={cn(isDiscoverySelected ? 'text-primary-600  bg-white font-semibold' : 'text-gray-700 font-medium hover:bg-gray-200', 'flex items-center pc:justify-start pc:w-full mobile:justify-center mobile:w-fit h-9 px-3 mobile:px-2 gap-2 rounded-lg')}
           style={isDiscoverySelected ? { boxShadow: '0px 1px 2px rgba(16, 24, 40, 0.05)' } : {}}
         >
           {isDiscoverySelected ? <SelectedDiscoveryIcon /> : <DiscoveryIcon />}
@@ -106,7 +105,7 @@
       </div>
       {installedApps.length > 0 && (
         <div className='mt-10'>
-          <p className='break-all pl-2 text-xs font-medium uppercase text-text-tertiary mobile:px-0'>{t('explore.sidebar.workspace')}</p>
+          <p className='pl-2 mobile:px-0 text-xs text-gray-500 break-all font-medium uppercase'>{t('explore.sidebar.workspace')}</p>
           <div className='mt-3 space-y-1 overflow-y-auto overflow-x-hidden'
             style={{
               height: 'calc(100vh - 250px)',
diff --git a/app/components/header/account-about/index.module.css b/app/components/header/account-about/index.module.css
new file mode 100644
index 0000000..108a029
--- /dev/null
+++ b/app/components/header/account-about/index.module.css
@@ -0,0 +1,5 @@
+.modal {
+  max-width: 480px !important;
+  width: 480px !important;
+  padding: 24px 32px !important;
+}
\ No newline at end of file
diff --git a/app/components/header/account-about/index.tsx b/app/components/header/account-about/index.tsx
index 6129b48..6edd1b8 100644
--- a/app/components/header/account-about/index.tsx
+++ b/app/components/header/account-about/index.tsx
@@ -3,18 +3,21 @@
 import Link from 'next/link'
 import dayjs from 'dayjs'
 import { RiCloseLine } from '@remixicon/react'
+import s from './index.module.css'
+import classNames from '@/utils/classnames'
 import Modal from '@/app/components/base/modal'
-import Button from '@/app/components/base/button'
 import type { LangGeniusVersionResponse } from '@/models/common'
 import { IS_CE_EDITION } from '@/config'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
-import { noop } from 'lodash-es'
+import LogoSite from '@/app/components/base/logo/logo-site'
 
 type IAccountSettingProps = {
   langeniusVersionInfo: LangGeniusVersionResponse
   onCancel: () => void
 }
-
+const buttonClassName = `
+shrink-0 flex items-center h-8 px-3 rounded-lg border border-gray-200
+text-xs text-gray-800 font-medium
+`
 export default function AccountAbout({
   langeniusVersionInfo,
   onCancel,
@@ -25,33 +28,33 @@
   return (
     <Modal
       isShow
-      onClose={noop}
-      className='!w-[480px] !max-w-[480px] !px-6 !py-4'
+      onClose={() => { }}
+      className={s.modal}
     >
-      <div>
-        <div className='absolute right-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center' onClick={onCancel}>
-          <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='relative pt-4'>
+        <div className='absolute -top-2 -right-4 flex justify-center items-center w-8 h-8 cursor-pointer' onClick={onCancel}>
+          <RiCloseLine className='w-4 h-4 text-gray-500' />
         </div>
-        <div className='flex flex-col items-center gap-4 py-8'>
-          <DifyLogo size='large' className='mx-auto' />
-          <div className='text-center text-xs font-normal text-text-tertiary'>Version {langeniusVersionInfo?.current_version}</div>
-          <div className='flex flex-col items-center gap-2 text-center text-xs font-normal text-text-secondary'>
+        <div>
+          <LogoSite className='mx-auto mb-2' />
+          <div className='mb-3 text-center text-xs font-normal text-gray-500'>Version {langeniusVersionInfo?.current_version}</div>
+          <div className='mb-4 text-center text-xs font-normal text-gray-700'>
             <div>漏 {dayjs().year()} LangGenius, Inc., Contributors.</div>
-            <div className='text-text-accent'>
+            <div className='text-[#1C64F2]'>
               {
                 IS_CE_EDITION
                   ? <Link href={'https://github.com/langgenius/dify/blob/main/LICENSE'} target='_blank' rel='noopener noreferrer'>Open Source License</Link>
                   : <>
-                    <Link href='https://dify.ai/privacy' target='_blank' rel='noopener noreferrer'>Privacy Policy</Link>,&nbsp;
+                    <Link href='https://dify.ai/privacy' target='_blank' rel='noopener noreferrer'>Privacy Policy</Link>,<span> </span>
                     <Link href='https://dify.ai/terms' target='_blank' rel='noopener noreferrer'>Terms of Service</Link>
                   </>
               }
             </div>
           </div>
         </div>
-        <div className='-mx-8 mb-4 h-[0.5px] bg-divider-regular' />
-        <div className='flex items-center justify-between'>
-          <div className='text-xs font-medium text-text-tertiary'>
+        <div className='mb-4 -mx-8 h-[0.5px] bg-gray-200' />
+        <div className='flex justify-between items-center'>
+          <div className='text-xs font-medium text-gray-800'>
             {
               isLatest
                 ? t('common.about.latestAvailable', { version: langeniusVersionInfo.latest_version })
@@ -59,24 +62,22 @@
             }
           </div>
           <div className='flex items-center'>
-            <Button className='mr-2' size='small'>
-              <Link
-                href={'https://github.com/langgenius/dify/releases'}
-                target='_blank' rel='noopener noreferrer'
-              >
-                {t('common.about.changeLog')}
-              </Link>
-            </Button>
+            <Link
+              className={classNames(buttonClassName, 'mr-2')}
+              href={'https://github.com/langgenius/dify/releases'}
+              target='_blank' rel='noopener noreferrer'
+            >
+              {t('common.about.changeLog')}
+            </Link>
             {
               !isLatest && !IS_CE_EDITION && (
-                <Button variant='primary' size='small'>
-                  <Link
-                    href={langeniusVersionInfo.release_notes}
-                    target='_blank' rel='noopener noreferrer'
-                  >
-                    {t('common.about.updateNow')}
-                  </Link>
-                </Button>
+                <Link
+                  className={classNames(buttonClassName, 'text-primary-600')}
+                  href={langeniusVersionInfo.release_notes}
+                  target='_blank' rel='noopener noreferrer'
+                >
+                  {t('common.about.updateNow')}
+                </Link>
               )
             }
           </div>
diff --git a/app/components/header/account-dropdown/index.tsx b/app/components/header/account-dropdown/index.tsx
index 4a08a4c..d9065f3 100644
--- a/app/components/header/account-dropdown/index.tsx
+++ b/app/components/header/account-dropdown/index.tsx
@@ -2,53 +2,43 @@
 import { useTranslation } from 'react-i18next'
 import { Fragment, useState } from 'react'
 import { useRouter } from 'next/navigation'
-import { useContextSelector } from 'use-context-selector'
-import {
-  RiAccountCircleLine,
-  RiArrowRightUpLine,
-  RiBookOpenLine,
-  RiGithubLine,
-  RiGraduationCapFill,
-  RiInformation2Line,
-  RiLogoutBoxRLine,
-  RiMap2Line,
-  RiSettings3Line,
-  RiStarLine,
-  RiTShirt2Line,
-} from '@remixicon/react'
+import { useContext } from 'use-context-selector'
+import { RiArrowDownSLine, RiLogoutBoxRLine } from '@remixicon/react'
 import Link from 'next/link'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import Indicator from '../indicator'
 import AccountAbout from '../account-about'
-import GithubStar from '../github-star'
-import Support from './support'
-import Compliance from './compliance'
-import PremiumBadge from '@/app/components/base/premium-badge'
-import { useGetDocLanguage } from '@/context/i18n'
+import { mailToSupport } from '../utils/util'
+import WorkplaceSelector from './workplace-selector'
+import classNames from '@/utils/classnames'
+import I18n from '@/context/i18n'
 import Avatar from '@/app/components/base/avatar'
-import ThemeSwitcher from '@/app/components/base/theme-switcher'
 import { logout } from '@/service/common'
-import AppContext, { useAppContext } from '@/context/app-context'
-import { useProviderContext } from '@/context/provider-context'
+import { useAppContext } from '@/context/app-context'
+import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows'
 import { useModalContext } from '@/context/modal-context'
-import { LicenseStatus } from '@/types/feature'
-import { IS_CLOUD_EDITION } from '@/config'
-import cn from '@/utils/classnames'
+import { LanguagesSupported } from '@/i18n/language'
+import { useProviderContext } from '@/context/provider-context'
+import { Plan } from '@/app/components/billing/type'
 
-export default function AppSelector() {
+export type IAppSelector = {
+  isMobile: boolean
+}
+
+export default function AppSelector({ isMobile }: IAppSelector) {
   const itemClassName = `
-    flex items-center w-full h-9 pl-3 pr-2 text-text-secondary system-md-regular
-    rounded-lg hover:bg-state-base-hover cursor-pointer gap-1
+    flex items-center w-full h-9 px-3 text-text-secondary system-md-regular
+    rounded-lg hover:bg-state-base-hover cursor-pointer
   `
   const router = useRouter()
   const [aboutVisible, setAboutVisible] = useState(false)
-  const systemFeatures = useContextSelector(AppContext, v => v.systemFeatures)
 
+  const { locale } = useContext(I18n)
   const { t } = useTranslation()
-  const { userProfile, langeniusVersionInfo, isCurrentWorkspaceOwner } = useAppContext()
-  const { isEducationAccount } = useProviderContext()
+  const { userProfile, langeniusVersionInfo } = useAppContext()
   const { setShowAccountSettingModal } = useModalContext()
-  const docLanguage = useGetDocLanguage()
+  const { plan } = useProviderContext()
+  const canEmailSupport = plan.type === Plan.professional || plan.type === Plan.team || plan.type === Plan.enterprise
 
   const handleLogout = async () => {
     await logout({
@@ -69,9 +59,21 @@
         {
           ({ open }) => (
             <>
-              <MenuButton className={cn('inline-flex items-center rounded-[20px] p-0.5 hover:bg-background-default-dodge', open && 'bg-background-default-dodge')}>
-                <Avatar avatar={userProfile.avatar_url} name={userProfile.name} size={36} />
-              </MenuButton>
+              <Menu.Button
+                className={`
+                    inline-flex items-center
+                    rounded-[20px] py-1 pr-2.5 pl-1 text-sm
+                  text-gray-700 hover:bg-gray-200
+                    mobile:px-1
+                    ${open && 'bg-gray-200'}
+                  `}
+              >
+                <Avatar avatar={userProfile.avatar_url} name={userProfile.name} className='sm:mr-2 mr-0' size={32} />
+                {!isMobile && <>
+                  {userProfile.name}
+                  <RiArrowDownSLine className="w-3 h-3 ml-1 text-gray-700" />
+                </>}
+              </Menu.Button>
               <Transition
                 as={Fragment}
                 enter="transition ease-out duration-100"
@@ -81,135 +83,131 @@
                 leaveFrom="transform opacity-100 scale-100"
                 leaveTo="transform opacity-0 scale-95"
               >
-                <MenuItems
+                <Menu.Items
                   className="
                     absolute right-0 mt-1.5 w-60 max-w-80
-                    origin-top-right divide-y divide-divider-subtle rounded-xl bg-components-panel-bg-blur shadow-lg
-                    backdrop-blur-sm focus:outline-none
+                    divide-y divide-divider-subtle origin-top-right rounded-lg bg-components-panel-bg-blur
+                    shadow-lg focus:outline-none
                   "
                 >
-                  <MenuItem disabled>
-                    <div className='flex flex-nowrap items-center py-[13px] pl-3 pr-2'>
-                      <div className='grow'>
-                        <div className='system-md-medium break-all text-text-primary'>
-                          {userProfile.name}
-                          {isEducationAccount && (
-                            <PremiumBadge size='s' color='blue' className='ml-1 !px-2'>
-                              <RiGraduationCapFill className='mr-1 h-3 w-3' />
-                              <span className='system-2xs-medium'>EDU</span>
-                            </PremiumBadge>
-                          )}
-                        </div>
-                        <div className='system-xs-regular break-all text-text-tertiary'>{userProfile.email}</div>
-                      </div>
+                  <Menu.Item disabled>
+                    <div className='flex flex-nowrap items-center px-4 py-[13px]'>
                       <Avatar avatar={userProfile.avatar_url} name={userProfile.name} size={36} className='mr-3' />
+                      <div className='grow'>
+                        <div className='system-md-medium text-text-primary break-all'>{userProfile.name}</div>
+                        <div className='system-xs-regular text-text-tertiary break-all'>{userProfile.email}</div>
+                      </div>
                     </div>
-                  </MenuItem>
+                  </Menu.Item>
+                  <div className='px-1 py-1'>
+                    <div className='mt-2 px-3 text-xs font-medium text-text-tertiary'>{t('common.userProfile.workspace')}</div>
+                    <WorkplaceSelector />
+                  </div>
                   <div className="px-1 py-1">
-                    <MenuItem>
-                      <Link
-                        className={cn(itemClassName, 'group',
-                          'data-[active]:bg-state-base-hover',
+                    <Menu.Item>
+                      {({ active }) => <Link
+                        className={classNames(itemClassName, 'group justify-between',
+                          active && 'bg-state-base-hover',
                         )}
                         href='/account'
                         target='_self' rel='noopener noreferrer'>
-                        <RiAccountCircleLine className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.account.account')}</div>
-                        <RiArrowRightUpLine className='size-[14px] shrink-0 text-text-tertiary' />
-                      </Link>
-                    </MenuItem>
-                    <MenuItem>
-                      <div className={cn(itemClassName,
-                        'data-[active]:bg-state-base-hover',
+                        <div>{t('common.account.account')}</div>
+                        <ArrowUpRight className='hidden w-[14px] h-[14px] text-text-tertiary group-hover:flex' />
+                      </Link>}
+                    </Menu.Item>
+                    <Menu.Item>
+                      {({ active }) => <div className={classNames(itemClassName,
+                        active && 'bg-state-base-hover',
                       )} onClick={() => setShowAccountSettingModal({ payload: 'members' })}>
-                        <RiSettings3Line className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.userProfile.settings')}</div>
-                      </div>
-                    </MenuItem>
-                  </div>
-                  <div className='p-1'>
-                    <MenuItem>
-                      <Link
-                        className={cn(itemClassName, 'group justify-between',
-                          'data-[active]:bg-state-base-hover',
+                        <div>{t('common.userProfile.settings')}</div>
+                      </div>}
+                    </Menu.Item>
+                    {canEmailSupport && <Menu.Item>
+                      {({ active }) => <a
+                        className={classNames(itemClassName, 'group justify-between',
+                          active && 'bg-state-base-hover',
                         )}
-                        href={`https://docs.dify.ai/${docLanguage}/introduction`}
+                        href={mailToSupport(userProfile.email, plan.type, langeniusVersionInfo.current_version)}
                         target='_blank' rel='noopener noreferrer'>
-                        <RiBookOpenLine className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.userProfile.helpCenter')}</div>
-                        <RiArrowRightUpLine className='size-[14px] shrink-0 text-text-tertiary' />
-                      </Link>
-                    </MenuItem>
-                    <Support />
-                    {IS_CLOUD_EDITION && isCurrentWorkspaceOwner && <Compliance />}
-                  </div>
-                  <div className='p-1'>
-                    <MenuItem>
-                      <Link
-                        className={cn(itemClassName, 'group justify-between',
-                          'data-[active]:bg-state-base-hover',
+                        <div>{t('common.userProfile.emailSupport')}</div>
+                        <ArrowUpRight className='hidden w-[14px] h-[14px] text-text-tertiary group-hover:flex' />
+                      </a>}
+                    </Menu.Item>}
+                    <Menu.Item>
+                      {({ active }) => <Link
+                        className={classNames(itemClassName, 'group justify-between',
+                          active && 'bg-state-base-hover',
+                        )}
+                        href='https://github.com/langgenius/dify/discussions/categories/feedbacks'
+                        target='_blank' rel='noopener noreferrer'>
+                        <div>{t('common.userProfile.communityFeedback')}</div>
+                        <ArrowUpRight className='hidden w-[14px] h-[14px] text-text-tertiary group-hover:flex' />
+                      </Link>}
+                    </Menu.Item>
+                    <Menu.Item>
+                      {({ active }) => <Link
+                        className={classNames(itemClassName, 'group justify-between',
+                          active && 'bg-state-base-hover',
+                        )}
+                        href='https://discord.gg/5AEfbxcd9k'
+                        target='_blank' rel='noopener noreferrer'>
+                        <div>{t('common.userProfile.community')}</div>
+                        <ArrowUpRight className='hidden w-[14px] h-[14px] text-text-tertiary group-hover:flex' />
+                      </Link>}
+                    </Menu.Item>
+                    <Menu.Item>
+                      {({ active }) => <Link
+                        className={classNames(itemClassName, 'group justify-between',
+                          active && 'bg-state-base-hover',
+                        )}
+                        href={
+                          locale !== LanguagesSupported[1] ? 'https://docs.dify.ai/' : `https://docs.dify.ai/v/${locale.toLowerCase()}/`
+                        }
+                        target='_blank' rel='noopener noreferrer'>
+                        <div>{t('common.userProfile.helpCenter')}</div>
+                        <ArrowUpRight className='hidden w-[14px] h-[14px] text-text-tertiary group-hover:flex' />
+                      </Link>}
+                    </Menu.Item>
+                    <Menu.Item>
+                      {({ active }) => <Link
+                        className={classNames(itemClassName, 'group justify-between',
+                          active && 'bg-state-base-hover',
                         )}
                         href='https://roadmap.dify.ai'
                         target='_blank' rel='noopener noreferrer'>
-                        <RiMap2Line className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.userProfile.roadmap')}</div>
-                        <RiArrowRightUpLine className='size-[14px] shrink-0 text-text-tertiary' />
-                      </Link>
-                    </MenuItem>
-                    {systemFeatures.license.status === LicenseStatus.NONE && <MenuItem>
-                      <Link
-                        className={cn(itemClassName, 'group justify-between',
-                          'data-[active]:bg-state-base-hover',
-                        )}
-                        href='https://github.com/langgenius/dify'
-                        target='_blank' rel='noopener noreferrer'>
-                        <RiGithubLine className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.userProfile.github')}</div>
-                        <div className='flex items-center gap-0.5 rounded-[5px] border border-divider-deep bg-components-badge-bg-dimm px-[5px] py-[3px]'>
-                          <RiStarLine className='size-3 shrink-0 text-text-tertiary' />
-                          <GithubStar className='system-2xs-medium-uppercase text-text-tertiary' />
-                        </div>
-                      </Link>
-                    </MenuItem>}
+                        <div>{t('common.userProfile.roadmap')}</div>
+                        <ArrowUpRight className='hidden w-[14px] h-[14px] text-text-tertiary group-hover:flex' />
+                      </Link>}
+                    </Menu.Item>
                     {
                       document?.body?.getAttribute('data-public-site-about') !== 'hide' && (
-                        <MenuItem>
-                          <div className={cn(itemClassName, 'justify-between',
-                            'data-[active]:bg-state-base-hover',
+                        <Menu.Item>
+                          {({ active }) => <div className={classNames(itemClassName, 'justify-between',
+                            active && 'bg-state-base-hover',
                           )} onClick={() => setAboutVisible(true)}>
-                            <RiInformation2Line className='size-4 shrink-0 text-text-tertiary' />
-                            <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.userProfile.about')}</div>
-                            <div className='flex shrink-0 items-center'>
-                              <div className='system-xs-regular mr-2 text-text-tertiary'>{langeniusVersionInfo.current_version}</div>
+                            <div>{t('common.userProfile.about')}</div>
+                            <div className='flex items-center'>
+                              <div className='mr-2 system-xs-regular text-text-tertiary'>{langeniusVersionInfo.current_version}</div>
                               <Indicator color={langeniusVersionInfo.current_version === langeniusVersionInfo.latest_version ? 'green' : 'orange'} />
                             </div>
-                          </div>
-                        </MenuItem>
+                          </div>}
+                        </Menu.Item>
                       )
                     }
                   </div>
-                  <MenuItem disabled>
-                    <div className='p-1'>
-                      <div className={cn(itemClassName, 'hover:bg-transparent')}>
-                        <RiTShirt2Line className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.theme.theme')}</div>
-                        <ThemeSwitcher/>
-                      </div>
-                    </div>
-                  </MenuItem>
-                  <MenuItem>
-                    <div className='p-1' onClick={() => handleLogout()}>
+                  <Menu.Item>
+                    {({ active }) => <div className='p-1' onClick={() => handleLogout()}>
                       <div
-                        className={cn(itemClassName, 'group justify-between',
-                          'data-[active]:bg-state-base-hover',
-                        )}
+                        className={
+                          classNames('flex items-center justify-between h-9 px-3 rounded-lg cursor-pointer group hover:bg-state-base-hover',
+                            active && 'bg-state-base-hover')}
                       >
-                        <RiLogoutBoxRLine className='size-4 shrink-0 text-text-tertiary' />
-                        <div className='system-md-regular grow px-1 text-text-secondary'>{t('common.userProfile.logout')}</div>
+                        <div className='system-md-regular text-text-secondary'>{t('common.userProfile.logout')}</div>
+                        <RiLogoutBoxRLine className='hidden w-4 h-4 text-text-tertiary group-hover:flex' />
                       </div>
-                    </div>
-                  </MenuItem>
-                </MenuItems>
+                    </div>}
+                  </Menu.Item>
+                </Menu.Items>
               </Transition>
             </>
           )
diff --git a/app/components/header/account-dropdown/workplace-selector/index.module.css b/app/components/header/account-dropdown/workplace-selector/index.module.css
index c3184f7..f3840ea 100644
--- a/app/components/header/account-dropdown/workplace-selector/index.module.css
+++ b/app/components/header/account-dropdown/workplace-selector/index.module.css
@@ -2,4 +2,4 @@
   left: 4px;
   transform: translateX(-100%);
   box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
-}
+}
\ No newline at end of file
diff --git a/app/components/header/account-dropdown/workplace-selector/index.tsx b/app/components/header/account-dropdown/workplace-selector/index.tsx
index b62e607..bcc72a7 100644
--- a/app/components/header/account-dropdown/workplace-selector/index.tsx
+++ b/app/components/header/account-dropdown/workplace-selector/index.tsx
@@ -1,15 +1,28 @@
 import { Fragment } from 'react'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
-import { Menu, MenuButton, MenuItems, Transition } from '@headlessui/react'
-import { RiArrowDownSLine } from '@remixicon/react'
+import { Menu, Transition } from '@headlessui/react'
+import s from './index.module.css'
 import cn from '@/utils/classnames'
-import { WEB_PREFIX } from '@/config'
-import PlanBadge from '@/app/components/header/plan-badge'
 import { switchWorkspace } from '@/service/common'
 import { useWorkspacesContext } from '@/context/workspace-context'
+import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
+import { Check } from '@/app/components/base/icons/src/vender/line/general'
 import { ToastContext } from '@/app/components/base/toast'
-import type { Plan } from '@/app/components/billing/type'
+import classNames from '@/utils/classnames'
+
+const itemClassName = `
+  flex items-center px-3 py-2 h-10 cursor-pointer
+`
+const itemIconClassName = `
+  shrink-0 mr-2 flex items-center justify-center w-6 h-6 bg-[#EFF4FF] rounded-md text-xs font-medium text-primary-600
+`
+const itemNameClassName = `
+  grow mr-2 text-sm text-gray-700 text-left
+`
+const itemCheckClassName = `
+  shrink-0 w-4 h-4 text-primary-600
+`
 
 const WorkplaceSelector = () => {
   const { t } = useTranslation()
@@ -23,32 +36,28 @@
         return
       await switchWorkspace({ url: '/workspaces/switch', body: { tenant_id } })
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
-      location.assign(WEB_PREFIX)
+      location.assign(`${location.origin}`)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('common.provider.saveFailed') })
     }
   }
 
   return (
-    <Menu as="div" className="relative h-full w-full">
+    <Menu as="div" className="relative w-full h-full">
       {
         ({ open }) => (
           <>
-            <MenuButton className={cn(
+            <Menu.Button className={cn(
               `
-                group flex w-full cursor-pointer items-center
-                gap-1.5 p-0.5 hover:bg-state-base-hover ${open && 'bg-state-base-hover'} rounded-[10px]
+                ${itemClassName} w-full
+                group hover:bg-state-base-hover cursor-pointer ${open && 'bg-state-base-hover'} rounded-lg
               `,
             )}>
-              <div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-blue-solid text-[13px]'>
-                <span className='h-6 bg-gradient-to-r from-components-avatar-shape-fill-stop-0 to-components-avatar-shape-fill-stop-100 bg-clip-text align-middle font-semibold uppercase leading-6 text-shadow-shadow-1 opacity-90'>{currentWorkspace?.name[0]?.toLocaleUpperCase()}</span>
-              </div>
-              <div className='flex flex-row'>
-                <div className={'system-sm-medium max-w-[160px] truncate text-text-secondary'}>{currentWorkspace?.name}</div>
-                <RiArrowDownSLine className='h-4 w-4 text-text-secondary' />
-              </div>
-            </MenuButton>
+              <div className={itemIconClassName}>{currentWorkspace?.name[0].toLocaleUpperCase()}</div>
+              <div className={`${itemNameClassName} truncate`}>{currentWorkspace?.name}</div>
+              <ChevronRight className='shrink-0 w-[14px] h-[14px] text-gray-500' />
+            </Menu.Button>
             <Transition
               as={Fragment}
               enter="transition ease-out duration-100"
@@ -58,31 +67,32 @@
               leaveFrom="transform opacity-100 scale-100"
               leaveTo="transform opacity-0 scale-95"
             >
-              <MenuItems
+              <Menu.Items
                 className={cn(
                   `
-                    shadows-shadow-lg absolute left-[-15px] mt-1 flex max-h-[400px] w-[280px] flex-col items-start overflow-y-auto rounded-xl
-                    bg-components-panel-bg-blur backdrop-blur-[5px]
+                    absolute top-[1px] min-w-[200px] max-h-[70vh] overflow-y-scroll z-10 bg-white border-[0.5px] border-gray-200
+                    divide-y divide-gray-100 origin-top-right rounded-xl focus:outline-none
                   `,
+                  s.popup,
                 )}
               >
-                <div className="flex w-full flex-col items-start self-stretch rounded-xl border-[0.5px] border-components-panel-border p-1 pb-2 shadow-lg ">
-                  <div className='flex items-start self-stretch px-3 pb-0.5 pt-1'>
-                    <span className='system-xs-medium-uppercase flex-1 text-text-tertiary'>{t('common.userProfile.workspace')}</span>
-                  </div>
+                <div className="px-1 py-1">
                   {
                     workspaces.map(workspace => (
-                      <div className='flex items-center gap-2 self-stretch rounded-lg py-1 pl-3 pr-2 hover:bg-state-base-hover' key={workspace.id} onClick={() => handleSwitchWorkspace(workspace.id)}>
-                        <div className='flex h-6 w-6 items-center justify-center rounded-md bg-components-icon-bg-blue-solid text-[13px]'>
-                          <span className='h-6 bg-gradient-to-r from-components-avatar-shape-fill-stop-0 to-components-avatar-shape-fill-stop-100 bg-clip-text align-middle font-semibold uppercase leading-6 text-shadow-shadow-1 opacity-90'>{workspace?.name[0]?.toLocaleUpperCase()}</span>
-                        </div>
-                        <div className='system-md-regular line-clamp-1 grow cursor-pointer overflow-hidden text-ellipsis text-text-secondary'>{workspace.name}</div>
-                        <PlanBadge plan={workspace.plan as Plan} />
-                      </div>
+                      <Menu.Item key={workspace.id}>
+                        {({ active }) => <div className={classNames(itemClassName,
+                          active && 'bg-state-base-hover',
+                        )} key={workspace.id} onClick={() => handleSwitchWorkspace(workspace.id)}>
+                          <div className={itemIconClassName}>{workspace.name[0].toLocaleUpperCase()}</div>
+                          <div className={itemNameClassName}>{workspace.name}</div>
+                          {workspace.current && <Check className={itemCheckClassName} />}
+                        </div>}
+
+                      </Menu.Item>
                     ))
                   }
                 </div>
-              </MenuItems>
+              </Menu.Items>
             </Transition>
           </>
         )
diff --git a/app/components/header/account-setting/Integrations-page/index.module.css b/app/components/header/account-setting/Integrations-page/index.module.css
index 7c2a883..5b7ef2c 100644
--- a/app/components/header/account-setting/Integrations-page/index.module.css
+++ b/app/components/header/account-setting/Integrations-page/index.module.css
@@ -21,4 +21,4 @@
 .salesforce-icon {
   background: url(../../assets/salesforce.svg) center center no-repeat;
   background-size: 24px auto;
-}
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/Integrations-page/index.tsx b/app/components/header/account-setting/Integrations-page/index.tsx
index 0d346e0..dc5e924 100644
--- a/app/components/header/account-setting/Integrations-page/index.tsx
+++ b/app/components/header/account-setting/Integrations-page/index.tsx
@@ -34,16 +34,16 @@
         <div className={titleClassName}>{t('common.integrations.connected')}</div>
         {
           integrates.map(integrate => (
-            <div key={integrate.provider} className='mb-2 flex items-center rounded-lg border-[0.5px] border-gray-200 bg-gray-50 px-3 py-2'>
+            <div key={integrate.provider} className='mb-2 flex items-center px-3 py-2 bg-gray-50 border-[0.5px] border-gray-200 rounded-lg'>
               <div className={classNames('w-8 h-8 mr-3 bg-white rounded-lg border border-gray-100', s[`${integrate.provider}-icon`])} />
               <div className='grow'>
-                <div className='text-sm font-medium leading-[21px] text-gray-800'>{integrateMap[integrate.provider].name}</div>
-                <div className='text-xs font-normal leading-[18px] text-gray-500'>{integrateMap[integrate.provider].description}</div>
+                <div className='leading-[21px] text-sm font-medium text-gray-800'>{integrateMap[integrate.provider].name}</div>
+                <div className='leading-[18px] text-xs font-normal text-gray-500'>{integrateMap[integrate.provider].description}</div>
               </div>
               {
                 !integrate.is_bound && (
                   <Link
-                    className='flex h-8 cursor-pointer items-center rounded-lg border border-gray-200 bg-white px-[7px] text-xs font-medium text-gray-700'
+                    className='flex items-center h-8 px-[7px] bg-white rounded-lg border border-gray-200 text-xs font-medium text-gray-700 cursor-pointer'
                     href={integrate.link}
                     target='_blank' rel='noopener noreferrer'>
                     {t('common.integrations.connect')}
diff --git a/app/components/header/account-setting/api-based-extension-page/empty.tsx b/app/components/header/account-setting/api-based-extension-page/empty.tsx
index a7c7391..ce53459 100644
--- a/app/components/header/account-setting/api-based-extension-page/empty.tsx
+++ b/app/components/header/account-setting/api-based-extension-page/empty.tsx
@@ -1,25 +1,23 @@
 import { useTranslation } from 'react-i18next'
-import {
-  RiExternalLinkLine,
-  RiPuzzle2Line,
-} from '@remixicon/react'
+import { Webhooks } from '@/app/components/base/icons/src/vender/line/development'
+import { BookOpen01 } from '@/app/components/base/icons/src/vender/line/education'
 
 const Empty = () => {
   const { t } = useTranslation()
 
   return (
-    <div className='mb-2 rounded-xl bg-background-section p-6'>
-      <div className='mb-3 flex h-10 w-10 items-center justify-center rounded-[10px] border-[0.5px] border-components-card-border bg-components-card-bg-alt shadow-lg backdrop-blur-sm'>
-        <RiPuzzle2Line className='h-5 w-5 text-text-accent' />
+    <div className='mb-2 p-6 rounded-2xl bg-gray-50'>
+      <div className='flex items-center justify-center mb-3 w-12 h-12 rounded-[10px] border border-[#EAECF5]'>
+        <Webhooks className='w-6 h-6 text-gray-500' />
       </div>
-      <div className='system-sm-medium mb-1 text-text-secondary'>{t('common.apiBasedExtension.title')}</div>
+      <div className='mb-2 text-sm text-gray-600'>{t('common.apiBasedExtension.title')}</div>
       <a
-        className='system-xs-regular flex items-center text-text-accent'
+        className='flex items-center mb-2 h-[18px] text-xs text-primary-600'
         href={t('common.apiBasedExtension.linkUrl') || '/'}
         target='_blank' rel='noopener noreferrer'
       >
+        <BookOpen01 className='mr-1 w-3 h-3' />
         {t('common.apiBasedExtension.link')}
-        <RiExternalLinkLine className='ml-1 h-3 w-3' />
       </a>
     </div>
   )
diff --git a/app/components/header/account-setting/api-based-extension-page/index.tsx b/app/components/header/account-setting/api-based-extension-page/index.tsx
index d16c4f2..4a0a540 100644
--- a/app/components/header/account-setting/api-based-extension-page/index.tsx
+++ b/app/components/header/account-setting/api-based-extension-page/index.tsx
@@ -5,7 +5,6 @@
 } from '@remixicon/react'
 import Item from './item'
 import Empty from './empty'
-import Button from '@/app/components/base/button'
 import { useModalContext } from '@/context/modal-context'
 import { fetchApiBasedExtensionList } from '@/service/common'
 
@@ -42,14 +41,13 @@
           ))
         )
       }
-      <Button
-        variant='secondary'
-        className='w-full'
+      <div
+        className='flex items-center justify-center px-3 h-8 text-[13px] font-medium text-gray-700 rounded-lg bg-gray-50 cursor-pointer'
         onClick={handleOpenApiBasedExtensionModal}
       >
-        <RiAddLine className='mr-1 h-4 w-4' />
+        <RiAddLine className='mr-2 w-4 h-4' />
         {t('common.apiBasedExtension.add')}
-      </Button>
+      </div>
     </div>
   )
 }
diff --git a/app/components/header/account-setting/api-based-extension-page/item.tsx b/app/components/header/account-setting/api-based-extension-page/item.tsx
index 5a9ed24..6d716c6 100644
--- a/app/components/header/account-setting/api-based-extension-page/item.tsx
+++ b/app/components/header/account-setting/api-based-extension-page/item.tsx
@@ -3,9 +3,8 @@
 import { useTranslation } from 'react-i18next'
 import {
   RiDeleteBinLine,
-  RiEditLine,
 } from '@remixicon/react'
-import Button from '@/app/components/base/button'
+import { Edit02 } from '@/app/components/base/icons/src/vender/line/general'
 import type { ApiBasedExtension } from '@/models/common'
 import { useModalContext } from '@/context/modal-context'
 import { deleteApiBasedExtension } from '@/service/common'
@@ -37,25 +36,25 @@
   }
 
   return (
-    <div className='group mb-2 flex items-center rounded-xl border-[0.5px] border-transparent bg-components-input-bg-normal px-4 py-2 hover:border-components-input-border-active hover:shadow-xs'>
+    <div className='group flex items-center mb-2 px-4 py-2 border-[0.5px] border-transparent rounded-xl bg-gray-50 hover:border-gray-200 hover:shadow-xs'>
       <div className='grow'>
-        <div className='mb-0.5 text-[13px] font-medium text-text-secondary'>{data.name}</div>
-        <div className='text-xs text-text-tertiary'>{data.api_endpoint}</div>
+        <div className='mb-0.5 text-[13px] font-medium text-gray-700'>{data.name}</div>
+        <div className='text-xs text-gray-500'>{data.api_endpoint}</div>
       </div>
-      <div className='hidden items-center group-hover:flex'>
-        <Button
-          className='mr-1'
+      <div className='hidden group-hover:flex items-center'>
+        <div
+          className='flex items-center mr-1 px-3 h-7 bg-white text-xs font-medium text-gray-700 rounded-md border-[0.5px] border-gray-200 shadow-xs cursor-pointer'
           onClick={handleOpenApiBasedExtensionModal}
         >
-          <RiEditLine className='mr-1 h-4 w-4' />
+          <Edit02 className='mr-[5px] w-3.5 h-3.5' />
           {t('common.operation.edit')}
-        </Button>
-        <Button
+        </div>
+        <div
+          className='flex items-center justify-center w-7 h-7 bg-white text-gray-700 rounded-md border-[0.5px] border-gray-200 shadow-xs cursor-pointer'
           onClick={() => setShowDeleteConfirm(true)}
         >
-          <RiDeleteBinLine className='mr-1 h-4 w-4' />
-          {t('common.operation.delete')}
-        </Button>
+          <RiDeleteBinLine className='w-4 h-4' />
+        </div>
       </div>
       {
         showDeleteConfirm
diff --git a/app/components/header/account-setting/api-based-extension-page/modal.tsx b/app/components/header/account-setting/api-based-extension-page/modal.tsx
index 53f7673..23a04f5 100644
--- a/app/components/header/account-setting/api-based-extension-page/modal.tsx
+++ b/app/components/header/account-setting/api-based-extension-page/modal.tsx
@@ -10,7 +10,6 @@
   updateApiBasedExtension,
 } from '@/service/common'
 import { useToastContext } from '@/app/components/base/toast'
-import { noop } from 'lodash-es'
 
 export type ApiBasedExtensionData = {
   name?: string
@@ -75,10 +74,10 @@
   return (
     <Modal
       isShow
-      onClose={noop}
-      className='!w-[640px] !max-w-none !p-8 !pb-6'
+      onClose={() => { }}
+      className='!p-8 !pb-6 !max-w-none !w-[640px]'
     >
-      <div className='mb-2 text-xl font-semibold text-text-primary'>
+      <div className='mb-2 text-xl font-semibold text-gray-900'>
         {
           data.name
             ? t('common.apiBasedExtension.modal.editTitle')
@@ -86,49 +85,49 @@
         }
       </div>
       <div className='py-2'>
-        <div className='text-sm font-medium leading-9 text-text-primary'>
+        <div className='leading-9 text-sm font-medium text-gray-900'>
           {t('common.apiBasedExtension.modal.name.title')}
         </div>
         <input
           value={localeData.name || ''}
           onChange={e => handleDataChange('name', e.target.value)}
-          className='block h-9 w-full appearance-none rounded-lg bg-components-input-bg-normal px-3 text-sm text-text-primary outline-none'
+          className='block px-3 w-full h-9 bg-gray-100 rounded-lg text-sm text-gray-900 outline-none appearance-none'
           placeholder={t('common.apiBasedExtension.modal.name.placeholder') || ''}
         />
       </div>
       <div className='py-2'>
-        <div className='flex h-9 items-center justify-between text-sm font-medium text-text-primary'>
+        <div className='flex justify-between items-center h-9 text-sm font-medium text-gray-900'>
           {t('common.apiBasedExtension.modal.apiEndpoint.title')}
           <a
             href={t('common.apiBasedExtension.linkUrl') || '/'}
             target='_blank' rel='noopener noreferrer'
-            className='group flex items-center text-xs font-normal text-text-accent'
+            className='group flex items-center text-xs text-gray-500 font-normal hover:text-primary-600'
           >
-            <BookOpen01 className='mr-1 h-3 w-3' />
+            <BookOpen01 className='mr-1 w-3 h-3 text-gray-500 group-hover:text-primary-600' />
             {t('common.apiBasedExtension.link')}
           </a>
         </div>
         <input
           value={localeData.api_endpoint || ''}
           onChange={e => handleDataChange('api_endpoint', e.target.value)}
-          className='block h-9 w-full appearance-none rounded-lg bg-components-input-bg-normal px-3 text-sm text-text-primary outline-none'
+          className='block px-3 w-full h-9 bg-gray-100 rounded-lg text-sm text-gray-900 outline-none appearance-none'
           placeholder={t('common.apiBasedExtension.modal.apiEndpoint.placeholder') || ''}
         />
       </div>
       <div className='py-2'>
-        <div className='text-sm font-medium leading-9 text-text-primary'>
+        <div className='leading-9 text-sm font-medium text-gray-900'>
           {t('common.apiBasedExtension.modal.apiKey.title')}
         </div>
         <div className='flex items-center'>
           <input
             value={localeData.api_key || ''}
             onChange={e => handleDataChange('api_key', e.target.value)}
-            className='mr-2 block h-9 grow appearance-none rounded-lg bg-components-input-bg-normal px-3 text-sm text-text-primary outline-none'
+            className='block grow mr-2 px-3 h-9 bg-gray-100 rounded-lg text-sm text-gray-900 outline-none appearance-none'
             placeholder={t('common.apiBasedExtension.modal.apiKey.placeholder') || ''}
           />
         </div>
       </div>
-      <div className='mt-6 flex items-center justify-end'>
+      <div className='flex items-center justify-end mt-6'>
         <Button
           onClick={onCancel}
           className='mr-2'
diff --git a/app/components/header/account-setting/api-based-extension-page/selector.tsx b/app/components/header/account-setting/api-based-extension-page/selector.tsx
index 19d034a..fb1b22d 100644
--- a/app/components/header/account-setting/api-based-extension-page/selector.tsx
+++ b/app/components/header/account-setting/api-based-extension-page/selector.tsx
@@ -54,40 +54,40 @@
         {
           currentItem
             ? (
-              <div className='flex h-9 cursor-pointer items-center justify-between rounded-lg bg-components-input-bg-normal pl-3 pr-2.5'>
-                <div className='text-sm text-text-primary'>{currentItem.name}</div>
+              <div className='flex items-center justify-between pl-3 pr-2.5 h-9 bg-gray-100 rounded-lg cursor-pointer'>
+                <div className='text-sm text-gray-900'>{currentItem.name}</div>
                 <div className='flex items-center'>
-                  <div className='mr-1.5 w-[270px] truncate text-right text-xs text-text-quaternary'>
+                  <div className='mr-1.5 w-[270px] text-xs text-gray-400 truncate text-right'>
                     {currentItem.api_endpoint}
                   </div>
-                  <RiArrowDownSLine className={`h-4 w-4 text-text-secondary ${!open && 'opacity-60'}`} />
+                  <RiArrowDownSLine className={`w-4 h-4 text-gray-700 ${!open && 'opacity-60'}`} />
                 </div>
               </div>
             )
             : (
-              <div className='flex h-9 cursor-pointer items-center justify-between rounded-lg bg-components-input-bg-normal pl-3 pr-2.5 text-sm text-text-quaternary'>
+              <div className='flex items-center justify-between pl-3 pr-2.5 h-9 bg-gray-100 rounded-lg text-sm text-gray-400 cursor-pointer'>
                 {t('common.apiBasedExtension.selector.placeholder')}
-                <RiArrowDownSLine className={`h-4 w-4 text-text-secondary ${!open && 'opacity-60'}`} />
+                <RiArrowDownSLine className={`w-4 h-4 text-gray-700 ${!open && 'opacity-60'}`} />
               </div>
             )
         }
       </PortalToFollowElemTrigger>
-      <PortalToFollowElemContent className='z-[102] w-[calc(100%-32px)] max-w-[576px]'>
-        <div className='z-10 w-full rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg'>
+      <PortalToFollowElemContent className='w-[calc(100%-32px)] max-w-[576px] z-[102]'>
+        <div className='w-full rounded-lg border-[0.5px] border-gray-200 bg-white shadow-lg z-10'>
           <div className='p-1'>
-            <div className='flex items-center justify-between px-3 pb-1 pt-2'>
-              <div className='text-xs font-medium text-text-tertiary'>
+            <div className='flex items-center justify-between px-3 pt-2 pb-1'>
+              <div className='text-xs font-medium text-gray-500'>
                 {t('common.apiBasedExtension.selector.title')}
               </div>
               <div
-                className='flex cursor-pointer items-center text-xs text-text-accent'
+                className='flex items-center text-xs text-primary-600 cursor-pointer'
                 onClick={() => {
                   setOpen(false)
                   setShowAccountSettingModal({ payload: 'api-based-extension' })
                 }}
               >
                 {t('common.apiBasedExtension.selector.manage')}
-                <ArrowUpRight className='ml-0.5 h-3 w-3' />
+                <ArrowUpRight className='ml-0.5 w-3 h-3' />
               </div>
             </div>
             <div className='max-h-[250px] overflow-y-auto'>
@@ -95,26 +95,26 @@
                 data?.map(item => (
                   <div
                     key={item.id}
-                    className='w-full cursor-pointer rounded-md px-3 py-1.5 text-left hover:stroke-state-base-hover'
+                    className='px-3 py-1.5 w-full cursor-pointer hover:bg-gray-50 rounded-md text-left'
                     onClick={() => handleSelect(item.id!)}
                   >
-                    <div className='text-sm text-text-primary'>{item.name}</div>
-                    <div className='text-xs text-text-tertiary'>{item.api_endpoint}</div>
+                    <div className='text-sm text-gray-900'>{item.name}</div>
+                    <div className='text-xs text-gray-500'>{item.api_endpoint}</div>
                   </div>
                 ))
               }
             </div>
           </div>
-          <div className='h-[1px] bg-divider-regular' />
+          <div className='h-[1px] bg-gray-100' />
           <div className='p-1'>
             <div
-              className='flex h-8 cursor-pointer items-center px-3 text-sm text-text-accent'
+              className='flex items-center px-3 h-8 text-sm text-primary-600 cursor-pointer'
               onClick={() => {
                 setOpen(false)
                 setShowApiBasedExtensionModal({ payload: {}, onSaveCallback: () => mutate() })
               }}
             >
-              <RiAddLine className='mr-2 h-4 w-4' />
+              <RiAddLine className='mr-2 w-4 h-4' />
               {t('common.operation.add')}
             </div>
           </div>
diff --git a/app/components/header/account-setting/collapse/index.tsx b/app/components/header/account-setting/collapse/index.tsx
index e028f03..d0068da 100644
--- a/app/components/header/account-setting/collapse/index.tsx
+++ b/app/components/header/account-setting/collapse/index.tsx
@@ -25,18 +25,18 @@
   const toggle = () => setOpen(!open)
 
   return (
-    <div className={classNames('bg-background-section-burn rounded-xl overflow-hidden', wrapperClassName)}>
-      <div className='flex cursor-pointer items-center justify-between px-3 py-2 text-xs font-medium leading-[18px] text-text-secondary' onClick={toggle}>
+    <div className={classNames('bg-background-section-burn rounded-xl', wrapperClassName)}>
+      <div className='flex items-center justify-between leading-[18px] px-3 py-2 text-xs font-medium text-text-secondary cursor-pointer' onClick={toggle}>
         {title}
         {
           open
-            ? <ChevronDownIcon className='h-3 w-3 text-components-button-tertiary-text' />
-            : <ChevronRightIcon className='h-3 w-3 text-components-button-tertiary-text' />
+            ? <ChevronDownIcon className='w-3 h-3 text-components-button-tertiary-text' />
+            : <ChevronRightIcon className='w-3 h-3 text-components-button-tertiary-text' />
         }
       </div>
       {
         open && (
-          <div className='mx-1 mb-1 rounded-lg border-t border-divider-subtle bg-components-panel-on-panel-item-bg py-1'>
+          <div className='py-1 mb-1 mx-1 border-t border-divider-subtle rounded-lg bg-components-panel-on-panel-item-bg'>
             {
               items.map(item => (
                 <div key={item.key} onClick={() => onSelect && onSelect(item)}>
diff --git a/app/components/header/account-setting/data-source-page/data-source-notion/index.tsx b/app/components/header/account-setting/data-source-page/data-source-notion/index.tsx
index 38efdcb..b0db511 100644
--- a/app/components/header/account-setting/data-source-page/data-source-notion/index.tsx
+++ b/app/components/header/account-setting/data-source-page/data-source-notion/index.tsx
@@ -8,7 +8,6 @@
 import { useAppContext } from '@/context/app-context'
 import { fetchNotionConnection } from '@/service/common'
 import NotionIcon from '@/app/components/base/notion-icon'
-import { noop } from 'lodash-es'
 
 const Icon: FC<{
   src: string
@@ -75,7 +74,7 @@
           total: workspace.source_info.total || 0,
         },
       }))}
-      onRemove={noop} // handled in operation/index.tsx
+      onRemove={() => { }} // handled in operation/index.tsx
       notionActions={{
         onChangeAuthorizedPage: handleAuthAgain,
       }}
diff --git a/app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx b/app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx
index bcf24d6..c6c8b9e 100644
--- a/app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx
+++ b/app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx
@@ -8,10 +8,9 @@
   RiMoreFill,
   RiStickyNoteAddLine,
 } from '@remixicon/react'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import { syncDataSourceNotion, updateDataSourceNotionAction } from '@/service/common'
 import Toast from '@/app/components/base/toast'
-import cn from '@/utils/classnames'
 
 type OperateProps = {
   payload: {
@@ -24,6 +23,13 @@
   payload,
   onAuthAgain,
 }: OperateProps) {
+  const itemClassName = `
+    flex px-3 py-2 hover:bg-gray-50 text-sm text-gray-700
+    cursor-pointer
+  `
+  const itemIconClassName = `
+  mr-2 mt-[2px] w-4 h-4 text-gray-500
+  `
   const { t } = useTranslation()
   const { mutate } = useSWRConfig()
 
@@ -48,9 +54,9 @@
       {
         ({ open }) => (
           <>
-            <MenuButton className={cn('flex h-8 w-8 items-center justify-center rounded-lg hover:bg-state-base-hover', open && 'bg-state-base-hover')}>
-              <RiMoreFill className='h-4 w-4 text-text-secondary' />
-            </MenuButton>
+            <Menu.Button className={`flex items-center justify-center w-8 h-8 rounded-lg hover:bg-gray-100 ${open && 'bg-gray-100'}`}>
+              <RiMoreFill className='w-4 h-4' />
+            </Menu.Button>
             <Transition
               as={Fragment}
               enter="transition ease-out duration-100"
@@ -60,38 +66,44 @@
               leaveFrom="transform opacity-100 scale-100"
               leaveTo="transform opacity-0 scale-95"
             >
-              <MenuItems className="absolute right-0 top-9 w-60 max-w-80 origin-top-right rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-sm">
+              <Menu.Items
+                className="
+                  absolute right-0 top-9 w-60 max-w-80
+                  divide-y divide-gray-100 origin-top-right rounded-lg bg-white
+                  shadow-lg
+                "
+              >
                 <div className="px-1 py-1">
-                  <MenuItem>
+                  <Menu.Item>
                     <div
-                      className='flex cursor-pointer rounded-lg px-3 py-2 hover:bg-state-base-hover'
+                      className={itemClassName}
                       onClick={onAuthAgain}
                     >
-                      <RiStickyNoteAddLine className='mr-2 mt-[2px] h-4 w-4 text-text-tertiary' />
+                      <RiStickyNoteAddLine className={itemIconClassName} />
                       <div>
-                        <div className='system-sm-semibold text-text-secondary'>{t('common.dataSource.notion.changeAuthorizedPages')}</div>
-                        <div className='system-xs-regular text-text-tertiary'>
+                        <div className='leading-5'>{t('common.dataSource.notion.changeAuthorizedPages')}</div>
+                        <div className='leading-5 text-xs text-gray-500'>
                           {payload.total} {t('common.dataSource.notion.pagesAuthorized')}
                         </div>
                       </div>
                     </div>
-                  </MenuItem>
-                  <MenuItem>
-                    <div className='flex cursor-pointer rounded-lg px-3 py-2 hover:bg-state-base-hover' onClick={handleSync}>
-                      <RiLoopLeftLine className='mr-2 mt-[2px] h-4 w-4 text-text-tertiary' />
-                      <div className='system-sm-semibold text-text-secondary'>{t('common.dataSource.notion.sync')}</div>
+                  </Menu.Item>
+                  <Menu.Item>
+                    <div className={itemClassName} onClick={handleSync}>
+                      <RiLoopLeftLine className={itemIconClassName} />
+                      <div className='leading-5'>{t('common.dataSource.notion.sync')}</div>
                     </div>
-                  </MenuItem>
+                  </Menu.Item>
                 </div>
-                <MenuItem>
-                  <div className='border-t border-divider-subtle p-1'>
-                    <div className='flex cursor-pointer rounded-lg px-3 py-2 hover:bg-state-base-hover' onClick={handleRemove}>
-                      <RiDeleteBinLine className='mr-2 mt-[2px] h-4 w-4 text-text-tertiary' />
-                      <div className='system-sm-semibold text-text-secondary'>{t('common.dataSource.notion.remove')}</div>
+                <Menu.Item>
+                  <div className='p-1'>
+                    <div className={itemClassName} onClick={handleRemove}>
+                      <RiDeleteBinLine className={itemIconClassName} />
+                      <div className='leading-5'>{t('common.dataSource.notion.remove')}</div>
                     </div>
                   </div>
-                </MenuItem>
-              </MenuItems>
+                </Menu.Item>
+              </Menu.Items>
             </Transition>
           </>
         )
diff --git a/app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx b/app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx
index 81ee35a..a4a8b9b 100644
--- a/app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx
+++ b/app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx
@@ -88,12 +88,12 @@
 
   return (
     <PortalToFollowElem open>
-      <PortalToFollowElemContent className='z-[60] h-full w-full'>
-        <div className='fixed inset-0 flex items-center justify-center bg-background-overlay'>
-          <div className='mx-2 max-h-[calc(100vh-120px)] w-[640px] overflow-y-auto rounded-2xl bg-components-panel-bg shadow-xl'>
+      <PortalToFollowElemContent className='w-full h-full z-[60]'>
+        <div className='fixed inset-0 flex items-center justify-center bg-black/[.25]'>
+          <div className='mx-2 w-[640px] max-h-[calc(100vh-120px)] bg-white shadow-xl rounded-2xl overflow-y-auto'>
             <div className='px-8 pt-8'>
-              <div className='mb-4 flex items-center justify-between'>
-                <div className='system-xl-semibold text-text-primary'>{t(`${I18N_PREFIX}.configFirecrawl`)}</div>
+              <div className='flex justify-between items-center mb-4'>
+                <div className='text-xl font-semibold text-gray-900'>{t(`${I18N_PREFIX}.configFirecrawl`)}</div>
               </div>
 
               <div className='space-y-4'>
@@ -113,10 +113,10 @@
                   placeholder={DEFAULT_BASE_URL}
                 />
               </div>
-              <div className='my-8 flex h-8 items-center justify-between'>
-                <a className='flex items-center space-x-1 text-xs font-normal leading-[18px] text-text-accent' target='_blank' href='https://www.firecrawl.dev/account'>
+              <div className='my-8 flex justify-between items-center h-8'>
+                <a className='flex items-center space-x-1 leading-[18px] text-xs font-normal text-[#155EEF]' target='_blank' href='https://www.firecrawl.dev/account'>
                   <span>{t(`${I18N_PREFIX}.getApiKeyLinkText`)}</span>
-                  <LinkExternal02 className='h-3 w-3' />
+                  <LinkExternal02 className='w-3 h-3' />
                 </a>
                 <div className='flex'>
                   <Button
@@ -138,12 +138,12 @@
 
               </div>
             </div>
-            <div className='border-t-[0.5px] border-t-divider-regular'>
-              <div className='flex items-center justify-center bg-background-section-burn py-3 text-xs text-text-tertiary'>
-                <Lock01 className='mr-1 h-3 w-3 text-text-tertiary' />
+            <div className='border-t-[0.5px] border-t-black/5'>
+              <div className='flex justify-center items-center py-3 bg-gray-50 text-xs text-gray-500'>
+                <Lock01 className='mr-1 w-3 h-3 text-gray-500' />
                 {t('common.modelProvider.encrypted.front')}
                 <a
-                  className='mx-1 text-text-accent'
+                  className='text-primary-600 mx-1'
                   target='_blank' rel='noopener noreferrer'
                   href='https://pycryptodome.readthedocs.io/en/latest/src/cipher/oaep.html'
                 >
diff --git a/app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx b/app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx
index 1e57e2f..c6d6ad0 100644
--- a/app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx
+++ b/app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx
@@ -74,12 +74,12 @@
 
   return (
     <PortalToFollowElem open>
-      <PortalToFollowElemContent className='z-[60] h-full w-full'>
-        <div className='fixed inset-0 flex items-center justify-center bg-background-overlay'>
-          <div className='mx-2 max-h-[calc(100vh-120px)] w-[640px] overflow-y-auto rounded-2xl bg-components-panel-bg shadow-xl'>
+      <PortalToFollowElemContent className='w-full h-full z-[60]'>
+        <div className='fixed inset-0 flex items-center justify-center bg-black/[.25]'>
+          <div className='mx-2 w-[640px] max-h-[calc(100vh-120px)] bg-white shadow-xl rounded-2xl overflow-y-auto'>
             <div className='px-8 pt-8'>
-              <div className='mb-4 flex items-center justify-between'>
-                <div className='system-xl-semibold text-text-primary'>{t(`${I18N_PREFIX}.configJinaReader`)}</div>
+              <div className='flex justify-between items-center mb-4'>
+                <div className='text-xl font-semibold text-gray-900'>{t(`${I18N_PREFIX}.configJinaReader`)}</div>
               </div>
 
               <div className='space-y-4'>
@@ -92,10 +92,10 @@
                   placeholder={t(`${I18N_PREFIX}.apiKeyPlaceholder`)!}
                 />
               </div>
-              <div className='my-8 flex h-8 items-center justify-between'>
-                <a className='flex items-center space-x-1 text-xs font-normal leading-[18px] text-text-accent' target='_blank' href='https://jina.ai/reader/'>
+              <div className='my-8 flex justify-between items-center h-8'>
+                <a className='flex items-center space-x-1 leading-[18px] text-xs font-normal text-[#155EEF]' target='_blank' href='https://jina.ai/reader/'>
                   <span>{t(`${I18N_PREFIX}.getApiKeyLinkText`)}</span>
-                  <LinkExternal02 className='h-3 w-3' />
+                  <LinkExternal02 className='w-3 h-3' />
                 </a>
                 <div className='flex'>
                   <Button
@@ -117,12 +117,12 @@
 
               </div>
             </div>
-            <div className='border-t-[0.5px] border-t-divider-regular'>
-              <div className='flex items-center justify-center bg-background-section-burn py-3 text-xs text-text-tertiary'>
-                <Lock01 className='mr-1 h-3 w-3 text-text-tertiary' />
+            <div className='border-t-[0.5px] border-t-black/5'>
+              <div className='flex justify-center items-center py-3 bg-gray-50 text-xs text-gray-500'>
+                <Lock01 className='mr-1 w-3 h-3 text-gray-500' />
                 {t('common.modelProvider.encrypted.front')}
                 <a
-                  className='mx-1 text-text-accent'
+                  className='text-primary-600 mx-1'
                   target='_blank' rel='noopener noreferrer'
                   href='https://pycryptodome.readthedocs.io/en/latest/src/cipher/oaep.html'
                 >
diff --git a/app/components/header/account-setting/data-source-page/data-source-website/index.tsx b/app/components/header/account-setting/data-source-page/data-source-website/index.tsx
index 911bf01..628510c 100644
--- a/app/components/header/account-setting/data-source-page/data-source-website/index.tsx
+++ b/app/components/header/account-setting/data-source-page/data-source-website/index.tsx
@@ -5,15 +5,19 @@
 import Panel from '../panel'
 import { DataSourceType } from '../panel/types'
 import ConfigFirecrawlModal from './config-firecrawl-modal'
-import ConfigWatercrawlModal from './config-watercrawl-modal'
 import ConfigJinaReaderModal from './config-jina-reader-modal'
 import cn from '@/utils/classnames'
 import s from '@/app/components/datasets/create/website/index.module.css'
 import { fetchDataSources, removeDataSourceApiKeyBinding } from '@/service/datasets'
 
-import type { DataSourceItem } from '@/models/common'
-import { DataSourceProvider } from '@/models/common'
+import type {
+  DataSourceItem,
+} from '@/models/common'
 import { useAppContext } from '@/context/app-context'
+
+import {
+  DataSourceProvider,
+} from '@/models/common'
 import Toast from '@/app/components/base/toast'
 
 type Props = {
@@ -54,16 +58,6 @@
     return source?.id
   }
 
-  const getProviderName = (provider: DataSourceProvider): string => {
-    if (provider === DataSourceProvider.fireCrawl)
-      return 'Firecrawl'
-
-    if (provider === DataSourceProvider.waterCrawl)
-      return 'WaterCrawl'
-
-    return 'Jina Reader'
-  }
-
   const handleRemove = useCallback((provider: DataSourceProvider) => {
     return async () => {
       const dataSourceId = getIdByProvider(provider)
@@ -88,42 +82,27 @@
         readOnly={!isCurrentWorkspaceManager}
         configuredList={sources.filter(item => item.provider === provider).map(item => ({
           id: item.id,
-          logo: ({ className }: { className: string }) => {
-            if (item.provider === DataSourceProvider.fireCrawl) {
-              return (
-                <div
-                  className={cn(className, 'ml-3 flex h-5 w-5 items-center justify-center rounded border border-divider-subtle !bg-background-default text-xs font-medium text-text-tertiary')}>馃敟</div>
+          logo: ({ className }: { className: string }) => (
+            item.provider === DataSourceProvider.fireCrawl
+              ? (
+                <div className={cn(className, 'flex items-center justify-center w-5 h-5 bg-white border border-gray-100 text-xs font-medium text-gray-500 rounded ml-3')}>馃敟</div>
               )
-            }
-
-            if (item.provider === DataSourceProvider.waterCrawl) {
-              return (
-                <div
-                  className={cn(className, 'ml-3 flex h-5 w-5 items-center justify-center rounded border border-divider-subtle !bg-background-default text-xs font-medium text-text-tertiary')}>
-                  <span className={s.watercrawlLogo}/>
+              : (
+                <div className={cn(className, 'flex items-center justify-center w-5 h-5 bg-white border border-gray-100 text-xs font-medium text-gray-500 rounded ml-3')}>
+                  <span className={s.jinaLogo} />
                 </div>
               )
-            }
-            return (
-              <div
-                className={cn(className, 'ml-3 flex h-5 w-5 items-center justify-center rounded border border-divider-subtle !bg-background-default text-xs font-medium text-text-tertiary')}>
-                <span className={s.jinaLogo}/>
-              </div>
-            )
-          },
-          name: getProviderName(item.provider),
+          ),
+          name: item.provider === DataSourceProvider.fireCrawl ? 'Firecrawl' : 'Jina Reader',
           isActive: true,
         }))}
         onRemove={handleRemove(provider)}
       />
       {configTarget === DataSourceProvider.fireCrawl && (
-        <ConfigFirecrawlModal onSaved={handleAdded} onCancel={hideConfig}/>
-      )}
-      {configTarget === DataSourceProvider.waterCrawl && (
-        <ConfigWatercrawlModal onSaved={handleAdded} onCancel={hideConfig}/>
+        <ConfigFirecrawlModal onSaved={handleAdded} onCancel={hideConfig} />
       )}
       {configTarget === DataSourceProvider.jinaReader && (
-        <ConfigJinaReaderModal onSaved={handleAdded} onCancel={hideConfig}/>
+        <ConfigJinaReaderModal onSaved={handleAdded} onCancel={hideConfig} />
       )}
     </>
 
diff --git a/app/components/header/account-setting/data-source-page/index.tsx b/app/components/header/account-setting/data-source-page/index.tsx
index fb13813..93dc2db 100644
--- a/app/components/header/account-setting/data-source-page/index.tsx
+++ b/app/components/header/account-setting/data-source-page/index.tsx
@@ -1,20 +1,20 @@
 import useSWR from 'swr'
+import { useTranslation } from 'react-i18next'
 import DataSourceNotion from './data-source-notion'
 import DataSourceWebsite from './data-source-website'
 import { fetchDataSource } from '@/service/common'
 import { DataSourceProvider } from '@/models/common'
-import { ENABLE_WEBSITE_FIRECRAWL, ENABLE_WEBSITE_JINAREADER, ENABLE_WEBSITE_WATERCRAWL } from '@/config'
 
 export default function DataSourcePage() {
+  const { t } = useTranslation()
   const { data } = useSWR({ url: 'data-source/integrates' }, fetchDataSource)
   const notionWorkspaces = data?.data.filter(item => item.provider === 'notion') || []
 
   return (
     <div className='mb-8'>
       <DataSourceNotion workspaces={notionWorkspaces} />
-      {ENABLE_WEBSITE_JINAREADER && <DataSourceWebsite provider={DataSourceProvider.jinaReader} />}
-      {ENABLE_WEBSITE_FIRECRAWL && <DataSourceWebsite provider={DataSourceProvider.fireCrawl} />}
-      {ENABLE_WEBSITE_WATERCRAWL && <DataSourceWebsite provider={DataSourceProvider.waterCrawl} />}
+      <DataSourceWebsite provider={DataSourceProvider.jinaReader} />
+      <DataSourceWebsite provider={DataSourceProvider.fireCrawl} />
     </div>
   )
 }
diff --git a/app/components/header/account-setting/data-source-page/panel/config-item.tsx b/app/components/header/account-setting/data-source-page/panel/config-item.tsx
index 6faf840..b7fd819 100644
--- a/app/components/header/account-setting/data-source-page/panel/config-item.tsx
+++ b/app/components/header/account-setting/data-source-page/panel/config-item.tsx
@@ -10,7 +10,6 @@
 import { DataSourceType } from './types'
 import s from './style.module.css'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 export type ConfigItemType = {
   id: string
@@ -42,25 +41,25 @@
   const { t } = useTranslation()
   const isNotion = type === DataSourceType.notion
   const isWebsite = type === DataSourceType.website
-  const onChangeAuthorizedPage = notionActions?.onChangeAuthorizedPage || noop
+  const onChangeAuthorizedPage = notionActions?.onChangeAuthorizedPage || function () { }
 
   return (
-    <div className={cn(s['workspace-item'], 'mb-1 flex items-center rounded-lg bg-components-panel-on-panel-item-bg py-1 pr-1')} key={payload.id}>
+    <div className={cn(s['workspace-item'], 'flex items-center mb-1 py-1 pr-1 bg-components-panel-on-panel-item-bg rounded-lg')} key={payload.id}>
       <payload.logo className='ml-3 mr-1.5' />
-      <div className='system-sm-medium grow truncate py-[7px] text-text-secondary' title={payload.name}>{payload.name}</div>
+      <div className='grow py-[7px] system-sm-medium text-text-secondary truncate' title={payload.name}>{payload.name}</div>
       {
         payload.isActive
-          ? <Indicator className='mr-[6px] shrink-0' color='green' />
-          : <Indicator className='mr-[6px] shrink-0' color='yellow' />
+          ? <Indicator className='shrink-0 mr-[6px]' color='green' />
+          : <Indicator className='shrink-0 mr-[6px]' color='yellow' />
       }
-      <div className={`system-xs-semibold-uppercase mr-3 shrink-0 ${payload.isActive ? 'text-util-colors-green-green-600' : 'text-util-colors-warning-warning-600'}`}>
+      <div className={`shrink-0 mr-3 text-xs font-medium uppercase ${payload.isActive ? 'text-util-colors-green-green-600' : 'text-util-colors-warning-warning-600'}`}>
         {
           payload.isActive
             ? t(isNotion ? 'common.dataSource.notion.connected' : 'common.dataSource.website.active')
             : t(isNotion ? 'common.dataSource.notion.disconnected' : 'common.dataSource.website.inactive')
         }
       </div>
-      <div className='mr-2 h-3 w-[1px] bg-divider-regular' />
+      <div className='mr-2 w-[1px] h-3 bg-divider-regular' />
       {isNotion && (
         <Operate payload={{
           id: payload.id,
@@ -71,8 +70,8 @@
 
       {
         isWebsite && !readOnly && (
-          <div className='cursor-pointer rounded-md p-2 text-text-tertiary hover:bg-state-base-hover' onClick={onRemove} >
-            <RiDeleteBinLine className='h-4 w-4' />
+          <div className='p-2 text-text-tertiary cursor-pointer rounded-md hover:bg-black/5' onClick={onRemove} >
+            <RiDeleteBinLine className='w-4 h-4' />
           </div>
         )
       }
diff --git a/app/components/header/account-setting/data-source-page/panel/index.tsx b/app/components/header/account-setting/data-source-page/panel/index.tsx
index 95ab9a6..8d2ec0a 100644
--- a/app/components/header/account-setting/data-source-page/panel/index.tsx
+++ b/app/components/header/account-setting/data-source-page/panel/index.tsx
@@ -8,13 +8,12 @@
 
 import s from './style.module.css'
 import { DataSourceType } from './types'
-import Button from '@/app/components/base/button'
 import { DataSourceProvider } from '@/models/common'
 import cn from '@/utils/classnames'
 
 type Props = {
   type: DataSourceType
-  provider?: DataSourceProvider
+  provider: DataSourceProvider
   isConfigured: boolean
   onConfigure: () => void
   readOnly: boolean
@@ -41,22 +40,16 @@
   const isNotion = type === DataSourceType.notion
   const isWebsite = type === DataSourceType.website
 
-  const getProviderName = (): string => {
-    if (provider === DataSourceProvider.fireCrawl) return '馃敟 Firecrawl'
-    if (provider === DataSourceProvider.waterCrawl) return 'WaterCrawl'
-    return 'Jina Reader'
-  }
-
   return (
-    <div className='mb-2 rounded-xl bg-background-section-burn'>
+    <div className='mb-2 bg-background-section-burn rounded-xl'>
       <div className='flex items-center px-3 py-[9px]'>
-        <div className={cn(s[`${type}-icon`], 'mr-3 h-8 w-8 rounded-lg border border-divider-subtle !bg-background-default')} />
+        <div className={cn(s[`${type}-icon`], 'w-8 h-8 mr-3 border border-divider-subtle rounded-lg bg-background-default')} />
         <div className='grow'>
-          <div className='flex h-5 items-center'>
+          <div className='flex items-center h-5'>
             <div className='text-sm font-medium text-text-primary'>{t(`common.dataSource.${type}.title`)}</div>
             {isWebsite && (
-              <div className='ml-1 rounded-md bg-components-badge-white-to-dark px-1.5 text-xs font-medium leading-[18px] text-text-secondary'>
-                <span className='text-text-tertiary'>{t('common.dataSource.website.with')}</span> {getProviderName()}
+              <div className='ml-1 leading-[18px] px-1.5 rounded-md bg-white border border-gray-100 text-xs font-medium text-gray-700'>
+                <span className='text-gray-500'>{t('common.dataSource.website.with')}</span> { provider === DataSourceProvider.fireCrawl ? '馃敟 Firecrawl' : 'Jina Reader'}
               </div>
             )}
           </div>
@@ -73,24 +66,27 @@
             {
               isConfigured
                 ? (
-                  <Button
-                    disabled={readOnly}
-                    className='ml-3'
+                  <div
+                    className={
+                      `flex items-center ml-3 px-3 h-7 bg-white border border-gray-200
+                  rounded-md text-xs font-medium text-gray-700
+                  ${!readOnly ? 'cursor-pointer' : 'grayscale opacity-50 cursor-default'}`
+                    }
                     onClick={onConfigure}
                   >
                     {t('common.dataSource.configure')}
-                  </Button>
+                  </div>
                 )
                 : (
                   <>
                     {isSupportList && <div
                       className={
-                        `system-sm-medium flex min-h-7 items-center rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-3 py-1 text-components-button-secondary-accent-text
-                  ${!readOnly ? 'cursor-pointer' : 'cursor-default opacity-50 grayscale'}`
+                        `flex items-center px-3 py-1 min-h-7 bg-components-button-secondary-bg border-[0.5px] border-components-button-secondary-border system-sm-medium text-components-button-secondary-accent-text rounded-md
+                  ${!readOnly ? 'cursor-pointer' : 'grayscale opacity-50 cursor-default'}`
                       }
                       onClick={onConfigure}
                     >
-                      <RiAddLine className='mr-[5px] h-4 w-4 text-components-button-secondary-accent-text' />
+                      <RiAddLine className='w-4 h-4 text-components-button-secondary-accent-text mr-[5px]' />
                       {t('common.dataSource.connect')}
                     </div>}
                   </>
@@ -102,9 +98,9 @@
         {isWebsite && !isConfigured && (
           <div
             className={
-              `ml-3 flex h-7 items-center rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg
-              px-3 text-xs font-medium text-components-button-secondary-accent-text
-              ${!readOnly ? 'cursor-pointer' : 'cursor-default opacity-50 grayscale'}`
+              `flex items-center ml-3 px-3 h-7 bg-components-button-secondary-bg border-[0.5px] border-components-button-secondary-border
+              rounded-md text-xs font-medium text-components-button-secondary-accent-text
+              ${!readOnly ? 'cursor-pointer' : 'grayscale opacity-50 cursor-default'}`
             }
             onClick={!readOnly ? onConfigure : undefined}
           >
@@ -116,13 +112,13 @@
       {
         isConfigured && (
           <>
-            <div className='flex h-[18px] items-center px-3'>
+            <div className='flex items-center px-3 h-[18px]'>
               <div className='system-xs-medium text-text-tertiary'>
                 {isNotion ? t('common.dataSource.notion.connectedWorkspace') : t('common.dataSource.website.configuredCrawlers')}
               </div>
-              <div className='ml-3 grow border-t border-t-divider-subtle' />
+              <div className='grow ml-3 border-t border-t-divider-subtle' />
             </div>
-            <div className='px-3 pb-3 pt-2'>
+            <div className='px-3 pt-2 pb-3'>
               {
                 configuredList.map(item => (
                   <ConfigItem
diff --git a/app/components/header/account-setting/data-source-page/panel/style.module.css b/app/components/header/account-setting/data-source-page/panel/style.module.css
index ac9be02..a11d475 100644
--- a/app/components/header/account-setting/data-source-page/panel/style.module.css
+++ b/app/components/header/account-setting/data-source-page/panel/style.module.css
@@ -14,4 +14,4 @@
 
 .workspace-item:last-of-type {
   margin-bottom: 0;
-}
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/index.module.css b/app/components/header/account-setting/index.module.css
new file mode 100644
index 0000000..bb855e1
--- /dev/null
+++ b/app/components/header/account-setting/index.module.css
@@ -0,0 +1,8 @@
+.modal {
+  max-width: 1024px !important;
+  border-radius: 12px !important;
+  margin-top: 60px;
+  margin-bottom: 60px;
+  padding: 0 !important;
+  overflow-y: auto;
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/index.tsx b/app/components/header/account-setting/index.tsx
index b2a3c82..4be7ec6 100644
--- a/app/components/header/account-setting/index.tsx
+++ b/app/components/header/account-setting/index.tsx
@@ -2,8 +2,8 @@
 import { useTranslation } from 'react-i18next'
 import { useEffect, useRef, useState } from 'react'
 import {
-  RiBrain2Fill,
-  RiBrain2Line,
+  RiBox3Fill,
+  RiBox3Line,
   RiCloseLine,
   RiColorFilterFill,
   RiColorFilterLine,
@@ -17,23 +17,26 @@
   RiPuzzle2Line,
   RiTranslate2,
 } from '@remixicon/react'
-import Button from '../../base/button'
 import MembersPage from './members-page'
 import LanguagePage from './language-page'
 import ApiBasedExtensionPage from './api-based-extension-page'
 import DataSourcePage from './data-source-page'
 import ModelProviderPage from './model-provider-page'
+import s from './index.module.css'
 import cn from '@/utils/classnames'
 import BillingPage from '@/app/components/billing/billing-page'
 import CustomPage from '@/app/components/custom/custom-page'
+import Modal from '@/app/components/base/modal'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import { useProviderContext } from '@/context/provider-context'
 import { useAppContext } from '@/context/app-context'
-import MenuDialog from '@/app/components/header/account-setting/menu-dialog'
-import Input from '@/app/components/base/input'
 
 const iconClassName = `
-  w-5 h-5 mr-2
+  w-4 h-4 ml-3 mr-2
+`
+
+const scrolledClassName = `
+  border-b shadow-xs bg-white/[.98]
 `
 
 type IAccountSettingProps = {
@@ -45,8 +48,8 @@
   key: string
   name: string
   description?: string
-  icon: React.JSX.Element
-  activeIcon: React.JSX.Element
+  icon: JSX.Element
+  activeIcon: JSX.Element
 }
 
 export default function AccountSetting({
@@ -65,8 +68,8 @@
       {
         key: 'provider',
         name: t('common.settings.provider'),
-        icon: <RiBrain2Line className={iconClassName} />,
-        activeIcon: <RiBrain2Fill className={iconClassName} />,
+        icon: <RiBox3Line className={iconClassName} />,
+        activeIcon: <RiBox3Fill className={iconClassName} />,
       },
       {
         key: 'members',
@@ -114,7 +117,7 @@
     },
     {
       key: 'account-group',
-      name: t('common.settings.generalGroup'),
+      name: t('common.settings.accountGroup'),
       items: [
         {
           key: 'language',
@@ -141,31 +144,32 @@
 
   const activeItem = [...menuItems[0].items, ...menuItems[1].items].find(item => item.key === activeMenu)
 
-  const [searchValue, setSearchValue] = useState<string>('')
-
   return (
-    <MenuDialog
-      show
-      onClose={onCancel}
+    <Modal
+      isShow
+      onClose={() => { }}
+      className={s.modal}
+      wrapperClassName='pt-[60px]'
     >
-      <div className='mx-auto flex h-[100vh] max-w-[1048px]'>
-        <div className='flex w-[44px] flex-col border-r border-divider-burn pl-4 pr-6 sm:w-[224px]'>
-          <div className='title-2xl-semi-bold mb-8 mt-6 px-3 py-2 text-text-primary'>{t('common.userProfile.settings')}</div>
+      <div className='flex'>
+        <div className='w-[44px] sm:w-[200px] px-[1px] py-4 sm:p-4 border border-divider-burn shrink-0 sm:shrink-1 flex flex-col items-center sm:items-start'>
+          <div className='mb-8 ml-0 sm:ml-2 sm:text-base title-2xl-semi-bold text-text-primary'>{t('common.userProfile.settings')}</div>
           <div className='w-full'>
             {
               menuItems.map(menuItem => (
-                <div key={menuItem.key} className='mb-2'>
+                <div key={menuItem.key} className='mb-4'>
                   {!isCurrentWorkspaceDatasetOperator && (
-                    <div className='system-xs-medium-uppercase mb-0.5 py-2 pb-1 pl-3 text-text-tertiary'>{menuItem.name}</div>
+                    <div className='px-2 mb-[6px] sm:text-xs system-xs-medium-uppercase text-text-tertiary'>{menuItem.name}</div>
                   )}
                   <div>
                     {
                       menuItem.items.map(item => (
                         <div
                           key={item.key}
-                          className={cn(
-                            'mb-0.5 flex h-[37px] cursor-pointer items-center rounded-lg p-1 pl-3 text-sm',
-                            activeMenu === item.key ? 'system-sm-semibold bg-state-base-active text-components-menu-item-text-active' : 'system-sm-medium text-components-menu-item-text')}
+                          className={`
+                            flex items-center h-[37px] mb-[2px] text-sm cursor-pointer rounded-lg
+                            ${activeMenu === item.key ? 'system-sm-semibold text-components-menu-item-text-active bg-state-base-active' : 'system-sm-medium text-components-menu-item-text'}
+                          `}
                           title={item.name}
                           onClick={() => setActiveMenu(item.key)}
                         >
@@ -180,50 +184,31 @@
             }
           </div>
         </div>
-        <div className='relative flex w-[824px]'>
-          <div className='absolute -right-11 top-6 z-[9999] flex flex-col items-center'>
-            <Button
-              variant='tertiary'
-              size='large'
-              className='px-2'
-              onClick={onCancel}
-            >
-              <RiCloseLine className='h-5 w-5' />
-            </Button>
-            <div className='system-2xs-medium-uppercase mt-1 text-text-tertiary'>ESC</div>
-          </div>
-          <div ref={scrollRef} className='w-full overflow-y-auto bg-components-panel-bg pb-4'>
-            <div className={cn('sticky top-0 z-20 mx-8 mb-[18px] flex items-center bg-components-panel-bg pb-2 pt-[27px]', scrolled && 'border-b border-divider-regular')}>
-              <div className='title-2xl-semi-bold shrink-0 text-text-primary'>
-                {activeItem?.name}
-                {activeItem?.description && (
-                  <div className='system-sm-regular mt-1 text-text-tertiary'>{activeItem?.description}</div>
-                )}
+        <div ref={scrollRef} className='relative w-[824px] h-[720px] pb-4 overflow-y-auto'>
+          <div className={cn('sticky top-0 px-6 py-4 flex items-center h-14 mb-4 bg-components-panel-bg title-2xl-semi-bold text-text-primary z-20', scrolled && scrolledClassName)}>
+            <div className='shrink-0'>{activeItem?.name}</div>
+            {
+              activeItem?.description && (
+                <div className='shrink-0 ml-2 text-xs text-gray-600'>{activeItem?.description}</div>
+              )
+            }
+            <div className='grow flex justify-end'>
+              <div className='z-[10] flex items-center justify-center -mr-4 p-2 cursor-pointer rounded-[10px] hover:bg-components-button-tertiary-bg' onClick={onCancel}>
+                <RiCloseLine className='w-5 h-5 text-components-button-tertiary-text' />
               </div>
-              {activeItem?.key === 'provider' && (
-                <div className='flex grow justify-end'>
-                  <Input
-                    showLeftIcon
-                    wrapperClassName='!w-[200px]'
-                    className='!h-8 !text-[13px]'
-                    onChange={e => setSearchValue(e.target.value)}
-                    value={searchValue}
-                  />
-                </div>
-              )}
             </div>
-            <div className='px-4 pt-2 sm:px-8'>
-              {activeMenu === 'provider' && <ModelProviderPage searchText={searchValue} />}
-              {activeMenu === 'members' && <MembersPage />}
-              {activeMenu === 'billing' && <BillingPage />}
-              {activeMenu === 'data-source' && <DataSourcePage />}
-              {activeMenu === 'api-based-extension' && <ApiBasedExtensionPage />}
-              {activeMenu === 'custom' && <CustomPage />}
-              {activeMenu === 'language' && <LanguagePage />}
-            </div>
+          </div>
+          <div className='px-4 sm:px-8 pt-2'>
+            {activeMenu === 'members' && <MembersPage />}
+            {activeMenu === 'billing' && <BillingPage />}
+            {activeMenu === 'language' && <LanguagePage />}
+            {activeMenu === 'provider' && <ModelProviderPage />}
+            {activeMenu === 'data-source' && <DataSourcePage />}
+            {activeMenu === 'api-based-extension' && <ApiBasedExtensionPage />}
+            {activeMenu === 'custom' && <CustomPage />}
           </div>
         </div>
       </div>
-    </MenuDialog>
+    </Modal>
   )
 }
diff --git a/app/components/header/account-setting/key-validator/KeyInput.tsx b/app/components/header/account-setting/key-validator/KeyInput.tsx
index 414f4f2..e8551c4 100644
--- a/app/components/header/account-setting/key-validator/KeyInput.tsx
+++ b/app/components/header/account-setting/key-validator/KeyInput.tsx
@@ -53,14 +53,14 @@
     <div className={className}>
       <div className="mb-2 text-[13px] font-medium text-gray-800">{name}</div>
       <div className='
-        flex items-center rounded-lg bg-white px-3
+        flex items-center px-3 bg-white rounded-lg
         shadow-xs
       '>
         <input
           className='
-            mr-2 w-full appearance-none
-            bg-transparent py-[9px] text-xs font-medium
-            leading-[18px] text-gray-700 outline-none
+            w-full py-[9px] mr-2
+            text-xs font-medium text-gray-700 leading-[18px]
+            appearance-none outline-none bg-transparent
           '
           value={value}
           placeholder={placeholder}
diff --git a/app/components/header/account-setting/key-validator/Operate.tsx b/app/components/header/account-setting/key-validator/Operate.tsx
index c3cfd1d..99863fc 100644
--- a/app/components/header/account-setting/key-validator/Operate.tsx
+++ b/app/components/header/account-setting/key-validator/Operate.tsx
@@ -27,15 +27,15 @@
     return (
       <div className='flex items-center'>
         <div className='
-          mr-[5px] flex
-          h-7 cursor-pointer items-center rounded-md px-3
+          flex items-center
+          mr-[5px] px-3 h-7 rounded-md cursor-pointer
           text-xs font-medium text-gray-700
         ' onClick={onCancel} >
           {t('common.operation.cancel')}
         </div>
         <div className='
-          flex h-7
-          cursor-pointer items-center rounded-md bg-primary-700 px-3
+          flex items-center
+          px-3 h-7 rounded-md cursor-pointer bg-primary-700
           text-xs font-medium text-white
         ' onClick={onSave}>
           {t('common.operation.save')}
@@ -47,8 +47,8 @@
   if (status === 'add') {
     return (
       <div className={
-        `flex h-[28px] cursor-pointer items-center rounded-md border border-gray-200
-        bg-white px-3 text-xs font-medium text-gray-700 ${disabled && 'cursor-default opacity-50'}}`
+        `px-3 h-[28px] bg-white border border-gray-200 rounded-md cursor-pointer
+        text-xs font-medium text-gray-700 flex items-center ${disabled && 'opacity-50 cursor-default'}}`
       } onClick={() => !disabled && onAdd()}>
         {t('common.provider.addKey')}
       </div>
@@ -60,7 +60,7 @@
       <div className='flex items-center'>
         {
           status === 'fail' && (
-            <div className='mr-4 flex items-center'>
+            <div className='flex items-center mr-4'>
               <div className='text-xs text-[#D92D20]'>{t('common.provider.invalidApiKey')}</div>
               <Indicator color='red' className='ml-2' />
             </div>
@@ -72,8 +72,8 @@
           )
         }
         <div className={
-          `flex h-[28px] cursor-pointer items-center rounded-md border border-gray-200
-          bg-white px-3 text-xs font-medium text-gray-700 ${disabled && 'cursor-default opacity-50'}}`
+          `px-3 h-[28px] bg-white border border-gray-200 rounded-md cursor-pointer
+          text-xs font-medium text-gray-700 flex items-center ${disabled && 'opacity-50 cursor-default'}}`
         } onClick={() => !disabled && onEdit()}>
           {t('common.provider.editKey')}
         </div>
diff --git a/app/components/header/account-setting/key-validator/ValidateStatus.tsx b/app/components/header/account-setting/key-validator/ValidateStatus.tsx
index 4abbb5c..94d2ff3 100644
--- a/app/components/header/account-setting/key-validator/ValidateStatus.tsx
+++ b/app/components/header/account-setting/key-validator/ValidateStatus.tsx
@@ -5,17 +5,17 @@
 import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general'
 
 export const ValidatedErrorIcon = () => {
-  return <RiErrorWarningFill className='h-4 w-4 text-[#D92D20]' />
+  return <RiErrorWarningFill className='w-4 h-4 text-[#D92D20]' />
 }
 
 export const ValidatedSuccessIcon = () => {
-  return <CheckCircle className='h-4 w-4 text-[#039855]' />
+  return <CheckCircle className='w-4 h-4 text-[#039855]' />
 }
 
 export const ValidatingTip = () => {
   const { t } = useTranslation()
   return (
-    <div className={'mt-2 text-xs font-normal text-primary-600'}>
+    <div className={'mt-2 text-primary-600 text-xs font-normal'}>
       {t('common.provider.validating')}
     </div>
   )
@@ -25,7 +25,7 @@
   const { t } = useTranslation()
 
   return (
-    <div className={'mt-2 text-xs font-normal text-[#D92D20]'}>
+    <div className={'mt-2 text-[#D92D20] text-xs font-normal'}>
       {t('common.provider.validatedError')}{errorMessage}
     </div>
   )
diff --git a/app/components/header/account-setting/key-validator/index.tsx b/app/components/header/account-setting/key-validator/index.tsx
index 798477a..f2abcc5 100644
--- a/app/components/header/account-setting/key-validator/index.tsx
+++ b/app/components/header/account-setting/key-validator/index.tsx
@@ -75,9 +75,9 @@
   }
 
   return (
-    <div className='mb-2 rounded-md border-[0.5px] border-gray-200 bg-gray-50'>
+    <div className='mb-2 border-[0.5px] border-gray-200 bg-gray-50 rounded-md'>
       <div className={
-        `flex h-[52px] cursor-pointer items-center justify-between px-4 ${isOpen && 'border-b-[0.5px] border-b-gray-200'}`
+        `flex items-center justify-between px-4 h-[52px] cursor-pointer ${isOpen && 'border-b-[0.5px] border-b-gray-200'}`
       }>
         {title}
         <Operate
@@ -108,9 +108,9 @@
                 />
               ))
             }
-            <a className="flex cursor-pointer items-center text-xs text-primary-600" href={keyFrom.link} target='_blank' rel='noopener noreferrer'>
+            <a className="flex items-center text-xs cursor-pointer text-primary-600" href={keyFrom.link} target='_blank' rel='noopener noreferrer'>
               {keyFrom.text}
-              <LinkExternal02 className='ml-1 h-3 w-3 text-primary-600' />
+              <LinkExternal02 className='w-3 h-3 ml-1 text-primary-600' />
             </a>
           </div>
         )
diff --git a/app/components/header/account-setting/language-page/index.module.css b/app/components/header/account-setting/language-page/index.module.css
index 7c2a883..5b7ef2c 100644
--- a/app/components/header/account-setting/language-page/index.module.css
+++ b/app/components/header/account-setting/language-page/index.module.css
@@ -21,4 +21,4 @@
 .salesforce-icon {
   background: url(../../assets/salesforce.svg) center center no-repeat;
   background-size: 24px auto;
-}
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/members-page/index.tsx b/app/components/header/account-setting/members-page/index.tsx
index 939834e..de3fef9 100644
--- a/app/components/header/account-setting/members-page/index.tsx
+++ b/app/components/header/account-setting/members-page/index.tsx
@@ -9,22 +9,18 @@
 import { useTranslation } from 'react-i18next'
 import InviteModal from './invite-modal'
 import InvitedModal from './invited-modal'
-import EditWorkspaceModal from './edit-workspace-modal'
 import Operation from './operation'
 import { fetchMembers } from '@/service/common'
 import I18n from '@/context/i18n'
 import { useAppContext } from '@/context/app-context'
 import Avatar from '@/app/components/base/avatar'
 import type { InvitationResult } from '@/models/common'
+import LogoEmbeddedChatHeader from '@/app/components/base/logo/logo-embedded-chat-header'
 import { useProviderContext } from '@/context/provider-context'
 import { Plan } from '@/app/components/billing/type'
-import Button from '@/app/components/base/button'
 import UpgradeBtn from '@/app/components/billing/upgrade-btn'
 import { NUM_INFINITE } from '@/app/components/billing/config'
 import { LanguagesSupported } from '@/i18n/language'
-import cn from '@/utils/classnames'
-import Tooltip from '@/app/components/base/tooltip'
-import { RiPencilLine } from '@remixicon/react'
 dayjs.extend(relativeTime)
 
 const MembersPage = () => {
@@ -39,13 +35,7 @@
   const { locale } = useContext(I18n)
 
   const { userProfile, currentWorkspace, isCurrentWorkspaceOwner, isCurrentWorkspaceManager, systemFeatures } = useAppContext()
-  const { data, mutate } = useSWR(
-    {
-      url: '/workspaces/current/members',
-      params: {},
-    },
-    fetchMembers,
-  )
+  const { data, mutate } = useSWR({ url: '/workspaces/current/members' }, fetchMembers)
   const [inviteModalVisible, setInviteModalVisible] = useState(false)
   const [invitationResults, setInvitationResults] = useState<InvitationResult[]>([])
   const [invitedModalVisible, setInvitedModalVisible] = useState(false)
@@ -53,88 +43,74 @@
   const { plan, enableBilling } = useProviderContext()
   const isNotUnlimitedMemberPlan = enableBilling && plan.type !== Plan.team && plan.type !== Plan.enterprise
   const isMemberFull = enableBilling && isNotUnlimitedMemberPlan && accounts.length >= plan.total.teamMembers
-  const [editWorkspaceModalVisible, setEditWorkspaceModalVisible] = useState(false)
 
   return (
     <>
       <div className='flex flex-col'>
-        <div className='mb-4 flex items-center gap-3 rounded-xl border-l-[0.5px] border-t-[0.5px] border-divider-subtle bg-gradient-to-r from-background-gradient-bg-fill-chat-bg-2 to-background-gradient-bg-fill-chat-bg-1 p-3 pr-5'>
-          <div className='flex h-12 w-12 items-center justify-center rounded-xl bg-components-icon-bg-blue-solid text-[20px]'>
-            <span className='bg-gradient-to-r from-components-avatar-shape-fill-stop-0 to-components-avatar-shape-fill-stop-100 bg-clip-text font-semibold uppercase text-shadow-shadow-1 opacity-90'>{currentWorkspace?.name[0]?.toLocaleUpperCase()}</span>
-          </div>
-          <div className='grow'>
-            <div className='system-md-semibold flex items-center gap-1 text-text-secondary'>
-              <span>{currentWorkspace?.name}</span>
-              {isCurrentWorkspaceOwner && <span>
-                <Tooltip
-                  popupContent={t('common.account.editWorkspaceInfo')}
-                  needsDelay
-                >
-                  <div
-                    className='cursor-pointer rounded-md p-1 hover:bg-black/5'
-                    onClick={() => {
-                      setEditWorkspaceModalVisible(true)
-                    }}
-                  >
-                    <RiPencilLine className='h-4 w-4 text-text-tertiary' />
-                  </div>
-                </Tooltip>
-              </span>}
-            </div>
-            <div className='system-xs-medium mt-1 text-text-tertiary'>
-              {enableBilling && isNotUnlimitedMemberPlan
-                ? (
-                  <div className='flex space-x-1'>
-                    <div>{t('billing.plansCommon.member')}{locale !== LanguagesSupported[1] && accounts.length > 1 && 's'}</div>
-                    <div className=''>{accounts.length}</div>
-                    <div>/</div>
-                    <div>{plan.total.teamMembers === NUM_INFINITE ? t('billing.plansCommon.unlimited') : plan.total.teamMembers}</div>
-                  </div>
-                )
-                : (
-                  <div className='flex space-x-1'>
-                    <div>{accounts.length}</div>
-                    <div>{t('billing.plansCommon.memberAfter')}{locale !== LanguagesSupported[1] && accounts.length > 1 && 's'}</div>
-                  </div>
-                )}
-            </div>
+        <div className='flex items-center mb-4 p-3 bg-gray-50 rounded-2xl'>
+          <LogoEmbeddedChatHeader className='!w-10 !h-10' />
+          <div className='grow mx-2'>
+            <div className='text-sm font-medium text-gray-900'>{currentWorkspace?.name}</div>
+            {enableBilling && (
+              <div className='text-xs text-gray-500'>
+                {isNotUnlimitedMemberPlan
+                  ? (
+                    <div className='flex space-x-1'>
+                      <div>{t('billing.plansCommon.member')}{locale !== LanguagesSupported[1] && accounts.length > 1 && 's'}</div>
+                      <div className='text-gray-700'>{accounts.length}</div>
+                      <div>/</div>
+                      <div>{plan.total.teamMembers === NUM_INFINITE ? t('billing.plansCommon.unlimited') : plan.total.teamMembers}</div>
+                    </div>
+                  )
+                  : (
+                    <div className='flex space-x-1'>
+                      <div>{accounts.length}</div>
+                      <div>{t('billing.plansCommon.memberAfter')}{locale !== LanguagesSupported[1] && accounts.length > 1 && 's'}</div>
+                    </div>
+                  )}
+              </div>
+            )}
 
           </div>
           {isMemberFull && (
             <UpgradeBtn className='mr-2' loc='member-invite' />
           )}
-          <Button variant='primary' className={cn('shrink-0')} disabled={!isCurrentWorkspaceManager || isMemberFull} onClick={() => setInviteModalVisible(true)}>
-            <RiUserAddLine className='mr-1 h-4 w-4' />
+          <div className={
+            `shrink-0 flex items-center py-[7px] px-3 border-[0.5px] border-gray-200
+            text-[13px] font-medium text-primary-600 bg-white
+            shadow-xs rounded-lg ${(isCurrentWorkspaceManager && !isMemberFull) ? 'cursor-pointer' : 'grayscale opacity-50 cursor-default'}`
+          } onClick={() => (isCurrentWorkspaceManager && !isMemberFull) && setInviteModalVisible(true)}>
+            <RiUserAddLine className='w-4 h-4 mr-2 ' />
             {t('common.members.invite')}
-          </Button>
+          </div>
         </div>
         <div className='overflow-visible lg:overflow-visible'>
-          <div className='flex min-w-[480px] items-center border-b border-divider-regular py-[7px]'>
-            <div className='system-xs-medium-uppercase grow px-3 text-text-tertiary'>{t('common.members.name')}</div>
-            <div className='system-xs-medium-uppercase w-[104px] shrink-0 text-text-tertiary'>{t('common.members.lastActive')}</div>
-            <div className='system-xs-medium-uppercase w-[96px] shrink-0 px-3 text-text-tertiary'>{t('common.members.role')}</div>
+          <div className='flex items-center py-[7px] border-b border-divider-regular min-w-[480px]'>
+            <div className='grow px-3 system-xs-medium-uppercase text-text-tertiary'>{t('common.members.name')}</div>
+            <div className='shrink-0 w-[104px] system-xs-medium-uppercase text-text-tertiary'>{t('common.members.lastActive')}</div>
+            <div className='shrink-0 w-[96px] px-3 system-xs-medium-uppercase text-text-tertiary'>{t('common.members.role')}</div>
           </div>
-          <div className='relative min-w-[480px]'>
+          <div className='min-w-[480px] relative'>
             {
               accounts.map(account => (
                 <div key={account.id} className='flex border-b border-divider-subtle'>
-                  <div className='flex grow items-center px-3 py-2'>
+                  <div className='grow flex items-center py-2 px-3'>
                     <Avatar avatar={account.avatar_url} size={24} className='mr-2' name={account.name} />
                     <div className=''>
-                      <div className='system-sm-medium text-text-secondary'>
+                      <div className='text-text-secondary system-sm-medium'>
                         {account.name}
-                        {account.status === 'pending' && <span className='system-xs-medium ml-1 text-text-warning'>{t('common.members.pending')}</span>}
+                        {account.status === 'pending' && <span className='ml-1 system-xs-regular text-[#DC6803]'>{t('common.members.pending')}</span>}
                         {userProfile.email === account.email && <span className='system-xs-regular text-text-tertiary'>{t('common.members.you')}</span>}
                       </div>
-                      <div className='system-xs-regular text-text-tertiary'>{account.email}</div>
+                      <div className='text-text-tertiary system-xs-regular'>{account.email}</div>
                     </div>
                   </div>
-                  <div className='system-sm-regular flex w-[104px] shrink-0 items-center py-2 text-text-secondary'>{dayjs(Number((account.last_active_at || account.created_at)) * 1000).locale(locale === 'zh-Hans' ? 'zh-cn' : 'en').fromNow()}</div>
-                  <div className='flex w-[96px] shrink-0 items-center'>
+                  <div className='shrink-0 flex items-center w-[104px] py-2 system-xs-regular text-text-secondary'>{dayjs(Number((account.last_active_at || account.created_at)) * 1000).locale(locale === 'zh-Hans' ? 'zh-cn' : 'en').fromNow()}</div>
+                  <div className='shrink-0 w-[96px] flex items-center'>
                     {
-                      isCurrentWorkspaceOwner && account.role !== 'owner'
+                      ((isCurrentWorkspaceOwner && account.role !== 'owner') || (isCurrentWorkspaceManager && !['owner', 'admin'].includes(account.role)))
                         ? <Operation member={account} operatorRole={currentWorkspace.role} onOperate={mutate} />
-                        : <div className='system-sm-regular px-3 text-text-secondary'>{RoleMap[account.role] || RoleMap.normal}</div>
+                        : <div className='px-3 system-xs-regular text-text-secondary'>{RoleMap[account.role] || RoleMap.normal}</div>
                     }
                   </div>
                 </div>
@@ -161,13 +137,6 @@
           <InvitedModal
             invitationResults={invitationResults}
             onCancel={() => setInvitedModalVisible(false)}
-          />
-        )
-      }
-      {
-        editWorkspaceModalVisible && (
-          <EditWorkspaceModal
-            onCancel={() => setEditWorkspaceModalVisible(false)}
           />
         )
       }
diff --git a/app/components/header/account-setting/members-page/invite-modal/index.tsx b/app/components/header/account-setting/members-page/invite-modal/index.tsx
index 107166b..197e3ee 100644
--- a/app/components/header/account-setting/members-page/invite-modal/index.tsx
+++ b/app/components/header/account-setting/members-page/invite-modal/index.tsx
@@ -1,7 +1,7 @@
 'use client'
 import { useCallback, useState } from 'react'
 import { useContext } from 'use-context-selector'
-import { RiCloseLine } from '@remixicon/react'
+import { XMarkIcon } from '@heroicons/react/24/outline'
 import { useTranslation } from 'react-i18next'
 import { ReactMultiEmail } from 'react-multi-email'
 import { RiErrorWarningFill } from '@remixicon/react'
@@ -15,9 +15,8 @@
 import { ToastContext } from '@/app/components/base/toast'
 import type { InvitationResult } from '@/models/common'
 import I18n from '@/context/i18n'
-import 'react-multi-email/dist/style.css'
-import { noop } from 'lodash-es'
 
+import 'react-multi-email/dist/style.css'
 type IInviteModalProps = {
   isEmailSetup: boolean
   onCancel: () => void
@@ -49,7 +48,7 @@
           onSend(invitation_results)
         }
       }
-      catch { }
+      catch (e) { }
     }
     else {
       notify({ type: 'error', message: t('common.members.emailInvalid') })
@@ -58,21 +57,21 @@
 
   return (
     <div className={cn(s.wrap)}>
-      <Modal overflowVisible isShow onClose={noop} className={cn(s.modal)}>
-        <div className='mb-2 flex justify-between'>
-          <div className='text-xl font-semibold text-text-primary'>{t('common.members.inviteTeamMember')}</div>
-          <RiCloseLine className='h-4 w-4 cursor-pointer text-text-tertiary' onClick={onCancel} />
+      <Modal overflowVisible isShow onClose={() => { }} className={cn(s.modal)}>
+        <div className='flex justify-between mb-2'>
+          <div className='text-xl font-semibold text-gray-900'>{t('common.members.inviteTeamMember')}</div>
+          <XMarkIcon className='w-4 h-4 cursor-pointer' onClick={onCancel} />
         </div>
-        <div className='mb-3 text-[13px] text-text-tertiary'>{t('common.members.inviteTeamMemberTip')}</div>
+        <div className='mb-3 text-[13px] text-gray-500'>{t('common.members.inviteTeamMemberTip')}</div>
         {!isEmailSetup && (
           <div className='grow basis-0 overflow-y-auto pb-4'>
-            <div className='relative mb-1 rounded-xl border border-components-panel-border p-2 shadow-xs'>
-              <div className='absolute left-0 top-0 h-full w-full rounded-xl opacity-40' style={{ background: 'linear-gradient(92deg, rgba(255, 171, 0, 0.25) 18.12%, rgba(255, 255, 255, 0.00) 167.31%)' }}></div>
-              <div className='relative flex h-full w-full items-start'>
-                <div className='mr-0.5 shrink-0 p-0.5'>
-                  <RiErrorWarningFill className='h-5 w-5 text-text-warning' />
+            <div className='relative mb-1 p-2 rounded-xl border border-components-panel-border shadow-xs'>
+              <div className='absolute top-0 left-0 w-full h-full rounded-xl opacity-40' style={{ background: 'linear-gradient(92deg, rgba(255, 171, 0, 0.25) 18.12%, rgba(255, 255, 255, 0.00) 167.31%)' }}></div>
+              <div className='relative flex items-start w-full h-full'>
+                <div className='shrink-0 mr-0.5 p-0.5'>
+                  <RiErrorWarningFill className='w-5 h-5 text-text-warning' />
                 </div>
-                <div className='system-xs-medium text-text-primary'>
+                <div className='text-text-primary system-xs-medium'>
                   <span>{t('common.members.emailNotSetup')}</span>
                 </div>
               </div>
@@ -81,18 +80,19 @@
         )}
 
         <div>
-          <div className='mb-2 text-sm font-medium text-text-primary'>{t('common.members.email')}</div>
-          <div className='mb-8 flex h-36 items-stretch'>
+          <div className='mb-2 text-sm font-medium text-gray-900'>{t('common.members.email')}</div>
+          <div className='mb-8 h-36 flex items-stretch'>
             <ReactMultiEmail
-              className={cn('w-full border-components-input-border-active !bg-components-input-bg-normal px-3 pt-2 outline-none',
-                'appearance-none overflow-y-auto rounded-lg text-sm !text-text-primary',
+              className={cn('w-full pt-2 px-3 outline-none border-none',
+                'appearance-none text-sm text-gray-900 rounded-lg overflow-y-auto',
+                s.emailsInput,
               )}
               autoFocus
               emails={emails}
               inputClassName='bg-transparent'
               onChange={setEmails}
               getLabel={(email, index, removeEmail) =>
-                <div data-tag key={index} className={cn('bg-components-button-secondary-bg')}>
+                <div data-tag key={index} className={cn(s.emailBackground)}>
                   <div data-tag-item>{email}</div>
                   <span data-tag-handle onClick={() => removeEmail(index)}>
                     脳
diff --git a/app/components/header/account-setting/members-page/invite-modal/role-selector.tsx b/app/components/header/account-setting/members-page/invite-modal/role-selector.tsx
index 0a28d79..d3bbc60 100644
--- a/app/components/header/account-setting/members-page/invite-modal/role-selector.tsx
+++ b/app/components/header/account-setting/members-page/invite-modal/role-selector.tsx
@@ -34,53 +34,53 @@
           onClick={() => setOpen(v => !v)}
           className='block'
         >
-          <div className={cn('flex cursor-pointer items-center rounded-lg bg-components-input-bg-normal px-3 py-2 hover:bg-state-base-hover', open && 'bg-state-base-hover')}>
-            <div className='mr-2 grow text-sm leading-5 text-text-primary'>{t('common.members.invitedAsRole', { role: t(`common.members.${toHump(value)}`) })}</div>
-            <RiArrowDownSLine className='h-4 w-4 shrink-0 text-text-secondary' />
+          <div className={cn('flex items-center px-3 py-2 rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200', open && 'bg-gray-200')}>
+            <div className='grow mr-2 text-gray-900 text-sm leading-5'>{t('common.members.invitedAsRole', { role: t(`common.members.${toHump(value)}`) })}</div>
+            <RiArrowDownSLine className='shrink-0 w-4 h-4 text-gray-700' />
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1002]'>
-          <div className='relative w-[336px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg'>
+          <div className='relative w-[336px] bg-white rounded-lg border-[0.5px] bg-gray-200 shadow-lg'>
             <div className='p-1'>
-              <div className='cursor-pointer rounded-lg p-2 hover:bg-state-base-hover' onClick={() => {
+              <div className='p-2 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                 onChange('normal')
                 setOpen(false)
               }}>
                 <div className='relative pl-5'>
-                  <div className='text-sm leading-5 text-text-secondary'>{t('common.members.normal')}</div>
-                  <div className='text-xs leading-[18px] text-text-tertiary'>{t('common.members.normalTip')}</div>
-                  {value === 'normal' && <Check className='absolute left-0 top-0.5 h-4 w-4 text-text-accent'/>}
+                  <div className='text-gray-700 text-sm leading-5'>{t('common.members.normal')}</div>
+                  <div className='text-gray-500 text-xs leading-[18px]'>{t('common.members.normalTip')}</div>
+                  {value === 'normal' && <Check className='absolute top-0.5 left-0 w-4 h-4 text-primary-600'/>}
                 </div>
               </div>
-              <div className='cursor-pointer rounded-lg p-2 hover:bg-state-base-hover' onClick={() => {
+              <div className='p-2 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                 onChange('editor')
                 setOpen(false)
               }}>
                 <div className='relative pl-5'>
-                  <div className='text-sm leading-5 text-text-secondary'>{t('common.members.editor')}</div>
-                  <div className='text-xs leading-[18px] text-text-tertiary'>{t('common.members.editorTip')}</div>
-                  {value === 'editor' && <Check className='absolute left-0 top-0.5 h-4 w-4 text-text-accent'/>}
+                  <div className='text-gray-700 text-sm leading-5'>{t('common.members.editor')}</div>
+                  <div className='text-gray-500 text-xs leading-[18px]'>{t('common.members.editorTip')}</div>
+                  {value === 'editor' && <Check className='absolute top-0.5 left-0 w-4 h-4 text-primary-600'/>}
                 </div>
               </div>
-              <div className='cursor-pointer rounded-lg p-2 hover:bg-state-base-hover' onClick={() => {
+              <div className='p-2 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                 onChange('admin')
                 setOpen(false)
               }}>
                 <div className='relative pl-5'>
-                  <div className='text-sm leading-5 text-text-secondary'>{t('common.members.admin')}</div>
-                  <div className='text-xs leading-[18px] text-text-tertiary'>{t('common.members.adminTip')}</div>
-                  {value === 'admin' && <Check className='absolute left-0 top-0.5 h-4 w-4 text-text-accent'/>}
+                  <div className='text-gray-700 text-sm leading-5'>{t('common.members.admin')}</div>
+                  <div className='text-gray-500 text-xs leading-[18px]'>{t('common.members.adminTip')}</div>
+                  {value === 'admin' && <Check className='absolute top-0.5 left-0 w-4 h-4 text-primary-600'/>}
                 </div>
               </div>
               {datasetOperatorEnabled && (
-                <div className='cursor-pointer rounded-lg p-2 hover:bg-state-base-hover' onClick={() => {
+                <div className='p-2 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => {
                   onChange('dataset_operator')
                   setOpen(false)
                 }}>
                   <div className='relative pl-5'>
-                    <div className='text-sm leading-5 text-text-secondary'>{t('common.members.datasetOperator')}</div>
-                    <div className='text-xs leading-[18px] text-text-tertiary'>{t('common.members.datasetOperatorTip')}</div>
-                    {value === 'dataset_operator' && <Check className='absolute left-0 top-0.5 h-4 w-4 text-text-accent'/>}
+                    <div className='text-gray-700 text-sm leading-5'>{t('common.members.datasetOperator')}</div>
+                    <div className='text-gray-500 text-xs leading-[18px]'>{t('common.members.datasetOperatorTip')}</div>
+                    {value === 'dataset_operator' && <Check className='absolute top-0.5 left-0 w-4 h-4 text-primary-600'/>}
                   </div>
                 </div>
               )}
diff --git a/app/components/header/account-setting/members-page/invited-modal/index.module.css b/app/components/header/account-setting/members-page/invited-modal/index.module.css
index 9647043..4ab9eca 100644
--- a/app/components/header/account-setting/members-page/invited-modal/index.module.css
+++ b/app/components/header/account-setting/members-page/invited-modal/index.module.css
@@ -1,7 +1,7 @@
 .modal {
   padding: 32px !important;
   width: 480px !important;
-  /* background: linear-gradient(180deg, rgba(3, 152, 85, 0.05) 0%, rgba(3, 152, 85, 0) 22.44%), #F9FAFB !important; */
+  background: linear-gradient(180deg, rgba(3, 152, 85, 0.05) 0%, rgba(3, 152, 85, 0) 22.44%), #F9FAFB !important;
 }
 
 .copyIcon {
@@ -18,4 +18,4 @@
 
 .copyIcon.copied {
   background-image: url(./assets/copied.svg);
-}
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/members-page/invited-modal/index.tsx b/app/components/header/account-setting/members-page/invited-modal/index.tsx
index 2719708..fc64d46 100644
--- a/app/components/header/account-setting/members-page/invited-modal/index.tsx
+++ b/app/components/header/account-setting/members-page/invited-modal/index.tsx
@@ -10,7 +10,6 @@
 import { IS_CE_EDITION } from '@/config'
 import type { InvitationResult } from '@/models/common'
 import Tooltip from '@/app/components/base/tooltip'
-import { noop } from 'lodash-es'
 
 export type SuccessInvitationResult = Extract<InvitationResult, { status: 'success' }>
 export type FailedInvitationResult = Extract<InvitationResult, { status: 'failed' }>
@@ -30,29 +29,29 @@
 
   return (
     <div className={s.wrap}>
-      <Modal isShow onClose={noop} className={s.modal}>
-        <div className='mb-3 flex justify-between'>
+      <Modal isShow onClose={() => {}} className={s.modal}>
+        <div className='flex justify-between mb-3'>
           <div className='
-            flex h-12 w-12 items-center justify-center rounded-xl
-            border-[0.5px] border-components-panel-border bg-background-section-burn
+            w-12 h-12 flex items-center justify-center rounded-xl
+            bg-white border-[0.5px] border-gray-100
             shadow-xl
           '>
-            <CheckCircleIcon className='h-[22px] w-[22px] text-[#039855]' />
+            <CheckCircleIcon className='w-[22px] h-[22px] text-[#039855]' />
           </div>
-          <XMarkIcon className='h-4 w-4 cursor-pointer' onClick={onCancel} />
+          <XMarkIcon className='w-4 h-4 cursor-pointer' onClick={onCancel} />
         </div>
-        <div className='mb-1 text-xl font-semibold text-text-primary'>{t('common.members.invitationSent')}</div>
+        <div className='mb-1 text-xl font-semibold text-gray-900'>{t('common.members.invitationSent')}</div>
         {!IS_CE_EDITION && (
-          <div className='mb-10 text-sm text-text-tertiary'>{t('common.members.invitationSentTip')}</div>
+          <div className='mb-10 text-sm text-gray-500'>{t('common.members.invitationSentTip')}</div>
         )}
         {IS_CE_EDITION && (
           <>
-            <div className='mb-5 text-sm text-text-tertiary'>{t('common.members.invitationSentTip')}</div>
-            <div className='mb-9 flex flex-col gap-2'>
+            <div className='mb-5 text-sm text-gray-500'>{t('common.members.invitationSentTip')}</div>
+            <div className='flex flex-col gap-2 mb-9'>
               {
                 !!successInvitationResults.length
                 && <>
-                  <div className='font-Medium py-2 text-sm text-text-primary'>{t('common.members.invitationLink')}</div>
+                  <div className='py-2 text-sm font-Medium text-gray-900'>{t('common.members.invitationLink')}</div>
                   {successInvitationResults.map(item =>
                     <InvitationLink key={item.email} value={item} />)}
                 </>
@@ -60,17 +59,17 @@
               {
                 !!failedInvitationResults.length
                 && <>
-                  <div className='font-Medium py-2 text-sm text-text-primary'>{t('common.members.failedInvitationEmails')}</div>
+                  <div className='py-2 text-sm font-Medium text-gray-900'>{t('common.members.failedInvitationEmails')}</div>
                   <div className='flex flex-wrap justify-between gap-y-1'>
                     {
                       failedInvitationResults.map(item =>
-                        <div key={item.email} className='flex justify-center rounded-md border border-red-300 bg-orange-50 px-1'>
+                        <div key={item.email} className='flex justify-center border border-red-300 rounded-md px-1 bg-orange-50'>
                           <Tooltip
                             popupContent={item.message}
                           >
-                            <div className='flex items-center justify-center gap-1 text-sm'>
+                            <div className='flex justify-center items-center text-sm gap-1'>
                               {item.email}
-                              <RiQuestionLine className='h-4 w-4 text-red-300' />
+                              <RiQuestionLine className='w-4 h-4 text-red-300' />
                             </div>
                           </Tooltip>
                         </div>,
diff --git a/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx b/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx
index 2426f7b..fc0ffdd 100644
--- a/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx
+++ b/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx
@@ -18,7 +18,6 @@
   const selector = useRef(`invite-link-${randomString(4)}`)
 
   const copyHandle = useCallback(() => {
-    // No prefix is needed here because the backend has already processed it
     copy(`${!value.url.startsWith('http') ? window.location.origin : ''}${value.url}`)
     setIsCopied(true)
   }, [value])
@@ -36,21 +35,21 @@
   }, [isCopied])
 
   return (
-    <div className='flex items-center rounded-lg border border-components-input-border-active bg-components-input-bg-normal py-2 hover:bg-state-base-hover'>
-      <div className="flex h-5 grow items-center">
-        <div className='relative h-full grow text-[13px]'>
+    <div className='flex rounded-lg bg-gray-100 hover:bg-gray-100 border border-gray-200 py-2 items-center'>
+      <div className="flex items-center flex-grow h-5">
+        <div className='flex-grow bg-gray-100 text-[13px] relative h-full'>
           <Tooltip
             popupContent={isCopied ? `${t('appApi.copied')}` : `${t('appApi.copy')}`}
           >
-            <div className='r-0 absolute left-0 top-0 w-full cursor-pointer truncate pl-2 pr-2' onClick={copyHandle}>{value.url}</div>
+            <div className='absolute top-0 left-0 w-full pl-2 pr-2 truncate cursor-pointer r-0' onClick={copyHandle}>{value.url}</div>
           </Tooltip>
         </div>
-        <div className="h-4 shrink-0 border bg-divider-regular" />
+        <div className="flex-shrink-0 h-4 bg-gray-200 border" />
         <Tooltip
           popupContent={isCopied ? `${t('appApi.copied')}` : `${t('appApi.copy')}`}
         >
-          <div className="shrink-0 px-0.5">
-            <div className={`box-border flex h-[30px] w-[30px] cursor-pointer items-center justify-center rounded-lg hover:bg-state-base-hover ${s.copyIcon} ${isCopied ? s.copied : ''}`} onClick={copyHandle}>
+          <div className="px-0.5 flex-shrink-0">
+            <div className={`box-border w-[30px] h-[30px] flex items-center justify-center rounded-lg hover:bg-gray-100 cursor-pointer ${s.copyIcon} ${isCopied ? s.copied : ''}`} onClick={copyHandle}>
             </div>
           </div>
         </Tooltip>
diff --git a/app/components/header/account-setting/members-page/operation/index.module.css b/app/components/header/account-setting/members-page/operation/index.module.css
new file mode 100644
index 0000000..0189b04
--- /dev/null
+++ b/app/components/header/account-setting/members-page/operation/index.module.css
@@ -0,0 +1,3 @@
+.popup {
+  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/members-page/operation/index.tsx b/app/components/header/account-setting/members-page/operation/index.tsx
index 46f842d..82867ec 100644
--- a/app/components/header/account-setting/members-page/operation/index.tsx
+++ b/app/components/header/account-setting/members-page/operation/index.tsx
@@ -2,13 +2,27 @@
 import { useTranslation } from 'react-i18next'
 import { Fragment, useMemo } from 'react'
 import { useContext } from 'use-context-selector'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import { CheckIcon, ChevronDownIcon } from '@heroicons/react/24/outline'
+import s from './index.module.css'
 import { useProviderContext } from '@/context/provider-context'
 import cn from '@/utils/classnames'
 import type { Member } from '@/models/common'
 import { deleteMemberOrCancelInvitation, updateMemberRole } from '@/service/common'
 import { ToastContext } from '@/app/components/base/toast'
+
+const itemClassName = `
+  flex px-3 py-2 cursor-pointer hover:bg-gray-50 rounded-lg
+`
+const itemIconClassName = `
+  w-4 h-4 mt-[2px] mr-1 text-primary-600
+`
+const itemTitleClassName = `
+  leading-[20px] text-sm text-gray-700 whitespace-nowrap
+`
+const itemDescClassName = `
+  leading-[18px] text-xs text-gray-500 whitespace-nowrap
+`
 
 type IOperationProps = {
   member: Member
@@ -53,7 +67,7 @@
       onOperate()
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
     }
-    catch {
+    catch (e) {
 
     }
   }
@@ -66,20 +80,26 @@
       onOperate()
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
     }
-    catch {
+    catch (e) {
 
     }
   }
 
   return (
-    <Menu as="div" className="relative h-full w-full">
+    <Menu as="div" className="relative w-full h-full">
       {
         ({ open }) => (
           <>
-            <MenuButton className={cn('system-sm-regular group flex h-full w-full cursor-pointer items-center justify-between px-3 text-text-secondary hover:bg-state-base-hover', open && 'bg-state-base-hover')}>
+            <Menu.Button className={cn(
+              `
+                  group flex items-center justify-between w-full h-full
+                  hover:bg-gray-100 cursor-pointer ${open && 'bg-gray-100'}
+                  text-[13px] text-gray-700 px-3
+                `,
+            )}>
               {RoleMap[member.role] || RoleMap.normal}
-              <ChevronDownIcon className={cn('h-4 w-4 group-hover:block', open ? 'block' : 'hidden')} />
-            </MenuButton>
+              <ChevronDownIcon className={`w-4 h-4 group-hover:block ${open ? 'block' : 'hidden'}`} />
+            </Menu.Button>
             <Transition
               as={Fragment}
               enter="transition ease-out duration-100"
@@ -89,40 +109,46 @@
               leaveFrom="transform opacity-100 scale-100"
               leaveTo="transform opacity-0 scale-95"
             >
-              <MenuItems
-                className={cn('absolute right-0 top-[52px] z-10 origin-top-right rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-sm')}
+              <Menu.Items
+                className={cn(
+                  `
+                      absolute right-0 top-[52px] z-10 bg-white border-[0.5px] border-gray-200
+                      divide-y divide-gray-100 origin-top-right rounded-lg
+                    `,
+                  s.popup,
+                )}
               >
-                <div className="p-1">
+                <div className="px-1 py-1">
                   {
                     roleList.map(role => (
-                      <MenuItem key={role}>
-                        <div className='flex cursor-pointer rounded-lg px-3 py-2 hover:bg-state-base-hover' onClick={() => handleUpdateMemberRole(role)}>
+                      <Menu.Item key={role}>
+                        <div className={itemClassName} onClick={() => handleUpdateMemberRole(role)}>
                           {
                             role === member.role
-                              ? <CheckIcon className='mr-1 mt-[2px] h-4 w-4 text-text-accent' />
-                              : <div className='mr-1 mt-[2px] h-4 w-4 text-text-accent' />
+                              ? <CheckIcon className={itemIconClassName} />
+                              : <div className={itemIconClassName} />
                           }
                           <div>
-                            <div className='system-sm-semibold whitespace-nowrap text-text-secondary'>{t(`common.members.${toHump(role)}`)}</div>
-                            <div className='system-xs-regular whitespace-nowrap text-text-tertiary'>{t(`common.members.${toHump(role)}Tip`)}</div>
+                            <div className={itemTitleClassName}>{t(`common.members.${toHump(role)}`)}</div>
+                            <div className={itemDescClassName}>{t(`common.members.${toHump(role)}Tip`)}</div>
                           </div>
                         </div>
-                      </MenuItem>
+                      </Menu.Item>
                     ))
                   }
                 </div>
-                <MenuItem>
-                  <div className='border-t border-divider-subtle p-1'>
-                    <div className='flex cursor-pointer rounded-lg px-3 py-2 hover:bg-state-base-hover' onClick={handleDeleteMemberOrCancelInvitation}>
-                      <div className='mr-1 mt-[2px] h-4 w-4 text-text-accent' />
+                <Menu.Item>
+                  <div className='px-1 py-1'>
+                    <div className={itemClassName} onClick={handleDeleteMemberOrCancelInvitation}>
+                      <div className={itemIconClassName} />
                       <div>
-                        <div className='system-sm-semibold whitespace-nowrap text-text-secondary'>{t('common.members.removeFromTeam')}</div>
-                        <div className='system-xs-regular whitespace-nowrap text-text-tertiary'>{t('common.members.removeFromTeamTip')}</div>
+                        <div className={itemTitleClassName}>{t('common.members.removeFromTeam')}</div>
+                        <div className={itemDescClassName}>{t('common.members.removeFromTeamTip')}</div>
                       </div>
                     </div>
                   </div>
-                </MenuItem>
-              </MenuItems>
+                </Menu.Item>
+              </Menu.Items>
             </Transition>
           </>
         )
diff --git a/app/components/header/account-setting/model-provider-page/declarations.ts b/app/components/header/account-setting/model-provider-page/declarations.ts
index 12dd9b3..02f178c 100644
--- a/app/components/header/account-setting/model-provider-page/declarations.ts
+++ b/app/components/header/account-setting/model-provider-page/declarations.ts
@@ -15,10 +15,6 @@
   boolean = 'boolean',
   files = 'files',
   file = 'file',
-  modelSelector = 'model-selector',
-  toolSelector = 'tool-selector',
-  multiToolSelector = 'array[tools]',
-  appSelector = 'app-selector',
 }
 
 export type FormOption = {
@@ -55,12 +51,10 @@
   toolCall = 'tool-call',
   multiToolCall = 'multi-tool-call',
   agentThought = 'agent-thought',
-  streamToolCall = 'stream-tool-call',
   vision = 'vision',
   video = 'video',
   document = 'document',
   audio = 'audio',
-  StructuredOutput = 'structured-output',
 }
 
 export enum ModelFeatureTextEnum {
@@ -115,19 +109,9 @@
   tooltip?: TypeWithI18N
   show_on: FormShowOnObject[]
   url?: string
-  scope?: string
 }
 
-export type CredentialFormSchemaTextInput = CredentialFormSchemaBase & {
-  max_length?: number;
-  placeholder?: TypeWithI18N,
-  template?: {
-    enabled: boolean
-  },
-  auto_generate?: {
-    type: string
-  }
-}
+export type CredentialFormSchemaTextInput = CredentialFormSchemaBase & { max_length?: number; placeholder?: TypeWithI18N }
 export type CredentialFormSchemaNumberInput = CredentialFormSchemaBase & { min?: number; max?: number; placeholder?: TypeWithI18N }
 export type CredentialFormSchemaSelect = CredentialFormSchemaBase & { options: FormOption[]; placeholder?: TypeWithI18N }
 export type CredentialFormSchemaRadio = CredentialFormSchemaBase & { options: FormOption[] }
diff --git a/app/components/header/account-setting/model-provider-page/hooks.ts b/app/components/header/account-setting/model-provider-page/hooks.ts
index 48acaeb..54396cc 100644
--- a/app/components/header/account-setting/model-provider-page/hooks.ts
+++ b/app/components/header/account-setting/model-provider-page/hooks.ts
@@ -11,12 +11,10 @@
   DefaultModel,
   DefaultModelResponse,
   Model,
-  ModelProvider,
   ModelTypeEnum,
 } from './declarations'
 import {
   ConfigurationMethodEnum,
-  CustomConfigurationStatusEnum,
   ModelStatusEnum,
 } from './declarations'
 import I18n from '@/context/i18n'
@@ -28,15 +26,6 @@
   getPayUrl,
 } from '@/service/common'
 import { useProviderContext } from '@/context/provider-context'
-import {
-  useMarketplacePlugins,
-} from '@/app/components/plugins/marketplace/hooks'
-import type { Plugin } from '@/app/components/plugins/types'
-import { PluginType } from '@/app/components/plugins/types'
-import { getMarketplacePluginsByCollectionId } from '@/app/components/plugins/marketplace/utils'
-import { useModalContextSelector } from '@/context/modal-context'
-import { useEventEmitterContextContext } from '@/context/event-emitter'
-import { UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST } from './provider-added-card'
 
 type UseDefaultModelAndModelList = (
   defaultModel: DefaultModelResponse | undefined,
@@ -243,111 +232,4 @@
   }, [mutate])
 
   return updateModelProviders
-}
-
-export const useMarketplaceAllPlugins = (providers: ModelProvider[], searchText: string) => {
-  const exclude = useMemo(() => {
-    return providers.map(provider => provider.provider.replace(/(.+)\/([^/]+)$/, '$1'))
-  }, [providers])
-  const [collectionPlugins, setCollectionPlugins] = useState<Plugin[]>([])
-
-  const {
-    plugins,
-    queryPlugins,
-    queryPluginsWithDebounced,
-    isLoading,
-  } = useMarketplacePlugins()
-
-  const getCollectionPlugins = useCallback(async () => {
-    const collectionPlugins = await getMarketplacePluginsByCollectionId('__model-settings-pinned-models')
-
-    setCollectionPlugins(collectionPlugins)
-  }, [])
-
-  useEffect(() => {
-    getCollectionPlugins()
-  }, [getCollectionPlugins])
-
-  useEffect(() => {
-    if (searchText) {
-      queryPluginsWithDebounced({
-        query: searchText,
-        category: PluginType.model,
-        exclude,
-        type: 'plugin',
-        sortBy: 'install_count',
-        sortOrder: 'DESC',
-      })
-    }
-    else {
-      queryPlugins({
-        query: '',
-        category: PluginType.model,
-        type: 'plugin',
-        pageSize: 1000,
-        exclude,
-        sortBy: 'install_count',
-        sortOrder: 'DESC',
-      })
-    }
-  }, [queryPlugins, queryPluginsWithDebounced, searchText, exclude])
-
-  const allPlugins = useMemo(() => {
-    const allPlugins = [...collectionPlugins.filter(plugin => !exclude.includes(plugin.plugin_id))]
-
-    if (plugins?.length) {
-      for (let i = 0; i < plugins.length; i++) {
-        const plugin = plugins[i]
-
-        if (plugin.type !== 'bundle' && !allPlugins.find(p => p.plugin_id === plugin.plugin_id))
-          allPlugins.push(plugin)
-      }
-    }
-
-    return allPlugins
-  }, [plugins, collectionPlugins, exclude])
-
-  return {
-    plugins: allPlugins,
-    isLoading,
-  }
-}
-
-export const useModelModalHandler = () => {
-  const setShowModelModal = useModalContextSelector(state => state.setShowModelModal)
-  const updateModelProviders = useUpdateModelProviders()
-  const updateModelList = useUpdateModelList()
-  const { eventEmitter } = useEventEmitterContextContext()
-
-  return (
-    provider: ModelProvider,
-    configurationMethod: ConfigurationMethodEnum,
-    CustomConfigurationModelFixedFields?: CustomConfigurationModelFixedFields,
-  ) => {
-    setShowModelModal({
-      payload: {
-        currentProvider: provider,
-        currentConfigurationMethod: configurationMethod,
-        currentCustomConfigurationModelFixedFields: CustomConfigurationModelFixedFields,
-      },
-      onSaveCallback: () => {
-        updateModelProviders()
-
-        provider.supported_model_types.forEach((type) => {
-          updateModelList(type)
-        })
-
-        if (configurationMethod === ConfigurationMethodEnum.customizableModel
-            && provider.custom_configuration.status === CustomConfigurationStatusEnum.active) {
-          eventEmitter?.emit({
-            type: UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST,
-            payload: provider.provider,
-          } as any)
-
-          if (CustomConfigurationModelFixedFields?.__model_type)
-            updateModelList(CustomConfigurationModelFixedFields.__model_type)
-        }
-      },
-    })
-  }
 }
diff --git a/app/components/header/account-setting/model-provider-page/index.tsx b/app/components/header/account-setting/model-provider-page/index.tsx
index 7c4e2ea..a8a5a0c 100644
--- a/app/components/header/account-setting/model-provider-page/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/index.tsx
@@ -1,46 +1,39 @@
 import { useMemo } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useDebounce } from 'ahooks'
-import {
-  RiAlertFill,
-  RiBrainLine,
-} from '@remixicon/react'
 import SystemModelSelector from './system-model-selector'
-import ProviderAddedCard from './provider-added-card'
+import ProviderAddedCard, { UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST } from './provider-added-card'
+import ProviderCard from './provider-card'
 import type {
-  ConfigurationMethodEnum,
   CustomConfigurationModelFixedFields,
   ModelProvider,
 } from './declarations'
 import {
+  ConfigurationMethodEnum,
   CustomConfigurationStatusEnum,
   ModelTypeEnum,
 } from './declarations'
 import {
   useDefaultModel,
-  useModelModalHandler,
+  useUpdateModelList,
+  useUpdateModelProviders,
 } from './hooks'
-import InstallFromMarketplace from './install-from-marketplace'
+import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
 import { useProviderContext } from '@/context/provider-context'
-import cn from '@/utils/classnames'
-import { useSelector as useAppContextSelector } from '@/context/app-context'
+import { useModalContextSelector } from '@/context/modal-context'
+import { useEventEmitterContextContext } from '@/context/event-emitter'
 
-type Props = {
-  searchText: string
-}
-
-const FixedModelProvider = ['langgenius/openai/openai', 'langgenius/anthropic/anthropic']
-
-const ModelProviderPage = ({ searchText }: Props) => {
-  const debouncedSearchText = useDebounce(searchText, { wait: 500 })
+const ModelProviderPage = () => {
   const { t } = useTranslation()
+  const { eventEmitter } = useEventEmitterContextContext()
+  const updateModelProviders = useUpdateModelProviders()
+  const updateModelList = useUpdateModelList()
   const { data: textGenerationDefaultModel } = useDefaultModel(ModelTypeEnum.textGeneration)
   const { data: embeddingsDefaultModel } = useDefaultModel(ModelTypeEnum.textEmbedding)
   const { data: rerankDefaultModel } = useDefaultModel(ModelTypeEnum.rerank)
   const { data: speech2textDefaultModel } = useDefaultModel(ModelTypeEnum.speech2text)
   const { data: ttsDefaultModel } = useDefaultModel(ModelTypeEnum.tts)
   const { modelProviders: providers } = useProviderContext()
-  const { enable_marketplace } = useAppContextSelector(s => s.systemFeatures)
+  const setShowModelModal = useModalContextSelector(state => state.setShowModelModal)
   const defaultModelNotConfigured = !textGenerationDefaultModel && !embeddingsDefaultModel && !speech2textDefaultModel && !rerankDefaultModel && !ttsDefaultModel
   const [configuredProviders, notConfiguredProviders] = useMemo(() => {
     const configuredProviders: ModelProvider[] = []
@@ -59,99 +52,97 @@
         notConfiguredProviders.push(provider)
     })
 
-    configuredProviders.sort((a, b) => {
-      if (FixedModelProvider.includes(a.provider) && FixedModelProvider.includes(b.provider))
-        return FixedModelProvider.indexOf(a.provider) - FixedModelProvider.indexOf(b.provider) > 0 ? 1 : -1
-      else if (FixedModelProvider.includes(a.provider))
-        return -1
-      else if (FixedModelProvider.includes(b.provider))
-        return 1
-      return 0
-    })
-
     return [configuredProviders, notConfiguredProviders]
   }, [providers])
-  const [filteredConfiguredProviders, filteredNotConfiguredProviders] = useMemo(() => {
-    const filteredConfiguredProviders = configuredProviders.filter(
-      provider => provider.provider.toLowerCase().includes(debouncedSearchText.toLowerCase())
-        || Object.values(provider.label).some(text => text.toLowerCase().includes(debouncedSearchText.toLowerCase())),
-    )
-    const filteredNotConfiguredProviders = notConfiguredProviders.filter(
-      provider => provider.provider.toLowerCase().includes(debouncedSearchText.toLowerCase())
-        || Object.values(provider.label).some(text => text.toLowerCase().includes(debouncedSearchText.toLowerCase())),
-    )
 
-    return [filteredConfiguredProviders, filteredNotConfiguredProviders]
-  }, [configuredProviders, debouncedSearchText, notConfiguredProviders])
+  const handleOpenModal = (
+    provider: ModelProvider,
+    configurateMethod: ConfigurationMethodEnum,
+    CustomConfigurationModelFixedFields?: CustomConfigurationModelFixedFields,
+  ) => {
+    setShowModelModal({
+      payload: {
+        currentProvider: provider,
+        currentConfigurationMethod: configurateMethod,
+        currentCustomConfigurationModelFixedFields: CustomConfigurationModelFixedFields,
+      },
+      onSaveCallback: () => {
+        updateModelProviders()
 
-  const handleOpenModal = useModelModalHandler()
+        if (configurateMethod === ConfigurationMethodEnum.predefinedModel) {
+          provider.supported_model_types.forEach((type) => {
+            updateModelList(type)
+          })
+        }
+
+        if (configurateMethod === ConfigurationMethodEnum.customizableModel && provider.custom_configuration.status === CustomConfigurationStatusEnum.active) {
+          eventEmitter?.emit({
+            type: UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST,
+            payload: provider.provider,
+          } as any)
+
+          if (CustomConfigurationModelFixedFields?.__model_type)
+            updateModelList(CustomConfigurationModelFixedFields?.__model_type)
+        }
+      },
+    })
+  }
 
   return (
-    <div className='relative -mt-2 pt-1'>
-      <div className={cn('mb-2 flex items-center')}>
-        <div className='system-md-semibold grow text-text-primary'>{t('common.modelProvider.models')}</div>
-        <div className={cn(
-          'relative flex shrink-0 items-center justify-end gap-2 rounded-lg border border-transparent p-px',
-          defaultModelNotConfigured && 'border-components-panel-border bg-components-panel-bg-blur pl-2 shadow-xs',
-        )}>
-          {defaultModelNotConfigured && <div className='absolute bottom-0 left-0 right-0 top-0 opacity-40' style={{ background: 'linear-gradient(92deg, rgba(247, 144, 9, 0.25) 0%, rgba(255, 255, 255, 0.00) 100%)' }} />}
-          {defaultModelNotConfigured && (
-            <div className='system-xs-medium flex items-center gap-1 text-text-primary'>
-              <RiAlertFill className='h-4 w-4 text-text-warning-secondary' />
-              {t('common.modelProvider.notConfigured')}
-            </div>
-          )}
-          <SystemModelSelector
-            notConfigured={defaultModelNotConfigured}
-            textGenerationDefaultModel={textGenerationDefaultModel}
-            embeddingsDefaultModel={embeddingsDefaultModel}
-            rerankDefaultModel={rerankDefaultModel}
-            speech2textDefaultModel={speech2textDefaultModel}
-            ttsDefaultModel={ttsDefaultModel}
-          />
-        </div>
+    <div className='relative pt-1 -mt-2'>
+      <div className={`flex items-center justify-between mb-2 h-8 ${defaultModelNotConfigured && 'px-3 bg-[#FFFAEB] rounded-lg border border-[#FEF0C7]'}`}>
+        {
+          defaultModelNotConfigured
+            ? (
+              <div className='flex items-center text-xs font-medium text-gray-700'>
+                <AlertTriangle className='mr-1 w-3 h-3 text-[#F79009]' />
+                {t('common.modelProvider.notConfigured')}
+              </div>
+            )
+            : <div className='text-sm font-medium text-gray-800'>{t('common.modelProvider.models')}</div>
+        }
+        <SystemModelSelector
+          textGenerationDefaultModel={textGenerationDefaultModel}
+          embeddingsDefaultModel={embeddingsDefaultModel}
+          rerankDefaultModel={rerankDefaultModel}
+          speech2textDefaultModel={speech2textDefaultModel}
+          ttsDefaultModel={ttsDefaultModel}
+        />
       </div>
-      {!filteredConfiguredProviders?.length && (
-        <div className='mb-2 rounded-[10px] bg-workflow-process-bg p-4'>
-          <div className='flex h-10 w-10 items-center justify-center rounded-[10px] border-[0.5px] border-components-card-border bg-components-card-bg shadow-lg backdrop-blur'>
-            <RiBrainLine className='h-5 w-5 text-text-primary' />
-          </div>
-          <div className='system-sm-medium mt-2 text-text-secondary'>{t('common.modelProvider.emptyProviderTitle')}</div>
-          <div className='system-xs-regular mt-1 text-text-tertiary'>{t('common.modelProvider.emptyProviderTip')}</div>
-        </div>
-      )}
-      {!!filteredConfiguredProviders?.length && (
-        <div className='relative'>
-          {filteredConfiguredProviders?.map(provider => (
-            <ProviderAddedCard
-              key={provider.provider}
-              provider={provider}
-              onOpenModal={(configurationMethod: ConfigurationMethodEnum, currentCustomConfigurationModelFixedFields?: CustomConfigurationModelFixedFields) => handleOpenModal(provider, configurationMethod, currentCustomConfigurationModelFixedFields)}
-            />
-          ))}
-        </div>
-      )}
-      {!!filteredNotConfiguredProviders?.length && (
-        <>
-          <div className='system-md-semibold mb-2 flex items-center pt-2 text-text-primary'>{t('common.modelProvider.toBeConfigured')}</div>
-          <div className='relative'>
-            {filteredNotConfiguredProviders?.map(provider => (
-              <ProviderAddedCard
-                notConfigured
-                key={provider.provider}
-                provider={provider}
-                onOpenModal={(configurationMethod: ConfigurationMethodEnum, currentCustomConfigurationModelFixedFields?: CustomConfigurationModelFixedFields) => handleOpenModal(provider, configurationMethod, currentCustomConfigurationModelFixedFields)}
-              />
-            ))}
-          </div>
-        </>
-      )}
       {
-        enable_marketplace && (
-          <InstallFromMarketplace
-            providers={providers}
-            searchText={searchText}
-          />
+        !!configuredProviders?.length && (
+          <div className='pb-3'>
+            {
+              configuredProviders?.map(provider => (
+                <ProviderAddedCard
+                  key={provider.provider}
+                  provider={provider}
+                  onOpenModal={(configurateMethod: ConfigurationMethodEnum, currentCustomConfigurationModelFixedFields?: CustomConfigurationModelFixedFields) => handleOpenModal(provider, configurateMethod, currentCustomConfigurationModelFixedFields)}
+                />
+              ))
+            }
+          </div>
+        )
+      }
+      {
+        !!notConfiguredProviders?.length && (
+          <>
+            <div className='flex items-center mb-2 text-xs font-semibold text-gray-500'>
+              + {t('common.modelProvider.addMoreModelProvider')}
+              <span className='grow ml-3 h-[1px] bg-gradient-to-r from-[#f3f4f6]' />
+            </div>
+            <div className='grid grid-cols-3 gap-2'>
+              {
+                notConfiguredProviders?.map(provider => (
+                  <ProviderCard
+                    key={provider.provider}
+                    provider={provider}
+                    onOpenModal={(configurateMethod: ConfigurationMethodEnum) => handleOpenModal(provider, configurateMethod)}
+                  />
+                ))
+              }
+            </div>
+          </>
         )
       }
     </div>
diff --git a/app/components/header/account-setting/model-provider-page/model-icon/index.tsx b/app/components/header/account-setting/model-provider-page/model-icon/index.tsx
index d302def..a16b101 100644
--- a/app/components/header/account-setting/model-provider-page/model-icon/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-icon/index.tsx
@@ -4,45 +4,40 @@
   ModelProvider,
 } from '../declarations'
 import { useLanguage } from '../hooks'
-import { Group } from '@/app/components/base/icons/src/vender/other'
-import { OpenaiBlue, OpenaiViolet } from '@/app/components/base/icons/src/public/llm'
-import cn from '@/utils/classnames'
-import { renderI18nObject } from '@/i18n'
+import { CubeOutline } from '@/app/components/base/icons/src/vender/line/shapes'
+import { OpenaiViolet } from '@/app/components/base/icons/src/public/llm'
 
 type ModelIconProps = {
   provider?: Model | ModelProvider
   modelName?: string
   className?: string
-  isDeprecated?: boolean
 }
 const ModelIcon: FC<ModelIconProps> = ({
   provider,
   className,
   modelName,
-  isDeprecated = false,
 }) => {
   const language = useLanguage()
-  if (provider?.provider && ['openai', 'langgenius/openai/openai'].includes(provider.provider) && modelName?.includes('gpt-4o'))
-    return <div className='flex items-center justify-center'><OpenaiBlue className={cn('h-5 w-5', className)} /></div>
-  if (provider?.provider && ['openai', 'langgenius/openai/openai'].includes(provider.provider) && modelName?.startsWith('gpt-4'))
-    return <div className='flex items-center justify-center'><OpenaiViolet className={cn('h-5 w-5', className)} /></div>
+
+  if (provider?.provider === 'openai' && (modelName?.startsWith('gpt-4') || modelName?.includes('4o')))
+    return <OpenaiViolet className={`w-4 h-4 ${className}`}/>
 
   if (provider?.icon_small) {
     return (
-      <div className={cn('flex h-5 w-5 items-center justify-center', isDeprecated && 'opacity-50', className)}>
-        <img alt='model-icon' src={renderI18nObject(provider.icon_small, language)}/>
-      </div>
+      <img
+        alt='model-icon'
+        src={`${provider.icon_small[language] || provider.icon_small.en_US}`}
+        className={`w-4 h-4 ${className}`}
+      />
     )
   }
 
   return (
-    <div className={cn(
-      'flex h-5 w-5 items-center justify-center rounded-md border-[0.5px] border-components-panel-border-subtle bg-background-default-subtle',
-      className,
-    )}>
-      <div className='flex h-5 w-5 items-center justify-center opacity-35'>
-        <Group className='h-3 w-3 text-text-tertiary' />
-      </div>
+    <div className={`
+      flex items-center justify-center w-6 h-6 rounded border-[0.5px] border-black/5 bg-gray-50
+      ${className}
+    `}>
+      <CubeOutline className='w-4 h-4 text-gray-400' />
     </div>
   )
 }
diff --git a/app/components/header/account-setting/model-provider-page/model-modal/Form.tsx b/app/components/header/account-setting/model-provider-page/model-modal/Form.tsx
index c5af4ed..c0a7be6 100644
--- a/app/components/header/account-setting/model-provider-page/model-modal/Form.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-modal/Form.tsx
@@ -1,5 +1,5 @@
-import { useCallback, useState } from 'react'
-import type { ReactNode } from 'react'
+import { useState } from 'react'
+import type { FC } from 'react'
 import { ValidatingTip } from '../../key-validator/ValidateStatus'
 import type {
   CredentialFormSchema,
@@ -17,48 +17,24 @@
 import { SimpleSelect } from '@/app/components/base/select'
 import Tooltip from '@/app/components/base/tooltip'
 import Radio from '@/app/components/base/radio'
-import ModelParameterModal from '@/app/components/plugins/plugin-detail-panel/model-selector'
-import ToolSelector from '@/app/components/plugins/plugin-detail-panel/tool-selector'
-import MultipleToolSelector from '@/app/components/plugins/plugin-detail-panel/multiple-tool-selector'
-import AppSelector from '@/app/components/plugins/plugin-detail-panel/app-selector'
-import RadioE from '@/app/components/base/radio/ui'
-import type {
-  NodeOutPutVar,
-} from '@/app/components/workflow/types'
-import type { Node } from 'reactflow'
-
-type FormProps<
-  CustomFormSchema extends Omit<CredentialFormSchema, 'type'> & { type: string } = never,
-> = {
+type FormProps = {
   className?: string
   itemClassName?: string
   fieldLabelClassName?: string
   value: FormValue
   onChange: (val: FormValue) => void
-  formSchemas: Array<CredentialFormSchema | CustomFormSchema>
+  formSchemas: CredentialFormSchema[]
   validating: boolean
   validatedSuccess?: boolean
   showOnVariableMap: Record<string, string[]>
   isEditMode: boolean
-  isAgentStrategy?: boolean
   readonly?: boolean
   inputClassName?: string
   isShowDefaultValue?: boolean
-  fieldMoreInfo?: (payload: CredentialFormSchema | CustomFormSchema) => ReactNode
-  customRenderField?: (
-    formSchema: CustomFormSchema,
-    props: Omit<FormProps<CustomFormSchema>, 'override' | 'customRenderField'>
-  ) => ReactNode
-  // If return falsy value, this field will fallback to default render
-  override?: [Array<FormTypeEnum>, (formSchema: CredentialFormSchema, props: Omit<FormProps<CustomFormSchema>, 'override' | 'customRenderField'>) => ReactNode]
-  nodeId?: string
-  nodeOutputVars?: NodeOutPutVar[],
-  availableNodes?: Node[],
+  fieldMoreInfo?: (payload: CredentialFormSchema) => JSX.Element | null
 }
 
-function Form<
-  CustomFormSchema extends Omit<CredentialFormSchema, 'type'> & { type: string } = never,
->({
+const Form: FC<FormProps> = ({
   className,
   itemClassName,
   fieldLabelClassName,
@@ -69,35 +45,13 @@
   validatedSuccess,
   showOnVariableMap,
   isEditMode,
-  isAgentStrategy = false,
   readonly,
   inputClassName,
   isShowDefaultValue = false,
   fieldMoreInfo,
-  customRenderField,
-  override,
-  nodeId,
-  nodeOutputVars,
-  availableNodes,
-}: FormProps<CustomFormSchema>) {
+}) => {
   const language = useLanguage()
   const [changeKey, setChangeKey] = useState('')
-  const filteredProps: Omit<FormProps<CustomFormSchema>, 'override' | 'customRenderField'> = {
-    className,
-    itemClassName,
-    fieldLabelClassName,
-    value,
-    onChange,
-    formSchemas,
-    validating,
-    validatedSuccess,
-    showOnVariableMap,
-    isEditMode,
-    readonly,
-    inputClassName,
-    isShowDefaultValue,
-    fieldMoreInfo,
-  }
 
   const handleFormChange = (key: string, val: string | boolean) => {
     if (isEditMode && (key === '__model_type' || key === '__model_name'))
@@ -107,44 +61,31 @@
     const shouldClearVariable: Record<string, string | undefined> = {}
     if (showOnVariableMap[key]?.length) {
       showOnVariableMap[key].forEach((clearVariable) => {
-        const schema = formSchemas.find(it => it.variable === clearVariable)
-        shouldClearVariable[clearVariable] = schema ? schema.default : undefined
+        shouldClearVariable[clearVariable] = undefined
       })
     }
     onChange({ ...value, [key]: val, ...shouldClearVariable })
   }
 
-  const handleModelChanged = useCallback((key: string, model: any) => {
-    const newValue = {
-      ...value[key],
-      ...model,
-      type: FormTypeEnum.modelSelector,
-    }
-    onChange({ ...value, [key]: newValue })
-  }, [onChange, value])
-
-  const renderField = (formSchema: CredentialFormSchema | CustomFormSchema) => {
+  const renderField = (formSchema: CredentialFormSchema) => {
     const tooltip = formSchema.tooltip
     const tooltipContent = (tooltip && (
       <Tooltip
-        popupContent={<div className='w-[200px]'>
-          {tooltip[language] || tooltip.en_US}
-        </div>}
+        popupContent={
+          <div className='w-[200px]'>
+            {tooltip[language] || tooltip.en_US}
+          </div>}
         triggerClassName='ml-1 w-4 h-4'
-        asChild={false} />
+        asChild={false}
+      />
     ))
-    if (override) {
-      const [overrideTypes, overrideRender] = override
-      if (overrideTypes.includes(formSchema.type as FormTypeEnum)) {
-        const node = overrideRender(formSchema as CredentialFormSchema, filteredProps)
-        if (node)
-          return node
-      }
-    }
-
     if (formSchema.type === FormTypeEnum.textInput || formSchema.type === FormTypeEnum.secretInput || formSchema.type === FormTypeEnum.textNumber) {
       const {
-        variable, label, placeholder, required, show_on,
+        variable,
+        label,
+        placeholder,
+        required,
+        show_on,
       } = formSchema as (CredentialFormSchemaTextInput | CredentialFormSchemaSecretInput)
 
       if (show_on.length && !show_on.every(showOnItem => value[showOnItem.variable] === showOnItem.value))
@@ -153,11 +94,13 @@
       const disabled = readonly || (isEditMode && (variable === '__model_type' || variable === '__model_name'))
       return (
         <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className={cn(fieldLabelClassName, 'system-sm-semibold flex items-center py-2 text-text-secondary')}>
+          <div className={cn(fieldLabelClassName, 'flex items-center py-2 text-sm text-gray-900')}>
             {label[language] || label.en_US}
-            {required && (
-              <span className='ml-1 text-red-500'>*</span>
-            )}
+            {
+              required && (
+                <span className='ml-1 text-red-500'>*</span>
+              )
+            }
             {tooltipContent}
           </div>
           <Input
@@ -167,10 +110,9 @@
             validated={validatedSuccess}
             placeholder={placeholder?.[language] || placeholder?.en_US}
             disabled={disabled}
-            type={formSchema.type === FormTypeEnum.secretInput ? 'password'
-              : formSchema.type === FormTypeEnum.textNumber ? 'number'
-                : 'text'}
-            {...(formSchema.type === FormTypeEnum.textNumber ? { min: (formSchema as CredentialFormSchemaNumberInput).min, max: (formSchema as CredentialFormSchemaNumberInput).max } : {})} />
+            type={formSchema.type === FormTypeEnum.textNumber ? 'number' : 'text'}
+            {...(formSchema.type === FormTypeEnum.textNumber ? { min: (formSchema as CredentialFormSchemaNumberInput).min, max: (formSchema as CredentialFormSchemaNumberInput).max } : {})}
+          />
           {fieldMoreInfo?.(formSchema)}
           {validating && changeKey === variable && <ValidatingTip />}
         </div>
@@ -179,7 +121,11 @@
 
     if (formSchema.type === FormTypeEnum.radio) {
       const {
-        options, variable, label, show_on, required,
+        options,
+        variable,
+        label,
+        show_on,
+        required,
       } = formSchema as CredentialFormSchemaRadio
 
       if (show_on.length && !show_on.every(showOnItem => value[showOnItem.variable] === showOnItem.value))
@@ -189,34 +135,40 @@
 
       return (
         <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className={cn(fieldLabelClassName, 'system-sm-semibold flex items-center py-2 text-text-secondary')}>
+          <div className={cn(fieldLabelClassName, 'flex items-center py-2 text-sm text-gray-900')}>
             {label[language] || label.en_US}
-            {required && (
-              <span className='ml-1 text-red-500'>*</span>
-            )}
+            {
+              required && (
+                <span className='ml-1 text-red-500'>*</span>
+              )
+            }
             {tooltipContent}
           </div>
-          <div className={cn('grid gap-3', `grid-cols-${options?.length}`)}>
-            {options.filter((option) => {
-              if (option.show_on.length)
-                return option.show_on.every(showOnItem => value[showOnItem.variable] === showOnItem.value)
+          <div className={`grid grid-cols-${options?.length} gap-3`}>
+            {
+              options.filter((option) => {
+                if (option.show_on.length)
+                  return option.show_on.every(showOnItem => value[showOnItem.variable] === showOnItem.value)
 
-              return true
-            }).map(option => (
-              <div
-                className={`
-                    flex cursor-pointer items-center gap-2 rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg px-3 py-2
-                    ${value[variable] === option.value && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg shadow-sm'}
+                return true
+              }).map(option => (
+                <div
+                  className={`
+                    flex items-center px-3 py-2 rounded-lg border border-gray-100 bg-gray-25 cursor-pointer
+                    ${value[variable] === option.value && 'bg-white border-[1.5px] border-primary-400 shadow-sm'}
                     ${disabled && '!cursor-not-allowed opacity-60'}
                   `}
-                onClick={() => handleFormChange(variable, option.value)}
-                key={`${variable}-${option.value}`}
-              >
-                <RadioE isChecked={value[variable] === option.value} />
-
-                <div className='system-sm-regular text-text-secondary'>{option.label[language] || option.label.en_US}</div>
-              </div>
-            ))}
+                  onClick={() => handleFormChange(variable, option.value)}
+                  key={`${variable}-${option.value}`}
+                >
+                  <div className={`
+                    flex justify-center items-center mr-2 w-4 h-4 border border-gray-300 rounded-full
+                    ${value[variable] === option.value && 'border-[5px] border-primary-600'}
+                  `} />
+                  <div className='text-sm text-gray-900'>{option.label[language] || option.label.en_US}</div>
+                </div>
+              ))
+            }
           </div>
           {fieldMoreInfo?.(formSchema)}
           {validating && changeKey === variable && <ValidatingTip />}
@@ -224,9 +176,14 @@
       )
     }
 
-    if (formSchema.type === FormTypeEnum.select) {
+    if (formSchema.type === 'select') {
       const {
-        options, variable, label, show_on, required, placeholder,
+        options,
+        variable,
+        label,
+        show_on,
+        required,
+        placeholder,
       } = formSchema as CredentialFormSchemaSelect
 
       if (show_on.length && !show_on.every(showOnItem => value[showOnItem.variable] === showOnItem.value))
@@ -234,16 +191,17 @@
 
       return (
         <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className={cn(fieldLabelClassName, 'system-sm-semibold flex items-center py-2 text-text-secondary')}>
+          <div className={cn(fieldLabelClassName, 'flex items-center py-2 text-sm text-gray-900')}>
             {label[language] || label.en_US}
 
-            {required && (
-              <span className='ml-1 text-red-500'>*</span>
-            )}
+            {
+              required && (
+                <span className='ml-1 text-red-500'>*</span>
+              )
+            }
             {tooltipContent}
           </div>
           <SimpleSelect
-            wrapperClassName='h-8'
             className={cn(inputClassName)}
             disabled={readonly}
             defaultValue={(isShowDefaultValue && ((value[variable] as string) === '' || value[variable] === undefined || value[variable] === null)) ? formSchema.default : value[variable]}
@@ -254,16 +212,20 @@
               return true
             }).map(option => ({ value: option.value, name: option.label[language] || option.label.en_US }))}
             onSelect={item => handleFormChange(variable, item.value as string)}
-            placeholder={placeholder?.[language] || placeholder?.en_US} />
+            placeholder={placeholder?.[language] || placeholder?.en_US}
+          />
           {fieldMoreInfo?.(formSchema)}
           {validating && changeKey === variable && <ValidatingTip />}
         </div>
       )
     }
 
-    if (formSchema.type === FormTypeEnum.boolean) {
+    if (formSchema.type === 'boolean') {
       const {
-        variable, label, show_on, required,
+        variable,
+        label,
+        show_on,
+        required,
       } = formSchema as CredentialFormSchemaRadio
 
       if (show_on.length && !show_on.every(showOnItem => value[showOnItem.variable] === showOnItem.value))
@@ -271,12 +233,14 @@
 
       return (
         <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className='system-sm-semibold flex items-center justify-between py-2 text-text-secondary'>
+          <div className='flex items-center justify-between py-2 text-sm text-gray-900'>
             <div className='flex items-center space-x-2'>
-              <span className={cn(fieldLabelClassName, 'system-sm-regular flex items-center py-2 text-text-secondary')}>{label[language] || label.en_US}</span>
-              {required && (
-                <span className='ml-1 text-red-500'>*</span>
-              )}
+              <span className={cn(fieldLabelClassName, 'flex items-center py-2 text-sm text-gray-900')}>{label[language] || label.en_US}</span>
+              {
+                required && (
+                  <span className='ml-1 text-red-500'>*</span>
+                )
+              }
               {tooltipContent}
             </div>
             <Radio.Group
@@ -292,131 +256,13 @@
         </div>
       )
     }
-
-    if (formSchema.type === FormTypeEnum.modelSelector) {
-      const {
-        variable, label, required, scope,
-      } = formSchema as (CredentialFormSchemaTextInput | CredentialFormSchemaSecretInput)
-      return (
-        <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className={cn(fieldLabelClassName, 'system-sm-semibold flex items-center py-2 text-text-secondary')}>
-            {label[language] || label.en_US}
-            {required && (
-              <span className='ml-1 text-red-500'>*</span>
-            )}
-            {tooltipContent}
-          </div>
-          <ModelParameterModal
-            popupClassName='!w-[387px]'
-            isAdvancedMode
-            isInWorkflow
-            isAgentStrategy={isAgentStrategy}
-            value={value[variable]}
-            setModel={model => handleModelChanged(variable, model)}
-            readonly={readonly}
-            scope={scope} />
-          {fieldMoreInfo?.(formSchema)}
-          {validating && changeKey === variable && <ValidatingTip />}
-        </div>
-      )
-    }
-
-    if (formSchema.type === FormTypeEnum.toolSelector) {
-      const {
-        variable,
-        label,
-        required,
-        scope,
-      } = formSchema as (CredentialFormSchemaTextInput | CredentialFormSchemaSecretInput)
-      return (
-        <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className={cn(fieldLabelClassName, 'system-sm-semibold flex items-center py-2 text-text-secondary')}>
-            {label[language] || label.en_US}
-            {required && (
-              <span className='ml-1 text-red-500'>*</span>
-            )}
-            {tooltipContent}
-          </div>
-          <ToolSelector
-            scope={scope}
-            nodeId={nodeId}
-            nodeOutputVars={nodeOutputVars || []}
-            availableNodes={availableNodes || []}
-            disabled={readonly}
-            value={value[variable]}
-            // selectedTools={value[variable] ? [value[variable]] : []}
-            onSelect={item => handleFormChange(variable, item as any)}
-            onDelete={() => handleFormChange(variable, null as any)}
-          />
-          {fieldMoreInfo?.(formSchema)}
-          {validating && changeKey === variable && <ValidatingTip />}
-        </div>
-      )
-    }
-
-    if (formSchema.type === FormTypeEnum.multiToolSelector) {
-      const {
-        variable,
-        label,
-        tooltip,
-        required,
-        scope,
-      } = formSchema as (CredentialFormSchemaTextInput | CredentialFormSchemaSecretInput)
-
-      return (
-        <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <MultipleToolSelector
-            disabled={readonly}
-            nodeId={nodeId}
-            nodeOutputVars={nodeOutputVars || []}
-            availableNodes={availableNodes || []}
-            scope={scope}
-            label={label[language] || label.en_US}
-            required={required}
-            tooltip={tooltip?.[language] || tooltip?.en_US}
-            value={value[variable] || []}
-            onChange={item => handleFormChange(variable, item as any)}
-            supportCollapse
-          />
-          {fieldMoreInfo?.(formSchema)}
-          {validating && changeKey === variable && <ValidatingTip />}
-        </div>
-      )
-    }
-
-    if (formSchema.type === FormTypeEnum.appSelector) {
-      const {
-        variable, label, required, scope,
-      } = formSchema as (CredentialFormSchemaTextInput | CredentialFormSchemaSecretInput)
-
-      return (
-        <div key={variable} className={cn(itemClassName, 'py-3')}>
-          <div className={cn(fieldLabelClassName, 'system-sm-semibold flex items-center py-2 text-text-secondary')}>
-            {label[language] || label.en_US}
-            {required && (
-              <span className='ml-1 text-red-500'>*</span>
-            )}
-            {tooltipContent}
-          </div>
-          <AppSelector
-            disabled={readonly}
-            scope={scope}
-            value={value[variable]}
-            onSelect={item => handleFormChange(variable, { ...item, type: FormTypeEnum.appSelector } as any)} />
-          {fieldMoreInfo?.(formSchema)}
-          {validating && changeKey === variable && <ValidatingTip />}
-        </div>
-      )
-    }
-
-    // @ts-expect-error it work
-    if (!Object.values(FormTypeEnum).includes(formSchema.type))
-      return customRenderField?.(formSchema as CustomFormSchema, filteredProps)
   }
 
   return (
     <div className={className}>
-      {formSchemas.map(formSchema => renderField(formSchema))}
+      {
+        formSchemas.map(formSchema => renderField(formSchema))
+      }
     </div>
   )
 }
diff --git a/app/components/header/account-setting/model-provider-page/model-modal/Input.tsx b/app/components/header/account-setting/model-provider-page/model-modal/Input.tsx
index a19e330..86d5261 100644
--- a/app/components/header/account-setting/model-provider-page/model-modal/Input.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-modal/Input.tsx
@@ -26,27 +26,26 @@
   max,
 }) => {
   const toLimit = (v: string) => {
-    const minNum = Number.parseFloat(`${min}`)
-    const maxNum = Number.parseFloat(`${max}`)
-    if (!isNaN(minNum) && Number.parseFloat(v) < minNum) {
+    const minNum = parseFloat(`${min}`)
+    const maxNum = parseFloat(`${max}`)
+    if (!isNaN(minNum) && parseFloat(v) < minNum) {
       onChange(`${min}`)
       return
     }
 
-    if (!isNaN(maxNum) && Number.parseFloat(v) > maxNum)
+    if (!isNaN(maxNum) && parseFloat(v) > maxNum)
       onChange(`${max}`)
   }
   return (
     <div className='relative'>
       <input
-        autoComplete="new-password"
         tabIndex={0}
         className={`
-          block h-8 w-full appearance-none rounded-lg border border-transparent bg-components-input-bg-normal px-3 text-sm
-          text-components-input-text-filled caret-primary-600 outline-none
-          placeholder:text-sm placeholder:text-text-tertiary
-          hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active
-          focus:bg-components-input-bg-active focus:shadow-xs
+          block px-3 w-full h-9 bg-gray-100 text-sm rounded-lg border border-transparent
+          appearance-none outline-none caret-primary-600
+          hover:border-[rgba(0,0,0,0.08)] hover:bg-gray-50
+          focus:bg-white focus:border-gray-300 focus:shadow-xs
+          placeholder:text-sm placeholder:text-gray-400
           ${validated && 'pr-[30px]'}
           ${className}
         `}
@@ -62,8 +61,8 @@
       />
       {
         validated && (
-          <div className='absolute right-2.5 top-2.5'>
-            <CheckCircle className='h-4 w-4 text-[#039855]' />
+          <div className='absolute top-2.5 right-2.5'>
+            <CheckCircle className='w-4 h-4 text-[#039855]' />
           </div>
         )
       }
diff --git a/app/components/header/account-setting/model-provider-page/model-modal/index.tsx b/app/components/header/account-setting/model-provider-page/model-modal/index.tsx
index bc98081..967bccc 100644
--- a/app/components/header/account-setting/model-provider-page/model-modal/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-modal/index.tsx
@@ -35,6 +35,7 @@
   useLanguage,
   useProviderCredentialsAndLoadBalancing,
 } from '../hooks'
+import ProviderIcon from '../provider-icon'
 import { useValidate } from '../../key-validator/hooks'
 import { ValidatedStatus } from '../../key-validator/declarations'
 import ModelLoadBalancingConfigs from '../provider-added-card/model-load-balancing-configs'
@@ -270,41 +271,42 @@
   }
 
   const renderTitlePrefix = () => {
-    const prefix = isEditMode ? t('common.operation.setup') : t('common.operation.add')
+    const prefix = configurateMethod === ConfigurationMethodEnum.customizableModel ? t('common.operation.add') : t('common.operation.setup')
+
     return `${prefix} ${provider.label[language] || provider.label.en_US}`
   }
 
   return (
     <PortalToFollowElem open>
-      <PortalToFollowElemContent className='z-[60] h-full w-full'>
+      <PortalToFollowElemContent className='w-full h-full z-[60]'>
         <div className='fixed inset-0 flex items-center justify-center bg-black/[.25]'>
-          <div className='mx-2 w-[640px] overflow-auto rounded-2xl bg-components-panel-bg shadow-xl'>
+          <div className='mx-2 w-[640px] max-h-[calc(100vh-120px)] bg-white shadow-xl rounded-2xl overflow-y-auto'>
             <div className='px-8 pt-8'>
-              <div className='mb-2 flex items-center'>
-                <div className='text-xl font-semibold text-text-primary'>{renderTitlePrefix()}</div>
+              <div className='flex justify-between items-center mb-2'>
+                <div className='text-xl font-semibold text-gray-900'>{renderTitlePrefix()}</div>
+                <ProviderIcon provider={provider} />
               </div>
 
-              <div className='max-h-[calc(100vh-320px)] overflow-y-auto'>
-                <Form
-                  value={value}
-                  onChange={handleValueChange}
-                  formSchemas={formSchemas}
-                  validating={validating}
-                  validatedSuccess={validatedStatusState.status === ValidatedStatus.Success}
-                  showOnVariableMap={showOnVariableMap}
-                  isEditMode={isEditMode}
-                />
-                <div className='mb-4 mt-1 border-t-[0.5px] border-t-divider-regular' />
-                <ModelLoadBalancingConfigs withSwitch {...{
-                  draftConfig,
-                  setDraftConfig,
-                  provider,
-                  currentCustomConfigurationModelFixedFields,
-                  configurationMethod: configurateMethod,
-                }} />
-              </div>
+              <Form
+                value={value}
+                onChange={handleValueChange}
+                formSchemas={formSchemas}
+                validating={validating}
+                validatedSuccess={validatedStatusState.status === ValidatedStatus.Success}
+                showOnVariableMap={showOnVariableMap}
+                isEditMode={isEditMode}
+              />
 
-              <div className='sticky bottom-0 -mx-2 mt-2 flex flex-wrap items-center justify-between gap-y-2 bg-components-panel-bg px-2 pb-6 pt-4'>
+              <div className='mt-1 mb-4 border-t-[0.5px] border-t-gray-100' />
+              <ModelLoadBalancingConfigs withSwitch {...{
+                draftConfig,
+                setDraftConfig,
+                provider,
+                currentCustomConfigurationModelFixedFields,
+                configurationMethod: configurateMethod,
+              }} />
+
+              <div className='sticky bottom-0 flex justify-between items-center mt-2 -mx-2 pt-4 px-2 pb-6 flex-wrap gap-y-2 bg-white'>
                 {
                   (provider.help && (provider.help.title || provider.help.url))
                     ? (
@@ -315,7 +317,7 @@
                         onClick={e => !provider.help.url && e.preventDefault()}
                       >
                         {provider.help.title?.[language] || provider.help.url[language] || provider.help.title?.en_US || provider.help.url.en_US}
-                        <LinkExternal02 className='ml-1 h-3 w-3' />
+                        <LinkExternal02 className='ml-1 w-3 h-3' />
                       </a>
                     )
                     : <div />
@@ -324,9 +326,8 @@
                   {
                     isEditMode && (
                       <Button
-                        variant='warning'
                         size='large'
-                        className='mr-2'
+                        className='mr-2 text-[#D92D20]'
                         onClick={() => setShowConfirm(true)}
                       >
                         {t('common.operation.remove')}
@@ -356,21 +357,21 @@
                 </div>
               </div>
             </div>
-            <div className='border-t-[0.5px] border-t-divider-regular'>
+            <div className='border-t-[0.5px] border-t-black/5'>
               {
                 (validatedStatusState.status === ValidatedStatus.Error && validatedStatusState.message)
                   ? (
-                    <div className='flex bg-background-section-burn px-[10px] py-3 text-xs text-[#D92D20]'>
-                      <RiErrorWarningFill className='mr-2 mt-[1px] h-[14px] w-[14px]' />
+                    <div className='flex px-[10px] py-3 bg-[#FEF3F2] text-xs text-[#D92D20]'>
+                      <RiErrorWarningFill className='mt-[1px] mr-2 w-[14px] h-[14px]' />
                       {validatedStatusState.message}
                     </div>
                   )
                   : (
-                    <div className='flex items-center justify-center bg-background-section-burn py-3 text-xs text-text-tertiary'>
-                      <Lock01 className='mr-1 h-3 w-3 text-text-tertiary' />
+                    <div className='flex justify-center items-center py-3 bg-gray-50 text-xs text-gray-500'>
+                      <Lock01 className='mr-1 w-3 h-3 text-gray-500' />
                       {t('common.modelProvider.encrypted.front')}
                       <a
-                        className='mx-1 text-text-accent'
+                        className='text-primary-600 mx-1'
                         target='_blank' rel='noopener noreferrer'
                         href='https://pycryptodome.readthedocs.io/en/latest/src/cipher/oaep.html'
                       >
diff --git a/app/components/header/account-setting/model-provider-page/model-modal/model-load-balancing-entry-modal.tsx b/app/components/header/account-setting/model-provider-page/model-modal/model-load-balancing-entry-modal.tsx
index d6285a7..1c318b9 100644
--- a/app/components/header/account-setting/model-provider-page/model-modal/model-load-balancing-entry-modal.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-modal/model-load-balancing-entry-modal.tsx
@@ -241,11 +241,11 @@
 
   return (
     <PortalToFollowElem open>
-      <PortalToFollowElemContent className='z-[60] h-full w-full'>
+      <PortalToFollowElemContent className='w-full h-full z-[60]'>
         <div className='fixed inset-0 flex items-center justify-center bg-black/[.25]'>
-          <div className='mx-2 max-h-[calc(100vh-120px)] w-[640px] overflow-y-auto rounded-2xl bg-white shadow-xl'>
+          <div className='mx-2 w-[640px] max-h-[calc(100vh-120px)] bg-white shadow-xl rounded-2xl overflow-y-auto'>
             <div className='px-8 pt-8'>
-              <div className='mb-2 flex items-center justify-between'>
+              <div className='flex justify-between items-center mb-2'>
                 <div className='text-xl font-semibold text-gray-900'>{t(isEditMode ? 'common.modelProvider.editConfig' : 'common.modelProvider.addConfig')}</div>
               </div>
               <Form
@@ -257,7 +257,7 @@
                 showOnVariableMap={showOnVariableMap}
                 isEditMode={isEditMode}
               />
-              <div className='sticky bottom-0 flex flex-wrap items-center justify-between gap-y-2 bg-white py-6'>
+              <div className='sticky bottom-0 flex justify-between items-center py-6 flex-wrap gap-y-2 bg-white'>
                 {
                   (provider.help && (provider.help.title || provider.help.url))
                     ? (
@@ -268,7 +268,7 @@
                         onClick={e => !provider.help.url && e.preventDefault()}
                       >
                         {provider.help.title?.[language] || provider.help.url[language] || provider.help.title?.en_US || provider.help.url.en_US}
-                        <LinkExternal02 className='ml-1 h-3 w-3' />
+                        <LinkExternal02 className='ml-1 w-3 h-3' />
                       </a>
                     )
                     : <div />
@@ -307,17 +307,17 @@
               {
                 (validatedStatusState.status === ValidatedStatus.Error && validatedStatusState.message)
                   ? (
-                    <div className='flex bg-[#FEF3F2] px-[10px] py-3 text-xs text-[#D92D20]'>
-                      <RiErrorWarningFill className='mr-2 mt-[1px] h-[14px] w-[14px]' />
+                    <div className='flex px-[10px] py-3 bg-[#FEF3F2] text-xs text-[#D92D20]'>
+                      <RiErrorWarningFill className='mt-[1px] mr-2 w-[14px] h-[14px]' />
                       {validatedStatusState.message}
                     </div>
                   )
                   : (
-                    <div className='flex items-center justify-center bg-gray-50 py-3 text-xs text-gray-500'>
-                      <Lock01 className='mr-1 h-3 w-3 text-gray-500' />
+                    <div className='flex justify-center items-center py-3 bg-gray-50 text-xs text-gray-500'>
+                      <Lock01 className='mr-1 w-3 h-3 text-gray-500' />
                       {t('common.modelProvider.encrypted.front')}
                       <a
-                        className='mx-1 text-primary-600'
+                        className='text-primary-600 mx-1'
                         target='_blank' rel='noopener noreferrer'
                         href='https://pycryptodome.readthedocs.io/en/latest/src/cipher/oaep.html'
                       >
diff --git a/app/components/header/account-setting/model-provider-page/model-name/index.tsx b/app/components/header/account-setting/model-provider-page/model-name/index.tsx
index f88c751..379a9f4 100644
--- a/app/components/header/account-setting/model-provider-page/model-name/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-name/index.tsx
@@ -37,45 +37,43 @@
   if (!modelItem)
     return null
   return (
-    <div className={cn('system-sm-regular flex items-center gap-0.5 overflow-hidden truncate text-ellipsis text-components-input-text-filled', className)}>
+    <div className={cn('flex items-center truncate text-components-input-text-filled system-sm-regular', className)}>
       <div
         className='truncate'
         title={modelItem.label[language] || modelItem.label.en_US}
       >
         {modelItem.label[language] || modelItem.label.en_US}
       </div>
-      <div className='flex items-center gap-0.5'>
-        {
-          showModelType && modelItem.model_type && (
-            <ModelBadge className={modelTypeClassName}>
-              {modelTypeFormat(modelItem.model_type)}
-            </ModelBadge>
-          )
-        }
-        {
-          modelItem.model_properties.mode && showMode && (
-            <ModelBadge className={modeClassName}>
-              {(modelItem.model_properties.mode as string).toLocaleUpperCase()}
-            </ModelBadge>
-          )
-        }
-        {
-          showFeatures && modelItem.features?.map(feature => (
-            <FeatureIcon
-              key={feature}
-              feature={feature}
-              className={featuresClassName}
-            />
-          ))
-        }
-        {
-          showContextSize && modelItem.model_properties.context_size && (
-            <ModelBadge>
-              {sizeFormat(modelItem.model_properties.context_size as number)}
-            </ModelBadge>
-          )
-        }
-      </div>
+      {
+        showModelType && modelItem.model_type && (
+          <ModelBadge className={cn('ml-1', modelTypeClassName)}>
+            {modelTypeFormat(modelItem.model_type)}
+          </ModelBadge>
+        )
+      }
+      {
+        modelItem.model_properties.mode && showMode && (
+          <ModelBadge className={cn('ml-1', modeClassName)}>
+            {(modelItem.model_properties.mode as string).toLocaleUpperCase()}
+          </ModelBadge>
+        )
+      }
+      {
+        showFeatures && modelItem.features?.map(feature => (
+          <FeatureIcon
+            key={feature}
+            feature={feature}
+            className={featuresClassName}
+          />
+        ))
+      }
+      {
+        showContextSize && modelItem.model_properties.context_size && (
+          <ModelBadge className='ml-1'>
+            {sizeFormat(modelItem.model_properties.context_size as number)}
+          </ModelBadge>
+        )
+      }
       {children}
     </div>
   )
diff --git a/app/components/header/account-setting/model-provider-page/model-parameter-modal/index.tsx b/app/components/header/account-setting/model-provider-page/model-parameter-modal/index.tsx
index dd441dd..e21aa33 100644
--- a/app/components/header/account-setting/model-provider-page/model-parameter-modal/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-parameter-modal/index.tsx
@@ -48,7 +48,6 @@
   renderTrigger?: (v: TriggerProps) => ReactNode
   readonly?: boolean
   isInWorkflow?: boolean
-  scope?: string
 }
 const stopParameterRule: ModelParameterRule = {
   default: [],
@@ -69,7 +68,7 @@
   },
 }
 
-const PROVIDER_WITH_PRESET_TONE = ['langgenius/openai/openai', 'langgenius/azure_openai/azure_openai']
+const PROVIDER_WITH_PRESET_TONE = ['openai', 'azure_openai']
 const ModelParameterModal: FC<ModelParameterModalProps> = ({
   popupClassName,
   portalToFollowElemContentClassName,
@@ -191,22 +190,26 @@
               )
           }
         </PortalToFollowElemTrigger>
-        <PortalToFollowElemContent className={cn('z-[60]', portalToFollowElemContentClassName)}>
-          <div className={cn(popupClassName, 'w-[389px] rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg')}>
-            <div className={cn('max-h-[420px] overflow-y-auto p-4 pt-3')}>
-              <div className='relative'>
-                <div className={cn('system-sm-semibold mb-1 flex h-6 items-center text-text-secondary')}>
+        <PortalToFollowElemContent className={cn(portalToFollowElemContentClassName, 'z-[60]')}>
+          <div className={cn(popupClassName, 'w-[496px] rounded-xl border border-gray-100 bg-white shadow-xl')}>
+            <div className={cn(
+              'max-h-[480px]  overflow-y-auto',
+              !isInWorkflow && 'px-10 pt-6 pb-8',
+              isInWorkflow && 'p-4')}>
+              <div className='flex items-center justify-between h-8'>
+                <div className={cn('font-semibold text-gray-900 shrink-0', isInWorkflow && 'text-[13px]')}>
                   {t('common.modelProvider.model').toLocaleUpperCase()}
                 </div>
                 <ModelSelector
                   defaultModel={(provider || modelId) ? { provider, model: modelId } : undefined}
                   modelList={activeTextGenerationModelList}
                   onSelect={handleChangeModel}
+                  triggerClassName='max-w-[295px]'
                 />
               </div>
               {
                 !!parameterRules.length && (
-                  <div className='my-3 h-[1px] bg-divider-subtle' />
+                  <div className='my-5 h-[1px] bg-gray-100' />
                 )
               }
               {
@@ -216,8 +219,8 @@
               }
               {
                 !isLoading && !!parameterRules.length && (
-                  <div className='mb-2 flex items-center justify-between'>
-                    <div className={cn('system-sm-semibold flex h-6 items-center text-text-secondary')}>{t('common.modelProvider.parameters')}</div>
+                  <div className='flex items-center justify-between mb-4'>
+                    <div className={cn('font-semibold text-gray-900', isInWorkflow && 'text-[13px]')}>{t('common.modelProvider.parameters')}</div>
                     {
                       PROVIDER_WITH_PRESET_TONE.includes(provider) && (
                         <PresetsParameter onSelect={handleSelectPresetParameter} />
@@ -234,6 +237,7 @@
                   ].map(parameter => (
                     <ParameterItem
                       key={`${modelId}-${parameter.name}`}
+                      className='mb-4'
                       parameterRule={parameter}
                       value={completionParams?.[parameter.name]}
                       onChange={v => handleParamChange(parameter.name, v)}
@@ -246,7 +250,7 @@
             </div>
             {!hideDebugWithMultipleModel && (
               <div
-                className='bg-components-section-burn system-sm-regular flex h-[50px] cursor-pointer items-center justify-between rounded-b-xl border-t border-t-divider-subtle px-4 text-text-accent'
+                className='flex items-center justify-between px-6 h-[50px] bg-gray-50 border-t border-t-gray-100 text-xs font-medium text-primary-600 cursor-pointer rounded-b-xl'
                 onClick={() => onDebugWithMultipleModelChange?.()}
               >
                 {
@@ -254,7 +258,7 @@
                     ? t('appDebug.debugAsSingleModel')
                     : t('appDebug.debugAsMultipleModel')
                 }
-                <ArrowNarrowLeft className='h-3 w-3 rotate-180' />
+                <ArrowNarrowLeft className='w-3 h-3 rotate-180' />
               </div>
             )}
           </div>
diff --git a/app/components/header/account-setting/model-provider-page/model-parameter-modal/parameter-item.tsx b/app/components/header/account-setting/model-provider-page/model-parameter-modal/parameter-item.tsx
index 3e969d7..376a08c 100644
--- a/app/components/header/account-setting/model-provider-page/model-parameter-modal/parameter-item.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-parameter-modal/parameter-item.tsx
@@ -10,7 +10,6 @@
 import Radio from '@/app/components/base/radio'
 import { SimpleSelect } from '@/app/components/base/select'
 import TagInput from '@/app/components/base/tag-input'
-import { useTranslation } from 'react-i18next'
 
 export type ParameterValue = number | string | string[] | boolean | undefined
 
@@ -18,6 +17,7 @@
   parameterRule: ModelParameterRule
   value?: ParameterValue
   onChange?: (value: ParameterValue) => void
+  className?: string
   onSwitch?: (checked: boolean, assignValue: ParameterValue) => void
   isInWorkflow?: boolean
 }
@@ -25,10 +25,10 @@
   parameterRule,
   value,
   onChange,
+  className,
   onSwitch,
   isInWorkflow,
 }) => {
-  const { t } = useTranslation()
   const language = useLanguage()
   const [localValue, setLocalValue] = useState(value)
   const numberInputRef = useRef<HTMLInputElement>(null)
@@ -39,7 +39,7 @@
     if (parameterRule.type === 'int' || parameterRule.type === 'float')
       defaultValue = isNullOrUndefined(parameterRule.default) ? (parameterRule.min || 0) : parameterRule.default
     else if (parameterRule.type === 'string' || parameterRule.type === 'text')
-      defaultValue = parameterRule.default || ''
+      defaultValue = parameterRule.options?.length ? (parameterRule.default || '') : (parameterRule.default || '')
     else if (parameterRule.type === 'boolean')
       defaultValue = !isNullOrUndefined(parameterRule.default) ? parameterRule.default : false
     else if (parameterRule.type === 'tag')
@@ -134,6 +134,8 @@
           step = 1
         else if (parameterRule.max < 1000)
           step = 10
+        else if (parameterRule.max < 10000)
+          step = 100
       }
 
       return (
@@ -148,7 +150,7 @@
           />}
           <input
             ref={numberInputRef}
-            className='system-sm-regular ml-4 block h-8 w-16 shrink-0 appearance-none rounded-lg bg-components-input-bg-normal pl-3 text-components-input-text-filled outline-none'
+            className='shrink-0 block ml-4 pl-3 w-16 h-8 appearance-none outline-none rounded-lg bg-gray-100 text-[13px] text-gra-900'
             type='number'
             max={parameterRule.max}
             min={parameterRule.min}
@@ -173,7 +175,7 @@
           />}
           <input
             ref={numberInputRef}
-            className='system-sm-regular ml-4 block h-8 w-16 shrink-0 appearance-none rounded-lg bg-components-input-bg-normal pl-3 text-components-input-text-filled outline-none'
+            className='shrink-0 block ml-4 pl-3 w-16 h-8 appearance-none outline-none rounded-lg bg-gray-100 text-[13px] text-gra-900'
             type='number'
             max={parameterRule.max}
             min={parameterRule.min}
@@ -188,12 +190,12 @@
     if (parameterRule.type === 'boolean') {
       return (
         <Radio.Group
-          className='flex w-[178px] items-center'
+          className='w-[200px] flex items-center'
           value={renderValue ? 1 : 0}
           onChange={handleRadioChange}
         >
-          <Radio value={1} className='w-[83px]'>True</Radio>
-          <Radio value={0} className='w-[83px]'>False</Radio>
+          <Radio value={1} className='!mr-1 w-[94px]'>True</Radio>
+          <Radio value={0} className='w-[94px]'>False</Radio>
         </Radio.Group>
       )
     }
@@ -201,7 +203,7 @@
     if (parameterRule.type === 'string' && !parameterRule.options?.length) {
       return (
         <input
-          className={cn(isInWorkflow ? 'w-[178px]' : 'w-full', 'system-sm-regular ml-4 flex h-8 appearance-none items-center rounded-lg bg-components-input-bg-normal px-3 text-components-input-text-filled outline-none')}
+          className={cn(isInWorkflow ? 'w-[200px]' : 'w-full', 'ml-4 flex items-center px-3 h-8 appearance-none outline-none rounded-lg bg-gray-100 text-[13px] text-gra-900')}
           value={renderValue as string}
           onChange={handleStringInputChange}
         />
@@ -211,7 +213,7 @@
     if (parameterRule.type === 'text') {
       return (
         <textarea
-          className='system-sm-regular ml-4 h-20 w-full rounded-lg bg-components-input-bg-normal px-1 text-components-input-text-filled'
+          className='w-full h-20 ml-4 px-1 rounded-lg bg-gray-100 outline-none text-[12px] text-gray-900'
           value={renderValue as string}
           onChange={handleStringInputChange}
         />
@@ -222,7 +224,7 @@
       return (
         <SimpleSelect
           className='!py-0'
-          wrapperClassName={cn('!h-8 w-full')}
+          wrapperClassName={cn(isInWorkflow ? '!w-[200px]' : 'w-full', 'ml-4 !h-8')}
           defaultValue={renderValue as string}
           onSelect={handleSelect}
           items={parameterRule.options.map(option => ({ value: option, name: option }))}
@@ -232,7 +234,7 @@
 
     if (parameterRule.type === 'tag') {
       return (
-        <div className={cn('!h-8 w-full')}>
+        <div className={cn(isInWorkflow ? 'w-[200px]' : 'w-full', 'ml-4')}>
           <TagInput
             items={renderValue as string[]}
             onChange={handleTagChange}
@@ -247,22 +249,11 @@
   }
 
   return (
-    <div className='mb-2 flex items-center justify-between'>
-      <div className='shrink-0 basis-1/2'>
-        <div className={cn('flex w-full shrink-0 items-center')}>
-          {
-            !parameterRule.required && parameterRule.name !== 'stop' && (
-              <div className='mr-2 w-7'>
-                <Switch
-                  defaultValue={!isNullOrUndefined(value)}
-                  onChange={handleSwitch}
-                  size='md'
-                />
-              </div>
-            )
-          }
+    <div className={`flex items-center justify-between ${className}`}>
+      <div>
+        <div className={cn(isInWorkflow ? 'w-[140px]' : 'w-full', 'ml-4 shrink-0 flex items-center')}>
           <div
-            className='system-xs-regular mr-0.5 truncate text-text-secondary'
+            className='mr-0.5 text-[13px] font-medium text-gray-700 truncate'
             title={parameterRule.label[language] || parameterRule.label.en_US}
           >
             {parameterRule.label[language] || parameterRule.label.en_US}
@@ -271,17 +262,27 @@
             parameterRule.help && (
               <Tooltip
                 popupContent={(
-                  <div className='w-[178px] whitespace-pre-wrap'>{parameterRule.help[language] || parameterRule.help.en_US}</div>
+                  <div className='w-[200px] whitespace-pre-wrap'>{parameterRule.help[language] || parameterRule.help.en_US}</div>
                 )}
                 popupClassName='mr-1'
                 triggerClassName='mr-1 w-4 h-4 shrink-0'
               />
             )
           }
+          {
+            !parameterRule.required && parameterRule.name !== 'stop' && (
+              <Switch
+                className='mr-1'
+                defaultValue={!isNullOrUndefined(value)}
+                onChange={handleSwitch}
+                size='md'
+              />
+            )
+          }
         </div>
         {
           parameterRule.type === 'tag' && (
-            <div className={cn(!isInWorkflow && 'w-[178px]', 'system-xs-regular text-text-tertiary')}>
+            <div className={cn(!isInWorkflow && 'w-[200px]', 'text-gray-400 text-xs font-normal')}>
               {parameterRule?.tagPlaceholder?.[language]}
             </div>
           )
diff --git a/app/components/header/account-setting/model-provider-page/model-parameter-modal/presets-parameter.tsx b/app/components/header/account-setting/model-provider-page/model-parameter-modal/presets-parameter.tsx
index 20a9bdc..de5061e 100644
--- a/app/components/header/account-setting/model-provider-page/model-parameter-modal/presets-parameter.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-parameter-modal/presets-parameter.tsx
@@ -2,13 +2,12 @@
 import { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
 import { RiArrowDownSLine } from '@remixicon/react'
-import Button from '@/app/components/base/button'
 import Dropdown from '@/app/components/base/dropdown'
+import { SlidersH } from '@/app/components/base/icons/src/vender/line/mediaAndDevices'
 import { Brush01 } from '@/app/components/base/icons/src/vender/solid/editor'
 import { Scales02 } from '@/app/components/base/icons/src/vender/solid/FinanceAndECommerce'
 import { Target04 } from '@/app/components/base/icons/src/vender/solid/general'
 import { TONE_LIST } from '@/config'
-import cn from '@/utils/classnames'
 
 type PresetsParameterProps = {
   onSelect: (toneId: number) => void
@@ -19,16 +18,19 @@
   const { t } = useTranslation()
   const renderTrigger = useCallback((open: boolean) => {
     return (
-      <Button
-        size={'small'}
-        variant={'secondary'}
-        className={cn(open && 'bg-state-base-hover')}
+      <div
+        className={`
+          flex items-center px-[7px] h-7 rounded-md border-[0.5px] border-gray-200 shadow-xs
+          text-xs font-medium text-gray-700 cursor-pointer
+          ${open && 'bg-gray-100'}
+        `}
       >
+        <SlidersH className='mr-[5px] w-3.5 h-3.5 text-gray-500' />
         {t('common.modelProvider.loadPresets')}
-        <RiArrowDownSLine className='ml-0.5 h-3.5 w-3.5' />
-      </Button>
+        <RiArrowDownSLine className='ml-0.5 w-3.5 h-3.5 text-gray-500' />
+      </div>
     )
-  }, [t])
+  }, [])
   const getToneIcon = (toneId: number) => {
     const className = 'mr-2 w-[14px] h-[14px]'
     const res = ({
@@ -42,7 +44,7 @@
     return {
       value: tone.id,
       text: (
-        <div className='flex h-full items-center'>
+        <div className='flex items-center h-full'>
           {getToneIcon(tone.id)}
           {t(`common.model.tone.${tone.name}`) as string}
         </div>
diff --git a/app/components/header/account-setting/model-provider-page/model-parameter-modal/stop-sequence.tsx b/app/components/header/account-setting/model-provider-page/model-parameter-modal/stop-sequence.tsx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/components/header/account-setting/model-provider-page/model-parameter-modal/stop-sequence.tsx
diff --git a/app/components/header/account-setting/model-provider-page/model-parameter-modal/trigger.tsx b/app/components/header/account-setting/model-provider-page/model-parameter-modal/trigger.tsx
index 7c96c9a..ba63217 100644
--- a/app/components/header/account-setting/model-provider-page/model-parameter-modal/trigger.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-parameter-modal/trigger.tsx
@@ -44,16 +44,16 @@
   return (
     <div
       className={cn(
-        'relative flex h-8 cursor-pointer items-center rounded-lg  px-2',
-        !isInWorkflow && 'border ring-inset hover:ring-[0.5px]',
-        !isInWorkflow && (disabled ? 'border-text-warning bg-state-warning-hover ring-text-warning' : 'border-util-colors-indigo-indigo-600 bg-state-accent-hover ring-util-colors-indigo-indigo-600'),
-        isInWorkflow && 'border border-workflow-block-parma-bg bg-workflow-block-parma-bg pr-[30px]  hover:border-components-input-border-active',
+        'relative flex items-center px-2 h-8 rounded-lg  cursor-pointer',
+        !isInWorkflow && 'border hover:border-[1.5px]',
+        !isInWorkflow && (disabled ? 'border-[#F79009] bg-[#FFFAEB]' : 'border-[#444CE7] bg-primary-50'),
+        isInWorkflow && 'pr-[30px] bg-gray-100 border border-gray-100  hover:border-gray-200',
       )}
     >
       {
         currentProvider && (
           <ModelIcon
-            className='mr-1.5 !h-5 !w-5'
+            className='mr-1.5 !w-5 !h-5'
             provider={currentProvider}
             modelName={currentModel?.model}
           />
@@ -62,7 +62,7 @@
       {
         !currentProvider && (
           <ModelIcon
-            className='mr-1.5 !h-5 !w-5'
+            className='mr-1.5 !w-5 !h-5'
             provider={modelProviders.find(item => item.provider === providerName)}
             modelName={modelId}
           />
@@ -71,16 +71,18 @@
       {
         currentModel && (
           <ModelName
-            className='mr-1.5 text-text-primary'
+            className='mr-1.5 text-gray-900'
             modelItem={currentModel}
             showMode
+            modeClassName={cn(!isInWorkflow ? '!text-[#444CE7] !border-[#A4BCFD]' : '!text-gray-500 !border-black/8')}
             showFeatures
+            featuresClassName={cn(!isInWorkflow ? '!text-[#444CE7] !border-[#A4BCFD]' : '!text-gray-500 !border-black/8')}
           />
         )
       }
       {
         !currentModel && (
-          <div className='mr-1 truncate text-[13px] font-medium text-text-primary'>
+          <div className='mr-1 text-[13px] font-medium text-gray-900 truncate'>
             {modelId}
           </div>
         )
@@ -97,14 +99,14 @@
                     : ''
               }
             >
-              <AlertTriangle className='h-4 w-4 text-[#F79009]' />
+              <AlertTriangle className='w-4 h-4 text-[#F79009]' />
             </Tooltip>
           )
           : (
-            <SlidersH className={cn(!isInWorkflow ? 'text-indigo-600' : 'text-text-tertiary', 'h-4 w-4 shrink-0')} />
+            <SlidersH className={cn(!isInWorkflow ? 'text-indigo-600' : 'text-gray-500', 'shrink-0 w-4 h-4')} />
           )
       }
-      {isInWorkflow && (<RiArrowDownSLine className='absolute right-2 top-[9px] h-3.5 w-3.5 text-text-tertiary' />)}
+      {isInWorkflow && (<RiArrowDownSLine className='absolute top-[9px] right-2 w-3.5 h-3.5 text-gray-500' />)}
     </div>
   )
 }
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.tsx b/app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.tsx
index 0b01635..f40423d 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.tsx
@@ -4,21 +4,16 @@
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
 import { useProviderContext } from '@/context/provider-context'
 import Tooltip from '@/app/components/base/tooltip'
-import cn from '@/utils/classnames'
 
 type ModelTriggerProps = {
   modelName: string
   providerName: string
   className?: string
-  showWarnIcon?: boolean
-  contentClassName?: string
 }
 const ModelTrigger: FC<ModelTriggerProps> = ({
   modelName,
   providerName,
   className,
-  showWarnIcon,
-  contentClassName,
 }) => {
   const { t } = useTranslation()
   const { modelProviders } = useProviderContext()
@@ -26,26 +21,23 @@
 
   return (
     <div
-      className={cn('group box-content flex h-8 grow cursor-pointer items-center gap-1 rounded-lg bg-components-input-bg-disabled p-[3px] pl-1', className)}
+      className={`
+        group flex items-center px-2 h-8 rounded-lg bg-[#FFFAEB] cursor-pointer
+        ${className}
+      `}
     >
-      <div className={cn('flex w-full items-center', contentClassName)}>
-        <div className='flex min-w-0 flex-1 items-center gap-1 py-[1px]'>
-          <ModelIcon
-            className="h-4 w-4"
-            provider={currentProvider}
-            modelName={modelName}
-          />
-          <div className='system-sm-regular truncate text-components-input-text-filled'>
-            {modelName}
-          </div>
-        </div>
-        <div className='flex shrink-0 items-center justify-center'>
-          {showWarnIcon && (
-            <Tooltip popupContent={t('common.modelProvider.deprecated')}>
-              <AlertTriangle className='h-4 w-4 text-text-warning-secondary' />
-            </Tooltip>
-          )}
-        </div>
+      <ModelIcon
+        className='shrink-0 mr-1.5'
+        provider={currentProvider}
+        modelName={modelName}
+      />
+      <div className='mr-1 text-[13px] font-medium text-gray-800 truncate'>
+        {modelName}
+      </div>
+      <div className='shrink-0 flex items-center justify-center w-4 h-4'>
+        <Tooltip popupContent={t('common.modelProvider.deprecated')}>
+          <AlertTriangle className='w-4 h-4 text-[#F79009]' />
+        </Tooltip>
       </div>
     </div>
   )
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.tsx b/app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.tsx
index 613b1c0..0c6d3ef 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.tsx
@@ -1,8 +1,7 @@
 import type { FC } from 'react'
-import { RiEqualizer2Line } from '@remixicon/react'
+import { RiArrowDownSLine } from '@remixicon/react'
 import { CubeOutline } from '@/app/components/base/icons/src/vender/line/shapes'
-import cn from '@/utils/classnames'
-import { useTranslation } from 'react-i18next'
+
 type ModelTriggerProps = {
   open: boolean
   className?: string
@@ -11,27 +10,27 @@
   open,
   className,
 }) => {
-  const { t } = useTranslation()
   return (
     <div
-      className={cn(
-        'flex cursor-pointer items-center gap-0.5 rounded-lg bg-components-input-bg-normal p-1 hover:bg-components-input-bg-hover', open && 'bg-components-input-bg-hover',
-        className,
-      )}
+      className={`
+        flex items-center px-2 h-8 rounded-lg bg-gray-100 hover:bg-gray-200 cursor-pointer
+        ${className}
+        ${open && '!bg-gray-200'}
+      `}
     >
-      <div className='flex grow items-center'>
-        <div className='mr-1.5 flex h-4 w-4 items-center justify-center rounded-[5px] border border-dashed border-divider-regular'>
-          <CubeOutline className='h-3 w-3 text-text-quaternary' />
+      <div className='grow flex items-center'>
+        <div className='mr-1.5 flex items-center justify-center w-4 h-4 rounded-[5px] border border-dashed border-black/5'>
+          <CubeOutline className='w-3 h-3 text-gray-400' />
         </div>
         <div
-          className='truncate text-[13px] text-text-tertiary'
-          title='Configure model'
+          className='text-[13px] text-gray-500 truncate'
+          title='Select model'
         >
-          {t('plugin.detailPanel.configureModel')}
+          Select model
         </div>
       </div>
-      <div className='flex h-4 w-4 shrink-0 items-center justify-center'>
-        <RiEqualizer2Line className='h-3.5 w-3.5 text-text-tertiary' />
+      <div className='shrink-0 flex items-center justify-center w-4 h-4'>
+        <RiArrowDownSLine className='w-3.5 h-3.5 text-gray-500' />
       </div>
     </div>
   )
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/feature-icon.tsx b/app/components/header/account-setting/model-provider-page/model-selector/feature-icon.tsx
index b9422a8..32bd58d 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/feature-icon.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/feature-icon.tsx
@@ -6,13 +6,10 @@
   ModelFeatureTextEnum,
 } from '../declarations'
 import {
-  AudioSupportIcon,
-  DocumentSupportIcon,
   // MagicBox,
   MagicEyes,
   // MagicWand,
   // Robot,
-  VideoSupportIcon,
 } from '@/app/components/base/icons/src/vender/solid/mediaAndDevices'
 import Tooltip from '@/app/components/base/tooltip'
 
@@ -68,50 +65,8 @@
         popupContent={t('common.modelProvider.featureSupported', { feature: ModelFeatureTextEnum.vision })}
       >
         <div className='inline-block cursor-help'>
-          <ModelBadge className={`w-[18px] justify-center !px-0 text-text-tertiary ${className}`}>
-            <MagicEyes className='h-3 w-3' />
-          </ModelBadge>
-        </div>
-      </Tooltip>
-    )
-  }
-
-  if (feature === ModelFeatureEnum.document) {
-    return (
-      <Tooltip
-        popupContent={t('common.modelProvider.featureSupported', { feature: ModelFeatureTextEnum.document })}
-      >
-        <div className='inline-block cursor-help'>
-          <ModelBadge className={`w-[18px] justify-center !px-0 text-text-tertiary ${className}`}>
-            <DocumentSupportIcon className='h-3 w-3' />
-          </ModelBadge>
-        </div>
-      </Tooltip>
-    )
-  }
-
-  if (feature === ModelFeatureEnum.audio) {
-    return (
-      <Tooltip
-        popupContent={t('common.modelProvider.featureSupported', { feature: ModelFeatureTextEnum.audio })}
-      >
-        <div className='inline-block cursor-help'>
-          <ModelBadge className={`w-[18px] justify-center !px-0 text-text-tertiary ${className}`}>
-            <AudioSupportIcon className='h-3 w-3' />
-          </ModelBadge>
-        </div>
-      </Tooltip>
-    )
-  }
-
-  if (feature === ModelFeatureEnum.video) {
-    return (
-      <Tooltip
-        popupContent={t('common.modelProvider.featureSupported', { feature: ModelFeatureTextEnum.video })}
-      >
-        <div className='inline-block cursor-help'>
-          <ModelBadge className={`w-[18px] justify-center !px-0 text-text-tertiary ${className}`}>
-            <VideoSupportIcon className='h-3 w-3' />
+          <ModelBadge className={`mr-0.5 !px-0 w-[18px] justify-center text-gray-500 ${className}`}>
+            <MagicEyes className='w-3 h-3' />
           </ModelBadge>
         </div>
       </Tooltip>
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/index.tsx b/app/components/header/account-setting/model-provider-page/model-selector/index.tsx
index d28959a..c6dd76a 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/index.tsx
@@ -15,7 +15,6 @@
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
-import classNames from '@/utils/classnames'
 
 type ModelSelectorProps = {
   defaultModel?: DefaultModel
@@ -24,9 +23,6 @@
   popupClassName?: string
   onSelect?: (model: DefaultModel) => void
   readonly?: boolean
-  scopeFeatures?: string[]
-  deprecatedClassName?: string
-  showDeprecatedWarnIcon?: boolean
 }
 const ModelSelector: FC<ModelSelectorProps> = ({
   defaultModel,
@@ -35,9 +31,6 @@
   popupClassName,
   onSelect,
   readonly,
-  scopeFeatures = [],
-  deprecatedClassName,
-  showDeprecatedWarnIcon = false,
 }) => {
   const [open, setOpen] = useState(false)
   const {
@@ -69,7 +62,7 @@
       placement='bottom-start'
       offset={4}
     >
-      <div className={classNames('relative')}>
+      <div className='relative'>
         <PortalToFollowElemTrigger
           onClick={handleToggle}
           className='block'
@@ -91,8 +84,6 @@
                 modelName={defaultModel?.model || ''}
                 providerName={defaultModel?.provider || ''}
                 className={triggerClassName}
-                showWarnIcon={showDeprecatedWarnIcon}
-                contentClassName={deprecatedClassName}
               />
             )
           }
@@ -110,8 +101,6 @@
             defaultModel={defaultModel}
             modelList={modelList}
             onSelect={handleSelect}
-            scopeFeatures={scopeFeatures}
-            onHide={() => setOpen(false)}
           />
         </PortalToFollowElemContent>
       </div>
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/model-trigger.tsx b/app/components/header/account-setting/model-provider-page/model-selector/model-trigger.tsx
index 079bad7..556a2ef 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/model-trigger.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/model-trigger.tsx
@@ -13,7 +13,7 @@
 import ModelName from '../model-name'
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
 import Tooltip from '@/app/components/base/tooltip'
-import cn from '@/utils/classnames'
+import classNames from '@/utils/classnames'
 
 type ModelTriggerProps = {
   open: boolean
@@ -33,44 +33,42 @@
 
   return (
     <div
-      className={cn(
-        'group flex h-8 items-center gap-0.5 rounded-lg bg-components-input-bg-normal p-1',
-        !readonly && 'cursor-pointer hover:bg-components-input-bg-hover',
-        open && 'bg-components-input-bg-hover',
-        model.status !== ModelStatusEnum.active && 'bg-components-input-bg-disabled hover:bg-components-input-bg-disabled',
+      className={classNames(
+        'group flex items-center px-2 h-8 rounded-lg bg-components-input-bg-normal',
+        !readonly && 'hover:bg-components-input-bg-hover cursor-pointer',
         className,
+        open && '!bg-components-input-bg-hover',
+        model.status !== ModelStatusEnum.active && '!bg-[#FFFAEB]',
       )}
     >
       <ModelIcon
-        className='p-0.5'
+        className='shrink-0 mr-1.5'
         provider={provider}
         modelName={model.model}
       />
-      <div className='flex grow items-center gap-1 truncate px-1 py-[3px]'>
-        <ModelName
-          className='grow'
-          modelItem={model}
-          showMode
-          showFeatures
-        />
-        {!readonly && (
-          <div className='flex h-4 w-4 shrink-0 items-center justify-center'>
-            {
-              model.status !== ModelStatusEnum.active
-                ? (
-                  <Tooltip popupContent={MODEL_STATUS_TEXT[model.status][language]}>
-                    <AlertTriangle className='h-4 w-4 text-text-warning-secondary' />
-                  </Tooltip>
-                )
-                : (
-                  <RiArrowDownSLine
-                    className='h-3.5 w-3.5 text-text-tertiary'
-                  />
-                )
-            }
-          </div>
-        )}
-      </div>
+      <ModelName
+        className='grow'
+        modelItem={model}
+        showMode
+        showFeatures
+      />
+      {!readonly && (
+        <div className='shrink-0 flex items-center justify-center w-4 h-4'>
+          {
+            model.status !== ModelStatusEnum.active
+              ? (
+                <Tooltip popupContent={MODEL_STATUS_TEXT[model.status][language]}>
+                  <AlertTriangle className='w-4 h-4 text-[#F79009]' />
+                </Tooltip>
+              )
+              : (
+                <RiArrowDownSLine
+                  className='w-3.5 h-3.5 text-gray-500'
+                />
+              )
+          }
+        </div>
+      )}
     </div>
   )
 }
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/popup-item.tsx b/app/components/header/account-setting/model-provider-page/model-selector/popup-item.tsx
index e536817..d62131a 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/popup-item.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/popup-item.tsx
@@ -1,25 +1,10 @@
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiFileTextLine,
-  RiFilmAiLine,
-  RiImageCircleAiLine,
-  RiVoiceAiFill,
-} from '@remixicon/react'
 import type {
   DefaultModel,
   Model,
   ModelItem,
 } from '../declarations'
-import {
-  ModelFeatureEnum,
-  ModelFeatureTextEnum,
-  ModelTypeEnum,
-} from '../declarations'
-import {
-  modelTypeFormat,
-  sizeFormat,
-} from '../utils'
 import {
   useLanguage,
   useUpdateModelList,
@@ -27,16 +12,15 @@
 } from '../hooks'
 import ModelIcon from '../model-icon'
 import ModelName from '../model-name'
-import ModelBadge from '../model-badge'
 import {
   ConfigurationMethodEnum,
+  MODEL_STATUS_TEXT,
   ModelStatusEnum,
 } from '../declarations'
 import { Check } from '@/app/components/base/icons/src/vender/line/general'
 import { useModalContext } from '@/context/modal-context'
 import { useProviderContext } from '@/context/provider-context'
 import Tooltip from '@/app/components/base/tooltip'
-import cn from '@/utils/classnames'
 
 type PopupItemProps = {
   defaultModel?: DefaultModel
@@ -80,104 +64,50 @@
 
   return (
     <div className='mb-1'>
-      <div className='flex h-[22px] items-center px-3 text-xs font-medium text-text-tertiary'>
+      <div className='flex items-center px-3 h-[22px] text-xs font-medium text-gray-500'>
         {model.label[language] || model.label.en_US}
       </div>
       {
         model.models.map(modelItem => (
           <Tooltip
             key={modelItem.model}
+            popupContent={modelItem.status !== ModelStatusEnum.active ? MODEL_STATUS_TEXT[modelItem.status][language] : undefined}
             position='right'
-            popupClassName='p-3 !w-[206px] bg-components-panel-bg-blur backdrop-blur-sm border-[0.5px] border-components-panel-border rounded-xl'
-            popupContent={
-              <div className='flex flex-col gap-1'>
-                <div className='flex flex-col items-start gap-2'>
-                  <ModelIcon
-                    className={cn('h-5 w-5 shrink-0')}
-                    provider={model}
-                    modelName={modelItem.model}
-                  />
-                  <div className='system-md-medium text-wrap break-words text-text-primary'>{modelItem.label[language] || modelItem.label.en_US}</div>
-                </div>
-                {/* {currentProvider?.description && (
-                  <div className='text-text-tertiary system-xs-regular'>{currentProvider?.description?.[language] || currentProvider?.description?.en_US}</div>
-                )} */}
-                <div className='flex flex-wrap gap-1'>
-                  {modelItem.model_type && (
-                    <ModelBadge>
-                      {modelTypeFormat(modelItem.model_type)}
-                    </ModelBadge>
-                  )}
-                  {modelItem.model_properties.mode && (
-                    <ModelBadge>
-                      {(modelItem.model_properties.mode as string).toLocaleUpperCase()}
-                    </ModelBadge>
-                  )}
-                  {modelItem.model_properties.context_size && (
-                    <ModelBadge>
-                      {sizeFormat(modelItem.model_properties.context_size as number)}
-                    </ModelBadge>
-                  )}
-                </div>
-                {modelItem.model_type === ModelTypeEnum.textGeneration && modelItem.features?.some(feature => [ModelFeatureEnum.vision, ModelFeatureEnum.audio, ModelFeatureEnum.video, ModelFeatureEnum.document].includes(feature)) && (
-                  <div className='pt-2'>
-                    <div className='system-2xs-medium-uppercase mb-1 text-text-tertiary'>{t('common.model.capabilities')}</div>
-                    <div className='flex flex-wrap gap-1'>
-                      {modelItem.features?.includes(ModelFeatureEnum.vision) && (
-                        <ModelBadge>
-                          <RiImageCircleAiLine className='mr-0.5 h-3.5 w-3.5' />
-                          <span>{ModelFeatureTextEnum.vision}</span>
-                        </ModelBadge>
-                      )}
-                      {modelItem.features?.includes(ModelFeatureEnum.audio) && (
-                        <ModelBadge>
-                          <RiVoiceAiFill className='mr-0.5 h-3.5 w-3.5' />
-                          <span>{ModelFeatureTextEnum.audio}</span>
-                        </ModelBadge>
-                      )}
-                      {modelItem.features?.includes(ModelFeatureEnum.video) && (
-                        <ModelBadge>
-                          <RiFilmAiLine className='mr-0.5 h-3.5 w-3.5' />
-                          <span>{ModelFeatureTextEnum.video}</span>
-                        </ModelBadge>
-                      )}
-                      {modelItem.features?.includes(ModelFeatureEnum.document) && (
-                        <ModelBadge>
-                          <RiFileTextLine className='mr-0.5 h-3.5 w-3.5' />
-                          <span>{ModelFeatureTextEnum.document}</span>
-                        </ModelBadge>
-                      )}
-                    </div>
-                  </div>
-                )}
-              </div>
-            }
           >
             <div
               key={modelItem.model}
-              className={cn('group relative flex h-8 items-center gap-1 rounded-lg px-3 py-1.5', modelItem.status === ModelStatusEnum.active ? 'cursor-pointer hover:bg-state-base-hover' : 'cursor-not-allowed hover:bg-state-base-hover-alt')}
+              className={`
+                group relative flex items-center px-3 py-1.5 h-8 rounded-lg
+                ${modelItem.status === ModelStatusEnum.active ? 'cursor-pointer hover:bg-gray-50' : 'cursor-not-allowed hover:bg-gray-50/60'}
+              `}
               onClick={() => handleSelect(model.provider, modelItem)}
             >
-              <div className='flex items-center gap-2'>
-                <ModelIcon
-                  className={cn('h-5 w-5 shrink-0')}
-                  provider={model}
-                  modelName={modelItem.model}
-                />
-                <ModelName
-                  className={cn('system-sm-medium text-text-secondary', modelItem.status !== ModelStatusEnum.active && 'opacity-60')}
-                  modelItem={modelItem}
-                />
-              </div>
+              <ModelIcon
+                className={`
+                  shrink-0 mr-2 w-4 h-4
+                  ${modelItem.status !== ModelStatusEnum.active && 'opacity-60'}
+                `}
+                provider={model}
+                modelName={modelItem.model}
+              />
+              <ModelName
+                className={`
+                  grow text-sm font-normal text-gray-900
+                  ${modelItem.status !== ModelStatusEnum.active && 'opacity-60'}
+                `}
+                modelItem={modelItem}
+                showMode
+                showFeatures
+              />
               {
                 defaultModel?.model === modelItem.model && defaultModel.provider === currentProvider.provider && (
-                  <Check className='h-4 w-4 shrink-0 text-text-accent' />
+                  <Check className='shrink-0 w-4 h-4 text-primary-600' />
                 )
               }
               {
                 modelItem.status === ModelStatusEnum.noConfigure && (
                   <div
-                    className='hidden cursor-pointer text-xs font-medium text-text-accent group-hover:block'
+                    className='hidden group-hover:block text-xs font-medium text-primary-600 cursor-pointer'
                     onClick={handleOpenModelModal}
                   >
                     {t('common.operation.add').toLocaleUpperCase()}
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx b/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx
index 63849bd..1e43439 100644
--- a/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx
+++ b/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx
@@ -1,8 +1,6 @@
 import type { FC } from 'react'
-import { useMemo, useState } from 'react'
-import { useTranslation } from 'react-i18next'
+import { useState } from 'react'
 import {
-  RiArrowRightUpLine,
   RiSearchLine,
 } from '@remixicon/react'
 import type {
@@ -10,78 +8,59 @@
   Model,
   ModelItem,
 } from '../declarations'
-import { ModelFeatureEnum } from '../declarations'
 import { useLanguage } from '../hooks'
 import PopupItem from './popup-item'
 import { XCircle } from '@/app/components/base/icons/src/vender/solid/general'
-import { useModalContext } from '@/context/modal-context'
-import { supportFunctionCall } from '@/utils/tool-call'
 
 type PopupProps = {
   defaultModel?: DefaultModel
   modelList: Model[]
   onSelect: (provider: string, model: ModelItem) => void
-  scopeFeatures?: string[]
-  onHide: () => void
 }
 const Popup: FC<PopupProps> = ({
   defaultModel,
   modelList,
   onSelect,
-  scopeFeatures = [],
-  onHide,
 }) => {
-  const { t } = useTranslation()
   const language = useLanguage()
   const [searchText, setSearchText] = useState('')
-  const { setShowAccountSettingModal } = useModalContext()
 
-  const filteredModelList = useMemo(() => {
-    return modelList.map((model) => {
-      const filteredModels = model.models
-        .filter((modelItem) => {
-          if (modelItem.label[language] !== undefined)
-            return modelItem.label[language].toLowerCase().includes(searchText.toLowerCase())
-          return Object.values(modelItem.label).some(label =>
-            label.toLowerCase().includes(searchText.toLowerCase()),
-          )
-        })
-        .filter((modelItem) => {
-          if (scopeFeatures.length === 0)
-            return true
-          return scopeFeatures.every((feature) => {
-            if (feature === ModelFeatureEnum.toolCall)
-              return supportFunctionCall(modelItem.features)
-            return modelItem.features?.some(featureItem => featureItem === feature)
-          })
-        })
-      return { ...model, models: filteredModels }
-    }).filter(model => model.models.length > 0)
-  }, [language, modelList, scopeFeatures, searchText])
+  const filteredModelList = modelList.map((model) => {
+    const filteredModels = model.models.filter((modelItem) => {
+      if (modelItem.label[language] !== undefined)
+        return modelItem.label[language].toLowerCase().includes(searchText.toLowerCase())
+
+      return Object.values(modelItem.label).some(label =>
+        label.toLowerCase().includes(searchText.toLowerCase()),
+      )
+    })
+
+    return { ...model, models: filteredModels }
+  }).filter(model => model.models.length > 0)
 
   return (
-    <div className='max-h-[480px] w-[320px] overflow-y-auto rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg'>
-      <div className='sticky top-0 z-10 bg-components-panel-bg pb-1 pl-3 pr-2 pt-3'>
+    <div className='w-[320px] max-h-[480px] rounded-lg border-[0.5px] border-gray-200 bg-white shadow-lg overflow-y-auto'>
+      <div className='sticky top-0 pl-3 pt-3 pr-2 pb-1 bg-white z-10'>
         <div className={`
-          flex h-8 items-center rounded-lg border pl-[9px] pr-[10px]
-          ${searchText ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-transparent bg-components-input-bg-normal'}
+          flex items-center pl-[9px] pr-[10px] h-8 rounded-lg border
+          ${searchText ? 'bg-white border-gray-300 shadow-xs' : 'bg-gray-100 border-transparent'}
         `}>
           <RiSearchLine
             className={`
-              mr-[7px] h-[14px] w-[14px] shrink-0
-              ${searchText ? 'text-text-tertiary' : 'text-text-quaternary'}
+              shrink-0 mr-[7px] w-[14px] h-[14px]
+              ${searchText ? 'text-gray-500' : 'text-gray-400'}
             `}
           />
           <input
-            className='block h-[18px] grow appearance-none bg-transparent text-[13px] text-text-primary outline-none'
-            placeholder={t('datasetSettings.form.searchModel') || ''}
+            className='block grow h-[18px] text-[13px] appearance-none outline-none bg-transparent'
+            placeholder='Search model'
             value={searchText}
             onChange={e => setSearchText(e.target.value)}
           />
           {
             searchText && (
               <XCircle
-                className='ml-1.5 h-[14px] w-[14px] shrink-0 cursor-pointer text-text-quaternary'
+                className='shrink-0 ml-1.5 w-[14px] h-[14px] text-gray-400 cursor-pointer'
                 onClick={() => setSearchText('')}
               />
             )
@@ -101,18 +80,11 @@
         }
         {
           !filteredModelList.length && (
-            <div className='break-all px-3 py-1.5 text-center text-xs leading-[18px] text-text-tertiary'>
+            <div className='px-3 py-1.5 leading-[18px] text-center text-xs text-gray-500 break-all'>
               {`No model found for 鈥�${searchText}鈥漙}
             </div>
           )
         }
-      </div>
-      <div className='sticky bottom-0 flex cursor-pointer items-center rounded-b-lg border-t border-divider-subtle bg-components-panel-bg px-4 py-2 text-text-accent-light-mode-only' onClick={() => {
-        onHide()
-        setShowAccountSettingModal({ payload: 'provider' })
-      }}>
-        <span className='system-xs-medium'>{t('common.model.settingsLink')}</span>
-        <RiArrowRightUpLine className='ml-0.5 h-3 w-3' />
       </div>
     </div>
   )
diff --git a/app/components/header/account-setting/model-provider-page/model-selector/rerank-trigger.tsx b/app/components/header/account-setting/model-provider-page/model-selector/rerank-trigger.tsx
new file mode 100644
index 0000000..29afca1
--- /dev/null
+++ b/app/components/header/account-setting/model-provider-page/model-selector/rerank-trigger.tsx
@@ -0,0 +1,27 @@
+import {
+  RiExternalLinkLine,
+} from '@remixicon/react'
+import { CubeOutline } from '@/app/components/base/icons/src/vender/line/shapes'
+
+const ModelTrigger = () => {
+  return (
+    <div className='flex items-center px-2 h-8 rounded-lg bg-gray-100 hover:bg-gray-200 cursor-pointer'>
+      <div className='grow flex items-center'>
+        <div className='mr-1.5 flex items-center justify-center w-4 h-4 rounded-[5px] border-dashed border-black/5'>
+          <CubeOutline className='w-[11px] h-[11px] text-gray-400' />
+        </div>
+        <div
+          className='text-[13px] text-gray-500 truncate'
+          title='Select model'
+        >
+          Please setup the Rerank model
+        </div>
+      </div>
+      <div className='shrink-0 flex items-center justify-center w-4 h-4'>
+        <RiExternalLinkLine className='w-3.5 h-3.5 text-gray-500' />
+      </div>
+    </div>
+  )
+}
+
+export default ModelTrigger
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/add-model-button.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/add-model-button.tsx
index fc9960f..cc8fa67 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/add-model-button.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/add-model-button.tsx
@@ -1,7 +1,6 @@
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
 import { PlusCircle } from '@/app/components/base/icons/src/vender/solid/general'
-import cn from '@/utils/classnames'
 
 type AddModelButtonProps = {
   className?: string
@@ -15,10 +14,13 @@
 
   return (
     <span
-      className={cn('system-xs-medium flex h-6 shrink-0 cursor-pointer items-center rounded-md px-1.5 text-text-tertiary hover:bg-components-button-ghost-bg-hover hover:text-components-button-ghost-text', className)}
+      className={`
+        shrink-0 flex items-center px-1.5 h-6 text-xs font-medium text-gray-500 cursor-pointer
+      hover:bg-primary-50 hover:text-primary-600 rounded-md ${className}
+      `}
       onClick={onClick}
     >
-      <PlusCircle className='mr-1 h-3 w-3' />
+      <PlusCircle className='mr-1 w-3 h-3' />
       {t('common.modelProvider.addModel')}
     </span>
   )
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/cooldown-timer.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/cooldown-timer.tsx
index dea3200..bdf93fe 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/cooldown-timer.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/cooldown-timer.tsx
@@ -19,10 +19,10 @@
     [currentTime],
   )
 
-  const countdownTimeout = useRef<number>(undefined)
+  const countdownTimeout = useRef<NodeJS.Timeout>()
   const clearCountdown = useCallback(() => {
     if (countdownTimeout.current) {
-      window.clearTimeout(countdownTimeout.current)
+      clearTimeout(countdownTimeout.current)
       countdownTimeout.current = undefined
     }
   }, [])
@@ -31,7 +31,7 @@
 
   const countdown = useCallback(() => {
     clearCountdown()
-    countdownTimeout.current = window.setTimeout(() => {
+    countdownTimeout.current = setTimeout(() => {
       const now = Date.now()
       if (now <= targetTime.current) {
         setCurrentTime(Date.now())
@@ -55,7 +55,7 @@
   return displayTime
     ? (
       <Tooltip popupContent={t('common.modelProvider.apiKeyRateLimit', { seconds: displayTime })}>
-        <SimplePieChart percentage={Math.round(displayTime / 60 * 100)} className='h-3 w-3' />
+        <SimplePieChart percentage={Math.round(displayTime / 60 * 100)} className='w-3 h-3' />
       </Tooltip>
     )
     : null
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/credential-panel.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/credential-panel.tsx
index 822df5f..f141e00 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/credential-panel.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/credential-panel.tsx
@@ -1,6 +1,5 @@
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiEqualizer2Line } from '@remixicon/react'
 import type { ModelProvider } from '../declarations'
 import {
   ConfigurationMethodEnum,
@@ -15,6 +14,7 @@
 import PriorityUseTip from './priority-use-tip'
 import { UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST } from './index'
 import Indicator from '@/app/components/header/indicator'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import Button from '@/app/components/base/button'
 import { changeModelProviderPriority } from '@/service/common'
 import { useToastContext } from '@/app/components/base/toast'
@@ -66,10 +66,10 @@
     <>
       {
         provider.provider_credential_schema && (
-          <div className='relative ml-1 w-[112px] shrink-0 rounded-lg border-[0.5px] border-components-panel-border bg-white/[0.18] p-1'>
-            <div className='system-xs-medium-uppercase mb-1 flex h-5 items-center justify-between pl-2 pr-[7px] pt-1 text-text-tertiary'>
+          <div className='shrink-0 relative ml-1 p-1 w-[112px] rounded-lg bg-white/[0.3] border-[0.5px] border-black/5'>
+            <div className='flex items-center justify-between mb-1 pt-1 pl-2 pr-[7px] h-5 text-xs font-medium text-gray-500'>
               API-KEY
-              <Indicator color={isCustomConfigured ? 'green' : 'red'} />
+              <Indicator color={isCustomConfigured ? 'green' : 'gray'} />
             </div>
             <div className='flex items-center gap-0.5'>
               <Button
@@ -77,7 +77,7 @@
                 size='small'
                 onClick={onSetup}
               >
-                <RiEqualizer2Line className='mr-1 h-3.5 w-3.5' />
+                <Settings01 className='mr-1 w-3 h-3' />
                 {t('common.operation.setup')}
               </Button>
               {
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx
index 2ff9669..5e73b36 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx
@@ -2,8 +2,6 @@
 import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import {
-  RiArrowRightSLine,
-  RiInformation2Fill,
   RiLoader2Line,
 } from '@remixicon/react'
 import type {
@@ -13,6 +11,7 @@
 } from '../declarations'
 import { ConfigurationMethodEnum } from '../declarations'
 import {
+  DEFAULT_BACKGROUND_COLOR,
   MODEL_PROVIDER_QUOTA_GET_PAID,
   modelTypeFormat,
 } from '../utils'
@@ -22,20 +21,18 @@
 import QuotaPanel from './quota-panel'
 import ModelList from './model-list'
 import AddModelButton from './add-model-button'
+import { ChevronDownDouble } from '@/app/components/base/icons/src/vender/line/arrows'
 import { fetchModelProviderModelList } from '@/service/common'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
 import { IS_CE_EDITION } from '@/config'
 import { useAppContext } from '@/context/app-context'
-import cn from '@/utils/classnames'
 
 export const UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST = 'UPDATE_MODEL_PROVIDER_CUSTOM_MODEL_LIST'
 type ProviderAddedCardProps = {
-  notConfigured?: boolean
   provider: ModelProvider
   onOpenModal: (configurationMethod: ConfigurationMethodEnum, currentCustomConfigurationModelFixedFields?: CustomConfigurationModelFixedFields) => void
 }
 const ProviderAddedCard: FC<ProviderAddedCardProps> = ({
-  notConfigured,
   provider,
   onOpenModal,
 }) => {
@@ -50,7 +47,6 @@
   const hasModelList = fetched && !!modelList.length
   const { isCurrentWorkspaceManager } = useAppContext()
   const showQuota = systemConfig.enabled && [...MODEL_PROVIDER_QUOTA_GET_PAID].includes(provider.provider) && !IS_CE_EDITION
-  const showCredential = configurationMethods.includes(ConfigurationMethodEnum.predefinedModel) && isCurrentWorkspaceManager
 
   const getModelList = async (providerName: string) => {
     if (loading)
@@ -82,14 +78,11 @@
 
   return (
     <div
-      className={cn(
-        'mb-2 rounded-xl border-[0.5px] border-divider-regular bg-third-party-model-bg-default shadow-xs',
-        provider.provider === 'langgenius/openai/openai' && 'bg-third-party-model-bg-openai',
-        provider.provider === 'langgenius/anthropic/anthropic' && 'bg-third-party-model-bg-anthropic',
-      )}
+      className='mb-2 rounded-xl border-[0.5px] border-black/5 shadow-xs'
+      style={{ background: provider.background || DEFAULT_BACKGROUND_COLOR }}
     >
-      <div className='flex rounded-t-xl py-2 pl-3 pr-2'>
-        <div className='grow px-1 pb-0.5 pt-1'>
+      <div className='flex pl-3 py-2 pr-2 rounded-t-xl'>
+        <div className='grow px-1 pt-1 pb-0.5'>
           <ProviderIcon
             className='mb-2'
             provider={provider}
@@ -112,7 +105,7 @@
           )
         }
         {
-          showCredential && (
+          configurationMethods.includes(ConfigurationMethodEnum.predefinedModel) && isCurrentWorkspaceManager && (
             <CredentialPanel
               onSetup={() => onOpenModal(ConfigurationMethodEnum.predefinedModel)}
               provider={provider}
@@ -122,46 +115,35 @@
       </div>
       {
         collapsed && (
-          <div className='system-xs-medium group flex items-center justify-between border-t border-t-divider-subtle py-1.5 pl-2 pr-[11px] text-text-tertiary'>
-            {(showQuota || !notConfigured) && (
-              <>
-                <div className='flex h-6 items-center pl-1 pr-1.5 leading-6 group-hover:hidden'>
-                  {
-                    hasModelList
-                      ? t('common.modelProvider.modelsNum', { num: modelList.length })
-                      : t('common.modelProvider.showModels')
-                  }
-                  {!loading && <RiArrowRightSLine className='h-4 w-4' />}
-                </div>
-                <div
-                  className='hidden h-6 cursor-pointer items-center rounded-lg pl-1 pr-1.5 hover:bg-components-button-ghost-bg-hover group-hover:flex'
-                  onClick={handleOpenModelList}
-                >
-                  {
-                    hasModelList
-                      ? t('common.modelProvider.showModelsNum', { num: modelList.length })
-                      : t('common.modelProvider.showModels')
-                  }
-                  {!loading && <RiArrowRightSLine className='h-4 w-4' />}
-                  {
-                    loading && (
-                      <RiLoader2Line className='ml-0.5 h-3 w-3 animate-spin' />
-                    )
-                  }
-                </div>
-              </>
-            )}
-            {!showQuota && notConfigured && (
-              <div className='flex h-6 items-center pl-1 pr-1.5'>
-                <RiInformation2Fill className='mr-1 h-4 w-4 text-text-accent' />
-                <span className='system-xs-medium text-text-secondary'>{t('common.modelProvider.configureTip')}</span>
-              </div>
-            )}
+          <div className='group flex items-center justify-between pl-2 py-1.5 pr-[11px] border-t border-t-black/5 bg-white/30 text-xs font-medium text-gray-500'>
+            <div className='group-hover:hidden pl-1 pr-1.5 h-6 leading-6'>
+              {
+                hasModelList
+                  ? t('common.modelProvider.modelsNum', { num: modelList.length })
+                  : t('common.modelProvider.showModels')
+              }
+            </div>
+            <div
+              className='hidden group-hover:flex items-center pl-1 pr-1.5 h-6 rounded-lg hover:bg-white cursor-pointer'
+              onClick={handleOpenModelList}
+            >
+              <ChevronDownDouble className='mr-0.5 w-3 h-3' />
+              {
+                hasModelList
+                  ? t('common.modelProvider.showModelsNum', { num: modelList.length })
+                  : t('common.modelProvider.showModels')
+              }
+              {
+                loading && (
+                  <RiLoader2Line className='ml-0.5 animate-spin w-3 h-3' />
+                )
+              }
+            </div>
             {
               configurationMethods.includes(ConfigurationMethodEnum.customizableModel) && isCurrentWorkspaceManager && (
                 <AddModelButton
                   onClick={() => onOpenModal(ConfigurationMethodEnum.customizableModel)}
-                  className='flex'
+                  className='hidden group-hover:flex group-hover:text-primary-600'
                 />
               )
             }
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/model-list-item.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/model-list-item.tsx
index 62ad425..3fc73a6 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/model-list-item.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/model-list-item.tsx
@@ -49,50 +49,48 @@
       key={model.model}
       className={classNames(
         'group flex items-center pl-2 pr-2.5 h-8 rounded-lg',
-        isConfigurable && 'hover:bg-components-panel-on-panel-item-bg-hover',
+        isConfigurable && 'hover:bg-gray-50',
         model.deprecated && 'opacity-60',
       )}
     >
       <ModelIcon
-        className='mr-2 shrink-0'
+        className='shrink-0 mr-2'
         provider={provider}
         modelName={model.model}
       />
       <ModelName
-        className='system-md-regular grow text-text-secondary'
+        className='grow text-sm font-normal text-gray-900'
         modelItem={model}
         showModelType
         showMode
         showContextSize
       >
         {modelLoadBalancingEnabled && !model.deprecated && model.load_balancing_enabled && (
-          <ModelBadge className='ml-1 border-text-accent-secondary uppercase text-text-accent-secondary'>
-            <Balance className='mr-0.5 h-3 w-3' />
+          <ModelBadge className='ml-1 uppercase text-indigo-600 border-indigo-300'>
+            <Balance className='w-3 h-3 mr-0.5' />
             {t('common.modelProvider.loadBalancingHeadline')}
           </ModelBadge>
         )}
       </ModelName>
-      <div className='flex shrink-0 items-center'>
+      <div className='shrink-0 flex items-center'>
         {
           model.fetch_from === ConfigurationMethodEnum.customizableModel
             ? (isCurrentWorkspaceManager && (
               <Button
-                size='small'
-                className='hidden group-hover:flex'
+                className='hidden group-hover:flex h-7'
                 onClick={() => onConfig({ __model_name: model.model, __model_type: model.model_type })}
               >
-                <Settings01 className='mr-1 h-3.5 w-3.5' />
+                <Settings01 className='mr-[5px] w-3.5 h-3.5' />
                 {t('common.modelProvider.config')}
               </Button>
             ))
             : (isCurrentWorkspaceManager && (modelLoadBalancingEnabled || plan.type === Plan.sandbox) && !model.deprecated && [ModelStatusEnum.active, ModelStatusEnum.disabled].includes(model.status))
               ? (
                 <Button
-                  size='small'
-                  className='opacity-0 transition-opacity group-hover:opacity-100'
+                  className='opacity-0 group-hover:opacity-100 h-[28px] transition-opacity'
                   onClick={() => onModifyLoadBalancing?.(model)}
                 >
-                  <Balance className='mr-1 h-3.5 w-3.5' />
+                  <Balance className='mr-1 w-[14px] h-[14px]' />
                   {t('common.modelProvider.configLoadBalancing')}
                 </Button>
               )
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/model-list.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/model-list.tsx
index 699be6e..e321d40 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/model-list.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/model-list.tsx
@@ -1,9 +1,6 @@
 import type { FC } from 'react'
 import { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
-import {
-  RiArrowRightSLine,
-} from '@remixicon/react'
 import type {
   CustomConfigurationModelFixedFields,
   ModelItem,
@@ -15,6 +12,7 @@
 // import Tab from './tab'
 import AddModelButton from './add-model-button'
 import ModelListItem from './model-list-item'
+import { ChevronDownDouble } from '@/app/components/base/icons/src/vender/line/arrows'
 import { useModalContextSelector } from '@/context/modal-context'
 import { useAppContext } from '@/context/app-context'
 
@@ -49,20 +47,19 @@
   }, [onChange, provider, setShowModelLoadBalancingModal])
 
   return (
-    <div className='rounded-b-xl px-2 pb-2'>
-      <div className='rounded-lg bg-components-panel-bg py-1'>
+    <div className='px-2 pb-2 rounded-b-xl'>
+      <div className='py-1 bg-white rounded-lg'>
         <div className='flex items-center pl-1 pr-[3px]'>
-          <span className='group mr-2 flex shrink-0 items-center'>
-            <span className='system-xs-medium inline-flex h-6 items-center pl-1 pr-1.5 text-text-tertiary group-hover:hidden'>
+          <span className='group shrink-0 flex items-center mr-2'>
+            <span className='group-hover:hidden pl-1 pr-1.5 h-6 leading-6 text-xs font-medium text-gray-500'>
               {t('common.modelProvider.modelsNum', { num: models.length })}
-              <RiArrowRightSLine className='mr-0.5 h-4 w-4 rotate-90' />
             </span>
             <span
-              className='system-xs-medium hidden h-6 cursor-pointer items-center rounded-lg bg-state-base-hover pl-1 pr-1.5 text-text-tertiary group-hover:inline-flex'
+              className='hidden group-hover:inline-flex items-center pl-1 pr-1.5 h-6 text-xs font-medium text-gray-500 bg-gray-50 cursor-pointer rounded-lg'
               onClick={() => onCollapse()}
             >
-              {t('common.modelProvider.modelsNum', { num: models.length })}
-              <RiArrowRightSLine className='mr-0.5 h-4 w-4 rotate-90' />
+              <ChevronDownDouble className='mr-0.5 w-3 h-3 rotate-180' />
+              {t('common.modelProvider.collapse')}
             </span>
           </span>
           {/* {
@@ -74,7 +71,7 @@
           } */}
           {
             isConfigurable && isCurrentWorkspaceManager && (
-              <div className='flex grow justify-end'>
+              <div className='grow flex justify-end'>
                 <AddModelButton onClick={() => onConfig()} />
               </div>
             )
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-configs.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-configs.tsx
index f63eef4..9418407 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-configs.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-configs.tsx
@@ -145,19 +145,19 @@
     <>
       <div
         className={classNames(
-          'min-h-16 bg-components-panel-bg border rounded-xl transition-colors',
-          (withSwitch || !draftConfig.enabled) ? 'border-components-panel-border' : 'border-util-colors-blue-blue-600',
+          'min-h-16 bg-gray-50 border rounded-xl transition-colors',
+          (withSwitch || !draftConfig.enabled) ? 'border-gray-200' : 'border-primary-400',
           (withSwitch || draftConfig.enabled) ? 'cursor-default' : 'cursor-pointer',
           className,
         )}
         onClick={(!withSwitch && !draftConfig.enabled) ? () => toggleModalBalancing(true) : undefined}
       >
-        <div className='flex select-none items-center gap-2 px-[15px] py-3'>
-          <div className='flex h-8 w-8 shrink-0 grow-0 items-center justify-center rounded-lg border border-util-colors-indigo-indigo-100 bg-util-colors-indigo-indigo-50 text-util-colors-blue-blue-600'>
-            <Balance className='h-4 w-4' />
+        <div className='flex items-center px-[15px] py-3 gap-2 select-none'>
+          <div className='grow-0 shrink-0 flex items-center justify-center w-8 h-8 text-primary-600 bg-indigo-50 border border-indigo-100 rounded-lg'>
+            <Balance className='w-4 h-4' />
           </div>
           <div className='grow'>
-            <div className='flex items-center gap-1 text-sm text-text-primary'>
+            <div className='flex items-center gap-1 text-sm'>
               {t('common.modelProvider.loadBalancing')}
               <Tooltip
                 popupContent={t('common.modelProvider.loadBalancingInfo')}
@@ -165,7 +165,7 @@
                 triggerClassName='w-3 h-3'
               />
             </div>
-            <div className='text-xs text-text-tertiary'>{t('common.modelProvider.loadBalancingDescription')}</div>
+            <div className='text-xs text-gray-500'>{t('common.modelProvider.loadBalancingDescription')}</div>
           </div>
           {
             withSwitch && (
@@ -184,9 +184,9 @@
             {draftConfig.configs.map((config, index) => {
               const isProviderManaged = config.name === '__inherit__'
               return (
-                <div key={config.id || index} className='group flex h-10 items-center rounded-lg border border-components-panel-border bg-components-panel-on-panel-item-bg px-3 shadow-xs'>
-                  <div className='flex grow items-center'>
-                    <div className='mr-2 flex h-3 w-3 items-center justify-center'>
+                <div key={config.id || index} className='group flex items-center px-3 h-10 bg-white border border-gray-200 rounded-lg shadow-xs'>
+                  <div className='grow flex items-center'>
+                    <div className='flex items-center justify-center mr-2 w-3 h-3'>
                       {(config.in_cooldown && Boolean(config.ttl))
                         ? (
                           <CooldownTimer secondsRemaining={config.ttl} onFinish={() => clearCountdown(index)} />
@@ -197,11 +197,11 @@
                           </Tooltip>
                         )}
                     </div>
-                    <div className='mr-1 text-[13px]'>
+                    <div className='text-[13px] mr-1'>
                       {isProviderManaged ? t('common.modelProvider.defaultConfig') : config.name}
                     </div>
                     {isProviderManaged && (
-                      <span className='rounded-[5px] border border-divider-regular px-1 text-2xs uppercase text-text-tertiary'>{t('common.modelProvider.providerManaged')}</span>
+                      <span className='px-1 text-2xs uppercase text-gray-500 border border-black/8 rounded-[5px]'>{t('common.modelProvider.providerManaged')}</span>
                     )}
                   </div>
                   <div className='flex items-center gap-1'>
@@ -209,18 +209,18 @@
                       <>
                         <div className='flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100'>
                           <span
-                            className='flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-components-button-secondary-bg text-text-tertiary transition-colors hover:bg-components-button-secondary-bg-hover'
+                            className='flex items-center justify-center w-8 h-8 text-gray-500 bg-white rounded-lg transition-colors cursor-pointer hover:bg-black/5'
                             onClick={() => toggleEntryModal(index, config)}
                           >
-                            <Edit02 className='h-4 w-4' />
+                            <Edit02 className='w-4 h-4' />
                           </span>
                           <span
-                            className='flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-components-button-secondary-bg text-text-tertiary transition-colors hover:bg-components-button-secondary-bg-hover'
+                            className='flex items-center justify-center w-8 h-8 text-gray-500 bg-white rounded-lg transition-colors cursor-pointer hover:bg-black/5'
                             onClick={() => updateConfigEntry(index, () => undefined)}
                           >
-                            <RiDeleteBinLine className='h-4 w-4' />
+                            <RiDeleteBinLine className='w-4 h-4' />
                           </span>
-                          <span className='mr-2 h-3 border-r border-r-divider-subtle' />
+                          <span className='mr-2 h-3 border-r border-r-gray-100' />
                         </div>
                       </>
                     )}
@@ -236,19 +236,19 @@
             })}
 
             <div
-              className='mt-1 flex h-8 items-center px-3 text-[13px] font-medium text-primary-600'
+              className='flex items-center px-3 mt-1 h-8 text-[13px] font-medium text-primary-600'
               onClick={() => toggleEntryModal()}
             >
-              <div className='flex cursor-pointer items-center'>
-                <Plus02 className='mr-2 h-3 w-3' />{t('common.modelProvider.addConfig')}
+              <div className='flex items-center cursor-pointer'>
+                <Plus02 className='mr-2 w-3 h-3' />{t('common.modelProvider.addConfig')}
               </div>
             </div>
           </div>
         )}
         {
           draftConfig.enabled && draftConfig.configs.length < 2 && (
-            <div className='flex h-[34px] items-center border-t border-t-divider-subtle bg-components-panel-bg px-6 text-xs text-text-secondary'>
-              <AlertTriangle className='mr-1 h-3 w-3 text-[#f79009]' />
+            <div className='flex items-center px-6 h-[34px] text-xs text-gray-700 bg-black/2 border-t border-t-black/5'>
+              <AlertTriangle className='mr-1 w-3 h-3 text-[#f79009]' />
               {t('common.modelProvider.loadBalancingLeastKeyWarning')}
             </div>
           )
@@ -257,7 +257,7 @@
 
       {!modelLoadBalancingEnabled && !IS_CE_EDITION && (
         <GridMask canvasClassName='!rounded-xl'>
-          <div className='mt-2 flex h-14 items-center justify-between rounded-xl border-[0.5px] border-components-panel-border px-4 shadow-md'>
+          <div className='flex items-center justify-between mt-2 px-4 h-14 border-[0.5px] border-gray-200 rounded-xl shadow-md'>
             <div
               className={classNames('text-sm font-semibold leading-tight text-gradient', s.textGradient)}
             >
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-modal.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-modal.tsx
index c258806..edbb466 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-modal.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/model-load-balancing-modal.tsx
@@ -107,19 +107,19 @@
     <Modal
       isShow={Boolean(model) && open}
       onClose={onClose}
-      className='w-[640px] max-w-none px-8 pt-8'
+      className='max-w-none pt-8 px-8 w-[640px]'
       title={
         <div className='pb-3 font-semibold'>
           <div className='h-[30px]'>{t('common.modelProvider.configLoadBalancing')}</div>
           {Boolean(model) && (
-            <div className='flex h-5 items-center'>
+            <div className='flex items-center h-5'>
               <ModelIcon
-                className='mr-2 shrink-0'
+                className='shrink-0 mr-2'
                 provider={provider}
                 modelName={model!.model}
               />
               <ModelName
-                className='system-md-regular grow text-text-secondary'
+                className='grow text-sm font-normal text-gray-900'
                 modelItem={model!}
                 showModelType
                 showMode
@@ -137,20 +137,20 @@
             <div className='py-2'>
               <div
                 className={classNames(
-                  'min-h-16 bg-components-panel-bg border rounded-xl transition-colors',
-                  draftConfig.enabled ? 'border-components-panel-border cursor-pointer' : 'border-util-colors-blue-blue-600 cursor-default',
+                  'min-h-16 bg-gray-50 border rounded-xl transition-colors',
+                  draftConfig.enabled ? 'border-gray-200 cursor-pointer' : 'border-primary-400 cursor-default',
                 )}
                 onClick={draftConfig.enabled ? () => toggleModalBalancing(false) : undefined}
               >
-                <div className='flex select-none items-center gap-2 px-[15px] py-3'>
-                  <div className='flex h-8 w-8 shrink-0 grow-0 items-center justify-center rounded-lg border border-components-card-border bg-components-card-bg'>
+                <div className='flex items-center px-[15px] py-3 gap-2 select-none'>
+                  <div className='grow-0 shrink-0 flex items-center justify-center w-8 h-8 bg-white border rounded-lg'>
                     {Boolean(model) && (
                       <ModelIcon className='shrink-0' provider={provider} modelName={model!.model} />
                     )}
                   </div>
                   <div className='grow'>
-                    <div className='text-sm text-text-secondary'>{t('common.modelProvider.providerManaged')}</div>
-                    <div className='text-xs text-text-tertiary'>{t('common.modelProvider.providerManagedDescription')}</div>
+                    <div className='text-sm'>{t('common.modelProvider.providerManaged')}</div>
+                    <div className='text-xs text-gray-500'>{t('common.modelProvider.providerManagedDescription')}</div>
                   </div>
                 </div>
               </div>
@@ -168,7 +168,7 @@
               }} />
             </div>
 
-            <div className='mt-6 flex items-center justify-end gap-2'>
+            <div className='flex items-center justify-end gap-2 mt-6'>
               <Button onClick={onClose}>{t('common.operation.cancel')}</Button>
               <Button
                 variant='primary'
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/priority-selector.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/priority-selector.tsx
index 193608a..7e44011 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/priority-selector.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/priority-selector.tsx
@@ -1,6 +1,6 @@
 import { Fragment } from 'react'
 import type { FC } from 'react'
-import { Popover, PopoverButton, PopoverPanel, Transition } from '@headlessui/react'
+import { Popover, Transition } from '@headlessui/react'
 import { useTranslation } from 'react-i18next'
 import {
   RiCheckLine,
@@ -8,7 +8,6 @@
 } from '@remixicon/react'
 import { PreferredProviderTypeEnum } from '../declarations'
 import Button from '@/app/components/base/button'
-import cn from '@/utils/classnames'
 
 type SelectorProps = {
   value?: string
@@ -32,42 +31,42 @@
 
   return (
     <Popover className='relative'>
-      <PopoverButton as='div'>
+      <Popover.Button>
         {
           ({ open }) => (
-            <Button className={cn(
-              'h-6 w-6 rounded-md px-0',
-              open && 'bg-components-button-secondary-bg-hover',
-            )}>
-              <RiMoreFill className='h-3 w-3' />
+            <Button className={`
+              px-0 w-6 h-6 bg-white rounded-md
+              ${open && '!bg-gray-100'}
+            `}>
+              <RiMoreFill className='w-3 h-3 text-gray-700' />
             </Button>
           )
         }
-      </PopoverButton>
+      </Popover.Button>
       <Transition
         as={Fragment}
         leave='transition ease-in duration-100'
         leaveFrom='opacity-100'
         leaveTo='opacity-0'
       >
-        <PopoverPanel className='absolute right-0 top-7 z-10 w-[144px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg'>
+        <Popover.Panel className='absolute top-7 right-0 w-[144px] bg-white border-[0.5px] border-gray-200 rounded-lg shadow-lg z-10'>
           <div className='p-1'>
-            <div className='px-3 pb-1 pt-2 text-sm font-medium text-text-secondary'>{t('common.modelProvider.card.priorityUse')}</div>
+            <div className='px-3 pt-2 pb-1 text-sm font-medium text-gray-700'>{t('common.modelProvider.card.priorityUse')}</div>
             {
               options.map(option => (
-                <PopoverButton as={Fragment} key={option.key}>
+                <Popover.Button as={Fragment} key={option.key}>
                   <div
-                    className='flex h-9 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-components-panel-on-panel-item-bg-hover'
+                    className='flex items-center justify-between px-3 h-9 text-sm text-gray-700 rounded-lg cursor-pointer hover:bg-gray-50'
                     onClick={() => onSelect(option.key)}
                   >
                     <div className='grow'>{option.text}</div>
-                    {value === option.key && <RiCheckLine className='h-4 w-4 text-text-accent' />}
+                    {value === option.key && <RiCheckLine className='w-4 h-4 text-primary-600' />}
                   </div>
-                </PopoverButton>
+                </Popover.Button>
               ))
             }
           </div>
-        </PopoverPanel>
+        </Popover.Panel>
       </Transition>
     </Popover>
   )
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/priority-use-tip.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/priority-use-tip.tsx
index 9bb898f..24e91d2 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/priority-use-tip.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/priority-use-tip.tsx
@@ -9,8 +9,8 @@
     <Tooltip
       popupContent={t('common.modelProvider.priorityUsing') || ''}
     >
-      <div className='absolute -right-[5px] -top-[5px] cursor-pointer rounded-[5px] border-[0.5px] border-components-panel-border-subtle bg-util-colors-indigo-indigo-50 shadow-xs'>
-        <ChevronDownDouble className='h-3 w-3 rotate-180 text-util-colors-indigo-indigo-600' />
+      <div className='absolute -right-[5px] -top-[5px] bg-indigo-50 rounded-[5px] border-[0.5px] border-indigo-100 cursor-pointer'>
+        <ChevronDownDouble className='rotate-180 w-3 h-3 text-indigo-600' />
       </div>
     </Tooltip>
   )
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/quota-panel.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/quota-panel.tsx
index b3e871e..0f5c265 100644
--- a/app/components/header/account-setting/model-provider-page/provider-added-card/quota-panel.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/quota-panel.tsx
@@ -28,8 +28,8 @@
   const openaiOrAnthropic = MODEL_PROVIDER_QUOTA_GET_PAID.includes(provider.provider)
 
   return (
-    <div className='group relative min-w-[112px] shrink-0 rounded-lg border-[0.5px] border-components-panel-border bg-white/[0.18] px-3 py-2 shadow-xs'>
-      <div className='system-xs-medium-uppercase mb-2 flex h-4 items-center text-text-tertiary'>
+    <div className='group relative shrink-0 min-w-[112px] px-3 py-2 rounded-lg bg-white/[0.3] border-[0.5px] border-black/5'>
+      <div className='flex items-center mb-2 h-4 text-xs font-medium text-gray-500'>
         {t('common.modelProvider.quota')}
         <Tooltip popupContent={
           openaiOrAnthropic
@@ -40,8 +40,8 @@
       </div>
       {
         currentQuota && (
-          <div className='flex h-4 items-center text-xs text-text-tertiary'>
-            <span className='system-md-semibold-uppercase mr-0.5 text-text-secondary'>{formatNumber(Math.max((currentQuota?.quota_limit || 0) - (currentQuota?.quota_used || 0), 0))}</span>
+          <div className='flex items-center h-4 text-xs text-gray-500'>
+            <span className='mr-0.5 text-sm font-semibold text-gray-700'>{formatNumber((currentQuota?.quota_limit || 0) - (currentQuota?.quota_used || 0))}</span>
             {
               currentQuota?.quota_unit === QuotaUnitEnum.tokens && 'Tokens'
             }
diff --git a/app/components/header/account-setting/model-provider-page/provider-added-card/tab.tsx b/app/components/header/account-setting/model-provider-page/provider-added-card/tab.tsx
new file mode 100644
index 0000000..5a53394
--- /dev/null
+++ b/app/components/header/account-setting/model-provider-page/provider-added-card/tab.tsx
@@ -0,0 +1,45 @@
+import type { FC } from 'react'
+
+type TabProps = {
+  active: string
+  onSelect: (active: string) => void
+}
+const Tab: FC<TabProps> = ({
+  active,
+  onSelect,
+}) => {
+  const tabs = [
+    {
+      key: 'all',
+      text: 'All',
+    },
+    {
+      key: 'added',
+      text: 'Added',
+    },
+    {
+      key: 'build-in',
+      text: 'Build-in',
+    },
+  ]
+  return (
+    <div className='flex items-center'>
+      {
+        tabs.map(tab => (
+          <div
+            key={tab.key}
+            className={`
+              flex items-center mr-1 px-[5px] h-[18px] rounded-md text-xs cursor-pointer
+              ${active === tab.key ? 'bg-gray-200 font-medium text-gray-900' : 'text-gray-500 font-normal'}
+            `}
+            onClick={() => onSelect(tab.key)}
+          >
+            {tab.text}
+          </div>
+        ))
+      }
+    </div>
+  )
+}
+
+export default Tab
diff --git a/app/components/header/account-setting/model-provider-page/provider-card/index.module.css b/app/components/header/account-setting/model-provider-page/provider-card/index.module.css
new file mode 100644
index 0000000..88c9fd0
--- /dev/null
+++ b/app/components/header/account-setting/model-provider-page/provider-card/index.module.css
@@ -0,0 +1,4 @@
+.vender {
+  background: linear-gradient(131deg, #2250F2 0%, #0EBCF3 100%);
+  background-clip: text;
+}
\ No newline at end of file
diff --git a/app/components/header/account-setting/model-provider-page/provider-card/index.tsx b/app/components/header/account-setting/model-provider-page/provider-card/index.tsx
new file mode 100644
index 0000000..ec66a99
--- /dev/null
+++ b/app/components/header/account-setting/model-provider-page/provider-card/index.tsx
@@ -0,0 +1,103 @@
+import type { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+import {
+  RiAddLine,
+} from '@remixicon/react'
+import type {
+  ModelProvider,
+} from '../declarations'
+import { ConfigurationMethodEnum } from '../declarations'
+import {
+  DEFAULT_BACKGROUND_COLOR,
+  modelTypeFormat,
+} from '../utils'
+import {
+  useLanguage,
+} from '../hooks'
+import ModelBadge from '../model-badge'
+import ProviderIcon from '../provider-icon'
+import s from './index.module.css'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
+import Button from '@/app/components/base/button'
+import { useAppContext } from '@/context/app-context'
+
+type ProviderCardProps = {
+  provider: ModelProvider
+  onOpenModal: (configurateMethod: ConfigurationMethodEnum) => void
+}
+
+const ProviderCard: FC<ProviderCardProps> = ({
+  provider,
+  onOpenModal,
+}) => {
+  const { t } = useTranslation()
+  const language = useLanguage()
+  const { isCurrentWorkspaceManager } = useAppContext()
+  const configurateMethods = provider.configurate_methods.filter(method => method !== ConfigurationMethodEnum.fetchFromRemote)
+
+  return (
+    <div
+      className='group relative flex flex-col px-4 py-3 h-[148px] border-[0.5px] border-black/5 rounded-xl shadow-xs hover:shadow-lg'
+      style={{ background: provider.background || DEFAULT_BACKGROUND_COLOR }}
+    >
+      <div className='grow h-0'>
+        <div className='py-0.5'>
+          <ProviderIcon provider={provider} />
+        </div>
+        {
+          provider.description && (
+            <div
+              className='mt-1 leading-4 text-xs text-black/[48] line-clamp-4'
+              title={provider.description[language] || provider.description.en_US}
+            >
+              {provider.description[language] || provider.description.en_US}
+            </div>
+          )
+        }
+      </div>
+      <div className='shrink-0'>
+        <div className={'flex flex-wrap group-hover:hidden gap-0.5'}>
+          {
+            provider.supported_model_types.map(modelType => (
+              <ModelBadge key={modelType}>
+                {modelTypeFormat(modelType)}
+              </ModelBadge>
+            ))
+          }
+        </div>
+        <div className={`hidden group-hover:grid grid-cols-${configurateMethods.length} gap-1`}>
+          {
+            configurateMethods.map((method) => {
+              if (method === ConfigurationMethodEnum.predefinedModel) {
+                return (
+                  <Button
+                    key={method}
+                    className={'h-7 text-xs shrink-0'}
+                    onClick={() => onOpenModal(method)}
+                    disabled={!isCurrentWorkspaceManager}
+                  >
+                    <Settings01 className={`mr-[5px] w-3.5 h-3.5 ${s.icon}`} />
+                    <span className='text-xs inline-flex items-center justify-center overflow-ellipsis shrink-0'>{t('common.operation.setup')}</span>
+                  </Button>
+                )
+              }
+              return (
+                <Button
+                  key={method}
+                  className='px-0 h-7 text-xs'
+                  onClick={() => onOpenModal(method)}
+                  disabled={!isCurrentWorkspaceManager}
+                >
+                  <RiAddLine className='mr-[5px] w-3.5 h-3.5' />
+                  {t('common.modelProvider.addModel')}
+                </Button>
+              )
+            })
+          }
+        </div>
+      </div>
+    </div>
+  )
+}
+
+export default ProviderCard
diff --git a/app/components/header/account-setting/model-provider-page/provider-icon/index.tsx b/app/components/header/account-setting/model-provider-page/provider-icon/index.tsx
index 253269d..768f2c2 100644
--- a/app/components/header/account-setting/model-provider-page/provider-icon/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/provider-icon/index.tsx
@@ -1,12 +1,6 @@
 import type { FC } from 'react'
 import type { ModelProvider } from '../declarations'
 import { useLanguage } from '../hooks'
-import { Openai } from '@/app/components/base/icons/src/vender/other'
-import { AnthropicDark, AnthropicLight } from '@/app/components/base/icons/src/public/llm'
-import { renderI18nObject } from '@/i18n'
-import { Theme } from '@/types/app'
-import cn from '@/utils/classnames'
-import useTheme from '@/hooks/use-theme'
 
 type ProviderIconProps = {
   provider: ModelProvider
@@ -16,35 +10,22 @@
   provider,
   className,
 }) => {
-  const { theme } = useTheme()
   const language = useLanguage()
 
-  if (provider.provider === 'langgenius/anthropic/anthropic') {
+  if (provider.icon_large) {
     return (
-      <div className='mb-2 py-[7px]'>
-        {theme === Theme.dark && <AnthropicLight className='h-2.5 w-[90px]' />}
-        {theme === Theme.light && <AnthropicDark className='h-2.5 w-[90px]' />}
-      </div>
-    )
-  }
-
-  if (provider.provider === 'langgenius/openai/openai') {
-    return (
-      <div className='mb-2'>
-        <Openai className='h-6 w-auto text-text-inverted-dimmed' />
-      </div>
+      <img
+        alt='provider-icon'
+        src={`${provider.icon_large[language] || provider.icon_large.en_US}`}
+        className={`w-auto h-6 ${className}`}
+      />
     )
   }
 
   return (
-    <div className={cn('inline-flex items-center gap-2', className)}>
-      <img
-        alt='provider-icon'
-        src={renderI18nObject(provider.icon_small, language)}
-        className='h-6 w-6'
-      />
-      <div className='system-md-semibold text-text-primary'>
-        {renderI18nObject(provider.label, language)}
+    <div className={`inline-flex items-center ${className}`}>
+      <div className='text-xs font-semibold text-black'>
+        {provider.label[language] || provider.label.en_US}
       </div>
     </div>
   )
diff --git a/app/components/header/account-setting/model-provider-page/system-model-selector/index.tsx b/app/components/header/account-setting/model-provider-page/system-model-selector/index.tsx
index 30ba475..1574785 100644
--- a/app/components/header/account-setting/model-provider-page/system-model-selector/index.tsx
+++ b/app/components/header/account-setting/model-provider-page/system-model-selector/index.tsx
@@ -1,7 +1,6 @@
 import type { FC } from 'react'
 import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { RiEqualizer2Line } from '@remixicon/react'
 import ModelSelector from '../model-selector'
 import {
   useModelList,
@@ -14,6 +13,7 @@
 } from '../declarations'
 import { ModelTypeEnum } from '../declarations'
 import Tooltip from '@/app/components/base/tooltip'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import {
   PortalToFollowElem,
   PortalToFollowElemContent,
@@ -31,7 +31,6 @@
   rerankDefaultModel: DefaultModelResponse | undefined
   speech2textDefaultModel: DefaultModelResponse | undefined
   ttsDefaultModel: DefaultModelResponse | undefined
-  notConfigured: boolean
 }
 const SystemModel: FC<SystemModelSelectorProps> = ({
   textGenerationDefaultModel,
@@ -39,7 +38,6 @@
   rerankDefaultModel,
   speech2textDefaultModel,
   ttsDefaultModel,
-  notConfigured,
 }) => {
   const { t } = useTranslation()
   const { notify } = useToastContext()
@@ -130,23 +128,23 @@
       }}
     >
       <PortalToFollowElemTrigger onClick={() => setOpen(v => !v)}>
-        <Button
-          className='relative'
-          variant={notConfigured ? 'primary' : 'secondary'}
-          size='small'
-        >
-          <RiEqualizer2Line className='mr-1 h-3.5 w-3.5' />
+        <div className={`
+          flex items-center px-2 h-6 text-xs text-gray-700 cursor-pointer bg-white rounded-md border-[0.5px] border-gray-200 shadow-xs
+          hover:bg-gray-100 hover:shadow-none
+          ${open && 'bg-gray-100 shadow-none'}
+        `}>
+          <Settings01 className='mr-1 w-3 h-3 text-gray-500' />
           {t('common.modelProvider.systemModelSettings')}
-        </Button>
+        </div>
       </PortalToFollowElemTrigger>
-      <PortalToFollowElemContent className='z-[60]'>
-        <div className='w-[360px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg pt-4 shadow-xl'>
+      <PortalToFollowElemContent className='z-50'>
+        <div className='pt-4 w-[360px] rounded-xl border-[0.5px] border-black/5 bg-white shadow-xl'>
           <div className='px-6 py-1'>
-            <div className='flex h-8 items-center text-[13px] font-medium text-text-primary'>
+            <div className='flex items-center h-8 text-[13px] font-medium text-gray-900'>
               {t('common.modelProvider.systemReasoningModel.key')}
               <Tooltip
                 popupContent={
-                  <div className='w-[261px] text-text-tertiary'>
+                  <div className='w-[261px] text-gray-500'>
                     {t('common.modelProvider.systemReasoningModel.tip')}
                   </div>
                 }
@@ -162,11 +160,11 @@
             </div>
           </div>
           <div className='px-6 py-1'>
-            <div className='flex h-8 items-center text-[13px] font-medium text-text-primary'>
+            <div className='flex items-center h-8 text-[13px] font-medium text-gray-900'>
               {t('common.modelProvider.embeddingModel.key')}
               <Tooltip
                 popupContent={
-                  <div className='w-[261px] text-text-tertiary'>
+                  <div className='w-[261px] text-gray-500'>
                     {t('common.modelProvider.embeddingModel.tip')}
                   </div>
                 }
@@ -182,11 +180,11 @@
             </div>
           </div>
           <div className='px-6 py-1'>
-            <div className='flex h-8 items-center text-[13px] font-medium text-text-primary'>
+            <div className='flex items-center h-8 text-[13px] font-medium text-gray-900'>
               {t('common.modelProvider.rerankModel.key')}
               <Tooltip
                 popupContent={
-                  <div className='w-[261px] text-text-tertiary'>
+                  <div className='w-[261px] text-gray-500'>
                     {t('common.modelProvider.rerankModel.tip')}
                   </div>
                 }
@@ -202,11 +200,11 @@
             </div>
           </div>
           <div className='px-6 py-1'>
-            <div className='flex h-8 items-center text-[13px] font-medium text-text-primary'>
+            <div className='flex items-center h-8 text-[13px] font-medium text-gray-900'>
               {t('common.modelProvider.speechToTextModel.key')}
               <Tooltip
                 popupContent={
-                  <div className='w-[261px] text-text-tertiary'>
+                  <div className='w-[261px] text-gray-500'>
                     {t('common.modelProvider.speechToTextModel.tip')}
                   </div>
                 }
@@ -222,11 +220,11 @@
             </div>
           </div>
           <div className='px-6 py-1'>
-            <div className='flex h-8 items-center text-[13px] font-medium text-text-primary'>
+            <div className='flex items-center h-8 text-[13px] font-medium text-gray-900'>
               {t('common.modelProvider.ttsModel.key')}
               <Tooltip
                 popupContent={
-                  <div className='w-[261px] text-text-tertiary'>
+                  <div className='w-[261px] text-gray-500'>
                     {t('common.modelProvider.ttsModel.tip')}
                   </div>
                 }
diff --git a/app/components/header/account-setting/model-provider-page/utils.ts b/app/components/header/account-setting/model-provider-page/utils.ts
index 9056afe..165926b 100644
--- a/app/components/header/account-setting/model-provider-page/utils.ts
+++ b/app/components/header/account-setting/model-provider-page/utils.ts
@@ -18,7 +18,9 @@
   validateModelProvider,
 } from '@/service/common'
 
-export const MODEL_PROVIDER_QUOTA_GET_PAID = ['langgenius/anthropic/anthropic', 'langgenius/openai/openai', 'langgenius/azure_openai/azure_openai']
+export const MODEL_PROVIDER_QUOTA_GET_PAID = ['anthropic', 'openai', 'azure_openai']
+
+export const DEFAULT_BACKGROUND_COLOR = '#F3F4F6'
 
 export const isNullOrUndefined = (value: any) => {
   return value === undefined || value === null
diff --git a/app/components/header/account-setting/plugin-page/index.tsx b/app/components/header/account-setting/plugin-page/index.tsx
index bf404b0..62a4265 100644
--- a/app/components/header/account-setting/plugin-page/index.tsx
+++ b/app/components/header/account-setting/plugin-page/index.tsx
@@ -10,7 +10,7 @@
   const { t } = useTranslation()
   const { data: plugins, mutate } = useSWR('/workspaces/current/tool-providers', fetchPluginProviders)
 
-  const Plugin_MAP: Record<string, (plugin: PluginProvider) => React.JSX.Element> = {
+  const Plugin_MAP: Record<string, (plugin: PluginProvider) => JSX.Element> = {
     serpapi: (plugin: PluginProvider) => <SerpapiPlugin key='serpapi' plugin={plugin} onUpdate={() => mutate()} />,
   }
 
@@ -19,11 +19,11 @@
       <div>
         {plugins?.map(plugin => Plugin_MAP[plugin.tool_name](plugin))}
       </div>
-      <div className='fixed bottom-0 flex h-[42px] w-[472px] items-center bg-white text-xs text-gray-500'>
-        <LockClosedIcon className='mr-1 h-3 w-3' />
+      <div className='fixed bottom-0 w-[472px] h-[42px] flex items-center bg-white text-xs text-gray-500'>
+        <LockClosedIcon className='w-3 h-3 mr-1' />
         {t('common.provider.encrypted.front')}
         <Link
-          className='mx-1 text-primary-600'
+          className='text-primary-600 mx-1'
           target='_blank' rel='noopener noreferrer'
           href='https://pycryptodome.readthedocs.io/en/latest/src/cipher/oaep.html'
         >
diff --git a/app/components/header/app-back/index.tsx b/app/components/header/app-back/index.tsx
index bfc1736..7a0e3f2 100644
--- a/app/components/header/app-back/index.tsx
+++ b/app/components/header/app-back/index.tsx
@@ -27,8 +27,8 @@
     >
       {
         (hovered && curApp)
-          ? <ArrowLeftIcon className='mr-1 h-[18px] w-[18px]' />
-          : <Squares2X2Icon className='mr-1 h-[18px] w-[18px]' />
+          ? <ArrowLeftIcon className='mr-1 w-[18px] h-[18px]' />
+          : <Squares2X2Icon className='mr-1 w-[18px] h-[18px]' />
       }
       {t('common.menus.apps')}
     </div>
diff --git a/app/components/header/app-nav/index.tsx b/app/components/header/app-nav/index.tsx
index 3b90281..d4dd9e3 100644
--- a/app/components/header/app-nav/index.tsx
+++ b/app/components/header/app-nav/index.tsx
@@ -11,7 +11,7 @@
   RiRobot2Line,
 } from '@remixicon/react'
 import Nav from '../nav'
-import type { NavItem } from '../nav/nav-selector'
+import { type NavItem } from '../nav/nav-selector'
 import { fetchAppList } from '@/service/apps'
 import CreateAppTemplateDialog from '@/app/components/app/create-app-dialog'
 import CreateAppModal from '@/app/components/app/create-app-modal'
@@ -117,8 +117,8 @@
     <>
       <Nav
         isApp
-        icon={<RiRobot2Line className='h-4 w-4' />}
-        activeIcon={<RiRobot2Fill className='h-4 w-4' />}
+        icon={<RiRobot2Line className='w-4 h-4' />}
+        activeIcon={<RiRobot2Fill className='w-4 h-4' />}
         text={t('common.menus.apps')}
         activeSegment={['apps', 'app']}
         link='/apps'
diff --git a/app/components/header/app-selector/index.tsx b/app/components/header/app-selector/index.tsx
index 1c0dbc5..38451f2 100644
--- a/app/components/header/app-selector/index.tsx
+++ b/app/components/header/app-selector/index.tsx
@@ -2,14 +2,13 @@
 import { useTranslation } from 'react-i18next'
 import { Fragment, useState } from 'react'
 import { ChevronDownIcon, PlusIcon } from '@heroicons/react/24/solid'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import { useRouter } from 'next/navigation'
 import Indicator from '../indicator'
 import type { AppDetailResponse } from '@/models/app'
 import CreateAppDialog from '@/app/components/app/create-app-dialog'
 import AppIcon from '@/app/components/base/app-icon'
 import { useAppContext } from '@/context/app-context'
-import { noop } from 'lodash-es'
 
 type IAppSelectorProps = {
   appItems: AppDetailResponse[]
@@ -31,19 +30,19 @@
     <div className="">
       <Menu as="div" className="relative inline-block text-left">
         <div>
-          <MenuButton
+          <Menu.Button
             className="
-              inline-flex h-7 w-full items-center justify-center
+              inline-flex items-center w-full h-7 justify-center
               rounded-[10px] pl-2 pr-2.5 text-[14px] font-semibold
               text-[#1C64F2] hover:bg-[#EBF5FF]
             "
           >
             {curApp?.name}
             <ChevronDownIcon
-              className="ml-1 h-3 w-3"
+              className="w-3 h-3 ml-1"
               aria-hidden="true"
             />
-          </MenuButton>
+          </Menu.Button>
         </div>
         <Transition
           as={Fragment}
@@ -54,58 +53,58 @@
           leaveFrom="transform opacity-100 scale-100"
           leaveTo="transform opacity-0 scale-95"
         >
-          <MenuItems
+          <Menu.Items
             className="
               absolute -left-11 right-0 mt-1.5 w-60 max-w-80
-              origin-top-right divide-y divide-gray-100 rounded-lg bg-white
+              divide-y divide-gray-100 origin-top-right rounded-lg bg-white
               shadow-lg
             "
           >
-            {!!appItems.length && (<div className="overflow-auto px-1 py-1" style={{ maxHeight: '50vh' }}>
+            {!!appItems.length && (<div className="px-1 py-1 overflow-auto" style={{ maxHeight: '50vh' }}>
               {
                 appItems.map((app: AppDetailResponse) => (
-                  <MenuItem key={app.id}>
+                  <Menu.Item key={app.id}>
                     <div className={itemClassName} onClick={() =>
                       router.push(`/app/${app.id}/${isCurrentWorkspaceEditor ? 'configuration' : 'overview'}`)
                     }>
-                      <div className='relative mr-2 h-6 w-6 rounded-[6px] bg-[#D5F5F6]'>
+                      <div className='relative w-6 h-6 mr-2 bg-[#D5F5F6] rounded-[6px]'>
                         <AppIcon size='tiny' />
-                        <div className='absolute -bottom-0.5 -right-0.5 flex h-2.5 w-2.5 items-center justify-center rounded bg-white'>
+                        <div className='flex justify-center items-center absolute -right-0.5 -bottom-0.5 w-2.5 h-2.5 bg-white rounded'>
                           <Indicator />
                         </div>
                       </div>
                       {app.name}
                     </div>
-                  </MenuItem>
+                  </Menu.Item>
                 ))
               }
             </div>)}
-            {isCurrentWorkspaceEditor && <MenuItem>
+            {isCurrentWorkspaceEditor && <Menu.Item>
               <div className='p-1' onClick={() => setShowNewAppDialog(true)}>
                 <div
-                  className='flex h-12 cursor-pointer items-center rounded-lg hover:bg-gray-100'
+                  className='flex items-center h-12 rounded-lg cursor-pointer hover:bg-gray-100'
                 >
                   <div
                     className='
-                      ml-4 mr-2 flex
-                      h-6 w-6 items-center justify-center rounded-[6px] border-[0.5px]
-                      border-dashed border-gray-200 bg-gray-100
+                      flex justify-center items-center
+                      ml-4 mr-2 w-6 h-6 bg-gray-100 rounded-[6px]
+                      border-[0.5px] border-gray-200 border-dashed
                     '
                   >
-                    <PlusIcon className='h-4 w-4 text-gray-500' />
+                    <PlusIcon className='w-4 h-4 text-gray-500' />
                   </div>
-                  <div className='text-[14px] font-normal text-gray-700'>{t('common.menus.newApp')}</div>
+                  <div className='font-normal text-[14px] text-gray-700'>{t('common.menus.newApp')}</div>
                 </div>
               </div>
-            </MenuItem>
+            </Menu.Item>
             }
-          </MenuItems>
+          </Menu.Items>
         </Transition>
       </Menu>
       <CreateAppDialog
         show={showNewAppDialog}
         onClose={() => setShowNewAppDialog(false)}
-        onSuccess={noop}
+        onSuccess={() => {}}
       />
     </div>
   )
diff --git a/app/components/header/dataset-nav/index.tsx b/app/components/header/dataset-nav/index.tsx
index 8c997f2..6205468 100644
--- a/app/components/header/dataset-nav/index.tsx
+++ b/app/components/header/dataset-nav/index.tsx
@@ -42,8 +42,8 @@
 
   return (
     <Nav
-      icon={<RiBook2Line className='h-4 w-4' />}
-      activeIcon={<RiBook2Fill className='h-4 w-4' />}
+      icon={<RiBook2Line className='w-4 h-4' />}
+      activeIcon={<RiBook2Fill className='w-4 h-4' />}
       text={t('common.menus.datasets')}
       activeSegment='datasets'
       link='/datasets'
diff --git a/app/components/header/env-nav/index.tsx b/app/components/header/env-nav/index.tsx
index cec933a..8f2e205 100644
--- a/app/components/header/env-nav/index.tsx
+++ b/app/components/header/env-nav/index.tsx
@@ -20,13 +20,13 @@
 
   return (
     <div className={`
-      mr-4 flex h-[22px] items-center rounded-md border px-2 text-xs font-medium
+      flex items-center h-[22px] mr-4 rounded-md px-2 text-xs font-medium border
       ${headerEnvClassName[langeniusVersionInfo.current_env]}
     `}>
       {
         langeniusVersionInfo.current_env === 'TESTING' && (
           <>
-            <Beaker02 className='mr-1 h-3 w-3' />
+            <Beaker02 className='w-3 h-3 mr-1' />
             {t('common.environment.testing')}
           </>
         )
@@ -34,7 +34,7 @@
       {
         langeniusVersionInfo.current_env === 'DEVELOPMENT' && (
           <>
-            <TerminalSquare className='mr-1 h-3 w-3' />
+            <TerminalSquare className='w-3 h-3 mr-1' />
             {t('common.environment.development')}
           </>
         )
diff --git a/app/components/header/explore-nav/index.tsx b/app/components/header/explore-nav/index.tsx
index b6ebf5d..0046fc2 100644
--- a/app/components/header/explore-nav/index.tsx
+++ b/app/components/header/explore-nav/index.tsx
@@ -27,8 +27,8 @@
     )}>
       {
         activated
-          ? <RiPlanetFill className='mr-2 h-4 w-4' />
-          : <RiPlanetLine className='mr-2 h-4 w-4' />
+          ? <RiPlanetFill className='mr-2 w-4 h-4' />
+          : <RiPlanetLine className='mr-2 w-4 h-4' />
       }
       {t('common.menus.explore')}
     </Link>
diff --git a/app/components/header/github-star/index.tsx b/app/components/header/github-star/index.tsx
index b087b9e..75af990 100644
--- a/app/components/header/github-star/index.tsx
+++ b/app/components/header/github-star/index.tsx
@@ -1,27 +1,50 @@
 'use client'
-import { useQuery } from '@tanstack/react-query'
-import type { FC } from 'react'
+import React, { useEffect, useState } from 'react'
+import { Github } from '@/app/components/base/icons/src/public/common'
 import type { GithubRepo } from '@/models/common'
 
 const getStar = async () => {
   const res = await fetch('https://api.github.com/repos/langgenius/dify')
 
   if (!res.ok)
-    throw new Error('Failed to fetch github star')
+    throw new Error('Failed to fetch data')
 
   return res.json()
 }
 
-const GithubStar: FC<{ className: string }> = (props) => {
-  const { isFetching, data } = useQuery<GithubRepo>({
-    queryKey: ['github-star'],
-    queryFn: getStar,
-    enabled: process.env.NODE_ENV !== 'development',
-    initialData: { stargazers_count: 81204 },
-  })
-  if (isFetching)
+const GithubStar = () => {
+  const [githubRepo, setGithubRepo] = useState<GithubRepo>({ stargazers_count: 6000 })
+  const [isFetched, setIsFetched] = useState(false)
+  useEffect(() => {
+    (async () => {
+      try {
+        if (process.env.NODE_ENV === 'development')
+          return
+
+        await setGithubRepo(await getStar())
+        setIsFetched(true)
+      }
+      catch (e) {
+
+      }
+    })()
+  }, [])
+
+  if (!isFetched)
     return null
-  return <span {...props}>{data.stargazers_count.toLocaleString()}</span>
+
+  return (
+    <a
+      href='https://github.com/langgenius/dify'
+      target='_blank' rel='noopener noreferrer'
+      className='flex items-center leading-[18px] border border-gray-200 rounded-md text-xs text-gray-700 font-semibold overflow-hidden'>
+      <div className='flex items-center px-2 py-1 bg-gray-100'>
+        <Github className='mr-1 w-[18px] h-[18px]' />
+        Star
+      </div>
+      <div className='px-2 py-1 bg-white border-l border-gray-200'>{`${githubRepo.stargazers_count}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div>
+    </a>
+  )
 }
 
 export default GithubStar
diff --git a/app/components/header/index.module.css b/app/components/header/index.module.css
index 9e23bc1..a95938a 100644
--- a/app/components/header/index.module.css
+++ b/app/components/header/index.module.css
@@ -12,4 +12,4 @@
   width: 12px;
   height: 12px;
   background: url(./assets/alpha.svg) center center no-repeat;
-}
+}
\ No newline at end of file
diff --git a/app/components/header/index.tsx b/app/components/header/index.tsx
index c2345fb..9a32bbb 100644
--- a/app/components/header/index.tsx
+++ b/app/components/header/index.tsx
@@ -4,23 +4,23 @@
 import { useBoolean } from 'ahooks'
 import { useSelectedLayoutSegment } from 'next/navigation'
 import { Bars3Icon } from '@heroicons/react/20/solid'
+import { useContextSelector } from 'use-context-selector'
+import HeaderBillingBtn from '../billing/header-billing-btn'
 import AccountDropdown from './account-dropdown'
 import AppNav from './app-nav'
 import DatasetNav from './dataset-nav'
 import EnvNav from './env-nav'
-import PluginsNav from './plugins-nav'
 import ExploreNav from './explore-nav'
 import ToolsNav from './tools-nav'
+import GithubStar from './github-star'
+import LicenseNav from './license-env'
 import { WorkspaceProvider } from '@/context/workspace-context'
-import { useAppContext } from '@/context/app-context'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
-import WorkplaceSelector from '@/app/components/header/account-dropdown/workplace-selector'
+import AppContext, { useAppContext } from '@/context/app-context'
+import LogoSite from '@/app/components/base/logo/logo-site'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import { useProviderContext } from '@/context/provider-context'
 import { useModalContext } from '@/context/modal-context'
-import PlanBadge from './plan-badge'
-import LicenseNav from './license-env'
-import { Plan } from '../billing/type'
+import { LicenseStatus } from '@/types/feature'
 
 const navClassName = `
   flex items-center relative mr-0 sm:mr-3 px-3 h-8 rounded-xl
@@ -30,13 +30,14 @@
 
 const Header = () => {
   const { isCurrentWorkspaceEditor, isCurrentWorkspaceDatasetOperator } = useAppContext()
+  const systemFeatures = useContextSelector(AppContext, v => v.systemFeatures)
   const selectedSegment = useSelectedLayoutSegment()
   const media = useBreakpoints()
   const isMobile = media === MediaType.mobile
   const [isShowNavMenu, { toggle, setFalse: hideNavMenu }] = useBoolean(false)
   const { enableBilling, plan } = useProviderContext()
   const { setShowPricingModal, setShowAccountSettingModal } = useModalContext()
-  const isFreePlan = plan.type === Plan.sandbox
+  const isFreePlan = plan.type === 'sandbox'
   const handlePlanClick = useCallback(() => {
     if (isFreePlan)
       setShowPricingModal()
@@ -49,67 +50,58 @@
     // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [selectedSegment])
   return (
-    <div className='relative flex flex-1 items-center justify-between bg-background-body'>
+    <div className='flex flex-1 items-center justify-between px-4 bg-background-body'>
       <div className='flex items-center'>
         {isMobile && <div
-          className='flex h-8 w-8 cursor-pointer items-center justify-center'
+          className='flex items-center justify-center h-8 w-8 cursor-pointer'
           onClick={toggle}
         >
           <Bars3Icon className="h-4 w-4 text-gray-500" />
         </div>}
-        {
-          !isMobile
-          && <div className='flex shrink-0 items-center gap-1.5 self-stretch pl-3'>
-            <Link href="/apps" className='flex h-8 w-[52px] shrink-0 items-center justify-center gap-2'>
-              <DifyLogo />
-            </Link>
-            <div className='font-light text-divider-deep'>/</div>
-            <div className='flex items-center gap-0.5'>
-              <WorkspaceProvider>
-                <WorkplaceSelector />
-              </WorkspaceProvider>
-              {enableBilling ? <PlanBadge allowHover sandboxAsUpgrade plan={plan.type} onClick={handlePlanClick} /> : <LicenseNav />}
-            </div>
-          </div>
-        }
-      </div >
+        {!isMobile && <>
+          <Link href="/apps" className='flex items-center mr-4'>
+            <LogoSite className='object-contain' />
+          </Link>
+          {systemFeatures.license.status === LicenseStatus.NONE && <GithubStar />}
+        </>}
+      </div>
       {isMobile && (
         <div className='flex'>
-          <Link href="/apps" className='mr-4 flex items-center'>
-            <DifyLogo />
+          <Link href="/apps" className='flex items-center mr-4'>
+            <LogoSite />
           </Link>
-          <div className='font-light text-divider-deep'>/</div>
-          {enableBilling ? <PlanBadge allowHover sandboxAsUpgrade plan={plan.type} onClick={handlePlanClick} /> : <LicenseNav />}
-        </div >
-      )}
-      {
-        !isMobile && (
-          <div className='absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center'>
-            {!isCurrentWorkspaceDatasetOperator && <ExploreNav className={navClassName} />}
-            {!isCurrentWorkspaceDatasetOperator && <AppNav />}
-            {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && <DatasetNav />}
-            {!isCurrentWorkspaceDatasetOperator && <ToolsNav className={navClassName} />}
-          </div>
-        )
-      }
-      <div className='flex shrink-0 items-center pr-3'>
-        <EnvNav />
-        <div className='mr-2'>
-          <PluginsNav />
+          {systemFeatures.license.status === LicenseStatus.NONE && <GithubStar />}
         </div>
-        <AccountDropdown />
-      </div>
-      {
-        (isMobile && isShowNavMenu) && (
-          <div className='flex w-full flex-col gap-y-1 p-2'>
-            {!isCurrentWorkspaceDatasetOperator && <ExploreNav className={navClassName} />}
-            {!isCurrentWorkspaceDatasetOperator && <AppNav />}
-            {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && <DatasetNav />}
-            {!isCurrentWorkspaceDatasetOperator && <ToolsNav className={navClassName} />}
+      )}
+      {!isMobile && (
+        <div className='flex items-center'>
+          {!isCurrentWorkspaceDatasetOperator && <ExploreNav className={navClassName} />}
+          {!isCurrentWorkspaceDatasetOperator && <AppNav />}
+          {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && <DatasetNav />}
+          {!isCurrentWorkspaceDatasetOperator && <ToolsNav className={navClassName} />}
+        </div>
+      )}
+      <div className='flex items-center flex-shrink-0'>
+        <LicenseNav />
+        <EnvNav />
+        {enableBilling && (
+          <div className='mr-3 select-none'>
+            <HeaderBillingBtn onClick={handlePlanClick} />
           </div>
-        )
-      }
-    </div >
+        )}
+        <WorkspaceProvider>
+          <AccountDropdown isMobile={isMobile} />
+        </WorkspaceProvider>
+      </div>
+      {(isMobile && isShowNavMenu) && (
+        <div className='w-full flex flex-col p-2 gap-y-1'>
+          {!isCurrentWorkspaceDatasetOperator && <ExploreNav className={navClassName} />}
+          {!isCurrentWorkspaceDatasetOperator && <AppNav />}
+          {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && <DatasetNav />}
+          {!isCurrentWorkspaceDatasetOperator && <ToolsNav className={navClassName} />}
+        </div>
+      )}
+    </div>
   )
 }
 export default Header
diff --git a/app/components/header/license-env/index.tsx b/app/components/header/license-env/index.tsx
index 86c53d7..800d86d 100644
--- a/app/components/header/license-env/index.tsx
+++ b/app/components/header/license-env/index.tsx
@@ -5,8 +5,6 @@
 import { useTranslation } from 'react-i18next'
 import { useContextSelector } from 'use-context-selector'
 import dayjs from 'dayjs'
-import PremiumBadge from '../../base/premium-badge'
-import { RiHourglass2Fill } from '@remixicon/react'
 
 const LicenseNav = () => {
   const { t } = useTranslation()
@@ -15,16 +13,15 @@
   if (systemFeatures.license?.status === LicenseStatus.EXPIRING) {
     const expiredAt = systemFeatures.license?.expired_at
     const count = dayjs(expiredAt).diff(dayjs(), 'days')
-    return <PremiumBadge color='orange' className='select-none'>
-      <RiHourglass2Fill className='flex size-3 items-center pl-0.5 text-components-premium-badge-indigo-text-stop-0' />
-      {count <= 1 && <span className='system-xs-medium px-0.5'>{t('common.license.expiring', { count })}</span>}
-      {count > 1 && <span className='system-xs-medium px-0.5'>{t('common.license.expiring_plural', { count })}</span>}
-    </PremiumBadge>
+    return <div className='px-2 py-1 mr-4 rounded-full bg-util-colors-orange-orange-50 border-util-colors-orange-orange-100 system-xs-medium text-util-colors-orange-orange-600'>
+      {count <= 1 && <span>{t('common.license.expiring', { count })}</span>}
+      {count > 1 && <span>{t('common.license.expiring_plural', { count })}</span>}
+    </div>
   }
   if (systemFeatures.license.status === LicenseStatus.ACTIVE) {
-    return <PremiumBadge color="indigo" className='select-none'>
-      <span className='system-xs-medium px-1'>Enterprise</span>
-    </PremiumBadge>
+    return <div className='px-2 py-1 mr-4 rounded-md bg-util-colors-indigo-indigo-50 border-util-colors-indigo-indigo-100 system-xs-medium text-util-colors-indigo-indigo-600'>
+      Enterprise
+    </div>
   }
   return null
 }
diff --git a/app/components/header/maintenance-notice.tsx b/app/components/header/maintenance-notice.tsx
index 78715bb..a7f3faa 100644
--- a/app/components/header/maintenance-notice.tsx
+++ b/app/components/header/maintenance-notice.tsx
@@ -24,14 +24,14 @@
     return null
 
   return (
-    <div className='z-20 flex h-[38px] shrink-0 items-center border-[0.5px] border-b border-b-[#FEF0C7] bg-[#FFFAEB] px-4'>
-      <div className='mr-2 flex h-[22px] shrink-0 items-center rounded-xl bg-[#F79009] px-2 text-[11px] font-medium text-white'>{titleByLocale[locale]}</div>
+    <div className='shrink-0 flex items-center px-4 h-[38px] bg-[#FFFAEB] border-b border-[0.5px] border-b-[#FEF0C7] z-20'>
+      <div className='shrink-0 flex items-center mr-2 px-2 h-[22px] bg-[#F79009] text-white text-[11px] font-medium rounded-xl'>{titleByLocale[locale]}</div>
       {
         (NOTICE_I18N.href && NOTICE_I18N.href !== '#')
-          ? <div className='grow cursor-pointer text-xs font-medium text-gray-700' onClick={handleJumpNotice}>{descByLocale[locale]}</div>
+          ? <div className='grow text-xs font-medium text-gray-700 cursor-pointer' onClick={handleJumpNotice}>{descByLocale[locale]}</div>
           : <div className='grow text-xs font-medium text-gray-700'>{descByLocale[locale]}</div>
       }
-      <X className='h-4 w-4 shrink-0 cursor-pointer text-gray-500' onClick={handleCloseNotice} />
+      <X className='shrink-0 w-4 h-4 text-gray-500 cursor-pointer' onClick={handleCloseNotice} />
     </div>
   )
 }
diff --git a/app/components/header/nav/index.tsx b/app/components/header/nav/index.tsx
index 293c66a..bfb4324 100644
--- a/app/components/header/nav/index.tsx
+++ b/app/components/header/nav/index.tsx
@@ -1,8 +1,8 @@
 'use client'
 
-import React, { useEffect, useState } from 'react'
+import React, { useState } from 'react'
 import Link from 'next/link'
-import { usePathname, useSearchParams, useSelectedLayoutSegment } from 'next/navigation'
+import { useSelectedLayoutSegment } from 'next/navigation'
 import type { INavSelectorProps } from './nav-selector'
 import NavSelector from './nav-selector'
 import classNames from '@/utils/classnames'
@@ -35,22 +35,14 @@
   const [hovered, setHovered] = useState(false)
   const segment = useSelectedLayoutSegment()
   const isActivated = Array.isArray(activeSegment) ? activeSegment.includes(segment!) : segment === activeSegment
-  const pathname = usePathname()
-  const searchParams = useSearchParams()
-  const [linkLastSearchParams, setLinkLastSearchParams] = useState('')
-
-  useEffect(() => {
-    if (pathname === link)
-      setLinkLastSearchParams(searchParams.toString())
-  }, [pathname, searchParams])
 
   return (
     <div className={`
-      mr-0 flex h-8 shrink-0 items-center rounded-xl px-0.5 text-sm font-medium sm:mr-3
-      ${isActivated && 'bg-components-main-nav-nav-button-bg-active font-semibold shadow-md'}
+      flex items-center h-8 mr-0 sm:mr-3 px-0.5 rounded-xl text-sm shrink-0 font-medium
+      ${isActivated && 'bg-components-main-nav-nav-button-bg-active shadow-md font-semibold'}
       ${!curNav && !isActivated && 'hover:bg-components-main-nav-nav-button-bg-hover'}
     `}>
-      <Link href={link + (linkLastSearchParams && `?${linkLastSearchParams}`)}>
+      <Link href={link}>
         <div
           onClick={() => setAppDetail()}
           className={classNames(`
@@ -64,7 +56,7 @@
           <div className='mr-2'>
             {
               (hovered && curNav)
-                ? <ArrowNarrowLeft className='h-4 w-4' />
+                ? <ArrowNarrowLeft className='w-4 h-4' />
                 : isActivated
                   ? activeIcon
                   : icon
@@ -76,7 +68,7 @@
       {
         curNav && isActivated && (
           <>
-            <div className='font-light text-divider-deep'>/</div>
+            <div className='font-light text-gray-300 '>/</div>
             <NavSelector
               isApp={isApp}
               curNav={curNav}
diff --git a/app/components/header/nav/nav-selector/index.tsx b/app/components/header/nav/nav-selector/index.tsx
index 65c7cb1..ba9c58f 100644
--- a/app/components/header/nav/nav-selector/index.tsx
+++ b/app/components/header/nav/nav-selector/index.tsx
@@ -6,7 +6,7 @@
   RiArrowDownSLine,
   RiArrowRightSLine,
 } from '@remixicon/react'
-import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
+import { Menu, Transition } from '@headlessui/react'
 import { useRouter } from 'next/navigation'
 import { debounce } from 'lodash-es'
 import cn from '@/utils/classnames'
@@ -57,53 +57,53 @@
       <Menu as="div" className="relative inline-block text-left">
         {({ open }) => (
           <>
-            <MenuButton className={cn(
-              'hover:hover:bg-components-main-nav-nav-button-bg-active-hover group inline-flex h-7 w-full items-center justify-center rounded-[10px] pl-2 pr-2.5 text-[14px] font-semibold text-components-main-nav-nav-button-text-active',
+            <Menu.Button className={cn(
+              'group inline-flex items-center w-full h-7 justify-center rounded-[10px] pl-2 pr-2.5 text-[14px] font-semibold text-components-main-nav-nav-button-text-active hover:hover:bg-components-main-nav-nav-button-bg-active-hover',
               open && 'bg-components-main-nav-nav-button-bg-active',
             )}>
               <div className='max-w-[180px] truncate' title={curNav?.name}>{curNav?.name}</div>
               <RiArrowDownSLine
-                className={cn('ml-1 h-3 w-3 shrink-0 opacity-50 group-hover:opacity-100', open && '!opacity-100')}
+                className={cn('shrink-0 w-3 h-3 ml-1 opacity-50 group-hover:opacity-100', open && '!opacity-100')}
                 aria-hidden="true"
               />
-            </MenuButton>
-            <MenuItems
+            </Menu.Button>
+            <Menu.Items
               className="
                 absolute -left-11 right-0 mt-1.5 w-60 max-w-80
-                origin-top-right divide-y divide-gray-100 rounded-lg bg-white
+                divide-y divide-gray-100 origin-top-right rounded-lg bg-white
                 shadow-lg
               "
             >
-              <div className="overflow-auto px-1 py-1" style={{ maxHeight: '50vh' }} onScroll={handleScroll}>
+              <div className="px-1 py-1 overflow-auto" style={{ maxHeight: '50vh' }} onScroll={handleScroll}>
                 {
                   navs.map(nav => (
-                    <MenuItem key={nav.id}>
-                      <div className='flex w-full cursor-pointer items-center truncate rounded-lg px-3 py-[6px] text-[14px] font-normal text-gray-700 hover:bg-gray-100' onClick={() => {
+                    <Menu.Item key={nav.id}>
+                      <div className='flex items-center w-full px-3 py-[6px] text-gray-700 text-[14px] rounded-lg font-normal hover:bg-gray-100 cursor-pointer truncate' onClick={() => {
                         if (curNav?.id === nav.id)
                           return
                         setAppDetail()
                         router.push(nav.link)
                       }} title={nav.name}>
-                        <div className='relative mr-2 h-6 w-6 rounded-md'>
-                          <AppIcon size='tiny' iconType={nav.icon_type} icon={nav.icon} background={nav.icon_background} imageUrl={nav.icon_url} />
+                        <div className='relative w-6 h-6 mr-2 rounded-md'>
+                          <AppIcon size='tiny' iconType={nav.icon_type} icon={nav.icon} background={nav.icon_background} imageUrl={nav.icon_url}/>
                           {!!nav.mode && (
                             <span className={cn(
-                              'absolute -bottom-0.5 -right-0.5 h-3.5 w-3.5 rounded border-[0.5px] border-[rgba(0,0,0,0.02)] bg-white p-0.5 shadow-sm',
+                              'absolute w-3.5 h-3.5 -bottom-0.5 -right-0.5 p-0.5 bg-white rounded border-[0.5px] border-[rgba(0,0,0,0.02)] shadow-sm',
                             )}>
                               {nav.mode === 'advanced-chat' && (
-                                <ChatBot className='h-2.5 w-2.5 text-[#1570EF]' />
+                                <ChatBot className='w-2.5 h-2.5 text-[#1570EF]' />
                               )}
                               {nav.mode === 'agent-chat' && (
-                                <CuteRobot className='h-2.5 w-2.5 text-indigo-600' />
+                                <CuteRobot className='w-2.5 h-2.5 text-indigo-600' />
                               )}
                               {nav.mode === 'chat' && (
-                                <ChatBot className='h-2.5 w-2.5 text-[#1570EF]' />
+                                <ChatBot className='w-2.5 h-2.5 text-[#1570EF]' />
                               )}
                               {nav.mode === 'completion' && (
-                                <AiText className='h-2.5 w-2.5 text-[#0E9384]' />
+                                <AiText className='w-2.5 h-2.5 text-[#0E9384]' />
                               )}
                               {nav.mode === 'workflow' && (
-                                <Route className='h-2.5 w-2.5 text-[#f79009]' />
+                                <Route className='w-2.5 h-2.5 text-[#f79009]' />
                               )}
                             </span>
                           )}
@@ -112,38 +112,38 @@
                           {nav.name}
                         </div>
                       </div>
-                    </MenuItem>
+                    </Menu.Item>
                   ))
                 }
               </div>
               {!isApp && isCurrentWorkspaceEditor && (
-                <MenuItem as="div" className='w-full p-1'>
+                <Menu.Button className='p-1 w-full'>
                   <div onClick={() => onCreate('')} className={cn(
-                    'flex cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-gray-100',
+                    'flex items-center gap-2 px-3 py-[6px] rounded-lg cursor-pointer hover:bg-gray-100',
                   )}>
-                    <div className='flex h-6 w-6 shrink-0 items-center justify-center rounded-[6px] border border-[0.5px] border-gray-200 bg-gray-50'>
-                      <RiAddLine className='h-4 w-4 text-gray-500' />
+                    <div className='shrink-0 flex justify-center items-center w-6 h-6 bg-gray-50 rounded-[6px] border-[0.5px] border-gray-200 border'>
+                      <RiAddLine className='w-4 h-4 text-gray-500' />
                     </div>
-                    <div className='grow text-left text-[14px] font-normal text-gray-700'>{createText}</div>
+                    <div className='grow text-left font-normal text-[14px] text-gray-700'>{createText}</div>
                   </div>
-                </MenuItem>
+                </Menu.Button>
               )}
               {isApp && isCurrentWorkspaceEditor && (
-                <Menu as="div" className="relative h-full w-full">
+                <Menu as="div" className="relative w-full h-full">
                   {({ open }) => (
                     <>
-                      <MenuButton className='w-full p-1'>
+                      <Menu.Button className='p-1 w-full'>
                         <div className={cn(
-                          'flex cursor-pointer items-center gap-2 rounded-lg px-3 py-[6px] hover:bg-gray-100',
+                          'flex items-center gap-2 px-3 py-[6px] rounded-lg cursor-pointer hover:bg-gray-100',
                           open && '!bg-gray-100',
                         )}>
-                          <div className='flex h-6 w-6 shrink-0 items-center justify-center rounded-[6px] border border-[0.5px] border-gray-200 bg-gray-50'>
-                            <RiAddLine className='h-4 w-4 text-gray-500' />
+                          <div className='shrink-0 flex justify-center items-center w-6 h-6 bg-gray-50 rounded-[6px] border-[0.5px] border-gray-200 border'>
+                            <RiAddLine className='w-4 h-4 text-gray-500' />
                           </div>
-                          <div className='grow text-left text-[14px] font-normal text-gray-700'>{createText}</div>
-                          <RiArrowRightSLine className='h-3.5 w-3.5 shrink-0  text-gray-500' />
+                          <div className='grow text-left font-normal text-[14px] text-gray-700'>{createText}</div>
+                          <RiArrowRightSLine className='shrink-0 w-3.5 h-3.5  text-gray-500' />
                         </div>
-                      </MenuButton>
+                      </Menu.Button>
                       <Transition
                         as={Fragment}
                         enter="transition ease-out duration-100"
@@ -153,32 +153,32 @@
                         leaveFrom="transform opacity-100 scale-100"
                         leaveTo="transform opacity-0 scale-95"
                       >
-                        <MenuItems className={cn(
-                          'absolute right-[-198px] top-[3px] z-10 min-w-[200px] rounded-lg border-[0.5px] border-gray-200 bg-white shadow-lg',
+                        <Menu.Items className={cn(
+                          'absolute top-[3px] right-[-198px] min-w-[200px] z-10 bg-white border-[0.5px] border-gray-200 rounded-lg shadow-lg',
                         )}>
                           <div className='p-1'>
-                            <div className={cn('flex cursor-pointer items-center rounded-lg px-3 py-[6px] font-normal text-gray-700 hover:bg-gray-100')} onClick={() => onCreate('blank')}>
-                              <FilePlus01 className='mr-2 h-4 w-4 shrink-0 text-gray-600' />
+                            <div className={cn('flex items-center px-3 py-[6px] rounded-lg cursor-pointer hover:bg-gray-100 text-gray-700 font-normal')} onClick={() => onCreate('blank')}>
+                              <FilePlus01 className='shrink-0 mr-2 w-4 h-4 text-gray-600' />
                               {t('app.newApp.startFromBlank')}
                             </div>
-                            <div className={cn('flex cursor-pointer items-center rounded-lg px-3 py-[6px] font-normal text-gray-700 hover:bg-gray-100')} onClick={() => onCreate('template')}>
-                              <FilePlus02 className='mr-2 h-4 w-4 shrink-0 text-gray-600' />
+                            <div className={cn('flex items-center px-3 py-[6px] rounded-lg cursor-pointer hover:bg-gray-100 text-gray-700 font-normal')} onClick={() => onCreate('template')}>
+                              <FilePlus02 className='shrink-0 mr-2 w-4 h-4 text-gray-600' />
                               {t('app.newApp.startFromTemplate')}
                             </div>
                           </div>
-                          <div className='border-t border-gray-100 p-1'>
-                            <div className={cn('flex cursor-pointer items-center rounded-lg px-3 py-[6px] font-normal text-gray-700 hover:bg-gray-100')} onClick={() => onCreate('dsl')}>
-                              <FileArrow01 className='mr-2 h-4 w-4 shrink-0 text-gray-600' />
+                          <div className='p-1 border-t border-gray-100'>
+                            <div className={cn('flex items-center px-3 py-[6px] rounded-lg cursor-pointer hover:bg-gray-100 text-gray-700 font-normal')} onClick={() => onCreate('dsl')}>
+                              <FileArrow01 className='shrink-0 mr-2 w-4 h-4 text-gray-600' />
                               {t('app.importDSL')}
                             </div>
                           </div>
-                        </MenuItems>
+                        </Menu.Items>
                       </Transition>
                     </>
                   )}
                 </Menu>
               )}
-            </MenuItems>
+            </Menu.Items>
           </>
         )}
       </Menu>
diff --git a/app/components/header/tools-nav/index.tsx b/app/components/header/tools-nav/index.tsx
index b873987..81e2f48 100644
--- a/app/components/header/tools-nav/index.tsx
+++ b/app/components/header/tools-nav/index.tsx
@@ -28,8 +28,8 @@
     )}>
       {
         activated
-          ? <RiHammerFill className='mr-2 h-4 w-4' />
-          : <RiHammerLine className='mr-2 h-4 w-4' />
+          ? <RiHammerFill className='mr-2 w-4 h-4' />
+          : <RiHammerLine className='mr-2 w-4 h-4' />
       }
       {t('common.menus.tools')}
     </Link>
diff --git a/app/components/i18n-server.tsx b/app/components/i18n-server.tsx
index 78d5ca4..bea8332 100644
--- a/app/components/i18n-server.tsx
+++ b/app/components/i18n-server.tsx
@@ -7,10 +7,10 @@
   children: React.ReactNode
 }
 
-const I18NServer = async ({
+const I18NServer = ({
   children,
 }: II18NServerProps) => {
-  const locale = await getLocaleOnServer()
+  const locale = getLocaleOnServer()
 
   return (
     <I18N {...{ locale }}>
diff --git a/app/components/i18n.tsx b/app/components/i18n.tsx
index f04f8d6..7fe1df2 100644
--- a/app/components/i18n.tsx
+++ b/app/components/i18n.tsx
@@ -2,6 +2,7 @@
 
 import type { FC } from 'react'
 import React, { useEffect } from 'react'
+import { changeLanguage } from '@/i18n/i18next-config'
 import I18NContext from '@/context/i18n'
 import type { Locale } from '@/i18n'
 import { setLocaleOnClient } from '@/i18n'
@@ -15,7 +16,7 @@
   children,
 }) => {
   useEffect(() => {
-    setLocaleOnClient(locale, false)
+    changeLanguage(locale)
   }, [locale])
 
   return (
diff --git a/app/components/sentry-initor.tsx b/app/components/sentry-initor.tsx
index 457a1cf..6bf0abb 100644
--- a/app/components/sentry-initor.tsx
+++ b/app/components/sentry-initor.tsx
@@ -7,15 +7,16 @@
 
 const SentryInit = ({
   children,
-}: { children: React.ReactNode }) => {
+}: { children: React.ReactElement }) => {
   useEffect(() => {
     const SENTRY_DSN = document?.body?.getAttribute('data-public-sentry-dsn')
     if (!isDevelopment && SENTRY_DSN) {
       Sentry.init({
         dsn: SENTRY_DSN,
         integrations: [
-          Sentry.browserTracingIntegration(),
-          Sentry.replayIntegration(),
+          new Sentry.BrowserTracing({
+          }),
+          new Sentry.Replay(),
         ],
         tracesSampleRate: 0.1,
         replaysSessionSampleRate: 0.1,
diff --git a/app/components/share/text-generation/index.tsx b/app/components/share/text-generation/index.tsx
index 5751092..c54601a 100644
--- a/app/components/share/text-generation/index.tsx
+++ b/app/components/share/text-generation/index.tsx
@@ -3,16 +3,18 @@
 import React, { useCallback, useEffect, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import {
-  RiBookmark3Line,
   RiErrorWarningFill,
 } from '@remixicon/react'
-import { useBoolean } from 'ahooks'
+import { useBoolean, useClickAway } from 'ahooks'
+import { XMarkIcon } from '@heroicons/react/24/outline'
 import { usePathname, useRouter, useSearchParams } from 'next/navigation'
 import TabHeader from '../../base/tab-header'
+import Button from '../../base/button'
 import { checkOrSetAccessToken } from '../utils'
-import MenuDropdown from './menu-dropdown'
+import s from './style.module.css'
 import RunBatch from './run-batch'
 import ResDownload from './run-batch/res-download'
+import cn from '@/utils/classnames'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import RunOnce from '@/app/components/share/text-generation/run-once'
 import { fetchSavedMessage as doFetchSavedMessage, fetchAppInfo, fetchAppParams, removeMessage, saveMessage } from '@/service/share'
@@ -24,7 +26,6 @@
   TextToSpeechConfig,
 } from '@/models/debug'
 import AppIcon from '@/app/components/base/app-icon'
-import Badge from '@/app/components/base/badge'
 import { changeLanguage } from '@/i18n/i18next-config'
 import Loading from '@/app/components/base/loading'
 import { userInputsFormToPromptVariables } from '@/utils/model-config'
@@ -36,8 +37,6 @@
 import type { VisionFile, VisionSettings } from '@/types/app'
 import { Resolution, TransferMethod } from '@/types/app'
 import { useAppFavicon } from '@/hooks/use-app-favicon'
-import DifyLogo from '@/app/components/base/logo/dify-logo'
-import cn from '@/utils/classnames'
 
 const GROUP_SIZE = 5 // to avoid RPM(Request per minute) limit. The group task finished then the next group.
 enum TaskStatus {
@@ -73,6 +72,8 @@
   const { t } = useTranslation()
   const media = useBreakpoints()
   const isPC = media === MediaType.pc
+  const isTablet = media === MediaType.tablet
+  const isMobile = media === MediaType.mobile
 
   const searchParams = useSearchParams()
   const mode = searchParams.get('mode') || 'create'
@@ -101,7 +102,6 @@
   const [appId, setAppId] = useState<string>('')
   const [siteInfo, setSiteInfo] = useState<SiteInfo | null>(null)
   const [canReplaceLogo, setCanReplaceLogo] = useState<boolean>(false)
-  const [customConfig, setCustomConfig] = useState<Record<string, any> | null>(null)
   const [promptConfig, setPromptConfig] = useState<PromptConfig | null>(null)
   const [moreLikeThisConfig, setMoreLikeThisConfig] = useState<MoreLikeThisConfig | null>(null)
   const [textToSpeechConfig, setTextToSpeechConfig] = useState<TextToSpeechConfig | null>(null)
@@ -137,12 +137,10 @@
   const handleSend = () => {
     setIsCallBatchAPI(false)
     setControlSend(Date.now())
-
-    // eslint-disable-next-line ts/no-use-before-define
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
     setAllTaskList([]) // clear batch task running status
-
-    // eslint-disable-next-line ts/no-use-before-define
-    showResultPanel()
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
+    showResSidebar()
   }
 
   const [controlRetry, setControlRetry] = useState(0)
@@ -302,17 +300,10 @@
     const varLen = promptConfig?.prompt_variables.length || 0
     setIsCallBatchAPI(true)
     const allTaskList: Task[] = payloadData.map((item, i) => {
-      const inputs: Record<string, any> = {}
+      const inputs: Record<string, string> = {}
       if (varLen > 0) {
         item.slice(0, varLen).forEach((input, index) => {
-          const varSchema = promptConfig?.prompt_variables[index]
-          inputs[varSchema?.key as string] = input
-          if (!input) {
-            if (varSchema?.type === 'string' || varSchema?.type === 'paragraph')
-              inputs[varSchema?.key as string] = ''
-            else
-              inputs[varSchema?.key as string] = undefined
-          }
+          inputs[promptConfig?.prompt_variables[index].key as string] = input
         })
       }
       return {
@@ -328,9 +319,8 @@
     setControlSend(Date.now())
     // clear run once task status
     setControlStopResponding(Date.now())
-
-    // eslint-disable-next-line ts/no-use-before-define
-    showResultPanel()
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
+    showResSidebar()
   }
   const handleCompleted = (completionRes: string, taskId?: number, isSuccess?: boolean) => {
     const allTaskListLatest = getLatestTaskList()
@@ -395,11 +385,10 @@
   useEffect(() => {
     (async () => {
       const [appData, appParams]: any = await fetchInitData()
-      const { app_id: appId, site: siteInfo, can_replace_logo, custom_config } = appData
+      const { app_id: appId, site: siteInfo, can_replace_logo } = appData
       setAppId(appId)
       setSiteInfo(siteInfo as SiteInfo)
       setCanReplaceLogo(can_replace_logo)
-      setCustomConfig(custom_config)
       changeLanguage(siteInfo.default_language)
 
       const { user_input_form, more_like_this, file_upload, text_to_speech }: any = appParams
@@ -439,21 +428,24 @@
     icon_url: siteInfo?.icon_url,
   })
 
-  const [isShowResultPanel, { setTrue: doShowResultPanel, setFalse: hideResultPanel }] = useBoolean(false)
-  const showResultPanel = () => {
+  const [isShowResSidebar, { setTrue: doShowResSidebar, setFalse: hideResSidebar }] = useBoolean(false)
+  const showResSidebar = () => {
     // fix: useClickAway hideResSidebar will close sidebar
     setTimeout(() => {
-      doShowResultPanel()
+      doShowResSidebar()
     }, 0)
   }
-  const [resultExisted, setResultExisted] = useState(false)
+  const resRef = useRef<HTMLDivElement>(null)
+  useClickAway(() => {
+    hideResSidebar()
+  }, resRef)
 
   const renderRes = (task?: Task) => (<Res
     key={task?.id}
     isWorkflow={isWorkflow}
     isCallBatchAPI={isCallBatchAPI}
     isPC={isPC}
-    isMobile={!isPC}
+    isMobile={isMobile}
     isInstalledApp={isInstalledApp}
     installedAppInfo={installedAppInfo}
     isError={task?.status === TaskStatus.failed}
@@ -463,7 +455,7 @@
     controlSend={controlSend}
     controlRetry={task?.status === TaskStatus.failed ? controlRetry : 0}
     controlStopResponding={controlStopResponding}
-    onShowRes={showResultPanel}
+    onShowRes={showResSidebar}
     handleSaveMessage={handleSaveMessage}
     taskId={task?.id}
     onCompleted={handleCompleted}
@@ -471,99 +463,128 @@
     completionFiles={completionFiles}
     isShowTextToSpeech={!!textToSpeechConfig?.enabled}
     siteInfo={siteInfo}
-    onRunStart={() => setResultExisted(true)}
   />)
 
   const renderBatchRes = () => {
     return (showTaskList.map(task => renderRes(task)))
   }
 
+  const resWrapClassNames = (() => {
+    if (isPC)
+      return 'grow h-full'
+
+    if (!isShowResSidebar)
+      return 'none'
+
+    return cn('fixed z-50 inset-0', isTablet ? 'pl-[128px]' : 'pl-6')
+  })()
+
   const renderResWrap = (
     <div
-      className={cn(
-        'relative flex h-full flex-col',
-        !isPC && 'h-[calc(100vh_-_36px)] rounded-t-2xl shadow-lg backdrop-blur-sm',
-        !isPC
-          ? isShowResultPanel
-            ? 'bg-background-default-burn'
-            : 'border-t-[0.5px] border-divider-regular bg-components-panel-bg'
-          : 'bg-chatbot-bg',
-      )}
+      ref={resRef}
+      className={
+        cn(
+          'flex flex-col h-full shrink-0',
+          isPC ? 'px-10 py-8' : 'bg-gray-50',
+          isTablet && 'p-6', isMobile && 'p-4')
+      }
     >
-      {isCallBatchAPI && (
-        <div className={cn(
-          'flex shrink-0 items-center justify-between px-14 pb-2 pt-9',
-          !isPC && 'px-4 pb-1 pt-3',
-        )}>
-          <div className='system-md-semibold-uppercase text-text-primary'>{t('share.generation.executions', { num: allTaskList.length })}</div>
-          {allSuccessTaskList.length > 0 && (
-            <ResDownload
-              isMobile={!isPC}
-              values={exportRes}
-            />
+      <>
+        <div className='flex items-center justify-between shrink-0'>
+          <div className='flex items-center space-x-3'>
+            <div className={s.starIcon}></div>
+            <div className='text-lg font-semibold text-gray-800'>{t('share.generation.title')}</div>
+          </div>
+          <div className='flex items-center space-x-2'>
+            {allFailedTaskList.length > 0 && (
+              <div className='flex items-center'>
+                <RiErrorWarningFill className='w-4 h-4 text-[#D92D20]' />
+                <div className='ml-1 text-[#D92D20]'>{t('share.generation.batchFailed.info', { num: allFailedTaskList.length })}</div>
+                <Button
+                  variant='primary'
+                  className='ml-2'
+                  onClick={handleRetryAllFailedTask}
+                >{t('share.generation.batchFailed.retry')}</Button>
+                <div className='mx-3 w-[1px] h-3.5 bg-gray-200'></div>
+              </div>
+            )}
+            {allSuccessTaskList.length > 0 && (
+              <ResDownload
+                isMobile={isMobile}
+                values={exportRes}
+              />
+            )}
+            {!isPC && (
+              <div
+                className='flex items-center justify-center cursor-pointer'
+                onClick={hideResSidebar}
+              >
+                <XMarkIcon className='w-4 h-4 text-gray-800' />
+              </div>
+            )}
+          </div>
+        </div>
+
+        <div className='overflow-y-auto grow'>
+          {!isCallBatchAPI ? renderRes() : renderBatchRes()}
+          {!noPendingTask && (
+            <div className='mt-4'>
+              <Loading type='area' />
+            </div>
           )}
         </div>
-      )}
-      <div className={cn(
-        'flex h-0 grow flex-col overflow-y-auto',
-        isPC && 'px-14 py-8',
-        isPC && isCallBatchAPI && 'pt-0',
-        !isPC && 'p-0 pb-2',
-      )}>
-        {!isCallBatchAPI ? renderRes() : renderBatchRes()}
-        {!noPendingTask && (
-          <div className='mt-4'>
-            <Loading type='area' />
-          </div>
-        )}
-      </div>
-      {isCallBatchAPI && allFailedTaskList.length > 0 && (
-        <div className='absolute bottom-6 left-1/2 z-10 flex -translate-x-1/2 items-center gap-2 rounded-xl border border-components-panel-border bg-components-panel-bg-blur p-3 shadow-lg backdrop-blur-sm'>
-          <RiErrorWarningFill className='h-4 w-4 text-text-destructive' />
-          <div className='system-sm-medium text-text-secondary'>{t('share.generation.batchFailed.info', { num: allFailedTaskList.length })}</div>
-          <div className='h-3.5 w-px bg-divider-regular'></div>
-          <div onClick={handleRetryAllFailedTask} className='system-sm-semibold-uppercase cursor-pointer text-text-accent'>{t('share.generation.batchFailed.retry')}</div>
-        </div>
-      )}
+      </>
     </div>
   )
 
   if (!appId || !siteInfo || !promptConfig) {
     return (
-      <div className='flex h-screen items-center'>
+      <div className='flex items-center h-screen'>
         <Loading type='app' />
       </div>)
   }
 
   return (
-    <div className={cn(
-      'bg-background-default-burn',
-      isPC && 'flex',
-      !isPC && 'flex-col',
-      isInstalledApp ? 'h-full rounded-2xl shadow-md' : 'h-screen',
-    )}>
-      {/* Left */}
+    <>
       <div className={cn(
-        'relative flex h-full shrink-0 flex-col',
-        isPC ? 'w-[600px] max-w-[50%]' : resultExisted ? 'h-[calc(100%_-_64px)]' : '',
-        isInstalledApp && 'rounded-l-2xl',
+        isPC && 'flex',
+        isInstalledApp ? s.installedApp : 'h-screen',
+        'bg-gray-50',
       )}>
-        {/* header */}
-        <div className={cn('shrink-0 space-y-4 border-b border-divider-subtle', isPC ? 'bg-components-panel-bg p-8 pb-0' : 'p-4 pb-0')}>
-          <div className='flex items-center gap-3'>
-            <AppIcon
-              size={isPC ? 'large' : 'small'}
-              iconType={siteInfo.icon_type}
-              icon={siteInfo.icon}
-              background={siteInfo.icon_background || appDefaultIconBackground}
-              imageUrl={siteInfo.icon_url}
-            />
-            <div className='system-md-semibold grow truncate text-text-secondary'>{siteInfo.title}</div>
-            <MenuDropdown data={siteInfo} />
+        {/* Left */}
+        <div className={cn(
+          isPC ? 'w-[600px] max-w-[50%] p-8' : 'p-4',
+          isInstalledApp && 'rounded-l-2xl',
+          'shrink-0 relative flex flex-col pb-10 h-full border-r border-gray-100 bg-white',
+        )}>
+          <div className='mb-6'>
+            <div className='flex items-center justify-between'>
+              <div className='flex items-center space-x-3'>
+                <AppIcon
+                  size="small"
+                  iconType={siteInfo.icon_type}
+                  icon={siteInfo.icon}
+                  background={siteInfo.icon_background || appDefaultIconBackground}
+                  imageUrl={siteInfo.icon_url}
+                />
+                <div className='text-lg font-semibold text-gray-800'>{siteInfo.title}</div>
+              </div>
+              {!isPC && (
+                <Button
+                  className='shrink-0 ml-2'
+                  onClick={showResSidebar}
+                >
+                  <div className='flex items-center space-x-2 text-primary-600 text-[13px] font-medium'>
+                    <div className={s.starIcon}></div>
+                    <span>{t('share.generation.title')}</span>
+                  </div>
+                </Button>
+              )}
+            </div>
+            {siteInfo.description && (
+              <div className='mt-2 text-xs text-gray-500'>{siteInfo.description}</div>
+            )}
           </div>
-          {siteInfo.description && (
-            <div className='system-xs-regular text-text-tertiary'>{siteInfo.description}</div>
-          )}
           <TabHeader
             items={[
               { id: 'create', name: t('share.generation.tabs.create') },
@@ -573,12 +594,11 @@
                   id: 'saved',
                   name: t('share.generation.tabs.saved'),
                   isRight: true,
-                  icon: <RiBookmark3Line className='h-4 w-4' />,
                   extra: savedMessages.length > 0
                     ? (
-                      <Badge className='ml-1'>
+                      <div className='ml-1 flex items-center h-5 px-1.5 rounded-md border border-gray-200 text-gray-500 text-xs font-medium'>
                         {savedMessages.length}
-                      </Badge>
+                      </div>
                     )
                     : null,
                 }]
@@ -587,89 +607,72 @@
             value={currentTab}
             onChange={setCurrentTab}
           />
-        </div>
-        {/* form */}
-        <div className={cn(
-          'h-0 grow overflow-y-auto bg-components-panel-bg',
-          isPC ? 'px-8' : 'px-4',
-          !isPC && resultExisted && customConfig?.remove_webapp_brand && 'rounded-b-2xl border-b-[0.5px] border-divider-regular',
-        )}>
-          <div className={cn(currentTab === 'create' ? 'block' : 'hidden')}>
-            <RunOnce
-              siteInfo={siteInfo}
-              inputs={inputs}
-              inputsRef={inputsRef}
-              onInputsChange={setInputs}
-              promptConfig={promptConfig}
-              onSend={handleSend}
-              visionConfig={visionConfig}
-              onVisionFilesChange={setCompletionFiles}
-            />
+          <div className='h-20 overflow-y-auto grow'>
+            <div className={cn(currentTab === 'create' ? 'block' : 'hidden')}>
+              <RunOnce
+                siteInfo={siteInfo}
+                inputs={inputs}
+                inputsRef={inputsRef}
+                onInputsChange={setInputs}
+                promptConfig={promptConfig}
+                onSend={handleSend}
+                visionConfig={visionConfig}
+                onVisionFilesChange={setCompletionFiles}
+              />
+            </div>
+            <div className={cn(isInBatchTab ? 'block' : 'hidden')}>
+              <RunBatch
+                vars={promptConfig.prompt_variables}
+                onSend={handleRunBatch}
+                isAllFinished={allTasksRun}
+              />
+            </div>
+
+            {currentTab === 'saved' && (
+              <SavedItems
+                className='mt-4'
+                isShowTextToSpeech={textToSpeechConfig?.enabled}
+                list={savedMessages}
+                onRemove={handleRemoveSavedMessage}
+                onStartCreateContent={() => setCurrentTab('create')}
+              />
+            )}
           </div>
-          <div className={cn(isInBatchTab ? 'block' : 'hidden')}>
-            <RunBatch
-              vars={promptConfig.prompt_variables}
-              onSend={handleRunBatch}
-              isAllFinished={allTasksRun}
-            />
-          </div>
-          {currentTab === 'saved' && (
-            <SavedItems
-              className={cn(isPC ? 'mt-6' : 'mt-4')}
-              isShowTextToSpeech={textToSpeechConfig?.enabled}
-              list={savedMessages}
-              onRemove={handleRemoveSavedMessage}
-              onStartCreateContent={() => setCurrentTab('create')}
-            />
-          )}
-        </div>
-        {/* powered by */}
-        {!customConfig?.remove_webapp_brand && (
+
+          {/* copyright */}
           <div className={cn(
-            'flex shrink-0 items-center gap-1.5 bg-components-panel-bg py-3',
-            isPC ? 'px-8' : 'px-4',
-            !isPC && resultExisted && 'rounded-b-2xl border-b-[0.5px] border-divider-regular',
+            isInstalledApp ? 'left-[248px]' : 'left-8',
+            'fixed  bottom-4  flex space-x-2 text-gray-400 font-normal text-xs',
           )}>
-            <div className='system-2xs-medium-uppercase text-text-tertiary'>{t('share.chat.poweredBy')}</div>
-            {customConfig?.replace_webapp_logo && (
-              <img src={customConfig?.replace_webapp_logo} alt='logo' className='block h-5 w-auto' />
+            {siteInfo.copyright && (
+              <div className="">漏 {(new Date()).getFullYear()} {siteInfo.copyright}</div>
             )}
-            {!customConfig?.replace_webapp_logo && (
-              <DifyLogo size='small' />
+            {siteInfo.privacy_policy && (
+              <>
+                {siteInfo.copyright && <div>路</div>}
+                <div>{t('share.chat.privacyPolicyLeft')}
+                  <a
+                    className='text-gray-500 px-1'
+                    href={siteInfo.privacy_policy}
+                    target='_blank' rel='noopener noreferrer'>{t('share.chat.privacyPolicyMiddle')}</a>
+                  {t('share.chat.privacyPolicyRight')}
+                </div>
+              </>
             )}
           </div>
-        )}
+        </div>
+
+        {/* Result */}
+        <div
+          className={resWrapClassNames}
+          style={{
+            background: (!isPC && isShowResSidebar) ? 'rgba(35, 56, 118, 0.2)' : 'none',
+          }}
+        >
+          {renderResWrap}
+        </div>
       </div>
-      {/* Result */}
-      <div className={cn(
-        isPC
-          ? 'h-full w-0 grow'
-          : isShowResultPanel
-            ? 'fixed inset-0 z-50 bg-background-overlay backdrop-blur-sm'
-            : resultExisted
-              ? 'relative h-16 shrink-0 overflow-hidden bg-background-default-burn pt-2.5'
-              : '',
-      )}>
-        {!isPC && (
-          <div
-            className={cn(
-              isShowResultPanel
-                ? 'flex items-center justify-center p-2 pt-6'
-                : 'absolute left-0 top-0 z-10 flex w-full items-center justify-center px-2 pb-[57px] pt-[3px]',
-            )}
-            onClick={() => {
-              if (isShowResultPanel)
-                hideResultPanel()
-              else
-                showResultPanel()
-            }}
-          >
-            <div className='h-1 w-8 cursor-grab rounded bg-divider-solid' />
-          </div>
-        )}
-        {renderResWrap}
-      </div>
-    </div>
+    </>
   )
 }
 
diff --git a/app/components/share/text-generation/no-data/index.tsx b/app/components/share/text-generation/no-data/index.tsx
index b24ca71..7492614 100644
--- a/app/components/share/text-generation/no-data/index.tsx
+++ b/app/components/share/text-generation/no-data/index.tsx
@@ -1,18 +1,22 @@
 import type { FC } from 'react'
 import React from 'react'
-import {
-  RiSparklingFill,
-} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
+
+const StarIcon = (
+  <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M7.50033 48.3337V36.667M7.50033 13.3337V1.66699M1.66699 7.50033H13.3337M1.66699 42.5003H13.3337M27.3337 4.00032L23.2872 14.521C22.6292 16.2319 22.3002 17.0873 21.7886 17.8069C21.3351 18.4446 20.7779 19.0018 20.1402 19.4552C19.4206 19.9669 18.5652 20.2959 16.8543 20.9539L6.33366 25.0003L16.8543 29.0467C18.5652 29.7048 19.4206 30.0338 20.1402 30.5454C20.7779 30.9989 21.3351 31.5561 21.7886 32.1938C22.3002 32.9133 22.6292 33.7688 23.2872 35.4796L27.3337 46.0003L31.3801 35.4796C32.0381 33.7688 32.3671 32.9133 32.8788 32.1938C33.3322 31.5561 33.8894 30.9989 34.5271 30.5454C35.2467 30.0338 36.1021 29.7048 37.813 29.0467L48.3337 25.0003L37.813 20.9539C36.1021 20.2959 35.2467 19.9669 34.5271 19.4552C33.8894 19.0018 33.3322 18.4446 32.8788 17.8069C32.3671 17.0873 32.0381 16.2319 31.3801 14.521L27.3337 4.00032Z" stroke="#EAECF0" strokeWidth="3" strokeLinecap="round" strokeLinejoin="round" />
+  </svg>
+
+)
 
 export type INoDataProps = {}
 const NoData: FC<INoDataProps> = () => {
   const { t } = useTranslation()
   return (
-    <div className='flex h-full w-full flex-col items-center justify-center'>
-      <RiSparklingFill className='h-12 w-12 text-text-empty-state-icon' />
+    <div className='flex flex-col h-full w-full justify-center items-center'>
+      {StarIcon}
       <div
-        className='system-sm-regular mt-2 text-text-quaternary'
+        className='mt-3 text-gray-300 text-xs leading-3'
       >
         {t('share.generation.noData')}
       </div>
diff --git a/app/components/share/text-generation/result/content.tsx b/app/components/share/text-generation/result/content.tsx
index f294b12..4e39db4 100644
--- a/app/components/share/text-generation/result/content.tsx
+++ b/app/components/share/text-generation/result/content.tsx
@@ -17,10 +17,10 @@
   onFeedback,
 }) => {
   return (
-    <div className='h-max basis-3/4'>
+    <div className='basis-3/4 h-max'>
       <Header result={content} showFeedback={showFeedback} feedback={feedback} onFeedback={onFeedback} />
       <div
-        className='mt-4 flex w-full overflow-scroll text-sm font-normal leading-5 text-gray-900'
+        className='mt-4 w-full flex text-sm leading-5 overflow-scroll font-normal text-gray-900'
         style={{
           maxHeight: '70vh',
         }}
diff --git a/app/components/share/text-generation/result/header.tsx b/app/components/share/text-generation/result/header.tsx
index 351b500..0233b09 100644
--- a/app/components/share/text-generation/result/header.tsx
+++ b/app/components/share/text-generation/result/header.tsx
@@ -24,8 +24,8 @@
 }) => {
   const { t } = useTranslation()
   return (
-    <div className='flex w-full items-center justify-between '>
-      <div className='text-2xl font-normal leading-4 text-gray-800'>{t('share.generation.resultTitle')}</div>
+    <div className='flex w-full justify-between items-center '>
+      <div className='text-gray-800 text-2xl leading-4 font-normal'>{t('share.generation.resultTitle')}</div>
       <div className='flex items-center space-x-2'>
         <Button
           className='h-7 p-[2px] pr-2'
@@ -35,8 +35,8 @@
           }}
         >
           <>
-            <ClipboardDocumentIcon className='mr-1 h-3 w-4 text-gray-500' />
-            <span className='text-xs leading-3 text-gray-500'>{t('share.generation.copy')}</span>
+            <ClipboardDocumentIcon className='text-gray-500 w-4 h-3 mr-1' />
+            <span className='text-gray-500 text-xs leading-3'>{t('share.generation.copy')}</span>
           </>
         </Button>
 
@@ -50,7 +50,7 @@
                   rating: null,
                 })
               }}
-              className='flex h-7 w-7 cursor-pointer items-center justify-center rounded-md  border border-primary-200 bg-primary-100 !text-primary-600 hover:border-primary-300 hover:bg-primary-200'>
+              className='flex w-7 h-7 items-center justify-center rounded-md cursor-pointer  !text-primary-600 border border-primary-200 bg-primary-100 hover:border-primary-300 hover:bg-primary-200'>
               <HandThumbUpIcon width={16} height={16} />
             </div>
           </Tooltip>
@@ -66,14 +66,14 @@
                   rating: null,
                 })
               }}
-              className='flex h-7 w-7 cursor-pointer items-center justify-center rounded-md  border border-red-200 bg-red-100 !text-red-600 hover:border-red-300 hover:bg-red-200'>
+              className='flex w-7 h-7 items-center justify-center rounded-md cursor-pointer  !text-red-600 border border-red-200 bg-red-100 hover:border-red-300 hover:bg-red-200'>
               <HandThumbDownIcon width={16} height={16} />
             </div>
           </Tooltip>
         )}
 
         {showFeedback && !feedback.rating && (
-          <div className='flex space-x-1 rounded-lg border border-gray-200 p-[1px]'>
+          <div className='flex rounded-lg border border-gray-200 p-[1px] space-x-1'>
             <Tooltip
               popupContent="Great Rating"
               needsDelay={false}
@@ -84,7 +84,7 @@
                     rating: 'like',
                   })
                 }}
-                className='flex h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-gray-100'>
+                className='flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-gray-100'>
                 <HandThumbUpIcon width={16} height={16} />
               </div>
             </Tooltip>
@@ -98,7 +98,7 @@
                     rating: 'dislike',
                   })
                 }}
-                className='flex h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-gray-100'>
+                className='flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-gray-100'>
                 <HandThumbDownIcon width={16} height={16} />
               </div>
             </Tooltip>
diff --git a/app/components/share/text-generation/result/index.tsx b/app/components/share/text-generation/result/index.tsx
index 97a3a77..cd4ed5d 100644
--- a/app/components/share/text-generation/result/index.tsx
+++ b/app/components/share/text-generation/result/index.tsx
@@ -4,6 +4,7 @@
 import { useBoolean } from 'ahooks'
 import { t } from 'i18next'
 import produce from 'immer'
+import cn from '@/utils/classnames'
 import TextGenerationRes from '@/app/components/app/text-generate/item'
 import NoData from '@/app/components/share/text-generation/no-data'
 import Toast from '@/app/components/base/toast'
@@ -12,6 +13,7 @@
 import Loading from '@/app/components/base/loading'
 import type { PromptConfig } from '@/models/debug'
 import type { InstalledApp } from '@/models/explore'
+import type { ModerationService } from '@/models/common'
 import { TransferMethod, type VisionFile, type VisionSettings } from '@/types/app'
 import { NodeRunningStatus, WorkflowRunningStatus } from '@/app/components/workflow/types'
 import type { WorkflowProcess } from '@/app/components/base/chat/types'
@@ -41,10 +43,11 @@
   handleSaveMessage: (messageId: string) => void
   taskId?: number
   onCompleted: (completionRes: string, taskId?: number, success?: boolean) => void
+  enableModeration?: boolean
+  moderationService?: (text: string) => ReturnType<ModerationService>
   visionConfig: VisionSettings
   completionFiles: VisionFile[]
   siteInfo: SiteInfo | null
-  onRunStart: () => void
 }
 
 const Result: FC<IResultProps> = ({
@@ -69,7 +72,6 @@
   visionConfig,
   completionFiles,
   siteInfo,
-  onRunStart,
 }) => {
   const [isResponding, { setTrue: setRespondingTrue, setFalse: setRespondingFalse }] = useBoolean(false)
   useEffect(() => {
@@ -181,10 +183,8 @@
     let res: string[] = []
     let tempMessageId = ''
 
-    if (!isPC) {
+    if (!isPC)
       onShowRes()
-      onRunStart()
-    }
 
     setRespondingTrue()
     let isEnd = false
@@ -218,7 +218,7 @@
                 ...data,
                 status: NodeRunningStatus.Running,
                 expand: true,
-              })
+              } as any)
             }))
           },
           onIterationNext: () => {
@@ -237,59 +237,24 @@
               draft.tracing[iterationsIndex] = {
                 ...data,
                 expand: !!data.error,
-              }
-            }))
-          },
-          onLoopStart: ({ data }) => {
-            setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => {
-              draft.expand = true
-              draft.tracing!.push({
-                ...data,
-                status: NodeRunningStatus.Running,
-                expand: true,
-              })
-            }))
-          },
-          onLoopNext: () => {
-            setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => {
-              draft.expand = true
-              const loops = draft.tracing.find(item => item.node_id === data.node_id
-                && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id))!
-              loops?.details!.push([])
-            }))
-          },
-          onLoopFinish: ({ data }) => {
-            setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => {
-              draft.expand = true
-              const loopsIndex = draft.tracing.findIndex(item => item.node_id === data.node_id
-                && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id))!
-              draft.tracing[loopsIndex] = {
-                ...data,
-                expand: !!data.error,
-              }
+              } as any
             }))
           },
           onNodeStarted: ({ data }) => {
             if (data.iteration_id)
               return
 
-            if (data.loop_id)
-              return
-
             setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => {
               draft.expand = true
               draft.tracing!.push({
                 ...data,
                 status: NodeRunningStatus.Running,
                 expand: true,
-              })
+              } as any)
             }))
           },
           onNodeFinished: ({ data }) => {
             if (data.iteration_id)
-              return
-
-            if (data.loop_id)
               return
 
             setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => {
@@ -302,7 +267,7 @@
                     : {}),
                   ...data,
                   expand: !!data.error,
-                }
+                } as any
               }
             }))
           },
@@ -410,6 +375,7 @@
     <TextGenerationRes
       isWorkflow={isWorkflow}
       workflowProcessData={workflowProcessData}
+      className='mt-3'
       isError={isError}
       onRetry={handleSend}
       content={completionRes}
@@ -432,11 +398,11 @@
   )
 
   return (
-    <>
+    <div className={cn(isNoData && !isCallBatchAPI && 'h-full')}>
       {!isCallBatchAPI && !isWorkflow && (
         (isResponding && !completionRes)
           ? (
-            <div className='flex h-full w-full items-center justify-center'>
+            <div className='flex h-full w-full justify-center items-center'>
               <Loading type='area' />
             </div>)
           : (
@@ -448,19 +414,25 @@
             </>
           )
       )}
-      {!isCallBatchAPI && isWorkflow && (
-        (isResponding && !workflowProcessData)
-          ? (
-            <div className='flex h-full w-full items-center justify-center'>
-              <Loading type='area' />
-            </div>
-          )
-          : !workflowProcessData
-            ? <NoData />
-            : renderTextGenerationRes()
+      {
+        !isCallBatchAPI && isWorkflow && (
+          (isResponding && !workflowProcessData)
+            ? (
+              <div className='flex h-full w-full justify-center items-center'>
+                <Loading type='area' />
+              </div>
+            )
+            : !workflowProcessData
+              ? <NoData />
+              : renderTextGenerationRes()
+        )
+      }
+      {isCallBatchAPI && (
+        <div className='mt-2'>
+          {renderTextGenerationRes()}
+        </div>
       )}
-      {isCallBatchAPI && renderTextGenerationRes()}
-    </>
+    </div>
   )
 }
 export default React.memo(Result)
diff --git a/app/components/share/text-generation/run-batch/csv-download/index.tsx b/app/components/share/text-generation/run-batch/csv-download/index.tsx
index 54a5a6d..2d50725 100644
--- a/app/components/share/text-generation/run-batch/csv-download/index.tsx
+++ b/app/components/share/text-generation/run-batch/csv-download/index.tsx
@@ -27,17 +27,17 @@
 
   return (
     <div className='mt-6'>
-      <div className='system-sm-medium text-text-primary'>{t('share.generation.csvStructureTitle')}</div>
+      <div className='text-sm text-gray-900 font-medium'>{t('share.generation.csvStructureTitle')}</div>
       <div className='mt-2 max-h-[500px] overflow-auto'>
-        <table className='w-full table-fixed border-separate border-spacing-0 rounded-lg border border-divider-regular text-xs'>
-          <thead className='text-text-tertiary'>
+        <table className='w-full border-separate border-spacing-0 border border-gray-200 rounded-lg text-xs'>
+          <thead className='text-gray-500'>
             <tr>
               {addQueryContentVars.map((item, i) => (
-                <td key={i} className='h-9 border-b border-divider-regular pl-3 pr-2'>{item.name}</td>
+                <td key={i} className='h-9 pl-4 border-b border-gray-200'>{item.name}</td>
               ))}
             </tr>
           </thead>
-          <tbody className='text-text-secondary'>
+          <tbody className='text-gray-300'>
             <tr>
               {addQueryContentVars.map((item, i) => (
                 <td key={i} className='h-9 pl-4'>{item.name} {t('share.generation.field')}</td>
@@ -47,7 +47,7 @@
         </table>
       </div>
       <CSVDownloader
-        className="mt-2 block cursor-pointer"
+        className="block mt-2 cursor-pointer"
         type={Type.Link}
         filename={'template'}
         bom={true}
@@ -58,8 +58,8 @@
           template,
         ]}
       >
-        <div className='system-xs-medium flex h-[18px] items-center space-x-1 text-text-accent'>
-          <DownloadIcon className='h-3 w-3' />
+        <div className='flex items-center h-[18px] space-x-1 text-[#155EEF] text-xs font-medium'>
+          <DownloadIcon className='w-3 h-3' />
           <span>{t('share.generation.downloadTemplate')}</span>
         </div>
       </CSVDownloader>
diff --git a/app/components/share/text-generation/run-batch/csv-reader/index.tsx b/app/components/share/text-generation/run-batch/csv-reader/index.tsx
index c19ec21..ac51bca 100644
--- a/app/components/share/text-generation/run-batch/csv-reader/index.tsx
+++ b/app/components/share/text-generation/run-batch/csv-reader/index.tsx
@@ -5,6 +5,7 @@
   useCSVReader,
 } from 'react-papaparse'
 import { useTranslation } from 'react-i18next'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import { Csv as CSVIcon } from '@/app/components/base/icons/src/public/files'
 
@@ -40,27 +41,23 @@
         <>
           <div
             {...getRootProps()}
-            className={cn(
-              'system-sm-regular flex h-20 items-center rounded-xl border border-dashed border-components-dropzone-border bg-components-dropzone-bg',
-              acceptedFile && 'border-solid border-components-panel-border bg-components-panel-on-panel-item-bg px-6 hover:border-components-panel-bg-blur hover:bg-components-panel-on-panel-item-bg-hover',
-              zoneHover && 'border border-components-dropzone-border-accent bg-components-dropzone-bg-accent',
-            )}
+            className={cn(s.zone, zoneHover && s.zoneHover, acceptedFile ? 'px-6' : 'justify-center border-dashed text-gray-500')}
           >
             {
               acceptedFile
                 ? (
-                  <div className='flex w-full items-center space-x-2'>
+                  <div className='w-full flex items-center space-x-2'>
                     <CSVIcon className="shrink-0" />
                     <div className='flex w-0 grow'>
-                      <span className='max-w-[calc(100%_-_30px)] truncate text-text-secondary'>{acceptedFile.name.replace(/.csv$/, '')}</span>
-                      <span className='shrink-0 text-text-tertiary'>.csv</span>
+                      <span className='max-w-[calc(100%_-_30px)] text-ellipsis whitespace-nowrap overflow-hidden text-gray-800'>{acceptedFile.name.replace(/.csv$/, '')}</span>
+                      <span className='shrink-0 text-gray-500'>.csv</span>
                     </div>
                   </div>
                 )
                 : (
-                  <div className='flex w-full items-center justify-center space-x-2'>
+                  <div className='flex items-center justify-center space-x-2'>
                     <CSVIcon className="shrink-0" />
-                    <div className='text-text-tertiary'>{t('share.generation.csvUploadTitle')}<span className='cursor-pointer text-text-accent'>{t('share.generation.browse')}</span></div>
+                    <div className='text-gray-500'>{t('share.generation.csvUploadTitle')}<span className='text-primary-400'>{t('share.generation.browse')}</span></div>
                   </div>
                 )}
           </div>
diff --git a/app/components/share/text-generation/run-batch/csv-reader/style.module.css b/app/components/share/text-generation/run-batch/csv-reader/style.module.css
new file mode 100644
index 0000000..ff0b6aa
--- /dev/null
+++ b/app/components/share/text-generation/run-batch/csv-reader/style.module.css
@@ -0,0 +1,11 @@
+.zone {
+    @apply flex items-center h-20 rounded-xl bg-gray-50 border border-gray-200 cursor-pointer text-sm font-normal;
+}
+
+.zoneHover {
+    @apply border-solid bg-gray-100;
+}
+
+.info {
+    @apply text-gray-800 text-sm;
+}
\ No newline at end of file
diff --git a/app/components/share/text-generation/run-batch/index.tsx b/app/components/share/text-generation/run-batch/index.tsx
index eaaa31f..2a632f9 100644
--- a/app/components/share/text-generation/run-batch/index.tsx
+++ b/app/components/share/text-generation/run-batch/index.tsx
@@ -1,16 +1,17 @@
 'use client'
 import type { FC } from 'react'
 import React from 'react'
+import {
+  PlayIcon,
+} from '@heroicons/react/24/solid'
 import { useTranslation } from 'react-i18next'
 import {
   RiLoader2Line,
-  RiPlayLargeLine,
 } from '@remixicon/react'
 import CSVReader from './csv-reader'
 import CSVDownload from './csv-download'
-import Button from '@/app/components/base/button'
-import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 import cn from '@/utils/classnames'
+import Button from '@/app/components/base/button'
 export type IRunBatchProps = {
   vars: { name: string }[]
   onSend: (data: string[][]) => void
@@ -23,8 +24,6 @@
   isAllFinished,
 }) => {
   const { t } = useTranslation()
-  const media = useBreakpoints()
-  const isPC = media === MediaType.pc
 
   const [csvData, setCsvData] = React.useState<string[][]>([])
   const [isParsed, setIsParsed] = React.useState(false)
@@ -37,20 +36,21 @@
   const handleSend = () => {
     onSend(csvData)
   }
-  const Icon = isAllFinished ? RiPlayLargeLine : RiLoader2Line
+  const Icon = isAllFinished ? PlayIcon : RiLoader2Line
   return (
     <div className='pt-4'>
       <CSVReader onParsed={handleParsed} />
       <CSVDownload vars={vars} />
+      <div className='mt-4 h-[1px] bg-gray-100'></div>
       <div className='flex justify-end'>
         <Button
           variant="primary"
-          className={cn('mt-4 pl-3 pr-4', !isPC && 'grow')}
+          className='mt-4 pl-3 pr-4'
           onClick={handleSend}
           disabled={!isParsed || !isAllFinished}
         >
-          <Icon className={cn(!isAllFinished && 'animate-spin', 'mr-1 h-4 w-4 shrink-0')} aria-hidden="true" />
-          <span className='text-[13px] uppercase'>{t('share.generation.run')}</span>
+          <Icon className={cn(!isAllFinished && 'animate-spin', 'shrink-0 w-4 h-4 mr-1')} aria-hidden="true" />
+          <span className='uppercase text-[13px]'>{t('share.generation.run')}</span>
         </Button>
       </div>
     </div>
diff --git a/app/components/share/text-generation/run-batch/res-download/index.tsx b/app/components/share/text-generation/run-batch/res-download/index.tsx
index 8915cfe..f835ff7 100644
--- a/app/components/share/text-generation/run-batch/res-download/index.tsx
+++ b/app/components/share/text-generation/run-batch/res-download/index.tsx
@@ -1,15 +1,13 @@
 'use client'
 import type { FC } from 'react'
 import React from 'react'
-import { RiDownloadLine } from '@remixicon/react'
 import {
   useCSVDownloader,
 } from 'react-papaparse'
 import { useTranslation } from 'react-i18next'
-import ActionButton from '@/app/components/base/action-button'
-import Button from '@/app/components/base/button'
 import cn from '@/utils/classnames'
-
+import { Download02 as DownloadIcon } from '@/app/components/base/icons/src/vender/solid/general'
+import Button from '@/app/components/base/button'
 export type IResDownloadProps = {
   isMobile: boolean
   values: Record<string, string>[]
@@ -33,17 +31,10 @@
       }}
       data={values}
     >
-      {isMobile && (
-        <ActionButton>
-          <RiDownloadLine className='h-4 w-4' />
-        </ActionButton>
-      )}
-      {!isMobile && (
-        <Button className={cn('space-x-1')}>
-          <RiDownloadLine className='h-4 w-4' />
-          <span>{t('common.operation.download')}</span>
-        </Button>
-      )}
+      <Button className={cn('space-x-2 bg-white', isMobile ? '!p-0 !w-8 justify-center' : '')}>
+        <DownloadIcon className='w-4 h-4 text-[#155EEF]' />
+        {!isMobile && <span className='text-[#155EEF]'>{t('common.operation.download')}</span>}
+      </Button>
     </CSVDownloader>
   )
 }
diff --git a/app/components/share/text-generation/run-once/index.tsx b/app/components/share/text-generation/run-once/index.tsx
index 546b21d..f46713a 100644
--- a/app/components/share/text-generation/run-once/index.tsx
+++ b/app/components/share/text-generation/run-once/index.tsx
@@ -1,23 +1,19 @@
-import type { ChangeEvent, FC, FormEvent } from 'react'
-import { useEffect } from 'react'
+import type { FC, FormEvent } from 'react'
 import React, { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
 import {
-  RiPlayLargeLine,
-} from '@remixicon/react'
+  PlayIcon,
+} from '@heroicons/react/24/solid'
 import Select from '@/app/components/base/select'
 import type { SiteInfo } from '@/models/share'
 import type { PromptConfig } from '@/models/debug'
 import Button from '@/app/components/base/button'
 import Textarea from '@/app/components/base/textarea'
-import Input from '@/app/components/base/input'
 import { DEFAULT_VALUE_MAX_LEN } from '@/config'
 import TextGenerationImageUploader from '@/app/components/base/image-uploader/text-generation-image-uploader'
 import type { VisionFile, VisionSettings } from '@/types/app'
 import { FileUploaderInAttachmentWrapper } from '@/app/components/base/file-uploader'
 import { getProcessedFiles } from '@/app/components/base/file-uploader/utils'
-import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
-import cn from '@/utils/classnames'
 
 export type IRunOnceProps = {
   siteInfo: SiteInfo
@@ -39,16 +35,11 @@
   onVisionFilesChange,
 }) => {
   const { t } = useTranslation()
-  const media = useBreakpoints()
-  const isPC = media === MediaType.pc
 
   const onClear = () => {
     const newInputs: Record<string, any> = {}
     promptConfig.prompt_variables.forEach((item) => {
-      if (item.type === 'string' || item.type === 'paragraph')
-        newInputs[item.key] = ''
-      else
-        newInputs[item.key] = undefined
+      newInputs[item.key] = ''
     })
     onInputsChange(newInputs)
   }
@@ -63,87 +54,78 @@
     inputsRef.current = newInputs
   }, [onInputsChange, inputsRef])
 
-  useEffect(() => {
-    const newInputs: Record<string, any> = {}
-    promptConfig.prompt_variables.forEach((item) => {
-      if (item.type === 'string' || item.type === 'paragraph')
-        newInputs[item.key] = ''
-      else
-        newInputs[item.key] = undefined
-    })
-    onInputsChange(newInputs)
-  }, [promptConfig.prompt_variables, onInputsChange])
-
   return (
     <div className="">
       <section>
         {/* input form */}
         <form onSubmit={onSubmit}>
-          {(inputs === null || inputs === undefined || Object.keys(inputs).length === 0) ? null
-            : promptConfig.prompt_variables.map(item => (
-              <div className='mt-4 w-full' key={item.key}>
-                <label className='system-md-semibold flex h-6 items-center text-text-secondary'>{item.name}</label>
-                <div className='mt-1'>
-                  {item.type === 'select' && (
-                    <Select
-                      className='w-full'
-                      defaultValue={inputs[item.key]}
-                      onSelect={(i) => { handleInputsChange({ ...inputsRef.current, [item.key]: i.value }) }}
-                      items={(item.options || []).map(i => ({ name: i, value: i }))}
-                      allowSearch={false}
-                    />
-                  )}
-                  {item.type === 'string' && (
-                    <Input
-                      type="text"
-                      placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
-                      value={inputs[item.key]}
-                      onChange={(e: ChangeEvent<HTMLInputElement>) => { handleInputsChange({ ...inputsRef.current, [item.key]: e.target.value }) }}
-                      maxLength={item.max_length || DEFAULT_VALUE_MAX_LEN}
-                    />
-                  )}
-                  {item.type === 'paragraph' && (
-                    <Textarea
-                      className='h-[104px] sm:text-xs'
-                      placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
-                      value={inputs[item.key]}
-                      onChange={(e: ChangeEvent<HTMLInputElement>) => { handleInputsChange({ ...inputsRef.current, [item.key]: e.target.value }) }}
-                    />
-                  )}
-                  {item.type === 'number' && (
-                    <Input
-                      type="number"
-                      placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
-                      value={inputs[item.key]}
-                      onChange={(e: ChangeEvent<HTMLInputElement>) => { handleInputsChange({ ...inputsRef.current, [item.key]: e.target.value }) }}
-                    />
-                  )}
-                  {item.type === 'file' && (
-                    <FileUploaderInAttachmentWrapper
-                      onChange={(files) => { handleInputsChange({ ...inputsRef.current, [item.key]: getProcessedFiles(files)[0] }) }}
-                      fileConfig={{
-                        ...item.config,
-                        fileUploadConfig: (visionConfig as any).fileUploadConfig,
-                      }}
-                    />
-                  )}
-                  {item.type === 'file-list' && (
-                    <FileUploaderInAttachmentWrapper
-                      onChange={(files) => { handleInputsChange({ ...inputsRef.current, [item.key]: getProcessedFiles(files) }) }}
-                      fileConfig={{
-                        ...item.config,
-                        fileUploadConfig: (visionConfig as any).fileUploadConfig,
-                      }}
-                    />
-                  )}
-                </div>
+          {promptConfig.prompt_variables.map(item => (
+            <div className='w-full mt-4' key={item.key}>
+              <label className='text-gray-900 text-sm font-medium'>{item.name}</label>
+              <div className='mt-2'>
+                {item.type === 'select' && (
+                  <Select
+                    className='w-full'
+                    defaultValue={inputs[item.key]}
+                    onSelect={(i) => { handleInputsChange({ ...inputsRef.current, [item.key]: i.value }) }}
+                    items={(item.options || []).map(i => ({ name: i, value: i }))}
+                    allowSearch={false}
+                    bgClassName='bg-gray-50'
+                  />
+                )}
+                {item.type === 'string' && (
+                  <input
+                    type="text"
+                    className="block w-full p-2 text-gray-900 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 "
+                    placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+                    value={inputs[item.key]}
+                    onChange={(e) => { handleInputsChange({ ...inputsRef.current, [item.key]: e.target.value }) }}
+                    maxLength={item.max_length || DEFAULT_VALUE_MAX_LEN}
+                  />
+                )}
+                {item.type === 'paragraph' && (
+                  <Textarea
+                    className='h-[104px] sm:text-xs'
+                    placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+                    value={inputs[item.key]}
+                    onChange={(e) => { handleInputsChange({ ...inputsRef.current, [item.key]: e.target.value }) }}
+                  />
+                )}
+                {item.type === 'number' && (
+                  <input
+                    type="number"
+                    className="block w-full p-2 text-gray-900 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 "
+                    placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
+                    value={inputs[item.key]}
+                    onChange={(e) => { handleInputsChange({ ...inputsRef.current, [item.key]: e.target.value }) }}
+                  />
+                )}
+                {item.type === 'file' && (
+                  <FileUploaderInAttachmentWrapper
+                    onChange={(files) => { handleInputsChange({ ...inputsRef.current, [item.key]: getProcessedFiles(files)[0] }) }}
+                    fileConfig={{
+                      ...item.config,
+                      fileUploadConfig: (visionConfig as any).fileUploadConfig,
+                    }}
+                  />
+                )}
+                {item.type === 'file-list' && (
+                  <FileUploaderInAttachmentWrapper
+                    onChange={(files) => { handleInputsChange({ ...inputsRef.current, [item.key]: getProcessedFiles(files) }) }}
+                    fileConfig={{
+                      ...item.config,
+                      fileUploadConfig: (visionConfig as any).fileUploadConfig,
+                    }}
+                  />
+                )}
               </div>
-            ))}
+            </div>
+          ))}
           {
             visionConfig?.enabled && (
-              <div className="mt-4 w-full">
-                <div className="system-md-semibold flex h-6 items-center text-text-secondary">{t('common.imageUploader.imageUpload')}</div>
-                <div className='mt-1'>
+              <div className="w-full mt-4">
+                <div className="text-gray-900 text-sm font-medium">{t('common.imageUploader.imageUpload')}</div>
+                <div className='mt-2'>
                   <TextGenerationImageUploader
                     settings={visionConfig}
                     onFilesChange={files => onVisionFilesChange(files.filter(file => file.progress !== -1).map(fileItem => ({
@@ -157,8 +139,11 @@
               </div>
             )
           }
-          <div className='mb-3 mt-6 w-full'>
-            <div className="flex items-center justify-between gap-2">
+          {promptConfig.prompt_variables.length > 0 && (
+            <div className='mt-4 h-[1px] bg-gray-100'></div>
+          )}
+          <div className='w-full mt-4'>
+            <div className="flex items-center justify-between">
               <Button
                 onClick={onClear}
                 disabled={false}
@@ -166,12 +151,11 @@
                 <span className='text-[13px]'>{t('common.operation.clear')}</span>
               </Button>
               <Button
-                className={cn(!isPC && 'grow')}
                 type='submit'
                 variant="primary"
                 disabled={false}
               >
-                <RiPlayLargeLine className="mr-1 h-4 w-4 shrink-0" aria-hidden="true" />
+                <PlayIcon className="shrink-0 w-4 h-4 mr-1" aria-hidden="true" />
                 <span className='text-[13px]'>{t('share.generation.run')}</span>
               </Button>
             </div>
diff --git a/app/components/share/text-generation/style.module.css b/app/components/share/text-generation/style.module.css
new file mode 100644
index 0000000..5402e2b
--- /dev/null
+++ b/app/components/share/text-generation/style.module.css
@@ -0,0 +1,12 @@
+.installedApp {
+  height: 100%;
+  border-radius: 16px;
+  box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);
+}
+
+.starIcon {
+  width: 16px;
+  height: 16px;
+  background: url(./icons/star.svg) center center no-repeat;
+  background-size: contain;
+}
\ No newline at end of file
diff --git a/app/components/share/utils.ts b/app/components/share/utils.ts
index 9ce891a..5a41523 100644
--- a/app/components/share/utils.ts
+++ b/app/components/share/utils.ts
@@ -1,70 +1,48 @@
 import { CONVERSATION_ID_INFO } from '../base/chat/constants'
 import { fetchAccessToken } from '@/service/share'
-import { getProcessedSystemVariablesFromUrlParams } from '../base/chat/utils'
-
-export const isTokenV1 = (token: Record<string, any>) => {
-  return !token.version
-}
-
-export const getInitialTokenV2 = (): Record<string, any> => ({
-  version: 2,
-})
 
 export const checkOrSetAccessToken = async () => {
   const sharedToken = globalThis.location.pathname.split('/').slice(-1)[0]
-  const userId = (await getProcessedSystemVariablesFromUrlParams()).user_id
-  const accessToken = localStorage.getItem('token') || JSON.stringify(getInitialTokenV2())
-  let accessTokenJson = getInitialTokenV2()
+  const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' })
+  let accessTokenJson = { [sharedToken]: '' }
   try {
     accessTokenJson = JSON.parse(accessToken)
-    if (isTokenV1(accessTokenJson))
-      accessTokenJson = getInitialTokenV2()
   }
-  catch {
+  catch (e) {
 
   }
-  if (!accessTokenJson[sharedToken]?.[userId || 'DEFAULT']) {
-    const res = await fetchAccessToken(sharedToken, userId)
-    accessTokenJson[sharedToken] = {
-      ...accessTokenJson[sharedToken],
-      [userId || 'DEFAULT']: res.access_token,
-    }
+  if (!accessTokenJson[sharedToken]) {
+    const res = await fetchAccessToken(sharedToken)
+    accessTokenJson[sharedToken] = res.access_token
     localStorage.setItem('token', JSON.stringify(accessTokenJson))
   }
 }
 
-export const setAccessToken = async (sharedToken: string, token: string, user_id?: string) => {
-  const accessToken = localStorage.getItem('token') || JSON.stringify(getInitialTokenV2())
-  let accessTokenJson = getInitialTokenV2()
+export const setAccessToken = async (sharedToken: string, token: string) => {
+  const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' })
+  let accessTokenJson = { [sharedToken]: '' }
   try {
     accessTokenJson = JSON.parse(accessToken)
-    if (isTokenV1(accessTokenJson))
-      accessTokenJson = getInitialTokenV2()
   }
-  catch {
+  catch (e) {
 
   }
 
   localStorage.removeItem(CONVERSATION_ID_INFO)
 
-  accessTokenJson[sharedToken] = {
-    ...accessTokenJson[sharedToken],
-    [user_id || 'DEFAULT']: token,
-  }
+  accessTokenJson[sharedToken] = token
   localStorage.setItem('token', JSON.stringify(accessTokenJson))
 }
 
 export const removeAccessToken = () => {
   const sharedToken = globalThis.location.pathname.split('/').slice(-1)[0]
 
-  const accessToken = localStorage.getItem('token') || JSON.stringify(getInitialTokenV2())
-  let accessTokenJson = getInitialTokenV2()
+  const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' })
+  let accessTokenJson = { [sharedToken]: '' }
   try {
     accessTokenJson = JSON.parse(accessToken)
-    if (isTokenV1(accessTokenJson))
-      accessTokenJson = getInitialTokenV2()
   }
-  catch {
+  catch (e) {
 
   }
 
diff --git a/app/components/signin/countdown.tsx b/app/components/signin/countdown.tsx
index 5fd6a29..6282480 100644
--- a/app/components/signin/countdown.tsx
+++ b/app/components/signin/countdown.tsx
@@ -35,7 +35,7 @@
     <span>{t('login.checkCode.didNotReceiveCode')}</span>
     {time > 0 && <span>{Math.round(time / 1000)}s</span>}
     {
-      time <= 0 && <span className='system-xs-medium cursor-pointer text-text-accent-secondary' onClick={resend}>{t('login.checkCode.resend')}</span>
+      time <= 0 && <span className='system-xs-medium text-text-accent-secondary cursor-pointer' onClick={resend}>{t('login.checkCode.resend')}</span>
     }
   </p>
 }
diff --git a/app/components/swr-initor.tsx b/app/components/swr-initor.tsx
index 8f9c5b4..2a119df 100644
--- a/app/components/swr-initor.tsx
+++ b/app/components/swr-initor.tsx
@@ -5,10 +5,6 @@
 import type { ReactNode } from 'react'
 import { usePathname, useRouter, useSearchParams } from 'next/navigation'
 import { fetchSetupStatus } from '@/service/common'
-import {
-  EDUCATION_VERIFYING_LOCALSTORAGE_ITEM,
-  EDUCATION_VERIFY_URL_SEARCHPARAMS_ACTION,
-} from '@/app/education-apply/constants'
 
 type SwrInitorProps = {
   children: ReactNode
@@ -45,11 +41,6 @@
 
   useEffect(() => {
     (async () => {
-      const action = searchParams.get('action')
-
-      if (action === EDUCATION_VERIFY_URL_SEARCHPARAMS_ACTION)
-        localStorage.setItem(EDUCATION_VERIFYING_LOCALSTORAGE_ITEM, 'yes')
-
       try {
         const isFinished = await isSetupFinished()
         if (!isFinished) {
@@ -68,7 +59,7 @@
 
         setInit(true)
       }
-      catch {
+      catch (error) {
         router.replace('/signin')
       }
     })()
diff --git a/app/components/tools/add-tool-modal/category.tsx b/app/components/tools/add-tool-modal/category.tsx
index bfad270..a18c30a 100644
--- a/app/components/tools/add-tool-modal/category.tsx
+++ b/app/components/tools/add-tool-modal/category.tsx
@@ -29,7 +29,7 @@
     if (svgRef.current && svgElement)
       svgRef.current.appendChild(svgElement)
   })
-  return <svg className={cn('h-4 w-4 text-gray-700', active && '!text-primary-600')} ref={svgRef} />
+  return <svg className={cn('w-4 h-4 text-gray-700', active && '!text-primary-600')} ref={svgRef} />
 }
 
 const Category = ({
@@ -50,14 +50,14 @@
 
   return (
     <div className='mb-3'>
-      <div className='px-3 py-0.5 text-xs font-medium leading-[18px] text-gray-500'>{t('tools.addToolModal.category').toLocaleUpperCase()}</div>
-      <div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 text-gray-700 hover:bg-white', value === '' && '!bg-white font-medium !text-primary-600')} onClick={() => onSelect('')}>
-        <Apps02 className='mr-2 h-4 w-4 shrink-0' />
+      <div className='px-3 py-0.5 text-gray-500 text-xs leading-[18px] font-medium'>{t('tools.addToolModal.category').toLocaleUpperCase()}</div>
+      <div className={cn('mb-0.5 p-1 pl-3 flex items-center cursor-pointer text-gray-700 text-sm leading-5 rounded-lg hover:bg-white', value === '' && '!bg-white !text-primary-600 font-medium')} onClick={() => onSelect('')}>
+        <Apps02 className='shrink-0 w-4 h-4 mr-2' />
         {t('tools.type.all')}
       </div>
       {labelList.map(label => (
-        <div key={label.name} title={label.label[language]} className={cn('mb-0.5 flex cursor-pointer items-center overflow-hidden truncate rounded-lg p-1 pl-3 text-sm leading-5 text-gray-700 hover:bg-white', value === label.name && '!bg-white font-medium !text-primary-600')} onClick={() => onSelect(label.name)}>
-          <div className='mr-2 h-4 w-4 shrink-0'>
+        <div key={label.name} title={label.label[language]} className={cn('mb-0.5 p-1 pl-3 flex items-center cursor-pointer text-gray-700 text-sm leading-5 rounded-lg hover:bg-white truncate overflow-hidden', value === label.name && '!bg-white !text-primary-600 font-medium')} onClick={() => onSelect(label.name)}>
+          <div className='shrink-0 w-4 h-4 mr-2'>
             <Icon active={value === label.name} svgString={label.icon} />
           </div>
           {label.label[language]}
diff --git a/app/components/tools/add-tool-modal/empty.tsx b/app/components/tools/add-tool-modal/empty.tsx
index 540d263..794d2a5 100644
--- a/app/components/tools/add-tool-modal/empty.tsx
+++ b/app/components/tools/add-tool-modal/empty.tsx
@@ -7,11 +7,11 @@
 
   return (
     <div className='flex flex-col items-center'>
-      <div className="h-[149px] w-[163px] shrink-0 bg-[url('~@/app/components/tools/add-tool-modal/empty.png')] bg-cover bg-no-repeat"></div>
-      <div className='mb-1 text-[13px] font-medium leading-[18px] text-text-primary'>
+      <div className="shrink-0 w-[163px] h-[149px] bg-cover bg-no-repeat bg-[url('~@/app/components/tools/add-tool-modal/empty.png')]"></div>
+      <div className='mb-1 text-[13px] font-medium text-text-primary leading-[18px]'>
         {t(`tools.addToolModal.${searchParams.get('category') === 'workflow' ? 'emptyTitle' : 'emptyTitleCustom'}`)}
       </div>
-      <div className='text-[13px] leading-[18px] text-text-tertiary'>
+      <div className='text-[13px] text-text-tertiary leading-[18px]'>
         {t(`tools.addToolModal.${searchParams.get('category') === 'workflow' ? 'emptyTip' : 'emptyTipCustom'}`)}
       </div>
     </div>
diff --git a/app/components/tools/add-tool-modal/index.tsx b/app/components/tools/add-tool-modal/index.tsx
index c45313f..f792012 100644
--- a/app/components/tools/add-tool-modal/index.tsx
+++ b/app/components/tools/add-tool-modal/index.tsx
@@ -14,7 +14,6 @@
 import Category from './category'
 import Tools from './tools'
 import cn from '@/utils/classnames'
-import { basePath } from '@/utils/var'
 import I18n from '@/context/i18n'
 import Drawer from '@/app/components/base/drawer'
 import Button from '@/app/components/base/button'
@@ -58,12 +57,6 @@
   const getAllTools = async () => {
     setListLoading(true)
     const buildInTools = await fetchAllBuiltInTools()
-    if (basePath) {
-      buildInTools.forEach((item) => {
-        if (typeof item.icon == 'string' && !item.icon.includes(basePath))
-          item.icon = `${basePath}${item.icon}`
-      })
-    }
     const customTools = await fetchAllCustomTools()
     const workflowTools = await fetchAllWorkflowTools()
     const mergedToolList = [
@@ -178,20 +171,20 @@
         clickOutsideNotOpen
         onClose={onHide}
         footer={null}
-        panelClassName={cn('mx-2 mb-3 mt-16 rounded-xl !p-0 sm:mr-2', 'mt-2 !w-[640px]', '!max-w-[640px]')}
+        panelClassname={cn('mt-16 mx-2 sm:mr-2 mb-3 !p-0 rounded-xl', 'mt-2 !w-[640px]', '!max-w-[640px]')}
       >
         <div
-          className='flex w-full rounded-xl border-[0.5px] border-gray-200 bg-white shadow-xl'
+          className='w-full flex bg-white border-[0.5px] border-gray-200 rounded-xl shadow-xl'
           style={{
             height: 'calc(100vh - 16px)',
           }}
         >
-          <div className='relative w-[200px] shrink-0 overflow-y-auto rounded-l-xl border-r-[0.5px] border-black/2 bg-gray-100 pb-3'>
-            <div className='sticky left-0 right-0 top-0'>
-              <div className='text-md sticky left-0 right-0 top-0 px-5 py-3 font-semibold text-gray-900'>{t('tools.addTool')}</div>
-              <div className='px-3 pb-4 pt-2'>
+          <div className='relative shrink-0 w-[200px] pb-3 bg-gray-100 rounded-l-xl border-r-[0.5px] border-black/2 overflow-y-auto'>
+            <div className='sticky top-0 left-0 right-0'>
+              <div className='sticky top-0 left-0 right-0 px-5 py-3 text-md font-semibold text-gray-900'>{t('tools.addTool')}</div>
+              <div className='px-3 pt-2 pb-4'>
                 <Button variant='primary' className='w-[176px]' onClick={() => setIsShowEditCustomCollectionModal(true)}>
-                  <RiAddLine className='mr-1 h-4 w-4' />
+                  <RiAddLine className='w-4 h-4 mr-1' />
                   {t('tools.createCustomTool')}
                 </Button>
               </div>
@@ -201,8 +194,8 @@
               <Category value={currentCategory} onSelect={setCurrentCategory} />
             </div>
           </div>
-          <div className='relative grow overflow-y-auto rounded-r-xl bg-white'>
-            <div className='sticky left-0 right-0 top-0 z-10 flex items-center gap-1 bg-white p-2'>
+          <div className='relative grow bg-white rounded-r-xl overflow-y-auto'>
+            <div className='z-10 sticky top-0 left-0 right-0 p-2 flex items-center gap-1 bg-white'>
               <div className='grow'>
                 <Input
                   showLeftIcon
@@ -212,9 +205,9 @@
                   onClear={() => handleKeywordsChange('')}
                 />
               </div>
-              <div className='ml-2 mr-1 h-4 w-[1px] bg-gray-200'></div>
-              <div className='cursor-pointer p-2' onClick={onHide}>
-                <RiCloseLine className='h-4 w-4 text-gray-500' />
+              <div className='ml-2 mr-1 w-[1px] h-4 bg-gray-200'></div>
+              <div className='p-2 cursor-pointer' onClick={onHide}>
+                <RiCloseLine className='w-4 h-4 text-gray-500' />
               </div>
             </div>
             {listLoading && (
diff --git a/app/components/tools/add-tool-modal/tools.tsx b/app/components/tools/add-tool-modal/tools.tsx
index 4cf0fb7..f6080a1 100644
--- a/app/components/tools/add-tool-modal/tools.tsx
+++ b/app/components/tools/add-tool-modal/tools.tsx
@@ -2,7 +2,6 @@
   memo,
   useCallback,
 } from 'react'
-import Link from 'next/link'
 import { useTranslation } from 'react-i18next'
 import {
   RiAddLine,
@@ -52,9 +51,9 @@
         key={toolWithProvider.id}
         className='group mb-1 last-of-type:mb-0'
       >
-        <div className='flex h-[22px] w-full items-center justify-between pl-3 pr-1 text-xs font-medium text-gray-500'>
+        <div className='flex items-center justify-between w-full pl-3 pr-1 h-[22px] text-xs font-medium text-gray-500'>
           {toolWithProvider.label[language]}
-          <Link className='hidden cursor-pointer items-center group-hover:flex' href={`/tools?category=${toolWithProvider.type}`} target='_blank'>{t('tools.addToolModal.manageInTools')}<ArrowUpRight className='ml-0.5 h-3 w-3' /></Link>
+          <a className='hidden cursor-pointer items-center group-hover:flex' href={`/tools?category=${toolWithProvider.type}`} target='_blank'>{t('tools.addToolModal.manageInTools')}<ArrowUpRight className='ml-0.5 w-3 h-3' /></a>
         </div>
         {list.map((tool) => {
           const labelContent = (() => {
@@ -80,28 +79,28 @@
                     toolIcon={toolWithProvider.icon}
                   />
                   <div className='mb-1 text-sm leading-5 text-gray-900'>{tool.label[language]}</div>
-                  <div className='text-xs leading-[18px] text-gray-700'>{tool.description[language]}</div>
+                  <div className='text-xs text-gray-700 leading-[18px]'>{tool.description[language]}</div>
                   {tool.labels?.length > 0 && (
-                    <div className='mt-1 flex shrink-0 items-center'>
-                      <div className='relative flex w-full items-center gap-1 rounded-md py-1 text-gray-500' title={labelContent}>
-                        <Tag01 className='h-3 w-3 shrink-0 text-gray-500' />
-                        <div className='grow truncate text-start text-xs font-normal leading-[18px]'>{labelContent}</div>
+                    <div className='flex items-center shrink-0 mt-1'>
+                      <div className='relative w-full flex items-center gap-1 py-1 rounded-md text-gray-500' title={labelContent}>
+                        <Tag01 className='shrink-0 w-3 h-3 text-gray-500' />
+                        <div className='grow text-xs text-start leading-[18px] font-normal truncate'>{labelContent}</div>
                       </div>
                     </div>
                   )}
                 </div>
               )}
             >
-              <div className='group/item flex h-8 w-full cursor-pointer items-center rounded-lg pl-3 pr-1 hover:bg-gray-50'>
+              <div className='group/item flex items-center w-full pl-3 pr-1 h-8 rounded-lg hover:bg-gray-50 cursor-pointer'>
                 <BlockIcon
                   className={cn('mr-2 shrink-0', needAuth && 'opacity-30')}
                   type={BlockEnum.Tool}
                   toolIcon={toolWithProvider.icon}
                 />
-                <div className={cn('grow truncate text-sm text-gray-900', needAuth && 'opacity-30')}>{tool.label[language]}</div>
+                <div className={cn('grow text-sm text-gray-900 truncate', needAuth && 'opacity-30')}>{tool.label[language]}</div>
                 {!needAuth && added && (
-                  <div className='flex items-center gap-1 rounded-[6px] border border-gray-100 bg-white px-2 py-[3px] text-xs font-medium leading-[18px] text-gray-300'>
-                    <Check className='h-3 w-3' />
+                  <div className='flex items-center gap-1 rounded-[6px] border border-gray-100 px-2 py-[3px] bg-white text-gray-300 text-xs font-medium leading-[18px]'>
+                    <Check className='w-3 h-3' />
                     {t('tools.addToolModal.added').toLocaleUpperCase()}
                   </div>
                 )}
@@ -112,7 +111,7 @@
                     className={cn('hidden shrink-0 items-center group-hover/item:flex')}
                     onClick={() => onSelect(toolWithProvider, tool)}
                   >
-                    <RiAddLine className='h-3 w-3' />
+                    <RiAddLine className='w-3 h-3' />
                     {t('tools.addToolModal.add').toLocaleUpperCase()}
                   </Button>
                 )}
@@ -133,9 +132,9 @@
   }, [addable, language, t, labelList, addedTools, onAuthSetup, onSelect])
 
   return (
-    <div className='max-w-[440px] p-1 pb-6'>
+    <div className='p-1 pb-6 max-w-[440px]'>
       {!tools.length && !showWorkflowEmpty && (
-        <div className='flex h-[22px] items-center px-3 text-xs font-medium text-gray-500'>{t('workflow.tabs.noResult')}</div>
+        <div className='flex items-center px-3 h-[22px] text-xs font-medium text-gray-500'>{t('workflow.tabs.noResult')}</div>
       )}
       {!tools.length && showWorkflowEmpty && (
         <div className='pt-[280px]'>
diff --git a/app/components/tools/add-tool-modal/type.tsx b/app/components/tools/add-tool-modal/type.tsx
index 26e78a7..370cef8 100644
--- a/app/components/tools/add-tool-modal/type.tsx
+++ b/app/components/tools/add-tool-modal/type.tsx
@@ -16,16 +16,16 @@
 
   return (
     <div className='mb-3'>
-      <div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 hover:bg-white', value === 'builtin' && '!bg-white font-medium')} onClick={() => onSelect('builtin')}>
-        <div className="mr-2 h-4 w-4 shrink-0 bg-[url('~@/app/components/tools/add-tool-modal/D.png')] bg-cover bg-no-repeat" />
+      <div className={cn('mb-0.5 p-1 pl-3 flex items-center cursor-pointer text-sm leading-5 rounded-lg hover:bg-white', value === 'builtin' && '!bg-white font-medium')} onClick={() => onSelect('builtin')}>
+        <div className="shrink-0 w-4 h-4 mr-2 bg-cover bg-no-repeat bg-[url('~@/app/components/tools/add-tool-modal/D.png')]" />
         <span className={cn('text-gray-700', value === 'builtin' && '!text-primary-600')}>{t('tools.type.builtIn')}</span>
       </div>
-      <div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 text-gray-700 hover:bg-white', value === 'api' && '!bg-white font-medium !text-primary-600')} onClick={() => onSelect('api')}>
-        <FileCode className='mr-2 h-4 w-4 shrink-0' />
+      <div className={cn('mb-0.5 p-1 pl-3 flex items-center cursor-pointer text-gray-700 text-sm leading-5 rounded-lg hover:bg-white', value === 'api' && '!bg-white !text-primary-600 font-medium')} onClick={() => onSelect('api')}>
+        <FileCode className='shrink-0 w-4 h-4 mr-2' />
         {t('tools.type.custom')}
       </div>
-      <div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 text-gray-700 hover:bg-white', value === 'workflow' && '!bg-white font-medium !text-primary-600')} onClick={() => onSelect('workflow')}>
-        <Exchange02 className='mr-2 h-4 w-4 shrink-0' />
+      <div className={cn('mb-0.5 p-1 pl-3 flex items-center cursor-pointer text-gray-700 text-sm leading-5 rounded-lg hover:bg-white', value === 'workflow' && '!bg-white !text-primary-600 font-medium')} onClick={() => onSelect('workflow')}>
+        <Exchange02 className='shrink-0 w-4 h-4 mr-2' />
         {t('tools.type.workflow')}
       </div>
     </div>
diff --git a/app/components/tools/edit-custom-collection-modal/config-credentials.tsx b/app/components/tools/edit-custom-collection-modal/config-credentials.tsx
index cbf1048..4b24bcb 100644
--- a/app/components/tools/edit-custom-collection-modal/config-credentials.tsx
+++ b/app/components/tools/edit-custom-collection-modal/config-credentials.tsx
@@ -5,7 +5,6 @@
 import Tooltip from '@/app/components/base/tooltip'
 import cn from '@/utils/classnames'
 import type { Credential } from '@/app/components/tools/types'
-import Input from '@/app/components/base/input'
 import Drawer from '@/app/components/base/drawer-plus'
 import Button from '@/app/components/base/button'
 import Radio from '@/app/components/base/radio/ui'
@@ -17,6 +16,7 @@
   onChange: (credential: Credential) => void
   onHide: () => void
 }
+const keyClassNames = 'py-2 leading-5 text-sm font-medium text-gray-900'
 
 type ItemProps = {
   text: string
@@ -28,11 +28,11 @@
 const SelectItem: FC<ItemProps> = ({ text, value, isChecked, onClick }) => {
   return (
     <div
-      className={cn(isChecked ? 'border-[2px] border-util-colors-indigo-indigo-600 bg-components-panel-on-panel-item-bg shadow-sm' : 'border border-components-card-border', 'mb-2 flex h-9 w-[150px] cursor-pointer items-center space-x-2 rounded-xl bg-components-panel-on-panel-item-bg pl-3 hover:bg-components-panel-on-panel-item-bg-hover')}
+      className={cn(isChecked ? 'border-[2px] border-indigo-600 shadow-sm bg-white' : 'border border-gray-100', 'mb-2 flex items-center h-9 pl-3 w-[150px] rounded-xl bg-gray-25 hover:bg-gray-50 cursor-pointer space-x-2')}
       onClick={() => onClick(value)}
     >
       <Radio isChecked={isChecked} />
-      <div className='system-sm-regular text-text-primary'>{text}</div>
+      <div className='text-sm font-normal text-gray-900'>{text}</div>
     </div>
   )
 }
@@ -52,17 +52,15 @@
       positionCenter={positionCenter}
       onHide={onHide}
       title={t('tools.createTool.authMethod.title')!}
-      dialogClassName='z-[60]'
-      dialogBackdropClassName='z-[70]'
-      panelClassName='mt-2 !w-[520px] h-fit z-[80]'
+      panelClassName='mt-2 !w-[520px] h-fit'
       maxWidthClassName='!max-w-[520px]'
       height={'fit-content'}
-      headerClassName='!border-b-divider-regular'
+      headerClassName='!border-b-black/5'
       body={
-        <div className='px-6 pt-2'>
+        <div className='pt-2 px-6'>
           <div className='space-y-4'>
             <div>
-              <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.authMethod.type')}</div>
+              <div className={keyClassNames}>{t('tools.createTool.authMethod.type')}</div>
               <div className='flex space-x-3'>
                 <SelectItem
                   text={t('tools.createTool.authMethod.types.none')}
@@ -86,52 +84,52 @@
             </div>
             {tempCredential.auth_type === AuthType.apiKey && (
               <>
-                <div>
-                  <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.authHeaderPrefix.title')}</div>
-                  <div className='flex space-x-3'>
-                    <SelectItem
-                      text={t('tools.createTool.authHeaderPrefix.types.basic')}
-                      value={AuthHeaderPrefix.basic}
-                      isChecked={tempCredential.api_key_header_prefix === AuthHeaderPrefix.basic}
-                      onClick={value => setTempCredential({ ...tempCredential, api_key_header_prefix: value as AuthHeaderPrefix })}
-                    />
-                    <SelectItem
-                      text={t('tools.createTool.authHeaderPrefix.types.bearer')}
-                      value={AuthHeaderPrefix.bearer}
-                      isChecked={tempCredential.api_key_header_prefix === AuthHeaderPrefix.bearer}
-                      onClick={value => setTempCredential({ ...tempCredential, api_key_header_prefix: value as AuthHeaderPrefix })}
-                    />
-                    <SelectItem
-                      text={t('tools.createTool.authHeaderPrefix.types.custom')}
-                      value={AuthHeaderPrefix.custom}
-                      isChecked={tempCredential.api_key_header_prefix === AuthHeaderPrefix.custom}
-                      onClick={value => setTempCredential({ ...tempCredential, api_key_header_prefix: value as AuthHeaderPrefix })}
-                    />
-                  </div>
+                <div className={keyClassNames}>{t('tools.createTool.authHeaderPrefix.title')}</div>
+                <div className='flex space-x-3'>
+                  <SelectItem
+                    text={t('tools.createTool.authHeaderPrefix.types.basic')}
+                    value={AuthHeaderPrefix.basic}
+                    isChecked={tempCredential.api_key_header_prefix === AuthHeaderPrefix.basic}
+                    onClick={value => setTempCredential({ ...tempCredential, api_key_header_prefix: value as AuthHeaderPrefix })}
+                  />
+                  <SelectItem
+                    text={t('tools.createTool.authHeaderPrefix.types.bearer')}
+                    value={AuthHeaderPrefix.bearer}
+                    isChecked={tempCredential.api_key_header_prefix === AuthHeaderPrefix.bearer}
+                    onClick={value => setTempCredential({ ...tempCredential, api_key_header_prefix: value as AuthHeaderPrefix })}
+                  />
+                  <SelectItem
+                    text={t('tools.createTool.authHeaderPrefix.types.custom')}
+                    value={AuthHeaderPrefix.custom}
+                    isChecked={tempCredential.api_key_header_prefix === AuthHeaderPrefix.custom}
+                    onClick={value => setTempCredential({ ...tempCredential, api_key_header_prefix: value as AuthHeaderPrefix })}
+                  />
                 </div>
                 <div>
-                  <div className='system-sm-medium flex items-center py-2 text-text-primary'>
+                  <div className='flex items-center h-8 text-[13px] font-medium text-gray-900'>
                     {t('tools.createTool.authMethod.key')}
                     <Tooltip
                       popupContent={
-                        <div className='w-[261px] text-text-tertiary'>
+                        <div className='w-[261px] text-gray-500'>
                           {t('tools.createTool.authMethod.keyTooltip')}
                         </div>
                       }
                       triggerClassName='ml-0.5 w-4 h-4'
                     />
                   </div>
-                  <Input
+                  <input
                     value={tempCredential.api_key_header}
                     onChange={e => setTempCredential({ ...tempCredential, api_key_header: e.target.value })}
+                    className='w-full h-10 px-3 text-sm font-normal  border border-transparent bg-gray-100 rounded-lg grow outline-none focus:bg-components-input-bg-active focus:border-components-input-border-active focus:shadow-xs'
                     placeholder={t('tools.createTool.authMethod.types.apiKeyPlaceholder')!}
                   />
                 </div>
                 <div>
-                  <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.authMethod.value')}</div>
-                  <Input
+                  <div className={keyClassNames}>{t('tools.createTool.authMethod.value')}</div>
+                  <input
                     value={tempCredential.api_key_value}
                     onChange={e => setTempCredential({ ...tempCredential, api_key_value: e.target.value })}
+                    className='w-full h-10 px-3 text-sm font-normal  border border-transparent bg-gray-100 rounded-lg grow outline-none focus:bg-components-input-bg-active focus:border-components-input-border-active focus:shadow-xs'
                     placeholder={t('tools.createTool.authMethod.types.apiValuePlaceholder')!}
                   />
                 </div>
@@ -139,7 +137,7 @@
 
           </div>
 
-          <div className='mt-4 flex shrink-0 justify-end space-x-2 py-4'>
+          <div className='mt-4 shrink-0 flex justify-end space-x-2 py-4'>
             <Button onClick={onHide}>{t('common.operation.cancel')}</Button>
             <Button variant='primary' onClick={() => {
               onChange(tempCredential)
diff --git a/app/components/tools/edit-custom-collection-modal/examples.ts b/app/components/tools/edit-custom-collection-modal/examples.ts
index 0d8369c..0a3d023 100644
--- a/app/components/tools/edit-custom-collection-modal/examples.ts
+++ b/app/components/tools/edit-custom-collection-modal/examples.ts
@@ -75,7 +75,7 @@
                   schema:
                     type: string
               content:
-                application/json:
+                application/json:    
                   schema:
                     $ref: "#/components/schemas/Pets"
             default:
diff --git a/app/components/tools/edit-custom-collection-modal/get-schema.tsx b/app/components/tools/edit-custom-collection-modal/get-schema.tsx
index 1d67dc7..2552c67 100644
--- a/app/components/tools/edit-custom-collection-modal/get-schema.tsx
+++ b/app/components/tools/edit-custom-collection-modal/get-schema.tsx
@@ -10,7 +10,6 @@
 import Toast from '../../base/toast'
 import examples from './examples'
 import Button from '@/app/components/base/button'
-import Input from '@/app/components/base/input'
 import { importSchemaFromURL } from '@/service/tools'
 
 type Props = {
@@ -56,28 +55,28 @@
   }, showExamplesRef)
 
   return (
-    <div className='relative flex w-[224px] justify-end space-x-1'>
+    <div className='flex space-x-1 justify-end relative w-[224px]'>
       <div ref={importURLRef}>
         <Button
           size='small'
           className='space-x-1 '
           onClick={() => { setShowImportFromUrl(!showImportFromUrl) }}
         >
-          <RiAddLine className='h-3 w-3' />
-          <div className='system-xs-medium text-text-secondary'>{t('tools.createTool.importFromUrl')}</div>
+          <RiAddLine className='w-3 h-3' />
+          <div className='text-xs font-medium text-gray-700'>{t('tools.createTool.importFromUrl')}</div>
         </Button>
         {showImportFromUrl && (
-          <div className=' absolute left-[-35px] top-[26px] rounded-lg border border-components-panel-border bg-components-panel-bg p-2 shadow-lg'>
+          <div className=' absolute left-[-35px] top-[26px] p-2 rounded-lg border border-gray-200 bg-white shadow-lg'>
             <div className='relative'>
-              <Input
+              <input
                 type='text'
-                className='w-[244px]'
+                className='w-[244px] h-8 pl-1.5 pr-[44px] overflow-x-auto border border-gray-200 rounded-lg text-[13px] focus:outline-none focus:border-components-input-border-active'
                 placeholder={t('tools.createTool.importFromUrlPlaceHolder')!}
                 value={importUrl}
                 onChange={e => setImportUrl(e.target.value)}
               />
               <Button
-                className='absolute right-1 top-1'
+                className='absolute top-1 right-1'
                 size='small'
                 variant='primary'
                 disabled={!importUrl}
@@ -96,11 +95,11 @@
           className='space-x-1'
           onClick={() => { setShowExamples(!showExamples) }}
         >
-          <div className='system-xs-medium text-text-secondary'>{t('tools.createTool.examples')}</div>
-          <RiArrowDownSLine className='h-3 w-3' />
+          <div className='text-xs font-medium text-gray-700'>{t('tools.createTool.examples')}</div>
+          <RiArrowDownSLine className='w-3 h-3' />
         </Button>
         {showExamples && (
-          <div className='absolute right-0 top-7 rounded-lg bg-components-panel-bg p-1 shadow-sm'>
+          <div className='absolute top-7 right-0 p-1 rounded-lg bg-white shadow-sm'>
             {examples.map(item => (
               <div
                 key={item.key}
@@ -108,7 +107,7 @@
                   onChange(item.content)
                   setShowExamples(false)
                 }}
-                className='system-sm-regular cursor-pointer whitespace-nowrap rounded-lg px-3 py-1.5 leading-5 text-text-secondary hover:bg-components-panel-on-panel-item-bg-hover'
+                className='px-3 py-1.5 rounded-lg hover:bg-gray-50 leading-5 text-sm font-normal text-gray-700 cursor-pointer whitespace-nowrap'
               >
                 {t(`tools.createTool.exampleOptions.${item.key}`)}
               </div>
diff --git a/app/components/tools/edit-custom-collection-modal/index.tsx b/app/components/tools/edit-custom-collection-modal/index.tsx
index b9a29ef..555fd0d 100644
--- a/app/components/tools/edit-custom-collection-modal/index.tsx
+++ b/app/components/tools/edit-custom-collection-modal/index.tsx
@@ -3,9 +3,8 @@
 import React, { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useDebounce, useGetState } from 'ahooks'
-import { RiSettings2Line } from '@remixicon/react'
 import produce from 'immer'
-import { LinkExternal02 } from '../../base/icons/src/vender/line/general'
+import { LinkExternal02, Settings01 } from '../../base/icons/src/vender/line/general'
 import type { Credential, CustomCollectionBackend, CustomParamSchema, Emoji } from '../types'
 import { AuthHeaderPrefix, AuthType } from '../types'
 import GetSchema from './get-schema'
@@ -22,6 +21,7 @@
 import LabelSelector from '@/app/components/tools/labels/selector'
 import Toast from '@/app/components/base/toast'
 
+const fieldNameClassNames = 'py-2 leading-5 text-sm font-medium text-gray-900'
 type Props = {
   positionLeft?: boolean
   payload: any
@@ -98,7 +98,7 @@
         setCustomCollection(newCollection)
         setParamsSchemas(parameters_schema)
       }
-      catch {
+      catch (e) {
         const customCollection = getCustomCollection()
         const newCollection = produce(customCollection, (draft) => {
           draft.schema_type = ''
@@ -174,7 +174,7 @@
       const path = decodeURI(new URL(url).pathname)
       return path || ''
     }
-    catch {
+    catch (e) {
       return url
     }
   }
@@ -189,12 +189,12 @@
         panelClassName='mt-2 !w-[640px]'
         maxWidthClassName='!max-w-[640px]'
         height='calc(100vh - 16px)'
-        headerClassName='!border-b-divider-regular'
+        headerClassName='!border-b-black/5'
         body={
-          <div className='flex h-full flex-col'>
-            <div className='h-0 grow space-y-4 overflow-y-auto px-6 py-3'>
+          <div className='flex flex-col h-full'>
+            <div className='grow h-0 overflow-y-auto px-6 py-3 space-y-4'>
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.name')} <span className='ml-1 text-red-500'>*</span></div>
+                <div className={fieldNameClassNames}>{t('tools.createTool.name')} <span className='ml-1 text-red-500'>*</span></div>
                 <div className='flex items-center justify-between gap-3'>
                   <AppIcon size='large' onClick={() => { setShowEmojiPicker(true) }} className='cursor-pointer' icon={emoji.content} background={emoji.background} />
                   <Input
@@ -212,17 +212,17 @@
 
               {/* Schema */}
               <div className='select-none'>
-                <div className='flex items-center justify-between'>
+                <div className='flex justify-between items-center'>
                   <div className='flex items-center'>
-                    <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.schema')}<span className='ml-1 text-red-500'>*</span></div>
-                    <div className='mx-2 h-3 w-px bg-divider-regular'></div>
+                    <div className={fieldNameClassNames}>{t('tools.createTool.schema')}<span className='ml-1 text-red-500'>*</span></div>
+                    <div className='mx-2 w-px h-3 bg-black/5'></div>
                     <a
                       href="https://swagger.io/specification/"
                       target='_blank' rel='noopener noreferrer'
-                      className='flex h-[18px] items-center space-x-1  text-text-accent'
+                      className='flex items-center h-[18px] space-x-1  text-[#155EEF]'
                     >
                       <div className='text-xs font-normal'>{t('tools.createTool.viewSchemaSpec')}</div>
-                      <LinkExternal02 className='h-3 w-3' />
+                      <LinkExternal02 className='w-3 h-3' />
                     </a>
                   </div>
                   <GetSchema onChange={setSchema} />
@@ -238,26 +238,26 @@
 
               {/* Available Tools  */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.availableTools.title')}</div>
-                <div className='w-full overflow-x-auto rounded-lg border border-divider-regular'>
-                  <table className='system-xs-regular w-full text-text-secondary'>
-                    <thead className='uppercase text-text-tertiary'>
-                      <tr className={cn(paramsSchemas.length > 0 && 'border-b', 'border-divider-regular')}>
+                <div className={fieldNameClassNames}>{t('tools.createTool.availableTools.title')}</div>
+                <div className='rounded-lg border border-gray-200 w-full overflow-x-auto'>
+                  <table className='w-full leading-[18px] text-xs text-gray-700 font-normal'>
+                    <thead className='text-gray-500 uppercase'>
+                      <tr className={cn(paramsSchemas.length > 0 && 'border-b', 'border-gray-200')}>
                         <th className="p-2 pl-3 font-medium">{t('tools.createTool.availableTools.name')}</th>
-                        <th className="w-[236px] p-2 pl-3 font-medium">{t('tools.createTool.availableTools.description')}</th>
+                        <th className="p-2 pl-3 font-medium w-[236px]">{t('tools.createTool.availableTools.description')}</th>
                         <th className="p-2 pl-3 font-medium">{t('tools.createTool.availableTools.method')}</th>
                         <th className="p-2 pl-3 font-medium">{t('tools.createTool.availableTools.path')}</th>
-                        <th className="w-[54px] p-2 pl-3 font-medium">{t('tools.createTool.availableTools.action')}</th>
+                        <th className="p-2 pl-3 font-medium w-[54px]">{t('tools.createTool.availableTools.action')}</th>
                       </tr>
                     </thead>
                     <tbody>
                       {paramsSchemas.map((item, index) => (
-                        <tr key={index} className='border-b border-divider-regular last:border-0'>
+                        <tr key={index} className='border-b last:border-0 border-gray-200'>
                           <td className="p-2 pl-3">{item.operation_id}</td>
-                          <td className="w-[236px] p-2 pl-3">{item.summary}</td>
+                          <td className="p-2 pl-3 text-gray-500 w-[236px]">{item.summary}</td>
                           <td className="p-2 pl-3">{item.method}</td>
                           <td className="p-2 pl-3">{getPath(item.server_url)}</td>
-                          <td className="w-[62px] p-2 pl-3">
+                          <td className="p-2 pl-3 w-[62px]">
                             <Button
                               size='small'
                               onClick={() => {
@@ -277,22 +277,22 @@
 
               {/* Authorization method */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.authMethod.title')}</div>
-                <div className='flex h-9 cursor-pointer items-center justify-between rounded-lg bg-components-input-bg-normal px-2.5' onClick={() => setCredentialsModalShow(true)}>
-                  <div className='system-xs-regular text-text-primary'>{t(`tools.createTool.authMethod.types.${credential.auth_type}`)}</div>
-                  <RiSettings2Line className='h-4 w-4 text-text-secondary' />
+                <div className={fieldNameClassNames}>{t('tools.createTool.authMethod.title')}</div>
+                <div className='flex items-center h-9 justify-between px-2.5 bg-gray-100 rounded-lg cursor-pointer' onClick={() => setCredentialsModalShow(true)}>
+                  <div className='text-sm font-normal text-gray-900'>{t(`tools.createTool.authMethod.types.${credential.auth_type}`)}</div>
+                  <Settings01 className='w-4 h-4 text-gray-700 opacity-60' />
                 </div>
               </div>
 
               {/* Labels */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.toolInput.label')}</div>
+                <div className='py-2 leading-5 text-sm font-medium text-gray-900'>{t('tools.createTool.toolInput.label')}</div>
                 <LabelSelector value={labels} onChange={handleLabelSelect} />
               </div>
 
               {/* Privacy Policy */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.privacyPolicy')}</div>
+                <div className={fieldNameClassNames}>{t('tools.createTool.privacyPolicy')}</div>
                 <Input
                   value={customCollection.privacy_policy}
                   onChange={(e) => {
@@ -305,7 +305,7 @@
               </div>
 
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.customDisclaimer')}</div>
+                <div className={fieldNameClassNames}>{t('tools.createTool.customDisclaimer')}</div>
                 <Input
                   value={customCollection.custom_disclaimer}
                   onChange={(e) => {
@@ -318,10 +318,10 @@
               </div>
 
             </div>
-            <div className={cn(isEdit ? 'justify-between' : 'justify-end', 'mt-2 flex shrink-0 rounded-b-[10px] border-t border-divider-regular bg-background-section-burn px-6 py-4')} >
+            <div className={cn(isEdit ? 'justify-between' : 'justify-end', 'mt-2 shrink-0 flex py-4 px-6 rounded-b-[10px] bg-gray-50 border-t border-black/5')} >
               {
                 isEdit && (
-                  <Button variant='warning' onClick={onRemove}>{t('common.operation.delete')}</Button>
+                  <Button onClick={onRemove} className='text-red-500 border-red-50 hover:border-red-500'>{t('common.operation.delete')}</Button>
                 )
               }
               <div className='flex space-x-2 '>
diff --git a/app/components/tools/edit-custom-collection-modal/test-api.tsx b/app/components/tools/edit-custom-collection-modal/test-api.tsx
index 0079bad..80a08d0 100644
--- a/app/components/tools/edit-custom-collection-modal/test-api.tsx
+++ b/app/components/tools/edit-custom-collection-modal/test-api.tsx
@@ -3,11 +3,10 @@
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
-import { RiSettings2Line } from '@remixicon/react'
+import { Settings01 } from '../../base/icons/src/vender/line/general'
 import ConfigCredentials from './config-credentials'
 import { AuthType, type Credential, type CustomCollectionBackend, type CustomParamSchema } from '@/app/components/tools/types'
 import Button from '@/app/components/base/button'
-import Input from '@/app/components/base/input'
 import Drawer from '@/app/components/base/drawer-plus'
 import I18n from '@/context/i18n'
 import { testAPIAvailable } from '@/service/tools'
@@ -19,6 +18,8 @@
   tool: CustomParamSchema
   onHide: () => void
 }
+
+const keyClassNames = 'py-2 leading-5 text-sm font-medium text-gray-900'
 
 const TestApi: FC<Props> = ({
   positionCenter,
@@ -64,40 +65,39 @@
         panelClassName='mt-2 !w-[600px]'
         maxWidthClassName='!max-w-[600px]'
         height='calc(100vh - 16px)'
-        headerClassName='!border-b-divider-regular'
+        headerClassName='!border-b-black/5'
         body={
-          <div className='overflow-y-auto px-6 pt-2'>
+          <div className='pt-2 px-6 overflow-y-auto'>
             <div className='space-y-4'>
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.authMethod.title')}</div>
-                <div className='flex h-9 cursor-pointer items-center justify-between rounded-lg bg-components-input-bg-normal px-2.5' onClick={() => setCredentialsModalShow(true)}>
-                  <div className='system-xs-regular text-text-primary'>{t(`tools.createTool.authMethod.types.${tempCredential.auth_type}`)}</div>
-                  <RiSettings2Line className='h-4 w-4 text-text-secondary' />
+                <div className={keyClassNames}>{t('tools.createTool.authMethod.title')}</div>
+                <div className='flex items-center h-9 justify-between px-2.5 bg-gray-100 rounded-lg cursor-pointer' onClick={() => setCredentialsModalShow(true)}>
+                  <div className='text-sm font-normal text-gray-900'>{t(`tools.createTool.authMethod.types.${tempCredential.auth_type}`)}</div>
+                  <Settings01 className='w-4 h-4 text-gray-700 opacity-60' />
                 </div>
               </div>
 
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.test.parametersValue')}</div>
-                <div className='rounded-lg border border-divider-regular'>
-                  <table className='system-xs-regular w-full font-normal text-text-secondary'>
-                    <thead className='uppercase text-text-tertiary'>
-                      <tr className='border-b border-divider-regular'>
+                <div className={keyClassNames}>{t('tools.test.parametersValue')}</div>
+                <div className='rounded-lg border border-gray-200'>
+                  <table className='w-full leading-[18px] text-xs text-gray-700 font-normal'>
+                    <thead className='text-gray-500 uppercase'>
+                      <tr className='border-b border-gray-200'>
                         <th className="p-2 pl-3 font-medium">{t('tools.test.parameters')}</th>
                         <th className="p-2 pl-3 font-medium">{t('tools.test.value')}</th>
                       </tr>
                     </thead>
                     <tbody>
                       {parameters.map((item, index) => (
-                        <tr key={index} className='border-b border-divider-regular last:border-0'>
+                        <tr key={index} className='border-b last:border-0 border-gray-200'>
                           <td className="py-2 pl-3 pr-2.5">
                             {item.label[language]}
                           </td>
                           <td className="">
-                            <Input
+                            <input
                               value={parametersValue[item.name] || ''}
                               onChange={e => setParametersValue({ ...parametersValue, [item.name]: e.target.value })}
-                              type='text'
-                              className='!hover:border-transparent !hover:bg-transparent !focus:border-transparent !focus:bg-transparent !border-transparent !bg-transparent' />
+                              type='text' className='px-3 h-[34px] w-full outline-none focus:bg-gray-100' ></input>
                           </td>
                         </tr>
                       ))}
@@ -107,14 +107,14 @@
               </div>
 
             </div>
-            <Button variant='primary' className=' mt-4 h-10 w-full' onClick={handleTest}>{t('tools.test.title')}</Button>
+            <Button variant='primary' className=' mt-4 w-full h-10' onClick={handleTest}>{t('tools.test.title')}</Button>
             <div className='mt-6'>
               <div className='flex items-center space-x-3'>
-                <div className='system-xs-semibold text-text-tertiary'>{t('tools.test.testResult')}</div>
-                <div className='bg-[rgb(243, 244, 246)] h-px w-0 grow'></div>
+                <div className='leading-[18px] text-xs font-semibold text-gray-500'>{t('tools.test.testResult')}</div>
+                <div className='grow w-0 h-px bg-[rgb(243, 244, 246)]'></div>
               </div>
-              <div className='system-xs-regular mt-2 h-[200px] overflow-y-auto overflow-x-hidden rounded-lg bg-components-input-bg-normal px-3 py-2 text-text-secondary'>
-                {result || <span className='text-text-quaternary'>{t('tools.test.testResultPlaceholder')}</span>}
+              <div className='mt-2 px-3 py-2 h-[200px] overflow-y-auto overflow-x-hidden rounded-lg bg-gray-100 leading-4 text-xs font-normal text-gray-700'>
+                {result || <span className='text-gray-400'>{t('tools.test.testResultPlaceholder')}</span>}
               </div>
             </div>
           </div>
diff --git a/app/components/tools/labels/constant.ts b/app/components/tools/labels/constant.ts
index ad4836e..3f07385 100644
--- a/app/components/tools/labels/constant.ts
+++ b/app/components/tools/labels/constant.ts
@@ -1,4 +1,6 @@
+import type { TypeWithI18N } from '@/app/components/header/account-setting/model-provider-page/declarations'
 export type Label = {
   name: string
-  label: string
+  icon: string
+  label: TypeWithI18N
 }
diff --git a/app/components/tools/labels/filter.tsx b/app/components/tools/labels/filter.tsx
index 78e350d..20db687 100644
--- a/app/components/tools/labels/filter.tsx
+++ b/app/components/tools/labels/filter.tsx
@@ -1,8 +1,10 @@
 import type { FC } from 'react'
 import { useMemo, useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useDebounceFn } from 'ahooks'
+import { useContext } from 'use-context-selector'
+import { useDebounceFn, useMount } from 'ahooks'
 import { RiArrowDownSLine } from '@remixicon/react'
+import { useStore as useLabelStore } from './store'
 import cn from '@/utils/classnames'
 import {
   PortalToFollowElem,
@@ -14,7 +16,9 @@
 import { Check } from '@/app/components/base/icons/src/vender/line/general'
 import { XCircle } from '@/app/components/base/icons/src/vender/solid/general'
 import type { Label } from '@/app/components/tools/labels/constant'
-import { useTags } from '@/app/components/plugins/hooks'
+import { fetchLabelList } from '@/service/tools'
+import I18n from '@/context/i18n'
+import { getLanguage } from '@/i18n/language'
 
 type LabelFilterProps = {
   value: string[]
@@ -25,9 +29,12 @@
   onChange,
 }) => {
   const { t } = useTranslation()
+  const { locale } = useContext(I18n)
+  const language = getLanguage(locale)
   const [open, setOpen] = useState(false)
 
-  const { tags: labelList } = useTags()
+  const labelList = useLabelStore(s => s.labelList)
+  const setLabelList = useLabelStore(s => s.setLabelList)
 
   const [keywords, setKeywords] = useState('')
   const [searchKeywords, setSearchKeywords] = useState('')
@@ -54,6 +61,12 @@
       onChange([...value, label.name])
   }
 
+  useMount(() => {
+    fetchLabelList().then((res) => {
+      setLabelList(res)
+    })
+  })
+
   return (
     <PortalToFollowElem
       open={open}
@@ -67,38 +80,39 @@
           className='block'
         >
           <div className={cn(
-            'flex h-8 cursor-pointer items-center gap-1 rounded-lg border-[0.5px] border-transparent bg-components-input-bg-normal px-2 hover:bg-components-input-bg-hover',
-            !open && !!value.length && 'shadow-xs',
-            open && !!value.length && 'shadow-xs',
+            'flex items-center gap-1 px-2 h-8 rounded-lg border-[0.5px] border-transparent bg-gray-200 cursor-pointer hover:bg-gray-300',
+            open && !value.length && '!bg-gray-300 hover:bg-gray-300',
+            !open && !!value.length && '!bg-white/80 shadow-xs !border-black/5 hover:!bg-gray-200',
+            open && !!value.length && '!bg-gray-200 !border-black/5 shadow-xs hover:!bg-gray-200',
           )}>
             <div className='p-[1px]'>
-              <Tag01 className='h-3.5 w-3.5 text-text-tertiary' />
+              <Tag01 className='h-3.5 w-3.5 text-gray-700' />
             </div>
-            <div className='text-[13px] leading-[18px] text-text-tertiary'>
+            <div className='text-[13px] leading-[18px] text-gray-700'>
               {!value.length && t('common.tag.placeholder')}
-              {!!value.length && currentLabel?.label}
+              {!!value.length && currentLabel?.label[language]}
             </div>
             {value.length > 1 && (
-              <div className='text-xs font-medium leading-[18px] text-text-tertiary'>{`+${value.length - 1}`}</div>
+              <div className='text-xs font-medium leading-[18px] text-gray-500'>{`+${value.length - 1}`}</div>
             )}
             {!value.length && (
               <div className='p-[1px]'>
-                <RiArrowDownSLine className='h-3.5 w-3.5 text-text-tertiary' />
+                <RiArrowDownSLine className='h-3.5 w-3.5 text-gray-700' />
               </div>
             )}
             {!!value.length && (
-              <div className='group/clear cursor-pointer p-[1px]' onClick={(e) => {
+              <div className='p-[1px] cursor-pointer group/clear' onClick={(e) => {
                 e.stopPropagation()
                 onChange([])
               }}>
-                <XCircle className='h-3.5 w-3.5 text-text-tertiary group-hover/clear:text-text-secondary' />
+                <XCircle className='h-3.5 w-3.5 text-gray-400 group-hover/clear:text-gray-600' />
               </div>
             )}
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1002]'>
-          <div className='relative w-[240px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg  backdrop-blur-[5px]'>
-            <div className='p-2'>
+          <div className='relative w-[240px] bg-white rounded-lg border-[0.5px] border-gray-200  shadow-lg'>
+            <div className='p-2 border-b-[0.5px] border-black/5'>
               <Input
                 showLeftIcon
                 showClearIcon
@@ -111,17 +125,17 @@
               {filteredLabelList.map(label => (
                 <div
                   key={label.name}
-                  className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-state-base-hover'
+                  className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-100'
                   onClick={() => selectLabel(label)}
                 >
-                  <div title={label.label} className='grow truncate text-sm leading-5 text-text-secondary'>{label.label}</div>
-                  {value.includes(label.name) && <Check className='h-4 w-4 shrink-0 text-text-accent' />}
+                  <div title={label.label[language]} className='grow text-sm text-gray-700 leading-5 truncate'>{label.label[language]}</div>
+                  {value.includes(label.name) && <Check className='shrink-0 w-4 h-4 text-primary-600' />}
                 </div>
               ))}
               {!filteredLabelList.length && (
-                <div className='flex flex-col items-center gap-1 p-3'>
-                  <Tag03 className='h-6 w-6 text-text-quaternary' />
-                  <div className='text-xs leading-[14px] text-text-tertiary'>{t('common.tag.noTag')}</div>
+                <div className='p-3 flex flex-col items-center gap-1'>
+                  <Tag03 className='h-6 w-6 text-gray-300' />
+                  <div className='text-gray-500 text-xs leading-[14px]'>{t('common.tag.noTag')}</div>
                 </div>
               )}
             </div>
diff --git a/app/components/tools/labels/selector.tsx b/app/components/tools/labels/selector.tsx
index 587c204..3f33e45 100644
--- a/app/components/tools/labels/selector.tsx
+++ b/app/components/tools/labels/selector.tsx
@@ -1,8 +1,10 @@
 import type { FC } from 'react'
 import { useMemo, useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useDebounceFn } from 'ahooks'
+import { useContext } from 'use-context-selector'
+import { useDebounceFn, useMount } from 'ahooks'
 import { RiArrowDownSLine } from '@remixicon/react'
+import { useStore as useLabelStore } from './store'
 import cn from '@/utils/classnames'
 import {
   PortalToFollowElem,
@@ -13,8 +15,9 @@
 import { Tag03 } from '@/app/components/base/icons/src/vender/line/financeAndECommerce'
 import Checkbox from '@/app/components/base/checkbox'
 import type { Label } from '@/app/components/tools/labels/constant'
-import { useTags } from '@/app/components/plugins/hooks'
-import { noop } from 'lodash-es'
+import { fetchLabelList } from '@/service/tools'
+import I18n from '@/context/i18n'
+import { getLanguage } from '@/i18n/language'
 
 type LabelSelectorProps = {
   value: string[]
@@ -25,9 +28,12 @@
   onChange,
 }) => {
   const { t } = useTranslation()
+  const { locale } = useContext(I18n)
+  const language = getLanguage(locale)
   const [open, setOpen] = useState(false)
 
-  const { tags: labelList } = useTags()
+  const labelList = useLabelStore(s => s.labelList)
+  const setLabelList = useLabelStore(s => s.setLabelList)
 
   const [keywords, setKeywords] = useState('')
   const [searchKeywords, setSearchKeywords] = useState('')
@@ -44,8 +50,8 @@
   }, [labelList, searchKeywords])
 
   const selectedLabels = useMemo(() => {
-    return value.map(v => labelList.find(l => l.name === v)?.label).join(', ')
-  }, [value, labelList])
+    return value.map(v => labelList.find(l => l.name === v)?.label[language]).join(', ')
+  }, [value, labelList, language])
 
   const selectLabel = (label: Label) => {
     if (value.includes(label.name))
@@ -53,6 +59,12 @@
     else
       onChange([...value, label.name])
   }
+
+  useMount(() => {
+    fetchLabelList().then((res) => {
+      setLabelList(res)
+    })
+  })
 
   return (
     <PortalToFollowElem
@@ -67,21 +79,21 @@
           className='block'
         >
           <div className={cn(
-            'flex h-10 cursor-pointer items-center gap-1 rounded-lg border-[0.5px] border-transparent bg-components-input-bg-normal px-3 hover:bg-components-input-bg-hover',
-            open && '!hover:bg-components-input-bg-hover hover:bg-components-input-bg-hover',
+            'flex items-center gap-1 px-3 h-10 rounded-lg border-[0.5px] border-transparent bg-gray-100 cursor-pointer hover:bg-gray-200',
+            open && '!bg-gray-200 hover:bg-gray-200',
           )}>
-            <div title={value.length > 0 ? selectedLabels : ''} className={cn('grow truncate text-[13px] leading-[18px] text-text-secondary', !value.length && '!text-text-quaternary')}>
+            <div title={value.length > 0 ? selectedLabels : ''} className={cn('grow text-[13px] leading-[18px] text-gray-700 truncate', !value.length && '!text-gray-400')}>
               {!value.length && t('tools.createTool.toolInput.labelPlaceholder')}
               {!!value.length && selectedLabels}
             </div>
-            <div className='ml-1 shrink-0 text-text-secondary opacity-60'>
+            <div className='shrink-0 ml-1 text-gray-700 opacity-60'>
               <RiArrowDownSLine className='h-4 w-4' />
             </div>
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1040]'>
-          <div className='relative w-[591px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg  backdrop-blur-[5px]'>
-            <div className='border-b-[0.5px] border-divider-regular p-2'>
+          <div className='relative w-[591px] bg-white rounded-lg border-[0.5px] border-gray-200  shadow-lg'>
+            <div className='p-2 border-b-[0.5px] border-black/5'>
               <Input
                 showLeftIcon
                 showClearIcon
@@ -90,25 +102,25 @@
                 onClear={() => handleKeywordsChange('')}
               />
             </div>
-            <div className='max-h-[264px] overflow-y-auto p-1'>
+            <div className='p-1 max-h-[264px] overflow-y-auto'>
               {filteredLabelList.map(label => (
                 <div
                   key={label.name}
-                  className='flex cursor-pointer items-center gap-2 rounded-lg py-[6px] pl-3 pr-2 hover:bg-components-panel-on-panel-item-bg-hover'
+                  className='flex items-center gap-2 pl-3 py-[6px] pr-2 rounded-lg cursor-pointer hover:bg-gray-100'
                   onClick={() => selectLabel(label)}
                 >
                   <Checkbox
                     className='shrink-0'
                     checked={value.includes(label.name)}
-                    onCheck={noop}
+                    onCheck={() => { }}
                   />
-                  <div title={label.label} className='grow truncate text-sm leading-5 text-text-secondary'>{label.label}</div>
+                  <div title={label.label[language]} className='grow text-sm text-gray-700 leading-5 truncate'>{label.label[language]}</div>
                 </div>
               ))}
               {!filteredLabelList.length && (
-                <div className='flex flex-col items-center gap-1 p-3'>
-                  <Tag03 className='h-6 w-6 text-text-quaternary' />
-                  <div className='text-xs leading-[14px] text-text-tertiary'>{t('common.tag.noTag')}</div>
+                <div className='p-3 flex flex-col items-center gap-1'>
+                  <Tag03 className='h-6 w-6 text-gray-300' />
+                  <div className='text-gray-500 text-xs leading-[14px]'>{t('common.tag.noTag')}</div>
                 </div>
               )}
             </div>
diff --git a/app/components/tools/labels/store.ts b/app/components/tools/labels/store.ts
new file mode 100644
index 0000000..c19991d
--- /dev/null
+++ b/app/components/tools/labels/store.ts
@@ -0,0 +1,15 @@
+import { create } from 'zustand'
+import type { Label } from './constant'
+
+type State = {
+  labelList: Label[]
+}
+
+type Action = {
+  setLabelList: (labelList?: Label[]) => void
+}
+
+export const useStore = create<State & Action>(set => ({
+  labelList: [],
+  setLabelList: labelList => set(() => ({ labelList })),
+}))
diff --git a/app/components/tools/provider-list.tsx b/app/components/tools/provider-list.tsx
index b1da6d5..73c7363 100644
--- a/app/components/tools/provider-list.tsx
+++ b/app/components/tools/provider-list.tsx
@@ -1,36 +1,33 @@
 'use client'
-import { useMemo, useRef, useState } from 'react'
+import { useEffect, useMemo, useState } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiCloseLine } from '@remixicon/react'
 import type { Collection } from './types'
-import Marketplace from './marketplace'
 import cn from '@/utils/classnames'
 import { useTabSearchParams } from '@/hooks/use-tab-searchparams'
 import TabSliderNew from '@/app/components/base/tab-slider-new'
 import LabelFilter from '@/app/components/tools/labels/filter'
 import Input from '@/app/components/base/input'
-import ProviderDetail from '@/app/components/tools/provider/detail'
-import Empty from '@/app/components/plugins/marketplace/empty'
+import { DotsGrid } from '@/app/components/base/icons/src/vender/line/general'
+import { Colors } from '@/app/components/base/icons/src/vender/line/others'
+import { Route } from '@/app/components/base/icons/src/vender/line/mapsAndTravel'
 import CustomCreateCard from '@/app/components/tools/provider/custom-create-card'
-import WorkflowToolEmpty from '@/app/components/tools/add-tool-modal/empty'
-import Card from '@/app/components/plugins/card'
-import CardMoreInfo from '@/app/components/plugins/card/card-more-info'
-import PluginDetailPanel from '@/app/components/plugins/plugin-detail-panel'
-import { useSelector as useAppContextSelector } from '@/context/app-context'
-import { useAllToolProviders } from '@/service/use-tools'
-import { useInstalledPluginList, useInvalidateInstalledPluginList } from '@/service/use-plugins'
+import ContributeCard from '@/app/components/tools/provider/contribute'
+import ProviderCard from '@/app/components/tools/provider/card'
+import ProviderDetail from '@/app/components/tools/provider/detail'
+import Empty from '@/app/components/tools/add-tool-modal/empty'
+import { fetchCollectionList } from '@/service/tools'
 
 const ProviderList = () => {
   const { t } = useTranslation()
-  const containerRef = useRef<HTMLDivElement>(null)
-  const { enable_marketplace } = useAppContextSelector(s => s.systemFeatures)
 
   const [activeTab, setActiveTab] = useTabSearchParams({
     defaultTab: 'builtin',
   })
   const options = [
-    { value: 'builtin', text: t('tools.type.builtIn') },
-    { value: 'api', text: t('tools.type.custom') },
-    { value: 'workflow', text: t('tools.type.workflow') },
+    { value: 'builtin', text: t('tools.type.builtIn'), icon: <DotsGrid className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'api', text: t('tools.type.custom'), icon: <Colors className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'workflow', text: t('tools.type.workflow'), icon: <Route className='w-[14px] h-[14px] mr-1' /> },
   ]
   const [tagFilterValue, setTagFilterValue] = useState<string[]>([])
   const handleTagsChange = (value: string[]) => {
@@ -40,7 +37,8 @@
   const handleKeywordsChange = (value: string) => {
     setKeywords(value)
   }
-  const { data: collectionList = [], refetch } = useAllToolProviders()
+
+  const [collectionList, setCollectionList] = useState<Collection[]>([])
   const filteredCollectionList = useMemo(() => {
     return collectionList.filter((collection) => {
       if (collection.type !== activeTab)
@@ -52,113 +50,75 @@
       return true
     })
   }, [activeTab, tagFilterValue, keywords, collectionList])
+  const getProviderList = async () => {
+    const list = await fetchCollectionList()
+    setCollectionList([...list])
+  }
+  useEffect(() => {
+    getProviderList()
+  }, [])
 
-  const [currentProviderId, setCurrentProviderId] = useState<string | undefined>()
-  const currentProvider = useMemo<Collection | undefined>(() => {
-    return filteredCollectionList.find(collection => collection.id === currentProviderId)
-  }, [currentProviderId, filteredCollectionList])
-  const { data: pluginList } = useInstalledPluginList()
-  const invalidateInstalledPluginList = useInvalidateInstalledPluginList()
-  const currentPluginDetail = useMemo(() => {
-    const detail = pluginList?.plugins.find(plugin => plugin.plugin_id === currentProvider?.plugin_id)
-    return detail
-  }, [currentProvider?.plugin_id, pluginList?.plugins])
+  const [currentProvider, setCurrentProvider] = useState<Collection | undefined>()
+  useEffect(() => {
+    if (currentProvider && collectionList.length > 0) {
+      const newCurrentProvider = collectionList.find(collection => collection.id === currentProvider.id)
+      setCurrentProvider(newCurrentProvider)
+    }
+  }, [collectionList, currentProvider])
 
   return (
-    <>
-      <div className='relative flex h-0 shrink-0 grow overflow-hidden'>
-        <div
-          ref={containerRef}
-          className='relative flex grow flex-col overflow-y-auto bg-background-body'
-        >
-          <div className={cn(
-            'sticky top-0 z-20 flex flex-wrap items-center justify-between gap-y-2 bg-background-body px-12 pb-2 pt-4 leading-[56px]',
-            currentProviderId && 'pr-6',
-          )}>
-            <TabSliderNew
-              value={activeTab}
-              onChange={(state) => {
-                setActiveTab(state)
-                if (state !== activeTab)
-                  setCurrentProviderId(undefined)
-              }}
-              options={options}
+    <div className='relative flex overflow-hidden bg-gray-100 shrink-0 h-0 grow'>
+      <div className='relative flex flex-col overflow-y-auto bg-gray-100 grow'>
+        <div className={cn(
+          'sticky top-0 flex justify-between items-center pt-4 px-12 pb-2 leading-[56px] bg-gray-100 z-20 flex-wrap gap-y-2',
+          currentProvider && 'pr-6',
+        )}>
+          <TabSliderNew
+            value={activeTab}
+            onChange={(state) => {
+              setActiveTab(state)
+              if (state !== activeTab)
+                setCurrentProvider(undefined)
+            }}
+            options={options}
+          />
+          <div className='flex items-center gap-2'>
+            <LabelFilter value={tagFilterValue} onChange={handleTagsChange} />
+            <Input
+              showLeftIcon
+              showClearIcon
+              wrapperClassName='w-[200px]'
+              value={keywords}
+              onChange={e => handleKeywordsChange(e.target.value)}
+              onClear={() => handleKeywordsChange('')}
             />
-            <div className='flex items-center gap-2'>
-              <LabelFilter value={tagFilterValue} onChange={handleTagsChange} />
-              <Input
-                showLeftIcon
-                showClearIcon
-                wrapperClassName='w-[200px]'
-                value={keywords}
-                onChange={e => handleKeywordsChange(e.target.value)}
-                onClear={() => handleKeywordsChange('')}
-              />
-            </div>
           </div>
-          {(filteredCollectionList.length > 0 || activeTab !== 'builtin') && (
-            <div className={cn(
-              'relative grid shrink-0 grid-cols-1 content-start gap-4 px-12 pb-4 pt-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4',
-              !filteredCollectionList.length && activeTab === 'workflow' && 'grow',
-            )}>
-              {activeTab === 'api' && <CustomCreateCard onRefreshData={refetch} />}
-              {filteredCollectionList.map(collection => (
-                <div
-                  key={collection.id}
-                  onClick={() => setCurrentProviderId(collection.id)}
-                >
-                  <Card
-                    className={cn(
-                      'cursor-pointer border-[1.5px] border-transparent',
-                      currentProviderId === collection.id && 'border-components-option-card-option-selected-border',
-                    )}
-                    hideCornerMark
-                    payload={{
-                      ...collection,
-                      brief: collection.description,
-                      org: collection.plugin_id ? collection.plugin_id.split('/')[0] : '',
-                      name: collection.plugin_id ? collection.plugin_id.split('/')[1] : collection.name,
-                    } as any}
-                    footer={
-                      <CardMoreInfo
-                        tags={collection.labels}
-                      />
-                    }
-                  />
-                </div>
-              ))}
-              {!filteredCollectionList.length && activeTab === 'workflow' && <div className='absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2'><WorkflowToolEmpty /></div>}
-            </div>
-          )}
-          {!filteredCollectionList.length && activeTab === 'builtin' && (
-            <Empty lightCard text={t('tools.noTools')} className='h-[224px] px-12' />
-          )}
-          {
-            enable_marketplace && activeTab === 'builtin' && (
-              <Marketplace
-                onMarketplaceScroll={() => {
-                  containerRef.current?.scrollTo({ top: containerRef.current.scrollHeight, behavior: 'smooth' })
-                }}
-                searchPluginText={keywords}
-                filterPluginTags={tagFilterValue}
-              />
-            )
-          }
+        </div>
+        <div className={cn(
+          'relative grid content-start grid-cols-1 gap-4 px-12 pt-2 pb-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 grow shrink-0',
+          currentProvider && 'pr-6 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3',
+        )}>
+          {activeTab === 'builtin' && <ContributeCard />}
+          {activeTab === 'api' && <CustomCreateCard onRefreshData={getProviderList} />}
+          {filteredCollectionList.map(collection => (
+            <ProviderCard
+              active={currentProvider?.id === collection.id}
+              onSelect={() => setCurrentProvider(collection)}
+              key={collection.id}
+              collection={collection}
+            />
+          ))}
+          {!filteredCollectionList.length && <div className='absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2'><Empty /></div>}
         </div>
       </div>
-      {currentProvider && !currentProvider.plugin_id && (
-        <ProviderDetail
-          collection={currentProvider}
-          onHide={() => setCurrentProviderId(undefined)}
-          onRefreshData={refetch}
-        />
-      )}
-      <PluginDetailPanel
-        detail={currentPluginDetail}
-        onUpdate={() => invalidateInstalledPluginList()}
-        onHide={() => setCurrentProviderId(undefined)}
-      />
-    </>
+      <div className={cn(
+        'shrink-0 w-0 border-l-[0.5px] border-black/8 overflow-y-auto transition-all duration-200 ease-in-out',
+        currentProvider && 'w-[420px]',
+      )}>
+        {currentProvider && <ProviderDetail collection={currentProvider} onRefreshData={getProviderList} />}
+      </div>
+      <div className='absolute top-5 right-5 p-1 cursor-pointer' onClick={() => setCurrentProvider(undefined)}><RiCloseLine className='w-4 h-4' /></div>
+    </div>
   )
 }
 ProviderList.displayName = 'ToolProviderList'
diff --git a/app/components/tools/provider/card.tsx b/app/components/tools/provider/card.tsx
new file mode 100644
index 0000000..6a68818
--- /dev/null
+++ b/app/components/tools/provider/card.tsx
@@ -0,0 +1,83 @@
+'use client'
+import { useMemo } from 'react'
+import { useContext } from 'use-context-selector'
+import { useTranslation } from 'react-i18next'
+import type { Collection } from '../types'
+import cn from '@/utils/classnames'
+import AppIcon from '@/app/components/base/app-icon'
+import { Tag01 } from '@/app/components/base/icons/src/vender/line/financeAndECommerce'
+import I18n from '@/context/i18n'
+import { getLanguage } from '@/i18n/language'
+import { useStore as useLabelStore } from '@/app/components/tools/labels/store'
+
+type Props = {
+  active: boolean
+  collection: Collection
+  onSelect: () => void
+}
+
+const ProviderCard = ({
+  active,
+  collection,
+  onSelect,
+}: Props) => {
+  const { t } = useTranslation()
+  const { locale } = useContext(I18n)
+  const language = getLanguage(locale)
+  const labelList = useLabelStore(s => s.labelList)
+
+  const labelContent = useMemo(() => {
+    if (!collection.labels)
+      return ''
+    return collection.labels.map((name) => {
+      const label = labelList.find(item => item.name === name)
+      return label?.label[language]
+    }).filter(Boolean).join(', ')
+  }, [collection.labels, labelList, language])
+
+  return (
+    <div className={cn('group col-span-1 bg-white border-2 border-solid border-transparent rounded-xl shadow-sm min-h-[160px] flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg', active && '!border-primary-400')} onClick={onSelect}>
+      <div className='flex pt-[14px] px-[14px] pb-3 h-[66px] items-center gap-3 grow-0 shrink-0'>
+        <div className='relative shrink-0'>
+          {typeof collection.icon === 'string' && (
+            <div className='w-10 h-10 bg-center bg-cover bg-no-repeat rounded-md' style={{ backgroundImage: `url(${collection.icon})` }} />
+          )}
+          {typeof collection.icon !== 'string' && (
+            <AppIcon
+              size='large'
+              icon={collection.icon.content}
+              background={collection.icon.background}
+            />
+          )}
+        </div>
+        <div className='grow w-0 py-[1px]'>
+          <div className='flex items-center text-sm leading-5 font-semibold text-gray-800'>
+            <div className='truncate' title={collection.label[language]}>{collection.label[language]}</div>
+          </div>
+          <div className='flex items-center text-[10px] leading-[18px] text-gray-500 font-medium'>
+            <div className='truncate'>{t('tools.author')}&nbsp;{collection.author}</div>
+          </div>
+        </div>
+      </div>
+      <div
+        className={cn(
+          'grow mb-2 px-[14px] max-h-[72px] text-xs leading-normal text-gray-500',
+          collection.labels?.length ? 'line-clamp-2' : 'line-clamp-4',
+          collection.labels?.length > 0 && 'group-hover:line-clamp-2 group-hover:max-h-[36px]',
+        )}
+        title={collection.description[language]}
+      >
+        {collection.description[language]}
+      </div>
+      {collection.labels?.length > 0 && (
+        <div className='flex items-center shrink-0 mt-1 pt-1 pl-[14px] pr-[6px] pb-[6px] h-[42px]'>
+          <div className='relative w-full flex items-center gap-1 py-[7px] rounded-md text-gray-500' title={labelContent}>
+            <Tag01 className='shrink-0 w-3 h-3' />
+            <div className='grow text-xs text-start leading-[18px] font-normal truncate'>{labelContent}</div>
+          </div>
+        </div>
+      )}
+    </div>
+  )
+}
+export default ProviderCard
diff --git a/app/components/tools/provider/contribute.tsx b/app/components/tools/provider/contribute.tsx
new file mode 100644
index 0000000..8b6705c
--- /dev/null
+++ b/app/components/tools/provider/contribute.tsx
@@ -0,0 +1,40 @@
+'use client'
+import type { FC } from 'react'
+import React from 'react'
+import { useTranslation } from 'react-i18next'
+import {
+  RiHammerFill,
+} from '@remixicon/react'
+import { Heart02 } from '@/app/components/base/icons/src/vender/solid/education'
+import { BookOpen01 } from '@/app/components/base/icons/src/vender/line/education'
+import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows'
+
+const Contribute: FC = () => {
+  const { t } = useTranslation()
+
+  return (
+    <a
+      href='https://github.com/langgenius/dify/blob/main/api/core/tools/README.md'
+      target='_blank'
+      rel='noopener noreferrer'
+      className="group flex col-span-1 bg-white bg-cover bg-no-repeat bg-[url('~@/app/components/tools/provider/grid_bg.svg')] border-2 border-solid border-transparent rounded-xl shadow-sm min-h-[160px] flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg"
+    >
+      <div className='flex pt-[14px] px-[14px] pb-3 h-[66px] items-center gap-3 grow-0 shrink-0'>
+        <div className='relative shrink-0 flex items-center'>
+          <div className='z-10 flex p-3 rounded-[10px] bg-white border-[0.5px] border-primary-100 shadow-md'><RiHammerFill className='w-4 h-4 text-primary-600'/></div>
+          <div className='-translate-x-2 flex p-3 rounded-[10px] bg-[#FEF6FB] border-[0.5px] border-[#FCE7F6] shadow-md'><Heart02 className='w-4 h-4 text-[#EE46BC]'/></div>
+        </div>
+      </div>
+      <div className='mb-3 px-[14px] text-[15px] leading-5 font-semibold'>
+        <div className='text-gradient'>{t('tools.contribute.line1')}</div>
+        <div className='text-gradient'>{t('tools.contribute.line2')}</div>
+      </div>
+      <div className='px-4 py-3 border-t-[0.5px] border-black/5 flex items-center space-x-1 text-[#155EEF]'>
+        <BookOpen01 className='w-3 h-3' />
+        <div className='grow leading-[18px] text-xs font-normal'>{t('tools.contribute.viewGuide')}</div>
+        <ArrowUpRight className='w-3 h-3' />
+      </div>
+    </a>
+  )
+}
+export default React.memo(Contribute)
diff --git a/app/components/tools/provider/custom-create-card.tsx b/app/components/tools/provider/custom-create-card.tsx
index 6dd268c..d6aa9ab 100644
--- a/app/components/tools/provider/custom-create-card.tsx
+++ b/app/components/tools/provider/custom-create-card.tsx
@@ -28,7 +28,7 @@
   const linkUrl = useMemo(() => {
     if (language.startsWith('zh_'))
       return 'https://docs.dify.ai/zh-hans/guides/tools#ru-he-chuang-jian-zi-ding-yi-gong-ju'
-    return 'https://docs.dify.ai/en/guides/tools#how-to-create-custom-tools'
+    return 'https://docs.dify.ai/guides/tools#how-to-create-custom-tools'
   }, [language])
 
   const [isShowEditCollectionToolModal, setIsShowEditCustomCollectionModal] = useState(false)
@@ -45,20 +45,20 @@
   return (
     <>
       {isCurrentWorkspaceManager && (
-        <div className='col-span-1 flex min-h-[135px] cursor-pointer flex-col rounded-xl border-[0.5px] border-divider-subtle bg-components-panel-on-panel-item-bg transition-all duration-200 ease-in-out hover:bg-components-panel-on-panel-item-bg-hover hover:shadow-lg'>
-          <div className='group grow rounded-t-xl hover:bg-background-body' onClick={() => setIsShowEditCustomCollectionModal(true)}>
-            <div className='flex shrink-0 items-center p-4 pb-3'>
-              <div className='flex h-10 w-10 items-center justify-center rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg group-hover:border-components-option-card-option-border-hover group-hover:bg-components-option-card-option-bg-hover'>
-                <RiAddLine className='h-4 w-4 text-text-tertiary group-hover:text-text-accent'/>
+        <div className='flex flex-col col-span-1 bg-gray-200 border-[0.5px] border-black/5 rounded-xl min-h-[160px] transition-all duration-200 ease-in-out cursor-pointer hover:bg-gray-50 hover:shadow-lg'>
+          <div className='group grow rounded-t-xl hover:bg-white' onClick={() => setIsShowEditCustomCollectionModal(true)}>
+            <div className='shrink-0 flex items-center p-4 pb-3'>
+              <div className='w-10 h-10 flex items-center justify-center border border-gray-200 bg-gray-100 rounded-lg group-hover:border-primary-100 group-hover:bg-primary-50'>
+                <RiAddLine className='w-4 h-4 text-gray-500 group-hover:text-primary-600'/>
               </div>
-              <div className='ml-3 text-sm font-semibold leading-5 text-text-primary group-hover:text-text-accent'>{t('tools.createCustomTool')}</div>
+              <div className='ml-3 text-sm font-semibold leading-5 text-gray-800 group-hover:text-primary-600'>{t('tools.createCustomTool')}</div>
             </div>
           </div>
-          <div className='rounded-b-xl border-t-[0.5px] border-divider-regular px-4 py-3 text-text-tertiary hover:bg-background-body hover:text-text-accent'>
+          <div className='px-4 py-3 rounded-b-xl border-t-[0.5px] border-black/5 text-gray-500 hover:text-[#155EEF] hover:bg-white'>
             <a href={linkUrl} target='_blank' rel='noopener noreferrer' className='flex items-center space-x-1'>
-              <BookOpen01 className='h-3 w-3 shrink-0' />
-              <div className='grow truncate text-xs font-normal leading-[18px]' title={t('tools.customToolTip') || ''}>{t('tools.customToolTip')}</div>
-              <ArrowUpRight className='h-3 w-3 shrink-0' />
+              <BookOpen01 className='shrink-0 w-3 h-3' />
+              <div className='grow leading-[18px] text-xs font-normal truncate' title={t('tools.customToolTip') || ''}>{t('tools.customToolTip')}</div>
+              <ArrowUpRight className='shrink-0 w-3 h-3' />
             </a>
           </div>
         </div>
diff --git a/app/components/tools/provider/detail.tsx b/app/components/tools/provider/detail.tsx
index 045d6f1..566fe46 100644
--- a/app/components/tools/provider/detail.tsx
+++ b/app/components/tools/provider/detail.tsx
@@ -2,31 +2,21 @@
 import React, { useCallback, useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
-import {
-  RiCloseLine,
-} from '@remixicon/react'
 import { AuthHeaderPrefix, AuthType, CollectionType } from '../types'
-import Link from 'next/link'
 import type { Collection, CustomCollectionBackend, Tool, WorkflowToolProviderRequest, WorkflowToolProviderResponse } from '../types'
 import ToolItem from './tool-item'
 import cn from '@/utils/classnames'
 import I18n from '@/context/i18n'
 import { getLanguage } from '@/i18n/language'
 import Confirm from '@/app/components/base/confirm'
+import AppIcon from '@/app/components/base/app-icon'
 import Button from '@/app/components/base/button'
 import Indicator from '@/app/components/header/indicator'
 import { LinkExternal02, Settings01 } from '@/app/components/base/icons/src/vender/line/general'
-import Icon from '@/app/components/plugins/card/base/card-icon'
-import Title from '@/app/components/plugins/card/base/title'
-import OrgInfo from '@/app/components/plugins/card/base/org-info'
-import Description from '@/app/components/plugins/card/base/description'
 import ConfigCredential from '@/app/components/tools/setting/build-in/config-credentials'
 import EditCustomToolModal from '@/app/components/tools/edit-custom-collection-modal'
 import WorkflowToolModal from '@/app/components/tools/workflow-tool'
 import Toast from '@/app/components/base/toast'
-import Drawer from '@/app/components/base/drawer'
-import ActionButton from '@/app/components/base/action-button'
-
 import {
   deleteWorkflowTool,
   fetchBuiltInToolList,
@@ -45,17 +35,14 @@
 import { ConfigurationMethodEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import Loading from '@/app/components/base/loading'
 import { useAppContext } from '@/context/app-context'
-import { useInvalidateAllWorkflowTools } from '@/service/use-tools'
 
 type Props = {
   collection: Collection
-  onHide: () => void
   onRefreshData: () => void
 }
 
 const ProviderDetail = ({
   collection,
-  onHide,
   onRefreshData,
 }: Props) => {
   const { t } = useTranslation()
@@ -67,7 +54,7 @@
   const isBuiltIn = collection.type === CollectionType.builtIn
   const isModel = collection.type === CollectionType.model
   const { isCurrentWorkspaceManager } = useAppContext()
-  const invalidateAllWorkflowTools = useInvalidateAllWorkflowTools()
+
   const [isDetailLoading, setIsDetailLoading] = useState(false)
 
   // built in provider
@@ -166,7 +153,6 @@
     workflow_tool_id: string
   }>) => {
     await saveWorkflowToolProvider(data)
-    invalidateAllWorkflowTools()
     onRefreshData()
     getWorkflowToolProvider()
     Toast.notify({
@@ -214,7 +200,7 @@
         setToolList(list)
       }
     }
-    catch { }
+    catch (e) { }
     setIsDetailLoading(false)
   }, [collection.name, collection.type])
 
@@ -227,204 +213,164 @@
   }, [collection.name, collection.type, getCustomProvider, getProviderToolList, getWorkflowToolProvider])
 
   return (
-    <Drawer
-      isOpen={!!collection}
-      clickOutsideNotOpen={false}
-      onClose={onHide}
-      footer={null}
-      mask={false}
-      positionCenter={false}
-      panelClassName={cn('mb-2 mr-2 mt-[64px] !w-[420px] !max-w-[420px] justify-start rounded-2xl border-[0.5px] border-components-panel-border !bg-components-panel-bg !p-0 shadow-xl')}
-    >
-      <div className='flex h-full flex-col p-4'>
-        <div className="shrink-0">
-          <div className='mb-3 flex'>
-            <Icon src={collection.icon} />
-            <div className="ml-3 w-0 grow">
-              <div className="flex h-5 items-center">
-                <Title title={collection.label[language]} />
-              </div>
-              <div className='mb-1 flex h-4 items-center justify-between'>
-                <OrgInfo
-                  className="mt-0.5"
-                  packageNameClassName='w-auto'
-                  orgName={collection.author}
-                  packageName={collection.name}
-                />
-              </div>
-            </div>
-            <div className='flex gap-1'>
-              <ActionButton onClick={onHide}>
-                <RiCloseLine className='h-4 w-4' />
-              </ActionButton>
-            </div>
+    <div className='px-6 py-3'>
+      <div className='flex items-center py-1 gap-2'>
+        <div className='relative shrink-0'>
+          {typeof collection.icon === 'string' && (
+            <div className='w-8 h-8 bg-center bg-cover bg-no-repeat rounded-md' style={{ backgroundImage: `url(${collection.icon})` }} />
+          )}
+          {typeof collection.icon !== 'string' && (
+            <AppIcon
+              size='small'
+              icon={collection.icon.content}
+              background={collection.icon.background}
+            />
+          )}
+        </div>
+        <div className='grow w-0 py-[1px]'>
+          <div className='flex items-center text-md leading-6 font-semibold text-gray-900'>
+            <div className='truncate' title={collection.label[language]}>{collection.label[language]}</div>
           </div>
         </div>
-        {!!collection.description[language] && (
-          <Description text={collection.description[language]} descriptionLineRows={2}></Description>
+      </div>
+      <div className='mt-2 min-h-[36px] text-gray-500 text-sm leading-[18px]'>{collection.description[language]}</div>
+      <div className='flex gap-1 border-b-[0.5px] border-black/5'>
+        {(collection.type === CollectionType.builtIn) && needAuth && (
+          <Button
+            variant={isAuthed ? 'secondary' : 'primary'}
+            className={cn('shrink-0 my-3 w-full', isAuthed && 'bg-white')}
+            onClick={() => {
+              if (collection.type === CollectionType.builtIn || collection.type === CollectionType.model)
+                showSettingAuthModal()
+            }}
+            disabled={!isCurrentWorkspaceManager}
+          >
+            {isAuthed && <Indicator className='mr-2' color={'green'} />}
+            <div className={cn('text-white leading-[18px] text-[13px] font-medium', isAuthed && '!text-gray-700')}>
+              {isAuthed ? t('tools.auth.authorized') : t('tools.auth.unauthorized')}
+            </div>
+          </Button>
         )}
-        <div className='flex gap-1 border-b-[0.5px] border-divider-subtle'>
-          {collection.type === CollectionType.custom && !isDetailLoading && (
+        {collection.type === CollectionType.custom && !isDetailLoading && (
+          <Button
+            className={cn('shrink-0 my-3 w-full')}
+            onClick={() => setIsShowEditCustomCollectionModal(true)}
+          >
+            <Settings01 className='mr-1 w-4 h-4 text-gray-500' />
+            <div className='leading-5 text-sm font-medium text-gray-700'>{t('tools.createTool.editAction')}</div>
+          </Button>
+        )}
+        {collection.type === CollectionType.workflow && !isDetailLoading && customCollection && (
+          <>
             <Button
-              className={cn('my-3 w-full shrink-0')}
-              onClick={() => setIsShowEditCustomCollectionModal(true)}
+              variant='primary'
+              className={cn('shrink-0 my-3 w-[183px]')}
             >
-              <Settings01 className='mr-1 h-4 w-4 text-text-tertiary' />
-              <div className='system-sm-medium text-text-secondary'>{t('tools.createTool.editAction')}</div>
+              <a className='flex items-center text-white' href={`/app/${(customCollection as WorkflowToolProviderResponse).workflow_app_id}/workflow`} rel='noreferrer' target='_blank'>
+                <div className='leading-5 text-sm font-medium'>{t('tools.openInStudio')}</div>
+                <LinkExternal02 className='ml-1 w-4 h-4' />
+              </a>
             </Button>
-          )}
-          {collection.type === CollectionType.workflow && !isDetailLoading && customCollection && (
-            <>
-              <Button
-                variant='primary'
-                className={cn('my-3 w-[183px] shrink-0')}
-              >
-                <Link className='flex items-center' href={`/app/${(customCollection as WorkflowToolProviderResponse).workflow_app_id}/workflow`} rel='noreferrer' target='_blank'>
-                  <div className='system-sm-medium'>{t('tools.openInStudio')}</div>
-                  <LinkExternal02 className='ml-1 h-4 w-4' />
-                </Link>
-              </Button>
-              <Button
-                className={cn('my-3 w-[183px] shrink-0')}
-                onClick={() => setIsShowEditWorkflowToolModal(true)}
-                disabled={!isCurrentWorkspaceManager}
-              >
-                <div className='system-sm-medium text-text-secondary'>{t('tools.createTool.editAction')}</div>
-              </Button>
-            </>
-          )}
-        </div>
-        <div className='flex min-h-0 flex-1 flex-col pt-3'>
-          {isDetailLoading && <div className='flex h-[200px]'><Loading type='app' /></div>}
-          {!isDetailLoading && (
-            <>
-              <div className="shrink-0">
-                {(collection.type === CollectionType.builtIn || collection.type === CollectionType.model) && isAuthed && (
-                  <div className='system-sm-semibold-uppercase mb-1 flex h-6 items-center justify-between text-text-secondary'>
-                    {t('plugin.detailPanel.actionNum', { num: toolList.length, action: toolList.length > 1 ? 'actions' : 'action' })}
-                    {needAuth && (
-                      <Button
-                        variant='secondary'
-                        size='small'
-                        onClick={() => {
-                          if (collection.type === CollectionType.builtIn || collection.type === CollectionType.model)
-                            showSettingAuthModal()
-                        }}
-                        disabled={!isCurrentWorkspaceManager}
-                      >
-                        <Indicator className='mr-2' color={'green'} />
-                        {t('tools.auth.authorized')}
-                      </Button>
-                    )}
-                  </div>
-                )}
-                {(collection.type === CollectionType.builtIn || collection.type === CollectionType.model) && needAuth && !isAuthed && (
-                  <>
-                    <div className='system-sm-semibold-uppercase text-text-secondary'>
-                      <span className=''>{t('tools.includeToolNum', { num: toolList.length, action: toolList.length > 1 ? 'actions' : 'action' }).toLocaleUpperCase()}</span>
-                      <span className='px-1'>路</span>
-                      <span className='text-util-colors-orange-orange-600'>{t('tools.auth.setup').toLocaleUpperCase()}</span>
-                    </div>
-                    <Button
-                      variant='primary'
-                      className={cn('my-3 w-full shrink-0')}
-                      onClick={() => {
-                        if (collection.type === CollectionType.builtIn || collection.type === CollectionType.model)
-                          showSettingAuthModal()
-                      }}
-                      disabled={!isCurrentWorkspaceManager}
-                    >
-                      {t('tools.auth.unauthorized')}
-                    </Button>
-                  </>
-                )}
-                {(collection.type === CollectionType.custom) && (
-                  <div className='system-sm-semibold-uppercase text-text-secondary'>
-                    <span className=''>{t('tools.includeToolNum', { num: toolList.length, action: toolList.length > 1 ? 'actions' : 'action' }).toLocaleUpperCase()}</span>
-                  </div>
-                )}
-                {(collection.type === CollectionType.workflow) && (
-                  <div className='system-sm-semibold-uppercase text-text-secondary'>
-                    <span className=''>{t('tools.createTool.toolInput.title').toLocaleUpperCase()}</span>
-                  </div>
-                )}
-              </div>
-              <div className='mt-1 flex-1 overflow-y-auto py-2'>
-                {collection.type !== CollectionType.workflow && toolList.map(tool => (
-                  <ToolItem
-                    key={tool.name}
-                    disabled={false}
-                    collection={collection}
-                    tool={tool}
-                    isBuiltIn={isBuiltIn}
-                    isModel={isModel}
-                  />
-                ))}
-                {collection.type === CollectionType.workflow && (customCollection as WorkflowToolProviderResponse)?.tool?.parameters.map(item => (
-                  <div key={item.name} className='mb-1 py-1'>
-                    <div className='mb-1 flex items-center gap-2'>
-                      <span className='code-sm-semibold text-text-secondary'>{item.name}</span>
-                      <span className='system-xs-regular text-text-tertiary'>{item.type}</span>
-                      <span className='system-xs-medium text-text-warning-secondary'>{item.required ? t('tools.createTool.toolInput.required') : ''}</span>
-                    </div>
-                    <div className='system-xs-regular text-text-tertiary'>{item.llm_description}</div>
-                  </div>
-                ))}
-              </div>
-            </>
-          )}
-        </div>
-        {showSettingAuth && (
-          <ConfigCredential
-            collection={collection}
-            onCancel={() => setShowSettingAuth(false)}
-            onSaved={async (value) => {
-              await updateBuiltInToolCredential(collection.name, value)
-              Toast.notify({
-                type: 'success',
-                message: t('common.api.actionSuccess'),
-              })
-              await onRefreshData()
-              setShowSettingAuth(false)
-            }}
-            onRemove={async () => {
-              await removeBuiltInToolCredential(collection.name)
-              Toast.notify({
-                type: 'success',
-                message: t('common.api.actionSuccess'),
-              })
-              await onRefreshData()
-              setShowSettingAuth(false)
-            }}
-          />
-        )}
-        {isShowEditCollectionToolModal && (
-          <EditCustomToolModal
-            payload={customCollection}
-            onHide={() => setIsShowEditCustomCollectionModal(false)}
-            onEdit={doUpdateCustomToolCollection}
-            onRemove={onClickCustomToolDelete}
-          />
-        )}
-        {isShowEditWorkflowToolModal && (
-          <WorkflowToolModal
-            payload={customCollection}
-            onHide={() => setIsShowEditWorkflowToolModal(false)}
-            onRemove={onClickWorkflowToolDelete}
-            onSave={updateWorkflowToolProvider}
-          />
-        )}
-        {showConfirmDelete && (
-          <Confirm
-            title={t('tools.createTool.deleteToolConfirmTitle')}
-            content={t('tools.createTool.deleteToolConfirmContent')}
-            isShow={showConfirmDelete}
-            onConfirm={handleConfirmDelete}
-            onCancel={() => setShowConfirmDelete(false)}
-          />
+            <Button
+              className={cn('shrink-0 my-3 w-[183px]')}
+              onClick={() => setIsShowEditWorkflowToolModal(true)}
+              disabled={!isCurrentWorkspaceManager}
+            >
+              <div className='leading-5 text-sm font-medium text-gray-700'>{t('tools.createTool.editAction')}</div>
+            </Button>
+          </>
         )}
       </div>
-    </Drawer>
+      {/* Tools */}
+      <div className='pt-3'>
+        {isDetailLoading && <div className='flex h-[200px]'><Loading type='app' /></div>}
+        {!isDetailLoading && (
+          <div className='text-xs font-medium leading-6 text-gray-500'>
+            {collection.type === CollectionType.workflow && <span className=''>{t('tools.createTool.toolInput.title').toLocaleUpperCase()}</span>}
+            {collection.type !== CollectionType.workflow && <span className=''>{t('tools.includeToolNum', { num: toolList.length }).toLocaleUpperCase()}</span>}
+            {needAuth && (isBuiltIn || isModel) && !isAuthed && (
+              <>
+                <span className='px-1'>路</span>
+                <span className='text-[#DC6803]'>{t('tools.auth.setup').toLocaleUpperCase()}</span>
+              </>
+            )}
+          </div>
+        )}
+        {!isDetailLoading && (
+          <div className='mt-1'>
+            {collection.type !== CollectionType.workflow && toolList.map(tool => (
+              <ToolItem
+                key={tool.name}
+                disabled={needAuth && (isBuiltIn || isModel) && !isAuthed}
+                collection={collection}
+                tool={tool}
+                isBuiltIn={isBuiltIn}
+                isModel={isModel}
+              />
+            ))}
+            {collection.type === CollectionType.workflow && (customCollection as WorkflowToolProviderResponse)?.tool?.parameters.map(item => (
+              <div key={item.name} className='mb-2 px-4 py-3 rounded-xl bg-gray-25 border-[0.5px] border-gray-200'>
+                <div className='flex items-center gap-2'>
+                  <span className='font-medium text-sm text-gray-900'>{item.name}</span>
+                  <span className='text-xs leading-[18px] text-gray-500'>{item.type}</span>
+                  <span className='font-medium text-xs leading-[18px] text-[#ec4a0a]'>{item.required ? t('tools.createTool.toolInput.required') : ''}</span>
+                </div>
+                <div className='h-[18px] leading-[18px] text-gray-500 text-xs'>{item.llm_description}</div>
+              </div>
+            ))}
+          </div>
+        )}
+      </div>
+      {showSettingAuth && (
+        <ConfigCredential
+          collection={collection}
+          onCancel={() => setShowSettingAuth(false)}
+          onSaved={async (value) => {
+            await updateBuiltInToolCredential(collection.name, value)
+            Toast.notify({
+              type: 'success',
+              message: t('common.api.actionSuccess'),
+            })
+            await onRefreshData()
+            setShowSettingAuth(false)
+          }}
+          onRemove={async () => {
+            await removeBuiltInToolCredential(collection.name)
+            Toast.notify({
+              type: 'success',
+              message: t('common.api.actionSuccess'),
+            })
+            await onRefreshData()
+            setShowSettingAuth(false)
+          }}
+        />
+      )}
+      {isShowEditCollectionToolModal && (
+        <EditCustomToolModal
+          payload={customCollection}
+          onHide={() => setIsShowEditCustomCollectionModal(false)}
+          onEdit={doUpdateCustomToolCollection}
+          onRemove={onClickCustomToolDelete}
+        />
+      )}
+      {isShowEditWorkflowToolModal && (
+        <WorkflowToolModal
+          payload={customCollection}
+          onHide={() => setIsShowEditWorkflowToolModal(false)}
+          onRemove={onClickWorkflowToolDelete}
+          onSave={updateWorkflowToolProvider}
+        />
+      )}
+      {showConfirmDelete && (
+        <Confirm
+          title={t('tools.createTool.deleteToolConfirmTitle')}
+          content={t('tools.createTool.deleteToolConfirmContent')}
+          isShow={showConfirmDelete}
+          onConfirm={handleConfirmDelete}
+          onCancel={() => setShowConfirmDelete(false)}
+        />
+      )}
+    </div>
   )
 }
 export default ProviderDetail
diff --git a/app/components/tools/provider/grid_bg.svg b/app/components/tools/provider/grid_bg.svg
new file mode 100644
index 0000000..8b0f531
--- /dev/null
+++ b/app/components/tools/provider/grid_bg.svg
@@ -0,0 +1,14 @@
+<svg width="345" height="118" viewBox="0 0 345 118" fill="none" xmlns="http://www.w3.org/2000/svg">
+<mask id="mask0_17759_72539" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="345" height="118">
+<rect width="345" height="118" fill="url(#paint0_linear_17759_72539)"/>
+</mask>
+<g mask="url(#mask0_17759_72539)">
+<path d="M8 0H0V8M8 0V8M8 0H16M8 8H0M8 8H16M8 8V16M0 8V16M16 0V8M16 0H24M16 8H24M16 8V16M24 0V8M24 0H32M24 8H32M24 8V16M32 0V8M32 0H40M32 8H40M32 8V16M40 0V8M40 0H48M40 8H48M40 8V16M48 0V8M48 0H56M48 8H56M48 8V16M56 0V8M56 0H64M56 8H64M56 8V16M64 0V8M64 0H72M64 8H72M64 8V16M72 0V8M72 0H80M72 8H80M72 8V16M80 0V8M80 0H88M80 8H88M80 8V16M88 0V8M88 0H96M88 8H96M88 8V16M96 0V8M96 0H104M96 8H104M96 8V16M104 0V8M104 0H112M104 8H112M104 8V16M112 0V8M112 0H120M112 8H120M112 8V16M120 0V8M120 0H128M120 8H128M120 8V16M128 0V8M128 0H136M128 8H136M128 8V16M136 0V8M136 0H144M136 8H144M136 8V16M144 0V8M144 0H152M144 8H152M144 8V16M152 0V8M152 0H160M152 8H160M152 8V16M160 0V8M160 0H168M160 8H168M160 8V16M168 0V8M168 0H176M168 8H176M168 8V16M176 0V8M176 0H184M176 8H184M176 8V16M184 0V8M184 0H192M184 8H192M184 8V16M192 0V8M192 0H200M192 8H200M192 8V16M200 0V8M200 0H208M200 8H208M200 8V16M208 0V8M208 0H216M208 8H216M208 8V16M216 0V8M216 0H224M216 8H224M216 8V16M224 0V8M224 0H232M224 8H232M224 8V16M232 0V8M232 0H240M232 8H240M232 8V16M240 0V8M240 0H248M240 8H248M240 8V16M248 0V8M248 0H256M248 8H256M248 8V16M256 0V8M256 0H264M256 8H264M256 8V16M264 0V8M264 0H272M264 8H272M264 8V16M272 0V8M272 0H280M272 8H280M272 8V16M280 0V8M280 0H288M280 8V16M280 8H288M8 16H0M8 16H16M8 16V24M0 16V24M16 16H24M16 16V24M24 16H32M24 16V24M32 16H40M32 16V24M40 16H48M40 16V24M48 16H56M48 16V24M56 16H64M56 16V24M64 16H72M64 16V24M72 16H80M72 16V24M80 16H88M80 16V24M88 16H96M88 16V24M96 16H104M96 16V24M104 16H112M104 16V24M112 16H120M112 16V24M120 16H128M120 16V24M128 16H136M128 16V24M136 16H144M136 16V24M144 16H152M144 16V24M152 16H160M152 16V24M160 16H168M160 16V24M168 16H176M168 16V24M176 16H184M176 16V24M184 16H192M184 16V24M192 16H200M192 16V24M200 16H208M200 16V24M208 16H216M208 16V24M216 16H224M216 16V24M224 16H232M224 16V24M232 16H240M232 16V24M240 16H248M240 16V24M248 16H256M248 16V24M256 16H264M256 16V24M264 16H272M264 16V24M272 16H280M272 16V24M280 16V24M280 16H288M8 24H0M8 24H16M8 24V32M0 24V32M16 24H24M16 24V32M24 24H32M24 24V32M32 24H40M32 24V32M40 24H48M40 24V32M48 24H56M48 24V32M56 24H64M56 24V32M64 24H72M64 24V32M72 24H80M72 24V32M80 24H88M80 24V32M88 24H96M88 24V32M96 24H104M96 24V32M104 24H112M104 24V32M112 24H120M112 24V32M120 24H128M120 24V32M128 24H136M128 24V32M136 24H144M136 24V32M144 24H152M144 24V32M152 24H160M152 24V32M160 24H168M160 24V32M168 24H176M168 24V32M176 24H184M176 24V32M184 24H192M184 24V32M192 24H200M192 24V32M200 24H208M200 24V32M208 24H216M208 24V32M216 24H224M216 24V32M224 24H232M224 24V32M232 24H240M232 24V32M240 24H248M240 24V32M248 24H256M248 24V32M256 24H264M256 24V32M264 24H272M264 24V32M272 24H280M272 24V32M280 24V32M280 24H288M8 32H0M8 32H16M8 32V40M0 32V40M16 32H24M16 32V40M24 32H32M24 32V40M32 32H40M32 32V40M40 32H48M40 32V40M48 32H56M48 32V40M56 32H64M56 32V40M64 32H72M64 32V40M72 32H80M72 32V40M80 32H88M80 32V40M88 32H96M88 32V40M96 32H104M96 32V40M104 32H112M104 32V40M112 32H120M112 32V40M120 32H128M120 32V40M128 32H136M128 32V40M136 32H144M136 32V40M144 32H152M144 32V40M152 32H160M152 32V40M160 32H168M160 32V40M168 32H176M168 32V40M176 32H184M176 32V40M184 32H192M184 32V40M192 32H200M192 32V40M200 32H208M200 32V40M208 32H216M208 32V40M216 32H224M216 32V40M224 32H232M224 32V40M232 32H240M232 32V40M240 32H248M240 32V40M248 32H256M248 32V40M256 32H264M256 32V40M264 32H272M264 32V40M272 32H280M272 32V40M280 32V40M280 32H288M8 40H0M8 40H16M8 40V48M0 40V48M16 40H24M16 40V48M24 40H32M24 40V48M32 40H40M32 40V48M40 40H48M40 40V48M48 40H56M48 40V48M56 40H64M56 40V48M64 40H72M64 40V48M72 40H80M72 40V48M80 40H88M80 40V48M88 40H96M88 40V48M96 40H104M96 40V48M104 40H112M104 40V48M112 40H120M112 40V48M120 40H128M120 40V48M128 40H136M128 40V48M136 40H144M136 40V48M144 40H152M144 40V48M152 40H160M152 40V48M160 40H168M160 40V48M168 40H176M168 40V48M176 40H184M176 40V48M184 40H192M184 40V48M192 40H200M192 40V48M200 40H208M200 40V48M208 40H216M208 40V48M216 40H224M216 40V48M224 40H232M224 40V48M232 40H240M232 40V48M240 40H248M240 40V48M248 40H256M248 40V48M256 40H264M256 40V48M264 40H272M264 40V48M272 40H280M272 40V48M280 40V48M280 40H288M8 48H0M8 48H16M8 48V56M0 48V56M16 48H24M16 48V56M24 48H32M24 48V56M32 48H40M32 48V56M40 48H48M40 48V56M48 48H56M48 48V56M56 48H64M56 48V56M64 48H72M64 48V56M72 48H80M72 48V56M80 48H88M80 48V56M88 48H96M88 48V56M96 48H104M96 48V56M104 48H112M104 48V56M112 48H120M112 48V56M120 48H128M120 48V56M128 48H136M128 48V56M136 48H144M136 48V56M144 48H152M144 48V56M152 48H160M152 48V56M160 48H168M160 48V56M168 48H176M168 48V56M176 48H184M176 48V56M184 48H192M184 48V56M192 48H200M192 48V56M200 48H208M200 48V56M208 48H216M208 48V56M216 48H224M216 48V56M224 48H232M224 48V56M232 48H240M232 48V56M240 48H248M240 48V56M248 48H256M248 48V56M256 48H264M256 48V56M264 48H272M264 48V56M272 48H280M272 48V56M280 48V56M280 48H288M8 56H0M8 56H16M8 56V64M0 56V64M16 56H24M16 56V64M24 56H32M24 56V64M32 56H40M32 56V64M40 56H48M40 56V64M48 56H56M48 56V64M56 56H64M56 56V64M64 56H72M64 56V64M72 56H80M72 56V64M80 56H88M80 56V64M88 56H96M88 56V64M96 56H104M96 56V64M104 56H112M104 56V64M112 56H120M112 56V64M120 56H128M120 56V64M128 56H136M128 56V64M136 56H144M136 56V64M144 56H152M144 56V64M152 56H160M152 56V64M160 56H168M160 56V64M168 56H176M168 56V64M176 56H184M176 56V64M184 56H192M184 56V64M192 56H200M192 56V64M200 56H208M200 56V64M208 56H216M208 56V64M216 56H224M216 56V64M224 56H232M224 56V64M232 56H240M232 56V64M240 56H248M240 56V64M248 56H256M248 56V64M256 56H264M256 56V64M264 56H272M264 56V64M272 56H280M272 56V64M280 56V64M280 56H288M8 64H0M8 64H16M8 64V72M0 64V72M16 64H24M16 64V72M24 64H32M24 64V72M32 64H40M32 64V72M40 64H48M40 64V72M48 64H56M48 64V72M56 64H64M56 64V72M64 64H72M64 64V72M72 64H80M72 64V72M80 64H88M80 64V72M88 64H96M88 64V72M96 64H104M96 64V72M104 64H112M104 64V72M112 64H120M112 64V72M120 64H128M120 64V72M128 64H136M128 64V72M136 64H144M136 64V72M144 64H152M144 64V72M152 64H160M152 64V72M160 64H168M160 64V72M168 64H176M168 64V72M176 64H184M176 64V72M184 64H192M184 64V72M192 64H200M192 64V72M200 64H208M200 64V72M208 64H216M208 64V72M216 64H224M216 64V72M224 64H232M224 64V72M232 64H240M232 64V72M240 64H248M240 64V72M248 64H256M248 64V72M256 64H264M256 64V72M264 64H272M264 64V72M272 64H280M272 64V72M280 64V72M280 64H288M8 72H0M8 72H16M8 72V80M0 72V80M16 72H24M16 72V80M24 72H32M24 72V80M32 72H40M32 72V80M40 72H48M40 72V80M48 72H56M48 72V80M56 72H64M56 72V80M64 72H72M64 72V80M72 72H80M72 72V80M80 72H88M80 72V80M88 72H96M88 72V80M96 72H104M96 72V80M104 72H112M104 72V80M112 72H120M112 72V80M120 72H128M120 72V80M128 72H136M128 72V80M136 72H144M136 72V80M144 72H152M144 72V80M152 72H160M152 72V80M160 72H168M160 72V80M168 72H176M168 72V80M176 72H184M176 72V80M184 72H192M184 72V80M192 72H200M192 72V80M200 72H208M200 72V80M208 72H216M208 72V80M216 72H224M216 72V80M224 72H232M224 72V80M232 72H240M232 72V80M240 72H248M240 72V80M248 72H256M248 72V80M256 72H264M256 72V80M264 72H272M264 72V80M272 72H280M272 72V80M280 72V80M280 72H288M8 80H0M8 80H16M8 80V88M0 80L0 88M16 80H24M16 80V88M24 80H32M24 80V88M32 80H40M32 80V88M40 80H48M40 80V88M48 80H56M48 80V88M56 80H64M56 80V88M64 80H72M64 80V88M72 80H80M72 80V88M80 80H88M80 80V88M88 80H96M88 80V88M96 80H104M96 80V88M104 80H112M104 80V88M112 80H120M112 80V88M120 80H128M120 80V88M128 80H136M128 80V88M136 80H144M136 80V88M144 80H152M144 80V88M152 80H160M152 80V88M160 80H168M160 80V88M168 80H176M168 80V88M176 80H184M176 80V88M184 80H192M184 80V88M192 80H200M192 80V88M200 80H208M200 80V88M208 80H216M208 80V88M216 80H224M216 80V88M224 80H232M224 80V88M232 80H240M232 80V88M240 80H248M240 80V88M248 80H256M248 80V88M256 80H264M256 80V88M264 80H272M264 80V88M272 80H280M272 80V88M280 80H288M280 80V88M288 0V8M288 0H296M288 8H296M288 8V16M296 0V8M296 0H304M296 8H304M296 8V16M304 0V8M304 0H312M304 8H312M304 8V16M312 0V8M312 0H320M312 8H320M312 8V16M320 0V8M320 0H328M320 8H328M320 8V16M328 0V8M328 0H336M328 8H336M328 8V16M336 0V8M336 0H344V8M336 8H344M336 8V16M344 8V16M288 16H296M288 16V24M296 16H304M296 16V24M304 16H312M304 16V24M312 16H320M312 16V24M320 16H328M320 16V24M328 16H336M328 16V24M336 16H344M336 16V24M344 16V24M288 24H296M288 24V32M296 24H304M296 24V32M304 24H312M304 24V32M312 24H320M312 24V32M320 24H328M320 24V32M328 24H336M328 24V32M336 24H344M336 24V32M344 24V32M288 32H296M288 32V40M296 32H304M296 32V40M304 32H312M304 32V40M312 32H320M312 32V40M320 32H328M320 32V40M328 32H336M328 32V40M336 32H344M336 32V40M344 32V40M288 40H296M288 40V48M296 40H304M296 40V48M304 40H312M304 40V48M312 40H320M312 40V48M320 40H328M320 40V48M328 40H336M328 40V48M336 40H344M336 40V48M344 40V48M288 48H296M288 48V56M296 48H304M296 48V56M304 48H312M304 48V56M312 48H320M312 48V56M320 48H328M320 48V56M328 48H336M328 48V56M336 48H344M336 48V56M344 48V56M288 56H296M288 56V64M296 56H304M296 56V64M304 56H312M304 56V64M312 56H320M312 56V64M320 56H328M320 56V64M328 56H336M328 56V64M336 56H344M336 56V64M344 56V64M288 64H296M288 64V72M296 64H304M296 64V72M304 64H312M304 64V72M312 64H320M312 64V72M320 64H328M320 64V72M328 64H336M328 64V72M336 64H344M336 64V72M344 64V72M288 72H296M288 72V80M296 72H304M296 72V80M304 72H312M304 72V80M312 72H320M312 72V80M320 72H328M320 72V80M328 72H336M328 72V80M336 72H344M336 72V80M344 72V80M288 80H296M288 80V88M296 80H304M296 80V88M304 80H312M304 80V88M312 80H320M312 80V88M320 80H328M320 80V88M328 80H336M328 80V88M336 80H344M336 80V88M344 80V88M8 88H0M8 88H16M8 88V96M0 88V96M16 88H24M16 88V96M24 88H32M24 88V96M32 88H40M32 88V96M40 88H48M40 88V96M48 88H56M48 88V96M56 88H64M56 88V96M64 88H72M64 88V96M72 88H80M72 88V96M80 88H88M80 88V96M88 88H96M88 88V96M96 88H104M96 88V96M104 88H112M104 88V96M112 88H120M112 88V96M120 88H128M120 88V96M128 88H136M128 88V96M136 88H144M136 88V96M144 88H152M144 88V96M152 88H160M152 88V96M160 88H168M160 88V96M168 88H176M168 88V96M176 88H184M176 88V96M184 88H192M184 88V96M192 88H200M192 88V96M200 88H208M200 88V96M208 88H216M208 88V96M216 88H224M216 88V96M224 88H232M224 88V96M232 88H240M232 88V96M240 88H248M240 88V96M248 88H256M248 88V96M256 88H264M256 88V96M264 88H272M264 88V96M272 88H280M272 88V96M280 88V96M280 88H288M8 96H0M8 96H16M8 96V104M0 96V104M16 96H24M16 96V104M24 96H32M24 96V104M32 96H40M32 96V104M40 96H48M40 96V104M48 96H56M48 96V104M56 96H64M56 96V104M64 96H72M64 96V104M72 96H80M72 96V104M80 96H88M80 96V104M88 96H96M88 96V104M96 96H104M96 96V104M104 96H112M104 96V104M112 96H120M112 96V104M120 96H128M120 96V104M128 96H136M128 96V104M136 96H144M136 96V104M144 96H152M144 96V104M152 96H160M152 96V104M160 96H168M160 96V104M168 96H176M168 96V104M176 96H184M176 96V104M184 96H192M184 96V104M192 96H200M192 96V104M200 96H208M200 96V104M208 96H216M208 96V104M216 96H224M216 96V104M224 96H232M224 96V104M232 96H240M232 96V104M240 96H248M240 96V104M248 96H256M248 96V104M256 96H264M256 96V104M264 96H272M264 96V104M272 96H280M272 96V104M280 96V104M280 96H288M8 104H0M8 104H16M8 104V112M0 104V112H8M16 104H24M16 104V112M24 104H32M24 104V112M32 104H40M32 104V112M40 104H48M40 104V112M48 104H56M48 104V112M56 104H64M56 104V112M64 104H72M64 104V112M72 104H80M72 104V112M80 104H88M80 104V112M88 104H96M88 104V112M96 104H104M96 104V112M104 104H112M104 104V112M112 104H120M112 104V112M120 104H128M120 104V112M128 104H136M128 104V112M136 104H144M136 104V112M144 104H152M144 104V112M152 104H160M152 104V112M160 104H168M160 104V112M168 104H176M168 104V112M176 104H184M176 104V112M184 104H192M184 104V112M192 104H200M192 104V112M200 104H208M200 104V112M208 104H216M208 104V112M216 104H224M216 104V112M224 104H232M224 104V112M232 104H240M232 104V112M240 104H248M240 104V112M248 104H256M248 104V112M256 104H264M256 104V112M264 104H272M264 104V112M272 104H280M272 104V112M280 104V112M280 104H288M8 112H16M16 112H24M24 112H32M32 112H40M40 112H48M48 112H56M56 112H64M64 112H72M72 112H80M80 112H88M88 112H96M96 112H104M104 112H112M112 112H120M120 112H128M128 112H136M136 112H144M144 112H152M152 112H160M160 112H168M168 112H176M176 112H184M184 112H192M192 112H200M200 112H208M208 112H216M216 112H224M224 112H232M232 112H240M240 112H248M248 112H256M256 112H264M264 112H272M272 112H280M280 112H288M288 88H296M288 88V96M296 88H304M296 88V96M304 88H312M304 88V96M312 88H320M312 88V96M320 88H328M320 88V96M328 88H336M328 88V96M336 88H344M336 88V96M344 88V96M288 96H296M288 96V104M296 96H304M296 96V104M304 96H312M304 96V104M312 96H320M312 96V104M320 96H328M320 96V104M328 96H336M328 96V104M336 96H344M336 96V104M344 96V104M288 104H296M288 104V112M296 104H304M296 104V112M304 104H312M304 104V112M312 104H320M312 104V112M320 104H328M320 104V112M328 104H336M328 104V112M336 104H344M336 104V112M344 104V112H336M288 112H296M296 112H304M304 112H312M312 112H320M320 112H328M328 112H336" stroke="#1570EF" stroke-width="0.5"/>
+</g>
+<defs>
+<linearGradient id="paint0_linear_17759_72539" x1="172.5" y1="0" x2="172.5" y2="118" gradientUnits="userSpaceOnUse">
+<stop stop-color="#D9D9D9" stop-opacity="0.08"/>
+<stop offset="1" stop-color="#737373" stop-opacity="0"/>
+</linearGradient>
+</defs>
+</svg>
diff --git a/app/components/tools/provider/tool-item.tsx b/app/components/tools/provider/tool-item.tsx
index 161b629..2133f92 100644
--- a/app/components/tools/provider/tool-item.tsx
+++ b/app/components/tools/provider/tool-item.tsx
@@ -29,15 +29,14 @@
   return (
     <>
       <div
-        className={cn('bg-components-panel-item-bg mb-2 cursor-pointer rounded-xl border-[0.5px] border-components-panel-border-subtle px-4 py-3 shadow-xs hover:bg-components-panel-on-panel-item-bg-hover', disabled && '!cursor-not-allowed opacity-50')}
+        className={cn('mb-2 px-4 py-3 rounded-xl bg-gray-25 border-[0.5px] border-gary-200  shadow-xs cursor-pointer', disabled && 'opacity-50 !cursor-not-allowed')}
         onClick={() => !disabled && setShowDetail(true)}
       >
-        <div className='system-md-semibold pb-0.5 text-text-secondary'>{tool.label[language]}</div>
-        <div className='system-xs-regular line-clamp-2 text-text-tertiary' title={tool.description[language]}>{tool.description[language]}</div>
+        <div className='text-gray-800 font-semibold text-sm leading-5'>{tool.label[language]}</div>
+        <div className='mt-0.5 text-xs leading-[18px] text-gray-500 line-clamp-2' title={tool.description[language]}>{tool.description[language]}</div>
       </div>
       {showDetail && (
         <SettingBuiltInTool
-          showBackButton
           collection={collection}
           toolName={tool.name}
           readonly
diff --git a/app/components/tools/setting/build-in/config-credentials.tsx b/app/components/tools/setting/build-in/config-credentials.tsx
index 3ce3f62..23ef867 100644
--- a/app/components/tools/setting/build-in/config-credentials.tsx
+++ b/app/components/tools/setting/build-in/config-credentials.tsx
@@ -13,7 +13,6 @@
 import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form'
 import { LinkExternal02 } from '@/app/components/base/icons/src/vender/line/general'
 import { useLanguage } from '@/app/components/header/account-setting/model-provider-page/hooks'
-import { noop } from 'lodash-es'
 
 type Props = {
   collection: Collection
@@ -21,7 +20,6 @@
   onSaved: (value: Record<string, any>) => void
   isHideRemoveBtn?: boolean
   onRemove?: () => void
-  isSaving?: boolean
 }
 
 const ConfigCredential: FC<Props> = ({
@@ -29,15 +27,13 @@
   onCancel,
   onSaved,
   isHideRemoveBtn,
-  onRemove = noop,
-  isSaving,
+  onRemove = () => { },
 }) => {
   const { t } = useTranslation()
   const language = useLanguage()
   const [credentialSchema, setCredentialSchema] = useState<any>(null)
   const { name: collectionName } = collection
   const [tempCredential, setTempCredential] = React.useState<any>({})
-  const [isLoading, setIsLoading] = React.useState(false)
   useEffect(() => {
     fetchBuiltInToolCredentialSchema(collectionName).then(async (res) => {
       const toolCredentialSchemas = toolCredentialToFormSchemas(res)
@@ -49,21 +45,14 @@
     })
   }, [])
 
-  const handleSave = async () => {
+  const handleSave = () => {
     for (const field of credentialSchema) {
       if (field.required && !tempCredential[field.name]) {
         Toast.notify({ type: 'error', message: t('common.errorMsg.fieldRequired', { field: field.label[language] || field.label.en_US }) })
         return
       }
     }
-    setIsLoading(true)
-    try {
-      await onSaved(tempCredential)
-      setIsLoading(false)
-    }
-    finally {
-      setIsLoading(false)
-    }
+    onSaved(tempCredential)
   }
 
   return (
@@ -72,14 +61,14 @@
       onHide={onCancel}
       title={t('tools.auth.setupModalTitle') as string}
       titleDescription={t('tools.auth.setupModalTitleDescription') as string}
-      panelClassName='mt-[64px] mb-2 !w-[420px] border-components-panel-border'
-      maxWidthClassName='!max-w-[420px]'
-      height='calc(100vh - 64px)'
-      contentClassName='!bg-components-panel-bg'
-      headerClassName='!border-b-divider-subtle'
+      panelClassName='mt-2 !w-[405px]'
+      maxWidthClassName='!max-w-[405px]'
+      height='calc(100vh - 16px)'
+      contentClassName='!bg-gray-100'
+      headerClassName='!border-b-black/5'
       body={
 
-        <div className='h-full px-6 py-3'>
+        <div className='px-6 py-3 h-full'>
           {!credentialSchema
             ? <Loading type='app' />
             : (
@@ -93,15 +82,15 @@
                   isEditMode={true}
                   showOnVariableMap={{}}
                   validating={false}
-                  inputClassName='!bg-components-input-bg-normal'
+                  inputClassName='!bg-gray-50'
                   fieldMoreInfo={item => item.url
                     ? (<a
                       href={item.url}
                       target='_blank' rel='noopener noreferrer'
-                      className='inline-flex items-center text-xs text-text-accent'
+                      className='inline-flex items-center text-xs text-primary-600'
                     >
                       {t('tools.howToGet')}
-                      <LinkExternal02 className='ml-1 h-3 w-3' />
+                      <LinkExternal02 className='ml-1 w-3 h-3' />
                     </a>)
                     : null}
                 />
@@ -113,7 +102,7 @@
                   }
                   < div className='flex space-x-2'>
                     <Button onClick={onCancel}>{t('common.operation.cancel')}</Button>
-                    <Button loading={isLoading || isSaving} disabled={isLoading || isSaving} variant='primary' onClick={handleSave}>{t('common.operation.save')}</Button>
+                    <Button variant='primary' onClick={handleSave}>{t('common.operation.save')}</Button>
                   </div>
                 </div>
               </>
diff --git a/app/components/tools/types.ts b/app/components/tools/types.ts
index 32c468c..f2784e9 100644
--- a/app/components/tools/types.ts
+++ b/app/components/tools/types.ts
@@ -1,5 +1,4 @@
 import type { TypeWithI18N } from '../header/account-setting/model-provider-page/declarations'
-
 export enum LOC {
   tools = 'tools',
   app = 'app',
@@ -17,10 +16,10 @@
 }
 
 export type Credential = {
-  auth_type: AuthType
-  api_key_header?: string
-  api_key_value?: string
-  api_key_header_prefix?: AuthHeaderPrefix
+  'auth_type': AuthType
+  'api_key_header'?: string
+  'api_key_value'?: string
+  'api_key_header_prefix'?: AuthHeaderPrefix
 }
 
 export enum CollectionType {
@@ -48,8 +47,6 @@
   is_team_authorization: boolean
   allow_delete: boolean
   labels: string[]
-  plugin_id?: string
-  letter?: string
 }
 
 export type ToolParameter = {
@@ -69,7 +66,6 @@
   max?: number
 }
 
-// Action
 export type Tool = {
   name: string
   author: string
@@ -77,13 +73,12 @@
   description: any
   parameters: ToolParameter[]
   labels: string[]
-  output_schema: Record<string, any>
 }
 
 export type ToolCredential = {
   name: string
   label: TypeWithI18N
-  help: TypeWithI18N | null
+  help: TypeWithI18N
   placeholder: TypeWithI18N
   type: string
   required: boolean
diff --git a/app/components/tools/utils/to-form-schema.ts b/app/components/tools/utils/to-form-schema.ts
index 179f590..4e83248 100644
--- a/app/components/tools/utils/to-form-schema.ts
+++ b/app/components/tools/utils/to-form-schema.ts
@@ -1,5 +1,5 @@
 import type { ToolCredential, ToolParameter } from '../types'
-export const toType = (type: string) => {
+const toType = (type: string) => {
   switch (type) {
     case 'string':
       return 'text-input'
@@ -62,35 +62,4 @@
       newValues[formSchema.variable] = formSchema.default
   })
   return newValues
-}
-
-export const generateFormValue = (value: Record<string, any>, formSchemas: { variable: string; default?: any }[], isReasoning = false) => {
-  const newValues = {} as any
-  formSchemas.forEach((formSchema) => {
-    const itemValue = value[formSchema.variable]
-    if ((formSchema.default !== undefined) && (value === undefined || itemValue === null || itemValue === '' || itemValue === undefined)) {
-      newValues[formSchema.variable] = {
-        ...(isReasoning ? { value: null, auto: 1 } : { value: formSchema.default }),
-      }
-    }
-  })
-  return newValues
-}
-
-export const getPlainValue = (value: Record<string, any>) => {
-  const plainValue = { ...value }
-  Object.keys(plainValue).forEach((key) => {
-    plainValue[key] = value[key].value
-  })
-  return plainValue
-}
-
-export const getStructureValue = (value: Record<string, any>) => {
-  const newValue = { ...value } as any
-  Object.keys(newValue).forEach((key) => {
-    newValue[key] = {
-      value: value[key],
-    }
-  })
-  return newValue
 }
diff --git a/app/components/tools/workflow-tool/configure-button.tsx b/app/components/tools/workflow-tool/configure-button.tsx
index 0c72f82..6521410 100644
--- a/app/components/tools/workflow-tool/configure-button.tsx
+++ b/app/components/tools/workflow-tool/configure-button.tsx
@@ -2,10 +2,10 @@
 import React, { useCallback, useEffect, useMemo, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useRouter } from 'next/navigation'
-import { RiArrowRightUpLine, RiHammerLine } from '@remixicon/react'
-import Divider from '../../base/divider'
 import cn from '@/utils/classnames'
 import Button from '@/app/components/base/button'
+import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows'
+import { Tools } from '@/app/components/base/icons/src/vender/line/others'
 import Indicator from '@/app/components/header/indicator'
 import WorkflowToolModal from '@/app/components/tools/workflow-tool'
 import Loading from '@/app/components/base/loading'
@@ -13,9 +13,7 @@
 import { createWorkflowToolProvider, fetchWorkflowToolDetailByAppID, saveWorkflowToolProvider } from '@/service/tools'
 import type { Emoji, WorkflowToolProviderParameter, WorkflowToolProviderRequest, WorkflowToolProviderResponse } from '@/app/components/tools/types'
 import type { InputVar } from '@/app/components/workflow/types'
-import type { PublishWorkflowParams } from '@/types/workflow'
 import { useAppContext } from '@/context/app-context'
-import { useInvalidateAllWorkflowTools } from '@/service/use-tools'
 
 type Props = {
   disabled: boolean
@@ -26,7 +24,7 @@
   name: string
   description: string
   inputs?: InputVar[]
-  handlePublish: (params?: PublishWorkflowParams) => Promise<void>
+  handlePublish: () => void
   onRefreshData?: () => void
 }
 
@@ -48,7 +46,6 @@
   const [isLoading, setIsLoading] = useState(false)
   const [detail, setDetail] = useState<WorkflowToolProviderResponse>()
   const { isCurrentWorkspaceManager } = useAppContext()
-  const invalidateAllWorkflowTools = useInvalidateAllWorkflowTools()
 
   const outdated = useMemo(() => {
     if (!detail)
@@ -138,7 +135,6 @@
   const createHandle = async (data: WorkflowToolProviderRequest & { workflow_app_id: string }) => {
     try {
       await createWorkflowToolProvider(data)
-      invalidateAllWorkflowTools()
       onRefreshData?.()
       getDetail(workflowAppId)
       Toast.notify({
@@ -160,7 +156,6 @@
       await handlePublish()
       await saveWorkflowToolProvider(data)
       onRefreshData?.()
-      invalidateAllWorkflowTools()
       getDetail(workflowAppId)
       Toast.notify({
         type: 'success',
@@ -175,74 +170,61 @@
 
   return (
     <>
-      <Divider type='horizontal' className='h-[1px] bg-divider-subtle' />
-      {(!published || !isLoading) && (
-        <div className={cn(
-          'group rounded-lg bg-background-section-burn transition-colors',
-          disabled ? 'cursor-not-allowed opacity-30 shadow-xs' : 'cursor-pointer',
-          !disabled && !published && 'hover:bg-state-accent-hover',
-        )}>
-          {isCurrentWorkspaceManager
-            ? (
-              <div
-                className='flex items-center justify-start gap-2 p-2 pl-2.5'
-                onClick={() => !disabled && !published && setShowModal(true)}
-              >
-                <RiHammerLine className={cn('relative h-4 w-4 text-text-secondary', !disabled && !published && 'group-hover:text-text-accent')} />
+      <div className='mt-2 pt-2 border-t-[0.5px] border-t-black/5'>
+        {(!published || !isLoading) && (
+          <div className={cn(
+            'group bg-gray-100 rounded-lg transition-colors',
+            disabled ? 'shadow-xs opacity-30 cursor-not-allowed' : 'cursor-pointer',
+            !published && 'hover:bg-primary-50',
+          )}>
+            {isCurrentWorkspaceManager
+              ? (
                 <div
-                  title={t('workflow.common.workflowAsTool') || ''}
-                  className={cn('system-sm-medium shrink grow basis-0 truncate text-text-secondary', !disabled && !published && 'group-hover:text-text-accent')}
+                  className='flex justify-start items-center gap-2 px-2.5 py-2'
+                  onClick={() => !published && setShowModal(true)}
                 >
-                  {t('workflow.common.workflowAsTool')}
-                </div>
-                {!published && (
-                  <span className='system-2xs-medium-uppercase shrink-0 rounded-[5px] border border-divider-deep bg-components-badge-bg-dimm px-1 py-0.5 text-text-tertiary'>
-                    {t('workflow.common.configureRequired')}
-                  </span>
-                )}
-              </div>)
-            : (
-              <div
-                className='flex items-center justify-start gap-2 p-2 pl-2.5'
-              >
-                <RiHammerLine className='h-4 w-4 text-text-tertiary' />
+                  <Tools className={cn('relative w-4 h-4', !published && 'group-hover:text-primary-600')} />
+                  <div title={t('workflow.common.workflowAsTool') || ''} className={cn('grow shrink basis-0 text-[13px] font-medium leading-[18px] truncate', !published && 'group-hover:text-primary-600')}>{t('workflow.common.workflowAsTool')}</div>
+                  {!published && (
+                    <span className='shrink-0 px-1 border border-black/8 rounded-[5px] bg-white text-[10px] font-medium leading-[18px] text-gray-500'>{t('workflow.common.configureRequired').toLocaleUpperCase()}</span>
+                  )}
+                </div>)
+              : (
                 <div
-                  title={t('workflow.common.workflowAsTool') || ''}
-                  className='system-sm-medium shrink grow basis-0 truncate text-text-tertiary'
+                  className='flex justify-start items-center gap-2 px-2.5 py-2'
                 >
-                  {t('workflow.common.workflowAsTool')}
+                  <Tools className='w-4 h-4 text-gray-500' />
+                  <div title={t('workflow.common.workflowAsTool') || ''} className='grow shrink basis-0 text-[13px] font-medium leading-[18px] truncate text-gray-500'>{t('workflow.common.workflowAsTool')}</div>
                 </div>
+              )}
+            {published && (
+              <div className='px-2.5 py-2 border-t-[0.5px] border-black/5'>
+                <div className='flex justify-between'>
+                  <Button
+                    size='small'
+                    className='w-[140px]'
+                    onClick={() => setShowModal(true)}
+                    disabled={!isCurrentWorkspaceManager}
+                  >
+                    {t('workflow.common.configure')}
+                    {outdated && <Indicator className='ml-1' color={'yellow'} />}
+                  </Button>
+                  <Button
+                    size='small'
+                    className='w-[140px]'
+                    onClick={() => router.push('/tools?category=workflow')}
+                  >
+                    {t('workflow.common.manageInTools')}
+                    <ArrowUpRight className='ml-1' />
+                  </Button>
+                </div>
+                {outdated && <div className='mt-1 text-xs leading-[18px] text-[#dc6803]'>{t('workflow.common.workflowAsToolTip')}</div>}
               </div>
             )}
-          {published && (
-            <div className='border-t-[0.5px] border-divider-regular px-2.5 py-2'>
-              <div className='flex justify-between gap-x-2'>
-                <Button
-                  size='small'
-                  className='w-[140px]'
-                  onClick={() => setShowModal(true)}
-                  disabled={!isCurrentWorkspaceManager}
-                >
-                  {t('workflow.common.configure')}
-                  {outdated && <Indicator className='ml-1' color={'yellow'} />}
-                </Button>
-                <Button
-                  size='small'
-                  className='w-[140px]'
-                  onClick={() => router.push('/tools?category=workflow')}
-                >
-                  {t('workflow.common.manageInTools')}
-                  <RiArrowRightUpLine className='ml-1 h-4 w-4' />
-                </Button>
-              </div>
-              {outdated && <div className='mt-1 text-xs leading-[18px] text-text-warning'>
-                {t('workflow.common.workflowAsToolTip')}
-              </div>}
-            </div>
-          )}
-        </div>
-      )}
-      {published && isLoading && <div className='pt-2'><Loading type='app' /></div>}
+          </div>
+        )}
+        {published && isLoading && <div className='pt-2'><Loading type='app' /></div>}
+      </div>
       {showModal && (
         <WorkflowToolModal
           isAdd={!published}
diff --git a/app/components/tools/workflow-tool/confirm-modal/index.tsx b/app/components/tools/workflow-tool/confirm-modal/index.tsx
index 1327adc..4c71279 100644
--- a/app/components/tools/workflow-tool/confirm-modal/index.tsx
+++ b/app/components/tools/workflow-tool/confirm-modal/index.tsx
@@ -2,11 +2,11 @@
 
 import { useTranslation } from 'react-i18next'
 import { RiCloseLine } from '@remixicon/react'
+import s from './style.module.css'
 import cn from '@/utils/classnames'
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
-import { noop } from 'lodash-es'
 
 type ConfirmModalProps = {
   show: boolean
@@ -19,24 +19,24 @@
 
   return (
     <Modal
-      className={cn('w-[600px] max-w-[600px] p-8')}
+      className={cn('p-8 max-w-[600px] w-[600px]', s.bg)}
       isShow={show}
-      onClose={noop}
+      onClose={() => { }}
     >
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onClose}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
-      <div className='h-12 w-12 rounded-xl border-[0.5px] border-divider-regular bg-background-section p-3 shadow-xl'>
-        <AlertTriangle className='h-6 w-6 text-[rgb(247,144,9)]' />
+      <div className='w-12 h-12 p-3 bg-white rounded-xl border-[0.5px] border-gray-100 shadow-xl'>
+        <AlertTriangle className='w-6 h-6 text-[rgb(247,144,9)]' />
       </div>
-      <div className='relative mt-3 text-xl font-semibold leading-[30px] text-text-primary'>{t('tools.createTool.confirmTitle')}</div>
-      <div className='my-1 text-sm leading-5 text-text-tertiary'>
+      <div className='relative mt-3 text-xl font-semibold leading-[30px] text-gray-900'>{t('tools.createTool.confirmTitle')}</div>
+      <div className='my-1 text-gray-500 text-sm leading-5'>
         {t('tools.createTool.confirmTip')}
       </div>
-      <div className='flex items-center justify-end pt-6'>
+      <div className='pt-6 flex justify-end items-center'>
         <div className='flex items-center'>
           <Button className='mr-2' onClick={onClose}>{t('common.operation.cancel')}</Button>
-          <Button variant="warning" onClick={onConfirm}>{t('common.operation.confirm')}</Button>
+          <Button className='border-red-700' variant="warning" onClick={onConfirm}>{t('common.operation.confirm')}</Button>
         </div>
       </div>
     </Modal>
diff --git a/app/components/tools/workflow-tool/confirm-modal/style.module.css b/app/components/tools/workflow-tool/confirm-modal/style.module.css
new file mode 100644
index 0000000..14367ec
--- /dev/null
+++ b/app/components/tools/workflow-tool/confirm-modal/style.module.css
@@ -0,0 +1,3 @@
+.bg {
+  background: linear-gradient(180deg, rgba(247, 144, 9, 0.05) 0%, rgba(247, 144, 9, 0.00) 24.41%), #F9FAFB;
+}
diff --git a/app/components/tools/workflow-tool/index.tsx b/app/components/tools/workflow-tool/index.tsx
index 30afc1a..c4d7424 100644
--- a/app/components/tools/workflow-tool/index.tsx
+++ b/app/components/tools/workflow-tool/index.tsx
@@ -39,7 +39,7 @@
 }) => {
   const { t } = useTranslation()
 
-  const [showEmojiPicker, setShowEmojiPicker] = useState<boolean>(false)
+  const [showEmojiPicker, setShowEmojiPicker] = useState<Boolean>(false)
   const [emoji, setEmoji] = useState<Emoji>(payload.icon)
   const [label, setLabel] = useState<string>(payload.label)
   const [name, setName] = useState(payload.name)
@@ -66,7 +66,7 @@
     if (name === '')
       return true
 
-    return /^\w+$/.test(name)
+    return /^[a-zA-Z0-9_]+$/.test(name)
   }
 
   const onConfirm = () => {
@@ -124,17 +124,17 @@
         panelClassName='mt-2 !w-[640px]'
         maxWidthClassName='!max-w-[640px]'
         height='calc(100vh - 16px)'
-        headerClassName='!border-b-divider'
+        headerClassName='!border-b-black/5'
         body={
-          <div className='flex h-full flex-col'>
-            <div className='h-0 grow space-y-4 overflow-y-auto px-6 py-3'>
+          <div className='flex flex-col h-full'>
+            <div className='grow h-0 overflow-y-auto px-6 py-3 space-y-4'>
               {/* name & icon */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.name')} <span className='ml-1 text-red-500'>*</span></div>
+                <div className='py-2 leading-5 text-sm font-medium text-gray-900'>{t('tools.createTool.name')} <span className='ml-1 text-red-500'>*</span></div>
                 <div className='flex items-center justify-between gap-3'>
                   <AppIcon size='large' onClick={() => { setShowEmojiPicker(true) }} className='cursor-pointer' iconType='emoji' icon={emoji.content} background={emoji.background} />
                   <Input
-                    className='h-10 grow'
+                    className='grow h-10'
                     placeholder={t('tools.createTool.toolNamePlaceHolder')!}
                     value={label}
                     onChange={e => setLabel(e.target.value)}
@@ -143,7 +143,7 @@
               </div>
               {/* name for tool call */}
               <div>
-                <div className='system-sm-medium flex items-center py-2 text-text-primary'>
+                <div className='flex items-center py-2 leading-5 text-sm font-medium text-gray-900'>
                   {t('tools.createTool.nameForToolCall')} <span className='ml-1 text-red-500'>*</span>
                   <Tooltip
                     popupContent={
@@ -165,7 +165,7 @@
               </div>
               {/* description */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.description')}</div>
+                <div className='py-2 leading-5 text-sm font-medium text-gray-900'>{t('tools.createTool.description')}</div>
                 <Textarea
                   placeholder={t('tools.createTool.descriptionPlaceholder') || ''}
                   value={description}
@@ -174,34 +174,34 @@
               </div>
               {/* Tool Input  */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.toolInput.title')}</div>
-                <div className='w-full overflow-x-auto rounded-lg border border-divider-regular'>
-                  <table className='w-full text-xs font-normal leading-[18px] text-text-secondary'>
-                    <thead className='uppercase text-text-tertiary'>
-                      <tr className='border-b border-divider-regular'>
-                        <th className="w-[156px] p-2 pl-3 font-medium">{t('tools.createTool.toolInput.name')}</th>
-                        <th className="w-[102px] p-2 pl-3 font-medium">{t('tools.createTool.toolInput.method')}</th>
+                <div className='py-2 leading-5 text-sm font-medium text-gray-900'>{t('tools.createTool.toolInput.title')}</div>
+                <div className='rounded-lg border border-gray-200 w-full overflow-x-auto'>
+                  <table className='w-full leading-[18px] text-xs text-gray-700 font-normal'>
+                    <thead className='text-gray-500 uppercase'>
+                      <tr className='border-b border-gray-200'>
+                        <th className="p-2 pl-3 font-medium w-[156px]">{t('tools.createTool.toolInput.name')}</th>
+                        <th className="p-2 pl-3 font-medium w-[102px]">{t('tools.createTool.toolInput.method')}</th>
                         <th className="p-2 pl-3 font-medium">{t('tools.createTool.toolInput.description')}</th>
                       </tr>
                     </thead>
                     <tbody>
                       {parameters.map((item, index) => (
-                        <tr key={index} className='border-b border-divider-regular last:border-0'>
-                          <td className="max-w-[156px] p-2 pl-3">
+                        <tr key={index} className='border-b last:border-0 border-gray-200'>
+                          <td className="p-2 pl-3 max-w-[156px]">
                             <div className='text-[13px] leading-[18px]'>
                               <div title={item.name} className='flex'>
-                                <span className='truncate font-medium text-text-primary'>{item.name}</span>
-                                <span className='shrink-0 pl-1 text-xs leading-[18px] text-[#ec4a0a]'>{item.required ? t('tools.createTool.toolInput.required') : ''}</span>
+                                <span className='font-medium text-gray-900 truncate'>{item.name}</span>
+                                <span className='shrink-0 pl-1 text-[#ec4a0a] text-xs leading-[18px]'>{item.required ? t('tools.createTool.toolInput.required') : ''}</span>
                               </div>
-                              <div className='text-text-tertiary'>{item.type}</div>
+                              <div className='text-gray-500'>{item.type}</div>
                             </div>
                           </td>
                           <td>
                             {item.name === '__image' && (
                               <div className={cn(
-                                'flex h-9 min-h-[56px] cursor-default items-center gap-1 bg-transparent px-3 py-2',
+                                'flex items-center gap-1 min-h-[56px] px-3 py-2 h-9 bg-white cursor-default',
                               )}>
-                                <div className={cn('grow truncate text-[13px] leading-[18px] text-text-secondary')}>
+                                <div className={cn('grow text-[13px] leading-[18px] text-gray-700 truncate')}>
                                   {t('tools.createTool.toolInput.methodParameter')}
                                 </div>
                               </div>
@@ -210,10 +210,10 @@
                               <MethodSelector value={item.form} onChange={value => handleParameterChange('form', value, index)} />
                             )}
                           </td>
-                          <td className="w-[236px] p-2 pl-3 text-text-tertiary">
+                          <td className="p-2 pl-3 text-gray-500 w-[236px]">
                             <input
                               type='text'
-                              className='w-full appearance-none bg-transparent text-[13px] font-normal leading-[18px] text-text-secondary caret-primary-600 outline-none placeholder:text-text-quaternary'
+                              className='grow text-gray-700 text-[13px] leading-[18px] font-normal bg-white outline-none appearance-none caret-primary-600 placeholder:text-gray-300'
                               placeholder={t('tools.createTool.toolInput.descriptionPlaceholder')!}
                               value={item.description}
                               onChange={e => handleParameterChange('description', e.target.value, index)}
@@ -227,12 +227,12 @@
               </div>
               {/* Tags */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.toolInput.label')}</div>
+                <div className='py-2 leading-5 text-sm font-medium text-gray-900'>{t('tools.createTool.toolInput.label')}</div>
                 <LabelSelector value={labels} onChange={handleLabelSelect} />
               </div>
               {/* Privacy Policy */}
               <div>
-                <div className='system-sm-medium py-2 text-text-primary'>{t('tools.createTool.privacyPolicy')}</div>
+                <div className='py-2 leading-5 text-sm font-medium text-gray-900'>{t('tools.createTool.privacyPolicy')}</div>
                 <Input
                   className='h-10'
                   value={privacyPolicy}
@@ -240,9 +240,9 @@
                   placeholder={t('tools.createTool.privacyPolicyPlaceholder') || ''} />
               </div>
             </div>
-            <div className={cn((!isAdd && onRemove) ? 'justify-between' : 'justify-end', 'mt-2 flex shrink-0 rounded-b-[10px] border-t border-divider-regular bg-background-section-burn px-6 py-4')} >
+            <div className={cn((!isAdd && onRemove) ? 'justify-between' : 'justify-end', 'mt-2 shrink-0 flex py-4 px-6 rounded-b-[10px] bg-gray-50 border-t border-black/5')} >
               {!isAdd && onRemove && (
-                <Button variant='warning' onClick={onRemove}>{t('common.operation.delete')}</Button>
+                <Button onClick={onRemove} className='text-red-500 border-red-50 hover:border-red-500'>{t('common.operation.delete')}</Button>
               )}
               <div className='flex space-x-2 '>
                 <Button onClick={onHide}>{t('common.operation.cancel')}</Button>
diff --git a/app/components/tools/workflow-tool/method-selector.tsx b/app/components/tools/workflow-tool/method-selector.tsx
index 4edaa6c..1f11430 100644
--- a/app/components/tools/workflow-tool/method-selector.tsx
+++ b/app/components/tools/workflow-tool/method-selector.tsx
@@ -34,37 +34,37 @@
           className='block'
         >
           <div className={cn(
-            'flex h-9 min-h-[56px] cursor-pointer items-center gap-1 bg-transparent px-3 py-2 hover:bg-background-section-burn',
-            open && '!bg-background-section-burn hover:bg-background-section-burn',
+            'flex items-center gap-1 min-h-[56px] px-3 py-2 h-9 bg-white cursor-pointer hover:bg-gray-100',
+            open && '!bg-gray-100 hover:bg-gray-100',
           )}>
-            <div className={cn('grow truncate text-[13px] leading-[18px] text-text-secondary')}>
+            <div className={cn('grow text-[13px] leading-[18px] text-gray-700 truncate')}>
               {value === 'llm' ? t('tools.createTool.toolInput.methodParameter') : t('tools.createTool.toolInput.methodSetting')}
             </div>
-            <div className='ml-1 shrink-0 text-text-secondary opacity-60'>
+            <div className='shrink-0 ml-1 text-gray-700 opacity-60'>
               <RiArrowDownSLine className='h-4 w-4' />
             </div>
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1040]'>
-          <div className='relative w-[320px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg  backdrop-blur-sm'>
+          <div className='relative w-[320px] bg-white rounded-lg border-[0.5px] border-gray-200  shadow-lg'>
             <div className='p-1'>
-              <div className='cursor-pointer rounded-lg py-2.5 pl-3 pr-2 hover:bg-components-panel-on-panel-item-bg-hover' onClick={() => onChange('llm')}>
-                <div className='item-center flex gap-1'>
-                  <div className='h-4 w-4 shrink-0'>
-                    {value === 'llm' && <Check className='h-4 w-4 shrink-0 text-text-accent' />}
+              <div className='pl-3 pr-2 py-2.5 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => onChange('llm')}>
+                <div className='flex item-center gap-1'>
+                  <div className='shrink-0 w-4 h-4'>
+                    {value === 'llm' && <Check className='shrink-0 w-4 h-4 text-primary-600' />}
                   </div>
-                  <div className='text-[13px] font-medium leading-[18px] text-text-secondary'>{t('tools.createTool.toolInput.methodParameter')}</div>
+                  <div className='text-[13px] text-gray-700 font-medium leading-[18px]'>{t('tools.createTool.toolInput.methodParameter')}</div>
                 </div>
-                <div className='pl-5 text-[13px] leading-[18px] text-text-tertiary'>{t('tools.createTool.toolInput.methodParameterTip')}</div>
+                <div className='pl-5 text-gray-500 text-[13px] leading-[18px]'>{t('tools.createTool.toolInput.methodParameterTip')}</div>
               </div>
-              <div className='cursor-pointer rounded-lg py-2.5 pl-3 pr-2 hover:bg-components-panel-on-panel-item-bg-hover' onClick={() => onChange('form')}>
-                <div className='item-center flex gap-1'>
-                  <div className='h-4 w-4 shrink-0'>
-                    {value === 'form' && <Check className='h-4 w-4 shrink-0 text-text-accent' />}
+              <div className='pl-3 pr-2 py-2.5 rounded-lg hover:bg-gray-50 cursor-pointer' onClick={() => onChange('form')}>
+                <div className='flex item-center gap-1'>
+                  <div className='shrink-0 w-4 h-4'>
+                    {value === 'form' && <Check className='shrink-0 w-4 h-4 text-primary-600' />}
                   </div>
-                  <div className='text-[13px] font-medium leading-[18px] text-text-secondary'>{t('tools.createTool.toolInput.methodSetting')}</div>
+                  <div className='text-[13px] text-gray-700 font-medium leading-[18px]'>{t('tools.createTool.toolInput.methodSetting')}</div>
                 </div>
-                <div className='pl-5 text-[13px] leading-[18px] text-text-tertiary'>{t('tools.createTool.toolInput.methodSettingTip')}</div>
+                <div className='pl-5 text-gray-500 text-[13px] leading-[18px]'>{t('tools.createTool.toolInput.methodSettingTip')}</div>
               </div>
             </div>
           </div>
diff --git a/app/components/workflow/block-icon.tsx b/app/components/workflow/block-icon.tsx
index 1e76efc..1001e98 100644
--- a/app/components/workflow/block-icon.tsx
+++ b/app/components/workflow/block-icon.tsx
@@ -2,7 +2,6 @@
 import { memo } from 'react'
 import { BlockEnum } from './types'
 import {
-  Agent,
   Answer,
   Assigner,
   Code,
@@ -15,8 +14,6 @@
   KnowledgeRetrieval,
   ListFilter,
   Llm,
-  Loop,
-  LoopEnd,
   ParameterExtractor,
   QuestionClassifier,
   TemplatingTransform,
@@ -53,13 +50,9 @@
     [BlockEnum.Tool]: <VariableX className={className} />,
     [BlockEnum.IterationStart]: <VariableX className={className} />,
     [BlockEnum.Iteration]: <Iteration className={className} />,
-    [BlockEnum.LoopStart]: <VariableX className={className} />,
-    [BlockEnum.Loop]: <Loop className={className} />,
-    [BlockEnum.LoopEnd]: <LoopEnd className={className} />,
     [BlockEnum.ParameterExtractor]: <ParameterExtractor className={className} />,
     [BlockEnum.DocExtractor]: <DocsExtractor className={className} />,
     [BlockEnum.ListFilter]: <ListFilter className={className} />,
-    [BlockEnum.Agent]: <Agent className={className} />,
   }[type]
 }
 const ICON_CONTAINER_BG_COLOR_MAP: Record<string, string> = {
@@ -69,8 +62,6 @@
   [BlockEnum.End]: 'bg-util-colors-warning-warning-500',
   [BlockEnum.IfElse]: 'bg-util-colors-cyan-cyan-500',
   [BlockEnum.Iteration]: 'bg-util-colors-cyan-cyan-500',
-  [BlockEnum.Loop]: 'bg-util-colors-cyan-cyan-500',
-  [BlockEnum.LoopEnd]: 'bg-util-colors-warning-warning-500',
   [BlockEnum.HttpRequest]: 'bg-util-colors-violet-violet-500',
   [BlockEnum.Answer]: 'bg-util-colors-warning-warning-500',
   [BlockEnum.KnowledgeRetrieval]: 'bg-util-colors-green-green-500',
@@ -82,7 +73,6 @@
   [BlockEnum.ParameterExtractor]: 'bg-util-colors-blue-blue-500',
   [BlockEnum.DocExtractor]: 'bg-util-colors-green-green-500',
   [BlockEnum.ListFilter]: 'bg-util-colors-cyan-cyan-500',
-  [BlockEnum.Agent]: 'bg-util-colors-indigo-indigo-500',
 }
 const BlockIcon: FC<BlockIconProps> = ({
   type,
@@ -111,7 +101,7 @@
               typeof toolIcon === 'string'
                 ? (
                   <div
-                    className='h-full w-full shrink-0 rounded-md bg-cover bg-center'
+                    className='shrink-0 w-full h-full bg-cover bg-center rounded-md'
                     style={{
                       backgroundImage: `url(${toolIcon})`,
                     }}
@@ -119,7 +109,7 @@
                 )
                 : (
                   <AppIcon
-                    className='!h-full !w-full shrink-0'
+                    className='shrink-0 !w-full !h-full'
                     size='tiny'
                     icon={toolIcon?.content}
                     background={toolIcon?.background}
diff --git a/app/components/workflow/block-selector/all-tools.tsx b/app/components/workflow/block-selector/all-tools.tsx
index 3ad0a41..aaa3811 100644
--- a/app/components/workflow/block-selector/all-tools.tsx
+++ b/app/components/workflow/block-selector/all-tools.tsx
@@ -1,66 +1,35 @@
 import {
-  useEffect,
   useMemo,
-  useRef,
   useState,
 } from 'react'
 import type {
   OnSelectBlock,
   ToolWithProvider,
 } from '../types'
-import type { ToolValue } from './types'
+import { useStore } from '../store'
 import { ToolTypeEnum } from './types'
 import Tools from './tools'
 import { useToolTabs } from './hooks'
-import ViewTypeSelect, { ViewType } from './view-type-select'
 import cn from '@/utils/classnames'
-import { useGetLanguage } from '@/context/i18n'
-import type { ListRef } from '@/app/components/workflow/block-selector/market-place-plugin/list'
-import PluginList, { type ListProps } from '@/app/components/workflow/block-selector/market-place-plugin/list'
-import ActionButton from '../../base/action-button'
-import { RiAddLine } from '@remixicon/react'
-import { PluginType } from '../../plugins/types'
-import { useMarketplacePlugins } from '../../plugins/marketplace/hooks'
-import { useSelector as useAppContextSelector } from '@/context/app-context'
 
 type AllToolsProps = {
-  className?: string
-  toolContentClassName?: string
   searchText: string
-  tags: ListProps['tags']
-  buildInTools: ToolWithProvider[]
-  customTools: ToolWithProvider[]
-  workflowTools: ToolWithProvider[]
   onSelect: OnSelectBlock
-  supportAddCustomTool?: boolean
-  onAddedCustomTool?: () => void
-  onShowAddCustomCollectionModal?: () => void
-  selectedTools?: ToolValue[]
 }
-
-const DEFAULT_TAGS: AllToolsProps['tags'] = []
-
 const AllTools = ({
-  className,
-  toolContentClassName,
   searchText,
-  tags = DEFAULT_TAGS,
   onSelect,
-  buildInTools,
-  workflowTools,
-  customTools,
-  supportAddCustomTool,
-  onShowAddCustomCollectionModal,
-  selectedTools,
 }: AllToolsProps) => {
-  const language = useGetLanguage()
   const tabs = useToolTabs()
   const [activeTab, setActiveTab] = useState(ToolTypeEnum.All)
-  const [activeView, setActiveView] = useState<ViewType>(ViewType.flat)
-  const hasFilter = searchText || tags.length > 0
+  const buildInTools = useStore(s => s.buildInTools)
+  const customTools = useStore(s => s.customTools)
+  const workflowTools = useStore(s => s.workflowTools)
+
   const isMatchingKeywords = (text: string, keywords: string) => {
     return text.toLowerCase().includes(keywords.toLowerCase())
   }
+
   const tools = useMemo(() => {
     let mergedTools: ToolWithProvider[] = []
     if (activeTab === ToolTypeEnum.All)
@@ -72,95 +41,39 @@
     if (activeTab === ToolTypeEnum.Workflow)
       mergedTools = workflowTools
 
-    if (!hasFilter)
-      return mergedTools.filter(toolWithProvider => toolWithProvider.tools.length > 0)
-
     return mergedTools.filter((toolWithProvider) => {
-      return isMatchingKeywords(toolWithProvider.name, searchText) || toolWithProvider.tools.some((tool) => {
-        return tool.label[language].toLowerCase().includes(searchText.toLowerCase()) || tool.name.toLowerCase().includes(searchText.toLowerCase())
-      })
+      return isMatchingKeywords(toolWithProvider.name, searchText)
+        || toolWithProvider.tools.some((tool) => {
+          return Object.values(tool.label).some((label) => {
+            return isMatchingKeywords(label, searchText)
+          })
+        })
     })
-  }, [activeTab, buildInTools, customTools, workflowTools, searchText, language, hasFilter])
-
-  const {
-    queryPluginsWithDebounced: fetchPlugins,
-    plugins: notInstalledPlugins = [],
-  } = useMarketplacePlugins()
-
-  const { enable_marketplace } = useAppContextSelector(s => s.systemFeatures)
-
-  useEffect(() => {
-    if (enable_marketplace) return
-    if (searchText || tags.length > 0) {
-      fetchPlugins({
-        query: searchText,
-        tags,
-        category: PluginType.tool,
-      })
-    }
-    // eslint-disable-next-line react-hooks/exhaustive-deps
-  }, [searchText, tags, enable_marketplace])
-
-  const pluginRef = useRef<ListRef>(null)
-  const wrapElemRef = useRef<HTMLDivElement>(null)
-
+  }, [activeTab, buildInTools, customTools, workflowTools, searchText])
   return (
-    <div className={cn(className)}>
-      <div className='flex items-center justify-between border-b-[0.5px] border-divider-subtle bg-background-default-hover px-3 shadow-xs'>
-        <div className='flex h-8 items-center space-x-1'>
-          {
-            tabs.map(tab => (
-              <div
-                className={cn(
-                  'flex h-6 cursor-pointer items-center rounded-md px-2 hover:bg-state-base-hover',
-                  'text-xs font-medium text-text-secondary',
-                  activeTab === tab.key && 'bg-state-base-hover-alt',
-                )}
-                key={tab.key}
-                onClick={() => setActiveTab(tab.key)}
-              >
-                {tab.name}
-              </div>
-            ))
-          }
-        </div>
-        <ViewTypeSelect viewType={activeView} onChange={setActiveView} />
-        {supportAddCustomTool && (
-          <div className='flex items-center'>
-            <div className='mr-1.5 h-3.5 w-px  bg-divider-regular'></div>
-            <ActionButton
-              className='bg-components-button-primary-bg text-components-button-primary-text hover:bg-components-button-primary-bg hover:text-components-button-primary-text'
-              onClick={onShowAddCustomCollectionModal}
+    <div>
+      <div className='flex items-center px-3 h-8 space-x-1 bg-background-default-hover border-b-[0.5px] border-divider-subtle shadow-xs'>
+        {
+          tabs.map(tab => (
+            <div
+              className={cn(
+                'flex items-center px-2 h-6 rounded-md hover:bg-state-base-hover-alt cursor-pointer',
+                'system-xs-medium text-text-tertiary',
+                activeTab === tab.key && 'system-xs-semibold bg-state-base-hover-alt text-text-primary',
+              )}
+              key={tab.key}
+              onClick={() => setActiveTab(tab.key)}
             >
-              <RiAddLine className='h-4 w-4' />
-            </ActionButton>
-          </div>
-        )}
+              {tab.name}
+            </div>
+          ))
+        }
       </div>
-      <div
-        ref={wrapElemRef}
-        className='max-h-[464px] overflow-y-auto'
-        onScroll={pluginRef.current?.handleScroll}
-      >
-        <Tools
-          className={toolContentClassName}
-          showWorkflowEmpty={activeTab === ToolTypeEnum.Workflow}
-          tools={tools}
-          onSelect={onSelect}
-          viewType={activeView}
-          hasSearchText={!!searchText}
-          selectedTools={selectedTools}
-        />
-        {/* Plugins from marketplace */}
-        {enable_marketplace && <PluginList
-          ref={pluginRef}
-          wrapElemRef={wrapElemRef}
-          list={notInstalledPlugins}
-          searchText={searchText}
-          toolContentClassName={toolContentClassName}
-          tags={tags}
-        />}
-      </div>
+      <Tools
+        showWorkflowEmpty={activeTab === ToolTypeEnum.Workflow}
+        tools={tools}
+        onSelect={onSelect}
+      />
     </div>
   )
 }
diff --git a/app/components/workflow/block-selector/blocks.tsx b/app/components/workflow/block-selector/blocks.tsx
index 4182530..eaaa473 100644
--- a/app/components/workflow/block-selector/blocks.tsx
+++ b/app/components/workflow/block-selector/blocks.tsx
@@ -15,7 +15,6 @@
 import { useBlocks } from './hooks'
 import type { ToolDefaultValue } from './types'
 import Tooltip from '@/app/components/base/tooltip'
-import Badge from '@/app/components/base/badge'
 
 type BlocksProps = {
   searchText: string
@@ -59,7 +58,7 @@
       >
         {
           classification !== '-' && !!list.length && (
-            <div className='flex h-[22px] items-start px-3 text-xs font-medium text-text-tertiary'>
+            <div className='flex items-start px-3 h-[22px] text-xs font-medium text-text-tertiary'>
               {t(`workflow.tabs.${classification}`)}
             </div>
           )
@@ -77,29 +76,21 @@
                     className='mb-2'
                     type={block.type}
                   />
-                  <div className='system-md-medium mb-1 text-text-primary'>{block.title}</div>
-                  <div className='system-xs-regular text-text-tertiary'>{nodesExtraData[block.type].about}</div>
+                  <div className='mb-1 system-md-medium text-text-primary'>{block.title}</div>
+                  <div className='text-text-tertiary system-xs-regular'>{nodesExtraData[block.type].about}</div>
                 </div>
               )}
             >
               <div
                 key={block.type}
-                className='flex h-8 w-full cursor-pointer items-center rounded-lg px-3 hover:bg-state-base-hover'
+                className='flex items-center px-3 w-full h-8 rounded-lg hover:bg-state-base-hover cursor-pointer'
                 onClick={() => onSelect(block.type)}
               >
                 <BlockIcon
                   className='mr-2 shrink-0'
                   type={block.type}
                 />
-                <div className='grow text-sm text-text-secondary'>{block.title}</div>
-                {
-                  block.type === BlockEnum.LoopEnd && (
-                    <Badge
-                      text={t('workflow.nodes.loop.loopNode')}
-                      className='ml-2 shrink-0'
-                    />
-                  )
-                }
+                <div className='text-sm text-text-secondary'>{block.title}</div>
               </div>
             </Tooltip>
           ))
@@ -112,7 +103,7 @@
     <div className='p-1'>
       {
         isEmpty && (
-          <div className='flex h-[22px] items-center px-3 text-xs font-medium text-text-tertiary'>{t('workflow.tabs.noResult')}</div>
+          <div className='flex items-center px-3 h-[22px] text-xs font-medium text-text-tertiary'>{t('workflow.tabs.noResult')}</div>
         )
       }
       {
diff --git a/app/components/workflow/block-selector/constants.tsx b/app/components/workflow/block-selector/constants.tsx
index 680cbf4..2849288 100644
--- a/app/components/workflow/block-selector/constants.tsx
+++ b/app/components/workflow/block-selector/constants.tsx
@@ -41,19 +41,8 @@
   },
   {
     classification: BlockClassificationEnum.Logic,
-    type: BlockEnum.LoopEnd,
-    title: 'Exit Loop',
-    description: '',
-  },
-  {
-    classification: BlockClassificationEnum.Logic,
     type: BlockEnum.Iteration,
     title: 'Iteration',
-  },
-  {
-    classification: BlockClassificationEnum.Logic,
-    type: BlockEnum.Loop,
-    title: 'Loop',
   },
   {
     classification: BlockClassificationEnum.Transform,
@@ -94,11 +83,6 @@
     classification: BlockClassificationEnum.Utilities,
     type: BlockEnum.ListFilter,
     title: 'List Filter',
-  },
-  {
-    classification: BlockClassificationEnum.Default,
-    type: BlockEnum.Agent,
-    title: 'Agent',
   },
 ]
 
diff --git a/app/components/workflow/block-selector/hooks.ts b/app/components/workflow/block-selector/hooks.ts
index a8b1759..592954a 100644
--- a/app/components/workflow/block-selector/hooks.ts
+++ b/app/components/workflow/block-selector/hooks.ts
@@ -41,7 +41,7 @@
     },
     {
       key: ToolTypeEnum.BuiltIn,
-      name: t('workflow.tabs.plugin'),
+      name: t('workflow.tabs.builtInTool'),
     },
     {
       key: ToolTypeEnum.Custom,
diff --git a/app/components/workflow/block-selector/index-bar.tsx b/app/components/workflow/block-selector/index-bar.tsx
index 4d8bedf..2a4cbad 100644
--- a/app/components/workflow/block-selector/index-bar.tsx
+++ b/app/components/workflow/block-selector/index-bar.tsx
@@ -1,29 +1,8 @@
 import { pinyin } from 'pinyin-pro'
 import type { FC, RefObject } from 'react'
-import type { ToolWithProvider } from '../types'
-import { CollectionType } from '../../tools/types'
-import classNames from '@/utils/classnames'
 
-export const CUSTOM_GROUP_NAME = '@@@custom@@@'
-export const WORKFLOW_GROUP_NAME = '@@@workflow@@@'
-export const AGENT_GROUP_NAME = '@@@agent@@@'
-/*
-{
-  A: {
-    'google': [ // plugin organize name
-      ...tools
-    ],
-    'custom': [ // custom tools
-      ...tools
-    ],
-    'workflow': [ // workflow as tools
-      ...tools
-    ]
-  }
-}
-*/
-export const groupItems = (items: ToolWithProvider[], getFirstChar: (item: ToolWithProvider) => string) => {
-  const groups = items.reduce((acc: Record<string, Record<string, ToolWithProvider[]>>, item) => {
+export const groupItems = (items: Array<any>, getFirstChar: (item: string) => string) => {
+  const groups = items.reduce((acc, item) => {
     const firstChar = getFirstChar(item)
     if (!firstChar || firstChar.length === 0)
       return acc
@@ -40,23 +19,9 @@
       letter = '#'
 
     if (!acc[letter])
-      acc[letter] = {}
+      acc[letter] = []
 
-    let groupName: string = ''
-    if (item.type === CollectionType.builtIn)
-      groupName = item.author
-    else if (item.type === CollectionType.custom)
-      groupName = CUSTOM_GROUP_NAME
-    else if (item.type === CollectionType.workflow)
-      groupName = WORKFLOW_GROUP_NAME
-    else
-      groupName = AGENT_GROUP_NAME
-
-    if (!acc[letter][groupName])
-      acc[letter][groupName] = []
-
-    acc[letter][groupName].push(item)
-
+    acc[letter].push(item)
     return acc
   }, {})
 
@@ -73,20 +38,18 @@
 type IndexBarProps = {
   letters: string[]
   itemRefs: RefObject<{ [key: string]: HTMLElement | null }>
-  className?: string
 }
 
-const IndexBar: FC<IndexBarProps> = ({ letters, itemRefs, className }) => {
+const IndexBar: FC<IndexBarProps> = ({ letters, itemRefs }) => {
   const handleIndexClick = (letter: string) => {
     const element = itemRefs.current?.[letter]
     if (element)
       element.scrollIntoView({ behavior: 'smooth' })
   }
   return (
-    <div className={classNames('index-bar absolute right-0 top-36 flex flex-col items-center w-6 justify-center text-xs font-medium text-text-quaternary', className)}>
-      <div className='absolute left-0 top-0 h-full w-px bg-[linear-gradient(270deg,rgba(255,255,255,0)_0%,rgba(16,24,40,0.08)_30%,rgba(16,24,40,0.08)_50%,rgba(16,24,40,0.08)_70.5%,rgba(255,255,255,0)_100%)]'></div>
+    <div className="index-bar fixed right-4 top-36 flex flex-col items-center text-xs font-medium text-text-quaternary">
       {letters.map(letter => (
-        <div className="cursor-pointer hover:text-text-secondary" key={letter} onClick={() => handleIndexClick(letter)}>
+        <div className="hover:text-text-secondary cursor-pointer" key={letter} onClick={() => handleIndexClick(letter)}>
           {letter}
         </div>
       ))}
diff --git a/app/components/workflow/block-selector/index.tsx b/app/components/workflow/block-selector/index.tsx
index 9e55a24..dc93c27 100644
--- a/app/components/workflow/block-selector/index.tsx
+++ b/app/components/workflow/block-selector/index.tsx
@@ -22,11 +22,10 @@
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
 import Input from '@/app/components/base/input'
-import SearchBox from '@/app/components/plugins/marketplace/search-box'
-
 import {
   Plus02,
 } from '@/app/components/base/icons/src/vender/line/general'
+import classNames from '@/utils/classnames'
 
 type NodeSelectorProps = {
   open?: boolean
@@ -62,7 +61,6 @@
 }) => {
   const { t } = useTranslation()
   const [searchText, setSearchText] = useState('')
-  const [tags, setTags] = useState<string[]>([])
   const [localOpen, setLocalOpen] = useState(false)
   const open = openFromProps === undefined ? localOpen : openFromProps
   const handleOpenChange = useCallback((newOpen: boolean) => {
@@ -116,49 +114,37 @@
             : (
               <div
                 className={`
-                  z-10 flex h-4
-                  w-4 cursor-pointer items-center justify-center rounded-full bg-components-button-primary-bg text-text-primary-on-surface hover:bg-components-button-primary-bg-hover
+                  flex items-center justify-center 
+                  w-4 h-4 rounded-full bg-components-button-primary-bg text-text-primary-on-surface hover:bg-components-button-primary-bg-hover cursor-pointer z-10
                   ${triggerClassName?.(open)}
                 `}
                 style={triggerStyle}
               >
-                <Plus02 className='h-2.5 w-2.5' />
+                <Plus02 className='w-2.5 h-2.5' />
               </div>
             )
         }
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[1000]'>
-        <div className={`rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg ${popupClassName}`}>
-          <div className='px-2 pt-2' onClick={e => e.stopPropagation()}>
-            {activeTab === TabsEnum.Blocks && (
-              <Input
-                showLeftIcon
-                showClearIcon
-                autoFocus
-                value={searchText}
-                placeholder={searchPlaceholder}
-                onChange={e => setSearchText(e.target.value)}
-                onClear={() => setSearchText('')}
-              />
-            )}
-            {activeTab === TabsEnum.Tools && (
-              <SearchBox
-                search={searchText}
-                onSearchChange={setSearchText}
-                tags={tags}
-                onTagsChange={setTags}
-                size='small'
-                placeholder={t('plugin.searchTools')!}
-              />
-            )}
-
+        <div className={
+          classNames(`rounded-lg border-[0.5px] backdrop-blur-[5px]
+          border-components-panel-border bg-components-panel-bg-blur shadow-lg`, popupClassName)}>
+          <div className='p-2 pb-1' onClick={e => e.stopPropagation()}>
+            <Input
+              showLeftIcon
+              showClearIcon
+              autoFocus
+              value={searchText}
+              placeholder={searchPlaceholder}
+              onChange={e => setSearchText(e.target.value)}
+              onClear={() => setSearchText('')}
+            />
           </div>
           <Tabs
             activeTab={activeTab}
             onActiveTabChange={handleActiveTabChange}
             onSelect={handleSelect}
             searchText={searchText}
-            tags={tags}
             availableBlocksTypes={availableBlocksTypes}
             noBlocks={noBlocks}
           />
diff --git a/app/components/workflow/block-selector/tabs.tsx b/app/components/workflow/block-selector/tabs.tsx
index 67aaaba..12fde56 100644
--- a/app/components/workflow/block-selector/tabs.tsx
+++ b/app/components/workflow/block-selector/tabs.tsx
@@ -1,6 +1,5 @@
 import type { FC } from 'react'
 import { memo } from 'react'
-import { useAllBuiltInTools, useAllCustomTools, useAllWorkflowTools } from '@/service/use-tools'
 import type { BlockEnum } from '../types'
 import { useTabs } from './hooks'
 import type { ToolDefaultValue } from './types'
@@ -13,7 +12,6 @@
   activeTab: TabsEnum
   onActiveTabChange: (activeTab: TabsEnum) => void
   searchText: string
-  tags: string[]
   onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
   availableBlocksTypes?: BlockEnum[]
   noBlocks?: boolean
@@ -21,28 +19,24 @@
 const Tabs: FC<TabsProps> = ({
   activeTab,
   onActiveTabChange,
-  tags,
   searchText,
   onSelect,
   availableBlocksTypes,
   noBlocks,
 }) => {
   const tabs = useTabs()
-  const { data: buildInTools } = useAllBuiltInTools()
-  const { data: customTools } = useAllCustomTools()
-  const { data: workflowTools } = useAllWorkflowTools()
 
   return (
     <div onClick={e => e.stopPropagation()}>
       {
         !noBlocks && (
-          <div className='flex items-center border-b-[0.5px] border-divider-subtle px-3'>
+          <div className='flex items-center px-3 border-b-[0.5px] border-divider-subtle'>
             {
               tabs.map(tab => (
                 <div
                   key={tab.key}
                   className={cn(
-                    'system-sm-medium relative mr-4 cursor-pointer pb-2 pt-1',
+                    'relative mr-4 pt-1 pb-2 system-sm-medium cursor-pointer',
                     activeTab === tab.key
                       ? 'text-text-primary after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-full after:bg-util-colors-blue-brand-blue-brand-600'
                       : 'text-text-tertiary',
@@ -68,13 +62,8 @@
       {
         activeTab === TabsEnum.Tools && (
           <AllTools
-            className='w-[315px]'
             searchText={searchText}
             onSelect={onSelect}
-            tags={tags}
-            buildInTools={buildInTools || []}
-            customTools={customTools || []}
-            workflowTools={workflowTools || []}
           />
         )
       }
diff --git a/app/components/workflow/block-selector/tools.tsx b/app/components/workflow/block-selector/tools.tsx
index 2562501..394966f 100644
--- a/app/components/workflow/block-selector/tools.tsx
+++ b/app/components/workflow/block-selector/tools.tsx
@@ -1,96 +1,106 @@
 import {
   memo,
-  useMemo,
+  useCallback,
   useRef,
 } from 'react'
 import { useTranslation } from 'react-i18next'
-import type { BlockEnum, ToolWithProvider } from '../types'
+import BlockIcon from '../block-icon'
+import { BlockEnum } from '../types'
+import type { ToolWithProvider } from '../types'
 import IndexBar, { groupItems } from './index-bar'
-import type { ToolDefaultValue, ToolValue } from './types'
-import { ViewType } from './view-type-select'
+import type { ToolDefaultValue } from './types'
+import Tooltip from '@/app/components/base/tooltip'
 import Empty from '@/app/components/tools/add-tool-modal/empty'
 import { useGetLanguage } from '@/context/i18n'
-import ToolListTreeView from './tool/tool-list-tree-view/list'
-import ToolListFlatView from './tool/tool-list-flat-view/list'
-import classNames from '@/utils/classnames'
 
 type ToolsProps = {
   showWorkflowEmpty: boolean
   onSelect: (type: BlockEnum, tool?: ToolDefaultValue) => void
   tools: ToolWithProvider[]
-  viewType: ViewType
-  hasSearchText: boolean
-  className?: string
-  indexBarClassName?: string
-  selectedTools?: ToolValue[]
 }
 const Blocks = ({
   showWorkflowEmpty,
   onSelect,
   tools,
-  viewType,
-  hasSearchText,
-  className,
-  indexBarClassName,
-  selectedTools,
 }: ToolsProps) => {
   const { t } = useTranslation()
   const language = useGetLanguage()
-  const isFlatView = viewType === ViewType.flat
-  const isShowLetterIndex = isFlatView && tools.length > 10
 
-  /*
-  treeViewToolsData:
-  {
-    A: {
-      'google': [ // plugin organize name
-        ...tools
-      ],
-      'custom': [ // custom tools
-        ...tools
-      ],
-      'workflow': [ // workflow as tools
-        ...tools
-      ]
-    }
-  }
-  */
-  const { letters, groups: withLetterAndGroupViewToolsData } = groupItems(tools, tool => tool.label[language][0])
-  const treeViewToolsData = useMemo(() => {
-    const result: Record<string, ToolWithProvider[]> = {}
-    Object.keys(withLetterAndGroupViewToolsData).forEach((letter) => {
-      Object.keys(withLetterAndGroupViewToolsData[letter]).forEach((groupName) => {
-        if (!result[groupName])
-          result[groupName] = []
-        result[groupName].push(...withLetterAndGroupViewToolsData[letter][groupName])
-      })
-    })
-    return result
-  }, [withLetterAndGroupViewToolsData])
-
-  const listViewToolData = useMemo(() => {
-    const result: ToolWithProvider[] = []
-    letters.forEach((letter) => {
-      Object.keys(withLetterAndGroupViewToolsData[letter]).forEach((groupName) => {
-        result.push(...withLetterAndGroupViewToolsData[letter][groupName].map((item) => {
-          return {
-            ...item,
-            letter,
-          }
-        }))
-      })
-    })
-
-    return result
-  }, [withLetterAndGroupViewToolsData, letters])
-
+  const { letters, groups: groupedTools } = groupItems(tools, tool => tool.label[language][0])
   const toolRefs = useRef({})
 
+  const renderGroup = useCallback((toolWithProvider: ToolWithProvider) => {
+    const list = toolWithProvider.tools
+
+    return (
+      <div
+        key={toolWithProvider.id}
+        className='mb-1 last-of-type:mb-0'
+      >
+        <div className='flex items-start px-3 h-[22px] text-xs font-medium text-gray-500'>
+          {toolWithProvider.label[language]}
+        </div>
+        {
+          list.map(tool => (
+            <Tooltip
+              key={tool.name}
+              position='right'
+              popupClassName='w-[200px]'
+              popupContent={(
+                <div>
+                  <BlockIcon
+                    size='md'
+                    className='mb-2'
+                    type={BlockEnum.Tool}
+                    toolIcon={toolWithProvider.icon}
+                  />
+                  <div className='mb-1 system-md-medium text-text-primary'>{tool.label[language]}</div>
+                  <div className='system-xs-regular text-text-tertiary'>{tool.description[language]}</div>
+                </div>
+              )}
+            >
+              <div
+                className='flex items-center px-3 w-full h-8 rounded-lg hover:bg-state-base-hover cursor-pointer'
+                onClick={() => onSelect(BlockEnum.Tool, {
+                  provider_id: toolWithProvider.id,
+                  provider_type: toolWithProvider.type,
+                  provider_name: toolWithProvider.name,
+                  tool_name: tool.name,
+                  tool_label: tool.label[language],
+                  title: tool.label[language],
+                })}
+              >
+                <BlockIcon
+                  className='mr-2 shrink-0'
+                  type={BlockEnum.Tool}
+                  toolIcon={toolWithProvider.icon}
+                />
+                <div className='text-sm text-text-secondary flex-1 min-w-0 truncate'>{tool.label[language]}</div>
+              </div>
+            </Tooltip>
+          ))
+        }
+      </div>
+    )
+  }, [onSelect, language])
+
+  const renderLetterGroup = (letter) => {
+    const tools = groupedTools[letter]
+    return (
+      <div
+        key={letter}
+        ref={el => (toolRefs.current[letter] = el)}
+      >
+        {tools.map(renderGroup)}
+      </div>
+    )
+  }
+
   return (
-    <div className={classNames('p-1 max-w-[320px]', className)}>
+    <div className='p-1 max-w-[320px] max-h-[464px] overflow-y-auto'>
       {
         !tools.length && !showWorkflowEmpty && (
-          <div className='flex h-[22px] items-center px-3 text-xs font-medium text-text-tertiary'>{t('workflow.tabs.noResult')}</div>
+          <div className='flex items-center px-3 h-[22px] text-xs font-medium text-text-tertiary'>{t('workflow.tabs.noResult')}</div>
         )
       }
       {!tools.length && showWorkflowEmpty && (
@@ -98,28 +108,8 @@
           <Empty />
         </div>
       )}
-      {!!tools.length && (
-        isFlatView ? (
-          <ToolListFlatView
-            toolRefs={toolRefs}
-            letters={letters}
-            payload={listViewToolData}
-            isShowLetterIndex={isShowLetterIndex}
-            hasSearchText={hasSearchText}
-            onSelect={onSelect}
-            selectedTools={selectedTools}
-          />
-        ) : (
-          <ToolListTreeView
-            payload={treeViewToolsData}
-            hasSearchText={hasSearchText}
-            onSelect={onSelect}
-            selectedTools={selectedTools}
-          />
-        )
-      )}
-
-      {isShowLetterIndex && <IndexBar letters={letters} itemRefs={toolRefs} className={indexBarClassName} />}
+      {!!tools.length && letters.map(renderLetterGroup)}
+      {tools.length > 10 && <IndexBar letters={letters} itemRefs={toolRefs} />}
     </div>
   )
 }
diff --git a/app/components/workflow/block-selector/types.ts b/app/components/workflow/block-selector/types.ts
index 0abf7b9..affa248 100644
--- a/app/components/workflow/block-selector/types.ts
+++ b/app/components/workflow/block-selector/types.ts
@@ -24,21 +24,5 @@
   provider_name: string
   tool_name: string
   tool_label: string
-  tool_description: string
   title: string
-  is_team_authorization: boolean
-  params: Record<string, any>
-  paramSchemas: Record<string, any>[]
-  output_schema: Record<string, any>
-}
-
-export type ToolValue = {
-  provider_name: string
-  tool_name: string
-  tool_label: string
-  tool_description: string
-  settings?: Record<string, any>
-  parameters?: Record<string, any>
-  enabled?: boolean
-  extra?: Record<string, any>
 }
diff --git a/app/components/workflow/candidate-node.tsx b/app/components/workflow/candidate-node.tsx
index eb59a46..16d6f85 100644
--- a/app/components/workflow/candidate-node.tsx
+++ b/app/components/workflow/candidate-node.tsx
@@ -14,7 +14,7 @@
 } from './store'
 import { WorkflowHistoryEvent, useNodesInteractions, useWorkflowHistory } from './hooks'
 import { CUSTOM_NODE } from './constants'
-import { getIterationStartNode, getLoopStartNode } from './utils'
+import { getIterationStartNode } from './utils'
 import CustomNode from './nodes'
 import CustomNoteNode from './note-node'
 import { CUSTOM_NOTE_NODE } from './note-node/constants'
@@ -56,9 +56,6 @@
         })
         if (candidateNode.data.type === BlockEnum.Iteration)
           draft.push(getIterationStartNode(candidateNode.id))
-
-        if (candidateNode.data.type === BlockEnum.Loop)
-          draft.push(getLoopStartNode(candidateNode.id))
       })
       setNodes(newNodes)
       if (candidateNode.type === CUSTOM_NOTE_NODE)
diff --git a/app/components/workflow/constants.ts b/app/components/workflow/constants.ts
index cdfd963..5f52a75 100644
--- a/app/components/workflow/constants.ts
+++ b/app/components/workflow/constants.ts
@@ -15,13 +15,9 @@
 import AssignerDefault from './nodes/assigner/default'
 import EndNodeDefault from './nodes/end/default'
 import IterationDefault from './nodes/iteration/default'
-import LoopDefault from './nodes/loop/default'
 import DocExtractorDefault from './nodes/document-extractor/default'
 import ListFilterDefault from './nodes/list-operator/default'
 import IterationStartDefault from './nodes/iteration-start/default'
-import AgentDefault from './nodes/agent/default'
-import LoopStartDefault from './nodes/loop-start/default'
-import LoopEndDefault from './nodes/loop-end/default'
 
 type NodesExtraData = {
   author: string
@@ -104,33 +100,6 @@
     getAvailablePrevNodes: IterationStartDefault.getAvailablePrevNodes,
     getAvailableNextNodes: IterationStartDefault.getAvailableNextNodes,
     checkValid: IterationStartDefault.checkValid,
-  },
-  [BlockEnum.Loop]: {
-    author: 'AICT-Team',
-    about: '',
-    availablePrevNodes: [],
-    availableNextNodes: [],
-    getAvailablePrevNodes: LoopDefault.getAvailablePrevNodes,
-    getAvailableNextNodes: LoopDefault.getAvailableNextNodes,
-    checkValid: LoopDefault.checkValid,
-  },
-  [BlockEnum.LoopStart]: {
-    author: 'AICT-Team',
-    about: '',
-    availablePrevNodes: [],
-    availableNextNodes: [],
-    getAvailablePrevNodes: LoopStartDefault.getAvailablePrevNodes,
-    getAvailableNextNodes: LoopStartDefault.getAvailableNextNodes,
-    checkValid: LoopStartDefault.checkValid,
-  },
-  [BlockEnum.LoopEnd]: {
-    author: 'Dify',
-    about: '',
-    availablePrevNodes: [],
-    availableNextNodes: [],
-    getAvailablePrevNodes: LoopEndDefault.getAvailablePrevNodes,
-    getAvailableNextNodes: LoopEndDefault.getAvailableNextNodes,
-    checkValid: LoopEndDefault.checkValid,
   },
   [BlockEnum.Code]: {
     author: 'Dify',
@@ -231,15 +200,7 @@
     getAvailableNextNodes: ListFilterDefault.getAvailableNextNodes,
     checkValid: ListFilterDefault.checkValid,
   },
-  [BlockEnum.Agent]: {
-    author: 'Dify',
-    about: '',
-    availablePrevNodes: [],
-    availableNextNodes: [],
-    getAvailablePrevNodes: ListFilterDefault.getAvailablePrevNodes,
-    getAvailableNextNodes: ListFilterDefault.getAvailableNextNodes,
-    checkValid: AgentDefault.checkValid,
-  },
+
 }
 
 export const NODES_INITIAL_DATA = {
@@ -294,24 +255,6 @@
     title: '',
     desc: '',
     ...IterationStartDefault.defaultValue,
-  },
-  [BlockEnum.Loop]: {
-    type: BlockEnum.Loop,
-    title: '',
-    desc: '',
-    ...LoopDefault.defaultValue,
-  },
-  [BlockEnum.LoopStart]: {
-    type: BlockEnum.LoopStart,
-    title: '',
-    desc: '',
-    ...LoopStartDefault.defaultValue,
-  },
-  [BlockEnum.LoopEnd]: {
-    type: BlockEnum.LoopEnd,
-    title: '',
-    desc: '',
-    ...LoopEndDefault.defaultValue,
   },
   [BlockEnum.Code]: {
     type: BlockEnum.Code,
@@ -393,17 +336,10 @@
     desc: '',
     ...ListFilterDefault.defaultValue,
   },
-  [BlockEnum.Agent]: {
-    type: BlockEnum.Agent,
-    title: '',
-    desc: '',
-    ...AgentDefault.defaultValue,
-  },
 }
 export const MAX_ITERATION_PARALLEL_NUM = 10
 export const MIN_ITERATION_PARALLEL_NUM = 1
 export const DEFAULT_ITER_TIMES = 1
-export const DEFAULT_LOOP_TIMES = 1
 export const NODE_WIDTH = 240
 export const X_OFFSET = 60
 export const NODE_WIDTH_X_OFFSET = NODE_WIDTH + X_OFFSET
@@ -422,28 +358,7 @@
   bottom: 20,
   left: 16,
 }
-
-export const LOOP_NODE_Z_INDEX = 1
-export const LOOP_CHILDREN_Z_INDEX = 1002
-export const LOOP_PADDING = {
-  top: 65,
-  right: 16,
-  bottom: 20,
-  left: 16,
-}
-
-export const NODE_LAYOUT_HORIZONTAL_PADDING = 60
-export const NODE_LAYOUT_VERTICAL_PADDING = 60
-export const NODE_LAYOUT_MIN_DISTANCE = 100
-
-let maxParallelLimit = 10
-
-if (process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT && process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT !== '')
-  maxParallelLimit = Number.parseInt(process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT)
-else if (globalThis.document?.body?.getAttribute('data-public-max-parallel-limit') && globalThis.document.body.getAttribute('data-public-max-parallel-limit') !== '')
-  maxParallelLimit = Number.parseInt(globalThis.document.body.getAttribute('data-public-max-parallel-limit') as string)
-
-export const PARALLEL_LIMIT = maxParallelLimit
+export const PARALLEL_LIMIT = 10
 export const PARALLEL_DEPTH_LIMIT = 3
 
 export const RETRIEVAL_OUTPUT_STRUCT = `{
@@ -469,9 +384,8 @@
 export const SUPPORT_OUTPUT_VARS_NODE = [
   BlockEnum.Start, BlockEnum.LLM, BlockEnum.KnowledgeRetrieval, BlockEnum.Code, BlockEnum.TemplateTransform,
   BlockEnum.HttpRequest, BlockEnum.Tool, BlockEnum.VariableAssigner, BlockEnum.VariableAggregator, BlockEnum.QuestionClassifier,
-  BlockEnum.ParameterExtractor, BlockEnum.Iteration, BlockEnum.Loop,
+  BlockEnum.ParameterExtractor, BlockEnum.Iteration,
   BlockEnum.DocExtractor, BlockEnum.ListFilter,
-  BlockEnum.Agent,
 ]
 
 export const LLM_OUTPUT_STRUCT: Var[] = [
@@ -574,10 +488,6 @@
   },
   {
     variable: 'url',
-    type: VarType.string,
-  },
-  {
-    variable: 'related_id',
     type: VarType.string,
   },
 ]
diff --git a/app/components/workflow/context.tsx b/app/components/workflow/context.tsx
index cae14fc..77c8291 100644
--- a/app/components/workflow/context.tsx
+++ b/app/components/workflow/context.tsx
@@ -2,24 +2,19 @@
   createContext,
   useRef,
 } from 'react'
-import {
-  createWorkflowStore,
-} from './store'
-import type { StateCreator } from 'zustand'
-import type { WorkflowSliceShape } from '@/app/components/workflow-app/store/workflow/workflow-slice'
+import { createWorkflowStore } from './store'
 
 type WorkflowStore = ReturnType<typeof createWorkflowStore>
 export const WorkflowContext = createContext<WorkflowStore | null>(null)
 
-export type WorkflowProviderProps = {
+type WorkflowProviderProps = {
   children: React.ReactNode
-  injectWorkflowStoreSliceFn?: StateCreator<WorkflowSliceShape>
 }
-export const WorkflowContextProvider = ({ children, injectWorkflowStoreSliceFn }: WorkflowProviderProps) => {
-  const storeRef = useRef<WorkflowStore | undefined>(undefined)
+export const WorkflowContextProvider = ({ children }: WorkflowProviderProps) => {
+  const storeRef = useRef<WorkflowStore>()
 
   if (!storeRef.current)
-    storeRef.current = createWorkflowStore({ injectWorkflowStoreSliceFn })
+    storeRef.current = createWorkflowStore()
 
   return (
     <WorkflowContext.Provider value={storeRef.current}>
diff --git a/app/components/workflow/custom-edge.tsx b/app/components/workflow/custom-edge.tsx
index 4467b0a..ce95549 100644
--- a/app/components/workflow/custom-edge.tsx
+++ b/app/components/workflow/custom-edge.tsx
@@ -23,7 +23,7 @@
 } from './types'
 import { NodeRunningStatus } from './types'
 import { getEdgeColor } from './utils'
-import { ITERATION_CHILDREN_Z_INDEX, LOOP_CHILDREN_Z_INDEX } from './constants'
+import { ITERATION_CHILDREN_Z_INDEX } from './constants'
 import CustomEdgeLinearGradientRender from './custom-edge-linear-gradient-render'
 import cn from '@/utils/classnames'
 import { ErrorHandleTypeEnum } from '@/app/components/workflow/nodes/_base/components/error-handle/types'
@@ -56,8 +56,8 @@
   })
   const [open, setOpen] = useState(false)
   const { handleNodeAdd } = useNodesInteractions()
-  const { availablePrevBlocks } = useAvailableBlocks((data as Edge['data'])!.targetType, (data as Edge['data'])?.isInIteration, (data as Edge['data'])?.isInLoop)
-  const { availableNextBlocks } = useAvailableBlocks((data as Edge['data'])!.sourceType, (data as Edge['data'])?.isInIteration, (data as Edge['data'])?.isInLoop)
+  const { availablePrevBlocks } = useAvailableBlocks((data as Edge['data'])!.targetType, (data as Edge['data'])?.isInIteration)
+  const { availableNextBlocks } = useAvailableBlocks((data as Edge['data'])!.sourceType, (data as Edge['data'])?.isInIteration)
   const {
     _sourceRunningStatus,
     _targetRunningStatus,
@@ -144,7 +144,6 @@
             data?._hovering ? 'block' : 'hidden',
             open && '!block',
             data.isInIteration && `z-[${ITERATION_CHILDREN_Z_INDEX}]`,
-            data.isInLoop && `z-[${LOOP_CHILDREN_Z_INDEX}]`,
           )}
           style={{
             position: 'absolute',
diff --git a/app/components/workflow/dsl-export-confirm-modal.tsx b/app/components/workflow/dsl-export-confirm-modal.tsx
index e9c51de..69bf1ab 100644
--- a/app/components/workflow/dsl-export-confirm-modal.tsx
+++ b/app/components/workflow/dsl-export-confirm-modal.tsx
@@ -8,7 +8,6 @@
 import Checkbox from '@/app/components/base/checkbox'
 import Button from '@/app/components/base/button'
 import type { EnvironmentVariable } from '@/app/components/workflow/types'
-import { noop } from 'lodash-es'
 
 export type DSLExportConfirmModalProps = {
   envList: EnvironmentVariable[]
@@ -33,34 +32,34 @@
   return (
     <Modal
       isShow={true}
-      onClose={noop}
-      className={cn('w-[480px] max-w-[480px]')}
+      onClose={() => { }}
+      className={cn('max-w-[480px] w-[480px]')}
     >
-      <div className='title-2xl-semi-bold relative pb-6 text-text-primary'>{t('workflow.env.export.title')}</div>
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onClose}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='relative pb-6 title-2xl-semi-bold text-text-primary'>{t('workflow.env.export.title')}</div>
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
+        <RiCloseLine className='w-4 h-4 text-text-tertiary' />
       </div>
       <div className='relative'>
-        <table className='radius-md w-full border-separate border-spacing-0 border border-divider-regular shadow-xs'>
+        <table className='w-full border-separate border-spacing-0 border border-divider-regular radius-md shadow-xs'>
           <thead className='system-xs-medium-uppercase text-text-tertiary'>
             <tr>
-              <td width={220} className='h-7 border-b border-r border-divider-regular pl-3'>NAME</td>
-              <td className='h-7 border-b border-divider-regular pl-3'>VALUE</td>
+              <td width={220} className='h-7 pl-3 border-r border-b border-divider-regular'>NAME</td>
+              <td className='h-7 pl-3 border-b border-divider-regular'>VALUE</td>
             </tr>
           </thead>
           <tbody>
             {envList.map((env, index) => (
               <tr key={env.name}>
-                <td className={cn('system-xs-medium h-7 border-r pl-3', index + 1 !== envList.length && 'border-b')}>
-                  <div className='flex w-[200px] items-center gap-1'>
-                    <Env className='h-4 w-4 shrink-0 text-util-colors-violet-violet-600' />
-                    <div className='truncate text-text-primary'>{env.name}</div>
+                <td className={cn('h-7 pl-3 border-r system-xs-medium', index + 1 !== envList.length && 'border-b')}>
+                  <div className='flex gap-1 items-center w-[200px]'>
+                    <Env className='shrink-0 w-4 h-4 text-util-colors-violet-violet-600' />
+                    <div className='text-text-primary truncate'>{env.name}</div>
                     <div className='shrink-0 text-text-tertiary'>Secret</div>
-                    <RiLock2Line className='h-3 w-3 shrink-0 text-text-tertiary' />
+                    <RiLock2Line className='shrink-0 w-3 h-3 text-text-tertiary' />
                   </div>
                 </td>
                 <td className={cn('h-7 pl-3', index + 1 !== envList.length && 'border-b')}>
-                  <div className='system-xs-regular truncate text-text-secondary'>{env.value}</div>
+                  <div className='system-xs-regular text-text-secondary truncate'>{env.value}</div>
                 </td>
               </tr>
             ))}
@@ -73,7 +72,7 @@
           checked={exportSecrets}
           onCheck={() => setExportSecrets(!exportSecrets)}
         />
-        <div className='system-sm-medium cursor-pointer text-text-primary' onClick={() => setExportSecrets(!exportSecrets)}>{t('workflow.env.export.checkbox')}</div>
+        <div className='text-text-primary system-sm-medium cursor-pointer' onClick={() => setExportSecrets(!exportSecrets)}>{t('workflow.env.export.checkbox')}</div>
       </div>
       <div className='flex flex-row-reverse pt-6'>
         <Button className='ml-2' variant='primary' onClick={submit}>{exportSecrets ? t('workflow.env.export.export') : t('workflow.env.export.ignore')}</Button>
diff --git a/app/components/workflow/header/chat-variable-button.tsx b/app/components/workflow/header/chat-variable-button.tsx
index b816e44..39745d4 100644
--- a/app/components/workflow/header/chat-variable-button.tsx
+++ b/app/components/workflow/header/chat-variable-button.tsx
@@ -16,7 +16,7 @@
 
   return (
     <Button className='p-2' disabled={disabled} onClick={handleClick}>
-      <BubbleX className='h-4 w-4 text-components-button-secondary-text' />
+      <BubbleX className='w-4 h-4 text-components-button-secondary-text' />
     </Button>
   )
 }
diff --git a/app/components/workflow/header/checklist.tsx b/app/components/workflow/header/checklist.tsx
index 9da16c5..6a9a6a6 100644
--- a/app/components/workflow/header/checklist.tsx
+++ b/app/components/workflow/header/checklist.tsx
@@ -57,20 +57,20 @@
       <PortalToFollowElemTrigger onClick={() => !disabled && setOpen(v => !v)}>
         <div
           className={cn(
-            'relative ml-0.5 flex h-7 w-7 items-center justify-center rounded-md',
-            disabled && 'cursor-not-allowed opacity-50',
+            'relative ml-0.5 flex items-center justify-center w-7 h-7 rounded-md',
+            disabled && 'opacity-50 cursor-not-allowed',
           )}
         >
           <div
-            className={cn('group flex h-full w-full cursor-pointer items-center justify-center rounded-md hover:bg-state-accent-hover', open && 'bg-state-accent-hover')}
+            className={cn('group flex items-center justify-center w-full h-full rounded-md cursor-pointer hover:bg-state-accent-hover', open && 'bg-state-accent-hover')}
           >
             <RiListCheck3
-              className={cn('h-4 w-4 group-hover:text-components-button-secondary-accent-text', open ? 'text-components-button-secondary-accent-text' : 'text-components-button-ghost-text')}
+              className={cn('w-4 h-4 group-hover:text-components-button-secondary-accent-text', open ? 'text-components-button-secondary-accent-text' : 'text-components-button-ghost-text')}
             />
           </div>
           {
             !!needWarningNodes.length && (
-              <div className='absolute -right-1.5 -top-1.5 flex h-[18px] min-w-[18px] items-center justify-center rounded-full border border-gray-100 bg-[#F79009] text-[11px] font-semibold text-white'>
+              <div className='absolute -right-1.5 -top-1.5 flex items-center justify-center min-w-[18px] h-[18px] rounded-full border border-gray-100 text-white text-[11px] font-semibold bg-[#F79009]'>
                 {needWarningNodes.length}
               </div>
             )
@@ -79,37 +79,37 @@
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[12]'>
         <div
-          className='w-[420px] overflow-y-auto rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg'
+          className='w-[420px] rounded-2xl bg-white border-[0.5px] border-black/5 shadow-lg overflow-y-auto'
           style={{
             maxHeight: 'calc(2 / 3 * 100vh)',
           }}
         >
-          <div className='text-md sticky top-0 z-[1] flex h-[44px] items-center bg-components-panel-bg pl-4 pr-3 pt-3 font-semibold text-text-primary'>
+          <div className='sticky top-0 bg-white flex items-center pl-4 pr-3 pt-3 h-[44px] text-md font-semibold text-gray-900 z-[1]'>
             <div className='grow'>{t('workflow.panel.checklist')}{needWarningNodes.length ? `(${needWarningNodes.length})` : ''}</div>
             <div
-              className='flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center'
+              className='shrink-0 flex items-center justify-center w-6 h-6 cursor-pointer'
               onClick={() => setOpen(false)}
             >
-              <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+              <RiCloseLine className='w-4 h-4 text-gray-500' />
             </div>
           </div>
           <div className='py-2'>
             {
               !!needWarningNodes.length && (
                 <>
-                  <div className='px-4 text-xs text-text-tertiary'>{t('workflow.panel.checklistTip')}</div>
+                  <div className='px-4 text-xs text-gray-400'>{t('workflow.panel.checklistTip')}</div>
                   <div className='px-4 py-2'>
                     {
                       needWarningNodes.map(node => (
                         <div
                           key={node.id}
-                          className='mb-2 cursor-pointer rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xs last-of-type:mb-0'
+                          className='mb-2 last-of-type:mb-0 border-[0.5px] border-gray-200 bg-white shadow-xs rounded-lg cursor-pointer'
                           onClick={() => {
                             handleNodeSelect(node.id)
                             setOpen(false)
                           }}
                         >
-                          <div className='flex h-9 items-center p-2 text-xs font-medium text-text-secondary'>
+                          <div className='flex items-center p-2 h-9 text-xs font-medium text-gray-700'>
                             <BlockIcon
                               type={node.type}
                               className='mr-1.5'
@@ -119,12 +119,12 @@
                               {node.title}
                             </span>
                           </div>
-                          <div className='border-t-[0.5px] border-divider-regular'>
+                          <div className='border-t-[0.5px] border-t-black/2'>
                             {
                               node.unConnected && (
-                                <div className='px-3 py-2 last:rounded-b-lg'>
-                                  <div className='flex text-xs leading-[18px] text-text-tertiary'>
-                                    <AlertTriangle className='mr-2 mt-[3px] h-3 w-3 text-[#F79009]' />
+                                <div className='px-3 py-2 bg-gray-25 rounded-b-lg'>
+                                  <div className='flex text-xs leading-[18px] text-gray-500'>
+                                    <AlertTriangle className='mt-[3px] mr-2 w-3 h-3 text-[#F79009]' />
                                     {t('workflow.common.needConnectTip')}
                                   </div>
                                 </div>
@@ -132,9 +132,9 @@
                             }
                             {
                               node.errorMessage && (
-                                <div className='px-3 py-2 last:rounded-b-lg'>
-                                  <div className='flex text-xs leading-[18px] text-text-tertiary'>
-                                    <AlertTriangle className='mr-2 mt-[3px] h-3 w-3 text-[#F79009]' />
+                                <div className='px-3 py-2 bg-gray-25 rounded-b-lg'>
+                                  <div className='flex text-xs leading-[18px] text-gray-500'>
+                                    <AlertTriangle className='mt-[3px] mr-2 w-3 h-3 text-[#F79009]' />
                                     {node.errorMessage}
                                   </div>
                                 </div>
@@ -150,8 +150,8 @@
             }
             {
               !needWarningNodes.length && (
-                <div className='mx-4 mb-3 rounded-lg bg-components-panel-bg py-4 text-center text-xs text-text-tertiary'>
-                  <ChecklistSquare className='mx-auto mb-[5px] h-8 w-8 text-text-quaternary' />
+                <div className='mx-4 mb-3 py-4 rounded-lg bg-gray-50 text-gray-400 text-xs text-center'>
+                  <ChecklistSquare className='mx-auto mb-[5px] w-8 h-8 text-gray-300' />
                   {t('workflow.panel.checklistResolved')}
                 </div>
               )
diff --git a/app/components/workflow/header/editing-title.tsx b/app/components/workflow/header/editing-title.tsx
index 2444cf8..9148420 100644
--- a/app/components/workflow/header/editing-title.tsx
+++ b/app/components/workflow/header/editing-title.tsx
@@ -1,19 +1,19 @@
 import { memo } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useFormatTimeFromNow } from '../hooks'
+import { useWorkflow } from '../hooks'
 import { useStore } from '@/app/components/workflow/store'
 import useTimestamp from '@/hooks/use-timestamp'
 
 const EditingTitle = () => {
   const { t } = useTranslation()
   const { formatTime } = useTimestamp()
-  const { formatTimeFromNow } = useFormatTimeFromNow()
+  const { formatTimeFromNow } = useWorkflow()
   const draftUpdatedAt = useStore(state => state.draftUpdatedAt)
   const publishedAt = useStore(state => state.publishedAt)
   const isSyncingWorkflowDraft = useStore(s => s.isSyncingWorkflowDraft)
 
   return (
-    <div className='system-xs-regular flex h-[18px] items-center text-text-tertiary'>
+    <div className='flex items-center h-[18px] system-xs-regular text-text-tertiary'>
       {
         !!draftUpdatedAt && (
           <>
@@ -21,7 +21,7 @@
           </>
         )
       }
-      <span className='mx-1 flex items-center'>路</span>
+      <span className='flex items-center mx-1'>路</span>
       {
         publishedAt
           ? `${t('workflow.common.published')} ${formatTimeFromNow(publishedAt)}`
@@ -30,7 +30,7 @@
       {
         isSyncingWorkflowDraft && (
           <>
-            <span className='mx-1 flex items-center'>路</span>
+            <span className='flex items-center mx-1'>路</span>
             {t('workflow.common.syncingData')}
           </>
         )
diff --git a/app/components/workflow/header/env-button.tsx b/app/components/workflow/header/env-button.tsx
index e3196ee..7159877 100644
--- a/app/components/workflow/header/env-button.tsx
+++ b/app/components/workflow/header/env-button.tsx
@@ -16,7 +16,7 @@
 
   return (
     <Button className='p-2' disabled={disabled} onClick={handleClick}>
-      <Env className='h-4 w-4 text-components-button-secondary-text' />
+      <Env className='w-4 h-4 text-components-button-secondary-text' />
     </Button>
   )
 }
diff --git a/app/components/workflow/header/global-variable-button.tsx b/app/components/workflow/header/global-variable-button.tsx
index 597c916..ff02604 100644
--- a/app/components/workflow/header/global-variable-button.tsx
+++ b/app/components/workflow/header/global-variable-button.tsx
@@ -12,7 +12,7 @@
 
   return (
     <Button className='p-2' disabled={disabled} onClick={handleClick}>
-      <GlobalVariable className='h-4 w-4 text-components-button-secondary-text' />
+      <GlobalVariable className='w-4 h-4 text-components-button-secondary-text' />
     </Button>
   )
 }
diff --git a/app/components/workflow/header/index.tsx b/app/components/workflow/header/index.tsx
index e5391af..d15cd92 100644
--- a/app/components/workflow/header/index.tsx
+++ b/app/components/workflow/header/index.tsx
@@ -1,51 +1,245 @@
+import type { FC } from 'react'
 import {
+  memo,
+  useCallback,
+  useMemo,
+} from 'react'
+import { RiApps2AddLine } from '@remixicon/react'
+import { useNodes } from 'reactflow'
+import { useTranslation } from 'react-i18next'
+import { useContext } from 'use-context-selector'
+import {
+  useStore,
+  useWorkflowStore,
+} from '../store'
+import {
+  BlockEnum,
+  InputVarType,
+} from '../types'
+import type { StartNodeType } from '../nodes/start/types'
+import {
+  useChecklistBeforePublish,
+  useIsChatMode,
+  useNodesInteractions,
+  useNodesReadOnly,
+  useNodesSyncDraft,
   useWorkflowMode,
+  useWorkflowRun,
 } from '../hooks'
-import type { HeaderInNormalProps } from './header-in-normal'
-import HeaderInNormal from './header-in-normal'
-import HeaderInHistory from './header-in-view-history'
-import type { HeaderInRestoringProps } from './header-in-restoring'
-import HeaderInRestoring from './header-in-restoring'
+import AppPublisher from '../../app/app-publisher'
+import { ToastContext } from '../../base/toast'
+import Divider from '../../base/divider'
+import RunAndHistory from './run-and-history'
+import EditingTitle from './editing-title'
+import RunningTitle from './running-title'
+import RestoringTitle from './restoring-title'
+import ViewHistory from './view-history'
+import ChatVariableButton from './chat-variable-button'
+import EnvButton from './env-button'
+import VersionHistoryModal from './version-history-modal'
+import Button from '@/app/components/base/button'
+import { useStore as useAppStore } from '@/app/components/app/store'
+import { publishWorkflow } from '@/service/workflow'
+import { ArrowNarrowLeft } from '@/app/components/base/icons/src/vender/line/arrows'
+import { useFeatures } from '@/app/components/base/features/hooks'
 
-export type HeaderProps = {
-  normal?: HeaderInNormalProps
-  restoring?: HeaderInRestoringProps
-}
-const Header = ({
-  normal: normalProps,
-  restoring: restoringProps,
-}: HeaderProps) => {
+const Header: FC = () => {
+  const { t } = useTranslation()
+  const workflowStore = useWorkflowStore()
+  const appDetail = useAppStore(s => s.appDetail)
+  const appSidebarExpand = useAppStore(s => s.appSidebarExpand)
+  const appID = appDetail?.id
+  const isChatMode = useIsChatMode()
+  const { nodesReadOnly, getNodesReadOnly } = useNodesReadOnly()
+  const { handleNodeSelect } = useNodesInteractions()
+  const publishedAt = useStore(s => s.publishedAt)
+  const draftUpdatedAt = useStore(s => s.draftUpdatedAt)
+  const toolPublished = useStore(s => s.toolPublished)
+  const nodes = useNodes<StartNodeType>()
+  const startNode = nodes.find(node => node.data.type === BlockEnum.Start)
+  const selectedNode = nodes.find(node => node.data.selected)
+  const startVariables = startNode?.data.variables
+  const fileSettings = useFeatures(s => s.features.file)
+  const variables = useMemo(() => {
+    const data = startVariables || []
+    if (fileSettings?.image?.enabled) {
+      return [
+        ...data,
+        {
+          type: InputVarType.files,
+          variable: '__image',
+          required: false,
+          label: 'files',
+        },
+      ]
+    }
+
+    return data
+  }, [fileSettings?.image?.enabled, startVariables])
+
+  const {
+    handleLoadBackupDraft,
+    handleBackupDraft,
+  } = useWorkflowRun()
+  const { handleCheckBeforePublish } = useChecklistBeforePublish()
+  const { handleSyncWorkflowDraft } = useNodesSyncDraft()
+  const { notify } = useContext(ToastContext)
   const {
     normal,
     restoring,
     viewHistory,
   } = useWorkflowMode()
 
+  const handleShowFeatures = useCallback(() => {
+    const {
+      showFeaturesPanel,
+      isRestoring,
+      setShowFeaturesPanel,
+    } = workflowStore.getState()
+    if (getNodesReadOnly() && !isRestoring)
+      return
+    setShowFeaturesPanel(!showFeaturesPanel)
+  }, [workflowStore, getNodesReadOnly])
+
+  const handleCancelRestore = useCallback(() => {
+    handleLoadBackupDraft()
+    workflowStore.setState({ isRestoring: false })
+  }, [workflowStore, handleLoadBackupDraft])
+
+  const handleRestore = useCallback(() => {
+    workflowStore.setState({ isRestoring: false })
+    workflowStore.setState({ backupDraft: undefined })
+    handleSyncWorkflowDraft(true)
+  }, [handleSyncWorkflowDraft, workflowStore])
+
+  const onPublish = useCallback(async () => {
+    if (handleCheckBeforePublish()) {
+      const res = await publishWorkflow(`/apps/${appID}/workflows/publish`)
+
+      if (res) {
+        notify({ type: 'success', message: t('common.api.actionSuccess') })
+        workflowStore.getState().setPublishedAt(res.created_at)
+      }
+    }
+    else {
+      throw new Error('Checklist failed')
+    }
+  }, [appID, handleCheckBeforePublish, notify, t, workflowStore])
+
+  const onStartRestoring = useCallback(() => {
+    workflowStore.setState({ isRestoring: true })
+    handleBackupDraft()
+    // clear right panel
+    if (selectedNode)
+      handleNodeSelect(selectedNode.id, true)
+  }, [handleBackupDraft, workflowStore, handleNodeSelect, selectedNode])
+
+  const onPublisherToggle = useCallback((state: boolean) => {
+    if (state)
+      handleSyncWorkflowDraft(true)
+  }, [handleSyncWorkflowDraft])
+
+  const handleGoBackToEdit = useCallback(() => {
+    handleLoadBackupDraft()
+    workflowStore.setState({ historyWorkflowData: undefined })
+  }, [workflowStore, handleLoadBackupDraft])
+
+  const handleToolConfigureUpdate = useCallback(() => {
+    workflowStore.setState({ toolPublished: true })
+  }, [workflowStore])
+
   return (
     <div
-      className='absolute left-0 top-0 z-10 flex h-14 w-full items-center justify-between bg-mask-top2bottom-gray-50-to-transparent px-3'
+      className='absolute top-0 left-0 z-10 flex items-center justify-between w-full px-3 h-14 bg-mask-top2bottom-gray-50-to-transparent'
     >
+      <div>
+        {
+          appSidebarExpand === 'collapse' && (
+            <div className='system-xs-regular text-text-tertiary'>{appDetail?.name}</div>
+          )
+        }
+        {
+          normal && <EditingTitle />
+        }
+        {
+          viewHistory && <RunningTitle />
+        }
+        {
+          restoring && <RestoringTitle />
+        }
+      </div>
       {
         normal && (
-          <HeaderInNormal
-            {...normalProps}
-          />
+          <div className='flex items-center gap-2'>
+            {/* <GlobalVariableButton disabled={nodesReadOnly} /> */}
+            {isChatMode && <ChatVariableButton disabled={nodesReadOnly} />}
+            <EnvButton disabled={nodesReadOnly} />
+            <Divider type='vertical' className='h-3.5 mx-auto' />
+            <RunAndHistory />
+            <Button className='text-components-button-secondary-text' onClick={handleShowFeatures}>
+              <RiApps2AddLine className='w-4 h-4 mr-1 text-components-button-secondary-text' />
+              {t('workflow.common.features')}
+            </Button>
+            <AppPublisher
+              {...{
+                publishedAt,
+                draftUpdatedAt,
+                disabled: nodesReadOnly,
+                toolPublished,
+                inputs: variables,
+                onRefreshData: handleToolConfigureUpdate,
+                onPublish,
+                onRestore: onStartRestoring,
+                onToggle: onPublisherToggle,
+                crossAxisOffset: 4,
+              }}
+            />
+          </div>
         )
       }
       {
         viewHistory && (
-          <HeaderInHistory />
+          <div className='flex items-center space-x-2'>
+            <ViewHistory withText />
+            <Divider type='vertical' className='h-3.5 mx-auto' />
+            <Button
+              variant='primary'
+              onClick={handleGoBackToEdit}
+            >
+              <ArrowNarrowLeft className='w-4 h-4 mr-1' />
+              {t('workflow.common.goBackToEdit')}
+            </Button>
+          </div>
         )
       }
       {
         restoring && (
-          <HeaderInRestoring
-            {...restoringProps}
-          />
+          <div className='flex flex-col mt-auto'>
+            <div className='flex items-center justify-end my-4'>
+              <Button className='text-components-button-secondary-text' onClick={handleShowFeatures}>
+                <RiApps2AddLine className='w-4 h-4 mr-1 text-components-button-secondary-text' />
+                {t('workflow.common.features')}
+              </Button>
+              <div className='mx-2 w-[1px] h-3.5 bg-gray-200'></div>
+              <Button
+                className='mr-2'
+                onClick={handleCancelRestore}
+              >
+                {t('common.operation.cancel')}
+              </Button>
+              <Button
+                onClick={handleRestore}
+                variant='primary'
+              >
+                {t('workflow.common.restore')}
+              </Button>
+            </div>
+            <VersionHistoryModal />
+          </div>
         )
       }
     </div>
   )
 }
 
-export default Header
+export default memo(Header)
diff --git a/app/components/workflow/header/restoring-title.tsx b/app/components/workflow/header/restoring-title.tsx
index 26cdd79..344e5e2 100644
--- a/app/components/workflow/header/restoring-title.tsx
+++ b/app/components/workflow/header/restoring-title.tsx
@@ -1,47 +1,19 @@
-import { memo, useMemo } from 'react'
+import { memo } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useFormatTimeFromNow } from '../hooks'
+import { useWorkflow } from '../hooks'
 import { useStore } from '../store'
-import { WorkflowVersion } from '../types'
-import useTimestamp from '@/hooks/use-timestamp'
+import { ClockRefresh } from '@/app/components/base/icons/src/vender/line/time'
 
 const RestoringTitle = () => {
   const { t } = useTranslation()
-  const { formatTimeFromNow } = useFormatTimeFromNow()
-  const { formatTime } = useTimestamp()
-  const currentVersion = useStore(state => state.currentVersion)
-  const isDraft = currentVersion?.version === WorkflowVersion.Draft
-  const publishStatus = isDraft ? t('workflow.common.unpublished') : t('workflow.common.published')
-
-  const versionName = useMemo(() => {
-    if (isDraft)
-      return t('workflow.versionHistory.currentDraft')
-    return currentVersion?.marked_name || t('workflow.versionHistory.defaultName')
-  }, [currentVersion, t, isDraft])
+  const { formatTimeFromNow } = useWorkflow()
+  const publishedAt = useStore(state => state.publishedAt)
 
   return (
-    <div className='flex flex-col gap-y-0.5'>
-      <div className='flex items-center gap-x-1'>
-        <span className='system-sm-semibold text-text-primary'>
-          {versionName}
-        </span>
-        <span className='system-2xs-medium-uppercase rounded-[5px] border border-text-accent-secondary bg-components-badge-bg-dimm px-1 py-0.5 text-text-accent-secondary'>
-          {t('workflow.common.viewOnly')}
-        </span>
-      </div>
-      <div className='system-xs-regular flex h-4 items-center gap-x-1 text-text-tertiary'>
-        {
-          currentVersion && (
-            <>
-              <span>{publishStatus}</span>
-              <span>路</span>
-              <span>{`${formatTimeFromNow((isDraft ? currentVersion.updated_at : currentVersion.created_at) * 1000)} ${formatTime(currentVersion.created_at, 'HH:mm:ss')}`}</span>
-              <span>路</span>
-              <span>{currentVersion?.created_by?.name || ''}</span>
-            </>
-          )
-        }
-      </div>
+    <div className='flex items-center h-[18px] text-xs text-gray-500'>
+      <ClockRefresh className='mr-1 w-3 h-3 text-gray-500' />
+      {t('workflow.common.latestPublished')}<span> </span>
+      {formatTimeFromNow(publishedAt)}
     </div>
   )
 }
diff --git a/app/components/workflow/header/run-and-history.tsx b/app/components/workflow/header/run-and-history.tsx
index 19ed87d..d3c5b99 100644
--- a/app/components/workflow/header/run-and-history.tsx
+++ b/app/components/workflow/header/run-and-history.tsx
@@ -31,9 +31,9 @@
     <>
       <div
         className={cn(
-          'flex h-7 items-center rounded-md px-2.5 text-[13px] font-medium text-components-button-secondary-accent-text',
-          'cursor-pointer hover:bg-state-accent-hover',
-          isRunning && '!cursor-not-allowed bg-state-accent-hover',
+          'flex items-center px-2.5 h-7 rounded-md text-[13px] font-medium text-components-button-secondary-accent-text',
+          'hover:bg-state-accent-hover cursor-pointer',
+          isRunning && 'bg-state-accent-hover !cursor-not-allowed',
         )}
         onClick={() => {
           handleWorkflowStartRunInWorkflow()
@@ -43,13 +43,13 @@
           isRunning
             ? (
               <>
-                <RiLoader2Line className='mr-1 h-4 w-4 animate-spin' />
+                <RiLoader2Line className='mr-1 w-4 h-4 animate-spin' />
                 {t('workflow.common.running')}
               </>
             )
             : (
               <>
-                <RiPlayLargeLine className='mr-1 h-4 w-4' />
+                <RiPlayLargeLine className='mr-1 w-4 h-4' />
                 {t('workflow.common.run')}
               </>
             )
@@ -58,10 +58,10 @@
       {
         isRunning && (
           <div
-            className='ml-0.5 flex h-7 w-7 cursor-pointer items-center justify-center rounded-md hover:bg-black/5'
+            className='flex items-center justify-center ml-0.5 w-7 h-7 cursor-pointer hover:bg-black/5 rounded-md'
             onClick={() => handleStopRun(workflowRunningData?.task_id || '')}
           >
-            <StopCircle className='h-4 w-4 text-components-button-ghost-text' />
+            <StopCircle className='w-4 h-4 text-components-button-ghost-text' />
           </div>
         )
       }
@@ -77,12 +77,12 @@
   return (
     <div
       className={cn(
-        'flex h-7 items-center rounded-md px-2.5 text-[13px] font-medium text-components-button-secondary-accent-text',
-        'cursor-pointer hover:bg-state-accent-hover',
+        'flex items-center px-2.5 h-7 rounded-md text-[13px] font-medium text-components-button-secondary-accent-text',
+        'hover:bg-state-accent-hover cursor-pointer',
       )}
       onClick={() => handleWorkflowStartRunInChatflow()}
     >
-      <RiPlayLargeLine className='mr-1 h-4 w-4' />
+      <RiPlayLargeLine className='mr-1 w-4 h-4' />
       {t('workflow.common.debugAndPreview')}
     </div>
   )
@@ -94,14 +94,14 @@
   const { nodesReadOnly } = useNodesReadOnly()
 
   return (
-    <div className='flex h-8 items-center rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-0.5 shadow-xs'>
+    <div className='flex items-center px-0.5 h-8 rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg shadow-xs'>
       {
         !isChatMode && <RunMode />
       }
       {
         isChatMode && <PreviewMode />
       }
-      <div className='mx-0.5 h-3.5 w-[1px] bg-divider-regular'></div>
+      <div className='mx-0.5 w-[1px] h-3.5 bg-divider-regular'></div>
       <ViewHistory />
       <Checklist disabled={nodesReadOnly} />
     </div>
diff --git a/app/components/workflow/header/running-title.tsx b/app/components/workflow/header/running-title.tsx
index 0460a96..2b635f9 100644
--- a/app/components/workflow/header/running-title.tsx
+++ b/app/components/workflow/header/running-title.tsx
@@ -10,11 +10,11 @@
   const historyWorkflowData = useStore(s => s.historyWorkflowData)
 
   return (
-    <div className='flex h-[18px] items-center text-xs text-gray-500'>
-      <ClockPlay className='mr-1 h-3 w-3 text-gray-500' />
+    <div className='flex items-center h-[18px] text-xs text-gray-500'>
+      <ClockPlay className='mr-1 w-3 h-3 text-gray-500' />
       <span>{isChatMode ? `Test Chat#${historyWorkflowData?.sequence_number}` : `Test Run#${historyWorkflowData?.sequence_number}`}</span>
       <span className='mx-1'>路</span>
-      <span className='ml-1 flex h-[18px] items-center rounded-[5px] border border-indigo-300 bg-white/[0.48] px-1 text-[10px] font-semibold uppercase text-indigo-600'>
+      <span className='ml-1 uppercase flex items-center px-1 h-[18px] rounded-[5px] border border-indigo-300 bg-white/[0.48] text-[10px] font-semibold text-indigo-600'>
         {t('workflow.common.viewOnly')}
       </span>
     </div>
diff --git a/app/components/workflow/header/undo-redo.tsx b/app/components/workflow/header/undo-redo.tsx
index 9beb655..289fb01 100644
--- a/app/components/workflow/header/undo-redo.tsx
+++ b/app/components/workflow/header/undo-redo.tsx
@@ -31,7 +31,7 @@
   const { nodesReadOnly } = useNodesReadOnly()
 
   return (
-    <div className='flex items-center space-x-0.5 rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-lg backdrop-blur-[5px]'>
+    <div className='flex items-center space-x-0.5 p-0.5 backdrop-blur-[5px] rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg shadow-lg'>
       <TipPopup title={t('workflow.common.undo')!} shortcuts={['ctrl', 'z']}>
         <div
           data-tooltip-id='workflow.undo'
@@ -57,7 +57,7 @@
           <RiArrowGoForwardFill className='h-4 w-4' />
         </div>
       </TipPopup>
-      <Divider type='vertical' className="mx-0.5 h-3.5" />
+      <Divider type='vertical' className="h-3.5 mx-0.5" />
       <ViewWorkflowHistory />
     </div >
   )
diff --git a/app/components/workflow/header/version-history-item.tsx b/app/components/workflow/header/version-history-item.tsx
new file mode 100644
index 0000000..a1ec550
--- /dev/null
+++ b/app/components/workflow/header/version-history-item.tsx
@@ -0,0 +1,66 @@
+import React from 'react'
+import dayjs from 'dayjs'
+import { useTranslation } from 'react-i18next'
+import { WorkflowVersion } from '../types'
+import cn from '@/utils/classnames'
+import type { VersionHistory } from '@/types/workflow'
+
+type VersionHistoryItemProps = {
+  item: VersionHistory
+  selectedVersion: string
+  onClick: (item: VersionHistory) => void
+  curIdx: number
+  page: number
+}
+
+const formatVersion = (version: string, curIdx: number, page: number): string => {
+  if (curIdx === 0 && page === 1)
+    return WorkflowVersion.Draft
+  if (curIdx === 1 && page === 1)
+    return WorkflowVersion.Latest
+  try {
+    const date = new Date(version)
+    if (isNaN(date.getTime()))
+      return version
+
+    // format as YYYY-MM-DD HH:mm:ss
+    return date.toISOString().slice(0, 19).replace('T', ' ')
+  }
+  catch {
+    return version
+  }
+}
+
+const VersionHistoryItem: React.FC<VersionHistoryItemProps> = ({ item, selectedVersion, onClick, curIdx, page }) => {
+  const { t } = useTranslation()
+  const formatTime = (time: number) => dayjs.unix(time).format('YYYY-MM-DD HH:mm:ss')
+  const formattedVersion = formatVersion(item.version, curIdx, page)
+  const renderVersionLabel = (version: string) => (
+    (version === WorkflowVersion.Draft || version === WorkflowVersion.Latest)
+      ? (
+        <div className="shrink-0 px-1 border bg-white border-[rgba(0,0,0,0.08)] rounded-[5px] truncate">
+          {version}
+        </div>
+      )
+      : null
+  )
+
+  return (
+    <div
+      className={cn(
+        'flex items-center p-2 h-12 text-xs font-medium text-gray-700 justify-between',
+        formattedVersion === selectedVersion ? '' : 'hover:bg-gray-100',
+        formattedVersion === WorkflowVersion.Draft ? 'cursor-not-allowed' : 'cursor-pointer',
+      )}
+      onClick={() => item.version !== WorkflowVersion.Draft && onClick(item)}
+    >
+      <div className='flex flex-col gap-1 py-2'>
+        <span className="text-left">{formatTime(formattedVersion === WorkflowVersion.Draft ? item.updated_at : item.created_at)}</span>
+        <span className="text-left">{t('workflow.panel.createdBy')}  {item.created_by.name}</span>
+      </div>
+      {renderVersionLabel(formattedVersion)}
+    </div>
+  )
+}
+
+export default React.memo(VersionHistoryItem)
diff --git a/app/components/workflow/header/version-history-modal.tsx b/app/components/workflow/header/version-history-modal.tsx
new file mode 100644
index 0000000..a2cd458
--- /dev/null
+++ b/app/components/workflow/header/version-history-modal.tsx
@@ -0,0 +1,89 @@
+'use client'
+import React, { useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import useSWR from 'swr'
+import { useWorkflowRun } from '../hooks'
+import VersionHistoryItem from './version-history-item'
+import type { VersionHistory } from '@/types/workflow'
+import { useStore as useAppStore } from '@/app/components/app/store'
+import { fetchPublishedAllWorkflow } from '@/service/workflow'
+import Loading from '@/app/components/base/loading'
+import Button from '@/app/components/base/button'
+
+const limit = 10
+
+const VersionHistoryModal = () => {
+  const [selectedVersion, setSelectedVersion] = useState('draft')
+  const [page, setPage] = useState(1)
+  const { handleRestoreFromPublishedWorkflow } = useWorkflowRun()
+  const appDetail = useAppStore.getState().appDetail
+  const { t } = useTranslation()
+  const {
+    data: versionHistory,
+    isLoading,
+  } = useSWR(
+    `/apps/${appDetail?.id}/workflows?page=${page}&limit=${limit}`,
+    fetchPublishedAllWorkflow,
+  )
+
+  const handleVersionClick = (item: VersionHistory) => {
+    if (item.version !== selectedVersion) {
+      setSelectedVersion(item.version)
+      handleRestoreFromPublishedWorkflow(item)
+    }
+  }
+
+  const handleNextPage = () => {
+    if (versionHistory?.has_more)
+      setPage(page => page + 1)
+  }
+
+  return (
+    <div className='w-[336px] bg-white rounded-2xl border-[0.5px] border-gray-200 shadow-xl p-2'>
+      <div className="max-h-[400px] overflow-auto">
+        {(isLoading && page) === 1
+          ? (
+            <div className='flex items-center justify-center h-10'>
+              <Loading/>
+            </div>
+          )
+          : (
+            <>
+              {versionHistory?.items?.map((item, idx) => (
+                <VersionHistoryItem
+                  key={item.version}
+                  item={item}
+                  selectedVersion={selectedVersion}
+                  onClick={handleVersionClick}
+                  curIdx={idx}
+                  page={page}
+                />
+              ))}
+              {isLoading && page > 1 && (
+                <div className='flex items-center justify-center h-10'>
+                  <Loading/>
+                </div>
+              )}
+              {!isLoading && versionHistory?.has_more && (
+                <div className='flex items-center justify-center h-10 mt-2'>
+                  <Button
+                    className='text-sm'
+                    onClick={handleNextPage}
+                  >
+                    {t('workflow.common.loadMore')}
+                  </Button>
+                </div>
+              )}
+              {!isLoading && !versionHistory?.items?.length && (
+                <div className='flex items-center justify-center h-10 text-gray-500'>
+                  {t('workflow.common.noHistory')}
+                </div>
+              )}
+            </>
+          )}
+      </div>
+    </div>
+  )
+}
+
+export default React.memo(VersionHistoryModal)
diff --git a/app/components/workflow/header/view-history.tsx b/app/components/workflow/header/view-history.tsx
index 21b4462..82d8a30 100644
--- a/app/components/workflow/header/view-history.tsx
+++ b/app/components/workflow/header/view-history.tsx
@@ -11,9 +11,9 @@
   RiErrorWarningLine,
 } from '@remixicon/react'
 import {
-  useFormatTimeFromNow,
   useIsChatMode,
   useNodesInteractions,
+  useWorkflow,
   useWorkflowInteractions,
   useWorkflowRun,
 } from '../hooks'
@@ -50,7 +50,7 @@
   const { t } = useTranslation()
   const isChatMode = useIsChatMode()
   const [open, setOpen] = useState(false)
-  const { formatTimeFromNow } = useFormatTimeFromNow()
+  const { formatTimeFromNow } = useWorkflow()
   const {
     handleNodesCancelSelected,
   } = useNodesInteractions()
@@ -87,12 +87,12 @@
           {
             withText && (
               <div className={cn(
-                'flex h-8 items-center rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-3 shadow-xs',
-                'cursor-pointer text-[13px] font-medium text-components-button-secondary-text hover:bg-components-button-secondary-bg-hover',
-                open && 'bg-components-button-secondary-bg-hover',
+                'flex items-center px-3 h-8 rounded-lg border-[0.5px] border-gray-200 bg-white shadow-xs',
+                'text-[13px] font-medium text-primary-600 cursor-pointer',
+                open && '!bg-primary-50',
               )}>
                 <ClockPlay
-                  className={'mr-1 h-4 w-4'}
+                  className={'mr-1 w-4 h-4'}
                 />
                 {t('workflow.common.showRunHistory')}
               </div>
@@ -104,13 +104,13 @@
                 popupContent={t('workflow.common.viewRunHistory')}
               >
                 <div
-                  className={cn('group flex h-7 w-7 cursor-pointer items-center justify-center rounded-md hover:bg-state-accent-hover', open && 'bg-state-accent-hover')}
+                  className={cn('group flex items-center justify-center w-7 h-7 rounded-md hover:bg-state-accent-hover cursor-pointer', open && 'bg-state-accent-hover')}
                   onClick={() => {
                     setCurrentLogItem()
                     setShowMessageLogModal(false)
                   }}
                 >
-                  <ClockPlay className={cn('h-4 w-4 group-hover:text-components-button-secondary-accent-text', open ? 'text-components-button-secondary-accent-text' : 'text-components-button-ghost-text')} />
+                  <ClockPlay className={cn('w-4 h-4 group-hover:text-components-button-secondary-accent-text', open ? 'text-components-button-secondary-accent-text' : 'text-components-button-ghost-text')} />
                 </div>
               </Tooltip>
             )
@@ -118,27 +118,27 @@
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[12]'>
           <div
-            className='ml-2 flex w-[240px] flex-col overflow-y-auto rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'
+            className='flex flex-col ml-2 w-[240px] bg-white border-[0.5px] border-gray-200 shadow-xl rounded-xl overflow-y-auto'
             style={{
               maxHeight: 'calc(2 / 3 * 100vh)',
             }}
           >
-            <div className='sticky top-0 flex items-center justify-between bg-components-panel-bg px-4 pt-3 text-base font-semibold text-text-primary'>
+            <div className='sticky top-0 bg-white flex items-center justify-between px-4 pt-3 text-base font-semibold text-gray-900'>
               <div className='grow'>{t('workflow.common.runHistory')}</div>
               <div
-                className='flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center'
+                className='shrink-0 flex items-center justify-center w-6 h-6 cursor-pointer'
                 onClick={() => {
                   setCurrentLogItem()
                   setShowMessageLogModal(false)
                   setOpen(false)
                 }}
               >
-                <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+                <RiCloseLine className='w-4 h-4 text-gray-500' />
               </div>
             </div>
             {
               isLoading && (
-                <div className='flex h-10 items-center justify-center'>
+                <div className='flex items-center justify-center h-10'>
                   <Loading />
                 </div>
               )
@@ -149,8 +149,8 @@
                   {
                     !data?.data.length && (
                       <div className='py-12'>
-                        <ClockPlaySlim className='mx-auto mb-2 h-8 w-8 text-text-quaternary' />
-                        <div className='text-center text-[13px] text-text-quaternary'>
+                        <ClockPlaySlim className='mx-auto mb-2 w-8 h-8 text-gray-300' />
+                        <div className='text-center text-[13px] text-gray-400'>
                           {t('workflow.common.notRunning')}
                         </div>
                       </div>
@@ -161,8 +161,8 @@
                       <div
                         key={item.id}
                         className={cn(
-                          'mb-0.5 flex cursor-pointer rounded-lg px-2 py-[7px] hover:bg-state-base-hover',
-                          item.id === historyWorkflowData?.id && 'bg-state-accent-hover hover:bg-state-accent-hover',
+                          'flex mb-0.5 px-2 py-[7px] rounded-lg hover:bg-primary-50 cursor-pointer',
+                          item.id === historyWorkflowData?.id && 'bg-primary-50',
                         )}
                         onClick={() => {
                           workflowStore.setState({
@@ -179,29 +179,29 @@
                       >
                         {
                           !isChatMode && item.status === WorkflowRunningStatus.Stopped && (
-                            <AlertTriangle className='mr-1.5 mt-0.5 h-3.5 w-3.5 text-[#F79009]' />
+                            <AlertTriangle className='mt-0.5 mr-1.5 w-3.5 h-3.5 text-[#F79009]' />
                           )
                         }
                         {
                           !isChatMode && item.status === WorkflowRunningStatus.Failed && (
-                            <RiErrorWarningLine className='mr-1.5 mt-0.5 h-3.5 w-3.5 text-[#F04438]' />
+                            <RiErrorWarningLine className='mt-0.5 mr-1.5 w-3.5 h-3.5 text-[#F04438]' />
                           )
                         }
                         {
                           !isChatMode && item.status === WorkflowRunningStatus.Succeeded && (
-                            <RiCheckboxCircleLine className='mr-1.5 mt-0.5 h-3.5 w-3.5 text-[#12B76A]' />
+                            <RiCheckboxCircleLine className='mt-0.5 mr-1.5 w-3.5 h-3.5 text-[#12B76A]' />
                           )
                         }
                         <div>
                           <div
                             className={cn(
-                              'flex items-center text-[13px] font-medium leading-[18px] text-text-primary',
-                              item.id === historyWorkflowData?.id && 'text-text-accent',
+                              'flex items-center text-[13px] font-medium leading-[18px]',
+                              item.id === historyWorkflowData?.id && 'text-primary-600',
                             )}
                           >
-                            {`Test ${isChatMode ? 'Chat' : 'Run'} #${item.sequence_number}`}
+                            {`Test ${isChatMode ? 'Chat' : 'Run'}#${item.sequence_number}`}
                           </div>
-                          <div className='flex items-center text-xs leading-[18px] text-text-tertiary'>
+                          <div className='flex items-center text-xs text-gray-500 leading-[18px]'>
                             {item.created_by_account?.name} 路 {formatTimeFromNow((item.finished_at || item.created_at) * 1000)}
                           </div>
                         </div>
diff --git a/app/components/workflow/header/view-workflow-history.tsx b/app/components/workflow/header/view-workflow-history.tsx
index fe1c819..5614dc8 100644
--- a/app/components/workflow/header/view-workflow-history.tsx
+++ b/app/components/workflow/header/view-workflow-history.tsx
@@ -138,31 +138,31 @@
                 setShowMessageLogModal(false)
               }}
             >
-              <RiHistoryLine className='h-4 w-4' />
+              <RiHistoryLine className='w-4 h-4' />
             </div>
           </TipPopup>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[12]'>
           <div
-            className='ml-2 flex min-w-[240px] max-w-[360px] flex-col overflow-y-auto rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-xl backdrop-blur-[5px]'
+            className='flex flex-col ml-2 min-w-[240px] max-w-[360px] bg-components-panel-bg-blur backdrop-blur-[5px] border-[0.5px] border-components-panel-border shadow-xl rounded-xl overflow-y-auto'
           >
             <div className='sticky top-0 flex items-center justify-between px-4 pt-3'>
-              <div className='system-mg-regular grow text-text-secondary'>{t('workflow.changeHistory.title')}</div>
+              <div className='grow text-text-secondary system-mg-regular'>{t('workflow.changeHistory.title')}</div>
               <div
-                className='flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center'
+                className='shrink-0 flex items-center justify-center w-6 h-6 cursor-pointer'
                 onClick={() => {
                   setCurrentLogItem()
                   setShowMessageLogModal(false)
                   setOpen(false)
                 }}
               >
-                <RiCloseLine className='h-4 w-4 text-text-secondary' />
+                <RiCloseLine className='w-4 h-4 text-text-secondary' />
               </div>
             </div>
             {
               (
                 <div
-                  className='overflow-y-auto p-2'
+                  className='p-2 overflow-y-auto'
                   style={{
                     maxHeight: 'calc(1 / 2 * 100vh)',
                   }}
@@ -170,7 +170,7 @@
                   {
                     !calculateChangeList.statesCount && (
                       <div className='py-12'>
-                        <RiHistoryLine className='mx-auto mb-2 h-8 w-8 text-text-tertiary' />
+                        <RiHistoryLine className='mx-auto mb-2 w-8 h-8 text-text-tertiary' />
                         <div className='text-center text-[13px] text-text-tertiary'>
                           {t('workflow.changeHistory.placeholder')}
                         </div>
@@ -183,7 +183,7 @@
                         <div
                           key={item?.index}
                           className={cn(
-                            'mb-0.5 flex cursor-pointer rounded-lg px-2 py-[7px] text-text-secondary hover:bg-state-base-hover',
+                            'flex mb-0.5 px-2 py-[7px] rounded-lg hover:bg-state-base-hover text-text-secondary cursor-pointer',
                             item?.index === currentHistoryStateIndex && 'bg-state-base-hover',
                           )}
                           onClick={() => {
@@ -208,7 +208,7 @@
                         <div
                           key={item?.index}
                           className={cn(
-                            'mb-0.5 flex cursor-pointer rounded-lg px-2 py-[7px] hover:bg-state-base-hover',
+                            'flex mb-0.5 px-2 py-[7px] rounded-lg hover:bg-state-base-hover cursor-pointer',
                             item?.index === calculateChangeList.statesCount - 1 && 'bg-state-base-hover',
                           )}
                           onClick={() => {
@@ -238,7 +238,7 @@
                   <Divider className='m-0' />
                   <div
                     className={cn(
-                      'my-0.5 flex cursor-pointer rounded-lg px-2 py-[7px] text-text-secondary',
+                      'flex my-0.5 px-2 py-[7px] rounded-lg text-text-secondary cursor-pointer',
                       'hover:bg-state-base-hover',
                     )}
                     onClick={() => {
@@ -259,9 +259,9 @@
                 </div>
               )
             }
-            <div className="w-[240px] px-3 py-2 text-xs text-text-tertiary" >
-              <div className="mb-1 flex h-[22px] items-center font-medium uppercase">{t('workflow.changeHistory.hint')}</div>
-              <div className="mb-1 leading-[18px] text-text-tertiary">{t('workflow.changeHistory.hintText')}</div>
+            <div className="px-3 w-[240px] py-2 text-xs text-text-tertiary" >
+              <div className="flex items-center mb-1 h-[22px] font-medium uppercase">{t('workflow.changeHistory.hint')}</div>
+              <div className="mb-1 text-text-tertiary leading-[18px]">{t('workflow.changeHistory.hintText')}</div>
             </div>
           </div>
         </PortalToFollowElemContent>
diff --git a/app/components/workflow/help-line/index.tsx b/app/components/workflow/help-line/index.tsx
index 935b0dc..769f548 100644
--- a/app/components/workflow/help-line/index.tsx
+++ b/app/components/workflow/help-line/index.tsx
@@ -15,7 +15,7 @@
 
   return (
     <div
-      className='absolute z-[9] h-[1px] bg-primary-300'
+      className='absolute h-[1px] bg-primary-300 z-[9]'
       style={{
         top: top * zoom + y,
         left: left * zoom + x,
@@ -35,7 +35,7 @@
 
   return (
     <div
-      className='absolute z-[9] w-[1px] bg-primary-300'
+      className='absolute w-[1px] bg-primary-300 z-[9]'
       style={{
         top: top * zoom + y,
         left: left * zoom + x,
diff --git a/app/components/workflow/hooks/index.ts b/app/components/workflow/hooks/index.ts
index fda0f50..463e9b3 100644
--- a/app/components/workflow/hooks/index.ts
+++ b/app/components/workflow/hooks/index.ts
@@ -5,6 +5,7 @@
 export * from './use-nodes-sync-draft'
 export * from './use-workflow'
 export * from './use-workflow-run'
+export * from './use-workflow-template'
 export * from './use-checklist'
 export * from './use-selection-interactions'
 export * from './use-panel-interactions'
@@ -15,5 +16,3 @@
 export * from './use-shortcuts'
 export * from './use-workflow-interactions'
 export * from './use-workflow-mode'
-export * from './use-format-time-from-now'
-export * from './use-workflow-refresh-draft'
diff --git a/app/components/workflow/hooks/use-checklist.ts b/app/components/workflow/hooks/use-checklist.ts
index c1b0189..36201dd 100644
--- a/app/components/workflow/hooks/use-checklist.ts
+++ b/app/components/workflow/hooks/use-checklist.ts
@@ -1,12 +1,10 @@
 import {
   useCallback,
   useMemo,
-  useRef,
 } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useStoreApi } from 'reactflow'
 import type {
-  CommonNodeType,
   Edge,
   Node,
 } from '../types'
@@ -26,13 +24,6 @@
 import { useToastContext } from '@/app/components/base/toast'
 import { CollectionType } from '@/app/components/tools/types'
 import { useGetLanguage } from '@/context/i18n'
-import type { AgentNodeType } from '../nodes/agent/types'
-import { useStrategyProviders } from '@/service/use-strategy'
-import { canFindTool } from '@/utils'
-import { useDatasetsDetailStore } from '../datasets-detail-store/store'
-import type { KnowledgeRetrievalNodeType } from '../nodes/knowledge-retrieval/types'
-import type { DataSet } from '@/models/datasets'
-import { fetchDatasets } from '@/service/datasets'
 
 export const useChecklist = (nodes: Node[], edges: Edge[]) => {
   const { t } = useTranslation()
@@ -42,25 +33,6 @@
   const buildInTools = useStore(s => s.buildInTools)
   const customTools = useStore(s => s.customTools)
   const workflowTools = useStore(s => s.workflowTools)
-  const { data: strategyProviders } = useStrategyProviders()
-  const datasetsDetail = useDatasetsDetailStore(s => s.datasetsDetail)
-
-  const getCheckData = useCallback((data: CommonNodeType<{}>) => {
-    let checkData = data
-    if (data.type === BlockEnum.KnowledgeRetrieval) {
-      const datasetIds = (data as CommonNodeType<KnowledgeRetrievalNodeType>).dataset_ids
-      const _datasets = datasetIds.reduce<DataSet[]>((acc, id) => {
-        if (datasetsDetail[id])
-          acc.push(datasetsDetail[id])
-        return acc
-      }, [])
-      checkData = {
-        ...data,
-        _datasets,
-      } as CommonNodeType<KnowledgeRetrievalNodeType>
-    }
-    return checkData
-  }, [datasetsDetail])
 
   const needWarningNodes = useMemo(() => {
     const list = []
@@ -76,7 +48,7 @@
 
         moreDataForCheckValid = getToolCheckParams(node.data as ToolNodeType, buildInTools, customTools, workflowTools, language)
         if (provider_type === CollectionType.builtIn)
-          toolIcon = buildInTools.find(tool => canFindTool(tool.id, node.data.provider_id || ''))?.icon
+          toolIcon = buildInTools.find(tool => tool.id === node.data.provider_id)?.icon
 
         if (provider_type === CollectionType.custom)
           toolIcon = customTools.find(tool => tool.id === node.data.provider_id)?.icon
@@ -85,22 +57,8 @@
           toolIcon = workflowTools.find(tool => tool.id === node.data.provider_id)?.icon
       }
 
-      if (node.data.type === BlockEnum.Agent) {
-        const data = node.data as AgentNodeType
-        const isReadyForCheckValid = !!strategyProviders
-        const provider = strategyProviders?.find(provider => provider.declaration.identity.name === data.agent_strategy_provider_name)
-        const strategy = provider?.declaration.strategies?.find(s => s.identity.name === data.agent_strategy_name)
-        moreDataForCheckValid = {
-          provider,
-          strategy,
-          language,
-          isReadyForCheckValid,
-        }
-      }
-
       if (node.type === CUSTOM_NODE) {
-        const checkData = getCheckData(node.data)
-        const { errorMessage } = nodesExtraData[node.data.type].checkValid(checkData, t, moreDataForCheckValid)
+        const { errorMessage } = nodesExtraData[node.data.type].checkValid(node.data, t, moreDataForCheckValid)
 
         if (errorMessage || !validNodes.find(n => n.id === node.id)) {
           list.push({
@@ -134,7 +92,7 @@
     }
 
     return list
-  }, [nodes, edges, isChatMode, buildInTools, customTools, workflowTools, language, nodesExtraData, t, strategyProviders, getCheckData])
+  }, [t, nodes, edges, nodesExtraData, buildInTools, customTools, workflowTools, language, isChatMode])
 
   return needWarningNodes
 }
@@ -149,32 +107,8 @@
   const isChatMode = useIsChatMode()
   const store = useStoreApi()
   const nodesExtraData = useNodesExtraData()
-  const { data: strategyProviders } = useStrategyProviders()
-  const updateDatasetsDetail = useDatasetsDetailStore(s => s.updateDatasetsDetail)
-  const updateTime = useRef(0)
 
-  const getCheckData = useCallback((data: CommonNodeType<{}>, datasets: DataSet[]) => {
-    let checkData = data
-    if (data.type === BlockEnum.KnowledgeRetrieval) {
-      const datasetIds = (data as CommonNodeType<KnowledgeRetrievalNodeType>).dataset_ids
-      const datasetsDetail = datasets.reduce<Record<string, DataSet>>((acc, dataset) => {
-        acc[dataset.id] = dataset
-        return acc
-      }, {})
-      const _datasets = datasetIds.reduce<DataSet[]>((acc, id) => {
-        if (datasetsDetail[id])
-          acc.push(datasetsDetail[id])
-        return acc
-      }, [])
-      checkData = {
-        ...data,
-        _datasets,
-      } as CommonNodeType<KnowledgeRetrievalNodeType>
-    }
-    return checkData
-  }, [])
-
-  const handleCheckBeforePublish = useCallback(async () => {
+  const handleCheckBeforePublish = useCallback(() => {
     const {
       getNodes,
       edges,
@@ -189,24 +123,6 @@
       notify({ type: 'error', message: t('workflow.common.maxTreeDepth', { depth: MAX_TREE_DEPTH }) })
       return false
     }
-    // Before publish, we need to fetch datasets detail, in case of the settings of datasets have been changed
-    const knowledgeRetrievalNodes = nodes.filter(node => node.data.type === BlockEnum.KnowledgeRetrieval)
-    const allDatasetIds = knowledgeRetrievalNodes.reduce<string[]>((acc, node) => {
-      return Array.from(new Set([...acc, ...(node.data as CommonNodeType<KnowledgeRetrievalNodeType>).dataset_ids]))
-    }, [])
-    let datasets: DataSet[] = []
-    if (allDatasetIds.length > 0) {
-      updateTime.current = updateTime.current + 1
-      const currUpdateTime = updateTime.current
-      const { data: datasetsDetail } = await fetchDatasets({ url: '/datasets', params: { page: 1, ids: allDatasetIds } })
-      if (datasetsDetail && datasetsDetail.length > 0) {
-        // avoid old data to overwrite the new data
-        if (currUpdateTime < updateTime.current)
-          return false
-        datasets = datasetsDetail
-        updateDatasetsDetail(datasetsDetail)
-      }
-    }
 
     for (let i = 0; i < nodes.length; i++) {
       const node = nodes[i]
@@ -214,21 +130,7 @@
       if (node.data.type === BlockEnum.Tool)
         moreDataForCheckValid = getToolCheckParams(node.data as ToolNodeType, buildInTools, customTools, workflowTools, language)
 
-      if (node.data.type === BlockEnum.Agent) {
-        const data = node.data as AgentNodeType
-        const isReadyForCheckValid = !!strategyProviders
-        const provider = strategyProviders?.find(provider => provider.declaration.identity.name === data.agent_strategy_provider_name)
-        const strategy = provider?.declaration.strategies?.find(s => s.identity.name === data.agent_strategy_name)
-        moreDataForCheckValid = {
-          provider,
-          strategy,
-          language,
-          isReadyForCheckValid,
-        }
-      }
-
-      const checkData = getCheckData(node.data, datasets)
-      const { errorMessage } = nodesExtraData[node.data.type as BlockEnum].checkValid(checkData, t, moreDataForCheckValid)
+      const { errorMessage } = nodesExtraData[node.data.type as BlockEnum].checkValid(node.data, t, moreDataForCheckValid)
 
       if (errorMessage) {
         notify({ type: 'error', message: `[${node.data.title}] ${errorMessage}` })
@@ -252,7 +154,7 @@
     }
 
     return true
-  }, [store, isChatMode, notify, t, buildInTools, customTools, workflowTools, language, nodesExtraData, strategyProviders, updateDatasetsDetail, getCheckData])
+  }, [nodesExtraData, notify, t, store, isChatMode, buildInTools, customTools, workflowTools, language])
 
   return {
     handleCheckBeforePublish,
diff --git a/app/components/workflow/hooks/use-edges-interactions.ts b/app/components/workflow/hooks/use-edges-interactions.ts
index 306af1e..688f0b2 100644
--- a/app/components/workflow/hooks/use-edges-interactions.ts
+++ b/app/components/workflow/hooks/use-edges-interactions.ts
@@ -151,11 +151,28 @@
     setEdges(newEdges)
   }, [store, getNodesReadOnly])
 
+  const handleEdgeCancelRunningStatus = useCallback(() => {
+    const {
+      edges,
+      setEdges,
+    } = store.getState()
+
+    const newEdges = produce(edges, (draft) => {
+      draft.forEach((edge) => {
+        edge.data._sourceRunningStatus = undefined
+        edge.data._targetRunningStatus = undefined
+        edge.data._waitingRun = false
+      })
+    })
+    setEdges(newEdges)
+  }, [store])
+
   return {
     handleEdgeEnter,
     handleEdgeLeave,
     handleEdgeDeleteByDeleteBranch,
     handleEdgeDelete,
     handleEdgesChange,
+    handleEdgeCancelRunningStatus,
   }
 }
diff --git a/app/components/workflow/hooks/use-helpline.ts b/app/components/workflow/hooks/use-helpline.ts
index 2eed71a..e9dc08c 100644
--- a/app/components/workflow/hooks/use-helpline.ts
+++ b/app/components/workflow/hooks/use-helpline.ts
@@ -21,22 +21,11 @@
         showVerticalHelpLineNodes: [],
       }
     }
-
-    if (node.data.isInLoop) {
-      return {
-        showHorizontalHelpLineNodes: [],
-        showVerticalHelpLineNodes: [],
-      }
-    }
-
     const showHorizontalHelpLineNodes = nodes.filter((n) => {
       if (n.id === node.id)
         return false
 
       if (n.data.isInIteration)
-        return false
-
-      if (n.data.isInLoop)
         return false
 
       const nY = Math.ceil(n.position.y)
@@ -77,8 +66,6 @@
       if (n.id === node.id)
         return false
       if (n.data.isInIteration)
-        return false
-      if (n.data.isInLoop)
         return false
 
       const nX = Math.ceil(n.position.x)
diff --git a/app/components/workflow/hooks/use-nodes-data.ts b/app/components/workflow/hooks/use-nodes-data.ts
index aeb45dd..3017f50 100644
--- a/app/components/workflow/hooks/use-nodes-data.ts
+++ b/app/components/workflow/hooks/use-nodes-data.ts
@@ -31,7 +31,7 @@
   }), [t, isChatMode])
 }
 
-export const useAvailableBlocks = (nodeType?: BlockEnum, isInIteration?: boolean, isInLoop?: boolean) => {
+export const useAvailableBlocks = (nodeType?: BlockEnum, isInIteration?: boolean) => {
   const nodesExtraData = useNodesExtraData()
   const availablePrevBlocks = useMemo(() => {
     if (!nodeType)
@@ -42,36 +42,21 @@
   const availableNextBlocks = useMemo(() => {
     if (!nodeType)
       return []
-
     return nodesExtraData[nodeType].availableNextNodes || []
   }, [nodeType, nodesExtraData])
 
   return useMemo(() => {
     return {
       availablePrevBlocks: availablePrevBlocks.filter((nType) => {
-        if (isInIteration && (nType === BlockEnum.Iteration || nType === BlockEnum.Loop || nType === BlockEnum.End))
+        if (isInIteration && (nType === BlockEnum.Iteration || nType === BlockEnum.End))
           return false
-
-        if (isInLoop && (nType === BlockEnum.Iteration || nType === BlockEnum.Loop || nType === BlockEnum.End))
-          return false
-
-        if (!isInLoop && nType === BlockEnum.LoopEnd)
-          return false
-
         return true
       }),
       availableNextBlocks: availableNextBlocks.filter((nType) => {
-        if (isInIteration && (nType === BlockEnum.Iteration || nType === BlockEnum.Loop || nType === BlockEnum.End))
+        if (isInIteration && (nType === BlockEnum.Iteration || nType === BlockEnum.End))
           return false
-
-        if (isInLoop && (nType === BlockEnum.Iteration || nType === BlockEnum.Loop || nType === BlockEnum.End))
-          return false
-
-        if (!isInLoop && nType === BlockEnum.LoopEnd)
-          return false
-
         return true
       }),
     }
-  }, [isInIteration, availablePrevBlocks, availableNextBlocks, isInLoop])
+  }, [isInIteration, availablePrevBlocks, availableNextBlocks])
 }
diff --git a/app/components/workflow/hooks/use-nodes-interactions.ts b/app/components/workflow/hooks/use-nodes-interactions.ts
index 94b10c9..8962333 100644
--- a/app/components/workflow/hooks/use-nodes-interactions.ts
+++ b/app/components/workflow/hooks/use-nodes-interactions.ts
@@ -29,8 +29,6 @@
   CUSTOM_EDGE,
   ITERATION_CHILDREN_Z_INDEX,
   ITERATION_PADDING,
-  LOOP_CHILDREN_Z_INDEX,
-  LOOP_PADDING,
   NODES_INITIAL_DATA,
   NODE_WIDTH_X_OFFSET,
   X_OFFSET,
@@ -39,18 +37,14 @@
 import {
   genNewNodeTitleFromOld,
   generateNewNode,
-  getNodeCustomTypeByNodeDataType,
   getNodesConnectedSourceOrTargetHandleIdsMap,
   getTopLeftNodePosition,
 } from '../utils'
 import { CUSTOM_NOTE_NODE } from '../note-node/constants'
 import type { IterationNodeType } from '../nodes/iteration/types'
-import type { LoopNodeType } from '../nodes/loop/types'
 import { CUSTOM_ITERATION_START_NODE } from '../nodes/iteration-start/constants'
-import { CUSTOM_LOOP_START_NODE } from '../nodes/loop-start/constants'
 import type { VariableAssignerNodeType } from '../nodes/variable-assigner/types'
 import { useNodeIterationInteractions } from '../nodes/iteration/use-interactions'
-import { useNodeLoopInteractions } from '../nodes/loop/use-interactions'
 import { useWorkflowHistoryStore } from '../workflow-history-store'
 import { useNodesSyncDraft } from './use-nodes-sync-draft'
 import { useHelpline } from './use-helpline'
@@ -79,10 +73,6 @@
     handleNodeIterationChildDrag,
     handleNodeIterationChildrenCopy,
   } = useNodeIterationInteractions()
-  const {
-    handleNodeLoopChildDrag,
-    handleNodeLoopChildrenCopy,
-  } = useNodeLoopInteractions()
   const dragNodeStartPosition = useRef({ x: 0, y: 0 } as { x: number; y: number })
 
   const { saveStateToHistory, undo, redo } = useWorkflowHistory()
@@ -96,9 +86,6 @@
     if (node.type === CUSTOM_ITERATION_START_NODE || node.type === CUSTOM_NOTE_NODE)
       return
 
-    if (node.type === CUSTOM_LOOP_START_NODE || node.type === CUSTOM_NOTE_NODE)
-      return
-
     dragNodeStartPosition.current = { x: node.position.x, y: node.position.y }
   }, [workflowStore, getNodesReadOnly])
 
@@ -107,9 +94,6 @@
       return
 
     if (node.type === CUSTOM_ITERATION_START_NODE)
-      return
-
-    if (node.type === CUSTOM_LOOP_START_NODE)
       return
 
     const {
@@ -121,7 +105,6 @@
     const nodes = getNodes()
 
     const { restrictPosition } = handleNodeIterationChildDrag(node)
-    const { restrictPosition: restrictLoopPosition } = handleNodeLoopChildDrag(node)
 
     const {
       showHorizontalHelpLineNodes,
@@ -137,8 +120,6 @@
         currentNode.position.x = showVerticalHelpLineNodes[0].position.x
       else if (restrictPosition.x !== undefined)
         currentNode.position.x = restrictPosition.x
-      else if (restrictLoopPosition.x !== undefined)
-        currentNode.position.x = restrictLoopPosition.x
       else
         currentNode.position.x = node.position.x
 
@@ -146,13 +127,12 @@
         currentNode.position.y = showHorizontalHelpLineNodes[0].position.y
       else if (restrictPosition.y !== undefined)
         currentNode.position.y = restrictPosition.y
-      else if (restrictLoopPosition.y !== undefined)
-        currentNode.position.y = restrictLoopPosition.y
       else
         currentNode.position.y = node.position.y
     })
+
     setNodes(newNodes)
-  }, [getNodesReadOnly, store, handleNodeIterationChildDrag, handleNodeLoopChildDrag, handleSetHelpline])
+  }, [store, getNodesReadOnly, handleSetHelpline, handleNodeIterationChildDrag])
 
   const handleNodeDragStop = useCallback<NodeDragHandler>((_, node) => {
     const {
@@ -181,9 +161,6 @@
       return
 
     if (node.type === CUSTOM_NOTE_NODE || node.type === CUSTOM_ITERATION_START_NODE)
-      return
-
-    if (node.type === CUSTOM_LOOP_START_NODE || node.type === CUSTOM_NOTE_NODE)
       return
 
     const {
@@ -260,9 +237,6 @@
     if (node.type === CUSTOM_NOTE_NODE || node.type === CUSTOM_ITERATION_START_NODE)
       return
 
-    if (node.type === CUSTOM_NOTE_NODE || node.type === CUSTOM_LOOP_START_NODE)
-      return
-
     const {
       setEnteringNodePayload,
     } = workflowStore.getState()
@@ -337,8 +311,6 @@
   const handleNodeClick = useCallback<NodeMouseHandler>((_, node) => {
     if (node.type === CUSTOM_ITERATION_START_NODE)
       return
-    if (node.type === CUSTOM_LOOP_START_NODE)
-      return
     handleNodeSelect(node.id)
   }, [handleNodeSelect])
 
@@ -372,10 +344,6 @@
     if (edges.find(edge => edge.source === source && edge.sourceHandle === sourceHandle && edge.target === target && edge.targetHandle === targetHandle))
       return
 
-    const parendNode = nodes.find(node => node.id === targetNode?.parentId)
-    const isInIteration = parendNode && parendNode.data.type === BlockEnum.Iteration
-    const isInLoop = !!parendNode && parendNode.data.type === BlockEnum.Loop
-
     const newEdge = {
       id: `${source}-${sourceHandle}-${target}-${targetHandle}`,
       type: CUSTOM_EDGE,
@@ -386,12 +354,10 @@
       data: {
         sourceType: nodes.find(node => node.id === source)!.data.type,
         targetType: nodes.find(node => node.id === target)!.data.type,
-        isInIteration,
-        iteration_id: isInIteration ? targetNode?.parentId : undefined,
-        isInLoop,
-        loop_id: isInLoop ? targetNode?.parentId : undefined,
+        isInIteration: !!targetNode?.parentId,
+        iteration_id: targetNode?.parentId,
       },
-      zIndex: targetNode?.parentId ? (isInIteration ? ITERATION_CHILDREN_Z_INDEX : LOOP_CHILDREN_Z_INDEX) : 0,
+      zIndex: targetNode?.parentId ? ITERATION_CHILDREN_Z_INDEX : 0,
     }
     const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(
       [
@@ -588,45 +554,6 @@
         }
       }
     }
-
-    if (currentNode.data.type === BlockEnum.Loop) {
-      const loopChildren = nodes.filter(node => node.parentId === currentNode.id)
-
-      if (loopChildren.length) {
-        if (currentNode.data._isBundled) {
-          loopChildren.forEach((child) => {
-            handleNodeDelete(child.id)
-          })
-          return handleNodeDelete(nodeId)
-        }
-        else {
-          if (loopChildren.length === 1) {
-            handleNodeDelete(loopChildren[0].id)
-            handleNodeDelete(nodeId)
-
-            return
-          }
-          const { setShowConfirm, showConfirm } = workflowStore.getState()
-
-          if (!showConfirm) {
-            setShowConfirm({
-              title: t('workflow.nodes.loop.deleteTitle'),
-              desc: t('workflow.nodes.loop.deleteDesc') || '',
-              onConfirm: () => {
-                loopChildren.forEach((child) => {
-                  handleNodeDelete(child.id)
-                })
-                handleNodeDelete(nodeId)
-                handleSyncWorkflowDraft()
-                setShowConfirm(undefined)
-              },
-            })
-            return
-          }
-        }
-      }
-    }
-
     const connectedEdges = getConnectedEdges([{ id: nodeId } as Node], edges)
     const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(connectedEdges.map(edge => ({ type: 'remove', edge })), nodes)
     const newNodes = produce(nodes, (draft: Node[]) => {
@@ -639,7 +566,7 @@
         }
 
         if (node.id === currentNode.parentId)
-          node.data._children = node.data._children?.filter(child => child.nodeId !== nodeId)
+          node.data._children = node.data._children?.filter(child => child !== nodeId)
       })
       draft.splice(currentNodeIndex, 1)
     })
@@ -685,9 +612,7 @@
     const {
       newNode,
       newIterationStartNode,
-      newLoopStartNode,
     } = generateNewNode({
-      type: getNodeCustomTypeByNodeDataType(nodeType),
       data: {
         ...NODES_INITIAL_DATA[nodeType],
         title: nodesWithSameType.length > 0 ? `${t(`workflow.blocks.${nodeType}`)} ${nodesWithSameType.length + 1}` : t(`workflow.blocks.${nodeType}`),
@@ -715,28 +640,13 @@
       }
       newNode.parentId = prevNode.parentId
       newNode.extent = prevNode.extent
-
-      const parentNode = nodes.find(node => node.id === prevNode.parentId) || null
-      const isInIteration = !!parentNode && parentNode.data.type === BlockEnum.Iteration
-      const isInLoop = !!parentNode && parentNode.data.type === BlockEnum.Loop
-
       if (prevNode.parentId) {
-        newNode.data.isInIteration = isInIteration
-        newNode.data.isInLoop = isInLoop
-        if (isInIteration) {
-          newNode.data.iteration_id = parentNode.id
-          newNode.zIndex = ITERATION_CHILDREN_Z_INDEX
-        }
-        if (isInLoop) {
-          newNode.data.loop_id = parentNode.id
-          newNode.zIndex = LOOP_CHILDREN_Z_INDEX
-        }
-        if (isInIteration && (newNode.data.type === BlockEnum.Answer || newNode.data.type === BlockEnum.Tool || newNode.data.type === BlockEnum.Assigner)) {
-          const iterNodeData: IterationNodeType = parentNode.data
-          iterNodeData._isShowTips = true
-        }
-        if (isInLoop && (newNode.data.type === BlockEnum.Answer || newNode.data.type === BlockEnum.Tool || newNode.data.type === BlockEnum.Assigner)) {
-          const iterNodeData: IterationNodeType = parentNode.data
+        newNode.data.isInIteration = true
+        newNode.data.iteration_id = prevNode.parentId
+        newNode.zIndex = ITERATION_CHILDREN_Z_INDEX
+        if (newNode.data.type === BlockEnum.Answer || newNode.data.type === BlockEnum.Tool || newNode.data.type === BlockEnum.Assigner) {
+          const parentIterNodeIndex = nodes.findIndex(node => node.id === prevNode.parentId)
+          const iterNodeData: IterationNodeType = nodes[parentIterNodeIndex].data
           iterNodeData._isShowTips = true
         }
       }
@@ -751,13 +661,11 @@
         data: {
           sourceType: prevNode.data.type,
           targetType: newNode.data.type,
-          isInIteration,
-          isInLoop,
-          iteration_id: isInIteration ? prevNode.parentId : undefined,
-          loop_id: isInLoop ? prevNode.parentId : undefined,
+          isInIteration: !!prevNode.parentId,
+          iteration_id: prevNode.parentId,
           _connectedNodeIsSelected: true,
         },
-        zIndex: prevNode.parentId ? (isInIteration ? ITERATION_CHILDREN_Z_INDEX : LOOP_CHILDREN_Z_INDEX) : 0,
+        zIndex: prevNode.parentId ? ITERATION_CHILDREN_Z_INDEX : 0,
       }
       const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(
         [
@@ -777,18 +685,11 @@
           }
 
           if (node.data.type === BlockEnum.Iteration && prevNode.parentId === node.id)
-            node.data._children?.push({ nodeId: newNode.id, nodeType: newNode.data.type })
-
-          if (node.data.type === BlockEnum.Loop && prevNode.parentId === node.id)
-            node.data._children?.push({ nodeId: newNode.id, nodeType: newNode.data.type })
+            node.data._children?.push(newNode.id)
         })
         draft.push(newNode)
-
         if (newIterationStartNode)
           draft.push(newIterationStartNode)
-
-        if (newLoopStartNode)
-          draft.push(newLoopStartNode)
       })
 
       if (newNode.data.type === BlockEnum.VariableAssigner || newNode.data.type === BlockEnum.VariableAggregator) {
@@ -835,27 +736,15 @@
       }
       newNode.parentId = nextNode.parentId
       newNode.extent = nextNode.extent
-
-      const parentNode = nodes.find(node => node.id === nextNode.parentId) || null
-      const isInIteration = !!parentNode && parentNode.data.type === BlockEnum.Iteration
-      const isInLoop = !!parentNode && parentNode.data.type === BlockEnum.Loop
-
-      if (parentNode && nextNode.parentId) {
-        newNode.data.isInIteration = isInIteration
-        newNode.data.isInLoop = isInLoop
-        if (isInIteration) {
-          newNode.data.iteration_id = parentNode.id
-          newNode.zIndex = ITERATION_CHILDREN_Z_INDEX
-        }
-        if (isInLoop) {
-          newNode.data.loop_id = parentNode.id
-          newNode.zIndex = LOOP_CHILDREN_Z_INDEX
-        }
+      if (nextNode.parentId) {
+        newNode.data.isInIteration = true
+        newNode.data.iteration_id = nextNode.parentId
+        newNode.zIndex = ITERATION_CHILDREN_Z_INDEX
       }
 
       let newEdge
 
-      if ((nodeType !== BlockEnum.IfElse) && (nodeType !== BlockEnum.QuestionClassifier) && (nodeType !== BlockEnum.LoopEnd)) {
+      if ((nodeType !== BlockEnum.IfElse) && (nodeType !== BlockEnum.QuestionClassifier)) {
         newEdge = {
           id: `${newNode.id}-${sourceHandle}-${nextNodeId}-${nextNodeTargetHandle}`,
           type: CUSTOM_EDGE,
@@ -866,13 +755,11 @@
           data: {
             sourceType: newNode.data.type,
             targetType: nextNode.data.type,
-            isInIteration,
-            isInLoop,
-            iteration_id: isInIteration ? nextNode.parentId : undefined,
-            loop_id: isInLoop ? nextNode.parentId : undefined,
+            isInIteration: !!nextNode.parentId,
+            iteration_id: nextNode.parentId,
             _connectedNodeIsSelected: true,
           },
-          zIndex: nextNode.parentId ? (isInIteration ? ITERATION_CHILDREN_Z_INDEX : LOOP_CHILDREN_Z_INDEX) : 0,
+          zIndex: nextNode.parentId ? ITERATION_CHILDREN_Z_INDEX : 0,
         }
       }
 
@@ -903,17 +790,9 @@
           }
 
           if (node.data.type === BlockEnum.Iteration && nextNode.parentId === node.id)
-            node.data._children?.push({ nodeId: newNode.id, nodeType: newNode.data.type })
+            node.data._children?.push(newNode.id)
 
           if (node.data.type === BlockEnum.Iteration && node.data.start_node_id === nextNodeId) {
-            node.data.start_node_id = newNode.id
-            node.data.startNodeType = newNode.data.type
-          }
-
-          if (node.data.type === BlockEnum.Loop && nextNode.parentId === node.id)
-            node.data._children?.push({ nodeId: newNode.id, nodeType: newNode.data.type })
-
-          if (node.data.type === BlockEnum.Loop && node.data.start_node_id === nextNodeId) {
             node.data.start_node_id = newNode.id
             node.data.startNodeType = newNode.data.type
           }
@@ -921,8 +800,6 @@
         draft.push(newNode)
         if (newIterationStartNode)
           draft.push(newIterationStartNode)
-        if (newLoopStartNode)
-          draft.push(newLoopStartNode)
       })
       if (newEdge) {
         const newEdges = produce(edges, (draft) => {
@@ -963,22 +840,10 @@
       }
       newNode.parentId = prevNode.parentId
       newNode.extent = prevNode.extent
-
-      const parentNode = nodes.find(node => node.id === prevNode.parentId) || null
-      const isInIteration = !!parentNode && parentNode.data.type === BlockEnum.Iteration
-      const isInLoop = !!parentNode && parentNode.data.type === BlockEnum.Loop
-
-      if (parentNode && prevNode.parentId) {
-        newNode.data.isInIteration = isInIteration
-        newNode.data.isInLoop = isInLoop
-        if (isInIteration) {
-          newNode.data.iteration_id = parentNode.id
-          newNode.zIndex = ITERATION_CHILDREN_Z_INDEX
-        }
-        if (isInLoop) {
-          newNode.data.loop_id = parentNode.id
-          newNode.zIndex = LOOP_CHILDREN_Z_INDEX
-        }
+      if (prevNode.parentId) {
+        newNode.data.isInIteration = true
+        newNode.data.iteration_id = prevNode.parentId
+        newNode.zIndex = ITERATION_CHILDREN_Z_INDEX
       }
 
       const currentEdgeIndex = edges.findIndex(edge => edge.source === prevNodeId && edge.target === nextNodeId)
@@ -992,21 +857,14 @@
         data: {
           sourceType: prevNode.data.type,
           targetType: newNode.data.type,
-          isInIteration,
-          isInLoop,
-          iteration_id: isInIteration ? prevNode.parentId : undefined,
-          loop_id: isInLoop ? prevNode.parentId : undefined,
+          isInIteration: !!prevNode.parentId,
+          iteration_id: prevNode.parentId,
           _connectedNodeIsSelected: true,
         },
-        zIndex: prevNode.parentId ? (isInIteration ? ITERATION_CHILDREN_Z_INDEX : LOOP_CHILDREN_Z_INDEX) : 0,
+        zIndex: prevNode.parentId ? ITERATION_CHILDREN_Z_INDEX : 0,
       }
       let newNextEdge: Edge | null = null
-
-      const nextNodeParentNode = nodes.find(node => node.id === nextNode.parentId) || null
-      const isNextNodeInIteration = !!nextNodeParentNode && nextNodeParentNode.data.type === BlockEnum.Iteration
-      const isNextNodeInLoop = !!nextNodeParentNode && nextNodeParentNode.data.type === BlockEnum.Loop
-
-      if (nodeType !== BlockEnum.IfElse && nodeType !== BlockEnum.QuestionClassifier && nodeType !== BlockEnum.LoopEnd) {
+      if (nodeType !== BlockEnum.IfElse && nodeType !== BlockEnum.QuestionClassifier) {
         newNextEdge = {
           id: `${newNode.id}-${sourceHandle}-${nextNodeId}-${nextNodeTargetHandle}`,
           type: CUSTOM_EDGE,
@@ -1017,13 +875,11 @@
           data: {
             sourceType: newNode.data.type,
             targetType: nextNode.data.type,
-            isInIteration: isNextNodeInIteration,
-            isInLoop: isNextNodeInLoop,
-            iteration_id: isNextNodeInIteration ? nextNode.parentId : undefined,
-            loop_id: isNextNodeInLoop ? nextNode.parentId : undefined,
+            isInIteration: !!nextNode.parentId,
+            iteration_id: nextNode.parentId,
             _connectedNodeIsSelected: true,
           },
-          zIndex: nextNode.parentId ? (isNextNodeInIteration ? ITERATION_CHILDREN_Z_INDEX : LOOP_CHILDREN_Z_INDEX) : 0,
+          zIndex: nextNode.parentId ? ITERATION_CHILDREN_Z_INDEX : 0,
         }
       }
       const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(
@@ -1051,15 +907,11 @@
             node.position.x += NODE_WIDTH_X_OFFSET
 
           if (node.data.type === BlockEnum.Iteration && prevNode.parentId === node.id)
-            node.data._children?.push({ nodeId: newNode.id, nodeType: newNode.data.type })
-          if (node.data.type === BlockEnum.Loop && prevNode.parentId === node.id)
-            node.data._children?.push({ nodeId: newNode.id, nodeType: newNode.data.type })
+            node.data._children?.push(newNode.id)
         })
         draft.push(newNode)
         if (newIterationStartNode)
           draft.push(newIterationStartNode)
-        if (newLoopStartNode)
-          draft.push(newLoopStartNode)
       })
       setNodes(newNodes)
       if (newNode.data.type === BlockEnum.VariableAssigner || newNode.data.type === BlockEnum.VariableAggregator) {
@@ -1117,9 +969,7 @@
     const {
       newNode: newCurrentNode,
       newIterationStartNode,
-      newLoopStartNode,
     } = generateNewNode({
-      type: getNodeCustomTypeByNodeDataType(nodeType),
       data: {
         ...NODES_INITIAL_DATA[nodeType],
         title: nodesWithSameType.length > 0 ? `${t(`workflow.blocks.${nodeType}`)} ${nodesWithSameType.length + 1}` : t(`workflow.blocks.${nodeType}`),
@@ -1128,9 +978,7 @@
         _connectedTargetHandleIds: [],
         selected: currentNode.data.selected,
         isInIteration: currentNode.data.isInIteration,
-        isInLoop: currentNode.data.isInLoop,
         iteration_id: currentNode.data.iteration_id,
-        loop_id: currentNode.data.loop_id,
       },
       position: {
         x: currentNode.position.x,
@@ -1162,8 +1010,6 @@
       draft.splice(index, 1, newCurrentNode)
       if (newIterationStartNode)
         draft.push(newIterationStartNode)
-      if (newLoopStartNode)
-        draft.push(newLoopStartNode)
     })
     setNodes(newNodes)
     const newEdges = produce(edges, (draft) => {
@@ -1176,6 +1022,22 @@
 
     saveStateToHistory(WorkflowHistoryEvent.NodeChange)
   }, [getNodesReadOnly, store, t, handleSyncWorkflowDraft, saveStateToHistory])
+
+  const handleNodeCancelRunningStatus = useCallback(() => {
+    const {
+      getNodes,
+      setNodes,
+    } = store.getState()
+
+    const nodes = getNodes()
+    const newNodes = produce(nodes, (draft) => {
+      draft.forEach((node) => {
+        node.data._runningStatus = undefined
+        node.data._waitingRun = false
+      })
+    })
+    setNodes(newNodes)
+  }, [store])
 
   const handleNodesCancelSelected = useCallback(() => {
     const {
@@ -1194,9 +1056,6 @@
 
   const handleNodeContextMenu = useCallback((e: MouseEvent, node: Node) => {
     if (node.type === CUSTOM_NOTE_NODE || node.type === CUSTOM_ITERATION_START_NODE)
-      return
-
-    if (node.type === CUSTOM_NOTE_NODE || node.type === CUSTOM_LOOP_START_NODE)
       return
 
     e.preventDefault()
@@ -1226,22 +1085,20 @@
 
     if (nodeId) {
       // If nodeId is provided, copy that specific node
-      const nodeToCopy = nodes.find(node => node.id === nodeId && node.data.type !== BlockEnum.Start
-        && node.type !== CUSTOM_ITERATION_START_NODE && node.type !== CUSTOM_LOOP_START_NODE && node.data.type !== BlockEnum.LoopEnd)
+      const nodeToCopy = nodes.find(node => node.id === nodeId && node.data.type !== BlockEnum.Start && node.type !== CUSTOM_ITERATION_START_NODE)
       if (nodeToCopy)
         setClipboardElements([nodeToCopy])
     }
     else {
       // If no nodeId is provided, fall back to the current behavior
-      const bundledNodes = nodes.filter(node => node.data._isBundled && node.data.type !== BlockEnum.Start
-        && !node.data.isInIteration && !node.data.isInLoop)
+      const bundledNodes = nodes.filter(node => node.data._isBundled && node.data.type !== BlockEnum.Start && !node.data.isInIteration)
 
       if (bundledNodes.length) {
         setClipboardElements(bundledNodes)
         return
       }
 
-      const selectedNode = nodes.find(node => node.data.selected && node.data.type !== BlockEnum.Start && node.data.type !== BlockEnum.LoopEnd)
+      const selectedNode = nodes.find(node => node.data.selected && node.data.type !== BlockEnum.Start)
 
       if (selectedNode)
         setClipboardElements([selectedNode])
@@ -1260,12 +1117,9 @@
     const {
       getNodes,
       setNodes,
-      edges,
-      setEdges,
     } = store.getState()
 
     const nodesToPaste: Node[] = []
-    const edgesToPaste: Edge[] = []
     const nodes = getNodes()
 
     if (clipboardElements.length) {
@@ -1274,14 +1128,12 @@
       const currentPosition = screenToFlowPosition({ x: mousePosition.pageX, y: mousePosition.pageY })
       const offsetX = currentPosition.x - x
       const offsetY = currentPosition.y - y
-      let idMapping: Record<string, string> = {}
       clipboardElements.forEach((nodeToPaste, index) => {
         const nodeType = nodeToPaste.data.type
 
         const {
           newNode,
           newIterationStartNode,
-          newLoopStartNode,
         } = generateNewNode({
           type: nodeToPaste.type,
           data: {
@@ -1307,28 +1159,11 @@
           newIterationStartNode!.parentId = newNode.id;
           (newNode.data as IterationNodeType).start_node_id = newIterationStartNode!.id
 
-          const oldIterationStartNode = nodes
-            .find(n => n.parentId === nodeToPaste.id && n.type === CUSTOM_ITERATION_START_NODE)
-          idMapping[oldIterationStartNode!.id] = newIterationStartNode!.id
-
-          const { copyChildren, newIdMapping } = handleNodeIterationChildrenCopy(nodeToPaste.id, newNode.id, idMapping)
-          newChildren = copyChildren
-          idMapping = newIdMapping
+          newChildren = handleNodeIterationChildrenCopy(nodeToPaste.id, newNode.id)
           newChildren.forEach((child) => {
-            newNode.data._children?.push({ nodeId: child.id, nodeType: child.data.type })
+            newNode.data._children?.push(child.id)
           })
           newChildren.push(newIterationStartNode!)
-        }
-
-        if (nodeToPaste.data.type === BlockEnum.Loop) {
-          newLoopStartNode!.parentId = newNode.id;
-          (newNode.data as LoopNodeType).start_node_id = newLoopStartNode!.id
-
-          newChildren = handleNodeLoopChildrenCopy(nodeToPaste.id, newNode.id)
-          newChildren.forEach((child) => {
-            newNode.data._children?.push({ nodeId: child.id, nodeType: child.data.type })
-          })
-          newChildren.push(newLoopStartNode!)
         }
 
         nodesToPaste.push(newNode)
@@ -1337,31 +1172,11 @@
           nodesToPaste.push(...newChildren)
       })
 
-      edges.forEach((edge) => {
-        const sourceId = idMapping[edge.source]
-        const targetId = idMapping[edge.target]
-
-        if (sourceId && targetId) {
-          const newEdge: Edge = {
-            ...edge,
-            id: `${sourceId}-${edge.sourceHandle}-${targetId}-${edge.targetHandle}`,
-            source: sourceId,
-            target: targetId,
-            data: {
-              ...edge.data,
-              _connectedNodeIsSelected: false,
-            },
-          }
-          edgesToPaste.push(newEdge)
-        }
-      })
-
       setNodes([...nodes, ...nodesToPaste])
-      setEdges([...edges, ...edgesToPaste])
       saveStateToHistory(WorkflowHistoryEvent.NodePaste)
       handleSyncWorkflowDraft()
     }
-  }, [getNodesReadOnly, workflowStore, store, reactflow, saveStateToHistory, handleSyncWorkflowDraft, handleNodeIterationChildrenCopy, handleNodeLoopChildrenCopy])
+  }, [getNodesReadOnly, workflowStore, store, reactflow, saveStateToHistory, handleSyncWorkflowDraft, handleNodeIterationChildrenCopy])
 
   const handleNodesDuplicate = useCallback((nodeId?: string) => {
     if (getNodesReadOnly())
@@ -1411,7 +1226,7 @@
 
     const nodes = getNodes()
     const currentNode = nodes.find(n => n.id === nodeId)!
-    const childrenNodes = nodes.filter(n => currentNode.data._children?.find((c: any) => c.nodeId === n.id))
+    const childrenNodes = nodes.filter(n => currentNode.data._children?.includes(n.id))
     let rightNode: Node
     let bottomNode: Node
 
@@ -1433,12 +1248,9 @@
     })
 
     if (rightNode! && bottomNode!) {
-      const parentNode = nodes.find(n => n.id === rightNode.parentId)
-      const paddingMap = parentNode?.data.type === BlockEnum.Iteration ? ITERATION_PADDING : LOOP_PADDING
-
-      if (width < rightNode!.position.x + rightNode.width! + paddingMap.right)
+      if (width < rightNode!.position.x + rightNode.width! + ITERATION_PADDING.right)
         return
-      if (height < bottomNode.position.y + bottomNode.height! + paddingMap.bottom)
+      if (height < bottomNode.position.y + bottomNode.height! + ITERATION_PADDING.bottom)
         return
     }
     const newNodes = produce(nodes, (draft) => {
@@ -1538,6 +1350,7 @@
     handleNodeDelete,
     handleNodeChange,
     handleNodeAdd,
+    handleNodeCancelRunningStatus,
     handleNodesCancelSelected,
     handleNodeContextMenu,
     handleNodesCopy,
diff --git a/app/components/workflow/hooks/use-nodes-sync-draft.ts b/app/components/workflow/hooks/use-nodes-sync-draft.ts
index e6cc3a9..a25a4f1 100644
--- a/app/components/workflow/hooks/use-nodes-sync-draft.ts
+++ b/app/components/workflow/hooks/use-nodes-sync-draft.ts
@@ -1,32 +1,142 @@
 import { useCallback } from 'react'
+import produce from 'immer'
+import { useStoreApi } from 'reactflow'
+import { useParams } from 'next/navigation'
 import {
   useStore,
+  useWorkflowStore,
 } from '../store'
+import { BlockEnum } from '../types'
+import { useWorkflowUpdate } from '../hooks'
 import {
   useNodesReadOnly,
 } from './use-workflow'
-import { useHooksStore } from '@/app/components/workflow/hooks-store'
+import { syncWorkflowDraft } from '@/service/workflow'
+import { useFeaturesStore } from '@/app/components/base/features/hooks'
+import { API_PREFIX } from '@/config'
 
 export const useNodesSyncDraft = () => {
+  const store = useStoreApi()
+  const workflowStore = useWorkflowStore()
+  const featuresStore = useFeaturesStore()
   const { getNodesReadOnly } = useNodesReadOnly()
+  const { handleRefreshWorkflowDraft } = useWorkflowUpdate()
   const debouncedSyncWorkflowDraft = useStore(s => s.debouncedSyncWorkflowDraft)
-  const doSyncWorkflowDraft = useHooksStore(s => s.doSyncWorkflowDraft)
-  const syncWorkflowDraftWhenPageClose = useHooksStore(s => s.syncWorkflowDraftWhenPageClose)
+  const params = useParams()
 
-  const handleSyncWorkflowDraft = useCallback((
-    sync?: boolean,
-    notRefreshWhenSyncError?: boolean,
-    callback?: {
-      onSuccess?: () => void
-      onError?: () => void
-      onSettled?: () => void
-    },
-  ) => {
+  const getPostParams = useCallback(() => {
+    const {
+      getNodes,
+      edges,
+      transform,
+    } = store.getState()
+    const [x, y, zoom] = transform
+    const {
+      appId,
+      conversationVariables,
+      environmentVariables,
+      syncWorkflowDraftHash,
+    } = workflowStore.getState()
+
+    if (appId) {
+      const nodes = getNodes()
+      const hasStartNode = nodes.find(node => node.data.type === BlockEnum.Start)
+
+      if (!hasStartNode)
+        return
+
+      const features = featuresStore!.getState().features
+      const producedNodes = produce(nodes, (draft) => {
+        draft.forEach((node) => {
+          Object.keys(node.data).forEach((key) => {
+            if (key.startsWith('_'))
+              delete node.data[key]
+          })
+        })
+      })
+      const producedEdges = produce(edges, (draft) => {
+        draft.forEach((edge) => {
+          Object.keys(edge.data).forEach((key) => {
+            if (key.startsWith('_'))
+              delete edge.data[key]
+          })
+        })
+      })
+      return {
+        url: `/apps/${appId}/workflows/draft`,
+        params: {
+          graph: {
+            nodes: producedNodes,
+            edges: producedEdges,
+            viewport: {
+              x,
+              y,
+              zoom,
+            },
+          },
+          features: {
+            opening_statement: features.opening?.enabled ? (features.opening?.opening_statement || '') : '',
+            suggested_questions: features.opening?.enabled ? (features.opening?.suggested_questions || []) : [],
+            suggested_questions_after_answer: features.suggested,
+            text_to_speech: features.text2speech,
+            speech_to_text: features.speech2text,
+            retriever_resource: features.citation,
+            sensitive_word_avoidance: features.moderation,
+            file_upload: features.file,
+          },
+          environment_variables: environmentVariables,
+          conversation_variables: conversationVariables,
+          hash: syncWorkflowDraftHash,
+        },
+      }
+    }
+  }, [store, featuresStore, workflowStore])
+
+  const syncWorkflowDraftWhenPageClose = useCallback(() => {
+    if (getNodesReadOnly())
+      return
+    const postParams = getPostParams()
+
+    if (postParams) {
+      navigator.sendBeacon(
+        `${API_PREFIX}/apps/${params.appId}/workflows/draft?_token=${localStorage.getItem('console_token')}`,
+        JSON.stringify(postParams.params),
+      )
+    }
+  }, [getPostParams, params.appId, getNodesReadOnly])
+
+  const doSyncWorkflowDraft = useCallback(async (notRefreshWhenSyncError?: boolean) => {
+    if (getNodesReadOnly())
+      return
+    const postParams = getPostParams()
+
+    if (postParams) {
+      const {
+        setSyncWorkflowDraftHash,
+        setDraftUpdatedAt,
+      } = workflowStore.getState()
+      try {
+        const res = await syncWorkflowDraft(postParams)
+        setSyncWorkflowDraftHash(res.hash)
+        setDraftUpdatedAt(res.updated_at)
+      }
+      catch (error: any) {
+        if (error && error.json && !error.bodyUsed) {
+          error.json().then((err: any) => {
+            if (err.code === 'draft_workflow_not_sync' && !notRefreshWhenSyncError)
+              handleRefreshWorkflowDraft()
+          })
+        }
+      }
+    }
+  }, [workflowStore, getPostParams, getNodesReadOnly, handleRefreshWorkflowDraft])
+
+  const handleSyncWorkflowDraft = useCallback((sync?: boolean, notRefreshWhenSyncError?: boolean) => {
     if (getNodesReadOnly())
       return
 
     if (sync)
-      doSyncWorkflowDraft(notRefreshWhenSyncError, callback)
+      doSyncWorkflowDraft(notRefreshWhenSyncError)
     else
       debouncedSyncWorkflowDraft(doSyncWorkflowDraft)
   }, [debouncedSyncWorkflowDraft, doSyncWorkflowDraft, getNodesReadOnly])
diff --git a/app/components/workflow/hooks/use-workflow-interactions.ts b/app/components/workflow/hooks/use-workflow-interactions.ts
index 636d3b9..b39a3d8 100644
--- a/app/components/workflow/hooks/use-workflow-interactions.ts
+++ b/app/components/workflow/hooks/use-workflow-interactions.ts
@@ -8,15 +8,12 @@
 import { useStore, useWorkflowStore } from '../store'
 import {
   CUSTOM_NODE, DSL_EXPORT_CHECK,
-  NODE_LAYOUT_HORIZONTAL_PADDING,
-  NODE_LAYOUT_VERTICAL_PADDING,
   WORKFLOW_DATA_UPDATE,
 } from '../constants'
 import type { Node, WorkflowDataUpdater } from '../types'
-import { BlockEnum, ControlMode } from '../types'
+import { ControlMode } from '../types'
 import {
   getLayoutByDagre,
-  getLayoutForChildNodes,
   initialEdges,
   initialNodes,
 } from '../utils'
@@ -25,8 +22,8 @@
   useSelectionInteractions,
   useWorkflowReadOnly,
 } from '../hooks'
-import { useEdgesInteractionsWithoutSync } from './use-edges-interactions-without-sync'
-import { useNodesInteractionsWithoutSync } from './use-nodes-interactions-without-sync'
+import { useEdgesInteractions } from './use-edges-interactions'
+import { useNodesInteractions } from './use-nodes-interactions'
 import { useNodesSyncDraft } from './use-nodes-sync-draft'
 import { WorkflowHistoryEvent, useWorkflowHistory } from './use-workflow-history'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
@@ -37,8 +34,8 @@
 
 export const useWorkflowInteractions = () => {
   const workflowStore = useWorkflowStore()
-  const { handleNodeCancelRunningStatus } = useNodesInteractionsWithoutSync()
-  const { handleEdgeCancelRunningStatus } = useEdgesInteractionsWithoutSync()
+  const { handleNodeCancelRunningStatus } = useNodesInteractions()
+  const { handleEdgeCancelRunningStatus } = useEdgesInteractions()
 
   const handleCancelDebugAndPreviewPanel = useCallback(() => {
     workflowStore.setState({
@@ -101,81 +98,10 @@
     } = store.getState()
     const { setViewport } = reactflow
     const nodes = getNodes()
-
-    const loopAndIterationNodes = nodes.filter(
-      node => (node.data.type === BlockEnum.Loop || node.data.type === BlockEnum.Iteration)
-              && !node.parentId
-              && node.type === CUSTOM_NODE,
-    )
-
-    const childLayoutsMap: Record<string, any> = {}
-    loopAndIterationNodes.forEach((node) => {
-      childLayoutsMap[node.id] = getLayoutForChildNodes(node.id, nodes, edges)
-    })
-
-    const containerSizeChanges: Record<string, { width: number, height: number }> = {}
-
-    loopAndIterationNodes.forEach((parentNode) => {
-      const childLayout = childLayoutsMap[parentNode.id]
-      if (!childLayout) return
-
-      let minX = Infinity
-      let minY = Infinity
-      let maxX = -Infinity
-      let maxY = -Infinity
-      let hasChildren = false
-
-      const childNodes = nodes.filter(node => node.parentId === parentNode.id)
-
-      childNodes.forEach((node) => {
-        if (childLayout.node(node.id)) {
-          hasChildren = true
-          const childNodeWithPosition = childLayout.node(node.id)
-
-          const nodeX = childNodeWithPosition.x - node.width! / 2
-          const nodeY = childNodeWithPosition.y - node.height! / 2
-
-          minX = Math.min(minX, nodeX)
-          minY = Math.min(minY, nodeY)
-          maxX = Math.max(maxX, nodeX + node.width!)
-          maxY = Math.max(maxY, nodeY + node.height!)
-        }
-      })
-
-      if (hasChildren) {
-        const requiredWidth = maxX - minX + NODE_LAYOUT_HORIZONTAL_PADDING * 2
-        const requiredHeight = maxY - minY + NODE_LAYOUT_VERTICAL_PADDING * 2
-
-        containerSizeChanges[parentNode.id] = {
-          width: Math.max(parentNode.width || 0, requiredWidth),
-          height: Math.max(parentNode.height || 0, requiredHeight),
-        }
-      }
-    })
-
-    const nodesWithUpdatedSizes = produce(nodes, (draft) => {
-      draft.forEach((node) => {
-        if ((node.data.type === BlockEnum.Loop || node.data.type === BlockEnum.Iteration)
-            && containerSizeChanges[node.id]) {
-          node.width = containerSizeChanges[node.id].width
-          node.height = containerSizeChanges[node.id].height
-
-          if (node.data.type === BlockEnum.Loop) {
-            node.data.width = containerSizeChanges[node.id].width
-            node.data.height = containerSizeChanges[node.id].height
-          }
-          else if (node.data.type === BlockEnum.Iteration) {
-            node.data.width = containerSizeChanges[node.id].width
-            node.data.height = containerSizeChanges[node.id].height
-          }
-        }
-      })
-    })
-
-    const layout = getLayoutByDagre(nodesWithUpdatedSizes, edges)
-
+    const layout = getLayoutByDagre(nodes, edges)
     const rankMap = {} as Record<string, Node>
-    nodesWithUpdatedSizes.forEach((node) => {
+
+    nodes.forEach((node) => {
       if (!node.parentId && node.type === CUSTOM_NODE) {
         const rank = layout.node(node.id).rank!
 
@@ -189,7 +115,7 @@
       }
     })
 
-    const newNodes = produce(nodesWithUpdatedSizes, (draft) => {
+    const newNodes = produce(nodes, (draft) => {
       draft.forEach((node) => {
         if (!node.parentId && node.type === CUSTOM_NODE) {
           const nodeWithPosition = layout.node(node.id)
@@ -200,40 +126,7 @@
           }
         }
       })
-
-      loopAndIterationNodes.forEach((parentNode) => {
-        const childLayout = childLayoutsMap[parentNode.id]
-        if (!childLayout) return
-
-        const childNodes = draft.filter(node => node.parentId === parentNode.id)
-
-        let minX = Infinity
-        let minY = Infinity
-
-        childNodes.forEach((node) => {
-          if (childLayout.node(node.id)) {
-            const childNodeWithPosition = childLayout.node(node.id)
-            const nodeX = childNodeWithPosition.x - node.width! / 2
-            const nodeY = childNodeWithPosition.y - node.height! / 2
-
-            minX = Math.min(minX, nodeX)
-            minY = Math.min(minY, nodeY)
-          }
-        })
-
-        childNodes.forEach((node) => {
-          if (childLayout.node(node.id)) {
-            const childNodeWithPosition = childLayout.node(node.id)
-
-            node.position = {
-              x: NODE_LAYOUT_HORIZONTAL_PADDING + (childNodeWithPosition.x - node.width! / 2 - minX),
-              y: NODE_LAYOUT_VERTICAL_PADDING + (childNodeWithPosition.y - node.height! / 2 - minY),
-            }
-          }
-        })
-      })
     })
-
     setNodes(newNodes)
     const zoom = 0.7
     setViewport({
@@ -246,7 +139,6 @@
       handleSyncWorkflowDraft()
     })
   }, [getNodesReadOnly, store, reactflow, workflowStore, handleSyncWorkflowDraft, saveStateToHistory])
-
   return {
     handleLayout,
   }
@@ -313,6 +205,7 @@
 
 export const useWorkflowUpdate = () => {
   const reactflow = useReactFlow()
+  const workflowStore = useWorkflowStore()
   const { eventEmitter } = useEventEmitterContextContext()
 
   const handleUpdateWorkflowCanvas = useCallback((payload: WorkflowDataUpdater) => {
@@ -332,8 +225,32 @@
     setViewport(viewport)
   }, [eventEmitter, reactflow])
 
+  const handleRefreshWorkflowDraft = useCallback(() => {
+    const {
+      appId,
+      setSyncWorkflowDraftHash,
+      setIsSyncingWorkflowDraft,
+      setEnvironmentVariables,
+      setEnvSecrets,
+      setConversationVariables,
+    } = workflowStore.getState()
+    setIsSyncingWorkflowDraft(true)
+    fetchWorkflowDraft(`/apps/${appId}/workflows/draft`).then((response) => {
+      handleUpdateWorkflowCanvas(response.graph as WorkflowDataUpdater)
+      setSyncWorkflowDraftHash(response.hash)
+      setEnvSecrets((response.environment_variables || []).filter(env => env.value_type === 'secret').reduce((acc, env) => {
+        acc[env.id] = env.value
+        return acc
+      }, {} as Record<string, string>))
+      setEnvironmentVariables(response.environment_variables?.map(env => env.value_type === 'secret' ? { ...env, value: '[__HIDDEN__]' } : env) || [])
+      // #TODO chatVar sync#
+      setConversationVariables(response.conversation_variables || [])
+    }).finally(() => setIsSyncingWorkflowDraft(false))
+  }, [handleUpdateWorkflowCanvas, workflowStore])
+
   return {
     handleUpdateWorkflowCanvas,
+    handleRefreshWorkflowDraft,
   }
 }
 
@@ -366,7 +283,7 @@
       a.download = `${appDetail.name}.yml`
       a.click()
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.exportFailed') })
     }
     finally {
@@ -391,7 +308,7 @@
         },
       } as any)
     }
-    catch {
+    catch (e) {
       notify({ type: 'error', message: t('app.exportFailed') })
     }
   }, [appDetail, eventEmitter, handleExportDSL, notify, t])
diff --git a/app/components/workflow/hooks/use-workflow-run.ts b/app/components/workflow/hooks/use-workflow-run.ts
index 05a60eb..53a6b58 100644
--- a/app/components/workflow/hooks/use-workflow-run.ts
+++ b/app/components/workflow/hooks/use-workflow-run.ts
@@ -1,11 +1,783 @@
-import { useHooksStore } from '@/app/components/workflow/hooks-store'
+import { useCallback } from 'react'
+import {
+  useReactFlow,
+  useStoreApi,
+} from 'reactflow'
+import produce from 'immer'
+import { v4 as uuidV4 } from 'uuid'
+import { usePathname } from 'next/navigation'
+import { useWorkflowStore } from '../store'
+import { useNodesSyncDraft } from '../hooks'
+import {
+  BlockEnum,
+  NodeRunningStatus,
+  WorkflowRunningStatus,
+} from '../types'
+import { DEFAULT_ITER_TIMES } from '../constants'
+import { useWorkflowUpdate } from './use-workflow-interactions'
+import { useStore as useAppStore } from '@/app/components/app/store'
+import type { IOtherOptions } from '@/service/base'
+import { ssePost } from '@/service/base'
+import { stopWorkflowRun } from '@/service/workflow'
+import { useFeaturesStore } from '@/app/components/base/features/hooks'
+import { AudioPlayerManager } from '@/app/components/base/audio-btn/audio.player.manager'
+import {
+  getFilesInLogs,
+} from '@/app/components/base/file-uploader/utils'
+import { ErrorHandleTypeEnum } from '@/app/components/workflow/nodes/_base/components/error-handle/types'
+import type { NodeTracing, VersionHistory } from '@/types/workflow'
 
 export const useWorkflowRun = () => {
-  const handleBackupDraft = useHooksStore(s => s.handleBackupDraft)
-  const handleLoadBackupDraft = useHooksStore(s => s.handleLoadBackupDraft)
-  const handleRestoreFromPublishedWorkflow = useHooksStore(s => s.handleRestoreFromPublishedWorkflow)
-  const handleRun = useHooksStore(s => s.handleRun)
-  const handleStopRun = useHooksStore(s => s.handleStopRun)
+  const store = useStoreApi()
+  const workflowStore = useWorkflowStore()
+  const reactflow = useReactFlow()
+  const featuresStore = useFeaturesStore()
+  const { doSyncWorkflowDraft } = useNodesSyncDraft()
+  const { handleUpdateWorkflowCanvas } = useWorkflowUpdate()
+  const pathname = usePathname()
+
+  const handleBackupDraft = useCallback(() => {
+    const {
+      getNodes,
+      edges,
+    } = store.getState()
+    const { getViewport } = reactflow
+    const {
+      backupDraft,
+      setBackupDraft,
+      environmentVariables,
+    } = workflowStore.getState()
+    const { features } = featuresStore!.getState()
+
+    if (!backupDraft) {
+      setBackupDraft({
+        nodes: getNodes(),
+        edges,
+        viewport: getViewport(),
+        features,
+        environmentVariables,
+      })
+      doSyncWorkflowDraft()
+    }
+  }, [reactflow, workflowStore, store, featuresStore, doSyncWorkflowDraft])
+
+  const handleLoadBackupDraft = useCallback(() => {
+    const {
+      backupDraft,
+      setBackupDraft,
+      setEnvironmentVariables,
+    } = workflowStore.getState()
+
+    if (backupDraft) {
+      const {
+        nodes,
+        edges,
+        viewport,
+        features,
+        environmentVariables,
+      } = backupDraft
+      handleUpdateWorkflowCanvas({
+        nodes,
+        edges,
+        viewport,
+      })
+      setEnvironmentVariables(environmentVariables)
+      featuresStore!.setState({ features })
+      setBackupDraft(undefined)
+    }
+  }, [handleUpdateWorkflowCanvas, workflowStore, featuresStore])
+
+  const handleRun = useCallback(async (
+    params: any,
+    callback?: IOtherOptions,
+  ) => {
+    const {
+      getNodes,
+      setNodes,
+    } = store.getState()
+    const newNodes = produce(getNodes(), (draft) => {
+      draft.forEach((node) => {
+        node.data.selected = false
+        node.data._runningStatus = undefined
+      })
+    })
+    setNodes(newNodes)
+    await doSyncWorkflowDraft()
+
+    const {
+      onWorkflowStarted,
+      onWorkflowFinished,
+      onNodeStarted,
+      onNodeFinished,
+      onIterationStart,
+      onIterationNext,
+      onIterationFinish,
+      onNodeRetry,
+      onError,
+      ...restCallback
+    } = callback || {}
+    workflowStore.setState({ historyWorkflowData: undefined })
+    const appDetail = useAppStore.getState().appDetail
+    const workflowContainer = document.getElementById('workflow-container')
+
+    const {
+      clientWidth,
+      clientHeight,
+    } = workflowContainer!
+
+    let url = ''
+    if (appDetail?.mode === 'advanced-chat')
+      url = `/apps/${appDetail.id}/advanced-chat/workflows/draft/run`
+
+    if (appDetail?.mode === 'workflow')
+      url = `/apps/${appDetail.id}/workflows/draft/run`
+
+    let prevNodeId = ''
+
+    const {
+      setWorkflowRunningData,
+    } = workflowStore.getState()
+    setWorkflowRunningData({
+      result: {
+        status: WorkflowRunningStatus.Running,
+      },
+      tracing: [],
+      resultText: '',
+    })
+
+    let ttsUrl = ''
+    let ttsIsPublic = false
+    if (params.token) {
+      ttsUrl = '/text-to-audio'
+      ttsIsPublic = true
+    }
+    else if (params.appId) {
+      if (pathname.search('explore/installed') > -1)
+        ttsUrl = `/installed-apps/${params.appId}/text-to-audio`
+      else
+        ttsUrl = `/apps/${params.appId}/text-to-audio`
+    }
+    const player = AudioPlayerManager.getInstance().getAudioPlayer(ttsUrl, ttsIsPublic, uuidV4(), 'none', 'none', (_: any): any => {})
+
+    ssePost(
+      url,
+      {
+        body: params,
+      },
+      {
+        onWorkflowStarted: (params) => {
+          const { task_id, data } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            setIterParallelLogMap,
+          } = workflowStore.getState()
+          const {
+            getNodes,
+            setNodes,
+            edges,
+            setEdges,
+          } = store.getState()
+          setIterParallelLogMap(new Map())
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            draft.task_id = task_id
+            draft.result = {
+              ...draft?.result,
+              ...data,
+              status: WorkflowRunningStatus.Running,
+            }
+          }))
+          const nodes = getNodes()
+          const newNodes = produce(nodes, (draft) => {
+            draft.forEach((node) => {
+              node.data._waitingRun = true
+              node.data._runningBranchId = undefined
+            })
+          })
+          setNodes(newNodes)
+          const newEdges = produce(edges, (draft) => {
+            draft.forEach((edge) => {
+              edge.data = {
+                ...edge.data,
+                _sourceRunningStatus: undefined,
+                _targetRunningStatus: undefined,
+                _waitingRun: true,
+              }
+            })
+          })
+          setEdges(newEdges)
+
+          if (onWorkflowStarted)
+            onWorkflowStarted(params)
+        },
+        onWorkflowFinished: (params) => {
+          const { data } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+          } = workflowStore.getState()
+
+          const isStringOutput = data.outputs && Object.keys(data.outputs).length === 1 && typeof data.outputs[Object.keys(data.outputs)[0]] === 'string'
+
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            draft.result = {
+              ...draft.result,
+              ...data,
+              files: getFilesInLogs(data.outputs),
+            } as any
+            if (isStringOutput) {
+              draft.resultTabActive = true
+              draft.resultText = data.outputs[Object.keys(data.outputs)[0]]
+            }
+          }))
+
+          prevNodeId = ''
+
+          if (onWorkflowFinished)
+            onWorkflowFinished(params)
+        },
+        onError: (params) => {
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+          } = workflowStore.getState()
+
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            draft.result = {
+              ...draft.result,
+              status: WorkflowRunningStatus.Failed,
+            }
+          }))
+
+          if (onError)
+            onError(params)
+        },
+        onNodeStarted: (params) => {
+          const { data } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            iterParallelLogMap,
+            setIterParallelLogMap,
+          } = workflowStore.getState()
+          const {
+            getNodes,
+            setNodes,
+            edges,
+            setEdges,
+            transform,
+          } = store.getState()
+          const nodes = getNodes()
+          const node = nodes.find(node => node.id === data.node_id)
+          if (node?.parentId) {
+            setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+              const tracing = draft.tracing!
+              const iterations = tracing.find(trace => trace.node_id === node?.parentId)
+              const currIteration = iterations?.details![node.data.iteration_index] || iterations?.details![iterations.details!.length - 1]
+              if (!data.parallel_run_id) {
+                currIteration?.push({
+                  ...data,
+                  status: NodeRunningStatus.Running,
+                } as any)
+              }
+              else {
+                const nodeId = iterations?.node_id as string
+                if (!iterParallelLogMap.has(nodeId as string))
+                  iterParallelLogMap.set(iterations?.node_id as string, new Map())
+
+                const currentIterLogMap = iterParallelLogMap.get(nodeId)!
+                if (!currentIterLogMap.has(data.parallel_run_id))
+                  currentIterLogMap.set(data.parallel_run_id, [{ ...data, status: NodeRunningStatus.Running } as any])
+                else
+                  currentIterLogMap.get(data.parallel_run_id)!.push({ ...data, status: NodeRunningStatus.Running } as any)
+                setIterParallelLogMap(iterParallelLogMap)
+                if (iterations)
+                  iterations.details = Array.from(currentIterLogMap.values())
+              }
+            }))
+          }
+          else {
+            setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+              draft.tracing!.push({
+                ...data,
+                status: NodeRunningStatus.Running,
+              } as any)
+            }))
+
+            const {
+              setViewport,
+            } = reactflow
+            const currentNodeIndex = nodes.findIndex(node => node.id === data.node_id)
+            const currentNode = nodes[currentNodeIndex]
+            const position = currentNode.position
+            const zoom = transform[2]
+
+            if (!currentNode.parentId) {
+              setViewport({
+                x: (clientWidth - 400 - currentNode.width! * zoom) / 2 - position.x * zoom,
+                y: (clientHeight - currentNode.height! * zoom) / 2 - position.y * zoom,
+                zoom: transform[2],
+              })
+            }
+            const newNodes = produce(nodes, (draft) => {
+              draft[currentNodeIndex].data._runningStatus = NodeRunningStatus.Running
+              draft[currentNodeIndex].data._waitingRun = false
+            })
+            setNodes(newNodes)
+            const newEdges = produce(edges, (draft) => {
+              const incomeEdges = draft.filter((edge) => {
+                return edge.target === data.node_id
+              })
+
+              incomeEdges.forEach((edge) => {
+                const incomeNode = nodes.find(node => node.id === edge.source)!
+                if (
+                  (!incomeNode.data._runningBranchId && edge.sourceHandle === 'source')
+                  || (incomeNode.data._runningBranchId && edge.sourceHandle === incomeNode.data._runningBranchId)
+                ) {
+                  edge.data = {
+                    ...edge.data,
+                    _sourceRunningStatus: incomeNode.data._runningStatus,
+                    _targetRunningStatus: NodeRunningStatus.Running,
+                    _waitingRun: false,
+                  }
+                }
+              })
+            })
+            setEdges(newEdges)
+          }
+          if (onNodeStarted)
+            onNodeStarted(params)
+        },
+        onNodeFinished: (params) => {
+          const { data } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            iterParallelLogMap,
+            setIterParallelLogMap,
+          } = workflowStore.getState()
+          const {
+            getNodes,
+            setNodes,
+            edges,
+            setEdges,
+          } = store.getState()
+          const nodes = getNodes()
+          const nodeParentId = nodes.find(node => node.id === data.node_id)!.parentId
+          if (nodeParentId) {
+            if (!data.execution_metadata.parallel_mode_run_id) {
+              setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+                const tracing = draft.tracing!
+                const iterations = tracing.find(trace => trace.node_id === nodeParentId) // the iteration node
+
+                if (iterations && iterations.details) {
+                  const iterationIndex = data.execution_metadata?.iteration_index || 0
+                  if (!iterations.details[iterationIndex])
+                    iterations.details[iterationIndex] = []
+
+                  const currIteration = iterations.details[iterationIndex]
+                  const nodeIndex = currIteration.findIndex(node =>
+                    node.node_id === data.node_id && (
+                      node.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || node.parallel_id === data.execution_metadata?.parallel_id),
+                  )
+                  if (nodeIndex !== -1) {
+                    currIteration[nodeIndex] = {
+                      ...currIteration[nodeIndex],
+                      ...(currIteration[nodeIndex].retryDetail
+                        ? { retryDetail: currIteration[nodeIndex].retryDetail }
+                        : {}),
+                      ...data,
+                    } as any
+                  }
+                  else {
+                    currIteration.push({
+                      ...data,
+                    } as any)
+                  }
+                }
+              }))
+            }
+            else {
+              // open parallel mode
+              setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+                const tracing = draft.tracing!
+                const iterations = tracing.find(trace => trace.node_id === nodeParentId) // the iteration node
+
+                if (iterations && iterations.details) {
+                  const iterRunID = data.execution_metadata?.parallel_mode_run_id
+
+                  const currIteration = iterParallelLogMap.get(iterations.node_id)?.get(iterRunID)
+                  const nodeIndex = currIteration?.findIndex(node =>
+                    node.node_id === data.node_id && (
+                      node?.parallel_run_id === data.execution_metadata?.parallel_mode_run_id),
+                  )
+                  if (currIteration) {
+                    if (nodeIndex !== undefined && nodeIndex !== -1) {
+                      currIteration[nodeIndex] = {
+                        ...currIteration[nodeIndex],
+                        ...data,
+                      } as any
+                    }
+                    else {
+                      currIteration.push({
+                        ...data,
+                      } as any)
+                    }
+                  }
+                  setIterParallelLogMap(iterParallelLogMap)
+                  const iterLogMap = iterParallelLogMap.get(iterations.node_id)
+                  if (iterLogMap)
+                    iterations.details = Array.from(iterLogMap.values())
+                }
+              }))
+            }
+          }
+          else {
+            setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+              const currentIndex = draft.tracing!.findIndex((trace) => {
+                if (!trace.execution_metadata?.parallel_id)
+                  return trace.node_id === data.node_id
+                return trace.node_id === data.node_id && trace.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id
+              })
+              if (currentIndex > -1 && draft.tracing) {
+                draft.tracing[currentIndex] = {
+                  ...data,
+                  ...(draft.tracing[currentIndex].extras
+                    ? { extras: draft.tracing[currentIndex].extras }
+                    : {}),
+                  ...(draft.tracing[currentIndex].retryDetail
+                    ? { retryDetail: draft.tracing[currentIndex].retryDetail }
+                    : {}),
+                } as any
+              }
+            }))
+            const newNodes = produce(nodes, (draft) => {
+              const currentNode = draft.find(node => node.id === data.node_id)!
+              currentNode.data._runningStatus = data.status as any
+              if (data.status === NodeRunningStatus.Exception) {
+                if (data.execution_metadata.error_strategy === ErrorHandleTypeEnum.failBranch)
+                  currentNode.data._runningBranchId = ErrorHandleTypeEnum.failBranch
+              }
+              else {
+                if (data.node_type === BlockEnum.IfElse)
+                  currentNode.data._runningBranchId = data?.outputs?.selected_case_id
+
+                if (data.node_type === BlockEnum.QuestionClassifier)
+                  currentNode.data._runningBranchId = data?.outputs?.class_id
+              }
+            })
+            setNodes(newNodes)
+            const newEdges = produce(edges, (draft) => {
+              const incomeEdges = draft.filter((edge) => {
+                return edge.target === data.node_id
+              })
+              incomeEdges.forEach((edge) => {
+                edge.data = {
+                  ...edge.data,
+                  _targetRunningStatus: data.status as any,
+                }
+              })
+            })
+            setEdges(newEdges)
+            prevNodeId = data.node_id
+          }
+
+          if (onNodeFinished)
+            onNodeFinished(params)
+        },
+        onIterationStart: (params) => {
+          const { data } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            setIterTimes,
+          } = workflowStore.getState()
+          const {
+            getNodes,
+            setNodes,
+            edges,
+            setEdges,
+            transform,
+          } = store.getState()
+          const nodes = getNodes()
+          setIterTimes(DEFAULT_ITER_TIMES)
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            draft.tracing!.push({
+              ...data,
+              status: NodeRunningStatus.Running,
+              details: [],
+              iterDurationMap: {},
+            } as any)
+          }))
+
+          const {
+            setViewport,
+          } = reactflow
+          const currentNodeIndex = nodes.findIndex(node => node.id === data.node_id)
+          const currentNode = nodes[currentNodeIndex]
+          const position = currentNode.position
+          const zoom = transform[2]
+
+          if (!currentNode.parentId) {
+            setViewport({
+              x: (clientWidth - 400 - currentNode.width! * zoom) / 2 - position.x * zoom,
+              y: (clientHeight - currentNode.height! * zoom) / 2 - position.y * zoom,
+              zoom: transform[2],
+            })
+          }
+          const newNodes = produce(nodes, (draft) => {
+            draft[currentNodeIndex].data._runningStatus = NodeRunningStatus.Running
+            draft[currentNodeIndex].data._iterationLength = data.metadata.iterator_length
+            draft[currentNodeIndex].data._waitingRun = false
+          })
+          setNodes(newNodes)
+          const newEdges = produce(edges, (draft) => {
+            const incomeEdges = draft.filter(edge => edge.target === data.node_id)
+
+            incomeEdges.forEach((edge) => {
+              edge.data = {
+                ...edge.data,
+                _sourceRunningStatus: nodes.find(node => node.id === edge.source)!.data._runningStatus,
+                _targetRunningStatus: NodeRunningStatus.Running,
+                _waitingRun: false,
+              }
+            })
+          })
+          setEdges(newEdges)
+
+          if (onIterationStart)
+            onIterationStart(params)
+        },
+        onIterationNext: (params) => {
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            iterTimes,
+            setIterTimes,
+          } = workflowStore.getState()
+
+          const { data } = params
+          const {
+            getNodes,
+            setNodes,
+          } = store.getState()
+
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            const iteration = draft.tracing!.find(trace => trace.node_id === data.node_id)
+            if (iteration) {
+              if (iteration.iterDurationMap && data.duration)
+                iteration.iterDurationMap[data.parallel_mode_run_id ?? `${data.index - 1}`] = data.duration
+              if (iteration.details!.length >= iteration.metadata.iterator_length!)
+                return
+            }
+            if (!data.parallel_mode_run_id)
+              iteration?.details!.push([])
+          }))
+          const nodes = getNodes()
+          const newNodes = produce(nodes, (draft) => {
+            const currentNode = draft.find(node => node.id === data.node_id)!
+            currentNode.data._iterationIndex = iterTimes
+            setIterTimes(iterTimes + 1)
+          })
+          setNodes(newNodes)
+
+          if (onIterationNext)
+            onIterationNext(params)
+        },
+        onIterationFinish: (params) => {
+          const { data } = params
+
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            setIterTimes,
+          } = workflowStore.getState()
+          const {
+            getNodes,
+            setNodes,
+          } = store.getState()
+          const nodes = getNodes()
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            const tracing = draft.tracing!
+            const currIterationNode = tracing.find(trace => trace.node_id === data.node_id)
+            if (currIterationNode) {
+              Object.assign(currIterationNode, {
+                ...data,
+                status: NodeRunningStatus.Succeeded,
+              })
+            }
+          }))
+          setIterTimes(DEFAULT_ITER_TIMES)
+          const newNodes = produce(nodes, (draft) => {
+            const currentNode = draft.find(node => node.id === data.node_id)!
+
+            currentNode.data._runningStatus = data.status
+          })
+          setNodes(newNodes)
+
+          prevNodeId = data.node_id
+
+          if (onIterationFinish)
+            onIterationFinish(params)
+        },
+        onNodeRetry: (params) => {
+          const { data } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+            iterParallelLogMap,
+            setIterParallelLogMap,
+          } = workflowStore.getState()
+          const {
+            getNodes,
+            setNodes,
+          } = store.getState()
+
+          const nodes = getNodes()
+          const currentNode = nodes.find(node => node.id === data.node_id)!
+          const nodeParent = nodes.find(node => node.id === currentNode.parentId)
+          if (nodeParent) {
+            if (!data.execution_metadata.parallel_mode_run_id) {
+              setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+                const tracing = draft.tracing!
+                const iteration = tracing.find(trace => trace.node_id === nodeParent.id)
+
+                if (iteration && iteration.details?.length) {
+                  const currentNodeRetry = iteration.details[nodeParent.data._iterationIndex - 1]?.find(item => item.node_id === data.node_id)
+
+                  if (currentNodeRetry) {
+                    if (currentNodeRetry?.retryDetail)
+                      currentNodeRetry?.retryDetail.push(data as NodeTracing)
+                    else
+                      currentNodeRetry.retryDetail = [data as NodeTracing]
+                  }
+                }
+              }))
+            }
+            else {
+              setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+                const tracing = draft.tracing!
+                const iteration = tracing.find(trace => trace.node_id === nodeParent.id)
+
+                if (iteration && iteration.details?.length) {
+                  const iterRunID = data.execution_metadata?.parallel_mode_run_id
+
+                  const currIteration = iterParallelLogMap.get(iteration.node_id)?.get(iterRunID)
+                  const currentNodeRetry = currIteration?.find(item => item.node_id === data.node_id)
+
+                  if (currentNodeRetry) {
+                    if (currentNodeRetry?.retryDetail)
+                      currentNodeRetry?.retryDetail.push(data as NodeTracing)
+                    else
+                      currentNodeRetry.retryDetail = [data as NodeTracing]
+                  }
+                  setIterParallelLogMap(iterParallelLogMap)
+                  const iterLogMap = iterParallelLogMap.get(iteration.node_id)
+                  if (iterLogMap)
+                    iteration.details = Array.from(iterLogMap.values())
+                }
+              }))
+            }
+          }
+          else {
+            setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+              const tracing = draft.tracing!
+              const currentRetryNodeIndex = tracing.findIndex(trace => trace.node_id === data.node_id)
+
+              if (currentRetryNodeIndex > -1) {
+                const currentRetryNode = tracing[currentRetryNodeIndex]
+                if (currentRetryNode.retryDetail)
+                  draft.tracing![currentRetryNodeIndex].retryDetail!.push(data as NodeTracing)
+                else
+                  draft.tracing![currentRetryNodeIndex].retryDetail = [data as NodeTracing]
+              }
+            }))
+          }
+          const newNodes = produce(nodes, (draft) => {
+            const currentNode = draft.find(node => node.id === data.node_id)!
+
+            currentNode.data._retryIndex = data.retry_index
+          })
+          setNodes(newNodes)
+
+          if (onNodeRetry)
+            onNodeRetry(params)
+        },
+        onParallelBranchStarted: (params) => {
+          // console.log(params, 'parallel start')
+        },
+        onParallelBranchFinished: (params) => {
+          // console.log(params, 'finished')
+        },
+        onTextChunk: (params) => {
+          const { data: { text } } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+          } = workflowStore.getState()
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            draft.resultTabActive = true
+            draft.resultText += text
+          }))
+        },
+        onTextReplace: (params) => {
+          const { data: { text } } = params
+          const {
+            workflowRunningData,
+            setWorkflowRunningData,
+          } = workflowStore.getState()
+          setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
+            draft.resultText = text
+          }))
+        },
+        onTTSChunk: (messageId: string, audio: string, audioType?: string) => {
+          if (!audio || audio === '')
+            return
+          player.playAudioWithAudio(audio, true)
+          AudioPlayerManager.getInstance().resetMsgId(messageId)
+        },
+        onTTSEnd: (messageId: string, audio: string, audioType?: string) => {
+          player.playAudioWithAudio(audio, false)
+        },
+        ...restCallback,
+      },
+    )
+  }, [store, reactflow, workflowStore, doSyncWorkflowDraft])
+
+  const handleStopRun = useCallback((taskId: string) => {
+    const appId = useAppStore.getState().appDetail?.id
+
+    stopWorkflowRun(`/apps/${appId}/workflow-runs/tasks/${taskId}/stop`)
+  }, [])
+
+  const handleRestoreFromPublishedWorkflow = useCallback((publishedWorkflow: VersionHistory) => {
+    const nodes = publishedWorkflow.graph.nodes.map(node => ({ ...node, selected: false, data: { ...node.data, selected: false } }))
+    const edges = publishedWorkflow.graph.edges
+    const viewport = publishedWorkflow.graph.viewport!
+    handleUpdateWorkflowCanvas({
+      nodes,
+      edges,
+      viewport,
+    })
+    const mappedFeatures = {
+      opening: {
+        enabled: !!publishedWorkflow.features.opening_statement || !!publishedWorkflow.features.suggested_questions.length,
+        opening_statement: publishedWorkflow.features.opening_statement,
+        suggested_questions: publishedWorkflow.features.suggested_questions,
+      },
+      suggested: publishedWorkflow.features.suggested_questions_after_answer,
+      text2speech: publishedWorkflow.features.text_to_speech,
+      speech2text: publishedWorkflow.features.speech_to_text,
+      citation: publishedWorkflow.features.retriever_resource,
+      moderation: publishedWorkflow.features.sensitive_word_avoidance,
+      file: publishedWorkflow.features.file_upload,
+    }
+
+    featuresStore?.setState({ features: mappedFeatures })
+    workflowStore.getState().setPublishedAt(publishedWorkflow.created_at)
+    workflowStore.getState().setEnvironmentVariables(publishedWorkflow.environment_variables || [])
+  }, [featuresStore, handleUpdateWorkflowCanvas, workflowStore])
 
   return {
     handleBackupDraft,
diff --git a/app/components/workflow/hooks/use-workflow-start-run.tsx b/app/components/workflow/hooks/use-workflow-start-run.tsx
index 0f4e68f..b2b1c69 100644
--- a/app/components/workflow/hooks/use-workflow-start-run.tsx
+++ b/app/components/workflow/hooks/use-workflow-start-run.tsx
@@ -1,9 +1,92 @@
-import { useHooksStore } from '@/app/components/workflow/hooks-store'
+import { useCallback } from 'react'
+import { useStoreApi } from 'reactflow'
+import { useWorkflowStore } from '../store'
+import {
+  BlockEnum,
+  WorkflowRunningStatus,
+} from '../types'
+import {
+  useIsChatMode,
+  useNodesSyncDraft,
+  useWorkflowInteractions,
+  useWorkflowRun,
+} from './index'
+import { useFeaturesStore } from '@/app/components/base/features/hooks'
 
 export const useWorkflowStartRun = () => {
-  const handleStartWorkflowRun = useHooksStore(s => s.handleStartWorkflowRun)
-  const handleWorkflowStartRunInWorkflow = useHooksStore(s => s.handleWorkflowStartRunInWorkflow)
-  const handleWorkflowStartRunInChatflow = useHooksStore(s => s.handleWorkflowStartRunInChatflow)
+  const store = useStoreApi()
+  const workflowStore = useWorkflowStore()
+  const featuresStore = useFeaturesStore()
+  const isChatMode = useIsChatMode()
+  const { handleCancelDebugAndPreviewPanel } = useWorkflowInteractions()
+  const { handleRun } = useWorkflowRun()
+  const { doSyncWorkflowDraft } = useNodesSyncDraft()
+
+  const handleWorkflowStartRunInWorkflow = useCallback(async () => {
+    const {
+      workflowRunningData,
+    } = workflowStore.getState()
+
+    if (workflowRunningData?.result.status === WorkflowRunningStatus.Running)
+      return
+
+    const { getNodes } = store.getState()
+    const nodes = getNodes()
+    const startNode = nodes.find(node => node.data.type === BlockEnum.Start)
+    const startVariables = startNode?.data.variables || []
+    const fileSettings = featuresStore!.getState().features.file
+    const {
+      showDebugAndPreviewPanel,
+      setShowDebugAndPreviewPanel,
+      setShowInputsPanel,
+      setShowEnvPanel,
+    } = workflowStore.getState()
+
+    setShowEnvPanel(false)
+
+    if (showDebugAndPreviewPanel) {
+      handleCancelDebugAndPreviewPanel()
+      return
+    }
+
+    if (!startVariables.length && !fileSettings?.image?.enabled) {
+      await doSyncWorkflowDraft()
+      handleRun({ inputs: {}, files: [] })
+      setShowDebugAndPreviewPanel(true)
+      setShowInputsPanel(false)
+    }
+    else {
+      setShowDebugAndPreviewPanel(true)
+      setShowInputsPanel(true)
+    }
+  }, [store, workflowStore, featuresStore, handleCancelDebugAndPreviewPanel, handleRun, doSyncWorkflowDraft])
+
+  const handleWorkflowStartRunInChatflow = useCallback(async () => {
+    const {
+      showDebugAndPreviewPanel,
+      setShowDebugAndPreviewPanel,
+      setHistoryWorkflowData,
+      setShowEnvPanel,
+      setShowChatVariablePanel,
+    } = workflowStore.getState()
+
+    setShowEnvPanel(false)
+    setShowChatVariablePanel(false)
+
+    if (showDebugAndPreviewPanel)
+      handleCancelDebugAndPreviewPanel()
+    else
+      setShowDebugAndPreviewPanel(true)
+
+    setHistoryWorkflowData(undefined)
+  }, [workflowStore, handleCancelDebugAndPreviewPanel])
+
+  const handleStartWorkflowRun = useCallback(() => {
+    if (!isChatMode)
+      handleWorkflowStartRunInWorkflow()
+    else
+      handleWorkflowStartRunInChatflow()
+  }, [isChatMode, handleWorkflowStartRunInWorkflow, handleWorkflowStartRunInChatflow])
 
   return {
     handleStartWorkflowRun,
diff --git a/app/components/workflow/hooks/use-workflow-template.ts b/app/components/workflow/hooks/use-workflow-template.ts
new file mode 100644
index 0000000..c2dc956
--- /dev/null
+++ b/app/components/workflow/hooks/use-workflow-template.ts
@@ -0,0 +1,74 @@
+import { generateNewNode } from '../utils'
+import {
+  NODE_WIDTH_X_OFFSET,
+  START_INITIAL_POSITION,
+} from '../constants'
+import { useIsChatMode } from './use-workflow'
+import { useNodesInitialData } from './use-nodes-data'
+
+export const useWorkflowTemplate = () => {
+  const isChatMode = useIsChatMode()
+  const nodesInitialData = useNodesInitialData()
+
+  const { newNode: startNode } = generateNewNode({
+    data: nodesInitialData.start,
+    position: START_INITIAL_POSITION,
+  })
+
+  if (isChatMode) {
+    const { newNode: llmNode } = generateNewNode({
+      id: 'llm',
+      data: {
+        ...nodesInitialData.llm,
+        memory: {
+          window: { enabled: false, size: 10 },
+          query_prompt_template: '{{#sys.query#}}',
+        },
+        selected: true,
+      },
+      position: {
+        x: START_INITIAL_POSITION.x + NODE_WIDTH_X_OFFSET,
+        y: START_INITIAL_POSITION.y,
+      },
+    } as any)
+
+    const { newNode: answerNode } = generateNewNode({
+      id: 'answer',
+      data: {
+        ...nodesInitialData.answer,
+        answer: `{{#${llmNode.id}.text#}}`,
+      },
+      position: {
+        x: START_INITIAL_POSITION.x + NODE_WIDTH_X_OFFSET * 2,
+        y: START_INITIAL_POSITION.y,
+      },
+    } as any)
+
+    const startToLlmEdge = {
+      id: `${startNode.id}-${llmNode.id}`,
+      source: startNode.id,
+      sourceHandle: 'source',
+      target: llmNode.id,
+      targetHandle: 'target',
+    }
+
+    const llmToAnswerEdge = {
+      id: `${llmNode.id}-${answerNode.id}`,
+      source: llmNode.id,
+      sourceHandle: 'source',
+      target: answerNode.id,
+      targetHandle: 'target',
+    }
+
+    return {
+      nodes: [startNode, llmNode, answerNode],
+      edges: [startToLlmEdge, llmToAnswerEdge],
+    }
+  }
+  else {
+    return {
+      nodes: [startNode],
+      edges: [],
+    }
+  }
+}
diff --git a/app/components/workflow/hooks/use-workflow-variables.ts b/app/components/workflow/hooks/use-workflow-variables.ts
index 35637bc..feadaf8 100644
--- a/app/components/workflow/hooks/use-workflow-variables.ts
+++ b/app/components/workflow/hooks/use-workflow-variables.ts
@@ -8,8 +8,6 @@
   ValueSelector,
   Var,
 } from '@/app/components/workflow/types'
-import { useIsChatMode } from './use-workflow'
-import { useStoreApi } from 'reactflow'
 
 export const useWorkflowVariables = () => {
   const { t } = useTranslation()
@@ -46,7 +44,6 @@
     parentNode,
     valueSelector,
     isIterationItem,
-    isLoopItem,
     availableNodes,
     isChatMode,
     isConstant,
@@ -54,7 +51,6 @@
     valueSelector: ValueSelector
     parentNode?: Node | null
     isIterationItem?: boolean
-    isLoopItem?: boolean
     availableNodes: any[]
     isChatMode: boolean
     isConstant?: boolean
@@ -63,7 +59,6 @@
       parentNode,
       valueSelector,
       isIterationItem,
-      isLoopItem,
       availableNodes,
       isChatMode,
       isConstant,
@@ -76,38 +71,4 @@
     getNodeAvailableVars,
     getCurrentVariableType,
   }
-}
-
-export const useWorkflowVariableType = () => {
-  const store = useStoreApi()
-  const {
-    getNodes,
-  } = store.getState()
-  const { getCurrentVariableType } = useWorkflowVariables()
-
-  const isChatMode = useIsChatMode()
-
-  const getVarType = ({
-    nodeId,
-    valueSelector,
-  }: {
-    nodeId: string,
-    valueSelector: ValueSelector,
-  }) => {
-    const node = getNodes().find(n => n.id === nodeId)
-    const isInIteration = !!node?.data.isInIteration
-    const iterationNode = isInIteration ? getNodes().find(n => n.id === node.parentId) : null
-    const availableNodes = [node]
-
-    const type = getCurrentVariableType({
-      parentNode: iterationNode,
-      valueSelector,
-      availableNodes,
-      isChatMode,
-      isConstant: false,
-    })
-    return type
-  }
-
-  return getVarType
 }
diff --git a/app/components/workflow/hooks/use-workflow.ts b/app/components/workflow/hooks/use-workflow.ts
index 99dce4d..2eafb4a 100644
--- a/app/components/workflow/hooks/use-workflow.ts
+++ b/app/components/workflow/hooks/use-workflow.ts
@@ -1,9 +1,13 @@
 import {
   useCallback,
+  useEffect,
   useMemo,
+  useState,
 } from 'react'
+import dayjs from 'dayjs'
 import { uniqBy } from 'lodash-es'
 import { useTranslation } from 'react-i18next'
+import { useContext } from 'use-context-selector'
 import {
   getIncomers,
   getOutgoers,
@@ -36,17 +40,24 @@
 import { CUSTOM_NOTE_NODE } from '../note-node/constants'
 import { findUsedVarNodes, getNodeOutputVars, updateNodeVars } from '../nodes/_base/components/variable/utils'
 import { useNodesExtraData } from './use-nodes-data'
+import { useWorkflowTemplate } from './use-workflow-template'
 import { useStore as useAppStore } from '@/app/components/app/store'
+import {
+  fetchNodesDefaultConfigs,
+  fetchPublishedWorkflow,
+  fetchWorkflowDraft,
+  syncWorkflowDraft,
+} from '@/service/workflow'
+import type { FetchWorkflowDraftResponse } from '@/types/workflow'
 import {
   fetchAllBuiltInTools,
   fetchAllCustomTools,
   fetchAllWorkflowTools,
 } from '@/service/tools'
+import I18n from '@/context/i18n'
 import { CollectionType } from '@/app/components/tools/types'
 import { CUSTOM_ITERATION_START_NODE } from '@/app/components/workflow/nodes/iteration-start/constants'
-import { CUSTOM_LOOP_START_NODE } from '@/app/components/workflow/nodes/loop-start/constants'
-import { basePath } from '@/utils/var'
-import { canFindTool } from '@/utils'
+import { useWorkflowConfig } from '@/service/use-workflow'
 
 export const useIsChatMode = () => {
   const appDetail = useAppStore(s => s.appDetail)
@@ -56,9 +67,12 @@
 
 export const useWorkflow = () => {
   const { t } = useTranslation()
+  const { locale } = useContext(I18n)
   const store = useStoreApi()
   const workflowStore = useWorkflowStore()
+  const appId = useStore(s => s.appId)
   const nodesExtraData = useNodesExtraData()
+  const { data: workflowConfig } = useWorkflowConfig(appId)
   const setPanelWidth = useCallback((width: number) => {
     localStorage.setItem('workflow-node-panel-width', `${width}`)
     workflowStore.setState({ panelWidth: width })
@@ -74,7 +88,7 @@
     const currentNode = nodes.find(node => node.id === nodeId)
 
     if (currentNode?.parentId)
-      startNode = nodes.find(node => node.parentId === currentNode.parentId && (node.type === CUSTOM_ITERATION_START_NODE || node.type === CUSTOM_LOOP_START_NODE))
+      startNode = nodes.find(node => node.parentId === currentNode.parentId && node.type === CUSTOM_ITERATION_START_NODE)
 
     if (!startNode)
       return []
@@ -103,7 +117,7 @@
 
     list.push(...incomers)
 
-    return uniqBy(list, 'id').filter((item: Node) => {
+    return uniqBy(list, 'id').filter((item) => {
       return SUPPORT_OUTPUT_VARS_NODE.includes(item.data.type)
     })
   }, [store])
@@ -150,7 +164,7 @@
 
     const length = list.length
     if (length) {
-      return uniqBy(list, 'id').reverse().filter((item: Node) => {
+      return uniqBy(list, 'id').reverse().filter((item) => {
         return SUPPORT_OUTPUT_VARS_NODE.includes(item.data.type)
       })
     }
@@ -224,15 +238,6 @@
     return nodes.filter(node => node.parentId === nodeId)
   }, [store])
 
-  const getLoopNodeChildren = useCallback((nodeId: string) => {
-    const {
-      getNodes,
-    } = store.getState()
-    const nodes = getNodes()
-
-    return nodes.filter(node => node.parentId === nodeId)
-  }, [store])
-
   const isFromStartNode = useCallback((nodeId: string) => {
     const { getNodes } = store.getState()
     const nodes = getNodes()
@@ -274,7 +279,7 @@
       setNodes(newNodes)
     }
 
-    // eslint-disable-next-line react-hooks/exhaustive-deps
+  // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [store])
 
   const isVarUsedInNodes = useCallback((varSelector: ValueSelector) => {
@@ -327,7 +332,6 @@
       parallelList,
       hasAbnormalEdges,
     } = getParallelInfo(nodes, edges, parentNodeId)
-    const { workflowConfig } = workflowStore.getState()
 
     if (hasAbnormalEdges)
       return false
@@ -343,7 +347,7 @@
     }
 
     return true
-  }, [t, workflowStore])
+  }, [t, workflowStore, workflowConfig?.parallel_depth_limit])
 
   const isValidConnection = useCallback(({ source, sourceHandle, target }: Connection) => {
     const {
@@ -391,6 +395,10 @@
     return !hasCycle(targetNode)
   }, [store, nodesExtraData, checkParallelLimit])
 
+  const formatTimeFromNow = useCallback((time: number) => {
+    return dayjs(time).locale(locale === 'zh-Hans' ? 'zh-cn' : locale).fromNow()
+  }, [locale])
+
   const getNode = useCallback((nodeId?: string) => {
     const { getNodes } = store.getState()
     const nodes = getNodes()
@@ -412,10 +420,10 @@
     checkNestedParallelLimit,
     isValidConnection,
     isFromStartNode,
+    formatTimeFromNow,
     getNode,
     getBeforeNodeById,
     getIterationNodeChildren,
-    getLoopNodeChildren,
   }
 }
 
@@ -426,12 +434,6 @@
     if (type === 'builtin') {
       const buildInTools = await fetchAllBuiltInTools()
 
-      if (basePath) {
-        buildInTools.forEach((item) => {
-          if (typeof item.icon == 'string' && !item.icon.includes(basePath))
-            item.icon = `${basePath}${item.icon}`
-        })
-      }
       workflowStore.setState({
         buildInTools: buildInTools || [],
       })
@@ -454,6 +456,108 @@
 
   return {
     handleFetchAllTools,
+  }
+}
+
+export const useWorkflowInit = () => {
+  const workflowStore = useWorkflowStore()
+  const {
+    nodes: nodesTemplate,
+    edges: edgesTemplate,
+  } = useWorkflowTemplate()
+  const { handleFetchAllTools } = useFetchToolsData()
+  const appDetail = useAppStore(state => state.appDetail)!
+  const setSyncWorkflowDraftHash = useStore(s => s.setSyncWorkflowDraftHash)
+  const [data, setData] = useState<FetchWorkflowDraftResponse>()
+  const [isLoading, setIsLoading] = useState(true)
+  useEffect(() => {
+    workflowStore.setState({ appId: appDetail.id })
+  }, [appDetail.id, workflowStore])
+
+  const handleGetInitialWorkflowData = useCallback(async () => {
+    try {
+      const res = await fetchWorkflowDraft(`/apps/${appDetail.id}/workflows/draft`)
+      setData(res)
+      workflowStore.setState({
+        envSecrets: (res.environment_variables || []).filter(env => env.value_type === 'secret').reduce((acc, env) => {
+          acc[env.id] = env.value
+          return acc
+        }, {} as Record<string, string>),
+        environmentVariables: res.environment_variables?.map(env => env.value_type === 'secret' ? { ...env, value: '[__HIDDEN__]' } : env) || [],
+        // #TODO chatVar sync#
+        conversationVariables: res.conversation_variables || [],
+      })
+      setSyncWorkflowDraftHash(res.hash)
+      setIsLoading(false)
+    }
+    catch (error: any) {
+      if (error && error.json && !error.bodyUsed && appDetail) {
+        error.json().then((err: any) => {
+          if (err.code === 'draft_workflow_not_exist') {
+            workflowStore.setState({ notInitialWorkflow: true })
+            syncWorkflowDraft({
+              url: `/apps/${appDetail.id}/workflows/draft`,
+              params: {
+                graph: {
+                  nodes: nodesTemplate,
+                  edges: edgesTemplate,
+                },
+                features: {
+                  retriever_resource: { enabled: true },
+                },
+                environment_variables: [],
+                conversation_variables: [],
+              },
+            }).then((res) => {
+              workflowStore.getState().setDraftUpdatedAt(res.updated_at)
+              handleGetInitialWorkflowData()
+            })
+          }
+        })
+      }
+    }
+  }, [appDetail, nodesTemplate, edgesTemplate, workflowStore, setSyncWorkflowDraftHash])
+
+  useEffect(() => {
+    handleGetInitialWorkflowData()
+  // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [])
+
+  const handleFetchPreloadData = useCallback(async () => {
+    try {
+      const nodesDefaultConfigsData = await fetchNodesDefaultConfigs(`/apps/${appDetail?.id}/workflows/default-workflow-block-configs`)
+      const publishedWorkflow = await fetchPublishedWorkflow(`/apps/${appDetail?.id}/workflows/publish`)
+      workflowStore.setState({
+        nodesDefaultConfigs: nodesDefaultConfigsData.reduce((acc, block) => {
+          if (!acc[block.type])
+            acc[block.type] = { ...block.config }
+          return acc
+        }, {} as Record<string, any>),
+      })
+      workflowStore.getState().setPublishedAt(publishedWorkflow?.created_at)
+    }
+    catch (e) {
+
+    }
+  }, [workflowStore, appDetail])
+
+  useEffect(() => {
+    handleFetchPreloadData()
+    handleFetchAllTools('builtin')
+    handleFetchAllTools('custom')
+    handleFetchAllTools('workflow')
+  }, [handleFetchPreloadData, handleFetchAllTools])
+
+  useEffect(() => {
+    if (data) {
+      workflowStore.getState().setDraftUpdatedAt(data.updated_at)
+      workflowStore.getState().setToolPublished(data.tool_published)
+    }
+  }, [data, workflowStore])
+
+  return {
+    data,
+    isLoading,
   }
 }
 
@@ -505,7 +609,7 @@
         targetTools = customTools
       else
         targetTools = workflowTools
-      return targetTools.find(toolWithProvider => canFindTool(toolWithProvider.id, data.provider_id))?.icon
+      return targetTools.find(toolWithProvider => toolWithProvider.id === data.provider_id)?.icon
     }
   }, [data, buildInTools, customTools, workflowTools])
 
@@ -532,28 +636,5 @@
   }, [iterationId, store])
   return {
     isNodeInIteration,
-  }
-}
-
-export const useIsNodeInLoop = (loopId: string) => {
-  const store = useStoreApi()
-
-  const isNodeInLoop = useCallback((nodeId: string) => {
-    const {
-      getNodes,
-    } = store.getState()
-    const nodes = getNodes()
-    const node = nodes.find(node => node.id === nodeId)
-
-    if (!node)
-      return false
-
-    if (node.parentId === loopId)
-      return true
-
-    return false
-  }, [loopId, store])
-  return {
-    isNodeInLoop,
   }
 }
diff --git a/app/components/workflow/index.tsx b/app/components/workflow/index.tsx
index 549117f..2a0572b 100644
--- a/app/components/workflow/index.tsx
+++ b/app/components/workflow/index.tsx
@@ -5,8 +5,11 @@
   memo,
   useCallback,
   useEffect,
+  useMemo,
   useRef,
+  useState,
 } from 'react'
+import useSWR from 'swr'
 import { setAutoFreeze } from 'immer'
 import {
   useEventListener,
@@ -28,14 +31,17 @@
 import './style.css'
 import type {
   Edge,
+  EnvironmentVariable,
   Node,
 } from './types'
 import {
   ControlMode,
+  SupportUploadFileTypes,
 } from './types'
+import { WorkflowContextProvider } from './context'
 import {
+  useDSL,
   useEdgesInteractions,
-  useFetchToolsData,
   useNodesInteractions,
   useNodesReadOnly,
   useNodesSyncDraft,
@@ -43,81 +49,88 @@
   useSelectionInteractions,
   useShortcuts,
   useWorkflow,
+  useWorkflowInit,
   useWorkflowReadOnly,
-  useWorkflowRefreshDraft,
+  useWorkflowUpdate,
 } from './hooks'
+import Header from './header'
 import CustomNode from './nodes'
 import CustomNoteNode from './note-node'
 import { CUSTOM_NOTE_NODE } from './note-node/constants'
 import CustomIterationStartNode from './nodes/iteration-start'
 import { CUSTOM_ITERATION_START_NODE } from './nodes/iteration-start/constants'
-import CustomLoopStartNode from './nodes/loop-start'
-import { CUSTOM_LOOP_START_NODE } from './nodes/loop-start/constants'
-import CustomSimpleNode from './simple-node'
-import { CUSTOM_SIMPLE_NODE } from './simple-node/constants'
 import Operator from './operator'
 import CustomEdge from './custom-edge'
 import CustomConnectionLine from './custom-connection-line'
+import Panel from './panel'
+import Features from './features'
 import HelpLine from './help-line'
 import CandidateNode from './candidate-node'
 import PanelContextmenu from './panel-contextmenu'
 import NodeContextmenu from './node-contextmenu'
 import SyncingDataModal from './syncing-data-modal'
+import UpdateDSLModal from './update-dsl-modal'
+import DSLExportConfirmModal from './dsl-export-confirm-modal'
 import LimitTips from './limit-tips'
 import {
   useStore,
   useWorkflowStore,
 } from './store'
 import {
-  CUSTOM_EDGE,
+  initialEdges,
+  initialNodes,
+} from './utils'
+import {
   CUSTOM_NODE,
+  DSL_EXPORT_CHECK,
   ITERATION_CHILDREN_Z_INDEX,
   WORKFLOW_DATA_UPDATE,
 } from './constants'
 import { WorkflowHistoryProvider } from './workflow-history-store'
+import Loading from '@/app/components/base/loading'
+import { FeaturesProvider } from '@/app/components/base/features'
+import type { Features as FeaturesData } from '@/app/components/base/features/types'
+import { useFeaturesStore } from '@/app/components/base/features/hooks'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
 import Confirm from '@/app/components/base/confirm'
-import DatasetsDetailProvider from './datasets-detail-store/provider'
-import { HooksStoreContextProvider } from './hooks-store'
-import type { Shape as HooksStoreShape } from './hooks-store'
+import { FILE_EXTS } from '@/app/components/base/prompt-editor/constants'
+import { fetchFileUploadConfig } from '@/service/common'
 
 const nodeTypes = {
   [CUSTOM_NODE]: CustomNode,
   [CUSTOM_NOTE_NODE]: CustomNoteNode,
-  [CUSTOM_SIMPLE_NODE]: CustomSimpleNode,
   [CUSTOM_ITERATION_START_NODE]: CustomIterationStartNode,
-  [CUSTOM_LOOP_START_NODE]: CustomLoopStartNode,
 }
 const edgeTypes = {
-  [CUSTOM_EDGE]: CustomEdge,
+  [CUSTOM_NODE]: CustomEdge,
 }
 
-export type WorkflowProps = {
+type WorkflowProps = {
   nodes: Node[]
   edges: Edge[]
   viewport?: Viewport
-  children?: React.ReactNode
-  onWorkflowDataUpdate?: (v: any) => void
 }
-export const Workflow: FC<WorkflowProps> = memo(({
+const Workflow: FC<WorkflowProps> = memo(({
   nodes: originalNodes,
   edges: originalEdges,
   viewport,
-  children,
-  onWorkflowDataUpdate,
 }) => {
   const workflowContainerRef = useRef<HTMLDivElement>(null)
   const workflowStore = useWorkflowStore()
   const reactflow = useReactFlow()
+  const featuresStore = useFeaturesStore()
   const [nodes, setNodes] = useNodesState(originalNodes)
   const [edges, setEdges] = useEdgesState(originalEdges)
+  const showFeaturesPanel = useStore(state => state.showFeaturesPanel)
   const controlMode = useStore(s => s.controlMode)
   const nodeAnimation = useStore(s => s.nodeAnimation)
   const showConfirm = useStore(s => s.showConfirm)
+  const showImportDSLModal = useStore(s => s.showImportDSLModal)
 
   const {
     setShowConfirm,
     setControlPromptEditorRerenderKey,
+    setShowImportDSLModal,
     setSyncWorkflowDraftHash,
   } = workflowStore.getState()
   const {
@@ -126,6 +139,9 @@
   } = useNodesSyncDraft()
   const { workflowReadOnly } = useWorkflowReadOnly()
   const { nodesReadOnly } = useNodesReadOnly()
+
+  const [secretEnvList, setSecretEnvList] = useState<EnvironmentVariable[]>([])
+
   const { eventEmitter } = useEventEmitterContextContext()
 
   eventEmitter?.useSubscription((v: any) => {
@@ -136,13 +152,19 @@
       if (v.payload.viewport)
         reactflow.setViewport(v.payload.viewport)
 
+      if (v.payload.features && featuresStore) {
+        const { setFeatures } = featuresStore.getState()
+
+        setFeatures(v.payload.features)
+      }
+
       if (v.payload.hash)
         setSyncWorkflowDraftHash(v.payload.hash)
 
-      onWorkflowDataUpdate?.(v.payload)
-
       setTimeout(() => setControlPromptEditorRerenderKey(Date.now()))
     }
+    if (v.type === DSL_EXPORT_CHECK)
+      setSecretEnvList(v.payload.data as EnvironmentVariable[])
   })
 
   useEffect(() => {
@@ -160,7 +182,7 @@
     // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [])
 
-  const { handleRefreshWorkflowDraft } = useWorkflowRefreshDraft()
+  const { handleRefreshWorkflowDraft } = useWorkflowUpdate()
   const handleSyncWorkflowDraftWhenPageClose = useCallback(() => {
     if (document.visibilityState === 'hidden')
       syncWorkflowDraftWhenPageClose()
@@ -200,12 +222,6 @@
       })
     }
   })
-  const { handleFetchAllTools } = useFetchToolsData()
-  useEffect(() => {
-    handleFetchAllTools('builtin')
-    handleFetchAllTools('custom')
-    handleFetchAllTools('workflow')
-  }, [handleFetchAllTools])
 
   const {
     handleNodeDragStart,
@@ -233,10 +249,15 @@
   } = useSelectionInteractions()
   const {
     handlePaneContextMenu,
+    handlePaneContextmenuCancel,
   } = usePanelInteractions()
   const {
     isValidConnection,
   } = useWorkflow()
+  const {
+    exportCheck,
+    handleExportDSL,
+  } = useDSL()
 
   useOnViewportChange({
     onEnd: () => {
@@ -259,7 +280,7 @@
     <div
       id='workflow-container'
       className={`
-        relative h-full w-full min-w-[960px]
+        relative w-full min-w-[960px] h-full 
         ${workflowReadOnly && 'workflow-panel-animation'}
         ${nodeAnimation && 'workflow-node-animation'}
       `}
@@ -267,7 +288,12 @@
     >
       <SyncingDataModal />
       <CandidateNode />
+      <Header />
+      <Panel />
       <Operator handleRedo={handleHistoryForward} handleUndo={handleHistoryBack} />
+      {
+        showFeaturesPanel && <Features />
+      }
       <PanelContextmenu />
       <NodeContextmenu />
       <HelpLine />
@@ -282,8 +308,25 @@
           />
         )
       }
+      {
+        showImportDSLModal && (
+          <UpdateDSLModal
+            onCancel={() => setShowImportDSLModal(false)}
+            onBackup={exportCheck}
+            onImport={handlePaneContextmenuCancel}
+          />
+        )
+      }
+      {
+        secretEnvList.length > 0 && (
+          <DSLExportConfirmModal
+            envList={secretEnvList}
+            onConfirm={handleExportDSL}
+            onClose={() => setSecretEnvList([])}
+          />
+        )
+      }
       <LimitTips />
-      {children}
       <ReactFlow
         nodeTypes={nodeTypes}
         edgeTypes={edgeTypes}
@@ -307,7 +350,6 @@
         onSelectionDrag={handleSelectionDrag}
         onPaneContextMenu={handlePaneContextMenu}
         connectionLineComponent={CustomConnectionLine}
-        // TODO: For LOOP node, how to distinguish between ITERATION and LOOP here? Maybe both are the same?
         connectionLineContainerStyle={{ zIndex: ITERATION_CHILDREN_Z_INDEX }}
         defaultViewport={viewport}
         multiSelectionKeyCode={null}
@@ -316,7 +358,6 @@
         nodesConnectable={!nodesReadOnly}
         nodesFocusable={!nodesReadOnly}
         edgesFocusable={!nodesReadOnly}
-        panOnScroll={false}
         panOnDrag={controlMode === ControlMode.Hand && !workflowReadOnly}
         zoomOnPinch={!workflowReadOnly}
         zoomOnScroll={!workflowReadOnly}
@@ -337,43 +378,87 @@
     </div>
   )
 })
+Workflow.displayName = 'Workflow'
 
-type WorkflowWithInnerContextProps = WorkflowProps & {
-  hooksStore?: Partial<HooksStoreShape>
-}
-export const WorkflowWithInnerContext = memo(({
-  hooksStore,
-  ...restProps
-}: WorkflowWithInnerContextProps) => {
-  return (
-    <HooksStoreContextProvider {...hooksStore}>
-      <Workflow {...restProps} />
-    </HooksStoreContextProvider>
-  )
-})
+const WorkflowWrap = memo(() => {
+  const {
+    data,
+    isLoading,
+  } = useWorkflowInit()
+  const { data: fileUploadConfigResponse } = useSWR({ url: '/files/upload' }, fetchFileUploadConfig)
 
-type WorkflowWithDefaultContextProps =
-  Pick<WorkflowProps, 'edges' | 'nodes'>
-  & {
-    children: React.ReactNode
+  const nodesData = useMemo(() => {
+    if (data)
+      return initialNodes(data.graph.nodes, data.graph.edges)
+
+    return []
+  }, [data])
+  const edgesData = useMemo(() => {
+    if (data)
+      return initialEdges(data.graph.edges, data.graph.nodes)
+
+    return []
+  }, [data])
+
+  if (!data || isLoading) {
+    return (
+      <div className='flex justify-center items-center relative w-full h-full'>
+        <Loading />
+      </div>
+    )
   }
 
-const WorkflowWithDefaultContext = ({
-  nodes,
-  edges,
-  children,
-}: WorkflowWithDefaultContextProps) => {
+  const features = data.features || {}
+  const initialFeatures: FeaturesData = {
+    file: {
+      image: {
+        enabled: !!features.file_upload?.image?.enabled,
+        number_limits: features.file_upload?.image?.number_limits || 3,
+        transfer_methods: features.file_upload?.image?.transfer_methods || ['local_file', 'remote_url'],
+      },
+      enabled: !!(features.file_upload?.enabled || features.file_upload?.image?.enabled),
+      allowed_file_types: features.file_upload?.allowed_file_types || [SupportUploadFileTypes.image],
+      allowed_file_extensions: features.file_upload?.allowed_file_extensions || FILE_EXTS[SupportUploadFileTypes.image].map(ext => `.${ext}`),
+      allowed_file_upload_methods: features.file_upload?.allowed_file_upload_methods || features.file_upload?.image?.transfer_methods || ['local_file', 'remote_url'],
+      number_limits: features.file_upload?.number_limits || features.file_upload?.image?.number_limits || 3,
+      fileUploadConfig: fileUploadConfigResponse,
+    },
+    opening: {
+      enabled: !!features.opening_statement,
+      opening_statement: features.opening_statement,
+      suggested_questions: features.suggested_questions,
+    },
+    suggested: features.suggested_questions_after_answer || { enabled: false },
+    speech2text: features.speech_to_text || { enabled: false },
+    text2speech: features.text_to_speech || { enabled: false },
+    citation: features.retriever_resource || { enabled: false },
+    moderation: features.sensitive_word_avoidance || { enabled: false },
+  }
+
   return (
     <ReactFlowProvider>
       <WorkflowHistoryProvider
-        nodes={nodes}
-        edges={edges} >
-        <DatasetsDetailProvider nodes={nodes}>
-          {children}
-        </DatasetsDetailProvider>
+        nodes={nodesData}
+        edges={edgesData} >
+        <FeaturesProvider features={initialFeatures}>
+          <Workflow
+            nodes={nodesData}
+            edges={edgesData}
+            viewport={data?.graph.viewport}
+          />
+        </FeaturesProvider>
       </WorkflowHistoryProvider>
     </ReactFlowProvider>
   )
+})
+WorkflowWrap.displayName = 'WorkflowWrap'
+
+const WorkflowContainer = () => {
+  return (
+    <WorkflowContextProvider>
+      <WorkflowWrap />
+    </WorkflowContextProvider>
+  )
 }
 
-export default memo(WorkflowWithDefaultContext)
+export default memo(WorkflowContainer)
diff --git a/app/components/workflow/limit-tips.tsx b/app/components/workflow/limit-tips.tsx
index f0181bc..8e90ff2 100644
--- a/app/components/workflow/limit-tips.tsx
+++ b/app/components/workflow/limit-tips.tsx
@@ -13,24 +13,24 @@
     return null
 
   return (
-    <div className='absolute bottom-16 left-1/2 z-[9] flex h-10 -translate-x-1/2 items-center rounded-xl border border-components-panel-border bg-components-panel-bg-blur p-2 shadow-md'>
+    <div className='absolute bottom-16 left-1/2 -translate-x-1/2 flex items-center rounded-xl p-2 h-10 border border-components-panel-border bg-components-panel-bg-blur shadow-md z-[9]'>
       <div
-        className='absolute inset-0 rounded-xl opacity-[0.4]'
+        className='absolute inset-0 opacity-[0.4] rounded-xl'
         style={{
           background: 'linear-gradient(92deg, rgba(247, 144, 9, 0.25) 0%, rgba(255, 255, 255, 0.00) 100%)',
         }}
       ></div>
-      <div className='flex h-5 w-5 items-center justify-center'>
-        <RiAlertFill className='h-4 w-4 text-text-warning-secondary' />
+      <div className='flex items-center justify-center w-5 h-5'>
+        <RiAlertFill className='w-4 h-4 text-text-warning-secondary' />
       </div>
-      <div className='system-xs-medium mx-1 px-1 text-text-primary'>
+      <div className='mx-1 px-1 system-xs-medium text-text-primary'>
         {showTips}
       </div>
       <ActionButton
         className='z-[1]'
         onClick={() => setShowTips('')}
       >
-        <RiCloseLine className='h-4 w-4' />
+        <RiCloseLine className='w-4 h-4' />
       </ActionButton>
     </div>
   )
diff --git a/app/components/workflow/nodes/_base/components/add-button.tsx b/app/components/workflow/nodes/_base/components/add-button.tsx
index 5b75726..1e7323c 100644
--- a/app/components/workflow/nodes/_base/components/add-button.tsx
+++ b/app/components/workflow/nodes/_base/components/add-button.tsx
@@ -25,7 +25,7 @@
       size='medium'
       onClick={onClick}
     >
-      <RiAddLine className='mr-1 h-3.5 w-3.5' />
+      <RiAddLine className='mr-1 w-3.5 h-3.5' />
       <div>{text}</div>
     </Button>
   )
diff --git a/app/components/workflow/nodes/_base/components/add-variable-popup-with-position.tsx b/app/components/workflow/nodes/_base/components/add-variable-popup-with-position.tsx
index d0f971f..657b910 100644
--- a/app/components/workflow/nodes/_base/components/add-variable-popup-with-position.tsx
+++ b/app/components/workflow/nodes/_base/components/add-variable-popup-with-position.tsx
@@ -29,7 +29,7 @@
   nodeId,
   nodeData,
 }: AddVariablePopupWithPositionProps) => {
-  const ref = useRef<HTMLDivElement>(null)
+  const ref = useRef(null)
   const showAssignVariablePopup = useStore(s => s.showAssignVariablePopup)
   const setShowAssignVariablePopup = useStore(s => s.setShowAssignVariablePopup)
   const { handleNodeDataUpdate } = useNodeDataUpdate()
diff --git a/app/components/workflow/nodes/_base/components/add-variable-popup.tsx b/app/components/workflow/nodes/_base/components/add-variable-popup.tsx
index a7a3a89..d44a644 100644
--- a/app/components/workflow/nodes/_base/components/add-variable-popup.tsx
+++ b/app/components/workflow/nodes/_base/components/add-variable-popup.tsx
@@ -18,8 +18,8 @@
   const { t } = useTranslation()
 
   return (
-    <div className='w-[240px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg'>
-      <div className='flex h-[34px] items-center border-b-[0.5px] border-b-divider-regular px-4 text-[13px] font-semibold text-text-secondary'>
+    <div className='w-[240px] bg-white border-[0.5px] border-gray-200 rounded-lg shadow-lg'>
+      <div className='flex items-center px-4 h-[34px] text-[13px] font-semibold text-gray-700 border-b-[0.5px] border-b-gray-200'>
         {t('workflow.nodes.variableAssigner.setAssignVariable')}
       </div>
       <div className='p-1'>
diff --git a/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx b/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx
index 9f415ad..e2ca592 100644
--- a/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx
+++ b/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx
@@ -1,6 +1,6 @@
 'use client'
 import type { FC } from 'react'
-import React, { useCallback, useMemo } from 'react'
+import React, { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
 import produce from 'immer'
 import {
@@ -24,7 +24,6 @@
 import { BubbleX } from '@/app/components/base/icons/src/vender/line/others'
 import { FILE_EXTS } from '@/app/components/base/prompt-editor/constants'
 import cn from '@/utils/classnames'
-import type { FileEntity } from '@/app/components/base/file-uploader/types'
 
 type Props = {
   payload: InputVar
@@ -67,22 +66,22 @@
     if (typeof payload.label === 'object') {
       const { nodeType, nodeName, variable, isChatVar } = payload.label
       return (
-        <div className='flex h-full items-center'>
+        <div className='h-full flex items-center'>
           {!isChatVar && (
             <div className='flex items-center'>
               <div className='p-[1px]'>
                 <VarBlockIcon type={nodeType || BlockEnum.Start} />
               </div>
-              <div className='mx-0.5 max-w-[150px] truncate text-xs font-medium text-gray-700' title={nodeName}>
+              <div className='mx-0.5 text-xs font-medium text-gray-700 max-w-[150px] truncate' title={nodeName}>
                 {nodeName}
               </div>
               <Line3 className='mr-0.5'></Line3>
             </div>
           )}
           <div className='flex items-center text-primary-600'>
-            {!isChatVar && <Variable02 className='h-3.5 w-3.5' />}
-            {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
-            <div className={cn('ml-0.5 max-w-[150px] truncate text-xs font-medium', isChatVar && 'text-text-secondary')} title={variable} >
+            {!isChatVar && <Variable02 className='w-3.5 h-3.5' />}
+            {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
+            <div className={cn('ml-0.5 text-xs font-medium max-w-[150px] truncate', isChatVar && 'text-text-secondary')} title={variable} >
               {variable}
             </div>
           </div>
@@ -95,27 +94,12 @@
   const isArrayLikeType = [InputVarType.contexts, InputVarType.iterator].includes(type)
   const isContext = type === InputVarType.contexts
   const isIterator = type === InputVarType.iterator
-  const singleFileValue = useMemo(() => {
-    if (payload.variable === '#files#')
-      return value?.[0] || []
-
-    return value ? [value] : []
-  }, [payload.variable, value])
-  const handleSingleFileChange = useCallback((files: FileEntity[]) => {
-    if (payload.variable === '#files#')
-      onChange(files)
-    else if (files.length)
-      onChange(files[0])
-    else
-      onChange(null)
-  }, [onChange, payload.variable])
-
   return (
     <div className={cn(className)}>
       {!isArrayLikeType && (
-        <div className='system-sm-semibold mb-1 flex h-6 items-center gap-1 text-text-secondary'>
+        <div className='h-6 mb-1 flex items-center gap-1 text-text-secondary system-sm-semibold'>
           <div className='truncate'>{typeof payload.label === 'object' ? nodeKey : payload.label}</div>
-          {!payload.required && <span className='system-xs-regular text-text-tertiary'>{t('workflow.panel.optional')}</span>}
+          {!payload.required && <span className='text-text-tertiary system-xs-regular'>{t('workflow.panel.optional')}</span>}
         </div>
       )}
       <div className='grow'>
@@ -177,8 +161,13 @@
         }
         {(type === InputVarType.singleFile) && (
           <FileUploaderInAttachmentWrapper
-            value={singleFileValue}
-            onChange={handleSingleFileChange}
+            value={value ? [value] : []}
+            onChange={(files) => {
+              if (files.length)
+                onChange(files[0])
+              else
+                onChange(null)
+            }}
             fileConfig={{
               allowed_file_types: inStepRun
                 ? [
@@ -259,7 +248,7 @@
                     (value as any).length > 1
                       ? (<RiDeleteBinLine
                         onClick={handleArrayItemRemove(index)}
-                        className='mr-1 h-3.5 w-3.5 cursor-pointer text-text-tertiary'
+                        className='mr-1 w-3.5 h-3.5 text-text-tertiary cursor-pointer'
                       />)
                       : undefined
                   }
@@ -285,7 +274,7 @@
                     (value as any).length > 1
                       ? (<RiDeleteBinLine
                         onClick={handleArrayItemRemove(index)}
-                        className='mr-1 h-3.5 w-3.5 cursor-pointer text-text-tertiary'
+                        className='mr-1 w-3.5 h-3.5 text-text-tertiary cursor-pointer'
                       />)
                       : undefined
                   }
diff --git a/app/components/workflow/nodes/_base/components/before-run-form/form.tsx b/app/components/workflow/nodes/_base/components/before-run-form/form.tsx
index 884729c..967e796 100644
--- a/app/components/workflow/nodes/_base/components/before-run-form/form.tsx
+++ b/app/components/workflow/nodes/_base/components/before-run-form/form.tsx
@@ -1,6 +1,6 @@
 'use client'
 import type { FC } from 'react'
-import React, { useCallback, useEffect, useMemo, useRef } from 'react'
+import React, { useCallback, useMemo } from 'react'
 import produce from 'immer'
 import type { InputVar } from '../../../../types'
 import FormItem from './form-item'
@@ -46,20 +46,17 @@
 
     return m
   }, [inputs])
-  const valuesRef = useRef(values)
-  useEffect(() => {
-    valuesRef.current = values
-  }, [values])
+
   const handleChange = useCallback((key: string) => {
     const mKeys = mapKeysWithSameValueSelector.get(key) ?? [key]
     return (value: any) => {
-      const newValues = produce(valuesRef.current, (draft) => {
+      const newValues = produce(values, (draft) => {
         for (const k of mKeys)
           draft[k] = value
       })
       onChange(newValues)
     }
-  }, [valuesRef, onChange, mapKeysWithSameValueSelector])
+  }, [values, onChange, mapKeysWithSameValueSelector])
   const isArrayLikeType = [InputVarType.contexts, InputVarType.iterator].includes(inputs[0]?.type)
   const isContext = inputs[0]?.type === InputVarType.contexts
   const handleAddContext = useCallback(() => {
@@ -74,7 +71,7 @@
     <div className={cn(className, 'space-y-2')}>
       {label && (
         <div className='mb-1 flex items-center justify-between'>
-          <div className='system-xs-medium-uppercase flex h-6 items-center text-text-tertiary'>{label}</div>
+          <div className='flex items-center h-6 system-xs-medium-uppercase text-text-tertiary'>{label}</div>
           {isArrayLikeType && (
             <AddButton onClick={handleAddContext} />
           )}
diff --git a/app/components/workflow/nodes/_base/components/before-run-form/index.tsx b/app/components/workflow/nodes/_base/components/before-run-form/index.tsx
index ad8d0b9..d7e2a95 100644
--- a/app/components/workflow/nodes/_base/components/before-run-form/index.tsx
+++ b/app/components/workflow/nodes/_base/components/before-run-form/index.tsx
@@ -17,10 +17,10 @@
 import Toast from '@/app/components/base/toast'
 import { TransferMethod } from '@/types/app'
 import { getProcessedFiles } from '@/app/components/base/file-uploader/utils'
+import type { NodeTracing } from '@/types/workflow'
+import RetryResultPanel from '@/app/components/workflow/run/retry-result-panel'
 import type { BlockEnum } from '@/app/components/workflow/types'
 import type { Emoji } from '@/app/components/tools/types'
-import type { SpecialResultPanelProps } from '@/app/components/workflow/run/special-result-panel'
-import SpecialResultPanel from '@/app/components/workflow/run/special-result-panel'
 
 const i18nPrefix = 'workflow.singleRun'
 
@@ -32,14 +32,15 @@
   onRun: (submitData: Record<string, any>) => void
   onStop: () => void
   runningStatus: NodeRunningStatus
-  result?: React.JSX.Element
+  result?: JSX.Element
   forms: FormProps[]
-  showSpecialResultPanel?: boolean
-} & Partial<SpecialResultPanelProps>
+  retryDetails?: NodeTracing[]
+  onRetryDetailBack?: any
+}
 
 function formatValue(value: string | any, type: InputVarType) {
   if (type === InputVarType.number)
-    return Number.parseFloat(value)
+    return parseFloat(value)
   if (type === InputVarType.json)
     return JSON.parse(value)
   if (type === InputVarType.contexts) {
@@ -50,11 +51,8 @@
   if (type === InputVarType.multiFiles)
     return getProcessedFiles(value)
 
-  if (type === InputVarType.singleFile) {
-    if (Array.isArray(value))
-      return getProcessedFiles(value)
+  if (type === InputVarType.singleFile)
     return getProcessedFiles([value])[0]
-  }
 
   return value
 }
@@ -68,8 +66,8 @@
   runningStatus,
   result,
   forms,
-  showSpecialResultPanel,
-  ...restResultPanelParams
+  retryDetails,
+  onRetryDetailBack = () => { },
 }) => {
   const { t } = useTranslation()
 
@@ -91,20 +89,9 @@
     let errMsg = ''
     forms.forEach((form) => {
       form.inputs.forEach((input) => {
-        const value = form.values[input.variable] as any
+        const value = form.values[input.variable]
         if (!errMsg && input.required && (value === '' || value === undefined || value === null || (input.type === InputVarType.files && value.length === 0)))
           errMsg = t('workflow.errorMsg.fieldRequired', { field: typeof input.label === 'object' ? input.label.variable : input.label })
-
-        if (!errMsg && (input.type === InputVarType.singleFile || input.type === InputVarType.multiFiles) && value) {
-          let fileIsUploading = false
-          if (Array.isArray(value))
-            fileIsUploading = value.find(item => item.transferMethod === TransferMethod.local_file && !item.uploadedId)
-          else
-            fileIsUploading = value.transferMethod === TransferMethod.local_file && !value.uploadedId
-
-          if (fileIsUploading)
-            errMsg = t('appDebug.errorMessage.waitForFileUpload')
-        }
       })
     })
     if (errMsg) {
@@ -123,7 +110,7 @@
           const value = formatValue(form.values[input.variable], input.type)
           submitData[input.variable] = value
         }
-        catch {
+        catch (e) {
           parseErrorJsonField = input.variable
         }
       })
@@ -139,29 +126,41 @@
     onRun(submitData)
   }, [forms, onRun, t])
   return (
-    <div className='absolute inset-0 z-10 rounded-2xl bg-background-overlay-alt pt-10'>
-      <div className='flex h-full flex-col rounded-2xl bg-components-panel-bg'>
-        <div className='flex h-8 shrink-0 items-center justify-between pl-4 pr-3 pt-3'>
-          <div className='truncate text-base font-semibold text-text-primary'>
+    <div className='absolute inset-0 z-10 rounded-2xl pt-10' style={{
+      backgroundColor: 'rgba(16, 24, 40, 0.20)',
+    }}>
+      <div className='h-full rounded-2xl bg-white flex flex-col'>
+        <div className='shrink-0 flex justify-between items-center h-8 pl-4 pr-3 pt-3'>
+          <div className='text-base font-semibold text-gray-900 truncate'>
             {t(`${i18nPrefix}.testRun`)} {nodeName}
           </div>
-          <div className='ml-2 shrink-0 cursor-pointer p-1' onClick={() => {
+          <div className='ml-2 shrink-0 p-1 cursor-pointer' onClick={() => {
             onHide()
           }}>
-            <RiCloseLine className='h-4 w-4 text-text-tertiary ' />
+            <RiCloseLine className='w-4 h-4 text-gray-500 ' />
           </div>
         </div>
         {
-          showSpecialResultPanel && (
+          retryDetails?.length && (
             <div className='h-0 grow overflow-y-auto pb-4'>
-              <SpecialResultPanel {...restResultPanelParams} />
+              <RetryResultPanel
+                list={retryDetails.map((item, index) => ({
+                  ...item,
+                  title: `${t('workflow.nodes.common.retry.retry')} ${index + 1}`,
+                  node_type: nodeType!,
+                  extras: {
+                    icon: toolIcon!,
+                  },
+                }))}
+                onBack={onRetryDetailBack}
+              />
             </div>
           )
         }
         {
-          !showSpecialResultPanel && (
+          !retryDetails?.length && (
             <div className='h-0 grow overflow-y-auto pb-4'>
-              <div className='mt-3 space-y-4 px-4'>
+              <div className='mt-3 px-4 space-y-4'>
                 {forms.map((form, index) => (
                   <div key={index}>
                     <Form
@@ -176,14 +175,14 @@
               <div className='mt-4 flex justify-between space-x-2 px-4' >
                 {isRunning && (
                   <div
-                    className='cursor-pointer rounded-lg border border-divider-regular bg-components-button-secondary-bg p-2 shadow-xs'
+                    className='p-2 rounded-lg border border-gray-200 bg-white shadow-xs cursor-pointer'
                     onClick={onStop}
                   >
-                    <StopCircle className='h-4 w-4 text-text-tertiary' />
+                    <StopCircle className='w-4 h-4 text-gray-500' />
                   </div>
                 )}
                 <Button disabled={!isFileLoaded || isRunning} variant='primary' className='w-0 grow space-x-2' onClick={handleRun}>
-                  {isRunning && <RiLoader2Line className='h-4 w-4 animate-spin' />}
+                  {isRunning && <RiLoader2Line className='animate-spin w-4 h-4 text-white' />}
                   <div>{t(`${i18nPrefix}.${isRunning ? 'running' : 'startRun'}`)}</div>
                 </Button>
               </div>
diff --git a/app/components/workflow/nodes/_base/components/code-generator-button.tsx b/app/components/workflow/nodes/_base/components/code-generator-button.tsx
index 42671e6..7f3a71d 100644
--- a/app/components/workflow/nodes/_base/components/code-generator-button.tsx
+++ b/app/components/workflow/nodes/_base/components/code-generator-button.tsx
@@ -31,7 +31,7 @@
       <ActionButton
         className='hover:bg-[#155EFF]/8'
         onClick={showAutomaticTrue}>
-        <Generator className='h-4 w-4 text-primary-600' />
+        <Generator className='w-4 h-4 text-primary-600' />
       </ActionButton>
       {showAutomatic && (
         <GetCodeGeneratorResModal
diff --git a/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx b/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx
index 2390dfd..7d2698a 100644
--- a/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx
+++ b/app/components/workflow/nodes/_base/components/collapse/field-collapse.tsx
@@ -1,29 +1,19 @@
-import type { ReactNode } from 'react'
 import Collapse from '.'
 
 type FieldCollapseProps = {
   title: string
-  children: ReactNode
-  collapsed?: boolean
-  onCollapse?: (collapsed: boolean) => void
-  operations?: ReactNode
+  children: JSX.Element
 }
 const FieldCollapse = ({
   title,
   children,
-  collapsed,
-  onCollapse,
-  operations,
 }: FieldCollapseProps) => {
   return (
     <div className='py-4'>
       <Collapse
         trigger={
-          <div className='system-sm-semibold-uppercase flex h-6 cursor-pointer items-center text-text-secondary'>{title}</div>
+          <div className='flex items-center h-6 system-sm-semibold-uppercase text-text-secondary cursor-pointer'>{title}</div>
         }
-        operations={operations}
-        collapsed={collapsed}
-        onCollapse={onCollapse}
       >
         <div className='px-4'>
           {children}
diff --git a/app/components/workflow/nodes/_base/components/collapse/index.tsx b/app/components/workflow/nodes/_base/components/collapse/index.tsx
index 16fba88..a798ff0 100644
--- a/app/components/workflow/nodes/_base/components/collapse/index.tsx
+++ b/app/components/workflow/nodes/_base/components/collapse/index.tsx
@@ -1,18 +1,15 @@
-import type { ReactNode } from 'react'
-import { useMemo, useState } from 'react'
-import { ArrowDownRoundFill } from '@/app/components/base/icons/src/vender/solid/general'
+import { useState } from 'react'
+import { RiArrowDropRightLine } from '@remixicon/react'
 import cn from '@/utils/classnames'
 
 export { default as FieldCollapse } from './field-collapse'
 
 type CollapseProps = {
   disabled?: boolean
-  trigger: React.JSX.Element | ((collapseIcon: React.JSX.Element | null) => React.JSX.Element)
-  children: React.JSX.Element
+  trigger: JSX.Element
+  children: JSX.Element
   collapsed?: boolean
   onCollapse?: (collapsed: boolean) => void
-  operations?: ReactNode
-  hideCollapseIcon?: boolean
 }
 const Collapse = ({
   disabled,
@@ -20,44 +17,34 @@
   children,
   collapsed,
   onCollapse,
-  operations,
-  hideCollapseIcon,
 }: CollapseProps) => {
   const [collapsedLocal, setCollapsedLocal] = useState(true)
   const collapsedMerged = collapsed !== undefined ? collapsed : collapsedLocal
-  const collapseIcon = useMemo(() => {
-    if (disabled)
-      return null
 
-    return (
-      <ArrowDownRoundFill
-        className={cn(
-          'h-4 w-4 cursor-pointer text-text-quaternary group-hover/collapse:text-text-secondary',
-          collapsedMerged && 'rotate-[270deg]',
-        )}
-      />
-    )
-  }, [collapsedMerged, disabled])
   return (
     <>
-      <div className='group/collapse flex items-center'>
-        <div
-          className='ml-4 flex grow items-center'
-          onClick={() => {
-            if (!disabled) {
-              setCollapsedLocal(!collapsedMerged)
-              onCollapse?.(!collapsedMerged)
-            }
-          }}
-        >
-          {typeof trigger === 'function' ? trigger(collapseIcon) : trigger}
-          {!hideCollapseIcon && (
-            <div className='h-4 w-4 shrink-0'>
-              {collapseIcon}
-            </div>
-          )}
+      <div
+        className='flex items-center'
+        onClick={() => {
+          if (!disabled) {
+            setCollapsedLocal(!collapsedMerged)
+            onCollapse?.(!collapsedMerged)
+          }
+        }}
+      >
+        <div className='shrink-0 w-4 h-4'>
+          {
+            !disabled && (
+              <RiArrowDropRightLine
+                className={cn(
+                  'w-4 h-4 text-text-tertiary',
+                  !collapsedMerged && 'transform rotate-90',
+                )}
+              />
+            )
+          }
         </div>
-        {operations}
+        {trigger}
       </div>
       {
         !collapsedMerged && children
diff --git a/app/components/workflow/nodes/_base/components/editor/base.tsx b/app/components/workflow/nodes/_base/components/editor/base.tsx
index 38968b2..ead88b8 100644
--- a/app/components/workflow/nodes/_base/components/editor/base.tsx
+++ b/app/components/workflow/nodes/_base/components/editor/base.tsx
@@ -18,9 +18,9 @@
 
 type Props = {
   className?: string
-  title: React.JSX.Element | string
-  headerRight?: React.JSX.Element
-  children: React.JSX.Element
+  title: JSX.Element | string
+  headerRight?: JSX.Element
+  children: JSX.Element
   minHeight?: number
   value: string
   isFocus: boolean
@@ -33,7 +33,7 @@
   }[]
   showFileList?: boolean
   showCodeGenerator?: boolean
-  tip?: React.JSX.Element
+  tip?: JSX.Element
 }
 
 const Base: FC<Props> = ({
@@ -75,8 +75,8 @@
 
   return (
     <Wrap className={cn(wrapClassName)} style={wrapStyle} isInNode={isInNode} isExpand={isExpand}>
-      <div ref={ref} className={cn(className, isExpand && 'h-full', 'rounded-lg border', isFocus ? 'border-transparent bg-components-input-bg-normal' : 'overflow-hidden border-components-input-border-hover bg-components-input-bg-hover')}>
-        <div className='flex h-7 items-center justify-between pl-3 pr-2 pt-1'>
+      <div ref={ref} className={cn(className, isExpand && 'h-full', 'rounded-lg border', isFocus ? 'bg-components-input-bg-normal border-transparent' : 'bg-components-input-bg-hover border-components-input-border-hover overflow-hidden')}>
+        <div className='flex justify-between items-center h-7 pt-1 pl-3 pr-2'>
           <div className='system-xs-semibold-uppercase text-text-secondary'>{title}</div>
           <div className='flex items-center' onClick={(e) => {
             e.nativeEvent.stopImmediatePropagation()
@@ -85,15 +85,15 @@
             {headerRight}
             {showCodeGenerator && codeLanguages && (
               <div className='ml-1'>
-                <CodeGeneratorButton onGenerated={onGenerated} codeLanguages={codeLanguages} />
+                <CodeGeneratorButton onGenerated={onGenerated} codeLanguages={codeLanguages}/>
               </div>
             )}
             {!isCopied
               ? (
-                <Clipboard className='mx-1 h-3.5 w-3.5 cursor-pointer text-text-tertiary' onClick={handleCopy} />
+                <Clipboard className='mx-1 w-3.5 h-3.5 text-text-tertiary cursor-pointer' onClick={handleCopy} />
               )
               : (
-                <ClipboardCheck className='mx-1 h-3.5 w-3.5 text-text-tertiary' />
+                <ClipboardCheck className='mx-1 w-3.5 h-3.5 text-text-tertiary' />
               )
             }
 
@@ -109,7 +109,7 @@
           onHeightChange={setEditorContentHeight}
           hideResize={isExpand}
         >
-          <div className='h-full pb-2 pl-2'>
+          <div className='h-full pb-2'>
             {children}
           </div>
         </PromptEditorHeightResizeWrap>
diff --git a/app/components/workflow/nodes/_base/components/editor/code-editor/editor-support-vars.tsx b/app/components/workflow/nodes/_base/components/editor/code-editor/editor-support-vars.tsx
index 7798ed3..db2425c 100644
--- a/app/components/workflow/nodes/_base/components/editor/code-editor/editor-support-vars.tsx
+++ b/app/components/workflow/nodes/_base/components/editor/code-editor/editor-support-vars.tsx
@@ -84,15 +84,15 @@
 
   const getUniqVarName = (varName: string) => {
     if (varList.find(v => v.variable === varName)) {
-      const match = varName.match(/_(\d+)$/)
+      const match = varName.match(/_([0-9]+)$/)
 
       const index = (() => {
         if (match)
-          return Number.parseInt(match[1]!) + 1
+          return parseInt(match[1]!) + 1
 
         return 1
       })()
-      return getUniqVarName(`${varName.replace(/_(\d+)$/, '')}_${index}`)
+      return getUniqVarName(`${varName.replace(/_([0-9]+)$/, '')}_${index}`)
     }
     return varName
   }
@@ -148,7 +148,7 @@
       {isShowVarPicker && (
         <div
           ref={popupRef}
-          className='w-[228px] space-y-1 rounded-lg border border-gray-200 bg-white p-1 shadow-lg'
+          className='w-[228px] p-1 bg-white rounded-lg border border-gray-200 shadow-lg space-y-1'
           style={{
             position: 'fixed',
             top: popupPosition.y,
diff --git a/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx b/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx
index 1fac467..db04289 100644
--- a/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx
+++ b/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx
@@ -3,29 +3,26 @@
 import Editor, { loader } from '@monaco-editor/react'
 import React, { useEffect, useMemo, useRef, useState } from 'react'
 import Base from '../base'
-import { WEB_PREFIX } from '@/config'
 import cn from '@/utils/classnames'
 import { CodeLanguage } from '@/app/components/workflow/nodes/code/types'
 import {
   getFilesInLogs,
 } from '@/app/components/base/file-uploader/utils'
-import { Theme } from '@/types/app'
-import useTheme from '@/hooks/use-theme'
+
 import './style.css'
-import { noop } from 'lodash-es'
 
 // load file from local instead of cdn https://github.com/suren-atoyan/monaco-react/issues/482
-loader.config({ paths: { vs: `${WEB_PREFIX}/vs` } })
+loader.config({ paths: { vs: '/vs' } })
 
 const CODE_EDITOR_LINE_HEIGHT = 18
 
 export type Props = {
   value?: string | object
-  placeholder?: React.JSX.Element | string
+  placeholder?: JSX.Element | string
   onChange?: (value: string) => void
-  title?: React.JSX.Element
+  title?: JSX.Element
   language: CodeLanguage
-  headerRight?: React.JSX.Element
+  headerRight?: JSX.Element
   readOnly?: boolean
   isJSONStringifyBeauty?: boolean
   height?: number
@@ -37,7 +34,7 @@
   onGenerated?: (value: string) => void
   showCodeGenerator?: boolean
   className?: string
-  tip?: React.JSX.Element
+  tip?: JSX.Element
 }
 
 export const languageMap = {
@@ -46,10 +43,19 @@
   [CodeLanguage.json]: 'json',
 }
 
+const DEFAULT_THEME = {
+  base: 'vs',
+  inherit: true,
+  rules: [],
+  colors: {
+    'editor.background': '#F2F4F7', // #00000000 transparent. But it will has a blue border
+  },
+}
+
 const CodeEditor: FC<Props> = ({
   value = '',
   placeholder = '',
-  onChange = noop,
+  onChange = () => { },
   title = '',
   headerRight,
   language,
@@ -70,7 +76,7 @@
   const [isMounted, setIsMounted] = React.useState(false)
   const minHeight = height || 200
   const [editorContentHeight, setEditorContentHeight] = useState(56)
-  const { theme: appTheme } = useTheme()
+
   const valueRef = useRef(value)
   useEffect(() => {
     valueRef.current = value
@@ -108,7 +114,27 @@
       setIsFocus(false)
     })
 
-    monaco.editor.setTheme(appTheme === Theme.light ? 'light' : 'vs-dark') // Fix: sometimes not load the default theme
+    monaco.editor.defineTheme('default-theme', DEFAULT_THEME)
+
+    monaco.editor.defineTheme('blur-theme', {
+      base: 'vs',
+      inherit: true,
+      rules: [],
+      colors: {
+        'editor.background': '#F2F4F7',
+      },
+    })
+
+    monaco.editor.defineTheme('focus-theme', {
+      base: 'vs',
+      inherit: true,
+      rules: [],
+      colors: {
+        'editor.background': '#ffffff',
+      },
+    })
+
+    monaco.editor.setTheme('default-theme') // Fix: sometimes not load the default theme
 
     onMount?.(editor, monaco)
     setIsMounted(true)
@@ -120,16 +146,17 @@
     try {
       return JSON.stringify(value as object, null, 2)
     }
-    catch {
+    catch (e) {
       return value as string
     }
   })()
 
-  const theme = useMemo(() => {
-    if (appTheme === Theme.light)
-      return 'light'
-    return 'vs-dark'
-  }, [appTheme])
+  const theme = (() => {
+    if (noWrapper)
+      return 'default-theme'
+
+    return isFocus ? 'focus-theme' : 'blur-theme'
+  })()
 
   const main = (
     <>
@@ -159,14 +186,14 @@
         }}
         onMount={handleEditorDidMount}
       />
-      {!outPutValue && !isFocus && <div className='pointer-events-none absolute left-[36px] top-0 text-[13px] font-normal leading-[18px] text-gray-300'>{placeholder}</div>}
+      {!outPutValue && !isFocus && <div className='pointer-events-none absolute left-[36px] top-0 leading-[18px] text-[13px] font-normal text-gray-300'>{placeholder}</div>}
     </>
   )
 
   return (
     <div className={cn(isExpand && 'h-full', className)}>
       {noWrapper
-        ? <div className='no-wrapper relative' style={{
+        ? <div className='relative no-wrapper' style={{
           height: isExpand ? '100%' : (editorContentHeight) / 2 + CODE_EDITOR_LINE_HEIGHT, // In IDE, the last line can always be in lop line. So there is some blank space in the bottom.
           minHeight: CODE_EDITOR_LINE_HEIGHT,
         }}>
diff --git a/app/components/workflow/nodes/_base/components/editor/code-editor/style.css b/app/components/workflow/nodes/_base/components/editor/code-editor/style.css
index d364c1f..3a66242 100644
--- a/app/components/workflow/nodes/_base/components/editor/code-editor/style.css
+++ b/app/components/workflow/nodes/_base/components/editor/code-editor/style.css
@@ -1,16 +1,12 @@
+.margin-view-overlays {
+  padding-left: 10px;
+}
 
-.monaco-editor {
-  background-color: transparent !important;
-  outline: none !important;
-}
-.monaco-editor .monaco-editor-background {
-  background-color: transparent !important;
-}
-.monaco-editor .margin {
-  background-color: transparent !important;
+.no-wrapper .margin-view-overlays {
+  padding-left: 0;
 }
 
 /* hide readonly tooltip */
 .monaco-editor-overlaymessage {
   display: none !important;
-}
+}
\ No newline at end of file
diff --git a/app/components/workflow/nodes/_base/components/editor/text-editor.tsx b/app/components/workflow/nodes/_base/components/editor/text-editor.tsx
index 252f69c..eaffcac 100644
--- a/app/components/workflow/nodes/_base/components/editor/text-editor.tsx
+++ b/app/components/workflow/nodes/_base/components/editor/text-editor.tsx
@@ -7,8 +7,8 @@
 type Props = {
   value: string
   onChange: (value: string) => void
-  title: React.JSX.Element | string
-  headerRight?: React.JSX.Element
+  title: JSX.Element | string
+  headerRight?: JSX.Element
   minHeight?: number
   onBlur?: () => void
   placeholder?: string
@@ -52,7 +52,7 @@
           onChange={e => onChange(e.target.value)}
           onFocus={setIsFocus}
           onBlur={handleBlur}
-          className='h-full w-full resize-none border-none bg-transparent px-3 text-[13px] font-normal leading-[18px] text-gray-900 placeholder:text-gray-300 focus:outline-none'
+          className='w-full h-full px-3 resize-none bg-transparent border-none focus:outline-none leading-[18px] text-[13px] font-normal text-gray-900 placeholder:text-gray-300'
           placeholder={placeholder}
           readOnly={readonly}
         />
diff --git a/app/components/workflow/nodes/_base/components/error-handle/default-value.tsx b/app/components/workflow/nodes/_base/components/error-handle/default-value.tsx
index 51969f8..45c23fc 100644
--- a/app/components/workflow/nodes/_base/components/error-handle/default-value.tsx
+++ b/app/components/workflow/nodes/_base/components/error-handle/default-value.tsx
@@ -30,11 +30,11 @@
 
   return (
     <div className='px-4 pt-2'>
-      <div className='body-xs-regular mb-2 text-text-tertiary'>
+      <div className='mb-2 body-xs-regular text-text-tertiary'>
         {t('workflow.nodes.common.errorHandle.defaultValue.desc')}
         &nbsp;
         <a
-          href='https://docs.dify.ai/en/guides/workflow/error-handling/README'
+          href='https://docs.dify.ai/guides/workflow/error-handling'
           target='_blank'
           className='text-text-accent'
         >
@@ -49,8 +49,8 @@
                 key={index}
                 className='py-1'
               >
-                <div className='mb-1 flex items-center'>
-                  <div className='system-sm-medium mr-1 text-text-primary'>{form.key}</div>
+                <div className='flex items-center mb-1'>
+                  <div className='mr-1 system-sm-medium text-text-primary'>{form.key}</div>
                   <div className='system-xs-regular text-text-tertiary'>{form.type}</div>
                 </div>
                 {
diff --git a/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-node.tsx b/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-node.tsx
index b9a1745..64ce9ec 100644
--- a/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-node.tsx
+++ b/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-node.tsx
@@ -25,9 +25,9 @@
     return null
 
   return (
-    <div className='relative px-3 pb-2 pt-1'>
+    <div className='relative pt-1 pb-2 px-3'>
       <div className={cn(
-        'relative flex h-6 items-center justify-between rounded-md bg-workflow-block-parma-bg px-[5px]',
+        'relative flex items-center justify-between px-[5px] h-6 bg-workflow-block-parma-bg rounded-md',
         data._runningStatus === NodeRunningStatus.Exception && 'border-[0.5px] border-components-badge-status-light-warning-halo bg-state-warning-hover',
       )}>
         <div className='system-xs-medium-uppercase text-text-tertiary'>
diff --git a/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-panel.tsx b/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-panel.tsx
index cfcbae8..89412ca 100644
--- a/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-panel.tsx
+++ b/app/components/workflow/nodes/_base/components/error-handle/error-handle-on-panel.tsx
@@ -49,23 +49,20 @@
           disabled={!error_strategy}
           collapsed={collapsed}
           onCollapse={setCollapsed}
-          hideCollapseIcon
           trigger={
-            collapseIcon => (
-              <div className='flex grow items-center justify-between pr-4'>
-                <div className='flex items-center'>
-                  <div className='system-sm-semibold-uppercase mr-0.5 text-text-secondary'>
-                    {t('workflow.nodes.common.errorHandle.title')}
-                  </div>
-                  <Tooltip popupContent={t('workflow.nodes.common.errorHandle.tip')} />
-                  {collapseIcon}
+            <div className='grow flex items-center justify-between pr-4'>
+              <div className='flex items-center'>
+                <div className='mr-0.5 system-sm-semibold-uppercase text-text-secondary'>
+                  {t('workflow.nodes.common.errorHandle.title')}
                 </div>
-                <ErrorHandleTypeSelector
-                  value={error_strategy || ErrorHandleTypeEnum.none}
-                  onSelected={getHandleErrorHandleTypeChange(data)}
-                />
+                <Tooltip popupContent={t('workflow.nodes.common.errorHandle.tip')} />
               </div>
-            )}
+              <ErrorHandleTypeSelector
+                value={error_strategy || ErrorHandleTypeEnum.none}
+                onSelected={getHandleErrorHandleTypeChange(data)}
+              />
+            </div>
+          }
         >
           <>
             {
diff --git a/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip.tsx b/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip.tsx
index b444885..3e60308 100644
--- a/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip.tsx
+++ b/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip.tsx
@@ -24,16 +24,16 @@
 
   return (
     <div
-      className='relative flex rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-2 pr-[52px] shadow-xs'
+      className='relative flex p-2 pr-[52px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-xs'
     >
       <div
-        className='absolute inset-0 rounded-lg opacity-40'
+        className='absolute inset-0 opacity-40 rounded-lg'
         style={{
           background: 'linear-gradient(92deg, rgba(247, 144, 9, 0.25) 0%, rgba(255, 255, 255, 0.00) 100%)',
         }}
       ></div>
-      <RiAlertFill className='mr-1 h-4 w-4 shrink-0 text-text-warning-secondary' />
-      <div className='system-xs-medium grow text-text-primary'>
+      <RiAlertFill className='shrink-0 mr-1 w-4 h-4 text-text-warning-secondary' />
+      <div className='grow system-xs-medium text-text-primary'>
         {text}
       </div>
     </div>
diff --git a/app/components/workflow/nodes/_base/components/error-handle/error-handle-type-selector.tsx b/app/components/workflow/nodes/_base/components/error-handle/error-handle-type-selector.tsx
index d9516df..dadfa8d 100644
--- a/app/components/workflow/nodes/_base/components/error-handle/error-handle-type-selector.tsx
+++ b/app/components/workflow/nodes/_base/components/error-handle/error-handle-type-selector.tsx
@@ -50,26 +50,24 @@
     >
       <PortalToFollowElemTrigger onClick={(e) => {
         e.stopPropagation()
-        e.nativeEvent.stopImmediatePropagation()
         setOpen(v => !v)
       }}>
         <Button
           size='small'
         >
           {selectedOption?.label}
-          <RiArrowDownSLine className='h-3.5 w-3.5' />
+          <RiArrowDownSLine className='w-3.5 h-3.5' />
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[11]'>
-        <div className='w-[280px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg'>
+        <div className='p-1 w-[280px] border-[0.5px] border-components-panel-border rounded-xl bg-components-panel-bg-blur shadow-lg'>
           {
             options.map(option => (
               <div
                 key={option.value}
-                className='flex cursor-pointer rounded-lg p-2 pr-3 hover:bg-state-base-hover'
+                className='flex p-2 pr-3 rounded-lg hover:bg-state-base-hover cursor-pointer'
                 onClick={(e) => {
                   e.stopPropagation()
-                  e.nativeEvent.stopImmediatePropagation()
                   onSelected(option.value)
                   setOpen(false)
                 }}
@@ -77,12 +75,12 @@
                 <div className='mr-1 w-4 shrink-0'>
                   {
                     value === option.value && (
-                      <RiCheckLine className='h-4 w-4 text-text-accent' />
+                      <RiCheckLine className='w-4 h-4 text-text-accent' />
                     )
                   }
                 </div>
                 <div className='grow'>
-                  <div className='system-sm-semibold mb-0.5 text-text-secondary'>{option.label}</div>
+                  <div className='mb-0.5 system-sm-semibold text-text-secondary'>{option.label}</div>
                   <div className='system-xs-regular text-text-tertiary'>{option.description}</div>
                 </div>
               </div>
diff --git a/app/components/workflow/nodes/_base/components/error-handle/fail-branch-card.tsx b/app/components/workflow/nodes/_base/components/error-handle/fail-branch-card.tsx
index 05a6cb9..5dbba10 100644
--- a/app/components/workflow/nodes/_base/components/error-handle/fail-branch-card.tsx
+++ b/app/components/workflow/nodes/_base/components/error-handle/fail-branch-card.tsx
@@ -5,12 +5,12 @@
   const { t } = useTranslation()
 
   return (
-    <div className='px-4 pt-2'>
-      <div className='rounded-[10px] bg-workflow-process-bg p-4'>
-        <div className='mb-2 flex h-8 w-8 items-center justify-center rounded-[10px] border-[0.5px] border-components-card-border bg-components-card-bg shadow-lg'>
-          <RiMindMap className='h-5 w-5 text-text-tertiary' />
+    <div className='pt-2 px-4'>
+      <div className='p-4 rounded-[10px] bg-workflow-process-bg'>
+        <div className='flex items-center justify-center mb-2 w-8 h-8 rounded-[10px] border-[0.5px] bg-components-card-bg shadow-lg'>
+          <RiMindMap className='w-5 h-5 text-text-tertiary' />
         </div>
-        <div className='system-sm-medium mb-1 text-text-secondary'>
+        <div className='mb-1 system-sm-medium text-text-secondary'>
           {t('workflow.nodes.common.errorHandle.failBranch.customize')}
         </div>
         <div className='system-xs-regular text-text-tertiary'>
diff --git a/app/components/workflow/nodes/_base/components/field.tsx b/app/components/workflow/nodes/_base/components/field.tsx
index aadcea1..e284e91 100644
--- a/app/components/workflow/nodes/_base/components/field.tsx
+++ b/app/components/workflow/nodes/_base/components/field.tsx
@@ -1,23 +1,23 @@
 'use client'
-import type { FC, ReactNode } from 'react'
+import type { FC } from 'react'
 import React from 'react'
 import {
   RiArrowDownSLine,
 } from '@remixicon/react'
 import { useBoolean } from 'ahooks'
+import type { DefaultTFuncReturn } from 'i18next'
 import cn from '@/utils/classnames'
 import Tooltip from '@/app/components/base/tooltip'
 
 type Props = {
   className?: string
-  title: ReactNode
-  tooltip?: ReactNode
+  title: JSX.Element | string | DefaultTFuncReturn
+  tooltip?: React.ReactNode
   isSubTitle?: boolean
   supportFold?: boolean
-  children?: React.JSX.Element | string | null
-  operations?: React.JSX.Element
+  children?: JSX.Element | string | null
+  operations?: JSX.Element
   inline?: boolean
-  required?: boolean
 }
 
 const Field: FC<Props> = ({
@@ -29,20 +29,17 @@
   operations,
   inline,
   supportFold,
-  required,
 }) => {
   const [fold, {
     toggle: toggleFold,
   }] = useBoolean(true)
   return (
-    <div className={cn(className, inline && 'flex w-full items-center justify-between')}>
+    <div className={cn(className, inline && 'flex justify-between items-center w-full')}>
       <div
         onClick={() => supportFold && toggleFold()}
-        className={cn('flex items-center justify-between', supportFold && 'cursor-pointer')}>
-        <div className='flex h-6 items-center'>
-          <div className={cn(isSubTitle ? 'system-xs-medium-uppercase text-text-tertiary' : 'system-sm-semibold-uppercase text-text-secondary')}>
-            {title} {required && <span className='text-text-destructive'>*</span>}
-          </div>
+        className={cn('flex justify-between items-center', supportFold && 'cursor-pointer')}>
+        <div className='flex items-center h-6'>
+          <div className={cn(isSubTitle ? 'system-xs-medium-uppercase text-text-tertiary' : 'system-sm-semibold-uppercase text-text-secondary')}>{title}</div>
           {tooltip && (
             <Tooltip
               popupContent={tooltip}
@@ -54,7 +51,7 @@
         <div className='flex'>
           {operations && <div>{operations}</div>}
           {supportFold && (
-            <RiArrowDownSLine className='h-4 w-4 cursor-pointer text-text-tertiary transition-transform' style={{ transform: fold ? 'rotate(-90deg)' : 'rotate(0deg)' }} />
+            <RiArrowDownSLine className='w-4 h-4 text-text-tertiary cursor-pointer transform transition-transform' style={{ transform: fold ? 'rotate(-90deg)' : 'rotate(0deg)' }} />
           )}
         </div>
       </div>
diff --git a/app/components/workflow/nodes/_base/components/file-type-item.tsx b/app/components/workflow/nodes/_base/components/file-type-item.tsx
index 6791dbb..c3d52f2 100644
--- a/app/components/workflow/nodes/_base/components/file-type-item.tsx
+++ b/app/components/workflow/nodes/_base/components/file-type-item.tsx
@@ -8,7 +8,6 @@
 import TagInput from '@/app/components/base/tag-input'
 import Checkbox from '@/app/components/base/checkbox'
 import { FileTypeIcon } from '@/app/components/base/file-uploader'
-import { noop } from 'lodash-es'
 
 type Props = {
   type: SupportUploadFileTypes.image | SupportUploadFileTypes.document | SupportUploadFileTypes.audio | SupportUploadFileTypes.video | SupportUploadFileTypes.custom
@@ -23,7 +22,7 @@
   selected,
   onToggle,
   customFileTypes = [],
-  onCustomFileTypesChange = noop,
+  onCustomFileTypesChange = () => { },
 }) => {
   const { t } = useTranslation()
 
@@ -36,19 +35,19 @@
   return (
     <div
       className={cn(
-        'cursor-pointer select-none rounded-lg border border-components-option-card-option-border bg-components-option-card-option-bg',
-        !isCustomSelected && 'px-3 py-2',
-        selected && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg',
-        !selected && 'hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover',
+        'rounded-lg bg-components-option-card-option-bg border border-components-option-card-option-border cursor-pointer select-none',
+        !isCustomSelected && 'py-2 px-3',
+        selected && 'border-[1.5px] bg-components-option-card-option-selected-bg border-components-option-card-option-selected-border',
+        !selected && 'hover:bg-components-option-card-option-bg-hover hover:border-components-option-card-option-border-hover',
       )}
       onClick={handleOnSelect}
     >
       {isCustomSelected
         ? (
           <div>
-            <div className='flex items-center border-b border-divider-subtle p-3 pb-2'>
+            <div className='flex items-center p-3 pb-2 border-b border-divider-subtle'>
               <FileTypeIcon className='shrink-0' type={type} size='md' />
-              <div className='system-sm-medium mx-2 grow text-text-primary'>{t(`appDebug.variableConfig.file.${type}.name`)}</div>
+              <div className='mx-2 grow text-text-primary system-sm-medium'>{t(`appDebug.variableConfig.file.${type}.name`)}</div>
               <Checkbox className='shrink-0' checked={selected} />
             </div>
             <div className='p-3' onClick={e => e.stopPropagation()}>
@@ -64,8 +63,8 @@
           <div className='flex items-center'>
             <FileTypeIcon className='shrink-0' type={type} size='md' />
             <div className='mx-2 grow'>
-              <div className='system-sm-medium text-text-primary'>{t(`appDebug.variableConfig.file.${type}.name`)}</div>
-              <div className='system-2xs-regular-uppercase mt-1 text-text-tertiary'>{type !== SupportUploadFileTypes.custom ? FILE_EXTS[type].join(', ') : t('appDebug.variableConfig.file.custom.description')}</div>
+              <div className='text-text-primary system-sm-medium'>{t(`appDebug.variableConfig.file.${type}.name`)}</div>
+              <div className='mt-1 text-text-tertiary system-2xs-regular-uppercase'>{type !== SupportUploadFileTypes.custom ? FILE_EXTS[type].join(', ') : t('appDebug.variableConfig.file.custom.description')}</div>
             </div>
             <Checkbox className='shrink-0' checked={selected} />
           </div>
diff --git a/app/components/workflow/nodes/_base/components/file-upload-setting.tsx b/app/components/workflow/nodes/_base/components/file-upload-setting.tsx
index 8613ee5..1974084 100644
--- a/app/components/workflow/nodes/_base/components/file-upload-setting.tsx
+++ b/app/components/workflow/nodes/_base/components/file-upload-setting.tsx
@@ -150,7 +150,7 @@
           title={t('appDebug.variableConfig.maxNumberOfUploads')!}
         >
           <div>
-            <div className='body-xs-regular mb-1.5 text-text-tertiary'>{t('appDebug.variableConfig.maxNumberTip', {
+            <div className='mb-1.5 text-text-tertiary body-xs-regular'>{t('appDebug.variableConfig.maxNumberTip', {
               imgLimit: formatFileSize(imgSizeLimit),
               docLimit: formatFileSize(docSizeLimit),
               audioLimit: formatFileSize(audioSizeLimit),
diff --git a/app/components/workflow/nodes/_base/components/help-link.tsx b/app/components/workflow/nodes/_base/components/help-link.tsx
index 2e75520..a2b0837 100644
--- a/app/components/workflow/nodes/_base/components/help-link.tsx
+++ b/app/components/workflow/nodes/_base/components/help-link.tsx
@@ -14,9 +14,6 @@
   const { t } = useTranslation()
   const link = useNodeHelpLink(nodeType)
 
-  if (!link)
-    return null
-
   return (
     <TooltipPlus
       popupContent={t('common.userProfile.helpCenter')}
@@ -24,9 +21,9 @@
       <a
         href={link}
         target='_blank'
-        className='mr-1 flex h-6 w-6 items-center justify-center'
+        className='flex items-center justify-center mr-1 w-6 h-6'
       >
-        <RiBookOpenLine className='h-4 w-4 text-gray-500' />
+        <RiBookOpenLine className='w-4 h-4 text-gray-500' />
       </a>
     </TooltipPlus>
 
diff --git a/app/components/workflow/nodes/_base/components/info-panel.tsx b/app/components/workflow/nodes/_base/components/info-panel.tsx
index 88511b1..983cb9b 100644
--- a/app/components/workflow/nodes/_base/components/info-panel.tsx
+++ b/app/components/workflow/nodes/_base/components/info-panel.tsx
@@ -1,10 +1,10 @@
 'use client'
-import type { FC, ReactNode } from 'react'
+import type { FC } from 'react'
 import React from 'react'
 
 type Props = {
   title: string
-  content: ReactNode
+  content: string | JSX.Element
 }
 
 const InfoPanel: FC<Props> = ({
@@ -13,11 +13,11 @@
 }) => {
   return (
     <div>
-      <div className='flex flex-col gap-y-0.5 rounded-md bg-workflow-block-parma-bg px-[5px] py-[3px]'>
-        <div className='system-2xs-semibold-uppercase uppercase text-text-secondary'>
+      <div className='px-[5px] py-[3px] bg-workflow-block-parma-bg rounded-md'>
+        <div className='text-text-secondary system-2xs-semibold-uppercase uppercase'>
           {title}
         </div>
-        <div className='system-xs-regular break-words text-text-tertiary'>
+        <div className='text-text-tertiary system-xs-regular break-words'>
           {content}
         </div>
       </div>
diff --git a/app/components/workflow/nodes/_base/components/input-number-with-slider.tsx b/app/components/workflow/nodes/_base/components/input-number-with-slider.tsx
index e0762df..c64f980 100644
--- a/app/components/workflow/nodes/_base/components/input-number-with-slider.tsx
+++ b/app/components/workflow/nodes/_base/components/input-number-with-slider.tsx
@@ -34,14 +34,14 @@
   }, [defaultValue, max, min, onChange, value])
 
   const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
-    onChange(Number.parseFloat(e.target.value))
+    onChange(parseFloat(e.target.value))
   }, [onChange])
 
   return (
-    <div className='flex h-8 items-center justify-between space-x-2'>
+    <div className='flex justify-between items-center h-8 space-x-2'>
       <input
         value={value}
-        className='block h-8 w-12 shrink-0 appearance-none rounded-lg bg-components-input-bg-normal pl-3 text-[13px] text-components-input-text-filled outline-none'
+        className='shrink-0 block pl-3 w-12 h-8 appearance-none outline-none rounded-lg bg-components-input-bg-normal text-[13px] text-components-input-text-filled'
         type='number'
         min={min}
         max={max}
diff --git a/app/components/workflow/nodes/_base/components/input-support-select-var.tsx b/app/components/workflow/nodes/_base/components/input-support-select-var.tsx
index aab14bb..1d9f85c 100644
--- a/app/components/workflow/nodes/_base/components/input-support-select-var.tsx
+++ b/app/components/workflow/nodes/_base/components/input-support-select-var.tsx
@@ -12,7 +12,6 @@
 import PromptEditor from '@/app/components/base/prompt-editor'
 import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
 import Tooltip from '@/app/components/base/tooltip'
-import { noop } from 'lodash-es'
 
 type Props = {
   instanceId?: string
@@ -69,7 +68,7 @@
             show: false,
             selectable: false,
             datasets: [],
-            onAddContext: noop,
+            onAddContext: () => { },
           }}
           historyBlock={{
             show: false,
@@ -78,7 +77,7 @@
               user: 'Human',
               assistant: 'Assistant',
             },
-            onEditRole: noop,
+            onEditRole: () => { },
           }}
           queryBlock={{
             show: false,
@@ -109,12 +108,12 @@
         {/* to patch Editor not support dynamic change editable status */}
         {readOnly && <div className='absolute inset-0 z-10'></div>}
         {isFocus && (
-          <div className={cn('absolute z-10', insertVarTipToLeft ? 'left-[-12px] top-1.5' : ' right-1 top-[-9px]')}>
+          <div className={cn('absolute z-10', insertVarTipToLeft ? 'top-1.5 left-[-12px]' : ' top-[-9px] right-1')}>
             <Tooltip
               popupContent={`${t('workflow.common.insertVarTip')}`}
             >
-              <div className='cursor-pointer rounded-[5px] border-[0.5px] border-divider-regular bg-components-badge-white-to-dark p-0.5 shadow-lg'>
-                <Variable02 className='h-3.5 w-3.5 text-components-button-secondary-accent-text' />
+              <div className='p-0.5 rounded-[5px] shadow-lg cursor-pointer bg-white hover:bg-gray-100 border-[0.5px] border-black/5'>
+                <Variable02 className='w-3.5 h-3.5 text-components-button-secondary-accent-text' />
               </div>
             </Tooltip>
           </div>
diff --git a/app/components/workflow/nodes/_base/components/list-no-data-placeholder.tsx b/app/components/workflow/nodes/_base/components/list-no-data-placeholder.tsx
index d4a7f07..bf592de 100644
--- a/app/components/workflow/nodes/_base/components/list-no-data-placeholder.tsx
+++ b/app/components/workflow/nodes/_base/components/list-no-data-placeholder.tsx
@@ -10,7 +10,7 @@
   children,
 }) => {
   return (
-    <div className='system-xs-regular flex min-h-[42px] w-full items-center justify-center rounded-[10px] bg-background-section text-text-tertiary'>
+    <div className='flex w-full rounded-[10px] bg-background-section items-center min-h-[42px] justify-center system-xs-regular text-text-tertiary'>
       {children}
     </div>
   )
diff --git a/app/components/workflow/nodes/_base/components/memory-config.tsx b/app/components/workflow/nodes/_base/components/memory-config.tsx
index 446fcfa..476f5b7 100644
--- a/app/components/workflow/nodes/_base/components/memory-config.tsx
+++ b/app/components/workflow/nodes/_base/components/memory-config.tsx
@@ -32,12 +32,12 @@
   }, [onChange])
   return (
     <div className='flex items-center justify-between'>
-      <div className='text-[13px] font-normal text-text-secondary'>{title}</div>
-      <Input
+      <div className='text-[13px] font-normal text-gray-700'>{title}</div>
+      <input
         readOnly={readonly}
         value={value}
         onChange={handleChange}
-        className='h-8 w-[200px]'
+        className='w-[200px] h-8 leading-8 px-2.5 rounded-lg border-0 bg-gray-100  text-gray-900 text-[13px]  placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200'
         type='text' />
     </div>
   )
@@ -88,7 +88,7 @@
         limitedSize = null
       }
       else {
-        limitedSize = Number.parseInt(limitedSize as string, 10)
+        limitedSize = parseInt(limitedSize as string, 10)
         if (isNaN(limitedSize))
           limitedSize = WINDOW_SIZE_DEFAULT
 
@@ -145,16 +145,16 @@
           <>
             {/* window size */}
             <div className='flex justify-between'>
-              <div className='flex h-8 items-center space-x-2'>
+              <div className='flex items-center h-8 space-x-2'>
                 <Switch
                   defaultValue={payload?.window?.enabled}
                   onChange={handleWindowEnabledChange}
                   size='md'
                   disabled={readonly}
                 />
-                <div className='system-xs-medium-uppercase text-text-tertiary'>{t(`${i18nPrefix}.windowSize`)}</div>
+                <div className='text-text-tertiary system-xs-medium-uppercase'>{t(`${i18nPrefix}.windowSize`)}</div>
               </div>
-              <div className='flex h-8 items-center space-x-2'>
+              <div className='flex items-center h-8 space-x-2'>
                 <Slider
                   className='w-[144px]'
                   value={(payload.window?.size || WINDOW_SIZE_DEFAULT) as number}
@@ -167,7 +167,7 @@
                 <Input
                   value={(payload.window?.size || WINDOW_SIZE_DEFAULT) as number}
                   wrapperClassName='w-12'
-                  className='appearance-none pr-0'
+                  className='pr-0 appearance-none'
                   type='number'
                   min={WINDOW_SIZE_MIN}
                   max={WINDOW_SIZE_MAX}
@@ -180,7 +180,7 @@
             </div>
             {canSetRoleName && (
               <div className='mt-4'>
-                <div className='text-xs font-medium uppercase leading-6 text-text-tertiary'>{t(`${i18nPrefix}.conversationRoleName`)}</div>
+                <div className='leading-6 text-xs font-medium text-gray-500 uppercase'>{t(`${i18nPrefix}.conversationRoleName`)}</div>
                 <div className='mt-1 space-y-2'>
                   <RoleItem
                     readonly={readonly}
diff --git a/app/components/workflow/nodes/_base/components/next-step/add.tsx b/app/components/workflow/nodes/_base/components/next-step/add.tsx
index de5fbac..54ab4b3 100644
--- a/app/components/workflow/nodes/_base/components/next-step/add.tsx
+++ b/app/components/workflow/nodes/_base/components/next-step/add.tsx
@@ -38,7 +38,7 @@
   const [open, setOpen] = useState(false)
   const { handleNodeAdd } = useNodesInteractions()
   const { nodesReadOnly } = useNodesReadOnly()
-  const { availableNextBlocks } = useAvailableBlocks(nodeData.type, nodeData.isInIteration, nodeData.isInLoop)
+  const { availableNextBlocks } = useAvailableBlocks(nodeData.type, nodeData.isInIteration)
   const { checkParallelLimit } = useWorkflow()
 
   const handleSelect = useCallback<OnSelectBlock>((type, toolDefaultValue) => {
@@ -74,14 +74,14 @@
     return (
       <div
         className={`
-          bg-dropzone-bg hover:bg-dropzone-bg-hover relative flex h-9 cursor-pointer items-center rounded-lg border border-dashed
-          border-divider-regular px-2 text-xs text-text-placeholder
+          relative flex items-center px-2 h-9 rounded-lg border border-dashed border-divider-regular bg-dropzone-bg
+          hover:bg-dropzone-bg-hover text-xs text-text-placeholder cursor-pointer
           ${open && '!bg-components-dropzone-bg-alt'}
           ${nodesReadOnly && '!cursor-not-allowed'}
         `}
       >
-        <div className='bg-background-default-dimm mr-1.5 flex h-5 w-5 items-center justify-center rounded-[5px]'>
-          <RiAddLine className='h-3 w-3' />
+        <div className='flex items-center justify-center mr-1.5 w-5 h-5 rounded-[5px] bg-background-default-dimm'>
+          <RiAddLine className='w-3 h-3' />
         </div>
         <div className='flex items-center uppercase'>
           {tip}
diff --git a/app/components/workflow/nodes/_base/components/next-step/container.tsx b/app/components/workflow/nodes/_base/components/next-step/container.tsx
index a419710..24df1d2 100644
--- a/app/components/workflow/nodes/_base/components/next-step/container.tsx
+++ b/app/components/workflow/nodes/_base/components/next-step/container.tsx
@@ -25,14 +25,14 @@
 }: ContainerProps) => {
   return (
     <div className={cn(
-      'space-y-0.5 rounded-[10px] bg-background-section-burn p-0.5',
+      'p-0.5 space-y-0.5 rounded-[10px] bg-background-section-burn',
       isFailBranch && 'border-[0.5px] border-state-warning-hover-alt bg-state-warning-hover',
     )}>
       {
         branchName && (
           <div
             className={cn(
-              'system-2xs-semibold-uppercase flex items-center truncate px-2 text-text-tertiary',
+              'flex items-center px-2 system-2xs-semibold-uppercase text-text-tertiary truncate',
               isFailBranch && 'text-text-warning',
             )}
             title={branchName}
diff --git a/app/components/workflow/nodes/_base/components/next-step/index.tsx b/app/components/workflow/nodes/_base/components/next-step/index.tsx
index afb6429..a60d8bb 100644
--- a/app/components/workflow/nodes/_base/components/next-step/index.tsx
+++ b/app/components/workflow/nodes/_base/components/next-step/index.tsx
@@ -81,7 +81,7 @@
 
   return (
     <div className='flex py-1'>
-      <div className='relative flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border-[0.5px] border-divider-regular bg-background-default shadow-xs'>
+      <div className='shrink-0 relative flex items-center justify-center w-9 h-9 bg-background-default rounded-lg border-[0.5px] border-divider-regular shadow-xs'>
         <BlockIcon
           type={selectedNode!.data.type}
           toolIcon={toolIcon}
diff --git a/app/components/workflow/nodes/_base/components/next-step/item.tsx b/app/components/workflow/nodes/_base/components/next-step/item.tsx
index 85a4b28..db3748a 100644
--- a/app/components/workflow/nodes/_base/components/next-step/item.tsx
+++ b/app/components/workflow/nodes/_base/components/next-step/item.tsx
@@ -39,15 +39,15 @@
 
   return (
     <div
-      className='group relative flex h-9 cursor-pointer items-center rounded-lg border-[0.5px] border-divider-regular bg-background-default px-2 text-xs text-text-secondary shadow-xs last-of-type:mb-0 hover:bg-background-default-hover'
+      className='relative group flex items-center last-of-type:mb-0 px-2 h-9 rounded-lg border-[0.5px] border-divider-regular bg-background-default hover:bg-background-default-hover shadow-xs text-xs text-text-secondary cursor-pointer'
     >
       <BlockIcon
         type={data.type}
         toolIcon={toolIcon}
-        className='mr-1.5 shrink-0'
+        className='shrink-0 mr-1.5'
       />
       <div
-        className='system-xs-medium grow truncate text-text-secondary'
+        className='grow system-xs-medium text-text-secondary truncate'
         title={data.title}
       >
         {data.title}
@@ -56,7 +56,7 @@
         !nodesReadOnly && (
           <>
             <Button
-              className='mr-1 hidden shrink-0 group-hover:flex'
+              className='hidden group-hover:flex shrink-0 mr-1'
               size='small'
               onClick={() => handleNodeSelect(nodeId)}
             >
@@ -64,7 +64,7 @@
             </Button>
             <div
               className={cn(
-                'hidden shrink-0 items-center group-hover:flex',
+                'hidden shrink-0 group-hover:flex items-center',
                 open && 'flex',
               )}
             >
diff --git a/app/components/workflow/nodes/_base/components/next-step/line.tsx b/app/components/workflow/nodes/_base/components/next-step/line.tsx
index 35b0a73..3a4430c 100644
--- a/app/components/workflow/nodes/_base/components/next-step/line.tsx
+++ b/app/components/workflow/nodes/_base/components/next-step/line.tsx
@@ -19,7 +19,7 @@
   const svgHeight = processedList[processedListLength - 1] + (processedListLength - 1) * 8
 
   return (
-    <svg className='w-6 shrink-0' style={{ height: svgHeight }}>
+    <svg className='shrink-0 w-6' style={{ height: svgHeight }}>
       {
         processedList.map((item, index) => {
           const prevItem = index > 0 ? processedList[index - 1] : 0
diff --git a/app/components/workflow/nodes/_base/components/next-step/operator.tsx b/app/components/workflow/nodes/_base/components/next-step/operator.tsx
index 565db02..ad6c7ab 100644
--- a/app/components/workflow/nodes/_base/components/next-step/operator.tsx
+++ b/app/components/workflow/nodes/_base/components/next-step/operator.tsx
@@ -36,7 +36,7 @@
   const {
     availablePrevBlocks,
     availableNextBlocks,
-  } = useAvailableBlocks(data.type, data.isInIteration, data.isInLoop)
+  } = useAvailableBlocks(data.type, data.isInIteration)
 
   const handleSelect = useCallback<OnSelectBlock>((type, toolDefaultValue) => {
     handleNodeChange(nodeId, type, sourceHandle, toolDefaultValue)
@@ -44,7 +44,7 @@
 
   const renderTrigger = useCallback(() => {
     return (
-      <div className='flex h-8 cursor-pointer items-center rounded-lg px-2 hover:bg-state-base-hover'>
+      <div className='flex items-center px-2 h-8 rounded-lg cursor-pointer hover:bg-state-base-hover'>
         {t('workflow.panel.change')}
       </div>
     )
@@ -93,12 +93,12 @@
       onOpenChange={onOpenChange}
     >
       <PortalToFollowElemTrigger onClick={() => onOpenChange(!open)}>
-        <Button className='h-6 w-6 p-0'>
-          <RiMoreFill className='h-4 w-4' />
+        <Button className='p-0 w-6 h-6'>
+          <RiMoreFill className='w-4 h-4' />
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-10'>
-        <div className='system-md-regular min-w-[120px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur text-text-secondary shadow-lg'>
+        <div className='min-w-[120px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg system-md-regular text-text-secondary'>
           <div className='p-1'>
             <ChangeItem
               data={data}
@@ -106,7 +106,7 @@
               sourceHandle={sourceHandle}
             />
             <div
-              className='flex h-8 cursor-pointer items-center rounded-lg px-2 hover:bg-state-base-hover'
+              className='flex items-center px-2 h-8 rounded-lg cursor-pointer hover:bg-state-base-hover'
               onClick={() => handleNodeDisconnect(nodeId)}
             >
               {t('workflow.common.disconnect')}
@@ -114,7 +114,7 @@
           </div>
           <div className='p-1'>
             <div
-              className='flex h-8 cursor-pointer items-center rounded-lg px-2 hover:bg-state-base-hover'
+              className='flex items-center px-2 h-8 rounded-lg cursor-pointer hover:bg-state-base-hover'
               onClick={() => handleNodeDelete(nodeId)}
             >
               {t('common.operation.delete')}
diff --git a/app/components/workflow/nodes/_base/components/node-control.tsx b/app/components/workflow/nodes/_base/components/node-control.tsx
index a85c417..781b66a 100644
--- a/app/components/workflow/nodes/_base/components/node-control.tsx
+++ b/app/components/workflow/nodes/_base/components/node-control.tsx
@@ -39,19 +39,19 @@
   return (
     <div
       className={`
-      absolute -top-7 right-0 hidden h-7 pb-1 group-hover:flex
+      hidden group-hover:flex pb-1 absolute right-0 -top-7 h-7
       ${data.selected && '!flex'}
       ${open && '!flex'}
       `}
     >
       <div
-        className='flex h-6 items-center rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg px-0.5 text-text-tertiary shadow-md backdrop-blur-[5px]'
+        className='flex items-center px-0.5 h-6 bg-components-actionbar-bg rounded-lg border-[0.5px] border-components-actionbar-border backdrop-blur-[5px] shadow-md text-text-tertiary'
         onClick={e => e.stopPropagation()}
       >
         {
           canRunBySingle(data.type) && (
             <div
-              className='flex h-5 w-5 cursor-pointer items-center justify-center rounded-md hover:bg-state-base-hover'
+              className='flex items-center justify-center w-5 h-5 rounded-md cursor-pointer hover:bg-state-base-hover'
               onClick={() => {
                 handleNodeDataUpdate({
                   id,
@@ -66,13 +66,13 @@
             >
               {
                 data._isSingleRun
-                  ? <Stop className='h-3 w-3' />
+                  ? <Stop className='w-3 h-3' />
                   : (
                     <Tooltip
                       popupContent={t('workflow.panel.runThisStep')}
                       asChild={false}
                     >
-                      <RiPlayLargeLine className='h-3 w-3' />
+                      <RiPlayLargeLine className='w-3 h-3' />
                     </Tooltip>
                   )
               }
diff --git a/app/components/workflow/nodes/_base/components/node-handle.tsx b/app/components/workflow/nodes/_base/components/node-handle.tsx
index d8754cd..65798e4 100644
--- a/app/components/workflow/nodes/_base/components/node-handle.tsx
+++ b/app/components/workflow/nodes/_base/components/node-handle.tsx
@@ -47,7 +47,7 @@
   const { handleNodeAdd } = useNodesInteractions()
   const { getNodesReadOnly } = useNodesReadOnly()
   const connected = data._connectedTargetHandleIds?.includes(handleId)
-  const { availablePrevBlocks } = useAvailableBlocks(data.type, data.isInIteration, data.isInLoop)
+  const { availablePrevBlocks } = useAvailableBlocks(data.type, data.isInIteration)
   const isConnectable = !!availablePrevBlocks.length
 
   const handleOpenChange = useCallback((v: boolean) => {
@@ -78,9 +78,9 @@
         type='target'
         position={Position.Left}
         className={cn(
-          'z-[1] !h-4 !w-4 !rounded-none !border-none !bg-transparent !outline-none',
-          'after:absolute after:left-1.5 after:top-1 after:h-2 after:w-0.5 after:bg-workflow-link-line-handle',
-          'transition-all hover:scale-125',
+          '!w-4 !h-4 !bg-transparent !rounded-none !outline-none !border-none z-[1]',
+          'after:absolute after:w-0.5 after:h-2 after:left-1.5 after:top-1 after:bg-workflow-link-line-handle',
+          'hover:scale-125 transition-all',
           data._runningStatus === NodeRunningStatus.Succeeded && 'after:bg-workflow-link-line-success-handle',
           data._runningStatus === NodeRunningStatus.Failed && 'after:bg-workflow-link-line-error-handle',
           data._runningStatus === NodeRunningStatus.Exception && 'after:bg-workflow-link-line-failure-handle',
@@ -129,7 +129,7 @@
   const [open, setOpen] = useState(false)
   const { handleNodeAdd } = useNodesInteractions()
   const { getNodesReadOnly } = useNodesReadOnly()
-  const { availableNextBlocks } = useAvailableBlocks(data.type, data.isInIteration, data.isInLoop)
+  const { availableNextBlocks } = useAvailableBlocks(data.type, data.isInIteration)
   const isConnectable = !!availableNextBlocks.length
   const isChatMode = useIsChatMode()
   const { checkParallelLimit } = useWorkflow()
@@ -167,9 +167,9 @@
       type='source'
       position={Position.Right}
       className={cn(
-        'group/handle z-[1] !h-4 !w-4 !rounded-none !border-none !bg-transparent !outline-none',
-        'after:absolute after:right-1.5 after:top-1 after:h-2 after:w-0.5 after:bg-workflow-link-line-handle',
-        'transition-all hover:scale-125',
+        'group/handle !w-4 !h-4 !bg-transparent !rounded-none !outline-none !border-none z-[1]',
+        'after:absolute after:w-0.5 after:h-2 after:right-1.5 after:top-1 after:bg-workflow-link-line-handle',
+        'hover:scale-125 transition-all',
         data._runningStatus === NodeRunningStatus.Succeeded && 'after:bg-workflow-link-line-success-handle',
         data._runningStatus === NodeRunningStatus.Failed && 'after:bg-workflow-link-line-error-handle',
         showExceptionStatus && data._runningStatus === NodeRunningStatus.Exception && 'after:bg-workflow-link-line-failure-handle',
@@ -179,7 +179,7 @@
       isConnectable={isConnectable}
       onClick={handleHandleClick}
     >
-      <div className='absolute -top-1 left-1/2 hidden -translate-x-1/2 -translate-y-full rounded-lg border-[0.5px] border-components-panel-border bg-components-tooltip-bg p-1.5 shadow-lg group-hover/handle:block'>
+      <div className='hidden group-hover/handle:block absolute left-1/2 -top-1 -translate-y-full -translate-x-1/2 p-1.5 border-[0.5px] border-components-panel-border bg-components-tooltip-bg rounded-lg shadow-lg'>
         <div className='system-xs-regular text-text-tertiary'>
           <div className=' whitespace-nowrap'>
             <span className='system-xs-medium text-text-secondary'>{t('workflow.common.parallelTip.click.title')}</span>
@@ -199,7 +199,7 @@
             onSelect={handleSelect}
             asChild
             triggerClassName={open => `
-              hidden absolute top-0 left-0 pointer-events-none
+              hidden absolute top-0 left-0 pointer-events-none 
               ${nodeSelectorClassName}
               group-hover:!flex
               ${data.selected && '!flex'}
diff --git a/app/components/workflow/nodes/_base/components/node-resizer.tsx b/app/components/workflow/nodes/_base/components/node-resizer.tsx
index 7f83414..a8e7a9a 100644
--- a/app/components/workflow/nodes/_base/components/node-resizer.tsx
+++ b/app/components/workflow/nodes/_base/components/node-resizer.tsx
@@ -19,7 +19,7 @@
 type NodeResizerProps = {
   nodeId: string
   nodeData: CommonNodeType
-  icon?: React.JSX.Element
+  icon?: JSX.Element
   minWidth?: number
   minHeight?: number
   maxWidth?: number
diff --git a/app/components/workflow/nodes/_base/components/option-card.tsx b/app/components/workflow/nodes/_base/components/option-card.tsx
index 79c8987..f19338d 100644
--- a/app/components/workflow/nodes/_base/components/option-card.tsx
+++ b/app/components/workflow/nodes/_base/components/option-card.tsx
@@ -48,9 +48,9 @@
   return (
     <div
       className={cn(
-        'system-sm-regular flex h-8 cursor-default items-center rounded-md border border-components-option-card-option-border bg-components-option-card-option-bg px-2 text-text-secondary',
-        (!selected && !disabled) && 'cursor-pointer hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs',
-        selected && 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg shadow-xs',
+        'flex items-center px-2 h-8 rounded-md system-sm-regular bg-components-option-card-option-bg border border-components-option-card-option-border text-text-secondary cursor-default',
+        (!selected && !disabled) && 'hover:bg-components-option-card-option-bg-hover hover:border-components-option-card-option-border-hover hover:shadow-xs cursor-pointer',
+        selected && 'bg-components-option-card-option-selected-bg border-[1.5px] border-components-option-card-option-selected-border system-sm-medium shadow-xs',
         disabled && 'text-text-disabled',
         variants({ align }),
         className,
diff --git a/app/components/workflow/nodes/_base/components/output-vars.tsx b/app/components/workflow/nodes/_base/components/output-vars.tsx
index ca075f2..a0d7a25 100644
--- a/app/components/workflow/nodes/_base/components/output-vars.tsx
+++ b/app/components/workflow/nodes/_base/components/output-vars.tsx
@@ -1,35 +1,22 @@
 'use client'
-import type { FC, ReactNode } from 'react'
+import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
 import { FieldCollapse } from '@/app/components/workflow/nodes/_base/components/collapse'
-import TreeIndentLine from './variable/object-child-tree-panel/tree-indent-line'
-import cn from '@/utils/classnames'
 
 type Props = {
   className?: string
   title?: string
-  children: ReactNode
-  operations?: ReactNode
-  collapsed?: boolean
-  onCollapse?: (collapsed: boolean) => void
+  children: JSX.Element
 }
 
 const OutputVars: FC<Props> = ({
   title,
   children,
-  operations,
-  collapsed,
-  onCollapse,
 }) => {
   const { t } = useTranslation()
   return (
-    <FieldCollapse
-      title={title || t('workflow.nodes.common.outputVars')}
-      operations={operations}
-      collapsed={collapsed}
-      onCollapse={onCollapse}
-    >
+    <FieldCollapse title={title || t('workflow.nodes.common.outputVars')}>
       {children}
     </FieldCollapse>
   )
@@ -43,7 +30,6 @@
     type: string
     description: string
   }[]
-  isIndent?: boolean
 }
 
 export const VarItem: FC<VarItemProps> = ({
@@ -51,33 +37,27 @@
   type,
   description,
   subItems,
-  isIndent,
 }) => {
   return (
-    <div className={cn('flex', isIndent && 'relative left-[-7px]')}>
-      {isIndent && <TreeIndentLine depth={1} />}
-      <div className='py-1'>
-        <div className='flex'>
-          <div className='flex items-center leading-[18px]'>
-            <div className='code-sm-semibold text-text-secondary'>{name}</div>
-            <div className='system-xs-regular ml-2 text-text-tertiary'>{type}</div>
+    <div className='py-1'>
+      <div className='flex leading-[18px] items-center'>
+        <div className='code-sm-semibold text-text-secondary'>{name}</div>
+        <div className='ml-2 system-xs-regular text-text-tertiary'>{type}</div>
+      </div>
+      <div className='mt-0.5 system-xs-regular text-text-tertiary'>
+        {description}
+        {subItems && (
+          <div className='ml-2 border-l border-gray-200 pl-2'>
+            {subItems.map((item, index) => (
+              <VarItem
+                key={index}
+                name={item.name}
+                type={item.type}
+                description={item.description}
+              />
+            ))}
           </div>
-        </div>
-        <div className='system-xs-regular mt-0.5 text-text-tertiary'>
-          {description}
-          {subItems && (
-            <div className='ml-2 border-l border-gray-200 pl-2'>
-              {subItems.map((item, index) => (
-                <VarItem
-                  key={index}
-                  name={item.name}
-                  type={item.type}
-                  description={item.description}
-                />
-              ))}
-            </div>
-          )}
-        </div>
+        )}
       </div>
     </div>
   )
diff --git a/app/components/workflow/nodes/_base/components/panel-operator/change-block.tsx b/app/components/workflow/nodes/_base/components/panel-operator/change-block.tsx
index 90f9dae..debeb9a 100644
--- a/app/components/workflow/nodes/_base/components/panel-operator/change-block.tsx
+++ b/app/components/workflow/nodes/_base/components/panel-operator/change-block.tsx
@@ -30,7 +30,7 @@
   const {
     availablePrevBlocks,
     availableNextBlocks,
-  } = useAvailableBlocks(nodeData.type, nodeData.isInIteration, nodeData.isInLoop)
+  } = useAvailableBlocks(nodeData.type, nodeData.isInIteration)
 
   const availableNodes = useMemo(() => {
     if (availablePrevBlocks.length && availableNextBlocks.length)
@@ -47,7 +47,7 @@
 
   const renderTrigger = useCallback(() => {
     return (
-      <div className='flex h-8 w-[232px] cursor-pointer items-center rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'>
+      <div className='flex items-center px-3 w-[232px] h-8 text-sm text-gray-700 rounded-lg cursor-pointer hover:bg-gray-50'>
         {t('workflow.panel.changeBlock')}
       </div>
     )
diff --git a/app/components/workflow/nodes/_base/components/panel-operator/index.tsx b/app/components/workflow/nodes/_base/components/panel-operator/index.tsx
index cf05eb9..43d65d3 100644
--- a/app/components/workflow/nodes/_base/components/panel-operator/index.tsx
+++ b/app/components/workflow/nodes/_base/components/panel-operator/index.tsx
@@ -53,13 +53,13 @@
       <PortalToFollowElemTrigger onClick={() => handleOpenChange(!open)}>
         <div
           className={`
-            flex h-6 w-6 cursor-pointer items-center justify-center rounded-md
+            flex items-center justify-center w-6 h-6 rounded-md cursor-pointer
             hover:bg-state-base-hover
             ${open && 'bg-state-base-hover'}
             ${triggerClassName}
           `}
         >
-          <RiMoreFill className={'h-4 w-4 text-text-tertiary'} />
+          <RiMoreFill className={'w-4 h-4 text-text-tertiary'} />
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[11]'>
diff --git a/app/components/workflow/nodes/_base/components/panel-operator/panel-operator-popup.tsx b/app/components/workflow/nodes/_base/components/panel-operator/panel-operator-popup.tsx
index 28d7358..cd44d15 100644
--- a/app/components/workflow/nodes/_base/components/panel-operator/panel-operator-popup.tsx
+++ b/app/components/workflow/nodes/_base/components/panel-operator/panel-operator-popup.tsx
@@ -22,7 +22,6 @@
 import { BlockEnum } from '@/app/components/workflow/types'
 import { useGetLanguage } from '@/context/i18n'
 import { CollectionType } from '@/app/components/tools/types'
-import { canFindTool } from '@/utils'
 
 type PanelOperatorPopupProps = {
   id: string
@@ -58,7 +57,7 @@
       return nodesExtraData[data.type].author
 
     if (data.provider_type === CollectionType.builtIn)
-      return buildInTools.find(toolWithProvider => canFindTool(toolWithProvider.id, data.provider_id))?.author
+      return buildInTools.find(toolWithProvider => toolWithProvider.id === data.provider_id)?.author
 
     if (data.provider_type === CollectionType.workflow)
       return workflowTools.find(toolWithProvider => toolWithProvider.id === data.provider_id)?.author
@@ -71,7 +70,7 @@
       return nodesExtraData[data.type].about
 
     if (data.provider_type === CollectionType.builtIn)
-      return buildInTools.find(toolWithProvider => canFindTool(toolWithProvider.id, data.provider_id))?.description[language]
+      return buildInTools.find(toolWithProvider => toolWithProvider.id === data.provider_id)?.description[language]
 
     if (data.provider_type === CollectionType.workflow)
       return workflowTools.find(toolWithProvider => toolWithProvider.id === data.provider_id)?.description[language]
@@ -79,12 +78,12 @@
     return customTools.find(toolWithProvider => toolWithProvider.id === data.provider_id)?.description[language]
   }, [data, nodesExtraData, language, buildInTools, customTools, workflowTools])
 
-  const showChangeBlock = data.type !== BlockEnum.Start && !nodesReadOnly && data.type !== BlockEnum.Iteration && data.type !== BlockEnum.Loop
+  const showChangeBlock = data.type !== BlockEnum.Start && !nodesReadOnly && data.type !== BlockEnum.Iteration
 
   const link = useNodeHelpLink(data.type)
 
   return (
-    <div className='w-[240px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'>
+    <div className='w-[240px] border-[0.5px] border-gray-200 rounded-lg shadow-xl bg-white'>
       {
         (showChangeBlock || canRunBySingle(data.type)) && (
           <>
@@ -93,8 +92,8 @@
                 canRunBySingle(data.type) && (
                   <div
                     className={`
-                      flex h-8 cursor-pointer items-center rounded-lg px-3 text-sm text-text-secondary
-                      hover:bg-state-base-hover
+                      flex items-center px-3 h-8 text-sm text-gray-700 rounded-lg cursor-pointer
+                      hover:bg-gray-50
                     `}
                     onClick={() => {
                       handleNodeSelect(id)
@@ -117,7 +116,7 @@
                 )
               }
             </div>
-            <div className='h-[1px] bg-divider-regular'></div>
+            <div className='h-[1px] bg-gray-100'></div>
           </>
         )
       }
@@ -126,7 +125,7 @@
           <>
             <div className='p-1'>
               <div
-                className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+                className='flex items-center justify-between px-3 h-8 text-sm text-gray-700 rounded-lg cursor-pointer hover:bg-gray-50'
                 onClick={() => {
                   onClosePopup()
                   handleNodesCopy(id)
@@ -136,7 +135,7 @@
                 <ShortcutsName keys={['ctrl', 'c']} />
               </div>
               <div
-                className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+                className='flex items-center justify-between px-3 h-8 text-sm text-gray-700 rounded-lg cursor-pointer hover:bg-gray-50'
                 onClick={() => {
                   onClosePopup()
                   handleNodesDuplicate(id)
@@ -146,12 +145,12 @@
                 <ShortcutsName keys={['ctrl', 'd']} />
               </div>
             </div>
-            <div className='h-[1px] bg-divider-regular'></div>
+            <div className='h-[1px] bg-gray-100'></div>
             <div className='p-1'>
               <div
                 className={`
-                flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary
-                hover:bg-state-destructive-hover hover:text-red-500
+                flex items-center justify-between px-3 h-8 text-sm text-gray-700 rounded-lg cursor-pointer
+                hover:bg-rose-50 hover:text-red-500
                 `}
                 onClick={() => handleNodeDelete(id)}
               >
@@ -159,32 +158,32 @@
                 <ShortcutsName keys={['del']} />
               </div>
             </div>
-            <div className='h-[1px] bg-divider-regular'></div>
+            <div className='h-[1px] bg-gray-100'></div>
           </>
         )
       }
       {
-        showHelpLink && link && (
+        showHelpLink && (
           <>
             <div className='p-1'>
               <a
                 href={link}
                 target='_blank'
-                className='flex h-8 cursor-pointer items-center rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+                className='flex items-center px-3 h-8 text-sm text-gray-700 rounded-lg cursor-pointer hover:bg-gray-50'
               >
                 {t('workflow.panel.helpLink')}
               </a>
             </div>
-            <div className='h-[1px] bg-divider-regular'></div>
+            <div className='h-[1px] bg-gray-100'></div>
           </>
         )
       }
       <div className='p-1'>
-        <div className='px-3 py-2 text-xs text-text-tertiary'>
-          <div className='mb-1 flex h-[22px] items-center font-medium'>
+        <div className='px-3 py-2 text-xs text-gray-500'>
+          <div className='flex items-center mb-1 h-[22px] font-medium'>
             {t('workflow.panel.about').toLocaleUpperCase()}
           </div>
-          <div className='mb-1 leading-[18px] text-text-secondary'>{about}</div>
+          <div className='mb-1 text-gray-700 leading-[18px]'>{about}</div>
           <div className='leading-[18px]'>
             {t('workflow.panel.createdBy')} {author}
           </div>
diff --git a/app/components/workflow/nodes/_base/components/prompt/editor.tsx b/app/components/workflow/nodes/_base/components/prompt/editor.tsx
index c6233ff..66923fb 100644
--- a/app/components/workflow/nodes/_base/components/prompt/editor.tsx
+++ b/app/components/workflow/nodes/_base/components/prompt/editor.tsx
@@ -1,5 +1,5 @@
 'use client'
-import type { FC, ReactNode } from 'react'
+import type { FC } from 'react'
 import React, { useCallback, useRef } from 'react'
 import {
   RiDeleteBinLine,
@@ -26,6 +26,7 @@
   Clipboard,
   ClipboardCheck,
 } from '@/app/components/base/icons/src/vender/line/files'
+import s from '@/app/components/app/configuration/config-prompt/style.module.css'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
 import { PROMPT_EDITOR_INSERT_QUICKLY } from '@/app/components/base/prompt-editor/plugins/update-block'
 import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
@@ -35,13 +36,12 @@
 import Switch from '@/app/components/base/switch'
 import { Jinja } from '@/app/components/base/icons/src/vender/workflow'
 import { useStore } from '@/app/components/workflow/store'
-import { useWorkflowVariableType } from '@/app/components/workflow/hooks'
 
 type Props = {
   className?: string
   headerClassName?: string
   instanceId?: string
-  title: string | React.JSX.Element
+  title: string | JSX.Element
   value: string
   onChange: (value: string) => void
   readOnly?: boolean
@@ -68,15 +68,6 @@
   onEditionTypeChange?: (editionType: EditionType) => void
   varList?: Variable[]
   handleAddVariable?: (payload: any) => void
-  containerBackgroundClassName?: string
-  gradientBorder?: boolean
-  titleTooltip?: ReactNode
-  inputClassName?: string
-  editorContainerClassName?: string
-  placeholder?: string
-  placeholderClassName?: string
-  titleClassName?: string
-  required?: boolean
 }
 
 const Editor: FC<Props> = ({
@@ -105,15 +96,6 @@
   handleAddVariable,
   onGenerated,
   modelConfig,
-  containerBackgroundClassName: containerClassName,
-  gradientBorder = true,
-  titleTooltip,
-  inputClassName,
-  placeholder,
-  placeholderClassName,
-  titleClassName,
-  editorContainerClassName,
-  required,
 }) => {
   const { t } = useTranslation()
   const { eventEmitter } = useEventEmitterContextContext()
@@ -145,24 +127,19 @@
     eventEmitter?.emit({ type: PROMPT_EDITOR_INSERT_QUICKLY, instanceId } as any)
   }
 
-  const getVarType = useWorkflowVariableType()
-
   return (
     <Wrap className={cn(className, wrapClassName)} style={wrapStyle} isInNode isExpand={isExpand}>
-      <div ref={ref} className={cn(isFocus ? (gradientBorder && 'bg-gradient-to-r from-components-input-border-active-prompt-1 to-components-input-border-active-prompt-2') : 'bg-transparent', isExpand && 'h-full', '!rounded-[9px] p-0.5', containerClassName)}>
-        <div className={cn(isFocus ? 'bg-background-default' : 'bg-components-input-bg-normal', isExpand && 'flex h-full flex-col', 'rounded-lg', containerClassName)}>
-          <div className={cn('flex items-center justify-between pl-3 pr-2 pt-1', headerClassName)}>
-            <div className='flex gap-2'>
-              <div className={cn('text-xs font-semibold uppercase leading-4 text-text-secondary', titleClassName)}>{title} {required && <span className='text-text-destructive'>*</span>}</div>
-              {titleTooltip && <Tooltip popupContent={titleTooltip} />}
-            </div>
+      <div ref={ref} className={cn(isFocus ? s.gradientBorder : 'bg-gray-100', isExpand && 'h-full', '!rounded-[9px] p-0.5')}>
+        <div className={cn(isFocus ? 'bg-gray-50' : 'bg-gray-100', isExpand && 'h-full flex flex-col', 'rounded-lg')}>
+          <div className={cn(headerClassName, 'pt-1 pl-3 pr-2 flex justify-between items-center')}>
+            <div className='leading-4 text-xs font-semibold text-gray-700 uppercase'>{title}</div>
             <div className='flex items-center'>
-              <div className='text-xs font-medium leading-[18px] text-text-tertiary'>{value?.length || 0}</div>
+              <div className='leading-[18px] text-xs font-medium text-gray-500'>{value?.length || 0}</div>
               {isSupportPromptGenerator && (
                 <PromptGeneratorBtn className='ml-[5px]' onGenerated={onGenerated} modelConfig={modelConfig} />
               )}
 
-              <div className='ml-2 mr-2 h-3 w-px bg-divider-regular'></div>
+              <div className='w-px h-3 ml-2 mr-2 bg-gray-200'></div>
               {/* Operations */}
               <div className='flex items-center space-x-[2px]'>
                 {isSupportJinja && (
@@ -170,13 +147,13 @@
                     popupContent={
                       <div>
                         <div>{t('workflow.common.enableJinja')}</div>
-                        <a className='text-text-accent' target='_blank' href='https://jinja.palletsprojects.com/en/2.10.x/'>{t('workflow.common.learnMore')}</a>
+                        <a className='text-[#155EEF]' target='_blank' href='https://jinja.palletsprojects.com/en/2.10.x/'>{t('workflow.common.learnMore')}</a>
                       </div>
                     }
                     needsDelay
                   >
-                    <div className={cn(editionType === EditionType.jinja2 && 'border-components-button-ghost-bg-hover bg-components-button-ghost-bg-hover', 'flex h-[22px] items-center space-x-0.5 rounded-[5px] border border-transparent px-1.5 hover:border-components-button-ghost-bg-hover')}>
-                      <Jinja className='h-3 w-6 text-text-quaternary' />
+                    <div className={cn(editionType === EditionType.jinja2 && 'border-black/5 bg-white', 'flex h-[22px] items-center px-1.5 rounded-[5px] border border-transparent hover:border-black/5 space-x-0.5')}>
+                      <Jinja className='w-6 h-3 text-gray-300' />
                       <Switch
                         size='sm'
                         defaultValue={editionType === EditionType.jinja2}
@@ -193,24 +170,24 @@
                     popupContent={`${t('workflow.common.insertVarTip')}`}
                   >
                     <ActionButton onClick={handleInsertVariable}>
-                      <Variable02 className='h-4 w-4' />
+                      <Variable02 className='w-4 h-4' />
                     </ActionButton>
                   </Tooltip>
                 )}
                 {showRemove && (
                   <ActionButton onClick={onRemove}>
-                    <RiDeleteBinLine className='h-4 w-4' />
+                    <RiDeleteBinLine className='w-4 h-4' />
                   </ActionButton>
                 )}
                 {!isCopied
                   ? (
                     <ActionButton onClick={handleCopy}>
-                      <Clipboard className='h-4 w-4' />
+                      <Clipboard className='w-4 h-4' />
                     </ActionButton>
                   )
                   : (
                     <ActionButton>
-                      <ClipboardCheck className='h-4 w-4' />
+                      <ClipboardCheck className='w-4 h-4' />
                     </ActionButton>
                   )
                 }
@@ -221,17 +198,15 @@
           </div>
 
           {/* Min: 80 Max: 560. Header: 24 */}
-          <div className={cn('pb-2', isExpand && 'flex grow flex-col')}>
+          <div className={cn('pb-2', isExpand && 'flex flex-col grow')}>
             {!(isSupportJinja && editionType === EditionType.jinja2)
               ? (
-                <div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative min-h-[56px] overflow-y-auto  px-3', editorContainerClassName)}>
+                <div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative px-3 min-h-[56px]  overflow-y-auto')}>
                   <PromptEditor
                     key={controlPromptEditorRerenderKey}
-                    placeholder={placeholder}
-                    placeholderClassName={placeholderClassName}
                     instanceId={instanceId}
                     compact
-                    className={cn('min-h-[56px]', inputClassName)}
+                    className='min-h-[56px]'
                     style={isExpand ? { height: editorExpandHeight - 5 } : {}}
                     value={value}
                     contextBlock={{
@@ -254,7 +229,6 @@
                     workflowVariableBlock={{
                       show: true,
                       variables: nodesOutputVars || [],
-                      getVarType,
                       workflowNodesMap: availableNodes.reduce((acc, node) => {
                         acc[node.id] = {
                           title: node.data.title,
@@ -280,7 +254,7 @@
                 </div>
               )
               : (
-                <div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative min-h-[56px] overflow-y-auto  px-3', editorContainerClassName)}>
+                <div className={cn(isExpand ? 'grow' : 'max-h-[536px]', 'relative px-3 min-h-[56px]  overflow-y-auto')}>
                   <CodeEditor
                     availableVars={nodesOutputVars || []}
                     varList={varList}
@@ -292,7 +266,6 @@
                     onChange={onChange}
                     noWrapper
                     isExpand={isExpand}
-                    className={inputClassName}
                   />
                 </div>
               )}
diff --git a/app/components/workflow/nodes/_base/components/readonly-input-with-select-var.tsx b/app/components/workflow/nodes/_base/components/readonly-input-with-select-var.tsx
index 4a4ca45..f9a60f5 100644
--- a/app/components/workflow/nodes/_base/components/readonly-input-with-select-var.tsx
+++ b/app/components/workflow/nodes/_base/components/readonly-input-with-select-var.tsx
@@ -9,7 +9,6 @@
 import { Line3 } from '@/app/components/base/icons/src/public/common'
 import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
 import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others'
-import { RiMoreLine } from '@remixicon/react'
 type Props = {
   nodeId: string
   value: string
@@ -36,7 +35,7 @@
       return VAR_PLACEHOLDER
     })
 
-    const html: React.JSX.Element[] = strWithVarPlaceholder.split(VAR_PLACEHOLDER).map((str, index) => {
+    const html: JSX.Element[] = strWithVarPlaceholder.split(VAR_PLACEHOLDER).map((str, index) => {
       if (!vars[index])
         return <span className='relative top-[-3px] leading-[16px]' key={index}>{str}</span>
 
@@ -46,34 +45,27 @@
       const isChatVar = isConversationVar(value)
       const node = (isSystem ? startNode : getNodeInfoById(availableNodes, value[0]))?.data
       const varName = `${isSystem ? 'sys.' : ''}${value[value.length - 1]}`
-      const isShowAPart = value.length > 2
 
       return (<span key={index}>
         <span className='relative top-[-3px] leading-[16px]'>{str}</span>
-        <div className=' inline-flex h-[16px] items-center rounded-[5px] bg-components-badge-white-to-dark px-1.5'>
+        <div className=' inline-flex h-[16px] items-center px-1.5 rounded-[5px] bg-white'>
           {!isEnv && !isChatVar && (
             <div className='flex items-center'>
               <div className='p-[1px]'>
                 <VarBlockIcon
-                  className='!text-text-primary'
+                  className='!text-gray-900'
                   type={node?.type || BlockEnum.Start}
                 />
               </div>
-              <div className='mx-0.5 max-w-[60px] truncate text-xs font-medium text-text-secondary' title={node?.title}>{node?.title}</div>
+              <div className='max-w-[60px] mx-0.5 text-xs font-medium text-gray-700 truncate' title={node?.title}>{node?.title}</div>
               <Line3 className='mr-0.5'></Line3>
             </div>
           )}
-          {isShowAPart && (
-            <div className='flex items-center'>
-              <RiMoreLine className='h-3 w-3 text-text-secondary' />
-              <Line3 className='mr-0.5 text-divider-deep'></Line3>
-            </div>
-          )}
-          <div className='flex items-center text-text-accent'>
-            {!isEnv && !isChatVar && <Variable02 className='h-3.5 w-3.5 shrink-0' />}
-            {isEnv && <Env className='h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-            {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
-            <div className={cn('ml-0.5 max-w-[50px] truncate text-xs font-medium', (isEnv || isChatVar) && 'text-text-primary')} title={varName}>{varName}</div>
+          <div className='flex items-center text-primary-600'>
+            {!isEnv && !isChatVar && <Variable02 className='shrink-0 w-3.5 h-3.5' />}
+            {isEnv && <Env className='shrink-0 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+            {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
+            <div className={cn('max-w-[50px] ml-0.5 text-xs font-medium truncate', (isEnv || isChatVar) && 'text-gray-900')} title={varName}>{varName}</div>
           </div>
         </div>
       </span>)
diff --git a/app/components/workflow/nodes/_base/components/remove-button.tsx b/app/components/workflow/nodes/_base/components/remove-button.tsx
index 62381f8..70b268e 100644
--- a/app/components/workflow/nodes/_base/components/remove-button.tsx
+++ b/app/components/workflow/nodes/_base/components/remove-button.tsx
@@ -2,7 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import { RiDeleteBinLine } from '@remixicon/react'
-import ActionButton from '@/app/components/base/action-button'
+import cn from '@/utils/classnames'
 
 type Props = {
   className?: string
@@ -10,12 +10,16 @@
 }
 
 const Remove: FC<Props> = ({
+  className,
   onClick,
 }) => {
   return (
-    <ActionButton size='l' className='group shrink-0 hover:!bg-state-destructive-hover' onClick={onClick}>
-      <RiDeleteBinLine className='h-4 w-4 text-text-tertiary group-hover:text-text-destructive' />
-    </ActionButton>
+    <div
+      className={cn(className, 'p-1 cursor-pointer rounded-md hover:bg-black/5 text-gray-500 hover:text-gray-800')}
+      onClick={onClick}
+    >
+      <RiDeleteBinLine className='w-4 h-4' />
+    </div>
   )
 }
 export default React.memo(Remove)
diff --git a/app/components/workflow/nodes/_base/components/retry/retry-on-node.tsx b/app/components/workflow/nodes/_base/components/retry/retry-on-node.tsx
index e25e116..34c3e28 100644
--- a/app/components/workflow/nodes/_base/components/retry/retry-on-node.tsx
+++ b/app/components/workflow/nodes/_base/components/retry/retry-on-node.tsx
@@ -38,12 +38,12 @@
     return null
 
   return (
-    <div className='mb-1 px-3'>
+    <div className='px-3'>
       <div className={cn(
-        'system-xs-medium-uppercase flex items-center justify-between rounded-md border-[0.5px] border-transparent bg-workflow-block-parma-bg px-[5px] py-1 text-text-tertiary',
-        isRunning && 'border-state-accent-active bg-state-accent-hover text-text-accent',
-        isSuccessful && 'border-state-success-active bg-state-success-hover text-text-success',
-        (isException || isFailed) && 'border-state-warning-active bg-state-warning-hover text-text-warning',
+        'flex items-center justify-between px-[5px] py-1 bg-workflow-block-parma-bg border-[0.5px] border-transparent rounded-md system-xs-medium-uppercase text-text-tertiary',
+        isRunning && 'bg-state-accent-hover border-state-accent-active text-text-accent',
+        isSuccessful && 'bg-state-success-hover border-state-success-active text-text-success',
+        (isException || isFailed) && 'bg-state-warning-hover border-state-warning-active text-text-warning',
       )}>
         <div className='flex items-center'>
           {
@@ -54,7 +54,7 @@
           {
             isRunning && (
               <>
-                <RiLoader2Line className='mr-1 h-3.5 w-3.5 animate-spin' />
+                <RiLoader2Line className='animate-spin mr-1 w-3.5 h-3.5' />
                 {t('workflow.nodes.common.retry.retrying')}
               </>
             )
@@ -62,7 +62,7 @@
           {
             isSuccessful && (
               <>
-                <RiCheckboxCircleFill className='mr-1 h-3.5 w-3.5' />
+                <RiCheckboxCircleFill className='mr-1 w-3.5 h-3.5' />
                 {t('workflow.nodes.common.retry.retrySuccessful')}
               </>
             )
@@ -70,7 +70,7 @@
           {
             (isFailed || isException) && (
               <>
-                <RiAlertFill className='mr-1 h-3.5 w-3.5' />
+                <RiAlertFill className='mr-1 w-3.5 h-3.5' />
                 {t('workflow.nodes.common.retry.retryFailed')}
               </>
             )
diff --git a/app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx b/app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx
index 0e5b807..dc877a6 100644
--- a/app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx
+++ b/app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx
@@ -53,9 +53,9 @@
   return (
     <>
       <div className='pt-2'>
-        <div className='flex h-10 items-center justify-between px-4 py-2'>
+        <div className='flex items-center justify-between px-4 py-2 h-10'>
           <div className='flex items-center'>
-            <div className='system-sm-semibold-uppercase mr-0.5 text-text-secondary'>{t('workflow.nodes.common.retry.retryOnFailure')}</div>
+            <div className='mr-0.5 system-sm-semibold-uppercase text-text-secondary'>{t('workflow.nodes.common.retry.retryOnFailure')}</div>
           </div>
           <Switch
             defaultValue={retry_config?.retry_enabled}
@@ -65,8 +65,8 @@
         {
           retry_config?.retry_enabled && (
             <div className='px-4 pb-2'>
-              <div className='mb-1 flex w-full items-center'>
-                <div className='system-xs-medium-uppercase mr-2 grow text-text-secondary'>{t('workflow.nodes.common.retry.maxRetries')}</div>
+              <div className='flex items-center mb-1 w-full'>
+                <div className='grow mr-2 system-xs-medium-uppercase'>{t('workflow.nodes.common.retry.maxRetries')}</div>
                 <Slider
                   className='mr-3 w-[108px]'
                   value={retry_config?.max_retries || 3}
@@ -86,7 +86,7 @@
                 />
               </div>
               <div className='flex items-center'>
-                <div className='system-xs-medium-uppercase mr-2 grow text-text-secondary'>{t('workflow.nodes.common.retry.retryInterval')}</div>
+                <div className='grow mr-2 system-xs-medium-uppercase'>{t('workflow.nodes.common.retry.retryInterval')}</div>
                 <Slider
                   className='mr-3 w-[108px]'
                   value={retry_config?.retry_interval || 1000}
diff --git a/app/components/workflow/nodes/_base/components/retry/style.module.css b/app/components/workflow/nodes/_base/components/retry/style.module.css
index 2ce4e7b..2ce8717 100644
--- a/app/components/workflow/nodes/_base/components/retry/style.module.css
+++ b/app/components/workflow/nodes/_base/components/retry/style.module.css
@@ -2,4 +2,4 @@
 .input::-webkit-outer-spin-button {
   -webkit-appearance: none;
   margin: 0;
-}
+}
\ No newline at end of file
diff --git a/app/components/workflow/nodes/_base/components/selector.tsx b/app/components/workflow/nodes/_base/components/selector.tsx
index b14741f..3e40107 100644
--- a/app/components/workflow/nodes/_base/components/selector.tsx
+++ b/app/components/workflow/nodes/_base/components/selector.tsx
@@ -11,7 +11,7 @@
 }
 type Props = {
   className?: string
-  trigger?: React.JSX.Element
+  trigger?: JSX.Element
   DropDownIcon?: any
   noLeft?: boolean
   options: Item[]
@@ -65,14 +65,14 @@
         : (
           <div
             onClick={toggleShow}
-            className={cn(showOption && 'bg-state-base-hover', 'flex h-5 cursor-pointer items-center rounded-md pl-1 pr-0.5 text-xs font-semibold text-text-secondary hover:bg-state-base-hover')}>
-            <div className={cn('text-sm font-semibold', uppercase && 'uppercase', noValue && 'text-text-tertiary', triggerClassName)}>{!noValue ? item?.label : placeholder}</div>
-            {!readonly && <DropDownIcon className='h-3 w-3 ' />}
+            className={cn(showOption && 'bg-black/5', 'flex items-center h-5 pl-1 pr-0.5 rounded-md text-xs font-semibold text-gray-700 cursor-pointer hover:bg-black/5')}>
+            <div className={cn('text-sm font-semibold', uppercase && 'uppercase', noValue && 'text-gray-400', triggerClassName)}>{!noValue ? item?.label : placeholder}</div>
+            {!readonly && <DropDownIcon className='w-3 h-3 ' />}
           </div>
         )}
 
       {(showOption && !readonly) && (
-        <div className={cn('absolute top-[24px] z-10 w-[120px]  select-none rounded-lg border border-components-panel-border bg-components-panel-bg p-1 shadow-lg', popupClassName)}>
+        <div className={cn('absolute z-10 top-[24px] w-[120px]  p-1 border border-gray-200 shadow-lg rounded-lg bg-white select-none', popupClassName)}>
           {list.map(item => (
             <div
               key={item.value}
@@ -80,10 +80,10 @@
                 setHide()
                 onChange(item.value)
               }}
-              className={cn(itemClassName, uppercase && 'uppercase', 'flex h-[30px] min-w-[44px] cursor-pointer items-center justify-between rounded-lg px-3 text-[13px] font-medium text-text-secondary hover:bg-state-base-hover')}
+              className={cn(itemClassName, uppercase && 'uppercase', 'flex items-center h-[30px] justify-between min-w-[44px] px-3 rounded-lg cursor-pointer text-[13px] font-medium text-gray-700 hover:bg-gray-50')}
             >
               <div>{item.label}</div>
-              {showChecked && item.value === value && <Check className='h-4 w-4 text-text-primary' />}
+              {showChecked && item.value === value && <Check className='text-primary-600 w-4 h-4' />}
             </div>
           ))
           }
diff --git a/app/components/workflow/nodes/_base/components/support-var-input/index.tsx b/app/components/workflow/nodes/_base/components/support-var-input/index.tsx
index 6999a97..cf8cbbc 100644
--- a/app/components/workflow/nodes/_base/components/support-var-input/index.tsx
+++ b/app/components/workflow/nodes/_base/components/support-var-input/index.tsx
@@ -31,7 +31,7 @@
   return (
     <div
       className={
-        cn(wrapClassName, 'flex h-full w-full')
+        cn(wrapClassName, 'flex w-full h-full')
       } onClick={onFocus}
     >
       {(isFocus && !readonly && children)
@@ -40,7 +40,7 @@
         )
         : (
           <div
-            className={cn(textClassName, 'h-full w-0 grow truncate whitespace-nowrap')}
+            className={cn(textClassName, 'w-0 grow h-full whitespace-nowrap truncate')}
             title={value}
             dangerouslySetInnerHTML={{
               __html: withHightContent,
diff --git a/app/components/workflow/nodes/_base/components/title-description-input.tsx b/app/components/workflow/nodes/_base/components/title-description-input.tsx
index 062190a..f17d34a 100644
--- a/app/components/workflow/nodes/_base/components/title-description-input.tsx
+++ b/app/components/workflow/nodes/_base/components/title-description-input.tsx
@@ -3,7 +3,7 @@
   useCallback,
   useState,
 } from 'react'
-import Textarea from 'react-textarea-autosize'
+import Textarea from 'rc-textarea'
 import { useTranslation } from 'react-i18next'
 
 type TitleInputProps = {
@@ -33,8 +33,8 @@
       value={localValue}
       onChange={e => setLocalValue(e.target.value)}
       className={`
-        system-xl-semibold mr-2 h-7 min-w-0 grow appearance-none rounded-md border border-transparent bg-transparent px-1 text-text-primary
-        outline-none focus:shadow-xs
+        grow mr-2 px-1 h-7 text-text-primary system-xl-semibold rounded-md border border-transparent appearance-none outline-none
+        focus:shadow-xs min-w-0
       `}
       placeholder={t('workflow.common.addTitle') || ''}
       onBlur={handleBlur}
@@ -63,23 +63,24 @@
   return (
     <div
       className={`
-        leading-0 group flex max-h-[60px] overflow-y-auto rounded-lg bg-components-panel-bg
-        px-2 py-[5px]
+        group flex px-2 py-[5px] max-h-[60px] rounded-lg overflow-y-auto
+        leading-0 bg-components-panel-bg
         ${focus && '!shadow-xs'}
       `}
     >
       <Textarea
         value={value}
         onChange={e => onChange(e.target.value)}
-        minRows={1}
+        rows={1}
         onFocus={handleFocus}
         onBlur={handleBlur}
         className={`
-          w-full resize-none appearance-none bg-transparent text-xs
-          leading-[18px] text-text-primary caret-[#295EFF]
-          outline-none placeholder:text-text-quaternary
+          w-full text-xs text-gray-900 leading-[18px] bg-transparent
+          appearance-none outline-none resize-none
+          placeholder:text-gray-400 caret-[#295EFF]
         `}
         placeholder={t('workflow.common.addDescription') || ''}
+        autoSize
       />
     </div>
   )
diff --git a/app/components/workflow/nodes/_base/components/toggle-expand-btn.tsx b/app/components/workflow/nodes/_base/components/toggle-expand-btn.tsx
index f597b24..8f31fd1 100644
--- a/app/components/workflow/nodes/_base/components/toggle-expand-btn.tsx
+++ b/app/components/workflow/nodes/_base/components/toggle-expand-btn.tsx
@@ -23,7 +23,7 @@
   const Icon = isExpand ? RiCollapseDiagonalLine : RiExpandDiagonalLine
   return (
     <ActionButton onClick={handleToggle}>
-      <Icon className='h-4 w-4' />
+      <Icon className='w-4 h-4' />
     </ActionButton>
   )
 }
diff --git a/app/components/workflow/nodes/_base/components/variable-tag.tsx b/app/components/workflow/nodes/_base/components/variable-tag.tsx
index 83b0771..0c5c3bd 100644
--- a/app/components/workflow/nodes/_base/components/variable-tag.tsx
+++ b/app/components/workflow/nodes/_base/components/variable-tag.tsx
@@ -51,41 +51,40 @@
   const { t } = useTranslation()
   return (
     <Tooltip popupContent={!isValid && t('workflow.errorMsg.invalidVariable')}>
-      <div className={cn('border-[rgba(16, 2440,0.08)] inline-flex h-6 max-w-full items-center rounded-md border-[0.5px] border-divider-subtle bg-components-badge-white-to-dark px-1.5 text-xs shadow-xs',
+      <div className={cn('inline-flex items-center px-1.5 max-w-full h-6 text-xs rounded-md border-[0.5px] border-[rgba(16, 2440,0.08)] bg-white shadow-xs',
         !isValid && 'border-red-400 !bg-[#FEF3F2]',
       )}>
         {(!isEnv && !isChatVar && <>
           {node && (
             <>
               <VarBlockIcon
-                type={node.data.type || BlockEnum.Start}
-                className='mr-0.5 !text-text-primary'
+                type={BlockEnum.Start}
               />
               <div
-                className='max-w-[60px] truncate font-medium text-text-secondary'
+                className='max-w-[60px] truncate text-text-secondary font-medium'
                 title={node?.data.title}
               >
                 {node?.data.title}
               </div>
             </>
           )}
-          <Line3 className='mx-0.5 shrink-0' />
-          <Variable02 className={cn('mr-0.5 h-3.5 w-3.5 shrink-0 text-text-accent', isException && 'text-text-warning')} />
+          <Line3 className='shrink-0 mx-0.5' />
+          <Variable02 className={cn('shrink-0 mr-0.5 w-3.5 h-3.5 text-text-accent', isException && 'text-text-warning')} />
         </>)}
-        {isEnv && <Env className='mr-0.5 h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-        {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
+        {isEnv && <Env className='shrink-0 mr-0.5 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+        {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
         <div
-          className={cn('ml-0.5 truncate font-medium text-text-accent', (isEnv || isChatVar) && 'text-text-secondary', isException && 'text-text-warning')}
+          className={cn('truncate ml-0.5 text-text-accent font-medium', (isEnv || isChatVar) && 'text-text-secondary', isException && 'text-text-warning')}
           title={variableName}
         >
           {variableName}
         </div>
         {
           !isShort && varType && (
-            <div className='ml-0.5 shrink-0 text-text-tertiary'>{capitalize(varType)}</div>
+            <div className='shrink-0 ml-0.5 text-text-tertiary'>{capitalize(varType)}</div>
           )
         }
-        {!isValid && <RiErrorWarningFill className='ml-0.5 h-3 w-3 text-[#D92D20]' />}
+        {!isValid && <RiErrorWarningFill className='ml-0.5 w-3 h-3 text-[#D92D20]' />}
       </div>
     </Tooltip>
   )
diff --git a/app/components/workflow/nodes/_base/components/variable/assigned-var-reference-popup.tsx b/app/components/workflow/nodes/_base/components/variable/assigned-var-reference-popup.tsx
index 0e086fa..9ad5ad4 100644
--- a/app/components/workflow/nodes/_base/components/variable/assigned-var-reference-popup.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/assigned-var-reference-popup.tsx
@@ -19,7 +19,7 @@
   const { t } = useTranslation()
   // max-h-[300px] overflow-y-auto todo: use portal to handle long list
   return (
-    <div className='bg-components-panel-bg-bur w-[352px] rounded-lg border-[0.5px] border-components-panel-border p-1 shadow-lg' >
+    <div className='p-1 bg-components-panel-bg-bur rounded-lg border-[0.5px] border-components-panel-border shadow-lg w-[352px]' >
       {(!vars || vars.length === 0)
         ? <ListEmpty
           title={t('workflow.nodes.assigner.noAssignedVars') || ''}
diff --git a/app/components/workflow/nodes/_base/components/variable/constant-field.tsx b/app/components/workflow/nodes/_base/components/variable/constant-field.tsx
index 52d2675..802e778 100644
--- a/app/components/workflow/nodes/_base/components/variable/constant-field.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/constant-field.tsx
@@ -15,10 +15,8 @@
   onChange: (value: string | number, varKindType: VarKindType, varInfo?: Var) => void
 }
 
-const DEFAULT_SCHEMA = {} as CredentialFormSchema
-
 const ConstantField: FC<Props> = ({
-  schema = DEFAULT_SCHEMA,
+  schema = {} as CredentialFormSchema,
   readonly,
   value,
   onChange,
@@ -26,7 +24,7 @@
   const language = useLanguage()
   const placeholder = (schema as CredentialFormSchemaSelect).placeholder
   const handleStaticChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
-    const value = e.target.value === '' ? '' : Number.parseFloat(e.target.value)
+    const value = e.target.value === '' ? '' : parseFloat(e.target.value)
     onChange(value, VarKindType.constant)
   }, [onChange])
   const handleSelectChange = useCallback((value: string | number) => {
@@ -41,7 +39,6 @@
           wrapperClassName='w-full !h-8'
           className='flex items-center'
           disabled={readonly}
-          defaultValue={value}
           items={(schema as CredentialFormSchemaSelect).options.map(option => ({ value: option.value, name: option.label[language] || option.label.en_US }))}
           onSelect={item => handleSelectChange(item.value)}
           placeholder={placeholder?.[language] || placeholder?.en_US}
@@ -50,7 +47,7 @@
       {schema.type === FormTypeEnum.textNumber && (
         <input
           type='number'
-          className='h-8 w-full overflow-hidden rounded-lg bg-gray-100 p-2 text-[13px] font-normal leading-8 text-gray-900 placeholder:text-gray-400 focus:outline-none'
+          className='w-full h-8 leading-8 p-2 rounded-lg bg-gray-100 text-[13px] font-normal text-gray-900 placeholder:text-gray-400 focus:outline-none overflow-hidden'
           value={value}
           onChange={handleStaticChange}
           readOnly={readonly}
diff --git a/app/components/workflow/nodes/_base/components/variable/output-var-list.tsx b/app/components/workflow/nodes/_base/components/variable/output-var-list.tsx
index dba93aa..1c07461 100644
--- a/app/components/workflow/nodes/_base/components/variable/output-var-list.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/output-var-list.tsx
@@ -98,7 +98,7 @@
             onChange={handleVarTypeChange(index)}
           />
           <RemoveButton
-            className='!bg-gray-100 !p-2 hover:!bg-gray-200'
+            className='!p-2 !bg-gray-100 hover:!bg-gray-200'
             onClick={handleVarRemove(index)}
           />
         </div>
diff --git a/app/components/workflow/nodes/_base/components/variable/utils.ts b/app/components/workflow/nodes/_base/components/variable/utils.ts
index 428c204..24c2b73 100644
--- a/app/components/workflow/nodes/_base/components/variable/utils.ts
+++ b/app/components/workflow/nodes/_base/components/variable/utils.ts
@@ -3,7 +3,7 @@
 import type { CodeNodeType } from '../../../code/types'
 import type { EndNodeType } from '../../../end/types'
 import type { AnswerNodeType } from '../../../answer/types'
-import { type LLMNodeType, type StructuredOutput, Type } from '../../../llm/types'
+import type { LLMNodeType } from '../../../llm/types'
 import type { KnowledgeRetrievalNodeType } from '../../../knowledge-retrieval/types'
 import type { IfElseNodeType } from '../../../if-else/types'
 import type { TemplateTransformNodeType } from '../../../template-transform/types'
@@ -13,16 +13,13 @@
 import type { ToolNodeType } from '../../../tool/types'
 import type { ParameterExtractorNodeType } from '../../../parameter-extractor/types'
 import type { IterationNodeType } from '../../../iteration/types'
-import type { LoopNodeType } from '../../../loop/types'
 import type { ListFilterNodeType } from '../../../list-operator/types'
-import { OUTPUT_FILE_SUB_VARIABLES } from '../../../constants'
+import { OUTPUT_FILE_SUB_VARIABLES } from '../../../if-else/default'
 import type { DocExtractorNodeType } from '../../../document-extractor/types'
 import { BlockEnum, InputVarType, VarType } from '@/app/components/workflow/types'
 import type { StartNodeType } from '@/app/components/workflow/nodes/start/types'
 import type { ConversationVariable, EnvironmentVariable, Node, NodeOutPutVar, ValueSelector, Var } from '@/app/components/workflow/types'
 import type { VariableAssignerNodeType } from '@/app/components/workflow/nodes/variable-assigner/types'
-import type { Field as StructField } from '@/app/components/workflow/nodes/llm/types'
-
 import {
   HTTP_REQUEST_OUTPUT_STRUCT,
   KNOWLEDGE_RETRIEVAL_OUTPUT_STRUCT,
@@ -35,7 +32,6 @@
 } from '@/app/components/workflow/constants'
 import type { PromptItem } from '@/models/debug'
 import { VAR_REGEX } from '@/config'
-import type { AgentNodeType } from '../../../agent/types'
 
 export const isSystemVar = (valueSelector: ValueSelector) => {
   return valueSelector[0] === 'sys' || valueSelector[1] === 'sys'
@@ -57,110 +53,21 @@
   } as any)[type] || VarType.string
 }
 
-const structTypeToVarType = (type: Type, isArray?: boolean): VarType => {
-  if (isArray) {
-    return ({
-      [Type.string]: VarType.arrayString,
-      [Type.number]: VarType.arrayNumber,
-      [Type.object]: VarType.arrayObject,
-    } as any)[type] || VarType.string
-  }
-  return ({
-    [Type.string]: VarType.string,
-    [Type.number]: VarType.number,
-    [Type.boolean]: VarType.boolean,
-    [Type.object]: VarType.object,
-    [Type.array]: VarType.array,
-  } as any)[type] || VarType.string
-}
-
-export const varTypeToStructType = (type: VarType): Type => {
-  return ({
-    [VarType.string]: Type.string,
-    [VarType.number]: Type.number,
-    [VarType.boolean]: Type.boolean,
-    [VarType.object]: Type.object,
-    [VarType.array]: Type.array,
-  } as any)[type] || Type.string
-}
-
-const findExceptVarInStructuredProperties = (properties: Record<string, StructField>, filterVar: (payload: Var, selector: ValueSelector) => boolean): Record<string, StructField> => {
-  const res = produce(properties, (draft) => {
-    Object.keys(properties).forEach((key) => {
-      const item = properties[key]
-      const isObj = item.type === Type.object
-      const isArray = item.type === Type.array
-      const arrayType = item.items?.type
-
-      if (!isObj && !filterVar({
-        variable: key,
-        type: structTypeToVarType(isArray ? arrayType! : item.type, isArray),
-      }, [key])) {
-        delete properties[key]
-        return
-      }
-      if (item.type === Type.object && item.properties)
-        item.properties = findExceptVarInStructuredProperties(item.properties, filterVar)
-    })
-    return draft
-  })
-  return res
-}
-
-const findExceptVarInStructuredOutput = (structuredOutput: StructuredOutput, filterVar: (payload: Var, selector: ValueSelector) => boolean): StructuredOutput => {
-  const res = produce(structuredOutput, (draft) => {
-    const properties = draft.schema.properties
-    Object.keys(properties).forEach((key) => {
-      const item = properties[key]
-      const isObj = item.type === Type.object
-      const isArray = item.type === Type.array
-      const arrayType = item.items?.type
-      if (!isObj && !filterVar({
-        variable: key,
-        type: structTypeToVarType(isArray ? arrayType! : item.type, isArray),
-      }, [key])) {
-        delete properties[key]
-        return
-      }
-      if (item.type === Type.object && item.properties)
-        item.properties = findExceptVarInStructuredProperties(item.properties, filterVar)
-    })
-    return draft
-  })
-  return res
-}
-
 const findExceptVarInObject = (obj: any, filterVar: (payload: Var, selector: ValueSelector) => boolean, value_selector: ValueSelector, isFile?: boolean): Var => {
   const { children } = obj
-  const isStructuredOutput = !!(children as StructuredOutput)?.schema?.properties
-
-  let childrenResult: Var[] | StructuredOutput | undefined
-
-  if (isStructuredOutput) {
-    childrenResult = findExceptVarInStructuredOutput(children, filterVar)
-  }
- else if (Array.isArray(children)) {
-    childrenResult = children.filter((item: Var) => {
-      const { children: itemChildren } = item
-      const currSelector = [...value_selector, item.variable]
-
-      if (!itemChildren)
-        return filterVar(item, currSelector)
-
-      const filteredObj = findExceptVarInObject(item, filterVar, currSelector, false) // File doesn't contain file children
-      return filteredObj.children && (filteredObj.children as Var[])?.length > 0
-    })
-  }
- else {
-    childrenResult = []
-  }
-
   const res: Var = {
     variable: obj.variable,
     type: isFile ? VarType.file : VarType.object,
-    children: childrenResult,
-  }
+    children: children.filter((item: Var) => {
+      const { children } = item
+      const currSelector = [...value_selector, item.variable]
+      if (!children)
+        return filterVar(item, currSelector)
 
+      const obj = findExceptVarInObject(item, filterVar, currSelector, false) // File doesn't contains file children
+      return obj.children && obj.children?.length > 0
+    }),
+  }
   return res
 }
 
@@ -230,17 +137,10 @@
     }
 
     case BlockEnum.LLM: {
-      res.vars = [...LLM_OUTPUT_STRUCT]
-      if (data.structured_output_enabled && data.structured_output?.schema?.properties && Object.keys(data.structured_output.schema.properties).length > 0) {
-        res.vars.push({
-          variable: 'structured_output',
-          type: VarType.object,
-          children: data.structured_output,
-        })
-      }
-
+      res.vars = LLM_OUTPUT_STRUCT
       break
     }
+
     case BlockEnum.KnowledgeRetrieval: {
       res.vars = KNOWLEDGE_RETRIEVAL_OUTPUT_STRUCT
       break
@@ -305,7 +205,6 @@
       break
     }
 
-    // eslint-disable-next-line sonarjs/no-duplicated-branches
     case BlockEnum.VariableAggregator: {
       const {
         output_type,
@@ -336,36 +235,7 @@
     }
 
     case BlockEnum.Tool: {
-      const {
-        output_schema,
-      } = data as ToolNodeType
-      if (!output_schema) {
-        res.vars = TOOL_OUTPUT_STRUCT
-      }
-      else {
-        const outputSchema: any[] = []
-        Object.keys(output_schema.properties).forEach((outputKey) => {
-          const output = output_schema.properties[outputKey]
-          const dataType = output.type
-          outputSchema.push({
-            variable: outputKey,
-            type: dataType === 'array'
-              ? `array[${output.items?.type.slice(0, 1).toLocaleLowerCase()}${output.items?.type.slice(1)}]`
-              : `${output.type.slice(0, 1).toLocaleLowerCase()}${output.type.slice(1)}`,
-            description: output.description,
-            children: output.type === 'object' ? {
-              schema: {
-                type: 'object',
-                properties: output.properties,
-              },
-            } : undefined,
-          })
-        })
-        res.vars = [
-          ...TOOL_OUTPUT_STRUCT,
-          ...outputSchema,
-        ]
-      }
+      res.vars = TOOL_OUTPUT_STRUCT
       break
     }
 
@@ -389,21 +259,6 @@
           type: (data as IterationNodeType).output_type || VarType.arrayString,
         },
       ]
-      break
-    }
-
-    case BlockEnum.Loop: {
-      const { loop_variables } = data as LoopNodeType
-      res.isLoop = true
-      res.vars = loop_variables?.map((v) => {
-        return {
-          variable: v.label,
-          type: v.var_type,
-          isLoopVariable: true,
-          nodeId: res.nodeId,
-        }
-      }) || []
-
       break
     }
 
@@ -434,25 +289,6 @@
           variable: 'last_record',
           type: (data as ListFilterNodeType).item_var_type,
         },
-      ]
-      break
-    }
-
-    case BlockEnum.Agent: {
-      const payload = data as AgentNodeType
-      const outputs: Var[] = []
-      Object.keys(payload.output_schema?.properties || {}).forEach((outputKey) => {
-        const output = payload.output_schema.properties[outputKey]
-        outputs.push({
-          variable: outputKey,
-          type: output.type === 'array'
-            ? `Array[${output.items?.type.slice(0, 1).toLocaleUpperCase()}${output.items?.type.slice(1)}]` as VarType
-            : `${output.type.slice(0, 1).toLocaleUpperCase()}${output.type.slice(1)}` as VarType,
-        })
-      })
-      res.vars = [
-        ...outputs,
-        ...TOOL_OUTPUT_STRUCT,
       ]
       break
     }
@@ -501,7 +337,7 @@
   res.vars = res.vars.filter((v) => {
     const isCurrentMatched = filterVar(v, (() => {
       const variableArr = v.variable.split('.')
-      const [first] = variableArr
+      const [first, ..._other] = variableArr
       if (first === 'sys' || first === 'env' || first === 'conversation')
         return variableArr
 
@@ -526,7 +362,7 @@
       return false
 
     const obj = findExceptVarInObject(isFile ? { ...v, children } : v, filterVar, selector, isFile)
-    return obj?.children && ((obj?.children as Var[]).length > 0 || Object.keys((obj?.children as StructuredOutput)?.schema?.properties || {}).length > 0)
+    return obj?.children && obj?.children.length > 0
   }).map((v) => {
     const isFile = v.type === VarType.file
 
@@ -577,20 +413,8 @@
       chatVarList: conversationVariables,
     },
   }
-  // Sort nodes in reverse chronological order (most recent first)
-  const sortedNodes = [...nodes].sort((a, b) => {
-    if (a.data.type === BlockEnum.Start) return 1
-    if (b.data.type === BlockEnum.Start) return -1
-    if (a.data.type === 'env') return 1
-    if (b.data.type === 'env') return -1
-    if (a.data.type === 'conversation') return 1
-    if (b.data.type === 'conversation') return -1
-    // sort nodes by x position
-    return (b.position?.x || 0) - (a.position?.x || 0)
-  })
-
   const res = [
-    ...sortedNodes.filter(node => SUPPORT_OUTPUT_VARS_NODE.includes(node?.data?.type)),
+    ...nodes.filter(node => SUPPORT_OUTPUT_VARS_NODE.includes(node.data.type)),
     ...(environmentVariables.length > 0 ? [ENV_NODE] : []),
     ...((isChatMode && conversationVariables.length > 0) ? [CHAT_VAR_NODE] : []),
   ].map((node) => {
@@ -608,57 +432,6 @@
 }: {
   valueSelector: ValueSelector
   beforeNodesOutputVars: NodeOutPutVar[]
-}): VarType => {
-  const outputVarNodeId = valueSelector[0]
-  const isSystem = isSystemVar(valueSelector)
-
-  const targetVar = isSystem ? beforeNodesOutputVars.find(v => v.isStartNode) : beforeNodesOutputVars.find(v => v.nodeId === outputVarNodeId)
-
-  if (!targetVar)
-    return VarType.string
-
-  let arrayType: VarType = VarType.string
-
-  let curr: any = targetVar.vars
-  if (isSystem) {
-    arrayType = curr.find((v: any) => v.variable === (valueSelector).join('.'))?.type
-  }
-  else {
-    for (let i = 1; i < valueSelector.length; i++) {
-      const key = valueSelector[i]
-      const isLast = i === valueSelector.length - 1
-      curr = Array.isArray(curr) ? curr.find(v => v.variable === key) : []
-
-      if (isLast)
-      arrayType = curr?.type
-      else if (curr?.type === VarType.object || curr?.type === VarType.file)
-      curr = curr.children || []
-    }
-  }
-
-  switch (arrayType as VarType) {
-    case VarType.arrayString:
-      return VarType.string
-    case VarType.arrayNumber:
-      return VarType.number
-    case VarType.arrayObject:
-      return VarType.object
-    case VarType.array:
-      return VarType.any
-    case VarType.arrayFile:
-      return VarType.file
-    default:
-      return VarType.string
-  }
-}
-
-const getLoopItemType = ({
-  valueSelector,
-  beforeNodesOutputVars,
-}: {
-  valueSelector: ValueSelector
-  beforeNodesOutputVars: NodeOutPutVar[]
-
 }): VarType => {
   const outputVarNodeId = valueSelector[0]
   const isSystem = isSystemVar(valueSelector)
@@ -707,17 +480,16 @@
   parentNode,
   valueSelector,
   isIterationItem,
-  isLoopItem,
   availableNodes,
   isChatMode,
   isConstant,
   environmentVariables = [],
   conversationVariables = [],
-}: {
+}:
+{
   valueSelector: ValueSelector
   parentNode?: Node | null
   isIterationItem?: boolean
-  isLoopItem?: boolean
   availableNodes: any[]
   isChatMode: boolean
   isConstant?: boolean
@@ -753,31 +525,11 @@
     if (valueSelector[1] === 'index')
       return VarType.number
   }
-
-  const isLoopInnerVar = parentNode?.data.type === BlockEnum.Loop
-  if (isLoopItem) {
-    return getLoopItemType({
-      valueSelector,
-      beforeNodesOutputVars,
-    })
-  }
-  if (isLoopInnerVar) {
-    if (valueSelector[1] === 'item') {
-      const itemType = getLoopItemType({
-        valueSelector: (parentNode?.data as any).iterator_selector || [],
-        beforeNodesOutputVars,
-      })
-      return itemType
-    }
-    if (valueSelector[1] === 'index')
-      return VarType.number
-  }
-
   const isSystem = isSystemVar(valueSelector)
   const isEnv = isENV(valueSelector)
   const isChatVar = isConversationVar(valueSelector)
   const startNode = availableNodes.find((node: any) => {
-    return node?.data.type === BlockEnum.Start
+    return node.data.type === BlockEnum.Start
   })
 
   const targetVarNodeId = isSystem ? startNode?.id : valueSelector[0]
@@ -788,33 +540,10 @@
 
   let type: VarType = VarType.string
   let curr: any = targetVar.vars
-
   if (isSystem || isEnv || isChatVar) {
     return curr.find((v: any) => v.variable === (valueSelector as ValueSelector).join('.'))?.type
   }
   else {
-    const targetVar = curr.find((v: any) => v.variable === valueSelector[1])
-    if (!targetVar)
-      return VarType.string
-
-    const isStructuredOutputVar = !!targetVar.children?.schema?.properties
-    if (isStructuredOutputVar) {
-      if (valueSelector.length === 2) { // root
-        return VarType.object
-      }
-      let currProperties = targetVar.children.schema;
-      (valueSelector as ValueSelector).slice(2).forEach((key, i) => {
-        const isLast = i === valueSelector.length - 3
-        if (!currProperties)
-          return
-
-        currProperties = currProperties.properties[key]
-        if (isLast)
-          type = structTypeToVarType(currProperties?.type)
-      })
-      return type
-    }
-
     (valueSelector as ValueSelector).slice(1).forEach((key, i) => {
       const isLast = i === valueSelector.length - 2
       if (Array.isArray(curr))
@@ -897,9 +626,6 @@
         },
       ],
     }
-    const iterationIndex = beforeNodesOutputVars.findIndex(v => v.nodeId === iterationNode?.id)
-    if (iterationIndex > -1)
-      beforeNodesOutputVars.splice(iterationIndex, 1)
     beforeNodesOutputVars.unshift(iterationVar)
   }
   return beforeNodesOutputVars
@@ -954,7 +680,7 @@
       break
     }
     case BlockEnum.LLM: {
-      const payload = data as LLMNodeType
+      const payload = (data as LLMNodeType)
       const isChatModel = payload.model?.mode === 'chat'
       let prompts: string[] = []
       if (isChatModel) {
@@ -992,19 +718,19 @@
       break
     }
     case BlockEnum.QuestionClassifier: {
-      const payload = data as QuestionClassifierNodeType
+      const payload = (data as QuestionClassifierNodeType)
       res = [payload.query_variable_selector]
       const varInInstructions = matchNotSystemVars([payload.instruction || ''])
       res.push(...varInInstructions)
       break
     }
     case BlockEnum.HttpRequest: {
-      const payload = data as HttpNodeType
+      const payload = (data as HttpNodeType)
       res = matchNotSystemVars([payload.url, payload.headers, payload.params, typeof payload.body.data === 'string' ? payload.body.data : payload.body.data.map(d => d.value).join('')])
       break
     }
     case BlockEnum.Tool: {
-      const payload = data as ToolNodeType
+      const payload = (data as ToolNodeType)
       const mixVars = matchNotSystemVars(Object.keys(payload.tool_parameters)?.filter(key => payload.tool_parameters[key].type === ToolVarType.mixed).map(key => payload.tool_parameters[key].value) as string[])
       const vars = Object.keys(payload.tool_parameters).filter(key => payload.tool_parameters[key].type === ToolVarType.variable).map(key => payload.tool_parameters[key].value as string) || []
       res = [...(mixVars as ValueSelector[]), ...(vars as any)]
@@ -1022,7 +748,7 @@
     }
 
     case BlockEnum.ParameterExtractor: {
-      const payload = data as ParameterExtractorNodeType
+      const payload = (data as ParameterExtractorNodeType)
       res = [payload.query]
       const varInInstructions = matchNotSystemVars([payload.instruction || ''])
       res.push(...varInInstructions)
@@ -1034,31 +760,8 @@
       break
     }
 
-    case BlockEnum.Loop: {
-      const payload = data as LoopNodeType
-      res = payload.break_conditions?.map((c) => {
-        return c.variable_selector || []
-      }) || []
-      break
-    }
-
     case BlockEnum.ListFilter: {
       res = [(data as ListFilterNodeType).variable]
-      break
-    }
-
-    case BlockEnum.Agent: {
-      const payload = data as AgentNodeType
-      const valueSelectors: ValueSelector[] = []
-      if (!payload.agent_parameters)
-        break
-
-      Object.keys(payload.agent_parameters || {}).forEach((key) => {
-        const { value } = payload.agent_parameters![key]
-        if (typeof value === 'string')
-          valueSelectors.push(...matchNotSystemVars([value]))
-      })
-      res = valueSelectors
       break
     }
   }
@@ -1072,7 +775,7 @@
   let res: string | string[] = ''
   switch (type) {
     case BlockEnum.LLM: {
-      const payload = data as LLMNodeType
+      const payload = (data as LLMNodeType)
       res = [`#${valueSelector.join('.')}#`]
       if (payload.context?.variable_selector.join('.') === valueSelector.join('.'))
         res.push('#context#')
@@ -1294,7 +997,6 @@
         }
         break
       }
-      // eslint-disable-next-line sonarjs/no-duplicated-branches
       case BlockEnum.VariableAggregator: {
         const payload = data as VariableAssignerNodeType
         if (payload.variables) {
@@ -1320,17 +1022,6 @@
 
         break
       }
-      case BlockEnum.Loop: {
-        const payload = data as LoopNodeType
-        if (payload.break_conditions) {
-          payload.break_conditions = payload.break_conditions.map((c) => {
-            if (c.variable_selector?.join('.') === oldVarSelector.join('.'))
-              c.variable_selector = newVarSelector
-            return c
-          })
-        }
-        break
-      }
       case BlockEnum.ListFilter: {
         const payload = data as ListFilterNodeType
         if (payload.variable.join('.') === oldVarSelector.join('.'))
@@ -1341,28 +1032,15 @@
   })
   return newNode
 }
-
 const varToValueSelectorList = (v: Var, parentValueSelector: ValueSelector, res: ValueSelector[]) => {
   if (!v.variable)
     return
 
   res.push([...parentValueSelector, v.variable])
-  const isStructuredOutput = !!(v.children as StructuredOutput)?.schema?.properties
 
-  if ((v.children as Var[])?.length > 0) {
-    (v.children as Var[]).forEach((child) => {
+  if (v.children && v.children.length > 0) {
+    v.children.forEach((child) => {
       varToValueSelectorList(child, [...parentValueSelector, v.variable], res)
-    })
-  }
-  if (isStructuredOutput) {
-    Object.keys((v.children as StructuredOutput)?.schema?.properties || {}).forEach((key) => {
-      const type = (v.children as StructuredOutput)?.schema?.properties[key].type
-      const isArray = type === Type.array
-      const arrayType = (v.children as StructuredOutput)?.schema?.properties[key].items?.type
-      varToValueSelectorList({
-        variable: key,
-        type: structTypeToVarType(isArray ? arrayType! : type, isArray),
-      }, [...parentValueSelector, v.variable], res)
     })
   }
 }
@@ -1398,16 +1076,7 @@
     }
 
     case BlockEnum.LLM: {
-      const vars = [...LLM_OUTPUT_STRUCT]
-      const llmNodeData = data as LLMNodeType
-      if (llmNodeData.structured_output_enabled && llmNodeData.structured_output?.schema?.properties && Object.keys(llmNodeData.structured_output.schema.properties).length > 0) {
-        vars.push({
-          variable: 'structured_output',
-          type: VarType.object,
-          children: llmNodeData.structured_output,
-        })
-      }
-      varsToValueSelectorList(vars, [id], res)
+      varsToValueSelectorList(LLM_OUTPUT_STRUCT, [id], res)
       break
     }
 
@@ -1470,11 +1139,6 @@
     }
 
     case BlockEnum.Iteration: {
-      res.push([id, 'output'])
-      break
-    }
-
-    case BlockEnum.Loop: {
       res.push([id, 'output'])
       break
     }
diff --git a/app/components/workflow/nodes/_base/components/variable/var-list.tsx b/app/components/workflow/nodes/_base/components/variable/var-list.tsx
index 72e9384..fe2bb20 100644
--- a/app/components/workflow/nodes/_base/components/variable/var-list.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/var-list.tsx
@@ -99,7 +99,10 @@
             isSupportFileVar={isSupportFileVar}
           />
           {!readonly && (
-            <RemoveButton onClick={handleVarRemove(index)}/>
+            <RemoveButton
+              className='!p-2 !bg-gray-100 hover:!bg-gray-200'
+              onClick={handleVarRemove(index)}
+            />
           )}
         </div>
       ))}
diff --git a/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx b/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx
index 789da34..cdcea64 100644
--- a/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx
@@ -6,14 +6,13 @@
   RiArrowDownSLine,
   RiCloseLine,
   RiErrorWarningFill,
-  RiMoreLine,
 } from '@remixicon/react'
 import produce from 'immer'
 import { useStoreApi } from 'reactflow'
 import RemoveButton from '../remove-button'
 import useAvailableVarList from '../../hooks/use-available-var-list'
 import VarReferencePopup from './var-reference-popup'
-import { getNodeInfoById, isConversationVar, isENV, isSystemVar, varTypeToStructType } from './utils'
+import { getNodeInfoById, isConversationVar, isENV, isSystemVar } from './utils'
 import ConstantField from './constant-field'
 import cn from '@/utils/classnames'
 import type { Node, NodeOutPutVar, ValueSelector, Var } from '@/app/components/workflow/types'
@@ -38,8 +37,6 @@
 import Badge from '@/app/components/base/badge'
 import Tooltip from '@/app/components/base/tooltip'
 import { isExceptionVariable } from '@/app/components/workflow/utils'
-import VarFullPathPanel from './var-full-path-panel'
-import { noop } from 'lodash-es'
 
 const TRIGGER_DEFAULT_WIDTH = 227
 
@@ -67,18 +64,15 @@
   placeholder?: string
   minWidth?: number
   popupFor?: 'assigned' | 'toAssigned'
-  zIndex?: number
 }
-
-const DEFAULT_VALUE_SELECTOR: Props['value'] = []
 
 const VarReferencePicker: FC<Props> = ({
   nodeId,
   readonly,
   className,
   isShowNodeName = true,
-  value = DEFAULT_VALUE_SELECTOR,
-  onOpen = noop,
+  value = [],
+  onOpen = () => { },
   onChange,
   isSupportConstantValue,
   defaultVarKindType = VarKindType.constant,
@@ -96,7 +90,6 @@
   placeholder,
   minWidth,
   popupFor,
-  zIndex,
 }) => {
   const { t } = useTranslation()
   const store = useStoreApi()
@@ -106,7 +99,7 @@
   const isChatMode = useIsChatMode()
 
   const { getCurrentVariableType } = useWorkflowVariables()
-  const { availableVars, availableNodesWithParent: availableNodes } = useAvailableVarList(nodeId, {
+  const { availableNodes, availableVars } = useAvailableVarList(nodeId, {
     onlyLeafNodeVar,
     passedInAvailableNodes,
     filterVar,
@@ -118,9 +111,6 @@
   const node = getNodes().find(n => n.id === nodeId)
   const isInIteration = !!node?.data.isInIteration
   const iterationNode = isInIteration ? getNodes().find(n => n.id === node.parentId) : null
-
-  const isInLoop = !!node?.data.isInLoop
-  const loopNode = isInLoop ? getNodes().find(n => n.id === node.parentId) : null
 
   const triggerRef = useRef<HTMLDivElement>(null)
   const [triggerWidth, setTriggerWidth] = useState(TRIGGER_DEFAULT_WIDTH)
@@ -150,14 +140,6 @@
     return false
   }, [isInIteration, value, node])
 
-  const isLoopVar = useMemo(() => {
-    if (!isInLoop)
-      return false
-    if (value[0] === node?.parentId && ['item', 'index'].includes(value[1]))
-      return true
-    return false
-  }, [isInLoop, value, node])
-
   const outputVarNodeId = hasValue ? value[0] : ''
   const outputVarNode = useMemo(() => {
     if (!hasValue || isConstant)
@@ -166,24 +148,22 @@
     if (isIterationVar)
       return iterationNode?.data
 
-    if (isLoopVar)
-      return loopNode?.data
-
     if (isSystemVar(value as ValueSelector))
       return startNode?.data
 
     return getNodeInfoById(availableNodes, outputVarNodeId)?.data
-  }, [value, hasValue, isConstant, isIterationVar, iterationNode, availableNodes, outputVarNodeId, startNode, isLoopVar, loopNode])
-
-  const isShowAPart = (value as ValueSelector).length > 2
+  }, [value, hasValue, isConstant, isIterationVar, iterationNode, availableNodes, outputVarNodeId, startNode])
 
   const varName = useMemo(() => {
-    if (!hasValue)
-      return ''
+    if (hasValue) {
+      const isSystem = isSystemVar(value as ValueSelector)
+      let varName = ''
+      if (Array.isArray(value))
+        varName = value.length >= 3 ? (value as ValueSelector).slice(-2).join('.') : value[value.length - 1]
 
-    const isSystem = isSystemVar(value as ValueSelector)
-    const varName = Array.isArray(value) ? value[(value as ValueSelector).length - 1] : ''
-    return `${isSystem ? 'sys.' : ''}${varName}`
+      return `${isSystem ? 'sys.' : ''}${varName}`
+    }
+    return ''
   }, [hasValue, value])
 
   const varKindTypes = [
@@ -238,7 +218,7 @@
   }, [onChange, varKindType])
 
   const type = getCurrentVariableType({
-    parentNode: isInIteration ? iterationNode : loopNode,
+    parentNode: iterationNode,
     valueSelector: value as ValueSelector,
     availableNodes,
     isChatMode,
@@ -271,22 +251,6 @@
 
   const WrapElem = isSupportConstantValue ? 'div' : PortalToFollowElemTrigger
   const VarPickerWrap = !isSupportConstantValue ? 'div' : PortalToFollowElemTrigger
-
-  const tooltipPopup = useMemo(() => {
-    if (isValidVar && isShowAPart) {
-      return (
-        <VarFullPathPanel
-          nodeName={outputVarNode?.title}
-          path={(value as ValueSelector).slice(1)}
-          varType={varTypeToStructType(type)}
-          nodeType={outputVarNode?.type}
-        />)
-    }
-    if (!isValidVar && hasValue)
-      return t('workflow.errorMsg.invalidVariable')
-
-    return null
-  }, [isValidVar, isShowAPart, hasValue, t, outputVarNode?.title, outputVarNode?.type, value, type])
   return (
     <div className={cn(className, !readonly && 'cursor-pointer')}>
       <PortalToFollowElem
@@ -298,27 +262,27 @@
           if (readonly)
             return
           !isConstant ? setOpen(!open) : setControlFocus(Date.now())
-        }} className='group/picker-trigger-wrap relative !flex'>
+        }} className='!flex group/picker-trigger-wrap relative'>
           <>
             {isAddBtnTrigger
               ? (
                 <div>
-                  <AddButton onClick={noop}></AddButton>
+                  <AddButton onClick={() => { }}></AddButton>
                 </div>
               )
-              : (<div ref={!isSupportConstantValue ? triggerRef : null} className={cn((open || isFocus) ? 'border-gray-300' : 'border-gray-100', 'group/wrap relative flex h-8 w-full items-center', !isSupportConstantValue && 'rounded-lg bg-components-input-bg-normal p-1', isInTable && 'border-none bg-transparent', readonly && 'bg-components-input-bg-disabled')}>
+              : (<div ref={!isSupportConstantValue ? triggerRef : null} className={cn((open || isFocus) ? 'border-gray-300' : 'border-gray-100', 'relative group/wrap flex items-center w-full h-8', !isSupportConstantValue && 'p-1 rounded-lg bg-components-input-bg-normal', isInTable && 'bg-transparent border-none', readonly && 'bg-components-input-bg-disabled')}>
                 {isSupportConstantValue
                   ? <div onClick={(e) => {
                     e.stopPropagation()
                     setOpen(false)
                     setControlFocus(Date.now())
-                  }} className='mr-1 flex h-full items-center space-x-1'>
+                  }} className='h-full mr-1 flex items-center space-x-1'>
                     <TypeSelector
                       noLeft
                       trigger={
-                        <div className='radius-md flex h-8 items-center bg-components-input-bg-normal px-2'>
-                          <div className='system-sm-regular mr-1 text-components-input-text-filled'>{varKindTypes.find(item => item.value === varKindType)?.label}</div>
-                          <RiArrowDownSLine className='h-4 w-4 text-text-quaternary' />
+                        <div className='flex items-center h-8 px-2 radius-md bg-components-input-bg-normal'>
+                          <div className='mr-1 system-sm-regular text-components-input-text-filled'>{varKindTypes.find(item => item.value === varKindType)?.label}</div>
+                          <RiArrowDownSLine className='w-4 h-4 text-text-quaternary' />
                         </div>
                       }
                       popupClassName='top-8'
@@ -330,7 +294,7 @@
                     />
                   </div>
                   : (!hasValue && <div className='ml-1.5 mr-1'>
-                    <Variable02 className={`h-4 w-4 ${readonly ? 'text-components-input-text-disabled' : 'text-components-input-text-placeholder'}`} />
+                    <Variable02 className={`w-4 h-4 ${readonly ? 'text-components-input-text-disabled' : 'text-components-input-text-placeholder'}`} />
                   </div>)}
                 {isConstant
                   ? (
@@ -348,49 +312,43 @@
                           return
                         !isConstant ? setOpen(!open) : setControlFocus(Date.now())
                       }}
-                      className='h-full grow'
+                      className='grow h-full'
                     >
-                      <div ref={isSupportConstantValue ? triggerRef : null} className={cn('h-full', isSupportConstantValue && 'flex items-center rounded-lg bg-components-panel-bg py-1 pl-1')}>
-                        <Tooltip noDecoration={isShowAPart} popupContent={tooltipPopup}>
-                          <div className={cn('h-full items-center rounded-[5px] px-1.5', hasValue ? 'inline-flex bg-components-badge-white-to-dark' : 'flex')}>
+                      <div ref={isSupportConstantValue ? triggerRef : null} className={cn('h-full', isSupportConstantValue && 'flex items-center pl-1 py-1 rounded-lg bg-gray-100')}>
+                        <Tooltip popupContent={!isValidVar && hasValue && t('workflow.errorMsg.invalidVariable')}>
+                          <div className={cn('h-full items-center px-1.5 rounded-[5px]', hasValue ? 'bg-white inline-flex' : 'flex')}>
                             {hasValue
                               ? (
                                 <>
                                   {isShowNodeName && !isEnv && !isChatVar && (
                                     <div className='flex items-center'>
-                                      <div className='h-3 px-[1px]'>
+                                      <div className='px-[1px] h-3'>
                                         {outputVarNode?.type && <VarBlockIcon
-                                          className='!text-text-primary'
+                                          className='!text-gray-900'
                                           type={outputVarNode.type}
                                         />}
                                       </div>
-                                      <div className='mx-0.5 truncate text-xs font-medium text-text-secondary' title={outputVarNode?.title} style={{
+                                      <div className='mx-0.5 text-xs font-medium text-gray-700 truncate' title={outputVarNode?.title} style={{
                                         maxWidth: maxNodeNameWidth,
                                       }}>{outputVarNode?.title}</div>
                                       <Line3 className='mr-0.5'></Line3>
                                     </div>
                                   )}
-                                  {isShowAPart && (
-                                    <div className='flex items-center'>
-                                      <RiMoreLine className='h-3 w-3 text-text-secondary' />
-                                      <Line3 className='mr-0.5 text-divider-deep'></Line3>
-                                    </div>
-                                  )}
-                                  <div className='flex items-center text-text-accent'>
-                                    {!hasValue && <Variable02 className='h-3.5 w-3.5' />}
-                                    {isEnv && <Env className='h-3.5 w-3.5 text-util-colors-violet-violet-600' />}
-                                    {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
-                                    <div className={cn('ml-0.5 truncate text-xs font-medium', isEnv && '!text-text-secondary', isChatVar && 'text-util-colors-teal-teal-700', isException && 'text-text-warning')} title={varName} style={{
+                                  <div className='flex items-center text-primary-600'>
+                                    {!hasValue && <Variable02 className='w-3.5 h-3.5' />}
+                                    {isEnv && <Env className='w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+                                    {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
+                                    <div className={cn('ml-0.5 text-xs font-medium truncate', isEnv && '!text-text-secondary', isChatVar && 'text-util-colors-teal-teal-700', isException && 'text-text-warning')} title={varName} style={{
                                       maxWidth: maxVarNameWidth,
                                     }}>{varName}</div>
                                   </div>
-                                  <div className='system-xs-regular ml-0.5 truncate text-center capitalize text-text-tertiary' title={type} style={{
+                                  <div className='ml-0.5 capitalize truncate text-text-tertiary text-center system-xs-regular' title={type} style={{
                                     maxWidth: maxTypeWidth,
                                   }}>{type}</div>
-                                  {!isValidVar && <RiErrorWarningFill className='ml-0.5 h-3 w-3 text-text-destructive' />}
+                                  {!isValidVar && <RiErrorWarningFill className='ml-0.5 w-3 h-3 text-[#D92D20]' />}
                                 </>
                               )
-                              : <div className={`overflow-hidden ${readonly ? 'text-components-input-text-disabled' : 'text-components-input-text-placeholder'} system-sm-regular text-ellipsis`}>{placeholder ?? t('workflow.common.setVarValuePlaceholder')}</div>}
+                              : <div className={`overflow-hidden ${readonly ? 'text-components-input-text-disabled' : 'text-components-input-text-placeholder'} text-ellipsis system-sm-regular`}>{placeholder ?? t('workflow.common.setVarValuePlaceholder')}</div>}
                           </div>
                         </Tooltip>
                       </div>
@@ -398,10 +356,10 @@
                     </VarPickerWrap>
                   )}
                 {(hasValue && !readonly && !isInTable) && (<div
-                  className='group invisible absolute right-1 top-[50%] h-5 translate-y-[-50%] cursor-pointer rounded-md p-1 hover:bg-state-base-hover group-hover/wrap:visible'
+                  className='invisible group-hover/wrap:visible absolute h-5 right-1 top-[50%] translate-y-[-50%] group p-1 rounded-md hover:bg-black/5 cursor-pointer'
                   onClick={handleClearVar}
                 >
-                  <RiCloseLine className='h-3.5 w-3.5 text-text-tertiary group-hover:text-text-secondary' />
+                  <RiCloseLine className='w-3.5 h-3.5 text-gray-500 group-hover:text-gray-800' />
                 </div>)}
                 {!hasValue && valueTypePlaceHolder && (
                   <Badge
@@ -413,7 +371,7 @@
               </div>)}
             {!readonly && isInTable && (
               <RemoveButton
-                className='absolute right-1 top-0.5 hidden group-hover/picker-trigger-wrap:block'
+                className='group-hover/picker-trigger-wrap:block hidden absolute right-1 top-0.5'
                 onClick={() => onRemove?.()}
               />
             )}
@@ -428,7 +386,7 @@
           </>
         </WrapElem>
         <PortalToFollowElemContent style={{
-          zIndex: zIndex || 100,
+          zIndex: 100,
         }} className='mt-1'>
           {!isConstant && (
             <VarReferencePopup
diff --git a/app/components/workflow/nodes/_base/components/variable/var-reference-popup.tsx b/app/components/workflow/nodes/_base/components/variable/var-reference-popup.tsx
index e35977a..d9a4d2c 100644
--- a/app/components/workflow/nodes/_base/components/variable/var-reference-popup.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/var-reference-popup.tsx
@@ -27,7 +27,7 @@
   const { locale } = useContext(I18n)
   // max-h-[300px] overflow-y-auto todo: use portal to handle long list
   return (
-    <div className='space-y-1 rounded-lg border border-components-panel-border bg-components-panel-bg p-1 shadow-lg' style={{
+    <div className='p-1 bg-white rounded-lg border border-gray-200 shadow-lg space-y-1' style={{
       width: itemWidth || 228,
     }}>
       {((!vars || vars.length === 0) && popupFor)
@@ -35,7 +35,7 @@
           ? (
             <ListEmpty
               title={t('workflow.variableReference.noAvailableVars') || ''}
-              description={<div className='system-xs-regular text-text-tertiary'>
+              description={<div className='text-text-tertiary system-xs-regular'>
                 {t('workflow.variableReference.noVarsForOperation')}
               </div>}
             />
@@ -43,7 +43,7 @@
           : (
             <ListEmpty
               title={t('workflow.variableReference.noAssignedVars') || ''}
-              description={<div className='system-xs-regular text-text-tertiary'>
+              description={<div className='text-text-tertiary system-xs-regular'>
                 {t('workflow.variableReference.assignedVarsDescription')}
                 <a target='_blank' rel='noopener noreferrer'
                   className='text-text-accent-secondary'
diff --git a/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx b/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx
index 023916e..9ac5e4a 100644
--- a/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx
@@ -1,6 +1,6 @@
 'use client'
 import type { FC } from 'react'
-import React, { useEffect, useMemo, useRef, useState } from 'react'
+import React, { useEffect, useRef, useState } from 'react'
 import { useHover } from 'ahooks'
 import { useTranslation } from 'react-i18next'
 import cn from '@/utils/classnames'
@@ -15,14 +15,7 @@
 import Input from '@/app/components/base/input'
 import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others'
 import { checkKeys } from '@/utils/var'
-import type { StructuredOutput } from '../../../llm/types'
-import { Type } from '../../../llm/types'
-import PickerStructurePanel from '@/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/picker'
-import { varTypeToStructType } from './utils'
-import type { Field } from '@/app/components/workflow/nodes/llm/types'
 import { FILE_STRUCT } from '@/app/components/workflow/constants'
-import { Loop } from '@/app/components/base/icons/src/vender/workflow'
-import { noop } from 'lodash-es'
 
 type ObjectChildrenProps = {
   nodeId: string
@@ -45,10 +38,7 @@
   itemWidth?: number
   isSupportFileVar?: boolean
   isException?: boolean
-  isLoopVar?: boolean
 }
-
-const objVarTypes = [VarType.object, VarType.file]
 
 const Item: FC<ItemProps> = ({
   nodeId,
@@ -57,50 +47,24 @@
   itemData,
   onChange,
   onHovering,
+  itemWidth,
   isSupportFileVar,
   isException,
-  isLoopVar,
 }) => {
-  const isStructureOutput = itemData.type === VarType.object && (itemData.children as StructuredOutput)?.schema?.properties
-  const isFile = itemData.type === VarType.file && !isStructureOutput
-  const isObj = ([VarType.object, VarType.file].includes(itemData.type) && itemData.children && (itemData.children as Var[]).length > 0)
+  const isFile = itemData.type === VarType.file
+  const isObj = ([VarType.object, VarType.file].includes(itemData.type) && itemData.children && itemData.children.length > 0)
   const isSys = itemData.variable.startsWith('sys.')
   const isEnv = itemData.variable.startsWith('env.')
   const isChatVar = itemData.variable.startsWith('conversation.')
-
-  const objStructuredOutput: StructuredOutput | null = useMemo(() => {
-    if (!isObj) return null
-    const properties: Record<string, Field> = {};
-    (isFile ? FILE_STRUCT : (itemData.children as Var[])).forEach((c) => {
-      properties[c.variable] = {
-        type: varTypeToStructType(c.type),
-      }
-    })
-    return {
-      schema: {
-        type: Type.object,
-        properties,
-        required: [],
-        additionalProperties: false,
-      },
-    }
-  }, [isFile, isObj, itemData.children])
-
-  const structuredOutput = (() => {
-    if (isStructureOutput)
-      return itemData.children as StructuredOutput
-    return objStructuredOutput
-  })()
-
-  const itemRef = useRef<HTMLDivElement>(null)
+  const itemRef = useRef(null)
   const [isItemHovering, setIsItemHovering] = useState(false)
-  useHover(itemRef, {
+  const _ = useHover(itemRef, {
     onChange: (hovering) => {
       if (hovering) {
         setIsItemHovering(true)
       }
       else {
-        if (isObj || isStructureOutput) {
+        if (isObj) {
           setTimeout(() => {
             setIsItemHovering(false)
           }, 100)
@@ -113,7 +77,7 @@
   })
   const [isChildrenHovering, setIsChildrenHovering] = useState(false)
   const isHovering = isItemHovering || isChildrenHovering
-  const open = (isObj || isStructureOutput) && isHovering
+  const open = isObj && isHovering
   useEffect(() => {
     onHovering && onHovering(isHovering)
     // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -133,58 +97,70 @@
   return (
     <PortalToFollowElem
       open={open}
-      onOpenChange={noop}
+      onOpenChange={() => { }}
       placement='left-start'
     >
       <PortalToFollowElemTrigger className='w-full'>
         <div
           ref={itemRef}
           className={cn(
-            (isObj || isStructureOutput) ? ' pr-1' : 'pr-[18px]',
-            isHovering && ((isObj || isStructureOutput) ? 'bg-primary-50' : 'bg-state-base-hover'),
-            'relative flex h-6 w-full cursor-pointer items-center  rounded-md pl-3')
+            isObj ? ' pr-1' : 'pr-[18px]',
+            isHovering && (isObj ? 'bg-primary-50' : 'bg-state-base-hover'),
+            'relative w-full flex items-center h-6 pl-3  rounded-md cursor-pointer')
           }
           onClick={handleChosen}
-          onMouseDown={e => e.preventDefault()}
         >
-          <div className='flex w-0 grow items-center'>
-            {!isEnv && !isChatVar && !isLoopVar && <Variable02 className={cn('h-3.5 w-3.5 shrink-0 text-text-accent', isException && 'text-text-warning')} />}
-            {isEnv && <Env className='h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-            {isChatVar && <BubbleX className='h-3.5 w-3.5 shrink-0 text-util-colors-teal-teal-700' />}
-            {isLoopVar && <Loop className='h-3.5 w-3.5 shrink-0 text-util-colors-cyan-cyan-500' />}
+          <div className='flex items-center w-0 grow'>
+            {!isEnv && !isChatVar && <Variable02 className={cn('shrink-0 w-3.5 h-3.5 text-text-accent', isException && 'text-text-warning')} />}
+            {isEnv && <Env className='shrink-0 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+            {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
             {!isEnv && !isChatVar && (
-              <div title={itemData.variable} className='system-sm-medium ml-1 w-0 grow truncate text-text-secondary'>{itemData.variable}</div>
+              <div title={itemData.variable} className='ml-1 w-0 grow truncate text-text-secondary system-sm-medium'>{itemData.variable}</div>
             )}
             {isEnv && (
-              <div title={itemData.variable} className='system-sm-medium ml-1 w-0 grow truncate text-text-secondary'>{itemData.variable.replace('env.', '')}</div>
+              <div title={itemData.variable} className='ml-1 w-0 grow truncate text-text-secondary system-sm-medium'>{itemData.variable.replace('env.', '')}</div>
             )}
             {isChatVar && (
-              <div title={itemData.des} className='system-sm-medium ml-1 w-0 grow truncate text-text-secondary'>{itemData.variable.replace('conversation.', '')}</div>
+              <div title={itemData.des} className='ml-1 w-0 grow truncate text-text-secondary system-sm-medium'>{itemData.variable.replace('conversation.', '')}</div>
             )}
           </div>
-          <div className='ml-1 shrink-0 text-xs font-normal capitalize text-text-tertiary'>{itemData.type}</div>
-          {
-            (isObj || isStructureOutput) && (
-              <ChevronRight className={cn('ml-0.5 h-3 w-3 text-text-quaternary', isHovering && 'text-text-tertiary')} />
-            )
-          }
-        </div >
-      </PortalToFollowElemTrigger >
+          <div className='ml-1 shrink-0 text-xs font-normal text-text-tertiary capitalize'>{itemData.type}</div>
+          {isObj && (
+            <ChevronRight className={cn('ml-0.5 w-3 h-3 text-text-quaternary', isHovering && 'text-text-tertiary')} />
+          )}
+        </div>
+      </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{
         zIndex: 100,
       }}>
-        {(isStructureOutput || isObj) && (
-          <PickerStructurePanel
-            root={{ nodeId, nodeName: title, attrName: itemData.variable }}
-            payload={structuredOutput!}
+        {(isObj && !isFile) && (
+          // eslint-disable-next-line @typescript-eslint/no-use-before-define
+          <ObjectChildren
+            nodeId={nodeId}
+            title={title}
+            objPath={[...objPath, itemData.variable]}
+            data={itemData.children as Var[]}
+            onChange={onChange}
             onHovering={setIsChildrenHovering}
-            onSelect={(valueSelector) => {
-              onChange(valueSelector, itemData)
-            }}
+            itemWidth={itemWidth}
+            isSupportFileVar={isSupportFileVar}
+          />
+        )}
+        {isFile && (
+          // eslint-disable-next-line @typescript-eslint/no-use-before-define
+          <ObjectChildren
+            nodeId={nodeId}
+            title={title}
+            objPath={[...objPath, itemData.variable]}
+            data={FILE_STRUCT}
+            onChange={onChange}
+            onHovering={setIsChildrenHovering}
+            itemWidth={itemWidth}
+            isSupportFileVar={isSupportFileVar}
           />
         )}
       </PortalToFollowElemContent>
-    </PortalToFollowElem >
+    </PortalToFollowElem>
   )
 }
 
@@ -199,9 +175,9 @@
   isSupportFileVar,
 }) => {
   const currObjPath = objPath
-  const itemRef = useRef<HTMLDivElement>(null)
+  const itemRef = useRef(null)
   const [isItemHovering, setIsItemHovering] = useState(false)
-  useHover(itemRef, {
+  const _ = useHover(itemRef, {
     onChange: (hovering) => {
       if (hovering) {
         setIsItemHovering(true)
@@ -225,11 +201,11 @@
   }, [isItemHovering])
   // absolute top-[-2px]
   return (
-    <div ref={itemRef} className=' space-y-1 rounded-lg border border-gray-200 bg-white shadow-lg' style={{
+    <div ref={itemRef} className=' bg-white rounded-lg border border-gray-200 shadow-lg space-y-1' style={{
       right: itemWidth ? itemWidth - 10 : 215,
       minWidth: 252,
     }}>
-      <div className='flex h-[22px] items-center px-3 text-xs font-normal text-gray-700'><span className='text-gray-500'>{title}.</span>{currObjPath.join('.')}</div>
+      <div className='flex items-center h-[22px] px-3 text-xs font-normal text-gray-700'><span className='text-gray-500'>{title}.</span>{currObjPath.join('.')}</div>
       {
         (data && data.length > 0)
         && data.map((v, i) => (
@@ -258,8 +234,6 @@
   onChange: (value: ValueSelector, item: Var) => void
   itemWidth?: number
   maxHeightClass?: string
-  onClose?: () => void
-  onBlur?: () => void
 }
 const VarReferenceVars: FC<Props> = ({
   hideSearch,
@@ -269,18 +243,9 @@
   onChange,
   itemWidth,
   maxHeightClass,
-  onClose,
-  onBlur,
 }) => {
   const { t } = useTranslation()
   const [searchText, setSearchText] = useState('')
-
-  const handleKeyDown = (e: React.KeyboardEvent) => {
-    if (e.key === 'Escape') {
-      e.preventDefault()
-      onClose?.()
-    }
-  }
 
   const filteredVars = vars.filter((v) => {
     const children = v.vars.filter(v => checkKeys([v.variable], false).isValid || v.variable.startsWith('sys.') || v.variable.startsWith('env.') || v.variable.startsWith('conversation.'))
@@ -312,21 +277,18 @@
       {
         !hideSearch && (
           <>
-            <div className={cn('var-search-input-wrapper mx-2 mb-1 mt-2', searchBoxClassName)} onClick={e => e.stopPropagation()}>
+            <div className={cn('mb-1 mx-2 mt-2', searchBoxClassName)} onClick={e => e.stopPropagation()}>
               <Input
-                className='var-search-input'
                 showLeftIcon
                 showClearIcon
                 value={searchText}
                 placeholder={t('workflow.common.searchVar') || ''}
                 onChange={e => setSearchText(e.target.value)}
-                onKeyDown={handleKeyDown}
                 onClear={() => setSearchText('')}
-                onBlur={onBlur}
                 autoFocus
               />
             </div>
-            <div className='relative left-[-4px] h-[0.5px] bg-black/5' style={{
+            <div className='h-[0.5px] bg-black/5 relative left-[-4px]' style={{
               width: 'calc(100% + 8px)',
             }}></div>
           </>
@@ -340,7 +302,7 @@
             filteredVars.map((item, i) => (
               <div key={i}>
                 <div
-                  className='system-xs-medium-uppercase truncate px-3 leading-[22px] text-text-tertiary'
+                  className='leading-[22px] px-3 text-text-tertiary system-xs-medium-uppercase truncate'
                   title={item.title}
                 >{item.title}</div>
                 {item.vars.map((v, j) => (
@@ -354,14 +316,13 @@
                     itemWidth={itemWidth}
                     isSupportFileVar={isSupportFileVar}
                     isException={v.isException}
-                    isLoopVar={item.isLoop}
                   />
                 ))}
               </div>))
           }
         </div>
-        : <div className='pl-3 text-xs font-medium uppercase leading-[18px] text-gray-500'>{t('workflow.common.noVar')}</div>}
-    </>
+        : <div className='pl-3 leading-[18px] text-xs font-medium text-gray-500 uppercase'>{t('workflow.common.noVar')}</div>}
+    </ >
   )
 }
 export default React.memo(VarReferenceVars)
diff --git a/app/components/workflow/nodes/_base/components/variable/var-type-picker.tsx b/app/components/workflow/nodes/_base/components/variable/var-type-picker.tsx
index 926d7ac..c976bdf 100644
--- a/app/components/workflow/nodes/_base/components/variable/var-type-picker.tsx
+++ b/app/components/workflow/nodes/_base/components/variable/var-type-picker.tsx
@@ -43,23 +43,23 @@
         offset={4}
       >
         <PortalToFollowElemTrigger onClick={() => setOpen(!open)} className='w-[120px] cursor-pointer'>
-          <div className='flex h-8 items-center justify-between rounded-lg border-0 bg-components-button-secondary-bg px-2.5 text-[13px] text-text-primary'>
-            <div className='w-0 grow truncate capitalize' title={value}>{value}</div>
-            <RiArrowDownSLine className='h-3.5 w-3.5 shrink-0 text-text-secondary' />
+          <div className='flex items-center h-8 justify-between px-2.5 rounded-lg border-0 bg-gray-100 text-gray-900 text-[13px]'>
+            <div className='capitalize grow w-0 truncate' title={value}>{value}</div>
+            <RiArrowDownSLine className='shrink-0 w-3.5 h-3.5 text-gray-700' />
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent style={{
           zIndex: 100,
         }}>
-          <div className='w-[120px] rounded-lg bg-components-panel-bg p-1 shadow-sm'>
+          <div className='w-[120px] p-1 bg-white rounded-lg shadow-sm'>
             {TYPES.map(type => (
               <div
                 key={type}
-                className='flex h-[30px] cursor-pointer items-center justify-between rounded-lg pl-3 pr-2 text-[13px] text-text-primary hover:bg-state-base-hover'
+                className='flex items-center h-[30px] justify-between pl-3 pr-2 rounded-lg hover:bg-gray-100 text-gray-900 text-[13px] cursor-pointer'
                 onClick={handleChange(type)}
               >
-                <div className='w-0 grow truncate capitalize'>{type}</div>
-                {type === value && <Check className='h-4 w-4 shrink-0 text-text-accent' />}
+                <div className='w-0 grow capitalize truncate'>{type}</div>
+                {type === value && <Check className='shrink-0 w-4 h-4 text-primary-600' />}
               </div>
             ))}
           </div>
diff --git a/app/components/workflow/nodes/_base/hooks/use-available-var-list.ts b/app/components/workflow/nodes/_base/hooks/use-available-var-list.ts
index e1a6a8b..bd17bb1 100644
--- a/app/components/workflow/nodes/_base/hooks/use-available-var-list.ts
+++ b/app/components/workflow/nodes/_base/hooks/use-available-var-list.ts
@@ -13,7 +13,6 @@
   passedInAvailableNodes?: Node[]
 }
 
-// TODO: loop type?
 const useAvailableVarList = (nodeId: string, {
   onlyLeafNodeVar,
   filterVar,
@@ -24,11 +23,11 @@
   onlyLeafNodeVar: false,
   filterVar: () => true,
 }) => {
-  const { getTreeLeafNodes, getBeforeNodesInSameBranchIncludeParent } = useWorkflow()
+  const { getTreeLeafNodes, getBeforeNodesInSameBranch } = useWorkflow()
   const { getNodeAvailableVars } = useWorkflowVariables()
   const isChatMode = useIsChatMode()
 
-  const availableNodes = passedInAvailableNodes || (onlyLeafNodeVar ? getTreeLeafNodes(nodeId) : getBeforeNodesInSameBranchIncludeParent(nodeId))
+  const availableNodes = passedInAvailableNodes || (onlyLeafNodeVar ? getTreeLeafNodes(nodeId) : getBeforeNodesInSameBranch(nodeId))
 
   const {
     parentNode: iterationNode,
@@ -46,7 +45,7 @@
   return {
     availableVars,
     availableNodes,
-    availableNodesWithParent: availableNodes,
+    availableNodesWithParent: iterationNode ? [...availableNodes, iterationNode] : availableNodes,
   }
 }
 
diff --git a/app/components/workflow/nodes/_base/hooks/use-node-help-link.ts b/app/components/workflow/nodes/_base/hooks/use-node-help-link.ts
index daad6ff..2ecdf10 100644
--- a/app/components/workflow/nodes/_base/hooks/use-node-help-link.ts
+++ b/app/components/workflow/nodes/_base/hooks/use-node-help-link.ts
@@ -6,9 +6,9 @@
   const language = useGetLanguage()
   const prefixLink = useMemo(() => {
     if (language === 'zh_Hans')
-      return 'https://docs.dify.ai/zh-hans/guides/workflow/node/'
+      return 'https://docs.dify.ai/v/zh-hans/guides/workflow/node/'
 
-    return 'https://docs.dify.ai/en/guides/workflow/node/'
+    return 'https://docs.dify.ai/guides/workflow/node/'
   }, [language])
   const linkMap = useMemo(() => {
     if (language === 'zh_Hans') {
@@ -26,13 +26,12 @@
         [BlockEnum.VariableAggregator]: 'variable-aggregator',
         [BlockEnum.Assigner]: 'variable-assigner',
         [BlockEnum.Iteration]: 'iteration',
-        [BlockEnum.Loop]: 'loop',
+        [BlockEnum.IterationStart]: 'iteration',
         [BlockEnum.ParameterExtractor]: 'parameter-extractor',
         [BlockEnum.HttpRequest]: 'http-request',
         [BlockEnum.Tool]: 'tools',
         [BlockEnum.DocExtractor]: 'doc-extractor',
         [BlockEnum.ListFilter]: 'list-operator',
-        [BlockEnum.Agent]: 'agent',
       }
     }
 
@@ -50,20 +49,14 @@
       [BlockEnum.VariableAggregator]: 'variable-aggregator',
       [BlockEnum.Assigner]: 'variable-assigner',
       [BlockEnum.Iteration]: 'iteration',
-      [BlockEnum.Loop]: 'loop',
+      [BlockEnum.IterationStart]: 'iteration',
       [BlockEnum.ParameterExtractor]: 'parameter-extractor',
       [BlockEnum.HttpRequest]: 'http-request',
       [BlockEnum.Tool]: 'tools',
       [BlockEnum.DocExtractor]: 'doc-extractor',
       [BlockEnum.ListFilter]: 'list-operator',
-      [BlockEnum.Agent]: 'agent',
     }
-  }, [language]) as Record<string, string>
+  }, [language])
 
-  const link = linkMap[nodeType]
-
-  if (!link)
-    return ''
-
-  return `${prefixLink}${link}`
+  return `${prefixLink}${linkMap[nodeType]}`
 }
diff --git a/app/components/workflow/nodes/_base/hooks/use-node-info.ts b/app/components/workflow/nodes/_base/hooks/use-node-info.ts
index a66e0f1..f8f076d 100644
--- a/app/components/workflow/nodes/_base/hooks/use-node-info.ts
+++ b/app/components/workflow/nodes/_base/hooks/use-node-info.ts
@@ -8,13 +8,11 @@
   const allNodes = getNodes()
   const node = allNodes.find(n => n.id === nodeId)
   const isInIteration = !!node?.data.isInIteration
-  const isInLoop = !!node?.data.isInLoop
   const parentNodeId = node?.parentId
   const parentNode = allNodes.find(n => n.id === parentNodeId)
   return {
     node,
     isInIteration,
-    isInLoop,
     parentNode,
   }
 }
diff --git a/app/components/workflow/nodes/_base/hooks/use-one-step-run.ts b/app/components/workflow/nodes/_base/hooks/use-one-step-run.ts
index f23af58..05481b4 100644
--- a/app/components/workflow/nodes/_base/hooks/use-one-step-run.ts
+++ b/app/components/workflow/nodes/_base/hooks/use-one-step-run.ts
@@ -1,4 +1,4 @@
-import { useCallback, useEffect, useRef, useState } from 'react'
+import { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { unionBy } from 'lodash-es'
 import produce from 'immer'
@@ -13,7 +13,7 @@
 import { BlockEnum, InputVarType, NodeRunningStatus, VarType } from '@/app/components/workflow/types'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { useStore, useWorkflowStore } from '@/app/components/workflow/store'
-import { getIterationSingleNodeRunUrl, getLoopSingleNodeRunUrl, singleNodeRun } from '@/service/workflow'
+import { getIterationSingleNodeRunUrl, singleNodeRun } from '@/service/workflow'
 import Toast from '@/app/components/base/toast'
 import LLMDefault from '@/app/components/workflow/nodes/llm/default'
 import KnowledgeRetrievalDefault from '@/app/components/workflow/nodes/knowledge-retrieval/default'
@@ -28,9 +28,8 @@
 import ParameterExtractorDefault from '@/app/components/workflow/nodes/parameter-extractor/default'
 import IterationDefault from '@/app/components/workflow/nodes/iteration/default'
 import DocumentExtractorDefault from '@/app/components/workflow/nodes/document-extractor/default'
-import LoopDefault from '@/app/components/workflow/nodes/loop/default'
 import { ssePost } from '@/service/base'
-import { noop } from 'lodash-es'
+
 import { getInputVars as doGetInputVars } from '@/app/components/base/prompt-editor/constants'
 import type { NodeTracing } from '@/types/workflow'
 const { checkValid: checkLLMValid } = LLMDefault
@@ -46,9 +45,7 @@
 const { checkValid: checkParameterExtractorValid } = ParameterExtractorDefault
 const { checkValid: checkIterationValid } = IterationDefault
 const { checkValid: checkDocumentExtractorValid } = DocumentExtractorDefault
-const { checkValid: checkLoopValid } = LoopDefault
 
-// eslint-disable-next-line ts/no-unsafe-function-type
 const checkValidFns: Record<BlockEnum, Function> = {
   [BlockEnum.LLM]: checkLLMValid,
   [BlockEnum.KnowledgeRetrieval]: checkKnowledgeRetrievalValid,
@@ -63,7 +60,6 @@
   [BlockEnum.ParameterExtractor]: checkParameterExtractorValid,
   [BlockEnum.Iteration]: checkIterationValid,
   [BlockEnum.DocExtractor]: checkDocumentExtractorValid,
-  [BlockEnum.Loop]: checkLoopValid,
 } as any
 
 type Params<T> = {
@@ -72,7 +68,6 @@
   defaultRunInputData: Record<string, any>
   moreDataForCheckValid?: any
   iteratorInputKey?: string
-  loopInputKey?: string
 }
 
 const varTypeToInputVarType = (type: VarType, {
@@ -104,14 +99,12 @@
   defaultRunInputData,
   moreDataForCheckValid,
   iteratorInputKey,
-  loopInputKey,
 }: Params<T>) => {
   const { t } = useTranslation()
   const { getBeforeNodesInSameBranch, getBeforeNodesInSameBranchIncludeParent } = useWorkflow() as any
   const conversationVariables = useStore(s => s.conversationVariables)
   const isChatMode = useIsChatMode()
   const isIteration = data.type === BlockEnum.Iteration
-  const isLoop = data.type === BlockEnum.Loop
 
   const availableNodes = getBeforeNodesInSameBranch(id)
   const availableNodesIncludeParent = getBeforeNodesInSameBranchIncludeParent(id)
@@ -145,20 +138,13 @@
   const checkValid = checkValidFns[data.type]
   const appId = useAppStore.getState().appDetail?.id
   const [runInputData, setRunInputData] = useState<Record<string, any>>(defaultRunInputData || {})
-  const runInputDataRef = useRef(runInputData)
-  const handleSetRunInputData = useCallback((data: Record<string, any>) => {
-    runInputDataRef.current = data
-    setRunInputData(data)
-  }, [])
   const iterationTimes = iteratorInputKey ? runInputData[iteratorInputKey].length : 0
-  const loopTimes = loopInputKey ? runInputData[loopInputKey].length : 0
   const [runResult, setRunResult] = useState<any>(null)
 
   const { handleNodeDataUpdate }: { handleNodeDataUpdate: (data: any) => void } = useNodeDataUpdate()
   const [canShowSingleRun, setCanShowSingleRun] = useState(false)
   const isShowSingleRun = data._isSingleRun && canShowSingleRun
-  const [iterationRunResult, setIterationRunResult] = useState<NodeTracing[]>([])
-  const [loopRunResult, setLoopRunResult] = useState<NodeTracing[]>([])
+  const [iterationRunResult, setIterationRunResult] = useState<NodeTracing[][]>([])
 
   useEffect(() => {
     if (!checkValid) {
@@ -183,13 +169,13 @@
         })
       }
     }
-    // eslint-disable-next-line react-hooks/exhaustive-deps
+  // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [data._isSingleRun])
 
   const workflowStore = useWorkflowStore()
   useEffect(() => {
     workflowStore.getState().setShowSingleRunPanel(!!isShowSingleRun)
-  }, [isShowSingleRun, workflowStore])
+  }, [isShowSingleRun])
 
   const hideSingleRun = () => {
     handleNodeDataUpdate({
@@ -222,18 +208,19 @@
     })
     let res: any
     try {
-      if (!isIteration && !isLoop) {
+      if (!isIteration) {
         res = await singleNodeRun(appId!, id, { inputs: submitData }) as any
       }
-      else if (isIteration) {
+      else {
         setIterationRunResult([])
-        let _iterationResult: NodeTracing[] = []
+        let _iterationResult: NodeTracing[][] = []
         let _runResult: any = null
         ssePost(
           getIterationSingleNodeRunUrl(isChatMode, appId!, id),
           { body: { inputs: submitData } },
           {
-            onWorkflowStarted: noop,
+            onWorkflowStarted: () => {
+            },
             onWorkflowFinished: (params) => {
               handleNodeDataUpdate({
                 id,
@@ -246,43 +233,27 @@
               _runResult.created_by = iterationData.created_by.name
               setRunResult(_runResult)
             },
-            onIterationStart: (params) => {
-              const newIterationRunResult = produce(_iterationResult, (draft) => {
-                draft.push({
-                  ...params.data,
-                  status: NodeRunningStatus.Running,
-                })
-              })
-              _iterationResult = newIterationRunResult
-              setIterationRunResult(newIterationRunResult)
-            },
             onIterationNext: () => {
               // iteration next trigger time is triggered one more time than iterationTimes
               if (_iterationResult.length >= iterationTimes!)
-                return _iterationResult.length >= iterationTimes!
+                return
+
+              const newIterationRunResult = produce(_iterationResult, (draft) => {
+                draft.push([])
+              })
+              _iterationResult = newIterationRunResult
+              setIterationRunResult(newIterationRunResult)
             },
             onIterationFinish: (params) => {
               _runResult = params.data
               setRunResult(_runResult)
-              const iterationRunResult = _iterationResult
-              const currentIndex = iterationRunResult.findIndex(trace => trace.id === params.data.id)
-              const newIterationRunResult = produce(iterationRunResult, (draft) => {
-                if (currentIndex > -1) {
-                  draft[currentIndex] = {
-                    ...draft[currentIndex],
-                    ...data,
-                  }
-                }
-              })
-              _iterationResult = newIterationRunResult
-              setIterationRunResult(newIterationRunResult)
             },
             onNodeStarted: (params) => {
               const newIterationRunResult = produce(_iterationResult, (draft) => {
-                draft.push({
+                draft[draft.length - 1].push({
                   ...params.data,
                   status: NodeRunningStatus.Running,
-                })
+                } as NodeTracing)
               })
               _iterationResult = newIterationRunResult
               setIterationRunResult(newIterationRunResult)
@@ -291,21 +262,14 @@
               const iterationRunResult = _iterationResult
 
               const { data } = params
-              const currentIndex = iterationRunResult.findIndex(trace => trace.id === data.id)
+              const currentIndex = iterationRunResult[iterationRunResult.length - 1].findIndex(trace => trace.node_id === data.node_id)
               const newIterationRunResult = produce(iterationRunResult, (draft) => {
                 if (currentIndex > -1) {
-                  draft[currentIndex] = {
-                    ...draft[currentIndex],
+                  draft[draft.length - 1][currentIndex] = {
                     ...data,
-                  }
+                    status: NodeRunningStatus.Succeeded,
+                  } as NodeTracing
                 }
-              })
-              _iterationResult = newIterationRunResult
-              setIterationRunResult(newIterationRunResult)
-            },
-            onNodeRetry: (params) => {
-              const newIterationRunResult = produce(_iterationResult, (draft) => {
-                draft.push(params.data)
               })
               _iterationResult = newIterationRunResult
               setIterationRunResult(newIterationRunResult)
@@ -322,110 +286,11 @@
           },
         )
       }
-      else if (isLoop) {
-        setLoopRunResult([])
-        let _loopResult: NodeTracing[] = []
-        let _runResult: any = null
-        ssePost(
-          getLoopSingleNodeRunUrl(isChatMode, appId!, id),
-          { body: { inputs: submitData } },
-          {
-            onWorkflowStarted: noop,
-            onWorkflowFinished: (params) => {
-              handleNodeDataUpdate({
-                id,
-                data: {
-                  ...data,
-                  _singleRunningStatus: NodeRunningStatus.Succeeded,
-                },
-              })
-              const { data: loopData } = params
-              _runResult.created_by = loopData.created_by.name
-              setRunResult(_runResult)
-            },
-            onLoopStart: (params) => {
-              const newLoopRunResult = produce(_loopResult, (draft) => {
-                draft.push({
-                  ...params.data,
-                  status: NodeRunningStatus.Running,
-                })
-              })
-              _loopResult = newLoopRunResult
-              setLoopRunResult(newLoopRunResult)
-            },
-            onLoopNext: () => {
-              // loop next trigger time is triggered one more time than loopTimes
-              if (_loopResult.length >= loopTimes!)
-                return _loopResult.length >= loopTimes!
-            },
-            onLoopFinish: (params) => {
-              _runResult = params.data
-              setRunResult(_runResult)
-
-              const loopRunResult = _loopResult
-              const currentIndex = loopRunResult.findIndex(trace => trace.id === params.data.id)
-              const newLoopRunResult = produce(loopRunResult, (draft) => {
-                if (currentIndex > -1) {
-                  draft[currentIndex] = {
-                    ...draft[currentIndex],
-                    ...data,
-                  }
-                }
-              })
-              _loopResult = newLoopRunResult
-              setLoopRunResult(newLoopRunResult)
-            },
-            onNodeStarted: (params) => {
-              const newLoopRunResult = produce(_loopResult, (draft) => {
-                draft.push({
-                  ...params.data,
-                  status: NodeRunningStatus.Running,
-                })
-              })
-              _loopResult = newLoopRunResult
-              setLoopRunResult(newLoopRunResult)
-            },
-            onNodeFinished: (params) => {
-              const loopRunResult = _loopResult
-
-              const { data } = params
-              const currentIndex = loopRunResult.findIndex(trace => trace.id === data.id)
-              const newLoopRunResult = produce(loopRunResult, (draft) => {
-                if (currentIndex > -1) {
-                  draft[currentIndex] = {
-                    ...draft[currentIndex],
-                    ...data,
-                  }
-                }
-              })
-              _loopResult = newLoopRunResult
-              setLoopRunResult(newLoopRunResult)
-            },
-            onNodeRetry: (params) => {
-              const newLoopRunResult = produce(_loopResult, (draft) => {
-                draft.push(params.data)
-              })
-              _loopResult = newLoopRunResult
-              setLoopRunResult(newLoopRunResult)
-            },
-            onError: () => {
-              handleNodeDataUpdate({
-                id,
-                data: {
-                  ...data,
-                  _singleRunningStatus: NodeRunningStatus.Failed,
-                },
-              })
-            },
-          },
-        )
-      }
-      if (res && res.error)
+      if (res.error)
         throw new Error(res.error)
     }
     catch (e: any) {
-      console.error(e)
-      if (!isIteration && !isLoop) {
+      if (!isIteration) {
         handleNodeDataUpdate({
           id,
           data: {
@@ -437,7 +302,7 @@
       }
     }
     finally {
-      if (!isIteration && !isLoop) {
+      if (!isIteration) {
         setRunResult({
           ...res,
           total_tokens: res.execution_metadata?.total_tokens || 0,
@@ -445,7 +310,7 @@
         })
       }
     }
-    if (!isIteration && !isLoop) {
+    if (!isIteration) {
       handleNodeDataUpdate({
         id,
         data: {
@@ -532,11 +397,9 @@
     handleRun,
     handleStop,
     runInputData,
-    runInputDataRef,
-    setRunInputData: handleSetRunInputData,
+    setRunInputData,
     runResult,
     iterationRunResult,
-    loopRunResult,
   }
 }
 
diff --git a/app/components/workflow/nodes/_base/hooks/use-toggle-expend.ts b/app/components/workflow/nodes/_base/hooks/use-toggle-expend.ts
index e90f079..4c980ee 100644
--- a/app/components/workflow/nodes/_base/hooks/use-toggle-expend.ts
+++ b/app/components/workflow/nodes/_base/hooks/use-toggle-expend.ts
@@ -20,9 +20,9 @@
       return ''
 
     if (isInNode)
-      return 'fixed z-10  right-[9px] top-[166px] bottom-[8px]  p-4 bg-components-panel-bg rounded-xl'
+      return 'fixed z-10  right-[9px] top-[166px] bottom-[8px]  p-4 bg-white rounded-xl'
 
-    return 'absolute z-10 left-4 right-6 top-[52px] bottom-0 pb-4 bg-components-panel-bg'
+    return 'absolute z-10 left-4 right-6 top-[52px] bottom-0 pb-4 bg-white'
   })()
   const wrapStyle = isExpand
     ? {
diff --git a/app/components/workflow/nodes/_base/node.tsx b/app/components/workflow/nodes/_base/node.tsx
index 527b2f0..e13a7a4 100644
--- a/app/components/workflow/nodes/_base/node.tsx
+++ b/app/components/workflow/nodes/_base/node.tsx
@@ -30,7 +30,6 @@
   hasRetryNode,
 } from '../../utils'
 import { useNodeIterationInteractions } from '../iteration/use-interactions'
-import { useNodeLoopInteractions } from '../loop/use-interactions'
 import type { IterationNodeType } from '../iteration/types'
 import {
   NodeSourceHandle,
@@ -58,7 +57,6 @@
   const nodeRef = useRef<HTMLDivElement>(null)
   const { nodesReadOnly } = useNodesReadOnly()
   const { handleNodeIterationChildSizeChange } = useNodeIterationInteractions()
-  const { handleNodeLoopChildSizeChange } = useNodeLoopInteractions()
   const toolIcon = useToolIcon(data)
 
   useEffect(() => {
@@ -75,20 +73,6 @@
     }
   }, [data.isInIteration, data.selected, id, handleNodeIterationChildSizeChange])
 
-  useEffect(() => {
-    if (nodeRef.current && data.selected && data.isInLoop) {
-      const resizeObserver = new ResizeObserver(() => {
-        handleNodeLoopChildSizeChange(id)
-      })
-
-      resizeObserver.observe(nodeRef.current)
-
-      return () => {
-        resizeObserver.disconnect()
-      }
-    }
-  }, [data.isInLoop, data.selected, id, handleNodeLoopChildSizeChange])
-
   const showSelectedBorder = data.selected || data._isBundled || data._isEntering
   const {
     showRunningBorder,
@@ -104,50 +88,26 @@
     }
   }, [data._runningStatus, showSelectedBorder])
 
-  const LoopIndex = useMemo(() => {
-    let text = ''
-
-    if (data._runningStatus === NodeRunningStatus.Running)
-      text = t('workflow.nodes.loop.currentLoopCount', { count: data._loopIndex })
-    if (data._runningStatus === NodeRunningStatus.Succeeded || data._runningStatus === NodeRunningStatus.Failed)
-      text = t('workflow.nodes.loop.totalLoopCount', { count: data._loopIndex })
-
-    if (text) {
-      return (
-        <div
-          className={cn(
-            'system-xs-medium mr-2 text-text-tertiary',
-            data._runningStatus === NodeRunningStatus.Running && 'text-text-accent',
-          )}
-        >
-          {text}
-        </div>
-      )
-    }
-
-    return null
-  }, [data._loopIndex, data._runningStatus, t])
-
   return (
     <div
       className={cn(
-        'flex rounded-2xl border-[2px]',
+        'flex border-[2px] rounded-2xl',
         showSelectedBorder ? 'border-components-option-card-option-selected-border' : 'border-transparent',
         !showSelectedBorder && data._inParallelHovering && 'border-workflow-block-border-highlight',
         data._waitingRun && 'opacity-70',
       )}
       ref={nodeRef}
       style={{
-        width: (data.type === BlockEnum.Iteration || data.type === BlockEnum.Loop) ? data.width : 'auto',
-        height: (data.type === BlockEnum.Iteration || data.type === BlockEnum.Loop) ? data.height : 'auto',
+        width: data.type === BlockEnum.Iteration ? data.width : 'auto',
+        height: data.type === BlockEnum.Iteration ? data.height : 'auto',
       }}
     >
       <div
         className={cn(
           'group relative pb-1 shadow-xs',
-          'rounded-[15px] border border-transparent',
-          (data.type !== BlockEnum.Iteration && data.type !== BlockEnum.Loop) && 'w-[240px] bg-workflow-block-bg',
-          (data.type === BlockEnum.Iteration || data.type === BlockEnum.Loop) && 'flex h-full w-full flex-col border-workflow-block-border bg-workflow-block-bg-transparent',
+          'border border-transparent rounded-[15px]',
+          data.type !== BlockEnum.Iteration && 'w-[240px] bg-workflow-block-bg',
+          data.type === BlockEnum.Iteration && 'flex flex-col w-full h-full bg-workflow-block-bg-transparent border-workflow-block-border',
           !data._runningStatus && 'hover:shadow-lg',
           showRunningBorder && '!border-state-accent-solid',
           showSuccessBorder && '!border-state-success-solid',
@@ -158,7 +118,7 @@
       >
         {
           data._inParallelHovering && (
-            <div className='top system-2xs-medium-uppercase absolute -top-2.5 left-2 z-10 text-text-tertiary'>
+            <div className='absolute left-2 -top-2.5 top system-2xs-medium-uppercase text-text-tertiary z-10'>
               {t('workflow.common.parallelRun')}
             </div>
           )
@@ -173,14 +133,6 @@
         }
         {
           data.type === BlockEnum.Iteration && (
-            <NodeResizer
-              nodeId={id}
-              nodeData={data}
-            />
-          )
-        }
-        {
-          data.type === BlockEnum.Loop && (
             <NodeResizer
               nodeId={id}
               nodeData={data}
@@ -216,18 +168,18 @@
           )
         }
         <div className={cn(
-          'flex items-center rounded-t-2xl px-3 pb-2 pt-3',
-          (data.type === BlockEnum.Iteration || data.type === BlockEnum.Loop) && 'bg-transparent',
+          'flex items-center px-3 pt-3 pb-2 rounded-t-2xl',
+          data.type === BlockEnum.Iteration && 'bg-transparent',
         )}>
           <BlockIcon
-            className='mr-2 shrink-0'
+            className='shrink-0 mr-2'
             type={data.type}
             size='md'
             toolIcon={toolIcon}
           />
           <div
             title={data.title}
-            className='system-sm-semibold-uppercase mr-1 flex grow items-center truncate text-text-primary'
+            className='grow mr-1 system-sm-semibold-uppercase text-text-primary truncate flex items-center'
           >
             <div>
               {data.title}
@@ -242,7 +194,7 @@
                     {t('workflow.nodes.iteration.parallelModeEnableDesc')}
                   </div>}
                 >
-                  <div className='system-2xs-medium-uppercase ml-1 flex items-center justify-center rounded-[5px] border-[1px] border-text-warning px-[5px] py-[3px] text-text-warning '>
+                  <div className='flex justify-center items-center px-[5px] py-[3px] ml-1 border-[1px] border-text-warning rounded-[5px] text-text-warning system-2xs-medium-uppercase '>
                     {t('workflow.nodes.iteration.parallelModeUpper')}
                   </div>
                 </Tooltip>
@@ -257,37 +209,34 @@
             )
           }
           {
-            data.type === BlockEnum.Loop && data._loopIndex && LoopIndex
-          }
-          {
             (data._runningStatus === NodeRunningStatus.Running || data._singleRunningStatus === NodeRunningStatus.Running) && (
-              <RiLoader2Line className='h-3.5 w-3.5 animate-spin text-text-accent' />
+              <RiLoader2Line className='w-3.5 h-3.5 text-text-accent animate-spin' />
             )
           }
           {
             data._runningStatus === NodeRunningStatus.Succeeded && (
-              <RiCheckboxCircleFill className='h-3.5 w-3.5 text-text-success' />
+              <RiCheckboxCircleFill className='w-3.5 h-3.5 text-text-success' />
             )
           }
           {
             data._runningStatus === NodeRunningStatus.Failed && (
-              <RiErrorWarningFill className='h-3.5 w-3.5 text-text-destructive' />
+              <RiErrorWarningFill className='w-3.5 h-3.5 text-text-destructive' />
             )
           }
           {
             data._runningStatus === NodeRunningStatus.Exception && (
-              <RiAlertFill className='h-3.5 w-3.5 text-text-warning-secondary' />
+              <RiAlertFill className='w-3.5 h-3.5 text-text-warning-secondary' />
             )
           }
         </div>
         {
-          data.type !== BlockEnum.Iteration && data.type !== BlockEnum.Loop && (
+          data.type !== BlockEnum.Iteration && (
             cloneElement(children, { id, data })
           )
         }
         {
-          (data.type === BlockEnum.Iteration || data.type === BlockEnum.Loop) && (
-            <div className='grow pb-1 pl-1 pr-1'>
+          data.type === BlockEnum.Iteration && (
+            <div className='grow pl-1 pr-1 pb-1'>
               {cloneElement(children, { id, data })}
             </div>
           )
@@ -309,8 +258,8 @@
           )
         }
         {
-          data.desc && data.type !== BlockEnum.Iteration && data.type !== BlockEnum.Loop && (
-            <div className='system-xs-regular whitespace-pre-line break-words px-3 pb-2 pt-1 text-text-tertiary'>
+          data.desc && data.type !== BlockEnum.Iteration && (
+            <div className='px-3 pt-1 pb-2 system-xs-regular text-text-tertiary whitespace-pre-line break-words'>
               {data.desc}
             </div>
           )
diff --git a/app/components/workflow/nodes/_base/panel.tsx b/app/components/workflow/nodes/_base/panel.tsx
index 2ee39a3..b828203 100644
--- a/app/components/workflow/nodes/_base/panel.tsx
+++ b/app/components/workflow/nodes/_base/panel.tsx
@@ -1,6 +1,6 @@
 import type {
   FC,
-  ReactNode,
+  ReactElement,
 } from 'react'
 import {
   cloneElement,
@@ -48,7 +48,7 @@
 import { useStore } from '@/app/components/workflow/store'
 
 type BasePanelProps = {
-  children: ReactNode
+  children: ReactElement
 } & Node
 
 const BasePanel: FC<BasePanelProps> = ({
@@ -61,14 +61,14 @@
     showMessageLogModal: state.showMessageLogModal,
   })))
   const showSingleRunPanel = useStore(s => s.showSingleRunPanel)
-  const panelWidth = localStorage.getItem('workflow-node-panel-width') ? Number.parseFloat(localStorage.getItem('workflow-node-panel-width')!) : 420
+  const panelWidth = localStorage.getItem('workflow-node-panel-width') ? parseFloat(localStorage.getItem('workflow-node-panel-width')!) : 420
   const {
     setPanelWidth,
   } = useWorkflow()
   const { handleNodeSelect } = useNodesInteractions()
   const { handleSyncWorkflowDraft } = useNodesSyncDraft()
   const { nodesReadOnly } = useNodesReadOnly()
-  const { availableNextBlocks } = useAvailableBlocks(data.type, data.isInIteration, data.isInLoop)
+  const { availableNextBlocks } = useAvailableBlocks(data.type, data.isInIteration)
   const toolIcon = useToolIcon(data)
 
   const handleResize = useCallback((width: number) => {
@@ -105,24 +105,24 @@
   return (
     <div className={cn(
       'relative mr-2 h-full',
-      showMessageLogModal && '!absolute -top-[5px] right-[416px] z-0 !mr-0 w-[384px] overflow-hidden rounded-2xl border-[0.5px] border-components-panel-border shadow-lg transition-all',
+      showMessageLogModal && '!absolute !mr-0 w-[384px] overflow-hidden -top-[5px] right-[416px] z-0 shadow-lg border-[0.5px] border-components-panel-border rounded-2xl transition-all',
     )}>
       <div
         ref={triggerRef}
-        className='absolute -left-2 top-1/2 h-6 w-3 -translate-y-1/2 cursor-col-resize resize-x'>
-        <div className='h-6 w-1 rounded-sm bg-divider-regular'></div>
+        className='absolute top-1/2 -translate-y-1/2 -left-2 w-3 h-6 cursor-col-resize resize-x'>
+        <div className='w-1 h-6 bg-divider-regular rounded-sm'></div>
       </div>
       <div
         ref={containerRef}
-        className={cn('h-full rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg', showSingleRunPanel ? 'overflow-hidden' : 'overflow-y-auto')}
+        className={cn('h-full bg-components-panel-bg shadow-lg border-[0.5px] border-components-panel-border rounded-2xl', showSingleRunPanel ? 'overflow-hidden' : 'overflow-y-auto')}
         style={{
           width: `${panelWidth}px`,
         }}
       >
-        <div className='sticky top-0 z-10 border-b-[0.5px] border-divider-regular bg-components-panel-bg'>
-          <div className='flex items-center px-4 pb-1 pt-4'>
+        <div className='sticky top-0 bg-components-panel-bg border-b-[0.5px] border-black/5 z-10'>
+          <div className='flex items-center px-4 pt-4 pb-1'>
             <BlockIcon
-              className='mr-1 shrink-0'
+              className='shrink-0 mr-1'
               type={data.type}
               toolIcon={toolIcon}
               size='md'
@@ -131,7 +131,7 @@
               value={data.title || ''}
               onBlur={handleTitleBlur}
             />
-            <div className='flex shrink-0 items-center text-text-tertiary'>
+            <div className='shrink-0 flex items-center text-gray-500'>
               {
                 canRunBySingle(data.type) && !nodesReadOnly && (
                   <Tooltip
@@ -139,25 +139,25 @@
                     popupClassName='mr-1'
                   >
                     <div
-                      className='mr-1 flex h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-state-base-hover'
+                      className='flex items-center justify-center mr-1 w-6 h-6 rounded-md hover:bg-black/5 cursor-pointer'
                       onClick={() => {
                         handleNodeDataUpdate({ id, data: { _isSingleRun: true } })
                         handleSyncWorkflowDraft(true)
                       }}
                     >
-                      <RiPlayLargeLine className='h-4 w-4 text-text-tertiary' />
+                      <RiPlayLargeLine className='w-4 h-4 text-text-tertiary' />
                     </div>
                   </Tooltip>
                 )
               }
               <HelpLink nodeType={data.type} />
               <PanelOperator id={id} data={data} showHelpLink={false} />
-              <div className='mx-3 h-3.5 w-[1px] bg-divider-regular' />
+              <div className='mx-3 w-[1px] h-3.5 bg-divider-regular' />
               <div
-                className='flex h-6 w-6 cursor-pointer items-center justify-center'
+                className='flex items-center justify-center w-6 h-6 cursor-pointer'
                 onClick={() => handleNodeSelect(id, true)}
               >
-                <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+                <RiCloseLine className='w-4 h-4 text-text-tertiary' />
               </div>
             </div>
           </div>
@@ -169,7 +169,7 @@
           </div>
         </div>
         <div>
-          {cloneElement(children as any, { id, data })}
+          {cloneElement(children, { id, data })}
         </div>
         <Split />
         {
@@ -190,11 +190,11 @@
         }
         {
           !!availableNextBlocks.length && (
-            <div className='border-t-[0.5px] border-divider-regular p-4'>
-              <div className='system-sm-semibold-uppercase mb-1 flex items-center text-text-secondary'>
+            <div className='p-4 border-t-[0.5px] border-t-black/5'>
+              <div className='flex items-center mb-1 system-sm-semibold-uppercase text-text-secondary'>
                 {t('workflow.panel.nextStep').toLocaleUpperCase()}
               </div>
-              <div className='system-xs-regular mb-2 text-text-tertiary'>
+              <div className='mb-2 system-xs-regular text-text-tertiary'>
                 {t('workflow.panel.addNextStep')}
               </div>
               <NextStep selectedNode={{ id, data } as Node} />
diff --git a/app/components/workflow/nodes/answer/panel.tsx b/app/components/workflow/nodes/answer/panel.tsx
index 2a4b70e..b8fe5f5 100644
--- a/app/components/workflow/nodes/answer/panel.tsx
+++ b/app/components/workflow/nodes/answer/panel.tsx
@@ -29,7 +29,7 @@
   })
 
   return (
-    <div className='mb-2 mt-2 space-y-4 px-4'>
+    <div className='mt-2 mb-2 px-4 space-y-4'>
       <Editor
         readOnly={readOnly}
         justVar
diff --git a/app/components/workflow/nodes/assigner/components/operation-selector.tsx b/app/components/workflow/nodes/assigner/components/operation-selector.tsx
index 98acb61..8542bb4 100644
--- a/app/components/workflow/nodes/assigner/components/operation-selector.tsx
+++ b/app/components/workflow/nodes/assigner/components/operation-selector.tsx
@@ -72,9 +72,9 @@
             className,
           )}
         >
-          <div className='flex items-center p-1'>
+          <div className='flex p-1 items-center'>
             <span
-              className={`system-sm-regular overflow-hidden truncate text-ellipsis
+              className={`truncate overflow-hidden text-ellipsis system-sm-regular
                 ${selectedItem ? 'text-components-input-text-filled' : 'text-components-input-text-disabled'}`}
             >
               {selectedItem?.name ? t(`${i18nPrefix}.operations.${selectedItem?.name}`) : t(`${i18nPrefix}.operations.title`)}
@@ -86,9 +86,9 @@
 
       <PortalToFollowElemContent className={`z-20 ${popupClassName}`}>
         <div className='flex w-[140px] flex-col items-start rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'>
-          <div className='flex flex-col items-start self-stretch p-1'>
-            <div className='flex items-start self-stretch px-3 pb-0.5 pt-1'>
-              <div className='system-xs-medium-uppercase flex grow text-text-tertiary'>{t(`${i18nPrefix}.operations.title`)}</div>
+          <div className='flex p-1 flex-col items-start self-stretch'>
+            <div className='flex px-3 pt-1 pb-0.5 items-start self-stretch'>
+              <div className='flex grow text-text-tertiary system-xs-medium-uppercase'>{t(`${i18nPrefix}.operations.title`)}</div>
             </div>
             {items.map(item => (
               item.value === 'divider'
@@ -107,11 +107,11 @@
                       setOpen(false)
                     }}
                   >
-                    <div className='flex min-h-5 grow items-center gap-1 px-1'>
-                      <span className={'system-sm-medium flex grow text-text-secondary'}>{t(`${i18nPrefix}.operations.${item.name}`)}</span>
+                    <div className='flex min-h-5 px-1 items-center gap-1 grow'>
+                      <span className={'flex flex-grow text-text-secondary system-sm-medium'}>{t(`${i18nPrefix}.operations.${item.name}`)}</span>
                     </div>
                     {item.value === value && (
-                      <div className='flex items-center justify-center'>
+                      <div className='flex justify-center items-center'>
                         <RiCheckLine className='h-4 w-4 text-text-accent' />
                       </div>
                     )}
diff --git a/app/components/workflow/nodes/assigner/components/var-list/index.tsx b/app/components/workflow/nodes/assigner/components/var-list/index.tsx
index f34a143..42ee984 100644
--- a/app/components/workflow/nodes/assigner/components/var-list/index.tsx
+++ b/app/components/workflow/nodes/assigner/components/var-list/index.tsx
@@ -15,7 +15,6 @@
 import Input from '@/app/components/base/input'
 import Textarea from '@/app/components/base/textarea'
 import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor'
-import { noop } from 'lodash-es'
 
 type Props = {
   readonly: boolean
@@ -37,7 +36,7 @@
   nodeId,
   list,
   onChange,
-  onOpen = noop,
+  onOpen = () => { },
   filterVar,
   filterToAssignedVar,
   getAssignedVarType,
@@ -96,14 +95,18 @@
   }, [onOpen])
 
   const handleFilterToAssignedVar = useCallback((index: number) => {
-    return (payload: Var) => {
-      const { variable_selector, operation } = list[index]
-      if (!variable_selector || !operation || !filterToAssignedVar) return true
+    return (payload: Var, valueSelector: ValueSelector) => {
+      const item = list[index]
+      const assignedVarType = item.variable_selector ? getAssignedVarType?.(item.variable_selector) : undefined
 
-      const assignedVarType = getAssignedVarType?.(variable_selector)
-      const isSameVariable = Array.isArray(variable_selector) && variable_selector.join('.') === `${payload.nodeId}.${payload.variable}`
+      if (!filterToAssignedVar || !item.variable_selector || !assignedVarType || !item.operation)
+        return true
 
-      return !isSameVariable && (!assignedVarType || filterToAssignedVar(payload, assignedVarType, operation))
+      return filterToAssignedVar(
+        payload,
+        assignedVarType,
+        item.operation,
+      )
     }
   }, [list, filterToAssignedVar, getAssignedVarType])
 
@@ -125,7 +128,7 @@
 
         return (
           <div className='flex items-start gap-1 self-stretch' key={index}>
-            <div className='flex grow flex-col items-start gap-1'>
+            <div className='flex flex-col items-start gap-1 flex-grow'>
               <div className='flex items-center gap-1 self-stretch'>
                 <VarReferencePicker
                   readonly={readonly}
@@ -152,7 +155,6 @@
                 />
               </div>
               {item.operation !== WriteMode.clear && item.operation !== WriteMode.set
-                && item.operation !== WriteMode.removeFirst && item.operation !== WriteMode.removeLast
                 && !writeModeTypesNum?.includes(item.operation)
                 && (
                   <VarReferencePicker
@@ -210,10 +212,10 @@
             </div>
             <ActionButton
               size='l'
-              className='group shrink-0 hover:!bg-state-destructive-hover'
+              className='flex-shrink-0 group hover:!bg-state-destructive-hover'
               onClick={handleVarRemove(index)}
             >
-              <RiDeleteBinLine className='h-4 w-4 text-text-tertiary group-hover:text-text-destructive' />
+              <RiDeleteBinLine className='text-text-tertiary w-4 h-4 group-hover:text-text-destructive' />
             </ActionButton>
           </div>
         )
diff --git a/app/components/workflow/nodes/assigner/default.ts b/app/components/workflow/nodes/assigner/default.ts
index 6341305..f443ae1 100644
--- a/app/components/workflow/nodes/assigner/default.ts
+++ b/app/components/workflow/nodes/assigner/default.ts
@@ -29,7 +29,7 @@
       if (!errorMessages && !value.variable_selector?.length)
         errorMessages = t(`${i18nPrefix}.fieldRequired`, { field: t('workflow.nodes.assigner.assignedVariable') })
 
-      if (!errorMessages && value.operation !== WriteMode.clear && value.operation !== WriteMode.removeFirst && value.operation !== WriteMode.removeLast) {
+      if (!errorMessages && value.operation !== WriteMode.clear) {
         if (value.operation === WriteMode.set || value.operation === WriteMode.increment
           || value.operation === WriteMode.decrement || value.operation === WriteMode.multiply
           || value.operation === WriteMode.divide) {
diff --git a/app/components/workflow/nodes/assigner/node.tsx b/app/components/workflow/nodes/assigner/node.tsx
index 2dd1ead..516cfbc 100644
--- a/app/components/workflow/nodes/assigner/node.tsx
+++ b/app/components/workflow/nodes/assigner/node.tsx
@@ -3,7 +3,7 @@
 import { useNodes } from 'reactflow'
 import { useTranslation } from 'react-i18next'
 import NodeVariableItem from '../variable-assigner/components/node-variable-item'
-import type { AssignerNodeType } from './types'
+import { type AssignerNodeType } from './types'
 import { isConversationVar, isENV, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils'
 import { BlockEnum, type Node, type NodeProps } from '@/app/components/workflow/types'
 
@@ -13,6 +13,7 @@
   data,
 }) => {
   const { t } = useTranslation()
+
   const nodes: Node[] = useNodes()
   if (data.version === '2') {
     const { items: operationItems } = data
@@ -22,17 +23,17 @@
 
     if (validOperationItems.length === 0) {
       return (
-        <div className='relative flex flex-col items-start gap-0.5 self-stretch px-3 py-1'>
+        <div className='relative flex flex-col px-3 py-1 gap-0.5 items-start self-stretch'>
           <div className='flex flex-col items-start gap-1 self-stretch'>
-            <div className='flex items-center gap-1 self-stretch rounded-md bg-workflow-block-parma-bg px-[5px] py-1'>
-              <div className='system-xs-medium flex-1 text-text-tertiary'>{t(`${i18nPrefix}.varNotSet`)}</div>
+            <div className='flex px-[5px] py-1 items-center gap-1 self-stretch rounded-md bg-workflow-block-parma-bg'>
+              <div className='flex-1 text-text-tertiary system-xs-medium'>{t(`${i18nPrefix}.varNotSet`)}</div>
             </div>
           </div>
         </div>
       )
     }
     return (
-      <div className='relative flex flex-col items-start gap-0.5 self-stretch px-3 py-1'>
+      <div className='relative flex flex-col px-3 py-1 gap-0.5 items-start self-stretch'>
         {operationItems.map((value, index) => {
           const variable = value.variable_selector
           if (!variable || variable.length === 0)
@@ -70,7 +71,7 @@
   const varName = isSystem ? `sys.${variable[variable.length - 1]}` : variable.slice(1).join('.')
 
   return (
-    <div className='relative flex flex-col items-start gap-0.5 self-stretch px-3 py-1'>
+    <div className='relative flex flex-col px-3 py-1 gap-0.5 items-start self-stretch'>
       <NodeVariableItem
         node={node as Node}
         isEnv={isEnv}
diff --git a/app/components/workflow/nodes/assigner/panel.tsx b/app/components/workflow/nodes/assigner/panel.tsx
index 430f1ae..a470d94 100644
--- a/app/components/workflow/nodes/assigner/panel.tsx
+++ b/app/components/workflow/nodes/assigner/panel.tsx
@@ -7,9 +7,9 @@
 import VarList from './components/var-list'
 import useConfig from './use-config'
 import type { AssignerNodeType } from './types'
-import type { NodePanelProps } from '@/app/components/workflow/types'
 import { useHandleAddOperationItem } from './hooks'
 import ActionButton from '@/app/components/base/action-button'
+import { type NodePanelProps } from '@/app/components/workflow/types'
 
 const i18nPrefix = 'workflow.nodes.assigner'
 
@@ -37,12 +37,12 @@
   }
 
   return (
-    <div className='flex flex-col items-start self-stretch py-2'>
-      <div className='flex w-full flex-col items-start justify-center gap-1 self-stretch px-4 py-2'>
+    <div className='flex py-2 flex-col items-start self-stretch'>
+      <div className='flex flex-col justify-center items-start gap-1 px-4 py-2 w-full self-stretch'>
         <div className='flex items-start gap-2 self-stretch'>
-          <div className='system-sm-semibold-uppercase flex grow flex-col items-start justify-center text-text-secondary'>{t(`${i18nPrefix}.variables`)}</div>
+          <div className='flex flex-col justify-center items-start flex-grow text-text-secondary system-sm-semibold-uppercase'>{t(`${i18nPrefix}.variables`)}</div>
           <ActionButton onClick={handleAddOperation}>
-            <RiAddLine className='h-4 w-4 shrink-0 text-text-tertiary' />
+            <RiAddLine className='w-4 h-4 shrink-0 text-text-tertiary' />
           </ActionButton>
         </div>
         <VarList
diff --git a/app/components/workflow/nodes/assigner/types.ts b/app/components/workflow/nodes/assigner/types.ts
index 85d2b28..9f06f65 100644
--- a/app/components/workflow/nodes/assigner/types.ts
+++ b/app/components/workflow/nodes/assigner/types.ts
@@ -10,8 +10,6 @@
   decrement = '-=',
   multiply = '*=',
   divide = '/=',
-  removeFirst = 'remove-first',
-  removeLast = 'remove-last',
 }
 
 export enum AssignerNodeInputType {
diff --git a/app/components/workflow/nodes/assigner/use-config.ts b/app/components/workflow/nodes/assigner/use-config.ts
index cbd5475..fc41ac1 100644
--- a/app/components/workflow/nodes/assigner/use-config.ts
+++ b/app/components/workflow/nodes/assigner/use-config.ts
@@ -31,7 +31,7 @@
   }
 
   const store = useStoreApi()
-  const { getBeforeNodesInSameBranchIncludeParent } = useWorkflow()
+  const { getBeforeNodesInSameBranch } = useWorkflow()
 
   const {
     getNodes,
@@ -40,8 +40,8 @@
   const isInIteration = payload.isInIteration
   const iterationNode = isInIteration ? getNodes().find(n => n.id === currentNode!.parentId) : null
   const availableNodes = useMemo(() => {
-    return getBeforeNodesInSameBranchIncludeParent(id)
-  }, [getBeforeNodesInSameBranchIncludeParent, id])
+    return getBeforeNodesInSameBranch(id)
+  }, [getBeforeNodesInSameBranch, id])
   const { inputs, setInputs } = useNodeCrud<AssignerNodeType>(id, payload)
   const newSetInputs = useCallback((newInputs: AssignerNodeType) => {
     const finalInputs = produce(newInputs, (draft) => {
@@ -54,13 +54,13 @@
   const { getCurrentVariableType } = useWorkflowVariables()
   const getAssignedVarType = useCallback((valueSelector: ValueSelector) => {
     return getCurrentVariableType({
-      parentNode: isInIteration ? iterationNode : null,
+      parentNode: iterationNode,
       valueSelector: valueSelector || [],
       availableNodes,
       isChatMode,
       isConstant: false,
     })
-  }, [getCurrentVariableType, isInIteration, iterationNode, availableNodes, isChatMode])
+  }, [getCurrentVariableType, iterationNode, availableNodes, isChatMode])
 
   const handleOperationListChanges = useCallback((items: AssignerNodeOperation[]) => {
     const newInputs = produce(inputs, (draft) => {
@@ -69,7 +69,7 @@
     newSetInputs(newInputs)
   }, [inputs, newSetInputs])
 
-  const writeModeTypesArr = [WriteMode.overwrite, WriteMode.clear, WriteMode.append, WriteMode.extend, WriteMode.removeFirst, WriteMode.removeLast]
+  const writeModeTypesArr = [WriteMode.overwrite, WriteMode.clear, WriteMode.append, WriteMode.extend]
   const writeModeTypes = [WriteMode.overwrite, WriteMode.clear, WriteMode.set]
   const writeModeTypesNum = [WriteMode.increment, WriteMode.decrement, WriteMode.multiply, WriteMode.divide]
 
@@ -89,8 +89,6 @@
   }, [])
 
   const filterAssignedVar = useCallback((varPayload: Var, selector: ValueSelector) => {
-    if (varPayload.isLoopVariable)
-      return true
     return selector.join('.').startsWith('conversation')
   }, [])
 
diff --git a/app/components/workflow/nodes/code/code-parser.ts b/app/components/workflow/nodes/code/code-parser.ts
index 0973a01..e1b0928 100644
--- a/app/components/workflow/nodes/code/code-parser.ts
+++ b/app/components/workflow/nodes/code/code-parser.ts
@@ -25,7 +25,7 @@
 }
 export const extractReturnType = (code: string, language: CodeLanguage): OutputVar => {
   const codeWithoutComments = code.replace(/\/\*\*[\s\S]*?\*\//, '')
-  // console.log(codeWithoutComments)
+  console.log(codeWithoutComments)
 
   const returnIndex = codeWithoutComments.indexOf('return')
   if (returnIndex === -1)
@@ -64,7 +64,7 @@
     return {}
 
   const returnContent = codeAfterReturn.slice(startIndex + 1, endIndex - 1)
-  // console.log(returnContent)
+  console.log(returnContent)
 
   const result: OutputVar = {}
 
@@ -72,7 +72,7 @@
   const matches = returnContent.matchAll(keyRegex)
 
   for (const match of matches) {
-    // console.log(`Found key: "${match[1]}" from match: "${match[0]}"`)
+    console.log(`Found key: "${match[1]}" from match: "${match[0]}"`)
     const key = match[1]
     result[key] = {
       type: VarType.string,
@@ -80,7 +80,7 @@
     }
   }
 
-  // console.log(result)
+  console.log(result)
 
   return result
 }
diff --git a/app/components/workflow/nodes/code/dependency-picker.tsx b/app/components/workflow/nodes/code/dependency-picker.tsx
index a302a21..43e8523 100644
--- a/app/components/workflow/nodes/code/dependency-picker.tsx
+++ b/app/components/workflow/nodes/code/dependency-picker.tsx
@@ -37,19 +37,19 @@
       placement='bottom-start'
       offset={4}
     >
-      <PortalToFollowElemTrigger onClick={() => setOpen(!open)} className='grow cursor-pointer'>
-        <div className='flex h-8 items-center justify-between rounded-lg border-0 bg-gray-100 px-2.5 text-[13px] text-gray-900'>
-          <div className='w-0 grow truncate' title={value.name}>{value.name}</div>
-          <RiArrowDownSLine className='h-3.5 w-3.5 shrink-0 text-gray-700' />
+      <PortalToFollowElemTrigger onClick={() => setOpen(!open)} className='flex-grow cursor-pointer'>
+        <div className='flex items-center h-8 justify-between px-2.5 rounded-lg border-0 bg-gray-100 text-gray-900 text-[13px]'>
+          <div className='grow w-0 truncate' title={value.name}>{value.name}</div>
+          <RiArrowDownSLine className='shrink-0 w-3.5 h-3.5 text-gray-700' />
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{
         zIndex: 100,
       }}>
-        <div className='rounded-lg bg-white p-1 shadow-sm' style={{
+        <div className='p-1 bg-white rounded-lg shadow-sm' style={{
           width: 350,
         }}>
-          <div className='mx-1 mb-2'>
+          <div className='mb-2 mx-1'>
             <Input
               showLeftIcon
               showClearIcon
@@ -68,11 +68,11 @@
             }).map(dependency => (
               <div
                 key={dependency.name}
-                className='flex h-[30px] cursor-pointer items-center justify-between rounded-lg pl-3 pr-2 text-[13px] text-gray-900 hover:bg-gray-100'
+                className='flex items-center h-[30px] justify-between pl-3 pr-2 rounded-lg hover:bg-gray-100 text-gray-900 text-[13px] cursor-pointer'
                 onClick={handleChange(dependency)}
               >
                 <div className='w-0 grow truncate'>{dependency.name}</div>
-                {dependency.name === value.name && <Check className='h-4 w-4 shrink-0 text-primary-600' />}
+                {dependency.name === value.name && <Check className='shrink-0 w-4 h-4 text-primary-600' />}
               </div>
             ))}
           </div>
diff --git a/app/components/workflow/nodes/code/panel.tsx b/app/components/workflow/nodes/code/panel.tsx
index a0b7535..a0027da 100644
--- a/app/components/workflow/nodes/code/panel.tsx
+++ b/app/components/workflow/nodes/code/panel.tsx
@@ -13,7 +13,7 @@
 import Split from '@/app/components/workflow/nodes/_base/components/split'
 import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor'
 import TypeSelector from '@/app/components/workflow/nodes/_base/components/selector'
-import type { NodePanelProps } from '@/app/components/workflow/types'
+import { type NodePanelProps } from '@/app/components/workflow/types'
 import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
 import ResultPanel from '@/app/components/workflow/run/result-panel'
 const i18nPrefix = 'workflow.nodes.code'
@@ -76,7 +76,7 @@
 
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.inputVars`)}
           operations={
@@ -111,14 +111,14 @@
         />
       </div>
       <Split />
-      <div className='px-4 pb-2 pt-4'>
+      <div className='px-4 pt-4 pb-2'>
         <Field
           title={t(`${i18nPrefix}.outputVars`)}
           operations={
             <AddButton onClick={handleAddOutputVariable} />
           }
-          required
         >
+
           <OutputVarList
             readonly={readOnly}
             outputs={inputs.outputs}
diff --git a/app/components/workflow/nodes/code/use-config.ts b/app/components/workflow/nodes/code/use-config.ts
index 13b8962..c53c07a 100644
--- a/app/components/workflow/nodes/code/use-config.ts
+++ b/app/components/workflow/nodes/code/use-config.ts
@@ -101,7 +101,7 @@
   })
 
   const filterVar = useCallback((varPayload: Var) => {
-    return [VarType.string, VarType.number, VarType.secret, VarType.object, VarType.array, VarType.arrayNumber, VarType.arrayString, VarType.arrayObject, VarType.file, VarType.arrayFile].includes(varPayload.type)
+    return [VarType.string, VarType.number, VarType.secret, VarType.object, VarType.array, VarType.arrayNumber, VarType.arrayString, VarType.arrayObject].includes(varPayload.type)
   }, [])
 
   // single run
diff --git a/app/components/workflow/nodes/code/utils.ts b/app/components/workflow/nodes/code/utils.ts
index da9c115..74b3cec 100644
--- a/app/components/workflow/nodes/code/utils.ts
+++ b/app/components/workflow/nodes/code/utils.ts
@@ -1,3 +1,5 @@
-export const checkNodeValid = () => {
+import type { CodeNodeType } from './types'
+
+export const checkNodeValid = (payload: CodeNodeType) => {
   return true
 }
diff --git a/app/components/workflow/nodes/constants.ts b/app/components/workflow/nodes/constants.ts
index 0cd6922..82a21d9 100644
--- a/app/components/workflow/nodes/constants.ts
+++ b/app/components/workflow/nodes/constants.ts
@@ -30,15 +30,10 @@
 import ParameterExtractorPanel from './parameter-extractor/panel'
 import IterationNode from './iteration/node'
 import IterationPanel from './iteration/panel'
-import LoopNode from './loop/node'
-import LoopPanel from './loop/panel'
 import DocExtractorNode from './document-extractor/node'
 import DocExtractorPanel from './document-extractor/panel'
 import ListFilterNode from './list-operator/node'
 import ListFilterPanel from './list-operator/panel'
-import AgentNode from './agent/node'
-import AgentPanel from './agent/panel'
-import { TransferMethod } from '@/types/app'
 
 export const NodeComponentMap: Record<string, ComponentType<any>> = {
   [BlockEnum.Start]: StartNode,
@@ -57,10 +52,8 @@
   [BlockEnum.VariableAggregator]: VariableAssignerNode,
   [BlockEnum.ParameterExtractor]: ParameterExtractorNode,
   [BlockEnum.Iteration]: IterationNode,
-  [BlockEnum.Loop]: LoopNode,
   [BlockEnum.DocExtractor]: DocExtractorNode,
   [BlockEnum.ListFilter]: ListFilterNode,
-  [BlockEnum.Agent]: AgentNode,
 }
 
 export const PanelComponentMap: Record<string, ComponentType<any>> = {
@@ -80,25 +73,8 @@
   [BlockEnum.Assigner]: AssignerPanel,
   [BlockEnum.ParameterExtractor]: ParameterExtractorPanel,
   [BlockEnum.Iteration]: IterationPanel,
-  [BlockEnum.Loop]: LoopPanel,
   [BlockEnum.DocExtractor]: DocExtractorPanel,
   [BlockEnum.ListFilter]: ListFilterPanel,
-  [BlockEnum.Agent]: AgentPanel,
 }
 
 export const CUSTOM_NODE_TYPE = 'custom'
-
-export const FILE_TYPE_OPTIONS = [
-  { value: 'image', i18nKey: 'image' },
-  { value: 'document', i18nKey: 'doc' },
-  { value: 'audio', i18nKey: 'audio' },
-  { value: 'video', i18nKey: 'video' },
-]
-
-export const TRANSFER_METHOD = [
-  { value: TransferMethod.local_file, i18nKey: 'localUpload' },
-  { value: TransferMethod.remote_url, i18nKey: 'url' },
-]
-
-export const SUB_VARIABLES = ['type', 'size', 'name', 'url', 'extension', 'mime_type', 'transfer_method', 'related_id']
-export const OUTPUT_FILE_SUB_VARIABLES = SUB_VARIABLES.filter(key => key !== 'transfer_method')
diff --git a/app/components/workflow/nodes/document-extractor/default.ts b/app/components/workflow/nodes/document-extractor/default.ts
index e141844..4ffc64b 100644
--- a/app/components/workflow/nodes/document-extractor/default.ts
+++ b/app/components/workflow/nodes/document-extractor/default.ts
@@ -1,6 +1,6 @@
 import { BlockEnum } from '../../types'
 import type { NodeDefault } from '../../types'
-import type { DocExtractorNodeType } from './types'
+import { type DocExtractorNodeType } from './types'
 import { ALL_CHAT_AVAILABLE_BLOCKS, ALL_COMPLETION_AVAILABLE_BLOCKS } from '@/app/components/workflow/blocks'
 const i18nPrefix = 'workflow.errorMsg'
 
diff --git a/app/components/workflow/nodes/document-extractor/node.tsx b/app/components/workflow/nodes/document-extractor/node.tsx
index 6b1d434..6324961 100644
--- a/app/components/workflow/nodes/document-extractor/node.tsx
+++ b/app/components/workflow/nodes/document-extractor/node.tsx
@@ -3,7 +3,7 @@
 import { useNodes } from 'reactflow'
 import { useTranslation } from 'react-i18next'
 import NodeVariableItem from '../variable-assigner/components/node-variable-item'
-import type { DocExtractorNodeType } from './types'
+import { type DocExtractorNodeType } from './types'
 import { isConversationVar, isENV, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils'
 import { BlockEnum, type Node, type NodeProps } from '@/app/components/workflow/types'
 
@@ -27,7 +27,7 @@
   const varName = isSystem ? `sys.${variable[variable.length - 1]}` : variable.slice(1).join('.')
   return (
     <div className='relative px-3'>
-      <div className='system-2xs-medium-uppercase mb-1 text-text-tertiary'>{t(`${i18nPrefix}.inputVar`)}</div>
+      <div className='mb-1 system-2xs-medium-uppercase text-text-tertiary'>{t(`${i18nPrefix}.inputVar`)}</div>
       <NodeVariableItem
         node={node as Node}
         isEnv={isEnv}
diff --git a/app/components/workflow/nodes/document-extractor/panel.tsx b/app/components/workflow/nodes/document-extractor/panel.tsx
index 5ed1425..597f528 100644
--- a/app/components/workflow/nodes/document-extractor/panel.tsx
+++ b/app/components/workflow/nodes/document-extractor/panel.tsx
@@ -61,10 +61,9 @@
 
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.inputVar`)}
-          required
         >
           <>
             <VarReferencePicker
@@ -76,7 +75,7 @@
               filterVar={filterVar}
               typePlaceHolder='File | Array[File]'
             />
-            <div className='body-xs-regular mt-1 py-0.5 text-text-tertiary'>
+            <div className='mt-1 py-0.5 text-text-tertiary body-xs-regular'>
               {t(`${i18nPrefix}.supportFileTypes`, { types: supportTypesShowNames })}
               <a className='text-text-accent' href={link} target='_blank'>{t(`${i18nPrefix}.learnMore`)}</a>
             </div>
@@ -107,7 +106,7 @@
                   required: true,
                 }],
                 values: { files },
-                onChange: keyValue => setFiles(keyValue.files),
+                onChange: keyValue => setFiles((keyValue as any).files),
               },
             ]}
             runningStatus={runningStatus}
diff --git a/app/components/workflow/nodes/document-extractor/use-config.ts b/app/components/workflow/nodes/document-extractor/use-config.ts
index 8ceb153..9d720d7 100644
--- a/app/components/workflow/nodes/document-extractor/use-config.ts
+++ b/app/components/workflow/nodes/document-extractor/use-config.ts
@@ -4,7 +4,7 @@
 
 import type { ValueSelector, Var } from '../../types'
 import { InputVarType, VarType } from '../../types'
-import type { DocExtractorNodeType } from './types'
+import { type DocExtractorNodeType } from './types'
 import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud'
 import useOneStepRun from '@/app/components/workflow/nodes/_base/hooks/use-one-step-run'
 import {
@@ -32,8 +32,6 @@
   const currentNode = getNodes().find(n => n.id === id)
   const isInIteration = payload.isInIteration
   const iterationNode = isInIteration ? getNodes().find(n => n.id === currentNode!.parentId) : null
-  const isInLoop = payload.isInLoop
-  const loopNode = isInLoop ? getNodes().find(n => n.id === currentNode!.parentId) : null
   const availableNodes = useMemo(() => {
     return getBeforeNodesInSameBranch(id)
   }, [getBeforeNodesInSameBranch, id])
@@ -41,14 +39,14 @@
   const { getCurrentVariableType } = useWorkflowVariables()
   const getType = useCallback((variable?: ValueSelector) => {
     const varType = getCurrentVariableType({
-      parentNode: isInIteration ? iterationNode : loopNode,
+      parentNode: iterationNode,
       valueSelector: variable || [],
       availableNodes,
       isChatMode,
       isConstant: false,
     })
     return varType
-  }, [getCurrentVariableType, isInIteration, availableNodes, isChatMode, iterationNode, loopNode])
+  }, [getCurrentVariableType, availableNodes, isChatMode, iterationNode])
 
   const handleVarChanges = useCallback((variable: ValueSelector | string) => {
     const newInputs = produce(inputs, (draft) => {
diff --git a/app/components/workflow/nodes/end/default.ts b/app/components/workflow/nodes/end/default.ts
index e8fbb94..25abfb5 100644
--- a/app/components/workflow/nodes/end/default.ts
+++ b/app/components/workflow/nodes/end/default.ts
@@ -1,6 +1,6 @@
 import { BlockEnum } from '../../types'
 import type { NodeDefault } from '../../types'
-import type { EndNodeType } from './types'
+import { type EndNodeType } from './types'
 import { ALL_CHAT_AVAILABLE_BLOCKS, ALL_COMPLETION_AVAILABLE_BLOCKS } from '@/app/components/workflow/blocks'
 
 const nodeDefault: NodeDefault<EndNodeType> = {
@@ -16,10 +16,16 @@
   getAvailableNextNodes() {
     return []
   },
-  checkValid() {
+  checkValid(payload: EndNodeType) {
+    let isValid = true
+    let errorMessages = ''
+    if (payload.type) {
+      isValid = true
+      errorMessages = ''
+    }
     return {
-      isValid: true,
-      errorMessage: '',
+      isValid,
+      errorMessage: errorMessages,
     }
   },
 }
diff --git a/app/components/workflow/nodes/end/node.tsx b/app/components/workflow/nodes/end/node.tsx
index 6906e0f..d5d2eae 100644
--- a/app/components/workflow/nodes/end/node.tsx
+++ b/app/components/workflow/nodes/end/node.tsx
@@ -39,7 +39,7 @@
     return null
 
   return (
-    <div className='mb-1 space-y-0.5 px-3 py-1'>
+    <div className='mb-1 px-3 py-1 space-y-0.5'>
       {filteredOutputs.map(({ value_selector }, index) => {
         const node = getNode(value_selector[0])
         const isSystem = isSystemVar(value_selector)
@@ -52,13 +52,13 @@
           isChatMode,
         })
         return (
-          <div key={index} className='flex h-6 items-center justify-between space-x-1 rounded-md  bg-workflow-block-parma-bg px-1 text-xs font-normal text-text-secondary'>
-            <div className='flex items-center text-xs font-medium text-text-tertiary'>
+          <div key={index} className='flex items-center h-6 justify-between bg-gray-100 rounded-md  px-1 space-x-1 text-xs font-normal text-gray-700'>
+            <div className='flex items-center text-xs font-medium text-gray-500'>
               {!isEnv && !isChatVar && (
                 <>
                   <div className='p-[1px]'>
                     <VarBlockIcon
-                      className='!text-text-primary'
+                      className='!text-gray-900'
                       type={node?.data.type || BlockEnum.Start}
                     />
                   </div>
@@ -66,16 +66,16 @@
                   <Line3 className='mr-0.5'></Line3>
                 </>
               )}
-              <div className='flex items-center text-text-accent'>
-                {!isEnv && !isChatVar && <Variable02 className='h-3.5 w-3.5 shrink-0 text-text-accent' />}
-                {isEnv && <Env className='h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-                {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
+              <div className='flex items-center text-primary-600'>
+                {!isEnv && !isChatVar && <Variable02 className='shrink-0 w-3.5 h-3.5 text-primary-500' />}
+                {isEnv && <Env className='shrink-0 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+                {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
 
-                <div className={cn('ml-0.5 max-w-[50px] truncate text-xs font-medium', (isEnv || isChatVar) && '!max-w-[70px] text-text-primary')}>{varName}</div>
+                <div className={cn('max-w-[50px] ml-0.5 text-xs font-medium truncate', (isEnv || isChatVar) && '!max-w-[70px] text-gray-900')}>{varName}</div>
               </div>
             </div>
-            <div className='text-xs font-normal text-text-secondary'>
-              <div className='ml-0.5 max-w-[42px] truncate text-xs font-normal capitalize text-text-tertiary' title={varType}>{varType}</div>
+            <div className='text-xs font-normal text-gray-700'>
+              <div className='max-w-[42px] ml-0.5 text-xs font-normal text-gray-500 capitalize truncate' title={varType}>{varType}</div>
             </div>
           </div>
         )
diff --git a/app/components/workflow/nodes/end/panel.tsx b/app/components/workflow/nodes/end/panel.tsx
index 2ad90ff..a74ba51 100644
--- a/app/components/workflow/nodes/end/panel.tsx
+++ b/app/components/workflow/nodes/end/panel.tsx
@@ -1,4 +1,4 @@
-import type { FC } from 'react'
+import { type FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
 import useConfig from './use-config'
@@ -6,7 +6,7 @@
 import VarList from '@/app/components/workflow/nodes/_base/components/variable/var-list'
 import Field from '@/app/components/workflow/nodes/_base/components/field'
 import AddButton from '@/app/components/base/button/add-button'
-import type { NodePanelProps } from '@/app/components/workflow/types'
+import { type NodePanelProps } from '@/app/components/workflow/types'
 
 const i18nPrefix = 'workflow.nodes.end'
 
@@ -26,7 +26,7 @@
   const outputs = inputs.outputs
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
 
         <Field
           title={t(`${i18nPrefix}.output.variable`)}
diff --git a/app/components/workflow/nodes/http/components/api-input.tsx b/app/components/workflow/nodes/http/components/api-input.tsx
index 000011e..1f418ac 100644
--- a/app/components/workflow/nodes/http/components/api-input.tsx
+++ b/app/components/workflow/nodes/http/components/api-input.tsx
@@ -53,9 +53,9 @@
         onChange={onMethodChange}
         options={MethodOptions}
         trigger={
-          <div className={cn(readonly && 'cursor-pointer', 'flex h-8 shrink-0 items-center rounded-lg border border-components-button-secondary-border bg-components-button-secondary-bg px-2.5')} >
-            <div className='w-12 pl-0.5 text-xs font-medium uppercase leading-[18px] text-text-primary'>{method}</div>
-            {!readonly && <RiArrowDownSLine className='ml-1 h-3.5 w-3.5 text-text-secondary' />}
+          <div className={cn(readonly && 'cursor-pointer', 'h-8 shrink-0 flex items-center px-2.5 bg-gray-100 border-black/5 rounded-lg')} >
+            <div className='w-12 pl-0.5 leading-[18px] text-xs font-medium text-gray-900 uppercase'>{method}</div>
+            {!readonly && <RiArrowDownSLine className='ml-1 w-3.5 h-3.5 text-gray-700' />}
           </div>
         }
         popupClassName='top-[34px] w-[108px]'
@@ -65,7 +65,7 @@
 
       <Input
         instanceId='http-api-url'
-        className={cn(isFocus ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-components-input-border-hover bg-components-input-bg-normal', 'w-0 grow rounded-lg border px-3 py-[6px]')}
+        className={cn(isFocus ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'w-0 grow rounded-lg px-3 py-[6px] border')}
         value={url}
         onChange={onUrlChange}
         readOnly={readonly}
diff --git a/app/components/workflow/nodes/http/components/authorization/index.tsx b/app/components/workflow/nodes/http/components/authorization/index.tsx
index b2de919..7110188 100644
--- a/app/components/workflow/nodes/http/components/authorization/index.tsx
+++ b/app/components/workflow/nodes/http/components/authorization/index.tsx
@@ -25,12 +25,12 @@
   onHide: () => void
 }
 
-const Field = ({ title, isRequired, children }: { title: string; isRequired?: boolean; children: React.JSX.Element }) => {
+const Field = ({ title, isRequired, children }: { title: string; isRequired?: boolean; children: JSX.Element }) => {
   return (
     <div>
-      <div className='text-[13px] font-medium leading-8 text-text-secondary'>
+      <div className='leading-8 text-[13px] font-medium text-gray-700'>
         {title}
-        {isRequired && <span className='ml-0.5 text-text-destructive'>*</span>}
+        {isRequired && <span className='ml-0.5 text-[#D92D20]'>*</span>}
       </div>
       <div>{children}</div>
     </div>
@@ -158,7 +158,7 @@
                 <div className='flex'>
                   <Input
                     instanceId='http-api-key'
-                    className={cn(isFocus ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-components-input-border-hover bg-components-input-bg-normal', 'w-0 grow rounded-lg border px-3 py-[6px]')}
+                    className={cn(isFocus ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'w-0 grow rounded-lg px-3 py-[6px] border')}
                     value={tempPayload.config?.api_key || ''}
                     onChange={handleAPIKeyChange}
                     nodesOutputVars={availableVars}
diff --git a/app/components/workflow/nodes/http/components/authorization/radio-group.tsx b/app/components/workflow/nodes/http/components/authorization/radio-group.tsx
index fe58ce2..9cd51c1 100644
--- a/app/components/workflow/nodes/http/components/authorization/radio-group.tsx
+++ b/app/components/workflow/nodes/http/components/authorization/radio-group.tsx
@@ -21,10 +21,9 @@
   return (
     <div
       className={cn(
-        'system-sm-regular flex h-8 grow cursor-default items-center rounded-md border border-components-option-card-option-border bg-components-option-card-option-bg px-2 text-text-secondary',
-        !isSelected && 'cursor-pointer hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs',
-        isSelected && 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg shadow-xs',
-      )}
+        isSelected ? 'border-[2px] border-primary-400 bg-white shadow-xs' : 'border border-gray-100 bg-gray-25',
+        'w-0 grow flex items-center justify-center h-8 cursor-pointer rounded-lg text-[13px] font-normal text-gray-900')
+      }
       onClick={onClick}
     >
       {title}
diff --git a/app/components/workflow/nodes/http/components/curl-panel.tsx b/app/components/workflow/nodes/http/components/curl-panel.tsx
index 52e28d7..9c5ddde 100644
--- a/app/components/workflow/nodes/http/components/curl-panel.tsx
+++ b/app/components/workflow/nodes/http/components/curl-panel.tsx
@@ -5,7 +5,6 @@
 import { BodyType, type HttpNodeType, Method } from '../types'
 import Modal from '@/app/components/base/modal'
 import Button from '@/app/components/base/button'
-import Textarea from '@/app/components/base/textarea'
 import Toast from '@/app/components/base/toast'
 import { useNodesInteractions } from '@/app/components/workflow/hooks'
 
@@ -23,14 +22,13 @@
   const node: Partial<HttpNodeType> = {
     title: 'HTTP Request',
     desc: 'Imported from cURL',
-    method: undefined,
+    method: Method.get,
     url: '',
     headers: '',
     params: '',
     body: { type: BodyType.none, data: '' },
   }
   const args = curlCommand.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) || []
-  let hasData = false
 
   for (let i = 1; i < args.length; i++) {
     const arg = args[i].replace(/^['"]|['"]$/g, '')
@@ -40,7 +38,6 @@
         if (i + 1 >= args.length)
           return { node: null, error: 'Missing HTTP method after -X or --request.' }
         node.method = (args[++i].replace(/^['"]|['"]$/g, '') as Method) || Method.get
-        hasData = true
         break
       case '-H':
       case '--header':
@@ -92,9 +89,6 @@
     }
   }
 
-  // Determine final method
-  node.method = node.method || (hasData ? Method.post : Method.get)
-
   if (!node.url)
     return { node: null, error: 'Missing URL or url not start with http.' }
 
@@ -142,9 +136,9 @@
       className='!w-[400px] !max-w-[400px] !p-4'
     >
       <div>
-        <Textarea
+        <textarea
           value={inputString}
-          className='my-3 h-40 w-full grow'
+          className='w-full my-3 p-3 text-sm text-gray-900 border-0 rounded-lg grow bg-gray-100 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200 h-40'
           onChange={e => setInputString(e.target.value)}
           placeholder={t('workflow.nodes.http.curl.placeholder')!}
         />
diff --git a/app/components/workflow/nodes/http/components/edit-body/index.tsx b/app/components/workflow/nodes/http/components/edit-body/index.tsx
index bfdb0b3..b58cc68 100644
--- a/app/components/workflow/nodes/http/components/edit-body/index.tsx
+++ b/app/components/workflow/nodes/http/components/edit-body/index.tsx
@@ -135,7 +135,7 @@
       {/* body type */}
       <div className='flex flex-wrap'>
         {allTypes.map(t => (
-          <label key={t} htmlFor={`body-type-${t}`} className='mr-4 flex h-7 items-center space-x-2'>
+          <label key={t} htmlFor={`body-type-${t}`} className='mr-4 flex items-center h-7 space-x-2'>
             <input
               type="radio"
               id={`body-type-${t}`}
@@ -144,7 +144,7 @@
               onChange={handleTypeChange}
               disabled={readonly}
             />
-            <div className='text-[13px] font-normal leading-[18px] text-text-secondary'>{bodyTextMap[t]}</div>
+            <div className='leading-[18px] text-[13px] font-normal text-gray-700'>{bodyTextMap[t]}</div>
           </label>
         ))}
       </div>
diff --git a/app/components/workflow/nodes/http/components/key-value/bulk-edit/index.tsx b/app/components/workflow/nodes/http/components/key-value/bulk-edit/index.tsx
index 43c766c..f67eb9d 100644
--- a/app/components/workflow/nodes/http/components/key-value/bulk-edit/index.tsx
+++ b/app/components/workflow/nodes/http/components/key-value/bulk-edit/index.tsx
@@ -43,15 +43,15 @@
         onChange={handleChange}
         onBlur={handleBlur}
         headerRight={
-          <div className='flex h-[18px] items-center'>
+          <div className='flex items-center h-[18px]'>
             <div
-              className='flex cursor-pointer items-center space-x-1'
+              className='flex items-center space-x-1 cursor-pointer'
               onClick={handleSwitchToKeyValueEdit}
             >
-              <LayoutGrid02 className='h-3 w-3 text-gray-500' />
-              <div className='text-xs font-normal leading-[18px] text-gray-500'>{t(`${i18nPrefix}.keyValueEdit`)}</div>
+              <LayoutGrid02 className='w-3 h-3 text-gray-500' />
+              <div className='leading-[18px] text-xs font-normal text-gray-500'>{t(`${i18nPrefix}.keyValueEdit`)}</div>
             </div>
-            <div className='ml-3 mr-1.5 h-3 w-px bg-gray-200'></div>
+            <div className='ml-3 mr-1.5 w-px h-3 bg-gray-200'></div>
           </div>
         }
         minHeight={150}
diff --git a/app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx b/app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx
index b333bd6..adf7f96 100644
--- a/app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx
+++ b/app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx
@@ -56,11 +56,11 @@
     return null
 
   return (
-    <div className='overflow-hidden rounded-lg border border-divider-regular'>
-      <div className={cn('system-xs-medium-uppercase flex h-7 items-center leading-7 text-text-tertiary')}>
-        <div className={cn('h-full border-r border-divider-regular pl-3', isSupportFile ? 'w-[140px]' : 'w-1/2')}>{t(`${i18nPrefix}.key`)}</div>
-        {isSupportFile && <div className='h-full w-[70px] shrink-0 border-r border-divider-regular pl-3'>{t(`${i18nPrefix}.type`)}</div>}
-        <div className={cn('h-full items-center justify-between pl-3 pr-1', isSupportFile ? 'grow' : 'w-1/2')}>{t(`${i18nPrefix}.value`)}</div>
+    <div className='border border-divider-regular rounded-lg overflow-hidden'>
+      <div className={cn('flex items-center h-7 leading-7 text-text-tertiary system-xs-medium-uppercase')}>
+        <div className={cn('h-full pl-3 border-r border-divider-regular', isSupportFile ? 'w-[140px]' : 'w-1/2')}>{t(`${i18nPrefix}.key`)}</div>
+        {isSupportFile && <div className='shrink-0 w-[70px] h-full pl-3 border-r border-divider-regular'>{t(`${i18nPrefix}.type`)}</div>}
+        <div className={cn('h-full pl-3 pr-1 items-center justify-between', isSupportFile ? 'grow' : 'w-1/2')}>{t(`${i18nPrefix}.value`)}</div>
       </div>
       {
         list.map((item, index) => (
diff --git a/app/components/workflow/nodes/http/components/key-value/key-value-edit/input-item.tsx b/app/components/workflow/nodes/http/components/key-value/key-value-edit/input-item.tsx
index 79171df..b6d2904 100644
--- a/app/components/workflow/nodes/http/components/key-value/key-value-edit/input-item.tsx
+++ b/app/components/workflow/nodes/http/components/key-value/key-value-edit/input-item.tsx
@@ -57,12 +57,12 @@
   }, [onRemove])
 
   return (
-    <div className={cn(className, 'hover:cursor-text hover:bg-state-base-hover', 'relative flex h-full')}>
+    <div className={cn(className, 'hover:bg-gray-50 hover:cursor-text', 'relative flex h-full')}>
       {(!readOnly)
         ? (
           <Input
             instanceId={instanceId}
-            className={cn(isFocus ? 'bg-components-input-bg-active' : 'bg-width', 'w-0 grow px-3 py-1')}
+            className={cn(isFocus ? 'bg-gray-100' : 'bg-width', 'w-0 grow px-3 py-1')}
             value={value}
             onChange={onChange}
             readOnly={readOnly}
@@ -76,13 +76,13 @@
           />
         )
         : <div
-          className="h-[18px] w-full pl-0.5 leading-[18px]"
+          className="pl-0.5 w-full h-[18px] leading-[18px]"
         >
-          {!hasValue && <div className='text-xs font-normal text-text-quaternary'>{placeholder}</div>}
+          {!hasValue && <div className='text-gray-300 text-xs font-normal'>{placeholder}</div>}
           {hasValue && (
             <Input
               instanceId={instanceId}
-              className={cn(isFocus ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-components-input-border-hover bg-components-input-bg-normal', 'w-0 grow rounded-lg border px-3 py-[6px]')}
+              className={cn(isFocus ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'w-0 grow rounded-lg px-3 py-[6px] border')}
               value={value}
               onChange={onChange}
               readOnly={readOnly}
@@ -99,7 +99,7 @@
         </div>}
       {hasRemove && !isFocus && (
         <RemoveButton
-          className='absolute right-1 top-0.5 hidden group-hover:block'
+          className='group-hover:block hidden absolute right-1 top-0.5'
           onClick={handleRemove}
         />
       )}
diff --git a/app/components/workflow/nodes/http/components/key-value/key-value-edit/item.tsx b/app/components/workflow/nodes/http/components/key-value/key-value-edit/item.tsx
index b2df1cb..75c6a77 100644
--- a/app/components/workflow/nodes/http/components/key-value/key-value-edit/item.tsx
+++ b/app/components/workflow/nodes/http/components/key-value/key-value-edit/item.tsx
@@ -62,7 +62,7 @@
 
   return (
     // group class name is for hover row show remove button
-    <div className={cn(className, 'h-min-7 group flex border-t border-divider-regular')}>
+    <div className={cn(className, 'group flex h-min-7 border-t border-gray-200')}>
       <div className={cn('shrink-0 border-r border-divider-regular', isSupportFile ? 'w-[140px]' : 'w-1/2')}>
         {!keyNotSupportVar
           ? (
@@ -79,14 +79,14 @@
           )
           : (
             <input
-              className='system-sm-regular focus:bg-gray-100! appearance-none rounded-none border-none bg-transparent outline-none hover:bg-components-input-bg-hover focus:ring-0'
+              className='appearance-none outline-none rounded-none bg-white border-none system-sm-regular focus:ring-0 focus:bg-gray-100! hover:bg-gray-50'
               value={payload.key}
               onChange={e => handleChange('key')(e.target.value)}
             />
           )}
       </div>
       {isSupportFile && (
-        <div className='w-[70px] shrink-0 border-r border-divider-regular'>
+        <div className='shrink-0 w-[70px] border-r border-divider-regular'>
           <PortalSelect
             value={payload.type!}
             onSelect={item => handleChange('type')(item.value as string)}
@@ -95,7 +95,7 @@
               { name: 'file', value: 'file' },
             ]}
             readonly={readonly}
-            triggerClassName='rounded-none h-7 text-text-primary'
+            triggerClassName='rounded-none h-7'
             triggerClassNameFn={isOpen => isOpen ? 'bg-state-base-hover' : 'bg-transparent'}
             popupClassName='w-[80px] h-7'
           />
diff --git a/app/components/workflow/nodes/http/components/timeout/index.tsx b/app/components/workflow/nodes/http/components/timeout/index.tsx
index b0fd3b2..f20a91d 100644
--- a/app/components/workflow/nodes/http/components/timeout/index.tsx
+++ b/app/components/workflow/nodes/http/components/timeout/index.tsx
@@ -27,15 +27,15 @@
 }> = ({ title, description, placeholder, value, onChange, readOnly, min, max }) => {
   return (
     <div className="space-y-1">
-      <div className="flex h-[18px] items-center space-x-2">
-        <span className="text-[13px] font-medium text-text-primary">{title}</span>
-        <span className="text-xs font-normal text-text-tertiary">{description}</span>
+      <div className="flex items-center h-[18px] space-x-2">
+        <span className="text-[13px] font-medium text-gray-900">{title}</span>
+        <span className="text-xs font-normal text-gray-500">{description}</span>
       </div>
       <Input
         type='number'
         value={value}
         onChange={(e) => {
-          const value = Math.max(min, Math.min(max, Number.parseInt(e.target.value, 10)))
+          const value = Math.max(min, Math.min(max, parseInt(e.target.value, 10)))
           onChange(value)
         }}
         placeholder={placeholder}
diff --git a/app/components/workflow/nodes/http/hooks/use-key-value-list.ts b/app/components/workflow/nodes/http/hooks/use-key-value-list.ts
index 3892461..8e01055 100644
--- a/app/components/workflow/nodes/http/hooks/use-key-value-list.ts
+++ b/app/components/workflow/nodes/http/hooks/use-key-value-list.ts
@@ -1,6 +1,6 @@
 import { useCallback, useEffect, useState } from 'react'
 import { useBoolean } from 'ahooks'
-import { uniqueId } from 'lodash-es'
+import { uniqueId } from 'lodash'
 import type { KeyValue } from '../types'
 
 const UNIQUE_ID_PREFIX = 'key-value-'
diff --git a/app/components/workflow/nodes/http/node.tsx b/app/components/workflow/nodes/http/node.tsx
index ad4b5f5..4b7dbea 100644
--- a/app/components/workflow/nodes/http/node.tsx
+++ b/app/components/workflow/nodes/http/node.tsx
@@ -13,11 +13,10 @@
 
   return (
     <div className='mb-1 px-3 py-1'>
-      <div className='flex items-start rounded-md bg-workflow-block-parma-bg p-1'>
-        <div className='flex h-4 shrink-0 items-center rounded bg-components-badge-white-to-dark px-1 text-xs font-semibold uppercase text-text-secondary'>{method}</div>
+      <div className='flex items-start p-1 rounded-md bg-gray-100'>
+        <div className='flex items-center h-4 shrink-0 px-1 rounded bg-gray-25 text-xs font-semibold text-gray-700 uppercase'>{method}</div>
         <div className='pl-1 pt-1'>
           <ReadonlyInputWithSelectVar
-            className='text-text-secondary'
             value={url}
             nodeId={id}
           />
diff --git a/app/components/workflow/nodes/http/panel.tsx b/app/components/workflow/nodes/http/panel.tsx
index 60f3de8..91b3a61 100644
--- a/app/components/workflow/nodes/http/panel.tsx
+++ b/app/components/workflow/nodes/http/panel.tsx
@@ -18,6 +18,7 @@
 import type { NodePanelProps } from '@/app/components/workflow/types'
 import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
 import ResultPanel from '@/app/components/workflow/run/result-panel'
+import { useRetryDetailShowInSingleRun } from '@/app/components/workflow/nodes/_base/components/retry/hooks'
 
 const i18nPrefix = 'workflow.nodes.http'
 
@@ -60,34 +61,37 @@
     hideCurlPanel,
     handleCurlImport,
   } = useConfig(id, data)
+  const {
+    retryDetails,
+    handleRetryDetailsChange,
+  } = useRetryDetailShowInSingleRun()
   // To prevent prompt editor in body not update data.
   if (!isDataReady)
     return null
 
   return (
     <div className='pt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.api`)}
-          required
           operations={
             <div className='flex'>
               <div
                 onClick={showAuthorization}
-                className={cn(!readOnly && 'cursor-pointer hover:bg-state-base-hover', 'flex h-6 items-center space-x-1 rounded-md px-2 ')}
+                className={cn(!readOnly && 'cursor-pointer hover:bg-gray-50', 'flex items-center h-6 space-x-1 px-2 rounded-md ')}
               >
-                {!readOnly && <Settings01 className='h-3 w-3 text-text-tertiary' />}
-                <div className='text-xs font-medium text-text-tertiary'>
+                {!readOnly && <Settings01 className='w-3 h-3 text-gray-500' />}
+                <div className='text-xs font-medium text-gray-500'>
                   {t(`${i18nPrefix}.authorization.authorization`)}
-                  <span className='ml-1 text-text-secondary'>{t(`${i18nPrefix}.authorization.${inputs.authorization.type}`)}</span>
+                  <span className='ml-1 text-gray-700'>{t(`${i18nPrefix}.authorization.${inputs.authorization.type}`)}</span>
                 </div>
               </div>
               <div
                 onClick={showCurlPanel}
-                className={cn(!readOnly && 'cursor-pointer hover:bg-state-base-hover', 'flex h-6 items-center space-x-1 rounded-md px-2 ')}
+                className={cn(!readOnly && 'cursor-pointer hover:bg-gray-50', 'flex items-center h-6 space-x-1 px-2 rounded-md ')}
               >
-                {!readOnly && <FileArrow01 className='h-3 w-3 text-text-tertiary' />}
-                <div className='text-xs font-medium text-text-tertiary'>
+                {!readOnly && <FileArrow01 className='w-3 h-3 text-gray-500' />}
+                <div className='text-xs font-medium text-gray-500'>
                   {t(`${i18nPrefix}.curl.title`)}
                 </div>
               </div>
@@ -127,7 +131,6 @@
         </Field>
         <Field
           title={t(`${i18nPrefix}.body`)}
-          required
         >
           <EditBody
             nodeId={id}
@@ -195,7 +198,9 @@
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
-          result={<ResultPanel {...runResult} showSteps={false} />}
+          retryDetails={retryDetails}
+          onRetryDetailBack={handleRetryDetailsChange}
+          result={<ResultPanel {...runResult} showSteps={false} onShowRetryDetail={handleRetryDetailsChange} />}
         />
       )}
       {(isShowCurlPanel && !readOnly) && (
diff --git a/app/components/workflow/nodes/http/use-config.ts b/app/components/workflow/nodes/http/use-config.ts
index 68c0a89..3050196 100644
--- a/app/components/workflow/nodes/http/use-config.ts
+++ b/app/components/workflow/nodes/http/use-config.ts
@@ -36,12 +36,8 @@
         ...inputs,
       }
       const bodyData = newInputs.body.data
-      if (typeof bodyData === 'string') {
-        newInputs.body = {
-          ...newInputs.body,
-          data: transformToBodyPayload(bodyData, [BodyType.formData, BodyType.xWwwFormUrlencoded].includes(newInputs.body.type)),
-        }
-      }
+      if (typeof bodyData === 'string')
+        newInputs.body.data = transformToBodyPayload(bodyData, [BodyType.formData, BodyType.xWwwFormUrlencoded].includes(newInputs.body.type))
 
       setInputs(newInputs)
       setIsDataReady(true)
diff --git a/app/components/workflow/nodes/if-else/components/condition-add.tsx b/app/components/workflow/nodes/if-else/components/condition-add.tsx
index 9b6ad27..344e986 100644
--- a/app/components/workflow/nodes/if-else/components/condition-add.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-add.tsx
@@ -56,12 +56,12 @@
           className={className}
           disabled={disabled}
         >
-          <RiAddLine className='mr-1 h-3.5 w-3.5' />
+          <RiAddLine className='mr-1 w-3.5 h-3.5' />
           {t('workflow.nodes.ifElse.addCondition')}
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[1000]'>
-        <div className='w-[296px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'>
+        <div className='w-[296px] bg-components-panel-bg-blur rounded-lg border-[0.5px] border-components-panel-border shadow-lg'>
           <VarReferenceVars
             vars={variables}
             isSupportFileVar
diff --git a/app/components/workflow/nodes/if-else/components/condition-files-list-value.tsx b/app/components/workflow/nodes/if-else/components/condition-files-list-value.tsx
index ac347a0..f21a3fa 100644
--- a/app/components/workflow/nodes/if-else/components/condition-files-list-value.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-files-list-value.tsx
@@ -9,7 +9,7 @@
   isComparisonOperatorNeedTranslate,
   isEmptyRelatedOperator,
 } from '../utils'
-import { FILE_TYPE_OPTIONS, TRANSFER_METHOD } from '../../constants'
+import { FILE_TYPE_OPTIONS, TRANSFER_METHOD } from '../default'
 import type { ValueSelector } from '../../../types'
 import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
 import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others'
@@ -71,14 +71,14 @@
         : ''
     }
     return ''
-  }, [t])
+  }, [])
 
   return (
     <div className='rounded-md bg-workflow-block-parma-bg'>
-      <div className='flex h-6 items-center px-1 '>
-        {!isEnvVar && !isChatVar && <Variable02 className='mr-1 h-3.5 w-3.5 shrink-0 text-text-accent' />}
-        {isEnvVar && <Env className='mr-1 h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-        {isChatVar && <BubbleX className='h-3.5 w-3.5 text-util-colors-teal-teal-700' />}
+      <div className='flex items-center px-1 h-6 '>
+        {!isEnvVar && !isChatVar && <Variable02 className='shrink-0 mr-1 w-3.5 h-3.5 text-text-accent' />}
+        {isEnvVar && <Env className='shrink-0 mr-1 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+        {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
 
         <div
           className={cn(
@@ -90,20 +90,20 @@
           {variableName}
         </div>
         <div
-          className='mx-1 shrink-0 text-xs font-medium text-text-primary'
+          className='shrink-0 mx-1 text-xs font-medium text-text-primary'
           title={operatorName}
         >
           {operatorName}
         </div>
       </div>
-      <div className='ml-[10px] border-l border-divider-regular pl-[10px]'>
+      <div className='ml-[10px] pl-[10px] border-l border-divider-regular'>
         {
           sub_variable_condition?.conditions.map((c: Condition, index) => (
-            <div className='relative flex h-6 items-center space-x-1' key={c.id}>
-              <div className='system-xs-medium text-text-accent'>{c.key}</div>
-              <div className='system-xs-medium text-text-primary'>{isComparisonOperatorNeedTranslate(c.comparison_operator) ? t(`workflow.nodes.ifElse.comparisonOperator.${c.comparison_operator}`) : c.comparison_operator}</div>
-              {c.comparison_operator && !isEmptyRelatedOperator(c.comparison_operator) && <div className='system-xs-regular text-text-secondary'>{isSelect(c) ? selectName(c) : formatValue(c)}</div>}
-              {index !== sub_variable_condition.conditions.length - 1 && (<div className='absolute bottom-[-10px] right-1 z-10 text-[10px] font-medium uppercase leading-4 text-text-accent'>{t(`${i18nPrefix}.${sub_variable_condition.logical_operator}`)}</div>)}
+            <div className='relative flex items-center h-6 space-x-1' key={c.id}>
+              <div className='text-text-accent system-xs-medium'>{c.key}</div>
+              <div className='text-text-primary system-xs-medium'>{isComparisonOperatorNeedTranslate(c.comparison_operator) ? t(`workflow.nodes.ifElse.comparisonOperator.${c.comparison_operator}`) : c.comparison_operator}</div>
+              {c.comparison_operator && !isEmptyRelatedOperator(c.comparison_operator) && <div className='text-text-secondary system-xs-regular'>{isSelect(c) ? selectName(c) : formatValue(c)}</div>}
+              {index !== sub_variable_condition.conditions.length - 1 && (<div className='absolute z-10 right-1 bottom-[-10px] leading-4 text-[10px] font-medium text-text-accent uppercase'>{t(`${i18nPrefix}.${sub_variable_condition.logical_operator}`)}</div>)}
             </div>
           ))
         }
diff --git a/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx b/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx
index ef94f7c..818383c 100644
--- a/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-list/condition-item.tsx
@@ -21,7 +21,7 @@
 } from '../../types'
 import { comparisonOperatorNotRequireValue, getOperators } from '../../utils'
 import ConditionNumberInput from '../condition-number-input'
-import { FILE_TYPE_OPTIONS, SUB_VARIABLES, TRANSFER_METHOD } from '../../../constants'
+import { FILE_TYPE_OPTIONS, SUB_VARIABLES, TRANSFER_METHOD } from '../../default'
 import ConditionWrap from '../condition-wrap'
 import ConditionOperator from './condition-operator'
 import ConditionInput from './condition-input'
@@ -141,7 +141,7 @@
       value: isArrayValue ? [value] : value,
     }
     doUpdateCondition(newCondition)
-  }, [condition, doUpdateCondition, isArrayValue])
+  }, [condition, doUpdateCondition, fileAttr])
 
   const isSelect = condition.comparison_operator && [ComparisonOperator.in, ComparisonOperator.notIn].includes(condition.comparison_operator)
   const selectOptions = useMemo(() => {
@@ -205,13 +205,13 @@
   }, [condition, doUpdateCondition])
 
   return (
-    <div className={cn('mb-1 flex last-of-type:mb-0', className)}>
+    <div className={cn('flex mb-1 last-of-type:mb-0', className)}>
       <div className={cn(
-        'grow rounded-lg bg-components-input-bg-normal',
+        'grow bg-components-input-bg-normal rounded-lg',
         isHovered && 'bg-state-destructive-hover',
       )}>
         <div className='flex items-center p-1'>
-          <div className='w-0 grow'>
+          <div className='grow w-0'>
             {isSubVarSelect
               ? (
                 <Select
@@ -223,13 +223,13 @@
                   onSelect={item => handleSubVarKeyChange(item.value as string)}
                   renderTrigger={item => (
                     item
-                      ? <div className='flex cursor-pointer justify-start'>
-                        <div className='inline-flex h-6 max-w-full items-center rounded-md border-[0.5px] border-components-panel-border-subtle bg-components-badge-white-to-dark px-1.5 text-text-accent shadow-xs'>
-                          <Variable02 className='h-3.5 w-3.5 shrink-0 text-text-accent' />
-                          <div className='system-xs-medium ml-0.5 truncate'>{item?.name}</div>
+                      ? <div className='flex justify-start cursor-pointer'>
+                        <div className='inline-flex max-w-full px-1.5 items-center h-6 rounded-md border-[0.5px] border-components-panel-border-subtle bg-components-badge-white-to-dark shadow-xs text-text-accent'>
+                          <Variable02 className='shrink-0 w-3.5 h-3.5 text-text-accent' />
+                          <div className='ml-0.5 truncate system-xs-medium'>{item?.name}</div>
                         </div>
                       </div>
-                      : <div className='system-sm-regular text-left text-components-input-text-placeholder'>{t('common.placeholder.select')}</div>
+                      : <div className='text-left text-components-input-text-placeholder system-sm-regular'>{t('common.placeholder.select')}</div>
                   )}
                   hideChecked
                 />
@@ -247,7 +247,7 @@
               )}
 
           </div>
-          <div className='mx-1 h-3 w-[1px] bg-divider-regular'></div>
+          <div className='mx-1 w-[1px] h-3 bg-divider-regular'></div>
           <ConditionOperator
             disabled={!canChooseOperator}
             varType={condition.varType}
@@ -258,7 +258,7 @@
         </div>
         {
           !comparisonOperatorNotRequireValue(condition.comparison_operator) && !isNotInput && condition.varType !== VarType.number && (
-            <div className='max-h-[100px] overflow-y-auto border-t border-t-divider-subtle px-2 py-1'>
+            <div className='px-2 py-1 max-h-[100px] border-t border-t-divider-subtle overflow-y-auto'>
               <ConditionInput
                 disabled={disabled}
                 value={condition.value as string}
@@ -271,7 +271,7 @@
         }
         {
           !comparisonOperatorNotRequireValue(condition.comparison_operator) && !isNotInput && condition.varType === VarType.number && (
-            <div className='border-t border-t-divider-subtle px-2 py-1 pt-[3px]'>
+            <div className='px-2 py-1 pt-[3px] border-t border-t-divider-subtle'>
               <ConditionNumberInput
                 numberVarType={condition.numberVarType}
                 onNumberVarTypeChange={handleUpdateConditionNumberVarType}
@@ -289,7 +289,7 @@
             <div className='border-t border-t-divider-subtle'>
               <Select
                 wrapperClassName='h-8'
-                className='rounded-t-none px-2 text-xs'
+                className='px-2 text-xs rounded-t-none'
                 defaultValue={isArrayValue ? (condition.value as string[])?.[0] : (condition.value as string)}
                 items={selectOptions}
                 onSelect={item => handleUpdateConditionValue(item.value as string)}
@@ -322,12 +322,12 @@
         }
       </div>
       <div
-        className='ml-1 mt-1 flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-lg text-text-tertiary hover:bg-state-destructive-hover hover:text-text-destructive'
+        className='shrink-0 flex items-center justify-center ml-1 mt-1 w-6 h-6 rounded-lg cursor-pointer hover:bg-state-destructive-hover text-text-tertiary hover:text-text-destructive'
         onMouseEnter={() => setIsHovered(true)}
         onMouseLeave={() => setIsHovered(false)}
         onClick={doRemoveCondition}
       >
-        <RiDeleteBinLine className='h-4 w-4' />
+        <RiDeleteBinLine className='w-4 h-4' />
       </div>
     </div>
   )
diff --git a/app/components/workflow/nodes/if-else/components/condition-list/condition-operator.tsx b/app/components/workflow/nodes/if-else/components/condition-list/condition-operator.tsx
index 9036e04..ecbe53f 100644
--- a/app/components/workflow/nodes/if-else/components/condition-list/condition-operator.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-list/condition-operator.tsx
@@ -66,16 +66,16 @@
               ? selectedOption.label
               : t(`${i18nPrefix}.select`)
           }
-          <RiArrowDownSLine className='ml-1 h-3.5 w-3.5' />
+          <RiArrowDownSLine className='ml-1 w-3.5 h-3.5' />
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-10'>
-        <div className='rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg'>
+        <div className='p-1 bg-components-panel-bg-blur rounded-xl border-[0.5px] border-components-panel-border shadow-lg'>
           {
             options.map(option => (
               <div
                 key={option.value}
-                className='flex h-7 cursor-pointer items-center rounded-lg px-3 py-1.5 text-[13px] font-medium text-text-secondary hover:bg-state-base-hover'
+                className='flex items-center px-3 py-1.5 h-7 text-[13px] font-medium text-text-secondary rounded-lg cursor-pointer hover:bg-state-base-hover'
                 onClick={() => {
                   onSelect(option.value)
                   setOpen(false)
diff --git a/app/components/workflow/nodes/if-else/components/condition-list/condition-var-selector.tsx b/app/components/workflow/nodes/if-else/components/condition-list/condition-var-selector.tsx
index c05e733..68a012d 100644
--- a/app/components/workflow/nodes/if-else/components/condition-list/condition-var-selector.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-list/condition-var-selector.tsx
@@ -32,8 +32,8 @@
         crossAxis: 0,
       }}
     >
-      <PortalToFollowElemTrigger asChild onClick={() => onOpenChange(!open)}>
-        <div className="w-full cursor-pointer">
+      <PortalToFollowElemTrigger onClick={() => onOpenChange(!open)}>
+        <div className="cursor-pointer">
           <VariableTag
             valueSelector={valueSelector}
             varType={varType}
@@ -43,7 +43,7 @@
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[1000]'>
-        <div className='w-[296px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'>
+        <div className='w-[296px] bg-components-panel-bg-blur rounded-lg border-[0.5px] border-components-panel-border shadow-lg'>
           <VarReferenceVars
             vars={nodesOutputVars}
             isSupportFileVar
diff --git a/app/components/workflow/nodes/if-else/components/condition-list/index.tsx b/app/components/workflow/nodes/if-else/components/condition-list/index.tsx
index 9d8c813..05b5df4 100644
--- a/app/components/workflow/nodes/if-else/components/condition-list/index.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-list/index.tsx
@@ -87,18 +87,18 @@
       {
         conditions.length > 1 && (
           <div className={cn(
-            'absolute bottom-0 left-0 top-0 w-[60px]',
+            'absolute top-0 bottom-0 left-0 w-[60px]',
             isSubVariable && logical_operator === LogicalOperator.and && 'left-[-10px]',
             isSubVariable && logical_operator === LogicalOperator.or && 'left-[-18px]',
           )}>
-            <div className='absolute bottom-4 left-[46px] top-4 w-2.5 rounded-l-[8px] border border-r-0 border-divider-deep'></div>
-            <div className='absolute right-0 top-1/2 h-[29px] w-4 -translate-y-1/2 bg-components-panel-bg'></div>
+            <div className='absolute top-4 bottom-4 left-[46px] w-2.5 border border-divider-deep rounded-l-[8px] border-r-0'></div>
+            <div className='absolute top-1/2 -translate-y-1/2 right-0 w-4 h-[29px] bg-components-panel-bg'></div>
             <div
-              className='absolute right-1 top-1/2 flex h-[21px] -translate-y-1/2 cursor-pointer select-none items-center rounded-md border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-1 text-[10px] font-semibold text-text-accent-secondary shadow-xs'
+              className='absolute top-1/2 right-1 -translate-y-1/2 flex items-center px-1 h-[21px] rounded-md border-[0.5px] border-components-button-secondary-border shadow-xs bg-components-button-secondary-bg text-text-accent-secondary text-[10px] font-semibold cursor-pointer select-none'
               onClick={doToggleConditionLogicalOperator}
             >
               {logical_operator.toUpperCase()}
-              <RiLoopLeftLine className='ml-0.5 h-3 w-3' />
+              <RiLoopLeftLine className='ml-0.5 w-3 h-3' />
             </div>
           </div>
         )
diff --git a/app/components/workflow/nodes/if-else/components/condition-number-input.tsx b/app/components/workflow/nodes/if-else/components/condition-number-input.tsx
index ee13894..5dabd96 100644
--- a/app/components/workflow/nodes/if-else/components/condition-number-input.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-number-input.tsx
@@ -62,7 +62,7 @@
   }, [onValueChange])
 
   return (
-    <div className='flex cursor-pointer items-center'>
+    <div className='flex items-center cursor-pointer'>
       <PortalToFollowElem
         open={numberVarTypeVisible}
         onOpenChange={setNumberVarTypeVisible}
@@ -76,17 +76,17 @@
             size='small'
           >
             {capitalize(numberVarType)}
-            <RiArrowDownSLine className='ml-[1px] h-3.5 w-3.5' />
+            <RiArrowDownSLine className='ml-[1px] w-3.5 h-3.5' />
           </Button>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent className='z-[1000]'>
-          <div className='w-[112px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg'>
+          <div className='p-1 w-[112px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'>
             {
               options.map(option => (
                 <div
                   key={option}
                   className={cn(
-                    'flex h-7 cursor-pointer items-center rounded-md px-3 hover:bg-state-base-hover',
+                    'flex items-center px-3 h-7 rounded-md hover:bg-state-base-hover cursor-pointer',
                     'text-[13px] font-medium text-text-secondary',
                     numberVarType === option && 'bg-state-base-hover',
                   )}
@@ -102,8 +102,8 @@
           </div>
         </PortalToFollowElemContent>
       </PortalToFollowElem>
-      <div className='mx-1 h-4 w-[1px] bg-divider-regular'></div>
-      <div className='ml-0.5 w-0 grow'>
+      <div className='mx-1 w-[1px] h-4 bg-divider-regular'></div>
+      <div className='grow w-0 ml-0.5'>
         {
           numberVarType === NumberVarType.variable && (
             <PortalToFollowElem
@@ -126,15 +126,15 @@
                 }
                 {
                   !value && (
-                    <div className='flex h-6 items-center p-1 text-[13px] text-components-input-text-placeholder'>
-                      <Variable02 className='mr-1 h-4 w-4 shrink-0' />
+                    <div className='flex items-center p-1 h-6 text-components-input-text-placeholder text-[13px]'>
+                      <Variable02 className='shrink-0 mr-1 w-4 h-4' />
                       <div className='w-0 grow truncate'>{t('workflow.nodes.ifElse.selectVariable')}</div>
                     </div>
                   )
                 }
               </PortalToFollowElemTrigger>
               <PortalToFollowElemContent className='z-[1000]'>
-                <div className={cn('w-[296px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur pt-1 shadow-lg', isShort && 'w-[200px]')}>
+                <div className={cn('w-[296px] pt-1 bg-components-panel-bg-blur rounded-lg border-[0.5px] border-components-panel-border shadow-lg', isShort && 'w-[200px]')}>
                   <VarReferenceVars
                     vars={variables}
                     onChange={handleSelectVariable}
@@ -148,7 +148,7 @@
           numberVarType === NumberVarType.constant && (
             <div className=' relative'>
               <input
-                className={cn('block w-full appearance-none bg-transparent px-2 text-[13px] text-components-input-text-filled outline-none placeholder:text-components-input-text-placeholder', unit && 'pr-6')}
+                className={cn('block w-full px-2 text-[13px] text-components-input-text-filled placeholder:text-components-input-text-placeholder outline-none appearance-none bg-transparent', unit && 'pr-6')}
                 type='number'
                 value={value}
                 onChange={e => onValueChange(e.target.value)}
@@ -156,7 +156,7 @@
                 onFocus={setFocus}
                 onBlur={setBlur}
               />
-              {!isFocus && unit && <div className='system-sm-regular absolute right-2 top-[50%] translate-y-[-50%] text-text-tertiary'>{unit}</div>}
+              {!isFocus && unit && <div className='absolute right-2 top-[50%] translate-y-[-50%] text-text-tertiary system-sm-regular'>{unit}</div>}
             </div>
           )
         }
diff --git a/app/components/workflow/nodes/if-else/components/condition-value.tsx b/app/components/workflow/nodes/if-else/components/condition-value.tsx
index 53dac65..e997c2c 100644
--- a/app/components/workflow/nodes/if-else/components/condition-value.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-value.tsx
@@ -9,7 +9,7 @@
   comparisonOperatorNotRequireValue,
   isComparisonOperatorNeedTranslate,
 } from '../utils'
-import { FILE_TYPE_OPTIONS, TRANSFER_METHOD } from '../../constants'
+import { FILE_TYPE_OPTIONS, TRANSFER_METHOD } from '../default'
 import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
 import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others'
 import cn from '@/utils/classnames'
@@ -75,14 +75,14 @@
   }, [isSelect, t, value])
 
   return (
-    <div className='flex h-6 items-center rounded-md bg-workflow-block-parma-bg px-1'>
-      {!isEnvVar && !isChatVar && <Variable02 className={cn('mr-1 h-3.5 w-3.5 shrink-0 text-text-accent', isException && 'text-text-warning')} />}
-      {isEnvVar && <Env className='mr-1 h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />}
-      {isChatVar && <BubbleX className='h-3.5 w-3.5 shrink-0 text-util-colors-teal-teal-700' />}
+    <div className='flex items-center px-1 h-6 rounded-md bg-workflow-block-parma-bg'>
+      {!isEnvVar && !isChatVar && <Variable02 className={cn('shrink-0 mr-1 w-3.5 h-3.5 text-text-accent', isException && 'text-text-warning')} />}
+      {isEnvVar && <Env className='shrink-0 mr-1 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+      {isChatVar && <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />}
 
       <div
         className={cn(
-          'ml-0.5 shrink-[2] truncate text-xs font-medium text-text-accent',
+          'shrink-0 ml-0.5 truncate text-xs font-medium text-text-accent',
           !notHasValue && 'max-w-[70px]',
           isException && 'text-text-warning',
         )}
@@ -91,14 +91,14 @@
         {variableName}
       </div>
       <div
-        className='mx-1 shrink-0 text-xs font-medium text-text-primary'
+        className='shrink-0 mx-1 text-xs font-medium text-text-primary'
         title={operatorName}
       >
         {operatorName}
       </div>
       {
         !notHasValue && (
-          <div className='shrink-[3] truncate text-xs text-text-secondary' title={formatValue}>{isSelect ? selectName : formatValue}</div>
+          <div className='truncate text-xs text-text-secondary' title={formatValue}>{isSelect ? selectName : formatValue}</div>
         )
       }
     </div>
diff --git a/app/components/workflow/nodes/if-else/components/condition-wrap.tsx b/app/components/workflow/nodes/if-else/components/condition-wrap.tsx
index ec6f474..39c03c9 100644
--- a/app/components/workflow/nodes/if-else/components/condition-wrap.tsx
+++ b/app/components/workflow/nodes/if-else/components/condition-wrap.tsx
@@ -12,13 +12,12 @@
 import type { Node, NodeOutPutVar, Var } from '../../../types'
 import { VarType } from '../../../types'
 import { useGetAvailableVars } from '../../variable-assigner/hooks'
-import { SUB_VARIABLES } from '../../constants'
+import { SUB_VARIABLES } from '../default'
 import ConditionList from './condition-list'
 import ConditionAdd from './condition-add'
 import cn from '@/utils/classnames'
 import Button from '@/app/components/base/button'
 import { PortalSelect as Select } from '@/app/components/base/select'
-import { noop } from 'lodash-es'
 
 type Props = {
   isSubVariable?: boolean
@@ -50,7 +49,7 @@
   nodeId: id = '',
   cases = [],
   readOnly,
-  handleSortCase = noop,
+  handleSortCase = () => { },
   handleRemoveCase,
   handleUpdateCondition,
   handleAddCondition,
@@ -98,18 +97,18 @@
                 className={cn(
                   'group relative rounded-[10px] bg-components-panel-bg',
                   willDeleteCaseId === item.case_id && 'bg-state-destructive-hover',
-                  !isSubVariable && 'min-h-[40px] px-3 py-1 ',
+                  !isSubVariable && 'py-1 px-3 min-h-[40px] ',
                   isSubVariable && 'px-1 py-2',
                 )}
               >
                 {!isSubVariable && (
                   <>
                     <RiDraggable className={cn(
-                      'handle absolute left-1 top-2 hidden h-3 w-3 cursor-pointer text-text-quaternary',
+                      'hidden handle absolute top-2 left-1 w-3 h-3 text-text-quaternary cursor-pointer',
                       casesLength > 1 && 'group-hover:block',
                     )} />
                     <div className={cn(
-                      'absolute left-4 text-[13px] font-semibold leading-4 text-text-secondary',
+                      'absolute left-4 leading-4 text-[13px] font-semibold text-text-secondary',
                       casesLength === 1 ? 'top-2.5' : 'top-1',
                     )}>
                       {
@@ -117,7 +116,7 @@
                       }
                       {
                         casesLength > 1 && (
-                          <div className='text-[10px] font-medium text-text-tertiary'>CASE {index + 1}</div>
+                          <div className='text-[10px] text-text-tertiary font-medium'>CASE {index + 1}</div>
                         )
                       }
                     </div>
@@ -169,7 +168,7 @@
                             size='small'
                             disabled={readOnly}
                           >
-                            <RiAddLine className='mr-1 h-3.5 w-3.5' />
+                            <RiAddLine className='mr-1 w-3.5 h-3.5' />
                             {t('workflow.nodes.ifElse.addSubVariable')}
                           </Button>
                         )}
@@ -188,7 +187,7 @@
                   {
                     ((index === 0 && casesLength > 1) || (index > 0)) && (
                       <Button
-                        className='hover:bg-components-button-destructive-ghost-bg-hover hover:text-components-button-destructive-ghost-text'
+                        className='hover:text-components-button-destructive-ghost-text hover:bg-components-button-destructive-ghost-bg-hover'
                         size='small'
                         variant='ghost'
                         disabled={readOnly}
@@ -196,7 +195,7 @@
                         onMouseEnter={() => setWillDeleteCaseId(item.case_id)}
                         onMouseLeave={() => setWillDeleteCaseId('')}
                       >
-                        <RiDeleteBinLine className='mr-1 h-3.5 w-3.5' />
+                        <RiDeleteBinLine className='mr-1 w-3.5 h-3.5' />
                         {t('common.operation.remove')}
                       </Button>
                     )
@@ -204,7 +203,7 @@
                 </div>
               </div>
               {!isSubVariable && (
-                <div className='mx-3 my-2 h-[1px] bg-divider-subtle'></div>
+                <div className='my-2 mx-3 h-[1px] bg-divider-subtle'></div>
               )}
             </div>
           ))
@@ -216,7 +215,7 @@
           disabled={readOnly}
           onClick={() => handleAddSubVariableCondition?.(caseId!, conditionId!)}
         >
-          <RiAddLine className='mr-1 h-3.5 w-3.5' />
+          <RiAddLine className='mr-1 w-3.5 h-3.5' />
           {t('workflow.nodes.ifElse.addSubVariable')}
         </Button>
       )}
diff --git a/app/components/workflow/nodes/if-else/default.ts b/app/components/workflow/nodes/if-else/default.ts
index 1be8059..8d98f69 100644
--- a/app/components/workflow/nodes/if-else/default.ts
+++ b/app/components/workflow/nodes/if-else/default.ts
@@ -1,6 +1,7 @@
 import { BlockEnum, type NodeDefault } from '../../types'
 import { type IfElseNodeType, LogicalOperator } from './types'
 import { isEmptyRelatedOperator } from './utils'
+import { TransferMethod } from '@/types/app'
 import { ALL_CHAT_AVAILABLE_BLOCKS, ALL_COMPLETION_AVAILABLE_BLOCKS } from '@/app/components/workflow/blocks'
 const i18nPrefix = 'workflow.errorMsg'
 
@@ -78,3 +79,18 @@
 }
 
 export default nodeDefault
+
+export const FILE_TYPE_OPTIONS = [
+  { value: 'image', i18nKey: 'image' },
+  { value: 'document', i18nKey: 'doc' },
+  { value: 'audio', i18nKey: 'audio' },
+  { value: 'video', i18nKey: 'video' },
+]
+
+export const TRANSFER_METHOD = [
+  { value: TransferMethod.local_file, i18nKey: 'localUpload' },
+  { value: TransferMethod.remote_url, i18nKey: 'url' },
+]
+
+export const SUB_VARIABLES = ['type', 'size', 'name', 'url', 'extension', 'mime_type', 'transfer_method']
+export const OUTPUT_FILE_SUB_VARIABLES = SUB_VARIABLES.filter(key => key !== 'transfer_method')
diff --git a/app/components/workflow/nodes/if-else/node.tsx b/app/components/workflow/nodes/if-else/node.tsx
index 6bc2e5c..10ed789 100644
--- a/app/components/workflow/nodes/if-else/node.tsx
+++ b/app/components/workflow/nodes/if-else/node.tsx
@@ -37,7 +37,7 @@
       return !!condition.value
     }
   }, [])
-  const conditionNotSet = (<div className='flex h-6 items-center space-x-1 rounded-md bg-workflow-block-parma-bg px-1 text-xs font-normal text-text-secondary'>
+  const conditionNotSet = (<div className='flex items-center h-6 px-1 space-x-1 text-xs font-normal text-text-secondary bg-workflow-block-parma-bg rounded-md'>
     {t(`${i18nPrefix}.conditionNotSetup`)}
   </div>)
 
@@ -46,8 +46,8 @@
       {
         cases.map((caseItem, index) => (
           <div key={caseItem.case_id}>
-            <div className='relative flex h-6 items-center px-1'>
-              <div className='flex w-full items-center justify-between'>
+            <div className='relative flex items-center h-6 px-1'>
+              <div className='flex items-center justify-between w-full'>
                 <div className='text-[10px] font-semibold text-text-tertiary'>
                   {casesLength > 1 && `CASE ${index + 1}`}
                 </div>
@@ -80,7 +80,7 @@
                       )
                       : conditionNotSet}
                   {i !== caseItem.conditions.length - 1 && (
-                    <div className='absolute bottom-[-10px] right-1 z-10 text-[10px] font-medium uppercase leading-4 text-text-accent'>{t(`${i18nPrefix}.${caseItem.logical_operator}`)}</div>
+                    <div className='absolute z-10 right-1 bottom-[-10px] leading-4 text-[10px] font-medium text-text-accent uppercase'>{t(`${i18nPrefix}.${caseItem.logical_operator}`)}</div>
                   )}
                 </div>
               ))}
@@ -88,8 +88,8 @@
           </div>
         ))
       }
-      <div className='relative flex h-6 items-center px-1'>
-        <div className='w-full text-right text-xs font-semibold text-text-secondary'>ELSE</div>
+      <div className='relative flex items-center h-6 px-1'>
+        <div className='w-full text-xs font-semibold text-right text-text-secondary'>ELSE</div>
         <NodeSourceHandle
           {...props}
           handleId='false'
diff --git a/app/components/workflow/nodes/if-else/panel.tsx b/app/components/workflow/nodes/if-else/panel.tsx
index c708920..9de6ff0 100644
--- a/app/components/workflow/nodes/if-else/panel.tsx
+++ b/app/components/workflow/nodes/if-else/panel.tsx
@@ -69,16 +69,16 @@
           onClick={() => handleAddCase()}
           disabled={readOnly}
         >
-          <RiAddLine className='mr-1 h-4 w-4' />
+          <RiAddLine className='mr-1 w-4 h-4' />
           ELIF
         </Button>
       </div>
-      <div className='mx-3 my-2 h-[1px] bg-divider-subtle'></div>
+      <div className='my-2 mx-3 h-[1px] bg-divider-subtle'></div>
       <Field
         title={t(`${i18nPrefix}.else`)}
         className='px-4 py-2'
       >
-        <div className='text-xs font-normal leading-[18px] text-text-tertiary'>{t(`${i18nPrefix}.elseDescription`)}</div>
+        <div className='leading-[18px] text-xs font-normal text-text-tertiary'>{t(`${i18nPrefix}.elseDescription`)}</div>
       </Field>
     </div>
   )
diff --git a/app/components/workflow/nodes/if-else/types.ts b/app/components/workflow/nodes/if-else/types.ts
index 0559b94..56952de 100644
--- a/app/components/workflow/nodes/if-else/types.ts
+++ b/app/components/workflow/nodes/if-else/types.ts
@@ -57,7 +57,6 @@
   conditions?: Condition[]
   cases: CaseItem[]
   isInIteration: boolean
-  isInLoop: boolean
 }
 
 export type HandleAddCondition = (caseId: string, valueSelector: ValueSelector, varItem: Var) => void
diff --git a/app/components/workflow/nodes/if-else/use-config.ts b/app/components/workflow/nodes/if-else/use-config.ts
index 276d017..41e41f6 100644
--- a/app/components/workflow/nodes/if-else/use-config.ts
+++ b/app/components/workflow/nodes/if-else/use-config.ts
@@ -57,7 +57,6 @@
   } = useIsVarFileAttribute({
     nodeId: id,
     isInIteration: payload.isInIteration,
-    isInLoop: payload.isInLoop,
   })
 
   const varsIsVarFileAttribute = useMemo(() => {
@@ -133,7 +132,7 @@
     })
     setInputs(newInputs)
     updateNodeInternals(id)
-  }, [id, inputs, setInputs, updateNodeInternals])
+  }, [inputs, setInputs])
 
   const handleAddCondition = useCallback<HandleAddCondition>((caseId, valueSelector, varItem) => {
     const newInputs = produce(inputs, (draft) => {
diff --git a/app/components/workflow/nodes/if-else/use-is-var-file-attribute.ts b/app/components/workflow/nodes/if-else/use-is-var-file-attribute.ts
index c0cf8cf..81552db 100644
--- a/app/components/workflow/nodes/if-else/use-is-var-file-attribute.ts
+++ b/app/components/workflow/nodes/if-else/use-is-var-file-attribute.ts
@@ -7,12 +7,10 @@
 type Params = {
   nodeId: string
   isInIteration: boolean
-  isInLoop: boolean
 }
 const useIsVarFileAttribute = ({
   nodeId,
   isInIteration,
-  isInLoop,
 }: Params) => {
   const isChatMode = useIsChatMode()
   const store = useStoreApi()
@@ -22,7 +20,6 @@
   } = store.getState()
   const currentNode = getNodes().find(n => n.id === nodeId)
   const iterationNode = isInIteration ? getNodes().find(n => n.id === currentNode!.parentId) : null
-  const loopNode = isInLoop ? getNodes().find(n => n.id === currentNode!.parentId) : null
   const availableNodes = useMemo(() => {
     return getBeforeNodesInSameBranch(nodeId)
   }, [getBeforeNodesInSameBranch, nodeId])
@@ -32,7 +29,7 @@
       return false
     const parentVariable = variable.slice(0, 2)
     const varType = getCurrentVariableType({
-      parentNode: isInIteration ? iterationNode : loopNode,
+      parentNode: iterationNode,
       valueSelector: parentVariable,
       availableNodes,
       isChatMode,
diff --git a/app/components/workflow/nodes/iteration-start/index.tsx b/app/components/workflow/nodes/iteration-start/index.tsx
index 6f880c9..58174e1 100644
--- a/app/components/workflow/nodes/iteration-start/index.tsx
+++ b/app/components/workflow/nodes/iteration-start/index.tsx
@@ -9,10 +9,10 @@
   const { t } = useTranslation()
 
   return (
-    <div className='nodrag group mt-1 flex h-11 w-11 items-center justify-center rounded-2xl border border-workflow-block-border bg-workflow-block-bg shadow-xs'>
+    <div className='group flex nodrag items-center justify-center w-11 h-11 mt-1 rounded-2xl border border-workflow-block-border bg-workflow-block-bg shadow-xs'>
       <Tooltip popupContent={t('workflow.blocks.iteration-start')} asChild={false}>
-        <div className='flex h-6 w-6 items-center justify-center rounded-full border-[0.5px] border-components-panel-border-subtle bg-util-colors-blue-brand-blue-brand-500'>
-          <RiHome5Fill className='h-3 w-3 text-text-primary-on-surface' />
+        <div className='flex items-center justify-center w-6 h-6 rounded-full border-[0.5px] border-components-panel-border-subtle bg-util-colors-blue-brand-blue-brand-500'>
+          <RiHome5Fill className='w-3 h-3 text-text-primary-on-surface' />
         </div>
       </Tooltip>
       <NodeSourceHandle
@@ -29,10 +29,10 @@
   const { t } = useTranslation()
 
   return (
-    <div className='nodrag relative left-[17px] top-[21px] z-[11] flex h-11 w-11 items-center justify-center rounded-2xl border border-workflow-block-border bg-workflow-block-bg'>
+    <div className='relative left-[17px] top-[21px] flex nodrag items-center justify-center w-11 h-11 rounded-2xl border border-workflow-block-border bg-white z-[11]'>
       <Tooltip popupContent={t('workflow.blocks.iteration-start')} asChild={false}>
-        <div className='flex h-6 w-6 items-center justify-center rounded-full border-[0.5px] border-components-panel-border-subtle bg-util-colors-blue-brand-blue-brand-500'>
-          <RiHome5Fill className='h-3 w-3 text-text-primary-on-surface' />
+        <div className='flex items-center justify-center w-6 h-6 rounded-full border-[0.5px] border-components-panel-border-subtle bg-util-colors-blue-brand-blue-brand-500'>
+          <RiHome5Fill className='w-3 h-3 text-text-primary-on-surface' />
         </div>
       </Tooltip>
     </div>
diff --git a/app/components/workflow/nodes/iteration/add-block.tsx b/app/components/workflow/nodes/iteration/add-block.tsx
index 10aa8bb..5328ed2 100644
--- a/app/components/workflow/nodes/iteration/add-block.tsx
+++ b/app/components/workflow/nodes/iteration/add-block.tsx
@@ -49,20 +49,20 @@
   const renderTriggerElement = useCallback((open: boolean) => {
     return (
       <div className={cn(
-        'system-sm-medium relative inline-flex h-8 cursor-pointer items-center rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg px-3 text-components-button-secondary-text shadow-xs backdrop-blur-[5px] hover:bg-components-button-secondary-bg-hover',
+        'relative inline-flex items-center px-3 h-8 rounded-lg border-[0.5px] border-components-button-secondary-border bg-components-button-secondary-bg shadow-xs cursor-pointer hover:bg-components-button-secondary-bg-hover system-sm-medium text-components-button-secondary-text backdrop-blur-[5px]',
         `${nodesReadOnly && '!cursor-not-allowed bg-components-button-secondary-bg-disabled'}`,
         open && 'bg-components-button-secondary-bg-hover',
       )}>
-        <RiAddLine className='mr-1 h-4 w-4' />
+        <RiAddLine className='mr-1 w-4 h-4' />
         {t('workflow.common.addBlock')}
       </div>
     )
   }, [nodesReadOnly, t])
 
   return (
-    <div className='absolute left-14 top-7 z-10 flex h-8 items-center'>
-      <div className='group/insert relative h-0.5 w-16 bg-gray-300'>
-        <div className='absolute right-0 top-1/2 h-2 w-0.5 -translate-y-1/2 bg-primary-500'></div>
+    <div className='absolute top-7 left-14 flex items-center h-8 z-10'>
+      <div className='group/insert relative w-16 h-0.5 bg-gray-300'>
+        <div className='absolute right-0 top-1/2 -translate-y-1/2 w-0.5 h-2 bg-primary-500'></div>
       </div>
       <BlockSelector
         disabled={nodesReadOnly}
diff --git a/app/components/workflow/nodes/iteration/node.tsx b/app/components/workflow/nodes/iteration/node.tsx
index 0232c87..63874f7 100644
--- a/app/components/workflow/nodes/iteration/node.tsx
+++ b/app/components/workflow/nodes/iteration/node.tsx
@@ -43,11 +43,11 @@
 
   return (
     <div className={cn(
-      'relative h-full min-h-[90px] w-full min-w-[240px] rounded-2xl bg-workflow-canvas-workflow-bg',
+      'relative min-w-[240px] min-h-[90px] w-full h-full rounded-2xl',
     )}>
       <Background
         id={`iteration-background-${id}`}
-        className='!z-0 rounded-2xl'
+        className='rounded-2xl !z-0'
         gap={[14 / zoom, 14 / zoom]}
         size={2 / zoom}
         color='var(--color-workflow-canvas-workflow-dot-color)'
diff --git a/app/components/workflow/nodes/iteration/panel.tsx b/app/components/workflow/nodes/iteration/panel.tsx
index 1f29a07..b21f11f 100644
--- a/app/components/workflow/nodes/iteration/panel.tsx
+++ b/app/components/workflow/nodes/iteration/panel.tsx
@@ -1,9 +1,13 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiArrowRightSLine,
+} from '@remixicon/react'
 import VarReferencePicker from '../_base/components/variable/var-reference-picker'
 import Split from '../_base/components/split'
 import ResultPanel from '../../run/result-panel'
+import IterationResultPanel from '../../run/iteration-result-panel'
 import { MAX_ITERATION_PARALLEL_NUM, MIN_ITERATION_PARALLEL_NUM } from '../../constants'
 import type { IterationNodeType } from './types'
 import useConfig from './use-config'
@@ -14,9 +18,6 @@
 import Select from '@/app/components/base/select'
 import Slider from '@/app/components/base/slider'
 import Input from '@/app/components/base/input'
-import formatTracing from '@/app/components/workflow/run/utils/format-log'
-
-import { useLogs } from '@/app/components/workflow/run/hooks'
 
 const i18nPrefix = 'workflow.nodes.iteration'
 
@@ -49,6 +50,10 @@
     handleOutputVarChange,
     isShowSingleRun,
     hideSingleRun,
+    isShowIterationDetail,
+    backToSingleRun,
+    showIterationDetail,
+    hideIterationDetail,
     runningStatus,
     handleRun,
     handleStop,
@@ -65,17 +70,13 @@
     changeParallelNums,
   } = useConfig(id, data)
 
-  const nodeInfo = formatTracing(iterationRunResult, t)[0]
-  const logsParams = useLogs()
-
   return (
-    <div className='pb-2 pt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+    <div className='pt-2 pb-2'>
+      <div className='px-4 pb-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.input`)}
-          required
           operations={(
-            <div className='system-2xs-medium-uppercase flex h-[18px] items-center rounded-[5px] border border-divider-deep px-1 capitalize text-text-tertiary'>Array</div>
+            <div className='flex items-center h-[18px] px-1 border border-divider-deep rounded-[5px] system-2xs-medium-uppercase text-text-tertiary capitalize'>Array</div>
           )}
         >
           <VarReferencePicker
@@ -89,12 +90,11 @@
         </Field>
       </div>
       <Split />
-      <div className='mt-2 space-y-4 px-4 pb-4'>
+      <div className='mt-2 px-4 pb-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.output`)}
-          required
           operations={(
-            <div className='system-2xs-medium-uppercase flex h-[18px] items-center rounded-[5px] border border-divider-deep px-1 capitalize text-text-tertiary'>Array</div>
+            <div className='flex items-center h-[18px] px-1 border border-divider-deep rounded-[5px] system-2xs-medium-uppercase text-text-tertiary capitalize'>Array</div>
           )}
         >
           <VarReferencePicker
@@ -116,14 +116,14 @@
       {
         inputs.is_parallel && (<div className='px-4 pb-2'>
           <Field title={t(`${i18nPrefix}.MaxParallelismTitle`)} isSubTitle tooltip={<div className='w-[230px]'>{t(`${i18nPrefix}.MaxParallelismDesc`)}</div>}>
-            <div className='row flex'>
+            <div className='flex row'>
               <Input type='number' wrapperClassName='w-18 mr-4 ' max={MAX_ITERATION_PARALLEL_NUM} min={MIN_ITERATION_PARALLEL_NUM} value={inputs.parallel_nums} onChange={(e) => { changeParallelNums(Number(e.target.value)) }} />
               <Slider
                 value={inputs.parallel_nums}
                 onChange={changeParallelNums}
                 max={MAX_ITERATION_PARALLEL_NUM}
                 min={MIN_ITERATION_PARALLEL_NUM}
-                className=' mt-4 flex-1 shrink-0'
+                className=' flex-shrink-0 flex-1 mt-4'
               />
             </div>
 
@@ -157,18 +157,33 @@
                 required: false,
               }],
               values: { [iteratorInputKey]: iterator },
-              onChange: keyValue => setIterator(keyValue[iteratorInputKey]),
+              onChange: keyValue => setIterator((keyValue as any)[iteratorInputKey]),
             },
           ]}
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
-          {...logsParams}
           result={
-            <ResultPanel {...runResult} showSteps={false} nodeInfo={nodeInfo} {...logsParams} />
+            <div className='mt-3'>
+              <div className='px-4'>
+                <div className='flex items-center h-[34px] justify-between px-3 bg-gray-100 border-[0.5px] border-gray-200 rounded-lg cursor-pointer' onClick={showIterationDetail}>
+                  <div className='leading-[18px] text-[13px] font-medium text-gray-700'>{t(`${i18nPrefix}.iteration`, { count: iterationRunResult.length })}</div>
+                  <RiArrowRightSLine className='w-3.5 h-3.5 text-gray-500' />
+                </div>
+                <Split className='mt-3' />
+              </div>
+              <ResultPanel {...runResult} showSteps={false} />
+            </div>
           }
         />
       )}
+      {isShowIterationDetail && (
+        <IterationResultPanel
+          onBack={backToSingleRun}
+          onHide={hideIterationDetail}
+          list={iterationRunResult}
+        />
+      )}
     </div>
   )
 }
diff --git a/app/components/workflow/nodes/iteration/use-interactions.ts b/app/components/workflow/nodes/iteration/use-interactions.ts
index c294cfd..f8e3640 100644
--- a/app/components/workflow/nodes/iteration/use-interactions.ts
+++ b/app/components/workflow/nodes/iteration/use-interactions.ts
@@ -6,10 +6,7 @@
   BlockEnum,
   Node,
 } from '../../types'
-import {
-  generateNewNode,
-  getNodeCustomTypeByNodeDataType,
-} from '../../utils'
+import { generateNewNode } from '../../utils'
 import {
   ITERATION_PADDING,
   NODES_INITIAL_DATA,
@@ -108,17 +105,15 @@
       handleNodeIterationRerender(parentId)
   }, [store, handleNodeIterationRerender])
 
-  const handleNodeIterationChildrenCopy = useCallback((nodeId: string, newNodeId: string, idMapping: Record<string, string>) => {
+  const handleNodeIterationChildrenCopy = useCallback((nodeId: string, newNodeId: string) => {
     const { getNodes } = store.getState()
     const nodes = getNodes()
     const childrenNodes = nodes.filter(n => n.parentId === nodeId && n.type !== CUSTOM_ITERATION_START_NODE)
-    const newIdMapping = { ...idMapping }
 
-    const copyChildren = childrenNodes.map((child, index) => {
+    return childrenNodes.map((child, index) => {
       const childNodeType = child.data.type as BlockEnum
       const nodesWithSameType = nodes.filter(node => node.data.type === childNodeType)
       const { newNode } = generateNewNode({
-        type: getNodeCustomTypeByNodeDataType(childNodeType),
         data: {
           ...NODES_INITIAL_DATA[childNodeType],
           ...child.data,
@@ -136,14 +131,8 @@
         zIndex: child.zIndex,
       })
       newNode.id = `${newNodeId}${newNode.id + index}`
-      newIdMapping[child.id] = newNode.id
       return newNode
     })
-
-    return {
-      copyChildren,
-      newIdMapping,
-    }
   }, [store, t])
 
   return {
diff --git a/app/components/workflow/nodes/knowledge-retrieval/components/dataset-item.tsx b/app/components/workflow/nodes/knowledge-retrieval/components/dataset-item.tsx
index bee387d..e65495d 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/components/dataset-item.tsx
+++ b/app/components/workflow/nodes/knowledge-retrieval/components/dataset-item.tsx
@@ -55,28 +55,28 @@
   }, [onRemove])
 
   return (
-    <div className={`group/dataset-item flex h-10 cursor-pointer items-center justify-between rounded-lg
-      border-[0.5px] border-components-panel-border-subtle px-2
+    <div className={`flex items-center h-10 justify-between rounded-xl px-2 border-[0.5px] 
+      border-components-panel-border-subtle cursor-pointer group/dataset-item 
       ${isDeleteHovered
-      ? 'border-state-destructive-border bg-state-destructive-hover'
+      ? 'bg-state-destructive-hover border-state-destructive-border'
       : 'bg-components-panel-on-panel-item-bg hover:bg-components-panel-on-panel-item-bg-hover'
     }`}>
-      <div className='flex w-0 grow items-center space-x-1.5'>
+      <div className='w-0 grow flex items-center space-x-1.5'>
         {
           payload.data_source_type === DataSourceType.NOTION
             ? (
-              <div className='flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-[#EAECF5]'>
-                <FileIcon type='notion' className='h-4 w-4' />
+              <div className='shrink-0 flex items-center justify-center w-6 h-6 rounded-md border-[0.5px] border-[#EAECF5]'>
+                <FileIcon type='notion' className='w-4 h-4' />
               </div>
             )
-            : <div className='flex h-6 w-6 shrink-0 items-center justify-center rounded-md border-[0.5px] border-[#E0EAFF] bg-[#F5F8FF]'>
-              <Folder className='h-4 w-4 text-[#444CE7]' />
+            : <div className='shrink-0 flex items-center justify-center w-6 h-6 bg-[#F5F8FF] rounded-md border-[0.5px] border-[#E0EAFF]'>
+              <Folder className='w-4 h-4 text-[#444CE7]' />
             </div>
         }
-        <div className='system-sm-medium w-0 grow truncate text-text-secondary'>{payload.name}</div>
+        <div className='w-0 grow text-text-secondary system-sm-medium truncate'>{payload.name}</div>
       </div>
       {!readonly && (
-        <div className='ml-2 hidden shrink-0 items-center  space-x-1 group-hover/dataset-item:flex'>
+        <div className='hidden group-hover/dataset-item:flex shrink-0 ml-2  items-center space-x-1'>
           {
             editable && <ActionButton
               onClick={(e) => {
@@ -84,34 +84,34 @@
                 showSettingsModal()
               }}
             >
-              <RiEditLine className='h-4 w-4 shrink-0 text-text-tertiary' />
+              <RiEditLine className='w-4 h-4 flex-shrink-0 text-text-tertiary' />
             </ActionButton>
           }
           <ActionButton
             onClick={handleRemove}
-            state={isDeleteHovered ? ActionButtonState.Destructive : ActionButtonState.Default}
+            state={ActionButtonState.Destructive}
             onMouseEnter={() => setIsDeleteHovered(true)}
             onMouseLeave={() => setIsDeleteHovered(false)}
           >
-            <RiDeleteBinLine className={`h-4 w-4 shrink-0 ${isDeleteHovered ? 'text-text-destructive' : 'text-text-tertiary'}`} />
+            <RiDeleteBinLine className={`w-4 h-4 flex-shrink-0 ${isDeleteHovered ? 'text-text-destructive' : 'text-text-tertiary'}`} />
           </ActionButton>
         </div>
       )}
       {
         payload.indexing_technique && <Badge
-          className='shrink-0 group-hover/dataset-item:hidden'
+          className='group-hover/dataset-item:hidden shrink-0'
           text={formatIndexingTechniqueAndMethod(payload.indexing_technique, payload.retrieval_model_dict?.search_method)}
         />
       }
       {
         payload.provider === 'external' && <Badge
-          className='shrink-0 group-hover/dataset-item:hidden'
+          className='group-hover/dataset-item:hidden shrink-0'
           text={t('dataset.externalTag') as string}
         />
       }
 
       {isShowSettingsModal && (
-        <Drawer isOpen={isShowSettingsModal} onClose={hideSettingsModal} footer={null} mask={isMobile} panelClassName='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>
+        <Drawer isOpen={isShowSettingsModal} onClose={hideSettingsModal} footer={null} mask={isMobile} panelClassname='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>
           <SettingsModal
             currentDataset={payload}
             onCancel={hideSettingsModal}
diff --git a/app/components/workflow/nodes/knowledge-retrieval/components/dataset-list.tsx b/app/components/workflow/nodes/knowledge-retrieval/components/dataset-list.tsx
index bf18dbf..a30de8b 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/components/dataset-list.tsx
+++ b/app/components/workflow/nodes/knowledge-retrieval/components/dataset-list.tsx
@@ -70,7 +70,7 @@
           )
         })
         : (
-          <div className='cursor-default select-none rounded-lg bg-background-section p-3 text-center text-xs text-text-tertiary'>
+          <div className='p-3 text-xs text-center text-gray-500 rounded-lg cursor-default select-none bg-gray-50'>
             {t('appDebug.datasetConfig.knowledgeTip')}
           </div>
         )
diff --git a/app/components/workflow/nodes/knowledge-retrieval/components/retrieval-config.tsx b/app/components/workflow/nodes/knowledge-retrieval/components/retrieval-config.tsx
index 8a3dc1e..d3e2079 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/components/retrieval-config.tsx
+++ b/app/components/workflow/nodes/knowledge-retrieval/components/retrieval-config.tsx
@@ -84,7 +84,7 @@
             model: configs.reranking_model?.reranking_model_name,
           }),
       reranking_mode: configs.reranking_mode,
-      weights: configs.weights,
+      weights: configs.weights as any,
       reranking_enable: configs.reranking_enable,
     })
   }, [onMultipleRetrievalConfigChange, payload.retrieval_mode, validRerankDefaultProvider, validRerankDefaultModel, onRetrievalModeChange])
@@ -111,12 +111,12 @@
           disabled={readonly}
           className={cn(open && 'bg-components-button-ghost-bg-hover')}
         >
-          <RiEqualizer2Line className='mr-1 h-3.5 w-3.5' />
+          <RiEqualizer2Line className='mr-1 w-3.5 h-3.5' />
           {t('dataset.retrievalSettings')}
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent style={{ zIndex: 1001 }}>
-        <div className='w-[404px] rounded-2xl border border-components-panel-border bg-components-panel-bg  px-4 pb-4 pt-3  shadow-xl'>
+        <div className='w-[404px] pt-3 pb-4 px-4 shadow-xl  rounded-2xl border border-gray-200  bg-white'>
           <ConfigRetrievalContent
             datasetConfigs={
               {
diff --git a/app/components/workflow/nodes/knowledge-retrieval/node.tsx b/app/components/workflow/nodes/knowledge-retrieval/node.tsx
index c24c3e0..ee0e475 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/node.tsx
+++ b/app/components/workflow/nodes/knowledge-retrieval/node.tsx
@@ -1,30 +1,33 @@
-import { type FC, useEffect, useState } from 'react'
+import { type FC, useEffect, useRef, useState } from 'react'
 import React from 'react'
 import type { KnowledgeRetrievalNodeType } from './types'
 import { Folder } from '@/app/components/base/icons/src/vender/solid/files'
 import type { NodeProps } from '@/app/components/workflow/types'
+import { fetchDatasets } from '@/service/datasets'
 import type { DataSet } from '@/models/datasets'
-import { useDatasetsDetailStore } from '../../datasets-detail-store/store'
 
 const Node: FC<NodeProps<KnowledgeRetrievalNodeType>> = ({
   data,
 }) => {
   const [selectedDatasets, setSelectedDatasets] = useState<DataSet[]>([])
-  const datasetsDetail = useDatasetsDetailStore(s => s.datasetsDetail)
-
+  const updateTime = useRef(0)
   useEffect(() => {
-    if (data.dataset_ids?.length > 0) {
-      const dataSetsWithDetail = data.dataset_ids.reduce<DataSet[]>((acc, id) => {
-        if (datasetsDetail[id])
-          acc.push(datasetsDetail[id])
-        return acc
-      }, [])
-      setSelectedDatasets(dataSetsWithDetail)
-    }
-    else {
-      setSelectedDatasets([])
-    }
-  }, [data.dataset_ids, datasetsDetail])
+    (async () => {
+      updateTime.current = updateTime.current + 1
+      const currUpdateTime = updateTime.current
+
+      if (data.dataset_ids?.length > 0) {
+        const { data: dataSetsWithDetail } = await fetchDatasets({ url: '/datasets', params: { page: 1, ids: data.dataset_ids } })
+        //  avoid old data overwrite new data
+        if (currUpdateTime < updateTime.current)
+          return
+        setSelectedDatasets(dataSetsWithDetail)
+      }
+      else {
+        setSelectedDatasets([])
+      }
+    })()
+  }, [data.dataset_ids])
 
   if (!selectedDatasets.length)
     return null
@@ -33,11 +36,11 @@
     <div className='mb-1 px-3 py-1'>
       <div className='space-y-0.5'>
         {selectedDatasets.map(({ id, name }) => (
-          <div key={id} className='flex h-[26px] items-center rounded-md bg-workflow-block-parma-bg  px-1 text-xs font-normal text-gray-700'>
-            <div className='mr-1 shrink-0 rounded-md border-[0.5px] border-[#E0EAFF] bg-[#F5F8FF] p-1'>
-              <Folder className='h-3 w-3 text-[#444CE7]' />
+          <div key={id} className='flex items-center h-[26px] bg-workflow-block-parma-bg rounded-md  px-1 text-xs font-normal text-gray-700'>
+            <div className='mr-1 shrink-0 p-1 bg-[#F5F8FF] rounded-md border-[0.5px] border-[#E0EAFF]'>
+              <Folder className='w-3 h-3 text-[#444CE7]' />
             </div>
-            <div className='system-xs-regular w-0 grow truncate text-text-secondary'>
+            <div className='grow w-0 text-text-secondary system-xs-regular truncate'>
               {name}
             </div>
           </div>
diff --git a/app/components/workflow/nodes/knowledge-retrieval/panel.tsx b/app/components/workflow/nodes/knowledge-retrieval/panel.tsx
index 3b5eefd..bae4217 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/panel.tsx
+++ b/app/components/workflow/nodes/knowledge-retrieval/panel.tsx
@@ -2,16 +2,13 @@
 import {
   memo,
   useCallback,
-  useMemo,
 } from 'react'
-import { intersectionBy } from 'lodash-es'
 import { useTranslation } from 'react-i18next'
 import VarReferencePicker from '../_base/components/variable/var-reference-picker'
 import useConfig from './use-config'
 import RetrievalConfig from './components/retrieval-config'
 import AddKnowledge from './components/add-dataset'
 import DatasetList from './components/dataset-list'
-import MetadataFilter from './components/metadata/metadata-filter'
 import type { KnowledgeRetrievalNodeType } from './types'
 import Field from '@/app/components/workflow/nodes/_base/components/field'
 import Split from '@/app/components/workflow/nodes/_base/components/split'
@@ -38,7 +35,6 @@
     handleRetrievalModeChange,
     handleMultipleRetrievalConfigChange,
     selectedDatasets,
-    selectedDatasetsLoaded,
     handleOnDatasetsChange,
     isShowSingleRun,
     hideSingleRun,
@@ -50,38 +46,18 @@
     runResult,
     rerankModelOpen,
     setRerankModelOpen,
-    handleAddCondition,
-    handleMetadataFilterModeChange,
-    handleRemoveCondition,
-    handleToggleConditionLogicalOperator,
-    handleUpdateCondition,
-    handleMetadataModelChange,
-    handleMetadataCompletionParamsChange,
-    availableStringVars,
-    availableStringNodesWithParent,
-    availableNumberVars,
-    availableNumberNodesWithParent,
   } = useConfig(id, data)
 
   const handleOpenFromPropsChange = useCallback((openFromProps: boolean) => {
     setRerankModelOpen(openFromProps)
   }, [setRerankModelOpen])
 
-  const metadataList = useMemo(() => {
-    return intersectionBy(...selectedDatasets.filter((dataset) => {
-      return !!dataset.doc_metadata
-    }).map((dataset) => {
-      return dataset.doc_metadata!
-    }), 'name')
-  }, [selectedDatasets])
-
   return (
     <div className='pt-2'>
-      <div className='space-y-4 px-4 pb-2'>
+      <div className='px-4 pb-4 space-y-4'>
         {/* {JSON.stringify(inputs, null, 2)} */}
         <Field
           title={t(`${i18nPrefix}.queryVariable`)}
-          required
         >
           <VarReferencePicker
             nodeId={id}
@@ -95,7 +71,6 @@
 
         <Field
           title={t(`${i18nPrefix}.knowledge`)}
-          required
           operations={
             <div className='flex items-center space-x-1'>
               <RetrievalConfig
@@ -114,7 +89,7 @@
                 onOpenFromPropsChange={handleOpenFromPropsChange}
                 selectedDatasets={selectedDatasets}
               />
-              {!readOnly && (<div className='h-3 w-px bg-divider-regular'></div>)}
+              {!readOnly && (<div className='w-px h-3 bg-gray-200'></div>)}
               {!readOnly && (
                 <AddKnowledge
                   selectedIds={inputs.dataset_ids}
@@ -131,26 +106,7 @@
           />
         </Field>
       </div>
-      <div className='mb-2 py-2'>
-        <MetadataFilter
-          metadataList={metadataList}
-          selectedDatasetsLoaded={selectedDatasetsLoaded}
-          metadataFilterMode={inputs.metadata_filtering_mode}
-          metadataFilteringConditions={inputs.metadata_filtering_conditions}
-          handleAddCondition={handleAddCondition}
-          handleMetadataFilterModeChange={handleMetadataFilterModeChange}
-          handleRemoveCondition={handleRemoveCondition}
-          handleToggleConditionLogicalOperator={handleToggleConditionLogicalOperator}
-          handleUpdateCondition={handleUpdateCondition}
-          metadataModelConfig={inputs.metadata_model_config}
-          handleMetadataModelChange={handleMetadataModelChange}
-          handleMetadataCompletionParamsChange={handleMetadataCompletionParamsChange}
-          availableStringVars={availableStringVars}
-          availableStringNodesWithParent={availableStringNodesWithParent}
-          availableNumberVars={availableNumberVars}
-          availableNumberNodesWithParent={availableNumberNodesWithParent}
-        />
-      </div>
+
       <Split />
       <div>
         <OutputVars>
@@ -204,7 +160,7 @@
                   required: true,
                 }],
                 values: { query },
-                onChange: keyValue => setQuery(keyValue.query),
+                onChange: keyValue => setQuery((keyValue as any).query),
               },
             ]}
             runningStatus={runningStatus}
diff --git a/app/components/workflow/nodes/knowledge-retrieval/types.ts b/app/components/workflow/nodes/knowledge-retrieval/types.ts
index 1cae4ec..1b85bfc 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/types.ts
+++ b/app/components/workflow/nodes/knowledge-retrieval/types.ts
@@ -1,16 +1,8 @@
-import type {
-  CommonNodeType,
-  ModelConfig,
-  Node,
-  NodeOutPutVar,
-  ValueSelector,
-} from '@/app/components/workflow/types'
+import type { CommonNodeType, ModelConfig, ValueSelector } from '@/app/components/workflow/types'
 import type { RETRIEVE_TYPE } from '@/types/app'
 import type {
   DataSet,
-  MetadataInDoc,
   RerankingModeEnum,
-  WeightedScoreEnum,
 } from '@/models/datasets'
 
 export type MultipleRetrievalConfig = {
@@ -22,7 +14,6 @@
   }
   reranking_mode?: RerankingModeEnum
   weights?: {
-    weight_type: WeightedScoreEnum
     vector_setting: {
       vector_weight: number
       embedding_provider_name: string
@@ -39,62 +30,6 @@
   model: ModelConfig
 }
 
-export enum LogicalOperator {
-  and = 'and',
-  or = 'or',
-}
-
-export enum ComparisonOperator {
-  contains = 'contains',
-  notContains = 'not contains',
-  startWith = 'start with',
-  endWith = 'end with',
-  is = 'is',
-  isNot = 'is not',
-  empty = 'empty',
-  notEmpty = 'not empty',
-  equal = '=',
-  notEqual = '鈮�',
-  largerThan = '>',
-  lessThan = '<',
-  largerThanOrEqual = '鈮�',
-  lessThanOrEqual = '鈮�',
-  isNull = 'is null',
-  isNotNull = 'is not null',
-  in = 'in',
-  notIn = 'not in',
-  allOf = 'all of',
-  exists = 'exists',
-  notExists = 'not exists',
-  before = 'before',
-  after = 'after',
-}
-
-export enum MetadataFilteringModeEnum {
-  disabled = 'disabled',
-  automatic = 'automatic',
-  manual = 'manual',
-}
-
-export enum MetadataFilteringVariableType {
-  string = 'string',
-  number = 'number',
-  time = 'time',
-  select = 'select',
-}
-
-export type MetadataFilteringCondition = {
-  id: string
-  name: string
-  comparison_operator: ComparisonOperator
-  value?: string | number
-}
-
-export type MetadataFilteringConditions = {
-  logical_operator: LogicalOperator
-  conditions: MetadataFilteringCondition[]
-}
-
 export type KnowledgeRetrievalNodeType = CommonNodeType & {
   query_variable_selector: ValueSelector
   dataset_ids: string[]
@@ -102,32 +37,4 @@
   multiple_retrieval_config?: MultipleRetrievalConfig
   single_retrieval_config?: SingleRetrievalConfig
   _datasets?: DataSet[]
-  metadata_filtering_mode?: MetadataFilteringModeEnum
-  metadata_filtering_conditions?: MetadataFilteringConditions
-  metadata_model_config?: ModelConfig
-}
-
-export type HandleAddCondition = (metadataItem: MetadataInDoc) => void
-export type HandleRemoveCondition = (id: string) => void
-export type HandleUpdateCondition = (id: string, newCondition: MetadataFilteringCondition) => void
-export type HandleToggleConditionLogicalOperator = () => void
-
-export type MetadataShape = {
-  metadataList?: MetadataInDoc[]
-  selectedDatasetsLoaded?: boolean
-  metadataFilteringConditions?: MetadataFilteringConditions
-  handleAddCondition: HandleAddCondition
-  handleRemoveCondition: HandleRemoveCondition
-  handleToggleConditionLogicalOperator: HandleToggleConditionLogicalOperator
-  handleUpdateCondition: HandleUpdateCondition
-  metadataModelConfig?: ModelConfig
-  handleMetadataModelChange?: (model: { modelId: string; provider: string; mode?: string; features?: string[] }) => void
-  handleMetadataCompletionParamsChange?: (params: Record<string, any>) => void
-  availableStringVars?: NodeOutPutVar[]
-  availableStringNodesWithParent?: Node[]
-  availableNumberVars?: NodeOutPutVar[]
-  availableNumberNodesWithParent?: Node[]
-  isCommonVariable?: boolean
-  availableCommonStringVars?: { name: string; type: string; }[]
-  availableCommonNumberVars?: { name: string; type: string; }[]
 }
diff --git a/app/components/workflow/nodes/knowledge-retrieval/use-config.ts b/app/components/workflow/nodes/knowledge-retrieval/use-config.ts
index 42aa7de..6b09c61 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/use-config.ts
+++ b/app/components/workflow/nodes/knowledge-retrieval/use-config.ts
@@ -6,28 +6,13 @@
 } from 'react'
 import produce from 'immer'
 import { isEqual } from 'lodash-es'
-import { v4 as uuid4 } from 'uuid'
 import type { ValueSelector, Var } from '../../types'
 import { BlockEnum, VarType } from '../../types'
 import {
-  useIsChatMode,
-  useNodesReadOnly,
+  useIsChatMode, useNodesReadOnly,
   useWorkflow,
 } from '../../hooks'
-import type {
-  HandleAddCondition,
-  HandleRemoveCondition,
-  HandleToggleConditionLogicalOperator,
-  HandleUpdateCondition,
-  KnowledgeRetrievalNodeType,
-  MetadataFilteringModeEnum,
-  MultipleRetrievalConfig,
-} from './types'
-import {
-  ComparisonOperator,
-  LogicalOperator,
-  MetadataFilteringVariableType,
-} from './types'
+import type { KnowledgeRetrievalNodeType, MultipleRetrievalConfig } from './types'
 import {
   getMultipleRetrievalConfig,
   getSelectedDatasetsMode,
@@ -40,8 +25,6 @@
 import useOneStepRun from '@/app/components/workflow/nodes/_base/hooks/use-one-step-run'
 import { useCurrentProviderAndModel, useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
 import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
-import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'
-import { useDatasetsDetailStore } from '../../datasets-detail-store/store'
 
 const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
   const { nodesReadOnly: readOnly } = useNodesReadOnly()
@@ -50,7 +33,6 @@
   const startNode = getBeforeNodesInSameBranch(id).find(node => node.data.type === BlockEnum.Start)
   const startNodeId = startNode?.id
   const { inputs, setInputs: doSetInputs } = useNodeCrud<KnowledgeRetrievalNodeType>(id, payload)
-  const updateDatasetsDetail = useDatasetsDetailStore(s => s.updateDatasetsDetail)
 
   const inputRef = useRef(inputs)
 
@@ -214,21 +196,20 @@
     setInputs(newInputs)
   }, [inputs, setInputs, selectedDatasets, currentRerankModel, currentRerankProvider])
 
-  const [selectedDatasetsLoaded, setSelectedDatasetsLoaded] = useState(false)
   // datasets
   useEffect(() => {
     (async () => {
       const inputs = inputRef.current
       const datasetIds = inputs.dataset_ids
       if (datasetIds?.length > 0) {
-        const { data: dataSetsWithDetail } = await fetchDatasets({ url: '/datasets', params: { page: 1, ids: datasetIds } as any })
+        const { data: dataSetsWithDetail } = await fetchDatasets({ url: '/datasets', params: { page: 1, ids: datasetIds } })
         setSelectedDatasets(dataSetsWithDetail)
       }
       const newInputs = produce(inputs, (draft) => {
         draft.dataset_ids = datasetIds
+        draft._datasets = selectedDatasets
       })
       setInputs(newInputs)
-      setSelectedDatasetsLoaded(true)
     })()
   // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [])
@@ -255,6 +236,7 @@
     } = getSelectedDatasetsMode(newDatasets)
     const newInputs = produce(inputs, (draft) => {
       draft.dataset_ids = newDatasets.map(d => d.id)
+      draft._datasets = newDatasets
 
       if (payload.retrieval_mode === RETRIEVE_TYPE.multiWay && newDatasets.length > 0) {
         const multipleRetrievalConfig = draft.multiple_retrieval_config
@@ -264,7 +246,6 @@
         })
       }
     })
-    updateDatasetsDetail(newDatasets)
     setInputs(newInputs)
     setSelectedDatasets(newDatasets)
 
@@ -274,7 +255,7 @@
       || allExternal
     )
       setRerankModelOpen(true)
-  }, [inputs, setInputs, payload.retrieval_mode, selectedDatasets, currentRerankModel, currentRerankProvider, updateDatasetsDetail])
+  }, [inputs, setInputs, payload.retrieval_mode, selectedDatasets, currentRerankModel, currentRerankProvider])
 
   const filterVar = useCallback((varPayload: Var) => {
     return varPayload.type === VarType.string
@@ -306,113 +287,6 @@
     })
   }, [runInputData, setRunInputData])
 
-  const handleMetadataFilterModeChange = useCallback((newMode: MetadataFilteringModeEnum) => {
-    setInputs(produce(inputRef.current, (draft) => {
-      draft.metadata_filtering_mode = newMode
-    }))
-  }, [setInputs])
-
-  const handleAddCondition = useCallback<HandleAddCondition>(({ name, type }) => {
-    let operator: ComparisonOperator = ComparisonOperator.is
-
-    if (type === MetadataFilteringVariableType.number)
-      operator = ComparisonOperator.equal
-
-    const newCondition = {
-      id: uuid4(),
-      name,
-      comparison_operator: operator,
-    }
-
-    const newInputs = produce(inputRef.current, (draft) => {
-      if (draft.metadata_filtering_conditions) {
-        draft.metadata_filtering_conditions.conditions.push(newCondition)
-      }
-      else {
-        draft.metadata_filtering_conditions = {
-          logical_operator: LogicalOperator.and,
-          conditions: [newCondition],
-        }
-      }
-    })
-    setInputs(newInputs)
-  }, [setInputs])
-
-  const handleRemoveCondition = useCallback<HandleRemoveCondition>((id) => {
-    const conditions = inputRef.current.metadata_filtering_conditions?.conditions || []
-    const index = conditions.findIndex(c => c.id === id)
-    const newInputs = produce(inputRef.current, (draft) => {
-      if (index > -1)
-        draft.metadata_filtering_conditions?.conditions.splice(index, 1)
-    })
-    setInputs(newInputs)
-  }, [setInputs])
-
-  const handleUpdateCondition = useCallback<HandleUpdateCondition>((id, newCondition) => {
-    const conditions = inputRef.current.metadata_filtering_conditions?.conditions || []
-    const index = conditions.findIndex(c => c.id === id)
-    const newInputs = produce(inputRef.current, (draft) => {
-      if (index > -1)
-        draft.metadata_filtering_conditions!.conditions[index] = newCondition
-    })
-    setInputs(newInputs)
-  }, [setInputs])
-
-  const handleToggleConditionLogicalOperator = useCallback<HandleToggleConditionLogicalOperator>(() => {
-    const oldLogicalOperator = inputRef.current.metadata_filtering_conditions?.logical_operator
-    const newLogicalOperator = oldLogicalOperator === LogicalOperator.and ? LogicalOperator.or : LogicalOperator.and
-    const newInputs = produce(inputRef.current, (draft) => {
-      draft.metadata_filtering_conditions!.logical_operator = newLogicalOperator
-    })
-    setInputs(newInputs)
-  }, [setInputs])
-
-  const handleMetadataModelChange = useCallback((model: { provider: string; modelId: string; mode?: string }) => {
-    const newInputs = produce(inputRef.current, (draft) => {
-      draft.metadata_model_config = {
-        provider: model.provider,
-        name: model.modelId,
-        mode: model.mode || 'chat',
-        completion_params: draft.metadata_model_config?.completion_params || { temperature: 0.7 },
-      }
-    })
-    setInputs(newInputs)
-  }, [setInputs])
-
-  const handleMetadataCompletionParamsChange = useCallback((newParams: Record<string, any>) => {
-    const newInputs = produce(inputRef.current, (draft) => {
-      draft.metadata_model_config = {
-        ...draft.metadata_model_config!,
-        completion_params: newParams,
-      }
-    })
-    setInputs(newInputs)
-  }, [setInputs])
-
-  const filterStringVar = useCallback((varPayload: Var) => {
-    return [VarType.string].includes(varPayload.type)
-  }, [])
-
-  const {
-    availableVars: availableStringVars,
-    availableNodesWithParent: availableStringNodesWithParent,
-  } = useAvailableVarList(id, {
-    onlyLeafNodeVar: false,
-    filterVar: filterStringVar,
-  })
-
-  const filterNumberVar = useCallback((varPayload: Var) => {
-    return [VarType.number].includes(varPayload.type)
-  }, [])
-
-  const {
-    availableVars: availableNumberVars,
-    availableNodesWithParent: availableNumberNodesWithParent,
-  } = useAvailableVarList(id, {
-    onlyLeafNodeVar: false,
-    filterVar: filterNumberVar,
-  })
-
   return {
     readOnly,
     inputs,
@@ -423,7 +297,6 @@
     handleModelChanged,
     handleCompletionParamsChange,
     selectedDatasets: selectedDatasets.filter(d => d.name),
-    selectedDatasetsLoaded,
     handleOnDatasetsChange,
     isShowSingleRun,
     hideSingleRun,
@@ -435,17 +308,6 @@
     runResult,
     rerankModelOpen,
     setRerankModelOpen,
-    handleMetadataFilterModeChange,
-    handleUpdateCondition,
-    handleAddCondition,
-    handleRemoveCondition,
-    handleToggleConditionLogicalOperator,
-    handleMetadataModelChange,
-    handleMetadataCompletionParamsChange,
-    availableStringVars,
-    availableStringNodesWithParent,
-    availableNumberVars,
-    availableNumberNodesWithParent,
   }
 }
 
diff --git a/app/components/workflow/nodes/knowledge-retrieval/utils.ts b/app/components/workflow/nodes/knowledge-retrieval/utils.ts
index 3821a7a..fd4a580 100644
--- a/app/components/workflow/nodes/knowledge-retrieval/utils.ts
+++ b/app/components/workflow/nodes/knowledge-retrieval/utils.ts
@@ -36,6 +36,7 @@
     allHighQualityFullTextSearch = false
     allEconomic = false
     mixtureHighQualityAndEconomic = false
+    inconsistentEmbeddingModel = false
     allExternal = false
     allInternal = false
     mixtureInternalAndExternal = false
@@ -153,8 +154,7 @@
     result.reranking_mode = RerankingModeEnum.RerankingModel
     if (!result.reranking_model?.provider || !result.reranking_model?.model) {
       if (rerankModelIsValid) {
-        result.reranking_enable = reranking_enable !== false
-
+        result.reranking_enable = true
         result.reranking_model = {
           provider: validRerankModel?.provider || '',
           model: validRerankModel?.model || '',
@@ -168,7 +168,7 @@
       }
     }
     else {
-      result.reranking_enable = reranking_enable !== false
+      result.reranking_enable = true
     }
   }
 
@@ -176,8 +176,7 @@
     if (!reranking_mode) {
       if (validRerankModel?.provider && validRerankModel?.model) {
         result.reranking_mode = RerankingModeEnum.RerankingModel
-        result.reranking_enable = reranking_enable !== false
-
+        result.reranking_enable = true
         result.reranking_model = {
           provider: validRerankModel.provider,
           model: validRerankModel.model,
@@ -195,8 +194,7 @@
     if (reranking_mode === RerankingModeEnum.WeightedScore && weights && shouldSetWeightDefaultValue) {
       if (rerankModelIsValid) {
         result.reranking_mode = RerankingModeEnum.RerankingModel
-        result.reranking_enable = reranking_enable !== false
-
+        result.reranking_enable = true
         result.reranking_model = {
           provider: validRerankModel.provider || '',
           model: validRerankModel.model || '',
diff --git a/app/components/workflow/nodes/list-operator/components/extract-input.tsx b/app/components/workflow/nodes/list-operator/components/extract-input.tsx
index 38931f0..2c5b846 100644
--- a/app/components/workflow/nodes/list-operator/components/extract-input.tsx
+++ b/app/components/workflow/nodes/list-operator/components/extract-input.tsx
@@ -35,7 +35,7 @@
     <div className='flex items-start  space-x-1'>
       <Input
         instanceId='http-extract-number'
-        className={cn(isFocus ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-components-input-border-hover bg-components-input-bg-normal', 'w-0 grow rounded-lg border px-3 py-[6px]')}
+        className={cn(isFocus ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'w-0 grow rounded-lg px-3 py-[6px] border')}
         value={value}
         onChange={onChange}
         readOnly={readOnly}
diff --git a/app/components/workflow/nodes/list-operator/components/filter-condition.tsx b/app/components/workflow/nodes/list-operator/components/filter-condition.tsx
index 0c261a7..b64f753 100644
--- a/app/components/workflow/nodes/list-operator/components/filter-condition.tsx
+++ b/app/components/workflow/nodes/list-operator/components/filter-condition.tsx
@@ -9,7 +9,7 @@
 import { comparisonOperatorNotRequireValue, getOperators } from '../../if-else/utils'
 import SubVariablePicker from './sub-variable-picker'
 import Input from '@/app/components/base/input'
-import { FILE_TYPE_OPTIONS, TRANSFER_METHOD } from '@/app/components/workflow/nodes/constants'
+import { FILE_TYPE_OPTIONS, TRANSFER_METHOD } from '@/app/components/workflow/nodes/if-else/default'
 import { SimpleSelect as Select } from '@/app/components/base/select'
 
 const optionNameI18NPrefix = 'workflow.nodes.ifElse.optionName'
diff --git a/app/components/workflow/nodes/list-operator/components/limit-config.tsx b/app/components/workflow/nodes/list-operator/components/limit-config.tsx
index b8812d3..f245e07 100644
--- a/app/components/workflow/nodes/list-operator/components/limit-config.tsx
+++ b/app/components/workflow/nodes/list-operator/components/limit-config.tsx
@@ -45,7 +45,7 @@
   const handleLimitSizeChange = useCallback((size: number | string) => {
     onChange({
       ...config,
-      size: Number.parseInt(size as string),
+      size: parseInt(size as string),
     })
   }, [onChange, config])
 
diff --git a/app/components/workflow/nodes/list-operator/components/sub-variable-picker.tsx b/app/components/workflow/nodes/list-operator/components/sub-variable-picker.tsx
index 88e1067..0a21050 100644
--- a/app/components/workflow/nodes/list-operator/components/sub-variable-picker.tsx
+++ b/app/components/workflow/nodes/list-operator/components/sub-variable-picker.tsx
@@ -2,7 +2,7 @@
 import type { FC } from 'react'
 import React, { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
-import { SUB_VARIABLES } from '../../constants'
+import { SUB_VARIABLES } from '../../if-else/default'
 import type { Item } from '@/app/components/base/select'
 import { SimpleSelect as Select } from '@/app/components/base/select'
 import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
@@ -27,12 +27,12 @@
 
   const renderOption = ({ item }: { item: Record<string, any> }) => {
     return (
-      <div className='flex h-6 items-center justify-between'>
-        <div className='flex h-full items-center'>
-          <Variable02 className='mr-[5px] h-3.5 w-3.5 text-text-accent' />
-          <span className='system-sm-medium text-text-secondary'>{item.name}</span>
+      <div className='flex items-center h-6 justify-between'>
+        <div className='flex items-center h-full'>
+          <Variable02 className='mr-[5px] w-3.5 h-3.5 text-text-accent' />
+          <span className='text-text-secondary system-sm-medium'>{item.name}</span>
         </div>
-        <span className='system-xs-regular text-text-tertiary'>{item.type}</span>
+        <span className='text-text-tertiary system-xs-regular'>{item.type}</span>
       </div>
     )
   }
@@ -52,16 +52,16 @@
         optionClassName='pl-1 pr-5 py-0'
         renderOption={renderOption}
         renderTrigger={item => (
-          <div className='group/sub-variable-picker flex h-8 items-center rounded-lg bg-components-input-bg-normal pl-1 hover:bg-state-base-hover-alt'>
+          <div className='group/sub-variable-picker flex items-center h-8 pl-1 rounded-lg bg-components-input-bg-normal hover:bg-state-base-hover-alt'>
             {item
-              ? <div className='flex cursor-pointer justify-start'>
-                <div className='inline-flex h-6 max-w-full items-center rounded-md border-[0.5px] border-components-panel-border-subtle bg-components-badge-white-to-dark px-1.5 text-text-accent shadow-xs'>
-                  <Variable02 className='h-3.5 w-3.5 shrink-0 text-text-accent' />
-                  <div className='system-xs-medium ml-0.5 truncate'>{item?.name}</div>
+              ? <div className='flex justify-start cursor-pointer'>
+                <div className='inline-flex max-w-full px-1.5 items-center h-6 rounded-md border-[0.5px] border-components-panel-border-subtle bg-components-badge-white-to-dark shadow-xs text-text-accent'>
+                  <Variable02 className='shrink-0 w-3.5 h-3.5 text-text-accent' />
+                  <div className='ml-0.5 truncate system-xs-medium'>{item?.name}</div>
                 </div>
               </div>
-              : <div className='system-sm-regular flex pl-1 text-components-input-text-placeholder  group-hover/sub-variable-picker:text-text-tertiary'>
-                <Variable02 className='mr-1 h-4 w-4 shrink-0' />
+              : <div className='pl-1 flex text-components-input-text-placeholder system-sm-regular  group-hover/sub-variable-picker:text-text-tertiary'>
+                <Variable02 className='mr-1 shrink-0 w-4 h-4' />
                 <span>{t('common.placeholder.select')}</span>
               </div>}
           </div>
diff --git a/app/components/workflow/nodes/list-operator/node.tsx b/app/components/workflow/nodes/list-operator/node.tsx
index 4c3596f..721e13b 100644
--- a/app/components/workflow/nodes/list-operator/node.tsx
+++ b/app/components/workflow/nodes/list-operator/node.tsx
@@ -3,7 +3,7 @@
 import { useNodes } from 'reactflow'
 import { useTranslation } from 'react-i18next'
 import NodeVariableItem from '../variable-assigner/components/node-variable-item'
-import type { ListFilterNodeType } from './types'
+import { type ListFilterNodeType } from './types'
 import { isConversationVar, isENV, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils'
 import { BlockEnum, type Node, type NodeProps } from '@/app/components/workflow/types'
 
@@ -27,7 +27,7 @@
   const varName = isSystem ? `sys.${variable[variable.length - 1]}` : variable.slice(1).join('.')
   return (
     <div className='relative px-3'>
-      <div className='system-2xs-medium-uppercase mb-1 text-text-tertiary'>{t(`${i18nPrefix}.inputVar`)}</div>
+      <div className='mb-1 system-2xs-medium-uppercase text-text-tertiary'>{t(`${i18nPrefix}.inputVar`)}</div>
       <NodeVariableItem
         node={node as Node}
         isEnv={isEnv}
diff --git a/app/components/workflow/nodes/list-operator/panel.tsx b/app/components/workflow/nodes/list-operator/panel.tsx
index d93a793..3075c1d 100644
--- a/app/components/workflow/nodes/list-operator/panel.tsx
+++ b/app/components/workflow/nodes/list-operator/panel.tsx
@@ -11,7 +11,7 @@
 import LimitConfig from './components/limit-config'
 import FilterCondition from './components/filter-condition'
 import Field from '@/app/components/workflow/nodes/_base/components/field'
-import type { NodePanelProps } from '@/app/components/workflow/types'
+import { type NodePanelProps } from '@/app/components/workflow/types'
 import Switch from '@/app/components/base/switch'
 import ExtractInput from '@/app/components/workflow/nodes/list-operator/components/extract-input'
 
@@ -43,10 +43,9 @@
 
   return (
     <div className='pt-2'>
-      <div className='space-y-4 px-4'>
+      <div className='px-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.inputVar`)}
-          required
         >
           <VarReferencePicker
             readonly={readOnly}
@@ -97,14 +96,16 @@
           {inputs.extract_by?.enabled
             ? (
               <div className='flex items-center justify-between'>
-                <div className='mr-2 grow'>
-                  <ExtractInput
-                    value={inputs.extract_by.serial as string}
-                    onChange={handleExtractsChange}
-                    readOnly={readOnly}
-                    nodeId={id}
-                  />
-                </div>
+                {hasSubVariable && (
+                  <div className='grow mr-2'>
+                    <ExtractInput
+                      value={inputs.extract_by.serial as string}
+                      onChange={handleExtractsChange}
+                      readOnly={readOnly}
+                      nodeId={id}
+                    />
+                  </div>
+                )}
               </div>
             )
             : null}
@@ -131,14 +132,14 @@
             ? (
               <div className='flex items-center justify-between'>
                 {hasSubVariable && (
-                  <div className='mr-2 grow'>
+                  <div className='grow mr-2'>
                     <SubVariablePicker
                       value={inputs.order_by.key as string}
                       onChange={handleOrderByKeyChange}
                     />
                   </div>
                 )}
-                <div className={!hasSubVariable ? 'grid w-full grid-cols-2 gap-1' : 'flex shrink-0 space-x-1'}>
+                <div className={!hasSubVariable ? 'w-full grid grid-cols-2 gap-1' : 'shrink-0 flex space-x-1'}>
                   <OptionCard
                     title={t(`${i18nPrefix}.asc`)}
                     onSelect={handleOrderByTypeChange(OrderBy.ASC)}
diff --git a/app/components/workflow/nodes/list-operator/use-config.ts b/app/components/workflow/nodes/list-operator/use-config.ts
index efbf32b..00defe7 100644
--- a/app/components/workflow/nodes/list-operator/use-config.ts
+++ b/app/components/workflow/nodes/list-operator/use-config.ts
@@ -27,8 +27,6 @@
   const currentNode = getNodes().find(n => n.id === id)
   const isInIteration = payload.isInIteration
   const iterationNode = isInIteration ? getNodes().find(n => n.id === currentNode!.parentId) : null
-  const isInLoop = payload.isInLoop
-  const loopNode = isInLoop ? getNodes().find(n => n.id === currentNode!.parentId) : null
   const availableNodes = useMemo(() => {
     return getBeforeNodesInSameBranch(id)
   }, [getBeforeNodesInSameBranch, id])
@@ -38,7 +36,7 @@
   const { getCurrentVariableType } = useWorkflowVariables()
   const getType = useCallback((variable?: ValueSelector) => {
     const varType = getCurrentVariableType({
-      parentNode: isInIteration ? iterationNode : loopNode,
+      parentNode: iterationNode,
       valueSelector: variable || inputs.variable || [],
       availableNodes,
       isChatMode,
@@ -62,7 +60,7 @@
         itemVarType = varType
     }
     return { varType, itemVarType }
-  }, [availableNodes, getCurrentVariableType, inputs.variable, isChatMode, isInIteration, iterationNode, loopNode])
+  }, [availableNodes, getCurrentVariableType, inputs.variable, isChatMode, iterationNode])
 
   const { varType, itemVarType } = getType()
 
diff --git a/app/components/workflow/nodes/llm/components/config-prompt-item.tsx b/app/components/workflow/nodes/llm/components/config-prompt-item.tsx
index 0e6ceda..d8d47a1 100644
--- a/app/components/workflow/nodes/llm/components/config-prompt-item.tsx
+++ b/app/components/workflow/nodes/llm/components/config-prompt-item.tsx
@@ -103,7 +103,7 @@
       title={
         <div className='relative left-1 flex items-center'>
           {payload.role === PromptRole.system
-            ? (<div className='relative left-[-4px] text-xs font-semibold uppercase text-text-secondary'>
+            ? (<div className='relative left-[-4px] text-xs font-semibold text-gray-700 uppercase'>
               SYSTEM
             </div>)
             : (
@@ -112,8 +112,8 @@
                 allOptions={roleOptions}
                 options={canNotChooseSystemRole ? roleOptionsWithoutSystemRole : roleOptions}
                 onChange={handleChatModeMessageRoleChange}
-                triggerClassName='text-xs font-semibold text-text-secondary uppercase'
-                itemClassName='text-[13px] font-medium text-text-secondary'
+                triggerClassName='text-xs font-semibold text-gray-700 uppercase'
+                itemClassName='text-[13px] font-medium text-gray-700'
               />
             )}
 
diff --git a/app/components/workflow/nodes/llm/components/config-prompt.tsx b/app/components/workflow/nodes/llm/components/config-prompt.tsx
index eb14f30..2c6d725 100644
--- a/app/components/workflow/nodes/llm/components/config-prompt.tsx
+++ b/app/components/workflow/nodes/llm/components/config-prompt.tsx
@@ -179,8 +179,8 @@
                       return true
                     })()
                     return (
-                      <div key={item.id || index} className='group relative'>
-                        {canDrag && <DragHandle className='absolute left-[-14px] top-2 hidden h-3.5 w-3.5 text-text-quaternary group-hover:block' />}
+                      <div key={item.id || index} className='relative group'>
+                        {canDrag && <DragHandle className='group-hover:block hidden absolute left-[-14px] top-2 w-3.5 h-3.5 text-gray-400' />}
                         <ConfigPromptItem
                           className={cn(canDrag && 'handle')}
                           headerClassName={cn(canDrag && 'cursor-grab')}
diff --git a/app/components/workflow/nodes/llm/components/prompt-generator-btn.tsx b/app/components/workflow/nodes/llm/components/prompt-generator-btn.tsx
index 804478d..10fb4a1 100644
--- a/app/components/workflow/nodes/llm/components/prompt-generator-btn.tsx
+++ b/app/components/workflow/nodes/llm/components/prompt-generator-btn.tsx
@@ -32,7 +32,7 @@
       <ActionButton
         className='hover:bg-[#155EFF]/8'
         onClick={showAutomaticTrue}>
-        <Generator className='h-4 w-4 text-primary-600' />
+        <Generator className='w-4 h-4 text-primary-600' />
       </ActionButton>
       {showAutomatic && (
         <GetAutomaticResModal
diff --git a/app/components/workflow/nodes/llm/components/resolution-picker.tsx b/app/components/workflow/nodes/llm/components/resolution-picker.tsx
index 191b9bf..76763de 100644
--- a/app/components/workflow/nodes/llm/components/resolution-picker.tsx
+++ b/app/components/workflow/nodes/llm/components/resolution-picker.tsx
@@ -25,7 +25,7 @@
   }, [onChange])
   return (
     <div className='flex items-center justify-between'>
-      <div className='mr-2 text-xs font-medium uppercase text-text-secondary'>{t(`${i18nPrefix}.resolution.name`)}</div>
+      <div className='mr-2 text-xs font-medium text-gray-500 uppercase'>{t(`${i18nPrefix}.resolution.name`)}</div>
       <div className='flex items-center space-x-1'>
         <OptionCard
           title={t(`${i18nPrefix}.resolution.high`)}
diff --git a/app/components/workflow/nodes/llm/node.tsx b/app/components/workflow/nodes/llm/node.tsx
index ce676ba..3d81c17 100644
--- a/app/components/workflow/nodes/llm/node.tsx
+++ b/app/components/workflow/nodes/llm/node.tsx
@@ -25,7 +25,6 @@
         <ModelSelector
           defaultModel={{ provider, model: modelId }}
           modelList={textGenerationModelList}
-          triggerClassName='!h-6 !rounded-md'
           readonly
         />
       )}
diff --git a/app/components/workflow/nodes/llm/panel.tsx b/app/components/workflow/nodes/llm/panel.tsx
index 29fb4fb..60f68d9 100644
--- a/app/components/workflow/nodes/llm/panel.tsx
+++ b/app/components/workflow/nodes/llm/panel.tsx
@@ -1,11 +1,10 @@
 import type { FC } from 'react'
-import React, { useCallback } from 'react'
+import React from 'react'
 import { useTranslation } from 'react-i18next'
 import MemoryConfig from '../_base/components/memory-config'
 import VarReferencePicker from '../_base/components/variable/var-reference-picker'
 import ConfigVision from '../_base/components/config-vision'
 import useConfig from './use-config'
-import { findVariableWhenOnLLMVision } from '../utils'
 import type { LLMNodeType } from './types'
 import ConfigPrompt from './components/config-prompt'
 import VarList from '@/app/components/workflow/nodes/_base/components/variable/var-list'
@@ -20,9 +19,7 @@
 import ResultPanel from '@/app/components/workflow/run/result-panel'
 import Tooltip from '@/app/components/base/tooltip'
 import Editor from '@/app/components/workflow/nodes/_base/components/prompt/editor'
-import StructureOutput from './components/structure-output'
-import Switch from '@/app/components/base/switch'
-import { RiAlertFill, RiQuestionLine } from '@remixicon/react'
+import { useRetryDetailShowInSingleRun } from '@/app/components/workflow/nodes/_base/components/retry/hooks'
 
 const i18nPrefix = 'workflow.nodes.llm'
 
@@ -67,17 +64,16 @@
     contexts,
     setContexts,
     runningStatus,
-    isModelSupportStructuredOutput,
-    structuredOutputCollapsed,
-    setStructuredOutputCollapsed,
-    handleStructureOutputEnableChange,
-    handleStructureOutputChange,
     handleRun,
     handleStop,
     varInputs,
     runResult,
     filterJinjia2InputVar,
   } = useConfig(id, data)
+  const {
+    retryDetails,
+    handleRetryDetailsChange,
+  } = useRetryDetailShowInSingleRun()
 
   const model = inputs.model
 
@@ -106,21 +102,20 @@
             required: false,
           }],
           values: { '#context#': contexts },
-          onChange: keyValue => setContexts(keyValue['#context#']),
+          onChange: keyValue => setContexts((keyValue as any)['#context#']),
         },
       )
     }
 
-    if (isVisionModel && data.vision?.enabled && data.vision?.configs?.variable_selector) {
-      const currentVariable = findVariableWhenOnLLMVision(data.vision.configs.variable_selector, availableVars)
-
+    if (isVisionModel) {
+      const variableName = data.vision.configs?.variable_selector?.[1] || t(`${i18nPrefix}.files`)!
       forms.push(
         {
           label: t(`${i18nPrefix}.vision`)!,
           inputs: [{
-            label: currentVariable?.variable as any,
+            label: variableName!,
             variable: '#files#',
-            type: currentVariable?.formType as any,
+            type: InputVarType.files,
             required: false,
           }],
           values: { '#files#': visionFiles },
@@ -132,22 +127,11 @@
     return forms
   })()
 
-  const handleModelChange = useCallback((model: {
-    provider: string
-    modelId: string
-    mode?: string
-  }) => {
-    handleCompletionParamsChange({})
-    handleModelChanged(model)
-    // eslint-disable-next-line react-hooks/exhaustive-deps
-  }, [])
-
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.model`)}
-          required
         >
           <ModelParameterModal
             popupClassName='!w-[387px]'
@@ -157,7 +141,7 @@
             provider={model?.provider}
             completionParams={model?.completion_params}
             modelId={model?.name}
-            setModel={handleModelChange}
+            setModel={handleModelChanged}
             onCompletionParamsChange={handleCompletionParamsChange}
             hideDebugWithMultipleModel
             debugWithMultipleModel={false}
@@ -180,7 +164,7 @@
               filterVar={filterVar}
             />
             {shouldShowContextTip && (
-              <div className='text-xs font-normal leading-[18px] text-[#DC6803]'>{t(`${i18nPrefix}.notSetContextInPromptTip`)}</div>
+              <div className='leading-[18px] text-xs font-normal text-[#DC6803]'>{t(`${i18nPrefix}.notSetContextInPromptTip`)}</div>
             )}
           </>
         </Field>
@@ -225,21 +209,21 @@
         {/* Memory put place examples. */}
         {isChatMode && isChatModel && !!inputs.memory && (
           <div className='mt-4'>
-            <div className='flex h-8 items-center justify-between rounded-lg bg-components-input-bg-normal pl-3 pr-2'>
+            <div className='flex justify-between items-center h-8 pl-3 pr-2 rounded-lg bg-gray-100'>
               <div className='flex items-center space-x-1'>
-                <div className='text-xs font-semibold uppercase text-text-secondary'>{t('workflow.nodes.common.memories.title')}</div>
+                <div className='text-xs font-semibold text-gray-700 uppercase'>{t('workflow.nodes.common.memories.title')}</div>
                 <Tooltip
                   popupContent={t('workflow.nodes.common.memories.tip')}
                   triggerClassName='w-4 h-4'
                 />
               </div>
-              <div className='flex h-[18px] items-center rounded-[5px] border border-divider-deep bg-components-badge-bg-dimm px-1 text-xs font-semibold uppercase text-text-tertiary'>{t('workflow.nodes.common.memories.builtIn')}</div>
+              <div className='flex items-center h-[18px] px-1 rounded-[5px] border border-black/8 text-xs font-semibold text-gray-500 uppercase'>{t('workflow.nodes.common.memories.builtIn')}</div>
             </div>
             {/* Readonly User Query */}
             <div className='mt-4'>
               <Editor
                 title={<div className='flex items-center space-x-1'>
-                  <div className='text-xs font-semibold uppercase text-text-secondary'>user</div>
+                  <div className='text-xs font-semibold text-gray-700 uppercase'>user</div>
                   <Tooltip
                     popupContent={
                       <div className='max-w-[180px]'>{t('workflow.nodes.llm.roleDescription.user')}</div>
@@ -260,7 +244,7 @@
               />
 
               {inputs.memory.query_prompt_template && !inputs.memory.query_prompt_template.includes('{{#sys.query#}}') && (
-                <div className='text-xs font-normal leading-[18px] text-[#DC6803]'>{t(`${i18nPrefix}.sysQueryInUser`)}</div>
+                <div className='leading-[18px] text-xs font-normal text-[#DC6803]'>{t(`${i18nPrefix}.sysQueryInUser`)}</div>
               )}
             </div>
           </div>
@@ -291,57 +275,13 @@
         />
       </div>
       <Split />
-      <OutputVars
-        collapsed={structuredOutputCollapsed}
-        onCollapse={setStructuredOutputCollapsed}
-        operations={
-          <div className='mr-4 flex shrink-0 items-center'>
-            {(!isModelSupportStructuredOutput && !!inputs.structured_output_enabled) && (
-              <Tooltip noDecoration popupContent={
-                <div className='w-[232px] rounded-xl border-[0.5px] border-components-panel-border bg-components-tooltip-bg px-4 py-3.5 shadow-lg backdrop-blur-[5px]'>
-                  <div className='title-xs-semi-bold text-text-primary'>{t('app.structOutput.modelNotSupported')}</div>
-                  <div className='body-xs-regular mt-1 text-text-secondary'>{t('app.structOutput.modelNotSupportedTip')}</div>
-                </div>
-              }>
-                <div>
-                  <RiAlertFill className='mr-1 size-4 text-text-warning-secondary' />
-                </div>
-              </Tooltip>
-            )}
-            <div className='system-xs-medium-uppercase mr-0.5 text-text-tertiary'>{t('app.structOutput.structured')}</div>
-            <Tooltip popupContent={
-              <div className='max-w-[150px]'>{t('app.structOutput.structuredTip')}</div>
-            }>
-              <div>
-                <RiQuestionLine className='size-3.5 text-text-quaternary' />
-              </div>
-            </Tooltip>
-            <Switch
-              className='ml-2'
-              defaultValue={!!inputs.structured_output_enabled}
-              onChange={handleStructureOutputEnableChange}
-              size='md'
-              disabled={readOnly}
-            />
-          </div>
-        }
-      >
+      <OutputVars>
         <>
           <VarItem
             name='text'
             type='string'
             description={t(`${i18nPrefix}.outputVars.output`)}
           />
-          {inputs.structured_output_enabled && (
-            <>
-              <Split className='mt-3' />
-              <StructureOutput
-                className='mt-4'
-                value={inputs.structured_output}
-                onChange={handleStructureOutputChange}
-              />
-            </>
-          )}
         </>
       </OutputVars>
       {isShowSingleRun && (
@@ -353,7 +293,9 @@
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
-          result={<ResultPanel {...runResult} showSteps={false} />}
+          retryDetails={retryDetails}
+          onRetryDetailBack={handleRetryDetailsChange}
+          result={<ResultPanel {...runResult} showSteps={false} onShowRetryDetail={handleRetryDetailsChange} />}
         />
       )}
     </div>
diff --git a/app/components/workflow/nodes/llm/types.ts b/app/components/workflow/nodes/llm/types.ts
index c1d33a2..a7774fc 100644
--- a/app/components/workflow/nodes/llm/types.ts
+++ b/app/components/workflow/nodes/llm/types.ts
@@ -15,54 +15,4 @@
     enabled: boolean
     configs?: VisionSetting
   }
-  structured_output_enabled?: boolean
-  structured_output?: StructuredOutput
-}
-
-export enum Type {
-  string = 'string',
-  number = 'number',
-  boolean = 'boolean',
-  object = 'object',
-  array = 'array',
-  arrayString = 'array[string]',
-  arrayNumber = 'array[number]',
-  arrayObject = 'array[object]',
-}
-
-export enum ArrayType {
-  string = 'array[string]',
-  number = 'array[number]',
-  boolean = 'array[boolean]',
-  object = 'array[object]',
-}
-
-export type TypeWithArray = Type | ArrayType
-
-type ArrayItemType = Exclude<Type, Type.array>
-export type ArrayItems = Omit<Field, 'type'> & { type: ArrayItemType }
-
-export type SchemaEnumType = string[] | number[]
-
-export type Field = {
-  type: Type
-  properties?: { // Object has properties
-    [key: string]: Field
-  }
-  required?: string[] // Key of required properties in object
-  description?: string
-  items?: ArrayItems // Array has items. Define the item type
-  enum?: SchemaEnumType // Enum values
-  additionalProperties?: false // Required in object by api. Just set false
-}
-
-export type StructuredOutput = {
-  schema: SchemaRoot
-}
-
-export type SchemaRoot = {
-  type: Type.object
-  properties: Record<string, Field>
-  required?: string[]
-  additionalProperties: false
 }
diff --git a/app/components/workflow/nodes/llm/use-config.ts b/app/components/workflow/nodes/llm/use-config.ts
index 13db9e4..ee9f2ca 100644
--- a/app/components/workflow/nodes/llm/use-config.ts
+++ b/app/components/workflow/nodes/llm/use-config.ts
@@ -9,10 +9,9 @@
 } from '../../hooks'
 import useAvailableVarList from '../_base/hooks/use-available-var-list'
 import useConfigVision from '../../hooks/use-config-vision'
-import type { LLMNodeType, StructuredOutput } from './types'
-import { useModelList, useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
+import type { LLMNodeType } from './types'
+import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
 import {
-  ModelFeatureEnum,
   ModelTypeEnum,
 } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud'
@@ -278,30 +277,6 @@
     setInputs(newInputs)
   }, [inputs, setInputs])
 
-  // structure output
-  const { data: modelList } = useModelList(ModelTypeEnum.textGeneration)
-  const isModelSupportStructuredOutput = modelList
-    ?.find(provideItem => provideItem.provider === model?.provider)
-    ?.models.find(modelItem => modelItem.model === model?.name)
-    ?.features?.includes(ModelFeatureEnum.StructuredOutput)
-
-  const [structuredOutputCollapsed, setStructuredOutputCollapsed] = useState(true)
-  const handleStructureOutputEnableChange = useCallback((enabled: boolean) => {
-    const newInputs = produce(inputs, (draft) => {
-      draft.structured_output_enabled = enabled
-    })
-    setInputs(newInputs)
-    if (enabled)
-      setStructuredOutputCollapsed(false)
-  }, [inputs, setInputs])
-
-  const handleStructureOutputChange = useCallback((newOutput: StructuredOutput) => {
-    const newInputs = produce(inputs, (draft) => {
-      draft.structured_output = newOutput
-    })
-    setInputs(newInputs)
-  }, [inputs, setInputs])
-
   const filterInputVar = useCallback((varPayload: Var) => {
     return [VarType.number, VarType.string, VarType.secret, VarType.arrayString, VarType.arrayNumber, VarType.file, VarType.arrayFile].includes(varPayload.type)
   }, [])
@@ -331,7 +306,6 @@
     handleRun,
     handleStop,
     runInputData,
-    runInputDataRef,
     setRunInputData,
     runResult,
     toVarInputs,
@@ -357,27 +331,27 @@
   const setInputVarValues = useCallback((newPayload: Record<string, any>) => {
     const newVars = {
       ...newPayload,
-      '#context#': runInputDataRef.current['#context#'],
-      '#files#': runInputDataRef.current['#files#'],
+      '#context#': runInputData['#context#'],
+      '#files#': runInputData['#files#'],
     }
     setRunInputData(newVars)
-  }, [runInputDataRef, setRunInputData])
+  }, [runInputData, setRunInputData])
 
   const contexts = runInputData['#context#']
   const setContexts = useCallback((newContexts: string[]) => {
     setRunInputData({
-      ...runInputDataRef.current,
+      ...runInputData,
       '#context#': newContexts,
     })
-  }, [runInputDataRef, setRunInputData])
+  }, [runInputData, setRunInputData])
 
   const visionFiles = runInputData['#files#']
   const setVisionFiles = useCallback((newFiles: any[]) => {
     setRunInputData({
-      ...runInputDataRef.current,
+      ...runInputData,
       '#files#': newFiles,
     })
-  }, [runInputDataRef, setRunInputData])
+  }, [runInputData, setRunInputData])
 
   const allVarStrArr = (() => {
     const arr = isChatModel ? (inputs.prompt_template as PromptItem[]).filter(item => item.edition_type !== EditionType.jinja2).map(item => item.text) : [(inputs.prompt_template as PromptItem).text]
@@ -433,11 +407,6 @@
     setContexts,
     varInputs,
     runningStatus,
-    isModelSupportStructuredOutput,
-    handleStructureOutputChange,
-    structuredOutputCollapsed,
-    setStructuredOutputCollapsed,
-    handleStructureOutputEnableChange,
     handleRun,
     handleStop,
     runResult,
diff --git a/app/components/workflow/nodes/llm/utils.ts b/app/components/workflow/nodes/llm/utils.ts
index b29646d..5f6b086 100644
--- a/app/components/workflow/nodes/llm/utils.ts
+++ b/app/components/workflow/nodes/llm/utils.ts
@@ -1,336 +1,5 @@
-import { ArrayType, Type } from './types'
-import type { ArrayItems, Field, LLMNodeType } from './types'
-import type { Schema, ValidationError } from 'jsonschema'
-import { Validator } from 'jsonschema'
-import produce from 'immer'
-import { z } from 'zod'
+import type { LLMNodeType } from './types'
 
 export const checkNodeValid = (payload: LLMNodeType) => {
   return true
-}
-
-export const getFieldType = (field: Field) => {
-  const { type, items } = field
-  if (type !== Type.array || !items)
-    return type
-
-  return ArrayType[items.type]
-}
-
-export const getHasChildren = (schema: Field) => {
-  const complexTypes = [Type.object, Type.array]
-  if (!complexTypes.includes(schema.type))
-    return false
-  if (schema.type === Type.object)
-    return schema.properties && Object.keys(schema.properties).length > 0
-  if (schema.type === Type.array)
-    return schema.items && schema.items.type === Type.object && schema.items.properties && Object.keys(schema.items.properties).length > 0
-}
-
-export const getTypeOf = (target: any) => {
-  if (target === null) return 'null'
-  if (typeof target !== 'object') {
-    return typeof target
-  }
-  else {
-    return Object.prototype.toString
-      .call(target)
-      .slice(8, -1)
-      .toLocaleLowerCase()
-  }
-}
-
-export const inferType = (value: any): Type => {
-  const type = getTypeOf(value)
-  if (type === 'array') return Type.array
-  // type boolean will be treated as string
-  if (type === 'boolean') return Type.string
-  if (type === 'number') return Type.number
-  if (type === 'string') return Type.string
-  if (type === 'object') return Type.object
-  return Type.string
-}
-
-export const jsonToSchema = (json: any): Field => {
-  const schema: Field = {
-    type: inferType(json),
-  }
-
-  if (schema.type === Type.object) {
-    schema.properties = {}
-    schema.required = []
-    schema.additionalProperties = false
-
-    Object.entries(json).forEach(([key, value]) => {
-      schema.properties![key] = jsonToSchema(value)
-      schema.required!.push(key)
-    })
-  }
-  else if (schema.type === Type.array) {
-    schema.items = jsonToSchema(json[0]) as ArrayItems
-  }
-
-  return schema
-}
-
-export const checkJsonDepth = (json: any) => {
-  if (!json || getTypeOf(json) !== 'object')
-    return 0
-
-  let maxDepth = 0
-
-  if (getTypeOf(json) === 'array') {
-    if (json[0] && getTypeOf(json[0]) === 'object')
-      maxDepth = checkJsonDepth(json[0])
-  }
-  else if (getTypeOf(json) === 'object') {
-    const propertyDepths = Object.values(json).map(value => checkJsonDepth(value))
-    maxDepth = propertyDepths.length ? Math.max(...propertyDepths) + 1 : 1
-  }
-
-  return maxDepth
-}
-
-export const checkJsonSchemaDepth = (schema: Field) => {
-  if (!schema || getTypeOf(schema) !== 'object')
-    return 0
-
-  let maxDepth = 0
-
-  if (schema.type === Type.object && schema.properties) {
-    const propertyDepths = Object.values(schema.properties).map(value => checkJsonSchemaDepth(value))
-    maxDepth = propertyDepths.length ? Math.max(...propertyDepths) + 1 : 1
-  }
-  else if (schema.type === Type.array && schema.items && schema.items.type === Type.object) {
-    maxDepth = checkJsonSchemaDepth(schema.items) + 1
-  }
-
-  return maxDepth
-}
-
-export const findPropertyWithPath = (target: any, path: string[]) => {
-  let current = target
-  for (const key of path)
-    current = current[key]
-  return current
-}
-
-const draft07MetaSchema = {
-  $schema: 'http://json-schema.org/draft-07/schema#',
-  $id: 'http://json-schema.org/draft-07/schema#',
-  title: 'Core schema meta-schema',
-  definitions: {
-    schemaArray: {
-      type: 'array',
-      minItems: 1,
-      items: { $ref: '#' },
-    },
-    nonNegativeInteger: {
-      type: 'integer',
-      minimum: 0,
-    },
-    nonNegativeIntegerDefault0: {
-      allOf: [
-        { $ref: '#/definitions/nonNegativeInteger' },
-        { default: 0 },
-      ],
-    },
-    simpleTypes: {
-      enum: [
-        'array',
-        'boolean',
-        'integer',
-        'null',
-        'number',
-        'object',
-        'string',
-      ],
-    },
-    stringArray: {
-      type: 'array',
-      items: { type: 'string' },
-      uniqueItems: true,
-      default: [],
-    },
-  },
-  type: ['object', 'boolean'],
-  properties: {
-    $id: {
-      type: 'string',
-      format: 'uri-reference',
-    },
-    $schema: {
-      type: 'string',
-      format: 'uri',
-    },
-    $ref: {
-      type: 'string',
-      format: 'uri-reference',
-    },
-    title: {
-      type: 'string',
-    },
-    description: {
-      type: 'string',
-    },
-    default: true,
-    readOnly: {
-      type: 'boolean',
-      default: false,
-    },
-    examples: {
-      type: 'array',
-      items: true,
-    },
-    multipleOf: {
-      type: 'number',
-      exclusiveMinimum: 0,
-    },
-    maximum: {
-      type: 'number',
-    },
-    exclusiveMaximum: {
-      type: 'number',
-    },
-    minimum: {
-      type: 'number',
-    },
-    exclusiveMinimum: {
-      type: 'number',
-    },
-    maxLength: { $ref: '#/definitions/nonNegativeInteger' },
-    minLength: { $ref: '#/definitions/nonNegativeIntegerDefault0' },
-    pattern: {
-      type: 'string',
-      format: 'regex',
-    },
-    additionalItems: { $ref: '#' },
-    items: {
-      anyOf: [
-        { $ref: '#' },
-        { $ref: '#/definitions/schemaArray' },
-      ],
-      default: true,
-    },
-    maxItems: { $ref: '#/definitions/nonNegativeInteger' },
-    minItems: { $ref: '#/definitions/nonNegativeIntegerDefault0' },
-    uniqueItems: {
-      type: 'boolean',
-      default: false,
-    },
-    contains: { $ref: '#' },
-    maxProperties: { $ref: '#/definitions/nonNegativeInteger' },
-    minProperties: { $ref: '#/definitions/nonNegativeIntegerDefault0' },
-    required: { $ref: '#/definitions/stringArray' },
-    additionalProperties: { $ref: '#' },
-    definitions: {
-      type: 'object',
-      additionalProperties: { $ref: '#' },
-      default: {},
-    },
-    properties: {
-      type: 'object',
-      additionalProperties: { $ref: '#' },
-      default: {},
-    },
-    patternProperties: {
-      type: 'object',
-      additionalProperties: { $ref: '#' },
-      propertyNames: { format: 'regex' },
-      default: {},
-    },
-    dependencies: {
-      type: 'object',
-      additionalProperties: {
-        anyOf: [
-          { $ref: '#' },
-          { $ref: '#/definitions/stringArray' },
-        ],
-      },
-    },
-    propertyNames: { $ref: '#' },
-    const: true,
-    enum: {
-      type: 'array',
-      items: true,
-      minItems: 1,
-      uniqueItems: true,
-    },
-    type: {
-      anyOf: [
-        { $ref: '#/definitions/simpleTypes' },
-        {
-          type: 'array',
-          items: { $ref: '#/definitions/simpleTypes' },
-          minItems: 1,
-          uniqueItems: true,
-        },
-      ],
-    },
-    format: { type: 'string' },
-    allOf: { $ref: '#/definitions/schemaArray' },
-    anyOf: { $ref: '#/definitions/schemaArray' },
-    oneOf: { $ref: '#/definitions/schemaArray' },
-    not: { $ref: '#' },
-  },
-  default: true,
-} as unknown as Schema
-
-const validator = new Validator()
-
-export const validateSchemaAgainstDraft7 = (schemaToValidate: any) => {
-  const schema = produce(schemaToValidate, (draft: any) => {
-  // Make sure the schema has the $schema property for draft-07
-    if (!draft.$schema)
-      draft.$schema = 'http://json-schema.org/draft-07/schema#'
-  })
-
-  const result = validator.validate(schema, draft07MetaSchema, {
-    nestedErrors: true,
-    throwError: false,
-  })
-
-  // Access errors from the validation result
-  const errors = result.valid ? [] : result.errors || []
-
-  return errors
-}
-
-export const getValidationErrorMessage = (errors: ValidationError[]) => {
-  const message = errors.map((error) => {
-    return `Error: ${error.path.join('.')} ${error.message} Details: ${JSON.stringify(error.stack)}`
-  }).join('; ')
-  return message
-}
-
-export const convertBooleanToString = (schema: any) => {
-  if (schema.type === Type.boolean)
-    schema.type = Type.string
-  if (schema.type === Type.array && schema.items && schema.items.type === Type.boolean)
-    schema.items.type = Type.string
-  if (schema.type === Type.object) {
-    schema.properties = Object.entries(schema.properties).reduce((acc, [key, value]) => {
-      acc[key] = convertBooleanToString(value)
-      return acc
-    }, {} as any)
-  }
-  if (schema.type === Type.array && schema.items && schema.items.type === Type.object) {
-    schema.items.properties = Object.entries(schema.items.properties).reduce((acc, [key, value]) => {
-      acc[key] = convertBooleanToString(value)
-      return acc
-    }, {} as any)
-  }
-  return schema
-}
-
-const schemaRootObject = z.object({
-  type: z.literal('object'),
-  properties: z.record(z.string(), z.any()),
-  required: z.array(z.string()),
-  additionalProperties: z.boolean().optional(),
-})
-
-export const preValidateSchema = (schema: any) => {
-  const result = schemaRootObject.safeParse(schema)
-  return result
 }
diff --git a/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/import-from-tool.tsx b/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/import-from-tool.tsx
index bfb664a..76432b7 100644
--- a/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/import-from-tool.tsx
+++ b/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/import-from-tool.tsx
@@ -14,7 +14,6 @@
 import { CollectionType } from '@/app/components/tools/types'
 import type { BlockEnum } from '@/app/components/workflow/types'
 import { useLanguage } from '@/app/components/header/account-setting/model-provider-page/hooks'
-import { canFindTool } from '@/utils'
 
 const i18nPrefix = 'workflow.nodes.parameterExtractor'
 
@@ -57,9 +56,9 @@
           return []
       }
     })()
-    const currCollection = currentTools.find(item => canFindTool(item.id, provider_id))
+    const currCollection = currentTools.find(item => item.id === provider_id)
     const currTool = currCollection?.tools.find(tool => tool.name === tool_name)
-    const toExactParams = (currTool?.parameters || []).filter(item => item.form === 'llm')
+    const toExactParams = (currTool?.parameters || []).filter((item: any) => item.form === 'llm')
     const formattedParams = toParmExactParams(toExactParams, language)
     onImport(formattedParams)
   }, [buildInTools, customTools, language, onImport, workflowTools])
@@ -68,8 +67,8 @@
     return (
       <div>
         <div className={cn(
-          'flex h-6 cursor-pointer items-center rounded-md px-2 text-xs font-medium text-text-tertiary hover:bg-state-base-hover',
-          open && 'bg-state-base-hover',
+          'flex items-center h-6 px-2 cursor-pointer rounded-md hover:bg-gray-100 text-xs font-medium text-gray-500',
+          open && 'bg-gray-100',
         )}>
           {t(`${i18nPrefix}.importFromTool`)}
         </div>
diff --git a/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/item.tsx b/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/item.tsx
index dae4322..ae24942 100644
--- a/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/item.tsx
+++ b/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/item.tsx
@@ -24,33 +24,36 @@
   const { t } = useTranslation()
 
   return (
-    <div className='group relative rounded-lg bg-components-input-bg-normal px-2.5 py-2 hover:shadow-xs'>
+    <div className='relative px-2.5 py-2 rounded-lg bg-white border-[0.5px] border-gray-200 hover:shadow-xs group'>
       <div className='flex justify-between'>
         <div className='flex items-center'>
-          <Variable02 className='h-3.5 w-3.5 text-text-accent-secondary' />
-          <div className='ml-1 text-[13px] font-medium text-text-primary'>{payload.name}</div>
-          <div className='ml-2 text-xs font-normal capitalize text-text-tertiary'>{payload.type}</div>
+          <Variable02 className='w-3.5 h-3.5 text-primary-500' />
+          <div className='ml-1 text-[13px] font-medium text-gray-900'>{payload.name}</div>
+          <div className='ml-2 text-xs font-normal text-gray-500 capitalize'>{payload.type}</div>
         </div>
         {payload.required && (
-          <div className='text-xs font-normal uppercase leading-4 text-text-tertiary'>{t(`${i18nPrefix}.addExtractParameterContent.required`)}</div>
+          <div className='uppercase leading-4 text-xs font-normal text-gray-500'>{t(`${i18nPrefix}.addExtractParameterContent.required`)}</div>
         )}
       </div>
-      <div className='mt-0.5 text-xs font-normal leading-[18px] text-text-tertiary'>{payload.description}</div>
+      <div className='mt-0.5 leading-[18px] text-xs font-normal text-gray-500'>{payload.description}</div>
       <div
-        className='absolute right-0 top-0 hidden h-full w-[119px] items-center justify-end space-x-1 rounded-lg bg-gradient-to-l from-components-panel-on-panel-item-bg to-background-gradient-mask-transparent pr-1 group-hover:flex'
+        className='group-hover:flex absolute top-0 right-1 hidden h-full items-center w-[119px] justify-end space-x-1 rounded-lg'
+        style={{
+          background: 'linear-gradient(270deg, #FFF 49.99%, rgba(255, 255, 255, 0.00) 98.1%)',
+        }}
       >
         <div
-          className='cursor-pointer rounded-md p-1 hover:bg-state-base-hover'
+          className='p-1 cursor-pointer rounded-md hover:bg-black/5'
           onClick={onEdit}
         >
-          <RiEditLine className='h-4 w-4 text-text-tertiary' />
+          <RiEditLine className='w-4 h-4 text-gray-500' />
         </div>
 
         <div
-          className='group shrink-0 cursor-pointer rounded-md p-1 hover:!bg-state-destructive-hover'
+          className='p-1 cursor-pointer rounded-md hover:bg-black/5'
           onClick={onDelete}
         >
-          <RiDeleteBinLine className='h-4 w-4 text-text-tertiary group-hover:text-text-destructive' />
+          <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
         </div>
       </div>
     </div>
diff --git a/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx b/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx
index 46b3ac3..f7cf7bd 100644
--- a/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx
+++ b/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx
@@ -146,7 +146,7 @@
                 <Select
                   defaultValue={param.type}
                   allowSearch={false}
-                  // bgClassName='bg-gray-100'
+                  bgClassName='bg-gray-100'
                   onSelect={v => handleParamChange('type')(v.value)}
                   optionClassName='capitalize'
                   items={
@@ -171,7 +171,7 @@
               </Field>
               <Field title={t(`${i18nPrefix}.addExtractParameterContent.required`)}>
                 <>
-                  <div className='mb-1.5 text-xs font-normal leading-[18px] text-text-tertiary'>{t(`${i18nPrefix}.addExtractParameterContent.requiredContent`)}</div>
+                  <div className='mb-1.5 leading-[18px] text-xs font-normal text-gray-500'>{t(`${i18nPrefix}.addExtractParameterContent.requiredContent`)}</div>
                   <Switch size='l' defaultValue={param.required} onChange={handleParamChange('required')} />
                 </>
               </Field>
diff --git a/app/components/workflow/nodes/parameter-extractor/node.tsx b/app/components/workflow/nodes/parameter-extractor/node.tsx
index d79ae71..8a1b08e 100644
--- a/app/components/workflow/nodes/parameter-extractor/node.tsx
+++ b/app/components/workflow/nodes/parameter-extractor/node.tsx
@@ -21,7 +21,6 @@
         <ModelSelector
           defaultModel={{ provider, model: modelId }}
           modelList={textGenerationModelList}
-          triggerClassName='!h-6 !rounded-md'
           readonly
         />
       )}
diff --git a/app/components/workflow/nodes/parameter-extractor/panel.tsx b/app/components/workflow/nodes/parameter-extractor/panel.tsx
index d03f1d9..183c940 100644
--- a/app/components/workflow/nodes/parameter-extractor/panel.tsx
+++ b/app/components/workflow/nodes/parameter-extractor/panel.tsx
@@ -6,7 +6,6 @@
 import Editor from '../_base/components/prompt/editor'
 import ResultPanel from '../../run/result-panel'
 import ConfigVision from '../_base/components/config-vision'
-import { findVariableWhenOnLLMVision } from '../utils'
 import useConfig from './use-config'
 import type { ParameterExtractorNodeType } from './types'
 import ExtractParameter from './components/extract-parameter/list'
@@ -22,7 +21,6 @@
 import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
 import { VarType } from '@/app/components/workflow/types'
 import { FieldCollapse } from '@/app/components/workflow/nodes/_base/components/collapse'
-import type { Props as FormProps } from '@/app/components/workflow/nodes/_base/components/before-run-form/form'
 
 const i18nPrefix = 'workflow.nodes.parameterExtractor'
 const i18nCommonPrefix = 'workflow.common'
@@ -53,7 +51,6 @@
     handleReasoningModeChange,
     availableVars,
     availableNodesWithParent,
-    availableVisionVars,
     inputVarValues,
     varInputs,
     isVisionModel,
@@ -66,56 +63,15 @@
     handleStop,
     runResult,
     setInputVarValues,
-    visionFiles,
-    setVisionFiles,
   } = useConfig(id, data)
 
   const model = inputs.model
 
-  const singleRunForms = (() => {
-    const forms: FormProps[] = []
-
-    forms.push(
-      {
-        label: t('workflow.nodes.llm.singleRun.variable')!,
-        inputs: [{
-          label: t(`${i18nPrefix}.inputVar`)!,
-          variable: 'query',
-          type: InputVarType.paragraph,
-          required: true,
-        }, ...varInputs],
-        values: inputVarValues,
-        onChange: setInputVarValues,
-      },
-    )
-
-    if (isVisionModel && data.vision?.enabled && data.vision?.configs?.variable_selector) {
-      const currentVariable = findVariableWhenOnLLMVision(data.vision.configs.variable_selector, availableVisionVars)
-
-      forms.push(
-        {
-          label: t('workflow.nodes.llm.vision')!,
-          inputs: [{
-            label: currentVariable?.variable as any,
-            variable: '#files#',
-            type: currentVariable?.formType as any,
-            required: false,
-          }],
-          values: { '#files#': visionFiles },
-          onChange: keyValue => setVisionFiles((keyValue as any)['#files#']),
-        },
-      )
-    }
-
-    return forms
-  })()
-
   return (
     <div className='pt-2'>
-      <div className='space-y-4 px-4'>
+      <div className='px-4 space-y-4'>
         <Field
           title={t(`${i18nCommonPrefix}.model`)}
-          required
         >
           <ModelParameterModal
             popupClassName='!w-[387px]'
@@ -134,7 +90,6 @@
         </Field>
         <Field
           title={t(`${i18nPrefix}.inputVar`)}
-          required
         >
           <>
             <VarReferencePicker
@@ -159,7 +114,6 @@
         />
         <Field
           title={t(`${i18nPrefix}.extractParameters`)}
-          required
           operations={
             !readOnly
               ? (
@@ -167,7 +121,7 @@
                   {!readOnly && (
                     <ImportFromTool onImport={handleImportFromTool} />
                   )}
-                  {!readOnly && (<div className='h-3 w-px bg-divider-regular'></div>)}
+                  {!readOnly && (<div className='w-px h-3 bg-gray-200'></div>)}
                   <AddExtractParameter type='add' onSave={addExtractParameter} />
                 </div>
               )
@@ -259,7 +213,18 @@
         <BeforeRunForm
           nodeName={inputs.title}
           onHide={hideSingleRun}
-          forms={singleRunForms}
+          forms={[
+            {
+              inputs: [{
+                label: t(`${i18nPrefix}.inputVar`)!,
+                variable: 'query',
+                type: InputVarType.paragraph,
+                required: true,
+              }, ...varInputs],
+              values: inputVarValues,
+              onChange: setInputVarValues,
+            },
+          ]}
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
diff --git a/app/components/workflow/nodes/parameter-extractor/use-config.ts b/app/components/workflow/nodes/parameter-extractor/use-config.ts
index 045737b..b6c864a 100644
--- a/app/components/workflow/nodes/parameter-extractor/use-config.ts
+++ b/app/components/workflow/nodes/parameter-extractor/use-config.ts
@@ -12,11 +12,13 @@
 import useConfigVision from '../../hooks/use-config-vision'
 import type { Param, ParameterExtractorNodeType, ReasoningModeType } from './types'
 import { useModelListAndDefaultModelAndCurrentProviderAndModel, useTextGenerationCurrentProviderAndModelAndModelList } from '@/app/components/header/account-setting/model-provider-page/hooks'
-import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
+import {
+  ModelFeatureEnum,
+  ModelTypeEnum,
+} from '@/app/components/header/account-setting/model-provider-page/declarations'
 import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud'
 import { checkHasQueryBlock } from '@/app/components/base/prompt-editor/constants'
 import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'
-import { supportFunctionCall } from '@/utils/tool-call'
 
 const useConfig = (id: string, payload: ParameterExtractorNodeType) => {
   const { nodesReadOnly: readOnly } = useNodesReadOnly()
@@ -157,14 +159,10 @@
     },
   )
 
-  const isSupportFunctionCall = supportFunctionCall(currModel?.features)
+  const isSupportFunctionCall = currModel?.features?.includes(ModelFeatureEnum.toolCall) || currModel?.features?.includes(ModelFeatureEnum.multiToolCall)
 
   const filterInputVar = useCallback((varPayload: Var) => {
     return [VarType.number, VarType.string].includes(varPayload.type)
-  }, [])
-
-  const filterVisionInputVar = useCallback((varPayload: Var) => {
-    return [VarType.file, VarType.arrayFile].includes(varPayload.type)
   }, [])
 
   const {
@@ -173,13 +171,6 @@
   } = useAvailableVarList(id, {
     onlyLeafNodeVar: false,
     filterVar: filterInputVar,
-  })
-
-  const {
-    availableVars: availableVisionVars,
-  } = useAvailableVarList(id, {
-    onlyLeafNodeVar: false,
-    filterVar: filterVisionInputVar,
   })
 
   const handleCompletionParamsChange = useCallback((newParams: Record<string, any>) => {
@@ -232,15 +223,13 @@
     handleRun,
     handleStop,
     runInputData,
-    runInputDataRef,
     setRunInputData,
     runResult,
   } = useOneStepRun<ParameterExtractorNodeType>({
     id,
     data: inputs,
     defaultRunInputData: {
-      'query': '',
-      '#files#': [],
+      query: '',
     },
   })
 
@@ -257,14 +246,6 @@
   const setInputVarValues = useCallback((newPayload: Record<string, any>) => {
     setRunInputData(newPayload)
   }, [setRunInputData])
-
-  const visionFiles = runInputData['#files#']
-  const setVisionFiles = useCallback((newFiles: any[]) => {
-    setRunInputData({
-      ...runInputDataRef.current,
-      '#files#': newFiles,
-    })
-  }, [runInputDataRef, setRunInputData])
 
   return {
     readOnly,
@@ -283,7 +264,6 @@
     hasSetBlockStatus,
     availableVars,
     availableNodesWithParent,
-    availableVisionVars,
     isSupportFunctionCall,
     handleReasoningModeChange,
     handleMemoryChange,
@@ -299,8 +279,6 @@
     handleStop,
     runResult,
     setInputVarValues,
-    visionFiles,
-    setVisionFiles,
   }
 }
 
diff --git a/app/components/workflow/nodes/question-classifier/components/class-item.tsx b/app/components/workflow/nodes/question-classifier/components/class-item.tsx
index 6065037..1113164 100644
--- a/app/components/workflow/nodes/question-classifier/components/class-item.tsx
+++ b/app/components/workflow/nodes/question-classifier/components/class-item.tsx
@@ -2,31 +2,28 @@
 import type { FC } from 'react'
 import React, { useCallback } from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiDeleteBinLine,
+} from '@remixicon/react'
 import type { Topic } from '../types'
-import Editor from '@/app/components/workflow/nodes/_base/components/prompt/editor'
-import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'
-import type { ValueSelector, Var } from '@/app/components/workflow/types'
+import TextEditor from '../../_base/components/editor/text-editor'
 
 const i18nPrefix = 'workflow.nodes.questionClassifiers'
 
 type Props = {
-  nodeId: string
   payload: Topic
   onChange: (payload: Topic) => void
   onRemove: () => void
   index: number
   readonly?: boolean
-  filterVar: (payload: Var, valueSelector: ValueSelector) => boolean
 }
 
 const ClassItem: FC<Props> = ({
-  nodeId,
   payload,
   onChange,
   onRemove,
   index,
   readonly,
-  filterVar,
 }) => {
   const { t } = useTranslation()
 
@@ -34,26 +31,35 @@
     onChange({ ...payload, name: value })
   }, [onChange, payload])
 
-  const { availableVars, availableNodesWithParent } = useAvailableVarList(nodeId, {
-    onlyLeafNodeVar: false,
-    hideChatVar: false,
-    hideEnv: false,
-    filterVar,
-  })
-
   return (
-    <Editor
-      title={`${t(`${i18nPrefix}.class`)} ${index}`}
-      placeholder={t(`${i18nPrefix}.topicPlaceholder`)!}
+    <TextEditor
+      isInNode
+      title={<div>
+        <div className='w-[200px]'>
+          <div
+            className='leading-4 text-xs font-semibold text-gray-700'
+          >
+            {`${t(`${i18nPrefix}.class`)} ${index}`}
+          </div>
+        </div>
+      </div>}
       value={payload.name}
       onChange={handleNameChange}
-      showRemove
-      onRemove={onRemove}
-      nodesOutputVars={availableVars}
-      availableNodes={availableNodesWithParent}
-      readOnly={readonly} // ?
-      justVar // ?
-      isSupportFileVar // ?
+      placeholder={t(`${i18nPrefix}.topicPlaceholder`)!}
+      headerRight={(
+        <div className='flex items-center h-full'>
+          <div className='text-xs font-medium text-gray-500'>{payload.name.length}</div>
+          <div className='mx-3 h-3 w-px bg-gray-200'></div>
+          {!readonly && (
+            <RiDeleteBinLine
+              className='mr-1 w-3.5 h-3.5 text-gray-500 cursor-pointer'
+              onClick={onRemove}
+            />
+          )}
+        </div>
+      )}
+      readonly={readonly}
+      minHeight={64}
     />
   )
 }
diff --git a/app/components/workflow/nodes/question-classifier/components/class-list.tsx b/app/components/workflow/nodes/question-classifier/components/class-list.tsx
index f152917..e23c42b 100644
--- a/app/components/workflow/nodes/question-classifier/components/class-list.tsx
+++ b/app/components/workflow/nodes/question-classifier/components/class-list.tsx
@@ -7,24 +7,21 @@
 import AddButton from '../../_base/components/add-button'
 import Item from './class-item'
 import type { Topic } from '@/app/components/workflow/nodes/question-classifier/types'
-import type { ValueSelector, Var } from '@/app/components/workflow/types'
 
 const i18nPrefix = 'workflow.nodes.questionClassifiers'
 
 type Props = {
-  nodeId: string
+  id: string
   list: Topic[]
   onChange: (list: Topic[]) => void
   readonly?: boolean
-  filterVar: (payload: Var, valueSelector: ValueSelector) => boolean
 }
 
 const ClassList: FC<Props> = ({
-  nodeId,
+  id,
   list,
   onChange,
   readonly,
-  filterVar,
 }) => {
   const { t } = useTranslation()
   const { handleEdgeDeleteByDeleteBranch } = useEdgesInteractions()
@@ -47,13 +44,13 @@
 
   const handleRemoveClass = useCallback((index: number) => {
     return () => {
-      handleEdgeDeleteByDeleteBranch(nodeId, list[index].id)
+      handleEdgeDeleteByDeleteBranch(id, list[index].id)
       const newList = produce(list, (draft) => {
         draft.splice(index, 1)
       })
       onChange(newList)
     }
-  }, [list, onChange, handleEdgeDeleteByDeleteBranch, nodeId])
+  }, [list, onChange, handleEdgeDeleteByDeleteBranch, id])
 
   // Todo Remove; edit topic name
   return (
@@ -62,14 +59,12 @@
         list.map((item, index) => {
           return (
             <Item
-              nodeId={nodeId}
-              key={list[index].id}
+              key={index}
               payload={item}
               onChange={handleClassChange(index)}
               onRemove={handleRemoveClass(index)}
               index={index + 1}
               readonly={readonly}
-              filterVar={filterVar}
             />
           )
         })
diff --git a/app/components/workflow/nodes/question-classifier/node.tsx b/app/components/workflow/nodes/question-classifier/node.tsx
index 87ec68b..8ca721f 100644
--- a/app/components/workflow/nodes/question-classifier/node.tsx
+++ b/app/components/workflow/nodes/question-classifier/node.tsx
@@ -9,14 +9,13 @@
   useTextGenerationCurrentProviderAndModelAndModelList,
 } from '@/app/components/header/account-setting/model-provider-page/hooks'
 import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
-import ReadonlyInputWithSelectVar from '../_base/components/readonly-input-with-select-var'
 
 const i18nPrefix = 'workflow.nodes.questionClassifiers'
 
 const Node: FC<NodeProps<QuestionClassifierNodeType>> = (props) => {
   const { t } = useTranslation()
 
-  const { data, id } = props
+  const { data } = props
   const { provider, name: modelId } = data.model
   // const tempTopics = data.topics
   const topics = data.classes
@@ -33,7 +32,6 @@
       {hasSetModel && (
         <ModelSelector
           defaultModel={{ provider, model: modelId }}
-          triggerClassName='!h-6 !rounded-md'
           modelList={textGenerationModelList}
           readonly
         />
@@ -48,12 +46,7 @@
               >
                 <InfoPanel
                   title={`${t(`${i18nPrefix}.class`)} ${index + 1}`}
-                  content={
-                    <ReadonlyInputWithSelectVar
-                      value={topic.name}
-                      nodeId={id}
-                    />
-                  }
+                  content={topic.name}
                 />
                 <NodeSourceHandle
                   {...props}
diff --git a/app/components/workflow/nodes/question-classifier/panel.tsx b/app/components/workflow/nodes/question-classifier/panel.tsx
index d2e0fb0..7d27a89 100644
--- a/app/components/workflow/nodes/question-classifier/panel.tsx
+++ b/app/components/workflow/nodes/question-classifier/panel.tsx
@@ -3,7 +3,6 @@
 import { useTranslation } from 'react-i18next'
 import VarReferencePicker from '../_base/components/variable/var-reference-picker'
 import ConfigVision from '../_base/components/config-vision'
-import { findVariableWhenOnLLMVision } from '../utils'
 import useConfig from './use-config'
 import ClassList from './components/class-list'
 import AdvancedSetting from './components/advanced-setting'
@@ -16,7 +15,6 @@
 import Split from '@/app/components/workflow/nodes/_base/components/split'
 import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars'
 import { FieldCollapse } from '@/app/components/workflow/nodes/_base/components/collapse'
-import type { Props as FormProps } from '@/app/components/workflow/nodes/_base/components/before-run-form/form'
 
 const i18nPrefix = 'workflow.nodes.questionClassifiers'
 
@@ -38,7 +36,6 @@
     hasSetBlockStatus,
     availableVars,
     availableNodesWithParent,
-    availableVisionVars,
     handleInstructionChange,
     inputVarValues,
     varInputs,
@@ -54,56 +51,15 @@
     handleStop,
     runResult,
     filterVar,
-    visionFiles,
-    setVisionFiles,
   } = useConfig(id, data)
 
   const model = inputs.model
 
-  const singleRunForms = (() => {
-    const forms: FormProps[] = []
-
-    forms.push(
-      {
-        label: t('workflow.nodes.llm.singleRun.variable')!,
-        inputs: [{
-          label: t(`${i18nPrefix}.inputVars`)!,
-          variable: 'query',
-          type: InputVarType.paragraph,
-          required: true,
-        }, ...varInputs],
-        values: inputVarValues,
-        onChange: setInputVarValues,
-      },
-    )
-
-    if (isVisionModel && data.vision?.enabled && data.vision?.configs?.variable_selector) {
-      const currentVariable = findVariableWhenOnLLMVision(data.vision.configs.variable_selector, availableVisionVars)
-
-      forms.push(
-        {
-          label: t('workflow.nodes.llm.vision')!,
-          inputs: [{
-            label: currentVariable?.variable as any,
-            variable: '#files#',
-            type: currentVariable?.formType as any,
-            required: false,
-          }],
-          values: { '#files#': visionFiles },
-          onChange: keyValue => setVisionFiles(keyValue['#files#']),
-        },
-      )
-    }
-
-    return forms
-  })()
-
   return (
     <div className='pt-2'>
-      <div className='space-y-4 px-4'>
+      <div className='px-4 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.model`)}
-          required
         >
           <ModelParameterModal
             popupClassName='!w-[387px]'
@@ -122,7 +78,6 @@
         </Field>
         <Field
           title={t(`${i18nPrefix}.inputVars`)}
-          required
         >
           <VarReferencePicker
             readonly={readOnly}
@@ -145,14 +100,12 @@
         />
         <Field
           title={t(`${i18nPrefix}.class`)}
-          required
         >
           <ClassList
-            nodeId={id}
+            id={id}
             list={inputs.classes}
             onChange={handleTopicsChange}
             readonly={readOnly}
-            filterVar={filterVar}
           />
         </Field>
         <Split />
@@ -190,7 +143,18 @@
         <BeforeRunForm
           nodeName={inputs.title}
           onHide={hideSingleRun}
-          forms={singleRunForms}
+          forms={[
+            {
+              inputs: [{
+                label: t(`${i18nPrefix}.inputVars`)!,
+                variable: 'query',
+                type: InputVarType.paragraph,
+                required: true,
+              }, ...varInputs],
+              values: inputVarValues,
+              onChange: setInputVarValues,
+            },
+          ]}
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
diff --git a/app/components/workflow/nodes/question-classifier/use-config.ts b/app/components/workflow/nodes/question-classifier/use-config.ts
index 7df8293..b5f3c3a 100644
--- a/app/components/workflow/nodes/question-classifier/use-config.ts
+++ b/app/components/workflow/nodes/question-classifier/use-config.ts
@@ -124,23 +124,12 @@
     return [VarType.number, VarType.string].includes(varPayload.type)
   }, [])
 
-  const filterVisionInputVar = useCallback((varPayload: Var) => {
-    return [VarType.file, VarType.arrayFile].includes(varPayload.type)
-  }, [])
-
   const {
     availableVars,
     availableNodesWithParent,
   } = useAvailableVarList(id, {
     onlyLeafNodeVar: false,
     filterVar: filterInputVar,
-  })
-
-  const {
-    availableVars: availableVisionVars,
-  } = useAvailableVarList(id, {
-    onlyLeafNodeVar: false,
-    filterVar: filterVisionInputVar,
   })
 
   const hasSetBlockStatus = {
@@ -172,15 +161,13 @@
     handleRun,
     handleStop,
     runInputData,
-    runInputDataRef,
     setRunInputData,
     runResult,
   } = useOneStepRun<QuestionClassifierNodeType>({
     id,
     data: inputs,
     defaultRunInputData: {
-      'query': '',
-      '#files#': [],
+      query: '',
     },
   })
 
@@ -208,14 +195,6 @@
     setRunInputData(newPayload)
   }, [setRunInputData])
 
-  const visionFiles = runInputData['#files#']
-  const setVisionFiles = useCallback((newFiles: any[]) => {
-    setRunInputData({
-      ...runInputDataRef.current,
-      '#files#': newFiles,
-    })
-  }, [runInputDataRef, setRunInputData])
-
   const filterVar = useCallback((varPayload: Var) => {
     return varPayload.type === VarType.string
   }, [])
@@ -233,7 +212,6 @@
     hasSetBlockStatus,
     availableVars,
     availableNodesWithParent,
-    availableVisionVars,
     handleInstructionChange,
     varInputs,
     inputVarValues,
@@ -250,8 +228,6 @@
     query,
     setQuery,
     runResult,
-    visionFiles,
-    setVisionFiles,
   }
 }
 
diff --git a/app/components/workflow/nodes/question-classifier/utils.ts b/app/components/workflow/nodes/question-classifier/utils.ts
index da9c115..486f67d 100644
--- a/app/components/workflow/nodes/question-classifier/utils.ts
+++ b/app/components/workflow/nodes/question-classifier/utils.ts
@@ -1,3 +1,5 @@
-export const checkNodeValid = () => {
+import type { QuestionClassifierNodeType } from './types'
+
+export const checkNodeValid = (payload: QuestionClassifierNodeType) => {
   return true
 }
diff --git a/app/components/workflow/nodes/start/components/var-item.tsx b/app/components/workflow/nodes/start/components/var-item.tsx
index 68dc141..8a94161 100644
--- a/app/components/workflow/nodes/start/components/var-item.tsx
+++ b/app/components/workflow/nodes/start/components/var-item.tsx
@@ -12,14 +12,13 @@
 import { Edit03 } from '@/app/components/base/icons/src/vender/solid/general'
 import Badge from '@/app/components/base/badge'
 import ConfigVarModal from '@/app/components/app/configuration/config-var/config-modal'
-import { noop } from 'lodash-es'
 
 type Props = {
   readonly: boolean
   payload: InputVar
   onChange?: (item: InputVar, moreInfo?: MoreInfo) => void
   onRemove?: () => void
-  rightContent?: React.JSX.Element
+  rightContent?: JSX.Element
   varKeys?: string[]
   showLegacyBadge?: boolean
 }
@@ -27,8 +26,8 @@
 const VarItem: FC<Props> = ({
   readonly,
   payload,
-  onChange = noop,
-  onRemove = noop,
+  onChange = () => { },
+  onRemove = () => { },
   rightContent,
   varKeys = [],
   showLegacyBadge = false,
@@ -47,12 +46,12 @@
     hideEditVarModal()
   }, [onChange, hideEditVarModal])
   return (
-    <div ref={ref} className='flex h-8 cursor-pointer items-center justify-between rounded-lg border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg px-2.5 shadow-xs hover:shadow-md'>
-      <div className='flex w-0 grow items-center space-x-1'>
-        <Variable02 className='h-3.5 w-3.5 text-text-accent' />
-        <div title={payload.variable} className='max-w-[130px] shrink-0 truncate text-[13px] font-medium text-text-secondary'>{payload.variable}</div>
-        {payload.label && (<><div className='shrink-0 text-xs font-medium text-text-quaternary'>路</div>
-          <div title={payload.label as string} className='max-w-[130px] truncate text-[13px] font-medium text-text-tertiary'>{payload.label as string}</div>
+    <div ref={ref} className='flex items-center h-8 justify-between px-2.5 bg-white rounded-lg border border-gray-200 shadow-xs cursor-pointer hover:shadow-md'>
+      <div className='flex items-center space-x-1 grow w-0'>
+        <Variable02 className='w-3.5 h-3.5 text-primary-500' />
+        <div title={payload.variable} className='shrink-0 max-w-[130px] truncate text-[13px] font-medium text-gray-700'>{payload.variable}</div>
+        {payload.label && (<><div className='shrink-0 text-xs font-medium text-gray-400'>路</div>
+          <div title={payload.label as string} className='max-w-[130px] truncate text-[13px] font-medium text-gray-500'>{payload.label as string}</div>
         </>)}
         {showLegacyBadge && (
           <Badge
@@ -61,24 +60,24 @@
           />
         )}
       </div>
-      <div className='ml-2 flex shrink-0 items-center'>
+      <div className='shrink-0 ml-2 flex items-center'>
         {rightContent || (<>
           {(!isHovering || readonly)
             ? (
               <>
                 {payload.required && (
-                  <div className='mr-2 text-xs font-normal text-text-tertiary'>{t('workflow.nodes.start.required')}</div>
+                  <div className='mr-2 text-xs font-normal text-gray-500'>{t('workflow.nodes.start.required')}</div>
                 )}
-                <InputVarTypeIcon type={payload.type} className='h-3.5 w-3.5 text-text-tertiary' />
+                <InputVarTypeIcon type={payload.type} className='w-3.5 h-3.5 text-gray-500' />
               </>
             )
             : (!readonly && (
               <>
-                <div onClick={showEditVarModal} className='mr-1 cursor-pointer rounded-md p-1 hover:bg-state-base-hover'>
-                  <Edit03 className='h-4 w-4 text-text-tertiary' />
+                <div onClick={showEditVarModal} className='mr-1 p-1 rounded-md cursor-pointer hover:bg-black/5'>
+                  <Edit03 className='w-4 h-4 text-gray-500' />
                 </div>
-                <div onClick={onRemove} className='group cursor-pointer rounded-md p-1 hover:bg-state-destructive-hover'>
-                  <RiDeleteBinLine className='h-4 w-4 text-text-tertiary group-hover:text-text-destructive' />
+                <div onClick={onRemove} className='p-1 rounded-md cursor-pointer hover:bg-black/5'>
+                  <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
                 </div>
               </>
             ))}
diff --git a/app/components/workflow/nodes/start/components/var-list.tsx b/app/components/workflow/nodes/start/components/var-list.tsx
index 7eccbec..90a7809 100644
--- a/app/components/workflow/nodes/start/components/var-list.tsx
+++ b/app/components/workflow/nodes/start/components/var-list.tsx
@@ -46,7 +46,7 @@
 
   if (list.length === 0) {
     return (
-      <div className='flex h-[42px] items-center justify-center rounded-md bg-components-panel-bg text-xs font-normal leading-[18px] text-text-tertiary'>
+      <div className='flex rounded-md bg-gray-50 items-center h-[42px] justify-center leading-[18px] text-xs font-normal text-gray-500'>
         {t('workflow.nodes.start.noVarTip')}
       </div>
     )
diff --git a/app/components/workflow/nodes/start/node.tsx b/app/components/workflow/nodes/start/node.tsx
index 7c02858..8a259ce 100644
--- a/app/components/workflow/nodes/start/node.tsx
+++ b/app/components/workflow/nodes/start/node.tsx
@@ -20,15 +20,15 @@
     <div className='mb-1 px-3 py-1'>
       <div className='space-y-0.5'>
         {variables.map(variable => (
-          <div key={variable.variable} className='flex h-6 items-center justify-between space-x-1 rounded-md  bg-workflow-block-parma-bg px-1'>
-            <div className='flex w-0 grow items-center space-x-1'>
-              <Variable02 className='h-3.5 w-3.5 shrink-0 text-text-accent' />
-              <span className='system-xs-regular w-0 grow truncate text-text-secondary'>{variable.variable}</span>
+          <div key={variable.variable} className='flex items-center h-6 justify-between bg-gray-100 rounded-md  px-1 space-x-1 text-xs font-normal text-gray-700'>
+            <div className='w-0 grow flex items-center space-x-1'>
+              <Variable02 className='shrink-0 w-3.5 h-3.5 text-primary-500' />
+              <span className='w-0 grow truncate text-xs font-normal text-gray-700'>{variable.variable}</span>
             </div>
 
             <div className='ml-1 flex items-center space-x-1'>
-              {variable.required && <span className='system-2xs-regular-uppercase text-text-tertiary'>{t(`${i18nPrefix}.required`)}</span>}
-              <InputVarTypeIcon type={variable.type} className='h-3 w-3 text-text-tertiary' />
+              {variable.required && <span className='text-xs font-normal text-gray-500 uppercase'>{t(`${i18nPrefix}.required`)}</span>}
+              <InputVarTypeIcon type={variable.type} className='w-3 h-3 text-gray-500' />
             </div>
           </div>
         ))}
diff --git a/app/components/workflow/nodes/start/panel.tsx b/app/components/workflow/nodes/start/panel.tsx
index eb04ecb..3070945 100644
--- a/app/components/workflow/nodes/start/panel.tsx
+++ b/app/components/workflow/nodes/start/panel.tsx
@@ -40,7 +40,7 @@
 
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-2'>
+      <div className='px-4 pb-2 space-y-4'>
         <Field
           title={t(`${i18nPrefix}.inputField`)}
           operations={
@@ -64,7 +64,7 @@
                       variable: 'sys.query',
                     } as any}
                     rightContent={
-                      <div className='text-xs font-normal text-text-tertiary'>
+                      <div className='text-xs font-normal text-gray-500'>
                         String
                       </div>
                     }
@@ -78,7 +78,7 @@
                   variable: 'sys.files',
                 } as any}
                 rightContent={
-                  <div className='text-xs font-normal text-text-tertiary'>
+                  <div className='text-xs font-normal text-gray-500'>
                     Array[File]
                   </div>
                 }
@@ -92,7 +92,7 @@
                         variable: 'sys.dialogue_count',
                       } as any}
                       rightContent={
-                        <div className='text-xs font-normal text-text-tertiary'>
+                        <div className='text-xs font-normal text-gray-500'>
                           Number
                         </div>
                       }
@@ -103,7 +103,7 @@
                         variable: 'sys.conversation_id',
                       } as any}
                       rightContent={
-                        <div className='text-xs font-normal text-text-tertiary'>
+                        <div className='text-xs font-normal text-gray-500'>
                           String
                         </div>
                       }
@@ -117,7 +117,7 @@
                   variable: 'sys.user_id',
                 } as any}
                 rightContent={
-                  <div className='text-xs font-normal text-text-tertiary'>
+                  <div className='text-xs font-normal text-gray-500'>
                     String
                   </div>
                 }
@@ -128,7 +128,7 @@
                   variable: 'sys.app_id',
                 } as any}
                 rightContent={
-                  <div className='text-xs font-normal text-text-tertiary'>
+                  <div className='text-xs font-normal text-gray-500'>
                     String
                   </div>
                 }
@@ -139,7 +139,7 @@
                   variable: 'sys.workflow_id',
                 } as any}
                 rightContent={
-                  <div className='text-xs font-normal text-text-tertiary'>
+                  <div className='text-xs font-normal text-gray-500'>
                     String
                   </div>
                 }
@@ -150,7 +150,7 @@
                   variable: 'sys.workflow_run_id',
                 } as any}
                 rightContent={
-                  <div className='text-xs font-normal text-text-tertiary'>
+                  <div className='text-xs font-normal text-gray-500'>
                     String
                   </div>
                 }
diff --git a/app/components/workflow/nodes/template-transform/panel.tsx b/app/components/workflow/nodes/template-transform/panel.tsx
index e120482..2038eea 100644
--- a/app/components/workflow/nodes/template-transform/panel.tsx
+++ b/app/components/workflow/nodes/template-transform/panel.tsx
@@ -49,7 +49,7 @@
 
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
 
         <Field
           title={t(`${i18nPrefix}.inputVars`)}
@@ -81,13 +81,13 @@
           headerRight={
             <div className='flex items-center'>
               <a
-                className='flex h-[18px] items-center space-x-0.5 text-xs font-normal text-text-tertiary'
+                className='flex items-center space-x-0.5 h-[18px] text-xs font-normal text-gray-500'
                 href="https://jinja.palletsprojects.com/en/3.1.x/templates/"
                 target='_blank'>
                 <span>{t(`${i18nPrefix}.codeSupportTip`)}</span>
-                <RiQuestionLine className='h-3 w-3' />
+                <RiQuestionLine className='w-3 h-3' />
               </a>
-              <div className='mx-1.5 h-3 w-px bg-divider-regular'></div>
+              <div className='mx-1.5 w-px h-3 bg-gray-200'></div>
             </div>
           }
           value={inputs.template}
diff --git a/app/components/workflow/nodes/tool/components/input-var-list.tsx b/app/components/workflow/nodes/tool/components/input-var-list.tsx
index 1a609c5..bab7c20 100644
--- a/app/components/workflow/nodes/tool/components/input-var-list.tsx
+++ b/app/components/workflow/nodes/tool/components/input-var-list.tsx
@@ -14,10 +14,6 @@
 import Input from '@/app/components/workflow/nodes/_base/components/input-support-select-var'
 import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list'
 import { VarType } from '@/app/components/workflow/types'
-import AppSelector from '@/app/components/plugins/plugin-detail-panel/app-selector'
-import ModelParameterModal from '@/app/components/plugins/plugin-detail-panel/model-selector'
-import { noop } from 'lodash-es'
-
 type Props = {
   readOnly: boolean
   nodeId: string
@@ -35,7 +31,7 @@
   schema,
   value,
   onChange,
-  onOpen = noop,
+  onOpen = () => { },
   isSupportConstantValue,
   filterVar,
 }) => {
@@ -50,14 +46,12 @@
   const paramType = (type: string) => {
     if (type === FormTypeEnum.textNumber)
       return 'Number'
-    else if (type === FormTypeEnum.file || type === FormTypeEnum.files)
+    else if (type === FormTypeEnum.file)
+      return 'File'
+    else if (type === FormTypeEnum.files)
       return 'Files'
-    else if (type === FormTypeEnum.appSelector)
-      return 'AppSelector'
-    else if (type === FormTypeEnum.modelSelector)
-      return 'ModelSelector'
-    else if (type === FormTypeEnum.toolSelector)
-      return 'ToolSelector'
+    else if (type === FormTypeEnum.select)
+      return 'Options'
     else
       return 'String'
   }
@@ -79,7 +73,7 @@
       })
       onChange(newValue)
     }
-  }, [value, onChange])
+  }, [value, onChange, isSupportConstantValue])
 
   const handleMixedTypeChange = useCallback((variable: string) => {
     return (itemValue: string) => {
@@ -111,30 +105,6 @@
     }
   }, [value, onChange])
 
-  const handleAppChange = useCallback((variable: string) => {
-    return (app: {
-      app_id: string
-      inputs: Record<string, any>
-      files?: any[]
-    }) => {
-      const newValue = produce(value, (draft: ToolVarInputs) => {
-        draft[variable] = app as any
-      })
-      onChange(newValue)
-    }
-  }, [onChange, value])
-  const handleModelChange = useCallback((variable: string) => {
-    return (model: any) => {
-      const newValue = produce(value, (draft: ToolVarInputs) => {
-        draft[variable] = {
-          ...draft[variable],
-          ...model,
-        } as any
-      })
-      onChange(newValue)
-    }
-  }, [onChange, value])
-
   const [inputsIsFocus, setInputsIsFocus] = useState<Record<string, boolean>>({})
   const handleInputFocus = useCallback((variable: string) => {
     return (value: boolean) => {
@@ -159,27 +129,24 @@
             type,
             required,
             tooltip,
-            scope,
           } = schema
           const varInput = value[variable]
           const isNumber = type === FormTypeEnum.textNumber
           const isSelect = type === FormTypeEnum.select
-          const isFile = type === FormTypeEnum.file || type === FormTypeEnum.files
-          const isAppSelector = type === FormTypeEnum.appSelector
-          const isModelSelector = type === FormTypeEnum.modelSelector
-          // const isToolSelector = type === FormTypeEnum.toolSelector
-          const isString = !isNumber && !isSelect && !isFile && !isAppSelector && !isModelSelector
+          const isFile = type === FormTypeEnum.file
+          const isFileArray = type === FormTypeEnum.files
+          const isString = !isNumber && !isSelect && !isFile && !isFileArray
 
           return (
             <div key={variable} className='space-y-1'>
-              <div className='flex h-[18px] items-center space-x-2'>
-                <span className='code-sm-semibold text-text-secondary'>{label[language] || label.en_US}</span>
-                <span className='system-xs-regular text-text-tertiary'>{paramType(type)}</span>
-                {required && <span className='system-xs-regular text-util-colors-orange-dark-orange-dark-600'>Required</span>}
+              <div className='flex items-center h-[18px] space-x-2'>
+                <span className='text-text-secondary code-sm-semibold'>{label[language] || label.en_US}</span>
+                <span className='text-text-tertiary system-xs-regular'>{paramType(type)}</span>
+                {required && <span className='text-util-colors-orange-dark-orange-dark-600 system-xs-regular'>Required</span>}
               </div>
               {isString && (
                 <Input
-                  className={cn(inputsIsFocus[variable] ? 'border-components-input-border-active bg-components-input-bg-active shadow-xs' : 'border-components-input-border-hover bg-components-input-bg-normal', 'rounded-lg border px-3 py-[6px]')}
+                  className={cn(inputsIsFocus[variable] ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'rounded-lg px-3 py-[6px] border')}
                   value={varInput?.value as string || ''}
                   onChange={handleMixedTypeChange(variable)}
                   readOnly={readOnly}
@@ -214,29 +181,22 @@
                   onChange={handleFileChange(variable)}
                   onOpen={handleOpen(index)}
                   defaultVarKindType={VarKindType.variable}
-                  filterVar={(varPayload: Var) => varPayload.type === VarType.file || varPayload.type === VarType.arrayFile}
+                  filterVar={(varPayload: Var) => varPayload.type === VarType.file}
                 />
               )}
-              {isAppSelector && (
-                <AppSelector
-                  disabled={readOnly}
-                  scope={scope || 'all'}
-                  value={varInput as any}
-                  onSelect={handleAppChange(variable)}
-                />
-              )}
-              {isModelSelector && (
-                <ModelParameterModal
-                  popupClassName='!w-[387px]'
-                  isAdvancedMode
-                  isInWorkflow
-                  value={varInput as any}
-                  setModel={handleModelChange(variable)}
+              {isFileArray && (
+                <VarReferencePicker
                   readonly={readOnly}
-                  scope={scope}
+                  isShowNodeName
+                  nodeId={nodeId}
+                  value={varInput?.value || []}
+                  onChange={handleFileChange(variable)}
+                  onOpen={handleOpen(index)}
+                  defaultVarKindType={VarKindType.variable}
+                  filterVar={(varPayload: Var) => varPayload.type === VarType.arrayFile}
                 />
               )}
-              {tooltip && <div className='body-xs-regular text-text-tertiary'>{tooltip[language] || tooltip.en_US}</div>}
+              {tooltip && <div className='text-text-tertiary body-xs-regular'>{tooltip[language] || tooltip.en_US}</div>}
             </div>
           )
         })
diff --git a/app/components/workflow/nodes/tool/node.tsx b/app/components/workflow/nodes/tool/node.tsx
index f3cb4d9..4de0339 100644
--- a/app/components/workflow/nodes/tool/node.tsx
+++ b/app/components/workflow/nodes/tool/node.tsx
@@ -2,12 +2,11 @@
 import React from 'react'
 import type { ToolNodeType } from './types'
 import type { NodeProps } from '@/app/components/workflow/types'
-import { FormTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
 
 const Node: FC<NodeProps<ToolNodeType>> = ({
   data,
 }) => {
-  const { tool_configurations, paramSchemas } = data
+  const { tool_configurations } = data
   const toolConfigs = Object.keys(tool_configurations || {})
 
   if (!toolConfigs.length)
@@ -17,30 +16,13 @@
     <div className='mb-1 px-3 py-1'>
       <div className='space-y-0.5'>
         {toolConfigs.map((key, index) => (
-          <div key={index} className='flex h-6 items-center justify-between space-x-1 rounded-md  bg-workflow-block-parma-bg px-1 text-xs font-normal text-text-secondary'>
-            <div title={key} className='max-w-[100px] shrink-0 truncate text-xs font-medium uppercase text-text-tertiary'>
+          <div key={index} className='flex items-center h-6 justify-between bg-gray-100 rounded-md  px-1 space-x-1 text-xs font-normal text-gray-700'>
+            <div title={key} className='max-w-[100px] shrink-0 truncate text-xs font-medium text-gray-500 uppercase'>
               {key}
             </div>
-            {typeof tool_configurations[key] === 'string' && (
-              <div title={tool_configurations[key]} className='w-0 shrink-0 grow truncate text-right text-xs font-normal text-text-secondary'>
-                {paramSchemas?.find(i => i.name === key)?.type === FormTypeEnum.secretInput ? '********' : tool_configurations[key]}
-              </div>
-            )}
-            {typeof tool_configurations[key] === 'number' && (
-              <div title={tool_configurations[key].toString()} className='w-0 shrink-0 grow truncate text-right text-xs font-normal text-text-secondary'>
-                {tool_configurations[key]}
-              </div>
-            )}
-            {typeof tool_configurations[key] !== 'string' && tool_configurations[key]?.type === FormTypeEnum.modelSelector && (
-              <div title={tool_configurations[key].model} className='w-0 shrink-0 grow truncate text-right text-xs font-normal text-text-secondary'>
-                {tool_configurations[key].model}
-              </div>
-            )}
-            {/* {typeof tool_configurations[key] !== 'string' && tool_configurations[key]?.type === FormTypeEnum.appSelector && (
-              <div title={tool_configurations[key].app_id} className='grow w-0 shrink-0 truncate text-right text-xs font-normal text-gray-700'>
-                {tool_configurations[key].app_id}
-              </div>
-            )} */}
+            <div title={tool_configurations[key]} className='grow w-0 shrink-0 truncate text-right text-xs font-normal text-gray-700'>
+              {tool_configurations[key]}
+            </div>
           </div>
 
         ))}
diff --git a/app/components/workflow/nodes/tool/panel.tsx b/app/components/workflow/nodes/tool/panel.tsx
index 8596644..d0d4c3a 100644
--- a/app/components/workflow/nodes/tool/panel.tsx
+++ b/app/components/workflow/nodes/tool/panel.tsx
@@ -1,5 +1,5 @@
 import type { FC } from 'react'
-import React, { useMemo } from 'react'
+import React from 'react'
 import { useTranslation } from 'react-i18next'
 import Split from '../_base/components/split'
 import type { ToolNodeType } from './types'
@@ -14,11 +14,8 @@
 import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
 import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars'
 import ResultPanel from '@/app/components/workflow/run/result-panel'
+import { useRetryDetailShowInSingleRun } from '@/app/components/workflow/nodes/_base/components/retry/hooks'
 import { useToolIcon } from '@/app/components/workflow/hooks'
-import { useLogs } from '@/app/components/workflow/run/hooks'
-import formatToTracingNodeList from '@/app/components/workflow/run/utils/format-log'
-import StructureOutputItem from '@/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/show'
-import { Type } from '../llm/types'
 
 const i18nPrefix = 'workflow.nodes.tool'
 
@@ -52,16 +49,12 @@
     handleRun,
     handleStop,
     runResult,
-    outputSchema,
-    hasObjectOutput,
   } = useConfig(id, data)
   const toolIcon = useToolIcon(data)
-  const logsParams = useLogs()
-  const nodeInfo = useMemo(() => {
-    if (!runResult)
-      return null
-    return formatToTracingNodeList([runResult], t)[0]
-  }, [runResult, t])
+  const {
+    retryDetails,
+    handleRetryDetailsChange,
+  } = useRetryDetailShowInSingleRun()
 
   if (isLoading) {
     return <div className='flex h-[200px] items-center justify-center'>
@@ -85,7 +78,7 @@
         </>
       )}
       {!isShowAuthBtn && <>
-        <div className='space-y-4 px-4'>
+        <div className='px-4 space-y-4'>
           {toolInputVarSchema.length > 0 && (
             <Field
               title={t(`${i18nPrefix}.inputVars`)}
@@ -110,14 +103,14 @@
           <Form
             className='space-y-4'
             itemClassName='!py-0'
-            fieldLabelClassName='!text-[13px] !font-semibold !text-text-secondary uppercase'
+            fieldLabelClassName='!text-[13px] !font-semibold !text-gray-700 uppercase'
             value={toolSettingValue}
             onChange={setToolSettingValue}
             formSchemas={toolSettingSchema as any}
             isEditMode={false}
             showOnVariableMap={{}}
             validating={false}
-            // inputClassName='!bg-gray-50'
+            inputClassName='!bg-gray-50'
             readonly={readOnly}
           />
         </div>
@@ -137,46 +130,19 @@
           <>
             <VarItem
               name='text'
-              type='string'
+              type='String'
               description={t(`${i18nPrefix}.outputVars.text`)}
-              isIndent={hasObjectOutput}
             />
             <VarItem
               name='files'
-              type='array[file]'
+              type='Array[File]'
               description={t(`${i18nPrefix}.outputVars.files.title`)}
-              isIndent={hasObjectOutput}
             />
             <VarItem
               name='json'
-              type='array[object]'
+              type='Array[Object]'
               description={t(`${i18nPrefix}.outputVars.json`)}
-              isIndent={hasObjectOutput}
             />
-            {outputSchema.map(outputItem => (
-              <div key={outputItem.name}>
-                {outputItem.value?.type === 'object' ? (
-                  <StructureOutputItem
-                    rootClassName='code-sm-semibold text-text-secondary'
-                    payload={{
-                      schema: {
-                        type: Type.object,
-                        properties: {
-                          [outputItem.name]: outputItem.value,
-                        },
-                        additionalProperties: false,
-                      },
-                    }} />
-                ) : (
-                  <VarItem
-                    name={outputItem.name}
-                    type={outputItem.type.toLocaleLowerCase()}
-                    description={outputItem.description}
-                    isIndent={hasObjectOutput}
-                  />
-                )}
-              </div>
-            ))}
           </>
         </OutputVars>
       </div>
@@ -191,8 +157,9 @@
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
-          {...logsParams}
-          result={<ResultPanel {...runResult} showSteps={false} {...logsParams} nodeInfo={nodeInfo} />}
+          retryDetails={retryDetails}
+          onRetryDetailBack={handleRetryDetailsChange}
+          result={<ResultPanel {...runResult} showSteps={false} onShowRetryDetail={handleRetryDetailsChange} />}
         />
       )}
     </div>
diff --git a/app/components/workflow/nodes/tool/types.ts b/app/components/workflow/nodes/tool/types.ts
index 4b78c53..1ed6f9c 100644
--- a/app/components/workflow/nodes/tool/types.ts
+++ b/app/components/workflow/nodes/tool/types.ts
@@ -9,7 +9,7 @@
 
 export type ToolVarInputs = Record<string, {
   type: VarType
-  value?: string | ValueSelector | any
+  value?: string | ValueSelector
 }>
 
 export type ToolNodeType = CommonNodeType & {
@@ -20,6 +20,4 @@
   tool_label: string
   tool_parameters: ToolVarInputs
   tool_configurations: Record<string, any>
-  output_schema: Record<string, any>
-  paramSchemas?: Record<string, any>[]
 }
diff --git a/app/components/workflow/nodes/tool/use-config.ts b/app/components/workflow/nodes/tool/use-config.ts
index 38ca5b5..94046ba 100644
--- a/app/components/workflow/nodes/tool/use-config.ts
+++ b/app/components/workflow/nodes/tool/use-config.ts
@@ -18,7 +18,6 @@
   useFetchToolsData,
   useNodesReadOnly,
 } from '@/app/components/workflow/hooks'
-import { canFindTool } from '@/utils'
 
 const useConfig = (id: string, payload: ToolNodeType) => {
   const { nodesReadOnly: readOnly } = useNodesReadOnly()
@@ -30,9 +29,8 @@
   /*
   * tool_configurations: tool setting, not dynamic setting
   * tool_parameters: tool dynamic setting(by user)
-  * output_schema: tool dynamic output
   */
-  const { provider_id, provider_type, tool_name, tool_configurations, output_schema } = inputs
+  const { provider_id, provider_type, tool_name, tool_configurations } = inputs
   const isBuiltIn = provider_type === CollectionType.builtIn
   const buildInTools = useStore(s => s.buildInTools)
   const customTools = useStore(s => s.customTools)
@@ -50,7 +48,7 @@
         return []
     }
   })()
-  const currCollection = currentTools.find(item => canFindTool(item.id, provider_id))
+  const currCollection = currentTools.find(item => item.id === provider_id)
 
   // Auth
   const needAuth = !!currCollection?.allow_delete
@@ -93,7 +91,7 @@
         const value = newConfig[key]
         if (schema?.type === 'boolean') {
           if (typeof value === 'string')
-            newConfig[key] = Number.parseInt(value, 10)
+            newConfig[key] = parseInt(value, 10)
 
           if (typeof value === 'boolean')
             newConfig[key] = value ? 1 : 0
@@ -101,7 +99,7 @@
 
         if (schema?.type === 'number-input') {
           if (typeof value === 'string' && value !== '')
-            newConfig[key] = Number.parseFloat(value)
+            newConfig[key] = parseFloat(value)
         }
       })
       draft.tool_configurations = newConfig
@@ -164,7 +162,7 @@
   const [inputVarValues, doSetInputVarValues] = useState<Record<string, any>>({})
   const setInputVarValues = (value: Record<string, any>) => {
     doSetInputVarValues(value)
-    // eslint-disable-next-line ts/no-use-before-define
+    // eslint-disable-next-line @typescript-eslint/no-use-before-define
     setRunInputData(value)
   }
   // fill single run form variable with constant value first time
@@ -256,39 +254,6 @@
     doHandleRun(addMissedVarData)
   }
 
-  const outputSchema = useMemo(() => {
-    const res: any[] = []
-    if (!output_schema)
-      return []
-    Object.keys(output_schema.properties).forEach((outputKey) => {
-      const output = output_schema.properties[outputKey]
-      const type = output.type
-      if (type === 'object') {
-        res.push({
-          name: outputKey,
-          value: output,
-        })
-      }
-      else {
-        res.push({
-          name: outputKey,
-          type: output.type === 'array'
-            ? `Array[${output.items?.type.slice(0, 1).toLocaleUpperCase()}${output.items?.type.slice(1)}]`
-            : `${output.type.slice(0, 1).toLocaleUpperCase()}${output.type.slice(1)}`,
-          description: output.description,
-        })
-      }
-    })
-    return res
-  }, [output_schema])
-
-  const hasObjectOutput = useMemo(() => {
-    if (!output_schema)
-      return false
-    const properties = output_schema.properties
-    return Object.keys(properties).some(key => properties[key].type === 'object')
-  }, [output_schema])
-
   return {
     readOnly,
     inputs,
@@ -317,8 +282,6 @@
     handleRun,
     handleStop,
     runResult,
-    outputSchema,
-    hasObjectOutput,
   }
 }
 
diff --git a/app/components/workflow/nodes/variable-assigner/components/add-variable/index.tsx b/app/components/workflow/nodes/variable-assigner/components/add-variable/index.tsx
index 09f4454..79c50af 100644
--- a/app/components/workflow/nodes/variable-assigner/components/add-variable/index.tsx
+++ b/app/components/workflow/nodes/variable-assigner/components/add-variable/index.tsx
@@ -61,16 +61,16 @@
           <div
             className={cn(
               'group/addvariable flex items-center justify-center',
-              'h-4 w-4 cursor-pointer',
+              'w-4 h-4 cursor-pointer',
               'hover:rounded-full hover:bg-primary-600',
               open && '!rounded-full !bg-primary-600',
             )}
           >
             <Plus02
               className={cn(
-                'h-2.5 w-2.5 text-text-tertiary',
-                'group-hover/addvariable:text-text-primary',
-                open && '!text-text-primary',
+                'w-2.5 h-2.5 text-gray-500',
+                'group-hover/addvariable:text-white',
+                open && '!text-white',
               )}
             />
           </div>
diff --git a/app/components/workflow/nodes/variable-assigner/components/node-group-item.tsx b/app/components/workflow/nodes/variable-assigner/components/node-group-item.tsx
index e6984b9..a58acb5 100644
--- a/app/components/workflow/nodes/variable-assigner/components/node-group-item.tsx
+++ b/app/components/workflow/nodes/variable-assigner/components/node-group-item.tsx
@@ -81,26 +81,26 @@
   return (
     <div
       className={cn(
-        'relative rounded-lg border-[1.5px] border-transparent px-1.5 pb-1.5 pt-1',
-        showSelectionBorder && '!border-dashed !border-divider-subtle bg-state-base-hover',
-        showSelectedBorder && '!border-text-accent !bg-util-colors-blue-blue-50',
+        'relative pt-1 px-1.5 pb-1.5 rounded-lg border-[1.5px] border-transparent',
+        showSelectionBorder && '!border-gray-300 !border-dashed bg-black/[0.02]',
+        showSelectedBorder && '!border-primary-600 !bg-primary-50',
       )}
       onMouseEnter={() => groupEnabled && handleGroupItemMouseEnter(item.targetHandleId)}
       onMouseLeave={handleGroupItemMouseLeave}
     >
-      <div className='flex h-4 items-center justify-between text-[10px] font-medium text-text-tertiary'>
+      <div className='flex items-center justify-between h-4 text-[10px] font-medium text-gray-500'>
         <span
           className={cn(
-            'grow truncate uppercase',
-            showSelectedBorder && 'text-text-accent',
+            'grow uppercase truncate',
+            showSelectedBorder && 'text-primary-600',
           )}
           title={item.title}
         >
           {item.title}
         </span>
         <div className='flex items-center'>
-          <span className='ml-2 shrink-0'>{item.type}</span>
-          <div className='ml-2 mr-1 h-2.5 w-[1px] bg-divider-regular'></div>
+          <span className='shrink-0 ml-2'>{item.type}</span>
+          <div className='ml-2 mr-1 w-[1px] h-2.5 bg-gray-200'></div>
           <AddVariable
             availableVars={availableVars}
             variableAssignerNodeId={item.variableAssignerNodeId}
@@ -113,7 +113,7 @@
         !item.variables.length && (
           <div
             className={cn(
-              'relative flex h-[22px] items-center justify-between space-x-1 rounded-md bg-workflow-block-parma-bg px-1 text-[10px] font-normal uppercase text-text-tertiary',
+              'relative flex items-center px-1 h-[22px] justify-between bg-gray-100 rounded-md space-x-1 text-[10px] font-normal text-gray-400 uppercase',
               (showSelectedBorder || showSelectionBorder) && '!bg-black/[0.02]',
             )}
           >
diff --git a/app/components/workflow/nodes/variable-assigner/components/node-variable-item.tsx b/app/components/workflow/nodes/variable-assigner/components/node-variable-item.tsx
index f5d05aa..8ccd976 100644
--- a/app/components/workflow/nodes/variable-assigner/components/node-variable-item.tsx
+++ b/app/components/workflow/nodes/variable-assigner/components/node-variable-item.tsx
@@ -1,7 +1,4 @@
-import {
-  memo,
-  useMemo,
-} from 'react'
+import { memo } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from '@/utils/classnames'
 import { VarBlockIcon } from '@/app/components/workflow/block-icon'
@@ -10,6 +7,7 @@
 import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others'
 import Badge from '@/app/components/base/badge'
 import type { Node } from '@/app/components/workflow/types'
+import { BlockEnum } from '@/app/components/workflow/types'
 
 type NodeVariableItemProps = {
   isEnv: boolean
@@ -35,75 +33,38 @@
   isException,
 }: NodeVariableItemProps) => {
   const { t } = useTranslation()
-
-  const VariableIcon = useMemo(() => {
-    if (isEnv) {
-      return (
-        <Env className='h-3.5 w-3.5 shrink-0 text-util-colors-violet-violet-600' />
-      )
-    }
-
-    if (isChatVar) {
-      return (
-        <BubbleX className='h-3.5 w-3.5 shrink-0 text-util-colors-teal-teal-700' />
-      )
-    }
-
-    return (
-      <Variable02
-        className={cn(
-          'h-3.5 w-3.5 shrink-0 text-text-accent',
-          isException && 'text-text-warning',
-        )}
-      />
-    )
-  }, [isEnv, isChatVar, isException])
-
-  const VariableName = useMemo(() => {
-    return (
-      <div
-        className={cn(
-          'system-xs-medium ml-0.5 shrink truncate text-text-accent',
-          isEnv && 'text-text-primary',
-          isException && 'text-text-warning',
-          isChatVar && 'text-util-colors-teal-teal-700',
-        )}
-        title={varName}
-      >
-        {varName}
-      </div>
-    )
-  }, [isEnv, isChatVar, varName, isException])
   return (
     <div className={cn(
-      'relative flex items-center gap-1 self-stretch rounded-md bg-workflow-block-parma-bg p-[3px] pl-[5px]',
-      showBorder && '!bg-state-base-hover',
+      'relative flex items-center p-[3px] pl-[5px] gap-1 self-stretch rounded-md bg-workflow-block-parma-bg',
+      showBorder && '!bg-black/[0.02]',
       className,
     )}>
-      <div className='flex w-0 grow items-center'>
-        {
-          node && (
-            <>
-              <div className='shrink-0 p-[1px]'>
-                <VarBlockIcon
-                  className='!text-text-primary'
-                  type={node.data.type}
-                />
-              </div>
-              <div
-                className='mx-0.5 shrink-[1000] truncate text-xs font-medium text-text-secondary'
-                title={node?.data.title}
-              >
-                {node?.data.title}
-              </div>
-              <Line3 className='mr-0.5 shrink-0'></Line3>
-            </>
-          )
+      {!isEnv && !isChatVar && (
+        <div className='flex items-center'>
+          <div className='p-[1px]'>
+            <VarBlockIcon
+              className='!text-gray-900'
+              type={node?.data.type || BlockEnum.Start}
+            />
+          </div>
+          <div className='max-w-[85px] truncate mx-0.5 text-xs font-medium text-gray-700' title={node?.data.title}>{node?.data.title}</div>
+          <Line3 className='mr-0.5'></Line3>
+        </div>
+      )}
+      <div className='flex items-center text-primary-600 w-full'>
+        {!isEnv && !isChatVar && <Variable02 className={cn('shrink-0 w-3.5 h-3.5 text-primary-500', isException && 'text-text-warning')} />}
+        {isEnv && <Env className='shrink-0 w-3.5 h-3.5 text-util-colors-violet-violet-600' />}
+        {!isChatVar && <div className={cn('max-w-[75px] truncate ml-0.5 system-xs-medium overflow-hidden text-ellipsis', isEnv && 'text-gray-900', isException && 'text-text-warning')} title={varName}>{varName}</div>}
+        {isChatVar
+          && <div className='flex items-center w-full gap-1'>
+            <div className='flex h-[18px] min-w-[18px] items-center gap-0.5 flex-1'>
+              <BubbleX className='w-3.5 h-3.5 text-util-colors-teal-teal-700' />
+              <div className={cn('max-w-[75px] truncate ml-0.5 system-xs-medium overflow-hidden text-ellipsis text-util-colors-teal-teal-700')}>{varName}</div>
+            </div>
+            {writeMode && <Badge className='shrink-0' text={t(`${i18nPrefix}.operations.${writeMode}`)} />}
+          </div>
         }
-        {VariableIcon}
-        {VariableName}
       </div>
-      {writeMode && <Badge className='shrink-0' text={t(`${i18nPrefix}.operations.${writeMode}`)} />}
     </div>
   )
 }
diff --git a/app/components/workflow/nodes/variable-assigner/components/var-group-item.tsx b/app/components/workflow/nodes/variable-assigner/components/var-group-item.tsx
index cf9d415..eb5a8f8 100644
--- a/app/components/workflow/nodes/variable-assigner/components/var-group-item.tsx
+++ b/app/components/workflow/nodes/variable-assigner/components/var-group-item.tsx
@@ -107,17 +107,17 @@
       title={groupEnabled
         ? <div className='flex items-center'>
           <div className='flex items-center !normal-case'>
-            <Folder className='mr-0.5 h-3.5 w-3.5' />
+            <Folder className='mr-0.5 w-3.5 h-3.5' />
             {(!isEditGroupName)
               ? (
-                <div className='system-sm-semibold flex h-6 cursor-text items-center rounded-lg px-1 text-text-secondary hover:bg-gray-100' onClick={setEditGroupName}>
+                <div className='flex items-center h-6 px-1 rounded-lg cursor-text text-text-secondary system-sm-semibold hover:bg-gray-100' onClick={setEditGroupName}>
                   {payload.group_name}
                 </div>
               )
               : (
                 <input
                   type='text'
-                  className='h-6 rounded-lg border border-gray-300 bg-white px-1 focus:outline-none'
+                  className='h-6 px-1 rounded-lg bg-white border border-gray-300 focus:outline-none'
                   // style={{
                   //   width: `${((payload.group_name?.length || 0) + 1) / 2}em`,
                   // }}
@@ -132,20 +132,20 @@
           </div>
           {canRemove && (
             <div
-              className='ml-0.5 hidden cursor-pointer rounded-md p-1 text-text-tertiary hover:bg-state-destructive-hover hover:text-text-destructive group-hover:block'
+              className='group-hover:block hidden ml-0.5 p-1 rounded-md text-gray-500 cursor-pointer hover:bg-[#FEE4E2] hover:text-[#D92D20]'
               onClick={onRemove}
             >
               <RiDeleteBinLine
-                className='h-4 w-4'
+                className='w-4 h-4'
               />
             </div>
           )}
         </div>
         : t(`${i18nPrefix}.title`)!}
       operations={
-        <div className='flex h-6 items-center  space-x-2'>
+        <div className='flex items-center h-6  space-x-2'>
           {payload.variables.length > 0 && (
-            <div className='system-2xs-medium-uppercase flex h-[18px] items-center rounded-[5px] border border-divider-deep px-1 text-text-tertiary'>{payload.output_type}</div>
+            <div className='flex items-center h-[18px] px-1 border border-divider-deep rounded-[5px] text-text-tertiary system-2xs-medium-uppercase'>{payload.output_type}</div>
           )}
           {
             !readOnly
diff --git a/app/components/workflow/nodes/variable-assigner/components/var-list/index.tsx b/app/components/workflow/nodes/variable-assigner/components/var-list/index.tsx
index a007463..9afc4a0 100644
--- a/app/components/workflow/nodes/variable-assigner/components/var-list/index.tsx
+++ b/app/components/workflow/nodes/variable-assigner/components/var-list/index.tsx
@@ -8,7 +8,6 @@
 import VarReferencePicker from '@/app/components/workflow/nodes/_base/components/variable/var-reference-picker'
 import type { ValueSelector, Var } from '@/app/components/workflow/types'
 import { VarType as VarKindType } from '@/app/components/workflow/nodes/tool/types'
-import { noop } from 'lodash-es'
 
 type Props = {
   readonly: boolean
@@ -24,7 +23,7 @@
   nodeId,
   list,
   onChange,
-  onOpen = noop,
+  onOpen = () => { },
   filterVar,
 }) => {
   const { t } = useTranslation()
@@ -75,6 +74,7 @@
           />
           {!readonly && (
             <RemoveButton
+              className='!p-2 !bg-gray-100 hover:!bg-gray-200'
               onClick={handleVarRemove(index)}
             />
           )}
diff --git a/app/components/workflow/nodes/variable-assigner/default.ts b/app/components/workflow/nodes/variable-assigner/default.ts
index 60c7c27..49e497e 100644
--- a/app/components/workflow/nodes/variable-assigner/default.ts
+++ b/app/components/workflow/nodes/variable-assigner/default.ts
@@ -22,31 +22,14 @@
   },
   checkValid(payload: VariableAssignerNodeType, t: any) {
     let errorMessages = ''
-    const { variables, advanced_settings } = payload
-    const { group_enabled = false, groups = [] } = advanced_settings || {}
-    // enable group
-    const validateVariables = (variables: any[], field: string) => {
+    const { variables } = payload
+    if (!variables || variables.length === 0)
+      errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.variableAssigner.title`) })
+    if (!errorMessages) {
       variables.forEach((variable) => {
         if (!variable || variable.length === 0)
-          errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(field) })
+          errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.errorMsg.fields.variableValue`) })
       })
-    }
-
-    if (group_enabled) {
-      if (!groups || groups.length === 0) {
-        errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.variableAssigner.title`) })
-      }
-      else if (!errorMessages) {
-        groups.forEach((group) => {
-          validateVariables(group.variables || [], `${i18nPrefix}.errorMsg.fields.variableValue`)
-        })
-      }
-    }
-    else {
-      if (!variables || variables.length === 0)
-        errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.variableAssigner.title`) })
-      else if (!errorMessages)
-        validateVariables(variables, `${i18nPrefix}.errorMsg.fields.variableValue`)
     }
 
     return {
diff --git a/app/components/workflow/nodes/variable-assigner/node.tsx b/app/components/workflow/nodes/variable-assigner/node.tsx
index 5246ba2..326bd07 100644
--- a/app/components/workflow/nodes/variable-assigner/node.tsx
+++ b/app/components/workflow/nodes/variable-assigner/node.tsx
@@ -43,7 +43,7 @@
   }, [t, advanced_settings, data, id])
 
   return (
-    <div className='relative mb-1 space-y-0.5 px-1' ref={ref}>
+    <div className='relative mb-1 px-1 space-y-0.5' ref={ref}>
       {
         groups.map((item) => {
           return (
diff --git a/app/components/workflow/nodes/variable-assigner/panel.tsx b/app/components/workflow/nodes/variable-assigner/panel.tsx
index 67ec102..6152e0f 100644
--- a/app/components/workflow/nodes/variable-assigner/panel.tsx
+++ b/app/components/workflow/nodes/variable-assigner/panel.tsx
@@ -7,7 +7,7 @@
 import type { VariableAssignerNodeType } from './types'
 import VarGroupItem from './components/var-group-item'
 import cn from '@/utils/classnames'
-import type { NodePanelProps } from '@/app/components/workflow/types'
+import { type NodePanelProps } from '@/app/components/workflow/types'
 import Split from '@/app/components/workflow/nodes/_base/components/split'
 import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars'
 import Switch from '@/app/components/base/switch'
@@ -39,7 +39,7 @@
 
   return (
     <div className='mt-2'>
-      <div className='space-y-4 px-4 pb-4'>
+      <div className='px-4 pb-4 space-y-4'>
         {!isEnableGroup
           ? (
             <VarGroupItem
@@ -99,20 +99,22 @@
       {isEnableGroup && (
         <>
           <Split />
-          <OutputVars>
-            <>
-              {inputs.advanced_settings?.groups.map((item, index) => (
-                <VarItem
-                  key={index}
-                  name={`${item.group_name}.output`}
-                  type={item.output_type}
-                  description={t(`${i18nPrefix}.outputVars.varDescribe`, {
-                    groupName: item.group_name,
-                  })}
-                />
-              ))}
-            </>
-          </OutputVars>
+          <div className='px-4 pt-4 pb-2'>
+            <OutputVars>
+              <>
+                {inputs.advanced_settings?.groups.map((item, index) => (
+                  <VarItem
+                    key={index}
+                    name={`${item.group_name}.output`}
+                    type={item.output_type}
+                    description={t(`${i18nPrefix}.outputVars.varDescribe`, {
+                      groupName: item.group_name,
+                    })}
+                  />
+                ))}
+              </>
+            </OutputVars>
+          </div>
         </>
       )}
       <RemoveEffectVarConfirm
diff --git a/app/components/workflow/nodes/variable-assigner/use-config.ts b/app/components/workflow/nodes/variable-assigner/use-config.ts
index f5a7a09..6147c6f 100644
--- a/app/components/workflow/nodes/variable-assigner/use-config.ts
+++ b/app/components/workflow/nodes/variable-assigner/use-config.ts
@@ -120,7 +120,7 @@
     inputs.advanced_settings.groups.forEach((item) => {
       const match = item.group_name.match(/(\d+)$/)
       if (match) {
-        const num = Number.parseInt(match[1], 10)
+        const num = parseInt(match[1], 10)
         if (num > maxInGroupName)
           maxInGroupName = num
       }
diff --git a/app/components/workflow/note-node/index.tsx b/app/components/workflow/note-node/index.tsx
index aa8793f..e1691bd 100644
--- a/app/components/workflow/note-node/index.tsx
+++ b/app/components/workflow/note-node/index.tsx
@@ -61,7 +61,7 @@
   return (
     <div
       className={cn(
-        'relative flex flex-col rounded-md border shadow-xs hover:shadow-md',
+        'flex flex-col relative rounded-md shadow-xs border hover:shadow-md',
         THEME_MAP[theme].bg,
         data.selected ? THEME_MAP[theme].border : 'border-black/5',
       )}
@@ -85,12 +85,12 @@
           />
           <div
             className={cn(
-              'h-2 shrink-0 rounded-t-md opacity-50',
+              'shrink-0 h-2 opacity-50 rounded-t-md',
               THEME_MAP[theme].title,
             )}></div>
           {
             data.selected && (
-              <div className='absolute left-1/2 top-[-41px] -translate-x-1/2'>
+              <div className='absolute -top-[41px] left-1/2 -translate-x-1/2'>
                 <NoteEditorToolbar
                   theme={theme}
                   onThemeChange={handleThemeChange}
@@ -103,7 +103,7 @@
               </div>
             )
           }
-          <div className='grow overflow-y-auto px-3 py-2.5'>
+          <div className='grow px-3 py-2.5 overflow-y-auto'>
             <div className={cn(
               data.selected && 'nodrag nopan nowheel cursor-text',
             )}>
diff --git a/app/components/workflow/note-node/note-editor/context.tsx b/app/components/workflow/note-node/note-editor/context.tsx
index 0349746..0d892b3 100644
--- a/app/components/workflow/note-node/note-editor/context.tsx
+++ b/app/components/workflow/note-node/note-editor/context.tsx
@@ -19,13 +19,13 @@
 
 type NoteEditorContextProviderProps = {
   value: string
-  children: React.JSX.Element | string | (React.JSX.Element | string)[]
+  children: JSX.Element | string | (JSX.Element | string)[]
 }
 export const NoteEditorContextProvider = memo(({
   value,
   children,
 }: NoteEditorContextProviderProps) => {
-  const storeRef = useRef<NoteEditorStore | undefined>(undefined)
+  const storeRef = useRef<NoteEditorStore>()
 
   if (!storeRef.current)
     storeRef.current = createNoteEditorStore()
@@ -34,7 +34,7 @@
   try {
     initialValue = JSON.parse(value)
   }
-  catch {
+  catch (e) {
 
   }
 
diff --git a/app/components/workflow/note-node/note-editor/editor.tsx b/app/components/workflow/note-node/note-editor/editor.tsx
index e10ca7b..2ab1335 100644
--- a/app/components/workflow/note-node/note-editor/editor.tsx
+++ b/app/components/workflow/note-node/note-editor/editor.tsx
@@ -44,7 +44,8 @@
               onFocus={() => setShortcutsEnabled(false)}
               onBlur={() => setShortcutsEnabled(true)}
               spellCheck={false}
-              className='h-full w-full text-text-secondary caret-primary-600 outline-none'
+              className='w-full h-full outline-none text-text-secondary caret-primary-600'
+              placeholder={placeholder}
             />
           </div>
         }
diff --git a/app/components/workflow/note-node/note-editor/plugins/link-editor-plugin/component.tsx b/app/components/workflow/note-node/note-editor/plugins/link-editor-plugin/component.tsx
index 2dcd295..1bc8885 100644
--- a/app/components/workflow/note-node/note-editor/plugins/link-editor-plugin/component.tsx
+++ b/app/components/workflow/note-node/note-editor/plugins/link-editor-plugin/component.tsx
@@ -69,9 +69,9 @@
           <FloatingPortal root={containerElement}>
             <div
               className={cn(
-                'nodrag nopan z-10 inline-flex w-max items-center rounded-md border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg',
+                'nodrag nopan inline-flex items-center w-max rounded-md border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg z-10',
                 !linkOperatorShow && 'p-1 shadow-md',
-                linkOperatorShow && 'system-xs-medium p-0.5 text-text-tertiary shadow-sm',
+                linkOperatorShow && 'p-0.5 shadow-sm system-xs-medium text-text-tertiary',
               )}
               style={floatingStyles}
               ref={refs.setFloating}
@@ -80,7 +80,7 @@
                 !linkOperatorShow && (
                   <>
                     <input
-                      className='mr-0.5 h-6 w-[196px] appearance-none rounded-sm bg-transparent p-1 text-[13px] text-components-input-text-filled outline-none'
+                      className='mr-0.5 p-1 w-[196px] h-6 rounded-sm text-[13px] appearance-none outline-none bg-transparent text-components-input-text-filled'
                       value={url}
                       onChange={e => setUrl(e.target.value)}
                       placeholder={t('workflow.nodes.note.editor.enterUrl') || ''}
@@ -101,38 +101,38 @@
                 linkOperatorShow && (
                   <>
                     <a
-                      className='flex h-6 items-center rounded-md px-2 hover:bg-state-base-hover'
+                      className='flex items-center px-2 h-6 rounded-md hover:bg-state-base-hover'
                       href={escape(url)}
                       target='_blank'
                       rel='noreferrer'
                     >
-                      <RiExternalLinkLine className='mr-1 h-3 w-3' />
+                      <RiExternalLinkLine className='mr-1 w-3 h-3' />
                       <div className='mr-1'>
                         {t('workflow.nodes.note.editor.openLink')}
                       </div>
                       <div
                         title={escape(url)}
-                        className='max-w-[140px] truncate text-text-accent'
+                        className='text-text-accent max-w-[140px] truncate'
                       >
                         {escape(url)}
                       </div>
                     </a>
-                    <div className='mx-1 h-3.5 w-[1px] bg-divider-regular'></div>
+                    <div className='mx-1 w-[1px] h-3.5 bg-divider-regular'></div>
                     <div
-                      className='mr-0.5 flex h-6 cursor-pointer items-center rounded-md px-2 hover:bg-state-base-hover'
+                      className='flex items-center mr-0.5 px-2 h-6 rounded-md cursor-pointer hover:bg-state-base-hover'
                       onClick={(e) => {
                         e.stopPropagation()
                         setLinkOperatorShow(false)
                       }}
                     >
-                      <RiEditLine className='mr-1 h-3 w-3' />
+                      <RiEditLine className='mr-1 w-3 h-3' />
                       {t('common.operation.edit')}
                     </div>
                     <div
-                      className='flex h-6 cursor-pointer items-center rounded-md px-2 hover:bg-state-base-hover'
+                      className='flex items-center px-2 h-6 rounded-md cursor-pointer hover:bg-state-base-hover'
                       onClick={handleUnlink}
                     >
-                      <RiLinkUnlinkM className='mr-1 h-3 w-3' />
+                      <RiLinkUnlinkM className='mr-1 w-3 h-3' />
                       {t('workflow.nodes.note.editor.unlink')}
                     </div>
                   </>
diff --git a/app/components/workflow/note-node/note-editor/theme/theme.css b/app/components/workflow/note-node/note-editor/theme/theme.css
index 77b745c..25c0cde 100644
--- a/app/components/workflow/note-node/note-editor/theme/theme.css
+++ b/app/components/workflow/note-node/note-editor/theme/theme.css
@@ -29,4 +29,4 @@
 
 .note-editor-theme_text-italic {
   font-style: italic;
-}
+}
\ No newline at end of file
diff --git a/app/components/workflow/note-node/note-editor/toolbar/color-picker.tsx b/app/components/workflow/note-node/note-editor/toolbar/color-picker.tsx
index 00f242f..8da85ae 100644
--- a/app/components/workflow/note-node/note-editor/toolbar/color-picker.tsx
+++ b/app/components/workflow/note-node/note-editor/toolbar/color-picker.tsx
@@ -63,24 +63,24 @@
     >
       <PortalToFollowElemTrigger onClick={() => setOpen(!open)}>
         <div className={cn(
-          'flex h-8 w-8 cursor-pointer items-center justify-center rounded-md hover:bg-black/5',
+          'flex items-center justify-center w-8 h-8 rounded-md cursor-pointer hover:bg-black/5',
           open && 'bg-black/5',
         )}>
           <div
             className={cn(
-              'h-4 w-4 rounded-full border border-black/5',
+              'w-4 h-4 rounded-full border border-black/5',
               THEME_MAP[theme].title,
             )}
           ></div>
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent>
-        <div className='grid grid-cols-3 grid-rows-2 gap-0.5 rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-lg'>
+        <div className='grid grid-cols-3 grid-rows-2 gap-0.5 p-0.5 rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg shadow-lg'>
           {
             COLOR_LIST.map(color => (
               <div
                 key={color.key}
-                className='group relative flex h-8 w-8 cursor-pointer items-center justify-center rounded-md'
+                className='group relative flex items-center justify-center w-8 h-8 rounded-md cursor-pointer'
                 onClick={(e) => {
                   e.stopPropagation()
                   onThemeChange(color.key)
@@ -89,13 +89,13 @@
               >
                 <div
                   className={cn(
-                    'absolute left-1/2 top-1/2 hidden h-5 w-5 -translate-x-1/2 -translate-y-1/2 rounded-full border-[1.5px] group-hover:block',
+                    'hidden group-hover:block absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-5 h-5 rounded-full border-[1.5px]',
                     color.outer,
                   )}
                 ></div>
                 <div
                   className={cn(
-                    'absolute left-1/2 top-1/2 h-4 w-4 -translate-x-1/2 -translate-y-1/2 rounded-full border border-black/5',
+                    'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-4 h-4 rounded-full border border-black/5',
                     color.inner,
                   )}
                 ></div>
diff --git a/app/components/workflow/note-node/note-editor/toolbar/command.tsx b/app/components/workflow/note-node/note-editor/toolbar/command.tsx
index b07989e..43953cf 100644
--- a/app/components/workflow/note-node/note-editor/toolbar/command.tsx
+++ b/app/components/workflow/note-node/note-editor/toolbar/command.tsx
@@ -32,15 +32,15 @@
   const icon = useMemo(() => {
     switch (type) {
       case 'bold':
-        return <RiBold className={cn('h-4 w-4', selectedIsBold && 'text-primary-600')} />
+        return <RiBold className={cn('w-4 h-4', selectedIsBold && 'text-primary-600')} />
       case 'italic':
-        return <RiItalic className={cn('h-4 w-4', selectedIsItalic && 'text-primary-600')} />
+        return <RiItalic className={cn('w-4 h-4', selectedIsItalic && 'text-primary-600')} />
       case 'strikethrough':
-        return <RiStrikethrough className={cn('h-4 w-4', selectedIsStrikeThrough && 'text-primary-600')} />
+        return <RiStrikethrough className={cn('w-4 h-4', selectedIsStrikeThrough && 'text-primary-600')} />
       case 'link':
-        return <RiLink className={cn('h-4 w-4', selectedIsLink && 'text-primary-600')} />
+        return <RiLink className={cn('w-4 h-4', selectedIsLink && 'text-primary-600')} />
       case 'bullet':
-        return <RiListUnordered className={cn('h-4 w-4', selectedIsBullet && 'text-primary-600')} />
+        return <RiListUnordered className={cn('w-4 h-4', selectedIsBullet && 'text-primary-600')} />
     }
   }, [type, selectedIsBold, selectedIsItalic, selectedIsStrikeThrough, selectedIsLink, selectedIsBullet])
 
@@ -65,7 +65,7 @@
     >
       <div
         className={cn(
-          'flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-text-tertiary hover:bg-state-accent-active hover:text-text-accent',
+          'flex items-center justify-center w-8 h-8 cursor-pointer rounded-md text-text-tertiary hover:text-text-accent hover:bg-state-accent-active',
           type === 'bold' && selectedIsBold && 'bg-state-accent-active',
           type === 'italic' && selectedIsItalic && 'bg-state-accent-active',
           type === 'strikethrough' && selectedIsStrikeThrough && 'bg-state-accent-active',
diff --git a/app/components/workflow/note-node/note-editor/toolbar/divider.tsx b/app/components/workflow/note-node/note-editor/toolbar/divider.tsx
index a6554b3..740aa63 100644
--- a/app/components/workflow/note-node/note-editor/toolbar/divider.tsx
+++ b/app/components/workflow/note-node/note-editor/toolbar/divider.tsx
@@ -1,6 +1,6 @@
 const Divider = () => {
   return (
-    <div className='mx-1 h-3.5 w-[1px] bg-divider-regular'></div>
+    <div className='mx-1 w-[1px] h-3.5 bg-divider-regular'></div>
   )
 }
 
diff --git a/app/components/workflow/note-node/note-editor/toolbar/font-size-selector.tsx b/app/components/workflow/note-node/note-editor/toolbar/font-size-selector.tsx
index 7b530c1..6ceccde 100644
--- a/app/components/workflow/note-node/note-editor/toolbar/font-size-selector.tsx
+++ b/app/components/workflow/note-node/note-editor/toolbar/font-size-selector.tsx
@@ -42,20 +42,20 @@
     >
       <PortalToFollowElemTrigger onClick={() => handleOpenFontSizeSelector(!fontSizeSelectorShow)}>
         <div className={cn(
-          'flex h-8 cursor-pointer items-center rounded-md pl-2 pr-1.5 text-[13px] font-medium text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary',
+          'flex items-center pl-2 pr-1.5 h-8 rounded-md text-[13px] font-medium text-text-tertiary hover:text-text-secondary cursor-pointer hover:bg-state-base-hover',
           fontSizeSelectorShow && 'bg-state-base-hover text-text-secondary',
         )}>
-          <RiFontSize className='mr-1 h-4 w-4' />
+          <RiFontSize className='mr-1 w-4 h-4' />
           {FONT_SIZE_LIST.find(font => font.key === fontSize)?.value || t('workflow.nodes.note.editor.small')}
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent>
-        <div className='w-[120px] rounded-md border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 text-text-secondary shadow-xl'>
+        <div className='p-1 w-[120px] bg-components-panel-bg-blur border-[0.5px] border-components-panel-border rounded-md shadow-xl text-text-secondary'>
           {
             FONT_SIZE_LIST.map(font => (
               <div
                 key={font.key}
-                className='flex h-8 cursor-pointer items-center justify-between rounded-md pl-3 pr-2 hover:bg-state-base-hover'
+                className='flex items-center justify-between pl-3 pr-2 h-8 rounded-md cursor-pointer hover:bg-state-base-hover'
                 onClick={(e) => {
                   e.stopPropagation()
                   handleFontSize(font.key)
@@ -69,7 +69,7 @@
                 </div>
                 {
                   fontSize === font.key && (
-                    <Check className='h-4 w-4 text-text-accent' />
+                    <Check className='w-4 h-4 text-text-accent' />
                   )
                 }
               </div>
diff --git a/app/components/workflow/note-node/note-editor/toolbar/index.tsx b/app/components/workflow/note-node/note-editor/toolbar/index.tsx
index fd2613d..d9e327a 100644
--- a/app/components/workflow/note-node/note-editor/toolbar/index.tsx
+++ b/app/components/workflow/note-node/note-editor/toolbar/index.tsx
@@ -18,7 +18,7 @@
   onShowAuthorChange,
 }: ToolbarProps) => {
   return (
-    <div className='inline-flex items-center rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 shadow-sm'>
+    <div className='inline-flex items-center p-0.5 bg-components-actionbar-bg rounded-lg border-[0.5px] border-components-actionbar-border shadow-sm'>
       <ColorPicker
         theme={theme}
         onThemeChange={onThemeChange}
diff --git a/app/components/workflow/note-node/note-editor/toolbar/operator.tsx b/app/components/workflow/note-node/note-editor/toolbar/operator.tsx
index d936517..4439b00 100644
--- a/app/components/workflow/note-node/note-editor/toolbar/operator.tsx
+++ b/app/components/workflow/note-node/note-editor/toolbar/operator.tsx
@@ -40,18 +40,18 @@
       <PortalToFollowElemTrigger onClick={() => setOpen(!open)}>
         <div
           className={cn(
-            'flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary',
+            'flex items-center justify-center w-8 h-8 cursor-pointer rounded-lg text-text-tertiary hover:text-text-secondary hover:bg-state-base-hover',
             open && 'bg-state-base-hover text-text-secondary',
           )}
         >
-          <RiMoreFill className='h-4 w-4' />
+          <RiMoreFill className='w-4 h-4' />
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent>
-        <div className='min-w-[192px] rounded-md border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-xl'>
+        <div className='min-w-[192px] bg-components-panel-bg-blur rounded-md border-[0.5px] border-components-panel-border shadow-xl'>
           <div className='p-1'>
             <div
-              className='flex h-8 cursor-pointer items-center justify-between rounded-md px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+              className='flex items-center justify-between px-3 h-8 cursor-pointer rounded-md text-sm text-text-secondary hover:bg-state-base-hover'
               onClick={() => {
                 onCopy()
                 setOpen(false)
@@ -61,7 +61,7 @@
               <ShortcutsName keys={['ctrl', 'c']} />
             </div>
             <div
-              className='flex h-8 cursor-pointer items-center justify-between rounded-md px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+              className='flex items-center justify-between px-3 h-8 cursor-pointer rounded-md text-sm text-text-secondary hover:bg-state-base-hover'
               onClick={() => {
                 onDuplicate()
                 setOpen(false)
@@ -74,7 +74,7 @@
           <div className='h-[1px] bg-divider-subtle'></div>
           <div className='p-1'>
             <div
-              className='flex h-8 cursor-pointer items-center justify-between rounded-md px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+              className='flex items-center justify-between px-3 h-8 cursor-pointer rounded-md text-sm text-text-secondary hover:bg-state-base-hover'
               onClick={e => e.stopPropagation()}
             >
               <div>{t('workflow.nodes.note.editor.showAuthor')}</div>
@@ -88,7 +88,7 @@
           <div className='h-[1px] bg-divider-subtle'></div>
           <div className='p-1'>
             <div
-              className='flex h-8 cursor-pointer items-center justify-between rounded-md px-3 text-sm text-text-secondary hover:bg-state-destructive-hover hover:text-text-destructive'
+              className='flex items-center justify-between px-3 h-8 cursor-pointer rounded-md text-sm text-text-secondary hover:text-text-destructive hover:bg-state-destructive-hover'
               onClick={() => {
                 onDelete()
                 setOpen(false)
diff --git a/app/components/workflow/note-node/note-editor/utils.ts b/app/components/workflow/note-node/note-editor/utils.ts
index c241e93..b9ce2d3 100644
--- a/app/components/workflow/note-node/note-editor/utils.ts
+++ b/app/components/workflow/note-node/note-editor/utils.ts
@@ -18,5 +18,4 @@
     return $isAtNodeEnd(anchor) ? anchorNode : focusNode
 }
 
-// eslint-disable-next-line sonarjs/empty-string-repetition
 export const urlRegExp = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/
diff --git a/app/components/workflow/operator/add-block.tsx b/app/components/workflow/operator/add-block.tsx
index d35a5be..32f0007 100644
--- a/app/components/workflow/operator/add-block.tsx
+++ b/app/components/workflow/operator/add-block.tsx
@@ -9,7 +9,6 @@
 import type { OffsetOptions } from '@floating-ui/react'
 import {
   generateNewNode,
-  getNodeCustomTypeByNodeDataType,
 } from '../utils'
 import {
   useAvailableBlocks,
@@ -57,7 +56,6 @@
     const nodes = getNodes()
     const nodesWithSameType = nodes.filter(node => node.data.type === type)
     const { newNode } = generateNewNode({
-      type: getNodeCustomTypeByNodeDataType(type),
       data: {
         ...NODES_INITIAL_DATA[type],
         title: nodesWithSameType.length > 0 ? `${t(`workflow.blocks.${type}`)} ${nodesWithSameType.length + 1}` : t(`workflow.blocks.${type}`),
@@ -80,11 +78,11 @@
         title={t('workflow.common.addBlock')}
       >
         <div className={cn(
-          'flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary',
+          'flex items-center justify-center w-8 h-8 rounded-lg text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary cursor-pointer',
           `${nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled'}`,
           open && 'bg-state-accent-active text-text-accent',
         )}>
-          <RiAddCircleFill className='h-4 w-4' />
+          <RiAddCircleFill className='w-4 h-4' />
         </div>
       </TipPopup>
     )
diff --git a/app/components/workflow/operator/control.tsx b/app/components/workflow/operator/control.tsx
index 5f7d19a..cd18def 100644
--- a/app/components/workflow/operator/control.tsx
+++ b/app/components/workflow/operator/control.tsx
@@ -21,7 +21,6 @@
 import Divider from '../../base/divider'
 import AddBlock from './add-block'
 import TipPopup from './tip-popup'
-import ExportImage from './export-image'
 import { useOperator } from './hooks'
 import cn from '@/utils/classnames'
 
@@ -45,55 +44,54 @@
   }
 
   return (
-    <div className='flex items-center rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg p-0.5 text-text-tertiary shadow-lg'>
+    <div className='flex items-center p-0.5 rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg shadow-lg text-text-tertiary'>
       <AddBlock />
       <TipPopup title={t('workflow.nodes.note.addNote')}>
         <div
           className={cn(
-            'ml-[1px] flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg hover:bg-state-base-hover hover:text-text-secondary',
+            'flex items-center justify-center ml-[1px] w-8 h-8 rounded-lg hover:bg-state-base-hover hover:text-text-secondary cursor-pointer',
             `${nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled'}`,
           )}
           onClick={addNote}
         >
-          <RiStickyNoteAddLine className='h-4 w-4' />
+          <RiStickyNoteAddLine className='w-4 h-4' />
         </div>
       </TipPopup>
-      <Divider type='vertical' className='mx-0.5 h-3.5' />
+      <Divider type='vertical' className='h-3.5 mx-0.5' />
       <TipPopup title={t('workflow.common.pointerMode')} shortcuts={['v']}>
         <div
           className={cn(
-            'mr-[1px] flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg',
+            'flex items-center justify-center mr-[1px] w-8 h-8 rounded-lg cursor-pointer',
             controlMode === ControlMode.Pointer ? 'bg-state-accent-active text-text-accent' : 'hover:bg-state-base-hover hover:text-text-secondary',
             `${nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled'}`,
           )}
           onClick={handleModePointer}
         >
-          <RiCursorLine className='h-4 w-4' />
+          <RiCursorLine className='w-4 h-4' />
         </div>
       </TipPopup>
       <TipPopup title={t('workflow.common.handMode')} shortcuts={['h']}>
         <div
           className={cn(
-            'flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg',
+            'flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer',
             controlMode === ControlMode.Hand ? 'bg-state-accent-active text-text-accent' : 'hover:bg-state-base-hover hover:text-text-secondary',
             `${nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled'}`,
           )}
           onClick={handleModeHand}
         >
-          <RiHand className='h-4 w-4' />
+          <RiHand className='w-4 h-4' />
         </div>
       </TipPopup>
-      <Divider type='vertical' className='mx-0.5 h-3.5' />
-      <ExportImage />
+      <Divider type='vertical' className='h-3.5 mx-0.5' />
       <TipPopup title={t('workflow.panel.organizeBlocks')} shortcuts={['ctrl', 'o']}>
         <div
           className={cn(
-            'flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg hover:bg-state-base-hover hover:text-text-secondary',
+            'flex items-center justify-center w-8 h-8 rounded-lg hover:bg-state-base-hover hover:text-text-secondary cursor-pointer',
             `${nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled'}`,
           )}
           onClick={handleLayout}
         >
-          <RiFunctionAddLine className='h-4 w-4' />
+          <RiFunctionAddLine className='w-4 h-4' />
         </div>
       </TipPopup>
     </div>
diff --git a/app/components/workflow/operator/index.tsx b/app/components/workflow/operator/index.tsx
index 94ea814..1ee5fef 100644
--- a/app/components/workflow/operator/index.tsx
+++ b/app/components/workflow/operator/index.tsx
@@ -13,17 +13,15 @@
   return (
     <>
       <MiniMap
-        pannable
-        zoomable
         style={{
           width: 102,
           height: 72,
         }}
         maskColor='var(--color-workflow-minimap-bg)'
-        className='!absolute !bottom-14 !left-4 z-[9] !m-0 !h-[72px] !w-[102px] !rounded-lg !border-[0.5px]
-        !border-divider-subtle !bg-background-default-subtle !shadow-md !shadow-shadow-shadow-5'
+        className='!absolute !left-4 !bottom-14 z-[9] !m-0 !w-[102px] !h-[72px] !border-[0.5px] !border-divider-subtle
+        !rounded-lg !shadow-md !shadow-shadow-shadow-5 !bg-background-default-subtle'
       />
-      <div className='absolute bottom-4 left-4 z-[9] mt-1 flex items-center gap-2'>
+      <div className='flex items-center mt-1 gap-2 absolute left-4 bottom-4 z-[9]'>
         <ZoomInOut />
         <UndoRedo handleUndo={handleUndo} handleRedo={handleRedo} />
         <Control />
diff --git a/app/components/workflow/operator/tip-popup.tsx b/app/components/workflow/operator/tip-popup.tsx
index 7946e1d..85e9a50 100644
--- a/app/components/workflow/operator/tip-popup.tsx
+++ b/app/components/workflow/operator/tip-popup.tsx
@@ -17,7 +17,7 @@
       offset={4}
       popupClassName='p-0 bg-transparent'
       popupContent={
-        <div className='flex items-center gap-1 rounded-lg border-[0.5px] border-components-panel-border bg-components-tooltip-bg p-1.5 shadow-lg backdrop-blur-[5px]'>
+        <div className='flex items-center gap-1 p-1.5 backdrop-blur-[5px] shadow-lg rounded-lg border-[0.5px] border-components-panel-border bg-components-tooltip-bg'>
           <span className='system-xs-medium text-text-secondary'>{title}</span>
           {
             shortcuts && <ShortcutsName keys={shortcuts} />
diff --git a/app/components/workflow/operator/zoom-in-out.tsx b/app/components/workflow/operator/zoom-in-out.tsx
index 19d8eef..90b5b46 100644
--- a/app/components/workflow/operator/zoom-in-out.tsx
+++ b/app/components/workflow/operator/zoom-in-out.tsx
@@ -131,20 +131,20 @@
     >
       <PortalToFollowElemTrigger asChild>
         <div className={`
-          h-9 cursor-pointer rounded-lg border-[0.5px] border-components-actionbar-border bg-components-actionbar-bg
-          p-0.5 text-[13px] shadow-lg backdrop-blur-[5px]
+          p-0.5 h-9 cursor-pointer text-[13px] backdrop-blur-[5px] rounded-lg
+          bg-components-actionbar-bg shadow-lg border-[0.5px] border-components-actionbar-border 
           hover:bg-state-base-hover
           ${workflowReadOnly && '!cursor-not-allowed opacity-50'}
         `}>
           <div className={cn(
-            'flex h-8 w-[98px] items-center justify-between rounded-lg',
+            'flex items-center justify-between w-[98px] h-8 rounded-lg',
           )}>
             <TipPopup
               title={t('workflow.operator.zoomOut')}
               shortcuts={['ctrl', '-']}
             >
               <div
-                className={`flex h-8 w-8 items-center justify-center rounded-lg ${zoom <= 0.25 ? 'cursor-not-allowed' : 'cursor-pointer hover:bg-black/5'}`}
+                className={`flex items-center justify-center w-8 h-8 rounded-lg ${zoom <= 0.25 ? 'cursor-not-allowed' : 'cursor-pointer hover:bg-black/5'}`}
                 onClick={(e) => {
                   if (zoom <= 0.25)
                     return
@@ -153,16 +153,16 @@
                   zoomOut()
                 }}
               >
-                <RiZoomOutLine className='h-4 w-4 text-text-tertiary hover:text-text-secondary' />
+                <RiZoomOutLine className='w-4 h-4 text-text-tertiary hover:text-text-secondary' />
               </div>
             </TipPopup>
-            <div onClick={handleTrigger} className={cn('system-sm-medium w-[34px] text-text-tertiary hover:text-text-secondary')}>{Number.parseFloat(`${zoom * 100}`).toFixed(0)}%</div>
+            <div onClick={handleTrigger} className={cn('w-[34px] system-sm-medium text-text-tertiary hover:text-text-secondary')}>{parseFloat(`${zoom * 100}`).toFixed(0)}%</div>
             <TipPopup
               title={t('workflow.operator.zoomIn')}
               shortcuts={['ctrl', '+']}
             >
               <div
-                className={`flex h-8 w-8 items-center justify-center rounded-lg ${zoom >= 2 ? 'cursor-not-allowed' : 'cursor-pointer hover:bg-black/5'}`}
+                className={`flex items-center justify-center w-8 h-8 rounded-lg ${zoom >= 2 ? 'cursor-not-allowed' : 'cursor-pointer hover:bg-black/5'}`}
                 onClick={(e) => {
                   if (zoom >= 2)
                     return
@@ -171,14 +171,14 @@
                   zoomIn()
                 }}
               >
-                <RiZoomInLine className='h-4 w-4 text-text-tertiary hover:text-text-secondary' />
+                <RiZoomInLine className='w-4 h-4 text-text-tertiary hover:text-text-secondary' />
               </div>
             </TipPopup>
           </div>
         </div>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-10'>
-        <div className='w-[145px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg backdrop-blur-[5px]'>
+        <div className='w-[145px] backdrop-blur-[5px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'>
           {
             ZOOM_IN_OUT_OPTIONS.map((options, i) => (
               <Fragment key={i}>
@@ -192,7 +192,7 @@
                     options.map(option => (
                       <div
                         key={option.key}
-                        className='system-md-regular flex h-8 cursor-pointer items-center justify-between space-x-1 rounded-lg py-1.5 pl-3 pr-2 text-text-secondary hover:bg-state-base-hover'
+                        className='flex items-center justify-between space-x-1 py-1.5 pl-3 pr-2 h-8 rounded-lg hover:bg-state-base-hover cursor-pointer system-md-regular text-text-secondary'
                         onClick={() => handleZoom(option.key)}
                       >
                         <span>{option.text}</span>
diff --git a/app/components/workflow/panel-contextmenu.tsx b/app/components/workflow/panel-contextmenu.tsx
index 0a09452..8ed0e10 100644
--- a/app/components/workflow/panel-contextmenu.tsx
+++ b/app/components/workflow/panel-contextmenu.tsx
@@ -42,7 +42,7 @@
   const renderTrigger = () => {
     return (
       <div
-        className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+        className='flex items-center justify-between px-3 h-8 text-sm text-text-secondary rounded-lg cursor-pointer hover:bg-state-base-hover'
       >
         {t('workflow.common.addBlock')}
       </div>
@@ -54,7 +54,7 @@
 
   return (
     <div
-      className='absolute z-[9] w-[200px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg'
+      className='absolute w-[200px] rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-lg z-[9]'
       style={{
         left: panelMenu.left,
         top: panelMenu.top,
@@ -70,7 +70,7 @@
           }}
         />
         <div
-          className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+          className='flex items-center justify-between px-3 h-8 text-sm text-text-secondary rounded-lg cursor-pointer hover:bg-state-base-hover'
           onClick={(e) => {
             e.stopPropagation()
             handleAddNote()
@@ -80,7 +80,7 @@
           {t('workflow.nodes.note.addNote')}
         </div>
         <div
-          className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+          className='flex items-center justify-between px-3 h-8 text-sm text-text-secondary rounded-lg cursor-pointer hover:bg-state-base-hover'
           onClick={() => {
             handleStartWorkflowRun()
             handlePaneContextmenuCancel()
@@ -94,8 +94,8 @@
       <div className='p-1'>
         <div
           className={cn(
-            'flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary',
-            !clipboardElements.length ? 'cursor-not-allowed opacity-50' : 'hover:bg-state-base-hover',
+            'flex items-center justify-between px-3 h-8 text-sm text-text-secondary rounded-lg cursor-pointer',
+            !clipboardElements.length ? 'opacity-50 cursor-not-allowed' : 'hover:bg-state-base-hover',
           )}
           onClick={() => {
             if (clipboardElements.length) {
@@ -111,13 +111,13 @@
       <Divider className='m-0' />
       <div className='p-1'>
         <div
-          className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+          className='flex items-center justify-between px-3 h-8 text-sm text-text-secondary rounded-lg cursor-pointer hover:bg-state-base-hover'
           onClick={() => exportCheck()}
         >
           {t('app.export')}
         </div>
         <div
-          className='flex h-8 cursor-pointer items-center justify-between rounded-lg px-3 text-sm text-text-secondary hover:bg-state-base-hover'
+          className='flex items-center justify-between px-3 h-8 text-sm text-text-secondary rounded-lg cursor-pointer hover:bg-state-base-hover'
           onClick={() => setShowImportDSLModal(true)}
         >
           {t('workflow.common.importDSL')}
diff --git a/app/components/workflow/panel/chat-record/index.tsx b/app/components/workflow/panel/chat-record/index.tsx
index bf8a061..2c76e89 100644
--- a/app/components/workflow/panel/chat-record/index.tsx
+++ b/app/components/workflow/panel/chat-record/index.tsx
@@ -68,7 +68,7 @@
         setChatItemTree(tree)
         setThreadChatItems(getThreadMessages(tree, newAllChatItems.at(-1)?.id))
       }
-      catch {
+      catch (e) {
       }
       finally {
         setFetched(true)
@@ -86,31 +86,33 @@
 
   return (
     <div
-      className='flex h-full w-[420px] flex-col rounded-l-2xl border border-components-panel-border bg-chatbot-bg shadow-xl'
-      // style={{
-      //   background: 'linear-gradient(156deg, rgba(242, 244, 247, 0.80) 0%, rgba(242, 244, 247, 0.00) 99.43%), var(--white, #FFF)',
-      // }}
+      className={`
+        flex flex-col w-[420px] rounded-l-2xl h-full border border-black/2 shadow-xl
+      `}
+      style={{
+        background: 'linear-gradient(156deg, rgba(242, 244, 247, 0.80) 0%, rgba(242, 244, 247, 0.00) 99.43%), var(--white, #FFF)',
+      }}
     >
       {!fetched && (
-        <div className='flex h-full items-center justify-center'>
+        <div className='flex items-center justify-center h-full'>
           <Loading />
         </div>
       )}
       {fetched && (
         <>
-          <div className='flex shrink-0 items-center justify-between p-4 pb-1 text-base font-semibold text-text-primary'>
+          <div className='shrink-0 flex items-center justify-between p-4 pb-1 text-base font-semibold text-gray-900'>
             {`TEST CHAT#${historyWorkflowData?.sequence_number}`}
             <div
-              className='flex h-6 w-6 cursor-pointer items-center justify-center'
+              className='flex justify-center items-center w-6 h-6 cursor-pointer'
               onClick={() => {
                 handleLoadBackupDraft()
                 workflowStore.setState({ historyWorkflowData: undefined })
               }}
             >
-              <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+              <RiCloseLine className='w-4 h-4 text-gray-500' />
             </div>
           </div>
-          <div className='h-0 grow'>
+          <div className='grow h-0'>
             <Chat
               config={{
                 supportCitationHitInfo: true,
diff --git a/app/components/workflow/panel/chat-record/user-input.tsx b/app/components/workflow/panel/chat-record/user-input.tsx
index 7b90435..077f2ac 100644
--- a/app/components/workflow/panel/chat-record/user-input.tsx
+++ b/app/components/workflow/panel/chat-record/user-input.tsx
@@ -17,25 +17,25 @@
     <div
       className={`
         rounded-xl border
-        ${!expanded ? 'border-components-panel-border-subtle bg-components-panel-on-panel-item-bg shadow-none' : 'border-transparent bg-white shadow-xs'}
+        ${!expanded ? 'bg-indigo-25 border-indigo-100 shadow-none' : 'bg-white shadow-xs border-transparent'}
       `}
     >
       <div
         className={`
-          flex h-[18px] cursor-pointer items-center px-2 pt-4 text-[13px] font-semibold
-          ${!expanded ? 'text-text-accent-secondary' : 'text-text-secondary'}
+          flex items-center px-2 pt-4 h-[18px] text-[13px] font-semibold cursor-pointer
+          ${!expanded ? 'text-indigo-800' : 'text-gray-800'}
         `}
         onClick={() => setExpanded(!expanded)}
       >
         <RiArrowDownSLine
-          className={`mr-1 h-3 w-3 ${!expanded ? '-rotate-90 text-text-accent' : 'text-text-tertiary'}`}
+          className={`mr-1 w-3 h-3 ${!expanded ? '-rotate-90 text-indigo-600' : 'text-gray-300'}`}
         />
         {t('workflow.panel.userInputField').toLocaleUpperCase()}
       </div>
-      <div className='px-2 pb-3 pt-1'>
+      <div className='px-2 pt-1 pb-3'>
         {
           expanded && (
-            <div className='py-2 text-[13px] text-text-primary'>
+            <div className='py-2 text-[13px] text-gray-900'>
               {
                 variables.map((variable: any) => (
                   <div
diff --git a/app/components/workflow/panel/chat-variable-panel/components/array-value-list.tsx b/app/components/workflow/panel/chat-variable-panel/components/array-value-list.tsx
index 302b8ff..8206f02 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/array-value-list.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/array-value-list.tsx
@@ -57,13 +57,13 @@
             type={isString ? 'text' : 'number'}
           />
           <RemoveButton
-            className='!bg-gray-100 !p-2 hover:!bg-gray-200'
+            className='!p-2 !bg-gray-100 hover:!bg-gray-200'
             onClick={handleItemRemove(index)}
           />
         </div>
       ))}
       <Button variant='tertiary' className='w-full' onClick={handleItemAdd}>
-        <RiAddLine className='mr-1 h-4 w-4' />
+        <RiAddLine className='mr-1 w-4 h-4' />
         <span>{t('workflow.chatVariable.modal.addArrayValue')}</span>
       </Button>
     </div>
diff --git a/app/components/workflow/panel/chat-variable-panel/components/object-value-item.tsx b/app/components/workflow/panel/chat-variable-panel/components/object-value-item.tsx
index 2649cfb..6bbdeae 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/object-value-item.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/object-value-item.tsx
@@ -38,7 +38,7 @@
   const handleKeyChange = useCallback((index: number) => {
     return (e: React.ChangeEvent<HTMLInputElement>) => {
       const newList = produce(list, (draft: any[]) => {
-        if (!/^\w+$/.test(e.target.value))
+        if (!/^[a-zA-Z0-9_]+$/.test(e.target.value))
           return notify({ type: 'error', message: 'key is can only contain letters, numbers and underscores' })
         draft[index].key = e.target.value
       })
@@ -95,7 +95,7 @@
       {/* Key */}
       <div className='w-[120px] border-r border-gray-200'>
         <input
-          className='system-xs-regular placeholder:system-xs-regular block h-7 w-full appearance-none px-2 text-text-secondary caret-primary-600 outline-none placeholder:text-components-input-text-placeholder  hover:bg-state-base-hover focus:bg-components-input-bg-active'
+          className='block px-2 w-full h-7 text-text-secondary system-xs-regular appearance-none outline-none caret-primary-600 hover:bg-state-base-hover focus:bg-components-input-bg-active  placeholder:system-xs-regular placeholder:text-components-input-text-placeholder'
           placeholder={t('workflow.chatVariable.modal.objectKey') || ''}
           value={list[index].key}
           onChange={handleKeyChange(index)}
@@ -114,7 +114,7 @@
       {/* Value */}
       <div className='relative w-[230px]'>
         <input
-          className='system-xs-regular placeholder:system-xs-regular block h-7 w-full appearance-none px-2 text-text-secondary caret-primary-600 outline-none placeholder:text-components-input-text-placeholder  hover:bg-state-base-hover focus:bg-components-input-bg-active'
+          className='block px-2 w-full h-7 text-text-secondary system-xs-regular appearance-none outline-none caret-primary-600 hover:bg-state-base-hover focus:bg-components-input-bg-active  placeholder:system-xs-regular placeholder:text-components-input-text-placeholder'
           placeholder={t('workflow.chatVariable.modal.objectValue') || ''}
           value={list[index].value}
           onChange={handleValueChange(index)}
@@ -124,7 +124,7 @@
         />
         {list.length > 1 && !isFocus && (
           <RemoveButton
-            className='absolute right-1 top-0.5 z-10 hidden group-hover:block'
+            className='z-10 group-hover:block hidden absolute right-1 top-0.5'
             onClick={handleItemRemove(index)}
           />
         )}
diff --git a/app/components/workflow/panel/chat-variable-panel/components/object-value-list.tsx b/app/components/workflow/panel/chat-variable-panel/components/object-value-list.tsx
index 830cf94..ec287ac 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/object-value-list.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/object-value-list.tsx
@@ -16,11 +16,11 @@
   const { t } = useTranslation()
 
   return (
-    <div className='w-full overflow-hidden rounded-lg border border-gray-200'>
-      <div className='system-xs-medium flex h-7 items-center uppercase text-text-tertiary'>
-        <div className='flex h-full w-[120px] items-center border-r border-gray-200 pl-2'>{t('workflow.chatVariable.modal.objectKey')}</div>
-        <div className='flex h-full w-[96px] items-center border-r border-gray-200 pl-2'>{t('workflow.chatVariable.modal.objectType')}</div>
-        <div className='flex h-full w-[230px] items-center pl-2 pr-1'>{t('workflow.chatVariable.modal.objectValue')}</div>
+    <div className='w-full border border-gray-200 rounded-lg overflow-hidden'>
+      <div className='flex items-center h-7 system-xs-medium text-text-tertiary uppercase'>
+        <div className='w-[120px] flex items-center h-full pl-2 border-r border-gray-200'>{t('workflow.chatVariable.modal.objectKey')}</div>
+        <div className='w-[96px] flex items-center h-full pl-2 border-r border-gray-200'>{t('workflow.chatVariable.modal.objectType')}</div>
+        <div className='w-[230px] flex items-center h-full pl-2 pr-1'>{t('workflow.chatVariable.modal.objectValue')}</div>
       </div>
       {list.map((item, index) => (
         <ObjectValueItem
diff --git a/app/components/workflow/panel/chat-variable-panel/components/variable-item.tsx b/app/components/workflow/panel/chat-variable-panel/components/variable-item.tsx
index 3e46b7a..a1a7c9d 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/variable-item.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/variable-item.tsx
@@ -19,29 +19,29 @@
   const [destructive, setDestructive] = useState(false)
   return (
     <div className={cn(
-      'radius-md mb-1 border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg px-2.5 py-2 shadow-xs hover:bg-components-panel-on-panel-item-bg-hover',
+      'mb-1 px-2.5 py-2 bg-components-panel-on-panel-item-bg radius-md border border-components-panel-border-subtle shadow-xs hover:bg-components-panel-on-panel-item-bg-hover',
       destructive && 'border-state-destructive-border hover:bg-state-destructive-hover',
     )}>
       <div className='flex items-center justify-between'>
-        <div className='flex grow items-center gap-1'>
-          <BubbleX className='h-4 w-4 text-util-colors-teal-teal-700' />
-          <div className='system-sm-medium text-text-primary'>{item.name}</div>
-          <div className='system-xs-medium text-text-tertiary'>{capitalize(item.value_type)}</div>
+        <div className='grow flex gap-1 items-center'>
+          <BubbleX className='w-4 h-4 text-util-colors-teal-teal-700' />
+          <div className='text-text-primary system-sm-medium'>{item.name}</div>
+          <div className='text-text-tertiary system-xs-medium'>{capitalize(item.value_type)}</div>
         </div>
-        <div className='flex shrink-0 items-center gap-1 text-text-tertiary'>
-          <div className='radius-md cursor-pointer p-1 hover:bg-state-base-hover hover:text-text-secondary'>
-            <RiEditLine className='h-4 w-4' onClick={() => onEdit(item)}/>
+        <div className='shrink-0 flex gap-1 items-center text-text-tertiary'>
+          <div className='p-1 radius-md cursor-pointer hover:bg-state-base-hover hover:text-text-secondary'>
+            <RiEditLine className='w-4 h-4' onClick={() => onEdit(item)}/>
           </div>
           <div
-            className='radius-md cursor-pointer p-1 hover:bg-state-destructive-hover hover:text-text-destructive'
+            className='p-1 radius-md cursor-pointer hover:bg-state-destructive-hover hover:text-text-destructive'
             onMouseOver={() => setDestructive(true)}
             onMouseOut={() => setDestructive(false)}
           >
-            <RiDeleteBinLine className='h-4 w-4' onClick={() => onDelete(item)}/>
+            <RiDeleteBinLine className='w-4 h-4' onClick={() => onDelete(item)}/>
           </div>
         </div>
       </div>
-      <div className='system-xs-regular truncate text-text-tertiary'>{item.description}</div>
+      <div className='text-text-tertiary system-xs-regular truncate'>{item.description}</div>
     </div>
   )
 }
diff --git a/app/components/workflow/panel/chat-variable-panel/components/variable-modal-trigger.tsx b/app/components/workflow/panel/chat-variable-panel/components/variable-modal-trigger.tsx
index 07eb79a..35d5254 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/variable-modal-trigger.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/variable-modal-trigger.tsx
@@ -48,7 +48,7 @@
         open && onClose()
       }}>
         <Button variant='primary'>
-          <RiAddLine className='mr-1 h-4 w-4' />
+          <RiAddLine className='mr-1 w-4 h-4' />
           <span className='system-sm-medium'>{t('workflow.chatVariable.button')}</span>
         </Button>
       </PortalToFollowElemTrigger>
diff --git a/app/components/workflow/panel/chat-variable-panel/components/variable-modal.tsx b/app/components/workflow/panel/chat-variable-panel/components/variable-modal.tsx
index d8da0e6..baa42ee 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/variable-modal.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/variable-modal.tsx
@@ -123,7 +123,7 @@
       case ChatVarType.Number:
         return value || 0
       case ChatVarType.Object:
-        return editInJSON ? value : formatValueFromObject(objectValue)
+        return formatValueFromObject(objectValue)
       case ChatVarType.ArrayString:
       case ChatVarType.ArrayNumber:
       case ChatVarType.ArrayObject:
@@ -178,7 +178,7 @@
             })
             setObjectValue(newObjectValue)
           }
-          catch {
+          catch (e) {
             // ignore JSON.parse errors
           }
         }
@@ -209,7 +209,7 @@
         const newValue = JSON.parse(content)
         setValue(newValue)
       }
-      catch {
+      catch (e) {
         // ignore JSON.parse errors
       }
     }
@@ -254,23 +254,23 @@
 
   return (
     <div
-      className={cn('flex h-full w-[360px] flex-col rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-2xl', type === ChatVarType.Object && 'w-[480px]')}
+      className={cn('flex flex-col w-[360px] bg-components-panel-bg rounded-2xl h-full border-[0.5px] border-components-panel-border shadow-2xl', type === ChatVarType.Object && 'w-[480px]')}
     >
-      <div className='system-xl-semibold mb-3 flex shrink-0 items-center justify-between p-4 pb-0 text-text-primary'>
+      <div className='shrink-0 flex items-center justify-between mb-3 p-4 pb-0 text-text-primary system-xl-semibold'>
         {!chatVar ? t('workflow.chatVariable.modal.title') : t('workflow.chatVariable.modal.editTitle')}
         <div className='flex items-center'>
           <div
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex items-center justify-center w-6 h-6 cursor-pointer'
             onClick={onClose}
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
-      <div className='max-h-[480px] overflow-y-auto px-4 py-2'>
+      <div className='px-4 py-2 max-h-[480px] overflow-y-auto'>
         {/* name */}
         <div className='mb-4'>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.chatVariable.modal.name')}</div>
+          <div className='mb-1 h-6 flex items-center text-text-secondary system-sm-semibold'>{t('workflow.chatVariable.modal.name')}</div>
           <div className='flex'>
             <Input
               placeholder={t('workflow.chatVariable.modal.namePlaceholder') || ''}
@@ -283,7 +283,7 @@
         </div>
         {/* type */}
         <div className='mb-4'>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.chatVariable.modal.type')}</div>
+          <div className='mb-1 h-6 flex items-center text-text-secondary system-sm-semibold'>{t('workflow.chatVariable.modal.type')}</div>
           <div className='flex'>
             <VariableTypeSelector
               value={type}
@@ -295,7 +295,7 @@
         </div>
         {/* default value */}
         <div className='mb-4'>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center justify-between text-text-secondary'>
+          <div className='mb-1 h-6 flex items-center justify-between text-text-secondary system-sm-semibold'>
             <div>{t('workflow.chatVariable.modal.value')}</div>
             {(type === ChatVarType.ArrayString || type === ChatVarType.ArrayNumber) && (
               <Button
@@ -304,7 +304,7 @@
                 className='text-text-tertiary'
                 onClick={() => handleEditorChange(!editInJSON)}
               >
-                {editInJSON ? <RiInputField className='mr-1 h-3.5 w-3.5' /> : <RiDraftLine className='mr-1 h-3.5 w-3.5' />}
+                {editInJSON ? <RiInputField className='mr-1 w-3.5 h-3.5' /> : <RiDraftLine className='mr-1 w-3.5 h-3.5' />}
                 {editInJSON ? t('workflow.chatVariable.modal.oneByOne') : t('workflow.chatVariable.modal.editInJSON')}
               </Button>
             )}
@@ -315,18 +315,16 @@
                 className='text-text-tertiary'
                 onClick={() => handleEditorChange(!editInJSON)}
               >
-                {editInJSON ? <RiInputField className='mr-1 h-3.5 w-3.5' /> : <RiDraftLine className='mr-1 h-3.5 w-3.5' />}
+                {editInJSON ? <RiInputField className='mr-1 w-3.5 h-3.5' /> : <RiDraftLine className='mr-1 w-3.5 h-3.5' />}
                 {editInJSON ? t('workflow.chatVariable.modal.editInForm') : t('workflow.chatVariable.modal.editInJSON')}
               </Button>
             )}
           </div>
           <div className='flex'>
             {type === ChatVarType.String && (
-              // Input will remove \n\r, so use Textarea just like description area
-              <textarea
-                className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'
-                value={value}
+              <Input
                 placeholder={t('workflow.chatVariable.modal.valuePlaceholder') || ''}
+                value={value}
                 onChange={e => setValue(e.target.value)}
               />
             )}
@@ -359,7 +357,7 @@
               />
             )}
             {editInJSON && (
-              <div className='w-full rounded-[10px] bg-components-input-bg-normal py-2 pl-3 pr-1' style={{ height: editorMinHeight }}>
+              <div className='w-full py-2 pl-3 pr-1 rounded-[10px] bg-components-input-bg-normal' style={{ height: editorMinHeight }}>
                 <CodeEditor
                   isExpand
                   noWrapper
@@ -374,10 +372,10 @@
         </div>
         {/* description */}
         <div className=''>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.chatVariable.modal.description')}</div>
+          <div className='mb-1 h-6 flex items-center text-text-secondary system-sm-semibold'>{t('workflow.chatVariable.modal.description')}</div>
           <div className='flex'>
             <textarea
-              className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'
+              className='block p-2 w-full h-20 rounded-lg bg-components-input-bg-normal border border-transparent system-sm-regular outline-none appearance-none caret-primary-600 resize-none hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:bg-components-input-bg-active focus:border-components-input-border-active focus:shadow-xs placeholder:system-sm-regular placeholder:text-components-input-text-placeholder'
               value={des}
               placeholder={t('workflow.chatVariable.modal.descriptionPlaceholder') || ''}
               onChange={e => setDes(e.target.value)}
@@ -385,7 +383,7 @@
           </div>
         </div>
       </div>
-      <div className='flex flex-row-reverse rounded-b-2xl p-4 pt-2'>
+      <div className='p-4 pt-2 flex flex-row-reverse rounded-b-2xl'>
         <div className='flex gap-2'>
           <Button onClick={onClose}>{t('common.operation.cancel')}</Button>
           <Button variant='primary' onClick={handleSave}>{t('common.operation.save')}</Button>
diff --git a/app/components/workflow/panel/chat-variable-panel/components/variable-type-select.tsx b/app/components/workflow/panel/chat-variable-panel/components/variable-type-select.tsx
index eea0ec2..94a3195 100644
--- a/app/components/workflow/panel/chat-variable-panel/components/variable-type-select.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/components/variable-type-select.tsx
@@ -33,28 +33,28 @@
     >
       <PortalToFollowElemTrigger className='w-full' onClick={() => setOpen(v => !v)}>
         <div className={cn(
-          'flex w-full cursor-pointer items-center px-2',
-          !inCell && 'radius-md bg-components-input-bg-normal py-1 hover:bg-state-base-hover-alt',
+          'flex items-center w-full px-2 cursor-pointer',
+          !inCell && 'py-1 bg-components-input-bg-normal hover:bg-state-base-hover-alt radius-md',
           inCell && 'py-0.5 hover:bg-state-base-hover',
           open && !inCell && 'bg-state-base-hover-alt hover:bg-state-base-hover-alt',
           open && inCell && 'bg-state-base-hover hover:bg-state-base-hover',
         )}>
           <div className={cn(
-            'system-sm-regular grow truncate p-1 text-components-input-text-filled',
+            'grow p-1 system-sm-regular text-components-input-text-filled truncate',
             inCell && 'system-xs-regular text-text-secondary',
           )}>{value}</div>
-          <RiArrowDownSLine className='ml-0.5 h-4 w-4 text-text-quaternary' />
+          <RiArrowDownSLine className='ml-0.5 w-4 h-4 text-text-quaternary' />
         </div>
       </PortalToFollowElemTrigger>
-      <PortalToFollowElemContent className={cn('z-[11] w-full', popupClassName)}>
-        <div className='radius-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-1 shadow-lg'>
+      <PortalToFollowElemContent className={cn('w-full z-[11]', popupClassName)}>
+        <div className='p-1 bg-components-panel-bg-blur border-[0.5px] border-components-panel-border radius-xl shadow-lg'>
           {list.map((item: any) => (
-            <div key={item} className='radius-md flex cursor-pointer items-center gap-2 py-[6px] pl-3 pr-2 hover:bg-state-base-hover' onClick={() => {
+            <div key={item} className='flex items-center gap-2 pl-3 pr-2 py-[6px] radius-md cursor-pointer hover:bg-state-base-hover' onClick={() => {
               onSelect(item)
               setOpen(false)
             }}>
-              <div className='system-md-regular grow truncate text-text-secondary'>{item}</div>
-              {value === item && <RiCheckLine className='h-4 w-4 text-text-accent' />}
+              <div className='grow system-md-regular text-text-secondary truncate'>{item}</div>
+              {value === item && <RiCheckLine className='w-4 h-4 text-text-accent' />}
             </div>
           ))}
         </div>
diff --git a/app/components/workflow/panel/chat-variable-panel/index.tsx b/app/components/workflow/panel/chat-variable-panel/index.tsx
index ad00bdd..2e03f50 100644
--- a/app/components/workflow/panel/chat-variable-panel/index.tsx
+++ b/app/components/workflow/panel/chat-variable-panel/index.tsx
@@ -116,61 +116,61 @@
   return (
     <div
       className={cn(
-        'relative flex h-full w-[420px] flex-col rounded-l-2xl border border-components-panel-border bg-components-panel-bg-alt',
+        'relative flex flex-col w-[420px] bg-components-panel-bg-alt rounded-l-2xl h-full border border-components-panel-border',
       )}
     >
-      <div className='system-xl-semibold flex shrink-0 items-center justify-between p-4 pb-0 text-text-primary'>
+      <div className='shrink-0 flex items-center justify-between p-4 pb-0 text-text-primary system-xl-semibold'>
         {t('workflow.chatVariable.panelTitle')}
         <div className='flex items-center gap-1'>
           <ActionButton state={showTip ? ActionButtonState.Active : undefined} onClick={() => setShowTip(!showTip)}>
-            <RiBookOpenLine className='h-4 w-4' />
+            <RiBookOpenLine className='w-4 h-4' />
           </ActionButton>
           <div
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex items-center justify-center w-6 h-6 cursor-pointer'
             onClick={() => setShowChatVariablePanel(false)}
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
       {showTip && (
-        <div className='shrink-0 px-3 pb-2 pt-2.5'>
-          <div className='radius-2xl relative bg-background-section-burn p-3'>
-            <div className='system-2xs-medium-uppercase inline-block rounded-[5px] border border-divider-deep px-[5px] py-[3px] text-text-tertiary'>TIPS</div>
-            <div className='system-sm-regular mb-4 mt-1 text-text-secondary'>
+        <div className='shrink-0 px-3 pt-2.5 pb-2'>
+          <div className='relative p-3 radius-2xl bg-background-section-burn'>
+            <div className='inline-block py-[3px] px-[5px] rounded-[5px] border border-divider-deep text-text-tertiary system-2xs-medium-uppercase'>TIPS</div>
+            <div className='mt-1 mb-4 system-sm-regular text-text-secondary'>
               {t('workflow.chatVariable.panelDescription')}
               <a target='_blank' rel='noopener noreferrer' className='text-text-accent' href={locale !== LanguagesSupported[1] ? 'https://docs.dify.ai/guides/workflow/variables#conversation-variables' : `https://docs.dify.ai/${locale.toLowerCase()}/guides/workflow/variables#hui-hua-bian-liang`}>{t('workflow.chatVariable.docLink')}</a>
             </div>
             <div className='flex items-center gap-2'>
-              <div className='radius-lg flex flex-col border border-workflow-block-border bg-workflow-block-bg p-3 pb-4 shadow-md'>
-                <BubbleX className='mb-1 h-4 w-4 shrink-0 text-util-colors-teal-teal-700' />
-                <div className='system-xs-semibold text-text-secondary'>conversation_var</div>
-                <div className='system-2xs-regular text-text-tertiary'>String</div>
+              <div className='flex flex-col p-3 pb-4 bg-workflow-block-bg radius-lg border border-workflow-block-border shadow-md'>
+                <BubbleX className='shrink-0 mb-1 w-4 h-4 text-util-colors-teal-teal-700' />
+                <div className='text-text-secondary system-xs-semibold'>conversation_var</div>
+                <div className='text-text-tertiary system-2xs-regular'>String</div>
               </div>
               <div className='grow'>
                 <div className='mb-2 flex items-center gap-2 py-1'>
-                  <div className='flex h-3 w-16 shrink-0 items-center gap-1 px-1'>
-                    <LongArrowLeft className='h-2 grow text-text-quaternary' />
-                    <div className='system-2xs-medium shrink-0 text-text-tertiary'>WRITE</div>
+                  <div className='shrink-0 flex items-center gap-1 w-16 h-3 px-1'>
+                    <LongArrowLeft className='grow h-2 text-text-quaternary' />
+                    <div className='shrink-0 text-text-tertiary system-2xs-medium'>WRITE</div>
                   </div>
                   <BlockIcon className='shrink-0' type={BlockEnum.Assigner} />
-                  <div className='system-xs-semibold grow truncate text-text-secondary'>{t('workflow.blocks.assigner')}</div>
+                  <div className='grow text-text-secondary system-xs-semibold truncate'>{t('workflow.blocks.assigner')}</div>
                 </div>
                 <div className='flex items-center gap-2 py-1'>
-                  <div className='flex h-3 w-16 shrink-0 items-center gap-1 px-1'>
-                    <div className='system-2xs-medium shrink-0 text-text-tertiary'>READ</div>
-                    <LongArrowRight className='h-2 grow text-text-quaternary' />
+                  <div className='shrink-0 flex items-center gap-1 w-16 h-3 px-1'>
+                    <div className='shrink-0 text-text-tertiary system-2xs-medium'>READ</div>
+                    <LongArrowRight className='grow h-2 text-text-quaternary' />
                   </div>
                   <BlockIcon className='shrink-0' type={BlockEnum.LLM} />
-                  <div className='system-xs-semibold grow truncate text-text-secondary'>{t('workflow.blocks.llm')}</div>
+                  <div className='grow text-text-secondary system-xs-semibold truncate'>{t('workflow.blocks.llm')}</div>
                 </div>
               </div>
             </div>
-            <div className='absolute right-[38px] top-[-4px] z-10 h-3 w-3 rotate-45 bg-background-section-burn'/>
+            <div className='absolute z-10 top-[-4px] right-[38px] w-3 h-3 bg-background-section-burn rotate-45'/>
           </div>
         </div>
       )}
-      <div className='shrink-0 px-4 pb-3 pt-2'>
+      <div className='shrink-0 px-4 pt-2 pb-3'>
         <VariableModalTrigger
           open={showVariableModal}
           setOpen={setShowVariableModal}
@@ -180,7 +180,7 @@
           onClose={() => setCurrentVar(undefined)}
         />
       </div>
-      <div className='grow overflow-y-auto rounded-b-2xl px-4'>
+      <div className='grow px-4 rounded-b-2xl overflow-y-auto'>
         {varList.map(chatVar => (
           <VariableItem
             key={chatVar.id}
diff --git a/app/components/workflow/panel/debug-and-preview/chat-wrapper.tsx b/app/components/workflow/panel/debug-and-preview/chat-wrapper.tsx
index 8f45bc5..9285516 100644
--- a/app/components/workflow/panel/debug-and-preview/chat-wrapper.tsx
+++ b/app/components/workflow/panel/debug-and-preview/chat-wrapper.tsx
@@ -1,4 +1,11 @@
-import { memo, useCallback, useEffect, useImperativeHandle, useMemo } from 'react'
+import {
+  forwardRef,
+  memo,
+  useCallback,
+  useEffect,
+  useImperativeHandle,
+  useMemo,
+} from 'react'
 import { useNodes } from 'reactflow'
 import { BlockEnum } from '../../types'
 import {
@@ -20,7 +27,6 @@
 } from '@/service/debug'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { getLastAnswer, isValidGeneratedAnswer } from '@/app/components/base/chat/utils'
-import type { FileEntity } from '@/app/components/base/file-uploader/types'
 
 type ChatWrapperProps = {
   showConversationVariableModal: boolean
@@ -29,17 +35,12 @@
   onHide: () => void
 }
 
-const ChatWrapper = (
-  {
-    ref,
-    showConversationVariableModal,
-    onConversationModalHide,
-    showInputsFieldsPanel,
-    onHide,
-  }: ChatWrapperProps & {
-    ref: React.RefObject<ChatWrapperRefType>;
-  },
-) => {
+const ChatWrapper = forwardRef<ChatWrapperRefType, ChatWrapperProps>(({
+  showConversationVariableModal,
+  onConversationModalHide,
+  showInputsFieldsPanel,
+  onHide,
+}, ref) => {
   const nodes = useNodes<StartNodeType>()
   const startNode = nodes.find(node => node.data.type === BlockEnum.Start)
   const startVariables = startNode?.data.variables
@@ -95,14 +96,10 @@
     )
   }, [handleSend, workflowStore, conversationId, chatList, appDetail])
 
-  const doRegenerate = useCallback((chatItem: ChatItemInTree, editedQuestion?: { message: string, files?: FileEntity[] }) => {
-    const question = editedQuestion ? chatItem : chatList.find(item => item.id === chatItem.parentMessageId)!
+  const doRegenerate = useCallback((chatItem: ChatItemInTree) => {
+    const question = chatList.find(item => item.id === chatItem.parentMessageId)!
     const parentAnswer = chatList.find(item => item.id === question.parentMessageId)
-    doSend(editedQuestion ? editedQuestion.message : question.content,
-      editedQuestion ? editedQuestion.files : question.message_files,
-      true,
-      isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null,
-    )
+    doSend(question.content, question.message_files, true, isValidGeneratedAnswer(parentAnswer) ? parentAnswer : null)
   }, [chatList, doSend])
 
   useImperativeHandle(ref, () => {
@@ -161,7 +158,7 @@
       )}
     </>
   )
-}
+})
 
 ChatWrapper.displayName = 'ChatWrapper'
 
diff --git a/app/components/workflow/panel/debug-and-preview/conversation-variable-modal.tsx b/app/components/workflow/panel/debug-and-preview/conversation-variable-modal.tsx
index 57fe461..5991414 100644
--- a/app/components/workflow/panel/debug-and-preview/conversation-variable-modal.tsx
+++ b/app/components/workflow/panel/debug-and-preview/conversation-variable-modal.tsx
@@ -21,7 +21,6 @@
 import useTimestamp from '@/hooks/use-timestamp'
 import { fetchCurrentValueOfConversationVariable } from '@/service/workflow'
 import cn from '@/utils/classnames'
-import { noop } from 'lodash-es'
 
 export type Props = {
   conversationID: string
@@ -77,55 +76,55 @@
   return (
     <Modal
       isShow
-      onClose={noop}
-      className={cn('h-[640px] w-[920px] max-w-[920px] p-0')}
+      onClose={() => { }}
+      className={cn('w-[920px] max-w-[920px] h-[640px] p-0')}
     >
-      <div className='absolute right-4 top-4 cursor-pointer p-2' onClick={onHide}>
-        <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+      <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onHide}>
+        <RiCloseLine className='w-4 h-4 text-text-tertiary' />
       </div>
-      <div className='flex h-full w-full'>
+      <div className='w-full h-full flex'>
         {/* LEFT */}
-        <div className='flex h-full w-[224px] shrink-0 flex-col border-r border-divider-burn bg-background-sidenav-bg'>
-          <div className='system-xl-semibold shrink-0 pb-3 pl-5 pr-4 pt-5 text-text-primary'>{t('workflow.chatVariable.panelTitle')}</div>
+        <div className='shrink-0 flex flex-col w-[224px] h-full bg-background-sidenav-bg border-r border-divider-burn'>
+          <div className='shrink-0 pt-5 pl-5 pr-4 pb-3 text-text-primary system-xl-semibold'>{t('workflow.chatVariable.panelTitle')}</div>
           <div className='grow overflow-y-auto px-3 py-2'>
             {varList.map(chatVar => (
-              <div key={chatVar.id} className={cn('radius-md group mb-0.5 flex cursor-pointer items-center p-2 hover:bg-state-base-hover', currentVar.id === chatVar.id && 'bg-state-base-hover')} onClick={() => setCurrentVar(chatVar)}>
-                <BubbleX className={cn('mr-1 h-4 w-4 shrink-0 text-text-tertiary group-hover:text-util-colors-teal-teal-700', currentVar.id === chatVar.id && 'text-util-colors-teal-teal-700')} />
-                <div title={chatVar.name} className={cn('system-sm-medium truncate text-text-tertiary group-hover:text-util-colors-teal-teal-700', currentVar.id === chatVar.id && 'text-util-colors-teal-teal-700')}>{chatVar.name}</div>
+              <div key={chatVar.id} className={cn('group mb-0.5 p-2 flex items-center radius-md hover:bg-state-base-hover cursor-pointer', currentVar.id === chatVar.id && 'bg-state-base-hover')} onClick={() => setCurrentVar(chatVar)}>
+                <BubbleX className={cn('shrink-0 mr-1 w-4 h-4 text-text-tertiary group-hover:text-util-colors-teal-teal-700', currentVar.id === chatVar.id && 'text-util-colors-teal-teal-700')} />
+                <div title={chatVar.name} className={cn('text-text-tertiary system-sm-medium truncate group-hover:text-util-colors-teal-teal-700', currentVar.id === chatVar.id && 'text-util-colors-teal-teal-700')}>{chatVar.name}</div>
               </div>
             ))}
           </div>
         </div>
         {/* RIGHT */}
-        <div className='flex h-full w-0 grow flex-col bg-components-panel-bg'>
+        <div className='grow flex flex-col w-0 h-full bg-components-panel-bg'>
           <div className='shrink-0 p-4 pb-2'>
             <div className='flex items-center gap-1 py-1'>
-              <div className='system-xl-semibold text-text-primary'>{currentVar.name}</div>
-              <div className='system-xs-medium text-text-tertiary'>{capitalize(currentVar.value_type)}</div>
+              <div className='text-text-primary system-xl-semibold'>{currentVar.name}</div>
+              <div className='text-text-tertiary system-xs-medium'>{capitalize(currentVar.value_type)}</div>
             </div>
           </div>
-          <div className='flex h-0 grow flex-col p-4 pt-2'>
-            <div className='mb-2 flex shrink-0 items-center gap-2'>
-              <div className='system-xs-medium-uppercase shrink-0 text-text-tertiary'>{t('workflow.chatVariable.storedContent').toLocaleUpperCase()}</div>
-              <div className='h-[1px] grow' style={{
+          <div className='grow p-4 pt-2 flex flex-col h-0'>
+            <div className='shrink-0 mb-2 flex items-center gap-2'>
+              <div className='shrink-0 text-text-tertiary system-xs-medium-uppercase'>{t('workflow.chatVariable.storedContent').toLocaleUpperCase()}</div>
+              <div className='grow h-[1px]' style={{
                 background: 'linear-gradient(to right, rgba(16, 24, 40, 0.08) 0%, rgba(255, 255, 255) 100%)',
               }}></div>
               {latestValueTimestampMap[currentVar.id] && (
-                <div className='system-xs-regular shrink-0 text-text-tertiary'>{t('workflow.chatVariable.updatedAt')}{formatTime(latestValueTimestampMap[currentVar.id], t('appLog.dateTimeFormat') as string)}</div>
+                <div className='shrink-0 text-text-tertiary system-xs-regular'>{t('workflow.chatVariable.updatedAt')}{formatTime(latestValueTimestampMap[currentVar.id], t('appLog.dateTimeFormat') as string)}</div>
               )}
             </div>
             <div className='grow overflow-y-auto'>
               {currentVar.value_type !== ChatVarType.Number && currentVar.value_type !== ChatVarType.String && (
-                <div className='flex h-full flex-col rounded-lg bg-components-input-bg-normal px-2 pb-2'>
-                  <div className='flex h-7 shrink-0 items-center justify-between pl-3 pr-2 pt-1'>
-                    <div className='system-xs-semibold text-text-secondary'>JSON</div>
+                <div className='h-full flex flex-col bg-components-input-bg-normal rounded-lg px-2 pb-2'>
+                  <div className='shrink-0 flex justify-between items-center h-7 pt-1 pl-3 pr-2'>
+                    <div className='text-text-secondary system-xs-semibold'>JSON</div>
                     <div className='flex items-center p-1'>
                       {!isCopied
                         ? (
-                          <Clipboard className='h-4 w-4 cursor-pointer text-text-tertiary' onClick={handleCopy} />
+                          <Clipboard className='w-4 h-4 text-text-tertiary cursor-pointer' onClick={handleCopy} />
                         )
                         : (
-                          <ClipboardCheck className='h-4 w-4 text-text-tertiary' />
+                          <ClipboardCheck className='w-4 h-4 text-text-tertiary' />
                         )
                       }
                     </div>
@@ -143,7 +142,7 @@
                 </div>
               )}
               {(currentVar.value_type === ChatVarType.Number || currentVar.value_type === ChatVarType.String) && (
-                <div className='system-md-regular h-full overflow-y-auto overflow-x-hidden rounded-lg bg-components-input-bg-normal px-4 py-3 text-components-input-text-filled'>{latestValueMap[currentVar.id] || ''}</div>
+                <div className='h-full px-4 py-3 rounded-lg bg-components-input-bg-normal text-components-input-text-filled system-md-regular overflow-y-auto overflow-x-hidden'>{latestValueMap[currentVar.id] || ''}</div>
               )}
             </div>
           </div>
diff --git a/app/components/workflow/panel/debug-and-preview/empty.tsx b/app/components/workflow/panel/debug-and-preview/empty.tsx
index 7f120c3..61c7c6f 100644
--- a/app/components/workflow/panel/debug-and-preview/empty.tsx
+++ b/app/components/workflow/panel/debug-and-preview/empty.tsx
@@ -6,8 +6,8 @@
 
   return (
     <div className='absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2'>
-      <div className='mb-2 flex justify-center'>
-        <ChatBotSlim className='h-12 w-12 text-gray-300' />
+      <div className='flex justify-center mb-2'>
+        <ChatBotSlim className='w-12 h-12 text-gray-300' />
       </div>
       <div className='w-[256px] text-center text-[13px] text-gray-400'>
         {t('workflow.common.previewPlaceholder')}
diff --git a/app/components/workflow/panel/debug-and-preview/hooks.ts b/app/components/workflow/panel/debug-and-preview/hooks.ts
index 4ef33a6..d3e4e90 100644
--- a/app/components/workflow/panel/debug-and-preview/hooks.ts
+++ b/app/components/workflow/panel/debug-and-preview/hooks.ts
@@ -11,7 +11,7 @@
 import { useWorkflowRun } from '../../hooks'
 import { NodeRunningStatus, WorkflowRunningStatus } from '../../types'
 import { useWorkflowStore } from '../../store'
-import { DEFAULT_ITER_TIMES, DEFAULT_LOOP_TIMES } from '../../constants'
+import { DEFAULT_ITER_TIMES } from '../../constants'
 import type {
   ChatItem,
   ChatItemInTree,
@@ -30,6 +30,7 @@
 } from '@/app/components/base/file-uploader/utils'
 import type { FileEntity } from '@/app/components/base/file-uploader/types'
 import { getThreadMessages } from '@/app/components/base/chat/utils'
+import type { NodeTracing } from '@/types/workflow'
 
 type GetAbortController = (abortController: AbortController) => void
 type SendCallback = {
@@ -57,7 +58,6 @@
   const suggestedQuestionsAbortControllerRef = useRef<AbortController | null>(null)
   const {
     setIterTimes,
-    setLoopTimes,
   } = workflowStore.getState()
 
   const handleResponding = useCallback((isResponding: boolean) => {
@@ -129,23 +129,20 @@
     if (stopChat && taskIdRef.current)
       stopChat(taskIdRef.current)
     setIterTimes(DEFAULT_ITER_TIMES)
-    setLoopTimes(DEFAULT_LOOP_TIMES)
     if (suggestedQuestionsAbortControllerRef.current)
       suggestedQuestionsAbortControllerRef.current.abort()
-  }, [handleResponding, setIterTimes, setLoopTimes, stopChat])
+  }, [handleResponding, setIterTimes, stopChat])
 
   const handleRestart = useCallback(() => {
     conversationId.current = ''
     taskIdRef.current = ''
     handleStop()
     setIterTimes(DEFAULT_ITER_TIMES)
-    setLoopTimes(DEFAULT_LOOP_TIMES)
     setChatTree([])
     setSuggestQuestions([])
   }, [
     handleStop,
     setIterTimes,
-    setLoopTimes,
   ])
 
   const updateCurrentQAOnTree = useCallback(({
@@ -311,7 +308,6 @@
               )
               setSuggestQuestions(data)
             }
-            // eslint-disable-next-line unused-imports/no-unused-vars
             catch (error) {
               setSuggestQuestions([])
             }
@@ -362,7 +358,21 @@
           responseItem.workflowProcess!.tracing!.push({
             ...data,
             status: NodeRunningStatus.Running,
+            details: [],
+          } as any)
+          updateCurrentQAOnTree({
+            placeholderQuestionId,
+            questionItem,
+            responseItem,
+            parentId: params.parent_message_id,
           })
+        },
+        onIterationNext: ({ data }) => {
+          const tracing = responseItem.workflowProcess!.tracing!
+          const iterations = tracing.find(item => item.node_id === data.node_id
+            && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id))!
+          iterations.details!.push([])
+
           updateCurrentQAOnTree({
             placeholderQuestionId,
             questionItem,
@@ -371,25 +381,14 @@
           })
         },
         onIterationFinish: ({ data }) => {
-          const currentTracingIndex = responseItem.workflowProcess!.tracing!.findIndex(item => item.id === data.id)
-          if (currentTracingIndex > -1) {
-            responseItem.workflowProcess!.tracing[currentTracingIndex] = {
-              ...responseItem.workflowProcess!.tracing[currentTracingIndex],
-              ...data,
-            }
-            updateCurrentQAOnTree({
-              placeholderQuestionId,
-              questionItem,
-              responseItem,
-              parentId: params.parent_message_id,
-            })
-          }
-        },
-        onLoopStart: ({ data }) => {
-          responseItem.workflowProcess!.tracing!.push({
+          const tracing = responseItem.workflowProcess!.tracing!
+          const iterationsIndex = tracing.findIndex(item => item.node_id === data.node_id
+            && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id))!
+          tracing[iterationsIndex] = {
+            ...tracing[iterationsIndex],
             ...data,
-            status: NodeRunningStatus.Running,
-          })
+            status: NodeRunningStatus.Succeeded,
+          } as any
           updateCurrentQAOnTree({
             placeholderQuestionId,
             questionItem,
@@ -397,22 +396,10 @@
             parentId: params.parent_message_id,
           })
         },
-        onLoopFinish: ({ data }) => {
-          const currentTracingIndex = responseItem.workflowProcess!.tracing!.findIndex(item => item.id === data.id)
-          if (currentTracingIndex > -1) {
-            responseItem.workflowProcess!.tracing[currentTracingIndex] = {
-              ...responseItem.workflowProcess!.tracing[currentTracingIndex],
-              ...data,
-            }
-            updateCurrentQAOnTree({
-              placeholderQuestionId,
-              questionItem,
-              responseItem,
-              parentId: params.parent_message_id,
-            })
-          }
-        },
         onNodeStarted: ({ data }) => {
+          if (data.iteration_id)
+            return
+
           responseItem.workflowProcess!.tracing!.push({
             ...data,
             status: NodeRunningStatus.Running,
@@ -425,69 +412,51 @@
           })
         },
         onNodeRetry: ({ data }) => {
-          responseItem.workflowProcess!.tracing!.push(data)
+          if (data.iteration_id)
+            return
 
+          const currentIndex = responseItem.workflowProcess!.tracing!.findIndex((item) => {
+            if (!item.execution_metadata?.parallel_id)
+              return item.node_id === data.node_id
+            return item.node_id === data.node_id && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id)
+          })
+          if (responseItem.workflowProcess!.tracing[currentIndex].retryDetail)
+            responseItem.workflowProcess!.tracing[currentIndex].retryDetail?.push(data as NodeTracing)
+          else
+            responseItem.workflowProcess!.tracing[currentIndex].retryDetail = [data as NodeTracing]
+
+          handleUpdateChatList(produce(chatListRef.current, (draft) => {
+            const currentIndex = draft.findIndex(item => item.id === responseItem.id)
+            draft[currentIndex] = {
+              ...draft[currentIndex],
+              ...responseItem,
+            }
+          }))
+        },
+        onNodeFinished: ({ data }) => {
+          if (data.iteration_id)
+            return
+
+          const currentIndex = responseItem.workflowProcess!.tracing!.findIndex((item) => {
+            if (!item.execution_metadata?.parallel_id)
+              return item.node_id === data.node_id
+            return item.node_id === data.node_id && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id)
+          })
+          responseItem.workflowProcess!.tracing[currentIndex] = {
+            ...(responseItem.workflowProcess!.tracing[currentIndex]?.extras
+              ? { extras: responseItem.workflowProcess!.tracing[currentIndex].extras }
+              : {}),
+            ...(responseItem.workflowProcess!.tracing[currentIndex]?.retryDetail
+              ? { retryDetail: responseItem.workflowProcess!.tracing[currentIndex].retryDetail }
+              : {}),
+            ...data,
+          } as any
           updateCurrentQAOnTree({
             placeholderQuestionId,
             questionItem,
             responseItem,
             parentId: params.parent_message_id,
           })
-        },
-        onNodeFinished: ({ data }) => {
-          const currentTracingIndex = responseItem.workflowProcess!.tracing!.findIndex(item => item.id === data.id)
-          if (currentTracingIndex > -1) {
-            responseItem.workflowProcess!.tracing[currentTracingIndex] = {
-              ...responseItem.workflowProcess!.tracing[currentTracingIndex],
-              ...data,
-            }
-            updateCurrentQAOnTree({
-              placeholderQuestionId,
-              questionItem,
-              responseItem,
-              parentId: params.parent_message_id,
-            })
-          }
-        },
-        onAgentLog: ({ data }) => {
-          const currentNodeIndex = responseItem.workflowProcess!.tracing!.findIndex(item => item.node_id === data.node_id)
-          if (currentNodeIndex > -1) {
-            const current = responseItem.workflowProcess!.tracing![currentNodeIndex]
-
-            if (current.execution_metadata) {
-              if (current.execution_metadata.agent_log) {
-                const currentLogIndex = current.execution_metadata.agent_log.findIndex(log => log.id === data.id)
-                if (currentLogIndex > -1) {
-                  current.execution_metadata.agent_log[currentLogIndex] = {
-                    ...current.execution_metadata.agent_log[currentLogIndex],
-                    ...data,
-                  }
-                }
-                else {
-                  current.execution_metadata.agent_log.push(data)
-                }
-              }
-              else {
-                current.execution_metadata.agent_log = [data]
-              }
-            }
-            else {
-              current.execution_metadata = {
-                agent_log: [data],
-              } as any
-            }
-
-            responseItem.workflowProcess!.tracing[currentNodeIndex] = {
-              ...current,
-            }
-
-            updateCurrentQAOnTree({
-              placeholderQuestionId,
-              questionItem,
-              responseItem,
-              parentId: params.parent_message_id,
-            })
-          }
         },
       },
     )
diff --git a/app/components/workflow/panel/debug-and-preview/index.tsx b/app/components/workflow/panel/debug-and-preview/index.tsx
index b63b7af..d4a3f24 100644
--- a/app/components/workflow/panel/debug-and-preview/index.tsx
+++ b/app/components/workflow/panel/debug-and-preview/index.tsx
@@ -1,19 +1,17 @@
 import {
   memo,
-  useCallback,
-  useEffect,
   useRef,
   useState,
 } from 'react'
-
+import { useKeyPress } from 'ahooks'
 import { RiCloseLine, RiEqualizer2Line } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { useNodes } from 'reactflow'
 import {
+  useEdgesInteractions,
+  useNodesInteractions,
   useWorkflowInteractions,
 } from '../../hooks'
-import { useEdgesInteractionsWithoutSync } from '@/app/components/workflow/hooks/use-edges-interactions-without-sync'
-import { useNodesInteractionsWithoutSync } from '@/app/components/workflow/hooks/use-nodes-interactions-without-sync'
 import { BlockEnum } from '../../types'
 import type { StartNodeType } from '../../nodes/start/types'
 import ChatWrapper from './chat-wrapper'
@@ -23,17 +21,16 @@
 import Tooltip from '@/app/components/base/tooltip'
 import ActionButton, { ActionButtonState } from '@/app/components/base/action-button'
 import { useStore } from '@/app/components/workflow/store'
-import { noop } from 'lodash-es'
 
 export type ChatWrapperRefType = {
   handleRestart: () => void
 }
 const DebugAndPreview = () => {
   const { t } = useTranslation()
-  const chatRef = useRef({ handleRestart: noop })
+  const chatRef = useRef({ handleRestart: () => { } })
   const { handleCancelDebugAndPreviewPanel } = useWorkflowInteractions()
-  const { handleNodeCancelRunningStatus } = useNodesInteractionsWithoutSync()
-  const { handleEdgeCancelRunningStatus } = useEdgesInteractionsWithoutSync()
+  const { handleNodeCancelRunningStatus } = useNodesInteractions()
+  const { handleEdgeCancelRunningStatus } = useEdgesInteractions()
   const varList = useStore(s => s.conversationVariables)
   const [expanded, setExpanded] = useState(true)
   const nodes = useNodes<StartNodeType>()
@@ -48,54 +45,26 @@
     chatRef.current.handleRestart()
   }
 
-  const [panelWidth, setPanelWidth] = useState(420)
-  const [isResizing, setIsResizing] = useState(false)
-
-  const startResizing = useCallback((e: React.MouseEvent) => {
-    e.preventDefault()
-    setIsResizing(true)
-  }, [])
-
-  const stopResizing = useCallback(() => {
-    setIsResizing(false)
-  }, [])
-
-  const resize = useCallback((e: MouseEvent) => {
-    if (isResizing) {
-      const newWidth = window.innerWidth - e.clientX
-      if (newWidth > 420 && newWidth < 1024)
-        setPanelWidth(newWidth)
-    }
-  }, [isResizing])
-
-  useEffect(() => {
-    window.addEventListener('mousemove', resize)
-    window.addEventListener('mouseup', stopResizing)
-    return () => {
-      window.removeEventListener('mousemove', resize)
-      window.removeEventListener('mouseup', stopResizing)
-    }
-  }, [resize, stopResizing])
+  useKeyPress('shift.r', () => {
+    handleRestartChat()
+  }, {
+    exactMatch: true,
+  })
 
   return (
     <div
       className={cn(
-        'relative flex h-full flex-col rounded-l-2xl border border-r-0 border-components-panel-border bg-chatbot-bg shadow-xl',
+        'flex flex-col w-[420px] bg-chatbot-bg rounded-l-2xl h-full border border-components-panel-border border-r-0 shadow-xl',
       )}
-      style={{ width: `${panelWidth}px` }}
     >
-      <div
-        className="absolute bottom-0 left-[3px] top-1/2 z-50 h-6 w-[3px] cursor-col-resize rounded bg-gray-300"
-        onMouseDown={startResizing}
-      />
-      <div className='system-xl-semibold flex shrink-0 items-center justify-between px-4 pb-2 pt-3 text-text-primary'>
+      <div className='shrink-0 flex items-center justify-between px-4 pt-3 pb-2 text-text-primary system-xl-semibold'>
         <div className='h-8'>{t('workflow.common.debugAndPreview').toLocaleUpperCase()}</div>
         <div className='flex items-center gap-1'>
           <Tooltip
             popupContent={t('common.operation.refresh')}
           >
             <ActionButton onClick={() => handleRestartChat()}>
-              <RefreshCcw01 className='h-4 w-4' />
+              <RefreshCcw01 className='w-4 h-4' />
             </ActionButton>
           </Tooltip>
           {varList.length > 0 && (
@@ -103,7 +72,7 @@
               popupContent={t('workflow.chatVariable.panelTitle')}
             >
               <ActionButton onClick={() => setShowConversationVariableModal(true)}>
-                <BubbleX className='h-4 w-4' />
+                <BubbleX className='w-4 h-4' />
               </ActionButton>
             </Tooltip>
           )}
@@ -113,22 +82,22 @@
                 popupContent={t('workflow.panel.userInputField')}
               >
                 <ActionButton state={expanded ? ActionButtonState.Active : undefined} onClick={() => setExpanded(!expanded)}>
-                  <RiEqualizer2Line className='h-4 w-4' />
+                  <RiEqualizer2Line className='w-4 h-4' />
                 </ActionButton>
               </Tooltip>
-              {expanded && <div className='absolute bottom-[-17px] right-[5px] z-10 h-3 w-3 rotate-45 border-l-[0.5px] border-t-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg' />}
+              {expanded && <div className='absolute z-10 bottom-[-17px] right-[5px] w-3 h-3 bg-components-panel-on-panel-item-bg border-l-[0.5px] border-t-[0.5px] border-components-panel-border-subtle rotate-45'/>}
             </div>
           )}
-          <div className='mx-3 h-3.5 w-[1px] bg-divider-regular'></div>
+          <div className='mx-3 w-[1px] h-3.5 bg-gray-200'></div>
           <div
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex items-center justify-center w-6 h-6 cursor-pointer'
             onClick={handleCancelDebugAndPreviewPanel}
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-gray-500' />
           </div>
         </div>
       </div>
-      <div className='grow overflow-y-auto rounded-b-2xl'>
+      <div className='grow rounded-b-2xl overflow-y-auto'>
         <ChatWrapper
           ref={chatRef}
           showConversationVariableModal={showConversationVariableModal}
diff --git a/app/components/workflow/panel/debug-and-preview/user-input.tsx b/app/components/workflow/panel/debug-and-preview/user-input.tsx
index 0b1b451..5383fb6 100644
--- a/app/components/workflow/panel/debug-and-preview/user-input.tsx
+++ b/app/components/workflow/panel/debug-and-preview/user-input.tsx
@@ -33,8 +33,8 @@
     return null
 
   return (
-    <div className={cn('sticky top-0 z-[1] rounded-xl border-[0.5px] border-components-panel-border-subtle bg-components-panel-on-panel-item-bg shadow-xs')}>
-      <div className='px-4 pb-4 pt-3'>
+    <div className={cn('sticky top-0 bg-components-panel-on-panel-item-bg rounded-xl border-[0.5px] border-components-panel-border-subtle shadow-xs z-[1]')}>
+      <div className='px-4 pt-3 pb-4'>
         {variables.map((variable, index) => (
           <div
             key={variable.variable}
diff --git a/app/components/workflow/panel/env-panel/env-item.tsx b/app/components/workflow/panel/env-panel/env-item.tsx
index 91abafa..f7c0283 100644
--- a/app/components/workflow/panel/env-panel/env-item.tsx
+++ b/app/components/workflow/panel/env-panel/env-item.tsx
@@ -22,30 +22,30 @@
 
   return (
     <div className={cn(
-      'radius-md mb-1 border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg px-2.5 py-2 shadow-xs hover:bg-components-panel-on-panel-item-bg-hover',
+      'mb-1 px-2.5 py-2 bg-components-panel-on-panel-item-bg radius-md border border-components-panel-border-subtle shadow-xs hover:bg-components-panel-on-panel-item-bg-hover',
       destructive && 'border-state-destructive-border hover:bg-state-destructive-hover',
     )}>
       <div className='flex items-center justify-between'>
-        <div className='flex grow items-center gap-1'>
-          <Env className='h-4 w-4 text-util-colors-violet-violet-600' />
-          <div className='system-sm-medium text-text-primary'>{env.name}</div>
-          <div className='system-xs-medium text-text-tertiary'>{capitalize(env.value_type)}</div>
-          {env.value_type === 'secret' && <RiLock2Line className='h-3 w-3 text-text-tertiary' />}
+        <div className='grow flex gap-1 items-center'>
+          <Env className='w-4 h-4 text-util-colors-violet-violet-600' />
+          <div className='text-text-primary system-sm-medium'>{env.name}</div>
+          <div className='text-text-tertiary system-xs-medium'>{capitalize(env.value_type)}</div>
+          {env.value_type === 'secret' && <RiLock2Line className='w-3 h-3 text-text-tertiary' />}
         </div>
-        <div className='flex shrink-0 items-center gap-1 text-text-tertiary'>
-          <div className='radius-md cursor-pointer p-1 hover:bg-state-base-hover hover:text-text-secondary'>
-            <RiEditLine className='h-4 w-4' onClick={() => onEdit(env)}/>
+        <div className='shrink-0 flex gap-1 items-center text-text-tertiary'>
+          <div className='p-1 radius-md cursor-pointer hover:bg-state-base-hover hover:text-text-secondary'>
+            <RiEditLine className='w-4 h-4' onClick={() => onEdit(env)}/>
           </div>
           <div
-            className='radius-md cursor-pointer p-1 hover:bg-state-destructive-hover hover:text-text-destructive'
+            className='p-1 radius-md cursor-pointer hover:bg-state-destructive-hover hover:text-text-destructive'
             onMouseOver={() => setDestructive(true)}
             onMouseOut={() => setDestructive(false)}
           >
-            <RiDeleteBinLine className='h-4 w-4' onClick={() => onDelete(env)} />
+            <RiDeleteBinLine className='w-4 h-4' onClick={() => onDelete(env)} />
           </div>
         </div>
       </div>
-      <div className='system-xs-regular truncate text-text-tertiary'>{env.value_type === 'secret' ? envSecrets[env.id] : env.value}</div>
+      <div className='text-text-tertiary system-xs-regular truncate'>{env.value_type === 'secret' ? envSecrets[env.id] : env.value}</div>
     </div>
   )
 }
diff --git a/app/components/workflow/panel/env-panel/index.tsx b/app/components/workflow/panel/env-panel/index.tsx
index 135f581..756aa17 100644
--- a/app/components/workflow/panel/env-panel/index.tsx
+++ b/app/components/workflow/panel/env-panel/index.tsx
@@ -149,22 +149,22 @@
   return (
     <div
       className={cn(
-        'relative flex h-full w-[420px] flex-col rounded-l-2xl border border-components-panel-border bg-components-panel-bg-alt',
+        'relative flex flex-col w-[420px] bg-components-panel-bg-alt rounded-l-2xl h-full border border-components-panel-border',
       )}
     >
-      <div className='system-xl-semibold flex shrink-0 items-center justify-between p-4 pb-0 text-text-primary'>
+      <div className='shrink-0 flex items-center justify-between p-4 pb-0 text-text-primary system-xl-semibold'>
         {t('workflow.env.envPanelTitle')}
         <div className='flex items-center'>
           <div
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex items-center justify-center w-6 h-6 cursor-pointer'
             onClick={() => setShowEnvPanel(false)}
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
-      <div className='system-sm-regular shrink-0 px-4 py-1 text-text-tertiary'>{t('workflow.env.envDescription')}</div>
-      <div className='shrink-0 px-4 pb-3 pt-2'>
+      <div className='shrink-0 py-1 px-4 system-sm-regular text-text-tertiary'>{t('workflow.env.envDescription')}</div>
+      <div className='shrink-0 px-4 pt-2 pb-3'>
         <VariableTrigger
           open={showVariableModal}
           setOpen={setShowVariableModal}
@@ -173,7 +173,7 @@
           onClose={() => setCurrentVar(undefined)}
         />
       </div>
-      <div className='grow overflow-y-auto rounded-b-2xl px-4'>
+      <div className='grow px-4 rounded-b-2xl overflow-y-auto'>
         {envList.map(env => (
           <EnvItem
             key={env.id}
diff --git a/app/components/workflow/panel/env-panel/variable-modal.tsx b/app/components/workflow/panel/env-panel/variable-modal.tsx
index 4546aab..feabd5a 100644
--- a/app/components/workflow/panel/env-panel/variable-modal.tsx
+++ b/app/components/workflow/panel/env-panel/variable-modal.tsx
@@ -47,14 +47,8 @@
       return
     if (!value)
       return notify({ type: 'error', message: 'value can not be empty' })
-
-    // Add check for duplicate name when editing
-    if (env && env.name !== name && envList.some(e => e.name === name))
+    if (!env && envList.some(env => env.name === name))
       return notify({ type: 'error', message: 'name is existed' })
-    // Original check for create new variable
-    if (!env && envList.some(e => e.name === name))
-      return notify({ type: 'error', message: 'name is existed' })
-
     onSave({
       id: env ? env.id : uuid4(),
       value_type: type,
@@ -74,39 +68,39 @@
 
   return (
     <div
-      className={cn('flex h-full w-[360px] flex-col rounded-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-2xl')}
+      className={cn('flex flex-col w-[360px] bg-components-panel-bg rounded-2xl h-full border-[0.5px] border-components-panel-border shadow-2xl')}
     >
-      <div className='system-xl-semibold mb-3 flex shrink-0 items-center justify-between p-4 pb-0 text-text-primary'>
+      <div className='shrink-0 flex items-center justify-between mb-3 p-4 pb-0 text-text-primary system-xl-semibold'>
         {!env ? t('workflow.env.modal.title') : t('workflow.env.modal.editTitle')}
         <div className='flex items-center'>
           <div
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex items-center justify-center w-6 h-6 cursor-pointer'
             onClick={onClose}
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
       <div className='px-4 py-2'>
         {/* type */}
         <div className='mb-4'>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.env.modal.type')}</div>
+          <div className='mb-1 h-6 flex items-center text-text-secondary system-sm-semibold'>{t('workflow.env.modal.type')}</div>
           <div className='flex gap-2'>
             <div className={cn(
-              'radius-md system-sm-regular flex w-[106px] cursor-pointer items-center justify-center border border-components-option-card-option-border bg-components-option-card-option-bg p-2 text-text-secondary hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs',
-              type === 'string' && 'system-sm-medium border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg text-text-primary shadow-xs hover:border-components-option-card-option-selected-border',
+              'w-[106px] flex items-center justify-center p-2 radius-md bg-components-option-card-option-bg border border-components-option-card-option-border text-text-secondary system-sm-regular cursor-pointer hover:shadow-xs hover:bg-components-option-card-option-bg-hover hover:border-components-option-card-option-border-hover',
+              type === 'string' && 'text-text-primary system-sm-medium border-[1.5px] shadow-xs bg-components-option-card-option-selected-bg border-components-option-card-option-selected-border hover:border-components-option-card-option-selected-border',
             )} onClick={() => setType('string')}>String</div>
             <div className={cn(
-              'radius-md system-sm-regular flex w-[106px] cursor-pointer items-center justify-center border border-components-option-card-option-border bg-components-option-card-option-bg p-2 text-text-secondary hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs',
-              type === 'number' && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg font-medium text-text-primary shadow-xs hover:border-components-option-card-option-selected-border',
+              'w-[106px] flex items-center justify-center p-2 radius-md bg-components-option-card-option-bg border border-components-option-card-option-border text-text-secondary system-sm-regular cursor-pointer hover:shadow-xs hover:bg-components-option-card-option-bg-hover hover:border-components-option-card-option-border-hover',
+              type === 'number' && 'text-text-primary font-medium border-[1.5px] shadow-xs bg-components-option-card-option-selected-bg border-components-option-card-option-selected-border hover:border-components-option-card-option-selected-border',
             )} onClick={() => {
               setType('number')
-              if (!(/^\d$/).test(value))
+              if (!(/^[0-9]$/).test(value))
                 setValue('')
             }}>Number</div>
             <div className={cn(
-              'radius-md system-sm-regular flex w-[106px] cursor-pointer items-center justify-center border border-components-option-card-option-border bg-components-option-card-option-bg p-2 text-text-secondary hover:border-components-option-card-option-border-hover hover:bg-components-option-card-option-bg-hover hover:shadow-xs',
-              type === 'secret' && 'border-[1.5px] border-components-option-card-option-selected-border bg-components-option-card-option-selected-bg font-medium text-text-primary shadow-xs hover:border-components-option-card-option-selected-border',
+              'w-[106px] flex items-center justify-center p-2 radius-md bg-components-option-card-option-bg border border-components-option-card-option-border text-text-secondary system-sm-regular cursor-pointer hover:shadow-xs hover:bg-components-option-card-option-bg-hover hover:border-components-option-card-option-border-hover',
+              type === 'secret' && 'text-text-primary font-medium border-[1.5px] shadow-xs bg-components-option-card-option-selected-bg border-components-option-card-option-selected-border hover:border-components-option-card-option-selected-border',
             )} onClick={() => setType('secret')}>
               <span>Secret</span>
               <Tooltip
@@ -122,7 +116,7 @@
         </div>
         {/* name */}
         <div className='mb-4'>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.env.modal.name')}</div>
+          <div className='mb-1 h-6 flex items-center text-text-secondary system-sm-semibold'>{t('workflow.env.modal.name')}</div>
           <div className='flex'>
             <Input
               placeholder={t('workflow.env.modal.namePlaceholder') || ''}
@@ -135,26 +129,18 @@
         </div>
         {/* value */}
         <div className=''>
-          <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.env.modal.value')}</div>
+          <div className='mb-1 h-6 flex items-center text-text-secondary system-sm-semibold'>{t('workflow.env.modal.value')}</div>
           <div className='flex'>
-            {
-              type !== 'number' ? <textarea
-                className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'
-                value={value}
-                placeholder={t('workflow.env.modal.valuePlaceholder') || ''}
-                onChange={e => setValue(e.target.value)}
-              />
-                : <Input
-                  placeholder={t('workflow.env.modal.valuePlaceholder') || ''}
-                  value={value}
-                  onChange={e => setValue(e.target.value)}
-                  type="number"
-                />
-            }
+            <Input
+              placeholder={t('workflow.env.modal.valuePlaceholder') || ''}
+              value={value}
+              onChange={e => setValue(e.target.value)}
+              type={type !== 'number' ? 'text' : 'number'}
+            />
           </div>
         </div>
       </div>
-      <div className='flex flex-row-reverse rounded-b-2xl p-4 pt-2'>
+      <div className='p-4 pt-2 flex flex-row-reverse rounded-b-2xl'>
         <div className='flex gap-2'>
           <Button onClick={onClose}>{t('common.operation.cancel')}</Button>
           <Button variant='primary' onClick={handleSave}>{t('common.operation.save')}</Button>
diff --git a/app/components/workflow/panel/env-panel/variable-trigger.tsx b/app/components/workflow/panel/env-panel/variable-trigger.tsx
index 5247486..467f612 100644
--- a/app/components/workflow/panel/env-panel/variable-trigger.tsx
+++ b/app/components/workflow/panel/env-panel/variable-trigger.tsx
@@ -46,7 +46,7 @@
         open && onClose()
       }}>
         <Button variant='primary'>
-          <RiAddLine className='mr-1 h-4 w-4' />
+          <RiAddLine className='mr-1 w-4 h-4' />
           <span className='system-sm-medium'>{t('workflow.env.envPanelButton')}</span>
         </Button>
       </PortalToFollowElemTrigger>
diff --git a/app/components/workflow/panel/global-variable-panel/index.tsx b/app/components/workflow/panel/global-variable-panel/index.tsx
index ad7996a..46dad71 100644
--- a/app/components/workflow/panel/global-variable-panel/index.tsx
+++ b/app/components/workflow/panel/global-variable-panel/index.tsx
@@ -3,6 +3,7 @@
 } from 'react'
 
 import { RiCloseLine } from '@remixicon/react'
+import { useTranslation } from 'react-i18next'
 import type { GlobalVariable } from '../../types'
 import Item from './item'
 import { useStore } from '@/app/components/workflow/store'
@@ -10,6 +11,7 @@
 import cn from '@/utils/classnames'
 
 const Panel = () => {
+  const { t } = useTranslation()
   const setShowPanel = useStore(s => s.setShowGlobalVariablePanel)
 
   const globalVariableList: GlobalVariable[] = [
@@ -23,23 +25,23 @@
   return (
     <div
       className={cn(
-        'relative flex h-full w-[420px] flex-col rounded-l-2xl border border-components-panel-border bg-components-panel-bg-alt',
+        'relative flex flex-col w-[420px] bg-components-panel-bg-alt rounded-l-2xl h-full border border-components-panel-border',
       )}
     >
-      <div className='system-xl-semibold flex shrink-0 items-center justify-between p-4 pb-0 text-text-primary'>
+      <div className='shrink-0 flex items-center justify-between p-4 pb-0 text-text-primary system-xl-semibold'>
         Global Variables(Current not show)
         <div className='flex items-center'>
           <div
-            className='flex h-6 w-6 cursor-pointer items-center justify-center'
+            className='flex items-center justify-center w-6 h-6 cursor-pointer'
             onClick={() => setShowPanel(false)}
           >
-            <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
           </div>
         </div>
       </div>
-      <div className='system-sm-regular shrink-0 px-4 py-1 text-text-tertiary'>...</div>
+      <div className='shrink-0 py-1 px-4 system-sm-regular text-text-tertiary'>...</div>
 
-      <div className='grow overflow-y-auto rounded-b-2xl px-4'>
+      <div className='grow px-4 rounded-b-2xl overflow-y-auto'>
         {globalVariableList.map(item => (
           <Item
             key={item.name}
diff --git a/app/components/workflow/panel/global-variable-panel/item.tsx b/app/components/workflow/panel/global-variable-panel/item.tsx
index ddf9abe..e7cdf16 100644
--- a/app/components/workflow/panel/global-variable-panel/item.tsx
+++ b/app/components/workflow/panel/global-variable-panel/item.tsx
@@ -13,16 +13,16 @@
 }: Props) => {
   return (
     <div className={cn(
-      'radius-md mb-1 border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg px-2.5 py-2 shadow-xs hover:bg-components-panel-on-panel-item-bg-hover',
+      'mb-1 px-2.5 py-2 bg-components-panel-on-panel-item-bg radius-md border border-components-panel-border-subtle shadow-xs hover:bg-components-panel-on-panel-item-bg-hover',
     )}>
       <div className='flex items-center justify-between'>
-        <div className='flex grow items-center gap-1'>
-          <Env className='h-4 w-4 text-util-colors-violet-violet-600' />
-          <div className='system-sm-medium text-text-primary'>{payload.name}</div>
-          <div className='system-xs-medium text-text-tertiary'>{capitalize(payload.value_type)}</div>
+        <div className='grow flex gap-1 items-center'>
+          <Env className='w-4 h-4 text-util-colors-violet-violet-600' />
+          <div className='text-text-primary system-sm-medium'>{payload.name}</div>
+          <div className='text-text-tertiary system-xs-medium'>{capitalize(payload.value_type)}</div>
         </div>
       </div>
-      <div className='system-xs-regular truncate text-text-tertiary'>{payload.description}</div>
+      <div className='text-text-tertiary system-xs-regular truncate'>{payload.description}</div>
     </div>
   )
 }
diff --git a/app/components/workflow/panel/index.tsx b/app/components/workflow/panel/index.tsx
index 8e510f4..51cb170 100644
--- a/app/components/workflow/panel/index.tsx
+++ b/app/components/workflow/panel/index.tsx
@@ -1,34 +1,61 @@
 import type { FC } from 'react'
 import { memo } from 'react'
 import { useNodes } from 'reactflow'
+import { useShallow } from 'zustand/react/shallow'
 import type { CommonNodeType } from '../types'
 import { Panel as NodePanel } from '../nodes'
 import { useStore } from '../store'
+import {
+  useIsChatMode,
+} from '../hooks'
+import DebugAndPreview from './debug-and-preview'
+import Record from './record'
+import WorkflowPreview from './workflow-preview'
+import ChatRecord from './chat-record'
+import ChatVariablePanel from './chat-variable-panel'
 import EnvPanel from './env-panel'
+import GlobalVariablePanel from './global-variable-panel'
 import cn from '@/utils/classnames'
+import { useStore as useAppStore } from '@/app/components/app/store'
+import MessageLogModal from '@/app/components/base/message-log-modal'
 
-export type PanelProps = {
-  components?: {
-    left?: React.ReactNode
-    right?: React.ReactNode
-  }
-}
-const Panel: FC<PanelProps> = ({
-  components,
-}) => {
+const Panel: FC = () => {
   const nodes = useNodes<CommonNodeType>()
+  const isChatMode = useIsChatMode()
   const selectedNode = nodes.find(node => node.data.selected)
+  const historyWorkflowData = useStore(s => s.historyWorkflowData)
+  const showDebugAndPreviewPanel = useStore(s => s.showDebugAndPreviewPanel)
   const showEnvPanel = useStore(s => s.showEnvPanel)
+  const showChatVariablePanel = useStore(s => s.showChatVariablePanel)
+  const showGlobalVariablePanel = useStore(s => s.showGlobalVariablePanel)
   const isRestoring = useStore(s => s.isRestoring)
+  const { currentLogItem, setCurrentLogItem, showMessageLogModal, setShowMessageLogModal, currentLogModalActiveTab } = useAppStore(useShallow(state => ({
+    currentLogItem: state.currentLogItem,
+    setCurrentLogItem: state.setCurrentLogItem,
+    showMessageLogModal: state.showMessageLogModal,
+    setShowMessageLogModal: state.setShowMessageLogModal,
+    currentLogModalActiveTab: state.currentLogModalActiveTab,
+  })))
 
   return (
     <div
       tabIndex={-1}
-      className={cn('absolute bottom-2 right-0 top-14 z-10 flex outline-none')}
+      className={cn('absolute top-14 right-0 bottom-2 flex z-10 outline-none')}
       key={`${isRestoring}`}
     >
       {
-        components?.left
+        showMessageLogModal && (
+          <MessageLogModal
+            fixedWidth
+            width={400}
+            currentLogItem={currentLogItem}
+            onCancel={() => {
+              setCurrentLogItem()
+              setShowMessageLogModal(false)
+            }}
+            defaultTab={currentLogModalActiveTab}
+          />
+        )
       }
       {
         !!selectedNode && (
@@ -36,13 +63,40 @@
         )
       }
       {
-        components?.right
+        historyWorkflowData && !isChatMode && (
+          <Record />
+        )
+      }
+      {
+        historyWorkflowData && isChatMode && (
+          <ChatRecord />
+        )
+      }
+      {
+        showDebugAndPreviewPanel && isChatMode && (
+          <DebugAndPreview />
+        )
+      }
+      {
+        showDebugAndPreviewPanel && !isChatMode && (
+          <WorkflowPreview />
+        )
       }
       {
         showEnvPanel && (
           <EnvPanel />
         )
       }
+      {
+        showChatVariablePanel && (
+          <ChatVariablePanel />
+        )
+      }
+      {
+        showGlobalVariablePanel && (
+          <GlobalVariablePanel />
+        )
+      }
     </div>
   )
 }
diff --git a/app/components/workflow/panel/inputs-panel.tsx b/app/components/workflow/panel/inputs-panel.tsx
index 8be8d81..47fec40 100644
--- a/app/components/workflow/panel/inputs-panel.tsx
+++ b/app/components/workflow/panel/inputs-panel.tsx
@@ -95,7 +95,7 @@
 
   return (
     <>
-      <div className='px-4 pb-2 pt-3'>
+      <div className='pt-3 px-4 pb-2'>
         {
           variables.map((variable, index) => (
             <div
diff --git a/app/components/workflow/panel/record.tsx b/app/components/workflow/panel/record.tsx
index 70fe9c4..f60f6f7 100644
--- a/app/components/workflow/panel/record.tsx
+++ b/app/components/workflow/panel/record.tsx
@@ -18,8 +18,8 @@
   }, [handleUpdateWorkflowCanvas])
 
   return (
-    <div className='flex h-full w-[400px] flex-col rounded-l-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl'>
-      <div className='system-xl-semibold flex items-center justify-between p-4 pb-0 text-text-primary'>
+    <div className='flex flex-col w-[400px] h-full rounded-l-2xl border-[0.5px] border-components-panel-border shadow-xl bg-components-panel-bg'>
+      <div className='flex items-center justify-between p-4 pb-0 text-text-primary system-xl-semibold'>
         {`Test Run#${historyWorkflowData?.sequence_number}`}
       </div>
       <Run
diff --git a/app/components/workflow/panel/workflow-preview.tsx b/app/components/workflow/panel/workflow-preview.tsx
index 34b0ec6..210a95f 100644
--- a/app/components/workflow/panel/workflow-preview.tsx
+++ b/app/components/workflow/panel/workflow-preview.tsx
@@ -2,6 +2,7 @@
   memo,
   useCallback,
   useEffect,
+  // useRef,
   useState,
 } from 'react'
 import {
@@ -10,6 +11,7 @@
 } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import copy from 'copy-to-clipboard'
+import { useBoolean } from 'ahooks'
 import ResultText from '../run/result-text'
 import ResultPanel from '../run/result-panel'
 import TracingPanel from '../run/tracing-panel'
@@ -20,11 +22,14 @@
 import {
   WorkflowRunningStatus,
 } from '../types'
+import { SimpleBtn } from '../../app/text-generate/item'
 import Toast from '../../base/toast'
+import IterationResultPanel from '../run/iteration-result-panel'
+import RetryResultPanel from '../run/retry-result-panel'
 import InputsPanel from './inputs-panel'
 import cn from '@/utils/classnames'
 import Loading from '@/app/components/base/loading'
-import Button from '@/app/components/base/button'
+import type { IterationDurationMap, NodeTracing } from '@/types/workflow'
 
 const WorkflowPreview = () => {
   const { t } = useTranslation()
@@ -48,163 +53,190 @@
       switchTab('DETAIL')
   }, [workflowRunningData])
 
-  const [panelWidth, setPanelWidth] = useState(420)
-  const [isResizing, setIsResizing] = useState(false)
+  const [iterationRunResult, setIterationRunResult] = useState<NodeTracing[][]>([])
+  const [retryRunResult, setRetryRunResult] = useState<NodeTracing[]>([])
+  const [iterDurationMap, setIterDurationMap] = useState<IterationDurationMap>({})
+  const [isShowIterationDetail, {
+    setTrue: doShowIterationDetail,
+    setFalse: doHideIterationDetail,
+  }] = useBoolean(false)
+  const [isShowRetryDetail, {
+    setTrue: doShowRetryDetail,
+    setFalse: doHideRetryDetail,
+  }] = useBoolean(false)
 
-  const startResizing = useCallback((e: React.MouseEvent) => {
-    e.preventDefault()
-    setIsResizing(true)
-  }, [])
+  const handleShowIterationDetail = useCallback((detail: NodeTracing[][], iterationDurationMap: IterationDurationMap) => {
+    setIterDurationMap(iterationDurationMap)
+    setIterationRunResult(detail)
+    doShowIterationDetail()
+  }, [doShowIterationDetail])
 
-  const stopResizing = useCallback(() => {
-    setIsResizing(false)
-  }, [])
+  const handleRetryDetail = useCallback((detail: NodeTracing[]) => {
+    setRetryRunResult(detail)
+    doShowRetryDetail()
+  }, [doShowRetryDetail])
 
-  const resize = useCallback((e: MouseEvent) => {
-    if (isResizing) {
-      const newWidth = window.innerWidth - e.clientX
-      if (newWidth > 420 && newWidth < 1024)
-        setPanelWidth(newWidth)
-    }
-  }, [isResizing])
-
-  useEffect(() => {
-    window.addEventListener('mousemove', resize)
-    window.addEventListener('mouseup', stopResizing)
-    return () => {
-      window.removeEventListener('mousemove', resize)
-      window.removeEventListener('mouseup', stopResizing)
-    }
-  }, [resize, stopResizing])
+  if (isShowIterationDetail) {
+    return (
+      <div className={`
+      flex flex-col w-[420px] h-full rounded-l-2xl border-[0.5px] border-gray-200 shadow-xl bg-white
+    `}>
+        <IterationResultPanel
+          list={iterationRunResult}
+          onHide={doHideIterationDetail}
+          onBack={doHideIterationDetail}
+          iterDurationMap={iterDurationMap}
+        />
+      </div>
+    )
+  }
 
   return (
     <div className={`
-      relative flex h-full flex-col rounded-l-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl
-    `}
-      style={{ width: `${panelWidth}px` }}
-    >
-      <div
-        className="absolute bottom-0 left-[3px] top-1/2 z-50 h-6 w-[3px] cursor-col-resize rounded bg-gray-300"
-        onMouseDown={startResizing}
-      />
-      <div className='flex items-center justify-between p-4 pb-1 text-base font-semibold text-text-primary'>
+      flex flex-col w-[420px] h-full rounded-l-2xl border-[0.5px] border-gray-200 shadow-xl bg-white
+    `}>
+      <div className='flex items-center justify-between p-4 pb-1 text-base font-semibold text-gray-900'>
         {`Test Run${!workflowRunningData?.result.sequence_number ? '' : `#${workflowRunningData?.result.sequence_number}`}`}
-        <div className='cursor-pointer p-1' onClick={() => handleCancelDebugAndPreviewPanel()}>
-          <RiCloseLine className='h-4 w-4 text-text-tertiary' />
+        <div className='p-1 cursor-pointer' onClick={() => handleCancelDebugAndPreviewPanel()}>
+          <RiCloseLine className='w-4 h-4 text-gray-500' />
         </div>
       </div>
-      <div className='relative flex grow flex-col'>
-        <div className='flex shrink-0 items-center border-b-[0.5px] border-divider-subtle px-4'>
-          {showInputsPanel && (
-            <div
-              className={cn(
-                'mr-6 cursor-pointer border-b-2 border-transparent py-3 text-[13px] font-semibold leading-[18px] text-text-tertiary',
-                currentTab === 'INPUT' && '!border-[rgb(21,94,239)] text-text-secondary',
-              )}
-              onClick={() => switchTab('INPUT')}
-            >{t('runLog.input')}</div>
-          )}
-          <div
-            className={cn(
-              'mr-6 cursor-pointer border-b-2 border-transparent py-3 text-[13px] font-semibold leading-[18px] text-text-tertiary',
-              currentTab === 'RESULT' && '!border-[rgb(21,94,239)] text-text-secondary',
-              !workflowRunningData && '!cursor-not-allowed opacity-30',
-            )}
-            onClick={() => {
-              if (!workflowRunningData)
-                return
-              switchTab('RESULT')
-            }}
-          >{t('runLog.result')}</div>
-          <div
-            className={cn(
-              'mr-6 cursor-pointer border-b-2 border-transparent py-3 text-[13px] font-semibold leading-[18px] text-text-tertiary',
-              currentTab === 'DETAIL' && '!border-[rgb(21,94,239)] text-text-secondary',
-              !workflowRunningData && '!cursor-not-allowed opacity-30',
-            )}
-            onClick={() => {
-              if (!workflowRunningData)
-                return
-              switchTab('DETAIL')
-            }}
-          >{t('runLog.detail')}</div>
-          <div
-            className={cn(
-              'mr-6 cursor-pointer border-b-2 border-transparent py-3 text-[13px] font-semibold leading-[18px] text-text-tertiary',
-              currentTab === 'TRACING' && '!border-[rgb(21,94,239)] text-text-secondary',
-              !workflowRunningData && '!cursor-not-allowed opacity-30',
-            )}
-            onClick={() => {
-              if (!workflowRunningData)
-                return
-              switchTab('TRACING')
-            }}
-          >{t('runLog.tracing')}</div>
-        </div>
-        <div className={cn(
-          'h-0 grow overflow-y-auto rounded-b-2xl bg-components-panel-bg',
-          (currentTab === 'RESULT' || currentTab === 'TRACING') && '!bg-background-section-burn',
-        )}>
-          {currentTab === 'INPUT' && showInputsPanel && (
-            <InputsPanel onRun={() => switchTab('RESULT')} />
-          )}
-          {currentTab === 'RESULT' && (
+      <div className='grow relative flex flex-col'>
+        {isShowIterationDetail
+          ? (
+            <IterationResultPanel
+              list={iterationRunResult}
+              onHide={doHideIterationDetail}
+              onBack={doHideIterationDetail}
+              iterDurationMap={iterDurationMap}
+            />
+          )
+          : (
             <>
-              <ResultText
-                isRunning={workflowRunningData?.result?.status === WorkflowRunningStatus.Running || !workflowRunningData?.result}
-                outputs={workflowRunningData?.resultText}
-                allFiles={workflowRunningData?.result?.files}
-                error={workflowRunningData?.result?.error}
-                onClick={() => switchTab('DETAIL')}
-              />
-              {(workflowRunningData?.result.status === WorkflowRunningStatus.Succeeded && workflowRunningData?.resultText && typeof workflowRunningData?.resultText === 'string') && (
-                <Button
-                  className={cn('mb-4 ml-4 space-x-1')}
+              <div className='shrink-0 flex items-center px-4 border-b-[0.5px] border-[rgba(0,0,0,0.05)]'>
+                {showInputsPanel && (
+                  <div
+                    className={cn(
+                      'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+                      currentTab === 'INPUT' && '!border-[rgb(21,94,239)] text-gray-700',
+                    )}
+                    onClick={() => switchTab('INPUT')}
+                  >{t('runLog.input')}</div>
+                )}
+                <div
+                  className={cn(
+                    'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+                    currentTab === 'RESULT' && '!border-[rgb(21,94,239)] text-gray-700',
+                    !workflowRunningData && 'opacity-30 !cursor-not-allowed',
+                  )}
                   onClick={() => {
-                    const content = workflowRunningData?.resultText
-                    if (typeof content === 'string')
-                      copy(content)
-                    else
-                      copy(JSON.stringify(content))
-                    Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
-                  }}>
-                  <RiClipboardLine className='h-3.5 w-3.5' />
-                  <div>{t('common.operation.copy')}</div>
-                </Button>
-              )}
+                    if (!workflowRunningData)
+                      return
+                    switchTab('RESULT')
+                  }}
+                >{t('runLog.result')}</div>
+                <div
+                  className={cn(
+                    'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+                    currentTab === 'DETAIL' && '!border-[rgb(21,94,239)] text-gray-700',
+                    !workflowRunningData && 'opacity-30 !cursor-not-allowed',
+                  )}
+                  onClick={() => {
+                    if (!workflowRunningData)
+                      return
+                    switchTab('DETAIL')
+                  }}
+                >{t('runLog.detail')}</div>
+                <div
+                  className={cn(
+                    'mr-6 py-3 border-b-2 border-transparent text-[13px] font-semibold leading-[18px] text-gray-400 cursor-pointer',
+                    currentTab === 'TRACING' && '!border-[rgb(21,94,239)] text-gray-700',
+                    !workflowRunningData && 'opacity-30 !cursor-not-allowed',
+                  )}
+                  onClick={() => {
+                    if (!workflowRunningData)
+                      return
+                    switchTab('TRACING')
+                  }}
+                >{t('runLog.tracing')}</div>
+              </div>
+              <div className={cn(
+                'grow bg-components-panel-bg h-0 overflow-y-auto rounded-b-2xl',
+                (currentTab === 'RESULT' || currentTab === 'TRACING') && '!bg-background-section-burn',
+              )}>
+                {currentTab === 'INPUT' && showInputsPanel && (
+                  <InputsPanel onRun={() => switchTab('RESULT')} />
+                )}
+                {currentTab === 'RESULT' && (
+                  <>
+                    <ResultText
+                      isRunning={workflowRunningData?.result?.status === WorkflowRunningStatus.Running || !workflowRunningData?.result}
+                      outputs={workflowRunningData?.resultText}
+                      allFiles={workflowRunningData?.result?.files as any}
+                      error={workflowRunningData?.result?.error}
+                      onClick={() => switchTab('DETAIL')}
+                    />
+                    {(workflowRunningData?.result.status === WorkflowRunningStatus.Succeeded && workflowRunningData?.resultText && typeof workflowRunningData?.resultText === 'string') && (
+                      <SimpleBtn
+                        className={cn('ml-4 mb-4 inline-flex space-x-1')}
+                        onClick={() => {
+                          const content = workflowRunningData?.resultText
+                          if (typeof content === 'string')
+                            copy(content)
+                          else
+                            copy(JSON.stringify(content))
+                          Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
+                        }}>
+                        <RiClipboardLine className='w-3.5 h-3.5' />
+                        <div>{t('common.operation.copy')}</div>
+                      </SimpleBtn>
+                    )}
+                  </>
+                )}
+                {currentTab === 'DETAIL' && (
+                  <ResultPanel
+                    inputs={workflowRunningData?.result?.inputs}
+                    outputs={workflowRunningData?.result?.outputs}
+                    status={workflowRunningData?.result?.status || ''}
+                    error={workflowRunningData?.result?.error}
+                    elapsed_time={workflowRunningData?.result?.elapsed_time}
+                    total_tokens={workflowRunningData?.result?.total_tokens}
+                    created_at={workflowRunningData?.result?.created_at}
+                    created_by={(workflowRunningData?.result?.created_by as any)?.name}
+                    steps={workflowRunningData?.result?.total_steps}
+                    exceptionCounts={workflowRunningData?.result?.exceptions_count}
+                  />
+                )}
+                {currentTab === 'DETAIL' && !workflowRunningData?.result && (
+                  <div className='flex h-full items-center justify-center bg-components-panel-bg'>
+                    <Loading />
+                  </div>
+                )}
+                {currentTab === 'TRACING' && !isShowRetryDetail && (
+                  <TracingPanel
+                    className='bg-background-section-burn'
+                    list={workflowRunningData?.tracing || []}
+                    onShowIterationDetail={handleShowIterationDetail}
+                    onShowRetryDetail={handleRetryDetail}
+                  />
+                )}
+                {currentTab === 'TRACING' && !workflowRunningData?.tracing?.length && (
+                  <div className='flex h-full items-center justify-center !bg-background-section-burn'>
+                    <Loading />
+                  </div>
+                )}
+                {
+                  currentTab === 'TRACING' && isShowRetryDetail && (
+                    <RetryResultPanel
+                      list={retryRunResult}
+                      onBack={doHideRetryDetail}
+                    />
+                  )
+                }
+              </div>
             </>
           )}
-          {currentTab === 'DETAIL' && (
-            <ResultPanel
-              inputs={workflowRunningData?.result?.inputs}
-              outputs={workflowRunningData?.result?.outputs}
-              status={workflowRunningData?.result?.status || ''}
-              error={workflowRunningData?.result?.error}
-              elapsed_time={workflowRunningData?.result?.elapsed_time}
-              total_tokens={workflowRunningData?.result?.total_tokens}
-              created_at={workflowRunningData?.result?.created_at}
-              created_by={(workflowRunningData?.result?.created_by as any)?.name}
-              steps={workflowRunningData?.result?.total_steps}
-              exceptionCounts={workflowRunningData?.result?.exceptions_count}
-            />
-          )}
-          {currentTab === 'DETAIL' && !workflowRunningData?.result && (
-            <div className='flex h-full items-center justify-center bg-components-panel-bg'>
-              <Loading />
-            </div>
-          )}
-          {currentTab === 'TRACING' && (
-            <TracingPanel
-              className='bg-background-section-burn'
-              list={workflowRunningData?.tracing || []}
-            />
-          )}
-          {currentTab === 'TRACING' && !workflowRunningData?.tracing?.length && (
-            <div className='flex h-full items-center justify-center !bg-background-section-burn'>
-              <Loading />
-            </div>
-          )}
-        </div>
+
       </div>
     </div>
   )
diff --git a/app/components/workflow/run/index.tsx b/app/components/workflow/run/index.tsx
index 8b99603..8b0319c 100644
--- a/app/components/workflow/run/index.tsx
+++ b/app/components/workflow/run/index.tsx
@@ -3,16 +3,21 @@
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
+import { useBoolean } from 'ahooks'
+import { BlockEnum } from '../types'
 import OutputPanel from './output-panel'
 import ResultPanel from './result-panel'
 import TracingPanel from './tracing-panel'
+import IterationResultPanel from './iteration-result-panel'
+import RetryResultPanel from './retry-result-panel'
 import cn from '@/utils/classnames'
 import { ToastContext } from '@/app/components/base/toast'
 import Loading from '@/app/components/base/loading'
 import { fetchRunDetail, fetchTracingList } from '@/service/log'
-import type { NodeTracing } from '@/types/workflow'
+import type { IterationDurationMap, NodeTracing } from '@/types/workflow'
 import type { WorkflowRunDetailResponse } from '@/models/log'
 import { useStore as useAppStore } from '@/app/components/app/store'
+
 export type RunProps = {
   hideResult?: boolean
   activeTab?: 'RESULT' | 'DETAIL' | 'TRACING'
@@ -55,12 +60,124 @@
     }
   }, [notify, getResultCallback])
 
+  const formatNodeList = useCallback((list: NodeTracing[]) => {
+    const allItems = [...list].reverse()
+    const result: NodeTracing[] = []
+    const nodeGroupMap = new Map<string, Map<string, NodeTracing[]>>()
+
+    const processIterationNode = (item: NodeTracing) => {
+      result.push({
+        ...item,
+        details: [],
+      })
+    }
+
+    const updateParallelModeGroup = (runId: string, item: NodeTracing, iterationNode: NodeTracing) => {
+      if (!nodeGroupMap.has(iterationNode.node_id))
+        nodeGroupMap.set(iterationNode.node_id, new Map())
+
+      const groupMap = nodeGroupMap.get(iterationNode.node_id)!
+
+      if (!groupMap.has(runId)) {
+        groupMap.set(runId, [item])
+      }
+      else {
+        if (item.status === 'retry') {
+          const retryNode = groupMap.get(runId)!.find(node => node.node_id === item.node_id)
+
+          if (retryNode) {
+            if (retryNode?.retryDetail)
+              retryNode.retryDetail.push(item)
+            else
+              retryNode.retryDetail = [item]
+          }
+        }
+        else {
+          groupMap.get(runId)!.push(item)
+        }
+      }
+
+      if (item.status === 'failed') {
+        iterationNode.status = 'failed'
+        iterationNode.error = item.error
+      }
+
+      iterationNode.details = Array.from(groupMap.values())
+    }
+    const updateSequentialModeGroup = (index: number, item: NodeTracing, iterationNode: NodeTracing) => {
+      const { details } = iterationNode
+      if (details) {
+        if (!details[index]) {
+          details[index] = [item]
+        }
+        else {
+          if (item.status === 'retry') {
+            const retryNode = details[index].find(node => node.node_id === item.node_id)
+
+            if (retryNode) {
+              if (retryNode?.retryDetail)
+                retryNode.retryDetail.push(item)
+              else
+                retryNode.retryDetail = [item]
+            }
+          }
+          else {
+            details[index].push(item)
+          }
+        }
+      }
+
+      if (item.status === 'failed') {
+        iterationNode.status = 'failed'
+        iterationNode.error = item.error
+      }
+    }
+    const processNonIterationNode = (item: NodeTracing) => {
+      const { execution_metadata } = item
+      if (!execution_metadata?.iteration_id) {
+        if (item.status === 'retry') {
+          const retryNode = result.find(node => node.node_id === item.node_id)
+
+          if (retryNode) {
+            if (retryNode?.retryDetail)
+              retryNode.retryDetail.push(item)
+            else
+              retryNode.retryDetail = [item]
+          }
+
+          return
+        }
+        result.push(item)
+        return
+      }
+
+      const iterationNode = result.find(node => node.node_id === execution_metadata.iteration_id)
+      if (!iterationNode || !Array.isArray(iterationNode.details))
+        return
+
+      const { parallel_mode_run_id, iteration_index = 0 } = execution_metadata
+
+      if (parallel_mode_run_id)
+        updateParallelModeGroup(parallel_mode_run_id, item, iterationNode)
+      else
+        updateSequentialModeGroup(iteration_index, item, iterationNode)
+    }
+
+    allItems.forEach((item) => {
+      item.node_type === BlockEnum.Iteration
+        ? processIterationNode(item)
+        : processNonIterationNode(item)
+    })
+
+    return result
+  }, [])
+
   const getTracingList = useCallback(async (appID: string, runID: string) => {
     try {
       const { data: nodeList } = await fetchTracingList({
         url: `/apps/${appID}/workflow-runs/${runID}/node-executions`,
       })
-      setList(nodeList)
+      setList(formatNodeList(nodeList))
     }
     catch (err) {
       notify({
@@ -102,14 +219,50 @@
     adjustResultHeight()
   }, [loading])
 
+  const [iterationRunResult, setIterationRunResult] = useState<NodeTracing[][]>([])
+  const [iterDurationMap, setIterDurationMap] = useState<IterationDurationMap>({})
+  const [retryRunResult, setRetryRunResult] = useState<NodeTracing[]>([])
+  const [isShowIterationDetail, {
+    setTrue: doShowIterationDetail,
+    setFalse: doHideIterationDetail,
+  }] = useBoolean(false)
+  const [isShowRetryDetail, {
+    setTrue: doShowRetryDetail,
+    setFalse: doHideRetryDetail,
+  }] = useBoolean(false)
+
+  const handleShowIterationDetail = useCallback((detail: NodeTracing[][], iterDurationMap: IterationDurationMap) => {
+    setIterationRunResult(detail)
+    doShowIterationDetail()
+    setIterDurationMap(iterDurationMap)
+  }, [doShowIterationDetail, setIterationRunResult, setIterDurationMap])
+
+  const handleShowRetryDetail = useCallback((detail: NodeTracing[]) => {
+    setRetryRunResult(detail)
+    doShowRetryDetail()
+  }, [doShowRetryDetail, setRetryRunResult])
+
+  if (isShowIterationDetail) {
+    return (
+      <div className='grow relative flex flex-col'>
+        <IterationResultPanel
+          list={iterationRunResult}
+          onHide={doHideIterationDetail}
+          onBack={doHideIterationDetail}
+          iterDurationMap={iterDurationMap}
+        />
+      </div>
+    )
+  }
+
   return (
-    <div className='relative flex grow flex-col'>
+    <div className='grow relative flex flex-col'>
       {/* tab */}
-      <div className='flex shrink-0 items-center border-b-[0.5px] border-divider-subtle px-4'>
+      <div className='shrink-0 flex items-center px-4 border-b-[0.5px] border-divider-subtle'>
         {!hideResult && (
           <div
             className={cn(
-              'system-sm-semibold-uppercase mr-6 cursor-pointer border-b-2 border-transparent py-3 text-text-tertiary',
+              'mr-6 py-3 border-b-2 border-transparent system-sm-semibold-uppercase text-text-tertiary cursor-pointer',
               currentTab === 'RESULT' && '!border-util-colors-blue-brand-blue-brand-600 text-text-primary',
             )}
             onClick={() => switchTab('RESULT')}
@@ -117,21 +270,21 @@
         )}
         <div
           className={cn(
-            'system-sm-semibold-uppercase mr-6 cursor-pointer border-b-2 border-transparent py-3 text-text-tertiary',
+            'mr-6 py-3 border-b-2 border-transparent system-sm-semibold-uppercase text-text-tertiary cursor-pointer',
             currentTab === 'DETAIL' && '!border-util-colors-blue-brand-blue-brand-600 text-text-primary',
           )}
           onClick={() => switchTab('DETAIL')}
         >{t('runLog.detail')}</div>
         <div
           className={cn(
-            'system-sm-semibold-uppercase mr-6 cursor-pointer border-b-2 border-transparent py-3 text-text-tertiary',
+            'mr-6 py-3 border-b-2 border-transparent system-sm-semibold-uppercase text-text-tertiary cursor-pointer',
             currentTab === 'TRACING' && '!border-util-colors-blue-brand-blue-brand-600 text-text-primary',
           )}
           onClick={() => switchTab('TRACING')}
         >{t('runLog.tracing')}</div>
       </div>
       {/* panel detail */}
-      <div ref={ref} className={cn('relative h-0 grow overflow-y-auto rounded-b-2xl bg-components-panel-bg')}>
+      <div ref={ref} className={cn('grow bg-components-panel-bg h-0 overflow-y-auto rounded-b-2xl', currentTab !== 'DETAIL' && '!bg-background-section-burn')}>
         {loading && (
           <div className='flex h-full items-center justify-center bg-components-panel-bg'>
             <Loading />
@@ -158,12 +311,22 @@
             exceptionCounts={runDetail.exceptions_count}
           />
         )}
-        {!loading && currentTab === 'TRACING' && (
+        {!loading && currentTab === 'TRACING' && !isShowRetryDetail && (
           <TracingPanel
             className='bg-background-section-burn'
             list={list}
+            onShowIterationDetail={handleShowIterationDetail}
+            onShowRetryDetail={handleShowRetryDetail}
           />
         )}
+        {
+          !loading && currentTab === 'TRACING' && isShowRetryDetail && (
+            <RetryResultPanel
+              list={retryRunResult}
+              onBack={doHideRetryDetail}
+            />
+          )
+        }
       </div>
     </div>
   )
diff --git a/app/components/workflow/run/iteration-result-panel.tsx b/app/components/workflow/run/iteration-result-panel.tsx
new file mode 100644
index 0000000..b809e1e
--- /dev/null
+++ b/app/components/workflow/run/iteration-result-panel.tsx
@@ -0,0 +1,174 @@
+'use client'
+import type { FC } from 'react'
+import React, { useCallback, useState } from 'react'
+import { useTranslation } from 'react-i18next'
+import {
+  RiArrowRightSLine,
+  RiCloseLine,
+  RiErrorWarningLine,
+  RiLoader2Line,
+} from '@remixicon/react'
+import { ArrowNarrowLeft } from '../../base/icons/src/vender/line/arrows'
+import { NodeRunningStatus } from '../types'
+import TracingPanel from './tracing-panel'
+import RetryResultPanel from './retry-result-panel'
+import { Iteration } from '@/app/components/base/icons/src/vender/workflow'
+import cn from '@/utils/classnames'
+import type { IterationDurationMap, NodeTracing } from '@/types/workflow'
+const i18nPrefix = 'workflow.singleRun'
+
+type Props = {
+  list: NodeTracing[][]
+  onHide: () => void
+  onBack: () => void
+  noWrap?: boolean
+  iterDurationMap?: IterationDurationMap
+}
+
+const IterationResultPanel: FC<Props> = ({
+  list,
+  onHide,
+  onBack,
+  noWrap,
+  iterDurationMap,
+}) => {
+  const { t } = useTranslation()
+  const [expandedIterations, setExpandedIterations] = useState<Record<number, boolean>>({})
+
+  const toggleIteration = useCallback((index: number) => {
+    setExpandedIterations(prev => ({
+      ...prev,
+      [index]: !prev[index],
+    }))
+  }, [])
+  const countIterDuration = (iteration: NodeTracing[], iterDurationMap: IterationDurationMap): string => {
+    const IterRunIndex = iteration[0]?.execution_metadata?.iteration_index as number
+    const iterRunId = iteration[0]?.execution_metadata?.parallel_mode_run_id
+    const iterItem = iterDurationMap[iterRunId || IterRunIndex]
+    const duration = iterItem
+    return `${(duration && duration > 0.01) ? duration.toFixed(2) : 0.01}s`
+  }
+  const iterationStatusShow = (index: number, iteration: NodeTracing[], iterDurationMap?: IterationDurationMap) => {
+    const hasFailed = iteration.some(item => item.status === NodeRunningStatus.Failed)
+    const isRunning = iteration.some(item => item.status === NodeRunningStatus.Running)
+    const hasDurationMap = iterDurationMap && Object.keys(iterDurationMap).length !== 0
+
+    if (hasFailed)
+      return <RiErrorWarningLine className='w-4 h-4 text-text-destructive' />
+
+    if (isRunning)
+      return <RiLoader2Line className='w-3.5 h-3.5 text-primary-600 animate-spin' />
+
+    return (
+      <>
+        {hasDurationMap && (
+          <div className='system-xs-regular text-text-tertiary'>
+            {countIterDuration(iteration, iterDurationMap)}
+          </div>
+        )}
+        <RiArrowRightSLine
+          className={cn(
+            'w-4 h-4 text-text-tertiary transition-transform duration-200 flex-shrink-0',
+            expandedIterations[index] && 'transform rotate-90',
+          )}
+        />
+      </>
+    )
+  }
+  const [retryRunResult, setRetryRunResult] = useState<Record<string, NodeTracing[]> | undefined>()
+  const handleRetryDetail = (v: number, detail?: NodeTracing[]) => {
+    setRetryRunResult({ ...retryRunResult, [v]: detail })
+  }
+
+  const main = (
+    <>
+      <div className={cn(!noWrap && 'shrink-0 ', 'px-4 pt-3')}>
+        <div className='shrink-0 flex justify-between items-center h-8'>
+          <div className='system-xl-semibold text-text-primary truncate'>
+            {t(`${i18nPrefix}.testRunIteration`)}
+          </div>
+          <div className='ml-2 shrink-0 p-1 cursor-pointer' onClick={onHide}>
+            <RiCloseLine className='w-4 h-4 text-text-tertiary' />
+          </div>
+        </div>
+        <div className='flex items-center py-2 space-x-1 text-text-accent-secondary cursor-pointer' onClick={onBack}>
+          <ArrowNarrowLeft className='w-4 h-4' />
+          <div className='system-sm-medium'>{t(`${i18nPrefix}.back`)}</div>
+        </div>
+      </div>
+      {/* List */}
+      <div className={cn(!noWrap ? 'flex-grow overflow-auto' : 'max-h-full', 'p-2 bg-components-panel-bg')}>
+        {list.map((iteration, index) => (
+          <div key={index} className={cn('mb-1 overflow-hidden rounded-xl bg-background-section-burn border-none')}>
+            <div
+              className={cn(
+                'flex items-center justify-between w-full px-3 cursor-pointer',
+                expandedIterations[index] ? 'pt-3 pb-2' : 'py-3',
+                'rounded-xl text-left',
+              )}
+              onClick={() => toggleIteration(index)}
+            >
+              <div className={cn('flex items-center gap-2 flex-grow')}>
+                <div className='flex items-center justify-center w-4 h-4 rounded-[5px] border-divider-subtle bg-util-colors-cyan-cyan-500 flex-shrink-0'>
+                  <Iteration className='w-3 h-3 text-text-primary-on-surface' />
+                </div>
+                <span className='system-sm-semibold-uppercase text-text-primary flex-grow'>
+                  {t(`${i18nPrefix}.iteration`)} {index + 1}
+                </span>
+                {iterationStatusShow(index, iteration, iterDurationMap)}
+              </div>
+            </div>
+            {expandedIterations[index] && <div
+              className="flex-grow h-px bg-divider-subtle"
+            ></div>}
+            {
+              !retryRunResult?.[index] && (
+                <div className={cn(
+                  'overflow-hidden transition-all duration-200',
+                  expandedIterations[index] ? 'max-h-[1000px] opacity-100' : 'max-h-0 opacity-0',
+                )}>
+                  <TracingPanel
+                    list={iteration}
+                    className='bg-background-section-burn'
+                    onShowRetryDetail={v => handleRetryDetail(index, v)}
+                  />
+                </div>
+              )
+            }
+            {
+              retryRunResult?.[index] && (
+                <RetryResultPanel
+                  list={retryRunResult[index]}
+                  onBack={() => handleRetryDetail(index, undefined)}
+                />
+              )
+            }
+          </div>
+        ))}
+      </div>
+    </>
+  )
+  const handleNotBubble = useCallback((e: React.MouseEvent) => {
+    // if not do this, it will trigger the message log modal disappear(useClickAway)
+    e.stopPropagation()
+    e.nativeEvent.stopImmediatePropagation()
+  }, [])
+
+  if (noWrap)
+    return main
+
+  return (
+    <div
+      className='absolute inset-0 z-10 rounded-2xl pt-10'
+      style={{
+        backgroundColor: 'rgba(16, 24, 40, 0.20)',
+      }}
+      onClick={handleNotBubble}
+    >
+      <div className='h-full rounded-2xl bg-components-panel-bg flex flex-col'>
+        {main}
+      </div>
+    </div >
+  )
+}
+export default React.memo(IterationResultPanel)
diff --git a/app/components/workflow/run/meta.tsx b/app/components/workflow/run/meta.tsx
index 13c35a4..d99261b 100644
--- a/app/components/workflow/run/meta.tsx
+++ b/app/components/workflow/run/meta.tsx
@@ -27,13 +27,13 @@
 
   return (
     <div className='relative'>
-      <div className='system-xs-medium-uppercase h-6 py-1 text-text-tertiary'>{t('runLog.meta.title')}</div>
+      <div className='h-6 py-1 text-text-tertiary system-xs-medium-uppercase'>{t('runLog.meta.title')}</div>
       <div className='py-1'>
         <div className='flex'>
-          <div className='system-xs-regular w-[104px] shrink-0 truncate px-2 py-1.5 text-text-tertiary'>{t('runLog.meta.status')}</div>
-          <div className='system-xs-regular grow px-2 py-1.5 text-text-secondary'>
+          <div className='shrink-0 w-[104px] px-2 py-1.5 text-text-tertiary system-xs-regular truncate'>{t('runLog.meta.status')}</div>
+          <div className='grow px-2 py-1.5 text-text-secondary system-xs-regular'>
             {status === 'running' && (
-              <div className='my-1 h-2 w-16 rounded-sm bg-text-quaternary'/>
+              <div className='my-1 w-16 h-2 rounded-sm bg-text-quaternary'/>
             )}
             {status === 'succeeded' && (
               <span>SUCCESS</span>
@@ -53,10 +53,10 @@
           </div>
         </div>
         <div className='flex'>
-          <div className='system-xs-regular w-[104px] shrink-0 truncate px-2 py-1.5 text-text-tertiary'>{t('runLog.meta.executor')}</div>
-          <div className='system-xs-regular grow px-2 py-1.5 text-text-secondary'>
+          <div className='shrink-0 w-[104px] px-2 py-1.5 text-text-tertiary system-xs-regular truncate'>{t('runLog.meta.executor')}</div>
+          <div className='grow px-2 py-1.5 text-text-secondary system-xs-regular'>
             {status === 'running' && (
-              <div className='my-1 h-2 w-[88px] rounded-sm bg-text-quaternary'/>
+              <div className='my-1 w-[88px] h-2 rounded-sm bg-text-quaternary'/>
             )}
             {status !== 'running' && (
               <span>{executor || 'N/A'}</span>
@@ -64,10 +64,10 @@
           </div>
         </div>
         <div className='flex'>
-          <div className='system-xs-regular w-[104px] shrink-0 truncate px-2 py-1.5 text-text-tertiary'>{t('runLog.meta.startTime')}</div>
-          <div className='system-xs-regular grow px-2 py-1.5 text-text-secondary'>
+          <div className='shrink-0 w-[104px] px-2 py-1.5 text-text-tertiary system-xs-regular truncate'>{t('runLog.meta.startTime')}</div>
+          <div className='grow px-2 py-1.5 text-text-secondary system-xs-regular'>
             {status === 'running' && (
-              <div className='my-1 h-2 w-[72px] rounded-sm bg-text-quaternary'/>
+              <div className='my-1 w-[72px] h-2 rounded-sm bg-text-quaternary'/>
             )}
             {status !== 'running' && (
               <span>{startTime ? formatTime(startTime, t('appLog.dateTimeFormat') as string) : '-'}</span>
@@ -75,10 +75,10 @@
           </div>
         </div>
         <div className='flex'>
-          <div className='system-xs-regular w-[104px] shrink-0 truncate px-2 py-1.5 text-text-tertiary'>{t('runLog.meta.time')}</div>
-          <div className='system-xs-regular grow px-2 py-1.5 text-text-secondary'>
+          <div className='shrink-0 w-[104px] px-2 py-1.5 text-text-tertiary system-xs-regular truncate'>{t('runLog.meta.time')}</div>
+          <div className='grow px-2 py-1.5 text-text-secondary system-xs-regular'>
             {status === 'running' && (
-              <div className='my-1 h-2 w-[72px] rounded-sm bg-text-quaternary'/>
+              <div className='my-1 w-[72px] h-2 rounded-sm bg-text-quaternary'/>
             )}
             {status !== 'running' && (
               <span>{time ? `${time.toFixed(3)}s` : '-'}</span>
@@ -86,10 +86,10 @@
           </div>
         </div>
         <div className='flex'>
-          <div className='system-xs-regular w-[104px] shrink-0 truncate px-2 py-1.5 text-text-tertiary'>{t('runLog.meta.tokens')}</div>
-          <div className='system-xs-regular grow px-2 py-1.5 text-text-secondary'>
+          <div className='shrink-0 w-[104px] px-2 py-1.5 text-text-tertiary system-xs-regular truncate'>{t('runLog.meta.tokens')}</div>
+          <div className='grow px-2 py-1.5 text-text-secondary system-xs-regular'>
             {status === 'running' && (
-              <div className='my-1 h-2 w-[48px] rounded-sm bg-text-quaternary'/>
+              <div className='my-1 w-[48px] h-2 rounded-sm bg-text-quaternary'/>
             )}
             {status !== 'running' && (
               <span>{`${tokens || 0} Tokens`}</span>
@@ -98,10 +98,10 @@
         </div>
         {showSteps && (
           <div className='flex'>
-            <div className='system-xs-regular w-[104px] shrink-0 truncate px-2 py-1.5 text-text-tertiary'>{t('runLog.meta.steps')}</div>
-            <div className='system-xs-regular grow px-2 py-1.5 text-text-secondary'>
+            <div className='shrink-0 w-[104px] px-2 py-1.5 text-text-tertiary system-xs-regular truncate'>{t('runLog.meta.steps')}</div>
+            <div className='grow px-2 py-1.5 text-text-secondary system-xs-regular'>
               {status === 'running' && (
-                <div className='my-1 h-2 w-[24px] rounded-sm bg-text-quaternary'/>
+                <div className='my-1 w-[24px] h-2 rounded-sm bg-text-quaternary'/>
               )}
               {status !== 'running' && (
                 <span>{steps}</span>
diff --git a/app/components/workflow/run/node.tsx b/app/components/workflow/run/node.tsx
index 10f641c..d2da319 100644
--- a/app/components/workflow/run/node.tsx
+++ b/app/components/workflow/run/node.tsx
@@ -1,62 +1,51 @@
 'use client'
 import { useTranslation } from 'react-i18next'
 import type { FC } from 'react'
-import { useCallback, useEffect, useMemo, useState } from 'react'
+import { useCallback, useEffect, useState } from 'react'
 import {
   RiAlertFill,
   RiArrowRightSLine,
   RiCheckboxCircleFill,
   RiErrorWarningLine,
   RiLoader2Line,
+  RiRestartFill,
 } from '@remixicon/react'
 import BlockIcon from '../block-icon'
 import { BlockEnum } from '../types'
-import { RetryLogTrigger } from './retry-log'
-import { IterationLogTrigger } from './iteration-log'
-import { LoopLogTrigger } from './loop-log'
-import { AgentLogTrigger } from './agent-log'
+import Split from '../nodes/_base/components/split'
+import { Iteration } from '@/app/components/base/icons/src/vender/workflow'
 import cn from '@/utils/classnames'
 import StatusContainer from '@/app/components/workflow/run/status-container'
 import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor'
+import Button from '@/app/components/base/button'
 import { CodeLanguage } from '@/app/components/workflow/nodes/code/types'
-import type {
-  AgentLogItemWithChildren,
-  IterationDurationMap,
-  LoopDurationMap,
-  LoopVariableMap,
-  NodeTracing,
-} from '@/types/workflow'
+import type { IterationDurationMap, NodeTracing } from '@/types/workflow'
 import ErrorHandleTip from '@/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip'
 import { hasRetryNode } from '@/app/components/workflow/utils'
 
 type Props = {
   className?: string
   nodeInfo: NodeTracing
-  allExecutions?: NodeTracing[]
   inMessage?: boolean
   hideInfo?: boolean
   hideProcessDetail?: boolean
   onShowIterationDetail?: (detail: NodeTracing[][], iterDurationMap: IterationDurationMap) => void
-  onShowLoopDetail?: (detail: NodeTracing[][], loopDurationMap: LoopDurationMap, loopVariableMap: LoopVariableMap) => void
   onShowRetryDetail?: (detail: NodeTracing[]) => void
-  onShowAgentOrToolLog?: (detail?: AgentLogItemWithChildren) => void
   notShowIterationNav?: boolean
-  notShowLoopNav?: boolean
+  justShowIterationNavArrow?: boolean
+  justShowRetryNavArrow?: boolean
 }
 
 const NodePanel: FC<Props> = ({
   className,
   nodeInfo,
-  allExecutions,
   inMessage = false,
   hideInfo = false,
   hideProcessDetail,
   onShowIterationDetail,
-  onShowLoopDetail,
   onShowRetryDetail,
-  onShowAgentOrToolLog,
   notShowIterationNav,
-  notShowLoopNav,
+  justShowIterationNavArrow,
 }) => {
   const [collapseState, doSetCollapseState] = useState<boolean>(true)
   const setCollapseState = useCallback((state: boolean) => {
@@ -70,7 +59,7 @@
     if (time < 1)
       return `${(time * 1000).toFixed(3)} ms`
     if (time > 60)
-      return `${Number.parseInt(Math.round(time / 60).toString())} m ${(time % 60).toFixed(3)} s`
+      return `${parseInt(Math.round(time / 60).toString())} m ${(time % 60).toFixed(3)} s`
     return `${time.toFixed(3)} s`
   }
 
@@ -78,42 +67,50 @@
     if (tokens < 1000)
       return tokens
     if (tokens >= 1000 && tokens < 1000000)
-      return `${Number.parseFloat((tokens / 1000).toFixed(3))}K`
+      return `${parseFloat((tokens / 1000).toFixed(3))}K`
     if (tokens >= 1000000)
-      return `${Number.parseFloat((tokens / 1000000).toFixed(3))}M`
+      return `${parseFloat((tokens / 1000000).toFixed(3))}M`
   }
 
+  const getCount = (iteration_curr_length: number | undefined, iteration_length: number) => {
+    if ((iteration_curr_length && iteration_curr_length < iteration_length) || !iteration_length)
+      return iteration_curr_length
+
+    return iteration_length
+  }
+  const getErrorCount = (details: NodeTracing[][] | undefined) => {
+    if (!details || details.length === 0)
+      return 0
+
+    return details.reduce((acc, iteration) => {
+      if (iteration.some(item => item.status === 'failed'))
+        acc++
+      return acc
+    }, 0)
+  }
   useEffect(() => {
     setCollapseState(!nodeInfo.expand)
   }, [nodeInfo.expand, setCollapseState])
 
-  const isIterationNode = nodeInfo.node_type === BlockEnum.Iteration && !!nodeInfo.details?.length
-  const isLoopNode = nodeInfo.node_type === BlockEnum.Loop && !!nodeInfo.details?.length
-  const isRetryNode = hasRetryNode(nodeInfo.node_type) && !!nodeInfo.retryDetail?.length
-  const isAgentNode = nodeInfo.node_type === BlockEnum.Agent && !!nodeInfo.agentLog?.length
-  const isToolNode = nodeInfo.node_type === BlockEnum.Tool && !!nodeInfo.agentLog?.length
-
-  const inputsTitle = useMemo(() => {
-    let text = t('workflow.common.input')
-    if (nodeInfo.node_type === BlockEnum.Loop)
-      text = t('workflow.nodes.loop.initialLoopVariables')
-    return text.toLocaleUpperCase()
-  }, [nodeInfo.node_type, t])
-  const processDataTitle = t('workflow.common.processData').toLocaleUpperCase()
-  const outputTitle = useMemo(() => {
-    let text = t('workflow.common.output')
-    if (nodeInfo.node_type === BlockEnum.Loop)
-      text = t('workflow.nodes.loop.finalLoopVariables')
-    return text.toLocaleUpperCase()
-  }, [nodeInfo.node_type, t])
-
+  const isIterationNode = nodeInfo.node_type === BlockEnum.Iteration
+  const isRetryNode = hasRetryNode(nodeInfo.node_type) && nodeInfo.retryDetail
+  const handleOnShowIterationDetail = (e: React.MouseEvent<HTMLButtonElement>) => {
+    e.stopPropagation()
+    e.nativeEvent.stopImmediatePropagation()
+    onShowIterationDetail?.(nodeInfo.details || [], nodeInfo?.iterDurationMap || nodeInfo.execution_metadata?.iteration_duration_map || {})
+  }
+  const handleOnShowRetryDetail = (e: React.MouseEvent<HTMLButtonElement>) => {
+    e.stopPropagation()
+    e.nativeEvent.stopImmediatePropagation()
+    onShowRetryDetail?.(nodeInfo.retryDetail || [])
+  }
   return (
     <div className={cn('px-2 py-1', className)}>
-      <div className='group rounded-[10px] border border-components-panel-border bg-background-default shadow-xs transition-all hover:shadow-md'>
+      <div className='group transition-all bg-background-default border border-components-panel-border rounded-[10px] shadow-xs hover:shadow-md'>
         <div
           className={cn(
-            'flex cursor-pointer items-center pl-1 pr-3',
-            hideInfo ? 'py-2 pl-2' : 'py-1.5',
+            'flex items-center pl-1 pr-3 cursor-pointer',
+            hideInfo ? 'py-2' : 'py-1.5',
             !collapseState && (hideInfo ? '!pb-1' : '!pb-1.5'),
           )}
           onClick={() => setCollapseState(!collapseState)}
@@ -121,70 +118,81 @@
           {!hideProcessDetail && (
             <RiArrowRightSLine
               className={cn(
-                'mr-1 h-4 w-4 shrink-0 text-text-quaternary transition-all group-hover:text-text-tertiary',
+                'shrink-0 w-4 h-4 mr-1 text-text-quaternary transition-all group-hover:text-text-tertiary',
                 !collapseState && 'rotate-90',
               )}
             />
           )}
-          <BlockIcon size={inMessage ? 'xs' : 'sm'} className={cn('mr-2 shrink-0', inMessage && '!mr-1')} type={nodeInfo.node_type} toolIcon={nodeInfo.extras?.icon || nodeInfo.extras} />
+          <BlockIcon size={inMessage ? 'xs' : 'sm'} className={cn('shrink-0 mr-2', inMessage && '!mr-1')} type={nodeInfo.node_type} toolIcon={nodeInfo.extras?.icon || nodeInfo.extras} />
           <div className={cn(
-            'system-xs-semibold-uppercase grow truncate text-text-secondary',
+            'grow text-text-secondary system-xs-semibold-uppercase truncate',
             hideInfo && '!text-xs',
           )} title={nodeInfo.title}>{nodeInfo.title}</div>
           {nodeInfo.status !== 'running' && !hideInfo && (
-            <div className='system-xs-regular shrink-0 text-text-tertiary'>{nodeInfo.execution_metadata?.total_tokens ? `${getTokenCount(nodeInfo.execution_metadata?.total_tokens || 0)} tokens 路 ` : ''}{`${getTime(nodeInfo.elapsed_time || 0)}`}</div>
+            <div className='shrink-0 text-text-tertiary system-xs-regular'>{nodeInfo.execution_metadata?.total_tokens ? `${getTokenCount(nodeInfo.execution_metadata?.total_tokens || 0)} tokens 路 ` : ''}{`${getTime(nodeInfo.elapsed_time || 0)}`}</div>
           )}
           {nodeInfo.status === 'succeeded' && (
-            <RiCheckboxCircleFill className='ml-2 h-3.5 w-3.5 shrink-0 text-text-success' />
+            <RiCheckboxCircleFill className='shrink-0 ml-2 w-3.5 h-3.5 text-text-success' />
           )}
           {nodeInfo.status === 'failed' && (
-            <RiErrorWarningLine className='ml-2 h-3.5 w-3.5 shrink-0 text-text-warning' />
+            <RiErrorWarningLine className='shrink-0 ml-2 w-3.5 h-3.5 text-text-warning' />
           )}
           {nodeInfo.status === 'stopped' && (
-            <RiAlertFill className={cn('ml-2 h-4 w-4 shrink-0 text-text-warning-secondary', inMessage && 'h-3.5 w-3.5')} />
+            <RiAlertFill className={cn('shrink-0 ml-2 w-4 h-4 text-text-warning-secondary', inMessage && 'w-3.5 h-3.5')} />
           )}
           {nodeInfo.status === 'exception' && (
-            <RiAlertFill className={cn('ml-2 h-4 w-4 shrink-0 text-text-warning-secondary', inMessage && 'h-3.5 w-3.5')} />
+            <RiAlertFill className={cn('shrink-0 ml-2 w-4 h-4 text-text-warning-secondary', inMessage && 'w-3.5 h-3.5')} />
           )}
           {nodeInfo.status === 'running' && (
-            <div className='flex shrink-0 items-center text-[13px] font-medium leading-[16px] text-text-accent'>
+            <div className='shrink-0 flex items-center text-text-accent text-[13px] leading-[16px] font-medium'>
               <span className='mr-2 text-xs font-normal'>Running</span>
-              <RiLoader2Line className='h-3.5 w-3.5 animate-spin' />
+              <RiLoader2Line className='w-3.5 h-3.5 animate-spin' />
             </div>
           )}
         </div>
         {!collapseState && !hideProcessDetail && (
           <div className='px-1 pb-1'>
             {/* The nav to the iteration detail */}
-            {isIterationNode && !notShowIterationNav && onShowIterationDetail && (
-              <IterationLogTrigger
-                nodeInfo={nodeInfo}
-                allExecutions={allExecutions}
-                onShowIterationResultList={onShowIterationDetail}
-              />
+            {isIterationNode && !notShowIterationNav && (
+              <div className='mt-2 mb-1 !px-2'>
+                <Button
+                  className='flex items-center w-full self-stretch gap-2 px-3 py-2 bg-components-button-tertiary-bg-hover hover:bg-components-button-tertiary-bg-hover rounded-lg cursor-pointer border-none'
+                  onClick={handleOnShowIterationDetail}
+                >
+                  <Iteration className='w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+                  <div className='flex-1 text-left system-sm-medium text-components-button-tertiary-text'>{t('workflow.nodes.iteration.iteration', { count: getCount(nodeInfo.details?.length, nodeInfo.metadata?.iterator_length) })}{getErrorCount(nodeInfo.details) > 0 && (
+                    <>
+                      {t('workflow.nodes.iteration.comma')}
+                      {t('workflow.nodes.iteration.error', { count: getErrorCount(nodeInfo.details) })}
+                    </>
+                  )}</div>
+                  {justShowIterationNavArrow
+                    ? (
+                      <RiArrowRightSLine className='w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+                    )
+                    : (
+                      <div className='flex items-center space-x-1 text-[#155EEF]'>
+                        <div className='text-[13px] font-normal '>{t('workflow.common.viewDetailInTracingPanel')}</div>
+                        <RiArrowRightSLine className='w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+                      </div>
+                    )}
+                </Button>
+                <Split className='mt-2' />
+              </div>
             )}
-            {/* The nav to the Loop detail */}
-            {isLoopNode && !notShowLoopNav && onShowLoopDetail && (
-              <LoopLogTrigger
-                nodeInfo={nodeInfo}
-                allExecutions={allExecutions}
-                onShowLoopResultList={onShowLoopDetail}
-              />
+            {isRetryNode && (
+              <Button
+                className='flex items-center justify-between mb-1 w-full'
+                variant='tertiary'
+                onClick={handleOnShowRetryDetail}
+              >
+                <div className='flex items-center'>
+                  <RiRestartFill className='mr-0.5 w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+                  {t('workflow.nodes.common.retry.retries', { num: nodeInfo.retryDetail?.length })}
+                </div>
+                <RiArrowRightSLine className='w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+              </Button>
             )}
-            {isRetryNode && onShowRetryDetail && (
-              <RetryLogTrigger
-                nodeInfo={nodeInfo}
-                onShowRetryResultList={onShowRetryDetail}
-              />
-            )}
-            {
-              (isAgentNode || isToolNode) && onShowAgentOrToolLog && (
-                <AgentLogTrigger
-                  nodeInfo={nodeInfo}
-                  onShowAgentOrToolLog={onShowAgentOrToolLog}
-                />
-              )
-            }
             <div className={cn('mb-1', hideInfo && '!px-2 !py-0.5')}>
               {(nodeInfo.status === 'stopped') && (
                 <StatusContainer status='stopped'>
@@ -218,7 +226,7 @@
               <div className={cn('mb-1')}>
                 <CodeEditor
                   readOnly
-                  title={<div>{inputsTitle}</div>}
+                  title={<div>{t('workflow.common.input').toLocaleUpperCase()}</div>}
                   language={CodeLanguage.json}
                   value={nodeInfo.inputs}
                   isJSONStringifyBeauty
@@ -229,7 +237,7 @@
               <div className={cn('mb-1')}>
                 <CodeEditor
                   readOnly
-                  title={<div>{processDataTitle}</div>}
+                  title={<div>{t('workflow.common.processData').toLocaleUpperCase()}</div>}
                   language={CodeLanguage.json}
                   value={nodeInfo.process_data}
                   isJSONStringifyBeauty
@@ -240,7 +248,7 @@
               <div>
                 <CodeEditor
                   readOnly
-                  title={<div>{outputTitle}</div>}
+                  title={<div>{t('workflow.common.output').toLocaleUpperCase()}</div>}
                   language={CodeLanguage.json}
                   value={nodeInfo.outputs}
                   isJSONStringifyBeauty
diff --git a/app/components/workflow/run/output-panel.tsx b/app/components/workflow/run/output-panel.tsx
index ad776a1..ee50857 100644
--- a/app/components/workflow/run/output-panel.tsx
+++ b/app/components/workflow/run/output-panel.tsx
@@ -54,9 +54,9 @@
     return getProcessedFilesFromResponse(fileList)
   }, [outputs])
   return (
-    <div className='p-2'>
+    <div className='py-2'>
       {isRunning && (
-        <div className='pl-[26px] pt-4'>
+        <div className='pt-4 pl-[26px]'>
           <LoadingAnim type='text' />
         </div>
       )}
diff --git a/app/components/workflow/run/result-panel.tsx b/app/components/workflow/run/result-panel.tsx
index 096a825..bbe740a 100644
--- a/app/components/workflow/run/result-panel.tsx
+++ b/app/components/workflow/run/result-panel.tsx
@@ -1,24 +1,19 @@
 'use client'
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiArrowRightSLine,
+  RiRestartFill,
+} from '@remixicon/react'
 import StatusPanel from './status'
 import MetaData from './meta'
 import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor'
 import { CodeLanguage } from '@/app/components/workflow/nodes/code/types'
 import ErrorHandleTip from '@/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip'
-import type {
-  AgentLogItemWithChildren,
-  NodeTracing,
-} from '@/types/workflow'
-import { BlockEnum } from '@/app/components/workflow/types'
-import { hasRetryNode } from '@/app/components/workflow/utils'
-import { IterationLogTrigger } from '@/app/components/workflow/run/iteration-log'
-import { LoopLogTrigger } from '@/app/components/workflow/run/loop-log'
-import { RetryLogTrigger } from '@/app/components/workflow/run/retry-log'
-import { AgentLogTrigger } from '@/app/components/workflow/run/agent-log'
+import type { NodeTracing } from '@/types/workflow'
+import Button from '@/app/components/base/button'
 
 type ResultPanelProps = {
-  nodeInfo?: NodeTracing
   inputs?: string
   process_data?: string
   outputs?: string
@@ -33,14 +28,11 @@
   showSteps?: boolean
   exceptionCounts?: number
   execution_metadata?: any
-  handleShowIterationResultList?: (detail: NodeTracing[][], iterDurationMap: any) => void
-  handleShowLoopResultList?: (detail: NodeTracing[][], loopDurationMap: any) => void
-  onShowRetryDetail?: (detail: NodeTracing[]) => void
-  handleShowAgentOrToolLog?: (detail?: AgentLogItemWithChildren) => void
+  retry_events?: NodeTracing[]
+  onShowRetryDetail?: (retries: NodeTracing[]) => void
 }
 
 const ResultPanel: FC<ResultPanelProps> = ({
-  nodeInfo,
   inputs,
   process_data,
   outputs,
@@ -54,17 +46,10 @@
   showSteps,
   exceptionCounts,
   execution_metadata,
-  handleShowIterationResultList,
-  handleShowLoopResultList,
+  retry_events,
   onShowRetryDetail,
-  handleShowAgentOrToolLog,
 }) => {
   const { t } = useTranslation()
-  const isIterationNode = nodeInfo?.node_type === BlockEnum.Iteration && !!nodeInfo?.details?.length
-  const isLoopNode = nodeInfo?.node_type === BlockEnum.Loop && !!nodeInfo?.details?.length
-  const isRetryNode = hasRetryNode(nodeInfo?.node_type) && !!nodeInfo?.retryDetail?.length
-  const isAgentNode = nodeInfo?.node_type === BlockEnum.Agent && !!nodeInfo?.agentLog?.length
-  const isToolNode = nodeInfo?.node_type === BlockEnum.Tool && !!nodeInfo?.agentLog?.length
 
   return (
     <div className='bg-components-panel-bg py-2'>
@@ -77,41 +62,24 @@
           exceptionCounts={exceptionCounts}
         />
       </div>
-      <div className='px-4'>
-        {
-          isIterationNode && handleShowIterationResultList && (
-            <IterationLogTrigger
-              nodeInfo={nodeInfo}
-              onShowIterationResultList={handleShowIterationResultList}
-            />
-          )
-        }
-        {
-          isLoopNode && handleShowLoopResultList && (
-            <LoopLogTrigger
-              nodeInfo={nodeInfo}
-              onShowLoopResultList={handleShowLoopResultList}
-            />
-          )
-        }
-        {
-          isRetryNode && onShowRetryDetail && (
-            <RetryLogTrigger
-              nodeInfo={nodeInfo}
-              onShowRetryResultList={onShowRetryDetail}
-            />
-          )
-        }
-        {
-          (isAgentNode || isToolNode) && handleShowAgentOrToolLog && (
-            <AgentLogTrigger
-              nodeInfo={nodeInfo}
-              onShowAgentOrToolLog={handleShowAgentOrToolLog}
-            />
-          )
-        }
-      </div>
-      <div className='flex flex-col gap-2 px-4 py-2'>
+      {
+        retry_events?.length && onShowRetryDetail && (
+          <div className='px-4'>
+            <Button
+              className='flex items-center justify-between w-full'
+              variant='tertiary'
+              onClick={() => onShowRetryDetail(retry_events)}
+            >
+              <div className='flex items-center'>
+                <RiRestartFill className='mr-0.5 w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+                {t('workflow.nodes.common.retry.retries', { num: retry_events?.length })}
+              </div>
+              <RiArrowRightSLine className='w-4 h-4 text-components-button-tertiary-text flex-shrink-0' />
+            </Button>
+          </div>
+        )
+      }
+      <div className='px-4 py-2 flex flex-col gap-2'>
         <CodeEditor
           readOnly
           title={<div>{t('workflow.common.input').toLocaleUpperCase()}</div>}
@@ -140,7 +108,7 @@
         )}
       </div>
       <div className='px-4 py-2'>
-        <div className='divider-subtle h-[0.5px]' />
+        <div className='h-[0.5px] divider-subtle' />
       </div>
       <div className='px-4 py-2'>
         <MetaData
diff --git a/app/components/workflow/run/result-text.tsx b/app/components/workflow/run/result-text.tsx
index cf99c60..27b1f2c 100644
--- a/app/components/workflow/run/result-text.tsx
+++ b/app/components/workflow/run/result-text.tsx
@@ -26,7 +26,7 @@
   return (
     <div className='bg-background-section-burn'>
       {isRunning && !outputs && (
-        <div className='pl-[26px] pt-4'>
+        <div className='pt-4 pl-[26px]'>
           <LoadingAnim type='text' />
         </div>
       )}
@@ -38,8 +38,8 @@
         </div>
       )}
       {!isRunning && !outputs && !error && !allFiles?.length && (
-        <div className='mt-[120px] flex flex-col items-center px-4 py-2 text-[13px] leading-[18px] text-gray-500'>
-          <ImageIndentLeft className='h-6 w-6 text-gray-400' />
+        <div className='mt-[120px] px-4 py-2 flex flex-col items-center text-[13px] leading-[18px] text-gray-500'>
+          <ImageIndentLeft className='w-6 h-6 text-gray-400' />
           <div className='mr-2'>{t('runLog.resultEmpty.title')}</div>
           <div>
             {t('runLog.resultEmpty.tipLeft')}
@@ -56,7 +56,7 @@
             </div>
           )}
           {!!allFiles?.length && allFiles.map(item => (
-            <div key={item.varName} className='system-xs-regular flex flex-col gap-1 px-4 py-2'>
+            <div key={item.varName} className='px-4 py-2 flex flex-col gap-1 system-xs-regular'>
               <div className='py-1 text-text-tertiary '>{item.varName}</div>
               <FileList
                 files={item.list}
diff --git a/app/components/workflow/run/retry-result-panel.tsx b/app/components/workflow/run/retry-result-panel.tsx
new file mode 100644
index 0000000..3b177b1
--- /dev/null
+++ b/app/components/workflow/run/retry-result-panel.tsx
@@ -0,0 +1,46 @@
+'use client'
+
+import type { FC } from 'react'
+import { memo } from 'react'
+import { useTranslation } from 'react-i18next'
+import {
+  RiArrowLeftLine,
+} from '@remixicon/react'
+import TracingPanel from './tracing-panel'
+import type { NodeTracing } from '@/types/workflow'
+
+type Props = {
+  list: NodeTracing[]
+  onBack: () => void
+}
+
+const RetryResultPanel: FC<Props> = ({
+  list,
+  onBack,
+}) => {
+  const { t } = useTranslation()
+
+  return (
+    <div>
+      <div
+        className='flex items-center px-4 h-8 text-text-accent-secondary bg-components-panel-bg system-sm-medium cursor-pointer'
+        onClick={(e) => {
+          e.stopPropagation()
+          e.nativeEvent.stopImmediatePropagation()
+          onBack()
+        }}
+      >
+        <RiArrowLeftLine className='mr-1 w-4 h-4' />
+        {t('workflow.singleRun.back')}
+      </div>
+      <TracingPanel
+        list={list.map((item, index) => ({
+          ...item,
+          title: `${t('workflow.nodes.common.retry.retry')} ${index + 1}`,
+        }))}
+        className='bg-background-section-burn'
+      />
+    </div >
+  )
+}
+export default memo(RetryResultPanel)
diff --git a/app/components/workflow/run/status-container.tsx b/app/components/workflow/run/status-container.tsx
index 47890da..97d0e10 100644
--- a/app/components/workflow/run/status-container.tsx
+++ b/app/components/workflow/run/status-container.tsx
@@ -1,8 +1,6 @@
 'use client'
 import type { FC } from 'react'
-import { Theme } from '@/types/app'
 import cn from '@/utils/classnames'
-import useTheme from '@/hooks/use-theme'
 
 type Props = {
   status: string
@@ -13,36 +11,19 @@
   status,
   children,
 }) => {
-  const { theme } = useTheme()
   return (
     <div
       className={cn(
-        'system-xs-regular relative break-all rounded-lg border px-3 py-2.5',
-        status === 'succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-success.svg)] text-text-success',
-        status === 'succeeded' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
-        status === 'succeeded' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(23,178,106,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
-        status === 'partial-succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-success.svg)] text-text-success',
-        status === 'partial-succeeded' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
-        status === 'partial-succeeded' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(23,178,106,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
-        status === 'failed' && 'border-[rgba(240,68,56,0.8)] bg-workflow-display-error-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-error.svg)] text-text-warning',
-        status === 'failed' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(240,68,56,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
-        status === 'failed' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(240,68,56,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
-        status === 'stopped' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-warning.svg)] text-text-destructive',
-        status === 'stopped' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
-        status === 'stopped' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(247,144,9,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
-        status === 'exception' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-warning.svg)] text-text-destructive',
-        status === 'exception' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
-        status === 'exception' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(247,144,9,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
-        status === 'running' && 'border-[rgba(11,165,236,0.8)] bg-workflow-display-normal-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-running.svg)] text-util-colors-blue-light-blue-light-600',
-        status === 'running' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(11,165,236,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
-        status === 'running' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(11,165,236,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
+        'relative px-3 py-2.5 rounded-lg border system-xs-regular break-all',
+        status === 'succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-success.svg)] shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)] text-text-success',
+        status === 'partial-succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-success.svg)] shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)] text-text-success',
+        status === 'failed' && 'border-[rgba(240,68,56,0.8)] bg-workflow-display-error-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-error.svg)] shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(240,68,56,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)] text-text-warning',
+        status === 'stopped' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-warning.svg)] shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)] text-text-destructive',
+        status === 'exception' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-warning.svg)] shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)] text-text-destructive',
+        status === 'running' && 'border-[rgba(11,165,236,0.8)] bg-workflow-display-normal-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-running.svg)] shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(11,165,236,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)] text-util-colors-blue-light-blue-light-600',
       )}
     >
-      <div className={cn(
-        'absolute left-0 top-0 h-[50px] w-[65%] bg-no-repeat',
-        theme === Theme.light && 'bg-[url(~@/app/components/workflow/run/assets/highlight.svg)]',
-        theme === Theme.dark && 'bg-[url(~@/app/components/workflow/run/assets/highlight-dark.svg)]',
-      )}></div>
+      <div className='absolute top-0 left-0 w-[65%] h-[50px] bg-[url(~@/app/components/workflow/run/assets/highlight.svg)]'></div>
       {children}
     </div>
   )
diff --git a/app/components/workflow/run/status.tsx b/app/components/workflow/run/status.tsx
index 2f870f2..ef67cb5 100644
--- a/app/components/workflow/run/status.tsx
+++ b/app/components/workflow/run/status.tsx
@@ -26,13 +26,13 @@
     <StatusContainer status={status}>
       <div className='flex'>
         <div className={cn(
-          'max-w-[120px] flex-[33%]',
+          'flex-[33%] max-w-[120px]',
           status === 'partial-succeeded' && 'min-w-[140px]',
         )}>
-          <div className='system-2xs-medium-uppercase mb-1 text-text-tertiary'>{t('runLog.resultPanel.status')}</div>
+          <div className='mb-1 text-text-tertiary system-2xs-medium-uppercase'>{t('runLog.resultPanel.status')}</div>
           <div
             className={cn(
-              'system-xs-semibold-uppercase flex items-center gap-1',
+              'flex items-center gap-1 system-xs-semibold-uppercase',
               status === 'succeeded' && 'text-util-colors-green-green-600',
               status === 'partial-succeeded' && 'text-util-colors-green-green-600',
               status === 'failed' && 'text-util-colors-red-red-600',
@@ -78,11 +78,11 @@
             )}
           </div>
         </div>
-        <div className='max-w-[152px] flex-[33%]'>
-          <div className='system-2xs-medium-uppercase mb-1 text-text-tertiary'>{t('runLog.resultPanel.time')}</div>
-          <div className='system-sm-medium flex items-center gap-1 text-text-secondary'>
+        <div className='flex-[33%] max-w-[152px]'>
+          <div className='mb-1 text-text-tertiary system-2xs-medium-uppercase'>{t('runLog.resultPanel.time')}</div>
+          <div className='flex items-center gap-1 system-sm-medium text-text-secondary'>
             {status === 'running' && (
-              <div className='h-2 w-16 rounded-sm bg-text-quaternary' />
+              <div className='w-16 h-2 rounded-sm bg-text-quaternary' />
             )}
             {status !== 'running' && (
               <span>{time ? `${time?.toFixed(3)}s` : '-'}</span>
@@ -90,10 +90,10 @@
           </div>
         </div>
         <div className='flex-[33%]'>
-          <div className='system-2xs-medium-uppercase mb-1 text-text-tertiary'>{t('runLog.resultPanel.tokens')}</div>
-          <div className='system-sm-medium flex items-center gap-1 text-text-secondary'>
+          <div className='mb-1 text-text-tertiary system-2xs-medium-uppercase'>{t('runLog.resultPanel.tokens')}</div>
+          <div className='flex items-center gap-1 system-sm-medium text-text-secondary'>
             {status === 'running' && (
-              <div className='h-2 w-20 rounded-sm bg-text-quaternary' />
+              <div className='w-20 h-2 rounded-sm bg-text-quaternary' />
             )}
             {status !== 'running' && (
               <span>{`${tokens || 0} Tokens`}</span>
diff --git a/app/components/workflow/run/tracing-panel.tsx b/app/components/workflow/run/tracing-panel.tsx
index a6e9bf9..ad78971 100644
--- a/app/components/workflow/run/tracing-panel.tsx
+++ b/app/components/workflow/run/tracing-panel.tsx
@@ -12,27 +12,162 @@
   RiMenu4Line,
 } from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
-import { useLogs } from './hooks'
 import NodePanel from './node'
-import SpecialResultPanel from './special-result-panel'
-import type { NodeTracing } from '@/types/workflow'
-import formatNodeList from '@/app/components/workflow/run/utils/format-log'
+import {
+  BlockEnum,
+} from '@/app/components/workflow/types'
+import type { IterationDurationMap, NodeTracing } from '@/types/workflow'
 
 type TracingPanelProps = {
   list: NodeTracing[]
+  onShowIterationDetail?: (detail: NodeTracing[][], iterDurationMap: IterationDurationMap) => void
+  onShowRetryDetail?: (detail: NodeTracing[]) => void
   className?: string
   hideNodeInfo?: boolean
   hideNodeProcessDetail?: boolean
 }
 
+type TracingNodeProps = {
+  id: string
+  uniqueId: string
+  isParallel: boolean
+  data: NodeTracing | null
+  children: TracingNodeProps[]
+  parallelTitle?: string
+  branchTitle?: string
+  hideNodeInfo?: boolean
+  hideNodeProcessDetail?: boolean
+}
+
+function buildLogTree(nodes: NodeTracing[], t: (key: string) => string): TracingNodeProps[] {
+  const rootNodes: TracingNodeProps[] = []
+  const parallelStacks: { [key: string]: TracingNodeProps } = {}
+  const levelCounts: { [key: string]: number } = {}
+  const parallelChildCounts: { [key: string]: Set<string> } = {}
+  let uniqueIdCounter = 0
+  const getUniqueId = () => {
+    uniqueIdCounter++
+    return `unique-${uniqueIdCounter}`
+  }
+
+  const getParallelTitle = (parentId: string | null): string => {
+    const levelKey = parentId || 'root'
+    if (!levelCounts[levelKey])
+      levelCounts[levelKey] = 0
+
+    levelCounts[levelKey]++
+
+    const parentTitle = parentId ? parallelStacks[parentId]?.parallelTitle : ''
+    const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1
+    const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : ''
+    return `${t('workflow.common.parallel')}-${levelNumber}${letter}`
+  }
+
+  const getBranchTitle = (parentId: string | null, branchNum: number): string => {
+    const levelKey = parentId || 'root'
+    const parentTitle = parentId ? parallelStacks[parentId]?.parallelTitle : ''
+    const levelNumber = parentTitle ? parseInt(parentTitle.split('-')[1]) + 1 : 1
+    const letter = parallelChildCounts[levelKey]?.size > 1 ? String.fromCharCode(64 + levelCounts[levelKey]) : ''
+    const branchLetter = String.fromCharCode(64 + branchNum)
+    return `${t('workflow.common.branch')}-${levelNumber}${letter}-${branchLetter}`
+  }
+
+  // Count parallel children (for figuring out if we need to use letters)
+  for (const node of nodes) {
+    const parent_parallel_id = node.parent_parallel_id ?? node.execution_metadata?.parent_parallel_id ?? null
+    const parallel_id = node.parallel_id ?? node.execution_metadata?.parallel_id ?? null
+
+    if (parallel_id) {
+      const parentKey = parent_parallel_id || 'root'
+      if (!parallelChildCounts[parentKey])
+        parallelChildCounts[parentKey] = new Set()
+
+      parallelChildCounts[parentKey].add(parallel_id)
+    }
+  }
+
+  for (const node of nodes) {
+    const parallel_id = node.parallel_id ?? node.execution_metadata?.parallel_id ?? null
+    const parent_parallel_id = node.parent_parallel_id ?? node.execution_metadata?.parent_parallel_id ?? null
+    const parallel_start_node_id = node.parallel_start_node_id ?? node.execution_metadata?.parallel_start_node_id ?? null
+    const parent_parallel_start_node_id = node.parent_parallel_start_node_id ?? node.execution_metadata?.parent_parallel_start_node_id ?? null
+
+    if (!parallel_id || node.node_type === BlockEnum.End) {
+      rootNodes.push({
+        id: node.id,
+        uniqueId: getUniqueId(),
+        isParallel: false,
+        data: node,
+        children: [],
+      })
+    }
+    else {
+      if (!parallelStacks[parallel_id]) {
+        const newParallelGroup: TracingNodeProps = {
+          id: parallel_id,
+          uniqueId: getUniqueId(),
+          isParallel: true,
+          data: null,
+          children: [],
+          parallelTitle: '',
+        }
+        parallelStacks[parallel_id] = newParallelGroup
+
+        if (parent_parallel_id && parallelStacks[parent_parallel_id]) {
+          const sameBranchIndex = parallelStacks[parent_parallel_id].children.findLastIndex(c =>
+            c.data?.execution_metadata?.parallel_start_node_id === parent_parallel_start_node_id || c.data?.parallel_start_node_id === parent_parallel_start_node_id,
+          )
+          parallelStacks[parent_parallel_id].children.splice(sameBranchIndex + 1, 0, newParallelGroup)
+          newParallelGroup.parallelTitle = getParallelTitle(parent_parallel_id)
+        }
+        else {
+          newParallelGroup.parallelTitle = getParallelTitle(parent_parallel_id)
+          rootNodes.push(newParallelGroup)
+        }
+      }
+      const branchTitle = parallel_start_node_id === node.node_id ? getBranchTitle(parent_parallel_id, parallelStacks[parallel_id].children.length + 1) : ''
+      if (branchTitle) {
+        parallelStacks[parallel_id].children.push({
+          id: node.id,
+          uniqueId: getUniqueId(),
+          isParallel: false,
+          data: node,
+          children: [],
+          branchTitle,
+        })
+      }
+      else {
+        let sameBranchIndex = parallelStacks[parallel_id].children.findLastIndex(c =>
+          c.data?.execution_metadata?.parallel_start_node_id === parallel_start_node_id || c.data?.parallel_start_node_id === parallel_start_node_id,
+        )
+        if (parallelStacks[parallel_id].children[sameBranchIndex + 1]?.isParallel)
+          sameBranchIndex++
+
+        parallelStacks[parallel_id].children.splice(sameBranchIndex + 1, 0, {
+          id: node.id,
+          uniqueId: getUniqueId(),
+          isParallel: false,
+          data: node,
+          children: [],
+          branchTitle,
+        })
+      }
+    }
+  }
+
+  return rootNodes
+}
+
 const TracingPanel: FC<TracingPanelProps> = ({
   list,
+  onShowIterationDetail,
+  onShowRetryDetail,
   className,
   hideNodeInfo = false,
   hideNodeProcessDetail = false,
 }) => {
   const { t } = useTranslation()
-  const treeNodes = formatNodeList(list, t)
+  const treeNodes = buildLogTree(list, t)
   const [collapsedNodes, setCollapsedNodes] = useState<Set<string>>(new Set())
   const [hoveredParallel, setHoveredParallel] = useState<string | null>(null)
 
@@ -68,47 +203,19 @@
     }
   }, [])
 
-  const {
-    showSpecialResultPanel,
-
-    showRetryDetail,
-    setShowRetryDetailFalse,
-    retryResultList,
-    handleShowRetryResultList,
-
-    showIteratingDetail,
-    setShowIteratingDetailFalse,
-    iterationResultList,
-    iterationResultDurationMap,
-    handleShowIterationResultList,
-
-    showLoopingDetail,
-    setShowLoopingDetailFalse,
-    loopResultList,
-    loopResultDurationMap,
-    loopResultVariableMap,
-    handleShowLoopResultList,
-
-    agentOrToolLogItemStack,
-    agentOrToolLogListMap,
-    handleShowAgentOrToolLog,
-  } = useLogs()
-
-  const renderNode = (node: NodeTracing) => {
-    const isParallelFirstNode = !!node.parallelDetail?.isParallelStartNode
-    if (isParallelFirstNode) {
-      const parallelDetail = node.parallelDetail!
+  const renderNode = (node: TracingNodeProps) => {
+    if (node.isParallel) {
       const isCollapsed = collapsedNodes.has(node.id)
       const isHovered = hoveredParallel === node.id
       return (
         <div
-          key={node.id}
-          className="relative mb-2 ml-4"
+          key={node.uniqueId}
+          className="ml-4 mb-2 relative"
           data-parallel-id={node.id}
           onMouseEnter={() => handleParallelMouseEnter(node.id)}
           onMouseLeave={handleParallelMouseLeave}
         >
-          <div className="mb-1 flex items-center">
+          <div className="flex items-center mb-1">
             <button
               onClick={() => toggleCollapse(node.id)}
               className={cn(
@@ -116,22 +223,22 @@
                 isHovered ? 'rounded border-components-button-primary-border bg-components-button-primary-bg text-text-primary-on-surface' : 'text-text-secondary hover:text-text-primary',
               )}
             >
-              {isHovered ? <RiArrowDownSLine className="h-3 w-3" /> : <RiMenu4Line className="h-3 w-3 text-text-tertiary" />}
+              {isHovered ? <RiArrowDownSLine className="w-3 h-3" /> : <RiMenu4Line className="w-3 h-3 text-text-tertiary" />}
             </button>
-            <div className="system-xs-semibold-uppercase flex items-center text-text-secondary">
-              <span>{parallelDetail.parallelTitle}</span>
+            <div className="system-xs-semibold-uppercase text-text-secondary flex items-center">
+              <span>{node.parallelTitle}</span>
             </div>
             <div
-              className="mx-2 h-px grow bg-divider-subtle"
+              className="mx-2 flex-grow h-px bg-divider-subtle"
               style={{ background: 'linear-gradient(to right, rgba(16, 24, 40, 0.08), rgba(255, 255, 255, 0)' }}
             ></div>
           </div>
-          <div className={`relative pl-2 ${isCollapsed ? 'hidden' : ''}`}>
+          <div className={`pl-2 relative ${isCollapsed ? 'hidden' : ''}`}>
             <div className={cn(
-              'absolute bottom-0 left-[5px] top-0 w-[2px]',
+              'absolute top-0 bottom-0 left-[5px] w-[2px]',
               isHovered ? 'bg-text-accent-secondary' : 'bg-divider-subtle',
             )}></div>
-            {parallelDetail.children!.map(renderNode)}
+            {node.children.map(renderNode)}
           </div>
         </div>
       )
@@ -139,17 +246,16 @@
     else {
       const isHovered = hoveredParallel === node.id
       return (
-        <div key={node.id}>
-          <div className={cn('system-2xs-medium-uppercase -mb-1.5 pl-4', isHovered ? 'text-text-tertiary' : 'text-text-quaternary')}>
-            {node?.parallelDetail?.branchTitle}
+        <div key={node.uniqueId}>
+          <div className={cn('pl-4 -mb-1.5 system-2xs-medium-uppercase', isHovered ? 'text-text-tertiary' : 'text-text-quaternary')}>
+            {node.branchTitle}
           </div>
           <NodePanel
-            nodeInfo={node!}
-            allExecutions={list}
-            onShowIterationDetail={handleShowIterationResultList}
-            onShowLoopDetail={handleShowLoopResultList}
-            onShowRetryDetail={handleShowRetryResultList}
-            onShowAgentOrToolLog={handleShowAgentOrToolLog}
+            nodeInfo={node.data!}
+            onShowIterationDetail={onShowIterationDetail}
+            onShowRetryDetail={onShowRetryDetail}
+            justShowIterationNavArrow={true}
+            justShowRetryNavArrow={true}
             hideInfo={hideNodeInfo}
             hideProcessDetail={hideNodeProcessDetail}
           />
@@ -158,39 +264,8 @@
     }
   }
 
-  if (showSpecialResultPanel) {
-    return (
-      <SpecialResultPanel
-        showRetryDetail={showRetryDetail}
-        setShowRetryDetailFalse={setShowRetryDetailFalse}
-        retryResultList={retryResultList}
-
-        showIteratingDetail={showIteratingDetail}
-        setShowIteratingDetailFalse={setShowIteratingDetailFalse}
-        iterationResultList={iterationResultList}
-        iterationResultDurationMap={iterationResultDurationMap}
-
-        showLoopingDetail={showLoopingDetail}
-        setShowLoopingDetailFalse={setShowLoopingDetailFalse}
-        loopResultList={loopResultList}
-        loopResultDurationMap={loopResultDurationMap}
-        loopResultVariableMap={loopResultVariableMap}
-
-        agentOrToolLogItemStack={agentOrToolLogItemStack}
-        agentOrToolLogListMap={agentOrToolLogListMap}
-        handleShowAgentOrToolLog={handleShowAgentOrToolLog}
-      />
-    )
-  }
-
   return (
-    <div
-      className={cn('py-2', className)}
-      onClick={(e) => {
-        e.stopPropagation()
-        e.nativeEvent.stopImmediatePropagation()
-      }}
-    >
+    <div className={cn(className || 'bg-components-panel-bg', 'py-2')}>
       {treeNodes.map(renderNode)}
     </div>
   )
diff --git a/app/components/workflow/shortcuts-name.tsx b/app/components/workflow/shortcuts-name.tsx
index 8d96bdf..cfb5c33 100644
--- a/app/components/workflow/shortcuts-name.tsx
+++ b/app/components/workflow/shortcuts-name.tsx
@@ -19,7 +19,7 @@
         keys.map(key => (
           <div
             key={key}
-            className='system-kbd flex h-4 w-4 items-center justify-center rounded-[4px] bg-components-kbd-bg-gray capitalize'
+            className='w-4 h-4 flex items-center justify-center bg-components-kbd-bg-gray rounded-[4px] system-kbd capitalize'
           >
             {getKeyboardKeyNameBySystem(key)}
           </div>
diff --git a/app/components/workflow/store.ts b/app/components/workflow/store.ts
new file mode 100644
index 0000000..8e9cdbf
--- /dev/null
+++ b/app/components/workflow/store.ts
@@ -0,0 +1,311 @@
+import { useContext } from 'react'
+import {
+  useStore as useZustandStore,
+} from 'zustand'
+import { createStore } from 'zustand/vanilla'
+import { debounce } from 'lodash-es'
+import type { Viewport } from 'reactflow'
+import type {
+  HelpLineHorizontalPosition,
+  HelpLineVerticalPosition,
+} from './help-line/types'
+import type { VariableAssignerNodeType } from './nodes/variable-assigner/types'
+import type {
+  ConversationVariable,
+  Edge,
+  EnvironmentVariable,
+  HistoryWorkflowData,
+  Node,
+  RunFile,
+  ToolWithProvider,
+  WorkflowRunningData,
+} from './types'
+import { WorkflowContext } from './context'
+import type { NodeTracing, VersionHistory } from '@/types/workflow'
+
+// #TODO chatVar#
+// const MOCK_DATA = [
+//   {
+//     id: 'fjlaksdjflkjg-dfjlajfl0dnfkafjk-djfdkafj-djfak',
+//     name: 'chat_history',
+//     value_type: 'array[message]',
+//     value: [],
+//     description: 'The chat history of the conversation',
+//   },
+//   {
+//     id: 'fljdaklfjl-dfjlafj0-dklajglje-eknglh',
+//     name: 'order_id',
+//     value: '123456',
+//     value_type: 'string',
+//     description: '',
+//   },
+// ]
+
+type PreviewRunningData = WorkflowRunningData & {
+  resultTabActive?: boolean
+  resultText?: string
+}
+
+type Shape = {
+  appId: string
+  panelWidth: number
+  showSingleRunPanel: boolean
+  setShowSingleRunPanel: (showSingleRunPanel: boolean) => void
+  workflowRunningData?: PreviewRunningData
+  setWorkflowRunningData: (workflowData: PreviewRunningData) => void
+  historyWorkflowData?: HistoryWorkflowData
+  setHistoryWorkflowData: (historyWorkflowData?: HistoryWorkflowData) => void
+  showRunHistory: boolean
+  setShowRunHistory: (showRunHistory: boolean) => void
+  showFeaturesPanel: boolean
+  setShowFeaturesPanel: (showFeaturesPanel: boolean) => void
+  helpLineHorizontal?: HelpLineHorizontalPosition
+  setHelpLineHorizontal: (helpLineHorizontal?: HelpLineHorizontalPosition) => void
+  helpLineVertical?: HelpLineVerticalPosition
+  setHelpLineVertical: (helpLineVertical?: HelpLineVerticalPosition) => void
+  draftUpdatedAt: number
+  setDraftUpdatedAt: (draftUpdatedAt: number) => void
+  publishedAt: number
+  setPublishedAt: (publishedAt: number) => void
+  showInputsPanel: boolean
+  setShowInputsPanel: (showInputsPanel: boolean) => void
+  inputs: Record<string, string>
+  setInputs: (inputs: Record<string, string>) => void
+  toolPublished: boolean
+  setToolPublished: (toolPublished: boolean) => void
+  files: RunFile[]
+  setFiles: (files: RunFile[]) => void
+  backupDraft?: {
+    nodes: Node[]
+    edges: Edge[]
+    viewport: Viewport
+    features: Record<string, any>
+    environmentVariables: EnvironmentVariable[]
+  }
+  setBackupDraft: (backupDraft?: Shape['backupDraft']) => void
+  notInitialWorkflow: boolean
+  setNotInitialWorkflow: (notInitialWorkflow: boolean) => void
+  nodesDefaultConfigs: Record<string, any>
+  setNodesDefaultConfigs: (nodesDefaultConfigs: Record<string, any>) => void
+  nodeAnimation: boolean
+  setNodeAnimation: (nodeAnimation: boolean) => void
+  isRestoring: boolean
+  setIsRestoring: (isRestoring: boolean) => void
+  debouncedSyncWorkflowDraft: (fn: () => void) => void
+  buildInTools: ToolWithProvider[]
+  setBuildInTools: (tools: ToolWithProvider[]) => void
+  customTools: ToolWithProvider[]
+  setCustomTools: (tools: ToolWithProvider[]) => void
+  workflowTools: ToolWithProvider[]
+  setWorkflowTools: (tools: ToolWithProvider[]) => void
+  clipboardElements: Node[]
+  setClipboardElements: (clipboardElements: Node[]) => void
+  showDebugAndPreviewPanel: boolean
+  setShowDebugAndPreviewPanel: (showDebugAndPreviewPanel: boolean) => void
+  showEnvPanel: boolean
+  setShowEnvPanel: (showEnvPanel: boolean) => void
+  environmentVariables: EnvironmentVariable[]
+  setEnvironmentVariables: (environmentVariables: EnvironmentVariable[]) => void
+  envSecrets: Record<string, string>
+  setEnvSecrets: (envSecrets: Record<string, string>) => void
+  showChatVariablePanel: boolean
+  setShowChatVariablePanel: (showChatVariablePanel: boolean) => void
+  showGlobalVariablePanel: boolean
+  setShowGlobalVariablePanel: (showGlobalVariablePanel: boolean) => void
+  conversationVariables: ConversationVariable[]
+  setConversationVariables: (conversationVariables: ConversationVariable[]) => void
+  selection: null | { x1: number; y1: number; x2: number; y2: number }
+  setSelection: (selection: Shape['selection']) => void
+  bundleNodeSize: { width: number; height: number } | null
+  setBundleNodeSize: (bundleNodeSize: Shape['bundleNodeSize']) => void
+  controlMode: 'pointer' | 'hand'
+  setControlMode: (controlMode: Shape['controlMode']) => void
+  candidateNode?: Node
+  setCandidateNode: (candidateNode?: Node) => void
+  panelMenu?: {
+    top: number
+    left: number
+  }
+  setPanelMenu: (panelMenu: Shape['panelMenu']) => void
+  nodeMenu?: {
+    top: number
+    left: number
+    nodeId: string
+  }
+  setNodeMenu: (nodeMenu: Shape['nodeMenu']) => void
+  mousePosition: { pageX: number; pageY: number; elementX: number; elementY: number }
+  setMousePosition: (mousePosition: Shape['mousePosition']) => void
+  syncWorkflowDraftHash: string
+  setSyncWorkflowDraftHash: (hash: string) => void
+  showConfirm?: { title: string; desc?: string; onConfirm: () => void }
+  setShowConfirm: (showConfirm: Shape['showConfirm']) => void
+  showAssignVariablePopup?: {
+    nodeId: string
+    nodeData: Node['data']
+    variableAssignerNodeId: string
+    variableAssignerNodeData: VariableAssignerNodeType
+    variableAssignerNodeHandleId: string
+    parentNode?: Node
+    x: number
+    y: number
+  }
+  setShowAssignVariablePopup: (showAssignVariablePopup: Shape['showAssignVariablePopup']) => void
+  hoveringAssignVariableGroupId?: string
+  setHoveringAssignVariableGroupId: (hoveringAssignVariableGroupId?: string) => void
+  connectingNodePayload?: { nodeId: string; nodeType: string; handleType: string; handleId: string | null }
+  setConnectingNodePayload: (startConnectingPayload?: Shape['connectingNodePayload']) => void
+  enteringNodePayload?: {
+    nodeId: string
+    nodeData: VariableAssignerNodeType
+  }
+  setEnteringNodePayload: (enteringNodePayload?: Shape['enteringNodePayload']) => void
+  isSyncingWorkflowDraft: boolean
+  setIsSyncingWorkflowDraft: (isSyncingWorkflowDraft: boolean) => void
+  controlPromptEditorRerenderKey: number
+  setControlPromptEditorRerenderKey: (controlPromptEditorRerenderKey: number) => void
+  showImportDSLModal: boolean
+  setShowImportDSLModal: (showImportDSLModal: boolean) => void
+  showTips: string
+  setShowTips: (showTips: string) => void
+  iterTimes: number
+  setIterTimes: (iterTimes: number) => void
+  iterParallelLogMap: Map<string, Map<string, NodeTracing[]>>
+  setIterParallelLogMap: (iterParallelLogMap: Map<string, Map<string, NodeTracing[]>>) => void
+  versionHistory: VersionHistory[]
+  setVersionHistory: (versionHistory: VersionHistory[]) => void
+}
+
+export const createWorkflowStore = () => {
+  const hideAllPanel = {
+    showDebugAndPreviewPanel: false,
+    showEnvPanel: false,
+    showChatVariablePanel: false,
+    showGlobalVariablePanel: false,
+  }
+  return createStore<Shape>(set => ({
+    appId: '',
+    panelWidth: localStorage.getItem('workflow-node-panel-width') ? parseFloat(localStorage.getItem('workflow-node-panel-width')!) : 420,
+    showSingleRunPanel: false,
+    setShowSingleRunPanel: showSingleRunPanel => set(() => ({ showSingleRunPanel })),
+    workflowRunningData: undefined,
+    setWorkflowRunningData: workflowRunningData => set(() => ({ workflowRunningData })),
+    historyWorkflowData: undefined,
+    setHistoryWorkflowData: historyWorkflowData => set(() => ({ historyWorkflowData })),
+    showRunHistory: false,
+    setShowRunHistory: showRunHistory => set(() => ({ showRunHistory })),
+    showFeaturesPanel: false,
+    setShowFeaturesPanel: showFeaturesPanel => set(() => ({ showFeaturesPanel })),
+    helpLineHorizontal: undefined,
+    setHelpLineHorizontal: helpLineHorizontal => set(() => ({ helpLineHorizontal })),
+    helpLineVertical: undefined,
+    setHelpLineVertical: helpLineVertical => set(() => ({ helpLineVertical })),
+    draftUpdatedAt: 0,
+    setDraftUpdatedAt: draftUpdatedAt => set(() => ({ draftUpdatedAt: draftUpdatedAt ? draftUpdatedAt * 1000 : 0 })),
+    publishedAt: 0,
+    setPublishedAt: publishedAt => set(() => ({ publishedAt: publishedAt ? publishedAt * 1000 : 0 })),
+    showInputsPanel: false,
+    setShowInputsPanel: showInputsPanel => set(() => ({ showInputsPanel })),
+    inputs: {},
+    setInputs: inputs => set(() => ({ inputs })),
+    toolPublished: false,
+    setToolPublished: toolPublished => set(() => ({ toolPublished })),
+    files: [],
+    setFiles: files => set(() => ({ files })),
+    backupDraft: undefined,
+    setBackupDraft: backupDraft => set(() => ({ backupDraft })),
+    notInitialWorkflow: false,
+    setNotInitialWorkflow: notInitialWorkflow => set(() => ({ notInitialWorkflow })),
+    nodesDefaultConfigs: {},
+    setNodesDefaultConfigs: nodesDefaultConfigs => set(() => ({ nodesDefaultConfigs })),
+    nodeAnimation: false,
+    setNodeAnimation: nodeAnimation => set(() => ({ nodeAnimation })),
+    isRestoring: false,
+    setIsRestoring: isRestoring => set(() => ({ isRestoring })),
+    debouncedSyncWorkflowDraft: debounce((syncWorkflowDraft) => {
+      syncWorkflowDraft()
+    }, 5000),
+    buildInTools: [],
+    setBuildInTools: buildInTools => set(() => ({ buildInTools })),
+    customTools: [],
+    setCustomTools: customTools => set(() => ({ customTools })),
+    workflowTools: [],
+    setWorkflowTools: workflowTools => set(() => ({ workflowTools })),
+    clipboardElements: [],
+    setClipboardElements: clipboardElements => set(() => ({ clipboardElements })),
+    showDebugAndPreviewPanel: false,
+    setShowDebugAndPreviewPanel: showDebugAndPreviewPanel => set(() => ({ showDebugAndPreviewPanel })),
+    showEnvPanel: false,
+    setShowEnvPanel: showEnvPanel => set(() => ({ showEnvPanel })),
+    environmentVariables: [],
+    setEnvironmentVariables: environmentVariables => set(() => ({ environmentVariables })),
+    envSecrets: {},
+    setEnvSecrets: envSecrets => set(() => ({ envSecrets })),
+    showChatVariablePanel: false,
+    setShowChatVariablePanel: showChatVariablePanel => set(() => ({ showChatVariablePanel })),
+    showGlobalVariablePanel: false,
+    setShowGlobalVariablePanel: showGlobalVariablePanel => set(() => {
+      if (showGlobalVariablePanel)
+        return { ...hideAllPanel, showGlobalVariablePanel: true }
+      else
+        return { showGlobalVariablePanel: false }
+    }),
+    conversationVariables: [],
+    setConversationVariables: conversationVariables => set(() => ({ conversationVariables })),
+    selection: null,
+    setSelection: selection => set(() => ({ selection })),
+    bundleNodeSize: null,
+    setBundleNodeSize: bundleNodeSize => set(() => ({ bundleNodeSize })),
+    controlMode: localStorage.getItem('workflow-operation-mode') === 'pointer' ? 'pointer' : 'hand',
+    setControlMode: (controlMode) => {
+      set(() => ({ controlMode }))
+      localStorage.setItem('workflow-operation-mode', controlMode)
+    },
+    candidateNode: undefined,
+    setCandidateNode: candidateNode => set(() => ({ candidateNode })),
+    panelMenu: undefined,
+    setPanelMenu: panelMenu => set(() => ({ panelMenu })),
+    nodeMenu: undefined,
+    setNodeMenu: nodeMenu => set(() => ({ nodeMenu })),
+    mousePosition: { pageX: 0, pageY: 0, elementX: 0, elementY: 0 },
+    setMousePosition: mousePosition => set(() => ({ mousePosition })),
+    syncWorkflowDraftHash: '',
+    setSyncWorkflowDraftHash: syncWorkflowDraftHash => set(() => ({ syncWorkflowDraftHash })),
+    showConfirm: undefined,
+    setShowConfirm: showConfirm => set(() => ({ showConfirm })),
+    showAssignVariablePopup: undefined,
+    setShowAssignVariablePopup: showAssignVariablePopup => set(() => ({ showAssignVariablePopup })),
+    hoveringAssignVariableGroupId: undefined,
+    setHoveringAssignVariableGroupId: hoveringAssignVariableGroupId => set(() => ({ hoveringAssignVariableGroupId })),
+    connectingNodePayload: undefined,
+    setConnectingNodePayload: connectingNodePayload => set(() => ({ connectingNodePayload })),
+    enteringNodePayload: undefined,
+    setEnteringNodePayload: enteringNodePayload => set(() => ({ enteringNodePayload })),
+    isSyncingWorkflowDraft: false,
+    setIsSyncingWorkflowDraft: isSyncingWorkflowDraft => set(() => ({ isSyncingWorkflowDraft })),
+    controlPromptEditorRerenderKey: 0,
+    setControlPromptEditorRerenderKey: controlPromptEditorRerenderKey => set(() => ({ controlPromptEditorRerenderKey })),
+    showImportDSLModal: false,
+    setShowImportDSLModal: showImportDSLModal => set(() => ({ showImportDSLModal })),
+    showTips: '',
+    setShowTips: showTips => set(() => ({ showTips })),
+    iterTimes: 1,
+    setIterTimes: iterTimes => set(() => ({ iterTimes })),
+    iterParallelLogMap: new Map<string, Map<string, NodeTracing[]>>(),
+    setIterParallelLogMap: iterParallelLogMap => set(() => ({ iterParallelLogMap })),
+
+    versionHistory: [],
+    setVersionHistory: versionHistory => set(() => ({ versionHistory })),
+  }))
+}
+
+export function useStore<T>(selector: (state: Shape) => T): T {
+  const store = useContext(WorkflowContext)
+  if (!store)
+    throw new Error('Missing WorkflowContext.Provider in the tree')
+
+  return useZustandStore(store, selector)
+}
+
+export const useWorkflowStore = () => {
+  return useContext(WorkflowContext)!
+}
diff --git a/app/components/workflow/style.css b/app/components/workflow/style.css
index 7ef46dd..253d6b7 100644
--- a/app/components/workflow/style.css
+++ b/app/components/workflow/style.css
@@ -21,4 +21,4 @@
   z-index: -1000 !important;
 }
 
-#workflow-container .react-flow {}
+#workflow-container .react-flow {}
\ No newline at end of file
diff --git a/app/components/workflow/types.ts b/app/components/workflow/types.ts
index 884bdfb..7c61ca9 100644
--- a/app/components/workflow/types.ts
+++ b/app/components/workflow/types.ts
@@ -14,7 +14,6 @@
   ErrorHandleTypeEnum,
 } from '@/app/components/workflow/nodes/_base/components/error-handle/types'
 import type { WorkflowRetryConfig } from '@/app/components/workflow/nodes/_base/components/retry/types'
-import type { StructuredOutput } from '@/app/components/workflow/nodes/llm/types'
 
 export enum BlockEnum {
   Start = 'start',
@@ -36,10 +35,6 @@
   ListFilter = 'list-operator',
   IterationStart = 'iteration-start',
   Assigner = 'assigner', // is now named as VariableAssigner
-  Agent = 'agent',
-  Loop = 'loop',
-  LoopStart = 'loop-start',
-  LoopEnd = 'loop-end',
 }
 
 export enum ControlMode {
@@ -66,7 +61,7 @@
   _singleRunningStatus?: NodeRunningStatus
   _isCandidate?: boolean
   _isBundled?: boolean
-  _children?: { nodeId: string; nodeType: BlockEnum }[]
+  _children?: string[]
   _isEntering?: boolean
   _showAddVariablePopup?: boolean
   _holdAddVariablePopup?: boolean
@@ -83,10 +78,6 @@
   type: BlockEnum
   width?: number
   height?: number
-  _loopLength?: number
-  _loopIndex?: number
-  isInLoop?: boolean
-  loop_id?: string
   error_strategy?: ErrorHandleTypeEnum
   retry_config?: WorkflowRetryConfig
   default_value?: DefaultValueForm[]
@@ -102,8 +93,6 @@
   _waitingRun?: boolean
   isInIteration?: boolean
   iteration_id?: string
-  isInLoop?: boolean
-  loop_id?: string
   sourceType: BlockEnum
   targetType: BlockEnum
 }
@@ -178,7 +167,6 @@
   iterator = 'iterator', // iteration input
   singleFile = 'file',
   multiFiles = 'file-list',
-  loop = 'loop', // loop input
 }
 
 export type InputVar = {
@@ -258,23 +246,16 @@
   any = 'any',
 }
 
-export enum ValueType {
-  variable = 'variable',
-  constant = 'constant',
-}
-
 export type Var = {
   variable: string
   type: VarType
-  children?: Var[] | StructuredOutput // if type is obj, has the children struct
+  children?: Var[] // if type is obj, has the children struct
   isParagraph?: boolean
   isSelect?: boolean
   options?: string[]
   required?: boolean
   des?: string
   isException?: boolean
-  isLoopVariable?: boolean
-  nodeId?: string
 }
 
 export type NodeOutPutVar = {
@@ -282,7 +263,6 @@
   title: string
   vars: Var[]
   isStartNode?: boolean
-  isLoop?: boolean
 }
 
 export type Block = {
@@ -349,7 +329,6 @@
   transfer_method: TransferMethod[]
   url?: string
   upload_file_id?: string
-  related_id?: string
 }
 
 export type WorkflowRunningData = {
@@ -421,15 +400,4 @@
 export type VisionSetting = {
   variable_selector: ValueSelector
   detail: Resolution
-}
-
-export enum WorkflowVersionFilterOptions {
-  all = 'all',
-  onlyYours = 'onlyYours',
-}
-
-export enum VersionHistoryContextMenuOptions {
-  restore = 'restore',
-  edit = 'edit',
-  delete = 'delete',
 }
diff --git a/app/components/workflow/update-dsl-modal.tsx b/app/components/workflow/update-dsl-modal.tsx
index b789e3b..3eb65e6 100644
--- a/app/components/workflow/update-dsl-modal.tsx
+++ b/app/components/workflow/update-dsl-modal.tsx
@@ -38,7 +38,6 @@
 import { useEventEmitterContextContext } from '@/context/event-emitter'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { FILE_EXTS } from '@/app/components/base/prompt-editor/constants'
-import { usePluginDependencies } from '@/app/components/workflow/plugin-dependency/hooks'
 
 type UpdateDSLModalProps = {
   onCancel: () => void
@@ -62,7 +61,6 @@
   const [showErrorModal, setShowErrorModal] = useState(false)
   const [versions, setVersions] = useState<{ importedVersion: string; systemVersion: string }>()
   const [importId, setImportId] = useState<string>()
-  const { handleCheckPluginDependencies } = usePluginDependencies()
 
   const readFile = (file: File) => {
     const reader = new FileReader()
@@ -81,7 +79,7 @@
       setFileContent('')
   }
 
-  const handleWorkflowUpdate = useCallback(async (app_id: string) => {
+  const handleWorkflowUpdate = async (app_id: string) => {
     const {
       graph,
       features,
@@ -124,7 +122,7 @@
         hash,
       },
     } as any)
-  }, [eventEmitter])
+  }
 
   const isCreatingRef = useRef(false)
   const handleImport: MouseEventHandler = useCallback(async () => {
@@ -138,7 +136,6 @@
         setLoading(true)
         const response = await importDSL({ mode: DSLImportMode.YAML_CONTENT, yaml_content: fileContent, app_id: appDetail.id })
         const { id, status, app_id, imported_dsl_version, current_dsl_version } = response
-
         if (status === DSLImportStatus.COMPLETED || status === DSLImportStatus.COMPLETED_WITH_WARNINGS) {
           if (!app_id) {
             notify({ type: 'error', message: t('workflow.common.importFailure') })
@@ -152,7 +149,6 @@
             message: t(status === DSLImportStatus.COMPLETED ? 'workflow.common.importSuccess' : 'workflow.common.importWarning'),
             children: status === DSLImportStatus.COMPLETED_WITH_WARNINGS && t('workflow.common.importWarningDetails'),
           })
-          await handleCheckPluginDependencies(app_id)
           setLoading(false)
           onCancel()
         }
@@ -173,13 +169,12 @@
         }
       }
     }
-    // eslint-disable-next-line unused-imports/no-unused-vars
     catch (e) {
       setLoading(false)
       notify({ type: 'error', message: t('workflow.common.importFailure') })
     }
     isCreatingRef.current = false
-  }, [currentFile, fileContent, onCancel, notify, t, appDetail, onImport, handleWorkflowUpdate, handleCheckPluginDependencies])
+  }, [currentFile, fileContent, onCancel, notify, t, eventEmitter, appDetail, onImport])
 
   const onUpdateDSLConfirm: MouseEventHandler = async () => {
     try {
@@ -197,7 +192,6 @@
           return
         }
         handleWorkflowUpdate(app_id)
-        await handleCheckPluginDependencies(app_id)
         if (onImport)
           onImport()
         notify({ type: 'success', message: t('workflow.common.importSuccess') })
@@ -209,7 +203,6 @@
         notify({ type: 'error', message: t('workflow.common.importFailure') })
       }
     }
-    // eslint-disable-next-line unused-imports/no-unused-vars
     catch (e) {
       setLoading(false)
       notify({ type: 'error', message: t('workflow.common.importFailure') })
@@ -219,32 +212,32 @@
   return (
     <>
       <Modal
-        className='w-[520px] rounded-2xl p-6'
+        className='p-6 w-[520px] rounded-2xl'
         isShow={show}
         onClose={onCancel}
       >
-        <div className='mb-3 flex items-center justify-between'>
+        <div className='flex items-center justify-between mb-3'>
           <div className='title-2xl-semi-bold text-text-primary'>{t('workflow.common.importDSL')}</div>
-          <div className='flex h-[22px] w-[22px] cursor-pointer items-center justify-center' onClick={onCancel}>
-            <RiCloseLine className='h-[18px] w-[18px] text-text-tertiary' />
+          <div className='flex items-center justify-center w-[22px] h-[22px] cursor-pointer' onClick={onCancel}>
+            <RiCloseLine className='w-[18px] h-[18px] text-text-tertiary' />
           </div>
         </div>
-        <div className='relative mb-2 flex grow gap-0.5 overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-2 shadow-xs'>
-          <div className='absolute left-0 top-0 h-full w-full bg-toast-warning-bg opacity-40' />
-          <div className='flex items-start justify-center p-1'>
-            <RiAlertFill className='h-4 w-4 shrink-0 text-text-warning-secondary' />
+        <div className='flex relative p-2 mb-2 gap-0.5 flex-grow rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur shadow-xs overflow-hidden'>
+          <div className='absolute top-0 left-0 w-full h-full opacity-40 bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)]' />
+          <div className='flex p-1 justify-center items-start'>
+            <RiAlertFill className='w-4 h-4 flex-shrink-0 text-text-warning-secondary' />
           </div>
-          <div className='flex grow flex-col items-start gap-0.5 py-1'>
-            <div className='system-xs-medium whitespace-pre-line text-text-primary'>{t('workflow.common.importDSLTip')}</div>
-            <div className='flex items-start gap-1 self-stretch pb-0.5 pt-1'>
+          <div className='flex py-1 flex-col items-start gap-0.5 flex-grow'>
+            <div className='text-text-primary system-xs-medium whitespace-pre-line'>{t('workflow.common.importDSLTip')}</div>
+            <div className='flex pt-1 pb-0.5 items-start gap-1 self-stretch'>
               <Button
                 size='small'
                 variant='secondary'
                 className='z-[1000]'
                 onClick={onBackup}
               >
-                <RiFileDownloadLine className='h-3.5 w-3.5 text-components-button-secondary-text' />
-                <div className='flex items-center justify-center gap-1 px-[3px]'>
+                <RiFileDownloadLine className='w-3.5 h-3.5 text-components-button-secondary-text' />
+                <div className='flex px-[3px] justify-center items-center gap-1'>
                   {t('workflow.common.backupCurrentDraft')}
                 </div>
               </Button>
@@ -252,10 +245,10 @@
           </div>
         </div>
         <div>
-          <div className='system-md-semibold pt-2 text-text-primary'>
+          <div className='pt-2 text-text-primary system-md-semibold'>
             {t('workflow.common.chooseDSL')}
           </div>
-          <div className='flex w-full flex-col items-start justify-center gap-4 self-stretch py-4'>
+          <div className='flex w-full py-4 flex-col justify-center items-start gap-4 self-stretch'>
             <Uploader
               file={currentFile}
               updateFile={handleFile}
@@ -263,7 +256,7 @@
             />
           </div>
         </div>
-        <div className='flex items-center justify-end gap-2 self-stretch pt-5'>
+        <div className='flex pt-5 gap-2 items-center justify-end self-stretch'>
           <Button onClick={onCancel}>{t('app.newApp.Cancel')}</Button>
           <Button
             disabled={!currentFile || loading}
@@ -280,9 +273,9 @@
         onClose={() => setShowErrorModal(false)}
         className='w-[480px]'
       >
-        <div className='flex flex-col items-start gap-2 self-stretch pb-4'>
-          <div className='title-2xl-semi-bold text-text-primary'>{t('app.newApp.appCreateDSLErrorTitle')}</div>
-          <div className='system-md-regular flex grow flex-col text-text-secondary'>
+        <div className='flex pb-4 flex-col items-start gap-2 self-stretch'>
+          <div className='text-text-primary title-2xl-semi-bold'>{t('app.newApp.appCreateDSLErrorTitle')}</div>
+          <div className='flex flex-grow flex-col text-text-secondary system-md-regular'>
             <div>{t('app.newApp.appCreateDSLErrorPart1')}</div>
             <div>{t('app.newApp.appCreateDSLErrorPart2')}</div>
             <br />
@@ -290,7 +283,7 @@
             <div>{t('app.newApp.appCreateDSLErrorPart4')}<span className='system-md-medium'>{versions?.systemVersion}</span></div>
           </div>
         </div>
-        <div className='flex items-start justify-end gap-2 self-stretch pt-6'>
+        <div className='flex pt-6 justify-end items-start gap-2 self-stretch'>
           <Button variant='secondary' onClick={() => setShowErrorModal(false)}>{t('app.newApp.Cancel')}</Button>
           <Button variant='primary' destructive onClick={onUpdateDSLConfirm}>{t('app.newApp.Confirm')}</Button>
         </div>
diff --git a/app/components/workflow/utils.ts b/app/components/workflow/utils.ts
new file mode 100644
index 0000000..da28482
--- /dev/null
+++ b/app/components/workflow/utils.ts
@@ -0,0 +1,814 @@
+import {
+  Position,
+  getConnectedEdges,
+  getIncomers,
+  getOutgoers,
+} from 'reactflow'
+import dagre from '@dagrejs/dagre'
+import { v4 as uuid4 } from 'uuid'
+import {
+  cloneDeep,
+  groupBy,
+  isEqual,
+  uniqBy,
+} from 'lodash-es'
+import type {
+  Edge,
+  InputVar,
+  Node,
+  ToolWithProvider,
+  ValueSelector,
+} from './types'
+import {
+  BlockEnum,
+  ErrorHandleMode,
+  NodeRunningStatus,
+} from './types'
+import {
+  CUSTOM_NODE,
+  DEFAULT_RETRY_INTERVAL,
+  DEFAULT_RETRY_MAX,
+  ITERATION_CHILDREN_Z_INDEX,
+  ITERATION_NODE_Z_INDEX,
+  NODE_WIDTH_X_OFFSET,
+  START_INITIAL_POSITION,
+} from './constants'
+import { CUSTOM_ITERATION_START_NODE } from './nodes/iteration-start/constants'
+import type { QuestionClassifierNodeType } from './nodes/question-classifier/types'
+import type { IfElseNodeType } from './nodes/if-else/types'
+import { branchNameCorrect } from './nodes/if-else/utils'
+import type { ToolNodeType } from './nodes/tool/types'
+import type { IterationNodeType } from './nodes/iteration/types'
+import { CollectionType } from '@/app/components/tools/types'
+import { toolParametersToFormSchemas } from '@/app/components/tools/utils/to-form-schema'
+
+const WHITE = 'WHITE'
+const GRAY = 'GRAY'
+const BLACK = 'BLACK'
+
+const isCyclicUtil = (nodeId: string, color: Record<string, string>, adjList: Record<string, string[]>, stack: string[]) => {
+  color[nodeId] = GRAY
+  stack.push(nodeId)
+
+  for (let i = 0; i < adjList[nodeId].length; ++i) {
+    const childId = adjList[nodeId][i]
+
+    if (color[childId] === GRAY) {
+      stack.push(childId)
+      return true
+    }
+    if (color[childId] === WHITE && isCyclicUtil(childId, color, adjList, stack))
+      return true
+  }
+  color[nodeId] = BLACK
+  if (stack.length > 0 && stack[stack.length - 1] === nodeId)
+    stack.pop()
+  return false
+}
+
+const getCycleEdges = (nodes: Node[], edges: Edge[]) => {
+  const adjList: Record<string, string[]> = {}
+  const color: Record<string, string> = {}
+  const stack: string[] = []
+
+  for (const node of nodes) {
+    color[node.id] = WHITE
+    adjList[node.id] = []
+  }
+
+  for (const edge of edges)
+    adjList[edge.source]?.push(edge.target)
+
+  for (let i = 0; i < nodes.length; i++) {
+    if (color[nodes[i].id] === WHITE)
+      isCyclicUtil(nodes[i].id, color, adjList, stack)
+  }
+
+  const cycleEdges = []
+  if (stack.length > 0) {
+    const cycleNodes = new Set(stack)
+    for (const edge of edges) {
+      if (cycleNodes.has(edge.source) && cycleNodes.has(edge.target))
+        cycleEdges.push(edge)
+    }
+  }
+
+  return cycleEdges
+}
+
+export function getIterationStartNode(iterationId: string): Node {
+  return generateNewNode({
+    id: `${iterationId}start`,
+    type: CUSTOM_ITERATION_START_NODE,
+    data: {
+      title: '',
+      desc: '',
+      type: BlockEnum.IterationStart,
+      isInIteration: true,
+    },
+    position: {
+      x: 24,
+      y: 68,
+    },
+    zIndex: ITERATION_CHILDREN_Z_INDEX,
+    parentId: iterationId,
+    selectable: false,
+    draggable: false,
+  }).newNode
+}
+
+export function generateNewNode({ data, position, id, zIndex, type, ...rest }: Omit<Node, 'id'> & { id?: string }): {
+  newNode: Node
+  newIterationStartNode?: Node
+} {
+  const newNode = {
+    id: id || `${Date.now()}`,
+    type: type || CUSTOM_NODE,
+    data,
+    position,
+    targetPosition: Position.Left,
+    sourcePosition: Position.Right,
+    zIndex: data.type === BlockEnum.Iteration ? ITERATION_NODE_Z_INDEX : zIndex,
+    ...rest,
+  } as Node
+
+  if (data.type === BlockEnum.Iteration) {
+    const newIterationStartNode = getIterationStartNode(newNode.id);
+    (newNode.data as IterationNodeType).start_node_id = newIterationStartNode.id;
+    (newNode.data as IterationNodeType)._children = [newIterationStartNode.id]
+    return {
+      newNode,
+      newIterationStartNode,
+    }
+  }
+
+  return {
+    newNode,
+  }
+}
+
+export const preprocessNodesAndEdges = (nodes: Node[], edges: Edge[]) => {
+  const hasIterationNode = nodes.some(node => node.data.type === BlockEnum.Iteration)
+
+  if (!hasIterationNode) {
+    return {
+      nodes,
+      edges,
+    }
+  }
+  const nodesMap = nodes.reduce((prev, next) => {
+    prev[next.id] = next
+    return prev
+  }, {} as Record<string, Node>)
+  const iterationNodesWithStartNode = []
+  const iterationNodesWithoutStartNode = []
+
+  for (let i = 0; i < nodes.length; i++) {
+    const currentNode = nodes[i] as Node<IterationNodeType>
+
+    if (currentNode.data.type === BlockEnum.Iteration) {
+      if (currentNode.data.start_node_id) {
+        if (nodesMap[currentNode.data.start_node_id]?.type !== CUSTOM_ITERATION_START_NODE)
+          iterationNodesWithStartNode.push(currentNode)
+      }
+      else {
+        iterationNodesWithoutStartNode.push(currentNode)
+      }
+    }
+  }
+  const newIterationStartNodesMap = {} as Record<string, Node>
+  const newIterationStartNodes = [...iterationNodesWithStartNode, ...iterationNodesWithoutStartNode].map((iterationNode, index) => {
+    const newNode = getIterationStartNode(iterationNode.id)
+    newNode.id = newNode.id + index
+    newIterationStartNodesMap[iterationNode.id] = newNode
+    return newNode
+  })
+  const newEdges = iterationNodesWithStartNode.map((iterationNode) => {
+    const newNode = newIterationStartNodesMap[iterationNode.id]
+    const startNode = nodesMap[iterationNode.data.start_node_id]
+    const source = newNode.id
+    const sourceHandle = 'source'
+    const target = startNode.id
+    const targetHandle = 'target'
+    return {
+      id: `${source}-${sourceHandle}-${target}-${targetHandle}`,
+      type: 'custom',
+      source,
+      sourceHandle,
+      target,
+      targetHandle,
+      data: {
+        sourceType: newNode.data.type,
+        targetType: startNode.data.type,
+        isInIteration: true,
+        iteration_id: startNode.parentId,
+        _connectedNodeIsSelected: true,
+      },
+      zIndex: ITERATION_CHILDREN_Z_INDEX,
+    }
+  })
+  nodes.forEach((node) => {
+    if (node.data.type === BlockEnum.Iteration && newIterationStartNodesMap[node.id])
+      (node.data as IterationNodeType).start_node_id = newIterationStartNodesMap[node.id].id
+  })
+
+  return {
+    nodes: [...nodes, ...newIterationStartNodes],
+    edges: [...edges, ...newEdges],
+  }
+}
+
+export const initialNodes = (originNodes: Node[], originEdges: Edge[]) => {
+  const { nodes, edges } = preprocessNodesAndEdges(cloneDeep(originNodes), cloneDeep(originEdges))
+  const firstNode = nodes[0]
+
+  if (!firstNode?.position) {
+    nodes.forEach((node, index) => {
+      node.position = {
+        x: START_INITIAL_POSITION.x + index * NODE_WIDTH_X_OFFSET,
+        y: START_INITIAL_POSITION.y,
+      }
+    })
+  }
+
+  const iterationNodeMap = nodes.reduce((acc, node) => {
+    if (node.parentId) {
+      if (acc[node.parentId])
+        acc[node.parentId].push(node.id)
+      else
+        acc[node.parentId] = [node.id]
+    }
+    return acc
+  }, {} as Record<string, string[]>)
+
+  return nodes.map((node) => {
+    if (!node.type)
+      node.type = CUSTOM_NODE
+
+    const connectedEdges = getConnectedEdges([node], edges)
+    node.data._connectedSourceHandleIds = connectedEdges.filter(edge => edge.source === node.id).map(edge => edge.sourceHandle || 'source')
+    node.data._connectedTargetHandleIds = connectedEdges.filter(edge => edge.target === node.id).map(edge => edge.targetHandle || 'target')
+
+    if (node.data.type === BlockEnum.IfElse) {
+      const nodeData = node.data as IfElseNodeType
+
+      if (!nodeData.cases && nodeData.logical_operator && nodeData.conditions) {
+        (node.data as IfElseNodeType).cases = [
+          {
+            case_id: 'true',
+            logical_operator: nodeData.logical_operator,
+            conditions: nodeData.conditions,
+          },
+        ]
+      }
+      node.data._targetBranches = branchNameCorrect([
+        ...(node.data as IfElseNodeType).cases.map(item => ({ id: item.case_id, name: '' })),
+        { id: 'false', name: '' },
+      ])
+    }
+
+    if (node.data.type === BlockEnum.QuestionClassifier) {
+      node.data._targetBranches = (node.data as QuestionClassifierNodeType).classes.map((topic) => {
+        return topic
+      })
+    }
+
+    if (node.data.type === BlockEnum.Iteration) {
+      const iterationNodeData = node.data as IterationNodeType
+      iterationNodeData._children = iterationNodeMap[node.id] || []
+      iterationNodeData.is_parallel = iterationNodeData.is_parallel || false
+      iterationNodeData.parallel_nums = iterationNodeData.parallel_nums || 10
+      iterationNodeData.error_handle_mode = iterationNodeData.error_handle_mode || ErrorHandleMode.Terminated
+    }
+
+    if (node.data.type === BlockEnum.HttpRequest && !node.data.retry_config) {
+      node.data.retry_config = {
+        retry_enabled: true,
+        max_retries: DEFAULT_RETRY_MAX,
+        retry_interval: DEFAULT_RETRY_INTERVAL,
+      }
+    }
+
+    return node
+  })
+}
+
+export const initialEdges = (originEdges: Edge[], originNodes: Node[]) => {
+  const { nodes, edges } = preprocessNodesAndEdges(cloneDeep(originNodes), cloneDeep(originEdges))
+  let selectedNode: Node | null = null
+  const nodesMap = nodes.reduce((acc, node) => {
+    acc[node.id] = node
+
+    if (node.data?.selected)
+      selectedNode = node
+
+    return acc
+  }, {} as Record<string, Node>)
+
+  const cycleEdges = getCycleEdges(nodes, edges)
+  return edges.filter((edge) => {
+    return !cycleEdges.find(cycEdge => cycEdge.source === edge.source && cycEdge.target === edge.target)
+  }).map((edge) => {
+    edge.type = 'custom'
+
+    if (!edge.sourceHandle)
+      edge.sourceHandle = 'source'
+
+    if (!edge.targetHandle)
+      edge.targetHandle = 'target'
+
+    if (!edge.data?.sourceType && edge.source && nodesMap[edge.source]) {
+      edge.data = {
+        ...edge.data,
+        sourceType: nodesMap[edge.source].data.type!,
+      } as any
+    }
+
+    if (!edge.data?.targetType && edge.target && nodesMap[edge.target]) {
+      edge.data = {
+        ...edge.data,
+        targetType: nodesMap[edge.target].data.type!,
+      } as any
+    }
+
+    if (selectedNode) {
+      edge.data = {
+        ...edge.data,
+        _connectedNodeIsSelected: edge.source === selectedNode.id || edge.target === selectedNode.id,
+      } as any
+    }
+
+    return edge
+  })
+}
+
+export const getLayoutByDagre = (originNodes: Node[], originEdges: Edge[]) => {
+  const dagreGraph = new dagre.graphlib.Graph()
+  dagreGraph.setDefaultEdgeLabel(() => ({}))
+  const nodes = cloneDeep(originNodes).filter(node => !node.parentId && node.type === CUSTOM_NODE)
+  const edges = cloneDeep(originEdges).filter(edge => !edge.data?.isInIteration)
+  dagreGraph.setGraph({
+    rankdir: 'LR',
+    align: 'UL',
+    nodesep: 40,
+    ranksep: 60,
+    ranker: 'tight-tree',
+    marginx: 30,
+    marginy: 200,
+  })
+  nodes.forEach((node) => {
+    dagreGraph.setNode(node.id, {
+      width: node.width!,
+      height: node.height!,
+    })
+  })
+
+  edges.forEach((edge) => {
+    dagreGraph.setEdge(edge.source, edge.target)
+  })
+
+  dagre.layout(dagreGraph)
+
+  return dagreGraph
+}
+
+export const canRunBySingle = (nodeType: BlockEnum) => {
+  return nodeType === BlockEnum.LLM
+    || nodeType === BlockEnum.KnowledgeRetrieval
+    || nodeType === BlockEnum.Code
+    || nodeType === BlockEnum.TemplateTransform
+    || nodeType === BlockEnum.QuestionClassifier
+    || nodeType === BlockEnum.HttpRequest
+    || nodeType === BlockEnum.Tool
+    || nodeType === BlockEnum.ParameterExtractor
+    || nodeType === BlockEnum.Iteration
+    || nodeType === BlockEnum.DocExtractor
+}
+
+type ConnectedSourceOrTargetNodesChange = {
+  type: string
+  edge: Edge
+}[]
+export const getNodesConnectedSourceOrTargetHandleIdsMap = (changes: ConnectedSourceOrTargetNodesChange, nodes: Node[]) => {
+  const nodesConnectedSourceOrTargetHandleIdsMap = {} as Record<string, any>
+
+  changes.forEach((change) => {
+    const {
+      edge,
+      type,
+    } = change
+    const sourceNode = nodes.find(node => node.id === edge.source)!
+    if (sourceNode) {
+      nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id] = nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id] || {
+        _connectedSourceHandleIds: [...(sourceNode?.data._connectedSourceHandleIds || [])],
+        _connectedTargetHandleIds: [...(sourceNode?.data._connectedTargetHandleIds || [])],
+      }
+    }
+
+    const targetNode = nodes.find(node => node.id === edge.target)!
+    if (targetNode) {
+      nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id] = nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id] || {
+        _connectedSourceHandleIds: [...(targetNode?.data._connectedSourceHandleIds || [])],
+        _connectedTargetHandleIds: [...(targetNode?.data._connectedTargetHandleIds || [])],
+      }
+    }
+
+    if (sourceNode) {
+      if (type === 'remove') {
+        const index = nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id]._connectedSourceHandleIds.findIndex((handleId: string) => handleId === edge.sourceHandle)
+        nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id]._connectedSourceHandleIds.splice(index, 1)
+      }
+
+      if (type === 'add')
+        nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id]._connectedSourceHandleIds.push(edge.sourceHandle || 'source')
+    }
+
+    if (targetNode) {
+      if (type === 'remove') {
+        const index = nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id]._connectedTargetHandleIds.findIndex((handleId: string) => handleId === edge.targetHandle)
+        nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id]._connectedTargetHandleIds.splice(index, 1)
+      }
+
+      if (type === 'add')
+        nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id]._connectedTargetHandleIds.push(edge.targetHandle || 'target')
+    }
+  })
+
+  return nodesConnectedSourceOrTargetHandleIdsMap
+}
+
+export const genNewNodeTitleFromOld = (oldTitle: string) => {
+  const regex = /^(.+?)\s*\((\d+)\)\s*$/
+  const match = oldTitle.match(regex)
+
+  if (match) {
+    const title = match[1]
+    const num = parseInt(match[2], 10)
+    return `${title} (${num + 1})`
+  }
+  else {
+    return `${oldTitle} (1)`
+  }
+}
+
+export const getValidTreeNodes = (nodes: Node[], edges: Edge[]) => {
+  const startNode = nodes.find(node => node.data.type === BlockEnum.Start)
+
+  if (!startNode) {
+    return {
+      validNodes: [],
+      maxDepth: 0,
+    }
+  }
+
+  const list: Node[] = [startNode]
+  let maxDepth = 1
+
+  const traverse = (root: Node, depth: number) => {
+    if (depth > maxDepth)
+      maxDepth = depth
+
+    const outgoers = getOutgoers(root, nodes, edges)
+
+    if (outgoers.length) {
+      outgoers.forEach((outgoer) => {
+        list.push(outgoer)
+        if (outgoer.data.type === BlockEnum.Iteration)
+          list.push(...nodes.filter(node => node.parentId === outgoer.id))
+        traverse(outgoer, depth + 1)
+      })
+    }
+    else {
+      list.push(root)
+      if (root.data.type === BlockEnum.Iteration)
+        list.push(...nodes.filter(node => node.parentId === root.id))
+    }
+  }
+
+  traverse(startNode, maxDepth)
+
+  return {
+    validNodes: uniqBy(list, 'id'),
+    maxDepth,
+  }
+}
+
+export const getToolCheckParams = (
+  toolData: ToolNodeType,
+  buildInTools: ToolWithProvider[],
+  customTools: ToolWithProvider[],
+  workflowTools: ToolWithProvider[],
+  language: string,
+) => {
+  const { provider_id, provider_type, tool_name } = toolData
+  const isBuiltIn = provider_type === CollectionType.builtIn
+  const currentTools = provider_type === CollectionType.builtIn ? buildInTools : provider_type === CollectionType.custom ? customTools : workflowTools
+  const currCollection = currentTools.find(item => item.id === provider_id)
+  const currTool = currCollection?.tools.find(tool => tool.name === tool_name)
+  const formSchemas = currTool ? toolParametersToFormSchemas(currTool.parameters) : []
+  const toolInputVarSchema = formSchemas.filter((item: any) => item.form === 'llm')
+  const toolSettingSchema = formSchemas.filter((item: any) => item.form !== 'llm')
+
+  return {
+    toolInputsSchema: (() => {
+      const formInputs: InputVar[] = []
+      toolInputVarSchema.forEach((item: any) => {
+        formInputs.push({
+          label: item.label[language] || item.label.en_US,
+          variable: item.variable,
+          type: item.type,
+          required: item.required,
+        })
+      })
+      return formInputs
+    })(),
+    notAuthed: isBuiltIn && !!currCollection?.allow_delete && !currCollection?.is_team_authorization,
+    toolSettingSchema,
+    language,
+  }
+}
+
+export const changeNodesAndEdgesId = (nodes: Node[], edges: Edge[]) => {
+  const idMap = nodes.reduce((acc, node) => {
+    acc[node.id] = uuid4()
+
+    return acc
+  }, {} as Record<string, string>)
+
+  const newNodes = nodes.map((node) => {
+    return {
+      ...node,
+      id: idMap[node.id],
+    }
+  })
+
+  const newEdges = edges.map((edge) => {
+    return {
+      ...edge,
+      source: idMap[edge.source],
+      target: idMap[edge.target],
+    }
+  })
+
+  return [newNodes, newEdges] as [Node[], Edge[]]
+}
+
+export const isMac = () => {
+  return navigator.userAgent.toUpperCase().includes('MAC')
+}
+
+const specialKeysNameMap: Record<string, string | undefined> = {
+  ctrl: '鈱�',
+  alt: '鈱�',
+  shift: '鈬�',
+}
+
+export const getKeyboardKeyNameBySystem = (key: string) => {
+  if (isMac())
+    return specialKeysNameMap[key] || key
+
+  return key
+}
+
+const specialKeysCodeMap: Record<string, string | undefined> = {
+  ctrl: 'meta',
+}
+
+export const getKeyboardKeyCodeBySystem = (key: string) => {
+  if (isMac())
+    return specialKeysCodeMap[key] || key
+
+  return key
+}
+
+export const getTopLeftNodePosition = (nodes: Node[]) => {
+  let minX = Infinity
+  let minY = Infinity
+
+  nodes.forEach((node) => {
+    if (node.position.x < minX)
+      minX = node.position.x
+
+    if (node.position.y < minY)
+      minY = node.position.y
+  })
+
+  return {
+    x: minX,
+    y: minY,
+  }
+}
+
+export const isEventTargetInputArea = (target: HTMLElement) => {
+  if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')
+    return true
+
+  if (target.contentEditable === 'true')
+    return true
+}
+
+export const variableTransformer = (v: ValueSelector | string) => {
+  if (typeof v === 'string')
+    return v.replace(/^{{#|#}}$/g, '').split('.')
+
+  return `{{#${v.join('.')}#}}`
+}
+
+type ParallelInfoItem = {
+  parallelNodeId: string
+  depth: number
+  isBranch?: boolean
+}
+type NodeParallelInfo = {
+  parallelNodeId: string
+  edgeHandleId: string
+  depth: number
+}
+type NodeHandle = {
+  node: Node
+  handle: string
+}
+type NodeStreamInfo = {
+  upstreamNodes: Set<string>
+  downstreamEdges: Set<string>
+}
+export const getParallelInfo = (nodes: Node[], edges: Edge[], parentNodeId?: string) => {
+  let startNode
+
+  if (parentNodeId) {
+    const parentNode = nodes.find(node => node.id === parentNodeId)
+    if (!parentNode)
+      throw new Error('Parent node not found')
+
+    startNode = nodes.find(node => node.id === (parentNode.data as IterationNodeType).start_node_id)
+  }
+  else {
+    startNode = nodes.find(node => node.data.type === BlockEnum.Start)
+  }
+  if (!startNode)
+    throw new Error('Start node not found')
+
+  const parallelList = [] as ParallelInfoItem[]
+  const nextNodeHandles = [{ node: startNode, handle: 'source' }]
+  let hasAbnormalEdges = false
+
+  const traverse = (firstNodeHandle: NodeHandle) => {
+    const nodeEdgesSet = {} as Record<string, Set<string>>
+    const totalEdgesSet = new Set<string>()
+    const nextHandles = [firstNodeHandle]
+    const streamInfo = {} as Record<string, NodeStreamInfo>
+    const parallelListItem = {
+      parallelNodeId: '',
+      depth: 0,
+    } as ParallelInfoItem
+    const nodeParallelInfoMap = {} as Record<string, NodeParallelInfo>
+    nodeParallelInfoMap[firstNodeHandle.node.id] = {
+      parallelNodeId: '',
+      edgeHandleId: '',
+      depth: 0,
+    }
+
+    while (nextHandles.length) {
+      const currentNodeHandle = nextHandles.shift()!
+      const { node: currentNode, handle: currentHandle = 'source' } = currentNodeHandle
+      const currentNodeHandleKey = currentNode.id
+      const connectedEdges = edges.filter(edge => edge.source === currentNode.id && edge.sourceHandle === currentHandle)
+      const connectedEdgesLength = connectedEdges.length
+      const outgoers = nodes.filter(node => connectedEdges.some(edge => edge.target === node.id))
+      const incomers = getIncomers(currentNode, nodes, edges)
+
+      if (!streamInfo[currentNodeHandleKey]) {
+        streamInfo[currentNodeHandleKey] = {
+          upstreamNodes: new Set<string>(),
+          downstreamEdges: new Set<string>(),
+        }
+      }
+
+      if (nodeEdgesSet[currentNodeHandleKey]?.size > 0 && incomers.length > 1) {
+        const newSet = new Set<string>()
+        for (const item of totalEdgesSet) {
+          if (!streamInfo[currentNodeHandleKey].downstreamEdges.has(item))
+            newSet.add(item)
+        }
+        if (isEqual(nodeEdgesSet[currentNodeHandleKey], newSet)) {
+          parallelListItem.depth = nodeParallelInfoMap[currentNode.id].depth
+          nextNodeHandles.push({ node: currentNode, handle: currentHandle })
+          break
+        }
+      }
+
+      if (nodeParallelInfoMap[currentNode.id].depth > parallelListItem.depth)
+        parallelListItem.depth = nodeParallelInfoMap[currentNode.id].depth
+
+      outgoers.forEach((outgoer) => {
+        const outgoerConnectedEdges = getConnectedEdges([outgoer], edges).filter(edge => edge.source === outgoer.id)
+        const sourceEdgesGroup = groupBy(outgoerConnectedEdges, 'sourceHandle')
+        const incomers = getIncomers(outgoer, nodes, edges)
+
+        if (outgoers.length > 1 && incomers.length > 1)
+          hasAbnormalEdges = true
+
+        Object.keys(sourceEdgesGroup).forEach((sourceHandle) => {
+          nextHandles.push({ node: outgoer, handle: sourceHandle })
+        })
+        if (!outgoerConnectedEdges.length)
+          nextHandles.push({ node: outgoer, handle: 'source' })
+
+        const outgoerKey = outgoer.id
+        if (!nodeEdgesSet[outgoerKey])
+          nodeEdgesSet[outgoerKey] = new Set<string>()
+
+        if (nodeEdgesSet[currentNodeHandleKey]) {
+          for (const item of nodeEdgesSet[currentNodeHandleKey])
+            nodeEdgesSet[outgoerKey].add(item)
+        }
+
+        if (!streamInfo[outgoerKey]) {
+          streamInfo[outgoerKey] = {
+            upstreamNodes: new Set<string>(),
+            downstreamEdges: new Set<string>(),
+          }
+        }
+
+        if (!nodeParallelInfoMap[outgoer.id]) {
+          nodeParallelInfoMap[outgoer.id] = {
+            ...nodeParallelInfoMap[currentNode.id],
+          }
+        }
+
+        if (connectedEdgesLength > 1) {
+          const edge = connectedEdges.find(edge => edge.target === outgoer.id)!
+          nodeEdgesSet[outgoerKey].add(edge.id)
+          totalEdgesSet.add(edge.id)
+
+          streamInfo[currentNodeHandleKey].downstreamEdges.add(edge.id)
+          streamInfo[outgoerKey].upstreamNodes.add(currentNodeHandleKey)
+
+          for (const item of streamInfo[currentNodeHandleKey].upstreamNodes)
+            streamInfo[item].downstreamEdges.add(edge.id)
+
+          if (!parallelListItem.parallelNodeId)
+            parallelListItem.parallelNodeId = currentNode.id
+
+          const prevDepth = nodeParallelInfoMap[currentNode.id].depth + 1
+          const currentDepth = nodeParallelInfoMap[outgoer.id].depth
+
+          nodeParallelInfoMap[outgoer.id].depth = Math.max(prevDepth, currentDepth)
+        }
+        else {
+          for (const item of streamInfo[currentNodeHandleKey].upstreamNodes)
+            streamInfo[outgoerKey].upstreamNodes.add(item)
+
+          nodeParallelInfoMap[outgoer.id].depth = nodeParallelInfoMap[currentNode.id].depth
+        }
+      })
+    }
+
+    parallelList.push(parallelListItem)
+  }
+
+  while (nextNodeHandles.length) {
+    const nodeHandle = nextNodeHandles.shift()!
+    traverse(nodeHandle)
+  }
+
+  return {
+    parallelList,
+    hasAbnormalEdges,
+  }
+}
+
+export const hasErrorHandleNode = (nodeType?: BlockEnum) => {
+  return nodeType === BlockEnum.LLM || nodeType === BlockEnum.Tool || nodeType === BlockEnum.HttpRequest || nodeType === BlockEnum.Code
+}
+
+export const getEdgeColor = (nodeRunningStatus?: NodeRunningStatus, isFailBranch?: boolean) => {
+  if (nodeRunningStatus === NodeRunningStatus.Succeeded)
+    return 'var(--color-workflow-link-line-success-handle)'
+
+  if (nodeRunningStatus === NodeRunningStatus.Failed)
+    return 'var(--color-workflow-link-line-error-handle)'
+
+  if (nodeRunningStatus === NodeRunningStatus.Exception)
+    return 'var(--color-workflow-link-line-failure-handle)'
+
+  if (nodeRunningStatus === NodeRunningStatus.Running) {
+    if (isFailBranch)
+      return 'var(--color-workflow-link-line-failure-handle)'
+
+    return 'var(--color-workflow-link-line-handle)'
+  }
+
+  return 'var(--color-workflow-link-line-normal)'
+}
+
+export const isExceptionVariable = (variable: string, nodeType?: BlockEnum) => {
+  if ((variable === 'error_message' || variable === 'error_type') && hasErrorHandleNode(nodeType))
+    return true
+
+  return false
+}
+
+export const hasRetryNode = (nodeType?: BlockEnum) => {
+  return nodeType === BlockEnum.LLM || nodeType === BlockEnum.Tool || nodeType === BlockEnum.HttpRequest || nodeType === BlockEnum.Code
+}
diff --git a/app/components/workflow/workflow-history-store.tsx b/app/components/workflow/workflow-history-store.tsx
index 52132f3..a49e9b6 100644
--- a/app/components/workflow/workflow-history-store.tsx
+++ b/app/components/workflow/workflow-history-store.tsx
@@ -4,9 +4,8 @@
 import isDeepEqual from 'fast-deep-equal'
 import type { Edge, Node } from './types'
 import type { WorkflowHistoryEvent } from './hooks'
-import { noop } from 'lodash-es'
 
-export const WorkflowHistoryStoreContext = createContext<WorkflowHistoryStoreContextType>({ store: null, shortcutsEnabled: true, setShortcutsEnabled: noop })
+export const WorkflowHistoryStoreContext = createContext<WorkflowHistoryStoreContextType>({ store: null, shortcutsEnabled: true, setShortcutsEnabled: () => {} })
 export const Provider = WorkflowHistoryStoreContext.Provider
 
 export function WorkflowHistoryProvider({
diff --git a/app/forgot-password/ChangePasswordForm.tsx b/app/forgot-password/ChangePasswordForm.tsx
index 8342cb0..2f64cd8 100644
--- a/app/forgot-password/ChangePasswordForm.tsx
+++ b/app/forgot-password/ChangePasswordForm.tsx
@@ -3,7 +3,6 @@
 import { useTranslation } from 'react-i18next'
 import useSWR from 'swr'
 import { useSearchParams } from 'next/navigation'
-import Link from 'next/link'
 import cn from 'classnames'
 import { CheckCircleIcon } from '@heroicons/react/24/solid'
 import Input from '../components/base/input'
@@ -73,12 +72,12 @@
     catch {
       await revalidateToken()
     }
-  }, [confirmPassword, password, revalidateToken, searchParams, valid])
+  }, [password, revalidateToken, token, valid])
 
   return (
     <div className={
       cn(
-        'flex w-full grow flex-col items-center justify-center',
+        'flex flex-col items-center w-full grow justify-center',
         'px-6',
         'md:px-[108px]',
       )
@@ -86,11 +85,11 @@
       {!verifyTokenRes && <Loading />}
       {verifyTokenRes && !verifyTokenRes.is_valid && (
         <div className="flex flex-col md:w-[400px]">
-          <div className="mx-auto w-full">
-            <div className="mb-3 flex h-20 w-20 items-center justify-center rounded-[20px] border border-divider-regular bg-components-option-card-option-bg p-5 text-[40px] font-bold shadow-lg">馃し鈥嶁檪锔�</div>
-            <h2 className="text-[32px] font-bold text-text-primary">{t('login.invalid')}</h2>
+          <div className="w-full mx-auto">
+            <div className="mb-3 flex justify-center items-center w-20 h-20 p-5 rounded-[20px] border border-gray-100 shadow-lg text-[40px] font-bold">馃し鈥嶁檪锔�</div>
+            <h2 className="text-[32px] font-bold text-gray-900">{t('login.invalid')}</h2>
           </div>
-          <div className="mx-auto mt-6 w-full">
+          <div className="w-full mx-auto mt-6">
             <Button variant='primary' className='w-full !text-sm'>
               <a href="https://dify.ai">{t('login.explore')}</a>
             </Button>
@@ -99,20 +98,20 @@
       )}
       {verifyTokenRes && verifyTokenRes.is_valid && !showSuccess && (
         <div className='flex flex-col md:w-[400px]'>
-          <div className="mx-auto w-full">
-            <h2 className="text-[32px] font-bold text-text-primary">
+          <div className="w-full mx-auto">
+            <h2 className="text-[32px] font-bold text-gray-900">
               {t('login.changePassword')}
             </h2>
-            <p className='mt-1 text-sm text-text-secondary'>
+            <p className='mt-1 text-sm text-gray-600'>
               {t('login.changePasswordTip')}
             </p>
           </div>
 
-          <div className="mx-auto mt-6 w-full">
-            <div className="relative">
+          <div className="w-full mx-auto mt-6">
+            <div className="bg-white">
               {/* Password */}
               <div className='mb-5'>
-                <label htmlFor="password" className="my-2 flex items-center justify-between text-sm font-medium text-text-primary">
+                <label htmlFor="password" className="my-2 flex items-center justify-between text-sm font-medium text-gray-900">
                   {t('common.account.newPassword')}
                 </label>
                 <Input
@@ -127,7 +126,7 @@
               </div>
               {/* Confirm Password */}
               <div className='mb-5'>
-                <label htmlFor="confirmPassword" className="my-2 flex items-center justify-between text-sm font-medium text-text-primary">
+                <label htmlFor="confirmPassword" className="my-2 flex items-center justify-between text-sm font-medium text-gray-900">
                   {t('common.account.confirmPassword')}
                 </label>
                 <Input
@@ -154,17 +153,17 @@
       )}
       {verifyTokenRes && verifyTokenRes.is_valid && showSuccess && (
         <div className="flex flex-col md:w-[400px]">
-          <div className="mx-auto w-full">
-            <div className="mb-3 flex h-20 w-20 items-center justify-center rounded-[20px] border border-divider-regular bg-components-option-card-option-bg p-5 text-[40px] font-bold shadow-lg">
-              <CheckCircleIcon className='h-10 w-10 text-[#039855]' />
+          <div className="w-full mx-auto">
+            <div className="mb-3 flex justify-center items-center w-20 h-20 p-5 rounded-[20px] border border-gray-100 shadow-lg text-[40px] font-bold">
+              <CheckCircleIcon className='w-10 h-10 text-[#039855]' />
             </div>
-            <h2 className="text-[32px] font-bold text-text-primary">
+            <h2 className="text-[32px] font-bold text-gray-900">
               {t('login.passwordChangedTip')}
             </h2>
           </div>
-          <div className="mx-auto mt-6 w-full">
+          <div className="w-full mx-auto mt-6">
             <Button variant='primary' className='w-full'>
-              <Link href={'/signin'}>{t('login.passwordChanged')}</Link>
+              <a href="/signin">{t('login.passwordChanged')}</a>
             </Button>
           </div>
         </div>
diff --git a/app/forgot-password/ForgotPasswordForm.tsx b/app/forgot-password/ForgotPasswordForm.tsx
index 377ca2b..df74492 100644
--- a/app/forgot-password/ForgotPasswordForm.tsx
+++ b/app/forgot-password/ForgotPasswordForm.tsx
@@ -10,14 +10,13 @@
 import Loading from '../components/base/loading'
 import Input from '../components/base/input'
 import Button from '@/app/components/base/button'
-import { WEB_PREFIX } from '@/config'
 
 import {
   fetchInitValidateStatus,
   fetchSetupStatus,
   sendForgotPasswordEmail,
 } from '@/service/common'
-import type { InitValidateStatusResponse } from '@/models/common'
+import type { InitValidateStatusResponse, SetupStatusResponse } from '@/models/common'
 
 const accountFormSchema = z.object({
   email: z
@@ -68,10 +67,10 @@
   }
 
   useEffect(() => {
-    fetchSetupStatus().then(() => {
+    fetchSetupStatus().then((res: SetupStatusResponse) => {
       fetchInitValidateStatus().then((res: InitValidateStatusResponse) => {
         if (res.status === 'not_started')
-          window.location.href = `${WEB_PREFIX}/init`
+          window.location.href = '/init'
       })
 
       setLoading(false)
@@ -83,20 +82,20 @@
       ? <Loading />
       : <>
         <div className="sm:mx-auto sm:w-full sm:max-w-md">
-          <h2 className="text-[32px] font-bold text-text-primary">
+          <h2 className="text-[32px] font-bold text-gray-900">
             {isEmailSent ? t('login.resetLinkSent') : t('login.forgotPassword')}
           </h2>
-          <p className='mt-1 text-sm text-text-secondary'>
+          <p className='mt-1 text-sm text-gray-600'>
             {isEmailSent ? t('login.checkEmailForResetLink') : t('login.forgotPasswordDesc')}
           </p>
         </div>
-        <div className="mt-8 grow sm:mx-auto sm:w-full sm:max-w-md">
-          <div className="relative">
+        <div className="grow mt-8 sm:mx-auto sm:w-full sm:max-w-md">
+          <div className="bg-white ">
             <form>
               {!isEmailSent && (
                 <div className='mb-5'>
                   <label htmlFor="email"
-                    className="my-2 flex items-center justify-between text-sm font-medium text-text-primary">
+                    className="my-2 flex items-center justify-between text-sm font-medium text-gray-900">
                     {t('login.email')}
                   </label>
                   <div className="mt-1">
@@ -104,7 +103,7 @@
                       {...register('email')}
                       placeholder={t('login.emailPlaceholder') || ''}
                     />
-                    {errors.email && <span className='text-sm text-red-400'>{t(`${errors.email?.message}`)}</span>}
+                    {errors.email && <span className='text-red-400 text-sm'>{t(`${errors.email?.message}`)}</span>}
                   </div>
                 </div>
               )}
diff --git a/app/forgot-password/page.tsx b/app/forgot-password/page.tsx
index ed3d0d5..bb46011 100644
--- a/app/forgot-password/page.tsx
+++ b/app/forgot-password/page.tsx
@@ -1,8 +1,9 @@
 'use client'
 import React from 'react'
-import cn from 'classnames'
+import classNames from 'classnames'
 import { useSearchParams } from 'next/navigation'
 import Header from '../signin/_header'
+import style from '../signin/page.module.css'
 import ForgotPasswordForm from './ForgotPasswordForm'
 import ChangePasswordForm from '@/app/forgot-password/ChangePasswordForm'
 
@@ -11,11 +12,22 @@
   const token = searchParams.get('token')
 
   return (
-    <div className={cn('flex min-h-screen w-full justify-center bg-background-default-burn p-6')}>
-      <div className={cn('flex w-full shrink-0 flex-col rounded-2xl border border-effects-highlight bg-background-default-subtle')}>
+    <div className={classNames(
+      style.background,
+      'flex w-full min-h-screen',
+      'p-4 lg:p-8',
+      'gap-x-20',
+      'justify-center lg:justify-start',
+    )}>
+      <div className={
+        classNames(
+          'flex w-full flex-col bg-white shadow rounded-2xl shrink-0',
+          'md:w-[608px] space-between',
+        )
+      }>
         <Header />
         {token ? <ChangePasswordForm /> : <ForgotPasswordForm />}
-        <div className='px-8 py-6 text-sm font-normal text-text-tertiary'>
+        <div className='px-8 py-6 text-sm font-normal text-gray-500'>
           漏 {new Date().getFullYear()} LangGenius, Inc. All rights reserved.
         </div>
       </div>
diff --git a/app/init/InitPasswordPopup.tsx b/app/init/InitPasswordPopup.tsx
index 694a45e..cbf25f4 100644
--- a/app/init/InitPasswordPopup.tsx
+++ b/app/init/InitPasswordPopup.tsx
@@ -5,7 +5,6 @@
 import Toast from '../components/base/toast'
 import Loading from '../components/base/loading'
 import Button from '@/app/components/base/button'
-import { WEB_PREFIX } from '@/config'
 import { fetchInitValidateStatus, initValidate } from '@/service/common'
 import type { InitValidateStatusResponse } from '@/models/common'
 
@@ -42,7 +41,7 @@
   useEffect(() => {
     fetchInitValidateStatus().then((res: InitValidateStatusResponse) => {
       if (res.status === 'finished')
-        window.location.href = `${WEB_PREFIX}/install`
+        window.location.href = '/install'
       else
         setLoading(false)
     })
@@ -53,24 +52,24 @@
       ? <Loading />
       : <div>
         {!validated && (
-          <div className="mx-12 block min-w-28">
+          <div className="block mx-12 min-w-28">
             <div className="mb-4">
-              <label htmlFor="password" className="block text-sm font-medium text-text-secondary">
+              <label htmlFor="password" className="block text-sm font-medium text-gray-700">
                 {t('login.adminInitPassword')}
 
               </label>
-              <div className="relative mt-1 rounded-md shadow-sm">
+              <div className="mt-1 relative rounded-md shadow-sm">
                 <input
                   id="password"
                   type="password"
                   value={password}
                   onChange={e => setPassword(e.target.value)}
-                  className="block w-full appearance-none rounded-md border border-divider-regular px-3 py-2 shadow-sm placeholder:text-text-quaternary focus:border-indigo-500 focus:outline-none focus:ring-indigo-500 sm:text-sm"
+                  className="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm"
                 />
               </div>
             </div>
             <div className="flex flex-row flex-wrap justify-stretch p-0">
-              <Button variant="primary" onClick={handleValidation} className="min-w-28 basis-full">
+              <Button variant="primary" onClick={handleValidation} className="basis-full min-w-28">
                 {t('login.validate')}
               </Button>
             </div>
diff --git a/app/init/page.tsx b/app/init/page.tsx
index c3d439f..37ac180 100644
--- a/app/init/page.tsx
+++ b/app/init/page.tsx
@@ -1,14 +1,19 @@
 import React from 'react'
+import style from '../signin/page.module.css'
 import InitPasswordPopup from './InitPasswordPopup'
-import cn from '@/utils/classnames'
+import classNames from '@/utils/classnames'
 
 const Install = () => {
   return (
-    <div className={cn('flex min-h-screen w-full justify-center bg-background-default-burn p-6')}>
-      <div className={cn('flex w-full shrink-0 flex-col rounded-2xl border border-effects-highlight bg-background-default-subtle')}>
-        <div className="m-auto block w-96">
-          <InitPasswordPopup />
-        </div>
+    <div className={classNames(
+      style.background,
+      'flex w-full min-h-screen',
+      'p-4 lg:p-8',
+      'gap-x-20',
+      'justify-center lg:justify-start',
+    )}>
+      <div className="block m-auto w-96">
+        <InitPasswordPopup />
       </div>
     </div>
   )
diff --git a/app/install/installForm.tsx b/app/install/installForm.tsx
index c01be72..abf377e 100644
--- a/app/install/installForm.tsx
+++ b/app/install/installForm.tsx
@@ -1,7 +1,6 @@
 'use client'
-import React, { useCallback, useEffect } from 'react'
+import React, { useEffect } from 'react'
 import { useTranslation } from 'react-i18next'
-import { useDebounceFn } from 'ahooks'
 
 import Link from 'next/link'
 import { useRouter } from 'next/navigation'
@@ -40,7 +39,7 @@
   const {
     register,
     handleSubmit,
-    formState: { errors, isSubmitting },
+    formState: { errors },
   } = useForm<AccountFormValues>({
     resolver: zodResolver(accountFormSchema),
     defaultValues: {
@@ -60,32 +59,19 @@
   }
 
   const handleSetting = async () => {
-    if (isSubmitting) return
     handleSubmit(onSubmit)()
   }
-
-  const { run: debouncedHandleKeyDown } = useDebounceFn(
-    (e: React.KeyboardEvent) => {
-      if (e.key === 'Enter') {
-        e.preventDefault()
-        handleSetting()
-      }
-    },
-    { wait: 200 },
-  )
-
-  const handleKeyDown = useCallback(debouncedHandleKeyDown, [debouncedHandleKeyDown])
 
   useEffect(() => {
     fetchSetupStatus().then((res: SetupStatusResponse) => {
       if (res.step === 'finished') {
         localStorage.setItem('setup_status', 'finished')
-        router.push('/signin')
+        window.location.href = '/signin'
       }
       else {
         fetchInitValidateStatus().then((res: InitValidateStatusResponse) => {
           if (res.status === 'not_started')
-            router.push('/init')
+            window.location.href = '/init'
         })
       }
       setLoading(false)
@@ -97,65 +83,67 @@
       ? <Loading />
       : <>
         <div className="sm:mx-auto sm:w-full sm:max-w-md">
-          <h2 className="text-[32px] font-bold text-text-primary">{t('login.setAdminAccount')}</h2>
-          <p className='mt-1 text-sm text-text-secondary'>{t('login.setAdminAccountDesc')}</p>
+          <h2 className="text-[32px] font-bold text-gray-900">{t('login.setAdminAccount')}</h2>
+          <p className='
+          mt-1 text-sm text-gray-600
+        '>{t('login.setAdminAccountDesc')}</p>
         </div>
-        <div className="mt-8 grow sm:mx-auto sm:w-full sm:max-w-md">
-          <div className="relative">
-            <form onSubmit={handleSubmit(onSubmit)} onKeyDown={handleKeyDown}>
+        <div className="grow mt-8 sm:mx-auto sm:w-full sm:max-w-md">
+          <div className="bg-white ">
+            <form onSubmit={handleSubmit(onSubmit)}>
               <div className='mb-5'>
-                <label htmlFor="email" className="my-2 flex items-center justify-between text-sm font-medium text-text-primary">
+                <label htmlFor="email" className="my-2 flex items-center justify-between text-sm font-medium text-gray-900">
                   {t('login.email')}
                 </label>
-                <div className="mt-1 rounded-md shadow-sm">
+                <div className="mt-1">
                   <input
                     {...register('email')}
                     placeholder={t('login.emailPlaceholder') || ''}
-                    className={'w-full appearance-none rounded-md border border-transparent bg-components-input-bg-normal py-[7px] pl-2 text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'}
+                    className={'appearance-none block w-full rounded-lg pl-[14px] px-3 py-2 border border-gray-200 hover:border-gray-300 hover:shadow-sm focus:outline-none focus:ring-primary-500 focus:border-primary-500 placeholder-gray-400 caret-primary-600 sm:text-sm'}
                   />
-                  {errors.email && <span className='text-sm text-red-400'>{t(`${errors.email?.message}`)}</span>}
+                  {errors.email && <span className='text-red-400 text-sm'>{t(`${errors.email?.message}`)}</span>}
                 </div>
 
               </div>
 
               <div className='mb-5'>
-                <label htmlFor="name" className="my-2 flex items-center justify-between text-sm font-medium text-text-primary">
+                <label htmlFor="name" className="my-2 flex items-center justify-between text-sm font-medium text-gray-900">
                   {t('login.name')}
                 </label>
-                <div className="relative mt-1 rounded-md shadow-sm">
+                <div className="mt-1 relative rounded-md shadow-sm">
                   <input
                     {...register('name')}
                     placeholder={t('login.namePlaceholder') || ''}
-                    className={'w-full appearance-none rounded-md border border-transparent bg-components-input-bg-normal py-[7px] pl-2 text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'}
+                    className={'appearance-none block w-full rounded-lg pl-[14px] px-3 py-2 border border-gray-200 hover:border-gray-300 hover:shadow-sm focus:outline-none focus:ring-primary-500 focus:border-primary-500 placeholder-gray-400 caret-primary-600 sm:text-sm pr-10'}
                   />
                 </div>
-                {errors.name && <span className='text-sm text-red-400'>{t(`${errors.name.message}`)}</span>}
+                {errors.name && <span className='text-red-400 text-sm'>{t(`${errors.name.message}`)}</span>}
               </div>
 
               <div className='mb-5'>
-                <label htmlFor="password" className="my-2 flex items-center justify-between text-sm font-medium text-text-primary">
+                <label htmlFor="password" className="my-2 flex items-center justify-between text-sm font-medium text-gray-900">
                   {t('login.password')}
                 </label>
-                <div className="relative mt-1 rounded-md shadow-sm">
+                <div className="mt-1 relative rounded-md shadow-sm">
                   <input
                     {...register('password')}
                     type={showPassword ? 'text' : 'password'}
                     placeholder={t('login.passwordPlaceholder') || ''}
-                    className={'w-full appearance-none rounded-md border border-transparent bg-components-input-bg-normal py-[7px] pl-2 text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'}
+                    className={'appearance-none block w-full rounded-lg pl-[14px] px-3 py-2 border border-gray-200 hover:border-gray-300 hover:shadow-sm focus:outline-none focus:ring-primary-500 focus:border-primary-500 placeholder-gray-400 caret-primary-600 sm:text-sm pr-10'}
                   />
 
                   <div className="absolute inset-y-0 right-0 flex items-center pr-3">
                     <button
                       type="button"
                       onClick={() => setShowPassword(!showPassword)}
-                      className="text-text-quaternary hover:text-text-tertiary focus:text-text-tertiary focus:outline-none"
+                      className="text-gray-400 hover:text-gray-500 focus:outline-none focus:text-gray-500"
                     >
                       {showPassword ? '馃憖' : '馃槤'}
                     </button>
                   </div>
                 </div>
 
-                <div className={classNames('mt-1 text-xs text-text-tertiary', {
+                <div className={classNames('mt-1 text-xs text-gray-500', {
                   'text-red-400 !text-sm': errors.password,
                 })}>{t('login.error.passwordInvalid')}</div>
               </div>
@@ -166,11 +154,11 @@
                 </Button>
               </div>
             </form>
-            <div className="mt-2 block w-full text-xs text-text-tertiary">
+            <div className="block w-full mt-2 text-xs text-gray-600">
               {t('login.license.tip')}
               &nbsp;
               <Link
-                className='text-text-accent'
+                className='text-primary-600'
                 target='_blank' rel='noopener noreferrer'
                 href={'https://docs.dify.ai/user-agreement/open-source'}
               >{t('login.license.link')}</Link>
diff --git a/app/install/page.tsx b/app/install/page.tsx
index f63fdf8..395fae3 100644
--- a/app/install/page.tsx
+++ b/app/install/page.tsx
@@ -1,15 +1,27 @@
 import React from 'react'
 import Header from '../signin/_header'
+import style from '../signin/page.module.css'
 import InstallForm from './installForm'
-import cn from '@/utils/classnames'
+import classNames from '@/utils/classnames'
 
 const Install = () => {
   return (
-    <div className={cn('flex min-h-screen w-full justify-center bg-background-default-burn p-6')}>
-      <div className={cn('flex w-full shrink-0 flex-col rounded-2xl border border-effects-highlight bg-background-default-subtle')}>
+    <div className={classNames(
+      style.background,
+      'flex w-full min-h-screen',
+      'p-4 lg:p-8',
+      'gap-x-20',
+      'justify-center lg:justify-start',
+    )}>
+      <div className={
+        classNames(
+          'flex w-full flex-col bg-white shadow rounded-2xl shrink-0',
+          'md:w-[608px] space-between',
+        )
+      }>
         <Header />
         <InstallForm />
-        <div className='px-8 py-6 text-sm font-normal text-text-tertiary'>
+        <div className='px-8 py-6 text-sm font-normal text-gray-500'>
           漏 {new Date().getFullYear()} LangGenius, Inc. All rights reserved.
         </div>
       </div>
diff --git a/app/layout.tsx b/app/layout.tsx
index df78599..da659e6 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,11 +1,9 @@
 import type { Viewport } from 'next'
-import RoutePrefixHandle from './routePrefixHandle'
 import I18nServer from './components/i18n-server'
 import BrowserInitor from './components/browser-initor'
 import SentryInitor from './components/sentry-initor'
 import { getLocaleOnServer } from '@/i18n/server'
 import { TanstackQueryIniter } from '@/context/query-client'
-import { ThemeProvider } from 'next-themes'
 import './styles/globals.css'
 import './styles/markdown.scss'
 
@@ -21,15 +19,15 @@
   userScalable: false,
 }
 
-const LocaleLayout = async ({
+const LocaleLayout = ({
   children,
 }: {
   children: React.ReactNode
 }) => {
-  const locale = await getLocaleOnServer()
+  const locale = getLocaleOnServer()
 
   return (
-    <html lang={locale ?? 'en'} className="h-full" suppressHydrationWarning>
+    <html lang={locale ?? 'en'} className="h-full" data-theme="light">
       <head>
         <meta name="theme-color" content="#FFFFFF" />
         <meta name="mobile-web-app-capable" content="yes" />
@@ -37,46 +35,25 @@
         <meta name="apple-mobile-web-app-status-bar-style" content="default" />
       </head>
       <body
-        className="color-scheme h-full select-auto"
+        className="h-full select-auto color-scheme"
         data-api-prefix={process.env.NEXT_PUBLIC_API_PREFIX}
-        data-web-prefix={process.env.NEXT_PUBLIC_WEB_PREFIX}
         data-pubic-api-prefix={process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX}
-        data-pubic-web-prefix={process.env.NEXT_PUBLIC_PUBLIC_WEB_PREFIX}
-        data-marketplace-api-prefix={process.env.NEXT_PUBLIC_MARKETPLACE_API_PREFIX}
-        data-marketplace-url-prefix={process.env.NEXT_PUBLIC_MARKETPLACE_URL_PREFIX}
         data-public-edition={process.env.NEXT_PUBLIC_EDITION}
         data-public-support-mail-login={process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN}
         data-public-sentry-dsn={process.env.NEXT_PUBLIC_SENTRY_DSN}
         data-public-maintenance-notice={process.env.NEXT_PUBLIC_MAINTENANCE_NOTICE}
         data-public-site-about={process.env.NEXT_PUBLIC_SITE_ABOUT}
         data-public-text-generation-timeout-ms={process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS}
-        data-public-max-tools-num={process.env.NEXT_PUBLIC_MAX_TOOLS_NUM}
-        data-public-max-parallel-limit={process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT}
         data-public-top-k-max-value={process.env.NEXT_PUBLIC_TOP_K_MAX_VALUE}
         data-public-indexing-max-segmentation-tokens-length={process.env.NEXT_PUBLIC_INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH}
-        data-public-loop-node-max-count={process.env.NEXT_PUBLIC_LOOP_NODE_MAX_COUNT}
-        data-public-max-iterations-num={process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM}
-        data-public-enable-website-jinareader={process.env.NEXT_PUBLIC_ENABLE_WEBSITE_JINAREADER}
-        data-public-enable-website-firecrawl={process.env.NEXT_PUBLIC_ENABLE_WEBSITE_FIRECRAWL}
-        data-public-enable-website-watercrawl={process.env.NEXT_PUBLIC_ENABLE_WEBSITE_WATERCRAWL}
       >
         <BrowserInitor>
           <SentryInitor>
             <TanstackQueryIniter>
-              <ThemeProvider
-                attribute='data-theme'
-                defaultTheme='system'
-                enableSystem
-                disableTransitionOnChange
-              >
-                <I18nServer>
-                  {children}
-                </I18nServer>
-              </ThemeProvider>
+              <I18nServer>{children}</I18nServer>
             </TanstackQueryIniter>
           </SentryInitor>
         </BrowserInitor>
-        <RoutePrefixHandle />
       </body>
     </html>
   )
diff --git a/app/page.module.css b/app/page.module.css
index b51afee..90fa155 100644
--- a/app/page.module.css
+++ b/app/page.module.css
@@ -263,4 +263,4 @@
   to {
     transform: rotate(0deg);
   }
-}
+}
\ No newline at end of file
diff --git a/app/page.tsx b/app/page.tsx
index c5f5a95..c63d9d1 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -3,7 +3,7 @@
 
 const Home = async () => {
   return (
-    <div className="flex min-h-screen flex-col justify-center py-12 sm:px-6 lg:px-8">
+    <div className="flex flex-col justify-center min-h-screen py-12 sm:px-6 lg:px-8">
 
       <div className="sm:mx-auto sm:w-full sm:max-w-md">
         <Loading type='area' />
diff --git a/app/reset-password/check-code/page.tsx b/app/reset-password/check-code/page.tsx
index 480b513..ca53b68 100644
--- a/app/reset-password/check-code/page.tsx
+++ b/app/reset-password/check-code/page.tsx
@@ -39,11 +39,7 @@
       }
       setIsLoading(true)
       const ret = await verifyResetPasswordCode({ email, code, token })
-      if (ret.is_valid) {
-        const params = new URLSearchParams(searchParams)
-        params.set('token', encodeURIComponent(ret.token))
-        router.push(`/reset-password/set-password?${params.toString()}`)
-      }
+      ret.is_valid && router.push(`/reset-password/set-password?${searchParams.toString()}`)
     }
     catch (error) { console.error(error) }
     finally {
@@ -64,12 +60,12 @@
   }
 
   return <div className='flex flex-col gap-3'>
-    <div className='inline-flex h-14 w-14 items-center justify-center rounded-2xl border border-components-panel-border-subtle bg-background-default-dodge text-text-accent-light-mode-only shadow-lg'>
-      <RiMailSendFill className='h-6 w-6 text-2xl' />
+    <div className='bg-background-default-dodge text-text-accent-light-mode-only border border-components-panel-border-subtle shadow-lg inline-flex w-14 h-14 justify-center items-center rounded-2xl'>
+      <RiMailSendFill className='w-6 h-6 text-2xl' />
     </div>
-    <div className='pb-4 pt-2'>
+    <div className='pt-2 pb-4'>
       <h2 className='title-4xl-semi-bold text-text-primary'>{t('login.checkCode.checkYourEmail')}</h2>
-      <p className='body-md-regular mt-2 text-text-secondary'>
+      <p className='mt-2 body-md-regular text-text-secondary'>
         <span dangerouslySetInnerHTML={{ __html: t('login.checkCode.tips', { email }) as string }}></span>
         <br />
         {t('login.checkCode.validTime')}
@@ -78,19 +74,19 @@
 
     <form action="">
       <input type='text' className='hidden' />
-      <label htmlFor="code" className='system-md-semibold mb-1 text-text-secondary'>{t('login.checkCode.verificationCode')}</label>
+      <label htmlFor="code" className='system-md-semibold text-text-secondary mb-1'>{t('login.checkCode.verificationCode')}</label>
       <Input value={code} onChange={e => setVerifyCode(e.target.value)} max-length={6} className='mt-1' placeholder={t('login.checkCode.verificationCodePlaceholder') as string} />
       <Button loading={loading} disabled={loading} className='my-3 w-full' variant='primary' onClick={verify}>{t('login.checkCode.verify')}</Button>
       <Countdown onResend={resendCode} />
     </form>
     <div className='py-2'>
-      <div className='h-px bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent'></div>
+      <div className='bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent h-px'></div>
     </div>
-    <div onClick={() => router.back()} className='flex h-9 cursor-pointer items-center justify-center text-text-tertiary'>
-      <div className='bg-background-default-dimm inline-block rounded-full p-1'>
+    <div onClick={() => router.back()} className='flex items-center justify-center h-9 text-text-tertiary cursor-pointer'>
+      <div className='inline-block p-1 rounded-full bg-background-default-dimm'>
         <RiArrowLeftLine size={12} />
       </div>
-      <span className='system-xs-regular ml-2'>{t('login.back')}</span>
+      <span className='ml-2 system-xs-regular'>{t('login.back')}</span>
     </div>
   </div>
 }
diff --git a/app/reset-password/layout.tsx b/app/reset-password/layout.tsx
index 3d053e4..16d8642 100644
--- a/app/reset-password/layout.tsx
+++ b/app/reset-password/layout.tsx
@@ -1,15 +1,27 @@
 import Header from '../signin/_header'
+import style from '../signin/page.module.css'
 
 import cn from '@/utils/classnames'
 
 export default async function SignInLayout({ children }: any) {
   return <>
-    <div className={cn('flex min-h-screen w-full justify-center bg-background-default-burn p-6')}>
-      <div className={cn('flex w-full shrink-0 flex-col rounded-2xl border border-effects-highlight bg-background-default-subtle')}>
+    <div className={cn(
+      style.background,
+      'flex w-full min-h-screen',
+      'sm:p-4 lg:p-8',
+      'gap-x-20',
+      'justify-center lg:justify-start',
+    )}>
+      <div className={
+        cn(
+          'flex w-full flex-col bg-white shadow rounded-2xl shrink-0',
+          'space-between',
+        )
+      }>
         <Header />
         <div className={
           cn(
-            'flex w-full grow flex-col items-center justify-center',
+            'flex flex-col items-center w-full grow justify-center',
             'px-6',
             'md:px-[108px]',
           )
@@ -18,7 +30,7 @@
             {children}
           </div>
         </div>
-        <div className='system-xs-regular px-8 py-6 text-text-tertiary'>
+        <div className='px-8 py-6 system-xs-regular text-text-tertiary'>
           漏 {new Date().getFullYear()} LangGenius, Inc. All rights reserved.
         </div>
       </div>
diff --git a/app/reset-password/page.tsx b/app/reset-password/page.tsx
index dd8cdbc..65f1db3 100644
--- a/app/reset-password/page.tsx
+++ b/app/reset-password/page.tsx
@@ -12,7 +12,6 @@
 import Toast from '@/app/components/base/toast'
 import { sendResetPasswordCode } from '@/service/common'
 import I18NContext from '@/context/i18n'
-import { noop } from 'lodash-es'
 
 export default function CheckCode() {
   const { t } = useTranslation()
@@ -67,20 +66,20 @@
   }
 
   return <div className='flex flex-col gap-3'>
-    <div className='inline-flex h-14 w-14 items-center justify-center rounded-2xl border border-components-panel-border-subtle bg-background-default-dodge shadow-lg'>
-      <RiLockPasswordLine className='h-6 w-6 text-2xl text-text-accent-light-mode-only' />
+    <div className='bg-background-default-dodge border border-components-panel-border-subtle shadow-lg inline-flex w-14 h-14 justify-center items-center rounded-2xl'>
+      <RiLockPasswordLine className='w-6 h-6 text-2xl text-text-accent-light-mode-only' />
     </div>
-    <div className='pb-4 pt-2'>
+    <div className='pt-2 pb-4'>
       <h2 className='title-4xl-semi-bold text-text-primary'>{t('login.resetPassword')}</h2>
       <p className='body-md-regular mt-2 text-text-secondary'>
         {t('login.resetPasswordDesc')}
       </p>
     </div>
 
-    <form onSubmit={noop}>
+    <form onSubmit={() => { }}>
       <input type='text' className='hidden' />
       <div className='mb-2'>
-        <label htmlFor="email" className='system-md-semibold my-2 text-text-secondary'>{t('login.email')}</label>
+        <label htmlFor="email" className='my-2 system-md-semibold text-text-secondary'>{t('login.email')}</label>
         <div className='mt-1'>
           <Input id='email' type="email" disabled={loading} value={email} placeholder={t('login.emailPlaceholder') as string} onChange={e => setEmail(e.target.value)} />
         </div>
@@ -90,13 +89,13 @@
       </div>
     </form>
     <div className='py-2'>
-      <div className='h-px bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent'></div>
+      <div className='bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent h-px'></div>
     </div>
-    <Link href={`/signin?${searchParams.toString()}`} className='flex h-9 items-center justify-center text-text-tertiary hover:text-text-primary'>
-      <div className='inline-block rounded-full bg-background-default-dimmed p-1'>
+    <Link href={`/signin?${searchParams.toString()}`} className='flex items-center justify-center h-9 text-text-tertiary'>
+      <div className='inline-block p-1 rounded-full bg-background-default-dimm'>
         <RiArrowLeftLine size={12} />
       </div>
-      <span className='system-xs-regular ml-2'>{t('login.backToLogin')}</span>
+      <span className='ml-2 system-xs-regular'>{t('login.backToLogin')}</span>
     </Link>
   </div>
 }
diff --git a/app/reset-password/set-password/page.tsx b/app/reset-password/set-password/page.tsx
index dd1c4ef..7948c59 100644
--- a/app/reset-password/set-password/page.tsx
+++ b/app/reset-password/set-password/page.tsx
@@ -88,27 +88,27 @@
   return (
     <div className={
       cn(
-        'flex w-full grow flex-col items-center justify-center',
+        'flex flex-col items-center w-full grow justify-center',
         'px-6',
         'md:px-[108px]',
       )
     }>
       {!showSuccess && (
         <div className='flex flex-col md:w-[400px]'>
-          <div className="mx-auto w-full">
+          <div className="w-full mx-auto">
             <h2 className="title-4xl-semi-bold text-text-primary">
               {t('login.changePassword')}
             </h2>
-            <p className='body-md-regular mt-2 text-text-secondary'>
+            <p className='mt-2 body-md-regular text-text-secondary'>
               {t('login.changePasswordTip')}
             </p>
           </div>
 
-          <div className="mx-auto mt-6 w-full">
+          <div className="w-full mx-auto mt-6">
             <div className="bg-white">
               {/* Password */}
               <div className='mb-5'>
-                <label htmlFor="password" className="system-md-semibold my-2 text-text-secondary">
+                <label htmlFor="password" className="my-2 system-md-semibold text-text-secondary">
                   {t('common.account.newPassword')}
                 </label>
                 <div className='relative mt-1'>
@@ -129,11 +129,11 @@
                     </Button>
                   </div>
                 </div>
-                <div className='body-xs-regular mt-1 text-text-secondary'>{t('login.error.passwordInvalid')}</div>
+                <div className='mt-1 body-xs-regular text-text-secondary'>{t('login.error.passwordInvalid')}</div>
               </div>
               {/* Confirm Password */}
               <div className='mb-5'>
-                <label htmlFor="confirmPassword" className="system-md-semibold my-2 text-text-secondary">
+                <label htmlFor="confirmPassword" className="my-2 system-md-semibold text-text-secondary">
                   {t('common.account.confirmPassword')}
                 </label>
                 <div className='relative mt-1'>
@@ -170,15 +170,15 @@
       )}
       {showSuccess && (
         <div className="flex flex-col md:w-[400px]">
-          <div className="mx-auto w-full">
-            <div className="mb-3 flex h-14 w-14 items-center justify-center rounded-2xl border border-components-panel-border-subtle font-bold shadow-lg">
-              <RiCheckboxCircleFill className='h-6 w-6 text-text-success' />
+          <div className="w-full mx-auto">
+            <div className="mb-3 flex justify-center items-center w-14 h-14 rounded-2xl border border-components-panel-border-subtle shadow-lg font-bold">
+              <RiCheckboxCircleFill className='w-6 h-6 text-text-success' />
             </div>
             <h2 className="title-4xl-semi-bold text-text-primary">
               {t('login.passwordChangedTip')}
             </h2>
           </div>
-          <div className="mx-auto mt-6 w-full">
+          <div className="w-full mx-auto mt-6">
             <Button variant='primary' className='w-full' onClick={() => {
               setLeftTime(undefined)
               router.replace(getSignInUrl())
diff --git a/app/signin/_header.tsx b/app/signin/_header.tsx
index 5e85a8d..a9479a3 100644
--- a/app/signin/_header.tsx
+++ b/app/signin/_header.tsx
@@ -2,41 +2,25 @@
 import React from 'react'
 import { useContext } from 'use-context-selector'
 import Select from '@/app/components/base/select/locale'
-import Divider from '@/app/components/base/divider'
 import { languages } from '@/i18n/language'
-import type { Locale } from '@/i18n'
+import { type Locale } from '@/i18n'
 import I18n from '@/context/i18n'
-import dynamic from 'next/dynamic'
-
-// Avoid rendering the logo and theme selector on the server
-const DifyLogo = dynamic(() => import('@/app/components/base/logo/dify-logo'), {
-  ssr: false,
-  loading: () => <div className='h-7 w-16 bg-transparent' />,
-})
-const ThemeSelector = dynamic(() => import('@/app/components/base/theme-selector'), {
-  ssr: false,
-  loading: () => <div className='size-8 bg-transparent' />,
-})
+import LogoSite from '@/app/components/base/logo/logo-site'
 
 const Header = () => {
   const { locale, setLocaleOnClient } = useContext(I18n)
 
-  return (
-    <div className='flex w-full items-center justify-between p-6'>
-      <DifyLogo size='large' />
-      <div className='flex items-center gap-1'>
-        <Select
-          value={locale}
-          items={languages.filter(item => item.supported)}
-          onChange={(value) => {
-            setLocaleOnClient(value as Locale)
-          }}
-        />
-        <Divider type='vertical' className='mx-0 ml-2 h-4' />
-        <ThemeSelector />
-      </div>
-    </div>
-  )
+  return <div className='flex items-center justify-between p-6 w-full'>
+    <LogoSite />
+    <Select
+      value={locale}
+      items={languages.filter(item => item.supported)}
+      onChange={(value) => {
+        setLocaleOnClient(value as Locale)
+      }}
+    />
+
+  </div>
 }
 
 export default Header
diff --git a/app/signin/assets/background.png b/app/signin/assets/background.png
new file mode 100644
index 0000000..a410f7e
--- /dev/null
+++ b/app/signin/assets/background.png
Binary files differ
diff --git a/app/signin/check-code/page.tsx b/app/signin/check-code/page.tsx
index 912df62..4767308 100644
--- a/app/signin/check-code/page.tsx
+++ b/app/signin/check-code/page.tsx
@@ -65,10 +65,10 @@
   }
 
   return <div className='flex flex-col gap-3'>
-    <div className='inline-flex h-14 w-14 items-center justify-center rounded-2xl border border-components-panel-border-subtle bg-background-default-dodge shadow-lg'>
-      <RiMailSendFill className='h-6 w-6 text-2xl text-text-accent-light-mode-only' />
+    <div className='bg-background-default-dodge border border-components-panel-border-subtle shadow-lg inline-flex w-14 h-14 justify-center items-center rounded-2xl'>
+      <RiMailSendFill className='w-6 h-6 text-2xl text-text-accent-light-mode-only' />
     </div>
-    <div className='pb-4 pt-2'>
+    <div className='pt-2 pb-4'>
       <h2 className='title-4xl-semi-bold text-text-primary'>{t('login.checkCode.checkYourEmail')}</h2>
       <p className='body-md-regular mt-2 text-text-secondary'>
         <span dangerouslySetInnerHTML={{ __html: t('login.checkCode.tips', { email }) as string }}></span>
@@ -84,13 +84,13 @@
       <Countdown onResend={resendCode} />
     </form>
     <div className='py-2'>
-      <div className='h-px bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent'></div>
+      <div className='bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent h-px'></div>
     </div>
-    <div onClick={() => router.back()} className='flex h-9 cursor-pointer items-center justify-center text-text-tertiary'>
-      <div className='bg-background-default-dimm inline-block rounded-full p-1'>
+    <div onClick={() => router.back()} className='flex items-center justify-center h-9 text-text-tertiary cursor-pointer'>
+      <div className='inline-block p-1 rounded-full bg-background-default-dimm'>
         <RiArrowLeftLine size={12} />
       </div>
-      <span className='system-xs-regular ml-2'>{t('login.back')}</span>
+      <span className='ml-2 system-xs-regular'>{t('login.back')}</span>
     </div>
   </div>
 }
diff --git a/app/signin/components/mail-and-code-auth.tsx b/app/signin/components/mail-and-code-auth.tsx
index 3ad57de..7225b09 100644
--- a/app/signin/components/mail-and-code-auth.tsx
+++ b/app/signin/components/mail-and-code-auth.tsx
@@ -9,7 +9,6 @@
 import { sendEMailLoginCode } from '@/service/common'
 import { COUNT_DOWN_KEY, COUNT_DOWN_TIME_MS } from '@/app/components/signin/countdown'
 import I18NContext from '@/context/i18n'
-import { noop } from 'lodash-es'
 
 type MailAndCodeAuthProps = {
   isInvite: boolean
@@ -56,10 +55,10 @@
     }
   }
 
-  return (<form onSubmit={noop}>
+  return (<form onSubmit={() => { }}>
     <input type='text' className='hidden' />
     <div className='mb-2'>
-      <label htmlFor="email" className='system-md-semibold my-2 text-text-secondary'>{t('login.email')}</label>
+      <label htmlFor="email" className='my-2 system-md-semibold text-text-secondary'>{t('login.email')}</label>
       <div className='mt-1'>
         <Input id='email' type="email" disabled={isInvite} value={email} placeholder={t('login.emailPlaceholder') as string} onChange={e => setEmail(e.target.value)} />
       </div>
diff --git a/app/signin/components/mail-and-password-auth.tsx b/app/signin/components/mail-and-password-auth.tsx
index 7360fda..97f8bd1 100644
--- a/app/signin/components/mail-and-password-auth.tsx
+++ b/app/signin/components/mail-and-password-auth.tsx
@@ -9,7 +9,6 @@
 import { login } from '@/service/common'
 import Input from '@/app/components/base/input'
 import I18NContext from '@/context/i18n'
-import { noop } from 'lodash-es'
 
 type MailAndPasswordAuthProps = {
   isInvite: boolean
@@ -104,9 +103,9 @@
     }
   }
 
-  return <form onSubmit={noop}>
+  return <form onSubmit={() => { }}>
     <div className='mb-3'>
-      <label htmlFor="email" className="system-md-semibold my-2 text-text-secondary">
+      <label htmlFor="email" className="my-2 system-md-semibold text-text-secondary">
         {t('login.email')}
       </label>
       <div className="mt-1">
@@ -128,7 +127,7 @@
         <span className='system-md-semibold text-text-secondary'>{t('login.password')}</span>
         <Link
           href={`/reset-password?${searchParams.toString()}`}
-          className={`system-xs-regular ${isEmailSetup ? 'text-components-button-secondary-accent-text' : 'pointer-events-none text-components-button-secondary-accent-text-disabled'}`}
+          className={`system-xs-regular ${isEmailSetup ? 'text-components-button-secondary-accent-text' : 'text-components-button-secondary-accent-text-disabled pointer-events-none'}`}
           tabIndex={isEmailSetup ? 0 : -1}
           aria-disabled={!isEmailSetup}
         >
diff --git a/app/signin/components/sso-auth.tsx b/app/signin/components/sso-auth.tsx
index 960d082..fb303b9 100644
--- a/app/signin/components/sso-auth.tsx
+++ b/app/signin/components/sso-auth.tsx
@@ -64,7 +64,7 @@
       disabled={isLoading}
       className="w-full"
     >
-      <Lock01 className='mr-2 h-5 w-5 text-text-accent-light-mode-only' />
+      <Lock01 className='mr-2 w-5 h-5 text-text-accent-light-mode-only' />
       <span className="truncate">{t('login.withSSO')}</span>
     </Button>
   )
diff --git a/app/signin/invite-settings/page.tsx b/app/signin/invite-settings/page.tsx
index 925bc51..2138399 100644
--- a/app/signin/invite-settings/page.tsx
+++ b/app/signin/invite-settings/page.tsx
@@ -67,11 +67,11 @@
     return <Loading />
   if (!checkRes.is_valid) {
     return <div className="flex flex-col md:w-[400px]">
-      <div className="mx-auto w-full">
-        <div className="mb-3 flex h-14 w-14 items-center justify-center rounded-2xl border border-components-panel-border-subtle text-2xl font-bold shadow-lg">馃し鈥嶁檪锔�</div>
+      <div className="w-full mx-auto">
+        <div className="mb-3 flex justify-center items-center w-14 h-14 rounded-2xl border border-components-panel-border-subtle shadow-lg text-2xl font-bold">馃し鈥嶁檪锔�</div>
         <h2 className="title-4xl-semi-bold">{t('login.invalid')}</h2>
       </div>
-      <div className="mx-auto mt-6 w-full">
+      <div className="w-full mx-auto mt-6">
         <Button variant='primary' className='w-full !text-sm'>
           <a href="https://dify.ai">{t('login.explore')}</a>
         </Button>
@@ -80,16 +80,16 @@
   }
 
   return <div className='flex flex-col gap-3'>
-    <div className='inline-flex h-14 w-14 items-center justify-center rounded-2xl border border-components-panel-border-subtle bg-background-default-dodge shadow-lg'>
-      <RiAccountCircleLine className='h-6 w-6 text-2xl text-text-accent-light-mode-only' />
+    <div className='bg-background-default-dodge border border-components-panel-border-subtle shadow-lg inline-flex w-14 h-14 justify-center items-center rounded-2xl'>
+      <RiAccountCircleLine className='w-6 h-6 text-2xl text-text-accent-light-mode-only' />
     </div>
-    <div className='pb-4 pt-2'>
+    <div className='pt-2 pb-4'>
       <h2 className='title-4xl-semi-bold'>{t('login.setYourAccount')}</h2>
     </div>
     <form action=''>
 
       <div className='mb-5'>
-        <label htmlFor="name" className="system-md-semibold my-2">
+        <label htmlFor="name" className="my-2 system-md-semibold">
           {t('login.name')}
         </label>
         <div className="mt-1">
@@ -103,7 +103,7 @@
         </div>
       </div>
       <div className='mb-5'>
-        <label htmlFor="name" className="system-md-semibold my-2">
+        <label htmlFor="name" className="my-2 system-md-semibold">
           {t('login.interfaceLanguage')}
         </label>
         <div className="mt-1">
@@ -141,7 +141,7 @@
         </Button>
       </div>
     </form>
-    <div className="system-xs-regular mt-2 block w-full">
+    <div className="block w-full mt-2 system-xs-regular">
       {t('login.license.tip')}
       &nbsp;
       <Link
diff --git a/app/signin/layout.tsx b/app/signin/layout.tsx
index 1af4082..b404c5c 100644
--- a/app/signin/layout.tsx
+++ b/app/signin/layout.tsx
@@ -1,18 +1,36 @@
 import Header from './_header'
+import style from './page.module.css'
 
 import cn from '@/utils/classnames'
 
 export default async function SignInLayout({ children }: any) {
   return <>
-    <div className={cn('flex min-h-screen w-full justify-center bg-background-default-burn p-6')}>
-      <div className={cn('flex w-full shrink-0 flex-col rounded-2xl border border-effects-highlight bg-background-default-subtle')}>
+    <div className={cn(
+      style.background,
+      'flex w-full min-h-screen',
+      'sm:p-4 lg:p-8',
+      'gap-x-20',
+      'justify-center lg:justify-start',
+    )}>
+      <div className={
+        cn(
+          'flex w-full flex-col bg-white shadow rounded-2xl shrink-0',
+          'space-between',
+        )
+      }>
         <Header />
-        <div className={cn('flex w-full grow flex-col items-center justify-center px-6 md:px-[108px]')}>
+        <div className={
+          cn(
+            'flex flex-col items-center w-full grow justify-center',
+            'px-6',
+            'md:px-[108px]',
+          )
+        }>
           <div className='flex flex-col md:w-[400px]'>
             {children}
           </div>
         </div>
-        <div className='system-xs-regular px-8 py-6 text-text-tertiary'>
+        <div className='px-8 py-6 system-xs-regular text-text-tertiary'>
           漏 {new Date().getFullYear()} LangGenius, Inc. All rights reserved.
         </div>
       </div>
diff --git a/app/signin/normalForm.tsx b/app/signin/normalForm.tsx
index c76e088..1911fa3 100644
--- a/app/signin/normalForm.tsx
+++ b/app/signin/normalForm.tsx
@@ -75,7 +75,7 @@
   if (isLoading || consoleToken) {
     return <div className={
       cn(
-        'flex w-full grow flex-col items-center justify-center',
+        'flex flex-col items-center w-full grow justify-center',
         'px-6',
         'md:px-[108px]',
       )
@@ -84,43 +84,43 @@
     </div>
   }
   if (systemFeatures.license?.status === LicenseStatus.LOST) {
-    return <div className='mx-auto mt-8 w-full'>
-      <div className='relative'>
-        <div className="rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2 p-4">
-          <div className='shadows-shadow-lg relative mb-2 flex h-10 w-10 items-center justify-center rounded-xl bg-components-card-bg shadow'>
-            <RiContractLine className='h-5 w-5' />
-            <RiErrorWarningFill className='absolute -right-1 -top-1 h-4 w-4 text-text-warning-secondary' />
+    return <div className='w-full mx-auto mt-8'>
+      <div className='bg-white'>
+        <div className="p-4 rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2">
+          <div className='flex items-center justify-center w-10 h-10 rounded-xl bg-components-card-bg shadow shadows-shadow-lg mb-2 relative'>
+            <RiContractLine className='w-5 h-5' />
+            <RiErrorWarningFill className='absolute w-4 h-4 text-text-warning-secondary -top-1 -right-1' />
           </div>
           <p className='system-sm-medium text-text-primary'>{t('login.licenseLost')}</p>
-          <p className='system-xs-regular mt-1 text-text-tertiary'>{t('login.licenseLostTip')}</p>
+          <p className='system-xs-regular text-text-tertiary mt-1'>{t('login.licenseLostTip')}</p>
         </div>
       </div>
     </div>
   }
   if (systemFeatures.license?.status === LicenseStatus.EXPIRED) {
-    return <div className='mx-auto mt-8 w-full'>
-      <div className='relative'>
-        <div className="rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2 p-4">
-          <div className='shadows-shadow-lg relative mb-2 flex h-10 w-10 items-center justify-center rounded-xl bg-components-card-bg shadow'>
-            <RiContractLine className='h-5 w-5' />
-            <RiErrorWarningFill className='absolute -right-1 -top-1 h-4 w-4 text-text-warning-secondary' />
+    return <div className='w-full mx-auto mt-8'>
+      <div className='bg-white'>
+        <div className="p-4 rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2">
+          <div className='flex items-center justify-center w-10 h-10 rounded-xl bg-components-card-bg shadow shadows-shadow-lg mb-2 relative'>
+            <RiContractLine className='w-5 h-5' />
+            <RiErrorWarningFill className='absolute w-4 h-4 text-text-warning-secondary -top-1 -right-1' />
           </div>
           <p className='system-sm-medium text-text-primary'>{t('login.licenseExpired')}</p>
-          <p className='system-xs-regular mt-1 text-text-tertiary'>{t('login.licenseExpiredTip')}</p>
+          <p className='system-xs-regular text-text-tertiary mt-1'>{t('login.licenseExpiredTip')}</p>
         </div>
       </div>
     </div>
   }
   if (systemFeatures.license?.status === LicenseStatus.INACTIVE) {
-    return <div className='mx-auto mt-8 w-full'>
-      <div className='relative'>
-        <div className="rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2 p-4">
-          <div className='shadows-shadow-lg relative mb-2 flex h-10 w-10 items-center justify-center rounded-xl bg-components-card-bg shadow'>
-            <RiContractLine className='h-5 w-5' />
-            <RiErrorWarningFill className='absolute -right-1 -top-1 h-4 w-4 text-text-warning-secondary' />
+    return <div className='w-full mx-auto mt-8'>
+      <div className='bg-white'>
+        <div className="p-4 rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2">
+          <div className='flex items-center justify-center w-10 h-10 rounded-xl bg-components-card-bg shadow shadows-shadow-lg mb-2 relative'>
+            <RiContractLine className='w-5 h-5' />
+            <RiErrorWarningFill className='absolute w-4 h-4 text-text-warning-secondary -top-1 -right-1' />
           </div>
           <p className='system-sm-medium text-text-primary'>{t('login.licenseInactive')}</p>
-          <p className='system-xs-regular mt-1 text-text-tertiary'>{t('login.licenseInactiveTip')}</p>
+          <p className='system-xs-regular text-text-tertiary mt-1'>{t('login.licenseInactiveTip')}</p>
         </div>
       </div>
     </div>
@@ -128,18 +128,18 @@
 
   return (
     <>
-      <div className="mx-auto mt-8 w-full">
+      <div className="w-full mx-auto mt-8">
         {isInviteLink
-          ? <div className="mx-auto w-full">
+          ? <div className="w-full mx-auto">
             <h2 className="title-4xl-semi-bold text-text-primary">{t('login.join')}{workspaceName}</h2>
-            <p className='body-md-regular mt-2 text-text-tertiary'>{t('login.joinTipStart')}{workspaceName}{t('login.joinTipEnd')}</p>
+            <p className='mt-2 body-md-regular text-text-tertiary'>{t('login.joinTipStart')}{workspaceName}{t('login.joinTipEnd')}</p>
           </div>
-          : <div className="mx-auto w-full">
+          : <div className="w-full mx-auto">
             <h2 className="title-4xl-semi-bold text-text-primary">{t('login.pageTitle')}</h2>
-            <p className='body-md-regular mt-2 text-text-tertiary'>{t('login.welcome')}</p>
+            <p className='mt-2 body-md-regular text-text-tertiary'>{t('login.welcome')}</p>
           </div>}
-        <div className="relative">
-          <div className="mt-6 flex flex-col gap-3">
+        <div className="bg-white">
+          <div className="flex flex-col gap-3 mt-6">
             {systemFeatures.enable_social_oauth_login && <SocialAuth />}
             {systemFeatures.sso_enforced_for_signin && <div className='w-full'>
               <SSOAuth protocol={systemFeatures.sso_enforced_for_signin_protocol} />
@@ -148,10 +148,10 @@
 
           {showORLine && <div className="relative mt-6">
             <div className="absolute inset-0 flex items-center" aria-hidden="true">
-              <div className='h-px w-full bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent'></div>
+              <div className='bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent h-px w-full'></div>
             </div>
             <div className="relative flex justify-center">
-              <span className="system-xs-medium-uppercase px-2 text-text-tertiary">{t('login.or')}</span>
+              <span className="px-2 text-text-tertiary system-xs-medium-uppercase bg-white">{t('login.or')}</span>
             </div>
           </div>}
           {
@@ -171,20 +171,20 @@
             </>
           }
           {allMethodsAreDisabled && <>
-            <div className="rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2 p-4">
-              <div className='shadows-shadow-lg mb-2 flex h-10 w-10 items-center justify-center rounded-xl bg-components-card-bg shadow'>
-                <RiDoorLockLine className='h-5 w-5' />
+            <div className="p-4 rounded-lg bg-gradient-to-r from-workflow-workflow-progress-bg-1 to-workflow-workflow-progress-bg-2">
+              <div className='flex items-center justify-center w-10 h-10 rounded-xl bg-components-card-bg shadow shadows-shadow-lg mb-2'>
+                <RiDoorLockLine className='w-5 h-5' />
               </div>
               <p className='system-sm-medium text-text-primary'>{t('login.noLoginMethod')}</p>
-              <p className='system-xs-regular mt-1 text-text-tertiary'>{t('login.noLoginMethodTip')}</p>
+              <p className='system-xs-regular text-text-tertiary mt-1'>{t('login.noLoginMethodTip')}</p>
             </div>
             <div className="relative my-2 py-2">
               <div className="absolute inset-0 flex items-center" aria-hidden="true">
-                <div className='h-px w-full bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent'></div>
+                <div className='bg-gradient-to-r from-background-gradient-mask-transparent via-divider-regular to-background-gradient-mask-transparent h-px w-full'></div>
               </div>
             </div>
           </>}
-          <div className="system-xs-regular mt-2 block w-full text-text-tertiary">
+          <div className="w-full block mt-2 system-xs-regular text-text-tertiary">
             {t('login.tosDesc')}
             &nbsp;
             <Link
@@ -199,7 +199,7 @@
               href='https://dify.ai/privacy'
             >{t('login.pp')}</Link>
           </div>
-          {IS_CE_EDITION && <div className="w-hull system-xs-regular mt-2 block text-text-tertiary">
+          {IS_CE_EDITION && <div className="w-hull block mt-2 system-xs-regular text-text-tertiary">
             {t('login.goToInit')}
             &nbsp;
             <Link
diff --git a/app/signin/oneMoreStep.tsx b/app/signin/oneMoreStep.tsx
index 7a326a1..8554b36 100644
--- a/app/signin/oneMoreStep.tsx
+++ b/app/signin/oneMoreStep.tsx
@@ -1,5 +1,5 @@
 'use client'
-import React, { type Reducer, useEffect, useReducer } from 'react'
+import React, { useEffect, useReducer } from 'react'
 import { useTranslation } from 'react-i18next'
 import Link from 'next/link'
 import useSWR from 'swr'
@@ -20,14 +20,7 @@
   timezone: string
 }
 
-type IAction =
-  | { type: 'failed', payload: null }
-  | { type: 'invitation_code', value: string }
-  | { type: 'interface_language', value: string }
-  | { type: 'timezone', value: string }
-  | { type: 'formState', value: 'processing' }
-
-const reducer: Reducer<IState, IAction> = (state: IState, action: IAction) => {
+const reducer = (state: IState, action: any) => {
   switch (action.type) {
     case 'invitation_code':
       return { ...state, invitation_code: action.value }
@@ -82,21 +75,21 @@
 
   return (
     <>
-      <div className="mx-auto w-full">
+      <div className="w-full mx-auto">
         <h2 className="title-4xl-semi-bold text-text-secondary">{t('login.oneMoreStep')}</h2>
-        <p className='body-md-regular mt-1 text-text-tertiary'>{t('login.createSample')}</p>
+        <p className='mt-1 body-md-regular text-text-tertiary'>{t('login.createSample')}</p>
       </div>
 
-      <div className="mx-auto mt-6 w-full">
-        <div className="relative">
+      <div className="w-full mx-auto mt-6">
+        <div className="bg-white">
           <div className="mb-5">
-            <label className="system-md-semibold my-2 flex items-center justify-between text-text-secondary">
+            <label className="my-2 flex items-center justify-between system-md-semibold text-text-secondary">
               {t('login.invitationCode')}
               <Tooltip
                 popupContent={
                   <div className='w-[256px] text-xs font-medium'>
                     <div className='font-medium'>{t('login.sendUsMail')}</div>
-                    <div className='cursor-pointer text-xs font-medium text-text-accent-secondary'>
+                    <div className='text-xs font-medium cursor-pointer text-text-accent-secondary'>
                       <a href="mailto:request-invitation@langgenius.ai">request-invitation@langgenius.ai</a>
                     </div>
                   </div>
@@ -119,7 +112,7 @@
             </div>
           </div>
           <div className='mb-5'>
-            <label htmlFor="name" className="system-md-semibold my-2 text-text-secondary">
+            <label htmlFor="name" className="my-2 system-md-semibold text-text-secondary">
               {t('login.interfaceLanguage')}
             </label>
             <div className="mt-1">
@@ -127,7 +120,7 @@
                 defaultValue={LanguagesSupported[0]}
                 items={languages.filter(item => item.supported)}
                 onSelect={(item) => {
-                  dispatch({ type: 'interface_language', value: item.value as typeof LanguagesSupported[number] })
+                  dispatch({ type: 'interface_language', value: item.value })
                 }}
               />
             </div>
@@ -141,7 +134,7 @@
                 defaultValue={state.timezone}
                 items={timezones}
                 onSelect={(item) => {
-                  dispatch({ type: 'timezone', value: item.value as typeof state.timezone })
+                  dispatch({ type: 'timezone', value: item.value })
                 }}
               />
             </div>
@@ -158,13 +151,13 @@
               {t('login.go')}
             </Button>
           </div>
-          <div className="system-xs-regular mt-2 block w-full text-text-tertiary">
+          <div className="block w-full mt-2 system-xs-regular text-text-tertiary">
             {t('login.license.tip')}
             &nbsp;
             <Link
               className='system-xs-medium text-text-accent-secondary'
               target='_blank' rel='noopener noreferrer'
-              href={'https://docs.dify.ai/en/policies/agreement/README'}
+              href={'https://docs.dify.ai/user-agreement/open-source'}
             >{t('login.license.link')}</Link>
           </div>
         </div>
diff --git a/app/signin/page.module.css b/app/signin/page.module.css
index eda396f..de80af7 100644
--- a/app/signin/page.module.css
+++ b/app/signin/page.module.css
@@ -5,3 +5,8 @@
 .googleIcon {
   background: center/contain url('./assets/google.svg');
 }
+
+.background {
+  background-image: url('./assets/background.png');
+  background-size: cover;
+}
\ No newline at end of file
diff --git a/app/styles/globals.css b/app/styles/globals.css
index 52e36a2..f2aadc5 100644
--- a/app/styles/globals.css
+++ b/app/styles/globals.css
@@ -292,7 +292,7 @@
   line-height: 24px;
 }
 
-[class*="code-"] {
+[class*='code-'] {
   @apply font-mono;
 }
 
@@ -654,7 +654,7 @@
 }
 
 .text-gradient {
-  background: linear-gradient(91.58deg, #2250f2 -29.55%, #0ebcf3 75.22%);
+  background: linear-gradient(91.58deg, #2250F2 -29.55%, #0EBCF3 75.22%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
@@ -662,7 +662,7 @@
 }
 
 /* overwrite paging active dark model style  */
-[class*="style_paginatio"] li .text-primary-600 {
+[class*=style_paginatio] li .text-primary-600 {
   color: rgb(28 100 242);
   background-color: rgb(235 245 255);
 }
@@ -675,26 +675,8 @@
   bottom: 0;
 }
 
-[data-theme="dark"] [data-hide-on-theme="dark"],
-[data-theme="light"] [data-hide-on-theme="light"] {
-  display: none;
-}
+@import '../components/base/button/index.css';
+@import '../components/base/action-button/index.css';
+@import '../components/base/modal/index.css';
 
-@import "../components/base/button/index.css";
-@import "../components/base/action-button/index.css";
-@import "../components/base/modal/index.css";
-
-@tailwind utilities;
-
-@layer utilities {
-  /* Hide scrollbar for Chrome, Safari and Opera */
-  .no-scrollbar::-webkit-scrollbar {
-    display: none;
-  }
-
-  /* Hide scrollbar for IE, Edge and Firefox */
-  .no-scrollbar {
-    -ms-overflow-style: none;
-    scrollbar-width: none;
-  }
-}
+@tailwind utilities;
\ No newline at end of file
diff --git a/app/styles/markdown.scss b/app/styles/markdown.scss
index bd9c734..9233150 100644
--- a/app/styles/markdown.scss
+++ b/app/styles/markdown.scss
@@ -1,20 +1,75 @@
-@use '../../themes/light';
-@use '../../themes/dark';
-@use '../../themes/markdown-light';
-@use '../../themes/markdown-dark';
+@mixin light {
+  color-scheme: light;
+  --color-prettylights-syntax-comment: #6e7781;
+  --color-prettylights-syntax-constant: #0550ae;
+  --color-prettylights-syntax-entity: #8250df;
+  --color-prettylights-syntax-storage-modifier-import: #24292f;
+  --color-prettylights-syntax-entity-tag: #116329;
+  --color-prettylights-syntax-keyword: #cf222e;
+  --color-prettylights-syntax-string: #0a3069;
+  --color-prettylights-syntax-variable: #953800;
+  --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
+  --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
+  --color-prettylights-syntax-invalid-illegal-bg: #82071e;
+  --color-prettylights-syntax-carriage-return-text: #f6f8fa;
+  --color-prettylights-syntax-carriage-return-bg: #cf222e;
+  --color-prettylights-syntax-string-regexp: #116329;
+  --color-prettylights-syntax-markup-list: #3b2300;
+  --color-prettylights-syntax-markup-heading: #0550ae;
+  --color-prettylights-syntax-markup-italic: #24292f;
+  --color-prettylights-syntax-markup-bold: #24292f;
+  --color-prettylights-syntax-markup-deleted-text: #82071e;
+  --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
+  --color-prettylights-syntax-markup-inserted-text: #116329;
+  --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
+  --color-prettylights-syntax-markup-changed-text: #953800;
+  --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
+  --color-prettylights-syntax-markup-ignored-text: #eaeef2;
+  --color-prettylights-syntax-markup-ignored-bg: #0550ae;
+  --color-prettylights-syntax-meta-diff-range: #8250df;
+  --color-prettylights-syntax-brackethighlighter-angle: #57606a;
+  --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
+  --color-prettylights-syntax-constant-other-reference-link: #0a3069;
+  --color-fg-default: #24292f;
+  --color-fg-muted: #57606a;
+  --color-fg-subtle: #6e7781;
+  --color-canvas-default: transparent;
+  --color-canvas-subtle: #f6f8fa;
+  --color-border-default: #d0d7de;
+  --color-border-muted: hsla(210, 18%, 87%, 1);
+  --color-neutral-muted: rgba(175, 184, 193, 0.2);
+  --color-accent-fg: #0969da;
+  --color-accent-emphasis: #0969da;
+  --color-attention-subtle: #fff8c5;
+  --color-danger-fg: #cf222e;
+}
 
 .markdown-body {
   -ms-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
-  margin: 0;
-  color: var(--color-text-primary);
+  margin: 4px 0 0 0;
+  color: #101828;
   background-color: var(--color-canvas-default);
-  font-size: 15px;
+  font-size: 14px;
   font-weight: 400;
-  line-height: 1.6;
+  line-height: 1.5;
   word-wrap: break-word;
   word-break: break-word;
   user-select: text;
+}
+
+.light {
+  @include light;
+}
+
+:root {
+  @include light;
+}
+
+@media (prefers-color-scheme: light) {
+  :root {
+    @include light;
+  }
 }
 
 .markdown-body .octicon {
@@ -54,44 +109,18 @@
 
 .markdown-body a {
   background-color: transparent;
-  color: var(--color-text-accent);
+  color: #155EEF;
   text-decoration: none;
-  text-decoration-color: var(--color-text-accent);
-}
-
-.markdown-body a:hover {
-  position: relative;
-  color: var(--color-text-accent-secondary);
-  text-decoration-color: var(--color-text-accent-secondary);
-  text-decoration: underline;
 }
 
 .markdown-body abbr[title] {
-  position: relative;
   border-bottom: none;
   text-decoration: underline dotted;
-  text-decoration-color: var(--color-text-accent);
-}
-
-.markdown-body abbr[title]:hover::after {
-  @apply shadow-xl shadow-shadow-shadow-5 rounded-md;
-  position: absolute;
-  bottom: 100%;
-  left: 0;
-  display: block;
-  width: max-content;
-  content: attr(title);
-  padding: 6px;
-  font-size: 12px;
-  line-height: 1;
-  color: var(--color-text-secondary);
-  border: 0.5px solid var(--color-components-panel-border);
-  background-color: var(--color-components-tooltip-bg);
 }
 
 .markdown-body b,
 .markdown-body strong {
-  font-weight: var(--base-text-weight-bold, 700);
+  font-weight: var(--base-text-weight-semibold, 600);
 }
 
 .markdown-body dfn {
@@ -123,15 +152,10 @@
   top: -0.5em;
 }
 
-.markdown-body figure {
-  margin: 1em 40px;
-}
-
 .markdown-body img {
+  border-style: none;
   max-width: 100%;
   box-sizing: content-box;
-  border: 2px solid var(--color-effects-image-frame);
-  border-radius: 0;
   background-color: var(--color-canvas-default);
 }
 
@@ -143,19 +167,20 @@
   font-size: 1em;
 }
 
+.markdown-body figure {
+  margin: 1em 40px;
+}
+
 .markdown-body hr {
+  box-sizing: content-box;
+  overflow: hidden;
+  background: transparent;
+  border-bottom: 1px solid var(--color-border-muted);
+  height: 0.25em;
+  padding: 0;
   margin: 24px 0;
-}
-
-.markdown-body hr::before {
-  display: table;
-  content: "";
-}
-
-.markdown-body hr::after {
-  display: table;
-  clear: both;
-  content: "";
+  background-color: var(--color-border-default);
+  border: 0;
 }
 
 .markdown-body input {
@@ -172,11 +197,13 @@
 .markdown-body [type="submit"] {
   -webkit-appearance: button;
 }
+
 .markdown-body [type="checkbox"],
 .markdown-body [type="radio"] {
   box-sizing: border-box;
   padding: 0;
 }
+
 .markdown-body [type="number"]::-webkit-inner-spin-button,
 .markdown-body [type="number"]::-webkit-outer-spin-button {
   height: auto;
@@ -206,16 +233,24 @@
   opacity: 1;
 }
 
+.markdown-body hr::before {
+  display: table;
+  content: "";
+}
+
+.markdown-body hr::after {
+  display: table;
+  clear: both;
+  content: "";
+}
 
 .markdown-body table {
   border-spacing: 0;
-  border-collapse: separate;
+  border-collapse: collapse;
   display: block;
   width: max-content;
   max-width: 100%;
   overflow: auto;
-  border: 1px solid var(--color-divider-regular);
-  border-radius: 8px;
 }
 
 .markdown-body td,
@@ -267,14 +302,17 @@
 
 .markdown-body kbd {
   display: inline-block;
-  padding: 2px 6px;
+  padding: 3px 5px;
   font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas,
     Liberation Mono, monospace;
-  line-height: 1;
-  color: var(--color-text-primary);
+  line-height: 10px;
+  color: var(--color-fg-default);
   vertical-align: middle;
-  background-color: var(--color-components-input-bg-normal);
+  background-color: var(--color-canvas-subtle);
+  border: solid 1px var(--color-neutral-muted);
+  border-bottom-color: var(--color-neutral-muted);
   border-radius: 6px;
+  box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
 }
 
 .markdown-body h1,
@@ -289,25 +327,17 @@
   line-height: 1.25;
 }
 
-.markdown-body h1 {
-  font-size: 18px;
-}
-
-.markdown-body h2 {
-  font-size: 16px;
-}
-
-.markdown-body h3,
-.markdown-body h4,
-.markdown-body h5,
-.markdown-body h6 {
-  font-size: 14px;
-}
-
 .markdown-body blockquote {
   margin: 0;
-  padding: 0 12px;
-  border-left: 3px solid var(--color-text-accent-secondary);
+  padding: 0 8px;
+  border-left: 2px solid #2970FF;
+}
+
+.markdown-body ul,
+.markdown-body ol {
+  margin-top: 0;
+  margin-bottom: 0;
+  padding-left: 2em;
 }
 
 .markdown-body ol {
@@ -316,11 +346,6 @@
 
 .markdown-body ul {
   list-style: disc;
-}
-
-.markdown-body>ol,
-.markdown-body>ul {
-  padding: 0;
 }
 
 .markdown-body ol ol,
@@ -421,14 +446,6 @@
   margin-bottom: 12px;
 }
 
-.markdown-body ul,
-.markdown-body ol {
-  padding-left: 2em;
-}
-.markdown-body ul[role="listbox"] {
-  list-style: none !important;
-  padding-left: 0 !important;
-}
 .markdown-body blockquote> :first-child {
   margin-top: 0;
 }
@@ -570,35 +587,23 @@
 }
 
 .markdown-body table th {
-  color: var(--color-text-tertiary);
-  font-size: 12px;
-  font-weight: var(--base-text-weight-medium, 500);
-  white-space: nowrap;
-}
-
-.markdown-body table td {
-  color: var(--color-text-secondary);
-  font-size: 13px;
-  font-weight: var(--base-text-weight-normal, 400);
+  font-weight: var(--base-text-weight-semibold, 600);
   white-space: nowrap;
 }
 
 .markdown-body table th,
 .markdown-body table td {
   padding: 6px 13px;
+  border: 1px solid var(--color-border-default);
 }
 
-.markdown-body table tr>th:not(:last-child),
-.markdown-body table tr>td:not(:last-child) {
-  border-right: 1px solid var(--color-divider-subtle);
+.markdown-body table tr {
+  background-color: var(--color-canvas-default);
+  border-top: 1px solid var(--color-border-muted);
 }
 
-.markdown-body table tbody tr:first-child td {
-  border-top: 1px solid var(--color-divider-regular);
-}
-
-.markdown-body table tbody tr:not(:last-child) td {
-  border-bottom: 1px solid var(--color-divider-subtle);
+.markdown-body table tr:nth-child(2n) {
+  background-color: var(--color-canvas-subtle);
 }
 
 .markdown-body table img {
@@ -756,10 +761,11 @@
 .markdown-body .highlight pre,
 .markdown-body pre {
   padding: 16px;
-  background-color: transparent;
+  background: #fff;
   overflow: auto;
   font-size: 85%;
   line-height: 1.45;
+  border-radius: 6px;
 }
 
 .markdown-body pre {
@@ -1037,8 +1043,5 @@
 }
 
 .markdown-body .react-syntax-highlighter-line-number {
-  color: var(--color-text-quaternary);
-}
-.markdown-body .abcjs-inline-audio .abcjs-btn {
-  display: flex !important;
-}
+  color: #D0D5DD;
+}
\ No newline at end of file
diff --git a/app/styles/preflight.css b/app/styles/preflight.css
index 35d3b6e..71da96a 100644
--- a/app/styles/preflight.css
+++ b/app/styles/preflight.css
@@ -376,4 +376,4 @@
 /* Make elements with the HTML hidden attribute stay hidden by default */
 [hidden] {
   display: none;
-}
+}
\ No newline at end of file
diff --git a/config/index.ts b/config/index.ts
index 4d30880..b87c027 100644
--- a/config/index.ts
+++ b/config/index.ts
@@ -1,25 +1,15 @@
+/* eslint-disable import/no-mutable-exports */
 import { InputVarType } from '@/app/components/workflow/types'
 import { AgentStrategy } from '@/types/app'
 import { PromptRole } from '@/models/debug'
 
 export let apiPrefix = ''
-export let webPrefix = ''
 export let publicApiPrefix = ''
-export let publicWebPrefix = ''
-export let marketplaceApiPrefix = ''
-export let marketplaceUrlPrefix = ''
 
 // NEXT_PUBLIC_API_PREFIX=/console/api NEXT_PUBLIC_PUBLIC_API_PREFIX=/api npm run start
-if (
-  process.env.NEXT_PUBLIC_API_PREFIX
-  && process.env.NEXT_PUBLIC_WEB_PREFIX
-  && process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX
-  && process.env.NEXT_PUBLIC_PUBLIC_WEB_PREFIX
-) {
+if (process.env.NEXT_PUBLIC_API_PREFIX && process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX) {
   apiPrefix = process.env.NEXT_PUBLIC_API_PREFIX
-  webPrefix = process.env.NEXT_PUBLIC_WEB_PREFIX
   publicApiPrefix = process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX
-  publicWebPrefix = process.env.NEXT_PUBLIC_PUBLIC_WEB_PREFIX
 }
 else if (
   globalThis.document?.body?.getAttribute('data-api-prefix')
@@ -27,40 +17,21 @@
 ) {
   // Not build can not get env from process.env.NEXT_PUBLIC_ in browser https://nextjs.org/docs/basic-features/environment-variables#exposing-environment-variables-to-the-browser
   apiPrefix = globalThis.document.body.getAttribute('data-api-prefix') as string
-  webPrefix = (globalThis.document.body.getAttribute('data-web-prefix') as string || globalThis.location.origin)
   publicApiPrefix = globalThis.document.body.getAttribute('data-pubic-api-prefix') as string
-  publicWebPrefix = (globalThis.document.body.getAttribute('data-pubic-web-prefix') as string || globalThis.location.origin)
 }
 else {
   // const domainParts = globalThis.location?.host?.split('.');
   // in production env, the host is dify.app . In other env, the host is [dev].dify.app
   // const env = domainParts.length === 2 ? 'ai' : domainParts?.[0];
   apiPrefix = 'http://localhost:5001/console/api'
-  webPrefix = 'http://localhost:3000'
   publicApiPrefix = 'http://localhost:5001/api' // avoid browser private mode api cross origin
-  publicWebPrefix = 'http://localhost:3000'
-  marketplaceApiPrefix = 'http://localhost:5002/api'
-}
-
-if (process.env.NEXT_PUBLIC_MARKETPLACE_API_PREFIX && process.env.NEXT_PUBLIC_MARKETPLACE_URL_PREFIX) {
-  marketplaceApiPrefix = process.env.NEXT_PUBLIC_MARKETPLACE_API_PREFIX
-  marketplaceUrlPrefix = process.env.NEXT_PUBLIC_MARKETPLACE_URL_PREFIX
-}
-else {
-  marketplaceApiPrefix = globalThis.document?.body?.getAttribute('data-marketplace-api-prefix') || ''
-  marketplaceUrlPrefix = globalThis.document?.body?.getAttribute('data-marketplace-url-prefix') || ''
 }
 
 export const API_PREFIX: string = apiPrefix
-export const WEB_PREFIX: string = webPrefix
 export const PUBLIC_API_PREFIX: string = publicApiPrefix
-export const PUBLIC_WEB_PREFIX: string = publicWebPrefix
-export const MARKETPLACE_API_PREFIX: string = marketplaceApiPrefix
-export const MARKETPLACE_URL_PREFIX: string = marketplaceUrlPrefix
 
 const EDITION = process.env.NEXT_PUBLIC_EDITION || globalThis.document?.body?.getAttribute('data-public-edition') || 'SELF_HOSTED'
 export const IS_CE_EDITION = EDITION === 'SELF_HOSTED'
-export const IS_CLOUD_EDITION = EDITION === 'CLOUD'
 
 export const SUPPORT_MAIL_LOGIN = !!(process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN || globalThis.document?.body?.getAttribute('data-public-support-mail-login'))
 
@@ -177,14 +148,7 @@
   score_threshold: 0.9,
 }
 
-export let maxToolsNum = 10
-
-if (process.env.NEXT_PUBLIC_MAX_TOOLS_NUM && process.env.NEXT_PUBLIC_MAX_TOOLS_NUM !== '')
-  maxToolsNum = Number.parseInt(process.env.NEXT_PUBLIC_MAX_TOOLS_NUM)
-else if (globalThis.document?.body?.getAttribute('data-public-max-tools-num') && globalThis.document.body.getAttribute('data-public-max-tools-num') !== '')
-  maxToolsNum = Number.parseInt(globalThis.document.body.getAttribute('data-public-max-tools-num') as string)
-
-export const MAX_TOOLS_NUM = maxToolsNum
+export const MAX_TOOLS_NUM = 10
 
 export const DEFAULT_AGENT_SETTING = {
   enabled: false,
@@ -280,53 +244,19 @@
   `,
 }
 
-export const VAR_REGEX = /\{\{(#[a-zA-Z0-9_-]{1,50}(\.[a-zA-Z_]\w{0,29}){1,10}#)\}\}/gi
+export const VAR_REGEX = /\{\{(#[a-zA-Z0-9_-]{1,50}(\.[a-zA-Z_][a-zA-Z0-9_]{0,29}){1,10}#)\}\}/gi
 
 export const resetReg = () => VAR_REGEX.lastIndex = 0
 
 export let textGenerationTimeoutMs = 60000
 
 if (process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS && process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS !== '')
-  textGenerationTimeoutMs = Number.parseInt(process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS)
+  textGenerationTimeoutMs = parseInt(process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS)
 else if (globalThis.document?.body?.getAttribute('data-public-text-generation-timeout-ms') && globalThis.document.body.getAttribute('data-public-text-generation-timeout-ms') !== '')
-  textGenerationTimeoutMs = Number.parseInt(globalThis.document.body.getAttribute('data-public-text-generation-timeout-ms') as string)
+  textGenerationTimeoutMs = parseInt(globalThis.document.body.getAttribute('data-public-text-generation-timeout-ms') as string)
 
 export const TEXT_GENERATION_TIMEOUT_MS = textGenerationTimeoutMs
 
 export const DISABLE_UPLOAD_IMAGE_AS_ICON = process.env.NEXT_PUBLIC_DISABLE_UPLOAD_IMAGE_AS_ICON === 'true'
 
-export const GITHUB_ACCESS_TOKEN = process.env.NEXT_PUBLIC_GITHUB_ACCESS_TOKEN || ''
-
-export const SUPPORT_INSTALL_LOCAL_FILE_EXTENSIONS = '.difypkg,.difybndl'
 export const FULL_DOC_PREVIEW_LENGTH = 50
-
-export const JSON_SCHEMA_MAX_DEPTH = 10
-let loopNodeMaxCount = 100
-
-if (process.env.NEXT_PUBLIC_LOOP_NODE_MAX_COUNT && process.env.NEXT_PUBLIC_LOOP_NODE_MAX_COUNT !== '')
-  loopNodeMaxCount = Number.parseInt(process.env.NEXT_PUBLIC_LOOP_NODE_MAX_COUNT)
-else if (globalThis.document?.body?.getAttribute('data-public-loop-node-max-count') && globalThis.document.body.getAttribute('data-public-loop-node-max-count') !== '')
-  loopNodeMaxCount = Number.parseInt(globalThis.document.body.getAttribute('data-public-loop-node-max-count') as string)
-
-export const LOOP_NODE_MAX_COUNT = loopNodeMaxCount
-
-let maxIterationsNum = 5
-
-if (process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM && process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM !== '')
-  maxIterationsNum = Number.parseInt(process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM)
-else if (globalThis.document?.body?.getAttribute('data-public-max-iterations-num') && globalThis.document.body.getAttribute('data-public-max-iterations-num') !== '')
-  maxIterationsNum = Number.parseInt(globalThis.document.body.getAttribute('data-public-max-iterations-num') as string)
-
-export const MAX_ITERATIONS_NUM = maxIterationsNum
-
-export const ENABLE_WEBSITE_JINAREADER = process.env.NEXT_PUBLIC_ENABLE_WEBSITE_JINAREADER !== undefined
-  ? process.env.NEXT_PUBLIC_ENABLE_WEBSITE_JINAREADER === 'true'
-  : globalThis.document?.body?.getAttribute('data-public-enable-website-jinareader') === 'true' || true
-
-export const ENABLE_WEBSITE_FIRECRAWL = process.env.NEXT_PUBLIC_ENABLE_WEBSITE_FIRECRAWL !== undefined
-  ? process.env.NEXT_PUBLIC_ENABLE_WEBSITE_FIRECRAWL === 'true'
-  : globalThis.document?.body?.getAttribute('data-public-enable-website-firecrawl') === 'true' || true
-
-export const ENABLE_WEBSITE_WATERCRAWL = process.env.NEXT_PUBLIC_ENABLE_WEBSITE_WATERCRAWL !== undefined
-  ? process.env.NEXT_PUBLIC_ENABLE_WEBSITE_WATERCRAWL === 'true'
-  : globalThis.document?.body?.getAttribute('data-public-enable-website-watercrawl') === 'true' || true
diff --git a/context/app-context.tsx b/context/app-context.tsx
index 79cc246..7addfb8 100644
--- a/context/app-context.tsx
+++ b/context/app-context.tsx
@@ -8,13 +8,15 @@
 import Loading from '@/app/components/base/loading'
 import { fetchCurrentWorkspace, fetchLanggeniusVersion, fetchUserProfile, getSystemFeatures } from '@/service/common'
 import type { App } from '@/types/app'
+import { Theme } from '@/types/app'
 import type { ICurrentWorkspace, LangGeniusVersionResponse, UserProfileResponse } from '@/models/common'
 import MaintenanceNotice from '@/app/components/header/maintenance-notice'
 import type { SystemFeatures } from '@/types/feature'
 import { defaultSystemFeatures } from '@/types/feature'
-import { noop } from 'lodash-es'
 
 export type AppContextValue = {
+  theme: Theme
+  setTheme: (theme: Theme) => void
   apps: App[]
   systemFeatures: SystemFeatures
   mutateApps: VoidFunction
@@ -50,18 +52,20 @@
   created_at: 0,
   role: 'normal',
   providers: [],
+  in_trail: true,
 }
 
 const AppContext = createContext<AppContextValue>({
+  theme: Theme.light,
   systemFeatures: defaultSystemFeatures,
+  setTheme: () => { },
   apps: [],
-  mutateApps: noop,
+  mutateApps: () => { },
   userProfile: {
     id: '',
     name: '',
     email: '',
     avatar: '',
-    avatar_url: '',
     is_password_set: false,
   },
   currentWorkspace: initialWorkspaceInfo,
@@ -69,8 +73,8 @@
   isCurrentWorkspaceOwner: false,
   isCurrentWorkspaceEditor: false,
   isCurrentWorkspaceDatasetOperator: false,
-  mutateUserProfile: noop,
-  mutateCurrentWorkspace: noop,
+  mutateUserProfile: () => { },
+  mutateCurrentWorkspace: () => { },
   pageContainerRef: createRef(),
   langeniusVersionInfo: initialLangeniusVersionInfo,
   useSelector,
@@ -123,11 +127,24 @@
       setCurrentWorkspace(currentWorkspaceResponse)
   }, [currentWorkspaceResponse])
 
+  const [theme, setTheme] = useState<Theme>(Theme.light)
+  const handleSetTheme = useCallback((theme: Theme) => {
+    setTheme(theme)
+    globalThis.document.documentElement.setAttribute('data-theme', theme)
+  }, [])
+
+  useEffect(() => {
+    globalThis.document.documentElement.setAttribute('data-theme', theme)
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [])
+
   if (!appList || !userProfile)
     return <Loading type='app' />
 
   return (
     <AppContext.Provider value={{
+      theme,
+      setTheme: handleSetTheme,
       apps: appList.data,
       systemFeatures: { ...defaultSystemFeatures, ...systemFeatures },
       mutateApps,
@@ -144,9 +161,9 @@
       mutateCurrentWorkspace,
       isLoadingCurrentWorkspace,
     }}>
-      <div className='flex h-full flex-col overflow-y-auto'>
+      <div className='flex flex-col h-full overflow-y-auto'>
         {globalThis.document?.body?.getAttribute('data-public-maintenance-notice') && <MaintenanceNotice />}
-        <div ref={pageContainerRef} className='relative flex grow flex-col overflow-y-auto overflow-x-hidden bg-background-body'>
+        <div ref={pageContainerRef} className='grow relative flex flex-col overflow-y-auto overflow-x-hidden bg-background-body'>
           {children}
         </div>
       </div>
diff --git a/context/datasets-context.tsx b/context/datasets-context.tsx
index e3dc38d..ba70823 100644
--- a/context/datasets-context.tsx
+++ b/context/datasets-context.tsx
@@ -2,7 +2,6 @@
 
 import { createContext, useContext } from 'use-context-selector'
 import type { DataSet } from '@/models/datasets'
-import { noop } from 'lodash-es'
 
 export type DatasetsContextValue = {
   datasets: DataSet[]
@@ -12,7 +11,7 @@
 
 const DatasetsContext = createContext<DatasetsContextValue>({
   datasets: [],
-  mutateDatasets: noop,
+  mutateDatasets: () => {},
   currentDataset: undefined,
 })
 
diff --git a/context/debug-configuration.ts b/context/debug-configuration.ts
index 47710c8..6150827 100644
--- a/context/debug-configuration.ts
+++ b/context/debug-configuration.ts
@@ -1,4 +1,3 @@
-import type { RefObject } from 'react'
 import { createContext, useContext } from 'use-context-selector'
 import { PromptMode } from '@/models/debug'
 import type {
@@ -26,7 +25,6 @@
 import { ANNOTATION_DEFAULT, DEFAULT_AGENT_SETTING, DEFAULT_CHAT_PROMPT_CONFIG, DEFAULT_COMPLETION_PROMPT_CONFIG } from '@/config'
 import type { FormValue } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import type { Collection } from '@/app/components/tools/types'
-import { noop } from 'lodash-es'
 
 type IDebugConfiguration = {
   appId: string
@@ -94,7 +92,6 @@
   showSelectDataSet: () => void
   // dataset config
   datasetConfigs: DatasetConfigs
-  datasetConfigsRef: RefObject<DatasetConfigs>
   setDatasetConfigs: (config: DatasetConfigs) => void
   hasSetContextVar: boolean
   isShowVisionConfig: boolean
@@ -113,64 +110,64 @@
   mode: '',
   modelModeType: ModelModeType.chat,
   promptMode: PromptMode.simple,
-  setPromptMode: noop,
+  setPromptMode: () => { },
   isAdvancedMode: false,
   isAgent: false,
   isFunctionCall: false,
   isOpenAI: false,
   collectionList: [],
   canReturnToSimpleMode: false,
-  setCanReturnToSimpleMode: noop,
+  setCanReturnToSimpleMode: () => { },
   chatPromptConfig: DEFAULT_CHAT_PROMPT_CONFIG,
   completionPromptConfig: DEFAULT_COMPLETION_PROMPT_CONFIG,
   currentAdvancedPrompt: [],
-  showHistoryModal: noop,
+  showHistoryModal: () => { },
   conversationHistoriesRole: {
     user_prefix: 'user',
     assistant_prefix: 'assistant',
   },
-  setConversationHistoriesRole: noop,
-  setCurrentAdvancedPrompt: noop,
+  setConversationHistoriesRole: () => { },
+  setCurrentAdvancedPrompt: () => { },
   hasSetBlockStatus: {
     context: false,
     history: false,
     query: false,
   },
   conversationId: '',
-  setConversationId: noop,
+  setConversationId: () => { },
   introduction: '',
-  setIntroduction: noop,
+  setIntroduction: () => { },
   suggestedQuestions: [],
-  setSuggestedQuestions: noop,
+  setSuggestedQuestions: () => { },
   controlClearChatMessage: 0,
-  setControlClearChatMessage: noop,
+  setControlClearChatMessage: () => { },
   prevPromptConfig: {
     prompt_template: '',
     prompt_variables: [],
   },
-  setPrevPromptConfig: noop,
+  setPrevPromptConfig: () => { },
   moreLikeThisConfig: {
     enabled: false,
   },
-  setMoreLikeThisConfig: noop,
+  setMoreLikeThisConfig: () => { },
   suggestedQuestionsAfterAnswerConfig: {
     enabled: false,
   },
-  setSuggestedQuestionsAfterAnswerConfig: noop,
+  setSuggestedQuestionsAfterAnswerConfig: () => { },
   speechToTextConfig: {
     enabled: false,
   },
-  setSpeechToTextConfig: noop,
+  setSpeechToTextConfig: () => { },
   textToSpeechConfig: {
     enabled: false,
     voice: '',
     language: '',
   },
-  setTextToSpeechConfig: noop,
+  setTextToSpeechConfig: () => { },
   citationConfig: {
     enabled: false,
   },
-  setCitationConfig: noop,
+  setCitationConfig: () => { },
   moderationConfig: {
     enabled: false,
   },
@@ -183,16 +180,16 @@
       embedding_provider_name: '',
     },
   },
-  setAnnotationConfig: noop,
-  setModerationConfig: noop,
+  setAnnotationConfig: () => { },
+  setModerationConfig: () => { },
   externalDataToolsConfig: [],
-  setExternalDataToolsConfig: noop,
+  setExternalDataToolsConfig: () => { },
   formattingChanged: false,
-  setFormattingChanged: noop,
+  setFormattingChanged: () => { },
   inputs: {},
-  setInputs: noop,
+  setInputs: () => { },
   query: '',
-  setQuery: noop,
+  setQuery: () => { },
   completionParams: {
     max_tokens: 16,
     temperature: 1, // 0-2
@@ -200,7 +197,7 @@
     presence_penalty: 1, // -2-2
     frequency_penalty: 1, // -2-2
   },
-  setCompletionParams: noop,
+  setCompletionParams: () => { },
   modelConfig: {
     provider: 'OPENAI', // 'OPENAI'
     model_id: 'gpt-3.5-turbo', // 'gpt-3.5-turbo'
@@ -222,10 +219,10 @@
     dataSets: [],
     agentConfig: DEFAULT_AGENT_SETTING,
   },
-  setModelConfig: noop,
+  setModelConfig: () => { },
   dataSets: [],
-  showSelectDataSet: noop,
-  setDataSets: noop,
+  showSelectDataSet: () => { },
+  setDataSets: () => { },
   datasetConfigs: {
     retrieval_model: RETRIEVE_TYPE.multiWay,
     reranking_model: {
@@ -239,10 +236,7 @@
       datasets: [],
     },
   },
-  datasetConfigsRef: {
-    current: null,
-  },
-  setDatasetConfigs: noop,
+  setDatasetConfigs: () => { },
   hasSetContextVar: false,
   isShowVisionConfig: false,
   visionConfig: {
@@ -251,11 +245,11 @@
     detail: Resolution.low,
     transfer_methods: [TransferMethod.remote_url],
   },
-  setVisionConfig: noop,
+  setVisionConfig: () => { },
   isAllowVideoUpload: false,
   isShowDocumentConfig: false,
   rerankSettingModalOpen: false,
-  setRerankSettingModalOpen: noop,
+  setRerankSettingModalOpen: () => { },
 })
 
 export const useDebugConfigurationContext = () => useContext(DebugConfigurationContext)
diff --git a/context/explore-context.ts b/context/explore-context.ts
index 11124bd..796b6a5 100644
--- a/context/explore-context.ts
+++ b/context/explore-context.ts
@@ -1,6 +1,5 @@
 import { createContext } from 'use-context-selector'
 import type { InstalledApp } from '@/models/explore'
-import { noop } from 'lodash-es'
 
 type IExplore = {
   controlUpdateInstalledApps: number
@@ -12,10 +11,10 @@
 
 const ExploreContext = createContext<IExplore>({
   controlUpdateInstalledApps: 0,
-  setControlUpdateInstalledApps: noop,
+  setControlUpdateInstalledApps: () => { },
   hasEditPermission: false,
   installedApps: [],
-  setInstalledApps: noop,
+  setInstalledApps: () => { },
 })
 
 export default ExploreContext
diff --git a/context/i18n.ts b/context/i18n.ts
index 463e01d..be41730 100644
--- a/context/i18n.ts
+++ b/context/i18n.ts
@@ -3,8 +3,7 @@
   useContext,
 } from 'use-context-selector'
 import type { Locale } from '@/i18n'
-import { getDocLanguage, getLanguage, getPricingPageLanguage } from '@/i18n/language'
-import { noop } from 'lodash-es'
+import { getLanguage } from '@/i18n/language'
 
 type II18NContext = {
   locale: Locale
@@ -15,7 +14,7 @@
 const I18NContext = createContext<II18NContext>({
   locale: 'en-US',
   i18n: {},
-  setLocaleOnClient: noop,
+  setLocaleOnClient: (_lang: Locale, _reloadPage?: boolean) => { },
 })
 
 export const useI18N = () => useContext(I18NContext)
@@ -23,16 +22,6 @@
   const { locale } = useI18N()
 
   return getLanguage(locale)
-}
-export const useGetDocLanguage = () => {
-  const { locale } = useI18N()
-
-  return getDocLanguage(locale)
-}
-export const useGetPricingPageLanguage = () => {
-  const { locale } = useI18N()
-
-  return getPricingPageLanguage(locale)
 }
 
 export default I18NContext
diff --git a/context/modal-context.tsx b/context/modal-context.tsx
index d865903..2dfc08c 100644
--- a/context/modal-context.tsx
+++ b/context/modal-context.tsx
@@ -17,9 +17,7 @@
   ModelLoadBalancingConfigEntry,
   ModelProvider,
 } from '@/app/components/header/account-setting/model-provider-page/declarations'
-import {
-  EDUCATION_VERIFYING_LOCALSTORAGE_ITEM,
-} from '@/app/education-apply/constants'
+
 import Pricing from '@/app/components/billing/pricing'
 import type { ModerationConfig, PromptVariable } from '@/models/debug'
 import type {
@@ -33,10 +31,6 @@
 import OpeningSettingModal from '@/app/components/base/features/new-feature-panel/conversation-opener/modal'
 import type { OpeningStatement } from '@/app/components/base/features/types'
 import type { InputVar } from '@/app/components/workflow/types'
-import type { UpdatePluginPayload } from '@/app/components/plugins/types'
-import UpdatePlugin from '@/app/components/plugins/update-plugin'
-import { removeSpecificQueryParam } from '@/utils'
-import { noop } from 'lodash-es'
 
 export type ModalState<T> = {
   payload: T
@@ -58,7 +52,6 @@
   entry?: ModelLoadBalancingConfigEntry
   index?: number
 }
-
 export type ModalContextState = {
   setShowAccountSettingModal: Dispatch<SetStateAction<ModalState<string> | null>>
   setShowApiBasedExtensionModal: Dispatch<SetStateAction<ModalState<ApiBasedExtension> | null>>
@@ -75,27 +68,26 @@
     workflowVariables?: InputVar[]
     onAutoAddPromptVariable?: (variable: PromptVariable[]) => void
   }> | null>>
-  setShowUpdatePluginModal: Dispatch<SetStateAction<ModalState<UpdatePluginPayload> | null>>
 }
 const ModalContext = createContext<ModalContextState>({
-  setShowAccountSettingModal: noop,
-  setShowApiBasedExtensionModal: noop,
-  setShowModerationSettingModal: noop,
-  setShowExternalDataToolModal: noop,
-  setShowPricingModal: noop,
-  setShowAnnotationFullModal: noop,
-  setShowModelModal: noop,
-  setShowExternalKnowledgeAPIModal: noop,
-  setShowModelLoadBalancingModal: noop,
-  setShowModelLoadBalancingEntryModal: noop,
-  setShowOpeningModal: noop,
-  setShowUpdatePluginModal: noop,
+  setShowAccountSettingModal: () => { },
+  setShowApiBasedExtensionModal: () => { },
+  setShowModerationSettingModal: () => { },
+  setShowExternalDataToolModal: () => { },
+  setShowPricingModal: () => { },
+  setShowAnnotationFullModal: () => { },
+  setShowModelModal: () => { },
+  setShowExternalKnowledgeAPIModal: () => { },
+  setShowModelLoadBalancingModal: () => { },
+  setShowModelLoadBalancingEntryModal: () => { },
+  setShowOpeningModal: () => { },
 })
 
 export const useModalContext = () => useContext(ModalContext)
 
 // Adding a dangling comma to avoid the generic parsing issue in tsx, see:
 // https://github.com/microsoft/TypeScript/issues/15713
+// eslint-disable-next-line @typescript-eslint/comma-dangle
 export const useModalContextSelector = <T,>(selector: (state: ModalContextState) => T): T =>
   useContextSelector(ModalContext, selector)
 
@@ -118,19 +110,11 @@
     workflowVariables?: InputVar[]
     onAutoAddPromptVariable?: (variable: PromptVariable[]) => void
   }> | null>(null)
-  const [showUpdatePluginModal, setShowUpdatePluginModal] = useState<ModalState<UpdatePluginPayload> | null>(null)
-
   const searchParams = useSearchParams()
   const router = useRouter()
   const [showPricingModal, setShowPricingModal] = useState(searchParams.get('show-pricing') === '1')
   const [showAnnotationFullModal, setShowAnnotationFullModal] = useState(false)
   const handleCancelAccountSettingModal = () => {
-    const educationVerifying = localStorage.getItem(EDUCATION_VERIFYING_LOCALSTORAGE_ITEM)
-
-    if (educationVerifying === 'yes')
-      localStorage.removeItem(EDUCATION_VERIFYING_LOCALSTORAGE_ITEM)
-
-    removeSpecificQueryParam('action')
     setShowAccountSettingModal(null)
     if (showAccountSettingModal?.onCancelCallback)
       showAccountSettingModal?.onCancelCallback()
@@ -245,7 +229,6 @@
       setShowModelLoadBalancingModal,
       setShowModelLoadBalancingEntryModal,
       setShowOpeningModal,
-      setShowUpdatePluginModal,
     }}>
       <>
         {children}
@@ -356,22 +339,6 @@
             onAutoAddPromptVariable={showOpeningModal.payload.onAutoAddPromptVariable}
           />
         )}
-
-        {
-          !!showUpdatePluginModal && (
-            <UpdatePlugin
-              {...showUpdatePluginModal.payload}
-              onCancel={() => {
-                setShowUpdatePluginModal(null)
-                showUpdatePluginModal.onCancelCallback?.()
-              }}
-              onSave={() => {
-                setShowUpdatePluginModal(null)
-                showUpdatePluginModal.onSaveCallback?.({} as any)
-              }}
-            />
-          )
-        }
       </>
     </ModalContext.Provider>
   )
diff --git a/context/provider-context.tsx b/context/provider-context.tsx
index 90af9aa..75747ba 100644
--- a/context/provider-context.tsx
+++ b/context/provider-context.tsx
@@ -3,39 +3,29 @@
 import { createContext, useContext, useContextSelector } from 'use-context-selector'
 import useSWR from 'swr'
 import { useEffect, useState } from 'react'
-import dayjs from 'dayjs'
-import { useTranslation } from 'react-i18next'
 import {
   fetchModelList,
   fetchModelProviders,
   fetchSupportRetrievalMethods,
 } from '@/service/common'
 import {
-  CurrentSystemQuotaTypeEnum,
   ModelStatusEnum,
   ModelTypeEnum,
 } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import type { Model, ModelProvider } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import type { RETRIEVE_METHOD } from '@/types/app'
-import type { BasicPlan } from '@/app/components/billing/type'
 import { Plan, type UsagePlanInfo } from '@/app/components/billing/type'
 import { fetchCurrentPlanInfo } from '@/service/billing'
 import { parseCurrentPlan } from '@/app/components/billing/utils'
 import { defaultPlan } from '@/app/components/billing/config'
-import Toast from '@/app/components/base/toast'
-import {
-  useEducationStatus,
-} from '@/service/use-education'
-import { noop } from 'lodash-es'
 
 type ProviderContextState = {
   modelProviders: ModelProvider[]
-  refreshModelProviders: () => void
   textGenerationModelList: Model[]
   supportRetrievalMethods: RETRIEVE_METHOD[]
   isAPIKeySet: boolean
   plan: {
-    type: BasicPlan
+    type: Plan
     usage: UsagePlanInfo
     total: UsagePlanInfo
   }
@@ -45,13 +35,9 @@
   enableReplaceWebAppLogo: boolean
   modelLoadBalancingEnabled: boolean
   datasetOperatorEnabled: boolean
-  enableEducationPlan: boolean
-  isEducationWorkspace: boolean
-  isEducationAccount: boolean
 }
 const ProviderContext = createContext<ProviderContextState>({
   modelProviders: [],
-  refreshModelProviders: noop,
   textGenerationModelList: [],
   supportRetrievalMethods: [],
   isAPIKeySet: true,
@@ -74,19 +60,17 @@
   },
   isFetchedPlan: false,
   enableBilling: false,
-  onPlanInfoChanged: noop,
+  onPlanInfoChanged: () => { },
   enableReplaceWebAppLogo: false,
   modelLoadBalancingEnabled: false,
   datasetOperatorEnabled: false,
-  enableEducationPlan: false,
-  isEducationWorkspace: false,
-  isEducationAccount: false,
 })
 
 export const useProviderContext = () => useContext(ProviderContext)
 
 // Adding a dangling comma to avoid the generic parsing issue in tsx, see:
 // https://github.com/microsoft/TypeScript/issues/15713
+// eslint-disable-next-line @typescript-eslint/comma-dangle
 export const useProviderContextSelector = <T,>(selector: (state: ProviderContextState) => T): T =>
   useContextSelector(ProviderContext, selector)
 
@@ -96,7 +80,7 @@
 export const ProviderContextProvider = ({
   children,
 }: ProviderContextProviderProps) => {
-  const { data: providersData, mutate: refreshModelProviders } = useSWR('/workspaces/current/model-providers', fetchModelProviders)
+  const { data: providersData } = useSWR('/workspaces/current/model-providers', fetchModelProviders)
   const fetchModelListUrlPrefix = '/workspaces/current/models/model-types/'
   const { data: textGenerationModelList } = useSWR(`${fetchModelListUrlPrefix}${ModelTypeEnum.textGeneration}`, fetchModelList)
   const { data: supportRetrievalMethods } = useSWR('/datasets/retrieval-setting', fetchSupportRetrievalMethods)
@@ -108,77 +92,27 @@
   const [modelLoadBalancingEnabled, setModelLoadBalancingEnabled] = useState(false)
   const [datasetOperatorEnabled, setDatasetOperatorEnabled] = useState(false)
 
-  const [enableEducationPlan, setEnableEducationPlan] = useState(false)
-  const [isEducationWorkspace, setIsEducationWorkspace] = useState(false)
-  const { data: isEducationAccount } = useEducationStatus(!enableEducationPlan)
-
   const fetchPlan = async () => {
-    try {
-      const data = await fetchCurrentPlanInfo()
-      if (!data) {
-        console.error('Failed to fetch plan info: data is undefined')
-        return
-      }
-
-      // set default value to avoid undefined error
-      setEnableBilling(data.billing?.enabled ?? false)
-      setEnableEducationPlan(data.education?.enabled ?? false)
-      setIsEducationWorkspace(data.education?.activated ?? false)
-      setEnableReplaceWebAppLogo(data.can_replace_logo ?? false)
-
-      if (data.billing?.enabled) {
-        setPlan(parseCurrentPlan(data) as any)
-        setIsFetchedPlan(true)
-      }
-
-      if (data.model_load_balancing_enabled)
-        setModelLoadBalancingEnabled(true)
-      if (data.dataset_operator_enabled)
-        setDatasetOperatorEnabled(true)
+    const data = await fetchCurrentPlanInfo()
+    const enabled = data.billing.enabled
+    setEnableBilling(enabled)
+    setEnableReplaceWebAppLogo(data.can_replace_logo)
+    if (enabled) {
+      setPlan(parseCurrentPlan(data))
+      setIsFetchedPlan(true)
     }
-    catch (error) {
-      console.error('Failed to fetch plan info:', error)
-      // set default value to avoid undefined error
-      setEnableBilling(false)
-      setEnableEducationPlan(false)
-      setIsEducationWorkspace(false)
-      setEnableReplaceWebAppLogo(false)
-    }
+    if (data.model_load_balancing_enabled)
+      setModelLoadBalancingEnabled(true)
+    if (data.dataset_operator_enabled)
+      setDatasetOperatorEnabled(true)
   }
   useEffect(() => {
     fetchPlan()
   }, [])
 
-  const { t } = useTranslation()
-  useEffect(() => {
-    if (localStorage.getItem('anthropic_quota_notice') === 'true')
-      return
-
-    if (dayjs().isAfter(dayjs('2025-03-17')))
-      return
-
-    if (providersData?.data && providersData.data.length > 0) {
-      const anthropic = providersData.data.find(provider => provider.provider === 'anthropic')
-      if (anthropic && anthropic.system_configuration.current_quota_type === CurrentSystemQuotaTypeEnum.trial) {
-        const quota = anthropic.system_configuration.quota_configurations.find(item => item.quota_type === anthropic.system_configuration.current_quota_type)
-        if (quota && quota.is_valid && quota.quota_used < quota.quota_limit) {
-          Toast.notify({
-            type: 'info',
-            message: t('common.provider.anthropicHosted.trialQuotaTip'),
-            duration: 60000,
-            onClose: () => {
-              localStorage.setItem('anthropic_quota_notice', 'true')
-            },
-          })
-        }
-      }
-    }
-  }, [providersData, t])
-
   return (
     <ProviderContext.Provider value={{
       modelProviders: providersData?.data || [],
-      refreshModelProviders,
       textGenerationModelList: textGenerationModelList?.data || [],
       isAPIKeySet: !!textGenerationModelList?.data.some(model => model.status === ModelStatusEnum.active),
       supportRetrievalMethods: supportRetrievalMethods?.retrieval_method || [],
@@ -189,9 +123,6 @@
       enableReplaceWebAppLogo,
       modelLoadBalancingEnabled,
       datasetOperatorEnabled,
-      enableEducationPlan,
-      isEducationWorkspace,
-      isEducationAccount: isEducationAccount?.result || false,
     }}>
       {children}
     </ProviderContext.Provider>
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index b9f0255..bad95b6 100644
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -15,11 +15,7 @@
 export NEXT_PUBLIC_DEPLOY_ENV=${DEPLOY_ENV}
 export NEXT_PUBLIC_EDITION=${EDITION}
 export NEXT_PUBLIC_API_PREFIX=${CONSOLE_API_URL}/console/api
-export NEXT_PUBLIC_WEB_PREFIX=${CONSOLE_WEB_URL}
 export NEXT_PUBLIC_PUBLIC_API_PREFIX=${APP_API_URL}/api
-export NEXT_PUBLIC_PUBLIC_WEB_PREFIX=${APP_WEB_URL}
-export NEXT_PUBLIC_MARKETPLACE_API_PREFIX=${MARKETPLACE_API_URL}/api/v1
-export NEXT_PUBLIC_MARKETPLACE_URL_PREFIX=${MARKETPLACE_URL}
 
 export NEXT_PUBLIC_SENTRY_DSN=${SENTRY_DSN}
 export NEXT_PUBLIC_SITE_ABOUT=${SITE_ABOUT}
@@ -27,14 +23,7 @@
 
 export NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS=${TEXT_GENERATION_TIMEOUT_MS}
 export NEXT_PUBLIC_CSP_WHITELIST=${CSP_WHITELIST}
-export NEXT_PUBLIC_ALLOW_EMBED=${ALLOW_EMBED}
 export NEXT_PUBLIC_TOP_K_MAX_VALUE=${TOP_K_MAX_VALUE}
 export NEXT_PUBLIC_INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH}
-export NEXT_PUBLIC_MAX_TOOLS_NUM=${MAX_TOOLS_NUM}
-export NEXT_PUBLIC_ENABLE_WEBSITE_JINAREADER=${ENABLE_WEBSITE_JINAREADER:-true}
-export NEXT_PUBLIC_ENABLE_WEBSITE_FIRECRAWL=${ENABLE_WEBSITE_FIRECRAWL:-true}
-export NEXT_PUBLIC_ENABLE_WEBSITE_WATERCRAWL=${ENABLE_WEBSITE_WATERCRAWL:-true}
-export NEXT_PUBLIC_LOOP_NODE_MAX_COUNT=${LOOP_NODE_MAX_COUNT}
-export NEXT_PUBLIC_MAX_PARALLEL_LIMIT=${MAX_PARALLEL_LIMIT}
-export NEXT_PUBLIC_MAX_ITERATIONS_NUM=${MAX_ITERATIONS_NUM}
-pm2 start /app/web/server.js --name dify-web --cwd /app/web -i ${PM2_INSTANCES} --no-daemon
+
+pm2 start ./pm2.json --no-daemon
diff --git a/hooks/use-metadata.ts b/hooks/use-metadata.ts
index ee02b31..5d1d86c 100644
--- a/hooks/use-metadata.ts
+++ b/hooks/use-metadata.ts
@@ -8,7 +8,7 @@
 export type metadataType = DocType | 'originInfo' | 'technicalParameters'
 
 type MetadataMap =
-  Record<
+    Record<
     metadataType,
     {
       text: string
@@ -16,16 +16,16 @@
       icon?: React.ReactNode
       iconName?: string
       subFieldsMap: Record<
-        string,
-        {
-          label: string
-          inputType?: inputType
-          field?: string
-          render?: (value: any, total?: number) => React.ReactNode | string
-        }
+      string,
+      {
+        label: string
+        inputType?: inputType
+        field?: string
+        render?: (value: any, total?: number) => React.ReactNode | string
+      }
       >
     }
-  >
+    >
 
 const fieldPrefix = 'datasetDocuments.metadata.field'
 
@@ -65,7 +65,7 @@
         },
         'author/publisher': { label: t(`${fieldPrefix}.webPage.authorPublisher`) },
         'publish_date': { label: t(`${fieldPrefix}.webPage.publishDate`) },
-        'topic/keywords': { label: t(`${fieldPrefix}.webPage.topicKeywords`) },
+        'topics/keywords': { label: t(`${fieldPrefix}.webPage.topicsKeywords`) },
         'description': { label: t(`${fieldPrefix}.webPage.description`) },
       },
     },
@@ -85,7 +85,7 @@
         },
         'volume/issue/page_numbers': { label: t(`${fieldPrefix}.paper.volumeIssuePage`) },
         'doi': { label: t(`${fieldPrefix}.paper.DOI`) },
-        'topic/keywords': { label: t(`${fieldPrefix}.paper.topicKeywords`) },
+        'topics/keywords': { label: t(`${fieldPrefix}.paper.topicsKeywords`) },
         'abstract': {
           label: t(`${fieldPrefix}.paper.abstract`),
           inputType: 'textarea',
@@ -158,8 +158,8 @@
         'start_date': { label: t(`${fieldPrefix}.IMChat.startDate`) },
         'end_date': { label: t(`${fieldPrefix}.IMChat.endDate`) },
         'participants': { label: t(`${fieldPrefix}.IMChat.participants`) },
-        'topicKeywords': {
-          label: t(`${fieldPrefix}.IMChat.topicKeywords`),
+        'topicsKeywords': {
+          label: t(`${fieldPrefix}.IMChat.topicsKeywords`),
           inputType: 'textarea',
         },
         'fileType': { label: t(`${fieldPrefix}.IMChat.fileType`) },
@@ -240,7 +240,7 @@
         },
         'data_source_type': {
           label: t(`${fieldPrefix}.originInfo.source`),
-          render: value => t(`datasetDocuments.metadata.source.${value === 'notion_import' ? 'notion' : value}`),
+          render: value => t(`datasetDocuments.metadata.source.${value}`),
         },
       },
     },
diff --git a/hooks/use-pay.tsx b/hooks/use-pay.tsx
index 3ba23b6..344f039 100644
--- a/hooks/use-pay.tsx
+++ b/hooks/use-pay.tsx
@@ -4,8 +4,11 @@
 import { useRouter, useSearchParams } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
 import useSWR from 'swr'
+import { useContext } from 'use-context-selector'
+import I18n from '@/context/i18n'
 import {
   fetchDataSourceNotionBinding,
+  fetchFreeQuotaVerify,
 } from '@/service/common'
 import type { IConfirm } from '@/app/components/base/confirm'
 import Confirm from '@/app/components/base/confirm'
@@ -50,6 +53,66 @@
   return confirm
 }
 
+const QUOTA_RECEIVE_STATUS: Record<string, any> = {
+  spark: {
+    success: {
+      'en': 'Successful collection, the quota will be automatically increased after 5 minutes.',
+      'zh-Hans': '棰嗗彇鎴愬姛锛屽皢鍦� 5 鍒嗛挓鍚庤嚜鍔ㄥ鍔犻厤棰�',
+    },
+    fail: {
+      'en': 'Failure to collect',
+      'zh-Hans': '棰嗗彇澶辫触',
+    },
+  },
+  zhipuai: {
+    success: {
+      'en': 'Successful collection',
+      'zh-Hans': '棰嗗彇鎴愬姛',
+    },
+    fail: {
+      'en': 'Failure to collect',
+      'zh-Hans': '棰嗗彇澶辫触',
+    },
+  },
+}
+
+const FREE_CHECK_PROVIDER = ['spark', 'zhipuai']
+export const useCheckFreeQuota = () => {
+  const { locale } = useContext(I18n)
+  const router = useRouter()
+  const [shouldVerify, setShouldVerify] = useState(false)
+  const searchParams = useSearchParams()
+  const type = searchParams.get('type')
+  const provider = searchParams.get('provider')
+  const result = searchParams.get('result')
+  const token = searchParams.get('token')
+
+  const { data, error } = useSWR(
+    shouldVerify
+      ? `/workspaces/current/model-providers/${provider}/free-quota-qualification-verify?token=${token}`
+      : null,
+    fetchFreeQuotaVerify,
+  )
+
+  useEffect(() => {
+    if (error)
+      router.replace('/')
+  }, [error, router])
+
+  useEffect(() => {
+    if (type === 'provider_apply_callback' && FREE_CHECK_PROVIDER.includes(provider as string) && result === 'success')
+      setShouldVerify(true)
+  }, [type, provider, result])
+
+  return (data && provider)
+    ? {
+      type: data.flag ? 'info' : 'warning',
+      title: data.flag ? QUOTA_RECEIVE_STATUS[provider as string].success[locale] : QUOTA_RECEIVE_STATUS[provider].fail[locale],
+      desc: !data.flag ? data.reason : undefined,
+    }
+    : null
+}
+
 export const useCheckNotion = () => {
   const router = useRouter()
   const [confirm, setConfirm] = useState<ConfirmType | null>(null)
@@ -91,6 +154,7 @@
   const { t } = useTranslation()
   const [showPayStatusModal, setShowPayStatusModal] = useState(true)
   const anthropicConfirmInfo = useAnthropicCheckPay()
+  const freeQuotaConfirmInfo = useCheckFreeQuota()
   const notionConfirmInfo = useCheckNotion()
   const billingConfirmInfo = useBillingPay()
 
@@ -99,7 +163,7 @@
     router.replace('/')
   }, [router])
 
-  const confirmInfo = anthropicConfirmInfo || notionConfirmInfo || billingConfirmInfo
+  const confirmInfo = anthropicConfirmInfo || freeQuotaConfirmInfo || notionConfirmInfo || billingConfirmInfo
 
   if (!confirmInfo || !showPayStatusModal)
     return null
@@ -112,7 +176,7 @@
       showCancel={false}
       type={confirmInfo.type === 'info' ? 'info' : 'warning' }
       title={confirmInfo.title}
-      content={(confirmInfo as unknown as { desc: string }).desc || ''}
+      content={(confirmInfo as { desc: string }).desc || ''}
       confirmText={(confirmInfo.type === 'info' && t('common.operation.ok')) || ''}
     />
   )
diff --git a/hooks/use-tab-searchparams.ts b/hooks/use-tab-searchparams.ts
index bbeb1ea..3009923 100644
--- a/hooks/use-tab-searchparams.ts
+++ b/hooks/use-tab-searchparams.ts
@@ -24,8 +24,7 @@
   searchParamName = 'category',
   disableSearchParams = false,
 }: UseTabSearchParamsOptions) => {
-  const pathnameFromHook = usePathname()
-  const pathName = window?.location?.pathname || pathnameFromHook
+  const pathName = usePathname()
   const searchParams = useSearchParams()
   const [activeTab, setTab] = useState<string>(
     !disableSearchParams
diff --git a/hooks/use-timestamp.ts b/hooks/use-timestamp.ts
index 5242eb5..05cc48e 100644
--- a/hooks/use-timestamp.ts
+++ b/hooks/use-timestamp.ts
@@ -15,11 +15,7 @@
     return dayjs.unix(value).tz(timezone).format(format)
   }, [timezone])
 
-  const formatDate = useCallback((value: string, format: string) => {
-    return dayjs(value).tz(timezone).format(format)
-  }, [timezone])
-
-  return { formatTime, formatDate }
+  return { formatTime }
 }
 
 export default useTimestamp
diff --git a/i18n/auto-gen-i18n.js b/i18n/auto-gen-i18n.js
index a03b3aa..6b9c5e5 100644
--- a/i18n/auto-gen-i18n.js
+++ b/i18n/auto-gen-i18n.js
@@ -30,20 +30,15 @@
       }
       else {
         try {
-          const source = sourceObj[key]
-          if (!source) {
+          if (!sourceObj[key]) {
             targetObject[key] = ''
             return
           }
-          // not support translate with '(' or ')'
-          if (source.includes('(') || source.includes(')'))
-            return
-
           const { translation } = await translate(sourceObj[key], null, languageKeyMap[toLanguage])
           targetObject[key] = translation
         }
-        catch {
-          console.error(`Error translating "${sourceObj[key]}" to ${toLanguage}. Key: ${key}`)
+        catch (e) {
+          console.error(`Error translating ${sourceObj[key]}(${key}) to ${toLanguage}`)
         }
       }
     }
@@ -57,16 +52,7 @@
 async function autoGenTrans(fileName, toGenLanguage) {
   const fullKeyFilePath = path.join(__dirname, targetLanguage, `${fileName}.ts`)
   const toGenLanguageFilePath = path.join(__dirname, toGenLanguage, `${fileName}.ts`)
-  // eslint-disable-next-line sonarjs/code-eval
   const fullKeyContent = eval(transpile(fs.readFileSync(fullKeyFilePath, 'utf8')))
-  // if toGenLanguageFilePath is not exist, create it
-  if (!fs.existsSync(toGenLanguageFilePath)) {
-    fs.writeFileSync(toGenLanguageFilePath, `const translation = {
-}
-
-export default translation
-`)
-  }
   // To keep object format and format it for magicast to work: const translation = { ... } => export default {...}
   const readContent = await loadFile(toGenLanguageFilePath)
   const { code: toGenContent } = generateCode(readContent)
@@ -96,12 +82,7 @@
 
   await Promise.all(files.map(async (file) => {
     await Promise.all(Object.keys(languageKeyMap).map(async (language) => {
-      try {
-        await autoGenTrans(file, language)
-      }
-      catch (e) {
-        console.error(`Error translating ${file} to ${language}`, e)
-      }
+      await autoGenTrans(file, language)
     }))
   }))
 }
diff --git a/i18n/check-i18n.js b/i18n/check-i18n.js
index 55a2301..fbe1bbd 100644
--- a/i18n/check-i18n.js
+++ b/i18n/check-i18n.js
@@ -26,15 +26,9 @@
         ) // Convert to camel case
         // console.log(camelCaseFileName)
         const content = fs.readFileSync(filePath, 'utf8')
-        // eslint-disable-next-line sonarjs/code-eval
-        const translationObj = eval(transpile(content))
+        const translation = eval(transpile(content))
         // console.log(translation)
-        if(!translationObj || typeof translationObj !== 'object') {
-          console.error(`Error parsing file: ${filePath}`)
-          reject(new Error(`Error parsing file: ${filePath}`))
-          return
-        }
-        const keys = Object.keys(translationObj)
+        const keys = Object.keys(translation)
         const nestedKeys = []
         const iterateKeys = (obj, prefix = '') => {
           for (const key in obj) {
@@ -44,7 +38,7 @@
               iterateKeys(obj[key], nestedKey)
           }
         }
-        iterateKeys(translationObj)
+        iterateKeys(translation)
 
         allKeys = [...keys, ...nestedKeys].map(
           key => `${camelCaseFileName}.${key}`,
diff --git a/i18n/de-DE/app-overview.ts b/i18n/de-DE/app-overview.ts
index fea278d..7cc82dd 100644
--- a/i18n/de-DE/app-overview.ts
+++ b/i18n/de-DE/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Legen Sie das Farbschema des Chatbots fest',
         chatColorThemeInverted: 'Invertiert',
         invalidHexMessage: 'Ung眉ltiger Hex-Wert',
-        invalidPrivacyPolicy: 'Ung眉ltiger Link zur Datenschutzrichtlinie. Bitte verwenden Sie einen g眉ltigen Link, der mit http oder https beginnt',
         more: {
           entry: 'Mehr Einstellungen anzeigen',
           copyright: 'Urheberrecht',
@@ -113,7 +112,6 @@
           operation: 'Dokumentation',
         },
       },
-      launch: 'Abschie脽en',
     },
     apiInfo: {
       title: 'Backend-Service-API',
diff --git a/i18n/de-DE/app.ts b/i18n/de-DE/app.ts
index d9454a2..b403a59 100644
--- a/i18n/de-DE/app.ts
+++ b/i18n/de-DE/app.ts
@@ -161,10 +161,6 @@
       description: 'Opik ist eine Open-Source-Plattform zum Bewerten, Testen und 脺berwachen von LLM-Anwendungen.',
       title: 'Opik',
     },
-    weave: {
-      title: 'Weben',
-      description: 'Weave ist eine Open-Source-Plattform zur Bewertung, Testung und 脺berwachung von LLM-Anwendungen.',
-    },
   },
   answerIcon: {
     descriptionInExplore: 'Gibt an, ob das WebApp-Symbol zum Ersetzen 馃 in Explore verwendet werden soll',
@@ -199,23 +195,6 @@
     searchAllTemplate: 'Alle Vorlagen durchsuchen...',
   },
   showMyCreatedAppsOnly: 'Nur meine erstellten Apps anzeigen',
-  appSelector: {
-    placeholder: 'W盲hlen Sie eine App aus...',
-    params: 'APP-PARAMETER',
-    label: 'APP',
-    noParams: 'Keine Parameter erforderlich',
-  },
-  structOutput: {
-    required: 'Erforderlich',
-    structured: 'Strukturiert',
-    structuredTip: 'Strukturierte Ausgaben ist eine Funktion, die sicherstellt, dass das Modell immer Antworten generiert, die Ihrem bereitgestellten JSON-Schema entsprechen.',
-    modelNotSupportedTip: 'Das aktuelle Modell unterst眉tzt diese Funktion nicht und wird automatisch auf Eingabeinjektion heruntergestuft.',
-    modelNotSupported: 'Modell nicht unterst眉tzt',
-    configure: 'Konfigurieren',
-    notConfiguredTip: 'Die strukturierte Ausgabe wurde bisher nicht konfiguriert.',
-    moreFillTip: 'Maximal 10 Ebenen der Verschachtelung anzeigen',
-    LLMResponse: 'LLM-Antwort',
-  },
 }
 
 export default translation
diff --git a/i18n/de-DE/billing.ts b/i18n/de-DE/billing.ts
index f0a0f19..7eae078 100644
--- a/i18n/de-DE/billing.ts
+++ b/i18n/de-DE/billing.ts
@@ -69,7 +69,6 @@
     messageRequest: {
       title: 'Nachrichtenguthaben',
       tooltip: 'Nachrichtenaufrufkontingente f眉r verschiedene Tarife unter Verwendung von OpenAI-Modellen (au脽er gpt4).Nachrichten 眉ber dem Limit verwenden Ihren OpenAI-API-Schl眉ssel.',
-      titlePerMonth: '{{count,number}} Nachrichten/Monat',
     },
     annotatedResponse: {
       title: 'Kontingentgrenzen f眉r Annotationen',
@@ -78,94 +77,27 @@
     ragAPIRequestTooltip: 'Bezieht sich auf die Anzahl der API-Aufrufe, die nur die Wissensdatenbankverarbeitungsf盲higkeiten von Dify aufrufen.',
     receiptInfo: 'Nur der Teaminhaber und der Teamadministrator k枚nnen abonnieren und Abrechnungsinformationen einsehen',
     annotationQuota: 'Kontingent f眉r Anmerkungen',
-    unlimitedApiRate: 'Keine API-Ratebeschr盲nkung',
-    teamMember_other: '{{count,number}} Teammitglieder',
-    priceTip: 'pro Arbeitsbereich/',
-    teamWorkspace: '{{count,number}} Team Arbeitsplatz',
-    annualBilling: 'J盲hrliche Abrechnung',
-    self: 'Selbst gehostet',
-    freeTrialTipPrefix: 'Melden Sie sich an und erhalten Sie ein',
-    cloud: 'Cloud-Dienst',
-    apiRateLimitTooltip: 'Die API-Datenbeschr盲nkung gilt f眉r alle Anfragen, die 眉ber die Dify-API gemacht werden, einschlie脽lich Textgenerierung, Chat-Konversationen, Workflow-Ausf眉hrungen und Dokumentenverarbeitung.',
-    getStarted: 'Loslegen',
-    apiRateLimitUnit: '{{count,number}}/Tag',
-    documentsTooltip: 'Vorgabe f眉r die Anzahl der Dokumente, die aus der Wissensdatenquelle importiert werden.',
-    apiRateLimit: 'API-Datenlimit',
-    documents: '{{count,number}} Wissensdokumente',
-    comparePlanAndFeatures: 'Pl盲ne und Funktionen vergleichen',
-    freeTrialTipSuffix: 'Keine Kreditkarte erforderlich',
-    freeTrialTip: 'kostenlose Testversion von 200 OpenAI-Anfragen.',
-    documentsRequestQuota: '{{count,number}}/min Wissensanforderungsratenlimit',
-    teamMember_one: '{{count,number}} Teammitglied',
-    documentsRequestQuotaTooltip: 'Gibt die Gesamtzahl der Aktionen an, die ein Arbeitsbereich pro Minute innerhalb der Wissensbasis ausf眉hren kann, einschlie脽lich der Erstellung, L枚schung, Aktualisierung von Datens盲tzen, des Hochladens von Dokumenten, von 脛nderungen, der Archivierung und von Abfragen in der Wissensbasis. Diese Kennzahl wird verwendet, um die Leistung von Anfragen an die Wissensbasis zu bewerten. Wenn ein Sandbox-Nutzer beispielsweise in einer Minute 10 aufeinanderfolgende Testdurchl盲ufe durchf眉hrt, wird sein Arbeitsbereich f眉r die n盲chste Minute vor眉bergehend daran gehindert, die folgenden Aktionen auszuf眉hren: Erstellung, L枚schung, Aktualisierung von Datens盲tzen sowie das Hochladen oder 脛ndern von Dokumenten.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200 mal GPT kostenlos testen',
       includesTitle: 'Beinhaltet:',
-      for: 'Kostenlose Testversion der Kernfunktionen',
     },
     professional: {
       name: 'Professionell',
       description: 'F眉r Einzelpersonen und kleine Teams, um mehr Leistung erschwinglich freizuschalten.',
       includesTitle: 'Alles im kostenlosen Tarif, plus:',
-      for: 'F眉r unabh盲ngige Entwickler/kleine Teams',
     },
     team: {
       name: 'Team',
       description: 'Zusammenarbeiten ohne Grenzen und Top-Leistung genie脽en.',
       includesTitle: 'Alles im Professionell-Tarif, plus:',
-      for: 'F眉r mittelgro脽e Teams',
     },
     enterprise: {
       name: 'Unternehmen',
       description: 'Erhalten Sie volle F盲higkeiten und Unterst眉tzung f眉r gro脽angelegte, missionskritische Systeme.',
       includesTitle: 'Alles im Team-Tarif, plus:',
-      features: {
-        2: 'Exklusive Unternehmensfunktionen',
-        8: 'Professioneller technischer Support',
-        6: 'Erweiterte Sicherheits- und Kontrollsysteme',
-        4: 'SSO',
-        0: 'Enterprise-Grade Skalierbare Bereitstellungsl枚sungen',
-        3: 'Mehrere Arbeitsbereiche und Unternehmensverwaltung',
-        1: 'Kommerzielle Lizenzgenehmigung',
-        5: 'Verhandelte SLAs durch Dify-Partner',
-        7: 'Updates und Wartung von Dify offiziell',
-      },
-      btnText: 'Vertrieb kontaktieren',
-      price: 'Benutzerdefiniert',
-      priceTip: 'J盲hrliche Abrechnung nur',
-      for: 'F眉r gro脽e Teams',
-    },
-    community: {
-      features: {
-        2: 'Entspricht der Dify Open Source Lizenz',
-        1: 'Einzelner Arbeitsbereich',
-        0: 'Alle Kernfunktionen wurden im 枚ffentlichen Repository ver枚ffentlicht.',
-      },
-      description: 'F眉r Einzelbenutzer, kleine Teams oder nicht-kommerzielle Projekte',
-      for: 'F眉r Einzelbenutzer, kleine Teams oder nicht-kommerzielle Projekte',
-      btnText: 'Beginnen Sie mit der Gemeinschaft',
-      price: 'Kostenlos',
-      includesTitle: 'Kostenlose Funktionen:',
-      name: 'Gemeinschaft',
-    },
-    premium: {
-      features: {
-        2: 'WebApp-Logo und Branding-Anpassung',
-        0: 'Selbstverwaltete Zuverl盲ssigkeit durch verschiedene Cloud-Anbieter',
-        3: 'Priorisierte E-Mail- und Chat-Unterst眉tzung',
-        1: 'Einzelner Arbeitsbereich',
-      },
-      includesTitle: 'Alles aus der Community, plus:',
-      name: 'Premium',
-      priceTip: 'Basierend auf dem Cloud-Marktplatz',
-      for: 'F眉r mittelgro脽e Organisationen und Teams',
-      btnText: 'Jetzt Premium erhalten in',
-      comingSoon: 'Microsoft Azure- und Google Cloud-Support demn盲chst verf眉gbar',
-      description: 'F眉r mittelgro脽e Organisationen und Teams',
-      price: 'Skalierbar',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'Upgraden Sie Ihren Tarif, um',
     fullTipLine2: 'mehr Apps zu bauen.',
-    contactUs: 'Kontaktieren Sie uns',
-    fullTip1: 'Upgrade, um mehr Apps zu erstellen',
-    fullTip2des: 'Es wird empfohlen, inaktive Anwendungen zu bereinigen, um Speicherplatz freizugeben, oder uns zu kontaktieren.',
-    fullTip1des: 'Sie haben das Limit f眉r das Erstellen von Apps in diesem Plan erreicht.',
-    fullTip2: 'Limit erreicht',
   },
   annotatedResponse: {
     fullTipLine1: 'Upgraden Sie Ihren Tarif, um',
     fullTipLine2: 'mehr Konversationen zu annotieren.',
     quotaTitle: 'Kontingent f眉r Annotation-Antworten',
   },
-  usagePage: {
-    buildApps: 'Apps erstellen',
-    annotationQuota: 'Annotierungsquote',
-    teamMembers: 'Teammitglieder',
-    documentsUploadQuota: 'Dokumenten-Upload-Quota',
-    vectorSpace: 'Wissensdatenbank',
-    vectorSpaceTooltip: 'Dokumente mit dem Hochqualit盲ts-Indexierungsmodus verbrauchen Ressourcen des Knowledge Data Storage. Wenn der Knowledge Data Storage die Grenze erreicht, werden keine neuen Dokumente hochgeladen.',
-  },
-  teamMembers: 'Teammitglieder',
 }
 
 export default translation
diff --git a/i18n/de-DE/common.ts b/i18n/de-DE/common.ts
index 54bde0b..915fc2a 100644
--- a/i18n/de-DE/common.ts
+++ b/i18n/de-DE/common.ts
@@ -50,14 +50,6 @@
     submit: 'Senden',
     skip: 'Schiff',
     imageCopied: 'Kopiertes Bild',
-    deleteApp: 'App l枚schen',
-    viewDetails: 'Details anzeigen',
-    in: 'in',
-    copied: 'Kopiert',
-    downloadFailed: 'Download fehlgeschlagen. Bitte versuchen Sie es sp盲ter erneut.',
-    downloadSuccess: 'Download abgeschlossen.',
-    more: 'Mehr',
-    format: 'Format',
   },
   placeholder: {
     input: 'Bitte eingeben',
@@ -130,8 +122,6 @@
       Custom: 'Benutzerdefiniert',
     },
     addMoreModel: 'Gehen Sie zu den Einstellungen, um mehr Modelle hinzuzuf眉gen',
-    settingsLink: 'Einstellungen f眉r Modellanbieter',
-    capabilities: 'Multimodale F盲higkeiten',
   },
   menus: {
     status: 'Beta',
@@ -144,7 +134,6 @@
     newApp: 'Neue App',
     newDataset: 'Wissen erstellen',
     tools: 'Werkzeuge',
-    exploreMarketplace: 'Marketplace erkunden',
   },
   userProfile: {
     settings: 'Einstellungen',
@@ -157,9 +146,6 @@
     community: 'Gemeinschaft',
     about: '脺ber',
     logout: 'Abmelden',
-    compliance: 'Einhaltung',
-    support: 'Unterst眉tzung',
-    github: 'GitHub',
   },
   settings: {
     accountGroup: 'KONTO',
@@ -173,7 +159,6 @@
     dataSource: 'Datenquelle',
     plugin: 'Plugins',
     apiBasedExtension: 'API-Erweiterung',
-    generalGroup: 'ALLGEMEIN',
   },
   account: {
     avatar: 'Avatar',
@@ -209,9 +194,6 @@
     feedbackLabel: 'Sagen Sie uns, warum Sie Ihr Konto gel枚scht haben?',
     feedbackPlaceholder: 'Wahlfrei',
     permanentlyDeleteButton: 'Konto dauerhaft l枚schen',
-    workspaceIcon: 'Arbeitsbereichssymbol',
-    workspaceName: 'Arbeitsbereichsname',
-    editWorkspaceInfo: 'Arbeitsbereichsinformationen bearbeiten',
   },
   members: {
     team: 'Team',
@@ -304,7 +286,6 @@
       usedUp: 'Testkontingent aufgebraucht. Eigenen Modellanbieter hinzuf眉gen.',
       useYourModel: 'Derzeit wird eigener Modellanbieter verwendet.',
       close: 'Schlie脽en',
-      trialQuotaTip: 'Ihr Anthropic-Testkontingent l盲uft am 11.03.2025 ab und steht danach nicht mehr zur Verf眉gung. Bitte machen Sie rechtzeitig davon Gebrauch.',
     },
     anthropic: {
       using: 'Die Einbettungsf盲higkeit verwendet',
@@ -416,12 +397,6 @@
     defaultConfig: 'Standardkonfiguration',
     apiKeyRateLimit: 'Ratenlimit wurde erreicht, verf眉gbar nach {{seconds}}s',
     loadBalancingInfo: 'Standardm盲脽ig wird f眉r den Lastenausgleich die Round-Robin-Strategie verwendet. Wenn die Ratenbegrenzung ausgel枚st wird, wird eine Abklingzeit von 1 Minute angewendet.',
-    emptyProviderTip: 'Bitte installieren Sie zuerst einen Modellanbieter.',
-    configureTip: 'Einrichten des API-Schl眉ssels oder Hinzuf眉gen des zu verwendenden Modells',
-    discoverMore: 'Erfahren Sie mehr in',
-    installProvider: 'Installieren von Modellanbietern',
-    toBeConfigured: 'Zu konfigurieren',
-    emptyProviderTitle: 'Modellanbieter nicht eingerichtet',
   },
   dataSource: {
     add: 'Eine Datenquelle hinzuf眉gen',
@@ -465,7 +440,7 @@
   apiBasedExtension: {
     title: 'API-Erweiterungen bieten zentralisiertes API-Management und vereinfachen die Konfiguration f眉r eine einfache Verwendung in Difys Anwendungen.',
     link: 'Erfahren Sie, wie Sie Ihre eigene API-Erweiterung entwickeln.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'API-Erweiterung hinzuf眉gen',
     selector: {
       title: 'API-Erweiterung',
@@ -551,9 +526,6 @@
       hitScore: 'Abrufwertung:',
     },
     inputPlaceholder: 'Sprechen Sie mit dem Bot',
-    thought: 'Gedanke',
-    thinking: 'Denken...',
-    resend: 'Erneut senden',
   },
   promptEditor: {
     placeholder: 'Schreiben Sie hier Ihr Aufforderungswort, geben Sie \'{\' ein, um eine Variable einzuf眉gen, geben Sie \'/\' ein, um einen Aufforderungs-Inhaltsblock einzuf眉gen',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: 'Artikel pro Seite',
-  },
-  theme: {
-    light: 'Licht',
-    theme: 'Thema',
-    dark: 'dunkel',
-    auto: 'System',
-  },
-  compliance: {
-    iso27001: 'ISO 27001:2022 Zertifizierung',
-    professionalUpgradeTooltip: 'Nur verf眉gbar mit einem Teamplan oder h枚her.',
-    gdpr: 'DSGVO DPA',
-    soc2Type2: 'SOC 2 Typ II Bericht',
-    soc2Type1: 'SOC 2 Typ I Bericht',
-    sandboxUpgradeTooltip: 'Nur verf眉gbar mit einem Professional- oder Teamplan.',
-  },
-  imageInput: {
-    dropImageHere: 'Laden Sie Ihr Bild hierher hoch oder',
-    browse: 'bl盲ttern',
-    supportedFormats: 'Unterst眉tzt PNG, JPG, JPEG, WEBP und GIF',
   },
 }
 
diff --git a/i18n/de-DE/custom.ts b/i18n/de-DE/custom.ts
index e86e0c2..2f4cabd 100644
--- a/i18n/de-DE/custom.ts
+++ b/i18n/de-DE/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Erweitere deinen Plan auf',
     suffix: 'um deine Marke anzupassen.',
-    title: 'Upgrade deinen Plan',
-    des: 'Upgrade deinen Plan, um deine Marke anzupassen.',
   },
   webapp: {
     title: 'WebApp Marke anpassen',
diff --git a/i18n/de-DE/dataset-creation.ts b/i18n/de-DE/dataset-creation.ts
index 9500c0c..cf389d5 100644
--- a/i18n/de-DE/dataset-creation.ts
+++ b/i18n/de-DE/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Wissen erstellen',
       update: 'Daten hinzuf眉gen',
-      fallbackRoute: 'Wissen',
     },
     one: 'Datenquelle w盲hlen',
     two: 'Textvorverarbeitung und Bereinigung',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: 'Textdatei hochladen',
-      button: 'Dateien und Ordner hierher ziehen oder klicken',
+      button: 'Datei hierher ziehen oder',
       browse: 'Durchsuchen',
       tip: 'Unterst眉tzt {{supportTypes}}. Maximal {{size}}MB pro Datei.',
       validation: {
@@ -69,7 +68,7 @@
       unknownError: 'Unbekannter Fehler',
       resetAll: 'Alles zur眉cksetzen',
       extractOnlyMainContent: 'Extrahieren Sie nur den Hauptinhalt (keine Kopf-, Navigations- und Fu脽zeilen usw.)',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       firecrawlTitle: 'Extrahieren von Webinhalten mit 馃敟Firecrawl',
       maxDepthTooltip: 'Maximale Tiefe f眉r das Crawlen relativ zur eingegebenen URL. Tiefe 0 kratzt nur die Seite der eingegebenen URL, Tiefe 1 kratzt die URL und alles nach der eingegebenen URL + ein / und so weiter.',
       crawlSubPage: 'Unterseiten crawlen',
@@ -82,14 +81,6 @@
       jinaReaderNotConfiguredDescription: 'Richten Sie Jina Reader ein, indem Sie Ihren kostenlosen API-Schl眉ssel f眉r den Zugriff eingeben.',
       useSitemapTooltip: 'Folgen Sie der Sitemap, um die Website zu crawlen. Ist dies nicht der Fall, crawlt Jina Reader iterativ basierend auf der Seitenrelevanz, sodass weniger, aber qualitativ hochwertigere Seiten angezeigt werden.',
       jinaReaderDoc: 'Erfahre mehr 眉ber Jina Reader',
-      configureJinaReader: 'Jina Reader konfigurieren',
-      waterCrawlNotConfigured: 'Watercrawl ist nicht konfiguriert',
-      configureWatercrawl: 'Wasserkrabbe konfigurieren',
-      watercrawlDocLink: 'https://docs.dify.ai/de/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      watercrawlTitle: 'Webinhalt mit Watercrawl extrahieren',
-      watercrawlDoc: 'Wasserkriechen-Dokumente',
-      configureFirecrawl: 'Firecrawl konfigurieren',
-      waterCrawlNotConfiguredDescription: 'Konfigurieren Sie Watercrawl mit dem API-Schl眉ssel, um es zu verwenden.',
     },
     cancel: 'Abbrechen',
   },
@@ -207,11 +198,6 @@
     learnMore: 'Weitere Informationen',
     title: 'Verbinden Sie sich mit anderen Datenquellen?',
     description: 'Derzeit verf眉gt die Wissensdatenbank von Dify nur 眉ber begrenzte Datenquellen. Das Beitragen einer Datenquelle zur Dify-Wissensdatenbank ist eine fantastische M枚glichkeit, die Flexibilit盲t und Leistungsf盲higkeit der Plattform f眉r alle Benutzer zu verbessern. Unser Beitragsleitfaden erleichtert Ihnen den Einstieg. Bitte klicken Sie auf den untenstehenden Link, um mehr zu erfahren.',
-  },
-  watercrawl: {
-    configWatercrawl: 'Wasserkrabbe konfigurieren',
-    apiKeyPlaceholder: 'API-Schl眉ssel von watercrawl.dev',
-    getApiKeyLinkText: 'Holen Sie sich Ihren API-Schl眉ssel von watercrawl.dev',
   },
 }
 
diff --git a/i18n/de-DE/dataset-documents.ts b/i18n/de-DE/dataset-documents.ts
index 22018f9..16bb634 100644
--- a/i18n/de-DE/dataset-documents.ts
+++ b/i18n/de-DE/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Sprache',
         authorPublisher: 'Autor/Verlag',
         publishDate: 'Ver枚ffentlichungsdatum',
-        topicKeywords: 'Themen/Schl眉sselw枚rter',
+        topicsKeywords: 'Themen/Schl眉sselw枚rter',
         description: 'Beschreibung',
       },
       paper: {
@@ -144,9 +144,8 @@
         journalConferenceName: 'Zeitschrift/Konferenzname',
         volumeIssuePage: 'Band/Ausgabe/Seite',
         DOI: 'DOI',
-        topicKeywords: 'Themen/Schl眉sselw枚rter',
+        topicsKeywords: 'Themen/Schl眉sselw枚rter',
         abstract: 'Zusammenfassung',
-        topicsKeywords: 'Themen/Stichworte',
       },
       socialMediaPost: {
         platform: 'Plattform',
diff --git a/i18n/de-DE/dataset-hit-testing.ts b/i18n/de-DE/dataset-hit-testing.ts
index 840a3c8..cb96b22 100644
--- a/i18n/de-DE/dataset-hit-testing.ts
+++ b/i18n/de-DE/dataset-hit-testing.ts
@@ -1,7 +1,7 @@
 const translation = {
   title: 'Abruf-Test',
   desc: 'Testen Sie die Treffereffektivit盲t des Wissens anhand des gegebenen Abfragetextes.',
-  dateTimeFormat: 'MM/DD/YYYY hh:mm A',
+  dateTimeFormat: 'MM/TT/JJJJ hh:mm A',
   recents: 'K眉rzlich',
   table: {
     header: {
diff --git a/i18n/de-DE/dataset-settings.ts b/i18n/de-DE/dataset-settings.ts
index 928da40..c871e13 100644
--- a/i18n/de-DE/dataset-settings.ts
+++ b/i18n/de-DE/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: 'Mehr erfahren',
       description: ' 眉ber die Abrufmethode.',
       longDescription: ' 眉ber die Abrufmethode, dies kann jederzeit in den Wissenseinstellungen ge盲ndert werden.',
-      method: 'Abrufmethode',
     },
     save: 'Speichern',
     permissionsInvitedMembers: 'Teilweise Teammitglieder',
@@ -36,7 +35,6 @@
     upgradeHighQualityTip: 'Nach dem Upgrade auf den Modus "Hohe Qualit盲t" ist das Zur眉cksetzen auf den Modus "Wirtschaftlich" nicht mehr m枚glich',
     helpText: 'Erfahren Sie, wie Sie eine gute Datensatzbeschreibung schreiben.',
     indexMethodChangeToEconomyDisabledTip: 'Nicht verf眉gbar f眉r ein Downgrade von HQ auf ECO',
-    searchModel: 'Modell suchen',
   },
 }
 
diff --git a/i18n/de-DE/dataset.ts b/i18n/de-DE/dataset.ts
index 4d513aa..3d3535b 100644
--- a/i18n/de-DE/dataset.ts
+++ b/i18n/de-DE/dataset.ts
@@ -168,54 +168,6 @@
   documentsDisabled: '{{num}} Dokumente deaktiviert - seit 眉ber 30 Tagen inaktiv',
   allKnowledge: 'Alles Wissen',
   allKnowledgeDescription: 'W盲hlen Sie diese Option aus, um das gesamte Wissen in diesem Arbeitsbereich anzuzeigen. Nur der Workspace-Besitzer kann das gesamte Wissen verwalten.',
-  metadata: {
-    createMetadata: {
-      namePlaceholder: 'Metadatenname hinzuf眉gen',
-      back: 'Zur眉ck',
-      title: 'Neue Metadaten',
-      name: 'Name',
-      type: 'Art',
-    },
-    checkName: {
-      empty: 'Der Metadatenname darf nicht leer sein.',
-      invalid: 'Der Metadatenname darf nur Kleinbuchstaben, Zahlen und Unterstriche enthalten und muss mit einem Kleinbuchstaben beginnen.',
-    },
-    batchEditMetadata: {
-      editMetadata: 'Metadaten bearbeiten',
-      multipleValue: 'Mehrwert',
-      applyToAllSelectDocument: 'Auf alle ausgew盲hlten Dokumente anwenden',
-      applyToAllSelectDocumentTip: 'Erstellen Sie automatisch alle oben bearbeiteten und neuen Metadaten f眉r alle ausgew盲hlten Dokumente, andernfalls wird die Bearbeitung der Metadaten nur auf Dokumente angewendet, die bereits Metadaten enthalten.',
-      editDocumentsNum: 'Bearbeiten von {{num}} Dokumenten',
-    },
-    selectMetadata: {
-      manageAction: 'Verwalten',
-      search: 'Metadaten durchsuchen',
-      newAction: 'Neue Metadaten',
-    },
-    datasetMetadata: {
-      name: 'Name',
-      disabled: 'Deaktiviert',
-      description: 'Sie k枚nnen alle Metadaten in diesem Wissen hier verwalten. 脛nderungen werden mit jedem Dokument synchronisiert.',
-      deleteContent: 'Bist du sicher, dass du die Metadaten "{{name}}" l枚schen m枚chtest?',
-      addMetaData: 'Metadaten hinzuf眉gen',
-      deleteTitle: 'Best盲tigen Sie das L枚schen',
-      values: '{{num}} Werte',
-      builtIn: 'Eingebaut',
-      rename: 'Umbenennen',
-      builtInDescription: 'Integrierte Metadaten werden automatisch extrahiert und generiert. Sie m眉ssen vor der Verwendung aktiviert werden und k枚nnen nicht bearbeitet werden.',
-      namePlaceholder: 'Metadatenname',
-    },
-    documentMetadata: {
-      startLabeling: 'Labeling starten',
-      technicalParameters: 'Technische Parameter',
-      documentInformation: 'Dokumentinformationen',
-      metadataToolTip: 'Metadaten dienen als ein entscheidender Filter, der die Genauigkeit und Relevanz der Informationsbeschaffung verbessert. Sie k枚nnen die Metadaten f眉r dieses Dokument hier 盲ndern und hinzuf眉gen.',
-    },
-    chooseTime: 'W盲hlen Sie eine Zeit...',
-    metadata: 'Metadaten',
-    addMetadata: 'Metadaten hinzuf眉gen',
-  },
-  embeddingModelNotAvailable: 'Das Einbettungsmodell ist nicht verf眉gbar.',
 }
 
 export default translation
diff --git a/i18n/de-DE/explore.ts b/i18n/de-DE/explore.ts
index 7a8e8e0..366726d 100644
--- a/i18n/de-DE/explore.ts
+++ b/i18n/de-DE/explore.ts
@@ -37,7 +37,6 @@
     HR: 'Personalwesen',
     Agent: 'Agent',
     Workflow: 'Arbeitsablauf',
-    Entertainment: 'Unterhaltung',
   },
 }
 
diff --git a/i18n/de-DE/run-log.ts b/i18n/de-DE/run-log.ts
index a9617b6..5f7610c 100644
--- a/i18n/de-DE/run-log.ts
+++ b/i18n/de-DE/run-log.ts
@@ -25,8 +25,6 @@
     tipRight: 'ansehen.',
     link: 'Gruppe Detail',
   },
-  actionLogs: 'Aktionsprotokolle',
-  circularInvocationTip: 'Es gibt einen zirkul盲ren Aufruf von Werkzeugen/Knoten im aktuellen Workflow.',
 }
 
 export default translation
diff --git a/i18n/de-DE/share-app.ts b/i18n/de-DE/share-app.ts
index 462286f..5ea67dd 100644
--- a/i18n/de-DE/share-app.ts
+++ b/i18n/de-DE/share-app.ts
@@ -30,12 +30,6 @@
     },
     tryToSolve: 'Versuchen zu l枚sen',
     temporarySystemIssue: 'Entschuldigung, vor眉bergehendes Systemproblem.',
-    expand: 'Erweitern',
-    collapse: 'Reduzieren',
-    chatSettingsTitle: 'Neues Chat-Setup',
-    newChatTip: 'Bereits in einem neuen Chat',
-    viewChatSettings: 'Chateinstellungen anzeigen',
-    chatFormTip: 'Chat-Einstellungen k枚nnen nach Beginn des Chats nicht mehr ge盲ndert werden.',
   },
   generation: {
     tabs: {
@@ -74,8 +68,6 @@
       moreThanMaxLengthLine: 'Zeile {{rowIndex}}: {{varName}} Wert darf nicht mehr als {{maxLength}} Zeichen sein',
       atLeastOne: 'Bitte geben Sie mindestens eine Zeile in die hochgeladene Datei ein.',
     },
-    executions: '{{num}} HINRICHTUNGEN',
-    execution: 'AUSF脺HRUNG',
   },
 }
 
diff --git a/i18n/de-DE/tools.ts b/i18n/de-DE/tools.ts
index 864ddef..2448b3e 100644
--- a/i18n/de-DE/tools.ts
+++ b/i18n/de-DE/tools.ts
@@ -121,7 +121,6 @@
     number: 'Nummer',
     required: 'Erforderlich',
     infoAndSetting: 'Info & Einstellungen',
-    file: 'Datei',
   },
   noCustomTool: {
     title: 'Keine benutzerdefinierten Werkzeuge!',
@@ -151,8 +150,6 @@
   toolNameUsageTip: 'Name des Tool-Aufrufs f眉r die Argumentation und Aufforderung des Agenten',
   customToolTip: 'Erfahren Sie mehr 眉ber benutzerdefinierte Dify-Tools',
   openInStudio: 'In Studio 枚ffnen',
-  noTools: 'Keine Werkzeuge gefunden',
-  copyToolName: 'Name kopieren',
 }
 
 export default translation
diff --git a/i18n/de-DE/workflow.ts b/i18n/de-DE/workflow.ts
index e229506..7a7b5e1 100644
--- a/i18n/de-DE/workflow.ts
+++ b/i18n/de-DE/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Fail-Branch hinzuf眉gen',
     loadMore: 'Weitere Workflows laden',
     noHistory: 'Keine Geschichte',
-    exportSVG: 'Als SVG exportieren',
-    noExist: 'Keine solche Variable',
-    versionHistory: 'Versionsverlauf',
-    publishUpdate: 'Update ver枚ffentlichen',
-    referenceVar: 'Referenzvariable',
-    exportImage: 'Bild exportieren',
-    exportJPEG: 'Als JPEG exportieren',
-    exitVersions: 'Ausgangsversionen',
-    exportPNG: 'Als PNG exportieren',
   },
   env: {
     envPanelTitle: 'Umgebungsvariablen',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Ung眉ltige Variable',
     rerankModelRequired: 'Bevor Sie das Rerank-Modell aktivieren, best盲tigen Sie bitte, dass das Modell in den Einstellungen erfolgreich konfiguriert wurde.',
-    toolParameterRequired: '{{field}}: Parameter [{{param}}] ist erforderlich',
-    noValidTool: '{{field}} kein g眉ltiges Werkzeug ausgew盲hlt',
   },
   singleRun: {
     testRun: 'Testlauf ',
@@ -214,7 +203,6 @@
     testRunIteration: 'Testlaufiteration',
     back: 'Zur眉ck',
     iteration: 'Iteration',
-    loop: 'Schleife',
   },
   tabs: {
     'searchBlock': 'Block suchen',
@@ -230,8 +218,6 @@
     'utilities': 'Dienstprogramme',
     'noResult': 'Kein Ergebnis gefunden',
     'searchTool': 'Suchwerkzeug',
-    'plugin': 'Stecker',
-    'agent': 'Agenten-Strategie',
   },
   blocks: {
     'start': 'Start',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Parameter-Extraktor',
     'list-operator': 'List-Operator',
     'document-extractor': 'Doc Extraktor',
-    'agent': 'Agent',
-    'loop': 'Schleife',
-    'loop-start': 'Schleifenbeginn',
-    'loop-end': 'Schleife beenden',
   },
   blocksAbout: {
     'start': 'Definieren Sie die Anfangsparameter zum Starten eines Workflows',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'Verwenden Sie LLM, um strukturierte Parameter aus nat眉rlicher Sprache f眉r Werkzeugaufrufe oder HTTP-Anfragen zu extrahieren.',
     'list-operator': 'Wird verwendet, um Array-Inhalte zu filtern oder zu sortieren.',
     'document-extractor': 'Wird verwendet, um hochgeladene Dokumente in Textinhalte zu analysieren, die f眉r LLM leicht verst盲ndlich sind.',
-    'agent': 'Aufruf gro脽er Sprachmodelle zur Beantwortung von Fragen oder zur Verarbeitung nat眉rlicher Sprache',
-    'loop': 'F眉hren Sie eine Schleife aus, bis die Abschlussbedingungen erf眉llt sind oder die maximalen Schleifenanzahl erreicht ist.',
-    'loop-end': 'Entspricht "break". Dieser Knoten hat keine Konfigurationselemente. Wenn der Schleifenrumpf diesen Knoten erreicht, wird die Schleife beendet.',
   },
   operator: {
     zoomIn: 'Vergr枚脽ern',
@@ -419,34 +398,6 @@
         variable: 'Variable',
       },
       sysQueryInUser: 'sys.query in Benutzernachricht erforderlich',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Bitte beenden Sie die Bearbeitung des aktuellen Feldes, bevor Sie das Schema speichern.',
-        },
-        stringValidations: 'Stringvalidierungen',
-        addField: 'Feld hinzuf眉gen',
-        generateJsonSchema: 'JSON-Schema generieren',
-        back: 'Zur眉ck',
-        addChildField: 'Kindfeld hinzuf眉gen',
-        generationTip: 'Sie k枚nnen nat眉rliche Sprache verwenden, um schnell ein JSON-Schema zu erstellen.',
-        title: 'Strukturiertes Ausgabeschema',
-        resetDefaults: 'Zur眉cksetzen',
-        showAdvancedOptions: 'Erweiterte Optionen anzeigen',
-        fieldNamePlaceholder: 'Feldname',
-        descriptionPlaceholder: 'F眉gen Sie eine Beschreibung hinzu.',
-        resultTip: 'Hier ist das generierte Ergebnis. Wenn Sie nicht zufrieden sind, k枚nnen Sie zur眉ckgehen und Ihre Eingabeaufforderung 盲ndern.',
-        generatedResult: 'Generiertes Ergebnis',
-        promptTooltip: 'Konvertiere die Textbeschreibung in eine standardisierte JSON-Schema-Struktur.',
-        promptPlaceholder: 'Beschreibe dein JSON-Schema...',
-        doc: 'Erfahren Sie mehr 眉ber strukturierten Output.',
-        required: 'erforderlich',
-        generate: 'Generieren',
-        apply: 'Bewerben',
-        import: 'Import aus JSON',
-        generating: 'Generiere JSON-Schema...',
-        instruction: 'Anleitung',
-        regenerate: 'Regenerieren',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Abfragevariable',
@@ -458,33 +409,6 @@
         icon: 'Segmentiertes Symbol',
         url: 'Segmentierte URL',
         metadata: 'Weitere Metadaten',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: 'Deaktiviert',
-            subTitle: 'Keine Aktivierung der Metadatfilterung',
-          },
-          automatic: {
-            desc: 'Automatisch Filterbedingungen f眉r Metadaten basierend auf Abfragevariablen generieren.',
-            title: 'Automatisch',
-            subTitle: 'Automatisch Metadatenfilterbedingungen basierend auf der Benutzeranfrage generieren',
-          },
-          manual: {
-            title: 'Handbuch',
-            subTitle: 'Manuell Filterbedingungen f眉r Metadaten hinzuf眉gen',
-          },
-        },
-        panel: {
-          placeholder: 'Wert eingeben',
-          datePlaceholder: 'W盲hlen Sie eine Zeit...',
-          add: 'Bedingung hinzuf眉gen',
-          title: 'Metadatenfilterbedingungen',
-          select: 'W盲hlen Sie eine Variable aus...',
-          conditions: 'Bedingungen',
-          search: 'Suchmetadaten',
-        },
-        title: 'Metadatenfilterung',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'all of': 'alle',
         'exists': 'existiert',
         'not in': 'nicht in',
-        'after': 'nach',
-        'before': 'vor',
       },
       enterValue: 'Wert eingeben',
       addCondition: 'Bedingung hinzuf眉gen',
@@ -592,7 +514,6 @@
       },
       select: 'Ausw盲hlen',
       addSubVariable: 'Untervariable',
-      condition: 'Bedingung',
     },
     variableAssigner: {
       title: 'Variablen zuweisen',
@@ -635,8 +556,6 @@
         'extend': 'Ausdehnen',
         '*=': '*=',
         'overwrite': '脺berschreiben',
-        'remove-first': 'Erste entfernen',
-        'remove-last': 'Letzte entfernen',
       },
       'setParameter': 'Parameter setzen...',
       'noVarTip': 'Klicken Sie auf die Schaltfl盲che "+", um Variablen hinzuzuf眉gen',
@@ -772,107 +691,6 @@
       selectVariableKeyPlaceholder: 'Untervariablenschl眉ssel ausw盲hlen',
       extractsCondition: 'Extrahieren des N-Elements',
     },
-    agent: {
-      strategy: {
-        configureTipDesc: 'Nach der Konfiguration der agentischen Strategie l盲dt dieser Knoten automatisch die verbleibenden Konfigurationen. Die Strategie wirkt sich auf den Mechanismus des mehrstufigen Tool-Reasoning aus.',
-        shortLabel: 'Strategie',
-        tooltip: 'Unterschiedliche Agentenstrategien bestimmen, wie das System mehrstufige Werkzeugaufrufe plant und ausf眉hrt',
-        configureTip: 'Bitte konfigurieren Sie die Agentenstrategie.',
-        selectTip: 'Agentische Strategie ausw盲hlen',
-        searchPlaceholder: 'Agentenstrategie suchen',
-        label: 'Agentische Strategie',
-      },
-      pluginInstaller: {
-        install: 'Installieren',
-        installing: 'Installation',
-      },
-      modelNotInMarketplace: {
-        desc: 'Dieses Modell wird aus dem lokalen oder GitHub-Repository installiert. Bitte nach der Installation verwenden.',
-        manageInPlugins: 'In Plugins verwalten',
-        title: 'Modell nicht installiert',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'Die installierte Plugin-Version stellt dieses Modell nicht zur Verf眉gung. Klicken Sie hier, um die Version zu wechseln.',
-        desc: 'Die installierte Plugin-Version stellt dieses Modell nicht zur Verf眉gung.',
-        title: 'Nicht unterst眉tztes Modell',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Dieses Modell ist veraltet',
-      },
-      outputVars: {
-        files: {
-          type: 'Art der Unterst眉tzung. Jetzt nur noch Image unterst眉tzen',
-          url: 'Bild-URL',
-          title: 'Vom Agenten generierte Dateien',
-          upload_file_id: 'Datei-ID hochladen',
-          transfer_method: '脺bertragungsmethode. Wert ist remote_url oder local_file',
-        },
-        text: 'Von Agenten generierte Inhalte',
-        json: 'Vom Agenten generiertes JSON',
-      },
-      checkList: {
-        strategyNotSelected: 'Strategie nicht ausgew盲hlt',
-      },
-      installPlugin: {
-        cancel: 'Abbrechen',
-        desc: '脺ber die Installation des folgenden Plugins',
-        changelog: '脛nderungsprotokoll',
-        title: 'Plugin installieren',
-        install: 'Installieren',
-      },
-      modelNotSelected: 'Modell nicht ausgew盲hlt',
-      modelNotInstallTooltip: 'Dieses Modell ist nicht installiert',
-      strategyNotFoundDesc: 'Die installierte Plugin-Version bietet diese Strategie nicht.',
-      unsupportedStrategy: 'Nicht unterst眉tzte Strategie',
-      toolNotInstallTooltip: '{{tool}} ist nicht installiert',
-      notAuthorized: 'Nicht autorisiert',
-      pluginNotInstalled: 'Dieses Plugin ist nicht installiert',
-      toolbox: 'Werkzeugkasten',
-      toolNotAuthorizedTooltip: '{{Werkzeug}} Nicht autorisiert',
-      maxIterations: 'Max. Iterationen',
-      model: 'Modell',
-      strategyNotInstallTooltip: '{{strategy}} ist nicht installiert',
-      pluginNotInstalledDesc: 'Dieses Plugin wird von GitHub installiert. Bitte gehen Sie zu Plugins, um sie neu zu installieren',
-      strategyNotSet: 'Agentische Strategie nicht festgelegt',
-      strategyNotFoundDescAndSwitchVersion: 'Die installierte Plugin-Version bietet diese Strategie nicht. Klicken Sie hier, um die Version zu wechseln.',
-      tools: 'Werkzeuge',
-      pluginNotFoundDesc: 'Dieses Plugin wird von GitHub installiert. Bitte gehen Sie zu Plugins, um sie neu zu installieren',
-      learnMore: 'Weitere Informationen',
-      configureModel: 'Modell konfigurieren',
-      linkToPlugin: 'Link zu Plugins',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: 'Abnormale Ausgaben entfernen',
-        continueOnError: 'Fortfahren bei Fehler',
-        operationTerminated: 'Beendet',
-      },
-      comma: ',',
-      loopNode: 'Schleifen-Knoten',
-      loop_other: '{{count}} Schleifen',
-      totalLoopCount: 'Gesamtanzahl der Schleifen: {{count}}',
-      deleteDesc: 'Das L枚schen des Schleifen-Knotens entfernt alle untergeordneten Knoten.',
-      loopVariables: 'Schleifenvariablen',
-      loop_one: '{{count}} Schleife',
-      breakCondition: 'Schleifenbeendigungsbedingung',
-      setLoopVariables: 'Setze Variablen innerhalb des Schleifenbereichs',
-      breakConditionTip: 'Nur Variablen innerhalb von Schleifen mit Abbruchbedingungen und Konversationsvariablen k枚nnen referenziert werden.',
-      loopMaxCountError: 'Bitte geben Sie eine g眉ltige maximale Schleifenanzahl ein, die von 1 bis {{maxCount}} reicht.',
-      deleteTitle: 'Schleifen-Knoten l枚schen?',
-      currentLoop: 'Aktueller Loop',
-      loopMaxCount: 'Maximale Schleifenanzahl',
-      finalLoopVariables: 'Endg眉ltige Schleifenvariablen',
-      exitConditionTip: 'Ein Schleifen-Knoten ben枚tigt mindestens eine Ausgangsbedingung.',
-      errorResponseMethod: 'Fehlerantwortmethode',
-      initialLoopVariables: 'Urspr眉ngliche Schleifenvariablen',
-      variableName: 'Variablenname',
-      error_one: '{{count}} Fehler',
-      currentLoopCount: 'Aktuelle Schleifenanzahl: {{count}}',
-      inputMode: 'Eingabemodus',
-      error_other: '{{count}} Fehler',
-      output: 'Ausgabewert',
-      input: 'Eingabe',
-    },
   },
   tracing: {
     stopBy: 'Gestoppt von {{user}}',
@@ -883,38 +701,6 @@
     noAssignedVars: 'Keine verf眉gbaren zugewiesenen Variablen',
     noVarsForOperation: 'Es stehen keine Variablen f眉r die Zuweisung mit der ausgew盲hlten Operation zur Verf眉gung.',
     assignedVarsDescription: 'Zugewiesene Variablen m眉ssen beschreibbare Variablen sein, z. B.',
-  },
-  versionHistory: {
-    filter: {
-      all: 'Alle',
-      onlyShowNamedVersions: 'Nur benannte Versionen anzeigen',
-      onlyYours: 'Nur dein',
-      reset: 'Filter zur眉cksetzen',
-      empty: 'Kein passendes Versionsprotokoll gefunden.',
-    },
-    editField: {
-      releaseNotesLengthLimit: 'Die Versionshinweise d眉rfen {{limit}} Zeichen nicht 眉berschreiten.',
-      titleLengthLimit: 'Der Titel darf {{limit}} Zeichen nicht 眉berschreiten.',
-      releaseNotes: 'Versionshinweise',
-      title: 'Titel',
-    },
-    action: {
-      restoreFailure: 'Wiederherstellung der Version fehlgeschlagen',
-      updateSuccess: 'Version aktualisiert',
-      deleteSuccess: 'Version gel枚scht',
-      deleteFailure: 'Version l枚schen fehlgeschlagen',
-      restoreSuccess: 'Version wiederhergestellt',
-      updateFailure: 'Aktualisierung der Version fehlgeschlagen',
-    },
-    latest: 'Neueste',
-    nameThisVersion: 'Nennen Sie diese Version',
-    currentDraft: 'Aktueller Entwurf',
-    releaseNotesPlaceholder: 'Beschreibe, was sich ge盲ndert hat.',
-    defaultName: 'Unbetitelte Version',
-    title: 'Versionen',
-    editVersionInfo: 'Versionsinformationen bearbeiten',
-    deletionTip: 'Die L枚schung ist unumkehrbar, bitte best盲tigen Sie.',
-    restorationTip: 'Nach der Wiederherstellung der Version wird der aktuelle Entwurf 眉berschrieben.',
   },
 }
 
diff --git a/i18n/en-US/app-debug.ts b/i18n/en-US/app-debug.ts
index 3ee5fd3..9c1b883 100644
--- a/i18n/en-US/app-debug.ts
+++ b/i18n/en-US/app-debug.ts
@@ -103,7 +103,7 @@
       edit: 'Edit annotation',
     },
     dataSet: {
-      title: 'Knowledge',
+      title: 'Context',
       noData: 'You can import Knowledge as context',
       words: 'Words',
       textBlocks: 'Text Blocks',
@@ -481,9 +481,8 @@
     },
     retrieveMultiWay: {
       title: 'Multi-path retrieval',
-      description: 'Based on user intent, queries across all Knowledge, retrieves relevant text from multi-sources, and selects the best results matching the user query after reranking.',
+      description: 'Based on user intent, queries across all Knowledge, retrieves relevant text from multi-sources, and selects the best results matching the user query after reranking. ',
     },
-    embeddingModelRequired: 'A configured Embedding Model is required',
     rerankModelRequired: 'A configured Rerank Model is required',
     params: 'Params',
     top_k: 'Top K',
diff --git a/i18n/en-US/app-overview.ts b/i18n/en-US/app-overview.ts
index 0261f4c..15801d1 100644
--- a/i18n/en-US/app-overview.ts
+++ b/i18n/en-US/app-overview.ts
@@ -33,7 +33,6 @@
       explanation: 'Ready-to-use AI WebApp',
       accessibleAddress: 'Public URL',
       preview: 'Preview',
-      launch: 'Launch',
       regenerate: 'Regenerate',
       regenerateNotice: 'Do you want to regenerate the public URL?',
       preUseReminder: 'Please enable WebApp before continuing.',
@@ -57,7 +56,6 @@
         chatColorThemeDesc: 'Set the color theme of the chatbot',
         chatColorThemeInverted: 'Inverted',
         invalidHexMessage: 'Invalid hex value',
-        invalidPrivacyPolicy: 'Invalid privacy policy link. Please use a valid link that starts with http or https',
         sso: {
           label: 'SSO Enforcement',
           title: 'WebApp SSO',
diff --git a/i18n/en-US/app.ts b/i18n/en-US/app.ts
index c57d6c2..343b01e 100644
--- a/i18n/en-US/app.ts
+++ b/i18n/en-US/app.ts
@@ -155,15 +155,11 @@
     },
     langfuse: {
       title: 'Langfuse',
-      description: 'Open-source LLM observability, evaluation, prompt management and metrics to debug and improve your LLM application.',
+      description: 'Traces, evals, prompt management and metrics to debug and improve your LLM application.',
     },
     opik: {
       title: 'Opik',
       description: 'Opik is an open-source platform for evaluating, testing, and monitoring LLM applications.',
-    },
-    weave: {
-      title: 'Weave',
-      description: 'Weave is an open-source platform for evaluating, testing, and monitoring LLM applications.',
     },
     inUse: 'In use',
     configProvider: {
@@ -177,24 +173,7 @@
       removeConfirmContent: 'The current configuration is in use, removing it will turn off the Tracing feature.',
     },
   },
-  appSelector: {
-    label: 'APP',
-    placeholder: 'Select an app...',
-    params: 'APP PARAMETERS',
-    noParams: 'No parameters needed',
-  },
   showMyCreatedAppsOnly: 'Created by me',
-  structOutput: {
-    moreFillTip: 'Showing max 10 levels of nesting',
-    required: 'Required',
-    LLMResponse: 'LLM Response',
-    configure: 'Configure',
-    notConfiguredTip: 'Structured output has not been configured yet',
-    structured: 'Structured',
-    structuredTip: 'Structured Outputs is a feature that ensures the model will always generate responses that adhere to your supplied JSON Schema',
-    modelNotSupported: 'Model not supported',
-    modelNotSupportedTip: 'The current model does not support this feature and is automatically downgraded to prompt injection.',
-  },
 }
 
 export default translation
diff --git a/i18n/en-US/billing.ts b/i18n/en-US/billing.ts
index 57358dc..6898210 100644
--- a/i18n/en-US/billing.ts
+++ b/i18n/en-US/billing.ts
@@ -1,30 +1,16 @@
 const translation = {
   currentPlan: 'Current Plan',
-  usagePage: {
-    teamMembers: 'Team Members',
-    buildApps: 'Build Apps',
-    annotationQuota: 'Annotation Quota',
-    documentsUploadQuota: 'Documents Upload Quota',
-    vectorSpace: 'Knowledge Data Storage',
-    vectorSpaceTooltip: 'Documents with the High Quality indexing mode will consume Knowledge Data Storage resources. When Knowledge Data Storage reaches the limit, new documents will not be uploaded.',
-  },
-  teamMembers: 'Team Members',
   upgradeBtn: {
-    plain: 'View Plan',
+    plain: 'Upgrade Plan',
     encourage: 'Upgrade Now',
     encourageShort: 'Upgrade',
   },
   viewBilling: 'Manage billing and subscriptions',
   buyPermissionDeniedTip: 'Please contact your enterprise administrator to subscribe',
   plansCommon: {
-    title: 'Pricing that powers your AI journey',
-    freeTrialTipPrefix: 'Sign up and get a ',
-    freeTrialTip: 'free trial of 200 OpenAI calls. ',
-    freeTrialTipSuffix: 'No credit card required',
-    yearlyTip: 'Pay for 10 months, enjoy 1 Year!',
-    mostPopular: 'Popular',
-    cloud: 'Cloud Service',
-    self: 'Self-Hosted',
+    title: 'Choose a plan that鈥檚 right for you',
+    yearlyTip: 'Get 2 months for free by subscribing yearly!',
+    mostPopular: 'Most Popular',
     planRange: {
       monthly: 'Monthly',
       yearly: 'Yearly',
@@ -33,43 +19,33 @@
     year: 'year',
     save: 'Save ',
     free: 'Free',
-    annualBilling: 'Annual Billing',
-    comparePlanAndFeatures: 'Compare plans & features',
-    priceTip: 'per workspace/',
     currentPlan: 'Current Plan',
     contractSales: 'Contact sales',
     contractOwner: 'Contact team manager',
-    startForFree: 'Start for Free',
-    getStarted: 'Get Started',
+    startForFree: 'Start for free',
+    getStartedWith: 'Get started with ',
     contactSales: 'Contact Sales',
     talkToSales: 'Talk to Sales',
-    modelProviders: 'Support OpenAI/Anthropic/Llama2/Azure OpenAI/Hugging Face/Replicate',
-    teamWorkspace: '{{count,number}} Team Workspace',
-    teamMember_one: '{{count,number}} Team Member',
-    teamMember_other: '{{count,number}} Team Members',
+    modelProviders: 'Model Providers',
+    teamMembers: 'Team Members',
     annotationQuota: 'Annotation Quota',
-    buildApps: '{{count,number}} Apps',
-    documents: '{{count,number}} Knowledge Documents',
-    documentsTooltip: 'Quota on the number of documents imported from the Knowledge Data Source.',
-    vectorSpace: '{{size}} Knowledge Data Storage',
-    vectorSpaceTooltip: 'Documents with the High Quality indexing mode will consume Knowledge Data Storage resources. When Knowledge Data Storage reaches the limit, new documents will not be uploaded.',
-    documentsRequestQuota: '{{count,number}}/min Knowledge Request Rate Limit',
-    documentsRequestQuotaTooltip: 'Specifies the total number of actions a workspace can perform per minute within the knowledge base, including dataset creation, deletion, updates, document uploads, modifications, archiving, and knowledge base queries. This metric is used to evaluate the performance of knowledge base requests. For example, if a Sandbox user performs 10 consecutive hit tests within one minute, their workspace will be temporarily restricted from performing the following actions for the next minute: dataset creation, deletion, updates, and document uploads or modifications. ',
-    apiRateLimit: 'API Rate Limit',
-    apiRateLimitUnit: '{{count,number}}/day',
-    unlimitedApiRate: 'No API Rate Limit',
-    apiRateLimitTooltip: 'API Rate Limit applies to all requests made through the Dify API, including text generation, chat conversations, workflow executions, and document processing.',
-    documentProcessingPriority: ' Document Processing',
+    buildApps: 'Build Apps',
+    vectorSpace: 'Vector Space',
+    vectorSpaceBillingTooltip: 'Each 1MB can store about 1.2million characters of vectorized data(estimated using OpenAI Embeddings, varies across models).',
+    vectorSpaceTooltip: 'Vector Space is the long-term memory system required for LLMs  to comprehend your data.',
+    documentsUploadQuota: 'Documents Upload Quota',
+    documentProcessingPriority: 'Document Processing Priority',
+    documentProcessingPriorityTip: 'For higher document processing priority, please upgrade your plan.',
     documentProcessingPriorityUpgrade: 'Process more data with higher accuracy at faster speeds.',
     priority: {
       'standard': 'Standard',
       'priority': 'Priority',
       'top-priority': 'Top Priority',
     },
-    logsHistory: '{{days}} Log history',
+    logsHistory: 'Logs history',
     customTools: 'Custom Tools',
     unavailable: 'Unavailable',
-    days: 'Days',
+    days: 'days',
     unlimited: 'Unlimited',
     support: 'Support',
     supportItems: {
@@ -92,13 +68,12 @@
     member: 'Member',
     memberAfter: 'Member',
     messageRequest: {
-      title: '{{count,number}} messages',
-      titlePerMonth: '{{count,number}} messages/month',
-      tooltip: 'Message invocation quotas for various plans using OpenAl models. Messages over the limit will use your OpenAI API Key.',
+      title: 'Message Credits',
+      tooltip: 'Message invocation quotas for various plans using OpenAI models (except gpt4).Messages over the limit will use your OpenAI API Key.',
     },
     annotatedResponse: {
-      title: '{{count,number}} Annotation Quota Limits',
-      tooltip: 'Manual editing and annotation of responses provides customizable high-quality question-answering abilities for apps. (Applicable only in Chat apps)',
+      title: 'Annotation Quota Limits',
+      tooltip: 'Manual editing and annotation of responses provides customizable high-quality question-answering abilities for apps. (Applicable only in chat apps)',
     },
     ragAPIRequestTooltip: 'Refers to the number of API calls invoking only the knowledge base processing capabilities of Dify.',
     receiptInfo: 'Only team owner and team admin can subscribe and view billing information',
@@ -106,67 +81,23 @@
   plans: {
     sandbox: {
       name: 'Sandbox',
-      for: 'Free Trial of Core Capabilities',
-      description: 'Free Trial of Core Capabilities',
+      description: '200 times GPT free trial',
+      includesTitle: 'Includes:',
     },
     professional: {
       name: 'Professional',
-      for: 'For Independent Developers/Small Teams',
-      description: 'For Independent Developers/Small Teams',
+      description: 'For individuals and small teams to unlock more power affordably.',
+      includesTitle: 'Everything in free plan, plus:',
     },
     team: {
       name: 'Team',
-      for: 'For Medium-sized Teams',
-      description: 'For Medium-sized Teams',
-    },
-    community: {
-      name: 'Community',
-      for: 'For Individual Users, Small Teams, or Non-commercial Projects',
-      description: 'For Individual Users, Small Teams, or Non-commercial Projects',
-      price: 'Free',
-      btnText: 'Get Started with Community',
-      includesTitle: 'Free Features:',
-      features: [
-        'All Core Features Released Under the Public Repository',
-        'Single Workspace',
-        'Complies with Dify Open Source License',
-      ],
-    },
-    premium: {
-      name: 'Premium',
-      for: 'For Mid-sized Organizations and Teams',
-      description: 'For Mid-sized Organizations and Teams',
-      price: 'Scalable',
-      priceTip: 'Based on Cloud Marketplace',
-      btnText: 'Get Premium in',
-      includesTitle: 'Everything from Community, plus:',
-      comingSoon: 'Microsoft Azure & Google Cloud Support Coming Soon',
-      features: [
-        'Self-managed Reliability by Various Cloud Providers',
-        'Single Workspace',
-        'WebApp Logo & Branding Customization',
-        'Priority Email & Chat Support',
-      ],
+      description: 'Collaborate without limits and enjoy top-tier performance.',
+      includesTitle: 'Everything in Professional plan, plus:',
     },
     enterprise: {
       name: 'Enterprise',
-      for: 'For large-sized Teams',
-      description: 'For Enterprise Require Organization-wide Security, Compliance, Scalability, Control and More Advanced Features',
-      price: 'Custom',
-      priceTip: 'Annual Billing Only',
-      btnText: 'Contact Sales',
-      includesTitle: 'Everything from Premium, plus:',
-      features: [
-        'Enterprise-grade Scalable Deployment Solutions',
-        'Commercial License Authorization',
-        'Exclusive Enterprise Features',
-        'Multiple Workspaces & Enterprise Management',
-        'SSO',
-        'Negotiated SLAs by Dify Partners',
-        'Advanced Security & Controls',
-        'Updates and Maintenance by Dify Officially',
-        'Professional Technical Support',
-      ],
+      description: 'Get full capabilities and support for large-scale mission-critical systems.',
+      includesTitle: 'Everything in Team plan, plus:',
     },
   },
   vectorSpace: {
@@ -174,11 +105,8 @@
     fullSolution: 'Upgrade your plan to get more space.',
   },
   apps: {
-    fullTip1: 'Upgrade to create more apps',
-    fullTip1des: 'You\'ve reached the limit of build apps on this plan',
-    fullTip2: 'Plan limit reached',
-    fullTip2des: 'It is recommended to clean up inactive applications to free up usage, or contact us.',
-    contactUs: 'Contact us',
+    fullTipLine1: 'Upgrade your plan to',
+    fullTipLine2: 'build more apps.',
   },
   annotatedResponse: {
     fullTipLine1: 'Upgrade your plan to',
diff --git a/i18n/en-US/common.ts b/i18n/en-US/common.ts
index b194f6e..c116e08 100644
--- a/i18n/en-US/common.ts
+++ b/i18n/en-US/common.ts
@@ -1,10 +1,4 @@
 const translation = {
-  theme: {
-    theme: 'Theme',
-    light: 'light',
-    dark: 'dark',
-    auto: 'system',
-  },
   api: {
     success: 'Success',
     actionSuccess: 'Action succeeded',
@@ -29,15 +23,10 @@
     remove: 'Remove',
     send: 'Send',
     copy: 'Copy',
-    copied: 'Copied',
     lineBreak: 'Line break',
     sure: 'I\'m sure',
     download: 'Download',
-    downloadSuccess: 'Download Completed.',
-    downloadFailed: 'Download failed. Please try again later.',
-    viewDetails: 'View Details',
     delete: 'Delete',
-    deleteApp: 'Delete App',
     settings: 'Settings',
     setup: 'Setup',
     getForFree: 'Get for free',
@@ -49,21 +38,18 @@
     duplicate: 'Duplicate',
     rename: 'Rename',
     audioSourceUnavailable: 'AudioSource is unavailable',
-    close: 'Close',
     copyImage: 'Copy Image',
     imageCopied: 'Image copied',
     zoomOut: 'Zoom Out',
     zoomIn: 'Zoom In',
     openInNewTab: 'Open in new tab',
-    in: 'in',
     saveAndRegenerate: 'Save & Regenerate Child Chunks',
+    close: 'Close',
     view: 'View',
     viewMore: 'VIEW MORE',
     regenerate: 'Regenerate',
     submit: 'Submit',
     skip: 'Skip',
-    format: 'Format',
-    more: 'More',
   },
   errorMsg: {
     fieldRequired: '{{field}} is required',
@@ -140,15 +126,12 @@
       Custom: 'Custom',
     },
     addMoreModel: 'Go to settings to add more models',
-    settingsLink: 'Model Provider Settings',
-    capabilities: 'MultiModal Capabilities',
   },
   menus: {
     status: 'beta',
     explore: 'Explore',
     apps: 'Studio',
     plugins: 'Plugins',
-    exploreMarketplace: 'Explore Marketplace',
     pluginsTips: 'Integrate third-party plugins or create ChatGPT-compatible AI-Plugins.',
     datasets: 'Knowledge',
     datasetsTips: 'COMING SOON: Import your own text data or write data in real-time via Webhook for LLM context enhancement.',
@@ -161,28 +144,16 @@
     emailSupport: 'Email Support',
     workspace: 'Workspace',
     createWorkspace: 'Create Workspace',
-    helpCenter: 'Docs',
-    support: 'Support',
-    compliance: 'Compliance',
+    helpCenter: 'Help',
     communityFeedback: 'Feedback',
     roadmap: 'Roadmap',
-    github: 'GitHub',
     community: 'Community',
     about: 'About',
     logout: 'Log out',
   },
-  compliance: {
-    soc2Type1: 'SOC 2 Type I Report',
-    soc2Type2: 'SOC 2 Type II Report',
-    iso27001: 'ISO 27001:2022 Certification',
-    gdpr: 'GDPR DPA',
-    sandboxUpgradeTooltip: 'Only available with a Professional or Team plan.',
-    professionalUpgradeTooltip: 'Only available with a Team plan or above.',
-  },
   settings: {
     accountGroup: 'GENERAL',
     workplaceGroup: 'WORKSPACE',
-    generalGroup: 'GENERAL',
     account: 'My account',
     members: 'Members',
     billing: 'Billing',
@@ -226,9 +197,6 @@
     feedbackTitle: 'Feedback',
     feedbackLabel: 'Tell us why you deleted your account?',
     feedbackPlaceholder: 'Optional',
-    editWorkspaceInfo: 'Edit Workspace Info',
-    workspaceName: 'Workspace Name',
-    workspaceIcon: 'Workspace Icon',
   },
   members: {
     team: 'Team',
@@ -321,7 +289,6 @@
       usedUp: 'Trial quota used up. Add own Model Provider.',
       useYourModel: 'Currently using own Model Provider.',
       close: 'Close',
-      trialQuotaTip: 'Your Anthropic trial quota will expire on 2025/03/17 and will no longer be available thereafter. Please make use of it in time.',
     },
     anthropic: {
       using: 'The embedding capability is using',
@@ -335,7 +302,7 @@
     },
   },
   modelProvider: {
-    notConfigured: 'The system model has not yet been fully configured',
+    notConfigured: 'The system model has not yet been fully configured, and some functions may be unavailable.',
     systemModelSettings: 'System Model Settings',
     systemModelSettingsLink: 'Why is it necessary to set up a system model?',
     selectModel: 'Select your model',
@@ -433,12 +400,6 @@
     loadBalancingLeastKeyWarning: 'To enable load balancing at least 2 keys must be enabled.',
     loadBalancingInfo: 'By default, load balancing uses the Round-robin strategy. If rate limiting is triggered, a 1-minute cooldown period will be applied.',
     upgradeForLoadBalancing: 'Upgrade your plan to enable Load Balancing.',
-    toBeConfigured: 'To be configured',
-    configureTip: 'Set up api-key or add model to use',
-    installProvider: 'Install model providers',
-    discoverMore: 'Discover more in ',
-    emptyProviderTitle: 'Model provider not set up',
-    emptyProviderTip: 'Please install a model provider first.',
   },
   dataSource: {
     add: 'Add a data source',
@@ -482,7 +443,7 @@
   apiBasedExtension: {
     title: 'API extensions provide centralized API management, simplifying configuration for easy use across Dify\'s applications.',
     link: 'Learn how to develop your own API Extension.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Add API Extension',
     selector: {
       title: 'API Extension',
@@ -518,7 +479,7 @@
     overview: 'Monitoring',
     promptEng: 'Orchestrate',
     apiAccess: 'API Access',
-    logAndAnn: 'Logs & Annotations',
+    logAndAnn: 'Logs & Ann.',
     logs: 'Logs',
   },
   environment: {
@@ -568,9 +529,6 @@
       hitScore: 'Retrieval Score:',
     },
     inputPlaceholder: 'Talk to Bot',
-    thinking: 'Thinking...',
-    thought: 'Thought',
-    resend: 'Resend',
   },
   promptEditor: {
     placeholder: 'Write your prompt word here, enter \'{\' to insert a variable, enter \'/\' to insert a prompt content block',
@@ -660,11 +618,6 @@
   },
   pagination: {
     perPage: 'Items per page',
-  },
-  imageInput: {
-    dropImageHere: 'Drop your image here, or',
-    browse: 'browse',
-    supportedFormats: 'Supports PNG, JPG, JPEG, WEBP and GIF',
   },
 }
 
diff --git a/i18n/en-US/custom.ts b/i18n/en-US/custom.ts
index 408d4c5..2d931a8 100644
--- a/i18n/en-US/custom.ts
+++ b/i18n/en-US/custom.ts
@@ -1,8 +1,6 @@
 const translation = {
   custom: 'Customization',
   upgradeTip: {
-    title: 'Upgrade your plan',
-    des: 'Upgrade your plan to customize your brand',
     prefix: 'Upgrade your plan to',
     suffix: 'customize your brand.',
   },
diff --git a/i18n/en-US/dataset-creation.ts b/i18n/en-US/dataset-creation.ts
index cf2d454..8490896 100644
--- a/i18n/en-US/dataset-creation.ts
+++ b/i18n/en-US/dataset-creation.ts
@@ -1,7 +1,8 @@
 const translation = {
   steps: {
     header: {
-      fallbackRoute: 'Knowledge',
+      creation: 'Create Knowledge',
+      update: 'Add data',
     },
     one: 'Data Source',
     two: 'Document Processing',
@@ -14,11 +15,6 @@
     configFirecrawl: 'Configure 馃敟Firecrawl',
     apiKeyPlaceholder: 'API key from firecrawl.dev',
     getApiKeyLinkText: 'Get your API key from firecrawl.dev',
-  },
-  watercrawl: {
-    configWatercrawl: 'Configure Watercrawl',
-    apiKeyPlaceholder: 'API key from watercrawl.dev',
-    getApiKeyLinkText: 'Get your API key from watercrawl.dev',
   },
   jinaReader: {
     configJinaReader: 'Configure Jina Reader',
@@ -35,7 +31,7 @@
     },
     uploader: {
       title: 'Upload file',
-      button: 'Drag and drop file or folder, or',
+      button: 'Drag and drop file, or',
       browse: 'Browse',
       tip: 'Supports {{supportTypes}}. Max {{size}}MB each.',
       validation: {
@@ -71,19 +67,11 @@
       fireCrawlNotConfiguredDescription: 'Configure Firecrawl with API key to use it.',
       jinaReaderNotConfigured: 'Jina Reader is not configured',
       jinaReaderNotConfiguredDescription: 'Set up Jina Reader by entering your free API key for access.',
-      waterCrawlNotConfigured: 'Watercrawl is not configured',
-      waterCrawlNotConfiguredDescription: 'Configure Watercrawl with API key to use it.',
       configure: 'Configure',
-      configureFirecrawl: 'Configure Firecrawl',
-      configureWatercrawl: 'Configure Watercrawl',
-      configureJinaReader: 'Configure Jina Reader',
       run: 'Run',
       firecrawlTitle: 'Extract web content with 馃敟Firecrawl',
       firecrawlDoc: 'Firecrawl docs',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      watercrawlTitle: 'Extract web content with Watercrawl',
-      watercrawlDoc: 'Watercrawl docs',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       jinaReaderTitle: 'Convert the entire site to Markdown',
       jinaReaderDoc: 'Learn more about Jina Reader',
       jinaReaderDocLink: 'https://jina.ai/reader',
diff --git a/i18n/en-US/dataset-documents.ts b/i18n/en-US/dataset-documents.ts
index d7fd70c..d315261 100644
--- a/i18n/en-US/dataset-documents.ts
+++ b/i18n/en-US/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Language',
         authorPublisher: 'Author/Publisher',
         publishDate: 'Publish Date',
-        topicKeywords: 'Topic/Keywords',
+        topicsKeywords: 'Topics/Keywords',
         description: 'Description',
       },
       paper: {
diff --git a/i18n/en-US/dataset-settings.ts b/i18n/en-US/dataset-settings.ts
index bf10bed..d25779e 100644
--- a/i18n/en-US/dataset-settings.ts
+++ b/i18n/en-US/dataset-settings.ts
@@ -26,7 +26,6 @@
     embeddingModelTipLink: 'Settings',
     retrievalSetting: {
       title: 'Retrieval Setting',
-      method: 'Retrieval Method',
       learnMore: 'Learn more',
       description: ' about retrieval method.',
       longDescription: ' about retrieval method, you can change this at any time in the Knowledge settings.',
@@ -36,7 +35,6 @@
     retrievalSettings: 'Retrieval Settings',
     save: 'Save',
     indexMethodChangeToEconomyDisabledTip: 'Not available for downgrading from HQ to ECO',
-    searchModel: 'Search model',
   },
 }
 
diff --git a/i18n/en-US/dataset.ts b/i18n/en-US/dataset.ts
index 3e251d1..4e1f254 100644
--- a/i18n/en-US/dataset.ts
+++ b/i18n/en-US/dataset.ts
@@ -168,54 +168,6 @@
   preprocessDocument: '{{num}} Preprocess Documents',
   allKnowledge: 'All Knowledge',
   allKnowledgeDescription: 'Select to display all knowledge in this workspace. Only the Workspace Owner can manage all knowledge.',
-  embeddingModelNotAvailable: 'Embedding model is unavailable.',
-  metadata: {
-    metadata: 'Metadata',
-    addMetadata: 'Add Metadata',
-    chooseTime: 'Choose a time...',
-    createMetadata: {
-      title: 'New Metadata',
-      back: 'Back',
-      type: 'Type',
-      name: 'Name',
-      namePlaceholder: 'Add metadata name',
-    },
-    checkName: {
-      empty: 'Metadata name cannot be empty',
-      invalid: 'Metadata name can only contain lowercase letters, numbers, and underscores and must start with a lowercase letter',
-    },
-    batchEditMetadata: {
-      editMetadata: 'Edit Metadata',
-      editDocumentsNum: 'Editing {{num}} documents',
-      applyToAllSelectDocument: 'Apply to all selected documents',
-      applyToAllSelectDocumentTip: 'Automatically create all the above edited and new metadata for all selected documents, otherwise editing metadata will only apply to documents with it.',
-      multipleValue: 'Multiple Value',
-    },
-    selectMetadata: {
-      search: 'Search metadata',
-      newAction: 'New Metadata',
-      manageAction: 'Manage',
-    },
-    datasetMetadata: {
-      description: 'You can manage all metadata in this knowledge here. Modifications will be synchronized to every document.',
-      addMetaData: 'Add Metadata',
-      values: '{{num}} Values',
-      disabled: 'Disabled',
-      rename: 'Rename',
-      name: 'Name',
-      namePlaceholder: 'Metadata name',
-      builtIn: 'Built-in',
-      builtInDescription: 'Built-in metadata is automatically extracted and generated. It must be enabled before use and cannot be edited.',
-      deleteTitle: 'Confirm to delete',
-      deleteContent: 'Are you sure you want to delete the metadata "{{name}}"',
-    },
-    documentMetadata: {
-      metadataToolTip: 'Metadata serves as a critical filter that enhances the accuracy and relevance of information retrieval. You can modify and add metadata for this document here.',
-      startLabeling: 'Start Labeling',
-      documentInformation: 'Document Information',
-      technicalParameters: 'Technical Parameters',
-    },
-  },
 }
 
 export default translation
diff --git a/i18n/en-US/explore.ts b/i18n/en-US/explore.ts
index 40e928f..d4368fb 100644
--- a/i18n/en-US/explore.ts
+++ b/i18n/en-US/explore.ts
@@ -37,7 +37,6 @@
     Programming: 'Programming',
     HR: 'HR',
     Workflow: 'Workflow',
-    Entertainment: 'Entertainment',
   },
 }
 
diff --git a/i18n/en-US/login.ts b/i18n/en-US/login.ts
index f7d7171..5ff7b80 100644
--- a/i18n/en-US/login.ts
+++ b/i18n/en-US/login.ts
@@ -19,7 +19,7 @@
   setAdminAccountDesc: 'Maximum privileges for admin account, which can be used to create applications and manage LLM providers, etc.',
   createAndSignIn: 'Create and sign in',
   oneMoreStep: 'One more step',
-  createSample: 'Based on this information, we\'ll create sample application for you',
+  createSample: 'Based on this information, we鈥檒l create sample application for you',
   invitationCode: 'Invitation Code',
   invitationCodePlaceholder: 'Your invitation code',
   interfaceLanguage: 'Interface Language',
diff --git a/i18n/en-US/run-log.ts b/i18n/en-US/run-log.ts
index 3c851f4..33fe5c1 100644
--- a/i18n/en-US/run-log.ts
+++ b/i18n/en-US/run-log.ts
@@ -24,8 +24,6 @@
     link: 'detail panel',
     tipRight: ' view it.',
   },
-  actionLogs: 'Action Logs',
-  circularInvocationTip: 'There is circular invocation of tools/nodes in the current workflow.',
 }
 
 export default translation
diff --git a/i18n/en-US/share-app.ts b/i18n/en-US/share-app.ts
index bf99005..5d47fd3 100644
--- a/i18n/en-US/share-app.ts
+++ b/i18n/en-US/share-app.ts
@@ -5,15 +5,11 @@
     appUnknownError: 'App is unavailable',
   },
   chat: {
-    newChat: 'Start New chat',
-    newChatTip: 'Already in a new chat',
-    chatSettingsTitle: 'New chat setup',
-    chatFormTip: 'Chat settings cannot be modified after the chat has started.',
+    newChat: 'New chat',
     pinnedTitle: 'Pinned',
-    unpinnedTitle: 'Recent',
+    unpinnedTitle: 'Chats',
     newChatDefaultName: 'New conversation',
     resetChat: 'Reset conversation',
-    viewChatSettings: 'View chat settings',
     poweredBy: 'Powered by',
     prompt: 'Prompt',
     privatePromptConfigTitle: 'Conversation settings',
@@ -34,8 +30,6 @@
     },
     tryToSolve: 'Try to solve',
     temporarySystemIssue: 'Sorry, temporary system issue.',
-    expand: 'Expand',
-    collapse: 'Collapse',
   },
   generation: {
     tabs: {
@@ -53,8 +47,6 @@
     completionResult: 'Completion result',
     queryPlaceholder: 'Write your query content...',
     run: 'Execute',
-    execution: 'EXECUTION',
-    executions: '{{num}} EXECUTIONS',
     copy: 'Copy',
     resultTitle: 'AI Completion',
     noData: 'AI will give you what you want here.',
diff --git a/i18n/en-US/tools.ts b/i18n/en-US/tools.ts
index f624fac..b1f278f 100644
--- a/i18n/en-US/tools.ts
+++ b/i18n/en-US/tools.ts
@@ -4,7 +4,7 @@
   customToolTip: 'Learn more about Dify custom tools',
   type: {
     all: 'All',
-    builtIn: 'Tools',
+    builtIn: 'Built-in',
     custom: 'Custom',
     workflow: 'Workflow',
   },
@@ -21,7 +21,7 @@
     setupModalTitle: 'Set Up Authorization',
     setupModalTitleDescription: 'After configuring credentials, all members within the workspace can use this tool when orchestrating applications.',
   },
-  includeToolNum: '{{num}} {{action}} included',
+  includeToolNum: '{{num}} tools included',
   addTool: 'Add Tool',
   addToolModal: {
     type: 'type',
@@ -131,7 +131,6 @@
     parameters: 'parameters',
     string: 'string',
     number: 'number',
-    file: 'file',
     required: 'Required',
     infoAndSetting: 'Info & Settings',
   },
@@ -147,12 +146,10 @@
   },
   builtInPromptTitle: 'Prompt',
   toolRemoved: 'Tool removed',
-  notAuthorized: 'Not authorized',
+  notAuthorized: 'Tool not authorized',
   howToGet: 'How to get',
   openInStudio: 'Open in Studio',
   toolNameUsageTip: 'Tool call name for agent reasoning and prompting',
-  copyToolName: 'Copy Name',
-  noTools: 'No tools found',
 }
 
 export default translation
diff --git a/i18n/en-US/workflow.ts b/i18n/en-US/workflow.ts
index f7121a7..42b7048 100644
--- a/i18n/en-US/workflow.ts
+++ b/i18n/en-US/workflow.ts
@@ -8,7 +8,6 @@
     published: 'Published',
     publish: 'Publish',
     update: 'Update',
-    publishUpdate: 'Publish Update',
     run: 'Run',
     running: 'Running',
     inRunMode: 'In Run Mode',
@@ -31,8 +30,6 @@
     latestPublished: 'Latest Published',
     publishedAt: 'Published',
     restore: 'Restore',
-    versionHistory: 'Version History',
-    exitVersions: 'Exit Versions',
     runApp: 'Run App',
     batchRunApp: 'Batch Run App',
     openInExplore: 'Open in Explore',
@@ -70,10 +67,6 @@
     pasteHere: 'Paste Here',
     pointerMode: 'Pointer Mode',
     handMode: 'Hand Mode',
-    exportImage: 'Export Image',
-    exportPNG: 'Export as PNG',
-    exportJPEG: 'Export as JPEG',
-    exportSVG: 'Export as SVG',
     model: 'Model',
     workflowAsTool: 'Workflow as Tool',
     configureRequired: 'Configure Required',
@@ -111,7 +104,7 @@
     branch: 'BRANCH',
     onFailure: 'On Failure',
     addFailureBranch: 'Add Fail Branch',
-    loadMore: 'Load More',
+    loadMore: 'Load More Workflows',
     noHistory: 'No History',
   },
   env: {
@@ -202,8 +195,6 @@
       visionVariable: 'Vision Variable',
     },
     invalidVariable: 'Invalid variable',
-    noValidTool: '{{field}} no valid tool selected',
-    toolParameterRequired: '{{field}}: parameter [{{param}}] is required',
   },
   singleRun: {
     testRun: 'Test Run ',
@@ -212,7 +203,6 @@
     testRunIteration: 'Test Run Iteration',
     back: 'Back',
     iteration: 'Iteration',
-    loop: 'Loop',
   },
   tabs: {
     'searchBlock': 'Search block',
@@ -220,7 +210,7 @@
     'searchTool': 'Search tool',
     'tools': 'Tools',
     'allTool': 'All',
-    'plugin': 'Plugin',
+    'builtInTool': 'Built-in',
     'customTool': 'Custom',
     'workflowTool': 'Workflow',
     'question-understand': 'Question Understand',
@@ -228,7 +218,6 @@
     'transform': 'Transform',
     'utilities': 'Utilities',
     'noResult': 'No match found',
-    'agent': 'Agent Strategy',
   },
   blocks: {
     'start': 'Start',
@@ -249,10 +238,6 @@
     'parameter-extractor': 'Parameter Extractor',
     'document-extractor': 'Doc Extractor',
     'list-operator': 'List Operator',
-    'agent': 'Agent',
-    'loop-start': 'Loop Start',
-    'loop': 'Loop',
-    'loop-end': 'Exit Loop',
   },
   blocksAbout: {
     'start': 'Define the initial parameters for launching a workflow',
@@ -269,12 +254,9 @@
     'assigner': 'The variable assignment node is used for assigning values to writable variables(like conversation variables).',
     'variable-aggregator': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.',
     'iteration': 'Perform multiple steps on a list object until all results are outputted.',
-    'loop': 'Execute a loop of logic until the termination condition is met or the maximum loop count is reached.',
-    'loop-end': 'Equivalent to "break". This node has no configuration items. When the loop body reaches this node, the loop terminates.',
     'parameter-extractor': 'Use LLM to extract structured parameters from natural language for tool invocations or HTTP requests.',
     'document-extractor': 'Used to parse uploaded documents into text content that is easily understandable by LLM.',
     'list-operator': 'Used to filter or sort array content.',
-    'agent': 'Invoking large language models to answer questions or process natural language',
   },
   operator: {
     zoomIn: 'Zoom In',
@@ -423,34 +405,6 @@
         variable: 'Variable',
       },
       sysQueryInUser: 'sys.query in user message is required',
-      jsonSchema: {
-        title: 'Structured Output Schema',
-        instruction: 'Instruction',
-        promptTooltip: 'Convert the text description into a standardized JSON Schema structure.',
-        promptPlaceholder: 'Describe your JSON Schema...',
-        generate: 'Generate',
-        import: 'Import from JSON',
-        generateJsonSchema: 'Generate JSON Schema',
-        generationTip: 'You can use natural language to quickly create a JSON Schema.',
-        generating: 'Generating JSON Schema...',
-        generatedResult: 'Generated Result',
-        resultTip: 'Here is the generated result. If you\'re not satisfied, you can go back and modify your prompt.',
-        back: 'Back',
-        regenerate: 'Regenerate',
-        apply: 'Apply',
-        doc: 'Learn more about structured output',
-        resetDefaults: 'Reset',
-        required: 'required',
-        addField: 'Add Field',
-        addChildField: 'Add Child Field',
-        showAdvancedOptions: 'Show advanced options',
-        stringValidations: 'String Validations',
-        fieldNamePlaceholder: 'Field Name',
-        descriptionPlaceholder: 'Add description',
-        warningTips: {
-          saveSchema: 'Please finish editing the current field before saving the schema',
-        },
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Query Variable',
@@ -462,34 +416,6 @@
         icon: 'Segmented icon',
         url: 'Segmented URL',
         metadata: 'Other metadata',
-      },
-      metadata: {
-        title: 'Metadata Filtering',
-        tip: 'Metadata filtering is the process of using metadata attributes (such as tags, categories, or access permissions) to refine and control the retrieval of relevant information within a system.',
-        options: {
-          disabled: {
-            title: 'Disabled',
-            subTitle: 'Not enabling metadata filtering',
-          },
-          automatic: {
-            title: 'Automatic',
-            subTitle: 'Automatically generate metadata filtering conditions based on user query',
-            desc: 'Automatically generate metadata filtering conditions based on Query Variable',
-          },
-          manual: {
-            title: 'Manual',
-            subTitle: 'Manually add metadata filtering conditions',
-          },
-        },
-        panel: {
-          title: 'Metadata Filter Conditions',
-          conditions: 'Conditions',
-          add: 'Add Condition',
-          search: 'Search metadata',
-          placeholder: 'Enter value',
-          datePlaceholder: 'Choose a time...',
-          select: 'Select variable...',
-        },
       },
     },
     http: {
@@ -579,8 +505,6 @@
         'all of': 'all of',
         'exists': 'exists',
         'not exists': 'not exists',
-        'before': 'before',
-        'after': 'after',
       },
       optionName: {
         image: 'Image',
@@ -638,8 +562,6 @@
         'clear': 'Clear',
         'extend': 'Extend',
         'append': 'Append',
-        'remove-first': 'Remove First',
-        'remove-last': 'Remove Last',
         '+=': '+=',
         '-=': '-=',
         '*=': '*=',
@@ -730,38 +652,6 @@
       },
       answerNodeWarningDesc: 'Parallel mode warning: Answer nodes, conversation variable assignments, and persistent read/write operations within iterations may cause exceptions.',
     },
-    loop: {
-      deleteTitle: 'Delete Loop Node?',
-      deleteDesc: 'Deleting the loop node will remove all child nodes',
-      input: 'Input',
-      output: 'Output Variable',
-      loop_one: '{{count}} Loop',
-      loop_other: '{{count}} Loops',
-      currentLoop: 'Current Loop',
-      comma: ', ',
-      error_one: '{{count}} Error',
-      error_other: '{{count}} Errors',
-      breakCondition: 'Loop Termination Condition',
-      breakConditionTip: 'Only variables within loops with termination conditions and conversation variables can be referenced.',
-      loopMaxCount: 'Maximum Loop Count',
-      loopMaxCountError: 'Please enter a valid maximum loop count, ranging from 1 to {{maxCount}}',
-      errorResponseMethod: 'Error Response Method',
-      ErrorMethod: {
-        operationTerminated: 'Terminated',
-        continueOnError: 'Continue on Error',
-        removeAbnormalOutput: 'Remove Abnormal Output',
-      },
-      loopVariables: 'Loop Variables',
-      initialLoopVariables: 'Initial Loop Variables',
-      finalLoopVariables: 'Final Loop Variables',
-      setLoopVariables: 'Set variables within the loop scope',
-      variableName: 'Variable Name',
-      inputMode: 'Input Mode',
-      exitConditionTip: 'A loop node needs at least one exit condition',
-      loopNode: 'Loop Node',
-      currentLoopCount: 'Current loop count: {{count}}',
-      totalLoopCount: 'Total loop count: {{count}}',
-    },
     note: {
       addNote: 'Add Note',
       editor: {
@@ -807,110 +697,9 @@
         last_record: 'Last record',
       },
     },
-    agent: {
-      strategy: {
-        label: 'Agentic Strategy',
-        tooltip: 'Different Agentic strategies determine how the system plans and executes multi-step tool calls',
-        shortLabel: 'Strategy',
-        configureTip: 'Please configure agentic strategy.',
-        configureTipDesc: 'After configuring the agentic strategy, this node will automatically load the remaining configurations. The strategy will affect the mechanism of multi-step tool reasoning. ',
-        selectTip: 'Select agentic strategy',
-        searchPlaceholder: 'Search agentic strategy',
-      },
-      learnMore: 'Learn more',
-      pluginNotInstalled: 'This plugin is not installed',
-      pluginNotInstalledDesc: 'This plugin is installed from GitHub. Please go to Plugins to reinstall',
-      linkToPlugin: 'Link to Plugins',
-      pluginInstaller: {
-        install: 'Install',
-        installing: 'Installing',
-      },
-      modelNotInMarketplace: {
-        title: 'Model not installed',
-        desc: 'This model is installed from Local or GitHub repository. Please use after installation.',
-        manageInPlugins: 'Manage in Plugins',
-      },
-      modelNotSupport: {
-        title: 'Unsupported Model',
-        desc: 'The installed plugin version does not provide this model.',
-        descForVersionSwitch: 'The installed plugin version does not provide this model. Click to switch version.',
-      },
-      configureModel: 'Configure Model',
-      notAuthorized: 'Not Authorized',
-      model: 'model',
-      toolbox: 'toolbox',
-      strategyNotSet: 'Agentic strategy Not Set',
-      tools: 'Tools',
-      maxIterations: 'Max Iterations',
-      modelNotSelected: 'Model not selected',
-      modelNotInstallTooltip: 'This model is not installed',
-      toolNotInstallTooltip: '{{tool}} is not installed',
-      toolNotAuthorizedTooltip: '{{tool}} Not Authorized',
-      strategyNotInstallTooltip: '{{strategy}} is not installed',
-      unsupportedStrategy: 'Unsupported strategy',
-      pluginNotFoundDesc: 'This plugin is installed from GitHub. Please go to Plugins to reinstall',
-      strategyNotFoundDesc: 'The installed plugin version does not provide this strategy.',
-      strategyNotFoundDescAndSwitchVersion: 'The installed plugin version does not provide this strategy. Click to switch version.',
-      modelSelectorTooltips: {
-        deprecated: 'This model is deprecated',
-      },
-      outputVars: {
-        text: 'agent generated content',
-        files: {
-          title: 'agent generated files',
-          type: 'Support type. Now only support image',
-          transfer_method: 'Transfer method.Value is  remote_url or local_file',
-          url: 'Image url',
-          upload_file_id: 'Upload file id',
-        },
-        json: 'agent generated json',
-      },
-      checkList: {
-        strategyNotSelected: 'Strategy not selected',
-      },
-      installPlugin: {
-        title: 'Install Plugin',
-        desc: 'About to install the following plugin',
-        changelog: 'Change log',
-        install: 'Install',
-        cancel: 'Cancel',
-      },
-    },
   },
   tracing: {
     stopBy: 'Stop by {{user}}',
-  },
-  versionHistory: {
-    title: 'Versions',
-    currentDraft: 'Current Draft',
-    latest: 'Latest',
-    filter: {
-      all: 'All',
-      onlyYours: 'Only yours',
-      onlyShowNamedVersions: 'Only show named versions',
-      reset: 'Reset Filter',
-      empty: 'No matching version history found',
-    },
-    defaultName: 'Untitled Version',
-    nameThisVersion: 'Name this version',
-    editVersionInfo: 'Edit version info',
-    editField: {
-      title: 'Title',
-      releaseNotes: 'Release Notes',
-      titleLengthLimit: 'Title can\'t exceed {{limit}} characters',
-      releaseNotesLengthLimit: 'Release notes can\'t exceed {{limit}} characters',
-    },
-    releaseNotesPlaceholder: 'Describe what changed',
-    restorationTip: 'After version restoration, the current draft will be overwritten.',
-    deletionTip: 'Deletion is irreversible, please confirm.',
-    action: {
-      restoreSuccess: 'Version restored',
-      restoreFailure: 'Failed to restore version',
-      deleteSuccess: 'Version deleted',
-      deleteFailure: 'Failed to delete version',
-      updateSuccess: 'Version updated',
-      updateFailure: 'Failed to update version',
-    },
   },
 }
 
diff --git a/i18n/es-ES/app-overview.ts b/i18n/es-ES/app-overview.ts
index 97f32b1..4b2769c 100644
--- a/i18n/es-ES/app-overview.ts
+++ b/i18n/es-ES/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Establece el tema de color del chatbot',
         chatColorThemeInverted: 'Invertido',
         invalidHexMessage: 'Valor hexadecimal no v谩lido',
-        invalidPrivacyPolicy: 'Enlace de pol铆tica de privacidad no v谩lido. Por favor, utiliza un enlace v谩lido que comience con http o https',
         more: {
           entry: 'Mostrar m谩s configuraciones',
           copyright: 'Derechos de autor',
@@ -113,7 +112,6 @@
           operation: 'Documentaci贸n',
         },
       },
-      launch: 'Lanzar',
     },
     apiInfo: {
       title: 'API del servicio backend',
diff --git a/i18n/es-ES/app.ts b/i18n/es-ES/app.ts
index 3d2a39d..068b3be 100644
--- a/i18n/es-ES/app.ts
+++ b/i18n/es-ES/app.ts
@@ -159,10 +159,6 @@
       description: 'Opik es una plataforma de c贸digo abierto para evaluar, probar y monitorear aplicaciones LLM.',
       title: 'Opik',
     },
-    weave: {
-      description: 'Weave es una plataforma de c贸digo abierto para evaluar, probar y monitorear aplicaciones de LLM.',
-      title: 'Tejer',
-    },
   },
   answerIcon: {
     title: 'Usar el icono de la aplicaci贸n web para reemplazar 馃',
@@ -192,22 +188,6 @@
     searchAllTemplate: 'Buscar todas las plantillas...',
   },
   showMyCreatedAppsOnly: 'Mostrar solo mis aplicaciones creadas',
-  appSelector: {
-    label: 'APLICACI脫N',
-    placeholder: 'Selecciona una aplicaci贸n...',
-    noParams: 'No se necesitan par谩metros',
-    params: 'PAR脕METROS DE LA APLICACI脫N',
-  },
-  structOutput: {
-    notConfiguredTip: 'La salida estructurada a煤n no ha sido configurada.',
-    required: 'Requerido',
-    configure: 'Configurar',
-    LLMResponse: 'Respuesta del LLM',
-    moreFillTip: 'Mostrando un m谩ximo de 10 niveles de anidaci贸n',
-    modelNotSupportedTip: 'El modelo actual no admite esta funci贸n y se degrada autom谩ticamente a inyecci贸n de comandos.',
-    structuredTip: 'Las Salidas Estructuradas son una funci贸n que garantiza que el modelo siempre generar谩 respuestas que se ajusten a su esquema JSON proporcionado.',
-    modelNotSupported: 'Modelo no soportado',
-  },
 }
 
 export default translation
diff --git a/i18n/es-ES/billing.ts b/i18n/es-ES/billing.ts
index 3f83daf..8dcee42 100644
--- a/i18n/es-ES/billing.ts
+++ b/i18n/es-ES/billing.ts
@@ -70,7 +70,6 @@
     messageRequest: {
       title: 'Cr茅ditos de Mensajes',
       tooltip: 'Cuotas de invocaci贸n de mensajes para varios planes utilizando modelos de OpenAI (excepto gpt4). Los mensajes que excedan el l铆mite utilizar谩n tu clave API de OpenAI.',
-      titlePerMonth: '{{count,number}} mensajes/mes',
     },
     annotatedResponse: {
       title: 'L铆mites de Cuota de Anotaci贸n',
@@ -78,94 +77,27 @@
     },
     ragAPIRequestTooltip: 'Se refiere al n煤mero de llamadas API que invocan solo las capacidades de procesamiento de base de conocimientos de Dify.',
     receiptInfo: 'Solo el propietario del equipo y el administrador del equipo pueden suscribirse y ver la informaci贸n de facturaci贸n.',
-    priceTip: 'por espacio de trabajo/',
-    teamMember_one: '{{count, n煤mero}} Miembro del Equipo',
-    getStarted: 'Comenzar',
-    apiRateLimitUnit: '{{count, n煤mero}}/d铆a',
-    freeTrialTipSuffix: 'No se requiere tarjeta de cr茅dito',
-    unlimitedApiRate: 'Sin l铆mite de tasa de API',
-    apiRateLimit: 'L铆mite de tasa de API',
-    documentsTooltip: 'Cuota sobre el n煤mero de documentos importados desde la Fuente de Datos del Conocimiento.',
-    comparePlanAndFeatures: 'Compara planes y caracter铆sticas',
-    cloud: 'Servicio en la nube',
-    teamMember_other: '{{count,number}} Miembros del equipo',
-    annualBilling: 'Facturaci贸n Anual',
-    self: 'Autoalojado',
-    freeTrialTip: 'prueba gratuita de 200 llamadas de OpenAI.',
-    teamWorkspace: '{{count,number}} Espacio de Trabajo en Equipo',
-    documents: '{{count,number}} Documentos de Conocimiento',
-    documentsRequestQuota: '{{count,number}}/min L铆mite de tasa de solicitud de conocimiento',
-    freeTrialTipPrefix: 'Reg铆strate y obt茅n un',
-    apiRateLimitTooltip: 'El l铆mite de tasa de la API se aplica a todas las solicitudes realizadas a trav茅s de la API de Dify, incluidos la generaci贸n de texto, las conversaciones de chat, las ejecuciones de flujo de trabajo y el procesamiento de documentos.',
-    documentsRequestQuotaTooltip: 'Especifica el n煤mero total de acciones que un espacio de trabajo puede realizar por minuto dentro de la base de conocimientos, incluyendo la creaci贸n, eliminaci贸n, actualizaci贸n de conjuntos de datos, carga de documentos, modificaciones, archivo y consultas a la base de conocimientos. Esta m茅trica se utiliza para evaluar el rendimiento de las solicitudes a la base de conocimientos. Por ejemplo, si un usuario de Sandbox realiza 10 pruebas consecutivas en un minuto, su espacio de trabajo ser谩 temporalmente restringido de realizar las siguientes acciones durante el siguiente minuto: creaci贸n de conjuntos de datos, eliminaci贸n, actualizaciones y carga o modificaciones de documentos.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: 'Prueba gratuita de 200 veces GPT',
       includesTitle: 'Incluye:',
-      for: 'Prueba gratuita de capacidades b谩sicas',
     },
     professional: {
       name: 'Profesional',
       description: 'Para individuos y peque帽os equipos que desean desbloquear m谩s poder de manera asequible.',
       includesTitle: 'Todo en el plan gratuito, m谩s:',
-      for: 'Para desarrolladores independientes/equipos peque帽os',
     },
     team: {
       name: 'Equipo',
       description: 'Colabora sin l铆mites y disfruta de un rendimiento de primera categor铆a.',
       includesTitle: 'Todo en el plan Profesional, m谩s:',
-      for: 'Para equipos de tama帽o mediano',
     },
     enterprise: {
       name: 'Empresa',
       description: 'Obt茅n capacidades completas y soporte para sistemas cr铆ticos a gran escala.',
       includesTitle: 'Todo en el plan Equipo, m谩s:',
-      features: {
-        0: 'Soluciones de implementaci贸n escalables de nivel empresarial',
-        7: 'Actualizaciones y Mantenimiento por Dify Oficialmente',
-        8: 'Soporte T茅cnico Profesional',
-        3: 'M煤ltiples Espacios de Trabajo y Gesti贸n Empresarial',
-        1: 'Autorizaci贸n de Licencia Comercial',
-        2: 'Caracter铆sticas Exclusivas de la Empresa',
-        5: 'SLA negociados por Dify Partners',
-        4: 'SSO',
-        6: 'Seguridad y Controles Avanzados',
-      },
-      btnText: 'Contactar ventas',
-      for: 'Para equipos de gran tama帽o',
-      price: 'Personalizado',
-      priceTip: 'Facturaci贸n Anual Solo',
-    },
-    community: {
-      features: {
-        0: 'Todas las caracter铆sticas principales se lanzaron bajo el repositorio p煤blico',
-        2: 'Cumple con la Licencia de C贸digo Abierto de Dify',
-        1: 'Espacio de trabajo 煤nico',
-      },
-      includesTitle: 'Caracter铆sticas gratuitas:',
-      for: 'Para usuarios individuales, peque帽os equipos o proyectos no comerciales',
-      price: 'Gratis',
-      btnText: 'Comienza con la Comunidad',
-      name: 'Comunidad',
-      description: 'Para usuarios individuales, peque帽os equipos o proyectos no comerciales',
-    },
-    premium: {
-      features: {
-        0: 'Confiabilidad autogestionada por varios proveedores de nube',
-        1: 'Espacio de trabajo 煤nico',
-        3: 'Soporte prioritario por correo electr贸nico y chat',
-        2: 'Personalizaci贸n de logotipos y marcas de WebApp',
-      },
-      description: 'Para organizaciones y equipos de tama帽o mediano',
-      comingSoon: 'Soporte de Microsoft Azure y Google Cloud disponible pr贸ximamente',
-      btnText: 'Obt茅n Premium en',
-      priceTip: 'Basado en el Mercado de la Nube',
-      price: 'Escalable',
-      includesTitle: 'Todo de Community, adem谩s:',
-      name: 'Premium',
-      for: 'Para organizaciones y equipos de tama帽o mediano',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'Actualiza tu plan para',
     fullTipLine2: 'crear m谩s aplicaciones.',
-    fullTip1des: 'Has alcanzado el l铆mite de aplicaciones de construcci贸n en este plan',
-    fullTip2des: 'Se recomienda limpiar las aplicaciones inactivas para liberar espacio de uso, o contactarnos.',
-    fullTip1: 'Actualiza para crear m谩s aplicaciones',
-    fullTip2: 'L铆mite de plan alcanzado',
-    contactUs: 'Cont谩ctanos',
   },
   annotatedResponse: {
     fullTipLine1: 'Actualiza tu plan para',
     fullTipLine2: 'anotar m谩s conversaciones.',
     quotaTitle: 'Cuota de Respuesta Anotada',
   },
-  usagePage: {
-    buildApps: 'Construir aplicaciones',
-    documentsUploadQuota: 'Cuota de carga de documentos',
-    vectorSpace: 'Almacenamiento de Datos de Conocimiento',
-    teamMembers: 'Miembros del equipo',
-    annotationQuota: 'Cuota de anotaci贸n',
-    vectorSpaceTooltip: 'Los documentos con el modo de indexaci贸n de alta calidad consumir谩n recursos de Almacenamiento de Datos de Conocimiento. Cuando el Almacenamiento de Datos de Conocimiento alcanza el l铆mite, no se subir谩n nuevos documentos.',
-  },
-  teamMembers: 'Miembros del equipo',
 }
 
 export default translation
diff --git a/i18n/es-ES/common.ts b/i18n/es-ES/common.ts
index 2c9e693..936da90 100644
--- a/i18n/es-ES/common.ts
+++ b/i18n/es-ES/common.ts
@@ -50,14 +50,6 @@
     submit: 'Enviar',
     skip: 'Nav铆o',
     imageCopied: 'Imagen copiada',
-    deleteApp: 'Eliminar aplicaci贸n',
-    in: 'en',
-    viewDetails: 'Ver detalles',
-    copied: 'Copiado',
-    more: 'M谩s',
-    downloadSuccess: 'Descarga completada.',
-    downloadFailed: 'La descarga ha fallado. Por favor, int茅ntalo de nuevo m谩s tarde.',
-    format: 'Formato',
   },
   errorMsg: {
     fieldRequired: '{{field}} es requerido',
@@ -134,8 +126,6 @@
       Custom: 'Personalizado',
     },
     addMoreModel: 'Ir a configuraciones para agregar m谩s modelos',
-    capabilities: 'Capacidades multimodales',
-    settingsLink: 'Configuraci贸n del proveedor de modelos',
   },
   menus: {
     status: 'beta',
@@ -148,7 +138,6 @@
     newApp: 'Nueva App',
     newDataset: 'Crear Conocimiento',
     tools: 'Herramientas',
-    exploreMarketplace: 'Explora el mercado',
   },
   userProfile: {
     settings: 'Configuraciones',
@@ -161,9 +150,6 @@
     community: 'Comunidad',
     about: 'Acerca de',
     logout: 'Cerrar sesi贸n',
-    support: 'Apoyo',
-    compliance: 'Cumplimiento',
-    github: 'GitHub',
   },
   settings: {
     accountGroup: 'CUENTA',
@@ -177,7 +163,6 @@
     dataSource: 'Fuente de Datos',
     plugin: 'Plugins',
     apiBasedExtension: 'Extensi贸n basada en API',
-    generalGroup: 'GENERAL',
   },
   account: {
     avatar: 'Avatar',
@@ -213,9 +198,6 @@
     feedbackTitle: 'Retroalimentaci贸n',
     feedbackLabel: '驴Cu茅ntanos por qu茅 eliminaste tu cuenta?',
     feedbackPlaceholder: 'Opcional',
-    workspaceIcon: 'Icono de espacio de trabajo',
-    editWorkspaceInfo: 'Editar informaci贸n del espacio de trabajo',
-    workspaceName: 'Nombre del espacio de trabajo',
   },
   members: {
     team: 'Equipo',
@@ -308,7 +290,6 @@
       usedUp: 'Cuota de prueba agotada. Agrega tu propio proveedor de modelos.',
       useYourModel: 'Actualmente usando tu propio proveedor de modelos.',
       close: 'Cerrar',
-      trialQuotaTip: 'Su cuota de prueba antr贸pica caducar谩 el 11/03/2025 y ya no estar谩 disponible a partir de entonces. Por favor, aprov茅chelo a tiempo.',
     },
     anthropic: {
       using: 'La capacidad de incrustaci贸n est谩 usando',
@@ -420,12 +401,6 @@
     loadBalancingLeastKeyWarning: 'Para habilitar el balanceo de carga se deben habilitar al menos 2 claves.',
     loadBalancingInfo: 'Por defecto, el balanceo de carga usa la estrategia Round-robin. Si se activa el l铆mite de velocidad, se aplicar谩 un per铆odo de enfriamiento de 1 minuto.',
     upgradeForLoadBalancing: 'Actualiza tu plan para habilitar el Balanceo de Carga.',
-    configureTip: 'Configurar la clave de API o agregar el modelo que se va a usar',
-    discoverMore: 'Descubre m谩s en',
-    toBeConfigured: 'A configurar',
-    emptyProviderTip: 'Instale primero un proveedor de modelos.',
-    installProvider: 'Instalaci贸n de proveedores de modelos',
-    emptyProviderTitle: 'Proveedor de modelos no configurado',
   },
   dataSource: {
     add: 'Agregar una fuente de datos',
@@ -469,7 +444,7 @@
   apiBasedExtension: {
     title: 'Las extensiones basadas en API proporcionan una gesti贸n centralizada de API, simplificando la configuraci贸n para su f谩cil uso en las aplicaciones de Dify.',
     link: 'Aprende c贸mo desarrollar tu propia Extensi贸n API.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Agregar Extensi贸n API',
     selector: {
       title: 'Extensi贸n API',
@@ -555,9 +530,6 @@
       hitScore: 'Puntuaci贸n de recuperaci贸n:',
     },
     inputPlaceholder: 'Hablar con el bot',
-    thinking: 'Pensamiento...',
-    thought: 'Pensamiento',
-    resend: 'Reenviar',
   },
   promptEditor: {
     placeholder: 'Escribe tu palabra de indicaci贸n aqu铆, ingresa \'{\' para insertar una variable, ingresa \'/\' para insertar un bloque de contenido de indicaci贸n',
@@ -647,24 +619,6 @@
   },
   pagination: {
     perPage: 'Elementos por p谩gina',
-  },
-  theme: {
-    auto: 'sistema',
-    light: 'luz',
-    theme: 'Tema',
-  },
-  compliance: {
-    iso27001: 'Certificaci贸n ISO 27001:2022',
-    gdpr: 'GDPR DPA',
-    soc2Type1: 'Informe SOC 2 Tipo I',
-    sandboxUpgradeTooltip: 'Solo disponible con un plan Profesional o de Equipo.',
-    professionalUpgradeTooltip: 'Solo disponible con un plan de equipo o superior.',
-    soc2Type2: 'Informe SOC 2 Tipo II',
-  },
-  imageInput: {
-    supportedFormats: 'Soporta PNG, JPG, JPEG, WEBP y GIF',
-    browse: 'navegar',
-    dropImageHere: 'Deja tu imagen aqu铆, o',
   },
 }
 
diff --git a/i18n/es-ES/custom.ts b/i18n/es-ES/custom.ts
index a3dcdde..0dd6512 100644
--- a/i18n/es-ES/custom.ts
+++ b/i18n/es-ES/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Actualiza tu plan para',
     suffix: 'personalizar tu marca.',
-    des: 'Actualiza tu plan para personalizar tu marca',
-    title: 'Actualiza tu plan',
   },
   webapp: {
     title: 'Personalizar marca de WebApp',
diff --git a/i18n/es-ES/dataset-creation.ts b/i18n/es-ES/dataset-creation.ts
index 3984688..00b71ec 100644
--- a/i18n/es-ES/dataset-creation.ts
+++ b/i18n/es-ES/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Crear conocimiento',
       update: 'Agregar datos',
-      fallbackRoute: 'Conocimiento',
     },
     one: 'Elegir fuente de datos',
     two: 'Preprocesamiento y limpieza de texto',
@@ -27,7 +26,7 @@
     },
     uploader: {
       title: 'Cargar archivo',
-      button: 'Arrastre y suelte archivos o carpetas, o',
+      button: 'Arrastra y suelta el archivo, o',
       browse: 'Buscar',
       tip: 'Soporta {{supportTypes}}. M谩ximo {{size}}MB cada uno.',
       validation: {
@@ -63,7 +62,7 @@
       run: 'Ejecutar',
       firecrawlTitle: 'Extraer contenido web con 馃敟Firecrawl',
       firecrawlDoc: 'Documentaci贸n de Firecrawl',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       options: 'Opciones',
       crawlSubPage: 'Rastrear subp谩ginas',
       limit: 'L铆mite',
@@ -87,14 +86,6 @@
       useSitemapTooltip: 'Siga el mapa del sitio para rastrear el sitio. De lo contrario, Jina Reader rastrear谩 de forma iterativa en funci贸n de la relevancia de la p谩gina, lo que producir谩 menos p谩ginas pero de mayor calidad.',
       chooseProvider: 'Seleccione un proveedor',
       jinaReaderDoc: 'M谩s informaci贸n sobre Jina Reader',
-      watercrawlTitle: 'Extraer contenido web con Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl no est谩 configurado',
-      configureFirecrawl: 'Configurar Firecrawl',
-      watercrawlDoc: 'Documentos de Watercrawl',
-      configureJinaReader: 'Configurar Jina Reader',
-      watercrawlDocLink: 'https://docs.dify.ai/es/gu铆as/base-de-conocimientos/crear-conocimientos-y-subir-documentos/importar-datos-de-contenido/sincronizar-desde-el-sitio-web',
-      configureWatercrawl: 'Configurar Watercrawl',
-      waterCrawlNotConfiguredDescription: 'Configura Watercrawl con la clave de API para usarlo.',
     },
     cancel: 'Cancelar',
   },
@@ -207,11 +198,6 @@
     learnMore: 'Aprende m谩s',
     description: 'Actualmente, la base de conocimientos de Ifiy solo tiene fuentes de datos limitadas. Contribuir con una fuente de datos a la base de conocimientos de Dify es una manera fant谩stica de ayudar a mejorar la flexibilidad y el poder de la plataforma para todos los usuarios. Nuestra gu铆a de contribuciones hace que sea f谩cil comenzar. Haga clic en el enlace a continuaci贸n para obtener m谩s informaci贸n.',
     title: '驴Conectarse a otras fuentes de datos?',
-  },
-  watercrawl: {
-    getApiKeyLinkText: 'Obt茅n tu clave API de watercrawl.dev',
-    apiKeyPlaceholder: 'Clave API de watercrawl.dev',
-    configWatercrawl: 'Configurar Watercrawl',
   },
 }
 
diff --git a/i18n/es-ES/dataset-documents.ts b/i18n/es-ES/dataset-documents.ts
index cd5bb36..ea4690c 100644
--- a/i18n/es-ES/dataset-documents.ts
+++ b/i18n/es-ES/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Idioma',
         authorPublisher: 'Autor/Editorial',
         publishDate: 'Fecha de publicaci贸n',
-        topicKeywords: 'Temas/Palabras clave',
+        topicsKeywords: 'Temas/Palabras clave',
         description: 'Descripci贸n',
       },
       paper: {
diff --git a/i18n/es-ES/dataset-settings.ts b/i18n/es-ES/dataset-settings.ts
index f1c87aa..211a23e 100644
--- a/i18n/es-ES/dataset-settings.ts
+++ b/i18n/es-ES/dataset-settings.ts
@@ -27,7 +27,6 @@
       learnMore: 'Aprende m谩s',
       description: ' sobre el m茅todo de recuperaci贸n.',
       longDescription: ' sobre el m茅todo de recuperaci贸n, puedes cambiar esto en cualquier momento en la configuraci贸n del conjunto de datos.',
-      method: 'M茅todo de recuperaci贸n',
     },
     save: 'Guardar',
     retrievalSettings: 'Configuraci贸n de recuperaci贸n',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: 'No disponible para degradar de HQ a ECO',
     helpText: 'Aprenda a escribir una buena descripci贸n del conjunto de datos.',
     upgradeHighQualityTip: 'Una vez que se actualiza al modo de alta calidad, no est谩 disponible volver al modo econ贸mico',
-    searchModel: 'Buscar modelo',
   },
 }
 
diff --git a/i18n/es-ES/dataset.ts b/i18n/es-ES/dataset.ts
index b759f26..3bfdd8f 100644
--- a/i18n/es-ES/dataset.ts
+++ b/i18n/es-ES/dataset.ts
@@ -168,52 +168,6 @@
   localDocs: 'Documentos locales',
   allKnowledgeDescription: 'Seleccione esta opci贸n para mostrar todos los conocimientos de este espacio de trabajo. Solo el propietario del espacio de trabajo puede administrar todo el conocimiento.',
   allKnowledge: 'Todo el conocimiento',
-  metadata: {
-    createMetadata: {
-      title: 'Nuevos Metadatos',
-      back: 'Atr谩s',
-      type: 'Escribe',
-      namePlaceholder: 'Agregar nombre de metadatos',
-      name: 'Nombre',
-    },
-    checkName: {
-      empty: 'El nombre de metadatos no puede estar vac铆o',
-      invalid: 'El nombre de los metadatos solo puede contener letras min煤sculas, n煤meros y guiones bajos, y debe comenzar con una letra min煤scula.',
-    },
-    batchEditMetadata: {
-      multipleValue: 'Valor M煤ltiple',
-      editMetadata: 'Editar Metadatos',
-      editDocumentsNum: 'Editando {{num}} documentos',
-      applyToAllSelectDocument: 'Aplicar a todos los documentos seleccionados',
-      applyToAllSelectDocumentTip: 'Cree autom谩ticamente todos los metadatos editados y nuevos anteriores para todos los documentos seleccionados, de lo contrario, la edici贸n de metadatos solo se aplicar谩 a los documentos que ya los tengan.',
-    },
-    selectMetadata: {
-      manageAction: 'Gestionar',
-      search: 'Buscar metadatos',
-      newAction: 'Nuevos Metadatos',
-    },
-    datasetMetadata: {
-      addMetaData: 'Agregar Metadatos',
-      values: '{{num}} Valores',
-      deleteContent: '驴Est谩s seguro de que quieres eliminar los metadatos "{{name}}"?',
-      rename: 'Renombrar',
-      deleteTitle: 'Confirme para eliminar',
-      namePlaceholder: 'Nombre de metadatos',
-      builtInDescription: 'Los metadatos integrados se extraen y generan autom谩ticamente. Deben estar habilitados antes de su uso y no se pueden editar.',
-      name: 'Nombre',
-      description: 'Puedes gestionar todos los metadatos en este conocimiento aqu铆. Las modificaciones se sincronizar谩n en todos los documentos.',
-    },
-    documentMetadata: {
-      technicalParameters: 'Par谩metros t茅cnicos',
-      startLabeling: 'Comenzar a etiquetar',
-      documentInformation: 'Informaci贸n del documento',
-      metadataToolTip: 'Los metadatos sirven como un filtro cr铆tico que mejora la precisi贸n y relevancia de la recuperaci贸n de informaci贸n. Puede modificar y agregar metadatos para este documento aqu铆.',
-    },
-    metadata: 'Metadatos',
-    chooseTime: 'Elige una hora...',
-    addMetadata: 'Agregar Metadatos',
-  },
-  embeddingModelNotAvailable: 'El modelo de embeddings no est谩 disponible.',
 }
 
 export default translation
diff --git a/i18n/es-ES/explore.ts b/i18n/es-ES/explore.ts
index 204f8da..74274d4 100644
--- a/i18n/es-ES/explore.ts
+++ b/i18n/es-ES/explore.ts
@@ -37,7 +37,6 @@
     HR: 'Recursos Humanos',
     Agent: 'Agente',
     Workflow: 'Flujo de trabajo',
-    Entertainment: 'Entretenimiento',
   },
 }
 
diff --git a/i18n/es-ES/run-log.ts b/i18n/es-ES/run-log.ts
index 422c164..134764e 100644
--- a/i18n/es-ES/run-log.ts
+++ b/i18n/es-ES/run-log.ts
@@ -24,8 +24,6 @@
     link: 'panel de detalle',
     tipRight: ' para verlo.',
   },
-  actionLogs: 'Registros de acciones',
-  circularInvocationTip: 'Hay una invocaci贸n circular de herramientas/nodos en el flujo de trabajo actual.',
 }
 
 export default translation
diff --git a/i18n/es-ES/share-app.ts b/i18n/es-ES/share-app.ts
index 41aa35c..b1ac171 100644
--- a/i18n/es-ES/share-app.ts
+++ b/i18n/es-ES/share-app.ts
@@ -30,12 +30,6 @@
     },
     tryToSolve: 'Intentar resolver',
     temporarySystemIssue: 'Lo sentimos, hay un problema temporal del sistema.',
-    expand: 'Ampliar',
-    collapse: 'Contraer',
-    viewChatSettings: 'Ver configuraciones de chat',
-    newChatTip: 'Ya en un nuevo chat',
-    chatFormTip: 'No se pueden modificar los ajustes del chat despu茅s de que el chat ha comenzado.',
-    chatSettingsTitle: 'Nueva configuraci贸n de chat',
   },
   generation: {
     tabs: {
@@ -74,8 +68,6 @@
       moreThanMaxLengthLine: 'Fila {{rowIndex}}: el valor de {{varName}} no puede tener m谩s de {{maxLength}} caracteres',
       atLeastOne: 'Por favor, ingresa al menos una fila en el archivo cargado.',
     },
-    execution: 'EJECUCI脫N',
-    executions: '{{num}} EJECUCIONES',
   },
 }
 
diff --git a/i18n/es-ES/tools.ts b/i18n/es-ES/tools.ts
index 91bce67..08c9f20 100644
--- a/i18n/es-ES/tools.ts
+++ b/i18n/es-ES/tools.ts
@@ -133,7 +133,6 @@
     number: 'n煤mero',
     required: 'Requerido',
     infoAndSetting: 'Informaci贸n y Ajustes',
-    file: 'archivo',
   },
   noCustomTool: {
     title: '隆Sin herramientas personalizadas!',
@@ -151,8 +150,6 @@
   howToGet: 'C贸mo obtener',
   openInStudio: 'Abrir en Studio',
   toolNameUsageTip: 'Nombre de llamada de la herramienta para razonamiento y promoci贸n de agentes',
-  copyToolName: 'Nombre de la copia',
-  noTools: 'No se han encontrado herramientas',
 }
 
 export default translation
diff --git a/i18n/es-ES/workflow.ts b/i18n/es-ES/workflow.ts
index 5a2d02b..7e9d656 100644
--- a/i18n/es-ES/workflow.ts
+++ b/i18n/es-ES/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Agregar rama de error',
     noHistory: 'Sin historia',
     loadMore: 'Cargar m谩s flujos de trabajo',
-    versionHistory: 'Historial de versiones',
-    exportSVG: 'Exportar como SVG',
-    exitVersions: 'Versiones de salida',
-    exportJPEG: 'Exportar como JPEG',
-    exportPNG: 'Exportar como PNG',
-    referenceVar: 'Variable de referencia',
-    publishUpdate: 'Publicar actualizaci贸n',
-    noExist: 'No existe tal variable',
-    exportImage: 'Exportar imagen',
   },
   env: {
     envPanelTitle: 'Variables de Entorno',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Variable no v谩lida',
     rerankModelRequired: 'Antes de activar el modelo de reclasificaci贸n, confirme que el modelo se ha configurado correctamente en la configuraci贸n.',
-    toolParameterRequired: '{{campo}}: el par谩metro [{{param}}] es obligatorio',
-    noValidTool: '{{campo}} no se ha seleccionado ninguna herramienta v谩lida',
   },
   singleRun: {
     testRun: 'Ejecuci贸n de prueba',
@@ -214,7 +203,6 @@
     testRunIteration: 'Iteraci贸n de ejecuci贸n de prueba',
     back: 'Atr谩s',
     iteration: 'Iteraci贸n',
-    loop: 'Bucle',
   },
   tabs: {
     'searchBlock': 'Buscar bloque',
@@ -230,8 +218,6 @@
     'utilities': 'Utilidades',
     'noResult': 'No se encontraron coincidencias',
     'searchTool': 'Herramienta de b煤squeda',
-    'agent': 'Estrategia del agente',
-    'plugin': 'Plugin',
   },
   blocks: {
     'start': 'Inicio',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Extractor de par谩metros',
     'document-extractor': 'Extractor de documentos',
     'list-operator': 'Operador de lista',
-    'agent': 'Agente',
-    'loop-end': 'Salir del bucle',
-    'loop': 'Bucle',
-    'loop-start': 'Inicio del bucle',
   },
   blocksAbout: {
     'start': 'Define los par谩metros iniciales para iniciar un flujo de trabajo',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'Utiliza LLM para extraer par谩metros estructurados del lenguaje natural para invocaciones de herramientas o solicitudes HTTP.',
     'list-operator': 'Se utiliza para filtrar u ordenar el contenido de la matriz.',
     'document-extractor': 'Se utiliza para analizar documentos cargados en contenido de texto que es f谩cilmente comprensible por LLM.',
-    'agent': 'Invocar modelos de lenguaje de gran tama帽o para responder preguntas o procesar el lenguaje natural',
-    'loop-end': 'Equivalente a "romper". Este nodo no tiene elementos de configuraci贸n. Cuando el cuerpo del bucle alcanza este nodo, el bucle termina.',
-    'loop': 'Ejecuta un bucle de l贸gica hasta que se cumpla la condici贸n de terminaci贸n o se alcance el conteo m谩ximo de bucles.',
   },
   operator: {
     zoomIn: 'Acercar',
@@ -419,34 +398,6 @@
         variable: 'Variable',
       },
       sysQueryInUser: 'se requiere sys.query en el mensaje del usuario',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Por favor, termina de editar el campo actual antes de guardar el esquema.',
-        },
-        showAdvancedOptions: 'Mostrar opciones avanzadas',
-        addField: 'Agregar campo',
-        generatedResult: 'Resultado Generado',
-        generateJsonSchema: 'Generar esquema JSON',
-        apply: 'Aplicar',
-        descriptionPlaceholder: 'Agregar descripci贸n',
-        stringValidations: 'Validaciones de cadenas',
-        addChildField: 'Agregar campo de ni帽o',
-        back: 'Atr谩s',
-        promptTooltip: 'Convierta la descripci贸n del texto en una estructura de esquema JSON estandarizada.',
-        doc: 'Aprender m谩s sobre la salida estructurada',
-        generating: 'Generando esquema JSON...',
-        fieldNamePlaceholder: 'Nombre del campo',
-        resultTip: 'Aqu铆 est谩 el resultado generado. Si no est谩s satisfecho, puedes regresar y modificar tu solicitud.',
-        title: 'Esquema de salida estructurada',
-        regenerate: 'Regenerar',
-        instruction: 'Instrucci贸n',
-        generationTip: 'Puedes usar lenguaje natural para crear r谩pidamente un esquema JSON.',
-        promptPlaceholder: 'Describe tu esquema JSON...',
-        required: 'requerido',
-        generate: 'Generar',
-        import: 'Importar desde JSON',
-        resetDefaults: 'Restablecer',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Variable de consulta',
@@ -458,31 +409,6 @@
         icon: '脥cono segmentado',
         url: 'URL segmentada',
         metadata: 'Metadatos adicionales',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            subTitle: 'No habilitar el filtrado de metadatos',
-          },
-          automatic: {
-            subTitle: 'Generar autom谩ticamente condiciones de filtrado de metadatos basadas en la consulta del usuario',
-            desc: 'Generar autom谩ticamente condiciones de filtrado de metadatos basadas en la variable de consulta',
-          },
-          manual: {
-            title: 'Manual',
-            subTitle: 'A帽adir manualmente condiciones de filtro de metadatos',
-          },
-        },
-        panel: {
-          conditions: 'Condiciones',
-          title: 'Condiciones del filtro de metadatos',
-          add: 'Agregar condici贸n',
-          select: 'Seleccionar variable...',
-          datePlaceholder: 'Elige una hora...',
-          placeholder: 'Ingrese valor',
-          search: 'Buscar metadatos',
-        },
-        title: 'Filtrado de Metadatos',
       },
     },
     http: {
@@ -573,8 +499,6 @@
         'exists': 'Existe',
         'all of': 'Todos los',
         'not exists': 'no existe',
-        'after': 'despu茅s',
-        'before': 'antes',
       },
       enterValue: 'Ingresa un valor',
       addCondition: 'Agregar condici贸n',
@@ -590,7 +514,6 @@
       },
       select: 'Escoger',
       addSubVariable: 'Sub Variable',
-      condition: 'Condici贸n',
     },
     variableAssigner: {
       title: 'Asignar variables',
@@ -633,8 +556,6 @@
         'overwrite': 'Sobrescribir',
         '/=': '/=',
         'set': 'Poner',
-        'remove-last': 'Eliminar 煤ltimo',
-        'remove-first': 'Eliminar primero',
       },
       'variables': 'Variables',
       'setParameter': 'Establecer par谩metro...',
@@ -773,106 +694,6 @@
       selectVariableKeyPlaceholder: 'Seleccione la clave de subvariable',
       extractsCondition: 'Extraiga el elemento N',
     },
-    agent: {
-      strategy: {
-        configureTip: 'Configure la estrategia de agentes.',
-        tooltip: 'Diferentes estrategias agentic determinan c贸mo el sistema planifica y ejecuta las llamadas a herramientas de varios pasos',
-        label: 'Estrategia Agentica',
-        shortLabel: 'Estrategia',
-        configureTipDesc: 'Despu茅s de configurar la estrategia agentica, este nodo cargar谩 autom谩ticamente las configuraciones restantes. La estrategia afectar谩 el mecanismo de razonamiento de herramientas de varios pasos.',
-        selectTip: 'Seleccionar estrategia agentica',
-        searchPlaceholder: 'Estrategia de agentes de b煤squeda',
-      },
-      pluginInstaller: {
-        install: 'Instalar',
-        installing: 'Instalar',
-      },
-      modelNotInMarketplace: {
-        manageInPlugins: 'Administrar en Plugins',
-        desc: 'Este modelo se instala desde el repositorio local o de GitHub. 脷selo despu茅s de la instalaci贸n.',
-        title: 'Modelo no instalado',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'La versi贸n del plugin instalado no proporciona este modelo. Haga clic para cambiar de versi贸n.',
-        desc: 'La versi贸n del plugin instalado no proporciona este modelo.',
-        title: 'Modelo no compatible',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Este modelo est谩 en desuso',
-      },
-      outputVars: {
-        files: {
-          url: 'URL de la imagen',
-          title: 'Archivos generados por el agente',
-          upload_file_id: 'Cargar ID de archivo',
-          transfer_method: 'M茅todo de transferencia. El valor es remote_url o local_file',
-          type: 'Tipo de soporte. Ahora solo admite imagen',
-        },
-        json: 'JSON generado por el agente',
-        text: 'Contenido generado por el agente',
-      },
-      checkList: {
-        strategyNotSelected: 'Estrategia no seleccionada',
-      },
-      installPlugin: {
-        install: 'Instalar',
-        desc: 'A punto de instalar el siguiente plugin',
-        changelog: 'Registro de cambios',
-        title: 'Instalar plugin',
-        cancel: 'Cancelar',
-      },
-      tools: 'Herramientas',
-      pluginNotFoundDesc: 'Este plugin se instala desde GitHub. Por favor, vaya a Plugins para reinstalar',
-      strategyNotFoundDesc: 'La versi贸n del plugin instalado no proporciona esta estrategia.',
-      strategyNotInstallTooltip: '{{estrategia}} no est谩 instalado',
-      modelNotInstallTooltip: 'Este modelo no est谩 instalado',
-      maxIterations: 'Iteraciones m谩ximas',
-      notAuthorized: 'No autorizado',
-      toolNotInstallTooltip: '{{herramienta}} no est谩 instalada',
-      toolbox: 'caja de herramientas',
-      strategyNotSet: 'Estrategia agentica No establecida',
-      unsupportedStrategy: 'Estrategia no respaldada',
-      linkToPlugin: 'Enlace a los plugins',
-      learnMore: 'Aprende m谩s',
-      configureModel: 'Configurar modelo',
-      pluginNotInstalled: 'Este plugin no est谩 instalado',
-      model: 'modelo',
-      pluginNotInstalledDesc: 'Este plugin se instala desde GitHub. Por favor, vaya a Plugins para reinstalar',
-      strategyNotFoundDescAndSwitchVersion: 'La versi贸n del plugin instalado no proporciona esta estrategia. Haga clic para cambiar de versi贸n.',
-      toolNotAuthorizedTooltip: '{{herramienta}} No autorizado',
-      modelNotSelected: 'Modelo no seleccionado',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: 'Eliminar salida anormal',
-        operationTerminated: 'Terminado',
-        continueOnError: 'Continuar con el error',
-      },
-      loopMaxCount: 'Conteo m谩ximo de bucles',
-      output: 'Variable de Salida',
-      currentLoopCount: 'Contador de bucles actual: {{count}}',
-      currentLoop: 'Bucle de corriente',
-      loopNode: 'Nodo de bucle',
-      deleteDesc: 'Eliminar el nodo de bucle eliminar谩 todos los nodos hijos',
-      totalLoopCount: 'Total de loops: {{count}}',
-      comma: ',',
-      finalLoopVariables: 'Variables del Bucle Final',
-      inputMode: 'Modo de entrada',
-      deleteTitle: '驴Eliminar nodo de bucle?',
-      setLoopVariables: 'Establecer variables dentro del alcance del bucle',
-      loop_other: '{{count}} bucles',
-      breakCondition: 'Condici贸n de terminaci贸n del bucle',
-      loopMaxCountError: 'Por favor, introduce un conteo m谩ximo de bucles v谩lido, que var铆e entre 1 y {{maxCount}}.',
-      exitConditionTip: 'Un nodo de bucle necesita al menos una condici贸n de salida',
-      error_one: '{{count}} Error',
-      loop_one: '{{count}} Bucle',
-      initialLoopVariables: 'Variables de Bucle Iniciales',
-      errorResponseMethod: 'M茅todo de respuesta de error',
-      breakConditionTip: 'Solo se pueden hacer referencia a las variables dentro de bucles con condiciones de terminaci贸n y variables de conversaci贸n.',
-      error_other: '{{count}} Errores',
-      loopVariables: 'Variables de bucle',
-      variableName: 'Nombre de Variable',
-    },
   },
   tracing: {
     stopBy: 'P谩sate por {{usuario}}',
@@ -883,36 +704,6 @@
     noVarsForOperation: 'No hay variables disponibles para la asignaci贸n con la operaci贸n seleccionada.',
     noAssignedVars: 'No hay variables asignadas disponibles',
     conversationVars: 'Variables de conversaci贸n',
-  },
-  versionHistory: {
-    filter: {
-      onlyYours: 'Solo tuyo',
-      onlyShowNamedVersions: 'Solo muestra versiones nombradas',
-      empty: 'No se encontr贸 un historial de versiones coincidente.',
-      reset: 'Restablecer filtro',
-    },
-    editField: {
-      titleLengthLimit: 'El t铆tulo no puede exceder {{limit}} caracteres',
-      title: 'T铆tulo',
-      releaseNotesLengthLimit: 'Las notas de lanzamiento no pueden exceder {{limit}} caracteres',
-      releaseNotes: 'Notas de Lanzamiento',
-    },
-    action: {
-      deleteSuccess: 'Versi贸n eliminada',
-      updateSuccess: 'Versi贸n actualizada',
-      restoreFailure: 'Error al restaurar la versi贸n',
-      deleteFailure: 'Error al eliminar la versi贸n',
-      updateFailure: 'Error al actualizar la versi贸n',
-      restoreSuccess: 'Versi贸n restaurada',
-    },
-    releaseNotesPlaceholder: 'Describe lo que cambi贸',
-    restorationTip: 'Despu茅s de la restauraci贸n de la versi贸n, el borrador actual ser谩 sobrescrito.',
-    nameThisVersion: 'Nombra esta versi贸n',
-    defaultName: 'Versi贸n sin t铆tulo',
-    title: 'Versiones',
-    deletionTip: 'La eliminaci贸n es irreversible, por favor confirma.',
-    currentDraft: 'Borrador Actual',
-    editVersionInfo: 'Editar informaci贸n de la versi贸n',
   },
 }
 
diff --git a/i18n/fa-IR/app-overview.ts b/i18n/fa-IR/app-overview.ts
index cf3368d..6386362 100644
--- a/i18n/fa-IR/app-overview.ts
+++ b/i18n/fa-IR/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '鬲賲 乇賳诏蹖 趩鬲鈥屫ㄘж� 乇丕 鬲賳馗蹖賲 讴賳蹖丿',
         chatColorThemeInverted: '賲毓讴賵爻',
         invalidHexMessage: '賲賯丿丕乇 賴诏夭 賳丕賲毓鬲亘乇',
-        invalidPrivacyPolicy: '賱蹖賳讴 爻蹖丕爻鬲 丨賮馗 丨乇蹖賲 禺氐賵氐蹖 賳丕賲毓鬲亘乇 丕爻鬲. 賱胤賮丕賸 丕夭 蹖讴 賱蹖賳讴 賲毓鬲亘乇 讴賴 亘丕 http 蹖丕 https 卮乇賵毓 賲蹖卮賵丿 丕爻鬲賮丕丿賴 讴賳蹖丿',
         more: {
           entry: '賳賲丕蹖卮 鬲賳馗蹖賲丕鬲 亘蹖卮鬲乇',
           copyright: '丨賯 賳爻禺賴鈥屫ㄘ必ж臂�',
@@ -113,7 +112,6 @@
           operation: '賲爻鬲賳丿丕鬲',
         },
       },
-      launch: '乇丕賴 丕賳丿丕夭蹖',
     },
     apiInfo: {
       title: 'API 爻乇賵蹖爻 亘讴鈥屫з嗀�',
diff --git a/i18n/fa-IR/app.ts b/i18n/fa-IR/app.ts
index 5f10269..799fa2c 100644
--- a/i18n/fa-IR/app.ts
+++ b/i18n/fa-IR/app.ts
@@ -163,10 +163,6 @@
       title: '丕賵倬蹖讴',
       description: 'Opik 蹖讴 倬賱鬲 賮乇賲 賲賳亘毓 亘丕夭 亘乇丕蹖 丕乇夭蹖丕亘蹖貙 丌夭賲丕蹖卮 賵 賳馗丕乇鬲 亘乇 亘乇賳丕賲賴 賴丕蹖 LLM 丕爻鬲.',
     },
-    weave: {
-      title: '亘丕賮賳丿诏蹖',
-      description: '賵蹖賵 蹖讴 倬賱鬲賮乇賲 賲鬲賳 亘丕夭 亘乇丕蹖 丕乇夭蹖丕亘蹖貙 丌夭賲丕蹖卮 賵 賳馗丕乇鬲 亘乇 亘乇賳丕賲賴鈥屬囏й� LLM 丕爻鬲.',
-    },
   },
   answerIcon: {
     descriptionInExplore: '丌蹖丕 丕夭 賳賲丕丿 WebApp 亘乇丕蹖 噩丕蹖诏夭蹖賳蹖 馃 丿乇 Explore 丕爻鬲賮丕丿賴 讴賳蹖賲 蹖丕 禺蹖乇',
@@ -192,23 +188,6 @@
     searchAllTemplate: '賴賲賴 賯丕賱亘 賴丕 乇丕 噩爻鬲噩賵 讴賳蹖丿...',
   },
   showMyCreatedAppsOnly: '賮賯胤 亘乇賳丕賲賴鈥屬囏й� 丕蹖噩丕丿 卮丿賴 鬲賵爻胤 賲賳 乇丕 賳卮丕賳 亘丿賴',
-  appSelector: {
-    params: '倬丕乇丕賲鬲乇賴丕蹖 亘乇賳丕賲賴',
-    noParams: '亘丿賵賳 倬丕乇丕賲鬲乇 賲賵乇丿 賳蹖丕夭 丕爻鬲',
-    label: '亘乇賳丕賲賴',
-    placeholder: '亘乇賳丕賲賴 丕蹖 乇丕 丕賳鬲禺丕亘 讴賳蹖丿...',
-  },
-  structOutput: {
-    required: '囟乇賵乇蹖',
-    modelNotSupported: '賲丿賱 倬卮鬲蹖亘丕賳蹖 賳賲蹖 卮賵丿',
-    notConfiguredTip: '禺乇賵噩蹖 爻丕禺鬲丕乇蹖 賴賳賵夭 鬲賳馗蹖賲 賳卮丿賴 丕爻鬲',
-    structured: '爻丕禺鬲丕乇 蹖丕賮鬲賴',
-    configure: '鬲賳馗蹖賲丕鬲',
-    moreFillTip: '賳賲丕蹖卮 丨丿丕讴孬乇 郾郯 爻胤丨 鬲賵 丿乇 鬲賵',
-    LLMResponse: '倬丕爻禺 賲丿賱 夭亘丕賳 亘夭乇诏',
-    modelNotSupportedTip: '賲丿賱 賮毓賱蹖 丕蹖賳 賵蹖跇诏蹖 乇丕 倬卮鬲蹖亘丕賳蹖 賳賲蹖鈥屭┵嗀� 賵 亘賴鈥屫焚堌� 禺賵丿讴丕乇 亘賴 鬲夭乇蹖賯 丿乇禺賵丕爻鬲 鬲賳夭賱 倬蹖丿丕 賲蹖鈥屭┵嗀�.',
-    structuredTip: '禺乇賵噩蹖鈥屬囏й� 爻丕禺鬲丕乇蹖 蹖讴 賵蹖跇诏蹖 丕爻鬲 讴賴 鬲囟賲蹖賳 賲蹖鈥屭┵嗀� 賲丿賱 賴賲蹖卮賴 倬丕爻禺鈥屬囏й屰� 鬲賵賱蹖丿 賲蹖鈥屭┵嗀� 讴賴 亘賴 胤乇丨 JSON 丕乇丕卅賴 卮丿賴 卮賲丕 倬丕蹖亘賳丿 亘丕卮丿.',
-  },
 }
 
 export default translation
diff --git a/i18n/fa-IR/billing.ts b/i18n/fa-IR/billing.ts
index e4de29c..480c31f 100644
--- a/i18n/fa-IR/billing.ts
+++ b/i18n/fa-IR/billing.ts
@@ -70,7 +70,6 @@
     messageRequest: {
       title: '丕毓鬲亘丕乇丕鬲 倬蹖丕賲',
       tooltip: '爻賴賲蹖賴鈥屬囏й� 賮乇丕禺賵丕賳蹖 倬蹖丕賲 亘乇丕蹖 胤乇丨鈥屬囏й� 賲禺鬲賱賮 亘丕 丕爻鬲賮丕丿賴 丕夭 賲丿賱鈥屬囏й� OpenAI (亘賴 噩夭 gpt4). 倬蹖丕賲鈥屬囏й� 亘蹖卮 丕夭 丨丿 賲丨丿賵丿蹖鬲 丕夭 讴賱蹖丿 API OpenAI 卮賲丕 丕爻鬲賮丕丿賴 賲蹖鈥屭┵嗁嗀�.',
-      titlePerMonth: '{{count,number}} 倬蹖丕賲 丿乇 賲丕賴',
     },
     annotatedResponse: {
       title: '賲丨丿賵丿蹖鬲鈥屬囏й� 爻賴賲蹖賴 丨丕卮蹖賴鈥屬嗁堐屫驰�',
@@ -78,94 +77,27 @@
     },
     ragAPIRequestTooltip: '亘賴 鬲毓丿丕丿 丿乇禺賵丕爻鬲鈥屬囏й� API 讴賴 賮賯胤 賯丕亘賱蹖鬲鈥屬囏й� 倬乇丿丕夭卮 倬丕蹖诏丕賴 丿丕賳卮 Dify 乇丕 賮乇丕禺賵丕賳蹖 賲蹖鈥屭┵嗁嗀� 丕卮丕乇賴 丿丕乇丿.',
     receiptInfo: '賮賯胤 氐丕丨亘 鬲蹖賲 賵 賲丿蹖乇 鬲蹖賲 賲蹖鈥屫堌з嗁嗀� 丕卮鬲乇丕讴 鬲賴蹖賴 讴賳賳丿 賵 丕胤賱丕毓丕鬲 氐賵乇鬲丨爻丕亘 乇丕 賲卮丕賴丿賴 讴賳賳丿',
-    apiRateLimitUnit: '{{count,number}}/乇賵夭',
-    cloud: '爻乇賵蹖爻 丕亘乇蹖',
-    documents: '{{count,number}} 爻賳丿賴丕蹖 丿丕賳卮',
-    self: '禺賵丿 賲蹖夭亘丕賳',
-    apiRateLimit: '賲丨丿賵丿蹖鬲 賳乇禺 API',
-    annualBilling: '氐賵乇鬲丨爻丕亘 爻丕賱丕賳賴',
-    freeTrialTip: '丌夭賲丕蹖卮 乇丕蹖诏丕賳 鄄郯郯 鬲賲丕爻 OpenAI.',
-    teamMember_other: '{{count,number}} 丕毓囟丕蹖 鬲蹖賲',
-    unlimitedApiRate: '賴蹖趩 賲丨丿賵丿蹖鬲蹖 亘乇丕蹖 賳乇禺 API 賵噩賵丿 賳丿丕乇丿.',
-    freeTrialTipPrefix: '孬亘鬲鈥屬嗀з� 讴賳蹖丿 賵 蹖讴',
-    comparePlanAndFeatures: '胤乇丨 賴丕 賵 賵蹖跇诏蹖 賴丕 乇丕 賲賯丕蹖爻賴 讴賳蹖丿',
-    teamMember_one: '{{count,number}} 毓囟賵 鬲蹖賲',
-    priceTip: '亘乇丕蹖 賴乇 賲丨蹖胤 讴丕乇/',
-    documentsTooltip: '丨噩賲 賲爻鬲賳丿丕鬲 賵丕乇丿 卮丿賴 丕夭 賲賳亘毓 丿丕丿賴鈥屬囏й� 丿丕賳卮.',
-    freeTrialTipSuffix: '賳蹖丕夭 亘賴 讴丕乇鬲 丕毓鬲亘丕乇蹖 賳蹖爻鬲',
-    teamWorkspace: '{{count,number}} 賮囟丕賷 讴丕乇 鬲賷賲賷',
-    getStarted: '卮乇賵毓 讴賳蹖丿',
-    documentsRequestQuota: '{{count,number}}/丿賯蹖賯賴 賲丨丿賵丿蹖鬲 賳乇禺 丿乇禺賵丕爻鬲 丿丕賳卮',
-    apiRateLimitTooltip: '賲丨丿賵丿蹖鬲 賳乇禺 API 亘乇丕蹖 賴賲賴 丿乇禺賵丕爻鬲鈥屬囏й� 丕賳噩丕賲 卮丿賴 丕夭 胤乇蹖賯 API Dify 丕毓賲丕賱 賲蹖鈥屫促堌� 丕夭 噩賲賱賴 鬲賵賱蹖丿 賲鬲賳貙 賲丨丕賵乇賴鈥屬囏й� 趩鬲貙 丕噩乇丕蹖 诏乇丿卮鈥屬囏й� 讴丕乇 賵 倬乇丿丕夭卮 丕爻賳丕丿.',
-    documentsRequestQuotaTooltip: '鬲毓蹖蹖賳 賲蹖鈥屭┵嗀� 讴賴 鬲毓丿丕丿 讴賱蹖 丕賯丿丕賲丕鬲蹖 讴賴 蹖讴 賮囟丕蹖 讴丕乇蹖 賲蹖鈥屫堌з嗀� 丿乇 賴乇 丿賯蹖賯賴 丿乇 丿丕禺賱 倬丕蹖诏丕賴 丿丕賳卮 丕賳噩丕賲 丿賴丿貙 卮丕賲賱 丕蹖噩丕丿 賲噩賲賵毓賴 丿丕丿賴貙 丨匕賮貙 亘賴鈥屫辟堌藏必池з嗃屫� 亘丕乇诏匕丕乇蹖 賲爻鬲賳丿丕鬲貙 鬲睾蹖蹖乇丕鬲貙 亘丕蹖诏丕賳蹖 賵 倬乇爻卮 丕夭 倬丕蹖诏丕賴 丿丕賳卮 丕爻鬲. 丕蹖賳 賲毓蹖丕乇 亘乇丕蹖 丕乇夭蹖丕亘蹖 毓賲賱讴乇丿 丿乇禺賵丕爻鬲鈥屬囏й� 倬丕蹖诏丕賴 丿丕賳卮 丕爻鬲賮丕丿賴 賲蹖鈥屫促堌�. 亘賴 毓賳賵丕賳 賲孬丕賱貙 丕诏乇 蹖讴 讴丕乇亘乇 Sandbox 丿乇 胤蹖 蹖讴 丿賯蹖賯賴 10 丌夭賲丕蹖卮 賲鬲賵丕賱蹖 丕賳噩丕賲 丿賴丿貙 賮囟丕蹖 讴丕乇蹖 丕賵 亘賴 胤賵乇 賲賵賯鬲 丕夭 丕賳噩丕賲 丕賯丿丕賲丕鬲 夭蹖乇 丿乇 丿賯蹖賯賴 亘毓丿蹖 賲丨丿賵丿 禺賵丕賴丿 卮丿: 丕蹖噩丕丿 賲噩賲賵毓賴 丿丕丿賴貙 丨匕賮貙 亘賴鈥屫辟堌藏必池з嗃� 賵 亘丕乇诏匕丕乇蹖 蹖丕 鬲睾蹖蹖乇 賲爻鬲賳丿丕鬲.',
   },
   plans: {
     sandbox: {
       name: '賲丨蹖胤 丌夭賲丕蹖卮蹖',
       description: '200 亘丕乇 丌夭賲丕蹖卮 乇丕蹖诏丕賳 GPT',
       includesTitle: '卮丕賲賱:',
-      for: '丿賵乇賴 丌夭賲丕蹖卮蹖 乇丕蹖诏丕賳 賯丕亘賱蹖鬲鈥屬囏й� 丕氐賱蹖',
     },
     professional: {
       name: '丨乇賮賴鈥屫й�',
       description: '亘乇丕蹖 丕賮乇丕丿 賵 鬲蹖賲鈥屬囏й� 讴賵趩讴 亘乇丕蹖 亘丕夭 讴乇丿賳 賯丿乇鬲 亘蹖卮鬲乇 亘賴 胤賵乇 賲賯乇賵賳 亘賴 氐乇賮賴.',
       includesTitle: '賴賲賴 趩蹖夭 丿乇 胤乇丨 乇丕蹖诏丕賳貙 亘賴 毓賱丕賵賴:',
-      for: '亘乇丕蹖 鬲賵爻毓賴鈥屫囐嗀з� 賲爻鬲賯賱/鬲蹖賲鈥屬囏й� 讴賵趩讴',
     },
     team: {
       name: '鬲蹖賲',
       description: '賴賲讴丕乇蹖 亘丿賵賳 賲丨丿賵丿蹖鬲 賵 賱匕鬲 亘乇丿賳 丕夭 毓賲賱讴乇丿 亘乇鬲乇.',
       includesTitle: '賴賲賴 趩蹖夭 丿乇 胤乇丨 丨乇賮賴鈥屫й屫� 亘賴 毓賱丕賵賴:',
-      for: '亘乇丕蹖 鬲蹖賲鈥屬囏й� 賲鬲賵爻胤',
     },
     enterprise: {
       name: '爻丕夭賲丕賳蹖',
       description: '丿乇蹖丕賮鬲 讴丕賲賱鈥屫臂屬� 賯丕亘賱蹖鬲鈥屬囏� 賵 倬卮鬲蹖亘丕賳蹖 亘乇丕蹖 爻蹖爻鬲賲鈥屬囏й� 亘夭乇诏 賵 亘丨乇丕賳蹖.',
       includesTitle: '賴賲賴 趩蹖夭 丿乇 胤乇丨 鬲蹖賲貙 亘賴 毓賱丕賵賴:',
-      features: {
-        0: '乇丕賴讴丕乇賴丕蹖 丕爻鬲賯乇丕乇 賲賯蹖丕爻鈥屬矩佰屫� 丿乇 爻胤丨 爻丕夭賲丕賳蹖',
-        8: '倬卮鬲蹖亘丕賳蹖 賮賳蹖 丨乇賮賴鈥屫й�',
-        3: '趩賳丿蹖賳 賮囟丕蹖 讴丕乇蹖 賵 賲丿蹖乇蹖鬲 爻丕夭賲丕賳蹖',
-        5: 'SLA 賴丕蹖 鬲賵丕賮賯 卮丿賴 鬲賵爻胤 卮乇讴丕蹖 Dify',
-        4: 'SSO',
-        2: '賵蹖跇诏蹖鈥屬囏й� 丕賳丨氐丕乇蹖 爻丕夭賲丕賳蹖',
-        1: '賲噩賵夭 氐丿賵乇 賲噩賵夭 鬲噩丕乇蹖',
-        6: '丕賲賳蹖鬲 賵 讴賳鬲乇賱鈥屬囏й� 倬蹖卮乇賮鬲賴',
-        7: '亘賴鈥屫辟堌藏必池з嗃屸�屬囏� 賵 賳诏賴丿丕乇蹖 鬲賵爻胤 丿蹖賮蹖 亘賴鈥屫焚堌� 乇爻賲蹖',
-      },
-      price: '爻賮丕乇卮蹖',
-      btnText: '鬲賲丕爻 亘丕 賮乇賵卮',
-      for: '亘乇丕蹖 鬲蹖賲鈥屬囏й� 亘夭乇诏',
-      priceTip: '賮賯胤 氐賵乇鬲丨爻丕亘 爻丕賱蹖丕賳賴',
-    },
-    community: {
-      features: {
-        0: '鬲賲丕賲 賵蹖跇诏蹖鈥屬囏й� 丕氐賱蹖 賲賳鬲卮乇 卮丿賴 丿乇 賲禺夭賳 毓賲賵賲蹖',
-        2: '亘丕 乇毓丕蹖鬲 賲噩賵夭 賲賳亘毓 亘丕夭 丿蹖賮蹖',
-        1: '賮囟丕蹖 讴丕乇蹖 賵丕丨丿',
-      },
-      btnText: '卮乇賵毓 讴賳蹖丿 亘丕 噩丕賲毓賴',
-      price: '乇丕蹖诏丕賳',
-      includesTitle: '賵蹖跇诏蹖鈥屬囏й� 乇丕蹖诏丕賳:',
-      description: '亘乇丕蹖 讴丕乇亘乇丕賳 賮乇丿蹖貙 鬲蹖賲鈥屬囏й� 讴賵趩讴 蹖丕 倬乇賵跇賴鈥屬囏й� 睾蹖乇 鬲噩丕乇蹖',
-      name: '噩丕賲毓賴',
-      for: '亘乇丕蹖 讴丕乇亘乇丕賳 賮乇丿蹖貙 鬲蹖賲鈥屬囏й� 讴賵趩讴 蹖丕 倬乇賵跇賴鈥屬囏й� 睾蹖乇 鬲噩丕乇蹖',
-    },
-    premium: {
-      features: {
-        1: '賲丨賱 讴丕乇 賵丕丨丿',
-        0: '賯丕亘賱 丕胤賲蹖賳丕賳 禺賵丿賲丿蹖乇蹖鬲蹖 鬲賵爻胤 丕乇丕卅賴鈥屫囐嗀з� 賲禺鬲賱賮 丕亘乇',
-        2: '卮毓丕乇 賵 爻賮丕乇卮蹖鈥屫池ж槽� 亘乇賳丿 賵亘鈥屫з举勠屭┷屫促�',
-        3: '倬卮鬲蹖亘丕賳蹖 丕賵賱賵蹖鬲 丕蹖賲蹖賱 賵 趩鬲',
-      },
-      btnText: '诏乇賮鬲賳 賳爻禺賴 倬乇蹖賲蹖賵賲 丿乇',
-      description: '亘乇丕蹖 爻丕夭賲丕賳鈥屬囏� 賵 鬲蹖賲鈥屬囏й� 賲蹖丕賳鈥屫必�',
-      price: '賯丕亘賱 诏爻鬲乇卮',
-      includesTitle: '賴賲賴 趩蹖夭 丕夭 噩丕賲毓賴貙 亘賴 毓賱丕賵賴:',
-      for: '亘乇丕蹖 爻丕夭賲丕賳鈥屬囏� 賵 鬲蹖賲鈥屬囏й� 賲蹖丕賳鈥屫必�',
-      name: '倬蹖卮乇賮鬲賴',
-      priceTip: '亘乇 丕爻丕爻 亘丕夭丕乇 丕亘乇蹖',
-      comingSoon: '倬卮鬲蹖亘丕賳蹖 賲丕蹖讴乇賵爻丕賮鬲 丌跇賵乇 賵 诏賵诏賱 讴賱賵丿 亘賴 夭賵丿蹖 丿乇 丿爻鬲乇爻 禺賵丕賴丿 亘賵丿',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: '胤乇丨 禺賵丿 乇丕 丕乇鬲賯丕亍 丿賴蹖丿 鬲丕',
     fullTipLine2: '丕倬賱蹖讴蹖卮賳鈥屬囏й� 亘蹖卮鬲乇蹖 亘爻丕夭蹖丿.',
-    fullTip2: '賲丨丿賵丿蹖鬲 胤乇丨 亘賴 倬丕蹖丕賳 乇爻蹖丿',
-    contactUs: '亘丕 賲丕 鬲賲丕爻 亘诏蹖乇蹖丿',
-    fullTip1: '亘賴鈥屫辟堌藏必池з嗃� 讴賳蹖丿 鬲丕 亘乇賳丕賲賴鈥屬囏й� 亘蹖卮鬲乇蹖 丕蹖噩丕丿 讴賳蹖丿',
-    fullTip1des: '卮賲丕 亘賴 賲丨丿賵丿蹖鬲 爻丕禺鬲 亘乇賳丕賲賴鈥屬囏� 丿乇 丕蹖賳 胤乇丨 乇爻蹖丿賴鈥屫й屫�',
-    fullTip2des: '鬲賵氐蹖賴 賲蹖鈥屫促堌� 亘乇賳丕賲賴鈥屬囏й� 睾蹖乇賮毓丕賱 乇丕 倬丕讴 讴賳蹖丿 鬲丕 賮囟丕蹖 丕爻鬲賮丕丿賴 乇丕 丌夭丕丿 讴賳蹖丿貙 蹖丕 亘丕 賲丕 鬲賲丕爻 亘诏蹖乇蹖丿.',
   },
   annotatedResponse: {
     fullTipLine1: '胤乇丨 禺賵丿 乇丕 丕乇鬲賯丕亍 丿賴蹖丿 鬲丕',
     fullTipLine2: '賲讴丕賱賲丕鬲 亘蹖卮鬲乇蹖 乇丕 丨丕卮蹖賴鈥屬嗁堐屫驰� 讴賳蹖丿.',
     quotaTitle: '爻賴賲蹖賴 倬丕爻禺 丨丕卮蹖賴鈥屬嗁堐屫驰�',
   },
-  usagePage: {
-    documentsUploadQuota: '丨噩賲 亘丕乇诏匕丕乇蹖 丕爻賳丕丿',
-    vectorSpace: '匕禺蹖乇賴鈥屫池ж槽� 丿丕丿賴鈥屬囏й� 丿丕賳卮',
-    teamMembers: '丕毓囟丕蹖 鬲蹖賲',
-    annotationQuota: '爻賴丕賲 丨丕卮蹖賴',
-    buildApps: '爻丕禺鬲 亘乇賳丕賲賴 賴丕',
-    vectorSpaceTooltip: '爻賳丿賴丕蹖蹖 讴賴 亘丕 丨丕賱鬲 賳賲丕蹖賴鈥屫池ж槽� 亘丕 讴蹖賮蹖鬲 亘丕賱丕 鬲賴蹖賴 賲蹖鈥屫促堎嗀� 賲賳丕亘毓 匕禺蹖乇賴鈥屫池ж槽� 丿丕丿賴鈥屬囏й� 丿丕賳卮 乇丕 賲氐乇賮 禺賵丕賴賳丿 讴乇丿. 夭賲丕賳蹖 讴賴 匕禺蹖乇賴鈥屫池ж槽� 丿丕丿賴鈥屬囏й� 丿丕賳卮 亘賴 丨丿 禺賵丿 亘乇爻丿貙 丕爻賳丕丿 噩丿蹖丿 亘丕乇诏夭丕乇蹖 賳禺賵丕賴賳丿 卮丿.',
-  },
-  teamMembers: '丕毓囟丕蹖 鬲蹖賲',
 }
 
 export default translation
diff --git a/i18n/fa-IR/common.ts b/i18n/fa-IR/common.ts
index 64a5c3b..5308607 100644
--- a/i18n/fa-IR/common.ts
+++ b/i18n/fa-IR/common.ts
@@ -50,14 +50,6 @@
     submit: '丕乇爻丕賱',
     skip: '讴卮鬲蹖',
     imageCopied: '鬲氐賵蹖乇 讴倬蹖 卮丿賴',
-    deleteApp: '丨匕賮 亘乇賳丕賲賴',
-    copied: '讴倬蹖',
-    viewDetails: '丿蹖丿賳 噩夭卅蹖丕鬲',
-    in: '丿乇',
-    downloadFailed: '丿丕賳賱賵丿 賳丕賲賵賮賯 亘賵丿. 賱胤賮丕賸 亘毓丿丕賸 丿賵亘丕乇賴 鬲賱丕卮 讴賳蹖丿.',
-    more: '亘蹖卮鬲乇',
-    format: '賯丕賱亘',
-    downloadSuccess: '丿丕賳賱賵丿 讴丕賲賱 卮丿.',
   },
   errorMsg: {
     fieldRequired: '{{field}} 丕賱夭丕賲蹖 丕爻鬲',
@@ -134,8 +126,6 @@
       Custom: '爻賮丕乇卮蹖',
     },
     addMoreModel: '亘乇丕蹖 丕賮夭賵丿賳 賲丿賱鈥屬囏й� 亘蹖卮鬲乇 亘賴 鬲賳馗蹖賲丕鬲 亘乇賵蹖丿',
-    settingsLink: '鬲賳馗蹖賲丕鬲 丕乇丕卅賴 丿賴賳丿賴 賲丿賱',
-    capabilities: '賯丕亘賱蹖鬲 賴丕蹖 趩賳丿 賵噩賴蹖',
   },
   menus: {
     status: '亘鬲丕',
@@ -148,7 +138,6 @@
     newApp: '亘乇賳丕賲賴 噩丿蹖丿',
     newDataset: '丕蹖噩丕丿 丿丕賳卮',
     tools: '丕亘夭丕乇賴丕',
-    exploreMarketplace: '亘丕夭丕乇 乇丕 讴丕賵卮 讴賳蹖丿',
   },
   userProfile: {
     settings: '鬲賳馗蹖賲丕鬲',
@@ -161,9 +150,6 @@
     community: '丕賳噩賲賳',
     about: '丿乇亘丕乇賴',
     logout: '禺乇賵噩',
-    github: '诏蹖鬲鈥屬囏ж�',
-    compliance: '丕賳胤亘丕賯',
-    support: '倬卮鬲蹖亘丕賳蹖',
   },
   settings: {
     accountGroup: '丨爻丕亘 讴丕乇亘乇蹖',
@@ -177,7 +163,6 @@
     dataSource: '賲賳亘毓 丿丕丿賴',
     plugin: '丕賮夭賵賳賴鈥屬囏�',
     apiBasedExtension: '鬲賵爻毓賴 賲亘鬲賳蹖 亘乇 API',
-    generalGroup: '毓賲賵賲蹖',
   },
   account: {
     avatar: '丌賵丕鬲丕乇',
@@ -213,9 +198,6 @@
     deleteSuccessTip: '丨爻丕亘 卮賲丕 亘乇丕蹖 倬丕蹖丕賳 丿丕丿賳 亘賴 丨匕賮 亘賴 夭賲丕賳 賳蹖丕夭 丿丕乇丿. 賵賯鬲蹖 賴賲賴 趩蹖夭 鬲賲丕賲 卮丿 亘賴 卮賲丕 丕蹖賲蹖賱 禺賵丕賴蹖賲 夭丿.',
     deletePrivacyLinkTip: '亘乇丕蹖 讴爻亘 丕胤賱丕毓丕鬲 亘蹖卮鬲乇 丿乇 賲賵乇丿 賳丨賵賴 賲丿蹖乇蹖鬲 丿丕丿賴 賴丕蹖 卮賲丕貙 賱胤賮丕 亘賴 賲丕 賲乇丕噩毓賴 讴賳蹖丿',
     feedbackLabel: '亘賴 賲丕 亘诏賵蹖蹖丿 趩乇丕 丨爻丕亘 禺賵丿 乇丕 丨匕賮 讴乇丿賴 丕蹖丿責',
-    editWorkspaceInfo: '賵蹖乇丕蹖卮 丕胤賱丕毓丕鬲 賮囟丕蹖 讴丕乇',
-    workspaceName: '賳丕賲 賮囟丕蹖 讴丕乇蹖',
-    workspaceIcon: '丌蹖讴賵賳 賲丨蹖胤 讴丕乇',
   },
   members: {
     team: '鬲蹖賲',
@@ -308,7 +290,6 @@
       usedUp: '爻賴賲蹖賴 丌夭賲丕蹖卮蹖 鬲賲丕賲 卮丿賴 丕爻鬲. 丕乇丕卅賴鈥屫囐嗀� 賲丿賱 禺賵丿 乇丕 丕囟丕賮賴 讴賳蹖丿.',
       useYourModel: '丿乇 丨丕賱 丨丕囟乇 丕夭 丕乇丕卅賴鈥屫囐嗀� 賲丿賱 禺賵丿 丕爻鬲賮丕丿賴 賲蹖鈥屭┵嗃屫�.',
       close: '亘爻鬲賳',
-      trialQuotaTip: '爻賴賲蹖賴 丌夭賲丕蹖卮蹖 Anthropic 卮賲丕 丿乇 鬲丕乇蹖禺 2025/03/11 賲賳賯囟蹖 賲蹖 卮賵丿 賵 倬爻 丕夭 丌賳 丿蹖诏乇 丿乇 丿爻鬲乇爻 賳禺賵丕賴丿 亘賵丿. 賱胤賮丕 亘賴 賲賵賯毓 丕夭 丌賳 丕爻鬲賮丕丿賴 讴賳蹖丿.',
     },
     anthropic: {
       using: '賯丕亘賱蹖鬲 鬲毓亘蹖賴 丕夭 丕蹖賳 丕爻鬲賮丕丿賴 賲蹖鈥屭┵嗀�',
@@ -420,12 +401,6 @@
     loadBalancingLeastKeyWarning: '亘乇丕蹖 賮毓丕賱 讴乇丿賳 鬲毓丕丿賱 亘丕乇貙 丨丿丕賯賱 2 讴賱蹖丿 亘丕蹖丿 賮毓丕賱 亘丕卮賳丿.',
     loadBalancingInfo: '亘賴 胤賵乇 倬蹖卮鈥屬佖必敦� 鬲毓丕丿賱 亘丕乇 丕夭 丕爻鬲乇丕鬲跇蹖 Round-robin 丕爻鬲賮丕丿賴 賲蹖鈥屭┵嗀�. 丕诏乇 賲丨丿賵丿蹖鬲 賳乇禺 賮毓丕賱 卮賵丿貙 蹖讴 丿賵乇賴 禺賳讴 卮丿賳 1 丿賯蹖賯賴鈥屫й� 丕毓賲丕賱 禺賵丕賴丿 卮丿.',
     upgradeForLoadBalancing: '亘乇丕蹖 賮毓丕賱 讴乇丿賳 鬲毓丕丿賱 亘丕乇貙 胤乇丨 禺賵丿 乇丕 丕乇鬲賯丕 丿賴蹖丿.',
-    emptyProviderTitle: '丕乇丕卅賴 丿賴賳丿賴 賲丿賱 乇丕賴 丕賳丿丕夭蹖 賳卮丿賴 丕爻鬲',
-    toBeConfigured: '倬蹖讴乇亘賳丿蹖 卮賵丿',
-    configureTip: 'api-key 乇丕 乇丕賴 丕賳丿丕夭蹖 讴賳蹖丿 蹖丕 賲丿賱 乇丕 亘乇丕蹖 丕爻鬲賮丕丿賴 丕囟丕賮賴 讴賳蹖丿',
-    installProvider: '賳氐亘 丕乇丕卅賴 丿賴賳丿诏丕賳 賲丿賱',
-    discoverMore: '丕胤賱丕毓丕鬲 亘蹖卮鬲乇 丿乇',
-    emptyProviderTip: '賱胤賮丕 丕亘鬲丿丕 蹖讴 丕乇丕卅賴 丿賴賳丿賴 賲丿賱 賳氐亘 讴賳蹖丿.',
   },
   dataSource: {
     add: '丕賮夭賵丿賳 賲賳亘毓 丿丕丿賴',
@@ -469,7 +444,7 @@
   apiBasedExtension: {
     title: '丕賮夭賵賳賴鈥屬囏й� 賲亘鬲賳蹖 亘乇 API 賲丿蹖乇蹖鬲 賲鬲賲乇讴夭 API 乇丕 賮乇丕賴賲 賲蹖鈥屭┵嗁嗀� 賵 倬蹖讴乇亘賳丿蹖 乇丕 亘乇丕蹖 丕爻鬲賮丕丿賴 丌爻丕賳 丿乇 亘乇賳丕賲賴鈥屬囏й� Dify 爻丕丿賴 賲蹖鈥屭┵嗁嗀�.',
     link: '賳丨賵賴 鬲賵爻毓賴 丕賮夭賵賳賴 API 禺賵丿 乇丕 亘蹖丕賲賵夭蹖丿.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: '丕賮夭賵丿賳 丕賮夭賵賳賴 API',
     selector: {
       title: '丕賮夭賵賳賴 API',
@@ -555,9 +530,6 @@
       hitScore: '丕賲鬲蹖丕夭 亘丕夭蹖丕亘蹖:',
     },
     inputPlaceholder: '亘丕 乇亘丕鬲 氐丨亘鬲 讴賳蹖丿',
-    thought: '賮讴乇',
-    thinking: '鬲賮讴乇...',
-    resend: '丿賵亘丕乇賴 丕乇爻丕賱 讴賳蹖丿',
   },
   promptEditor: {
     placeholder: '丿爻鬲賵乇 禺賵丿 乇丕 丕蹖賳噩丕 亘賳賵蹖爻蹖丿貙 芦{禄 乇丕 賵丕乇丿 讴賳蹖丿 鬲丕 蹖讴 賲鬲睾蹖乇 丿乇噩 讴賳蹖丿貙 芦/禄 乇丕 賵丕乇丿 讴賳蹖丿 鬲丕 蹖讴 亘賱賵讴 賲丨鬲賵丕蹖 丿爻鬲賵乇 丿乇噩 讴賳蹖丿',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: '賲賵丕乇丿 丿乇 賴乇 氐賮丨賴',
-  },
-  theme: {
-    auto: '爻蹖爻鬲賲',
-    theme: '鬲賲',
-    dark: '鬲丕乇蹖讴',
-    light: '賳賵乇',
-  },
-  compliance: {
-    soc2Type1: '诏夭丕乇卮 賳賵毓 I SOC 2',
-    sandboxUpgradeTooltip: '鬲賳賴丕 亘丕 亘乇賳丕賲賴 丨乇賮賴鈥屫й� 蹖丕 鬲蹖賲蹖 丿乇 丿爻鬲乇爻 丕爻鬲.',
-    gdpr: 'GDPR DPA',
-    soc2Type2: '诏夭丕乇卮 賳賵毓 II SOC 2',
-    iso27001: '诏賵丕賴蹖賳丕賲賴 ISO 27001:2022',
-    professionalUpgradeTooltip: '鬲賳賴丕 亘丕 亘乇賳丕賲賴 鬲蹖賲 蹖丕 亘丕賱丕鬲乇 丿乇 丿爻鬲乇爻 丕爻鬲.',
-  },
-  imageInput: {
-    dropImageHere: '毓讴爻 禺賵丿 乇丕 丕蹖賳噩丕 乇賴丕 讴賳蹖丿貙 蹖丕',
-    supportedFormats: '丕夭 賮乇賲鬲鈥屬囏й� PNG貙 JPG貙 JPEG貙 WEBP 賵 GIF 倬卮鬲蹖亘丕賳蹖 賲蹖鈥屭┵嗀�',
-    browse: '賲乇賵乇诏乇',
   },
 }
 
diff --git a/i18n/fa-IR/custom.ts b/i18n/fa-IR/custom.ts
index d06f60e..bcf3f26 100644
--- a/i18n/fa-IR/custom.ts
+++ b/i18n/fa-IR/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '胤乇丨 禺賵丿 乇丕 丕乇鬲賯丕 丿賴蹖丿 亘賴',
     suffix: '鬲丕 亘乇賳丿 禺賵丿 乇丕 爻賮丕乇卮蹖 讴賳蹖丿.',
-    title: '胤乇丨 禺賵丿 乇丕 丕乇鬲賯丕 丿賴蹖丿',
-    des: '胤乇丨 禺賵丿 乇丕 丕乇鬲賯丕 丿賴蹖丿 鬲丕 亘乇賳丿 禺賵丿 乇丕 爻賮丕乇卮蹖 讴賳蹖丿',
   },
   webapp: {
     title: '爻賮丕乇卮蹖 爻丕夭蹖 亘乇賳丿 賵亘 丕倬',
diff --git a/i18n/fa-IR/dataset-creation.ts b/i18n/fa-IR/dataset-creation.ts
index 4d938bb..b6cb650 100644
--- a/i18n/fa-IR/dataset-creation.ts
+++ b/i18n/fa-IR/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '丕蹖噩丕丿 丿丕賳卮',
       update: '丕賮夭賵丿賳 丿丕丿賴',
-      fallbackRoute: '丿丕賳卮',
     },
     one: '丕賳鬲禺丕亘 賲賳亘毓 丿丕丿賴',
     two: '倬蹖卮倬乇丿丕夭卮 賵 倬丕讴爻丕夭蹖 賲鬲賳',
@@ -27,7 +26,7 @@
     },
     uploader: {
       title: '亘丕乇诏匕丕乇蹖 賮丕蹖賱',
-      button: '賮丕蹖賱 賴丕 蹖丕 倬賵卮賴 賴丕 乇丕 亘讴卮蹖丿 賵 乇賴丕 讴賳蹖丿 蹖丕',
+      button: '讴卮蹖丿賳 賵 乇賴丕 讴乇丿賳 賮丕蹖賱貙 蹖丕',
       browse: '賲乇賵乇',
       tip: '倬卮鬲蹖亘丕賳蹖 丕夭 {{supportTypes}}. 丨丿丕讴孬乇 {{size}}MB 賴乇 讴丿丕賲.',
       validation: {
@@ -63,7 +62,7 @@
       run: '丕噩乇丕',
       firecrawlTitle: '丕爻鬲禺乇丕噩 賲丨鬲賵丕蹖 賵亘 亘丕 fireFirecrawl',
       firecrawlDoc: '賲爻鬲賳丿丕鬲 Firecrawl',
-      firecrawlDocLink: '<a href="https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website">https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website</a>',
+      firecrawlDocLink: '<a href="https://docs.dify.ai/guides/knowledge-base/sync-from-website">https://docs.dify.ai/guides/knowledge-base/sync-from-website</a>',
       options: '诏夭蹖賳賴賴丕',
       crawlSubPage: '禺夭卮 氐賮丨丕鬲 賮乇毓蹖',
       limit: '賲丨丿賵丿蹖鬲',
@@ -87,14 +86,6 @@
       useSitemap: '丕夭 賳賯卮賴 爻丕蹖鬲 丕爻鬲賮丕丿賴 讴賳蹖丿',
       jinaReaderNotConfiguredDescription: '亘丕 賵丕乇丿 讴乇丿賳 讴賱蹖丿 API 乇丕蹖诏丕賳 禺賵丿 亘乇丕蹖 丿爻鬲乇爻蹖貙 Jina Reader 乇丕 乇丕賴 丕賳丿丕夭蹖 讴賳蹖丿.',
       useSitemapTooltip: '賳賯卮賴 爻丕蹖鬲 乇丕 丿賳亘丕賱 讴賳蹖丿 鬲丕 爻丕蹖鬲 乇丕 亘禺夭蹖丿. 丿乇 睾蹖乇 丕蹖賳 氐賵乇鬲貙 Jina Reader 亘乇 丕爻丕爻 丕乇鬲亘丕胤 氐賮丨賴 亘賴 氐賵乇鬲 鬲讴乇丕乇蹖 賲蹖 禺夭丿 賵 氐賮丨丕鬲 讴賲鬲乇 丕賲丕 亘丕 讴蹖賮蹖鬲 亘丕賱丕鬲乇 乇丕 亘賴 丿爻鬲 賲蹖 丌賵乇丿.',
-      watercrawlDoc: '賲爻鬲賳丿丕鬲 賵丕鬲乇 讴乇丕賵賱',
-      configureFirecrawl: '鬲賳馗蹖賲 Firecrawl',
-      waterCrawlNotConfiguredDescription: '亘乇丕蹖 丕爻鬲賮丕丿賴 丕夭 Watercrawl貙 丌賳 乇丕 亘丕 讴賱蹖丿 API 倬蹖讴乇亘賳丿蹖 讴賳蹖丿.',
-      waterCrawlNotConfigured: 'Watercrawl 倬蹖讴乇亘賳丿蹖 賳卮丿賴 丕爻鬲',
-      configureJinaReader: '倬蹖讴乇亘賳丿蹖 禺賵丕賳賳丿賴 噩蹖賳丕',
-      watercrawlDocLink: 'https://docs.dify.ai/fa/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      watercrawlTitle: '賲丨鬲賵丕蹖 賵亘 乇丕 亘丕 賵丕鬲乇讴乇丕賱 丕爻鬲禺乇丕噩 讴賳蹖丿',
-      configureWatercrawl: '鬲賳馗蹖賲 賵丕鬲乇讴乇丕賵賱',
     },
     cancel: '賱睾賵',
   },
@@ -207,11 +198,6 @@
     learnMore: '亘蹖卮鬲乇 亘丿丕賳蹖丿',
     description: '丿乇 丨丕賱 丨丕囟乇貙 倬丕蹖诏丕賴 丿丕賳卮 Dify 賮賯胤 賲賳丕亘毓 丿丕丿賴 賲丨丿賵丿蹖 丿丕乇丿. 讴賲讴 亘賴 蹖讴 賲賳亘毓 丿丕丿賴 亘賴 倬丕蹖诏丕賴 丿丕賳卮 Dify 乇丕賴蹖 賮賵賯 丕賱毓丕丿賴 亘乇丕蹖 讴賲讴 亘賴 丕賮夭丕蹖卮 丕賳毓胤丕賮 倬匕蹖乇蹖 賵 賯丿乇鬲 倬賱鬲賮乇賲 亘乇丕蹖 賴賲賴 讴丕乇亘乇丕賳 丕爻鬲. 乇丕賴賳賲丕蹖 賲卮丕乇讴鬲 賲丕 卮乇賵毓 讴丕乇 乇丕 丌爻丕賳 賲蹖 讴賳丿. 賱胤賮丕 亘乇丕蹖 讴爻亘 丕胤賱丕毓丕鬲 亘蹖卮鬲乇 乇賵蹖 賱蹖賳讴 夭蹖乇 讴賱蹖讴 讴賳蹖丿.',
     title: '亘賴 賲賳丕亘毓 丿丕丿賴 丿蹖诏乇 賲鬲氐賱 卮賵蹖丿責',
-  },
-  watercrawl: {
-    getApiKeyLinkText: '讴賱蹖丿 API 禺賵丿 乇丕 丕夭 watercrawl.dev 丿乇蹖丕賮鬲 讴賳蹖丿',
-    configWatercrawl: '鬲賳馗蹖賲 賵丕鬲乇讴乇丕賵賱',
-    apiKeyPlaceholder: '讴賱蹖丿 API 丕夭 watercrawl.dev',
   },
 }
 
diff --git a/i18n/fa-IR/dataset-documents.ts b/i18n/fa-IR/dataset-documents.ts
index 85e1e0a..ff9e47f 100644
--- a/i18n/fa-IR/dataset-documents.ts
+++ b/i18n/fa-IR/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: '夭亘丕賳',
         authorPublisher: '賳賵蹖爻賳丿賴/賳丕卮乇',
         publishDate: '鬲丕乇蹖禺 丕賳鬲卮丕乇',
-        topicKeywords: '賲賵囟賵毓丕鬲/讴賱蹖丿賵丕跇賴鈥屬囏�',
+        topicsKeywords: '賲賵囟賵毓丕鬲/讴賱蹖丿賵丕跇賴鈥屬囏�',
         description: '鬲賵囟蹖丨丕鬲',
       },
       paper: {
diff --git a/i18n/fa-IR/dataset-settings.ts b/i18n/fa-IR/dataset-settings.ts
index 457b784..1ddee95 100644
--- a/i18n/fa-IR/dataset-settings.ts
+++ b/i18n/fa-IR/dataset-settings.ts
@@ -27,7 +27,6 @@
       learnMore: '亘蹖卮鬲乇 亘丿丕賳蹖丿',
       description: ' 丿乇亘丕乇賴 乇賵卮 亘丕夭蹖丕亘蹖.',
       longDescription: ' 丿乇亘丕乇賴 乇賵卮 亘丕夭蹖丕亘蹖貙 賲蹖鈥屫堌з嗃屫� 丿乇 賴乇 夭賲丕賳蹖 丿乇 鬲賳馗蹖賲丕鬲 丿丕賳卮 丕蹖賳 乇丕 鬲睾蹖蹖乇 丿賴蹖丿.',
-      method: '乇賵卮 亘丕夭蹖丕亘蹖',
     },
     save: '匕禺蹖乇賴',
     externalKnowledgeAPI: 'API 丿丕賳卮 禺丕乇噩蹖',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: '亘乇丕蹖 鬲賳夭賱 乇鬲亘賴 丕夭 HQ 亘賴 ECO 丿乇 丿爻鬲乇爻 賳蹖爻鬲',
     helpText: '蹖丕丿 亘诏蹖乇蹖丿 讴賴 趩诏賵賳賴 蹖讴 鬲賵囟蹖丨丕鬲 賲噩賲賵毓賴 丿丕丿賴 禺賵亘 亘賳賵蹖爻蹖丿.',
     upgradeHighQualityTip: '倬爻 丕夭 丕乇鬲賯丕亍 亘賴 丨丕賱鬲 讴蹖賮蹖鬲 亘丕賱丕貙 亘丕夭诏卮鬲 亘賴 丨丕賱鬲 丕賯鬲氐丕丿蹖 丿乇 丿爻鬲乇爻 賳蹖爻鬲',
-    searchModel: '噩爻鬲噩賵蹖 賲丿賱',
   },
 }
 
diff --git a/i18n/fa-IR/dataset.ts b/i18n/fa-IR/dataset.ts
index 8ab2fb9..70012a0 100644
--- a/i18n/fa-IR/dataset.ts
+++ b/i18n/fa-IR/dataset.ts
@@ -168,54 +168,6 @@
   localDocs: '丕爻賳丕丿 賲丨賱蹖',
   allKnowledge: '賴賲賴 丿丕賳卮 賴丕',
   allKnowledgeDescription: '亘乇丕蹖 賳賲丕蹖卮 鬲賲丕賲 丿丕賳卮 丿乇 丕蹖賳 賮囟丕蹖 讴丕乇蹖 丕賳鬲禺丕亘 讴賳蹖丿. 賮賯胤 賲丕賱讴 賮囟丕蹖 讴丕乇蹖 賲蹖 鬲賵丕賳丿 鬲賲丕賲 丿丕賳卮 乇丕 賲丿蹖乇蹖鬲 讴賳丿.',
-  metadata: {
-    createMetadata: {
-      name: '賳丕賲',
-      title: '賲鬲丕丿蹖鬲丕蹖 噩丿蹖丿',
-      namePlaceholder: '丕賮夭賵丿賳 賳丕賲 賲鬲丕丿丕丿賴',
-      back: '毓賯亘',
-      type: '賳賵毓',
-    },
-    checkName: {
-      invalid: '賳丕賲 賲鬲丕丿丕丿賴 賮賯胤 賲蹖鈥屫堌з嗀� 卮丕賲賱 丨乇賵賮 讴賵趩讴貙 丕毓丿丕丿 賵 夭蹖乇禺胤鈥屬囏� 亘丕卮丿 賵 亘丕蹖丿 亘丕 蹖讴 丨乇賮 讴賵趩讴 丌睾丕夭 卮賵丿.',
-      empty: '賳丕賲 賮乇丕丿丕丿賴 賳賲蹖鈥屫堌з嗀� 禺丕賱蹖 亘丕卮丿',
-    },
-    batchEditMetadata: {
-      multipleValue: '趩賳丿蹖賳 丕乇夭卮',
-      editDocumentsNum: '賵蹖乇丕蹖卮 {{num}} 爻賳丿',
-      applyToAllSelectDocumentTip: '亘賴鈥屫焚堌� 禺賵丿讴丕乇 鬲賲丕賲 賲鬲丕丿丕丿賴鈥屬囏й� 賵蹖乇丕蹖卮 卮丿賴 賵 噩丿蹖丿 賮賵賯 乇丕 亘乇丕蹖 鬲賲丕賲 丕爻賳丕丿 丕賳鬲禺丕亘 卮丿賴 丕蹖噩丕丿 讴賳蹖丿貙 丿乇 睾蹖乇 丕蹖賳 氐賵乇鬲 賵蹖乇丕蹖卮 賲鬲丕丿丕丿賴 賮賯胤 亘賴 丕爻賳丕丿蹖 讴賴 丿丕乇丕蹖 丌賳 賴爻鬲賳丿 丕毓賲丕賱 禺賵丕賴丿 卮丿.',
-      applyToAllSelectDocument: '亘賴 鬲賲丕賲 丕爻賳丕丿 丕賳鬲禺丕亘 卮丿賴 丕毓賲丕賱 讴賳蹖丿',
-      editMetadata: '賵蹖乇丕蹖卮 賲鬲丕 丿丕丿賴 賴丕',
-    },
-    selectMetadata: {
-      search: '噩爻鬲噩賵蹖 賲鬲丕 丿丕丿賴',
-      newAction: '賲鬲丕丿蹖鬲丕蹖 噩丿蹖丿',
-      manageAction: '賲丿蹖乇蹖鬲',
-    },
-    datasetMetadata: {
-      deleteContent: '丌蹖丕 丕夭 丨匕賮 賲鬲丕丿丕丿賴 "{{name}}" 丕胤賲蹖賳丕賳 丿丕乇蹖丿責',
-      builtIn: '爻丕禺鬲賴 卮丿賴 丿乇賵賳鈥屫池ж槽�',
-      description: '卮賲丕 賲蹖鈥屫堌з嗃屫� 鬲賲丕賲 賮乇丕丿丕丿賴鈥屬囏� 乇丕 丿乇 丕蹖賳 丿丕賳卮 賲丿蹖乇蹖鬲 讴賳蹖丿. 鬲睾蹖蹖乇丕鬲 亘賴 賴乇 爻賳丿蹖 賴賲夭賲丕賳 賲蹖鈥屫促堎嗀�.',
-      deleteTitle: '亘乇丕蹖 丨匕賮 鬲兀蹖蹖丿 讴賳蹖丿',
-      disabled: '賲鬲毓丕丿賱',
-      values: '{{num}} 賲賯丿丕乇',
-      namePlaceholder: '賳丕賲 賲鬲丕丿蹖鬲丕',
-      addMetaData: '賲鬲丕丿蹖鬲丕 丕囟丕賮賴 讴賳蹖丿',
-      builtInDescription: '賲鬲丕丿丕丿賴鈥屬囏й� 丿丕禺賱蹖 亘賴鈥屫焚堌� 禺賵丿讴丕乇 丕爻鬲禺乇丕噩 賵 鬲賵賱蹖丿 賲蹖鈥屫促堎嗀�. 賯亘賱 丕夭 丕爻鬲賮丕丿賴 亘丕蹖丿 賮毓丕賱 卮賵丿 賵 賯丕亘賱 賵蹖乇丕蹖卮 賳蹖爻鬲.',
-      name: '賳丕賲',
-      rename: '鬲睾蹖蹖乇 賳丕賲',
-    },
-    documentMetadata: {
-      technicalParameters: '倬丕乇丕賲鬲乇賴丕蹖 賮賳蹖',
-      documentInformation: '丕胤賱丕毓丕鬲 爻賳丿',
-      startLabeling: '卮乇賵毓 亘乇趩爻亘鈥屭柏ж臂�',
-      metadataToolTip: '賲鬲丕丿蹖鬲丕 亘賴 毓賳賵丕賳 蹖讴 賮蹖賱鬲乇 丨蹖丕鬲蹖 毓賲賱 賲蹖鈥屭┵嗀� 讴賴 丿賯鬲 賵 丕乇鬲亘丕胤 丕胤賱丕毓丕鬲 亘丕夭蹖丕亘蹖 乇丕 亘賴亘賵丿 賲蹖鈥屫ㄘ簇�. 卮賲丕 賲蹖鈥屫堌з嗃屫� 賲鬲丕丿蹖鬲丕 乇丕 亘乇丕蹖 丕蹖賳 爻賳丿 丿乇 丕蹖賳噩丕 賵蹖乇丕蹖卮 賵 丕囟丕賮賴 讴賳蹖丿.',
-    },
-    addMetadata: '賲鬲丕丿蹖鬲丕 丕囟丕賮賴 讴賳蹖丿',
-    chooseTime: '夭賲丕賳蹖 乇丕 丕賳鬲禺丕亘 讴賳蹖丿...',
-    metadata: '賲鬲丕丿蹖鬲丕',
-  },
-  embeddingModelNotAvailable: '賲丿賱 噩丕爻丕夭蹖 丿乇 丿爻鬲乇爻 賳蹖爻鬲.',
 }
 
 export default translation
diff --git a/i18n/fa-IR/explore.ts b/i18n/fa-IR/explore.ts
index b2c6708..f127e5c 100644
--- a/i18n/fa-IR/explore.ts
+++ b/i18n/fa-IR/explore.ts
@@ -37,7 +37,6 @@
     HR: '賲賳丕亘毓 丕賳爻丕賳蹖',
     Agent: '毓丕賲賱',
     Workflow: '诏乇丿卮',
-    Entertainment: '爻乇诏乇賲蹖',
   },
 }
 
diff --git a/i18n/fa-IR/run-log.ts b/i18n/fa-IR/run-log.ts
index e84450e..4423d45 100644
--- a/i18n/fa-IR/run-log.ts
+++ b/i18n/fa-IR/run-log.ts
@@ -24,8 +24,6 @@
     link: '倬賳賱 噩夭卅蹖丕鬲',
     tipRight: ' 亘乇賵蹖丿 賵 丌賳 乇丕 賲卮丕賴丿賴 讴賳蹖丿.',
   },
-  actionLogs: '诏夭丕乇卮 賴丕蹖 丕讴卮賳',
-  circularInvocationTip: '賮乇丕禺賵丕賳蹖 丿丕蹖乇賴 丕蹖 丕亘夭丕乇賴丕/诏乇賴 賴丕 丿乇 诏乇丿卮 讴丕乇 賮毓賱蹖 賵噩賵丿 丿丕乇丿.',
 }
 
 export default translation
diff --git a/i18n/fa-IR/share-app.ts b/i18n/fa-IR/share-app.ts
index bf1c0de..f3f1360 100644
--- a/i18n/fa-IR/share-app.ts
+++ b/i18n/fa-IR/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: '爻毓蹖 讴賳蹖丿 丨賱 讴賳蹖丿',
     temporarySystemIssue: '亘亘禺卮蹖丿貙 賲卮讴賱 賲賵賯鬲 爻蹖爻鬲賲蹖.',
-    expand: '亘丕夭 讴乇丿賳',
-    collapse: '亘爻鬲賳',
-    newChatTip: '賯亘賱丕賸 丿乇 蹖讴 趩鬲 噩丿蹖丿',
-    viewChatSettings: '鬲賳馗蹖賲丕鬲 趩鬲 乇丕 賲卮丕賴丿賴 讴賳蹖丿',
-    chatFormTip: '鬲賳馗蹖賲丕鬲 趩鬲 倬爻 丕夭 卮乇賵毓 趩鬲 賯丕亘賱 鬲睾蹖蹖乇 賳蹖爻鬲賳丿.',
-    chatSettingsTitle: '乇丕賴鈥屫з嗀ж槽� 趩鬲 噩丿蹖丿',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: '乇丿蹖賮 {{rowIndex}}: 賲賯丿丕乇 {{varName}} 賳賲蹖鈥屫堌з嗀� 亘蹖卮鬲乇 丕夭 {{maxLength}} 讴丕乇丕讴鬲乇 亘丕卮丿',
       atLeastOne: '賱胤賮丕賸 丨丿丕賯賱 蹖讴 乇丿蹖賮 丿乇 賮丕蹖賱 亘丕乇诏匕丕乇蹖 卮丿賴 賵丕乇丿 讴賳蹖丿.',
     },
-    executions: '{{num}} 丕毓丿丕賲',
-    execution: '丕噩乇丕',
   },
 }
 
diff --git a/i18n/fa-IR/tools.ts b/i18n/fa-IR/tools.ts
index dc6146d..60a89d0 100644
--- a/i18n/fa-IR/tools.ts
+++ b/i18n/fa-IR/tools.ts
@@ -133,7 +133,6 @@
     number: '毓丿丿',
     required: '丕賱夭丕賲蹖',
     infoAndSetting: '丕胤賱丕毓丕鬲 賵 鬲賳馗蹖賲丕鬲',
-    file: '賮丕蹖賱',
   },
   noCustomTool: {
     title: '丕亘夭丕乇 爻賮丕乇卮蹖 賵噩賵丿 賳丿丕乇丿!',
@@ -151,8 +150,6 @@
   howToGet: '趩诏賵賳賴 丿乇蹖丕賮鬲 讴賳蹖丿',
   openInStudio: '亘丕夭 讴乇丿賳 丿乇 丕爻鬲賵丿蹖賵',
   toolNameUsageTip: '賳丕賲 賮乇丕禺賵丕賳蹖 丕亘夭丕乇 亘乇丕蹖 丕爻鬲丿賱丕賱 賵 倬乇丕賲倬鬲鈥屬囏й� 毓丕賲賱',
-  copyToolName: '讴倬蹖 賳丕賲',
-  noTools: '賴蹖趩 丕亘夭丕乇蹖 蹖丕賮鬲 賳卮丿',
 }
 
 export default translation
diff --git a/i18n/fa-IR/workflow.ts b/i18n/fa-IR/workflow.ts
index 6b887b1..2e27624 100644
--- a/i18n/fa-IR/workflow.ts
+++ b/i18n/fa-IR/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: '丕賮夭賵丿賳 亘乇賳趩 Fail',
     noHistory: '亘丿賵賳 鬲丕乇蹖禺趩賴',
     loadMore: '亘丕乇诏匕丕乇蹖 诏乇丿卮 讴丕乇 亘蹖卮鬲乇',
-    exportPNG: '氐丕丿乇丕鬲 亘賴 賮乇賲鬲 PNG',
-    noExist: '賴蹖趩诏賵賳賴 賲鬲睾蹖乇蹖 賵噩賵丿 賳丿丕乇丿',
-    exitVersions: '賳爻禺賴鈥屬囏й� 禺乇賵噩蹖',
-    referenceVar: '賲鬲睾蹖乇 賲乇噩毓',
-    exportSVG: '氐丕丿乇丕鬲 亘賴 賮乇賲鬲 SVG',
-    exportJPEG: '氐丕丿乇丕鬲 亘賴 賮乇賲鬲 JPEG',
-    exportImage: '鬲氐賵蹖乇 乇丕 氐丕丿乇 讴賳蹖丿',
-    versionHistory: '鬲丕乇蹖禺趩賴 賳爻禺賴',
-    publishUpdate: '亘賴鈥屫辟堌藏必池з嗃� 賲賳鬲卮乇 讴賳蹖丿',
   },
   env: {
     envPanelTitle: '賲鬲睾蹖乇賴丕蹖 賲丨蹖胤蹖',
@@ -204,8 +195,6 @@
     },
     invalidVariable: '賲鬲睾蹖乇 賳丕賲毓鬲亘乇',
     rerankModelRequired: '賯亘賱 丕夭 乇賵卮賳 讴乇丿賳 Rerank Model貙 賱胤賮丕 鬲兀蹖蹖丿 讴賳蹖丿 讴賴 賲丿賱 亘丕 賲賵賮賯蹖鬲 丿乇 鬲賳馗蹖賲丕鬲 倬蹖讴乇亘賳丿蹖 卮丿賴 丕爻鬲.',
-    noValidTool: '{{field}} 賴蹖趩 丕亘夭丕乇 賲毓鬲亘乇蹖 丕賳鬲禺丕亘 賳卮丿賴 丕爻鬲',
-    toolParameterRequired: '{{field}}: 倬丕乇丕賲鬲乇 [{{param}}] 賲賵乇丿 賳蹖丕夭 丕爻鬲',
   },
   singleRun: {
     testRun: '丕噩乇丕蹖 丌夭賲丕蹖卮蹖',
@@ -214,7 +203,6 @@
     testRunIteration: '鬲讴乇丕乇 丕噩乇丕蹖 丌夭賲丕蹖卮蹖',
     back: '亘丕夭诏卮鬲',
     iteration: '鬲讴乇丕乇',
-    loop: '丨賱賯賴',
   },
   tabs: {
     'searchBlock': '噩爻鬲噩賵蹖 亘賱賵讴',
@@ -230,8 +218,6 @@
     'utilities': '丕亘夭丕乇賴丕蹖 讴丕乇亘乇丿蹖',
     'noResult': '賳鬲蹖噩賴鈥屫й� 倬蹖丿丕 賳卮丿',
     'searchTool': '丕亘夭丕乇 噩爻鬲噩賵',
-    'plugin': '丕賮夭賵賳賴',
-    'agent': '丕爻鬲乇丕鬲跇蹖 賳賲丕蹖賳丿诏蹖',
   },
   blocks: {
     'start': '卮乇賵毓',
@@ -252,10 +238,6 @@
     'parameter-extractor': '丕爻鬲禺乇丕噩鈥屭┵嗁嗀� 倬丕乇丕賲鬲乇',
     'list-operator': '毓賲賱诏乇 賱蹖爻鬲',
     'document-extractor': '丕爻鬲禺乇丕噩 讴賳賳丿賴 爻賳丿',
-    'agent': '毓丕賲賱',
-    'loop-start': '卮乇賵毓 丨賱賯賴',
-    'loop-end': '禺乇賵噩 丕夭 丨賱賯賴',
-    'loop': '丨賱賯賴',
   },
   blocksAbout: {
     'start': '倬丕乇丕賲鬲乇賴丕蹖 丕賵賱蹖賴 亘乇丕蹖 乇丕賴鈥屫з嗀ж槽� 噩乇蹖丕賳 讴丕乇 乇丕 鬲毓乇蹖賮 讴賳蹖丿',
@@ -275,9 +257,6 @@
     'parameter-extractor': '丕爻鬲賮丕丿賴 丕夭 賲丿賱 夭亘丕賳 亘夭乇诏 亘乇丕蹖 丕爻鬲禺乇丕噩 倬丕乇丕賲鬲乇賴丕蹖 爻丕禺鬲丕乇蹖 丕夭 夭亘丕賳 胤亘蹖毓蹖 亘乇丕蹖 賮乇丕禺賵丕賳蹖 丕亘夭丕乇賴丕 蹖丕 丿乇禺賵丕爻鬲鈥屬囏й� HTTP.',
     'list-operator': '亘乇丕蹖 賮蹖賱鬲乇 讴乇丿賳 蹖丕 賲乇鬲亘 爻丕夭蹖 賲丨鬲賵丕蹖 丌乇丕蹖賴 丕爻鬲賮丕丿賴 賲蹖 卮賵丿.',
     'document-extractor': '亘乇丕蹖 鬲噩夭蹖賴 丕爻賳丕丿 丌倬賱賵丿 卮丿賴 亘賴 賲丨鬲賵丕蹖 賲鬲賳蹖 丕爻鬲賮丕丿賴 賲蹖 卮賵丿 讴賴 亘賴 乇丕丨鬲蹖 鬲賵爻胤 LLM 賯丕亘賱 丿乇讴 丕爻鬲.',
-    'agent': '賮乇丕禺賵丕賳蹖 賲丿賱 賴丕蹖 夭亘丕賳 亘夭乇诏 亘乇丕蹖 倬丕爻禺 亘賴 爻賵丕賱丕鬲 蹖丕 倬乇丿丕夭卮 夭亘丕賳 胤亘蹖毓蹖',
-    'loop-end': '賲毓丕丿賱 "卮讴爻鬲賳". 丕蹖賳 诏乇賴 賴蹖趩 賲賵乇丿 倬蹖讴乇亘賳丿蹖 賳丿丕乇丿. 賴賳诏丕賲蹖 讴賴 亘丿賳賴 丨賱賯賴 亘賴 丕蹖賳 诏乇賴 賲蹖鈥屫必池� 丨賱賯賴 賲鬲賵賯賮 賲蹖鈥屫促堌�.',
-    'loop': '蹖讴 丨賱賯賴 賲賳胤賯蹖 乇丕 丕噩乇丕 讴賳蹖丿 鬲丕 夭賲丕賳蹖 讴賴 卮乇丕蹖胤 禺丕鬲賲賴 亘乇丌賵乇丿賴 卮賵丿 蹖丕 丨丿丕讴孬乇 鬲毓丿丕丿 丨賱賯賴 亘賴 倬丕蹖丕賳 亘乇爻丿.',
   },
   operator: {
     zoomIn: '亘夭乇诏鈥屬嗁呚й屰�',
@@ -419,34 +398,6 @@
         variable: '賲鬲睾蹖乇',
       },
       sysQueryInUser: 'sys.query 丿乇 倬蹖丕賲 讴丕乇亘乇 囟乇賵乇蹖 丕爻鬲',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '賱胤賮丕賸 賯亘賱 丕夭 匕禺蹖乇賴鈥屫池ж槽� 胤乇丨貙 賵蹖乇丕蹖卮 賮蹖賱丿 賮毓賱蹖 乇丕 讴丕賲賱 讴賳蹖丿.',
-        },
-        import: '賵丕乇丿丕鬲 丕夭 JSON',
-        addField: '賮蹖賱丿 丕囟丕賮賴 讴賳蹖丿',
-        required: '囟乇賵乇蹖',
-        generatedResult: '賳鬲蹖噩賴 鬲賵賱蹖丿 卮丿賴',
-        generate: '鬲賵賱蹖丿 讴賳蹖丿',
-        doc: '亘蹖卮鬲乇 丿乇亘丕乇賴 禺乇賵噩蹖 爻丕禺鬲丕乇 蹖丕賮鬲賴 亘蹖丕賲賵夭蹖丿',
-        generating: '鬲賵賱蹖丿 胤乇丨鈥屬堌ж辟� JSON...',
-        instruction: '丿爻鬲賵乇丕賱毓賲賱',
-        back: '毓賯亘',
-        resetDefaults: '鬲賳馗蹖賲 賲噩丿丿',
-        showAdvancedOptions: '賳賲丕蹖卮 诏夭蹖賳賴鈥屬囏й� 倬蹖卮乇賮鬲賴',
-        regenerate: '鬲賵賱蹖丿 賲噩丿丿',
-        apply: '丕毓賲丕賱 讴賳蹖丿',
-        title: '丕賱诏賵蹖 禺乇賵噩蹖 爻丕禺鬲丕乇蹖',
-        promptTooltip: '鬲亘丿蹖賱 鬲賵氐蹖賮 賲鬲賳蹖 亘賴 蹖讴 爻丕禺鬲丕乇 丕爻鬲丕賳丿丕乇丿 卮丿賴 JSON Schema.',
-        stringValidations: '丕毓鬲亘丕乇爻賳噩蹖 乇卮鬲賴',
-        resultTip: '丕蹖賳 賳鬲蹖噩賴 鬲賵賱蹖丿 卮丿賴 丕爻鬲. 丕诏乇 乇丕囟蹖 賳蹖爻鬲蹖丿貙 賲蹖鈥屫堌з嗃屫� 亘賴 毓賯亘 亘乇诏乇丿蹖丿 賵 丿乇禺賵丕爻鬲 禺賵丿 乇丕 賵蹖乇丕蹖卮 讴賳蹖丿.',
-        descriptionPlaceholder: '鬲賵囟蹖丨丕鬲 乇丕 丕囟丕賮賴 讴賳蹖丿',
-        addChildField: '丕賮夭賵丿賳 賮蹖賱丿 賮乇夭賳丿',
-        generateJsonSchema: '丕蹖噩丕丿 丕爻讴蹖賲丕 JSON',
-        promptPlaceholder: '丕爻讴蹖賲丕蹖 JSON 禺賵丿 乇丕 鬲賵氐蹖賮 讴賳蹖丿...',
-        fieldNamePlaceholder: '賳丕賲 賲蹖丿丕賳',
-        generationTip: '卮賲丕 賲蹖鈥屫堌з嗃屫� 丕夭 夭亘丕賳 胤亘蹖毓蹖 亘乇丕蹖 丕蹖噩丕丿 爻乇蹖毓 蹖讴 胤乇丨鈥屬堌ж辟� JSON 丕爻鬲賮丕丿賴 讴賳蹖丿.',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '賲鬲睾蹖乇 噩爻鬲噩賵',
@@ -458,33 +409,6 @@
         icon: '丌蹖讴賵賳 鬲賯爻蹖賲鈥屫ㄙ嗀� 卮丿賴',
         url: 'URL 鬲賯爻蹖賲鈥屫ㄙ嗀� 卮丿賴',
         metadata: '爻丕蹖乇 賲鬲丕丿丕丿賴鈥屬囏�',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: '賲鬲毓丕丿賱',
-            subTitle: '毓丿賲 賮毓丕賱鈥屫池ж槽� 賮蹖賱鬲乇賴丕蹖 賲鬲丕丿丕丿賴',
-          },
-          automatic: {
-            title: '禺賵丿讴丕乇',
-            desc: '卮乇丕蹖胤 賮蹖賱鬲乇 賲鬲丕丿丕丿賴 乇丕 亘乇 丕爻丕爻 賲鬲睾蹖乇 噩爻鬲噩賵 亘賴 氐賵乇鬲 禺賵丿讴丕乇 鬲賵賱蹖丿 讴賳蹖丿',
-            subTitle: '卮乇丕蹖胤 賮蹖賱鬲乇 賲鬲丕丿蹖鬲丕 乇丕 亘賴 胤賵乇 禺賵丿讴丕乇 亘乇 丕爻丕爻 倬乇爻卮 讴丕乇亘乇 鬲賵賱蹖丿 讴賳蹖丿',
-          },
-          manual: {
-            subTitle: '亘賴鈥屫蒂堌必� 丿爻鬲蹖 卮乇丕蹖胤 賮蹖賱鬲乇 讴乇丿賳 賲鬲丕丿蹖鬲丕 乇丕 丕囟丕賮賴 讴賳蹖丿',
-            title: '丿爻鬲賵乇蹖',
-          },
-        },
-        panel: {
-          add: '卮乇胤 丕囟丕賮賴 讴賳蹖丿',
-          placeholder: '賲賯丿丕乇 乇丕 賵丕乇丿 讴賳蹖丿',
-          datePlaceholder: '夭賲丕賳蹖 乇丕 丕賳鬲禺丕亘 讴賳蹖丿...',
-          search: '噩爻鬲噩賵蹖 賲鬲丕 丿丕丿賴',
-          select: '賲鬲睾蹖乇 乇丕 丕賳鬲禺丕亘 讴賳蹖丿...',
-          title: '卮乇丕蹖胤 賮蹖賱鬲乇 賲鬲丕丿蹖鬲丕',
-          conditions: '卮乇丕蹖胤',
-        },
-        title: '賮蹖賱鬲乇 讴乇丿賳 賮乇丕丿丕丿賴',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'all of': '賴賲賴 丕夭',
         'not in': '賳賴 丿乇',
         'exists': '賲賵噩賵丿',
-        'after': '亘毓丿 丕夭',
-        'before': '賯亘賱 丕夭',
       },
       enterValue: '賲賯丿丕乇 乇丕 賵丕乇丿 讴賳蹖丿',
       addCondition: '丕賮夭賵丿賳 卮乇胤',
@@ -592,7 +514,6 @@
       },
       select: '丕賳鬲禺丕亘',
       addSubVariable: '賲鬲睾蹖乇 賮乇毓蹖',
-      condition: '卮乇胤',
     },
     variableAssigner: {
       title: '鬲禺氐蹖氐 賲鬲睾蹖乇賴丕',
@@ -635,8 +556,6 @@
         '-=': '-=',
         'append': '丕賱丨丕賯',
         '/=': '/=',
-        'remove-first': '丨匕賮 丕賵賱',
-        'remove-last': '丌禺乇蹖賳 乇丕 丨匕賮 讴賳蹖丿',
       },
       'noVarTip': '亘乇丕蹖 丕賮夭賵丿賳 賲鬲睾蹖乇賴丕 乇賵蹖 丿讴賲賴 "+" 讴賱蹖讴 讴賳蹖丿',
       'selectAssignedVariable': '賲鬲睾蹖乇 丕禺鬲氐丕氐 丿丕丿賴 卮丿賴 乇丕 丕賳鬲禺丕亘 讴賳蹖丿...',
@@ -772,107 +691,6 @@
       asc: '氐毓賵丿蹖',
       extractsCondition: '賲賵乇丿 N 乇丕 丕爻鬲禺乇丕噩 讴賳蹖丿',
     },
-    agent: {
-      strategy: {
-        searchPlaceholder: '噩爻鬲 賵噩賵 丿乇 丕爻鬲乇丕鬲跇蹖 賴丕蹖 毓丕賲賱蹖',
-        tooltip: '丕爻鬲乇丕鬲跇蹖 賴丕蹖 賲禺鬲賱賮 毓丕賲賱 鬲毓蹖蹖賳 賲蹖 讴賳賳丿 讴賴 爻蹖爻鬲賲 趩诏賵賳賴 賮乇丕禺賵丕賳蹖 賴丕蹖 丕亘夭丕乇 趩賳丿 賲乇丨賱賴 丕蹖 乇丕 亘乇賳丕賲賴 乇蹖夭蹖 賵 丕噩乇丕 賲蹖 讴賳丿.',
-        label: '丕爻鬲乇丕鬲跇蹖 毓丕賲賱',
-        configureTip: '賱胤賮丕 丕爻鬲乇丕鬲跇蹖 毓丕賲賱 乇丕 倬蹖讴乇亘賳丿蹖 讴賳蹖丿.',
-        selectTip: '丕爻鬲乇丕鬲跇蹖 毓丕賲賱 乇丕 丕賳鬲禺丕亘 讴賳蹖丿',
-        configureTipDesc: '倬爻 丕夭 倬蹖讴乇亘賳丿蹖 丕爻鬲乇丕鬲跇蹖 毓丕賲賱貙 丕蹖賳 诏乇賴 亘賴 胤賵乇 禺賵丿讴丕乇 倬蹖讴乇亘賳丿蹖 賴丕蹖 亘丕賯蹖賲丕賳丿賴 乇丕 亘丕乇诏蹖乇蹖 賲蹖 讴賳丿. 丕蹖賳 丕爻鬲乇丕鬲跇蹖 亘乇 賲讴丕賳蹖爻賲 丕爻鬲丿賱丕賱 丕亘夭丕乇 趩賳丿 賲乇丨賱賴 丕蹖 鬲兀孬蹖乇 禺賵丕賴丿 诏匕丕卮鬲.',
-        shortLabel: '丕爻鬲乇丕鬲跇蹖',
-      },
-      pluginInstaller: {
-        installing: '賳氐亘',
-        install: '賳氐亘',
-      },
-      modelNotInMarketplace: {
-        manageInPlugins: '賲丿蹖乇蹖鬲 丿乇 倬賱丕诏蹖賳 賴丕',
-        title: '賲丿賱 賳氐亘 賳卮丿賴 丕爻鬲',
-        desc: '丕蹖賳 賲丿賱 丕夭 賲禺夭賳 Local 蹖丕 GitHub 賳氐亘 卮丿賴 丕爻鬲. 賱胤賮丕 倬爻 丕夭 賳氐亘 丕爻鬲賮丕丿賴 讴賳蹖丿.',
-      },
-      modelNotSupport: {
-        desc: '賳爻禺賴 丕賮夭賵賳賴 賳氐亘 卮丿賴 丕蹖賳 賲丿賱 乇丕 丕乇丕卅賴 賳賲蹖 丿賴丿.',
-        title: '賲丿賱 倬卮鬲蹖亘丕賳蹖 賳卮丿賴',
-        descForVersionSwitch: '賳爻禺賴 丕賮夭賵賳賴 賳氐亘 卮丿賴 丕蹖賳 賲丿賱 乇丕 丕乇丕卅賴 賳賲蹖 丿賴丿. 亘乇丕蹖 鬲睾蹖蹖乇 賳爻禺賴 讴賱蹖讴 讴賳蹖丿.',
-      },
-      modelSelectorTooltips: {
-        deprecated: '丕蹖賳 賲丿賱 賲賳爻賵禺 卮丿賴 丕爻鬲',
-      },
-      outputVars: {
-        files: {
-          transfer_method: '乇賵卮 丕賳鬲賯丕賱. 丕乇夭卮 remote_url 蹖丕 local_file',
-          upload_file_id: '卮賳丕爻賴 賮丕蹖賱 乇丕 丌倬賱賵丿 讴賳蹖丿',
-          title: '賮丕蹖賱 賴丕蹖 鬲賵賱蹖丿 卮丿賴 鬲賵爻胤 毓丕賲賱',
-          url: '丌丿乇爻 丕蹖賳鬲乇賳鬲蹖 鬲氐賵蹖乇',
-          type: '賳賵毓 倬卮鬲蹖亘丕賳蹖. 丕讴賳賵賳 賮賯胤 丕夭 鬲氐賵蹖乇 倬卮鬲蹖亘丕賳蹖 賲蹖 讴賳丿',
-        },
-        text: '賲丨鬲賵丕蹖 鬲賵賱蹖丿 卮丿賴 鬲賵爻胤 毓丕賲賱',
-        json: '毓丕賲賱 JSON 乇丕 鬲賵賱蹖丿 讴乇丿',
-      },
-      checkList: {
-        strategyNotSelected: '丕爻鬲乇丕鬲跇蹖 丕賳鬲禺丕亘 賳卮丿賴 丕爻鬲',
-      },
-      installPlugin: {
-        changelog: '诏夭丕乇卮 鬲睾蹖蹖乇',
-        install: '賳氐亘',
-        cancel: '賱睾賵',
-        title: '丕賮夭賵賳賴 乇丕 賳氐亘 讴賳蹖丿',
-        desc: '丿乇 賲賵乇丿 賳氐亘 丕賮夭賵賳賴 夭蹖乇',
-      },
-      pluginNotFoundDesc: '丕蹖賳 倬賱丕诏蹖賳 丕夭 GitHub 賳氐亘 卮丿賴 丕爻鬲. 賱胤賮丕 亘乇丕蹖 賳氐亘 賲噩丿丿 亘賴 倬賱丕诏蹖賳 賴丕 亘乇賵蹖丿',
-      linkToPlugin: '倬蹖賵賳丿 亘賴 倬賱丕诏蹖賳 賴丕',
-      toolbox: '噩毓亘賴 丕亘夭丕乇',
-      maxIterations: '丨丿丕讴孬乇 鬲讴乇丕乇賴丕',
-      strategyNotSet: '丕爻鬲乇丕鬲跇蹖 毓丕賲賱 鬲賳馗蹖賲 賳卮丿賴 丕爻鬲',
-      strategyNotInstallTooltip: '{{strategy}} 賳氐亘 賳卮丿賴 丕爻鬲',
-      modelNotSelected: '賲丿賱 丕賳鬲禺丕亘 賳卮丿賴 丕爻鬲',
-      toolNotInstallTooltip: '{{丕亘夭丕乇}} 賳氐亘 賳卮丿賴 丕爻鬲',
-      tools: '丕亘夭丕乇',
-      learnMore: '亘蹖卮鬲乇 亘丿丕賳蹖丿',
-      pluginNotInstalledDesc: '丕蹖賳 倬賱丕诏蹖賳 丕夭 GitHub 賳氐亘 卮丿賴 丕爻鬲. 賱胤賮丕 亘乇丕蹖 賳氐亘 賲噩丿丿 亘賴 倬賱丕诏蹖賳 賴丕 亘乇賵蹖丿',
-      unsupportedStrategy: '丕爻鬲乇丕鬲跇蹖 倬卮鬲蹖亘丕賳蹖 賳卮丿賴',
-      modelNotInstallTooltip: '丕蹖賳 賲丿賱 賳氐亘 賳卮丿賴 丕爻鬲',
-      notAuthorized: '賲噩丕夭 賳蹖爻鬲',
-      toolNotAuthorizedTooltip: '{{丕亘夭丕乇}} 賲噩丕夭 賳蹖爻鬲',
-      configureModel: '倬蹖讴乇亘賳丿蹖 賲丿賱',
-      pluginNotInstalled: '丕蹖賳 丕賮夭賵賳賴 賳氐亘 賳卮丿賴 丕爻鬲',
-      strategyNotFoundDesc: '賳爻禺賴 丕賮夭賵賳賴 賳氐亘 卮丿賴 丕蹖賳 丕爻鬲乇丕鬲跇蹖 乇丕 丕乇丕卅賴 賳賲蹖 丿賴丿.',
-      strategyNotFoundDescAndSwitchVersion: '賳爻禺賴 丕賮夭賵賳賴 賳氐亘 卮丿賴 丕蹖賳 丕爻鬲乇丕鬲跇蹖 乇丕 丕乇丕卅賴 賳賲蹖 丿賴丿. 亘乇丕蹖 鬲睾蹖蹖乇 賳爻禺賴 讴賱蹖讴 讴賳蹖丿.',
-      model: '賲丿賱',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: '禺乇賵噩蹖 睾蹖乇毓丕丿蹖 乇丕 丨匕賮 讴賳蹖丿',
-        operationTerminated: '賲賳丨賱 卮丿',
-        continueOnError: '丕丿丕賲賴 丿乇 氐賵乇鬲 亘乇賵夭 禺胤丕',
-      },
-      variableName: '賳丕賲 賲鬲睾蹖乇',
-      error_other: '{{count}} 禺胤丕',
-      loopNode: '诏乇賴 丨賱賯賴',
-      exitConditionTip: '蹖讴 诏乇賴 丨賱賯賴 亘賴 丨丿丕賯賱 蹖讴 卮乇胤 禺乇賵噩 賳蹖丕夭 丿丕乇丿.',
-      inputMode: '丨丕賱鬲 賵乇賵丿蹖',
-      loop_other: '{{count}} 丨賱賯賴',
-      error_one: '{{count}} 禺胤丕',
-      comma: ',',
-      loopVariables: '賲鬲睾蹖乇賴丕蹖 丨賱賯賴',
-      setLoopVariables: '賲鬲睾蹖乇賴丕 乇丕 丿乇 賲丨丿賵丿賴 丨賱賯賴 鬲賳馗蹖賲 讴賳蹖丿',
-      loop_one: '{{count}} 丨賱賯賴',
-      deleteTitle: '丨匕賮 诏乇賴 丨賱賯賴責',
-      input: '賵乇賵丿蹖',
-      finalLoopVariables: '賲鬲睾蹖乇賴丕蹖 賳賴丕蹖蹖 丨賱賯賴',
-      output: '賲鬲睾蹖乇 禺乇賵噩蹖',
-      totalLoopCount: '鬲毓丿丕丿 讴賱 丨賱賯賴: {{count}}',
-      currentLoop: '丨賱賯賴 噩丕乇蹖',
-      initialLoopVariables: '賲鬲睾蹖乇賴丕蹖 丨賱賯賴 丕賵賱蹖賴',
-      errorResponseMethod: '乇賵卮 倬丕爻禺 禺胤丕',
-      loopMaxCountError: '賱胤賮丕賸 蹖讴 鬲毓丿丕丿 丨丿丕讴孬乇 丨賱賯賴 賲毓鬲亘乇 賵丕乇丿 讴賳蹖丿 讴賴 丿乇 亘丕夭賴鈥屰� 郾 鬲丕 {{maxCount}} 亘丕卮丿.',
-      deleteDesc: '丨匕賮 賳賵丿 丨賱賯賴 賴賲賴 賳賵丿賴丕蹖 賮乇夭賳丿 乇丕 丨匕賮 禺賵丕賴丿 讴乇丿',
-      loopMaxCount: '丨丿丕讴孬乇 鬲毓丿丕丿 丨賱賯賴',
-      currentLoopCount: '鬲毓丿丕丿 丨賱賯賴鈥屬囏й� 賮毓賱蹖: {{count}}',
-      breakCondition: '卮乇胤 禺丕鬲賲賴 丨賱賯賴',
-      breakConditionTip: '賮賯胤 賲鬲睾蹖乇賴丕蹖 丿丕禺賱 丨賱賯賴鈥屬囏� 亘丕 卮乇丕蹖胤 禺丕鬲賲賴 賵 賲鬲睾蹖乇賴丕蹖 诏賮鬲诏賵 賲蹖鈥屫堌з嗁嗀� 賲賵乇丿 丕乇噩丕毓 賯乇丕乇 诏蹖乇賳丿.',
-    },
   },
   tracing: {
     stopBy: '賲鬲賵賯賮 卮丿賴 鬲賵爻胤 {{user}}',
@@ -883,38 +701,6 @@
     noVarsForOperation: '賴蹖趩 賲鬲睾蹖乇蹖 亘乇丕蹖 鬲禺氐蹖氐 亘丕 毓賲賱蹖丕鬲 丕賳鬲禺丕亘 卮丿賴 丿乇 丿爻鬲乇爻 賳蹖爻鬲.',
     assignedVarsDescription: '賲鬲睾蹖乇賴丕蹖 丕禺鬲氐丕氐 丿丕丿賴 卮丿賴 亘丕蹖丿 賲鬲睾蹖乇賴丕蹖 賯丕亘賱 賳賵卮鬲賳 亘丕卮賳丿貙 賲丕賳賳丿',
     noAssignedVars: '賴蹖趩 賲鬲睾蹖乇 丕禺鬲氐丕氐 丿丕丿賴 卮丿賴 丿乇 丿爻鬲乇爻 賳蹖爻鬲',
-  },
-  versionHistory: {
-    filter: {
-      reset: '亘丕夭賳卮丕賳蹖 賮蹖賱鬲乇',
-      onlyYours: '賮賯胤 賲丕賱 卮賲丕爻鬲',
-      onlyShowNamedVersions: '賮賯胤 賳爻禺賴鈥屬囏й� 賳丕賲鈥屭柏ж臂� 卮丿賴 乇丕 賳賲丕蹖卮 亘丿賴蹖丿',
-      all: '賴賲賴',
-      empty: '賴蹖趩 鬲丕乇蹖禺趩賴 賳爻禺賴鈥屫й� 賲胤丕亘賯 倬蹖丿丕 賳卮丿',
-    },
-    editField: {
-      title: '毓賳賵丕賳',
-      releaseNotes: '蹖丕丿丿丕卮鬲鈥屬囏й� 賳爻禺賴',
-      titleLengthLimit: '毓賳賵丕賳 賳賲蹖鈥屫堌з嗀� 丕夭 {{limit}} 讴丕乇丕讴鬲乇 亘蹖卮鬲乇 卮賵丿',
-      releaseNotesLengthLimit: '蹖丕丿丿丕卮鬲鈥屬囏й� 丕賳鬲卮丕乇 賳賲蹖鈥屫堌з嗁嗀� 丕夭 {{limit}} 讴丕乇丕讴鬲乇 鬲噩丕賵夭 讴賳賳丿',
-    },
-    action: {
-      updateSuccess: '賳爻禺賴 亘賴鈥屫辟堌藏必池з嗃� 卮丿',
-      deleteSuccess: '賳爻禺賴 丨匕賮 卮丿',
-      restoreSuccess: '賳爻禺賴 亘丕夭诏乇丿丕賳蹖 卮丿賴',
-      deleteFailure: '丨匕賮 賳爻禺賴 賲賵賮賯 賳亘賵丿',
-      restoreFailure: '亘丕夭诏乇丿丕賳丿賳 賳爻禺賴 賳丕賲賵賮賯 亘賵丿',
-      updateFailure: '亘賴鈥屫辟堌藏必池з嗃� 賳爻禺賴 賳丕賲賵賮賯 亘賵丿',
-    },
-    latest: '丌禺乇蹖賳',
-    editVersionInfo: '賵蹖乇丕蹖卮 丕胤賱丕毓丕鬲 賳爻禺賴',
-    nameThisVersion: '丕蹖賳 賳爻禺賴 乇丕 賳丕賲诏匕丕乇蹖 讴賳蹖丿',
-    currentDraft: '倬蹖卮 賳賵蹖爻 賮毓賱蹖',
-    defaultName: '賳爻禺賴 亘丿賵賳 毓賳賵丕賳',
-    title: '賳爻禺賴鈥屬囏�',
-    releaseNotesPlaceholder: '卮乇丨 丿賴蹖丿 趩賴 趩蹖夭蹖 鬲睾蹖蹖乇 讴乇丿賴 丕爻鬲',
-    restorationTip: '倬爻 丕夭 亘丕夭蹖丕亘蹖 賳爻禺賴貙 倬蹖卮鈥屬嗁堐屫� 賮毓賱蹖 亘丕夭賳賵蹖爻蹖 禺賵丕賴丿 卮丿.',
-    deletionTip: '丨匕賮 睾蹖乇賯丕亘賱 亘乇诏卮鬲 丕爻鬲貙 賱胤賮丕 鬲兀蹖蹖丿 讴賳蹖丿.',
   },
 }
 
diff --git a/i18n/fr-FR/app-overview.ts b/i18n/fr-FR/app-overview.ts
index 43cbdf4..dfc8737 100644
--- a/i18n/fr-FR/app-overview.ts
+++ b/i18n/fr-FR/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'D茅finir le th猫me de couleur du chatbot',
         chatColorThemeInverted: 'Invers茅',
         invalidHexMessage: 'Valeur hexad茅cimale invalide',
-        invalidPrivacyPolicy: 'Lien de politique de confidentialit茅 invalide. Veuillez utiliser un lien valide commen莽ant par http ou https',
         more: {
           entry: 'Afficher plus de param猫tres',
           copyright: 'Droits d\'auteur',
@@ -113,7 +112,6 @@
           operation: 'Documentation',
         },
       },
-      launch: 'Lancer',
     },
     apiInfo: {
       title: 'API de service Backend',
diff --git a/i18n/fr-FR/app.ts b/i18n/fr-FR/app.ts
index 16353d9..bdafc94 100644
--- a/i18n/fr-FR/app.ts
+++ b/i18n/fr-FR/app.ts
@@ -159,10 +159,6 @@
       description: 'Opik est une plate-forme open-source pour l鈥櫭﹙aluation, le test et la surveillance des applications LLM.',
       title: 'Opik',
     },
-    weave: {
-      title: 'Tisser',
-      description: 'Weave est une plateforme open-source pour 茅valuer, tester et surveiller les applications LLM.',
-    },
   },
   answerIcon: {
     description: 'S鈥檌l faut utiliser l鈥檌c么ne WebApp pour remplacer 馃 dans l鈥檃pplication partag茅e',
@@ -192,22 +188,6 @@
     searchAllTemplate: 'Rechercher dans tous les mod猫les...',
   },
   showMyCreatedAppsOnly: 'Afficher uniquement mes applications cr茅茅es',
-  appSelector: {
-    noParams: 'Aucun param猫tre n茅cessaire',
-    params: 'PARAM脠TRES DE L鈥橝PPLICATION',
-    label: 'APPLI',
-    placeholder: 'S茅lectionnez une application...',
-  },
-  structOutput: {
-    LLMResponse: 'R茅ponse LLM',
-    notConfiguredTip: 'La sortie structur茅e n\'a pas encore 茅t茅 configur茅e.',
-    required: 'Obligatoire',
-    structuredTip: 'Les sorties structur茅es sont une fonctionnalit茅 qui garantit que le mod猫le g茅n茅rera toujours des r茅ponses qui respectent votre sch茅ma JSON fourni.',
-    modelNotSupportedTip: 'Le mod猫le actuel ne prend pas en charge cette fonctionnalit茅 et est automatiquement r茅trograd茅 脿 l\'injection de prompt.',
-    modelNotSupported: 'Mod猫le non pris en charge',
-    moreFillTip: 'Affichage d\'un maximum de 10 niveaux d\'imbrication',
-    configure: 'Configurer',
-  },
 }
 
 export default translation
diff --git a/i18n/fr-FR/billing.ts b/i18n/fr-FR/billing.ts
index 879a067..2bcdfd5 100644
--- a/i18n/fr-FR/billing.ts
+++ b/i18n/fr-FR/billing.ts
@@ -69,7 +69,6 @@
     messageRequest: {
       title: 'Cr茅dits de message',
       tooltip: 'Quotas d\'invocation de messages pour divers plans utilisant les mod猫les OpenAI (sauf gpt4). Les messages d茅passant la limite utiliseront votre cl茅 API OpenAI.',
-      titlePerMonth: '{{count,number}} messages/mois',
     },
     annotatedResponse: {
       title: 'Limites de quota d\'annotation',
@@ -78,94 +77,27 @@
     ragAPIRequestTooltip: 'Fait r茅f茅rence au nombre d\'appels API invoquant uniquement les capacit茅s de traitement de la base de connaissances de Dify.',
     receiptInfo: 'Seuls le propri茅taire de l\'茅quipe et l\'administrateur de l\'茅quipe peuvent s\'abonner et consulter les informations de facturation',
     annotationQuota: 'Quota d鈥檃nnotation',
-    apiRateLimitUnit: '{{count,number}}/jour',
-    priceTip: 'par espace de travail/',
-    freeTrialTipSuffix: 'Aucune carte de cr茅dit requise',
-    teamWorkspace: '{{count,number}} Espace de travail d\'茅quipe',
-    teamMember_one: '{{count,number}} membre de l\'茅quipe',
-    annualBilling: 'Facturation Annuelle',
-    self: 'Auto-h茅berg茅',
-    documentsRequestQuota: '{{count,number}}/min Limite de Fr茅quence de Demande de Connaissance',
-    teamMember_other: '{{count,number}} Membres de l\'茅quipe',
-    getStarted: 'Commencer',
-    unlimitedApiRate: 'Pas de limite de taux d\'API',
-    cloud: 'Service cloud',
-    documentsTooltip: 'Quota sur le nombre de documents import茅s 脿 partir de la source de donn茅es de connaissance.',
-    freeTrialTip: 'essai gratuit de 200 appels OpenAI.',
-    freeTrialTipPrefix: 'Inscrivez-vous et obtenez un',
-    apiRateLimit: 'Limite de taux de l\'API',
-    comparePlanAndFeatures: 'Comparer les plans et les fonctionnalit茅s',
-    apiRateLimitTooltip: 'La limite de taux de l\'API s\'applique 脿 toutes les demandes effectu茅es via l\'API Dify, y compris la g茅n茅ration de texte, les conversations de chat, les ex茅cutions de flux de travail et le traitement de documents.',
-    documents: '{{count,number}} Documents de connaissance',
-    documentsRequestQuotaTooltip: 'Sp茅cifie le nombre total d\'actions qu\'un espace de travail peut effectuer par minute dans la base de connaissances, y compris la cr茅ation, la suppression, les mises 脿 jour de jeux de donn茅es, le t茅l茅chargement de documents, les modifications, l\'archivage et les requ锚tes de la base de connaissances. Ce param猫tre est utilis茅 pour 茅valuer les performances des requ锚tes de la base de connaissances. Par exemple, si un utilisateur de Sandbox effectue 10 tests de validit茅 cons茅cutifs en une minute, son espace de travail sera temporairement restreint dans l\'ex茅cution des actions suivantes pendant la minute suivante : cr茅ation, suppression, mises 脿 jour de jeux de donn茅es, et t茅l茅chargements ou modifications de documents.',
   },
   plans: {
     sandbox: {
       name: 'Bac 脿 sable',
       description: '200 essais gratuits de GPT',
       includesTitle: 'Inclus :',
-      for: 'Essai gratuit des fonctionnalit茅s principales',
     },
     professional: {
       name: 'Professionnel',
       description: 'Pour les individus et les petites 茅quipes afin de d茅bloquer plus de puissance 脿 un prix abordable.',
       includesTitle: 'Tout ce qui est dans le plan gratuit, plus :',
-      for: 'Pour les d茅veloppeurs ind茅pendants / petites 茅quipes',
     },
     team: {
       name: '脡quipe',
       description: 'Collaborez sans limites et profitez d\'une performance de premier ordre.',
       includesTitle: 'Tout ce qui est inclus dans le plan Professionnel, plus :',
-      for: 'Pour les 茅quipes de taille moyenne',
     },
     enterprise: {
       name: 'Entreprise',
       description: 'Obtenez toutes les capacit茅s et le support pour les syst猫mes 脿 grande 茅chelle et critiques pour la mission.',
       includesTitle: 'Tout ce qui est inclus dans le plan 脡quipe, plus :',
-      features: {
-        5: 'SLA n茅goci茅s par Dify Partners',
-        1: 'Autorisation de Licence Commerciale',
-        2: 'Fonctionnalit茅s exclusives pour les entreprises',
-        4: 'SSO',
-        8: 'Support Technique Professionnel',
-        3: 'Gestion de plusieurs espaces de travail et d\'entreprise',
-        6: 'S茅curit茅 et contr么les avanc茅s',
-        7: 'Mises 脿 jour et maintenance par Dify Officiellement',
-        0: 'Solutions de d茅ploiement 茅volutives de niveau entreprise',
-      },
-      for: 'Pour les 茅quipes de grande taille',
-      btnText: 'Contacter les ventes',
-      priceTip: 'Facturation Annuel Seulement',
-      price: 'Personnalis茅',
-    },
-    community: {
-      features: {
-        2: 'Conforme 脿 la licence open source de Dify',
-        1: 'Espace de travail unique',
-        0: 'Toutes les fonctionnalit茅s principales publi茅es dans le r茅f茅rentiel public',
-      },
-      name: 'Communaut茅',
-      btnText: 'Commencez avec la communaut茅',
-      for: 'Pour les utilisateurs individuels, les petites 茅quipes ou les projets non commerciaux',
-      includesTitle: 'Fonctionnalit茅s gratuites :',
-      price: 'Gratuit',
-      description: 'Pour les utilisateurs individuels, les petites 茅quipes ou les projets non commerciaux',
-    },
-    premium: {
-      features: {
-        3: 'Support par e-mail et chat prioritaire',
-        1: 'Espace de travail unique',
-        0: 'Fiabilit茅 autog茅r茅e par divers fournisseurs de cloud',
-        2: 'Personnalisation du logo et de la marque de l\'application Web',
-      },
-      for: 'Pour les organisations et les 茅quipes de taille moyenne',
-      includesTitle: 'Tout de la communaut茅, en plus :',
-      name: 'Premium',
-      description: 'Pour les organisations et les 茅quipes de taille moyenne',
-      comingSoon: 'Support de Microsoft Azure et Google Cloud bient么t disponible',
-      btnText: 'Obtenez Premium dans',
-      price: 'Scalable',
-      priceTip: 'Bas茅 sur le march茅 des nuages',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'Mettez 脿 jour votre plan pour',
     fullTipLine2: 'construire plus d\'applications.',
-    fullTip2: 'Limite de plan atteinte',
-    contactUs: 'Contactez-nous',
-    fullTip1: 'Mettez 脿 niveau pour cr茅er plus d\'applications',
-    fullTip2des: 'Il est recommand茅 de nettoyer les applications inactives pour lib茅rer de l\'espace d\'utilisation, ou de nous contacter.',
-    fullTip1des: 'Vous avez atteint la limite de cr茅ation d\'applications avec ce plan.',
   },
   annotatedResponse: {
     fullTipLine1: 'Mettez 脿 niveau votre plan pour',
     fullTipLine2: 'annotez plus de conversations.',
     quotaTitle: 'Quota de R茅ponse d\'Annotation',
   },
-  usagePage: {
-    buildApps: 'Construire des applications',
-    vectorSpace: 'Stockage de donn茅es de connaissance',
-    vectorSpaceTooltip: 'Les documents avec le mode d\'indexation de haute qualit茅 utiliseront des ressources de stockage de donn茅es de connaissance. Lorsque le stockage de donn茅es de connaissance atteindra la limite, de nouveaux documents ne pourront pas 锚tre t茅l茅charg茅s.',
-    teamMembers: 'Membres de l\'茅quipe',
-    annotationQuota: 'Quota d\'annotation',
-    documentsUploadQuota: 'Quota de t茅l茅chargement de documents',
-  },
-  teamMembers: 'Membres de l\'茅quipe',
 }
 
 export default translation
diff --git a/i18n/fr-FR/common.ts b/i18n/fr-FR/common.ts
index d26deb3..662f53a 100644
--- a/i18n/fr-FR/common.ts
+++ b/i18n/fr-FR/common.ts
@@ -50,14 +50,6 @@
     submit: 'Envoyer',
     skip: 'Bateau',
     imageCopied: 'Image copied',
-    deleteApp: 'Supprimer l鈥檃pplication',
-    viewDetails: 'Voir les d茅tails',
-    copied: 'Copied',
-    in: 'dans',
-    format: 'Format',
-    downloadFailed: '脡chec du t茅l茅chargement. Veuillez r茅essayer plus tard.',
-    more: 'Plus',
-    downloadSuccess: 'T茅l茅chargement termin茅.',
   },
   placeholder: {
     input: 'Veuillez entrer',
@@ -130,8 +122,6 @@
       Custom: 'Personnalis茅',
     },
     addMoreModel: 'Allez dans les param猫tres pour ajouter plus de mod猫les',
-    capabilities: 'Capacit茅s multimodales',
-    settingsLink: 'Param猫tres du fournisseur de mod猫les',
   },
   menus: {
     status: 'b锚ta',
@@ -144,7 +134,6 @@
     newApp: 'Nouvelle Application',
     newDataset: 'Cr茅er des Connaissances',
     tools: 'Outils',
-    exploreMarketplace: 'Explorer Marketplace',
   },
   userProfile: {
     settings: 'Param猫tres',
@@ -157,9 +146,6 @@
     community: 'Communaut茅',
     about: '脌 propos',
     logout: 'Se d茅connecter',
-    support: 'Soutien',
-    github: 'GitHub',
-    compliance: 'Conformit茅',
   },
   settings: {
     accountGroup: 'COMPTE',
@@ -173,7 +159,6 @@
     dataSource: 'Source de Donn茅es',
     plugin: 'Plugins',
     apiBasedExtension: 'Extension API',
-    generalGroup: 'G脡N脡RALIT脡S',
   },
   account: {
     avatar: 'Avatar',
@@ -209,9 +194,6 @@
     feedbackTitle: 'R茅troaction',
     feedbackLabel: 'Dites-nous pourquoi vous avez supprim茅 votre compte ?',
     feedbackPlaceholder: 'Optionnel',
-    workspaceName: 'Nom de l\'espace de travail',
-    workspaceIcon: 'Ic么ne de l\'espace de travail',
-    editWorkspaceInfo: 'Modifier les informations de l\'espace de travail',
   },
   members: {
     team: '脡quipe',
@@ -304,7 +286,6 @@
       usedUp: 'Quota d\'essai 茅puis茅. Ajoutez votre propre fournisseur de mod猫le.',
       useYourModel: 'Utilise actuellement son propre fournisseur de mod猫le.',
       close: 'Fermer',
-      trialQuotaTip: 'Votre quota d鈥檈ssai Anthropic expirera le 11/03/2025 et ne sera plus disponible par la suite. Veuillez l鈥檜tiliser 脿 temps.',
     },
     anthropic: {
       using: 'La capacit茅 d\'embedding est utilis茅e',
@@ -416,12 +397,6 @@
     loadBalancingDescription: 'R茅duisez la pression gr芒ce 脿 plusieurs ensembles d鈥檌nformations d鈥檌dentification.',
     providerManaged: 'G茅r茅 par le fournisseur',
     upgradeForLoadBalancing: 'Mettez 脿 niveau votre plan pour activer l鈥櫭﹒uilibrage de charge.',
-    emptyProviderTitle: 'Le fournisseur de mod猫les n鈥檈st pas configur茅',
-    toBeConfigured: '脌 configurer',
-    configureTip: 'Configurer api-key ou ajouter un mod猫le 脿 utiliser',
-    installProvider: 'Installer des fournisseurs de mod猫les',
-    discoverMore: 'D茅couvrez-en plus dans',
-    emptyProviderTip: 'Veuillez d鈥檃bord installer un fournisseur de mod猫les.',
   },
   dataSource: {
     add: 'Ajouter une source de donn茅es',
@@ -551,9 +526,6 @@
       hitScore: 'Score de R茅cup茅ration:',
     },
     inputPlaceholder: 'Parler au bot',
-    thinking: 'Pens茅e...',
-    thought: 'Pens茅e',
-    resend: 'Renvoyer',
   },
   promptEditor: {
     placeholder: '脡crivez votre mot d\'invite ici, entrez \'{\' pour ins茅rer une variable, entrez \'/\' pour ins茅rer un bloc de contenu d\'invite',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: 'Articles par page',
-  },
-  theme: {
-    auto: 'syst猫me',
-    light: 'lumi猫re',
-    dark: 'sombre',
-    theme: 'Th猫me',
-  },
-  compliance: {
-    soc2Type1: 'Rapport SOC 2 Type I',
-    iso27001: 'Certification ISO 27001:2022',
-    professionalUpgradeTooltip: 'Disponible uniquement avec un plan 脡quipe ou sup茅rieur.',
-    gdpr: 'RGPD DPA',
-    soc2Type2: 'Rapport SOC 2 Type II',
-    sandboxUpgradeTooltip: 'Disponible uniquement avec un plan Professionnel ou 脡quipe.',
-  },
-  imageInput: {
-    browse: 'naviguer',
-    dropImageHere: 'D茅posez votre image ici, ou',
-    supportedFormats: 'Prend en charge PNG, JPG, JPEG, WEBP et GIF',
   },
 }
 
diff --git a/i18n/fr-FR/custom.ts b/i18n/fr-FR/custom.ts
index d2c0b9d..c0c651c 100644
--- a/i18n/fr-FR/custom.ts
+++ b/i18n/fr-FR/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Mettez 脿 niveau votre plan pour',
     suffix: 'personnalisez votre marque.',
-    des: 'Mettez 脿 niveau votre plan pour personnaliser votre marque',
-    title: 'Am茅liorez votre plan',
   },
   webapp: {
     title: 'Personnalisez la marque WebApp',
diff --git a/i18n/fr-FR/dataset-creation.ts b/i18n/fr-FR/dataset-creation.ts
index 6339cea..058a68f 100644
--- a/i18n/fr-FR/dataset-creation.ts
+++ b/i18n/fr-FR/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Cr茅er des Connaissances',
       update: 'Ajouter des donn茅es',
-      fallbackRoute: 'Connaissance',
     },
     one: 'Choisissez la source de donn茅es',
     two: 'Pr茅traitement et Nettoyage du Texte',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: 'T茅l茅charger le fichier texte',
-      button: 'Faites glisser et d茅posez des fichiers ou des dossiers, ou',
+      button: 'Glisser et d茅poser le fichier, ou',
       browse: 'Parcourir',
       tip: 'Prend en charge {{supportTypes}}. Max {{size}}MB chacun.',
       validation: {
@@ -61,7 +60,7 @@
       preview: 'Aper莽u',
       crawlSubPage: 'Explorer les sous-pages',
       configure: 'Configurer',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       maxDepth: 'Profondeur maximale',
       fireCrawlNotConfigured: 'Firecrawl n鈥檈st pas configur茅',
       firecrawlTitle: 'Extraire du contenu web avec 馃敟Firecrawl',
@@ -82,14 +81,6 @@
       jinaReaderNotConfigured: 'Jina Reader n鈥檈st pas configur茅',
       chooseProvider: 'S茅lectionnez un fournisseur',
       jinaReaderTitle: 'Convertir l鈥檌nt茅gralit茅 du site en Markdown',
-      watercrawlTitle: 'Extraire du contenu web avec Watercrawl',
-      watercrawlDoc: 'Documents Watercrawl',
-      waterCrawlNotConfiguredDescription: 'Configurez Watercrawl avec la cl茅 API pour l\'utiliser.',
-      configureJinaReader: 'Configurer le lecteur Jina',
-      configureWatercrawl: 'Configurer Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl n\'est pas configur茅',
-      watercrawlDocLink: 'https://docs.dify.ai/fr/guide/base-de-connaissances/cr茅er-des-connaissances-et-t茅l茅charger-des-documents/importer-des-donn茅es-de-contenu/synchroniser-depuis-un-site-web',
-      configureFirecrawl: 'Configurer Firecrawl',
     },
     cancel: 'Annuler',
   },
@@ -207,11 +198,6 @@
     learnMore: 'Pour en savoir plus',
     description: 'Actuellement, la base de connaissances de Dify ne dispose que de sources de donn茅es limit茅es. Contribuer 脿 une source de donn茅es dans la base de connaissances Dify est un moyen fantastique d鈥檃m茅liorer la flexibilit茅 et la puissance de la plateforme pour tous les utilisateurs. Notre guide de contribution facilite la prise en main. Veuillez cliquer sur le lien ci-dessous pour en savoir plus.',
     title: 'Se connecter 脿 d鈥檃utres sources de donn茅es ?',
-  },
-  watercrawl: {
-    apiKeyPlaceholder: 'Cl茅 API de watercrawl.dev',
-    configWatercrawl: 'Configurer Watercrawl',
-    getApiKeyLinkText: 'Obtenez votre cl茅 API sur watercrawl.dev',
   },
 }
 
diff --git a/i18n/fr-FR/dataset-documents.ts b/i18n/fr-FR/dataset-documents.ts
index 7a79520..614590d 100644
--- a/i18n/fr-FR/dataset-documents.ts
+++ b/i18n/fr-FR/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Langue',
         authorPublisher: 'Auteur/脡diteur',
         publishDate: 'Date de publication',
-        topicKeywords: 'Sujets/Mots-cl茅s',
+        topicsKeywords: 'Sujets/Mots-cl茅s',
         description: 'Description',
       },
       paper: {
diff --git a/i18n/fr-FR/dataset-settings.ts b/i18n/fr-FR/dataset-settings.ts
index 9e7529e..101214d 100644
--- a/i18n/fr-FR/dataset-settings.ts
+++ b/i18n/fr-FR/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: 'En savoir plus',
       description: '脿 propos de la m茅thode de r茅cup茅ration.',
       longDescription: '脌 propos de la m茅thode de r茅cup茅ration, vous pouvez la modifier 脿 tout moment dans les param猫tres de Connaissance.',
-      method: 'M茅thode de r茅cup茅ration',
     },
     save: 'Enregistrer',
     me: '(Vous)',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: 'Non disponible pour le d茅classement de HQ 脿 ECO',
     upgradeHighQualityTip: 'Une fois la mise 脿 niveau vers le mode Haute Qualit茅, il n鈥檈st pas possible de revenir au mode 脡conomique',
     helpText: 'Apprenez 脿 r茅diger une bonne description de jeu de donn茅es.',
-    searchModel: 'Rechercher un mod猫le',
   },
 }
 
diff --git a/i18n/fr-FR/dataset.ts b/i18n/fr-FR/dataset.ts
index ba2985c..b288e51 100644
--- a/i18n/fr-FR/dataset.ts
+++ b/i18n/fr-FR/dataset.ts
@@ -168,53 +168,6 @@
   enable: 'Activer',
   allKnowledge: 'Toutes les connaissances',
   allKnowledgeDescription: 'S茅lectionnez cette option pour afficher toutes les connaissances dans cet espace de travail. Seul le propri茅taire de l鈥檈space de travail peut g茅rer toutes les connaissances.',
-  metadata: {
-    createMetadata: {
-      name: 'Nom',
-      title: 'Nouveaux M茅tadonn茅es',
-      namePlaceholder: 'Ajouter le nom des m茅tadonn茅es',
-      type: 'Type',
-      back: 'Retour',
-    },
-    checkName: {
-      empty: 'Le nom des m茅tadonn茅es ne peut pas 锚tre vide',
-      invalid: 'Le nom des m茅tadonn茅es ne peut contenir que des lettres minuscules, des chiffres et des tirets bas et doit commencer par une lettre minuscule.',
-    },
-    batchEditMetadata: {
-      editMetadata: 'Modifier les m茅tadonn茅es',
-      applyToAllSelectDocumentTip: 'Cr茅ez automatiquement toutes les m茅tadonn茅es modifi茅es et nouvelles pour tous les documents s茅lectionn茅s, sinon l\'茅dition des m茅tadonn茅es ne s\'appliquera qu\'aux documents qui en ont.',
-      applyToAllSelectDocument: 'Appliquer 脿 tous les documents s茅lectionn茅s',
-      multipleValue: 'Valeur multiple',
-      editDocumentsNum: '脡dition de {{num}} documents',
-    },
-    selectMetadata: {
-      search: 'Rechercher des m茅tadonn茅es',
-      newAction: 'Nouveaux m茅tadonn茅es',
-      manageAction: 'G茅rer',
-    },
-    datasetMetadata: {
-      description: 'Vous pouvez g茅rer toutes les m茅tadonn茅es dans cette connaissance ici. Les modifications seront synchronis茅es avec chaque document.',
-      rename: 'Renommer',
-      builtIn: 'Int茅gr茅',
-      addMetaData: 'Ajouter des m茅tadonn茅es',
-      namePlaceholder: 'Nom de m茅tadonn茅es',
-      builtInDescription: 'Les m茅tadonn茅es int茅gr茅es sont automatiquement extraites et g茅n茅r茅es. Elles doivent 锚tre activ茅es avant utilisation et ne peuvent pas 锚tre modifi茅es.',
-      deleteTitle: 'Confirmer la suppression',
-      values: '{{num}} Valeurs',
-      deleteContent: '脢tes-vous s没r de vouloir supprimer les m茅tadonn茅es "{{name}}" ?',
-      name: 'Nom',
-    },
-    documentMetadata: {
-      technicalParameters: 'Param猫tres techniques',
-      metadataToolTip: 'Les m茅tadonn茅es servent de filtre essentiel qui am茅liore l\'exactitude et la pertinence de la recherche d\'informations. Vous pouvez modifier et ajouter des m茅tadonn茅es pour ce document ici.',
-      documentInformation: 'Informations du document',
-      startLabeling: 'Commencer l\'茅tiquetage',
-    },
-    addMetadata: 'Ajouter des m茅tadonn茅es',
-    metadata: 'M茅tadonn茅es',
-    chooseTime: 'Choisissez un moment...',
-  },
-  embeddingModelNotAvailable: 'Le mod猫le d\'embedding n\'est pas disponible.',
 }
 
 export default translation
diff --git a/i18n/fr-FR/explore.ts b/i18n/fr-FR/explore.ts
index d868ebd..627ed03 100644
--- a/i18n/fr-FR/explore.ts
+++ b/i18n/fr-FR/explore.ts
@@ -37,7 +37,6 @@
     HR: 'RH',
     Agent: 'Agent',
     Workflow: 'Flux de travail',
-    Entertainment: 'Divertissement',
   },
 }
 
diff --git a/i18n/fr-FR/run-log.ts b/i18n/fr-FR/run-log.ts
index d963efc..b4f44e0 100644
--- a/i18n/fr-FR/run-log.ts
+++ b/i18n/fr-FR/run-log.ts
@@ -24,8 +24,6 @@
     link: 'panneau de d茅tail',
     tipRight: ' visualisez-le.',
   },
-  actionLogs: 'Journaux d鈥檃ctions',
-  circularInvocationTip: 'Il y a un appel circulaire d鈥檕utils/n艙uds dans le flux de travail actuel.',
 }
 
 export default translation
diff --git a/i18n/fr-FR/share-app.ts b/i18n/fr-FR/share-app.ts
index d0b3a50..44d03b1 100644
--- a/i18n/fr-FR/share-app.ts
+++ b/i18n/fr-FR/share-app.ts
@@ -30,12 +30,6 @@
     },
     tryToSolve: 'Essayez de r茅soudre',
     temporarySystemIssue: 'D茅sol茅, probl猫me temporaire du syst猫me.',
-    expand: 'D茅velopper',
-    collapse: 'R茅duire',
-    chatSettingsTitle: 'Nouvelle configuration de chat',
-    viewChatSettings: 'Voir les param猫tres de chat',
-    newChatTip: 'D茅j脿 dans une nouvelle discussion',
-    chatFormTip: 'Les param猫tres de chat ne peuvent pas 锚tre modifi茅s une fois que le chat a commenc茅.',
   },
   generation: {
     tabs: {
@@ -74,8 +68,6 @@
       moreThanMaxLengthLine: 'Row {{rowIndex}}: {{varName}} value can not be more than {{maxLength}} characters',
       atLeastOne: 'Veuillez entrer au moins une ligne dans le fichier t茅l茅charg茅.',
     },
-    executions: '{{num}} EX脡CUTIONS',
-    execution: 'EX脡CUTION',
   },
 }
 
diff --git a/i18n/fr-FR/tools.ts b/i18n/fr-FR/tools.ts
index faa5193..5a7e479 100644
--- a/i18n/fr-FR/tools.ts
+++ b/i18n/fr-FR/tools.ts
@@ -121,7 +121,6 @@
     number: 'nombre',
     required: 'Requis',
     infoAndSetting: 'Infos & Param猫tres',
-    file: 'lime',
   },
   noCustomTool: {
     title: 'Pas d\'outils personnalis茅s !',
@@ -151,8 +150,6 @@
   openInStudio: 'Ouvrir dans Studio',
   customToolTip: 'En savoir plus sur les outils personnalis茅s Dify',
   toolNameUsageTip: 'Nom de l鈥檃ppel de l鈥檕util pour le raisonnement et l鈥檌nvite de l鈥檃gent',
-  copyToolName: 'Copier le nom',
-  noTools: 'Aucun outil trouv茅',
 }
 
 export default translation
diff --git a/i18n/fr-FR/workflow.ts b/i18n/fr-FR/workflow.ts
index f6ae2a9..04c2f49 100644
--- a/i18n/fr-FR/workflow.ts
+++ b/i18n/fr-FR/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Ajouter une branche d鈥櫭ヽhec',
     loadMore: 'Charger plus de flux de travail',
     noHistory: 'Pas d鈥檋istoire',
-    exportPNG: 'Exporter en PNG',
-    exitVersions: 'Versions de sortie',
-    exportSVG: 'Exporter en SVG',
-    publishUpdate: 'Publier une mise 脿 jour',
-    noExist: 'Aucune variable de ce type',
-    versionHistory: 'Historique des versions',
-    referenceVar: 'Variable de r茅f茅rence',
-    exportImage: 'Exporter l\'image',
-    exportJPEG: 'Exporter en JPEG',
   },
   env: {
     envPanelTitle: 'Variables d\'Environnement',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Variable invalide',
     rerankModelRequired: 'Avant d鈥檃ctiver le mod猫le de reclassement, veuillez confirmer que le mod猫le a 茅t茅 correctement configur茅 dans les param猫tres.',
-    noValidTool: '{{field}} aucun outil valide s茅lectionn茅',
-    toolParameterRequired: '{{field}} : le param猫tre [{{param}}] est obligatoire',
   },
   singleRun: {
     testRun: 'Ex茅cution de test',
@@ -214,7 +203,6 @@
     testRunIteration: 'It茅ration de l\'ex茅cution de test',
     back: 'Retour',
     iteration: 'It茅ration',
-    loop: 'Boucle',
   },
   tabs: {
     'searchBlock': 'Rechercher un bloc',
@@ -230,8 +218,6 @@
     'utilities': 'Utilitaires',
     'noResult': 'Aucun r茅sultat trouv茅',
     'searchTool': 'Outil de recherche',
-    'plugin': 'Plugin',
-    'agent': 'Strat茅gie d鈥檃gent',
   },
   blocks: {
     'start': 'D茅but',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Extracteur de param猫tres',
     'list-operator': 'Op茅rateur de liste',
     'document-extractor': 'Extracteur de documents',
-    'agent': 'Agent',
-    'loop-end': 'Sortir de la boucle',
-    'loop': 'Boucle',
-    'loop-start': 'D茅but de boucle',
   },
   blocksAbout: {
     'start': 'D茅finir les param猫tres initiaux pour lancer un flux de travail',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'Utiliser LLM pour extraire des param猫tres structur茅s du langage naturel pour les invocations d\'outils ou les requ锚tes HTTP.',
     'list-operator': 'Utilis茅 pour filtrer ou trier le contenu d鈥檜n tableau.',
     'document-extractor': 'Utilis茅 pour analyser les documents t茅l茅charg茅s en contenu texte facilement compr茅hensible par LLM.',
-    'agent': 'Appel de grands mod猫les de langage pour r茅pondre 脿 des questions ou traiter le langage naturel',
-    'loop': 'Ex茅cutez une boucle de logique jusqu\'脿 ce que la condition de terminaison soit remplie ou que le nombre maximum de boucles soit atteint.',
-    'loop-end': '脡quivalent 脿 "break". Ce n艙ud n\'a pas d\'茅l茅ments de configuration. Lorsque le corps de la boucle atteint ce n艙ud, la boucle se termine.',
   },
   operator: {
     zoomIn: 'Zoomer',
@@ -419,34 +398,6 @@
         variable: 'Variable',
       },
       sysQueryInUser: 'sys.query dans le message utilisateur est requis',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Veuillez terminer la modification du champ actuel avant d\'enregistrer le sch茅ma.',
-        },
-        apply: 'Appliquer',
-        addField: 'Ajouter un champ',
-        generationTip: 'Vous pouvez utiliser un langage naturel pour cr茅er rapidement un sch茅ma JSON.',
-        promptPlaceholder: 'D茅crivez votre sch茅ma JSON...',
-        descriptionPlaceholder: 'Ajouter une description',
-        instruction: 'Instruction',
-        resetDefaults: 'R茅initialiser',
-        generatedResult: 'R茅sultat g茅n茅r茅',
-        fieldNamePlaceholder: 'Nom du champ',
-        addChildField: 'Ajouter un champ enfant',
-        back: 'Retour',
-        showAdvancedOptions: 'Afficher les options avanc茅es',
-        title: 'Sch茅ma de sortie structur茅',
-        generating: 'G茅n茅ration de sch茅ma JSON...',
-        stringValidations: 'Validations de cha卯ne',
-        import: 'Importer depuis JSON',
-        promptTooltip: 'Convertissez la description textuelle en une structure de sch茅ma JSON standardis茅.',
-        generate: 'G茅n茅rer',
-        doc: 'En savoir plus sur la sortie structur茅e',
-        regenerate: 'R茅g茅n茅rer',
-        required: 'n茅cessaire',
-        generateJsonSchema: 'G茅n茅rer un sch茅ma JSON',
-        resultTip: 'Voici le r茅sultat g茅n茅r茅. Si vous n\'锚tes pas satisfait, vous pouvez revenir en arri猫re et modifier votre demande.',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Variable de requ锚te',
@@ -458,32 +409,6 @@
         icon: 'Ic么ne segment茅e',
         url: 'URL segment茅e',
         metadata: 'Autres m茅tadonn茅es',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            subTitle: 'Ne pas activer le filtrage des m茅tadonn茅es',
-          },
-          automatic: {
-            subTitle: 'G茅n茅rer automatiquement des conditions de filtrage des m茅tadonn茅es en fonction de la requ锚te de l\'utilisateur',
-            title: 'Automatique',
-            desc: 'G茅n茅rer automatiquement des conditions de filtrage de m茅tadonn茅es en fonction de la variable de requ锚te.',
-          },
-          manual: {
-            subTitle: 'Ajouter manuellement des conditions de filtrage des m茅tadonn茅es',
-            title: 'Manuel',
-          },
-        },
-        panel: {
-          placeholder: 'Entrez la valeur',
-          add: 'Ajouter une condition',
-          search: 'Rechercher des m茅tadonn茅es',
-          conditions: 'Conditions',
-          datePlaceholder: 'Choisissez un moment...',
-          select: 'S茅lectionner une variable...',
-          title: 'Conditions de filtrage des m茅tadonn茅es',
-        },
-        title: 'Filtrage des m茅tadonn茅es',
       },
     },
     http: {
@@ -574,8 +499,6 @@
         'exists': 'Existe',
         'all of': 'l鈥檈nsemble des',
         'not exists': 'n鈥檈xiste pas',
-        'before': 'avant',
-        'after': 'apr猫s',
       },
       enterValue: 'Entrez la valeur',
       addCondition: 'Ajouter une condition',
@@ -591,7 +514,6 @@
       },
       select: 'Choisir',
       addSubVariable: 'Sous-variable',
-      condition: 'Condition',
     },
     variableAssigner: {
       title: 'Attribuer des variables',
@@ -634,8 +556,6 @@
         'title': 'Op茅ration',
         '/=': '/=',
         'overwrite': '脡craser',
-        'remove-last': 'Supprimer le dernier',
-        'remove-first': 'Retirer le premier',
       },
       'assignedVarsDescription': 'Les variables affect茅es doivent 锚tre accessibles en 茅criture, telles que des variables de conversation.',
       'noVarTip': 'Cliquez sur le bouton 芦聽+聽禄 pour ajouter des variables',
@@ -771,107 +691,6 @@
       filterConditionKey: 'Cl茅 de condition de filtre',
       extractsCondition: 'Extraire l鈥櫭﹍茅ment N',
     },
-    agent: {
-      strategy: {
-        configureTip: 'Veuillez configurer la strat茅gie agentique.',
-        tooltip: 'Diff茅rentes strat茅gies agentiques d茅terminent la fa莽on dont le syst猫me planifie et ex茅cute les appels d鈥檕utils en plusieurs 茅tapes',
-        shortLabel: 'Strat茅gie',
-        selectTip: 'S茅lectionner la strat茅gie agentique',
-        configureTipDesc: 'Apr猫s avoir configur茅 la strat茅gie agentique, ce n艙ud chargera automatiquement les configurations restantes. La strat茅gie affectera le m茅canisme du raisonnement 脿 l鈥檕util en plusieurs 茅tapes.',
-        searchPlaceholder: 'Strat茅gie de recherche agentique',
-        label: 'Strat茅gie agentique',
-      },
-      pluginInstaller: {
-        installing: 'Installation',
-        install: 'Installer',
-      },
-      modelNotInMarketplace: {
-        manageInPlugins: 'G茅rer dans les plugins',
-        desc: 'Ce mod猫le est install茅 脿 partir d鈥檜n r茅f茅rentiel local ou GitHub. Veuillez utiliser apr猫s l鈥檌nstallation.',
-        title: 'Mod猫le non install茅',
-      },
-      modelNotSupport: {
-        title: 'Mod猫le non pris en charge',
-        desc: 'La version du plugin install茅e ne fournit pas ce mod猫le.',
-        descForVersionSwitch: 'La version du plugin install茅e ne fournit pas ce mod猫le. Cliquez pour changer de version.',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Ce mod猫le est obsol猫te',
-      },
-      outputVars: {
-        files: {
-          title: 'Fichiers g茅n茅r茅s par l鈥檃gent',
-          url: 'URL de l鈥檌mage',
-          transfer_method: 'M茅thode de transfert. La valeur est remote_url ou local_file',
-          type: 'Type de support. Maintenant, seulement l鈥檌mage de support',
-          upload_file_id: 'T茅l茅charger l鈥檌dentifiant du fichier',
-        },
-        json: 'JSON g茅n茅r茅 par l鈥檃gent',
-        text: 'Contenu g茅n茅r茅 par l鈥檃gent',
-      },
-      checkList: {
-        strategyNotSelected: 'Strat茅gie non s茅lectionn茅e',
-      },
-      installPlugin: {
-        title: 'Installer le plugin',
-        install: 'Installer',
-        changelog: 'Journal des modifications',
-        cancel: 'Annuler',
-        desc: 'Sur le point d鈥檌nstaller le plugin suivant',
-      },
-      modelNotSelected: 'Mod猫le non s茅lectionn茅',
-      configureModel: 'Configurer le mod猫le',
-      pluginNotFoundDesc: 'Ce plugin est install茅 脿 partir de GitHub. Veuillez aller dans Plugins pour r茅installer',
-      strategyNotSet: 'Strat茅gie agentique non d茅finie',
-      unsupportedStrategy: 'Strat茅gie non soutenue',
-      linkToPlugin: 'Lien vers les plugins',
-      toolNotInstallTooltip: '{{tool}} n鈥檈st pas install茅',
-      model: 'mod猫le',
-      learnMore: 'Pour en savoir plus',
-      pluginNotInstalled: 'Ce plugin n鈥檈st pas install茅',
-      modelNotInstallTooltip: 'Ce mod猫le n鈥檈st pas install茅',
-      tools: 'Outils',
-      notAuthorized: 'Non autoris茅',
-      strategyNotInstallTooltip: '{{strategy}} n鈥檈st pas install茅',
-      strategyNotFoundDesc: 'La version du plugin install茅e ne fournit pas cette strat茅gie.',
-      strategyNotFoundDescAndSwitchVersion: 'La version du plugin install茅e ne fournit pas cette strat茅gie. Cliquez pour changer de version.',
-      toolbox: 'bo卯te 脿 outils',
-      pluginNotInstalledDesc: 'Ce plugin est install茅 脿 partir de GitHub. Veuillez aller dans Plugins pour r茅installer',
-      maxIterations: 'Nombre maximal d鈥檌t茅rations',
-      toolNotAuthorizedTooltip: '{{outil}} Non autoris茅',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: 'Termin茅',
-        removeAbnormalOutput: 'Supprimer la sortie anormale',
-        continueOnError: 'Continuer en cas d\'erreur',
-      },
-      currentLoop: 'Boucle de courant',
-      loopMaxCount: 'Nombre maximum de boucles',
-      loop_one: '{{count}} Boucle',
-      output: 'Variable de sortie',
-      error_other: '{{count}} erreurs',
-      loopMaxCountError: 'Veuillez entrer un nombre maximal de boucles valide, compris entre 1 et {{maxCount}}.',
-      totalLoopCount: 'Nombre total de boucles : {{count}}',
-      initialLoopVariables: 'Variables de boucle initiales',
-      breakCondition: 'Condition de terminaison de boucle',
-      variableName: 'Nom de Variable',
-      finalLoopVariables: 'Variables de boucle finales',
-      inputMode: 'Mode d\'entr茅e',
-      setLoopVariables: 'D茅finir des variables dans la port茅e de la boucle',
-      loop_other: '{{count}} Boucles',
-      comma: ',',
-      loopNode: 'N艙ud de boucle',
-      error_one: '{{count}} Erreur',
-      errorResponseMethod: 'M茅thode de r茅ponse d\'erreur',
-      input: 'Entr茅e',
-      currentLoopCount: 'Nombre de boucles actuel : {{count}}',
-      deleteDesc: 'Supprimer le n艙ud de boucle supprimera tous les n艙uds enfants.',
-      exitConditionTip: 'Un n艙ud de boucle n茅cessite au moins une condition de sortie',
-      breakConditionTip: 'Seules les variables dans les boucles avec des conditions de terminaison et les variables de conversation peuvent 锚tre r茅f茅renc茅es.',
-      loopVariables: 'Variables de boucle',
-      deleteTitle: 'Supprimer le n艙ud de boucle ?',
-    },
   },
   tracing: {
     stopBy: 'Arr锚t茅 par {{user}}',
@@ -882,38 +701,6 @@
     noAvailableVars: 'Aucune variable disponible',
     assignedVarsDescription: 'Les variables affect茅es doivent 锚tre des variables accessibles en 茅criture, telles que',
     conversationVars: 'Variables de conversation',
-  },
-  versionHistory: {
-    filter: {
-      all: 'Tout',
-      reset: 'R茅initialiser le filtre',
-      onlyYours: 'Rien que le tien',
-      empty: 'Aucune version correspondante trouv茅e',
-      onlyShowNamedVersions: 'Afficher uniquement les versions nomm茅es',
-    },
-    editField: {
-      releaseNotesLengthLimit: 'Les notes de version ne peuvent pas d茅passer {{limit}} caract猫res.',
-      title: 'Titre',
-      titleLengthLimit: 'Le titre ne peut pas d茅passer {{limit}} caract猫res.',
-      releaseNotes: 'Notes de version',
-    },
-    action: {
-      updateSuccess: 'Version mise 脿 jour',
-      deleteFailure: '脡chec de la suppression de la version',
-      restoreSuccess: 'Version restaur茅e',
-      deleteSuccess: 'Version supprim茅e',
-      updateFailure: '脡chec de la mise 脿 jour de la version',
-      restoreFailure: '脡chec de la restauration de la version',
-    },
-    title: 'Versions',
-    releaseNotesPlaceholder: 'D茅crivez ce qui a chang茅',
-    nameThisVersion: 'Nommez cette version',
-    currentDraft: 'Projet actuel',
-    defaultName: 'Version sans titre',
-    editVersionInfo: 'Modifier les informations de version',
-    restorationTip: 'Apr猫s la restauration de la version, le brouillon actuel sera 茅cras茅.',
-    deletionTip: 'La suppression est irreversible, veuillez confirmer.',
-    latest: 'Dernier',
   },
 }
 
diff --git a/i18n/hi-IN/app-overview.ts b/i18n/hi-IN/app-overview.ts
index 0b51454..d7de14c 100644
--- a/i18n/hi-IN/app-overview.ts
+++ b/i18n/hi-IN/app-overview.ts
@@ -59,7 +59,6 @@
         chatColorThemeDesc: '啶氞啶熰が啷夃 啶曕ぞ 啶班啶� 啶ム啶� 啶ㄠた啶班啶оぞ啶班た啶� 啶曕ぐ啷囙',
         chatColorThemeInverted: '啶夃げ啷嵿啶�',
         invalidHexMessage: '啶呧ぎ啶距え啷嵿く 啶灌啶曕啶� 啶ぞ啶�',
-        invalidPrivacyPolicy: '啶椸啶え啷�啶い啶� 啶ㄠ啶むた 啶侧た啶傕 啶呧ぎ啶距え啷嵿く 啶灌啷� 啶曕啶く啶� http 啶ぞ https 啶膏 啶多啶班 啶灌啶ㄠ 啶掂ぞ啶侧ぞ 啶忇 啶掂啶� 啶侧た啶傕 啶夃お啶啶� 啶曕ぐ啷囙啷�',
         more: {
           entry: '啶呧ぇ啶苦 啶膏啶熰た啶傕啷嵿じ 啶︵た啶栢ぞ啶忇',
           copyright: '啶曕啶啶班ぞ啶囙',
@@ -124,7 +123,6 @@
           operation: '啶啶班げ啷囙啶�',
         },
       },
-      launch: '啶侧啶ㄠ啶�',
     },
     apiInfo: {
       title: '啶啶曕啶傕ぁ 啶膏啶掂ぞ 啶忇お啷�啶嗋',
diff --git a/i18n/hi-IN/app.ts b/i18n/hi-IN/app.ts
index aef667e..93f6c3c 100644
--- a/i18n/hi-IN/app.ts
+++ b/i18n/hi-IN/app.ts
@@ -159,10 +159,6 @@
       title: '啶撪お啶苦',
       description: '啶撪お啶苦 啶忇げ啶忇げ啶忇ぎ 啶呧え啷佮お啷嵿ぐ啶啶椸啶� 啶曕 啶啶侧啶ぞ啶傕啶�, 啶ぐ啷�啶曕啶粪ぃ 啶斷ぐ 啶ㄠた啶椸ぐ啶距え啷� 啶曕 啶侧た啶� 啶忇 啶撪お啶�-啶膏啶班啶� 啶啶侧啶熰か啷夃ぐ啷嵿ぎ 啶灌啷�',
     },
-    weave: {
-      title: '啶啶ㄠえ啶�',
-      description: '啶掂啶� 啶忇 啶撪お啶�-啶膏啶班啶� 啶啶侧啶熰か啶监啶班啶� 啶灌 啶溹 LLM 啶呧え啷佮お啷嵿ぐ啶啶椸啶� 啶曕ぞ 啶啶侧啶ぞ啶傕啶�, 啶ぐ啷�啶曕啶粪ぃ 啶斷ぐ 啶ㄠた啶椸ぐ啶距え啷� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶灌啷�',
-    },
   },
   answerIcon: {
     title: '啶う啶侧え啷� 馃 啶曕 啶侧た啶� WebApp 啶氞た啶灌啶� 啶曕ぞ 啶夃お啶啶� 啶曕ぐ啷囙',
@@ -192,23 +188,6 @@
     searchAllTemplate: '啶膏き啷� 啶熰啶啶げ啷囙啷嵿じ 啶栢啶溹啶�...',
   },
   showMyCreatedAppsOnly: '啶曕啶掂げ 啶啶班 啶え啶距 啶椸 啶愢お啷嵿じ 啶︵た啶栢ぞ啶忇',
-  appSelector: {
-    params: '啶愢お 啶啶班ぞ啶啶熰ぐ',
-    noParams: '啶曕啶� 啶啶班ぞ啶啶熰ぐ 啶曕 啶嗋さ啶多啶啶むぞ 啶ㄠす啷�啶� 啶灌啷�',
-    placeholder: '啶忇 啶愢お 啶氞啶ㄠ啶�...',
-    label: '啶愢お',
-  },
-  structOutput: {
-    structured: '啶膏啶班啶苦い',
-    required: '啶嗋さ啶多啶',
-    LLMResponse: 'LLM 啶啶班い啶苦啷嵿ぐ啶苦く啶�',
-    moreFillTip: '啶呧ぇ啶苦啶むぎ 10 啶膏啶むぐ啷嬥 啶曕 啶ㄠ啶膏啶熰た啶傕 啶︵た啶栢ぞ啶ㄠぞ',
-    modelNotSupported: '啶啶∴げ 啶曕ぞ 啶膏ぎ啶班啶ムえ 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶�',
-    configure: '啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙',
-    notConfiguredTip: '啶膏啶班啶苦い 啶嗋啶熰お啷佮 啶曕 啶呧き啷� 啶む 啶曕啶ㄠ啶ぜ啶苦啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶� 啶灌',
-    structuredTip: '啶膏啶班啶苦い 啶嗋啶熰お啷佮 啶忇 啶掂た啶多啶粪い啶� 啶灌 啶溹 啶す 啶膏啶ㄠた啶多啶氞た啶� 啶曕ぐ啶む 啶灌 啶曕た 啶啶∴げ 啶灌ぎ啷囙ざ啶� 啶嗋お啶曕 啶啶班う啶距え 啶曕た啶� 啶椸 JSON 啶膏啶曕啶ぞ 啶曕 啶呧え啷佮じ啶距ぐ 啶啶班い啶苦啷嵿ぐ啶苦く啶距啶佺敓鎴� 啶曕ぐ啷囙啶距イ',
-    modelNotSupportedTip: '啶掂ぐ啷嵿い啶ぞ啶� 啶啶∴げ 啶囙じ 啶膏啶掂た啶оぞ 啶曕ぞ 啶膏ぎ啶班啶ムえ 啶ㄠす啷�啶� 啶曕ぐ啶むぞ 啶灌 啶斷ぐ 啶膏啶掂啶距げ啶苦い 啶班啶� 啶膏 啶啶班啶啶啶� 啶囙啶溹啶曕啶多え 啶啶� 啶∴ぞ啶夃え啶椸啶班啶� 啶曕た啶ぞ 啶溹ぞ啶むぞ 啶灌啷�',
-  },
 }
 
 export default translation
diff --git a/i18n/hi-IN/billing.ts b/i18n/hi-IN/billing.ts
index 1f8b295..b5ac02f 100644
--- a/i18n/hi-IN/billing.ts
+++ b/i18n/hi-IN/billing.ts
@@ -77,7 +77,6 @@
       title: '啶膏啶︵啶� 啶曕啶班啶∴た啶熰啶�',
       tooltip:
         '啶掂た啶た啶ㄠ啶� 啶啶溹え啶距啶� 啶曕 啶侧た啶� 啶膏啶︵啶� 啶嗋す啷嵿さ啶距え 啶曕啶熰ぞ OpenAI 啶啶∴げ啷嬥 啶曕ぞ 啶夃お啶啶� 啶曕ぐ啶曕 (gpt4 啶曕 啶涏啶∴ぜ啶曕ぐ)啷� 啶膏啶ぞ 啶膏 啶呧ぇ啶苦 啶膏啶︵啶� 啶嗋お啶曕 OpenAI API 啶曕啶傕啷� 啶曕ぞ 啶夃お啶啶� 啶曕ぐ啷囙啶椸啷�',
-      titlePerMonth: '{{count,number}} 啶膏啶︵啶�/啶す啷�啶ㄠぞ',
     },
     annotatedResponse: {
       title: '啶忇え啷嬥啷囙ざ啶� 啶曕啶熰ぞ 啶膏啶ぞ啶忇',
@@ -88,97 +87,30 @@
       'Dify 啶曕 啶曕啶掂げ 啶溹啶炧ぞ啶� 啶嗋ぇ啶距ぐ 啶啶班じ啶傕じ啷嵿啶班ぃ 啶曕啶粪ぎ啶むぞ啶撪 啶曕 啶嗋す啷嵿さ啶距え 啶曕ぐ啶ㄠ 啶掂ぞ啶侧 API 啶曕啶� 啶曕 啶膏啶栢啶ぞ 啶曕 啶膏啶︵ぐ啷嵿き啶苦い 啶曕ぐ啶むぞ 啶灌啷�',
     receiptInfo:
       '啶曕啶掂げ 啶熰啶� 啶曕 啶ぞ啶侧た啶� 啶斷ぐ 啶熰啶� 啶忇ぁ啶た啶� 啶膏が啷嵿じ啶曕啶班ぞ啶囙が 啶曕ぐ 啶膏啶む 啶灌啶� 啶斷ぐ 啶た啶侧た啶傕 啶溹ぞ啶ㄠ啶距ぐ啷� 啶︵啶� 啶膏啶む 啶灌啶�',
-    freeTrialTipPrefix: '啶膏ぞ啶囙え 啶呧お 啶曕ぐ啷囙 啶斷ぐ 啶啶班ぞ啶啶� 啶曕ぐ啷囙 啶忇',
-    teamMember_other: '{{count,number}} 啶熰啶� 啶膏う啶膏啶�',
-    comparePlanAndFeatures: '啶啶溹え啶� 啶斷ぐ 啶掂た啶多啶粪い啶距啶� 啶曕 啶む啶侧え啶� 啶曕ぐ啷囙',
-    apiRateLimit: '啶忇お啷�啶嗋 啶︵ぐ 啶膏啶ぞ',
-    documentsRequestQuota: '{{count,number}}/啶た啶ㄠ 啶溹啶炧ぞ啶� 啶呧え啷佮ぐ啷嬥ぇ 啶︵ぐ 啶膏啶ぞ',
-    self: '啶膏啶�-啶灌啶膏啶熰啶�',
-    getStarted: '啶多啶班 啶曕ぐ啷囙',
-    annualBilling: '啶掂ぞ啶班啶粪た啶� 啶た啶侧た啶傕',
-    documentsTooltip: '啶溹啶炧ぞ啶� 啶∴啶熰ぞ 啶膏啶班啶� 啶膏 啶嗋く啶距い 啶曕た啶� 啶椸 啶︵じ啷嵿い啶距さ啷囙啷嬥 啶曕 啶膏啶栢啶ぞ 啶ぐ 啶曕啶熰ぞ啷�',
-    priceTip: '啶啶班い啷嵿く啷囙 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ/',
-    cloud: '啶曕啶侧ぞ啶夃ぁ 啶膏啶掂ぞ',
-    unlimitedApiRate: '啶曕啶� 啶忇お啷�啶嗋 啶︵ぐ 啶膏啶ぞ 啶ㄠす啷�啶�',
-    freeTrialTip: '200 啶撪お啶ㄠ啶嗋 啶曕啶侧啶� 啶曕ぞ 啶啶啶� 啶ぐ啷�啶曕啶粪ぃ啷�',
-    documents: '{{count,number}} 啶溹啶炧ぞ啶� 啶︵じ啷嵿い啶距さ啷囙啶�',
-    freeTrialTipSuffix: '啶曕啶� 啶曕啶班啶∴た啶� 啶曕ぞ啶班啶� 啶曕 啶嗋さ啶多啶啶むぞ 啶ㄠす啷�啶� 啶灌',
-    apiRateLimitUnit: '{{count,number}}/啶︵た啶�',
-    teamWorkspace: '{{count,number}} 啶熰啶� 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ',
-    apiRateLimitTooltip: 'Dify API 啶曕 啶ぞ啶о啶ぎ 啶膏 啶曕 啶椸 啶膏き啷� 啶呧え啷佮ぐ啷嬥ぇ啷嬥 啶ぐ API 啶︵ぐ 啶膏啶ぞ 啶侧ぞ啶椸 啶灌啶む 啶灌, 啶溹た啶膏ぎ啷囙 啶熰啶曕啶膏啶� 啶溹え啶班啶多え, 啶氞啶� 啶掂ぞ啶班啶むぞ啶侧ぞ啶�, 啶曕ぞ啶班啶お啷嵿ぐ啶掂ぞ啶� 啶ㄠた啶粪啶ぞ啶︵え 啶斷ぐ 啶︵じ啷嵿い啶距さ啷囙啶� 啶啶班じ啶傕じ啷嵿啶班ぃ 啶多ぞ啶た啶� 啶灌啶傕イ',
-    teamMember_one: '{{count,number}} 啶熰啶� 啶膏う啶膏啶�',
-    documentsRequestQuotaTooltip: '啶す 啶溹啶炧ぞ啶� 啶嗋ぇ啶距ぐ 啶啶� 啶忇 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ 啶︵啶掂ぞ啶班ぞ 啶啶班い啶� 啶た啶ㄠ 啶曕た啶� 啶溹ぞ 啶膏啶ㄠ 啶掂ぞ啶侧 啶曕啶� 啶曕ぞ啶班啶啶� 啶曕 啶膏啶栢啶ぞ 啶曕 啶ㄠた啶班啶︵た啶粪啶� 啶曕ぐ啶むぞ 啶灌, 啶溹た啶膏ぎ啷囙 啶∴啶熰ぞ啶膏啶� 啶え啶距え啶�, 啶灌啶距え啶�, 啶呧お啶∴啶� 啶曕ぐ啶ㄠぞ, 啶︵じ啷嵿い啶距さ啷囙啶� 啶呧お啶侧啶� 啶曕ぐ啶ㄠぞ, 啶膏啶多啶оえ 啶曕ぐ啶ㄠぞ, 啶膏啶椸啶班す啶苦い 啶曕ぐ啶ㄠぞ 啶斷ぐ 啶溹啶炧ぞ啶� 啶嗋ぇ啶距ぐ 啶呧え啷佮ぐ啷嬥ぇ 啶多ぞ啶た啶� 啶灌啶傕イ 啶囙じ 啶啶熰啶班た啶� 啶曕ぞ 啶夃お啶啶� 啶溹啶炧ぞ啶� 啶嗋ぇ啶距ぐ 啶呧え啷佮ぐ啷嬥ぇ啷嬥 啶曕 啶啶班う啶班啶多え 啶曕ぞ 啶啶侧啶ぞ啶傕啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶曕た啶ぞ 啶溹ぞ啶むぞ 啶灌啷� 啶夃う啶距す啶班ぃ 啶曕 啶侧た啶�, 啶う啶� 啶忇 啶膏啶傕ぁ啶啶曕啶� 啶夃お啶啶椸啶班啶むぞ 啶忇 啶た啶ㄠ 啶曕 啶啶むぐ 10 啶侧啶距い啶距ぐ 啶灌た啶� 啶ぐ啷�啶曕啶粪ぃ 啶曕ぐ啶むぞ 啶灌, 啶む 啶夃え啶曕 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ 啶曕 啶呧啶侧 啶た啶ㄠ 啶曕 啶侧た啶� 啶ㄠた啶啶ㄠげ啶苦啶苦い 啶曕ぞ啶班啶啶� 啶曕 啶曕ぐ啶ㄠ 啶膏 啶呧じ啷嵿ぅ啶距く啷� 啶班啶� 啶膏 啶啶班い啶苦が啶傕ぇ啶苦い 啶曕た啶ぞ 啶溹ぞ啶忇啶�: 啶∴啶熰ぞ啶膏啶� 啶え啶距え啶�, 啶灌啶距え啶�, 啶呧お啶∴啶� 啶曕ぐ啶ㄠぞ 啶斷ぐ 啶︵じ啷嵿い啶距さ啷囙啶� 啶呧お啶侧啶� 啶ぞ 啶膏啶多啶оえ 啶曕ぐ啶ㄠぞ啷�',
   },
   plans: {
     sandbox: {
       name: '啶膏啶傕ぁ啶啶曕啶�',
       description: '200 啶ぞ啶� GPT 啶啶啶� 啶熰啶班ぞ啶げ',
       includesTitle: '啶多ぞ啶た啶� 啶灌啶�:',
-      for: '啶曕啶� 啶曕啶粪ぎ啶むぞ啶撪 啶曕ぞ 啶啶啶� 啶ぐ啷�啶曕啶粪ぃ',
     },
     professional: {
       name: '啶啶班啶啶多え啶�',
       description:
         '啶掂啶啷嵿い啶苦く啷嬥 啶斷ぐ 啶涏啶熰 啶熰啶啶� 啶曕 啶侧た啶� 啶呧ぇ啶苦 啶多啷嵿い啶� 啶膏じ啷嵿い啷� 啶︵ぐ 啶ぐ 啶栢啶侧啶傕イ',
       includesTitle: '啶啶啶� 啶啶溹え啶� 啶啶� 啶膏が 啶曕啶�, 啶膏ぞ啶� 啶啶�:',
-      for: '啶膏啶掂い啶傕い啷嵿ぐ 啶∴啶掂げ啶ぐ啷嵿じ/啶涏啶熰 啶熰啶啶� 啶曕 啶侧た啶�',
     },
     team: {
       name: '啶熰啶�',
       description:
         '啶た啶ㄠぞ 啶膏啶ぞ 啶曕 啶膏す啶啶� 啶曕ぐ啷囙 啶斷ぐ 啶多啶班啶� 啶膏啶むぐ啷�啶� 啶啶班う啶班啶多え 啶曕ぞ 啶嗋え啶傕う 啶侧啶傕イ',
       includesTitle: '啶啶班啶啶多え啶� 啶啶溹え啶� 啶啶� 啶膏が 啶曕啶�, 啶膏ぞ啶� 啶啶�:',
-      for: '啶ぇ啷嵿く啶� 啶嗋啶距ぐ 啶曕 啶熰啶啶� 啶曕 啶侧た啶�',
     },
     enterprise: {
       name: '啶忇啶熰ぐ啶啶班ぞ啶囙啶�',
       description:
         '啶ぁ啶监 啶啶ぞ啶ㄠ 啶ぐ 啶た啶多え-啶曕啶班た啶熰た啶曕げ 啶膏た啶膏啶熰ぎ 啶曕 啶侧た啶� 啶啶班啶� 啶曕啶粪ぎ啶むぞ啶忇 啶斷ぐ 啶膏ぎ啶班啶ムえ 啶啶班ぞ啶啶� 啶曕ぐ啷囙啷�',
       includesTitle: '啶熰啶� 啶啶溹え啶� 啶啶� 啶膏が 啶曕啶�, 啶膏ぞ啶� 啶啶�:',
-      features: {
-        0: '啶夃う啷嵿く啷嬥 啶膏啶むぐ 啶曕 啶ぁ啶监 啶啶ぞ啶ㄠ 啶ぐ 啶掂た啶むぐ啶� 啶膏ぎ啶距ぇ啶距え',
-        3: '啶呧え啷囙 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ 啶斷ぐ 啶夃う啷嵿く啶� 啶啶班が啶傕ぇ啶�',
-        8: '啶啶班啶啶多え啶� 啶む啶ㄠ啶曕 啶膏ぎ啶班啶ムえ',
-        6: '啶夃え啷嵿え啶� 啶膏啶班啷嵿し啶� 啶斷ぐ 啶ㄠた啶啶む啶班ぃ',
-        2: '啶掂た啶多啶� 啶夃う啷嵿く啶� 啶膏啶掂た啶оぞ啶忇',
-        1: 'Commercial License Authorization',
-        4: 'SSO',
-        5: '啶∴た啶ぞ啶� 啶ぞ啶班啶熰え啶班啶� 啶︵啶掂ぞ啶班ぞ 啶ぞ啶む啷�啶� 啶曕た啶� 啶椸 啶忇じ啶忇げ啶�',
-        7: '啶∴啶ぞ啶� 啶︵啶掂ぞ啶班ぞ 啶嗋ぇ啶苦啶距ぐ啶苦 啶班啶� 啶膏 啶呧お啶∴啶� 啶斷ぐ 啶班啶班啶距さ',
-      },
-      price: '啶曕じ啷嵿啶�',
-      btnText: '啶た啶曕啶班 啶膏 啶膏啶ぐ啷嵿 啶曕ぐ啷囙',
-      priceTip: '啶掂ぞ啶班啶粪た啶� 啶た啶侧た啶傕 啶曕啶掂げ',
-      for: '啶ぁ啶监 啶嗋啶距ぐ 啶曕 啶熰啶啶� 啶曕 啶侧た啶�',
-    },
-    community: {
-      features: {
-        2: '啶∴た啶 啶撪お啶� 啶膏啶班啶� 啶侧ぞ啶囙じ啷囙啶� 啶曕 啶呧え啷佮お啶距げ啶� 啶啶�',
-        0: '啶膏き啷� 啶啶栢啶� 啶膏啶掂た啶оぞ啶忇 啶膏ぞ啶班啶掂啶ㄠた啶� 啶膏啶椸啶班す 啶曕 啶むす啶� 啶溹ぞ啶班 啶曕 啶椸 啶灌啶傕イ',
-        1: '啶忇啶� 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ',
-      },
-      description: '啶掂啶啷嵿い啶苦啶� 啶夃お啶啶椸啶班啶むぞ啶撪, 啶涏啶熰 啶熰啶啶�, 啶ぞ 啶椸啶�-啶掂啶ぞ啶掂じ啶距く啶苦 啶ぐ啶苦く啷嬥啶ㄠぞ啶撪 啶曕 啶侧た啶�',
-      for: '啶掂啶啷嵿い啶苦啶� 啶夃お啶啶椸啶班啶むぞ啶撪, 啶涏啶熰 啶熰啶啶�, 啶ぞ 啶椸啶�-啶掂啶ぞ啶掂じ啶距く啶苦 啶ぐ啶苦く啷嬥啶ㄠぞ啶撪 啶曕 啶侧た啶�',
-      includesTitle: '啶ㄠた啶冟ざ啷佮げ啷嵿 啶膏啶掂た啶оぞ啶忇:',
-      btnText: '啶膏ぎ啷佮う啶距く 啶曕 啶膏ぞ啶� 啶嗋ぐ啶傕き 啶曕ぐ啷囙',
-      name: '啶膏ぎ啷佮う啶距く',
-      price: '啶啶曕啶�',
-    },
-    premium: {
-      features: {
-        2: '啶掂啶� 啶愢お 啶侧啶椸 啶斷ぐ 啶啶班ぞ啶傕ぁ啶苦啶� 啶曕じ啷嵿啶ぞ啶囙啷囙ざ啶�',
-        3: '啶啶班ぞ啶ムぎ啶苦啶むぞ 啶堗ぎ啷囙げ 啶斷ぐ 啶氞啶� 啶膏ぎ啶班啶ムえ',
-        1: '啶忇啶� 啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ',
-        0: '啶掂た啶た啶ㄠ啶� 啶曕啶侧ぞ啶夃ぁ 啶啶班う啶距い啶距啶� 啶︵啶掂ぞ啶班ぞ 啶嗋い啷嵿ぎ-啶啶班が啶傕ぇ啶苦い 啶掂た啶多啶掂じ啶ㄠ啶い啶�',
-      },
-      priceTip: '啶曕啶侧ぞ啶夃ぁ 啶ぞ啶班啶曕啶熰お啷嵿げ啷囙じ 啶曕 啶嗋ぇ啶距ぐ 啶ぐ',
-      name: '啶啶班啶た啶ぎ',
-      btnText: '啶啶班啶た啶ぎ 啶啶班ぞ啶啶� 啶曕ぐ啷囙',
-      price: '啶膏啶曕啶侧啶げ',
-      includesTitle: '啶膏ぎ啷佮う啶距く 啶膏 啶膏が 啶曕啶�, 啶囙じ啶曕 啶呧げ啶距さ啶�:',
-      for: '啶ぇ啷嵿く啶� 啶嗋啶距ぐ 啶曕 啶膏啶椸啶ㄠ啶� 啶斷ぐ 啶熰啶啶� 啶曕 啶侧た啶�',
-      description: '啶ぇ啷嵿く啶� 啶嗋啶距ぐ 啶曕 啶膏啶椸啶ㄠ啶� 啶斷ぐ 啶熰啶啶� 啶曕 啶侧た啶�',
-      comingSoon: '啶ぞ啶囙啷嵿ぐ啷嬥じ啷夃か啷嵿 啶忇啶监啶啶� 啶斷ぐ 啶椸啶椸げ 啶曕啶侧ぞ啶夃ぁ 啶膏ぎ啶班啶ムえ 啶溹げ啷嵿う 啶灌 啶� 啶班す啶� 啶灌',
     },
   },
   vectorSpace: {
@@ -188,26 +120,12 @@
   apps: {
     fullTipLine1: '啶呧ぇ啶苦 啶愢お啷嵿じ 啶え啶距え啷� 啶曕 啶侧た啶�',
     fullTipLine2: '啶呧お啶ㄠ 啶啶溹え啶� 啶呧お啶椸啶班啶� 啶曕ぐ啷囙啷�',
-    fullTip1: '啶呧ぇ啶苦 啶愢お啷嵿じ 啶え啶距え啷� 啶曕 啶侧た啶� 啶呧お啶椸啶班啶� 啶曕ぐ啷囙',
-    fullTip2: '啶啶溹え啶� 啶曕 啶膏啶ぞ 啶す啷佮啶� 啶椸',
-    contactUs: '啶灌ぎ啶膏 啶膏啶ぐ啷嵿 啶曕ぐ啷囙',
-    fullTip1des: '啶嗋お 啶囙じ 啶啶溹え啶� 啶ぐ 啶愢お啷嵿じ 啶え啶距え啷� 啶曕 啶膏啶ぞ 啶む 啶す啷佮啶� 啶氞啶曕 啶灌啶傕イ',
-    fullTip2des: '啶呧啶� 啶呧え啷佮お啷嵿ぐ啶啶椸啶� 啶曕 啶膏ぞ啶� 啶曕ぐ啶ㄠ 啶曕 啶膏た啶ぞ啶班た啶� 啶曕 啶溹ぞ啶む 啶灌 啶むぞ啶曕た 啶夃お啶啶� 啶曕 啶啶曕啶� 啶曕た啶ぞ 啶溹ぞ 啶膏啷�, 啶ぞ 啶灌ぎ啶膏 啶膏啶ぐ啷嵿 啶曕ぐ啷囙啷�',
   },
   annotatedResponse: {
     fullTipLine1: '啶呧ぇ啶苦 啶ぞ啶む啷�啶� 啶曕 啶忇え啷嬥啷囙 啶曕ぐ啶ㄠ 啶曕 啶侧た啶�',
     fullTipLine2: '啶呧お啶ㄠ 啶啶溹え啶� 啶呧お啶椸啶班啶� 啶曕ぐ啷囙啷�',
     quotaTitle: '啶忇え啷嬥啷囙ざ啶� 啶夃い啷嵿い啶� 啶曕啶熰ぞ',
   },
-  usagePage: {
-    annotationQuota: '啶忇え啷嬥啷囙ざ啶� 啶曕啶熰ぞ',
-    buildApps: '啶愢お 啶え啶距啶�',
-    documentsUploadQuota: '啶︵じ啷嵿い啶距さ啷囙啶� 啶呧お啶侧啶� 啶曕啶熰ぞ',
-    vectorSpace: '啶溹啶炧ぞ啶� 啶∴啶熰ぞ 啶啶∴ぞ啶班ぃ',
-    teamMembers: '啶熰啶� 啶曕 啶膏う啶膏啶�',
-    vectorSpaceTooltip: '啶夃啷嵿 啶椸啶`さ啶む啶むぞ 啶掂ぞ啶侧 啶呧え啷佮啷嵿ぐ啶ぃ 啶啶� 啶曕 啶膏ぞ啶� 啶︵じ啷嵿い啶距さ啷囙啶监啶� 啶曕 啶侧た啶� 啶溹啶炧ぞ啶� 啶∴啶熰ぞ 啶膏啶熰啶班啶� 啶膏啶膏ぞ啶оえ啷嬥 啶曕ぞ 啶夃お啶啶� 啶灌啶椸ぞ啷� 啶溹が 啶溹啶炧ぞ啶� 啶∴啶熰ぞ 啶膏啶熰啶班啶� 啶膏啶ぞ 啶む 啶す啷佮啶� 啶溹ぞ啶忇啶�, 啶む 啶ㄠ 啶︵じ啷嵿い啶距さ啷囙啶� 啶ㄠす啷�啶� 啶呧お啶侧啶� 啶曕た啶� 啶溹ぞ啶忇啶椸啷�',
-  },
-  teamMembers: '啶熰啶� 啶曕 啶膏う啶膏啶�',
 }
 
 export default translation
diff --git a/i18n/hi-IN/common.ts b/i18n/hi-IN/common.ts
index 4964bcb..2a14cd0 100644
--- a/i18n/hi-IN/common.ts
+++ b/i18n/hi-IN/common.ts
@@ -50,14 +50,6 @@
     skip: '啶溹す啶距啶�',
     submit: '啶溹ぎ啶� 啶曕ぐ啷囙',
     imageCopied: '啶曕啶 啶曕 啶椸 啶涏さ啶�',
-    deleteApp: '啶愢お 啶灌啶距啶�',
-    in: '啶啶�',
-    copied: '啶曕啶 啶曕た啶ぞ 啶椸く啶�',
-    viewDetails: '啶掂た啶掂ぐ啶� 啶︵啶栢啶�',
-    more: '啶呧ぇ啶苦',
-    downloadSuccess: '啶∴ぞ啶夃え啶侧啶� 啶啶班ぞ 啶灌啶嗋イ',
-    downloadFailed: '啶∴ぞ啶夃え啶侧啶� 啶掂た啶げ啷� 啶曕啶く啶� 啶ぞ啶� 啶啶� 啶啶ㄠ 啶啶班く啶距じ 啶曕ぐ啷囙啷�',
-    format: '啶啶班啶啶�',
   },
   errorMsg: {
     fieldRequired: '{{field}} 啶嗋さ啶多啶 啶灌',
@@ -137,8 +129,6 @@
       Custom: '啶曕じ啷嵿啶�',
     },
     addMoreModel: '啶呧ぇ啶苦 啶啶∴げ 啶溹啶∴ぜ啶ㄠ 啶曕 啶侧た啶� 啶膏啶熰た啶傕啷嵿じ 啶ぐ 啶溹ぞ啶忇',
-    capabilities: '啶げ啷嵿啷�啶啶∴げ 啶曕啶粪ぎ啶むぞ啶忇',
-    settingsLink: '啶啶∴げ 啶啶班う啶距い啶� 啶膏啶熰た啶傕啷嵿じ',
   },
   menus: {
     status: '啶啶熰ぞ',
@@ -153,7 +143,6 @@
     newApp: '啶ㄠく啶� 啶愢お',
     newDataset: '啶溹啶炧ぞ啶� 啶え啶距啶�',
     tools: '啶夃お啶曕ぐ啶�',
-    exploreMarketplace: '啶ぞ啶班啶曕啶熰お啷嵿げ啷囙じ 啶曕ぞ 啶呧え啷嵿さ啷囙し啶� 啶曕ぐ啷囙',
   },
   userProfile: {
     settings: '啶膏啶熰た啶傕啷嵿じ',
@@ -166,9 +155,6 @@
     community: '啶膏ぎ啷佮う啶距く',
     about: '啶曕 啶ぞ啶班 啶啶�',
     logout: '啶侧啶� 啶嗋啶�',
-    compliance: '啶呧え啷佮お啶距げ啶�',
-    github: '啶椸た啶熰す啶�',
-    support: '啶膏ぎ啶班啶ムえ',
   },
   settings: {
     accountGroup: '啶栢ぞ啶むぞ',
@@ -182,7 +168,6 @@
     dataSource: '啶∴啶熰ぞ 啶膏啶班啶�',
     plugin: '啶啶侧啶囙え啷嵿じ',
     apiBasedExtension: 'API 啶掂た啶膏啶むぞ啶�',
-    generalGroup: '啶膏ぞ啶ぞ啶ㄠ啶�',
   },
   account: {
     avatar: '啶呧さ啶むぞ啶�',
@@ -219,9 +204,6 @@
     permanentlyDeleteButton: '啶栢ぞ啶むぞ 啶膏啶ムぞ啶 啶班啶� 啶膏 啶灌啶距啶�',
     verificationPlaceholder: '6-啶呧啶曕啶� 啶曕啶� 啶啶膏啶� 啶曕ぐ啷囙',
     deleteSuccessTip: '啶嗋お啶曕 啶栢ぞ啶む 啶曕 啶灌啶距え啷� 啶曕ぞ 啶曕ぞ啶� 啶啶班ぞ 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶膏ぎ啶� 啶氞ぞ啶灌た啶�. 啶溹が 啶す 啶膏が 啶灌 啶溹ぞ啶忇啶� 啶む 啶灌ぎ 啶嗋お啶曕 啶堗ぎ啷囙げ 啶曕ぐ啷囙啶椸啷�',
-    workspaceIcon: '啶曕ぞ啶班啶じ啷嵿ぅ啶� 啶嗋啶曕え',
-    editWorkspaceInfo: '啶曕ぞ啶班啶啷嵿し啷囙い啷嵿ぐ 啶曕 啶溹ぞ啶ㄠ啶距ぐ啷� 啶膏啶ぞ啶︵た啶� 啶曕ぐ啷囙',
-    workspaceName: '啶曕ぞ啶班啶じ啷嵿ぅ啶� 啶曕ぞ 啶ㄠぞ啶�',
   },
   members: {
     team: '啶熰啶�',
@@ -317,7 +299,6 @@
       usedUp: '啶ぐ啷�啶曕啶粪ぃ 啶曕啶熰ぞ 啶膏ぎ啶距お啷嵿い 啶灌 啶椸く啶距イ 啶呧お啶ㄠぞ 啶啶∴げ 啶啶班う啶距い啶� 啶溹啶∴ぜ啷囙啷�',
       useYourModel: '啶掂ぐ啷嵿い啶ぞ啶� 啶啶� 啶呧お啶ㄠぞ 啶啶∴げ 啶啶班う啶距い啶� 啶夃お啶啶� 啶曕ぐ 啶班す啷� 啶灌啶傕イ',
       close: '啶啶� 啶曕ぐ啷囙',
-      trialQuotaTip: '啶嗋お啶曕ぞ 啶忇啶ム啶班啶た啶� 啶ぐ啷�啶曕啶粪ぃ 啶曕啶熰ぞ 2025/03/11 啶曕 啶膏ぎ啶距お啷嵿い 啶灌 啶溹ぞ啶忇啶� 啶斷ぐ 啶夃じ啶曕 啶ぞ啶� 啶夃お啶侧が啷嵿ぇ 啶ㄠす啷�啶� 啶班す啷囙啶距イ 啶曕啶く啶� 啶囙じ啶曕ぞ 啶膏ぎ啶� 啶ぐ 啶夃お啶啶� 啶曕ぐ啷囙啷�',
     },
     anthropic: {
       using: '啶忇ぎ啷嵿が啷囙ぁ啶苦啶� 啶曕啶粪ぎ啶むぞ 啶曕ぞ 啶夃お啶啶� 啶曕ぐ 啶班す啶� 啶灌',
@@ -436,12 +417,6 @@
       '啶∴た啶ぜ啷夃げ啷嵿 啶班啶� 啶膏, 啶侧啶� 啶啶侧啶傕じ啶苦啶� 啶班ぞ啶夃啶�-啶班啶た啶� 啶班ぃ啶ㄠ啶むた 啶曕ぞ 啶夃お啶啶� 啶曕ぐ啶むぞ 啶灌啷� 啶う啶� 啶班啶� 啶侧た啶た啶熰た啶傕 啶熰啶班た啶椸ぐ 啶灌 啶溹ぞ啶む 啶灌, 啶む 1 啶た啶ㄠ 啶曕ぞ 啶曕啶侧ぁ啶距啶� 啶啶班た啶ぁ 啶侧ぞ啶椸 啶灌啶椸ぞ啷�',
     upgradeForLoadBalancing:
       '啶侧啶� 啶啶侧啶傕じ啶苦啶� 啶膏啷嵿し啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶呧お啶ㄠ 啶啶溹え啶� 啶呧お啶椸啶班啶� 啶曕ぐ啷囙啷�',
-    discoverMore: '啶斷ぐ 啶呧ぇ啶苦 啶栢啶溹啶�',
-    installProvider: '啶啶∴げ 啶啶班う啶距い啶距啶� 啶曕 啶膏啶ムぞ啶た啶� 啶曕ぐ啷囙',
-    configureTip: '啶忇お啷�啶嗋-啶曕啶傕啷� 啶膏啶� 啶曕ぐ啷囙 啶ぞ 啶夃お啶啶� 啶曕 啶侧た啶� 啶啶∴げ 啶溹啶∴ぜ啷囙',
-    toBeConfigured: '啶曕啶ㄠ啶ぜ啶苦啶� 啶曕た啶ぞ 啶溹ぞ啶ㄠぞ 啶灌',
-    emptyProviderTitle: '啶啶∴げ 啶啶班う啶距い啶� 啶膏啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶�',
-    emptyProviderTip: '啶曕啶く啶� 啶す啶侧 啶忇 啶啶∴げ 啶啶班う啶距い啶� 啶膏啶ムぞ啶た啶� 啶曕ぐ啷囙啷�',
   },
   dataSource: {
     add: '啶∴啶熰ぞ 啶膏啶班啶� 啶溹啶∴ぜ啷囙',
@@ -486,7 +461,7 @@
     title:
       '啶忇お啷�啶嗋 啶忇啷嵿じ啶熰啶傕ざ啶� 啶曕啶傕う啷嵿ぐ啷�啶曕啶� 啶忇お啷�啶嗋 啶啶班が啶傕ぇ啶� 啶啶班う啶距え 啶曕ぐ啶む 啶灌啶�, 啶溹 Dify 啶曕 啶呧え啷佮お啷嵿ぐ啶啶椸啶� 啶啶� 啶嗋じ啶距え 啶夃お啶啶� 啶曕 啶侧た啶� 啶曕啶ㄠ啶ぜ啶苦啶班啶多え 啶曕 啶膏ぐ啶� 啶え啶距い啷� 啶灌啶傕イ',
     link: '啶呧お啶ㄠぞ 啶栢啶� 啶曕ぞ 啶忇お啷�啶嗋 啶忇啷嵿じ啶熰啶傕ざ啶� 啶曕啶膏 啶掂た啶曕じ啶苦い 啶曕ぐ啷囙, 啶す 啶溹ぞ啶ㄠ啶傕イ',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: '啶忇お啷�啶嗋 啶忇啷嵿じ啶熰啶傕ざ啶� 啶溹啶∴ぜ啷囙',
     selector: {
       title: '啶忇お啷�啶嗋 啶忇啷嵿じ啶熰啶傕ざ啶�',
@@ -573,9 +548,6 @@
       hitScore: '啶啶ㄠ 啶啶班ぞ啶啶むた 啶膏啶曕啶�:',
     },
     inputPlaceholder: '啶啶� 啶膏 啶ぞ啶� 啶曕ぐ啷囙',
-    thought: '啶掂た啶氞ぞ啶�',
-    thinking: '啶膏啶氞い啷� 啶灌啶�...',
-    resend: '啶た啶� 啶膏 啶啶溹啶�',
   },
   promptEditor: {
     placeholder:
@@ -669,25 +641,6 @@
   },
   pagination: {
     perPage: '啶啶班い啶� 啶啶粪啶� 啶嗋啶熰ぎ',
-  },
-  theme: {
-    light: '啶班啶多え啷�',
-    theme: '啶ム啶�',
-    auto: '啶啶班ぃ啶距げ啷�',
-    dark: '啶呧啶о啶班ぞ',
-  },
-  compliance: {
-    iso27001: '啶嗋啶忇じ啶� 27001:2022 啶啶班ぎ啶距ぃ啶�',
-    gdpr: '啶溹啶∴啶啶嗋ぐ 啶∴啶啶�',
-    soc2Type1: 'SOC 2 啶啶班啶距ぐ I 啶班た啶啶班啶�',
-    professionalUpgradeTooltip: '啶曕啶掂げ 啶熰啶� 啶啶溹え啶� 啶ぞ 啶夃じ啶膏 啶娻お啶� 啶曕 啶膏ぞ啶� 啶夃お啶侧が啷嵿ぇ 啶灌啷�',
-    soc2Type2: 'SOC 2 啶啶班啶距ぐ II 啶班た啶啶班啶�',
-    sandboxUpgradeTooltip: '啶曕啶掂げ 啶啶多啶掂ぐ 啶ぞ 啶熰啶� 啶啶溹え啶� 啶曕 啶膏ぞ啶� 啶夃お啶侧が啷嵿ぇ 啶灌啷�',
-  },
-  imageInput: {
-    supportedFormats: 'PNG, JPG, JPEG, WEBP 啶斷ぐ GIF 啶曕ぞ 啶膏ぎ啶班啶ムえ 啶曕ぐ啶むぞ 啶灌',
-    browse: '啶啶班ぞ啶夃啶� 啶曕ぐ啷囙',
-    dropImageHere: '啶呧お啶ㄠ 啶涏さ啶� 啶す啶距 啶涏啶∴ぜ啷囙, 啶ぞ',
   },
 }
 
diff --git a/i18n/hi-IN/custom.ts b/i18n/hi-IN/custom.ts
index a654fce..ea281d7 100644
--- a/i18n/hi-IN/custom.ts
+++ b/i18n/hi-IN/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '啶呧お啶椸啶班啶� 啶曕ぐ啷囙 啶呧お啶ㄠ 啶啶侧ぞ啶� 啶曕',
     suffix: '啶膏啶掂く啶� 啶呧お啶ㄠぞ 啶啶班ぞ啶傕ぁ 啶氞啶ㄠえ啶距イ',
-    title: '啶呧お啶ㄠ 啶啶溹え啶� 啶曕 啶呧お啶椸啶班啶� 啶曕ぐ啷囙',
-    des: '啶呧お啶ㄠ 啶啶班ぞ啶傕ぁ 啶曕 啶曕じ啷嵿啶ぞ啶囙啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶呧お啶ㄠ 啶啶溹え啶� 啶曕 啶呧お啶椸啶班啶� 啶曕ぐ啷囙',
   },
   webapp: {
     title: 'WebApp 啶曕ぞ 啶啶班ぞ啶傕ぁ 啶掂啶啷嵿い啶苦啶班ぃ 啶曕ぐ啷囙',
diff --git a/i18n/hi-IN/dataset-creation.ts b/i18n/hi-IN/dataset-creation.ts
index 1f83843..ecfa9d8 100644
--- a/i18n/hi-IN/dataset-creation.ts
+++ b/i18n/hi-IN/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '啶溹啶炧ぞ啶� 啶え啶距啶�',
       update: '啶∴啶熰ぞ 啶溹啶∴ぜ啷囙',
-      fallbackRoute: '啶溹啶炧ぞ啶�',
     },
     one: '啶∴啶熰ぞ 啶膏啶班啶� 啶氞啶ㄠ啶�',
     two: '啶ぞ啶� 啶啶班啶�-啶啶班じ啶傕じ啷嵿啶班ぃ 啶斷ぐ 啶膏か啶距',
@@ -27,7 +26,7 @@
     },
     uploader: {
       title: '啶ぜ啶距啶� 啶呧お啶侧啶� 啶曕ぐ啷囙',
-      button: '啶ぜ啶距啶侧啶� 啶ぞ 啶ぜ啷嬥げ啷嵿ぁ啶班啶� 啶曕 啶栢啶傕啷囙 啶斷ぐ 啶涏啶∴ぜ啷囙, 啶ぞ',
+      button: '啶ぜ啶距啶� 啶栢啶傕啷囙 啶斷ぐ 啶涏啶∴ぜ啷囙, 啶ぞ',
       browse: '啶啶班ぞ啶夃啶� 啶曕ぐ啷囙',
       tip: '啶膏ぎ啶班啶ムた啶� {{supportTypes}}啷� 啶啶班い啷嵿く啷囙 啶呧ぇ啶苦啶むぎ {{size}}MB啷�',
       validation: {
@@ -92,14 +91,6 @@
       chooseProvider: '啶忇 啶啶班う啶距い啶� 啶曕ぞ 啶氞く啶� 啶曕ぐ啷囙',
       jinaReaderTitle: '啶啶班 啶膏ぞ啶囙 啶曕 啶ぞ啶班啶曕ぁ啶距啶� 啶啶� 啶う啶侧啶�',
       jinaReaderNotConfiguredDescription: '啶忇啷嵿じ啷囙じ 啶曕 啶侧た啶� 啶呧お啶ㄠ 啶啶啶� 啶忇お啷�啶嗋 啶曕啶傕啷� 啶︵ぐ啷嵿 啶曕ぐ啶曕 啶溹啶ㄠぞ 啶班啶∴ぐ 啶膏啶� 啶曕ぐ啷囙啷�',
-      watercrawlTitle: 'Watercrawl 啶曕 啶膏ぞ啶� 啶掂啶� 啶膏ぞ啶啷嵿ぐ啷� 啶ㄠた啶曕ぞ啶侧啶�',
-      waterCrawlNotConfigured: 'Watercrawl 啶曕 啶曕啶ㄠ啶ぜ啶苦啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶� 啶灌',
-      configureFirecrawl: '啶ぞ啶ぐ啶曕啶班啶� 啶曕 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙',
-      watercrawlDoc: '啶掂ぞ啶熰ぐ啶曕啶班啶� 啶︵じ啷嵿い啶距さ啷囙啶�',
-      waterCrawlNotConfiguredDescription: '啶囙じ啷� 啶夃お啶啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶掂啶熰ぐ啶曕啶班啶� 啶曕 啶忇お啷�啶嗋 啶曕啶傕啷� 啶曕 啶膏ぞ啶� 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙啷�',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureJinaReader: '啶溹た啶ㄠぞ 啶班啶∴ぐ 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙',
-      configureWatercrawl: '啶掂ぞ啶熰ぐ啶曕啶班啶� 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙',
     },
     cancel: '啶班う啷嵿う 啶曕ぐ啶ㄠぞ',
   },
@@ -227,11 +218,6 @@
     title: '啶呧え啷嵿く 啶∴啶熰ぞ 啶膏啶班啶む啶� 啶膏 啶曕え啷囙啷嵿 啶曕ぐ啷囙?',
     learnMore: '啶斷ぐ 啶溹ぞ啶ㄠ',
     description: '啶掂ぐ啷嵿い啶ぞ啶� 啶啶�, Dify 啶曕 啶溹啶炧ぞ啶ㄠ啷嬥し 啶啶� 啶曕啶掂げ 啶膏啶た啶� 啶∴啶熰ぞ 啶膏啶班啶� 啶灌啶傕イ Dify 啶ㄠ啶侧啶� 啶啶� 啶啶� 啶∴啶熰ぞ 啶膏啶班啶� 啶曕ぞ 啶啶椸う啶距え 啶曕ぐ啶ㄠぞ 啶膏き啷� 啶夃お啶啶椸啶班啶むぞ啶撪 啶曕 啶侧た啶� 啶啶侧啶熰か啷夃ぐ啷嵿ぎ 啶曕 啶侧啷�啶侧啶え 啶斷ぐ 啶多啷嵿い啶� 啶曕 啶あ啶监ぞ啶ㄠ 啶啶� 啶う啶� 啶曕ぐ啶ㄠ 啶曕ぞ 啶忇 啶多ぞ啶ㄠう啶距ぐ 啶むぐ啷�啶曕ぞ 啶灌啷� 啶灌ぎ啶距ぐ啷� 啶啶椸う啶距え 啶ぞ啶班啶椸う啶班啶多た啶曕ぞ 啶嗋ぐ啶傕き 啶曕ぐ啶ㄠぞ 啶嗋じ啶距え 啶え啶距い啷� 啶灌啷� 啶呧ぇ啶苦 啶溹ぞ啶ㄠえ啷� 啶曕 啶侧た啶� 啶曕啶く啶� 啶ㄠ啶氞 啶︵た啶� 啶椸 啶侧た啶傕 啶ぐ 啶曕啶侧た啶� 啶曕ぐ啷囙啷�',
-  },
-  watercrawl: {
-    apiKeyPlaceholder: 'watercrawl.dev 啶膏 API 啶曕啶傕啷�',
-    configWatercrawl: '啶掂ぞ啶熰ぐ啶曕啶班啶� 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙',
-    getApiKeyLinkText: 'watercrawl.dev 啶膏 啶呧お啶ㄠぞ 啶忇お啷�啶嗋 啶曕啶傕啷� 啶啶班ぞ啶啶� 啶曕ぐ啷囙',
   },
 }
 
diff --git a/i18n/hi-IN/dataset-documents.ts b/i18n/hi-IN/dataset-documents.ts
index 35bcb0a..e01b3eb 100644
--- a/i18n/hi-IN/dataset-documents.ts
+++ b/i18n/hi-IN/dataset-documents.ts
@@ -134,7 +134,7 @@
         language: '啶ぞ啶粪ぞ',
         authorPublisher: '啶侧啶栢/啶啶班啶距ざ啶�',
         publishDate: '啶啶班啶距ざ啶� 啶むた啶ムた',
-        topicKeywords: '啶掂た啶粪く/啶曕啶掂ぐ啷嵿ぁ啷嵿じ',
+        topicsKeywords: '啶掂た啶粪く/啶曕啶掂ぐ啷嵿ぁ啷嵿じ',
         description: '啶掂た啶掂ぐ啶�',
       },
       paper: {
diff --git a/i18n/hi-IN/dataset-settings.ts b/i18n/hi-IN/dataset-settings.ts
index c89097d..ff324dc 100644
--- a/i18n/hi-IN/dataset-settings.ts
+++ b/i18n/hi-IN/dataset-settings.ts
@@ -30,7 +30,6 @@
       description: '啶啶班ぞ啶啶むた 啶う啷嵿ぇ啶むた 啶曕 啶ぞ啶班 啶啶傘��',
       longDescription:
         '啶啶班ぞ啶啶むた 啶う啷嵿ぇ啶むた 啶曕 啶ぞ啶班 啶啶�, 啶嗋お 啶囙じ啷� 啶曕た啶膏 啶 啶膏ぎ啶� 啶溹啶炧ぞ啶� 啶膏啶熰た啶傕啷嵿 啶啶� 啶う啶� 啶膏啶む 啶灌啶傕イ',
-      method: '啶啶班ぞ啶啶むた 啶掂た啶оた',
     },
     save: '啶膏啶掂え啶�',
     me: '(啶嗋お)',
@@ -41,7 +40,6 @@
     indexMethodChangeToEconomyDisabledTip: '啶啶栢啶ぞ啶侧く 啶膏 啶堗じ啷�啶� 啶啶� 啶∴ぞ啶夃え啶椸啶班啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶夃お啶侧が啷嵿ぇ 啶ㄠす啷�啶� 啶灌',
     helpText: '啶忇 啶呧啷嵿啶� 啶∴啶熰ぞ啶膏啶� 啶掂た啶掂ぐ啶� 啶侧た啶栢え啶� 啶膏啶栢啶傕イ',
     upgradeHighQualityTip: '啶忇 啶ぞ啶� 啶夃啷嵿 啶椸啶`さ啶む啶むぞ 啶啶� 啶啶� 啶呧お啶椸啶班啶� 啶曕ぐ啶ㄠ 啶曕 啶ぞ啶�, 啶曕た啶ぞ啶い啷� 啶啶� 啶啶� 啶掂ぞ啶じ 啶溹ぞ啶ㄠぞ 啶夃お啶侧が啷嵿ぇ 啶ㄠす啷�啶� 啶灌',
-    searchModel: '啶啶∴げ 啶栢啶溹啶�',
   },
 }
 
diff --git a/i18n/hi-IN/dataset.ts b/i18n/hi-IN/dataset.ts
index 9be333c..b95f130 100644
--- a/i18n/hi-IN/dataset.ts
+++ b/i18n/hi-IN/dataset.ts
@@ -175,54 +175,6 @@
   documentsDisabled: '{{num}} 啶︵じ啷嵿い啶距さ啷囙啶� 啶呧啷嵿し啶� - 30 啶︵た啶ㄠ啶� 啶膏 啶呧ぇ啶苦 啶膏ぎ啶� 啶膏 啶ㄠた啶粪啶曕啶班た啶�',
   allKnowledge: '啶膏ぐ啷嵿さ 啶溹啶炧ぞ啶�',
   allKnowledgeDescription: '啶囙じ 啶曕ぞ啶班啶じ啷嵿ぅ啶距え 啶啶� 啶膏き啷� 啶溹啶炧ぞ啶� 啶啶班う啶班啶多た啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶氞く啶� 啶曕ぐ啷囙. 啶曕啶掂げ 啶曕ぞ啶班啶じ啷嵿ぅ啶距え 啶膏啶掂ぞ啶 啶灌 啶膏き啷� 啶溹啶炧ぞ啶� 啶曕ぞ 啶啶班が啶傕ぇ啶� 啶曕ぐ 啶膏啶むぞ 啶灌.',
-  metadata: {
-    createMetadata: {
-      type: '啶熰ぞ啶囙お 啶曕ぐ啷囙',
-      name: '啶ㄠぞ啶�',
-      namePlaceholder: '啶о啶ぞ啶ㄠ 啶曕ぞ 啶ㄠぞ啶� 啶溹啶∴ぜ啷囙',
-      title: '啶ㄠく啶� 啶啶熰ぞ啶∴啶熰ぞ',
-      back: '啶啶涏',
-    },
-    checkName: {
-      empty: '啶啶熰ぞ啶∴ぞ啶熰ぞ 啶曕ぞ 啶ㄠぞ啶� 啶栢ぞ啶侧 啶ㄠす啷�啶� 啶灌 啶膏啶むぞ',
-      invalid: '啶啶熰ぞ啶∴啶熰ぞ 啶ㄠぞ啶� 啶啶� 啶曕啶掂げ 啶涏啶熰 啶呧啷嵿し啶�, 啶膏啶栢啶ぞ 啶斷ぐ 啶呧啶∴ぐ啶膏啶曕啶� 啶多ぞ啶た啶� 啶灌 啶膏啶む 啶灌啶� 啶斷ぐ 啶囙じ啷� 啶涏啶熰 啶呧啷嵿し啶� 啶膏 啶多啶班 啶灌啶ㄠぞ 啶氞ぞ啶灌た啶忇イ',
-    },
-    batchEditMetadata: {
-      editMetadata: '啶啶熰ぞ啶∴啶熰ぞ 啶膏啶ぞ啶︵た啶� 啶曕ぐ啷囙',
-      multipleValue: '啶曕 啶ぞ啶�',
-      applyToAllSelectDocument: '啶氞啶ㄠ 啶椸 啶膏き啷� 啶︵じ啷嵿い啶距さ啷囙啶监啶� 啶ぐ 啶侧ぞ啶椸 啶曕ぐ啷囙',
-      editDocumentsNum: '啶膏啶ぞ啶︵た啶� 啶曕ぐ 啶班す啷� 啶灌啶� {{num}} 啶︵じ啷嵿い啶距さ啷囙啶�',
-      applyToAllSelectDocumentTip: '啶膏き啷� 啶氞く啶ㄠた啶� 啶︵じ啷嵿い啶距さ啷囙啶监啶� 啶曕 啶侧た啶� 啶娻お啶� 啶︵た啶� 啶椸 啶膏啶ぞ啶︵た啶� 啶斷ぐ 啶ㄠ 啶啶熰ぞ啶∴啶熰ぞ 啶曕 啶膏啶掂啶距げ啶苦い 啶班啶� 啶膏 啶え啶距啶�, 啶呧え啷嵿く啶ムぞ 啶啶熰ぞ啶∴啶熰ぞ 啶曕ぞ 啶膏啶ぞ啶︵え 啶曕啶掂げ 啶夃え 啶︵じ啷嵿い啶距さ啷囙啶监啶� 啶ぐ 啶侧ぞ啶椸 啶灌啶椸ぞ 啶溹た啶ㄠぎ啷囙 啶す 啶啶溹啶� 啶灌啷�',
-    },
-    selectMetadata: {
-      manageAction: '啶啶班が啶傕ぇ啶苦い 啶曕ぐ啷囙',
-      search: '啶栢啶� 啶啶熰ぞ啶∴啶熰ぞ',
-      newAction: '啶ㄠく啶� 啶啶熰ぞ啶∴啶熰ぞ',
-    },
-    datasetMetadata: {
-      addMetaData: '啶啶熰ぞ啶∴啶熰ぞ 啶溹啶∴ぜ啷囙',
-      rename: '啶ㄠぞ啶� 啶う啶侧啶�',
-      name: '啶ㄠぞ啶�',
-      values: '{{num}} 啶ぞ啶�',
-      namePlaceholder: '啶啶熰ぞ啶∴啶熰ぞ 啶ㄠぞ啶�',
-      deleteContent: '啶曕啶ぞ 啶嗋お 啶膏啶ㄠた啶多啶氞た啶� 啶灌啶� 啶曕た 啶嗋お 啶啶熰ぞ啶∴啶熰ぞ "{{name}}" 啶曕 啶灌啶距え啶� 啶氞ぞ啶灌い啷� 啶灌啶�?',
-      deleteTitle: '啶灌啶距え啷� 啶曕 啶啶粪啶熰た 啶曕ぐ啷囙',
-      description: '啶嗋お 啶囙じ 啶溹啶炧ぞ啶� 啶啶� 啶膏き啷� 啶啶熰ぞ啶∴啶熰ぞ 啶啶班が啶傕ぇ啶苦い 啶曕ぐ 啶膏啶む 啶灌啶傕イ 啶膏啶多啶оえ 啶灌ぐ 啶︵じ啷嵿い啶距さ啷囙啶� 啶啶� 啶膏ぎ啶ㄠ啶掂く啶苦い 啶曕た啶� 啶溹ぞ啶忇啶椸啷�',
-      disabled: '啶呧啷嵿し啶�',
-      builtInDescription: '啶た啶侧啶�-啶囙え 啶啶熰ぞ啶∴啶熰ぞ 啶膏啶掂啶距げ啶苦い 啶班啶� 啶膏 啶ㄠた啶曕ぞ啶侧ぞ 啶斷ぐ 啶夃い啷嵿お啶ㄠ啶� 啶灌啶むぞ 啶灌啷� 啶囙じ啷� 啶夃お啶啶� 啶膏 啶す啶侧 啶膏啷嵿し啶� 啶曕ぐ啶ㄠぞ 啶嗋さ啶多啶 啶灌 啶斷ぐ 啶囙じ啷� 啶膏啶ぞ啶︵た啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶溹ぞ 啶膏啶むぞ 啶灌啷�',
-      builtIn: '啶た啶侧啶�-啶囙え',
-    },
-    documentMetadata: {
-      documentInformation: '啶︵じ啷嵿い啶距さ啷囙啶� 啶溹ぞ啶ㄠ啶距ぐ啷�',
-      technicalParameters: '啶む啶ㄠ啶曕 啶啶班ぞ啶啶熰ぐ',
-      startLabeling: '啶侧啶げ啶苦啶� 啶多啶班 啶曕ぐ啷囙',
-      metadataToolTip: '啶啶熰ぞ啶∴啶熰ぞ 啶忇 啶す啶む啶掂お啷傕ぐ啷嵿ぃ 啶ぜ啶苦げ啷嵿啶� 啶曕 啶班啶� 啶啶� 啶曕ぞ啶班啶� 啶曕ぐ啶むぞ 啶灌 啶溹 啶溹ぞ啶ㄠ啶距ぐ啷� 啶啶班ぞ啶啶� 啶曕ぐ啶ㄠ 啶曕 啶膏啷�啶曕い啶� 啶斷ぐ 啶啶班ぞ啶膏啶椸た啶曕い啶� 啶曕 啶あ啶监ぞ啶むぞ 啶灌啷� 啶嗋お 啶囙じ 啶︵じ啷嵿い啶距さ啷囙啶� 啶曕 啶侧た啶� 啶啶熰ぞ啶∴啶熰ぞ 啶曕 啶す啶距 啶膏啶多啶оた啶� 啶斷ぐ 啶溹啶∴ぜ 啶膏啶む 啶灌啶傕イ',
-    },
-    chooseTime: '啶忇 啶膏ぎ啶� 啶氞啶ㄠ啶�...',
-    addMetadata: '啶啶熰ぞ啶∴啶熰ぞ 啶溹啶∴ぜ啷囙',
-    metadata: '啶啶熰ぞ啶∴啶熰ぞ',
-  },
-  embeddingModelNotAvailable: '啶忇ぎ啷嵿が啷囙ぁ啶苦啶� 啶啶∴げ 啶夃お啶侧が啷嵿ぇ 啶ㄠす啷�啶� 啶灌啷�',
 }
 
 export default translation
diff --git a/i18n/hi-IN/explore.ts b/i18n/hi-IN/explore.ts
index a9e850c..145c4e0 100644
--- a/i18n/hi-IN/explore.ts
+++ b/i18n/hi-IN/explore.ts
@@ -38,7 +38,6 @@
     HR: '啶ぞ啶ㄠさ 啶膏啶膏ぞ啶оえ',
     Workflow: '啶曕ぞ啶班啶お啷嵿ぐ啶掂ぞ啶�',
     Agent: '啶嗋あ啶监い啶苦く啶�',
-    Entertainment: '啶え啷嬥ぐ啶傕啶�',
   },
 }
 
diff --git a/i18n/hi-IN/run-log.ts b/i18n/hi-IN/run-log.ts
index c53d4a5..f6c52c7 100644
--- a/i18n/hi-IN/run-log.ts
+++ b/i18n/hi-IN/run-log.ts
@@ -24,8 +24,6 @@
     link: '啶掂た啶掂ぐ啶� 啶啶ㄠげ',
     tipRight: ' 啶︵啶栢啶傕イ',
   },
-  actionLogs: '啶曕啶班た啶ぞ 啶侧啶�',
-  circularInvocationTip: '啶掂ぐ啷嵿い啶ぞ啶� 啶曕ぞ啶班啶お啷嵿ぐ啶掂ぞ啶� 啶啶� 啶夃お啶曕ぐ啶`啶�/啶ㄠ啶∴啶� 啶曕ぞ 啶掂啶む啶むぞ啶曕ぞ啶� 啶嗋す啷嵿さ啶距え 啶灌啷�',
 }
 
 export default translation
diff --git a/i18n/hi-IN/share-app.ts b/i18n/hi-IN/share-app.ts
index e0296fd..a5c7816 100644
--- a/i18n/hi-IN/share-app.ts
+++ b/i18n/hi-IN/share-app.ts
@@ -3,8 +3,6 @@
     welcome: '啶嗋お啶曕ぞ 啶膏啶掂ぞ啶椸い 啶灌',
     appUnavailable: '啶愢お 啶夃お啶侧が啷嵿ぇ 啶ㄠす啷�啶� 啶灌',
     appUnknownError: '啶呧啷嵿啶距い 啶む啶班啶熰た, 啶曕啶く啶� 啶啶ㄠ 啶啶班く啶距じ 啶曕ぐ啷囙',
-    // @ts-expect-error TODO: fix this
-
     appUnknownError: '啶愢お 啶呧え啷佮お啶侧が啷嵿ぇ 啶灌',
   },
   chat: {
@@ -30,12 +28,6 @@
     },
     tryToSolve: '啶膏ぎ啶距ぇ啶距え 啶曕ぐ啶ㄠ 啶曕ぞ 啶啶班く啶距じ 啶曕ぐ啷囙',
     temporarySystemIssue: '啶呧き啷� 啶膏た啶膏啶熰ぎ 啶啶� 啶膏ぎ啶膏啶ぞ 啶灌, 啶曕啶く啶� 啶啶ㄠ 啶啶班く啶距じ 啶曕ぐ啷囙啷�',
-    expand: '啶掂た啶膏啶むぞ啶� 啶曕ぐ啷囙',
-    collapse: '啶膏啶曕啶氞た啶� 啶曕ぐ啷囙',
-    viewChatSettings: '啶氞啶� 啶膏啶熰た啶傕啷嵿じ 啶︵啶栢啶�',
-    chatSettingsTitle: '啶ㄠく啶� 啶氞啶� 啶膏啶熰啶�',
-    chatFormTip: '啶氞啶� 啶多啶班 啶灌啶ㄠ 啶曕 啶ぞ啶� 啶氞啶� 啶膏啶熰た啶傕啷嵿じ 啶曕 啶膏啶多啶оた啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶溹ぞ 啶膏啶むぞ啷�',
-    newChatTip: '啶す啶侧 啶膏 啶灌 啶忇 啶ㄠ 啶氞啶� 啶啶�',
   },
   generation: {
     tabs: {
@@ -77,8 +69,6 @@
         '啶班 {{rowIndex}}: {{varName}} 啶ぞ啶� {{maxLength}} 啶掂ぐ啷嵿ぃ啷嬥 啶膏 啶呧ぇ啶苦 啶ㄠす啷�啶� 啶灌 啶膏啶むぞ',
       atLeastOne: '啶曕啶く啶� 啶呧お啶侧啶� 啶曕 啶椸 啶ぜ啶距啶� 啶啶� 啶曕ぎ 啶膏 啶曕ぎ 啶忇 啶啶曕啶むた 啶ぐ啷囙啷�',
     },
-    execution: '啶呧え啷佹墽琛�',
-    executions: '{{num}} 啶ぞ啶佮じ啷�',
   },
 }
 
diff --git a/i18n/hi-IN/tools.ts b/i18n/hi-IN/tools.ts
index e9b8107..2060682 100644
--- a/i18n/hi-IN/tools.ts
+++ b/i18n/hi-IN/tools.ts
@@ -137,7 +137,6 @@
     number: '啶ㄠ啶ぐ',
     required: '啶嗋さ啶多啶',
     infoAndSetting: '啶溹ぞ啶ㄠ啶距ぐ啷� 啶斷ぐ 啶膏啶熰た啶傕啷嵿じ',
-    file: '啶ぞ啶囙げ',
   },
   noCustomTool: {
     title: '啶曕啶� 啶曕じ啷嵿啶� 啶夃お啶曕ぐ啶� 啶ㄠす啷�啶�!',
@@ -156,8 +155,6 @@
   howToGet: '啶曕啶膏 啶啶班ぞ啶啶� 啶曕ぐ啷囙',
   openInStudio: '啶膏啶熰啶∴た啶 啶啶� 啶栢啶侧啶�',
   toolNameUsageTip: '啶忇啷囙啶� 啶むぐ啷嵿 啶斷ぐ 啶啶班啶班ぃ 啶曕 啶侧た啶� 啶夃お啶曕ぐ啶� 啶曕啶� 啶ㄠぞ啶�',
-  noTools: '啶曕啶� 啶夃お啶曕ぐ啶� 啶ㄠす啷�啶� 啶た啶侧ぞ',
-  copyToolName: '啶ㄠぞ啶� 啶曕啶 啶曕ぐ啷囙',
 }
 
 export default translation
diff --git a/i18n/hi-IN/workflow.ts b/i18n/hi-IN/workflow.ts
index 17d33a0..682d1de 100644
--- a/i18n/hi-IN/workflow.ts
+++ b/i18n/hi-IN/workflow.ts
@@ -109,15 +109,6 @@
     addFailureBranch: '啶呧じ啶げ 啶多ぞ啶栢ぞ 啶溹啶∴ぜ啷囙',
     noHistory: '啶曕啶� 啶囙い啶苦す啶距じ 啶ㄠす啷�啶�',
     loadMore: '啶呧ぇ啶苦 啶掂ぐ啷嵿啶ぜ啷嵿げ啷嬥啶� 啶侧啶� 啶曕ぐ啷囙',
-    exitVersions: '啶ㄠた啶曕げ啶ㄠ 啶曕 啶膏啶膏啶曕ぐ啶�',
-    exportPNG: 'PNG 啶曕 啶班啶� 啶啶� 啶ㄠた啶班啶ぞ啶� 啶曕ぐ啷囙',
-    exportJPEG: 'JPEG 啶曕 啶班啶� 啶啶� 啶ㄠた啶班啶ぞ啶� 啶曕ぐ啷囙',
-    referenceVar: '啶膏啶︵ぐ啷嵿き 啶氞ぐ',
-    noExist: '啶曕啶� 啶愢じ啶� 啶氞ぐ 啶ㄠす啷�啶� 啶灌',
-    exportImage: '啶涏さ啶� 啶ㄠた啶班啶ぞ啶� 啶曕ぐ啷囙',
-    publishUpdate: '啶呧お啶∴啶� 啶啶班啶距ざ啶苦い 啶曕ぐ啷囙',
-    exportSVG: 'SVG 啶曕 啶班啶� 啶啶� 啶ㄠた啶班啶ぞ啶� 啶曕ぐ啷囙',
-    versionHistory: '啶膏啶膏啶曕ぐ啶� 啶囙い啶苦す啶距じ',
   },
   env: {
     envPanelTitle: '啶ぐ啷嵿く啶距さ啶班ぃ 啶氞ぐ',
@@ -207,8 +198,6 @@
     },
     invalidVariable: '啶呧ぎ啶距え啷嵿く 啶掂啶班た啶忇が啶�',
     rerankModelRequired: 'Rerank 啶啶∴げ 啶氞ぞ啶侧 啶曕ぐ啶ㄠ 啶膏 啶す啶侧, 啶曕啶く啶� 啶啶粪啶熰た 啶曕ぐ啷囙 啶曕た 啶啶∴げ 啶曕 啶膏啶熰た啶傕啷嵿じ 啶啶� 啶膏か啶侧い啶距お啷傕ぐ啷嵿さ啶� 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕た啶ぞ 啶椸く啶� 啶灌啷�',
-    toolParameterRequired: '{{field}}: 啶啶班ぞ啶啶熰ぐ [{{param}}] 啶嗋さ啶多啶 啶灌',
-    noValidTool: '{{field}} 啶曕啶� 啶ぞ啶ㄠ啶� 啶夃お啶曕ぐ啶� 啶氞く啶ㄠた啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶�',
   },
   singleRun: {
     testRun: '啶ぐ啷�啶曕啶粪ぃ 啶班え',
@@ -217,7 +206,6 @@
     testRunIteration: '啶ぐ啷�啶曕啶粪ぃ 啶班え 啶啶ㄠぐ啶距さ啷冟い啷嵿い啶�',
     back: '啶掂ぞ啶じ',
     iteration: '啶啶ㄠぐ啶距さ啷冟い啷嵿い啶�',
-    loop: '啶侧啶�',
   },
   tabs: {
     'searchBlock': '啶啶侧啶� 啶栢啶溹啶�',
@@ -233,8 +221,6 @@
     'utilities': '啶夃お啶啶椸た啶むぞ啶忇',
     'noResult': '啶曕啶� 啶た啶侧ぞ啶� 啶ㄠす啷�啶� 啶た啶侧ぞ',
     'searchTool': '啶栢啶� 啶夃お啶曕ぐ啶�',
-    'plugin': '啶啶侧啶囙え',
-    'agent': '啶忇啷囙啶� 啶班ぃ啶ㄠ啶むた',
   },
   blocks: {
     'start': '啶啶班ぞ啶班啶�',
@@ -255,10 +241,6 @@
     'parameter-extractor': '啶啶班ぞ啶啶熰ぐ 啶ㄠた啶粪啶曕ぐ啷嵿し啶�',
     'list-operator': '啶膏啶氞 啶戉お啶班啶熰ぐ',
     'document-extractor': '啶∴啶曕啶熰ぐ 啶忇啷嵿じ啶熰啶班啶曕啶熰ぐ',
-    'agent': '啶忇啷囙啶�',
-    'loop-end': '啶侧啶� 啶膏 啶ぞ啶灌ぐ 啶ㄠた啶曕げ啷囙',
-    'loop': '啶侧啶�',
-    'loop-start': '啶侧啶� 啶啶班ぞ啶班啶�',
   },
   blocksAbout: {
     'start': '啶掂ぐ啷嵿啶ぜ啷嵿げ啷� 啶侧啶ㄠ啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶啶班ぞ啶班啶た啶� 啶啶班ぞ啶啶熰ぐ 啶曕 啶ぐ啶苦き啶距し啶苦い 啶曕ぐ啷囙',
@@ -286,9 +268,6 @@
       '啶熰啶� 啶嗋ぎ啶傕い啷嵿ぐ啶`啶� 啶ぞ HTTP 啶呧え啷佮ぐ啷嬥ぇ啷嬥 啶曕 啶侧た啶� 啶啶班ぞ啶曕啶むた啶� 啶ぞ啶粪ぞ 啶膏 啶膏啶班啶苦い 啶啶班ぞ啶啶熰ぐ 啶ㄠた啶曕ぞ啶侧え啷� 啶曕 啶侧た啶� LLM 啶曕ぞ 啶夃お啶啶� 啶曕ぐ啷囙啷�',
     'document-extractor': '啶呧お啶侧啶� 啶曕た啶� 啶椸 啶︵じ啷嵿い啶距さ啷囙啶监啶� 啶曕 啶ぞ啶� 啶膏ぞ啶啷嵿ぐ啷� 啶啶� 啶ぞ啶班啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶夃お啶啶� 啶曕た啶ぞ 啶溹ぞ啶むぞ 啶灌 啶溹 啶忇げ啶忇げ啶忇ぎ 啶︵啶掂ぞ啶班ぞ 啶嗋じ啶距え啷� 啶膏 啶膏ぎ啶澿ぞ 啶溹ぞ 啶膏啶むぞ 啶灌啷�',
     'list-operator': '啶膏ぐ啶` 啶膏ぞ啶啷嵿ぐ啷� 啶ぜ啶苦げ啷嵿啶� 啶ぞ 啶膏啶班啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶夃お啶啶� 啶曕た啶ぞ 啶溹ぞ啶むぞ 啶灌.',
-    'agent': '啶啶班ざ啷嵿え啷嬥 啶曕ぞ 啶夃い啷嵿い啶� 啶︵啶ㄠ 啶ぞ 啶啶班ぞ啶曕啶むた啶� 啶ぞ啶粪ぞ 啶曕 啶膏啶膏ぞ啶оた啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶ぁ啶监 啶ぞ啶粪ぞ 啶啶∴げ啷嬥 啶曕 啶嗋ぎ啶傕い啷嵿ぐ啶苦い 啶曕ぐ啶ㄠぞ',
-    'loop': '啶忇 啶侧啶� 啶曕 啶ㄠた啶粪啶ぞ啶︵た啶� 啶曕ぐ啷囙 啶溹が 啶む 啶膏ぎ啶距お啷嵿い啶� 啶曕 啶多ぐ啷嵿い 啶啶班 啶� 啶灌 啶溹ぞ啶� 啶ぞ 啶呧ぇ啶苦啶むぎ 啶侧啶� 啶膏啶栢啶ぞ 啶啶班ぞ啶啶� 啶� 啶灌 啶溹ぞ啶忇イ',
-    'loop-end': '"啶啶班啶�" 啶曕 啶膏ぎ啶距え啷� 啶囙じ 啶ㄠ啶� 啶啶� 啶曕啶� 啶掂た啶ㄠ啶ぞ啶� 啶嗋啶熰ぎ 啶ㄠす啷�啶� 啶灌啶傕イ 啶溹が 啶侧啶� 啶曕ぞ 啶多ぐ啷�啶� 啶囙じ 啶ㄠ啶� 啶ぐ 啶す啷佮啶氞い啶� 啶灌, 啶む 啶侧啶� 啶膏ぎ啶距お啷嵿い 啶灌啶むぞ 啶灌啷�',
   },
   operator: {
     zoomIn: '啶溹ぜ啷傕ぎ 啶囙え',
@@ -432,34 +411,6 @@
         variable: '啶掂啶班た啶忇が啶�',
       },
       sysQueryInUser: '啶夃お啶啶椸啶班啶むぞ 啶膏啶︵啶� 啶啶� sys.query 啶嗋さ啶多啶 啶灌',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '啶曕啶く啶� 啶膏啶曕啶ぞ 啶曕 啶膏す啷囙啶ㄠ 啶膏 啶す啶侧 啶掂ぐ啷嵿い啶ぞ啶� 啶ぜ啷�啶侧啶� 啶曕 啶膏啶ぞ啶︵た啶� 啶曕ぐ啶ㄠぞ 啶啶班ぞ 啶曕ぐ啷囙',
-        },
-        apply: '啶侧ぞ啶椸 啶曕ぐ啷囙',
-        promptPlaceholder: '啶呧お啶ㄠ JSON 啶膏啶曕た啶ぞ 啶曕ぞ 啶掂ぐ啷嵿ぃ啶� 啶曕ぐ啷囙...',
-        title: '啶膏啶班啶苦い 啶嗋啶熰お啷佮 啶膏啶曕啶ぞ',
-        fieldNamePlaceholder: '啶曕啶粪啶む啶� 啶ㄠぞ啶�',
-        generate: '啶溹え啶班啶� 啶曕ぐ啷囙',
-        resultTip: '啶す啶距 啶夃い啷嵿お啶ㄠ啶� 啶ぐ啶苦ぃ啶距ぎ 啶灌啷� 啶う啶� 啶嗋お 啶膏啶む啶粪啶� 啶ㄠす啷�啶� 啶灌啶�, 啶む 啶嗋お 啶掂ぞ啶じ 啶溹ぞ 啶膏啶む 啶灌啶� 啶斷ぐ 啶呧お啶ㄠ 啶啶班啶啶啶� 啶曕 啶膏啶多啶оた啶� 啶曕ぐ 啶膏啶む 啶灌啶傕イ',
-        generatedResult: '啶溹え啶苦い 啶ぐ啶苦ぃ啶距ぎ',
-        import: 'JSON 啶膏 啶嗋く啶距い 啶曕ぐ啷囙',
-        resetDefaults: '啶班啶膏啶� 啶曕ぐ啷囙',
-        instruction: '啶ㄠた啶班啶︵啶�',
-        regenerate: '啶啶ㄠぐ啷嵿啷�啶掂た啶� 啶曕ぐ啷囙',
-        generateJsonSchema: 'JSON 啶膏啶曕啶ぞ 啶夃い啷嵿お啶ㄠ啶� 啶曕ぐ啷囙',
-        addField: '啶曕啶粪啶む啶� 啶溹啶∴ぜ啷囙',
-        doc: '啶膏啶班啶苦い 啶嗋啶熰お啷佮 啶曕 啶ぞ啶班 啶啶� 啶呧ぇ啶苦 啶溹ぞ啶ㄠ啶�',
-        back: '啶啶涏',
-        promptTooltip: '啶ぞ啶� 啶掂た啶掂ぐ啶� 啶曕 啶忇 啶ぞ啶ㄠ啷�啶曕啶� JSON 啶膏啶曕啶ぞ 啶膏啶班啶ㄠぞ 啶啶� 啶ぐ啶苦さ啶班啶むた啶� 啶曕ぐ啷囙啷�',
-        descriptionPlaceholder: '啶掂た啶掂ぐ啶� 啶溹啶∴ぜ啷囙',
-        generating: 'JSON 啶膏啶曕啶ぞ 啶夃い啷嵿お啶ㄠ啶� 啶曕ぐ啶ㄠぞ...',
-        showAdvancedOptions: '啶夃え啷嵿え啶� 啶掂た啶曕げ啷嵿お 啶︵た啶栢ぞ啶忇',
-        stringValidations: '啶膏啶熰啶班た啶傕 啶ぞ啶ㄠ啶い啶�',
-        generationTip: '啶嗋お 啶啶班ぞ啶曕啶むた啶� 啶ぞ啶粪ぞ 啶曕ぞ 啶夃お啶啶� 啶曕ぐ啶曕 啶溹げ啷嵿う啷� 啶膏 啶忇 JSON 啶膏啶曕啶ぞ 啶え啶� 啶膏啶む 啶灌啶傕イ',
-        required: '啶嗋さ啶多啶',
-        addChildField: '啶啷嵿啷� 啶曕ぞ 啶曕啶粪啶む啶� 啶溹啶∴ぜ啷囙',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '啶啶班ざ啷嵿え 啶掂啶班た啶忇が啶�',
@@ -471,33 +422,6 @@
         icon: '啶掂た啶ぞ啶溹た啶� 啶嗋啶曕え',
         url: '啶掂た啶ぞ啶溹た啶� URL',
         metadata: '啶呧え啷嵿く 啶啶熰ぞ啶∴啶熰ぞ',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: '啶呧啷嵿し啶�',
-            subTitle: '啶啶熰ぞ啶∴啶熰ぞ 啶ぜ啶苦げ啷嵿啶班た啶傕 啶曕 啶膏啷嵿し啶� 啶ㄠす啷�啶� 啶曕ぐ啶ㄠぞ',
-          },
-          automatic: {
-            title: '啶膏啶掂啶距げ啶苦い',
-            subTitle: '啶夃お啶啶椸啶班啶むぞ 啶啶班ざ啷嵿え 啶曕 啶嗋ぇ啶距ぐ 啶ぐ 啶膏啶掂啶距げ啶苦い 啶班啶� 啶膏 啶啶熰ぞ啶∴啶熰ぞ 啶た啶侧啶熰ぐ啶苦啶� 啶多ぐ啷嵿い啷囙 啶夃い啷嵿お啶ㄠ啶� 啶曕ぐ啷囙啷�',
-            desc: '啶曕啶掂啶班 啶掂啶班た啶忇が啶� 啶曕 啶嗋ぇ啶距ぐ 啶ぐ 啶膏啶掂啶距げ啶苦い 啶班啶� 啶膏 啶啶熰ぞ啶∴啶熰ぞ 啶ぜ啶苦げ啷嵿啶班た啶傕 啶多ぐ啷嵿い啷囙 啶夃い啷嵿お啶ㄠ啶� 啶曕ぐ啷囙',
-          },
-          manual: {
-            subTitle: '啶灌ぞ啶� 啶膏 啶啶熰ぞ啶∴啶熰ぞ 啶ぜ啶苦げ啷嵿啶班た啶傕 啶膏啶ムた啶むた啶ぞ啶� 啶溹啶∴ぜ啷囙',
-            title: '啶啶ㄠ啶呧げ',
-          },
-        },
-        panel: {
-          placeholder: '啶ぞ啶� 啶∴ぞ啶侧啶�',
-          add: '啶多ぐ啷嵿い 啶溹啶∴ぜ啷囙',
-          title: '啶啶熰ぞ啶∴啶熰ぞ 啶ぜ啶苦げ啷嵿啶� 啶膏啶ムた啶むた啶ぞ啶�',
-          select: '啶ぐ啶苦さ啶班啶むえ啶多啶� 啶曕 啶氞啶ㄠ啶�...',
-          datePlaceholder: '啶忇 啶膏ぎ啶� 啶氞啶ㄠ啶�...',
-          conditions: '啶多ぐ啷嵿い啷囙',
-          search: '啶栢啶� 啶啶熰ぞ啶∴啶熰ぞ',
-        },
-        title: '啶啶熰ぞ啶∴啶熰ぞ 啶ぜ啶苦げ啷嵿啶班た啶傕',
       },
     },
     http: {
@@ -590,8 +514,6 @@
         'not exists': '啶啶溹啶� 啶ㄠす啷�啶� 啶灌',
         'exists': '啶啶溹啶� 啶灌',
         'not in': '啶ㄠす啷�啶� 啶灌',
-        'before': '啶す啶侧',
-        'after': '啶ぞ啶� 啶啶�',
       },
       enterValue: '啶ぞ啶� 啶︵ぐ啷嵿 啶曕ぐ啷囙',
       addCondition: '啶多ぐ啷嵿い 啶溹啶∴ぜ啷囙',
@@ -607,7 +529,6 @@
       },
       select: '啶氞啶ㄠえ啶�',
       addSubVariable: '啶夃お 啶氞ぐ',
-      condition: '啶膏啶ムた啶むた',
     },
     variableAssigner: {
       title: '啶掂啶班た啶忇が啶侧啶� 啶呧じ啶距啶� 啶曕ぐ啷囙',
@@ -651,8 +572,6 @@
         'extend': '啶じ啶距ぐ',
         '-=': '-=',
         'append': '啶膏啶侧啷嵿え',
-        'remove-first': '啶す啶侧ぞ 啶灌啶距',
-        'remove-last': '啶呧啶むた啶� 啶灌啶距啶�',
       },
       'setParameter': '啶啶班ぞ啶啶熰ぐ 啶膏啶� 啶曕ぐ啷囙...',
       'noVarTip': '啶氞ぐ 啶溹啶∴ぜ啶ㄠ 啶曕 啶侧た啶� "+" 啶啶� 啶ぐ 啶曕啶侧た啶� 啶曕ぐ啷囙',
@@ -792,107 +711,6 @@
       inputVar: '啶囙え啶啶� 啶掂啶班た啶忇が啶�',
       extractsCondition: 'N 啶嗋啶熰ぎ 啶ㄠた啶曕ぞ啶侧啶�',
     },
-    agent: {
-      strategy: {
-        shortLabel: '啶班ぃ啶ㄠ啶むた',
-        label: '啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた',
-        selectTip: '啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた 啶氞啶ㄠ啶�',
-        searchPlaceholder: '啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた 啶栢啶溹啶�',
-        configureTip: '啶曕啶く啶� 啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた 啶曕 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙啷�',
-        configureTipDesc: '啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた 啶曕 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啶ㄠ 啶曕 啶ぞ啶�, 啶す 啶ㄠ啶� 啶膏啶掂啶距げ啶苦い 啶班啶� 啶膏 啶多啶� 啶曕啶ㄠ啶ぜ啶苦啶班啶多え 啶侧啶� 啶曕ぐ啷囙啶距イ 啶す 啶班ぃ啶ㄠ啶むた 啶す啷�-啶氞ぐ啶� 啶夃お啶曕ぐ啶� 啶むぐ啷嵿 啶曕 啶む啶む啶� 啶曕 啶啶班き啶距さ啶苦い 啶曕ぐ啷囙啷�啷�',
-        tooltip: '啶掂た啶た啶ㄠ啶� 啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた啶ぞ啶� 啶ㄠた啶班啶оぞ啶班た啶� 啶曕ぐ啶む 啶灌啶� 啶曕た 啶啶班ぃ啶距げ啷� 啶す啷�-啶氞ぐ啶� 啶夃お啶曕ぐ啶� 啶曕啶� 啶曕 啶啶溹え啶� 啶曕啶膏 啶え啶距い啷� 啶灌 啶斷ぐ 啶夃え啷嵿す啷囙 啶曕啶膏 啶ㄠた啶粪啶ぞ啶︵た啶� 啶曕ぐ啶む 啶灌啷�',
-      },
-      pluginInstaller: {
-        install: '啶膏啶ムぞ啶た啶� 啶曕ぐ啷囙',
-        installing: '啶膏啶ムぞ啶た啶� 啶曕ぐ啶ㄠぞ',
-      },
-      modelNotInMarketplace: {
-        desc: '啶す 啶啶∴げ 啶膏啶ムぞ啶ㄠ啶� 啶ぞ 啶椸た啶熰す啶� 啶班た啶啶溹た啶熰ぐ啷� 啶膏 啶膏啶ムぞ啶た啶� 啶曕た啶ぞ 啶椸く啶� 啶灌啷� 啶曕啶く啶� 啶膏啶ムぞ啶え啶� 啶曕 啶ぞ啶� 啶夃お啶啶� 啶曕ぐ啷囙啷�',
-        manageInPlugins: '啶啶侧啶囙え啷嵿じ 啶啶� 啶啶班が啶傕ぇ啶苦い 啶曕ぐ啷囙',
-        title: '啶啶∴げ 啶膏啶ムぞ啶た啶� 啶ㄠす啷�啶� 啶灌',
-      },
-      modelNotSupport: {
-        desc: '啶膏啶ムぞ啶た啶� 啶啶侧啶囙え 啶膏啶膏啶曕ぐ啶� 啶囙じ 啶啶∴げ 啶曕 啶啶班う啶距え 啶ㄠす啷�啶� 啶曕ぐ啶むぞ 啶灌啷�',
-        descForVersionSwitch: '啶膏啶ムぞ啶た啶� 啶啶侧啶囙え 啶膏啶膏啶曕ぐ啶� 啶囙じ 啶啶∴げ 啶曕 啶啶班う啶距え 啶ㄠす啷�啶� 啶曕ぐ啶むぞ 啶灌啷� 啶膏啶膏啶曕ぐ啶� 啶う啶侧え啷� 啶曕 啶侧た啶� 啶曕啶侧た啶� 啶曕ぐ啷囙啷�',
-        title: '啶呧じ啶ぐ啷嵿ぅ啶苦い 啶啶∴げ',
-      },
-      modelSelectorTooltips: {
-        deprecated: '啶す 啶啶∴げ 啶呧お啷嵿ぐ啶氞げ啶苦い 啶灌啷�',
-      },
-      outputVars: {
-        files: {
-          transfer_method: '啶膏啶ムぞ啶ㄠぞ啶傕い啶班ぃ 啶掂た啶оた啷� 啶ぞ啶� 啶ぞ 啶む remote_url 啶灌 啶ぞ local_file啷�',
-          url: '啶涏さ啶� 啶啶嗋ぐ啶忇げ',
-          upload_file_id: '啶ぞ啶囙げ 啶嗋啶∴ 啶呧お啶侧啶� 啶曕ぐ啷囙',
-          type: '啶膏ぎ啶班啶ムえ 啶啶班啶距ぐ啷� 啶呧が 啶曕啶掂げ 啶膏ぎ啶班啶ムえ 啶涏さ啶�',
-          title: '啶忇啷囙啶� 啶︵啶掂ぞ啶班ぞ 啶夃い啷嵿お啶ㄠ啶� 啶ぜ啶距啶侧啶�',
-        },
-        text: '啶忇啷囙啶� 啶︵啶掂ぞ啶班ぞ 啶夃い啷嵿お啶ㄠ啶� 啶膏ぞ啶啷嵿ぐ啷�',
-        json: '啶忇啷囙啶� 啶︵啶掂ぞ啶班ぞ 啶夃い啷嵿お啶ㄠ啶� 啶溹啶膏え',
-      },
-      checkList: {
-        strategyNotSelected: '啶班ぃ啶ㄠ啶むた 啶曕ぞ 啶氞く啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶�',
-      },
-      installPlugin: {
-        install: '啶膏啶ムぞ啶た啶� 啶曕ぐ啷囙',
-        title: '啶啶侧啶囙え 啶膏啶ムぞ啶た啶� 啶曕ぐ啷囙',
-        changelog: '啶ぐ啶苦さ啶班啶むえ 啶侧啶�',
-        desc: '啶ㄠた啶啶ㄠげ啶苦啶苦い 啶啶侧啶囙え 啶膏啶ムぞ啶た啶� 啶曕ぐ啶ㄠ 啶掂ぞ啶侧 啶灌啶�',
-        cancel: '啶班う啷嵿う 啶曕ぐ啷囙',
-      },
-      unsupportedStrategy: '啶呧じ啶ぐ啷嵿ぅ啶苦い 啶班ぃ啶ㄠ啶むた',
-      modelNotSelected: '啶啶∴げ 啶曕ぞ 啶氞く啶� 啶ㄠす啷�啶� 啶曕た啶ぞ 啶椸く啶�',
-      tools: '啶夃お啶曕ぐ啶�',
-      strategyNotInstallTooltip: '{{strategy}} 啶膏啶ムぞ啶た啶� 啶ㄠす啷�啶� 啶灌',
-      toolNotInstallTooltip: '{{tool}} 啶膏啶ムぞ啶た啶� 啶ㄠす啷�啶� 啶灌',
-      toolbox: '啶熰啶侧が啷夃啷嵿じ',
-      learnMore: '啶斷ぐ 啶呧ぇ啶苦 啶溹ぞ啶ㄠ啶�',
-      strategyNotFoundDesc: '啶膏啶ムぞ啶た啶� 啶啶侧啶囙え 啶膏啶膏啶曕ぐ啶� 啶す 啶班ぃ啶ㄠ啶むた 啶啶班う啶距え 啶ㄠす啷�啶� 啶曕ぐ啶むぞ 啶灌啷�',
-      toolNotAuthorizedTooltip: '{{tool}} 啶呧ぇ啶苦啷冟い 啶ㄠす啷�啶� 啶灌',
-      pluginNotInstalled: '啶す 啶啶侧啶囙え 啶膏啶ムぞ啶た啶� 啶ㄠす啷�啶� 啶灌',
-      model: '啶啶∴げ',
-      notAuthorized: '啶呧ぇ啶苦啷冟い 啶ㄠす啷�啶�',
-      pluginNotInstalledDesc: '啶す 啶啶侧啶囙え 啶椸た啶熰す啶� 啶膏 啶膏啶ムぞ啶た啶� 啶曕た啶ぞ 啶椸く啶� 啶灌啷� 啶曕啶く啶� 啶啶ㄠ 啶膏啶ムぞ啶た啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶啶侧啶囙え啷嵿じ 啶ぐ 啶溹ぞ啶忇啷�',
-      configureModel: '啶啶∴げ 啶曕啶ㄠ啶ぜ啶苦啶� 啶曕ぐ啷囙',
-      linkToPlugin: '啶啶侧啶囙え啷嵿じ 啶曕 啶侧た啶� 啶侧た啶傕',
-      modelNotInstallTooltip: '啶す 啶啶∴げ 啶膏啶ムぞ啶た啶� 啶ㄠす啷�啶� 啶灌',
-      pluginNotFoundDesc: '啶す 啶啶侧啶囙え 啶椸た啶熰す啶� 啶膏 啶膏啶ムぞ啶た啶� 啶曕た啶ぞ 啶椸く啶� 啶灌啷� 啶曕啶く啶� 啶啶ㄠ 啶膏啶ムぞ啶た啶� 啶曕ぐ啶ㄠ 啶曕 啶侧た啶� 啶啶侧啶囙え啷嵿じ 啶ぐ 啶溹ぞ啶忇啷�',
-      maxIterations: '啶呧ぇ啶苦啶むぎ 啶啶ㄠぐ啶距さ啷冟い啷嵿い啶苦く啶距',
-      strategyNotSet: '啶忇啷囙啶熰た啶� 啶班ぃ啶ㄠ啶むた 啶膏啶� 啶ㄠす啷�啶� 啶曕 啶椸',
-      strategyNotFoundDescAndSwitchVersion: '啶膏啶ムぞ啶た啶� 啶啶侧啶囙え 啶膏啶膏啶曕ぐ啶� 啶囙じ 啶班ぃ啶ㄠ啶むた 啶曕 啶啶班う啶距え 啶ㄠす啷�啶� 啶曕ぐ啶むぞ 啶灌啷� 啶膏啶膏啶曕ぐ啶� 啶う啶侧え啷� 啶曕 啶侧た啶� 啶曕啶侧た啶� 啶曕ぐ啷囙啷�',
-    },
-    loop: {
-      ErrorMethod: {
-        continueOnError: '啶む啶班啶熰た 啶ぐ 啶溹ぞ啶班 啶班啷囙',
-        removeAbnormalOutput: '啶呧じ啶距ぎ啶距え啷嵿く 啶嗋啶熰お啷佮 啶灌啶距啶�',
-        operationTerminated: '啶膏ぎ啶距お啷嵿い',
-      },
-      inputMode: '啶囙え啶啶� 啶啶�',
-      output: '啶嗋啶熰お啷佮 啶掂啶班た啶忇が啶�',
-      input: '啶囙え啶啶�',
-      loop_other: '{{count}} 啶侧啶啶�',
-      currentLoop: '啶掂ぐ啷嵿い啶ぞ啶� 啶侧啶�',
-      deleteTitle: '啶侧啶� 啶ㄠ啶� 啶灌啶距啶�?',
-      error_other: '{{count}} 啶む啶班啶熰た啶ぞ啶�',
-      loopMaxCount: '啶呧ぇ啶苦啶むぎ 啶侧啶� 啶椸ぃ啶ㄠぞ',
-      comma: ',',
-      deleteDesc: '啶侧啶� 啶ㄠ啶� 啶曕 啶灌啶距え啷� 啶膏 啶膏き啷� 啶ぞ啶� 啶ㄠ啶� 啶灌 啶溹ぞ啶忇啶椸',
-      error_one: '{{count}} 啶む啶班啶熰た',
-      currentLoopCount: '啶掂ぐ啷嵿い啶ぞ啶� 啶侧啶� 啶椸た啶ㄠい啷�: {{count}}',
-      loopNode: '啶侧啶� 啶ㄠ啶�',
-      loop_one: '{{count}} 啶侧啶�',
-      initialLoopVariables: '啶啶班ぞ啶班啶た啶� 啶侧啶� 啶氞ぐ',
-      finalLoopVariables: '啶呧啶むた啶� 啶侧啶� 啶掂啶班た啶忇が啶侧啶�',
-      variableName: '啶氞ぐ 啶氞ぐ 啶ㄠぞ啶�',
-      errorResponseMethod: '啶む啶班啶熰た 啶啶班い啶苦啷嵿ぐ啶苦く啶� 啶掂た啶оた',
-      totalLoopCount: '啶曕啶� 啶侧啶� 啶椸た啶ㄠい啷�: {{count}}',
-      breakCondition: '啶侧啶� 啶膏ぎ啶距お啷嵿い啶� 啶膏啶ムた啶むた',
-      loopMaxCountError: '啶曕啶く啶� 啶呧ぇ啶苦啶むぎ 啶侧啶� 啶膏啶栢啶ぞ 啶︵ぐ啷嵿 啶曕ぐ啷囙, 啶溹 1 啶膏 {{maxCount}} 啶曕 啶啶� 啶灌',
-      setLoopVariables: '啶侧啶� 啶膏啶曕啶� 啶曕 啶啶むぐ 啶掂啶班た啶忇が啶� 啶膏啶� 啶曕ぐ啷囙',
-      exitConditionTip: '啶忇 啶侧啶� 啶ㄠ啶� 啶曕 啶曕ぎ 啶膏 啶曕ぎ 啶忇 啶ㄠた啶曕ぞ啶膏 啶膏啶ムた啶むた 啶曕 啶嗋さ啶多啶啶むぞ 啶灌啶む 啶灌',
-      loopVariables: '啶侧啶� 啶掂啶班た啶啶げ啷嵿じ',
-      breakConditionTip: '啶膏た啶班啶� 啶夃え 啶氞ぐ 啶曕 啶膏啶︵ぐ啷嵿き啶苦い 啶曕た啶ぞ 啶溹ぞ 啶膏啶むぞ 啶灌 啶溹 啶侧啶� 啶曕 啶啶むぐ 啶灌啶� 啶溹た啶ㄠぎ啷囙 啶膏ぎ啶距お啷嵿い啶� 啶曕 啶多ぐ啷嵿い啷囙 啶斷ぐ 啶ぞ啶む啷�啶� 啶曕 啶氞ぐ 啶灌啶傕イ',
-    },
   },
   tracing: {
     stopBy: '{{user}} 啶︵啶掂ぞ啶班ぞ 啶班啶曕ぞ 啶椸く啶�',
@@ -903,38 +721,6 @@
     assignedVarsDescription: '啶呧じ啶距啶� 啶曕た啶� 啶椸 啶氞ぐ 啶侧た啶栢え啷� 啶啶椸啶� 啶氞ぐ 啶灌啶ㄠ 啶氞ぞ啶灌た啶�, 啶溹啶膏',
     noVarsForOperation: '啶氞く啶ㄠた啶� 啶曕ぞ啶班啶班さ啶距 啶曕 啶膏ぞ啶� 啶呧じ啶距啶ㄠぎ啷囙啶� 啶曕 啶侧た啶� 啶曕啶� 啶氞ぐ 啶夃お啶侧が啷嵿ぇ 啶ㄠす啷�啶� 啶灌啶�.',
     noAssignedVars: '啶曕啶� 啶夃お啶侧が啷嵿ぇ 啶呧じ啶距啶� 啶曕た啶� 啶椸 啶氞ぐ 啶ㄠす啷�啶�',
-  },
-  versionHistory: {
-    filter: {
-      reset: '啶た啶侧啶熰ぐ 啶班啶膏啶� 啶曕ぐ啷囙',
-      all: '啶膏が',
-      onlyShowNamedVersions: '啶曕啶掂げ 啶ㄠぞ啶た啶� 啶膏啶膏啶曕ぐ啶� 啶︵た啶栢ぞ啶忇',
-      onlyYours: '啶じ 啶む啶啶灌ぞ啶班ぞ',
-      empty: '啶曕啶� 啶啶� 啶栢ぞ啶むぞ 啶灌啶� 啶膏啶膏啶曕ぐ啶� 啶囙い啶苦す啶距じ 啶ㄠす啷�啶� 啶た啶侧ぞ',
-    },
-    editField: {
-      title: '啶多啶班啶粪',
-      releaseNotesLengthLimit: '啶班た啶侧啶� 啶ㄠ啶熰啶� {{limit}} 啶呧啷嵿し啶班啶� 啶膏 啶呧ぇ啶苦 啶ㄠす啷�啶� 啶灌 啶膏啶む 啶灌啶�',
-      titleLengthLimit: '啶多啶班啶粪 {{limit}} 啶呧啷嵿し啶班啶� 啶膏 啶呧ぇ啶苦 啶ㄠす啷�啶� 啶灌啶ㄠぞ 啶氞ぞ啶灌た啶�',
-      releaseNotes: '啶班た啶侧啶溹ぜ 啶ㄠ啶熰啶�',
-    },
-    action: {
-      deleteFailure: '啶膏啶膏啶曕ぐ啶� 啶曕 啶灌啶距え啷� 啶啶� 啶掂た啶げ',
-      deleteSuccess: '啶膏啶膏啶曕ぐ啶� 啶灌啶距く啶� 啶椸く啶�',
-      restoreSuccess: '啶膏啶膏啶曕ぐ啶� 啶啶ㄠぐ啷嵿じ啷嵿ぅ啶距お啶苦い 啶曕た啶ぞ 啶椸く啶�',
-      updateSuccess: '啶膏啶膏啶曕ぐ啶� 啶呧お啶∴啶� 啶曕た啶ぞ 啶椸く啶�',
-      updateFailure: '啶膏啶膏啶曕ぐ啶� 啶呧お啶∴啶� 啶曕ぐ啶ㄠ 啶啶� 啶掂た啶げ',
-      restoreFailure: '啶膏啶膏啶曕ぐ啶� 啶曕 啶啶ㄠぐ啷嵿じ啷嵿ぅ啶距お啶苦い 啶曕ぐ啶ㄠ 啶啶� 啶掂た啶げ',
-    },
-    latest: '啶侧啶熰啶膏啶�',
-    editVersionInfo: '啶膏啶膏啶曕ぐ啶� 啶曕 啶溹ぞ啶ㄠ啶距ぐ啷� 啶膏啶ぞ啶︵た啶� 啶曕ぐ啷囙',
-    nameThisVersion: '啶囙じ 啶膏啶膏啶曕ぐ啶� 啶曕ぞ 啶ㄠぞ啶� 啶︵啶�',
-    title: '啶膏啶膏啶曕ぐ啶�',
-    releaseNotesPlaceholder: '啶い啶距啶� 啶曕た 啶曕啶ぞ 啶う啶侧ぞ',
-    currentDraft: '啶掂ぐ啷嵿い啶ぞ啶� 啶じ啷屶う啶�',
-    restorationTip: '啶膏啶膏啶曕ぐ啶� 啶啶ㄠぐ啷嵿じ啷嵿ぅ啶距お啶� 啶曕 啶ぞ啶�, 啶掂ぐ啷嵿い啶ぞ啶� 啶∴啶班ぞ啶啶� 啶呧ぇ啶苦げ啷囙啶苦い 啶曕た啶ぞ 啶溹ぞ啶忇啶距イ',
-    defaultName: '啶呧さ啶苦き啶距啶苦い 啶膏啶膏啶曕ぐ啶�',
-    deletionTip: '啶灌啶距え啶� 啶呧お啷嵿ぐ啶むた啶啶о 啶灌, 啶曕啶く啶� 啶啶粪啶熰た 啶曕ぐ啷囙啷�',
   },
 }
 
diff --git a/i18n/i18next-config.ts b/i18n/i18next-config.ts
index 8c5583b..661475e 100644
--- a/i18n/i18next-config.ts
+++ b/i18n/i18next-config.ts
@@ -4,18 +4,6 @@
 
 import { LanguagesSupported } from '@/i18n/language'
 
-const requireSilent = (lang: string) => {
-  let res
-  try {
-    res = require(`./${lang}/education`).default
-  }
-  catch {
-    res = require('./en-US/education').default
-  }
-
-  return res
-}
-
 const loadLangResources = (lang: string) => ({
   translation: {
     common: require(`./${lang}/common`).default,
@@ -40,16 +28,11 @@
     tools: require(`./${lang}/tools`).default,
     workflow: require(`./${lang}/workflow`).default,
     runLog: require(`./${lang}/run-log`).default,
-    plugin: require(`./${lang}/plugin`).default,
-    pluginTags: require(`./${lang}/plugin-tags`).default,
-    time: require(`./${lang}/time`).default,
-    education: requireSilent(lang),
   },
 })
 
-type Resource = Record<string, ReturnType<typeof loadLangResources>>
 // Automatically generate the resources object
-export const resources = LanguagesSupported.reduce<Resource>((acc, lang) => {
+const resources = LanguagesSupported.reduce((acc: any, lang: string) => {
   acc[lang] = loadLangResources(lang)
   return acc
 }, {})
diff --git a/i18n/index.ts b/i18n/index.ts
index eb49759..1eec0f3 100644
--- a/i18n/index.ts
+++ b/i18n/index.ts
@@ -12,18 +12,11 @@
 export type Locale = typeof i18n['locales'][number]
 
 export const setLocaleOnClient = (locale: Locale, reloadPage = true) => {
-  Cookies.set(LOCALE_COOKIE_NAME, locale, { expires: 365 })
+  Cookies.set(LOCALE_COOKIE_NAME, locale)
   changeLanguage(locale)
   reloadPage && location.reload()
 }
 
 export const getLocaleOnClient = (): Locale => {
   return Cookies.get(LOCALE_COOKIE_NAME) as Locale || i18n.defaultLocale
-}
-
-export const renderI18nObject = (obj: Record<string, string>, language: string) => {
-  if (!obj) return ''
-  if (obj?.[language]) return obj[language]
-  if (obj?.en_US) return obj.en_US
-  return Object.values(obj)[0]
 }
diff --git a/i18n/it-IT/app-overview.ts b/i18n/it-IT/app-overview.ts
index a8fe7f6..7e4dce1 100644
--- a/i18n/it-IT/app-overview.ts
+++ b/i18n/it-IT/app-overview.ts
@@ -59,7 +59,6 @@
         chatColorThemeDesc: 'Imposta il tema colore del chatbot',
         chatColorThemeInverted: 'Inverso',
         invalidHexMessage: 'Valore esadecimale non valido',
-        invalidPrivacyPolicy: 'Link alla privacy policy non valido. Si prega di utilizzare un link valido che inizi con http o https',
         more: {
           entry: 'Mostra pi霉 impostazioni',
           copyright: 'Copyright',
@@ -126,7 +125,6 @@
           operation: 'Documentazione',
         },
       },
-      launch: 'Lanciare',
     },
     apiInfo: {
       title: 'API del servizio backend',
diff --git a/i18n/it-IT/app.ts b/i18n/it-IT/app.ts
index 43fe626..554ce89 100644
--- a/i18n/it-IT/app.ts
+++ b/i18n/it-IT/app.ts
@@ -171,10 +171,6 @@
       description: 'Opik 猫 una piattaforma open source per la valutazione, il test e il monitoraggio delle applicazioni LLM.',
       title: 'Opik',
     },
-    weave: {
-      title: 'Intrecciare',
-      description: 'Weave 猫 una piattaforma open-source per valutare, testare e monitorare le applicazioni LLM.',
-    },
   },
   answerIcon: {
     description: 'Se utilizzare l\'icona WebApp per la sostituzione 馃 nell\'applicazione condivisa',
@@ -204,22 +200,6 @@
     searchAllTemplate: 'Cerca in tutti i modelli...',
   },
   showMyCreatedAppsOnly: 'Mostra solo le mie app create',
-  appSelector: {
-    params: 'PARAMETRI DELL\'APP',
-    noParams: 'Non sono necessari parametri',
-    placeholder: 'Seleziona un\'app...',
-    label: 'APP',
-  },
-  structOutput: {
-    modelNotSupported: 'Modello non supportato',
-    configure: 'Configura',
-    LLMResponse: 'LLM Risposta',
-    structured: 'Strutturato',
-    moreFillTip: 'Mostrando un massimo di 10 livelli di annidamento',
-    structuredTip: 'Le Uscite Strutturate sono una funzione che garantisce che il modello generi sempre risposte che aderiscano al tuo Schema JSON fornito.',
-    notConfiguredTip: 'L\'output strutturato non 猫 stato ancora configurato.',
-    modelNotSupportedTip: 'Il modello attuale non supporta questa funzione e viene automaticamente downgradato a iniezione di prompt.',
-  },
 }
 
 export default translation
diff --git a/i18n/it-IT/billing.ts b/i18n/it-IT/billing.ts
index 69adc34..24f5772 100644
--- a/i18n/it-IT/billing.ts
+++ b/i18n/it-IT/billing.ts
@@ -77,7 +77,6 @@
       title: 'Crediti Messaggi',
       tooltip:
         'Quote di invocazione dei messaggi per vari piani utilizzando i modelli OpenAI (eccetto gpt4). I messaggi oltre il limite utilizzeranno la tua chiave API OpenAI.',
-      titlePerMonth: '{{count,number}} messaggi/mese',
     },
     annotatedResponse: {
       title: 'Limiti di Quota di Annotazione',
@@ -88,97 +87,30 @@
       'Si riferisce al numero di chiamate API che invocano solo le capacit脿 di elaborazione della base di conoscenza di Dify.',
     receiptInfo:
       'Solo il proprietario del team e l\'amministratore del team possono abbonarsi e visualizzare le informazioni di fatturazione',
-    comparePlanAndFeatures: 'Confronta piani e caratteristiche',
-    teamWorkspace: '{{count,number}} Spazio di lavoro di squadra',
-    apiRateLimit: 'Limite di richiesta API',
-    unlimitedApiRate: 'Nessun limite di tasso API',
-    freeTrialTipPrefix: 'Iscriviti e ricevi un',
-    teamMember_one: '{{count,number}} membro del team',
-    documents: '{{count,number}} Documenti di Conoscenza',
-    apiRateLimitUnit: '{{count,number}}/giorno',
-    documentsRequestQuota: '{{count,number}}/min Limite di richiesta di conoscenza',
-    teamMember_other: '{{count,number}} membri del team',
-    freeTrialTip: 'prova gratuita di 200 chiamate OpenAI.',
-    priceTip: 'per spazio di lavoro/',
-    self: 'Auto-ospitato',
-    documentsTooltip: 'Quota sul numero di documenti importati dalla Fonte di Dati Conoscitiva.',
-    freeTrialTipSuffix: 'Nessuna carta di credito richiesta',
-    cloud: 'Servizio Cloud',
-    apiRateLimitTooltip: 'Il limite di utilizzo dell\'API si applica a tutte le richieste effettuate tramite l\'API Dify, comprese la generazione di testo, le conversazioni chat, le esecuzioni di flussi di lavoro e l\'elaborazione di documenti.',
-    getStarted: 'Inizia',
-    annualBilling: 'Fatturazione annuale',
-    documentsRequestQuotaTooltip: 'Specifica il numero totale di azioni che un\'area di lavoro pu貌 eseguire al minuto all\'interno della base di conoscenza, compresi la creazione, l\'eliminazione, gli aggiornamenti dei dataset, il caricamento di documenti, le modifiche, l\'archiviazione e le query sulla base di conoscenza. Questa metrica viene utilizzata per valutare le prestazioni delle richieste alla base di conoscenza. Ad esempio, se un utente di Sandbox esegue 10 test consecutivi in un minuto, la sua area di lavoro sar脿 temporaneamente limitata dall\'eseguire le seguenti azioni per il minuto successivo: creazione, eliminazione, aggiornamenti dei dataset e caricamento o modifica di documenti.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200 prove gratuite di GPT',
       includesTitle: 'Include:',
-      for: 'Prova gratuita delle capacit脿 principali',
     },
     professional: {
       name: 'Professional',
       description:
         'Per individui e piccoli team per sbloccare pi霉 potenza a prezzi accessibili.',
       includesTitle: 'Tutto nel piano gratuito, pi霉:',
-      for: 'Per sviluppatori indipendenti / piccoli team',
     },
     team: {
       name: 'Team',
       description:
         'Collabora senza limiti e goditi prestazioni di alto livello.',
       includesTitle: 'Tutto nel piano Professional, pi霉:',
-      for: 'Per team di medie dimensioni',
     },
     enterprise: {
       name: 'Enterprise',
       description:
         'Ottieni tutte le capacit脿 e il supporto per sistemi mission-critical su larga scala.',
       includesTitle: 'Tutto nel piano Team, pi霉:',
-      features: {
-        6: 'Sicurezza e Controlli Avanzati',
-        2: 'Funzionalit脿 esclusive per le imprese',
-        4: 'SSO',
-        8: 'Supporto Tecnico Professionale',
-        5: 'SLA negoziati da Dify Partners',
-        0: 'Soluzioni di distribuzione scalabili di livello enterprise',
-        7: 'Aggiornamenti e manutenzione di Dify ufficialmente',
-        1: 'Autorizzazione alla Licenza Commerciale',
-        3: 'Gestione di pi霉 spazi di lavoro e imprese',
-      },
-      price: 'Personalizzato',
-      for: 'Per team di grandi dimensioni',
-      btnText: 'Contatta le vendite',
-      priceTip: 'Solo fatturazione annuale',
-    },
-    community: {
-      features: {
-        1: 'Spazio di Lavoro Unico',
-        2: 'Rispetta la Licenza Open Source di Dify',
-        0: 'Tutte le funzionalit脿 principali rilasciate sotto il repository pubblico',
-      },
-      name: 'Comunit脿',
-      btnText: 'Inizia con la comunit脿',
-      includesTitle: 'Caratteristiche Gratuite:',
-      description: 'Per utenti individuali, piccole squadre o progetti non commerciali',
-      price: 'Gratuito',
-      for: 'Per utenti individuali, piccole squadre o progetti non commerciali',
-    },
-    premium: {
-      features: {
-        0: 'Affidabilit脿 autogestita da vari fornitori di cloud',
-        3: 'Supporto prioritario via Email e Chat',
-        2: 'Personalizzazione del logo e del marchio dell\'app web',
-        1: 'Spazio di Lavoro Unico',
-      },
-      name: 'Premium',
-      priceTip: 'Basato su Cloud Marketplace',
-      includesTitle: 'Tutto dalla Community, oltre a:',
-      description: 'Per organizzazioni e team di medie dimensioni',
-      for: 'Per organizzazioni e team di medie dimensioni',
-      btnText: 'Ottieni Premium in',
-      price: 'Scalabile',
-      comingSoon: 'Supporto di Microsoft Azure e Google Cloud in arrivo presto',
     },
   },
   vectorSpace: {
@@ -188,26 +120,12 @@
   apps: {
     fullTipLine1: 'Aggiorna il tuo piano per',
     fullTipLine2: 'creare pi霉 app.',
-    fullTip1des: 'Hai raggiunto il limite di costruzione delle app su questo piano.',
-    fullTip2des: 'Si consiglia di disinstallare le applicazioni inattive per liberare spazio, o contattarci.',
-    contactUs: 'Contattaci',
-    fullTip2: 'Limite del piano raggiunto',
-    fullTip1: 'Aggiorna per creare pi霉 app',
   },
   annotatedResponse: {
     fullTipLine1: 'Aggiorna il tuo piano per',
     fullTipLine2: 'annotare pi霉 conversazioni.',
     quotaTitle: 'Quota di Risposta Annotata',
   },
-  usagePage: {
-    buildApps: 'Costruisci app',
-    vectorSpace: 'Archiviazione dei dati conoscitivi',
-    annotationQuota: 'Quota di annotazione',
-    teamMembers: 'Membri del team',
-    documentsUploadQuota: 'Quota di Caricamento Documenti',
-    vectorSpaceTooltip: 'I documenti con la modalit脿 di indicizzazione ad alta qualit脿 consumeranno risorse di Knowledge Data Storage. Quando il Knowledge Data Storage raggiunge il limite, nuovi documenti non verranno caricati.',
-  },
-  teamMembers: 'Membri del team',
 }
 
 export default translation
diff --git a/i18n/it-IT/common.ts b/i18n/it-IT/common.ts
index f337990..c764a93 100644
--- a/i18n/it-IT/common.ts
+++ b/i18n/it-IT/common.ts
@@ -50,14 +50,6 @@
     submit: 'Invia',
     skip: 'Nave',
     imageCopied: 'Immagine copiata',
-    deleteApp: 'Elimina app',
-    in: 'in',
-    viewDetails: 'Visualizza dettagli',
-    copied: 'Copiato',
-    downloadSuccess: 'Download completato.',
-    downloadFailed: 'Download non riuscito. Per favore riprova pi霉 tardi.',
-    more: 'Di pi霉',
-    format: 'Formato',
   },
   errorMsg: {
     fieldRequired: '{{field}} 猫 obbligatorio',
@@ -137,8 +129,6 @@
       Custom: 'Personalizzato',
     },
     addMoreModel: 'Vai alle impostazioni per aggiungere altri modelli',
-    capabilities: 'Funzionalit脿 multimodali',
-    settingsLink: 'Impostazioni del fornitore del modello',
   },
   menus: {
     status: 'beta',
@@ -153,7 +143,6 @@
     newApp: 'Nuova App',
     newDataset: 'Crea Conoscenza',
     tools: 'Strumenti',
-    exploreMarketplace: 'Esplora il Marketplace',
   },
   userProfile: {
     settings: 'Impostazioni',
@@ -166,9 +155,6 @@
     community: 'Comunit脿',
     about: 'Informazioni',
     logout: 'Esci',
-    support: 'Supporto',
-    compliance: 'Conformit脿',
-    github: 'GitHub',
   },
   settings: {
     accountGroup: 'ACCOUNT',
@@ -182,7 +168,6 @@
     dataSource: 'Fonte Dati',
     plugin: 'Plugin',
     apiBasedExtension: 'Estensione API',
-    generalGroup: 'GENERALE',
   },
   account: {
     avatar: 'Avatar',
@@ -221,9 +206,6 @@
     feedbackTitle: 'Valutazione',
     feedbackLabel: 'Dicci perch茅 hai cancellato il tuo account?',
     feedbackPlaceholder: 'Opzionale',
-    workspaceIcon: 'Icona della workspace',
-    editWorkspaceInfo: 'Modifica informazioni dello spazio di lavoro',
-    workspaceName: 'Nome del Workspace',
   },
   members: {
     team: 'Team',
@@ -320,7 +302,6 @@
       usedUp: 'Quota di prova esaurita. Aggiungi il tuo fornitore di modelli.',
       useYourModel: 'Attualmente utilizzando il proprio fornitore di modelli.',
       close: 'Chiudi',
-      trialQuotaTip: 'La tua quota di prova di Anthropic scadr脿 l\'11/03/2025 e non sar脿 pi霉 disponibile in seguito. Sfruttalo in tempo.',
     },
     anthropic: {
       using: 'La capacit脿 di embedding 猫 in uso',
@@ -443,12 +424,6 @@
       'Per impostazione predefinita, il bilanciamento del carico utilizza la strategia Round-robin. Se viene attivato il rate limiting, verr脿 applicato un periodo di cooldown di 1 minuto.',
     upgradeForLoadBalancing:
       'Aggiorna il tuo piano per abilitare il Bilanciamento del Carico.',
-    configureTip: 'Configura la chiave API o aggiungi il modello da utilizzare',
-    installProvider: 'Installare i provider di modelli',
-    toBeConfigured: 'Da configurare',
-    emptyProviderTip: 'Si prega di installare prima un fornitore di modelli.',
-    discoverMore: 'Scopri di pi霉 in',
-    emptyProviderTitle: 'Provider di modelli non configurato',
   },
   dataSource: {
     add: 'Aggiungi una fonte di dati',
@@ -493,7 +468,7 @@
     title:
       'Le estensioni API forniscono una gestione centralizzata delle API, semplificando la configurazione per un facile utilizzo nelle applicazioni di Dify.',
     link: 'Scopri come sviluppare la tua estensione API.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Aggiungi Estensione API',
     selector: {
       title: 'Estensione API',
@@ -582,9 +557,6 @@
       hitScore: 'Punteggio di recupero:',
     },
     inputPlaceholder: 'Parla con il bot',
-    thinking: 'Pensante...',
-    thought: 'Pensiero',
-    resend: 'Reinvia',
   },
   promptEditor: {
     placeholder:
@@ -678,25 +650,6 @@
   },
   pagination: {
     perPage: 'Articoli per pagina',
-  },
-  theme: {
-    light: 'luce',
-    auto: 'sistema',
-    dark: 'scuro',
-    theme: 'Tema',
-  },
-  compliance: {
-    gdpr: 'GDPR DPA',
-    professionalUpgradeTooltip: 'Disponibile solo con un piano Team o superiore.',
-    sandboxUpgradeTooltip: 'Disponibile solo con un piano Professionale o Team.',
-    soc2Type2: 'Rapporto SOC 2 di Tipo II',
-    iso27001: 'Certificazione ISO 27001:2022',
-    soc2Type1: 'Rapporto SOC 2 Tipo I',
-  },
-  imageInput: {
-    supportedFormats: 'Supporta PNG, JPG, JPEG, WEBP e GIF',
-    browse: 'sfogliare',
-    dropImageHere: 'Trascina la tua immagine qui, oppure',
   },
 }
 
diff --git a/i18n/it-IT/custom.ts b/i18n/it-IT/custom.ts
index b837696..7eb2efc 100644
--- a/i18n/it-IT/custom.ts
+++ b/i18n/it-IT/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Aggiorna il tuo piano per',
     suffix: 'personalizzare il tuo marchio.',
-    title: 'Aggiorna il tuo piano',
-    des: 'Aggiorna il tuo piano per personalizzare il tuo marchio',
   },
   webapp: {
     title: 'Personalizza il marchio WebApp',
diff --git a/i18n/it-IT/dataset-creation.ts b/i18n/it-IT/dataset-creation.ts
index ec9b5e3..aa7cc8e 100644
--- a/i18n/it-IT/dataset-creation.ts
+++ b/i18n/it-IT/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Crea Conoscenza',
       update: 'Aggiungi dati',
-      fallbackRoute: 'Conoscenza',
     },
     one: 'Scegli fonte dati',
     two: 'Preprocessamento e Pulizia del Testo',
@@ -27,7 +26,7 @@
     },
     uploader: {
       title: 'Carica file',
-      button: 'Trascina e rilascia file o cartelle, oppure',
+      button: 'Trascina e rilascia il file, o',
       browse: 'Sfoglia',
       tip: 'Supporta {{supportTypes}}. Max {{size}}MB ciascuno.',
       validation: {
@@ -94,14 +93,6 @@
       jinaReaderNotConfiguredDescription: 'Configura Jina Reader inserendo la tua chiave API gratuita per l\'accesso.',
       useSitemap: 'Usa la mappa del sito',
       chooseProvider: 'Seleziona un fornitore',
-      watercrawlDoc: 'Documentazione di Watercrawl',
-      waterCrawlNotConfiguredDescription: 'Configura Watercrawl con la chiave API per utilizzarlo.',
-      configureFirecrawl: 'Configura Firecrawl',
-      watercrawlTitle: 'Estrai contenuti web con Watercrawl',
-      configureJinaReader: 'Configura Jina Reader',
-      configureWatercrawl: 'Configura Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl non 猫 configurato',
-      watercrawlDocLink: 'https://docs.dify.ai/it/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
     },
     cancel: 'Annulla',
   },
@@ -230,11 +221,6 @@
     learnMore: 'Ulteriori informazioni',
     title: 'Connettersi ad altre origini dati?',
     description: 'Attualmente, la knowledge base di Dify ha solo fonti di dati limitate. Contribuire con una fonte di dati alla knowledge base di Dify 猫 un modo fantastico per migliorare la flessibilit脿 e la potenza della piattaforma per tutti gli utenti. La nostra guida ai contributi ti aiuta a iniziare. Clicca sul link sottostante per saperne di pi霉.',
-  },
-  watercrawl: {
-    getApiKeyLinkText: 'Ottieni la tua chiave API da watercrawl.dev',
-    apiKeyPlaceholder: 'Chiave API da watercrawl.dev',
-    configWatercrawl: 'Configura Watercrawl',
   },
 }
 
diff --git a/i18n/it-IT/dataset-documents.ts b/i18n/it-IT/dataset-documents.ts
index b9afb1e..06c5a2d 100644
--- a/i18n/it-IT/dataset-documents.ts
+++ b/i18n/it-IT/dataset-documents.ts
@@ -134,7 +134,7 @@
         language: 'Lingua',
         authorPublisher: 'Autore/Editore',
         publishDate: 'Data di Pubblicazione',
-        topicKeywords: 'Argomenti/Parole Chiave',
+        topicsKeywords: 'Argomenti/Parole Chiave',
         description: 'Descrizione',
       },
       paper: {
diff --git a/i18n/it-IT/dataset-settings.ts b/i18n/it-IT/dataset-settings.ts
index a03bfbc..66c13bd 100644
--- a/i18n/it-IT/dataset-settings.ts
+++ b/i18n/it-IT/dataset-settings.ts
@@ -32,7 +32,6 @@
       description: ' sul metodo di recupero.',
       longDescription:
         ' sul metodo di recupero, puoi cambiare questo in qualsiasi momento nelle impostazioni della Conoscenza.',
-      method: 'Metodo di recupero',
     },
     save: 'Salva',
     retrievalSettings: 'Impostazioni di recupero',
@@ -41,7 +40,6 @@
     helpText: 'Scopri come scrivere una buona descrizione del set di dati.',
     upgradeHighQualityTip: 'Una volta effettuato l\'aggiornamento alla modalit脿 Alta qualit脿, il ripristino della modalit脿 Risparmio non 猫 disponibile',
     indexMethodChangeToEconomyDisabledTip: 'Non disponibile per il downgrade da HQ a ECO',
-    searchModel: 'Cerca modello',
   },
 }
 
diff --git a/i18n/it-IT/dataset.ts b/i18n/it-IT/dataset.ts
index c2c4963..dec41be 100644
--- a/i18n/it-IT/dataset.ts
+++ b/i18n/it-IT/dataset.ts
@@ -175,53 +175,6 @@
   localDocs: 'Documenti locali',
   allKnowledge: 'Tutta la conoscenza',
   allKnowledgeDescription: 'Selezionare questa opzione per visualizzare tutte le informazioni in questa area di lavoro. Solo il proprietario dell\'area di lavoro pu貌 gestire tutte le conoscenze.',
-  metadata: {
-    createMetadata: {
-      title: 'Nuovi Metadati',
-      back: 'Indietro',
-      type: 'Tipo',
-      name: 'Nome',
-      namePlaceholder: 'Aggiungi nome dei metadati',
-    },
-    checkName: {
-      invalid: 'Il nome dei metadati pu貌 contenere solo lettere minuscole, numeri e underscore e deve iniziare con una lettera minuscola.',
-      empty: 'Il nome dei metadati non pu貌 essere vuoto',
-    },
-    batchEditMetadata: {
-      multipleValue: 'Valore Multiplo',
-      editDocumentsNum: 'Modifica {{num}} documenti',
-      applyToAllSelectDocument: 'Applica a tutti i documenti selezionati',
-      editMetadata: 'Modifica metadati',
-      applyToAllSelectDocumentTip: 'Creare automaticamente tutti i metadati modificati e nuovi sopra menzionati per tutti i documenti selezionati, altrimenti la modifica dei metadati si applicher脿 solo ai documenti che li possiedono.',
-    },
-    selectMetadata: {
-      search: 'Cerca metadati',
-      newAction: 'Nuovi Metadati',
-      manageAction: 'Gestire',
-    },
-    datasetMetadata: {
-      deleteTitle: 'Conferma per eliminare',
-      name: 'Nome',
-      addMetaData: 'Aggiungi metadata',
-      values: '{{num}} Valori',
-      disabled: 'Disabilitato',
-      rename: 'Rinomina',
-      namePlaceholder: 'Nome dei metadati',
-      deleteContent: 'Sei sicuro di voler eliminare i metadati "{{name}}"?',
-      builtInDescription: 'I metadati incorporati vengono estratti e generati automaticamente. Devono essere abilitati prima dell\'uso e non possono essere modificati.',
-      description: 'Puoi gestire tutti i metadati in questa conoscenza qui. Le modifiche saranno sincronizzate con ogni documento.',
-    },
-    documentMetadata: {
-      documentInformation: 'Informazioni sul documento',
-      technicalParameters: 'Parametri tecnici',
-      startLabeling: 'Inizia a etichettare',
-      metadataToolTip: 'I metadati fungono da filtro critico che migliora l\'accuratezza e la rilevanza del recupero delle informazioni. Puoi modificare e aggiungere metadati per questo documento qui.',
-    },
-    addMetadata: 'Aggiungi metadata',
-    metadata: 'Metadata',
-    chooseTime: 'Scegli un orario...',
-  },
-  embeddingModelNotAvailable: 'Il modello di embedding non 猫 disponibile.',
 }
 
 export default translation
diff --git a/i18n/it-IT/explore.ts b/i18n/it-IT/explore.ts
index d94df45..6050802 100644
--- a/i18n/it-IT/explore.ts
+++ b/i18n/it-IT/explore.ts
@@ -38,7 +38,6 @@
     HR: 'Risorse Umane',
     Workflow: 'Flusso di lavoro',
     Agent: 'Agente',
-    Entertainment: 'Intrattenimento',
   },
 }
 
diff --git a/i18n/it-IT/run-log.ts b/i18n/it-IT/run-log.ts
index 0627e5b..8ae3e15 100644
--- a/i18n/it-IT/run-log.ts
+++ b/i18n/it-IT/run-log.ts
@@ -24,8 +24,6 @@
     link: 'pannello dei dettagli',
     tipRight: ' per visualizzarlo.',
   },
-  circularInvocationTip: 'C\'猫 una chiamata circolare di strumenti/nodi nel flusso di lavoro corrente.',
-  actionLogs: 'Registri delle azioni',
 }
 
 export default translation
diff --git a/i18n/it-IT/share-app.ts b/i18n/it-IT/share-app.ts
index 2e1c96a..772a6e9 100644
--- a/i18n/it-IT/share-app.ts
+++ b/i18n/it-IT/share-app.ts
@@ -28,12 +28,6 @@
     },
     tryToSolve: 'Prova a risolvere',
     temporarySystemIssue: 'Spiacente, problema temporaneo del sistema.',
-    expand: 'Espandi',
-    collapse: 'Riduci',
-    newChatTip: 'Gi脿 in una nuova chat',
-    chatSettingsTitle: 'Nuova configurazione della chat',
-    chatFormTip: 'Le impostazioni della chat non possono essere modificate dopo che la chat 猫 iniziata.',
-    viewChatSettings: 'Visualizza le impostazioni della chat',
   },
   generation: {
     tabs: {
@@ -76,8 +70,6 @@
         'Riga {{rowIndex}}: il valore di {{varName}} non pu貌 essere superiore a {{maxLength}} caratteri',
       atLeastOne: 'Per favore inserisci almeno una riga nel file caricato.',
     },
-    execution: 'ESECUZIONE',
-    executions: '{{num}} ESECUZIONI',
   },
 }
 
diff --git a/i18n/it-IT/tools.ts b/i18n/it-IT/tools.ts
index 65899e6..f9512fb 100644
--- a/i18n/it-IT/tools.ts
+++ b/i18n/it-IT/tools.ts
@@ -140,7 +140,6 @@
     number: 'numero',
     required: 'Richiesto',
     infoAndSetting: 'Info & Impostazioni',
-    file: 'file',
   },
   noCustomTool: {
     title: 'Nessun strumento personalizzato!',
@@ -161,8 +160,6 @@
   openInStudio: 'Apri in Studio',
   toolNameUsageTip:
     'Nome chiamata strumento per il ragionamento e il prompting dell\'agente',
-  noTools: 'Nessun utensile trovato',
-  copyToolName: 'Copia nome',
 }
 
 export default translation
diff --git a/i18n/it-IT/workflow.ts b/i18n/it-IT/workflow.ts
index 35d3ba1..128c903 100644
--- a/i18n/it-IT/workflow.ts
+++ b/i18n/it-IT/workflow.ts
@@ -110,15 +110,6 @@
     addFailureBranch: 'Aggiungi ramo non riuscito',
     noHistory: 'Nessuna storia',
     loadMore: 'Carica pi霉 flussi di lavoro',
-    publishUpdate: 'Pubblica aggiornamento',
-    versionHistory: 'Cronologia delle versioni',
-    exitVersions: 'Uscita Versioni',
-    referenceVar: 'Variabile di riferimento',
-    exportSVG: 'Esporta come SVG',
-    exportImage: 'Esporta immagine',
-    exportJPEG: 'Esporta come JPEG',
-    noExist: 'Nessuna variabile del genere',
-    exportPNG: 'Esporta come PNG',
   },
   env: {
     envPanelTitle: 'Variabili d\'Ambiente',
@@ -209,8 +200,6 @@
     },
     invalidVariable: 'Variabile non valida',
     rerankModelRequired: 'Prima di attivare il modello di reranking, conferma che il modello 猫 stato configurato correttamente nelle impostazioni.',
-    toolParameterRequired: '{{field}}: il parametro [{{param}}] 猫 obbligatorio',
-    noValidTool: '{{field}} nessuno strumento valido selezionato',
   },
   singleRun: {
     testRun: 'Esecuzione Test ',
@@ -219,7 +208,6 @@
     testRunIteration: 'Iterazione Esecuzione Test',
     back: 'Indietro',
     iteration: 'Iterazione',
-    loop: 'Anello',
   },
   tabs: {
     'searchBlock': 'Cerca blocco',
@@ -235,8 +223,6 @@
     'utilities': 'Utility',
     'noResult': 'Nessuna corrispondenza trovata',
     'searchTool': 'Strumento di ricerca',
-    'agent': 'Strategia dell\'agente',
-    'plugin': 'Plugin',
   },
   blocks: {
     'start': 'Inizio',
@@ -257,10 +243,6 @@
     'parameter-extractor': 'Estrattore Parametri',
     'document-extractor': 'Estrattore di documenti',
     'list-operator': 'Operatore di elenco',
-    'agent': 'Agente',
-    'loop-end': 'Uscire dal ciclo',
-    'loop-start': 'Inizio ciclo',
-    'loop': 'Anello',
   },
   blocksAbout: {
     'start': 'Definisci i parametri iniziali per l\'avvio di un flusso di lavoro',
@@ -289,9 +271,6 @@
       'Usa LLM per estrarre parametri strutturati dal linguaggio naturale per invocazioni di strumenti o richieste HTTP.',
     'list-operator': 'Utilizzato per filtrare o ordinare il contenuto della matrice.',
     'document-extractor': 'Utilizzato per analizzare i documenti caricati in contenuti di testo facilmente comprensibili da LLM.',
-    'agent': 'Richiamo di modelli linguistici di grandi dimensioni per rispondere a domande o elaborare il linguaggio naturale',
-    'loop-end': 'Equivalente a "break". Questo nodo non ha elementi di configurazione. Quando il corpo del ciclo raggiunge questo nodo, il ciclo termina.',
-    'loop': 'Esegui un ciclo di logica fino a quando la condizione di terminazione non viene soddisfatta o il numero massimo di cicli viene raggiunto.',
   },
   operator: {
     zoomIn: 'Zoom In',
@@ -436,34 +415,6 @@
         variable: 'Variabile',
       },
       sysQueryInUser: 'sys.query nel messaggio utente 猫 richiesto',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Si prega di completare la modifica del campo corrente prima di salvare lo schema.',
-        },
-        descriptionPlaceholder: 'Aggiungi descrizione',
-        generate: 'Genera',
-        generateJsonSchema: 'Genera Schema JSON',
-        generationTip: 'Puoi usare il linguaggio naturale per creare rapidamente uno schema JSON.',
-        back: 'Indietro',
-        apply: 'Applica',
-        showAdvancedOptions: 'Mostra opzioni avanzate',
-        stringValidations: 'Validazioni delle stringhe',
-        regenerate: 'Rigenerare',
-        required: 'richiesto',
-        resetDefaults: 'Ripristina',
-        addField: 'Aggiungi campo',
-        promptPlaceholder: 'Descrivi il tuo schema JSON...',
-        title: 'Schema di Output Strutturato',
-        instruction: 'Istruzione',
-        addChildField: 'Aggiungi campo bambino',
-        fieldNamePlaceholder: 'Nome del campo',
-        promptTooltip: 'Converte la descrizione del testo in una struttura JSON Schema standardizzata.',
-        doc: 'Scopri di pi霉 sull\'output strutturato',
-        import: 'Importa da JSON',
-        resultTip: 'Ecco il risultato generato. Se non sei soddisfatto, puoi tornare indietro e modificare il tuo prompt.',
-        generating: 'Generazione dello schema JSON...',
-        generatedResult: 'Risultato generato',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Variabile Query',
@@ -475,32 +426,6 @@
         icon: 'Icona segmentata',
         url: 'URL segmentato',
         metadata: 'Altri metadati',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: 'Disabilitato',
-            subTitle: 'Non abilitare il filtraggio dei metadati',
-          },
-          automatic: {
-            subTitle: 'Genera automaticamente condizioni di filtraggio dei metadati in base alla query dell\'utente',
-            desc: 'Genera automaticamente condizioni di filtraggio dei metadati basate sulla variabile di query',
-          },
-          manual: {
-            title: 'Manuale',
-            subTitle: 'Aggiungere manualmente le condizioni di filtraggio dei metadati',
-          },
-        },
-        panel: {
-          conditions: 'Condizioni',
-          select: 'Seleziona variabile...',
-          title: 'Condizioni di filtro dei metadati',
-          add: 'Aggiungi condizione',
-          datePlaceholder: 'Scegli un orario...',
-          placeholder: 'Inserisci valore',
-          search: 'Cerca metadati',
-        },
-        title: 'Filtraggio dei metadati',
       },
     },
     http: {
@@ -593,7 +518,6 @@
         'not in': 'non in',
         'exists': 'Esiste',
         'not exists': 'non esiste',
-        'after': 'dopo',
       },
       enterValue: 'Inserisci valore',
       addCondition: 'Aggiungi Condizione',
@@ -609,7 +533,6 @@
       },
       addSubVariable: 'Variabile secondaria',
       select: 'Selezionare',
-      condition: 'Condizione',
     },
     variableAssigner: {
       title: 'Assegna variabili',
@@ -653,8 +576,6 @@
         'over-write': 'Sovrascrivere',
         'extend': 'Estendere',
         'clear': 'Chiaro',
-        'remove-last': 'Rimuovi ultimo',
-        'remove-first': 'Rimuovi primo',
       },
       'setParameter': 'Imposta parametro...',
       'variables': 'Variabili',
@@ -797,107 +718,6 @@
       orderBy: 'Ordina per',
       extractsCondition: 'Estrai l\'elemento N',
     },
-    agent: {
-      strategy: {
-        selectTip: 'Seleziona la strategia agentica',
-        searchPlaceholder: 'Strategia agente di ricerca',
-        label: 'Strategia agentica',
-        configureTipDesc: 'Dopo aver configurato la strategia agentic, questo nodo caricher脿 automaticamente le configurazioni rimanenti. La strategia influenzer脿 il meccanismo del ragionamento con strumenti a pi霉 fasi.',
-        tooltip: 'Diverse strategie agentiche determinano il modo in cui il sistema pianifica ed esegue le chiamate agli strumenti in pi霉 fasi',
-        shortLabel: 'Strategia',
-        configureTip: 'Configurare la strategia agentic.',
-      },
-      pluginInstaller: {
-        installing: 'Installazione',
-        install: 'Installare',
-      },
-      modelNotInMarketplace: {
-        manageInPlugins: 'Gestisci nei plugin',
-        desc: 'Questo modello viene installato dal repository locale o GitHub. Si prega di utilizzare dopo l\'installazione.',
-        title: 'Modello non installato',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'La versione del plug-in installata non fornisce questo modello. Fare clic per cambiare versione.',
-        title: 'Modello non supportato',
-        desc: 'La versione del plug-in installata non fornisce questo modello.',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Questo modello 猫 deprecato',
-      },
-      outputVars: {
-        files: {
-          type: 'Tipo di supporto. Ora supporta solo l\'immagine',
-          title: 'File generati dall\'agente',
-          transfer_method: 'Metodo di trasferimento. Il valore 猫 remote_url o local_file',
-          url: 'URL immagine',
-          upload_file_id: 'Carica l\'ID del file',
-        },
-        text: 'Contenuto generato dall\'agente',
-        json: 'JSON generato dall\'agente',
-      },
-      checkList: {
-        strategyNotSelected: 'Strategia non selezionata',
-      },
-      installPlugin: {
-        cancel: 'Annulla',
-        title: 'Installa il plugin',
-        install: 'Installare',
-        changelog: 'Registro delle modifiche',
-        desc: 'Sto per installare il seguente plugin',
-      },
-      toolNotInstallTooltip: '{{tool}} non 猫 installato',
-      modelNotSelected: 'Modello non selezionato',
-      modelNotInstallTooltip: 'Questo modello non 猫 installato',
-      notAuthorized: 'Non autorizzato',
-      learnMore: 'Ulteriori informazioni',
-      pluginNotInstalledDesc: 'Questo plugin viene installato da GitHub. Vai su Plugin per reinstallare',
-      model: 'modello',
-      configureModel: 'Configura modello',
-      linkToPlugin: 'Collegamento ai plug-in',
-      tools: 'Utensileria',
-      unsupportedStrategy: 'Strategia non supportata',
-      toolNotAuthorizedTooltip: '{{strumento}} Non autorizzato',
-      strategyNotSet: 'Strategia agentica non impostata',
-      toolbox: 'cassetta degli attrezzi',
-      maxIterations: 'Numero massimo di iterazioni',
-      strategyNotInstallTooltip: '{{strategy}} non 猫 installato',
-      strategyNotFoundDesc: 'La versione del plugin installata non fornisce questa strategia.',
-      strategyNotFoundDescAndSwitchVersion: 'La versione del plugin installata non fornisce questa strategia. Fare clic per cambiare versione.',
-      pluginNotInstalled: 'Questo plugin non 猫 installato',
-      pluginNotFoundDesc: 'Questo plugin viene installato da GitHub. Vai su Plugin per reinstallare',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: 'Terminato',
-        removeAbnormalOutput: 'Rimuovi l\'output anormale',
-        continueOnError: 'Continua con l\'errore',
-      },
-      currentLoop: 'Anello Corrente',
-      breakConditionTip: 'Solo le variabili all\'interno dei cicli con condizioni di terminazione e le variabili di conversazione possono essere riferite.',
-      loopVariables: 'Variabili di ciclo',
-      inputMode: 'Modalit脿 di input',
-      errorResponseMethod: 'Metodo di risposta all\'errore',
-      error_one: '{{count}} Errore',
-      loop_one: '{{count}} Ciclo',
-      loopMaxCount: 'Conteggio massimo dei loop',
-      breakCondition: 'Condizione di terminazione del ciclo',
-      comma: ',',
-      loopNode: 'Nodo Ciclico',
-      finalLoopVariables: 'Variabili del ciclo finale',
-      loopMaxCountError: 'Si prega di inserire un conteggio massimo di cicli valido, compreso tra 1 e {{maxCount}}',
-      currentLoopCount: 'Conteggio attuale del ciclo: {{count}}',
-      input: 'Input',
-      setLoopVariables: 'Imposta le variabili all\'interno dell\'ambito del ciclo',
-      deleteTitle: 'Elimina nodo ciclo?',
-      output: 'Variabile di Output',
-      initialLoopVariables: 'Variabili di loop iniziali',
-      deleteDesc: 'Cancellare il nodo di ciclo rimuover脿 tutti i nodi figli',
-      loop_other: '{{count}} anelli',
-      variableName: 'Nome Variabile',
-      totalLoopCount: 'Conteggio totale dei cicli: {{count}}',
-      exitConditionTip: 'Un nodo di ciclo ha bisogno di almeno una condizione di uscita.',
-      error_other: '{{count}} Errori',
-    },
   },
   tracing: {
     stopBy: 'Interrotto da {{user}}',
@@ -908,38 +728,6 @@
     noVarsForOperation: 'Non ci sono variabili disponibili per l\'assegnazione con l\'operazione selezionata.',
     assignedVarsDescription: 'Le variabili assegnate devono essere variabili scrivibili, ad esempio',
     conversationVars: 'Variabili di conversazione',
-  },
-  versionHistory: {
-    filter: {
-      reset: 'Ripristina filtro',
-      all: 'Tutto',
-      onlyYours: 'Solo tuo',
-      empty: 'Nessuna cronologia delle versioni corrispondente trovata',
-      onlyShowNamedVersions: 'Mostra solo le versioni con nome',
-    },
-    editField: {
-      titleLengthLimit: 'Il titolo non pu貌 superare {{limit}} caratteri',
-      releaseNotes: 'Note di rilascio',
-      title: 'Titolo',
-      releaseNotesLengthLimit: 'Le note di rilascio non possono superare i {{limit}} caratteri',
-    },
-    action: {
-      restoreSuccess: 'Versione ripristinata',
-      restoreFailure: 'Impossibile ripristinare la versione',
-      deleteSuccess: 'Versione eliminata',
-      updateSuccess: 'Versione aggiornata',
-      deleteFailure: 'Impossibile eliminare la versione',
-      updateFailure: 'Impossibile aggiornare la versione',
-    },
-    latest: 'Ultimo',
-    defaultName: 'Versione senza titolo',
-    deletionTip: 'La cancellazione 猫 irreversibile, si prega di confermare.',
-    nameThisVersion: 'Chiamare questa versione',
-    editVersionInfo: 'Modifica le informazioni sulla versione',
-    releaseNotesPlaceholder: 'Descrivi cosa 猫 cambiato',
-    currentDraft: 'Bozza attuale',
-    restorationTip: 'Dopo il ripristino della versione, la bozza attuale verr脿 sovrascritta.',
-    title: 'Versioni',
   },
 }
 
diff --git a/i18n/ja-JP/app-annotation.ts b/i18n/ja-JP/app-annotation.ts
index 297e01d..f34d8d2 100644
--- a/i18n/ja-JP/app-annotation.ts
+++ b/i18n/ja-JP/app-annotation.ts
@@ -70,7 +70,6 @@
     noHitHistory: '銉掋儍銉堝饱姝淬伅銇傘倞銇俱仜銈�',
   },
   hitHistoryTable: {
-    question: '璩晱',
     query: '銈偍銉�',
     match: '涓�鑷�',
     response: '蹇滅瓟',
diff --git a/i18n/ja-JP/app-overview.ts b/i18n/ja-JP/app-overview.ts
index d67860f..0895d69 100644
--- a/i18n/ja-JP/app-overview.ts
+++ b/i18n/ja-JP/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '銉併儯銉冦儓銉溿儍銉堛伄銈儵銉笺儐銉笺優銈掕ō瀹氥仐銇俱仚',
         chatColorThemeInverted: '鍙嶈虎',
         invalidHexMessage: '鐒″姽銇�16閫叉暟鍊�',
-        invalidPrivacyPolicy: '鐒″姽銇儣銉┿偆銉愩偡銉笺儩銉偡銉笺伄銉兂銈仹銇欍�俬ttp 銇俱仧銇� https 銇у銇俱倠鏈夊姽銇儶銉炽偗銈掍娇鐢ㄣ仐銇︺亸銇犮仌銇�',
         more: {
           entry: '銇濄伄浠栥伄瑷畾銈掕〃绀�',
           copyright: '钁椾綔妯�',
@@ -113,7 +112,6 @@
           operation: '銉夈偔銉ャ儭銉炽儓',
         },
       },
-      launch: '鐧哄皠',
     },
     apiInfo: {
       title: '銉愩儍銈偍銉炽儔銈点兗銉撱偣API',
diff --git a/i18n/ja-JP/app.ts b/i18n/ja-JP/app.ts
index d687686..2c67d33 100644
--- a/i18n/ja-JP/app.ts
+++ b/i18n/ja-JP/app.ts
@@ -26,9 +26,10 @@
   appDeleteFailed: '銈€儣銉伄鍓婇櫎銇け鏁椼仐銇俱仐銇�',
   join: '銈炽儫銉ャ儖銉嗐偅銇弬鍔犮仚銈�',
   communityIntro:
-  '銇曘伨銇栥伨銇儊銉c兂銉嶃儷銇с儊銉笺儬銉°兂銉愩兗銈勮并鐚�呫�侀枊鐧鸿�呫仺璀拌珫銇椼伨銇欍��',
+    '銇曘伨銇栥伨銇儊銉c兂銉嶃儷銇с儊銉笺儬銉°兂銉愩兗銈勮并鐚�呫�侀枊鐧鸿�呫仺璀拌珫銇椼伨銇欍��',
   roadmap: '銉兗銉夈優銉冦儣銈掕銈�',
   newApp: {
+    // this comment is to recreate PR
     startFromBlank: '鏈�鍒濄亱銈変綔鎴�',
     startFromTemplate: '銉嗐兂銉椼儸銉笺儓銇嬨倝浣滄垚',
     captionAppType: '銇┿伄銈裤偆銉椼伄銈€儣銉倰浣滄垚銇椼伨銇欍亱锛�',
@@ -47,7 +48,7 @@
     advancedFor: '涓婄礆銉︺兗銈躲兗鍚戙亼',
     advancedDescription: '銉兗銈儠銉兗 銈兗銈便偣銉堛儸銉笺儓銇�併儻銉笺偗銉曘儹銉煎舰寮忋仹銉併儯銉冦儓銉溿儍銉堛倰銈兗銈便偣銉堛儸銉笺儓銇椼�佺祫銇胯炯銇裤伄銉椼儹銉炽儣銉堛倰绶ㄩ泦銇欍倠姗熻兘銈掑惈銈�楂樺害銇偒銈广偪銉炪偆銈恒倰鎻愪緵銇椼伨銇欍�傜祵楱撹眾瀵屻仾銉︺兗銈躲兗鍚戙亼銇с仚銆�',
     captionName: '銈€儣銉伄銈€偆銈炽兂銇ㄥ悕鍓�',
-    appNamePlaceholder: '銈€儣銉悕銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
+    appNamePlaceholder: '銈€儣銉伀鍚嶅墠銈掍粯銇戙倠',
     captionDescription: '瑾槑',
     appDescriptionPlaceholder: '銈€儣銉伄瑾槑銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
     useTemplate: '銇撱伄銉嗐兂銉椼儸銉笺儓銈掍娇鐢ㄣ仚銈�',
@@ -164,10 +165,6 @@
       title: '銈償銉冦偗',
       description: 'Opik 銇�丩LM 銈€儣銉偙銉笺偡銉с兂銈掕渚°�併儐銈广儓銆佺洠瑕栥仚銈嬨仧銈併伄銈兗銉椼兂銈姐兗銈� 銉椼儵銉冦儓銉曘偐銉笺儬銇с仚銆�',
     },
-    weave: {
-      description: 'Weave銇�丩LM銈€儣銉偙銉笺偡銉с兂銈掕渚°�併儐銈广儓銆併亰銈堛伋鐩h銇欍倠銇熴倎銇偑銉笺儣銉炽偨銉笺偣銉椼儵銉冦儓銉曘偐銉笺儬銇с仚銆�',
-      title: '绻斻倠',
-    },
   },
   answerIcon: {
     title: 'Web銈€儣銉偄銈ゃ偝銉炽倰浣跨敤銇椼仸馃銈掔疆銇嶆彌銇堛倠',
@@ -192,23 +189,6 @@
     searchAllTemplate: '銇欍伖銇︺伄銉嗐兂銉椼儸銉笺儓銈掓绱�...',
   },
   showMyCreatedAppsOnly: '鑷垎銇屼綔鎴愩仐銇熴偄銉椼儶',
-  appSelector: {
-    label: '銈€儣銉�',
-    params: '銈€儣銉儜銉┿儭銉笺偪',
-    noParams: '銉戙儵銉°兗銈裤伅蹇呰銇傘倞銇俱仜銈�',
-    placeholder: '銈€儣銉倰閬告姙...',
-  },
-  structOutput: {
-    moreFillTip: '鏈�澶�10銉儥銉伄銉嶃偣銉堛倰琛ㄧず銇椼伨銇�',
-    required: '蹇呴爤',
-    LLMResponse: 'LLM銇儸銈广儩銉炽偣',
-    configure: '瑷畾',
-    notConfiguredTip: '妲嬮�犲寲鍑哄姏銇屾湭瑷畾銇с仚',
-    structured: '妲嬮�犲寲鍑哄姏',
-    structuredTip: '妲嬮�犲寲鍑哄姏銇�併儮銉囥儷銇屽父銇寚瀹氥仌銈屻仧JSON銈广偔銉笺優銇簴鎷犮仐銇熷繙绛斻倰鐢熸垚銇欍倠銇撱仺銈掍繚瑷笺仚銈嬫鑳姐仹銇欍��',
-    modelNotSupported: '銉€儑銉亴瀵惧繙銇椼仸銇勩伨銇涖倱',
-    modelNotSupportedTip: '鐝惧湪銇儮銉囥儷銇亾銇鑳姐伀瀵惧繙銇椼仸銇娿倝銇氥�佽嚜鍕曠殑銇儣銉兂銉椼儓銈ゃ兂銈搞偋銈偡銉с兂銇垏銈婃浛銈忋倞銇俱仚銆�',
-  },
 }
 
 export default translation
diff --git a/i18n/ja-JP/billing.ts b/i18n/ja-JP/billing.ts
index 1b85449..6f90982 100644
--- a/i18n/ja-JP/billing.ts
+++ b/i18n/ja-JP/billing.ts
@@ -1,13 +1,5 @@
 const translation = {
   currentPlan: '鐝惧湪銇儣銉┿兂',
-  usagePage: {
-    teamMembers: '銉併兗銉犮儭銉炽儛銉�',
-    buildApps: '銈€儣銉倰浣滄垚銇欍倠',
-    annotationQuota: '銈€儙銉嗐兗銈枫儳銉炽兓銈偐銉笺偪',
-    documentsUploadQuota: '銉夈偔銉ャ儭銉炽儓銉汇偄銉冦儣銉兗銉夈兓銈偐銉笺偪',
-    vectorSpace: '鐭ヨ瓨銉囥兗銈裤偣銉堛儸銉笺偢',
-    vectorSpaceTooltip: '楂樺搧璩偆銉炽儑銉冦偗銈广儮銉笺儔銇儔銈儱銉°兂銉堛伅銆佺煡璀樸儑銉笺偪銈广儓銉兗銈搞伄銉偨銉笺偣銈掓秷璨汇仐銇俱仚銆傜煡璀樸儑銉笺偪銈广儓銉兗銈搞伄涓婇檺銇仈銇欍倠銇ㄣ�佹柊銇椼亜銉夈偔銉ャ儭銉炽儓銇偄銉冦儣銉兗銉夈仌銈屻伨銇涖倱銆�',
-  },
   upgradeBtn: {
     plain: '銉椼儵銉炽倰銈€儍銉椼偘銉兗銉�',
     encourage: '浠娿仚銇愩偄銉冦儣銈般儸銉笺儔',
@@ -16,14 +8,9 @@
   viewBilling: '璜嬫眰銇ㄣ偟銉栥偣銈儶銉椼偡銉с兂銇鐞�',
   buyPermissionDeniedTip: '銈点儢銈广偗銉儣銈枫儳銉炽仚銈嬨伀銇�併偍銉炽偪銉笺儣銉┿偆銈虹鐞嗚�呫伀閫g怠銇椼仸銇忋仩銇曘亜',
   plansCommon: {
-    title: '銇傘仾銇熴伄AI銇梾銈掓敮銇堛倠渚℃牸瑷畾',
-    freeTrialTipPrefix: '銈点偆銉炽偄銉冦儣寰屻��',
-    freeTrialTip: '200鍥炪伄OpenAI銈炽兗銉伄鐒℃枡銇彈銇戝彇銈�',
-    freeTrialTipSuffix: '銆傘偗銉偢銉冦儓銈兗銉変笉瑕�',
-    yearlyTip: '10銉舵湀鍒嗘敮鎵曘仯銇︺��1骞撮枔妤姐仐銈傘亞锛�',
-    mostPopular: '浜烘皸',
-    cloud: '銈儵銈︺儔銈点兗銉撱偣',
-    self: '銈汇儷銉曘儧銈广儓銈点兗銉撱偣',
+    title: '銇傘仾銇熸銇悎銇c仧銉椼儵銉炽倰閬告姙銇椼仸銇忋仩銇曘亜',
+    yearlyTip: '骞撮枔璩艰銇�2銇嬫湀鐒℃枡锛�',
+    mostPopular: '鏈�銈備汉姘椼伄銇傘倠',
     planRange: {
       monthly: '鏈堥',
       yearly: '骞撮',
@@ -32,43 +19,33 @@
     year: '骞�',
     save: '绡�绱� ',
     free: '鐒℃枡',
-    annualBilling: '骞存璜嬫眰',
-    comparePlanAndFeatures: '銉椼儵銉炽仺姗熻兘銈掓瘮杓冦仚銈�',
-    priceTip: '銉兗銈偣銉氥兗銈�/',
     currentPlan: '鐝惧湪銇儣銉┿兂',
     contractSales: '鍠舵キ銇�g怠銇欍倠',
     contractOwner: '銉併兗銉犮優銉嶃兗銈搞儯銉笺伀閫g怠銇欍倠',
     startForFree: '鐒℃枡銇у銈併倠',
-    getStarted: '濮嬨倎銈�',
+    getStartedWith: '濮嬨倎銈� ',
     contactSales: '鍠舵キ銇�g怠銇欍倠',
     talkToSales: '鍠舵キ銇ㄨ┍銇�',
-    modelProviders: 'OpenAI/Anthropic/Llama2/Azure OpenAI/Hugging Face/Replicate銈掋偟銉濄兗銉�',
-    teamWorkspace: '{{count,number}}銉併兗銉犮儻銉笺偗銈广儦銉笺偣',
-    teamMember_one: '銉併兗銉犮儭銉炽儛銉硷細{{count,number}}浜�',
-    teamMember_other: '銉併兗銉犮儭銉炽儛銉硷細{{count,number}}浜�',
+    modelProviders: '銉€儑銉儣銉儛銈ゃ儉銉�',
+    teamMembers: '銉併兗銉犮儭銉炽儛銉�',
     annotationQuota: '銈€儙銉嗐兗銈枫儳銉炽兓銈偐銉笺偪',
-    buildApps: '銈€儣銉伄鏁帮細{{count,number}}鍊�',
-    documents: '{{count,number}}銇煡璀樻枃鏇�',
-    documentsTooltip: '銉娿儸銉冦偢銉囥兗銈裤偨銉笺偣銇嬨倝銈ゃ兂銉濄兗銉堛仌銈屻仧銉夈偔銉ャ儭銉炽儓銇暟銇銇欍倠銈偐銉笺偪銆�',
-    vectorSpace: '{{size}}銇煡璀樸儑銉笺偪銈广儓銉兗銈�',
-    vectorSpaceTooltip: '楂樺搧璩偆銉炽儑銉冦偗銈广儮銉笺儔銇儔銈儱銉°兂銉堛伅銆佺煡璀樸儑銉笺偪銈广儓銉兗銈搞伄銉偨銉笺偣銈掓秷璨汇仐銇俱仚銆傜煡璀樸儑銉笺偪銈广儓銉兗銈搞伄涓婇檺銇仈銇欍倠銇ㄣ�佹柊銇椼亜銉夈偔銉ャ儭銉炽儓銇偄銉冦儣銉兗銉夈仌銈屻伨銇涖倱銆�',
-    documentsRequestQuota: '{{count,number}}/鍒嗐伄銉娿儸銉冦偢 銉偗銈ㄣ偣銉堛伄銉兗銉堝埗闄�',
-    documentsRequestQuotaTooltip: '銉娿儸銉冦偢銉欍兗銈瑰唴銇с儻銉笺偗銈广儦銉笺偣銇�1鍒嗛枔銇疅琛屻仹銇嶃倠鎿嶄綔銇窂鏁般倰绀恒仐銇俱仚銆傘亾銈屻伀銇�併儑銉笺偪銈汇儍銉堛伄浣滄垚銆佸墛闄ゃ�佹洿鏂般�併儔銈儱銉°兂銉堛伄銈€儍銉椼儹銉笺儔銆佷慨姝c�併偄銉笺偒銈ゃ儢銆併亰銈堛伋銉娿儸銉冦偢銉欍兗銈广偗銈ㄣ儶銇屽惈銇俱倢銇俱仚銆傘亾銇寚妯欍伅銆併儕銉儍銈搞儥銉笺偣銉偗銈ㄣ偣銉堛伄銉戙儠銈┿兗銉炪兂銈广倰瑭曚尽銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍�備緥銇堛伆銆丼andbox 銉︺兗銈躲兗銇�1鍒嗛枔銇�10鍥為�g稓銇с儝銉冦儓銉嗐偣銉堛倰瀹熻銇椼仧鍫村悎銆併仢銇儻銉笺偗銈广儦銉笺偣銇銇�1鍒嗛枔銆併儑銉笺偪銈汇儍銉堛伄浣滄垚銆佸墛闄ゃ�佹洿鏂般�併儔銈儱銉°兂銉堛伄銈€儍銉椼儹銉笺儔銈勪慨姝c仾銇┿伄鎿嶄綔銈掍竴鏅傜殑銇疅琛屻仹銇嶃仾銇忋仾銈娿伨銇欍��',
-    apiRateLimit: 'API銉兗銉堝埗闄�',
-    apiRateLimitUnit: '{{count,number}}/鏃�',
-    unlimitedApiRate: '鐒″埗闄愩伄API銈炽兗銉�',
-    apiRateLimitTooltip: 'API銉兗銉堝埗闄愩伅銆併儐銈偣銉堢敓鎴愩�併儊銉c儍銉堛儨銉冦儓銆併儻銉笺偗銉曘儹銉笺�併儔銈儱銉°兂銉堝嚘鐞嗐仾銇┿�丏ify API绲岀敱銇仚銇广仸銇儶銈偍銈广儓銇仼鐢ㄣ仌銈屻伨銇欍��',
-    documentProcessingPriority: '鏂囨浉鍑︾悊',
+    buildApps: '銈€儣銉倰浣滄垚銇欍倠',
+    vectorSpace: '銉欍偗銉堛儷銈广儦銉笺偣',
+    vectorSpaceBillingTooltip: '1MB銇傘仧銈婄磩120涓囨枃瀛椼伄銉欍偗銉堛儷鍖栥儑銉笺偪銈掍繚瀛樸仹銇嶃伨銇欙紙OpenAI Embeddings銈掍娇鐢ㄣ仐銇︽帹瀹氥仌銈屻�併儮銉囥儷銇倛銇c仸鐣般仾銈娿伨銇欙級銆�',
+    vectorSpaceTooltip: '銉欍偗銉堛儷銈广儦銉笺偣銇�丩LM銇屻儑銉笺偪銈掔悊瑙c仚銈嬨仧銈併伀蹇呰銇暦鏈熻鎲躲偡銈广儐銉犮仹銇欍��',
+    documentsUploadQuota: '銉夈偔銉ャ儭銉炽儓銉汇偄銉冦儣銉兗銉夈兓銈偐銉笺偪',
+    documentProcessingPriority: '銉夈偔銉ャ儭銉炽儓鍑︾悊銇劒鍏堝害',
+    documentProcessingPriorityTip: '銈堛倞楂樸亜銉夈偔銉ャ儭銉炽儓鍑︾悊銇劒鍏堝害銈掋仈甯屾湜銇牬鍚堛伅銆併儣銉┿兂銈掋偄銉冦儣銈般儸銉笺儔銇椼仸銇忋仩銇曘亜銆�',
     documentProcessingPriorityUpgrade: '銈堛倞楂樸亜绮惧害銇ㄩ珮閫熴仾閫熷害銇с儑銉笺偪銈掑嚘鐞嗐仐銇俱仚銆�',
     priority: {
       'standard': '妯欐簴',
       'priority': '鍎厛',
       'top-priority': '鏈�鍎厛',
     },
-    logsHistory: '{{days}}銇儹銈板饱姝�',
+    logsHistory: '銉偘灞ユ',
     customTools: '銈偣銈裤儬銉勩兗銉�',
     unavailable: '鍒╃敤涓嶅彲',
-    days: '鏃ラ枔',
+    days: '鏃�',
     unlimited: '鐒″埗闄�',
     support: '銈点儩銉笺儓',
     supportItems: {
@@ -91,102 +68,51 @@
     member: '銉°兂銉愩兗',
     memberAfter: '銉°兂銉愩兗',
     messageRequest: {
-      title: '{{count,number}}銉°儍銈汇兗銈�',
-      titlePerMonth: '{{count,number}}銉°儍銈汇兗銈�/鏈�',
-      tooltip: 'Open Al銉€儑銉倰浣跨敤銇欍倠銇曘伨銇栥伨銇儣銉┿兂銇儭銉冦偦銉笺偢鍛笺伋鍑恒仐銈偐銉笺偪銆備笂闄愩倰瓒呫亪銈嬨儭銉冦偦銉笺偢銇�丱pen AI API銈兗銈掍娇鐢ㄣ仐銇俱仚銆�',
+      title: '銉°儍銈汇兗銈搞偗銉偢銉冦儓',
+      tooltip: 'OpenAI銉€儑銉倰浣跨敤銇椼仧銇曘伨銇栥伨銇儣銉┿兂銇儭銉冦偦銉笺偢鍛笺伋鍑恒仐銈偐銉笺偪锛坓pt4銈掗櫎銇忥級銆傚埗闄愩倰瓒呫亪銈嬨儭銉冦偦銉笺偢銇疧penAI API銈兗銈掍娇鐢ㄣ仐銇俱仚銆�',
     },
     annotatedResponse: {
-      title: '{{count,number}}銇敞閲堛偗銈┿兗銈垮埗闄�',
-      tooltip: '鎵嬪嫊銇с伄鍥炵瓟銇法闆嗐仺娉ㄩ噲銇倛銈娿�併偒銈广偪銉炪偆銈哄彲鑳姐仾楂樺搧璩伄璩晱蹇滅瓟姗熻兘銈掋偄銉椼儶銇彁渚涖仐銇俱仚銆傦紙銉併儯銉冦儓銈€儣銉伄銇裤伀閬╃敤锛�',
+      title: '娉ㄩ噲銈偐銉笺偪鍒堕檺',
+      tooltip: '鎵嬪嫊銇с伄绶ㄩ泦銇ㄥ繙绛斻伄娉ㄩ噲浠樸亼銇倛銈娿�併偄銉椼儶銇偒銈广偪銉炪偆銈哄彲鑳姐仾楂樺搧璩仾璩晱蹇滅瓟姗熻兘銇屾彁渚涖仌銈屻伨銇欙紙銉併儯銉冦儓銈€儣銉伄銇块仼鐢級銆�',
     },
     ragAPIRequestTooltip: 'Dify銇儕銉儍銈搞儥銉笺偣鍑︾悊姗熻兘銇伩銈掑懠銇冲嚭銇橝PI鍛笺伋鍑恒仐銇暟銈掓寚銇椼伨銇欍��',
     receiptInfo: '銉併兗銉犮偑銉笺儕銉笺仺銉併兗銉犵鐞嗚�呫伄銇裤亴璩艰銇娿倛銇宠珛姹傛儏鍫便倰琛ㄧず銇с亶銇俱仚',
   },
   plans: {
     sandbox: {
-      name: 'Sandbox',
-      for: '涓昏姗熻兘銇劇鏂欎綋楱�',
-      description: '涓昏姗熻兘銈掔劇鏂欍仹浣撻〒',
+      name: '銈点兂銉夈儨銉冦偗銈�',
+      description: 'GPT銇劇鏂欍儓銉┿偆銈€儷200鍥�',
+      includesTitle: '鍚伨銈屻倠銈傘伄锛�',
     },
     professional: {
-      name: 'Professional',
-      for: '鍊嬩汉闁嬬櫤鑰�/灏忚妯°儊銉笺儬鍚戙亼',
-      description: '鍊嬩汉闁嬬櫤鑰呫兓灏忚妯°儊銉笺儬銇渶閬�',
+      name: '銉椼儹銉曘偋銉冦偡銉с儕銉�',
+      description: '鍊嬩汉銈勫皬瑕忔ā銉併兗銉犲悜銇戙伀銈堛倞澶氥亸銇儜銉兗銈掓墜闋冦仾渚℃牸銇ф彁渚涖仐銇俱仚銆�',
+      includesTitle: '鐒℃枡銉椼儵銉炽伀鍔犮亪銇︺�佹銈傚惈銇俱倢銇俱仚锛�',
     },
     team: {
-      name: 'Team',
-      for: '涓妯°儊銉笺儬鍚戙亼',
-      description: '鎴愰暦鏈熴伄銉併兗銉犮伀蹇呰銇鑳姐倰鍌欍亪銇熴儣銉┿兂',
-    },
-    community: {
-      name: '銈炽儫銉ャ儖銉嗐偅',
-      for: '鍊嬩汉/灏忚妯°儊銉笺儬銉婚潪鍠跺埄銉椼儹銈搞偋銈儓鍚戙亼',
-      description: '銈兗銉椼兂銈姐兗銈圭増銇劇鏂欍儣銉┿兂',
-      price: '鐒℃枡',
-      btnText: '銈炽儫銉ャ儖銉嗐偅鐗堛倰濮嬨倎銇俱仐銈囥亞',
-      includesTitle: '鐒℃枡姗熻兘:',
-      features: [
-        '銉戙儢銉儍銈儶銉濄偢銉堛儶銇叏銈炽偄姗熻兘',
-        '銈枫兂銈般儷銉兗銈偣銉氥兗銈�',
-        'Dify銈兗銉椼兂銈姐兗銈广儵銈ゃ偦銉炽偣婧栨嫚',
-      ],
-    },
-    premium: {
-      name: '銉椼儸銉熴偄銉�',
-      for: '涓妯$祫绻斻兓銉併兗銉犲悜銇�',
-      description: '銈儵銈︺儔瀵惧繙銇嫛寮电増銉椼儵銉�',
-      price: '寰撻噺鍒�',
-      priceTip: '銈儵銈︺儔銉炪兗銈便儍銉堛儣銉偆銈瑰熀婧�',
-      btnText: '銉椼儸銉熴偄銉犵増銈掑彇寰�',
-      includesTitle: '銈炽儫銉ャ儖銉嗐偅鐗堟鑳姐伀鍔犮亪銇�:',
-      comingSoon: 'Microsoft Azure & Google Cloud 杩戞棩瀵惧繙',
-      features: [
-        '銈儵銈︺儔銉椼儹銉愩偆銉�銉笺伀銈堛倠鑷繁绠$悊',
-        '銈枫兂銈般儷銉兗銈偣銉氥兗銈�',
-        'Web銈€儣銉伄銉偞锛嗐儢銉┿兂銉夈偒銈广偪銉炪偆銈�',
-        '鍎厛銉°兗銉�/銉併儯銉冦儓銈点儩銉笺儓',
-      ],
+      name: '銉併兗銉�',
+      description: '鍒堕檺銇亸鍗斿姏銇椼�佹渶楂樸伄銉戙儠銈┿兗銉炪兂銈广倰妤姐仐銈�銆�',
+      includesTitle: '銉椼儹銉曘偋銉冦偡銉с儕銉儣銉┿兂銇姞銇堛仸銆佹銈傚惈銇俱倢銇俱仚锛�',
     },
     enterprise: {
       name: '銈ㄣ兂銈裤兗銉椼儵銈ゃ偤',
-      for: '澶ц妯°儊銉笺儬銉讳紒妤悜銇�',
-      description: '浼佹キ銉儥銉伄銈汇偔銉ャ儶銉嗐偅銇ㄣ偒銈广偪銉炪偆銈恒倰瀹熺従',
-      price: '銈偣銈裤儬',
-      priceTip: '骞撮枔濂戠磩灏傜敤',
-      btnText: '鍠舵キ銇浉璜�',
-      includesTitle: '銉椼儸銉熴偄銉犵増姗熻兘銇姞銇堛仸:',
-      features: [
-        '銈ㄣ兂銈裤兗銉椼儵銈ゃ偤鍚戙亼鎷″嫉銈姐儶銉ャ兗銈枫儳銉�',
-        '鍟嗙敤銉┿偆銈汇兂銈硅獚鍙�',
-        '浼佹キ灏傜敤姗熻兘',
-        '銉炪儷銉併儻銉笺偗銈广儦銉笺偣绠$悊',
-        '銈枫兂銈般儷銈点偆銉炽偑銉筹紙SSO锛�',
-        'Dify銉戙兗銉堛儕銉笺伀銈堛倠SLA淇濊',
-        '楂樺害銇偦銈儱銉儐銈g鐞�',
-        '鍏紡銉°兂銉嗐儕銉炽偣锛嗐偄銉冦儣銉囥兗銉�',
-        '銉椼儹銉曘偋銉冦偡銉с儕銉妧琛撴敮鎻�',
-      ],
+      description: '澶ц妯°仾銉熴儍銈枫儳銉炽偗銉儐銈c偒銉偡銈广儐銉犮伄銇熴倎銇儠銉鑳姐仺銈点儩銉笺儓銈掓彁渚涖仐銇俱仚銆�',
+      includesTitle: '銉併兗銉犮儣銉┿兂銇姞銇堛仸銆佹銈傚惈銇俱倢銇俱仚锛�',
     },
   },
   vectorSpace: {
-    fullTip: '鐭ヨ瓨銉囥兗銈裤偣銉堛儸銉笺偢銇屻亜銇c伇銇勩仹銇欍��',
+    fullTip: '銉欍偗銉堛儷銈广儦銉笺偣銇屻亜銇c伇銇勩仹銇欍��',
     fullSolution: '銈堛倞澶氥亸銇偣銉氥兗銈广倰寰椼倠銇熴倎銇儣銉┿兂銈掋偄銉冦儣銈般儸銉笺儔銇椼仸銇忋仩銇曘亜銆�',
   },
   apps: {
     fullTipLine1: '銈堛倞澶氥亸銇偄銉椼儶銈掍綔鎴愩仚銈嬨伀銇��',
     fullTipLine2: '銉椼儵銉炽倰銈€儍銉椼偘銉兗銉夈仐銇︺亸銇犮仌銇勩��',
-    fullTip1: '銈€儣銉倰銈傘仯銇ㄤ綔鎴愩仚銈嬨仧銈併伀銈€儍銉椼偘銉兗銉夈仚銈�',
-    contactUs: '銇婂晱銇勫悎銈忋仜',
-    fullTip2: '銉椼儵銉炽伄鍒堕檺銇仈銇椼伨銇椼仧',
-    fullTip2des: '浣跨敤鐘舵硜銈掕В鏀俱仚銈嬨仧銈併伀闈炪偄銈儐銈c儢銇偄銉椼儶銈便兗銈枫儳銉炽倰鏁寸悊銇欍倠銇撱仺銈掋亰鍕с倎銇椼伨銇欍�傘伨銇熴伅銆併亰鍟忋亜鍚堛倧銇涖亸銇犮仌銇勩��',
-    fullTip1des: '銇撱伄銉椼儵銉炽仹銇偄銉椼儶妲嬬瘔銇埗闄愩伀閬斻仐銇俱仐銇�',
   },
   annotatedResponse: {
     fullTipLine1: '銈堛倞澶氥亸銇細瑭便倰娉ㄩ噲銇欍倠銇伅銆�',
     fullTipLine2: '銉椼儵銉炽倰銈€儍銉椼偘銉兗銉夈仐銇︺亸銇犮仌銇勩��',
     quotaTitle: '娉ㄩ噲杩斾俊銈偐銉笺偪',
   },
-  teamMembers: '銉併兗銉犮儭銉炽儛銉�',
 }
 
 export default translation
diff --git a/i18n/ja-JP/common.ts b/i18n/ja-JP/common.ts
index e85f8d2..e176f5d 100644
--- a/i18n/ja-JP/common.ts
+++ b/i18n/ja-JP/common.ts
@@ -1,10 +1,4 @@
 const translation = {
-  theme: {
-    theme: '銉嗐兗銉�',
-    light: '鏄庛倠銇�',
-    dark: '鏆椼亜',
-    auto: '銈枫偣銉嗐儬',
-  },
   api: {
     success: '鎴愬姛',
     actionSuccess: '銈€偗銈枫儳銉炽亴鎴愬姛銇椼伨銇椼仧',
@@ -32,8 +26,6 @@
     lineBreak: '鏀硅',
     sure: '纰鸿獚娓堛伩',
     download: '銉�銈︺兂銉兗銉�',
-    downloadSuccess: '銉�銈︺兂銉兗銉夊畬浜�',
-    downloadFailed: '銉�銈︺兂銉兗銉夈伀澶辨晽銇椼伨銇椼仧銆佸緦銇у啀瑭﹁銇椼仸銇忋仩銇曘亜銆�',
     delete: '鍓婇櫎',
     settings: '瑷畾',
     setup: '銈汇儍銉堛偄銉冦儣',
@@ -58,12 +50,6 @@
     submit: '閫佷俊',
     skip: '銈广偔銉冦儣',
     imageCopied: '銈炽償銉笺仐銇熺敾鍍�',
-    deleteApp: '銈€儣銉倰鍓婇櫎',
-    viewDetails: '瑭崇窗銈掕銈�',
-    copied: '銈炽償銉笺仐銇俱仐銇�',
-    in: '涓�',
-    format: '銉曘偐銉笺優銉冦儓',
-    more: '銈傘仯銇�',
   },
   errorMsg: {
     fieldRequired: '{{field}}銇繀瑕併仹銇�',
@@ -140,8 +126,6 @@
       Custom: '銈偣銈裤儬',
     },
     addMoreModel: '瑷畾鐢婚潰銇嬨倝浠栥伄銉€儑銉倰杩藉姞銇椼仸銇忋仩銇曘亜',
-    capabilities: '銉炪儷銉併儮銉笺儉銉鑳�',
-    settingsLink: '銉€儑銉儣銉儛銈ゃ儉銉艰ō瀹�',
   },
   menus: {
     status: '銉欍兗銈跨増',
@@ -154,7 +138,6 @@
     newApp: '鏂般仐銇勩偄銉椼儶',
     newDataset: '銉娿儸銉冦偢銇綔鎴�',
     tools: '銉勩兗銉�',
-    exploreMarketplace: '銉炪兗銈便儍銉堛儣銉偆銈广倰鎺㈢储銇欍倠',
   },
   userProfile: {
     settings: '瑷畾',
@@ -162,22 +145,11 @@
     workspace: '銉兗銈偣銉氥兗銈�',
     createWorkspace: '銉兗銈偣銉氥兗銈广倰浣滄垚',
     helpCenter: '銉樸儷銉�',
-    support: '銈点儩銉笺儓',
-    compliance: '銈炽兂銉椼儵銈ゃ偄銉炽偣',
     communityFeedback: '銉曘偅銉笺儔銉愩儍銈�',
     roadmap: '銉兗銉夈優銉冦儣',
     community: '銈炽儫銉ャ儖銉嗐偅',
     about: 'Dify銇仱銇勩仸',
     logout: '銉偘銈€偊銉�',
-    github: '銈儍銉堛儚銉�',
-  },
-  compliance: {
-    soc2Type1: 'SOC 2 Type I 鍫卞憡鏇�',
-    soc2Type2: 'SOC 2 Type II 鍫卞憡鏇�',
-    iso27001: 'ISO 27001:2022 瑾嶈',
-    gdpr: 'GDPR 銉囥兗銈垮嚘鐞嗗绱勶紙DPA锛�',
-    sandboxUpgradeTooltip: '銉椼儹銉曘偋銉冦偡銉с儕銉儣銉┿兂銇俱仧銇儊銉笺儬銉椼儵銉炽仹銇伩鍒╃敤鍙兘',
-    professionalUpgradeTooltip: '銉併兗銉犮儣銉┿兂浠ヤ笂銇绱勩亴蹇呰銇с仚',
   },
   settings: {
     accountGroup: '銈€偒銈︺兂銉�',
@@ -191,7 +163,6 @@
     dataSource: '銉囥兗銈裤偨銉笺偣',
     plugin: '銉椼儵銈般偆銉�',
     apiBasedExtension: 'API鎷″嫉',
-    generalGroup: '涓�鑸�',
   },
   account: {
     avatar: '銈€儛銈裤兗',
@@ -227,9 +198,6 @@
     feedbackLabel: '銈€偒銈︺兂銉堛倰鍓婇櫎銇椼仧鐞嗙敱銈掓暀銇堛仸銇忋仩銇曘亜銆�',
     feedbackPlaceholder: '闅忔剰',
     sendVerificationButton: '纰鸿獚銈炽兗銉夈伄閫佷俊',
-    editWorkspaceInfo: '銉兗銈偣銉氥兗銈规儏鍫便倰绶ㄩ泦',
-    workspaceName: '銉兗銈偣銉氥兗銈瑰悕',
-    workspaceIcon: '銉兗銈偣銉氥兗銈广偄銈ゃ偝銉�',
   },
   members: {
     team: '銉併兗銉�',
@@ -322,7 +290,6 @@
       usedUp: '銉堛儵銈ゃ偄銉偗銈┿兗銈裤亴浣裤亜鏋溿仧銇曘倢銇俱仐銇熴�傜嫭鑷伄銉€儑銉儣銉儛銈ゃ儉銈掕拷鍔犮仐銇︺亸銇犮仌銇勩��',
       useYourModel: '鐝惧湪銆佺嫭鑷伄銉€儑銉儣銉儛銈ゃ儉銈掍娇鐢ㄣ仐銇︺亜銇俱仚銆�',
       close: '闁夈仒銈�',
-      trialQuotaTip: '銇婂妲樸伄 Anthropic 瑭︾敤鏋犮伅 2025/03/17 銇け鍔广仐銆併仢銇緦銇埄鐢ㄣ仹銇嶃仾銇忋仾銈娿伨銇欍�傘亰鏃┿倎銇仈鍒╃敤銇忋仩銇曘亜銆�',
     },
     anthropic: {
       using: '鍩嬨倎杈笺伩姗熻兘銇娇鐢ㄤ腑銇с仚',
@@ -434,12 +401,6 @@
     loadBalancingLeastKeyWarning: '璨犺嵎鍒嗘暎銈掑埄鐢ㄣ仚銈嬨伀銇�佹渶浣�2銇ゃ伄銈兗銈掓湁鍔瑰寲銇欍倠蹇呰銇屻亗銈娿伨銇欍��',
     loadBalancingInfo: '銉囥儠銈┿儷銉堛仹銇�佽矤鑽峰垎鏁c伅銉┿偊銉炽儔銉儞銉虫柟寮忋倰鎺$敤銇椼仸銇勩伨銇欍�傘儸銉笺儓鍒堕檺銇岀櫤鐢熴仐銇熷牬鍚堛��1鍒嗛枔銇偗銉笺儷銉�銈︺兂鏈熼枔銇岄仼鐢ㄣ仌銈屻伨銇欍��',
     upgradeForLoadBalancing: '璨犺嵎鍒嗘暎銈掑埄鐢ㄣ仚銈嬨伀銇�併儣銉┿兂銇偄銉冦儣銈般儸銉笺儔銇屽繀瑕併仹銇欍��',
-    emptyProviderTitle: '銉€儑銉儣銉儛銈ゃ儉銉笺亴瑷畾銇曘倢銇︺亜銇俱仜銈�',
-    discoverMore: '銈傘仯銇ㄧ櫤瑕嬨仚銈�',
-    installProvider: '銉€儑銉儣銉儛銈ゃ儉銉笺倰銈ゃ兂銈广儓銉笺儷銇欍倠',
-    configureTip: 'API銈兗銈掕ō瀹氥仚銈嬨亱銆佷娇鐢ㄣ仚銈嬨儮銉囥儷銈掕拷鍔犮仐銇︺亸銇犮仌銇�',
-    toBeConfigured: '瑷畾涓�',
-    emptyProviderTip: '鏈�鍒濄伀銉€儑銉儣銉儛銈ゃ儉銉笺倰銈ゃ兂銈广儓銉笺儷銇椼仸銇忋仩銇曘亜銆�',
   },
   dataSource: {
     add: '銉囥兗銈裤偨銉笺偣銇拷鍔�',
@@ -483,7 +444,7 @@
   apiBasedExtension: {
     title: 'API鎷″嫉姗熻兘銇�丏ify銇偄銉椼儶銈便兗銈枫儳銉冲叏浣撱仹銇啊鍗樸仾浣跨敤銇仧銈併伄瑷畾銈掔啊绱犲寲銇椼�侀泦涓殑銇狝PI绠$悊銈掓彁渚涖仐銇俱仚銆�',
     link: '鐙嚜銇瓵PI鎷″嫉姗熻兘銈掗枊鐧恒仚銈嬫柟娉曘伀銇ゃ亜銇﹀銇躲��',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'API鎷″嫉姗熻兘銈掕拷鍔�',
     selector: {
       title: 'API鎷″嫉姗熻兘',
@@ -569,9 +530,6 @@
       hitScore: '妞滅储銈广偝銈�:',
     },
     inputPlaceholder: '銉溿儍銉堛仺瑭便仚',
-    thought: '鎬濊��',
-    thinking: '鑰冦亪涓�...',
-    resend: '鍐嶉�佷俊銇椼仸銇忋仩銇曘亜',
   },
   promptEditor: {
     placeholder: '銇撱亾銇儣銉兂銉椼儓銉兗銉夈倰鍏ュ姏銇椼仸銇忋仩銇曘亜銆傚鏁般倰鎸垮叆銇欍倠銇伅銆寋銆嶃倰銆併儣銉兂銉椼儓銈炽兂銉嗐兂銉勩儢銉儍銈倰鎸垮叆銇欍倠銇伅銆�/銆嶃倰鍏ュ姏銇椼伨銇欍��',
@@ -661,11 +619,6 @@
   },
   pagination: {
     perPage: '銉氥兗銈搞亗銇熴倞銇偄銈ゃ儐銉犳暟',
-  },
-  imageInput: {
-    browse: '銉栥儵銈︺偤銇欍倠',
-    supportedFormats: 'PNG銆丣PG銆丣PEG銆乄EBP銆併亰銈堛伋GIF銈掋偟銉濄兗銉堛仐銇︺亜銇俱仚銆�',
-    dropImageHere: '銇撱亾銇敾鍍忋倰銉夈儹銉冦儣銇欍倠銇嬨��',
   },
 }
 
diff --git a/i18n/ja-JP/custom.ts b/i18n/ja-JP/custom.ts
index d975071..a02773f 100644
--- a/i18n/ja-JP/custom.ts
+++ b/i18n/ja-JP/custom.ts
@@ -1,8 +1,6 @@
 const translation = {
   custom: '銈偣銈裤優銈ゃ偤',
   upgradeTip: {
-    title: '銉椼儵銉炽倰銈€儍銉椼偘銉兗銉�',
-    des: '銉栥儵銉炽儔銈掋偒銈广偪銉炪偆銈恒仚銈嬨仧銈併伀銇儣銉┿兂銈掋偄銉冦儣銈般儸銉笺儔銇椼仸銇忋仩銇曘亜銆�',
     prefix: '銉椼儵銉炽倰銈€儍銉椼偘銉兗銉夈仐銇�',
     suffix: '銉栥儵銉炽儔銈掋偒銈广偪銉炪偆銈恒仐銇俱仐銈囥亞銆�',
   },
diff --git a/i18n/ja-JP/dataset-creation.ts b/i18n/ja-JP/dataset-creation.ts
index a3f573c..e0171ea 100644
--- a/i18n/ja-JP/dataset-creation.ts
+++ b/i18n/ja-JP/dataset-creation.ts
@@ -1,14 +1,15 @@
 const translation = {
   steps: {
     header: {
-      fallbackRoute: '銉娿儸銉冦偢銉欍兗銈�',
+      creation: '銉娿儸銉冦偢銇綔鎴�',
+      update: '銉囥兗銈裤伄杩藉姞',
     },
     one: '銉囥兗銈裤偨銉笺偣',
     two: '銉嗐偔銈广儓閫茶涓�',
     three: '瀹熻銇ㄥ畬鎴�',
   },
   error: {
-    unavailable: '銇撱伄銉娿儸銉冦偢銉欍兗銈广伅鍒╃敤銇с亶銇俱仜銈�',
+    unavailable: '銇撱伄銉娿儸銉冦偢銇埄鐢ㄣ仹銇嶃伨銇涖倱',
   },
   firecrawl: {
     configFirecrawl: '馃敟Firecrawl銇ō瀹�',
@@ -30,7 +31,7 @@
     },
     uploader: {
       title: '銉嗐偔銈广儓銉曘偂銈ゃ儷銈掋偄銉冦儣銉兗銉�',
-      button: '銉曘偂銈ゃ儷銇俱仧銇儠銈┿儷銉�銈掋儔銉┿儍銈般偄銉炽儔銉夈儹銉冦儣銇欍倠',
+      button: '銉曘偂銈ゃ儷銈掋儔銉┿儍銈帮紗銉夈儹銉冦儣銇欍倠銇�',
       browse: '鍙傜収',
       tip: '{{supportTypes}}銈掋偟銉濄兗銉堛仐銇︺亜銇俱仚銆�1銇ゃ亗銇熴倞銇渶澶с偟銈ゃ偤銇瘂{size}}MB銇с仚銆�',
       validation: {
@@ -48,11 +49,11 @@
     connect: '鎺ョ稓銇欍倠',
     cancel: '銈儯銉炽偦銉�',
     button: '娆°伕',
-    emptyDatasetCreation: '绌恒伄銉娿儸銉冦偢銉欍兗銈广倰浣滄垚銇椼伨銇�',
+    emptyDatasetCreation: '绌恒伄銉娿儸銉冦偢銈掍綔鎴愩仐銇俱仚',
     modal: {
-      title: '绌恒伄銉娿儸銉冦偢銉欍兗銈广倰浣滄垚',
-      tip: '绌恒伄銉娿儸銉冦偢銉欍兗銈广伀銇儔銈儱銉°兂銉堛亴鍚伨銈屻仛銆併亜銇ゃ仹銈傘儔銈儱銉°兂銉堛倰銈€儍銉椼儹銉笺儔銇с亶銇俱仚銆�',
-      input: '銉娿儸銉冦偢銉欍兗銈广伄鍚嶇О',
+      title: '绌恒伄銉娿儸銉冦偢銈掍綔鎴�',
+      tip: '绌恒伄銉娿儸銉冦偢銇伅銉夈偔銉ャ儭銉炽儓銇屽惈銇俱倢銇氥�併亜銇ゃ仹銈傘儔銈儱銉°兂銉堛倰銈€儍銉椼儹銉笺儔銇с亶銇俱仚銆�',
+      input: '銉娿儸銉冦偢鍚�',
       placeholder: '鍏ュ姏銇椼仸銇忋仩銇曘亜',
       nameNotEmpty: '鍚嶅墠銇┖銇仹銇嶃伨銇涖倱',
       nameLengthInvalid: '鍚嶅墠銇�1銆�40鏂囧瓧銇с亗銈嬪繀瑕併亴銇傘倞銇俱仚',
@@ -61,23 +62,13 @@
       failed: '浣滄垚銇け鏁椼仐銇俱仐銇�',
     },
     website: {
-      chooseProvider: '銉椼儹銉愩偆銉�銉笺倰閬告姙銇欍倠',
       fireCrawlNotConfigured: 'Firecrawl銇岃ō瀹氥仌銈屻仸銇勩伨銇涖倱',
       fireCrawlNotConfiguredDescription: 'Firecrawl 銈掍娇鐢ㄣ仚銈嬨伀銇�丗irecrawl 銇� API 銈兗銈掕ō瀹氥仐銇︺亸銇犮仌銇勩��',
-      jinaReaderNotConfigured: 'Jina Reader 銇岃ō瀹氥仌銈屻仸銇勩伨銇涖倱',
-      jinaReaderNotConfiguredDescription: '鐒℃枡銇瓵PI銈兗銈掑叆鍔涖仐銇︺�丣ina Reader銈掕ō瀹氥仐銇俱仚銆�',
       configure: '瑷畾',
-      configureFirecrawl: '閰嶇疆 Firecrawl',
-      configureJinaReader: '閰嶇疆 Jina Reader',
       run: '瀹熻',
       firecrawlTitle: '馃敟Firecrawl銈掍娇銇c仹銈︺偍銉栥偝銉炽儐銉炽儎銈掓娊鍑�',
       firecrawlDoc: 'Firecrawl銉夈偔銉ャ儭銉炽儓',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      jinaReaderTitle: '銈点偆銉堝叏浣撱倰Markdown銇鎻涖仚銈�',
-      jinaReaderDoc: 'Jina Reader銇┏绱�',
-      jinaReaderDocLink: 'https://jina.ai/reader',
-      useSitemap: 'sitemap(銈点偆銉堛優銉冦儣)銈掍娇鐢ㄣ仚銈�',
-      useSitemapTooltip: '銈点偆銉堛優銉冦儣銇部銇c仸銈点偆銉堛倰銈儹銉笺儷銇椼伨銇欍�傘仢銇嗐仹銇亜鍫村悎銆丣ina Reader銇儦銉笺偢銇枹閫f�с伀鍩恒仴銇勩仸绻般倞杩斻仐銈儹銉笺儷銇椼�併儦銉笺偢鏁般伅灏戙仾銇忋仾銈娿伨銇欍亴銆侀珮鍝佽唱銇儦銉笺偢銇屽緱銈夈倢銇俱仚銆�',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       options: '銈儣銈枫儳銉�',
       crawlSubPage: '銈点儢銉氥兗銈搞倰銈儹銉笺儷銇欍倠',
       limit: '鍒堕檺',
@@ -93,12 +84,14 @@
       scrapTimeInfo: '{{time}} 绉掍互鍐呫伀鍚堣▓ {{total}} 銉氥兗銈搞倰銈广偗銉偆銉斻兂銈般仐銇俱仐銇�',
       preview: '銉椼儸銉撱儱銉�',
       maxDepthTooltip: '鍏ュ姏銇曘倢銇烾RL銈掑熀銇仐銇熴偗銉兗銉兂銈颁綔妤仹銇ō瀹氬彲鑳姐仾鏈�澶ф繁搴︺伀銇ゃ亜銇﹁鏄庛仐銇俱仚銆傛繁搴�0銇叆鍔涖仌銈屻仧URL鑷綋銇儦銉笺偢銈掑璞°仺銇椼仧銈广偗銉偆銉斻兂銈般倰鎰忓懗銇椼伨銇欍�傛繁搴�1銇с伅銆佸厓銇甎RL銇洿涓嬨伀銇傘倠銉氥兗銈革紙URL銇稓銇忔渶鍒濄伄"/"浠ラ檷銇唴瀹癸級銈傘偣銈儸銈ゃ償銉炽偘銇璞°伀銇倞銇俱仚銆傘亾銇繁搴︺伅鎸囧畾銇椼仧鏁板�ゃ伨銇у鍔犮仌銇涖倠銇撱仺銇屻仹銇嶃�併仢銈屻伀蹇溿仒銇︺偣銈儸銈ゃ償銉炽偘銇瘎鍥层倐搴冦亴銇c仸銇勩亶銇俱仚銆�',
-      waterCrawlNotConfiguredDescription: 'API銈兗銈掍娇銇c仸Watercrawl銈掕ō瀹氥仐銇俱仚銆�',
-      configureWatercrawl: '銈︺偐銉笺偪銉笺偗銉兗銉┿兗銈掕ō瀹氥仚銈�',
-      watercrawlDoc: '銈︺偐銉笺偪銉笺偗銉兗銉兂銈般伄鏂囨浉',
-      watercrawlTitle: 'Watercrawl銈掍娇鐢ㄣ仐銇︺偊銈с儢銈炽兂銉嗐兂銉勩倰鎶藉嚭銇欍倠',
-      waterCrawlNotConfigured: 'Watercrawl銇ō瀹氥仌銈屻仸銇勩伨銇涖倱',
-      watercrawlDocLink: 'https://docs.dify.ai/ja/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      jinaReaderDocLink: 'https://jina.ai/reader',
+      useSitemap: '銈点偆銉堛優銉冦儣銈掍娇鐢ㄣ仚銈�',
+      jinaReaderNotConfigured: 'Jina Reader 銇岃ō瀹氥仌銈屻仸銇勩伨銇涖倱',
+      jinaReaderDoc: 'Jina Reader銇┏绱�',
+      jinaReaderTitle: '銈点偆銉堝叏浣撱倰Markdown銇鎻涖仚銈�',
+      chooseProvider: '銉椼儹銉愩偆銉�銉笺倰閬告姙銇欍倠',
+      jinaReaderNotConfiguredDescription: '鐒℃枡銇瓵PI銈兗銈掑叆鍔涖仐銇ina Reader銈掕ō瀹氥仐銇俱仚銆�',
+      useSitemapTooltip: '銈点偆銉堛優銉冦儣銇部銇c仸銈点偆銉堛倰銈儹銉笺儷銇椼伨銇欍�傘仢銇嗐仹銇亜鍫村悎銆丣ina Reader銇儦銉笺偢銇枹閫f�с伀鍩恒仴銇勩仸绻般倞杩斻仐銈儹銉笺儷銇椼�併儦銉笺偢鏁般伅灏戙仾銇忋仾銈娿伨銇欍亴銆侀珮鍝佽唱銇儦銉笺偢銇屽緱銈夈倢銇俱仚銆�',
     },
   },
   stepTwo: {
@@ -128,7 +121,7 @@
     removeUrlEmails: '銇欍伖銇︺伄URL銇ㄣ儭銉笺儷銈€儔銉偣銈掑墛闄ゃ仚銈�',
     removeStopwords: '銆宎銆嶃�宎n銆嶃�宼he銆嶃仾銇┿伄銈广儓銉冦儣銉兗銉夈倰鍓婇櫎銇欍倠',
     preview: '銉椼儸銉撱儱銉�',
-    previewChunk: '銉併儯銉炽偗銈掋儣銉儞銉ャ兗',
+    previewChunk: '銉併儱銉炽偗銈掋儣銉儞銉ャ兗',
     reset: '銉偦銉冦儓',
     indexMode: '銈ゃ兂銉囥儍銈偣鏂规硶',
     qualified: '楂樺搧璩�',
@@ -161,7 +154,7 @@
     sideTipTitle: '銇仠銉併儯銉炽偗銇ㄥ墠鍑︾悊銇屽繀瑕併仾銇亱',
     sideTipP1: '銉嗐偔銈广儓銉囥兗銈裤倰鍑︾悊銇欍倠闅涖�併儊銉c兂銈仺銈儶銉笺儖銉炽偘銇�2銇ゃ伄閲嶈銇墠鍑︾悊銈广儐銉冦儣銇с仚銆�',
     sideTipP2: '銈汇偘銉°兂銉嗐兗銈枫儳銉炽伅闀枫亜銉嗐偔銈广儓銈掓钀姐伀鍒嗗壊銇椼�併儮銉囥儷銇屻倛銈婄悊瑙c仐銈勩仚銇忋仐銇俱仚銆傘亾銈屻伀銈堛倞銆併儮銉囥儷銇祼鏋溿伄鍝佽唱銇ㄩ枹閫f�с亴鍚戜笂銇椼伨銇欍��',
-    sideTipP3: '銈儶銉笺儖銉炽偘銇笉瑕併仾鏂囧瓧銈勬浉寮忋倰鍓婇櫎銇椼�併儕銉儍銈搞儥銉笺偣銈掋倛銈娿偗銉兗銉炽仹瑙f瀽銇椼倓銇欍亜銈傘伄銇仐銇俱仚銆�',
+    sideTipP3: '銈儶銉笺儖銉炽偘銇笉瑕併仾鏂囧瓧銈勬浉寮忋倰鍓婇櫎銇椼�併儕銉儍銈搞倰銈堛倞銈儶銉笺兂銇цВ鏋愩仐銈勩仚銇勩倐銇伀銇椼伨銇欍��',
     sideTipP4: '閬╁垏銇儊銉c兂銈仺銈儶銉笺儖銉炽偘銇儮銉囥儷銇儜銉曘偐銉笺優銉炽偣銈掑悜涓娿仌銇涖�併倛銈婃纰恒仹渚″�ゃ伄銇傘倠绲愭灉銈掓彁渚涖仐銇俱仚銆�',
     previewTitle: '銉椼儸銉撱儱銉�',
     previewTitleButton: '銉椼儸銉撱儱銉�',
@@ -171,10 +164,10 @@
     characters: '鏂囧瓧',
     indexSettingTip: '銈ゃ兂銉囥儍銈偣鏂规硶銈掑鏇淬仚銈嬨伀銇��',
     retrievalSettingTip: '妞滅储鏂规硶銈掑鏇淬仚銈嬨伀銇��',
-    datasetSettingLink: '銉娿儸銉冦偢銉欍兗銈硅ō瀹�',
+    datasetSettingLink: '銉娿儸銉冦偢瑷畾',
     separatorTip: '鍖哄垏銈婃枃瀛椼伅銆併儐銈偣銉堛倰鍖哄垏銈嬨仧銈併伀浣跨敤銇曘倢銈嬫枃瀛椼仹銇欍�俓\n\\n 銇� \\n 銇�佹钀姐仺琛屻倰鍖哄垏銈嬨仧銈併伀涓�鑸殑銇娇鐢ㄣ仌銈屻倠鍖哄垏銈婅鍙枫仹銇欍�傘偒銉炽優 (\\n\\n,\\n) 銇ㄧ祫銇垮悎銈忋仜銈嬨仺銆佹渶澶с儊銉c兂銈暦銈掕秴銇堛倠銇ㄣ�佹钀姐伅琛屻仹鍖哄垏銈夈倢銇俱仚銆傝嚜鍒嗐仹瀹氱京銇椼仧鐗瑰垾銇尯鍒囥倞鏂囧瓧銈掍娇鐢ㄣ仚銈嬨亾銇ㄣ倐銇с亶銇俱仚(渚�:***)銆�',
     maxLengthCheck: '銉併儯銉炽偗銇渶澶ч暦銇� {{limit}} 鏈簚銇仚銈嬪繀瑕併亴銇傘倞銇俱仚',
-    previewChunkTip: '銉椼儸銉撱儱銉笺倰瑾伩杈笺個銇伅銆佸乏鍋淬伄 \'銉併儯銉炽偗銈掋儣銉儞銉ャ兗\' 銉溿偪銉炽倰銈儶銉冦偗銇椼仸銇忋仩銇曘亜',
+    previewChunkTip: '銉椼儸銉撱儱銉笺倰瑾伩杈笺個銇伅銆佸乏鍋淬伄 \'銉併儱銉炽偗銈掋儣銉儞銉ャ兗\' 銉溿偪銉炽倰銈儶銉冦偗銇椼仸銇忋仩銇曘亜',
     previewChunkCount: '鎺ㄥ畾銉併儯銉炽偗鏁�: {{count}}',
     switch: '鍒囥倞鏇裤亪',
     qaSwitchHighQualityTipTitle: 'Q&A褰㈠紡銇伅楂樺搧璩仾銈ゃ兂銉囥儍銈偣銇屽繀瑕併仹銇�',
@@ -185,17 +178,17 @@
     parentChildChunkDelimiterTip: '鍖哄垏銈婃枃瀛椼仺銇�併儐銈偣銉堛倰鍒嗗壊銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻倠鏂囧瓧銇с仚銆俓\n 銇�佽Κ銉併儯銉炽偗銈掑皬銇曘仾瀛愩儊銉c兂銈伀鍒嗗壊銇欍倠闅涖伀銇娿仚銇欍倎銇с仚銆傜嫭鑷伄鍖哄垏銈婃枃瀛椼倐浣跨敤銇с亶銇俱仚銆�',
   },
   stepThree: {
-    creationTitle: '馃帀 銉娿儸銉冦偢銉欍兗銈广亴浣滄垚銇曘倢銇俱仐銇�',
-    creationContent: '銉娿儸銉冦偢銉欍兗銈广伄鍚嶅墠銇嚜鍕曠殑銇ō瀹氥仌銈屻伨銇椼仧銇屻�佽嚜鐢便伀澶夋洿銇с亶銇俱仚銆�',
-    label: '銉娿儸銉冦偢銉欍兗銈瑰悕',
+    creationTitle: '馃帀 銉娿儸銉冦偢銇屼綔鎴愩仌銈屻伨銇椼仧',
+    creationContent: '銉娿儸銉冦偢銇悕鍓嶃伅鑷嫊鐨勩伀瑷畾銇曘倢銇俱仐銇熴亴銆併亜銇ゃ仹銈傚鏇淬仹銇嶃伨銇欍��',
+    label: '銉娿儸銉冦偢鍚�',
     additionTitle: '馃帀 銉夈偔銉ャ儭銉炽儓銇屻偄銉冦儣銉兗銉夈仌銈屻伨銇椼仧',
-    additionP1: '銉夈偔銉ャ儭銉炽儓銇儕銉儍銈搞儥銉笺偣銇偄銉冦儣銉兗銉夈仌銈屻伨銇椼仧',
-    additionP2: '銆併儕銉儍銈搞儥銉笺偣銇儔銈儱銉°兂銉堛儶銈广儓銇ц銇ゃ亼銈嬨亾銇ㄣ亴銇с亶銇俱仚銆�',
+    additionP1: '銉夈偔銉ャ儭銉炽儓銇儕銉儍銈搞伀銈€儍銉椼儹銉笺儔銇曘倢銇俱仐銇�',
+    additionP2: '銆併儕銉儍銈搞伄銉夈偔銉ャ儭銉炽儓銉偣銉堛仹瑕嬨仱銇戙倠銇撱仺銇屻仹銇嶃伨銇欍��',
     stop: '鍑︾悊銈掑仠姝�',
     resume: '鍑︾悊銈掑啀闁�',
     navTo: '銉夈偔銉ャ儭銉炽儓銇Щ鍕�',
     sideTipTitle: '娆°伅浣曘仹銇欍亱',
-    sideTipContent: '銉夈偔銉ャ儭銉炽儓銇偆銉炽儑銉冦偗銈广亴瀹屼簡銇椼仧銈夈�併儕銉儍銈搞儥銉笺偣銈掋偄銉椼儶銈便兗銈枫儳銉炽伄銈炽兂銉嗐偔銈广儓銇ㄣ仐銇︾当鍚堛仚銈嬨亾銇ㄣ亴銇с亶銇俱仚銆傘儣銉兂銉椼儓銈兗銈便偣銉堛儸銉笺偡銉с兂銉氥兗銈搞仹銈炽兂銉嗐偔銈广儓瑷畾銈掕銇ゃ亼銈嬨亾銇ㄣ亴銇с亶銇俱仚銆傘伨銇熴�佺嫭绔嬨仐銇烠hatGPT銈ゃ兂銉囥儍銈偣銉椼儵銈般偆銉炽仺銇椼仸銉儶銉笺偣銇欍倠銇撱仺銈傘仹銇嶃伨銇欍��',
+    sideTipContent: '銉夈偔銉ャ儭銉炽儓銇偆銉炽儑銉冦偗銈广亴瀹屼簡銇椼仧銈夈�併儕銉儍銈搞倰銈€儣銉偙銉笺偡銉с兂銇偝銉炽儐銈偣銉堛仺銇椼仸绲卞悎銇欍倠銇撱仺銇屻仹銇嶃伨銇欍�傘儣銉兂銉椼儓銈兗銈便偣銉堛儸銉笺偡銉с兂銉氥兗銈搞仹銈炽兂銉嗐偔銈广儓瑷畾銈掕銇ゃ亼銈嬨亾銇ㄣ亴銇с亶銇俱仚銆傘伨銇熴�佺嫭绔嬨仐銇烠hatGPT銈ゃ兂銉囥儍銈偣銉椼儵銈般偆銉炽仺銇椼仸銉儶銉笺偣銇欍倠銇撱仺銈傘仹銇嶃伨銇欍��',
     modelTitle: '鍩嬨倎杈笺伩銈掑仠姝€仐銇︺倐銈堛倣銇椼亜銇с仚銇嬶紵',
     modelContent: '寰屻仹鍑︾悊銈掑啀闁嬨仚銈嬪繀瑕併亴銇傘倠鍫村悎銇�佷腑鏂仐銇熷牬鎵�銇嬨倝缍氳銇椼伨銇欍��',
     modelButtonConfirm: '纰鸿獚',
@@ -205,11 +198,6 @@
     title: '浠栥伄銉囥兗銈裤偨銉笺偣銇ㄦ帴缍氥仐銇俱仚銇嬶紵',
     description: '鐝惧湪銆丏ify銇儕銉儍銈搞儥銉笺偣銇伅鍒╃敤銇с亶銈嬨儑銉笺偪銈姐兗銈广亴闄愩倝銈屻仸銇勩伨銇欍�侱ify銇儕銉儍銈搞儥銉笺偣銇儑銉笺偪銈姐兗銈广倰鎻愪緵銇勩仧銇犮亸銇撱仺銇�併儣銉┿儍銉堛儠銈┿兗銉犮伄鏌旇粺鎬с仺鑳藉姏銈掑悜涓娿仌銇涖倠涓娿仹闈炲父銇湁鐩娿仹銇欍�傝并鐚偓銈ゃ儔銈掋仈鐢ㄦ剰銇椼仸銇勩伨銇欍伄銇с�併仠銇层仈鍗斿姏銇忋仩銇曘亜銆傝┏绱般伀銇ゃ亜銇︺伅銆佷互涓嬨伄銉兂銈倰銈儶銉冦偗銇椼仸銇忋仩銇曘亜銆�',
     learnMore: '瑭崇窗銇亾銇°倝',
-  },
-  watercrawl: {
-    getApiKeyLinkText: 'watercrawl.dev銇嬨倝API銈兗銈掑彇寰椼仐銇︺亸銇犮仌銇勩��',
-    configWatercrawl: '銈︺偐銉笺偪銉笺偗銉兗銉┿兗銈掕ō瀹氥仚銈�',
-    apiKeyPlaceholder: 'watercrawl.dev銇嬨倝銇瓵PI銈兗',
   },
 }
 
diff --git a/i18n/ja-JP/dataset-documents.ts b/i18n/ja-JP/dataset-documents.ts
index 3943146..0ca9362 100644
--- a/i18n/ja-JP/dataset-documents.ts
+++ b/i18n/ja-JP/dataset-documents.ts
@@ -1,7 +1,7 @@
 const translation = {
   list: {
     title: '銉夈偔銉ャ儭銉炽儓',
-    desc: '銇欍伖銇︺伄銉曘偂銈ゃ儷銇屻亾銇撱伀琛ㄧず銇曘倢銆併儕銉儍銈搞儥銉笺偣鍏ㄤ綋銇孌ify銇紩鐢ㄣ倓銉併儯銉冦儓銉椼儵銈般偆銉炽倰浠嬨仐銇︺儶銉炽偗銇曘倢銈嬨亱銆併偆銉炽儑銉冦偗銈瑰寲銇曘倢銈嬨亾銇ㄣ亴銇с亶銇俱仚銆�',
+    desc: '銉娿儸銉冦偢銇仚銇广仸銇儠銈°偆銉亴銇撱亾銇〃绀恒仌銈屻�併儕銉儍銈稿叏浣撱亴Dify銇紩鐢ㄣ倓銉併儯銉冦儓銉椼儵銈般偆銉炽倰浠嬨仐銇︺儶銉炽偗銇曘倢銈嬨亱銆併偆銉炽儑銉冦偗銈瑰寲銇曘倢銈嬨亾銇ㄣ亴銇с亶銇俱仚銆�',
     learnMore: '瑭崇窗銇亾銇°倝',
     addFile: '銉曘偂銈ゃ儷銈掕拷鍔�',
     addPages: '銉氥兗銈搞倰杩藉姞',
@@ -133,7 +133,7 @@
         language: '瑷�瑾�',
         authorPublisher: '钁楄��/鍑虹増绀�',
         publishDate: '鍏枊鏃�',
-        topicKeywords: '銉堛償銉冦偗/銈兗銉兗銉�',
+        topicsKeywords: '銉堛償銉冦偗/銈兗銉兗銉�',
         description: '瑾槑',
       },
       paper: {
diff --git a/i18n/ja-JP/dataset-settings.ts b/i18n/ja-JP/dataset-settings.ts
index 6b809dd..5426bb8 100644
--- a/i18n/ja-JP/dataset-settings.ts
+++ b/i18n/ja-JP/dataset-settings.ts
@@ -1,15 +1,15 @@
 const translation = {
-  title: '銉娿儸銉冦偢銉欍兗銈广伄瑷畾',
-  desc: '銇撱亾銇с伅銉娿儸銉冦偢銉欍兗銈广伄銉椼儹銉戙儐銈c仺鍕曚綔鏂规硶銈掑鏇淬仹銇嶃伨銇欍��',
+  title: '銉娿儸銉冦偢銇ō瀹�',
+  desc: '銇撱亾銇с伅銉娿儸銉冦偢銇儣銉儜銉嗐偅銇ㄥ嫊浣滄柟娉曘倰澶夋洿銇с亶銇俱仚銆�',
   form: {
-    name: '銉娿儸銉冦偢銉欍兗銈瑰悕',
-    namePlaceholder: '銉娿儸銉冦偢銉欍兗銈瑰悕銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
+    name: '銉娿儸銉冦偢鍚�',
+    namePlaceholder: '銉娿儸銉冦偢鍚嶃倰鍏ュ姏銇椼仸銇忋仩銇曘亜',
     nameError: '鍚嶅墠銇┖銇仹銇嶃伨銇涖倱',
-    desc: '銉娿儸銉冦偢銉欍兗銈广伄瑾槑',
-    descInfo: '銉娿儸銉冦偢銉欍兗銈广伄鍐呭銈掓瑾仚銈嬨仧銈併伄鏄庣⒑銇儐銈偣銉堛伄瑾槑銈掓浉銇勩仸銇忋仩銇曘亜銆傘亾銇鏄庛伅銆佽鏁般伄銉娿儸銉冦偢銇嬨倝鎺ㄨ珫銈掗伕鎶炪仚銈嬮殯銇熀婧栥仺銇椼仸浣跨敤銇曘倢銇俱仚銆�',
+    desc: '銉娿儸銉冦偢銇鏄�',
+    descInfo: '銉娿儸銉冦偢銇唴瀹广倰姒傝銇欍倠銇熴倎銇槑纰恒仾銉嗐偔銈广儓銇鏄庛倰鏇搞亜銇︺亸銇犮仌銇勩�傘亾銇鏄庛伅銆佽鏁般伄銉娿儸銉冦偢銇嬨倝鎺ㄨ珫銈掗伕鎶炪仚銈嬮殯銇熀婧栥仺銇椼仸浣跨敤銇曘倢銇俱仚銆�',
     descPlaceholder: '銇撱伄銉囥兗銈裤偦銉冦儓銇唴瀹广倰瑷樿堪銇椼仸銇忋仩銇曘亜銆傝┏绱般伀瑷樿堪銇欍倠銇撱仺銇с�丄I銇屻儑銉笺偪銈汇儍銉堛伄鍐呭銇繀閫熴伀銈€偗銈汇偣銇с亶銈嬨倛銇嗐伀銇倞銇俱仚銆傜┖娆勩伄鍫村悎銆丩angGenius銇儑銉曘偐銉儓銇绱㈡柟娉曘倰浣跨敤銇椼伨銇欍��',
     helpText: '閬╁垏銇儑銉笺偪銈汇儍銉堛伄瑾槑銈掍綔鎴愩仚銈嬫柟娉曘倰瀛︺伋銇俱仐銈囥亞銆�',
-    descWrite: '鑹亜銉娿儸銉冦偢銉欍兗銈广伄瑾槑銇浉銇嶆柟銈掑銇躲��',
+    descWrite: '鑹亜銉娿儸銉冦偢銇鏄庛伄鏇搞亶鏂广倰瀛︺伓銆�',
     permissions: '妯╅檺',
     permissionsOnlyMe: '鑷垎銇伩',
     permissionsAllMember: '銇欍伖銇︺伄銉併兗銉犮儭銉炽儛銉�',
@@ -26,17 +26,15 @@
     embeddingModelTipLink: '瑷畾',
     retrievalSetting: {
       title: '妞滅储瑷畾',
-      method: '妞滅储鏂规硶',
       learnMore: '瑭崇窗銇亾銇°倝',
       description: ' 妞滅储鏂规硶銇仱銇勩仸銇┏绱�',
-      longDescription: ' 妞滅储鏂规硶銇仱銇勩仸銇┏绱般伀銇ゃ亜銇︺伅銆併亜銇ゃ仹銈傘儕銉儍銈搞儥銉笺偣銇ō瀹氥仹澶夋洿銇с亶銇俱仚銆�',
+      longDescription: ' 妞滅储鏂规硶銇仱銇勩仸銇┏绱般伀銇ゃ亜銇︺伅銆併亜銇ゃ仹銈傘儕銉儍銈搞伄瑷畾銇у鏇淬仹銇嶃伨銇欍��',
     },
     save: '淇濆瓨',
-    externalKnowledgeID: '澶栭儴銉娿儸銉冦偢銉欍兗銈笽D',
+    externalKnowledgeID: '澶栭儴銉娿儸銉冦偢ID',
     retrievalSettings: '鍙栧緱瑷畾',
-    externalKnowledgeAPI: '澶栭儴銉娿儸銉冦偢銉欍兗銈笰PI',
+    externalKnowledgeAPI: '澶栭儴銉娿儸銉冦偢API',
     indexMethodChangeToEconomyDisabledTip: 'HQ銇嬨倝ECO銇搞伄銉�銈︺兂銈般儸銉笺儔銇仹銇嶃伨銇涖倱銆�',
-    searchModel: '銉€儑銉绱�',
   },
 }
 
diff --git a/i18n/ja-JP/dataset.ts b/i18n/ja-JP/dataset.ts
index 4e367f7..f589d97 100644
--- a/i18n/ja-JP/dataset.ts
+++ b/i18n/ja-JP/dataset.ts
@@ -1,7 +1,7 @@
 const translation = {
-  knowledge: '銉娿儸銉冦偢銉欍兗銈�',
+  knowledge: '銉娿儸銉冦偢',
   chunkingMode: {
-    general: '姹庣敤',
+    general: '涓�鑸�',
     parentChild: '瑕瓙',
   },
   parentMode: {
@@ -10,33 +10,33 @@
   },
   externalTag: '澶栭儴',
   externalAPI: '澶栭儴API',
-  externalAPIPanelTitle: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API',
-  externalKnowledgeId: '澶栭儴銉娿儸銉冦偢銉欍兗銈笽D',
-  externalKnowledgeName: '澶栭儴銉娿儸銉冦偢銉欍兗銈瑰悕',
-  externalKnowledgeDescription: '銉娿儸銉冦偢銉欍兗銈广伄瑾槑',
-  externalKnowledgeIdPlaceholder: '銉娿儸銉冦偢銉欍兗銈笽D銈掑叆鍔�',
+  externalAPIPanelTitle: '澶栭儴銉娿儸銉冦偢閫f惡API',
+  externalKnowledgeId: '澶栭儴銉娿儸銉冦偢ID',
+  externalKnowledgeName: '澶栭儴銉娿儸銉冦偢鍚�',
+  externalKnowledgeDescription: '銉娿儸銉冦偢銇鏄�',
+  externalKnowledgeIdPlaceholder: '銉娿儸銉冦偢ID銈掑叆鍔�',
   externalKnowledgeNamePlaceholder: '銉娿儸銉冦偢銉欍兗銈瑰悕銈掑叆鍔�',
   externalKnowledgeDescriptionPlaceholder: '銇撱伄銉娿儸銉冦偢銉欍兗銈广伄瑾槑锛堜换鎰忥級',
-  learnHowToWriteGoodKnowledgeDescription: '鍔规灉鐨勩仾銉娿儸銉冦偢銉欍兗銈广伄瑾槑銇浉銇嶆柟',
-  externalAPIPanelDescription: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銇�丏ify澶栥伄銉娿儸銉冦偢銉欍兗銈广仺閫f惡銇椼�併仢銇撱亱銈夈儕銉儍銈搞儥銉笺偣銈掑彇寰椼仚銈嬨仧銈併伀浣跨敤銇椼伨銇欍��',
-  externalAPIPanelDocumentation: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銇綔鎴愭柟娉�',
+  learnHowToWriteGoodKnowledgeDescription: '鍔规灉鐨勩仾銉娿儸銉冦偢銇鏄庛伄鏇搞亶鏂�',
+  externalAPIPanelDescription: '澶栭儴銉娿儸銉冦偢閫f惡API銇�丏ify澶栥伄銉娿儸銉冦偢銉欍兗銈广仺閫f惡銇椼�併仢銇撱亱銈夈儕銉儍銈搞倰鍙栧緱銇欍倠銇熴倎銇娇鐢ㄣ仐銇俱仚銆�',
+  externalAPIPanelDocumentation: '澶栭儴銉娿儸銉冦偢閫f惡API銇綔鎴愭柟娉�',
   localDocs: '銉兗銈儷銉夈偔銉ャ儭銉炽儓',
   documentCount: ' 銉夈偔銉ャ儭銉炽儓',
   wordCount: ' k 鍗樿獮',
   appCount: ' 銉兂銈仌銈屻仧銈€儣銉�',
-  createDataset: '銉娿儸銉冦偢銉欍兗銈广倰浣滄垚',
-  createNewExternalAPI: '鏂般仐銇勫閮ㄣ儕銉儍銈搞儥銉笺偣閫f惡API銈掍綔鎴�',
-  noExternalKnowledge: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銇屻亗銈娿伨銇涖倱銆傘亾銇撱倰銈儶銉冦偗銇椼仸浣滄垚銇椼仸銇忋仩銇曘亜',
-  createExternalAPI: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銈掕拷鍔�',
-  editExternalAPIFormTitle: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銈掔法闆�',
-  editExternalAPITooltipTitle: '閫f惡涓伄銉娿儸銉冦偢銉欍兗銈�',
+  createDataset: '銉娿儸銉冦偢銈掍綔鎴�',
+  createNewExternalAPI: '鏂般仐銇勫閮ㄣ儕銉儍銈搁�f惡API銈掍綔鎴�',
+  noExternalKnowledge: '澶栭儴銉娿儸銉冦偢閫f惡API銇屻亗銈娿伨銇涖倱銆傘亾銇撱倰銈儶銉冦偗銇椼仸浣滄垚銇椼仸銇忋仩銇曘亜',
+  createExternalAPI: '澶栭儴銉娿儸銉冦偢閫f惡API銈掕拷鍔�',
+  editExternalAPIFormTitle: '澶栭儴銉娿儸銉冦偢閫f惡API銈掔法闆�',
+  editExternalAPITooltipTitle: '閫f惡涓伄銉娿儸銉冦偢',
   editExternalAPIConfirmWarningContent: {
-    front: '銇撱伄澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銇�',
-    end: '浠躲伄澶栭儴銉娿儸銉冦偢銉欍兗銈广仺閫f惡銇椼仸銇娿倞銆併亾銇鏇淬伅銇欍伖銇︺伀閬╃敤銇曘倢銇俱仚銆傚鏇淬倰淇濆瓨銇椼伨銇欍亱锛�',
+    front: '銇撱伄澶栭儴銉娿儸銉冦偢閫f惡API銇�',
+    end: '浠躲伄澶栭儴銉娿儸銉冦偢銇ㄩ�f惡銇椼仸銇娿倞銆併亾銇鏇淬伅銇欍伖銇︺伀閬╃敤銇曘倢銇俱仚銆傚鏇淬倰淇濆瓨銇椼伨銇欍亱锛�',
   },
   editExternalAPIFormWarning: {
     front: '銇撱伄澶栭儴API銇�',
-    end: '浠躲伄澶栭儴銉娿儸銉冦偢銉欍兗銈广仺閫f惡銇椼仸銇勩伨銇�',
+    end: '浠躲伄澶栭儴銉娿儸銉冦偢銇ㄩ�f惡銇椼仸銇勩伨銇�',
   },
   deleteExternalAPIConfirmWarningContent: {
     title: {
@@ -44,13 +44,13 @@
       end: '銇椼伨銇欍亱锛�',
     },
     content: {
-      front: '銇撱伄澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銇�',
-      end: '浠躲伄澶栭儴銉娿儸銉冦偢銉欍兗銈广仺閫f惡銇椼仸銇勩伨銇欍�傘亾銇瓵PI銈掑墛闄ゃ仚銈嬨仺銆併仚銇广仸鐒″姽銇仾銈娿伨銇欍�傘亾銇瓵PI銈掑墛闄ゃ仐銇俱仚銇嬶紵',
+      front: '銇撱伄澶栭儴銉娿儸銉冦偢閫f惡API銇�',
+      end: '浠躲伄澶栭儴銉娿儸銉冦偢銇ㄩ�f惡銇椼仸銇勩伨銇欍�傘亾銇瓵PI銈掑墛闄ゃ仚銈嬨仺銆併仚銇广仸鐒″姽銇仾銈娿伨銇欍�傘亾銇瓵PI銈掑墛闄ゃ仐銇俱仚銇嬶紵',
     },
     noConnectionContent: '銇撱伄API銈掑墛闄ゃ仐銇俱仚銇嬶紵',
   },
   selectExternalKnowledgeAPI: {
-    placeholder: '澶栭儴銉娿儸銉冦偢銉欍兗銈归�f惡API銈掗伕鎶�',
+    placeholder: '澶栭儴銉娿儸銉冦偢閫f惡API銈掗伕鎶�',
   },
   connectDataset: '澶栭儴銉娿儸銉冦偢銉欍兗銈广仺閫f惡',
   connectDatasetIntro: {
@@ -58,7 +58,7 @@
     content: {
       front: '澶栭儴銉娿儸銉冦偢銉欍兗銈广仺閫f惡銇欍倠銇伅銆併伨銇氬閮ˋPI銈掍綔鎴愩仚銈嬪繀瑕併亴銇傘倞銇俱仚銆備互涓嬨伄鎵嬮爢銈掑弬鐓с仐銆�',
       link: '澶栭儴API銇綔鎴愭柟娉�',
-      end: '銈掋仈纰鸿獚銇忋仩銇曘亜銆傛銇�佸蹇溿仚銈嬨儕銉儍銈搞儥銉笺偣ID銈掑乏鍋淬伄銉曘偐銉笺儬銇叆鍔涖仐銇︺亸銇犮仌銇勩�傘仚銇广仸銇儏鍫便亴姝c仐銇戙倢銇般�侀�f惡銉溿偪銉炽倰銈儶銉冦偗銇欍倠銇ㄣ�佽嚜鍕曠殑銇儕銉儍銈搞儥銉笺偣銇绱€儐銈广儓銇Щ鍕曘仐銇俱仚銆�',
+      end: '銈掋仈纰鸿獚銇忋仩銇曘亜銆傛銇�佸蹇溿仚銈嬨儕銉儍銈窱D銈掑乏鍋淬伄銉曘偐銉笺儬銇叆鍔涖仐銇︺亸銇犮仌銇勩�傘仚銇广仸銇儏鍫便亴姝c仐銇戙倢銇般�侀�f惡銉溿偪銉炽倰銈儶銉冦偗銇欍倠銇ㄣ�佽嚜鍕曠殑銇儕銉儍銈搞儥銉笺偣銇绱€儐銈广儓銇Щ鍕曘仐銇俱仚銆�',
     },
     learnMore: '瑭崇窗銇亾銇°倝',
   },
@@ -70,14 +70,14 @@
     helper5: '銈掋倛銇忋亰瑾伩銇忋仩銇曘亜銆�',
   },
   createDatasetIntro: '鐙嚜銇儐銈偣銉堛儑銉笺偪銈掋偆銉炽儩銉笺儓銇欍倠銇嬨�丩LM銈炽兂銉嗐偔銈广儓銇挤鍖栥伄銇熴倎銇玏ebhook銈掍粙銇椼仸銉偄銉偪銈ゃ儬銇с儑銉笺偪銈掓浉銇嶈炯銈�銇撱仺銇屻仹銇嶃伨銇欍��',
-  deleteDatasetConfirmTitle: '銇撱伄銉娿儸銉冦偢銉欍兗銈广倰鍓婇櫎銇椼伨銇欍亱锛�',
+  deleteDatasetConfirmTitle: '銇撱伄銉娿儸銉冦偢銈掑墛闄ゃ仐銇俱仚銇嬶紵',
   deleteDatasetConfirmContent:
-    '銉娿儸銉冦偢銉欍兗銈广倰鍓婇櫎銇欍倠銇ㄥ厓銇埢銇欍亾銇ㄣ伅銇с亶銇俱仜銈撱�傘儲銉笺偠銉笺伅銈傘伅銈勩亗銇仧妲樸伄銉娿儸銉冦偢銉欍兗銈广伀銈€偗銈汇偣銇с亶銇氥�併仚銇广仸銇儣銉兂銉椼儓銇ō瀹氥仺銉偘銇屾案涔呫伀鍓婇櫎銇曘倢銇俱仚銆�',
-  datasetUsedByApp: '銇撱伄銉娿儸銉冦偢銉欍兗銈广伅涓�閮ㄣ伄銈€儣銉伀銈堛仯銇︿娇鐢ㄣ仌銈屻仸銇勩伨銇欍�傘偄銉椼儶銇亾銇儕銉儍銈搞儥銉笺偣銈掍娇鐢ㄣ仹銇嶃仾銇忋仾銈娿�併仚銇广仸銇儣銉兂銉椼儓瑷畾銇ㄣ儹銈般伅姘镐箙銇墛闄ゃ仌銈屻伨銇欍��',
-  datasetDeleted: '銉娿儸銉冦偢銉欍兗銈广亴鍓婇櫎銇曘倢銇俱仐銇�',
-  datasetDeleteFailed: '銉娿儸銉冦偢銉欍兗銈广伄鍓婇櫎銇け鏁椼仐銇俱仐銇�',
+    '銉娿儸銉冦偢銈掑墛闄ゃ仚銈嬨仺鍏冦伀鎴汇仚銇撱仺銇仹銇嶃伨銇涖倱銆傘儲銉笺偠銉笺伅銈傘伅銈勩亗銇仧妲樸伄銉娿儸銉冦偢銇偄銈偦銈广仹銇嶃仛銆併仚銇广仸銇儣銉兂銉椼儓銇ō瀹氥仺銉偘銇屾案涔呫伀鍓婇櫎銇曘倢銇俱仚銆�',
+  datasetUsedByApp: '銇撱伄銉娿儸銉冦偢銇竴閮ㄣ伄銈€儣銉伀銈堛仯銇︿娇鐢ㄣ仌銈屻仸銇勩伨銇欍�傘偄銉椼儶銇亾銇儕銉儍銈搞倰浣跨敤銇с亶銇亸銇倞銆併仚銇广仸銇儣銉兂銉椼儓瑷畾銇ㄣ儹銈般伅姘镐箙銇墛闄ゃ仌銈屻伨銇欍��',
+  datasetDeleted: '銉娿儸銉冦偢銇屽墛闄ゃ仌銈屻伨銇椼仧',
+  datasetDeleteFailed: '銉娿儸銉冦偢銇墛闄ゃ伀澶辨晽銇椼伨銇椼仧',
   didYouKnow: '銇斿瓨鐭ャ仹銇欍亱锛�',
-  intro1: '銉娿儸銉冦偢銉欍兗銈广伅Dify銈€儣銉偙銉笺偡銉с兂銇当鍚堛仚銈嬨亾銇ㄣ亴銇с亶銇俱仚',
+  intro1: '銉娿儸銉冦偢銇疍ify銈€儣銉偙銉笺偡銉с兂銇当鍚堛仚銈嬨亾銇ㄣ亴銇с亶銇俱仚',
   intro2: '銈炽兂銉嗐偔銈广儓銇ㄣ仐銇�',
   intro3: '銆�',
   intro4: '銇俱仧銇�',
@@ -85,7 +85,7 @@
   intro6: '鍗樹綋銇瓹hatGPT銈ゃ兂銉囥儍銈偣銉椼儵銈般偆銉炽仺銇椼仸鍏枊銇欍倠銇熴倎銇�',
   unavailable: '鍒╃敤涓嶅彲',
   unavailableTip: '鍩嬨倎杈笺伩銉€儑銉亴鍒╃敤銇с亶銇俱仜銈撱�傘儑銉曘偐銉儓銇煁銈佽炯銇裤儮銉囥儷銈掕ō瀹氥仚銈嬪繀瑕併亴銇傘倞銇俱仚',
-  datasets: '銉娿儸銉冦偢銉欍兗銈�',
+  datasets: '銉娿儸銉冦偢',
   datasetsApi: 'API ACCESS',
   externalKnowledgeForm: {
     connect: '閫f惡',
@@ -141,8 +141,8 @@
   defaultRetrievalTip: '銉囥儠銈┿儷銉堛仹銇�併優銉儊銉戙偣妞滅储銇屼娇鐢ㄣ仌銈屻伨銇欍�傝鏁般伄銉娿儸銉冦偢銉欍兗銈广亱銈夋儏鍫便倰鍙栧緱銇椼仧寰屻�佸啀銉┿兂銈兂銈般倰琛屻亜銇俱仚銆�',
   mixtureHighQualityAndEconomicTip: '楂樺搧璩仾銉娿儸銉冦偢銉欍兗銈广仺銈炽偣銉堥噸瑕栥伄銉娿儸銉冦偢銉欍兗銈广倰娣峰湪銇曘仜銈嬨伀銇�丷erank銉€儑銉亴蹇呰銇с仚銆�',
   inconsistentEmbeddingModelTip: '閬告姙銇曘倢銇熴儕銉儍銈搞儥銉笺偣銇煁銈佽炯銇裤儮銉囥儷銇竴璨�с亴銇亜鍫村悎銆丷erank銉€儑銉亴蹇呰銇с仚銆�',
-  mixtureInternalAndExternalTip: '鍐呴儴銇ㄥ閮ㄣ伄銉娿儸銉冦偢銉欍兗銈广倰娣峰湪銇曘仜銈嬪牬鍚堛�丷erank銉€儑銉亴蹇呰銇с仚銆�',
-  allExternalTip: '澶栭儴銉娿儸銉冦偢銉欍兗銈广伄銇裤倰浣跨敤銇欍倠鍫村悎銆丷erank銉€儑銉倰鏈夊姽銇仚銈嬨亱銈掗伕鎶炪仹銇嶃伨銇欍�傛湁鍔广伀銇椼仾銇勫牬鍚堛�佹绱㈢祼鏋溿伅銈广偝銈€伀鍩恒仴銇勩仸銈姐兗銉堛仌銈屻伨銇欍�傜暟銇倠銉娿儸銉冦偢銉欍兗銈广仹妞滅储鎴︾暐銇屼竴璨仐銇︺亜銇亜銇ㄣ�佺祼鏋溿亴涓嶆纰恒伀銇倠鍙兘鎬с亴銇傘倞銇俱仚銆�',
+  mixtureInternalAndExternalTip: '鍐呴儴銉娿儸銉冦偢銇ㄥ閮ㄣ儕銉儍銈搞倰娣峰湪銇曘仜銈嬨伀銇�丷erank銉€儑銉亴蹇呰銇с仚銆�',
+  allExternalTip: '澶栭儴銉娿儸銉冦偢銇伩銈掍娇鐢ㄣ仚銈嬪牬鍚堛�丷erank銉€儑銉倰鏈夊姽銇仚銈嬨亱銈掗伕鎶炪仹銇嶃伨銇欍�傛湁鍔广伀銇椼仾銇勫牬鍚堛�佹绱㈢祼鏋溿伅銈广偝銈€伀鍩恒仴銇勩仸銈姐兗銉堛仌銈屻伨銇欍�傜暟銇倠銉娿儸銉冦偢銉欍兗銈广仹妞滅储鎴︾暐銇屼竴璨仐銇︺亜銇亜銇ㄣ�佺祼鏋溿亴涓嶆纰恒伀銇倠鍙兘鎬с亴銇傘倞銇俱仚銆�',
   retrievalSettings: '妞滅储瑷畾',
   rerankSettings: 'Rerank瑷畾',
   weightedScore: {
@@ -166,56 +166,8 @@
     cancel: '銈儯銉炽偦銉�',
   },
   preprocessDocument: '{{num}}浠躲伄銉夈偔銉ャ儭銉炽儓銈掑墠鍑︾悊',
-  allKnowledge: '銉娿儸銉冦偢銉欍兗銈瑰叏浣�',
-  allKnowledgeDescription: '銇撱伄銉兗銈偣銉氥兗銈广伀銉娿儸銉冦偢銉欍兗銈瑰叏浣撱倰琛ㄧず銇欍倠鍫村悎銇伕鎶炪仐銇俱仚銆傘儻銉笺偗銈广儦銉笺偣銇偑銉笺儕銉笺伄銇裤亴銇欍伖銇︺伄銉娿儸銉冦偢銉欍兗銈广倰绠$悊銇с亶銇俱仚銆�',
-  embeddingModelNotAvailable: 'Embedding銉€儑銉笉鍙敤銆�',
-  metadata: {
-    metadata: '銉°偪銉囥兗銈�',
-    addMetadata: '銉°偪銉囥兗銈裤倰杩藉姞',
-    chooseTime: '鏅傞枔銈掗伕鎶�',
-    createMetadata: {
-      title: '鏂拌銉°偪銉囥兗銈�',
-      back: '鎴汇倠',
-      type: '銈裤偆銉�',
-      name: '鍚嶇О',
-      namePlaceholder: '銉°偪銉囥兗銈垮悕銈掑叆鍔�',
-    },
-    checkName: {
-      empty: '銉°偪銉囥兗銈垮悕銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
-      invalid: '銉°偪銉囥兗銈垮悕銇皬鏂囧瓧銆佹暟瀛椼�併偄銉炽儉銉笺偣銈炽偄銇伩銈掍娇鐢ㄣ仐銆佸皬鏂囧瓧銇у銈併倠蹇呰銇屻亗銈娿伨銇�',
-    },
-    batchEditMetadata: {
-      editMetadata: '銉°偪銉囥兗銈裤倰绶ㄩ泦',
-      editDocumentsNum: '{{num}}浠躲伄銉夈偔銉ャ儭銉炽儓銈掔法闆�',
-      applyToAllSelectDocument: '閬告姙銇椼仧銇欍伖銇︺伄銉夈偔銉ャ儭銉炽儓銇仼鐢�',
-      applyToAllSelectDocumentTip: '涓婅銇法闆嗐仺鏂般仐銇勩儭銈裤儑銉笺偪銈掗伕鎶炪仐銇熴仚銇广仸銇儔銈儱銉°兂銉堛伀鑷嫊鐨勩伀閬╃敤銇椼伨銇欍�傘儊銈с儍銈仐銇亜鍫村悎銆佹棦銇儭銈裤儑銉笺偪銈掓寔銇ゃ儔銈儱銉°兂銉堛伀銇伩绶ㄩ泦銇岄仼鐢ㄣ仌銈屻伨銇欍��',
-      multipleValue: '瑜囨暟銇��',
-    },
-    selectMetadata: {
-      search: '銉°偪銉囥兗銈裤倰妞滅储',
-      newAction: '鏂拌銉°偪銉囥兗銈�',
-      manageAction: '绠$悊',
-    },
-    datasetMetadata: {
-      description: '銉°偪銉囥兗銈裤伅銉夈偔銉ャ儭銉炽儓銇枹銇欍倠鎯呭牨銇с�併儔銈儱銉°兂銉堛伄灞炴�с倰瑾槑銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍�傘儭銈裤儑銉笺偪銈掓椿鐢ㄣ仚銈嬨亾銇ㄣ仹銆併儔銈儱銉°兂銉堛倰銈堛倞鍔圭巼鐨勩伀鏁寸悊銉荤鐞嗐仹銇嶃伨銇欍��',
-      addMetaData: '銉°偪銉囥兗銈裤倰杩藉姞',
-      values: '{{num}}鍊嬨伄鍊�',
-      disabled: '鐒″姽',
-      rename: '鍚嶅墠澶夋洿',
-      name: '鍚嶇О',
-      namePlaceholder: '銉°偪銉囥兗銈垮悕',
-      builtIn: '绲勩伩杈笺伩',
-      builtInDescription: '绲勩伩杈笺伩銉°偪銉囥兗銈裤伅銈枫偣銉嗐儬銇倛銇c仸浜嬪墠瀹氱京銇曘倢銇熴儭銈裤儑銉笺偪銇с仚銆傘亾銇撱仹绲勩伩杈笺伩銉°偪銉囥兗銈裤伄琛ㄧず銇ㄧ鐞嗐亴銇с亶銇俱仚銆�',
-      deleteTitle: '鍓婇櫎銇⒑瑾�',
-      deleteContent: '銉°偪銉囥兗銈裤�寋{name}}銆嶃倰鍓婇櫎銇椼仸銈傘倛銈嶃仐銇勩仹銇欍亱锛�',
-    },
-    documentMetadata: {
-      metadataToolTip: '銉°偪銉囥兗銈裤伅銉夈偔銉ャ儭銉炽儓銇枹銇欍倠鎯呭牨銇с�併儔銈儱銉°兂銉堛伄灞炴�с倰瑾槑銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍�傘儭銈裤儑銉笺偪銈掓椿鐢ㄣ仚銈嬨亾銇ㄣ仹銆併儔銈儱銉°兂銉堛倰銈堛倞鍔圭巼鐨勩伀鏁寸悊銉荤鐞嗐仹銇嶃伨銇欍��',
-      startLabeling: '銉┿儥銉兂銈般倰闁嬪',
-      documentInformation: '銉夈偔銉ャ儭銉炽儓鎯呭牨',
-      technicalParameters: '鎶�琛撱儜銉┿儭銉笺偪',
-    },
-  },
+  allKnowledge: '銇欍伖銇︺伄鐭ヨ瓨',
+  allKnowledgeDescription: '銇撱伄銉兗銈偣銉氥兗銈广伀銇欍伖銇︺伄銉娿儸銉冦偢銈掕〃绀恒仚銈嬪牬鍚堛伀閬告姙銇椼伨銇欍�傘儻銉笺偗銈广儦銉笺偣銇偑銉笺儕銉笺伄銇裤亴銇欍伖銇︺伄銉娿儸銉冦偢銈掔鐞嗐仹銇嶃伨銇欍��',
 }
 
 export default translation
diff --git a/i18n/ja-JP/explore.ts b/i18n/ja-JP/explore.ts
index 37a1f41..cfc741b 100644
--- a/i18n/ja-JP/explore.ts
+++ b/i18n/ja-JP/explore.ts
@@ -37,7 +37,6 @@
     HR: '浜轰簨',
     Workflow: '銉兗銈儠銉兗',
     Agent: '銈ㄣ兗銈搞偋銉炽儓',
-    Entertainment: '銈ㄣ兂銈裤兗銉嗐偆銉°兂銉�',
   },
 }
 
diff --git a/i18n/ja-JP/run-log.ts b/i18n/ja-JP/run-log.ts
index 758e37c..239fe27 100644
--- a/i18n/ja-JP/run-log.ts
+++ b/i18n/ja-JP/run-log.ts
@@ -1,31 +1,29 @@
 const translation = {
   input: '鍏ュ姏',
   result: '绲愭灉',
-  detail: '瑭崇窗鎯呭牨',
-  tracing: '瀹熻杩借贰',
+  detail: '瑭崇窗',
+  tracing: '銉堛儸銉笺偣',
   resultPanel: {
     status: '銈广儐銉笺偪銈�',
-    time: '鍑︾悊鏅傞枔',
-    tokens: '銉堛兗銈兂绶忔暟',
+    time: '绲岄亷鏅傞枔',
+    tokens: '銉堛兗銈兂銇悎瑷�',
   },
   meta: {
     title: '銉°偪銉囥兗銈�',
-    status: '鐘舵厠',
+    status: '銈广儐銉笺偪銈�',
     version: '銉愩兗銈搞儳銉�',
     executor: '瀹熻鑰�',
-    startTime: '闁嬪鏅傚埢',
-    time: '绶忓嚘鐞嗘檪闁�',
-    tokens: '銉堛兗銈兂绶忔暟',
-    steps: '鍑︾悊銈广儐銉冦儣鏁�',
+    startTime: '闁嬪鏅傞枔',
+    time: '绲岄亷鏅傞枔',
+    tokens: '銉堛兗銈兂銇悎瑷�',
+    steps: '瀹熻銈广儐銉冦儣',
   },
   resultEmpty: {
-    title: '浠婂洖銇疅琛屻仹銇疛SON褰㈠紡銇伩銇屽嚭鍔涖仌銈屻伨銇椼仧',
-    tipLeft: '瑭崇窗銈掔⒑瑾嶃仚銈嬨伀銇�',
-    link: '瑭崇窗鎯呭牨銉戙儘銉�',
-    tipRight: '銇哥Щ鍕曘仐銇︺亸銇犮仌銇�',
+    title: '銇撱伄瀹熻銇с伅 JSON 褰㈠紡銇伩銇屽嚭鍔涖仌銈屻伨銇�',
+    tipLeft: '銇偄銈偦銈广仐銇︺亸銇犮仌銇�',
+    link: '瑭崇窗銉戙儘銉�',
+    tipRight: '琛ㄧず銇椼伨銇欍��',
   },
-  actionLogs: '鎿嶄綔銉偘',
-  circularInvocationTip: '鐝惧湪銇儻銉笺偗銉曘儹銉笺伀銉勩兗銉�/銉庛兗銉夈伄寰挵鍛笺伋鍑恒仐銇屾鍑恒仌銈屻伨銇椼仧',
 }
 
 export default translation
diff --git a/i18n/ja-JP/share-app.ts b/i18n/ja-JP/share-app.ts
index 9db8926..6b7615c 100644
--- a/i18n/ja-JP/share-app.ts
+++ b/i18n/ja-JP/share-app.ts
@@ -1,76 +1,72 @@
 const translation = {
   common: {
     welcome: '',
-    appUnavailable: '銈€儣銉偙銉笺偡銉с兂銇埄鐢ㄣ仹銇嶃伨銇涖倱',
-    appUnknownError: '銈€儣銉偙銉笺偡銉с兂銇埄鐢ㄣ仹銇嶃伨銇涖倱',
+    appUnavailable: '銈€儣銉亴鍒╃敤銇с亶銇俱仜銈�',
+    appUnknownError: '銈€儣銉亴鍒╃敤銇с亶銇俱仜銈�',
   },
   chat: {
-    newChat: '鏂拌銉併儯銉冦儓',
-    newChatTip: '鏂拌銉併儯銉冦儓銇岄枊濮嬨仌銈屻仸銇勩伨銇�',
-    chatSettingsTitle: '銉併儯銉冦儓瑷畾',
-    chatFormTip: '銉併儯銉冦儓闁嬪寰屻伅瑷畾銈掑鏇淬仹銇嶃伨銇涖倱',
-    pinnedTitle: '銉斻兂鐣欍倎娓堛伩',
-    unpinnedTitle: '銉併儯銉冦儓銉偣銉�',
-    newChatDefaultName: '鏂拌銉併儯銉冦儓',
-    resetChat: '銉併儯銉冦儓銈掋儶銈汇儍銉�',
-    viewChatSettings: '瑷畾銈掔⒑瑾�',
+    newChat: '鏂般仐銇勩儊銉c儍銉�',
+    pinnedTitle: '銉斻兂鐣欍倎銇曘倢銇�',
+    unpinnedTitle: '銉併儯銉冦儓',
+    newChatDefaultName: '鏂般仐銇勪細瑭�',
+    resetChat: '浼氳┍銈掋儶銈汇儍銉�',
     poweredBy: 'Powered by',
     prompt: '銉椼儹銉炽儣銉�',
-    privatePromptConfigTitle: '鍊嬪垾瑷畾',
-    publicPromptConfigTitle: '鍏遍�氥儣銉兂銉椼儓瑷畾',
-    configStatusDes: '闁嬪鍓嶃伀瑷畾銈掑鏇淬仹銇嶃伨銇�',
-    configDisabled: '鍓嶅洖銇ō瀹氥倰閬╃敤涓仹銇�',
+    privatePromptConfigTitle: '浼氳┍銇ō瀹�',
+    publicPromptConfigTitle: '鍒濇湡銉椼儹銉炽儣銉�',
+    configStatusDes: '闁嬪鍓嶃伀銆佷細瑭便伄瑷畾銈掑鏇淬仹銇嶃伨銇�',
+    configDisabled:
+      '鍓嶅洖銇偦銉冦偡銉с兂銇ō瀹氥亴銇撱伄銈汇儍銈枫儳銉炽仹浣跨敤銇曘倢銇俱仐銇熴��',
     startChat: '銉併儯銉冦儓銈掗枊濮�',
-    privacyPolicyLeft: '鏈偄銉椼儶銇�',
-    privacyPolicyMiddle: '銉椼儵銈ゃ儛銈枫兗銉濄儶銈枫兗',
-    privacyPolicyRight: '銇悓鎰忋伄涓娿仈鍒╃敤銇忋仩銇曘亜',
+    privacyPolicyLeft:
+      '銈€儣銉枊鐧鸿�呫亴鎻愪緵銇欍倠',
+    privacyPolicyMiddle:
+      '銉椼儵銈ゃ儛銈枫兗銉濄儶銈枫兗',
+    privacyPolicyRight:
+      '銈掋亰瑾伩銇忋仩銇曘亜銆�',
     deleteConversation: {
-      title: '銉併儯銉冦儓銇墛闄�',
-      content: '銇撱伄銉併儯銉冦儓銈掑墛闄ゃ仐銇俱仚銇嬶紵',
+      title: '浼氳┍銈掑墛闄ゃ仚銈�',
+      content: '銇撱伄浼氳┍銈掑墛闄ゃ仐銇︺倐銈堛倣銇椼亜銇с仚銇嬶紵',
     },
-    tryToSolve: '鍟忛銈掕В姹恒仚銈�',
-    temporarySystemIssue: '銈枫偣銉嗐儬銇竴鏅傜殑銇晱椤屻亴鐧虹敓銇椼仸銇勩伨銇�',
-    expand: '鎷″ぇ',
-    collapse: '绺皬',
+    tryToSolve: '瑙f焙銇椼倛銇嗐仺銇椼仸銇勩伨銇�',
+    temporarySystemIssue: '鐢炽仐瑷炽亗銈娿伨銇涖倱銆佷竴鏅傜殑銇偡銈广儐銉犮伄鍟忛銇岀櫤鐢熴仐銇俱仐銇熴��',
   },
   generation: {
     tabs: {
-      create: '1鍥炲疅琛�',
+      create: '涓�搴︺仩銇戝疅琛�',
       batch: '涓�鎷疅琛�',
       saved: '淇濆瓨娓堛伩',
     },
     savedNoData: {
-      title: '淇濆瓨娓堛伩銉囥兗銈裤亴銇傘倞銇俱仜銈�',
-      description: '銈炽兂銉嗐兂銉勭敓鎴愬緦銇祼鏋溿亴銇撱亾銇〃绀恒仌銈屻伨銇�',
-      startCreateContent: '鐢熸垚銈掗枊濮�',
+      title: '銇俱仩绲愭灉銇屼繚瀛樸仌銈屻仸銇勩伨銇涖倱锛�',
+      description: '銈炽兂銉嗐兂銉勩伄鐢熸垚銈掗枊濮嬨仐銆佷繚瀛樸仌銈屻仧绲愭灉銈掋亾銇°倝銇ц銇ゃ亼銇︺亸銇犮仌銇勩��',
+      startCreateContent: '銈炽兂銉嗐兂銉勩伄浣滄垚銈掗枊濮�',
     },
-    title: 'AI鏂囩珷浣滄垚',
-    queryTitle: '鍏ュ姏鍐呭',
-    completionResult: '鐢熸垚绲愭灉',
-    queryPlaceholder: '鍏ュ姏銇椼仸銇忋仩銇曘亜',
+    title: 'AI Completion',
+    queryTitle: '銈炽兂銉嗐兂銉勩伄銈偍銉�',
+    completionResult: 'Completion 绲愭灉',
+    queryPlaceholder: '銈偍銉偝銉炽儐銉炽儎銈掓浉銇勩仸銇忋仩銇曘亜...',
     run: '瀹熻',
-    execution: '鍑︾悊涓�',
-    executions: '{{num}}鍥炲疅琛�',
     copy: '銈炽償銉�',
-    resultTitle: 'AI鐢熸垚绲愭灉',
-    noData: 'AI銇屻偝銉炽儐銉炽儎銈掔敓鎴愩仐銇俱仚',
-    csvUploadTitle: 'CSV銉曘偂銈ゃ儷銈掋儔銉儍銉椼仚銈嬨亱',
-    browse: '銉曘偂銈ゃ儷銈掗伕鎶�',
-    csvStructureTitle: 'CSV褰㈠紡瑕佷欢:',
-    downloadTemplate: '銉嗐兂銉椼儸銉笺儓銈掑彇寰�',
-    field: '',
+    resultTitle: 'AI Completion',
+    noData: 'AI銇亾銇撱仹蹇呰銇倐銇倰鎻愪緵銇椼伨銇欍��',
+    csvUploadTitle: 'CSV銉曘偂銈ゃ儷銈掋亾銇撱伀銉夈儵銉冦偘銈€兂銉夈儔銉儍銉椼仚銈嬨亱銆�',
+    browse: '鍙傜収',
+    csvStructureTitle: 'CSV銉曘偂銈ゃ儷銇互涓嬨伄妲嬮�犮伀婧栨嫚銇欍倠蹇呰銇屻亗銈娿伨銇欙細',
+    downloadTemplate: '銇撱仭銈夈亱銈夈儐銉炽儣銉兗銉堛倰銉�銈︺兂銉兗銉�',
+    field: '銉曘偅銉笺儷銉�',
     batchFailed: {
-      info: '{{num}}浠躲伄澶辨晽',
-      retry: '鍐嶅疅琛�',
-      outputPlaceholder: '鍑哄姏銇仐',
+      info: '{{num}} 鍥炪伄瀹熻銇屽け鏁椼仐銇俱仐銇�',
+      retry: '鍐嶈│琛�',
+      outputPlaceholder: '鍑哄姏銈炽兂銉嗐兂銉勩仾銇�',
     },
     errorMsg: {
-      empty: '銉曘偂銈ゃ儷鍐呭銇岀┖銇с仚',
-      fileStructNotMatch: '銉曘偂銈ゃ儷褰㈠紡銇屼笉姝c仹銇�',
-      emptyLine: '{{rowIndex}}琛岀洰: 鍐呭銇岀┖銇с仚',
-      invalidLine: '{{rowIndex}}琛岀洰: {{varName}}銇叆鍔涖亴蹇呰銇с仚',
-      moreThanMaxLengthLine: '{{rowIndex}}琛岀洰: {{varName}}銇屽埗闄愰暦锛坽{maxLength}}锛夈倰瓒呴亷',
-      atLeastOne: '1琛屼互涓娿伄銉囥兗銈裤亴蹇呰銇с仚',
+      empty: '銈€儍銉椼儹銉笺儔銇曘倢銇熴儠銈°偆銉伀銈炽兂銉嗐兂銉勩倰鍏ュ姏銇椼仸銇忋仩銇曘亜銆�',
+      fileStructNotMatch: '銈€儍銉椼儹銉笺儔銇曘倢銇烠SV銉曘偂銈ゃ儷銇屾閫犮仺涓�鑷淬仐銇俱仜銈撱��',
+      emptyLine: '琛� {{rowIndex}} 銇岀┖銇с仚',
+      invalidLine: '琛� {{rowIndex}}: {{varName}} 銇�ゃ伅绌恒伀銇с亶銇俱仜銈�',
+      moreThanMaxLengthLine: '琛� {{rowIndex}}: {{varName}} 銇�ゃ伅 {{maxLength}} 鏂囧瓧銈掕秴銇堛倠銇撱仺銇仹銇嶃伨銇涖倱',
+      atLeastOne: '銈€儍銉椼儹銉笺儔銇曘倢銇熴儠銈°偆銉伀銇皯銇亸銇ㄣ倐1琛屻伄鍏ュ姏銇屽繀瑕併仹銇欍��',
     },
   },
 }
diff --git a/i18n/ja-JP/tools.ts b/i18n/ja-JP/tools.ts
index f234625..f52f101 100644
--- a/i18n/ja-JP/tools.ts
+++ b/i18n/ja-JP/tools.ts
@@ -4,7 +4,7 @@
   customToolTip: 'Dify銈偣銈裤儬銉勩兗銉伄瑭崇窗',
   type: {
     all: '銇欍伖銇�',
-    builtIn: '銉勩兗銉�',
+    builtIn: '绲勩伩杈笺伩',
     custom: '銈偣銈裤儬',
     workflow: '銉兗銈儠銉兗',
   },
@@ -13,7 +13,7 @@
     line2: 'Dify銇搞伄銉勩兗銉伄璨㈢尞銇垐鍛炽亴銇傘倞銇俱仚銆�',
     viewGuide: '銈偆銉夈倰瑕嬨倠',
   },
-  author: '钁楄�咃細',
+  author: '钁楄��',
   auth: {
     unauthorized: '瑾嶈銇欍倠',
     authorized: '瑾嶈娓堛伩',
@@ -106,7 +106,7 @@
     customDisclaimer: '銈偣銈裤儬鍏嶈铂浜嬮爡',
     customDisclaimerPlaceholder: '銈偣銈裤儬鍏嶈铂浜嬮爡銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
     confirmTitle: '淇濆瓨銇椼伨銇欍亱锛�',
-    confirmTip: '銇撱伄銉勩兗銉倰浣跨敤銇椼仸銇勩倠銈€儣銉伅褰遍熆銈掑彈銇戙伨銇�',
+    confirmTip: '鏂般仐銉愩兗銈搞儳銉充繚瀛樸仚銈嬨仺銆併亾銇儎銉笺儷銈掍娇鐢ㄣ仌銈屻仸銇勩倠銈€儣銉伅褰遍熆銈掑彈銇戙伨銇�',
     deleteToolConfirmTitle: '銇撱伄銉勩兗銉倰鍓婇櫎銇椼伨銇欍亱锛�',
     deleteToolConfirmContent: '銉勩兗銉伄鍓婇櫎銇彇銈婃秷銇椼仹銇嶃伨銇涖倱銆傘儲銉笺偠銉笺伅銈傘亞銇傘仾銇熸銇儎銉笺儷銇偄銈偦銈广仹銇嶃伨銇涖倱銆�',
   },
@@ -133,7 +133,6 @@
     number: '鏁�',
     required: '蹇呴爤',
     infoAndSetting: '鎯呭牨銇ㄨō瀹�',
-    file: '銉曘偂銈ゃ儷',
   },
   noCustomTool: {
     title: '銈偣銈裤儬銉勩兗銉亴銇傘倞銇俱仜銈擄紒',
@@ -151,8 +150,6 @@
   howToGet: '鍙栧緱鏂规硶',
   openInStudio: '銈广偪銈搞偑銇ч枊銇�',
   toolNameUsageTip: '銉勩兗銉懠銇冲嚭銇楀悕銆併偍銉笺偢銈с兂銉堛伄鎺ㄨ珫銇ㄣ儣銉兂銉椼儓銇崢瑾炪伀浣跨敤銇曘倢銇俱仚',
-  copyToolName: '鍚嶅墠銈掋偝銉斻兗',
-  noTools: '銉勩兗銉亴瑕嬨仱銇嬨倞銇俱仜銈撱仹銇椼仧',
 }
 
 export default translation
diff --git a/i18n/ja-JP/workflow.ts b/i18n/ja-JP/workflow.ts
index 066a558..8b2dd68 100644
--- a/i18n/ja-JP/workflow.ts
+++ b/i18n/ja-JP/workflow.ts
@@ -8,7 +8,6 @@
     published: '鍏枊娓堛伩',
     publish: '鍏枊銇欍倠',
     update: '鏇存柊',
-    publishUpdate: '鏇存柊銈掑叕闁�',
     run: '瀹熻',
     running: '瀹熻涓�',
     inRunMode: '瀹熻銉€兗銉変腑',
@@ -20,99 +19,93 @@
     goBackToEdit: '绶ㄩ泦銇埢銈�',
     conversationLog: '浼氳┍銉偘',
     features: '姗熻兘',
-    featuresDescription: 'Web銈€儣銉伄鎿嶄綔鎬с倰鍚戜笂銇曘仜銈嬫鑳�',
-    ImageUploadLegacyTip: '闁嬪銉曘偐銉笺儬銇с儠銈°偆銉瀷澶夋暟銇屼綔鎴愬彲鑳姐伀銇倞銇俱仐銇熴�傜敾鍍忋偄銉冦儣銉兗銉夋鑳姐伅浠婂緦銈点儩銉笺儓绲備簡銇ㄣ仾銈娿伨銇欍��',
-    fileUploadTip: '鐢诲儚銈€儍銉椼儹銉笺儔姗熻兘銇屻儠銈°偆銉偄銉冦儣銉兗銉夈伀鎷″嫉銇曘倢銇俱仐銇�',
-    featuresDocLink: '瑭崇窗銈掕銈�',
+    featuresDescription: 'Web銈€儣銉伄銉︺兗銈躲兗銈ㄣ偗銈广儦銉偍銉炽偣銈掑挤鍖栥仚銈�',
+    ImageUploadLegacyTip: '闁嬪銉曘偐銉笺儬銇с儠銈°偆銉偪銈ゃ儣澶夋暟銈掍綔鎴愩仹銇嶃倠銈堛亞銇仾銈娿伨銇椼仧銆傘伨銈傘仾銇忋�佺敾鍍忋偄銉冦儣銉兗銉夋鑳姐伄銈点儩銉笺儓銇祩浜嗐亜銇熴仐銇俱仚銆�',
+    fileUploadTip: '鐢诲儚銈€儍銉椼儹銉笺儔姗熻兘銇屻儠銈°偆銉伄銈€儍銉椼儹銉笺儔姗熻兘銇偄銉冦儣銈般儸銉笺儔銇曘倢銇俱仐銇熴��',
+    featuresDocLink: '瑭崇窗銇亾銇°倝',
     debugAndPreview: '銉椼儸銉撱儱銉�',
     restart: '鍐嶈捣鍕�',
     currentDraft: '鐝惧湪銇笅鏇搞亶',
     currentDraftUnpublished: '鐝惧湪銇笅鏇搞亶锛堟湭鍏枊锛�',
-    latestPublished: '鏈�鏂板叕闁嬬増',
+    latestPublished: '鏈�鏂般伄鍏枊娓堛伩',
     publishedAt: '鍏枊鏃ユ檪',
     restore: '寰╁厓',
-    versionHistory: '銉愩兗銈搞儳銉冲饱姝�',
-    exitVersions: '銉愩兗銈搞儳銉冲饱姝淬倰闁夈仒銈�',
     runApp: '銈€儣銉倰瀹熻',
-    batchRunApp: '銈€儣銉倰涓�鎷疅琛�',
-    openInExplore: '鎺㈢储銉氥兗銈搞仹闁嬨亸',
-    accessAPIReference: 'API銉儠銈°儸銉炽偣',
+    batchRunApp: '銉愩儍銉併仹銈€儣銉倰瀹熻',
+    openInExplore: '"鎺㈢储" 銇ч枊銇�',
+    accessAPIReference: 'API銉儠銈°儸銉炽偣銇偄銈偦銈�',
     embedIntoSite: '銈点偆銉堛伀鍩嬨倎杈笺個',
     addTitle: '銈裤偆銉堛儷銈掕拷鍔�...',
     addDescription: '瑾槑銈掕拷鍔�...',
-    noVar: '澶夋暟銇屻亗銈娿伨銇涖倱',
+    noVar: '澶夋暟銇仐',
     searchVar: '澶夋暟銈掓绱�',
-    variableNamePlaceholder: '澶夋暟鍚嶃倰鍏ュ姏',
-    setVarValuePlaceholder: '澶夋暟鍊ゃ倰瑷畾',
-    needConnectTip: '鎺ョ稓銇曘倢銇︺亜銇亜銈广儐銉冦儣銇屻亗銈娿伨銇�',
-    maxTreeDepth: '1銉栥儵銉炽儊銇傘仧銈娿伄鏈�澶с儙銉笺儔鏁帮細{{depth}}',
+    variableNamePlaceholder: '澶夋暟鍚�',
+    setVarValuePlaceholder: '澶夋暟銈掕ō瀹�',
+    needConnectTip: '銇撱伄銈广儐銉冦儣銇綍銇倐鎺ョ稓銇曘倢銇︺亜銇俱仜銈�',
+    maxTreeDepth: '銉栥儵銉炽儊銇斻仺銇渶澶у埗闄愩伅{{depth}}銉庛兗銉夈仹銇�',
     needEndNode: '绲備簡銉栥儹銉冦偗銈掕拷鍔犮仚銈嬪繀瑕併亴銇傘倞銇俱仚',
     needAnswerNode: '鍥炵瓟銉栥儹銉冦偗銈掕拷鍔犮仚銈嬪繀瑕併亴銇傘倞銇俱仚',
     workflowProcess: '銉兗銈儠銉兗鍑︾悊',
     notRunning: '銇俱仩瀹熻銇曘倢銇︺亜銇俱仜銈�',
-    previewPlaceholder: '鍏ュ姏娆勩伀銉嗐偔銈广儓銈掑叆鍔涖仐銇︺儊銉c儍銉堛儨銉冦儓銇儑銉愩儍銈般倰闁嬪',
+    previewPlaceholder: '銉併儯銉冦儓銉溿儍銉堛伄銉囥儛銉冦偘銈掗枊濮嬨仚銈嬨伀銇�佷互涓嬨伄銉溿儍銈偣銇偝銉炽儐銉炽儎銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
     effectVarConfirm: {
-      title: '澶夋暟銇墛闄�',
+      title: '澶夋暟銈掑墛闄�',
       content: '浠栥伄銉庛兗銉夈仹澶夋暟銇屼娇鐢ㄣ仌銈屻仸銇勩伨銇欍�傘仢銈屻仹銈傚墛闄ゃ仐銇俱仚銇嬶紵',
     },
-    insertVarTip: '"/"銈兗銇у鏁般倰鎸垮叆',
+    insertVarTip: '銈偆銉冦偗鎸垮叆銇仧銈併伀\'/\'銈兗銈掓娂銇椼伨銇�',
     processData: '銉囥兗銈垮嚘鐞�',
     input: '鍏ュ姏',
     output: '鍑哄姏',
-    jinjaEditorPlaceholder: '銆�/銆嶃伨銇熴伅 銆寋銆嶃仹澶夋暟鎸垮叆',
-    viewOnly: '闁茶Η銇伩',
+    jinjaEditorPlaceholder: '澶夋暟銈掓尶鍏ャ仚銈嬨伀銇��/銆嶃伨銇熴伅銆寋銆嶃倰鍏ュ姏銇椼仸銇忋仩銇曘亜',
+    viewOnly: '琛ㄧず銇伩',
     showRunHistory: '瀹熻灞ユ銈掕〃绀�',
-    enableJinja: 'Jinja銉嗐兂銉椼儸銉笺儓銈掓湁鍔瑰寲',
-    learnMore: '瑭崇窗銈掕銈�',
+    enableJinja: 'Jinja銉嗐兂銉椼儸銉笺儓銇偟銉濄兗銉堛倰鏈夊姽銇仚銈�',
+    learnMore: '瑭崇窗銇亾銇°倝',
     copy: '銈炽償銉�',
     duplicate: '瑜囪=',
     addBlock: '銉栥儹銉冦偗銈掕拷鍔�',
     pasteHere: '銇撱亾銇布銈婁粯銇�',
     pointerMode: '銉濄偆銉炽偪銉笺儮銉笺儔',
     handMode: '銉忋兂銉夈儮銉笺儔',
-    exportImage: '鐢诲儚銈掑嚭鍔�',
-    exportPNG: 'PNG銇у嚭鍔�',
-    exportJPEG: 'JPEG銇у嚭鍔�',
-    exportSVG: 'SVG銇у嚭鍔�',
     model: '銉€儑銉�',
-    workflowAsTool: '銉兗銈儠銉兗銈掋儎銉笺儷銇ㄣ仐銇﹀叕闁嬨仚銈�',
+    workflowAsTool: '銉勩兗銉仺銇椼仸銇儻銉笺偗銉曘儹銉�',
     configureRequired: '瑷畾銇屽繀瑕�',
     configure: '瑷畾',
-    manageInTools: '銉勩兗銉儦銉笺偢銇х鐞�',
-    workflowAsToolTip: '銉兗銈儠銉兗鏇存柊寰屻伅銉勩兗銉伄鍐嶈ō瀹氥亴蹇呰銇с仚',
+    manageInTools: '銉勩兗銉仹绠$悊',
+    workflowAsToolTip: '銉兗銈儠銉兗銇洿鏂板緦銆併儎銉笺儷銇啀瑷畾銇屽繀瑕併仹銇欍��',
     viewDetailInTracingPanel: '瑭崇窗銈掕〃绀�',
-    syncingData: '銉囥兗銈垮悓鏈熶腑銆傘�傘��',
+    syncingData: '銉囥兗銈裤倰鍚屾湡涓紝鏁扮绋嬪害銇х祩銈忋倞銇俱仚銆�',
     importDSL: 'DSL銈掋偆銉炽儩銉笺儓',
-    importDSLTip: '鐝惧湪銇笅鏇搞亶銇笂鏇搞亶銇曘倢銇俱仚銆傘偆銉炽儩銉笺儓鍓嶃伀銉兗銈儠銉兗銈掋偍銈偣銉濄兗銉堛仐銇︺儛銉冦偗銈€儍銉椼仐銇︺亸銇犮仌銇�',
-    backupCurrentDraft: '鐝惧湪銇笅鏇搞亶銈掋儛銉冦偗銈€儍銉�',
+    importDSLTip: '鐝惧湪銇儔銉┿儠銉堛伅涓婃浉銇嶃仌銈屻伨銇欍伄銇с�併偆銉炽儩銉笺儓銇欍倠闅涖伅銆佷簨鍓嶃伀銉兗銈儠銉兗銈掋儛銉冦偗銈€儍銉椼仺銇椼仸銈ㄣ偗銈广儩銉笺儓銇勩仧銇犮亶銇俱仚銈堛亞銆併亰椤樸亜鐢炽仐涓娿亽銇俱仚銆�',
+    backupCurrentDraft: '鐝惧湪銇儔銉┿儠銉堛倰銉愩儍銈偄銉冦儣',
     chooseDSL: 'DSL(yml)銉曘偂銈ゃ儷銈掗伕鎶�',
-    overwriteAndImport: '涓婃浉銇嶃仐銇︺偆銉炽儩銉笺儓',
+    overwriteAndImport: '銈兗銉愩儵銈ゃ儓銇ㄣ偆銉炽儩銉笺儓',
     importFailure: '銈ゃ兂銉濄兗銉堝け鏁�',
-    importWarning: '娉ㄦ剰浜嬮爡',
-    importWarningDetails: 'DSL銉愩兗銈搞儳銉炽伄閬曘亜銇倛銈婃鑳姐伀褰遍熆銇屽嚭銈嬪彲鑳芥�с亴銇傘倞銇俱仚',
     importSuccess: '銈ゃ兂銉濄兗銉堟垚鍔�',
-    parallelRun: '涓﹀垪瀹熻',
     parallelTip: {
       click: {
         title: '銈儶銉冦偗',
-        desc: '銇ц拷鍔�',
+        desc: '杩藉姞銇欍倠',
       },
       drag: {
         title: '銉夈儵銉冦偘',
-        desc: '銇ф帴缍�',
+        desc: '鎺ョ稓銇欍倠銇伅',
       },
-      limit: '涓﹀垪鍑︾悊鍙兘銉栥儵銉炽儊鏁帮細{{num}}',
-      depthLimit: '涓﹀垪銉嶃偣銉堟渶澶ч殠灞ゆ暟锛歿{num}}',
+      limit: '涓﹀垪鍑︾悊銇� {{num}} 銉栥儵銉炽儊銇埗闄愩仌銈屻仸銇勩伨銇欍��',
+      depthLimit: '{{num}}銉偆銉ゃ兗銇钩琛屻儘銈广儓銉偆銉ゃ兗銇埗闄�',
     },
-    disconnect: '鎺ョ稓瑙i櫎',
-    jumpToNode: '銇撱伄銉庛兗銉夈伀绉诲嫊',
+    parallelRun: '銉戙儵銉儷銉┿兂',
+    disconnect: '鍒囥倠',
+    jumpToNode: '銇撱伄銉庛兗銉夈伀銈搞儯銉炽儣銇椼伨銇�',
     addParallelNode: '涓﹀垪銉庛兗銉夈倰杩藉姞',
     parallel: '涓﹀垪',
     branch: '銉栥儵銉炽儊',
+    importWarning: '娉ㄦ剰',
+    importWarningDetails: 'DSL 銇儛銉笺偢銉с兂銇仌銇勩亴鐗瑰畾銇鑳姐伀褰遍熆銈掍笌銇堛倠鍫村悎銇屻亗銈娿伨銇�',
     onFailure: '澶辨晽鏅�',
     addFailureBranch: '澶辨晽銉栥儵銉炽儊銈掕拷鍔�',
-    loadMore: '銇曘倝銇銇胯炯銈�',
-    noHistory: '灞ユ銇屻亗銈娿伨銇涖倱',
+    noHistory: '灞ユ銇仐',
+    loadMore: '銈堛倞澶氥亸銇儻銉笺偗銉曘儹銉笺倰銉兗銉夈仚銈�',
   },
   env: {
     envPanelTitle: '鐠板澶夋暟',
@@ -122,36 +115,36 @@
       title: '鐠板澶夋暟銈掕拷鍔�',
       editTitle: '鐠板澶夋暟銈掔法闆�',
       type: '銈裤偆銉�',
-      name: '澶夋暟鍚�',
-      namePlaceholder: '澶夋暟鍚嶃倰鍏ュ姏',
+      name: '鍚嶅墠',
+      namePlaceholder: '澶夋暟鍚�',
       value: '鍊�',
-      valuePlaceholder: '澶夋暟鍊ゃ倰鍏ュ姏',
-      secretTip: '銇撱伄澶夋暟銇瀵嗘儏鍫便倓銉囥兗銈裤倰瀹氱京銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍�侱SL 銈掋偍銈偣銉濄兗銉堛仚銈嬨仺銇嶃伀婕忔穿闃叉銉°偒銉嬨偤銉犮倰瑷畾銇曘倢銇俱仚銆�',
+      valuePlaceholder: '澶夋暟鍊�',
+      secretTip: '銇撱伄銈堛亞銇瀵嗘儏鍫便倓銉囥兗銈裤伅銆佸畾缇┿伀浣跨敤銇曘倢銆丏SL銇ō瀹氥伅鎯呭牨婕忔穿銈掗槻銇愩仧銈併伀鐗瑰垾銇鎴愩仌銈屻仸銇勩伨銇欍��',
     },
     export: {
       title: '銈枫兗銈儸銉冦儓鐠板澶夋暟銈掋偍銈偣銉濄兗銉堛仐銇俱仚銇嬶紵',
-      checkbox: '銈枫兗銈儸銉冦儓鍊ゃ倰鍚個',
+      checkbox: '銈枫兗銈儸銉冦儓鍊ゃ倰銈ㄣ偗銈广儩銉笺儓',
       ignore: 'DSL銈掋偍銈偣銉濄兗銉�',
-      export: '銈枫兗銈儸銉冦儓鍊や粯銇嶃仹銈ㄣ偗銈广儩銉笺儓',
+      export: '銈枫兗銈儸銉冦儓鍊ゃ倰鍚個DSL銈掋偍銈偣銉濄兗銉�',
     },
   },
   chatVariable: {
     panelTitle: '浼氳┍澶夋暟',
-    panelDescription: '瀵捐┍鎯呭牨銈掍繚瀛樸兓绠$悊锛堜細瑭卞饱姝�/銉曘偂銈ゃ儷/銉︺兗銈躲兗瑷畾銇仼锛夈�傛浉銇嶆彌銇堛亴銇с亶銇俱仚銆�',
-    docLink: '瑭崇窗銉夈偔銉ャ儭銉炽儓',
+    panelDescription: '浼氳┍澶夋暟銇�丩LM銇岃鎲躲仚銇广亶瀵捐┍鎯呭牨銈掍繚瀛樸仚銈嬨仧銈併伀浣跨敤銇曘倢銇俱仚銆傘亾銇儏鍫便伀銇�佸瑭便伄灞ユ銆併偄銉冦儣銉兗銉夈仌銈屻仧銉曘偂銈ゃ儷銆併儲銉笺偠銉笺伄濂姐伩銇仼銇屽惈銇俱倢銇俱仚銆傝銇挎浉銇嶃亴鍙兘銇с仚銆�',
+    docLink: '瑭炽仐銇忋伅銉夈偔銉ャ儭銉炽儓銈掋仈瑕с亸銇犮仌銇勩��',
     button: '澶夋暟銈掕拷鍔�',
     modal: {
       title: '浼氳┍澶夋暟銈掕拷鍔�',
       editTitle: '浼氳┍澶夋暟銈掔法闆�',
-      name: '澶夋暟鍚�',
-      namePlaceholder: '澶夋暟鍚嶃倰鍏ュ姏',
+      name: '鍚嶅墠',
+      namePlaceholder: '澶夋暟鍚嶅墠',
       type: '銈裤偆銉�',
       value: '銉囥儠銈┿儷銉堝��',
-      valuePlaceholder: '銉囥儠銈┿儷銉堝�ゃ�佽ō瀹氥仐銇亜鍫村悎銇┖鐧姐伀銇椼仸銇忋仩銇曘亜',
+      valuePlaceholder: '銉囥儠銈┿儷銉堝�ゃ�佽ō瀹氥仐銇亜鍫村悎銇┖鐧姐伀銇椼仹銇忋仩銇曘亜',
       description: '瑾槑',
-      descriptionPlaceholder: '澶夋暟銇鏄庛倰鍏ュ姏',
-      editInJSON: 'JSON銇х法闆�',
-      oneByOne: '鍊嬪垾杩藉姞',
+      descriptionPlaceholder: '澶夋暟銇鏄�',
+      editInJSON: 'JSON銇х法闆嗐仚銈�',
+      oneByOne: '娆°�呫伀杩藉姞銇欍倠',
       editInForm: '銉曘偐銉笺儬銇х法闆�',
       arrayValue: '鍊�',
       addArrayValue: '鍊ゃ倰杩藉姞',
@@ -159,19 +152,19 @@
       objectType: '銈裤偆銉�',
       objectValue: '銉囥儠銈┿儷銉堝��',
     },
-    storedContent: '淇濆瓨鍐呭',
-    updatedAt: '鏈�绲傛洿鏂帮細',
+    storedContent: '淇濆瓨銇曘倢銇熴偝銉炽儐銉炽儎',
+    updatedAt: '鏇存柊鏃ャ伅',
   },
   changeHistory: {
     title: '澶夋洿灞ユ',
-    placeholder: '銇俱仩浣曘倐澶夋洿銇曘倢銇︺亜銇俱仜銈�',
+    placeholder: '銇俱仩浣曘倐澶夋洿銇椼仸銇勩伨銇涖倱',
     clearHistory: '灞ユ銈掋偗銉偄',
     hint: '銉掋兂銉�',
-    hintText: '銈ㄣ儑銈c偪銉笺仹銇法闆嗘搷浣溿伅銆併偍銉囥偅銈裤兗銈掗洟銈屻倠銇俱仹銆併亰浣裤亜銇儑銉愩偆銈广伀瑷橀尣銇曘倢銇俱仚銆傘亾銇饱姝淬伅銆併偍銉囥偅銈裤兗銈掗洟銈屻倠銇ㄦ秷鍘汇仌銈屻伨銇欍��',
-    stepBackward_one: '{{count}} 銈广儐銉冦儣鎴汇倠',
-    stepBackward_other: '{{count}} 銈广儐銉冦儣鎴汇倠',
-    stepForward_one: '{{count}} 銈广儐銉冦儣閫层個',
-    stepForward_other: '{{count}} 銈广儐銉冦儣閫层個',
+    hintText: '绶ㄩ泦銈€偗銈枫儳銉炽伅澶夋洿灞ユ銇閷层仌銈屻�併亾銇偦銉冦偡銉с兂銇枔銇儑銉愩偆銈广伀淇濆瓨銇曘倢銇俱仚銆傘偍銉囥偅銈裤兗銈掔祩浜嗐仚銈嬨仺銆併亾銇饱姝淬伅娑堝幓銇曘倢銇俱仚銆�',
+    stepBackward_one: '{{count}} 銈广儐銉冦儣寰岄��',
+    stepBackward_other: '{{count}} 銈广儐銉冦儣寰岄��',
+    stepForward_one: '{{count}} 銈广儐銉冦儣鍓嶉��',
+    stepForward_other: '{{count}} 銈广儐銉冦儣鍓嶉��',
     sessionStart: '銈汇儍銈枫儳銉抽枊濮�',
     currentState: '鐝惧湪銇姸鎱�',
     nodeTitleChange: '銉栥儹銉冦偗銇偪銈ゃ儓銉亴澶夋洿銇曘倢銇俱仐銇�',
@@ -182,17 +175,16 @@
     nodePaste: '銉栥儹銉冦偗銇岃布銈婁粯銇戙倝銈屻伨銇椼仧',
     nodeDelete: '銉栥儹銉冦偗銇屽墛闄ゃ仌銈屻伨銇椼仧',
     nodeAdd: '銉栥儹銉冦偗銇岃拷鍔犮仌銈屻伨銇椼仧',
-    nodeResize: '銉栥儹銉冦偗銇偟銈ゃ偤銇屽鏇淬仌銈屻伨銇椼仧',
-    noteAdd: '娉ㄩ噲銇岃拷鍔犮仌銈屻伨銇椼仧',
-    noteChange: '娉ㄩ噲銇屽鏇淬仌銈屻伨銇椼仧',
-    noteDelete: '娉ㄩ噲銇屽墛闄ゃ仌銈屻伨銇椼仧',
-    edgeDelete: '銉栥儹銉冦偗銇帴缍氥亴瑙i櫎銇曘倢銇俱仐銇�',
+    nodeResize: '銉栥儹銉冦偗銇屻儶銈点偆銈恒仌銈屻伨銇椼仧',
+    noteAdd: '銉庛兗銉堛亴杩藉姞銇曘倢銇俱仐銇�',
+    noteChange: '銉庛兗銉堛亴澶夋洿銇曘倢銇俱仐銇�',
+    noteDelete: '銉庛兗銉堛亴鍓婇櫎銇曘倢銇俱仐銇�',
+    edgeDelete: '銉栥儹銉冦偗銇屽垏鏂仌銈屻伨銇椼仧',
   },
   errorMsg: {
-    fieldRequired: '{{field}} 銇繀闋堛仹銇�',
-    rerankModelRequired: 'Rerank 銉€儑銉亴瑷畾銇曘倢銇︺亜銇俱仜銈�',
+    fieldRequired: '{{field}}銇繀闋堛仹銇�',
     authRequired: '瑾嶈銇屽繀瑕併仹銇�',
-    invalidJson: '{{field}} 銇劇鍔广仾 JSON 銇с仚',
+    invalidJson: '{{field}}銇劇鍔广仹銇�',
     fields: {
       variable: '澶夋暟鍚�',
       variableValue: '澶夋暟鍊�',
@@ -201,45 +193,41 @@
       rerankModel: 'Rerank銉€儑銉�',
       visionVariable: '銉撱偢銉с兂澶夋暟',
     },
-    invalidVariable: '鐒″姽銇鏁般仹銇�',
-    noValidTool: '{{field}} 銇埄鐢ㄥ彲鑳姐仾銉勩兗銉亴銇傘倞銇俱仜銈�',
-    toolParameterRequired: '{{field}}: 銉戙儵銉°兗銈� [{{param}}] 銇繀闋堛仹銇�',
+    invalidVariable: '鐒″姽銇鏁�',
+    rerankModelRequired: '銉€儑銉伄鍐嶃儵銉炽偗浠樸亼銈掋偑銉炽伀銇欍倠鍓嶃伀銆併儮銉囥儷銇岃ō瀹氥仹姝e父銇鎴愩仌銈屻仸銇勩倠銇撱仺銈掔⒑瑾嶃仐銇︺亸銇犮仌銇勩��',
   },
   singleRun: {
     testRun: '銉嗐偣銉堝疅琛�',
-    startRun: '瀹熻闁嬪',
+    startRun: '瀹熻銈掗枊濮�',
     running: '瀹熻涓�',
-    testRunIteration: '銉嗐偣銉堝疅琛岋紙銈ゃ儐銉兗銈枫儳銉筹級',
-    testRunLoop: '銉嗐偣銉堝疅琛岋紙銉兗銉楋級',
+    testRunIteration: '銉嗐偣銉堝疅琛屻偆銉嗐儸銉笺偡銉с兂',
     back: '鎴汇倠',
     iteration: '銈ゃ儐銉兗銈枫儳銉�',
-    loop: '銉兗銉�',
   },
   tabs: {
-    'searchBlock': '銉栥儹銉冦偗妞滅储',
+    'searchBlock': '銉栥儹銉冦偗銈掓绱�',
     'blocks': '銉栥儹銉冦偗',
-    'searchTool': '銉勩兗銉绱�',
+    'searchTool': '妞滅储銉勩兗銉�',
     'tools': '銉勩兗銉�',
     'allTool': '銇欍伖銇�',
-    'customTool': '銈偣銈裤儬',
     'workflowTool': '銉兗銈儠銉兗',
-    'question-understand': '鍟忛鐞嗚В',
+    'builtInTool': '绲勩伩杈笺伩',
+    'customTool': '銈偣銈裤儬',
+    'question-understand': '璩晱銇悊瑙�',
     'logic': '銉偢銉冦偗',
     'transform': '澶夋彌',
-    'utilities': '銉勩兗銉�',
-    'noResult': '瑭插綋銇仐',
-    'plugin': '銉椼儵銈般偆銉�',
-    'agent': '銈ㄣ兗銈搞偋銉炽儓鎴︾暐',
+    'utilities': '銉︺兗銉嗐偅銉儐銈�',
+    'noResult': '涓�鑷淬仚銈嬨倐銇亴瑕嬨仱銇嬨倞銇俱仜銈撱仹銇椼仧',
   },
   blocks: {
     'start': '闁嬪',
     'end': '绲備簡',
     'answer': '鍥炵瓟',
     'llm': 'LLM',
-    'knowledge-retrieval': '鐭ヨ瓨妞滅储',
+    'knowledge-retrieval': '鐭ヨ瓨鍙栧緱',
     'question-classifier': '璩晱鍒嗛鍣�',
     'if-else': 'IF/ELSE',
-    'code': '銈炽兗銉夊疅琛�',
+    'code': '銈炽兗銉�',
     'template-transform': '銉嗐兂銉椼儸銉笺儓',
     'http-request': 'HTTP銉偗銈ㄣ偣銉�',
     'variable-assigner': '澶夋暟浠e叆鍣�',
@@ -247,66 +235,52 @@
     'assigner': '澶夋暟浠e叆',
     'iteration-start': '銈ゃ儐銉兗銈枫儳銉抽枊濮�',
     'iteration': '銈ゃ儐銉兗銈枫儳銉�',
-    'parameter-extractor': '銉戙儵銉°兗銈挎娊鍑�',
-    'document-extractor': '銉嗐偔銈广儓鎶藉嚭',
+    'parameter-extractor': '銉戙儵銉°兗銈裤兗鎶藉嚭',
+    'document-extractor': '銉嗐偔銈广儓鎶藉嚭銉勩兗銉�',
     'list-operator': '銉偣銉堝嚘鐞�',
-    'agent': '銈ㄣ兗銈搞偋銉炽儓',
-    'loop-start': '銉兗銉楅枊濮�',
-    'loop': '銉兗銉�',
-    'loop-end': '銉兗銉楀畬浜�',
   },
   blocksAbout: {
-    'start': '銉兗銈儠銉兗闁嬪鏅傘伄鍒濇湡銉戙儵銉°兗銈裤倰瀹氱京銇椼伨銇欍��',
-    'end': '銉兗銈儠銉兗銇祩浜嗘潯浠躲仺绲愭灉銇偪銈ゃ儣銈掑畾缇┿仐銇俱仚銆�',
-    'answer': '銉併儯銉冦儓銉�銈ゃ偄銉偘銇繑绛斿唴瀹广倰瀹氱京銇椼伨銇欍��',
-    'llm': '澶ц妯¤█瑾炪儮銉囥儷銈掑懠銇冲嚭銇椼仸璩晱鍥炵瓟銈勮嚜鐒惰█瑾炲嚘鐞嗐倰瀹熻銇椼伨銇欍��',
-    'knowledge-retrieval': '銉娿儸銉冦偢銉欍兗銈广亱銈夈儲銉笺偠銉艰唱鍟忋伀闁㈤�c仚銈嬨儐銈偣銉堛倰妞滅储銇椼伨銇欍��',
-    'question-classifier': '璩晱銇垎椤炴潯浠躲倰瀹氱京銇椼�丩LM銇屽垎椤炪伀鍩恒仴銇勩仸瀵捐┍銉曘儹銉笺倰鍒跺尽銇椼伨銇欍��',
-    'if-else': 'if/else鏉′欢銇с儻銉笺偗銉曘儹銉笺倰2銇ゃ伄鍒嗗矏銇垎鍓层仐銇俱仚銆�',
-    'code': 'Python/NodeJS銈炽兗銉夈倰瀹熻銇椼仸銈偣銈裤儬銉偢銉冦偗銈掑疅瑁呫仐銇俱仚銆�',
-    'template-transform': 'Jinja銉嗐兂銉椼儸銉笺儓妲嬫枃銇с儑銉笺偪銈掓枃瀛楀垪銇鎻涖仐銇俱仚銆�',
-    'http-request': 'HTTP銉偗銈ㄣ偣銉堛倰閫佷俊銇с亶銇俱仚銆�',
-    'variable-assigner': '瑜囨暟鍒嗗矏銇鏁般倰闆嗙磩銇椼�佷笅娴併儙銉笺儔銇ō瀹氥倰绲变竴銇椼伨銇欍��',
-    'assigner': '鏇搞亶杈笺伩鍙兘銇鏁帮紙渚嬶細浼氳┍澶夋暟锛夈伕銇�ゃ伄鍓层倞褰撱仸銈掕銇勩伨銇欍��',
-    'variable-aggregator': '瑜囨暟鍒嗗矏銇鏁般倰闆嗙磩銇椼�佷笅娴併儙銉笺儔銇ō瀹氥倰绲变竴銇椼伨銇欍��',
-    'iteration': '銉偣銉堣绱犮伀瀵俱仐銇﹀弽寰╁嚘鐞嗐倰瀹熻銇楀叏绲愭灉銈掑嚭鍔涖仐銇俱仚銆�',
-    'loop': '绲備簡鏉′欢閬旀垚銇俱仹銆併伨銇熴伅鏈�澶у弽寰╁洖鏁般伨銇с儹銈搞儍銈倰绻般倞杩斻仐銇俱仚銆�',
-    'loop-end': '銆宐reak銆嶇浉褰撱伄姗熻兘銇с仚銆傘亾銇儙銉笺儔銇ō瀹氶爡鐩伅銇亸銆併儷銉笺儣鍑︾悊涓伀銇撱伄銉庛兗銉夈伀鍒伴仈銇欍倠銇ㄥ嵆鏅傜祩浜嗐仐銇俱仚銆�',
-    'parameter-extractor': '鑷劧瑷�瑾炪亱銈夋閫犲寲銉戙儵銉°兗銈裤倰鎶藉嚭銇椼�佸緦缍氬嚘鐞嗐仹鍒╃敤銇椼伨銇欍��',
-    'document-extractor': '銈€儍銉椼儹銉笺儔鏂囨浉銈扡LM鍑︾悊鐢ㄣ伀鏈�閬╁寲銇曘倢銇熴儐銈偣銉堛伀澶夋彌銇椼伨銇欍��',
-    'list-operator': '閰嶅垪銇儠銈c儷銈裤儶銉炽偘銈勩偨銉笺儓鍑︾悊銈掕銇勩伨銇欍��',
-    'agent': '澶ц妯¤█瑾炪儮銉囥儷銈掓椿鐢ㄣ仐銇熻唱鍟忓繙绛斻倓鑷劧瑷�瑾炲嚘鐞嗐倰瀹熻銇椼伨銇欍��',
+    'start': '銉兗銈儠銉兗銇枊濮嬨伀蹇呰銇儜銉┿儭銉笺偪銈掑畾缇┿仐銇俱仚',
+    'end': '銉兗銈儠銉兗銇祩浜嗐仺绲愭灉銇偪銈ゃ儣銈掑畾缇┿仐銇俱仚',
+    'answer': '銉併儯銉冦儓浼氳┍銇繙绛斿唴瀹广倰瀹氱京銇椼伨銇�',
+    'llm': '澶ц妯¤█瑾炪儮銉囥儷銈掑懠銇冲嚭銇椼仸璩晱銇洖绛斻仐銇熴倞銆佽嚜鐒惰█瑾炪倰鍑︾悊銇椼仧銈娿仐銇俱仚',
+    'knowledge-retrieval': '銉︺兗銈躲兗銇唱鍟忋伀闁㈤�c仚銈嬨儐銈偣銉堛偝銉炽儐銉炽儎銈掔煡璀樸亱銈夈偗銈ㄣ儶銇с亶銈嬨倛銇嗐伀銇椼伨銇�',
+    'question-classifier': '銉︺兗銈躲兗銇唱鍟忋伄鍒嗛鏉′欢銈掑畾缇┿仐銆丩LM銇垎椤炶杩般伀鍩恒仴銇勩仸浼氳┍銇屻仼銇倛銇嗐伀閫茶銇欍倠銇嬨倰瀹氱京銇с亶銇俱仚',
+    'if-else': 'IF/ELSE鏉′欢銇熀銇ャ亜銇︺儻銉笺偗銉曘儹銉笺倰2銇ゃ伄銉栥儵銉炽儊銇垎鍓层仹銇嶃伨銇�',
+    'code': '銈偣銈裤儬銉偢銉冦偗銈掑疅瑁呫仚銈嬨仧銈併伀Python銇俱仧銇疦odeJS銈炽兗銉夈倰瀹熻銇椼伨銇�',
+    'template-transform': 'Jinja銉嗐兂銉椼儸銉笺儓妲嬫枃銈掍娇鐢ㄣ仐銇︺儑銉笺偪銈掓枃瀛楀垪銇鎻涖仐銇俱仚',
+    'http-request': 'HTTP銉椼儹銉堛偝銉祵鐢便仹銈点兗銉愩兗銉偗銈ㄣ偣銉堛倰閫佷俊銇с亶銇俱仚',
+    'variable-assigner': '瑜囨暟銇儢銉┿兂銉併伄澶夋暟銈�1銇ゃ伄澶夋暟銇泦绱勩仐銆佷笅娴併伄銉庛兗銉夈伀瀵俱仐銇︾当涓�銇曘倢銇熻ō瀹氥倰琛屻亜銇俱仚銆�',
+    'assigner': '澶夋暟浠e叆銉庛兗銉夈伅銆佹浉銇嶈炯銇垮彲鑳姐仾澶夋暟锛堜緥銇堛伆銆佷細瑭卞鏁帮級銇�ゃ倰鍓层倞褰撱仸銈嬨仧銈併伀浣跨敤銇曘倢銇俱仚銆�',
+    'variable-aggregator': '瑜囨暟銇儢銉┿兂銉併伄澶夋暟銈�1銇ゃ伄澶夋暟銇泦绱勩仐銆佷笅娴併伄銉庛兗銉夈伀瀵俱仐銇︾当涓�銇曘倢銇熻ō瀹氥倰琛屻亜銇俱仚銆�',
+    'iteration': '銉偣銉堛偑銉栥偢銈с偗銉堛伀瀵俱仐銇﹁鏁般伄銈广儐銉冦儣銈掑疅琛屻仐銆併仚銇广仸銇祼鏋溿亴鍑哄姏銇曘倢銈嬨伨銇х拱銈婅繑銇椼伨銇欍��',
+    'parameter-extractor': '鑷劧瑷�瑾炪亱銈夈儎銉笺儷銇懠銇冲嚭銇椼倓HTTP銉偗銈ㄣ偣銉堛伄銇熴倎銇閫犲寲銇曘倢銇熴儜銉┿儭銉笺偪銉笺倰鎶藉嚭銇欍倠銇熴倎銇獿LM銈掍娇鐢ㄣ仐銇俱仚銆�',
+    'document-extractor': '銈€儍銉椼儹銉笺儔銇曘倢銇熴儔銈儱銉°兂銉堛倰 LLM 銇х啊鍗樸伀鐞嗚В銇с亶銈嬨儐銈偣銉堛伄銈炽兂銉嗐兂銉勩伀瑙f瀽銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍��',
+    'list-operator': '閰嶅垪銇偝銉炽儐銉炽儎銈掋儠銈c儷銈裤儶銉炽偘銇俱仧銇偨銉笺儓銇欍倠銇熴倎銇娇鐢ㄣ仌銈屻伨銇欍��',
   },
   operator: {
     zoomIn: '鎷″ぇ',
     zoomOut: '绺皬',
-    zoomTo50: '50%銈点偆銈�',
-    zoomTo100: '绛夊�嶈〃绀�',
-    zoomToFit: '鐢婚潰銇悎銈忋仜銈�',
-  },
-  variableReference: {
-    noAvailableVars: '鍒╃敤鍙兘銇鏁般亴銇傘倞銇俱仜銈�',
-    noVarsForOperation: '銇撱伄鎿嶄綔銇壊銈婂綋銇﹀彲鑳姐仾澶夋暟銇屽瓨鍦ㄣ仐銇俱仜銈撱��',
-    noAssignedVars: '鍓层倞褰撱仸鍙兘銇鏁般亴銇傘倞銇俱仜銈�',
-    assignedVarsDescription: '鏇搞亶杈笺伩鍙兘銇鏁帮紙渚嬶細',
-    conversationVars: '浼氳┍澶夋暟',
+    zoomTo50: '50锛呫伀銈恒兗銉�',
+    zoomTo100: '100锛呫伀銈恒兗銉�',
+    zoomToFit: '銉曘偅銉冦儓銇偤銉笺儬',
   },
   panel: {
-    userInputField: '銉︺兗銈躲兗鍏ュ姏娆�',
-    changeBlock: '銉庛兗銉夊鏇�',
+    userInputField: '銉︺兗銈躲兗鍏ュ姏銉曘偅銉笺儷銉�',
+    changeBlock: '銉栥儹銉冦偗銈掑鏇�',
     helpLink: '銉樸儷銉椼儶銉炽偗',
-    about: '瑭崇窗',
-    createdBy: '浣滄垚鑰�',
+    about: '鎯呭牨',
+    createdBy: '浣滄垚鑰� ',
     nextStep: '娆°伄銈广儐銉冦儣',
-    addNextStep: '銇撱伄銉兗銈儠銉兗銇ф銉庛兗銉夈倰杩藉姞',
-    selectNextStep: '娆°儙銉笺儔閬告姙',
-    runThisStep: '銇撱伄銈广儐銉冦儣瀹熻',
+    addNextStep: '銇撱伄銉兗銈儠銉兗銇ф銇儢銉儍銈倰杩藉姞',
+    selectNextStep: '娆°伄銉栥儹銉冦偗銈掗伕鎶�',
+    runThisStep: '銇撱伄銈广儐銉冦儣銈掑疅琛�',
     checklist: '銉併偋銉冦偗銉偣銉�',
-    checklistTip: '鍏枊鍓嶃伀鍏ㄣ仸銇爡鐩倰纰鸿獚銇椼仸銇忋仩銇曘亜',
-    checklistResolved: '鍏ㄣ仸銇儊銈с儍銈亴瀹屼簡銇椼伨銇椼仧',
-    organizeBlocks: '銉庛兗銉夋暣鐞�',
+    checklistTip: '鍏枊銇欍倠鍓嶃伀銇欍伖銇︺伄鍟忛銇岃В姹恒仌銈屻仸銇勩倠銇撱仺銈掔⒑瑾嶃仐銇︺亸銇犮仌銇�',
+    checklistResolved: '銇欍伖銇︺伄鍟忛銇岃В姹恒仌銈屻伨銇椼仧',
+    organizeBlocks: '銉栥儹銉冦偗銈掓暣鐞�',
     change: '澶夋洿',
-    optional: '锛堜换鎰忥級',
+    optional: '(銈儣銈枫儳銉�)',
   },
   nodes: {
     common: {
@@ -315,54 +289,54 @@
       memory: {
         memory: '銉°儮銉�',
         memoryTip: '銉併儯銉冦儓銉°儮銉ō瀹�',
-        windowSize: '銉°儮銉偊銈c兂銉夈偊銈点偆銈�',
+        windowSize: '銈︺偅銉炽儔銈︺偟銈ゃ偤',
         conversationRoleName: '浼氳┍銉兗銉悕',
         user: '銉︺兗銈躲兗鎺ラ牠杈�',
         assistant: '銈€偡銈广偪銉炽儓鎺ラ牠杈�',
       },
       memories: {
         title: '銉°儮銉�',
-        tip: '銉併儯銉冦儓銇鎲剁鐞�',
+        tip: '銉併儯銉冦儓銉°儮銉�',
         builtIn: '绲勩伩杈笺伩',
       },
       errorHandle: {
-        title: '渚嬪鍑︾悊',
-        tip: '銉庛兗銉変緥澶栫櫤鐢熸檪銇嚘鐞嗐儩銉偡銉笺倰瑷畾',
         none: {
           title: '鍑︾悊銇仐',
-          desc: '渚嬪鐧虹敓鏅傘伀鍑︾悊銈掑仠姝�',
+          desc: '渚嬪銇岀櫤鐢熴仐銇﹀嚘鐞嗐仌銈屻仾銇勫牬鍚堛�併儙銉笺儔銇疅琛屻倰鍋滄銇椼伨銇�',
         },
         defaultValue: {
           title: '銉囥儠銈┿儷銉堝��',
-          desc: '渚嬪鐧虹敓鏅傘伄銉囥儠銈┿儷銉堝嚭鍔�',
-          tip: '渚嬪鐧虹敓鏅傘伀杩斻仌銈屻倠鍊�:',
-          inLog: '銉庛兗銉変緥澶� - 銉囥儠銈┿儷銉堝�ゃ倰鍑哄姏',
-          output: '銉囥儠銈┿儷銉堝�ゅ嚭鍔�',
+          desc: '渚嬪銇岀櫤鐢熴仐銇熷牬鍚堛伅銆併儑銉曘偐銉儓銇嚭鍔涖偝銉炽儐銉炽儎銈掓寚瀹氥仐銇俱仚銆�',
+          tip: '渚嬪銇岀櫤鐢熴仐銇熷牬鍚堛伅銆佷互涓嬨伄鍊ゃ倰杩斻仐銇俱仚銆�',
+          inLog: '銉庛兗銉変緥澶栥�併儑銉曘偐銉儓鍊ゃ伀寰撱仯銇﹀嚭鍔涖仐銇俱仚銆�',
+          output: '鍑哄姏銉囥儠銈┿儷銉堝��',
         },
         failBranch: {
-          title: '渚嬪鍒嗗矏',
-          desc: '渚嬪鐧虹敓鏅傘伀鍒嗗矏銈掑疅琛�',
-          customize: '澶辨晽鍒嗗矏銉偢銉冦偗銈掋偒銈广偪銉炪偆銈�',
-          customizeTip: '渚嬪鐧虹敓鏅傘�佸け鏁楀垎宀愩仹銈ㄣ儵銉煎嚘鐞嗐倰鏌旇粺銇ō瀹氬彲鑳斤紙銈ㄣ儵銉笺儹銈拌〃绀�/淇京鍑︾悊/鎿嶄綔銈广偔銉冦儣绛夛級',
-          inLog: '銉庛兗銉変緥澶� - 澶辨晽鍒嗗矏銈掑疅琛屻�傘偍銉┿兗鎯呭牨銈掍笅娴併伀浼濇挱',
+          title: '銈ㄣ儵銉笺儢銉┿兂銉�',
+          customize: '銈儯銉炽儛銈广伀绉诲嫊銇椼仸銆併偍銉┿兗銉栥儵銉炽儊銇儹銈搞儍銈倰銈偣銈裤優銈ゃ偤銇椼伨銇欍��',
+          inLog: '渚嬪銇岀櫤鐢熴仐銇熷牬鍚堛伅銆併偍銉┿兗銇椼仧銉栥儵銉炽儊銈掕嚜鍕曠殑銇疅琛屻仐銇俱仚銆傘儙銉笺儔鍑哄姏銇�併偍銉┿兗銈裤偆銉椼仺銈ㄣ儵銉笺儭銉冦偦銉笺偢銈掕繑銇椼�併仢銈屻倝銈掋儉銈︺兂銈广儓銉兗銉犮伀娓°仐銇俱仚銆�',
+          desc: '渚嬪銇岀櫤鐢熴仐銇熷牬鍚堛伅銆併偍銉┿兗銉栥儵銉炽儊銈掑疅琛屻仐銇俱仚',
+          customizeTip: '銈ㄣ儵銉笺儢銉┿兂銉併亴銈€偗銉嗐偅銉栥伀銇仯銇︺倐銆併儙銉笺儔銇倛銇c仸銈广儹銉笺仌銈屻仧渚嬪銇儣銉偦銈广倰绲備簡銇曘仜銇俱仜銈撱�備唬銈忋倞銇�佷簨鍓嶅畾缇┿仌銈屻仧 銈ㄣ儵銉笺儢銉┿兂銉併亴鑷嫊鐨勩伀瀹熻銇曘倢銈嬨仧銈併�併偍銉┿兗銉°儍銈汇兗銈搞�併儸銉濄兗銉堛�佷慨姝c偄銈偡銉с兂銆併伨銇熴伅銈广偔銉冦儣銈€偗銈枫儳銉炽倰鏌旇粺銇彁渚涖仹銇嶃伨銇欍��',
         },
         partialSucceeded: {
-          tip: '{{num}}鍊嬨伄銉庛兗銉夈仹鐣板父鐧虹敓銆傘儹銈般伅銉堛儸銉笺偣鐢婚潰銇х⒑瑾嶅彲鑳�',
+          tip: '銉椼儹銈汇偣銇珄{num}}銉庛兗銉夈亴鐣板父銇嫊浣溿仐銇︺亜銇俱仚銇仹銆併儓銉兗銈广伀绉诲嫊銇椼仸銉偘銈掔⒑瑾嶃仐銇︺亸銇犮仌銇勩��',
         },
+        title: '銈ㄣ儵銉煎嚘鐞�',
+        tip: '銉庛兗銉夈亴渚嬪銈掓鍑恒仐銇熴仺銇嶃伀銉堛儶銈兗銇曘倢銈嬩緥澶栧嚘鐞嗘垿鐣ャ��',
       },
       retry: {
         retry: '鍐嶈│琛�',
-        retryOnFailure: '澶辨晽鏅傚啀瑭﹁',
-        maxRetries: '鏈�澶ц│琛屽洖鏁�',
+        retryOnFailure: '澶辨晽鏅傘伄鍐嶈│琛�',
+        maxRetries: '鏈�澶у啀瑭﹁鍥炴暟',
         retryInterval: '鍐嶈│琛岄枔闅�',
-        retryTimes: '澶辨晽鏅� {{times}}鍥炲啀瑭﹁',
-        retrying: '鍐嶈│琛屼腑...',
-        retrySuccessful: '鍐嶈│琛屾垚鍔�',
-        retryFailed: '鍐嶈│琛屽け鏁�',
-        retryFailedTimes: '{{times}}鍥炲啀瑭﹁澶辨晽',
+        retrying: '鍐嶈│琛屻�傘�傘��',
+        retryFailed: '鍐嶈│琛屻伀澶辨晽銇椼伨銇椼仧',
         times: '鍥�',
-        ms: '銉熴儶绉�',
-        retries: '鍐嶈│琛屽洖鏁�: {{num}}',
+        ms: 'ms',
+        retryTimes: '澶辨晽鏅傘伀{{times}}鍥炲啀瑭﹁',
+        retrySuccessful: '鍐嶈│琛屻伀鎴愬姛銇椼伨銇椼仧',
+        retries: '{{num}} 鍥炪伄鍐嶈│琛�',
+        retryFailedTimes: '{{times}}鍥炪伄鍐嶈│琛屻亴澶辨晽銇椼伨銇椼仧',
       },
     },
     start: {
@@ -373,17 +347,17 @@
         query: '銉︺兗銈躲兗鍏ュ姏',
         memories: {
           des: '浼氳┍灞ユ',
-          type: '銉°儍銈汇兗銈哥ó鍒�',
+          type: '銉°儍銈汇兗銈搞偪銈ゃ儣',
           content: '銉°儍銈汇兗銈稿唴瀹�',
         },
-        files: '銉曘偂銈ゃ儷涓�瑕�',
+        files: '銉曘偂銈ゃ儷銉偣銉�',
       },
-      noVarTip: '鍏ュ姏瑷畾銇儻銉笺偗銉曘儹銉煎唴銇у埄鐢ㄥ彲鑳�',
+      noVarTip: '銉兗銈儠銉兗銇т娇鐢ㄣ仹銇嶃倠鍏ュ姏銈掕ō瀹氥仐銇俱仚',
     },
     end: {
-      outputs: '鍑哄姏瑷畾',
+      outputs: '鍑哄姏',
       output: {
-        type: '鍑哄姏褰㈠紡',
+        type: '鍑哄姏銈裤偆銉�',
         variable: '鍑哄姏澶夋暟',
       },
       type: {
@@ -393,134 +367,75 @@
       },
     },
     answer: {
-      answer: '蹇滅瓟',
+      answer: '鍥炵瓟',
       outputVars: '鍑哄姏澶夋暟',
     },
     llm: {
-      model: 'AI銉€儑銉�',
+      model: '銉€儑銉�',
       variables: '澶夋暟',
       context: '銈炽兂銉嗐偔銈广儓',
-      contextTooltip: '銉娿儸銉冦偢銉欍兗銈广倰銈炽兂銉嗐偔銈广儓銇ㄣ仐銇﹀埄鐢�',
-      notSetContextInPromptTip: '銈炽兂銉嗐偔銈广儓鍒╃敤鏅傘伅銉椼儹銉炽儣銉堛伀澶夋暟銈掓槑瑷樸仐銇︺亸銇犮仌銇�',
+      contextTooltip: '銈炽兂銉嗐偔銈广儓銇ㄣ仐銇︾煡璀樸倰銈ゃ兂銉濄兗銉堛仹銇嶃伨銇�',
+      notSetContextInPromptTip: '銈炽兂銉嗐偔銈广儓姗熻兘銈掓湁鍔广伀銇欍倠銇伅銆丳ROMPT銇偝銉炽儐銈偣銉堝鏁般倰瑷樺叆銇椼仸銇忋仩銇曘亜銆�',
       prompt: '銉椼儹銉炽儣銉�',
-      addMessage: '銉°儍銈汇兗銈歌拷鍔�',
       roleDescription: {
-        system: '瀵捐┍銇熀鏈嫊浣溿倰瀹氱京',
-        user: '鎸囩ず/璩晱銈掑叆鍔�',
-        assistant: '銉︺兗銈躲兗鍏ュ姏銇搞伄蹇滅瓟',
+        system: '浼氳┍銇珮銉儥銉仾鍛戒护銈掍笌銇堛伨銇�',
+        user: '銉€儑銉伕銇寚绀恒�併偗銈ㄣ儶銆併伨銇熴伅銉嗐偔銈广儓銉欍兗銈广伄鍏ュ姏銈掓彁渚涖仐銇俱仚',
+        assistant: '銉︺兗銈躲兗銉°儍銈汇兗銈搞伀鍩恒仴銇勩仸銉€儑銉伄蹇滅瓟',
       },
+      addMessage: '銉°儍銈汇兗銈搞倰杩藉姞',
       vision: '銉撱偢銉с兂',
       files: '銉曘偂銈ゃ儷',
       resolution: {
         name: '瑙e儚搴�',
-        high: '楂�',
-        low: '浣�',
+        high: '楂樸亜',
+        low: '浣庛亜',
       },
       outputVars: {
-        output: '鐢熸垚鍐呭',
-        usage: '銉€儑銉娇鐢ㄩ噺',
+        output: '銈炽兂銉嗐兂銉勩倰鐢熸垚',
+        usage: '銉€儑銉伄浣跨敤鎯呭牨',
       },
       singleRun: {
         variable: '澶夋暟',
       },
-      sysQueryInUser: '銉︺兗銈躲兗銉°儍銈汇兗銈搞伀sys.query銈掑惈銈併仸銇忋仩銇曘亜',
-      jsonSchema: {
-        title: '妲嬮�犲寲銉囥兗銈裤偣銈兗銉�',
-        instruction: '鎸囩ず',
-        promptTooltip: '銉嗐偔銈广儓瑾槑銇嬨倝妯欐簴JSON銈广偔銉笺優銈掕嚜鍕曠敓鎴愩仹銇嶃伨銇欍��',
-        promptPlaceholder: 'JSON銈广偔銉笺優銈掑叆鍔�...',
-        generate: '鐢熸垚',
-        import: 'JSON銈ゃ兂銉濄兗銉�',
-        generateJsonSchema: '銈广偔銉笺優鐢熸垚',
-        generationTip: '鑷劧瑷�瑾炪仹绨″崢銇獼SON銈广偔銉笺優銈掍綔鎴愬彲鑳姐仹銇欍��',
-        generating: 'JSON銈广偔銉笺優銈掔敓鎴愪腑...',
-        generatedResult: '鐢熸垚绲愭灉',
-        resultTip: '銇撱仭銈夈亴鐢熸垚銇曘倢銇熺祼鏋溿仹銇欍�傘仈婧�瓒炽亜銇熴仩銇戙仾銇勫牬鍚堛伅銆佸墠銇敾闈€伀鎴汇仯銇︺儣銉兂銉椼儓銈掍慨姝c仹銇嶃伨銇欍��',
-        back: '鍓嶃伀鎴汇倠',
-        regenerate: '鍐嶇敓鎴愩仚銈�',
-        apply: '閬╃敤',
-        doc: '妲嬮�犲寲鍑哄姏銇┏绱般倰瑕嬨倠',
-        resetDefaults: '鍒濇湡鍖�',
-        required: '蹇呴爤闋呯洰',
-        addField: '銉曘偅銉笺儷銉夈倰杩藉姞',
-        addChildField: '銈点儢銉曘偅銉笺儷銉夈倰杩藉姞',
-        showAdvancedOptions: '瑭崇窗瑷畾',
-        stringValidations: '鏂囧瓧鍒楁瑷�',
-        fieldNamePlaceholder: '銉曘偅銉笺儷銉夊悕',
-        descriptionPlaceholder: '瑾槑銈掑叆鍔�',
-        warningTips: {
-          saveSchema: '绶ㄩ泦涓伄銉曘偅銉笺儷銉夈倰纰哄畾銇椼仸銇嬨倝淇濆瓨銇椼仸銇忋仩銇曘亜銆�',
-        },
-      },
+      sysQueryInUser: '銉︺兗銈躲兗銉°儍銈汇兗銈搞伀sys.query銇屽繀瑕併仹銇�',
     },
     knowledgeRetrieval: {
-      queryVariable: '妞滅储澶夋暟',
-      knowledge: '銉娿儸銉冦偢銉欍兗銈�',
+      queryVariable: '銈偍銉鏁�',
+      knowledge: '銉娿儸銉冦偢',
       outputVars: {
-        output: '妞滅储绲愭灉銈汇偘銉°兂銉�',
-        content: '銈汇偘銉°兂銉堝唴瀹�',
-        title: '銈汇偘銉°兂銉堛偪銈ゃ儓銉�',
-        icon: '銈汇偘銉°兂銉堛偄銈ゃ偝銉�',
-        url: '銈汇偘銉°兂銉圲RL',
-        metadata: '銉°偪銉囥兗銈�',
-      },
-      metadata: {
-        title: '銉°偪銉囥兗銈裤儠銈c儷銈�',
-        tip: '銈裤偘/銈儐銈淬儶绛夈伄灞炴�с仹妞滅储銈掔禐銈婅炯銇�',
-        options: {
-          disabled: {
-            title: '鐒″姽',
-            subTitle: '銉曘偅銉偪銉兂銈颁笉浣跨敤',
-          },
-          automatic: {
-            title: '鑷嫊鐢熸垚',
-            subTitle: '妞滅储灞ユ銇嬨倝銉曘偅銉偪鏉′欢銈掕嚜鍕曠敓鎴�',
-            desc: 'Query Variable锛堟绱㈠鏁帮級銇熀銇ャ亶銉曘偅銉偪鏉′欢銈掕嚜鍕曠敓鎴�',
-          },
-          manual: {
-            title: '鎵嬪嫊瑷畾',
-            subTitle: '銉°偪銉囥兗銈裤伄鏉′欢銈掓墜鍕曘仹杩藉姞',
-          },
-        },
-        panel: {
-          title: '銉°偪銉囥兗銈裤伄銉曘偅銉偪鏉′欢',
-          conditions: '鏉′欢涓�瑕�',
-          add: '鏉′欢杩藉姞',
-          search: '銉°偪銉囥兗銈挎绱�',
-          placeholder: '鍊ゃ倰鍏ュ姏',
-          datePlaceholder: '鏃ヤ粯閬告姙...',
-          select: '澶夋暟閬告姙...',
-        },
+        output: '妞滅储銇曘倢銇熴偦銈般儭銉炽儓鍖栥仌銈屻仧銉囥兗銈�',
+        content: '銈汇偘銉°兂銉堝寲銇曘倢銇熴偝銉炽儐銉炽儎',
+        title: '銈汇偘銉°兂銉堝寲銇曘倢銇熴偪銈ゃ儓銉�',
+        icon: '銈汇偘銉°兂銉堝寲銇曘倢銇熴偄銈ゃ偝銉�',
+        url: '銈汇偘銉°兂銉堝寲銇曘倢銇烾RL',
+        metadata: '銇濄伄浠栥伄銉°偪銉囥兗銈�',
       },
     },
     http: {
       inputVars: '鍏ュ姏澶夋暟',
       api: 'API',
-      apiPlaceholder: 'URL銈掑叆鍔涳紙澶夋暟浣跨敤鏅傘伅"/"銈掑叆鍔涳級',
-      extractListPlaceholder: '銉偣銉堢暘鍙枫倰鍏ュ姏锛堝鏁颁娇鐢ㄦ檪銇�"/"銈掑叆鍔涳級',
-      notStartWithHttp: 'API銇� http:// 銇俱仧銇� https:// 銇у銇俱仯銇︺亸銇犮仌銇�',
+      apiPlaceholder: 'URL銈掑叆鍔涖�併��/銆嶃倰鍏ュ姏銇椼仸澶夋暟銈掓尶鍏�',
+      notStartWithHttp: 'API銇痟ttp://銇俱仧銇痟ttps://銇у銇俱倠蹇呰銇屻亗銈娿伨銇�',
       key: '銈兗',
-      type: '銈裤偆銉�',
       value: '鍊�',
       bulkEdit: '涓�鎷法闆�',
-      keyValueEdit: '銈兗銉愩儶銉ャ兗绶ㄩ泦',
+      keyValueEdit: '銈兗-鍊ゃ伄绶ㄩ泦',
       headers: '銉樸儍銉�銉�',
       params: '銉戙儵銉°兗銈�',
       body: '銉溿儑銈�',
-      binaryFileVariable: '銉愩偆銉娿儶銉曘偂銈ゃ儷澶夋暟',
       outputVars: {
         body: '銉偣銉濄兂銈广偝銉炽儐銉炽儎',
         statusCode: '銉偣銉濄兂銈广偣銉嗐兗銈裤偣銈炽兗銉�',
-        headers: '銉偣銉濄兂銈广儤銉冦儉锛圝SON锛�',
-        files: '銉曘偂銈ゃ儷涓�瑕�',
+        headers: '銉偣銉濄兂銈广儤銉冦儉銉笺儶銈广儓JSON',
+        files: '銉曘偂銈ゃ儷銉偣銉�',
       },
       authorization: {
         'authorization': '瑾嶈',
         'authorizationType': '瑾嶈銈裤偆銉�',
         'no-auth': '銇仐',
         'api-key': 'API銈兗',
-        'auth-type': 'API瑾嶈銈裤偆銉�',
-        'basic': '銉欍兗銈枫儍銈�',
+        'auth-type': '瑾嶈銈裤偆銉�',
+        'basic': '鍩烘湰',
         'bearer': 'Bearer',
         'custom': '銈偣銈裤儬',
         'api-key-title': 'API銈兗',
@@ -528,16 +443,19 @@
       },
       insertVarPlaceholder: '澶夋暟銈掓尶鍏ャ仚銈嬨伀銇痋'/\'銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
       timeout: {
-        title: '銈裤偆銉犮偄銈︺儓瑷畾',
+        title: '銈裤偆銉犮偄銈︺儓',
         connectLabel: '鎺ョ稓銈裤偆銉犮偄銈︺儓',
-        connectPlaceholder: '鎺ョ稓銈裤偆銉犮偄銈︺儓锛堢锛�',
+        connectPlaceholder: '鎺ョ稓銈裤偆銉犮偄銈︺儓銈掔銇у叆鍔�',
         readLabel: '瑾伩鍙栥倞銈裤偆銉犮偄銈︺儓',
-        readPlaceholder: '瑾伩鍙栥倞銈裤偆銉犮偄銈︺儓锛堢锛�',
+        readPlaceholder: '瑾伩鍙栥倞銈裤偆銉犮偄銈︺儓銈掔銇у叆鍔�',
         writeLabel: '鏇搞亶杈笺伩銈裤偆銉犮偄銈︺儓',
-        writePlaceholder: '鏇搞亶杈笺伩銈裤偆銉犮偄銈︺儓锛堢锛�',
+        writePlaceholder: '鏇搞亶杈笺伩銈裤偆銉犮偄銈︺儓銈掔銇у叆鍔�',
       },
+      type: '銈裤偆銉�',
+      binaryFileVariable: '銉愩偆銉娿儶銉曘偂銈ゃ儷澶夋暟',
+      extractListPlaceholder: '銉偣銉堥爡鐩伄銈ゃ兂銉囥儍銈偣銈掑叆鍔涖仐銆佸鏁般倰鎸垮叆 \'/\' 銇ㄥ叆鍔涖仐銇俱仚',
       curl: {
-        title: 'cURL銇嬨倝銈ゃ兂銉濄兗銉�',
+        title: 'cURL銇嬨倝銇偆銉炽儩銉笺儓',
         placeholder: '銇撱亾銇玞URL鏂囧瓧鍒椼倰璨笺倞浠樸亼銇俱仚',
       },
     },
@@ -581,8 +499,6 @@
         'all of': '銇欍伖銇︺伄',
         'exists': '瀛樺湪銇椼伨銇�',
         'not exists': '瀛樺湪銇椼伨銇涖倱',
-        'before': '鍓嶃伀',
-        'after': '寰�',
       },
       enterValue: '鍊ゃ倰鍏ュ姏',
       addCondition: '鏉′欢銈掕拷鍔�',
@@ -641,8 +557,6 @@
         'over-write': '涓婃浉銇�',
         'extend': '寤躲伆銇�',
         '*=': '*=',
-        'remove-last': '鏈�寰屻倰鍓婇櫎銇欍倠',
-        'remove-first': '鏈�鍒濄倰鍓婇櫎銇欍倠',
       },
       'setParameter': '銉戙儵銉°兗銈裤倰瑷畾...',
       'selectAssignedVariable': '浠e叆澶夋暟銈掗伕鎶�...',
@@ -733,38 +647,6 @@
       MaxParallelismDesc: '鏈�澶т甫鍒楀嚘鐞嗐伅銆�1 鍥炪伄鍙嶅京銇у悓鏅傘伀瀹熻銇曘倢銈嬨偪銈广偗銇暟銈掑埗寰°仚銈嬨仧銈併伀浣跨敤銇曘倢銇俱仚銆�',
       answerNodeWarningDesc: '涓﹀垪銉€兗銉夈伄璀﹀憡: 蹇滅瓟銉庛兗銉夈�佷細瑭卞鏁般伄鍓层倞褰撱仸銆併亰銈堛伋銈ゃ儐銉兗銈枫儳銉冲唴銇案缍氱殑銇銇垮彇銈�/鏇搞亶杈笺伩鎿嶄綔銇倛銈娿�佷緥澶栥亴鐧虹敓銇欍倠鍙兘鎬с亴銇傘倞銇俱仚銆�',
     },
-    loop: {
-      deleteTitle: '銉兗銉椼儙銉笺儔銈掑墛闄ゃ仐銇俱仚銇嬶紵',
-      deleteDesc: '銉兗銉椼儙銉笺儔銈掑墛闄ゃ仚銈嬨仺銆佸叏銇︺伄瀛愩儙銉笺儔銇屽墛闄ゃ仌銈屻伨銇欍��',
-      input: '鍏ュ姏',
-      output: '鍑哄姏澶夋暟',
-      loop_one: '{{count}}鍥�',
-      loop_other: '{{count}}鍥�',
-      currentLoop: '鐝惧湪銇儷銉笺儣',
-      breakCondition: '銉兗銉楃祩浜嗘潯浠�',
-      breakConditionTip: '銉兗銉楀唴銇鏁般倓銈汇儍銈枫儳銉冲鏁般倰鍙傜収銇椼�佺祩浜嗘潯浠躲倰瑷畾銇с亶銇俱仚銆�',
-      loopMaxCount: '鏈�澶с儷銉笺儣鍥炴暟',
-      loopMaxCountError: '鏈�澶с儷銉笺儣鍥炴暟銇�1銇嬨倝{{maxCount}}銇瘎鍥层仹姝c仐銇忓叆鍔涖仐銇︺亸銇犮仌銇勩��',
-      errorResponseMethod: '銈ㄣ儵銉煎蹇滄柟娉�',
-      ErrorMethod: {
-        operationTerminated: '銈ㄣ儵銉兼檪銇嚘鐞嗐倰绲備簡',
-        continueOnError: '銈ㄣ儵銉笺倰鐒¤銇椼仸缍欑稓',
-        removeAbnormalOutput: '鐣板父鍑哄姏銈掗櫎澶�',
-      },
-      loopVariables: '銉兗銉楀鏁�',
-      initialLoopVariables: '鍒濇湡銉兗銉楀鏁�',
-      finalLoopVariables: '鏈�绲傘儷銉笺儣澶夋暟',
-      setLoopVariables: '銉兗銉椼偣銈炽兗銉楀唴銇у鏁般倰瑷畾',
-      variableName: '澶夋暟鍚�',
-      inputMode: '鍏ュ姏銉€兗銉�',
-      exitConditionTip: '銉兗銉椼儙銉笺儔銇伅灏戙仾銇忋仺銈�1銇ゃ伄绲備簡鏉′欢銇屽繀瑕併仹銇�',
-      loopNode: '銉兗銉椼儙銉笺儔',
-      currentLoopCount: '鐝惧湪銇儷銉笺儣鍥炴暟: {{count}}',
-      totalLoopCount: '绶忋儷銉笺儣鍥炴暟: {{count}}',
-      error_other: '{{count}} 銈ㄣ儵銉�',
-      error_one: '{{count}} 銈ㄣ儵銉�',
-      comma: ',',
-    },
     note: {
       addNote: '銈炽儭銉炽儓銈掕拷鍔�',
       editor: {
@@ -810,110 +692,16 @@
       desc: 'DESC',
       extractsCondition: 'N鍊嬨伄銈€偆銉嗐儬銈掓娊鍑恒仐銇俱仚',
     },
-    agent: {
-      strategy: {
-        label: '銈ㄣ兗銈搞偋銉炽儐銈c儍銈垿鐣�',
-        configureTipDesc: '銈ㄣ兗銈搞偋銉炽儓鎴︾暐銈掕ō瀹氥仐銇熷緦銆併亾銇儙銉笺儔銇畫銈娿伄瑷畾銈掕嚜鍕曠殑銇銇胯炯銇裤伨銇欍�傘亾銇垿鐣ャ伅銆併優銉儊銈广儐銉冦儣銉勩兗銉帹璜栥伄銉°偒銉嬨偤銉犮伀褰遍熆銈掍笌銇堛伨銇欍��',
-        searchPlaceholder: '銈ㄣ兗銈搞偋銉炽儐銈c儍銈垿鐣ャ倰妞滅储銇欍倠',
-        configureTip: '銈ㄣ兗銈搞偋銉炽儐銈c儍銈垿鐣ャ倰瑷畾銇椼仸銇忋仩銇曘亜銆�',
-        shortLabel: '鎴︾暐',
-        tooltip: '鐣般仾銈嬨偍銉笺偢銈с兂銉嗐偅銉冦偗鎴︾暐銇屻�併偡銈广儐銉犮亴銉炪儷銉併偣銉嗐儍銉椼伄銉勩兗銉懠銇冲嚭銇椼倰瑷堢敾銇楀疅琛屻仚銈嬫柟娉曘倰姹哄畾銇椼伨銇欍��',
-        selectTip: '銈ㄣ兗銈搞偋銉炽偡銉兼垿鐣ャ倰閬告姙銇欍倠',
-      },
-      pluginInstaller: {
-        install: '銈ゃ兂銈广儓銉笺儷',
-        installing: '銈ゃ兂銈广儓銉笺儷涓�',
-      },
-      modelNotInMarketplace: {
-        manageInPlugins: '銉椼儵銈般偆銉炽倰绠$悊銇欍倠',
-        title: '銉€儑銉亴銈ゃ兂銈广儓銉笺儷銇曘倢銇︺亜銇俱仜銈�',
-        desc: '銇撱伄銉€儑銉伅銉兗銈儷銇俱仧銇疓itHub銉儩銈搞儓銉亱銈夈偆銉炽偣銉堛兗銉仌銈屻伨銇欍�傘偆銉炽偣銉堛兗銉緦銇仈鍒╃敤銇忋仩銇曘亜銆�',
-      },
-      modelNotSupport: {
-        title: '銈点儩銉笺儓銇曘倢銇︺亜銇亜銉€儑銉�',
-        descForVersionSwitch: '銈ゃ兂銈广儓銉笺儷銇曘倢銇熴儣銉┿偘銈ゃ兂銇儛銉笺偢銉с兂銇亾銇儮銉囥儷銈掓彁渚涖仐銇︺亜銇俱仜銈撱�傘儛銉笺偢銉с兂銈掑垏銈婃浛銇堛倠銇伅銈儶銉冦偗銇椼仸銇忋仩銇曘亜銆�',
-        desc: '銈ゃ兂銈广儓銉笺儷銇曘倢銇熴儣銉┿偘銈ゃ兂銇儛銉笺偢銉с兂銇�併亾銇儮銉囥儷銈掓彁渚涖仐銇︺亜銇俱仜銈撱��',
-      },
-      modelSelectorTooltips: {
-        deprecated: '銇撱伄銉€儑銉伅寤冩銇曘倢銇俱仐銇�',
-      },
-      outputVars: {
-        files: {
-          url: '鐢诲儚銇甎RL',
-          type: '銈点儩銉笺儓銈裤偆銉椼�傜従鍦ㄣ伅銈点儩銉笺儓鐢诲儚銇伩',
-          upload_file_id: '銉曘偂銈ゃ儷ID銈掋偄銉冦儣銉兗銉�',
-          transfer_method: '杌㈤�佹柟娉曘�傚�ゃ伅remote_url銇俱仧銇痩ocal_file銇с仚銆�',
-          title: '銈ㄣ兗銈搞偋銉炽儓鐢熸垚銉曘偂銈ゃ儷',
-        },
-        text: '銈ㄣ兗銈搞偋銉炽儓鐢熸垚銈炽兂銉嗐兂銉�',
-        json: '銈ㄣ兗銈搞偋銉炽儓鐢熸垚銇甁SON',
-      },
-      checkList: {
-        strategyNotSelected: '鎴︾暐銇岄伕鎶炪仌銈屻仸銇勩伨銇涖倱',
-      },
-      installPlugin: {
-        install: '銈ゃ兂銈广儓銉笺儷',
-        changelog: '澶夋洿銉偘',
-        cancel: '銈儯銉炽偦銉�',
-        desc: '娆°伄銉椼儵銈般偆銉炽倰銈ゃ兂銈广儓銉笺儷銇椼倛銇嗐仺銇椼仸銇勩伨銇�',
-        title: '銉椼儵銈般偆銉炽倰銈ゃ兂銈广儓銉笺儷銇欍倠',
-      },
-      strategyNotSet: '銈ㄣ兗銈搞偋銉炽儐銈c儍銈垿鐣ャ伅瑷畾銇曘倢銇︺亜銇俱仜銈�',
-      strategyNotInstallTooltip: '{{strategy}}銇偆銉炽偣銉堛兗銉仌銈屻仸銇勩伨銇涖倱',
-      modelNotSelected: '銉€儑銉亴閬告姙銇曘倢銇︺亜銇俱仜銈�',
-      toolNotAuthorizedTooltip: '{{tool}} 瑾嶅彲銇曘倢銇︺亜銇俱仜銈�',
-      toolNotInstallTooltip: '{{tool}}銇偆銉炽偣銉堛兗銉仌銈屻仸銇勩伨銇涖倱',
-      tools: '閬撳叿',
-      learnMore: '銈傘仯銇ㄥ銇�',
-      configureModel: '銉€儑銉倰瑷畾銇欍倠',
-      model: '銉€儑銉�',
-      linkToPlugin: '銉椼儵銈般偆銉炽伕銇儶銉炽偗',
-      notAuthorized: '妯╅檺銇屻亗銈娿伨銇涖倱',
-      modelNotInstallTooltip: '銇撱伄銉€儑銉伅銈ゃ兂銈广儓銉笺儷銇曘倢銇︺亜銇俱仜銈�',
-      maxIterations: '鏈�澶у弽寰╁洖鏁�',
-      toolbox: '銉勩兗銉儨銉冦偗銈�',
-      pluginNotInstalled: '銇撱伄銉椼儵銈般偆銉炽伅銈ゃ兂銈广儓銉笺儷銇曘倢銇︺亜銇俱仜銈�',
-      strategyNotFoundDescAndSwitchVersion: '銈ゃ兂銈广儓銉笺儷銇曘倢銇熴儣銉┿偘銈ゃ兂銇儛銉笺偢銉с兂銇亾銇垿鐣ャ倰鎻愪緵銇椼仸銇勩伨銇涖倱銆傘儛銉笺偢銉с兂銈掑垏銈婃浛銇堛倠銇伅銈儶銉冦偗銇椼仸銇忋仩銇曘亜銆�',
-      pluginNotInstalledDesc: '銇撱伄銉椼儵銈般偆銉炽伅GitHub銇嬨倝銈ゃ兂銈广儓銉笺儷銇曘倢銇︺亜銇俱仚銆傚啀銈ゃ兂銈广儓銉笺儷銇欍倠銇伅銉椼儵銈般偆銉炽伀绉诲嫊銇椼仸銇忋仩銇曘亜銆�',
-      unsupportedStrategy: '銈点儩銉笺儓銇曘倢銇︺亜銇亜鎴︾暐',
-      pluginNotFoundDesc: '銇撱伄銉椼儵銈般偆銉炽伅GitHub銇嬨倝銈ゃ兂銈广儓銉笺儷銇曘倢銇︺亜銇俱仚銆傚啀銈ゃ兂銈广儓銉笺儷銇欍倠銇伅銉椼儵銈般偆銉炽伀绉诲嫊銇椼仸銇忋仩銇曘亜銆�',
-      strategyNotFoundDesc: '銈ゃ兂銈广儓銉笺儷銇曘倢銇熴儣銉┿偘銈ゃ兂銇儛銉笺偢銉с兂銇�併亾銇垿鐣ャ倰鎻愪緵銇椼仸銇勩伨銇涖倱銆�',
-    },
   },
   tracing: {
     stopBy: '{{user}}銇倛銇c仸鍋滄',
   },
-  versionHistory: {
-    title: '銉愩兗銈搞儳銉�',
-    currentDraft: '鐝惧湪銇笅鏇搞亶',
-    latest: '鏈�鏂扮増',
-    filter: {
-      all: '銇欍伖銇�',
-      onlyYours: '鑷垎銇伩',
-      onlyShowNamedVersions: '鍚嶅墠浠樸亶銉愩兗銈搞儳銉炽伄銇�',
-      reset: '銉偦銉冦儓',
-      empty: '瑭插綋銇欍倠銉愩兗銈搞儳銉炽亴銇傘倞銇俱仜銈�',
-    },
-    defaultName: '鍚嶇О鏈ō瀹�',
-    nameThisVersion: '銉愩兗銈搞儳銉冲悕銈掍粯銇戙倠',
-    editVersionInfo: '銉愩兗銈搞儳銉虫儏鍫便倰绶ㄩ泦',
-    editField: {
-      title: '銈裤偆銉堛儷',
-      releaseNotes: '銉儶銉笺偣銉庛兗銉�',
-      titleLengthLimit: '銈裤偆銉堛儷銇瘂{limit}}鏂囧瓧浠ュ唴銇у叆鍔涖仐銇︺亸銇犮仌銇�',
-      releaseNotesLengthLimit: '銉儶銉笺偣銉庛兗銉堛伅{{limit}}鏂囧瓧浠ュ唴銇у叆鍔涖仐銇︺亸銇犮仌銇�',
-    },
-    releaseNotesPlaceholder: '澶夋洿鍐呭銈掑叆鍔涖仐銇︺亸銇犮仌銇�',
-    restorationTip: '銉愩兗銈搞儳銉炽倰寰╁厓銇欍倠銇ㄣ�佺従鍦ㄣ伄涓嬫浉銇嶃亴涓婃浉銇嶃仌銈屻伨銇�',
-    deletionTip: '鍓婇櫎銇椼仧銉囥兗銈裤伅寰╁厓銇с亶銇俱仜銈撱�傘倛銈嶃仐銇勩仹銇欍亱锛�',
-    action: {
-      restoreSuccess: '寰╁厓銇屽畬浜嗐仐銇俱仐銇�',
-      restoreFailure: '寰╁厓銇け鏁椼仐銇俱仐銇�',
-      deleteSuccess: '鍓婇櫎銇屽畬浜嗐仐銇俱仐銇�',
-      deleteFailure: '鍓婇櫎銇け鏁椼仐銇俱仐銇�',
-      updateSuccess: '鏇存柊銇屽畬浜嗐仐銇俱仐銇�',
-      updateFailure: '鏇存柊銇け鏁椼仐銇俱仐銇�',
-    },
+  variableReference: {
+    noVarsForOperation: '閬告姙銇椼仧鎿嶄綔銇т唬鍏ャ仹銇嶃倠澶夋暟銇亗銈娿伨銇涖倱銆�',
+    noAvailableVars: '浣跨敤鍙兘銇鏁般亴銇傘倞銇俱仜銈�',
+    noAssignedVars: '浣跨敤鍙兘銇唬鍏ュ鏁般亴銇傘倞銇俱仜銈�',
+    assignedVarsDescription: '浠e叆澶夋暟銇�佹銇倛銇嗐仾鏇搞亶杈笺伩鍙兘銇鏁般仹銇傘倠蹇呰銇屻亗銈娿伨銇欍��',
+    conversationVars: '浼氳┍澶夋暟',
   },
 }
 
diff --git a/i18n/ko-KR/app-overview.ts b/i18n/ko-KR/app-overview.ts
index be6e511..0acec73 100644
--- a/i18n/ko-KR/app-overview.ts
+++ b/i18n/ko-KR/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '毂楇磭鞚� 靸夓儊 韰岆毳� 靹れ爼頃橃劯鞖�',
         chatColorThemeInverted: '氚橃爠',
         invalidHexMessage: '鞛橂霅� 16歆勳垬 臧�',
-        invalidPrivacyPolicy: '鞙犿毃頃橃 鞎婌潃 臧滌澑鞝曤炒觳橂Μ氚╈龚 毵來伂鞛呺媹雼�. http 霕愲姅 https搿� 鞁滌瀾頃橂姅 鞙犿毃頃� 毵來伂毳� 靷毄頃� 欤检劯鞖�',
         more: {
           entry: '於旉皜 靹れ爼 氤搓赴',
           copyright: '鞝�鞛戧秾',
@@ -113,7 +112,6 @@
           operation: '氍胳劀',
         },
       },
-      launch: '氚滌偓',
     },
     apiInfo: {
       title: '氚膘棓霌� 靹滊箘鞀� API',
diff --git a/i18n/ko-KR/app.ts b/i18n/ko-KR/app.ts
index aac1cb2..6e6f762 100644
--- a/i18n/ko-KR/app.ts
+++ b/i18n/ko-KR/app.ts
@@ -155,10 +155,6 @@
       title: '鞓ろ斀',
       description: 'Opik鞚� LLM 鞎犿攲毽紑鞚挫厴鞚� 韽夑皜, 韰岇姢韸� 氚� 氇媹韯半頃橁赴 鞙勴暅 鞓ろ攬 靻岇姢 頂岆灚韽检瀰雼堧嫟.',
     },
-    weave: {
-      title: '歆侅“頃橂嫟',
-      description: 'Weave電� LLM 鞎犿攲毽紑鞚挫厴鞚� 韽夑皜頃橁碃 韰岇姢韸疙晿氅� 氇媹韯半頃橁赴 鞙勴暅 鞓ろ攬 靻岇姢 頂岆灚韽检瀰雼堧嫟.',
-    },
   },
   answerIcon: {
     description: 'WebApp 鞎勳澊旖橃潉 靷毄頃橃棳 瓿奠湢 鞚戩毄 頂勲攴鸽灗鞐愳劀 氚旉縺馃歆� 鞐秬',
@@ -188,23 +184,6 @@
     searchAllTemplate: '氇摖 韰滍攲毽� 瓴�靸�...',
   },
   showMyCreatedAppsOnly: '雮搓皜 毵岆摖 鞎彪 氤搓赴',
-  appSelector: {
-    params: '鞎� 毵り皽 氤�靾�',
-    noParams: '毵り皽 氤�靾橁皜 頃勳殧頃橃 鞎婌姷雼堧嫟.',
-    label: '鞎�',
-    placeholder: '鞎� 靹犿儩...',
-  },
-  structOutput: {
-    required: '頃勳垬',
-    LLMResponse: 'LLM 鞚戨嫷',
-    modelNotSupported: '氇嵏鞚� 歆�鞗愲悩歆� 鞎婌姷雼堧嫟.',
-    notConfiguredTip: '甑劚鞚� 鞎勳 靹れ爼霅橃 鞎婌晿鞀惦媹雼�.',
-    structured: '甑“頇旊悳',
-    configure: '靹れ爼頃橂嫟',
-    moreFillTip: '斓滊寑 10雼硠 欷戩博鞚� 響滌嫓頃╇媹雼�.',
-    modelNotSupportedTip: '順勳灛 氇嵏鞚� 鞚� 旮半姤鞚� 歆�鞗愴晿歆� 鞎婌溂氅� 鞛愲彊鞙茧 頂勲‖頂勴姼 欤检瀰鞙茧 雼れ毚攴鸽爤鞚措摐霅╇媹雼�.',
-    structuredTip: '甑“頇旊悳 於滊牓鞚� 氇嵏鞚� 鞝滉车頃� JSON 鞀ろ偆毵堧ゼ 頃儊 欷�靾橅晿電� 鞚戨嫷鞚� 靸濎劚頃橂弰搿� 氤挫灔頃橂姅 旮半姤鞛呺媹雼�.',
-  },
 }
 
 export default translation
diff --git a/i18n/ko-KR/billing.ts b/i18n/ko-KR/billing.ts
index dfb9f6a..94d557f 100644
--- a/i18n/ko-KR/billing.ts
+++ b/i18n/ko-KR/billing.ts
@@ -68,7 +68,6 @@
     messageRequest: {
       title: '氅旍嫓歆� 韥爤霐�',
       tooltip: 'GPT 鞝滌櫢 雼れ枒頃� 鞖旉笀鞝滌棎靹滌潣 氅旍嫓歆� 順胳稖 炜柬劙 (gpt4 鞝滌櫢). 鞝滍暅鞚� 齑堦臣頃橂姅 氅旍嫓歆�電� OpenAI API 韨るゼ 靷毄頃╇媹雼�.',
-      titlePerMonth: '{{count,number}} 氅旍嫓歆�/鞗�',
     },
     annotatedResponse: {
       title: '欤检劃 鞚戨嫷 炜柬劙',
@@ -78,94 +77,27 @@
     receiptInfo: '韺� 靻岇湢鞛� 氚� 韺� 甏�毽瀽毵� 甑弲 氚� 觳惮 鞝曤炒毳� 氤� 靾� 鞛堨姷雼堧嫟',
     annotationQuota: 'Annotation Quota(欤检劃 頃犽嫻霟�)',
     documentsUploadQuota: '氍胳劀 鞐呺霌� 頃犽嫻霟�',
-    freeTrialTipPrefix: '臧�鞛呿晿瓿� 氚涭溂靹胳殧',
-    comparePlanAndFeatures: '瓿勴殟 氚� 旮半姤 牍勱祼',
-    documents: '{{count,number}} 歆�鞁� 氍胳劀',
-    apiRateLimit: 'API 鞖旉笀 頃滊弰',
-    cloud: '韥措澕鞖半摐 靹滊箘鞀�',
-    unlimitedApiRate: 'API 順胳稖 靻嶋弰 鞝滍暅 鞐嗢潓',
-    freeTrialTip: '200須岇潣 OpenAI 順胳稖鞐� 雽�頃� 氍措 觳错棙.',
-    annualBilling: '鞐瓣皠 觳惮',
-    getStarted: '鞁滌瀾頃橁赴',
-    apiRateLimitUnit: '{{count,number}}/鞚�',
-    freeTrialTipSuffix: '鞁犾毄旃措摐 鞐嗢潓',
-    teamWorkspace: '{{count,number}} 韺� 鞛戩梾 瓿店皠',
-    self: '鞛愳泊 順胳姢韺�',
-    teamMember_other: '{{count,number}} 韺�鞗�',
-    teamMember_one: '{{count,number}} 韺�鞗�',
-    priceTip: '鞛戩梾 瓿店皠雼�/',
-    apiRateLimitTooltip: 'Dify API毳� 韱淀暅 氇摖 鞖旍箔鞐愲姅 API 鞖旉笀 頃滊弰臧� 鞝侅毄霅橂┌, 鞐赴鞐愲姅 韰嶌姢韸� 靸濎劚, 毂勴寘 雽�頇�, 鞗岉伂頂岆 鞁ろ枆 氚� 氍胳劀 觳橂Μ臧� 韽暔霅╇媹雼�.',
-    documentsRequestQuota: '{{count,number}}/攵� 歆�鞁� 鞖旍箔 牍勳湪 鞝滍暅',
-    documentsTooltip: '歆�鞁� 雿办澊韯� 靻岇姢鞐愳劀 臧�鞝胳槵 靾� 鞛堧姅 氍胳劀 靾橃棎 雽�頃� 炜柬劙.',
-    documentsRequestQuotaTooltip: '歆�鞁� 旮半皹 雮挫棎靹� 鞛戩梾 瓿店皠鞚� 攵勲嫻 靾橅枆頃� 靾� 鞛堧姅 齑� 鞛戩梾 靾橂ゼ 歆�鞝曧暕雼堧嫟. 鞐赴鞐愲姅 雿办澊韯� 靹疙姼 靸濎劚, 靷牅, 鞐呺嵃鞚错姼, 氍胳劀 鞐呺霌�, 靾橃爼, 氤搓磤 氚� 歆�鞁� 旮半皹 炜茧Μ臧� 韽暔霅╇媹雼�. 鞚� 歆�響滊姅 歆�鞁� 旮半皹 鞖旍箔鞚� 靹彪姤鞚� 韽夑皜頃橂姅 雿� 靷毄霅╇媹雼�. 鞓堧ゼ 霌れ柎, 靸岆摐氚曥姢 靷毄鞛愱皜 1攵� 鞚措偞鞐� 10須岇潣 鞐办啀 頌堩姼 韰岇姢韸鸽ゼ 靾橅枆頃橂┐, 頃措嫻 鞛戩梾 瓿店皠鞚� 雼れ潓 1攵� 霃欖晥 雿办澊韯� 靹疙姼 靸濎劚, 靷牅, 鞐呺嵃鞚错姼 氚� 氍胳劀 鞐呺霌� 霕愲姅 靾橃爼瓿� 臧欖潃 鞛戩梾鞚� 靾橅枆頃橂姅 瓴冹澊 鞚检嫓鞝侅溂搿� 鞝滍暅霅╇媹雼�.',
   },
   plans: {
     sandbox: {
       name: '靸岆摐氚曥姢',
       description: 'GPT 氍措 觳错棙 200須�',
       includesTitle: '韽暔霅� 頃:',
-      for: '頃奠嫭 旮半姤 氍措 觳错棙',
     },
     professional: {
       name: '頂勲韼橃厰雱�',
       description: '臧滌澑 氚� 靻岅窚氇� 韺�鞚� 鞙勴暣 雿� 毵庫潃 韺岇泴毳� 鞝�霠错暅 臧�瓴╈棎 鞝滉车頃╇媹雼�.',
       includesTitle: '氍措 頂岆灉鞐� 於旉皜搿� 韽暔霅� 頃:',
-      for: '霃呺 臧滊皽鞛�/靻岅窚氇� 韺�鞚� 鞙勴暅',
     },
     team: {
       name: '韺�',
       description: '鞝滍暅 鞐嗢澊 順戩梾頃橁碃 斓滉碃鞚� 靹彪姤鞚� 雸勲Μ靹胳殧.',
       includesTitle: '頂勲韼橃厰雱� 頂岆灉鞐� 於旉皜搿� 韽暔霅� 頃:',
-      for: '欷戧皠 攴滊 韺�鞚� 鞙勴暅',
     },
     enterprise: {
       name: '鞐旐劙頂勲澕鞚挫',
       description: '雽�攴滊 氙胳厴 韥Μ韹办滑 鞁滌姢韰滌潉 鞙勴暅 鞕勳爠頃� 旮半姤瓿� 歆�鞗愳潉 鞝滉车頃╇媹雼�.',
       includesTitle: '韺� 頂岆灉鞐� 於旉皜搿� 韽暔霅� 頃:',
-      features: {
-        2: '霃呾爯 旮办梾 旮半姤',
-        1: '靸侅梾鞝� 霛检澊靹犾姢 鞀轨澑',
-        3: '雼れ 鞛戩梾 瓿店皠 氚� 旮办梾 甏�毽�',
-        4: 'SSO',
-        5: 'Dify 韺岉姼雱堨棎 鞚橅暣 順戩儊霅� SLA',
-        6: '瓿犼笁 氤挫晥 氚� 鞝滌柎',
-        0: '旮办梾旮� 頇曥灔 臧�電ロ暅 氚绊彫 靻旊(靺�',
-        7: '霐旐敿 瓿奠嫕 鞐呺嵃鞚错姼 氚� 鞙犾 甏�毽�',
-        8: '鞝勲 旮办垹 歆�鞗�',
-      },
-      price: '毵烄钉順�',
-      btnText: '韺愲Г 氍胳潣頃橁赴',
-      for: '雽�攴滊 韺�鞚� 鞙勴暣',
-      priceTip: '鞐瓣皠 觳惮 鞝勳毄',
-    },
-    community: {
-      features: {
-        0: '氇摖 頃奠嫭 旮半姤鞚� 瓿店皽 鞝�鞛レ唽鞐� 毽措Μ鞀る惃',
-        2: 'Dify 鞓ろ攬 靻岇姢 霛检澊靹犾姢毳� 欷�靾橅暕雼堧嫟.',
-        1: '雼澕 鞛戩梾 瓿店皠',
-      },
-      btnText: '旎る雼堩嫲 鞁滌瀾頃橁赴',
-      description: '臧滌澑 靷毄鞛�, 靻岅窚氇� 韺� 霕愲姅 牍勳儊鞐呾爜 頂勲鞝濏姼毳� 鞙勴暅',
-      name: '旎る雼堩嫲',
-      price: '氍措',
-      includesTitle: '氍措 旮半姤:',
-      for: '臧滌澑 靷毄鞛�, 靻岅窚氇� 韺� 霕愲姅 牍勳儊鞐呾爜 頂勲鞝濏姼毳� 鞙勴暅',
-    },
-    premium: {
-      features: {
-        1: '雼澕 鞛戩梾 瓿店皠',
-        2: '鞗轨暠 搿滉碃 氚� 敫岆灉霐� 毵烄钉頇�',
-        3: '鞖办劆 鞚措鞚� 氚� 毂勴寘 歆�鞗�',
-        0: '雼れ枒頃� 韥措澕鞖半摐 鞝滉车鞐呾泊鞐� 鞚橅暅 鞛愳湪 甏�毽� 鞁犽靹�',
-      },
-      btnText: '頂勲Μ氙胳梽 氚涥赴',
-      priceTip: '韥措澕鞖半摐 毵堨紦頂岆爤鞚挫姢毳� 旮半皹鞙茧',
-      name: '頂勲Μ氙胳梽',
-      description: '欷戧窚氇� 臁办 氚� 韺�鞚� 鞙勴暅',
-      comingSoon: '毵堨澊韥靻岉攧韸� 鞎犾爛 氚� 甑竴 韥措澕鞖半摐 歆�鞗� 瓿� 鞝滉车霅╇媹雼�.',
-      price: '頇曥灔 臧�電�',
-      for: '欷戧窚氇� 臁办 氚� 韺�鞚� 鞙勴暅',
-      includesTitle: '旎る雼堩嫲鞚� 氇摖 瓴�, 鞐赴鞐� 於旉皜搿�:',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: '雿� 毵庫潃 鞎膘潉 靸濎劚頃橂牑氅�,',
     fullTipLine2: '鞖旉笀鞝滊ゼ 鞐呹犯霠堨澊霌滍晿靹胳殧.',
-    contactUs: '氍胳潣頃橁赴',
-    fullTip1: '鞐呹犯霠堨澊霌滍晿鞐� 雿� 毵庫潃 鞎膘潉 毵岆摛旮�',
-    fullTip2: '瓿勴殟 頃滊弰鞐� 霃勲嫭頄堨姷雼堧嫟.',
-    fullTip2des: '牍勴櫆靹� 鞎犿攲毽紑鞚挫厴鞚� 鞝曤Μ頃橃棳 靷毄霟夓潉 欷勳澊瓯半倶 鞝�頋棎瓴� 氍胳潣頃橂姅 瓴冹澊 膦嬱姷雼堧嫟.',
-    fullTip1des: '鞚� 瓿勴殟鞐愳劀 鞎膘潉 甑稌頃� 靾� 鞛堧姅 頃滉硠鞐� 霃勲嫭頄堨姷雼堧嫟.',
   },
   annotatedResponse: {
     fullTipLine1: '雿� 毵庫潃 雽�頇旊ゼ 欤检劃 觳橂Μ頃橂牑氅�,',
     fullTipLine2: '鞖旉笀鞝滊ゼ 鞐呹犯霠堨澊霌滍晿靹胳殧.',
     quotaTitle: '欤检劃 鞚戨嫷 炜柬劙',
   },
-  usagePage: {
-    vectorSpace: '歆�鞁� 雿办澊韯� 鞝�鞛レ唽',
-    annotationQuota: '欤检劃 頃犽嫻霟�',
-    teamMembers: '韺�鞗愲摛',
-    buildApps: '鞎� 毵岆摛旮�',
-    documentsUploadQuota: '氍胳劀 鞐呺霌� 頃滊弰',
-    vectorSpaceTooltip: '瓿犿拡歆� 靸夓澑 氇摐毳� 靷毄頃橂姅 氍胳劀電� 歆�鞁� 雿办澊韯� 鞝�鞛レ唽 鞛愳洂鞚� 靻岆頃╇媹雼�. 歆�鞁� 雿办澊韯� 鞝�鞛レ唽臧� 頃滊弰鞐� 霃勲嫭頃橂┐ 靸� 氍胳劀毳� 鞐呺霌滍暊 靾� 鞐嗢姷雼堧嫟.',
-  },
-  teamMembers: '韺�鞗愲摛',
 }
 
 export default translation
diff --git a/i18n/ko-KR/common.ts b/i18n/ko-KR/common.ts
index 4809eb9..a11af1b 100644
--- a/i18n/ko-KR/common.ts
+++ b/i18n/ko-KR/common.ts
@@ -50,14 +50,6 @@
     submit: '鞝勳啞',
     skip: '氚�',
     imageCopied: '氤奠偓霅� 鞚措歆�',
-    deleteApp: '鞎� 靷牅',
-    copied: '氤奠偓',
-    viewDetails: '靹鸽秬 鞝曤炒氤搓赴',
-    in: '鞎堨溂搿�',
-    downloadFailed: '雼れ毚搿滊摐 鞁ろ尐頄堨姷雼堧嫟. 雮橃鞐� 雼れ嫓 鞁滊弰頃橃嫮鞁滌槫.',
-    format: '順曥嫕',
-    more: '雿� 毵庫潃',
-    downloadSuccess: '雼れ毚搿滊摐 鞕勲.',
   },
   placeholder: {
     input: '鞛呺牓頃挫<靹胳殧',
@@ -126,8 +118,6 @@
       Custom: '靷毄鞛� 鞝曥潣',
     },
     addMoreModel: '靹れ爼鞐愳劀 雼るジ 氇嵏鞚� 於旉皜頃橃劯鞖�',
-    capabilities: '氅�韹半雼� 旮半姤',
-    settingsLink: '氇嵏 瓿店笁鞛� 靹れ爼',
   },
   menus: {
     status: '氩犿儉 氩勳爠',
@@ -140,7 +130,6 @@
     newApp: '靸堧鞖� 鞎�',
     newDataset: '歆�鞁� 毵岆摛旮�',
     tools: '霃勱惮',
-    exploreMarketplace: 'Marketplace 霊橂煬氤搓赴',
   },
   userProfile: {
     settings: '靹れ爼',
@@ -153,9 +142,6 @@
     community: '旎る雼堩嫲',
     about: 'Dify 靻岅皽',
     logout: '搿滉犯鞎勳泝',
-    github: '旯冺棃敫�',
-    compliance: '旎错攲霛检澊鞏胳姢',
-    support: '歆�鞗�',
   },
   settings: {
     accountGroup: '瓿勳爼',
@@ -169,7 +155,6 @@
     dataSource: '雿办澊韯� 靻岇姢',
     plugin: '頂岆煬攴胳澑',
     apiBasedExtension: 'API 頇曥灔',
-    generalGroup: '鞚茧皹',
   },
   account: {
     avatar: '鞎勲皵韮�',
@@ -205,9 +190,6 @@
     feedbackLabel: '瓿勳爼鞚� 靷牅頃� 鞚挫湢毳� 鞎岆牑欤检嫓瓴犾姷雼堦箤?',
     feedbackPlaceholder: '靹犿儩鞝�',
     deletePrivacyLinkTip: '雼轨偓臧� 攴�頃橃潣 雿办澊韯半ゼ 觳橂Μ頃橂姅 氚╇矔鞐� 雽�頃� 鞛愳劯頃� 雮挫毄鞚� 雼れ潓鞚� 彀胳“頃橃嫮鞁滌槫.',
-    workspaceIcon: '鞛戩梾 瓿店皠 鞎勳澊旖�',
-    editWorkspaceInfo: '鞛戩梾 瓿店皠 鞝曤炒 韼胳',
-    workspaceName: '鞛戩梾 瓿店皠 鞚措',
   },
   members: {
     team: '韺�',
@@ -300,7 +282,6 @@
       usedUp: '韸鸽澕鞚挫柤 頃犽嫻霟夓澊 雼� 靷毄霅橃棃鞀惦媹雼�. 雼るジ 氇嵏 鞝滉车鞛愲ゼ 於旉皜頃橃劯鞖�.',
       useYourModel: '順勳灛 靷毄鞛� 鞝曥潣 氇嵏 鞝滉车鞛愲ゼ 靷毄 欷戩瀰雼堧嫟.',
       close: '雼赴',
-      trialQuotaTip: 'Anthropic 韽夑皜韺� 頃犽嫻霟夓潃 2025/03/11鞐� 毵岆霅橂┌ 攴� 鞚错泟鞐愲姅 雿� 鞚挫儊 靷毄頃� 靾� 鞐嗢姷雼堧嫟. 鞝滊晫 頇滌毄頃橃嫓旮� 氚旊瀺雼堧嫟.',
     },
     anthropic: {
       using: '鞛勲矤霌� 旮半姤鞚� 靷毄 欷戩瀰雼堧嫟',
@@ -412,12 +393,6 @@
     loadBalancingInfo: '旮半掣鞝侅溂搿� 攵�頃� 攵勳偘鞚� 霛检毚霌� 搿滊箞 鞝勲灥鞚� 靷毄頃╇媹雼�. 靻嶋弰 鞝滍暅鞚� 韸鸽Μ瓯半悩氅� 1攵勳潣 頊挫 旮瓣皠鞚� 鞝侅毄霅╇媹雼�.',
     loadBalancingLeastKeyWarning: '搿滊摐 氚鸽煱鞁膘潉 靷毄頃橂牑氅� 斓滌唽 2臧滌潣 韨るゼ 靷毄頃橂弰搿� 靹れ爼頃挫暭 頃╇媹雼�.',
     providerManagedDescription: '氇嵏 瓿店笁鞛愱皜 鞝滉车頃橂姅 雼澕 鞛愱博 歃濍獏 歆戫暕鞚� 靷毄頃╇媹雼�.',
-    installProvider: '氇嵏 瓿店笁鞛� 靹れ箻',
-    discoverMore: '雿� 鞎岇晞氤搓赴',
-    emptyProviderTitle: '氇嵏 瓿店笁鞛愱皜 靹れ爼霅橃 鞎婌潓',
-    configureTip: 'api-key 靹れ爼 霕愲姅 靷毄頃� 氇嵏 於旉皜',
-    emptyProviderTip: '毹检爛 氇嵏 瓿店笁鞛愲ゼ 靹れ箻頃橃嫮鞁滌槫.',
-    toBeConfigured: '甑劚 鞓堨爼',
   },
   dataSource: {
     add: '雿办澊韯� 靻岇姢 於旉皜頃橁赴',
@@ -461,7 +436,7 @@
   apiBasedExtension: {
     title: 'API 旮半皹 頇曥灔鞚� Dify 鞎犿攲毽紑鞚挫厴 鞝勳泊鞐愳劀 臧勴幐頃� 靷毄鞚� 鞙勴暅 靹れ爼鞚� 雼垳頇旐晿瓿� 歆戩鞝侅澑 API 甏�毽ゼ 鞝滉车頃╇媹雼�.',
     link: '靷毄鞛� 鞝曥潣 API 旮半皹 頇曥灔鞚� 臧滊皽頃橂姅 氚╇矔 氚办毎旮�',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'API 旮半皹 頇曥灔 於旉皜',
     selector: {
       title: 'API 旮半皹 頇曥灔',
@@ -547,9 +522,6 @@
       hitScore: '瓴�靸� 鞝愳垬:',
     },
     inputPlaceholder: '氪囮臣 雽�頇�',
-    thought: '靸濌皝',
-    thinking: '靸濌皝...',
-    resend: '鞛爠靻�',
   },
   promptEditor: {
     placeholder: '鞐赴鞐� 頂勲‖頂勴姼 雼柎毳� 鞛呺牓頃橃劯鞖�. 氤�靾橂ゼ 靷届瀰頃橂牑氅� "{{"毳� 鞛呺牓頃橁碃, 頂勲‖頂勴姼 旎厫旄� 敫旊鞚� 靷届瀰頃橂牑氅� "/"毳� 鞛呺牓頃橃劯鞖�.',
@@ -643,25 +615,6 @@
   },
   pagination: {
     perPage: '韼橃澊歆�雼� 頃 靾�',
-  },
-  theme: {
-    theme: '欤检牅',
-    light: '牍�',
-    dark: '鞏措憼',
-    auto: '鞁滌姢韰�',
-  },
-  compliance: {
-    iso27001: 'ISO 27001:2022 鞚胳',
-    soc2Type1: 'SOC 2 鞙犿槙 I 氤搓碃靹�',
-    soc2Type2: 'SOC 2 鞙犿槙 II 氤搓碃靹�',
-    gdpr: 'GDPR DPA',
-    professionalUpgradeTooltip: '韺� 頂岆灉 鞚挫儊鞐愳劀毵� 靷毄頃� 靾� 鞛堨姷雼堧嫟.',
-    sandboxUpgradeTooltip: '鞝勲臧� 霕愲姅 韺� 頂岆灉鞐愳劀毵� 靷毄頃� 靾� 鞛堨姷雼堧嫟.',
-  },
-  imageInput: {
-    supportedFormats: 'PNG, JPG, JPEG, WEBP 氚� GIF毳� 歆�鞗愴暕雼堧嫟.',
-    browse: '敫岆澕鞖办',
-    dropImageHere: '鞐赴鞐� 鞚措歆�毳� 霌滊…頃橁卑雮�',
   },
 }
 
diff --git a/i18n/ko-KR/custom.ts b/i18n/ko-KR/custom.ts
index 8b49549..6205a67 100644
--- a/i18n/ko-KR/custom.ts
+++ b/i18n/ko-KR/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '頂岆灉鞚� 鞐呹犯霠堨澊霌滍晿鞐�',
     suffix: '敫岆灉霌滊ゼ 靷毄鞛� 鞝曥潣頃橃劯鞖�.',
-    des: '瓿勴殟鞚� 鞐呹犯霠堨澊霌滍晿鞐� 敫岆灉霌滊ゼ 毵烄钉頇旐晿靹胳殧.',
-    title: '頂岆灉鞚� 鞐呹犯霠堨澊霌滍晿靹胳殧',
   },
   webapp: {
     title: 'WebApp 敫岆灉霌� 靷毄鞛� 鞝曥潣',
diff --git a/i18n/ko-KR/dataset-creation.ts b/i18n/ko-KR/dataset-creation.ts
index 4b5ee3f..340d179 100644
--- a/i18n/ko-KR/dataset-creation.ts
+++ b/i18n/ko-KR/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '歆�鞁� 靸濎劚',
       update: '雿办澊韯� 於旉皜',
-      fallbackRoute: '歆�鞁�',
     },
     one: '雿办澊韯� 靻岇姢 靹犿儩',
     two: '韰嶌姢韸� 鞝勳矘毽� 氚� 韥措Μ雼�',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: '韰嶌姢韸� 韺岇澕 鞐呺霌�',
-      button: '韺岇澕鞚措倶 韽措崝毳� 雭岇柎靹� 雴撽赴',
+      button: '韺岇澕鞚� 雭岇柎雼� 雴撽卑雮�',
       browse: '彀眷晞氤搓赴',
       tip: '{{supportTypes}}鞚�(毳�) 歆�鞗愴暕雼堧嫟. 韺岇澕雼� 斓滊寑 韥赴電� {{size}}MB鞛呺媹雼�.',
       validation: {
@@ -52,7 +51,7 @@
       failed: '靸濎劚鞐� 鞁ろ尐頄堨姷雼堧嫟',
     },
     website: {
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       limit: '頃滉硠',
       options: '鞓奠厴',
       firecrawlDoc: 'Firecrawl 氍胳劀',
@@ -82,14 +81,6 @@
       jinaReaderTitle: '鞝勳泊 靷澊韸鸽ゼ Markdown鞙茧 氤�頇�',
       jinaReaderNotConfigured: 'Jina Reader臧� 甑劚霅橃 鞎婌晿鞀惦媹雼�.',
       useSitemapTooltip: '靷澊韸鸽У鞚� 霐半澕 靷澊韸鸽ゼ 韥·毵來暕雼堧嫟. 攴鸽爣歆� 鞎婌潃 瓴届毎 Jina Reader電� 韼橃澊歆� 甏�霠劚鞐� 霐半澕 氚橂车鞝侅溂搿� 韥·毵來晿鞐� 雿� 鞝侅毵� 雿� 雴掛潃 頀堨鞚� 韼橃澊歆�毳� 靸濎劚頃╇媹雼�.',
-      watercrawlDoc: '鞗岉劙韥· 氍胳劀',
-      waterCrawlNotConfiguredDescription: 'API 韨る Watercrawl鞚� 甑劚頃橃棳 靷毄頃橃嫮鞁滌槫.',
-      watercrawlTitle: 'Watercrawl搿� 鞗� 旖橅厫旄� 於旍稖頃橁赴',
-      configureFirecrawl: '韺岇澊鞏错伂搿� 甑劚頃橁赴',
-      watercrawlDocLink: '鞗轨偓鞚错姼鞐愳劀 霃欔赴頇旐晿旮�',
-      configureJinaReader: '歆�雮� 毽崝 靹れ爼頃橁赴',
-      waterCrawlNotConfigured: 'Watercrawl鞚� 靹れ爼霅橃柎 鞛堨 鞎婌姷雼堧嫟.',
-      configureWatercrawl: '鞗岉劙韥· 甑劚頃橁赴',
     },
     cancel: '旆唽',
   },
@@ -208,11 +199,6 @@
     learnMore: '雿� 鞎岇晞氤挫劯鞖�',
     title: '雼るジ 雿办澊韯� 靻岇姢鞐� 鞐瓣舶頃橃嫓瓴犾姷雼堦箤?',
     description: '順勳灛 Dify鞚� 旮办垹 鞛愲鞐愲姅 鞝滍暅霅� 雿办澊韯� 靻岇姢毵� 鞛堨姷雼堧嫟. Dify 旮办垹 鞛愲鞐� 雿办澊韯� 靻岇姢毳� 鞝滉车頃橂姅 瓴冹潃 氇摖 靷毄鞛愲ゼ 鞙勴暣 頂岆灚韽检潣 鞙犾棸靹标臣 旮半姤鞚� 頄レ儊鞁滍偆電� 雿� 霃勳泙鞚� 霅橂姅 頇橃儊鞝侅澑 氚╇矔鞛呺媹雼�. 旮办棳 臧�鞚措摐毳� 韱淀暣 靿疥矊 鞁滌瀾頃� 靾� 鞛堨姷雼堧嫟. 鞛愳劯頃� 雮挫毄鞚� 鞎勲灅 毵來伂毳� 韥措Ν頃橃嫮鞁滌槫.',
-  },
-  watercrawl: {
-    getApiKeyLinkText: 'watercrawl.dev鞐愳劀 API 韨るゼ 鞏混溂靹胳殧.',
-    configWatercrawl: '鞗岉劙韥· 甑劚頃橁赴',
-    apiKeyPlaceholder: 'watercrawl.dev鞚� API 韨�',
   },
 }
 
diff --git a/i18n/ko-KR/dataset-documents.ts b/i18n/ko-KR/dataset-documents.ts
index 6f6cb45..ec0b2bb 100644
--- a/i18n/ko-KR/dataset-documents.ts
+++ b/i18n/ko-KR/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: '鞏胳柎',
         authorPublisher: '鞝�鞛�/於滍寪靷�',
         publishDate: '瓿店皽鞚�',
-        topicKeywords: '欤检牅/韨れ泴霌�',
+        topicsKeywords: '欤检牅/韨れ泴霌�',
         description: '靹る獏',
       },
       paper: {
diff --git a/i18n/ko-KR/dataset-settings.ts b/i18n/ko-KR/dataset-settings.ts
index b008e37..22e9733 100644
--- a/i18n/ko-KR/dataset-settings.ts
+++ b/i18n/ko-KR/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: '鞛愳劯頌� 鞎岇晞氤搓赴',
       description: ' 瓴�靸� 氚╇矔鞐� 雽�頃� 鞛愳劯頃� 鞝曤炒',
       longDescription: ' 瓴�靸� 氚╇矔鞐� 雽�頃� 鞛愳劯頃� 雮挫毄鞚� 鞏胳牅霌犾 歆�鞁� 靹れ爼鞐愳劀 氤�瓴巾暊 靾� 鞛堨姷雼堧嫟.',
-      method: '瓴�靸� 氚╇矔',
     },
     save: '鞝�鞛�',
     permissionsInvitedMembers: '攵�攵� 韺� 甑劚鞗�',
@@ -36,7 +35,6 @@
     upgradeHighQualityTip: '瓿犿拡歆� 氇摐搿� 鞐呹犯霠堨澊霌滍暅 頉勳棎電� 瓴届牅鞝� 氇摐搿� 霅橂弻毽� 靾� 鞐嗢姷雼堧嫟.',
     indexMethodChangeToEconomyDisabledTip: 'HQ鞐愳劀 ECO搿� 雼れ毚攴鸽爤鞚措摐頃� 靾� 鞐嗢姷雼堧嫟.',
     helpText: '膦嬱潃 雿办澊韯� 靹疙姼 靹る獏鞚� 鞛戩劚頃橂姅 氚╇矔鞚� 鞎岇晞氤挫劯鞖�.',
-    searchModel: '氇嵏 瓴�靸�',
   },
 }
 
diff --git a/i18n/ko-KR/dataset.ts b/i18n/ko-KR/dataset.ts
index 6be4dcc..4d622cf 100644
--- a/i18n/ko-KR/dataset.ts
+++ b/i18n/ko-KR/dataset.ts
@@ -167,54 +167,6 @@
   documentsDisabled: '{{num}} 氍胳劀 靷毄 鞎� 頃� - 30鞚� 鞚挫儊 牍勴櫆靹� 靸來儨',
   allKnowledge: '氇摖 歆�鞁�',
   allKnowledgeDescription: '鞚� 鞛戩梾 鞓侅棴鞚� 氇摖 鞝曤炒毳� 響滌嫓頃橂牑氅� 靹犿儩頃╇媹雼�. 鞗岉伂鞀ろ帢鞚挫姢 靻岇湢鞛愲 氇摖 旮办垹 鞛愲毳� 甏�毽暊 靾� 鞛堨姷雼堧嫟.',
-  metadata: {
-    createMetadata: {
-      namePlaceholder: '氅旐儉雿办澊韯� 鞚措 於旉皜',
-      name: '鞚措',
-      type: '鞙犿槙',
-      back: '霋�',
-      title: '靸� 氅旐儉雿办澊韯�',
-    },
-    checkName: {
-      empty: '氅旐儉雿办澊韯� 鞚措鞚� 牍勳柎 鞛堨潉 靾� 鞐嗢姷雼堧嫟.',
-      invalid: '氅旐儉雿办澊韯� 鞚措鞚� 靻岆鞛�, 靾瀽 氚� 氚戩毵� 韽暔頃� 靾� 鞛堨溂氅� 靻岆鞛愲 鞁滌瀾頃挫暭 頃╇媹雼�.',
-    },
-    batchEditMetadata: {
-      multipleValue: '雼れ 臧�',
-      editMetadata: '氅旐儉雿办澊韯� 韼胳',
-      applyToAllSelectDocument: '靹犿儩頃� 氇摖 氍胳劀鞐� 鞝侅毄',
-      editDocumentsNum: '{{num}} 臧� 氍胳劀 韼胳 欷�',
-      applyToAllSelectDocumentTip: '靹犿儩霅� 氇摖 氍胳劀鞐� 雽�頃� 鞙勳棎靹� 韼胳頃� 氇摖 氅旐儉雿办澊韯办檧 靸� 氅旐儉雿办澊韯半ゼ 鞛愲彊鞙茧 靸濎劚頃橃嫮鞁滌槫. 攴鸽爣歆� 鞎婌溂氅� 氅旐儉雿办澊韯� 韼胳鞚� 頃措嫻 氍胳劀鞐愲 鞝侅毄霅╇媹雼�.',
-    },
-    selectMetadata: {
-      manageAction: '甏�毽晿雼�',
-      newAction: '靸� 氅旐儉雿办澊韯�',
-      search: '氅旐儉雿办澊韯� 瓴�靸�',
-    },
-    datasetMetadata: {
-      name: '鞚措',
-      deleteTitle: '靷牅 頇曥澑',
-      disabled: '鞛レ暊鞚�',
-      addMetaData: '氅旐儉雿办澊韯� 於旉皜',
-      values: '{{num}} 臧掚摛',
-      namePlaceholder: '氅旐儉雿办澊韯� 鞚措',
-      rename: '鞚措 氤�瓴�',
-      builtInDescription: '雮挫灔 氅旐儉雿办澊韯半姅 鞛愲彊鞙茧 於旍稖霅橁碃 靸濎劚霅╇媹雼�. 靷毄頃橁赴 鞝勳棎 頇滌劚頇旐暣鞎� 頃橂┌ 韼胳頃� 靾� 鞐嗢姷雼堧嫟.',
-      deleteContent: '鞝曤 \'{{name}}\' 氅旐儉雿办澊韯半ゼ 靷牅頃橃嫓瓴犾姷雼堦箤?',
-      description: '鞚� 歆�鞁濎棎靹� 氇摖 氅旐儉雿办澊韯半ゼ 甏�毽暊 靾� 鞛堨姷雼堧嫟. 靾橃爼 靷暛鞚� 氇摖 氍胳劀鞐� 霃欔赴頇旊惄雼堧嫟.',
-      builtIn: '雮挫灔順�',
-    },
-    documentMetadata: {
-      technicalParameters: '旮办垹 毵り皽氤�靾�',
-      startLabeling: '霠堨澊敫旊 鞁滌瀾',
-      metadataToolTip: '氅旐儉雿办澊韯半姅 鞝曤炒 瓴�靸夓潣 鞝曧檿靹标臣 甏�霠劚鞚� 頄レ儊鞁滍偆電� 欷戩殧頃� 頃勴劙 鞐暊鞚� 頃╇媹雼�. 鞚� 氍胳劀鞐� 雽�頃� 氅旐儉雿办澊韯半ゼ 鞐赴鞐愳劀 靾橃爼頃橁碃 於旉皜頃� 靾� 鞛堨姷雼堧嫟.',
-      documentInformation: '氍胳劀 鞝曤炒',
-    },
-    addMetadata: '氅旐儉雿办澊韯� 於旉皜',
-    metadata: '氅旐儉雿办澊韯�',
-    chooseTime: '鞁滉皠鞚� 靹犿儩頃橃劯鞖�...',
-  },
-  embeddingModelNotAvailable: '鞛勲矤霐� 氇嵏鞚� 靷毄頃� 靾� 鞐嗢姷雼堧嫟.',
 }
 
 export default translation
diff --git a/i18n/ko-KR/explore.ts b/i18n/ko-KR/explore.ts
index 5ae1a34..6a6522f 100644
--- a/i18n/ko-KR/explore.ts
+++ b/i18n/ko-KR/explore.ts
@@ -37,7 +37,6 @@
     Agent: '鞐愳澊鞝勴姼',
     Workflow: '鞗岉伂頂岆鞖�',
     HR: '鞚胳偓',
-    Entertainment: '鞓る澖',
   },
 }
 
diff --git a/i18n/ko-KR/run-log.ts b/i18n/ko-KR/run-log.ts
index 7af4cee..2be73f2 100644
--- a/i18n/ko-KR/run-log.ts
+++ b/i18n/ko-KR/run-log.ts
@@ -24,8 +24,6 @@
     link: '靸侅劯 鞝曤炒 韺剱',
     tipRight: '毳� 頇曥澑頃橃劯鞖�.',
   },
-  actionLogs: '鞛戩梾 搿滉犯',
-  circularInvocationTip: '順勳灛 鞗岉伂頂岆鞖办棎 霃勱惮/雲鸽摐鞚� 靾滍櫂 順胳稖鞚� 鞛堨姷雼堧嫟.',
 }
 
 export default translation
diff --git a/i18n/ko-KR/share-app.ts b/i18n/ko-KR/share-app.ts
index 8474bc5..be2e34a 100644
--- a/i18n/ko-KR/share-app.ts
+++ b/i18n/ko-KR/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: '頃搓舶頃橂牑瓿� 頃╇媹雼�',
     temporarySystemIssue: '欤勳啞頃╇媹雼�. 鞚检嫓鞝侅澑 鞁滌姢韰� 氍胳牅臧� 氚滌儩頄堨姷雼堧嫟.',
-    expand: '頇曥灔',
-    collapse: '於曥唽',
-    viewChatSettings: '毂勴寘 靹れ爼 氤搓赴',
-    newChatTip: '鞚措 靸堧鞖� 毂勴寘 欷戩瀰雼堧嫟.',
-    chatFormTip: '毂勴寘鞚� 鞁滌瀾霅� 頉勳棎電� 毂勴寘 靹れ爼鞚� 靾橃爼頃� 靾� 鞐嗢姷雼堧嫟.',
-    chatSettingsTitle: '靸� 毂勴寘 靹れ爼',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: '欷� {{rowIndex}}: {{varName}}鞚� 臧掛潃 {{maxLength}}鞛愲ゼ 齑堦臣頃� 靾� 鞐嗢姷雼堧嫟.',
       atLeastOne: '鞐呺霌滊悳 韺岇澕鞐愲姅 鞝侅柎霃� 頃� 欷勳潣 鞛呺牓鞚� 頃勳殧頃╇媹雼�.',
     },
-    execution: '鞁ろ枆',
-    executions: '{{num}} 觳橅槙',
   },
 }
 
diff --git a/i18n/ko-KR/tools.ts b/i18n/ko-KR/tools.ts
index 8727c6d..0b9f451 100644
--- a/i18n/ko-KR/tools.ts
+++ b/i18n/ko-KR/tools.ts
@@ -133,7 +133,6 @@
     number: '靾瀽',
     required: '頃勳垬',
     infoAndSetting: '鞝曤炒 氚� 靹れ爼',
-    file: '韺岇澕',
   },
   noCustomTool: {
     title: '旎れ姢韰� 霃勱惮臧� 鞐嗢姷雼堧嫟!',
@@ -151,8 +150,6 @@
   howToGet: '須嶋摑 氚╇矔',
   openInStudio: '鞀ろ姕霐旍槫鞐愳劀 鞐搓赴',
   toolNameUsageTip: 'Agent 於旊Μ鞕� 頂勲‖頂勴姼毳� 鞙勴暅 霃勱惮 順胳稖 鞚措',
-  noTools: '霃勱惮毳� 彀眷潉 靾� 鞐嗢姷雼堧嫟.',
-  copyToolName: '鞚措 氤奠偓',
 }
 
 export default translation
diff --git a/i18n/ko-KR/workflow.ts b/i18n/ko-KR/workflow.ts
index a3496b7..12c2245 100644
--- a/i18n/ko-KR/workflow.ts
+++ b/i18n/ko-KR/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: '鞁ろ尐 攵勱赴 於旉皜',
     noHistory: '鞚措牓 鞐嗢潓',
     loadMore: '雿� 毵庫潃 鞗岉伂頂岆鞖� 搿滊摐',
-    publishUpdate: '鞐呺嵃鞚错姼 瓴岇嫓',
-    exportJPEG: 'JPEG搿� 雮措炒雮搓赴',
-    exitVersions: '膦呺 氩勳爠',
-    exportImage: '鞚措歆� 雮措炒雮搓赴',
-    noExist: '頃措嫻 氤�靾橁皜 鞐嗢姷雼堧嫟.',
-    exportSVG: 'SVG搿� 雮措炒雮搓赴',
-    versionHistory: '氩勳爠 旮半',
-    exportPNG: 'PNG搿� 雮措炒雮搓赴',
-    referenceVar: '彀胳“ 氤�靾�',
   },
   env: {
     envPanelTitle: '頇橁步 氤�靾�',
@@ -204,8 +195,6 @@
     },
     invalidVariable: '鞛橂霅� 氤�靾�',
     rerankModelRequired: 'Rerank Model鞚� 旒滉赴 鞝勳棎 靹れ爼鞐愳劀 氇嵏鞚� 靹标车鞝侅溂搿� 甑劚霅橃棃電旍 頇曥澑頃橃嫮鞁滌槫.',
-    noValidTool: '{{field}} 鞙犿毃頃� 霃勱惮臧� 靹犿儩霅橃 鞎婌晿鞀惦媹雼�.',
-    toolParameterRequired: '{{field}}: 毵り皽氤�靾� [{{param}}]鞚� 頃勳殧頃╇媹雼�.',
   },
   singleRun: {
     testRun: '韰岇姢韸� 鞁ろ枆',
@@ -214,7 +203,6 @@
     testRunIteration: '韰岇姢韸� 鞁ろ枆 氚橂车',
     back: '霋る',
     iteration: '氚橂车',
-    loop: '耄攧',
   },
   tabs: {
     'searchBlock': '敫旊 瓴�靸�',
@@ -230,8 +218,6 @@
     'utilities': '鞙犿嫺毽嫲',
     'noResult': '鞚检箻頃橂姅 瓴瓣臣 鞐嗢潓',
     'searchTool': '瓴�靸� 霃勱惮',
-    'plugin': '頂岆煬攴胳澑',
-    'agent': '鞐愳澊鞝勴姼 鞝勲灥',
   },
   blocks: {
     'start': '鞁滌瀾',
@@ -252,10 +238,6 @@
     'parameter-extractor': '毵り皽氤�靾� 於旍稖旮�',
     'document-extractor': 'Doc 於旍稖旮�',
     'list-operator': 'List 鞐办偘鞛�',
-    'agent': '雽�毽澑',
-    'loop-start': '耄攧 鞁滌瀾',
-    'loop-end': '耄攧 膦呺',
-    'loop': '耄攧',
   },
   blocksAbout: {
     'start': '鞗岉伂頂岆鞖半ゼ 鞁滌瀾頃橁赴 鞙勴暅 齑堦赴 毵り皽氤�靾橂ゼ 鞝曥潣頃╇媹雼�',
@@ -275,9 +257,6 @@
     'parameter-extractor': '霃勱惮 順胳稖 霕愲姅 HTTP 鞖旍箔鞚� 鞙勴暣 鞛愳棸鞏挫棎靹� 甑“頇旊悳 毵り皽氤�靾橂ゼ 於旍稖頃橁赴 鞙勴暣 LLM鞚� 靷毄頃╇媹雼�.',
     'document-extractor': '鞐呺霌滊悳 氍胳劀毳� LLM鞐愳劀 靿疥矊 鞚错暣頃� 靾� 鞛堧姅 韰嶌姢韸� 旖橅厫旄犽 甑 攵勳劃頃橂姅 雿� 靷毄霅╇媹雼�.',
     'list-operator': '氚办棿 雮挫毄鞚� 頃勴劙毵來晿瓯半倶 鞝曤牞頃橂姅 雿� 靷毄霅╇媹雼�.',
-    'agent': '歆堧鞐� 雼淀晿瓯半倶 鞛愳棸鞏措ゼ 觳橂Μ頃橁赴 鞙勴暣 雽�攴滊 鞏胳柎 氇嵏鞚� 順胳稖頃橂姅 瓴届毎',
-    'loop': '膦呺 臁瓣贝鞚� 於╈”霅橁卑雮� 斓滊寑 氚橂车 須熿垬鞐� 霃勲嫭頃� 霑岅箤歆� 雲茧Μ 耄攧毳� 鞁ろ枆頃╇媹雼�.',
-    'loop-end': '"break"鞕� 霃欖澕頃╇媹雼�. 鞚� 雲鸽摐電� 甑劚 頃鞚� 鞐嗢姷雼堧嫟. 耄攧 氤鸽鞚� 鞚� 雲鸽摐鞐� 霃勲嫭頃橂┐ 耄攧臧� 膦呺霅╇媹雼�.',
   },
   operator: {
     zoomIn: '頇曤寑',
@@ -419,34 +398,6 @@
         variable: '氤�靾�',
       },
       sysQueryInUser: '靷毄鞛� 氅旍嫓歆�鞐� sys.query臧� 頃勳殧頃╇媹雼�',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '順勳灛 頃勲摐鞚� 韼胳鞚� 鞕勲頃� 頉� 鞀ろ偆毵堧ゼ 鞝�鞛ロ晿靹胳殧.',
-        },
-        generating: 'JSON 鞀ろ偆毵� 靸濎劚 欷�...',
-        apply: '歆�鞗愴晿雼�',
-        descriptionPlaceholder: '靹る獏鞚� 於旉皜頃橃劯鞖�.',
-        generate: '靸濎劚頃橂嫟',
-        generatedResult: '靸濎劚霅� 瓴瓣臣',
-        addField: '頃勲摐 於旉皜',
-        addChildField: '鞛愲厐 頃勲摐 於旉皜',
-        generateJsonSchema: 'JSON 鞀ろ偆毵� 靸濎劚',
-        fieldNamePlaceholder: '頃勲摐 鞚措',
-        back: '霋�',
-        instruction: '歆�旃�',
-        resetDefaults: '鞛劋鞝�',
-        promptTooltip: '韰嶌姢韸� 靹る獏鞚� 響滌頇旊悳 JSON 鞀ろ偆毵� 甑“搿� 氤�頇橅晿靹胳殧.',
-        title: '甑“頇旊悳 於滊牓 鞀ろ偆毵�',
-        stringValidations: '氍胳瀽鞐� 瓴�歃�',
-        showAdvancedOptions: '瓿犼笁 鞓奠厴 響滌嫓',
-        promptPlaceholder: '雼轨嫚鞚� JSON 鞀ろ偆毵堧ゼ 靹る獏頃橃劯鞖�...',
-        generationTip: '鞛愳棸鞏措ゼ 靷毄頃橃棳 JSON 鞀ろ偆毵堧ゼ 鞁犾啀頃橁矊 靸濎劚頃� 靾� 鞛堨姷雼堧嫟.',
-        resultTip: '鞐赴 靸濎劚霅� 瓴瓣臣臧� 鞛堨姷雼堧嫟. 毵岇暯 毵岇”頃橃 鞎婌溂鞁犽嫟氅�, 霃岇晞臧�靹� 頂勲‖頂勴姼毳� 靾橃爼頃� 靾� 鞛堨姷雼堧嫟.',
-        regenerate: '鞛儩頃橂嫟',
-        required: '頃勳垬',
-        doc: '甑“頇旊悳 於滊牓鞐� 雽�頃� 雿� 鞎岇晞氤挫劯鞖�.',
-        import: 'JSON鞐愳劀 臧�鞝胳槫旮�',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '炜茧Μ 氤�靾�',
@@ -458,33 +409,6 @@
         icon: '靹戈犯毹柬姼 鞎勳澊旖�',
         url: '靹戈犯毹柬姼 URL',
         metadata: '旮绊儉 氅旐儉雿办澊韯�',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: '鞛レ暊鞚�',
-            subTitle: '氅旐儉雿办澊韯� 頃勴劙毵侅潉 頇滌劚頇旐晿歆� 鞎婌潓',
-          },
-          automatic: {
-            desc: '炜茧Μ 氤�靾橂ゼ 旮半皹鞙茧 氅旐儉雿办澊韯� 頃勴劙毵� 臁瓣贝鞚� 鞛愲彊鞙茧 靸濎劚頃╇媹雼�.',
-            subTitle: '靷毄鞛� 炜茧Μ毳� 旮半皹鞙茧 氅旐儉雿办澊韯� 頃勴劙毵� 臁瓣贝鞚� 鞛愲彊鞙茧 靸濎劚頃╇媹雼�.',
-            title: '鞛愲彊',
-          },
-          manual: {
-            subTitle: '氅旐儉雿办澊韯� 頃勴劙毵� 臁瓣贝鞚� 靾橂彊鞙茧 於旉皜頃╇媹雼�.',
-            title: '靾橂彊',
-          },
-        },
-        panel: {
-          title: '氅旐儉雿办澊韯� 頃勴劙 臁瓣贝',
-          placeholder: '臧掛潉 鞛呺牓頃橃劯鞖�',
-          add: '臁瓣贝 於旉皜',
-          search: '氅旐儉雿办澊韯� 瓴�靸�',
-          datePlaceholder: '鞁滉皠鞚� 靹犿儩頃橃劯鞖�...',
-          select: '氤�靾� 靹犿儩...',
-          conditions: '臁瓣贝',
-        },
-        title: '氅旐儉雿办澊韯� 頃勴劙毵�',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'all of': '氇憪鞚�',
         'not in': '鞐� 鞐嗢潓',
         'not exists': '臁挫灛頃橃 鞎婌潓',
-        'after': '頉勳棎',
-        'before': '鞝勳棎',
       },
       enterValue: '臧� 鞛呺牓',
       addCondition: '臁瓣贝 於旉皜',
@@ -592,7 +514,6 @@
       },
       select: '瓿犽ゴ雼�',
       addSubVariable: '頃橃渼 氤�靾�',
-      condition: '臁瓣贝',
     },
     variableAssigner: {
       title: '氤�靾� 頃犽嫻',
@@ -625,18 +546,16 @@
       'variable': '氤�靾�',
       'operations': {
         '*=': '*=',
-        'overwrite': '雿柎鞊瓣赴',
+        'overwrite': '雿柎鞊�',
         '-=': '-=',
-        'append': '於旉皜',
-        'over-write': '雿柎鞊瓣赴',
+        'append': '雿щ稒鞚措嫟',
+        'over-write': '雿柎鞊�',
         '+=': '+=',
-        'title': '臁办瀾',
-        'extend': '鞐办灔',
-        'clear': '齑堦赴頇�',
+        'title': '靾橃垹',
+        'extend': '牖楈箻雼�',
+        'clear': '毵戨嫟',
         '/=': '/=',
-        'set': '靹れ爼',
-        'remove-first': '觳� 氩堨Ц 鞝滉卑',
-        'remove-last': '毵堨毵� 鞝滉卑',
+        'set': '歆戫暕',
       },
       'variables': '氤�靾�',
       'noAssignedVars': '靷毄 臧�電ロ暅 頃犽嫻霅� 氤�靾橁皜 鞐嗢姷雼堧嫟.',
@@ -772,107 +691,6 @@
       filterConditionComparisonOperator: '頃勴劙 臁瓣贝 牍勱祼 鞐办偘鞛�',
       extractsCondition: 'N 頃鞚� 於旍稖頃╇媹雼�.',
     },
-    agent: {
-      strategy: {
-        label: '鞐愳澊鞝勴姼 鞝勲灥',
-        tooltip: '雼れ枒頃� 鞐愳澊鞝勴姼 鞝勲灥鞚� 鞁滌姢韰滌澊 雼る嫧瓿� 霃勱惮 順胳稖鞚� 瓿勴殟頃橁碃 鞁ろ枆頃橂姅 氚╇矔鞚� 瓴办爼頃╇媹雼�',
-        configureTip: '鞐愳澊鞝勴姼 鞝勲灥鞚� 甑劚頃橃劯鞖�.',
-        searchPlaceholder: '瓴�靸� 鞐愳澊鞝勴姼 鞝勲灥',
-        shortLabel: '鞝勲灥',
-        selectTip: '鞐愳澊鞝勴姼 鞝勲灥 靹犿儩',
-        configureTipDesc: '鞐愳澊鞝勴姼 鞝勲灥鞚� 甑劚頃� 頉� 鞚� 雲鸽摐電� 雮橂ǜ歆� 甑劚鞚� 鞛愲彊鞙茧 搿滊摐頃╇媹雼�. 鞚� 鞝勲灥鞚� 雼る嫧瓿� 霃勱惮 於旊鞚� 氅旍护雼堨鞐� 鞓來枼鞚� 氙胳供雼堧嫟.',
-      },
-      pluginInstaller: {
-        install: '靹れ箻頃橂嫟',
-        installing: '靹れ箻',
-      },
-      modelNotInMarketplace: {
-        desc: '鞚� 氇嵏鞚� 搿滌滑 霕愲姅 GitHub 毽彫歆�韱犽Μ鞐愳劀 靹れ箻霅╇媹雼�. 靹れ箻 頉� 靷毄頃橃嫮鞁滌槫.',
-        title: '氇嵏鞚� 靹れ箻霅橃 鞎婌潓',
-        manageInPlugins: '頂岆煬攴胳澑鞐愳劀 甏�毽�',
-      },
-      modelNotSupport: {
-        title: '歆�鞗愲悩歆� 鞎婋姅 氇嵏',
-        descForVersionSwitch: '靹れ箻霅� 頂岆煬攴胳澑 氩勳爠鞚� 鞚� 氇嵏鞚� 鞝滉车頃橃 鞎婌姷雼堧嫟. 氩勳爠鞚� 鞝勴櫂頃橂牑氅� 韥措Ν頃╇媹雼�.',
-        desc: '靹れ箻霅� 頂岆煬攴胳澑 氩勳爠鞚� 鞚� 氇嵏鞚� 鞝滉车頃橃 鞎婌姷雼堧嫟.',
-      },
-      modelSelectorTooltips: {
-        deprecated: '鞚� 氇嵏鞚� 雿� 鞚挫儊 靷毄霅橃 鞎婌姷雼堧嫟.',
-      },
-      outputVars: {
-        files: {
-          url: '鞚措歆� URL',
-          upload_file_id: '韺岇澕 ID 鞐呺霌�',
-          transfer_method: '鞝勳啞 氚╇矔. 臧掛澊 remote_url 霕愲姅 local_file鞛呺媹雼�.',
-          type: '歆�鞗� 鞙犿槙. 鞚挫牅 鞚措歆�毵� 歆�鞗愴暕雼堧嫟.',
-          title: '鞐愳澊鞝勴姼 靸濎劚 韺岇澕',
-        },
-        json: '鞐愳澊鞝勴姼 靸濎劚 JSON',
-        text: '靸侂嫶鞗愳澊 靸濎劚頃� 旖橅厫旄�',
-      },
-      checkList: {
-        strategyNotSelected: '鞝勲灥鞚� 靹犿儩霅橃 鞎婌潓',
-      },
-      installPlugin: {
-        changelog: '氤�瓴� 搿滉犯',
-        install: '靹れ箻頃橂嫟',
-        desc: '雼れ潓 頂岆煬攴胳澑鞚� 靹れ箻頃橂牑瓿� 頃╇媹雼�.',
-        cancel: '旆唽',
-        title: '頂岆煬攴胳澑 靹れ箻',
-      },
-      strategyNotFoundDescAndSwitchVersion: '靹れ箻霅� 頂岆煬攴胳澑 氩勳爠鞚� 鞚� 鞝勲灥鞚� 鞝滉车頃橃 鞎婌姷雼堧嫟. 氩勳爠鞚� 鞝勴櫂頃橂牑氅� 韥措Ν頃╇媹雼�.',
-      learnMore: '雿� 鞎岇晞氤挫劯鞖�',
-      toolNotAuthorizedTooltip: '{{霃勱惮}} 甓岉暅鞚� 攵�鞐悩歆� 鞎婌潓',
-      strategyNotFoundDesc: '靹れ箻霅� 頂岆煬攴胳澑 氩勳爠鞚� 鞚� 鞝勲灥鞚� 鞝滉车頃橃 鞎婌姷雼堧嫟.',
-      maxIterations: '斓滊寑 氚橂车 須熿垬',
-      pluginNotFoundDesc: '鞚� 頂岆煬攴胳澑鞚� GitHub鞐愳劀 靹れ箻霅╇媹雼�. 頂岆煬攴胳澑鞙茧 鞚措彊頃橃棳 雼れ嫓 靹れ箻頃橃嫮鞁滌槫.',
-      pluginNotInstalledDesc: '鞚� 頂岆煬攴胳澑鞚� GitHub鞐愳劀 靹れ箻霅╇媹雼�. 頂岆煬攴胳澑鞙茧 鞚措彊頃橃棳 雼れ嫓 靹れ箻頃橃嫮鞁滌槫.',
-      strategyNotInstallTooltip: '{{strategy}}臧� 靹れ箻霅橃 鞎婌晿鞀惦媹雼�.',
-      tools: '霃勱惮',
-      unsupportedStrategy: '歆�鞗愲悩歆� 鞎婋姅 鞝勲灥',
-      pluginNotInstalled: '鞚� 頂岆煬攴胳澑鞚� 靹れ箻霅橃柎 鞛堨 鞎婌姷雼堧嫟.',
-      toolNotInstallTooltip: '{{tool}}鞚� 靹れ箻霅橃 鞎婌晿鞀惦媹雼�.',
-      configureModel: '氇嵏 甑劚',
-      strategyNotSet: '鞐愳澊鞝勴姼 鞝勲灥鞚� 靹れ爼霅橃 鞎婌潓',
-      modelNotInstallTooltip: '鞚� 氇嵏鞚� 靹れ箻霅橃 鞎婌晿鞀惦媹雼�.',
-      model: '氇嵏',
-      notAuthorized: '甓岉暅鞚� 攵�鞐悩歆� 鞎婌潓',
-      modelNotSelected: '氇嵏鞚� 靹犿儩霅橃 鞎婌潓',
-      toolbox: '霃勱惮',
-      linkToPlugin: '頂岆煬攴胳澑鞐� 雽�頃� 毵來伂',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: '牍勳爼靸侅爜鞚� 於滊牓鞚� 鞝滉卑頃橃劯鞖�.',
-        operationTerminated: '膦呺霅�',
-        continueOnError: '鞓る臧� 氚滌儩頃措弰 瓿勳啀 歆勴枆頃橃劯鞖�.',
-      },
-      currentLoop: '順勳灛 耄攧',
-      loopMaxCount: '斓滊寑 耄攧 靾�',
-      input: '鞛呺牓',
-      error_other: '{{count}} 鞓る',
-      comma: ',',
-      loop_one: '{{count}} 耄攧',
-      loop_other: '{{count}} 耄攧',
-      breakCondition: '耄攧 膦呺 臁瓣贝',
-      output: '於滊牓 氤�靾�',
-      error_one: '{{count}} 鞐愲煬',
-      deleteTitle: '耄攧 雲鸽摐毳� 靷牅頃橃嫓瓴犾姷雼堦箤?',
-      deleteDesc: '耄攧 雲鸽摐毳� 靷牅頃橂┐ 氇摖 鞛愳嫕 雲鸽摐臧� 鞝滉卑霅╇媹雼�.',
-      errorResponseMethod: '鞓る 鞚戨嫷 氚╇矔',
-      exitConditionTip: '耄攧 雲鸽摐電� 斓滌唽頃� 頃橂倶鞚� 膦呺 臁瓣贝鞚� 頃勳殧頃╇媹雼�.',
-      finalLoopVariables: '斓滌 耄攧 氤�靾�',
-      loopVariables: '耄攧 氤�靾�',
-      setLoopVariables: '耄攧 氩旍渼 雮挫棎靹� 氤�靾橂ゼ 靹れ爼頃╇媹雼�.',
-      initialLoopVariables: '齑堦赴 耄攧 氤�靾�',
-      breakConditionTip: '膦呺 臁瓣贝瓿� 雽�頇� 氤�靾橁皜 鞛堧姅 耄攧 雮挫棎靹滊 氤�靾橂ゼ 彀胳“頃� 靾� 鞛堨姷雼堧嫟.',
-      currentLoopCount: '順勳灛 耄攧 旃挫毚韸�: {{count}}',
-      loopMaxCountError: '鞙犿毃頃� 斓滊寑 耄攧 靾橂ゼ 鞛呺牓頃橃嫮鞁滌槫. 氩旍渼電� 1鞐愳劀 {{maxCount}}鞛呺媹雼�.',
-      totalLoopCount: '齑� 耄攧 須熿垬: {{count}}',
-      variableName: '氤�靾� 鞚措',
-      loopNode: '耄攧 雲鸽摐',
-      inputMode: '鞛呺牓 氇摐',
-    },
   },
   tracing: {
     stopBy: '{{user}}鞐� 鞚橅暣 欷戩霅�',
@@ -883,38 +701,6 @@
     noVarsForOperation: '靹犿儩頃� 鞛戩梾鞐� 頃犽嫻頃� 靾� 鞛堧姅 氤�靾橁皜 鞐嗢姷雼堧嫟.',
     noAssignedVars: '靷毄 臧�電ロ暅 頃犽嫻霅� 氤�靾橁皜 鞐嗢姷雼堧嫟.',
     assignedVarsDescription: '頃犽嫻霅� 氤�靾橂姅 雼れ潓瓿� 臧欖澊 鞊瓣赴 臧�電ロ暅 氤�靾橃棳鞎� 頃╇媹雼�.',
-  },
-  versionHistory: {
-    filter: {
-      onlyYours: '鞓れ 雱堨潣 瓴冸',
-      all: '氇摖',
-      reset: '頃勴劙 鞛劋鞝�',
-      onlyShowNamedVersions: '鞚措鞚� 攵欖潃 氩勳爠毵� 響滌嫓',
-      empty: '鞚检箻頃橂姅 氩勳爠 旮半鞚� 鞐嗢姷雼堧嫟.',
-    },
-    editField: {
-      titleLengthLimit: '鞝滊鞚� {{limit}}鞛愲ゼ 齑堦臣頃� 靾� 鞐嗢姷雼堧嫟.',
-      title: '鞝滊',
-      releaseNotes: '毽措Μ鞀� 雲疙姼',
-      releaseNotesLengthLimit: '毽措Μ鞀� 雲疙姼電� {{limit}}鞛愲ゼ 齑堦臣頃� 靾� 鞐嗢姷雼堧嫟.',
-    },
-    action: {
-      updateFailure: '氩勳爠 鞐呺嵃鞚错姼鞐� 鞁ろ尐頄堨姷雼堧嫟.',
-      restoreSuccess: '氤奠洂霅� 氩勳爠',
-      deleteSuccess: '氩勳爠 靷牅霅�',
-      restoreFailure: '氩勳爠鞚� 氤奠洂頃橃 氇豁枅鞀惦媹雼�.',
-      deleteFailure: '氩勳爠鞚� 靷牅頃橃 氇豁枅鞀惦媹雼�.',
-      updateSuccess: '氩勳爠鞚� 鞐呺嵃鞚错姼霅橃棃鞀惦媹雼�.',
-    },
-    editVersionInfo: '氩勳爠 鞝曤炒 韼胳',
-    latest: '斓滌嫚',
-    currentDraft: '順勳灛 齑堨晥',
-    releaseNotesPlaceholder: '氤�瓴诫悳 雮挫毄鞚� 靹る獏頃橃劯鞖�.',
-    defaultName: '鞝滊 鞐嗠姅 氩勳爠',
-    nameThisVersion: '鞚� 氩勳爠鞚� 鞚措鞚� 歆�鞏挫<靹胳殧',
-    title: '氩勳爠霌�',
-    deletionTip: '靷牅電� 霅橂弻毽� 靾� 鞐嗢溂雼�, 頇曥澑頃� 欤检嫓旮� 氚旊瀺雼堧嫟.',
-    restorationTip: '氩勳爠 氤奠洂 頉� 順勳灛 齑堨晥鞚� 雿柎鞊办棳歆� 瓴冹瀰雼堧嫟.',
   },
 }
 
diff --git a/i18n/language.ts b/i18n/language.ts
index 87027a7..cd77097 100644
--- a/i18n/language.ts
+++ b/i18n/language.ts
@@ -33,28 +33,10 @@
 export const LanguagesSupported = languages.filter(item => item.supported).map(item => item.value)
 
 export const getLanguage = (locale: string) => {
-  if (['zh-Hans', 'ja-JP'].includes(locale))
+  if (locale === 'zh-Hans')
     return locale.replace('-', '_')
 
   return LanguagesSupported[0].replace('-', '_')
-}
-
-const DOC_LANGUAGE: Record<string, string> = {
-  'zh-Hans': 'zh-hans',
-  'ja-JP': 'ja-jp',
-  'en-US': 'en',
-}
-
-export const getDocLanguage = (locale: string) => {
-  return DOC_LANGUAGE[locale] || 'en'
-}
-
-const PRICING_PAGE_LANGUAGE: Record<string, string> = {
-  'ja-JP': 'jp',
-}
-
-export const getPricingPageLanguage = (locale: string) => {
-  return PRICING_PAGE_LANGUAGE[locale] || ''
 }
 
 export const NOTICE_I18N = {
diff --git a/i18n/pl-PL/app-overview.ts b/i18n/pl-PL/app-overview.ts
index 7459c0f..7e25b01 100644
--- a/i18n/pl-PL/app-overview.ts
+++ b/i18n/pl-PL/app-overview.ts
@@ -59,7 +59,6 @@
         chatColorThemeDesc: 'Ustaw motyw kolorystyczny czatu',
         chatColorThemeInverted: 'Odwr贸cony',
         invalidHexMessage: 'Nieprawid艂owa warto艣膰 heksadecymalna',
-        invalidPrivacyPolicy: 'Nieprawid艂owy link do polityki prywatno艣ci. Prosz臋 u偶y膰 prawid艂owego linku zaczynaj膮cego si臋 od http lub https',
         more: {
           entry: 'Poka偶 wi臋cej ustawie艅',
           copyright: 'Prawa autorskie',
@@ -124,7 +123,6 @@
           operation: 'Dokumentacja',
         },
       },
-      launch: 'Uruchomi膰',
     },
     apiInfo: {
       title: 'API us艂ugi w tle',
diff --git a/i18n/pl-PL/app.ts b/i18n/pl-PL/app.ts
index 137fdeb..686f56f 100644
--- a/i18n/pl-PL/app.ts
+++ b/i18n/pl-PL/app.ts
@@ -166,10 +166,6 @@
       description: 'Opik to platforma typu open source do oceny, testowania i monitorowania aplikacji LLM.',
       title: 'Opik',
     },
-    weave: {
-      title: 'Tkaj',
-      description: 'Weave to platforma open-source do oceny, testowania i monitorowania aplikacji LLM.',
-    },
   },
   answerIcon: {
     description: 'Czy w aplikacji udost臋pnionej ma by膰 u偶ywana ikona aplikacji internetowej do zamiany 馃.',
@@ -199,23 +195,6 @@
     byCategories: 'WED艁UG KATEGORII',
   },
   showMyCreatedAppsOnly: 'Poka偶 tylko moje utworzone aplikacje',
-  appSelector: {
-    params: 'PARAMETRY APLIKACJI',
-    noParams: 'Nie s膮 potrzebne 偶adne parametry',
-    placeholder: 'Wybierz aplikacj臋...',
-    label: 'Aplikacja',
-  },
-  structOutput: {
-    structured: 'Ustrukturyzowany',
-    LLMResponse: 'Odpowied藕 LLM',
-    notConfiguredTip: 'Strukturalne wyj艣cie nie zosta艂o jeszcze skonfigurowane',
-    structuredTip: 'Strukturalne wyniki to funkcja, kt贸ra zapewnia, 偶e model zawsze generuje odpowiedzi zgodne z dostarczonym schematem JSON.',
-    moreFillTip: 'Pokazuj膮c maksymalnie 10 poziom贸w zagnie偶d偶enia',
-    configure: 'Konfiguruj',
-    required: 'Wymagane',
-    modelNotSupported: 'Model nie jest obs艂ugiwany',
-    modelNotSupportedTip: 'Aktualny model nie obs艂uguje tej funkcji i zostaje automatycznie obni偶ony do wstrzykni臋cia zapytania.',
-  },
 }
 
 export default translation
diff --git a/i18n/pl-PL/billing.ts b/i18n/pl-PL/billing.ts
index 0028410..cff567e 100644
--- a/i18n/pl-PL/billing.ts
+++ b/i18n/pl-PL/billing.ts
@@ -75,7 +75,6 @@
       title: 'Limity kredyt贸w wiadomo艣ci',
       tooltip:
         'Limity wywo艂a艅 wiadomo艣ci dla r贸偶nych plan贸w u偶ywaj膮cych modeli OpenAI (z wyj膮tkiem gpt4). Wiadomo艣ci przekraczaj膮ce limit b臋d膮 korzysta膰 z twojego klucza API OpenAI.',
-      titlePerMonth: '{{count,number}} wiadomo艣ci/miesi膮c',
     },
     annotatedResponse: {
       title: 'Limity kredyt贸w na adnotacje',
@@ -87,97 +86,30 @@
     receiptInfo:
       'Tylko w艂a艣ciciel zespo艂u i administrator zespo艂u mog膮 subskrybowa膰 i przegl膮da膰 informacje o rozliczeniach',
     annotationQuota: 'Przydzia艂 adnotacji',
-    documents: '{{count,number}} Dokument贸w Wiedzy',
-    apiRateLimit: 'Limit liczby wywo艂a艅 API',
-    documentsTooltip: 'Kwota dotycz膮ca liczby dokument贸w importowanych z 殴r贸d艂a Danych Wiedzy.',
-    unlimitedApiRate: 'Brak limitu liczby zapyta艅 API',
-    annualBilling: 'Roczne rozliczenie',
-    getStarted: 'Zacznij',
-    freeTrialTip: 'bezp艂atny okres pr贸bny 200 wywo艂a艅 OpenAI.',
-    comparePlanAndFeatures: 'Por贸wnaj plany i funkcje',
-    freeTrialTipPrefix: 'Zarejestruj si臋 i zdob膮d藕',
-    teamMember_other: '{{count,number}} cz艂onk贸w zespo艂u',
-    teamWorkspace: '{{count,number}} Zesp贸艂 Workspace',
-    apiRateLimitUnit: '{{count,number}}/dzie艅',
-    cloud: 'Us艂uga chmurowa',
-    teamMember_one: '{{count,number}} Cz艂onek zespo艂u',
-    priceTip: 'na przestrze艅 robocz膮/',
-    self: 'Samo-hostowane',
-    apiRateLimitTooltip: 'Limit aktywno艣ci API dotyczy wszystkich 偶膮da艅 sk艂adanych za po艣rednictwem API Dify, w tym generowania tekstu, rozm贸w czatowych, wykonywania przep艂yw贸w pracy i przetwarzania dokument贸w.',
-    freeTrialTipSuffix: 'Nie jest wymagana karta kredytowa',
-    documentsRequestQuota: '{{count,number}}/min Limit wiedzy na 偶膮danie',
-    documentsRequestQuotaTooltip: 'Okre艣la ca艂kowit膮 liczb臋 dzia艂a艅, jakie przestrze艅 robocza mo偶e wykona膰 na minut臋 w ramach bazy wiedzy, w tym tworzenie zbior贸w danych, usuwanie, aktualizacje, przesy艂anie dokument贸w, modyfikacje, archiwizowanie i zapytania do bazy wiedzy. Ta metryka jest u偶ywana do oceny wydajno艣ci zapyta艅 do bazy wiedzy. Na przyk艂ad, je艣li u偶ytkownik Sandbox wykona 10 kolejnych test贸w w ci膮gu jednej minuty, jego przestrze艅 robocza zostanie tymczasowo ograniczona w wykonywaniu nast臋puj膮cych dzia艂a艅 przez nast臋pn膮 minut臋: tworzenie zbior贸w danych, usuwanie, aktualizacje oraz przesy艂anie lub modyfikacje dokument贸w.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200 razy darmowa pr贸ba GPT',
       includesTitle: 'Zawiera:',
-      for: 'Darmowy okres pr贸bny podstawowych funkcji',
     },
     professional: {
       name: 'Profesjonalny',
       description:
         'Dla os贸b fizycznych i ma艂ych zespo艂贸w, aby odblokowa膰 wi臋cej mocy w przyst臋pnej cenie.',
       includesTitle: 'Wszystko w darmowym planie, plus:',
-      for: 'Dla niezale偶nych deweloper贸w/ma艂ych zespo艂贸w',
     },
     team: {
       name: 'Zesp贸艂',
       description:
         'Wsp贸艂pracuj bez ogranicze艅 i ciesz si臋 najwy偶sz膮 wydajno艣ci膮.',
       includesTitle: 'Wszystko w planie Profesjonalnym, plus:',
-      for: 'Dla 艣redniej wielko艣ci zespo艂贸w',
     },
     enterprise: {
       name: 'Przedsi臋biorstwo',
       description:
         'Uzyskaj pe艂ne mo偶liwo艣ci i wsparcie dla system贸w o kluczowym znaczeniu dla misji.',
       includesTitle: 'Wszystko w planie Zespo艂owym, plus:',
-      features: {
-        3: 'Wiele przestrzeni roboczych i zarz膮dzanie przedsi臋biorstwem',
-        5: 'Wynegocjowane SLA przez Dify Partners',
-        0: 'Rozwi膮zania do wdro偶e艅 na du偶膮 skal臋 klasy przedsi臋biorstw',
-        8: 'Profesjonalne wsparcie techniczne',
-        2: 'Ekskluzywne funkcje przedsi臋biorstwa',
-        6: 'Zaawansowane zabezpieczenia i kontrola',
-        7: 'Aktualizacje i konserwacja przez Dify Oficjalnie',
-        4: 'SSO',
-        1: 'Autoryzacja licencji komercyjnej',
-      },
-      priceTip: 'Tylko roczne fakturowanie',
-      btnText: 'Skontaktuj si臋 z dzia艂em sprzeda偶y',
-      for: 'Dla du偶ych zespo艂贸w',
-      price: 'Niestety, nie mog臋 przet艂umaczy膰 tego tekstu bez konkretnego zdania do przet艂umaczenia.',
-    },
-    community: {
-      features: {
-        0: 'Wszystkie funkcje podstawowe wydane w publicznym repozytorium',
-        1: 'Jedno Miejsce Pracy',
-        2: 'Zgodne z licencj膮 Dify Open Source',
-      },
-      includesTitle: 'Darmowe funkcje:',
-      name: 'Spo艂eczno艣膰',
-      price: 'Darmowy',
-      description: 'Dla u偶ytkownik贸w indywidualnych, ma艂ych zespo艂贸w lub projekt贸w niekomercyjnych',
-      btnText: 'Rozpocznij prac臋 z spo艂eczno艣ci膮',
-      for: 'Dla u偶ytkownik贸w indywidualnych, ma艂ych zespo艂贸w lub projekt贸w niekomercyjnych',
-    },
-    premium: {
-      features: {
-        0: 'Samozarz膮dzana niezawodno艣膰 r贸偶nych dostawc贸w chmury',
-        1: 'Jedno miejsce pracy',
-        3: 'Priorytetowe wsparcie przez e-mail i czat',
-        2: 'Logo aplikacji internetowej i dostosowanie marki',
-      },
-      description: 'Dla 艣rednich organizacji i zespo艂贸w',
-      for: 'Dla 艣rednich organizacji i zespo艂贸w',
-      name: 'Premium',
-      priceTip: 'Oparte na rynku chmurowym',
-      btnText: 'Uzyskaj premium w',
-      price: 'Skalowalny',
-      comingSoon: 'Wsparcie dla Microsoft Azure i Google Cloud wkr贸tce dost臋pne',
-      includesTitle: 'Wszystko z Community, plus:',
     },
   },
   vectorSpace: {
@@ -187,26 +119,12 @@
   apps: {
     fullTipLine1: 'Ulepsz sw贸j plan, aby',
     fullTipLine2: 'tworzy膰 wi臋cej aplikacji.',
-    fullTip1des: 'Osi膮gn膮艂e艣 limit tworzenia aplikacji w tym planie.',
-    fullTip1: 'Zaktualizuj, aby stworzy膰 wi臋cej aplikacji',
-    fullTip2: 'Osi膮gni臋to limit planu',
-    contactUs: 'Skontaktuj si臋 z nami',
-    fullTip2des: 'Zaleca si臋 usuni臋cie nieaktywnych aplikacji, aby zwolni膰 miejsce, lub skontaktowanie si臋 z nami.',
   },
   annotatedResponse: {
     fullTipLine1: 'Ulepsz sw贸j plan, aby',
     fullTipLine2: 'adnotowa膰 wi臋cej rozm贸w.',
     quotaTitle: 'Limit adnotacji odpowiedzi',
   },
-  usagePage: {
-    vectorSpace: 'Magazynowanie danych wiedzy',
-    teamMembers: 'Cz艂onkowie zespo艂u',
-    documentsUploadQuota: 'Limit przesy艂ania dokument贸w',
-    buildApps: 'Tw贸rz aplikacje',
-    annotationQuota: 'Kwota aneksji',
-    vectorSpaceTooltip: 'Dokumenty z trybem indeksowania o wysokiej jako艣ci b臋d膮 zu偶ywa膰 zasoby magazynu danych wiedzy. Gdy magazyn danych wiedzy osi膮gnie limit, nowe dokumenty nie b臋d膮 przesy艂ane.',
-  },
-  teamMembers: 'Cz艂onkowie zespo艂u',
 }
 
 export default translation
diff --git a/i18n/pl-PL/common.ts b/i18n/pl-PL/common.ts
index fb94c8c..d650241 100644
--- a/i18n/pl-PL/common.ts
+++ b/i18n/pl-PL/common.ts
@@ -50,14 +50,6 @@
     submit: 'Prze艣lij',
     skip: 'Statek',
     imageCopied: 'Skopiowany obraz',
-    deleteApp: 'Usu艅 aplikacj臋',
-    copied: 'Kopiowane',
-    in: 'w',
-    viewDetails: 'Wy艣wietl szczeg贸艂y',
-    format: 'Format',
-    downloadFailed: 'Pobieranie nie powiod艂o si臋. Prosz臋 spr贸bowa膰 ponownie p贸藕niej.',
-    more: 'Wi臋cej',
-    downloadSuccess: 'Pobieranie zako艅czone.',
   },
   placeholder: {
     input: 'Prosz臋 wprowadzi膰',
@@ -133,8 +125,6 @@
       Custom: 'Niestandardowy',
     },
     addMoreModel: 'Przejd藕 do ustawie艅, aby doda膰 wi臋cej modeli',
-    settingsLink: 'Ustawienia dostawcy modelu',
-    capabilities: 'Mo偶liwo艣ci multimodalne',
   },
   menus: {
     status: 'beta',
@@ -149,7 +139,6 @@
     newApp: 'Nowa aplikacja',
     newDataset: 'Utw贸rz Wiedz臋',
     tools: 'Narz臋dzia',
-    exploreMarketplace: 'Zapoznaj si臋 z Marketplace',
   },
   userProfile: {
     settings: 'Ustawienia',
@@ -162,9 +151,6 @@
     community: 'Spo艂eczno艣膰',
     about: 'O',
     logout: 'Wyloguj si臋',
-    support: 'Wsparcie',
-    github: 'GitHub',
-    compliance: 'Zgodno艣膰',
   },
   settings: {
     accountGroup: 'KONTO',
@@ -178,7 +164,6 @@
     dataSource: '殴r贸d艂o danych',
     plugin: 'Pluginy',
     apiBasedExtension: 'Rozszerzenie API',
-    generalGroup: 'OG脫LNE',
   },
   account: {
     avatar: 'Awatar',
@@ -215,9 +200,6 @@
     feedbackTitle: 'Sprz臋偶enie zwrotne',
     feedbackLabel: 'Powiedz nam, dlaczego usun膮艂e艣 swoje konto?',
     feedbackPlaceholder: 'Fakultatywny',
-    workspaceIcon: 'Ikona robocza',
-    workspaceName: 'Nazwa miejsca pracy',
-    editWorkspaceInfo: 'Edytuj informacje o przestrzeni roboczej',
   },
   members: {
     team: 'Zesp贸艂',
@@ -313,7 +295,6 @@
       usedUp: 'Limit pr贸bny zosta艂 wyczerpany. Dodaj w艂asnego dostawc臋 modeli.',
       useYourModel: 'Aktualnie u偶ywany jest w艂asny dostawca modeli.',
       close: 'Zamknij',
-      trialQuotaTip: 'Tw贸j limit pr贸bny Anthropic wyga艣nie w dniu 11.03.2025 i nie b臋dzie ju偶 dost臋pny po tym czasie. Prosimy o skorzystanie z niego w odpowiednim czasie.',
     },
     anthropic: {
       using: 'Zdolno艣膰 do osadzania jest u偶ywana',
@@ -429,12 +410,6 @@
     editConfig: 'Edytuj konfiguracj臋',
     addConfig: 'Dodaj konfiguracj臋',
     apiKeyRateLimit: 'Osi膮gni臋to limit szybko艣ci, dost臋pny po {{sekund}}s',
-    installProvider: 'Instalowanie dostawc贸w modeli',
-    emptyProviderTip: 'Najpierw zainstaluj dostawc臋 modeli.',
-    discoverMore: 'Dowiedz si臋 wi臋cej w',
-    toBeConfigured: 'Do skonfigurowania',
-    configureTip: 'Konfigurowanie klucza interfejsu API lub dodawanie modelu do u偶ycia',
-    emptyProviderTitle: 'Dostawca modelu nie jest skonfigurowany',
   },
   dataSource: {
     add: 'Dodaj 藕r贸d艂o danych',
@@ -479,7 +454,7 @@
     title:
       'Rozszerzenia oparte na interfejsie API zapewniaj膮 scentralizowane zarz膮dzanie interfejsami API, upraszczaj膮c konfiguracj臋 dla 艂atwego u偶ytkowania w aplikacjach Dify.',
     link: 'Dowiedz si臋, jak opracowa膰 w艂asne rozszerzenie interfejsu API.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Dodaj rozszerzenie interfejsu API',
     selector: {
       title: 'Rozszerzenie interfejsu API',
@@ -566,9 +541,6 @@
       hitScore: 'Wynik trafie艅:',
     },
     inputPlaceholder: 'Porozmawiaj z botem',
-    thought: 'My艣l',
-    thinking: 'My艣lenie...',
-    resend: 'Prze艣lij ponownie',
   },
   promptEditor: {
     placeholder:
@@ -665,25 +637,6 @@
   },
   pagination: {
     perPage: 'Ilo艣膰 element贸w na stronie',
-  },
-  theme: {
-    light: '艣wiat艂o',
-    theme: 'Temat',
-    dark: 'ciemny',
-    auto: 'system',
-  },
-  compliance: {
-    soc2Type2: 'Raport SOC 2 Typ II',
-    sandboxUpgradeTooltip: 'Dost臋pne tylko w planie Professional lub Team.',
-    professionalUpgradeTooltip: 'Dost臋pne tylko w planie zespo艂owym lub wy偶szym.',
-    iso27001: 'Certyfikacja ISO 27001:2022',
-    soc2Type1: 'Raport SOC 2 Typ I',
-    gdpr: 'GDPR DPA',
-  },
-  imageInput: {
-    dropImageHere: 'Upu艣膰 sw贸j obraz tutaj, lub',
-    browse: 'przegl膮daj',
-    supportedFormats: 'Obs艂uguje PNG, JPG, JPEG, WEBP i GIF',
   },
 }
 
diff --git a/i18n/pl-PL/custom.ts b/i18n/pl-PL/custom.ts
index 8703ebb..15d71cc 100644
--- a/i18n/pl-PL/custom.ts
+++ b/i18n/pl-PL/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Zaktualizuj sw贸j plan, aby',
     suffix: 'dostosowa膰 swoj膮 mark臋.',
-    title: 'Zmie艅 sw贸j plan',
-    des: 'Zaktualizuj sw贸j plan, aby dostosowa膰 swoj膮 mark臋',
   },
   webapp: {
     title: 'Dostosuj mark臋 aplikacji internetowej',
diff --git a/i18n/pl-PL/dataset-creation.ts b/i18n/pl-PL/dataset-creation.ts
index 236202d..6a7c890 100644
--- a/i18n/pl-PL/dataset-creation.ts
+++ b/i18n/pl-PL/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Utw贸rz Wiedz臋',
       update: 'Dodaj dane',
-      fallbackRoute: 'Wiedza',
     },
     one: 'Wybierz 藕r贸d艂o danych',
     two: 'Przetwarzanie i Czyszczenie Tekstu',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: 'Prze艣lij plik tekstowy',
-      button: 'Przeci膮gnij i upu艣膰 pliki lub foldery lub',
+      button: 'Przeci膮gnij i upu艣膰 plik lub',
       browse: 'Przegl膮daj',
       tip: 'Obs艂uguje {{supportTypes}}. Maksymalnie {{size}}MB ka偶dy.',
       validation: {
@@ -54,7 +53,7 @@
     },
     website: {
       limit: 'Ogranicza膰',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       firecrawlDoc: 'Dokumentacja Firecrawl',
       unknownError: 'Nieznany b艂膮d',
       fireCrawlNotConfiguredDescription: 'Skonfiguruj Firecrawl z kluczem API, aby z niego korzysta膰.',
@@ -83,14 +82,6 @@
       jinaReaderDoc: 'Dowiedz si臋 wi臋cej o Jina Reader',
       jinaReaderTitle: 'Konwertowanie ca艂ej witryny na j臋zyk Markdown',
       jinaReaderNotConfiguredDescription: 'Skonfiguruj Jina Reader, wprowadzaj膮c bezp艂atny klucz API, aby uzyska膰 dost臋p.',
-      watercrawlTitle: 'Wyodr臋bnij tre艣ci z sieci za pomoc膮 Watercrawl',
-      configureWatercrawl: 'Skonfiguruj Watercrawl',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureJinaReader: 'Skonfiguruj Czytnik Jina',
-      configureFirecrawl: 'Skonfiguruj Firecrawl',
-      watercrawlDoc: 'Dokumentacja Watercrawl',
-      waterCrawlNotConfiguredDescription: 'Skonfiguruj Watercrawl z kluczem API, aby go u偶ywa膰.',
-      waterCrawlNotConfigured: 'Watercrawl nie jest skonfigurowany',
     },
     cancel: 'Anuluj',
   },
@@ -223,11 +214,6 @@
     learnMore: 'Dowiedz si臋 wi臋cej',
     title: 'Po艂膮czy膰 si臋 z innymi 藕r贸d艂ami danych?',
     description: 'Obecnie baza wiedzy Dify ma tylko ograniczone 藕r贸d艂a danych. Dodanie 藕r贸d艂a danych do bazy wiedzy Dify to fantastyczny spos贸b na zwi臋kszenie elastyczno艣ci i mo偶liwo艣ci platformy dla wszystkich u偶ytkownik贸w. Nasz przewodnik po wk艂adach u艂atwia rozpocz臋cie pracy. Kliknij poni偶szy link, aby dowiedzie膰 si臋 wi臋cej.',
-  },
-  watercrawl: {
-    apiKeyPlaceholder: 'Klucz API z watercrawl.dev',
-    configWatercrawl: 'Skonfiguruj Watercrawl',
-    getApiKeyLinkText: 'Uzyskaj sw贸j klucz API z watercrawl.dev',
   },
 }
 
diff --git a/i18n/pl-PL/dataset-documents.ts b/i18n/pl-PL/dataset-documents.ts
index 37f373a..d5292fd 100644
--- a/i18n/pl-PL/dataset-documents.ts
+++ b/i18n/pl-PL/dataset-documents.ts
@@ -134,7 +134,7 @@
         language: 'J臋zyk',
         authorPublisher: 'Autor/Wydawca',
         publishDate: 'Data publikacji',
-        topicKeywords: 'Tematy/S艂owa kluczowe',
+        topicsKeywords: 'Tematy/S艂owa kluczowe',
         description: 'Opis',
       },
       paper: {
diff --git a/i18n/pl-PL/dataset-settings.ts b/i18n/pl-PL/dataset-settings.ts
index 03462ad..ff2a2e5 100644
--- a/i18n/pl-PL/dataset-settings.ts
+++ b/i18n/pl-PL/dataset-settings.ts
@@ -30,7 +30,6 @@
       description: ' dotycz膮ce metody doboru.',
       longDescription:
         ' dotycz膮ce metody doboru, mo偶esz to zmieni膰 w dowolnym momencie w ustawieniach wiedzy.',
-      method: 'Metoda pozyskiwania',
     },
     save: 'Zapisz',
     permissionsInvitedMembers: 'Cz臋艣ciowi cz艂onkowie zespo艂u',
@@ -41,7 +40,6 @@
     helpText: 'Dowiedz si臋, jak napisa膰 dobry opis zestawu danych.',
     upgradeHighQualityTip: 'Po uaktualnieniu do trybu wysokiej jako艣ci powr贸t do trybu ekonomicznego nie jest dost臋pny',
     indexMethodChangeToEconomyDisabledTip: 'Niedost臋pne w przypadku zmiany z HQ na ECO',
-    searchModel: 'Szukaj modelu',
   },
 }
 
diff --git a/i18n/pl-PL/dataset.ts b/i18n/pl-PL/dataset.ts
index 3006c46..9a5ed10 100644
--- a/i18n/pl-PL/dataset.ts
+++ b/i18n/pl-PL/dataset.ts
@@ -174,54 +174,6 @@
   enable: 'Umo偶liwia膰',
   allKnowledge: 'Ca艂a wiedza',
   allKnowledgeDescription: 'Wybierz t臋 opcj臋, aby wy艣wietli膰 ca艂膮 wiedz臋 w tym obszarze roboczym. Tylko w艂a艣ciciel obszaru roboczego mo偶e zarz膮dza膰 ca艂膮 wiedz膮.',
-  metadata: {
-    createMetadata: {
-      back: 'Ty艂',
-      namePlaceholder: 'Dodaj nazw臋 metadanych',
-      name: 'Imi臋',
-      title: 'Nowe metadane',
-      type: 'Typ',
-    },
-    checkName: {
-      empty: 'Nazwa metadanych nie mo偶e by膰 pusta',
-      invalid: 'Nazwa metadanych mo偶e zawiera膰 tylko ma艂e litery, cyfry i podkre艣lenia oraz musi zaczyna膰 si臋 od ma艂ej litery',
-    },
-    batchEditMetadata: {
-      multipleValue: 'Wielokrotna warto艣膰',
-      editMetadata: 'Edytuj metadane',
-      editDocumentsNum: 'Edycja {{num}} dokument贸w',
-      applyToAllSelectDocument: 'Zastosuj do wszystkich wybranych dokument贸w',
-      applyToAllSelectDocumentTip: 'Automatycznie utw贸rz wszystkie powy偶ej wymienione edytowane i nowe metadane dla wszystkich wybranych dokument贸w, w przeciwnym razie edytowanie metadanych b臋dzie dotyczy膰 tylko dokument贸w, kt贸re je posiadaj膮.',
-    },
-    selectMetadata: {
-      manageAction: 'Zarz膮dzaj',
-      newAction: 'Nowe metadane',
-      search: 'Szukaj metadanych',
-    },
-    datasetMetadata: {
-      values: '{{num}} Warto艣ci',
-      rename: 'Zmie艅 nazw臋',
-      namePlaceholder: 'Nazwa metadanych',
-      addMetaData: 'Dodaj metadane',
-      deleteContent: 'Czy na pewno chcesz usun膮膰 metadane "{{name}}"?',
-      builtIn: 'Wbudowany',
-      deleteTitle: 'Potwierd藕 usuni臋cie',
-      description: 'Mo偶esz zarz膮dza膰 wszystkimi metadanymi w tej wiedzy tutaj. Modyfikacje b臋d膮 synchronizowane z ka偶dym dokumentem.',
-      name: 'Imi臋',
-      disabled: 'Wy艂膮czone',
-      builtInDescription: 'Wbudowane metadane s膮 automatycznie ekstraktowane i generowane. Musz膮 by膰 w艂膮czone przed u偶yciem i nie mo偶na ich edytowa膰.',
-    },
-    documentMetadata: {
-      technicalParameters: 'Parametry techniczne',
-      startLabeling: 'Rozpocznij etykietowanie',
-      documentInformation: 'Informacje o dokumencie',
-      metadataToolTip: 'Metadane s艂u偶膮 jako istotny filtr, kt贸ry zwi臋ksza dok艂adno艣膰 i trafno艣膰 wyszukiwania informacji. Mo偶esz modyfikowa膰 i dodawa膰 metadane do tego dokumentu tutaj.',
-    },
-    metadata: 'Metadane',
-    addMetadata: 'Dodaj metadane',
-    chooseTime: 'Wybierz czas...',
-  },
-  embeddingModelNotAvailable: 'Model osadzaj膮cy jest niedost臋pny.',
 }
 
 export default translation
diff --git a/i18n/pl-PL/explore.ts b/i18n/pl-PL/explore.ts
index f9e8b30..58c6911 100644
--- a/i18n/pl-PL/explore.ts
+++ b/i18n/pl-PL/explore.ts
@@ -38,7 +38,6 @@
     HR: 'HR',
     Agent: 'Agent',
     Workflow: 'Przep艂yw pracy',
-    Entertainment: 'Rozrywka',
   },
 }
 
diff --git a/i18n/pl-PL/run-log.ts b/i18n/pl-PL/run-log.ts
index 5762005..a134057 100644
--- a/i18n/pl-PL/run-log.ts
+++ b/i18n/pl-PL/run-log.ts
@@ -24,8 +24,6 @@
     link: 'panelu szczeg贸艂贸w',
     tipRight: ' aby je zobaczy膰.',
   },
-  circularInvocationTip: 'W bie偶膮cym przep艂ywie pracy istnieje cykliczne wywo艂ywanie narz臋dzi/w臋z艂贸w.',
-  actionLogs: 'Dzienniki akcji',
 }
 
 export default translation
diff --git a/i18n/pl-PL/share-app.ts b/i18n/pl-PL/share-app.ts
index 80619cf..90b6ca1 100644
--- a/i18n/pl-PL/share-app.ts
+++ b/i18n/pl-PL/share-app.ts
@@ -27,12 +27,6 @@
     },
     tryToSolve: 'Spr贸buj rozwi膮za膰',
     temporarySystemIssue: 'Przepraszamy, tymczasowy problem systemowy.',
-    expand: 'Rozwi艅',
-    collapse: 'Zwi艅',
-    chatSettingsTitle: 'Nowa konfiguracja czatu',
-    viewChatSettings: 'Zobacz ustawienia czatu',
-    chatFormTip: 'Ustawienia czatu nie mog膮 by膰 modyfikowane po rozpocz臋ciu czatu.',
-    newChatTip: 'Ju偶 w nowej czacie',
   },
   generation: {
     tabs: {
@@ -75,8 +69,6 @@
       atLeastOne:
         'Prosz臋 wprowad藕 co najmniej jeden wiersz w za艂adowanym pliku.',
     },
-    executions: '{{num}} EGZEKUCJI',
-    execution: 'WYKONANIE',
   },
 }
 
diff --git a/i18n/pl-PL/tools.ts b/i18n/pl-PL/tools.ts
index 49e30c5..7688835 100644
--- a/i18n/pl-PL/tools.ts
+++ b/i18n/pl-PL/tools.ts
@@ -123,7 +123,6 @@
     number: 'liczba',
     required: 'Wymagane',
     infoAndSetting: 'Informacje i Ustawienia',
-    file: 'plik',
   },
   noCustomTool: {
     title: 'Brak niestandardowych narz臋dzi!',
@@ -155,8 +154,6 @@
   openInStudio: 'Otwieranie w Studio',
   customToolTip: 'Dowiedz si臋 wi臋cej o niestandardowych narz臋dziach Dify',
   toolNameUsageTip: 'Nazwa wywo艂ania narz臋dzia do wnioskowania i podpowiadania agentowi',
-  noTools: 'Nie znaleziono narz臋dzi',
-  copyToolName: 'Kopiuj nazw臋',
 }
 
 export default translation
diff --git a/i18n/pl-PL/workflow.ts b/i18n/pl-PL/workflow.ts
index ebf1f47..95f6d73 100644
--- a/i18n/pl-PL/workflow.ts
+++ b/i18n/pl-PL/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Dodawanie ga艂臋zi niepowodzenia',
     loadMore: 'Za艂aduj wi臋cej przep艂yw贸w pracy',
     noHistory: 'Brak historii',
-    exportImage: 'Eksportuj obraz',
-    exitVersions: 'Wersje wyj艣cia',
-    versionHistory: 'Historia wersji',
-    exportSVG: 'Eksportuj jako SVG',
-    exportJPEG: 'Eksportuj jako JPEG',
-    noExist: 'Nie ma takiej zmiennej',
-    exportPNG: 'Eksportuj jako PNG',
-    publishUpdate: 'Opublikuj aktualizacj臋',
-    referenceVar: 'Zmienna odniesienia',
   },
   env: {
     envPanelTitle: 'Zmienne 艢rodowiskowe',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Nieprawid艂owa zmienna',
     rerankModelRequired: 'Przed w艂膮czeniem Rerank Model upewnij si臋, 偶e model zosta艂 pomy艣lnie skonfigurowany w ustawieniach.',
-    noValidTool: '{{field}} nie wybrano prawid艂owego narz臋dzia',
-    toolParameterRequired: '{{field}}: parametr [{{param}}] jest wymagany',
   },
   singleRun: {
     testRun: 'Testowe uruchomienie ',
@@ -214,7 +203,6 @@
     testRunIteration: 'Iteracja testowego uruchomienia',
     back: 'Wstecz',
     iteration: 'Iteracja',
-    loop: 'P臋tla',
   },
   tabs: {
     'searchBlock': 'Szukaj bloku',
@@ -230,8 +218,6 @@
     'utilities': 'Narz臋dzia pomocnicze',
     'noResult': 'Nie znaleziono dopasowa艅',
     'searchTool': 'Wyszukiwarka',
-    'agent': 'Strategia agenta',
-    'plugin': 'Wtyczka',
   },
   blocks: {
     'start': 'Start',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Ekstraktor parametr贸w',
     'document-extractor': 'Ekstraktor dokument贸w',
     'list-operator': 'Operator listy',
-    'agent': 'Agent',
-    'loop-start': 'Pocz膮tek p臋tli',
-    'loop-end': 'Wyj艣cie z p臋tli',
-    'loop': 'P臋tla',
   },
   blocksAbout: {
     'start': 'Zdefiniuj pocz膮tkowe parametry uruchamiania przep艂ywu pracy',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'U偶yj LLM do wyodr臋bnienia strukturalnych parametr贸w z j臋zyka naturalnego do wywo艂a艅 narz臋dzi lub 偶膮da艅 HTTP.',
     'document-extractor': 'S艂u偶y do analizowania przes艂anych dokument贸w w tre艣ci tekstowej, kt贸ra jest 艂atwo zrozumia艂a dla LLM.',
     'list-operator': 'S艂u偶y do filtrowania lub sortowania zawarto艣ci tablicy.',
-    'agent': 'Wywo艂ywanie du偶ych modeli j臋zykowych w celu odpowiadania na pytania lub przetwarzania j臋zyka naturalnego',
-    'loop': 'Wykonaj p臋tl臋 logiki, dop贸ki nie zostanie spe艂niony warunek zako艅czenia lub nie zostanie osi膮gni臋ta maksymalna liczba iteracji.',
-    'loop-end': 'Odpowiada "break". Ten w臋ze艂 nie ma element贸w konfiguracyjnych. Gdy cia艂o p臋tli dotrze do tego w臋z艂a, p臋tla zostaje zako艅czona.',
   },
   operator: {
     zoomIn: 'Powi臋ksz',
@@ -419,34 +398,6 @@
         variable: 'Zmienna',
       },
       sysQueryInUser: 'sys.query w wiadomo艣ci u偶ytkownika jest wymagane',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Prosz臋 uko艅czy膰 edytowanie bie偶膮cego pola przed zapisaniem schematu.',
-        },
-        generate: 'Generowa膰',
-        addChildField: 'Dodaj pole dziecka',
-        fieldNamePlaceholder: 'Nazwa pola',
-        resetDefaults: 'Resetuj',
-        generationTip: 'Mo偶esz u偶y膰 j臋zyka naturalnego, aby szybko stworzy膰 schemat JSON.',
-        required: 'wymagane',
-        stringValidations: 'Walidacje ci膮g贸w',
-        promptPlaceholder: 'Opisz sw贸j schemat JSON...',
-        promptTooltip: 'Przekszta艂膰 opis tekstowy w ustandaryzowan膮 struktur臋 schematu JSON.',
-        title: 'Strukturalny schemat wyj艣cia',
-        instruction: 'Instrukcja',
-        doc: 'Dowiedz si臋 wi臋cej o zorganizowanym wyj艣ciu',
-        descriptionPlaceholder: 'Dodaj opis',
-        regenerate: 'Regeneruj',
-        generateJsonSchema: 'Generuj schemat JSON',
-        generatedResult: 'Wygenerowany wynik',
-        showAdvancedOptions: 'Poka偶 zaawansowane opcje',
-        apply: 'Zastosowa膰',
-        generating: 'Generowanie schematu JSON...',
-        import: 'Importuj z JSON',
-        resultTip: 'Oto wygenerowany wynik. Je艣li nie jeste艣 zadowolony, mo偶esz wr贸ci膰 i zmodyfikowa膰 swoje zapytanie.',
-        back: 'Ty艂',
-        addField: 'Dodaj pole',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Zmienna zapytania',
@@ -458,33 +409,6 @@
         icon: 'Ikona segmentowana',
         url: 'URL segmentowany',
         metadata: 'Inne metadane',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: 'Wy艂膮czone',
-            subTitle: 'Nie w艂膮czanie filtrowania metadanych',
-          },
-          automatic: {
-            desc: 'Automatycznie generuj warunki filtracji metadanych na podstawie zmiennej zapytania',
-            title: 'Automatyczny',
-            subTitle: 'Automatycznie generuj warunki filtracji metadanych na podstawie zapytania u偶ytkownika',
-          },
-          manual: {
-            subTitle: 'R臋cznie dodaj warunki filtrowania metadanych',
-            title: 'R臋czny',
-          },
-        },
-        panel: {
-          conditions: 'Warunki',
-          title: 'Warunki filtru metadanych',
-          placeholder: 'Wprowad藕 warto艣膰',
-          search: 'Szukaj metadanych',
-          datePlaceholder: 'Wybierz czas...',
-          add: 'Dodaj warunek',
-          select: 'Wybierz zmienn膮...',
-        },
-        title: 'Filtrowanie metadanych',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'exists': 'Istnieje',
         'all of': 'wszystkie z nich',
         'not in': 'nie w',
-        'before': 'przed',
-        'after': 'po',
       },
       enterValue: 'Wpisz warto艣膰',
       addCondition: 'Dodaj warunek',
@@ -592,7 +514,6 @@
       },
       addSubVariable: 'Zmienna podrz臋dna',
       select: 'Wybra膰',
-      condition: 'Stan',
     },
     variableAssigner: {
       title: 'Przypisz zmienne',
@@ -635,8 +556,6 @@
         '+=': '+=',
         'clear': 'Jasny',
         'append': 'Do艂膮czy膰',
-        'remove-first': 'Usu艅 pierwszy',
-        'remove-last': 'Usu艅 ostatni',
       },
       'variables': 'Zmiennych',
       'selectAssignedVariable': 'Wybierz przypisan膮 zmienn膮...',
@@ -772,107 +691,6 @@
       selectVariableKeyPlaceholder: 'Wybierz klucz zmiennej podrz臋dnej',
       extractsCondition: 'Wyodr臋bnij element N',
     },
-    agent: {
-      strategy: {
-        configureTip: 'Skonfiguruj strategi臋 agentyczn膮.',
-        selectTip: 'Wybierz strategi臋 agentyczn膮',
-        searchPlaceholder: 'Strategia agentyczna wyszukiwania',
-        configureTipDesc: 'Po skonfigurowaniu strategii agentycznej ten w臋ze艂 automatycznie za艂aduje pozosta艂e konfiguracje. Strategia b臋dzie mia艂a wp艂yw na mechanizm wieloetapowego rozumowania narz臋dziowego.',
-        shortLabel: 'Strategia',
-        label: 'Strategia agentyczna',
-        tooltip: 'R贸偶ne strategie agentowe okre艣laj膮, w jaki spos贸b system planuje i wykonuje wieloetapowe wywo艂ania narz臋dzi',
-      },
-      pluginInstaller: {
-        installing: 'Instalowanie',
-        install: 'Instalowa膰',
-      },
-      modelNotInMarketplace: {
-        desc: 'Ten model jest instalowany z repozytorium lokalnego lub GitHub. Prosz臋 u偶y膰 po instalacji.',
-        manageInPlugins: 'Zarz膮dzanie we wtyczkach',
-        title: 'Model nie jest zainstalowany',
-      },
-      modelNotSupport: {
-        desc: 'Zainstalowana wersja wtyczki nie zapewnia tego modelu.',
-        descForVersionSwitch: 'Zainstalowana wersja wtyczki nie zapewnia tego modelu. Kliknij, aby zmieni膰 wersj臋.',
-        title: 'Nieobs艂ugiwany model',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Ten model jest przestarza艂y',
-      },
-      outputVars: {
-        files: {
-          title: 'Pliki generowane przez agenta',
-          type: 'Rodzaj wsparcia. Teraz obs艂uguje tylko obraz',
-          transfer_method: 'Metoda transferu. Warto艣膰 to remote_url lub local_file',
-          upload_file_id: 'Identyfikator przesy艂anego pliku',
-          url: 'Adres URL obrazu',
-        },
-        json: 'Kod JSON wygenerowany przez agenta',
-        text: 'Tre艣ci generowane przez agent贸w',
-      },
-      checkList: {
-        strategyNotSelected: 'Nie wybrano strategii',
-      },
-      installPlugin: {
-        install: 'Instalowa膰',
-        changelog: 'Dziennik zmian',
-        desc: 'Informacje o instalacji nast臋puj膮cej wtyczki',
-        cancel: 'Anuluj',
-        title: 'Zainstaluj wtyczk臋',
-      },
-      notAuthorized: 'Nieautoryzowany',
-      pluginNotInstalledDesc: 'Ta wtyczka jest instalowana z GitHub. Przejd藕 do Wtyczki, aby ponownie zainstalowa膰',
-      toolNotAuthorizedTooltip: '{{narz臋dzie}} Nieautoryzowany',
-      linkToPlugin: 'Link do wtyczek',
-      maxIterations: 'Maksymalna liczba iteracji',
-      strategyNotFoundDesc: 'Zainstalowana wersja wtyczki nie zapewnia tej strategii.',
-      strategyNotInstallTooltip: '{{strategy}} nie jest zainstalowany',
-      modelNotSelected: 'Nie wybrano modelu',
-      pluginNotFoundDesc: 'Ta wtyczka jest instalowana z GitHub. Przejd藕 do Wtyczki, aby ponownie zainstalowa膰',
-      tools: 'Narz臋dzia',
-      unsupportedStrategy: 'Nieobs艂ugiwana strategia',
-      configureModel: 'Konfiguruj model',
-      toolbox: 'skrzynka z narz臋dziami',
-      modelNotInstallTooltip: 'Ten model nie jest zainstalowany',
-      strategyNotFoundDescAndSwitchVersion: 'Zainstalowana wersja wtyczki nie zapewnia tej strategii. Kliknij, aby zmieni膰 wersj臋.',
-      toolNotInstallTooltip: '{{tool}} nie jest zainstalowany',
-      pluginNotInstalled: 'Ta wtyczka nie jest zainstalowana',
-      learnMore: 'Dowiedz si臋 wi臋cej',
-      strategyNotSet: 'Nie ustawiono strategii agentalnej',
-      model: 'model',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: 'Zako艅czony',
-        removeAbnormalOutput: 'Usu艅 nietypowy wynik',
-        continueOnError: 'Kontynuuj w przypadku b艂臋du',
-      },
-      inputMode: 'Tryb wej艣ciowy',
-      loop_other: '{{count}} P臋tle',
-      deleteDesc: 'Usuni臋cie w臋z艂a p臋tli spowoduje usuni臋cie wszystkich w臋z艂贸w potomnych.',
-      loopVariables: 'Zmienne p臋tli',
-      variableName: 'Nazwa zmiennej',
-      output: 'Zmienna wyj艣ciowa',
-      breakCondition: 'Warunek zako艅czenia p臋tli',
-      input: 'Wprowadzenie',
-      initialLoopVariables: 'Pocz膮tkowe zmienne p臋tli',
-      error_one: '{{count}} B艂膮d',
-      loopNode: 'W臋ze艂 p臋tli',
-      loop_one: '{{count}} p臋tla',
-      currentLoop: 'P臋tla pr膮dowa',
-      finalLoopVariables: 'Ostateczne zmienne p臋tli',
-      comma: ',',
-      loopMaxCountError: 'Prosz臋 wprowadzi膰 prawid艂ow膮 maksymaln膮 liczb臋 iteracji, mieszcz膮c膮 si臋 w przedziale od 1 do {{maxCount}}',
-      error_other: '{{count}} b艂臋d贸w',
-      totalLoopCount: 'Ca艂kowita liczba p臋tli: {{count}}',
-      exitConditionTip: 'W臋ze艂 p臋tli potrzebuje przynajmniej jednego warunku wyj艣cia.',
-      setLoopVariables: 'Ustaw zmienne w zakresie p臋tli',
-      loopMaxCount: 'Maksymalna liczba p臋tli',
-      errorResponseMethod: 'Metoda odpowiedzi na b艂膮d',
-      breakConditionTip: 'Tylko zmienne w p臋tlach z warunkami zako艅czenia oraz zmienne konwersacyjne mog膮 by膰 odwo艂ywane.',
-      currentLoopCount: 'Aktualna liczba p臋tli: {{count}}',
-      deleteTitle: 'Usun膮膰 w臋ze艂 p臋tli?',
-    },
   },
   tracing: {
     stopBy: 'Zatrzymane przez {{user}}',
@@ -883,38 +701,6 @@
     noVarsForOperation: 'Nie ma dost臋pnych zmiennych do przypisania do wybranej operacji.',
     noAssignedVars: 'Brak dost臋pnych przypisanych zmiennych',
     noAvailableVars: 'Brak dost臋pnych zmiennych',
-  },
-  versionHistory: {
-    filter: {
-      onlyShowNamedVersions: 'Pokazuj tylko wersje z nazwami',
-      all: 'Wszystko',
-      onlyYours: 'Tylko tw贸j',
-      empty: 'Nie znaleziono odpowiadaj膮cej historii wersji',
-      reset: 'Resetuj filtr',
-    },
-    editField: {
-      releaseNotes: 'Notatki o wydaniu',
-      releaseNotesLengthLimit: 'Notatki o wydaniu nie mog膮 przekracza膰 {{limit}} znak贸w',
-      title: 'Tytu艂',
-      titleLengthLimit: 'Tytu艂 nie mo偶e przekracza膰 {{limit}} znak贸w',
-    },
-    action: {
-      updateSuccess: 'Wersja zaktualizowana',
-      updateFailure: 'Nie uda艂o si臋 zaktualizowa膰 wersji',
-      deleteFailure: 'Nie uda艂o si臋 usun膮膰 wersji',
-      deleteSuccess: 'Wersja usuni臋ta',
-      restoreSuccess: 'Wersja przywr贸cona',
-      restoreFailure: 'Nie uda艂o si臋 przywr贸ci膰 wersji',
-    },
-    currentDraft: 'Aktualny szkic',
-    nameThisVersion: 'Nazwij t臋 wersj臋',
-    defaultName: 'Nienazwana wersja',
-    title: 'Wersje',
-    latest: 'Najnowszy',
-    releaseNotesPlaceholder: 'Opisz, co si臋 zmieni艂o',
-    editVersionInfo: 'Edytuj informacje o wersji',
-    deletionTip: 'Usuni臋cie jest nieodwracalne, prosz臋 potwierdzi膰.',
-    restorationTip: 'Po przywr贸ceniu wersji bie偶膮cy szkic zostanie nadpisany.',
   },
 }
 
diff --git a/i18n/pt-BR/app-overview.ts b/i18n/pt-BR/app-overview.ts
index 10e47a7..1431fa1 100644
--- a/i18n/pt-BR/app-overview.ts
+++ b/i18n/pt-BR/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Defina o tema de cor do chatbot',
         chatColorThemeInverted: 'Inve',
         invalidHexMessage: 'Valor hex inv谩lido',
-        invalidPrivacyPolicy: 'Link de pol铆tica de privacidade inv谩lido. Por favor, use um link v谩lido que comece com http ou https',
         more: {
           entry: 'Mostrar mais configura莽玫es',
           copyright: 'Direitos autorais',
@@ -113,7 +112,6 @@
           operation: 'Documenta莽茫o',
         },
       },
-      launch: 'Lan莽ar',
     },
     apiInfo: {
       title: 'API de Servi莽o de Back-end',
diff --git a/i18n/pt-BR/app.ts b/i18n/pt-BR/app.ts
index c09c2de..79346d8 100644
--- a/i18n/pt-BR/app.ts
+++ b/i18n/pt-BR/app.ts
@@ -159,10 +159,6 @@
       description: 'Opik 茅 uma plataforma de c贸digo aberto para avaliar, testar e monitorar aplicativos LLM.',
       title: 'Opik',
     },
-    weave: {
-      description: 'Weave 茅 uma plataforma de c贸digo aberto para avaliar, testar e monitorar aplica莽玫es de LLM.',
-      title: 'Tran莽ar',
-    },
   },
   answerIcon: {
     descriptionInExplore: 'Se o 铆cone do WebApp deve ser usado para substituir 馃 no Explore',
@@ -192,23 +188,6 @@
     byCategories: 'POR CATEGORIAS',
   },
   showMyCreatedAppsOnly: 'Mostrar apenas meus aplicativos criados',
-  appSelector: {
-    label: 'APLICA脟脙O',
-    noParams: 'N茫o s茫o necess谩rios par芒metros',
-    placeholder: 'Selecione um aplicativo...',
-    params: 'PAR脗METROS DO APLICATIVO',
-  },
-  structOutput: {
-    LLMResponse: 'Resposta do LLM',
-    configure: 'Configurar',
-    required: 'Requerido',
-    modelNotSupported: 'Modelo n茫o suportado',
-    structured: 'Estruturado',
-    modelNotSupportedTip: 'O modelo atual n茫o suporta esse recurso e 茅 automaticamente rebaixado para inje莽茫o de prompt.',
-    structuredTip: 'Sa铆das Estruturadas 茅 um recurso que garante que o modelo sempre gerar谩 respostas que seguem o seu Esquema JSON fornecido.',
-    moreFillTip: 'Mostrando um m谩ximo de 10 n铆veis de aninhamento',
-    notConfiguredTip: 'A sa铆da estruturada ainda n茫o foi configurada.',
-  },
 }
 
 export default translation
diff --git a/i18n/pt-BR/billing.ts b/i18n/pt-BR/billing.ts
index f26008c..0a7a964 100644
--- a/i18n/pt-BR/billing.ts
+++ b/i18n/pt-BR/billing.ts
@@ -66,7 +66,6 @@
     messageRequest: {
       title: 'Cr茅ditos de Mensagem',
       tooltip: 'Cotas de invoca莽茫o de mensagens para v谩rios planos usando modelos da OpenAI (exceto gpt4). Mensagens al茅m do limite usar茫o sua Chave de API da OpenAI.',
-      titlePerMonth: '{{count,number}} mensagens/m锚s',
     },
     annotatedResponse: {
       title: 'Limites de Cota de Anota莽茫o',
@@ -79,94 +78,27 @@
     annotationQuota: 'Cota de anota莽茫o',
     contractSales: 'Entre em contato com a equipe de vendas',
     unavailable: 'Indispon铆vel',
-    priceTip: 'por espa莽o de trabalho/',
-    apiRateLimit: 'Limite de Taxa da API',
-    freeTrialTipPrefix: 'Inscreva-se e receba um',
-    teamMember_one: '{{count,number}} Membro da Equipe',
-    documentsRequestQuota: '{{count,number}}/min Limite de Taxa de Solicita莽茫o de Conhecimento',
-    cloud: 'Servi莽o de Nuvem',
-    teamWorkspace: '{{count,number}} Espa莽o de Trabalho da Equipe',
-    apiRateLimitUnit: '{{count,number}}/dia',
-    freeTrialTipSuffix: 'Nenhum cart茫o de cr茅dito necess谩rio',
-    teamMember_other: '{{count,number}} Membros da Equipe',
-    comparePlanAndFeatures: 'Compare planos e recursos',
-    getStarted: 'Come莽ar',
-    annualBilling: 'Cobran莽a Anual',
-    self: 'Auto-Hospedado',
-    documentsTooltip: 'Cota sobre o n煤mero de documentos importados da Fonte de Dados do Conhecimento.',
-    freeTrialTip: 'teste gratuito de 200 chamadas da OpenAI.',
-    documents: '{{count,number}} Documentos de Conhecimento',
-    unlimitedApiRate: 'Sem limite de taxa da API',
-    apiRateLimitTooltip: 'O limite da taxa da API se aplica a todas as solicita莽玫es feitas atrav茅s da API Dify, incluindo gera莽茫o de texto, conversas de chat, execu莽玫es de fluxo de trabalho e processamento de documentos.',
-    documentsRequestQuotaTooltip: 'Especifica o n煤mero total de a莽玫es que um espa莽o de trabalho pode realizar por minuto dentro da base de conhecimento, incluindo cria莽茫o, exclus茫o, atualiza莽玫es de conjuntos de dados, uploads de documentos, modifica莽玫es, arquivamento e consultas 脿 base de conhecimento. Esse m茅trica 茅 utilizada para avaliar o desempenho das solicita莽玫es 脿 base de conhecimento. Por exemplo, se um usu谩rio do Sandbox realizar 10 testes de impacto consecutivos dentro de um minuto, seu espa莽o de trabalho ficar谩 temporariamente restrito de realizar as seguintes a莽玫es no minuto seguinte: cria莽茫o, exclus茫o, atualiza莽玫es de conjuntos de dados e uploads ou modifica莽玫es de documentos.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200 vezes GPT de teste gratuito',
       includesTitle: 'Inclui:',
-      for: 'Teste gratuito das capacidades principais',
     },
     professional: {
       name: 'Profissional',
       description: 'Para indiv铆duos e pequenas equipes desbloquearem mais poder de forma acess铆vel.',
       includesTitle: 'Tudo no plano gratuito, al茅m de:',
-      for: 'Para Desenvolvedores Independentes/Pequenas Equipes',
     },
     team: {
       name: 'Equipe',
       description: 'Colabore sem limites e aproveite o desempenho de primeira linha.',
       includesTitle: 'Tudo no plano Profissional, al茅m de:',
-      for: 'Para Equipes de M茅dio Porte',
     },
     enterprise: {
       name: 'Empresa',
       description: 'Obtenha capacidades completas e suporte para sistemas cr铆ticos em larga escala.',
       includesTitle: 'Tudo no plano Equipe, al茅m de:',
-      features: {
-        6: 'Seguran莽a e Controles Avan莽ados',
-        7: 'Atualiza莽玫es e Manuten莽茫o por Dify Oficialmente',
-        5: 'Acordos de N铆vel de Servi莽o negociados pelos Parceiros Dify',
-        1: 'Autoriza莽茫o de Licen莽a Comercial',
-        8: 'Suporte T茅cnico Profissional',
-        4: 'SSO',
-        2: 'Recursos Exclusivos da Empresa',
-        3: 'M煤ltiplos Espa莽os de Trabalho e Gest茫o Empresarial',
-        0: 'Solu莽玫es de Implanta莽茫o Escal谩veis de N铆vel Empresarial',
-      },
-      btnText: 'Contate Vendas',
-      priceTip: 'Faturamento Anual Apenas',
-      price: 'Custom',
-      for: 'Para equipes de grande porte',
-    },
-    community: {
-      features: {
-        1: 'Espa莽o de Trabalho 脷nico',
-        0: 'Todos os recursos principais lan莽ados sob o reposit贸rio p煤blico',
-        2: 'Cumpre a Licen莽a de C贸digo Aberto Dify',
-      },
-      name: 'Comunidade',
-      description: 'Para Usu谩rios Individuais, Pequenas Equipes ou Projetos N茫o Comerciais',
-      includesTitle: 'Recursos Gratuitos:',
-      btnText: 'Comece com a Comunidade',
-      price: 'Gr谩tis',
-      for: 'Para Usu谩rios Individuais, Pequenas Equipes ou Projetos N茫o Comerciais',
-    },
-    premium: {
-      features: {
-        1: 'Espa莽o de Trabalho 脷nico',
-        3: 'Suporte priorit谩rio por e-mail e chat',
-        2: 'Customiza莽茫o de Logo e Branding do WebApp',
-        0: 'Confiabilidade autogerenciada por v谩rios provedores de nuvem',
-      },
-      includesTitle: 'Tudo da Comunidade, al茅m de:',
-      for: 'Para organiza莽玫es e equipes de m茅dio porte',
-      price: 'Escal谩vel',
-      name: 'Premium',
-      comingSoon: 'Suporte da Microsoft Azure e Google Cloud em breve',
-      priceTip: 'Baseado no Mercado de Nuvem',
-      btnText: 'Obtenha Premium em',
-      description: 'Para organiza莽玫es e equipes de m茅dio porte',
     },
   },
   vectorSpace: {
@@ -176,26 +108,12 @@
   apps: {
     fullTipLine1: 'Fa莽a o upgrade do seu plano para',
     fullTipLine2: 'construir mais aplicativos.',
-    fullTip1: 'Atualize para criar mais aplicativos',
-    fullTip2: 'Limite do plano alcan莽ado',
-    fullTip1des: 'Voc锚 atingiu o limite de criar aplicativos neste plano.',
-    contactUs: 'Contate-nos',
-    fullTip2des: '脡 recomendado limpar aplica莽玫es inativas para liberar uso ou entrar em contato conosco.',
   },
   annotatedResponse: {
     fullTipLine1: 'Fa莽a o upgrade do seu plano para',
     fullTipLine2: 'anotar mais conversas.',
     quotaTitle: 'Cota de Respostas Anotadas',
   },
-  usagePage: {
-    documentsUploadQuota: 'Cota de Upload de Documentos',
-    annotationQuota: 'Cota de Anota莽茫o',
-    teamMembers: 'Membros da equipe',
-    vectorSpace: 'Armazenamento de Dados do Conhecimento',
-    vectorSpaceTooltip: 'Documentos com o modo de indexa莽茫o de Alta Qualidade consumir茫 recursos de Armazenamento de Dados de Conhecimento. Quando o Armazenamento de Dados de Conhecimento atingir o limite, novos documentos n茫o ser茫o carregados.',
-    buildApps: 'Desenvolver Apps',
-  },
-  teamMembers: 'Membros da equipe',
 }
 
 export default translation
diff --git a/i18n/pt-BR/common.ts b/i18n/pt-BR/common.ts
index 7b7eeaf..d0327de 100644
--- a/i18n/pt-BR/common.ts
+++ b/i18n/pt-BR/common.ts
@@ -50,14 +50,6 @@
     submit: 'Enviar',
     skip: 'Navio',
     imageCopied: 'Imagem copiada',
-    deleteApp: 'Excluir aplicativo',
-    copied: 'Copiado',
-    in: 'em',
-    viewDetails: 'Ver detalhes',
-    downloadFailed: 'Download falhou. Por favor, tente novamente mais tarde.',
-    more: 'Mais',
-    downloadSuccess: 'Download conclu铆do.',
-    format: 'Formato',
   },
   placeholder: {
     input: 'Por favor, insira',
@@ -130,8 +122,6 @@
       Custom: 'Personalizado',
     },
     addMoreModel: 'V谩 para configura莽玫es para adicionar mais modelos',
-    settingsLink: 'Configura莽玫es do provedor de modelos',
-    capabilities: 'Recursos multimodais',
   },
   menus: {
     status: 'beta',
@@ -144,7 +134,6 @@
     newApp: 'Novo App',
     newDataset: 'Criar Conhecimento',
     tools: 'Ferramentas',
-    exploreMarketplace: 'Explorar Mercado',
   },
   userProfile: {
     settings: 'Configura莽玫es',
@@ -157,9 +146,6 @@
     community: 'Comunidade',
     about: 'Sobre',
     logout: 'Sair',
-    github: 'GitHub',
-    support: 'Suporte',
-    compliance: 'Conformidade',
   },
   settings: {
     accountGroup: 'CONTA',
@@ -173,7 +159,6 @@
     dataSource: 'Fonte de dados',
     plugin: 'Plugins',
     apiBasedExtension: 'Extens茫o baseada em API',
-    generalGroup: 'GERAL',
   },
   account: {
     avatar: 'Avatar',
@@ -209,9 +194,6 @@
     feedbackTitle: 'Realimenta莽茫o',
     feedbackLabel: 'Diga-nos por que voc锚 excluiu sua conta?',
     feedbackPlaceholder: 'Opcional',
-    workspaceName: 'Nome do Espa莽o de Trabalho',
-    workspaceIcon: '脥cone de 脕rea de Trabalho',
-    editWorkspaceInfo: 'Editar Informa莽玫es do Espa莽o de Trabalho',
   },
   members: {
     team: 'Equipe',
@@ -304,7 +286,6 @@
       usedUp: 'Cota de teste esgotada. Adicione seu pr贸prio Fornecedor de Modelo.',
       useYourModel: 'Atualmente usando seu pr贸prio Fornecedor de Modelo.',
       close: 'Fechar',
-      trialQuotaTip: 'Sua cota de teste do Anthropic expirar谩 em 11/03/2025 e n茫o estar谩 mais dispon铆vel depois disso. Por favor, use-o a tempo.',
     },
     anthropic: {
       using: 'A capacidade de incorpora莽茫o est谩 sendo utilizada',
@@ -416,12 +397,6 @@
     loadBalancingInfo: 'Por padr茫o, o balanceamento de carga usa a estrat茅gia Round-robin. Se a limita莽茫o de taxa for acionada, um per铆odo de espera de 1 minuto ser谩 aplicado.',
     apiKeyRateLimit: 'O limite de taxa foi atingido, dispon铆vel ap贸s {{seconds}}s',
     loadBalancingHeadline: 'Balanceamento de carga',
-    emptyProviderTip: 'Instale um provedor de modelo primeiro.',
-    installProvider: 'Instalar provedores de modelo',
-    discoverMore: 'Descubra mais em',
-    configureTip: 'Configure a chave de API ou adicione o modelo a ser usado',
-    emptyProviderTitle: 'Provedor de modelo n茫o configurado',
-    toBeConfigured: 'A ser configurado',
   },
   dataSource: {
     add: 'Adicionar uma fonte de dados',
@@ -465,7 +440,7 @@
   apiBasedExtension: {
     title: 'As extens玫es de API fornecem gerenciamento centralizado de API, simplificando a configura莽茫o para uso f谩cil em todos os aplicativos da Dify.',
     link: 'Saiba como desenvolver sua pr贸pria Extens茫o de API.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Adicionar Extens茫o de API',
     selector: {
       title: 'Extens茫o de API',
@@ -551,9 +526,6 @@
       hitScore: 'Pontua莽茫o de recupera莽茫o:',
     },
     inputPlaceholder: 'Fale com o bot',
-    thinking: 'Pensante...',
-    thought: 'Pensamento',
-    resend: 'Reenviar',
   },
   promptEditor: {
     placeholder: 'Escreva sua palavra de incentivo aqui, digite \'{\' para inserir uma vari谩vel, digite \'/\' para inserir um bloco de conte煤do de incentivo',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: 'Itens por p谩gina',
-  },
-  theme: {
-    light: 'luz',
-    dark: 'escuro',
-    theme: 'Tema',
-    auto: 'sistema',
-  },
-  compliance: {
-    soc2Type1: 'Relat贸rio SOC 2 Tipo I',
-    sandboxUpgradeTooltip: 'Apenas dispon铆vel com um plano Profissional ou de Equipe.',
-    soc2Type2: 'Relat贸rio SOC 2 Tipo II',
-    professionalUpgradeTooltip: 'Apenas dispon铆vel com um plano Team ou superior.',
-    gdpr: 'GDPR DPA',
-    iso27001: 'Certifica莽茫o ISO 27001:2022',
-  },
-  imageInput: {
-    dropImageHere: 'Arraste sua imagem aqui, ou',
-    supportedFormats: 'Suporta PNG, JPG, JPEG, WEBP e GIF',
-    browse: 'navegar',
   },
 }
 
diff --git a/i18n/pt-BR/custom.ts b/i18n/pt-BR/custom.ts
index c1c7251..940316e 100644
--- a/i18n/pt-BR/custom.ts
+++ b/i18n/pt-BR/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Atualize seu plano para',
     suffix: 'personalizar sua marca.',
-    title: 'Atualize seu plano',
-    des: 'Atualize seu plano para personalizar sua marca',
   },
   webapp: {
     title: 'Personalizar marca do WebApp',
diff --git a/i18n/pt-BR/dataset-creation.ts b/i18n/pt-BR/dataset-creation.ts
index 9023d1a..bbd2d48 100644
--- a/i18n/pt-BR/dataset-creation.ts
+++ b/i18n/pt-BR/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Criar Conhecimento',
       update: 'Adicionar dados',
-      fallbackRoute: 'Conhecimento',
     },
     one: 'Escolher fonte de dados',
     two: 'Pr茅-processamento e Limpeza de Texto',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: 'Enviar arquivo de texto',
-      button: 'Arraste e solte arquivos ou pastas, ou',
+      button: 'Arraste e solte o arquivo, ou',
       browse: 'Navegar',
       tip: 'Suporta {{supportTypes}}. M谩ximo de {{size}}MB cada.',
       validation: {
@@ -58,7 +57,7 @@
       crawlSubPage: 'Rastrear subp谩ginas',
       selectAll: 'Selecionar tudo',
       resetAll: 'Redefinir tudo',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       includeOnlyPaths: 'Incluir apenas caminhos',
       configure: 'Configurar',
       limit: 'Limite',
@@ -82,14 +81,6 @@
       useSitemap: 'Usar o mapa do site',
       useSitemapTooltip: 'Siga o mapa do site para rastrear o site. Caso contr谩rio, o Jina Reader rastrear谩 iterativamente com base na relev芒ncia da p谩gina, produzindo menos p谩ginas, mas de maior qualidade.',
       jinaReaderTitle: 'Converter todo o site em Markdown',
-      watercrawlTitle: 'Extrair conte煤do da web com o Watercrawl',
-      configureFirecrawl: 'Configurar o Firecrawl',
-      configureJinaReader: 'Configurar o Leitor Jina',
-      waterCrawlNotConfigured: 'Watercrawl n茫o est谩 configurado',
-      waterCrawlNotConfiguredDescription: 'Configure o Watercrawl com a chave da API para us谩-lo.',
-      watercrawlDocLink: 'https://docs.dify.ai/pt/guias/base-de-conhecimentos/criar-conhecimento-e-enviar-documentos/importar-dados-de-conteudo/sincronizar-a-partir-do-site',
-      watercrawlDoc: 'Documentos do Watercrawl',
-      configureWatercrawl: 'Configurar Watercrawl',
     },
     cancel: 'Cancelar',
   },
@@ -207,11 +198,6 @@
     learnMore: 'Saiba Mais',
     description: 'Atualmente, a base de conhecimento da Dify possui apenas fontes de dados limitadas. Contribuir com uma fonte de dados para a base de conhecimento Dify 茅 uma maneira fant谩stica de ajudar a aumentar a flexibilidade e o poder da plataforma para todos os usu谩rios. Nosso guia de contribui莽茫o facilita o in铆cio. Clique no link abaixo para saber mais.',
     title: 'Conectar-se a outras fontes de dados?',
-  },
-  watercrawl: {
-    apiKeyPlaceholder: 'Chave da API do watercrawl.dev',
-    configWatercrawl: 'Configurar Watercrawl',
-    getApiKeyLinkText: 'Obtenha sua chave de API em watercrawl.dev',
   },
 }
 
diff --git a/i18n/pt-BR/dataset-documents.ts b/i18n/pt-BR/dataset-documents.ts
index 9a3d13b..9acfca3 100644
--- a/i18n/pt-BR/dataset-documents.ts
+++ b/i18n/pt-BR/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Idioma',
         authorPublisher: 'Autor/Editor',
         publishDate: 'Data de Publica莽茫o',
-        topicKeywords: 'T贸picos/Palavras-chave',
+        topicsKeywords: 'T贸picos/Palavras-chave',
         description: 'Descri莽茫o',
       },
       paper: {
diff --git a/i18n/pt-BR/dataset-settings.ts b/i18n/pt-BR/dataset-settings.ts
index e959fa0..b8176d2 100644
--- a/i18n/pt-BR/dataset-settings.ts
+++ b/i18n/pt-BR/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: 'Saiba mais',
       description: ' sobre o m茅todo de recupera莽茫o.',
       longDescription: ' sobre o m茅todo de recupera莽茫o, voc锚 pode alterar isso a qualquer momento nas configura莽玫es do conhecimento.',
-      method: 'M茅todo de Recupera莽茫o',
     },
     save: 'Salvar',
     permissionsInvitedMembers: 'Membros parciais da equipe',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: 'N茫o dispon铆vel para rebaixamento de HQ para ECO',
     helpText: 'Aprenda a escrever uma boa descri莽茫o do conjunto de dados.',
     upgradeHighQualityTip: 'Depois de atualizar para o modo de alta qualidade, reverter para o modo econ么mico n茫o est谩 dispon铆vel',
-    searchModel: 'Pesquisar modelo',
   },
 }
 
diff --git a/i18n/pt-BR/dataset.ts b/i18n/pt-BR/dataset.ts
index 7d5f75a..c8214e1 100644
--- a/i18n/pt-BR/dataset.ts
+++ b/i18n/pt-BR/dataset.ts
@@ -168,54 +168,6 @@
   localDocs: 'Documentos locais',
   allKnowledgeDescription: 'Selecione para exibir todo o conhecimento neste espa莽o de trabalho. Somente o propriet谩rio do espa莽o de trabalho pode gerenciar todo o conhecimento.',
   allKnowledge: 'Todo o conhecimento',
-  metadata: {
-    createMetadata: {
-      name: 'Nome',
-      title: 'Nova Metadata',
-      type: 'Tipo',
-      namePlaceholder: 'Adicionar nome de metadados',
-      back: 'Voltar',
-    },
-    checkName: {
-      empty: 'O nome dos metadados n茫o pode estar vazio',
-      invalid: 'O nome de metadata s贸 pode conter letras min煤sculas, n煤meros e sublinhados e deve come莽ar com uma letra min煤scula.',
-    },
-    batchEditMetadata: {
-      editDocumentsNum: 'Editando {{num}} documentos',
-      applyToAllSelectDocument: 'Aplicar a todos os documentos selecionados',
-      editMetadata: 'Editar Metadados',
-      multipleValue: 'M煤ltiplos Valores',
-      applyToAllSelectDocumentTip: 'Crie automaticamente todos os metadados editados e novos mencionados acima para todos os documentos selecionados, caso contr谩rio, a edi莽茫o de metadados s贸 se aplicar谩 aos documentos que j谩 os possuem.',
-    },
-    selectMetadata: {
-      manageAction: 'Gerenciar',
-      search: 'Pesquisar metadados',
-      newAction: 'Nova Metadados',
-    },
-    datasetMetadata: {
-      addMetaData: 'Adicionar Metadados',
-      namePlaceholder: 'Nome da metadata',
-      description: 'Voc锚 pode gerenciar todos os metadados neste conhecimento aqui. As modifica莽玫es ser茫o sincronizadas em todos os documentos.',
-      deleteTitle: 'Confirme para deletar',
-      deleteContent: 'Voc锚 tem certeza de que deseja excluir os metadados "{{name}}"?',
-      name: 'Nome',
-      builtInDescription: 'Os metadados incorporados s茫o extra铆dos e gerados automaticamente. Eles devem ser ativados antes do uso e n茫o podem ser editados.',
-      disabled: 'Desativado',
-      builtIn: 'Integrado',
-      rename: 'Renomear',
-      values: '{{num}} Valores',
-    },
-    documentMetadata: {
-      metadataToolTip: 'Os metadados servem como um filtro cr铆tico que aprimora a precis茫o e a relev芒ncia da recupera莽茫o de informa莽玫es. Voc锚 pode modificar e adicionar metadados para este documento aqui.',
-      technicalParameters: 'Par芒metros T茅cnicos',
-      documentInformation: 'Informa莽玫es do Documento',
-      startLabeling: 'Comece a rotular',
-    },
-    addMetadata: 'Adicionar Metadados',
-    chooseTime: 'Escolha um hor谩rio...',
-    metadata: 'Metadados',
-  },
-  embeddingModelNotAvailable: 'O modelo de incorpora莽茫o n茫o est谩 dispon铆vel.',
 }
 
 export default translation
diff --git a/i18n/pt-BR/explore.ts b/i18n/pt-BR/explore.ts
index 2a15d07..f77827b 100644
--- a/i18n/pt-BR/explore.ts
+++ b/i18n/pt-BR/explore.ts
@@ -37,7 +37,6 @@
     HR: 'RH',
     Workflow: 'Fluxo de trabalho',
     Agent: 'Agente',
-    Entertainment: 'Entretenimento',
   },
 }
 
diff --git a/i18n/pt-BR/run-log.ts b/i18n/pt-BR/run-log.ts
index 51ee3a6..3ec183c 100644
--- a/i18n/pt-BR/run-log.ts
+++ b/i18n/pt-BR/run-log.ts
@@ -24,8 +24,6 @@
     link: 'painel de detalhes',
     tipRight: ' veja.',
   },
-  circularInvocationTip: 'H谩 uma invoca莽茫o circular de ferramentas/n贸s no fluxo de trabalho atual.',
-  actionLogs: 'Logs de a莽茫o',
 }
 
 export default translation
diff --git a/i18n/pt-BR/share-app.ts b/i18n/pt-BR/share-app.ts
index d8bca03..1e1861e 100644
--- a/i18n/pt-BR/share-app.ts
+++ b/i18n/pt-BR/share-app.ts
@@ -30,12 +30,6 @@
     },
     tryToSolve: 'Tente resolver',
     temporarySystemIssue: 'Desculpe, problema tempor谩rio do sistema.',
-    expand: 'Expandir',
-    collapse: 'Contrair',
-    newChatTip: 'J谩 em um novo chat',
-    chatFormTip: 'As configura莽玫es do chat n茫o podem ser modificadas ap贸s o in铆cio do chat.',
-    viewChatSettings: 'Ver configura莽玫es de chat',
-    chatSettingsTitle: 'Nova configura莽茫o de chat',
   },
   generation: {
     tabs: {
@@ -74,8 +68,6 @@
       moreThanMaxLengthLine: 'Linha {{rowIndex}}: o valor de {{varName}} n茫o pode ter mais de {{maxLength}} caracteres',
       atLeastOne: 'Por favor, insira pelo menos uma linha no arquivo enviado.',
     },
-    executions: '{{num}} EXECU脟脮ES',
-    execution: 'EXECU脟脙O',
   },
 }
 
diff --git a/i18n/pt-BR/tools.ts b/i18n/pt-BR/tools.ts
index f2eaa36..8af475a 100644
--- a/i18n/pt-BR/tools.ts
+++ b/i18n/pt-BR/tools.ts
@@ -121,7 +121,6 @@
     number: 'n煤mero',
     required: 'Obrigat贸rio',
     infoAndSetting: 'Informa莽玫es e Configura莽玫es',
-    file: 'arquivo',
   },
   noCustomTool: {
     title: 'Nenhuma ferramenta personalizada!',
@@ -151,8 +150,6 @@
   openInStudio: 'Abrir no Studio',
   customToolTip: 'Saiba mais sobre as ferramentas personalizadas da Dify',
   toolNameUsageTip: 'Nome da chamada da ferramenta para racioc铆nio e solicita莽茫o do agente',
-  copyToolName: 'Nome da c贸pia',
-  noTools: 'Nenhuma ferramenta encontrada',
 }
 
 export default translation
diff --git a/i18n/pt-BR/workflow.ts b/i18n/pt-BR/workflow.ts
index e64240a..7057f6d 100644
--- a/i18n/pt-BR/workflow.ts
+++ b/i18n/pt-BR/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Adicionar ramifica莽茫o com falha',
     noHistory: 'Sem Hist贸ria',
     loadMore: 'Carregar mais fluxos de trabalho',
-    exportPNG: 'Exportar como PNG',
-    publishUpdate: 'Publicar Atualiza莽茫o',
-    versionHistory: 'Hist贸rico de Vers茫o',
-    exportImage: 'Exportar Imagem',
-    referenceVar: 'Vari谩vel de Refer锚ncia',
-    noExist: 'Nenhuma vari谩vel desse tipo',
-    exitVersions: 'Vers玫es de Sair',
-    exportSVG: 'Exportar como SVG',
-    exportJPEG: 'Exportar como JPEG',
   },
   env: {
     envPanelTitle: 'Vari谩veis de Ambiente',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Vari谩vel inv谩lida',
     rerankModelRequired: 'Antes de ativar o modelo de reclassifica莽茫o, confirme se o modelo foi configurado com sucesso nas configura莽玫es.',
-    toolParameterRequired: '{{field}}: o par芒metro [{{param}}] 茅 necess谩rio',
-    noValidTool: '{{field}} nenhuma ferramenta v谩lida selecionada',
   },
   singleRun: {
     testRun: 'Execu莽茫o de teste ',
@@ -214,7 +203,6 @@
     testRunIteration: 'Itera莽茫o de execu莽茫o de teste',
     back: 'Voltar',
     iteration: 'Itera莽茫o',
-    loop: 'La莽o',
   },
   tabs: {
     'searchBlock': 'Buscar bloco',
@@ -230,8 +218,6 @@
     'utilities': 'Utilit谩rios',
     'noResult': 'Nenhum resultado encontrado',
     'searchTool': 'Ferramenta de pesquisa',
-    'plugin': 'Plug-in',
-    'agent': 'Estrat茅gia do agente',
   },
   blocks: {
     'start': 'Iniciar',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Extrator de par芒metros',
     'list-operator': 'Operador de lista',
     'document-extractor': 'Extrator de documentos',
-    'agent': 'Agente',
-    'loop-end': 'Sair do Loop',
-    'loop-start': 'In铆cio do Loop',
-    'loop': 'La莽o',
   },
   blocksAbout: {
     'start': 'Definir os par芒metros iniciais para iniciar um fluxo de trabalho',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'Use LLM para extrair par芒metros estruturados da linguagem natural para invoca莽玫es de ferramentas ou requisi莽玫es HTTP.',
     'document-extractor': 'Usado para analisar documentos carregados em conte煤do de texto que 茅 facilmente compreens铆vel pelo LLM.',
     'list-operator': 'Usado para filtrar ou classificar o conte煤do da matriz.',
-    'agent': 'Invocar grandes modelos de linguagem para responder a perguntas ou processar linguagem natural',
-    'loop-end': 'Equivalente a "break". Este n贸 n茫o possui itens de configura莽茫o. Quando o corpo do loop atinge este n贸, o loop termina.',
-    'loop': 'Execute um loop de l贸gica at茅 que a condi莽茫o de t茅rmino seja atendida ou o n煤mero m谩ximo de loops seja alcan莽ado.',
   },
   operator: {
     zoomIn: 'Aproximar',
@@ -419,34 +398,6 @@
         variable: 'Vari谩vel',
       },
       sysQueryInUser: 'sys.query na mensagem do usu谩rio 茅 necess谩rio',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Por favor, termine de editar o campo atual antes de salvar o esquema.',
-        },
-        instruction: 'Instru莽茫o',
-        showAdvancedOptions: 'Mostrar op莽玫es avan莽adas',
-        addField: 'Adicionar Campo',
-        descriptionPlaceholder: 'Adicionar descri莽茫o',
-        promptTooltip: 'Converta a descri莽茫o do texto em uma estrutura de esquema JSON padronizada.',
-        generating: 'Gerando esquema JSON...',
-        generate: 'Gerar',
-        title: 'Esquema de Sa铆da Estruturada',
-        promptPlaceholder: 'Descreva seu Esquema JSON...',
-        back: 'Voltar',
-        doc: 'Saiba mais sobre sa铆da estruturada',
-        regenerate: 'Regenerar',
-        resultTip: 'Aqui est谩 o resultado gerado. Se voc锚 n茫o estiver satisfeito, pode voltar e modificar seu pedido.',
-        addChildField: 'Adicionar Campo de Crian莽a',
-        generationTip: 'Voc锚 pode usar linguagem natural para criar rapidamente um esquema JSON.',
-        generatedResult: 'Resultado Gerado',
-        import: 'Importar de JSON',
-        generateJsonSchema: 'Gerar Esquema JSON',
-        fieldNamePlaceholder: 'Nome do Campo',
-        resetDefaults: 'Reiniciar',
-        stringValidations: 'Valida莽玫es de String',
-        apply: 'Aplicar',
-        required: 'obrigat贸rio',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Vari谩vel de consulta',
@@ -458,33 +409,6 @@
         icon: '脥cone segmentado',
         url: 'URL segmentado',
         metadata: 'Outros metadados',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            subTitle: 'N茫o ativando a filtragem de metadados',
-            title: 'Desativado',
-          },
-          automatic: {
-            desc: 'Gere automaticamente condi莽玫es de filtragem de metadados com base na Vari谩vel de Consulta',
-            title: 'Autom谩tico',
-            subTitle: 'Gerar automaticamente condi莽玫es de filtragem de metadados com base na consulta do usu谩rio',
-          },
-          manual: {
-            title: 'Manual',
-            subTitle: 'Adicione manualmente as condi莽玫es de filtragem de metadados',
-          },
-        },
-        panel: {
-          add: 'Adicionar Condi莽茫o',
-          select: 'Selecione a vari谩vel...',
-          datePlaceholder: 'Escolha um hor谩rio...',
-          search: 'Pesquisar metadados',
-          conditions: 'Condi莽玫es',
-          title: 'Condi莽玫es de filtro de metadados',
-          placeholder: 'Insira o valor',
-        },
-        title: 'Filtragem de Metadados',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'exists': 'Existe',
         'not exists': 'n茫o existe',
         'all of': 'todos os',
-        'after': 'depois',
-        'before': 'antes',
       },
       enterValue: 'Digite o valor',
       addCondition: 'Adicionar condi莽茫o',
@@ -592,7 +514,6 @@
       },
       addSubVariable: 'Subvari谩vel',
       select: 'Selecionar',
-      condition: 'Condi莽茫o',
     },
     variableAssigner: {
       title: 'Atribuir vari谩veis',
@@ -635,8 +556,6 @@
         '+=': '+=',
         'set': 'P么r',
         'overwrite': 'Sobrescrever',
-        'remove-last': 'Remover 脷ltimo',
-        'remove-first': 'Remover Primeiro',
       },
       'selectAssignedVariable': 'Selecione a vari谩vel atribu铆da...',
       'setParameter': 'Definir par芒metro...',
@@ -772,107 +691,6 @@
       filterConditionComparisonValue: 'Valor da condi莽茫o do filtro',
       extractsCondition: 'Extraia o item N',
     },
-    agent: {
-      strategy: {
-        tooltip: 'Diferentes estrat茅gias Agentic determinam como o sistema planeja e executa chamadas de ferramentas de v谩rias etapas',
-        searchPlaceholder: 'Estrat茅gia de busca ag锚ntica',
-        shortLabel: 'Estrat茅gia',
-        label: 'Estrat茅gia Ag锚ntica',
-        selectTip: 'Selecione a estrat茅gia ag锚ntica',
-        configureTipDesc: 'Depois de configurar a estrat茅gia ag锚ntica, esse n贸 carregar谩 automaticamente as configura莽玫es restantes. A estrat茅gia afetar谩 o mecanismo de racioc铆nio da ferramenta de v谩rias etapas.',
-        configureTip: 'Configure a estrat茅gia agente.',
-      },
-      pluginInstaller: {
-        installing: 'Instalar',
-        install: 'Instalar',
-      },
-      modelNotInMarketplace: {
-        desc: 'Esse modelo 茅 instalado do reposit贸rio Local ou GitHub. Por favor, use ap贸s a instala莽茫o.',
-        title: 'Modelo n茫o instalado',
-        manageInPlugins: 'Gerenciar em plug-ins',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'A vers茫o do plug-in instalada n茫o fornece esse modelo. Clique para mudar de vers茫o.',
-        title: 'Modelo n茫o suportado',
-        desc: 'A vers茫o do plug-in instalada n茫o fornece esse modelo.',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Este modelo est谩 obsoleto',
-      },
-      outputVars: {
-        files: {
-          type: 'Tipo de suporte. Agora suporta apenas imagem',
-          upload_file_id: 'Carregar ID do arquivo',
-          url: 'URL da imagem',
-          transfer_method: 'M茅todo de transfer锚ncia. O valor 茅 remote_url ou local_file',
-          title: 'Arquivos gerados pelo agente',
-        },
-        json: 'JSON gerado pelo agente',
-        text: 'Conte煤do gerado pelo agente',
-      },
-      checkList: {
-        strategyNotSelected: 'Estrat茅gia n茫o selecionada',
-      },
-      installPlugin: {
-        title: 'Instale o plugin',
-        install: 'Instalar',
-        cancel: 'Cancelar',
-        desc: 'Prestes a instalar o seguinte plugin',
-        changelog: 'Registro de altera莽玫es',
-      },
-      toolNotInstallTooltip: '{{tool}} n茫o est谩 instalado',
-      strategyNotFoundDesc: 'A vers茫o do plug-in instalada n茫o fornece essa estrat茅gia.',
-      maxIterations: 'M谩ximo de itera莽玫es',
-      model: 'modelo',
-      strategyNotInstallTooltip: '{{strategy}} n茫o est谩 instalado',
-      learnMore: 'Saiba Mais',
-      modelNotInstallTooltip: 'Este modelo n茫o est谩 instalado',
-      pluginNotFoundDesc: 'Este plugin 茅 instalado a partir do GitHub. Por favor, v谩 para Plugins para reinstalar',
-      pluginNotInstalledDesc: 'Este plugin 茅 instalado a partir do GitHub. Por favor, v谩 para Plugins para reinstalar',
-      strategyNotSet: 'Estrat茅gia ag锚ntica n茫o definida',
-      pluginNotInstalled: 'Este plugin n茫o est谩 instalado',
-      notAuthorized: 'N茫o autorizado',
-      modelNotSelected: 'Modelo n茫o selecionado',
-      linkToPlugin: 'Link para plug-ins',
-      configureModel: 'Configurar modelo',
-      unsupportedStrategy: 'Estrat茅gia sem suporte',
-      strategyNotFoundDescAndSwitchVersion: 'A vers茫o do plug-in instalada n茫o fornece essa estrat茅gia. Clique para mudar de vers茫o.',
-      tools: 'Ferramentas',
-      toolNotAuthorizedTooltip: '{{ferramenta}} N茫o autorizado',
-      toolbox: 'caixa de ferramentas',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: 'Remover Sa铆da Anormal',
-        operationTerminated: 'Terminado',
-        continueOnError: 'Continue em Caso de Erro',
-      },
-      errorResponseMethod: 'M茅todo de Resposta de Erro',
-      loop_one: '{{count}} Loop',
-      inputMode: 'Modo de Entrada',
-      setLoopVariables: 'Defina vari谩veis dentro do escopo do loop',
-      totalLoopCount: 'Contagem total de loops: {{count}}',
-      breakCondition: 'Condi莽茫o de T茅rmino de Loop',
-      comma: ',',
-      input: 'Entrada',
-      variableName: 'Nome da Vari谩vel',
-      initialLoopVariables: 'Vari谩veis de Loop Iniciais',
-      exitConditionTip: 'Um n贸 de loop precisa de pelo menos uma condi莽茫o de sa铆da',
-      loopNode: 'N贸 de Loop',
-      loopMaxCount: 'Contagem M谩xima de Loop',
-      currentLoopCount: 'Contagem atual de loops: {{count}}',
-      deleteTitle: 'Excluir N贸 de Loop?',
-      error_other: '{{count}} Erros',
-      loop_other: '{{count}} La莽os',
-      output: 'Vari谩vel de Sa铆da',
-      error_one: '{{count}} Erro',
-      finalLoopVariables: 'Vari谩veis do Loop Final',
-      loopMaxCountError: 'Por favor, insira um limite m谩ximo de loop v谩lido, variando de 1 a {{maxCount}}',
-      loopVariables: 'Vari谩veis de Loop',
-      breakConditionTip: 'Somente vari谩veis dentro de la莽os com condi莽玫es de t茅rmino e vari谩veis de conversa podem ser referenciadas.',
-      currentLoop: 'La莽o Atual',
-      deleteDesc: 'A exclus茫o do n贸 de loop remover谩 todos os n贸s filhos',
-    },
   },
   tracing: {
     stopBy: 'Parado por {{user}}',
@@ -883,38 +701,6 @@
     conversationVars: 'vari谩veis de conversa莽茫o',
     assignedVarsDescription: 'As vari谩veis atribu铆das devem ser vari谩veis grav谩veis, como',
     noAvailableVars: 'Nenhuma vari谩vel dispon铆vel',
-  },
-  versionHistory: {
-    filter: {
-      all: 'Todos',
-      empty: 'Nenhuma vers茫o hist贸rica correspondente encontrada',
-      reset: 'Redefinir Filtro',
-      onlyYours: 'Somente seu',
-      onlyShowNamedVersions: 'Mostre apenas vers玫es nomeadas',
-    },
-    editField: {
-      titleLengthLimit: 'O t铆tulo n茫o pode exceder {{limit}} caracteres',
-      releaseNotes: 'Notas de Lan莽amento',
-      releaseNotesLengthLimit: 'As notas de lan莽amento n茫o podem exceder {{limit}} caracteres',
-      title: 'T铆tulo',
-    },
-    action: {
-      updateFailure: 'Falha ao atualizar a vers茫o',
-      updateSuccess: 'Vers茫o atualizada',
-      deleteSuccess: 'Vers茫o exclu铆da',
-      restoreFailure: 'Falha ao restaurar vers茫o',
-      restoreSuccess: 'Vers茫o restaurada',
-      deleteFailure: 'Falha ao deletar vers茫o',
-    },
-    title: 'Vers玫es',
-    latest: '脷ltimo',
-    nameThisVersion: 'Nomeie esta vers茫o',
-    defaultName: 'Vers茫o Sem T铆tulo',
-    releaseNotesPlaceholder: 'Descreva o que mudou',
-    editVersionInfo: 'Editar informa莽玫es da vers茫o',
-    restorationTip: 'Ap贸s a restaura莽茫o da vers茫o, o rascunho atual ser谩 substitu铆do.',
-    currentDraft: 'Rascunho Atual',
-    deletionTip: 'A exclus茫o 茅 irrevers铆vel, por favor confirme.',
   },
 }
 
diff --git a/i18n/ro-RO/app-overview.ts b/i18n/ro-RO/app-overview.ts
index 35ee79d..07f2842 100644
--- a/i18n/ro-RO/app-overview.ts
+++ b/i18n/ro-RO/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Seta葲i tema de culoare a chatbotului',
         chatColorThemeInverted: 'Inversat',
         invalidHexMessage: 'Valoare hex nevalid膬',
-        invalidPrivacyPolicy: 'Link politic膬 de confiden葲ialitate invalid. V膬 rug膬m s膬 folosi葲i un link valid care 卯ncepe cu http sau https',
         more: {
           entry: 'Afi葯a葲i mai multe set膬ri',
           copyright: 'Drepturi de autor',
@@ -113,7 +112,6 @@
           operation: 'Documenta葲ie',
         },
       },
-      launch: 'Lansa',
     },
     apiInfo: {
       title: 'API serviciu backend',
diff --git a/i18n/ro-RO/app.ts b/i18n/ro-RO/app.ts
index 1b1cd6c..e53fbb7 100644
--- a/i18n/ro-RO/app.ts
+++ b/i18n/ro-RO/app.ts
@@ -159,10 +159,6 @@
       description: 'Opik este o platform膬 open-source pentru evaluarea, testarea 葯i monitorizarea aplica葲iilor LLM.',
       title: 'Opik',
     },
-    weave: {
-      title: '脦mplete葯te',
-      description: 'Weave este o platform膬 open-source pentru evaluarea, testarea 葯i monitorizarea aplica葲iilor LLM.',
-    },
   },
   answerIcon: {
     descriptionInExplore: 'Dac膬 s膬 utiliza葲i pictograma WebApp pentru a 卯nlocui 馃 卯n Explore',
@@ -192,23 +188,6 @@
     byCategories: 'DUP膫 CATEGORII',
   },
   showMyCreatedAppsOnly: 'Afi葯eaz膬 doar aplica葲iile create de mine',
-  appSelector: {
-    label: 'APLICA葰IE',
-    params: 'PARAMETRII APLICA葰IEI',
-    noParams: 'Nu sunt necesari parametri',
-    placeholder: 'Selecta葲i o aplica葲ie...',
-  },
-  structOutput: {
-    notConfiguredTip: 'Ie葯irea structurat膬 nu a fost configurat膬 卯nc膬',
-    LLMResponse: 'R膬spuns LLM',
-    required: 'Necesar',
-    moreFillTip: 'Afi葯芒nd maxim 10 niveluri de imbricare',
-    structured: 'Structurat',
-    modelNotSupported: 'Modelul nu este suportat',
-    structuredTip: 'Ie葯irile structurate sunt o caracteristic膬 care asigur膬 c膬 modelul va genera 卯ntotdeauna r膬spunsuri care respect膬 schema JSON furnizat膬.',
-    configure: 'Configureaz膬',
-    modelNotSupportedTip: 'Modelul actual nu suport膬 aceast膬 func葲ie 葯i este downgradat automat la injec葲ia de prompt.',
-  },
 }
 
 export default translation
diff --git a/i18n/ro-RO/billing.ts b/i18n/ro-RO/billing.ts
index 6826413..707d892 100644
--- a/i18n/ro-RO/billing.ts
+++ b/i18n/ro-RO/billing.ts
@@ -69,7 +69,6 @@
     messageRequest: {
       title: 'Credite de mesaje',
       tooltip: 'Cote de invocare a mesajelor pentru diferite planuri utiliz芒nd modele OpenAI (cu excep葲ia gpt4). Mesajele peste limit膬 vor utiliza cheia API OpenAI.',
-      titlePerMonth: '{{count,number}} mesaje/lun膬',
     },
     annotatedResponse: {
       title: 'Limite de cot膬 de anotare',
@@ -78,94 +77,27 @@
     ragAPIRequestTooltip: 'Se refer膬 la num膬rul de apeluri API care invoc膬 doar capacit膬葲ile de procesare a bazei de cuno葯tin葲e a Dify.',
     receiptInfo: 'Doar proprietarul echipei 葯i administratorul echipei pot s膬 se aboneze 葯i s膬 vizualizeze informa葲iile de facturare',
     annotationQuota: 'Cota de adnotare',
-    priceTip: 'pe spa葲iu de lucru/',
-    teamMember_one: '{{count,number}} Membru al echipei',
-    unlimitedApiRate: 'F膬r膬 limit膬 de rat膬 API',
-    freeTrialTipPrefix: '脦nscrie-te 葯i ob葲ine un',
-    self: 'Auto-g膬zduit',
-    apiRateLimit: 'Limit膬 de rat膬 API',
-    documentsTooltip: 'Cota pe num膬rul de documente importate din Sursele de Date de Cuno葯tin葲e.',
-    getStarted: '脦ntreba葲i-v膬',
-    cloud: 'Serviciu de cloud',
-    apiRateLimitUnit: '{{count,number}}/zi',
-    comparePlanAndFeatures: 'Compar膬 planurile 葯i caracteristicile',
-    documentsRequestQuota: '{{count,number}}/min Limita de rat膬 a cererilor de cuno葯tin葲e',
-    documents: '{{count,number}} Documente de Cunoa葯tere',
-    freeTrialTipSuffix: 'Nu este necesar膬 o carte de credit',
-    teamMember_other: '{{count,number}} membri ai echipei',
-    teamWorkspace: '{{count,number}} Spa葲iu de lucru 卯n echip膬',
-    annualBilling: 'Facturare anuala',
-    freeTrialTip: 'perioad膬 de prob膬 gratuit膬 de 200 de apeluri OpenAI.',
-    documentsRequestQuotaTooltip: 'Specifica葲i num膬rul total de ac葲iuni pe care un spa葲iu de lucru le poate efectua pe minut 卯n cadrul bazei de cuno葯tin葲e, inclusiv crearea, 葯tergerea, actualiz膬rile setului de date, 卯nc膬rc膬rile de documente, modific膬rile, arhivarea 葯i interog膬rile bazei de cuno葯tin葲e. Acest metric este utilizat pentru a evalua performan葲a cererilor din baza de cuno葯tin葲e. De exemplu, dac膬 un utilizator Sandbox efectueaz膬 10 teste consecutive de hituri 卯ntr-un minut, spa葲iul s膬u de lucru va fi restric葲ionat temporar de la efectuarea urm膬toarelor ac葲iuni pentru minutul urm膬tor: crearea setului de date, 葯tergerea, actualiz膬rile 葯i 卯nc膬rc膬rile sau modific膬rile documentelor.',
-    apiRateLimitTooltip: 'Limita de rat膬 API se aplic膬 tuturor cererilor efectuate prin API-ul Dify, inclusiv generarea de texte, conversa葲iile de chat, execu葲iile fluxului de lucru 葯i procesarea documentelor.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200 de 卯ncerc膬ri gratuite GPT',
       includesTitle: 'Include:',
-      for: 'Proba gratuit膬 a capacit膬葲ilor de baz膬',
     },
     professional: {
       name: 'Professional',
       description: 'Pentru persoane fizice 葯i echipe mici pentru a debloca mai mult膬 putere la un pre葲 accesibil.',
       includesTitle: 'Tot ce este 卯n planul gratuit, plus:',
-      for: 'Pentru dezvoltatori independen葲i / echipe mici',
     },
     team: {
       name: 'Echip膬',
       description: 'Colabora葲i f膬r膬 limite 葯i bucura葲i-v膬 de performan葲e de top.',
       includesTitle: 'Tot ce este 卯n planul Professional, plus:',
-      for: 'Pentru echipe de dimensiuni medii',
     },
     enterprise: {
       name: '脦ntreprindere',
       description: 'Ob葲ine葲i capacit膬葲i 葯i asisten葲膬 complete pentru sisteme critice la scar膬 larg膬.',
       includesTitle: 'Tot ce este 卯n planul Echip膬, plus:',
-      features: {
-        3: 'Multiple Spa葲ii de lucru 葯i Management Enterprise',
-        6: 'Securitate avansat膬 葯i control',
-        2: 'Func葲ii exclusive pentru 卯ntreprinderi',
-        8: 'Asisten葲膬 tehnic膬 profesional膬',
-        4: 'SSO',
-        7: 'Actualiz膬ri 葯i 卯ntre葲inere de c膬tre Dify Oficial',
-        1: 'Autorizare pentru licen葲膬 comercial膬',
-        5: 'SLA-uri negociate de partenerii Dify',
-        0: 'Solu葲ii de desf膬葯urare scalabile de nivel enterprise',
-      },
-      for: 'Pentru echipe de mari dimensiuni',
-      price: 'Personalizat',
-      priceTip: 'Facturare anual膬 doar',
-      btnText: 'Contacta葲i V芒nz膬ri',
-    },
-    community: {
-      features: {
-        2: 'Se conformeaz膬 Licen葲ei Open Source Dify',
-        1: 'Spa葲iu de lucru unic',
-        0: 'Toate func葲iile de baz膬 lansate sub depozitul public',
-      },
-      description: 'Pentru utilizatori individuali, echipe mici sau proiecte necomerciale',
-      btnText: '脦ncepe cu Comunitatea',
-      price: 'Gratuit',
-      name: 'Comunitate',
-      for: 'Pentru utilizatori individuali, echipe mici sau proiecte necomerciale',
-      includesTitle: 'Func葲ii gratuite:',
-    },
-    premium: {
-      features: {
-        1: 'Spa葲iu de lucru unic',
-        0: 'Fiabilitate autogestionat膬 de diferi葲i furnizori de cloud',
-        2: 'Personalizarea logo-ului 葯i branding-ului aplica葲iei web',
-        3: 'Suport prioritar prin email 葯i chat',
-      },
-      btnText: 'Ob葲ine Premium 卯n',
-      description: 'Pentru organiza葲ii 葯i echipe de dimensiuni medii',
-      includesTitle: 'Totul din Comunitate, plus:',
-      price: 'Scalabil',
-      name: 'Premium',
-      priceTip: 'Pe baza Pie葲ei Cloud',
-      comingSoon: 'Suport Microsoft Azure 葯i Google Cloud 卯n cur芒nd',
-      for: 'Pentru organiza葲ii 葯i echipe de dimensiuni medii',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'Actualiza葲i-v膬 planul pentru a',
     fullTipLine2: 'construi mai multe aplica葲ii.',
-    fullTip2des: 'Se recomand膬 cur膬葲area aplica葲iilor inactive pentru a elibera resurse, sau contacta葲i-ne.',
-    fullTip2: 'Limita planului a fost atins膬',
-    fullTip1des: 'A葲i atins limita de aplica葲ii construite pe acest plan',
-    fullTip1: 'Upgrade pentru a crea mai multe aplica葲ii',
-    contactUs: 'Contacta葲i-ne',
   },
   annotatedResponse: {
     fullTipLine1: 'Actualiza葲i-v膬 planul pentru a',
     fullTipLine2: 'anota mai multe conversa葲ii.',
     quotaTitle: 'Cot膬 de r膬spuns anotat',
   },
-  usagePage: {
-    vectorSpaceTooltip: 'Documentele cu modul de indexare de calitate 卯nalt膬 vor consuma resursele de stocare a datelor de cuno葯tin葲e. C芒nd stocarea datelor de cuno葯tin葲e atinge limita, documentele noi nu vor fi 卯nc膬rcate.',
-    buildApps: 'Construie葯te aplica葲ii',
-    vectorSpace: 'Stocarea datelor de cuno葯tin葲e',
-    teamMembers: 'Membrii echipei',
-    annotationQuota: 'Cota de Anotare',
-    documentsUploadQuota: 'Cota de 卯nc膬rcare a documentelor',
-  },
-  teamMembers: 'Membrii echipei',
 }
 
 export default translation
diff --git a/i18n/ro-RO/common.ts b/i18n/ro-RO/common.ts
index 1324340..8f0cbc6 100644
--- a/i18n/ro-RO/common.ts
+++ b/i18n/ro-RO/common.ts
@@ -50,14 +50,6 @@
     submit: 'Prezinte',
     skip: 'Nav膬',
     imageCopied: 'Imagine copiat膬',
-    deleteApp: '葮terge葲i aplica葲ia',
-    copied: 'Copiat',
-    in: '卯n',
-    viewDetails: 'Vezi detalii',
-    downloadFailed: 'Desc膬rcarea a e葯uat. V膬 rug膬m s膬 卯ncerca葲i din nou mai t芒rziu.',
-    format: 'Format',
-    downloadSuccess: 'Desc膬rcarea a fost finalizat膬.',
-    more: 'Mai mult',
   },
   placeholder: {
     input: 'V膬 rug膬m s膬 introduce葲i',
@@ -130,8 +122,6 @@
       Custom: 'Personalizat',
     },
     addMoreModel: 'Merge葲i la set膬ri pentru a ad膬uga mai multe modele',
-    capabilities: 'Capacit膬葲i multimodale',
-    settingsLink: 'Set膬rile furnizorului de modele',
   },
   menus: {
     status: 'beta',
@@ -144,7 +134,6 @@
     newApp: 'Aplica葲ie nou膬',
     newDataset: 'Creeaz膬 Cuno葯tin葲e',
     tools: 'Instrumente',
-    exploreMarketplace: 'Explora葲i Marketplace',
   },
   userProfile: {
     settings: 'Set膬ri',
@@ -157,9 +146,6 @@
     community: 'Comunitate',
     about: 'Despre',
     logout: 'Deconectare',
-    github: 'GitHub',
-    support: 'Suport',
-    compliance: 'Conformitate',
   },
   settings: {
     accountGroup: 'CONT',
@@ -173,7 +159,6 @@
     dataSource: 'Surs膬 de date',
     plugin: 'Plugin-uri',
     apiBasedExtension: 'Extensie API',
-    generalGroup: 'GENERAL',
   },
   account: {
     avatar: 'Avatar',
@@ -209,9 +194,6 @@
     feedbackPlaceholder: 'Facultativ',
     feedbackTitle: 'Feedback',
     verificationLabel: 'Cod de verificare',
-    workspaceName: 'Numele spa葲iului de lucru',
-    editWorkspaceInfo: 'Editeaz膬 informa葲iile spa葲iului de lucru',
-    workspaceIcon: 'Iconi葲a de spa葲iu de lucru',
   },
   members: {
     team: 'Echip膬',
@@ -304,7 +286,6 @@
       usedUp: 'Cota de prob膬 a fost epuizat膬. Ad膬uga葲i propriul furnizor de modele.',
       useYourModel: '脦n prezent se utilizeaz膬 propriul furnizor de modele.',
       close: '脦nchide',
-      trialQuotaTip: 'Cota de 卯ncercare Anthropic va expira pe 11.03.2025 葯i nu va mai fi disponibil膬 ulterior. V膬 rug膬m s膬 o utiliza葲i la timp.',
     },
     anthropic: {
       using: 'Capacitatea de 卯ncorporare utilizeaz膬',
@@ -416,12 +397,6 @@
     editConfig: 'Edita葲i configura葲ia',
     configLoadBalancing: 'Echilibrarea 卯nc膬rc膬rii de configurare',
     upgradeForLoadBalancing: 'Actualiza葲i-v膬 planul pentru a activa Load Balancing.',
-    configureTip: 'Configura葲i api-key sau ad膬uga葲i modelul de utilizat',
-    installProvider: 'Instalarea furnizorilor de modele',
-    emptyProviderTitle: 'Furnizorul de modele nu este configurat',
-    discoverMore: 'Descoper膬 mai multe 卯n',
-    emptyProviderTip: 'V膬 rug膬m s膬 instala葲i mai 卯nt芒i un furnizor de modele.',
-    toBeConfigured: 'De configurat',
   },
   dataSource: {
     add: 'Ad膬uga葲i o surs膬 de date',
@@ -465,7 +440,7 @@
   apiBasedExtension: {
     title: 'Extensiile bazate pe API ofer膬 o gestionare centralizat膬 a API-urilor, simplific芒nd configura葲ia pentru o utilizare u葯oar膬 卯n aplica葲iile Dify.',
     link: 'Afla葲i cum s膬 dezvolta葲i propria extensie bazat膬 pe API.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Ad膬uga葲i extensie API',
     selector: {
       title: 'Extensie API',
@@ -551,9 +526,6 @@
       hitScore: 'Scor de recuperare:',
     },
     inputPlaceholder: 'Vorbe葯te cu Bot',
-    thinking: 'G芒ndire...',
-    thought: 'G芒nd',
-    resend: 'Reexpedia葲i',
   },
   promptEditor: {
     placeholder: 'Scrie葲i aici prompt-ul, introduce葲i \'{}\' pentru a insera o variabil膬, introduce葲i \'/\' pentru a insera un bloc de con葲inut prompt',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: 'Articole pe pagin膬',
-  },
-  theme: {
-    theme: 'Tem膬',
-    light: 'lumina',
-    auto: 'sistem',
-    dark: '卯ntunecat',
-  },
-  compliance: {
-    sandboxUpgradeTooltip: 'Disponibil膬 doar cu un plan Profesional sau de Echip膬.',
-    iso27001: 'Certificare ISO 27001:2022',
-    professionalUpgradeTooltip: 'Disponibil膬 doar cu un plan de echip膬 sau superior.',
-    gdpr: 'GDPR DPA',
-    soc2Type1: 'Raport SOC 2 Tip I',
-    soc2Type2: 'Raport SOC 2 Tip II',
-  },
-  imageInput: {
-    supportedFormats: 'Suport膬 PNG, JPG, JPEG, WEBP 葯i GIF',
-    browse: 'naviga',
-    dropImageHere: 'Trage葲i imaginea aici sau',
   },
 }
 
diff --git a/i18n/ro-RO/custom.ts b/i18n/ro-RO/custom.ts
index 923ec39..0e10d59 100644
--- a/i18n/ro-RO/custom.ts
+++ b/i18n/ro-RO/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Actualiza葲i-v膬 planul pentru a',
     suffix: 's膬 v膬 personaliza葲i marca.',
-    des: '脦mbun膬t膬葲e葯te-葲i planul pentru a-葲i personaliza marca',
-    title: 'Upgradeaz膬-葲i planul',
   },
   webapp: {
     title: 'Personaliza葲i marca WebApp',
diff --git a/i18n/ro-RO/dataset-creation.ts b/i18n/ro-RO/dataset-creation.ts
index ce6872c..3a4e233 100644
--- a/i18n/ro-RO/dataset-creation.ts
+++ b/i18n/ro-RO/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Crea葲i Cuno葯tin葲e',
       update: 'Ad膬uga葲i date',
-      fallbackRoute: 'Cunoa葯tere',
     },
     one: 'Alege葲i sursa de date',
     two: 'Prelucrarea 葯i cur膬葲area textului',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: '脦nc膬rca葲i fi葯ier text',
-      button: 'Trage葲i 葯i plasa葲i fi葯iere sau foldere sau',
+      button: 'Trage葲i 葯i fixa葲i fi葯ierul, sau',
       browse: 'R膬sfoire',
       tip: 'Accept膬 {{supportTypes}}. Maxim {{size}}MB fiecare.',
       validation: {
@@ -65,7 +64,7 @@
       firecrawlTitle: 'Extrage葲i con葲inut web cu 馃敟Firecrawl',
       unknownError: 'Eroare necunoscut膬',
       scrapTimeInfo: 'Pagini r膬zuite {{total}} 卯n total 卯n {{timp}}s',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       excludePaths: 'Excluderea c膬ilor',
       resetAll: 'Reseta葲i toate',
       extractOnlyMainContent: 'Extrage葲i doar con葲inutul principal (f膬r膬 anteturi, navig膬ri, subsoluri etc.)',
@@ -82,14 +81,6 @@
       jinaReaderTitle: 'Converti葲i 卯ntregul site 卯n Markdown',
       jinaReaderNotConfigured: 'Jina Reader nu este configurat',
       useSitemapTooltip: 'Urma葲i harta site-ului pentru a accesa cu crawlere site-ul. Dac膬 nu, Jina Reader va accesa cu crawlere iterativ 卯n func葲ie de relevan葲a paginii, produc芒nd mai pu葲ine pagini, dar de calitate superioar膬.',
-      waterCrawlNotConfigured: 'Watercrawl nu este configurat',
-      watercrawlTitle: 'Extrage葲i con葲inut web cu Watercrawl',
-      configureJinaReader: 'Configureaz膬 Jina Reader',
-      waterCrawlNotConfiguredDescription: 'Configureaz膬 Watercrawl cu cheia API pentru a-l folosi.',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureFirecrawl: 'Configureaz膬 Firecrawl',
-      watercrawlDoc: 'Documentele Watercrawl',
-      configureWatercrawl: 'Configureaz膬 Watercrawl',
     },
     cancel: 'Anula',
   },
@@ -207,11 +198,6 @@
     title: 'Conecta葲i-v膬 la alte surse de date?',
     description: '脦n prezent, baza de cuno葯tin葲e a Dify are doar surse de date limitate. Contribu葲ia cu o surs膬 de date la baza de cuno葯tin葲e Dify este o modalitate fantastic膬 de a ajuta la 卯mbun膬t膬葲irea flexibilit膬葲ii 葯i puterii platformei pentru to葲i utilizatorii. Ghidul nostru de contribu葲ie v膬 ajut膬 s膬 卯ncepe葲i. V膬 rug膬m s膬 face葲i clic pe linkul de mai jos pentru a afla mai multe.',
     learnMore: 'Afl膬 mai multe',
-  },
-  watercrawl: {
-    getApiKeyLinkText: 'Ob葲ine葲i cheia dvs. API de la watercrawl.dev',
-    apiKeyPlaceholder: 'Cheia API de la watercrawl.dev',
-    configWatercrawl: 'Configureaz膬 Watercrawl',
   },
 }
 
diff --git a/i18n/ro-RO/dataset-documents.ts b/i18n/ro-RO/dataset-documents.ts
index e42be87..acf40ec 100644
--- a/i18n/ro-RO/dataset-documents.ts
+++ b/i18n/ro-RO/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Limb膬',
         authorPublisher: 'Autor/Editor',
         publishDate: 'Data public膬rii',
-        topicKeywords: 'Subiecte/Cuvinte cheie',
+        topicsKeywords: 'Subiecte/Cuvinte cheie',
         description: 'Descriere',
       },
       paper: {
diff --git a/i18n/ro-RO/dataset-settings.ts b/i18n/ro-RO/dataset-settings.ts
index 9d39f8a..baf86c7 100644
--- a/i18n/ro-RO/dataset-settings.ts
+++ b/i18n/ro-RO/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: 'Afla葲i mai multe',
       description: ' despre metoda de recuperare.',
       longDescription: ' despre metoda de recuperare, o pute葲i schimba 卯n orice moment 卯n set膬rile cuno葯tin葲elor.',
-      method: 'Metoda de recuperare',
     },
     save: 'Salvare',
     permissionsInvitedMembers: 'Membri par葲iali ai echipei',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: 'Nu este disponibil pentru retrogradarea de la HQ la ECO',
     upgradeHighQualityTip: 'Dup膬 ce face葲i upgrade la modul 脦nalt膬 calitate, revenirea la modul Economic nu este disponibil膬',
     helpText: 'Afla葲i cum s膬 scrie葲i o descriere bun膬 a setului de date.',
-    searchModel: 'C膬utare model',
   },
 }
 
diff --git a/i18n/ro-RO/dataset.ts b/i18n/ro-RO/dataset.ts
index dd7b2d6..2feff67 100644
--- a/i18n/ro-RO/dataset.ts
+++ b/i18n/ro-RO/dataset.ts
@@ -168,54 +168,6 @@
   localDocs: 'Documente locale',
   allKnowledge: 'Toate cuno葯tin葲ele',
   allKnowledgeDescription: 'Selecta葲i pentru a afi葯a toate cuno葯tin葲ele din acest spa葲iu de lucru. Doar proprietarul spa葲iului de lucru poate gestiona toate cuno葯tin葲ele.',
-  metadata: {
-    createMetadata: {
-      name: 'Nume',
-      type: 'Tip',
-      back: '脦napoi',
-      namePlaceholder: 'Ad膬uga葲i numele de metadate',
-      title: 'Metadate noi',
-    },
-    checkName: {
-      invalid: 'Numele metadatelor poate con葲ine doar litere mici, cifre 葯i underscore 葯i trebuie s膬 卯nceap膬 cu o liter膬 mic膬.',
-      empty: 'Numele metadatelor nu poate fi gol',
-    },
-    batchEditMetadata: {
-      multipleValue: 'Valoare multipl膬',
-      editMetadata: 'Editeaz膬 metadatele',
-      applyToAllSelectDocument: 'Aplic膬 la toate documentele selectate',
-      editDocumentsNum: 'Editarea {{num}} documente',
-      applyToAllSelectDocumentTip: 'Creeaz膬 automat toate metadatele editate 葯i noi de mai sus pentru toate documentele selectate, altfel editarea metadatelor se va aplica doar documentelor care au aceste metadate.',
-    },
-    selectMetadata: {
-      manageAction: 'Gestioneaz膬',
-      search: 'C膬utare metadate',
-      newAction: 'Metadate noi',
-    },
-    datasetMetadata: {
-      deleteTitle: 'Confirm膬 葯tergerea',
-      namePlaceholder: 'Numele metadata',
-      builtIn: '脦nc膬rcat 卯n',
-      values: '{{num}} Valori',
-      name: 'Nume',
-      disabled: 'Dezactivat',
-      deleteContent: 'E葯ti sigur c膬 vrei s膬 葯tergi metadata 鈥瀧{name}}鈥�?}',
-      builtInDescription: 'Metadatele 卯ncorporate sunt extrase 葯i generate automat. Acestea trebuie s膬 fie activate 卯nainte de utilizare 葯i nu pot fi editate.',
-      description: 'Pute葲i gestiona toate metadatele 卯n aceast膬 cunoa葯tere aici. Modific膬rile vor fi sincronizate cu fiecare document.',
-      addMetaData: 'Ad膬uga葲i Metadate',
-      rename: 'Renumire',
-    },
-    documentMetadata: {
-      startLabeling: '脦ncepe etichetarea',
-      documentInformation: 'Informa葲ii despre document',
-      technicalParameters: 'Parametrii tehnici',
-      metadataToolTip: 'Metadata serve ca un filtru critic care 卯mbun膬t膬葲e葯te acurate葲ea 葯i relevan葲a recuper膬rii informa葲iilor. Pute葲i modifica 葯i ad膬uga metadata pentru acest document aici.',
-    },
-    metadata: 'Metadate',
-    addMetadata: 'Ad膬uga葲i Metadate',
-    chooseTime: 'Alege o or膬...',
-  },
-  embeddingModelNotAvailable: 'Modelul de 卯ncorporare nu este disponibil.',
 }
 
 export default translation
diff --git a/i18n/ro-RO/explore.ts b/i18n/ro-RO/explore.ts
index 153b236..75fc97b 100644
--- a/i18n/ro-RO/explore.ts
+++ b/i18n/ro-RO/explore.ts
@@ -37,7 +37,6 @@
     HR: 'Resurse Umane',
     Agent: 'Agent',
     Workflow: 'Flux de lucru',
-    Entertainment: 'Divertisment',
   },
 }
 
diff --git a/i18n/ro-RO/run-log.ts b/i18n/ro-RO/run-log.ts
index 15aa590..6a1b33e 100644
--- a/i18n/ro-RO/run-log.ts
+++ b/i18n/ro-RO/run-log.ts
@@ -24,8 +24,6 @@
     link: 'panoul de detalii',
     tipRight: ' pentru a o vizualiza.',
   },
-  actionLogs: 'Jurnale de ac葲iuni',
-  circularInvocationTip: 'Exist膬 o invocare circular膬 a instrumentelor/nodurilor 卯n fluxul de lucru curent.',
 }
 
 export default translation
diff --git a/i18n/ro-RO/share-app.ts b/i18n/ro-RO/share-app.ts
index 2cb39a0..c9ec36a 100644
--- a/i18n/ro-RO/share-app.ts
+++ b/i18n/ro-RO/share-app.ts
@@ -30,12 +30,6 @@
     },
     tryToSolve: '脦ncerca葲i s膬 rezolva葲i',
     temporarySystemIssue: 'Ne pare r膬u, problem膬 temporar膬 a sistemului.',
-    expand: 'Extinde',
-    collapse: 'Restr芒nge',
-    chatFormTip: 'Set膬rile chat-ului nu pot fi modificate dup膬 ce chat-ul a 卯nceput.',
-    viewChatSettings: 'Vizualizeaz膬 set膬rile de chat',
-    newChatTip: 'Deja 卯ntr-o discu葲ie nou膬',
-    chatSettingsTitle: 'Nou膬 configurare a chatului',
   },
   generation: {
     tabs: {
@@ -74,8 +68,6 @@
       moreThanMaxLengthLine: 'R芒ndul {{rowIndex}}: valoarea {{varName}} nu poate avea mai mult de {{maxLength}} caractere',
       atLeastOne: 'V膬 rug膬m s膬 introduce葲i cel pu葲in un r芒nd 卯n fi葯ierul 卯nc膬rcat.',
     },
-    execution: 'EXECU葰IE',
-    executions: '{{num}} EXECU葰II',
   },
 }
 
diff --git a/i18n/ro-RO/tools.ts b/i18n/ro-RO/tools.ts
index f5e3388..baeffb2 100644
--- a/i18n/ro-RO/tools.ts
+++ b/i18n/ro-RO/tools.ts
@@ -121,7 +121,6 @@
     number: 'num膬r',
     required: 'Obligatoriu',
     infoAndSetting: 'Informa葲ii 葯i Set膬ri',
-    file: 'fi葯ier',
   },
   noCustomTool: {
     title: 'Niciun instrument personalizat!',
@@ -151,8 +150,6 @@
   openInStudio: 'Deschide 卯n Studio',
   customToolTip: 'Afla葲i mai multe despre instrumentele personalizate Dify',
   toolNameUsageTip: 'Numele de apel al instrumentului pentru ra葲ionamentul 葯i solicitarea agentului',
-  copyToolName: 'Copiaz膬 numele',
-  noTools: 'Nu s-au g膬sit unelte',
 }
 
 export default translation
diff --git a/i18n/ro-RO/workflow.ts b/i18n/ro-RO/workflow.ts
index 2978565..6d0edd6 100644
--- a/i18n/ro-RO/workflow.ts
+++ b/i18n/ro-RO/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Ad膬ugare ramur膬 Fail',
     noHistory: 'F膬r膬 istorie',
     loadMore: '脦nc膬rca葲i mai multe fluxuri de lucru',
-    exportImage: 'Export膬 imaginea',
-    exportSVG: 'Export膬 ca SVG',
-    exportPNG: 'Export膬 ca PNG',
-    noExist: 'Nu exist膬 o astfel de variabil膬',
-    exitVersions: 'Ie葯ire Versiuni',
-    versionHistory: 'Istoricul versiunilor',
-    publishUpdate: 'Publica葲i actualizarea',
-    referenceVar: 'Variabil膬 de referin葲膬',
-    exportJPEG: 'Export膬 ca JPEG',
   },
   env: {
     envPanelTitle: 'Variabile de Mediu',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Variabil膬 invalid膬',
     rerankModelRequired: '脦nainte de a activa modelul de reclasificare, v膬 rug膬m s膬 confirma葲i c膬 modelul a fost configurat cu succes 卯n set膬ri.',
-    toolParameterRequired: '{{field}}: parametrul [{{param}}] este obligatoriu',
-    noValidTool: '{{field}} nu a fost selectat niciun instrument valid',
   },
   singleRun: {
     testRun: 'Rulare de test ',
@@ -214,7 +203,6 @@
     testRunIteration: 'Itera葲ie rulare de test',
     back: '脦napoi',
     iteration: 'Itera葲ie',
-    loop: 'Loop',
   },
   tabs: {
     'searchBlock': 'Caut膬 bloc',
@@ -230,8 +218,6 @@
     'utilities': 'Utilit膬葲i',
     'noResult': 'Niciun rezultat g膬sit',
     'searchTool': 'Instrument de c膬utare',
-    'agent': 'Strategia agentului',
-    'plugin': 'Plugin',
   },
   blocks: {
     'start': '脦ncepe',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Extractor de parametri',
     'list-operator': 'Operator de list膬',
     'document-extractor': 'Extractor de documente',
-    'agent': 'Agent',
-    'loop': 'Loop',
-    'loop-end': 'Ie葯ire din bucl膬',
-    'loop-start': '脦ntre葲inere bucl膬',
   },
   blocksAbout: {
     'start': 'Defini葲i parametrii ini葲iali pentru lansarea unui flux de lucru',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'Utiliza葲i LLM pentru a extrage parametrii structura葲i din limbajul natural pentru invoc膬rile de instrumente sau cererile HTTP.',
     'list-operator': 'Folosit pentru a filtra sau sorta con葲inutul matricei.',
     'document-extractor': 'Folosit pentru a analiza documentele 卯nc膬rcate 卯n con葲inut text care este u葯or de 卯n葲eles de LLM.',
-    'agent': 'Invocarea modelelor lingvistice mari pentru a r膬spunde la 卯ntreb膬ri sau pentru a procesa limbajul natural',
-    'loop': 'Executa葲i o bucl膬 de logic膬 p芒n膬 c芒nd condi葲ia de terminare este 卯ndeplinit膬 sau num膬rul maxim de bucle este atins.',
-    'loop-end': 'Echivalent cu 鈥瀊reak鈥�. Acest nod nu are elemente de configurare. C芒nd corpul buclei ajunge la acest nod, bucla se termin膬.',
   },
   operator: {
     zoomIn: 'M膬re葯te',
@@ -419,34 +398,6 @@
         variable: 'Variabil膬',
       },
       sysQueryInUser: 'sys.query 卯n mesajul utilizatorului este necesar',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'V膬 rug膬m s膬 termina葲i editarea c芒mpului curent 卯nainte de a salva schema.',
-        },
-        addChildField: 'Ad膬uga葲i c芒mpul copil',
-        generationTip: 'Pute葲i folosi limbajul natural pentru a crea rapid un schema JSON.',
-        promptTooltip: 'Converte葯te descrierea textului 卯ntr-o structur膬 standardizat膬 JSON Schema.',
-        resetDefaults: 'Reseteaz膬',
-        apply: 'Aplic膬',
-        instruction: 'Instruc葲iune',
-        doc: 'Afla葲i mai multe despre ie葯irea structurat膬',
-        stringValidations: 'Valid膬rile 葯irurilor',
-        title: 'Schema de Ie艧ire Structurat膬',
-        generateJsonSchema: 'Genera葲i schema JSON',
-        generate: 'Genereaz膬',
-        import: 'Import膬 din JSON',
-        generating: 'Generarea schemei JSON...',
-        addField: 'Adaug膬 c芒mp',
-        regenerate: 'Regenerare',
-        generatedResult: 'Rezultatul generat',
-        descriptionPlaceholder: 'Ad膬uga葲i o descriere',
-        showAdvancedOptions: 'Afi葯a葲i op葲iuni avansate',
-        resultTip: 'Iat膬 rezultatul generat. Dac膬 nu e葯ti mul葲umit, po葲i s膬 te 卯ntorci 葯i s膬 卯葲i modifici cererea.',
-        fieldNamePlaceholder: 'Numele c芒mpului',
-        required: 'Necesar',
-        back: '脦napoi',
-        promptPlaceholder: 'Descrie schema ta JSON...',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Variabil膬 de interogare',
@@ -458,33 +409,6 @@
         icon: 'Pictogram膬 segmentat膬',
         url: 'URL segmentat',
         metadata: 'Alte metadate',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            subTitle: 'Nu activarea filtr膬rii metadatelor',
-            title: 'Dezactivat',
-          },
-          automatic: {
-            subTitle: 'Genera葲i automat condi葲ii de filtrare a metadatelor pe baza interog膬rii utilizatorului',
-            desc: 'Genera葲i automat condi葲ii de filtrare a metadatelor pe baza variabilei de interogare',
-            title: 'Automat',
-          },
-          manual: {
-            subTitle: 'Ad膬uga葲i manual condi葲ii de filtrare a metadatelor',
-            title: 'Manual',
-          },
-        },
-        panel: {
-          conditions: 'Condi葲ii',
-          select: 'Selecta葲i variabila...',
-          title: 'Condi葲ii de filtrare a metadatelor',
-          add: 'Adaug膬 condi葲ie',
-          placeholder: 'Introduce葲i valoarea',
-          datePlaceholder: 'Alege o or膬...',
-          search: 'C膬utare metadate',
-        },
-        title: 'Filtrarea metadatelor',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'exists': 'Exist膬',
         'all of': 'Toate',
         'not exists': 'nu exist膬',
-        'before': '卯nainte',
-        'after': 'dup膬',
       },
       enterValue: 'Introduce葲i valoarea',
       addCondition: 'Ad膬uga葲i condi葲ie',
@@ -592,7 +514,6 @@
       },
       select: 'Alege',
       addSubVariable: 'Subvariabil膬',
-      condition: 'Condi葲ie',
     },
     variableAssigner: {
       title: 'Atribuie variabile',
@@ -635,8 +556,6 @@
         'over-write': 'Suprascrie',
         '/=': '/=',
         '-=': '-=',
-        'remove-first': '脦ndep膬rteaz膬 primul',
-        'remove-last': '脦ndep膬rteaz膬 ultimul',
       },
       'selectAssignedVariable': 'Selecta葲i variabila atribuit膬...',
       'varNotSet': 'Variabila NU este setat膬',
@@ -772,107 +691,6 @@
       asc: 'ASC',
       extractsCondition: 'Extrage葲i elementul N',
     },
-    agent: {
-      strategy: {
-        configureTip: 'V膬 rug膬m s膬 configura葲i strategia agentic膬.',
-        selectTip: 'Selecta葲i strategia agentic膬',
-        configureTipDesc: 'Dup膬 configurarea strategiei agentice, acest nod va 卯nc膬rca automat configura葲iile r膬mase. Strategia va afecta mecanismul ra葲ionamentului instrumentelor 卯n mai mul葲i pa葯i.',
-        shortLabel: 'Strategie',
-        label: 'Strategia agentic膬',
-        tooltip: 'Diferitele strategii agentice determin膬 modul 卯n care sistemul planific膬 葯i execut膬 apelurile de instrumente 卯n mai mul葲i pa葯i',
-        searchPlaceholder: 'Strategie agentic膬 de c膬utare',
-      },
-      pluginInstaller: {
-        installing: 'Instalarea',
-        install: 'Instala',
-      },
-      modelNotInMarketplace: {
-        manageInPlugins: 'Gestiona葲i 卯n pluginuri',
-        title: 'Model neinstalat',
-        desc: 'Acest model este instalat din depozitul local sau GitHub. V膬 rug膬m s膬 utiliza葲i dup膬 instalare.',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'Versiunea de plugin instalat膬 nu ofer膬 acest model. Face葲i clic pentru a comuta versiunea.',
-        desc: 'Versiunea de plugin instalat膬 nu ofer膬 acest model.',
-        title: 'Model neacceptat',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Acest model este 卯nvechit',
-      },
-      outputVars: {
-        files: {
-          upload_file_id: '脦nc膬rca葲i ID-ul fi葯ierului',
-          type: 'Tip de suport. Acum accept膬 doar imaginea',
-          transfer_method: 'Metoda de transfer. Valoarea este remote_url sau local_file',
-          title: 'Fi葯iere generate de agent',
-          url: 'Adresa URL a imaginii',
-        },
-        text: 'Con葲inut generat de agent',
-        json: 'JSON generat de agent',
-      },
-      checkList: {
-        strategyNotSelected: 'Strategia neselectat膬',
-      },
-      installPlugin: {
-        install: 'Instala',
-        changelog: 'Jurnal de modific膬ri',
-        desc: 'Despre instalarea urm膬torului plugin',
-        title: 'Instaleaz膬 pluginul',
-        cancel: 'Anula',
-      },
-      pluginNotInstalled: 'Acest plugin nu este instalat',
-      unsupportedStrategy: 'Strategie neacceptat膬',
-      notAuthorized: 'Neautorizat',
-      learnMore: 'Afl膬 mai multe',
-      toolbox: 'cutie de scule',
-      toolNotAuthorizedTooltip: '{{instrument}} Neautorizat',
-      strategyNotSet: 'Strategia agentic膬 nu este setat膬',
-      tools: 'Instrumente',
-      maxIterations: 'Itera葲ii maxime',
-      configureModel: 'Configura葲i modelul',
-      strategyNotFoundDescAndSwitchVersion: 'Versiunea de plugin instalat膬 nu ofer膬 aceast膬 strategie. Face葲i clic pentru a comuta versiunea.',
-      strategyNotInstallTooltip: '{{strategy}} nu este instalat',
-      pluginNotFoundDesc: 'Acest plugin este instalat de pe GitHub. V膬 rug膬m s膬 accesa葲i Pluginuri pentru a reinstala',
-      modelNotSelected: 'Model neselectat',
-      toolNotInstallTooltip: '{{tool}} nu este instalat',
-      pluginNotInstalledDesc: 'Acest plugin este instalat de pe GitHub. V膬 rug膬m s膬 accesa葲i Pluginuri pentru a reinstala',
-      strategyNotFoundDesc: 'Versiunea de plugin instalat膬 nu ofer膬 aceast膬 strategie.',
-      modelNotInstallTooltip: 'Acest model nu este instalat',
-      linkToPlugin: 'Link c膬tre pluginuri',
-      model: 'model',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: 'Elimin膬 ie葯irea anormal膬',
-        continueOnError: 'Continua葲i 卯n caz de eroare',
-        operationTerminated: '脦ncetat',
-      },
-      inputMode: 'Mod de introducere',
-      currentLoopCount: 'Num膬rul curent de itera葲ii: {{count}}',
-      error_one: '{{count}} Eroare',
-      error_other: '{{count}} Erori',
-      input: 'Intrare',
-      errorResponseMethod: 'Metoda de R膬spuns la Erori',
-      deleteTitle: '葮terge nodul de ciclu?',
-      breakConditionTip: 'Numai variabilele din interiorul buclelor cu condi葲ii de terminare 葯i variabilele de conversa葲ie pot fi referite.',
-      loop_one: '{{count}} bucl膬',
-      loop_other: '{{count}} Bucl膬',
-      loopNode: 'Nod de bucl膬',
-      loopMaxCount: 'Num膬rul maxim de itera葲ii',
-      loopVariables: 'Variabile de bucl膬',
-      finalLoopVariables: 'Variabilele ciclului final',
-      currentLoop: 'Circuit Curent',
-      totalLoopCount: 'Num膬rul total de bucle: {{count}}',
-      output: 'Variabil膬 de ie葯ire',
-      exitConditionTip: 'Un nod de bucl膬 are nevoie de cel pu葲in o condi葲ie de ie葯ire.',
-      initialLoopVariables: 'Variabilele de loop ini葲iale',
-      setLoopVariables: 'Seta葲i variabilele 卯n cadrul buclei',
-      loopMaxCountError: 'V膬 rug膬m s膬 introduce葲i un num膬r maxim valid de bucle, care s膬 fie 卯ntre 1 葯i {{maxCount}}',
-      deleteDesc: '葮tergerea nodului bucl膬 va elimina toate nodurile copil.',
-      breakCondition: 'Condi葲ia de terminare a buclei',
-      comma: ',',
-      variableName: 'Nume Variabil',
-    },
   },
   tracing: {
     stopBy: 'Oprit de {{user}}',
@@ -883,38 +701,6 @@
     conversationVars: 'Variabile de conversa葲ie',
     assignedVarsDescription: 'Variabilele atribuite trebuie s膬 fie variabile inscrip葲ionabile, cum ar fi',
     noAssignedVars: 'Nu exist膬 variabile atribuite disponibile',
-  },
-  versionHistory: {
-    filter: {
-      all: 'Toate',
-      onlyYours: 'Numai al t膬u',
-      reset: 'Resetare filtrare',
-      onlyShowNamedVersions: 'Afi葯a葲i doar versiunile numite',
-      empty: 'Nu s-a g膬sit nicio istorie de versiune corespunz膬toare.',
-    },
-    editField: {
-      releaseNotesLengthLimit: 'Notele de eliberare nu pot dep膬葯i {{limit}} caractere',
-      title: 'Titlu',
-      titleLengthLimit: 'Titlul nu poate dep膬葯i {{limit}} caractere',
-      releaseNotes: 'Note de lansare',
-    },
-    action: {
-      restoreSuccess: 'Versiune restaurat膬',
-      deleteSuccess: 'Versiune 葯tears膬',
-      restoreFailure: 'Restaurarea versiunii a e葯uat',
-      deleteFailure: '葮tergerea versiunii a e葯uat',
-      updateSuccess: 'Versiune actualizat膬',
-      updateFailure: 'Actualizarea versiunii a e葯uat',
-    },
-    latest: 'Cea mai recent膬',
-    title: 'Versiuni',
-    nameThisVersion: 'Nume葯te aceast膬 versiune',
-    restorationTip: 'Dup膬 restaurarea versiunii, proiectul actual va fi suprascris.',
-    defaultName: 'Versiune f膬r膬 titlu',
-    editVersionInfo: 'Editeaz膬 informa葲iile versiunii',
-    releaseNotesPlaceholder: 'Descrie ce s-a schimbat',
-    deletionTip: '葮tergerea este irreversibil膬, v膬 rug膬m s膬 confirma葲i.',
-    currentDraft: 'Draftul curent',
   },
 }
 
diff --git a/i18n/ru-RU/app-overview.ts b/i18n/ru-RU/app-overview.ts
index 5816c37..c26c1d5 100644
--- a/i18n/ru-RU/app-overview.ts
+++ b/i18n/ru-RU/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '校褋褌邪薪芯胁懈褌械 褑胁械褌芯胁褍褞 褌械屑褍 褔邪褌-斜芯褌邪',
         chatColorThemeInverted: '袠薪胁械褉褌懈褉芯胁邪薪薪褘械 褑胁械褌邪',
         invalidHexMessage: '袧械胁械褉薪芯械 HEX-蟹薪邪褔械薪懈械',
-        invalidPrivacyPolicy: '袧械写芯锌褍褋褌懈屑邪褟 褋褋褘谢泻邪 薪邪 锌芯谢懈褌懈泻褍 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈. 袩芯卸邪谢褍泄褋褌邪, 懈褋锌芯谢褜蟹褍泄褌械 写械泄褋褌胁懈褌械谢褜薪褍褞 褋褋褘谢泻褍, 薪邪褔懈薪邪褞褖褍褞褋褟 褋 http 懈谢懈 https',
         sso: {
           label: 'SSO 邪褍褌械薪褌懈褎懈泻邪褑懈褟',
           title: 'WebApp SSO',
@@ -113,7 +112,6 @@
           operation: '袛芯泻褍屑械薪褌邪褑懈褟',
         },
       },
-      launch: '袘邪褉泻邪褋',
     },
     apiInfo: {
       title: 'API 褋械褉胁械褉薪芯泄 褔邪褋褌懈',
diff --git a/i18n/ru-RU/app.ts b/i18n/ru-RU/app.ts
index 990457b..5f57f64 100644
--- a/i18n/ru-RU/app.ts
+++ b/i18n/ru-RU/app.ts
@@ -163,10 +163,6 @@
       title: '袨锌懈泻',
       description: 'Opik 鈥� 褝褌芯 锌谢邪褌褎芯褉屑邪 褋 芯褌泻褉褘褌褘屑 懈褋褏芯写薪褘屑 泻芯写芯屑 写谢褟 芯褑械薪泻懈, 褌械褋褌懈褉芯胁邪薪懈褟 懈 屑芯薪懈褌芯褉懈薪谐邪 LLM-锌褉懈谢芯卸械薪懈泄.',
     },
-    weave: {
-      description: 'Weave 鈥� 褝褌芯 芯褌泻褉褘褌邪褟 锌谢邪褌褎芯褉屑邪 写谢褟 芯褑械薪泻懈, 褌械褋褌懈褉芯胁邪薪懈褟 懈 屑芯薪懈褌芯褉懈薪谐邪 锌褉懈谢芯卸械薪懈泄 LLM.',
-      title: '孝泻邪褌褜',
-    },
   },
   answerIcon: {
     title: '袠褋锌芯谢褜蟹芯胁邪薪懈械 蟹薪邪褔泻邪 WebApp 写谢褟 蟹邪屑械薪褘 馃',
@@ -192,23 +188,6 @@
     byCategories: '袩袨 袣袗孝袝袚袨袪袠携袦',
   },
   showMyCreatedAppsOnly: '袩芯泻邪蟹邪褌褜 褌芯谢褜泻芯 褋芯蟹写邪薪薪褘械 屑薪芯泄 锌褉懈谢芯卸械薪懈褟',
-  appSelector: {
-    label: '袩袪袠袥袨袞袝袧袠袝',
-    noParams: '袩邪褉邪屑械褌褉褘 薪械 薪褍卸薪褘',
-    placeholder: '袙褘斜械褉懈褌械 锌褉懈谢芯卸械薪懈械...',
-    params: '袩袗袪袗袦袝孝袪蝎 袩袪袠袥袨袞袝袧袠携',
-  },
-  structOutput: {
-    notConfiguredTip: '小褌褉褍泻褌褍褉懈褉芯胁邪薪薪褘泄 胁褘胁芯写 械褖械 薪械 斜褘谢 薪邪褋褌褉芯械薪.',
-    LLMResponse: '袨褌胁械褌 LLM',
-    structured: '小褌褉褍泻褌褍褉懈褉芯胁邪薪薪褘泄',
-    moreFillTip: '袩芯泻邪蟹邪薪芯 屑邪泻褋懈屑褍屑 10 褍褉芯胁薪械泄 胁谢芯卸械薪薪芯褋褌懈',
-    required: '袧械芯斜褏芯写懈屑芯',
-    configure: '袧邪褋褌褉芯懈褌褜',
-    modelNotSupported: '袦芯写械谢褜 薪械 锌芯写写械褉卸懈胁邪械褌褋褟',
-    modelNotSupportedTip: '孝械泻褍褖邪褟 屑芯写械谢褜 薪械 锌芯写写械褉卸懈胁邪械褌 褝褌褍 褎褍薪泻褑懈褞 懈 邪胁褌芯屑邪褌懈褔械褋泻懈 锌芯薪懈卸邪械褌褋褟 写芯 懈薪褗械泻褑懈懈 锌芯写褋泻邪蟹芯泻.',
-    structuredTip: '小褌褉褍泻褌褍褉懈褉芯胁邪薪薪褘械 胁褘褏芯写薪褘械 写邪薪薪褘械 鈥� 褝褌芯 褎褍薪泻褑懈褟, 泻芯褌芯褉邪褟 谐邪褉邪薪褌懈褉褍械褌, 褔褌芯 屑芯写械谢褜 胁褋械谐写邪 斜褍写械褌 谐械薪械褉懈褉芯胁邪褌褜 芯褌胁械褌褘, 褋芯芯褌胁械褌褋褌胁褍褞褖懈械 胁邪褕械泄 锌褉械写芯褋褌邪胁谢械薪薪芯泄 JSON-褋褏械屑械.',
-  },
 }
 
 export default translation
diff --git a/i18n/ru-RU/billing.ts b/i18n/ru-RU/billing.ts
index 7a05603..e7760d9 100644
--- a/i18n/ru-RU/billing.ts
+++ b/i18n/ru-RU/billing.ts
@@ -70,7 +70,6 @@
     messageRequest: {
       title: '袣褉械写懈褌褘 薪邪 褋芯芯斜褖械薪懈褟',
       tooltip: '袣胁芯褌褘 胁褘蟹芯胁邪 褋芯芯斜褖械薪懈泄 写谢褟 褉邪蟹谢懈褔薪褘褏 褌邪褉懈褎薪褘褏 锌谢邪薪芯胁, 懈褋锌芯谢褜蟹褍褞褖懈褏 屑芯写械谢懈 OpenAI (泻褉芯屑械 gpt4). 小芯芯斜褖械薪懈褟, 锌褉械胁褘褕邪褞褖懈械 谢懈屑懈褌, 斜褍写褍褌 懈褋锌芯谢褜蟹芯胁邪褌褜 胁邪褕 泻谢褞褔 API OpenAI.',
-      titlePerMonth: '{{count,number}} 褋芯芯斜褖械薪懈泄/屑械褋褟褑',
     },
     annotatedResponse: {
       title: '袨谐褉邪薪懈褔械薪懈褟 泻胁芯褌褘 邪薪薪芯褌邪褑懈泄',
@@ -78,94 +77,27 @@
     },
     ragAPIRequestTooltip: '袨褌薪芯褋懈褌褋褟 泻 泻芯谢懈褔械褋褌胁褍 胁褘蟹芯胁芯胁 API, 胁褘蟹褘胁邪褞褖懈褏 褌芯谢褜泻芯 胁芯蟹屑芯卸薪芯褋褌懈 芯斜褉邪斜芯褌泻懈 斜邪蟹褘 蟹薪邪薪懈泄 Dify.',
     receiptInfo: '孝芯谢褜泻芯 胁谢邪写械谢械褑 泻芯屑邪薪写褘 懈 邪写屑懈薪懈褋褌褉邪褌芯褉 泻芯屑邪薪写褘 屑芯谐褍褌 锌芯写锌懈褋褘胁邪褌褜褋褟 懈 锌褉芯褋屑邪褌褉懈胁邪褌褜 懈薪褎芯褉屑邪褑懈褞 芯 胁褘褋褌邪胁谢械薪懈懈 褋褔械褌芯胁',
-    cloud: '袨斜谢邪褔薪褘泄 褋械褉胁懈褋',
-    annualBilling: '袝卸械谐芯写薪邪褟 芯锌谢邪褌邪',
-    apiRateLimit: '袨谐褉邪薪懈褔械薪懈械 褋泻芯褉芯褋褌懈 API',
-    self: '小邪屑芯褋褌芯褟褌械谢褜薪芯 褉邪蟹屑械褖械薪薪褘泄',
-    teamMember_other: '{{count,number}} 效谢械薪褘 泻芯屑邪薪写褘',
-    apiRateLimitUnit: '{{count,number}}/写械薪褜',
-    unlimitedApiRate: '袧械褌 芯谐褉邪薪懈褔械薪懈泄 薪邪 泻芯谢懈褔械褋褌胁芯 蟹邪锌褉芯褋芯胁 泻 API',
-    freeTrialTip: '斜械褋锌谢邪褌薪邪褟 锌褉芯斜薪邪褟 胁械褉褋懈褟 懈蟹 200 胁褘蟹芯胁芯胁 OpenAI.',
-    freeTrialTipSuffix: '袣褉械写懈褌薪邪褟 泻邪褉褌邪 薪械 褌褉械斜褍械褌褋褟',
-    teamMember_one: '{{count,number}} 效谢械薪 泻芯屑邪薪写褘',
-    getStarted: '袧邪褔邪褌褜',
-    teamWorkspace: '{{count,number}} 袣芯屑邪薪写薪芯械 褉邪斜芯褔械械 锌褉芯褋褌褉邪薪褋褌胁芯',
-    freeTrialTipPrefix: '袟邪褉械谐懈褋褌褉懈褉褍泄褌械褋褜 懈 锌芯谢褍褔懈褌械',
-    comparePlanAndFeatures: '小褉邪胁薪懈褌械 锌谢邪薪褘 懈 褎褍薪泻褑懈懈',
-    documents: '{{count,number}} 袛芯泻褍屑械薪褌芯胁 蟹薪邪薪懈泄',
-    documentsRequestQuota: '{{count,number}}/屑懈薪 袥懈屑懈褌 效邪褋褌芯褌褘 袟邪锌褉芯褋芯胁 薪邪 袟薪邪薪懈械',
-    apiRateLimitTooltip: '袨谐褉邪薪懈褔械薪懈械 褋泻芯褉芯褋褌懈 API 锌褉懈屑械薪褟械褌褋褟 泻芯 胁褋械屑 蟹邪锌褉芯褋邪屑, 褋写械谢邪薪薪褘屑 褔械褉械蟹 API Dify, 胁泻谢褞褔邪褟 谐械薪械褉邪褑懈褞 褌械泻褋褌邪, 褔邪褌芯胁褍褞 锌械褉械锌懈褋泻褍, 胁褘锌芯谢薪械薪懈械 褉邪斜芯褔懈褏 锌褉芯褑械褋褋芯胁 懈 芯斜褉邪斜芯褌泻褍 写芯泻褍屑械薪褌芯胁.',
-    documentsRequestQuotaTooltip: '校泻邪蟹褘胁邪械褌 芯斜褖械械 泻芯谢懈褔械褋褌胁芯 写械泄褋褌胁懈泄, 泻芯褌芯褉褘械 褉邪斜芯褔邪褟 芯斜谢邪褋褌褜 屑芯卸械褌 胁褘锌芯谢薪褟褌褜 胁 屑懈薪褍褌褍 胁薪褍褌褉懈 斜邪蟹褘 蟹薪邪薪懈泄, 胁泻谢褞褔邪褟 褋芯蟹写邪薪懈械, 褍写邪谢械薪懈械, 芯斜薪芯胁谢械薪懈械 薪邪斜芯褉芯胁 写邪薪薪褘褏, 蟹邪谐褉褍蟹泻褍 写芯泻褍屑械薪褌芯胁, 屑芯写懈褎懈泻邪褑懈懈, 邪褉褏懈胁懈褉芯胁邪薪懈械 懈 蟹邪锌褉芯褋褘 泻 斜邪蟹械 蟹薪邪薪懈泄. 协褌邪 屑械褌褉懈泻邪 懈褋锌芯谢褜蟹褍械褌褋褟 写谢褟 芯褑械薪泻懈 锌褉芯懈蟹胁芯写懈褌械谢褜薪芯褋褌懈 蟹邪锌褉芯褋芯胁 泻 斜邪蟹械 蟹薪邪薪懈泄. 袧邪锌褉懈屑械褉, 械褋谢懈 锌芯谢褜蟹芯胁邪褌械谢褜 Sandbox 胁褘锌芯谢薪褟械褌 10 锌芯褋谢械写芯胁邪褌械谢褜薪褘褏 褌械褋褌芯胁 蟹邪 芯写懈薪 屑懈薪褍褌褍, 械谐芯 褉邪斜芯褔邪褟 芯斜谢邪褋褌褜 斜褍写械褌 胁褉械屑械薪薪芯 芯谐褉邪薪懈褔械薪邪 胁 胁褘锌芯谢薪械薪懈懈 褋谢械写褍褞褖懈褏 写械泄褋褌胁懈泄 胁 褌械褔械薪懈械 褋谢械写褍褞褖械泄 屑懈薪褍褌褘: 褋芯蟹写邪薪懈械, 褍写邪谢械薪懈械, 芯斜薪芯胁谢械薪懈械 薪邪斜芯褉芯胁 写邪薪薪褘褏 懈 蟹邪谐褉褍蟹泻邪 懈谢懈 屑芯写懈褎懈泻邪褑懈褟 写芯泻褍屑械薪褌芯胁.',
-    priceTip: '锌芯 褉邪斜芯褔械屑褍 屑械褋褌褍/',
-    documentsTooltip: '袣胁芯褌邪 薪邪 泻芯谢懈褔械褋褌胁芯 写芯泻褍屑械薪褌芯胁, 懈屑锌芯褉褌懈褉褍械屑褘褏 懈蟹 懈褋褌芯褔薪懈泻邪 蟹薪邪薪懈泄.',
   },
   plans: {
     sandbox: {
       name: '袩械褋芯褔薪懈褑邪',
       description: '200 斜械褋锌谢邪褌薪褘褏 锌褉芯斜薪褘褏 懈褋锌芯谢褜蟹芯胁邪薪懈泄 GPT',
       includesTitle: '袙泻谢褞褔邪械褌:',
-      for: '袘械褋锌谢邪褌薪邪褟 锌褉芯斜薪邪褟 胁械褉褋懈褟 芯褋薪芯胁薪褘褏 胁芯蟹屑芯卸薪芯褋褌械泄',
     },
     professional: {
       name: '袩褉芯褎械褋褋懈芯薪邪谢褜薪褘泄',
       description: '袛谢褟 褔邪褋褌薪褘褏 谢懈褑 懈 薪械斜芯谢褜褕懈褏 泻芯屑邪薪写, 褔褌芯斜褘 褉邪蟹斜谢芯泻懈褉芯胁邪褌褜 斜芯谢褜褕械 胁芯蟹屑芯卸薪芯褋褌械泄 锌芯 写芯褋褌褍锌薪芯泄 褑械薪械.',
       includesTitle: '袙褋械 胁 斜械褋锌谢邪褌薪芯屑 锌谢邪薪械, 锌谢褞褋:',
-      for: '袛谢褟 薪械蟹邪胁懈褋懈屑褘褏 褉邪蟹褉邪斜芯褌褔懈泻芯胁/屑邪谢褘褏 泻芯屑邪薪写',
     },
     team: {
       name: '袣芯屑邪薪写邪',
       description: '小芯褌褉褍写薪懈褔邪泄褌械 斜械蟹 芯谐褉邪薪懈褔械薪懈泄 懈 薪邪褋谢邪卸写邪泄褌械褋褜 胁褘褋芯褔邪泄褕械泄 锌褉芯懈蟹胁芯写懈褌械谢褜薪芯褋褌褜褞.',
       includesTitle: '袙褋械 胁 锌褉芯褎械褋褋懈芯薪邪谢褜薪芯屑 锌谢邪薪械, 锌谢褞褋:',
-      for: '袛谢褟 泻芯屑邪薪写 褋褉械写薪械谐芯 褉邪蟹屑械褉邪',
     },
     enterprise: {
       name: '袣芯褉锌芯褉邪褌懈胁薪褘泄',
       description: '袩芯谢褍褔懈褌械 锌芯谢薪褘泄 薪邪斜芯褉 胁芯蟹屑芯卸薪芯褋褌械泄 懈 锌芯写写械褉卸泻褍 写谢褟 泻褉褍锌薪芯屑邪褋褕褌邪斜薪褘褏 泻褉懈褌懈褔械褋泻懈 胁邪卸薪褘褏 褋懈褋褌械屑.',
       includesTitle: '袙褋械 胁 泻芯屑邪薪写薪芯屑 锌谢邪薪械, 锌谢褞褋:',
-      features: {
-        7: '袨斜薪芯胁谢械薪懈褟 懈 芯斜褋谢褍卸懈胁邪薪懈械 芯褌 Dify 芯褎懈褑懈邪谢褜薪芯',
-        4: '小小袨',
-        8: '袩褉芯褎械褋褋懈芯薪邪谢褜薪邪褟 褌械褏薪懈褔械褋泻邪褟 锌芯写写械褉卸泻邪',
-        6: '小芯胁褉械屑械薪薪邪褟 斜械蟹芯锌邪褋薪芯褋褌褜 懈 泻芯薪褌褉芯谢褜',
-        2: '协泻褋泻谢褞蟹懈胁薪褘械 褎褍薪泻褑懈懈 写谢褟 锌褉械写锌褉懈褟褌懈泄',
-        1: '袣芯屑屑械褉褔械褋泻邪褟 谢懈褑械薪蟹懈褟',
-        3: '袦薪芯卸械褋褌胁械薪薪褘械 褉邪斜芯褔懈械 芯斜谢邪褋褌懈 懈 褍锌褉邪胁谢械薪懈械 锌褉械写锌褉懈褟褌懈械屑',
-        0: '袪械褕械薪懈褟 写谢褟 屑邪褋褕褌邪斜懈褉褍械屑芯谐芯 褉邪蟹胁械褉褌褘胁邪薪懈褟 泻芯褉锌芯褉邪褌懈胁薪芯谐芯 褍褉芯胁薪褟',
-        5: '小芯谐谢邪褋芯胁邪薪薪褘械 小芯谐谢邪褕械薪懈褟 芯斜 校褉芯胁薪械 校褋谢褍谐 芯褌 Dify Partners',
-      },
-      price: '袩芯谢褜蟹芯胁邪褌械谢褜褋泻懈泄',
-      priceTip: '孝芯谢褜泻芯 谐芯写芯胁邪褟 锌芯写锌懈褋泻邪',
-      for: '袛谢褟 泻芯屑邪薪写 斜芯谢褜褕芯谐芯 褉邪蟹屑械褉邪',
-      btnText: '小胁褟蟹邪褌褜褋褟 褋 芯褌写械谢芯屑 锌褉芯写邪卸',
-    },
-    community: {
-      features: {
-        0: '袙褋械 芯褋薪芯胁薪褘械 褎褍薪泻褑懈懈 胁褘锌褍褖械薪褘 胁 锌褍斜谢懈褔薪芯屑 褉械锌芯蟹懈褌芯褉懈懈',
-        1: '袝写懈薪芯械 褉邪斜芯褔械械 锌褉芯褋褌褉邪薪褋褌胁芯',
-        2: '小芯斜谢褞写邪械褌 袥懈褑械薪蟹懈褞 薪邪 芯褌泻褉褘褌芯械 锌褉芯谐褉邪屑屑薪芯械 芯斜械褋锌械褔械薪懈械 Dify',
-      },
-      name: '小芯芯斜褖械褋褌胁芯',
-      btnText: '袧邪褔薪懈褌械 褋 褋芯芯斜褖械褋褌胁邪',
-      price: '小胁芯斜芯写薪芯',
-      includesTitle: '袘械褋锌谢邪褌薪褘械 褎褍薪泻褑懈懈:',
-      description: '袛谢褟 芯褌写械谢褜薪褘褏 锌芯谢褜蟹芯胁邪褌械谢械泄, 屑邪谢褘褏 泻芯屑邪薪写 懈谢懈 薪械泻芯屑屑械褉褔械褋泻懈褏 锌褉芯械泻褌芯胁',
-      for: '袛谢褟 芯褌写械谢褜薪褘褏 锌芯谢褜蟹芯胁邪褌械谢械泄, 屑邪谢褘褏 泻芯屑邪薪写 懈谢懈 薪械泻芯屑屑械褉褔械褋泻懈褏 锌褉芯械泻褌芯胁',
-    },
-    premium: {
-      features: {
-        3: '袩褉懈芯褉懈褌械褌薪邪褟 锌芯写写械褉卸泻邪 锌芯 褝谢械泻褌褉芯薪薪芯泄 锌芯褔褌械 懈 褔邪褌褍',
-        1: '袝写懈薪芯械 褉邪斜芯褔械械 锌褉芯褋褌褉邪薪褋褌胁芯',
-        2: '袧邪褋褌褉芯泄泻邪 谢芯谐芯褌懈锌邪 懈 斜褉械薪写懈薪谐邪 胁械斜-锌褉懈谢芯卸械薪懈褟',
-        0: '小邪屑芯褋褌芯褟褌械谢褜薪芯械 褍锌褉邪胁谢械薪懈械 薪邪写械卸薪芯褋褌褜褞 褉邪蟹谢懈褔薪褘屑懈 芯斜谢邪褔薪褘屑懈 锌褉芯胁邪泄写械褉邪屑懈',
-      },
-      description: '袛谢褟 褋褉械写薪懈褏 芯褉谐邪薪懈蟹邪褑懈泄 懈 泻芯屑邪薪写',
-      includesTitle: '袙褋褢 懈蟹 小芯芯斜褖械褋褌胁邪, 锌谢褞褋:',
-      priceTip: '袧邪 芯褋薪芯胁械 芯斜谢邪褔薪芯谐芯 屑邪褉泻械褌锌谢械泄褋邪',
-      btnText: '袩芯谢褍褔懈褌械 袩褉械屑懈褍屑 胁',
-      comingSoon: '袩芯写写械褉卸泻邪 Microsoft Azure 懈 Google Cloud 褋泻芯褉芯 锌芯褟胁懈褌褋褟',
-      price: '袦邪褋褕褌邪斜懈褉褍械屑褘泄',
-      for: '袛谢褟 褋褉械写薪懈褏 芯褉谐邪薪懈蟹邪褑懈泄 懈 泻芯屑邪薪写',
-      name: '袩褉械屑懈褍屑',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: '袨斜薪芯胁懈褌械 褋胁芯泄 褌邪褉懈褎薪褘泄 锌谢邪薪, 褔褌芯斜褘',
     fullTipLine2: '褋芯蟹写邪胁邪褌褜 斜芯谢褜褕械 锌褉懈谢芯卸械薪懈泄.',
-    fullTip2des: '袪械泻芯屑械薪写褍械褌褋褟 褍写邪谢懈褌褜 薪械邪泻褌懈胁薪褘械 锌褉懈谢芯卸械薪懈褟, 褔褌芯斜褘 芯褋胁芯斜芯写懈褌褜 屑械褋褌芯, 懈谢懈 褋胁褟卸懈褌械褋褜 褋 薪邪屑懈.',
-    fullTip2: '袛芯褋褌懈谐薪褍褌 谢懈屑懈褌 锌谢邪薪邪',
-    contactUs: '小胁褟卸懈褌械褋褜 褋 薪邪屑懈',
-    fullTip1des: '袙褘 写芯褋褌懈谐谢懈 锌褉械写械谢邪 褋芯蟹写邪薪懈褟 锌褉懈谢芯卸械薪懈泄 锌芯 褝褌芯屑褍 锌谢邪薪褍',
-    fullTip1: '袨斜薪芯胁懈褌械, 褔褌芯斜褘 褋芯蟹写邪褌褜 斜芯谢褜褕械 锌褉懈谢芯卸械薪懈泄',
   },
   annotatedResponse: {
     fullTipLine1: '袨斜薪芯胁懈褌械 褋胁芯泄 褌邪褉懈褎薪褘泄 锌谢邪薪, 褔褌芯斜褘',
     fullTipLine2: '邪薪薪芯褌懈褉芯胁邪褌褜 斜芯谢褜褕械 褉邪蟹谐芯胁芯褉芯胁.',
     quotaTitle: '袣胁芯褌邪 芯褌胁械褌芯胁 邪薪薪芯褌邪褑懈泄',
   },
-  usagePage: {
-    buildApps: '小芯蟹写邪胁邪泄褌械 锌褉懈谢芯卸械薪懈褟',
-    teamMembers: '效谢械薪褘 泻芯屑邪薪写褘',
-    vectorSpaceTooltip: '袛芯泻褍屑械薪褌褘 褋 褉械卸懈屑芯屑 懈薪写械泻褋懈褉芯胁邪薪懈褟 胁褘褋芯泻芯谐芯 泻邪褔械褋褌胁邪 斜褍写褍褌 锌芯褌褉械斜谢褟褌褜 褉械褋褍褉褋褘 啸褉邪薪懈谢懈褖邪 袟薪邪薪懈泄. 袣芯谐写邪 啸褉邪薪懈谢懈褖械 袟薪邪薪懈泄 写芯褋褌懈谐薪械褌 锌褉械写械谢邪, 薪芯胁褘械 写芯泻褍屑械薪褌褘 薪械 斜褍写褍褌 蟹邪谐褉褍卸械薪褘.',
-    annotationQuota: '袣胁芯褌邪 邪薪薪芯褌邪褑懈懈',
-    vectorSpace: '啸褉邪薪懈谢懈褖械 写邪薪薪褘褏 蟹薪邪薪懈泄',
-    documentsUploadQuota: '袣胁芯褌邪 薪邪 蟹邪谐褉褍蟹泻褍 写芯泻褍屑械薪褌芯胁',
-  },
-  teamMembers: '效谢械薪褘 泻芯屑邪薪写褘',
 }
 
 export default translation
diff --git a/i18n/ru-RU/common.ts b/i18n/ru-RU/common.ts
index 1c7b411..2d8535e 100644
--- a/i18n/ru-RU/common.ts
+++ b/i18n/ru-RU/common.ts
@@ -50,14 +50,6 @@
     submit: '袨褌锌褉邪胁懈褌褜',
     skip: '袣芯褉邪斜谢褜',
     imageCopied: '小泻芯锌懈褉芯胁邪薪薪芯械 懈蟹芯斜褉邪卸械薪懈械',
-    deleteApp: '校写邪谢懈褌褜 锌褉懈谢芯卸械薪懈械',
-    copied: '小泻芯锌懈褉芯胁邪薪褘',
-    in: '胁',
-    viewDetails: '袩芯写褉芯斜薪械械',
-    format: '肖芯褉屑邪褌',
-    more: '袘芯谢褜褕械',
-    downloadFailed: '小泻邪褔懈胁邪薪懈械 薪械 褍写邪谢芯褋褜. 袩芯卸邪谢褍泄褋褌邪, 锌芯锌褉芯斜褍泄褌械 械褖械 褉邪蟹 锌芯蟹卸械.',
-    downloadSuccess: '袟邪谐褉褍蟹泻邪 蟹邪胁械褉褕械薪邪.',
   },
   errorMsg: {
     fieldRequired: '{{field}} 芯斜褟蟹邪褌械谢褜薪芯',
@@ -134,8 +126,6 @@
       Custom: '袩芯谢褜蟹芯胁邪褌械谢褜褋泻懈泄',
     },
     addMoreModel: '袩械褉械泄写懈褌械 胁 薪邪褋褌褉芯泄泻懈, 褔褌芯斜褘 写芯斜邪胁懈褌褜 斜芯谢褜褕械 屑芯写械谢械泄',
-    capabilities: '袦褍谢褜褌懈屑芯写邪谢褜薪褘械 胁芯蟹屑芯卸薪芯褋褌懈',
-    settingsLink: '袧邪褋褌褉芯泄泻懈 锌芯褋褌邪胁褖懈泻邪 屑芯写械谢械泄',
   },
   menus: {
     status: '斜械褌邪',
@@ -148,7 +138,6 @@
     newApp: '袧芯胁芯械 锌褉懈谢芯卸械薪懈械',
     newDataset: '小芯蟹写邪褌褜 蟹薪邪薪懈褟',
     tools: '袠薪褋褌褉褍屑械薪褌褘',
-    exploreMarketplace: '袩芯写褉芯斜薪械械 芯 Marketplace',
   },
   userProfile: {
     settings: '袧邪褋褌褉芯泄泻懈',
@@ -161,9 +150,6 @@
     community: '小芯芯斜褖械褋褌胁芯',
     about: '袨 薪邪褋',
     logout: '袙褘泄褌懈',
-    github: '袚懈褌啸邪斜',
-    compliance: '小芯斜谢褞写械薪懈械',
-    support: '袩芯写写械褉卸泻邪',
   },
   settings: {
     accountGroup: '袗袣袣袗校袧孝',
@@ -177,7 +163,6 @@
     dataSource: '袠褋褌芯褔薪懈泻 写邪薪薪褘褏',
     plugin: '袩谢邪谐懈薪褘',
     apiBasedExtension: 'API 褉邪褋褕懈褉械薪懈械',
-    generalGroup: '袨袘些袝袝',
   },
   account: {
     avatar: '袗胁邪褌邪褉',
@@ -213,9 +198,6 @@
     deleteLabel: '袛谢褟 锌芯写褌胁械褉卸写械薪懈褟, 锌芯卸邪谢褍泄褋褌邪, 胁胁械写懈褌械 褋胁芯泄 邪写褉械褋 褝谢械泻褌褉芯薪薪芯泄 锌芯褔褌褘 薪懈卸械',
     deleteSuccessTip: '袙邪褕械屑褍 邪泻泻邪褍薪褌褍 褌褉械斜褍械褌褋褟 胁褉械屑褟, 褔褌芯斜褘 蟹邪胁械褉褕懈褌褜 褍写邪谢械薪懈械. 袦褘 褋胁褟卸械屑褋褟 褋 胁邪屑懈 锌芯 褝谢械泻褌褉芯薪薪芯泄 锌芯褔褌械, 泻芯谐写邪 胁褋械 斜褍写械褌 谐芯褌芯胁芯.',
     deletePrivacyLinkTip: '袛谢褟 锌芯谢褍褔械薪懈褟 写芯锌芯谢薪懈褌械谢褜薪芯泄 懈薪褎芯褉屑邪褑懈懈 芯 褌芯屑, 泻邪泻 屑褘 芯斜褉邪斜邪褌褘胁邪械屑 胁邪褕懈 写邪薪薪褘械, 芯蟹薪邪泻芯屑褜褌械褋褜 褋 薪邪褕懈屑',
-    workspaceIcon: '袠泻芯薪泻邪 褉邪斜芯褔械谐芯 锌褉芯褋褌褉邪薪褋褌胁邪',
-    workspaceName: '袧邪蟹胁邪薪懈械 褉邪斜芯褔械谐芯 锌褉芯褋褌褉邪薪褋褌胁邪',
-    editWorkspaceInfo: '袪械写邪泻褌懈褉芯胁邪褌褜 懈薪褎芯褉屑邪褑懈褞 芯 褉邪斜芯褔械屑 锌褉芯褋褌褉邪薪褋褌胁械',
   },
   members: {
     team: '袣芯屑邪薪写邪',
@@ -308,7 +290,6 @@
       usedUp: '袩褉芯斜薪邪褟 泻胁芯褌邪 懈褋褔械褉锌邪薪邪. 袛芯斜邪胁褜褌械 褋芯斜褋褌胁械薪薪芯谐芯 锌芯褋褌邪胁褖懈泻邪 屑芯写械谢懈.',
       useYourModel: '袙 薪邪褋褌芯褟褖械械 胁褉械屑褟 懈褋锌芯谢褜蟹褍械褌褋褟 褋芯斜褋褌胁械薪薪褘泄 锌芯褋褌邪胁褖懈泻 屑芯写械谢懈.',
       close: '袟邪泻褉褘褌褜',
-      trialQuotaTip: '袙邪褕邪 泻胁芯褌邪 薪邪 锌褉芯斜薪褍褞 胁械褉褋懈褞 Anthropic 懈褋褌械褔械褌 11.03.2025 懈 斜芯谢褜褕械 薪械 斜褍写械褌 写芯褋褌褍锌薪邪. 袩芯卸邪谢褍泄褋褌邪, 懈褋锌芯谢褜蟹褍泄褌械 械谐芯 胁芯胁褉械屑褟.',
     },
     anthropic: {
       using: '袙芯蟹屑芯卸薪芯褋褌褜 胁褋褌褉邪懈胁邪薪懈褟 懈褋锌芯谢褜蟹褍械褌',
@@ -420,12 +401,6 @@
     loadBalancingLeastKeyWarning: '袛谢褟 胁泻谢褞褔械薪懈褟 斜邪谢邪薪褋懈褉芯胁泻懈 薪邪谐褉褍蟹泻懈 薪械芯斜褏芯写懈屑芯 胁泻谢褞褔懈褌褜 薪械 屑械薪械械 2 泻谢褞褔械泄.',
     loadBalancingInfo: '袩芯 褍屑芯谢褔邪薪懈褞 斜邪谢邪薪褋懈褉芯胁泻邪 薪邪谐褉褍蟹泻懈 懈褋锌芯谢褜蟹褍械褌 褋褌褉邪褌械谐懈褞 Round-robin. 袝褋谢懈 褋褉邪斜邪褌褘胁邪械褌 芯谐褉邪薪懈褔械薪懈械 褋泻芯褉芯褋褌懈, 斜褍写械褌 锌褉懈屑械薪械薪 1-屑懈薪褍褌薪褘泄 锌械褉懈芯写 芯褏谢邪卸写械薪懈褟.',
     upgradeForLoadBalancing: '袨斜薪芯胁懈褌械 褋胁芯泄 褌邪褉懈褎薪褘泄 锌谢邪薪, 褔褌芯斜褘 胁泻谢褞褔懈褌褜 斜邪谢邪薪褋懈褉芯胁泻褍 薪邪谐褉褍蟹泻懈.',
-    emptyProviderTitle: '袩芯褋褌邪胁褖懈泻 屑芯写械谢懈 薪械 薪邪褋褌褉芯械薪',
-    toBeConfigured: '袩芯写谢械卸懈褌 薪邪褋褌褉芯泄泻械',
-    configureTip: '袧邪褋褌褉芯泄褌械 api-泻谢褞褔 懈谢懈 写芯斜邪胁褜褌械 屑芯写械谢褜 写谢褟 懈褋锌芯谢褜蟹芯胁邪薪懈褟',
-    emptyProviderTip: '小薪邪褔邪谢邪 褍褋褌邪薪芯胁懈褌械 锌芯褋褌邪胁褖懈泻 屑芯写械谢懈.',
-    discoverMore: '校蟹薪邪泄褌械 斜芯谢褜褕械 胁',
-    installProvider: '校褋褌邪薪芯胁泻邪 锌芯褋褌邪胁褖懈泻芯胁 屑芯写械谢械泄',
   },
   dataSource: {
     add: '袛芯斜邪胁懈褌褜 懈褋褌芯褔薪懈泻 写邪薪薪褘褏',
@@ -469,7 +444,7 @@
   apiBasedExtension: {
     title: 'API-褉邪褋褕懈褉械薪懈褟 芯斜械褋锌械褔懈胁邪褞褌 褑械薪褌褉邪谢懈蟹芯胁邪薪薪芯械 褍锌褉邪胁谢械薪懈械 API, 褍锌褉芯褖邪褟 薪邪褋褌褉芯泄泻褍 写谢褟 褍写芯斜薪芯谐芯 懈褋锌芯谢褜蟹芯胁邪薪懈褟 胁 锌褉懈谢芯卸械薪懈褟褏 Dify.',
     link: '校蟹薪邪泄褌械, 泻邪泻 褉邪蟹褉邪斜芯褌邪褌褜 褋芯斜褋褌胁械薪薪芯械 API-褉邪褋褕懈褉械薪懈械.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: '袛芯斜邪胁懈褌褜 API Extension',
     selector: {
       title: 'API Extension',
@@ -555,9 +530,6 @@
       hitScore: '袨褑械薪泻邪 褋芯胁锌邪写械薪懈褟:',
     },
     inputPlaceholder: '袩芯谐芯胁芯褉懈褌褜 褋 斜芯褌芯屑',
-    thinking: '袦褘褋谢褟褖懈泄...',
-    thought: '袦褘褋谢褜',
-    resend: '袩械褉械褋谢邪褌褜',
   },
   promptEditor: {
     placeholder: '袧邪锌懈褕懈褌械 蟹写械褋褜 褋胁芯械 泻谢褞褔械胁芯械 褋谢芯胁芯 锌芯写褋泻邪蟹泻懈, 胁胁械写懈褌械 \'{\', 褔褌芯斜褘 胁褋褌邪胁懈褌褜 锌械褉械屑械薪薪褍褞, 胁胁械写懈褌械 \'/\', 褔褌芯斜褘 胁褋褌邪胁懈褌褜 斜谢芯泻 褋芯写械褉卸懈屑芯谐芯 锌芯写褋泻邪蟹泻懈',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: '协谢械屑械薪褌芯胁 薪邪 褋褌褉邪薪懈褑械',
-  },
-  theme: {
-    light: '褋胁械褌',
-    dark: '褌械屑薪褘泄',
-    theme: '孝械屑邪',
-    auto: '褋懈褋褌械屑邪',
-  },
-  compliance: {
-    soc2Type2: '袨褌褔械褌 SOC 2 孝懈锌 II',
-    gdpr: 'GDPR DPA',
-    professionalUpgradeTooltip: '袛芯褋褌褍锌薪芯 褌芯谢褜泻芯 褋 泻芯屑邪薪写薪褘屑 锌谢邪薪芯屑 懈谢懈 胁褘褕械.',
-    iso27001: '小械褉褌懈褎懈泻邪褑懈褟 ISO 27001:2022',
-    sandboxUpgradeTooltip: '袛芯褋褌褍锌薪芯 褌芯谢褜泻芯 褋 锌褉芯褎械褋褋懈芯薪邪谢褜薪褘屑 懈谢懈 泻芯屑邪薪写薪褘屑 锌谢邪薪芯屑.',
-    soc2Type1: '袨褌褔械褌 SOC 2 孝懈锌 I',
-  },
-  imageInput: {
-    browse: '锌褉芯褋屑芯褌褉',
-    dropImageHere: '袩械褉械褌邪褖懈褌械 胁邪褕械 懈蟹芯斜褉邪卸械薪懈械 褋褞写邪 懈谢懈',
-    supportedFormats: '袩芯写写械褉卸懈胁邪械褌 PNG, JPG, JPEG, WEBP 懈 GIF',
   },
 }
 
diff --git a/i18n/ru-RU/custom.ts b/i18n/ru-RU/custom.ts
index bba1d28..8725c83 100644
--- a/i18n/ru-RU/custom.ts
+++ b/i18n/ru-RU/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '袨斜薪芯胁懈褌械 褋胁芯泄 褌邪褉懈褎薪褘泄 锌谢邪薪, 褔褌芯斜褘',
     suffix: '薪邪褋褌褉芯懈褌褜 褋胁芯泄 斜褉械薪写.',
-    des: '袨斜薪芯胁懈褌械 褋胁芯泄 锌谢邪薪, 褔褌芯斜褘 薪邪褋褌褉芯懈褌褜 褋胁芯泄 斜褉械薪写',
-    title: '袨斜薪芯胁懈褌械 褋胁芯泄 锌谢邪薪',
   },
   webapp: {
     title: '袧邪褋褌褉芯懈褌褜 斜褉械薪写 胁械斜-锌褉懈谢芯卸械薪懈褟',
diff --git a/i18n/ru-RU/dataset-creation.ts b/i18n/ru-RU/dataset-creation.ts
index 7e44306..40ae3a6 100644
--- a/i18n/ru-RU/dataset-creation.ts
+++ b/i18n/ru-RU/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '小芯蟹写邪褌褜 斜邪蟹褍 蟹薪邪薪懈泄',
       update: '袛芯斜邪胁懈褌褜 写邪薪薪褘械',
-      fallbackRoute: '袟薪邪薪懈械',
     },
     one: '袙褘斜械褉懈褌械 懈褋褌芯褔薪懈泻 写邪薪薪褘褏',
     two: '袩褉械写胁邪褉懈褌械谢褜薪邪褟 芯斜褉邪斜芯褌泻邪 懈 芯褔懈褋褌泻邪 褌械泻褋褌邪',
@@ -27,7 +26,7 @@
     },
     uploader: {
       title: '袟邪谐褉褍蟹懈褌褜 褎邪泄谢',
-      button: '袩械褉械褌邪褖懈褌械 褎邪泄谢褘 懈谢懈 锌邪锌泻懈 懈谢懈',
+      button: '袩械褉械褌邪褖懈褌械 褎邪泄谢 懈谢懈',
       browse: '袨斜蟹芯褉',
       tip: '袩芯写写械褉卸懈胁邪褞褌褋褟 {{supportTypes}}. 袦邪泻褋懈屑褍屑 {{size}} 袦袘 泻邪卸写褘泄.',
       validation: {
@@ -63,7 +62,7 @@
       run: '袟邪锌褍褋褌懈褌褜',
       firecrawlTitle: '袠蟹胁谢械褔褜 胁械斜-泻芯薪褌械薪褌 褋 锌芯屑芯褖褜褞 馃敟Firecrawl',
       firecrawlDoc: '袛芯泻褍屑械薪褌邪褑懈褟 Firecrawl',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       options: '袨锌褑懈懈',
       crawlSubPage: '小泻邪薪懈褉芯胁邪褌褜 锌芯写褋褌褉邪薪懈褑褘',
       limit: '袥懈屑懈褌',
@@ -87,14 +86,6 @@
       jinaReaderDoc: '校蟹薪邪泄褌械 斜芯谢褜褕械 芯 Jina Reader',
       jinaReaderTitle: '袣芯薪胁械褉褌懈褉褍泄褌械 胁械褋褜 褋邪泄褌 胁 Markdown',
       useSitemapTooltip: '小谢械写褍泄褌械 泻邪褉褌械 褋邪泄褌邪, 褔褌芯斜褘 锌褉芯褋泻邪薪懈褉芯胁邪褌褜 褋邪泄褌. 袝褋谢懈 薪械褌, Jina Reader 斜褍写械褌 褋泻邪薪懈褉芯胁邪褌褜 懈褌械褉邪褌懈胁薪芯 胁 蟹邪胁懈褋懈屑芯褋褌懈 芯褌 褉械谢械胁邪薪褌薪芯褋褌懈 褋褌褉邪薪懈褑褘, 胁褘写邪胁邪褟 屑械薪褜褕械械 泻芯谢懈褔械褋褌胁芯 褋褌褉邪薪懈褑, 薪芯 斜芯谢械械 胁褘褋芯泻芯谐芯 泻邪褔械褋褌胁邪.',
-      watercrawlTitle: '袠蟹胁谢械褔械薪懈械 胁械斜-泻芯薪褌械薪褌邪 褋 锌芯屑芯褖褜褞 Watercrawl',
-      watercrawlDocLink: 'https://docs.dify.ai/ru/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureWatercrawl: '袧邪褋褌褉芯懈褌褜 Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl 薪械 薪邪褋褌褉芯械薪',
-      configureFirecrawl: '袧邪褋褌褉芯懈褌褜 Firecrawl',
-      waterCrawlNotConfiguredDescription: '袧邪褋褌褉芯泄褌械 Watercrawl 褋 锌芯屑芯褖褜褞 泻谢褞褔邪 API 写谢褟 械谐芯 懈褋锌芯谢褜蟹芯胁邪薪懈褟.',
-      configureJinaReader: '袧邪褋褌褉芯泄褌械 Jina Reader',
-      watercrawlDoc: '袛芯泻褍屑械薪褌邪褑懈褟 Watercrawl',
     },
     cancel: '袨褌屑械薪邪',
   },
@@ -207,11 +198,6 @@
     learnMore: '袩芯写褉芯斜薪械械',
     title: '袩芯写泻谢褞褔邪褌褜褋褟 泻 写褉褍谐懈屑 懈褋褌芯褔薪懈泻邪屑 写邪薪薪褘褏?',
     description: '袙 薪邪褋褌芯褟褖械械 胁褉械屑褟 斜邪蟹邪 蟹薪邪薪懈泄 Dify 懈屑械械褌 谢懈褕褜 芯谐褉邪薪懈褔械薪薪褘械 懈褋褌芯褔薪懈泻懈 写邪薪薪褘褏. 袛芯斜邪胁谢械薪懈械 懈褋褌芯褔薪懈泻邪 写邪薪薪褘褏 胁 斜邪蟹褍 蟹薪邪薪懈泄 Dify 鈥� 褝褌芯 芯褌谢懈褔薪褘泄 褋锌芯褋芯斜 锌芯胁褘褋懈褌褜 谐懈斜泻芯褋褌褜 懈 胁芯蟹屑芯卸薪芯褋褌懈 锌谢邪褌褎芯褉屑褘 写谢褟 胁褋械褏 锌芯谢褜蟹芯胁邪褌械谢械泄. 袧邪褕械 褉褍泻芯胁芯写褋褌胁芯 锌芯 胁泻谢邪写褍 锌芯屑芯卸械褌 胁邪屑 谢械谐泻芯 薪邪褔邪褌褜 褉邪斜芯褌褍. 袩芯卸邪谢褍泄褋褌邪, 薪邪卸屑懈褌械 薪邪 褋褋褘谢泻褍 薪懈卸械, 褔褌芯斜褘 褍蟹薪邪褌褜 斜芯谢褜褕械.',
-  },
-  watercrawl: {
-    getApiKeyLinkText: '袩芯谢褍褔懈褌械 褋胁芯泄 API-泻谢褞褔 褋 watercrawl.dev',
-    configWatercrawl: '袧邪褋褌褉芯懈褌褜 Watercrawl',
-    apiKeyPlaceholder: 'API 泻谢褞褔 褋 watercrawl.dev',
   },
 }
 
diff --git a/i18n/ru-RU/dataset-documents.ts b/i18n/ru-RU/dataset-documents.ts
index 735266c..f344a7e 100644
--- a/i18n/ru-RU/dataset-documents.ts
+++ b/i18n/ru-RU/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: '携蟹褘泻',
         authorPublisher: '袗胁褌芯褉/袠蟹写邪褌械谢褜',
         publishDate: '袛邪褌邪 锌褍斜谢懈泻邪褑懈懈',
-        topicKeywords: '孝械屑褘/袣谢褞褔械胁褘械 褋谢芯胁邪',
+        topicsKeywords: '孝械屑褘/袣谢褞褔械胁褘械 褋谢芯胁邪',
         description: '袨锌懈褋邪薪懈械',
       },
       paper: {
diff --git a/i18n/ru-RU/dataset-settings.ts b/i18n/ru-RU/dataset-settings.ts
index b91a59e..82c2faf 100644
--- a/i18n/ru-RU/dataset-settings.ts
+++ b/i18n/ru-RU/dataset-settings.ts
@@ -27,7 +27,6 @@
       learnMore: '校蟹薪邪褌褜 斜芯谢褜褕械',
       description: ' 芯 屑械褌芯写械 锌芯懈褋泻邪.',
       longDescription: ' 芯 屑械褌芯写械 锌芯懈褋泻邪, 胁褘 屑芯卸械褌械 懈蟹屑械薪懈褌褜 褝褌芯 胁 谢褞斜芯械 胁褉械屑褟 胁 薪邪褋褌褉芯泄泻邪褏 斜邪蟹褘 蟹薪邪薪懈泄.',
-      method: '袦械褌芯写 懈蟹胁谢械褔械薪懈褟',
     },
     save: '小芯褏褉邪薪懈褌褜',
     externalKnowledgeAPI: 'API 胁薪械褕薪懈褏 蟹薪邪薪懈泄',
@@ -36,7 +35,6 @@
     helpText: '校蟹薪邪泄褌械, 泻邪泻 薪邪锌懈褋邪褌褜 褏芯褉芯褕械械 芯锌懈褋邪薪懈械 薪邪斜芯褉邪 写邪薪薪褘褏.',
     upgradeHighQualityTip: '袩芯褋谢械 芯斜薪芯胁谢械薪懈褟 写芯 褉械卸懈屑邪 芦袙褘褋芯泻芯械 泻邪褔械褋褌胁芯禄 胁芯蟹胁褉邪褌 泻 褝泻芯薪芯屑懈褔薪芯屑褍 褉械卸懈屑褍 薪械胁芯蟹屑芯卸械薪',
     indexMethodChangeToEconomyDisabledTip: '袧械写芯褋褌褍锌薪芯 写谢褟 锌芯薪懈卸械薪懈褟 褍褉芯胁薪褟 褋 HQ 写芯 ECO',
-    searchModel: '袩芯懈褋泻 屑芯写械谢懈',
   },
 }
 
diff --git a/i18n/ru-RU/dataset.ts b/i18n/ru-RU/dataset.ts
index 33a4cdf..41da433 100644
--- a/i18n/ru-RU/dataset.ts
+++ b/i18n/ru-RU/dataset.ts
@@ -168,54 +168,6 @@
   enable: '袛邪胁邪褌褜 胁芯蟹屑芯卸薪芯褋褌褜',
   allKnowledge: '袙褋械 蟹薪邪薪懈褟',
   allKnowledgeDescription: '袙褘斜械褉懈褌械, 褔褌芯斜褘 芯褌芯斜褉邪蟹懈褌褜 胁褋械 蟹薪邪薪懈褟 胁 褝褌芯泄 褉邪斜芯褔械泄 芯斜谢邪褋褌懈. 孝芯谢褜泻芯 胁谢邪写械谢械褑 褉邪斜芯褔械谐芯 锌褉芯褋褌褉邪薪褋褌胁邪 屑芯卸械褌 褍锌褉邪胁谢褟褌褜 胁褋械屑懈 蟹薪邪薪懈褟屑懈.',
-  metadata: {
-    createMetadata: {
-      type: '孝懈锌',
-      namePlaceholder: '袛芯斜邪胁褜褌械 懈屑褟 屑械褌邪写邪薪薪褘褏',
-      back: '薪邪蟹邪写',
-      name: '袠屑褟',
-      title: '袧芯胁褘械 屑械褌邪写邪薪薪褘械',
-    },
-    checkName: {
-      empty: '袠屑褟 屑械褌邪写邪薪薪褘褏 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
-      invalid: '袠屑褟 屑械褌邪写邪薪薪褘褏 屑芯卸械褌 褋芯写械褉卸邪褌褜 褌芯谢褜泻芯 褋褌褉芯褔薪褘械 斜褍泻胁褘, 褑懈褎褉褘 懈 蟹薪邪泻懈 薪懈卸薪械谐芯 锌芯写褔械褉泻懈胁邪薪懈褟 懈 写芯谢卸薪芯 薪邪褔懈薪邪褌褜褋褟 褋芯 褋褌褉芯褔薪芯泄 斜褍泻胁褘.',
-    },
-    batchEditMetadata: {
-      applyToAllSelectDocumentTip: '袗胁褌芯屑邪褌懈褔械褋泻懈 褋芯蟹写邪泄褌械 胁褋械 胁褘褕械褍泻邪蟹邪薪薪褘械 褉械写邪泻褌懈褉褍械屑褘械 懈 薪芯胁褘械 屑械褌邪写邪薪薪褘械 写谢褟 胁褋械褏 胁褘斜褉邪薪薪褘褏 写芯泻褍屑械薪褌芯胁, 懈薪邪褔械 褉械写邪泻褌懈褉芯胁邪薪懈械 屑械褌邪写邪薪薪褘褏 斜褍写械褌 锌褉懈屑械薪褟褌褜褋褟 褌芯谢褜泻芯 泻 写芯泻褍屑械薪褌邪屑 褋 薪懈屑懈.',
-      applyToAllSelectDocument: '袩褉懈屑械薪懈褌褜 泻芯 胁褋械屑 胁褘斜褉邪薪薪褘屑 写芯泻褍屑械薪褌邪屑',
-      editDocumentsNum: '袪械写邪泻褌懈褉芯胁邪薪懈械 {{num}} 写芯泻褍屑械薪褌芯胁',
-      multipleValue: '袦薪芯卸械褋褌胁械薪薪芯械 蟹薪邪褔械薪懈械',
-      editMetadata: '袪械写邪泻褌懈褉芯胁邪褌褜 屑械褌邪写邪薪薪褘械',
-    },
-    selectMetadata: {
-      manageAction: '校锌褉邪胁谢褟褌褜',
-      newAction: '袧芯胁褘械 屑械褌邪写邪薪薪褘械',
-      search: '袩芯懈褋泻 屑械褌邪写邪薪薪褘褏',
-    },
-    datasetMetadata: {
-      deleteContent: '袙褘 褍胁械褉械薪褘, 褔褌芯 褏芯褌懈褌械 褍写邪谢懈褌褜 屑械褌邪写邪薪薪褘械 "{{name}}"?',
-      values: '{{num}} 袟薪邪褔械薪懈泄',
-      builtIn: '袙褋褌褉芯械薪薪褘泄',
-      description: '袙褘 屑芯卸械褌械 褍锌褉邪胁谢褟褌褜 胁褋械屑懈 屑械褌邪写邪薪薪褘屑懈 胁 褝褌懈褏 蟹薪邪薪懈褟褏 蟹写械褋褜. 袠蟹屑械薪械薪懈褟 斜褍写褍褌 褋懈薪褏褉芯薪懈蟹懈褉芯胁邪薪褘 褋 泻邪卸写褘屑 写芯泻褍屑械薪褌芯屑.',
-      deleteTitle: '袩芯写褌胁械褉写懈褌械 褍写邪谢械薪懈械',
-      builtInDescription: '袙褋褌褉芯械薪薪褘械 屑械褌邪写邪薪薪褘械 邪胁褌芯屑邪褌懈褔械褋泻懈 懈蟹胁谢械泻邪褞褌褋褟 懈 谐械薪械褉懈褉褍褞褌褋褟. 袠褏 薪械芯斜褏芯写懈屑芯 邪泻褌懈胁懈褉芯胁邪褌褜 锌械褉械写 懈褋锌芯谢褜蟹芯胁邪薪懈械屑, 懈 芯薪懈 薪械 锌芯写谢械卸邪褌 褉械写邪泻褌懈褉芯胁邪薪懈褞.',
-      addMetaData: '袛芯斜邪胁懈褌褜 屑械褌邪写邪薪薪褘械',
-      rename: '袩械褉械懈屑械薪芯胁邪褌褜',
-      disabled: '袨褌泻谢褞褔械薪芯',
-      name: '袠屑褟',
-      namePlaceholder: '袠屑褟 屑械褌邪写邪薪薪褘褏',
-    },
-    documentMetadata: {
-      startLabeling: '袧邪褔邪褌褜 屑邪褉泻懈褉芯胁泻褍',
-      documentInformation: '袠薪褎芯褉屑邪褑懈褟 芯 写芯泻褍屑械薪褌械',
-      metadataToolTip: '袦械褌邪写邪薪薪褘械 褋谢褍卸邪褌 胁邪卸薪褘屑 褎懈谢褜褌褉芯屑, 泻芯褌芯褉褘泄 锌芯胁褘褕邪械褌 褌芯褔薪芯褋褌褜 懈 邪泻褌褍邪谢褜薪芯褋褌褜 懈蟹胁谢械褔械薪懈褟 懈薪褎芯褉屑邪褑懈懈. 袙褘 屑芯卸械褌械 懈蟹屑械薪懈褌褜 懈 写芯斜邪胁懈褌褜 屑械褌邪写邪薪薪褘械 写谢褟 褝褌芯谐芯 写芯泻褍屑械薪褌邪 蟹写械褋褜.',
-      technicalParameters: '孝械褏薪懈褔械褋泻懈械 锌邪褉邪屑械褌褉褘',
-    },
-    chooseTime: '袙褘斜械褉懈褌械 胁褉械屑褟...',
-    metadata: '袦械褌邪写邪薪薪褘械',
-    addMetadata: '袛芯斜邪胁懈褌褜 屑械褌邪写邪薪薪褘械',
-  },
-  embeddingModelNotAvailable: '袦芯写械谢褜 胁褋褌褉邪懈胁邪薪懈褟 薪械写芯褋褌褍锌薪邪.',
 }
 
 export default translation
diff --git a/i18n/ru-RU/explore.ts b/i18n/ru-RU/explore.ts
index 919d1e4..97fad96 100644
--- a/i18n/ru-RU/explore.ts
+++ b/i18n/ru-RU/explore.ts
@@ -37,7 +37,6 @@
     HR: 'HR',
     Agent: '袗谐械薪褌',
     Workflow: '袪邪斜芯褔懈泄 锌褉芯褑械褋褋',
-    Entertainment: '袪邪蟹胁谢械褔械薪懈械',
   },
 }
 
diff --git a/i18n/ru-RU/run-log.ts b/i18n/ru-RU/run-log.ts
index 1e08dd6..2099d67 100644
--- a/i18n/ru-RU/run-log.ts
+++ b/i18n/ru-RU/run-log.ts
@@ -24,8 +24,6 @@
     link: '锌邪薪械谢褜 写械褌邪谢械泄',
     tipRight: ' 褔褌芯斜褘 锌褉芯褋屑芯褌褉械褌褜 械谐芯.',
   },
-  circularInvocationTip: '袙 褌械泻褍褖械屑 褉邪斜芯褔械屑 锌褉芯褑械褋褋械 褋褍褖械褋褌胁褍械褌 褑懈泻谢懈褔械褋泻懈泄 胁褘蟹芯胁 懈薪褋褌褉褍屑械薪褌芯胁/褍蟹谢芯胁.',
-  actionLogs: '袞褍褉薪邪谢褘 写械泄褋褌胁懈泄',
 }
 
 export default translation
diff --git a/i18n/ru-RU/share-app.ts b/i18n/ru-RU/share-app.ts
index b2850fa..f0166b2 100644
--- a/i18n/ru-RU/share-app.ts
+++ b/i18n/ru-RU/share-app.ts
@@ -30,12 +30,6 @@
     },
     tryToSolve: '袩芯锌褉芯斜褍泄褌械 褉械褕懈褌褜',
     temporarySystemIssue: '袠蟹胁懈薪懈褌械, 胁褉械屑械薪薪邪褟 锌褉芯斜谢械屑邪 褋 褋懈褋褌械屑芯泄.',
-    expand: '袪邪蟹胁械褉薪褍褌褜',
-    collapse: '小胁械褉薪褍褌褜',
-    viewChatSettings: '袩芯褋屑芯褌褉械褌褜 薪邪褋褌褉芯泄泻懈 褔邪褌邪',
-    chatSettingsTitle: '袧芯胁邪褟 薪邪褋褌褉芯泄泻邪 褔邪褌邪',
-    newChatTip: '校卸械 胁 薪芯胁芯屑 褔邪褌械',
-    chatFormTip: '袧邪褋褌褉芯泄泻懈 褔邪褌邪 薪械 屑芯谐褍褌 斜褘褌褜 懈蟹屑械薪械薪褘 锌芯褋谢械 械谐芯 薪邪褔邪谢邪.',
   },
   generation: {
     tabs: {
@@ -74,8 +68,6 @@
       moreThanMaxLengthLine: '小褌褉芯泻邪 {{rowIndex}}: 蟹薪邪褔械薪懈械 {{varName}} 薪械 屑芯卸械褌 锌褉械胁褘褕邪褌褜 {{maxLength}} 褋懈屑胁芯谢芯胁',
       atLeastOne: '袩芯卸邪谢褍泄褋褌邪, 胁胁械写懈褌械 褏芯褌褟 斜褘 芯写薪褍 褋褌褉芯泻褍 胁 蟹邪谐褉褍卸械薪薪褘泄 褎邪泄谢.',
     },
-    execution: '袠小袩袨袥袧袝袧袠袝',
-    executions: '{{num}} 袙蝎袩袨袥袧袝袧袠携',
   },
 }
 
diff --git a/i18n/ru-RU/tools.ts b/i18n/ru-RU/tools.ts
index 02cf639..4749fee 100644
--- a/i18n/ru-RU/tools.ts
+++ b/i18n/ru-RU/tools.ts
@@ -133,7 +133,6 @@
     number: '褔懈褋谢芯',
     required: '袨斜褟蟹邪褌械谢褜薪芯',
     infoAndSetting: '袠薪褎芯褉屑邪褑懈褟 懈 薪邪褋褌褉芯泄泻懈',
-    file: '褎邪泄谢',
   },
   noCustomTool: {
     title: '袧械褌 锌芯谢褜蟹芯胁邪褌械谢褜褋泻懈褏 懈薪褋褌褉褍屑械薪褌芯胁!',
@@ -151,8 +150,6 @@
   howToGet: '袣邪泻 锌芯谢褍褔懈褌褜',
   openInStudio: '袨褌泻褉褘褌褜 胁 Studio',
   toolNameUsageTip: '袧邪蟹胁邪薪懈械 胁褘蟹芯胁邪 懈薪褋褌褉褍屑械薪褌邪 写谢褟 褉邪褋褋褍卸写械薪懈泄 邪谐械薪褌邪 懈 锌芯写褋泻邪蟹芯泻',
-  copyToolName: '袣芯锌懈褉芯胁邪褌褜 懈屑褟',
-  noTools: '袠薪褋褌褉褍屑械薪褌褘 薪械 薪邪泄写械薪褘',
 }
 
 export default translation
diff --git a/i18n/ru-RU/workflow.ts b/i18n/ru-RU/workflow.ts
index 8a292ff..0b819a2 100644
--- a/i18n/ru-RU/workflow.ts
+++ b/i18n/ru-RU/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: '袛芯斜邪胁懈褌褜 胁械褌胁褜 Fail',
     noHistory: '袘械蟹 懈褋褌芯褉懈懈',
     loadMore: '袟邪谐褉褍蟹懈褌械 斜芯谢褜褕械 褉邪斜芯褔懈褏 锌褉芯褑械褋褋芯胁',
-    noExist: '孝邪泻芯泄 锌械褉械屑械薪薪芯泄 薪械 褋褍褖械褋褌胁褍械褌',
-    versionHistory: '袠褋褌芯褉懈褟 胁械褉褋懈泄',
-    exportPNG: '协泻褋锌芯褉褌懈褉芯胁邪褌褜 泻邪泻 PNG',
-    exportImage: '协泻褋锌芯褉褌懈褉芯胁邪褌褜 懈蟹芯斜褉邪卸械薪懈械',
-    exportJPEG: '协泻褋锌芯褉褌懈褉芯胁邪褌褜 泻邪泻 JPEG',
-    referenceVar: '小褋褘谢芯褔薪邪褟 锌械褉械屑械薪薪邪褟',
-    exitVersions: '袙褘褏芯写薪褘械 胁械褉褋懈懈',
-    exportSVG: '协泻褋锌芯褉褌懈褉芯胁邪褌褜 泻邪泻 SVG',
-    publishUpdate: '袨锌褍斜谢懈泻芯胁邪褌褜 芯斜薪芯胁谢械薪懈械',
   },
   env: {
     envPanelTitle: '袩械褉械屑械薪薪褘械 褋褉械写褘',
@@ -204,8 +195,6 @@
     },
     invalidVariable: '袧械胁械褉薪邪褟 锌械褉械屑械薪薪邪褟',
     rerankModelRequired: '袩械褉械写 胁泻谢褞褔械薪懈械屑 屑芯写械谢懈 锌芯胁褌芯褉薪芯谐芯 褉邪薪卸懈褉芯胁邪薪懈褟 褍斜械写懈褌械褋褜, 褔褌芯 屑芯写械谢褜 褍褋锌械褕薪芯 薪邪褋褌褉芯械薪邪 胁 薪邪褋褌褉芯泄泻邪褏.',
-    noValidTool: '{{field}} 薪械 胁褘斜褉邪薪 胁邪谢懈写薪褘泄 懈薪褋褌褉褍屑械薪褌',
-    toolParameterRequired: '{{field}}: 锌邪褉邪屑械褌褉 [{{param}}] 褟胁谢褟械褌褋褟 芯斜褟蟹邪褌械谢褜薪褘屑',
   },
   singleRun: {
     testRun: '孝械褋褌芯胁褘泄 蟹邪锌褍褋泻 ',
@@ -214,7 +203,6 @@
     testRunIteration: '袠褌械褉邪褑懈褟 褌械褋褌芯胁芯谐芯 蟹邪锌褍褋泻邪',
     back: '袧邪蟹邪写',
     iteration: '袠褌械褉邪褑懈褟',
-    loop: '笑懈泻谢',
   },
   tabs: {
     'searchBlock': '袩芯懈褋泻 斜谢芯泻邪',
@@ -230,8 +218,6 @@
     'transform': '袩褉械芯斜褉邪蟹芯胁邪薪懈械',
     'utilities': '校褌懈谢懈褌褘',
     'noResult': '袧懈褔械谐芯 薪械 薪邪泄写械薪芯',
-    'plugin': '袩谢邪谐懈薪',
-    'agent': '袗谐械薪褌褋泻邪褟 褋褌褉邪褌械谐懈褟',
   },
   blocks: {
     'start': '袧邪褔邪谢芯',
@@ -252,10 +238,6 @@
     'parameter-extractor': '袠蟹胁谢械褔械薪懈械 锌邪褉邪屑械褌褉芯胁',
     'document-extractor': '协泻褋褌褉邪泻褌芯褉 写芯泻褍屑械薪褌芯胁',
     'list-operator': '袨锌械褉邪褌芯褉 褋锌懈褋泻邪',
-    'agent': '袗谐械薪褌',
-    'loop': '笑懈泻谢',
-    'loop-start': '袧邪褔邪谢芯 褑懈泻谢邪',
-    'loop-end': '袙褘泄褌懈 懈蟹 褑懈泻谢邪',
   },
   blocksAbout: {
     'start': '袨锌褉械写械谢懈褌械 薪邪褔邪谢褜薪褘械 锌邪褉邪屑械褌褉褘 写谢褟 蟹邪锌褍褋泻邪 褉邪斜芯褔械谐芯 锌褉芯褑械褋褋邪',
@@ -275,9 +257,6 @@
     'parameter-extractor': '袠褋锌芯谢褜蟹褍泄褌械 LLM 写谢褟 懈蟹胁谢械褔械薪懈褟 褋褌褉褍泻褌褍褉懈褉芯胁邪薪薪褘褏 锌邪褉邪屑械褌褉芯胁 懈蟹 械褋褌械褋褌胁械薪薪芯谐芯 褟蟹褘泻邪 写谢褟 胁褘蟹芯胁邪 懈薪褋褌褉褍屑械薪褌芯胁 懈谢懈 HTTP-蟹邪锌褉芯褋芯胁.',
     'list-operator': '袠褋锌芯谢褜蟹褍械褌褋褟 写谢褟 褎懈谢褜褌褉邪褑懈懈 懈谢懈 褋芯褉褌懈褉芯胁泻懈 褋芯写械褉卸懈屑芯谐芯 屑邪褋褋懈胁邪.',
     'document-extractor': '袠褋锌芯谢褜蟹褍械褌褋褟 写谢褟 褉邪蟹斜芯褉邪 蟹邪谐褉褍卸械薪薪褘褏 写芯泻褍屑械薪褌芯胁 胁 褌械泻褋褌芯胁褘泄 泻芯薪褌械薪褌, 泻芯褌芯褉褘泄 谢械谐泻芯 胁芯褋锌褉懈薪懈屑邪械褌褋褟 LLM.',
-    'agent': '袙褘蟹芯胁 斜芯谢褜褕懈褏 褟蟹褘泻芯胁褘褏 屑芯写械谢械泄 写谢褟 芯褌胁械褌邪 薪邪 胁芯锌褉芯褋褘 懈谢懈 芯斜褉邪斜芯褌泻懈 械褋褌械褋褌胁械薪薪芯谐芯 褟蟹褘泻邪',
-    'loop-end': '协泻胁懈胁邪谢械薪褌薪芯 "break". 协褌芯褌 褍蟹械谢 薪械 懈屑械械褌 泻芯薪褎懈谐褍褉邪褑懈芯薪薪褘褏 褝谢械屑械薪褌芯胁. 袣芯谐写邪 褌械谢芯 褑懈泻谢邪 写芯褋褌懈谐邪械褌 褝褌芯谐芯 褍蟹谢邪, 褑懈泻谢 蟹邪胁械褉褕邪械褌褋褟.',
-    'loop': '袙褘锌芯谢薪懈褌械 褑懈泻谢 谢芯谐懈泻懈 写芯 褌械褏 锌芯褉, 锌芯泻邪 薪械 斜褍写械褌 写芯褋褌懈谐薪褍褌芯 褍褋谢芯胁懈械 蟹邪胁械褉褕械薪懈褟 懈谢懈 屑邪泻褋懈屑邪谢褜薪芯械 泻芯谢懈褔械褋褌胁芯 懈褌械褉邪褑懈泄 褑懈泻谢邪.',
   },
   operator: {
     zoomIn: '校胁械谢懈褔懈褌褜',
@@ -419,34 +398,6 @@
         variable: '袩械褉械屑械薪薪邪褟',
       },
       sysQueryInUser: 'sys.query 胁 褋芯芯斜褖械薪懈懈 锌芯谢褜蟹芯胁邪褌械谢褟 芯斜褟蟹邪褌械谢械薪',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '袩芯卸邪谢褍泄褋褌邪, 蟹邪胁械褉褕懈褌械 褉械写邪泻褌懈褉芯胁邪薪懈械 褌械泻褍褖械谐芯 锌芯谢褟 锌械褉械写 褋芯褏褉邪薪械薪懈械屑 褋褏械屑褘.',
-        },
-        back: '小锌懈薪邪',
-        resetDefaults: '小斜褉芯褋',
-        showAdvancedOptions: '袩芯泻邪蟹邪褌褜 褉邪褋褕懈褉械薪薪褘械 锌邪褉邪屑械褌褉褘',
-        generatedResult: '小谐械薪械褉懈褉芯胁邪薪薪褘泄 褉械蟹褍谢褜褌邪褌',
-        generateJsonSchema: '小谐械薪械褉懈褉芯胁邪褌褜 JSON-褋褏械屑褍',
-        import: '袠屑锌芯褉褌 懈蟹 JSON',
-        stringValidations: '袩褉芯胁械褉泻邪 褋褌褉芯泻',
-        promptPlaceholder: '袨锌懈褕懈褌械 胁邪褕褍 JSON-褋褏械屑褍...',
-        required: '薪械芯斜褏芯写懈屑芯',
-        generate: '小谐械薪械褉懈褉芯胁邪褌褜',
-        apply: '袩芯写邪褌褜 蟹邪褟胁泻褍',
-        addChildField: '袛芯斜邪胁懈褌褜 锌芯谢械 褉械斜械薪泻邪',
-        regenerate: '小谐械薪械褉懈褉芯胁邪褌褜 蟹邪薪芯胁芯',
-        addField: '袛芯斜邪胁懈褌褜 锌芯谢械',
-        instruction: '袠薪褋褌褉褍泻褑懈褟',
-        title: '小褌褉褍泻褌褍褉懈褉芯胁邪薪薪邪褟 褋褏械屑邪 胁褘胁芯写邪',
-        descriptionPlaceholder: '袛芯斜邪胁懈褌褜 芯锌懈褋邪薪懈械',
-        fieldNamePlaceholder: '袧邪蟹胁邪薪懈械 锌芯谢褟',
-        doc: '校蟹薪邪泄褌械 斜芯谢褜褕械 芯 褋褌褉褍泻褌褍褉懈褉芯胁邪薪薪芯屑 胁褘胁芯写械',
-        resultTip: '袙芯褌 褋谐械薪械褉懈褉芯胁邪薪薪褘泄 褉械蟹褍谢褜褌邪褌. 袝褋谢懈 胁褘 薪械 褍写芯胁谢械褌胁芯褉械薪褘, 胁褘 屑芯卸械褌械 胁械褉薪褍褌褜褋褟 懈 懈蟹屑械薪懈褌褜 褋胁芯泄 蟹邪锌褉芯褋.',
-        generationTip: '袙褘 屑芯卸械褌械 懈褋锌芯谢褜蟹芯胁邪褌褜 械褋褌械褋褌胁械薪薪褘泄 褟蟹褘泻 写谢褟 斜褘褋褌褉芯谐芯 褋芯蟹写邪薪懈褟 褋褏械屑褘 JSON.',
-        generating: '袚械薪械褉邪褑懈褟 褋褏械屑褘 JSON...',
-        promptTooltip: '袩褉械芯斜褉邪蟹褍泄褌械 褌械泻褋褌芯胁芯械 芯锌懈褋邪薪懈械 胁 褋褌邪薪写邪褉褌懈蟹懈褉芯胁邪薪薪褍褞 褋褌褉褍泻褌褍褉褍 JSON Schema.',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '袩械褉械屑械薪薪邪褟 蟹邪锌褉芯褋邪',
@@ -458,33 +409,6 @@
         icon: '小械谐屑械薪褌懈褉芯胁邪薪薪褘泄 蟹薪邪褔芯泻',
         url: '小械谐屑械薪褌懈褉芯胁邪薪薪褘泄 URL',
         metadata: '袛褉褍谐懈械 屑械褌邪写邪薪薪褘械',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: '袨褌泻谢褞褔械薪芯',
-            subTitle: '袧械 胁泻谢褞褔械薪懈械 褎懈谢褜褌褉邪褑懈懈 屑械褌邪写邪薪薪褘褏',
-          },
-          automatic: {
-            desc: '袗胁褌芯屑邪褌懈褔械褋泻懈 谐械薪械褉懈褉芯胁邪褌褜 褍褋谢芯胁懈褟 褎懈谢褜褌褉邪褑懈懈 屑械褌邪写邪薪薪褘褏 薪邪 芯褋薪芯胁械 锌械褉械屑械薪薪芯泄 蟹邪锌褉芯褋邪',
-            title: '袗胁褌芯屑邪褌懈褔械褋泻懈泄',
-            subTitle: '袗胁褌芯屑邪褌懈褔械褋泻懈 谐械薪械褉懈褉芯胁邪褌褜 褍褋谢芯胁懈褟 褎懈谢褜褌褉邪褑懈懈 屑械褌邪写邪薪薪褘褏 薪邪 芯褋薪芯胁械 蟹邪锌褉芯褋邪 锌芯谢褜蟹芯胁邪褌械谢褟',
-          },
-          manual: {
-            title: '袪褍泻芯胁芯写褋褌胁芯',
-            subTitle: '袙褉褍褔薪褍褞 写芯斜邪胁褜褌械 褍褋谢芯胁懈褟 褎懈谢褜褌褉邪褑懈懈 屑械褌邪写邪薪薪褘褏',
-          },
-        },
-        panel: {
-          conditions: '校褋谢芯胁懈褟',
-          placeholder: '袙胁械写懈褌械 蟹薪邪褔械薪懈械',
-          datePlaceholder: '袙褘斜械褉懈褌械 胁褉械屑褟...',
-          select: '袙褘斜械褉懈褌械 锌械褉械屑械薪薪褍褞...',
-          add: '袛芯斜邪胁懈褌褜 褍褋谢芯胁懈械',
-          title: '校褋谢芯胁懈褟 褎懈谢褜褌褉邪褑懈懈 屑械褌邪写邪薪薪褘褏',
-          search: '袩芯懈褋泻 屑械褌邪写邪薪薪褘褏',
-        },
-        title: '肖懈谢褜褌褉邪褑懈褟 屑械褌邪写邪薪薪褘褏',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'not exists': '薪械 褋褍褖械褋褌胁褍械褌',
         'in': '胁',
         'exists': '小褍褖械褋褌胁褍械褌',
-        'before': '写芯',
-        'after': '锌芯褋谢械',
       },
       enterValue: '袙胁械写懈褌械 蟹薪邪褔械薪懈械',
       addCondition: '袛芯斜邪胁懈褌褜 褍褋谢芯胁懈械',
@@ -592,7 +514,6 @@
       },
       select: '袙褘斜懈褉邪褌褜',
       addSubVariable: '袩芯写锌械褉械屑械薪薪邪褟',
-      condition: '校褋谢芯胁懈械',
     },
     variableAssigner: {
       title: '袧邪蟹薪邪褔懈褌褜 锌械褉械屑械薪薪褘械',
@@ -635,8 +556,6 @@
         'title': '袨锌械褉邪褑懈褟',
         'over-write': '袩械褉械蟹邪锌懈褋邪褌褜',
         'append': '袩褉懈斜邪胁谢褟褌褜',
-        'remove-first': '校写邪谢懈褌褜 锌械褉胁褘泄',
-        'remove-last': '校写邪谢懈褌褜 锌芯褋谢械写薪懈泄',
       },
       'variables': '袩械褉械屑械薪薪褘械',
       'noAssignedVars': '袧械褌 写芯褋褌褍锌薪褘褏 薪邪蟹薪邪褔械薪薪褘褏 锌械褉械屑械薪薪褘褏',
@@ -772,107 +691,6 @@
       filterConditionComparisonValue: '袟薪邪褔械薪懈械 褍褋谢芯胁懈褟 褎懈谢褜褌褉邪',
       extractsCondition: '袠蟹胁谢械褔械薪懈械 褝谢械屑械薪褌邪 N',
     },
-    agent: {
-      strategy: {
-        tooltip: '袪邪蟹谢懈褔薪褘械 邪谐械薪褌薪褘械 褋褌褉邪褌械谐懈懈 芯锌褉械写械谢褟褞褌, 泻邪泻 褋懈褋褌械屑邪 锌谢邪薪懈褉褍械褌 懈 胁褘锌芯谢薪褟械褌 屑薪芯谐芯褋褌褍锌械薪褔邪褌褘械 胁褘蟹芯胁褘 懈薪褋褌褉褍屑械薪褌芯胁',
-        configureTip: '袩芯卸邪谢褍泄褋褌邪, 薪邪褋褌褉芯泄褌械 邪谐械薪褌褋泻褍褞 褋褌褉邪褌械谐懈褞.',
-        searchPlaceholder: '袗谐械薪褌褋泻邪褟 褋褌褉邪褌械谐懈褟 锌芯懈褋泻邪',
-        selectTip: '袙褘斜械褉懈褌械 邪谐械薪褌褋泻褍褞 褋褌褉邪褌械谐懈褞',
-        shortLabel: '小褌褉邪褌械谐懈褟',
-        configureTipDesc: '袩芯褋谢械 薪邪褋褌褉芯泄泻懈 邪谐械薪褌褋泻芯泄 褋褌褉邪褌械谐懈懈 褝褌芯褌 褍蟹械谢 邪胁褌芯屑邪褌懈褔械褋泻懈 蟹邪谐褉褍蟹懈褌 芯褋褌邪胁褕懈械褋褟 泻芯薪褎懈谐褍褉邪褑懈懈. 小褌褉邪褌械谐懈褟 斜褍写械褌 胁谢懈褟褌褜 薪邪 屑械褏邪薪懈蟹屑 屑薪芯谐芯褋褌褍锌械薪褔邪褌芯谐芯 屑褘褕谢械薪懈褟 懈薪褋褌褉褍屑械薪褌邪.',
-        label: '袗谐械薪褌薪邪褟 褋褌褉邪褌械谐懈褟',
-      },
-      pluginInstaller: {
-        install: '校褋褌邪薪邪胁谢懈胁邪褌褜',
-        installing: '校褋褌邪薪芯胁泻邪',
-      },
-      modelNotInMarketplace: {
-        title: '袦芯写械谢褜 薪械 褍褋褌邪薪芯胁谢械薪邪',
-        manageInPlugins: '校锌褉邪胁谢械薪懈械 胁 锌谢邪谐懈薪邪褏',
-        desc: '协褌邪 屑芯写械谢褜 褍褋褌邪薪邪胁谢懈胁邪械褌褋褟 懈蟹 谢芯泻邪谢褜薪芯谐芯 褉械锌芯蟹懈褌芯褉懈褟 懈谢懈 褉械锌芯蟹懈褌芯褉懈褟 GitHub. 袩芯卸邪谢褍泄褋褌邪, 懈褋锌芯谢褜蟹褍泄褌械 锌芯褋谢械 褍褋褌邪薪芯胁泻懈.',
-      },
-      modelNotSupport: {
-        title: '袧械锌芯写写械褉卸懈胁邪械屑邪褟 屑芯写械谢褜',
-        descForVersionSwitch: '校褋褌邪薪芯胁谢械薪薪邪褟 胁械褉褋懈褟 锌谢邪谐懈薪邪 薪械 锌褉械写芯褋褌邪胁谢褟械褌 褝褌褍 屑芯写械谢褜. 袧邪卸屑懈褌械, 褔褌芯斜褘 锌械褉械泻谢褞褔懈褌褜 胁械褉褋懈褞.',
-        desc: '校褋褌邪薪芯胁谢械薪薪邪褟 胁械褉褋懈褟 锌谢邪谐懈薪邪 薪械 锌褉械写芯褋褌邪胁谢褟械褌 褝褌褍 屑芯写械谢褜.',
-      },
-      modelSelectorTooltips: {
-        deprecated: '协褌邪 屑芯写械谢褜 褍褋褌邪褉械谢邪',
-      },
-      outputVars: {
-        files: {
-          transfer_method: '小锌芯褋芯斜 锌械褉械薪芯褋邪. 笑械薪薪芯褋褌褜 褋芯褋褌邪胁谢褟械褌 remote_url 懈谢懈 local_file',
-          url: 'URL 懈蟹芯斜褉邪卸械薪懈褟',
-          upload_file_id: '袟邪谐褉褍蟹懈褌褜 id 褎邪泄谢邪',
-          type: '孝懈锌 锌芯写写械褉卸泻懈. 孝械锌械褉褜 褌芯谢褜泻芯 胁褋锌芯屑芯谐邪褌械谢褜薪芯械 懈蟹芯斜褉邪卸械薪懈械',
-          title: '肖邪泄谢褘, 褋芯蟹写邪薪薪褘械 邪谐械薪褌芯屑',
-        },
-        text: '袣芯薪褌械薪褌, 谐械薪械褉懈褉褍械屑褘泄 邪谐械薪褌芯屑',
-        json: 'JSON, 褋谐械薪械褉懈褉芯胁邪薪薪褘泄 邪谐械薪褌芯屑',
-      },
-      checkList: {
-        strategyNotSelected: '小褌褉邪褌械谐懈褟 薪械 胁褘斜褉邪薪邪',
-      },
-      installPlugin: {
-        install: '校褋褌邪薪邪胁谢懈胁邪褌褜',
-        title: '校褋褌邪薪芯胁懈褌褜 锌谢邪谐懈薪',
-        desc: '袨 锌褉芯谐褉邪屑屑械 褍褋褌邪薪芯胁泻懈 褋谢械写褍褞褖械谐芯 锌谢邪谐懈薪邪',
-        cancel: '袨褌屑械薪邪',
-        changelog: '袞褍褉薪邪谢 懈蟹屑械薪械薪懈泄',
-      },
-      tools: '袠薪褋褌褉褍屑械薪褌褘',
-      pluginNotInstalled: '协褌芯褌 锌谢邪谐懈薪 薪械 褍褋褌邪薪芯胁谢械薪',
-      strategyNotFoundDesc: '校褋褌邪薪芯胁谢械薪薪邪褟 胁械褉褋懈褟 锌谢邪谐懈薪邪 薪械 锌褉械写褍褋屑邪褌褉懈胁邪械褌 褌邪泻芯泄 褋褌褉邪褌械谐懈懈.',
-      toolNotInstallTooltip: '{{tool}} 薪械 褍褋褌邪薪芯胁谢械薪',
-      linkToPlugin: '小褋褘谢泻邪 薪邪 锌谢邪谐懈薪褘',
-      learnMore: '袩芯写褉芯斜薪械械',
-      modelNotInstallTooltip: '袛邪薪薪邪褟 屑芯写械谢褜 薪械 褍褋褌邪薪邪胁谢懈胁邪械褌褋褟',
-      modelNotSelected: '袦芯写械谢褜 薪械 胁褘斜褉邪薪邪',
-      toolNotAuthorizedTooltip: '{{懈薪褋褌褉褍屑械薪褌}} 袧械 邪胁褌芯褉懈蟹芯胁邪薪',
-      unsupportedStrategy: '袧械锌芯写写械褉卸懈胁邪械屑邪褟 褋褌褉邪褌械谐懈褟',
-      pluginNotInstalledDesc: '协褌芯褌 锌谢邪谐懈薪 褍褋褌邪薪邪胁谢懈胁邪械褌褋褟 褋 GitHub. 袩芯卸邪谢褍泄褋褌邪, 锌械褉械泄写懈褌械 胁 褉邪蟹写械谢 袩谢邪谐懈薪褘 写谢褟 锌械褉械褍褋褌邪薪芯胁泻懈',
-      model: '屑芯写械谢褜',
-      strategyNotFoundDescAndSwitchVersion: '校褋褌邪薪芯胁谢械薪薪邪褟 胁械褉褋懈褟 锌谢邪谐懈薪邪 薪械 锌褉械写褍褋屑邪褌褉懈胁邪械褌 褌邪泻芯泄 褋褌褉邪褌械谐懈懈. 袧邪卸屑懈褌械, 褔褌芯斜褘 锌械褉械泻谢褞褔懈褌褜 胁械褉褋懈褞.',
-      notAuthorized: '袧械 邪胁褌芯褉懈蟹芯胁邪薪',
-      strategyNotSet: '袗谐械薪褌褋泻邪褟 褋褌褉邪褌械谐懈褟 薪械 蟹邪写邪薪邪',
-      strategyNotInstallTooltip: '{{strategy}} 薪械 褍褋褌邪薪芯胁谢械薪',
-      toolbox: '褟褖懈泻 写谢褟 懈薪褋褌褉褍屑械薪褌芯胁',
-      pluginNotFoundDesc: '协褌芯褌 锌谢邪谐懈薪 褍褋褌邪薪邪胁谢懈胁邪械褌褋褟 褋 GitHub. 袩芯卸邪谢褍泄褋褌邪, 锌械褉械泄写懈褌械 胁 褉邪蟹写械谢 袩谢邪谐懈薪褘 写谢褟 锌械褉械褍褋褌邪薪芯胁泻懈',
-      configureModel: '小泻芯薪褎懈谐褍褉懈褉芯胁邪褌褜 屑芯写械谢褜',
-      maxIterations: '袦邪泻褋懈屑邪谢褜薪芯械 泻芯谢懈褔械褋褌胁芯 懈褌械褉邪褑懈泄',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: '袩褉械泻褉邪褖械薪芯',
-        continueOnError: '袩褉芯写芯谢卸邪褌褜 锌褉懈 芯褕懈斜泻械',
-        removeAbnormalOutput: '校褋褌褉邪薪懈褌褜 邪薪芯屑邪谢褜薪褘泄 胁褘胁芯写',
-      },
-      inputMode: '袪械卸懈屑 胁胁芯写邪',
-      exitConditionTip: '校 褍蟹谢邪 褑懈泻谢邪 写芯谢卸薪芯 斜褘褌褜 泻邪泻 屑懈薪懈屑褍屑 芯写薪芯 褍褋谢芯胁懈械 胁褘褏芯写邪',
-      loopMaxCountError: '袩芯卸邪谢褍泄褋褌邪, 胁胁械写懈褌械 写芯锌褍褋褌懈屑芯械 屑邪泻褋懈屑邪谢褜薪芯械 泻芯谢懈褔械褋褌胁芯 褑懈泻谢芯胁, 芯褌 1 写芯 {{maxCount}}',
-      setLoopVariables: '校褋褌邪薪邪胁谢懈胁邪泄褌械 锌械褉械屑械薪薪褘械 胁 芯斜谢邪褋褌懈 胁懈写懈屑芯褋褌懈 褑懈泻谢邪',
-      currentLoop: '孝械泻褍褖懈泄 泻芯薪褌褍褉',
-      input: '袙胁芯写',
-      comma: ',',
-      loop_other: '{{count}} 笑懈泻谢芯胁',
-      currentLoopCount: '孝械泻褍褖械械 泻芯谢懈褔械褋褌胁芯 褑懈泻谢芯胁: {{count}}',
-      loop_one: '{{count}} 笑懈泻谢',
-      variableName: '袠屑褟 锌械褉械屑械薪薪芯泄',
-      totalLoopCount: '袨斜褖械械 泻芯谢懈褔械褋褌胁芯 褑懈泻谢芯胁: {{count}}',
-      loopNode: '笑懈泻谢懈褔械褋泻懈泄 褍蟹械谢',
-      errorResponseMethod: '袦械褌芯写 芯褌胁械褌邪 芯斜 芯褕懈斜泻械',
-      deleteTitle: '校写邪谢懈褌褜 褍蟹械谢 褑懈泻谢邪?',
-      error_one: '{{count}} 袨褕懈斜泻邪',
-      output: '袙褘褏芯写薪邪褟 锌械褉械屑械薪薪邪褟',
-      deleteDesc: '校写邪谢械薪懈械 褍蟹谢邪 褑懈泻谢邪 褍写邪谢懈褌 胁褋械 写芯褔械褉薪懈械 褍蟹谢褘.',
-      loopMaxCount: '袦邪泻褋懈屑邪谢褜薪芯械 泻芯谢懈褔械褋褌胁芯 懈褌械褉邪褑懈泄',
-      error_other: '{{count}} 袨褕懈斜芯泻',
-      breakConditionTip: '孝芯谢褜泻芯 锌械褉械屑械薪薪褘械 胁 褑懈泻谢邪褏 褋 褍褋谢芯胁懈褟屑懈 蟹邪胁械褉褕械薪懈褟 懈 锌械褉械屑械薪薪褘械 斜械褋械写褘 屑芯谐褍褌 斜褘褌褜 懈褋锌芯谢褜蟹芯胁邪薪褘.',
-      finalLoopVariables: '肖懈薪邪谢褜薪褘械 锌械褉械屑械薪薪褘械 褑懈泻谢邪',
-      initialLoopVariables: '袧邪褔邪谢褜薪褘械 锌械褉械屑械薪薪褘械 褑懈泻谢邪',
-      breakCondition: '校褋谢芯胁懈械 蟹邪胁械褉褕械薪懈褟 褑懈泻谢邪',
-      loopVariables: '笑懈泻谢懈褔械褋泻懈械 锌械褉械屑械薪薪褘械',
-    },
   },
   tracing: {
     stopBy: '袨褋褌邪薪芯胁谢械薪芯 {{user}}',
@@ -883,38 +701,6 @@
     noVarsForOperation: '袩械褉械屑械薪薪褘械 写谢褟 锌褉懈褋胁芯械薪懈褟 胁褘斜褉邪薪薪芯泄 芯锌械褉邪褑懈懈 芯褌褋褍褌褋褌胁褍褞褌.',
     conversationVars: '袩械褉械屑械薪薪褘械 斜械褋械写褘',
     noAvailableVars: '袧械褌 写芯褋褌褍锌薪褘褏 锌械褉械屑械薪薪褘褏',
-  },
-  versionHistory: {
-    filter: {
-      onlyShowNamedVersions: '袩芯泻邪蟹褘胁邪褌褜 褌芯谢褜泻芯 懈屑械薪芯胁邪薪薪褘械 胁械褉褋懈懈',
-      all: '袙褋械',
-      reset: '小斜褉芯褋懈褌褜 褎懈谢褜褌褉',
-      onlyYours: '孝芯谢褜泻芯 褌胁芯泄',
-      empty: '袠褋褌芯褉懈褟 胁械褉褋懈泄 薪械 薪邪泄写械薪邪',
-    },
-    editField: {
-      titleLengthLimit: '袟邪谐芯谢芯胁芯泻 薪械 屑芯卸械褌 锌褉械胁褘褕邪褌褜 {{limit}} 褋懈屑胁芯谢芯胁',
-      releaseNotesLengthLimit: '袩褉懈屑械褔邪薪懈褟 泻 胁械褉褋懈懈 薪械 屑芯谐褍褌 锌褉械胁褘褕邪褌褜 {{limit}} 褋懈屑胁芯谢芯胁',
-      releaseNotes: '袧芯胁芯褋褌懈 褉械谢懈蟹邪',
-      title: '袟邪谐芯谢芯胁芯泻',
-    },
-    action: {
-      restoreSuccess: '袙械褉褋懈褟 胁芯褋褋褌邪薪芯胁谢械薪邪',
-      updateSuccess: '袙械褉褋懈褟 芯斜薪芯胁谢械薪邪',
-      deleteFailure: '袧械 褍写邪谢芯褋褜 褍写邪谢懈褌褜 胁械褉褋懈褞',
-      deleteSuccess: '袙械褉褋懈褟 褍写邪谢械薪邪',
-      updateFailure: '袧械 褍写邪谢芯褋褜 芯斜薪芯胁懈褌褜 胁械褉褋懈褞',
-      restoreFailure: '袧械 褍写邪谢芯褋褜 胁芯褋褋褌邪薪芯胁懈褌褜 胁械褉褋懈褞',
-    },
-    latest: '袩芯褋谢械写薪懈泄',
-    restorationTip: '袩芯褋谢械 胁芯褋褋褌邪薪芯胁谢械薪懈褟 胁械褉褋懈懈 褌械泻褍褖懈泄 褔械褉薪芯胁懈泻 斜褍写械褌 锌械褉械蟹邪锌懈褋邪薪.',
-    deletionTip: '校写邪谢械薪懈械 薪械芯斜褉邪褌懈屑芯, 锌芯卸邪谢褍泄褋褌邪, 锌芯写褌胁械褉写懈褌械.',
-    nameThisVersion: '袧邪蟹芯胁懈褌械 褝褌褍 胁械褉褋懈褞',
-    editVersionInfo: '袪械写邪泻褌懈褉芯胁邪褌褜 懈薪褎芯褉屑邪褑懈褞 芯 胁械褉褋懈懈',
-    title: '袙械褉褋懈懈',
-    currentDraft: '孝械泻褍褖懈泄 锌褉芯械泻褌',
-    releaseNotesPlaceholder: '袨锌懈褕懈褌械, 褔褌芯 懈蟹屑械薪懈谢芯褋褜',
-    defaultName: '袘械蟹 薪邪蟹胁邪薪懈褟 胁械褉褋懈褟',
   },
 }
 
diff --git a/i18n/server.ts b/i18n/server.ts
index 9aeac29..e976f3e 100644
--- a/i18n/server.ts
+++ b/i18n/server.ts
@@ -30,18 +30,18 @@
   }
 }
 
-export const getLocaleOnServer = async (): Promise<Locale> => {
+export const getLocaleOnServer = (): Locale => {
   const locales: string[] = i18n.locales
 
   let languages: string[] | undefined
   // get locale from cookie
-  const localeCookie = (await cookies()).get('locale')
+  const localeCookie = cookies().get('locale')
   languages = localeCookie?.value ? [localeCookie.value] : []
 
   if (!languages.length) {
     // Negotiator expects plain object so we need to transform headers
-    const negotiatorHeaders: Record<string, string> = {};
-    (await headers()).forEach((value, key) => (negotiatorHeaders[key] = value))
+    const negotiatorHeaders: Record<string, string> = {}
+    headers().forEach((value, key) => (negotiatorHeaders[key] = value))
     // Use negotiator and intl-localematcher to get best locale
     languages = new Negotiator({ headers: negotiatorHeaders }).languages()
   }
diff --git a/i18n/sl-SI/app-overview.ts b/i18n/sl-SI/app-overview.ts
index 8d57730..458a5c4 100644
--- a/i18n/sl-SI/app-overview.ts
+++ b/i18n/sl-SI/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Nastavite barvno temo klepetalnega bota',
         chatColorThemeInverted: 'Inverzna',
         invalidHexMessage: 'Neveljavna vrednost heksa',
-        invalidPrivacyPolicy: 'Neveljavna povezava do pravilnika o zasebnosti. Uporabite veljavno povezavo, ki se za膷ne z http ali https',
         sso: {
           label: 'SSO avtentikacija',
           title: 'SSO spletne aplikacije',
@@ -113,7 +112,6 @@
           operation: 'Dokumentacija',
         },
       },
-      launch: 'Za膷etek',
     },
     apiInfo: {
       title: 'API storitev v ozadju',
diff --git a/i18n/sl-SI/app.ts b/i18n/sl-SI/app.ts
index bff7f2a..2c2c6e2 100644
--- a/i18n/sl-SI/app.ts
+++ b/i18n/sl-SI/app.ts
@@ -168,10 +168,6 @@
       description: 'Opik je odprtokodna platforma za ocenjevanje, testiranje in spremljanje aplikacij LLM.',
       title: 'Opik',
     },
-    weave: {
-      title: 'Tkanje',
-      description: 'Weave je odprtokodna platforma za vrednotenje, testiranje in spremljanje aplikacij LLM.',
-    },
   },
   mermaid: {
     handDrawn: 'Ro膷no narisano',
@@ -192,23 +188,6 @@
     searchAllTemplate: 'Prei拧膷i vse predloge ...',
   },
   showMyCreatedAppsOnly: 'Prika啪i samo aplikacije, ki sem jih ustvaril',
-  appSelector: {
-    params: 'PARAMETRI APLIKACIJE',
-    noParams: 'Parametri niso potrebni',
-    label: 'APL',
-    placeholder: 'Izberite aplikacijo ...',
-  },
-  structOutput: {
-    configure: 'Konfiguriraj',
-    structured: 'Strukturirano',
-    modelNotSupported: 'Model ni podprt',
-    required: 'Zahtevano',
-    moreFillTip: 'Prikazovanje najve膷 10 ravni gnezdenja',
-    LLMResponse: 'LLM odziv',
-    notConfiguredTip: 'Strukturiranega izhoda 拧e ni mogo膷e konfigurirati',
-    modelNotSupportedTip: 'Trenutni model ne podpira te funkcije in se samodejno zni啪a na vbrizgavanje pozivov.',
-    structuredTip: 'Strukturirani izhodi so funkcija, ki zagotavlja, da bo model vedno generiral odgovore, ki se dr啪ijo va拧ega posredovanega JSON sheme.',
-  },
 }
 
 export default translation
diff --git a/i18n/sl-SI/billing.ts b/i18n/sl-SI/billing.ts
index 9b79872..edbf03e 100644
--- a/i18n/sl-SI/billing.ts
+++ b/i18n/sl-SI/billing.ts
@@ -70,7 +70,6 @@
     messageRequest: {
       title: 'Krediti za sporo膷ila',
       tooltip: 'Kvota za klice sporo膷il pri razli膷nih na膷rtih z uporabo modelov OpenAI (razen GPT-4). Sporo膷ila preko omejitve bodo uporabljala va拧 OpenAI API klju膷.',
-      titlePerMonth: '{{count,number}} sporo膷il/mesec',
     },
     annotatedResponse: {
       title: 'Omejitve kvote za ozna膷evanje',
@@ -78,94 +77,27 @@
     },
     ragAPIRequestTooltip: 'Nana拧a se na 拧tevilo API klicev, ki vklju膷ujejo samo sposobnosti obdelave baze znanja Dify.',
     receiptInfo: 'Le lastnik ekipe in skrbnik ekipe lahko naro膷ita in si ogledate podatke o pla膷ilih',
-    self: 'Samostojno gostovanje',
-    documents: '{{count,number}} dokumentov znanja',
-    documentsTooltip: 'Kvote na 拧tevilo dokumentov, uvo啪enih iz Vir podatkov znanja.',
-    teamWorkspace: '{{count,number}} Ekipa delovni prostor',
-    apiRateLimit: 'Omejitev hitrosti API-ja',
-    unlimitedApiRate: 'Brez omejitve hitrostnega limita API-ja',
-    comparePlanAndFeatures: 'Primerjajte na膷rte in funkcije',
-    apiRateLimitTooltip: 'API omejitev hitrosti velja za vse poizvedbe, opravljene prek Dify API, vklju膷no z generiranjem besedila, klepetnimi pogovori, izvajanjem delovnih tokov in obdelavo dokumentov.',
-    freeTrialTipSuffix: 'Brez zahteve po kreditni kartici',
-    annualBilling: 'Letno ra膷褍薪ovodstvo',
-    teamMember_one: '{{count,number}} 膷lan ekipe',
-    teamMember_other: '{{count,number}} 膶lanov ekipe',
-    documentsRequestQuota: '{{count,number}}/min Omejitev stopnje zahtev po znanju',
-    apiRateLimitUnit: '{{count,number}}/dan',
-    priceTip: 'na delovnem prostoru/',
-    freeTrialTipPrefix: 'Prijavite se in prejmite',
-    cloud: 'Obla膷na storitev',
-    freeTrialTip: 'brezpla膷no preizku拧njo 200 klicev OpenAI.',
-    getStarted: 'Za膷nite',
-    documentsRequestQuotaTooltip: 'Dolo膷a skupno 拧tevilo dejanj, ki jih lahko delovno mesto opravi na minuto znotraj znanja baze, vklju膷no s kreiranjem, brisanjem, posodobitvami, nalaganjem dokumentov, spremembami, arhiviranjem in poizvedbami po znanju bazi. Ta meritev se uporablja za ocenjevanje uspe拧nosti poizvedb v bazi znanja. Na primer, 膷e uporabnik Sandbox izvede 10 zaporednih testov udarca v eni minuti, bo njegovo delovno mesto za膷asno omejeno pri izvajanju naslednjih dejanj v naslednji minuti: kreiranje podatkovnih nizov, brisanje, posodobitve in nalaganje ali spremembe dokumentov.',
   },
   plans: {
     sandbox: {
       name: 'Peskovnik',
       description: '200 brezpla膷nih poskusov GPT',
       includesTitle: 'Vklju膷uje:',
-      for: 'Brezpla膷no preizku拧anje osnovnih zmogljivosti',
     },
     professional: {
       name: 'Profesionalni',
       description: 'Za posameznike in male ekipe, da odklenete ve膷 zmogljivosti po ugodni ceni.',
       includesTitle: 'Vse v brezpla膷nem na膷rtu, plus:',
-      for: 'Za neodvisne razvijalce/male ekipe',
     },
     team: {
       name: 'Ekipa',
       description: 'Sodelujte brez omejitev in u啪ivajte v vrhunski zmogljivosti.',
       includesTitle: 'Vse v profesionalnem na膷rtu, plus:',
-      for: 'Za srednje velike ekipe',
     },
     enterprise: {
       name: 'Podjetje',
       description: 'Pridobite vse zmogljivosti in podporo za velike sisteme kriti膷ne za misijo.',
       includesTitle: 'Vse v na膷rtu Ekipa, plus:',
-      features: {
-        5: 'Pogajali smo se o SLAs s partnerji Dify',
-        4: 'SSO',
-        0: 'Re拧itve za raz拧irljivo uvedbo na ravni podjetij',
-        1: 'Avtorizacija za komercialno licenco',
-        2: 'Ekskluzivne funkcije za podjetja',
-        7: 'Posodobitve in vzdr啪evanje s strani Dify uradno',
-        3: 'Ve膷 delovnih prostorov in upravljanje podjetij',
-        6: 'Napredna varnost in nadzor',
-        8: 'Profesionalna tehni膷na podpora',
-      },
-      priceTip: 'Letno zara膷unavanje samo',
-      price: 'Po meri',
-      btnText: 'Kontaktirajte prodajo',
-      for: 'Za velike ekipe',
-    },
-    community: {
-      features: {
-        2: 'Upo拧teva Dify odprtokodno licenco',
-        0: 'Vse klju膷ne funkcije so bile objavljene v javnem repozitoriju',
-        1: 'Enotno delovno okolje',
-      },
-      includesTitle: 'Brezpla膷ne funkcije:',
-      price: 'Brezpla膷no',
-      name: 'Skupnost',
-      description: 'Za posamezne uporabnike, majhne skupine ali nekomercialne projekte',
-      for: 'Za posamezne uporabnike, majhne skupine ali nekomercialne projekte',
-      btnText: 'Za膷nite s skupnostjo',
-    },
-    premium: {
-      features: {
-        2: 'Prilagoditev logotipa in blagovne znamke spletne aplikacije',
-        1: 'Enotno delovno okolje',
-        0: 'Samoobvladovana zanesljivost razli膷nih ponudnikov obla膷nih storitev',
-        3: 'Prednostna e-po拧ta in podpora za klepet',
-      },
-      name: 'Premium',
-      priceTip: 'Na podlagi oblaka Marketplace',
-      price: '艩kalable',
-      includesTitle: 'Vse iz skupnosti, poleg tega:',
-      comingSoon: 'Podpora za Microsoft Azure in Google Cloud kmalu prihaja',
-      for: 'Za srednje velika podjetja in ekipe',
-      btnText: 'Pridobi Premium v',
-      description: 'Za srednje velika podjetja in ekipe',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'Nadgradite svoj na膷rt, da',
     fullTipLine2: 'gradite ve膷 aplikacij.',
-    fullTip1des: 'Dosegli ste omejitev za izdelavo aplikacij v tem na膷rtu.',
-    fullTip1: 'Nadgradite za ustvarjanje ve膷 aplikacij',
-    fullTip2: 'Dose啪ena meja na膷rta',
-    contactUs: 'Kontaktirajte nas',
-    fullTip2des: 'Priporo膷ljivo je, da o膷istite neaktivne aplikacije, da sprostite prostor, ali nas kontaktirate.',
   },
   annotatedResponse: {
     fullTipLine1: 'Nadgradite svoj na膷rt, da',
     fullTipLine2: 'ozna膷ite ve膷 pogovorov.',
     quotaTitle: 'Kvote za odgovor z ozna膷evanjem',
   },
-  usagePage: {
-    documentsUploadQuota: 'Kvota za nalaganje dokumentov',
-    vectorSpaceTooltip: 'Dokumenti z na膷inom indeksiranja visoke kakovosti bodo porabili vire skladi拧膷a podatkov o znanju. Ko skladi拧膷e podatkov o znanju dose啪e mejo, novih dokumentov ne bo mogo膷e nalo啪iti.',
-    vectorSpace: 'Shranjevanje podatkov znanja',
-    annotationQuota: 'Quota za anotacijo',
-    teamMembers: '膶lani ekipe',
-    buildApps: 'Gradite aplikacije',
-  },
-  teamMembers: '膶lani ekipe',
 }
 
 export default translation
diff --git a/i18n/sl-SI/common.ts b/i18n/sl-SI/common.ts
index d4b78d4..2d30e0b 100644
--- a/i18n/sl-SI/common.ts
+++ b/i18n/sl-SI/common.ts
@@ -50,14 +50,6 @@
     submit: 'Predlo啪iti',
     skip: 'Ladja',
     imageCopied: 'Kopirana slika',
-    deleteApp: 'Izbri拧i aplikacijo',
-    viewDetails: 'Poglej podrobnosti',
-    copied: 'Kopirati',
-    in: 'v',
-    downloadFailed: 'Prenos ni uspel. Prosim, poskusite znova pozneje.',
-    more: 'Ve膷',
-    downloadSuccess: 'Prenos kon膷an.',
-    format: 'Format',
   },
   errorMsg: {
     fieldRequired: '{{field}} je obvezno',
@@ -134,8 +126,6 @@
       Custom: 'Po meri',
     },
     addMoreModel: 'Pojdite v nastavitve, da dodate ve膷 modelov',
-    settingsLink: 'Nastavitve ponudnika modelov',
-    capabilities: 'Multimodalne zmogljivosti',
   },
   menus: {
     status: 'beta',
@@ -148,7 +138,6 @@
     newApp: 'Nova aplikacija',
     newDataset: 'Ustvari znanje',
     tools: 'Orodja',
-    exploreMarketplace: 'Razi拧膷ite Marketplace',
   },
   userProfile: {
     settings: 'Nastavitve',
@@ -161,9 +150,6 @@
     community: 'Skupnost',
     about: 'O nas',
     logout: 'Odjava',
-    support: 'Podpora',
-    github: 'GitHub',
-    compliance: 'Skladnost',
   },
   settings: {
     accountGroup: 'SPLO艩NO',
@@ -177,7 +163,6 @@
     dataSource: 'Vir podatkov',
     plugin: 'Vti膷niki',
     apiBasedExtension: 'Raz拧iritev API-ja',
-    generalGroup: 'SPLO艩NO',
   },
   account: {
     account: 'Ra膷un',
@@ -213,9 +198,6 @@
     deleteSuccessTip: 'Va拧 ra膷un potrebuje 膷as, da dokon膷a brisanje. Ko bo vse kon膷ano, vam bomo poslali e-po拧to.',
     feedbackTitle: 'Povratne informacije',
     deleteLabel: 'Za potrditev spodaj vnesite svoj e-po拧tni naslov',
-    workspaceName: 'Ime delovnega prostora',
-    workspaceIcon: 'Ikona delovnega prostora',
-    editWorkspaceInfo: 'Uredi informacije o delovnem prostoru',
   },
   members: {
     team: 'Ekipa',
@@ -308,7 +290,6 @@
       usedUp: 'Kvota za preizkus porabljena. Dodajte svojega ponudnika modelov.',
       useYourModel: 'Trenutno uporabljate svojega ponudnika modelov.',
       close: 'Zapri',
-      trialQuotaTip: 'Va拧a kvota za presku拧anje antropi膷nih izdelkov bo potekla 11.3.2025 in po tem datumu ne bo ve膷 na voljo. Prosimo, da jo pravo膷asno izkoristite.',
     },
     anthropic: {
       using: 'Zmo啪nost vdelave uporablja',
@@ -462,7 +443,7 @@
     apiBasedExtension: {
       title: 'Raz拧iritve API omogo膷ajo centralizirano upravljanje API, kar poenostavi konfiguracijo za enostavno uporabo v aplikacijah Dify.',
       link: 'Nau膷ite se, kako razviti svojo API raz拧iritev.',
-      linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+      linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
       add: 'Dodaj API raz拧iritev',
       selector: {
         title: 'API raz拧iritev',
@@ -619,12 +600,6 @@
       created: 'Oznaka uspe拧no ustvarjena',
       failed: 'Ustvarjanje oznake ni uspelo',
     },
-    discoverMore: 'Odkrijte ve膷 v',
-    installProvider: 'Namestitev ponudnikov modelov',
-    emptyProviderTitle: 'Ponudnik modelov ni nastavljen',
-    emptyProviderTip: 'Najprej namestite ponudnika modelov.',
-    toBeConfigured: 'Za konfiguracijo',
-    configureTip: 'Nastavitev tipke API ali dodajanje modela za uporabo',
   },
   dataSource: {
     notion: {
@@ -691,7 +666,7 @@
     type: 'Vrsta',
     link: 'Preberite, kako razvijete lastno raz拧iritev API-ja.',
     title: 'Raz拧iritve API zagotavljajo centralizirano upravljanje API, kar poenostavlja konfiguracijo za enostavno uporabo v aplikacijah Dify.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Dodajanje raz拧iritve API-ja',
   },
   about: {
@@ -754,9 +729,6 @@
     renameConversation: 'Preimenovanje pogovora',
     conversationName: 'Ime pogovora',
     conversationNamePlaceholder: 'Prosimo, vnesite ime pogovora',
-    thinking: 'Razmi拧ljanje...',
-    thought: 'Misel',
-    resend: 'Ponovno po拧lji',
   },
   promptEditor: {
     context: {
@@ -846,25 +818,6 @@
   },
   pagination: {
     perPage: 'Elementi na stran',
-  },
-  theme: {
-    theme: 'Tema',
-    light: 'svetloba',
-    auto: 'sistem',
-    dark: 'temno',
-  },
-  compliance: {
-    sandboxUpgradeTooltip: 'Na voljo je le z na膷rtom Professional ali Team.',
-    gdpr: 'GDPR DPA',
-    soc2Type2: 'Poro膷ilo SOC 2 Tip II',
-    professionalUpgradeTooltip: 'Na voljo je le s Team na膷rtom ali vi拧jim.',
-    iso27001: 'Certifikacija ISO 27001:2022',
-    soc2Type1: 'Poro膷ilo SOC 2 Tip I',
-  },
-  imageInput: {
-    supportedFormats: 'Podpira PNG, JPG, JPEG, WEBP in GIF',
-    browse: 'brskati',
-    dropImageHere: 'Tukaj spustite svojo sliko ali',
   },
 }
 
diff --git a/i18n/sl-SI/custom.ts b/i18n/sl-SI/custom.ts
index 59f0a6b..6c2f3f4 100644
--- a/i18n/sl-SI/custom.ts
+++ b/i18n/sl-SI/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Nadgradite svoj na膷rt za',
     suffix: 'prilagoditev va拧e blagovne znamke.',
-    des: 'Nadgradite svoj na膷rt, da prilagodite svojo blagovno znamko',
-    title: 'Nadgradite svoj na膷rt',
   },
   webapp: {
     title: 'Prilagodi blagovno znamko spletne aplikacije',
diff --git a/i18n/sl-SI/dataset-creation.ts b/i18n/sl-SI/dataset-creation.ts
index 72e7104..573acb9 100644
--- a/i18n/sl-SI/dataset-creation.ts
+++ b/i18n/sl-SI/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Ustvari Znanje',
       update: 'Dodaj podatke',
-      fallbackRoute: 'Znanje',
     },
     one: 'Izberi vir podatkov',
     two: 'Predobdelava in 膷i拧膷enje besedila',
@@ -32,7 +31,7 @@
     },
     uploader: {
       title: 'Nalo啪i datoteko',
-      button: 'Povleci in spusti datoteke ali mape oz',
+      button: 'Povleci in spusti datoteko ali',
       browse: 'Prebrskaj',
       tip: 'Podprti tipi datotek: {{supportTypes}}. Najve膷 {{size}}MB na datoteko.',
       validation: {
@@ -71,7 +70,7 @@
       run: 'Za啪eni',
       firecrawlTitle: 'Izvleci spletno vsebino z 馃敟Firecrawl',
       firecrawlDoc: 'Firecrawl dokumentacija',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       jinaReaderTitle: 'Pretvori celotno stran v Markdown',
       jinaReaderDoc: 'Ve膷 o Jina Reader',
       jinaReaderDocLink: 'https://jina.ai/reader',
@@ -92,14 +91,6 @@
       scrapTimeInfo: 'Skupaj preiskanih {{total}} strani v {{time}}s',
       preview: 'Predogled',
       maxDepthTooltip: 'Najve膷ja globina iskanja glede na vneseni URL. Globina 0 bo iskala le stran z vnesenim URL-jem, globina 1 bo iskala URL in vse za tem, dodano z enim /, in tako naprej.',
-      waterCrawlNotConfiguredDescription: 'Konfigurirajte Watercrawl z API klju膷em, da ga uporabite.',
-      configureWatercrawl: 'Konfiguriraj Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl ni konfiguriran',
-      watercrawlDoc: 'Watercrawl dokumentacija',
-      configureJinaReader: 'Konfigurirajte Jina Reader',
-      watercrawlDocLink: 'https://docs.dify.ai/sl/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureFirecrawl: 'Konfigurirajte Firecrawl',
-      watercrawlTitle: 'Izvleci vsebino z interneta z Watercrawl',
     },
     cancel: 'Odpovedati',
   },
@@ -207,11 +198,6 @@
     learnMore: 'Izvedi ve膷',
     title: 'Vzpostavite povezavo z drugimi viri podatkov?',
     description: 'Trenutno ima baza znanja Dify le omejene vire podatkov. Prispevanje vira podatkov v bazo znanja Dify je fantasti膷en na膷in za izbolj拧anje prilagodljivosti in mo膷i platforme za vse uporabnike. Na拧 vodnik za prispevke olaj拧a za膷etek. 膶e 啪elite izvedeti ve膷, kliknite spodnjo povezavo.',
-  },
-  watercrawl: {
-    configWatercrawl: 'Konfiguriraj Watercrawl',
-    getApiKeyLinkText: 'Pridobite svoj API klju膷 iz watercrawl.dev',
-    apiKeyPlaceholder: 'API klju膷 iz watercrawl.dev',
   },
 }
 
diff --git a/i18n/sl-SI/dataset-documents.ts b/i18n/sl-SI/dataset-documents.ts
index 78d63c9..3953e9a 100644
--- a/i18n/sl-SI/dataset-documents.ts
+++ b/i18n/sl-SI/dataset-documents.ts
@@ -133,7 +133,7 @@
         language: 'Jezik',
         authorPublisher: 'Avtor/Zalo啪nik',
         publishDate: 'Datum objave',
-        topicKeywords: 'Teme/Klju膷ne besede',
+        topicsKeywords: 'Teme/Klju膷ne besede',
         description: 'Opis',
       },
       paper: {
diff --git a/i18n/sl-SI/dataset-settings.ts b/i18n/sl-SI/dataset-settings.ts
index 9ea30f3..5cd7a72 100644
--- a/i18n/sl-SI/dataset-settings.ts
+++ b/i18n/sl-SI/dataset-settings.ts
@@ -27,7 +27,6 @@
       learnMore: 'Izvedite ve膷',
       description: ' o metodi pridobivanja.',
       longDescription: ' o metodi pridobivanja, to lahko kadar koli spremenite v nastavitvah znanja.',
-      method: 'Metoda pridobivanja',
     },
     externalKnowledgeAPI: 'Zunanji API za znanje',
     externalKnowledgeID: 'ID zunanjega znanja',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: 'Ni na voljo za pregradnjo iz HQ v ECO',
     upgradeHighQualityTip: 'Ko nadgradite na na膷in visoke kakovosti, vrnitev v ekonomi膷ni na膷in ni na voljo',
     helpText: 'Nau膷ite se napisati dober opis nabora podatkov.',
-    searchModel: 'I拧膷i model',
   },
 }
 
diff --git a/i18n/sl-SI/dataset.ts b/i18n/sl-SI/dataset.ts
index a9f9ccb..0161a0a 100644
--- a/i18n/sl-SI/dataset.ts
+++ b/i18n/sl-SI/dataset.ts
@@ -168,54 +168,6 @@
   enable: 'Omogo膷iti',
   allKnowledge: 'Vse znanje',
   allKnowledgeDescription: 'Izberite, 膷e 啪elite prikazati vse znanje v tem delovnem prostoru. Samo lastnik delovnega prostora lahko upravlja vse znanje.',
-  metadata: {
-    createMetadata: {
-      name: 'Ime',
-      type: 'Tip',
-      namePlaceholder: 'Dodajte ime metapodatkov',
-      back: 'Nazaj',
-      title: 'Nova metapodatki',
-    },
-    checkName: {
-      empty: 'Ime metapodatkov ne more biti prazno',
-      invalid: 'Ime metapodatkov lahko vsebuje samo male 膷rke, 拧tevilke in pod膷rtaje ter se mora za膷eti z malo 膷rko.',
-    },
-    batchEditMetadata: {
-      editMetadata: 'Uredi metapodatke',
-      applyToAllSelectDocument: 'Uporabi za vse izbrane dokumente',
-      multipleValue: 'Ve膷 vrednosti',
-      applyToAllSelectDocumentTip: 'Samodejno ustvarite vse zgoraj omenjene urejene in nove metapodatke za vsa izbrana dokumenta, sicer bo urejanje metapodatkov veljalo le za dokumente, ki jih imajo.',
-      editDocumentsNum: 'Urejanje {{num}} dokumentov',
-    },
-    selectMetadata: {
-      search: 'I拧膷i metapodatke',
-      newAction: 'Nova metapodatki',
-      manageAction: 'Upravljati',
-    },
-    datasetMetadata: {
-      rename: 'Preimenuj',
-      namePlaceholder: 'Ime metapodatkov',
-      deleteTitle: 'Potrdite, da 啪elite izbrisati',
-      builtIn: 'Vgrajeno',
-      deleteContent: 'Ali ste prepri膷ani, da 啪elite izbrisati metadata "{{name}}"',
-      builtInDescription: 'Vgrajeni metapodatki so samodejno izvle膷eni in ustvarjeni. Morajo biti omogo膷eni pred uporabo in jih ni mogo膷e urejati.',
-      values: '{{num}} Vrednosti',
-      addMetaData: 'Dodaj metapodatke',
-      description: 'Vse metapodatke lahko upravljate tukaj v tej bazi znanja. Spremembe bodo usklajene z vsakim dokumentom.',
-      disabled: 'Onemogo膷eno',
-      name: 'Ime',
-    },
-    documentMetadata: {
-      startLabeling: 'Za膷ni ozna膷evanje',
-      technicalParameters: 'Tehni膷ni parametri',
-      metadataToolTip: 'Metapodatki slu啪ijo kot pomemben filter, ki izbolj拧uje natan膷nost in pomembnost iskanja informacij. Tukaj lahko spremenite in dodate metapodatke za ta dokument.',
-      documentInformation: 'Informacije o dokumentu',
-    },
-    metadata: 'Meta podatki',
-    chooseTime: 'Izberi 膷as...',
-    addMetadata: 'Dodaj metapodatke',
-  },
-  embeddingModelNotAvailable: 'Model za zajemanje ni na voljo.',
 }
 
 export default translation
diff --git a/i18n/sl-SI/explore.ts b/i18n/sl-SI/explore.ts
index add9056..5ed9519 100644
--- a/i18n/sl-SI/explore.ts
+++ b/i18n/sl-SI/explore.ts
@@ -37,7 +37,6 @@
     HR: 'Kadri',
     Workflow: 'Potek dela',
     Agent: 'Agent',
-    Entertainment: 'Zabava',
   },
 }
 
diff --git a/i18n/sl-SI/run-log.ts b/i18n/sl-SI/run-log.ts
index c0ae92f..2ac026a 100644
--- a/i18n/sl-SI/run-log.ts
+++ b/i18n/sl-SI/run-log.ts
@@ -24,8 +24,6 @@
     link: 'panel podrobnosti',
     tipRight: ' za ogled.',
   },
-  actionLogs: 'Dnevniki dejanj',
-  circularInvocationTip: 'V trenutnem poteku dela obstaja kro啪no sklicevanje orodij / vozli拧膷.',
 }
 
 export default translation
diff --git a/i18n/sl-SI/share-app.ts b/i18n/sl-SI/share-app.ts
index 28d62b2..68ad659 100644
--- a/i18n/sl-SI/share-app.ts
+++ b/i18n/sl-SI/share-app.ts
@@ -27,12 +27,6 @@
     },
     tryToSolve: 'Poskusite re拧iti',
     temporarySystemIssue: 'Oprostite, za膷asna te啪ava s sistemom.',
-    expand: 'Raz拧iri',
-    collapse: 'Skr膷i',
-    newChatTip: '沤e v novem klepetu',
-    viewChatSettings: 'Ogled nastavitve klepeta',
-    chatSettingsTitle: 'Nova nastavitev klepeta',
-    chatFormTip: 'Nastavitve klepeta ni mogo膷e spremeniti po za膷etku klepeta.',
   },
   generation: {
     tabs: {
@@ -71,8 +65,6 @@
       moreThanMaxLengthLine: 'Vrstica {{rowIndex}}: vrednost {{varName}} ne sme biti dalj拧a od {{maxLength}} znakov',
       atLeastOne: 'Prosimo, vnesite vsaj eno vrstico v nalo啪eno datoteko.',
     },
-    execution: 'IZVEDBA',
-    executions: '{{num}} IZVR艩ITEV',
   },
 }
 
diff --git a/i18n/sl-SI/tools.ts b/i18n/sl-SI/tools.ts
index 59989e9..63b508a 100644
--- a/i18n/sl-SI/tools.ts
+++ b/i18n/sl-SI/tools.ts
@@ -133,7 +133,6 @@
     number: '拧tevilka',
     required: 'Obvezno',
     infoAndSetting: 'Informacije in nastavitve',
-    file: 'datoteka',
   },
   noCustomTool: {
     title: 'Ni prilagojenih orodij!',
@@ -151,8 +150,6 @@
   howToGet: 'Kako pridobiti',
   openInStudio: 'Odpri v Studiju',
   toolNameUsageTip: 'Ime klica orodja za sklepanja in pozivanje agenta',
-  copyToolName: 'Kopiraj ime',
-  noTools: 'Orodja niso bila najdena',
 }
 
 export default translation
diff --git a/i18n/sl-SI/workflow.ts b/i18n/sl-SI/workflow.ts
index 1376bc8..04c9a57 100644
--- a/i18n/sl-SI/workflow.ts
+++ b/i18n/sl-SI/workflow.ts
@@ -106,15 +106,6 @@
     onFailure: 'O neuspehu',
     noHistory: 'Brez zgodovine',
     loadMore: 'Nalaganje ve膷 potekov dela',
-    exportJPEG: 'Izvozi kot JPEG',
-    exportPNG: 'Izvozi kot PNG',
-    noExist: 'Nobena tak拧na spremenljivka ne obstaja.',
-    exitVersions: 'Izhodne razli膷ice',
-    versionHistory: 'Zgodovina razli膷ic',
-    publishUpdate: 'Objavi posodobitev',
-    exportSVG: 'Izvozi kot SVG',
-    referenceVar: 'Referen膷na spremenljivka',
-    exportImage: 'Izvozi sliko',
   },
   env: {
     envPanelTitle: 'Spremenljivke okolja',
@@ -641,8 +632,6 @@
     authRequired: 'Dovoljenje je potrebno',
     fieldRequired: '{{field}} je obvezno',
     rerankModelRequired: 'Preden vklopite Rerank Model, preverite, ali je bil model uspe拧no konfiguriran v nastavitvah.',
-    toolParameterRequired: '{{field}}: parameter [{{param}}] je obvezen',
-    noValidTool: '{{field}} Izbrano ni veljavno orodje',
   },
   singleRun: {
     startRun: 'Za膷ni zagnati',
@@ -651,7 +640,6 @@
     iteration: 'Ponovitev',
     back: 'Hrbet',
     testRun: 'Preskusni zagon',
-    loop: 'Zanka',
   },
   tabs: {
     'blocks': 'Bloki',
@@ -667,8 +655,6 @@
     'customTool': 'Obi膷aj',
     'utilities': 'Utilities',
     'searchTool': 'Orodje za iskanje',
-    'agent': 'Strategija agenta',
-    'plugin': 'Vti膷nik',
   },
   blocks: {
     'variable-aggregator': 'Spremenljivi agregator',
@@ -689,10 +675,6 @@
     'http-request': 'Zahteva HTTP',
     'variable-assigner': 'Spremenljivi agregator',
     'question-classifier': 'Klasifikator vpra拧anj',
-    'agent': 'Agent',
-    'loop-end': 'Izhod iz zanke',
-    'loop': 'Zanka',
-    'loop-start': 'Za膷etek zanke',
   },
   blocksAbout: {
     'document-extractor': 'Uporablja se za raz膷lenjevanje nalo啪enih dokumentov v besedilno vsebino, ki je zlahka razumljiva LLM.',
@@ -712,9 +694,6 @@
     'parameter-extractor': 'Uporabite LLM za pridobivanje strukturiranih parametrov iz naravnega jezika za klicanje orodij ali zahteve HTTP.',
     'assigner': 'Vozli拧膷e za dodeljevanje spremenljivk se uporablja za dodeljevanje vrednosti zapisljivim spremenljivkam (kot so spremenljivke pogovora).',
     'llm': 'Sklicevanje na velike jezikovne modele za odgovarjanje na vpra拧anja ali obdelavo naravnega jezika',
-    'agent': 'Sklicevanje na velike jezikovne modele za odgovarjanje na vpra拧anja ali obdelavo naravnega jezika',
-    'loop': 'Izvedite zanko logike, dokler ni izpolnjen pogoj za prekinitev ali dokler ni dose啪ena najve膷ja 拧tevilo ponovitev.',
-    'loop-end': 'Enakovredno 鈥瀙rekini鈥�. Ta vozli拧膷e nima konfiguracijskih elementov. Ko telo zanke dose啪e to vozli拧膷e, zanka preneha.',
   },
   operator: {
     zoomOut: 'Pomanj拧anje',
@@ -856,34 +835,6 @@
       prompt: 'Uren',
       vision: 'vid',
       contextTooltip: 'Znanje lahko uvozite kot kontekst',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Prosimo, da dokon膷ate urejanje trenutnega polja, preden shranite shemo.',
-        },
-        addChildField: 'Dodaj polje za otroka',
-        instruction: 'Navodilo',
-        regenerate: 'Ponovno generiranje',
-        back: 'Nazaj',
-        generationTip: 'Lahko uporabite naravni jezik za hitro ustvarjanje JSON sheme.',
-        title: 'Strukturirana izhodna shema',
-        generating: 'Generiranje JSON sheme...',
-        showAdvancedOptions: 'Prika啪i napredne mo啪nosti',
-        promptTooltip: 'Pretvorite besedilni opis v standardizirano strukturo JSON sheme.',
-        generateJsonSchema: 'Generiraj JSON shemo',
-        fieldNamePlaceholder: 'Ime polja',
-        apply: 'Prijavi se',
-        doc: 'Izvedite ve膷 o strukturiranem izhodu',
-        promptPlaceholder: 'Opi拧i svoj JSON shemo...',
-        generatedResult: 'Generiran rezultat',
-        import: 'Uvoz iz JSON',
-        generate: 'Generirati',
-        resultTip: 'Tukaj je generiran rezultat. 膶e niste zadovoljni, se lahko vrnete in spremenite svoj poziv.',
-        stringValidations: 'Preverjanje nizov',
-        descriptionPlaceholder: 'Dodajte opis',
-        required: 'zahtevano',
-        addField: 'Dodaj polje',
-        resetDefaults: 'Ponastavi',
-      },
     },
     knowledgeRetrieval: {
       outputVars: {
@@ -896,33 +847,6 @@
       },
       queryVariable: 'Spremenljivka poizvedbe',
       knowledge: 'Znanje',
-      metadata: {
-        options: {
-          disabled: {
-            title: 'Onemogo膷eno',
-            subTitle: 'Ne omogo膷anje filtriranja metapodatkov',
-          },
-          automatic: {
-            desc: 'Samodejno ustvarite filtrirne pogoje za metapodatke na podlagi spremenljivke poizvedbe',
-            subTitle: 'Samodejno ustvarite filtrirne pogoje za metapodatke na podlagi uporabni拧kega poizvedovanja.',
-            title: 'Samodejno',
-          },
-          manual: {
-            title: 'Ro膷no',
-            subTitle: 'Ro膷no dodajte pogoje za filtriranje metapodatkov',
-          },
-        },
-        panel: {
-          title: 'Pogoji za filtriranje metapodatkov',
-          search: 'I拧膷i metapodatke',
-          placeholder: 'Vnesite vrednost',
-          select: 'Izberi spremenljivko...',
-          conditions: 'Pogoji',
-          datePlaceholder: 'Izberi 膷as...',
-          add: 'Dodaj pogoj',
-        },
-        title: 'Filtriranje metapodatkov',
-      },
     },
     http: {
       outputVars: {
@@ -1004,8 +928,6 @@
         'end with': 'Kon膷aj z',
         'not in': 'ni v',
         'not null': 'ni ni膷na',
-        'after': 'po',
-        'before': 'pred',
       },
       optionName: {
         video: 'Video',
@@ -1028,7 +950,6 @@
       notSetVariable: 'Prosimo, najprej nastavite spremenljivko',
       operator: 'Operaterja',
       or: 'ali',
-      condition: 'Pogoji',
     },
     variableAssigner: {
       type: {
@@ -1071,8 +992,6 @@
         'set': 'Nastaviti',
         'clear': 'Jasen',
         'over-write': 'Prepisati',
-        'remove-last': 'Odstrani zadnje',
-        'remove-first': 'Odstrani prvi',
       },
       'variables': 'Spremenljivke',
       'selectAssignedVariable': 'Izberite dodeljeno spremenljivko ...',
@@ -1208,107 +1127,6 @@
       inputVar: 'Vhodna spremenljivka',
       filterConditionComparisonValue: 'Vrednost pogoja filtra',
     },
-    agent: {
-      strategy: {
-        configureTipDesc: 'Po konfiguraciji agentske strategije bo to vozli拧膷e samodejno nalo啪ilo preostale konfiguracije. Strategija bo vplivala na mehanizem sklepanja z orodji v ve膷 korakih.',
-        tooltip: 'Razli膷ne agentske strategije dolo膷ajo, kako sistem na膷rtuje in izvaja klice orodij v ve膷 korakih',
-        shortLabel: 'Strategija',
-        configureTip: 'Prosimo, konfigurirajte agentsko strategijo.',
-        searchPlaceholder: 'Strategija iskalnega agenta',
-        label: 'Agentska strategija',
-        selectTip: 'Izberite agentsko strategijo',
-      },
-      pluginInstaller: {
-        installing: 'Namestitev',
-        install: 'Namestiti',
-      },
-      modelNotInMarketplace: {
-        desc: 'Ta model je name拧膷en iz lokalnega skladi拧膷a ali skladi拧膷a GitHub. Uporabite po namestitvi.',
-        title: 'Model ni name拧膷en',
-        manageInPlugins: 'Upravljanje v vti膷nikih',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'Name拧膷ena razli膷ica vti膷nika ne zagotavlja tega modela. Kliknite, 膷e 啪elite preklopiti med razli膷ico.',
-        title: 'Nepodprt model',
-        desc: 'Name拧膷ena razli膷ica vti膷nika ne zagotavlja tega modela.',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Ta model je zastarel',
-      },
-      outputVars: {
-        files: {
-          url: 'URL slike',
-          title: 'Datoteke, ki jih ustvari agent',
-          type: 'Vrsta podpore. Zdaj podpiramo samo sliko',
-          upload_file_id: 'Nalo啪i ID datoteke',
-          transfer_method: 'Na膷in prenosa. Vrednost je remote_url ali local_file',
-        },
-        json: 'JSON, ustvarjen z agentom',
-        text: 'Vsebina, ki jo ustvari agent',
-      },
-      checkList: {
-        strategyNotSelected: 'Strategija ni izbrana',
-      },
-      installPlugin: {
-        cancel: 'Odpovedati',
-        changelog: 'Dnevnik sprememb',
-        install: 'Namestiti',
-        title: 'Namesti vti膷nik',
-        desc: 'O namestitvi naslednjega vti膷nika',
-      },
-      strategyNotSet: 'Agentska strategija ni dolo膷ena',
-      modelNotSelected: 'Model ni izbran',
-      pluginNotInstalled: 'Ta vti膷nik ni name拧膷en',
-      toolNotAuthorizedTooltip: '{{orodje}} Ni poobla拧膷eno',
-      toolbox: 'Orodjarni',
-      tools: 'Orodja',
-      toolNotInstallTooltip: '{{tool}} ni name拧膷en',
-      strategyNotInstallTooltip: '{{strategy}} ni name拧膷en',
-      modelNotInstallTooltip: 'Ta model ni name拧膷en',
-      pluginNotFoundDesc: 'Ta vti膷nik je name拧膷en iz GitHuba. Prosimo, pojdite na Vti膷niki za ponovno namestitev',
-      maxIterations: 'Najve膷je 拧tevilo ponovitev',
-      notAuthorized: 'Ni poobla拧膷eno',
-      model: 'model',
-      learnMore: 'Izvedi ve膷',
-      unsupportedStrategy: 'Nepodprta strategija',
-      strategyNotFoundDescAndSwitchVersion: 'Name拧膷ena razli膷ica vti膷nika ne zagotavlja te strategije. Kliknite, 膷e 啪elite preklopiti med razli膷ico.',
-      strategyNotFoundDesc: 'Name拧膷ena razli膷ica vti膷nika ne zagotavlja te strategije.',
-      configureModel: 'Konfiguracija modela',
-      pluginNotInstalledDesc: 'Ta vti膷nik je name拧膷en iz GitHuba. Prosimo, pojdite na Vti膷niki za ponovno namestitev',
-      linkToPlugin: 'Povezava do vti膷nikov',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: 'Prekinjeno',
-        continueOnError: 'Nadaljuj ob napaki',
-        removeAbnormalOutput: 'Odstrani nenavadne izhode',
-      },
-      input: 'Vnos',
-      inputMode: 'Vnosni na膷in',
-      errorResponseMethod: 'Metoda odziva napake',
-      setLoopVariables: 'Nastavite spremenljivke znotraj obsega zanke',
-      output: 'Izhodna spremenljivka',
-      loop_one: '{{count}} Zanka',
-      exitConditionTip: 'Vozi膰 potrebuje vsaj eno izhodno pogoj.',
-      loopMaxCount: 'Maksimalno 拧tevilo zank',
-      deleteDesc: 'Izbris vozli拧膷a zanke bo odstranil vse otro拧ke vozli拧膷a.',
-      comma: ',',
-      loop_other: '{{count}} Zavoji',
-      currentLoop: 'Trenutni obrat',
-      variableName: 'Spremenljivka Ime',
-      deleteTitle: 'Izbri拧i vozli拧膷e zanke?',
-      error_one: '{{count}} Napaka',
-      totalLoopCount: 'Skupno 拧tevilo zank: {{count}}',
-      initialLoopVariables: 'Za膷etne spremenljivke zanke',
-      currentLoopCount: 'Trenutno 拧tevilo zank: {{count}}',
-      loopNode: 'Cikli膷ni vozli拧膷e',
-      loopVariables: 'Zanke Spremenljivke',
-      breakConditionTip: 'Lahko se sklicujete le na spremenljivke znotraj zank z zaklju膷nimi pogoji in pogovorne spremenljivke.',
-      breakCondition: 'Pogoji za prekinitev zanke',
-      finalLoopVariables: 'Kon膷ne zanke spremenljivke',
-      error_other: '{{count}} Napak',
-      loopMaxCountError: 'Prosimo, vnesite veljavno najve膷je 拧tevilo ponovitev, ki mora biti med 1 in {{maxCount}}',
-    },
   },
   variableReference: {
     noVarsForOperation: 'Spremenljivk ni na voljo za dodelitev z izbrano operacijo.',
@@ -1316,38 +1134,6 @@
     noAssignedVars: 'Ni razpolo啪ljivih dodeljenih spremenljivk',
     noAvailableVars: 'Ni spremenljivk, ki so na voljo',
     assignedVarsDescription: 'Dodeljene spremenljivke morajo biti zapisljive, kot so:',
-  },
-  versionHistory: {
-    filter: {
-      all: 'Vse',
-      empty: 'Ni najdene zgodovine razli膷ic, ki bi se ujemala.',
-      onlyShowNamedVersions: 'Prika啪i samo poimenovane razli膷ice',
-      reset: 'Ponastavi filter',
-      onlyYours: 'Samo tvoje',
-    },
-    editField: {
-      titleLengthLimit: 'Naslov ne sme presegati {{limit}} znakov',
-      title: 'Naslov',
-      releaseNotesLengthLimit: 'Opombe o razli膷ici ne smejo presegati {{limit}} znakov.',
-      releaseNotes: 'Opombe o izdaji',
-    },
-    action: {
-      updateFailure: 'Posodobitev razli膷ice ni uspela',
-      restoreFailure: 'Obnovitev razli膷ice ni uspela',
-      updateSuccess: 'Razli膷ica posodobljena',
-      restoreSuccess: 'Obnovljena razli膷ica',
-      deleteSuccess: 'Razli膷ica izbrisana',
-      deleteFailure: 'Brisanje razli膷ice ni uspelo',
-    },
-    releaseNotesPlaceholder: 'Opisujte, kaj se je spremenilo.',
-    latest: 'Najnovej拧i',
-    deletionTip: 'Izbris je nepovraten, prosim potrdite.',
-    defaultName: 'Nepodpisana razli膷ica',
-    nameThisVersion: 'Poimenujte to razli膷ico',
-    restorationTip: 'Po obnovitvi razli膷ice bo trenutni osnutek prepisan.',
-    currentDraft: 'Trenutni osnutek',
-    editVersionInfo: 'Uredi informacije o razli膷ici',
-    title: 'Razli膷ice',
   },
 }
 
diff --git a/i18n/th-TH/app-debug.ts b/i18n/th-TH/app-debug.ts
index 9286494..e69de29 100644
--- a/i18n/th-TH/app-debug.ts
+++ b/i18n/th-TH/app-debug.ts
@@ -1,4 +0,0 @@
-const translation = {
-}
-
-export default translation
diff --git a/i18n/th-TH/app-overview.ts b/i18n/th-TH/app-overview.ts
index 92b002e..e8bc0a6 100644
--- a/i18n/th-TH/app-overview.ts
+++ b/i18n/th-TH/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '喔佮箥喔侧斧喔權笖喔樴傅喔∴釜喔掂競喔竾喙佮笂喔椸笟喔笚',
         chatColorThemeInverted: '喔勦抚喙堗赋',
         invalidHexMessage: '喔勦箞喔侧笎喔侧笝喔复喔氞斧喔佮箘喔∴箞喔栢腹喔佮笗喙夃腑喔�',
-        invalidPrivacyPolicy: '喔ム复喔囙竵喙屶笝喙傕涪喔氞覆喔⑧竸喔о覆喔∴箑喔涏箛喔權釜喙堗抚喔權笗喔编抚喙勦浮喙堗笘喔灌竵喔曕箟喔竾 喙傕笡喔`笖喙冟笂喙夃弗喔脆竾喔佮箤喔椸傅喙堗笘喔灌竵喔曕箟喔竾喔傕付喙夃笝喔曕箟喔權笖喙夃抚喔� http 喔福喔粪腑 https',
         sso: {
           label: '喔佮覆喔`福喔编笟喔`腑喔囙竸喔о覆喔∴笘喔灌竵喔曕箟喔竾喔傕腑喔� SSO',
           title: '喙�喔о箛喔氞箒喔笡 SSO',
@@ -113,7 +112,6 @@
           operation: '喙�喔竵喔覆喔�',
         },
       },
-      launch: '喙�喔`阜喔涪喔權笗喙�',
     },
     apiInfo: {
       title: 'API 喔氞福喔脆竵喔侧福喙佮笟喙囙竵喙�喔笝喔斷箤',
diff --git a/i18n/th-TH/app.ts b/i18n/th-TH/app.ts
index b58812b..83d2151 100644
--- a/i18n/th-TH/app.ts
+++ b/i18n/th-TH/app.ts
@@ -164,10 +164,6 @@
       title: '喙傕腑喔涏复喔�',
       description: 'Opik 喙�喔涏箛喔權箒喔炧弗喔曕笩喔福喙屶浮喙傕腑喙�喔炧箞喔權笅喔福喙屶釜喔箥喔侧斧喔`副喔氞竵喔侧福喔涏福喔班箑喔∴复喔� 喔椸笖喔腑喔� 喙佮弗喔班笗喔`抚喔堗釜喔笟喙佮腑喔涏笧喔ム复喙�喔勦笂喔编笝 LLM',
     },
-    weave: {
-      title: '喔椸腑',
-      description: 'Weave 喙�喔涏箛喔權箒喔炧弗喔曕笩喔福喙屶浮喙傕腑喙�喔炧笝喔嬥腑喔`箤喔釜喔赤斧喔`副喔氞竵喔侧福喔涏福喔班箑喔∴复喔權笢喔� 喔椸笖喔腑喔� 喙佮弗喔班笗喔`抚喔堗釜喔笟喙佮腑喔涏笧喔ム复喙�喔勦笂喔编笝 LLM',
-    },
   },
   mermaid: {
     handDrawn: '喔о覆喔斷笖喙夃抚喔⑧浮喔粪腑',
@@ -188,23 +184,6 @@
     byCategories: '喔曕覆喔∴斧喔∴抚喔斷斧喔∴腹喙�',
   },
   showMyCreatedAppsOnly: '喙佮釜喔斷竾喙�喔夃笧喔侧赴喙佮腑喔涏笚喔掂箞喔夃副喔權釜喔`箟喔侧竾',
-  appSelector: {
-    placeholder: '喙�喔ム阜喔竵喙佮腑喔�...',
-    params: '喔炧覆喔`覆喔∴复喙�喔曕腑喔`箤喙佮腑喔�',
-    noParams: '喙勦浮喙堗笀喙嵿覆喙�喔涏箛喔權笗喙夃腑喔囙箖喔娻箟喔炧覆喔`覆喔∴复喙�喔曕腑喔`箤',
-    label: '喙佮腑喔�',
-  },
-  structOutput: {
-    notConfiguredTip: '喔⑧副喔囙箘喔∴箞喙勦笖喙夃竵喔赤斧喔權笖喔溹弗喔ム副喔炧笜喙屶笚喔掂箞喔∴傅喙傕竸喔`竾喔福喙夃覆喔�',
-    moreFillTip: '喙佮釜喔斷竾喔`赴喔斷副喔氞竵喔侧福喔嬥箟喔笝喔腹喔囙釜喔膏笖 10 喔`赴喔斷副喔�',
-    structuredTip: 'Structured Outputs 喙�喔涏箛喔權笩喔掂箑喔堗腑喔`箤喔椸傅喙堗笚喔赤箖喔箟喔∴副喙堗笝喙冟笀喔о箞喔侧箓喔∴箑喔斷弗喔堗赴喔福喙夃覆喔囙竸喔赤笗喔笟喔椸傅喙堗釜喔笖喔勦弗喙夃腑喔囙竵喔编笟 JSON Schema 喔椸傅喙堗竸喔膏笓喔佮赋喔笝喔斷箘喔о箟喙�喔浮喔�',
-    configure: '喔佮赋喔笝喔斷竸喙堗覆',
-    required: '喔椸傅喙堗笀喔赤箑喔涏箛喔�',
-    LLMResponse: 'LLM 喔曕腑喔氞釜喔權腑喔�',
-    structured: '喔∴傅喔`赴喙�喔氞傅喔⑧笟',
-    modelNotSupported: '喙傕浮喙�喔斷弗喙勦浮喙堗箘喔斷箟喔`副喔氞竵喔侧福喔笝喔编笟喔笝喔膏笝',
-    modelNotSupportedTip: '喙傕浮喙�喔斷弗喔涏副喔堗笀喔膏笟喔编笝喙勦浮喙堗福喔竾喔`副喔氞笩喔掂箑喔堗腑喔`箤喔權傅喙夃箒喔ム赴喔堗赴喔栢腹喔佮弗喔斷福喔班笖喔编笟喙�喔涏箛喔權竵喔侧福喔夃傅喔斷竸喔赤釜喔编箞喔囙箓喔斷涪喔副喔曕箓喔權浮喔编笗喔�.',
-  },
 }
 
 export default translation
diff --git a/i18n/th-TH/billing.ts b/i18n/th-TH/billing.ts
index c58d61c..abe8275 100644
--- a/i18n/th-TH/billing.ts
+++ b/i18n/th-TH/billing.ts
@@ -70,7 +70,6 @@
     messageRequest: {
       title: '喙�喔勦福喔斷复喔曕競喙夃腑喔勦抚喔侧浮',
       tooltip: '喙傕竸喔о笗喙夃覆喔佮覆喔`箑喔`傅喔⑧竵喙冟笂喙夃競喙夃腑喔勦抚喔侧浮喔箥喔侧斧喔`副喔氞箒喔溹笝喔曕箞喔侧竾喙� 喙傕笖喔⑧箖喔娻箟喙傕浮喙�喔斷弗 OpenAI (喔⑧竵喙�喔о箟喔� gpt4) 喔傕箟喔竸喔о覆喔∴笚喔掂箞喙�喔佮复喔權競喔掂笖喔堗箥喔侧竵喔编笖喔堗赴喙冟笂喙夃竸喔掂涪喙� OpenAI API 喔傕腑喔囙竸喔膏笓',
-      titlePerMonth: '{{count,number}} 喔傕箟喔竸喔о覆喔�/喙�喔斷阜喔笝',
     },
     annotatedResponse: {
       title: '喔傕傅喔斷笀喙嵿覆喔佮副喔斷箓喔勦抚喔曕箟喔侧竸喙嵿覆喔笜喔脆笟喔侧涪喔涏福喔班竵喔笟',
@@ -78,94 +77,27 @@
     },
     ragAPIRequestTooltip: '喔浮喔侧涪喔栢付喔囙笀喙嵿覆喔權抚喔權竵喔侧福喙�喔`傅喔⑧竵 API 喔椸傅喙堗箑喔`傅喔⑧竵喙冟笂喙夃箑喔夃笧喔侧赴喔勦抚喔侧浮喔覆喔∴覆喔`笘喙冟笝喔佮覆喔`笡喔`赴喔∴抚喔ム笢喔ム笎喔侧笝喔勦抚喔侧浮喔`腹喙夃競喔竾 Dify',
     receiptInfo: '喙�喔夃笧喔侧赴喙�喔堗箟喔侧競喔竾喔椸傅喔∴箒喔ム赴喔溹腹喙夃笖喔灌箒喔ム笚喔掂浮喙�喔椸箞喔侧笝喔编箟喔權笚喔掂箞喔覆喔∴覆喔`笘喔浮喔编竸喔`釜喔∴覆喔娻复喔佮箒喔ム赴喔斷腹喔傕箟喔浮喔灌弗喔佮覆喔`箑喔`傅喔⑧竵喙�喔佮箛喔氞箑喔囙复喔權箘喔斷箟',
-    cloud: '喔氞福喔脆竵喔侧福喔勦弗喔侧抚喔斷箤',
-    comparePlanAndFeatures: '喙�喔涏福喔掂涪喔氞箑喔椸傅喔⑧笟喙佮笢喔權箒喔ム赴喔熰傅喙�喔堗腑喔`箤',
-    apiRateLimit: '喔傕箟喔笀喔赤竵喔编笖喔副喔曕福喔侧竵喔侧福喙冟笂喙� API',
-    getStarted: '喙�喔`复喙堗浮喔曕箟喔�',
-    documents: '{{count,number}} 喙�喔竵喔覆喔`竸喔о覆喔∴福喔灌箟',
-    freeTrialTipPrefix: '喔ム竾喔椸赴喙�喔氞傅喔⑧笝喙佮弗喔班福喔编笟',
-    teamMember_one: '{{count,number}} 喔浮喔侧笂喔脆竵喔椸傅喔�',
-    unlimitedApiRate: '喙勦浮喙堗浮喔掂競喙夃腑喔堗赋喔佮副喔斷腑喔编笗喔`覆喔佮覆喔`箑喔`傅喔⑧竵 API',
-    self: '喙傕府喔笗喙屶笖喙夃抚喔⑧笗喔编抚喙�喔竾',
-    apiRateLimitUnit: '{{count,number}}/喔о副喔�',
-    teamMember_other: '{{count,number}} 喔浮喔侧笂喔脆竵喔椸傅喔�',
-    teamWorkspace: '{{count,number}} 喔椸傅喔∴笚喔赤竾喔侧笝',
-    priceTip: '喔曕箞喔笧喔粪箟喔權笚喔掂箞喔椸赋喔囙覆喔�/',
-    documentsTooltip: '喙傕竸喔о笗喙夃覆喔赋喔福喔编笟喔堗赋喔權抚喔權箑喔竵喔覆喔`笚喔掂箞喔權赋喙�喔傕箟喔侧笀喔侧竵喙佮斧喔ム箞喔囙競喙夃腑喔∴腹喔ム竸喔о覆喔∴福喔灌箟.',
-    documentsRequestQuota: '{{count,number}}/喔權覆喔椸傅 喔堗赋喔佮副喔� 喔副喔曕福喔侧竵喔侧福喔`箟喔竾喔傕腑喔傕箟喔浮喔灌弗',
-    apiRateLimitTooltip: '喔傕箟喔笀喔赤竵喔编笖喔佮覆喔`箖喔娻箟喔囙覆喔� API 喔堗赴喙冟笂喙夃竵喔编笟喔勦赋喔傕腑喔椸副喙夃竾喔浮喔斷笚喔掂箞喔椸赋喔溹箞喔侧笝 Dify API 喔`抚喔∴笘喔多竾喔佮覆喔`釜喔`箟喔侧竾喔傕箟喔竸喔о覆喔�, 喔佮覆喔`釜喔權笚喔權覆喙佮笂喔�, 喔佮覆喔`笖喔赤箑喔權复喔權竵喔侧福喙�喔о复喔`箤喔佮箓喔熰弗喔о箤 喙佮弗喔班竵喔侧福喔涏福喔班浮喔о弗喔溹弗喙�喔竵喔覆喔�.',
-    freeTrialTipSuffix: '喙勦浮喙堗笀喔赤箑喔涏箛喔權笗喙夃腑喔囙箖喔娻箟喔氞副喔曕福喙�喔勦福喔斷复喔�',
-    freeTrialTip: '喔椸笖喔ム腑喔囙箖喔娻箟喔囙覆喔權笩喔`傅 200 喔勦福喔编箟喔囙釜喔赤斧喔`副喔� OpenAI.',
-    annualBilling: '喔佮覆喔`箑喔`傅喔⑧竵喙�喔佮箛喔氞箑喔囙复喔權笡喔`赴喔堗赋喔涏傅',
-    documentsRequestQuotaTooltip: '喔`赴喔氞父喔堗赋喔權抚喔權福喔о浮喔傕腑喔囙竵喔侧福喔佮福喔班笚喔赤笚喔掂箞喙�喔о复喔`箤喔佮釜喙�喔涏笅喔覆喔∴覆喔`笘喔斷赋喙�喔權复喔權竵喔侧福喔曕箞喔斧喔權付喙堗竾喔權覆喔椸傅喔犩覆喔⑧箖喔權笎喔侧笝喔勦抚喔侧浮喔`腹喙� 喔`抚喔∴笘喔多竾喔佮覆喔`釜喔`箟喔侧竾喔娻父喔斷競喙夃腑喔∴腹喔� 喔佮覆喔`弗喔� 喔佮覆喔`腑喔编笡喙�喔斷笗 喔佮覆喔`腑喔编笡喙傕斧喔ム笖喙�喔竵喔覆喔� 喔佮覆喔`笡喔`副喔氞箑喔涏弗喔掂箞喔⑧笝 喔佮覆喔`箑喔佮箛喔氞笘喔侧抚喔� 喙佮弗喔班竵喔侧福喔腑喔氞笘喔侧浮喔愢覆喔權竸喔о覆喔∴福喔灌箟 喙�喔∴笗喔`复喔佮笝喔掂箟喔栢腹喔佮箖喔娻箟喙冟笝喔佮覆喔`笡喔`赴喙�喔∴复喔權笡喔`赴喔复喔椸笜喔脆笭喔侧笧喔傕腑喔囙竸喔赤競喔笎喔侧笝喔勦抚喔侧浮喔`腹喙� 喔曕副喔о腑喔⑧箞喔侧竾喙�喔娻箞喔� 喔覆喔佮笢喔灌箟喙冟笂喙� Sandbox 喔椸赋喔佮覆喔`笚喔斷釜喔笟喔佮覆喔`笗喔� 10 喔勦福喔编箟喔囙笗喙堗腑喙�喔權阜喙堗腑喔囙笭喔侧涪喙冟笝喔笝喔多箞喔囙笝喔侧笚喔� 喙�喔о复喔`箤喔佮釜喙�喔涏笅喔傕腑喔囙笧喔о竵喙�喔傕覆喔堗赴喔栢腹喔佮笀喔赤竵喔编笖喔娻副喙堗抚喔勦福喔侧抚喙冟笝喔佮覆喔`笖喔赤箑喔權复喔權竵喔侧福喔曕箞喔箘喔涏笝喔掂箟喙冟笝喔權覆喔椸傅喔栢副喔斷箘喔�: 喔佮覆喔`釜喔`箟喔侧竾喔娻父喔斷競喙夃腑喔∴腹喔� 喔佮覆喔`弗喔� 喔佮覆喔`腑喔编笡喙�喔斷笗 喔福喔粪腑喔佮覆喔`腑喔编笡喙傕斧喔ム笖喔福喔粪腑喔涏福喔编笟喙�喔涏弗喔掂箞喔⑧笝喙�喔竵喔覆喔�.',
   },
   plans: {
     sandbox: {
       name: '喔佮福喔班笟喔班笚喔`覆喔�',
       description: '喔椸笖喔ム腑喔囙箖喔娻箟 GPT 喔熰福喔� 200 喔勦福喔编箟喔�',
       includesTitle: '喔∴傅:',
-      for: '喔椸笖喔ム腑喔囙箖喔娻箟喔熰福喔掂競喔竾喔勦抚喔侧浮喔覆喔∴覆喔`笘喔弗喔编竵',
     },
     professional: {
       name: '喔∴阜喔腑喔侧笂喔掂笧',
       description: '喔箥喔侧斧喔`副喔氞笟喔膏竸喔勦弗喙佮弗喔班笚喔掂浮喔傕笝喔侧笖喙�喔ム箛喔佮箑喔炧阜喙堗腑喔涏弗喔斷弗喙囙腑喔佮笧喔ム副喔囙竾喔侧笝喔∴覆喔佮競喔多箟喔權箖喔權福喔侧竸喔侧涪喙堗腑喔∴箑喔⑧覆',
       includesTitle: '喔椸父喔佮腑喔⑧箞喔侧竾喙冟笝喙佮笢喔權笩喔`傅 喔`抚喔∴笘喔多竾:',
-      for: '喔赋喔福喔编笟喔權副喔佮笧喔编笒喔權覆喔椸傅喙堗箑喔涏箛喔權腑喔脆釜喔`赴/喔椸傅喔∴競喔權覆喔斷箑喔ム箛喔�',
     },
     team: {
       name: '喔椸傅喔�',
       description: '喔椸箥喔侧竾喔侧笝喔`箞喔о浮喔佮副喔權腑喔⑧箞喔侧竾喙勦福喙夃競喔掂笖喔堗箥喔侧竵喔编笖喙佮弗喔班箑喔炧弗喔脆笖喙�喔炧弗喔脆笝喙勦笡喔佮副喔氞笡喔`赴喔复喔椸笜喔脆笭喔侧笧喔`赴喔斷副喔氞釜喔灌竾喔父喔�',
       includesTitle: '喔椸父喔佮腑喔⑧箞喔侧竾喙冟笝喙佮笢喔� Professional 喔`抚喔∴笘喔多竾:',
-      for: '喔赋喔福喔编笟喔椸傅喔∴競喔權覆喔斷竵喔ム覆喔�',
     },
     enterprise: {
       name: '喔佮复喔堗竵喔侧福',
       description: '喔`副喔氞竸喔о覆喔∴釜喔侧浮喔侧福喔栢箒喔ム赴喔佮覆喔`釜喔權副喔氞釜喔權父喔權箑喔曕箛喔∴福喔灌笡喙佮笟喔氞釜喙嵿覆喔福喔编笟喔`赴喔氞笟喔椸傅喙堗釜喙嵿覆喔勦副喔嵿笗喙堗腑喔犩覆喔`竵喔脆笀喔傕笝喔侧笖喙冟斧喔嵿箞',
       includesTitle: '喔椸父喔佮腑喔⑧箞喔侧竾喙冟笝喙佮笢喔權笚喔掂浮 喔`抚喔∴笘喔多竾:',
-      features: {
-        8: '喔佮覆喔`釜喔權副喔氞釜喔權父喔權笚喔侧竾喙�喔椸竸喔權复喔勦福喔班笖喔编笟喔∴阜喔腑喔侧笂喔掂笧',
-        2: '喔勦父喔撪釜喔∴笟喔编笗喔脆笧喔脆箑喔ㄠ俯喔傕腑喔囙腑喔囙竸喙屶竵喔�',
-        3: '喔弗喔侧涪喔炧阜喙夃笝喔椸傅喙堗笚喔赤竾喔侧笝喙佮弗喔班竵喔侧福喔氞福喔脆斧喔侧福喔堗副喔斷竵喔侧福喔竾喔勦箤喔佮福',
-        4: 'SSO',
-        6: '喔勦抚喔侧浮喔涏弗喔笖喔犩副喔⑧箒喔ム赴喔佮覆喔`竸喔о笟喔勦父喔∴競喔编箟喔權釜喔灌竾',
-        5: '喙�喔堗福喔堗覆喔傕箟喔笗喔佮弗喔囙笟喔`复喔佮覆喔� (SLA) 喙傕笖喔� Dify Partners',
-        7: '喔佮覆喔`腑喔编笡喙�喔斷笗喙佮弗喔班竵喔侧福喔氞赋喔`父喔囙福喔编竵喔┼覆喙傕笖喔� Dify 喔涪喙堗覆喔囙箑喔涏箛喔權笚喔侧竾喔佮覆喔�',
-        1: '喙冟笟喔笝喔膏笉喔侧笗喔佮覆喔`箖喔娻箟喙�喔娻复喔囙笧喔侧笓喔脆笂喔⑧箤',
-        0: '喙傕笅喔ム腹喔娻副喔權竵喔侧福喔涏福喔编笟喙冟笂喙夃笚喔掂箞喔∴傅喔傕笝喔侧笖喙冟斧喔嵿箞喙佮弗喔班浮喔掂竸喔膏笓喔犩覆喔炧福喔班笖喔编笟喔竾喔勦箤喔佮福',
-      },
-      btnText: '喔曕复喔斷笗喙堗腑喔澿箞喔侧涪喔傕覆喔�',
-      price: '喔椸傅喙堗竵喔赤斧喔權笖喙�喔竾',
-      for: '喔赋喔福喔编笟喔椸傅喔∴競喔權覆喔斷箖喔笉喙�',
-      priceTip: '喔佮覆喔`箑喔`傅喔⑧竵喙�喔佮箛喔氞箑喔囙复喔權笡喔`赴喔堗赋喔涏傅喙�喔椸箞喔侧笝喔编箟喔�',
-    },
-    community: {
-      features: {
-        2: '喔涏笍喔脆笟喔编笗喔脆笗喔侧浮喙冟笟喔笝喔膏笉喔侧笗喙傕腑喙�喔炧箞喔權笅喔福喙屶釜喔傕腑喔� Dify',
-        0: '喔熰傅喙�喔堗腑喔`箤喔弗喔编竵喔椸副喙夃竾喔浮喔斷笘喔灌竵喔涏弗喙堗腑喔⑧腑喔竵喔犩覆喔⑧箖喔曕箟喔椸傅喙堗箑喔佮箛喔氞釜喔侧笜喔侧福喔撪赴',
-        1: '喔炧阜喙夃笝喔椸傅喙堗笚喔赤竾喔侧笝喙�喔斷傅喔⑧抚',
-      },
-      name: '喔娻父喔∴笂喔�',
-      price: '喔熰福喔�',
-      includesTitle: '喔勦父喔撪釜喔∴笟喔编笗喔脆箑喔福喔�:',
-      description: '喔赋喔福喔编笟喔溹腹喙夃箖喔娻箟喔箞喔о笝喔氞父喔勦竸喔� 喔椸傅喔∴競喔權覆喔斷箑喔ム箛喔� 喔福喔粪腑喙傕竸喔`竾喔佮覆喔`笚喔掂箞喙勦浮喙堗箖喔娻箞喙�喔娻复喔囙笧喔侧笓喔脆笂喔⑧箤',
-      btnText: '喙�喔`复喙堗浮喔曕箟喔權竵喔编笟喔娻父喔∴笂喔�',
-      for: '喔赋喔福喔编笟喔溹腹喙夃箖喔娻箟喔箞喔о笝喔氞父喔勦竸喔� 喔椸傅喔∴競喔權覆喔斷箑喔ム箛喔� 喔福喔粪腑喙傕竸喔`竾喔佮覆喔`笚喔掂箞喙勦浮喙堗箖喔娻箞喙�喔娻复喔囙笧喔侧笓喔脆笂喔⑧箤',
-    },
-    premium: {
-      features: {
-        3: '喔佮覆喔`釜喔權副喔氞釜喔權父喔權笚喔侧竾喔傅喙�喔∴弗喙佮弗喔班箒喔娻笚喔椸傅喙堗浮喔掂竸喔о覆喔∴釜喔赤竸喔编笉',
-        1: '喔炧阜喙夃笝喔椸傅喙堗笚喔赤竾喔侧笝喙�喔斷傅喔⑧抚',
-        2: '喔佮覆喔`笡喔`副喔氞箒喔曕箞喔囙箓喔ム箓喔佮箟喙佮弗喔班箒喔氞福喔權笖喔脆箟喔囙競喔竾喙�喔о箛喔氞箒喔笡',
-        0: '喔佮覆喔`笀喔编笖喔佮覆喔`竸喔о覆喔∴笝喙堗覆喙�喔娻阜喙堗腑喔栢阜喔笖喙夃抚喔⑧笗喔權箑喔竾喙傕笖喔⑧笢喔灌箟喙冟斧喙夃笟喔`复喔佮覆喔`竸喔ム覆喔о笖喙屶笗喙堗覆喔� 喙�',
-      },
-      priceTip: '喔复喔囙笗喔侧浮喔曕弗喔侧笖喔勦弗喔侧抚喔斷箤',
-      for: '喔赋喔福喔编笟喔竾喔勦箤喔佮福喙佮弗喔班笚喔掂浮喔傕笝喔侧笖喔佮弗喔侧竾',
-      btnText: '喔`副喔氞笧喔`傅喙�喔∴傅喔⑧浮喙冟笝',
-      includesTitle: '喔椸父喔佮腑喔⑧箞喔侧竾喔堗覆喔佮笂喔膏浮喔娻笝 喔`抚喔∴笘喔多竾:',
-      description: '喔赋喔福喔编笟喔竾喔勦箤喔佮福喙佮弗喔班笚喔掂浮喔傕笝喔侧笖喔佮弗喔侧竾',
-      name: '喔炧福喔掂箑喔∴傅喔⑧浮',
-      comingSoon: '喔佮覆喔`釜喔權副喔氞釜喔權父喔� Microsoft Azure 喙佮弗喔� Google Cloud 喔佮赋喔ム副喔囙浮喔侧箑喔`箛喔о箚 喔權傅喙�',
-      price: '喔傕涪喔侧涪喙勦笖喙�',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: '喔副喔涏箑喔佮福喔斷箒喔溹笝喔傕腑喔囙竸喔膏笓喙�喔涏箛喔�',
     fullTipLine2: '喔福喙夃覆喔囙箒喔笡喙�喔炧复喙堗浮喙�喔曕复喔�',
-    contactUs: '喔曕复喔斷笗喙堗腑喙�喔`覆',
-    fullTip2: '喔栢付喔囙競喔掂笖喔堗赋喔佮副喔斷競喔竾喙佮笢喔權箒喔ム箟喔�',
-    fullTip1: '喔副喔涏箑喔佮福喔斷箑喔炧阜喙堗腑喔福喙夃覆喔囙箒喔笡喙�喔炧复喙堗浮喙�喔曕复喔�',
-    fullTip1des: '喔勦父喔撪箘喔斷箟喔栢付喔囙競喔掂笖 喔堗赋喔佮副喔� 喔傕腑喔囙竵喔侧福喔福喙夃覆喔囙箒喔笡喙冟笝喙佮笢喔權笝喔掂箟喙佮弗喙夃抚',
-    fullTip2des: '喙佮笝喔班笝喔赤箖喔箟喔椸赋喔勦抚喔侧浮喔赴喔覆喔斷箒喔笡喔炧弗喔脆箑喔勦笂喔编笝喔椸傅喙堗箘喔∴箞喙冟笂喙夃竾喔侧笝喙�喔炧阜喙堗腑喙�喔炧复喙堗浮喔佮覆喔`箖喔娻箟喔囙覆喔� 喔福喔粪腑喔曕复喔斷笗喙堗腑喙�喔`覆',
   },
   annotatedResponse: {
     fullTipLine1: '喔副喔涏箑喔佮福喔斷箒喔溹笝喔傕腑喔囙竸喔膏笓喙�喔涏箛喔�',
     fullTipLine2: '喙冟釜喙堗竸喙嵿覆喔笜喔脆笟喔侧涪喔涏福喔班竵喔笟喔佮覆喔`釜喔權笚喔權覆喙�喔炧复喙堗浮喙�喔曕复喔�',
     quotaTitle: '喙傕竸喔о笗喙夃覆喔曕腑喔氞竵喔ム副喔氞竸喙嵿覆喔笜喔脆笟喔侧涪喔涏福喔班竵喔笟',
   },
-  usagePage: {
-    buildApps: '喔福喙夃覆喔囙箒喔笡',
-    annotationQuota: '喙傕竸喔о笗喔侧竵喔侧福喔涏福喔班竵喔侧辅',
-    documentsUploadQuota: '喙傕竸喔о笗喙夃覆喔佮覆喔`腑喔编笡喙傕斧喔ム笖喙�喔竵喔覆喔�',
-    teamMembers: '喔浮喔侧笂喔脆竵喙冟笝喔椸傅喔�',
-    vectorSpace: '喔佮覆喔`笀喔编笖喙�喔佮箛喔氞競喙夃腑喔∴腹喔ム竸喔о覆喔∴福喔灌箟',
-    vectorSpaceTooltip: '喙�喔竵喔覆喔`笚喔掂箞喙冟笂喙夃箓喔浮喔斷竵喔侧福喔堗副喔斷笚喔赤笖喔编笂喔權傅喔勦父喔撪笭喔侧笧喔腹喔囙笀喔班箖喔娻箟喔椸福喔编笧喔⑧覆喔佮福喙�喔佮箛喔氞競喙夃腑喔∴腹喔ム竸喔о覆喔∴福喔灌箟 喙�喔∴阜喙堗腑喔佮覆喔`箑喔佮箛喔氞競喙夃腑喔∴腹喔ム竸喔о覆喔∴福喔灌箟喔栢付喔囙競喔掂笖喔堗赋喔佮副喔� 喙�喔竵喔覆喔`箖喔浮喙堗笀喔班箘喔∴箞喔覆喔∴覆喔`笘喔副喔涏箓喔弗喔斷箘喔斷箟.',
-  },
-  teamMembers: '喔浮喔侧笂喔脆竵喙冟笝喔椸傅喔�',
 }
 
 export default translation
diff --git a/i18n/th-TH/common.ts b/i18n/th-TH/common.ts
index 9b72257..ab6def8 100644
--- a/i18n/th-TH/common.ts
+++ b/i18n/th-TH/common.ts
@@ -50,14 +50,6 @@
     skip: '喙�喔`阜喔�',
     submit: '喔箞喔�',
     imageCopied: '喔犩覆喔炧笚喔掂箞喔勦副喔斷弗喔竵',
-    deleteApp: '喔ム笟喙佮腑喔�',
-    copied: '喔勦副喔� 喔ム腑喔�',
-    viewDetails: '喔斷腹喔`覆喔⑧弗喔班箑喔傅喔⑧笖',
-    in: '喙冟笝',
-    format: '喔`腹喔涏箒喔氞笟',
-    downloadFailed: '喔斷覆喔о笝喙屶箓喔弗喔斷弗喙夃浮喙�喔弗喔� 喔佮福喔膏笓喔侧弗喔竾喔傅喔佮竸喔`副喙夃竾喙冟笝喔犩覆喔⑧斧喔ム副喔�.',
-    more: '喔∴覆喔佮競喔多箟喔�',
-    downloadSuccess: '喔斷覆喔о笝喙屶箓喔弗喔斷箑喔福喙囙笀喔复喙夃笝喙佮弗喙夃抚.',
   },
   errorMsg: {
     fieldRequired: '{{field}} 喙�喔涏箛喔權釜喔脆箞喔囙笀喙嵿覆喙�喔涏箛喔�',
@@ -129,8 +121,6 @@
       Custom: '喔樴福喔`浮喙�喔權傅喔⑧浮',
     },
     addMoreModel: '喙勦笡喔椸傅喙堗竵喔侧福喔曕副喙夃竾喔勦箞喔侧箑喔炧阜喙堗腑喙�喔炧复喙堗浮喔`父喙堗笝喙�喔炧复喙堗浮喙�喔曕复喔�',
-    settingsLink: '喔佮覆喔`笗喔编箟喔囙竸喙堗覆喔溹腹喙夃箖喔箟喔氞福喔脆竵喔侧福喙傕浮喙�喔斷弗',
-    capabilities: '喔勦抚喔侧浮喔覆喔∴覆喔`笘喔弗喔侧涪喔`腹喔涏箒喔氞笟',
   },
   menus: {
     status: 'Beta',
@@ -143,7 +133,6 @@
     newApp: '喙佮腑喔炧箖喔浮喙�',
     newDataset: '喔福喙夃覆喔囙竸喔о覆喔∴福喔灌箟',
     tools: '喙�喔勦福喔粪箞喔竾 喔∴阜喔�',
-    exploreMarketplace: '喔箥喔侧福喔о笀 Marketplace',
   },
   userProfile: {
     settings: '喔佮覆喔`笗喔编箟喔囙竸喙堗覆',
@@ -156,9 +145,6 @@
     community: '喔娻父喔∴笂喔�',
     about: '喔涏福喔班浮喔侧笓',
     logout: '喔腑喔佮笀喔侧竵喔`赴喔氞笟',
-    github: 'GitHub',
-    compliance: '喔佮覆喔`笡喔忇复喔氞副喔曕复喔曕覆喔∴競喙夃腑喔佮赋喔笝喔�',
-    support: '喔佮覆喔`釜喔權副喔氞釜喔權父喔�',
   },
   settings: {
     accountGroup: '喔椸副喙堗抚喙勦笡',
@@ -172,7 +158,6 @@
     dataSource: '喙佮斧喔ム箞喔囙競喙夃腑喔∴腹喔�',
     plugin: '喔涏弗喔编箠喔佮腑喔脆笝',
     apiBasedExtension: '喔箞喔о笝喔傕涪喔侧涪 API',
-    generalGroup: '喔椸副喙堗抚喙勦笡',
   },
   account: {
     account: '喔氞副喔嵿笂喔�',
@@ -208,9 +193,6 @@
     feedbackLabel: '喔氞腑喔佮箑喔`覆喔о箞喔侧笚喙嵿覆喙勦浮喔勦父喔撪笘喔多竾喔ム笟喔氞副喔嵿笂喔掂競喔竾喔勦父喔�',
     feedbackPlaceholder: '喙�喔福喔脆浮',
     deleteSuccessTip: '喔氞副喔嵿笂喔掂競喔竾喔勦父喔撪笗喙夃腑喔囙箖喔娻箟喙�喔о弗喔侧箖喔權竵喔侧福喔ム笟喙冟斧喙夃箑喔福喙囙笀喔复喙夃笝 喙�喔`覆喔堗赴喔箞喔囙腑喔掂箑喔∴弗喔栢付喔囙竸喔膏笓喙�喔∴阜喙堗腑喔椸父喔佮腑喔⑧箞喔侧竾喙�喔福喙囙笀喔复喙夃笝',
-    workspaceIcon: '喙勦腑喔勦腑喔權笧喔粪箟喔權笚喔掂箞喔椸赋喔囙覆喔�',
-    editWorkspaceInfo: '喙佮竵喙夃箘喔傕競喙夃腑喔∴腹喔ム箑喔о复喔`箤喔佮釜喙�喔涏笅',
-    workspaceName: '喔娻阜喙堗腑喔炧阜喙夃笝喔椸傅喙堗笚喔赤竾喔侧笝',
   },
   members: {
     team: '喔椸傅喔�',
@@ -303,7 +285,6 @@
       usedUp: '喙傕竸喔о笗喙夃覆喔椸笖喔ム腑喔囙箖喔娻箟喔浮喔� 喙�喔炧复喙堗浮喔溹腹喙夃箖喔箟喔氞福喔脆竵喔侧福喙傕浮喙�喔斷弗喔傕腑喔囙笗喔编抚喙�喔竾',
       useYourModel: '喔涏副喔堗笀喔膏笟喔编笝喙冟笂喙夃笢喔灌箟喙冟斧喙夃笟喔`复喔佮覆喔`箓喔∴箑喔斷弗喔傕腑喔囙笗喔编抚喙�喔竾',
       close: '喔涏复喔�',
-      trialQuotaTip: '喙傕竸喔о笗喙夃覆喔佮覆喔`笚喔斷弗喔竾喙冟笂喙� Anthropic 喔傕腑喔囙竸喔膏笓喔堗赴喔浮喔斷腑喔侧涪喔膏箖喔權抚喔编笝喔椸傅喙� 2025/03/11 喙佮弗喔班笀喔班箘喔∴箞喔覆喔∴覆喔`笘喙冟笂喙夃竾喔侧笝喙勦笖喙夃腑喔掂竵喔曕箞喔箘喔涏斧喔ム副喔囙笀喔侧竵喔權副喙夃笝喙傕笡喔`笖喙冟笂喙夃浮喔编笝喙冟斧喙夃笚喔编笝喙�喔о弗喔�',
     },
     anthropic: {
       using: '喔勦抚喔侧浮喔覆喔∴覆喔`笘喙冟笝喔佮覆喔`笣喔编竾喔佮箥喔侧弗喔编竾喙冟笂喙�',
@@ -415,12 +396,6 @@
     loadBalancingLeastKeyWarning: '喔覆喔佮笗喙夃腑喔囙竵喔侧福喙�喔涏复喔斷箖喔娻箟喔囙覆喔權竵喔侧福喔涏福喔编笟喔浮喔斷父喔ム箓喔弗喔� 喔曕箟喔竾喙�喔涏复喔斷箖喔娻箟喔囙覆喔權竸喔掂涪喙屶腑喔⑧箞喔侧竾喔權箟喔涪 2 喔涏父喙堗浮',
     loadBalancingInfo: '喔曕覆喔∴竸喙堗覆喙�喔`复喙堗浮喔曕箟喔� 喔佮覆喔`笡喔`副喔氞釜喔∴笖喔膏弗喔犩覆喔`赴喔囙覆喔權笀喔班箖喔娻箟喔佮弗喔⑧父喔椸笜喙屶箒喔氞笟 Round-robin 喔覆喔佮箑喔涏复喔斷箖喔娻箟喔囙覆喔權竵喔侧福喔堗箥喔侧竵喔编笖喔副喔曕福喔� 喔堗赴喔∴傅喔佮覆喔`箖喔娻箟喔`赴喔⑧赴喙�喔о弗喔侧竸喔灌弗喔斷覆喔о笝喙� 1 喔權覆喔椸傅',
     upgradeForLoadBalancing: '喔副喔涏箑喔佮福喔斷箒喔溹笝喔傕腑喔囙竸喔膏笓喙�喔炧阜喙堗腑喙�喔涏复喔斷箖喔娻箟喔囙覆喔權竵喔侧福喔涏福喔编笟喔浮喔斷父喔ム箓喔弗喔�',
-    emptyProviderTip: '喙傕笡喔`笖喔曕复喔斷笗喔编箟喔囙笢喔灌箟喙冟斧喙夃笟喔`复喔佮覆喔`箓喔∴箑喔斷弗喔佮箞喔笝',
-    discoverMore: '喔斷腹喙�喔炧复喙堗浮喙�喔曕复喔∴箖喔�',
-    emptyProviderTitle: '喙勦浮喙堗箘喔斷箟喔曕副喙夃竾喔勦箞喔侧笢喔灌箟喙冟斧喙夃笟喔`复喔佮覆喔`箓喔∴箑喔斷弗',
-    toBeConfigured: '喔曕箟喔竾喔佮箥喔侧斧喔權笖喔勦箞喔�',
-    installProvider: '喔曕复喔斷笗喔编箟喔囙笢喔灌箟喙冟斧喙夃笟喔`复喔佮覆喔`箓喔∴箑喔斷弗',
-    configureTip: '喔曕副喙夃竾喔勦箞喔� api-key 喔福喔粪腑喙�喔炧复喙堗浮喙傕浮喙�喔斷弗喙�喔炧阜喙堗腑喙冟笂喙�',
   },
   dataSource: {
     add: '喙�喔炧复喙堗浮喙佮斧喔ム箞喔囙競喙夃腑喔∴腹喔�',
@@ -464,7 +439,7 @@
   apiBasedExtension: {
     title: '喔箞喔о笝喔傕涪喔侧涪 API 喙冟斧喙夃竵喔侧福喔堗副喔斷竵喔侧福 API 喙佮笟喔氞福喔о浮喔ㄠ腹喔權涪喙� 喔椸箥喔侧箖喔箟喔佮覆喔`竵喙嵿覆喔笝喔斷竸喙堗覆喔囙箞喔侧涪喔傕付喙夃笝喙�喔炧阜喙堗腑喙冟斧喙夃箖喔娻箟喔囙覆喔權箘喔斷箟喔囙箞喔侧涪喙冟笝喙佮腑喔涏笧喔ム复喙�喔勦笂喔编笝喔傕腑喔� Dify',
     link: '喙�喔`傅喔⑧笝喔`腹喙夃抚喔脆笜喔掂笧喔编笒喔權覆喔箞喔о笝喔傕涪喔侧涪 API 喔傕腑喔囙竸喔膏笓喙�喔竾',
-    linkUrl: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: '喙�喔炧复喙堗浮喔箞喔о笝喔傕涪喔侧涪 API',
     selector: {
       title: '喔箞喔о笝喔傕涪喔侧涪 API',
@@ -550,9 +525,6 @@
       hitScore: '喔勦赴喙佮笝喔權竵喔侧福喔斷付喔囙競喙夃腑喔∴腹喔�:',
     },
     inputPlaceholder: '喔炧腹喔斷竸喔膏涪喔佮副喔氞笟喔笚',
-    thought: '喔勦抚喔侧浮喔勦复喔�',
-    thinking: '喔勦抚喔侧浮喔勦复喔�   ',
-    resend: '喔箞喔囙腑喔掂竵喔勦福喔编箟喔�',
   },
   promptEditor: {
     placeholder: '喙�喔傕傅喔⑧笝喔勦箥喔侧笧喔`箟喔浮喔椸箤喔傕腑喔囙竸喔膏笓喔椸傅喙堗笝喔掂箞 喔涏箟喔笝 \'{\' 喙�喔炧阜喙堗腑喙佮笚喔`竵喔曕副喔о箒喔涏福 喔涏箟喔笝 \'/\' 喙�喔炧阜喙堗腑喙佮笚喔`竵喔氞弗喙囙腑喔佮箑喔權阜喙夃腑喔覆喔炧福喙夃腑喔∴笚喙�',
@@ -642,25 +614,6 @@
   },
   pagination: {
     perPage: '喔`覆喔⑧竵喔侧福喔曕箞喔斧喔權箟喔�',
-  },
-  theme: {
-    dark: '喔∴阜喔�',
-    theme: '喔樴傅喔�',
-    auto: '喔`赴喔氞笟',
-    light: '喙佮釜喔�',
-  },
-  compliance: {
-    professionalUpgradeTooltip: '喙冟笂喙夃箘喔斷箟喙�喔夃笧喔侧赴喙佮笢喔權笚喔掂浮喔福喔粪腑喔腹喔囙竵喔о箞喔侧箑喔椸箞喔侧笝喔编箟喔�.',
-    gdpr: 'GDPR DPA',
-    sandboxUpgradeTooltip: '喔∴傅喙冟斧喙夃笟喔`复喔佮覆喔`箑喔夃笧喔侧赴喔佮副喔氞箒喔溹笝喔佮覆喔`箖喔娻箟喔囙覆喔權箒喔氞笟喔∴阜喔腑喔侧笂喔掂笧喔福喔粪腑喔椸傅喔∴箑喔椸箞喔侧笝喔编箟喔�.',
-    iso27001: '喔佮覆喔`福喔编笟喔`腑喔� ISO 27001:2022',
-    soc2Type2: '喔`覆喔⑧竾喔侧笝 SOC 2 Type II',
-    soc2Type1: '喔`覆喔⑧竾喔侧笝 SOC 2 喔涏福喔班箑喔犩笚 I',
-  },
-  imageInput: {
-    dropImageHere: '喔о覆喔囙笭喔侧笧喔傕腑喔囙竸喔膏笓喔椸傅喙堗笝喔掂箞 喔福喔粪腑',
-    browse: '喔椸箞喔竾喙�喔о箛喔�',
-    supportedFormats: '喔`腑喔囙福喔编笟 PNG, JPG, JPEG, WEBP 喙佮弗喔� GIF',
   },
 }
 
diff --git a/i18n/th-TH/custom.ts b/i18n/th-TH/custom.ts
index c5ae3e7..dfed65c 100644
--- a/i18n/th-TH/custom.ts
+++ b/i18n/th-TH/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '喔副喔涏箑喔佮福喔斷箒喔溹笝喔傕腑喔囙竸喔膏笓喙�喔涏箛喔�',
     suffix: '喔涏福喔编笟喙佮笗喙堗竾喙佮笟喔`笝喔斷箤喔傕腑喔囙竸喔膏笓',
-    des: '喔副喔涏箑喔佮福喔斷箒喔溹笝喔傕腑喔囙竸喔膏笓喙�喔炧阜喙堗腑喔涏福喔编笟喙佮笗喙堗竾喙佮笟喔`笝喔斷箤喔傕腑喔囙竸喔膏笓',
-    title: '喔副喔涏箑喔佮福喔斷箒喔溹笝喔傕腑喔囙竸喔膏笓',
   },
   webapp: {
     title: '喔涏福喔编笟喙佮笗喙堗竾喙佮笟喔`笝喔斷箤 WebApp',
diff --git a/i18n/th-TH/dataset-creation.ts b/i18n/th-TH/dataset-creation.ts
index e6081a9..8beea5e 100644
--- a/i18n/th-TH/dataset-creation.ts
+++ b/i18n/th-TH/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '喔福喙夃覆喔囙竸喔о覆喔∴福喔灌箟',
       update: '喙�喔炧复喙堗浮喔傕箟喔浮喔灌弗',
-      fallbackRoute: '喔勦抚喔侧浮喔`腹喙�',
     },
     one: '喙�喔ム阜喔竵喙佮斧喔ム箞喔囙競喙夃腑喔∴腹喔�',
     two: '喔佮覆喔`笡喔`赴喔∴抚喔ム笢喔ム箒喔ム赴喔佮覆喔`笚喙嵿覆喔勦抚喔侧浮喔赴喔覆喔斷競喙夃腑喔勦抚喔侧浮喔ム箞喔о竾喔笝喙夃覆',
@@ -32,7 +31,7 @@
     },
     uploader: {
       title: '喔副喔涏箓喔弗喔斷箘喔熰弗喙�',
-      button: '喔ム覆喔佮箒喔ム赴喔о覆喔囙箘喔熰弗喙屶斧喔`阜喔箓喔熰弗喙�喔斷腑喔`箤喔福喔粪腑',
+      button: '喔ム覆喔佮箒喔ム赴喔о覆喔囙箘喔熰弗喙� 喔福喔粪腑',
       browse: '喙�喔ム箛喔�',
       tip: '喔`腑喔囙福喔编笟 {{supportTypes}} 喔腹喔囙釜喔膏笖 {{size}}MB 喙佮笗喙堗弗喔班笗喔编抚',
       validation: {
@@ -71,7 +70,7 @@
       run: '喔о复喙堗竾',
       firecrawlTitle: '喙佮涪喔佮箑喔權阜喙夃腑喔覆喙�喔о箛喔氞笖喙夃抚喔� 馃敟Firecrawl',
       firecrawlDoc: '喙�喔竵喔覆喔� Firecrawl',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       jinaReaderTitle: '喙佮笡喔ム竾喔椸副喙夃竾喙勦笅喔曕箤喙�喔涏箛喔� Markdown',
       jinaReaderDoc: '喙�喔`傅喔⑧笝喔`腹喙夃箑喔炧复喙堗浮喙�喔曕复喔∴箑喔佮傅喙堗涪喔о竵喔编笟 Jina Reader',
       jinaReaderDocLink: 'https://jina.ai/reader',
@@ -92,14 +91,6 @@
       scrapTimeInfo: '喔傕腹喔� {{total}} 喔笝喙夃覆喔椸副喙夃竾喔浮喔斷笭喔侧涪喙冟笝 {{time}}s',
       preview: '喔斷腹喔曕副喔о腑喔⑧箞喔侧竾',
       maxDepthTooltip: '喔勦抚喔侧浮喔ム付喔佮釜喔灌竾喔父喔斷箖喔權竵喔侧福喔`抚喔氞福喔о浮喔傕箟喔浮喔灌弗喙�喔∴阜喙堗腑喙�喔椸傅喔⑧笟喔佮副喔� URL 喔椸傅喙堗笡喙夃腑喔� 喔勦抚喔侧浮喔ム付喔� 0 喙�喔炧傅喔⑧竾喙佮竸喙堗競喔灌笖喔笝喙夃覆喔傕腑喔� URL 喔椸傅喙堗笡喙夃腑喔權竸喔о覆喔∴弗喔多竵 1 喔傕腹喔� url 喙佮弗喔班笚喔膏竵喔涪喙堗覆喔囙斧喔ム副喔囙笀喔侧竵 enteredURL + 喔笝喔多箞喔� / 喙�喔涏箛喔權笗喙夃笝',
-      watercrawlTitle: '喔斷付喔囙箑喔權阜喙夃腑喔覆喔堗覆喔佮箑喔о箛喔氞笖喙夃抚喔� Watercrawl',
-      configureJinaReader: '喔曕副喙夃竾喔勦箞喔� Jina Reader',
-      watercrawlDocLink: 'https://docs.dify.ai/th/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureFirecrawl: '喔佮赋喔笝喔斷竸喙堗覆 Firecrawl',
-      configureWatercrawl: '喔佮赋喔笝喔斷竸喙堗覆喔佮覆喔`箑喔傕箟喔侧笘喔多竾喔權箟喔�',
-      waterCrawlNotConfiguredDescription: '喔佮赋喔笝喔斷竸喙堗覆 Watercrawl 喔斷箟喔о涪 API key 喙�喔炧阜喙堗腑喙冟笂喙夃竾喔侧笝.',
-      watercrawlDoc: '喙�喔竵喔覆喔� Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl 喔⑧副喔囙箘喔∴箞喙勦笖喙夃笗喔编箟喔囙竸喙堗覆',
     },
     cancel: '喔⑧竵喙�喔ム复喔�',
   },
@@ -207,11 +198,6 @@
     learnMore: '喔ㄠ付喔佮俯喔侧箑喔炧复喙堗浮喙�喔曕复喔�',
     title: '喙�喔娻阜喙堗腑喔∴笗喙堗腑喔佮副喔氞箒喔弗喙堗竾喔傕箟喔浮喔灌弗喔阜喙堗笝喙冟笂喙堗箘喔浮',
     description: '喔涏副喔堗笀喔膏笟喔编笝 喔愢覆喔權竸喔о覆喔∴福喔灌箟喔傕腑喔� Dify 喔∴傅喙佮斧喔ム箞喔囙競喙夃腑喔∴腹喔ム笚喔掂箞喔堗箥喔侧竵喔编笖喙�喔椸箞喔侧笝喔编箟喔� 喔佮覆喔`浮喔掂釜喙堗抚喔權福喙堗抚喔∴箖喔權箒喔弗喙堗竾喔傕箟喔浮喔灌弗喙冟笝喔愢覆喔權竸喔о覆喔∴福喔灌箟 Dify 喙�喔涏箛喔權抚喔脆笜喔掂笚喔掂箞喔⑧腑喔斷箑喔⑧傅喙堗涪喔∴箖喔權竵喔侧福喔娻箞喔о涪喙�喔炧复喙堗浮喔勦抚喔侧浮喔⑧阜喔斷斧喔⑧父喙堗笝喙佮弗喔班笧喔ム副喔囙競喔竾喙佮笧喔ム笗喔熰腑喔`箤喔∴釜喙嵿覆喔福喔编笟喔溹腹喙夃箖喔娻箟喔椸父喔佮竸喔� 喔勦腹喙堗浮喔粪腑喔佮覆喔`浮喔掂釜喙堗抚喔權福喙堗抚喔∴競喔竾喙�喔`覆喔椸箥喔侧箖喔箟喔囙箞喔侧涪喔曕箞喔竵喔侧福喙�喔`复喙堗浮喔曕箟喔權箖喔娻箟喔囙覆喔� 喙傕笡喔`笖喔勦弗喔脆竵喔椸傅喙堗弗喔脆竾喔勦箤喔斷箟喔侧笝喔ム箞喔侧竾喙�喔炧阜喙堗腑喙�喔`傅喔⑧笝喔`腹喙夃箑喔炧复喙堗浮喙�喔曕复喔�',
-  },
-  watercrawl: {
-    configWatercrawl: '喔佮赋喔笝喔� Watercrawl',
-    getApiKeyLinkText: '喔`副喔氞竸喔掂涪喙� API 喔傕腑喔囙竸喔膏笓喔堗覆喔� watercrawl.dev',
-    apiKeyPlaceholder: '喔勦傅喔⑧箤 API 喔堗覆喔� watercrawl.dev',
   },
 }
 
diff --git a/i18n/th-TH/dataset-documents.ts b/i18n/th-TH/dataset-documents.ts
index 2f4c6d5..a7ea67c 100644
--- a/i18n/th-TH/dataset-documents.ts
+++ b/i18n/th-TH/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: '喔犩覆喔┼覆',
         authorPublisher: '喔溹腹喙夃箑喔傕傅喔⑧笝/喔箥喔侧笝喔编竵喔炧复喔∴笧喙�',
         publishDate: '喔о副喔權笚喔掂箞喙�喔溹涪喙佮笧喔`箞',
-        topicKeywords: '喔副喔о競喙夃腑/喔勦箥喔侧釜喙嵿覆喔勦副喔�',
+        topicsKeywords: '喔副喔о競喙夃腑/喔勦箥喔侧釜喙嵿覆喔勦副喔�',
         description: '喔勦赋喔笜喔脆笟喔侧涪',
       },
       paper: {
diff --git a/i18n/th-TH/dataset-settings.ts b/i18n/th-TH/dataset-settings.ts
index 7ddbbc3..ec05db6 100644
--- a/i18n/th-TH/dataset-settings.ts
+++ b/i18n/th-TH/dataset-settings.ts
@@ -27,7 +27,6 @@
       learnMore: '喔ㄠ付喔佮俯喔侧箑喔炧复喙堗浮喙�喔曕复喔�',
       description: '喙�喔佮傅喙堗涪喔о竵喔编笟喔о复喔樴傅喔佮覆喔`笖喔多竾喔傕箟喔浮喔灌弗',
       longDescription: '喙�喔佮傅喙堗涪喔о竵喔编笟喔о复喔樴傅喔佮覆喔`笖喔多竾喔傕箟喔浮喔灌弗 喔勦父喔撪釜喔侧浮喔侧福喔栢箑喔涏弗喔掂箞喔⑧笝喙佮笡喔ム竾喙勦笖喙夃笗喔ム腑喔斷箑喔о弗喔侧箖喔權竵喔侧福喔曕副喙夃竾喔勦箞喔侧竸喔о覆喔∴福喔灌箟',
-      method: '喔о复喔樴傅喔佮覆喔`竸喙夃笝喔勦阜喔�',
     },
     externalKnowledgeAPI: 'API 喔勦抚喔侧浮喔`腹喙夃笭喔侧涪喔權腑喔�',
     externalKnowledgeID: 'ID 喔勦抚喔侧浮喔`腹喙夃笭喔侧涪喔權腑喔�',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: '喙勦浮喙堗釜喔侧浮喔侧福喔栢笖喔侧抚喔權箤喙�喔佮福喔斷笀喔侧竵 HQ 喙�喔涏箛喔� ECO 喙勦笖喙�',
     helpText: '喙�喔`傅喔⑧笝喔`腹喙夃抚喔脆笜喔掂箑喔傕傅喔⑧笝喔勦箥喔侧腑喔樴复喔氞覆喔⑧笂喔膏笖喔傕箟喔浮喔灌弗喔椸傅喙堗笖喔�',
     upgradeHighQualityTip: '喙�喔∴阜喙堗腑喔副喔涏箑喔佮福喔斷箑喔涏箛喔權箓喔浮喔斷竸喔膏笓喔犩覆喔炧釜喔灌竾喙佮弗喙夃抚 喔堗赴喙勦浮喙堗釜喔侧浮喔侧福喔栢箑喔涏弗喔掂箞喔⑧笝喔佮弗喔编笟喙�喔涏箛喔權箓喔浮喔斷笡喔`赴喔涪喔编笖喙勦笖喙�',
-    searchModel: '喔勦箟喔權斧喔侧福喔膏箞喔�',
   },
 }
 
diff --git a/i18n/th-TH/dataset.ts b/i18n/th-TH/dataset.ts
index 15ef381..1877226 100644
--- a/i18n/th-TH/dataset.ts
+++ b/i18n/th-TH/dataset.ts
@@ -167,54 +167,6 @@
   enable: '喙�喔涏复喔�',
   allKnowledge: '喔勦抚喔侧浮喔`腹喙夃笚喔编箟喔囙斧喔∴笖',
   allKnowledgeDescription: '喙�喔ム阜喔竵喙�喔炧阜喙堗腑喙佮釜喔斷竾喔勦抚喔侧浮喔`腹喙夃笚喔编箟喔囙斧喔∴笖喙冟笝喔炧阜喙夃笝喔椸傅喙堗笚喙嵿覆喔囙覆喔權笝喔掂箟 喙�喔夃笧喔侧赴喙�喔堗箟喔侧競喔竾喔炧阜喙夃笝喔椸傅喙堗笚喙嵿覆喔囙覆喔權箑喔椸箞喔侧笝喔编箟喔權笚喔掂箞喔覆喔∴覆喔`笘喔堗副喔斷竵喔侧福喔勦抚喔侧浮喔`腹喙夃笚喔编箟喔囙斧喔∴笖喙勦笖喙�',
-  metadata: {
-    createMetadata: {
-      back: '喔佮弗喔编笟',
-      title: '喔傕箟喔浮喔灌弗喙�喔∴笗喔侧箖喔浮喙�',
-      namePlaceholder: '喙�喔炧复喙堗浮喔娻阜喙堗腑喔傕箟喔浮喔灌弗喙�喔∴笗喔�',
-      name: '喔娻阜喙堗腑',
-      type: '喔涏福喔班箑喔犩笚',
-    },
-    checkName: {
-      invalid: '喔娻阜喙堗腑喙�喔∴笗喔侧笖喔侧笗喙夃覆喔曕箟喔竾喔涏福喔班竵喔笟喔斷箟喔о涪喔曕副喔о腑喔编竵喔┼福喔曕副喔о箑喔ム箛喔佮箑喔椸箞喔侧笝喔编箟喔� 喙�喔ム競 喙佮弗喔班競喔掂笖喔ム箞喔侧竾 喙佮弗喔班笗喙夃腑喔囙箑喔`复喙堗浮喔曕箟喔權笖喙夃抚喔⑧笗喔编抚喔副喔佮俯喔`笗喔编抚喙�喔ム箛喔�',
-      empty: '喔娻阜喙堗腑喔傕箟喔浮喔灌弗喙�喔∴笗喔侧箘喔∴箞喔覆喔∴覆喔`笘喙�喔涏箛喔權竸喙堗覆喙丒mpty',
-    },
-    batchEditMetadata: {
-      multipleValue: '喔弗喔侧涪喔勦箞喔�',
-      applyToAllSelectDocument: '喙冟笂喙夃竵喔编笟喙�喔竵喔覆喔`笚喔掂箞喙�喔ム阜喔竵喔椸副喙夃竾喔浮喔�',
-      editMetadata: '喙佮竵喙夃箘喔傕競喙夃腑喔∴腹喔ム箑喔∴笗喔�',
-      editDocumentsNum: '喔佮覆喔`箒喔佮箟喙勦競喙�喔竵喔覆喔� {{num}} 喔夃笟喔编笟',
-      applyToAllSelectDocumentTip: '喔福喙夃覆喔囙競喙夃腑喔∴腹喔ム箑喔∴笗喔侧箖喔浮喙堗箒喔ム赴喙佮竵喙夃箘喔傕笚喔编箟喔囙斧喔∴笖喔傕箟喔侧竾喔曕箟喔權箓喔斷涪喔副喔曕箓喔權浮喔编笗喔脆釜喔赤斧喔`副喔氞箑喔竵喔覆喔`笚喔掂箞喙�喔ム阜喔竵喔椸副喙夃竾喔浮喔� 喔∴复喔夃赴喔權副喙夃笝喔佮覆喔`箒喔佮箟喙勦競喔傕箟喔浮喔灌弗喙�喔∴笗喔侧笀喔班箖喔娻箟喙勦笖喙夃箑喔夃笧喔侧赴喔佮副喔氞箑喔竵喔覆喔`笚喔掂箞喔∴傅喔傕箟喔浮喔灌弗喙�喔∴笗喔侧笝喔编箟喔權箑喔椸箞喔侧笝喔编箟喔�.',
-    },
-    selectMetadata: {
-      manageAction: '喔堗副喔斷竵喔侧福',
-      search: '喔勦箟喔權斧喔侧競喙夃腑喔∴腹喔ム箑喔∴笗喔�',
-      newAction: '喔傕箟喔浮喔灌弗喙�喔∴笗喔侧箖喔浮喙�',
-    },
-    datasetMetadata: {
-      deleteTitle: '喔⑧阜喔權涪喔编笝喙�喔炧阜喙堗腑喔椸赋喔佮覆喔`弗喔�',
-      values: '{{num}} 喔勦箞喔�',
-      disabled: '喔勦笝喔炧复喔佮覆喔�',
-      builtInDescription: '喔傕箟喔浮喔灌弗喙�喔∴笗喔侧笚喔掂箞喔福喙夃覆喔囙競喔多箟喔權箖喔權笗喔编抚喔堗赴喔栢腹喔佮笖喔多竾喔腑喔佮箒喔ム赴喔福喙夃覆喔囙箓喔斷涪喔副喔曕箓喔權浮喔编笗喔� 喔曕箟喔竾喙�喔涏复喔斷箖喔娻箟喔囙覆喔權竵喙堗腑喔權箖喔娻箟喔囙覆喔權箒喔ム赴喙勦浮喙堗釜喔侧浮喔侧福喔栢箒喔佮箟喙勦競喙勦笖喙�',
-      rename: '喙�喔涏弗喔掂箞喔⑧笝喔娻阜喙堗腑',
-      description: '喔勦父喔撪釜喔侧浮喔侧福喔栢笀喔编笖喔佮覆喔`競喙夃腑喔∴腹喔ム箑喔∴笗喔侧笚喔编箟喔囙斧喔∴笖喙冟笝喔勦抚喔侧浮喔`腹喙夃笝喔掂箟喙勦笖喙夃笚喔掂箞喔權傅喙� 喔佮覆喔`笡喔`副喔氞箑喔涏弗喔掂箞喔⑧笝喔堗赴喔栢腹喔佮笅喔脆竾喙傕竸喔`箘喔權笅喙屶箘喔涏涪喔编竾喙�喔竵喔覆喔`笚喔膏竵喔夃笟喔编笟',
-      deleteContent: '喔勦父喔撪箒喔權箞喙冟笀喔福喔粪腑喔о箞喔侧笗喙夃腑喔囙竵喔侧福喔ム笟喔傕箟喔浮喔灌弗喙�喔∴笗喔� "{{name}}"',
-      name: '喔娻阜喙堗腑',
-      addMetaData: '喙�喔炧复喙堗浮喔傕箟喔浮喔灌弗喙�喔∴笗喔�',
-      builtIn: '喙佮笟喔氞箖喔權笗喔编抚',
-      namePlaceholder: '喔娻阜喙堗腑喙�喔∴笚喔侧笖喔侧笚喔�',
-    },
-    documentMetadata: {
-      technicalParameters: '喔炧覆喔`覆喔∴复喙�喔曕腑喔`箤喔椸覆喔囙箑喔椸竸喔權复喔�',
-      startLabeling: '喙�喔`复喙堗浮喔佮覆喔`笗喔脆笖喔涏箟喔侧涪',
-      metadataToolTip: '喔傕箟喔浮喔灌弗喙�喔∴笗喔侧箑喔涏箛喔權笗喔编抚喔佮福喔竾喔椸傅喙堗釜喔赤竸喔编笉喔嬥付喙堗竾喔娻箞喔о涪喙�喔炧复喙堗浮喔勦抚喔侧浮喔栢腹喔佮笗喙夃腑喔囙箒喔ム赴喔勦抚喔侧浮喙�喔佮傅喙堗涪喔о競喙夃腑喔囙競喔竾喔佮覆喔`笖喔多竾喔傕箟喔浮喔灌弗 喔勦父喔撪釜喔侧浮喔侧福喔栢笡喔`副喔氞箒喔佮箟喙佮弗喔班箑喔炧复喙堗浮喔傕箟喔浮喔灌弗喙�喔∴笗喔侧釜喔赤斧喔`副喔氞箑喔竵喔覆喔`笝喔掂箟喙勦笖喙夃笚喔掂箞喔權傅喙�',
-      documentInformation: '喔傕箟喔浮喔灌弗喙�喔竵喔覆喔�',
-    },
-    metadata: '喔傕箟喔浮喔灌弗喙�喔∴笗喔�',
-    addMetadata: '喙�喔炧复喙堗浮喔傕箟喔浮喔灌弗喙�喔∴笗喔�',
-    chooseTime: '喙�喔ム阜喔竵喙�喔о弗喔�...',
-  },
-  embeddingModelNotAvailable: '喙傕浮喙�喔斷弗喔澿副喔囙笗喔编抚喙勦浮喙堗釜喔侧浮喔侧福喔栢箖喔娻箟喔囙覆喔權箘喔斷箟.',
 }
 
 export default translation
diff --git a/i18n/th-TH/explore.ts b/i18n/th-TH/explore.ts
index d8eb53d..aaed249 100644
--- a/i18n/th-TH/explore.ts
+++ b/i18n/th-TH/explore.ts
@@ -37,7 +37,6 @@
     HR: '喔娻副喙堗抚喙傕浮喔�',
     Workflow: '喙�喔о复喔`箤喔佮箓喔熰弗喔о箤',
     Agent: '喔曕副喔о箒喔椸笝',
-    Entertainment: '喔勦抚喔侧浮喔氞副喔權箑喔椸复喔�',
   },
 }
 
diff --git a/i18n/th-TH/run-log.ts b/i18n/th-TH/run-log.ts
index 49e7f68..709767d 100644
--- a/i18n/th-TH/run-log.ts
+++ b/i18n/th-TH/run-log.ts
@@ -24,8 +24,6 @@
     link: '喙佮笢喔囙福喔侧涪喔ム赴喙�喔傅喔⑧笖',
     tipRight: '喔斷腹喔∴副喔�',
   },
-  circularInvocationTip: '喔∴傅喔佮覆喔`箑喔`傅喔⑧竵喙冟笂喙夃箑喔勦福喔粪箞喔竾喔∴阜喔�/喙傕斧喔權笖喙佮笟喔氞抚喔囙竵喔ム浮喙冟笝喙�喔о复喔`箤喔佮箓喔熰弗喔о箤喔涏副喔堗笀喔膏笟喔编笝',
-  actionLogs: '喔氞副喔權笚喔多竵喔佮覆喔`笖喙嵿覆喙�喔權复喔權竵喔侧福',
 }
 
 export default translation
diff --git a/i18n/th-TH/share-app.ts b/i18n/th-TH/share-app.ts
index fd4a8f3..290a8cc 100644
--- a/i18n/th-TH/share-app.ts
+++ b/i18n/th-TH/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: '喔炧涪喔侧涪喔侧浮喙佮竵喙�',
     temporarySystemIssue: '喔傕腑喔笭喔编涪 喔涏副喔嵿斧喔侧福喔班笟喔氞笂喔编箞喔о竸喔`覆喔�',
-    expand: '喔傕涪喔侧涪',
-    collapse: '喔⑧箞喔�',
-    newChatTip: '喔涪喔灌箞喙冟笝喙佮笂喔椸箖喔浮喙堗箒喔ム箟喔�',
-    chatSettingsTitle: '喔佮覆喔`笗喔编箟喔囙竸喙堗覆喔佮覆喔`釜喔權笚喔權覆喙冟斧喔∴箞',
-    viewChatSettings: '喔斷腹喔佮覆喔`笗喔编箟喔囙竸喙堗覆喔佮覆喔`箒喔娻笚',
-    chatFormTip: '喔佮覆喔`笗喔编箟喔囙竸喙堗覆喙佮笂喔椸箘喔∴箞喔覆喔∴覆喔`笘喙�喔涏弗喔掂箞喔⑧笝喙佮笡喔ム竾喙勦笖喙夃斧喔ム副喔囙笀喔侧竵喔椸傅喙堗箒喔娻笚喙�喔`复喙堗浮喔曕箟喔權競喔多箟喔權箒喔ム箟喔�.',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: '喙佮笘喔� {{rowIndex}}: 喔勦箞喔� {{varName}} 喔曕箟喔竾喙勦浮喙堗箑喔佮复喔� {{maxLength}} 喔副喔佮競喔`赴',
       atLeastOne: '喙傕笡喔`笖喔涏箟喔笝喔涪喙堗覆喔囙笝喙夃腑喔⑧斧喔權付喙堗竾喙佮笘喔о箖喔權箘喔熰弗喙屶笚喔掂箞喔副喔涏箓喔弗喔�',
     },
-    execution: '喔佮覆喔`笖喔赤箑喔權复喔權竵喔侧福',
-    executions: '{{num}} 喔佮覆喔`笡喔`赴喔覆喔`笂喔掂抚喔脆笗',
   },
 }
 
diff --git a/i18n/th-TH/tools.ts b/i18n/th-TH/tools.ts
index 7770b3d..98272e8 100644
--- a/i18n/th-TH/tools.ts
+++ b/i18n/th-TH/tools.ts
@@ -133,7 +133,6 @@
     number: '喙�喔ム競',
     required: '喔曕箟喔竾喔`赴喔氞父',
     infoAndSetting: '喔傕箟喔浮喔灌弗喙佮弗喔班竵喔侧福喔曕副喙夃竾喔勦箞喔�',
-    file: '喙佮笩喙夃浮',
   },
   noCustomTool: {
     title: '喙勦浮喙堗浮喔掂箑喔勦福喔粪箞喔竾喔∴阜喔笚喔掂箞喔佮箥喔侧斧喔權笖喙�喔竾!',
@@ -151,8 +150,6 @@
   howToGet: '喔о复喔樴傅喔`副喔�',
   openInStudio: '喙�喔涏复喔斷箖喔權釜喔曕腹喔斷复喙傕腑',
   toolNameUsageTip: '喔娻阜喙堗腑喔佮覆喔`箑喔`傅喔⑧竵喙�喔勦福喔粪箞喔竾喔∴阜喔釜喙嵿覆喔福喔编笟喔佮覆喔`箖喔娻箟喙�喔笗喔膏笢喔ム箒喔ム赴喔佮覆喔`箒喔堗箟喔囙箑喔曕阜喔笝喔傕腑喔囙笗喔编抚喙佮笚喔�',
-  noTools: '喙勦浮喙堗笧喔氞箑喔勦福喔粪箞喔竾喔∴阜喔�',
-  copyToolName: '喔勦副喔斷弗喔竵喔娻阜喙堗腑',
 }
 
 export default translation
diff --git a/i18n/th-TH/workflow.ts b/i18n/th-TH/workflow.ts
index 6b91a03..afe0a76 100644
--- a/i18n/th-TH/workflow.ts
+++ b/i18n/th-TH/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: '喙�喔炧复喙堗浮喔覆喔傕覆 Fail',
     loadMore: '喙傕斧喔ム笖喙�喔о复喔`箤喔佮箓喔熰弗喔о箤喙�喔炧复喙堗浮喙�喔曕复喔�',
     noHistory: '喙勦浮喙堗浮喔掂笡喔`赴喔о副喔曕复',
-    versionHistory: '喔涏福喔班抚喔编笗喔脆福喔膏箞喔�',
-    exportPNG: '喔箞喔囙腑喔竵喙�喔涏箛喔� PNG',
-    noExist: '喙勦浮喙堗浮喔掂笗喔编抚喙佮笡喔`笖喔编竾喔佮弗喙堗覆喔�',
-    exportJPEG: '喔箞喔囙腑喔竵喙�喔涏箛喔� JPEG',
-    referenceVar: '喔曕副喔о箒喔涏福喔箟喔侧竾喔复喔�',
-    publishUpdate: '喙�喔溹涪喙佮笧喔`箞喔佮覆喔`腑喔编笡喙�喔斷笗',
-    exitVersions: '喔腑喔佮箑喔о腑喔`箤喔娻副喔�',
-    exportImage: '喔箞喔囙腑喔竵喔犩覆喔�',
-    exportSVG: '喔箞喔囙腑喔竵喙�喔涏箛喔� SVG',
   },
   env: {
     envPanelTitle: '喔曕副喔о箒喔涏福喔笭喔侧笧喙佮抚喔斷弗喙夃腑喔�',
@@ -204,8 +195,6 @@
       visionVariable: '喔曕副喔о箒喔涏福喔о复喔副喔⑧笚喔编辅喔權箤',
     },
     invalidVariable: '喔曕副喔о箒喔涏福喙勦浮喙堗笘喔灌竵喔曕箟喔竾',
-    noValidTool: '{{field}} 喙勦浮喙堗箘喔斷箟喙�喔ム阜喔竵喙�喔勦福喔粪箞喔竾喔∴阜喔笚喔掂箞喔栢腹喔佮笗喙夃腑喔�',
-    toolParameterRequired: '{{field}}: 喔炧覆喔`覆喔∴复喙�喔曕腑喔`箤 [{{param}}] 喙�喔涏箛喔權釜喔脆箞喔囙笀喙嵿覆喙�喔涏箛喔�',
   },
   singleRun: {
     testRun: '喔椸笖喔腑喔氞竵喔侧福喔椸箥喔侧竾喔侧笝',
@@ -214,7 +203,6 @@
     testRunIteration: '喔佮覆喔`笚喔斷釜喔笟喔佮覆喔`笚喙嵿覆喔嬥箟喙嵿覆',
     back: '喔⑧箟喔笝喔佮弗喔编笟',
     iteration: '喙�喔佮复喔� 喔嬥箟喔�',
-    loop: '喔ム腹喔�',
   },
   tabs: {
     'searchBlock': '喔氞弗喙囙腑喔佮竵喔侧福喔勦箟喔權斧喔�',
@@ -230,8 +218,6 @@
     'transform': '喙佮笡喔ム竾',
     'utilities': '喔覆喔樴覆喔`笓喔灌笡喙傕笭喔�',
     'noResult': '喙勦浮喙堗笧喔氞竵喔侧福喔堗副喔氞竸喔灌箞',
-    'agent': '喔佮弗喔⑧父喔椸笜喙屶笗喔编抚喙佮笚喔�',
-    'plugin': '喔涏弗喔编箠喔佮腑喔脆笝',
   },
   blocks: {
     'start': '喙�喔`复喙堗浮',
@@ -252,10 +238,6 @@
     'parameter-extractor': '喔曕副喔о箒喔⑧竵喔炧覆喔`覆喔∴复喙�喔曕腑喔`箤',
     'document-extractor': '喔曕副喔о箒喔⑧竵喙�喔竵喔覆喔�',
     'list-operator': '喔曕副喔о笖喙嵿覆喙�喔權复喔權竵喔侧福喔`覆喔⑧竵喔侧福',
-    'agent': '喔曕副喔о箒喔椸笝',
-    'loop': '喔ム腹喔�',
-    'loop-start': '喙�喔`复喙堗浮喔ム腹喔�',
-    'loop-end': '喔腑喔佮笀喔侧竵喔ム腹喔�',
   },
   blocksAbout: {
     'start': '喔佮箥喔侧斧喔權笖喔炧覆喔`覆喔∴复喙�喔曕腑喔`箤喙�喔`复喙堗浮喔曕箟喔權釜喙嵿覆喔福喔编笟喔佮覆喔`箑喔涏复喔斷箖喔娻箟喙�喔о复喔`箤喔佮箓喔熰弗喔о箤',
@@ -275,9 +257,6 @@
     'parameter-extractor': '喙冟笂喙� LLM 喙�喔炧阜喙堗腑喙佮涪喔佮笧喔侧福喔侧浮喔脆箑喔曕腑喔`箤喔椸傅喙堗浮喔掂箓喔勦福喔囙釜喔`箟喔侧竾喔堗覆喔佮笭喔侧俯喔侧笜喔`福喔∴笂喔侧笗喔脆釜喙嵿覆喔福喔编笟喔佮覆喔`箑喔`傅喔⑧竵喙冟笂喙夃箑喔勦福喔粪箞喔竾喔∴阜喔斧喔`阜喔竸喙嵿覆喔傕腑 HTTP',
     'document-extractor': '喙冟笂喙夃箑喔炧阜喙堗腑喙佮涪喔佮抚喔脆箑喔勦福喔侧赴喔箤喙�喔竵喔覆喔`笚喔掂箞喔副喔涏箓喔弗喔斷箑喔涏箛喔權箑喔權阜喙夃腑喔覆喔傕箟喔竸喔о覆喔∴笚喔掂箞 LLM 喙�喔傕箟喔侧箖喔堗箘喔斷箟喔囙箞喔侧涪',
     'list-operator': '喙冟笂喙夃箑喔炧阜喙堗腑喔佮福喔竾喔福喔粪腑喔堗副喔斷箑喔`傅喔⑧竾喙�喔權阜喙夃腑喔覆喔覆喔`箤喙�喔`涪喙�',
-    'agent': '喔佮覆喔`箑喔`傅喔⑧竵喙冟笂喙夃箓喔∴箑喔斷弗喔犩覆喔┼覆喔傕笝喔侧笖喙冟斧喔嵿箞喙�喔炧阜喙堗腑喔曕腑喔氞竸喙嵿覆喔栢覆喔∴斧喔`阜喔笡喔`赴喔∴抚喔ム笢喔ム笭喔侧俯喔侧笜喔`福喔∴笂喔侧笗喔�',
-    'loop': '喔斷赋喙�喔權复喔權竵喔侧福喔ム腹喔涏競喔竾喔曕福喔`竵喔班笀喔權竵喔о箞喔侧笀喔班笘喔多竾喙�喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔复喙夃笝喔父喔斷斧喔`阜喔笗喔`竾喔曕覆喔∴笀喔赤笝喔о笝喔ム腹喔涏釜喔灌竾喔父喔斷笚喔掂箞喔佮赋喔笝喔�.',
-    'loop-end': '喙�喔椸傅喔⑧笟喙�喔椸箞喔侧竵喔编笟 "break" 喙傕斧喔權笖喔權傅喙夃箘喔∴箞喔∴傅喔`覆喔⑧竵喔侧福喔佮覆喔`竵喔赤斧喔權笖喔勦箞喔� 喙�喔∴阜喙堗腑喔`箞喔侧竾喔佮覆喔⑧競喔竾喔ム腹喔涏笘喔多竾喙傕斧喔權笖喔權傅喙� 喔ム腹喔涏笀喔班釜喔脆箟喔權釜喔膏笖喔ム竾.',
   },
   operator: {
     zoomIn: '喔嬥腹喔∴箑喔傕箟喔�',
@@ -419,34 +398,6 @@
         variable: '喔曕副喔о箒喔涏福',
       },
       sysQueryInUser: 'sys.query 喙冟笝喔傕箟喔竸喔о覆喔∴笢喔灌箟喙冟笂喙夃箑喔涏箛喔權釜喔脆箞喔囙笀喙嵿覆喙�喔涏箛喔�',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '喔佮福喔膏笓喔侧箒喔佮箟喙勦競喔熰复喔ム笖喙屶笡喔编笀喔堗父喔氞副喔權箖喔箟喙�喔福喙囙笀喔佮箞喔笝喔椸傅喙堗笀喔班笟喔编笝喔椸付喔佮釜喔勦傅喔∴覆',
-        },
-        apply: '喔浮喔编竸喔�',
-        resetDefaults: '喔`傅喙�喔嬥箛喔�',
-        generate: '喔福喙夃覆喔�',
-        import: '喔權赋喙�喔傕箟喔侧笀喔侧竵 JSON',
-        descriptionPlaceholder: '喙�喔炧复喙堗浮喔勦赋喔笜喔脆笟喔侧涪',
-        instruction: '喔勦赋喙佮笝喔班笝喔�',
-        generating: '喔佮赋喔ム副喔囙釜喔`箟喔侧竾 JSON Schema...',
-        resultTip: '喔權傅喙堗竸喔粪腑喔溹弗喔ム副喔炧笜喙屶笚喔掂箞喔福喙夃覆喔囙競喔多箟喔� 喔覆喔佮竸喔膏笓喙勦浮喙堗笧喔箖喔� 喔勦父喔撪釜喔侧浮喔侧福喔栢竵喔ム副喔氞箘喔涏箒喔ム赴喙佮竵喙夃箘喔傕竸喔赤釜喔编箞喔囙競喔竾喔勦父喔撪箘喔斷箟',
-        regenerate: '喔福喙夃覆喔囙箖喔浮喙�',
-        title: '喔`腹喔涏箒喔氞笟喔傕箟喔浮喔灌弗喔椸傅喙堗笀喔编笖喔`赴喙�喔氞傅喔⑧笟',
-        promptPlaceholder: '喙傕笡喔`笖喔笜喔脆笟喔侧涪 JSON Schema 喔傕腑喔囙竸喔膏笓...',
-        generatedResult: '喔溹弗喔ム副喔炧笜喙屶笚喔掂箞喔福喙夃覆喔囙競喔多箟喔�',
-        generateJsonSchema: '喔福喙夃覆喔� JSON Schema',
-        promptTooltip: '喙佮笡喔ム竾喔勦赋喔笜喔脆笟喔侧涪喔傕箟喔竸喔о覆喔∴箑喔涏箛喔權箓喔勦福喔囙釜喔`箟喔侧竾 JSON Schema 喔∴覆喔曕福喔愢覆喔�.',
-        showAdvancedOptions: '喙佮釜喔斷竾喔曕副喔о箑喔ム阜喔竵喔傕副喙夃笝喔腹喔�',
-        addField: '喙�喔炧复喙堗浮喔熰复喔ム笖喙�',
-        back: '喔佮弗喔编笟',
-        fieldNamePlaceholder: '喔娻阜喙堗腑喔熰复喔ム笖喙�',
-        generationTip: '喔勦父喔撪釜喔侧浮喔侧福喔栢箖喔娻箟喔犩覆喔┼覆喔樴福喔`浮喔娻覆喔曕复喙冟笝喔佮覆喔`釜喔`箟喔侧竾 JSON Schema 喙勦笖喙夃腑喔⑧箞喔侧竾喔`抚喔斷箑喔`箛喔�.',
-        doc: '喙�喔`傅喔⑧笝喔`腹喙夃箑喔炧复喙堗浮喙�喔曕复喔∴箑喔佮傅喙堗涪喔о竵喔编笟喔溹弗喔ム副喔炧笜喙屶笚喔掂箞喔∴傅喙傕竸喔`竾喔福喙夃覆喔�',
-        addChildField: '喙�喔炧复喙堗浮喔熰复喔ム笖喙屶箑喔斷箛喔�',
-        stringValidations: '喔佮覆喔`笗喔`抚喔堗釜喔笟喔笗喔`复喔�',
-        required: '喔堗赋喙�喔涏箛喔權笗喙夃腑喔囙箖喔娻箟',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '喔曕副喔о箒喔涏福喙佮笟喔氞釜喔笟喔栢覆喔�',
@@ -458,33 +409,6 @@
         icon: '喙勦腑喔勦腑喔權箒喔氞箞喔囙釜喙堗抚喔�',
         url: 'URL 喔椸傅喙堗箒喔氞箞喔囙竵喔ム父喙堗浮',
         metadata: '喔傕箟喔浮喔灌弗喙�喔∴笗喔侧腑喔粪箞喔權箚',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: '喔勦笝喔炧复喔佮覆喔�',
-            subTitle: '喙勦浮喙堗箘喔斷箟喙�喔涏复喔斷箖喔娻箟喔囙覆喔權竵喔侧福喔佮福喔竾喔傕箟喔浮喔灌弗喙�喔∴笗喔�',
-          },
-          automatic: {
-            desc: '喔福喙夃覆喔囙箑喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔佮福喔竾喔傕箟喔浮喔灌弗喙�喔∴笗喔侧箓喔斷涪喔副喔曕箓喔權浮喔编笗喔脆笗喔侧浮喔曕副喔о箒喔涏福喔勦箟喔權斧喔�',
-            title: '喔副喔曕箓喔權浮喔编笗喔�',
-            subTitle: '喔福喙夃覆喔囙箑喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔佮福喔竾喔傕箟喔浮喔灌弗喙�喔∴笗喔侧箓喔斷涪喔副喔曕箓喔權浮喔编笗喔脆笗喔侧浮喔佮覆喔`竸喙夃笝喔覆喔傕腑喔囙笢喔灌箟喙冟笂喙�',
-          },
-          manual: {
-            subTitle: '喙�喔炧复喙堗浮喙�喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔佮福喔竾喔傕箟喔浮喔灌弗喙�喔∴笗喔侧笖喙夃抚喔⑧笗喔權箑喔竾',
-            title: '喔勦腹喙堗浮喔粪腑',
-          },
-        },
-        panel: {
-          conditions: '喙�喔囙阜喙堗腑喔權箘喔�',
-          search: '喔勦箟喔權斧喔侧競喙夃腑喔∴腹喔ム箑喔∴笗喔�',
-          add: '喙�喔炧复喙堗浮喙�喔囙阜喙堗腑喔權箘喔�',
-          datePlaceholder: '喙�喔ム阜喔竵喙�喔о弗喔�...',
-          title: '喙�喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔佮福喔竾喔傕箟喔浮喔灌弗喙�喔∴笗喔�',
-          select: '喙�喔ム阜喔竵喔曕副喔о箒喔涏福...',
-          placeholder: '喙冟釜喙堗竸喙堗覆',
-        },
-        title: '喔佮覆喔`竵喔`腑喔囙競喙夃腑喔∴腹喔ム箑喔∴笗喔�',
       },
     },
     http: {
@@ -574,8 +498,6 @@
         'all of': '喔椸副喙夃竾喔浮喔�',
         'exists': '喔涪喔灌箞',
         'not exists': '喙勦浮喙堗浮喔掂腑喔⑧腹喙堗笀喔`复喔�',
-        'before': '喔佮箞喔笝',
-        'after': '喔弗喔编竾喔堗覆喔佮笝喔编箟喔�',
       },
       optionName: {
         image: '喔犩覆喔�',
@@ -591,7 +513,6 @@
       selectVariable: '喙�喔ム阜喔竵喔曕副喔о箒喔涏福...',
       addSubVariable: '喔曕副喔о箒喔涏福喔⑧箞喔涪',
       select: '喙�喔ム阜喔竵',
-      condition: '喙�喔囙阜喙堗腑喔權箘喔�',
     },
     variableAssigner: {
       title: '喔佮箥喔侧斧喔權笖喔曕副喔о箒喔涏福',
@@ -634,8 +555,6 @@
         'over-write': '喙�喔傕傅喔⑧笝 喔椸副喔�',
         '+=': '+=',
         '/=': '/=',
-        'remove-last': '喔ム笟喔父喔斷笚喙夃覆喔�',
-        'remove-first': '喔ム笟喔副喔權笖喔编笟喙佮福喔�',
       },
       'noAssignedVars': '喙勦浮喙堗浮喔掂笗喔编抚喙佮笡喔`笚喔掂箞喔佮箥喔侧斧喔權笖',
       'selectAssignedVariable': '喙�喔ム阜喔竵喔曕副喔о箒喔涏福喔椸傅喙堗竵喙嵿覆喔笝喔�...',
@@ -771,107 +690,6 @@
         last_record: '喔氞副喔權笚喔多竵喔ム箞喔侧釜喔膏笖',
       },
     },
-    agent: {
-      strategy: {
-        label: '喔佮弗喔⑧父喔椸笜喙屶笗喔编抚喙佮笚喔�',
-        tooltip: '喔佮弗喔⑧父喔椸笜喙� Agentic 喔椸傅喙堗箒喔曕竵喔曕箞喔侧竾喔佮副喔權竵喙嵿覆喔笝喔斷抚喔脆笜喔掂笚喔掂箞喔`赴喔氞笟喔о覆喔囙箒喔溹笝喙佮弗喔班笖喙嵿覆喙�喔權复喔權竵喔侧福喙�喔`傅喔⑧竵喙冟笂喙夃箑喔勦福喔粪箞喔竾喔∴阜喔斧喔ム覆喔⑧競喔编箟喔權笗喔笝',
-        configureTipDesc: '喔弗喔编竾喔堗覆喔佮竵喙嵿覆喔笝喔斷竸喙堗覆喔佮弗喔⑧父喔椸笜喙屶笗喔编抚喙佮笚喔權箓喔笝喔斷笝喔掂箟喔堗赴喙傕斧喔ム笖喔佮覆喔`竵喙嵿覆喔笝喔斷竸喙堗覆喔椸傅喙堗箑喔弗喔粪腑喙傕笖喔⑧腑喔编笗喙傕笝喔∴副喔曕复 喔佮弗喔⑧父喔椸笜喙屶笀喔班釜喙堗竾喔溹弗喔曕箞喔竵喔ム箘喔佮竵喔侧福喙冟斧喙夃箑喔笗喔膏笢喔ム競喔竾喙�喔勦福喔粪箞喔竾喔∴阜喔斧喔ム覆喔⑧競喔编箟喔權笗喔笝',
-        configureTip: '喙傕笡喔`笖喔佮箥喔侧斧喔權笖喔勦箞喔侧竵喔ム涪喔膏笚喔樴箤喙�喔箑喔堗笝喔曕箤',
-        searchPlaceholder: '喔佮弗喔⑧父喔椸笜喙屶笗喔编抚喙佮笚喔權竵喔侧福喔勦箟喔權斧喔�',
-        selectTip: '喙�喔ム阜喔竵喔佮弗喔⑧父喔椸笜喙屶笗喔编抚喙佮笚喔�',
-        shortLabel: '喔⑧父喔椸笜喔ㄠ覆喔笗喔`箤',
-      },
-      pluginInstaller: {
-        installing: '喔曕复喔� 喔曕副喙夃竾',
-        install: '喔曕复喔斷笗喔编箟喔�',
-      },
-      modelNotInMarketplace: {
-        desc: '喙傕浮喙�喔斷弗喔權傅喙夃笗喔脆笖喔曕副喙夃竾喔堗覆喔佮笚喔掂箞喙�喔佮箛喔氞箖喔權箑喔勦福喔粪箞喔竾喔福喔粪腑 GitHub 喔佮福喔膏笓喔侧箖喔娻箟喔弗喔编竾喔佮覆喔`笗喔脆笖喔曕副喙夃竾',
-        title: '喙勦浮喙堗箘喔斷箟喔曕复喔斷笗喔编箟喔囙福喔膏箞喔�',
-        manageInPlugins: '喔堗副喔斷竵喔侧福喙冟笝喔涏弗喔编箠喔佮腑喔脆笝',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: '喙�喔о腑喔`箤喔娻副喔權笡喔ム副喙娻竵喔复喔權笚喔掂箞喔曕复喔斷笗喔编箟喔囙箘喔∴箞喔∴傅喔`父喙堗笝喔權傅喙� 喔勦弗喔脆竵喙�喔炧阜喙堗腑喙�喔涏弗喔掂箞喔⑧笝喙�喔о腑喔`箤喔娻副喔�',
-        title: '喔`父喙堗笝喔椸傅喙堗箘喔∴箞喔`腑喔囙福喔编笟',
-        desc: '喙�喔о腑喔`箤喔娻副喔權笡喔ム副喙娻竵喔复喔權笚喔掂箞喔曕复喔斷笗喔编箟喔囙箘喔∴箞喔∴傅喔`父喙堗笝喔權傅喙�',
-      },
-      modelSelectorTooltips: {
-        deprecated: '喙傕浮喙�喔斷弗喔權傅喙夃箑喔ム复喔佮箖喔娻箟喙佮弗喙夃抚',
-      },
-      outputVars: {
-        files: {
-          transfer_method: '喔о复喔樴傅喔佮覆喔`箓喔笝 喔勦箞喔侧箑喔涏箛喔� remote_url 喔福喔粪腑 local_file',
-          upload_file_id: '喔副喔涏箓喔弗喔斷福喔副喔箘喔熰弗喙�',
-          url: 'URL 喔傕腑喔囙福喔灌笡喔犩覆喔�',
-          title: '喙勦笩喔ム箤喔椸傅喙堗釜喔`箟喔侧竾喔曕副喔о箒喔椸笝',
-          type: '喔涏福喔班箑喔犩笚喔佮覆喔`釜喔權副喔氞釜喔權父喔� 喔曕腑喔權笝喔掂箟喔`腑喔囙福喔编笟喙�喔夃笧喔侧赴喔`腹喔涏笭喔侧笧',
-        },
-        text: '喙�喔權阜喙夃腑喔覆喔椸傅喙堗釜喔`箟喔侧竾喔曕副喔о箒喔椸笝',
-        json: '喔曕副喔о箒喔椸笝喔福喙夃覆喔� JSON',
-      },
-      checkList: {
-        strategyNotSelected: '喙勦浮喙堗箘喔斷箟喙�喔ム阜喔竵喔佮弗喔⑧父喔椸笜喙�',
-      },
-      installPlugin: {
-        changelog: '喔氞副喔權笚喔多竵喔佮覆喔`箑喔涏弗喔掂箞喔⑧笝喙佮笡喔ム竾',
-        install: '喔曕复喔斷笗喔编箟喔�',
-        desc: '喙�喔佮傅喙堗涪喔о竵喔编笟喔佮覆喔`笗喔脆笖喔曕副喙夃竾喔涏弗喔编箠喔佮腑喔脆笝喔曕箞喔箘喔涏笝喔掂箟',
-        title: '喔曕复喔斷笗喔编箟喔囙笡喔ム副喙娻竵喔复喔�',
-        cancel: '喔⑧竵喙�喔ム复喔�',
-      },
-      toolbox: '喙�喔勦福喔粪箞喔竾 喔∴阜喔�',
-      maxIterations: '喔佮覆喔`笚喙嵿覆喔嬥箟喙嵿覆喔腹喔囙釜喔膏笖',
-      strategyNotFoundDescAndSwitchVersion: '喙�喔о腑喔`箤喔娻副喔權笡喔ム副喙娻竵喔复喔權笚喔掂箞喔曕复喔斷笗喔编箟喔囙箘喔∴箞喔∴傅喔佮弗喔⑧父喔椸笜喙屶笝喔掂箟 喔勦弗喔脆竵喙�喔炧阜喙堗腑喙�喔涏弗喔掂箞喔⑧笝喙�喔о腑喔`箤喔娻副喔�',
-      pluginNotInstalledDesc: '喔涏弗喔编箠喔佮腑喔脆笝喔權傅喙夃笗喔脆笖喔曕副喙夃竾喔堗覆喔� GitHub 喙傕笡喔`笖喙勦笡喔椸傅喙堗笡喔ム副喙娻竵喔复喔權箑喔炧阜喙堗腑喔曕复喔斷笗喔编箟喔囙箖喔浮喙�',
-      pluginNotInstalled: '喙勦浮喙堗箘喔斷箟喔曕复喔斷笗喔编箟喔囙笡喔ム副喙娻竵喔复喔權笝喔掂箟',
-      toolNotInstallTooltip: '{{tool}} 喙勦浮喙堗箘喔斷箟喔曕复喔斷笗喔编箟喔�',
-      modelNotInstallTooltip: '喙勦浮喙堗箘喔斷箟喔曕复喔斷笗喔编箟喔囙福喔膏箞喔權笝喔掂箟',
-      model: '喙佮笟喔�',
-      strategyNotFoundDesc: '喙�喔о腑喔`箤喔娻副喔權笡喔ム副喙娻竵喔复喔權笚喔掂箞喔曕复喔斷笗喔编箟喔囙箘喔∴箞喔∴傅喔佮弗喔⑧父喔椸笜喙屶笝喔掂箟',
-      toolNotAuthorizedTooltip: '{{喙�喔勦福喔粪箞喔竾喔∴阜喔瓆} 喙勦浮喙堗箘喔斷箟喔`副喔氞腑喔權父喔嵿覆喔�',
-      unsupportedStrategy: '喔佮弗喔⑧父喔椸笜喙屶笚喔掂箞喙勦浮喙堗福喔竾喔`副喔�',
-      strategyNotSet: '喙勦浮喙堗箘喔斷箟喔曕副喙夃竾喔勦箞喔侧竵喔ム涪喔膏笚喔樴箤喔曕副喔о箒喔椸笝',
-      learnMore: '喔ㄠ付喔佮俯喔侧箑喔炧复喙堗浮喙�喔曕复喔�',
-      pluginNotFoundDesc: '喔涏弗喔编箠喔佮腑喔脆笝喔權傅喙夃笗喔脆笖喔曕副喙夃竾喔堗覆喔� GitHub 喙傕笡喔`笖喙勦笡喔椸傅喙堗笡喔ム副喙娻竵喔复喔權箑喔炧阜喙堗腑喔曕复喔斷笗喔编箟喔囙箖喔浮喙�',
-      notAuthorized: '喙勦浮喙堗箘喔斷箟喔`副喔氞腑喔權父喔嵿覆喔�',
-      configureModel: '喔佮箥喔侧斧喔權笖喔勦箞喔侧箒喔氞笟喔堗箥喔侧弗喔竾',
-      strategyNotInstallTooltip: '{{strategy}} 喙勦浮喙堗箘喔斷箟喔曕复喔斷笗喔编箟喔�',
-      tools: '喙�喔勦福喔粪箞喔竾 喔∴阜喔�',
-      modelNotSelected: '喙勦浮喙堗箘喔斷箟喙�喔ム阜喔竵喔`父喙堗笝',
-      linkToPlugin: '喔ム复喔囙竵喙屶箘喔涏涪喔编竾喔涏弗喔编箠喔佮腑喔脆笝',
-    },
-    loop: {
-      ErrorMethod: {
-        removeAbnormalOutput: '喔ム笟喔溹弗喔ム副喔炧笜喙屶笚喔掂箞喔溹复喔斷笡喔佮笗喔�',
-        operationTerminated: '喔栢腹喔佮涪喔佮箑喔ム复喔�',
-        continueOnError: '喔斷赋喙�喔權复喔權竵喔侧福喔曕箞喔箑喔∴阜喙堗腑喔∴傅喔傕箟喔笢喔脆笖喔炧弗喔侧笖',
-      },
-      breakCondition: '喙�喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔涪喔膏笖喔ム腹喔�',
-      output: '喔曕副喔о箒喔涏福喙�喔覆喔椸箤喔炧父喔�',
-      error_one: '{{count}} 喔傕箟喔笢喔脆笖喔炧弗喔侧笖',
-      loop_one: '{{count}} 喔ム腹喔�',
-      loopMaxCount: '喔堗赋喔權抚喔權福喔笟喔腹喔囙釜喔膏笖',
-      errorResponseMethod: '喔о复喔樴傅喔佮覆喔`笗喔笟喔笝喔竾喔傕箟喔笢喔脆笖喔炧弗喔侧笖',
-      loopVariables: '喔曕副喔о箒喔涏福喔ム腹喔�',
-      deleteDesc: '喔佮覆喔`弗喔氞箓喔笝喔斷弗喔灌笡喔堗赴喔ム笟喙傕斧喔權笖喔ム腹喔佮笚喔编箟喔囙斧喔∴笖',
-      deleteTitle: '喔ム笟喙傕斧喔權笖喔ム腹喔涏斧喔`阜喔箘喔∴箞?',
-      error_other: '{{count}} 喔傕箟喔笢喔脆笖喔炧弗喔侧笖',
-      loop_other: '{{count}} 喔`腑喔�',
-      loopMaxCountError: '喔佮福喔膏笓喔侧箖喔箞喔堗赋喔權抚喔權福喔笟喔腹喔囙釜喔膏笖喔椸傅喙堗笘喔灌竵喔曕箟喔竾 喔嬥付喙堗竾喔涪喔灌箞喔`赴喔抚喙堗覆喔� 1 喔栢付喔� {{maxCount}}',
-      comma: ',',
-      loopNode: '喔權箛喔笖喔ム腹喔�',
-      totalLoopCount: '喔堗赋喔權抚喔權福喔笟喔椸副喙夃竾喔浮喔�: {{count}}',
-      setLoopVariables: '喔佮赋喔笝喔斷笗喔编抚喙佮笡喔`笭喔侧涪喙冟笝喔傕腑喔氞箑喔傕笗喔傕腑喔囙弗喔灌笡',
-      input: '喔佮覆喔`笡喙夃腑喔權競喙夃腑喔∴腹喔�',
-      finalLoopVariables: '喔曕副喔о箒喔涏福喙冟笝喔ム腹喔涏釜喔膏笖喔椸箟喔侧涪',
-      inputMode: '喙傕斧喔∴笖喔佮覆喔`笝喔赤箑喔傕箟喔�',
-      currentLoop: '喔о竾喔堗福喔涏副喔堗笀喔膏笟喔编笝',
-      initialLoopVariables: '喔曕副喔о箒喔涏福喙冟笝喔ム腹喔涏箑喔`复喙堗浮喔曕箟喔�',
-      currentLoopCount: '喔堗赋喔權抚喔權福喔笟喔涏副喔堗笀喔膏笟喔编笝: {{count}}',
-      variableName: '喔娻阜喙堗腑 喔曕副喔о箒喔涏福',
-      exitConditionTip: '喙傕斧喔權笖喔ム腹喔涏笗喙夃腑喔囙浮喔掂箑喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔腑喔佮腑喔⑧箞喔侧竾喔權箟喔涪喔笝喔多箞喔囙箑喔囙阜喙堗腑喔權箘喔�',
-      breakConditionTip: '喙佮竸喙堗笗喔编抚喙佮笡喔`笭喔侧涪喙冟笝喔ム腹喔涏笚喔掂箞喔∴傅喙�喔囙阜喙堗腑喔權箘喔傕竵喔侧福喔复喙夃笝喔父喔斷箒喔ム赴喔曕副喔о箒喔涏福喔赋喔福喔编笟喔佮覆喔`釜喔權笚喔權覆喙�喔椸箞喔侧笝喔编箟喔權笚喔掂箞喔覆喔∴覆喔`笘喔箟喔侧竾喔复喔囙箘喔斷箟.',
-    },
   },
   tracing: {
     stopBy: '喙佮抚喔班笚喔掂箞 {{user}}',
@@ -882,38 +700,6 @@
     noAvailableVars: '喙勦浮喙堗浮喔掂笗喔编抚喙佮笡喔`笚喔掂箞喙冟笂喙夃箘喔斷箟',
     assignedVarsDescription: '喔曕副喔о箒喔涏福喔椸傅喙堗竵喙嵿覆喔笝喔斷笗喙夃腑喔囙箑喔涏箛喔權笗喔编抚喙佮笡喔`笚喔掂箞喙�喔傕傅喔⑧笝喙勦笖喙� 喙�喔娻箞喔�',
     noAssignedVars: '喙勦浮喙堗浮喔掂笗喔编抚喙佮笡喔`笚喔掂箞喔佮箥喔侧斧喔權笖',
-  },
-  versionHistory: {
-    filter: {
-      onlyYours: '喙�喔炧傅喔⑧竾喔傕腑喔囙竸喔膏笓喙�喔椸箞喔侧笝喔编箟喔�',
-      empty: '喙勦浮喙堗笧喔氞笡喔`赴喔о副喔曕复喔佮覆喔`箑喔о腑喔`箤喔娻副喔權笚喔掂箞喔曕福喔囙竵喔编笝',
-      onlyShowNamedVersions: '喙佮釜喔斷竾喙�喔夃笧喔侧赴喔`父喙堗笝喔椸傅喙堗笗喔编箟喔囙笂喔粪箞喔�',
-      all: '喔椸副喙夃竾喔浮喔�',
-      reset: '喔`傅喙�喔嬥箛喔曕笗喔编抚喔佮福喔竾',
-    },
-    editField: {
-      releaseNotes: '喔氞副喔權笚喔多竵喔佮覆喔`箑喔涏复喔斷笗喔编抚',
-      releaseNotesLengthLimit: '喔浮喔侧涪喙�喔笗喔膏竵喔侧福喔涏弗喙堗腑喔⑧箘喔∴箞喔覆喔∴覆喔`笘喙�喔佮复喔� {{limit}} 喔曕副喔о腑喔编竵喔┼福',
-      titleLengthLimit: '喔娻阜喙堗腑喙�喔`阜喙堗腑喔囙笗喙夃腑喔囙箘喔∴箞喙�喔佮复喔� {{limit}} 喔曕副喔о腑喔编竵喔┼福',
-      title: '喔娻阜喙堗腑喙�喔`阜喙堗腑喔�',
-    },
-    action: {
-      updateFailure: '喙勦浮喙堗釜喔侧浮喔侧福喔栢腑喔编笡喙�喔斷笗喙�喔о腑喔`箤喔娻副喔權箘喔斷箟',
-      deleteFailure: '喔ム笟喙�喔о腑喔`箤喔娻副喔權箘喔∴箞喔赋喙�喔`箛喔�',
-      deleteSuccess: '喙�喔о腑喔`箤喔娻副喔權笘喔灌竵喔ム笟',
-      restoreSuccess: '喙�喔о腑喔`箤喔娻副喔權笚喔掂箞喔佮腹喙夃竸喔粪笝',
-      restoreFailure: '喙勦浮喙堗釜喔侧浮喔侧福喔栢竵喔灌箟喔勦阜喔權箑喔о腑喔`箤喔娻副喔權箘喔斷箟',
-      updateSuccess: '喔副喔涏箑喔斷笗喙�喔о腑喔`箤喔娻副喔�',
-    },
-    releaseNotesPlaceholder: '喔笜喔脆笟喔侧涪喔о箞喔侧釜喔脆箞喔囙笚喔掂箞喙�喔涏弗喔掂箞喔⑧笝喙佮笡喔ム竾喙勦笡喔勦阜喔腑喔班箘喔�',
-    currentDraft: '喔`箞喔侧竾喔涏副喔堗笀喔膏笟喔编笝',
-    editVersionInfo: '喙佮竵喙夃箘喔傕競喙夃腑喔∴腹喔ム箑喔о腑喔`箤喔娻副喔�',
-    restorationTip: '喔弗喔编竾喔堗覆喔佮竵喔侧福喔佮腹喙夃竸喔粪笝喙�喔о腑喔`箤喔娻副喔權箒喔ム箟喔� 喔`箞喔侧竾喔涏副喔堗笀喔膏笟喔编笝喔堗赴喔栢腹喔佮箑喔傕傅喔⑧笝喔椸副喔�.',
-    defaultName: '喙�喔о腑喔`箤喔娻副喔權笚喔掂箞喙勦浮喙堗浮喔掂笂喔粪箞喔�',
-    deletionTip: '喔佮覆喔`弗喔氞箘喔∴箞喔覆喔∴覆喔`笘喔⑧箟喔笝喔佮弗喔编笟喙勦笖喙� 喔佮福喔膏笓喔侧涪喔粪笝喔⑧副喔�.',
-    nameThisVersion: '喔娻阜喙堗腑喙�喔о腑喔`箤喔娻副喔權笝喔掂箟',
-    title: '喙�喔о腑喔`箤喔娻副喔�',
-    latest: '喔ム箞喔侧釜喔膏笖',
   },
 }
 
diff --git a/i18n/tr-TR/app-overview.ts b/i18n/tr-TR/app-overview.ts
index f7203e2..14a057a 100644
--- a/i18n/tr-TR/app-overview.ts
+++ b/i18n/tr-TR/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Sohbet botunun renk temas谋n谋 ayarlay谋n',
         chatColorThemeInverted: 'Tersine 莽evrilmi艧',
         invalidHexMessage: 'Ge莽ersiz hex de臒eri',
-        invalidPrivacyPolicy: 'Ge莽ersiz gizlilik politikas谋 ba臒lant谋s谋. L眉tfen http veya https ile ba艧layan ge莽erli bir ba臒lant谋 kullan谋n',
         more: {
           entry: 'Daha fazla ayar谋 g枚ster',
           copyright: 'Telif Hakk谋',
@@ -113,7 +112,6 @@
           operation: 'Dok眉mantasyon',
         },
       },
-      launch: 'Ba艧lat',
     },
     apiInfo: {
       title: 'Arka U莽 Servis API\'si',
diff --git a/i18n/tr-TR/app.ts b/i18n/tr-TR/app.ts
index 0e27f84..cedf1e2 100644
--- a/i18n/tr-TR/app.ts
+++ b/i18n/tr-TR/app.ts
@@ -159,10 +159,6 @@
       title: 'Opik Belediyesi',
       description: 'Opik, LLM uygulamalar谋n谋 de臒erlendirmek, test etmek ve izlemek i莽in a莽谋k kaynakl谋 bir platformdur.',
     },
-    weave: {
-      title: 'Dokuma',
-      description: 'Weave, LLM uygulamalar谋n谋 de臒erlendirmek, test etmek ve izlemek i莽in a莽谋k kaynakl谋 bir platformdur.',
-    },
   },
   answerIcon: {
     descriptionInExplore: 'Ke艧fet\'te de臒i艧tirilecek 馃 WebApp simgesinin kullan谋l谋p kullan谋lmayaca臒谋',
@@ -188,23 +184,6 @@
     byCategories: 'KATEGORILERE G脰RE',
   },
   showMyCreatedAppsOnly: 'Sadece olu艧turdu臒um uygulamalar谋 g枚ster',
-  appSelector: {
-    noParams: 'Parametre gerekmez',
-    label: 'Uygulama',
-    placeholder: 'Bir uygulama se莽in...',
-    params: 'UYGULAMA PARAMETRELERI',
-  },
-  structOutput: {
-    required: 'Gerekli',
-    structured: 'Yap谋land谋r谋lm谋艧',
-    LLMResponse: 'LLM Yan谋t谋',
-    notConfiguredTip: 'Yap谋land谋r谋lm谋艧 莽谋kt谋 hen眉z yap谋land谋r谋lmam谋艧.',
-    configure: 'Yap谋land谋r',
-    modelNotSupported: 'Model desteklenmiyor',
-    moreFillTip: 'Maksimum 10 katmanl谋 i莽 i莽e ge莽i艧leri g枚sterme',
-    modelNotSupportedTip: 'Mevcut model bu 枚zelli臒i desteklemiyor ve otomatik olarak prompt enjeksiyonuna d眉艧眉r眉l眉yor.',
-    structuredTip: 'Yap谋land谋r谋lm谋艧 脟谋kt谋lar, modelin sa臒lad谋臒谋n谋z JSON 艦emas谋na uyacak 艧ekilde her zaman yan谋tlar 眉retmesini sa臒layan bir 枚zelliktir.',
-  },
 }
 
 export default translation
diff --git a/i18n/tr-TR/billing.ts b/i18n/tr-TR/billing.ts
index fd51bae..1db14bb 100644
--- a/i18n/tr-TR/billing.ts
+++ b/i18n/tr-TR/billing.ts
@@ -70,7 +70,6 @@
     messageRequest: {
       title: 'Mesaj Kredileri',
       tooltip: 'OpenAI modellerini (gpt4 hari莽) kullanarak 莽e艧itli planlar i莽in mesaj 莽a臒r谋 kotalar谋. Limitin 眉zerindeki mesajlar OpenAI API Anahtar谋n谋z谋 kullan谋r.',
-      titlePerMonth: '{{count,number}} mesaj/ay',
     },
     annotatedResponse: {
       title: 'Ek A莽谋klama Kota S谋n谋rlar谋',
@@ -78,94 +77,27 @@
     },
     ragAPIRequestTooltip: 'Dify\'nin sadece bilgi taban谋 i艧leme yeteneklerini 莽a臒谋ran API 莽a臒r谋lar谋 say谋s谋n谋 ifade eder.',
     receiptInfo: 'Sadece tak谋m sahibi ve tak谋m y枚neticisi abone olabilir ve faturaland谋rma bilgilerini g枚r眉nt眉leyebilir',
-    documentsTooltip: 'Bilgi Veri Kayna臒谋ndan ithal edilen belge say谋s谋na kota.',
-    freeTrialTipSuffix: 'Kredi kart谋 gerekmez',
-    freeTrialTipPrefix: 'Kaydolun ve bir',
-    priceTip: 'i艧 alan谋 ba艧谋na/',
-    documentsRequestQuota: '{{count,number}}/dakika Bilgi 陌ste臒i Oran Limiti',
-    apiRateLimitUnit: '{{count,number}}/g眉n',
-    documents: '{{count,number}} Bilgi Belgesi',
-    comparePlanAndFeatures: 'Planlar谋 ve 枚zellikleri kar艧谋la艧t谋r',
-    self: 'Kendi Bar谋nd谋r谋lan',
-    getStarted: 'Ba艧lay谋n',
-    annualBilling: 'Y谋ll谋k Faturalama',
-    teamMember_one: '{{count,number}} Tak谋m 脺yesi',
-    apiRateLimit: 'API H谋z Limiti',
-    cloud: 'Bulut Hizmeti',
-    teamMember_other: '{{count,number}} Tak谋m 脺yesi',
-    apiRateLimitTooltip: 'Dify API\'si arac谋l谋臒谋yla yap谋lan t眉m isteklerde, metin olu艧turma, sohbet konu艧malar谋, i艧 ak谋艧谋 y眉r眉tmeleri ve belge i艧leme dahil olmak 眉zere, API Oran S谋n谋r谋 uygulan谋r.',
-    unlimitedApiRate: 'API H谋z S谋n谋r谋 Yok',
-    freeTrialTip: '200 OpenAI 莽a臒r谋s谋n谋n 眉cretsiz denemesi.',
-    teamWorkspace: '{{count,number}} Tak谋m 脟al谋艧ma Alan谋',
-    documentsRequestQuotaTooltip: 'Bir 莽al谋艧ma alan谋n谋n bilgi taban谋nda, veri seti olu艧turma, silme, g眉ncellemeler, belge y眉klemeleri, de臒i艧iklikler, ar艧ivleme ve bilgi taban谋 sorgular谋 dahil olmak 眉zere, dakikada ger莽ekle艧tirebilece臒i toplam i艧lem say谋s谋n谋 belirtir. Bu 枚l莽眉t, bilgi taban谋 taleplerinin performans谋n谋 de臒erlendirmek i莽in kullan谋l谋r. 脰rne臒in, bir Sandbox kullan谋c谋s谋 bir dakika i莽inde ard谋艧谋k 10 vurma testi ger莽ekle艧tirirse, 莽al谋艧ma alan谋 bir sonraki dakika i莽in a艧a臒谋daki i艧lemleri ger莽ekle艧tirmesi ge莽ici olarak k谋s谋tlanacakt谋r: veri seti olu艧turma, silme, g眉ncellemeler ve belge y眉klemeleri veya de臒i艧iklikler.',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200 kez GPT 眉cretsiz deneme',
       includesTitle: '陌莽erdikleri:',
-      for: 'Temel Yeteneklerin 脺cretsiz Denemesi',
     },
     professional: {
       name: 'Profesyonel',
       description: 'Bireyler ve k眉莽眉k tak谋mlar i莽in daha fazla g眉莽 a莽谋n.',
       includesTitle: '脺cretsiz plandaki her 艧ey, art谋:',
-      for: 'Ba臒谋ms谋z Geli艧tiriciler/K眉莽眉k Tak谋mlar i莽in',
     },
     team: {
       name: 'Tak谋m',
       description: 'S谋n谋rs谋z i艧birli臒i ve en 眉st d眉zey performans.',
       includesTitle: 'Profesyonel plandaki her 艧ey, art谋:',
-      for: 'Orta Boyutlu Tak谋mlar 陌莽in',
     },
     enterprise: {
       name: 'Kurumsal',
       description: 'B眉y眉k 枚l莽ekli kritik sistemler i莽in tam yetenekler ve destek.',
       includesTitle: 'Tak谋m plandaki her 艧ey, art谋:',
-      features: {
-        3: 'Birden Fazla 脟al谋艧ma Alan谋 ve Kurumsal Y枚netim',
-        8: 'Profesyonel Teknik Destek',
-        4: 'SSO',
-        2: '脰zel 艦irket 脰zellikleri',
-        1: 'Ticari Lisans Yetkilendirmesi',
-        7: 'Dify Taraf谋ndan Resmi G眉ncellemeler ve Bak谋m',
-        5: 'Dify Ortaklar谋 taraf谋ndan m眉zakere edilen SLA\'lar',
-        6: 'Geli艧mi艧 G眉venlik ve Kontroller',
-        0: 'Kurumsal D眉zeyde 脰l莽eklenebilir Da臒谋t谋m 脟枚z眉mleri',
-      },
-      priceTip: 'Y谋ll谋k Faturalama Sadece',
-      for: 'B眉y眉k boyutlu Tak谋mlar i莽in',
-      btnText: 'Sat谋艧 ile 陌leti艧ime Ge莽',
-      price: '脰zel',
-    },
-    community: {
-      features: {
-        1: 'Tek 陌艧 Alan谋',
-        0: 'T眉m Temel 脰zellikler Kamu Deposu Alt谋nda Yay谋nland谋',
-        2: 'Dify A莽谋k Kaynak Lisans谋na uyar',
-      },
-      price: '脺cretsiz',
-      includesTitle: '脺cretsiz 脰zellikler:',
-      name: 'Topluluk',
-      btnText: 'Toplulu臒a Ba艧lay谋n',
-      for: 'Bireysel Kullan谋c谋lar, K眉莽眉k Ekipler veya Ticari Olmayan Projeler 陌莽in',
-      description: 'Bireysel Kullan谋c谋lar, K眉莽眉k Ekipler veya Ticari Olmayan Projeler 陌莽in',
-    },
-    premium: {
-      features: {
-        1: 'Tek 陌艧 Alan谋',
-        0: '脟e艧itli Bulut Sa臒lay谋c谋lar谋 Taraf谋ndan Kendili臒inden Y枚netilen G眉venilirlik',
-        3: '脰ncelikli Email ve Sohbet Deste臒i',
-        2: 'Web Uygulamas谋 Logo ve Markala艧ma 脰zelle艧tirmesi',
-      },
-      name: 'Premium',
-      includesTitle: 'Topluluktan her 艧ey, art谋:',
-      for: 'Orta B眉y眉kl眉kteki Organizasyonlar ve Ekipler i莽in',
-      price: '脰l莽eklenebilir',
-      btnText: 'Premium al谋n',
-      priceTip: 'Bulut Pazar谋na Dayal谋',
-      description: 'Orta B眉y眉kl眉kteki Organizasyonlar ve Ekipler i莽in',
-      comingSoon: 'Microsoft Azure ve Google Cloud Deste臒i Yak谋nda Geliyor',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'Daha fazla uygulama olu艧turmak i莽in',
     fullTipLine2: 'plan谋n谋z谋 y眉kseltin.',
-    contactUs: 'Bizimle ileti艧ime ge莽in',
-    fullTip2des: 'Kullan谋m谋 serbest b谋rakmak i莽in etkisiz uygulamalar谋n temizlenmesi 枚nerilir veya bizimle ileti艧ime ge莽in.',
-    fullTip1des: 'Bu planda uygulama olu艧turma limitine ula艧t谋n谋z.',
-    fullTip2: 'Plan limiti a艧谋ld谋',
-    fullTip1: 'Daha fazla uygulama olu艧turmak i莽in y眉kseltin',
   },
   annotatedResponse: {
     fullTipLine1: 'Daha fazla konu艧may谋 a莽谋klamak i莽in',
     fullTipLine2: 'plan谋n谋z谋 y眉kseltin.',
     quotaTitle: 'Ek A莽谋klama Yan谋t谋 Kotas谋',
   },
-  usagePage: {
-    teamMembers: 'Ekip 脺yeleri',
-    vectorSpaceTooltip: 'Y眉ksek Kalite indeksleme moduna sahip belgeler, Bilgi Veri Depolama kaynaklar谋n谋 t眉ketir. Bilgi Veri Depolama s谋n谋r谋na ula艧t谋臒谋nda, yeni belgeler y眉klenmeyecek.',
-    vectorSpace: 'Bilgi Veri Depolama',
-    buildApps: 'Uygulama Geli艧tir',
-    annotationQuota: 'Notland谋rma Kotas谋',
-    documentsUploadQuota: 'Belgeler Y眉kleme Kotas谋',
-  },
-  teamMembers: 'Ekip 脺yeleri',
 }
 
 export default translation
diff --git a/i18n/tr-TR/common.ts b/i18n/tr-TR/common.ts
index 584c0a8..ea764eb 100644
--- a/i18n/tr-TR/common.ts
+++ b/i18n/tr-TR/common.ts
@@ -50,14 +50,6 @@
     submit: 'G枚nder',
     skip: 'Gemi',
     imageCopied: 'Kopyalanan g枚r眉nt眉',
-    deleteApp: 'Uygulamay谋 Sil',
-    copied: 'Kopya -lanan',
-    in: 'i莽inde',
-    viewDetails: 'Detaylar谋 G枚r眉nt眉le',
-    downloadSuccess: '陌ndirme Tamamland谋.',
-    format: 'Format',
-    more: 'Daha fazla',
-    downloadFailed: '陌ndirme ba艧ar谋s谋z oldu. L眉tfen daha sonra tekrar deneyin.',
   },
   errorMsg: {
     fieldRequired: '{{field}} gereklidir',
@@ -134,8 +126,6 @@
       Custom: '脰zel',
     },
     addMoreModel: 'Daha fazla model eklemek i莽in ayarlara gidin',
-    capabilities: 'MultiModal Yetenekler',
-    settingsLink: 'Model Sa臒lay谋c谋 Ayarlar谋',
   },
   menus: {
     status: 'beta',
@@ -148,7 +138,6 @@
     newApp: 'Yeni Uygulama',
     newDataset: 'Bilgi Olu艧tur',
     tools: 'Ara莽lar',
-    exploreMarketplace: 'Marketplace\'i Ke艧fedin',
   },
   userProfile: {
     settings: 'Ayarlar',
@@ -161,9 +150,6 @@
     community: 'Topluluk',
     about: 'Hakk谋nda',
     logout: '脟谋k谋艧 Yap',
-    support: 'Destek',
-    compliance: 'Uygunluk',
-    github: 'GitHub',
   },
   settings: {
     accountGroup: 'HESAP',
@@ -177,7 +163,6 @@
     dataSource: 'Veri Kayna臒谋',
     plugin: 'Eklentiler',
     apiBasedExtension: 'API Uzant谋s谋',
-    generalGroup: 'GENEL',
   },
   account: {
     avatar: 'Avatar',
@@ -213,9 +198,6 @@
     permanentlyDeleteButton: 'Hesab谋 Kal谋c谋 Olarak Sil',
     deletePrivacyLinkTip: 'Verilerinizi nas谋l i艧ledi臒imiz hakk谋nda daha fazla bilgi i莽in l眉tfen',
     sendVerificationButton: 'Do臒rulama Kodu G枚nder',
-    workspaceName: '脟al谋艧ma Alan谋 Ad谋',
-    workspaceIcon: '脟al谋艧ma Alan谋 陌konu',
-    editWorkspaceInfo: '脟al谋艧ma Alan谋 Bilgilerini D眉zenle',
   },
   members: {
     team: 'Tak谋m',
@@ -308,7 +290,6 @@
       usedUp: 'Deneme kotas谋 kullan谋ld谋. Kendi Model Sa臒lay谋c谋n谋z谋 ekleyin.',
       useYourModel: '艦u anda kendi Model Sa臒lay谋c谋n谋z谋 kullan谋yorsunuz.',
       close: 'Kapat',
-      trialQuotaTip: 'Antropik deneme kotan谋z 11/03/2025 tarihinde sona erecek ve bu tarihten sonra kullan谋lamayacakt谋r. L眉tfen zaman谋nda kullan谋n.',
     },
     anthropic: {
       using: 'Yerle艧tirme yetene臒i,',
@@ -420,12 +401,6 @@
     loadBalancingLeastKeyWarning: 'Y眉k dengeleme etkinle艧tirmek i莽in en az 2 anahtar etkinle艧tirilmelidir.',
     loadBalancingInfo: 'Varsay谋lan olarak, y眉k dengeleme Yuvarlakrobin stratejisini kullan谋r. H谋z s谋n谋rlamas谋 tetiklenirse, 1 dakikal谋k bir so臒uma s眉resi uygulanacakt谋r.',
     upgradeForLoadBalancing: 'Y眉k Dengelemeyi etkinle艧tirmek i莽in plan谋n谋z谋 y眉kseltin.',
-    installProvider: 'Model sa臒lay谋c谋lar谋n谋 y眉kleme',
-    toBeConfigured: 'Yap谋land谋r谋lacak',
-    emptyProviderTip: 'L眉tfen 枚nce bir model sa臒lay谋c谋 y眉kleyin.',
-    emptyProviderTitle: 'Model sa臒lay谋c谋 ayarlanmad谋',
-    discoverMore: 'Daha fazlas谋n谋 ke艧fedin',
-    configureTip: 'Api-key\'i ayarlay谋n veya kullanmak i莽in model ekleyin',
   },
   dataSource: {
     add: 'Bir veri kayna臒谋 ekle',
@@ -469,7 +444,7 @@
   apiBasedExtension: {
     title: 'API uzant谋lar谋 merkezi API y枚netimi sa臒lar, Dify\'nin uygulamalar谋 aras谋nda kolay kullan谋m i莽in yap谋land谋rmay谋 basitle艧tirir.',
     link: 'Kendi API Uzant谋n谋z谋 nas谋l geli艧tirece臒inizi 枚臒renin.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'API Uzant谋s谋 Ekle',
     selector: {
       title: 'API Uzant谋s谋',
@@ -555,9 +530,6 @@
       hitScore: 'Geri Al谋m Skoru:',
     },
     inputPlaceholder: 'Bot ile konu艧',
-    thought: 'D眉艧眉nce',
-    thinking: 'D眉艧眉n眉...',
-    resend: 'Yeniden g枚nder',
   },
   promptEditor: {
     placeholder: 'Prompt kelimenizi buraya yaz谋n, de臒i艧ken eklemek i莽in \'{\' tu艧una, prompt i莽erik blo臒u eklemek i莽in \'/\' tu艧una bas谋n',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: 'Sayfa ba艧谋na 枚臒e say谋s谋',
-  },
-  theme: {
-    light: '谋艧谋k',
-    dark: 'koyu',
-    auto: 'sistem',
-    theme: 'Tema',
-  },
-  compliance: {
-    soc2Type1: 'SOC 2 Tip I Raporu',
-    sandboxUpgradeTooltip: 'Yaln谋zca Profesyonel veya Tak谋m plan谋 ile kullan谋labilir.',
-    iso27001: 'ISO 27001:2022 Sertifikas谋',
-    professionalUpgradeTooltip: 'Yaln谋zca Tak谋m plan谋 veya 眉st眉 ile mevcuttur.',
-    gdpr: 'GDPR DPA',
-    soc2Type2: 'SOC 2 Tip II Raporu',
-  },
-  imageInput: {
-    supportedFormats: 'PNG, JPG, JPEG, WEBP ve GIF\'i destekler',
-    dropImageHere: 'G枚r眉nt眉n眉z眉 buraya b谋rak谋n veya',
-    browse: 'taray谋c谋',
   },
 }
 
diff --git a/i18n/tr-TR/custom.ts b/i18n/tr-TR/custom.ts
index 15c4ff5..d452607 100644
--- a/i18n/tr-TR/custom.ts
+++ b/i18n/tr-TR/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'Markan谋z谋 枚zelle艧tirmek i莽in plan谋n谋z谋 y眉kseltin',
     suffix: '.',
-    des: 'Markan谋z谋 枚zelle艧tirmek i莽in plan谋n谋z谋 y眉kseltin',
-    title: 'Plan谋n谋z谋 y眉kseltin',
   },
   webapp: {
     title: 'WebApp markas谋n谋 枚zelle艧tir',
diff --git a/i18n/tr-TR/dataset-creation.ts b/i18n/tr-TR/dataset-creation.ts
index cb3cfcf..f8ddefb 100644
--- a/i18n/tr-TR/dataset-creation.ts
+++ b/i18n/tr-TR/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'Bilgi Olu艧tur',
       update: 'Veri ekle',
-      fallbackRoute: 'Bilgi',
     },
     one: 'Veri kayna臒谋 se莽in',
     two: 'Metin 脰n 陌艧leme ve Temizleme',
@@ -27,7 +26,7 @@
     },
     uploader: {
       title: 'Dosya y眉kle',
-      button: 'Dosyalar谋 veya klas枚rleri s眉r眉kleyip b谋rak谋n veya',
+      button: 'Dosyay谋 s眉r眉kleyip b谋rak谋n veya',
       browse: 'G枚z at谋n',
       tip: 'Destekler {{supportTypes}}. Her biri en fazla {{size}}MB.',
       validation: {
@@ -63,7 +62,7 @@
       run: '脟al谋艧t谋r',
       firecrawlTitle: '馃敟Firecrawl ile web i莽eri臒ini 莽谋kar谋n',
       firecrawlDoc: 'Firecrawl dok眉manlar谋',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       options: 'Se莽enekler',
       crawlSubPage: 'Alt sayfalar谋 taray谋n',
       limit: 'S谋n谋r',
@@ -87,14 +86,6 @@
       jinaReaderDoc: 'Jina Reader hakk谋nda daha fazla bilgi edinin',
       jinaReaderNotConfigured: 'Jina Reader yap谋land谋r谋lmad谋',
       jinaReaderDocLink: 'https://jina.ai/reader',
-      waterCrawlNotConfiguredDescription: 'Watercrawl\'谋 kullanmak i莽in API anahtar谋 ile yap谋land谋r谋n.',
-      configureFirecrawl: 'Firecrawl\'谋 yap谋land谋r',
-      watercrawlDoc: 'Watercrawl belgeleri',
-      waterCrawlNotConfigured: 'Watercrawl yap谋land谋r谋lmam谋艧',
-      watercrawlTitle: 'Watercrawl ile web i莽eri臒ini 莽谋kar',
-      configureJinaReader: 'Jina Okuyucusunu Yap谋land谋r',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      configureWatercrawl: 'Watercrawl\'谋 yap谋land谋r',
     },
     cancel: '陌ptal',
   },
@@ -207,11 +198,6 @@
     learnMore: 'Daha fazla bilgi edinin',
     description: '艦u anda, Dify\'谋n bilgi taban谋 yaln谋zca s谋n谋rl谋 veri kaynaklar谋na sahiptir. Dify bilgi taban谋na bir veri kayna臒谋na katk谋da bulunmak, t眉m kullan谋c谋lar i莽in platformun esnekli臒ini ve g眉c眉n眉 art谋rmaya yard谋mc谋 olman谋n harika bir yoludur. Katk谋 k谋lavuzumuz, ba艧laman谋z谋 kolayla艧t谋r谋r. Daha fazla bilgi edinmek i莽in l眉tfen a艧a臒谋daki ba臒lant谋ya t谋klay谋n.',
     title: 'Di臒er veri kaynaklar谋na ba臒lan谋l谋yor mu?',
-  },
-  watercrawl: {
-    configWatercrawl: 'Su Taray谋c谋s谋n谋 Yap谋land谋r',
-    apiKeyPlaceholder: 'watercrawl.dev\'den API anahtar谋',
-    getApiKeyLinkText: 'API anahtar谋n谋z谋 watercrawl.dev\'den al谋n',
   },
 }
 
diff --git a/i18n/tr-TR/dataset-documents.ts b/i18n/tr-TR/dataset-documents.ts
index f643375..7a297d9 100644
--- a/i18n/tr-TR/dataset-documents.ts
+++ b/i18n/tr-TR/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: 'Dil',
         authorPublisher: 'Yazar/Yay谋nc谋',
         publishDate: 'Yay谋n Tarihi',
-        topicKeywords: 'Konular/Anahtar Kelimeler',
+        topicsKeywords: 'Konular/Anahtar Kelimeler',
         description: 'A莽谋klama',
       },
       paper: {
diff --git a/i18n/tr-TR/dataset-settings.ts b/i18n/tr-TR/dataset-settings.ts
index 18fb004..d173563 100644
--- a/i18n/tr-TR/dataset-settings.ts
+++ b/i18n/tr-TR/dataset-settings.ts
@@ -27,7 +27,6 @@
       learnMore: 'Daha fazla bilgi edinin',
       description: ' geri al谋m y枚ntemi hakk谋nda.',
       longDescription: ' geri al谋m y枚ntemi hakk谋nda, bunu Bilgi ayarlar谋nda istedi臒iniz zaman de臒i艧tirebilirsiniz.',
-      method: 'Retrieval Y枚ntemi',
     },
     save: 'Kaydet',
     retrievalSettings: 'Alma Ayarlar谋',
@@ -36,7 +35,6 @@
     upgradeHighQualityTip: 'Y眉ksek Kalite moduna y眉kselttikten sonra Ekonomik moda geri d枚n眉lemez',
     indexMethodChangeToEconomyDisabledTip: 'Genel Merkezden ECO\'ya d眉艧眉rme i莽in mevcut de臒il',
     helpText: '陌yi bir veri k眉mesi a莽谋klamas谋n谋n nas谋l yaz谋laca臒谋n谋 枚臒renin.',
-    searchModel: 'Model Ara',
   },
 }
 
diff --git a/i18n/tr-TR/dataset.ts b/i18n/tr-TR/dataset.ts
index 96f120c..6183849 100644
--- a/i18n/tr-TR/dataset.ts
+++ b/i18n/tr-TR/dataset.ts
@@ -168,54 +168,6 @@
   enable: 'Etkinle艧tirmek',
   allKnowledge: 'T眉m Bilgiler',
   allKnowledgeDescription: 'Bu 莽al谋艧ma alan谋ndaki t眉m bilgileri g枚r眉nt眉lemek i莽in se莽in. Yaln谋zca 脟al谋艧ma Alan谋 Sahibi t眉m bilgileri y枚netebilir.',
-  metadata: {
-    createMetadata: {
-      namePlaceholder: 'Meta veri ad谋 ekleyin',
-      back: 'Geri',
-      name: '陌sim',
-      type: 'Yaz',
-      title: 'Yeni Veriler',
-    },
-    checkName: {
-      empty: 'Meta veri ad谋 bo艧 olamaz',
-      invalid: 'Meta verisi ad谋 yaln谋zca k眉莽眉k harfler, say谋lar ve alt 莽izgiler i莽erebilir ve k眉莽眉k bir harfle ba艧lamal谋d谋r.',
-    },
-    batchEditMetadata: {
-      multipleValue: 'Birden Fazla De臒er',
-      applyToAllSelectDocumentTip: 'Se莽ilen t眉m belgeler i莽in yukar谋da d眉zenlenmi艧 ve yeni olan t眉m meta verileri otomatik olarak olu艧turun, aksi takdirde meta verileri d眉zenlemek yaln谋zca bununla ilgili belgelere uygulanacakt谋r.',
-      editDocumentsNum: '{{num}} belge d眉zenleniyor',
-      editMetadata: 'Meta Verileri D眉zenle',
-      applyToAllSelectDocument: 'Se莽ilen t眉m belgelere uygula',
-    },
-    selectMetadata: {
-      newAction: 'Yeni Veriler',
-      manageAction: 'Y枚net',
-      search: 'Arama meta verileri',
-    },
-    datasetMetadata: {
-      disabled: 'Devre d谋艧谋 b谋rak谋ld谋.',
-      builtIn: 'Yerle艧ik',
-      values: '{{num}} De臒erler',
-      builtInDescription: 'Yerle艧ik meta veriler otomatik olarak 莽谋kar谋l谋r ve olu艧turulur. Kullan谋mdan 枚nce etkinle艧tirilmesi gerekir ve d眉zenlenemez.',
-      rename: 'Yeniden Adland谋r',
-      addMetaData: 'Meta Verileri Ekle',
-      name: '陌sim',
-      deleteContent: 'Bu {{name}} meta verisini silmek istedi臒inizden emin misiniz?',
-      namePlaceholder: 'Meta veri ad谋',
-      deleteTitle: 'Silmek i莽in onayla',
-      description: 'Bu bilgideki t眉m meta verileri y枚netebilirsiniz. De臒i艧iklikler her belgeye senkronize edilecektir.',
-    },
-    documentMetadata: {
-      documentInformation: 'Belge Bilgisi',
-      metadataToolTip: 'Meta veriler, bilgi alma do臒rulu臒unu ve ge莽erlili臒ini art谋ran 枚nemli bir filtre g枚revi g枚r眉r. Bu belgede meta verileri burada de臒i艧tirebilir ve ekleyebilirsiniz.',
-      startLabeling: 'Etiketlemeye Ba艧la',
-      technicalParameters: 'Teknik Parametreler',
-    },
-    metadata: 'Veri Seti',
-    addMetadata: 'Meta Verileri Ekle',
-    chooseTime: 'Bir zaman se莽in...',
-  },
-  embeddingModelNotAvailable: 'G枚mme modeli mevcut de臒il.',
 }
 
 export default translation
diff --git a/i18n/tr-TR/explore.ts b/i18n/tr-TR/explore.ts
index 78b305e..52b45c6 100644
--- a/i18n/tr-TR/explore.ts
+++ b/i18n/tr-TR/explore.ts
@@ -37,7 +37,6 @@
     HR: '陌K',
     Agent: 'Arac谋',
     Workflow: '陌艧 Ak谋艧谋',
-    Entertainment: 'E臒lence',
   },
 }
 
diff --git a/i18n/tr-TR/run-log.ts b/i18n/tr-TR/run-log.ts
index 8fa8e93..a04f21b 100644
--- a/i18n/tr-TR/run-log.ts
+++ b/i18n/tr-TR/run-log.ts
@@ -24,8 +24,6 @@
     link: 'detay paneli',
     tipRight: 'ne gidin ve g枚r眉nt眉leyin.',
   },
-  actionLogs: 'Eylem G眉nl眉kleri',
-  circularInvocationTip: 'Ge莽erli i艧 ak谋艧谋nda ara莽lar谋n/d眉臒眉mlerin d枚ng眉sel olarak 莽a臒r谋lmas谋 vard谋r.',
 }
 
 export default translation
diff --git a/i18n/tr-TR/share-app.ts b/i18n/tr-TR/share-app.ts
index 184f44e..26c6f56 100644
--- a/i18n/tr-TR/share-app.ts
+++ b/i18n/tr-TR/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: '脟枚zmeyi Dene',
     temporarySystemIssue: '脺zg眉n眉z, ge莽ici sistem sorunu.',
-    expand: 'Geni艧let',
-    collapse: 'K谋s谋tla',
-    chatSettingsTitle: 'Yeni sohbet kurulumu',
-    chatFormTip: 'Sohbet ba艧lad谋ktan sonra sohbet ayarlar谋 de臒i艧tirilemez.',
-    viewChatSettings: 'Sohbet ayarlar谋n谋 g枚r眉nt眉le',
-    newChatTip: 'Zaten yeni bir sohbette',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: 'Sat谋r {{rowIndex}}: {{varName}} de臒eri {{maxLength}} karakterden fazla olamaz',
       atLeastOne: 'L眉tfen y眉klenen dosyada en az bir sat谋r girin.',
     },
-    execution: '陌FRAZAT',
-    executions: '{{num}} 陌DAM',
   },
 }
 
diff --git a/i18n/tr-TR/tools.ts b/i18n/tr-TR/tools.ts
index d4b6725..a579ac8 100644
--- a/i18n/tr-TR/tools.ts
+++ b/i18n/tr-TR/tools.ts
@@ -133,7 +133,6 @@
     number: 'numara',
     required: 'Gerekli',
     infoAndSetting: 'Bilgi ve Ayarlar',
-    file: 'dosya',
   },
   noCustomTool: {
     title: '脰zel ara莽 yok!',
@@ -151,8 +150,6 @@
   howToGet: 'Nas谋l al谋n谋r',
   openInStudio: 'Studyoda A莽',
   toolNameUsageTip: 'Agent ak谋l y眉r眉tme ve prompt i莽in ara莽 莽a臒r谋 ad谋',
-  copyToolName: 'Ad谋 Kopyala',
-  noTools: 'Ara莽 bulunamad谋',
 }
 
 export default translation
diff --git a/i18n/tr-TR/workflow.ts b/i18n/tr-TR/workflow.ts
index 999456f..9829f09 100644
--- a/i18n/tr-TR/workflow.ts
+++ b/i18n/tr-TR/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Ba艧ar谋s谋z dal ekle',
     loadMore: 'Daha Fazla 陌艧 Ak谋艧谋 Y眉kleyin',
     noHistory: 'Tarih Yok',
-    exportPNG: 'PNG olarak d谋艧a aktar',
-    exportImage: 'Resmi D谋艧a Aktar',
-    publishUpdate: 'G眉ncellemeyi Yay谋nla',
-    exitVersions: '脟谋k谋艧 S眉r眉mleri',
-    versionHistory: 'S眉r眉m Ge莽mi艧i',
-    exportJPEG: 'JPEG olarak d谋艧a aktar',
-    noExist: 'B枚yle bir de臒i艧ken yok',
-    exportSVG: 'SVG olarak d谋艧a aktar',
-    referenceVar: 'Referans De臒i艧ken',
   },
   env: {
     envPanelTitle: '脟evre De臒i艧kenleri',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Ge莽ersiz de臒i艧ken',
     rerankModelRequired: 'Yeniden S谋ralama Modelini a莽madan 枚nce, l眉tfen ayarlarda modelin ba艧ar谋yla yap谋land谋r谋ld谋臒谋n谋 onaylay谋n.',
-    toolParameterRequired: '{{field}}: [{{param}}] parametresi gereklidir',
-    noValidTool: '{{field}} ge莽erli bir ara莽 se莽ilmedi',
   },
   singleRun: {
     testRun: 'Test 脟al谋艧t谋rma',
@@ -214,7 +203,6 @@
     testRunIteration: 'Test 脟al谋艧t谋rma Yineleme',
     back: 'Geri',
     iteration: 'Yineleme',
-    loop: 'D枚ng眉',
   },
   tabs: {
     'searchBlock': 'Blok ara',
@@ -230,8 +218,6 @@
     'utilities': 'Yard谋mc谋 Ara莽lar',
     'noResult': 'E艧le艧en bulunamad谋',
     'searchTool': 'Arama arac谋',
-    'agent': 'Temsilci Stratejisi',
-    'plugin': 'Eklenti',
   },
   blocks: {
     'start': 'Ba艧lat',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Parametre 脟谋kar谋c谋',
     'list-operator': 'Liste 陌艧leci',
     'document-extractor': 'Dok眉man 脟谋kar谋c谋',
-    'agent': 'Arac谋',
-    'loop-start': 'D枚ng眉 Ba艧lang谋c谋',
-    'loop-end': 'D枚ng眉den 脟谋k',
-    'loop': 'D枚ng眉',
   },
   blocksAbout: {
     'start': 'Bir i艧 ak谋艧谋n谋 ba艧latmak i莽in ba艧lang谋莽 parametrelerini tan谋mlay谋n',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'Arac谋 莽a臒谋rmak veya HTTP istekleri i莽in do臒al dilden yap谋land谋r谋lm谋艧 parametreler 莽谋karmak i莽in LLM kullan谋n.',
     'document-extractor': 'Y眉klenen belgeleri LLM taraf谋ndan kolayca anla艧谋labilen metin i莽eri臒ine ayr谋艧t谋rmak i莽in kullan谋l谋r.',
     'list-operator': 'Dizi i莽eri臒ini filtrelemek veya s谋ralamak i莽in kullan谋l谋r.',
-    'agent': 'Sorular谋 yan谋tlamak veya do臒al dili i艧lemek i莽in b眉y眉k dil modellerini 莽a臒谋rma',
-    'loop': 'Sonland谋rma ko艧ulu kar艧谋lanana kadar veya maksimum d枚ng眉 say谋s谋na ula艧谋lana kadar bir mant谋k d枚ng眉s眉 莽al谋艧t谋r谋n.',
-    'loop-end': '"break" ile e艧de臒erdir. Bu d眉臒眉m眉n yap谋land谋rma 枚臒esi yoktur. D枚ng眉 g枚vdesi bu d眉臒眉me ula艧t谋臒谋nda, d枚ng眉 sona erer.',
   },
   operator: {
     zoomIn: 'Yak谋nla艧t谋r',
@@ -419,34 +398,6 @@
         variable: 'De臒i艧ken',
       },
       sysQueryInUser: 'sys.query kullan谋c谋 mesaj谋nda gereklidir',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'L眉tfen 艧emay谋 kaydetmeden 枚nce mevcut alan谋 d眉zenlemeyi tamamlay谋n.',
-        },
-        apply: 'Uygula',
-        addField: 'Alan Ekle',
-        descriptionPlaceholder: 'A莽谋klama ekleyin',
-        title: 'Yap谋land谋r谋lm谋艧 脟谋kt谋 艦emas谋',
-        generate: 'Olu艧tur',
-        fieldNamePlaceholder: 'Alan Ad谋',
-        doc: 'Yap谋land谋r谋lm谋艧 莽谋kt谋 hakk谋nda daha fazla bilgi edinin',
-        instruction: 'Talimat',
-        promptTooltip: 'Metin tan谋m谋n谋 standart bir JSON 艦emas谋 yap谋s谋na d枚n眉艧t眉r.',
-        import: 'JSON\'den i莽e aktar',
-        back: 'Geri',
-        promptPlaceholder: 'JSON 艦eman谋z谋 tan谋mlay谋n...',
-        required: 'gerekli',
-        generatedResult: '脺retilen Sonu莽',
-        regenerate: 'Yeniden 眉ret',
-        generateJsonSchema: 'JSON 艦emas谋 Olu艧tur',
-        stringValidations: 'Dize Do臒rulamalar谋',
-        showAdvancedOptions: 'Geli艧mi艧 se莽enekleri g枚ster',
-        resetDefaults: 'S谋f谋rlama',
-        generating: 'JSON 艦emas谋 Olu艧turuluyor...',
-        generationTip: 'Do臒al dil kullanarak h谋zl谋ca bir JSON 艦emas谋 olu艧turabilirsiniz.',
-        addChildField: '脟ocuk Alan谋 Ekle',
-        resultTip: '陌艧te olu艧turulan sonu莽. E臒er memnun de臒ilseniz, geri d枚n眉p isteminizi de臒i艧tirebilirsiniz.',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Sorgu De臒i艧keni',
@@ -458,33 +409,6 @@
         icon: 'Par莽a simgesi',
         url: 'Par莽a URL\'si',
         metadata: 'Di臒er meta veriler',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: 'Devre d谋艧谋 b谋rak谋ld谋.',
-            subTitle: 'Meta veri filtreleme 枚zelli臒ini devre d谋艧谋 b谋rakma',
-          },
-          automatic: {
-            title: 'Otomatik',
-            desc: 'Sorgu De臒i艧kenine dayal谋 olarak otomatik olarak meta veri filtreleme ko艧ullar谋 olu艧turun',
-            subTitle: 'Kullan谋c谋 sorgusuna dayal谋 olarak otomatik olarak meta veri filtreleme ko艧ullar谋 olu艧turun.',
-          },
-          manual: {
-            subTitle: 'Manuel olarak meta veri filtreleme ko艧ullar谋 ekleyin',
-            title: 'K谋lavuz',
-          },
-        },
-        panel: {
-          add: 'Ko艧ul Ekle',
-          select: 'De臒i艧keni se莽...',
-          title: 'Meta Verisi Filtre Ko艧ullar谋',
-          search: 'Arama meta verileri',
-          conditions: 'Ko艧ullar',
-          placeholder: 'De臒er girin',
-          datePlaceholder: 'Bir zaman se莽in...',
-        },
-        title: 'Meta Verileri Filtreleme',
       },
     },
     http: {
@@ -576,8 +500,6 @@
         'all of': 'T眉m眉',
         'not in': '陌莽inde de臒il',
         'exists': 'Var',
-        'before': '枚nce',
-        'after': 'sonra',
       },
       enterValue: 'De臒er girin',
       addCondition: 'Ko艧ul Ekle',
@@ -593,7 +515,6 @@
       },
       addSubVariable: 'Alt De臒i艧ken',
       select: 'Se莽mek',
-      condition: 'Ko艧ul',
     },
     variableAssigner: {
       title: 'De臒i艧ken ata',
@@ -636,8 +557,6 @@
         '-=': '-=',
         '*=': '*=',
         'set': 'Ayarlamak',
-        'remove-last': 'Sonuncuyu Kald谋r',
-        'remove-first': '陌lkini kald谋r',
       },
       'variables': 'De臒i艧ken',
       'selectAssignedVariable': 'Atanan de臒i艧keni se莽in...',
@@ -773,107 +692,6 @@
       desc: 'DESC',
       extractsCondition: 'N 枚臒esini ay谋klay谋n',
     },
-    agent: {
-      strategy: {
-        searchPlaceholder: 'Arama arac谋s谋 stratejisi',
-        selectTip: 'Ajan stratejisi se莽in',
-        label: 'Ajan Stratejisi',
-        configureTip: 'L眉tfen ajan stratejisini yap谋land谋r谋n.',
-        configureTipDesc: 'Arac谋 stratejiyi yap谋land谋rd谋ktan sonra, bu d眉臒眉m kalan yap谋land谋rmalar谋 otomatik olarak y眉kleyecektir. Strateji, 莽ok ad谋ml谋 ara莽 ak谋l y眉r眉tme mekanizmas谋n谋 etkileyecektir.',
-        shortLabel: 'Strateji',
-        tooltip: 'Farkl谋 Agentic stratejileri, sistemin 莽ok ad谋ml谋 ara莽 莽a臒r谋lar谋n谋 nas谋l planlad谋臒谋n谋 ve y眉r眉tt眉臒眉n眉 belirler',
-      },
-      pluginInstaller: {
-        install: 'Y眉klemek',
-        installing: 'Y眉kleme',
-      },
-      modelNotInMarketplace: {
-        desc: 'Bu model Yerel veya GitHub deposundan y眉klenir. L眉tfen kurulumdan sonra kullan谋n.',
-        title: 'Model y眉kl眉 de臒il',
-        manageInPlugins: 'Eklentilerde Y枚net',
-      },
-      modelNotSupport: {
-        descForVersionSwitch: 'Y眉klenen eklenti s眉r眉m眉 bu modeli sa臒lamaz. S眉r眉m眉 de臒i艧tirmek i莽in t谋klay谋n.',
-        title: 'Desteklenmeyen Model',
-        desc: 'Y眉klenen eklenti s眉r眉m眉 bu modeli sa臒lamaz.',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'Bu model kullan谋m d谋艧谋d谋r',
-      },
-      outputVars: {
-        files: {
-          upload_file_id: 'Dosya kimli臒ini kar艧谋ya y眉kle',
-          type: 'Destek t眉r眉. 艦imdi sadece g枚r眉nt眉y眉 destekleyin',
-          transfer_method: 'Transfer y枚ntemi. De臒er remote_url veya local_file',
-          title: 'Arac谋 Taraf谋ndan Olu艧turulan Dosyalar',
-          url: 'Resim url\'si',
-        },
-        text: 'Temsilci Taraf谋ndan Olu艧turulan 陌莽erik',
-        json: 'Arac谋 taraf谋ndan olu艧turulan JSON',
-      },
-      checkList: {
-        strategyNotSelected: 'Strateji se莽ilmedi',
-      },
-      installPlugin: {
-        changelog: 'De臒i艧iklik g眉nl眉臒眉',
-        cancel: '陌ptal',
-        install: 'Y眉klemek',
-        title: 'Eklentiyi Y眉kle',
-        desc: 'A艧a臒谋daki eklentiyi y眉klemek 眉zere',
-      },
-      configureModel: 'Modeli Yap谋land谋r',
-      toolNotInstallTooltip: '{{tool}} y眉kl眉 de臒il',
-      unsupportedStrategy: 'Desteklenmeyen strateji',
-      notAuthorized: 'Yetkili De臒il',
-      tools: 'Ara莽lar谋',
-      strategyNotFoundDesc: 'Y眉klenen eklenti s眉r眉m眉 bu stratejiyi sa臒lamaz.',
-      strategyNotSet: 'Ajan stratejisi Belirlenmedi',
-      pluginNotFoundDesc: 'Bu eklenti GitHub\'dan y眉klenmi艧tir. L眉tfen 艧uraya gidin: Eklentiler yeniden y眉klemek i莽in',
-      strategyNotFoundDescAndSwitchVersion: 'Y眉klenen eklenti s眉r眉m眉 bu stratejiyi sa臒lamaz. S眉r眉m眉 de臒i艧tirmek i莽in t谋klay谋n.',
-      pluginNotInstalledDesc: 'Bu eklenti GitHub\'dan y眉klenmi艧tir. L眉tfen 艧uraya gidin: Eklentiler yeniden y眉klemek i莽in',
-      learnMore: 'Daha fazla bilgi edinin',
-      linkToPlugin: 'Eklentilere Ba臒lant谋',
-      modelNotInstallTooltip: 'Bu model y眉kl眉 de臒il',
-      toolbox: 'Ara莽',
-      modelNotSelected: 'Model se莽ilmedi',
-      pluginNotInstalled: 'Bu eklenti y眉kl眉 de臒il',
-      maxIterations: 'Maksimum Yineleme',
-      strategyNotInstallTooltip: '{{strateji}} y眉kl眉 de臒il',
-      toolNotAuthorizedTooltip: '{{ara莽}} Yetkili De臒il',
-      model: 'model',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: 'Sonland谋r谋ld谋',
-        removeAbnormalOutput: 'Anormal 脟谋kt谋y谋 Kald谋r',
-        continueOnError: 'Hata ile Devam Et',
-      },
-      loopNode: 'D枚ng眉 D眉臒眉m眉',
-      output: '脟谋kt谋 De臒i艧keni',
-      exitConditionTip: 'Bir d枚ng眉 d眉臒眉m眉n眉n en az bir 莽谋k谋艧 ko艧uluna ihtiyac谋 vard谋r.',
-      inputMode: 'Giri艧 Modu',
-      setLoopVariables: 'D枚ng眉 kapsam谋 i莽inde de臒i艧kenleri ayarla',
-      loopMaxCount: 'Maksimum D枚ng眉 Say谋s谋',
-      input: 'Girdi',
-      breakCondition: 'D枚ng眉 Sonland谋rma Ko艧ulu',
-      comma: ',',
-      finalLoopVariables: 'Son D枚ng眉 De臒i艧kenleri',
-      initialLoopVariables: '陌lk D枚ng眉 De臒i艧kenleri',
-      errorResponseMethod: 'Hata Yan谋t Y枚ntemi',
-      deleteTitle: 'D枚ng眉 D眉臒眉m眉n眉 Sil?',
-      totalLoopCount: 'Toplam d枚ng眉 say谋s谋: {{count}}',
-      currentLoop: 'Mevcut D枚ng眉',
-      loopMaxCountError: 'L眉tfen 1 ile {{maxCount}} aras谋nda ge莽erli bir maksimum d枚ng眉 say谋s谋 girin.',
-      variableName: 'De臒i艧ken Ad谋',
-      deleteDesc: 'D枚ng眉 d眉臒眉m眉n眉 silmek, t眉m alt d眉臒眉mleri kald谋racakt谋r.',
-      breakConditionTip: 'Sadece sonland谋rma ko艧ullar谋 olan d枚ng眉ler i莽indeki de臒i艧kenler ve konu艧ma de臒i艧kenleri referans al谋nabilir.',
-      loop_other: '{{count}} D枚ng眉',
-      currentLoopCount: 'Mevcut d枚ng眉 say谋s谋: {{count}}',
-      error_one: '{{count}} Hata',
-      error_other: '{{count}} Hata',
-      loop_one: '{{count}} D枚ng眉',
-      loopVariables: 'D枚ng眉 De臒i艧kenleri',
-    },
   },
   tracing: {
     stopBy: '{{user}} taraf谋ndan durduruldu',
@@ -884,38 +702,6 @@
     conversationVars: 'Konu艧ma de臒i艧kenleri',
     noVarsForOperation: 'Se莽ilen i艧lemle atanabilecek de臒i艧ken yok.',
     noAssignedVars: 'Kullan谋labilir atanm谋艧 de臒i艧ken yok',
-  },
-  versionHistory: {
-    filter: {
-      reset: 'Filtreyi S谋f谋rla',
-      onlyYours: 'Sadece senin',
-      empty: 'E艧le艧en bir s眉r眉m ge莽mi艧i bulunamad谋.',
-      all: 'Her 艧ey',
-      onlyShowNamedVersions: 'Sadece adland谋r谋lm谋艧 s眉r眉mleri g枚ster',
-    },
-    editField: {
-      releaseNotesLengthLimit: 'S眉r眉m notlar谋 {{limit}} karakteri ge莽emez',
-      titleLengthLimit: 'Ba艧l谋k {{limit}} karakteri ge莽emez.',
-      title: 'Ba艧l谋k',
-      releaseNotes: 'S眉r眉m Notlar谋',
-    },
-    action: {
-      restoreSuccess: 'S眉r眉m geri y眉klendi',
-      deleteFailure: 'Versiyonu silme i艧lemi ba艧ar谋s谋z oldu',
-      restoreFailure: 'S眉r眉m眉 geri y眉klemekte ba艧ar谋s谋z olundu',
-      updateFailure: 'S眉r眉m g眉ncellenemedi',
-      updateSuccess: 'S眉r眉m g眉ncellendi',
-      deleteSuccess: 'S眉r眉m silindi',
-    },
-    latest: 'Sonuncu',
-    currentDraft: 'Mevcut Taslak',
-    restorationTip: 'S眉r眉m geri y眉klemeden sonra, mevcut taslak 眉zerine yaz谋lacak.',
-    title: 'S眉r眉mler',
-    defaultName: 'Ba艧l谋ks谋z Versiyon',
-    editVersionInfo: 'S眉r眉m bilgilerini d眉zenle',
-    releaseNotesPlaceholder: 'De臒i艧en 艧eyleri tan谋mlay谋n',
-    nameThisVersion: 'Bu versiyona isim ver',
-    deletionTip: 'Silme i艧lemi geri al谋namaz, l眉tfen onaylay谋n.',
   },
 }
 
diff --git a/i18n/uk-UA/app-overview.ts b/i18n/uk-UA/app-overview.ts
index 002ab5d..97b3569 100644
--- a/i18n/uk-UA/app-overview.ts
+++ b/i18n/uk-UA/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '袙褋褌邪薪芯胁褨褌褜 褌械屑褍 泻芯谢褜芯褉褍 褔邪褌-斜芯褌邪',
         chatColorThemeInverted: '袉薪胁械褉褌芯胁邪薪芯',
         invalidHexMessage: '袧械写褨泄褋薪械 褕褨褋褌薪邪写褑褟褌泻芯胁械 蟹薪邪褔械薪薪褟',
-        invalidPrivacyPolicy: '袧械写褨泄褋薪械 锌芯褋懈谢邪薪薪褟 薪邪 锌芯谢褨褌懈泻褍 泻芯薪褎褨写械薪褑褨泄薪芯褋褌褨. 袘褍写褜 谢邪褋泻邪, 胁懈泻芯褉懈褋褌芯胁褍泄褌械 写褨泄褋薪械 锌芯褋懈谢邪薪薪褟, 褟泻械 锌芯褔懈薪邪褦褌褜褋褟 蟹 http 邪斜芯 https',
         more: {
           entry: '袩芯泻邪蟹邪褌懈 写芯写邪褌泻芯胁褨 薪邪谢邪褕褌褍胁邪薪薪褟',
           copyright: '袗胁褌芯褉褋褜泻械 锌褉邪胁芯',
@@ -113,7 +112,6 @@
           operation: '袛芯泻褍屑械薪褌邪褑褨褟',
         },
       },
-      launch: '袟邪锌褍褋泻褍',
     },
     apiInfo: {
       title: 'API 褋械褉胁褨褋褍 Backend',
diff --git a/i18n/uk-UA/app.ts b/i18n/uk-UA/app.ts
index 09df6bf..06dd3e1 100644
--- a/i18n/uk-UA/app.ts
+++ b/i18n/uk-UA/app.ts
@@ -159,10 +159,6 @@
       title: '袨锌褨泻',
       description: 'Opik 鈥� 褑械 锌谢邪褌褎芯褉屑邪 蟹 胁褨写泻褉懈褌懈屑 胁懈褏褨写薪懈屑 泻芯写芯屑 写谢褟 芯褑褨薪泻懈, 褌械褋褌褍胁邪薪薪褟 褌邪 屑芯薪褨褌芯褉懈薪谐褍 写芯写邪褌泻褨胁 LLM.',
     },
-    weave: {
-      title: '孝泻邪褌懈',
-      description: 'Weave 褦 锌谢邪褌褎芯褉屑芯褞 蟹 胁褨写泻褉懈褌懈屑 泻芯写芯屑 写谢褟 芯褑褨薪泻懈, 褌械褋褌褍胁邪薪薪褟 褌邪 屑芯薪褨褌芯褉懈薪谐褍 LLM 写芯写邪褌泻褨胁.',
-    },
   },
   answerIcon: {
     title: '袙懈泻芯褉懈褋褌芯胁褍泄褌械 锌褨泻褌芯谐褉邪屑褍 WebApp 写谢褟 蟹邪屑褨薪懈 馃',
@@ -192,23 +188,6 @@
     searchAllTemplate: '袩芯褕褍泻 锌芯 胁褋褨褏 褕邪斜谢芯薪邪褏...',
   },
   showMyCreatedAppsOnly: '袩芯泻邪蟹邪褌懈 谢懈褕械 褋褌胁芯褉械薪褨 屑薪芯褞 写芯写邪褌泻懈',
-  appSelector: {
-    noParams: '袩邪褉邪屑械褌褉懈 薪械 锌芯褌褉褨斜薪褨',
-    label: '袛袨袛袗孝袨袣',
-    params: '袩袗袪袗袦袝孝袪袠 袩袪袨袚袪袗袦袠',
-    placeholder: '袙懈斜械褉褨褌褜 锌褉芯谐褉邪屑褍...',
-  },
-  structOutput: {
-    LLMResponse: '袙褨写锌芯胁褨写褜 袥袥袦',
-    configure: '袧邪谢邪褕褌褍胁邪褌懈',
-    required: '袧械芯斜褏褨写薪芯',
-    moreFillTip: '袩芯泻邪蟹褍褞褔懈 屑邪泻褋懈屑褍屑 10 褉褨胁薪褨胁 胁泻谢邪写械薪芯褋褌褨',
-    structured: '小褌褉褍泻褌褍褉芯胁邪薪懈泄',
-    modelNotSupported: '袦芯写械谢褜 薪械 锌褨写褌褉懈屑褍褦褌褜褋褟',
-    notConfiguredTip: '小褌褉褍泻褌褍褉芯胁邪薪懈泄 胁懈褏褨写 褖械 薪械 斜褍谢芯 薪邪谢邪褕褌芯胁邪薪芯',
-    modelNotSupportedTip: '袩芯褌芯褔薪邪 屑芯写械谢褜 薪械 锌褨写褌褉懈屑褍褦 褑褞 褎褍薪泻褑褨褞 褌邪 邪胁褌芯屑邪褌懈褔薪芯 蟹薪懈卸褍褦褌褜褋褟 写芯 褨薪\'褦泻褑褨褩 蟹邪锌懈褌褨胁.',
-    structuredTip: '小褌褉褍泻褌褍褉芯胁邪薪褨 胁懈褏芯写懈 - 褑械 褎褍薪泻褑褨褟, 褟泻邪 蟹邪斜械蟹锌械褔褍褦, 褖芯 屑芯写械谢褜 蟹邪胁卸写懈 谐械薪械褉褍胁邪褌懈屑械 胁褨写锌芯胁褨写褨, 褖芯 胁褨写锌芯胁褨写邪褞褌褜 薪邪写邪薪褨泄 胁邪屑懈 褋褏械屑褨 JSON.',
-  },
 }
 
 export default translation
diff --git a/i18n/uk-UA/billing.ts b/i18n/uk-UA/billing.ts
index 5688853..cebdb11 100644
--- a/i18n/uk-UA/billing.ts
+++ b/i18n/uk-UA/billing.ts
@@ -68,7 +68,6 @@
     messageRequest: {
       title: '袣褉械写懈褌懈 锌芯胁褨写芯屑谢械薪褜',
       tooltip: '袣胁芯褌懈 薪邪 胁懈泻谢懈泻 锌芯胁褨写芯屑谢械薪褜 写谢褟 褉褨蟹薪懈褏 锌谢邪薪褨胁 蟹 胁懈泻芯褉懈褋褌邪薪薪褟屑 屑芯写械谢械泄 OpenAI (泻褉褨屑 gpt4). 袩芯胁褨写芯屑谢械薪薪褟 锌芯薪邪写 谢褨屑褨褌 胁懈泻芯褉懈褋褌芯胁褍胁邪褌懈屑褍褌褜 胁邪褕 泻谢褞褔 API OpenAI.',
-      titlePerMonth: '{{count,number}} 锌芯胁褨写芯屑谢械薪褜/屑褨褋褟褑褜',
     },
     annotatedResponse: {
       title: '袥褨屑褨褌懈 泻胁芯褌懈 胁褨写锌芯胁褨写械泄 蟹 邪薪芯褌邪褑褨褟屑懈',
@@ -78,94 +77,27 @@
     receiptInfo: '袥懈褕械 胁谢邪褋薪懈泻 泻芯屑邪薪写懈 褌邪 邪写屑褨薪褨褋褌褉邪褌芯褉 泻芯屑邪薪写懈 屑芯卸褍褌褜 锌褨写锌懈褋褍胁邪褌懈褋褟 褌邪 锌械褉械谐谢褟写邪褌懈 褨薪褎芯褉屑邪褑褨褞 锌褉芯 胁懈褋褌邪胁谢械薪薪褟 褉邪褏褍薪泻褨胁',
     annotationQuota: '袣胁芯褌邪 邪薪芯褌邪褑褨泄',
     documentsUploadQuota: '袣胁芯褌邪 蟹邪胁邪薪褌邪卸械薪薪褟 写芯泻褍屑械薪褌褨胁',
-    teamMember_one: '{{count,number}} 褔谢械薪 泻芯屑邪薪写懈',
-    teamWorkspace: '{{count,number}} 袣芯屑邪薪写薪懈泄 袩褉芯褋褌褨褉',
-    apiRateLimit: '袨斜屑械卸械薪薪褟 褕胁懈写泻芯褋褌褨 API',
-    documentsTooltip: '袣胁芯褌邪 薪邪 泻褨谢褜泻褨褋褌褜 写芯泻褍屑械薪褌褨胁, 褨屑锌芯褉褌芯胁邪薪懈褏 蟹 写卸械褉械谢邪 蟹薪邪薪褜.',
-    self: '袙谢邪褋薪懈泄 褏芯褋褌懈薪谐',
-    cloud: '啸屑邪褉薪懈泄 褋械褉胁褨褋',
-    documentsRequestQuota: '{{count,number}}/褏胁懈谢懈薪邪 袥褨屑褨褌 蟹邪锌懈褌褍 蟹薪邪薪褜',
-    annualBilling: '些芯褉褨褔薪邪 芯锌谢邪褌邪',
-    priceTip: '蟹邪 褉芯斜芯褔懈屑 锌褉芯褋褌芯褉芯屑/',
-    unlimitedApiRate: '袧械屑邪褦 芯斜屑械卸械薪薪褟 薪邪 褕胁懈写泻褨褋褌褜 API',
-    freeTrialTipSuffix: '袣褉械写懈褌薪邪 泻邪褉褌泻邪 薪械 锌芯褌褉褨斜薪邪',
-    apiRateLimitUnit: '{{count,number}}/写械薪褜',
-    getStarted: '袩芯褔邪褌懈',
-    freeTrialTip: '斜械蟹泻芯褕褌芯胁薪邪 锌褉芯斜薪邪 胁械褉褋褨褟 蟹 200 蟹邪锌懈褌褨胁 写芯 OpenAI.',
-    documents: '{{count,number}} 袛芯泻褍屑械薪褌褨胁 蟹薪邪薪褜',
-    freeTrialTipPrefix: '袟邪褉械褦褋褌褉褍泄褌械褋褜 褨 芯褌褉懈屑邪泄褌械',
-    teamMember_other: '{{count,number}} 褔谢械薪褨胁 泻芯屑邪薪写懈',
-    comparePlanAndFeatures: '袩芯褉褨胁薪褟泄褌械 锌谢邪薪懈 褌邪 褎褍薪泻褑褨褩',
-    apiRateLimitTooltip: '袨斜屑械卸械薪薪褟 褔邪褋褌芯褌懈 蟹邪锌懈褌褨胁 蟹邪褋褌芯褋芯胁褍褦褌褜褋褟 写芯 胁褋褨褏 蟹邪锌懈褌褨胁, 蟹褉芯斜谢械薪懈褏 褔械褉械蟹 API Dify, 胁泻谢褞褔邪褞褔懈 谐械薪械褉邪褑褨褞 褌械泻褋褌褍, 褔邪褌-褉芯蟹屑芯胁懈, 胁懈泻芯薪邪薪薪褟 褉芯斜芯褔懈褏 锌褉芯褑械褋褨胁 褌邪 芯斜褉芯斜泻褍 写芯泻褍屑械薪褌褨胁.',
-    documentsRequestQuotaTooltip: '袙泻邪蟹褍褦 蟹邪谐邪谢褜薪褍 泻褨谢褜泻褨褋褌褜 写褨泄, 褟泻褨 褉芯斜芯褔邪 芯斜谢邪褋褌褜 屑芯卸械 胁懈泻芯薪褍胁邪褌懈 蟹邪 褏胁懈谢懈薪褍 胁 屑械卸邪褏 斜邪蟹懈 蟹薪邪薪褜, 胁泻谢褞褔邪褞褔懈 褋褌胁芯褉械薪薪褟, 胁懈写邪谢械薪薪褟, 芯薪芯胁谢械薪薪褟 薪邪斜芯褉褨胁 写邪薪懈褏, 蟹邪胁邪薪褌邪卸械薪薪褟 写芯泻褍屑械薪褌褨胁, 屑芯写懈褎褨泻邪褑褨褩, 邪褉褏褨胁褍胁邪薪薪褟 褌邪 蟹邪锌懈褌懈 写芯 斜邪蟹懈 蟹薪邪薪褜. 笑械泄 锌芯泻邪蟹薪懈泻 胁懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 写谢褟 芯褑褨薪泻懈 械褎械泻褌懈胁薪芯褋褌褨 蟹邪锌懈褌褨胁 写芯 斜邪蟹懈 蟹薪邪薪褜. 袧邪锌褉懈泻谢邪写, 褟泻褖芯 泻芯褉懈褋褌褍胁邪褔 Sandbox 胁懈泻芯薪褍褦 10 锌芯褋谢褨写芯胁薪懈褏 褌械褋褌褨胁 蟹邪 芯写懈薪 褏胁懈谢懈薪褍, 泄芯谐芯 褉芯斜芯褔褨泄 芯斜谢邪褋褌褨 斜褍写械 褌懈屑褔邪褋芯胁芯 蟹邪斜芯褉芯薪械薪芯 胁懈泻芯薪褍胁邪褌懈 薪邪褋褌褍锌薪褨 写褨褩 锌褉芯褌褟谐芯屑 薪邪褋褌褍锌薪芯褩 褏胁懈谢懈薪懈: 褋褌胁芯褉械薪薪褟 薪邪斜芯褉褨胁 写邪薪懈褏, 胁懈写邪谢械薪薪褟, 芯薪芯胁谢械薪薪褟, 邪 褌邪泻芯卸 蟹邪胁邪薪褌邪卸械薪薪褟 褔懈 屑芯写懈褎褨泻邪褑褨褞 写芯泻褍屑械薪褌褨胁.',
   },
   plans: {
     sandbox: {
       name: '袩褨褋芯褔薪懈褑褟',
       description: '200 斜械蟹泻芯褕褌芯胁薪懈褏 锌褉芯斜薪懈褏 胁械褉褋褨泄 GPT',
       includesTitle: '袙泻谢褞褔邪褦 胁 褋械斜械:',
-      for: '袘械蟹泻芯褕褌芯胁薪邪 锌褉芯斜薪邪 胁械褉褋褨褟 芯褋薪芯胁薪懈褏 褎褍薪泻褑褨泄',
     },
     professional: {
       name: '袩褉芯褎械褋褨泄薪懈泄',
       description: '些芯斜 芯泻褉械屑褨 芯褋芯斜懈 褌邪 薪械胁械谢懈泻褨 泻芯屑邪薪写懈 屑芯谐谢懈 芯褌褉懈屑邪褌懈 斜褨谢褜褕械 屑芯卸谢懈胁芯褋褌械泄 蟹邪 写芯褋褌褍锌薪芯褞 褑褨薪芯褞.',
       includesTitle: '袙褋械 褍 斜械蟹泻芯褕褌芯胁薪芯屑褍 锌谢邪薪褨, 锌谢褞褋:',
-      for: '袛谢褟 薪械蟹邪谢械卸薪懈褏 褉芯蟹褉芯斜薪懈泻褨胁/屑邪谢懈褏 泻芯屑邪薪写',
     },
     team: {
       name: '袣芯屑邪薪写邪',
       description: '小锌褨胁锌褉邪褑褞泄褌械 斜械蟹 芯斜屑械卸械薪褜 褨 泻芯褉懈褋褌褍泄褌械褋褟 锌褉芯写褍泻褌懈胁薪褨褋褌褞 薪邪泄胁懈褖芯谐芯 褉褨胁薪褟.',
       includesTitle: '袙褋械, 褖芯 胁褏芯写懈褌褜 写芯 锌谢邪薪褍 Professional, 锌谢褞褋:',
-      for: '袛谢褟 褋械褉械写薪褨褏 泻芯屑邪薪写',
     },
     enterprise: {
       name: '袝薪褌械褉锌褉邪泄蟹',
       description: '袨褌褉懈屑邪泄褌械 锌芯胁薪褨 屑芯卸谢懈胁芯褋褌褨 褌邪 锌褨写褌褉懈屑泻褍 写谢褟 屑邪褋褕褌邪斜薪懈褏 泻褉懈褌懈褔薪芯 胁邪卸谢懈胁懈褏 褋懈褋褌械屑.',
       includesTitle: '袙褋械, 褖芯 胁褏芯写懈褌褜 写芯 锌谢邪薪褍 Team, 锌谢褞褋:',
-      features: {
-        5: '校谐芯写懈 锌褉芯 褉褨胁械薪褜 芯斜褋谢褍谐芯胁褍胁邪薪薪褟, 褍蟹谐芯写卸械薪褨 锌邪褉褌薪械褉邪屑懈 Dify',
-        2: '袝泻褋泻谢褞蟹懈胁薪褨 锌褨写锌褉懈褦屑薪懈褑褜泻褨 褎褍薪泻褑褨褩',
-        6: '袪芯蟹胁懈薪械薪邪 斜械蟹锌械泻邪 褌邪 泻芯薪褌褉芯谢褜',
-        8: '袩褉芯褎械褋褨泄薪邪 褌械褏薪褨褔薪邪 锌褨写褌褉懈屑泻邪',
-        1: '袣芯屑械褉褑褨泄薪邪 谢褨褑械薪蟹褨褟 薪邪 邪胁褌芯褉懈蟹邪褑褨褞',
-        3: '袣褨谢褜泻邪 褉芯斜芯褔懈褏 锌褉芯褋褌芯褉褨胁 褌邪 褍锌褉邪胁谢褨薪薪褟 锌褨写锌褉懈褦屑褋褌胁芯屑',
-        4: '小小袨',
-        0: '袪褨褕械薪薪褟 写谢褟 屑邪褋褕褌邪斜芯胁邪薪芯谐芯 褉芯蟹谐芯褉褌邪薪薪褟 锌褨写锌褉懈褦屑褋褌胁',
-        7: '袨薪芯胁谢械薪薪褟 褌邪 芯斜褋谢褍谐芯胁褍胁邪薪薪褟 胁褨写 Dify 袨褎褨褑褨泄薪芯',
-      },
-      btnText: '袟胁\'褟蟹邪褌懈褋褟 蟹 胁褨写写褨谢芯屑 锌褉芯写邪卸褍',
-      priceTip: '孝褨谢褜泻懈 褉褨褔薪邪 芯锌谢邪褌邪',
-      for: '袛谢褟 胁械谢懈泻懈褏 泻芯屑邪薪写',
-      price: '袣芯褉懈褋褌褍胁邪褑褜泻懈泄',
-    },
-    community: {
-      features: {
-        2: '袙褨写锌芯胁褨写邪褦 谢褨褑械薪蟹褨褩 Dify Open Source',
-        1: '袆写懈薪械 褉芯斜芯褔械 屑褨褋褑械',
-        0: '校褋褨 芯褋薪芯胁薪褨 褎褍薪泻褑褨褩 胁懈锌褍褖械薪褨 锌褨写 锌褍斜谢褨褔薪懈屑 褉械锌芯蟹懈褌芯褉褨褦屑',
-      },
-      btnText: '袪芯蟹锌芯褔薪褨褌褜 蟹 谐褉芯屑邪写懈',
-      includesTitle: '袘械蟹泻芯褕褌芯胁薪褨 屑芯卸谢懈胁芯褋褌褨:',
-      for: '袛谢褟 褨薪写懈胁褨写褍邪谢褜薪懈褏 泻芯褉懈褋褌褍胁邪褔褨胁, 屑邪谢懈褏 泻芯屑邪薪写 邪斜芯 薪械泻芯屑械褉褑褨泄薪懈褏 锌褉芯械泻褌褨胁',
-      price: '袘械蟹泻芯褕褌芯胁薪芯',
-      description: '袛谢褟 褨薪写懈胁褨写褍邪谢褜薪懈褏 泻芯褉懈褋褌褍胁邪褔褨胁, 屑邪谢懈褏 泻芯屑邪薪写 邪斜芯 薪械泻芯屑械褉褑褨泄薪懈褏 锌褉芯械泻褌褨胁',
-      name: '小锌褨谢褜薪芯褌邪',
-    },
-    premium: {
-      features: {
-        2: '袥芯谐芯褌懈锌 胁械斜-写芯写邪褌泻褍 褌邪 薪邪谢邪褕褌褍胁邪薪薪褟 斜褉械薪写懈薪谐褍',
-        1: '袆写懈薪械 褉芯斜芯褔械 屑褨褋褑械',
-        3: '袩褉褨芯褉懈褌械褌薪邪 email 褌邪 褔邪褌 锌褨写褌褉懈屑泻邪',
-        0: '小邪屑芯褋褌褨泄薪芯 泻械褉芯胁邪薪褨 薪邪写褨泄薪褨褋褌褜 褉褨蟹薪懈褏 褏屑邪褉薪懈褏 锌芯褋褌邪褔邪谢褜薪懈泻褨胁',
-      },
-      description: '袛谢褟 褋械褉械写薪褨褏 锌褨写锌褉懈褦屑褋褌胁 褌邪 泻芯屑邪薪写',
-      btnText: '袨褌褉懈屑邪泄褌械 袩褉械屑褨褍屑 褍',
-      price: '袦邪褋褕褌邪斜芯胁邪薪懈泄',
-      comingSoon: '袩褨写褌褉懈屑泻邪 Microsoft Azure 褌邪 Google Cloud 薪械蟹邪斜邪褉芯屑',
-      priceTip: '袧邪 芯褋薪芯胁褨 啸屑邪褉薪芯谐芯 褉懈薪泻褍',
-      for: '袛谢褟 褋械褉械写薪褨褏 锌褨写锌褉懈褦屑褋褌胁 褌邪 泻芯屑邪薪写',
-      name: '袩褉械屑褨褍屑',
-      includesTitle: '袙褋械 蟹 谐褉芯屑邪写懈, 锌谢褞褋:',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: '袨薪芯胁褨褌褜 褋胁褨泄 锌谢邪薪, 褖芯斜',
     fullTipLine2: '褋褌胁芯褉懈褌懈 斜褨谢褜褕械 锌褉芯谐褉邪屑.',
-    fullTip1des: '袙懈 写芯褋褟谐谢懈 屑械卸褨 褋褌胁芯褉械薪薪褟 写芯写邪褌泻褨胁 蟹邪 褑懈屑 锌谢邪薪芯屑.',
-    fullTip2: '袛芯褋褟谐薪褍褌芯 谢褨屑褨褌褍 锌谢邪薪褍',
-    fullTip1: '袨薪芯胁褨褌褜, 褖芯斜 褋褌胁芯褉懈褌懈 斜褨谢褜褕械 写芯写邪褌泻褨胁',
-    contactUs: '袟胁\'褟卸褨褌褜褋褟 蟹 薪邪屑懈',
-    fullTip2des: '袪械泻芯屑械薪写褍褦褌褜褋褟 芯褔懈褋褌懈褌懈 薪械邪泻褌懈胁薪褨 锌褉芯谐褉邪屑懈, 褖芯斜 蟹胁褨谢褜薪懈褌懈 屑褨褋褑械, 邪斜芯 蟹胁\'褟蟹邪褌懈褋褟 蟹 薪邪屑懈.',
   },
   annotatedResponse: {
     fullTipLine1: '袨薪芯胁褨褌褜 褋胁褨泄 锌谢邪薪, 褖芯斜',
     fullTipLine2: '邪薪芯褌褍胁邪褌懈 斜褨谢褜褕械 褉芯蟹屑芯胁.',
     quotaTitle: '袣胁芯褌邪 薪邪 邪薪芯褌芯胁邪薪褨 胁褨写锌芯胁褨写褨',
   },
-  usagePage: {
-    teamMembers: '效谢械薪懈 泻芯屑邪薪写懈',
-    buildApps: '小褌胁芯褉褞泄褌械 写芯写邪褌泻懈',
-    annotationQuota: '袣胁芯褌邪 邪薪芯褌邪褑褨泄',
-    vectorSpaceTooltip: '袛芯泻褍屑械薪褌懈 蟹 褉械卸懈屑芯屑 褨薪写械泻褋褍胁邪薪薪褟 胁懈褋芯泻芯褩 褟泻芯褋褌褨 褋锌芯卸懈胁邪褌懈屑褍褌褜 褉械褋褍褉褋懈 小褏芯胁懈褖邪 袟薪邪薪褜. 袣芯谢懈 小褏芯胁懈褖械 袟薪邪薪褜 写芯褋褟谐薪械 屑械卸褨, 薪芯胁褨 写芯泻褍屑械薪褌懈 薪械 斜褍写褍褌褜 蟹邪胁邪薪褌邪卸械薪褨.',
-    documentsUploadQuota: '袣胁芯褌邪 薪邪 蟹邪胁邪薪褌邪卸械薪薪褟 写芯泻褍屑械薪褌褨胁',
-    vectorSpace: '小褏芯胁懈褖械 写邪薪懈褏 蟹薪邪薪褜',
-  },
-  teamMembers: '效谢械薪懈 泻芯屑邪薪写懈',
 }
 
 export default translation
diff --git a/i18n/uk-UA/common.ts b/i18n/uk-UA/common.ts
index dee558a..bfdaf7c 100644
--- a/i18n/uk-UA/common.ts
+++ b/i18n/uk-UA/common.ts
@@ -50,14 +50,6 @@
     submit: '袩褉械写褋褌邪胁懈褌懈',
     skip: '袣芯褉邪斜械谢褜',
     imageCopied: '小泻芯锌褨泄芯胁邪薪械 蟹芯斜褉邪卸械薪薪褟',
-    deleteApp: '袙懈写邪谢懈褌懈 锌褉芯谐褉邪屑褍',
-    viewDetails: '袩械褉械谐谢褟写 写芯泻谢邪写薪懈褏 胁褨写芯屑芯褋褌械泄',
-    copied: '小泻芯锌褨泄芯胁邪薪褨',
-    in: '袙',
-    format: '肖芯褉屑邪褌',
-    downloadFailed: '袧械 胁写邪谢芯褋褟 蟹邪胁邪薪褌邪卸懈褌懈. 袘褍写褜 谢邪褋泻邪, 褋锌褉芯斜褍泄褌械 褖械 褉邪蟹 锌褨蟹薪褨褕械.',
-    more: '袘褨谢褜褕械',
-    downloadSuccess: '袟邪胁邪薪褌邪卸械薪薪褟 蟹邪胁械褉褕械薪芯.',
   },
   placeholder: {
     input: '袘褍写褜 谢邪褋泻邪, 胁胁械写褨褌褜 褌械泻褋褌',
@@ -104,19 +96,19 @@
     params: {
       temperature: '孝械屑锌械褉邪褌褍褉邪',
       temperatureTip:
-        '袣芯薪褌褉芯谢褞褦 胁懈锌邪写泻芯胁褨褋褌褜: 蟹屑械薪褕械薪薪褟 锌褉懈蟹胁芯写懈褌褜 写芯 屑械薪褕 胁懈锌邪写泻芯胁懈褏 蟹邪胁械褉褕械薪褜. 袣芯谢懈 褌械屑锌械褉邪褌褍褉邪 薪邪斜谢懈卸邪褦褌褜褋褟 写芯 薪褍谢褟, 屑芯写械谢褜 褋褌邪薪械 写械褌械褉屑褨薪芯胁邪薪芯褞 褌邪 锌芯胁褌芯褉褞胁邪薪芯褞.',
+                '袣芯薪褌褉芯谢褞褦 胁懈锌邪写泻芯胁褨褋褌褜: 蟹屑械薪褕械薪薪褟 锌褉懈蟹胁芯写懈褌褜 写芯 屑械薪褕 胁懈锌邪写泻芯胁懈褏 蟹邪胁械褉褕械薪褜. 袣芯谢懈 褌械屑锌械褉邪褌褍褉邪 薪邪斜谢懈卸邪褦褌褜褋褟 写芯 薪褍谢褟, 屑芯写械谢褜 褋褌邪薪械 写械褌械褉屑褨薪芯胁邪薪芯褞 褌邪 锌芯胁褌芯褉褞胁邪薪芯褞.',
       top_p: '孝芯锌 P',
       top_pTip:
-        '袣芯薪褌褉芯谢褞褦 褉褨蟹薪芯屑邪薪褨褌薪褨褋褌褜 蟹邪 写芯锌芯屑芯谐芯褞 胁懈斜褨褉泻懈 褟写褉邪: 0,5 芯蟹薪邪褔邪褦, 褖芯 褉芯蟹谐谢褟写邪褦褌褜褋褟 锌芯谢芯胁懈薪邪 胁褋褨褏 蟹胁邪卸械薪懈褏 蟹邪 泄屑芯胁褨褉薪褨褋褌褞 胁邪褉褨邪薪褌褨胁.',
+                '袣芯薪褌褉芯谢褞褦 褉褨蟹薪芯屑邪薪褨褌薪褨褋褌褜 蟹邪 写芯锌芯屑芯谐芯褞 胁懈斜褨褉泻懈 褟写褉邪: 0,5 芯蟹薪邪褔邪褦, 褖芯 褉芯蟹谐谢褟写邪褦褌褜褋褟 锌芯谢芯胁懈薪邪 胁褋褨褏 蟹胁邪卸械薪懈褏 蟹邪 泄屑芯胁褨褉薪褨褋褌褞 胁邪褉褨邪薪褌褨胁.',
       presence_penalty: '楔褌褉邪褎 蟹邪 锌褉懈褋褍褌薪褨褋褌褜',
       presence_penaltyTip:
-        '袧邪褋泻褨谢褜泻懈 褕褌褉邪褎褍胁邪褌懈 薪芯胁褨 褌芯泻械薪懈 蟹邪谢械卸薪芯 胁褨写 褌芯谐芯, 褔懈 蟹\'褟胁谢褟褞褌褜褋褟 胁芯薪懈 胁 褌械泻褋褌褨 锌芯泻懈 褖芯.\n袟斜褨谢褜褕褍褦 泄屑芯胁褨褉薪褨褋褌褜 褌芯谐芯, 褖芯 屑芯写械谢褜 谐芯胁芯褉懈褌懈屑械 锌褉芯 薪芯胁褨 褌械屑懈.',
+                '袧邪褋泻褨谢褜泻懈 褕褌褉邪褎褍胁邪褌懈 薪芯胁褨 褌芯泻械薪懈 蟹邪谢械卸薪芯 胁褨写 褌芯谐芯, 褔懈 蟹\'褟胁谢褟褞褌褜褋褟 胁芯薪懈 胁 褌械泻褋褌褨 锌芯泻懈 褖芯.\n袟斜褨谢褜褕褍褦 泄屑芯胁褨褉薪褨褋褌褜 褌芯谐芯, 褖芯 屑芯写械谢褜 谐芯胁芯褉懈褌懈屑械 锌褉芯 薪芯胁褨 褌械屑懈.',
       frequency_penalty: '楔褌褉邪褎 蟹邪 褔邪褋褌芯褌褍',
       frequency_penaltyTip:
-        '袧邪褋泻褨谢褜泻懈 褕褌褉邪褎褍胁邪褌懈 薪芯胁褨 褌芯泻械薪懈 薪邪 芯褋薪芯胁褨 褩褏薪褜芯褩 褨褋薪褍褞褔芯褩 褔邪褋褌芯褌懈 胁 褌械泻褋褌褨.\n袟屑械薪褕褍褦 泄屑芯胁褨褉薪褨褋褌褜 褌芯谐芯, 褖芯 屑芯写械谢褜 锌芯胁褌芯褉褞胁邪褌懈屑械 褌芯泄 褋邪屑懈泄 褉褟写芯泻 写芯褋谢褨胁薪芯.',
+                '袧邪褋泻褨谢褜泻懈 褕褌褉邪褎褍胁邪褌懈 薪芯胁褨 褌芯泻械薪懈 薪邪 芯褋薪芯胁褨 褩褏薪褜芯褩 褨褋薪褍褞褔芯褩 褔邪褋褌芯褌懈 胁 褌械泻褋褌褨.\n袟屑械薪褕褍褦 泄屑芯胁褨褉薪褨褋褌褜 褌芯谐芯, 褖芯 屑芯写械谢褜 锌芯胁褌芯褉褞胁邪褌懈屑械 褌芯泄 褋邪屑懈泄 褉褟写芯泻 写芯褋谢褨胁薪芯.',
       max_tokens: '袦邪泻褋. 褌芯泻械薪褨胁',
       max_tokensTip:
-        '袙懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 写谢褟 芯斜屑械卸械薪薪褟 屑邪泻褋懈屑邪谢褜薪芯褩 写芯胁卸懈薪懈 胁褨写锌芯胁褨写褨 胁 褌芯泻械薪邪褏.\n袘褨谢褜褕褨 蟹薪邪褔械薪薪褟 屑芯卸褍褌褜 芯斜屑械卸懈褌懈 锌褉芯褋褌褨褉, 蟹邪谢懈褕械薪懈泄 写谢褟 锌褨写泻邪蟹芯泻, 卸褍褉薪邪谢褨胁 褔邪褌褨胁 褨 蟹薪邪薪褜.\n袪械泻芯屑械薪写褍褦褌褜褋褟 胁褋褌邪薪芯胁懈褌懈 蟹薪邪褔械薪薪褟 薪懈卸褔械 写胁芯褏 褌褉械褌懈薪\ngpt-4-1106-preview, gpt-4-vision-preview max token (胁褏褨写 128k, 胁懈褏褨写 4k)',
+                '袙懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 写谢褟 芯斜屑械卸械薪薪褟 屑邪泻褋懈屑邪谢褜薪芯褩 写芯胁卸懈薪懈 胁褨写锌芯胁褨写褨 胁 褌芯泻械薪邪褏.\n袘褨谢褜褕褨 蟹薪邪褔械薪薪褟 屑芯卸褍褌褜 芯斜屑械卸懈褌懈 锌褉芯褋褌褨褉, 蟹邪谢懈褕械薪懈泄 写谢褟 锌褨写泻邪蟹芯泻, 卸褍褉薪邪谢褨胁 褔邪褌褨胁 褨 蟹薪邪薪褜.\n袪械泻芯屑械薪写褍褦褌褜褋褟 胁褋褌邪薪芯胁懈褌懈 蟹薪邪褔械薪薪褟 薪懈卸褔械 写胁芯褏 褌褉械褌懈薪\ngpt-4-1106-preview, gpt-4-vision-preview max token (胁褏褨写 128k, 胁懈褏褨写 4k)',
       maxTokenSettingTip: '袙邪褕械 屑邪泻褋懈屑邪谢褜薪械 蟹薪邪褔械薪薪褟 褌芯泻械薪邪 胁械谢懈泻械, 褖芯 屑芯卸械 芯斜屑械卸褍胁邪褌懈 锌褉芯褋褌褨褉 写谢褟 蟹邪锌懈褌褨胁, 写邪薪懈褏 褌芯褖芯. 袣褉邪褖械 薪邪谢邪褕褌褍胁邪褌懈 泄芯谐芯 屑械薪褕 褟泻 2/3.',
       setToCurrentModelMaxTokenTip: '袦邪泻褋懈屑邪谢褜薪懈泄 褌芯泻械薪 芯薪芯胁谢械薪芯 写芯 屑邪泻褋懈屑褍屑褍 褌芯泻械薪邪 锌芯褌芯褔薪芯褩 屑芯写械谢褨 {{maxToken}}.',
       stop_sequences: '袟褍锌懈薪懈褌懈 锌芯褋谢褨写芯胁薪芯褋褌褨',
@@ -130,8 +122,6 @@
       Custom: '袣芯褉懈褋褌褍胁邪褑褜泻懈泄',
     },
     addMoreModel: '袩械褉械泄写褨褌褜 写芯 薪邪谢邪褕褌褍胁邪薪褜, 褖芯斜 写芯写邪褌懈 斜褨谢褜褕械 屑芯写械谢械泄',
-    settingsLink: '袧邪谢邪褕褌褍胁邪薪薪褟 锌芯褋褌邪褔邪谢褜薪懈泻邪 屑芯写械谢褨',
-    capabilities: '袦芯卸谢懈胁芯褋褌褨 MultiModal',
   },
   menus: {
     status: '斜械褌邪',
@@ -144,7 +134,6 @@
     newApp: '袧芯胁邪 锌褉芯谐褉邪屑邪',
     newDataset: '小褌胁芯褉懈褌懈 蟹薪邪薪薪褟',
     tools: '袉薪褋褌褉褍屑械薪褌懈',
-    exploreMarketplace: '袛褨蟹薪邪泄褌械褋褟 斜褨谢褜褕械 锌褉芯 Marketplace',
   },
   userProfile: {
     settings: '袧邪谢邪褕褌褍胁邪薪薪褟',
@@ -157,9 +146,6 @@
     community: '小锌褨谢褜薪芯褌邪',
     about: '袩褉芯 薪邪褋',
     logout: '袙懈泄褌懈',
-    compliance: '袙褨写锌芯胁褨写薪褨褋褌褜',
-    support: '袩褨写褌褉懈屑泻邪',
-    github: '袚褨褌褏邪斜',
   },
   settings: {
     accountGroup: '袨袘袥袉袣袨袙袠袡 袟袗袩袠小',
@@ -173,7 +159,6 @@
     dataSource: '袛卸械褉械谢芯 写邪薪懈褏',
     plugin: '袩谢邪谐褨薪懈',
     apiBasedExtension: '袪芯蟹褕懈褉械薪薪褟 API',
-    generalGroup: '袟袗袚袗袥鞋袧袝',
   },
   account: {
     avatar: '袗胁邪褌邪褉',
@@ -209,9 +194,6 @@
     deleteSuccessTip: '袙邪褕芯屑褍 芯斜谢褨泻芯胁芯屑褍 蟹邪锌懈褋褍 锌芯褌褉褨斜械薪 褔邪褋, 褖芯斜 蟹邪胁械褉褕懈褌懈 胁懈写邪谢械薪薪褟. 袦懈 薪邪写褨褕谢械屑芯 胁邪屑 械谢械泻褌褉芯薪薪芯谐芯 谢懈褋褌邪, 泻芯谢懈 胁褋械 斜褍写械 谐芯褌芯胁芯.',
     deleteLabel: '袛谢褟 锌褨写褌胁械褉写卸械薪薪褟, 斜褍写褜 谢邪褋泻邪, 胁胁械写褨褌褜 褋胁芯褞 械谢械泻褌褉芯薪薪褍 锌芯褕褌褍 薪懈卸褔械',
     deletePlaceholder: '袘褍写褜 谢邪褋泻邪, 胁胁械写褨褌褜 褋胁芯褞 械谢械泻褌褉芯薪薪褍 锌芯褕褌褍',
-    workspaceName: '袧邪蟹胁邪 褉芯斜芯褔芯谐芯 锌褉芯褋褌芯褉褍',
-    workspaceIcon: '袉泻芯薪泻邪 褉芯斜芯褔芯谐芯 锌褉芯褋褌芯褉褍',
-    editWorkspaceInfo: '袪械写邪谐褍胁邪褌懈 褨薪褎芯褉屑邪褑褨褞 锌褉芯 褉芯斜芯褔懈泄 锌褉芯褋褌褨褉',
   },
   members: {
     team: '袣芯屑邪薪写邪',
@@ -304,7 +286,6 @@
       usedUp: '袩褉芯斜薪邪 泻胁芯褌邪 胁懈泻芯褉懈褋褌邪薪邪. 袛芯写邪泄褌械 胁谢邪褋薪芯谐芯 锌芯褋褌邪褔邪谢褜薪懈泻邪 屑芯写械谢褨.',
       useYourModel: '袧邪褉邪蟹褨 胁懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 胁谢邪褋薪懈泄 锌芯褋褌邪褔邪谢褜薪懈泻邪 屑芯写械谢褨.',
       close: '袟邪泻褉懈褌懈',
-      trialQuotaTip: '袙邪褕邪 泻胁芯褌邪 薪邪 邪薪褌褉芯锌褨褔薪褨 锌褉芯斜薪褨 胁懈锌褉芯斜褍胁邪薪薪褟 蟹邪泻褨薪褔褍褦褌褜褋褟 11.03.2025 褨 锌褨褋谢褟 褑褜芯谐芯 斜褨谢褜褕械 薪械 斜褍写械 写芯褋褌褍锌薪邪. 袘褍写褜 谢邪褋泻邪, 褋泻芯褉懈褋褌邪泄褌械褋褟 薪懈屑 胁褔邪褋薪芯.',
     },
     anthropic: {
       using: '肖褍薪泻褑褨褟 胁斜褍写芯胁褍胁邪薪薪褟 胁懈泻芯褉懈褋褌芯胁褍褦',
@@ -417,12 +398,6 @@
     providerManagedDescription: '袙懈泻芯褉懈褋褌芯胁褍泄褌械 褦写懈薪懈泄 薪邪斜褨褉 芯斜谢褨泻芯胁懈褏 写邪薪懈褏, 薪邪写邪薪懈泄 锌芯褋褌邪褔邪谢褜薪懈泻芯屑 屑芯写械谢褨.',
     loadBalancingLeastKeyWarning: '些芯斜 褍胁褨屑泻薪褍褌懈 斜邪谢邪薪褋褍胁邪薪薪褟 薪邪胁邪薪褌邪卸械薪薪褟, 屑邪褦 斜褍褌懈 胁胁褨屑泻薪械薪芯 褖芯薪邪泄屑械薪褕械 2 泻谢邪胁褨褕褨.',
     loadBalancingInfo: '袟邪 蟹邪屑芯胁褔褍胁邪薪薪褟屑 写谢褟 斜邪谢邪薪褋褍胁邪薪薪褟 薪邪胁邪薪褌邪卸械薪薪褟 胁懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 褋褌褉邪褌械谐褨褟 泻褉褍谐芯胁芯褩 褋懈褋褌械屑懈. 携泻褖芯 褋锌褉邪褑褜芯胁褍褦 芯斜屑械卸械薪薪褟 褕胁懈写泻芯褋褌褨, 斜褍写械 蟹邪褋褌芯褋芯胁邪薪芯 锌械褉褨芯写 锌械褉械蟹邪褉褟写泻懈 褌褉懈胁邪谢褨褋褌褞 1 褏胁懈谢懈薪邪.',
-    emptyProviderTip: '小锌芯褔邪褌泻褍 胁褋褌邪薪芯胁褨褌褜 锌芯褋褌邪褔邪谢褜薪懈泻邪 屑芯写械谢褨.',
-    installProvider: '袙褋褌邪薪芯胁谢械薪薪褟 锌芯褋褌邪褔邪谢褜薪懈泻褨胁 屑芯写械谢械泄',
-    toBeConfigured: '袩褨写谢褟谐邪褦 薪邪谢邪褕褌褍胁邪薪薪褞',
-    emptyProviderTitle: '袩芯褋褌邪褔邪谢褜薪懈泻邪 屑芯写械谢褨 薪械 薪邪谢邪褕褌芯胁邪薪芯',
-    configureTip: '袧邪谢邪褕褌褍泄褌械 api-泻谢褞褔 邪斜芯 写芯写邪泄褌械 屑芯写械谢褜 写谢褟 胁懈泻芯褉懈褋褌邪薪薪褟',
-    discoverMore: '袙褨写泻褉懈泄褌械 写谢褟 褋械斜械 斜褨谢褜褕械 胁',
   },
   dataSource: {
     add: '袛芯写邪褌懈 写卸械褉械谢芯 写邪薪懈褏',
@@ -466,7 +441,7 @@
   apiBasedExtension: {
     title: 'API-褉芯蟹褕懈褉械薪薪褟 蟹邪斜械蟹锌械褔褍褞褌褜 褑械薪褌褉邪谢褨蟹芯胁邪薪械 泻械褉褍胁邪薪薪褟 API, 褋锌褉芯褖褍褞褔懈 泻芯薪褎褨谐褍褉邪褑褨褞 写谢褟 蟹褉褍褔薪芯谐芯 胁懈泻芯褉懈褋褌邪薪薪褟 胁 褉褨蟹薪懈褏 锌褉芯谐褉邪屑邪褏 Dify.',
     link: '袛褨蟹薪邪泄褌械褋褟, 褟泻 褉芯蟹褉芯斜懈褌懈 胁谢邪褋薪械 褉芯蟹褕懈褉械薪薪褟 API.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: '袛芯写邪褌懈 褉芯蟹褕懈褉械薪薪褟 API',
     selector: {
       title: '袪芯蟹褕懈褉械薪薪褟 API',
@@ -552,9 +527,6 @@
       hitScore: '袨褑褨薪泻邪 蟹胁械褉薪械薪薪褟:',
     },
     inputPlaceholder: '袩芯谐芯胁芯褉褨褌褜 蟹 斜芯褌芯屑',
-    thought: '袛褍屑泻邪',
-    thinking: '袦懈褋谢械薪薪褟...',
-    resend: '袙褨写锌褉邪胁懈褌懈 蟹薪芯胁褍',
   },
   promptEditor: {
     placeholder: '袩懈褕褨褌褜 褋胁芯褩 锌褨写泻邪蟹泻懈 褌褍褌, 胁胁芯写褜褌械 \'{\', 褖芯斜 胁褋褌邪胁懈褌懈 蟹屑褨薪薪褍 褔懈 \'/\', 褖芯斜 胁褋褌邪胁懈褌懈 斜谢芯泻-锌褨写泻邪蟹泻褍',
@@ -648,25 +620,6 @@
   },
   pagination: {
     perPage: '袝谢械屑械薪褌褨胁 薪邪 褋褌芯褉褨薪褑褨',
-  },
-  theme: {
-    auto: '褋懈褋褌械屑邪',
-    dark: '褌械屑薪懈泄',
-    light: '褋胁褨褌谢芯',
-    theme: '孝械屑邪',
-  },
-  compliance: {
-    professionalUpgradeTooltip: '袛芯褋褌褍锌薪芯 谢懈褕械 蟹 泻芯屑邪薪写薪懈屑 锌谢邪薪芯屑 邪斜芯 胁懈褖械.',
-    soc2Type2: '袟胁褨褌 SOC 2 孝懈锌 II',
-    iso27001: '小械褉褌懈褎褨泻邪褑褨褟 ISO 27001:2022',
-    soc2Type1: '袟胁褨褌 SOC 2 孝懈锌 I',
-    sandboxUpgradeTooltip: '袛芯褋褌褍锌薪芯 谢懈褕械 蟹 锌褉芯褎械褋褨泄薪懈屑 邪斜芯 泻芯屑邪薪写薪懈屑 锌谢邪薪芯屑.',
-    gdpr: 'GDPR DPA',
-  },
-  imageInput: {
-    browse: '锌械褉械谐谢褟写',
-    supportedFormats: '袩褨写褌褉懈屑褍褦 PNG, JPG, JPEG, WEBP 褨 GIF',
-    dropImageHere: '袩械褉械褌褟谐薪褨褌褜 蟹芯斜褉邪卸械薪薪褟 褋褞写懈 邪斜芯',
   },
 }
 
diff --git a/i18n/uk-UA/custom.ts b/i18n/uk-UA/custom.ts
index 1eba3f1..378e094 100644
--- a/i18n/uk-UA/custom.ts
+++ b/i18n/uk-UA/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '袨薪芯胁褨褌褜 褋胁褨泄 锌谢邪薪 写芯 ',
     suffix: ', 褖芯斜 薪邪谢邪褕褌褍胁邪褌懈 褋胁褨泄 斜褉械薪写.',
-    title: '袨薪芯胁褨褌褜 褋胁褨泄 锌谢邪薪',
-    des: '袨薪芯胁褨褌褜 褋胁褨泄 锌谢邪薪, 褖芯斜 薪邪谢邪褕褌褍胁邪褌懈 褋胁褨泄 斜褉械薪写',
   },
   webapp: {
     title: '袧邪谢邪褕褌褍胁邪褌懈 斜褉械薪写 写谢褟 WebApp',
diff --git a/i18n/uk-UA/dataset-creation.ts b/i18n/uk-UA/dataset-creation.ts
index 18b5553..0db1baa 100644
--- a/i18n/uk-UA/dataset-creation.ts
+++ b/i18n/uk-UA/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '小褌胁芯褉懈褌懈 袟薪邪薪薪褟',
       update: '袛芯写邪褌懈 写邪薪褨',
-      fallbackRoute: '袟薪邪薪薪褟',
     },
     one: '袙懈斜械褉褨褌褜 写卸械褉械谢芯 写邪薪懈褏',
     two: '袩芯锌械褉械写薪褟 芯斜褉芯斜泻邪 褌邪 芯褔懈褖械薪薪褟 褌械泻褋褌褍',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: '袟邪胁邪薪褌邪卸懈褌懈 褌械泻褋褌芯胁懈泄 褎邪泄谢',
-      button: '袩械褉械褌褟谐薪褨褌褜 褎邪泄谢懈 邪斜芯 锌邪锌泻懈 邪斜芯',
+      button: '袩械褉械褌褟谐薪褨褌褜 褎邪泄谢 邪斜芯',
       browse: '袨斜械褉褨褌褜',
       tip: '袩褨写褌褉懈屑褍褞褌褜褋褟 {{supportTypes}}. 袦邪泻褋懈屑褍屑 {{size}} 袦袘 泻芯卸械薪.',
       validation: {
@@ -60,7 +59,7 @@
       unknownError: '袧械胁褨写芯屑邪 锌芯屑懈谢泻邪',
       maxDepth: '袦邪泻褋懈屑邪谢褜薪邪 谐谢懈斜懈薪邪',
       crawlSubPage: '小泻邪薪褍胁邪薪薪褟 锌褨写褋褌芯褉褨薪芯泻',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       preview: '袩芯锌械褉械写薪褨泄 锌械褉械谐谢褟写',
       fireCrawlNotConfigured: 'Firecrawl 薪械 薪邪谢邪褕褌芯胁邪薪芯',
       includeOnlyPaths: '袙泻谢褞褔邪褌懈 谢懈褕械 泻芯薪褌褍褉懈',
@@ -82,14 +81,6 @@
       jinaReaderNotConfigured: 'Jina Reader 薪械 薪邪谢邪褕褌芯胁邪薪邪',
       jinaReaderTitle: '袩械褉械褌胁芯褉褨褌褜 胁械褋褜 褋邪泄褌 薪邪 Markdown',
       useSitemap: '袙懈泻芯褉懈褋褌芯胁褍泄褌械 泻邪褉褌褍 褋邪泄褌褍',
-      configureJinaReader: '袧邪谢邪褕褌褍胁邪褌懈 Jina Reader',
-      waterCrawlNotConfigured: 'Watercrawl 薪械 薪邪谢邪褕褌芯胁邪薪芯',
-      waterCrawlNotConfiguredDescription: '袧邪谢邪褕褌褍泄褌械 Watercrawl 蟹 泻谢褞褔械屑 API, 褖芯斜 泄芯谐芯 胁懈泻芯褉懈褋褌芯胁褍胁邪褌懈.',
-      configureFirecrawl: '袧邪谢邪褕褌褍胁邪薪薪褟 Firecrawl',
-      configureWatercrawl: '袧邪谢邪褕褌褍胁邪薪薪褟 Watercrawl',
-      watercrawlTitle: '袙懈褌褟谐褍泄褌械 胁械斜-泻芯薪褌械薪褌 蟹邪 写芯锌芯屑芯谐芯褞 Watercrawl',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      watercrawlDoc: '袛芯泻褍屑械薪褌邪褑褨褟 Watercrawl',
     },
     cancel: '小泻邪褋褍胁邪褌懈',
   },
@@ -207,11 +198,6 @@
     learnMore: '袛褨蟹薪邪褌懈褋褟 斜褨谢褜褕械',
     title: '袩褨写泻谢褞褔懈褌懈褋褟 写芯 褨薪褕懈褏 写卸械褉械谢 写邪薪懈褏?',
     description: '袧邪褉邪蟹褨 斜邪蟹邪 蟹薪邪薪褜 Dify 屑邪褦 谢懈褕械 芯斜屑械卸械薪褨 写卸械褉械谢邪 写邪薪懈褏. 袛芯写邪胁邪薪薪褟 写卸械褉械谢邪 写邪薪懈褏 写芯 斜邪蟹懈 蟹薪邪薪褜 Dify 鈥� 褑械 褎邪薪褌邪褋褌懈褔薪懈泄 褋锌芯褋褨斜 锌褨写胁懈褖懈褌懈 谐薪褍褔泻褨褋褌褜 褨 锌芯褌褍卸薪褨褋褌褜 锌谢邪褌褎芯褉屑懈 写谢褟 胁褋褨褏 泻芯褉懈褋褌褍胁邪褔褨胁. 袧邪褕 锌芯褋褨斜薪懈泻 褨蟹 胁薪械褋泻褍 褋锌褉芯褖褍褦 锌芯褔邪褌芯泻 褉芯斜芯褌懈. 袘褍写褜 谢邪褋泻邪, 薪邪褌懈褋薪褨褌褜 薪邪 锌芯褋懈谢邪薪薪褟 薪懈卸褔械, 褖芯斜 写褨蟹薪邪褌懈褋褟 斜褨谢褜褕械.',
-  },
-  watercrawl: {
-    configWatercrawl: '袧邪谢邪褕褌褍胁邪薪薪褟 Watercrawl',
-    apiKeyPlaceholder: 'API 泻谢褞褔 蟹 watercrawl.dev',
-    getApiKeyLinkText: '袨褌褉懈屑邪泄褌械 胁邪褕 API 泻谢褞褔 蟹 watercrawl.dev',
   },
 }
 
diff --git a/i18n/uk-UA/dataset-documents.ts b/i18n/uk-UA/dataset-documents.ts
index da012cb..192253b 100644
--- a/i18n/uk-UA/dataset-documents.ts
+++ b/i18n/uk-UA/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: '袦芯胁邪',
         authorPublisher: '袗胁褌芯褉/胁懈写邪胁械褑褜',
         publishDate: '袛邪褌邪 锌褍斜谢褨泻邪褑褨褩',
-        topicKeywords: '孝械屑懈/泻谢褞褔芯胁褨 褋谢芯胁邪',
+        topicsKeywords: '孝械屑懈/泻谢褞褔芯胁褨 褋谢芯胁邪',
         description: '袨锌懈褋',
       },
       paper: {
diff --git a/i18n/uk-UA/dataset-settings.ts b/i18n/uk-UA/dataset-settings.ts
index f5403b8..ef3bd5e 100644
--- a/i18n/uk-UA/dataset-settings.ts
+++ b/i18n/uk-UA/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: '袛褨蟹薪邪褌懈褋褟 斜褨谢褜褕械',
       description: ' 锌褉芯 屑械褌芯写 胁懈斜褨褉泻懈.',
       longDescription: ' 锌褉芯 屑械褌芯写 胁懈斜褨褉泻懈, 胁懈 屑芯卸械褌械 蟹屑褨薪懈褌懈 褑械 斜褍写褜-泻芯谢懈 胁 薪邪谢邪褕褌褍胁邪薪薪褟褏 斜邪蟹懈 蟹薪邪薪褜.',
-      method: '袦械褌芯写 芯褌褉懈屑邪薪薪褟',
     },
     save: '袟斜械褉械谐褌懈',
     me: '(袙懈)',
@@ -36,7 +35,6 @@
     helpText: '袛褨蟹薪邪泄褌械褋褟, 褟泻 薪邪锌懈褋邪褌懈 褏芯褉芯褕懈泄 芯锌懈褋 薪邪斜芯褉褍 写邪薪懈褏.',
     indexMethodChangeToEconomyDisabledTip: '袧械写芯褋褌褍锌薪芯 写谢褟 锌芯薪懈卸械薪薪褟 蟹 HQ 写芯 ECO',
     upgradeHighQualityTip: '袩褨褋谢褟 芯薪芯胁谢械薪薪褟 写芯 褉械卸懈屑褍 胁懈褋芯泻芯褩 褟泻芯褋褌褨 锌芯胁械褉薪械薪薪褟 写芯 械泻芯薪芯屑薪芯谐芯 褉械卸懈屑褍 薪械写芯褋褌褍锌薪械',
-    searchModel: '袩芯褕褍泻 屑芯写械谢褨',
   },
 }
 
diff --git a/i18n/uk-UA/dataset.ts b/i18n/uk-UA/dataset.ts
index 84bc8d9..20948e7 100644
--- a/i18n/uk-UA/dataset.ts
+++ b/i18n/uk-UA/dataset.ts
@@ -169,54 +169,6 @@
   enable: '袙屑懈泻邪褌懈',
   allKnowledge: '袙褋褨 蟹薪邪薪薪褟',
   allKnowledgeDescription: '袙懈斜械褉褨褌褜, 褖芯斜 胁褨写芯斜褉邪蟹懈褌懈 胁褋褨 蟹薪邪薪薪褟 胁 褑褨泄 褉芯斜芯褔褨泄 芯斜谢邪褋褌褨. 孝褨谢褜泻懈 胁谢邪褋薪懈泻 褉芯斜芯褔芯褩 芯斜谢邪褋褌褨 屑芯卸械 泻械褉褍胁邪褌懈 胁褋褨屑邪 蟹薪邪薪薪褟屑懈.',
-  metadata: {
-    createMetadata: {
-      back: '袧邪蟹邪写',
-      title: '袧芯胁褨 屑械褌邪写邪薪褨',
-      type: '孝懈锌',
-      namePlaceholder: '袛芯写邪褌懈 薪邪蟹胁褍 屑械褌邪写邪薪懈褏',
-      name: '袉屑\'褟',
-    },
-    checkName: {
-      empty: '袉屑\'褟 屑械褌邪写邪薪懈褏 薪械 屑芯卸械 斜褍褌懈 锌芯褉芯卸薪褨屑',
-      invalid: '袉屑\'褟 屑械褌邪写邪薪懈褏 屑芯卸械 屑褨褋褌懈褌懈 谢懈褕械 屑邪谢褨 谢褨褌械褉懈, 褑懈褎褉懈 褌邪 锌褨写泻褉械褋谢械薪薪褟, 褨 锌芯胁懈薪薪芯 锌芯褔懈薪邪褌懈褋褟 蟹 屑邪谢芯褩 谢褨褌械褉懈',
-    },
-    batchEditMetadata: {
-      editMetadata: '袪械写邪谐褍胁邪褌懈 屑械褌邪写邪薪褨',
-      editDocumentsNum: '袪械写邪谐褍胁邪薪薪褟 {{num}} 写芯泻褍屑械薪褌褨胁',
-      applyToAllSelectDocument: '袟邪褋褌芯褋褍胁邪褌懈 写芯 胁褋褨褏 胁懈斜褉邪薪懈褏 写芯泻褍屑械薪褌褨胁',
-      multipleValue: '袣褨谢褜泻邪 蟹薪邪褔械薪褜',
-      applyToAllSelectDocumentTip: '袗胁褌芯屑邪褌懈褔薪芯 褋褌胁芯褉褞胁邪褌懈 胁褋褞 褉械写邪谐芯胁邪薪褍 褌邪 薪芯胁褍 屑械褌邪写邪薪褨 写谢褟 胁褋褨褏 胁懈斜褉邪薪懈褏 写芯泻褍屑械薪褌褨胁, 褨薪邪泻褕械 褉械写邪谐褍胁邪薪薪褟 屑械褌邪写邪薪懈褏 斜褍写械 蟹邪褋褌芯褋芯胁褍胁邪褌懈褋褟 褌褨谢褜泻懈 写芯 写芯泻褍屑械薪褌褨胁, 褟泻褨 屑邪褞褌褜 褩褏.',
-    },
-    selectMetadata: {
-      manageAction: '袣械褉褍胁邪褌懈',
-      search: '袩芯褕褍泻芯胁邪 屑械褌邪褨薪褎芯褉屑邪褑褨褟',
-      newAction: '袧芯胁褨 屑械褌邪写邪薪褨',
-    },
-    datasetMetadata: {
-      namePlaceholder: '袧邪蟹胁邪 屑械褌邪写邪薪懈褏',
-      rename: '袩械褉械泄屑械薪褍胁邪褌懈',
-      disabled: '袙懈屑泻薪械薪芯',
-      name: '袉屑\'褟',
-      values: '{{num}} 袟薪邪褔械薪薪褟',
-      builtIn: '袙斜褍写芯胁邪薪懈泄',
-      addMetaData: '袛芯写邪褌懈 屑械褌邪写邪薪褨',
-      description: '袙懈 屑芯卸械褌械 泻械褉褍胁邪褌懈 胁褋褨屑邪 屑械褌邪写邪薪懈屑懈 胁 褑褜芯屑褍 蟹薪邪薪薪褨 褌褍褌. 袦芯写懈褎褨泻邪褑褨褩 斜褍写褍褌褜 褋懈薪褏褉芯薪褨蟹芯胁邪薪褨 蟹 泻芯卸薪懈屑 写芯泻褍屑械薪褌芯屑.',
-      builtInDescription: '袙斜褍写芯胁邪薪褨 屑械褌邪写邪薪褨 邪胁褌芯屑邪褌懈褔薪芯 胁懈褌褟谐褍褞褌褜褋褟 褌邪 谐械薪械褉褍褞褌褜褋褟. 袙芯薪懈 锌芯胁懈薪薪褨 斜褍褌懈 邪泻褌懈胁芯胁邪薪褨 锌械褉械写 胁懈泻芯褉懈褋褌邪薪薪褟屑 褨 薪械 屑芯卸褍褌褜 斜褍褌懈 胁褨写褉械写邪谐芯胁邪薪褨.',
-      deleteTitle: '袩褨写褌胁械褉写褜褌械, 褖芯斜 胁懈写邪谢懈褌懈',
-      deleteContent: '袙懈 胁锌械胁薪械薪褨, 褖芯 褏芯褔械褌械 胁懈写邪谢懈褌懈 屑械褌邪写邪薪褨 "{{name}}"?',
-    },
-    documentMetadata: {
-      documentInformation: '袉薪褎芯褉屑邪褑褨褟 锌褉芯 写芯泻褍屑械薪褌',
-      technicalParameters: '孝械褏薪褨褔薪褨 锌邪褉邪屑械褌褉懈',
-      startLabeling: '袩芯褔邪褌懈 屑邪褉泻褍胁邪薪薪褟',
-      metadataToolTip: '袦械褌邪写邪薪褨 褋谢褍谐褍褞褌褜 泻褉懈褌懈褔薪芯褞 褎褨谢褜褌褉邪褑褨褦褞, 褖芯 锌褨写胁懈褖褍褦 褌芯褔薪褨褋褌褜 褨 邪泻褌褍邪谢褜薪褨褋褌褜 胁懈褌褟谐褍胁邪薪薪褟 褨薪褎芯褉屑邪褑褨褩. 袙懈 屑芯卸械褌械 蟹屑褨薪懈褌懈 褌邪 写芯写邪褌懈 屑械褌邪写邪薪褨 写谢褟 褑褜芯谐芯 写芯泻褍屑械薪褌邪 褌褍褌.',
-    },
-    metadata: '袦械褌邪写邪薪褨',
-    chooseTime: '袙懈斜械褉褨褌褜 褔邪褋...',
-    addMetadata: '袛芯写邪褌懈 屑械褌邪写邪薪褨',
-  },
-  embeddingModelNotAvailable: '袦芯写械谢褜 胁斜褍写芯胁褍胁邪薪薪褟 薪械写芯褋褌褍锌薪邪.',
 }
 
 export default translation
diff --git a/i18n/uk-UA/explore.ts b/i18n/uk-UA/explore.ts
index 0bb03af..8b2efc9 100644
--- a/i18n/uk-UA/explore.ts
+++ b/i18n/uk-UA/explore.ts
@@ -37,7 +37,6 @@
     HR: 'HR',
     Workflow: '袪芯斜芯褔懈泄 锌褉芯褑械褋',
     Agent: '袗谐械薪褌',
-    Entertainment: '袪芯蟹胁邪谐懈',
   },
 }
 
diff --git a/i18n/uk-UA/run-log.ts b/i18n/uk-UA/run-log.ts
index a2979f5..6c8cfc3 100644
--- a/i18n/uk-UA/run-log.ts
+++ b/i18n/uk-UA/run-log.ts
@@ -24,8 +24,6 @@
     link: '锌邪薪械谢褜 写械褌邪谢械泄',
     tipRight: ' 锌械褉械谐谢褟薪褍褌懈.',
   },
-  circularInvocationTip: '校 锌芯褌芯褔薪芯屑褍 褉芯斜芯褔芯屑褍 锌褉芯褑械褋褨 褨褋薪褍褦 泻褉褍谐芯胁懈泄 胁懈泻谢懈泻 褨薪褋褌褉褍屑械薪褌褨胁/胁褍蟹谢褨胁.',
-  actionLogs: '袞褍褉薪邪谢懈 写褨泄',
 }
 
 export default translation
diff --git a/i18n/uk-UA/share-app.ts b/i18n/uk-UA/share-app.ts
index 058925f..3465a6e 100644
--- a/i18n/uk-UA/share-app.ts
+++ b/i18n/uk-UA/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: '小锌褉芯斜褍胁邪褌懈 胁懈褉褨褕懈褌懈',
     temporarySystemIssue: '袙懈斜邪褔褌械, 褌懈屑褔邪褋芯胁邪 褋懈褋褌械屑薪邪 锌褉芯斜谢械屑邪.',
-    expand: '袪芯蟹谐芯褉薪褍褌懈',
-    collapse: '袟谐芯褉薪褍褌懈',
-    chatFormTip: '袧邪谢邪褕褌褍胁邪薪薪褟 褔邪褌褍 薪械 屑芯卸褍褌褜 斜褍褌懈 蟹屑褨薪械薪褨 锌褨褋谢褟 锌芯褔邪褌泻褍 褔邪褌褍.',
-    viewChatSettings: '袩械褉械谐谢褟薪褍褌懈 薪邪谢邪褕褌褍胁邪薪薪褟 褔邪褌褍',
-    chatSettingsTitle: '袧芯胁械 薪邪谢邪褕褌褍胁邪薪薪褟 褔邪褌褍',
-    newChatTip: '袙卸械 胁 薪芯胁芯屑褍 褔邪褌褨',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: '袪褟写芯泻 {{rowIndex}}: 蟹薪邪褔械薪薪褟 {{varName}} 薪械 屑芯卸械 屑褨褋褌懈褌懈 斜褨谢褜褕械 {{maxLength}} 褋懈屑胁芯谢褨胁',
       atLeastOne: '袘褍写褜 谢邪褋泻邪, 胁胁械写褨褌褜 锌褉懈薪邪泄屑薪褨 芯写懈薪 褉褟写芯泻 褍 蟹邪胁邪薪褌邪卸械薪懈泄 褎邪泄谢.',
     },
-    execution: '袙袠袣袨袧袗袧袧携',
-    executions: '{{num}} 袙袠袣袨袧袗袧鞋',
   },
 }
 
diff --git a/i18n/uk-UA/tools.ts b/i18n/uk-UA/tools.ts
index 528e683..f84d0d8 100644
--- a/i18n/uk-UA/tools.ts
+++ b/i18n/uk-UA/tools.ts
@@ -121,7 +121,6 @@
     number: '效懈褋谢芯',
     required: '袨斜芯胁鈥櫻徯沸盒拘残�',
     infoAndSetting: '袉薪褎芯褉屑邪褑褨褟 褌邪 薪邪谢邪褕褌褍胁邪薪薪褟',
-    file: '褎邪泄谢',
   },
   noCustomTool: {
     title: '袧械屑邪褦 泻芯褉懈褋褌褍胁邪褑褜泻懈褏 褨薪褋褌褉褍屑械薪褌褨胁!',
@@ -151,8 +150,6 @@
   openInStudio: '袙褨写泻褉懈褌懈 胁 小褌褍写褨褩',
   customToolTip: '袛褨蟹薪邪泄褌械褋褟 斜褨谢褜褕械 锌褉芯 泻芯褉懈褋褌褍胁邪褑褜泻褨 褨薪褋褌褉褍屑械薪褌懈 Dify',
   toolNameUsageTip: '袉屑\'褟 胁懈泻谢懈泻褍 褨薪褋褌褉褍屑械薪褌褍 写谢褟 屑褨褉泻褍胁邪薪褜 褨 锌褨写泻邪蟹芯泻 邪谐械薪褌邪',
-  copyToolName: '袉屑\'褟 泻芯锌褨褩',
-  noTools: '袉薪褋褌褉褍屑械薪褌褨胁 薪械 蟹薪邪泄写械薪芯',
 }
 
 export default translation
diff --git a/i18n/uk-UA/workflow.ts b/i18n/uk-UA/workflow.ts
index c2d0b13..42843d1 100644
--- a/i18n/uk-UA/workflow.ts
+++ b/i18n/uk-UA/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: '袛芯写邪薪芯 谐褨谢泻褍 锌芯屑懈谢泻懈',
     noHistory: '袘械蟹 褨褋褌芯褉褨褩',
     loadMore: '袟邪胁邪薪褌邪卸褌械 斜褨谢褜褕械 褉芯斜芯褔懈褏 锌褉芯褑械褋褨胁',
-    referenceVar: '袩芯褋懈谢邪谢褜薪邪 蟹屑褨薪薪邪',
-    exportPNG: '袝泻褋锌芯褉褌褍胁邪褌懈 褟泻 PNG',
-    noExist: '孝邪泻芯褩 蟹屑褨薪薪芯褩 薪械 褨褋薪褍褦',
-    exitVersions: '袙懈褏褨写薪褨 胁械褉褋褨褩',
-    versionHistory: '袉褋褌芯褉褨褟 胁械褉褋褨泄',
-    publishUpdate: '袨锌褍斜谢褨泻褍胁邪褌懈 芯薪芯胁谢械薪薪褟',
-    exportImage: '袝泻褋锌芯褉褌 蟹芯斜褉邪卸械薪薪褟',
-    exportSVG: '袝泻褋锌芯褉褌褍胁邪褌懈 褟泻 SVG',
-    exportJPEG: '袝泻褋锌芯褉褌褍胁邪褌懈 褟泻 JPEG',
   },
   env: {
     envPanelTitle: '袟屑褨薪薪褨 褋械褉械写芯胁懈褖邪',
@@ -204,8 +195,6 @@
     },
     invalidVariable: '袧械写褨泄褋薪邪 蟹屑褨薪薪邪',
     rerankModelRequired: '袩械褉械写 褍胁褨屑泻薪械薪薪褟屑 Rerank Model, 斜褍写褜 谢邪褋泻邪, 锌褨写褌胁械褉写褜褌械, 褖芯 屑芯写械谢褜 褍褋锌褨褕薪芯 薪邪谢邪褕褌芯胁邪薪邪 胁 薪邪谢邪褕褌褍胁邪薪薪褟褏.',
-    noValidTool: '{{field}} 薪械 胁懈斜褉邪薪芯 写褨泄褋薪芯谐芯 褨薪褋褌褉褍屑械薪褌褍',
-    toolParameterRequired: '{{field}}: 锌邪褉邪屑械褌褉 [{{param}}] 芯斜芯胁\'褟蟹泻芯胁懈泄',
   },
   singleRun: {
     testRun: '孝械褋褌芯胁懈泄 蟹邪锌褍褋泻',
@@ -214,7 +203,6 @@
     testRunIteration: '袉褌械褉邪褑褨褟 褌械褋褌芯胁芯谐芯 蟹邪锌褍褋泻褍',
     back: '袧邪蟹邪写',
     iteration: '袉褌械褉邪褑褨褟',
-    loop: '袩械褌谢褟',
   },
   tabs: {
     'searchBlock': '袩芯褕褍泻 斜谢芯泻褍',
@@ -230,8 +218,6 @@
     'utilities': '校褌懈谢褨褌懈',
     'noResult': '袧褨褔芯谐芯 薪械 蟹薪邪泄写械薪芯',
     'searchTool': '袉薪褋褌褉褍屑械薪褌 锌芯褕褍泻褍',
-    'plugin': '袩谢邪谐褨薪',
-    'agent': '小褌褉邪褌械谐褨褟 邪谐械薪褌邪',
   },
   blocks: {
     'start': '袩芯褔邪褌芯泻',
@@ -252,10 +238,6 @@
     'parameter-extractor': '袝泻褋褌褉邪泻褌芯褉 锌邪褉邪屑械褌褉褨胁',
     'document-extractor': '袝泻褋褌褉邪泻褌芯褉 写芯泻褍屑械薪褌褨胁',
     'list-operator': '袨锌械褉邪褌芯褉 褋锌懈褋泻褍',
-    'agent': '袗谐械薪褌',
-    'loop-start': '袩芯褔邪褌芯泻 褑懈泻谢褍',
-    'loop': '袩械褌谢褟',
-    'loop-end': '袙懈褏褨写 蟹 褑懈泻谢褍',
   },
   blocksAbout: {
     'start': '袙懈蟹薪邪褔褌械 锌芯褔邪褌泻芯胁褨 锌邪褉邪屑械褌褉懈 写谢褟 蟹邪锌褍褋泻褍 褉芯斜芯褔芯谐芯 锌芯褌芯泻褍',
@@ -275,9 +257,6 @@
     'parameter-extractor': '袙懈泻芯褉懈褋褌芯胁褍泄褌械 LLM 写谢褟 胁懈谢褍褔械薪薪褟 褋褌褉褍泻褌褍褉芯胁邪薪懈褏 锌邪褉邪屑械褌褉褨胁 蟹 锌褉懈褉芯写薪芯褩 屑芯胁懈 写谢褟 胁懈泻谢懈泻褨胁 褨薪褋褌褉褍屑械薪褌褨胁 邪斜芯 HTTP-蟹邪锌懈褌褨胁.',
     'document-extractor': '袙懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 写谢褟 邪薪邪谢褨蟹褍 蟹邪胁邪薪褌邪卸械薪懈褏 写芯泻褍屑械薪褌褨胁 褍 褌械泻褋褌芯胁懈泄 泻芯薪褌械薪褌, 褟泻懈泄 谢械谐泻芯 蟹褉芯蟹褍屑褨谢懈泄 LLM.',
     'list-operator': '袙懈泻芯褉懈褋褌芯胁褍褦褌褜褋褟 写谢褟 褎褨谢褜褌褉邪褑褨褩 邪斜芯 褋芯褉褌褍胁邪薪薪褟 胁屑褨褋褌褍 屑邪褋懈胁褍.',
-    'agent': '袙懈泻谢懈泻 胁械谢懈泻懈褏 屑芯胁薪懈褏 屑芯写械谢械泄 写谢褟 胁褨写锌芯胁褨写械泄 薪邪 蟹邪锌懈褌邪薪薪褟 邪斜芯 芯斜褉芯斜泻懈 锌褉懈褉芯写薪芯褩 屑芯胁懈',
-    'loop': '袙懈泻芯薪褍泄褌械 褑懈泻谢 谢芯谐褨泻懈, 锌芯泻懈 薪械 斜褍写械 胁懈泻芯薪邪薪芯 褍屑芯胁褍 蟹邪胁械褉褕械薪薪褟 邪斜芯 写芯褋褟谐薪褍褌芯 屑邪泻褋懈屑邪谢褜薪褍 泻褨谢褜泻褨褋褌褜 褨褌械褉邪褑褨泄.',
-    'loop-end': '袝泻胁褨胁邪谢械薪褌薪芯 "锌械褉械褉胁褨". 笑械泄 胁褍蟹芯谢 薪械 屑邪褦 械谢械屑械薪褌褨胁 泻芯薪褎褨谐褍褉邪褑褨褩. 袣芯谢懈 褌褨谢芯 褑懈泻谢褍 写芯褋褟谐邪褦 褑褜芯谐芯 胁褍蟹谢邪, 褑懈泻谢 蟹邪胁械褉褕褍褦褌褜褋褟.',
   },
   operator: {
     zoomIn: '袟斜褨谢褜褕懈褌懈',
@@ -419,34 +398,6 @@
         variable: '袟屑褨薪薪邪',
       },
       sysQueryInUser: 'sys.query 褍 锌芯胁褨写芯屑谢械薪薪褨 泻芯褉懈褋褌褍胁邪褔邪 褦 芯斜芯胁\'褟蟹泻芯胁懈屑',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '袘褍写褜 谢邪褋泻邪, 蟹邪胁械褉褕褨褌褜 褉械写邪谐褍胁邪薪薪褟 锌芯褌芯褔薪芯谐芯 锌芯谢褟 锌械褉械写 蟹斜械褉械卸械薪薪褟屑 褋褏械屑褘.',
-        },
-        import: '袉屑锌芯褉褌 蟹 JSON',
-        instruction: '袉薪褋褌褉褍泻褑褨褟',
-        descriptionPlaceholder: '袛芯写邪褌懈 芯锌懈褋',
-        addField: '袛芯写邪褌懈 锌芯谢械',
-        promptTooltip: '袩械褉械褌胁芯褉褨褌褜 褌械泻褋褌芯胁懈泄 芯锌懈褋 褍 褋褌邪薪写邪褉褌懈蟹芯胁邪薪褍 褋褌褉褍泻褌褍褉褍 JSON Schema.',
-        resultTip: '袨褋褜 蟹谐械薪械褉芯胁邪薪懈泄 褉械蟹褍谢褜褌邪褌. 携泻褖芯 胁邪褋 薪械 胁谢邪褕褌芯胁褍褦, 胁懈 屑芯卸械褌械 锌芯胁械褉薪褍褌懈褋褟 薪邪蟹邪写 褨 蟹屑褨薪懈褌懈 褋胁褨泄 蟹邪锌懈褌.',
-        promptPlaceholder: '袨锌懈褕褨褌褜 胁邪褕褍 褋褏械屑褍 JSON...',
-        generating: '袚械薪械褉邪褑褨褟 JSON-褋褏械屑懈...',
-        back: '袧邪蟹邪写',
-        generatedResult: '袟谐械薪械褉芯胁邪薪懈泄 褉械蟹褍谢褜褌邪褌',
-        fieldNamePlaceholder: '袧邪蟹胁邪 锌芯谢褟',
-        addChildField: '袛芯写邪褌懈 锌芯谢械 写懈褌懈薪懈',
-        apply: '袟邪褋褌芯褋褍胁邪褌懈',
-        regenerate: '袩械褉械谐械薪械褉褍胁邪褌懈',
-        resetDefaults: '小泻懈薪褍褌懈',
-        generateJsonSchema: '袟谐械薪械褉褍胁邪褌懈 JSON 小褏械屑褍',
-        showAdvancedOptions: '袩芯泻邪蟹邪褌懈 褉芯蟹褕懈褉械薪褨 薪邪谢邪褕褌褍胁邪薪薪褟',
-        required: '薪械芯斜褏褨写薪芯',
-        generationTip: '袙懈 屑芯卸械褌械 胁懈泻芯褉懈褋褌芯胁褍胁邪褌懈 锌褉懈褉芯写薪褍 屑芯胁褍, 褖芯斜 褕胁懈写泻芯 褋褌胁芯褉懈褌懈 JSON-褋褏械屑褍.',
-        stringValidations: '袙邪谢褨写薪褨褋褌褜 褉褟写泻褨胁',
-        generate: '袚械薪械褉褍胁邪褌懈',
-        title: '小褌褉褍泻褌褍褉芯胁邪薪邪 褋褏械屑邪 胁懈褏芯写褍',
-        doc: '袛褨蟹薪邪泄褌械褋褟 斜褨谢褜褕械 锌褉芯 褋褌褉褍泻褌褍褉芯胁邪薪懈泄 胁懈褏褨写',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '袟屑褨薪薪邪 蟹邪锌懈褌褍',
@@ -458,33 +409,6 @@
         icon: '小械谐屑械薪褌芯胁邪薪邪 锌褨泻褌芯谐褉邪屑邪',
         url: '小械谐屑械薪褌芯胁邪薪邪 URL',
         metadata: '袉薪褕褨 屑械褌邪写邪薪褨',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            title: '袙懈屑泻薪械薪芯',
-            subTitle: '袧械 胁泻谢褞褔邪褞褔懈 褎褨谢褜褌褉邪褑褨褞 屑械褌邪写邪薪懈褏',
-          },
-          automatic: {
-            title: '袗胁褌芯屑邪褌懈褔薪懈泄',
-            subTitle: '袗胁褌芯屑邪褌懈褔薪芯 谐械薪械褉褍胁邪褌懈 褍屑芯胁懈 褎褨谢褜褌褉邪褑褨褩 屑械褌邪写邪薪懈褏 薪邪 芯褋薪芯胁褨 蟹邪锌懈褌褍 泻芯褉懈褋褌褍胁邪褔邪.',
-            desc: '袗胁褌芯屑邪褌懈褔薪芯 谐械薪械褉褍胁邪褌懈 褍屑芯胁懈 褎褨谢褜褌褉邪褑褨褩 屑械褌邪写邪薪懈褏 薪邪 芯褋薪芯胁褨 蟹屑褨薪薪芯褩 蟹邪锌懈褌褍.',
-          },
-          manual: {
-            subTitle: '袙褉褍褔薪褍 写芯写邪泄褌械 褍屑芯胁懈 褎褨谢褜褌褉邪褑褨褩 屑械褌邪写邪薪懈褏',
-            title: '袩芯褋褨斜薪懈泻',
-          },
-        },
-        panel: {
-          search: '袩芯褕褍泻芯胁邪 屑械褌邪褨薪褎芯褉屑邪褑褨褟',
-          datePlaceholder: '袙懈斜械褉褨褌褜 褔邪褋...',
-          title: '校屑芯胁懈 褎褨谢褜褌褉邪褑褨褩 屑械褌邪写邪薪懈褏',
-          placeholder: '袙胁械写褨褌褜 蟹薪邪褔械薪薪褟',
-          conditions: '校屑芯胁懈',
-          select: '袙懈斜械褉褨褌褜 蟹屑褨薪薪褍...',
-          add: '袛芯写邪褌懈 褍屑芯胁褍',
-        },
-        title: '肖褨谢褜褌褉邪褑褨褟 屑械褌邪写邪薪懈褏',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'exists': '袉褋薪褍褦',
         'not exists': '薪械 褨褋薪褍褦',
         'not in': '袧械 胁',
-        'after': '锌褨褋谢褟',
-        'before': '褉邪薪褨褕械',
       },
       enterValue: '袙胁械写褨褌褜 蟹薪邪褔械薪薪褟',
       addCondition: '袛芯写邪褌懈 褍屑芯胁褍',
@@ -592,7 +514,6 @@
       },
       select: '袙懈斜械褉褨褌褜',
       addSubVariable: '袩褨写蟹屑褨薪薪邪',
-      condition: '校屑芯胁邪',
     },
     variableAssigner: {
       title: '袩褉懈褋胁芯褦薪薪褟 蟹屑褨薪薪懈褏',
@@ -635,8 +556,6 @@
         '+=': '+=',
         '*=': '*=',
         'extend': '袪芯蟹褕懈褉懈褌懈',
-        'remove-last': '袙懈写邪谢懈褌懈 芯褋褌邪薪薪褦',
-        'remove-first': '袙懈写邪谢懈褌懈 锌械褉褕懈泄',
       },
       'selectAssignedVariable': '袙懈斜械褉褨褌褜 锌褉懈蟹薪邪褔械薪褍 蟹屑褨薪薪褍...',
       'noAssignedVars': '袧械屑邪褦 写芯褋褌褍锌薪懈褏 锌褉懈蟹薪邪褔械薪懈褏 蟹屑褨薪薪懈褏',
@@ -772,107 +691,6 @@
       filterConditionComparisonValue: '袟薪邪褔械薪薪褟 褍屑芯胁懈 褎褨谢褜褌褉邪',
       extractsCondition: '袙懈褌褟谐薪褨褌褜 械谢械屑械薪褌 N',
     },
-    agent: {
-      strategy: {
-        selectTip: '袙懈斜械褉褨褌褜 邪谐械薪褌褋褜泻褍 褋褌褉邪褌械谐褨褞',
-        tooltip: '袪褨蟹薪褨 邪谐械薪褌褋褜泻褨 褋褌褉邪褌械谐褨褩 胁懈蟹薪邪褔邪褞褌褜, 褟泻 褋懈褋褌械屑邪 锌谢邪薪褍褦 褌邪 胁懈泻芯薪褍褦 斜邪谐邪褌芯械褌邪锌薪褨 胁懈泻谢懈泻懈 褨薪褋褌褉褍屑械薪褌褨胁',
-        configureTipDesc: '袩褨褋谢褟 薪邪谢邪褕褌褍胁邪薪薪褟 邪谐械薪褌薪芯褩 褋褌褉邪褌械谐褨褩 褑械泄 胁褍蟹芯谢 邪胁褌芯屑邪褌懈褔薪芯 蟹邪胁邪薪褌邪卸懈褌褜 褉械褕褌褍 泻芯薪褎褨谐褍褉邪褑褨泄. 小褌褉邪褌械谐褨褟 胁锌谢懈薪械 薪邪 屑械褏邪薪褨蟹屑 斜邪谐邪褌芯褋褌褍锌褨薪褔邪褋褌芯谐芯 褨薪褋褌褉褍屑械薪褌邪谢褜薪芯谐芯 屑褨褉泻褍胁邪薪薪褟.',
-        label: '袗谐械薪褌懈褔薪邪 褋褌褉邪褌械谐褨褟',
-        configureTip: '袘褍写褜 谢邪褋泻邪, 薪邪谢邪褕褌褍泄褌械 邪谐械薪褌懈褔薪褍 褋褌褉邪褌械谐褨褞.',
-        searchPlaceholder: '小褌褉邪褌械谐褨褟 锌芯褕褍泻芯胁芯谐芯 邪谐械薪褌邪',
-        shortLabel: '小褌褉邪褌械谐褨褟',
-      },
-      pluginInstaller: {
-        install: '袉薪褋褌邪谢褞胁邪褌懈',
-        installing: '校褋褌邪薪芯胁泻懈',
-      },
-      modelNotInMarketplace: {
-        desc: '笑褟 屑芯写械谢褜 胁褋褌邪薪芯胁谢褞褦褌褜褋褟 蟹 谢芯泻邪谢褜薪芯谐芯 褉械锌芯蟹懈褌芯褉褨褞 邪斜芯 褉械锌芯蟹懈褌芯褉褨褞 GitHub. 袘褍写褜 谢邪褋泻邪, 胁懈泻芯褉懈褋褌芯胁褍泄褌械 锌褨褋谢褟 胁褋褌邪薪芯胁谢械薪薪褟.',
-        title: '袦芯写械谢褜 薪械 胁褋褌邪薪芯胁谢械薪邪',
-        manageInPlugins: '袣械褉褍胁邪薪薪褟 胁 锌谢邪谐褨薪邪褏',
-      },
-      modelNotSupport: {
-        title: '袧械锌褨写褌褉懈屑褍胁邪薪邪 屑芯写械谢褜',
-        desc: '袙褋褌邪薪芯胁谢械薪邪 胁械褉褋褨褟 锌谢邪谐褨薪邪 薪械 锌械褉械写斜邪褔邪褦 褑褞 屑芯写械谢褜.',
-        descForVersionSwitch: '袙褋褌邪薪芯胁谢械薪邪 胁械褉褋褨褟 锌谢邪谐褨薪邪 薪械 锌械褉械写斜邪褔邪褦 褑褞 屑芯写械谢褜. 袧邪褌懈褋薪褨褌褜, 褖芯斜 蟹屑褨薪懈褌懈 胁械褉褋褨褞.',
-      },
-      modelSelectorTooltips: {
-        deprecated: '笑褟 屑芯写械谢褜 胁胁邪卸邪褦褌褜褋褟 蟹邪褋褌邪褉褨谢芯褞',
-      },
-      outputVars: {
-        files: {
-          upload_file_id: '袟邪胁邪薪褌邪卸懈褌懈 褨写械薪褌懈褎褨泻邪褌芯褉 褎邪泄谢褍',
-          transfer_method: '小锌芯褋褨斜 锌械褉械泻邪蟹褍. 笑褨薪薪褨褋褌褜 remote_url 邪斜芯 local_file',
-          type: '孝懈锌 锌褨写褌褉懈屑泻懈. 孝械锌械褉 锌褨写褌褉懈屑泻邪 褌褨谢褜泻懈 蟹芯斜褉邪卸械薪薪褟',
-          url: 'URL-邪写褉械褋邪 蟹芯斜褉邪卸械薪薪褟',
-          title: '肖邪泄谢懈, 褋褌胁芯褉械薪褨 邪谐械薪褌芯屑',
-        },
-        text: '袣芯薪褌械薪褌, 褋褌胁芯褉械薪懈泄 邪谐械薪褌芯屑',
-        json: '袗谐械薪褌 蟹谐械薪械褉褍胁邪胁 JSON',
-      },
-      checkList: {
-        strategyNotSelected: '小褌褉邪褌械谐褨褞 薪械 芯斜褉邪薪芯',
-      },
-      installPlugin: {
-        cancel: '小泻邪褋褍胁邪褌懈',
-        title: '袙褋褌邪薪芯胁懈褌懈 锌谢邪谐褨薪',
-        desc: '袩褉芯 胁褋褌邪薪芯胁谢械薪薪褟 薪邪褋褌褍锌薪芯谐芯 锌谢邪谐褨薪邪',
-        changelog: '袞褍褉薪邪谢 蟹屑褨薪',
-        install: '袉薪褋褌邪谢褞胁邪褌懈',
-      },
-      strategyNotSet: '袗谐械薪褌褋褜泻邪 褋褌褉邪褌械谐褨褟 袧械 胁褋褌邪薪芯胁谢械薪芯',
-      strategyNotFoundDesc: '袙褋褌邪薪芯胁谢械薪邪 胁械褉褋褨褟 锌谢邪谐褨薪邪 薪械 蟹邪斜械蟹锌械褔褍褦 褑褞 褋褌褉邪褌械谐褨褞.',
-      notAuthorized: '袧械 邪胁褌芯褉懈蟹芯胁邪薪芯',
-      pluginNotInstalled: '笑械泄 锌谢邪谐褨薪 薪械 胁褋褌邪薪芯胁谢械薪芯',
-      linkToPlugin: '袩芯褋懈谢邪薪薪褟 薪邪 锌谢邪谐褨薪懈',
-      configureModel: '袧邪谢邪褕褌褍泄褌械 屑芯写械谢褜',
-      toolNotInstallTooltip: '{{tool}} 薪械 胁褋褌邪薪芯胁谢械薪芯',
-      maxIterations: '袦邪泻褋懈屑邪谢褜薪邪 泻褨谢褜泻褨褋褌褜 褨褌械褉邪褑褨泄',
-      pluginNotFoundDesc: '笑械泄 锌谢邪谐褨薪 胁褋褌邪薪芯胁谢褞褦褌褜褋褟 蟹 GitHub. 袘褍写褜 谢邪褋泻邪, 锌械褉械泄写褨褌褜 写芯 袩谢邪谐褨薪懈 写谢褟 锌械褉械胁褋褌邪薪芯胁谢械薪薪褟',
-      modelNotInstallTooltip: '袛邪薪邪 屑芯写械谢褜 薪械 胁褋褌邪薪芯胁谢械薪邪',
-      unsupportedStrategy: '小褌褉邪褌械谐褨褟 斜械蟹 锌褨写褌褉懈屑泻懈',
-      learnMore: '袛褨蟹薪邪褌懈褋褟 斜褨谢褜褕械',
-      tools: '袉薪褋褌褉褍屑械薪褌',
-      strategyNotInstallTooltip: '{{strategy}} 薪械 胁褋褌邪薪芯胁谢械薪芯',
-      toolbox: '褟褖懈泻 写谢褟 褨薪褋褌褉褍屑械薪褌褨胁',
-      toolNotAuthorizedTooltip: '{{tool}} 袧械 邪胁褌芯褉懈蟹芯胁邪薪芯',
-      model: '屑芯写械谢褜',
-      pluginNotInstalledDesc: '笑械泄 锌谢邪谐褨薪 胁褋褌邪薪芯胁谢褞褦褌褜褋褟 蟹 GitHub. 袘褍写褜 谢邪褋泻邪, 锌械褉械泄写褨褌褜 写芯 袩谢邪谐褨薪懈 写谢褟 锌械褉械胁褋褌邪薪芯胁谢械薪薪褟',
-      modelNotSelected: '袦芯写械谢褜 薪械 芯斜褉邪薪邪',
-      strategyNotFoundDescAndSwitchVersion: '袙褋褌邪薪芯胁谢械薪邪 胁械褉褋褨褟 锌谢邪谐褨薪邪 薪械 蟹邪斜械蟹锌械褔褍褦 褑褞 褋褌褉邪褌械谐褨褞. 袧邪褌懈褋薪褨褌褜, 褖芯斜 蟹屑褨薪懈褌懈 胁械褉褋褨褞.',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: '袩褉懈锌懈薪械薪芯',
-        removeAbnormalOutput: '袙懈写邪谢懈褌懈 薪械薪芯褉屑邪谢褜薪懈泄 胁懈褏褨写',
-        continueOnError: '袩褉芯写芯胁卸懈褌懈 薪械蟹胁邪卸邪褞褔懈 薪邪 锌芯屑懈谢泻褍',
-      },
-      loop_one: '{{count}} 笑懈泻谢',
-      exitConditionTip: '袙褍蟹芯谢 褑懈泻谢褍 锌芯褌褉械斜褍褦 锌褉懈薪邪泄屑薪褨 芯写薪褨褦褩 褍屑芯胁懈 胁懈褏芯写褍',
-      error_other: '{{count}} 袩芯屑懈谢芯泻',
-      setLoopVariables: '袙褋褌邪薪芯胁褨褌褜 蟹屑褨薪薪褨 胁 屑械卸邪褏 芯斜谢邪褋褌褨 胁懈写懈屑芯褋褌褨 褑懈泻谢褍',
-      loopVariables: '笑懈泻谢褨褔薪褨 蟹屑褨薪薪褨',
-      currentLoopCount: '袩芯褌芯褔薪邪 泻褨谢褜泻褨褋褌褜 褑懈泻谢褨胁: {{count}}',
-      totalLoopCount: '袟邪谐邪谢褜薪邪 泻褨谢褜泻褨褋褌褜 褑懈泻谢褨胁: {{count}}',
-      loop_other: '{{count}} 笑懈泻谢褨胁',
-      error_one: '{{count}} 袩芯屑懈谢泻邪',
-      currentLoop: '袩芯褌芯褔薪邪 锌械褌谢褟',
-      breakCondition: '校屑芯胁邪 蟹邪胁械褉褕械薪薪褟 褑懈泻谢褍',
-      deleteDesc: '袙懈写邪谢械薪薪褟 胁褍蟹谢邪 褑懈泻谢褍 锌褉懈蟹胁械写械 写芯 胁懈写邪谢械薪薪褟 胁褋褨褏 写芯褔褨褉薪褨褏 胁褍蟹谢褨胁.',
-      breakConditionTip: '孝褨谢褜泻懈 蟹屑褨薪薪褨 胁 褑懈泻谢邪褏 蟹 褍屑芯胁邪屑懈 蟹邪胁械褉褕械薪薪褟 褌邪 蟹屑褨薪薪褨 褉芯蟹屑芯胁懈 屑芯卸褍褌褜 斜褍褌懈 胁懈泻芯褉懈褋褌邪薪褨.',
-      initialLoopVariables: '袩芯褔邪褌泻芯胁褨 蟹屑褨薪薪褨 褑懈泻谢褍',
-      finalLoopVariables: '袟邪泻谢褞褔薪褨 蟹屑褨薪薪褨 褑懈泻谢褍',
-      input: '袙胁械写械薪薪褟',
-      errorResponseMethod: '袦械褌芯写 胁褨写锌芯胁褨写褨 薪邪 锌芯屑懈谢泻褍',
-      output: '袙懈褏褨写薪邪 蟹屑褨薪薪邪',
-      variableName: '袟屑褨薪薪邪 袉屑\'褟',
-      comma: ',',
-      inputMode: '袪械卸懈屑 胁胁械写械薪薪褟',
-      loopNode: '笑懈泻谢褨褔薪懈泄 胁褍蟹芯谢',
-      loopMaxCountError: '袘褍写褜 谢邪褋泻邪, 胁胁械写褨褌褜 写褨泄褋薪械 屑邪泻褋懈屑邪谢褜薪械 蟹薪邪褔械薪薪褟 褑懈泻谢褍, 褟泻械 泻芯谢懈胁邪褦褌褜褋褟 胁褨写 1 写芯 {{maxCount}}',
-      deleteTitle: '袙懈写邪谢懈褌懈 胁褍蟹芯谢 褑懈泻谢褍?',
-      loopMaxCount: '袦邪泻褋懈屑邪谢褜薪邪 泻褨谢褜泻褨褋褌褜 褑懈泻谢褨胁',
-    },
   },
   tracing: {
     stopBy: '袟褍锌懈薪械薪芯 泻芯褉懈褋褌褍胁邪褔械屑 {{user}}',
@@ -883,38 +701,6 @@
     assignedVarsDescription: '袩褉懈蟹薪邪褔械薪褨 蟹屑褨薪薪褨 屑邪褞褌褜 斜褍褌懈 写芯褋褌褍锌薪懈屑懈 写谢褟 蟹邪锌懈褋褍, 褌邪泻懈屑懈 褟泻',
     noAssignedVars: '袧械屑邪褦 写芯褋褌褍锌薪懈褏 锌褉懈蟹薪邪褔械薪懈褏 蟹屑褨薪薪懈褏',
     noAvailableVars: '袧械屑邪褦 写芯褋褌褍锌薪懈褏 蟹屑褨薪薪懈褏',
-  },
-  versionHistory: {
-    filter: {
-      onlyShowNamedVersions: '袩芯泻邪蟹褍泄褌械 谢懈褕械 薪邪蟹胁邪薪褨 胁械褉褋褨褩',
-      reset: '小泻懈薪褍褌懈 褎褨谢褜褌褉',
-      all: '校褋械',
-      onlyYours: '孝褨谢褜泻懈 褌胁芯褦',
-      empty: '袧械 蟹薪邪泄写械薪芯 胁褨写锌芯胁褨写薪褍 褨褋褌芯褉褨褞 胁械褉褋褨泄',
-    },
-    editField: {
-      titleLengthLimit: '袟邪谐芯谢芯胁芯泻 薪械 屑芯卸械 锌械褉械胁懈褖褍胁邪褌懈 {{limit}} 褋懈屑胁芯谢褨胁',
-      releaseNotes: '袩褉懈屑褨褌泻懈 写芯 胁懈锌褍褋泻褍',
-      title: '袧邪蟹胁邪',
-      releaseNotesLengthLimit: '袩褉懈屑褨褌泻懈 写芯 胁懈锌褍褋泻褍 薪械 屑芯卸褍褌褜 锌械褉械胁懈褖褍胁邪褌懈 {{limit}} 褋懈屑胁芯谢褨胁',
-    },
-    action: {
-      restoreFailure: '袧械 胁写邪谢芯褋褟 胁褨写薪芯胁懈褌懈 胁械褉褋褨褞',
-      updateSuccess: '袙械褉褋褨褟 芯薪芯胁谢械薪邪',
-      deleteFailure: '袧械 胁写邪谢芯褋褟 胁懈写邪谢懈褌懈 胁械褉褋褨褞',
-      deleteSuccess: '袙械褉褋褨褟 胁懈写邪谢械薪邪',
-      restoreSuccess: '袙械褉褋褨褟 胁褨写薪芯胁谢械薪邪',
-      updateFailure: '袧械 胁写邪谢芯褋褟 芯薪芯胁懈褌懈 胁械褉褋褨褞',
-    },
-    defaultName: '袘械蟹 薪邪蟹胁懈 胁械褉褋褨褟',
-    restorationTip: '袩褨褋谢褟 胁褨写薪芯胁谢械薪薪褟 胁械褉褋褨褩 薪懈薪褨褕薪褨泄 锌褉芯械泻褌 斜褍写械 锌械褉械蟹邪锌懈褋邪薪芯.',
-    title: '袙械褉褋褨褩',
-    currentDraft: '袩芯褌芯褔薪懈泄 锌褉芯械泻褌',
-    deletionTip: '袙懈写邪谢械薪薪褟 褦 薪械蟹胁芯褉芯褌薪褨屑, 斜褍写褜 谢邪褋泻邪, 锌褨写褌胁械褉写褨褌褜.',
-    releaseNotesPlaceholder: '袨锌懈褕褨褌褜, 褖芯 蟹屑褨薪懈谢芯褋褟',
-    editVersionInfo: '袪械写邪谐褍胁邪褌懈 褨薪褎芯褉屑邪褑褨褞 锌褉芯 胁械褉褋褨褞',
-    nameThisVersion: '袧邪蟹胁褨褌褜 褑褞 胁械褉褋褨褞',
-    latest: '袨褋褌邪薪薪褨 薪芯胁懈薪懈',
   },
 }
 
diff --git a/i18n/vi-VN/app-overview.ts b/i18n/vi-VN/app-overview.ts
index a0b7bd0..3d86652 100644
--- a/i18n/vi-VN/app-overview.ts
+++ b/i18n/vi-VN/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: 'Thi岷縯 l岷璸 giao di峄噉 m脿u c峄 chatbot',
         chatColorThemeInverted: '膼岷 ng瓢峄',
         invalidHexMessage: 'Gi谩 tr峄� m茫 m脿u kh么ng h峄 l峄�',
-        invalidPrivacyPolicy: 'Li锚n k岷縯 ch铆nh s谩ch b岷 m岷璽 kh么ng h峄 l峄�. Vui l貌ng s峄� d峄g li锚n k岷縯 h峄 l峄� b岷痶 膽岷 b岷眓g http ho岷穋 https',
         more: {
           entry: 'Hi峄僴 th峄� th锚m c脿i 膽岷穞',
           copyright: 'B岷 quy峄乶',
@@ -113,7 +112,6 @@
           operation: 'T脿i li峄噓',
         },
       },
-      launch: 'Ph贸ng',
     },
     apiInfo: {
       title: 'API d峄媍h v峄� backend',
diff --git a/i18n/vi-VN/app.ts b/i18n/vi-VN/app.ts
index aacfc64..5289362 100644
--- a/i18n/vi-VN/app.ts
+++ b/i18n/vi-VN/app.ts
@@ -159,10 +159,6 @@
       description: 'Opik l脿 m峄檛 n峄乶 t岷g m茫 ngu峄搉 m峄� 膽峄� 膽谩nh gi谩, th峄� nghi峄噈 v脿 gi谩m s谩t c谩c 峄﹏g d峄g LLM.',
       title: 'Opik',
     },
-    weave: {
-      title: 'D峄噒',
-      description: 'Weave l脿 m峄檛 n峄乶 t岷g m茫 ngu峄搉 m峄� 膽峄� 膽谩nh gi谩, th峄� nghi峄噈 v脿 gi谩m s谩t c谩c 峄﹏g d峄g LLM.',
-    },
   },
   answerIcon: {
     description: 'C贸 n锚n s峄� d峄g bi峄僽 t瓢峄g WebApp 膽峄� thay th岷� 馃 trong 峄﹏g d峄g 膽瓢峄 chia s岷� hay kh么ng',
@@ -192,23 +188,6 @@
     byCategories: 'THEO DANH M峄',
   },
   showMyCreatedAppsOnly: 'Ch峄� hi峄僴 th峄� 峄﹏g d峄g do t么i t岷',
-  appSelector: {
-    params: 'TH脭NG S峄� 峄∟G D峄G',
-    placeholder: 'Ch峄峮 m峄檛 峄﹏g d峄g...',
-    noParams: 'Kh么ng c岷 th么ng s峄�',
-    label: '峄╪g d峄g',
-  },
-  structOutput: {
-    configure: 'C岷 h矛nh',
-    required: 'Y锚u c岷',
-    notConfiguredTip: '膼岷 ra c贸 c岷 tr煤c ch瓢a 膽瓢峄 c岷 h矛nh.',
-    modelNotSupported: 'M么 h矛nh kh么ng 膽瓢峄 h峄� tr峄�',
-    LLMResponse: 'Ph岷 h峄搃 c峄 LLM',
-    structured: 'C岷 tr煤c',
-    structuredTip: '膼岷 ra c贸 c岷 tr煤c l脿 m峄檛 t铆nh n膬ng 膽岷 b岷 r岷眓g m么 h矛nh s岷� lu么n t岷 ra c谩c ph岷 h峄搃 tu芒n theo s啤 膽峄� JSON m脿 b岷 cung c岷.',
-    modelNotSupportedTip: 'M么 h矛nh hi峄噉 t岷 kh么ng h峄� tr峄� t铆nh n膬ng n脿y v脿 t峄� 膽峄檔g b峄� h岷� c岷 xu峄憂g vi峄嘽 ti锚m l峄噉h.',
-    moreFillTip: 'Hi峄僴 th峄� t峄慽 膽a 10 c岷 膽峄� l峄搉g gh茅p',
-  },
 }
 
 export default translation
diff --git a/i18n/vi-VN/billing.ts b/i18n/vi-VN/billing.ts
index 3a8ac03..595481e 100644
--- a/i18n/vi-VN/billing.ts
+++ b/i18n/vi-VN/billing.ts
@@ -69,7 +69,6 @@
     messageRequest: {
       title: 'S峄� L瓢峄g Tin Nh岷痭',
       tooltip: 'H岷 m峄ヽ tri峄噓 h峄搃 tin nh岷痭 cho c谩c k岷� ho岷h s峄� d峄g m么 h矛nh OpenAI (ngo岷 tr峄� gpt4). C谩c tin nh岷痭 v瓢峄 qu谩 gi峄沬 h岷 s岷� s峄� d峄g Kh贸a API OpenAI c峄 b岷.',
-      titlePerMonth: '{{count,number}} tin nh岷痭/th谩ng',
     },
     annotatedResponse: {
       title: 'H岷 M峄ヽ Quota Ph岷 h峄搃 膼茫 膽瓢峄 Ghi ch煤',
@@ -78,94 +77,27 @@
     ragAPIRequestTooltip: '膼峄� c岷璸 膽岷縩 s峄� l瓢峄g cu峄檆 g峄峣 API tri峄噓 h峄搃 ch峄� kh岷� n膬ng x峄� l媒 c啤 s峄� ki岷縩 th峄ヽ c峄 Dify.',
     receiptInfo: 'Ch峄� ch峄� nh贸m v脿 qu岷 tr峄� vi锚n nh贸m c贸 th峄� 膽膬ng k媒 v脿 xem th么ng tin thanh to谩n',
     annotationQuota: 'H岷 ng岷h ch煤 th铆ch',
-    priceTip: 'm峄梚 kh么ng gian l脿m vi峄嘽/',
-    documentsTooltip: 'H岷 ng岷h s峄� l瓢峄g t脿i li峄噓 膽瓢峄 nh岷璸 t峄� Ngu峄搉 D峄� li峄噓 Ki岷縩 th峄ヽ.',
-    apiRateLimitTooltip: 'Gi峄沬 h岷 t岷 su岷 API 谩p d峄g cho t岷 c岷� c谩c y锚u c岷 膽瓢峄 th峄眂 hi峄噉 th么ng qua API Dify, bao g峄搈 t岷 v膬n b岷, cu峄檆 tr貌 chuy峄噉, th峄眂 thi quy tr矛nh l脿m vi峄嘽 v脿 x峄� l媒 t脿i li峄噓.',
-    teamMember_one: '{{count,number}} th脿nh vi锚n trong nh贸m',
-    apiRateLimit: 'Gi峄沬 h岷 t岷 su岷 API',
-    annualBilling: 'H贸a 膽啤n h脿ng n膬m',
-    cloud: 'D峄媍h v峄� 膽谩m m芒y',
-    documentsRequestQuota: '{{count,number}}/ph煤t Gi峄沬 H岷 T峄� L峄� Y锚u C岷 Ki岷縩 Th峄ヽ',
-    self: 'T峄� l瓢u tr峄�',
-    comparePlanAndFeatures: 'So s谩nh c谩c k岷� ho岷h & t铆nh n膬ng',
-    freeTrialTip: 'd霉ng th峄� mi峄卬 ph铆 200 cu峄檆 g峄峣 OpenAI.',
-    freeTrialTipPrefix: '膼膬ng k媒 v脿 nh岷璶 m峄檛',
-    unlimitedApiRate: 'Kh么ng gi峄沬 h岷 t峄� l峄� API',
-    teamWorkspace: '{{count,number}} Kh么ng gian l脿m vi峄嘽 c峄 膼峄檌',
-    teamMember_other: '{{count,number}} th脿nh vi锚n trong nh贸m',
-    documents: '{{count,number}} T脿i li峄噓 Ki岷縩 th峄ヽ',
-    getStarted: 'B岷痶 膽岷',
-    apiRateLimitUnit: '{{count,number}}/ng脿y',
-    freeTrialTipSuffix: 'Kh么ng c岷 th岷� t铆n d峄g',
-    documentsRequestQuotaTooltip: 'Ch峄� 膽峄媙h t峄昻g s峄� h脿nh 膽峄檔g m脿 m峄檛 kh么ng gian l脿m vi峄嘽 c贸 th峄� th峄眂 hi峄噉 m峄梚 ph煤t trong c啤 s峄� tri th峄ヽ, bao g峄搈 t岷 m峄沬 t岷璸 d峄� li峄噓, x贸a, c岷璸 nh岷璽, t岷 t脿i li峄噓 l锚n, thay 膽峄昳, l瓢u tr峄� v脿 truy v岷 c啤 s峄� tri th峄ヽ. Ch峄� s峄� n脿y 膽瓢峄 s峄� d峄g 膽峄� 膽谩nh gi谩 hi峄噓 su岷 c峄 c谩c y锚u c岷 c啤 s峄� tri th峄ヽ. V铆 d峄�, n岷縰 m峄檛 ng瓢峄漣 d霉ng Sandbox th峄眂 hi峄噉 10 l岷 ki峄僲 tra li锚n ti岷縫 trong m峄檛 ph煤t, kh么ng gian l脿m vi峄嘽 c峄 h峄� s岷� b峄� h岷 ch岷� t岷 th峄漣 kh么ng th峄眂 hi峄噉 c谩c h脿nh 膽峄檔g sau trong ph煤t ti岷縫 theo: t岷 m峄沬 t岷璸 d峄� li峄噓, x贸a, c岷璸 nh岷璽 v脿 t岷 t脿i li峄噓 l锚n ho岷穋 thay 膽峄昳.',
   },
   plans: {
     sandbox: {
       name: 'H峄檖 C谩t',
       description: 'Th峄� nghi峄噈 mi峄卬 ph铆 200 l岷 GPT',
       includesTitle: 'Bao g峄搈:',
-      for: 'D霉ng th峄� mi峄卬 ph铆 c谩c t铆nh n膬ng c峄憈 l玫i',
     },
     professional: {
       name: 'Chuy锚n nghi峄噋',
       description: 'D脿nh cho c谩 nh芒n v脿 c谩c nh贸m nh峄� 膽峄� m峄� kh贸a nhi峄乽 s峄ヽ m岷h v峄沬 gi谩 c岷� ph岷 ch膬ng.',
       includesTitle: 'T岷 c岷� trong k岷� ho岷h mi峄卬 ph铆, c峄檔g th锚m:',
-      for: 'D脿nh cho c谩c nh脿 ph谩t tri峄僴 膽峄檆 l岷璸/nh贸m nh峄�',
     },
     team: {
       name: 'Nh贸m',
       description: 'H峄 t谩c m脿 kh么ng gi峄沬 h岷 v脿 t岷璶 h瓢峄焠g hi峄噓 su岷 h岷g nh岷.',
       includesTitle: 'T岷 c岷� trong k岷� ho岷h Chuy锚n nghi峄噋, c峄檔g th锚m:',
-      for: 'D脿nh cho c谩c 膽峄檌 nh贸m v峄玜',
     },
     enterprise: {
       name: 'Doanh nghi峄噋',
       description: 'Nh岷璶 to脿n b峄� kh岷� n膬ng v脿 h峄� tr峄� cho c谩c h峄� th峄憂g quan tr峄峮g cho nhi峄噈 v峄� quy m么 l峄沶.',
       includesTitle: 'T岷 c岷� trong k岷� ho岷h Nh贸m, c峄檔g th锚m:',
-      features: {
-        2: 'T铆nh n膬ng Doanh nghi峄噋 膼峄檆 quy峄乶',
-        1: 'Gi岷 ph茅p kinh doanh',
-        8: 'H峄� tr峄� k峄� thu岷璽 chuy锚n nghi峄噋',
-        7: 'C岷璸 nh岷璽 v脿 B岷 tr矛 b峄焛 Dify Ch铆nh th峄ヽ',
-        5: 'Th峄廰 thu岷璶 SLA b峄焛 c谩c 膽峄慽 t谩c Dify',
-        6: 'An ninh n芒ng cao v脿 ki峄僲 so谩t',
-        3: 'Nhi峄乽 kh么ng gian l脿m vi峄嘽 & Qu岷 l媒 doanh nghi峄噋',
-        0: 'Gi岷 ph谩p tri峄僴 khai m峄� r峄檔g quy m么 c岷 doanh nghi峄噋',
-        4: 'SSO',
-      },
-      price: 'T霉y ch峄塶h',
-      for: 'D脿nh cho c谩c 膽峄檌 l峄沶',
-      priceTip: 'Ch峄� thanh to谩n h脿ng n膬m',
-      btnText: 'Li锚n h峄� v峄沬 B峄� ph岷璶 B谩n h脿ng',
-    },
-    community: {
-      features: {
-        2: 'Tu芒n th峄� Gi岷 ph茅p M茫 ngu峄搉 M峄� Dify',
-        0: 'T岷 c岷� c谩c t铆nh n膬ng c峄憈 l玫i 膽瓢峄 ph谩t h脿nh d瓢峄沬 Kho l瓢u tr峄� c么ng khai',
-        1: 'Kh么ng gian l脿m vi峄嘽 膽啤n',
-      },
-      description: 'D脿nh cho ng瓢峄漣 d霉ng c谩 nh芒n, nh贸m nh峄� ho岷穋 c谩c d峄� 谩n phi th瓢啤ng m岷',
-      name: 'C峄檔g 膽峄搉g',
-      btnText: 'B岷痶 膽岷 v峄沬 C峄檔g 膽峄搉g',
-      price: 'Mi峄卬 ph铆',
-      for: 'D脿nh cho ng瓢峄漣 d霉ng c谩 nh芒n, nh贸m nh峄� ho岷穋 c谩c d峄� 谩n phi th瓢啤ng m岷',
-      includesTitle: 'T铆nh n膬ng mi峄卬 ph铆:',
-    },
-    premium: {
-      features: {
-        3: 'H峄� tr峄� qua Email & Chat 漂u ti锚n',
-        2: 'T霉y ch峄塶h Logo & Th瓢啤ng hi峄噓 峄╪g d峄g Web',
-        1: 'Kh么ng gian l脿m vi峄嘽 膽啤n',
-        0: '膼峄� tin c岷瓂 t峄� qu岷 l媒 b峄焛 c谩c nh脿 cung c岷 膽谩m m芒y kh谩c nhau',
-      },
-      comingSoon: 'H峄� tr峄� Microsoft Azure & Google Cloud S岷� 膼岷縩 S峄沵',
-      priceTip: 'D峄盿 tr锚n Th峄� tr瓢峄漬g 膼谩m m芒y',
-      btnText: 'Nh岷璶 Premium trong',
-      description: 'D脿nh cho c谩c t峄� ch峄ヽ v脿 nh贸m v峄玜',
-      price: 'C贸 th峄� m峄� r峄檔g',
-      includesTitle: 'M峄峣 th峄� t峄� C峄檔g 膽峄搉g, c峄檔g th锚m:',
-      for: 'D脿nh cho c谩c t峄� ch峄ヽ v脿 nh贸m v峄玜',
-      name: 'Cao c岷',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: 'N芒ng c岷 k岷� ho岷h c峄 b岷 膽峄�',
     fullTipLine2: 'x芒y d峄眓g th锚m 峄﹏g d峄g.',
-    contactUs: 'Li锚n h峄� v峄沬 ch煤ng t么i',
-    fullTip2: '膼茫 膽岷 gi峄沬 h岷 k岷� ho岷h',
-    fullTip1des: 'B岷 膽茫 膽岷 膽岷縩 gi峄沬 h岷 x芒y d峄眓g 峄﹏g d峄g tr锚n k岷� ho岷h n脿y.',
-    fullTip1: 'N芒ng c岷 膽峄� t岷 th锚m 峄﹏g d峄g',
-    fullTip2des: 'Ch煤ng t么i khuy锚n b岷 n锚n x贸a c谩c 峄﹏g d峄g kh么ng ho岷 膽峄檔g 膽峄� gi岷 ph贸ng dung l瓢峄g, ho岷穋 li锚n h峄� v峄沬 ch煤ng t么i.',
   },
   annotatedResponse: {
     fullTipLine1: 'N芒ng c岷 k岷� ho岷h c峄 b岷 膽峄�',
     fullTipLine2: 'ghi ch煤 th锚m cu峄檆 tr貌 chuy峄噉.',
     quotaTitle: 'H岷 M峄ヽ Quota Ph岷 h峄搃 膼茫 膽瓢峄 Ghi ch煤',
   },
-  usagePage: {
-    documentsUploadQuota: 'H岷 ng岷h t岷 l锚n t脿i li峄噓',
-    annotationQuota: 'H岷 ng岷h ch煤 th铆ch',
-    vectorSpaceTooltip: 'C谩c t脿i li峄噓 v峄沬 ch岷� 膽峄� l岷璸 ch峄� m峄 Ch岷 l瓢峄g Cao s岷� ti锚u t峄憂 t脿i nguy锚n L瓢u tr峄� D峄� li峄噓 Ki岷縩 th峄ヽ. Khi L瓢u tr峄� D峄� li峄噓 Ki岷縩 th峄ヽ 膽岷 gi峄沬 h岷, c谩c t脿i li峄噓 m峄沬 s岷� kh么ng 膽瓢峄 t岷 l锚n.',
-    teamMembers: 'C谩c th脿nh vi锚n trong nh贸m',
-    vectorSpace: 'L瓢u tr峄� d峄� li峄噓 ki岷縩 th峄ヽ',
-    buildApps: 'X芒y d峄眓g 峄﹏g d峄g',
-  },
-  teamMembers: 'C谩c th脿nh vi锚n trong nh贸m',
 }
 
 export default translation
diff --git a/i18n/vi-VN/common.ts b/i18n/vi-VN/common.ts
index 6023fe7..9fd1af1 100644
--- a/i18n/vi-VN/common.ts
+++ b/i18n/vi-VN/common.ts
@@ -50,14 +50,6 @@
     submit: 'Tr矛nh',
     skip: 'T脿u',
     imageCopied: 'H矛nh 岷h sao ch茅p',
-    deleteApp: 'X贸a 峄﹏g d峄g',
-    viewDetails: 'Xem chi ti岷縯',
-    copied: 'Sao ch茅p',
-    in: 'trong',
-    more: 'H啤n',
-    downloadFailed: 'T岷 xu峄憂g th岷 b岷. Vui l貌ng th峄� l岷 sau.',
-    format: '膼峄媙h d岷g',
-    downloadSuccess: 'T岷 xu峄憂g 膽茫 ho脿n th脿nh.',
   },
   placeholder: {
     input: 'Vui l貌ng nh岷璸',
@@ -130,8 +122,6 @@
       Custom: 'T霉y ch峄塶h',
     },
     addMoreModel: '膼i峄乽 ch峄塶h c脿i 膽岷穞 膽峄� th锚m m么 h矛nh',
-    settingsLink: 'C脿i 膽岷穞 nh脿 cung c岷 m么 h矛nh',
-    capabilities: 'Kh岷� n膬ng 膽a ph瓢啤ng th峄ヽ',
   },
   menus: {
     status: 'beta',
@@ -144,7 +134,6 @@
     newApp: '峄╪g d峄g m峄沬',
     newDataset: 'T岷 Ki岷縩 th峄ヽ',
     tools: 'C么ng c峄�',
-    exploreMarketplace: 'Kh谩m ph谩 Marketplace',
   },
   userProfile: {
     settings: 'C脿i 膽岷穞',
@@ -157,9 +146,6 @@
     community: 'C峄檔g 膽峄搉g',
     about: 'V峄� ch煤ng t么i',
     logout: '膼膬ng xu岷',
-    compliance: 'Tu芒n th峄�',
-    github: 'GitHub',
-    support: 'H峄� tr峄�',
   },
   settings: {
     accountGroup: 'T脌I KHO岷',
@@ -173,7 +159,6 @@
     dataSource: 'Ngu峄搉 d峄� li峄噓',
     plugin: 'Plugins',
     apiBasedExtension: 'M峄� r峄檔g d峄盿 tr锚n API',
-    generalGroup: 'T峄擭G QU脕T',
   },
   account: {
     avatar: '岷h 膽岷 di峄噉',
@@ -209,9 +194,6 @@
     feedbackTitle: 'Ph岷 h峄搃',
     feedbackLabel: 'H茫y cho ch煤ng t么i bi岷縯 l媒 do t岷 sao b岷 x贸a t脿i kho岷 c峄 m矛nh?',
     feedbackPlaceholder: 'T霉y ch峄峮',
-    workspaceIcon: 'Bi峄僽 t瓢峄g kh么ng gian l脿m vi峄嘽',
-    workspaceName: 'T锚n kh么ng gian l脿m vi峄嘽',
-    editWorkspaceInfo: 'Ch峄塶h s峄璦 th么ng tin kh么ng gian l脿m vi峄嘽',
   },
   members: {
     team: 'Nh贸m',
@@ -304,7 +286,6 @@
       usedUp: 'Quota d霉ng th峄� 膽茫 h岷縯. Th锚m nh脿 cung c岷 M么 h矛nh c峄 ri锚ng b岷.',
       useYourModel: 'Hi峄噉 膽ang s峄� d峄g nh脿 cung c岷 M么 h矛nh c峄 ri锚ng b岷.',
       close: '膼贸ng',
-      trialQuotaTip: 'H岷 ng岷h d霉ng th峄� Anthropic c峄 b岷 s岷� h岷縯 h岷 v脿o 2025/03/11 v脿 s岷� kh么ng c貌n kh岷� d峄g sau 膽贸. Vui l貌ng s峄� d峄g n贸 k峄媝 th峄漣.',
     },
     anthropic: {
       using: 'Kh岷� n膬ng nh煤ng 膽ang s峄� d峄g',
@@ -416,12 +397,6 @@
     apiKeyRateLimit: '膼茫 膽岷 膽岷縩 gi峄沬 h岷 t峄慶 膽峄�, c贸 s岷祅 sau {{gi芒y}} gi芒y',
     upgradeForLoadBalancing: 'N芒ng c岷 g贸i c峄 b岷 膽峄� b岷璽 C芒n b岷眓g t岷.',
     loadBalancingLeastKeyWarning: '膼峄� b岷璽 c芒n b岷眓g t岷, 铆t nh岷 2 ph铆m ph岷 膽瓢峄 b岷璽.',
-    toBeConfigured: '膼瓢峄 c岷 h矛nh',
-    emptyProviderTitle: 'Nh脿 cung c岷 m么 h矛nh ch瓢a 膽瓢峄 thi岷縯 l岷璸',
-    discoverMore: 'Kh谩m ph谩 th锚m trong',
-    emptyProviderTip: 'Vui l貌ng c脿i 膽岷穞 nh脿 cung c岷 m么 h矛nh tr瓢峄沜.',
-    installProvider: 'C脿i 膽岷穞 nh脿 cung c岷 m么 h矛nh',
-    configureTip: 'Thi岷縯 l岷璸 api-key ho岷穋 th锚m m么 h矛nh 膽峄� s峄� d峄g',
   },
   dataSource: {
     add: 'Th锚m ngu峄搉 d峄� li峄噓',
@@ -465,7 +440,7 @@
   apiBasedExtension: {
     title: 'C谩c ti峄噉 铆ch API cung c岷 qu岷 l媒 API t岷璸 trung, gi煤p c岷 h矛nh d峄� d脿ng s峄� d峄g tr锚n c谩c 峄﹏g d峄g c峄 Dify.',
     link: 'T矛m hi峄僽 c谩ch ph谩t tri峄僴 Ph岷 m峄� r峄檔g API c峄 ri锚ng b岷.',
-    linkUrl: 'https://docs.dify.ai/en/guides/extension/api-based-extension/README',
+    linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
     add: 'Th锚m Ph岷 m峄� r峄檔g API',
     selector: {
       title: 'Ph岷 m峄� r峄檔g API',
@@ -551,9 +526,6 @@
       hitScore: '膼i峄僲 truy xu岷:',
     },
     inputPlaceholder: 'N贸i chuy峄噉 v峄沬 Bot',
-    thought: 'T瓢 duy',
-    thinking: 'Suy ngh末...',
-    resend: 'G峄璱 l岷',
   },
   promptEditor: {
     placeholder: 'Vi岷縯 t峄� kh贸a c峄 b岷 峄� 膽芒y, nh岷璸 \'{\' 膽峄� ch猫n m峄檛 bi岷縩, nh岷璸 \'/\' 膽峄� ch猫n m峄檛 kh峄慽 n峄檌 dung nh岷痗 nh峄�',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: 'M峄 tr锚n m峄梚 trang',
-  },
-  theme: {
-    auto: 'h峄� th峄憂g',
-    theme: 'Ch峄� 膽峄�',
-    light: '谩nh s谩ng',
-    dark: 't峄慽',
-  },
-  compliance: {
-    iso27001: 'Ch峄﹏g nh岷璶 ISO 27001:2022',
-    gdpr: 'GDPR DPA',
-    soc2Type1: 'B谩o c谩o lo岷 SOC 2 Type I',
-    professionalUpgradeTooltip: 'Ch峄� c贸 s岷祅 v峄沬 g贸i Team ho岷穋 cao h啤n.',
-    sandboxUpgradeTooltip: 'Ch峄� c贸 s岷祅 v峄沬 g贸i Chuy锚n nghi峄噋 ho岷穋 Nh贸m.',
-    soc2Type2: 'B谩o c谩o SOC 2 Type II',
-  },
-  imageInput: {
-    supportedFormats: 'H峄� tr峄� PNG, JPG, JPEG, WEBP v脿 GIF',
-    dropImageHere: 'K茅o h矛nh 岷h c峄 b岷 v脿o 膽芒y, ho岷穋',
-    browse: 'duy峄噒',
   },
 }
 
diff --git a/i18n/vi-VN/custom.ts b/i18n/vi-VN/custom.ts
index 6f9a472..6c91e51 100644
--- a/i18n/vi-VN/custom.ts
+++ b/i18n/vi-VN/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: 'N芒ng c岷 g贸i c峄 b岷 膽峄�',
     suffix: 't霉y ch峄塶h th瓢啤ng hi峄噓.',
-    des: 'N芒ng c岷 k岷� ho岷h c峄 b岷 膽峄� t霉y ch峄塶h th瓢啤ng hi峄噓 c峄 b岷',
-    title: 'N芒ng c岷 g贸i c峄 b岷',
   },
   webapp: {
     title: 'T霉y ch峄塶h th瓢啤ng hi峄噓 WebApp',
diff --git a/i18n/vi-VN/dataset-creation.ts b/i18n/vi-VN/dataset-creation.ts
index f909a51..5e0b010 100644
--- a/i18n/vi-VN/dataset-creation.ts
+++ b/i18n/vi-VN/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: 'T岷 Ki岷縩 th峄ヽ',
       update: 'Th锚m d峄� li峄噓',
-      fallbackRoute: 'Ki岷縩 th峄ヽ',
     },
     one: 'Ch峄峮 ngu峄搉 d峄� li峄噓',
     two: 'Ti峄乶 x峄� l媒 v脿 l脿m s岷h v膬n b岷',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: 'T岷 l锚n t峄噋 v膬n b岷',
-      button: 'K茅o v脿 th岷� c谩c t岷璸 tin ho岷穋 th瓢 m峄, ho岷穋',
+      button: 'K茅o v脿 th岷� t峄噋, ho岷穋',
       browse: 'Ch峄峮 t峄噋',
       tip: 'H峄� tr峄� {{supportTypes}}. T峄慽 膽a {{size}}MB m峄梚 t峄噋.',
       validation: {
@@ -63,7 +62,7 @@
       unknownError: 'L峄梚 kh么ng x谩c 膽峄媙h',
       extractOnlyMainContent: 'Ch峄� tr铆ch xu岷 n峄檌 dung ch铆nh (kh么ng c贸 膽岷 trang, 膽i峄乽 h瓢峄沶g, ch芒n trang, v.v.)',
       exceptionErrorTitle: 'M峄檛 ngo岷 l峄� x岷 ra trong khi ch岷 t谩c v峄� Firecrawl:',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       selectAll: 'Ch峄峮 t岷 c岷�',
       firecrawlTitle: 'Tr铆ch xu岷 n峄檌 dung web b岷眓g 馃敟Firecrawl',
       totalPageScraped: 'T峄昻g s峄� trang 膽瓢峄 c岷:',
@@ -82,14 +81,6 @@
       jinaReaderNotConfigured: 'Jina Reader kh么ng 膽瓢峄 c岷 h矛nh',
       jinaReaderNotConfiguredDescription: 'Thi岷縯 l岷璸 Jina Reader b岷眓g c谩ch nh岷璸 kh贸a API mi峄卬 ph铆 c峄 b岷 膽峄� truy c岷璸.',
       useSitemapTooltip: 'Th峄眂 hi峄噉 theo s啤 膽峄� trang web 膽峄� thu th岷璸 d峄� li峄噓 trang web. N岷縰 kh么ng, Jina Reader s岷� thu th岷璸 d峄� li峄噓 l岷穚 膽i l岷穚 l岷 d峄盿 tr锚n m峄ヽ 膽峄� li锚n quan c峄 trang, mang l岷 铆t trang h啤n nh瓢ng ch岷 l瓢峄g cao h啤n.',
-      configureWatercrawl: 'C岷 h矛nh Watercrawl',
-      configureFirecrawl: 'C岷 h矛nh Firecrawl',
-      configureJinaReader: 'C岷 h矛nh Jina Reader',
-      waterCrawlNotConfiguredDescription: 'C岷 h矛nh Watercrawl v峄沬 kh贸a API 膽峄� s峄� d峄g n贸.',
-      watercrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      watercrawlTitle: 'Tr铆ch xu岷 n峄檌 dung web b岷眓g Watercrawl',
-      watercrawlDoc: 'T脿i li峄噓 Watercrawl',
-      waterCrawlNotConfigured: 'Watercrawl ch瓢a 膽瓢峄 c岷 h矛nh',
     },
     cancel: 'H峄',
   },
@@ -207,11 +198,6 @@
     title: 'K岷縯 n峄慽 v峄沬 c谩c ngu峄搉 d峄� li峄噓 kh谩c?',
     description: 'Hi峄噉 t岷, c啤 s峄� tri th峄ヽ c峄 Dify ch峄� c贸 ngu峄搉 d峄� li峄噓 h岷 ch岷�. 膼贸ng g贸p ngu峄搉 d峄� li峄噓 v脿o c啤 s峄� ki岷縩 th峄ヽ Dify l脿 m峄檛 c谩ch tuy峄噒 v峄漣 膽峄� gi煤p n芒ng cao t铆nh linh ho岷 v脿 s峄ヽ m岷h c峄 n峄乶 t岷g cho t岷 c岷� ng瓢峄漣 d霉ng. H瓢峄沶g d岷玭 膽贸ng g贸p c峄 ch煤ng t么i gi煤p b岷 d峄� d脿ng b岷痶 膽岷. Vui l貌ng nh岷 v脿o li锚n k岷縯 b锚n d瓢峄沬 膽峄� t矛m hi峄僽 th锚m.',
     learnMore: 'T矛m hi峄僽 th锚m',
-  },
-  watercrawl: {
-    configWatercrawl: 'C岷 h矛nh Watercrawl',
-    apiKeyPlaceholder: 'Kh贸a API t峄� watercrawl.dev',
-    getApiKeyLinkText: 'L岷 m茫 API c峄 b岷 t峄� watercrawl.dev',
   },
 }
 
diff --git a/i18n/vi-VN/dataset-documents.ts b/i18n/vi-VN/dataset-documents.ts
index 6e13c11..07e5c5c 100644
--- a/i18n/vi-VN/dataset-documents.ts
+++ b/i18n/vi-VN/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: 'Ng么n ng峄�',
         authorPublisher: 'T谩c gi岷�/Nh脿 xu岷 b岷',
         publishDate: 'Ng脿y xu岷 b岷',
-        topicKeywords: 'Ch峄� 膽峄�/T峄� kh贸a',
+        topicsKeywords: 'Ch峄� 膽峄�/T峄� kh贸a',
         description: 'M么 t岷�',
       },
       paper: {
diff --git a/i18n/vi-VN/dataset-settings.ts b/i18n/vi-VN/dataset-settings.ts
index b24f130..790fd05 100644
--- a/i18n/vi-VN/dataset-settings.ts
+++ b/i18n/vi-VN/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: 'T矛m hi峄僽 th锚m',
       description: ' v峄� ph瓢啤ng ph谩p truy xu岷.',
       longDescription: ' v峄� ph瓢啤ng ph谩p truy xu岷. B岷 c贸 th峄� thay 膽峄昳 膽i峄乽 n脿y b岷 k峄� l煤c n脿o trong c脿i 膽岷穞 Ki岷縩 th峄ヽ.',
-      method: 'Ph瓢啤ng ph谩p truy xu岷',
     },
     save: 'L瓢u',
     permissionsInvitedMembers: 'Th脿nh vi锚n m峄檛 ph岷 trong nh贸m',
@@ -36,7 +35,6 @@
     helpText: 'T矛m hi峄僽 c谩ch vi岷縯 m么 t岷� t岷璸 d峄� li峄噓 t峄憈.',
     indexMethodChangeToEconomyDisabledTip: 'Kh么ng kh岷� d峄g 膽峄� h岷� c岷 t峄� HQ xu峄憂g ECO',
     upgradeHighQualityTip: 'Sau khi n芒ng c岷 l锚n ch岷� 膽峄� Ch岷 l瓢峄g cao, kh么ng th峄� ho脿n nguy锚n v峄� ch岷� 膽峄� Ti岷縯 ki峄噈',
-    searchModel: 'T矛m ki岷縨 m么 h矛nh',
   },
 }
 
diff --git a/i18n/vi-VN/dataset.ts b/i18n/vi-VN/dataset.ts
index 4227d71..1ab84bb 100644
--- a/i18n/vi-VN/dataset.ts
+++ b/i18n/vi-VN/dataset.ts
@@ -168,54 +168,6 @@
   documentsDisabled: '{{num}} t脿i li峄噓 b峄� v么 hi峄噓 h贸a - kh么ng ho岷 膽峄檔g trong h啤n 30 ng脿y',
   allKnowledge: 'T岷 c岷� ki岷縩 th峄ヽ',
   allKnowledgeDescription: 'Ch峄峮 膽峄� hi峄僴 th峄� t岷 c岷� ki岷縩 th峄ヽ trong kh么ng gian l脿m vi峄嘽 n脿y. Ch峄� Ch峄� s峄� h峄痷 kh么ng gian l脿m vi峄嘽 m峄沬 c贸 th峄� qu岷 l媒 t岷 c岷� ki岷縩 th峄ヽ.',
-  metadata: {
-    createMetadata: {
-      name: 'T锚n',
-      namePlaceholder: 'Th锚m t锚n si锚u d峄� li峄噓',
-      type: 'Lo岷',
-      title: 'Si锚u d峄� li峄噓 m峄沬',
-      back: 'Quay l岷',
-    },
-    checkName: {
-      invalid: 'T锚n si锚u d峄� li峄噓 ch峄� c贸 th峄� ch峄゛ ch峄� c谩i th瓢峄漬g, s峄� v脿 d岷 g岷h d瓢峄沬, v脿 ph岷 b岷痶 膽岷 b岷眓g m峄檛 ch峄� c谩i th瓢峄漬g.',
-      empty: 'T锚n si锚u d峄� li峄噓 kh么ng 膽瓢峄 膽峄� tr峄憂g',
-    },
-    batchEditMetadata: {
-      applyToAllSelectDocumentTip: 'T峄� 膽峄檔g t岷 t岷 c岷� c谩c si锚u d峄� li峄噓 膽茫 ch峄塶h s峄璦 v脿 m峄沬 cho t岷 c岷� c谩c t脿i li峄噓 膽瓢峄 ch峄峮, n岷縰 kh么ng, vi峄嘽 ch峄塶h s峄璦 si锚u d峄� li峄噓 s岷� ch峄� 谩p d峄g cho c谩c t脿i li峄噓 c贸 n贸.',
-      multipleValue: 'Nhi峄乽 gi谩 tr峄�',
-      editDocumentsNum: 'Ch峄塶h s峄璦 {{num}} t脿i li峄噓',
-      applyToAllSelectDocument: '脕p d峄g cho t岷 c岷� c谩c t脿i li峄噓 膽茫 ch峄峮',
-      editMetadata: 'Ch峄塶h s峄璦 si锚u d峄� li峄噓',
-    },
-    selectMetadata: {
-      manageAction: 'Qu岷 l媒',
-      search: 'T矛m ki岷縨 si锚u d峄� li峄噓',
-      newAction: 'Si锚u d峄� li峄噓 m峄沬',
-    },
-    datasetMetadata: {
-      disabled: 'T岷痶',
-      rename: '膼峄昳 t锚n',
-      namePlaceholder: 'T锚n si锚u d峄� li峄噓',
-      builtIn: 'T铆ch h峄 s岷祅',
-      deleteTitle: 'X谩c nh岷璶 膽峄� x贸a',
-      name: 'T锚n',
-      values: '{{num}} Gi谩 tr峄�',
-      description: 'B岷 c贸 th峄� qu岷 l媒 t岷 c岷� metadata trong ki岷縩 th峄ヽ n脿y 峄� 膽芒y. Nh峄痭g thay 膽峄昳 s岷� 膽瓢峄 膽峄搉g b峄� h贸a 膽岷縩 m峄峣 t脿i li峄噓.',
-      deleteContent: 'B岷 c贸 ch岷痗 ch岷痭 mu峄憂 x贸a si锚u d峄� li峄噓 "{{name}}" kh么ng?',
-      builtInDescription: 'Si锚u d峄� li峄噓 膽瓢峄 t铆ch h峄 s岷祅 s岷� t峄� 膽峄檔g 膽瓢峄 tr铆ch xu岷 v脿 t岷 ra. N贸 ph岷 膽瓢峄 b岷璽 tr瓢峄沜 khi s峄� d峄g v脿 kh么ng th峄� ch峄塶h s峄璦.',
-      addMetaData: 'Th锚m si锚u d峄� li峄噓',
-    },
-    documentMetadata: {
-      documentInformation: 'Th么ng tin t脿i li峄噓',
-      technicalParameters: 'C谩c Th么ng S峄� K峄� Thu岷璽',
-      metadataToolTip: 'D峄� li峄噓 si锚u th么ng tin 膽贸ng vai tr貌 l脿 m峄檛 b峄� l峄峜 quan tr峄峮g gi煤p n芒ng cao 膽峄� ch铆nh x谩c v脿 t铆nh li锚n quan c峄 vi峄嘽 truy xu岷 th么ng tin. B岷 c贸 th峄� ch峄塶h s峄璦 v脿 th锚m d峄� li峄噓 si锚u th么ng tin cho t脿i li峄噓 n脿y 峄� 膽芒y.',
-      startLabeling: 'B岷痶 膽岷 g谩n nh茫n',
-    },
-    addMetadata: 'Th锚m si锚u d峄� li峄噓',
-    chooseTime: 'Ch峄峮 m峄檛 th峄漣 gian...',
-    metadata: 'Si锚u d峄� li峄噓',
-  },
-  embeddingModelNotAvailable: 'M么 h矛nh nh煤ng kh么ng kh岷� d峄g.',
 }
 
 export default translation
diff --git a/i18n/vi-VN/explore.ts b/i18n/vi-VN/explore.ts
index 860bfd7..b1254fa 100644
--- a/i18n/vi-VN/explore.ts
+++ b/i18n/vi-VN/explore.ts
@@ -37,7 +37,6 @@
     HR: 'Nh芒n s峄�',
     Agent: 'Ng瓢峄漣 膽岷 l媒',
     Workflow: 'Quy tr矛nh l脿m vi峄嘽',
-    Entertainment: 'Gi岷 tr铆',
   },
 }
 
diff --git a/i18n/vi-VN/run-log.ts b/i18n/vi-VN/run-log.ts
index ef6d77e..82763d4 100644
--- a/i18n/vi-VN/run-log.ts
+++ b/i18n/vi-VN/run-log.ts
@@ -24,8 +24,6 @@
     link: 'b岷g chi ti岷縯',
     tipRight: ' xem n贸.',
   },
-  circularInvocationTip: 'C贸 l峄噉h g峄峣 v貌ng tr貌n c谩c c么ng c峄�/n煤t trong quy tr矛nh l脿m vi峄嘽 hi峄噉 t岷.',
-  actionLogs: 'Nh岷璽 k媒 h脿nh 膽峄檔g',
 }
 
 export default translation
diff --git a/i18n/vi-VN/share-app.ts b/i18n/vi-VN/share-app.ts
index a55f9b8..7078ecc 100644
--- a/i18n/vi-VN/share-app.ts
+++ b/i18n/vi-VN/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: 'Th峄� gi岷 quy岷縯',
     temporarySystemIssue: 'Xin l峄梚, h峄� th峄憂g 膽ang g岷穚 s峄� c峄� t岷 th峄漣.',
-    expand: 'M峄� r峄檔g',
-    collapse: 'Thu g峄峮',
-    chatFormTip: 'C脿i 膽岷穞 tr貌 chuy峄噉 kh么ng th峄� 膽瓢峄 thay 膽峄昳 sau khi cu峄檆 tr貌 chuy峄噉 膽茫 b岷痶 膽岷.',
-    newChatTip: '膼茫 峄� trong m峄檛 cu峄檆 tr貌 chuy峄噉 m峄沬',
-    viewChatSettings: 'Xem c脿i 膽岷穞 tr貌 chuy峄噉',
-    chatSettingsTitle: 'C脿i 膽岷穞 tr貌 chuy峄噉 m峄沬',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: 'D貌ng {{rowIndex}}: {{varName}} kh么ng th峄� ch峄゛ qu谩 {{maxLength}} k媒 t峄�',
       atLeastOne: 'Vui l貌ng nh岷璸 铆t nh岷 m峄檛 d貌ng v脿o t峄噋 膽茫 t岷 l锚n.',
     },
-    executions: '{{num}} 脕N T峄� H脤NH',
-    execution: 'THI H脌NH',
   },
 }
 
diff --git a/i18n/vi-VN/tools.ts b/i18n/vi-VN/tools.ts
index 75331b5..86c5516 100644
--- a/i18n/vi-VN/tools.ts
+++ b/i18n/vi-VN/tools.ts
@@ -121,7 +121,6 @@
     number: 's峄�',
     required: 'B岷痶 bu峄檆',
     infoAndSetting: 'Th么ng tin & C脿i 膽岷穞',
-    file: 't峄噋',
   },
   noCustomTool: {
     title: 'Ch瓢a c贸 c么ng c峄� t霉y ch峄塶h!',
@@ -151,8 +150,6 @@
   toolNameUsageTip: 'T锚n cu峄檆 g峄峣 c么ng c峄� 膽峄� l媒 lu岷璶 v脿 nh岷痗 nh峄� t峄昻g 膽脿i vi锚n',
   customToolTip: 'T矛m hi峄僽 th锚m v峄� c谩c c么ng c峄� t霉y ch峄塶h Dify',
   openInStudio: 'M峄� trong Studio',
-  noTools: 'Kh么ng t矛m th岷 c么ng c峄�',
-  copyToolName: 'Sao ch茅p t锚n',
 }
 
 export default translation
diff --git a/i18n/vi-VN/workflow.ts b/i18n/vi-VN/workflow.ts
index 18ae720..ed2d738 100644
--- a/i18n/vi-VN/workflow.ts
+++ b/i18n/vi-VN/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: 'Th锚m nh谩nh Fail',
     loadMore: 'T岷 th锚m quy tr矛nh l脿m vi峄嘽',
     noHistory: 'Kh么ng c贸 l峄媍h s峄�',
-    versionHistory: 'L峄媍h s峄� phi锚n b岷',
-    publishUpdate: 'C岷璸 nh岷璽 xu岷 b岷',
-    exportSVG: 'Xu岷 d瓢峄沬 d岷g SVG',
-    exitVersions: 'Phi锚n b岷 tho谩t',
-    exportImage: 'Xu岷 h矛nh 岷h',
-    exportPNG: 'Xu岷 d瓢峄沬 d岷g PNG',
-    noExist: 'Kh么ng c贸 bi岷縩 nh瓢 v岷瓂',
-    exportJPEG: 'Xu岷 d瓢峄沬 d岷g JPEG',
-    referenceVar: 'Bi岷縩 tham chi岷縰',
   },
   env: {
     envPanelTitle: 'Bi岷縩 M么i Tr瓢峄漬g',
@@ -204,8 +195,6 @@
     },
     invalidVariable: 'Bi岷縩 kh么ng h峄 l峄�',
     rerankModelRequired: 'Tr瓢峄沜 khi b岷璽 M么 h矛nh x岷縫 h岷g l岷, vui l貌ng x谩c nh岷璶 r岷眓g m么 h矛nh 膽茫 膽瓢峄 膽峄媙h c岷 h矛nh th脿nh c么ng trong c脿i 膽岷穞.',
-    noValidTool: '{{field}} kh么ng ch峄峮 c么ng c峄� h峄 l峄� n脿o',
-    toolParameterRequired: '{{field}}: tham s峄� [{{param}}] l脿 b岷痶 bu峄檆',
   },
   singleRun: {
     testRun: 'Ch岷 th峄� nghi峄噈 ',
@@ -214,7 +203,6 @@
     testRunIteration: 'L岷穚 ch岷 th峄� nghi峄噈',
     back: 'Quay l岷',
     iteration: 'L岷穚',
-    loop: 'V貌ng',
   },
   tabs: {
     'searchBlock': 'T矛m ki岷縨 kh峄慽',
@@ -230,8 +218,6 @@
     'utilities': 'Ti峄噉 铆ch',
     'noResult': 'Kh么ng t矛m th岷 k岷匡紱t qu岷� ph霉 h峄',
     'searchTool': 'C么ng c峄� t矛m ki岷縨',
-    'agent': 'Chi岷縩 l瓢峄 膽岷 l媒',
-    'plugin': 'Plugin',
   },
   blocks: {
     'start': 'B岷痶 膽岷',
@@ -252,10 +238,6 @@
     'parameter-extractor': 'Tr矛nh tr铆ch xu岷 tham s峄�',
     'list-operator': 'To谩n t峄� danh s谩ch',
     'document-extractor': 'Tr矛nh tr铆ch xu岷 t脿i li峄噓',
-    'agent': 'Ng瓢峄漣 膽岷 l媒',
-    'loop': 'V貌ng',
-    'loop-end': 'Tho谩t v貌ng l岷穚',
-    'loop-start': 'B岷痶 膽岷 v貌ng l岷穚',
   },
   blocksAbout: {
     'start': '膼峄媙h ngh末a c谩c tham s峄� ban 膽岷 膽峄� kh峄焛 ch岷 quy tr矛nh l脿m vi峄嘽',
@@ -275,9 +257,6 @@
     'parameter-extractor': 'S峄� d峄g LLM 膽峄� tr铆ch xu岷 c谩c tham s峄� c贸 c岷 tr煤c t峄� ng么n ng峄� t峄� nhi锚n 膽峄� g峄峣 c么ng c峄� ho岷穋 y锚u c岷 HTTP.',
     'document-extractor': '膼瓢峄 s峄� d峄g 膽峄� ph芒n t铆ch c煤 ph谩p c谩c t脿i li峄噓 膽茫 t岷 l锚n th脿nh n峄檌 dung v膬n b岷 d峄� hi峄僽 b峄焛 LLM.',
     'list-operator': '膼瓢峄 s峄� d峄g 膽峄� l峄峜 ho岷穋 s岷痯 x岷縫 n峄檌 dung m岷g.',
-    'agent': 'G峄峣 c谩c m么 h矛nh ng么n ng峄� l峄沶 膽峄� tr岷� l峄漣 c芒u h峄廼 ho岷穋 x峄� l媒 ng么n ng峄� t峄� nhi锚n',
-    'loop': 'Th峄眂 hi峄噉 m峄檛 v貌ng l岷穚 logic cho 膽岷縩 khi 膽i峄乽 ki峄噉 d峄玭g 膽瓢峄 膽谩p 峄﹏g ho岷穋 s峄� l岷 l岷穚 t峄慽 膽a 膽瓢峄 膽岷.',
-    'loop-end': 'T瓢啤ng 膽瓢啤ng v峄沬 "d峄玭g l岷". N煤t n脿y kh么ng c贸 c谩c m峄 c岷 h矛nh. Khi th芒n v貌ng l岷穚 膽岷縩 n煤t n脿y, v貌ng l岷穚 s岷� k岷縯 th煤c.',
   },
   operator: {
     zoomIn: 'Ph贸ng to',
@@ -419,34 +398,6 @@
         variable: 'Bi岷縩',
       },
       sysQueryInUser: 'sys.query trong tin nh岷痭 c峄 ng瓢峄漣 d霉ng l脿 b岷痶 bu峄檆',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: 'Vui l貌ng ho脿n th脿nh vi峄嘽 ch峄塶h s峄璦 tr瓢峄漬g hi峄噉 t岷 tr瓢峄沜 khi l瓢u s啤 膽峄�.',
-        },
-        promptTooltip: 'Chuy峄僴 m么 t岷� v膬n b岷 th脿nh c岷 tr煤c JSON Schema chu岷﹏.',
-        stringValidations: 'X谩c th峄眂 chu峄梚',
-        instruction: 'H瓢峄沶g d岷玭',
-        regenerate: 'T谩i t岷',
-        fieldNamePlaceholder: 'T锚n tr瓢峄漬g',
-        generateJsonSchema: 'T岷 Schema JSON',
-        back: 'Quay l岷',
-        import: 'Nh岷璸 kh岷﹗ t峄� JSON',
-        generationTip: 'B岷 c贸 th峄� s峄� d峄g ng么n ng峄� t峄� nhi锚n 膽峄� t岷 nhanh m峄檛 JSON Schema.',
-        doc: 'T矛m hi峄僽 th锚m v峄� 膽岷 ra c贸 c岷 tr煤c',
-        required: 'c岷 thi岷縯',
-        generate: 'T岷 ra',
-        addField: 'Th锚m tr瓢峄漬g',
-        resultTip: '膼芒y l脿 k岷縯 qu岷� 膽茫 膽瓢峄 t岷 ra. N岷縰 b岷 kh么ng h脿i l貌ng, b岷 c贸 th峄� quay l岷 v脿 ch峄塶h s峄璦 y锚u c岷 c峄 m矛nh.',
-        generating: 'T岷 s啤 膽峄� JSON...',
-        descriptionPlaceholder: 'Th锚m m么 t岷�',
-        resetDefaults: '膼岷穞 l岷',
-        promptPlaceholder: 'M么 t岷� S啤 膽峄� JSON c峄 b岷...',
-        showAdvancedOptions: 'Hi峄僴 th峄� t霉y ch峄峮 n芒ng cao',
-        generatedResult: 'K岷縯 qu岷� 膽瓢峄 t岷 ra',
-        apply: '脕p d峄g',
-        addChildField: 'Th锚m tr瓢峄漬g tr岷� em',
-        title: 'S啤 膽峄� 膽岷 ra c贸 c岷 tr煤c',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: 'Bi岷縩 truy v岷',
@@ -458,33 +409,6 @@
         icon: 'Bi峄僽 t瓢峄g ph芒n 膽o岷',
         url: 'URL ph芒n 膽o岷',
         metadata: 'Si锚u d峄� li峄噓 kh谩c',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            subTitle: 'Kh么ng b岷璽 l峄峜 si锚u d峄� li峄噓',
-            title: 'T岷痶',
-          },
-          automatic: {
-            desc: 'T峄� 膽峄檔g t岷 膽i峄乽 ki峄噉 l峄峜 si锚u d峄� li峄噓 d峄盿 tr锚n bi岷縩 truy v岷',
-            title: 'T峄� 膽峄檔g',
-            subTitle: 'T峄� 膽峄檔g t岷 膽i峄乽 ki峄噉 l峄峜 si锚u d峄� li峄噓 d峄盿 tr锚n truy v岷 c峄 ng瓢峄漣 d霉ng',
-          },
-          manual: {
-            title: 'H瓢峄沶g d岷玭',
-            subTitle: 'Th锚m th峄� c么ng c谩c 膽i峄乽 ki峄噉 l峄峜 si锚u d峄� li峄噓',
-          },
-        },
-        panel: {
-          add: 'Th锚m 膽i峄乽 ki峄噉',
-          conditions: '膼i峄乽 ki峄噉',
-          title: '膼i峄乽 ki峄噉 l峄峜 si锚u d峄� li峄噓',
-          select: 'Ch峄峮 bi岷縩...',
-          datePlaceholder: 'Ch峄峮 m峄檛 th峄漣 gian...',
-          placeholder: 'Nh岷璸 gi谩 tr峄�',
-          search: 'T矛m ki岷縨 si锚u d峄� li峄噓',
-        },
-        title: 'L峄峜 si锚u d峄� li峄噓',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'not in': 'kh么ng c贸 trong',
         'in': 'trong',
         'all of': 't岷 c岷�',
-        'before': 'tr瓢峄沜',
-        'after': 'sau',
       },
       enterValue: 'Nh岷璸 gi谩 tr峄�',
       addCondition: 'Th锚m 膽i峄乽 ki峄噉',
@@ -592,7 +514,6 @@
       },
       addSubVariable: 'Bi岷縩 ph峄�',
       select: 'L峄盿',
-      condition: '膼i峄乽 ki峄噉',
     },
     variableAssigner: {
       title: 'G谩n bi岷縩',
@@ -635,8 +556,6 @@
         '+=': '+=',
         'set': 'C脿i',
         'overwrite': 'Ghi 膽猫 l锚n',
-        'remove-last': 'X贸a L岷 Cu峄慽',
-        'remove-first': 'X贸a 膽岷 ti锚n',
       },
       'setParameter': '膼岷穞 tham s峄�...',
       'selectAssignedVariable': 'Ch峄峮 bi岷縩 膽瓢峄 g谩n...',
@@ -772,107 +691,6 @@
       filterConditionComparisonOperator: 'To谩n t峄� so s谩nh 膽i峄乽 ki峄噉 b峄� l峄峜',
       extractsCondition: 'Gi岷 n茅n m峄 N',
     },
-    agent: {
-      strategy: {
-        selectTip: 'Ch峄峮 chi岷縩 l瓢峄 t谩c nh芒n',
-        searchPlaceholder: 'Chi岷縩 l瓢峄 t谩c nh芒n t矛m ki岷縨',
-        shortLabel: 'Chi岷縩 l瓢峄',
-        configureTipDesc: 'Sau khi c岷 h矛nh chi岷縩 l瓢峄 t谩c nh芒n, n煤t n脿y s岷� t峄� 膽峄檔g t岷 c谩c c岷 h矛nh c貌n l岷. Chi岷縩 l瓢峄 s岷� 岷h h瓢峄焠g 膽岷縩 c啤 ch岷� suy lu岷璶 c么ng c峄� nhi峄乽 b瓢峄沜.',
-        tooltip: 'C谩c chi岷縩 l瓢峄 Agentic kh谩c nhau x谩c 膽峄媙h c谩ch h峄� th峄憂g l岷璸 k岷� ho岷h v脿 th峄眂 hi峄噉 c谩c cu峄檆 g峄峣 c么ng c峄� nhi峄乽 b瓢峄沜',
-        label: 'Chi岷縩 l瓢峄 膽岷 l媒',
-        configureTip: 'Vui l貌ng 膽峄媙h c岷 h矛nh chi岷縩 l瓢峄 t谩c nh芒n.',
-      },
-      pluginInstaller: {
-        install: 'C脿i 膽岷穞',
-        installing: 'C脿i 膽岷穞',
-      },
-      modelNotInMarketplace: {
-        title: 'M么 h矛nh ch瓢a 膽瓢峄 c脿i 膽岷穞',
-        manageInPlugins: 'Qu岷 l媒 trong Plugins',
-        desc: 'M么 h矛nh n脿y 膽瓢峄 c脿i 膽岷穞 t峄� kho l瓢u tr峄� c峄 b峄� ho岷穋 GitHub. Vui l貌ng s峄� d峄g sau khi c脿i 膽岷穞.',
-      },
-      modelNotSupport: {
-        desc: 'Phi锚n b岷 plugin 膽茫 c脿i 膽岷穞 kh么ng cung c岷 m么 h矛nh n脿y.',
-        title: 'M么 h矛nh kh么ng 膽瓢峄 h峄� tr峄�',
-        descForVersionSwitch: 'Phi锚n b岷 plugin 膽茫 c脿i 膽岷穞 kh么ng cung c岷 m么 h矛nh n脿y. Nh岷 膽峄� chuy峄僴 膽峄昳 phi锚n b岷.',
-      },
-      modelSelectorTooltips: {
-        deprecated: 'M么 h矛nh n脿y kh么ng c貌n 膽瓢峄 d霉ng n峄痑',
-      },
-      outputVars: {
-        files: {
-          title: 'T峄噋 do t谩c nh芒n t岷',
-          transfer_method: 'Ph瓢啤ng th峄ヽ chuy峄僴 kho岷. Gi谩 tr峄� l脿 remote_url ho岷穋 local_file',
-          upload_file_id: 'T岷 l锚n id t峄噋',
-          type: 'Lo岷 h峄� tr峄�. B芒y gi峄� ch峄� h峄� tr峄� h矛nh 岷h',
-          url: 'URL h矛nh 岷h',
-        },
-        json: 'JSON do t谩c nh芒n t岷',
-        text: 'N峄檌 dung do t谩c nh芒n t岷',
-      },
-      checkList: {
-        strategyNotSelected: 'Chi岷縩 l瓢峄 kh么ng 膽瓢峄 ch峄峮',
-      },
-      installPlugin: {
-        install: 'C脿i 膽岷穞',
-        cancel: 'H峄',
-        title: 'C脿i 膽岷穞 Plugin',
-        desc: 'Gi峄沬 thi峄噓 c脿i 膽岷穞 plugin sau',
-        changelog: 'Nh岷璽 k媒 thay 膽峄昳',
-      },
-      toolNotAuthorizedTooltip: '{{c么ng c峄} Kh么ng 膽瓢峄 峄 quy峄乶',
-      unsupportedStrategy: 'Chi岷縩 l瓢峄 kh么ng 膽瓢峄 h峄� tr峄�',
-      toolNotInstallTooltip: '{{tool}} kh么ng 膽瓢峄 c脿i 膽岷穞',
-      strategyNotFoundDescAndSwitchVersion: 'Phi锚n b岷 plugin 膽茫 c脿i 膽岷穞 kh么ng cung c岷 chi岷縩 l瓢峄 n脿y. Nh岷 膽峄� chuy峄僴 膽峄昳 phi锚n b岷.',
-      strategyNotInstallTooltip: '{{strategy}} kh么ng 膽瓢峄 c脿i 膽岷穞',
-      modelNotInstallTooltip: 'M么 h矛nh n脿y kh么ng 膽瓢峄 c脿i 膽岷穞',
-      strategyNotSet: 'Chi岷縩 l瓢峄 t谩c nh芒n kh么ng 膽瓢峄 thi岷縯 l岷璸',
-      linkToPlugin: 'Li锚n k岷縯 膽岷縩 Plugins',
-      configureModel: '膼峄媙h c岷 h矛nh m么 h矛nh',
-      pluginNotInstalledDesc: 'Plugin n脿y 膽瓢峄 c脿i 膽岷穞 t峄� GitHub. Vui l貌ng v脿o Plugins 膽峄� c脿i 膽岷穞 l岷',
-      modelNotSelected: 'M么 h矛nh kh么ng 膽瓢峄 ch峄峮',
-      learnMore: 'T矛m hi峄僽 th锚m',
-      pluginNotInstalled: 'Plugin n脿y ch瓢a 膽瓢峄 c脿i 膽岷穞',
-      model: 'm岷玼',
-      pluginNotFoundDesc: 'Plugin n脿y 膽瓢峄 c脿i 膽岷穞 t峄� GitHub. Vui l貌ng v脿o Plugins 膽峄� c脿i 膽岷穞 l岷',
-      maxIterations: 'S峄� l岷 l岷穚 l岷 t峄慽 膽a',
-      tools: 'C么ng c峄�',
-      notAuthorized: 'Kh么ng 膽瓢峄 峄 quy峄乶',
-      strategyNotFoundDesc: 'Phi锚n b岷 plugin 膽茫 c脿i 膽岷穞 kh么ng cung c岷 chi岷縩 l瓢峄 n脿y.',
-      toolbox: 'h峄檖 c么ng c峄�',
-    },
-    loop: {
-      ErrorMethod: {
-        continueOnError: 'Ti岷縫 t峄 khi c贸 l峄梚',
-        removeAbnormalOutput: 'X贸a 膽岷 ra b岷 th瓢峄漬g',
-        operationTerminated: 'Ch岷 d峄﹖',
-      },
-      breakConditionTip: 'Ch峄� c贸 th峄� tham chi岷縰 膽岷縩 c谩c bi岷縩 trong v貌ng l岷穚 c贸 膽i峄乽 ki峄噉 k岷縯 th煤c v脿 c谩c bi岷縩 h峄檌 tho岷.',
-      deleteTitle: 'X贸a n煤t v貌ng l岷穚?',
-      variableName: 'T锚n Bi岷縩',
-      input: 'Nh岷璸',
-      exitConditionTip: 'M峄檛 n煤t v貌ng l岷穚 c岷 铆t nh岷 m峄檛 膽i峄乽 ki峄噉 tho谩t.',
-      breakCondition: '膼i峄乽 ki峄噉 d峄玭g v貌ng l岷穚',
-      totalLoopCount: 'T峄昻g s峄� l岷 l岷穚: {{count}}',
-      setLoopVariables: '膼岷穞 bi岷縩 trong ph岷 vi v貌ng l岷穚',
-      currentLoopCount: 'S峄� v貌ng l岷穚 hi峄噉 t岷: {{count}}',
-      deleteDesc: 'X贸a n煤t v貌ng s岷� x贸a t岷 c岷� c谩c n煤t con',
-      inputMode: 'Ch岷� 膽峄� 膽岷 v脿o',
-      currentLoop: 'V貌ng l岷穚 hi峄噉 t岷',
-      loopMaxCountError: 'Vui l貌ng nh岷璸 s峄� v貌ng l岷穚 t峄慽 膽a h峄 l峄�, trong kho岷g t峄� 1 膽岷縩 {{maxCount}}',
-      loop_other: '{{count}} V貌ng l岷穚',
-      finalLoopVariables: 'Bi岷縩 V貌ng L岷穚 Cu峄慽',
-      initialLoopVariables: 'Bi岷縩 V貌ng L岷穚 膼岷 Ti锚n',
-      loop_one: '{{count}} V貌ng l岷穚',
-      error_other: '{{count}} L峄梚',
-      output: 'Bi岷縩 膽岷 ra',
-      errorResponseMethod: 'Ph瓢啤ng ph谩p ph岷 h峄搃 l峄梚',
-      loopMaxCount: 'S峄� l岷 l岷穚 t峄慽 膽a',
-      comma: ',',
-      loopVariables: 'Bi岷縩 L岷穚',
-      error_one: '{{count}} L峄梚',
-      loopNode: 'N煤t L岷穚',
-    },
   },
   tracing: {
     stopBy: 'D峄玭g b峄焛 {{user}}',
@@ -883,38 +701,6 @@
     assignedVarsDescription: 'C谩c bi岷縩 膽瓢峄 g谩n ph岷 l脿 c谩c bi岷縩 c贸 th峄� ghi, ch岷硁g h岷 nh瓢',
     conversationVars: 'Bi岷縩 cu峄檆 tr貌 chuy峄噉',
     noVarsForOperation: 'Kh么ng c贸 bi岷縩 n脿o c贸 s岷祅 膽峄� g谩n v峄沬 ho岷 膽峄檔g 膽茫 ch峄峮.',
-  },
-  versionHistory: {
-    filter: {
-      onlyYours: 'Ch峄� c峄 b岷',
-      empty: 'Kh么ng t矛m th岷 l峄媍h s峄� phi锚n b岷 ph霉 h峄',
-      onlyShowNamedVersions: 'Ch峄� hi峄僴 th峄� c谩c phi锚n b岷 c贸 t锚n',
-      reset: '膼岷穞 l岷 b峄� l峄峜',
-      all: 'T岷 c岷�',
-    },
-    editField: {
-      releaseNotesLengthLimit: 'Ghi ch煤 ph谩t h脿nh kh么ng 膽瓢峄 v瓢峄 qu谩 {{limit}} k媒 t峄�.',
-      title: 'Ti锚u 膽峄�',
-      releaseNotes: 'Ghi ch煤 ph谩t h脿nh',
-      titleLengthLimit: 'Ti锚u 膽峄� kh么ng 膽瓢峄 v瓢峄 qu谩 {{limit}} k媒 t峄�',
-    },
-    action: {
-      deleteFailure: 'X贸a phi锚n b岷 th岷 b岷',
-      updateFailure: 'C岷璸 nh岷璽 phi锚n b岷 kh么ng th脿nh c么ng',
-      deleteSuccess: 'Phi锚n b岷 膽茫 b峄� x贸a',
-      updateSuccess: 'Phi锚n b岷 膽茫 膽瓢峄 c岷璸 nh岷璽',
-      restoreSuccess: 'Phi锚n b岷 膽茫 膽瓢峄 kh么i ph峄',
-      restoreFailure: 'Kh么ng th峄� kh么i ph峄 phi锚n b岷',
-    },
-    defaultName: 'Phi锚n b岷 kh么ng 膽瓢峄 膽岷穞 t锚n',
-    releaseNotesPlaceholder: 'M么 t岷� nh峄痭g g矛 膽茫 thay 膽峄昳',
-    deletionTip: 'Vi峄嘽 x贸a l脿 kh么ng th峄� ph峄 h峄搃, vui l貌ng x谩c nh岷璶.',
-    currentDraft: 'D峄� th岷 hi峄噉 t岷',
-    editVersionInfo: 'Ch峄塶h s峄璦 th么ng tin phi锚n b岷',
-    latest: 'M峄沬 nh岷',
-    nameThisVersion: '膼岷穞 t锚n cho phi锚n b岷 n脿y',
-    restorationTip: 'Sau khi ph峄 h峄搃 phi锚n b岷, b岷 nh谩p hi峄噉 t岷 s岷� b峄� ghi 膽猫.',
-    title: 'C谩c phi锚n b岷',
   },
 }
 
diff --git a/i18n/zh-Hans/app-debug.ts b/i18n/zh-Hans/app-debug.ts
index c2c659b..14f1358 100644
--- a/i18n/zh-Hans/app-debug.ts
+++ b/i18n/zh-Hans/app-debug.ts
@@ -103,7 +103,7 @@
       edit: '缂栬緫鏍囨敞',
     },
     dataSet: {
-      title: '鐭ヨ瘑搴�',
+      title: '涓婁笅鏂�',
       noData: '鎮ㄥ彲浠ュ鍏ョ煡璇嗗簱浣滀负涓婁笅鏂�',
       words: '璇�',
       textBlocks: '鏂囨湰鍧�',
@@ -475,7 +475,6 @@
       title: '澶氳矾鍙洖',
       description: '鏍规嵁鐢ㄦ埛鎰忓浘鍚屾椂鍖归厤鎵�鏈夌煡璇嗗簱锛屼粠澶氳矾鐭ヨ瘑搴撴煡璇㈢浉鍏虫枃鏈墖娈碉紝缁忚繃閲嶆帓搴忔楠わ紝浠庡璺煡璇㈢粨鏋滀腑閫夋嫨鍖归厤鐢ㄦ埛闂鐨勬渶浣崇粨鏋溿��',
     },
-    embeddingModelRequired: '鏈厤缃� Embedding 妯″瀷',
     rerankModelRequired: '鏈厤缃� Rerank 妯″瀷',
     params: '鍙傛暟璁剧疆',
     top_k: 'Top K',
diff --git a/i18n/zh-Hans/app-overview.ts b/i18n/zh-Hans/app-overview.ts
index aebee63..a337058 100644
--- a/i18n/zh-Hans/app-overview.ts
+++ b/i18n/zh-Hans/app-overview.ts
@@ -33,7 +33,6 @@
       explanation: '寮�绠卞嵆鐢ㄧ殑 AI WebApp',
       accessibleAddress: '鍏紑璁块棶 URL',
       preview: '棰勮',
-      launch: '鍚姩',
       regenerate: '閲嶆柊鐢熸垚',
       regenerateNotice: '鎮ㄦ槸鍚﹁閲嶆柊鐢熸垚鍏紑璁块棶 URL锛�',
       preUseReminder: '浣跨敤鍓嶈鍏堟墦寮�寮�鍏�',
@@ -57,7 +56,6 @@
         chatColorThemeDesc: '璁剧疆鑱婂ぉ鏈哄櫒浜虹殑棰滆壊涓婚',
         chatColorThemeInverted: '鍙嶈浆',
         invalidHexMessage: '鏃犳晥鐨勫崄鍏繘鍒跺��',
-        invalidPrivacyPolicy: '鏃犳晥鐨勯殣绉佹斂绛栭摼鎺ワ紝璇蜂娇鐢ㄤ互 http 鎴� https 寮�澶寸殑鏈夋晥閾炬帴',
         sso: {
           label: '鍗曠偣鐧诲綍璁よ瘉',
           title: 'WebApp SSO 璁よ瘉',
@@ -107,7 +105,7 @@
           step2Tip: '鐐瑰嚮姝ゅ灏嗕粨搴撳鍏ュ埌 Vercel 涓儴缃�',
           step2Operation: '瀵煎叆浠撳簱',
           step3: '閰嶇疆鐜鍙橀噺',
-          step3Tip: '鍦� Vercel 鐜鍙橀噺涓坊鍔犱互涓嬬幆澧冨彉閲�',
+          step3Tip: '鍦� Vecel 鐜鍙橀噺涓坊鍔犱互涓嬬幆澧冨彉閲�',
         },
         way2: {
           name: '缂栧啓瀹㈡埛绔皟鐢� API 骞堕儴缃插埌鏈嶅姟鍣ㄤ腑',
@@ -149,15 +147,15 @@
     },
     avgSessionInteractions: {
       title: '骞冲潎浼氳瘽浜掑姩鏁�',
-      explanation: '鍙嶆槧姣忎釜浼氳瘽鐢ㄦ埛鐨勬寔缁矡閫氭鏁帮紝濡傛灉鐢ㄦ埛涓� AI 闂瓟浜� 10 杞紝鍗充负 10銆傝鎸囨爣鍙嶆槧浜嗙敤鎴风矘鎬с�備粎鍦ㄥ璇濆瀷搴旂敤鎻愪緵銆�',
+      explanation: '鍙嶅簲姣忎釜浼氳瘽鐢ㄦ埛鐨勬寔缁矡閫氭鏁帮紝濡傛灉鐢ㄦ埛涓� AI 闂瓟浜� 10 杞紝鍗充负 10銆傝鎸囨爣鍙嶆槧浜嗙敤鎴风矘鎬с�備粎鍦ㄥ璇濆瀷搴旂敤鎻愪緵銆�',
     },
     avgUserInteractions: {
       title: '骞冲潎鐢ㄦ埛璋冪敤娆℃暟',
-      explanation: '鍙嶆槧姣忓ぉ鐢ㄦ埛鐨勪娇鐢ㄦ鏁般�傝鎸囨爣鍙嶆槧浜嗙敤鎴风矘鎬с��',
+      explanation: '鍙嶅簲姣忓ぉ鐢ㄦ埛鐨勪娇鐢ㄦ鏁般�傝鎸囨爣鍙嶆槧浜嗙敤鎴风矘鎬с��',
     },
     userSatisfactionRate: {
       title: '鐢ㄦ埛婊℃剰搴�',
-      explanation: '姣� 1000 鏉℃秷鎭殑鐐硅禐鏁般�傚弽鏄犱簡鐢ㄦ埛瀵瑰洖绛斿崄鍒嗘弧鎰忕殑姣斾緥銆�',
+      explanation: '姣� 1000 鏉℃秷鎭殑鐐硅禐鏁般�傚弽搴斾簡鐢ㄦ埛瀵瑰洖绛斿崄鍒嗘弧鎰忕殑姣斾緥銆�',
     },
     avgResponseTime: {
       title: '骞冲潎鍝嶅簲鏃堕棿',
diff --git a/i18n/zh-Hans/app.ts b/i18n/zh-Hans/app.ts
index c1723fc..be93a84 100644
--- a/i18n/zh-Hans/app.ts
+++ b/i18n/zh-Hans/app.ts
@@ -172,30 +172,9 @@
       removeConfirmTitle: '鍒犻櫎 {{key}} 閰嶇疆?',
       removeConfirmContent: '褰撳墠閰嶇疆姝e湪浣跨敤涓紝鍒犻櫎瀹冨皢鍏抽棴杩借釜鍔熻兘銆�',
     },
-    weave: {
-      title: '缂栫粐',
-      description: 'Weave鏄竴涓紑婧愬钩鍙帮紝鐢ㄤ簬璇勪及銆佹祴璇曞拰鐩戞帶澶у瀷璇█妯″瀷搴旂敤绋嬪簭銆�',
-    },
-  },
-  appSelector: {
-    label: '搴旂敤',
-    placeholder: '閫夋嫨涓�涓簲鐢�',
-    params: '搴旂敤鍙傛暟',
-    noParams: '鏃犻渶鍙傛暟',
   },
   openInExplore: '鍦ㄢ�滄帰绱⑩�濅腑鎵撳紑',
   showMyCreatedAppsOnly: '鎴戝垱寤虹殑',
-  structOutput: {
-    moreFillTip: '鏈�澶氭樉绀� 10 绾у祵濂�',
-    required: '蹇呭~',
-    LLMResponse: 'LLM 鐨勫搷搴�',
-    configure: '閰嶇疆',
-    notConfiguredTip: '缁撴瀯鍖栬緭鍑哄皻鏈厤缃�',
-    structured: '缁撴瀯鍖栬緭鍑�',
-    structuredTip: '缁撴瀯鍖栬緭鍑烘槸涓�椤瑰姛鑳斤紝鍙‘淇濇ā鍨嬪缁堢敓鎴愮鍚堟偍鎻愪緵鐨� JSON 妯″紡鐨勫搷搴�',
-    modelNotSupported: '妯″瀷涓嶆敮鎸�',
-    modelNotSupportedTip: '褰撳墠妯″瀷涓嶆敮鎸佹鍔熻兘锛屽皢鑷姩闄嶇骇涓烘彁绀烘敞鍏ャ��',
-  },
 }
 
 export default translation
diff --git a/i18n/zh-Hans/billing.ts b/i18n/zh-Hans/billing.ts
index c00d137..bc20839 100644
--- a/i18n/zh-Hans/billing.ts
+++ b/i18n/zh-Hans/billing.ts
@@ -1,29 +1,16 @@
 const translation = {
   currentPlan: '褰撳墠濂楅',
-  usagePage: {
-    teamMembers: '鍥㈤槦鎴愬憳',
-    buildApps: '鏋勫缓搴旂敤绋嬪簭鏁�',
-    annotationQuota: '鏍囨敞鍥炲鏁�',
-    documentsUploadQuota: '鏂囨。涓婁紶閰嶉',
-    vectorSpace: '鐭ヨ瘑搴撴暟鎹瓨鍌ㄧ┖闂�',
-    vectorSpaceTooltip: '閲囩敤楂樿川閲忕储寮曟ā寮忕殑鏂囨。浼氭秷鑰楃煡璇嗘暟鎹瓨鍌ㄨ祫婧愩�傚綋鐭ヨ瘑鏁版嵁瀛樺偍杈惧埌闄愬埗鏃讹紝灏嗕笉浼氫笂浼犳柊鏂囨。銆�',
-  },
   upgradeBtn: {
-    plain: '鏌ョ湅濂楅',
+    plain: '鍗囩骇濂楅',
     encourage: '绔嬪嵆鍗囩骇',
     encourageShort: '鍗囩骇',
   },
   viewBilling: '绠$悊璐﹀崟鍙婅闃�',
   buyPermissionDeniedTip: '璇疯仈绯讳紒涓氱鐞嗗憳璁㈤槄',
   plansCommon: {
-    title: '涓烘偍鐨� AI 涔嬫梾鎻愪緵鍔ㄥ姏鐨勫畾浠峰椁�',
-    freeTrialTipPrefix: '娉ㄥ唽鍗冲彲',
-    freeTrialTip: '鍏嶈垂璇曠敤 200 涓� OpenAI 娑堟伅棰濆害',
-    freeTrialTipSuffix: '銆傛棤闇�淇$敤鍗�',
-    yearlyTip: '鏀粯 10 涓湀锛屼韩鍙� 1 骞达紒',
+    title: '閫夋嫨閫傚悎鎮ㄧ殑濂楅',
+    yearlyTip: '璁㈤槄骞村害璁″垝鍙厤璐硅幏寰� 2涓湀锛�',
     mostPopular: '鏈�鍙楁杩�',
-    cloud: '浜戞湇鍔�',
-    self: '鑷儴缃�',
     planRange: {
       monthly: '鎸夋湀',
       yearly: '鎸夊勾',
@@ -31,41 +18,31 @@
     month: '鏈�',
     year: '骞�',
     save: '鑺傜渷',
-    free: '鍏嶈垂',
-    annualBilling: '鎸夊勾璁¤垂',
-    comparePlanAndFeatures: '瀵规瘮濂楅 & 鍔熻兘鐗规��',
-    priceTip: '姣忎釜鍥㈤槦绌洪棿/',
     currentPlan: '褰撳墠璁″垝',
     contractSales: '鑱旂郴閿�鍞�',
     contractOwner: '鑱旂郴鍥㈤槦绠$悊鍛�',
+    free: '鍏嶈垂',
     startForFree: '鍏嶈垂寮�濮�',
-    getStarted: '绔嬪嵆寮�濮�',
+    getStartedWith: '寮�濮嬩娇鐢�',
     contactSales: '鑱旂郴閿�鍞�',
     talkToSales: '鑱旂郴閿�鍞�',
-    modelProviders: '鏀寔 OpenAI/Anthropic/Llama2/Azure OpenAI/Hugging Face/Replicate',
-    teamWorkspace: '{{count,number}} 涓洟闃熺┖闂�',
-    teamMember_one: '{{count,number}} 鍚嶅洟闃熸垚鍛�',
-    teamMember_other: '{{count,number}} 鍚嶅洟闃熸垚鍛�',
+    modelProviders: '鏀寔鐨勬ā鍨嬫彁渚涘晢',
+    teamMembers: '鍥㈤槦鎴愬憳',
+    buildApps: '鏋勫缓搴旂敤绋嬪簭鏁�',
     annotationQuota: '鏍囨敞鍥炲鏁�',
-    buildApps: '{{count, number}} 涓簲鐢ㄧ▼搴�',
-    documents: '{{count, number}} 涓煡璇嗗簱鏂囨。涓婁紶閰嶉',
-    documentsTooltip: '浠庣煡璇嗗簱鐨勬暟鎹簮瀵煎叆鐨勬枃妗f暟閲忛厤棰濄��',
-    vectorSpace: '{{size}} 鐭ヨ瘑搴撴暟鎹瓨鍌ㄧ┖闂�',
-    vectorSpaceTooltip: '閲囩敤楂樿川閲忕储寮曟ā寮忕殑鏂囨。浼氭秷鑰楃煡璇嗘暟鎹瓨鍌ㄨ祫婧愩�傚綋鐭ヨ瘑鏁版嵁瀛樺偍杈惧埌闄愬埗鏃讹紝灏嗕笉浼氫笂浼犳柊鏂囨。銆�',
-    documentsRequestQuota: '{{count,number}}/鍒嗛挓 鐭ヨ瘑搴撹姹傞鐜囬檺鍒�',
-    documentsRequestQuotaTooltip: '鎸囨瘡鍒嗛挓鍐咃紝涓�涓┖闂村湪鐭ヨ瘑搴撲腑鍙墽琛岀殑鎿嶄綔鎬绘暟锛屽寘鎷暟鎹泦鐨勫垱寤恒�佸垹闄ゃ�佹洿鏂帮紝鏂囨。鐨勪笂浼犮�佷慨鏀广�佸綊妗o紝浠ュ強鐭ヨ瘑搴撴煡璇㈢瓑锛岀敤浜庤瘎浼扮煡璇嗗簱璇锋眰鐨勬�ц兘銆備緥濡傦紝Sandbox 鐢ㄦ埛鍦� 1 鍒嗛挓鍐呰繛缁墽琛� 10 娆″懡涓祴璇曪紝鍏跺伐浣滃尯灏嗗湪鎺ヤ笅鏉ョ殑 1 鍒嗛挓鍐呮棤娉曠户缁墽琛屼互涓嬫搷浣滐細鏁版嵁闆嗙殑鍒涘缓銆佸垹闄ゃ�佹洿鏂帮紝鏂囨。鐨勪笂浼犮�佷慨鏀圭瓑鎿嶄綔銆�',
-    apiRateLimit: 'API 璇锋眰棰戠巼闄愬埗',
-    apiRateLimitUnit: '{{count,number}} 娆�/澶�',
-    unlimitedApiRate: 'API 璇锋眰棰戠巼鏃犻檺鍒�',
-    apiRateLimitTooltip: 'API 璇锋眰棰戠巼闄愬埗娑电洊鎵�鏈夐�氳繃 Dify API 鍙戣捣鐨勮皟鐢紝渚嬪鏂囨湰鐢熸垚銆佽亰澶╁璇濄�佸伐浣滄祦鎵ц鍜屾枃妗e鐞嗙瓑銆�',
-    documentProcessingPriority: '鏂囨。澶勭悊',
+    vectorSpace: '鍚戦噺绌洪棿',
+    vectorSpaceTooltip: '鍚戦噺绌洪棿鏄� LLMs 鐞嗚В鎮ㄧ殑鏁版嵁鎵�闇�鐨勯暱鏈熻蹇嗙郴缁熴��',
+    vectorSpaceBillingTooltip: '鍚戦噺瀛樺偍鏄皢鐭ヨ瘑搴撳悜閲忓寲澶勭悊鍚庝负璁� LLMs 鐞嗚В鏁版嵁鑰屼娇鐢ㄧ殑闀挎湡璁板繂瀛樺偍锛�1MB 澶х害鑳芥弧瓒�1.2 million character 鐨勫悜閲忓寲鍚庢暟鎹瓨鍌紙浠� OpenAI Embedding 妯″瀷浼扮畻锛屼笉鍚屾ā鍨嬭绠楁柟寮忔湁宸紓锛夈�傚湪鍚戦噺鍖栬繃绋嬩腑锛屽疄闄呯殑鍘嬬缉鎴栧昂瀵稿噺灏忓彇鍐充簬鍐呭鐨勫鏉傛�у拰鍐椾綑鎬с��',
+    documentsUploadQuota: '鏂囨。涓婁紶閰嶉',
+    documentProcessingPriority: '鏂囨。澶勭悊浼樺厛绾�',
+    documentProcessingPriorityTip: '濡傞渶鏇撮珮鐨勬枃妗e鐞嗕紭鍏堢骇锛岃鍗囩骇鎮ㄧ殑濂楅',
     documentProcessingPriorityUpgrade: '浠ユ洿蹇殑閫熷害銆佹洿楂樼殑绮惧害澶勭悊鏇村鐨勬暟鎹��',
     priority: {
       'standard': '鏍囧噯',
       'priority': '浼樺厛',
       'top-priority': '鏈�楂樹紭鍏堢骇',
     },
-    logsHistory: '{{days}}鏃ュ織鍘嗗彶',
+    logsHistory: '鏃ュ織鍘嗗彶',
     customTools: '鑷畾涔夊伐鍏�',
     unavailable: '涓嶅彲鐢�',
     days: '澶�',
@@ -75,7 +52,7 @@
       communityForums: '绀惧尯璁哄潧',
       emailSupport: '鐢靛瓙閭欢鏀寔',
       priorityEmail: '浼樺厛鐢靛瓙閭欢鍜岃亰澶╂敮鎸�',
-      logoChange: 'Logo 鏇存敼',
+      logoChange: 'Logo鏇存敼',
       SSOAuthentication: 'SSO 璁よ瘉',
       personalizedSupport: '涓�у寲鏀寔',
       dedicatedAPISupport: '涓撶敤 API 鏀寔',
@@ -91,13 +68,12 @@
     member: '鎴愬憳',
     memberAfter: '涓垚鍛�',
     messageRequest: {
-      title: '{{count,number}} 鏉℃秷鎭搴�',
-      titlePerMonth: '{{count,number}} 鏉℃秷鎭搴�/鏈�',
-      tooltip: '涓轰笉鍚屾柟妗堟彁渚涘熀浜嶰penAl妯″瀷鐨勬秷鎭搷搴旈搴︺��',
+      title: '娑堟伅棰濆害',
+      tooltip: '涓轰笉鍚屾柟妗堟彁渚涘熀浜� OpenAI 妯″瀷鐨勬秷鎭搷搴旈搴︺��',
     },
     annotatedResponse: {
-      title: '{{count,number}} 涓爣娉ㄥ洖澶嶆暟',
-      tooltip: '鏍囨敞鍥炲鍔熻兘閫氳繃浜哄伐缂栬緫鏍囨敞涓哄簲鐢ㄦ彁渚涗簡鍙畾鍒剁殑楂樿川閲忛棶绛斿洖澶嶈兘鍔涖��',
+      title: '鏍囨敞鍥炲鏁�',
+      tooltip: '鏍囨敞鍥炲鍔熻兘閫氳繃浜哄伐缂栬緫鏍囨敞涓哄簲鐢ㄦ彁渚涗簡鍙畾鍒剁殑楂樿川閲忛棶绛斿洖澶嶈兘鍔�',
     },
     ragAPIRequestTooltip: '鎸囧崟鐙皟鐢� Dify 鐭ヨ瘑搴撴暟鎹鐞嗚兘鍔涚殑 API銆�',
     receiptInfo: '鍙湁鍥㈤槦鎵�鏈夎�呭拰鍥㈤槦绠$悊鍛樻墠鑳借闃呭拰鏌ョ湅璐﹀崟淇℃伅',
@@ -105,86 +81,38 @@
   plans: {
     sandbox: {
       name: 'Sandbox',
-      for: '鏍稿績鑳藉姏鐨勫厤璐硅瘯鐢�',
-      description: '鏍稿績鍔熻兘鍏嶈垂璇曠敤',
+      description: '200娆� GPT 鍏嶈垂璇曠敤',
+      includesTitle: '鍖呮嫭锛�',
     },
     professional: {
       name: 'Professional',
-      for: '閫傚悎鐙珛寮�鍙戣�呮垨灏忓洟闃�',
-      description: '瀵逛簬鐙珛寮�鍙戣��/灏忓洟闃�',
+      description: '璁╀釜浜哄拰灏忓洟闃熻兘澶熶互缁忔祹瀹炴儬鐨勬柟寮忛噴鏀炬洿澶氳兘鍔涖��',
+      includesTitle: 'Sandbox 璁″垝涓殑涓�鍒囷紝鍔犱笂锛�',
     },
     team: {
       name: 'Team',
-      for: '閫傚悎涓瓑瑙勬ā鐨勫洟闃�',
-      description: '瀵逛簬涓瀷鍥㈤槦',
-    },
-    community: {
-      name: 'Community',
-      for: '閫傜敤浜庝釜浜虹敤鎴枫�佸皬鍨嬪洟闃熸垨闈炲晢涓氶」鐩�',
-      description: '閫傜敤浜庝釜浜虹敤鎴枫�佸皬鍨嬪洟闃熸垨闈炲晢涓氶」鐩�',
-      price: '鍏嶈垂',
-      btnText: '寮�濮嬩娇鐢�',
-      includesTitle: '鍏嶈垂鍔熻兘锛�',
-      features: [
-        '鎵�鏈夋牳蹇冨姛鑳藉潎鍦ㄥ叕鍏卞瓨鍌ㄥ簱涓嬪彂甯�',
-        '鍗曚竴宸ヤ綔绌洪棿',
-        '绗﹀悎 Dify 寮�婧愯鍙瘉',
-      ],
-    },
-    premium: {
-      name: 'Premium',
-      for: '瀵逛簬涓瀷缁勭粐鍜屽洟闃�',
-      description: '瀵逛簬涓瀷缁勭粐鍜屽洟闃�',
-      price: '鍙墿灞�',
-      priceTip: '鍩轰簬浜戝競鍦�',
-      btnText: '鑾峰緱 Premium 鐗�',
-      includesTitle: 'Community 鐗堢殑鎵�鏈夊姛鑳斤紝鍔犱笂锛�',
-      comingSoon: '鍗冲皢鏀寔 Microsoft Azure & Google Cloud',
-      features: [
-        '鍚勪釜浜戞彁渚涘晢鑷绠$悊鐨勫彲闈犳��',
-        '鍗曚竴宸ヤ綔绌洪棿',
-        '鑷畾涔� WebApp & 鍝佺墝',
-        '浼樺厛鐢靛瓙閭欢 & 鑱婂ぉ鏀寔',
-      ],
+      description: '鍗忎綔鏃犻檺鍒跺苟浜彈椤剁骇鎬ц兘銆�',
+      includesTitle: 'Professional 璁″垝涓殑涓�鍒囷紝鍔犱笂锛�',
     },
     enterprise: {
       name: 'Enterprise',
-      for: '閫傚悎澶т汉鍛樿妯$殑鍥㈤槦',
-      description: '瀵逛簬闇�瑕佺粍缁囪寖鍥村唴鐨勫畨鍏ㄦ�с�佸悎瑙勬�с�佸彲鎵╁睍鎬с�佹帶鍒跺拰鏇撮珮绾у姛鑳界殑浼佷笟',
-      price: '瀹氬埗',
-      priceTip: '浠呮寜骞磋璐�',
-      btnText: '鑱旂郴閿�鍞�',
-      includesTitle: 'Premium 鐗堢殑鎵�鏈夊姛鑳斤紝鍔犱笂锛�',
-      features: [
-        '浼佷笟绾у彲鎵╁睍閮ㄧ讲瑙e喅鏂规',
-        '鍟嗕笟璁稿彲鎺堟潈',
-        '涓撳睘浼佷笟绾у姛鑳�',
-        '澶氫釜宸ヤ綔绌洪棿 & 浼佷笟绾х鐞�',
-        'SSO',
-        '鐢� Dify 鍚堜綔浼欎即鏀寔鐨勫彲鍗忓晢鐨� SLAs',
-        '楂樼骇鐨勫畨鍏� & 鎺у埗',
-        '鐢� Dify 瀹樻柟鎻愪緵鐨勬洿鏂� & 缁存姢',
-        '涓撲笟鎶�鏈敮鎸�',
-      ],
+      description: '鑾峰緱澶ц妯″叧閿换鍔$郴缁熺殑瀹屾暣鍔熻兘鍜屾敮鎸併��',
+      includesTitle: 'Team 璁″垝涓殑涓�鍒囷紝鍔犱笂锛�',
     },
   },
   vectorSpace: {
-    fullTip: '鐭ヨ瘑搴撴暟鎹瓨鍌ㄧ┖闂村凡婊°��',
+    fullTip: '鍚戦噺绌洪棿宸叉弧銆�',
     fullSolution: '鍗囩骇鎮ㄧ殑濂楅浠ヨ幏寰楁洿澶氱┖闂淬��',
   },
   apps: {
-    fullTip1: '鍗囩骇浠ュ垱寤烘洿澶氬簲鐢�',
-    fullTip1des: '鎮ㄥ凡杈惧埌姝よ鍒掍笂鏋勫缓搴旂敤鐨勯檺鍒�',
-    fullTip2: '璁″垝闄愬埗宸茶揪鍒�',
-    fullTip2des: '鎺ㄨ崘鎮ㄦ竻鐞嗕笉娲昏穬鐨勫簲鐢ㄦ垨鑰呰仈绯绘垜浠�',
-    contactUs: '鑱旂郴鎴戜滑',
+    fullTipLine1: '鍗囩骇鎮ㄧ殑濂楅浠�',
+    fullTipLine2: '鏋勫缓鏇村鐨勭▼搴忋��',
   },
   annotatedResponse: {
     fullTipLine1: '鍗囩骇鎮ㄧ殑濂楅浠�',
     fullTipLine2: '鏍囨敞鏇村瀵硅瘽銆�',
     quotaTitle: '鏍囨敞鐨勯厤棰�',
   },
-  teamMembers: '鍥㈤槦鎴愬憳',
 }
 
 export default translation
diff --git a/i18n/zh-Hans/common.ts b/i18n/zh-Hans/common.ts
index 9ed961f..53c5337 100644
--- a/i18n/zh-Hans/common.ts
+++ b/i18n/zh-Hans/common.ts
@@ -1,10 +1,4 @@
 const translation = {
-  theme: {
-    theme: '涓婚',
-    light: '娴呰壊',
-    dark: '娣辫壊',
-    auto: '鑷姩',
-  },
   api: {
     success: '鎴愬姛',
     actionSuccess: '鎿嶄綔鎴愬姛',
@@ -29,15 +23,10 @@
     remove: '绉婚櫎',
     send: '鍙戦��',
     copy: '澶嶅埗',
-    copied: ' 宸插鍒�',
     lineBreak: '鎹㈣',
     sure: '鎴戠‘瀹�',
     download: '涓嬭浇',
-    downloadSuccess: '涓嬭浇瀹屾瘯',
-    downloadFailed: '涓嬭浇澶辫触锛岃绋嶅悗閲嶈瘯銆�',
-    viewDetails: '鏌ョ湅璇︽儏',
     delete: '鍒犻櫎',
-    deleteApp: '鍒犻櫎搴旂敤',
     settings: '璁剧疆',
     setup: '璁剧疆',
     getForFree: '鍏嶈垂鑾峰彇',
@@ -54,7 +43,6 @@
     zoomOut: '缂╁皬',
     zoomIn: '鏀惧ぇ',
     openInNewTab: '鍦ㄦ柊鏍囩椤垫墦寮�',
-    in: '鍦�',
     saveAndRegenerate: '淇濆瓨骞堕噸鏂扮敓鎴愬瓙鍒嗘',
     close: '鍏抽棴',
     view: '鏌ョ湅',
@@ -62,8 +50,6 @@
     regenerate: '閲嶆柊鐢熸垚',
     submit: '鎻愪氦',
     skip: '璺宠繃',
-    format: '鏍煎紡鍖�',
-    more: '鏇村',
   },
   errorMsg: {
     fieldRequired: '{{field}} 涓哄繀濉」',
@@ -140,15 +126,12 @@
       Custom: '鑷畾涔�',
     },
     addMoreModel: '娣诲姞鏇村妯″瀷',
-    settingsLink: '妯″瀷璁剧疆',
-    capabilities: '澶氭ā鎬佽兘鍔�',
   },
   menus: {
     status: 'beta',
     explore: '鎺㈢储',
     apps: '宸ヤ綔瀹�',
     plugins: '鎻掍欢',
-    exploreMarketplace: '鎺㈢储 Marketplace',
     pluginsTips: '闆嗘垚绗笁鏂规彃浠舵垨鍒涘缓涓� ChatGPT 鍏煎鐨� AI 鎻掍欢銆�',
     datasets: '鐭ヨ瘑搴�',
     datasetsTips: '鍗冲皢鍒版潵: 涓婁紶鑷繁鐨勯暱鏂囨湰鏁版嵁锛屾垨閫氳繃 Webhook 闆嗘垚鑷繁鐨勬暟鎹簮',
@@ -162,27 +145,15 @@
     workspace: '宸ヤ綔绌洪棿',
     createWorkspace: '鍒涘缓宸ヤ綔绌洪棿',
     helpCenter: '甯姪鏂囨。',
-    support: '鏀寔',
-    compliance: '鍚堣',
     communityFeedback: '鐢ㄦ埛鍙嶉',
     roadmap: '璺嚎鍥�',
-    github: 'GitHub',
     community: '绀惧尯',
     about: '鍏充簬',
     logout: '鐧诲嚭',
   },
-  compliance: {
-    soc2Type1: 'SOC 2 Type I Report',
-    soc2Type2: 'SOC 2 Type II Report',
-    iso27001: 'ISO 27001:2022 Certification',
-    gdpr: 'GDPR DPA',
-    sandboxUpgradeTooltip: '浠呴�傜敤浜� Professional 鎴� Team 鐗堣鍒掋��',
-    professionalUpgradeTooltip: '浠呴�傜敤浜� Team 鐗堣鍒掓垨浠ヤ笂銆�',
-  },
   settings: {
     accountGroup: '閫氱敤',
     workplaceGroup: '宸ヤ綔绌洪棿',
-    generalGroup: '閫氱敤',
     account: '鎴戠殑璐︽埛',
     members: '鎴愬憳',
     billing: '璐﹀崟',
@@ -226,9 +197,6 @@
     feedbackTitle: '鍙嶉',
     feedbackLabel: '璇峰憡璇夋垜浠偍涓轰粈涔堝垹闄よ处鎴凤紵',
     feedbackPlaceholder: '閫夊~',
-    editWorkspaceInfo: '缂栬緫宸ヤ綔绌洪棿淇℃伅',
-    workspaceName: '宸ヤ綔绌洪棿鍚嶇О',
-    workspaceIcon: '宸ヤ綔绌洪棿鍥炬爣',
   },
   members: {
     team: '鍥㈤槦',
@@ -321,7 +289,6 @@
       usedUp: '璇曠敤棰濆害宸茬敤瀹岋紝璇峰湪涓嬫柟娣诲姞鑷繁鐨勬ā鍨嬩緵搴斿晢',
       useYourModel: '褰撳墠姝e湪浣跨敤浣犺嚜宸辩殑妯″瀷渚涘簲鍟嗐��',
       close: '鍏抽棴',
-      trialQuotaTip: '鎮ㄧ殑 Anthropic 浣撻獙棰濆害灏嗕簬 2025/03/17 杩囨湡锛岃繃鏈熷悗灏嗘棤娉曚娇鐢紝璇峰敖蹇綋楠屻��',
     },
     anthropic: {
       using: '宓屽叆鑳藉姏姝e湪浣跨敤',
@@ -335,7 +302,7 @@
     },
   },
   modelProvider: {
-    notConfigured: '绯荤粺妯″瀷灏氭湭瀹屽叏閰嶇疆',
+    notConfigured: '绯荤粺妯″瀷灏氭湭瀹屽叏閰嶇疆锛岄儴鍒嗗姛鑳藉彲鑳芥棤娉曚娇鐢ㄣ��',
     systemModelSettings: '绯荤粺妯″瀷璁剧疆',
     systemModelSettingsLink: '涓轰粈涔堥渶瑕佽缃郴缁熸ā鍨嬶紵',
     selectModel: '閫夋嫨鎮ㄧ殑妯″瀷',
@@ -433,12 +400,6 @@
     loadBalancingInfo: '榛樿鎯呭喌涓嬶紝璐熻浇鍧囪 浣跨敤 Round-robin 绛栫暐銆傚鏋滆Е鍙戦�熺巼闄愬埗锛屽皢搴旂敤 1 鍒嗛挓鐨勫喎鍗存椂闂�',
     upgradeForLoadBalancing: '鍗囩骇浠ヨВ閿佽礋杞藉潎琛″姛鑳�',
     apiKey: 'API 瀵嗛挜',
-    toBeConfigured: '寰呴厤缃�',
-    configureTip: '璇烽厤缃� API 瀵嗛挜锛屾坊鍔犳ā鍨嬨��',
-    installProvider: '瀹夎妯″瀷渚涘簲鍟�',
-    discoverMore: '鍙戠幇鏇村灏卞湪',
-    emptyProviderTitle: '灏氭湭瀹夎妯″瀷渚涘簲鍟�',
-    emptyProviderTip: '璇峰畨瑁呮ā鍨嬩緵搴斿晢銆�',
   },
   dataSource: {
     add: '娣诲姞鏁版嵁婧�',
@@ -482,7 +443,7 @@
   apiBasedExtension: {
     title: 'API 鎵╁睍鎻愪緵浜嗕竴涓泦涓紡鐨� API 绠$悊锛屽湪姝ょ粺涓�娣诲姞 API 閰嶇疆鍚庯紝鏂逛究鍦� Dify 涓婄殑鍚勭被搴旂敤涓洿鎺ヤ娇鐢ㄣ��',
     link: '浜嗚В濡備綍寮�鍙戞偍鑷繁鐨� API 鎵╁睍銆�',
-    linkUrl: 'https://docs.dify.ai/zh-hans/guides/extension/api-based-extension',
+    linkUrl: 'https://docs.dify.ai/v/zh-hans/guides/extension/api-based-extension',
     add: '鏂板 API 鎵╁睍',
     selector: {
       title: 'API 鎵╁睍',
@@ -568,9 +529,6 @@
       hitScore: '鍙洖寰楀垎锛�',
     },
     inputPlaceholder: '鍜屾満鍣ㄤ汉鑱婂ぉ',
-    thinking: '娣卞害鎬濊�冧腑...',
-    thought: '宸叉繁搴︽�濊��',
-    resend: '閲嶆柊鍙戦��',
   },
   promptEditor: {
     placeholder: '鍦ㄨ繖閲屽啓浣犵殑鎻愮ず璇嶏紝杈撳叆\'{\' 鎻掑叆鍙橀噺銆佽緭鍏'/\' 鎻掑叆鎻愮ず鍐呭鍧�',
@@ -660,11 +618,6 @@
   },
   pagination: {
     perPage: '姣忛〉鏄剧ず',
-  },
-  imageInput: {
-    dropImageHere: '灏嗗浘鐗囨嫋鏀惧埌姝ゅ锛屾垨',
-    browse: '娴忚',
-    supportedFormats: '鏀寔PNG銆丣PG銆丣PEG銆乄EBP鍜孏IF鏍煎紡',
   },
 }
 
diff --git a/i18n/zh-Hans/custom.ts b/i18n/zh-Hans/custom.ts
index 4bec191..f881383 100644
--- a/i18n/zh-Hans/custom.ts
+++ b/i18n/zh-Hans/custom.ts
@@ -1,8 +1,6 @@
 const translation = {
   custom: '瀹氬埗',
   upgradeTip: {
-    title: '鍗囩骇鎮ㄧ殑璁″垝',
-    des: '鍗囩骇鎮ㄧ殑璁″垝鏉ュ畾鍒舵偍鐨勫搧鐗屻��',
     prefix: '鍗囩骇鎮ㄧ殑璁″垝浠�',
     suffix: '瀹氬埗鎮ㄧ殑鍝佺墝銆�',
   },
diff --git a/i18n/zh-Hans/dataset-creation.ts b/i18n/zh-Hans/dataset-creation.ts
index 72e2511..3b3824d 100644
--- a/i18n/zh-Hans/dataset-creation.ts
+++ b/i18n/zh-Hans/dataset-creation.ts
@@ -1,7 +1,8 @@
 const translation = {
   steps: {
     header: {
-      fallbackRoute: '鐭ヨ瘑搴�',
+      creation: '鍒涘缓鐭ヨ瘑搴�',
+      update: '涓婁紶鏂囦欢',
     },
     one: '閫夋嫨鏁版嵁婧�',
     two: '鏂囨湰鍒嗘涓庢竻娲�',
@@ -14,11 +15,6 @@
     configFirecrawl: '閰嶇疆 馃敟Firecrawl',
     apiKeyPlaceholder: '浠� firecrawl.dev 鑾峰彇 API Key',
     getApiKeyLinkText: '浠� firecrawl.dev 鑾峰彇鎮ㄧ殑 API Key',
-  },
-  watercrawl: {
-    configWatercrawl: '閰嶇疆 Watercrawl',
-    apiKeyPlaceholder: '浠� watercrawl.dev 鑾峰彇 API Key',
-    getApiKeyLinkText: '浠� watercrawl.dev 鑾峰彇鎮ㄧ殑 API Key',
   },
   jinaReader: {
     configJinaReader: '閰嶇疆 Jina Reader',
@@ -35,7 +31,7 @@
     },
     uploader: {
       title: '涓婁紶鏂囨湰鏂囦欢',
-      button: '鎷栨嫿鏂囦欢鎴栨枃浠跺す鑷虫锛屾垨鑰�',
+      button: '鎷栨嫿鏂囦欢鑷虫锛屾垨鑰�',
       browse: '閫夋嫨鏂囦欢',
       tip: '宸叉敮鎸� {{supportTypes}}锛屾瘡涓枃浠朵笉瓒呰繃 {{size}}MB銆�',
       validation: {
@@ -71,15 +67,11 @@
       fireCrawlNotConfiguredDescription: '璇烽厤缃� Firecrawl 鐨� API 瀵嗛挜浠ヤ娇鐢ㄥ畠銆�',
       jinaReaderNotConfigured: 'Jina Reader 鏈厤缃�',
       jinaReaderNotConfiguredDescription: '璇烽厤缃� Jina Reader 鐨勫厤璐� API 瀵嗛挜浠ヨ闂畠銆�',
-      waterCrawlNotConfigured: 'Watercrawl 鏈厤缃�',
-      waterCrawlNotConfiguredDescription: '璇烽厤缃� Watercrawl 鐨� API 瀵嗛挜浠ヤ娇鐢ㄥ畠銆�',
       configure: '閰嶇疆',
-      configureFirecrawl: '閰嶇疆 Firecrawl',
-      configureJinaReader: '閰嶇疆 Jina Reader',
       run: '杩愯',
       firecrawlTitle: '浣跨敤 馃敟Firecrawl 鎻愬彇缃戦〉鍐呭',
       firecrawlDoc: 'Firecrawl 鏂囨。',
-      firecrawlDocLink: 'https://docs.dify.ai/zh-hans/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/v/zh-hans/guides/knowledge-base/sync-from-website',
       jinaReaderTitle: '灏嗘暣涓珯鐐瑰唴瀹硅浆鎹负 Markdown 鏍煎紡',
       jinaReaderDoc: '浜嗚В鏇村鍏充簬 Jina Reader',
       jinaReaderDocLink: 'https://jina.ai/reader',
@@ -100,10 +92,6 @@
       scrapTimeInfo: '鎬诲叡鍦� {{time}}绉� 鍐呮姄鍙栦簡 {{total}} 涓〉闈�',
       preview: '棰勮',
       maxDepthTooltip: '鐩稿浜庤緭鍏� URL 鐨勬渶澶ф姄鍙栨繁搴︺�傛繁搴�0浠呮姄鍙栬緭鍏� URL 鏈韩鐨勯〉闈紝娣卞害1鎶撳彇杈撳叆 URL 鍙婂叾鍚庣殑涓�灞傜洰褰曪紙涓�涓� /锛夛紝渚濇绫绘帹銆�',
-      watercrawlDocLink: '浠庣綉绔欏悓姝�',
-      watercrawlDoc: 'Watercrawl 鏂囨。',
-      configureWatercrawl: '閰嶇疆姘寸埇琛�',
-      watercrawlTitle: '浣跨敤Watercrawl鎻愬彇缃戦〉鍐呭',
     },
   },
   stepTwo: {
diff --git a/i18n/zh-Hans/dataset-documents.ts b/i18n/zh-Hans/dataset-documents.ts
index 5ff1b50..9949f33 100644
--- a/i18n/zh-Hans/dataset-documents.ts
+++ b/i18n/zh-Hans/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: '璇█',
         authorPublisher: '浣滆��/鍑虹増鍟�',
         publishDate: '鍙戝竷鏃ユ湡',
-        topicKeywords: '涓婚/鍏抽敭璇�',
+        topicsKeywords: '涓婚/鍏抽敭璇�',
         description: '鎻忚堪',
       },
       paper: {
diff --git a/i18n/zh-Hans/dataset-settings.ts b/i18n/zh-Hans/dataset-settings.ts
index f23355d..0817127 100644
--- a/i18n/zh-Hans/dataset-settings.ts
+++ b/i18n/zh-Hans/dataset-settings.ts
@@ -26,7 +26,6 @@
     embeddingModelTipLink: '璁剧疆',
     retrievalSetting: {
       title: '妫�绱㈣缃�',
-      method: '妫�绱㈡柟娉�',
       learnMore: '浜嗚В鏇村',
       description: '鍏充簬妫�绱㈡柟娉曘��',
       longDescription: '鍏充簬妫�绱㈡柟娉曪紝鎮ㄥ彲浠ラ殢鏃跺湪鐭ヨ瘑搴撹缃腑鏇存敼姝よ缃��',
@@ -36,7 +35,6 @@
     save: '淇濆瓨',
     retrievalSettings: '妫�绱㈣缃�',
     indexMethodChangeToEconomyDisabledTip: '鏃犳硶浠庨珮璐ㄩ噺闄嶇骇涓虹粡娴�',
-    searchModel: '鎼滅储妯″瀷',
   },
 }
 
diff --git a/i18n/zh-Hans/dataset.ts b/i18n/zh-Hans/dataset.ts
index 064ceb3..bedd114 100644
--- a/i18n/zh-Hans/dataset.ts
+++ b/i18n/zh-Hans/dataset.ts
@@ -168,54 +168,6 @@
   preprocessDocument: '{{num}} 涓澶勭悊鏂囨。',
   allKnowledge: '鎵�鏈夌煡璇嗗簱',
   allKnowledgeDescription: '閫夋嫨浠ユ樉绀鸿宸ヤ綔鍖哄唴鎵�鏈夌煡璇嗗簱銆傚彧鏈夊伐浣滃尯鎵�鏈夎�呮墠鑳界鐞嗘墍鏈夌煡璇嗗簱銆�',
-  embeddingModelNotAvailable: 'Embedding 妯″瀷涓嶅彲鐢ㄣ��',
-  metadata: {
-    metadata: '鍏冩暟鎹�',
-    addMetadata: '娣诲姞鍏冩暟鎹�',
-    chooseTime: '閫夋嫨鏃堕棿',
-    createMetadata: {
-      title: '鏂板缓鍏冩暟鎹�',
-      back: '杩斿洖',
-      type: '绫诲瀷',
-      name: '鍚嶇О',
-      namePlaceholder: '娣诲姞鍏冩暟鎹悕绉�',
-    },
-    checkName: {
-      empty: '鍏冩暟鎹悕绉颁笉鑳戒负绌�',
-      invalid: '鍏冩暟鎹悕绉板彧鑳藉寘鍚皬鍐欏瓧姣嶃�佹暟瀛楀拰涓嬪垝绾匡紝骞朵笖蹇呴』浠ュ皬鍐欏瓧姣嶅紑澶�',
-    },
-    batchEditMetadata: {
-      editMetadata: '缂栬緫鍏冩暟鎹�',
-      editDocumentsNum: '缂栬緫 {{num}} 涓枃妗�',
-      applyToAllSelectDocument: '搴旂敤浜庢墍鏈夐�夊畾鏂囨。',
-      applyToAllSelectDocumentTip: '鑷姩涓烘墍鏈夐�夊畾鏂囨。鍒涘缓涓婅堪缂栬緫鍜屾柊鍏冩暟鎹紝鍚﹀垯浠呭鍏锋湁鍏冩暟鎹殑鏂囨。搴旂敤缂栬緫銆�',
-      multipleValue: '澶氫釜鍊�',
-    },
-    selectMetadata: {
-      search: '鎼滅储鍏冩暟鎹�',
-      newAction: '鏂板缓鍏冩暟鎹�',
-      manageAction: '绠$悊',
-    },
-    datasetMetadata: {
-      description: '鍏冩暟鎹槸鍏充簬鏂囨。鐨勬暟鎹紝鐢ㄤ簬鎻忚堪鏂囨。鐨勫睘鎬с�傚厓鏁版嵁鍙互甯姪鎮ㄦ洿濂藉湴缁勭粐鍜岀鐞嗘枃妗c��',
-      addMetaData: '娣诲姞鍏冩暟鎹�',
-      values: '{{num}} 涓��',
-      disabled: '宸茬鐢�',
-      rename: '閲嶅懡鍚�',
-      name: '鍚嶇О',
-      namePlaceholder: '鍏冩暟鎹悕绉�',
-      builtIn: '鍐呯疆',
-      builtInDescription: '鍐呯疆鍏冩暟鎹槸绯荤粺棰勫畾涔夌殑鍏冩暟鎹紝鎮ㄥ彲浠ュ湪姝ゅ鏌ョ湅鍜岀鐞嗗唴缃厓鏁版嵁銆�',
-      deleteTitle: '纭畾鍒犻櫎',
-      deleteContent: '浣犵‘瀹氳鍒犻櫎鍏冩暟鎹� "{{name}}" 鍚�?',
-    },
-    documentMetadata: {
-      metadataToolTip: '鍏冩暟鎹槸鍏充簬鏂囨。鐨勬暟鎹紝鐢ㄤ簬鎻忚堪鏂囨。鐨勫睘鎬с�傚厓鏁版嵁鍙互甯姪鎮ㄦ洿濂藉湴缁勭粐鍜岀鐞嗘枃妗c��',
-      startLabeling: '寮�濮嬫爣娉�',
-      documentInformation: '鏂囨。淇℃伅',
-      technicalParameters: '鎶�鏈弬鏁�',
-    },
-  },
 }
 
 export default translation
diff --git a/i18n/zh-Hans/explore.ts b/i18n/zh-Hans/explore.ts
index 896a80a..bb7faf0 100644
--- a/i18n/zh-Hans/explore.ts
+++ b/i18n/zh-Hans/explore.ts
@@ -37,7 +37,6 @@
     Programming: '缂栫▼',
     HR: '浜哄姏璧勬簮',
     Workflow: '宸ヤ綔娴�',
-    Entertainment: '濞变箰',
   },
 }
 
diff --git a/i18n/zh-Hans/run-log.ts b/i18n/zh-Hans/run-log.ts
index 0cf49b0..225874d 100644
--- a/i18n/zh-Hans/run-log.ts
+++ b/i18n/zh-Hans/run-log.ts
@@ -19,13 +19,11 @@
     steps: '杩愯姝ユ暟',
   },
   resultEmpty: {
-    title: '鏈杩愯浠呰緭鍑� JSON 鏍煎紡锛�',
+    title: '鏈杩愯浠呰緭鍑篔SON鏍煎紡锛�',
     tipLeft: '璇疯浆鍒�',
     link: '璇︾粏淇℃伅闈㈡澘',
     tipRight: '鏌ョ湅瀹冦��',
   },
-  actionLogs: 'Action 鏃ュ織',
-  circularInvocationTip: '褰撳墠宸ヤ綔娴佷腑瀛樺湪宸ュ叿/鑺傜偣鐨勫惊鐜皟鐢ㄣ��',
 }
 
 export default translation
diff --git a/i18n/zh-Hans/share-app.ts b/i18n/zh-Hans/share-app.ts
index 3e89aec..968381b 100644
--- a/i18n/zh-Hans/share-app.ts
+++ b/i18n/zh-Hans/share-app.ts
@@ -5,15 +5,11 @@
     appUnknownError: '搴旂敤涓嶅彲鐢�',
   },
   chat: {
-    newChat: '寮�鍚柊瀵硅瘽',
-    newChatTip: '宸插湪鏂板璇濅腑',
-    chatSettingsTitle: '鏂板璇濊缃�',
-    chatFormTip: '瀵硅瘽寮�濮嬪悗锛屽璇濊缃皢鏃犳硶淇敼銆�',
+    newChat: '鏂板璇�',
     pinnedTitle: '宸茬疆椤�',
     unpinnedTitle: '瀵硅瘽鍒楄〃',
     newChatDefaultName: '鏂扮殑瀵硅瘽',
     resetChat: '閲嶇疆瀵硅瘽',
-    viewChatSettings: '鏌ョ湅瀵硅瘽璁剧疆',
     poweredBy: 'Powered by',
     prompt: '鎻愮ず璇�',
     privatePromptConfigTitle: '瀵硅瘽璁剧疆',
@@ -30,8 +26,6 @@
     },
     tryToSolve: '灏濊瘯瑙e喅',
     temporarySystemIssue: '鎶辨瓑锛屼复鏃剁郴缁熼棶棰樸��',
-    expand: '灞曞紑',
-    collapse: '鎶樺彔',
   },
   generation: {
     tabs: {
@@ -49,8 +43,6 @@
     completionResult: '鐢熸垚缁撴灉',
     queryPlaceholder: '璇疯緭鍏ユ枃鏈唴瀹�',
     run: '杩愯',
-    execution: '杩愯',
-    executions: '{{num}} 娆¤繍琛�',
     copy: '鎷疯礉',
     resultTitle: 'AI 涔﹀啓',
     noData: 'AI 浼氬湪杩欓噷缁欎綘鎯婂枩銆�',
diff --git a/i18n/zh-Hans/tools.ts b/i18n/zh-Hans/tools.ts
index 98e7b6e..a788ef0 100644
--- a/i18n/zh-Hans/tools.ts
+++ b/i18n/zh-Hans/tools.ts
@@ -4,7 +4,7 @@
   customToolTip: '浜嗚В鏇村鍏充簬 Dify 鑷畾涔夊伐鍏风殑淇℃伅',
   type: {
     all: '鍏ㄩ儴',
-    builtIn: '宸ュ叿',
+    builtIn: '鍐呯疆',
     custom: '鑷畾涔�',
     workflow: '宸ヤ綔娴�',
   },
@@ -21,7 +21,7 @@
     setupModalTitle: '璁剧疆鎺堟潈',
     setupModalTitleDescription: '閰嶇疆鍑嵁鍚庯紝宸ヤ綔鍖轰腑鐨勬墍鏈夋垚鍛橀兘鍙互鍦ㄧ紪鎺掑簲鐢ㄧ▼搴忔椂浣跨敤姝ゅ伐鍏枫��',
   },
-  includeToolNum: '鍖呭惈 {{num}} 涓� {{action}}',
+  includeToolNum: '鍖呭惈 {{num}} 涓伐鍏�',
   addTool: '娣诲姞宸ュ叿',
   addToolModal: {
     type: '绫诲瀷',
@@ -131,7 +131,6 @@
     parameters: '鍙傛暟',
     string: '瀛楃涓�',
     number: '鏁板瓧',
-    file: '鏂囦欢',
     required: '蹇呭~',
     infoAndSetting: '淇℃伅鍜岃缃�',
   },
@@ -151,8 +150,6 @@
   howToGet: '濡備綍鑾峰彇',
   openInStudio: '鍦ㄥ伐浣滃涓墦寮�',
   toolNameUsageTip: '宸ュ叿璋冪敤鍚嶇О锛岀敤浜� Agent 鎺ㄧ悊鍜屾彁绀鸿瘝',
-  copyToolName: '澶嶅埗鍚嶇О',
-  noTools: '娌℃湁宸ュ叿',
 }
 
 export default translation
diff --git a/i18n/zh-Hans/workflow.ts b/i18n/zh-Hans/workflow.ts
index ab77e0e..93ebda4 100644
--- a/i18n/zh-Hans/workflow.ts
+++ b/i18n/zh-Hans/workflow.ts
@@ -8,7 +8,6 @@
     published: '宸插彂甯�',
     publish: '鍙戝竷',
     update: '鏇存柊',
-    publishUpdate: '鍙戝竷鏇存柊',
     run: '杩愯',
     running: '杩愯涓�',
     inRunMode: '鍦ㄨ繍琛屾ā寮忎腑',
@@ -31,8 +30,6 @@
     latestPublished: '鏈�鏂板彂甯�',
     publishedAt: '鍙戝竷浜�',
     restore: '鎭㈠',
-    versionHistory: '鐗堟湰鍘嗗彶',
-    exitVersions: '閫�鍑虹増鏈巻鍙�',
     runApp: '杩愯',
     batchRunApp: '鎵归噺杩愯',
     accessAPIReference: '璁块棶 API',
@@ -69,10 +66,6 @@
     pasteHere: '绮樿创鍒拌繖閲�',
     pointerMode: '鎸囬拡妯″紡',
     handMode: '鎵嬫ā寮�',
-    exportImage: '瀵煎嚭鍥剧墖',
-    exportPNG: '瀵煎嚭涓� PNG',
-    exportJPEG: '瀵煎嚭涓� JPEG',
-    exportSVG: '瀵煎嚭涓� SVG',
     model: '妯″瀷',
     workflowAsTool: '鍙戝竷涓哄伐鍏�',
     configureRequired: '闇�瑕佽繘琛岄厤缃�',
@@ -202,18 +195,14 @@
       visionVariable: '瑙嗚鍙橀噺',
     },
     invalidVariable: '鏃犳晥鐨勫彉閲�',
-    noValidTool: '{{field}} 鏃犲彲鐢ㄥ伐鍏�',
-    toolParameterRequired: '{{field}}: 鍙傛暟 [{{param}}] 涓嶈兘涓虹┖',
   },
   singleRun: {
     testRun: '娴嬭瘯杩愯 ',
     startRun: '寮�濮嬭繍琛�',
     running: '杩愯涓�',
     testRunIteration: '娴嬭瘯杩愯杩唬',
-    testRunLoop: '娴嬭瘯杩愯寰幆',
     back: '杩斿洖',
     iteration: '杩唬',
-    loop: '寰幆',
   },
   tabs: {
     'searchBlock': '鎼滅储鑺傜偣',
@@ -221,7 +210,7 @@
     'searchTool': '鎼滅储宸ュ叿',
     'tools': '宸ュ叿',
     'allTool': '鍏ㄩ儴',
-    'plugin': '鎻掍欢',
+    'builtInTool': '鍐呯疆',
     'customTool': '鑷畾涔�',
     'workflowTool': '宸ヤ綔娴�',
     'question-understand': '闂鐞嗚В',
@@ -229,7 +218,6 @@
     'transform': '杞崲',
     'utilities': '宸ュ叿',
     'noResult': '鏈壘鍒板尮閰嶉」',
-    'agent': 'Agent 绛栫暐',
   },
   blocks: {
     'start': '寮�濮�',
@@ -250,10 +238,6 @@
     'parameter-extractor': '鍙傛暟鎻愬彇鍣�',
     'document-extractor': '鏂囨。鎻愬彇鍣�',
     'list-operator': '鍒楄〃鎿嶄綔',
-    'agent': 'Agent',
-    'loop-start': '寰幆寮�濮�',
-    'loop': '寰幆',
-    'loop-end': '閫�鍑哄惊鐜�',
   },
   blocksAbout: {
     'start': '瀹氫箟涓�涓� workflow 娴佺▼鍚姩鐨勫垵濮嬪弬鏁�',
@@ -270,12 +254,9 @@
     'assigner': '鍙橀噺璧嬪�艰妭鐐圭敤浜庡悜鍙啓鍏ュ彉閲忥紙渚嬪浼氳瘽鍙橀噺锛夎繘琛屽彉閲忚祴鍊笺��',
     'variable-aggregator': '灏嗗璺垎鏀殑鍙橀噺鑱氬悎涓轰竴涓彉閲忥紝浠ュ疄鐜颁笅娓歌妭鐐圭粺涓�閰嶇疆銆�',
     'iteration': '瀵瑰垪琛ㄥ璞℃墽琛屽娆℃楠ょ洿鑷宠緭鍑烘墍鏈夌粨鏋溿��',
-    'loop': '寰幆鎵ц涓�娈甸�昏緫鐩村埌婊¤冻缁撴潫鏉′欢鎴栬�呭埌杈惧惊鐜鏁颁笂闄愩��',
-    'loop-end': '鐩稿綋浜庘�渂reak鈥� 姝よ妭鐐规病鏈夐厤缃」锛屽綋寰幆浣撳唴杩愯鍒版鑺傜偣鍚庡惊鐜粓姝€��',
     'parameter-extractor': '鍒╃敤 LLM 浠庤嚜鐒惰瑷�鍐呮帹鐞嗘彁鍙栧嚭缁撴瀯鍖栧弬鏁帮紝鐢ㄤ簬鍚庣疆鐨勫伐鍏疯皟鐢ㄦ垨 HTTP 璇锋眰銆�',
     'document-extractor': '鐢ㄤ簬灏嗙敤鎴蜂笂浼犵殑鏂囨。瑙f瀽涓� LLM 渚夸簬鐞嗚В鐨勬枃鏈唴瀹广��',
     'list-operator': '鐢ㄤ簬杩囨护鎴栨帓搴忔暟缁勫唴瀹广��',
-    'agent': '璋冪敤澶у瀷璇█妯″瀷鍥炵瓟闂鎴栧鐞嗚嚜鐒惰瑷�',
   },
   operator: {
     zoomIn: '鏀惧ぇ',
@@ -424,34 +405,6 @@
         variable: '鍙橀噺',
       },
       sysQueryInUser: 'user message 涓繀椤诲寘鍚� sys.query',
-      jsonSchema: {
-        title: '缁撴瀯鍖栬緭鍑� Schema',
-        instruction: '鎸囦护',
-        promptTooltip: '灏嗘枃鏈弿杩拌浆鎹负鏍囧噯鍖栫殑 JSON Schema 缁撴瀯',
-        promptPlaceholder: '鎻忚堪浣犵殑 JSON Schema...',
-        generate: '鐢熸垚',
-        import: '浠� JSON 瀵煎叆',
-        generateJsonSchema: '鐢熸垚 JSON Schema',
-        generationTip: '鍙互浣跨敤鑷劧璇█蹇�熷垱寤� JSON Schema銆�',
-        generating: '姝e湪涓烘偍鐢熸垚 JSON Schema...',
-        generatedResult: '鐢熸垚缁撴灉',
-        resultTip: '浠ヤ笅鏄敓鎴愮殑缁撴灉銆傚鏋滀綘瀵硅繖涓粨鏋滀笉婊℃剰锛屽彲浠ヨ繑鍥炲苟淇敼浣犵殑鎻愮ず璇嶃��',
-        back: '杩斿洖',
-        regenerate: '閲嶆柊鐢熸垚',
-        apply: '搴旂敤',
-        doc: '浜嗚В鏈夊叧缁撴瀯鍖栬緭鍑虹殑鏇村淇℃伅',
-        resetDefaults: '娓呯┖閰嶇疆',
-        required: '蹇呭~',
-        addField: '娣诲姞瀛楁',
-        addChildField: '娣诲姞瀛愬瓧娈�',
-        showAdvancedOptions: '鏄剧ず楂樼骇閫夐」',
-        stringValidations: '瀛楃涓查獙璇�',
-        fieldNamePlaceholder: '瀛楁鍚�',
-        descriptionPlaceholder: '娣诲姞鎻忚堪',
-        warningTips: {
-          saveSchema: '璇峰厛瀹屾垚褰撳墠瀛楁鐨勭紪杈�',
-        },
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '鏌ヨ鍙橀噺',
@@ -463,34 +416,6 @@
         icon: '鍒嗘鍥炬爣',
         url: '鍒嗘閾炬帴',
         metadata: '鍏朵粬鍏冩暟鎹�',
-      },
-      metadata: {
-        title: '鍏冩暟鎹繃婊�',
-        tip: '鍏冩暟鎹繃婊ゆ槸浣跨敤鍏冩暟鎹睘鎬э紙渚嬪鏍囩銆佺被鍒垨璁块棶鏉冮檺锛夋潵缁嗗寲鍜屾帶鍒剁郴缁熷唴鐩稿叧淇℃伅鐨勬绱㈣繃绋嬨��',
-        options: {
-          disabled: {
-            title: '绂佺敤',
-            subTitle: '绂佺敤鍏冩暟鎹繃婊�',
-          },
-          automatic: {
-            title: '鑷姩',
-            subTitle: '鏍规嵁鐢ㄦ埛鏌ヨ鑷姩鐢熸垚鍏冩暟鎹繃婊ゆ潯浠�',
-            desc: '鏍规嵁 Query Variable 鑷姩鐢熸垚鍏冩暟鎹繃婊ゆ潯浠�',
-          },
-          manual: {
-            title: '鎵嬪姩',
-            subTitle: '鎵嬪姩娣诲姞鍏冩暟鎹繃婊ゆ潯浠�',
-          },
-        },
-        panel: {
-          title: '鍏冩暟鎹繃婊ゆ潯浠�',
-          conditions: '鏉′欢',
-          add: '娣诲姞鏉′欢',
-          search: '鎼滅储鍏冩暟鎹�',
-          placeholder: '杈撳叆鍊�',
-          datePlaceholder: '閫夋嫨鏃ユ湡...',
-          select: '閫夋嫨鍙橀噺...',
-        },
       },
     },
     http: {
@@ -580,8 +505,6 @@
         'all of': '鍏ㄩ儴鏄�',
         'exists': '瀛樺湪',
         'not exists': '涓嶅瓨鍦�',
-        'before': '鏃╀簬',
-        'after': '鏅氫簬',
       },
       optionName: {
         image: '鍥剧墖',
@@ -638,8 +561,6 @@
         'clear': '娓呯┖',
         'extend': '鎵╁睍',
         'append': '杩藉姞',
-        'remove-first': '绉婚櫎棣栭」',
-        'remove-last': '绉婚櫎鏈」',
         '+=': '+=',
         '-=': '-=',
         '*=': '*=',
@@ -731,38 +652,6 @@
       },
       answerNodeWarningDesc: '骞惰妯″紡璀﹀憡锛氬湪杩唬涓紝鍥炵瓟鑺傜偣銆佷細璇濆彉閲忚祴鍊煎拰宸ュ叿鎸佷箙璇�/鍐欐搷浣滃彲鑳戒細瀵艰嚧寮傚父銆�',
     },
-    loop: {
-      deleteTitle: '鍒犻櫎寰幆鑺傜偣锛�',
-      deleteDesc: '鍒犻櫎寰幆鑺傜偣灏嗗垹闄ゆ墍鏈夊瓙鑺傜偣',
-      input: '杈撳叆',
-      output: '杈撳嚭鍙橀噺',
-      loop_one: '{{count}} 涓惊鐜�',
-      loop_other: '{{count}} 涓惊鐜�',
-      currentLoop: '褰撳墠寰幆',
-      comma: '锛�',
-      error_one: '{{count}}涓け璐�',
-      error_other: '{{count}}涓け璐�',
-      breakCondition: '寰幆缁堟鏉′欢',
-      breakConditionTip: '鏀寔寮曠敤缁堟鏉′欢寰幆鍐呯殑鍙橀噺鍜屼細璇濆彉閲忋��',
-      loopMaxCount: '鏈�澶у惊鐜鏁�',
-      loopMaxCountError: '璇疯緭鍏ユ纭殑 鏈�澶у惊鐜鏁帮紝鑼冨洿涓� 1 鍒� {{maxCount}}',
-      errorResponseMethod: '閿欒鍝嶅簲鏂规硶',
-      ErrorMethod: {
-        operationTerminated: '閿欒鏃剁粓姝�',
-        continueOnError: '蹇界暐閿欒骞剁户缁�',
-        removeAbnormalOutput: '绉婚櫎閿欒杈撳嚭',
-      },
-      loopVariables: '寰幆鍙橀噺',
-      initialLoopVariables: '鍒濆寰幆鍙橀噺',
-      finalLoopVariables: '鏈�缁堝惊鐜彉閲�',
-      setLoopVariables: '鍦ㄥ惊鐜寖鍥村唴璁剧疆鍙橀噺',
-      variableName: '鍙橀噺鍚�',
-      inputMode: '杈撳叆妯″紡',
-      exitConditionTip: '寰幆鑺傜偣鑷冲皯闇�瑕佷竴涓��鍑烘潯浠�',
-      loopNode: '寰幆鑺傜偣',
-      currentLoopCount: '褰撳墠寰幆娆℃暟锛歿{count}}',
-      totalLoopCount: '鎬诲惊鐜鏁帮細{{count}}',
-    },
     note: {
       addNote: '娣诲姞娉ㄩ噴',
       editor: {
@@ -808,110 +697,9 @@
         last_record: '鏈�鍚庝竴鏉¤褰�',
       },
     },
-    agent: {
-      strategy: {
-        label: 'Agent 绛栫暐',
-        tooltip: '涓嶅悓鐨� Agent 绛栫暐鍐冲畾浜嗙郴缁熷浣曡鍒掑拰鎵ц澶氭宸ュ叿璋冪敤',
-        shortLabel: '绛栫暐',
-        configureTip: '璇烽厤缃� Agent 绛栫暐銆�',
-        configureTipDesc: '閰嶇疆瀹屾垚鍚庯紝姝よ妭鐐瑰皢鑷姩鍔犺浇鍓╀綑閰嶇疆銆傜瓥鐣ュ皢褰卞搷澶氭宸ュ叿鎺ㄧ悊鐨勬満鍒躲��',
-        selectTip: '閫夋嫨 Agent 绛栫暐',
-        searchPlaceholder: '鎼滅储 Agent 绛栫暐',
-      },
-      learnMore: '浜嗚В鏇村',
-      pluginNotInstalled: '鎻掍欢鏈畨瑁�',
-      pluginNotInstalledDesc: '姝ゆ彃浠舵槸浠� GitHub 瀹夎鐨勩�傝杞埌鎻掍欢閲嶆柊瀹夎',
-      linkToPlugin: '杞埌鎻掍欢',
-      pluginInstaller: {
-        install: '瀹夎',
-        installing: '瀹夎涓�',
-      },
-      modelNotInMarketplace: {
-        title: '妯″瀷鏈畨瑁�',
-        desc: '姝ゆā鍨嬪畨瑁呰嚜鏈湴鎴� GitHub 浠撳簱銆傝瀹夎鍚庝娇鐢ㄣ��',
-        manageInPlugins: '鍦ㄦ彃浠朵腑绠$悊',
-      },
-      modelNotSupport: {
-        title: '涓嶆敮鎸佺殑妯″瀷',
-        desc: '宸插畨瑁呯殑鎻掍欢鐗堟湰涓嶆彁渚涙妯″瀷銆�',
-        descForVersionSwitch: '宸插畨瑁呯殑鎻掍欢鐗堟湰涓嶆彁渚涙妯″瀷銆傜偣鍑诲垏鎹㈢増鏈��',
-      },
-      model: '妯″瀷',
-      toolbox: '宸ュ叿绠�',
-      strategyNotSet: '浠g悊绛栫暐鏈缃�',
-      configureModel: '閰嶇疆妯″瀷',
-      notAuthorized: '鏈巿鏉�',
-      tools: '宸ュ叿',
-      maxIterations: '鏈�澶ц凯浠f鏁�',
-      modelNotInstallTooltip: '姝ゆā鍨嬫湭瀹夎',
-      modelNotSelected: '鏈�夋嫨妯″瀷',
-      toolNotInstallTooltip: '{{tool}} 鏈畨瑁�',
-      toolNotAuthorizedTooltip: '{{tool}} 鏈巿鏉�',
-      strategyNotInstallTooltip: '{{strategy}} 鏈畨瑁�',
-      unsupportedStrategy: '涓嶆敮鎸佺殑绛栫暐',
-      strategyNotFoundDesc: '瀹夎鐨勬彃浠剁増鏈笉鎻愪緵姝ょ瓥鐣ャ��',
-      pluginNotFoundDesc: '姝ゆ彃浠跺畨瑁呰嚜 GitHub銆傝杞埌鎻掍欢閲嶆柊瀹夎銆�',
-      strategyNotFoundDescAndSwitchVersion: '瀹夎鐨勬彃浠剁増鏈笉鎻愪緵姝ょ瓥鐣ャ�傜偣鍑诲垏鎹㈢増鏈��',
-      modelSelectorTooltips: {
-        deprecated: '姝ゆā鍨嬪凡寮冪敤',
-      },
-      outputVars: {
-        text: 'agent 鐢熸垚鐨勫唴瀹�',
-        files: {
-          title: 'agent 鐢熸垚鐨勬枃浠�',
-          type: '鏀寔绫诲瀷銆傜幇鍦ㄥ彧鏀寔鍥剧墖',
-          transfer_method: '浼犺緭鏂瑰紡銆傚�间负 remote_url 鎴� local_file',
-          url: '鍥剧墖閾炬帴',
-          upload_file_id: '涓婁紶鏂囦欢ID',
-        },
-        json: 'agent 鐢熸垚鐨刯son',
-      },
-      checkList: {
-        strategyNotSelected: '鏈�夋嫨绛栫暐',
-      },
-      installPlugin: {
-        title: '瀹夎鎻掍欢',
-        desc: '鍗冲皢瀹夎浠ヤ笅鎻掍欢',
-        changelog: '鏇存柊鏃ュ織',
-        install: '瀹夎',
-        cancel: '鍙栨秷',
-      },
-    },
   },
   tracing: {
     stopBy: '鐢眥{user}}缁堟',
-  },
-  versionHistory: {
-    title: '鐗堟湰',
-    currentDraft: '褰撳墠鑽夌',
-    latest: '鏈�鏂�',
-    filter: {
-      all: '鍏ㄩ儴',
-      onlyYours: '浠呬綘鐨�',
-      onlyShowNamedVersions: '鍙樉绀哄凡鍛藉悕鐗堟湰',
-      reset: '閲嶇疆',
-      empty: '娌℃湁鍖归厤鐨勭増鏈�',
-    },
-    defaultName: '鏈懡鍚�',
-    nameThisVersion: '鍛藉悕',
-    editVersionInfo: '缂栬緫淇℃伅',
-    editField: {
-      title: '鏍囬',
-      releaseNotes: '鍙戝竷璇存槑',
-      titleLengthLimit: '鏍囬涓嶈兘瓒呰繃{{limit}}涓瓧绗�',
-      releaseNotesLengthLimit: '鍙戝竷璇存槑涓嶈兘瓒呰繃{{limit}}涓瓧绗�',
-    },
-    releaseNotesPlaceholder: '璇锋弿杩板彉鏇�',
-    restorationTip: '鐗堟湰鍥炴粴鍚庯紝褰撳墠鑽夌灏嗚瑕嗙洊銆�',
-    deletionTip: '鍒犻櫎涓嶅彲閫嗭紝璇风‘璁ゃ��',
-    action: {
-      restoreSuccess: '鍥炴粴鎴愬姛',
-      restoreFailure: '鍥炴粴澶辫触',
-      deleteSuccess: '鐗堟湰宸插垹闄�',
-      deleteFailure: '鍒犻櫎澶辫触',
-      updateSuccess: '鐗堟湰淇℃伅宸叉洿鏂�',
-      updateFailure: '鏇存柊澶辫触',
-    },
   },
 }
 
diff --git a/i18n/zh-Hant/app-overview.ts b/i18n/zh-Hant/app-overview.ts
index 609c3a5..f60b3b7 100644
--- a/i18n/zh-Hant/app-overview.ts
+++ b/i18n/zh-Hant/app-overview.ts
@@ -55,7 +55,6 @@
         chatColorThemeDesc: '瑷畾鑱婂ぉ姗熷櫒浜虹殑椤忚壊涓婚',
         chatColorThemeInverted: '鍙嶈綁',
         invalidHexMessage: '鐒℃晥鐨勫崄鍏�插埗鍊�',
-        invalidPrivacyPolicy: '鐒℃晥鐨勯毐绉佹斂绛栭�g祼锛岃珛浣跨敤浠� http 鎴� https 闁嬮牠鐨勬湁鏁堥�g祼',
         more: {
           entry: '灞曠ず鏇村瑷畾',
           copyright: '鐗堟瑠',
@@ -106,14 +105,13 @@
           step2Tip: '榛為伕姝よ檿灏囧�夊韩鍖叆鍒� Vercel 涓儴缃�',
           step2Operation: '鍖叆鍊夊韩',
           step3: '閰嶇疆鐠板璁婃暩',
-          step3Tip: '鍦� Vercel 鐠板璁婃暩涓柊澧炰互涓嬬挵澧冭畩鏁�',
+          step3Tip: '鍦� Vecel 鐠板璁婃暩涓柊澧炰互涓嬬挵澧冭畩鏁�',
         },
         way2: {
           name: '绶ㄥ瀹㈡埗绔懠鍙� API 涓﹂儴缃插埌浼烘湇鍣ㄤ腑',
           operation: '妾㈣鏂囦欢',
         },
       },
-      launch: '鐧煎皠',
     },
     apiInfo: {
       title: '寰岀鏈嶅嫏 API',
@@ -149,15 +147,15 @@
     },
     avgSessionInteractions: {
       title: '骞冲潎鏈冭┍浜掑嫊鏁�',
-      explanation: '鍙嶆槧姣忓�嬫渻瑭变娇鐢ㄨ�呯殑鎸佺簩婧濋�氭鏁革紝濡傛灉浣跨敤鑰呰垏 AI 鍟忕瓟浜� 10 杓紝鍗崇偤 10銆傝┎鎸囨鍙嶆槧浜嗕娇鐢ㄨ�呯矘鎬с�傚儏鍦ㄥ皪瑭卞瀷鎳夌敤鎻愪緵銆�',
+      explanation: '鍙嶆噳姣忓�嬫渻瑭变娇鐢ㄨ�呯殑鎸佺簩婧濋�氭鏁革紝濡傛灉浣跨敤鑰呰垏 AI 鍟忕瓟浜� 10 杓紝鍗崇偤 10銆傝┎鎸囨鍙嶆槧浜嗕娇鐢ㄨ�呯矘鎬с�傚儏鍦ㄥ皪瑭卞瀷鎳夌敤鎻愪緵銆�',
     },
     avgUserInteractions: {
       title: '骞冲潎浣跨敤鑰呭懠鍙鏁�',
-      explanation: '鍙嶆槧姣忓ぉ浣跨敤鑰呯殑浣跨敤娆℃暩銆傝┎鎸囨鍙嶆槧浜嗕娇鐢ㄨ�呯矘鎬с��',
+      explanation: '鍙嶆噳姣忓ぉ浣跨敤鑰呯殑浣跨敤娆℃暩銆傝┎鎸囨鍙嶆槧浜嗕娇鐢ㄨ�呯矘鎬с��',
     },
     userSatisfactionRate: {
       title: '浣跨敤鑰呮豢鎰忓害',
-      explanation: '姣� 1000 姊濊▕鎭殑榛炶磰鏁搞�傚弽鏄犱簡浣跨敤鑰呭皪鍥炵瓟鍗佸垎婊挎剰鐨勬瘮渚嬨��',
+      explanation: '姣� 1000 姊濊▕鎭殑榛炶磰鏁搞�傚弽鎳変簡浣跨敤鑰呭皪鍥炵瓟鍗佸垎婊挎剰鐨勬瘮渚嬨��',
     },
     avgResponseTime: {
       title: '骞冲潎闊挎噳鏅傞枔',
diff --git a/i18n/zh-Hant/app.ts b/i18n/zh-Hant/app.ts
index f49adc8..05c87d1 100644
--- a/i18n/zh-Hant/app.ts
+++ b/i18n/zh-Hant/app.ts
@@ -158,10 +158,6 @@
       title: '濂х毊鍏�',
       description: 'Opik 鏄竴鍊嬬敤鏂艰浼般�佹脯瑭﹀拰鐩f帶 LLM 鎳夌敤绋嬪紡鐨勯枊婧愬钩鑷恒��',
     },
-    weave: {
-      title: '绶ㄧ箶',
-      description: 'Weave 鏄竴鍊嬮枊婧愬钩鍙帮紝鐢ㄦ柤瑭曚及銆佹脯瑭﹀拰鐩f帶澶у瀷瑾炶█妯″瀷鎳夌敤绋嬪簭銆�',
-    },
   },
   answerIcon: {
     descriptionInExplore: '鏄惁浣跨敤 WebApp 鍦栫ず鍦� Explore 涓彇浠� 馃',
@@ -191,23 +187,6 @@
     byCategories: '鎸夐鍒�',
   },
   showMyCreatedAppsOnly: '鎴戝缓绔嬬殑',
-  appSelector: {
-    placeholder: '閬告搰鎳夌敤绋嬪紡...',
-    noParams: '鐒¢渶鍙冩暩',
-    params: '鎳夌敤绋嬪紡鍙冩暩',
-    label: '鎳夌敤绋嬪紡',
-  },
-  structOutput: {
-    moreFillTip: '椤ず鏈�澶�10灞ょ殑宓屽',
-    required: '蹇呴渶鐨�',
-    LLMResponse: 'LLM 鍥炴噳',
-    structured: '绲愭鍖栫殑',
-    configure: '閰嶇疆',
-    modelNotSupported: '妯″瀷涓嶆敮鎸�',
-    modelNotSupportedTip: '鐣跺墠妯″瀷涓嶆敮鎸佹鍔熻兘锛屼甫鑷嫊闄嶇礆鐐烘彁绀烘敞鍏ャ��',
-    structuredTip: '绲愭鍖栬几鍑烘槸涓�闋呭姛鑳斤紝纰轰繚妯″瀷濮嬬祩鐢熸垚绗﹀悎鎮ㄦ彁渚涚殑 JSON 鏋舵鐨勯熆鎳夈��',
-    notConfiguredTip: '绲愭鍖栬几鍑哄皻鏈厤缃�',
-  },
 }
 
 export default translation
diff --git a/i18n/zh-Hant/billing.ts b/i18n/zh-Hant/billing.ts
index f3ce5ec..f318b6f 100644
--- a/i18n/zh-Hant/billing.ts
+++ b/i18n/zh-Hant/billing.ts
@@ -51,7 +51,7 @@
       communityForums: '绀剧兢璜栧',
       emailSupport: '闆诲瓙閮典欢鏀彺',
       priorityEmail: '鍎厛闆诲瓙閮典欢鍜岃亰澶╂敮鎻�',
-      logoChange: 'Logo 鏇存敼',
+      logoChange: 'Logo鏇存敼',
       SSOAuthentication: 'SSO 瑾嶈瓑',
       personalizedSupport: '鍊嬫�у寲鏀彺',
       dedicatedAPISupport: '灏堢敤 API 鏀彺',
@@ -69,7 +69,6 @@
     messageRequest: {
       title: '瑷婃伅椤嶅害',
       tooltip: '鐐轰笉鍚屾柟妗堟彁渚涘熀鏂� OpenAI 妯″瀷鐨勮▕鎭熆鎳夐搴︺��',
-      titlePerMonth: '{{count,number}} 娑堟伅/鏈�',
     },
     annotatedResponse: {
       title: '妯欒ɑ鍥炶鏁�',
@@ -78,94 +77,27 @@
     ragAPIRequestTooltip: '鎸囧柈鐛ㄥ懠鍙� Dify 鐭ヨ瓨搴硣鏂欒檿鐞嗚兘鍔涚殑 API銆�',
     receiptInfo: '鍙湁鍦橀殜鎵�鏈夎�呭拰鍦橀殜绠$悊鍝℃墠鑳借▊闁卞拰妾㈣璩柈璩囪▕',
     annotationQuota: '瑷婚噵閰嶉',
-    self: '鑷垜涓绘寔',
-    apiRateLimitUnit: '{{count,number}}/澶�',
-    freeTrialTipPrefix: '瑷诲唺涓︾嵅寰椾竴鍊�',
-    annualBilling: '骞村害瑷堣不',
-    freeTrialTipSuffix: '鐒¢渶淇$敤鍗�',
-    comparePlanAndFeatures: '姣旇純瑷堝妰鍜屽姛鑳�',
-    teamMember_one: '{{count,number}} 鍦橀殜鎴愬摗',
-    priceTip: '姣忓�嬪伐浣滃崁/',
-    cloud: '闆叉湇鍕�',
-    documentsRequestQuota: '{{count,number}}/鍒嗛悩 鐭ヨ瓨璜嬫眰閫熺巼闄愬埗',
-    unlimitedApiRate: '娌掓湁API閫熺巼闄愬埗',
-    apiRateLimitTooltip: 'API 浣跨敤娆℃暩闄愬埗閬╃敤鏂奸�氶亷 Dify API 鎵�鍋氱殑鎵�鏈夎珛姹傦紝鍖呮嫭鏂囨湰鐢熸垚銆佽亰澶╁皪瑭便�佸伐浣滄祦鍩疯鍜屾枃妾旇檿鐞嗐��',
-    getStarted: '闁嬪浣跨敤',
-    freeTrialTip: '200 娆� OpenAI 閫氳┍鐨勫厤璨昏│鐢ㄣ��',
-    teamWorkspace: '{{count,number}} 鍦橀殜宸ヤ綔绌洪枔',
-    documents: '{{count,number}} 鐭ヨ瓨鏂囦欢',
-    apiRateLimit: 'API 闄愰��',
-    teamMember_other: '{{count,number}} 鍦橀殜鎴愬摗',
-    documentsTooltip: '寰炵煡璀樻暩鎿氫締婧愬皫鍏ョ殑鏂囦欢鏁搁噺閰嶉銆�',
-    documentsRequestQuotaTooltip: '鎸囧畾宸ヤ綔鍗�鍦ㄧ煡璀樺熀绀庝腑姣忓垎閻樺彲浠ュ煼琛岀殑绺芥搷浣滄鏁革紝鍖呮嫭鏁告摎闆嗙殑鍓靛缓銆佸埅闄ゃ�佹洿鏂般�佹枃妾斾笂鍌炽�佷慨鏀广�佹妾斿拰鐭ヨ瓨鍩虹鏌ヨ銆傞�欏�嬫寚妯欑敤鏂艰浼扮煡璀樺熀绀庤珛姹傜殑鎬ц兘銆備緥濡傦紝濡傛灉涓�鍊嬫矙绠辩敤鎴跺湪涓�鍒嗛悩鍏ч�g簩鍩疯10娆″懡涓脯瑭︼紝浠栧�戠殑宸ヤ綔鍗�灏囧湪鎺ヤ笅渚嗙殑涓�鍒嗛悩鍏ф毇鏅傜姝㈠煼琛屼互涓嬫搷浣滐細鏁告摎闆嗙殑鍓靛缓銆佸埅闄ゃ�佹洿鏂颁互鍙婃枃妾斾笂鍌虫垨淇敼銆�',
   },
   plans: {
     sandbox: {
       name: 'Sandbox',
       description: '200娆� GPT 鍏嶈不瑭︾敤',
       includesTitle: '鍖呮嫭锛�',
-      for: '鏍稿績鍔熻兘鍏嶈不瑭︾敤',
     },
     professional: {
       name: 'Professional',
       description: '璁撳�嬩汉鍜屽皬鍦橀殜鑳藉浠ョ稉婵熷鎯犵殑鏂瑰紡閲嬫斁鏇村鑳藉姏銆�',
       includesTitle: 'Sandbox 瑷堝妰涓殑涓�鍒囷紝鍔犱笂锛�',
-      for: '閬╁悎鐛ㄧ珛闁嬬櫦鑰�/灏忓瀷鍦橀殜',
     },
     team: {
       name: 'Team',
       description: '鍗斾綔鐒¢檺鍒朵甫浜彈闋傜礆鏁堣兘銆�',
       includesTitle: 'Professional 瑷堝妰涓殑涓�鍒囷紝鍔犱笂锛�',
-      for: '閬╃敤鏂间腑鍨嬪湗闅�',
     },
     enterprise: {
       name: 'Enterprise',
       description: '鐛插緱澶ц妯¢棞閸典换鍕欑郴绲辩殑瀹屾暣鍔熻兘鍜屾敮鎻淬��',
       includesTitle: 'Team 瑷堝妰涓殑涓�鍒囷紝鍔犱笂锛�',
-      features: {
-        1: '鍟嗘キ瑷卞彲璀夋巿娆�',
-        6: '鍏堥�插畨鍏ㄨ垏鎺у埗',
-        3: '澶氬�嬪伐浣滃崁鍙婁紒妤鐞�',
-        2: '灏堝爆浼佹キ鍔熻兘',
-        4: '鍠竴鐧诲叆',
-        8: '灏堟キ鎶�琛撴敮鎻�',
-        0: '浼佹キ绱氬彲鎿村睍閮ㄧ讲瑙f焙鏂规',
-        7: 'Dify 瀹樻柟鐨勬洿鏂板拰缍',
-        5: '鐢� Dify 鍚堜綔澶ヤ即鍗斿晢鐨勬湇鍕欐按骞冲崝璀�',
-      },
-      price: '鑷▊',
-      btnText: '鑱公閵峰敭',
-      priceTip: '骞村害瑷堣不銇伩',
-      for: '閬╃敤鏂煎ぇ瑕忔ā鍦橀殜',
-    },
-    community: {
-      features: {
-        0: '鎵�鏈夋牳蹇冨姛鑳藉潎鍦ㄥ叕鍏卞瓨鍎插韩涓嬮噵鍑�',
-        2: '閬靛惊 Dify 闁嬫簮瑷卞彲璀�',
-        1: '鍠竴宸ヤ綔鍗�鍩�',
-      },
-      includesTitle: '鍏嶈不鍔熻兘锛�',
-      btnText: '闁嬪浣跨敤绀惧崁',
-      name: '绀惧崁',
-      for: '閬╃敤鏂煎�嬪垾鐢ㄦ埗銆佸皬鍨嬪湗闅婃垨闈炲晢妤爡鐩�',
-      description: '閬╃敤鏂煎�嬪垾鐢ㄦ埗銆佸皬鍨嬪湗闅婃垨闈炲晢妤爡鐩�',
-      price: '鍏嶈不',
-    },
-    premium: {
-      features: {
-        2: '缍查爜鎳夌敤绋嬪簭妯欒獙鍙婂搧鐗岃嚜瀹氱京',
-        0: '鍚勭ó闆茬鏈嶅嫏鎻愪緵鍟嗙殑鑷垜绠$悊鍙潬鎬�',
-        1: '鍠竴宸ヤ綔鍗�鍩�',
-        3: '鍎厛闆诲瓙閮典欢鍙婅亰澶╂敮鎸�',
-      },
-      for: '閬╃敤鏂间腑鍨嬬祫绻斿拰鍦橀殜',
-      comingSoon: '寰粺Azure鑸嘒oogle Cloud鏀寔鍗冲皣鎺ㄥ嚭',
-      priceTip: '鏍规摎闆茬甯傚牬',
-      btnText: '鐛插彇楂樼礆鐗堝湪',
-      name: '楂樼礆',
-      description: '閬╃敤鏂间腑鍨嬬祫绻斿拰鍦橀殜',
-      price: '鍙摯灞曠殑',
-      includesTitle: '渚嗚嚜绀剧兢鐨勪竴鍒囷紝鍔犱笂锛�',
     },
   },
   vectorSpace: {
@@ -175,26 +107,12 @@
   apps: {
     fullTipLine1: '鍗囩礆鎮ㄧ殑濂楅浠�',
     fullTipLine2: '妲嬪缓鏇村鐨勭▼寮忋��',
-    fullTip1: '鍗囩礆浠ュ壍寤烘洿澶氭噳鐢ㄧ▼搴�',
-    fullTip2des: '寤鸿娓呴櫎涓嶆椿韬嶇殑鎳夌敤绋嬪紡浠ラ噵鏀句娇鐢ㄧ┖闁擄紝鎴栬伅绻垜鍊戙��',
-    contactUs: '鑱公鎴戝��',
-    fullTip1des: '鎮ㄥ凡閬斿埌姝よ▓鍔冨缓妲嬫噳鐢ㄧ▼搴忕殑闄愬埗',
-    fullTip2: '瑷堝妰闄愬埗宸查仈',
   },
   annotatedResponse: {
     fullTipLine1: '鍗囩礆鎮ㄧ殑濂楅浠�',
     fullTipLine2: '妯欒ɑ鏇村灏嶈┍銆�',
     quotaTitle: '妯欒ɑ鐨勯厤椤�',
   },
-  usagePage: {
-    documentsUploadQuota: '鏂囦欢涓婂偝閰嶉',
-    vectorSpaceTooltip: '浣跨敤楂樺搧璩储寮曟ā寮忕殑鏂囦欢灏囨秷鑰楃煡璀樻暩鎿氬瓨鍎茶硣婧愩�傜暥鐭ヨ瓨鏁告摎瀛樺劜閬斿埌闄愬埗寰岋紝灏囦笉鏈冧笂鍌虫柊鏂囦欢銆�',
-    annotationQuota: '瑷昏В閰嶉',
-    vectorSpace: '鐭ヨ瓨鏁告摎鍎插瓨',
-    buildApps: '寤烘鎳夌敤绋嬪紡',
-    teamMembers: '鍦橀殜鎴愬摗',
-  },
-  teamMembers: '鍦橀殜鎴愬摗',
 }
 
 export default translation
diff --git a/i18n/zh-Hant/common.ts b/i18n/zh-Hant/common.ts
index 84b7bc5..735af54 100644
--- a/i18n/zh-Hant/common.ts
+++ b/i18n/zh-Hant/common.ts
@@ -50,14 +50,6 @@
     submit: '鎻愪氦',
     skip: '鑸�',
     imageCopied: '瑜囪=鐨勫湒鐗�',
-    deleteApp: '鍒櫎鎳夌敤绋嬪紡',
-    viewDetails: '鏌ョ湅瑭虫儏',
-    in: '鍦�',
-    copied: '瑜囪=',
-    more: '鏇村',
-    downloadSuccess: '涓嬭級瀹屾垚銆�',
-    downloadFailed: '涓嬭級澶辨晽銆傝珛绋嶅緦鍐嶈│銆�',
-    format: '鏍煎紡',
   },
   placeholder: {
     input: '璜嬭几鍏�',
@@ -130,8 +122,6 @@
       Custom: '鑷畾缇�',
     },
     addMoreModel: '鏂板鏇村妯″瀷',
-    settingsLink: 'Model Provider 瑷疆',
-    capabilities: '澶氭ā寮忓姛鑳�',
   },
   menus: {
     status: 'beta',
@@ -144,7 +134,6 @@
     newApp: '寤虹珛鎳夌敤',
     newDataset: '寤虹珛鐭ヨ瓨搴�',
     tools: '宸ュ叿',
-    exploreMarketplace: '鎺㈢储 Marketplace',
   },
   userProfile: {
     settings: '瑷畾',
@@ -157,9 +146,6 @@
     community: '绀剧兢',
     about: '闂滄柤',
     logout: '鐧诲嚭',
-    support: '鏀寔',
-    github: 'GitHub',
-    compliance: '鍚堣',
   },
   settings: {
     accountGroup: '璩埗',
@@ -173,7 +159,6 @@
     dataSource: '璩囨枡渚嗘簮',
     plugin: '澶栨帥',
     apiBasedExtension: 'API 鎿村厖濂椾欢',
-    generalGroup: '甯歌',
   },
   account: {
     avatar: '闋儚',
@@ -209,9 +194,6 @@
     feedbackLabel: '鍛婅ù鎴戝�戞偍鍒櫎甯虫埗鐨勫師鍥狅紵',
     feedbackPlaceholder: '鑷伕',
     sendVerificationButton: '鐧奸�侀璀夌⒓',
-    workspaceName: '宸ヤ綔鍗�鍚嶇ū',
-    workspaceIcon: '宸ヤ綔鍗�鍩熷湒绀�',
-    editWorkspaceInfo: '绶ㄨ集宸ヤ綔鍗�璩囪▕',
   },
   members: {
     team: '鍦橀殜',
@@ -304,7 +286,6 @@
       usedUp: '瑭︾敤椤嶅害宸茬敤瀹岋紝璜嬪湪涓嬫柟鏂板鑷繁鐨勬ā鍨嬩緵鎳夊晢',
       useYourModel: '鐣跺墠姝e湪浣跨敤浣犺嚜宸辩殑妯″瀷渚涙噳鍟嗐��',
       close: '闂滈枆',
-      trialQuotaTip: '鎮ㄧ殑 Anthropic 瑭︾敤閰嶉灏囨柤 2025 骞� 3 鏈� 11 鏃ュ埌鏈燂紝姝ゅ緦灏囦笉鍐嶅彲鐢ㄣ�傝珛鍙婃檪鍒╃敤銆�',
     },
     anthropic: {
       using: '宓屽叆鑳藉姏姝e湪浣跨敤',
@@ -416,12 +397,6 @@
     editConfig: '绶ㄨ集閰嶇疆',
     loadBalancingInfo: '榛樿獚鎯呮硜涓嬶紝璨犺級鍧囪 浣跨敤 Round-robin 绛栫暐銆傚鏋滆Ц鐧间簡閫熺巼闄愬埗锛屽皣鎳夌敤 1 鍒嗛悩鐨勫喎鍗绘檪闁撱��',
     loadBalancingLeastKeyWarning: '瑕佸暉鐢ㄨ矤杓夊潎琛★紝蹇呴爤鑷冲皯鍟熺敤 2 鍊嬮噾閼般��',
-    discoverMore: '鐧肩従鏇村',
-    installProvider: '瀹夎妯″瀷鎻愪緵绋嬪紡',
-    toBeConfigured: '寰呴厤缃�',
-    emptyProviderTitle: '鏈ō缃ā鍨嬫彁渚涜��',
-    configureTip: '瑷疆 api-key 鎴栨坊鍔犺浣跨敤鐨勬ā鍨�',
-    emptyProviderTip: '璜嬪厛瀹夎妯″瀷鎻愪緵鑰呫��',
   },
   dataSource: {
     add: '鏂板璩囨枡渚嗘簮',
@@ -465,7 +440,7 @@
   apiBasedExtension: {
     title: 'API 鎿村厖濂椾欢鎻愪緵浜嗕竴鍊嬮泦涓紡鐨� API 绠$悊锛屽湪姝ょ当涓�鏂板 API 閰嶇疆寰岋紝鏂逛究鍦� Dify 涓婄殑鍚勯鎳夌敤涓洿鎺ヤ娇鐢ㄣ��',
     link: '鐬В濡備綍闁嬬櫦鎮ㄨ嚜宸辩殑 API 鎿村厖濂椾欢銆�',
-    linkUrl: 'https://docs.dify.ai/zh-hans/guides/tools/extensions/api-based/api-based-extension',
+    linkUrl: 'https://docs.dify.ai/v/zh-hans/guides/extension/api-based-extension',
     add: '鏂板 API 鎿村厖濂椾欢',
     selector: {
       title: 'API 鎿村厖濂椾欢',
@@ -551,9 +526,6 @@
       hitScore: '鍙洖寰楀垎锛�',
     },
     inputPlaceholder: '鑸� Bot 灏嶈┍',
-    thinking: '鎬濈董銆傘�傘��',
-    thought: '鎬濇兂',
-    resend: '閲嶆柊鐧奸��',
   },
   promptEditor: {
     placeholder: '鍦ㄩ�欒!瀵綘鐨勬彁绀鸿锛岃几鍏'{\' 鎻掑叆璁婃暩銆佽几鍏'/\' 鎻掑叆鎻愮ず鍏у濉�',
@@ -647,25 +619,6 @@
   },
   pagination: {
     perPage: '姣忛爜闋呯洰鏁�',
-  },
-  theme: {
-    light: '鍏�',
-    auto: '绯荤当',
-    dark: '榛戞殫',
-    theme: '涓婚',
-  },
-  compliance: {
-    sandboxUpgradeTooltip: '鍍呭彲鐢ㄦ柤灏堟キ鎴栧湗闅婅▓鍔冦��',
-    soc2Type1: 'SOC 2 椤炲瀷 I 鍫卞憡',
-    professionalUpgradeTooltip: '鍍呭彲鐢ㄦ柤鍦橀殜瑷堝妰鎴栨洿楂樼増鏈��',
-    gdpr: 'GDPR DPA',
-    soc2Type2: 'SOC 2 椤炲瀷 II 鍫卞憡',
-    iso27001: 'ISO 27001:2022 瑾嶈瓑',
-  },
-  imageInput: {
-    supportedFormats: '鏀彺PNG銆丣PG銆丣PEG銆乄EBP鍜孏IF',
-    browse: '鐎忚',
-    dropImageHere: '灏囨偍鐨勫湒鐗囨斁鍦ㄩ�欒!锛屾垨',
   },
 }
 
diff --git a/i18n/zh-Hant/custom.ts b/i18n/zh-Hant/custom.ts
index bda5665..85b954c 100644
--- a/i18n/zh-Hant/custom.ts
+++ b/i18n/zh-Hant/custom.ts
@@ -3,8 +3,6 @@
   upgradeTip: {
     prefix: '鍗囩礆鎮ㄧ殑瑷堝妰浠�',
     suffix: '瀹氳=鎮ㄧ殑鍝佺墝銆�',
-    des: '鍗囩礆鎮ㄧ殑瑷堝妰浠ヨ嚜瑷傛偍鐨勫搧鐗�',
-    title: '鍗囩礆鎮ㄧ殑瑷堝妰',
   },
   webapp: {
     title: '瀹氳= WebApp 鍝佺墝',
diff --git a/i18n/zh-Hant/dataset-creation.ts b/i18n/zh-Hant/dataset-creation.ts
index ca2c410..e35e4fc 100644
--- a/i18n/zh-Hant/dataset-creation.ts
+++ b/i18n/zh-Hant/dataset-creation.ts
@@ -3,7 +3,6 @@
     header: {
       creation: '寤虹珛鐭ヨ瓨搴�',
       update: '涓婂偝妾旀',
-      fallbackRoute: '鐭ヨ瓨',
     },
     one: '閬告搰璩囨枡渚嗘簮',
     two: '鏂囧瓧鍒嗘鑸囨竻娲�',
@@ -22,7 +21,7 @@
     },
     uploader: {
       title: '涓婂偝鏂囧瓧妾旀',
-      button: '鎷栨嫿妾旀鎴栨獢妗堝ぞ鑷虫锛屾垨鑰�',
+      button: '鎷栨嫿妾旀鑷虫锛屾垨鑰�',
       browse: '閬告搰妾旀',
       tip: '宸叉敮鎻� {{supportTypes}}锛屾瘡鍊嬫獢妗堜笉瓒呴亷 {{size}}MB銆�',
       validation: {
@@ -61,7 +60,7 @@
       fireCrawlNotConfiguredDescription: '浣跨敤 API 閲戦懓閰嶇疆 Firecrawl 浠ヤ娇鐢ㄥ畠銆�',
       limit: '闄愬埗',
       crawlSubPage: '鎶撳彇瀛愰爜闈�',
-      firecrawlDocLink: 'https://docs.dify.ai/en/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
+      firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
       preview: '闋愯',
       configure: '閰嶇疆',
       excludePaths: '鎺掗櫎璺緫',
@@ -83,14 +82,6 @@
       useSitemap: '浣跨敤缍茬珯鍦板湒',
       jinaReaderDocLink: 'https://jina.ai/reader',
       useSitemapTooltip: '鎸夌収缍茬珯鍦板湒灏嶇恫绔欓�茶鐖恫銆傚惁鍓囷紝Jina Reader 灏囨牴鎿氶爜闈㈢浉闂滄�у弽瑕嗛亱绠楁姄鍙栵紝寰炶�岀敓鎴愭洿灏戜絾鍝佽唱鏇撮珮鐨勯爜闈€��',
-      watercrawlDoc: 'Watercrawl 鏂囨獢',
-      configureFirecrawl: '閰嶇疆 Firecrawl',
-      configureWatercrawl: '閰嶇疆姘寸埇琛�',
-      watercrawlTitle: '浣跨敤 Watercrawl 鎻愬彇缍查爜鍏у',
-      watercrawlDocLink: 'https://docs.dify.ai/zh-TW/guides/knowledge-base/create-knowledge-and-upload-documents/import-content-data/sync-from-website',
-      waterCrawlNotConfiguredDescription: '閰嶇疆 Watercrawl 涓︿娇鐢� API 閲戦懓渚嗕娇鐢ㄥ畠銆�',
-      configureJinaReader: '閰嶇疆 Jina Reader',
-      waterCrawlNotConfigured: 'Watercrawl 灏氭湭閰嶇疆',
     },
   },
   stepTwo: {
@@ -207,11 +198,6 @@
     learnMore: '鐬В鏇村璩囪▕',
     description: '鐩墠锛孌ify 鐨勭煡璀樺韩鍙湁鏈夐檺鐨勬暩鎿氭簮銆傚悜 Dify 鐭ヨ瓨搴并鐛绘暩鎿氭簮鏄鏄庢墍鏈変娇鐢ㄨ�呭寮峰钩鍙伴潏娲绘�у拰寮峰ぇ鍔熻兘鐨勭禃浣虫柟寮忋�傛垜鍊戠殑璨㈢嵒鎸囧崡浣垮叆闁�璁婂緱瀹规槗銆傝珛榛炴搳涓嬮潰鐨勯�g祼鐬В鏇村璩囪▕銆�',
     title: '閫f帴鍒板叾浠栨暩鎿氭簮锛�',
-  },
-  watercrawl: {
-    apiKeyPlaceholder: '渚嗚嚜 watercrawl.dev 鐨� API 閲戦懓',
-    configWatercrawl: '閰嶇疆姘寸埇琛�',
-    getApiKeyLinkText: '寰� watercrawl.dev 鐛插彇鎮ㄧ殑 API 閲戦懓',
   },
 }
 
diff --git a/i18n/zh-Hant/dataset-documents.ts b/i18n/zh-Hant/dataset-documents.ts
index 5ad2c8f..8a6c1f7 100644
--- a/i18n/zh-Hant/dataset-documents.ts
+++ b/i18n/zh-Hant/dataset-documents.ts
@@ -132,7 +132,7 @@
         language: '瑾炶█',
         authorPublisher: '浣滆��/鍑虹増鍟�',
         publishDate: '閲嬪嚭鏃ユ湡',
-        topicKeywords: '涓婚/闂滈嵉瑭�',
+        topicsKeywords: '涓婚/闂滈嵉瑭�',
         description: '鎻忚堪',
       },
       paper: {
diff --git a/i18n/zh-Hant/dataset-settings.ts b/i18n/zh-Hant/dataset-settings.ts
index 3dce646..b22f899 100644
--- a/i18n/zh-Hant/dataset-settings.ts
+++ b/i18n/zh-Hant/dataset-settings.ts
@@ -25,7 +25,6 @@
       learnMore: '鐬В鏇村',
       description: '闂滄柤妾㈢储鏂规硶銆�',
       longDescription: '闂滄柤妾㈢储鏂规硶锛屾偍鍙互闅ㄦ檪鍦ㄧ煡璀樺韩瑷畾涓洿鏀规瑷畾銆�',
-      method: '妾㈢储鏂规硶',
     },
     save: '鍎插瓨',
     permissionsInvitedMembers: '閮ㄥ垎鍦橀殜鎴愬摗',
@@ -36,7 +35,6 @@
     indexMethodChangeToEconomyDisabledTip: '涓嶉仼鐢ㄦ柤寰� HQ 闄嶇礆鍒� ECO',
     upgradeHighQualityTip: '鍗囩礆鍒伴珮鍝佽唱妯″紡鍚庯紝鐒℃硶鎭㈠京鍒扮稉婵熸ā寮�',
     helpText: '鐬В濡備綍绶ㄥ鑹ソ鐨勬暩鎿氶泦鎻忚堪銆�',
-    searchModel: '鎼滅储妯″瀷',
   },
 }
 
diff --git a/i18n/zh-Hant/dataset.ts b/i18n/zh-Hant/dataset.ts
index ce4d63a..6a0d9ca 100644
--- a/i18n/zh-Hant/dataset.ts
+++ b/i18n/zh-Hant/dataset.ts
@@ -168,54 +168,6 @@
   preprocessDocument: '{{num}}闋愯檿鐞嗘枃浠�',
   allKnowledge: '鎵�鏈夌煡璀�',
   allKnowledgeDescription: '閬告搰浠ラ’绀烘宸ヤ綔鍗�涓殑鎵�鏈夌煡璀樸�傚彧鏈� Workspace 鎿佹湁鑰呭彲浠ョ鐞嗘墍鏈夌煡璀樸��',
-  metadata: {
-    createMetadata: {
-      type: '椤炲瀷',
-      title: '鏂板厓鏁告摎',
-      back: '杩斿洖',
-      namePlaceholder: '娣诲姞鍏冩暩鎿氬悕绋�',
-      name: '鍚嶅瓧',
-    },
-    checkName: {
-      empty: '鍏冩暩鎿氬悕绋变笉鑳界偤绌�',
-      invalid: '鍏冩暩鎿氬悕绋卞彧鑳藉寘鍚皬瀵瓧姣嶃�佹暩瀛楀拰搴曠窔锛屼甫涓斿繀闋堜互灏忓瀛楁瘝闁嬮牠',
-    },
-    batchEditMetadata: {
-      applyToAllSelectDocumentTip: '鑷嫊鐐烘墍鏈夐伕瀹氭枃妾斿壍寤轰笂杩版墍鏈夌法杓拰鏂板厓鏁告摎锛屽惁鍓囩法杓厓鏁告摎灏囧儏閬╃敤鏂煎叿鏈夎┎鍏冩暩鎿氱殑鏂囨獢銆�',
-      editDocumentsNum: '绶ㄨ集 {{num}} 浠芥枃浠�',
-      multipleValue: '澶氶噸鍍瑰��',
-      applyToAllSelectDocument: '鎳夌敤鏂兼墍鏈夐伕瀹氱殑鏂囦欢',
-      editMetadata: '绶ㄨ集鍏冭硣鏂�',
-    },
-    selectMetadata: {
-      search: '鎼滃皨鍏冩暩鎿�',
-      newAction: '鏂板厓鏁告摎',
-      manageAction: '绠$悊',
-    },
-    datasetMetadata: {
-      rename: '閲嶆柊鍛藉悕',
-      addMetaData: '娣诲姞鍏冩暩鎿�',
-      builtInDescription: '鍏у缓鐨勫厓鏁告摎鏈冭嚜鍕曟彁鍙栧拰鐢熸垚銆傚湪浣跨敤涔嬪墠蹇呴爤鍟熺敤锛屼笖鐒℃硶绶ㄨ集銆�',
-      name: '鍚嶅瓧',
-      disabled: '绂佺敤',
-      deleteTitle: '纰鸿獚鍒櫎',
-      values: '{{num}} 鍊�',
-      deleteContent: '鎮ㄧ⒑瀹氳鍒櫎鍏冩暩鎿� "{{name}}" 鍡庯紵',
-      builtIn: '鍏у缓鐨�',
-      description: '鎮ㄥ彲浠ュ湪閫欒!绠$悊鎵�鏈夌殑鍏冩暩鎿氥�傚皪鎵�鏈夋枃浠剁殑淇敼灏囨渻鍚屾銆�',
-      namePlaceholder: '鍏冩暩鎿氬悕绋�',
-    },
-    documentMetadata: {
-      startLabeling: '闁嬪妯欒',
-      documentInformation: '鏂囦欢璩囪▕',
-      technicalParameters: '鎶�琛撳弮鏁�',
-      metadataToolTip: '鍏冩暩鎿氫綔鐐轰竴鍊嬮棞閸电殑閬庢烤鍣紝鎻愰珮浜嗕俊鎭绱㈢殑婧栫⒑鎬у拰鐩搁棞鎬с�傛偍鍙互鍦ㄦ铏曚慨鏀瑰拰娣诲姞姝ゆ枃妾旂殑鍏冩暩鎿氥��',
-    },
-    metadata: '鍏冩暩鎿�',
-    chooseTime: '閬告搰涓�鍊嬫檪闁�...',
-    addMetadata: '娣诲姞鍏冩暩鎿�',
-  },
-  embeddingModelNotAvailable: '宓屽叆妯″瀷鐒℃硶浣跨敤銆�',
 }
 
 export default translation
diff --git a/i18n/zh-Hant/explore.ts b/i18n/zh-Hant/explore.ts
index c0f4a51..80dfe09 100644
--- a/i18n/zh-Hant/explore.ts
+++ b/i18n/zh-Hant/explore.ts
@@ -37,7 +37,6 @@
     HR: '浜哄姏璩囨簮',
     Agent: '浠g悊',
     Workflow: '宸ヤ綔娴�',
-    Entertainment: '濞涙▊',
   },
 }
 
diff --git a/i18n/zh-Hant/run-log.ts b/i18n/zh-Hant/run-log.ts
index c3bfb54..be61b0e 100644
--- a/i18n/zh-Hant/run-log.ts
+++ b/i18n/zh-Hant/run-log.ts
@@ -19,13 +19,11 @@
     steps: '鍩疯姝ユ暩',
   },
   resultEmpty: {
-    title: '鏈亱琛屽儏杓稿嚭 JSON 鏍煎紡锛�',
+    title: '鏈亱琛屽儏杓稿嚭JSON鏍煎紡锛�',
     tipLeft: '璜嬪埌',
     link: '瑭崇窗璩囪▕闈㈡澘',
     tipRight: '鏌ョ湅瀹冦��',
   },
-  circularInvocationTip: '鐣跺墠宸ヤ綔娴佷腑瀛樺湪宸ュ叿/绡�榛炵殑杩村湀瑾跨敤銆�',
-  actionLogs: '浣滄棩瑾�',
 }
 
 export default translation
diff --git a/i18n/zh-Hant/share-app.ts b/i18n/zh-Hant/share-app.ts
index bf81582..ea5f206 100644
--- a/i18n/zh-Hant/share-app.ts
+++ b/i18n/zh-Hant/share-app.ts
@@ -26,12 +26,6 @@
     },
     tryToSolve: '鍢楄│瑙f焙',
     temporarySystemIssue: '鎶辨瓑锛岃嚚鏅傜郴绲卞晱椤屻��',
-    expand: '灞曢枊',
-    collapse: '鎽虹枈',
-    newChatTip: '宸茬稉鍦ㄤ竴鍊嬫柊鑱婂ぉ涓�',
-    chatSettingsTitle: '鏂扮殑鑱婂ぉ瑷疆',
-    chatFormTip: '鑱婂ぉ瑷畾鍦ㄨ亰澶╅枊濮嬪緦鐒℃硶淇敼銆�',
-    viewChatSettings: '鏌ョ湅鑱婂ぉ瑷畾',
   },
   generation: {
     tabs: {
@@ -70,8 +64,6 @@
       moreThanMaxLengthLine: '绗� {{rowIndex}} 琛�: {{varName}}鍊艰秴閬庢渶澶ч暦搴� {{maxLength}}',
       atLeastOne: '涓婂偝妾旀鐨勫収瀹逛笉鑳藉皯鏂间竴姊�',
     },
-    execution: '鍩疯',
-    executions: '{{num}} 鍩疯',
   },
 }
 
diff --git a/i18n/zh-Hant/tools.ts b/i18n/zh-Hant/tools.ts
index c4ffb4f..40a63ef 100644
--- a/i18n/zh-Hant/tools.ts
+++ b/i18n/zh-Hant/tools.ts
@@ -121,7 +121,6 @@
     number: '鏁稿瓧',
     required: '蹇呭~',
     infoAndSetting: '璩囪▕鍜岃ō瀹�',
-    file: '妾�',
   },
   noCustomTool: {
     title: '娌掓湁鑷畾缇╁伐鍏�!',
@@ -151,8 +150,6 @@
   customToolTip: '鐬В鏈夐棞 Dify 鑷▊宸ュ叿鐨勬洿澶氳硣瑷�',
   toolNameUsageTip: '鐢ㄦ柤浠g悊鎺ㄧ悊鍜屾彁绀虹殑宸ュ叿瑾跨敤鍚嶇ū',
   openInStudio: '鍦� Studio 涓墦闁�',
-  noTools: '鏈壘鍒板伐鍏�',
-  copyToolName: '瑜囪=鍚嶇ū',
 }
 
 export default translation
diff --git a/i18n/zh-Hant/workflow.ts b/i18n/zh-Hant/workflow.ts
index 9a4d7f2..1bfc258 100644
--- a/i18n/zh-Hant/workflow.ts
+++ b/i18n/zh-Hant/workflow.ts
@@ -106,15 +106,6 @@
     addFailureBranch: '娣诲姞 Fail Branch',
     loadMore: '杓夊叆鏇村宸ヤ綔娴�',
     noHistory: '鐒℃鍙茶閷�',
-    publishUpdate: '鐧煎竷鏇存柊',
-    referenceVar: '鍙冭�冭畩閲�',
-    exportSVG: '鍖嚭鐐篠VG',
-    exportPNG: '鍖嚭鐐� PNG',
-    noExist: '娌掓湁閫欏�嬭畩鏁�',
-    versionHistory: '鐗堟湰姝峰彶',
-    exitVersions: '閫�鍑虹増鏈�',
-    exportImage: '鍖嚭鍦栧儚',
-    exportJPEG: '鍖嚭鐐篔PEG',
   },
   env: {
     envPanelTitle: '鐠板璁婃暩',
@@ -204,8 +195,6 @@
     },
     invalidVariable: '鐒℃晥鐨勮畩閲�',
     rerankModelRequired: '鍦ㄩ枊鍟� Rerank 妯″瀷涔嬪墠锛岃珛鍦ㄨō缃腑纰鸿獚妯″瀷閰嶇疆鎴愬姛銆�',
-    toolParameterRequired: '{{field}}锛� 鍙傛暩 [{{param}}] 鐐哄繀濉爡',
-    noValidTool: '{{field}} 鏈伕鎿囨湁鏁堝伐鍏�',
   },
   singleRun: {
     testRun: '娓│閬嬭',
@@ -214,7 +203,6 @@
     testRunIteration: '娓│閬嬭杩唬',
     back: '杩斿洖',
     iteration: '杩唬',
-    loop: '寰挵',
   },
   tabs: {
     'searchBlock': '鎼滅储绡�榛�',
@@ -230,8 +218,6 @@
     'utilities': '宸ュ叿',
     'noResult': '鏈壘鍒板尮閰嶉爡',
     'searchTool': '鎼滅储宸ュ叿',
-    'agent': '浠g悊绛栫暐',
-    'plugin': '澶栨帥绋嬪紡',
   },
   blocks: {
     'start': '闁嬪',
@@ -252,10 +238,6 @@
     'parameter-extractor': '鍙冩暩鎻愬彇鍣�',
     'list-operator': '娓呭柈閬嬬畻瀛�',
     'document-extractor': '鏂囦欢鎻愬彇鍣�',
-    'agent': '浠g悊',
-    'loop-start': '寰挵闁嬪',
-    'loop': '寰挵',
-    'loop-end': '閫�鍑哄惊鐠�',
   },
   blocksAbout: {
     'start': '瀹氱京涓�鍊� workflow 娴佺▼鍟熷嫊鐨勫弮鏁�',
@@ -275,9 +257,6 @@
     'parameter-extractor': '鍒╃敤 LLM 寰炶嚜鐒惰獮瑷�鍏ф帹鐞嗘彁鍙栧嚭绲愭鍖栧弮鏁革紝鐢ㄦ柤寰岀疆鐨勫伐鍏疯鐢ㄦ垨 HTTP 璜嬫眰銆�',
     'document-extractor': '鐢ㄦ柤灏囦笂鍌崇殑鏂囦欢瑙f瀽鐐� LLM 鏄撴柤鐞嗚В鐨勬枃瀛楀収瀹广��',
     'list-operator': '鐢ㄦ柤绡╅伕鎴栨帓搴忛櫍鍒楀収瀹广��',
-    'agent': '瑾跨敤澶у瀷瑾炶█妯″瀷渚嗗洖绛斿晱椤屾垨铏曠悊鑷劧瑾炶█',
-    'loop-end': '绛夊悓鏂笺�屼腑鏂枫�嶃�傞�欏�嬬瘈榛炴矑鏈夐厤缃爡鐩�傜暥寰挵楂旈仈鍒伴�欏�嬬瘈榛炴檪锛屽惊鐠扮祩姝€��',
-    'loop': '鍩疯閭忚集杩村湀锛岀洿鍒版豢瓒崇祩姝㈡浠舵垨閬斿埌鏈�澶ц看鍦堟鏁搞��',
   },
   operator: {
     zoomIn: '鏀惧ぇ',
@@ -419,34 +398,6 @@
         variable: '璁婇噺',
       },
       sysQueryInUser: 'user message 涓繀闋堝寘鍚� sys.query',
-      jsonSchema: {
-        warningTips: {
-          saveSchema: '璜嬪湪淇濆瓨绲愭涔嬪墠瀹屾垚鐣跺墠娆勪綅鐨勭法杓�',
-        },
-        resetDefaults: '閲嶇疆',
-        instruction: '鎸囩ず',
-        apply: '鐢宠珛',
-        promptPlaceholder: '鎻忚堪浣犵殑 JSON 鏋舵...',
-        addField: '鏂板瀛楁',
-        generate: '鐢熸垚',
-        descriptionPlaceholder: '娣诲姞鎻忚堪',
-        fieldNamePlaceholder: '娆勪綅鍚嶇ū',
-        showAdvancedOptions: '椤ず閫查殠閬搁爡',
-        import: '寰� JSON 鍖叆',
-        generatedResult: '鐢熸垚鐨勭祼鏋�',
-        generateJsonSchema: '鐢熸垚 JSON 鏋舵',
-        promptTooltip: '灏囨枃鏈弿杩拌綁鎻涙垚妯欐簴鍖栫殑 JSON Schema绲愭銆�',
-        doc: '浜嗚В鏇村鏈夐棞绲愭鍖栬几鍑虹殑璩囪▕',
-        addChildField: '鏂板瀛愭瑒浣�',
-        title: '绲愭鍖栬几鍑烘ā寮�',
-        regenerate: '閲嶆柊鐢熸垚',
-        stringValidations: '瀛椾覆椹楄瓑',
-        generationTip: '鎮ㄥ彲浠ヤ娇鐢ㄨ嚜鐒惰獮瑷�蹇�熷壍寤� JSON Schema銆�',
-        generating: '鐢熸垚 JSON 鏋舵...',
-        back: '杩斿洖',
-        required: '蹇呴渶鐨�',
-        resultTip: '閫欐槸鐢熸垚鐨勭祼鏋溿�傚鏋滄偍涓嶆豢鎰忥紝鍙互鍥炲幓淇敼鎮ㄧ殑鎻愮ず銆�',
-      },
     },
     knowledgeRetrieval: {
       queryVariable: '鏌ヨ璁婇噺',
@@ -458,33 +409,6 @@
         icon: '鍒嗘鍦栨',
         url: '鍒嗘閺堟帴',
         metadata: '鍏朵粬鍏冩暩鎿�',
-      },
-      metadata: {
-        options: {
-          disabled: {
-            subTitle: '涓嶅暉鐢ㄥ厓鏁告摎閬庢烤',
-            title: '绂佺敤',
-          },
-          automatic: {
-            title: '鑷嫊鐨�',
-            subTitle: '鏍规摎鐢ㄦ埗鏌ヨ鑷嫊鐢熸垚鍏冩暩鎿氶亷婵炬浠�',
-            desc: '鏍规摎鏌ヨ璁婃暩鑷嫊鐢熸垚鍏冩暩鎿氶亷婵炬浠�',
-          },
-          manual: {
-            title: '鎵嬪嫊',
-            subTitle: '鎵嬪嫊娣诲姞鍏冩暩鎿氶亷婵炬浠�',
-          },
-        },
-        panel: {
-          add: '娣诲姞姊濅欢',
-          datePlaceholder: '閬告搰涓�鍊嬫檪闁�...',
-          search: '鎼滃皨鍏冩暩鎿�',
-          conditions: '姊濅欢',
-          title: '鍏冩暩鎿氶亷婵炬浠�',
-          select: '閬告搰璁婃暩...',
-          placeholder: '杓稿叆鏁稿��',
-        },
-        title: '鍏冩暩鎿氶亷婵�',
       },
     },
     http: {
@@ -575,8 +499,6 @@
         'in': '鍦�',
         'not in': '涓嶅湪',
         'not exists': '涓嶅瓨鍦�',
-        'after': '涔嬪緦',
-        'before': '涔嬪墠',
       },
       enterValue: '杓稿叆鍊�',
       addCondition: '娣诲姞姊濅欢',
@@ -592,7 +514,6 @@
       },
       select: '閬告搰',
       addSubVariable: '瀛愯畩鏁�',
-      condition: '姊濅欢',
     },
     variableAssigner: {
       title: '璁婇噺璩﹀��',
@@ -624,19 +545,17 @@
       'setVariable': '瑷畾璁婃暩',
       'variable': '璁婃暩',
       'operations': {
-        'overwrite': '瑕嗗',
+        'overwrite': '鏀瑰',
         '/=': '/=',
         'title': '鎿嶄綔',
         '*=': '*=',
         'extend': '鎿村睍',
         '+=': '+=',
         'set': '瑷疆',
-        'over-write': '瑕嗗',
+        'over-write': '鏀瑰',
         '-=': '-=',
         'append': '闄勫姞',
-        'clear': '娓呴櫎',
-        'remove-first': '绉婚櫎棣栭爡',
-        'remove-last': '绉婚櫎鏈爡',
+        'clear': '娓呮',
       },
       'noAssignedVars': '娌掓湁鍙敤鐨勫凡鍒嗛厤璁婃暩',
       'variables': '璁婃暩',
@@ -772,107 +691,6 @@
       filterConditionKey: '绡╅伕姊濅欢閸�',
       extractsCondition: '鎻愬彇绗� N 闋�',
     },
-    agent: {
-      strategy: {
-        label: '浠g悊绛栫暐',
-        shortLabel: '绛栫暐',
-        tooltip: '涓嶅悓鐨� Agentic 绛栫暐姹哄畾浜嗙郴绲卞浣曡鍔冨拰鍩疯澶氭椹熷伐鍏疯鐢�',
-        configureTip: '璜嬮厤缃� agentic 绛栫暐銆�',
-        searchPlaceholder: '鎼滅储浠g悊绛栫暐',
-        selectTip: '閬告搰浠g悊绛栫暐',
-        configureTipDesc: '閰嶇疆浠g悊绛栫暐鍚庯紝瑭茬瘈榛炲皣鑷嫊杓夊叆鍓╅鐨勯厤缃�傝┎绛栫暐灏囧奖闊垮姝ラ宸ュ叿鎺ㄧ悊鐨勬鍒躲��',
-      },
-      pluginInstaller: {
-        installing: '瀹夎',
-        install: '瀹夎',
-      },
-      modelNotInMarketplace: {
-        title: '鏈畨瑁濇ā鍨�',
-        manageInPlugins: '鍦ㄥ鎺涚▼寮忎腑绠$悊',
-        desc: '姝ゆā鍨嬫槸寰� Local 鎴� GitHub 鍎插瓨搴畨瑁濈殑銆傝珛鍦ㄥ畨瑁濆緦浣跨敤銆�',
-      },
-      modelNotSupport: {
-        title: '涓嶆敮鎻寸殑鍨嬭櫉',
-        desc: '宸插畨瑁濈殑澶栨帥绋嬪紡鐗堟湰涓嶆彁渚涙妯″瀷銆�',
-        descForVersionSwitch: '宸插畨瑁濈殑澶栨帥绋嬪紡鐗堟湰涓嶆彁渚涙妯″瀷銆傛寜鍏╀笅浠ュ垏鎻涚増鏈��',
-      },
-      modelSelectorTooltips: {
-        deprecated: '姝ゆā鍨嬪凡妫勭敤',
-      },
-      outputVars: {
-        files: {
-          type: '鏀拹椤炲瀷銆傜従鍦ㄥ儏鏀彺閺″儚',
-          transfer_method: '杞夌Щ鏂规硶銆傚�肩偤 remote_url 鎴� local_file',
-          title: '浠g悊鐢熸垚鐨勬獢',
-          url: '鍦栫墖缍插潃',
-          upload_file_id: '涓婂偝妾擨D',
-        },
-        text: '浠g悊鐢熸垚鐨勫収瀹�',
-        json: '浠g悊鐢熸垚鐨� JSON',
-      },
-      checkList: {
-        strategyNotSelected: '鏈伕鎿囩瓥鐣�',
-      },
-      installPlugin: {
-        title: '瀹夎澶栨帥绋嬪紡',
-        changelog: '鏇存柊鏃ヨ獙',
-        cancel: '鍙栨秷',
-        desc: '鍗冲皣瀹夎浠ヤ笅澶栨帥绋嬪紡',
-        install: '瀹夎',
-      },
-      pluginNotFoundDesc: '姝ゅ鎺涚▼寮忔槸寰� GitHub 瀹夎鐨勩�傝珛鍓嶅線澶栨帥绋嬪紡 閲嶆柊瀹夎',
-      modelNotSelected: '鏈伕鎿囨ā鍨�',
-      tools: '宸ュ叿',
-      strategyNotFoundDesc: '宸插畨瑁濈殑澶栨帥绋嬪紡鐗堟湰涓嶆彁渚涙绛栫暐銆�',
-      pluginNotInstalledDesc: '姝ゅ鎺涚▼寮忔槸寰� GitHub 瀹夎鐨勩�傝珛鍓嶅線澶栨帥绋嬪紡 閲嶆柊瀹夎',
-      strategyNotFoundDescAndSwitchVersion: '宸插畨瑁濈殑澶栨帥绋嬪紡鐗堟湰涓嶆彁渚涙绛栫暐銆傛寜鍏╀笅浠ュ垏鎻涚増鏈��',
-      strategyNotInstallTooltip: '{{strategy}} 鏈畨瑁�',
-      toolNotAuthorizedTooltip: '{{宸ュ叿}}鏈巿娆�',
-      unsupportedStrategy: '涓嶆敮鎻寸殑绛栫暐',
-      model: '鍨�',
-      modelNotInstallTooltip: '姝ゆā鍨嬫湭瀹夎',
-      strategyNotSet: '浠g悊绛栫暐鏈ō缃�',
-      toolNotInstallTooltip: '{{tool}} 鏈畨瑁�',
-      maxIterations: '鏈�澶у弽瑕嗛亱绠楁鏁�',
-      toolbox: '宸ュ叿绠�',
-      configureModel: '閰嶇疆妯″瀷',
-      learnMore: '鐬В鏇村璩囪▕',
-      linkToPlugin: '閫g祼鍒板鎺涚▼寮�',
-      pluginNotInstalled: '姝ゅ鎺涚▼寮忔湭瀹夎',
-      notAuthorized: '鏈巿娆�',
-    },
-    loop: {
-      ErrorMethod: {
-        operationTerminated: '绲傛',
-        continueOnError: '绻肩簩鍑洪尟',
-        removeAbnormalOutput: '绉婚櫎鐣板父杓稿嚭',
-      },
-      loop_other: '{{count}} 寰挵',
-      variableName: '璁婃暩鍚嶇ū',
-      error_one: '{{count}} 閷',
-      loopMaxCount: '鏈�澶ц看鍦堟鏁�',
-      input: '杓稿叆',
-      loopVariables: '寰挵璁婇噺',
-      output: '杓稿嚭璁婇噺',
-      comma: '锛�',
-      errorResponseMethod: '閷鍥炴噳鏂规硶',
-      breakCondition: '杩村湀绲傛姊濅欢',
-      loopMaxCountError: '璜嬭几鍏ヤ竴鍊嬫湁鏁堢殑鏈�澶ц看鍦堟鏁革紝绡勫湇鐐� 1 鍒� {{maxCount}}',
-      loop_one: '{{count}} 娆″惊鐠�',
-      exitConditionTip: '寰挵绡�榛炶嚦灏戦渶瑕佷竴鍊嬮��鍑烘浠�',
-      breakConditionTip: '鍙湁鍦ㄥ叿鏈夌祩姝㈡浠剁殑寰挵鍏у拰灏嶈┍璁婃暩涓紝鎵嶈兘寮曠敤璁婃暩銆�',
-      totalLoopCount: '绺借看鍦堟鏁革細{{count}}',
-      error_other: '{{count}} 閷',
-      currentLoop: '闆绘祦杩磋矾',
-      finalLoopVariables: '鏈�寰岃看鍦堣畩鏁�',
-      currentLoopCount: '鐣跺墠寰挵娆℃暩锛歿{count}}',
-      inputMode: '杓稿叆妯″紡',
-      loopNode: '寰挵绡�榛�',
-      initialLoopVariables: '鍒濆杩村湀璁婃暩',
-      deleteDesc: '鍒櫎寰挵绡�榛炲皣绉婚櫎鎵�鏈夊瓙绡�榛�',
-      setLoopVariables: '鍦ㄨ看鍦堢瘎鍦嶅収瑷疆璁婃暩',
-      deleteTitle: '鍒櫎寰挵绡�榛炲棊锛�',
-    },
   },
   tracing: {
     stopBy: '鐢眥{user}}绲傛',
@@ -883,38 +701,6 @@
     noVarsForOperation: '鎵�閬告搷浣滄矑鏈夊彲鐢ㄦ柤璩﹀�肩殑璁婃暩銆�',
     assignedVarsDescription: '鍒嗛厤鐨勮畩鏁稿繀闋堟槸鍙璁婃暩锛屼緥濡�',
     conversationVars: '灏嶈┍璁婃暩',
-  },
-  versionHistory: {
-    filter: {
-      onlyShowNamedVersions: '鍍呴’绀哄懡鍚嶇増鏈�',
-      onlyYours: '鍙湁濡崇殑',
-      empty: '鏈壘鍒板尮閰嶇殑鐗堟湰姝峰彶',
-      all: '鎵�鏈�',
-      reset: '閲嶇疆閬庢烤鍣�',
-    },
-    editField: {
-      releaseNotes: '鐧间綀瑾槑',
-      titleLengthLimit: '妯欓涓嶈兘瓒呴亷 {{limit}} 鍊嬪瓧绗�',
-      releaseNotesLengthLimit: '鐧间綀瑾槑涓嶈兘瓒呴亷 {{limit}} 鍊嬪瓧绗�',
-      title: '妯欓',
-    },
-    action: {
-      updateFailure: '鏇存柊鐗堟湰澶辨晽',
-      restoreFailure: '鐒℃硶鎭㈠京鐗堟湰',
-      restoreSuccess: '鎭㈠京鐗堟湰',
-      updateSuccess: '鐗堟湰宸叉洿鏂�',
-      deleteSuccess: '鐗堟湰宸插埅闄�',
-      deleteFailure: '鐒℃硶鍒櫎鐗堟湰',
-    },
-    nameThisVersion: '绲﹂�欏�嬬増鏈懡鍚�',
-    latest: '鏈�鏂�',
-    currentDraft: '鐣跺墠鑽夌',
-    title: '鐗堟湰',
-    editVersionInfo: '绶ㄨ集鐗堟湰淇℃伅',
-    restorationTip: '鐗堟湰鎭㈠京寰岋紝鐣跺墠鑽夌灏囪瑕嗚搵銆�',
-    deletionTip: '鍒櫎鏄笉鍙�嗙殑锛岃珛纰鸿獚銆�',
-    releaseNotesPlaceholder: '鎻忚堪鐧肩敓浜嗕粈楹艰畩鍖�',
-    defaultName: '鏈懡鍚嶇増鏈�',
   },
 }
 
diff --git a/jest.config.ts b/jest.config.ts
index ebeb2f7..232f902 100644
--- a/jest.config.ts
+++ b/jest.config.ts
@@ -26,7 +26,7 @@
   clearMocks: true,
 
   // Indicates whether the coverage information should be collected while executing the test
-  collectCoverage: true,
+  collectCoverage: false,
 
   // An array of glob patterns indicating a set of files for which coverage information should be collected
   // collectCoverageFrom: undefined,
@@ -43,13 +43,12 @@
   coverageProvider: 'v8',
 
   // A list of reporter names that Jest uses when writing coverage reports
-  coverageReporters: [
-    'json',
-    'text',
-    'text-summary',
-    'lcov',
-    'clover',
-  ],
+  // coverageReporters: [
+  //   "json",
+  //   "text",
+  //   "lcov",
+  //   "clover"
+  // ],
 
   // An object that configures minimum threshold enforcement for coverage results
   // coverageThreshold: undefined,
@@ -99,7 +98,7 @@
 
   // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
   moduleNameMapper: {
-    '^@/(.*)$': '<rootDir>/$1',
+    '^@/components/(.*)$': '<rootDir>/components/$1',
     '^lodash-es$': 'lodash',
   },
 
@@ -134,7 +133,7 @@
   // restoreMocks: false,
 
   // The root directory that Jest should scan for tests and modules within
-  rootDir: './',
+  // rootDir: undefined,
 
   // A list of paths to directories that Jest should use to search for files in
   // roots: [
@@ -148,7 +147,7 @@
   // setupFiles: [],
 
   // A list of paths to modules that run some code to configure or set up the testing framework before each test
-  setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
+  // setupFilesAfterEnv: [],
 
   // The number of seconds after which a test is considered as slow and reported as such in the results.
   // slowTestThreshold: 5,
@@ -157,7 +156,7 @@
   // snapshotSerializers: [],
 
   // The test environment that will be used for testing
-  testEnvironment: '@happy-dom/jest-environment',
+  testEnvironment: 'jsdom',
 
   // Options that will be passed to the testEnvironment
   // testEnvironmentOptions: {},
diff --git a/middleware.ts b/middleware.ts
index ac01694..e0f8f37 100644
--- a/middleware.ts
+++ b/middleware.ts
@@ -3,26 +3,10 @@
 
 const NECESSARY_DOMAIN = '*.sentry.io http://localhost:* http://127.0.0.1:* https://analytics.google.com googletagmanager.com *.googletagmanager.com https://www.google-analytics.com https://api.github.com'
 
-const wrapResponseWithXFrameOptions = (response: NextResponse, pathname: string) => {
-  // prevent clickjacking: https://owasp.org/www-community/attacks/Clickjacking
-  // Chatbot page should be allowed to be embedded in iframe. It's a feature
-  if (process.env.NEXT_PUBLIC_ALLOW_EMBED !== 'true' && !pathname.startsWith('/chat') && !pathname.startsWith('/workflow') && !pathname.startsWith('/completion'))
-    response.headers.set('X-Frame-Options', 'DENY')
-
-  return response
-}
 export function middleware(request: NextRequest) {
-  const { pathname } = request.nextUrl
-  const requestHeaders = new Headers(request.headers)
-  const response = NextResponse.next({
-    request: {
-      headers: requestHeaders,
-    },
-  })
-
   const isWhiteListEnabled = !!process.env.NEXT_PUBLIC_CSP_WHITELIST && process.env.NODE_ENV === 'production'
   if (!isWhiteListEnabled)
-    return wrapResponseWithXFrameOptions(response, pathname)
+    return NextResponse.next()
 
   const whiteList = `${process.env.NEXT_PUBLIC_CSP_WHITELIST} ${NECESSARY_DOMAIN}`
   const nonce = Buffer.from(crypto.randomUUID()).toString('base64')
@@ -37,7 +21,7 @@
     style-src 'self' 'unsafe-inline' ${scheme_source} ${whiteList};
     worker-src 'self' ${scheme_source} ${csp} ${whiteList};
     media-src 'self' ${scheme_source} ${csp} ${whiteList};
-    img-src * data:;
+    img-src 'self' ${scheme_source} ${csp} ${whiteList};
     font-src 'self';
     object-src 'none';
     base-uri 'self';
@@ -49,6 +33,7 @@
     .replace(/\s{2,}/g, ' ')
     .trim()
 
+  const requestHeaders = new Headers(request.headers)
   requestHeaders.set('x-nonce', nonce)
 
   requestHeaders.set(
@@ -56,12 +41,17 @@
     contentSecurityPolicyHeaderValue,
   )
 
+  const response = NextResponse.next({
+    request: {
+      headers: requestHeaders,
+    },
+  })
   response.headers.set(
     'Content-Security-Policy',
     contentSecurityPolicyHeaderValue,
   )
 
-  return wrapResponseWithXFrameOptions(response, pathname)
+  return response
 }
 
 export const config = {
diff --git a/models/app.ts b/models/app.ts
index d830455..edf8554 100644
--- a/models/app.ts
+++ b/models/app.ts
@@ -1,6 +1,62 @@
-import type { LangFuseConfig, LangSmithConfig, OpikConfig, TracingProvider, WeaveConfig } from '@/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/type'
+import type { LangFuseConfig, LangSmithConfig, OpikConfig, TracingProvider } from '@/app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/tracing/type'
 import type { App, AppSSO, AppTemplate, SiteConfig } from '@/types/app'
-import type { Dependency } from '@/app/components/plugins/types'
+
+/* export type App = {
+  id: string
+  name: string
+  description: string
+  mode: AppMode
+  enable_site: boolean
+  enable_api: boolean
+  api_rpm: number
+  api_rph: number
+  is_demo: boolean
+  model_config: AppModelConfig
+  providers: Array<{ provider: string; token_is_set: boolean }>
+  site: SiteConfig
+  created_at: string
+}
+
+export type AppModelConfig = {
+  provider: string
+  model_id: string
+  configs: {
+    prompt_template: string
+    prompt_variables: Array<PromptVariable>
+    completion_params: CompletionParam
+  }
+}
+
+export type PromptVariable = {
+  key: string
+  name: string
+  description: string
+  type: string | number
+  default: string
+  options: string[]
+}
+
+export type CompletionParam = {
+  max_tokens: number
+  temperature: number
+  top_p: number
+  echo: boolean
+  stop: string[]
+  presence_penalty: number
+  frequency_penalty: number
+}
+
+export type SiteConfig = {
+  access_token: string
+  title: string
+  author: string
+  support_email: string
+  default_language: string
+  customize_domain: string
+  theme: string
+  customize_token_strategy: 'must' | 'allow' | 'not_allow'
+  prompt_public: boolean
+} */
 
 export enum DSLImportMode {
   YAML_CONTENT = 'yaml-content',
@@ -27,12 +83,10 @@
 export type DSLImportResponse = {
   id: string
   status: DSLImportStatus
-  app_mode: AppMode
   app_id?: string
   current_dsl_version?: string
   imported_dsl_version?: string
   error: string
-  leaked_dependencies: Dependency[]
 }
 
 export type AppSSOResponse = { enabled: AppSSO['enable_sso'] }
@@ -111,5 +165,5 @@
 
 export type TracingConfig = {
   tracing_provider: TracingProvider
-  tracing_config: LangSmithConfig | LangFuseConfig | OpikConfig | WeaveConfig
+  tracing_config: LangSmithConfig | LangFuseConfig | OpikConfig
 }
diff --git a/models/common.ts b/models/common.ts
index cb8fb7f..16acbc5 100644
--- a/models/common.ts
+++ b/models/common.ts
@@ -1,5 +1,4 @@
 import type { I18nText } from '@/i18n/language'
-import type { Model } from '@/types/app'
 
 export type CommonResponse = {
   result: 'success' | 'fail'
@@ -130,6 +129,7 @@
 export type ICurrentWorkspace = Omit<IWorkspace, 'current'> & {
   role: 'owner' | 'admin' | 'editor' | 'dataset_operator' | 'normal'
   providers: Provider[]
+  in_trail: boolean
   trial_end_reason?: string
   custom_config?: {
     remove_webapp_brand?: boolean
@@ -179,15 +179,9 @@
 export enum DataSourceProvider {
   fireCrawl = 'firecrawl',
   jinaReader = 'jinareader',
-  waterCrawl = 'watercrawl',
 }
 
 export type FirecrawlConfig = {
-  api_key: string
-  base_url: string
-}
-
-export type WatercrawlConfig = {
   api_key: string
   base_url: string
 }
@@ -292,13 +286,3 @@
     text: string
   }
 ) => Promise<ModerateResponse>
-
-export type StructuredOutputRulesRequestBody = {
-  instruction: string
-  model_config: Model
-}
-
-export type StructuredOutputRulesResponse = {
-  output: string
-  error?: string
-}
diff --git a/models/datasets.ts b/models/datasets.ts
index 12ea497..170fe19 100644
--- a/models/datasets.ts
+++ b/models/datasets.ts
@@ -2,8 +2,6 @@
 import type { AppIconType, AppMode, RetrievalConfig } from '@/types/app'
 import type { Tag } from '@/app/components/base/tag-management/constant'
 import type { IndexingType } from '@/app/components/datasets/create/step-two'
-import type { MetadataFilteringVariableType } from '@/app/components/workflow/nodes/knowledge-retrieval/types'
-import type { MetadataItemWithValue } from '@/app/components/datasets/metadata/types'
 
 export enum DataSourceType {
   FILE = 'upload_file',
@@ -12,22 +10,15 @@
 }
 
 export enum DatasetPermission {
-  onlyMe = 'only_me',
-  allTeamMembers = 'all_team_members',
-  partialMembers = 'partial_members',
+  'onlyMe' = 'only_me',
+  'allTeamMembers' = 'all_team_members',
+  'partialMembers' = 'partial_members',
 }
 
 export enum ChunkingMode {
-  text = 'text_model', // General text
-  qa = 'qa_model', // General QA
-  parentChild = 'hierarchical_model', // Parent-Child
-}
-
-export type MetadataInDoc = {
-  value: string
-  id: string
-  type: MetadataFilteringVariableType
-  name: string
+  'text' = 'text_model', // General text
+  'qa' = 'qa_model', // General QA
+  'parentChild' = 'hierarchical_model', // Parent-Child
 }
 
 export type DataSet = {
@@ -65,8 +56,6 @@
     score_threshold: number
     score_threshold_enabled: boolean
   }
-  built_in_field_enabled: boolean
-  doc_metadata?: MetadataInDoc[]
 }
 
 export type ExternalAPIItem = {
@@ -151,10 +140,9 @@
   url: string
   params: {
     page: number
-    ids?: string[]
     tag_ids?: string[]
-    limit?: number
-    include_all?: boolean
+    limit: number
+    include_all: boolean
     keyword?: string
   }
 }
@@ -325,7 +313,6 @@
       extension: string
     }
   }
-  doc_metadata?: MetadataItemWithValue[]
 }
 
 export type DocumentListResponse = {
@@ -469,7 +456,6 @@
   position: number
   document_id: string
   content: string
-  sign_content: string
   word_count: number
   tokens: number
   keywords: string[]
@@ -538,7 +524,6 @@
   id: string
   document: Document
   content: string
-  sign_content: string
   position: number
   word_count: number
   tokens: number
diff --git a/models/debug.ts b/models/debug.ts
index 18c2c02..00a78f9 100644
--- a/models/debug.ts
+++ b/models/debug.ts
@@ -1,14 +1,8 @@
 import type { AgentStrategy, ModelModeType, RETRIEVE_TYPE, ToolItem, TtsAutoPlay } from '@/types/app'
 import type {
   RerankingModeEnum,
-  WeightedScoreEnum,
 } from '@/models/datasets'
 import type { FileUpload } from '@/app/components/base/features/types'
-import type {
-  MetadataFilteringConditions,
-  MetadataFilteringModeEnum,
-} from '@/app/components/workflow/nodes/knowledge-retrieval/types'
-import type { ModelConfig as NodeModelConfig } from '@/app/components/workflow/types'
 export type Inputs = Record<string, string | number | object>
 
 export enum PromptMode {
@@ -166,7 +160,6 @@
   }
   reranking_mode?: RerankingModeEnum
   weights?: {
-    weight_type: WeightedScoreEnum
     vector_setting: {
       vector_weight: number
       embedding_provider_name: string
@@ -177,9 +170,6 @@
     }
   }
   reranking_enable?: boolean
-  metadata_filtering_mode?: MetadataFilteringModeEnum
-  metadata_filtering_conditions?: MetadataFilteringConditions
-  metadata_model_config?: NodeModelConfig
 }
 
 export type DebugRequestBody = {
diff --git a/next.config.js b/next.config.js
index 9ce1b35..7785b80 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,4 +1,3 @@
-const { basePath, assetPrefix } = require('./utils/var-basePath')
 const { codeInspectorPlugin } = require('code-inspector-plugin')
 const withMDX = require('@next/mdx')({
   extension: /\.mdx?$/,
@@ -13,16 +12,8 @@
   },
 })
 
-// the default url to prevent parse url error when running jest
-const hasSetWebPrefix = process.env.NEXT_PUBLIC_WEB_PREFIX
-const port = process.env.PORT || 3000
-const locImageURLs = !hasSetWebPrefix ? [new URL(`http://localhost:${port}/**`), new URL(`http://127.0.0.1:${port}/**`)] : []
-const remoteImageURLs = [hasSetWebPrefix ? new URL(`${process.env.NEXT_PUBLIC_WEB_PREFIX}/**`) : '', ...locImageURLs].filter(item => !!item)
-
 /** @type {import('next').NextConfig} */
 const nextConfig = {
-  basePath,
-  assetPrefix,
   webpack: (config, { dev, isServer }) => {
     config.plugins.push(codeInspectorPlugin({ bundler: 'webpack' }))
     return config
@@ -30,16 +21,6 @@
   productionBrowserSourceMaps: false, // enable browser source map generation during the production build
   // Configure pageExtensions to include md and mdx
   pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'],
-  // https://nextjs.org/docs/messages/next-image-unconfigured-host
-  images: {
-    remotePatterns: remoteImageURLs.map(remoteImageURL => ({
-      protocol: remoteImageURL.protocol.replace(':', ''),
-      hostname: remoteImageURL.hostname,
-      port: remoteImageURL.port,
-      pathname: remoteImageURL.pathname,
-      search: '',
-    })),
-  },
   experimental: {
   },
   // fix all before production. Now it slow the develop speed.
diff --git a/package.json b/package.json
index 3da5b54..0c99076 100644
--- a/package.json
+++ b/package.json
@@ -1,207 +1,172 @@
 {
   "name": "dify-web",
-  "version": "1.4.0",
+  "version": "0.15.3",
   "private": true,
   "engines": {
-    "node": ">=v22.11.0"
+    "node": ">=18.17.0"
   },
   "scripts": {
-    "dev": "cross-env NODE_OPTIONS='--inspect' next dev",
+    "dev": "next dev",
     "build": "next build",
-    "start": "cp -r .next/static .next/standalone/.next/static && cp -r public .next/standalone/public && cross-env PORT=$npm_config_port HOSTNAME=$npm_config_host node .next/standalone/server.js",
-    "lint": "pnpm eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache",
-    "lint-only-show-error": "pnpm eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache --quiet",
+    "start": "cross-env PORT=$npm_config_port HOSTNAME=$npm_config_host node .next/standalone/server.js",
+    "lint": "next lint",
     "fix": "next lint --fix",
-    "eslint-fix": "eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache --fix",
-    "eslint-fix-only-show-error": "eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache --fix --quiet",
-    "eslint-complexity": "eslint --rule 'complexity: [error, {max: 15}]' --quiet",
-    "prepare": "cd ../ && node -e \"if (process.env.NODE_ENV !== 'production'){process.exit(1)} \" || husky ./web/.husky",
-    "gen-icons": "node ./app/components/base/icons/script.mjs",
+    "eslint-fix": "eslint --fix",
+    "prepare": "cd ../ && node -e \"if (process.env.NODE_ENV !== 'production'){process.exit(1)} \" || husky install ./web/.husky",
+    "gen-icons": "node ./app/components/base/icons/script.js",
     "uglify-embed": "node ./bin/uglify-embed",
     "check-i18n": "node ./i18n/check-i18n.js",
     "auto-gen-i18n": "node ./i18n/auto-gen-i18n.js",
     "test": "jest",
     "test:watch": "jest --watch",
     "storybook": "storybook dev -p 6006",
-    "build-storybook": "storybook build",
-    "preinstall": "npx only-allow pnpm"
+    "build-storybook": "storybook build"
   },
   "dependencies": {
     "@babel/runtime": "^7.22.3",
-    "@dagrejs/dagre": "^1.1.4",
-    "@emoji-mart/data": "^1.2.1",
-    "@eslint/compat": "^1.2.4",
-    "@floating-ui/react": "^0.26.25",
-    "@formatjs/intl-localematcher": "^0.5.6",
-    "@headlessui/react": "^2.2.0",
+    "@dagrejs/dagre": "^1.1.2",
+    "@emoji-mart/data": "^1.1.2",
+    "@floating-ui/react": "^0.25.2",
+    "@formatjs/intl-localematcher": "^0.5.4",
+    "@headlessui/react": "^1.7.13",
     "@heroicons/react": "^2.0.16",
-    "@hookform/resolvers": "^3.9.0",
-    "@lexical/code": "^0.30.0",
-    "@lexical/link": "^0.30.0",
-    "@lexical/list": "^0.30.0",
-    "@lexical/react": "^0.30.0",
-    "@lexical/selection": "^0.30.0",
-    "@lexical/text": "^0.30.0",
-    "@lexical/utils": "^0.30.0",
-    "@mdx-js/loader": "^3.1.0",
-    "@mdx-js/react": "^3.1.0",
+    "@hookform/resolvers": "^3.3.4",
+    "@lexical/react": "^0.16.0",
+    "@mdx-js/loader": "^2.3.0",
+    "@mdx-js/react": "^2.3.0",
     "@monaco-editor/react": "^4.6.0",
-    "@next/mdx": "15.2.3",
-    "@octokit/core": "^6.1.2",
-    "@octokit/request-error": "^6.1.5",
+    "@next/mdx": "^14.0.4",
     "@remixicon/react": "^4.5.0",
-    "@sentry/react": "^8.54.0",
-    "@sentry/utils": "^8.54.0",
+    "@sentry/react": "^7.54.0",
+    "@sentry/utils": "^7.54.0",
     "@svgdotjs/svg.js": "^3.2.4",
-    "@tailwindcss/typography": "^0.5.15",
-    "@tanstack/react-form": "^1.3.3",
+    "@tailwindcss/line-clamp": "^0.4.4",
+    "@tailwindcss/typography": "^0.5.9",
     "@tanstack/react-query": "^5.60.5",
     "@tanstack/react-query-devtools": "^5.60.5",
-    "abcjs": "^6.4.4",
-    "ahooks": "^3.8.4",
+    "ahooks": "^3.7.5",
     "class-variance-authority": "^0.7.0",
-    "classnames": "^2.5.1",
-    "clsx": "^2.1.1",
+    "classnames": "^2.3.2",
     "copy-to-clipboard": "^3.3.3",
     "crypto-js": "^4.2.0",
-    "dayjs": "^1.11.13",
+    "dayjs": "^1.11.7",
     "decimal.js": "^10.4.3",
-    "dompurify": "^3.2.4",
     "echarts": "^5.5.1",
     "echarts-for-react": "^3.0.2",
     "elkjs": "^0.9.3",
     "emoji-mart": "^5.5.2",
     "fast-deep-equal": "^3.1.3",
-    "globals": "^15.11.0",
-    "html-to-image": "1.11.11",
-    "i18next": "^23.16.4",
-    "i18next-resources-to-backend": "^1.2.1",
+    "i18next": "^22.4.13",
+    "i18next-resources-to-backend": "^1.1.3",
     "immer": "^9.0.19",
     "js-audio-recorder": "^1.0.7",
-    "js-cookie": "^3.0.5",
-    "jsonschema": "^1.5.0",
+    "js-cookie": "^3.0.1",
     "jwt-decode": "^4.0.0",
     "katex": "^0.16.21",
-    "ky": "^1.7.2",
     "lamejs": "^1.2.1",
-    "lexical": "^0.30.0",
+    "lexical": "^0.16.0",
     "line-clamp": "^1.0.0",
     "lodash-es": "^4.17.21",
     "mermaid": "11.4.1",
     "mime": "^4.0.4",
-    "mitt": "^3.0.1",
     "negotiator": "^0.6.3",
-    "next": "15.2.3",
-    "next-themes": "^0.4.3",
-    "pinyin-pro": "^3.25.0",
-    "qrcode.react": "^4.2.0",
-    "qs": "^6.13.0",
-    "react": "19.0.0",
+    "next": "^14.2.10",
+    "pinyin-pro": "^3.23.0",
+    "qrcode.react": "^3.1.0",
+    "qs": "^6.11.1",
+    "rc-textarea": "^1.5.2",
+    "react": "~18.2.0",
     "react-18-input-autosize": "^3.0.0",
-    "react-dom": "19.0.0",
-    "react-easy-crop": "^5.1.0",
-    "react-error-boundary": "^4.1.2",
-    "react-headless-pagination": "^1.1.6",
-    "react-hook-form": "^7.53.1",
+    "react-dom": "~18.2.0",
+    "react-easy-crop": "^5.0.8",
+    "react-error-boundary": "^4.0.2",
+    "react-hook-form": "^7.51.4",
     "react-hotkeys-hook": "^4.6.1",
-    "react-i18next": "^15.1.0",
+    "react-i18next": "^12.2.0",
     "react-infinite-scroll-component": "^6.1.0",
-    "react-markdown": "^9.0.1",
-    "react-multi-email": "^1.0.25",
-    "react-papaparse": "^4.4.0",
+    "react-markdown": "^8.0.6",
+    "react-multi-email": "^1.0.14",
+    "react-papaparse": "^4.1.0",
     "react-pdf-highlighter": "^8.0.0-rc.0",
-    "react-slider": "^2.0.6",
+    "react-slider": "^2.0.4",
     "react-sortablejs": "^6.1.4",
-    "react-syntax-highlighter": "^15.6.1",
-    "react-textarea-autosize": "^8.5.8",
+    "react-syntax-highlighter": "^15.5.0",
     "react-tooltip": "5.8.3",
-    "react-window": "^1.8.10",
+    "react-window": "^1.8.9",
     "react-window-infinite-loader": "^1.0.9",
     "reactflow": "^11.11.3",
     "recordrtc": "^5.6.2",
-    "rehype-katex": "^7.0.1",
+    "rehype-katex": "^6.0.2",
     "rehype-raw": "^7.0.0",
-    "remark-breaks": "^4.0.0",
-    "remark-gfm": "^4.0.0",
-    "remark-math": "^6.0.0",
+    "remark-breaks": "^3.0.2",
+    "remark-gfm": "^3.0.1",
+    "remark-math": "^5.1.1",
     "scheduler": "^0.23.0",
-    "semver": "^7.6.3",
     "server-only": "^0.0.1",
     "sharp": "^0.33.2",
     "shave": "^5.0.4",
     "sortablejs": "^1.15.0",
-    "swr": "^2.3.0",
-    "tailwind-merge": "^2.5.4",
-    "use-context-selector": "^2.0.0",
-    "uuid": "^10.0.0",
-    "zod": "^3.23.8",
+    "swr": "^2.1.0",
+    "tailwind-merge": "^2.4.0",
+    "use-context-selector": "^1.4.1",
+    "uuid": "^9.0.1",
+    "zod": "^3.23.6",
     "zundo": "^2.1.0",
     "zustand": "^4.5.2"
   },
   "devDependencies": {
-    "@antfu/eslint-config": "^4.1.1",
-    "@chromatic-com/storybook": "^3.1.0",
-    "@eslint-react/eslint-plugin": "^1.15.0",
-    "@eslint/eslintrc": "^3.1.0",
-    "@eslint/js": "^9.20.0",
-    "@faker-js/faker": "^9.0.3",
-    "@happy-dom/jest-environment": "^17.4.4",
-    "@next/eslint-plugin-next": "^15.2.3",
+    "@antfu/eslint-config": "^0.36.0",
+    "@chromatic-com/storybook": "^1.9.0",
+    "@faker-js/faker": "^7.6.0",
     "@rgrove/parse-xml": "^4.1.0",
-    "@storybook/addon-essentials": "8.5.0",
-    "@storybook/addon-interactions": "8.5.0",
-    "@storybook/addon-links": "8.5.0",
-    "@storybook/addon-onboarding": "8.5.0",
-    "@storybook/addon-themes": "8.5.0",
-    "@storybook/blocks": "8.5.0",
-    "@storybook/nextjs": "8.5.0",
-    "@storybook/react": "8.5.0",
-    "@storybook/test": "8.5.0",
-    "@testing-library/dom": "^10.4.0",
-    "@testing-library/jest-dom": "^6.6.2",
-    "@testing-library/react": "^16.0.1",
-    "@types/crypto-js": "^4.2.2",
+    "@storybook/addon-essentials": "^8.3.5",
+    "@storybook/addon-interactions": "^8.3.5",
+    "@storybook/addon-links": "^8.3.5",
+    "@storybook/addon-onboarding": "^8.3.5",
+    "@storybook/addon-themes": "^8.3.5",
+    "@storybook/blocks": "^8.3.5",
+    "@storybook/nextjs": "^8.3.5",
+    "@storybook/react": "^8.3.5",
+    "@storybook/test": "^8.3.5",
+    "@testing-library/dom": "^10.3.2",
+    "@testing-library/jest-dom": "^6.4.6",
+    "@testing-library/react": "^16.0.0",
+    "@types/crypto-js": "^4.1.1",
     "@types/dagre": "^0.7.52",
-    "@types/jest": "^29.5.13",
-    "@types/js-cookie": "^3.0.6",
-    "@types/lodash-es": "^4.17.12",
-    "@types/negotiator": "^0.6.3",
+    "@types/jest": "^29.5.12",
+    "@types/js-cookie": "^3.0.3",
+    "@types/lodash-es": "^4.17.7",
+    "@types/negotiator": "^0.6.1",
     "@types/node": "18.15.0",
-    "@types/qs": "^6.9.16",
-    "@types/react": "19.0.11",
-    "@types/react-dom": "19.0.4",
-    "@types/react-slider": "^1.3.6",
-    "@types/react-syntax-highlighter": "^15.5.13",
-    "@types/react-window": "^1.8.8",
-    "@types/react-window-infinite-loader": "^1.0.9",
-    "@types/recordrtc": "^5.6.14",
-    "@types/semver": "^7.5.8",
+    "@types/qs": "^6.9.7",
+    "@types/react": "~18.2.0",
+    "@types/react-dom": "~18.2.0",
+    "@types/react-slider": "^1.3.1",
+    "@types/react-syntax-highlighter": "^15.5.6",
+    "@types/react-window": "^1.8.5",
+    "@types/react-window-infinite-loader": "^1.0.6",
+    "@types/recordrtc": "^5.6.11",
     "@types/sortablejs": "^1.15.1",
-    "@types/uuid": "^10.0.0",
-    "autoprefixer": "^10.4.20",
+    "@types/uuid": "^9.0.8",
+    "autoprefixer": "^10.4.14",
     "bing-translate-api": "^4.0.2",
     "code-inspector-plugin": "^0.18.1",
     "cross-env": "^7.0.3",
-    "eslint": "^9.20.1",
-    "eslint-config-next": "^15.0.0",
-    "eslint-plugin-react-hooks": "^5.1.0",
-    "eslint-plugin-react-refresh": "^0.4.19",
-    "eslint-plugin-sonarjs": "^3.0.2",
-    "eslint-plugin-storybook": "^0.11.2",
-    "eslint-plugin-tailwindcss": "^3.18.0",
-    "husky": "^9.1.6",
+    "eslint": "^8.36.0",
+    "eslint-config-next": "^14.0.4",
+    "eslint-plugin-storybook": "^0.9.0",
+    "husky": "^8.0.3",
     "jest": "^29.7.0",
-    "lint-staged": "^15.2.10",
-    "lodash": "^4.17.21",
+    "jest-environment-jsdom": "^29.7.0",
+    "lint-staged": "^13.2.2",
     "magicast": "^0.3.4",
-    "postcss": "^8.4.47",
-    "sass": "^1.80.3",
-    "storybook": "8.5.0",
-    "tailwindcss": "^3.4.14",
+    "postcss": "^8.4.31",
+    "sass": "^1.61.0",
+    "storybook": "^8.3.5",
+    "tailwindcss": "^3.4.4",
     "ts-node": "^10.9.2",
     "typescript": "4.9.5",
-    "typescript-eslint": "^8.23.0",
-    "uglify-js": "^3.19.3"
+    "uglify-js": "^3.17.4"
   },
   "resolutions": {
     "@types/react": "~18.2.0",
@@ -215,15 +180,5 @@
     "**/*.ts?(x)": [
       "eslint --fix"
     ]
-  },
-  "overrides": {
-    "@types/react": "19.0.11",
-    "@types/react-dom": "19.0.4",
-    "@storybook/test": "8.5.0"
-  },
-  "pnpm": {
-    "overrides": {
-      "esbuild@<0.25.0": "0.25.0"
-    }
   }
 }
diff --git a/public/embed.js b/public/embed.js
index 1efa541..3c2735b 100644
--- a/public/embed.js
+++ b/public/embed.js
@@ -12,68 +12,19 @@
   const buttonId = "dify-chatbot-bubble-button";
   const iframeId = "dify-chatbot-bubble-window";
   const config = window[configKey];
-  let isExpanded = false;
 
   // SVG icons for open and close states
-  const svgIcons = `<svg id="openIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+  const svgIcons = {
+    open: `<svg id="openIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
       <path fill-rule="evenodd" clip-rule="evenodd" d="M7.7586 2L16.2412 2C17.0462 1.99999 17.7105 1.99998 18.2517 2.04419C18.8138 2.09012 19.3305 2.18868 19.8159 2.43598C20.5685 2.81947 21.1804 3.43139 21.5639 4.18404C21.8112 4.66937 21.9098 5.18608 21.9557 5.74818C21.9999 6.28937 21.9999 6.95373 21.9999 7.7587L22 14.1376C22.0004 14.933 22.0007 15.5236 21.8636 16.0353C21.4937 17.4156 20.4155 18.4938 19.0352 18.8637C18.7277 18.9461 18.3917 18.9789 17.9999 18.9918L17.9999 20.371C18 20.6062 18 20.846 17.9822 21.0425C17.9651 21.2305 17.9199 21.5852 17.6722 21.8955C17.3872 22.2525 16.9551 22.4602 16.4983 22.4597C16.1013 22.4593 15.7961 22.273 15.6386 22.1689C15.474 22.06 15.2868 21.9102 15.1031 21.7632L12.69 19.8327C12.1714 19.4178 12.0174 19.3007 11.8575 19.219C11.697 19.137 11.5262 19.0771 11.3496 19.0408C11.1737 19.0047 10.9803 19 10.3162 19H7.75858C6.95362 19 6.28927 19 5.74808 18.9558C5.18598 18.9099 4.66928 18.8113 4.18394 18.564C3.43129 18.1805 2.81937 17.5686 2.43588 16.816C2.18859 16.3306 2.09002 15.8139 2.0441 15.2518C1.99988 14.7106 1.99989 14.0463 1.9999 13.2413V7.75868C1.99989 6.95372 1.99988 6.28936 2.0441 5.74818C2.09002 5.18608 2.18859 4.66937 2.43588 4.18404C2.81937 3.43139 3.43129 2.81947 4.18394 2.43598C4.66928 2.18868 5.18598 2.09012 5.74808 2.04419C6.28927 1.99998 6.95364 1.99999 7.7586 2ZM10.5073 7.5C10.5073 6.67157 9.83575 6 9.00732 6C8.1789 6 7.50732 6.67157 7.50732 7.5C7.50732 8.32843 8.1789 9 9.00732 9C9.83575 9 10.5073 8.32843 10.5073 7.5ZM16.6073 11.7001C16.1669 11.3697 15.5426 11.4577 15.2105 11.8959C15.1488 11.9746 15.081 12.0486 15.0119 12.1207C14.8646 12.2744 14.6432 12.4829 14.3566 12.6913C13.7796 13.111 12.9818 13.5001 12.0073 13.5001C11.0328 13.5001 10.235 13.111 9.65799 12.6913C9.37138 12.4829 9.15004 12.2744 9.00274 12.1207C8.93366 12.0486 8.86581 11.9745 8.80418 11.8959C8.472 11.4577 7.84775 11.3697 7.40732 11.7001C6.96549 12.0314 6.87595 12.6582 7.20732 13.1001C7.20479 13.0968 7.21072 13.1043 7.22094 13.1171C7.24532 13.1478 7.29407 13.2091 7.31068 13.2289C7.36932 13.2987 7.45232 13.3934 7.55877 13.5045C7.77084 13.7258 8.08075 14.0172 8.48165 14.3088C9.27958 14.8891 10.4818 15.5001 12.0073 15.5001C13.5328 15.5001 14.735 14.8891 15.533 14.3088C15.9339 14.0172 16.2438 13.7258 16.4559 13.5045C16.5623 13.3934 16.6453 13.2987 16.704 13.2289C16.7333 13.1939 16.7567 13.165 16.7739 13.1432C17.1193 12.6969 17.0729 12.0493 16.6073 11.7001ZM15.0073 6C15.8358 6 16.5073 6.67157 16.5073 7.5C16.5073 8.32843 15.8358 9 15.0073 9C14.1789 9 13.5073 8.32843 13.5073 7.5C13.5073 6.67157 14.1789 6 15.0073 6Z" fill="white"/>
-    </svg>
-    <svg id="closeIcon" style="display:none" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+    </svg>`,
+    close: `<svg id="closeIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
       <path d="M18 18L6 6M6 18L18 6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
-    </svg>
-    `;
-
-
-  const originalIframeStyleText = `
-    position: absolute;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    top: unset;
-    right: var(--${buttonId}-right, 1rem); /* Align with dify-chatbot-bubble-button. */
-    bottom: var(--${buttonId}-bottom, 1rem); /* Align with dify-chatbot-bubble-button. */
-    left: unset;
-    width: 24rem;
-    max-width: calc(100vw - 2rem);
-    height: 43.75rem;
-    max-height: calc(100vh - 6rem);
-    border: none;
-    z-index: 2147483640;
-    overflow: hidden;
-    user-select: none;
-    transition-property: width, height;
-    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
-    transition-duration: 150ms;
-  `
-
-  const expandedIframeStyleText = `
-    position: absolute;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    top: unset;
-    right: var(--${buttonId}-right, 1rem); /* Align with dify-chatbot-bubble-button. */
-    bottom: var(--${buttonId}-bottom, 1rem); /* Align with dify-chatbot-bubble-button. */
-    left: unset;
-    min-width: 24rem;
-    width: 48%;
-    max-width: 40rem; /* Match mobile breakpoint*/
-    min-height: 43.75rem;
-    height: 88%;
-    max-height: calc(100vh - 6rem);
-    border: none;
-    z-index: 2147483640;
-    overflow: hidden;
-    user-select: none;
-    transition-property: width, height;
-    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
-    transition-duration: 150ms;
-  `
+    </svg>`
+  };
 
   // Main function to embed the chatbot
   async function embedChatbot() {
-    let isDragging = false
-
     if (!config || !config.token) {
       console.error(`${configKey} is empty or token is not provided`);
       return;
@@ -82,9 +33,7 @@
     async function compressAndEncodeBase64(input) {
       const uint8Array = new TextEncoder().encode(input);
       const compressedStream = new Response(
-        new Blob([uint8Array])
-          .stream()
-          .pipeThrough(new CompressionStream("gzip"))
+          new Blob([uint8Array]).stream().pipeThrough(new CompressionStream('gzip'))
       ).arrayBuffer();
       const compressedUint8Array = new Uint8Array(await compressedStream);
       return btoa(String.fromCharCode(...compressedUint8Array));
@@ -101,36 +50,14 @@
       return compressedInputs;
     }
 
-    async function getCompressedSystemVariablesFromConfig() {
-      const systemVariables = config?.systemVariables || {};
-      const compressedSystemVariables = {};
-      await Promise.all(
-        Object.entries(systemVariables).map(async ([key, value]) => {
-          compressedSystemVariables[`sys.${key}`] = await compressAndEncodeBase64(value);
-        })
-      );
-      return compressedSystemVariables;
-    }
-
-    const params = new URLSearchParams({
-      ...await getCompressedInputsFromConfig(),
-      ...await getCompressedSystemVariablesFromConfig()
-    });
+    const params = new URLSearchParams(await getCompressedInputsFromConfig());
 
     const baseUrl =
       config.baseUrl || `https://${config.isDev ? "dev." : ""}udify.app`;
-    const targetOrigin = new URL(baseUrl).origin;
 
     // pre-check the length of the URL
     const iframeUrl = `${baseUrl}/chatbot/${config.token}?${params}`;
-    // 1) CREATE the iframe immediately, so it can load in the background:
-    const preloadedIframe = createIframe();
-    // 2) HIDE it by default:
-    preloadedIframe.style.display = "none";
-    // 3) APPEND it to the document body right away:
-    document.body.appendChild(preloadedIframe);
-    // 鈹�鈹�鈹� End Fix Snippet
-    if (iframeUrl.length > 2048) {
+    if(iframeUrl.length > 2048) {
       console.error("The URL is too long, please reduce the number of inputs to prevent the bot from failing to load");
     }
 
@@ -141,82 +68,50 @@
       iframe.title = "dify chatbot bubble window";
       iframe.id = iframeId;
       iframe.src = iframeUrl;
-      iframe.style.cssText = originalIframeStyleText;
+      iframe.style.cssText = `
+        border: none; position: absolute; flex-direction: column; justify-content: space-between;
+        box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
+        bottom: 55px; right: 0; width: 24rem; max-width: calc(100vw - 2rem); height: 40rem;
+        max-height: calc(100vh - 6rem); border-radius: 0.75rem; display: flex; z-index: 2147483647;
+        overflow: hidden; left: unset; background-color: #F3F4F6;user-select: none;
+      `;
 
       return iframe;
     }
 
     // Function to reset the iframe position
     function resetIframePosition() {
-      if (window.innerWidth <= 640) return;
+      if (window.innerWidth <= 640)
+        return
 
       const targetIframe = document.getElementById(iframeId);
       const targetButton = document.getElementById(buttonId);
       if (targetIframe && targetButton) {
         const buttonRect = targetButton.getBoundingClientRect();
-        // We don't necessarily need iframeRect anymore with the center logic
 
-        const viewportCenterY = window.innerHeight / 2;
-        const buttonCenterY = buttonRect.top + buttonRect.height / 2;
+        const buttonInBottom = buttonRect.top - 5 > targetIframe.clientHeight
 
-        if (buttonCenterY < viewportCenterY) {
-          targetIframe.style.top = `var(--${buttonId}-bottom, 1rem)`;
-          targetIframe.style.bottom = 'unset';
-        } else {
-          targetIframe.style.bottom = `var(--${buttonId}-bottom, 1rem)`;
+        if (buttonInBottom) {
+          targetIframe.style.bottom = `${buttonRect.height + 5}px`;
           targetIframe.style.top = 'unset';
         }
+        else {
+          targetIframe.style.bottom = 'unset';
+          targetIframe.style.top = `${buttonRect.height + 5}px`;
+        }
 
-        const viewportCenterX = window.innerWidth / 2;
-        const buttonCenterX = buttonRect.left + buttonRect.width / 2;
+        const buttonInRight = buttonRect.right > targetIframe.clientWidth;
 
-        if (buttonCenterX < viewportCenterX) {
-          targetIframe.style.left = `var(--${buttonId}-right, 1rem)`;
-          targetIframe.style.right = 'unset';
-        } else {
-          targetIframe.style.right = `var(--${buttonId}-right, 1rem)`;
+        if (buttonInRight) {
+          targetIframe.style.right = '0';
           targetIframe.style.left = 'unset';
+        }
+        else {
+          targetIframe.style.right = 'unset';
+          targetIframe.style.left = 0;
         }
       }
     }
-
-    function toggleExpand() {
-      isExpanded = !isExpanded;
-
-      const targetIframe = document.getElementById(iframeId);
-      if (!targetIframe) return;
-
-      if (isExpanded) {
-        targetIframe.style.cssText = expandedIframeStyleText;
-      } else {
-        targetIframe.style.cssText = originalIframeStyleText;
-      }
-      resetIframePosition();
-    }
-
-    window.addEventListener('message', (event) => {
-      if (event.origin !== targetOrigin) return;
-
-      const targetIframe = document.getElementById(iframeId);
-      if (!targetIframe || event.source !== targetIframe.contentWindow) return;
-
-      if (event.data.type === 'dify-chatbot-iframe-ready') {
-        targetIframe.contentWindow?.postMessage(
-          {
-            type: 'dify-chatbot-config',
-            payload: {
-              isToggledByButton: true,
-              isDraggable: !!config.draggable,
-            },
-          },
-          targetOrigin
-        );
-      }
-
-      if (event.data.type === 'dify-chatbot-expand-change') {
-        toggleExpand();
-      }
-    });
 
     // Function to create the chat button
     function createButton() {
@@ -253,8 +148,8 @@
           right: var(--${containerDiv.id}-right, 1rem);
           left: var(--${containerDiv.id}-left, unset);
           top: var(--${containerDiv.id}-top, unset);
-          width: var(--${containerDiv.id}-width, 48px);
-          height: var(--${containerDiv.id}-height, 48px);
+          width: var(--${containerDiv.id}-width, 50px);
+          height: var(--${containerDiv.id}-height, 50px);
           border-radius: var(--${containerDiv.id}-border-radius, 25px);
           background-color: var(--${containerDiv.id}-bg-color, #155EEF);
           box-shadow: var(--${containerDiv.id}-box-shadow, rgba(0, 0, 0, 0.2) 0px 4px 8px 0px);
@@ -266,45 +161,34 @@
       // Create display div for the button icon
       const displayDiv = document.createElement("div");
       displayDiv.style.cssText =
-        "position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; z-index: 2147483647;";
-      displayDiv.innerHTML = svgIcons;
+        "display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; z-index: 2147483647;";
+      displayDiv.innerHTML = svgIcons.open;
       containerDiv.appendChild(displayDiv);
       document.body.appendChild(containerDiv);
 
       // Add click event listener to toggle chatbot
-      containerDiv.addEventListener("click", handleClick);
-      // Add touch event listener
-      containerDiv.addEventListener("touchend", (event) => {
-        event.preventDefault();
-        handleClick();
-      }, { passive: false });
-
-      function handleClick() {
-        if (isDragging) return;
-
+      containerDiv.addEventListener("click", function () {
         const targetIframe = document.getElementById(iframeId);
         if (!targetIframe) {
           containerDiv.appendChild(createIframe());
           resetIframePosition();
           this.title = "Exit (ESC)";
-          setSvgIcon("close");
-          document.addEventListener("keydown", handleEscKey);
+          displayDiv.innerHTML = svgIcons.close;
+          document.addEventListener('keydown', handleEscKey);
           return;
         }
-        targetIframe.style.display =
-          targetIframe.style.display === "none" ? "block" : "none";
-        targetIframe.style.display === "none"
-          ? setSvgIcon("open")
-          : setSvgIcon("close");
+        targetIframe.style.display = targetIframe.style.display === "none" ? "block" : "none";
+        displayDiv.innerHTML = targetIframe.style.display === "none" ? svgIcons.open : svgIcons.close;
 
         if (targetIframe.style.display === "none") {
-          document.removeEventListener("keydown", handleEscKey);
+          document.removeEventListener('keydown', handleEscKey);
         } else {
-          document.addEventListener("keydown", handleEscKey);
+          document.addEventListener('keydown', handleEscKey);
         }
 
+
         resetIframePosition();
-      }
+      });
 
       // Enable dragging if specified in config
       if (config.draggable) {
@@ -314,41 +198,20 @@
 
     // Function to enable dragging of the chat button
     function enableDragging(element, axis) {
-      let startX, startY, startClientX, startClientY;
+      let isDragging = false;
+      let startX, startY;
 
       element.addEventListener("mousedown", startDragging);
-      element.addEventListener("touchstart", startDragging);
+      document.addEventListener("mousemove", drag);
+      document.addEventListener("mouseup", stopDragging);
 
       function startDragging(e) {
-        isDragging = false;
-        if (e.type === "touchstart") {
-          startX = e.touches[0].clientX - element.offsetLeft;
-          startY = e.touches[0].clientY - element.offsetTop;
-          startClientX = e.touches[0].clientX;
-          startClientY = e.touches[0].clientY;
-        } else {
-          startX = e.clientX - element.offsetLeft;
-          startY = e.clientY - element.offsetTop;
-          startClientX = e.clientX;
-          startClientY = e.clientY;
-        }
-        document.addEventListener("mousemove", drag);
-        document.addEventListener("touchmove", drag, { passive: false });
-        document.addEventListener("mouseup", stopDragging);
-        document.addEventListener("touchend", stopDragging);
-        e.preventDefault();
+        isDragging = true;
+        startX = e.clientX - element.offsetLeft;
+        startY = e.clientY - element.offsetTop;
       }
 
       function drag(e) {
-        const touch = e.type === "touchmove" ? e.touches[0] : e;
-        const deltaX = touch.clientX - startClientX;
-        const deltaY = touch.clientY - startClientY;
-
-        // Determine whether it is a drag operation
-        if (Math.abs(deltaX) > 8 || Math.abs(deltaY) > 8) {
-          isDragging = true;
-        }
-
         if (!isDragging) return;
 
         element.style.transition = "none";
@@ -358,17 +221,11 @@
         const targetIframe = document.getElementById(iframeId);
         if (targetIframe) {
           targetIframe.style.display = "none";
-          setSvgIcon("open");
+          element.querySelector("div").innerHTML = svgIcons.open;
         }
 
-        let newLeft, newBottom;
-        if (e.type === "touchmove") {
-          newLeft = e.touches[0].clientX - startX;
-          newBottom = window.innerHeight - e.touches[0].clientY - startY;
-        } else {
-          newLeft = e.clientX - startX;
-          newBottom = window.innerHeight - e.clientY - startY;
-        }
+        const newLeft = e.clientX - startX;
+        const newBottom = window.innerHeight - e.clientY - startY;
 
         const elementRect = element.getBoundingClientRect();
         const maxX = window.innerWidth - elementRect.width;
@@ -391,16 +248,9 @@
       }
 
       function stopDragging() {
-        setTimeout(() => {
-          isDragging = false;
-        }, 0);
+        isDragging = false;
         element.style.transition = "";
         element.style.cursor = "pointer";
-
-        document.removeEventListener("mousemove", drag);
-        document.removeEventListener("touchmove", drag);
-        document.removeEventListener("mouseup", stopDragging);
-        document.removeEventListener("touchend", stopDragging);
       }
     }
 
@@ -410,27 +260,18 @@
     }
   }
 
-  function setSvgIcon(type = "open") {
-    if (type === "open") {
-      document.getElementById("openIcon").style.display = "block";
-      document.getElementById("closeIcon").style.display = "none";
-    } else {
-      document.getElementById("openIcon").style.display = "none";
-      document.getElementById("closeIcon").style.display = "block";
-    }
-  }
-
   // Add esc Exit keyboard event triggered
   function handleEscKey(event) {
-    if (event.key === "Escape") {
+    if (event.key === 'Escape') {
       const targetIframe = document.getElementById(iframeId);
-      if (targetIframe && targetIframe.style.display !== "none") {
-        targetIframe.style.display = "none";
-        setSvgIcon("open");
+      const button = document.getElementById(buttonId);
+      if (targetIframe && targetIframe.style.display !== 'none') {
+        targetIframe.style.display = 'none';
+        button.querySelector('div').innerHTML = svgIcons.open;
       }
     }
   }
-  document.addEventListener("keydown", handleEscKey);
+  document.addEventListener('keydown', handleEscKey);
 
   // Set the embedChatbot function to run when the body is loaded,Avoid infinite nesting
   if (config?.dynamicScript) {
@@ -438,4 +279,4 @@
   } else {
     document.body.onload = embedChatbot;
   }
-})();
+})();
\ No newline at end of file
diff --git a/public/embed.min.js b/public/embed.min.js
index b2781ee..eb20858 100644
--- a/public/embed.min.js
+++ b/public/embed.min.js
@@ -1,42 +1,26 @@
-(()=>{let t="difyChatbotConfig",h="dify-chatbot-bubble-button",m="dify-chatbot-bubble-window",y=window[t],a=!1,l=`
-    position: absolute;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    top: unset;
-    right: var(--${h}-right, 1rem); /* Align with dify-chatbot-bubble-button. */
-    bottom: var(--${h}-bottom, 1rem); /* Align with dify-chatbot-bubble-button. */
-    left: unset;
-    width: 24rem;
-    max-width: calc(100vw - 2rem);
-    height: 43.75rem;
-    max-height: calc(100vh - 6rem);
-    border: none;
-    z-index: 2147483640;
-    overflow: hidden;
-    user-select: none;
-    transition-property: width, height;
-    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
-    transition-duration: 150ms;
-  `;async function e(){let u=!1;if(y&&y.token){var e=new URLSearchParams({...await(async()=>{var e=y?.inputs||{};let n={};return await Promise.all(Object.entries(e).map(async([e,t])=>{n[e]=await i(t)})),n})(),...await(async()=>{var e=y?.systemVariables||{};let n={};return await Promise.all(Object.entries(e).map(async([e,t])=>{n["sys."+e]=await i(t)})),n})()}),n=y.baseUrl||`https://${y.isDev?"dev.":""}udify.app`;let o=new URL(n).origin,t=`${n}/chatbot/${y.token}?`+e;n=s();async function i(e){e=(new TextEncoder).encode(e),e=new Response(new Blob([e]).stream().pipeThrough(new CompressionStream("gzip"))).arrayBuffer(),e=new Uint8Array(await e);return btoa(String.fromCharCode(...e))}function s(){var e=document.createElement("iframe");return e.allow="fullscreen;microphone",e.title="dify chatbot bubble window",e.id=m,e.src=t,e.style.cssText=l,e}function d(){var e,t,n;window.innerWidth<=640||(e=document.getElementById(m),t=document.getElementById(h),e&&t&&(t=t.getBoundingClientRect(),n=window.innerHeight/2,t.top+t.height/2<n?(e.style.top=`var(--${h}-bottom, 1rem)`,e.style.bottom="unset"):(e.style.bottom=`var(--${h}-bottom, 1rem)`,e.style.top="unset"),t.left+t.width/2<window.innerWidth/2?(e.style.left=`var(--${h}-right, 1rem)`,e.style.right="unset"):(e.style.right=`var(--${h}-right, 1rem)`,e.style.left="unset")))}function r(){let n=document.createElement("div");Object.entries(y.containerProps||{}).forEach(([e,t])=>{"className"===e?n.classList.add(...t.split(" ")):"style"===e?"object"==typeof t?Object.assign(n.style,t):n.style.cssText=t:"function"==typeof t?n.addEventListener(e.replace(/^on/,"").toLowerCase(),t):n[e]=t}),n.id=h;var e=document.createElement("style"),e=(document.head.appendChild(e),e.sheet.insertRule(`
+!function(){const n="difyChatbotConfig",a="dify-chatbot-bubble-button",c="dify-chatbot-bubble-window",p=window[n],h={open:`<svg id="openIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+      <path fill-rule="evenodd" clip-rule="evenodd" d="M7.7586 2L16.2412 2C17.0462 1.99999 17.7105 1.99998 18.2517 2.04419C18.8138 2.09012 19.3305 2.18868 19.8159 2.43598C20.5685 2.81947 21.1804 3.43139 21.5639 4.18404C21.8112 4.66937 21.9098 5.18608 21.9557 5.74818C21.9999 6.28937 21.9999 6.95373 21.9999 7.7587L22 14.1376C22.0004 14.933 22.0007 15.5236 21.8636 16.0353C21.4937 17.4156 20.4155 18.4938 19.0352 18.8637C18.7277 18.9461 18.3917 18.9789 17.9999 18.9918L17.9999 20.371C18 20.6062 18 20.846 17.9822 21.0425C17.9651 21.2305 17.9199 21.5852 17.6722 21.8955C17.3872 22.2525 16.9551 22.4602 16.4983 22.4597C16.1013 22.4593 15.7961 22.273 15.6386 22.1689C15.474 22.06 15.2868 21.9102 15.1031 21.7632L12.69 19.8327C12.1714 19.4178 12.0174 19.3007 11.8575 19.219C11.697 19.137 11.5262 19.0771 11.3496 19.0408C11.1737 19.0047 10.9803 19 10.3162 19H7.75858C6.95362 19 6.28927 19 5.74808 18.9558C5.18598 18.9099 4.66928 18.8113 4.18394 18.564C3.43129 18.1805 2.81937 17.5686 2.43588 16.816C2.18859 16.3306 2.09002 15.8139 2.0441 15.2518C1.99988 14.7106 1.99989 14.0463 1.9999 13.2413V7.75868C1.99989 6.95372 1.99988 6.28936 2.0441 5.74818C2.09002 5.18608 2.18859 4.66937 2.43588 4.18404C2.81937 3.43139 3.43129 2.81947 4.18394 2.43598C4.66928 2.18868 5.18598 2.09012 5.74808 2.04419C6.28927 1.99998 6.95364 1.99999 7.7586 2ZM10.5073 7.5C10.5073 6.67157 9.83575 6 9.00732 6C8.1789 6 7.50732 6.67157 7.50732 7.5C7.50732 8.32843 8.1789 9 9.00732 9C9.83575 9 10.5073 8.32843 10.5073 7.5ZM16.6073 11.7001C16.1669 11.3697 15.5426 11.4577 15.2105 11.8959C15.1488 11.9746 15.081 12.0486 15.0119 12.1207C14.8646 12.2744 14.6432 12.4829 14.3566 12.6913C13.7796 13.111 12.9818 13.5001 12.0073 13.5001C11.0328 13.5001 10.235 13.111 9.65799 12.6913C9.37138 12.4829 9.15004 12.2744 9.00274 12.1207C8.93366 12.0486 8.86581 11.9745 8.80418 11.8959C8.472 11.4577 7.84775 11.3697 7.40732 11.7001C6.96549 12.0314 6.87595 12.6582 7.20732 13.1001C7.20479 13.0968 7.21072 13.1043 7.22094 13.1171C7.24532 13.1478 7.29407 13.2091 7.31068 13.2289C7.36932 13.2987 7.45232 13.3934 7.55877 13.5045C7.77084 13.7258 8.08075 14.0172 8.48165 14.3088C9.27958 14.8891 10.4818 15.5001 12.0073 15.5001C13.5328 15.5001 14.735 14.8891 15.533 14.3088C15.9339 14.0172 16.2438 13.7258 16.4559 13.5045C16.5623 13.3934 16.6453 13.2987 16.704 13.2289C16.7333 13.1939 16.7567 13.165 16.7739 13.1432C17.1193 12.6969 17.0729 12.0493 16.6073 11.7001ZM15.0073 6C15.8358 6 16.5073 6.67157 16.5073 7.5C16.5073 8.32843 15.8358 9 15.0073 9C14.1789 9 13.5073 8.32843 13.5073 7.5C13.5073 6.67157 14.1789 6 15.0073 6Z" fill="white"/>
+    </svg>`,close:`<svg id="closeIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+      <path d="M18 18L6 6M6 18L18 6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+    </svg>`};async function e(){if(p&&p.token){var e=new URLSearchParams(await async function(){var e=p?.inputs||{};const n={};return await Promise.all(Object.entries(e).map(async([e,t])=>{n[e]=(e=t,e=(new TextEncoder).encode(e),e=new Response(new Blob([e]).stream().pipeThrough(new CompressionStream("gzip"))).arrayBuffer(),e=new Uint8Array(await e),await btoa(String.fromCharCode(...e)))})),n}());const i=`${p.baseUrl||`https://${p.isDev?"dev.":""}udify.app`}/chatbot/${p.token}?`+e;function o(){var e,t;window.innerWidth<=640||(e=document.getElementById(c),t=document.getElementById(a),e&&t&&((t=t.getBoundingClientRect()).top-5>e.clientHeight?(e.style.bottom=t.height+5+"px",e.style.top="unset"):(e.style.bottom="unset",e.style.top=t.height+5+"px"),t.right>e.clientWidth?(e.style.right="0",e.style.left="unset"):(e.style.right="unset",e.style.left=0)))}function t(){const n=document.createElement("div");Object.entries(p.containerProps||{}).forEach(([e,t])=>{"className"===e?n.classList.add(...t.split(" ")):"style"===e?"object"==typeof t?Object.assign(n.style,t):n.style.cssText=t:"function"==typeof t?n.addEventListener(e.replace(/^on/,"").toLowerCase(),t):n[e]=t}),n.id=a;var e=document.createElement("style");document.head.appendChild(e),e.sheet.insertRule(`
         #${n.id} {
           position: fixed;
           bottom: var(--${n.id}-bottom, 1rem);
           right: var(--${n.id}-right, 1rem);
           left: var(--${n.id}-left, unset);
           top: var(--${n.id}-top, unset);
-          width: var(--${n.id}-width, 48px);
-          height: var(--${n.id}-height, 48px);
+          width: var(--${n.id}-width, 50px);
+          height: var(--${n.id}-height, 50px);
           border-radius: var(--${n.id}-border-radius, 25px);
           background-color: var(--${n.id}-bg-color, #155EEF);
           box-shadow: var(--${n.id}-box-shadow, rgba(0, 0, 0, 0.2) 0px 4px 8px 0px);
           cursor: pointer;
           z-index: 2147483647;
         }
-      `),document.createElement("div"));function t(){var e;u||((e=document.getElementById(m))?(e.style.display="none"===e.style.display?"block":"none","none"===e.style.display?p("open"):p("close"),"none"===e.style.display?document.removeEventListener("keydown",b):document.addEventListener("keydown",b),d()):(n.appendChild(s()),d(),this.title="Exit (ESC)",p("close"),document.addEventListener("keydown",b)))}if(e.style.cssText="position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; z-index: 2147483647;",e.innerHTML=`<svg id="openIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-      <path fill-rule="evenodd" clip-rule="evenodd" d="M7.7586 2L16.2412 2C17.0462 1.99999 17.7105 1.99998 18.2517 2.04419C18.8138 2.09012 19.3305 2.18868 19.8159 2.43598C20.5685 2.81947 21.1804 3.43139 21.5639 4.18404C21.8112 4.66937 21.9098 5.18608 21.9557 5.74818C21.9999 6.28937 21.9999 6.95373 21.9999 7.7587L22 14.1376C22.0004 14.933 22.0007 15.5236 21.8636 16.0353C21.4937 17.4156 20.4155 18.4938 19.0352 18.8637C18.7277 18.9461 18.3917 18.9789 17.9999 18.9918L17.9999 20.371C18 20.6062 18 20.846 17.9822 21.0425C17.9651 21.2305 17.9199 21.5852 17.6722 21.8955C17.3872 22.2525 16.9551 22.4602 16.4983 22.4597C16.1013 22.4593 15.7961 22.273 15.6386 22.1689C15.474 22.06 15.2868 21.9102 15.1031 21.7632L12.69 19.8327C12.1714 19.4178 12.0174 19.3007 11.8575 19.219C11.697 19.137 11.5262 19.0771 11.3496 19.0408C11.1737 19.0047 10.9803 19 10.3162 19H7.75858C6.95362 19 6.28927 19 5.74808 18.9558C5.18598 18.9099 4.66928 18.8113 4.18394 18.564C3.43129 18.1805 2.81937 17.5686 2.43588 16.816C2.18859 16.3306 2.09002 15.8139 2.0441 15.2518C1.99988 14.7106 1.99989 14.0463 1.9999 13.2413V7.75868C1.99989 6.95372 1.99988 6.28936 2.0441 5.74818C2.09002 5.18608 2.18859 4.66937 2.43588 4.18404C2.81937 3.43139 3.43129 2.81947 4.18394 2.43598C4.66928 2.18868 5.18598 2.09012 5.74808 2.04419C6.28927 1.99998 6.95364 1.99999 7.7586 2ZM10.5073 7.5C10.5073 6.67157 9.83575 6 9.00732 6C8.1789 6 7.50732 6.67157 7.50732 7.5C7.50732 8.32843 8.1789 9 9.00732 9C9.83575 9 10.5073 8.32843 10.5073 7.5ZM16.6073 11.7001C16.1669 11.3697 15.5426 11.4577 15.2105 11.8959C15.1488 11.9746 15.081 12.0486 15.0119 12.1207C14.8646 12.2744 14.6432 12.4829 14.3566 12.6913C13.7796 13.111 12.9818 13.5001 12.0073 13.5001C11.0328 13.5001 10.235 13.111 9.65799 12.6913C9.37138 12.4829 9.15004 12.2744 9.00274 12.1207C8.93366 12.0486 8.86581 11.9745 8.80418 11.8959C8.472 11.4577 7.84775 11.3697 7.40732 11.7001C6.96549 12.0314 6.87595 12.6582 7.20732 13.1001C7.20479 13.0968 7.21072 13.1043 7.22094 13.1171C7.24532 13.1478 7.29407 13.2091 7.31068 13.2289C7.36932 13.2987 7.45232 13.3934 7.55877 13.5045C7.77084 13.7258 8.08075 14.0172 8.48165 14.3088C9.27958 14.8891 10.4818 15.5001 12.0073 15.5001C13.5328 15.5001 14.735 14.8891 15.533 14.3088C15.9339 14.0172 16.2438 13.7258 16.4559 13.5045C16.5623 13.3934 16.6453 13.2987 16.704 13.2289C16.7333 13.1939 16.7567 13.165 16.7739 13.1432C17.1193 12.6969 17.0729 12.0493 16.6073 11.7001ZM15.0073 6C15.8358 6 16.5073 6.67157 16.5073 7.5C16.5073 8.32843 15.8358 9 15.0073 9C14.1789 9 13.5073 8.32843 13.5073 7.5C13.5073 6.67157 14.1789 6 15.0073 6Z" fill="white"/>
-    </svg>
-    <svg id="closeIcon" style="display:none" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-      <path d="M18 18L6 6M6 18L18 6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
-    </svg>
-    `,n.appendChild(e),document.body.appendChild(n),n.addEventListener("click",t),n.addEventListener("touchend",e=>{e.preventDefault(),t()},{passive:!1}),y.draggable){var a=n;var l=y.dragAxis||"both";let s,d,t,r;function o(e){u=!1,r=("touchstart"===e.type?(s=e.touches[0].clientX-a.offsetLeft,d=e.touches[0].clientY-a.offsetTop,t=e.touches[0].clientX,e.touches[0]):(s=e.clientX-a.offsetLeft,d=e.clientY-a.offsetTop,t=e.clientX,e)).clientY,document.addEventListener("mousemove",i),document.addEventListener("touchmove",i,{passive:!1}),document.addEventListener("mouseup",c),document.addEventListener("touchend",c),e.preventDefault()}function i(n){var o="touchmove"===n.type?n.touches[0]:n,i=o.clientX-t,o=o.clientY-r;if(u=8<Math.abs(i)||8<Math.abs(o)?!0:u){a.style.transition="none",a.style.cursor="grabbing";i=document.getElementById(m);i&&(i.style.display="none",p("open"));let e,t;t="touchmove"===n.type?(e=n.touches[0].clientX-s,window.innerHeight-n.touches[0].clientY-d):(e=n.clientX-s,window.innerHeight-n.clientY-d);o=a.getBoundingClientRect(),i=window.innerWidth-o.width,n=window.innerHeight-o.height;"x"!==l&&"both"!==l||a.style.setProperty(`--${h}-left`,Math.max(0,Math.min(e,i))+"px"),"y"!==l&&"both"!==l||a.style.setProperty(`--${h}-bottom`,Math.max(0,Math.min(t,n))+"px")}}function c(){setTimeout(()=>{u=!1},0),a.style.transition="",a.style.cursor="pointer",document.removeEventListener("mousemove",i),document.removeEventListener("touchmove",i),document.removeEventListener("mouseup",c),document.removeEventListener("touchend",c)}a.addEventListener("mousedown",o),a.addEventListener("touchstart",o)}}n.style.display="none",document.body.appendChild(n),2048<t.length&&console.error("The URL is too long, please reduce the number of inputs to prevent the bot from failing to load"),window.addEventListener("message",e=>{var t,n;e.origin===o&&(t=document.getElementById(m))&&e.source===t.contentWindow&&("dify-chatbot-iframe-ready"===e.data.type&&t.contentWindow?.postMessage({type:"dify-chatbot-config",payload:{isToggledByButton:!0,isDraggable:!!y.draggable}},o),"dify-chatbot-expand-change"===e.data.type)&&(a=!a,n=document.getElementById(m))&&(a?n.style.cssText="\n    position: absolute;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n    top: unset;\n    right: var(--dify-chatbot-bubble-button-right, 1rem); /* Align with dify-chatbot-bubble-button. */\n    bottom: var(--dify-chatbot-bubble-button-bottom, 1rem); /* Align with dify-chatbot-bubble-button. */\n    left: unset;\n    min-width: 24rem;\n    width: 48%;\n    max-width: 40rem; /* Match mobile breakpoint*/\n    min-height: 43.75rem;\n    height: 88%;\n    max-height: calc(100vh - 6rem);\n    border: none;\n    z-index: 2147483640;\n    overflow: hidden;\n    user-select: none;\n    transition-property: width, height;\n    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n    transition-duration: 150ms;\n  ":n.style.cssText=l,d())}),document.getElementById(h)||r()}else console.error(t+" is empty or token is not provided")}function p(e="open"){"open"===e?(document.getElementById("openIcon").style.display="block",document.getElementById("closeIcon").style.display="none"):(document.getElementById("openIcon").style.display="none",document.getElementById("closeIcon").style.display="block")}function b(e){"Escape"===e.key&&(e=document.getElementById(m))&&"none"!==e.style.display&&(e.style.display="none",p("open"))}h,h,document.addEventListener("keydown",b),y?.dynamicScript?e():document.body.onload=e})();
\ No newline at end of file
+      `);const t=document.createElement("div");if(t.style.cssText="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; z-index: 2147483647;",t.innerHTML=h.open,n.appendChild(t),document.body.appendChild(n),n.addEventListener("click",function(){var e=document.getElementById(c);e?(e.style.display="none"===e.style.display?"block":"none",t.innerHTML="none"===e.style.display?h.open:h.close,"none"===e.style.display?document.removeEventListener("keydown",d):document.addEventListener("keydown",d),o()):(n.appendChild(((e=document.createElement("iframe")).allow="fullscreen;microphone",e.title="dify chatbot bubble window",e.id=c,e.src=i,e.style.cssText=`
+        border: none; position: absolute; flex-direction: column; justify-content: space-between;
+        box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
+        bottom: 55px; right: 0; width: 24rem; max-width: calc(100vw - 2rem); height: 40rem;
+        max-height: calc(100vh - 6rem); border-radius: 0.75rem; display: flex; z-index: 2147483647;
+        overflow: hidden; left: unset; background-color: #F3F4F6;user-select: none;
+      `,e)),o(),this.title="Exit (ESC)",t.innerHTML=h.close,document.addEventListener("keydown",d))}),p.draggable){var s=n;var l=p.dragAxis||"both";let i=!1,d,r;s.addEventListener("mousedown",function(e){i=!0,d=e.clientX-s.offsetLeft,r=e.clientY-s.offsetTop}),document.addEventListener("mousemove",function(e){var t,n,o;i&&(s.style.transition="none",s.style.cursor="grabbing",(t=document.getElementById(c))&&(t.style.display="none",s.querySelector("div").innerHTML=h.open),t=e.clientX-d,e=window.innerHeight-e.clientY-r,o=s.getBoundingClientRect(),n=window.innerWidth-o.width,o=window.innerHeight-o.height,"x"!==l&&"both"!==l||s.style.setProperty(`--${a}-left`,Math.max(0,Math.min(t,n))+"px"),"y"!==l&&"both"!==l||s.style.setProperty(`--${a}-bottom`,Math.max(0,Math.min(e,o))+"px"))}),document.addEventListener("mouseup",function(){i=!1,s.style.transition="",s.style.cursor="pointer"})}}2048<i.length&&console.error("The URL is too long, please reduce the number of inputs to prevent the bot from failing to load"),document.getElementById(a)||t()}else console.error(n+" is empty or token is not provided")}function d(e){var t;"Escape"===e.key&&(e=document.getElementById(c),t=document.getElementById(a),e)&&"none"!==e.style.display&&(e.style.display="none",t.querySelector("div").innerHTML=h.open)}document.addEventListener("keydown",d),p?.dynamicScript?e():document.body.onload=e}();
\ No newline at end of file
diff --git a/public/favicon.ico b/public/favicon.ico
index 3087c73..00c1f4f 100644
--- a/public/favicon.ico
+++ b/public/favicon.ico
Binary files differ
diff --git a/public/logo/logo-embedded-chat-header.png b/public/logo/logo-embedded-chat-header.png
index 058f7d2..945f824 100644
--- a/public/logo/logo-embedded-chat-header.png
+++ b/public/logo/logo-embedded-chat-header.png
Binary files differ
diff --git a/public/logo/logo-site-dark.png b/public/logo/logo-site-dark.png
index 3222d40..02041f0 100644
--- a/public/logo/logo-site-dark.png
+++ b/public/logo/logo-site-dark.png
Binary files differ
diff --git a/public/logo/logo-site.png b/public/logo/logo-site.png
index 8c2bb46..ee8d8de 100644
--- a/public/logo/logo-site.png
+++ b/public/logo/logo-site.png
Binary files differ
diff --git a/public/vs/language/typescript/tsWorker.js b/public/vs/language/typescript/tsWorker.js
index 57567b4..8ed704c 100644
--- a/public/vs/language/typescript/tsWorker.js
+++ b/public/vs/language/typescript/tsWorker.js
@@ -4,111 +4,44 @@
  * Released under the MIT license
  * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  *-----------------------------------------------------------------------------*/
-define("vs/language/typescript/tsWorker", ["require", "require"], (require) => {
-    "use strict"; var moduleExports = (() => {
-        var rae = Object.defineProperty; var hit = Object.getOwnPropertyDescriptor; var git = Object.getOwnPropertyNames; var yit = Object.prototype.hasOwnProperty; var hke = (zd, ti) => { for (var gt in ti) rae(zd, gt, { get: ti[gt], enumerable: !0 }) }, vit = (zd, ti, gt, hs) => { if (ti && typeof ti == "object" || typeof ti == "function") for (let Mo of git(ti)) !yit.call(zd, Mo) && Mo !== gt && rae(zd, Mo, { get: () => ti[Mo], enumerable: !(hs = hit(ti, Mo)) || hs.enumerable }); return zd }; var bit = zd => vit(rae({}, "__esModule", { value: !0 }), zd); var kit = {}; hke(kit, { TypeScriptWorker: () => o8, create: () => Lit }); var oae = {}; hke(oae, { EndOfLineState: () => Sit, IndentStyle: () => Ait, ScriptKind: () => uA, ScriptTarget: () => Cit, TokenClass: () => Iit, createClassifier: () => Eit, createLanguageService: () => iae, displayPartsToString: () => Tit, flattenDiagnosticMessageText: () => xit, typescript: () => aae }); var d0 = void 0, IU = { exports: {} }; var f0 = (() => {
-            var zd = Object.defineProperty, ti = Object.getOwnPropertyNames, gt = (e, t) => function () { return e && (t = (0, e[ti(e)[0]])(e = 0)), t }, hs = (e, t) => function () { return t || (0, e[ti(e)[0]])((t = { exports: {} }).exports, t), t.exports }, Mo = (e, t) => { for (var r in t) zd(e, r, { get: t[r], enumerable: !0 }) }, Sg, Rf, LU, gke = gt({ "src/compiler/corePublic.ts"() { "use strict"; Sg = "5.0", Rf = "5.0.2", LU = (e => (e[e.LessThan = -1] = "LessThan", e[e.EqualTo = 0] = "EqualTo", e[e.GreaterThan = 1] = "GreaterThan", e))(LU || {}) } }); function Fn(e) { return e ? e.length : 0 } function mn(e, t) { if (e) for (let r = 0; r < e.length; r++) { let i = t(e[r], r); if (i) return i } } function sae(e, t) { if (e) for (let r = e.length - 1; r >= 0; r--) { let i = t(e[r], r); if (i) return i } } function ks(e, t) { if (e !== void 0) for (let r = 0; r < e.length; r++) { let i = t(e[r], r); if (i !== void 0) return i } } function FD(e, t) { for (let r of e) { let i = t(r); if (i !== void 0) return i } } function yke(e, t, r) { let i = r; if (e) { let o = 0; for (let s of e) i = t(i, s, o), o++ } return i } function kU(e, t, r) { let i = []; L.assertEqual(e.length, t.length); for (let o = 0; o < e.length; o++)i.push(r(e[o], t[o], o)); return i } function DU(e, t) { if (e.length <= 1) return e; let r = []; for (let i = 0, o = e.length; i < o; i++)i && r.push(t), r.push(e[i]); return r } function Ji(e, t) { if (e) { for (let r = 0; r < e.length; r++)if (!t(e[r], r)) return !1 } return !0 } function wr(e, t, r) { if (e !== void 0) for (let i = r ?? 0; i < e.length; i++) { let o = e[i]; if (t(o, i)) return o } } function dA(e, t, r) { if (e !== void 0) for (let i = r ?? e.length - 1; i >= 0; i--) { let o = e[i]; if (t(o, i)) return o } } function Yc(e, t, r) { if (e === void 0) return -1; for (let i = r ?? 0; i < e.length; i++)if (t(e[i], i)) return i; return -1 } function s8(e, t, r) { if (e === void 0) return -1; for (let i = r ?? e.length - 1; i >= 0; i--)if (t(e[i], i)) return i; return -1 } function vke(e, t) { for (let r = 0; r < e.length; r++) { let i = t(e[r], r); if (i) return i } return L.fail() } function ya(e, t, r = Zv) { if (e) { for (let i of e) if (r(i, t)) return !0 } return !1 } function GD(e, t, r = Zv) { return e.length === t.length && e.every((i, o) => r(i, t[o])) } function cae(e, t, r) { for (let i = r || 0; i < e.length; i++)if (ya(t, e.charCodeAt(i))) return i; return -1 } function Oy(e, t) { let r = 0; if (e) for (let i = 0; i < e.length; i++) { let o = e[i]; t(o, i) && r++ } return r } function Pr(e, t) { if (e) { let r = e.length, i = 0; for (; i < r && t(e[i]);)i++; if (i < r) { let o = e.slice(0, i); for (i++; i < r;) { let s = e[i]; t(s) && o.push(s), i++ } return o } } return e } function wU(e, t) { let r = 0; for (let i = 0; i < e.length; i++)t(e[i], i, e) && (e[r] = e[i], r++); e.length = r } function Om(e) { e.length = 0 } function on(e, t) { let r; if (e) { r = []; for (let i = 0; i < e.length; i++)r.push(t(e[i], i)) } return r } function* RU(e, t) { for (let r of e) yield t(r) } function Tl(e, t) { if (e) for (let r = 0; r < e.length; r++) { let i = e[r], o = t(i, r); if (i !== o) { let s = e.slice(0, r); for (s.push(o), r++; r < e.length; r++)s.push(t(e[r], r)); return s } } return e } function t_(e) { let t = []; for (let r of e) r && (ba(r) ? si(t, r) : t.push(r)); return t } function Uo(e, t) { let r; if (e) for (let i = 0; i < e.length; i++) { let o = t(e[i], i); o && (ba(o) ? r = si(r, o) : r = Sn(r, o)) } return r || Je } function BD(e, t) { let r = []; if (e) for (let i = 0; i < e.length; i++) { let o = t(e[i], i); o && (ba(o) ? si(r, o) : r.push(o)) } return r } function* OU(e, t) { for (let r of e) { let i = t(r); i && (yield* i) } } function lae(e, t) { let r; if (e) for (let i = 0; i < e.length; i++) { let o = e[i], s = t(o, i); (r || o !== s || ba(s)) && (r || (r = e.slice(0, i)), ba(s) ? si(r, s) : r.push(s)) } return r || e } function NU(e, t) { let r = []; for (let i = 0; i < e.length; i++) { let o = t(e[i], i); if (o === void 0) return; r.push(o) } return r } function Zi(e, t) { let r = []; if (e) for (let i = 0; i < e.length; i++) { let o = t(e[i], i); o !== void 0 && r.push(o) } return r } function* UD(e, t) { for (let r of e) { let i = t(r); i !== void 0 && (yield i) } } function bke(e, t) { if (!e) return; let r = new Map; return e.forEach((i, o) => { let s = t(o, i); if (s !== void 0) { let [l, f] = s; l !== void 0 && f !== void 0 && r.set(l, f) } }), r } function VD(e, t, r) { if (e.has(t)) return e.get(t); let i = r(); return e.set(t, i), i } function _0(e, t) { return e.has(t) ? !1 : (e.add(t), !0) } function* Eke(e) { yield e } function c8(e, t, r) { let i; if (e) { i = []; let o = e.length, s, l, f = 0, d = 0; for (; f < o;) { for (; d < o;) { let g = e[d]; if (l = t(g, d), d === 0) s = l; else if (l !== s) break; d++ } if (f < d) { let g = r(e.slice(f, d), s, f, d); g && i.push(g), f = d } s = l, d++ } } return i } function uae(e, t) { if (!e) return; let r = new Map; return e.forEach((i, o) => { let [s, l] = t(o, i); r.set(s, l) }), r } function vt(e, t) { if (e) if (t) { for (let r of e) if (t(r)) return !0 } else return e.length > 0; return !1 } function PU(e, t, r) { let i; for (let o = 0; o < e.length; o++)t(e[o]) ? i = i === void 0 ? o : i : i !== void 0 && (r(i, o), i = void 0); i !== void 0 && r(i, e.length) } function Qi(e, t) { return vt(t) ? vt(e) ? [...e, ...t] : t : e } function Tke(e, t) { return t } function jD(e) { return e.map(Tke) } function Ske(e, t, r) { let i = jD(e); _ae(e, i, r); let o = e[i[0]], s = [i[0]]; for (let l = 1; l < i.length; l++) { let f = i[l], d = e[f]; t(o, d) || (s.push(f), o = d) } return s.sort(), s.map(l => e[l]) } function xke(e, t) { let r = []; for (let i of e) Of(r, i, t); return r } function fA(e, t, r) { return e.length === 0 ? [] : e.length === 1 ? e.slice() : r ? Ske(e, t, r) : xke(e, t) } function Ake(e, t) { if (e.length === 0) return Je; let r = e[0], i = [r]; for (let o = 1; o < e.length; o++) { let s = e[o]; switch (t(s, r)) { case !0: case 0: continue; case -1: return L.fail("Array is unsorted.") }i.push(r = s) } return i } function MU() { return [] } function Ny(e, t, r, i) { if (e.length === 0) return e.push(t), !0; let o = Py(e, t, Ks, r); return o < 0 ? (e.splice(~o, 0, t), !0) : i ? (e.splice(o, 0, t), !0) : !1 } function HD(e, t, r) { return Ake(XC(e, t), r || t || su) } function dae(e, t) { if (e.length < 2) return !0; for (let r = 1, i = e.length; r < i; r++)if (t(e[r - 1], e[r]) === 1) return !1; return !0 } function l8(e, t, r, i) { let o = 3; if (e.length < 2) return o; let s = t(e[0]); for (let l = 1, f = e.length; l < f && o !== 0; l++) { let d = t(e[l]); o & 1 && r(s, d) > 0 && (o &= -2), o & 2 && i(s, d) > 0 && (o &= -3), s = d } return o } function up(e, t, r = Zv) { if (!e || !t) return e === t; if (e.length !== t.length) return !1; for (let i = 0; i < e.length; i++)if (!r(e[i], t[i], i)) return !1; return !0 } function WD(e) { let t; if (e) for (let r = 0; r < e.length; r++) { let i = e[r]; (t || !i) && (t || (t = e.slice(0, r)), i && t.push(i)) } return t || e } function fae(e, t, r) { if (!t || !e || t.length === 0 || e.length === 0) return t; let i = []; e: for (let o = 0, s = 0; s < t.length; s++) { s > 0 && L.assertGreaterThanOrEqual(r(t[s], t[s - 1]), 0); t: for (let l = o; o < e.length; o++)switch (o > l && L.assertGreaterThanOrEqual(r(e[o], e[o - 1]), 0), r(t[s], e[o])) { case -1: i.push(t[s]); continue e; case 0: continue e; case 1: continue t } } return i } function Sn(e, t) { return t === void 0 ? e : e === void 0 ? [t] : (e.push(t), e) } function _A(e, t) { return e === void 0 ? t : t === void 0 ? e : ba(e) ? ba(t) ? Qi(e, t) : Sn(e, t) : ba(t) ? Sn(t, e) : [e, t] } function FU(e, t) { return t < 0 ? e.length + t : t } function si(e, t, r, i) { if (t === void 0 || t.length === 0) return e; if (e === void 0) return t.slice(r, i); r = r === void 0 ? 0 : FU(t, r), i = i === void 0 ? t.length : FU(t, i); for (let o = r; o < i && o < t.length; o++)t[o] !== void 0 && e.push(t[o]); return e } function Of(e, t, r) { return ya(e, t, r) ? !1 : (e.push(t), !0) } function xg(e, t, r) { return e ? (Of(e, t, r), e) : [t] } function _ae(e, t, r) { t.sort((i, o) => r(e[i], e[o]) || Es(i, o)) } function XC(e, t) { return e.length === 0 ? e : e.slice().sort(t) } function* Cke(e) { for (let t = e.length - 1; t >= 0; t--)yield e[t] } function Ag(e, t) { let r = jD(e); return _ae(e, r, t), r.map(i => e[i]) } function GU(e, t, r, i) { for (; r < i;) { if (e[r] !== t[r]) return !1; r++ } return !0 } function Sl(e) { return e === void 0 || e.length === 0 ? void 0 : e[0] } function u8(e) { if (e) for (let t of e) return t } function Vo(e) { return L.assert(e.length !== 0), e[0] } function pae(e) { for (let t of e) return t; L.fail("iterator is empty") } function Os(e) { return e === void 0 || e.length === 0 ? void 0 : e[e.length - 1] } function To(e) { return L.assert(e.length !== 0), e[e.length - 1] } function Wp(e) { return e && e.length === 1 ? e[0] : void 0 } function BU(e) { return L.checkDefined(Wp(e)) } function zp(e) { return e && e.length === 1 ? e[0] : e } function UU(e, t, r) { let i = e.slice(0); return i[t] = r, i } function Py(e, t, r, i, o) { return j1(e, r(t), r, i, o) } function j1(e, t, r, i, o) { if (!vt(e)) return -1; let s = o || 0, l = e.length - 1; for (; s <= l;) { let f = s + (l - s >> 1), d = r(e[f], f); switch (i(d, t)) { case -1: s = f + 1; break; case 0: return f; case 1: l = f - 1; break } } return ~s } function ou(e, t, r, i, o) { if (e && e.length > 0) { let s = e.length; if (s > 0) { let l = i === void 0 || i < 0 ? 0 : i, f = o === void 0 || l + o > s - 1 ? s - 1 : l + o, d; for (arguments.length <= 2 ? (d = e[l], l++) : d = r; l <= f;)d = t(d, e[l], l), l++; return d } } return r } function fs(e, t) { return Lg.call(e, t) } function zD(e, t) { return Lg.call(e, t) ? e[t] : void 0 } function bh(e) { let t = []; for (let r in e) Lg.call(e, r) && t.push(r); return t } function Ike(e) { let t = []; do { let r = Object.getOwnPropertyNames(e); for (let i of r) Of(t, i) } while (e = Object.getPrototypeOf(e)); return t } function H1(e) { let t = []; for (let r in e) Lg.call(e, r) && t.push(e[r]); return t } function mae(e, t) { let r = new Array(e); for (let i = 0; i < e; i++)r[i] = t(i); return r } function lo(e, t) { let r = []; for (let i of e) r.push(t ? t(i) : i); return r } function JD(e, ...t) { for (let r of t) if (r !== void 0) for (let i in r) fs(r, i) && (e[i] = r[i]); return e } function hae(e, t, r = Zv) { if (e === t) return !0; if (!e || !t) return !1; for (let i in e) if (Lg.call(e, i) && (!Lg.call(t, i) || !r(e[i], t[i]))) return !1; for (let i in t) if (Lg.call(t, i) && !Lg.call(e, i)) return !1; return !0 } function p0(e, t, r = Ks) { let i = new Map; for (let o of e) { let s = t(o); s !== void 0 && i.set(s, r(o)) } return i } function gae(e, t, r = Ks) { let i = []; for (let o of e) i[t(o)] = r(o); return i } function KD(e, t, r = Ks) { let i = Nf(); for (let o of e) i.add(t(o), r(o)); return i } function YC(e, t, r = Ks) { return lo(KD(e, t).values(), r) } function yae(e, t) { var r; let i = {}; if (e) for (let o of e) { let s = `${t(o)}`; ((r = i[s]) != null ? r : i[s] = []).push(o) } return i } function VU(e) { let t = {}; for (let r in e) Lg.call(e, r) && (t[r] = e[r]); return t } function d8(e, t) { let r = {}; for (let i in t) Lg.call(t, i) && (r[i] = t[i]); for (let i in e) Lg.call(e, i) && (r[i] = e[i]); return r } function jU(e, t) { for (let r in t) Lg.call(t, r) && (e[r] = t[r]) } function ho(e, t) { return t ? t.bind(e) : void 0 } function Nf() { let e = new Map; return e.add = Lke, e.remove = kke, e } function Lke(e, t) { let r = this.get(e); return r ? r.push(t) : this.set(e, r = [t]), r } function kke(e, t) { let r = this.get(e); r && (YD(r, t), r.length || this.delete(e)) } function vae() { return Nf() } function HU(e) { let t = e?.slice() || [], r = 0; function i() { return r === t.length } function o(...l) { t.push(...l) } function s() { if (i()) throw new Error("Queue is empty"); let l = t[r]; if (t[r] = void 0, r++, r > 100 && r > t.length >> 1) { let f = t.length - r; t.copyWithin(0, r), t.length = f, r = 0 } return l } return { enqueue: o, dequeue: s, isEmpty: i } } function Dke(e, t) { let r = new Map, i = 0; function* o() { for (let l of r.values()) ba(l) ? yield* l : yield l } let s = { has(l) { let f = e(l); if (!r.has(f)) return !1; let d = r.get(f); if (!ba(d)) return t(d, l); for (let g of d) if (t(g, l)) return !0; return !1 }, add(l) { let f = e(l); if (r.has(f)) { let d = r.get(f); if (ba(d)) ya(d, l, t) || (d.push(l), i++); else { let g = d; t(g, l) || (r.set(f, [g, l]), i++) } } else r.set(f, l), i++; return this }, delete(l) { let f = e(l); if (!r.has(f)) return !1; let d = r.get(f); if (ba(d)) { for (let g = 0; g < d.length; g++)if (t(d[g], l)) return d.length === 1 ? r.delete(f) : d.length === 2 ? r.set(f, d[1 - g]) : zU(d, g), i--, !0 } else if (t(d, l)) return r.delete(f), i--, !0; return !1 }, clear() { r.clear(), i = 0 }, get size() { return i }, forEach(l) { for (let f of lo(r.values())) if (ba(f)) for (let d of f) l(d, d, s); else { let d = f; l(d, d, s) } }, keys() { return o() }, values() { return o() }, *entries() { for (let l of o()) yield [l, l] }, [Symbol.iterator]: () => o(), [Symbol.toStringTag]: r[Symbol.toStringTag] }; return s } function ba(e) { return Array.isArray(e) } function qD(e) { return ba(e) ? e : [e] } function Ta(e) { return typeof e == "string" } function Cg(e) { return typeof e == "number" } function zr(e, t) { return e !== void 0 && t(e) ? e : void 0 } function Ga(e, t) { return e !== void 0 && t(e) ? e : L.fail(`Invalid cast. The supplied value ${e} did not pass the test '${L.getFunctionName(t)}'.`) } function Ba(e) { } function m0() { return !1 } function h0() { return !0 } function Qv() { } function Ks(e) { return e } function bae(e) { return e.toLowerCase() } function n_(e) { return YU.test(e) ? e.replace(YU, bae) : e } function Sa() { throw new Error("Not implemented") } function zu(e) { let t; return () => (e && (t = e(), e = void 0), t) } function Jp(e) { let t = new Map; return r => { let i = `${typeof r}:${r}`, o = t.get(i); return o === void 0 && !t.has(i) && (o = e(r), t.set(i, o)), o } } function wke(e) { let t = new WeakMap; return r => { let i = t.get(r); return i === void 0 && !t.has(r) && (i = e(r), t.set(r, i)), i } } function Eae(e, t) { return (...r) => { let i = t.get(r); return i === void 0 && !t.has(r) && (i = e(...r), t.set(r, i)), i } } function Rke(e, t, r, i, o) { if (o) { let s = []; for (let l = 0; l < arguments.length; l++)s[l] = arguments[l]; return l => ou(s, (f, d) => d(f), l) } else return i ? s => i(r(t(e(s)))) : r ? s => r(t(e(s))) : t ? s => t(e(s)) : e ? s => e(s) : s => s } function Zv(e, t) { return e === t } function W1(e, t) { return e === t || e !== void 0 && t !== void 0 && e.toUpperCase() === t.toUpperCase() } function z1(e, t) { return Zv(e, t) } function Tae(e, t) { return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : e < t ? -1 : 1 } function Es(e, t) { return Tae(e, t) } function f8(e, t) { return Es(e?.start, t?.start) || Es(e?.length, t?.length) } function WU(e, t) { return ou(e, (r, i) => t(r, i) === -1 ? r : i) } function _8(e, t) { return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : (e = e.toUpperCase(), t = t.toUpperCase(), e < t ? -1 : e > t ? 1 : 0) } function Sae(e, t) { return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : (e = e.toLowerCase(), t = t.toLowerCase(), e < t ? -1 : e > t ? 1 : 0) } function su(e, t) { return Tae(e, t) } function p8(e) { return e ? _8 : su } function xae() { return T8 } function Aae(e) { T8 !== e && (T8 = e, QU = void 0) } function XD(e, t) { return (QU || (QU = Mae(T8)))(e, t) } function Cae(e, t, r, i) { return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : i(e[r], t[r]) } function g0(e, t) { return Es(e ? 1 : 0, t ? 1 : 0) } function $C(e, t, r) { let i = Math.max(2, Math.floor(e.length * .34)), o = Math.floor(e.length * .4) + 1, s; for (let l of t) { let f = r(l); if (f !== void 0 && Math.abs(f.length - e.length) <= i) { if (f === e || f.length < 3 && f.toLowerCase() !== e.toLowerCase()) continue; let d = Oke(e, f, o - .1); if (d === void 0) continue; L.assert(d < o), o = d, s = l } } return s } function Oke(e, t, r) { let i = new Array(t.length + 1), o = new Array(t.length + 1), s = r + .01; for (let f = 0; f <= t.length; f++)i[f] = f; for (let f = 1; f <= e.length; f++) { let d = e.charCodeAt(f - 1), g = Math.ceil(f > r ? f - r : 1), m = Math.floor(t.length > r + f ? r + f : t.length); o[0] = f; let v = f; for (let x = 1; x < g; x++)o[x] = s; for (let x = g; x <= m; x++) { let A = e[f - 1].toLowerCase() === t[x - 1].toLowerCase() ? i[x - 1] + .1 : i[x - 1] + 2, w = d === t.charCodeAt(x - 1) ? i[x - 1] : Math.min(i[x] + 1, o[x - 1] + 1, A); o[x] = w, v = Math.min(v, w) } for (let x = m + 1; x <= t.length; x++)o[x] = s; if (v > r) return; let S = i; i = o, o = S } let l = i[t.length]; return l > r ? void 0 : l } function Oc(e, t) { let r = e.length - t.length; return r >= 0 && e.indexOf(t, r) === r } function pA(e, t) { return Oc(e, t) ? e.slice(0, e.length - t.length) : e } function Iae(e, t) { return Oc(e, t) ? e.slice(0, e.length - t.length) : void 0 } function jl(e, t) { return e.indexOf(t) !== -1 } function Lae(e) { let t = e.length; for (let r = t - 1; r > 0; r--) { let i = e.charCodeAt(r); if (i >= 48 && i <= 57) do --r, i = e.charCodeAt(r); while (r > 0 && i >= 48 && i <= 57); else if (r > 4 && (i === 110 || i === 78)) { if (--r, i = e.charCodeAt(r), i !== 105 && i !== 73 || (--r, i = e.charCodeAt(r), i !== 109 && i !== 77)) break; --r, i = e.charCodeAt(r) } else break; if (i !== 45 && i !== 46) break; t = r } return t === e.length ? e : e.slice(0, t) } function m8(e, t) { for (let r = 0; r < e.length; r++)if (e[r] === t) return y0(e, r), !0; return !1 } function y0(e, t) { for (let r = t; r < e.length - 1; r++)e[r] = e[r + 1]; e.pop() } function zU(e, t) { e[t] = e[e.length - 1], e.pop() } function YD(e, t) { return Nke(e, r => r === t) } function Nke(e, t) { for (let r = 0; r < e.length; r++)if (t(e[r])) return zU(e, r), !0; return !1 } function Dl(e) { return e ? Ks : n_ } function kae({ prefix: e, suffix: t }) { return `${e}*${t}` } function Dae(e, t) { return L.assert(h8(e, t)), t.substring(e.prefix.length, t.length - e.suffix.length) } function JU(e, t, r) { let i, o = -1; for (let s of e) { let l = t(s); h8(l, r) && l.prefix.length > o && (o = l.prefix.length, i = s) } return i } function na(e, t) { return e.lastIndexOf(t, 0) === 0 } function QC(e, t) { return na(e, t) ? e.substr(t.length) : e } function KU(e, t, r = Ks) { return na(r(e), r(t)) ? e.substring(t.length) : void 0 } function h8({ prefix: e, suffix: t }, r) { return r.length >= e.length + t.length && na(r, e) && Oc(r, t) } function g8(e, t) { return r => e(r) && t(r) } function Kp(...e) { return (...t) => { let r; for (let i of e) if (r = i(...t), r) return r; return r } } function y8(e) { return (...t) => !e(...t) } function Pke(e) { } function aT(e) { return e === void 0 ? void 0 : [e] } function wae(e, t, r, i, o, s) { s = s || Ba; let l = 0, f = 0, d = e.length, g = t.length, m = !1; for (; l < d && f < g;) { let v = e[l], S = t[f], x = r(v, S); x === -1 ? (i(v), l++, m = !0) : x === 1 ? (o(S), f++, m = !0) : (s(S, v), l++, f++) } for (; l < d;)i(e[l++]), m = !0; for (; f < g;)o(t[f++]), m = !0; return m } function Rae(e) { let t = []; return Oae(e, t, void 0, 0), t } function Oae(e, t, r, i) { for (let o of e[i]) { let s; r ? (s = r.slice(), s.push(o)) : s = [o], i === e.length - 1 ? t.push(s) : Oae(e, t, s, i + 1) } } function J1(e, t, r = " ") { return t <= e.length ? e : r.repeat(t - e.length) + e } function Mke(e, t, r = " ") { return t <= e.length ? e : e + r.repeat(t - e.length) } function v8(e, t) { if (e) { let r = e.length, i = 0; for (; i < r && t(e[i]);)i++; return e.slice(0, i) } } function Nae(e, t) { if (e) { let r = e.length, i = 0; for (; i < r && t(e[i]);)i++; return e.slice(i) } } function Fke(e) { let t = e.length - 1; for (; t >= 0 && xh(e.charCodeAt(t));)t--; return e.slice(0, t + 1) } function qU() { return typeof process < "u" && process.nextTick && !process.browser && typeof IU == "object" } var Je, b8, Pae, XU, Ig, Lg, E8, YU, $U, Mae, QU, T8, v0, $D, ZC, Gke = gt({ "src/compiler/core.ts"() { "use strict"; fa(), Je = [], b8 = new Map, Pae = new Set, XU = (e => (e[e.None = 0] = "None", e[e.CaseSensitive = 1] = "CaseSensitive", e[e.CaseInsensitive = 2] = "CaseInsensitive", e[e.Both = 3] = "Both", e))(XU || {}), Ig = Array.prototype.at ? (e, t) => e?.at(t) : (e, t) => { if (e && (t = FU(e, t), t < e.length)) return e[t] }, Lg = Object.prototype.hasOwnProperty, E8 = { push: Ba, length: 0 }, YU = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_\. ]+/g, $U = (e => (e[e.None = 0] = "None", e[e.Normal = 1] = "Normal", e[e.Aggressive = 2] = "Aggressive", e[e.VeryAggressive = 3] = "VeryAggressive", e))($U || {}), Mae = (() => { let e, t, r = f(); return d; function i(g, m, v) { if (g === m) return 0; if (g === void 0) return -1; if (m === void 0) return 1; let S = v(g, m); return S < 0 ? -1 : S > 0 ? 1 : 0 } function o(g) { let m = new Intl.Collator(g, { usage: "sort", sensitivity: "variant" }).compare; return (v, S) => i(v, S, m) } function s(g) { if (g !== void 0) return l(); return (v, S) => i(v, S, m); function m(v, S) { return v.localeCompare(S) } } function l() { return (v, S) => i(v, S, g); function g(v, S) { return m(v.toUpperCase(), S.toUpperCase()) || m(v, S) } function m(v, S) { return v < S ? -1 : v > S ? 1 : 0 } } function f() { return typeof Intl == "object" && typeof Intl.Collator == "function" ? o : typeof String.prototype.localeCompare == "function" && typeof String.prototype.toLocaleUpperCase == "function" && "a".localeCompare("B") < 0 ? s : l } function d(g) { return g === void 0 ? e || (e = r(g)) : g === "en-US" ? t || (t = r(g)) : r(g) } })(), v0 = String.prototype.trim ? e => e.trim() : e => $D(ZC(e)), $D = String.prototype.trimEnd ? e => e.trimEnd() : Fke, ZC = String.prototype.trimStart ? e => e.trimStart() : e => e.replace(/^\s+/g, "") } }), ZU, L, Bke = gt({
-                "src/compiler/debug.ts"() {
-                    "use strict"; fa(), fa(), ZU = (e => (e[e.Off = 0] = "Off", e[e.Error = 1] = "Error", e[e.Warning = 2] = "Warning", e[e.Info = 3] = "Info", e[e.Verbose = 4] = "Verbose", e))(ZU || {}), (e => {
-                        let t = 0; e.currentLogLevel = 2, e.isDebugging = !1; function r(Dt) { return e.currentLogLevel <= Dt } e.shouldLog = r; function i(Dt, pn) { e.loggingHost && r(Dt) && e.loggingHost.log(Dt, pn) } function o(Dt) { i(3, Dt) } e.log = o, (Dt => { function pn(ri) { i(1, ri) } Dt.error = pn; function An(ri) { i(2, ri) } Dt.warn = An; function Kn(ri) { i(3, ri) } Dt.log = Kn; function hi(ri) { i(4, ri) } Dt.trace = hi })(o = e.log || (e.log = {})); let s = {}; function l() { return t } e.getAssertionLevel = l; function f(Dt) { let pn = t; if (t = Dt, Dt > pn) for (let An of bh(s)) { let Kn = s[An]; Kn !== void 0 && e[An] !== Kn.assertion && Dt >= Kn.level && (e[An] = Kn, s[An] = void 0) } } e.setAssertionLevel = f; function d(Dt) { return t >= Dt } e.shouldAssert = d; function g(Dt, pn) { return d(Dt) ? !0 : (s[pn] = { level: Dt, assertion: e[pn] }, e[pn] = Ba, !1) } function m(Dt, pn) { let An = new Error(Dt ? `Debug Failure. ${Dt}` : "Debug Failure."); throw Error.captureStackTrace && Error.captureStackTrace(An, pn || m), An } e.fail = m; function v(Dt, pn, An) {
-                            return m(`${pn || "Unexpected node."}\r
-Node ${Ve(Dt.kind)} was unexpected.`, An || v)
-                        } e.failBadSyntaxKind = v; function S(Dt, pn, An, Kn) {
-                            Dt || (pn = pn ? `False expression: ${pn}` : "False expression.", An && (pn += `\r
-Verbose Debug Information: `+ (typeof An == "string" ? An : An())), m(pn, Kn || S))
-                        } e.assert = S; function x(Dt, pn, An, Kn, hi) { if (Dt !== pn) { let ri = An ? Kn ? `${An} ${Kn}` : An : ""; m(`Expected ${Dt} === ${pn}. ${ri}`, hi || x) } } e.assertEqual = x; function A(Dt, pn, An, Kn) { Dt >= pn && m(`Expected ${Dt} < ${pn}. ${An || ""}`, Kn || A) } e.assertLessThan = A; function w(Dt, pn, An) { Dt > pn && m(`Expected ${Dt} <= ${pn}`, An || w) } e.assertLessThanOrEqual = w; function C(Dt, pn, An) { Dt < pn && m(`Expected ${Dt} >= ${pn}`, An || C) } e.assertGreaterThanOrEqual = C; function P(Dt, pn, An) { Dt == null && m(pn, An || P) } e.assertIsDefined = P; function F(Dt, pn, An) { return P(Dt, pn, An || F), Dt } e.checkDefined = F; function B(Dt, pn, An) { for (let Kn of Dt) P(Kn, pn, An || B) } e.assertEachIsDefined = B; function q(Dt, pn, An) { return B(Dt, pn, An || q), Dt } e.checkEachDefined = q; function W(Dt, pn = "Illegal value:", An) { let Kn = typeof Dt == "object" && fs(Dt, "kind") && fs(Dt, "pos") ? "SyntaxKind: " + Ve(Dt.kind) : JSON.stringify(Dt); return m(`${pn} ${Kn}`, An || W) } e.assertNever = W; function Y(Dt, pn, An, Kn) { g(1, "assertEachNode") && S(pn === void 0 || Ji(Dt, pn), An || "Unexpected node.", () => `Node array did not pass test '${re(pn)}'.`, Kn || Y) } e.assertEachNode = Y; function R(Dt, pn, An, Kn) { g(1, "assertNode") && S(Dt !== void 0 && (pn === void 0 || pn(Dt)), An || "Unexpected node.", () => `Node ${Ve(Dt?.kind)} did not pass test '${re(pn)}'.`, Kn || R) } e.assertNode = R; function ie(Dt, pn, An, Kn) { g(1, "assertNotNode") && S(Dt === void 0 || pn === void 0 || !pn(Dt), An || "Unexpected node.", () => `Node ${Ve(Dt.kind)} should not have passed test '${re(pn)}'.`, Kn || ie) } e.assertNotNode = ie; function $(Dt, pn, An, Kn) { g(1, "assertOptionalNode") && S(pn === void 0 || Dt === void 0 || pn(Dt), An || "Unexpected node.", () => `Node ${Ve(Dt?.kind)} did not pass test '${re(pn)}'.`, Kn || $) } e.assertOptionalNode = $; function fe(Dt, pn, An, Kn) { g(1, "assertOptionalToken") && S(pn === void 0 || Dt === void 0 || Dt.kind === pn, An || "Unexpected node.", () => `Node ${Ve(Dt?.kind)} was not a '${Ve(pn)}' token.`, Kn || fe) } e.assertOptionalToken = fe; function Z(Dt, pn, An) { g(1, "assertMissingNode") && S(Dt === void 0, pn || "Unexpected node.", () => `Node ${Ve(Dt.kind)} was unexpected'.`, An || Z) } e.assertMissingNode = Z; function U(Dt) { } e.type = U; function re(Dt) { if (typeof Dt != "function") return ""; if (fs(Dt, "name")) return Dt.name; { let pn = Function.prototype.toString.call(Dt), An = /^function\s+([\w\$]+)\s*\(/.exec(pn); return An ? An[1] : "" } } e.getFunctionName = re; function le(Dt) { return `{ name: ${Gi(Dt.escapedName)}; flags: ${Be(Dt.flags)}; declarations: ${on(Dt.declarations, pn => Ve(pn.kind))} }` } e.formatSymbol = le; function _e(Dt = 0, pn, An) { let Kn = X(pn); if (Dt === 0) return Kn.length > 0 && Kn[0][0] === 0 ? Kn[0][1] : "0"; if (An) { let hi = [], ri = Dt; for (let [vn, Ht] of Kn) { if (vn > Dt) break; vn !== 0 && vn & Dt && (hi.push(Ht), ri &= ~vn) } if (ri === 0) return hi.join("|") } else for (let [hi, ri] of Kn) if (hi === Dt) return ri; return Dt.toString() } e.formatEnum = _e; let ge = new Map; function X(Dt) { let pn = ge.get(Dt); if (pn) return pn; let An = []; for (let hi in Dt) { let ri = Dt[hi]; typeof ri == "number" && An.push([ri, hi]) } let Kn = Ag(An, (hi, ri) => Es(hi[0], ri[0])); return ge.set(Dt, Kn), Kn } function Ve(Dt) { return _e(Dt, I8, !1) } e.formatSyntaxKind = Ve; function we(Dt) { return _e(Dt, B8, !1) } e.formatSnippetKind = we; function ke(Dt) { return _e(Dt, L8, !0) } e.formatNodeFlags = ke; function Pe(Dt) { return _e(Dt, k8, !0) } e.formatModifierFlags = Pe; function Ce(Dt) { return _e(Dt, G8, !0) } e.formatTransformFlags = Ce; function Ie(Dt) { return _e(Dt, U8, !0) } e.formatEmitFlags = Ie; function Be(Dt) { return _e(Dt, O8, !0) } e.formatSymbolFlags = Be; function Ne(Dt) { return _e(Dt, N8, !0) } e.formatTypeFlags = Ne; function Le(Dt) { return _e(Dt, M8, !0) } e.formatSignatureFlags = Le; function Ye(Dt) { return _e(Dt, P8, !0) } e.formatObjectFlags = Ye; function _t(Dt) { return _e(Dt, tw, !0) } e.formatFlowFlags = _t; function ct(Dt) { return _e(Dt, D8, !0) } e.formatRelationComparisonResult = ct; function Rt(Dt) { return _e(Dt, _F, !0) } e.formatCheckMode = Rt; function We(Dt) { return _e(Dt, pF, !0) } e.formatSignatureCheckMode = We; function qe(Dt) { return _e(Dt, dF, !0) } e.formatTypeFacts = qe; let zt = !1, Qt; function tn(Dt) { "__debugFlowFlags" in Dt || Object.defineProperties(Dt, { __tsDebuggerDisplay: { value() { let pn = this.flags & 2 ? "FlowStart" : this.flags & 4 ? "FlowBranchLabel" : this.flags & 8 ? "FlowLoopLabel" : this.flags & 16 ? "FlowAssignment" : this.flags & 32 ? "FlowTrueCondition" : this.flags & 64 ? "FlowFalseCondition" : this.flags & 128 ? "FlowSwitchClause" : this.flags & 256 ? "FlowArrayMutation" : this.flags & 512 ? "FlowCall" : this.flags & 1024 ? "FlowReduceLabel" : this.flags & 1 ? "FlowUnreachable" : "UnknownFlow", An = this.flags & -2048; return `${pn}${An ? ` (${_t(An)})` : ""}` } }, __debugFlowFlags: { get() { return _e(this.flags, tw, !0) } }, __debugToString: { value() { return nn(this) } } }) } function kn(Dt) { zt && (typeof Object.setPrototypeOf == "function" ? (Qt || (Qt = Object.create(Object.prototype), tn(Qt)), Object.setPrototypeOf(Dt, Qt)) : tn(Dt)) } e.attachFlowNodeDebugInfo = kn; let _n; function Gt(Dt) { "__tsDebuggerDisplay" in Dt || Object.defineProperties(Dt, { __tsDebuggerDisplay: { value(pn) { return pn = String(pn).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/, "]"), `NodeArray ${pn}` } } }) } function $n(Dt) { zt && (typeof Object.setPrototypeOf == "function" ? (_n || (_n = Object.create(Array.prototype), Gt(_n)), Object.setPrototypeOf(Dt, _n)) : Gt(Dt)) } e.attachNodeArrayDebugInfo = $n; function ui() { if (zt) return; let Dt = new WeakMap, pn = new WeakMap; Object.defineProperties(ml.getSymbolConstructor().prototype, { __tsDebuggerDisplay: { value() { let Kn = this.flags & 33554432 ? "TransientSymbol" : "Symbol", hi = this.flags & -33554433; return `${Kn} '${fc(this)}'${hi ? ` (${Be(hi)})` : ""}` } }, __debugFlags: { get() { return Be(this.flags) } } }), Object.defineProperties(ml.getTypeConstructor().prototype, { __tsDebuggerDisplay: { value() { let Kn = this.flags & 98304 ? "NullableType" : this.flags & 384 ? `LiteralType ${JSON.stringify(this.value)}` : this.flags & 2048 ? `LiteralType ${this.value.negative ? "-" : ""}${this.value.base10Value}n` : this.flags & 8192 ? "UniqueESSymbolType" : this.flags & 32 ? "EnumType" : this.flags & 67359327 ? `IntrinsicType ${this.intrinsicName}` : this.flags & 1048576 ? "UnionType" : this.flags & 2097152 ? "IntersectionType" : this.flags & 4194304 ? "IndexType" : this.flags & 8388608 ? "IndexedAccessType" : this.flags & 16777216 ? "ConditionalType" : this.flags & 33554432 ? "SubstitutionType" : this.flags & 262144 ? "TypeParameter" : this.flags & 524288 ? this.objectFlags & 3 ? "InterfaceType" : this.objectFlags & 4 ? "TypeReference" : this.objectFlags & 8 ? "TupleType" : this.objectFlags & 16 ? "AnonymousType" : this.objectFlags & 32 ? "MappedType" : this.objectFlags & 1024 ? "ReverseMappedType" : this.objectFlags & 256 ? "EvolvingArrayType" : "ObjectType" : "Type", hi = this.flags & 524288 ? this.objectFlags & -1344 : 0; return `${Kn}${this.symbol ? ` '${fc(this.symbol)}'` : ""}${hi ? ` (${Ye(hi)})` : ""}` } }, __debugFlags: { get() { return Ne(this.flags) } }, __debugObjectFlags: { get() { return this.flags & 524288 ? Ye(this.objectFlags) : "" } }, __debugTypeToString: { value() { let Kn = Dt.get(this); return Kn === void 0 && (Kn = this.checker.typeToString(this), Dt.set(this, Kn)), Kn } } }), Object.defineProperties(ml.getSignatureConstructor().prototype, { __debugFlags: { get() { return Le(this.flags) } }, __debugSignatureToString: { value() { var Kn; return (Kn = this.checker) == null ? void 0 : Kn.signatureToString(this) } } }); let An = [ml.getNodeConstructor(), ml.getIdentifierConstructor(), ml.getTokenConstructor(), ml.getSourceFileConstructor()]; for (let Kn of An) fs(Kn.prototype, "__debugKind") || Object.defineProperties(Kn.prototype, { __tsDebuggerDisplay: { value() { return `${tc(this) ? "GeneratedIdentifier" : Re(this) ? `Identifier '${vr(this)}'` : pi(this) ? `PrivateIdentifier '${vr(this)}'` : yo(this) ? `StringLiteral ${JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")}` : Vf(this) ? `NumericLiteral ${this.text}` : a3(this) ? `BigIntLiteral ${this.text}n` : _c(this) ? "TypeParameterDeclaration" : ha(this) ? "ParameterDeclaration" : Ec(this) ? "ConstructorDeclaration" : p_(this) ? "GetAccessorDeclaration" : Sf(this) ? "SetAccessorDeclaration" : _2(this) ? "CallSignatureDeclaration" : uO(this) ? "ConstructSignatureDeclaration" : kS(this) ? "IndexSignatureDeclaration" : l3(this) ? "TypePredicateNode" : m_(this) ? "TypeReferenceNode" : Jm(this) ? "FunctionTypeNode" : yL(this) ? "ConstructorTypeNode" : vL(this) ? "TypeQueryNode" : Rd(this) ? "TypeLiteralNode" : wz(this) ? "ArrayTypeNode" : p2(this) ? "TupleTypeNode" : Rz(this) ? "OptionalTypeNode" : Oz(this) ? "RestTypeNode" : DS(this) ? "UnionTypeNode" : dO(this) ? "IntersectionTypeNode" : m2(this) ? "ConditionalTypeNode" : h2(this) ? "InferTypeNode" : wS(this) ? "ParenthesizedTypeNode" : u3(this) ? "ThisTypeNode" : RS(this) ? "TypeOperatorNode" : OS(this) ? "IndexedAccessTypeNode" : EL(this) ? "MappedTypeNode" : mb(this) ? "LiteralTypeNode" : bL(this) ? "NamedTupleMember" : Mh(this) ? "ImportTypeNode" : Ve(this.kind)}${this.flags ? ` (${ke(this.flags)})` : ""}` } }, __debugKind: { get() { return Ve(this.kind) } }, __debugNodeFlags: { get() { return ke(this.flags) } }, __debugModifierFlags: { get() { return Pe(qce(this)) } }, __debugTransformFlags: { get() { return Ce(this.transformFlags) } }, __debugIsParseTreeNode: { get() { return dI(this) } }, __debugEmitFlags: { get() { return Ie(Ya(this)) } }, __debugGetText: { value(hi) { if (ws(this)) return ""; let ri = pn.get(this); if (ri === void 0) { let vn = ea(this), Ht = vn && Gn(vn); ri = Ht ? k0(Ht, vn, hi) : "", pn.set(this, ri) } return ri } } }); zt = !0 } e.enableDebugInfo = ui; function Ni(Dt) { let pn = Dt & 7, An = pn === 0 ? "in out" : pn === 3 ? "[bivariant]" : pn === 2 ? "in" : pn === 1 ? "out" : pn === 4 ? "[independent]" : ""; return Dt & 8 ? An += " (unmeasurable)" : Dt & 16 && (An += " (unreliable)"), An } e.formatVariance = Ni; class Pi {
-                            __debugToString() {
-                                var pn; switch (this.kind) {
-                                    case 3: return ((pn = this.debugInfo) == null ? void 0 : pn.call(this)) || "(function mapper)"; case 0: return `${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`; case 1: return kU(this.sources, this.targets || on(this.sources, () => "any"), (An, Kn) => `${An.__debugTypeToString()} -> ${typeof Kn == "string" ? Kn : Kn.__debugTypeToString()}`).join(", "); case 2: return kU(this.sources, this.targets, (An, Kn) => `${An.__debugTypeToString()} -> ${Kn().__debugTypeToString()}`).join(", "); case 5: case 4: return `m1: ${this.mapper1.__debugToString().split(`
+define("vs/language/typescript/tsWorker", ["require","require"],(require)=>{
+"use strict";var moduleExports=(()=>{var rae=Object.defineProperty;var hit=Object.getOwnPropertyDescriptor;var git=Object.getOwnPropertyNames;var yit=Object.prototype.hasOwnProperty;var hke=(zd,ti)=>{for(var gt in ti)rae(zd,gt,{get:ti[gt],enumerable:!0})},vit=(zd,ti,gt,hs)=>{if(ti&&typeof ti=="object"||typeof ti=="function")for(let Mo of git(ti))!yit.call(zd,Mo)&&Mo!==gt&&rae(zd,Mo,{get:()=>ti[Mo],enumerable:!(hs=hit(ti,Mo))||hs.enumerable});return zd};var bit=zd=>vit(rae({},"__esModule",{value:!0}),zd);var kit={};hke(kit,{TypeScriptWorker:()=>o8,create:()=>Lit});var oae={};hke(oae,{EndOfLineState:()=>Sit,IndentStyle:()=>Ait,ScriptKind:()=>uA,ScriptTarget:()=>Cit,TokenClass:()=>Iit,createClassifier:()=>Eit,createLanguageService:()=>iae,displayPartsToString:()=>Tit,flattenDiagnosticMessageText:()=>xit,typescript:()=>aae});var d0=void 0,IU={exports:{}};var f0=(()=>{var zd=Object.defineProperty,ti=Object.getOwnPropertyNames,gt=(e,t)=>function(){return e&&(t=(0,e[ti(e)[0]])(e=0)),t},hs=(e,t)=>function(){return t||(0,e[ti(e)[0]])((t={exports:{}}).exports,t),t.exports},Mo=(e,t)=>{for(var r in t)zd(e,r,{get:t[r],enumerable:!0})},Sg,Rf,LU,gke=gt({"src/compiler/corePublic.ts"(){"use strict";Sg="5.0",Rf="5.0.2",LU=(e=>(e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan",e))(LU||{})}});function Fn(e){return e?e.length:0}function mn(e,t){if(e)for(let r=0;r<e.length;r++){let i=t(e[r],r);if(i)return i}}function sae(e,t){if(e)for(let r=e.length-1;r>=0;r--){let i=t(e[r],r);if(i)return i}}function ks(e,t){if(e!==void 0)for(let r=0;r<e.length;r++){let i=t(e[r],r);if(i!==void 0)return i}}function FD(e,t){for(let r of e){let i=t(r);if(i!==void 0)return i}}function yke(e,t,r){let i=r;if(e){let o=0;for(let s of e)i=t(i,s,o),o++}return i}function kU(e,t,r){let i=[];L.assertEqual(e.length,t.length);for(let o=0;o<e.length;o++)i.push(r(e[o],t[o],o));return i}function DU(e,t){if(e.length<=1)return e;let r=[];for(let i=0,o=e.length;i<o;i++)i&&r.push(t),r.push(e[i]);return r}function Ji(e,t){if(e){for(let r=0;r<e.length;r++)if(!t(e[r],r))return!1}return!0}function wr(e,t,r){if(e!==void 0)for(let i=r??0;i<e.length;i++){let o=e[i];if(t(o,i))return o}}function dA(e,t,r){if(e!==void 0)for(let i=r??e.length-1;i>=0;i--){let o=e[i];if(t(o,i))return o}}function Yc(e,t,r){if(e===void 0)return-1;for(let i=r??0;i<e.length;i++)if(t(e[i],i))return i;return-1}function s8(e,t,r){if(e===void 0)return-1;for(let i=r??e.length-1;i>=0;i--)if(t(e[i],i))return i;return-1}function vke(e,t){for(let r=0;r<e.length;r++){let i=t(e[r],r);if(i)return i}return L.fail()}function ya(e,t,r=Zv){if(e){for(let i of e)if(r(i,t))return!0}return!1}function GD(e,t,r=Zv){return e.length===t.length&&e.every((i,o)=>r(i,t[o]))}function cae(e,t,r){for(let i=r||0;i<e.length;i++)if(ya(t,e.charCodeAt(i)))return i;return-1}function Oy(e,t){let r=0;if(e)for(let i=0;i<e.length;i++){let o=e[i];t(o,i)&&r++}return r}function Pr(e,t){if(e){let r=e.length,i=0;for(;i<r&&t(e[i]);)i++;if(i<r){let o=e.slice(0,i);for(i++;i<r;){let s=e[i];t(s)&&o.push(s),i++}return o}}return e}function wU(e,t){let r=0;for(let i=0;i<e.length;i++)t(e[i],i,e)&&(e[r]=e[i],r++);e.length=r}function Om(e){e.length=0}function on(e,t){let r;if(e){r=[];for(let i=0;i<e.length;i++)r.push(t(e[i],i))}return r}function*RU(e,t){for(let r of e)yield t(r)}function Tl(e,t){if(e)for(let r=0;r<e.length;r++){let i=e[r],o=t(i,r);if(i!==o){let s=e.slice(0,r);for(s.push(o),r++;r<e.length;r++)s.push(t(e[r],r));return s}}return e}function t_(e){let t=[];for(let r of e)r&&(ba(r)?si(t,r):t.push(r));return t}function Uo(e,t){let r;if(e)for(let i=0;i<e.length;i++){let o=t(e[i],i);o&&(ba(o)?r=si(r,o):r=Sn(r,o))}return r||Je}function BD(e,t){let r=[];if(e)for(let i=0;i<e.length;i++){let o=t(e[i],i);o&&(ba(o)?si(r,o):r.push(o))}return r}function*OU(e,t){for(let r of e){let i=t(r);i&&(yield*i)}}function lae(e,t){let r;if(e)for(let i=0;i<e.length;i++){let o=e[i],s=t(o,i);(r||o!==s||ba(s))&&(r||(r=e.slice(0,i)),ba(s)?si(r,s):r.push(s))}return r||e}function NU(e,t){let r=[];for(let i=0;i<e.length;i++){let o=t(e[i],i);if(o===void 0)return;r.push(o)}return r}function Zi(e,t){let r=[];if(e)for(let i=0;i<e.length;i++){let o=t(e[i],i);o!==void 0&&r.push(o)}return r}function*UD(e,t){for(let r of e){let i=t(r);i!==void 0&&(yield i)}}function bke(e,t){if(!e)return;let r=new Map;return e.forEach((i,o)=>{let s=t(o,i);if(s!==void 0){let[l,f]=s;l!==void 0&&f!==void 0&&r.set(l,f)}}),r}function VD(e,t,r){if(e.has(t))return e.get(t);let i=r();return e.set(t,i),i}function _0(e,t){return e.has(t)?!1:(e.add(t),!0)}function*Eke(e){yield e}function c8(e,t,r){let i;if(e){i=[];let o=e.length,s,l,f=0,d=0;for(;f<o;){for(;d<o;){let g=e[d];if(l=t(g,d),d===0)s=l;else if(l!==s)break;d++}if(f<d){let g=r(e.slice(f,d),s,f,d);g&&i.push(g),f=d}s=l,d++}}return i}function uae(e,t){if(!e)return;let r=new Map;return e.forEach((i,o)=>{let[s,l]=t(o,i);r.set(s,l)}),r}function vt(e,t){if(e)if(t){for(let r of e)if(t(r))return!0}else return e.length>0;return!1}function PU(e,t,r){let i;for(let o=0;o<e.length;o++)t(e[o])?i=i===void 0?o:i:i!==void 0&&(r(i,o),i=void 0);i!==void 0&&r(i,e.length)}function Qi(e,t){return vt(t)?vt(e)?[...e,...t]:t:e}function Tke(e,t){return t}function jD(e){return e.map(Tke)}function Ske(e,t,r){let i=jD(e);_ae(e,i,r);let o=e[i[0]],s=[i[0]];for(let l=1;l<i.length;l++){let f=i[l],d=e[f];t(o,d)||(s.push(f),o=d)}return s.sort(),s.map(l=>e[l])}function xke(e,t){let r=[];for(let i of e)Of(r,i,t);return r}function fA(e,t,r){return e.length===0?[]:e.length===1?e.slice():r?Ske(e,t,r):xke(e,t)}function Ake(e,t){if(e.length===0)return Je;let r=e[0],i=[r];for(let o=1;o<e.length;o++){let s=e[o];switch(t(s,r)){case!0:case 0:continue;case-1:return L.fail("Array is unsorted.")}i.push(r=s)}return i}function MU(){return[]}function Ny(e,t,r,i){if(e.length===0)return e.push(t),!0;let o=Py(e,t,Ks,r);return o<0?(e.splice(~o,0,t),!0):i?(e.splice(o,0,t),!0):!1}function HD(e,t,r){return Ake(XC(e,t),r||t||su)}function dae(e,t){if(e.length<2)return!0;for(let r=1,i=e.length;r<i;r++)if(t(e[r-1],e[r])===1)return!1;return!0}function l8(e,t,r,i){let o=3;if(e.length<2)return o;let s=t(e[0]);for(let l=1,f=e.length;l<f&&o!==0;l++){let d=t(e[l]);o&1&&r(s,d)>0&&(o&=-2),o&2&&i(s,d)>0&&(o&=-3),s=d}return o}function up(e,t,r=Zv){if(!e||!t)return e===t;if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!r(e[i],t[i],i))return!1;return!0}function WD(e){let t;if(e)for(let r=0;r<e.length;r++){let i=e[r];(t||!i)&&(t||(t=e.slice(0,r)),i&&t.push(i))}return t||e}function fae(e,t,r){if(!t||!e||t.length===0||e.length===0)return t;let i=[];e:for(let o=0,s=0;s<t.length;s++){s>0&&L.assertGreaterThanOrEqual(r(t[s],t[s-1]),0);t:for(let l=o;o<e.length;o++)switch(o>l&&L.assertGreaterThanOrEqual(r(e[o],e[o-1]),0),r(t[s],e[o])){case-1:i.push(t[s]);continue e;case 0:continue e;case 1:continue t}}return i}function Sn(e,t){return t===void 0?e:e===void 0?[t]:(e.push(t),e)}function _A(e,t){return e===void 0?t:t===void 0?e:ba(e)?ba(t)?Qi(e,t):Sn(e,t):ba(t)?Sn(t,e):[e,t]}function FU(e,t){return t<0?e.length+t:t}function si(e,t,r,i){if(t===void 0||t.length===0)return e;if(e===void 0)return t.slice(r,i);r=r===void 0?0:FU(t,r),i=i===void 0?t.length:FU(t,i);for(let o=r;o<i&&o<t.length;o++)t[o]!==void 0&&e.push(t[o]);return e}function Of(e,t,r){return ya(e,t,r)?!1:(e.push(t),!0)}function xg(e,t,r){return e?(Of(e,t,r),e):[t]}function _ae(e,t,r){t.sort((i,o)=>r(e[i],e[o])||Es(i,o))}function XC(e,t){return e.length===0?e:e.slice().sort(t)}function*Cke(e){for(let t=e.length-1;t>=0;t--)yield e[t]}function Ag(e,t){let r=jD(e);return _ae(e,r,t),r.map(i=>e[i])}function GU(e,t,r,i){for(;r<i;){if(e[r]!==t[r])return!1;r++}return!0}function Sl(e){return e===void 0||e.length===0?void 0:e[0]}function u8(e){if(e)for(let t of e)return t}function Vo(e){return L.assert(e.length!==0),e[0]}function pae(e){for(let t of e)return t;L.fail("iterator is empty")}function Os(e){return e===void 0||e.length===0?void 0:e[e.length-1]}function To(e){return L.assert(e.length!==0),e[e.length-1]}function Wp(e){return e&&e.length===1?e[0]:void 0}function BU(e){return L.checkDefined(Wp(e))}function zp(e){return e&&e.length===1?e[0]:e}function UU(e,t,r){let i=e.slice(0);return i[t]=r,i}function Py(e,t,r,i,o){return j1(e,r(t),r,i,o)}function j1(e,t,r,i,o){if(!vt(e))return-1;let s=o||0,l=e.length-1;for(;s<=l;){let f=s+(l-s>>1),d=r(e[f],f);switch(i(d,t)){case-1:s=f+1;break;case 0:return f;case 1:l=f-1;break}}return~s}function ou(e,t,r,i,o){if(e&&e.length>0){let s=e.length;if(s>0){let l=i===void 0||i<0?0:i,f=o===void 0||l+o>s-1?s-1:l+o,d;for(arguments.length<=2?(d=e[l],l++):d=r;l<=f;)d=t(d,e[l],l),l++;return d}}return r}function fs(e,t){return Lg.call(e,t)}function zD(e,t){return Lg.call(e,t)?e[t]:void 0}function bh(e){let t=[];for(let r in e)Lg.call(e,r)&&t.push(r);return t}function Ike(e){let t=[];do{let r=Object.getOwnPropertyNames(e);for(let i of r)Of(t,i)}while(e=Object.getPrototypeOf(e));return t}function H1(e){let t=[];for(let r in e)Lg.call(e,r)&&t.push(e[r]);return t}function mae(e,t){let r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i);return r}function lo(e,t){let r=[];for(let i of e)r.push(t?t(i):i);return r}function JD(e,...t){for(let r of t)if(r!==void 0)for(let i in r)fs(r,i)&&(e[i]=r[i]);return e}function hae(e,t,r=Zv){if(e===t)return!0;if(!e||!t)return!1;for(let i in e)if(Lg.call(e,i)&&(!Lg.call(t,i)||!r(e[i],t[i])))return!1;for(let i in t)if(Lg.call(t,i)&&!Lg.call(e,i))return!1;return!0}function p0(e,t,r=Ks){let i=new Map;for(let o of e){let s=t(o);s!==void 0&&i.set(s,r(o))}return i}function gae(e,t,r=Ks){let i=[];for(let o of e)i[t(o)]=r(o);return i}function KD(e,t,r=Ks){let i=Nf();for(let o of e)i.add(t(o),r(o));return i}function YC(e,t,r=Ks){return lo(KD(e,t).values(),r)}function yae(e,t){var r;let i={};if(e)for(let o of e){let s=`${t(o)}`;((r=i[s])!=null?r:i[s]=[]).push(o)}return i}function VU(e){let t={};for(let r in e)Lg.call(e,r)&&(t[r]=e[r]);return t}function d8(e,t){let r={};for(let i in t)Lg.call(t,i)&&(r[i]=t[i]);for(let i in e)Lg.call(e,i)&&(r[i]=e[i]);return r}function jU(e,t){for(let r in t)Lg.call(t,r)&&(e[r]=t[r])}function ho(e,t){return t?t.bind(e):void 0}function Nf(){let e=new Map;return e.add=Lke,e.remove=kke,e}function Lke(e,t){let r=this.get(e);return r?r.push(t):this.set(e,r=[t]),r}function kke(e,t){let r=this.get(e);r&&(YD(r,t),r.length||this.delete(e))}function vae(){return Nf()}function HU(e){let t=e?.slice()||[],r=0;function i(){return r===t.length}function o(...l){t.push(...l)}function s(){if(i())throw new Error("Queue is empty");let l=t[r];if(t[r]=void 0,r++,r>100&&r>t.length>>1){let f=t.length-r;t.copyWithin(0,r),t.length=f,r=0}return l}return{enqueue:o,dequeue:s,isEmpty:i}}function Dke(e,t){let r=new Map,i=0;function*o(){for(let l of r.values())ba(l)?yield*l:yield l}let s={has(l){let f=e(l);if(!r.has(f))return!1;let d=r.get(f);if(!ba(d))return t(d,l);for(let g of d)if(t(g,l))return!0;return!1},add(l){let f=e(l);if(r.has(f)){let d=r.get(f);if(ba(d))ya(d,l,t)||(d.push(l),i++);else{let g=d;t(g,l)||(r.set(f,[g,l]),i++)}}else r.set(f,l),i++;return this},delete(l){let f=e(l);if(!r.has(f))return!1;let d=r.get(f);if(ba(d)){for(let g=0;g<d.length;g++)if(t(d[g],l))return d.length===1?r.delete(f):d.length===2?r.set(f,d[1-g]):zU(d,g),i--,!0}else if(t(d,l))return r.delete(f),i--,!0;return!1},clear(){r.clear(),i=0},get size(){return i},forEach(l){for(let f of lo(r.values()))if(ba(f))for(let d of f)l(d,d,s);else{let d=f;l(d,d,s)}},keys(){return o()},values(){return o()},*entries(){for(let l of o())yield[l,l]},[Symbol.iterator]:()=>o(),[Symbol.toStringTag]:r[Symbol.toStringTag]};return s}function ba(e){return Array.isArray(e)}function qD(e){return ba(e)?e:[e]}function Ta(e){return typeof e=="string"}function Cg(e){return typeof e=="number"}function zr(e,t){return e!==void 0&&t(e)?e:void 0}function Ga(e,t){return e!==void 0&&t(e)?e:L.fail(`Invalid cast. The supplied value ${e} did not pass the test '${L.getFunctionName(t)}'.`)}function Ba(e){}function m0(){return!1}function h0(){return!0}function Qv(){}function Ks(e){return e}function bae(e){return e.toLowerCase()}function n_(e){return YU.test(e)?e.replace(YU,bae):e}function Sa(){throw new Error("Not implemented")}function zu(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function Jp(e){let t=new Map;return r=>{let i=`${typeof r}:${r}`,o=t.get(i);return o===void 0&&!t.has(i)&&(o=e(r),t.set(i,o)),o}}function wke(e){let t=new WeakMap;return r=>{let i=t.get(r);return i===void 0&&!t.has(r)&&(i=e(r),t.set(r,i)),i}}function Eae(e,t){return(...r)=>{let i=t.get(r);return i===void 0&&!t.has(r)&&(i=e(...r),t.set(r,i)),i}}function Rke(e,t,r,i,o){if(o){let s=[];for(let l=0;l<arguments.length;l++)s[l]=arguments[l];return l=>ou(s,(f,d)=>d(f),l)}else return i?s=>i(r(t(e(s)))):r?s=>r(t(e(s))):t?s=>t(e(s)):e?s=>e(s):s=>s}function Zv(e,t){return e===t}function W1(e,t){return e===t||e!==void 0&&t!==void 0&&e.toUpperCase()===t.toUpperCase()}function z1(e,t){return Zv(e,t)}function Tae(e,t){return e===t?0:e===void 0?-1:t===void 0?1:e<t?-1:1}function Es(e,t){return Tae(e,t)}function f8(e,t){return Es(e?.start,t?.start)||Es(e?.length,t?.length)}function WU(e,t){return ou(e,(r,i)=>t(r,i)===-1?r:i)}function _8(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toUpperCase(),t=t.toUpperCase(),e<t?-1:e>t?1:0)}function Sae(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toLowerCase(),t=t.toLowerCase(),e<t?-1:e>t?1:0)}function su(e,t){return Tae(e,t)}function p8(e){return e?_8:su}function xae(){return T8}function Aae(e){T8!==e&&(T8=e,QU=void 0)}function XD(e,t){return(QU||(QU=Mae(T8)))(e,t)}function Cae(e,t,r,i){return e===t?0:e===void 0?-1:t===void 0?1:i(e[r],t[r])}function g0(e,t){return Es(e?1:0,t?1:0)}function $C(e,t,r){let i=Math.max(2,Math.floor(e.length*.34)),o=Math.floor(e.length*.4)+1,s;for(let l of t){let f=r(l);if(f!==void 0&&Math.abs(f.length-e.length)<=i){if(f===e||f.length<3&&f.toLowerCase()!==e.toLowerCase())continue;let d=Oke(e,f,o-.1);if(d===void 0)continue;L.assert(d<o),o=d,s=l}}return s}function Oke(e,t,r){let i=new Array(t.length+1),o=new Array(t.length+1),s=r+.01;for(let f=0;f<=t.length;f++)i[f]=f;for(let f=1;f<=e.length;f++){let d=e.charCodeAt(f-1),g=Math.ceil(f>r?f-r:1),m=Math.floor(t.length>r+f?r+f:t.length);o[0]=f;let v=f;for(let x=1;x<g;x++)o[x]=s;for(let x=g;x<=m;x++){let A=e[f-1].toLowerCase()===t[x-1].toLowerCase()?i[x-1]+.1:i[x-1]+2,w=d===t.charCodeAt(x-1)?i[x-1]:Math.min(i[x]+1,o[x-1]+1,A);o[x]=w,v=Math.min(v,w)}for(let x=m+1;x<=t.length;x++)o[x]=s;if(v>r)return;let S=i;i=o,o=S}let l=i[t.length];return l>r?void 0:l}function Oc(e,t){let r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function pA(e,t){return Oc(e,t)?e.slice(0,e.length-t.length):e}function Iae(e,t){return Oc(e,t)?e.slice(0,e.length-t.length):void 0}function jl(e,t){return e.indexOf(t)!==-1}function Lae(e){let t=e.length;for(let r=t-1;r>0;r--){let i=e.charCodeAt(r);if(i>=48&&i<=57)do--r,i=e.charCodeAt(r);while(r>0&&i>=48&&i<=57);else if(r>4&&(i===110||i===78)){if(--r,i=e.charCodeAt(r),i!==105&&i!==73||(--r,i=e.charCodeAt(r),i!==109&&i!==77))break;--r,i=e.charCodeAt(r)}else break;if(i!==45&&i!==46)break;t=r}return t===e.length?e:e.slice(0,t)}function m8(e,t){for(let r=0;r<e.length;r++)if(e[r]===t)return y0(e,r),!0;return!1}function y0(e,t){for(let r=t;r<e.length-1;r++)e[r]=e[r+1];e.pop()}function zU(e,t){e[t]=e[e.length-1],e.pop()}function YD(e,t){return Nke(e,r=>r===t)}function Nke(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return zU(e,r),!0;return!1}function Dl(e){return e?Ks:n_}function kae({prefix:e,suffix:t}){return`${e}*${t}`}function Dae(e,t){return L.assert(h8(e,t)),t.substring(e.prefix.length,t.length-e.suffix.length)}function JU(e,t,r){let i,o=-1;for(let s of e){let l=t(s);h8(l,r)&&l.prefix.length>o&&(o=l.prefix.length,i=s)}return i}function na(e,t){return e.lastIndexOf(t,0)===0}function QC(e,t){return na(e,t)?e.substr(t.length):e}function KU(e,t,r=Ks){return na(r(e),r(t))?e.substring(t.length):void 0}function h8({prefix:e,suffix:t},r){return r.length>=e.length+t.length&&na(r,e)&&Oc(r,t)}function g8(e,t){return r=>e(r)&&t(r)}function Kp(...e){return(...t)=>{let r;for(let i of e)if(r=i(...t),r)return r;return r}}function y8(e){return(...t)=>!e(...t)}function Pke(e){}function aT(e){return e===void 0?void 0:[e]}function wae(e,t,r,i,o,s){s=s||Ba;let l=0,f=0,d=e.length,g=t.length,m=!1;for(;l<d&&f<g;){let v=e[l],S=t[f],x=r(v,S);x===-1?(i(v),l++,m=!0):x===1?(o(S),f++,m=!0):(s(S,v),l++,f++)}for(;l<d;)i(e[l++]),m=!0;for(;f<g;)o(t[f++]),m=!0;return m}function Rae(e){let t=[];return Oae(e,t,void 0,0),t}function Oae(e,t,r,i){for(let o of e[i]){let s;r?(s=r.slice(),s.push(o)):s=[o],i===e.length-1?t.push(s):Oae(e,t,s,i+1)}}function J1(e,t,r=" "){return t<=e.length?e:r.repeat(t-e.length)+e}function Mke(e,t,r=" "){return t<=e.length?e:e+r.repeat(t-e.length)}function v8(e,t){if(e){let r=e.length,i=0;for(;i<r&&t(e[i]);)i++;return e.slice(0,i)}}function Nae(e,t){if(e){let r=e.length,i=0;for(;i<r&&t(e[i]);)i++;return e.slice(i)}}function Fke(e){let t=e.length-1;for(;t>=0&&xh(e.charCodeAt(t));)t--;return e.slice(0,t+1)}function qU(){return typeof process<"u"&&process.nextTick&&!process.browser&&typeof IU=="object"}var Je,b8,Pae,XU,Ig,Lg,E8,YU,$U,Mae,QU,T8,v0,$D,ZC,Gke=gt({"src/compiler/core.ts"(){"use strict";fa(),Je=[],b8=new Map,Pae=new Set,XU=(e=>(e[e.None=0]="None",e[e.CaseSensitive=1]="CaseSensitive",e[e.CaseInsensitive=2]="CaseInsensitive",e[e.Both=3]="Both",e))(XU||{}),Ig=Array.prototype.at?(e,t)=>e?.at(t):(e,t)=>{if(e&&(t=FU(e,t),t<e.length))return e[t]},Lg=Object.prototype.hasOwnProperty,E8={push:Ba,length:0},YU=/[^\u0130\u0131\u00DFa-z0-9\\/:\-_\. ]+/g,$U=(e=>(e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive",e))($U||{}),Mae=(()=>{let e,t,r=f();return d;function i(g,m,v){if(g===m)return 0;if(g===void 0)return-1;if(m===void 0)return 1;let S=v(g,m);return S<0?-1:S>0?1:0}function o(g){let m=new Intl.Collator(g,{usage:"sort",sensitivity:"variant"}).compare;return(v,S)=>i(v,S,m)}function s(g){if(g!==void 0)return l();return(v,S)=>i(v,S,m);function m(v,S){return v.localeCompare(S)}}function l(){return(v,S)=>i(v,S,g);function g(v,S){return m(v.toUpperCase(),S.toUpperCase())||m(v,S)}function m(v,S){return v<S?-1:v>S?1:0}}function f(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?o:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?s:l}function d(g){return g===void 0?e||(e=r(g)):g==="en-US"?t||(t=r(g)):r(g)}})(),v0=String.prototype.trim?e=>e.trim():e=>$D(ZC(e)),$D=String.prototype.trimEnd?e=>e.trimEnd():Fke,ZC=String.prototype.trimStart?e=>e.trimStart():e=>e.replace(/^\s+/g,"")}}),ZU,L,Bke=gt({"src/compiler/debug.ts"(){"use strict";fa(),fa(),ZU=(e=>(e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Info=3]="Info",e[e.Verbose=4]="Verbose",e))(ZU||{}),(e=>{let t=0;e.currentLogLevel=2,e.isDebugging=!1;function r(Dt){return e.currentLogLevel<=Dt}e.shouldLog=r;function i(Dt,pn){e.loggingHost&&r(Dt)&&e.loggingHost.log(Dt,pn)}function o(Dt){i(3,Dt)}e.log=o,(Dt=>{function pn(ri){i(1,ri)}Dt.error=pn;function An(ri){i(2,ri)}Dt.warn=An;function Kn(ri){i(3,ri)}Dt.log=Kn;function hi(ri){i(4,ri)}Dt.trace=hi})(o=e.log||(e.log={}));let s={};function l(){return t}e.getAssertionLevel=l;function f(Dt){let pn=t;if(t=Dt,Dt>pn)for(let An of bh(s)){let Kn=s[An];Kn!==void 0&&e[An]!==Kn.assertion&&Dt>=Kn.level&&(e[An]=Kn,s[An]=void 0)}}e.setAssertionLevel=f;function d(Dt){return t>=Dt}e.shouldAssert=d;function g(Dt,pn){return d(Dt)?!0:(s[pn]={level:Dt,assertion:e[pn]},e[pn]=Ba,!1)}function m(Dt,pn){let An=new Error(Dt?`Debug Failure. ${Dt}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(An,pn||m),An}e.fail=m;function v(Dt,pn,An){return m(`${pn||"Unexpected node."}\r
+Node ${Ve(Dt.kind)} was unexpected.`,An||v)}e.failBadSyntaxKind=v;function S(Dt,pn,An,Kn){Dt||(pn=pn?`False expression: ${pn}`:"False expression.",An&&(pn+=`\r
+Verbose Debug Information: `+(typeof An=="string"?An:An())),m(pn,Kn||S))}e.assert=S;function x(Dt,pn,An,Kn,hi){if(Dt!==pn){let ri=An?Kn?`${An} ${Kn}`:An:"";m(`Expected ${Dt} === ${pn}. ${ri}`,hi||x)}}e.assertEqual=x;function A(Dt,pn,An,Kn){Dt>=pn&&m(`Expected ${Dt} < ${pn}. ${An||""}`,Kn||A)}e.assertLessThan=A;function w(Dt,pn,An){Dt>pn&&m(`Expected ${Dt} <= ${pn}`,An||w)}e.assertLessThanOrEqual=w;function C(Dt,pn,An){Dt<pn&&m(`Expected ${Dt} >= ${pn}`,An||C)}e.assertGreaterThanOrEqual=C;function P(Dt,pn,An){Dt==null&&m(pn,An||P)}e.assertIsDefined=P;function F(Dt,pn,An){return P(Dt,pn,An||F),Dt}e.checkDefined=F;function B(Dt,pn,An){for(let Kn of Dt)P(Kn,pn,An||B)}e.assertEachIsDefined=B;function q(Dt,pn,An){return B(Dt,pn,An||q),Dt}e.checkEachDefined=q;function W(Dt,pn="Illegal value:",An){let Kn=typeof Dt=="object"&&fs(Dt,"kind")&&fs(Dt,"pos")?"SyntaxKind: "+Ve(Dt.kind):JSON.stringify(Dt);return m(`${pn} ${Kn}`,An||W)}e.assertNever=W;function Y(Dt,pn,An,Kn){g(1,"assertEachNode")&&S(pn===void 0||Ji(Dt,pn),An||"Unexpected node.",()=>`Node array did not pass test '${re(pn)}'.`,Kn||Y)}e.assertEachNode=Y;function R(Dt,pn,An,Kn){g(1,"assertNode")&&S(Dt!==void 0&&(pn===void 0||pn(Dt)),An||"Unexpected node.",()=>`Node ${Ve(Dt?.kind)} did not pass test '${re(pn)}'.`,Kn||R)}e.assertNode=R;function ie(Dt,pn,An,Kn){g(1,"assertNotNode")&&S(Dt===void 0||pn===void 0||!pn(Dt),An||"Unexpected node.",()=>`Node ${Ve(Dt.kind)} should not have passed test '${re(pn)}'.`,Kn||ie)}e.assertNotNode=ie;function $(Dt,pn,An,Kn){g(1,"assertOptionalNode")&&S(pn===void 0||Dt===void 0||pn(Dt),An||"Unexpected node.",()=>`Node ${Ve(Dt?.kind)} did not pass test '${re(pn)}'.`,Kn||$)}e.assertOptionalNode=$;function fe(Dt,pn,An,Kn){g(1,"assertOptionalToken")&&S(pn===void 0||Dt===void 0||Dt.kind===pn,An||"Unexpected node.",()=>`Node ${Ve(Dt?.kind)} was not a '${Ve(pn)}' token.`,Kn||fe)}e.assertOptionalToken=fe;function Z(Dt,pn,An){g(1,"assertMissingNode")&&S(Dt===void 0,pn||"Unexpected node.",()=>`Node ${Ve(Dt.kind)} was unexpected'.`,An||Z)}e.assertMissingNode=Z;function U(Dt){}e.type=U;function re(Dt){if(typeof Dt!="function")return"";if(fs(Dt,"name"))return Dt.name;{let pn=Function.prototype.toString.call(Dt),An=/^function\s+([\w\$]+)\s*\(/.exec(pn);return An?An[1]:""}}e.getFunctionName=re;function le(Dt){return`{ name: ${Gi(Dt.escapedName)}; flags: ${Be(Dt.flags)}; declarations: ${on(Dt.declarations,pn=>Ve(pn.kind))} }`}e.formatSymbol=le;function _e(Dt=0,pn,An){let Kn=X(pn);if(Dt===0)return Kn.length>0&&Kn[0][0]===0?Kn[0][1]:"0";if(An){let hi=[],ri=Dt;for(let[vn,Ht]of Kn){if(vn>Dt)break;vn!==0&&vn&Dt&&(hi.push(Ht),ri&=~vn)}if(ri===0)return hi.join("|")}else for(let[hi,ri]of Kn)if(hi===Dt)return ri;return Dt.toString()}e.formatEnum=_e;let ge=new Map;function X(Dt){let pn=ge.get(Dt);if(pn)return pn;let An=[];for(let hi in Dt){let ri=Dt[hi];typeof ri=="number"&&An.push([ri,hi])}let Kn=Ag(An,(hi,ri)=>Es(hi[0],ri[0]));return ge.set(Dt,Kn),Kn}function Ve(Dt){return _e(Dt,I8,!1)}e.formatSyntaxKind=Ve;function we(Dt){return _e(Dt,B8,!1)}e.formatSnippetKind=we;function ke(Dt){return _e(Dt,L8,!0)}e.formatNodeFlags=ke;function Pe(Dt){return _e(Dt,k8,!0)}e.formatModifierFlags=Pe;function Ce(Dt){return _e(Dt,G8,!0)}e.formatTransformFlags=Ce;function Ie(Dt){return _e(Dt,U8,!0)}e.formatEmitFlags=Ie;function Be(Dt){return _e(Dt,O8,!0)}e.formatSymbolFlags=Be;function Ne(Dt){return _e(Dt,N8,!0)}e.formatTypeFlags=Ne;function Le(Dt){return _e(Dt,M8,!0)}e.formatSignatureFlags=Le;function Ye(Dt){return _e(Dt,P8,!0)}e.formatObjectFlags=Ye;function _t(Dt){return _e(Dt,tw,!0)}e.formatFlowFlags=_t;function ct(Dt){return _e(Dt,D8,!0)}e.formatRelationComparisonResult=ct;function Rt(Dt){return _e(Dt,_F,!0)}e.formatCheckMode=Rt;function We(Dt){return _e(Dt,pF,!0)}e.formatSignatureCheckMode=We;function qe(Dt){return _e(Dt,dF,!0)}e.formatTypeFacts=qe;let zt=!1,Qt;function tn(Dt){"__debugFlowFlags"in Dt||Object.defineProperties(Dt,{__tsDebuggerDisplay:{value(){let pn=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",An=this.flags&-2048;return`${pn}${An?` (${_t(An)})`:""}`}},__debugFlowFlags:{get(){return _e(this.flags,tw,!0)}},__debugToString:{value(){return nn(this)}}})}function kn(Dt){zt&&(typeof Object.setPrototypeOf=="function"?(Qt||(Qt=Object.create(Object.prototype),tn(Qt)),Object.setPrototypeOf(Dt,Qt)):tn(Dt))}e.attachFlowNodeDebugInfo=kn;let _n;function Gt(Dt){"__tsDebuggerDisplay"in Dt||Object.defineProperties(Dt,{__tsDebuggerDisplay:{value(pn){return pn=String(pn).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),`NodeArray ${pn}`}}})}function $n(Dt){zt&&(typeof Object.setPrototypeOf=="function"?(_n||(_n=Object.create(Array.prototype),Gt(_n)),Object.setPrototypeOf(Dt,_n)):Gt(Dt))}e.attachNodeArrayDebugInfo=$n;function ui(){if(zt)return;let Dt=new WeakMap,pn=new WeakMap;Object.defineProperties(ml.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let Kn=this.flags&33554432?"TransientSymbol":"Symbol",hi=this.flags&-33554433;return`${Kn} '${fc(this)}'${hi?` (${Be(hi)})`:""}`}},__debugFlags:{get(){return Be(this.flags)}}}),Object.defineProperties(ml.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let Kn=this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&67359327?`IntrinsicType ${this.intrinsicName}`:this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",hi=this.flags&524288?this.objectFlags&-1344:0;return`${Kn}${this.symbol?` '${fc(this.symbol)}'`:""}${hi?` (${Ye(hi)})`:""}`}},__debugFlags:{get(){return Ne(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Ye(this.objectFlags):""}},__debugTypeToString:{value(){let Kn=Dt.get(this);return Kn===void 0&&(Kn=this.checker.typeToString(this),Dt.set(this,Kn)),Kn}}}),Object.defineProperties(ml.getSignatureConstructor().prototype,{__debugFlags:{get(){return Le(this.flags)}},__debugSignatureToString:{value(){var Kn;return(Kn=this.checker)==null?void 0:Kn.signatureToString(this)}}});let An=[ml.getNodeConstructor(),ml.getIdentifierConstructor(),ml.getTokenConstructor(),ml.getSourceFileConstructor()];for(let Kn of An)fs(Kn.prototype,"__debugKind")||Object.defineProperties(Kn.prototype,{__tsDebuggerDisplay:{value(){return`${tc(this)?"GeneratedIdentifier":Re(this)?`Identifier '${vr(this)}'`:pi(this)?`PrivateIdentifier '${vr(this)}'`:yo(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:Vf(this)?`NumericLiteral ${this.text}`:a3(this)?`BigIntLiteral ${this.text}n`:_c(this)?"TypeParameterDeclaration":ha(this)?"ParameterDeclaration":Ec(this)?"ConstructorDeclaration":p_(this)?"GetAccessorDeclaration":Sf(this)?"SetAccessorDeclaration":_2(this)?"CallSignatureDeclaration":uO(this)?"ConstructSignatureDeclaration":kS(this)?"IndexSignatureDeclaration":l3(this)?"TypePredicateNode":m_(this)?"TypeReferenceNode":Jm(this)?"FunctionTypeNode":yL(this)?"ConstructorTypeNode":vL(this)?"TypeQueryNode":Rd(this)?"TypeLiteralNode":wz(this)?"ArrayTypeNode":p2(this)?"TupleTypeNode":Rz(this)?"OptionalTypeNode":Oz(this)?"RestTypeNode":DS(this)?"UnionTypeNode":dO(this)?"IntersectionTypeNode":m2(this)?"ConditionalTypeNode":h2(this)?"InferTypeNode":wS(this)?"ParenthesizedTypeNode":u3(this)?"ThisTypeNode":RS(this)?"TypeOperatorNode":OS(this)?"IndexedAccessTypeNode":EL(this)?"MappedTypeNode":mb(this)?"LiteralTypeNode":bL(this)?"NamedTupleMember":Mh(this)?"ImportTypeNode":Ve(this.kind)}${this.flags?` (${ke(this.flags)})`:""}`}},__debugKind:{get(){return Ve(this.kind)}},__debugNodeFlags:{get(){return ke(this.flags)}},__debugModifierFlags:{get(){return Pe(qce(this))}},__debugTransformFlags:{get(){return Ce(this.transformFlags)}},__debugIsParseTreeNode:{get(){return dI(this)}},__debugEmitFlags:{get(){return Ie(Ya(this))}},__debugGetText:{value(hi){if(ws(this))return"";let ri=pn.get(this);if(ri===void 0){let vn=ea(this),Ht=vn&&Gn(vn);ri=Ht?k0(Ht,vn,hi):"",pn.set(this,ri)}return ri}}});zt=!0}e.enableDebugInfo=ui;function Ni(Dt){let pn=Dt&7,An=pn===0?"in out":pn===3?"[bivariant]":pn===2?"in":pn===1?"out":pn===4?"[independent]":"";return Dt&8?An+=" (unmeasurable)":Dt&16&&(An+=" (unreliable)"),An}e.formatVariance=Ni;class Pi{__debugToString(){var pn;switch(this.kind){case 3:return((pn=this.debugInfo)==null?void 0:pn.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return kU(this.sources,this.targets||on(this.sources,()=>"any"),(An,Kn)=>`${An.__debugTypeToString()} -> ${typeof Kn=="string"?Kn:Kn.__debugTypeToString()}`).join(", ");case 2:return kU(this.sources,this.targets,(An,Kn)=>`${An.__debugTypeToString()} -> ${Kn().__debugTypeToString()}`).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(`
 `).join(`
     `)}
 m2: ${this.mapper2.__debugToString().split(`
 `).join(`
-    `)}`; default: return W(this)
-                                }
-                            }
-                        } e.DebugTypeMapper = Pi; function gr(Dt) { return e.isDebugging ? Object.setPrototypeOf(Dt, Pi.prototype) : Dt } e.attachDebugPrototypeIfDebug = gr; function pt(Dt) { return console.log(nn(Dt)) } e.printControlFlowGraph = pt; function nn(Dt) {
-                            let pn = -1; function An(pe) { return pe.id || (pe.id = pn, pn--), pe.id } let Kn; (pe => { pe.lr = "\u2500", pe.ud = "\u2502", pe.dr = "\u256D", pe.dl = "\u256E", pe.ul = "\u256F", pe.ur = "\u2570", pe.udr = "\u251C", pe.udl = "\u2524", pe.dlr = "\u252C", pe.ulr = "\u2534", pe.udlr = "\u256B" })(Kn || (Kn = {})); let hi; (pe => { pe[pe.None = 0] = "None", pe[pe.Up = 1] = "Up", pe[pe.Down = 2] = "Down", pe[pe.Left = 4] = "Left", pe[pe.Right = 8] = "Right", pe[pe.UpDown = 3] = "UpDown", pe[pe.LeftRight = 12] = "LeftRight", pe[pe.UpLeft = 5] = "UpLeft", pe[pe.UpRight = 9] = "UpRight", pe[pe.DownLeft = 6] = "DownLeft", pe[pe.DownRight = 10] = "DownRight", pe[pe.UpDownLeft = 7] = "UpDownLeft", pe[pe.UpDownRight = 11] = "UpDownRight", pe[pe.UpLeftRight = 13] = "UpLeftRight", pe[pe.DownLeftRight = 14] = "DownLeftRight", pe[pe.UpDownLeftRight = 15] = "UpDownLeftRight", pe[pe.NoChildren = 16] = "NoChildren" })(hi || (hi = {})); let ri = 2032, vn = 882, Ht = Object.create(null), En = [], dr = [], Cr = G(Dt, new Set); for (let pe of En) pe.text = ae(pe.flowNode, pe.circular), je(pe); let Se = Ge(Cr), at = kt(Se); return Kt(Cr, 0), rt(); function Tt(pe) { return !!(pe.flags & 128) } function ve(pe) { return !!(pe.flags & 12) && !!pe.antecedents } function nt(pe) { return !!(pe.flags & ri) } function ce(pe) { return !!(pe.flags & vn) } function Q(pe) { let z = []; for (let Te of pe.edges) Te.source === pe && z.push(Te.target); return z } function ue(pe) { let z = []; for (let Te of pe.edges) Te.target === pe && z.push(Te.source); return z } function G(pe, z) { let Te = An(pe), j = Ht[Te]; if (j && z.has(pe)) return j.circular = !0, j = { id: -1, flowNode: pe, edges: [], text: "", lane: -1, endLane: -1, level: -1, circular: "circularity" }, En.push(j), j; if (z.add(pe), !j) if (Ht[Te] = j = { id: Te, flowNode: pe, edges: [], text: "", lane: -1, endLane: -1, level: -1, circular: !1 }, En.push(j), ve(pe)) for (let yt of pe.antecedents) Oe(j, yt, z); else nt(pe) && Oe(j, pe.antecedent, z); return z.delete(pe), j } function Oe(pe, z, Te) { let j = G(z, Te), yt = { source: pe, target: j }; dr.push(yt), pe.edges.push(yt), j.edges.push(yt) } function je(pe) { if (pe.level !== -1) return pe.level; let z = 0; for (let Te of ue(pe)) z = Math.max(z, je(Te) + 1); return pe.level = z } function Ge(pe) { let z = 0; for (let Te of Q(pe)) z = Math.max(z, Ge(Te)); return z + 1 } function kt(pe) { let z = Ke(Array(pe), 0); for (let Te of En) z[Te.level] = Math.max(z[Te.level], Te.text.length); return z } function Kt(pe, z) { if (pe.lane === -1) { pe.lane = z, pe.endLane = z; let Te = Q(pe); for (let j = 0; j < Te.length; j++) { j > 0 && z++; let yt = Te[j]; Kt(yt, z), yt.endLane > pe.endLane && (z = yt.endLane) } pe.endLane = z } } function ln(pe) { if (pe & 2) return "Start"; if (pe & 4) return "Branch"; if (pe & 8) return "Loop"; if (pe & 16) return "Assignment"; if (pe & 32) return "True"; if (pe & 64) return "False"; if (pe & 128) return "SwitchClause"; if (pe & 256) return "ArrayMutation"; if (pe & 512) return "Call"; if (pe & 1024) return "ReduceLabel"; if (pe & 1) return "Unreachable"; throw new Error } function ir(pe) { let z = Gn(pe); return k0(z, pe, !1) } function ae(pe, z) { let Te = ln(pe.flags); if (z && (Te = `${Te}#${An(pe)}`), ce(pe)) pe.node && (Te += ` (${ir(pe.node)})`); else if (Tt(pe)) { let j = []; for (let yt = pe.clauseStart; yt < pe.clauseEnd; yt++) { let lt = pe.switchStatement.caseBlock.clauses[yt]; yO(lt) ? j.push("default") : j.push(ir(lt.expression)) } Te += ` (${j.join(", ")})` } return z === "circularity" ? `Circular(${Te})` : Te } function rt() {
-                                let pe = at.length, z = En.reduce((Qe, Vt) => Math.max(Qe, Vt.lane), 0) + 1, Te = Ke(Array(z), ""), j = at.map(() => Array(z)), yt = at.map(() => Ke(Array(z), 0)); for (let Qe of En) { j[Qe.level][Qe.lane] = Qe; let Vt = Q(Qe); for (let jr = 0; jr < Vt.length; jr++) { let ei = Vt[jr], Kr = 8; ei.lane === Qe.lane && (Kr |= 4), jr > 0 && (Kr |= 1), jr < Vt.length - 1 && (Kr |= 2), yt[Qe.level][ei.lane] |= Kr } Vt.length === 0 && (yt[Qe.level][Qe.lane] |= 16); let Hn = ue(Qe); for (let jr = 0; jr < Hn.length; jr++) { let ei = Hn[jr], Kr = 4; jr > 0 && (Kr |= 1), jr < Hn.length - 1 && (Kr |= 2), yt[Qe.level - 1][ei.lane] |= Kr } } for (let Qe = 0; Qe < pe; Qe++)for (let Vt = 0; Vt < z; Vt++) { let Hn = Qe > 0 ? yt[Qe - 1][Vt] : 0, jr = Vt > 0 ? yt[Qe][Vt - 1] : 0, ei = yt[Qe][Vt]; ei || (Hn & 8 && (ei |= 12), jr & 2 && (ei |= 3), yt[Qe][Vt] = ei) } for (let Qe = 0; Qe < pe; Qe++)for (let Vt = 0; Vt < Te.length; Vt++) { let Hn = yt[Qe][Vt], jr = Hn & 4 ? "\u2500" : " ", ei = j[Qe][Vt]; ei ? (lt(Vt, ei.text), Qe < pe - 1 && (lt(Vt, " "), lt(Vt, oe(jr, at[Qe] - ei.text.length)))) : Qe < pe - 1 && lt(Vt, oe(jr, at[Qe] + 1)), lt(Vt, Ot(Hn)), lt(Vt, Hn & 8 && Qe < pe - 1 && !j[Qe + 1][Vt] ? "\u2500" : " ") } return `
+    `)}`;default:return W(this)}}}e.DebugTypeMapper=Pi;function gr(Dt){return e.isDebugging?Object.setPrototypeOf(Dt,Pi.prototype):Dt}e.attachDebugPrototypeIfDebug=gr;function pt(Dt){return console.log(nn(Dt))}e.printControlFlowGraph=pt;function nn(Dt){let pn=-1;function An(pe){return pe.id||(pe.id=pn,pn--),pe.id}let Kn;(pe=>{pe.lr="\u2500",pe.ud="\u2502",pe.dr="\u256D",pe.dl="\u256E",pe.ul="\u256F",pe.ur="\u2570",pe.udr="\u251C",pe.udl="\u2524",pe.dlr="\u252C",pe.ulr="\u2534",pe.udlr="\u256B"})(Kn||(Kn={}));let hi;(pe=>{pe[pe.None=0]="None",pe[pe.Up=1]="Up",pe[pe.Down=2]="Down",pe[pe.Left=4]="Left",pe[pe.Right=8]="Right",pe[pe.UpDown=3]="UpDown",pe[pe.LeftRight=12]="LeftRight",pe[pe.UpLeft=5]="UpLeft",pe[pe.UpRight=9]="UpRight",pe[pe.DownLeft=6]="DownLeft",pe[pe.DownRight=10]="DownRight",pe[pe.UpDownLeft=7]="UpDownLeft",pe[pe.UpDownRight=11]="UpDownRight",pe[pe.UpLeftRight=13]="UpLeftRight",pe[pe.DownLeftRight=14]="DownLeftRight",pe[pe.UpDownLeftRight=15]="UpDownLeftRight",pe[pe.NoChildren=16]="NoChildren"})(hi||(hi={}));let ri=2032,vn=882,Ht=Object.create(null),En=[],dr=[],Cr=G(Dt,new Set);for(let pe of En)pe.text=ae(pe.flowNode,pe.circular),je(pe);let Se=Ge(Cr),at=kt(Se);return Kt(Cr,0),rt();function Tt(pe){return!!(pe.flags&128)}function ve(pe){return!!(pe.flags&12)&&!!pe.antecedents}function nt(pe){return!!(pe.flags&ri)}function ce(pe){return!!(pe.flags&vn)}function Q(pe){let z=[];for(let Te of pe.edges)Te.source===pe&&z.push(Te.target);return z}function ue(pe){let z=[];for(let Te of pe.edges)Te.target===pe&&z.push(Te.source);return z}function G(pe,z){let Te=An(pe),j=Ht[Te];if(j&&z.has(pe))return j.circular=!0,j={id:-1,flowNode:pe,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},En.push(j),j;if(z.add(pe),!j)if(Ht[Te]=j={id:Te,flowNode:pe,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},En.push(j),ve(pe))for(let yt of pe.antecedents)Oe(j,yt,z);else nt(pe)&&Oe(j,pe.antecedent,z);return z.delete(pe),j}function Oe(pe,z,Te){let j=G(z,Te),yt={source:pe,target:j};dr.push(yt),pe.edges.push(yt),j.edges.push(yt)}function je(pe){if(pe.level!==-1)return pe.level;let z=0;for(let Te of ue(pe))z=Math.max(z,je(Te)+1);return pe.level=z}function Ge(pe){let z=0;for(let Te of Q(pe))z=Math.max(z,Ge(Te));return z+1}function kt(pe){let z=Ke(Array(pe),0);for(let Te of En)z[Te.level]=Math.max(z[Te.level],Te.text.length);return z}function Kt(pe,z){if(pe.lane===-1){pe.lane=z,pe.endLane=z;let Te=Q(pe);for(let j=0;j<Te.length;j++){j>0&&z++;let yt=Te[j];Kt(yt,z),yt.endLane>pe.endLane&&(z=yt.endLane)}pe.endLane=z}}function ln(pe){if(pe&2)return"Start";if(pe&4)return"Branch";if(pe&8)return"Loop";if(pe&16)return"Assignment";if(pe&32)return"True";if(pe&64)return"False";if(pe&128)return"SwitchClause";if(pe&256)return"ArrayMutation";if(pe&512)return"Call";if(pe&1024)return"ReduceLabel";if(pe&1)return"Unreachable";throw new Error}function ir(pe){let z=Gn(pe);return k0(z,pe,!1)}function ae(pe,z){let Te=ln(pe.flags);if(z&&(Te=`${Te}#${An(pe)}`),ce(pe))pe.node&&(Te+=` (${ir(pe.node)})`);else if(Tt(pe)){let j=[];for(let yt=pe.clauseStart;yt<pe.clauseEnd;yt++){let lt=pe.switchStatement.caseBlock.clauses[yt];yO(lt)?j.push("default"):j.push(ir(lt.expression))}Te+=` (${j.join(", ")})`}return z==="circularity"?`Circular(${Te})`:Te}function rt(){let pe=at.length,z=En.reduce((Qe,Vt)=>Math.max(Qe,Vt.lane),0)+1,Te=Ke(Array(z),""),j=at.map(()=>Array(z)),yt=at.map(()=>Ke(Array(z),0));for(let Qe of En){j[Qe.level][Qe.lane]=Qe;let Vt=Q(Qe);for(let jr=0;jr<Vt.length;jr++){let ei=Vt[jr],Kr=8;ei.lane===Qe.lane&&(Kr|=4),jr>0&&(Kr|=1),jr<Vt.length-1&&(Kr|=2),yt[Qe.level][ei.lane]|=Kr}Vt.length===0&&(yt[Qe.level][Qe.lane]|=16);let Hn=ue(Qe);for(let jr=0;jr<Hn.length;jr++){let ei=Hn[jr],Kr=4;jr>0&&(Kr|=1),jr<Hn.length-1&&(Kr|=2),yt[Qe.level-1][ei.lane]|=Kr}}for(let Qe=0;Qe<pe;Qe++)for(let Vt=0;Vt<z;Vt++){let Hn=Qe>0?yt[Qe-1][Vt]:0,jr=Vt>0?yt[Qe][Vt-1]:0,ei=yt[Qe][Vt];ei||(Hn&8&&(ei|=12),jr&2&&(ei|=3),yt[Qe][Vt]=ei)}for(let Qe=0;Qe<pe;Qe++)for(let Vt=0;Vt<Te.length;Vt++){let Hn=yt[Qe][Vt],jr=Hn&4?"\u2500":" ",ei=j[Qe][Vt];ei?(lt(Vt,ei.text),Qe<pe-1&&(lt(Vt," "),lt(Vt,oe(jr,at[Qe]-ei.text.length)))):Qe<pe-1&&lt(Vt,oe(jr,at[Qe]+1)),lt(Vt,Ot(Hn)),lt(Vt,Hn&8&&Qe<pe-1&&!j[Qe+1][Vt]?"\u2500":" ")}return`
 ${Te.join(`
 `)}
-`; function lt(Qe, Vt) { Te[Qe] += Vt }
-                            } function Ot(pe) { switch (pe) { case 3: return "\u2502"; case 12: return "\u2500"; case 5: return "\u256F"; case 9: return "\u2570"; case 6: return "\u256E"; case 10: return "\u256D"; case 7: return "\u2524"; case 11: return "\u251C"; case 13: return "\u2534"; case 14: return "\u252C"; case 15: return "\u256B" }return " " } function Ke(pe, z) { if (pe.fill) pe.fill(z); else for (let Te = 0; Te < pe.length; Te++)pe[Te] = z; return pe } function oe(pe, z) { if (pe.repeat) return z > 0 ? pe.repeat(z) : ""; let Te = ""; for (; Te.length < z;)Te += pe; return Te }
-                        } e.formatControlFlowGraph = nn
-                    })(L || (L = {}))
-                }
-            }); function Fae(e) { let t = Bae.exec(e); if (!t) return; let [, r, i = "0", o = "0", s = "", l = ""] = t; if (!(s && !Uae.test(s)) && !(l && !jae.test(l))) return { major: parseInt(r, 10), minor: parseInt(i, 10), patch: parseInt(o, 10), prerelease: s, build: l } } function Uke(e, t) { if (e === t) return 0; if (e.length === 0) return t.length === 0 ? 0 : 1; if (t.length === 0) return -1; let r = Math.min(e.length, t.length); for (let i = 0; i < r; i++) { let o = e[i], s = t[i]; if (o === s) continue; let l = tV.test(o), f = tV.test(s); if (l || f) { if (l !== f) return l ? -1 : 1; let d = Es(+o, +s); if (d) return d } else { let d = su(o, s); if (d) return d } } return Es(e.length, t.length) } function Gae(e) { let t = []; for (let r of v0(e).split(Wae)) { if (!r) continue; let i = []; r = v0(r); let o = Kae.exec(r); if (o) { if (!Vke(o[1], o[2], i)) return } else for (let s of r.split(zae)) { let l = qae.exec(v0(s)); if (!l || !jke(l[1], l[2], i)) return } t.push(i) } return t } function eV(e) { let t = Jae.exec(e); if (!t) return; let [, r, i = "*", o = "*", s, l] = t; return { version: new r_(mf(r) ? 0 : parseInt(r, 10), mf(r) || mf(i) ? 0 : parseInt(i, 10), mf(r) || mf(i) || mf(o) ? 0 : parseInt(o, 10), s, l), major: r, minor: i, patch: o } } function Vke(e, t, r) { let i = eV(e); if (!i) return !1; let o = eV(t); return o ? (mf(i.major) || r.push(dp(">=", i.version)), mf(o.major) || r.push(mf(o.minor) ? dp("<", o.version.increment("major")) : mf(o.patch) ? dp("<", o.version.increment("minor")) : dp("<=", o.version)), !0) : !1 } function jke(e, t, r) { let i = eV(t); if (!i) return !1; let { version: o, major: s, minor: l, patch: f } = i; if (mf(s)) (e === "<" || e === ">") && r.push(dp("<", r_.zero)); else switch (e) { case "~": r.push(dp(">=", o)), r.push(dp("<", o.increment(mf(l) ? "major" : "minor"))); break; case "^": r.push(dp(">=", o)), r.push(dp("<", o.increment(o.major > 0 || mf(l) ? "major" : o.minor > 0 || mf(f) ? "minor" : "patch"))); break; case "<": case ">=": r.push(mf(l) || mf(f) ? dp(e, o.with({ prerelease: "0" })) : dp(e, o)); break; case "<=": case ">": r.push(mf(l) ? dp(e === "<=" ? "<" : ">=", o.increment("major").with({ prerelease: "0" })) : mf(f) ? dp(e === "<=" ? "<" : ">=", o.increment("minor").with({ prerelease: "0" })) : dp(e, o)); break; case "=": case void 0: mf(l) || mf(f) ? (r.push(dp(">=", o.with({ prerelease: "0" }))), r.push(dp("<", o.increment(mf(l) ? "major" : "minor").with({ prerelease: "0" })))) : r.push(dp("=", o)); break; default: return !1 }return !0 } function mf(e) { return e === "*" || e === "x" || e === "X" } function dp(e, t) { return { operator: e, operand: t } } function Hke(e, t) { if (t.length === 0) return !0; for (let r of t) if (Wke(e, r)) return !0; return !1 } function Wke(e, t) { for (let r of t) if (!zke(e, r.operator, r.operand)) return !1; return !0 } function zke(e, t, r) { let i = e.compareTo(r); switch (t) { case "<": return i < 0; case "<=": return i <= 0; case ">": return i > 0; case ">=": return i >= 0; case "=": return i === 0; default: return L.assertNever(t) } } function Jke(e) { return on(e, Kke).join(" || ") || "*" } function Kke(e) { return on(e, qke).join(" ") } function qke(e) { return `${e.operator}${e.operand}` } var Bae, Uae, Vae, jae, Hae, tV, K1, r_, mA, Wae, zae, Jae, Kae, qae, Xke = gt({ "src/compiler/semver.ts"() { "use strict"; fa(), Bae = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i, Uae = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i, Vae = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i, jae = /^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i, Hae = /^[a-z0-9-]+$/i, tV = /^(0|[1-9]\d*)$/, K1 = class { constructor(e, t = 0, r = 0, i = "", o = "") { typeof e == "string" && ({ major: e, minor: t, patch: r, prerelease: i, build: o } = L.checkDefined(Fae(e), "Invalid version")), L.assert(e >= 0, "Invalid argument: major"), L.assert(t >= 0, "Invalid argument: minor"), L.assert(r >= 0, "Invalid argument: patch"); let s = i ? ba(i) ? i : i.split(".") : Je, l = o ? ba(o) ? o : o.split(".") : Je; L.assert(Ji(s, f => Vae.test(f)), "Invalid argument: prerelease"), L.assert(Ji(l, f => Hae.test(f)), "Invalid argument: build"), this.major = e, this.minor = t, this.patch = r, this.prerelease = s, this.build = l } static tryParse(e) { let t = Fae(e); if (!t) return; let { major: r, minor: i, patch: o, prerelease: s, build: l } = t; return new K1(r, i, o, s, l) } compareTo(e) { return this === e ? 0 : e === void 0 ? 1 : Es(this.major, e.major) || Es(this.minor, e.minor) || Es(this.patch, e.patch) || Uke(this.prerelease, e.prerelease) } increment(e) { switch (e) { case "major": return new K1(this.major + 1, 0, 0); case "minor": return new K1(this.major, this.minor + 1, 0); case "patch": return new K1(this.major, this.minor, this.patch + 1); default: return L.assertNever(e) } } with(e) { let { major: t = this.major, minor: r = this.minor, patch: i = this.patch, prerelease: o = this.prerelease, build: s = this.build } = e; return new K1(t, r, i, o, s) } toString() { let e = `${this.major}.${this.minor}.${this.patch}`; return vt(this.prerelease) && (e += `-${this.prerelease.join(".")}`), vt(this.build) && (e += `+${this.build.join(".")}`), e } }, r_ = K1, r_.zero = new K1(0, 0, 0, ["0"]), mA = class { constructor(e) { this._alternatives = e ? L.checkDefined(Gae(e), "Invalid range spec.") : Je } static tryParse(e) { let t = Gae(e); if (t) { let r = new mA(""); return r._alternatives = t, r } } test(e) { return typeof e == "string" && (e = new r_(e)), Hke(e, this._alternatives) } toString() { return Jke(this._alternatives) } }, Wae = /\|\|/g, zae = /\s+/g, Jae = /^([xX*0]|[1-9]\d*)(?:\.([xX*0]|[1-9]\d*)(?:\.([xX*0]|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i, Kae = /^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i, qae = /^(~|\^|<|<=|>|>=|=)?\s*([a-z0-9-+.*]+)$/i } }); function Xae(e, t) { return typeof e == "object" && typeof e.timeOrigin == "number" && typeof e.mark == "function" && typeof e.measure == "function" && typeof e.now == "function" && typeof e.clearMarks == "function" && typeof e.clearMeasures == "function" && typeof t == "function" } function Yke() { if (typeof performance == "object" && typeof PerformanceObserver == "function" && Xae(performance, PerformanceObserver)) return { shouldWriteNativeEvents: !0, performance, PerformanceObserver } } function $ke() { if (qU()) try { let e, { performance: t, PerformanceObserver: r } = d0("perf_hooks"); if (Xae(t, r)) { e = t; let i = new r_(process.versions.node); return new mA("<12.16.3 || 13 <13.13").test(i) && (e = { get timeOrigin() { return t.timeOrigin }, now() { return t.now() }, mark(s) { return t.mark(s) }, measure(s, l = "nodeStart", f) { f === void 0 && (f = "__performance.measure-fix__", t.mark(f)), t.measure(s, l, f), f === "__performance.measure-fix__" && t.clearMarks("__performance.measure-fix__") }, clearMarks(s) { return t.clearMarks(s) }, clearMeasures(s) { return t.clearMeasures(s) } }), { shouldWriteNativeEvents: !1, performance: e, PerformanceObserver: r } } } catch { } } function Yae() { return S8 } var S8, nV, Ms, Qke = gt({ "src/compiler/performanceCore.ts"() { "use strict"; fa(), S8 = Yke() || $ke(), nV = S8?.performance, Ms = nV ? () => nV.now() : Date.now ? Date.now : () => +new Date } }), $ae, QD, Qae, fp, Zke = gt({ "src/compiler/perfLogger.ts"() { "use strict"; fa(), $ae = { logEvent: Ba, logErrEvent: Ba, logPerfEvent: Ba, logInfoEvent: Ba, logStartCommand: Ba, logStopCommand: Ba, logStartUpdateProgram: Ba, logStopUpdateProgram: Ba, logStartUpdateGraph: Ba, logStopUpdateGraph: Ba, logStartResolveModule: Ba, logStopResolveModule: Ba, logStartParseSourceFile: Ba, logStopParseSourceFile: Ba, logStartReadFile: Ba, logStopReadFile: Ba, logStartBindFile: Ba, logStopBindFile: Ba, logStartScheduledOperation: Ba, logStopScheduledOperation: Ba }; try { let e = (Qae = process.env.TS_ETW_MODULE_PATH) != null ? Qae : "./node_modules/@microsoft/typescript-etw"; QD = d0(e) } catch { QD = void 0 } fp = QD?.logEvent ? QD : $ae } }); function Zae(e, t, r, i) { return e ? x8(t, r, i) : A8 } function x8(e, t, r) { let i = 0; return { enter: o, exit: s }; function o() { ++i === 1 && Fs(t) } function s() { --i === 0 ? (Fs(r), hf(e, t, r)) : i < 0 && L.fail("enter/exit count does not match.") } } function Fs(e) { var t; if (q1) { let r = (t = hA.get(e)) != null ? t : 0; hA.set(e, r + 1), X1.set(e, Ms()), b0?.mark(e), typeof onProfilerEvent == "function" && onProfilerEvent(e) } } function hf(e, t, r) { var i, o; if (q1) { let s = (i = r !== void 0 ? X1.get(r) : void 0) != null ? i : Ms(), l = (o = t !== void 0 ? X1.get(t) : void 0) != null ? o : rV, f = Y1.get(e) || 0; Y1.set(e, f + (s - l)), b0?.measure(e, t, r) } } function eDe(e) { return hA.get(e) || 0 } function tDe(e) { return Y1.get(e) || 0 } function nDe(e) { Y1.forEach((t, r) => e(r, t)) } function rDe(e) { X1.forEach((t, r) => e(r)) } function iDe(e) { e !== void 0 ? Y1.delete(e) : Y1.clear(), b0?.clearMeasures(e) } function aDe(e) { e !== void 0 ? (hA.delete(e), X1.delete(e)) : (hA.clear(), X1.clear()), b0?.clearMarks(e) } function oDe() { return q1 } function sDe(e = xl) { var t; return q1 || (q1 = !0, eI || (eI = Yae()), eI && (rV = eI.performance.timeOrigin, (eI.shouldWriteNativeEvents || (t = e?.cpuProfilingEnabled) != null && t.call(e) || e?.debugMode) && (b0 = eI.performance))), !0 } function cDe() { q1 && (X1.clear(), hA.clear(), Y1.clear(), b0 = void 0, q1 = !1) } var eI, b0, A8, q1, rV, X1, hA, Y1, lDe = gt({ "src/compiler/performance.ts"() { "use strict"; fa(), A8 = { enter: Ba, exit: Ba }, q1 = !1, rV = Ms(), X1 = new Map, hA = new Map, Y1 = new Map } }), ZD = {}; Mo(ZD, { clearMarks: () => aDe, clearMeasures: () => iDe, createTimer: () => x8, createTimerIf: () => Zae, disable: () => cDe, enable: () => sDe, forEachMark: () => rDe, forEachMeasure: () => nDe, getCount: () => eDe, getDuration: () => tDe, isEnabled: () => oDe, mark: () => Fs, measure: () => hf, nullTimer: () => A8 }); var E0 = gt({ "src/compiler/_namespaces/ts.performance.ts"() { "use strict"; lDe() } }), ai, ew, eoe, toe, uDe = gt({
-                "src/compiler/tracing.ts"() {
-                    "use strict"; fa(), E0(), (e => {
-                        let t, r = 0, i = 0, o, s = [], l, f = []; function d(R, ie, $) {
-                            if (L.assert(!ai, "Tracing already started"), t === void 0) try { t = d0("fs") } catch (le) {
-                                throw new Error(`tracing requires having fs
-(original error: ${le.message || le})`)
-                            } o = R, s.length = 0, l === void 0 && (l = vi(ie, "legend.json")), t.existsSync(ie) || t.mkdirSync(ie, { recursive: !0 }); let fe = o === "build" ? `.${process.pid}-${++r}` : o === "server" ? `.${process.pid}` : "", Z = vi(ie, `trace${fe}.json`), U = vi(ie, `types${fe}.json`); f.push({ configFilePath: $, tracePath: Z, typesPath: U }), i = t.openSync(Z, "w"), ai = e; let re = { cat: "__metadata", ph: "M", ts: 1e3 * Ms(), pid: 1, tid: 1 }; t.writeSync(i, `[
-`+ [{ name: "process_name", args: { name: "tsc" }, ...re }, { name: "thread_name", args: { name: "Main" }, ...re }, { name: "TracingStartedInBrowser", ...re, cat: "disabled-by-default-devtools.timeline" }].map(le => JSON.stringify(le)).join(`,
-`))
-                        } e.startTracing = d; function g() {
-                            L.assert(ai, "Tracing is not in progress"), L.assert(!!s.length == (o !== "server")), t.writeSync(i, `
+`;function lt(Qe,Vt){Te[Qe]+=Vt}}function Ot(pe){switch(pe){case 3:return"\u2502";case 12:return"\u2500";case 5:return"\u256F";case 9:return"\u2570";case 6:return"\u256E";case 10:return"\u256D";case 7:return"\u2524";case 11:return"\u251C";case 13:return"\u2534";case 14:return"\u252C";case 15:return"\u256B"}return" "}function Ke(pe,z){if(pe.fill)pe.fill(z);else for(let Te=0;Te<pe.length;Te++)pe[Te]=z;return pe}function oe(pe,z){if(pe.repeat)return z>0?pe.repeat(z):"";let Te="";for(;Te.length<z;)Te+=pe;return Te}}e.formatControlFlowGraph=nn})(L||(L={}))}});function Fae(e){let t=Bae.exec(e);if(!t)return;let[,r,i="0",o="0",s="",l=""]=t;if(!(s&&!Uae.test(s))&&!(l&&!jae.test(l)))return{major:parseInt(r,10),minor:parseInt(i,10),patch:parseInt(o,10),prerelease:s,build:l}}function Uke(e,t){if(e===t)return 0;if(e.length===0)return t.length===0?0:1;if(t.length===0)return-1;let r=Math.min(e.length,t.length);for(let i=0;i<r;i++){let o=e[i],s=t[i];if(o===s)continue;let l=tV.test(o),f=tV.test(s);if(l||f){if(l!==f)return l?-1:1;let d=Es(+o,+s);if(d)return d}else{let d=su(o,s);if(d)return d}}return Es(e.length,t.length)}function Gae(e){let t=[];for(let r of v0(e).split(Wae)){if(!r)continue;let i=[];r=v0(r);let o=Kae.exec(r);if(o){if(!Vke(o[1],o[2],i))return}else for(let s of r.split(zae)){let l=qae.exec(v0(s));if(!l||!jke(l[1],l[2],i))return}t.push(i)}return t}function eV(e){let t=Jae.exec(e);if(!t)return;let[,r,i="*",o="*",s,l]=t;return{version:new r_(mf(r)?0:parseInt(r,10),mf(r)||mf(i)?0:parseInt(i,10),mf(r)||mf(i)||mf(o)?0:parseInt(o,10),s,l),major:r,minor:i,patch:o}}function Vke(e,t,r){let i=eV(e);if(!i)return!1;let o=eV(t);return o?(mf(i.major)||r.push(dp(">=",i.version)),mf(o.major)||r.push(mf(o.minor)?dp("<",o.version.increment("major")):mf(o.patch)?dp("<",o.version.increment("minor")):dp("<=",o.version)),!0):!1}function jke(e,t,r){let i=eV(t);if(!i)return!1;let{version:o,major:s,minor:l,patch:f}=i;if(mf(s))(e==="<"||e===">")&&r.push(dp("<",r_.zero));else switch(e){case"~":r.push(dp(">=",o)),r.push(dp("<",o.increment(mf(l)?"major":"minor")));break;case"^":r.push(dp(">=",o)),r.push(dp("<",o.increment(o.major>0||mf(l)?"major":o.minor>0||mf(f)?"minor":"patch")));break;case"<":case">=":r.push(mf(l)||mf(f)?dp(e,o.with({prerelease:"0"})):dp(e,o));break;case"<=":case">":r.push(mf(l)?dp(e==="<="?"<":">=",o.increment("major").with({prerelease:"0"})):mf(f)?dp(e==="<="?"<":">=",o.increment("minor").with({prerelease:"0"})):dp(e,o));break;case"=":case void 0:mf(l)||mf(f)?(r.push(dp(">=",o.with({prerelease:"0"}))),r.push(dp("<",o.increment(mf(l)?"major":"minor").with({prerelease:"0"})))):r.push(dp("=",o));break;default:return!1}return!0}function mf(e){return e==="*"||e==="x"||e==="X"}function dp(e,t){return{operator:e,operand:t}}function Hke(e,t){if(t.length===0)return!0;for(let r of t)if(Wke(e,r))return!0;return!1}function Wke(e,t){for(let r of t)if(!zke(e,r.operator,r.operand))return!1;return!0}function zke(e,t,r){let i=e.compareTo(r);switch(t){case"<":return i<0;case"<=":return i<=0;case">":return i>0;case">=":return i>=0;case"=":return i===0;default:return L.assertNever(t)}}function Jke(e){return on(e,Kke).join(" || ")||"*"}function Kke(e){return on(e,qke).join(" ")}function qke(e){return`${e.operator}${e.operand}`}var Bae,Uae,Vae,jae,Hae,tV,K1,r_,mA,Wae,zae,Jae,Kae,qae,Xke=gt({"src/compiler/semver.ts"(){"use strict";fa(),Bae=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,Uae=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,Vae=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i,jae=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,Hae=/^[a-z0-9-]+$/i,tV=/^(0|[1-9]\d*)$/,K1=class{constructor(e,t=0,r=0,i="",o=""){typeof e=="string"&&({major:e,minor:t,patch:r,prerelease:i,build:o}=L.checkDefined(Fae(e),"Invalid version")),L.assert(e>=0,"Invalid argument: major"),L.assert(t>=0,"Invalid argument: minor"),L.assert(r>=0,"Invalid argument: patch");let s=i?ba(i)?i:i.split("."):Je,l=o?ba(o)?o:o.split("."):Je;L.assert(Ji(s,f=>Vae.test(f)),"Invalid argument: prerelease"),L.assert(Ji(l,f=>Hae.test(f)),"Invalid argument: build"),this.major=e,this.minor=t,this.patch=r,this.prerelease=s,this.build=l}static tryParse(e){let t=Fae(e);if(!t)return;let{major:r,minor:i,patch:o,prerelease:s,build:l}=t;return new K1(r,i,o,s,l)}compareTo(e){return this===e?0:e===void 0?1:Es(this.major,e.major)||Es(this.minor,e.minor)||Es(this.patch,e.patch)||Uke(this.prerelease,e.prerelease)}increment(e){switch(e){case"major":return new K1(this.major+1,0,0);case"minor":return new K1(this.major,this.minor+1,0);case"patch":return new K1(this.major,this.minor,this.patch+1);default:return L.assertNever(e)}}with(e){let{major:t=this.major,minor:r=this.minor,patch:i=this.patch,prerelease:o=this.prerelease,build:s=this.build}=e;return new K1(t,r,i,o,s)}toString(){let e=`${this.major}.${this.minor}.${this.patch}`;return vt(this.prerelease)&&(e+=`-${this.prerelease.join(".")}`),vt(this.build)&&(e+=`+${this.build.join(".")}`),e}},r_=K1,r_.zero=new K1(0,0,0,["0"]),mA=class{constructor(e){this._alternatives=e?L.checkDefined(Gae(e),"Invalid range spec."):Je}static tryParse(e){let t=Gae(e);if(t){let r=new mA("");return r._alternatives=t,r}}test(e){return typeof e=="string"&&(e=new r_(e)),Hke(e,this._alternatives)}toString(){return Jke(this._alternatives)}},Wae=/\|\|/g,zae=/\s+/g,Jae=/^([xX*0]|[1-9]\d*)(?:\.([xX*0]|[1-9]\d*)(?:\.([xX*0]|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,Kae=/^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i,qae=/^(~|\^|<|<=|>|>=|=)?\s*([a-z0-9-+.*]+)$/i}});function Xae(e,t){return typeof e=="object"&&typeof e.timeOrigin=="number"&&typeof e.mark=="function"&&typeof e.measure=="function"&&typeof e.now=="function"&&typeof e.clearMarks=="function"&&typeof e.clearMeasures=="function"&&typeof t=="function"}function Yke(){if(typeof performance=="object"&&typeof PerformanceObserver=="function"&&Xae(performance,PerformanceObserver))return{shouldWriteNativeEvents:!0,performance,PerformanceObserver}}function $ke(){if(qU())try{let e,{performance:t,PerformanceObserver:r}=d0("perf_hooks");if(Xae(t,r)){e=t;let i=new r_(process.versions.node);return new mA("<12.16.3 || 13 <13.13").test(i)&&(e={get timeOrigin(){return t.timeOrigin},now(){return t.now()},mark(s){return t.mark(s)},measure(s,l="nodeStart",f){f===void 0&&(f="__performance.measure-fix__",t.mark(f)),t.measure(s,l,f),f==="__performance.measure-fix__"&&t.clearMarks("__performance.measure-fix__")},clearMarks(s){return t.clearMarks(s)},clearMeasures(s){return t.clearMeasures(s)}}),{shouldWriteNativeEvents:!1,performance:e,PerformanceObserver:r}}}catch{}}function Yae(){return S8}var S8,nV,Ms,Qke=gt({"src/compiler/performanceCore.ts"(){"use strict";fa(),S8=Yke()||$ke(),nV=S8?.performance,Ms=nV?()=>nV.now():Date.now?Date.now:()=>+new Date}}),$ae,QD,Qae,fp,Zke=gt({"src/compiler/perfLogger.ts"(){"use strict";fa(),$ae={logEvent:Ba,logErrEvent:Ba,logPerfEvent:Ba,logInfoEvent:Ba,logStartCommand:Ba,logStopCommand:Ba,logStartUpdateProgram:Ba,logStopUpdateProgram:Ba,logStartUpdateGraph:Ba,logStopUpdateGraph:Ba,logStartResolveModule:Ba,logStopResolveModule:Ba,logStartParseSourceFile:Ba,logStopParseSourceFile:Ba,logStartReadFile:Ba,logStopReadFile:Ba,logStartBindFile:Ba,logStopBindFile:Ba,logStartScheduledOperation:Ba,logStopScheduledOperation:Ba};try{let e=(Qae=process.env.TS_ETW_MODULE_PATH)!=null?Qae:"./node_modules/@microsoft/typescript-etw";QD=d0(e)}catch{QD=void 0}fp=QD?.logEvent?QD:$ae}});function Zae(e,t,r,i){return e?x8(t,r,i):A8}function x8(e,t,r){let i=0;return{enter:o,exit:s};function o(){++i===1&&Fs(t)}function s(){--i===0?(Fs(r),hf(e,t,r)):i<0&&L.fail("enter/exit count does not match.")}}function Fs(e){var t;if(q1){let r=(t=hA.get(e))!=null?t:0;hA.set(e,r+1),X1.set(e,Ms()),b0?.mark(e),typeof onProfilerEvent=="function"&&onProfilerEvent(e)}}function hf(e,t,r){var i,o;if(q1){let s=(i=r!==void 0?X1.get(r):void 0)!=null?i:Ms(),l=(o=t!==void 0?X1.get(t):void 0)!=null?o:rV,f=Y1.get(e)||0;Y1.set(e,f+(s-l)),b0?.measure(e,t,r)}}function eDe(e){return hA.get(e)||0}function tDe(e){return Y1.get(e)||0}function nDe(e){Y1.forEach((t,r)=>e(r,t))}function rDe(e){X1.forEach((t,r)=>e(r))}function iDe(e){e!==void 0?Y1.delete(e):Y1.clear(),b0?.clearMeasures(e)}function aDe(e){e!==void 0?(hA.delete(e),X1.delete(e)):(hA.clear(),X1.clear()),b0?.clearMarks(e)}function oDe(){return q1}function sDe(e=xl){var t;return q1||(q1=!0,eI||(eI=Yae()),eI&&(rV=eI.performance.timeOrigin,(eI.shouldWriteNativeEvents||(t=e?.cpuProfilingEnabled)!=null&&t.call(e)||e?.debugMode)&&(b0=eI.performance))),!0}function cDe(){q1&&(X1.clear(),hA.clear(),Y1.clear(),b0=void 0,q1=!1)}var eI,b0,A8,q1,rV,X1,hA,Y1,lDe=gt({"src/compiler/performance.ts"(){"use strict";fa(),A8={enter:Ba,exit:Ba},q1=!1,rV=Ms(),X1=new Map,hA=new Map,Y1=new Map}}),ZD={};Mo(ZD,{clearMarks:()=>aDe,clearMeasures:()=>iDe,createTimer:()=>x8,createTimerIf:()=>Zae,disable:()=>cDe,enable:()=>sDe,forEachMark:()=>rDe,forEachMeasure:()=>nDe,getCount:()=>eDe,getDuration:()=>tDe,isEnabled:()=>oDe,mark:()=>Fs,measure:()=>hf,nullTimer:()=>A8});var E0=gt({"src/compiler/_namespaces/ts.performance.ts"(){"use strict";lDe()}}),ai,ew,eoe,toe,uDe=gt({"src/compiler/tracing.ts"(){"use strict";fa(),E0(),(e=>{let t,r=0,i=0,o,s=[],l,f=[];function d(R,ie,$){if(L.assert(!ai,"Tracing already started"),t===void 0)try{t=d0("fs")}catch(le){throw new Error(`tracing requires having fs
+(original error: ${le.message||le})`)}o=R,s.length=0,l===void 0&&(l=vi(ie,"legend.json")),t.existsSync(ie)||t.mkdirSync(ie,{recursive:!0});let fe=o==="build"?`.${process.pid}-${++r}`:o==="server"?`.${process.pid}`:"",Z=vi(ie,`trace${fe}.json`),U=vi(ie,`types${fe}.json`);f.push({configFilePath:$,tracePath:Z,typesPath:U}),i=t.openSync(Z,"w"),ai=e;let re={cat:"__metadata",ph:"M",ts:1e3*Ms(),pid:1,tid:1};t.writeSync(i,`[
+`+[{name:"process_name",args:{name:"tsc"},...re},{name:"thread_name",args:{name:"Main"},...re},{name:"TracingStartedInBrowser",...re,cat:"disabled-by-default-devtools.timeline"}].map(le=>JSON.stringify(le)).join(`,
+`))}e.startTracing=d;function g(){L.assert(ai,"Tracing is not in progress"),L.assert(!!s.length==(o!=="server")),t.writeSync(i,`
 ]
-`), t.closeSync(i), ai = void 0, s.length ? W(s) : f[f.length - 1].typesPath = void 0
-                        } e.stopTracing = g; function m(R) { o !== "server" && s.push(R) } e.recordType = m; let v; (R => { R.Parse = "parse", R.Program = "program", R.Bind = "bind", R.Check = "check", R.CheckTypes = "checkTypes", R.Emit = "emit", R.Session = "session" })(v = e.Phase || (e.Phase = {})); function S(R, ie, $) { B("I", R, ie, $, '"s":"g"') } e.instant = S; let x = []; function A(R, ie, $, fe = !1) { fe && B("B", R, ie, $), x.push({ phase: R, name: ie, args: $, time: 1e3 * Ms(), separateBeginAndEnd: fe }) } e.push = A; function w(R) { L.assert(x.length > 0), F(x.length - 1, 1e3 * Ms(), R), x.length-- } e.pop = w; function C() { let R = 1e3 * Ms(); for (let ie = x.length - 1; ie >= 0; ie--)F(ie, R); x.length = 0 } e.popAll = C; let P = 1e3 * 10; function F(R, ie, $) { let { phase: fe, name: Z, args: U, time: re, separateBeginAndEnd: le } = x[R]; le ? (L.assert(!$, "`results` are not supported for events with `separateBeginAndEnd`"), B("E", fe, Z, U, void 0, ie)) : P - re % P <= ie - re && B("X", fe, Z, { ...U, results: $ }, `"dur":${ie - re}`, re) } function B(R, ie, $, fe, Z, U = 1e3 * Ms()) {
-                            o === "server" && ie === "checkTypes" || (Fs("beginTracing"), t.writeSync(i, `,
-{"pid":1,"tid":1,"ph":"${R}","cat":"${ie}","ts":${U},"name":"${$}"`), Z && t.writeSync(i, `,${Z}`), fe && t.writeSync(i, `,"args":${JSON.stringify(fe)}`), t.writeSync(i, "}"), Fs("endTracing"), hf("Tracing", "beginTracing", "endTracing"))
-                        } function q(R) { let ie = Gn(R); return ie ? { path: ie.path, start: $(Gs(ie, R.pos)), end: $(Gs(ie, R.end)) } : void 0; function $(fe) { return { line: fe.line + 1, character: fe.character + 1 } } } function W(R) {
-                            var ie, $, fe, Z, U, re, le, _e, ge, X, Ve, we, ke, Pe, Ce, Ie, Be, Ne, Le, Ye, _t, ct; Fs("beginDumpTypes"); let Rt = f[f.length - 1].typesPath, We = t.openSync(Rt, "w"), qe = new Map; t.writeSync(We, "["); let zt = R.length; for (let Qt = 0; Qt < zt; Qt++) {
-                                let tn = R[Qt], kn = tn.objectFlags, _n = (ie = tn.aliasSymbol) != null ? ie : tn.symbol, Gt; if (kn & 16 | tn.flags & 2944) try { Gt = ($ = tn.checker) == null ? void 0 : $.typeToString(tn) } catch { Gt = void 0 } let $n = {}; if (tn.flags & 8388608) { let An = tn; $n = { indexedAccessObjectType: (fe = An.objectType) == null ? void 0 : fe.id, indexedAccessIndexType: (Z = An.indexType) == null ? void 0 : Z.id } } let ui = {}; if (kn & 4) { let An = tn; ui = { instantiatedType: (U = An.target) == null ? void 0 : U.id, typeArguments: (re = An.resolvedTypeArguments) == null ? void 0 : re.map(Kn => Kn.id), referenceLocation: q(An.node) } } let Ni = {}; if (tn.flags & 16777216) { let An = tn; Ni = { conditionalCheckType: (le = An.checkType) == null ? void 0 : le.id, conditionalExtendsType: (_e = An.extendsType) == null ? void 0 : _e.id, conditionalTrueType: (X = (ge = An.resolvedTrueType) == null ? void 0 : ge.id) != null ? X : -1, conditionalFalseType: (we = (Ve = An.resolvedFalseType) == null ? void 0 : Ve.id) != null ? we : -1 } } let Pi = {}; if (tn.flags & 33554432) { let An = tn; Pi = { substitutionBaseType: (ke = An.baseType) == null ? void 0 : ke.id, constraintType: (Pe = An.constraint) == null ? void 0 : Pe.id } } let gr = {}; if (kn & 1024) { let An = tn; gr = { reverseMappedSourceType: (Ce = An.source) == null ? void 0 : Ce.id, reverseMappedMappedType: (Ie = An.mappedType) == null ? void 0 : Ie.id, reverseMappedConstraintType: (Be = An.constraintType) == null ? void 0 : Be.id } } let pt = {}; if (kn & 256) { let An = tn; pt = { evolvingArrayElementType: An.elementType.id, evolvingArrayFinalType: (Ne = An.finalArrayType) == null ? void 0 : Ne.id } } let nn, Dt = tn.checker.getRecursionIdentity(tn); Dt && (nn = qe.get(Dt), nn || (nn = qe.size, qe.set(Dt, nn))); let pn = { id: tn.id, intrinsicName: tn.intrinsicName, symbolName: _n?.escapedName && Gi(_n.escapedName), recursionId: nn, isTuple: kn & 8 ? !0 : void 0, unionTypes: tn.flags & 1048576 ? (Le = tn.types) == null ? void 0 : Le.map(An => An.id) : void 0, intersectionTypes: tn.flags & 2097152 ? tn.types.map(An => An.id) : void 0, aliasTypeArguments: (Ye = tn.aliasTypeArguments) == null ? void 0 : Ye.map(An => An.id), keyofType: tn.flags & 4194304 ? (_t = tn.type) == null ? void 0 : _t.id : void 0, ...$n, ...ui, ...Ni, ...Pi, ...gr, ...pt, destructuringPattern: q(tn.pattern), firstDeclaration: q((ct = _n?.declarations) == null ? void 0 : ct[0]), flags: L.formatTypeFlags(tn.flags).split("|"), display: Gt }; t.writeSync(We, JSON.stringify(pn)), Qt < zt - 1 && t.writeSync(We, `,
-`)
-                            } t.writeSync(We, `]
-`), t.closeSync(We), Fs("endDumpTypes"), hf("Dump types", "beginDumpTypes", "endDumpTypes")
-                        } function Y() { l && t.writeFileSync(l, JSON.stringify(f)) } e.dumpLegend = Y
-                    })(ew || (ew = {})), eoe = ew.startTracing, toe = ew.dumpLegend
-                }
-            }); function C8(e, t = !0) { let r = nw[e.category]; return t ? r.toLowerCase() : r } var I8, L8, k8, iV, D8, w8, aV, tw, oV, tI, R8, sV, cV, lV, uV, dV, fV, _V, pV, mV, hV, gV, yV, vV, bV, O8, EV, TV, SV, xV, N8, P8, AV, CV, IV, LV, kV, M8, DV, wV, RV, OV, NV, PV, nw, rw, MV, FV, GV, BV, F8, UV, VV, jV, HV, WV, zV, JV, KV, qV, G8, B8, U8, XV, YV, $V, QV, ZV, ej, tj, nj, iw, noe = gt({ "src/compiler/types.ts"() { "use strict"; I8 = (e => (e[e.Unknown = 0] = "Unknown", e[e.EndOfFileToken = 1] = "EndOfFileToken", e[e.SingleLineCommentTrivia = 2] = "SingleLineCommentTrivia", e[e.MultiLineCommentTrivia = 3] = "MultiLineCommentTrivia", e[e.NewLineTrivia = 4] = "NewLineTrivia", e[e.WhitespaceTrivia = 5] = "WhitespaceTrivia", e[e.ShebangTrivia = 6] = "ShebangTrivia", e[e.ConflictMarkerTrivia = 7] = "ConflictMarkerTrivia", e[e.NumericLiteral = 8] = "NumericLiteral", e[e.BigIntLiteral = 9] = "BigIntLiteral", e[e.StringLiteral = 10] = "StringLiteral", e[e.JsxText = 11] = "JsxText", e[e.JsxTextAllWhiteSpaces = 12] = "JsxTextAllWhiteSpaces", e[e.RegularExpressionLiteral = 13] = "RegularExpressionLiteral", e[e.NoSubstitutionTemplateLiteral = 14] = "NoSubstitutionTemplateLiteral", e[e.TemplateHead = 15] = "TemplateHead", e[e.TemplateMiddle = 16] = "TemplateMiddle", e[e.TemplateTail = 17] = "TemplateTail", e[e.OpenBraceToken = 18] = "OpenBraceToken", e[e.CloseBraceToken = 19] = "CloseBraceToken", e[e.OpenParenToken = 20] = "OpenParenToken", e[e.CloseParenToken = 21] = "CloseParenToken", e[e.OpenBracketToken = 22] = "OpenBracketToken", e[e.CloseBracketToken = 23] = "CloseBracketToken", e[e.DotToken = 24] = "DotToken", e[e.DotDotDotToken = 25] = "DotDotDotToken", e[e.SemicolonToken = 26] = "SemicolonToken", e[e.CommaToken = 27] = "CommaToken", e[e.QuestionDotToken = 28] = "QuestionDotToken", e[e.LessThanToken = 29] = "LessThanToken", e[e.LessThanSlashToken = 30] = "LessThanSlashToken", e[e.GreaterThanToken = 31] = "GreaterThanToken", e[e.LessThanEqualsToken = 32] = "LessThanEqualsToken", e[e.GreaterThanEqualsToken = 33] = "GreaterThanEqualsToken", e[e.EqualsEqualsToken = 34] = "EqualsEqualsToken", e[e.ExclamationEqualsToken = 35] = "ExclamationEqualsToken", e[e.EqualsEqualsEqualsToken = 36] = "EqualsEqualsEqualsToken", e[e.ExclamationEqualsEqualsToken = 37] = "ExclamationEqualsEqualsToken", e[e.EqualsGreaterThanToken = 38] = "EqualsGreaterThanToken", e[e.PlusToken = 39] = "PlusToken", e[e.MinusToken = 40] = "MinusToken", e[e.AsteriskToken = 41] = "AsteriskToken", e[e.AsteriskAsteriskToken = 42] = "AsteriskAsteriskToken", e[e.SlashToken = 43] = "SlashToken", e[e.PercentToken = 44] = "PercentToken", e[e.PlusPlusToken = 45] = "PlusPlusToken", e[e.MinusMinusToken = 46] = "MinusMinusToken", e[e.LessThanLessThanToken = 47] = "LessThanLessThanToken", e[e.GreaterThanGreaterThanToken = 48] = "GreaterThanGreaterThanToken", e[e.GreaterThanGreaterThanGreaterThanToken = 49] = "GreaterThanGreaterThanGreaterThanToken", e[e.AmpersandToken = 50] = "AmpersandToken", e[e.BarToken = 51] = "BarToken", e[e.CaretToken = 52] = "CaretToken", e[e.ExclamationToken = 53] = "ExclamationToken", e[e.TildeToken = 54] = "TildeToken", e[e.AmpersandAmpersandToken = 55] = "AmpersandAmpersandToken", e[e.BarBarToken = 56] = "BarBarToken", e[e.QuestionToken = 57] = "QuestionToken", e[e.ColonToken = 58] = "ColonToken", e[e.AtToken = 59] = "AtToken", e[e.QuestionQuestionToken = 60] = "QuestionQuestionToken", e[e.BacktickToken = 61] = "BacktickToken", e[e.HashToken = 62] = "HashToken", e[e.EqualsToken = 63] = "EqualsToken", e[e.PlusEqualsToken = 64] = "PlusEqualsToken", e[e.MinusEqualsToken = 65] = "MinusEqualsToken", e[e.AsteriskEqualsToken = 66] = "AsteriskEqualsToken", e[e.AsteriskAsteriskEqualsToken = 67] = "AsteriskAsteriskEqualsToken", e[e.SlashEqualsToken = 68] = "SlashEqualsToken", e[e.PercentEqualsToken = 69] = "PercentEqualsToken", e[e.LessThanLessThanEqualsToken = 70] = "LessThanLessThanEqualsToken", e[e.GreaterThanGreaterThanEqualsToken = 71] = "GreaterThanGreaterThanEqualsToken", e[e.GreaterThanGreaterThanGreaterThanEqualsToken = 72] = "GreaterThanGreaterThanGreaterThanEqualsToken", e[e.AmpersandEqualsToken = 73] = "AmpersandEqualsToken", e[e.BarEqualsToken = 74] = "BarEqualsToken", e[e.BarBarEqualsToken = 75] = "BarBarEqualsToken", e[e.AmpersandAmpersandEqualsToken = 76] = "AmpersandAmpersandEqualsToken", e[e.QuestionQuestionEqualsToken = 77] = "QuestionQuestionEqualsToken", e[e.CaretEqualsToken = 78] = "CaretEqualsToken", e[e.Identifier = 79] = "Identifier", e[e.PrivateIdentifier = 80] = "PrivateIdentifier", e[e.BreakKeyword = 81] = "BreakKeyword", e[e.CaseKeyword = 82] = "CaseKeyword", e[e.CatchKeyword = 83] = "CatchKeyword", e[e.ClassKeyword = 84] = "ClassKeyword", e[e.ConstKeyword = 85] = "ConstKeyword", e[e.ContinueKeyword = 86] = "ContinueKeyword", e[e.DebuggerKeyword = 87] = "DebuggerKeyword", e[e.DefaultKeyword = 88] = "DefaultKeyword", e[e.DeleteKeyword = 89] = "DeleteKeyword", e[e.DoKeyword = 90] = "DoKeyword", e[e.ElseKeyword = 91] = "ElseKeyword", e[e.EnumKeyword = 92] = "EnumKeyword", e[e.ExportKeyword = 93] = "ExportKeyword", e[e.ExtendsKeyword = 94] = "ExtendsKeyword", e[e.FalseKeyword = 95] = "FalseKeyword", e[e.FinallyKeyword = 96] = "FinallyKeyword", e[e.ForKeyword = 97] = "ForKeyword", e[e.FunctionKeyword = 98] = "FunctionKeyword", e[e.IfKeyword = 99] = "IfKeyword", e[e.ImportKeyword = 100] = "ImportKeyword", e[e.InKeyword = 101] = "InKeyword", e[e.InstanceOfKeyword = 102] = "InstanceOfKeyword", e[e.NewKeyword = 103] = "NewKeyword", e[e.NullKeyword = 104] = "NullKeyword", e[e.ReturnKeyword = 105] = "ReturnKeyword", e[e.SuperKeyword = 106] = "SuperKeyword", e[e.SwitchKeyword = 107] = "SwitchKeyword", e[e.ThisKeyword = 108] = "ThisKeyword", e[e.ThrowKeyword = 109] = "ThrowKeyword", e[e.TrueKeyword = 110] = "TrueKeyword", e[e.TryKeyword = 111] = "TryKeyword", e[e.TypeOfKeyword = 112] = "TypeOfKeyword", e[e.VarKeyword = 113] = "VarKeyword", e[e.VoidKeyword = 114] = "VoidKeyword", e[e.WhileKeyword = 115] = "WhileKeyword", e[e.WithKeyword = 116] = "WithKeyword", e[e.ImplementsKeyword = 117] = "ImplementsKeyword", e[e.InterfaceKeyword = 118] = "InterfaceKeyword", e[e.LetKeyword = 119] = "LetKeyword", e[e.PackageKeyword = 120] = "PackageKeyword", e[e.PrivateKeyword = 121] = "PrivateKeyword", e[e.ProtectedKeyword = 122] = "ProtectedKeyword", e[e.PublicKeyword = 123] = "PublicKeyword", e[e.StaticKeyword = 124] = "StaticKeyword", e[e.YieldKeyword = 125] = "YieldKeyword", e[e.AbstractKeyword = 126] = "AbstractKeyword", e[e.AccessorKeyword = 127] = "AccessorKeyword", e[e.AsKeyword = 128] = "AsKeyword", e[e.AssertsKeyword = 129] = "AssertsKeyword", e[e.AssertKeyword = 130] = "AssertKeyword", e[e.AnyKeyword = 131] = "AnyKeyword", e[e.AsyncKeyword = 132] = "AsyncKeyword", e[e.AwaitKeyword = 133] = "AwaitKeyword", e[e.BooleanKeyword = 134] = "BooleanKeyword", e[e.ConstructorKeyword = 135] = "ConstructorKeyword", e[e.DeclareKeyword = 136] = "DeclareKeyword", e[e.GetKeyword = 137] = "GetKeyword", e[e.InferKeyword = 138] = "InferKeyword", e[e.IntrinsicKeyword = 139] = "IntrinsicKeyword", e[e.IsKeyword = 140] = "IsKeyword", e[e.KeyOfKeyword = 141] = "KeyOfKeyword", e[e.ModuleKeyword = 142] = "ModuleKeyword", e[e.NamespaceKeyword = 143] = "NamespaceKeyword", e[e.NeverKeyword = 144] = "NeverKeyword", e[e.OutKeyword = 145] = "OutKeyword", e[e.ReadonlyKeyword = 146] = "ReadonlyKeyword", e[e.RequireKeyword = 147] = "RequireKeyword", e[e.NumberKeyword = 148] = "NumberKeyword", e[e.ObjectKeyword = 149] = "ObjectKeyword", e[e.SatisfiesKeyword = 150] = "SatisfiesKeyword", e[e.SetKeyword = 151] = "SetKeyword", e[e.StringKeyword = 152] = "StringKeyword", e[e.SymbolKeyword = 153] = "SymbolKeyword", e[e.TypeKeyword = 154] = "TypeKeyword", e[e.UndefinedKeyword = 155] = "UndefinedKeyword", e[e.UniqueKeyword = 156] = "UniqueKeyword", e[e.UnknownKeyword = 157] = "UnknownKeyword", e[e.FromKeyword = 158] = "FromKeyword", e[e.GlobalKeyword = 159] = "GlobalKeyword", e[e.BigIntKeyword = 160] = "BigIntKeyword", e[e.OverrideKeyword = 161] = "OverrideKeyword", e[e.OfKeyword = 162] = "OfKeyword", e[e.QualifiedName = 163] = "QualifiedName", e[e.ComputedPropertyName = 164] = "ComputedPropertyName", e[e.TypeParameter = 165] = "TypeParameter", e[e.Parameter = 166] = "Parameter", e[e.Decorator = 167] = "Decorator", e[e.PropertySignature = 168] = "PropertySignature", e[e.PropertyDeclaration = 169] = "PropertyDeclaration", e[e.MethodSignature = 170] = "MethodSignature", e[e.MethodDeclaration = 171] = "MethodDeclaration", e[e.ClassStaticBlockDeclaration = 172] = "ClassStaticBlockDeclaration", e[e.Constructor = 173] = "Constructor", e[e.GetAccessor = 174] = "GetAccessor", e[e.SetAccessor = 175] = "SetAccessor", e[e.CallSignature = 176] = "CallSignature", e[e.ConstructSignature = 177] = "ConstructSignature", e[e.IndexSignature = 178] = "IndexSignature", e[e.TypePredicate = 179] = "TypePredicate", e[e.TypeReference = 180] = "TypeReference", e[e.FunctionType = 181] = "FunctionType", e[e.ConstructorType = 182] = "ConstructorType", e[e.TypeQuery = 183] = "TypeQuery", e[e.TypeLiteral = 184] = "TypeLiteral", e[e.ArrayType = 185] = "ArrayType", e[e.TupleType = 186] = "TupleType", e[e.OptionalType = 187] = "OptionalType", e[e.RestType = 188] = "RestType", e[e.UnionType = 189] = "UnionType", e[e.IntersectionType = 190] = "IntersectionType", e[e.ConditionalType = 191] = "ConditionalType", e[e.InferType = 192] = "InferType", e[e.ParenthesizedType = 193] = "ParenthesizedType", e[e.ThisType = 194] = "ThisType", e[e.TypeOperator = 195] = "TypeOperator", e[e.IndexedAccessType = 196] = "IndexedAccessType", e[e.MappedType = 197] = "MappedType", e[e.LiteralType = 198] = "LiteralType", e[e.NamedTupleMember = 199] = "NamedTupleMember", e[e.TemplateLiteralType = 200] = "TemplateLiteralType", e[e.TemplateLiteralTypeSpan = 201] = "TemplateLiteralTypeSpan", e[e.ImportType = 202] = "ImportType", e[e.ObjectBindingPattern = 203] = "ObjectBindingPattern", e[e.ArrayBindingPattern = 204] = "ArrayBindingPattern", e[e.BindingElement = 205] = "BindingElement", e[e.ArrayLiteralExpression = 206] = "ArrayLiteralExpression", e[e.ObjectLiteralExpression = 207] = "ObjectLiteralExpression", e[e.PropertyAccessExpression = 208] = "PropertyAccessExpression", e[e.ElementAccessExpression = 209] = "ElementAccessExpression", e[e.CallExpression = 210] = "CallExpression", e[e.NewExpression = 211] = "NewExpression", e[e.TaggedTemplateExpression = 212] = "TaggedTemplateExpression", e[e.TypeAssertionExpression = 213] = "TypeAssertionExpression", e[e.ParenthesizedExpression = 214] = "ParenthesizedExpression", e[e.FunctionExpression = 215] = "FunctionExpression", e[e.ArrowFunction = 216] = "ArrowFunction", e[e.DeleteExpression = 217] = "DeleteExpression", e[e.TypeOfExpression = 218] = "TypeOfExpression", e[e.VoidExpression = 219] = "VoidExpression", e[e.AwaitExpression = 220] = "AwaitExpression", e[e.PrefixUnaryExpression = 221] = "PrefixUnaryExpression", e[e.PostfixUnaryExpression = 222] = "PostfixUnaryExpression", e[e.BinaryExpression = 223] = "BinaryExpression", e[e.ConditionalExpression = 224] = "ConditionalExpression", e[e.TemplateExpression = 225] = "TemplateExpression", e[e.YieldExpression = 226] = "YieldExpression", e[e.SpreadElement = 227] = "SpreadElement", e[e.ClassExpression = 228] = "ClassExpression", e[e.OmittedExpression = 229] = "OmittedExpression", e[e.ExpressionWithTypeArguments = 230] = "ExpressionWithTypeArguments", e[e.AsExpression = 231] = "AsExpression", e[e.NonNullExpression = 232] = "NonNullExpression", e[e.MetaProperty = 233] = "MetaProperty", e[e.SyntheticExpression = 234] = "SyntheticExpression", e[e.SatisfiesExpression = 235] = "SatisfiesExpression", e[e.TemplateSpan = 236] = "TemplateSpan", e[e.SemicolonClassElement = 237] = "SemicolonClassElement", e[e.Block = 238] = "Block", e[e.EmptyStatement = 239] = "EmptyStatement", e[e.VariableStatement = 240] = "VariableStatement", e[e.ExpressionStatement = 241] = "ExpressionStatement", e[e.IfStatement = 242] = "IfStatement", e[e.DoStatement = 243] = "DoStatement", e[e.WhileStatement = 244] = "WhileStatement", e[e.ForStatement = 245] = "ForStatement", e[e.ForInStatement = 246] = "ForInStatement", e[e.ForOfStatement = 247] = "ForOfStatement", e[e.ContinueStatement = 248] = "ContinueStatement", e[e.BreakStatement = 249] = "BreakStatement", e[e.ReturnStatement = 250] = "ReturnStatement", e[e.WithStatement = 251] = "WithStatement", e[e.SwitchStatement = 252] = "SwitchStatement", e[e.LabeledStatement = 253] = "LabeledStatement", e[e.ThrowStatement = 254] = "ThrowStatement", e[e.TryStatement = 255] = "TryStatement", e[e.DebuggerStatement = 256] = "DebuggerStatement", e[e.VariableDeclaration = 257] = "VariableDeclaration", e[e.VariableDeclarationList = 258] = "VariableDeclarationList", e[e.FunctionDeclaration = 259] = "FunctionDeclaration", e[e.ClassDeclaration = 260] = "ClassDeclaration", e[e.InterfaceDeclaration = 261] = "InterfaceDeclaration", e[e.TypeAliasDeclaration = 262] = "TypeAliasDeclaration", e[e.EnumDeclaration = 263] = "EnumDeclaration", e[e.ModuleDeclaration = 264] = "ModuleDeclaration", e[e.ModuleBlock = 265] = "ModuleBlock", e[e.CaseBlock = 266] = "CaseBlock", e[e.NamespaceExportDeclaration = 267] = "NamespaceExportDeclaration", e[e.ImportEqualsDeclaration = 268] = "ImportEqualsDeclaration", e[e.ImportDeclaration = 269] = "ImportDeclaration", e[e.ImportClause = 270] = "ImportClause", e[e.NamespaceImport = 271] = "NamespaceImport", e[e.NamedImports = 272] = "NamedImports", e[e.ImportSpecifier = 273] = "ImportSpecifier", e[e.ExportAssignment = 274] = "ExportAssignment", e[e.ExportDeclaration = 275] = "ExportDeclaration", e[e.NamedExports = 276] = "NamedExports", e[e.NamespaceExport = 277] = "NamespaceExport", e[e.ExportSpecifier = 278] = "ExportSpecifier", e[e.MissingDeclaration = 279] = "MissingDeclaration", e[e.ExternalModuleReference = 280] = "ExternalModuleReference", e[e.JsxElement = 281] = "JsxElement", e[e.JsxSelfClosingElement = 282] = "JsxSelfClosingElement", e[e.JsxOpeningElement = 283] = "JsxOpeningElement", e[e.JsxClosingElement = 284] = "JsxClosingElement", e[e.JsxFragment = 285] = "JsxFragment", e[e.JsxOpeningFragment = 286] = "JsxOpeningFragment", e[e.JsxClosingFragment = 287] = "JsxClosingFragment", e[e.JsxAttribute = 288] = "JsxAttribute", e[e.JsxAttributes = 289] = "JsxAttributes", e[e.JsxSpreadAttribute = 290] = "JsxSpreadAttribute", e[e.JsxExpression = 291] = "JsxExpression", e[e.CaseClause = 292] = "CaseClause", e[e.DefaultClause = 293] = "DefaultClause", e[e.HeritageClause = 294] = "HeritageClause", e[e.CatchClause = 295] = "CatchClause", e[e.AssertClause = 296] = "AssertClause", e[e.AssertEntry = 297] = "AssertEntry", e[e.ImportTypeAssertionContainer = 298] = "ImportTypeAssertionContainer", e[e.PropertyAssignment = 299] = "PropertyAssignment", e[e.ShorthandPropertyAssignment = 300] = "ShorthandPropertyAssignment", e[e.SpreadAssignment = 301] = "SpreadAssignment", e[e.EnumMember = 302] = "EnumMember", e[e.UnparsedPrologue = 303] = "UnparsedPrologue", e[e.UnparsedPrepend = 304] = "UnparsedPrepend", e[e.UnparsedText = 305] = "UnparsedText", e[e.UnparsedInternalText = 306] = "UnparsedInternalText", e[e.UnparsedSyntheticReference = 307] = "UnparsedSyntheticReference", e[e.SourceFile = 308] = "SourceFile", e[e.Bundle = 309] = "Bundle", e[e.UnparsedSource = 310] = "UnparsedSource", e[e.InputFiles = 311] = "InputFiles", e[e.JSDocTypeExpression = 312] = "JSDocTypeExpression", e[e.JSDocNameReference = 313] = "JSDocNameReference", e[e.JSDocMemberName = 314] = "JSDocMemberName", e[e.JSDocAllType = 315] = "JSDocAllType", e[e.JSDocUnknownType = 316] = "JSDocUnknownType", e[e.JSDocNullableType = 317] = "JSDocNullableType", e[e.JSDocNonNullableType = 318] = "JSDocNonNullableType", e[e.JSDocOptionalType = 319] = "JSDocOptionalType", e[e.JSDocFunctionType = 320] = "JSDocFunctionType", e[e.JSDocVariadicType = 321] = "JSDocVariadicType", e[e.JSDocNamepathType = 322] = "JSDocNamepathType", e[e.JSDoc = 323] = "JSDoc", e[e.JSDocComment = 323] = "JSDocComment", e[e.JSDocText = 324] = "JSDocText", e[e.JSDocTypeLiteral = 325] = "JSDocTypeLiteral", e[e.JSDocSignature = 326] = "JSDocSignature", e[e.JSDocLink = 327] = "JSDocLink", e[e.JSDocLinkCode = 328] = "JSDocLinkCode", e[e.JSDocLinkPlain = 329] = "JSDocLinkPlain", e[e.JSDocTag = 330] = "JSDocTag", e[e.JSDocAugmentsTag = 331] = "JSDocAugmentsTag", e[e.JSDocImplementsTag = 332] = "JSDocImplementsTag", e[e.JSDocAuthorTag = 333] = "JSDocAuthorTag", e[e.JSDocDeprecatedTag = 334] = "JSDocDeprecatedTag", e[e.JSDocClassTag = 335] = "JSDocClassTag", e[e.JSDocPublicTag = 336] = "JSDocPublicTag", e[e.JSDocPrivateTag = 337] = "JSDocPrivateTag", e[e.JSDocProtectedTag = 338] = "JSDocProtectedTag", e[e.JSDocReadonlyTag = 339] = "JSDocReadonlyTag", e[e.JSDocOverrideTag = 340] = "JSDocOverrideTag", e[e.JSDocCallbackTag = 341] = "JSDocCallbackTag", e[e.JSDocOverloadTag = 342] = "JSDocOverloadTag", e[e.JSDocEnumTag = 343] = "JSDocEnumTag", e[e.JSDocParameterTag = 344] = "JSDocParameterTag", e[e.JSDocReturnTag = 345] = "JSDocReturnTag", e[e.JSDocThisTag = 346] = "JSDocThisTag", e[e.JSDocTypeTag = 347] = "JSDocTypeTag", e[e.JSDocTemplateTag = 348] = "JSDocTemplateTag", e[e.JSDocTypedefTag = 349] = "JSDocTypedefTag", e[e.JSDocSeeTag = 350] = "JSDocSeeTag", e[e.JSDocPropertyTag = 351] = "JSDocPropertyTag", e[e.JSDocThrowsTag = 352] = "JSDocThrowsTag", e[e.JSDocSatisfiesTag = 353] = "JSDocSatisfiesTag", e[e.SyntaxList = 354] = "SyntaxList", e[e.NotEmittedStatement = 355] = "NotEmittedStatement", e[e.PartiallyEmittedExpression = 356] = "PartiallyEmittedExpression", e[e.CommaListExpression = 357] = "CommaListExpression", e[e.MergeDeclarationMarker = 358] = "MergeDeclarationMarker", e[e.EndOfDeclarationMarker = 359] = "EndOfDeclarationMarker", e[e.SyntheticReferenceExpression = 360] = "SyntheticReferenceExpression", e[e.Count = 361] = "Count", e[e.FirstAssignment = 63] = "FirstAssignment", e[e.LastAssignment = 78] = "LastAssignment", e[e.FirstCompoundAssignment = 64] = "FirstCompoundAssignment", e[e.LastCompoundAssignment = 78] = "LastCompoundAssignment", e[e.FirstReservedWord = 81] = "FirstReservedWord", e[e.LastReservedWord = 116] = "LastReservedWord", e[e.FirstKeyword = 81] = "FirstKeyword", e[e.LastKeyword = 162] = "LastKeyword", e[e.FirstFutureReservedWord = 117] = "FirstFutureReservedWord", e[e.LastFutureReservedWord = 125] = "LastFutureReservedWord", e[e.FirstTypeNode = 179] = "FirstTypeNode", e[e.LastTypeNode = 202] = "LastTypeNode", e[e.FirstPunctuation = 18] = "FirstPunctuation", e[e.LastPunctuation = 78] = "LastPunctuation", e[e.FirstToken = 0] = "FirstToken", e[e.LastToken = 162] = "LastToken", e[e.FirstTriviaToken = 2] = "FirstTriviaToken", e[e.LastTriviaToken = 7] = "LastTriviaToken", e[e.FirstLiteralToken = 8] = "FirstLiteralToken", e[e.LastLiteralToken = 14] = "LastLiteralToken", e[e.FirstTemplateToken = 14] = "FirstTemplateToken", e[e.LastTemplateToken = 17] = "LastTemplateToken", e[e.FirstBinaryOperator = 29] = "FirstBinaryOperator", e[e.LastBinaryOperator = 78] = "LastBinaryOperator", e[e.FirstStatement = 240] = "FirstStatement", e[e.LastStatement = 256] = "LastStatement", e[e.FirstNode = 163] = "FirstNode", e[e.FirstJSDocNode = 312] = "FirstJSDocNode", e[e.LastJSDocNode = 353] = "LastJSDocNode", e[e.FirstJSDocTagNode = 330] = "FirstJSDocTagNode", e[e.LastJSDocTagNode = 353] = "LastJSDocTagNode", e[e.FirstContextualKeyword = 126] = "FirstContextualKeyword", e[e.LastContextualKeyword = 162] = "LastContextualKeyword", e))(I8 || {}), L8 = (e => (e[e.None = 0] = "None", e[e.Let = 1] = "Let", e[e.Const = 2] = "Const", e[e.NestedNamespace = 4] = "NestedNamespace", e[e.Synthesized = 8] = "Synthesized", e[e.Namespace = 16] = "Namespace", e[e.OptionalChain = 32] = "OptionalChain", e[e.ExportContext = 64] = "ExportContext", e[e.ContainsThis = 128] = "ContainsThis", e[e.HasImplicitReturn = 256] = "HasImplicitReturn", e[e.HasExplicitReturn = 512] = "HasExplicitReturn", e[e.GlobalAugmentation = 1024] = "GlobalAugmentation", e[e.HasAsyncFunctions = 2048] = "HasAsyncFunctions", e[e.DisallowInContext = 4096] = "DisallowInContext", e[e.YieldContext = 8192] = "YieldContext", e[e.DecoratorContext = 16384] = "DecoratorContext", e[e.AwaitContext = 32768] = "AwaitContext", e[e.DisallowConditionalTypesContext = 65536] = "DisallowConditionalTypesContext", e[e.ThisNodeHasError = 131072] = "ThisNodeHasError", e[e.JavaScriptFile = 262144] = "JavaScriptFile", e[e.ThisNodeOrAnySubNodesHasError = 524288] = "ThisNodeOrAnySubNodesHasError", e[e.HasAggregatedChildData = 1048576] = "HasAggregatedChildData", e[e.PossiblyContainsDynamicImport = 2097152] = "PossiblyContainsDynamicImport", e[e.PossiblyContainsImportMeta = 4194304] = "PossiblyContainsImportMeta", e[e.JSDoc = 8388608] = "JSDoc", e[e.Ambient = 16777216] = "Ambient", e[e.InWithStatement = 33554432] = "InWithStatement", e[e.JsonFile = 67108864] = "JsonFile", e[e.TypeCached = 134217728] = "TypeCached", e[e.Deprecated = 268435456] = "Deprecated", e[e.BlockScoped = 3] = "BlockScoped", e[e.ReachabilityCheckFlags = 768] = "ReachabilityCheckFlags", e[e.ReachabilityAndEmitFlags = 2816] = "ReachabilityAndEmitFlags", e[e.ContextFlags = 50720768] = "ContextFlags", e[e.TypeExcludesFlags = 40960] = "TypeExcludesFlags", e[e.PermanentlySetIncrementalFlags = 6291456] = "PermanentlySetIncrementalFlags", e[e.IdentifierHasExtendedUnicodeEscape = 128] = "IdentifierHasExtendedUnicodeEscape", e[e.IdentifierIsInJSDocNamespace = 2048] = "IdentifierIsInJSDocNamespace", e))(L8 || {}), k8 = (e => (e[e.None = 0] = "None", e[e.Export = 1] = "Export", e[e.Ambient = 2] = "Ambient", e[e.Public = 4] = "Public", e[e.Private = 8] = "Private", e[e.Protected = 16] = "Protected", e[e.Static = 32] = "Static", e[e.Readonly = 64] = "Readonly", e[e.Accessor = 128] = "Accessor", e[e.Abstract = 256] = "Abstract", e[e.Async = 512] = "Async", e[e.Default = 1024] = "Default", e[e.Const = 2048] = "Const", e[e.HasComputedJSDocModifiers = 4096] = "HasComputedJSDocModifiers", e[e.Deprecated = 8192] = "Deprecated", e[e.Override = 16384] = "Override", e[e.In = 32768] = "In", e[e.Out = 65536] = "Out", e[e.Decorator = 131072] = "Decorator", e[e.HasComputedFlags = 536870912] = "HasComputedFlags", e[e.AccessibilityModifier = 28] = "AccessibilityModifier", e[e.ParameterPropertyModifier = 16476] = "ParameterPropertyModifier", e[e.NonPublicAccessibilityModifier = 24] = "NonPublicAccessibilityModifier", e[e.TypeScriptModifier = 117086] = "TypeScriptModifier", e[e.ExportDefault = 1025] = "ExportDefault", e[e.All = 258047] = "All", e[e.Modifier = 126975] = "Modifier", e))(k8 || {}), iV = (e => (e[e.None = 0] = "None", e[e.IntrinsicNamedElement = 1] = "IntrinsicNamedElement", e[e.IntrinsicIndexedElement = 2] = "IntrinsicIndexedElement", e[e.IntrinsicElement = 3] = "IntrinsicElement", e))(iV || {}), D8 = (e => (e[e.Succeeded = 1] = "Succeeded", e[e.Failed = 2] = "Failed", e[e.Reported = 4] = "Reported", e[e.ReportsUnmeasurable = 8] = "ReportsUnmeasurable", e[e.ReportsUnreliable = 16] = "ReportsUnreliable", e[e.ReportsMask = 24] = "ReportsMask", e))(D8 || {}), w8 = (e => (e[e.None = 0] = "None", e[e.Auto = 1] = "Auto", e[e.Loop = 2] = "Loop", e[e.Unique = 3] = "Unique", e[e.Node = 4] = "Node", e[e.KindMask = 7] = "KindMask", e[e.ReservedInNestedScopes = 8] = "ReservedInNestedScopes", e[e.Optimistic = 16] = "Optimistic", e[e.FileLevel = 32] = "FileLevel", e[e.AllowNameSubstitution = 64] = "AllowNameSubstitution", e))(w8 || {}), aV = (e => (e[e.None = 0] = "None", e[e.PrecedingLineBreak = 1] = "PrecedingLineBreak", e[e.PrecedingJSDocComment = 2] = "PrecedingJSDocComment", e[e.Unterminated = 4] = "Unterminated", e[e.ExtendedUnicodeEscape = 8] = "ExtendedUnicodeEscape", e[e.Scientific = 16] = "Scientific", e[e.Octal = 32] = "Octal", e[e.HexSpecifier = 64] = "HexSpecifier", e[e.BinarySpecifier = 128] = "BinarySpecifier", e[e.OctalSpecifier = 256] = "OctalSpecifier", e[e.ContainsSeparator = 512] = "ContainsSeparator", e[e.UnicodeEscape = 1024] = "UnicodeEscape", e[e.ContainsInvalidEscape = 2048] = "ContainsInvalidEscape", e[e.BinaryOrOctalSpecifier = 384] = "BinaryOrOctalSpecifier", e[e.NumericLiteralFlags = 1008] = "NumericLiteralFlags", e[e.TemplateLiteralLikeFlags = 2048] = "TemplateLiteralLikeFlags", e))(aV || {}), tw = (e => (e[e.Unreachable = 1] = "Unreachable", e[e.Start = 2] = "Start", e[e.BranchLabel = 4] = "BranchLabel", e[e.LoopLabel = 8] = "LoopLabel", e[e.Assignment = 16] = "Assignment", e[e.TrueCondition = 32] = "TrueCondition", e[e.FalseCondition = 64] = "FalseCondition", e[e.SwitchClause = 128] = "SwitchClause", e[e.ArrayMutation = 256] = "ArrayMutation", e[e.Call = 512] = "Call", e[e.ReduceLabel = 1024] = "ReduceLabel", e[e.Referenced = 2048] = "Referenced", e[e.Shared = 4096] = "Shared", e[e.Label = 12] = "Label", e[e.Condition = 96] = "Condition", e))(tw || {}), oV = (e => (e[e.ExpectError = 0] = "ExpectError", e[e.Ignore = 1] = "Ignore", e))(oV || {}), tI = class { }, R8 = (e => (e[e.RootFile = 0] = "RootFile", e[e.SourceFromProjectReference = 1] = "SourceFromProjectReference", e[e.OutputFromProjectReference = 2] = "OutputFromProjectReference", e[e.Import = 3] = "Import", e[e.ReferenceFile = 4] = "ReferenceFile", e[e.TypeReferenceDirective = 5] = "TypeReferenceDirective", e[e.LibFile = 6] = "LibFile", e[e.LibReferenceDirective = 7] = "LibReferenceDirective", e[e.AutomaticTypeDirectiveFile = 8] = "AutomaticTypeDirectiveFile", e))(R8 || {}), sV = (e => (e[e.FilePreprocessingReferencedDiagnostic = 0] = "FilePreprocessingReferencedDiagnostic", e[e.FilePreprocessingFileExplainingDiagnostic = 1] = "FilePreprocessingFileExplainingDiagnostic", e[e.ResolutionDiagnostics = 2] = "ResolutionDiagnostics", e))(sV || {}), cV = (e => (e[e.Js = 0] = "Js", e[e.Dts = 1] = "Dts", e))(cV || {}), lV = (e => (e[e.Not = 0] = "Not", e[e.SafeModules = 1] = "SafeModules", e[e.Completely = 2] = "Completely", e))(lV || {}), uV = (e => (e[e.Success = 0] = "Success", e[e.DiagnosticsPresent_OutputsSkipped = 1] = "DiagnosticsPresent_OutputsSkipped", e[e.DiagnosticsPresent_OutputsGenerated = 2] = "DiagnosticsPresent_OutputsGenerated", e[e.InvalidProject_OutputsSkipped = 3] = "InvalidProject_OutputsSkipped", e[e.ProjectReferenceCycle_OutputsSkipped = 4] = "ProjectReferenceCycle_OutputsSkipped", e))(uV || {}), dV = (e => (e[e.Ok = 0] = "Ok", e[e.NeedsOverride = 1] = "NeedsOverride", e[e.HasInvalidOverride = 2] = "HasInvalidOverride", e))(dV || {}), fV = (e => (e[e.None = 0] = "None", e[e.Literal = 1] = "Literal", e[e.Subtype = 2] = "Subtype", e))(fV || {}), _V = (e => (e[e.None = 0] = "None", e[e.Signature = 1] = "Signature", e[e.NoConstraints = 2] = "NoConstraints", e[e.Completions = 4] = "Completions", e[e.SkipBindingPatterns = 8] = "SkipBindingPatterns", e))(_V || {}), pV = (e => (e[e.None = 0] = "None", e[e.NoTruncation = 1] = "NoTruncation", e[e.WriteArrayAsGenericType = 2] = "WriteArrayAsGenericType", e[e.GenerateNamesForShadowedTypeParams = 4] = "GenerateNamesForShadowedTypeParams", e[e.UseStructuralFallback = 8] = "UseStructuralFallback", e[e.ForbidIndexedAccessSymbolReferences = 16] = "ForbidIndexedAccessSymbolReferences", e[e.WriteTypeArgumentsOfSignature = 32] = "WriteTypeArgumentsOfSignature", e[e.UseFullyQualifiedType = 64] = "UseFullyQualifiedType", e[e.UseOnlyExternalAliasing = 128] = "UseOnlyExternalAliasing", e[e.SuppressAnyReturnType = 256] = "SuppressAnyReturnType", e[e.WriteTypeParametersInQualifiedName = 512] = "WriteTypeParametersInQualifiedName", e[e.MultilineObjectLiterals = 1024] = "MultilineObjectLiterals", e[e.WriteClassExpressionAsTypeLiteral = 2048] = "WriteClassExpressionAsTypeLiteral", e[e.UseTypeOfFunction = 4096] = "UseTypeOfFunction", e[e.OmitParameterModifiers = 8192] = "OmitParameterModifiers", e[e.UseAliasDefinedOutsideCurrentScope = 16384] = "UseAliasDefinedOutsideCurrentScope", e[e.UseSingleQuotesForStringLiteralType = 268435456] = "UseSingleQuotesForStringLiteralType", e[e.NoTypeReduction = 536870912] = "NoTypeReduction", e[e.OmitThisParameter = 33554432] = "OmitThisParameter", e[e.AllowThisInObjectLiteral = 32768] = "AllowThisInObjectLiteral", e[e.AllowQualifiedNameInPlaceOfIdentifier = 65536] = "AllowQualifiedNameInPlaceOfIdentifier", e[e.AllowAnonymousIdentifier = 131072] = "AllowAnonymousIdentifier", e[e.AllowEmptyUnionOrIntersection = 262144] = "AllowEmptyUnionOrIntersection", e[e.AllowEmptyTuple = 524288] = "AllowEmptyTuple", e[e.AllowUniqueESSymbolType = 1048576] = "AllowUniqueESSymbolType", e[e.AllowEmptyIndexInfoType = 2097152] = "AllowEmptyIndexInfoType", e[e.WriteComputedProps = 1073741824] = "WriteComputedProps", e[e.AllowNodeModulesRelativePaths = 67108864] = "AllowNodeModulesRelativePaths", e[e.DoNotIncludeSymbolChain = 134217728] = "DoNotIncludeSymbolChain", e[e.IgnoreErrors = 70221824] = "IgnoreErrors", e[e.InObjectTypeLiteral = 4194304] = "InObjectTypeLiteral", e[e.InTypeAlias = 8388608] = "InTypeAlias", e[e.InInitialEntityName = 16777216] = "InInitialEntityName", e))(pV || {}), mV = (e => (e[e.None = 0] = "None", e[e.NoTruncation = 1] = "NoTruncation", e[e.WriteArrayAsGenericType = 2] = "WriteArrayAsGenericType", e[e.UseStructuralFallback = 8] = "UseStructuralFallback", e[e.WriteTypeArgumentsOfSignature = 32] = "WriteTypeArgumentsOfSignature", e[e.UseFullyQualifiedType = 64] = "UseFullyQualifiedType", e[e.SuppressAnyReturnType = 256] = "SuppressAnyReturnType", e[e.MultilineObjectLiterals = 1024] = "MultilineObjectLiterals", e[e.WriteClassExpressionAsTypeLiteral = 2048] = "WriteClassExpressionAsTypeLiteral", e[e.UseTypeOfFunction = 4096] = "UseTypeOfFunction", e[e.OmitParameterModifiers = 8192] = "OmitParameterModifiers", e[e.UseAliasDefinedOutsideCurrentScope = 16384] = "UseAliasDefinedOutsideCurrentScope", e[e.UseSingleQuotesForStringLiteralType = 268435456] = "UseSingleQuotesForStringLiteralType", e[e.NoTypeReduction = 536870912] = "NoTypeReduction", e[e.OmitThisParameter = 33554432] = "OmitThisParameter", e[e.AllowUniqueESSymbolType = 1048576] = "AllowUniqueESSymbolType", e[e.AddUndefined = 131072] = "AddUndefined", e[e.WriteArrowStyleSignature = 262144] = "WriteArrowStyleSignature", e[e.InArrayType = 524288] = "InArrayType", e[e.InElementType = 2097152] = "InElementType", e[e.InFirstTypeArgument = 4194304] = "InFirstTypeArgument", e[e.InTypeAlias = 8388608] = "InTypeAlias", e[e.NodeBuilderFlagsMask = 848330091] = "NodeBuilderFlagsMask", e))(mV || {}), hV = (e => (e[e.None = 0] = "None", e[e.WriteTypeParametersOrArguments = 1] = "WriteTypeParametersOrArguments", e[e.UseOnlyExternalAliasing = 2] = "UseOnlyExternalAliasing", e[e.AllowAnyNodeKind = 4] = "AllowAnyNodeKind", e[e.UseAliasDefinedOutsideCurrentScope = 8] = "UseAliasDefinedOutsideCurrentScope", e[e.WriteComputedProps = 16] = "WriteComputedProps", e[e.DoNotIncludeSymbolChain = 32] = "DoNotIncludeSymbolChain", e))(hV || {}), gV = (e => (e[e.Accessible = 0] = "Accessible", e[e.NotAccessible = 1] = "NotAccessible", e[e.CannotBeNamed = 2] = "CannotBeNamed", e))(gV || {}), yV = (e => (e[e.UnionOrIntersection = 0] = "UnionOrIntersection", e[e.Spread = 1] = "Spread", e))(yV || {}), vV = (e => (e[e.This = 0] = "This", e[e.Identifier = 1] = "Identifier", e[e.AssertsThis = 2] = "AssertsThis", e[e.AssertsIdentifier = 3] = "AssertsIdentifier", e))(vV || {}), bV = (e => (e[e.Unknown = 0] = "Unknown", e[e.TypeWithConstructSignatureAndValue = 1] = "TypeWithConstructSignatureAndValue", e[e.VoidNullableOrNeverType = 2] = "VoidNullableOrNeverType", e[e.NumberLikeType = 3] = "NumberLikeType", e[e.BigIntLikeType = 4] = "BigIntLikeType", e[e.StringLikeType = 5] = "StringLikeType", e[e.BooleanType = 6] = "BooleanType", e[e.ArrayLikeType = 7] = "ArrayLikeType", e[e.ESSymbolType = 8] = "ESSymbolType", e[e.Promise = 9] = "Promise", e[e.TypeWithCallSignature = 10] = "TypeWithCallSignature", e[e.ObjectType = 11] = "ObjectType", e))(bV || {}), O8 = (e => (e[e.None = 0] = "None", e[e.FunctionScopedVariable = 1] = "FunctionScopedVariable", e[e.BlockScopedVariable = 2] = "BlockScopedVariable", e[e.Property = 4] = "Property", e[e.EnumMember = 8] = "EnumMember", e[e.Function = 16] = "Function", e[e.Class = 32] = "Class", e[e.Interface = 64] = "Interface", e[e.ConstEnum = 128] = "ConstEnum", e[e.RegularEnum = 256] = "RegularEnum", e[e.ValueModule = 512] = "ValueModule", e[e.NamespaceModule = 1024] = "NamespaceModule", e[e.TypeLiteral = 2048] = "TypeLiteral", e[e.ObjectLiteral = 4096] = "ObjectLiteral", e[e.Method = 8192] = "Method", e[e.Constructor = 16384] = "Constructor", e[e.GetAccessor = 32768] = "GetAccessor", e[e.SetAccessor = 65536] = "SetAccessor", e[e.Signature = 131072] = "Signature", e[e.TypeParameter = 262144] = "TypeParameter", e[e.TypeAlias = 524288] = "TypeAlias", e[e.ExportValue = 1048576] = "ExportValue", e[e.Alias = 2097152] = "Alias", e[e.Prototype = 4194304] = "Prototype", e[e.ExportStar = 8388608] = "ExportStar", e[e.Optional = 16777216] = "Optional", e[e.Transient = 33554432] = "Transient", e[e.Assignment = 67108864] = "Assignment", e[e.ModuleExports = 134217728] = "ModuleExports", e[e.All = 67108863] = "All", e[e.Enum = 384] = "Enum", e[e.Variable = 3] = "Variable", e[e.Value = 111551] = "Value", e[e.Type = 788968] = "Type", e[e.Namespace = 1920] = "Namespace", e[e.Module = 1536] = "Module", e[e.Accessor = 98304] = "Accessor", e[e.FunctionScopedVariableExcludes = 111550] = "FunctionScopedVariableExcludes", e[e.BlockScopedVariableExcludes = 111551] = "BlockScopedVariableExcludes", e[e.ParameterExcludes = 111551] = "ParameterExcludes", e[e.PropertyExcludes = 0] = "PropertyExcludes", e[e.EnumMemberExcludes = 900095] = "EnumMemberExcludes", e[e.FunctionExcludes = 110991] = "FunctionExcludes", e[e.ClassExcludes = 899503] = "ClassExcludes", e[e.InterfaceExcludes = 788872] = "InterfaceExcludes", e[e.RegularEnumExcludes = 899327] = "RegularEnumExcludes", e[e.ConstEnumExcludes = 899967] = "ConstEnumExcludes", e[e.ValueModuleExcludes = 110735] = "ValueModuleExcludes", e[e.NamespaceModuleExcludes = 0] = "NamespaceModuleExcludes", e[e.MethodExcludes = 103359] = "MethodExcludes", e[e.GetAccessorExcludes = 46015] = "GetAccessorExcludes", e[e.SetAccessorExcludes = 78783] = "SetAccessorExcludes", e[e.AccessorExcludes = 13247] = "AccessorExcludes", e[e.TypeParameterExcludes = 526824] = "TypeParameterExcludes", e[e.TypeAliasExcludes = 788968] = "TypeAliasExcludes", e[e.AliasExcludes = 2097152] = "AliasExcludes", e[e.ModuleMember = 2623475] = "ModuleMember", e[e.ExportHasLocal = 944] = "ExportHasLocal", e[e.BlockScoped = 418] = "BlockScoped", e[e.PropertyOrAccessor = 98308] = "PropertyOrAccessor", e[e.ClassMember = 106500] = "ClassMember", e[e.ExportSupportsDefaultModifier = 112] = "ExportSupportsDefaultModifier", e[e.ExportDoesNotSupportDefaultModifier = -113] = "ExportDoesNotSupportDefaultModifier", e[e.Classifiable = 2885600] = "Classifiable", e[e.LateBindingContainer = 6256] = "LateBindingContainer", e))(O8 || {}), EV = (e => (e[e.Numeric = 0] = "Numeric", e[e.Literal = 1] = "Literal", e))(EV || {}), TV = (e => (e[e.None = 0] = "None", e[e.Instantiated = 1] = "Instantiated", e[e.SyntheticProperty = 2] = "SyntheticProperty", e[e.SyntheticMethod = 4] = "SyntheticMethod", e[e.Readonly = 8] = "Readonly", e[e.ReadPartial = 16] = "ReadPartial", e[e.WritePartial = 32] = "WritePartial", e[e.HasNonUniformType = 64] = "HasNonUniformType", e[e.HasLiteralType = 128] = "HasLiteralType", e[e.ContainsPublic = 256] = "ContainsPublic", e[e.ContainsProtected = 512] = "ContainsProtected", e[e.ContainsPrivate = 1024] = "ContainsPrivate", e[e.ContainsStatic = 2048] = "ContainsStatic", e[e.Late = 4096] = "Late", e[e.ReverseMapped = 8192] = "ReverseMapped", e[e.OptionalParameter = 16384] = "OptionalParameter", e[e.RestParameter = 32768] = "RestParameter", e[e.DeferredType = 65536] = "DeferredType", e[e.HasNeverType = 131072] = "HasNeverType", e[e.Mapped = 262144] = "Mapped", e[e.StripOptional = 524288] = "StripOptional", e[e.Unresolved = 1048576] = "Unresolved", e[e.Synthetic = 6] = "Synthetic", e[e.Discriminant = 192] = "Discriminant", e[e.Partial = 48] = "Partial", e))(TV || {}), SV = (e => (e.Call = "__call", e.Constructor = "__constructor", e.New = "__new", e.Index = "__index", e.ExportStar = "__export", e.Global = "__global", e.Missing = "__missing", e.Type = "__type", e.Object = "__object", e.JSXAttributes = "__jsxAttributes", e.Class = "__class", e.Function = "__function", e.Computed = "__computed", e.Resolving = "__resolving__", e.ExportEquals = "export=", e.Default = "default", e.This = "this", e))(SV || {}), xV = (e => (e[e.None = 0] = "None", e[e.TypeChecked = 1] = "TypeChecked", e[e.LexicalThis = 2] = "LexicalThis", e[e.CaptureThis = 4] = "CaptureThis", e[e.CaptureNewTarget = 8] = "CaptureNewTarget", e[e.SuperInstance = 16] = "SuperInstance", e[e.SuperStatic = 32] = "SuperStatic", e[e.ContextChecked = 64] = "ContextChecked", e[e.MethodWithSuperPropertyAccessInAsync = 128] = "MethodWithSuperPropertyAccessInAsync", e[e.MethodWithSuperPropertyAssignmentInAsync = 256] = "MethodWithSuperPropertyAssignmentInAsync", e[e.CaptureArguments = 512] = "CaptureArguments", e[e.EnumValuesComputed = 1024] = "EnumValuesComputed", e[e.LexicalModuleMergesWithClass = 2048] = "LexicalModuleMergesWithClass", e[e.LoopWithCapturedBlockScopedBinding = 4096] = "LoopWithCapturedBlockScopedBinding", e[e.ContainsCapturedBlockScopeBinding = 8192] = "ContainsCapturedBlockScopeBinding", e[e.CapturedBlockScopedBinding = 16384] = "CapturedBlockScopedBinding", e[e.BlockScopedBindingInLoop = 32768] = "BlockScopedBindingInLoop", e[e.ClassWithBodyScopedClassBinding = 65536] = "ClassWithBodyScopedClassBinding", e[e.BodyScopedClassBinding = 131072] = "BodyScopedClassBinding", e[e.NeedsLoopOutParameter = 262144] = "NeedsLoopOutParameter", e[e.AssignmentsMarked = 524288] = "AssignmentsMarked", e[e.ClassWithConstructorReference = 1048576] = "ClassWithConstructorReference", e[e.ConstructorReferenceInClass = 2097152] = "ConstructorReferenceInClass", e[e.ContainsClassWithPrivateIdentifiers = 4194304] = "ContainsClassWithPrivateIdentifiers", e[e.ContainsSuperPropertyInStaticInitializer = 8388608] = "ContainsSuperPropertyInStaticInitializer", e[e.InCheckIdentifier = 16777216] = "InCheckIdentifier", e))(xV || {}), N8 = (e => (e[e.Any = 1] = "Any", e[e.Unknown = 2] = "Unknown", e[e.String = 4] = "String", e[e.Number = 8] = "Number", e[e.Boolean = 16] = "Boolean", e[e.Enum = 32] = "Enum", e[e.BigInt = 64] = "BigInt", e[e.StringLiteral = 128] = "StringLiteral", e[e.NumberLiteral = 256] = "NumberLiteral", e[e.BooleanLiteral = 512] = "BooleanLiteral", e[e.EnumLiteral = 1024] = "EnumLiteral", e[e.BigIntLiteral = 2048] = "BigIntLiteral", e[e.ESSymbol = 4096] = "ESSymbol", e[e.UniqueESSymbol = 8192] = "UniqueESSymbol", e[e.Void = 16384] = "Void", e[e.Undefined = 32768] = "Undefined", e[e.Null = 65536] = "Null", e[e.Never = 131072] = "Never", e[e.TypeParameter = 262144] = "TypeParameter", e[e.Object = 524288] = "Object", e[e.Union = 1048576] = "Union", e[e.Intersection = 2097152] = "Intersection", e[e.Index = 4194304] = "Index", e[e.IndexedAccess = 8388608] = "IndexedAccess", e[e.Conditional = 16777216] = "Conditional", e[e.Substitution = 33554432] = "Substitution", e[e.NonPrimitive = 67108864] = "NonPrimitive", e[e.TemplateLiteral = 134217728] = "TemplateLiteral", e[e.StringMapping = 268435456] = "StringMapping", e[e.AnyOrUnknown = 3] = "AnyOrUnknown", e[e.Nullable = 98304] = "Nullable", e[e.Literal = 2944] = "Literal", e[e.Unit = 109472] = "Unit", e[e.Freshable = 2976] = "Freshable", e[e.StringOrNumberLiteral = 384] = "StringOrNumberLiteral", e[e.StringOrNumberLiteralOrUnique = 8576] = "StringOrNumberLiteralOrUnique", e[e.DefinitelyFalsy = 117632] = "DefinitelyFalsy", e[e.PossiblyFalsy = 117724] = "PossiblyFalsy", e[e.Intrinsic = 67359327] = "Intrinsic", e[e.Primitive = 134348796] = "Primitive", e[e.StringLike = 402653316] = "StringLike", e[e.NumberLike = 296] = "NumberLike", e[e.BigIntLike = 2112] = "BigIntLike", e[e.BooleanLike = 528] = "BooleanLike", e[e.EnumLike = 1056] = "EnumLike", e[e.ESSymbolLike = 12288] = "ESSymbolLike", e[e.VoidLike = 49152] = "VoidLike", e[e.DefinitelyNonNullable = 470302716] = "DefinitelyNonNullable", e[e.DisjointDomains = 469892092] = "DisjointDomains", e[e.UnionOrIntersection = 3145728] = "UnionOrIntersection", e[e.StructuredType = 3670016] = "StructuredType", e[e.TypeVariable = 8650752] = "TypeVariable", e[e.InstantiableNonPrimitive = 58982400] = "InstantiableNonPrimitive", e[e.InstantiablePrimitive = 406847488] = "InstantiablePrimitive", e[e.Instantiable = 465829888] = "Instantiable", e[e.StructuredOrInstantiable = 469499904] = "StructuredOrInstantiable", e[e.ObjectFlagsType = 3899393] = "ObjectFlagsType", e[e.Simplifiable = 25165824] = "Simplifiable", e[e.Singleton = 67358815] = "Singleton", e[e.Narrowable = 536624127] = "Narrowable", e[e.IncludesMask = 205258751] = "IncludesMask", e[e.IncludesMissingType = 262144] = "IncludesMissingType", e[e.IncludesNonWideningType = 4194304] = "IncludesNonWideningType", e[e.IncludesWildcard = 8388608] = "IncludesWildcard", e[e.IncludesEmptyObject = 16777216] = "IncludesEmptyObject", e[e.IncludesInstantiable = 33554432] = "IncludesInstantiable", e[e.NotPrimitiveUnion = 36323363] = "NotPrimitiveUnion", e))(N8 || {}), P8 = (e => (e[e.None = 0] = "None", e[e.Class = 1] = "Class", e[e.Interface = 2] = "Interface", e[e.Reference = 4] = "Reference", e[e.Tuple = 8] = "Tuple", e[e.Anonymous = 16] = "Anonymous", e[e.Mapped = 32] = "Mapped", e[e.Instantiated = 64] = "Instantiated", e[e.ObjectLiteral = 128] = "ObjectLiteral", e[e.EvolvingArray = 256] = "EvolvingArray", e[e.ObjectLiteralPatternWithComputedProperties = 512] = "ObjectLiteralPatternWithComputedProperties", e[e.ReverseMapped = 1024] = "ReverseMapped", e[e.JsxAttributes = 2048] = "JsxAttributes", e[e.JSLiteral = 4096] = "JSLiteral", e[e.FreshLiteral = 8192] = "FreshLiteral", e[e.ArrayLiteral = 16384] = "ArrayLiteral", e[e.PrimitiveUnion = 32768] = "PrimitiveUnion", e[e.ContainsWideningType = 65536] = "ContainsWideningType", e[e.ContainsObjectOrArrayLiteral = 131072] = "ContainsObjectOrArrayLiteral", e[e.NonInferrableType = 262144] = "NonInferrableType", e[e.CouldContainTypeVariablesComputed = 524288] = "CouldContainTypeVariablesComputed", e[e.CouldContainTypeVariables = 1048576] = "CouldContainTypeVariables", e[e.ClassOrInterface = 3] = "ClassOrInterface", e[e.RequiresWidening = 196608] = "RequiresWidening", e[e.PropagatingFlags = 458752] = "PropagatingFlags", e[e.ObjectTypeKindMask = 1343] = "ObjectTypeKindMask", e[e.ContainsSpread = 2097152] = "ContainsSpread", e[e.ObjectRestType = 4194304] = "ObjectRestType", e[e.InstantiationExpressionType = 8388608] = "InstantiationExpressionType", e[e.IsClassInstanceClone = 16777216] = "IsClassInstanceClone", e[e.IdenticalBaseTypeCalculated = 33554432] = "IdenticalBaseTypeCalculated", e[e.IdenticalBaseTypeExists = 67108864] = "IdenticalBaseTypeExists", e[e.IsGenericTypeComputed = 2097152] = "IsGenericTypeComputed", e[e.IsGenericObjectType = 4194304] = "IsGenericObjectType", e[e.IsGenericIndexType = 8388608] = "IsGenericIndexType", e[e.IsGenericType = 12582912] = "IsGenericType", e[e.ContainsIntersections = 16777216] = "ContainsIntersections", e[e.IsUnknownLikeUnionComputed = 33554432] = "IsUnknownLikeUnionComputed", e[e.IsUnknownLikeUnion = 67108864] = "IsUnknownLikeUnion", e[e.IsNeverIntersectionComputed = 16777216] = "IsNeverIntersectionComputed", e[e.IsNeverIntersection = 33554432] = "IsNeverIntersection", e))(P8 || {}), AV = (e => (e[e.Invariant = 0] = "Invariant", e[e.Covariant = 1] = "Covariant", e[e.Contravariant = 2] = "Contravariant", e[e.Bivariant = 3] = "Bivariant", e[e.Independent = 4] = "Independent", e[e.VarianceMask = 7] = "VarianceMask", e[e.Unmeasurable = 8] = "Unmeasurable", e[e.Unreliable = 16] = "Unreliable", e[e.AllowsStructuralFallback = 24] = "AllowsStructuralFallback", e))(AV || {}), CV = (e => (e[e.Required = 1] = "Required", e[e.Optional = 2] = "Optional", e[e.Rest = 4] = "Rest", e[e.Variadic = 8] = "Variadic", e[e.Fixed = 3] = "Fixed", e[e.Variable = 12] = "Variable", e[e.NonRequired = 14] = "NonRequired", e[e.NonRest = 11] = "NonRest", e))(CV || {}), IV = (e => (e[e.None = 0] = "None", e[e.IncludeUndefined = 1] = "IncludeUndefined", e[e.NoIndexSignatures = 2] = "NoIndexSignatures", e[e.Writing = 4] = "Writing", e[e.CacheSymbol = 8] = "CacheSymbol", e[e.NoTupleBoundsCheck = 16] = "NoTupleBoundsCheck", e[e.ExpressionPosition = 32] = "ExpressionPosition", e[e.ReportDeprecated = 64] = "ReportDeprecated", e[e.SuppressNoImplicitAnyError = 128] = "SuppressNoImplicitAnyError", e[e.Contextual = 256] = "Contextual", e[e.Persistent = 1] = "Persistent", e))(IV || {}), LV = (e => (e[e.Component = 0] = "Component", e[e.Function = 1] = "Function", e[e.Mixed = 2] = "Mixed", e))(LV || {}), kV = (e => (e[e.Call = 0] = "Call", e[e.Construct = 1] = "Construct", e))(kV || {}), M8 = (e => (e[e.None = 0] = "None", e[e.HasRestParameter = 1] = "HasRestParameter", e[e.HasLiteralTypes = 2] = "HasLiteralTypes", e[e.Abstract = 4] = "Abstract", e[e.IsInnerCallChain = 8] = "IsInnerCallChain", e[e.IsOuterCallChain = 16] = "IsOuterCallChain", e[e.IsUntypedSignatureInJSFile = 32] = "IsUntypedSignatureInJSFile", e[e.PropagatingFlags = 39] = "PropagatingFlags", e[e.CallChainFlags = 24] = "CallChainFlags", e))(M8 || {}), DV = (e => (e[e.String = 0] = "String", e[e.Number = 1] = "Number", e))(DV || {}), wV = (e => (e[e.Simple = 0] = "Simple", e[e.Array = 1] = "Array", e[e.Deferred = 2] = "Deferred", e[e.Function = 3] = "Function", e[e.Composite = 4] = "Composite", e[e.Merged = 5] = "Merged", e))(wV || {}), RV = (e => (e[e.None = 0] = "None", e[e.NakedTypeVariable = 1] = "NakedTypeVariable", e[e.SpeculativeTuple = 2] = "SpeculativeTuple", e[e.SubstituteSource = 4] = "SubstituteSource", e[e.HomomorphicMappedType = 8] = "HomomorphicMappedType", e[e.PartialHomomorphicMappedType = 16] = "PartialHomomorphicMappedType", e[e.MappedTypeConstraint = 32] = "MappedTypeConstraint", e[e.ContravariantConditional = 64] = "ContravariantConditional", e[e.ReturnType = 128] = "ReturnType", e[e.LiteralKeyof = 256] = "LiteralKeyof", e[e.NoConstraints = 512] = "NoConstraints", e[e.AlwaysStrict = 1024] = "AlwaysStrict", e[e.MaxValue = 2048] = "MaxValue", e[e.PriorityImpliesCombination = 416] = "PriorityImpliesCombination", e[e.Circularity = -1] = "Circularity", e))(RV || {}), OV = (e => (e[e.None = 0] = "None", e[e.NoDefault = 1] = "NoDefault", e[e.AnyDefault = 2] = "AnyDefault", e[e.SkippedGenericFunction = 4] = "SkippedGenericFunction", e))(OV || {}), NV = (e => (e[e.False = 0] = "False", e[e.Unknown = 1] = "Unknown", e[e.Maybe = 3] = "Maybe", e[e.True = -1] = "True", e))(NV || {}), PV = (e => (e[e.None = 0] = "None", e[e.ExportsProperty = 1] = "ExportsProperty", e[e.ModuleExports = 2] = "ModuleExports", e[e.PrototypeProperty = 3] = "PrototypeProperty", e[e.ThisProperty = 4] = "ThisProperty", e[e.Property = 5] = "Property", e[e.Prototype = 6] = "Prototype", e[e.ObjectDefinePropertyValue = 7] = "ObjectDefinePropertyValue", e[e.ObjectDefinePropertyExports = 8] = "ObjectDefinePropertyExports", e[e.ObjectDefinePrototypeProperty = 9] = "ObjectDefinePrototypeProperty", e))(PV || {}), nw = (e => (e[e.Warning = 0] = "Warning", e[e.Error = 1] = "Error", e[e.Suggestion = 2] = "Suggestion", e[e.Message = 3] = "Message", e))(nw || {}), rw = (e => (e[e.Classic = 1] = "Classic", e[e.NodeJs = 2] = "NodeJs", e[e.Node10 = 2] = "Node10", e[e.Node16 = 3] = "Node16", e[e.NodeNext = 99] = "NodeNext", e[e.Bundler = 100] = "Bundler", e))(rw || {}), MV = (e => (e[e.Legacy = 1] = "Legacy", e[e.Auto = 2] = "Auto", e[e.Force = 3] = "Force", e))(MV || {}), FV = (e => (e[e.FixedPollingInterval = 0] = "FixedPollingInterval", e[e.PriorityPollingInterval = 1] = "PriorityPollingInterval", e[e.DynamicPriorityPolling = 2] = "DynamicPriorityPolling", e[e.FixedChunkSizePolling = 3] = "FixedChunkSizePolling", e[e.UseFsEvents = 4] = "UseFsEvents", e[e.UseFsEventsOnParentDirectory = 5] = "UseFsEventsOnParentDirectory", e))(FV || {}), GV = (e => (e[e.UseFsEvents = 0] = "UseFsEvents", e[e.FixedPollingInterval = 1] = "FixedPollingInterval", e[e.DynamicPriorityPolling = 2] = "DynamicPriorityPolling", e[e.FixedChunkSizePolling = 3] = "FixedChunkSizePolling", e))(GV || {}), BV = (e => (e[e.FixedInterval = 0] = "FixedInterval", e[e.PriorityInterval = 1] = "PriorityInterval", e[e.DynamicPriority = 2] = "DynamicPriority", e[e.FixedChunkSize = 3] = "FixedChunkSize", e))(BV || {}), F8 = (e => (e[e.None = 0] = "None", e[e.CommonJS = 1] = "CommonJS", e[e.AMD = 2] = "AMD", e[e.UMD = 3] = "UMD", e[e.System = 4] = "System", e[e.ES2015 = 5] = "ES2015", e[e.ES2020 = 6] = "ES2020", e[e.ES2022 = 7] = "ES2022", e[e.ESNext = 99] = "ESNext", e[e.Node16 = 100] = "Node16", e[e.NodeNext = 199] = "NodeNext", e))(F8 || {}), UV = (e => (e[e.None = 0] = "None", e[e.Preserve = 1] = "Preserve", e[e.React = 2] = "React", e[e.ReactNative = 3] = "ReactNative", e[e.ReactJSX = 4] = "ReactJSX", e[e.ReactJSXDev = 5] = "ReactJSXDev", e))(UV || {}), VV = (e => (e[e.Remove = 0] = "Remove", e[e.Preserve = 1] = "Preserve", e[e.Error = 2] = "Error", e))(VV || {}), jV = (e => (e[e.CarriageReturnLineFeed = 0] = "CarriageReturnLineFeed", e[e.LineFeed = 1] = "LineFeed", e))(jV || {}), HV = (e => (e[e.Unknown = 0] = "Unknown", e[e.JS = 1] = "JS", e[e.JSX = 2] = "JSX", e[e.TS = 3] = "TS", e[e.TSX = 4] = "TSX", e[e.External = 5] = "External", e[e.JSON = 6] = "JSON", e[e.Deferred = 7] = "Deferred", e))(HV || {}), WV = (e => (e[e.ES3 = 0] = "ES3", e[e.ES5 = 1] = "ES5", e[e.ES2015 = 2] = "ES2015", e[e.ES2016 = 3] = "ES2016", e[e.ES2017 = 4] = "ES2017", e[e.ES2018 = 5] = "ES2018", e[e.ES2019 = 6] = "ES2019", e[e.ES2020 = 7] = "ES2020", e[e.ES2021 = 8] = "ES2021", e[e.ES2022 = 9] = "ES2022", e[e.ESNext = 99] = "ESNext", e[e.JSON = 100] = "JSON", e[e.Latest = 99] = "Latest", e))(WV || {}), zV = (e => (e[e.Standard = 0] = "Standard", e[e.JSX = 1] = "JSX", e))(zV || {}), JV = (e => (e[e.None = 0] = "None", e[e.Recursive = 1] = "Recursive", e))(JV || {}), KV = (e => (e[e.nullCharacter = 0] = "nullCharacter", e[e.maxAsciiCharacter = 127] = "maxAsciiCharacter", e[e.lineFeed = 10] = "lineFeed", e[e.carriageReturn = 13] = "carriageReturn", e[e.lineSeparator = 8232] = "lineSeparator", e[e.paragraphSeparator = 8233] = "paragraphSeparator", e[e.nextLine = 133] = "nextLine", e[e.space = 32] = "space", e[e.nonBreakingSpace = 160] = "nonBreakingSpace", e[e.enQuad = 8192] = "enQuad", e[e.emQuad = 8193] = "emQuad", e[e.enSpace = 8194] = "enSpace", e[e.emSpace = 8195] = "emSpace", e[e.threePerEmSpace = 8196] = "threePerEmSpace", e[e.fourPerEmSpace = 8197] = "fourPerEmSpace", e[e.sixPerEmSpace = 8198] = "sixPerEmSpace", e[e.figureSpace = 8199] = "figureSpace", e[e.punctuationSpace = 8200] = "punctuationSpace", e[e.thinSpace = 8201] = "thinSpace", e[e.hairSpace = 8202] = "hairSpace", e[e.zeroWidthSpace = 8203] = "zeroWidthSpace", e[e.narrowNoBreakSpace = 8239] = "narrowNoBreakSpace", e[e.ideographicSpace = 12288] = "ideographicSpace", e[e.mathematicalSpace = 8287] = "mathematicalSpace", e[e.ogham = 5760] = "ogham", e[e._ = 95] = "_", e[e.$ = 36] = "$", e[e._0 = 48] = "_0", e[e._1 = 49] = "_1", e[e._2 = 50] = "_2", e[e._3 = 51] = "_3", e[e._4 = 52] = "_4", e[e._5 = 53] = "_5", e[e._6 = 54] = "_6", e[e._7 = 55] = "_7", e[e._8 = 56] = "_8", e[e._9 = 57] = "_9", e[e.a = 97] = "a", e[e.b = 98] = "b", e[e.c = 99] = "c", e[e.d = 100] = "d", e[e.e = 101] = "e", e[e.f = 102] = "f", e[e.g = 103] = "g", e[e.h = 104] = "h", e[e.i = 105] = "i", e[e.j = 106] = "j", e[e.k = 107] = "k", e[e.l = 108] = "l", e[e.m = 109] = "m", e[e.n = 110] = "n", e[e.o = 111] = "o", e[e.p = 112] = "p", e[e.q = 113] = "q", e[e.r = 114] = "r", e[e.s = 115] = "s", e[e.t = 116] = "t", e[e.u = 117] = "u", e[e.v = 118] = "v", e[e.w = 119] = "w", e[e.x = 120] = "x", e[e.y = 121] = "y", e[e.z = 122] = "z", e[e.A = 65] = "A", e[e.B = 66] = "B", e[e.C = 67] = "C", e[e.D = 68] = "D", e[e.E = 69] = "E", e[e.F = 70] = "F", e[e.G = 71] = "G", e[e.H = 72] = "H", e[e.I = 73] = "I", e[e.J = 74] = "J", e[e.K = 75] = "K", e[e.L = 76] = "L", e[e.M = 77] = "M", e[e.N = 78] = "N", e[e.O = 79] = "O", e[e.P = 80] = "P", e[e.Q = 81] = "Q", e[e.R = 82] = "R", e[e.S = 83] = "S", e[e.T = 84] = "T", e[e.U = 85] = "U", e[e.V = 86] = "V", e[e.W = 87] = "W", e[e.X = 88] = "X", e[e.Y = 89] = "Y", e[e.Z = 90] = "Z", e[e.ampersand = 38] = "ampersand", e[e.asterisk = 42] = "asterisk", e[e.at = 64] = "at", e[e.backslash = 92] = "backslash", e[e.backtick = 96] = "backtick", e[e.bar = 124] = "bar", e[e.caret = 94] = "caret", e[e.closeBrace = 125] = "closeBrace", e[e.closeBracket = 93] = "closeBracket", e[e.closeParen = 41] = "closeParen", e[e.colon = 58] = "colon", e[e.comma = 44] = "comma", e[e.dot = 46] = "dot", e[e.doubleQuote = 34] = "doubleQuote", e[e.equals = 61] = "equals", e[e.exclamation = 33] = "exclamation", e[e.greaterThan = 62] = "greaterThan", e[e.hash = 35] = "hash", e[e.lessThan = 60] = "lessThan", e[e.minus = 45] = "minus", e[e.openBrace = 123] = "openBrace", e[e.openBracket = 91] = "openBracket", e[e.openParen = 40] = "openParen", e[e.percent = 37] = "percent", e[e.plus = 43] = "plus", e[e.question = 63] = "question", e[e.semicolon = 59] = "semicolon", e[e.singleQuote = 39] = "singleQuote", e[e.slash = 47] = "slash", e[e.tilde = 126] = "tilde", e[e.backspace = 8] = "backspace", e[e.formFeed = 12] = "formFeed", e[e.byteOrderMark = 65279] = "byteOrderMark", e[e.tab = 9] = "tab", e[e.verticalTab = 11] = "verticalTab", e))(KV || {}), qV = (e => (e.Ts = ".ts", e.Tsx = ".tsx", e.Dts = ".d.ts", e.Js = ".js", e.Jsx = ".jsx", e.Json = ".json", e.TsBuildInfo = ".tsbuildinfo", e.Mjs = ".mjs", e.Mts = ".mts", e.Dmts = ".d.mts", e.Cjs = ".cjs", e.Cts = ".cts", e.Dcts = ".d.cts", e))(qV || {}), G8 = (e => (e[e.None = 0] = "None", e[e.ContainsTypeScript = 1] = "ContainsTypeScript", e[e.ContainsJsx = 2] = "ContainsJsx", e[e.ContainsESNext = 4] = "ContainsESNext", e[e.ContainsES2022 = 8] = "ContainsES2022", e[e.ContainsES2021 = 16] = "ContainsES2021", e[e.ContainsES2020 = 32] = "ContainsES2020", e[e.ContainsES2019 = 64] = "ContainsES2019", e[e.ContainsES2018 = 128] = "ContainsES2018", e[e.ContainsES2017 = 256] = "ContainsES2017", e[e.ContainsES2016 = 512] = "ContainsES2016", e[e.ContainsES2015 = 1024] = "ContainsES2015", e[e.ContainsGenerator = 2048] = "ContainsGenerator", e[e.ContainsDestructuringAssignment = 4096] = "ContainsDestructuringAssignment", e[e.ContainsTypeScriptClassSyntax = 8192] = "ContainsTypeScriptClassSyntax", e[e.ContainsLexicalThis = 16384] = "ContainsLexicalThis", e[e.ContainsRestOrSpread = 32768] = "ContainsRestOrSpread", e[e.ContainsObjectRestOrSpread = 65536] = "ContainsObjectRestOrSpread", e[e.ContainsComputedPropertyName = 131072] = "ContainsComputedPropertyName", e[e.ContainsBlockScopedBinding = 262144] = "ContainsBlockScopedBinding", e[e.ContainsBindingPattern = 524288] = "ContainsBindingPattern", e[e.ContainsYield = 1048576] = "ContainsYield", e[e.ContainsAwait = 2097152] = "ContainsAwait", e[e.ContainsHoistedDeclarationOrCompletion = 4194304] = "ContainsHoistedDeclarationOrCompletion", e[e.ContainsDynamicImport = 8388608] = "ContainsDynamicImport", e[e.ContainsClassFields = 16777216] = "ContainsClassFields", e[e.ContainsDecorators = 33554432] = "ContainsDecorators", e[e.ContainsPossibleTopLevelAwait = 67108864] = "ContainsPossibleTopLevelAwait", e[e.ContainsLexicalSuper = 134217728] = "ContainsLexicalSuper", e[e.ContainsUpdateExpressionForIdentifier = 268435456] = "ContainsUpdateExpressionForIdentifier", e[e.ContainsPrivateIdentifierInExpression = 536870912] = "ContainsPrivateIdentifierInExpression", e[e.HasComputedFlags = -2147483648] = "HasComputedFlags", e[e.AssertTypeScript = 1] = "AssertTypeScript", e[e.AssertJsx = 2] = "AssertJsx", e[e.AssertESNext = 4] = "AssertESNext", e[e.AssertES2022 = 8] = "AssertES2022", e[e.AssertES2021 = 16] = "AssertES2021", e[e.AssertES2020 = 32] = "AssertES2020", e[e.AssertES2019 = 64] = "AssertES2019", e[e.AssertES2018 = 128] = "AssertES2018", e[e.AssertES2017 = 256] = "AssertES2017", e[e.AssertES2016 = 512] = "AssertES2016", e[e.AssertES2015 = 1024] = "AssertES2015", e[e.AssertGenerator = 2048] = "AssertGenerator", e[e.AssertDestructuringAssignment = 4096] = "AssertDestructuringAssignment", e[e.OuterExpressionExcludes = -2147483648] = "OuterExpressionExcludes", e[e.PropertyAccessExcludes = -2147483648] = "PropertyAccessExcludes", e[e.NodeExcludes = -2147483648] = "NodeExcludes", e[e.ArrowFunctionExcludes = -2072174592] = "ArrowFunctionExcludes", e[e.FunctionExcludes = -1937940480] = "FunctionExcludes", e[e.ConstructorExcludes = -1937948672] = "ConstructorExcludes", e[e.MethodOrAccessorExcludes = -2005057536] = "MethodOrAccessorExcludes", e[e.PropertyExcludes = -2013249536] = "PropertyExcludes", e[e.ClassExcludes = -2147344384] = "ClassExcludes", e[e.ModuleExcludes = -1941676032] = "ModuleExcludes", e[e.TypeExcludes = -2] = "TypeExcludes", e[e.ObjectLiteralExcludes = -2147278848] = "ObjectLiteralExcludes", e[e.ArrayLiteralOrCallOrNewExcludes = -2147450880] = "ArrayLiteralOrCallOrNewExcludes", e[e.VariableDeclarationListExcludes = -2146893824] = "VariableDeclarationListExcludes", e[e.ParameterExcludes = -2147483648] = "ParameterExcludes", e[e.CatchClauseExcludes = -2147418112] = "CatchClauseExcludes", e[e.BindingPatternExcludes = -2147450880] = "BindingPatternExcludes", e[e.ContainsLexicalThisOrSuper = 134234112] = "ContainsLexicalThisOrSuper", e[e.PropertyNamePropagatingFlags = 134234112] = "PropertyNamePropagatingFlags", e))(G8 || {}), B8 = (e => (e[e.TabStop = 0] = "TabStop", e[e.Placeholder = 1] = "Placeholder", e[e.Choice = 2] = "Choice", e[e.Variable = 3] = "Variable", e))(B8 || {}), U8 = (e => (e[e.None = 0] = "None", e[e.SingleLine = 1] = "SingleLine", e[e.MultiLine = 2] = "MultiLine", e[e.AdviseOnEmitNode = 4] = "AdviseOnEmitNode", e[e.NoSubstitution = 8] = "NoSubstitution", e[e.CapturesThis = 16] = "CapturesThis", e[e.NoLeadingSourceMap = 32] = "NoLeadingSourceMap", e[e.NoTrailingSourceMap = 64] = "NoTrailingSourceMap", e[e.NoSourceMap = 96] = "NoSourceMap", e[e.NoNestedSourceMaps = 128] = "NoNestedSourceMaps", e[e.NoTokenLeadingSourceMaps = 256] = "NoTokenLeadingSourceMaps", e[e.NoTokenTrailingSourceMaps = 512] = "NoTokenTrailingSourceMaps", e[e.NoTokenSourceMaps = 768] = "NoTokenSourceMaps", e[e.NoLeadingComments = 1024] = "NoLeadingComments", e[e.NoTrailingComments = 2048] = "NoTrailingComments", e[e.NoComments = 3072] = "NoComments", e[e.NoNestedComments = 4096] = "NoNestedComments", e[e.HelperName = 8192] = "HelperName", e[e.ExportName = 16384] = "ExportName", e[e.LocalName = 32768] = "LocalName", e[e.InternalName = 65536] = "InternalName", e[e.Indented = 131072] = "Indented", e[e.NoIndentation = 262144] = "NoIndentation", e[e.AsyncFunctionBody = 524288] = "AsyncFunctionBody", e[e.ReuseTempVariableScope = 1048576] = "ReuseTempVariableScope", e[e.CustomPrologue = 2097152] = "CustomPrologue", e[e.NoHoisting = 4194304] = "NoHoisting", e[e.HasEndOfDeclarationMarker = 8388608] = "HasEndOfDeclarationMarker", e[e.Iterator = 16777216] = "Iterator", e[e.NoAsciiEscaping = 33554432] = "NoAsciiEscaping", e))(U8 || {}), XV = (e => (e[e.None = 0] = "None", e[e.TypeScriptClassWrapper = 1] = "TypeScriptClassWrapper", e[e.NeverApplyImportHelper = 2] = "NeverApplyImportHelper", e[e.IgnoreSourceNewlines = 4] = "IgnoreSourceNewlines", e[e.Immutable = 8] = "Immutable", e[e.IndirectCall = 16] = "IndirectCall", e[e.TransformPrivateStaticElements = 32] = "TransformPrivateStaticElements", e))(XV || {}), YV = (e => (e[e.Extends = 1] = "Extends", e[e.Assign = 2] = "Assign", e[e.Rest = 4] = "Rest", e[e.Decorate = 8] = "Decorate", e[e.ESDecorateAndRunInitializers = 8] = "ESDecorateAndRunInitializers", e[e.Metadata = 16] = "Metadata", e[e.Param = 32] = "Param", e[e.Awaiter = 64] = "Awaiter", e[e.Generator = 128] = "Generator", e[e.Values = 256] = "Values", e[e.Read = 512] = "Read", e[e.SpreadArray = 1024] = "SpreadArray", e[e.Await = 2048] = "Await", e[e.AsyncGenerator = 4096] = "AsyncGenerator", e[e.AsyncDelegator = 8192] = "AsyncDelegator", e[e.AsyncValues = 16384] = "AsyncValues", e[e.ExportStar = 32768] = "ExportStar", e[e.ImportStar = 65536] = "ImportStar", e[e.ImportDefault = 131072] = "ImportDefault", e[e.MakeTemplateObject = 262144] = "MakeTemplateObject", e[e.ClassPrivateFieldGet = 524288] = "ClassPrivateFieldGet", e[e.ClassPrivateFieldSet = 1048576] = "ClassPrivateFieldSet", e[e.ClassPrivateFieldIn = 2097152] = "ClassPrivateFieldIn", e[e.CreateBinding = 4194304] = "CreateBinding", e[e.SetFunctionName = 8388608] = "SetFunctionName", e[e.PropKey = 16777216] = "PropKey", e[e.FirstEmitHelper = 1] = "FirstEmitHelper", e[e.LastEmitHelper = 16777216] = "LastEmitHelper", e[e.ForOfIncludes = 256] = "ForOfIncludes", e[e.ForAwaitOfIncludes = 16384] = "ForAwaitOfIncludes", e[e.AsyncGeneratorIncludes = 6144] = "AsyncGeneratorIncludes", e[e.AsyncDelegatorIncludes = 26624] = "AsyncDelegatorIncludes", e[e.SpreadIncludes = 1536] = "SpreadIncludes", e))(YV || {}), $V = (e => (e[e.SourceFile = 0] = "SourceFile", e[e.Expression = 1] = "Expression", e[e.IdentifierName = 2] = "IdentifierName", e[e.MappedTypeParameter = 3] = "MappedTypeParameter", e[e.Unspecified = 4] = "Unspecified", e[e.EmbeddedStatement = 5] = "EmbeddedStatement", e[e.JsxAttributeValue = 6] = "JsxAttributeValue", e))($V || {}), QV = (e => (e[e.Parentheses = 1] = "Parentheses", e[e.TypeAssertions = 2] = "TypeAssertions", e[e.NonNullAssertions = 4] = "NonNullAssertions", e[e.PartiallyEmittedExpressions = 8] = "PartiallyEmittedExpressions", e[e.Assertions = 6] = "Assertions", e[e.All = 15] = "All", e[e.ExcludeJSDocTypeAssertion = 16] = "ExcludeJSDocTypeAssertion", e))(QV || {}), ZV = (e => (e[e.None = 0] = "None", e[e.InParameters = 1] = "InParameters", e[e.VariablesHoistedInParameters = 2] = "VariablesHoistedInParameters", e))(ZV || {}), ej = (e => (e.Prologue = "prologue", e.EmitHelpers = "emitHelpers", e.NoDefaultLib = "no-default-lib", e.Reference = "reference", e.Type = "type", e.TypeResolutionModeRequire = "type-require", e.TypeResolutionModeImport = "type-import", e.Lib = "lib", e.Prepend = "prepend", e.Text = "text", e.Internal = "internal", e))(ej || {}), tj = (e => (e[e.None = 0] = "None", e[e.SingleLine = 0] = "SingleLine", e[e.MultiLine = 1] = "MultiLine", e[e.PreserveLines = 2] = "PreserveLines", e[e.LinesMask = 3] = "LinesMask", e[e.NotDelimited = 0] = "NotDelimited", e[e.BarDelimited = 4] = "BarDelimited", e[e.AmpersandDelimited = 8] = "AmpersandDelimited", e[e.CommaDelimited = 16] = "CommaDelimited", e[e.AsteriskDelimited = 32] = "AsteriskDelimited", e[e.DelimitersMask = 60] = "DelimitersMask", e[e.AllowTrailingComma = 64] = "AllowTrailingComma", e[e.Indented = 128] = "Indented", e[e.SpaceBetweenBraces = 256] = "SpaceBetweenBraces", e[e.SpaceBetweenSiblings = 512] = "SpaceBetweenSiblings", e[e.Braces = 1024] = "Braces", e[e.Parenthesis = 2048] = "Parenthesis", e[e.AngleBrackets = 4096] = "AngleBrackets", e[e.SquareBrackets = 8192] = "SquareBrackets", e[e.BracketsMask = 15360] = "BracketsMask", e[e.OptionalIfUndefined = 16384] = "OptionalIfUndefined", e[e.OptionalIfEmpty = 32768] = "OptionalIfEmpty", e[e.Optional = 49152] = "Optional", e[e.PreferNewLine = 65536] = "PreferNewLine", e[e.NoTrailingNewLine = 131072] = "NoTrailingNewLine", e[e.NoInterveningComments = 262144] = "NoInterveningComments", e[e.NoSpaceIfEmpty = 524288] = "NoSpaceIfEmpty", e[e.SingleElement = 1048576] = "SingleElement", e[e.SpaceAfterList = 2097152] = "SpaceAfterList", e[e.Modifiers = 2359808] = "Modifiers", e[e.HeritageClauses = 512] = "HeritageClauses", e[e.SingleLineTypeLiteralMembers = 768] = "SingleLineTypeLiteralMembers", e[e.MultiLineTypeLiteralMembers = 32897] = "MultiLineTypeLiteralMembers", e[e.SingleLineTupleTypeElements = 528] = "SingleLineTupleTypeElements", e[e.MultiLineTupleTypeElements = 657] = "MultiLineTupleTypeElements", e[e.UnionTypeConstituents = 516] = "UnionTypeConstituents", e[e.IntersectionTypeConstituents = 520] = "IntersectionTypeConstituents", e[e.ObjectBindingPatternElements = 525136] = "ObjectBindingPatternElements", e[e.ArrayBindingPatternElements = 524880] = "ArrayBindingPatternElements", e[e.ObjectLiteralExpressionProperties = 526226] = "ObjectLiteralExpressionProperties", e[e.ImportClauseEntries = 526226] = "ImportClauseEntries", e[e.ArrayLiteralExpressionElements = 8914] = "ArrayLiteralExpressionElements", e[e.CommaListElements = 528] = "CommaListElements", e[e.CallExpressionArguments = 2576] = "CallExpressionArguments", e[e.NewExpressionArguments = 18960] = "NewExpressionArguments", e[e.TemplateExpressionSpans = 262144] = "TemplateExpressionSpans", e[e.SingleLineBlockStatements = 768] = "SingleLineBlockStatements", e[e.MultiLineBlockStatements = 129] = "MultiLineBlockStatements", e[e.VariableDeclarationList = 528] = "VariableDeclarationList", e[e.SingleLineFunctionBodyStatements = 768] = "SingleLineFunctionBodyStatements", e[e.MultiLineFunctionBodyStatements = 1] = "MultiLineFunctionBodyStatements", e[e.ClassHeritageClauses = 0] = "ClassHeritageClauses", e[e.ClassMembers = 129] = "ClassMembers", e[e.InterfaceMembers = 129] = "InterfaceMembers", e[e.EnumMembers = 145] = "EnumMembers", e[e.CaseBlockClauses = 129] = "CaseBlockClauses", e[e.NamedImportsOrExportsElements = 525136] = "NamedImportsOrExportsElements", e[e.JsxElementOrFragmentChildren = 262144] = "JsxElementOrFragmentChildren", e[e.JsxElementAttributes = 262656] = "JsxElementAttributes", e[e.CaseOrDefaultClauseStatements = 163969] = "CaseOrDefaultClauseStatements", e[e.HeritageClauseTypes = 528] = "HeritageClauseTypes", e[e.SourceFileStatements = 131073] = "SourceFileStatements", e[e.Decorators = 2146305] = "Decorators", e[e.TypeArguments = 53776] = "TypeArguments", e[e.TypeParameters = 53776] = "TypeParameters", e[e.Parameters = 2576] = "Parameters", e[e.IndexSignatureParameters = 8848] = "IndexSignatureParameters", e[e.JSDocComment = 33] = "JSDocComment", e))(tj || {}), nj = (e => (e[e.None = 0] = "None", e[e.TripleSlashXML = 1] = "TripleSlashXML", e[e.SingleLine = 2] = "SingleLine", e[e.MultiLine = 4] = "MultiLine", e[e.All = 7] = "All", e[e.Default = 7] = "Default", e))(nj || {}), iw = { reference: { args: [{ name: "types", optional: !0, captureSpan: !0 }, { name: "lib", optional: !0, captureSpan: !0 }, { name: "path", optional: !0, captureSpan: !0 }, { name: "no-default-lib", optional: !0 }, { name: "resolution-mode", optional: !0 }], kind: 1 }, "amd-dependency": { args: [{ name: "path" }, { name: "name", optional: !0 }], kind: 1 }, "amd-module": { args: [{ name: "name" }], kind: 1 }, "ts-check": { kind: 2 }, "ts-nocheck": { kind: 2 }, jsx: { args: [{ name: "factory" }], kind: 4 }, jsxfrag: { args: [{ name: "factory" }], kind: 4 }, jsximportsource: { args: [{ name: "factory" }], kind: 4 }, jsxruntime: { args: [{ name: "factory" }], kind: 4 } } } }); function aw(e) { let t = 5381; for (let r = 0; r < e.length; r++)t = (t << 5) + t + e.charCodeAt(r); return t.toString() } function dDe() { Error.stackTraceLimit < 100 && (Error.stackTraceLimit = 100) } function $1(e, t) { return e.getModifiedTime(t) || Eh } function rj(e) { return { 250: e.Low, 500: e.Medium, 2e3: e.High } } function fDe(e) { if (!e.getEnvironmentVariable) return; let t = o("TSC_WATCH_POLLINGINTERVAL", V8); cw = s("TSC_WATCH_POLLINGCHUNKSIZE", sw) || cw, lw = s("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", sw) || lw; function r(l, f) { return e.getEnvironmentVariable(`${l}_${f.toUpperCase()}`) } function i(l) { let f; return d("Low"), d("Medium"), d("High"), f; function d(g) { let m = r(l, g); m && ((f || (f = {}))[g] = Number(m)) } } function o(l, f) { let d = i(l); if (d) return g("Low"), g("Medium"), g("High"), !0; return !1; function g(m) { f[m] = d[m] || f[m] } } function s(l, f) { let d = i(l); return (t || d) && rj(d ? { ...f, ...d } : f) } } function roe(e, t, r, i, o) { let s = r; for (let f = t.length; i && f; l(), f--) { let d = t[r]; if (d) { if (d.isClosed) { t[r] = void 0; continue } } else continue; i--; let g = hDe(d, $1(e, d.fileName)); if (d.isClosed) { t[r] = void 0; continue } o?.(d, r, g), t[r] && (s < r && (t[s] = d, t[r] = void 0), s++) } return r; function l() { r++, r === t.length && (s < r && (t.length = s), r = 0, s = 0) } } function _De(e) { let t = [], r = [], i = f(250), o = f(500), s = f(2e3); return l; function l(C, P, F) { let B = { fileName: C, callback: P, unchangedPolls: 0, mtime: $1(e, C) }; return t.push(B), S(B, F), { close: () => { B.isClosed = !0, YD(t, B) } } } function f(C) { let P = []; return P.pollingInterval = C, P.pollIndex = 0, P.pollScheduled = !1, P } function d(C) { C.pollIndex = m(C, C.pollingInterval, C.pollIndex, cw[C.pollingInterval]), C.length ? w(C.pollingInterval) : (L.assert(C.pollIndex === 0), C.pollScheduled = !1) } function g(C) { m(r, 250, 0, r.length), d(C), !C.pollScheduled && r.length && w(250) } function m(C, P, F, B) { return roe(e, C, F, B, q); function q(W, Y, R) { R ? (W.unchangedPolls = 0, C !== r && (C[Y] = void 0, x(W))) : W.unchangedPolls !== lw[P] ? W.unchangedPolls++ : C === r ? (W.unchangedPolls = 1, C[Y] = void 0, S(W, 250)) : P !== 2e3 && (W.unchangedPolls++, C[Y] = void 0, S(W, P === 250 ? 500 : 2e3)) } } function v(C) { switch (C) { case 250: return i; case 500: return o; case 2e3: return s } } function S(C, P) { v(P).push(C), A(P) } function x(C) { r.push(C), A(250) } function A(C) { v(C).pollScheduled || w(C) } function w(C) { v(C).pollScheduled = e.setTimeout(C === 250 ? g : d, C, v(C)) } } function pDe(e, t) { let r = Nf(), i = new Map, o = Dl(t); return s; function s(f, d, g, m) { let v = o(f); r.add(v, d); let S = ni(v) || ".", x = i.get(S) || l(ni(f) || ".", S, m); return x.referenceCount++, { close: () => { x.referenceCount === 1 ? (x.close(), i.delete(S)) : x.referenceCount--, r.remove(v, d) } } } function l(f, d, g) { let m = e(f, 1, (v, S, x) => { if (!Ta(S)) return; let A = _a(S, f), w = A && r.get(o(A)); if (w) for (let C of w) C(A, 1, x) }, !1, 500, g); return m.referenceCount = 0, i.set(d, m), m } } function mDe(e) { let t = [], r = 0, i; return o; function o(f, d) { let g = { fileName: f, callback: d, mtime: $1(e, f) }; return t.push(g), l(), { close: () => { g.isClosed = !0, YD(t, g) } } } function s() { i = void 0, r = roe(e, t, r, cw[250]), l() } function l() { !t.length || i || (i = e.setTimeout(s, 2e3)) } } function ioe(e, t, r, i, o) { let l = Dl(t)(r), f = e.get(l); return f ? f.callbacks.push(i) : e.set(l, { watcher: o((d, g, m) => { var v; return (v = e.get(l)) == null ? void 0 : v.callbacks.slice().forEach(S => S(d, g, m)) }), callbacks: [i] }), { close: () => { let d = e.get(l); d && (!m8(d.callbacks, i) || d.callbacks.length || (e.delete(l), _m(d))) } } } function hDe(e, t) { let r = e.mtime.getTime(), i = t.getTime(); return r !== i ? (e.mtime = t, e.callback(e.fileName, aoe(r, i), t), !0) : !1 } function aoe(e, t) { return e === 0 ? 0 : t === 0 ? 2 : 1 } function ow(e) { return aj(e) } function ooe(e) { aj = e } function gDe({ watchDirectory: e, useCaseSensitiveFileNames: t, getCurrentDirectory: r, getAccessibleSortedChildDirectories: i, fileSystemEntryExists: o, realpath: s, setTimeout: l, clearTimeout: f }) { let d = new Map, g = Nf(), m = new Map, v, S = p8(!t), x = Dl(t); return (R, ie, $, fe) => $ ? A(R, fe, ie) : e(R, ie, $, fe); function A(R, ie, $) { let fe = x(R), Z = d.get(fe); Z ? Z.refCount++ : (Z = { watcher: e(R, re => { W(re, ie) || (ie?.synchronousWatchDirectory ? (w(fe, re), q(R, fe, ie)) : C(R, fe, re, ie)) }, !1, ie), refCount: 1, childWatches: Je }, d.set(fe, Z), q(R, fe, ie)); let U = $ && { dirName: R, callback: $ }; return U && g.add(fe, U), { dirName: R, close: () => { let re = L.checkDefined(d.get(fe)); U && g.remove(fe, U), re.refCount--, !re.refCount && (d.delete(fe), _m(re), re.childWatches.forEach(am)) } } } function w(R, ie, $) { let fe, Z; Ta(ie) ? fe = ie : Z = ie, g.forEach((U, re) => { if (!(Z && Z.get(re) === !0) && (re === R || na(R, re) && R[re.length] === _s)) if (Z) if ($) { let le = Z.get(re); le ? le.push(...$) : Z.set(re, $.slice()) } else Z.set(re, !0); else U.forEach(({ callback: le }) => le(fe)) }) } function C(R, ie, $, fe) { let Z = d.get(ie); if (Z && o(R, 1)) { P(R, ie, $, fe); return } w(ie, $), B(Z) } function P(R, ie, $, fe) { let Z = m.get(ie); Z ? Z.fileNames.push($) : m.set(ie, { dirName: R, options: fe, fileNames: [$] }), v && (f(v), v = void 0), v = l(F, 1e3) } function F() { v = void 0, ow(`sysLog:: onTimerToUpdateChildWatches:: ${m.size}`); let R = Ms(), ie = new Map; for (; !v && m.size;) { let fe = m.entries().next(); L.assert(!fe.done); let { value: [Z, { dirName: U, options: re, fileNames: le }] } = fe; m.delete(Z); let _e = q(U, Z, re); w(Z, ie, _e ? void 0 : le) } ow(`sysLog:: invokingWatchers:: Elapsed:: ${Ms() - R}ms:: ${m.size}`), g.forEach((fe, Z) => { let U = ie.get(Z); U && fe.forEach(({ callback: re, dirName: le }) => { ba(U) ? U.forEach(re) : re(le) }) }); let $ = Ms() - R; ow(`sysLog:: Elapsed:: ${$}ms:: onTimerToUpdateChildWatches:: ${m.size} ${v}`) } function B(R) { if (!R) return; let ie = R.childWatches; R.childWatches = Je; for (let $ of ie) $.close(), B(d.get(x($.dirName))) } function q(R, ie, $) { let fe = d.get(ie); if (!fe) return !1; let Z, U = wae(o(R, 1) ? Zi(i(R), _e => { let ge = _a(_e, R); return !W(ge, $) && S(ge, So(s(ge))) === 0 ? ge : void 0 }) : Je, fe.childWatches, (_e, ge) => S(_e, ge.dirName), re, am, le); return fe.childWatches = Z || Je, U; function re(_e) { let ge = A(_e, $); le(ge) } function le(_e) { (Z || (Z = [])).push(_e) } } function W(R, ie) { return vt(uw, $ => Y(R, $)) || soe(R, ie, t, r) } function Y(R, ie) { return jl(R, ie) ? !0 : t ? !1 : jl(x(R), ie) } } function yDe(e) { return (t, r, i) => e(r === 1 ? "change" : "rename", "", i) } function vDe(e, t, r) { return (i, o, s) => { i === "rename" ? (s || (s = r(e) || Eh), t(e, s !== Eh ? 0 : 2, s)) : t(e, 1, s) } } function soe(e, t, r, i) { return (t?.excludeDirectories || t?.excludeFiles) && (G3(e, t?.excludeFiles, r, i()) || G3(e, t?.excludeDirectories, r, i())) } function coe(e, t, r, i, o) { return (s, l) => { if (s === "rename") { let f = l ? So(vi(e, l)) : e; (!l || !soe(f, r, i, o)) && t(f) } } } function loe({ pollingWatchFileWorker: e, getModifiedTime: t, setTimeout: r, clearTimeout: i, fsWatchWorker: o, fileSystemEntryExists: s, useCaseSensitiveFileNames: l, getCurrentDirectory: f, fsSupportsRecursiveFsWatch: d, getAccessibleSortedChildDirectories: g, realpath: m, tscWatchFile: v, useNonPollingWatchers: S, tscWatchDirectory: x, inodeWatching: A, sysLog: w }) { let C = new Map, P = new Map, F = new Map, B, q, W, Y, R = !1; return { watchFile: ie, watchDirectory: re }; function ie(we, ke, Pe, Ce) { Ce = Z(Ce, S); let Ie = L.checkDefined(Ce.watchFile); switch (Ie) { case 0: return ge(we, ke, 250, void 0); case 1: return ge(we, ke, Pe, void 0); case 2: return $()(we, ke, Pe, void 0); case 3: return fe()(we, ke, void 0, void 0); case 4: return X(we, 0, vDe(we, ke, t), !1, Pe, _N(Ce)); case 5: return W || (W = pDe(X, l)), W(we, ke, Pe, _N(Ce)); default: L.assertNever(Ie) } } function $() { return B || (B = _De({ getModifiedTime: t, setTimeout: r })) } function fe() { return q || (q = mDe({ getModifiedTime: t, setTimeout: r })) } function Z(we, ke) { if (we && we.watchFile !== void 0) return we; switch (v) { case "PriorityPollingInterval": return { watchFile: 1 }; case "DynamicPriorityPolling": return { watchFile: 2 }; case "UseFsEvents": return U(4, 1, we); case "UseFsEventsWithFallbackDynamicPolling": return U(4, 2, we); case "UseFsEventsOnParentDirectory": ke = !0; default: return ke ? U(5, 1, we) : { watchFile: 4 } } } function U(we, ke, Pe) { let Ce = Pe?.fallbackPolling; return { watchFile: we, fallbackPolling: Ce === void 0 ? ke : Ce } } function re(we, ke, Pe, Ce) { return d ? X(we, 1, coe(we, ke, Ce, l, f), Pe, 500, _N(Ce)) : (Y || (Y = gDe({ useCaseSensitiveFileNames: l, getCurrentDirectory: f, fileSystemEntryExists: s, getAccessibleSortedChildDirectories: g, watchDirectory: le, realpath: m, setTimeout: r, clearTimeout: i })), Y(we, ke, Pe, Ce)) } function le(we, ke, Pe, Ce) { L.assert(!Pe); let Ie = _e(Ce), Be = L.checkDefined(Ie.watchDirectory); switch (Be) { case 1: return ge(we, () => ke(we), 500, void 0); case 2: return $()(we, () => ke(we), 500, void 0); case 3: return fe()(we, () => ke(we), void 0, void 0); case 0: return X(we, 1, coe(we, ke, Ce, l, f), Pe, 500, _N(Ie)); default: L.assertNever(Be) } } function _e(we) { if (we && we.watchDirectory !== void 0) return we; switch (x) { case "RecursiveDirectoryUsingFsWatchFile": return { watchDirectory: 1 }; case "RecursiveDirectoryUsingDynamicPriorityPolling": return { watchDirectory: 2 }; default: let ke = we?.fallbackPolling; return { watchDirectory: 0, fallbackPolling: ke !== void 0 ? ke : void 0 } } } function ge(we, ke, Pe, Ce) { return ioe(C, l, we, ke, Ie => e(we, Ie, Pe, Ce)) } function X(we, ke, Pe, Ce, Ie, Be) { return ioe(Ce ? F : P, l, we, Pe, Ne => Ve(we, ke, Ne, Ce, Ie, Be)) } function Ve(we, ke, Pe, Ce, Ie, Be) { let Ne, Le; A && (Ne = we.substring(we.lastIndexOf(_s)), Le = Ne.slice(_s.length)); let Ye = s(we, ke) ? ct() : qe(); return { close: () => { Ye && (Ye.close(), Ye = void 0) } }; function _t(zt) { Ye && (w(`sysLog:: ${we}:: Changing watcher to ${zt === ct ? "Present" : "Missing"}FileSystemEntryWatcher`), Ye.close(), Ye = zt()) } function ct() { if (R) return w(`sysLog:: ${we}:: Defaulting to watchFile`), We(); try { let zt = o(we, Ce, A ? Rt : Pe); return zt.on("error", () => { Pe("rename", ""), _t(qe) }), zt } catch (zt) { return R || (R = zt.code === "ENOSPC"), w(`sysLog:: ${we}:: Changing to watchFile`), We() } } function Rt(zt, Qt) { let tn; if (Qt && Oc(Qt, "~") && (tn = Qt, Qt = Qt.slice(0, Qt.length - 1)), zt === "rename" && (!Qt || Qt === Le || Oc(Qt, Ne))) { let kn = t(we) || Eh; tn && Pe(zt, tn, kn), Pe(zt, Qt, kn), A ? _t(kn === Eh ? qe : ct) : kn === Eh && _t(qe) } else tn && Pe(zt, tn), Pe(zt, Qt) } function We() { return ie(we, yDe(Pe), Ie, Be) } function qe() { return ie(we, (zt, Qt, tn) => { Qt === 0 && (tn || (tn = t(we) || Eh), tn !== Eh && (Pe("rename", "", tn), _t(ct))) }, Ie, Be) } } } function uoe(e) { let t = e.writeFile; e.writeFile = (r, i, o) => nW(r, i, !!o, (s, l, f) => t.call(e, s, l, f), s => e.createDirectory(s), s => e.directoryExists(s)) } function bDe(e) { xl = e } var ij, V8, Eh, sw, cw, lw, uw, aj, oj, xl, EDe = gt({ "src/compiler/sys.ts"() { "use strict"; fa(), ij = (e => (e[e.Created = 0] = "Created", e[e.Changed = 1] = "Changed", e[e.Deleted = 2] = "Deleted", e))(ij || {}), V8 = (e => (e[e.High = 2e3] = "High", e[e.Medium = 500] = "Medium", e[e.Low = 250] = "Low", e))(V8 || {}), Eh = new Date(0), sw = { Low: 32, Medium: 64, High: 256 }, cw = rj(sw), lw = rj(sw), uw = ["/node_modules/.", "/.git", "/.#"], aj = Ba, oj = (e => (e[e.File = 0] = "File", e[e.Directory = 1] = "Directory", e))(oj || {}), xl = (() => { let e = "\uFEFF"; function t() { let i = /^native |^\([^)]+\)$|^(internal[\\/]|[a-zA-Z0-9_\s]+(\.js)?$)/, o = d0("fs"), s = d0("path"), l = d0("os"), f; try { f = d0("crypto") } catch { f = void 0 } let d, g = "./profile.cpuprofile", m = d0("buffer").Buffer, v = process.platform === "linux" || process.platform === "darwin", S = l.platform(), x = fe(), A = o.realpathSync.native ? process.platform === "win32" ? Ie : o.realpathSync.native : o.realpathSync, w = __filename.endsWith("sys.js") ? s.join(s.dirname(__dirname), "__fake__.js") : __filename, C = process.platform === "win32" || process.platform === "darwin", P = zu(() => process.cwd()), { watchFile: F, watchDirectory: B } = loe({ pollingWatchFileWorker: U, getModifiedTime: Ne, setTimeout, clearTimeout, fsWatchWorker: re, useCaseSensitiveFileNames: x, getCurrentDirectory: P, fileSystemEntryExists: we, fsSupportsRecursiveFsWatch: C, getAccessibleSortedChildDirectories: ct => X(ct).directories, realpath: Be, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, tscWatchDirectory: process.env.TSC_WATCHDIRECTORY, inodeWatching: v, sysLog: ow }), q = { args: process.argv.slice(2), newLine: l.EOL, useCaseSensitiveFileNames: x, write(ct) { process.stdout.write(ct) }, getWidthOfTerminal() { return process.stdout.columns }, writeOutputIsTTY() { return process.stdout.isTTY }, readFile: _e, writeFile: ge, watchFile: F, watchDirectory: B, resolvePath: ct => s.resolve(ct), fileExists: ke, directoryExists: Pe, createDirectory(ct) { if (!q.directoryExists(ct)) try { o.mkdirSync(ct) } catch (Rt) { if (Rt.code !== "EEXIST") throw Rt } }, getExecutingFilePath() { return w }, getCurrentDirectory: P, getDirectories: Ce, getEnvironmentVariable(ct) { return process.env[ct] || "" }, readDirectory: Ve, getModifiedTime: Ne, setModifiedTime: Le, deleteFile: Ye, createHash: f ? _t : aw, createSHA256Hash: f ? _t : void 0, getMemoryUsage() { return global.gc && global.gc(), process.memoryUsage().heapUsed }, getFileSize(ct) { try { let Rt = W(ct); if (Rt?.isFile()) return Rt.size } catch { } return 0 }, exit(ct) { ie(() => process.exit(ct)) }, enableCPUProfiler: Y, disableCPUProfiler: ie, cpuProfilingEnabled: () => !!d || ya(process.execArgv, "--cpu-prof") || ya(process.execArgv, "--prof"), realpath: Be, debugMode: !!process.env.NODE_INSPECTOR_IPC || !!process.env.VSCODE_INSPECTOR_OPTIONS || vt(process.execArgv, ct => /^--(inspect|debug)(-brk)?(=\d+)?$/i.test(ct)), tryEnableSourceMapsForHost() { try { d0("source-map-support").install() } catch { } }, setTimeout, clearTimeout, clearScreen: () => { process.stdout.write("\x1Bc") }, setBlocking: () => { process.stdout && process.stdout._handle && process.stdout._handle.setBlocking && process.stdout._handle.setBlocking(!0) }, bufferFrom: $, base64decode: ct => $(ct, "base64").toString("utf8"), base64encode: ct => $(ct).toString("base64"), require: (ct, Rt) => { try { let We = jfe(Rt, ct, q); return { module: d0(We), modulePath: We, error: void 0 } } catch (We) { return { module: void 0, modulePath: void 0, error: We } } } }; return q; function W(ct) { return o.statSync(ct, { throwIfNoEntry: !1 }) } function Y(ct, Rt) { if (d) return Rt(), !1; let We = d0("inspector"); if (!We || !We.Session) return Rt(), !1; let qe = new We.Session; return qe.connect(), qe.post("Profiler.enable", () => { qe.post("Profiler.start", () => { d = qe, g = ct, Rt() }) }), !0 } function R(ct) { let Rt = 0, We = new Map, qe = Al(s.dirname(w)), zt = `file://${_p(qe) === 1 ? "" : "/"}${qe}`; for (let Qt of ct.nodes) if (Qt.callFrame.url) { let tn = Al(Qt.callFrame.url); Gy(zt, tn, x) ? Qt.callFrame.url = Q1(zt, tn, zt, Dl(x), !0) : i.test(tn) || (Qt.callFrame.url = (We.has(tn) ? We : We.set(tn, `external${Rt}.js`)).get(tn), Rt++) } return ct } function ie(ct) { if (d && d !== "stopping") { let Rt = d; return d.post("Profiler.stop", (We, { profile: qe }) => { var zt; if (!We) { try { (zt = W(g)) != null && zt.isDirectory() && (g = s.join(g, `${new Date().toISOString().replace(/:/g, "-")}+P${process.pid}.cpuprofile`)) } catch { } try { o.mkdirSync(s.dirname(g), { recursive: !0 }) } catch { } o.writeFileSync(g, JSON.stringify(R(qe))) } d = void 0, Rt.disconnect(), ct() }), d = "stopping", !0 } else return ct(), !1 } function $(ct, Rt) { return m.from && m.from !== Int8Array.from ? m.from(ct, Rt) : new m(ct, Rt) } function fe() { return S === "win32" || S === "win64" ? !1 : !ke(Z(__filename)) } function Z(ct) { return ct.replace(/\w/g, Rt => { let We = Rt.toUpperCase(); return Rt === We ? Rt.toLowerCase() : We }) } function U(ct, Rt, We) { o.watchFile(ct, { persistent: !0, interval: We }, zt); let qe; return { close: () => o.unwatchFile(ct, zt) }; function zt(Qt, tn) { let kn = +tn.mtime == 0 || qe === 2; if (+Qt.mtime == 0) { if (kn) return; qe = 2 } else if (kn) qe = 0; else { if (+Qt.mtime == +tn.mtime) return; qe = 1 } Rt(ct, qe, Qt.mtime) } } function re(ct, Rt, We) { return o.watch(ct, C ? { persistent: !0, recursive: !!Rt } : { persistent: !0 }, We) } function le(ct, Rt) { let We; try { We = o.readFileSync(ct) } catch { return } let qe = We.length; if (qe >= 2 && We[0] === 254 && We[1] === 255) { qe &= -2; for (let zt = 0; zt < qe; zt += 2) { let Qt = We[zt]; We[zt] = We[zt + 1], We[zt + 1] = Qt } return We.toString("utf16le", 2) } return qe >= 2 && We[0] === 255 && We[1] === 254 ? We.toString("utf16le", 2) : qe >= 3 && We[0] === 239 && We[1] === 187 && We[2] === 191 ? We.toString("utf8", 3) : We.toString("utf8") } function _e(ct, Rt) { fp.logStartReadFile(ct); let We = le(ct, Rt); return fp.logStopReadFile(), We } function ge(ct, Rt, We) { fp.logEvent("WriteFile: " + ct), We && (Rt = e + Rt); let qe; try { qe = o.openSync(ct, "w"), o.writeSync(qe, Rt, void 0, "utf8") } finally { qe !== void 0 && o.closeSync(qe) } } function X(ct) { fp.logEvent("ReadDir: " + (ct || ".")); try { let Rt = o.readdirSync(ct || ".", { withFileTypes: !0 }), We = [], qe = []; for (let zt of Rt) { let Qt = typeof zt == "string" ? zt : zt.name; if (Qt === "." || Qt === "..") continue; let tn; if (typeof zt == "string" || zt.isSymbolicLink()) { let kn = vi(ct, Qt); try { if (tn = W(kn), !tn) continue } catch { continue } } else tn = zt; tn.isFile() ? We.push(Qt) : tn.isDirectory() && qe.push(Qt) } return We.sort(), qe.sort(), { files: We, directories: qe } } catch { return D4 } } function Ve(ct, Rt, We, qe, zt) { return wW(ct, Rt, We, qe, x, process.cwd(), zt, X, Be) } function we(ct, Rt) { let We = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { let qe = W(ct); if (!qe) return !1; switch (Rt) { case 0: return qe.isFile(); case 1: return qe.isDirectory(); default: return !1 } } catch { return !1 } finally { Error.stackTraceLimit = We } } function ke(ct) { return we(ct, 0) } function Pe(ct) { return we(ct, 1) } function Ce(ct) { return X(ct).directories.slice() } function Ie(ct) { return ct.length < 260 ? o.realpathSync.native(ct) : o.realpathSync(ct) } function Be(ct) { try { return A(ct) } catch { return ct } } function Ne(ct) { var Rt; let We = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { return (Rt = W(ct)) == null ? void 0 : Rt.mtime } catch { return } finally { Error.stackTraceLimit = We } } function Le(ct, Rt) { try { o.utimesSync(ct, Rt, Rt) } catch { return } } function Ye(ct) { try { return o.unlinkSync(ct) } catch { return } } function _t(ct) { let Rt = f.createHash("sha256"); return Rt.update(ct), Rt.digest("hex") } } let r; return qU() && (r = t()), r && uoe(r), r })(), xl && xl.getEnvironmentVariable && (fDe(xl), L.setAssertionLevel(/^development$/i.test(xl.getEnvironmentVariable("NODE_ENV")) ? 1 : 0)), xl && xl.debugMode && (L.isDebugging = !0) } }); function sj(e) { return e === 47 || e === 92 } function doe(e) { return dw(e) < 0 } function qp(e) { return dw(e) > 0 } function TDe(e) { let t = dw(e); return t > 0 && t === e.length } function nI(e) { return dw(e) !== 0 } function Jd(e) { return /^\.\.?($|[\\/])/.test(e) } function cj(e) { return !nI(e) && !Jd(e) } function gA(e) { return jl(Hl(e), ".") } function Gc(e, t) { return e.length > t.length && Oc(e, t) } function $c(e, t) { for (let r of t) if (Gc(e, r)) return !0; return !1 } function My(e) { return e.length > 0 && sj(e.charCodeAt(e.length - 1)) } function foe(e) { return e >= 97 && e <= 122 || e >= 65 && e <= 90 } function SDe(e, t) { let r = e.charCodeAt(t); if (r === 58) return t + 1; if (r === 37 && e.charCodeAt(t + 1) === 51) { let i = e.charCodeAt(t + 2); if (i === 97 || i === 65) return t + 3 } return -1 } function dw(e) { if (!e) return 0; let t = e.charCodeAt(0); if (t === 47 || t === 92) { if (e.charCodeAt(1) !== t) return 1; let i = e.indexOf(t === 47 ? _s : pw, 2); return i < 0 ? e.length : i + 1 } if (foe(t) && e.charCodeAt(1) === 58) { let i = e.charCodeAt(2); if (i === 47 || i === 92) return 3; if (e.length === 2) return 2 } let r = e.indexOf(pj); if (r !== -1) { let i = r + pj.length, o = e.indexOf(_s, i); if (o !== -1) { let s = e.slice(0, r), l = e.slice(i, o); if (s === "file" && (l === "" || l === "localhost") && foe(e.charCodeAt(o + 1))) { let f = SDe(e, o + 2); if (f !== -1) { if (e.charCodeAt(f) === 47) return ~(f + 1); if (f === e.length) return ~f } } return ~(o + 1) } return ~e.length } return 0 } function _p(e) { let t = dw(e); return t < 0 ? ~t : t } function ni(e) { e = Al(e); let t = _p(e); return t === e.length ? e : (e = sT(e), e.slice(0, Math.max(t, e.lastIndexOf(_s)))) } function Hl(e, t, r) { if (e = Al(e), _p(e) === e.length) return ""; e = sT(e); let o = e.slice(Math.max(_p(e), e.lastIndexOf(_s) + 1)), s = t !== void 0 && r !== void 0 ? j8(o, t, r) : void 0; return s ? o.slice(0, o.length - s.length) : o } function _oe(e, t, r) { if (na(t, ".") || (t = "." + t), e.length >= t.length && e.charCodeAt(e.length - t.length) === 46) { let i = e.slice(e.length - t.length); if (r(i, t)) return i } } function xDe(e, t, r) { if (typeof t == "string") return _oe(e, t, r) || ""; for (let i of t) { let o = _oe(e, i, r); if (o) return o } return "" } function j8(e, t, r) { if (t) return xDe(sT(e), t, r ? W1 : z1); let i = Hl(e), o = i.lastIndexOf("."); return o >= 0 ? i.substring(o) : "" } function ADe(e, t) { let r = e.substring(0, t), i = e.substring(t).split(_s); return i.length && !Os(i) && i.pop(), [r, ...i] } function Ou(e, t = "") { return e = vi(t, e), ADe(e, _p(e)) } function T0(e) { return e.length === 0 ? "" : (e[0] && cu(e[0])) + e.slice(1).join(_s) } function Al(e) { return e.indexOf("\\") !== -1 ? e.replace(poe, _s) : e } function oT(e) { if (!vt(e)) return []; let t = [e[0]]; for (let r = 1; r < e.length; r++) { let i = e[r]; if (i && i !== ".") { if (i === "..") { if (t.length > 1) { if (t[t.length - 1] !== "..") { t.pop(); continue } } else if (t[0]) continue } t.push(i) } } return t } function vi(e, ...t) { e && (e = Al(e)); for (let r of t) r && (r = Al(r), !e || _p(r) !== 0 ? e = r : e = cu(e) + r); return e } function Fy(e, ...t) { return So(vt(t) ? vi(e, ...t) : Al(e)) } function fw(e, t) { return oT(Ou(e, t)) } function _a(e, t) { return T0(fw(e, t)) } function So(e) { if (e = Al(e), !mw.test(e)) return e; let t = e.replace(/\/\.\//g, "/").replace(/^\.\//, ""); if (t !== e && (e = t, !mw.test(e))) return e; let r = T0(oT(Ou(e))); return r && My(e) ? cu(r) : r } function CDe(e) { return e.length === 0 ? "" : e.slice(1).join(_s) } function lj(e, t) { return CDe(fw(e, t)) } function Ts(e, t, r) { let i = qp(e) ? So(e) : _a(e, t); return r(i) } function sT(e) { return My(e) ? e.substr(0, e.length - 1) : e } function cu(e) { return My(e) ? e : e + _s } function S0(e) { return !nI(e) && !Jd(e) ? "./" + e : e } function uj(e, t, r, i) { let o = r !== void 0 && i !== void 0 ? j8(e, r, i) : j8(e); return o ? e.slice(0, e.length - o.length) + (na(t, ".") ? t : "." + t) : e } function dj(e, t, r) { if (e === t) return 0; if (e === void 0) return -1; if (t === void 0) return 1; let i = e.substring(0, _p(e)), o = t.substring(0, _p(t)), s = _8(i, o); if (s !== 0) return s; let l = e.substring(i.length), f = t.substring(o.length); if (!mw.test(l) && !mw.test(f)) return r(l, f); let d = oT(Ou(e)), g = oT(Ou(t)), m = Math.min(d.length, g.length); for (let v = 1; v < m; v++) { let S = r(d[v], g[v]); if (S !== 0) return S } return Es(d.length, g.length) } function IDe(e, t) { return dj(e, t, su) } function LDe(e, t) { return dj(e, t, _8) } function cT(e, t, r, i) { return typeof r == "string" ? (e = vi(r, e), t = vi(r, t)) : typeof r == "boolean" && (i = r), dj(e, t, p8(i)) } function Gy(e, t, r, i) { if (typeof r == "string" ? (e = vi(r, e), t = vi(r, t)) : typeof r == "boolean" && (i = r), e === void 0 || t === void 0) return !1; if (e === t) return !0; let o = oT(Ou(e)), s = oT(Ou(t)); if (s.length < o.length) return !1; let l = i ? W1 : z1; for (let f = 0; f < o.length; f++)if (!(f === 0 ? W1 : l)(o[f], s[f])) return !1; return !0 } function fj(e, t, r) { let i = r(e), o = r(t); return na(i, o + "/") || na(i, o + "\\") } function _j(e, t, r, i) { let o = oT(Ou(e)), s = oT(Ou(t)), l; for (l = 0; l < o.length && l < s.length; l++) { let g = i(o[l]), m = i(s[l]); if (!(l === 0 ? W1 : r)(g, m)) break } if (l === 0) return s; let f = s.slice(l), d = []; for (; l < o.length; l++)d.push(".."); return ["", ...d, ...f] } function Xp(e, t, r) { L.assert(_p(e) > 0 == _p(t) > 0, "Paths must either both be absolute or both be relative"); let s = _j(e, t, (typeof r == "boolean" ? r : !1) ? W1 : z1, typeof r == "function" ? r : Ks); return T0(s) } function rI(e, t, r) { return qp(e) ? Q1(t, e, t, r, !1) : e } function _w(e, t, r) { return S0(Xp(ni(e), t, r)) } function Q1(e, t, r, i, o) { let s = _j(Fy(r, e), Fy(r, t), z1, i), l = s[0]; if (o && qp(l)) { let f = l.charAt(0) === _s ? "file://" : "file:///"; s[0] = f + l } return T0(s) } function Th(e, t) { for (; ;) { let r = t(e); if (r !== void 0) return r; let i = ni(e); if (i === e) return; e = i } } function H8(e) { return Oc(e, "/node_modules") } var _s, pw, pj, poe, mw, kDe = gt({ "src/compiler/path.ts"() { "use strict"; fa(), _s = "/", pw = "\\", pj = "://", poe = /\\/g, mw = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/ } }); function b(e, t, r, i, o, s, l) { return { code: e, category: t, key: r, message: i, reportsUnnecessary: o, elidedInCompatabilityPyramid: s, reportsDeprecated: l } } var _, DDe = gt({ "src/compiler/diagnosticInformationMap.generated.ts"() { "use strict"; noe(), _ = { Unterminated_string_literal: b(1002, 1, "Unterminated_string_literal_1002", "Unterminated string literal."), Identifier_expected: b(1003, 1, "Identifier_expected_1003", "Identifier expected."), _0_expected: b(1005, 1, "_0_expected_1005", "'{0}' expected."), A_file_cannot_have_a_reference_to_itself: b(1006, 1, "A_file_cannot_have_a_reference_to_itself_1006", "A file cannot have a reference to itself."), The_parser_expected_to_find_a_1_to_match_the_0_token_here: b(1007, 1, "The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007", "The parser expected to find a '{1}' to match the '{0}' token here."), Trailing_comma_not_allowed: b(1009, 1, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."), Asterisk_Slash_expected: b(1010, 1, "Asterisk_Slash_expected_1010", "'*/' expected."), An_element_access_expression_should_take_an_argument: b(1011, 1, "An_element_access_expression_should_take_an_argument_1011", "An element access expression should take an argument."), Unexpected_token: b(1012, 1, "Unexpected_token_1012", "Unexpected token."), A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma: b(1013, 1, "A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013", "A rest parameter or binding pattern may not have a trailing comma."), A_rest_parameter_must_be_last_in_a_parameter_list: b(1014, 1, "A_rest_parameter_must_be_last_in_a_parameter_list_1014", "A rest parameter must be last in a parameter list."), Parameter_cannot_have_question_mark_and_initializer: b(1015, 1, "Parameter_cannot_have_question_mark_and_initializer_1015", "Parameter cannot have question mark and initializer."), A_required_parameter_cannot_follow_an_optional_parameter: b(1016, 1, "A_required_parameter_cannot_follow_an_optional_parameter_1016", "A required parameter cannot follow an optional parameter."), An_index_signature_cannot_have_a_rest_parameter: b(1017, 1, "An_index_signature_cannot_have_a_rest_parameter_1017", "An index signature cannot have a rest parameter."), An_index_signature_parameter_cannot_have_an_accessibility_modifier: b(1018, 1, "An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018", "An index signature parameter cannot have an accessibility modifier."), An_index_signature_parameter_cannot_have_a_question_mark: b(1019, 1, "An_index_signature_parameter_cannot_have_a_question_mark_1019", "An index signature parameter cannot have a question mark."), An_index_signature_parameter_cannot_have_an_initializer: b(1020, 1, "An_index_signature_parameter_cannot_have_an_initializer_1020", "An index signature parameter cannot have an initializer."), An_index_signature_must_have_a_type_annotation: b(1021, 1, "An_index_signature_must_have_a_type_annotation_1021", "An index signature must have a type annotation."), An_index_signature_parameter_must_have_a_type_annotation: b(1022, 1, "An_index_signature_parameter_must_have_a_type_annotation_1022", "An index signature parameter must have a type annotation."), readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature: b(1024, 1, "readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024", "'readonly' modifier can only appear on a property declaration or index signature."), An_index_signature_cannot_have_a_trailing_comma: b(1025, 1, "An_index_signature_cannot_have_a_trailing_comma_1025", "An index signature cannot have a trailing comma."), Accessibility_modifier_already_seen: b(1028, 1, "Accessibility_modifier_already_seen_1028", "Accessibility modifier already seen."), _0_modifier_must_precede_1_modifier: b(1029, 1, "_0_modifier_must_precede_1_modifier_1029", "'{0}' modifier must precede '{1}' modifier."), _0_modifier_already_seen: b(1030, 1, "_0_modifier_already_seen_1030", "'{0}' modifier already seen."), _0_modifier_cannot_appear_on_class_elements_of_this_kind: b(1031, 1, "_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031", "'{0}' modifier cannot appear on class elements of this kind."), super_must_be_followed_by_an_argument_list_or_member_access: b(1034, 1, "super_must_be_followed_by_an_argument_list_or_member_access_1034", "'super' must be followed by an argument list or member access."), Only_ambient_modules_can_use_quoted_names: b(1035, 1, "Only_ambient_modules_can_use_quoted_names_1035", "Only ambient modules can use quoted names."), Statements_are_not_allowed_in_ambient_contexts: b(1036, 1, "Statements_are_not_allowed_in_ambient_contexts_1036", "Statements are not allowed in ambient contexts."), A_declare_modifier_cannot_be_used_in_an_already_ambient_context: b(1038, 1, "A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038", "A 'declare' modifier cannot be used in an already ambient context."), Initializers_are_not_allowed_in_ambient_contexts: b(1039, 1, "Initializers_are_not_allowed_in_ambient_contexts_1039", "Initializers are not allowed in ambient contexts."), _0_modifier_cannot_be_used_in_an_ambient_context: b(1040, 1, "_0_modifier_cannot_be_used_in_an_ambient_context_1040", "'{0}' modifier cannot be used in an ambient context."), _0_modifier_cannot_be_used_here: b(1042, 1, "_0_modifier_cannot_be_used_here_1042", "'{0}' modifier cannot be used here."), _0_modifier_cannot_appear_on_a_module_or_namespace_element: b(1044, 1, "_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044", "'{0}' modifier cannot appear on a module or namespace element."), Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier: b(1046, 1, "Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046", "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."), A_rest_parameter_cannot_be_optional: b(1047, 1, "A_rest_parameter_cannot_be_optional_1047", "A rest parameter cannot be optional."), A_rest_parameter_cannot_have_an_initializer: b(1048, 1, "A_rest_parameter_cannot_have_an_initializer_1048", "A rest parameter cannot have an initializer."), A_set_accessor_must_have_exactly_one_parameter: b(1049, 1, "A_set_accessor_must_have_exactly_one_parameter_1049", "A 'set' accessor must have exactly one parameter."), A_set_accessor_cannot_have_an_optional_parameter: b(1051, 1, "A_set_accessor_cannot_have_an_optional_parameter_1051", "A 'set' accessor cannot have an optional parameter."), A_set_accessor_parameter_cannot_have_an_initializer: b(1052, 1, "A_set_accessor_parameter_cannot_have_an_initializer_1052", "A 'set' accessor parameter cannot have an initializer."), A_set_accessor_cannot_have_rest_parameter: b(1053, 1, "A_set_accessor_cannot_have_rest_parameter_1053", "A 'set' accessor cannot have rest parameter."), A_get_accessor_cannot_have_parameters: b(1054, 1, "A_get_accessor_cannot_have_parameters_1054", "A 'get' accessor cannot have parameters."), Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value: b(1055, 1, "Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055", "Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."), Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: b(1056, 1, "Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056", "Accessors are only available when targeting ECMAScript 5 and higher."), The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1058, 1, "The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058", "The return type of an async function must either be a valid promise or must not contain a callable 'then' member."), A_promise_must_have_a_then_method: b(1059, 1, "A_promise_must_have_a_then_method_1059", "A promise must have a 'then' method."), The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback: b(1060, 1, "The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060", "The first parameter of the 'then' method of a promise must be a callback."), Enum_member_must_have_initializer: b(1061, 1, "Enum_member_must_have_initializer_1061", "Enum member must have initializer."), Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: b(1062, 1, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."), An_export_assignment_cannot_be_used_in_a_namespace: b(1063, 1, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."), The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: b(1064, 1, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: b(1066, 1, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: b(1068, 1, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: b(1069, 1, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: b(1070, 1, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: b(1071, 1, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: b(1079, 1, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), Invalid_reference_directive_syntax: b(1084, 1, "Invalid_reference_directive_syntax_1084", "Invalid 'reference' directive syntax."), Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0: b(1085, 1, "Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085", "Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."), _0_modifier_cannot_appear_on_a_constructor_declaration: b(1089, 1, "_0_modifier_cannot_appear_on_a_constructor_declaration_1089", "'{0}' modifier cannot appear on a constructor declaration."), _0_modifier_cannot_appear_on_a_parameter: b(1090, 1, "_0_modifier_cannot_appear_on_a_parameter_1090", "'{0}' modifier cannot appear on a parameter."), Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: b(1091, 1, "Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091", "Only a single variable declaration is allowed in a 'for...in' statement."), Type_parameters_cannot_appear_on_a_constructor_declaration: b(1092, 1, "Type_parameters_cannot_appear_on_a_constructor_declaration_1092", "Type parameters cannot appear on a constructor declaration."), Type_annotation_cannot_appear_on_a_constructor_declaration: b(1093, 1, "Type_annotation_cannot_appear_on_a_constructor_declaration_1093", "Type annotation cannot appear on a constructor declaration."), An_accessor_cannot_have_type_parameters: b(1094, 1, "An_accessor_cannot_have_type_parameters_1094", "An accessor cannot have type parameters."), A_set_accessor_cannot_have_a_return_type_annotation: b(1095, 1, "A_set_accessor_cannot_have_a_return_type_annotation_1095", "A 'set' accessor cannot have a return type annotation."), An_index_signature_must_have_exactly_one_parameter: b(1096, 1, "An_index_signature_must_have_exactly_one_parameter_1096", "An index signature must have exactly one parameter."), _0_list_cannot_be_empty: b(1097, 1, "_0_list_cannot_be_empty_1097", "'{0}' list cannot be empty."), Type_parameter_list_cannot_be_empty: b(1098, 1, "Type_parameter_list_cannot_be_empty_1098", "Type parameter list cannot be empty."), Type_argument_list_cannot_be_empty: b(1099, 1, "Type_argument_list_cannot_be_empty_1099", "Type argument list cannot be empty."), Invalid_use_of_0_in_strict_mode: b(1100, 1, "Invalid_use_of_0_in_strict_mode_1100", "Invalid use of '{0}' in strict mode."), with_statements_are_not_allowed_in_strict_mode: b(1101, 1, "with_statements_are_not_allowed_in_strict_mode_1101", "'with' statements are not allowed in strict mode."), delete_cannot_be_called_on_an_identifier_in_strict_mode: b(1102, 1, "delete_cannot_be_called_on_an_identifier_in_strict_mode_1102", "'delete' cannot be called on an identifier in strict mode."), for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: b(1103, 1, "for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103", "'for await' loops are only allowed within async functions and at the top levels of modules."), A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: b(1104, 1, "A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104", "A 'continue' statement can only be used within an enclosing iteration statement."), A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: b(1105, 1, "A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105", "A 'break' statement can only be used within an enclosing iteration or switch statement."), The_left_hand_side_of_a_for_of_statement_may_not_be_async: b(1106, 1, "The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106", "The left-hand side of a 'for...of' statement may not be 'async'."), Jump_target_cannot_cross_function_boundary: b(1107, 1, "Jump_target_cannot_cross_function_boundary_1107", "Jump target cannot cross function boundary."), A_return_statement_can_only_be_used_within_a_function_body: b(1108, 1, "A_return_statement_can_only_be_used_within_a_function_body_1108", "A 'return' statement can only be used within a function body."), Expression_expected: b(1109, 1, "Expression_expected_1109", "Expression expected."), Type_expected: b(1110, 1, "Type_expected_1110", "Type expected."), A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: b(1113, 1, "A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113", "A 'default' clause cannot appear more than once in a 'switch' statement."), Duplicate_label_0: b(1114, 1, "Duplicate_label_0_1114", "Duplicate label '{0}'."), A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: b(1115, 1, "A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115", "A 'continue' statement can only jump to a label of an enclosing iteration statement."), A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: b(1116, 1, "A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116", "A 'break' statement can only jump to a label of an enclosing statement."), An_object_literal_cannot_have_multiple_properties_with_the_same_name: b(1117, 1, "An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117", "An object literal cannot have multiple properties with the same name."), An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: b(1118, 1, "An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118", "An object literal cannot have multiple get/set accessors with the same name."), An_object_literal_cannot_have_property_and_accessor_with_the_same_name: b(1119, 1, "An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119", "An object literal cannot have property and accessor with the same name."), An_export_assignment_cannot_have_modifiers: b(1120, 1, "An_export_assignment_cannot_have_modifiers_1120", "An export assignment cannot have modifiers."), Octal_literals_are_not_allowed_in_strict_mode: b(1121, 1, "Octal_literals_are_not_allowed_in_strict_mode_1121", "Octal literals are not allowed in strict mode."), Variable_declaration_list_cannot_be_empty: b(1123, 1, "Variable_declaration_list_cannot_be_empty_1123", "Variable declaration list cannot be empty."), Digit_expected: b(1124, 1, "Digit_expected_1124", "Digit expected."), Hexadecimal_digit_expected: b(1125, 1, "Hexadecimal_digit_expected_1125", "Hexadecimal digit expected."), Unexpected_end_of_text: b(1126, 1, "Unexpected_end_of_text_1126", "Unexpected end of text."), Invalid_character: b(1127, 1, "Invalid_character_1127", "Invalid character."), Declaration_or_statement_expected: b(1128, 1, "Declaration_or_statement_expected_1128", "Declaration or statement expected."), Statement_expected: b(1129, 1, "Statement_expected_1129", "Statement expected."), case_or_default_expected: b(1130, 1, "case_or_default_expected_1130", "'case' or 'default' expected."), Property_or_signature_expected: b(1131, 1, "Property_or_signature_expected_1131", "Property or signature expected."), Enum_member_expected: b(1132, 1, "Enum_member_expected_1132", "Enum member expected."), Variable_declaration_expected: b(1134, 1, "Variable_declaration_expected_1134", "Variable declaration expected."), Argument_expression_expected: b(1135, 1, "Argument_expression_expected_1135", "Argument expression expected."), Property_assignment_expected: b(1136, 1, "Property_assignment_expected_1136", "Property assignment expected."), Expression_or_comma_expected: b(1137, 1, "Expression_or_comma_expected_1137", "Expression or comma expected."), Parameter_declaration_expected: b(1138, 1, "Parameter_declaration_expected_1138", "Parameter declaration expected."), Type_parameter_declaration_expected: b(1139, 1, "Type_parameter_declaration_expected_1139", "Type parameter declaration expected."), Type_argument_expected: b(1140, 1, "Type_argument_expected_1140", "Type argument expected."), String_literal_expected: b(1141, 1, "String_literal_expected_1141", "String literal expected."), Line_break_not_permitted_here: b(1142, 1, "Line_break_not_permitted_here_1142", "Line break not permitted here."), or_expected: b(1144, 1, "or_expected_1144", "'{' or ';' expected."), or_JSX_element_expected: b(1145, 1, "or_JSX_element_expected_1145", "'{' or JSX element expected."), Declaration_expected: b(1146, 1, "Declaration_expected_1146", "Declaration expected."), Import_declarations_in_a_namespace_cannot_reference_a_module: b(1147, 1, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."), Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: b(1148, 1, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."), File_name_0_differs_from_already_included_file_name_1_only_in_casing: b(1149, 1, "File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149", "File name '{0}' differs from already included file name '{1}' only in casing."), const_declarations_must_be_initialized: b(1155, 1, "const_declarations_must_be_initialized_1155", "'const' declarations must be initialized."), const_declarations_can_only_be_declared_inside_a_block: b(1156, 1, "const_declarations_can_only_be_declared_inside_a_block_1156", "'const' declarations can only be declared inside a block."), let_declarations_can_only_be_declared_inside_a_block: b(1157, 1, "let_declarations_can_only_be_declared_inside_a_block_1157", "'let' declarations can only be declared inside a block."), Unterminated_template_literal: b(1160, 1, "Unterminated_template_literal_1160", "Unterminated template literal."), Unterminated_regular_expression_literal: b(1161, 1, "Unterminated_regular_expression_literal_1161", "Unterminated regular expression literal."), An_object_member_cannot_be_declared_optional: b(1162, 1, "An_object_member_cannot_be_declared_optional_1162", "An object member cannot be declared optional."), A_yield_expression_is_only_allowed_in_a_generator_body: b(1163, 1, "A_yield_expression_is_only_allowed_in_a_generator_body_1163", "A 'yield' expression is only allowed in a generator body."), Computed_property_names_are_not_allowed_in_enums: b(1164, 1, "Computed_property_names_are_not_allowed_in_enums_1164", "Computed property names are not allowed in enums."), A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1165, 1, "A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165", "A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."), A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type: b(1166, 1, "A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166", "A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."), A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1168, 1, "A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168", "A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."), A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1169, 1, "A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169", "A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."), A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1170, 1, "A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170", "A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."), A_comma_expression_is_not_allowed_in_a_computed_property_name: b(1171, 1, "A_comma_expression_is_not_allowed_in_a_computed_property_name_1171", "A comma expression is not allowed in a computed property name."), extends_clause_already_seen: b(1172, 1, "extends_clause_already_seen_1172", "'extends' clause already seen."), extends_clause_must_precede_implements_clause: b(1173, 1, "extends_clause_must_precede_implements_clause_1173", "'extends' clause must precede 'implements' clause."), Classes_can_only_extend_a_single_class: b(1174, 1, "Classes_can_only_extend_a_single_class_1174", "Classes can only extend a single class."), implements_clause_already_seen: b(1175, 1, "implements_clause_already_seen_1175", "'implements' clause already seen."), Interface_declaration_cannot_have_implements_clause: b(1176, 1, "Interface_declaration_cannot_have_implements_clause_1176", "Interface declaration cannot have 'implements' clause."), Binary_digit_expected: b(1177, 1, "Binary_digit_expected_1177", "Binary digit expected."), Octal_digit_expected: b(1178, 1, "Octal_digit_expected_1178", "Octal digit expected."), Unexpected_token_expected: b(1179, 1, "Unexpected_token_expected_1179", "Unexpected token. '{' expected."), Property_destructuring_pattern_expected: b(1180, 1, "Property_destructuring_pattern_expected_1180", "Property destructuring pattern expected."), Array_element_destructuring_pattern_expected: b(1181, 1, "Array_element_destructuring_pattern_expected_1181", "Array element destructuring pattern expected."), A_destructuring_declaration_must_have_an_initializer: b(1182, 1, "A_destructuring_declaration_must_have_an_initializer_1182", "A destructuring declaration must have an initializer."), An_implementation_cannot_be_declared_in_ambient_contexts: b(1183, 1, "An_implementation_cannot_be_declared_in_ambient_contexts_1183", "An implementation cannot be declared in ambient contexts."), Modifiers_cannot_appear_here: b(1184, 1, "Modifiers_cannot_appear_here_1184", "Modifiers cannot appear here."), Merge_conflict_marker_encountered: b(1185, 1, "Merge_conflict_marker_encountered_1185", "Merge conflict marker encountered."), A_rest_element_cannot_have_an_initializer: b(1186, 1, "A_rest_element_cannot_have_an_initializer_1186", "A rest element cannot have an initializer."), A_parameter_property_may_not_be_declared_using_a_binding_pattern: b(1187, 1, "A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187", "A parameter property may not be declared using a binding pattern."), Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement: b(1188, 1, "Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188", "Only a single variable declaration is allowed in a 'for...of' statement."), The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer: b(1189, 1, "The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189", "The variable declaration of a 'for...in' statement cannot have an initializer."), The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer: b(1190, 1, "The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190", "The variable declaration of a 'for...of' statement cannot have an initializer."), An_import_declaration_cannot_have_modifiers: b(1191, 1, "An_import_declaration_cannot_have_modifiers_1191", "An import declaration cannot have modifiers."), Module_0_has_no_default_export: b(1192, 1, "Module_0_has_no_default_export_1192", "Module '{0}' has no default export."), An_export_declaration_cannot_have_modifiers: b(1193, 1, "An_export_declaration_cannot_have_modifiers_1193", "An export declaration cannot have modifiers."), Export_declarations_are_not_permitted_in_a_namespace: b(1194, 1, "Export_declarations_are_not_permitted_in_a_namespace_1194", "Export declarations are not permitted in a namespace."), export_Asterisk_does_not_re_export_a_default: b(1195, 1, "export_Asterisk_does_not_re_export_a_default_1195", "'export *' does not re-export a default."), Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified: b(1196, 1, "Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196", "Catch clause variable type annotation must be 'any' or 'unknown' if specified."), Catch_clause_variable_cannot_have_an_initializer: b(1197, 1, "Catch_clause_variable_cannot_have_an_initializer_1197", "Catch clause variable cannot have an initializer."), An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive: b(1198, 1, "An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198", "An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."), Unterminated_Unicode_escape_sequence: b(1199, 1, "Unterminated_Unicode_escape_sequence_1199", "Unterminated Unicode escape sequence."), Line_terminator_not_permitted_before_arrow: b(1200, 1, "Line_terminator_not_permitted_before_arrow_1200", "Line terminator not permitted before arrow."), Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead: b(1202, 1, "Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202", `Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`), Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead: b(1203, 1, "Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203", "Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."), Re_exporting_a_type_when_0_is_enabled_requires_using_export_type: b(1205, 1, "Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205", "Re-exporting a type when '{0}' is enabled requires using 'export type'."), Decorators_are_not_valid_here: b(1206, 1, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."), Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: b(1207, 1, "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207", "Decorators cannot be applied to multiple get/set accessors of the same name."), Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0: b(1209, 1, "Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209", "Invalid optional chain from new expression. Did you mean to call '{0}()'?"), Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode: b(1210, 1, "Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210", "Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."), A_class_declaration_without_the_default_modifier_must_have_a_name: b(1211, 1, "A_class_declaration_without_the_default_modifier_must_have_a_name_1211", "A class declaration without the 'default' modifier must have a name."), Identifier_expected_0_is_a_reserved_word_in_strict_mode: b(1212, 1, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212", "Identifier expected. '{0}' is a reserved word in strict mode."), Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: b(1213, 1, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213", "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."), Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode: b(1214, 1, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214", "Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."), Invalid_use_of_0_Modules_are_automatically_in_strict_mode: b(1215, 1, "Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215", "Invalid use of '{0}'. Modules are automatically in strict mode."), Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules: b(1216, 1, "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216", "Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."), Export_assignment_is_not_supported_when_module_flag_is_system: b(1218, 1, "Export_assignment_is_not_supported_when_module_flag_is_system_1218", "Export assignment is not supported when '--module' flag is 'system'."), Generators_are_not_allowed_in_an_ambient_context: b(1221, 1, "Generators_are_not_allowed_in_an_ambient_context_1221", "Generators are not allowed in an ambient context."), An_overload_signature_cannot_be_declared_as_a_generator: b(1222, 1, "An_overload_signature_cannot_be_declared_as_a_generator_1222", "An overload signature cannot be declared as a generator."), _0_tag_already_specified: b(1223, 1, "_0_tag_already_specified_1223", "'{0}' tag already specified."), Signature_0_must_be_a_type_predicate: b(1224, 1, "Signature_0_must_be_a_type_predicate_1224", "Signature '{0}' must be a type predicate."), Cannot_find_parameter_0: b(1225, 1, "Cannot_find_parameter_0_1225", "Cannot find parameter '{0}'."), Type_predicate_0_is_not_assignable_to_1: b(1226, 1, "Type_predicate_0_is_not_assignable_to_1_1226", "Type predicate '{0}' is not assignable to '{1}'."), Parameter_0_is_not_in_the_same_position_as_parameter_1: b(1227, 1, "Parameter_0_is_not_in_the_same_position_as_parameter_1_1227", "Parameter '{0}' is not in the same position as parameter '{1}'."), A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods: b(1228, 1, "A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228", "A type predicate is only allowed in return type position for functions and methods."), A_type_predicate_cannot_reference_a_rest_parameter: b(1229, 1, "A_type_predicate_cannot_reference_a_rest_parameter_1229", "A type predicate cannot reference a rest parameter."), A_type_predicate_cannot_reference_element_0_in_a_binding_pattern: b(1230, 1, "A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230", "A type predicate cannot reference element '{0}' in a binding pattern."), An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration: b(1231, 1, "An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231", "An export assignment must be at the top level of a file or module declaration."), An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module: b(1232, 1, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232", "An import declaration can only be used at the top level of a namespace or module."), An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module: b(1233, 1, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233", "An export declaration can only be used at the top level of a namespace or module."), An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file: b(1234, 1, "An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234", "An ambient module declaration is only allowed at the top level in a file."), A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module: b(1235, 1, "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235", "A namespace declaration is only allowed at the top level of a namespace or module."), The_return_type_of_a_property_decorator_function_must_be_either_void_or_any: b(1236, 1, "The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236", "The return type of a property decorator function must be either 'void' or 'any'."), The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any: b(1237, 1, "The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237", "The return type of a parameter decorator function must be either 'void' or 'any'."), Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression: b(1238, 1, "Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238", "Unable to resolve signature of class decorator when called as an expression."), Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression: b(1239, 1, "Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239", "Unable to resolve signature of parameter decorator when called as an expression."), Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression: b(1240, 1, "Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240", "Unable to resolve signature of property decorator when called as an expression."), Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression: b(1241, 1, "Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241", "Unable to resolve signature of method decorator when called as an expression."), abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration: b(1242, 1, "abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242", "'abstract' modifier can only appear on a class, method, or property declaration."), _0_modifier_cannot_be_used_with_1_modifier: b(1243, 1, "_0_modifier_cannot_be_used_with_1_modifier_1243", "'{0}' modifier cannot be used with '{1}' modifier."), Abstract_methods_can_only_appear_within_an_abstract_class: b(1244, 1, "Abstract_methods_can_only_appear_within_an_abstract_class_1244", "Abstract methods can only appear within an abstract class."), Method_0_cannot_have_an_implementation_because_it_is_marked_abstract: b(1245, 1, "Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245", "Method '{0}' cannot have an implementation because it is marked abstract."), An_interface_property_cannot_have_an_initializer: b(1246, 1, "An_interface_property_cannot_have_an_initializer_1246", "An interface property cannot have an initializer."), A_type_literal_property_cannot_have_an_initializer: b(1247, 1, "A_type_literal_property_cannot_have_an_initializer_1247", "A type literal property cannot have an initializer."), A_class_member_cannot_have_the_0_keyword: b(1248, 1, "A_class_member_cannot_have_the_0_keyword_1248", "A class member cannot have the '{0}' keyword."), A_decorator_can_only_decorate_a_method_implementation_not_an_overload: b(1249, 1, "A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249", "A decorator can only decorate a method implementation, not an overload."), Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5: b(1250, 1, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."), Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode: b(1251, 1, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."), Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode: b(1252, 1, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."), A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference: b(1254, 1, "A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254", "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."), A_definite_assignment_assertion_is_not_permitted_in_this_context: b(1255, 1, "A_definite_assignment_assertion_is_not_permitted_in_this_context_1255", "A definite assignment assertion '!' is not permitted in this context."), A_required_element_cannot_follow_an_optional_element: b(1257, 1, "A_required_element_cannot_follow_an_optional_element_1257", "A required element cannot follow an optional element."), A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration: b(1258, 1, "A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258", "A default export must be at the top level of a file or module declaration."), Module_0_can_only_be_default_imported_using_the_1_flag: b(1259, 1, "Module_0_can_only_be_default_imported_using_the_1_flag_1259", "Module '{0}' can only be default-imported using the '{1}' flag"), Keywords_cannot_contain_escape_characters: b(1260, 1, "Keywords_cannot_contain_escape_characters_1260", "Keywords cannot contain escape characters."), Already_included_file_name_0_differs_from_file_name_1_only_in_casing: b(1261, 1, "Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261", "Already included file name '{0}' differs from file name '{1}' only in casing."), Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module: b(1262, 1, "Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262", "Identifier expected. '{0}' is a reserved word at the top-level of a module."), Declarations_with_initializers_cannot_also_have_definite_assignment_assertions: b(1263, 1, "Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263", "Declarations with initializers cannot also have definite assignment assertions."), Declarations_with_definite_assignment_assertions_must_also_have_type_annotations: b(1264, 1, "Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264", "Declarations with definite assignment assertions must also have type annotations."), A_rest_element_cannot_follow_another_rest_element: b(1265, 1, "A_rest_element_cannot_follow_another_rest_element_1265", "A rest element cannot follow another rest element."), An_optional_element_cannot_follow_a_rest_element: b(1266, 1, "An_optional_element_cannot_follow_a_rest_element_1266", "An optional element cannot follow a rest element."), Property_0_cannot_have_an_initializer_because_it_is_marked_abstract: b(1267, 1, "Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267", "Property '{0}' cannot have an initializer because it is marked abstract."), An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type: b(1268, 1, "An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268", "An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."), Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled: b(1269, 1, "Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269", "Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."), Decorator_function_return_type_0_is_not_assignable_to_type_1: b(1270, 1, "Decorator_function_return_type_0_is_not_assignable_to_type_1_1270", "Decorator function return type '{0}' is not assignable to type '{1}'."), Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any: b(1271, 1, "Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271", "Decorator function return type is '{0}' but is expected to be 'void' or 'any'."), A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled: b(1272, 1, "A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272", "A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."), _0_modifier_cannot_appear_on_a_type_parameter: b(1273, 1, "_0_modifier_cannot_appear_on_a_type_parameter_1273", "'{0}' modifier cannot appear on a type parameter"), _0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias: b(1274, 1, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274", "'{0}' modifier can only appear on a type parameter of a class, interface or type alias"), accessor_modifier_can_only_appear_on_a_property_declaration: b(1275, 1, "accessor_modifier_can_only_appear_on_a_property_declaration_1275", "'accessor' modifier can only appear on a property declaration."), An_accessor_property_cannot_be_declared_optional: b(1276, 1, "An_accessor_property_cannot_be_declared_optional_1276", "An 'accessor' property cannot be declared optional."), _0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class: b(1277, 1, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277", "'{0}' modifier can only appear on a type parameter of a function, method or class"), The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0: b(1278, 1, "The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278", "The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."), The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0: b(1279, 1, "The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279", "The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."), Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement: b(1280, 1, "Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280", "Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."), Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead: b(1281, 1, "Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281", "Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."), An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type: b(1282, 1, "An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282", "An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."), An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration: b(1283, 1, "An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283", "An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."), An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type: b(1284, 1, "An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284", "An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."), An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration: b(1285, 1, "An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285", "An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."), ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled: b(1286, 1, "ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286", "ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."), A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled: b(1287, 1, "A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287", "A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."), An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled: b(1288, 1, "An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288", "An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."), with_statements_are_not_allowed_in_an_async_function_block: b(1300, 1, "with_statements_are_not_allowed_in_an_async_function_block_1300", "'with' statements are not allowed in an async function block."), await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: b(1308, 1, "await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308", "'await' expressions are only allowed within async functions and at the top levels of modules."), The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level: b(1309, 1, "The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309", "The current file is a CommonJS module and cannot use 'await' at the top level."), Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern: b(1312, 1, "Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312", "Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."), The_body_of_an_if_statement_cannot_be_the_empty_statement: b(1313, 1, "The_body_of_an_if_statement_cannot_be_the_empty_statement_1313", "The body of an 'if' statement cannot be the empty statement."), Global_module_exports_may_only_appear_in_module_files: b(1314, 1, "Global_module_exports_may_only_appear_in_module_files_1314", "Global module exports may only appear in module files."), Global_module_exports_may_only_appear_in_declaration_files: b(1315, 1, "Global_module_exports_may_only_appear_in_declaration_files_1315", "Global module exports may only appear in declaration files."), Global_module_exports_may_only_appear_at_top_level: b(1316, 1, "Global_module_exports_may_only_appear_at_top_level_1316", "Global module exports may only appear at top level."), A_parameter_property_cannot_be_declared_using_a_rest_parameter: b(1317, 1, "A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317", "A parameter property cannot be declared using a rest parameter."), An_abstract_accessor_cannot_have_an_implementation: b(1318, 1, "An_abstract_accessor_cannot_have_an_implementation_1318", "An abstract accessor cannot have an implementation."), A_default_export_can_only_be_used_in_an_ECMAScript_style_module: b(1319, 1, "A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319", "A default export can only be used in an ECMAScript-style module."), Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1320, 1, "Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320", "Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."), Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1321, 1, "Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321", "Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."), Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1322, 1, "Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322", "Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."), Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext: b(1323, 1, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."), Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext: b(1324, 1, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."), Argument_of_dynamic_import_cannot_be_spread_element: b(1325, 1, "Argument_of_dynamic_import_cannot_be_spread_element_1325", "Argument of dynamic import cannot be spread element."), This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments: b(1326, 1, "This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326", "This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."), String_literal_with_double_quotes_expected: b(1327, 1, "String_literal_with_double_quotes_expected_1327", "String literal with double quotes expected."), Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal: b(1328, 1, "Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328", "Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."), _0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0: b(1329, 1, "_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329", "'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"), A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly: b(1330, 1, "A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330", "A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."), A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly: b(1331, 1, "A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331", "A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."), A_variable_whose_type_is_a_unique_symbol_type_must_be_const: b(1332, 1, "A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332", "A variable whose type is a 'unique symbol' type must be 'const'."), unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name: b(1333, 1, "unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333", "'unique symbol' types may not be used on a variable declaration with a binding name."), unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement: b(1334, 1, "unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334", "'unique symbol' types are only allowed on variables in a variable statement."), unique_symbol_types_are_not_allowed_here: b(1335, 1, "unique_symbol_types_are_not_allowed_here_1335", "'unique symbol' types are not allowed here."), An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead: b(1337, 1, "An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337", "An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."), infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type: b(1338, 1, "infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338", "'infer' declarations are only permitted in the 'extends' clause of a conditional type."), Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: b(1339, 1, "Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339", "Module '{0}' does not refer to a value, but is used as a value here."), Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: b(1340, 1, "Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340", "Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"), Class_constructor_may_not_be_an_accessor: b(1341, 1, "Class_constructor_may_not_be_an_accessor_1341", "Class constructor may not be an accessor."), The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext: b(1343, 1, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."), A_label_is_not_allowed_here: b(1344, 1, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."), An_expression_of_type_void_cannot_be_tested_for_truthiness: b(1345, 1, "An_expression_of_type_void_cannot_be_tested_for_truthiness_1345", "An expression of type 'void' cannot be tested for truthiness."), This_parameter_is_not_allowed_with_use_strict_directive: b(1346, 1, "This_parameter_is_not_allowed_with_use_strict_directive_1346", "This parameter is not allowed with 'use strict' directive."), use_strict_directive_cannot_be_used_with_non_simple_parameter_list: b(1347, 1, "use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347", "'use strict' directive cannot be used with non-simple parameter list."), Non_simple_parameter_declared_here: b(1348, 1, "Non_simple_parameter_declared_here_1348", "Non-simple parameter declared here."), use_strict_directive_used_here: b(1349, 1, "use_strict_directive_used_here_1349", "'use strict' directive used here."), Print_the_final_configuration_instead_of_building: b(1350, 3, "Print_the_final_configuration_instead_of_building_1350", "Print the final configuration instead of building."), An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal: b(1351, 1, "An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351", "An identifier or keyword cannot immediately follow a numeric literal."), A_bigint_literal_cannot_use_exponential_notation: b(1352, 1, "A_bigint_literal_cannot_use_exponential_notation_1352", "A bigint literal cannot use exponential notation."), A_bigint_literal_must_be_an_integer: b(1353, 1, "A_bigint_literal_must_be_an_integer_1353", "A bigint literal must be an integer."), readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types: b(1354, 1, "readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354", "'readonly' type modifier is only permitted on array and tuple literal types."), A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals: b(1355, 1, "A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355", "A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."), Did_you_mean_to_mark_this_function_as_async: b(1356, 1, "Did_you_mean_to_mark_this_function_as_async_1356", "Did you mean to mark this function as 'async'?"), An_enum_member_name_must_be_followed_by_a_or: b(1357, 1, "An_enum_member_name_must_be_followed_by_a_or_1357", "An enum member name must be followed by a ',', '=', or '}'."), Tagged_template_expressions_are_not_permitted_in_an_optional_chain: b(1358, 1, "Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358", "Tagged template expressions are not permitted in an optional chain."), Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here: b(1359, 1, "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359", "Identifier expected. '{0}' is a reserved word that cannot be used here."), Type_0_does_not_satisfy_the_expected_type_1: b(1360, 1, "Type_0_does_not_satisfy_the_expected_type_1_1360", "Type '{0}' does not satisfy the expected type '{1}'."), _0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type: b(1361, 1, "_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361", "'{0}' cannot be used as a value because it was imported using 'import type'."), _0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type: b(1362, 1, "_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362", "'{0}' cannot be used as a value because it was exported using 'export type'."), A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both: b(1363, 1, "A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363", "A type-only import can specify a default import or named bindings, but not both."), Convert_to_type_only_export: b(1364, 3, "Convert_to_type_only_export_1364", "Convert to type-only export"), Convert_all_re_exported_types_to_type_only_exports: b(1365, 3, "Convert_all_re_exported_types_to_type_only_exports_1365", "Convert all re-exported types to type-only exports"), Split_into_two_separate_import_declarations: b(1366, 3, "Split_into_two_separate_import_declarations_1366", "Split into two separate import declarations"), Split_all_invalid_type_only_imports: b(1367, 3, "Split_all_invalid_type_only_imports_1367", "Split all invalid type-only imports"), Class_constructor_may_not_be_a_generator: b(1368, 1, "Class_constructor_may_not_be_a_generator_1368", "Class constructor may not be a generator."), Did_you_mean_0: b(1369, 3, "Did_you_mean_0_1369", "Did you mean '{0}'?"), This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error: b(1371, 1, "This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371", "This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."), Convert_to_type_only_import: b(1373, 3, "Convert_to_type_only_import_1373", "Convert to type-only import"), Convert_all_imports_not_used_as_a_value_to_type_only_imports: b(1374, 3, "Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374", "Convert all imports not used as a value to type-only imports"), await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: b(1375, 1, "await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375", "'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."), _0_was_imported_here: b(1376, 3, "_0_was_imported_here_1376", "'{0}' was imported here."), _0_was_exported_here: b(1377, 3, "_0_was_exported_here_1377", "'{0}' was exported here."), Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: b(1378, 1, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."), An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type: b(1379, 1, "An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379", "An import alias cannot reference a declaration that was exported using 'export type'."), An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type: b(1380, 1, "An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380", "An import alias cannot reference a declaration that was imported using 'import type'."), Unexpected_token_Did_you_mean_or_rbrace: b(1381, 1, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `&rbrace;`?"), Unexpected_token_Did_you_mean_or_gt: b(1382, 1, "Unexpected_token_Did_you_mean_or_gt_1382", "Unexpected token. Did you mean `{'>'}` or `&gt;`?"), Function_type_notation_must_be_parenthesized_when_used_in_a_union_type: b(1385, 1, "Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385", "Function type notation must be parenthesized when used in a union type."), Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type: b(1386, 1, "Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386", "Constructor type notation must be parenthesized when used in a union type."), Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type: b(1387, 1, "Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387", "Function type notation must be parenthesized when used in an intersection type."), Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type: b(1388, 1, "Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388", "Constructor type notation must be parenthesized when used in an intersection type."), _0_is_not_allowed_as_a_variable_declaration_name: b(1389, 1, "_0_is_not_allowed_as_a_variable_declaration_name_1389", "'{0}' is not allowed as a variable declaration name."), _0_is_not_allowed_as_a_parameter_name: b(1390, 1, "_0_is_not_allowed_as_a_parameter_name_1390", "'{0}' is not allowed as a parameter name."), An_import_alias_cannot_use_import_type: b(1392, 1, "An_import_alias_cannot_use_import_type_1392", "An import alias cannot use 'import type'"), Imported_via_0_from_file_1: b(1393, 3, "Imported_via_0_from_file_1_1393", "Imported via {0} from file '{1}'"), Imported_via_0_from_file_1_with_packageId_2: b(1394, 3, "Imported_via_0_from_file_1_with_packageId_2_1394", "Imported via {0} from file '{1}' with packageId '{2}'"), Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions: b(1395, 3, "Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395", "Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"), Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions: b(1396, 3, "Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396", "Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"), Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions: b(1397, 3, "Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397", "Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"), Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions: b(1398, 3, "Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398", "Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"), File_is_included_via_import_here: b(1399, 3, "File_is_included_via_import_here_1399", "File is included via import here."), Referenced_via_0_from_file_1: b(1400, 3, "Referenced_via_0_from_file_1_1400", "Referenced via '{0}' from file '{1}'"), File_is_included_via_reference_here: b(1401, 3, "File_is_included_via_reference_here_1401", "File is included via reference here."), Type_library_referenced_via_0_from_file_1: b(1402, 3, "Type_library_referenced_via_0_from_file_1_1402", "Type library referenced via '{0}' from file '{1}'"), Type_library_referenced_via_0_from_file_1_with_packageId_2: b(1403, 3, "Type_library_referenced_via_0_from_file_1_with_packageId_2_1403", "Type library referenced via '{0}' from file '{1}' with packageId '{2}'"), File_is_included_via_type_library_reference_here: b(1404, 3, "File_is_included_via_type_library_reference_here_1404", "File is included via type library reference here."), Library_referenced_via_0_from_file_1: b(1405, 3, "Library_referenced_via_0_from_file_1_1405", "Library referenced via '{0}' from file '{1}'"), File_is_included_via_library_reference_here: b(1406, 3, "File_is_included_via_library_reference_here_1406", "File is included via library reference here."), Matched_by_include_pattern_0_in_1: b(1407, 3, "Matched_by_include_pattern_0_in_1_1407", "Matched by include pattern '{0}' in '{1}'"), File_is_matched_by_include_pattern_specified_here: b(1408, 3, "File_is_matched_by_include_pattern_specified_here_1408", "File is matched by include pattern specified here."), Part_of_files_list_in_tsconfig_json: b(1409, 3, "Part_of_files_list_in_tsconfig_json_1409", "Part of 'files' list in tsconfig.json"), File_is_matched_by_files_list_specified_here: b(1410, 3, "File_is_matched_by_files_list_specified_here_1410", "File is matched by 'files' list specified here."), Output_from_referenced_project_0_included_because_1_specified: b(1411, 3, "Output_from_referenced_project_0_included_because_1_specified_1411", "Output from referenced project '{0}' included because '{1}' specified"), Output_from_referenced_project_0_included_because_module_is_specified_as_none: b(1412, 3, "Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412", "Output from referenced project '{0}' included because '--module' is specified as 'none'"), File_is_output_from_referenced_project_specified_here: b(1413, 3, "File_is_output_from_referenced_project_specified_here_1413", "File is output from referenced project specified here."), Source_from_referenced_project_0_included_because_1_specified: b(1414, 3, "Source_from_referenced_project_0_included_because_1_specified_1414", "Source from referenced project '{0}' included because '{1}' specified"), Source_from_referenced_project_0_included_because_module_is_specified_as_none: b(1415, 3, "Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415", "Source from referenced project '{0}' included because '--module' is specified as 'none'"), File_is_source_from_referenced_project_specified_here: b(1416, 3, "File_is_source_from_referenced_project_specified_here_1416", "File is source from referenced project specified here."), Entry_point_of_type_library_0_specified_in_compilerOptions: b(1417, 3, "Entry_point_of_type_library_0_specified_in_compilerOptions_1417", "Entry point of type library '{0}' specified in compilerOptions"), Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1: b(1418, 3, "Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418", "Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"), File_is_entry_point_of_type_library_specified_here: b(1419, 3, "File_is_entry_point_of_type_library_specified_here_1419", "File is entry point of type library specified here."), Entry_point_for_implicit_type_library_0: b(1420, 3, "Entry_point_for_implicit_type_library_0_1420", "Entry point for implicit type library '{0}'"), Entry_point_for_implicit_type_library_0_with_packageId_1: b(1421, 3, "Entry_point_for_implicit_type_library_0_with_packageId_1_1421", "Entry point for implicit type library '{0}' with packageId '{1}'"), Library_0_specified_in_compilerOptions: b(1422, 3, "Library_0_specified_in_compilerOptions_1422", "Library '{0}' specified in compilerOptions"), File_is_library_specified_here: b(1423, 3, "File_is_library_specified_here_1423", "File is library specified here."), Default_library: b(1424, 3, "Default_library_1424", "Default library"), Default_library_for_target_0: b(1425, 3, "Default_library_for_target_0_1425", "Default library for target '{0}'"), File_is_default_library_for_target_specified_here: b(1426, 3, "File_is_default_library_for_target_specified_here_1426", "File is default library for target specified here."), Root_file_specified_for_compilation: b(1427, 3, "Root_file_specified_for_compilation_1427", "Root file specified for compilation"), File_is_output_of_project_reference_source_0: b(1428, 3, "File_is_output_of_project_reference_source_0_1428", "File is output of project reference source '{0}'"), File_redirects_to_file_0: b(1429, 3, "File_redirects_to_file_0_1429", "File redirects to file '{0}'"), The_file_is_in_the_program_because_Colon: b(1430, 3, "The_file_is_in_the_program_because_Colon_1430", "The file is in the program because:"), for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: b(1431, 1, "for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431", "'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."), Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: b(1432, 1, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."), Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters: b(1433, 1, "Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433", "Neither decorators nor modifiers may be applied to 'this' parameters."), Unexpected_keyword_or_identifier: b(1434, 1, "Unexpected_keyword_or_identifier_1434", "Unexpected keyword or identifier."), Unknown_keyword_or_identifier_Did_you_mean_0: b(1435, 1, "Unknown_keyword_or_identifier_Did_you_mean_0_1435", "Unknown keyword or identifier. Did you mean '{0}'?"), Decorators_must_precede_the_name_and_all_keywords_of_property_declarations: b(1436, 1, "Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436", "Decorators must precede the name and all keywords of property declarations."), Namespace_must_be_given_a_name: b(1437, 1, "Namespace_must_be_given_a_name_1437", "Namespace must be given a name."), Interface_must_be_given_a_name: b(1438, 1, "Interface_must_be_given_a_name_1438", "Interface must be given a name."), Type_alias_must_be_given_a_name: b(1439, 1, "Type_alias_must_be_given_a_name_1439", "Type alias must be given a name."), Variable_declaration_not_allowed_at_this_location: b(1440, 1, "Variable_declaration_not_allowed_at_this_location_1440", "Variable declaration not allowed at this location."), Cannot_start_a_function_call_in_a_type_annotation: b(1441, 1, "Cannot_start_a_function_call_in_a_type_annotation_1441", "Cannot start a function call in a type annotation."), Expected_for_property_initializer: b(1442, 1, "Expected_for_property_initializer_1442", "Expected '=' for property initializer."), Module_declaration_names_may_only_use_or_quoted_strings: b(1443, 1, "Module_declaration_names_may_only_use_or_quoted_strings_1443", `Module declaration names may only use ' or " quoted strings.`), _0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled: b(1444, 1, "_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444", "'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."), _0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled: b(1446, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446", "'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."), _0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled: b(1448, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448", "'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."), Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: b(1449, 3, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."), Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments: b(1450, 3, "Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450", "Dynamic imports can only accept a module specifier and an optional assertion as arguments"), Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: b(1451, 1, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"), resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext: b(1452, 1, "resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452", "'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."), resolution_mode_should_be_either_require_or_import: b(1453, 1, "resolution_mode_should_be_either_require_or_import_1453", "`resolution-mode` should be either `require` or `import`."), resolution_mode_can_only_be_set_for_type_only_imports: b(1454, 1, "resolution_mode_can_only_be_set_for_type_only_imports_1454", "`resolution-mode` can only be set for type-only imports."), resolution_mode_is_the_only_valid_key_for_type_import_assertions: b(1455, 1, "resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455", "`resolution-mode` is the only valid key for type import assertions."), Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require: b(1456, 1, "Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456", "Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."), Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk: b(1457, 3, "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457", "Matched by default include pattern '**/*'"), File_is_ECMAScript_module_because_0_has_field_type_with_value_module: b(1458, 3, "File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458", `File is ECMAScript module because '{0}' has field "type" with value "module"`), File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module: b(1459, 3, "File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459", `File is CommonJS module because '{0}' has field "type" whose value is not "module"`), File_is_CommonJS_module_because_0_does_not_have_field_type: b(1460, 3, "File_is_CommonJS_module_because_0_does_not_have_field_type_1460", `File is CommonJS module because '{0}' does not have field "type"`), File_is_CommonJS_module_because_package_json_was_not_found: b(1461, 3, "File_is_CommonJS_module_because_package_json_was_not_found_1461", "File is CommonJS module because 'package.json' was not found"), The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output: b(1470, 1, "The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470", "The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."), Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead: b(1471, 1, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."), catch_or_finally_expected: b(1472, 1, "catch_or_finally_expected_1472", "'catch' or 'finally' expected."), An_import_declaration_can_only_be_used_at_the_top_level_of_a_module: b(1473, 1, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473", "An import declaration can only be used at the top level of a module."), An_export_declaration_can_only_be_used_at_the_top_level_of_a_module: b(1474, 1, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474", "An export declaration can only be used at the top level of a module."), Control_what_method_is_used_to_detect_module_format_JS_files: b(1475, 3, "Control_what_method_is_used_to_detect_module_format_JS_files_1475", "Control what method is used to detect module-format JS files."), auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules: b(1476, 3, "auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476", '"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'), An_instantiation_expression_cannot_be_followed_by_a_property_access: b(1477, 1, "An_instantiation_expression_cannot_be_followed_by_a_property_access_1477", "An instantiation expression cannot be followed by a property access."), Identifier_or_string_literal_expected: b(1478, 1, "Identifier_or_string_literal_expected_1478", "Identifier or string literal expected."), The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead: b(1479, 1, "The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479", `The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`), To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module: b(1480, 3, "To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480", 'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'), To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1: b(1481, 3, "To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481", `To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`), To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0: b(1482, 3, "To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482", 'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'), To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module: b(1483, 3, "To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483", 'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'), _0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled: b(1484, 1, "_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484", "'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."), _0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled: b(1485, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485", "'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."), Decorator_used_before_export_here: b(1486, 1, "Decorator_used_before_export_here_1486", "Decorator used before 'export' here."), The_types_of_0_are_incompatible_between_these_types: b(2200, 1, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."), The_types_returned_by_0_are_incompatible_between_these_types: b(2201, 1, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."), Call_signature_return_types_0_and_1_are_incompatible: b(2202, 1, "Call_signature_return_types_0_and_1_are_incompatible_2202", "Call signature return types '{0}' and '{1}' are incompatible.", void 0, !0), Construct_signature_return_types_0_and_1_are_incompatible: b(2203, 1, "Construct_signature_return_types_0_and_1_are_incompatible_2203", "Construct signature return types '{0}' and '{1}' are incompatible.", void 0, !0), Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: b(2204, 1, "Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204", "Call signatures with no arguments have incompatible return types '{0}' and '{1}'.", void 0, !0), Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: b(2205, 1, "Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205", "Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.", void 0, !0), The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement: b(2206, 1, "The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206", "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."), The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement: b(2207, 1, "The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207", "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."), This_type_parameter_might_need_an_extends_0_constraint: b(2208, 1, "This_type_parameter_might_need_an_extends_0_constraint_2208", "This type parameter might need an `extends {0}` constraint."), The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: b(2209, 1, "The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209", "The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."), The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: b(2210, 1, "The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210", "The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."), Add_extends_constraint: b(2211, 3, "Add_extends_constraint_2211", "Add `extends` constraint."), Add_extends_constraint_to_all_type_parameters: b(2212, 3, "Add_extends_constraint_to_all_type_parameters_2212", "Add `extends` constraint to all type parameters"), Duplicate_identifier_0: b(2300, 1, "Duplicate_identifier_0_2300", "Duplicate identifier '{0}'."), Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: b(2301, 1, "Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301", "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), Static_members_cannot_reference_class_type_parameters: b(2302, 1, "Static_members_cannot_reference_class_type_parameters_2302", "Static members cannot reference class type parameters."), Circular_definition_of_import_alias_0: b(2303, 1, "Circular_definition_of_import_alias_0_2303", "Circular definition of import alias '{0}'."), Cannot_find_name_0: b(2304, 1, "Cannot_find_name_0_2304", "Cannot find name '{0}'."), Module_0_has_no_exported_member_1: b(2305, 1, "Module_0_has_no_exported_member_1_2305", "Module '{0}' has no exported member '{1}'."), File_0_is_not_a_module: b(2306, 1, "File_0_is_not_a_module_2306", "File '{0}' is not a module."), Cannot_find_module_0_or_its_corresponding_type_declarations: b(2307, 1, "Cannot_find_module_0_or_its_corresponding_type_declarations_2307", "Cannot find module '{0}' or its corresponding type declarations."), Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity: b(2308, 1, "Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308", "Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."), An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: b(2309, 1, "An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309", "An export assignment cannot be used in a module with other exported elements."), Type_0_recursively_references_itself_as_a_base_type: b(2310, 1, "Type_0_recursively_references_itself_as_a_base_type_2310", "Type '{0}' recursively references itself as a base type."), Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function: b(2311, 1, "Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311", "Cannot find name '{0}'. Did you mean to write this in an async function?"), An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members: b(2312, 1, "An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312", "An interface can only extend an object type or intersection of object types with statically known members."), Type_parameter_0_has_a_circular_constraint: b(2313, 1, "Type_parameter_0_has_a_circular_constraint_2313", "Type parameter '{0}' has a circular constraint."), Generic_type_0_requires_1_type_argument_s: b(2314, 1, "Generic_type_0_requires_1_type_argument_s_2314", "Generic type '{0}' requires {1} type argument(s)."), Type_0_is_not_generic: b(2315, 1, "Type_0_is_not_generic_2315", "Type '{0}' is not generic."), Global_type_0_must_be_a_class_or_interface_type: b(2316, 1, "Global_type_0_must_be_a_class_or_interface_type_2316", "Global type '{0}' must be a class or interface type."), Global_type_0_must_have_1_type_parameter_s: b(2317, 1, "Global_type_0_must_have_1_type_parameter_s_2317", "Global type '{0}' must have {1} type parameter(s)."), Cannot_find_global_type_0: b(2318, 1, "Cannot_find_global_type_0_2318", "Cannot find global type '{0}'."), Named_property_0_of_types_1_and_2_are_not_identical: b(2319, 1, "Named_property_0_of_types_1_and_2_are_not_identical_2319", "Named property '{0}' of types '{1}' and '{2}' are not identical."), Interface_0_cannot_simultaneously_extend_types_1_and_2: b(2320, 1, "Interface_0_cannot_simultaneously_extend_types_1_and_2_2320", "Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."), Excessive_stack_depth_comparing_types_0_and_1: b(2321, 1, "Excessive_stack_depth_comparing_types_0_and_1_2321", "Excessive stack depth comparing types '{0}' and '{1}'."), Type_0_is_not_assignable_to_type_1: b(2322, 1, "Type_0_is_not_assignable_to_type_1_2322", "Type '{0}' is not assignable to type '{1}'."), Cannot_redeclare_exported_variable_0: b(2323, 1, "Cannot_redeclare_exported_variable_0_2323", "Cannot redeclare exported variable '{0}'."), Property_0_is_missing_in_type_1: b(2324, 1, "Property_0_is_missing_in_type_1_2324", "Property '{0}' is missing in type '{1}'."), Property_0_is_private_in_type_1_but_not_in_type_2: b(2325, 1, "Property_0_is_private_in_type_1_but_not_in_type_2_2325", "Property '{0}' is private in type '{1}' but not in type '{2}'."), Types_of_property_0_are_incompatible: b(2326, 1, "Types_of_property_0_are_incompatible_2326", "Types of property '{0}' are incompatible."), Property_0_is_optional_in_type_1_but_required_in_type_2: b(2327, 1, "Property_0_is_optional_in_type_1_but_required_in_type_2_2327", "Property '{0}' is optional in type '{1}' but required in type '{2}'."), Types_of_parameters_0_and_1_are_incompatible: b(2328, 1, "Types_of_parameters_0_and_1_are_incompatible_2328", "Types of parameters '{0}' and '{1}' are incompatible."), Index_signature_for_type_0_is_missing_in_type_1: b(2329, 1, "Index_signature_for_type_0_is_missing_in_type_1_2329", "Index signature for type '{0}' is missing in type '{1}'."), _0_and_1_index_signatures_are_incompatible: b(2330, 1, "_0_and_1_index_signatures_are_incompatible_2330", "'{0}' and '{1}' index signatures are incompatible."), this_cannot_be_referenced_in_a_module_or_namespace_body: b(2331, 1, "this_cannot_be_referenced_in_a_module_or_namespace_body_2331", "'this' cannot be referenced in a module or namespace body."), this_cannot_be_referenced_in_current_location: b(2332, 1, "this_cannot_be_referenced_in_current_location_2332", "'this' cannot be referenced in current location."), this_cannot_be_referenced_in_constructor_arguments: b(2333, 1, "this_cannot_be_referenced_in_constructor_arguments_2333", "'this' cannot be referenced in constructor arguments."), this_cannot_be_referenced_in_a_static_property_initializer: b(2334, 1, "this_cannot_be_referenced_in_a_static_property_initializer_2334", "'this' cannot be referenced in a static property initializer."), super_can_only_be_referenced_in_a_derived_class: b(2335, 1, "super_can_only_be_referenced_in_a_derived_class_2335", "'super' can only be referenced in a derived class."), super_cannot_be_referenced_in_constructor_arguments: b(2336, 1, "super_cannot_be_referenced_in_constructor_arguments_2336", "'super' cannot be referenced in constructor arguments."), Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: b(2337, 1, "Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337", "Super calls are not permitted outside constructors or in nested functions inside constructors."), super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: b(2338, 1, "super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338", "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."), Property_0_does_not_exist_on_type_1: b(2339, 1, "Property_0_does_not_exist_on_type_1_2339", "Property '{0}' does not exist on type '{1}'."), Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: b(2340, 1, "Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340", "Only public and protected methods of the base class are accessible via the 'super' keyword."), Property_0_is_private_and_only_accessible_within_class_1: b(2341, 1, "Property_0_is_private_and_only_accessible_within_class_1_2341", "Property '{0}' is private and only accessible within class '{1}'."), This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0: b(2343, 1, "This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343", "This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."), Type_0_does_not_satisfy_the_constraint_1: b(2344, 1, "Type_0_does_not_satisfy_the_constraint_1_2344", "Type '{0}' does not satisfy the constraint '{1}'."), Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: b(2345, 1, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345", "Argument of type '{0}' is not assignable to parameter of type '{1}'."), Call_target_does_not_contain_any_signatures: b(2346, 1, "Call_target_does_not_contain_any_signatures_2346", "Call target does not contain any signatures."), Untyped_function_calls_may_not_accept_type_arguments: b(2347, 1, "Untyped_function_calls_may_not_accept_type_arguments_2347", "Untyped function calls may not accept type arguments."), Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: b(2348, 1, "Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348", "Value of type '{0}' is not callable. Did you mean to include 'new'?"), This_expression_is_not_callable: b(2349, 1, "This_expression_is_not_callable_2349", "This expression is not callable."), Only_a_void_function_can_be_called_with_the_new_keyword: b(2350, 1, "Only_a_void_function_can_be_called_with_the_new_keyword_2350", "Only a void function can be called with the 'new' keyword."), This_expression_is_not_constructable: b(2351, 1, "This_expression_is_not_constructable_2351", "This expression is not constructable."), Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first: b(2352, 1, "Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352", "Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."), Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1: b(2353, 1, "Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353", "Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."), This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found: b(2354, 1, "This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354", "This syntax requires an imported helper but module '{0}' cannot be found."), A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value: b(2355, 1, "A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355", "A function whose declared type is neither 'void' nor 'any' must return a value."), An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type: b(2356, 1, "An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356", "An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."), The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access: b(2357, 1, "The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357", "The operand of an increment or decrement operator must be a variable or a property access."), The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: b(2358, 1, "The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358", "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."), The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: b(2359, 1, "The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359", "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."), The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type: b(2362, 1, "The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362", "The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."), The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type: b(2363, 1, "The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363", "The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."), The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access: b(2364, 1, "The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364", "The left-hand side of an assignment expression must be a variable or a property access."), Operator_0_cannot_be_applied_to_types_1_and_2: b(2365, 1, "Operator_0_cannot_be_applied_to_types_1_and_2_2365", "Operator '{0}' cannot be applied to types '{1}' and '{2}'."), Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined: b(2366, 1, "Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366", "Function lacks ending return statement and return type does not include 'undefined'."), This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap: b(2367, 1, "This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367", "This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."), Type_parameter_name_cannot_be_0: b(2368, 1, "Type_parameter_name_cannot_be_0_2368", "Type parameter name cannot be '{0}'."), A_parameter_property_is_only_allowed_in_a_constructor_implementation: b(2369, 1, "A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369", "A parameter property is only allowed in a constructor implementation."), A_rest_parameter_must_be_of_an_array_type: b(2370, 1, "A_rest_parameter_must_be_of_an_array_type_2370", "A rest parameter must be of an array type."), A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation: b(2371, 1, "A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371", "A parameter initializer is only allowed in a function or constructor implementation."), Parameter_0_cannot_reference_itself: b(2372, 1, "Parameter_0_cannot_reference_itself_2372", "Parameter '{0}' cannot reference itself."), Parameter_0_cannot_reference_identifier_1_declared_after_it: b(2373, 1, "Parameter_0_cannot_reference_identifier_1_declared_after_it_2373", "Parameter '{0}' cannot reference identifier '{1}' declared after it."), Duplicate_index_signature_for_type_0: b(2374, 1, "Duplicate_index_signature_for_type_0_2374", "Duplicate index signature for type '{0}'."), Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties: b(2375, 1, "Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375", "Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."), A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers: b(2376, 1, "A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376", "A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."), Constructors_for_derived_classes_must_contain_a_super_call: b(2377, 1, "Constructors_for_derived_classes_must_contain_a_super_call_2377", "Constructors for derived classes must contain a 'super' call."), A_get_accessor_must_return_a_value: b(2378, 1, "A_get_accessor_must_return_a_value_2378", "A 'get' accessor must return a value."), Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties: b(2379, 1, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379", "Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."), The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type: b(2380, 1, "The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380", "The return type of a 'get' accessor must be assignable to its 'set' accessor type"), Overload_signatures_must_all_be_exported_or_non_exported: b(2383, 1, "Overload_signatures_must_all_be_exported_or_non_exported_2383", "Overload signatures must all be exported or non-exported."), Overload_signatures_must_all_be_ambient_or_non_ambient: b(2384, 1, "Overload_signatures_must_all_be_ambient_or_non_ambient_2384", "Overload signatures must all be ambient or non-ambient."), Overload_signatures_must_all_be_public_private_or_protected: b(2385, 1, "Overload_signatures_must_all_be_public_private_or_protected_2385", "Overload signatures must all be public, private or protected."), Overload_signatures_must_all_be_optional_or_required: b(2386, 1, "Overload_signatures_must_all_be_optional_or_required_2386", "Overload signatures must all be optional or required."), Function_overload_must_be_static: b(2387, 1, "Function_overload_must_be_static_2387", "Function overload must be static."), Function_overload_must_not_be_static: b(2388, 1, "Function_overload_must_not_be_static_2388", "Function overload must not be static."), Function_implementation_name_must_be_0: b(2389, 1, "Function_implementation_name_must_be_0_2389", "Function implementation name must be '{0}'."), Constructor_implementation_is_missing: b(2390, 1, "Constructor_implementation_is_missing_2390", "Constructor implementation is missing."), Function_implementation_is_missing_or_not_immediately_following_the_declaration: b(2391, 1, "Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391", "Function implementation is missing or not immediately following the declaration."), Multiple_constructor_implementations_are_not_allowed: b(2392, 1, "Multiple_constructor_implementations_are_not_allowed_2392", "Multiple constructor implementations are not allowed."), Duplicate_function_implementation: b(2393, 1, "Duplicate_function_implementation_2393", "Duplicate function implementation."), This_overload_signature_is_not_compatible_with_its_implementation_signature: b(2394, 1, "This_overload_signature_is_not_compatible_with_its_implementation_signature_2394", "This overload signature is not compatible with its implementation signature."), Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local: b(2395, 1, "Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395", "Individual declarations in merged declaration '{0}' must be all exported or all local."), Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: b(2396, 1, "Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396", "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."), Declaration_name_conflicts_with_built_in_global_identifier_0: b(2397, 1, "Declaration_name_conflicts_with_built_in_global_identifier_0_2397", "Declaration name conflicts with built-in global identifier '{0}'."), constructor_cannot_be_used_as_a_parameter_property_name: b(2398, 1, "constructor_cannot_be_used_as_a_parameter_property_name_2398", "'constructor' cannot be used as a parameter property name."), Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: b(2399, 1, "Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399", "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."), Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: b(2400, 1, "Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400", "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."), A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers: b(2401, 1, "A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401", "A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."), Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: b(2402, 1, "Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402", "Expression resolves to '_super' that compiler uses to capture base class reference."), Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: b(2403, 1, "Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403", "Subsequent variable declarations must have the same type.  Variable '{0}' must be of type '{1}', but here has type '{2}'."), The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation: b(2404, 1, "The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404", "The left-hand side of a 'for...in' statement cannot use a type annotation."), The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any: b(2405, 1, "The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405", "The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."), The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access: b(2406, 1, "The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406", "The left-hand side of a 'for...in' statement must be a variable or a property access."), The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0: b(2407, 1, "The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407", "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."), Setters_cannot_return_a_value: b(2408, 1, "Setters_cannot_return_a_value_2408", "Setters cannot return a value."), Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: b(2409, 1, "Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409", "Return type of constructor signature must be assignable to the instance type of the class."), The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any: b(2410, 1, "The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410", "The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."), Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target: b(2412, 1, "Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412", "Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."), Property_0_of_type_1_is_not_assignable_to_2_index_type_3: b(2411, 1, "Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411", "Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."), _0_index_type_1_is_not_assignable_to_2_index_type_3: b(2413, 1, "_0_index_type_1_is_not_assignable_to_2_index_type_3_2413", "'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."), Class_name_cannot_be_0: b(2414, 1, "Class_name_cannot_be_0_2414", "Class name cannot be '{0}'."), Class_0_incorrectly_extends_base_class_1: b(2415, 1, "Class_0_incorrectly_extends_base_class_1_2415", "Class '{0}' incorrectly extends base class '{1}'."), Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2: b(2416, 1, "Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416", "Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."), Class_static_side_0_incorrectly_extends_base_class_static_side_1: b(2417, 1, "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417", "Class static side '{0}' incorrectly extends base class static side '{1}'."), Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1: b(2418, 1, "Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418", "Type of computed property's value is '{0}', which is not assignable to type '{1}'."), Types_of_construct_signatures_are_incompatible: b(2419, 1, "Types_of_construct_signatures_are_incompatible_2419", "Types of construct signatures are incompatible."), Class_0_incorrectly_implements_interface_1: b(2420, 1, "Class_0_incorrectly_implements_interface_1_2420", "Class '{0}' incorrectly implements interface '{1}'."), A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members: b(2422, 1, "A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422", "A class can only implement an object type or intersection of object types with statically known members."), Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: b(2423, 1, "Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423", "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."), Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: b(2425, 1, "Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425", "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."), Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: b(2426, 1, "Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426", "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."), Interface_name_cannot_be_0: b(2427, 1, "Interface_name_cannot_be_0_2427", "Interface name cannot be '{0}'."), All_declarations_of_0_must_have_identical_type_parameters: b(2428, 1, "All_declarations_of_0_must_have_identical_type_parameters_2428", "All declarations of '{0}' must have identical type parameters."), Interface_0_incorrectly_extends_interface_1: b(2430, 1, "Interface_0_incorrectly_extends_interface_1_2430", "Interface '{0}' incorrectly extends interface '{1}'."), Enum_name_cannot_be_0: b(2431, 1, "Enum_name_cannot_be_0_2431", "Enum name cannot be '{0}'."), In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: b(2432, 1, "In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432", "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."), A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged: b(2433, 1, "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433", "A namespace declaration cannot be in a different file from a class or function with which it is merged."), A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged: b(2434, 1, "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434", "A namespace declaration cannot be located prior to a class or function with which it is merged."), Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces: b(2435, 1, "Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435", "Ambient modules cannot be nested in other modules or namespaces."), Ambient_module_declaration_cannot_specify_relative_module_name: b(2436, 1, "Ambient_module_declaration_cannot_specify_relative_module_name_2436", "Ambient module declaration cannot specify relative module name."), Module_0_is_hidden_by_a_local_declaration_with_the_same_name: b(2437, 1, "Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437", "Module '{0}' is hidden by a local declaration with the same name."), Import_name_cannot_be_0: b(2438, 1, "Import_name_cannot_be_0_2438", "Import name cannot be '{0}'."), Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name: b(2439, 1, "Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439", "Import or export declaration in an ambient module declaration cannot reference module through relative module name."), Import_declaration_conflicts_with_local_declaration_of_0: b(2440, 1, "Import_declaration_conflicts_with_local_declaration_of_0_2440", "Import declaration conflicts with local declaration of '{0}'."), Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module: b(2441, 1, "Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441", "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."), Types_have_separate_declarations_of_a_private_property_0: b(2442, 1, "Types_have_separate_declarations_of_a_private_property_0_2442", "Types have separate declarations of a private property '{0}'."), Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2: b(2443, 1, "Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443", "Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."), Property_0_is_protected_in_type_1_but_public_in_type_2: b(2444, 1, "Property_0_is_protected_in_type_1_but_public_in_type_2_2444", "Property '{0}' is protected in type '{1}' but public in type '{2}'."), Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses: b(2445, 1, "Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445", "Property '{0}' is protected and only accessible within class '{1}' and its subclasses."), Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2: b(2446, 1, "Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446", "Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."), The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: b(2447, 1, "The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447", "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."), Block_scoped_variable_0_used_before_its_declaration: b(2448, 1, "Block_scoped_variable_0_used_before_its_declaration_2448", "Block-scoped variable '{0}' used before its declaration."), Class_0_used_before_its_declaration: b(2449, 1, "Class_0_used_before_its_declaration_2449", "Class '{0}' used before its declaration."), Enum_0_used_before_its_declaration: b(2450, 1, "Enum_0_used_before_its_declaration_2450", "Enum '{0}' used before its declaration."), Cannot_redeclare_block_scoped_variable_0: b(2451, 1, "Cannot_redeclare_block_scoped_variable_0_2451", "Cannot redeclare block-scoped variable '{0}'."), An_enum_member_cannot_have_a_numeric_name: b(2452, 1, "An_enum_member_cannot_have_a_numeric_name_2452", "An enum member cannot have a numeric name."), Variable_0_is_used_before_being_assigned: b(2454, 1, "Variable_0_is_used_before_being_assigned_2454", "Variable '{0}' is used before being assigned."), Type_alias_0_circularly_references_itself: b(2456, 1, "Type_alias_0_circularly_references_itself_2456", "Type alias '{0}' circularly references itself."), Type_alias_name_cannot_be_0: b(2457, 1, "Type_alias_name_cannot_be_0_2457", "Type alias name cannot be '{0}'."), An_AMD_module_cannot_have_multiple_name_assignments: b(2458, 1, "An_AMD_module_cannot_have_multiple_name_assignments_2458", "An AMD module cannot have multiple name assignments."), Module_0_declares_1_locally_but_it_is_not_exported: b(2459, 1, "Module_0_declares_1_locally_but_it_is_not_exported_2459", "Module '{0}' declares '{1}' locally, but it is not exported."), Module_0_declares_1_locally_but_it_is_exported_as_2: b(2460, 1, "Module_0_declares_1_locally_but_it_is_exported_as_2_2460", "Module '{0}' declares '{1}' locally, but it is exported as '{2}'."), Type_0_is_not_an_array_type: b(2461, 1, "Type_0_is_not_an_array_type_2461", "Type '{0}' is not an array type."), A_rest_element_must_be_last_in_a_destructuring_pattern: b(2462, 1, "A_rest_element_must_be_last_in_a_destructuring_pattern_2462", "A rest element must be last in a destructuring pattern."), A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature: b(2463, 1, "A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463", "A binding pattern parameter cannot be optional in an implementation signature."), A_computed_property_name_must_be_of_type_string_number_symbol_or_any: b(2464, 1, "A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464", "A computed property name must be of type 'string', 'number', 'symbol', or 'any'."), this_cannot_be_referenced_in_a_computed_property_name: b(2465, 1, "this_cannot_be_referenced_in_a_computed_property_name_2465", "'this' cannot be referenced in a computed property name."), super_cannot_be_referenced_in_a_computed_property_name: b(2466, 1, "super_cannot_be_referenced_in_a_computed_property_name_2466", "'super' cannot be referenced in a computed property name."), A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type: b(2467, 1, "A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467", "A computed property name cannot reference a type parameter from its containing type."), Cannot_find_global_value_0: b(2468, 1, "Cannot_find_global_value_0_2468", "Cannot find global value '{0}'."), The_0_operator_cannot_be_applied_to_type_symbol: b(2469, 1, "The_0_operator_cannot_be_applied_to_type_symbol_2469", "The '{0}' operator cannot be applied to type 'symbol'."), Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher: b(2472, 1, "Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472", "Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."), Enum_declarations_must_all_be_const_or_non_const: b(2473, 1, "Enum_declarations_must_all_be_const_or_non_const_2473", "Enum declarations must all be const or non-const."), const_enum_member_initializers_must_be_constant_expressions: b(2474, 1, "const_enum_member_initializers_must_be_constant_expressions_2474", "const enum member initializers must be constant expressions."), const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query: b(2475, 1, "const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475", "'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."), A_const_enum_member_can_only_be_accessed_using_a_string_literal: b(2476, 1, "A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476", "A const enum member can only be accessed using a string literal."), const_enum_member_initializer_was_evaluated_to_a_non_finite_value: b(2477, 1, "const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477", "'const' enum member initializer was evaluated to a non-finite value."), const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN: b(2478, 1, "const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478", "'const' enum member initializer was evaluated to disallowed value 'NaN'."), let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations: b(2480, 1, "let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480", "'let' is not allowed to be used as a name in 'let' or 'const' declarations."), Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1: b(2481, 1, "Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481", "Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."), The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation: b(2483, 1, "The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483", "The left-hand side of a 'for...of' statement cannot use a type annotation."), Export_declaration_conflicts_with_exported_declaration_of_0: b(2484, 1, "Export_declaration_conflicts_with_exported_declaration_of_0_2484", "Export declaration conflicts with exported declaration of '{0}'."), The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access: b(2487, 1, "The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487", "The left-hand side of a 'for...of' statement must be a variable or a property access."), Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator: b(2488, 1, "Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488", "Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."), An_iterator_must_have_a_next_method: b(2489, 1, "An_iterator_must_have_a_next_method_2489", "An iterator must have a 'next()' method."), The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property: b(2490, 1, "The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490", "The type returned by the '{0}()' method of an iterator must have a 'value' property."), The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern: b(2491, 1, "The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491", "The left-hand side of a 'for...in' statement cannot be a destructuring pattern."), Cannot_redeclare_identifier_0_in_catch_clause: b(2492, 1, "Cannot_redeclare_identifier_0_in_catch_clause_2492", "Cannot redeclare identifier '{0}' in catch clause."), Tuple_type_0_of_length_1_has_no_element_at_index_2: b(2493, 1, "Tuple_type_0_of_length_1_has_no_element_at_index_2_2493", "Tuple type '{0}' of length '{1}' has no element at index '{2}'."), Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher: b(2494, 1, "Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494", "Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."), Type_0_is_not_an_array_type_or_a_string_type: b(2495, 1, "Type_0_is_not_an_array_type_or_a_string_type_2495", "Type '{0}' is not an array type or a string type."), The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression: b(2496, 1, "The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496", "The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."), This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export: b(2497, 1, "This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497", "This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."), Module_0_uses_export_and_cannot_be_used_with_export_Asterisk: b(2498, 1, "Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498", "Module '{0}' uses 'export =' and cannot be used with 'export *'."), An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments: b(2499, 1, "An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499", "An interface can only extend an identifier/qualified-name with optional type arguments."), A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments: b(2500, 1, "A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500", "A class can only implement an identifier/qualified-name with optional type arguments."), A_rest_element_cannot_contain_a_binding_pattern: b(2501, 1, "A_rest_element_cannot_contain_a_binding_pattern_2501", "A rest element cannot contain a binding pattern."), _0_is_referenced_directly_or_indirectly_in_its_own_type_annotation: b(2502, 1, "_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502", "'{0}' is referenced directly or indirectly in its own type annotation."), Cannot_find_namespace_0: b(2503, 1, "Cannot_find_namespace_0_2503", "Cannot find namespace '{0}'."), Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator: b(2504, 1, "Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504", "Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."), A_generator_cannot_have_a_void_type_annotation: b(2505, 1, "A_generator_cannot_have_a_void_type_annotation_2505", "A generator cannot have a 'void' type annotation."), _0_is_referenced_directly_or_indirectly_in_its_own_base_expression: b(2506, 1, "_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506", "'{0}' is referenced directly or indirectly in its own base expression."), Type_0_is_not_a_constructor_function_type: b(2507, 1, "Type_0_is_not_a_constructor_function_type_2507", "Type '{0}' is not a constructor function type."), No_base_constructor_has_the_specified_number_of_type_arguments: b(2508, 1, "No_base_constructor_has_the_specified_number_of_type_arguments_2508", "No base constructor has the specified number of type arguments."), Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members: b(2509, 1, "Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509", "Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."), Base_constructors_must_all_have_the_same_return_type: b(2510, 1, "Base_constructors_must_all_have_the_same_return_type_2510", "Base constructors must all have the same return type."), Cannot_create_an_instance_of_an_abstract_class: b(2511, 1, "Cannot_create_an_instance_of_an_abstract_class_2511", "Cannot create an instance of an abstract class."), Overload_signatures_must_all_be_abstract_or_non_abstract: b(2512, 1, "Overload_signatures_must_all_be_abstract_or_non_abstract_2512", "Overload signatures must all be abstract or non-abstract."), Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression: b(2513, 1, "Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513", "Abstract method '{0}' in class '{1}' cannot be accessed via super expression."), A_tuple_type_cannot_be_indexed_with_a_negative_value: b(2514, 1, "A_tuple_type_cannot_be_indexed_with_a_negative_value_2514", "A tuple type cannot be indexed with a negative value."), Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2: b(2515, 1, "Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515", "Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."), All_declarations_of_an_abstract_method_must_be_consecutive: b(2516, 1, "All_declarations_of_an_abstract_method_must_be_consecutive_2516", "All declarations of an abstract method must be consecutive."), Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type: b(2517, 1, "Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517", "Cannot assign an abstract constructor type to a non-abstract constructor type."), A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard: b(2518, 1, "A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518", "A 'this'-based type guard is not compatible with a parameter-based type guard."), An_async_iterator_must_have_a_next_method: b(2519, 1, "An_async_iterator_must_have_a_next_method_2519", "An async iterator must have a 'next()' method."), Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions: b(2520, 1, "Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520", "Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."), The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method: b(2522, 1, "The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522", "The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."), yield_expressions_cannot_be_used_in_a_parameter_initializer: b(2523, 1, "yield_expressions_cannot_be_used_in_a_parameter_initializer_2523", "'yield' expressions cannot be used in a parameter initializer."), await_expressions_cannot_be_used_in_a_parameter_initializer: b(2524, 1, "await_expressions_cannot_be_used_in_a_parameter_initializer_2524", "'await' expressions cannot be used in a parameter initializer."), Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value: b(2525, 1, "Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525", "Initializer provides no value for this binding element and the binding element has no default value."), A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface: b(2526, 1, "A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526", "A 'this' type is available only in a non-static member of a class or interface."), The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary: b(2527, 1, "The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527", "The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."), A_module_cannot_have_multiple_default_exports: b(2528, 1, "A_module_cannot_have_multiple_default_exports_2528", "A module cannot have multiple default exports."), Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions: b(2529, 1, "Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529", "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."), Property_0_is_incompatible_with_index_signature: b(2530, 1, "Property_0_is_incompatible_with_index_signature_2530", "Property '{0}' is incompatible with index signature."), Object_is_possibly_null: b(2531, 1, "Object_is_possibly_null_2531", "Object is possibly 'null'."), Object_is_possibly_undefined: b(2532, 1, "Object_is_possibly_undefined_2532", "Object is possibly 'undefined'."), Object_is_possibly_null_or_undefined: b(2533, 1, "Object_is_possibly_null_or_undefined_2533", "Object is possibly 'null' or 'undefined'."), A_function_returning_never_cannot_have_a_reachable_end_point: b(2534, 1, "A_function_returning_never_cannot_have_a_reachable_end_point_2534", "A function returning 'never' cannot have a reachable end point."), Type_0_cannot_be_used_to_index_type_1: b(2536, 1, "Type_0_cannot_be_used_to_index_type_1_2536", "Type '{0}' cannot be used to index type '{1}'."), Type_0_has_no_matching_index_signature_for_type_1: b(2537, 1, "Type_0_has_no_matching_index_signature_for_type_1_2537", "Type '{0}' has no matching index signature for type '{1}'."), Type_0_cannot_be_used_as_an_index_type: b(2538, 1, "Type_0_cannot_be_used_as_an_index_type_2538", "Type '{0}' cannot be used as an index type."), Cannot_assign_to_0_because_it_is_not_a_variable: b(2539, 1, "Cannot_assign_to_0_because_it_is_not_a_variable_2539", "Cannot assign to '{0}' because it is not a variable."), Cannot_assign_to_0_because_it_is_a_read_only_property: b(2540, 1, "Cannot_assign_to_0_because_it_is_a_read_only_property_2540", "Cannot assign to '{0}' because it is a read-only property."), Index_signature_in_type_0_only_permits_reading: b(2542, 1, "Index_signature_in_type_0_only_permits_reading_2542", "Index signature in type '{0}' only permits reading."), Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference: b(2543, 1, "Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543", "Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."), Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference: b(2544, 1, "Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544", "Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."), A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any: b(2545, 1, "A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545", "A mixin class must have a constructor with a single rest parameter of type 'any[]'."), The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property: b(2547, 1, "The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547", "The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."), Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator: b(2548, 1, "Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548", "Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."), Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator: b(2549, 1, "Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549", "Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."), Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later: b(2550, 1, "Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550", "Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."), Property_0_does_not_exist_on_type_1_Did_you_mean_2: b(2551, 1, "Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551", "Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"), Cannot_find_name_0_Did_you_mean_1: b(2552, 1, "Cannot_find_name_0_Did_you_mean_1_2552", "Cannot find name '{0}'. Did you mean '{1}'?"), Computed_values_are_not_permitted_in_an_enum_with_string_valued_members: b(2553, 1, "Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553", "Computed values are not permitted in an enum with string valued members."), Expected_0_arguments_but_got_1: b(2554, 1, "Expected_0_arguments_but_got_1_2554", "Expected {0} arguments, but got {1}."), Expected_at_least_0_arguments_but_got_1: b(2555, 1, "Expected_at_least_0_arguments_but_got_1_2555", "Expected at least {0} arguments, but got {1}."), A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter: b(2556, 1, "A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556", "A spread argument must either have a tuple type or be passed to a rest parameter."), Expected_0_type_arguments_but_got_1: b(2558, 1, "Expected_0_type_arguments_but_got_1_2558", "Expected {0} type arguments, but got {1}."), Type_0_has_no_properties_in_common_with_type_1: b(2559, 1, "Type_0_has_no_properties_in_common_with_type_1_2559", "Type '{0}' has no properties in common with type '{1}'."), Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it: b(2560, 1, "Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560", "Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"), Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2: b(2561, 1, "Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561", "Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"), Base_class_expressions_cannot_reference_class_type_parameters: b(2562, 1, "Base_class_expressions_cannot_reference_class_type_parameters_2562", "Base class expressions cannot reference class type parameters."), The_containing_function_or_module_body_is_too_large_for_control_flow_analysis: b(2563, 1, "The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563", "The containing function or module body is too large for control flow analysis."), Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor: b(2564, 1, "Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564", "Property '{0}' has no initializer and is not definitely assigned in the constructor."), Property_0_is_used_before_being_assigned: b(2565, 1, "Property_0_is_used_before_being_assigned_2565", "Property '{0}' is used before being assigned."), A_rest_element_cannot_have_a_property_name: b(2566, 1, "A_rest_element_cannot_have_a_property_name_2566", "A rest element cannot have a property name."), Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations: b(2567, 1, "Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567", "Enum declarations can only merge with namespace or other enum declarations."), Property_0_may_not_exist_on_type_1_Did_you_mean_2: b(2568, 1, "Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568", "Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"), Could_not_find_name_0_Did_you_mean_1: b(2570, 1, "Could_not_find_name_0_Did_you_mean_1_2570", "Could not find name '{0}'. Did you mean '{1}'?"), Object_is_of_type_unknown: b(2571, 1, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), A_rest_element_type_must_be_an_array_type: b(2574, 1, "A_rest_element_type_must_be_an_array_type_2574", "A rest element type must be an array type."), No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments: b(2575, 1, "No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575", "No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."), Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead: b(2576, 1, "Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576", "Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"), Return_type_annotation_circularly_references_itself: b(2577, 1, "Return_type_annotation_circularly_references_itself_2577", "Return type annotation circularly references itself."), Unused_ts_expect_error_directive: b(2578, 1, "Unused_ts_expect_error_directive_2578", "Unused '@ts-expect-error' directive."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode: b(2580, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580", "Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery: b(2581, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581", "Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha: b(2582, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582", "Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."), Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later: b(2583, 1, "Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583", "Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."), Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom: b(2584, 1, "Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584", "Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later: b(2585, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585", "'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."), Cannot_assign_to_0_because_it_is_a_constant: b(2588, 1, "Cannot_assign_to_0_because_it_is_a_constant_2588", "Cannot assign to '{0}' because it is a constant."), Type_instantiation_is_excessively_deep_and_possibly_infinite: b(2589, 1, "Type_instantiation_is_excessively_deep_and_possibly_infinite_2589", "Type instantiation is excessively deep and possibly infinite."), Expression_produces_a_union_type_that_is_too_complex_to_represent: b(2590, 1, "Expression_produces_a_union_type_that_is_too_complex_to_represent_2590", "Expression produces a union type that is too complex to represent."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig: b(2591, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591", "Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig: b(2592, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592", "Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig: b(2593, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593", "Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."), This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag: b(2594, 1, "This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594", "This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."), _0_can_only_be_imported_by_using_a_default_import: b(2595, 1, "_0_can_only_be_imported_by_using_a_default_import_2595", "'{0}' can only be imported by using a default import."), _0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: b(2596, 1, "_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596", "'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."), _0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import: b(2597, 1, "_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597", "'{0}' can only be imported by using a 'require' call or by using a default import."), _0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: b(2598, 1, "_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598", "'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: b(2602, 1, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'React.JSX.Element' does not exist."), Property_0_in_type_1_is_not_assignable_to_type_2: b(2603, 1, "Property_0_in_type_1_is_not_assignable_to_type_2_2603", "Property '{0}' in type '{1}' is not assignable to type '{2}'."), JSX_element_type_0_does_not_have_any_construct_or_call_signatures: b(2604, 1, "JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604", "JSX element type '{0}' does not have any construct or call signatures."), Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property: b(2606, 1, "Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606", "Property '{0}' of JSX spread attribute is not assignable to target property."), JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property: b(2607, 1, "JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607", "JSX element class does not support attributes because it does not have a '{0}' property."), The_global_type_JSX_0_may_not_have_more_than_one_property: b(2608, 1, "The_global_type_JSX_0_may_not_have_more_than_one_property_2608", "The global type 'JSX.{0}' may not have more than one property."), JSX_spread_child_must_be_an_array_type: b(2609, 1, "JSX_spread_child_must_be_an_array_type_2609", "JSX spread child must be an array type."), _0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property: b(2610, 1, "_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610", "'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."), _0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor: b(2611, 1, "_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611", "'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."), Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration: b(2612, 1, "Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612", "Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."), Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead: b(2613, 1, "Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613", "Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"), Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead: b(2614, 1, "Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614", "Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"), Type_of_property_0_circularly_references_itself_in_mapped_type_1: b(2615, 1, "Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615", "Type of property '{0}' circularly references itself in mapped type '{1}'."), _0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import: b(2616, 1, "_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616", "'{0}' can only be imported by using 'import {1} = require({2})' or a default import."), _0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: b(2617, 1, "_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617", "'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."), Source_has_0_element_s_but_target_requires_1: b(2618, 1, "Source_has_0_element_s_but_target_requires_1_2618", "Source has {0} element(s) but target requires {1}."), Source_has_0_element_s_but_target_allows_only_1: b(2619, 1, "Source_has_0_element_s_but_target_allows_only_1_2619", "Source has {0} element(s) but target allows only {1}."), Target_requires_0_element_s_but_source_may_have_fewer: b(2620, 1, "Target_requires_0_element_s_but_source_may_have_fewer_2620", "Target requires {0} element(s) but source may have fewer."), Target_allows_only_0_element_s_but_source_may_have_more: b(2621, 1, "Target_allows_only_0_element_s_but_source_may_have_more_2621", "Target allows only {0} element(s) but source may have more."), Source_provides_no_match_for_required_element_at_position_0_in_target: b(2623, 1, "Source_provides_no_match_for_required_element_at_position_0_in_target_2623", "Source provides no match for required element at position {0} in target."), Source_provides_no_match_for_variadic_element_at_position_0_in_target: b(2624, 1, "Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624", "Source provides no match for variadic element at position {0} in target."), Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target: b(2625, 1, "Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625", "Variadic element at position {0} in source does not match element at position {1} in target."), Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target: b(2626, 1, "Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626", "Type at position {0} in source is not compatible with type at position {1} in target."), Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target: b(2627, 1, "Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627", "Type at positions {0} through {1} in source is not compatible with type at position {2} in target."), Cannot_assign_to_0_because_it_is_an_enum: b(2628, 1, "Cannot_assign_to_0_because_it_is_an_enum_2628", "Cannot assign to '{0}' because it is an enum."), Cannot_assign_to_0_because_it_is_a_class: b(2629, 1, "Cannot_assign_to_0_because_it_is_a_class_2629", "Cannot assign to '{0}' because it is a class."), Cannot_assign_to_0_because_it_is_a_function: b(2630, 1, "Cannot_assign_to_0_because_it_is_a_function_2630", "Cannot assign to '{0}' because it is a function."), Cannot_assign_to_0_because_it_is_a_namespace: b(2631, 1, "Cannot_assign_to_0_because_it_is_a_namespace_2631", "Cannot assign to '{0}' because it is a namespace."), Cannot_assign_to_0_because_it_is_an_import: b(2632, 1, "Cannot_assign_to_0_because_it_is_an_import_2632", "Cannot assign to '{0}' because it is an import."), JSX_property_access_expressions_cannot_include_JSX_namespace_names: b(2633, 1, "JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633", "JSX property access expressions cannot include JSX namespace names"), _0_index_signatures_are_incompatible: b(2634, 1, "_0_index_signatures_are_incompatible_2634", "'{0}' index signatures are incompatible."), Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable: b(2635, 1, "Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635", "Type '{0}' has no signatures for which the type argument list is applicable."), Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation: b(2636, 1, "Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636", "Type '{0}' is not assignable to type '{1}' as implied by variance annotation."), Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types: b(2637, 1, "Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637", "Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."), Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator: b(2638, 1, "Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638", "Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."), Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity: b(2649, 1, "Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649", "Cannot augment module '{0}' with value exports because it resolves to a non-module entity."), A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: b(2651, 1, "A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651", "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."), Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: b(2652, 1, "Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652", "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."), Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: b(2653, 1, "Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653", "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."), JSX_expressions_must_have_one_parent_element: b(2657, 1, "JSX_expressions_must_have_one_parent_element_2657", "JSX expressions must have one parent element."), Type_0_provides_no_match_for_the_signature_1: b(2658, 1, "Type_0_provides_no_match_for_the_signature_1_2658", "Type '{0}' provides no match for the signature '{1}'."), super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher: b(2659, 1, "super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659", "'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."), super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions: b(2660, 1, "super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660", "'super' can only be referenced in members of derived classes or object literal expressions."), Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module: b(2661, 1, "Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661", "Cannot export '{0}'. Only local declarations can be exported from a module."), Cannot_find_name_0_Did_you_mean_the_static_member_1_0: b(2662, 1, "Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662", "Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"), Cannot_find_name_0_Did_you_mean_the_instance_member_this_0: b(2663, 1, "Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663", "Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"), Invalid_module_name_in_augmentation_module_0_cannot_be_found: b(2664, 1, "Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664", "Invalid module name in augmentation, module '{0}' cannot be found."), Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented: b(2665, 1, "Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665", "Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."), Exports_and_export_assignments_are_not_permitted_in_module_augmentations: b(2666, 1, "Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666", "Exports and export assignments are not permitted in module augmentations."), Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module: b(2667, 1, "Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667", "Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."), export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible: b(2668, 1, "export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668", "'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."), Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations: b(2669, 1, "Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669", "Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."), Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context: b(2670, 1, "Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670", "Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."), Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity: b(2671, 1, "Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671", "Cannot augment module '{0}' because it resolves to a non-module entity."), Cannot_assign_a_0_constructor_type_to_a_1_constructor_type: b(2672, 1, "Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672", "Cannot assign a '{0}' constructor type to a '{1}' constructor type."), Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration: b(2673, 1, "Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673", "Constructor of class '{0}' is private and only accessible within the class declaration."), Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration: b(2674, 1, "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674", "Constructor of class '{0}' is protected and only accessible within the class declaration."), Cannot_extend_a_class_0_Class_constructor_is_marked_as_private: b(2675, 1, "Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675", "Cannot extend a class '{0}'. Class constructor is marked as private."), Accessors_must_both_be_abstract_or_non_abstract: b(2676, 1, "Accessors_must_both_be_abstract_or_non_abstract_2676", "Accessors must both be abstract or non-abstract."), A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type: b(2677, 1, "A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677", "A type predicate's type must be assignable to its parameter's type."), Type_0_is_not_comparable_to_type_1: b(2678, 1, "Type_0_is_not_comparable_to_type_1_2678", "Type '{0}' is not comparable to type '{1}'."), A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void: b(2679, 1, "A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679", "A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."), A_0_parameter_must_be_the_first_parameter: b(2680, 1, "A_0_parameter_must_be_the_first_parameter_2680", "A '{0}' parameter must be the first parameter."), A_constructor_cannot_have_a_this_parameter: b(2681, 1, "A_constructor_cannot_have_a_this_parameter_2681", "A constructor cannot have a 'this' parameter."), this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation: b(2683, 1, "this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683", "'this' implicitly has type 'any' because it does not have a type annotation."), The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1: b(2684, 1, "The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684", "The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."), The_this_types_of_each_signature_are_incompatible: b(2685, 1, "The_this_types_of_each_signature_are_incompatible_2685", "The 'this' types of each signature are incompatible."), _0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead: b(2686, 1, "_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686", "'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."), All_declarations_of_0_must_have_identical_modifiers: b(2687, 1, "All_declarations_of_0_must_have_identical_modifiers_2687", "All declarations of '{0}' must have identical modifiers."), Cannot_find_type_definition_file_for_0: b(2688, 1, "Cannot_find_type_definition_file_for_0_2688", "Cannot find type definition file for '{0}'."), Cannot_extend_an_interface_0_Did_you_mean_implements: b(2689, 1, "Cannot_extend_an_interface_0_Did_you_mean_implements_2689", "Cannot extend an interface '{0}'. Did you mean 'implements'?"), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0: b(2690, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690", "'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"), _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: b(2692, 1, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: b(2693, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: b(2694, 1, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), Left_side_of_comma_operator_is_unused_and_has_no_side_effects: b(2695, 1, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", !0), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: b(2696, 1, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: b(2697, 1, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."), Spread_types_may_only_be_created_from_object_types: b(2698, 1, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1: b(2699, 1, "Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699", "Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."), Rest_types_may_only_be_created_from_object_types: b(2700, 1, "Rest_types_may_only_be_created_from_object_types_2700", "Rest types may only be created from object types."), The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access: b(2701, 1, "The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701", "The target of an object rest assignment must be a variable or a property access."), _0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here: b(2702, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702", "'{0}' only refers to a type, but is being used as a namespace here."), The_operand_of_a_delete_operator_must_be_a_property_reference: b(2703, 1, "The_operand_of_a_delete_operator_must_be_a_property_reference_2703", "The operand of a 'delete' operator must be a property reference."), The_operand_of_a_delete_operator_cannot_be_a_read_only_property: b(2704, 1, "The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704", "The operand of a 'delete' operator cannot be a read-only property."), An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option: b(2705, 1, "An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705", "An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."), Required_type_parameters_may_not_follow_optional_type_parameters: b(2706, 1, "Required_type_parameters_may_not_follow_optional_type_parameters_2706", "Required type parameters may not follow optional type parameters."), Generic_type_0_requires_between_1_and_2_type_arguments: b(2707, 1, "Generic_type_0_requires_between_1_and_2_type_arguments_2707", "Generic type '{0}' requires between {1} and {2} type arguments."), Cannot_use_namespace_0_as_a_value: b(2708, 1, "Cannot_use_namespace_0_as_a_value_2708", "Cannot use namespace '{0}' as a value."), Cannot_use_namespace_0_as_a_type: b(2709, 1, "Cannot_use_namespace_0_as_a_type_2709", "Cannot use namespace '{0}' as a type."), _0_are_specified_twice_The_attribute_named_0_will_be_overwritten: b(2710, 1, "_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710", "'{0}' are specified twice. The attribute named '{0}' will be overwritten."), A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: b(2711, 1, "A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711", "A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."), A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option: b(2712, 1, "A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712", "A dynamic import call in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."), Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1: b(2713, 1, "Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713", `Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`), The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context: b(2714, 1, "The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714", "The expression of an export assignment must be an identifier or qualified name in an ambient context."), Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor: b(2715, 1, "Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715", "Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."), Type_parameter_0_has_a_circular_default: b(2716, 1, "Type_parameter_0_has_a_circular_default_2716", "Type parameter '{0}' has a circular default."), Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2: b(2717, 1, "Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717", "Subsequent property declarations must have the same type.  Property '{0}' must be of type '{1}', but here has type '{2}'."), Duplicate_property_0: b(2718, 1, "Duplicate_property_0_2718", "Duplicate property '{0}'."), Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated: b(2719, 1, "Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719", "Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."), Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass: b(2720, 1, "Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720", "Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"), Cannot_invoke_an_object_which_is_possibly_null: b(2721, 1, "Cannot_invoke_an_object_which_is_possibly_null_2721", "Cannot invoke an object which is possibly 'null'."), Cannot_invoke_an_object_which_is_possibly_undefined: b(2722, 1, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: b(2723, 1, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), _0_has_no_exported_member_named_1_Did_you_mean_2: b(2724, 1, "_0_has_no_exported_member_named_1_Did_you_mean_2_2724", "'{0}' has no exported member named '{1}'. Did you mean '{2}'?"), Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: b(2725, 1, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Cannot_find_lib_definition_for_0: b(2726, 1, "Cannot_find_lib_definition_for_0_2726", "Cannot find lib definition for '{0}'."), Cannot_find_lib_definition_for_0_Did_you_mean_1: b(2727, 1, "Cannot_find_lib_definition_for_0_Did_you_mean_1_2727", "Cannot find lib definition for '{0}'. Did you mean '{1}'?"), _0_is_declared_here: b(2728, 3, "_0_is_declared_here_2728", "'{0}' is declared here."), Property_0_is_used_before_its_initialization: b(2729, 1, "Property_0_is_used_before_its_initialization_2729", "Property '{0}' is used before its initialization."), An_arrow_function_cannot_have_a_this_parameter: b(2730, 1, "An_arrow_function_cannot_have_a_this_parameter_2730", "An arrow function cannot have a 'this' parameter."), Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String: b(2731, 1, "Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731", "Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."), Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension: b(2732, 1, "Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732", "Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."), Property_0_was_also_declared_here: b(2733, 1, "Property_0_was_also_declared_here_2733", "Property '{0}' was also declared here."), Are_you_missing_a_semicolon: b(2734, 1, "Are_you_missing_a_semicolon_2734", "Are you missing a semicolon?"), Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1: b(2735, 1, "Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735", "Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"), Operator_0_cannot_be_applied_to_type_1: b(2736, 1, "Operator_0_cannot_be_applied_to_type_1_2736", "Operator '{0}' cannot be applied to type '{1}'."), BigInt_literals_are_not_available_when_targeting_lower_than_ES2020: b(2737, 1, "BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737", "BigInt literals are not available when targeting lower than ES2020."), An_outer_value_of_this_is_shadowed_by_this_container: b(2738, 3, "An_outer_value_of_this_is_shadowed_by_this_container_2738", "An outer value of 'this' is shadowed by this container."), Type_0_is_missing_the_following_properties_from_type_1_Colon_2: b(2739, 1, "Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739", "Type '{0}' is missing the following properties from type '{1}': {2}"), Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more: b(2740, 1, "Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740", "Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."), Property_0_is_missing_in_type_1_but_required_in_type_2: b(2741, 1, "Property_0_is_missing_in_type_1_but_required_in_type_2_2741", "Property '{0}' is missing in type '{1}' but required in type '{2}'."), The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary: b(2742, 1, "The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742", "The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."), No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments: b(2743, 1, "No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743", "No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."), Type_parameter_defaults_can_only_reference_previously_declared_type_parameters: b(2744, 1, "Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744", "Type parameter defaults can only reference previously declared type parameters."), This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided: b(2745, 1, "This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745", "This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."), This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided: b(2746, 1, "This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746", "This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."), _0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2: b(2747, 1, "_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747", "'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."), Cannot_access_ambient_const_enums_when_0_is_enabled: b(2748, 1, "Cannot_access_ambient_const_enums_when_0_is_enabled_2748", "Cannot access ambient const enums when '{0}' is enabled."), _0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0: b(2749, 1, "_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749", "'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"), The_implementation_signature_is_declared_here: b(2750, 1, "The_implementation_signature_is_declared_here_2750", "The implementation signature is declared here."), Circularity_originates_in_type_at_this_location: b(2751, 1, "Circularity_originates_in_type_at_this_location_2751", "Circularity originates in type at this location."), The_first_export_default_is_here: b(2752, 1, "The_first_export_default_is_here_2752", "The first export default is here."), Another_export_default_is_here: b(2753, 1, "Another_export_default_is_here_2753", "Another export default is here."), super_may_not_use_type_arguments: b(2754, 1, "super_may_not_use_type_arguments_2754", "'super' may not use type arguments."), No_constituent_of_type_0_is_callable: b(2755, 1, "No_constituent_of_type_0_is_callable_2755", "No constituent of type '{0}' is callable."), Not_all_constituents_of_type_0_are_callable: b(2756, 1, "Not_all_constituents_of_type_0_are_callable_2756", "Not all constituents of type '{0}' are callable."), Type_0_has_no_call_signatures: b(2757, 1, "Type_0_has_no_call_signatures_2757", "Type '{0}' has no call signatures."), Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other: b(2758, 1, "Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758", "Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."), No_constituent_of_type_0_is_constructable: b(2759, 1, "No_constituent_of_type_0_is_constructable_2759", "No constituent of type '{0}' is constructable."), Not_all_constituents_of_type_0_are_constructable: b(2760, 1, "Not_all_constituents_of_type_0_are_constructable_2760", "Not all constituents of type '{0}' are constructable."), Type_0_has_no_construct_signatures: b(2761, 1, "Type_0_has_no_construct_signatures_2761", "Type '{0}' has no construct signatures."), Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other: b(2762, 1, "Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762", "Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."), Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0: b(2763, 1, "Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763", "Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."), Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0: b(2764, 1, "Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764", "Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."), Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0: b(2765, 1, "Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765", "Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."), Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0: b(2766, 1, "Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766", "Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."), The_0_property_of_an_iterator_must_be_a_method: b(2767, 1, "The_0_property_of_an_iterator_must_be_a_method_2767", "The '{0}' property of an iterator must be a method."), The_0_property_of_an_async_iterator_must_be_a_method: b(2768, 1, "The_0_property_of_an_async_iterator_must_be_a_method_2768", "The '{0}' property of an async iterator must be a method."), No_overload_matches_this_call: b(2769, 1, "No_overload_matches_this_call_2769", "No overload matches this call."), The_last_overload_gave_the_following_error: b(2770, 1, "The_last_overload_gave_the_following_error_2770", "The last overload gave the following error."), The_last_overload_is_declared_here: b(2771, 1, "The_last_overload_is_declared_here_2771", "The last overload is declared here."), Overload_0_of_1_2_gave_the_following_error: b(2772, 1, "Overload_0_of_1_2_gave_the_following_error_2772", "Overload {0} of {1}, '{2}', gave the following error."), Did_you_forget_to_use_await: b(2773, 1, "Did_you_forget_to_use_await_2773", "Did you forget to use 'await'?"), This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead: b(2774, 1, "This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774", "This condition will always return true since this function is always defined. Did you mean to call it instead?"), Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation: b(2775, 1, "Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775", "Assertions require every name in the call target to be declared with an explicit type annotation."), Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name: b(2776, 1, "Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776", "Assertions require the call target to be an identifier or qualified name."), The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access: b(2777, 1, "The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777", "The operand of an increment or decrement operator may not be an optional property access."), The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access: b(2778, 1, "The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778", "The target of an object rest assignment may not be an optional property access."), The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access: b(2779, 1, "The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779", "The left-hand side of an assignment expression may not be an optional property access."), The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access: b(2780, 1, "The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780", "The left-hand side of a 'for...in' statement may not be an optional property access."), The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access: b(2781, 1, "The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781", "The left-hand side of a 'for...of' statement may not be an optional property access."), _0_needs_an_explicit_type_annotation: b(2782, 3, "_0_needs_an_explicit_type_annotation_2782", "'{0}' needs an explicit type annotation."), _0_is_specified_more_than_once_so_this_usage_will_be_overwritten: b(2783, 1, "_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783", "'{0}' is specified more than once, so this usage will be overwritten."), get_and_set_accessors_cannot_declare_this_parameters: b(2784, 1, "get_and_set_accessors_cannot_declare_this_parameters_2784", "'get' and 'set' accessors cannot declare 'this' parameters."), This_spread_always_overwrites_this_property: b(2785, 1, "This_spread_always_overwrites_this_property_2785", "This spread always overwrites this property."), _0_cannot_be_used_as_a_JSX_component: b(2786, 1, "_0_cannot_be_used_as_a_JSX_component_2786", "'{0}' cannot be used as a JSX component."), Its_return_type_0_is_not_a_valid_JSX_element: b(2787, 1, "Its_return_type_0_is_not_a_valid_JSX_element_2787", "Its return type '{0}' is not a valid JSX element."), Its_instance_type_0_is_not_a_valid_JSX_element: b(2788, 1, "Its_instance_type_0_is_not_a_valid_JSX_element_2788", "Its instance type '{0}' is not a valid JSX element."), Its_element_type_0_is_not_a_valid_JSX_element: b(2789, 1, "Its_element_type_0_is_not_a_valid_JSX_element_2789", "Its element type '{0}' is not a valid JSX element."), The_operand_of_a_delete_operator_must_be_optional: b(2790, 1, "The_operand_of_a_delete_operator_must_be_optional_2790", "The operand of a 'delete' operator must be optional."), Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later: b(2791, 1, "Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791", "Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."), Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option: b(2792, 1, "Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792", "Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"), The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible: b(2793, 1, "The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793", "The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."), Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise: b(2794, 1, "Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794", "Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"), The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types: b(2795, 1, "The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795", "The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."), It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked: b(2796, 1, "It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796", "It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."), A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract: b(2797, 1, "A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797", "A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."), The_declaration_was_marked_as_deprecated_here: b(2798, 1, "The_declaration_was_marked_as_deprecated_here_2798", "The declaration was marked as deprecated here."), Type_produces_a_tuple_type_that_is_too_large_to_represent: b(2799, 1, "Type_produces_a_tuple_type_that_is_too_large_to_represent_2799", "Type produces a tuple type that is too large to represent."), Expression_produces_a_tuple_type_that_is_too_large_to_represent: b(2800, 1, "Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800", "Expression produces a tuple type that is too large to represent."), This_condition_will_always_return_true_since_this_0_is_always_defined: b(2801, 1, "This_condition_will_always_return_true_since_this_0_is_always_defined_2801", "This condition will always return true since this '{0}' is always defined."), Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher: b(2802, 1, "Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802", "Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."), Cannot_assign_to_private_method_0_Private_methods_are_not_writable: b(2803, 1, "Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803", "Cannot assign to private method '{0}'. Private methods are not writable."), Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name: b(2804, 1, "Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804", "Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."), Private_accessor_was_defined_without_a_getter: b(2806, 1, "Private_accessor_was_defined_without_a_getter_2806", "Private accessor was defined without a getter."), This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0: b(2807, 1, "This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807", "This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."), A_get_accessor_must_be_at_least_as_accessible_as_the_setter: b(2808, 1, "A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808", "A get accessor must be at least as accessible as the setter"), Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses: b(2809, 1, "Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809", "Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."), Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments: b(2810, 1, "Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810", "Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."), Initializer_for_property_0: b(2811, 1, "Initializer_for_property_0_2811", "Initializer for property '{0}'"), Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom: b(2812, 1, "Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812", "Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."), Class_declaration_cannot_implement_overload_list_for_0: b(2813, 1, "Class_declaration_cannot_implement_overload_list_for_0_2813", "Class declaration cannot implement overload list for '{0}'."), Function_with_bodies_can_only_merge_with_classes_that_are_ambient: b(2814, 1, "Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814", "Function with bodies can only merge with classes that are ambient."), arguments_cannot_be_referenced_in_property_initializers: b(2815, 1, "arguments_cannot_be_referenced_in_property_initializers_2815", "'arguments' cannot be referenced in property initializers."), Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class: b(2816, 1, "Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816", "Cannot use 'this' in a static property initializer of a decorated class."), Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block: b(2817, 1, "Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817", "Property '{0}' has no initializer and is not definitely assigned in a class static block."), Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers: b(2818, 1, "Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818", "Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."), Namespace_name_cannot_be_0: b(2819, 1, "Namespace_name_cannot_be_0_2819", "Namespace name cannot be '{0}'."), Type_0_is_not_assignable_to_type_1_Did_you_mean_2: b(2820, 1, "Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820", "Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"), Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext: b(2821, 1, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821", "Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."), Import_assertions_cannot_be_used_with_type_only_imports_or_exports: b(2822, 1, "Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822", "Import assertions cannot be used with type-only imports or exports."), Cannot_find_namespace_0_Did_you_mean_1: b(2833, 1, "Cannot_find_namespace_0_Did_you_mean_1_2833", "Cannot find namespace '{0}'. Did you mean '{1}'?"), Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path: b(2834, 1, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."), Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0: b(2835, 1, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"), Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: b(2836, 1, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."), Import_assertion_values_must_be_string_literal_expressions: b(2837, 1, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."), All_declarations_of_0_must_have_identical_constraints: b(2838, 1, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."), This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: b(2839, 1, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."), An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes: b(2840, 1, "An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840", "An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"), The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: b(2841, 1, "The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841", "The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), _0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation: b(2842, 1, "_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842", "'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"), We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here: b(2843, 1, "We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843", "We can only write a type for '{0}' by adding a type for the entire parameter here."), Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: b(2844, 1, "Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844", "Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), This_condition_will_always_return_0: b(2845, 1, "This_condition_will_always_return_0_2845", "This condition will always return '{0}'."), A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead: b(2846, 1, "A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846", "A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"), Import_declaration_0_is_using_private_name_1: b(4e3, 1, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: b(4002, 1, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: b(4004, 1, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: b(4006, 1, "Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006", "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."), Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: b(4008, 1, "Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008", "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."), Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: b(4010, 1, "Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010", "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."), Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: b(4012, 1, "Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012", "Type parameter '{0}' of public method from exported class has or is using private name '{1}'."), Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: b(4014, 1, "Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014", "Type parameter '{0}' of method from exported interface has or is using private name '{1}'."), Type_parameter_0_of_exported_function_has_or_is_using_private_name_1: b(4016, 1, "Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016", "Type parameter '{0}' of exported function has or is using private name '{1}'."), Implements_clause_of_exported_class_0_has_or_is_using_private_name_1: b(4019, 1, "Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019", "Implements clause of exported class '{0}' has or is using private name '{1}'."), extends_clause_of_exported_class_0_has_or_is_using_private_name_1: b(4020, 1, "extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020", "'extends' clause of exported class '{0}' has or is using private name '{1}'."), extends_clause_of_exported_class_has_or_is_using_private_name_0: b(4021, 1, "extends_clause_of_exported_class_has_or_is_using_private_name_0_4021", "'extends' clause of exported class has or is using private name '{0}'."), extends_clause_of_exported_interface_0_has_or_is_using_private_name_1: b(4022, 1, "extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022", "'extends' clause of exported interface '{0}' has or is using private name '{1}'."), Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4023, 1, "Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023", "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."), Exported_variable_0_has_or_is_using_name_1_from_private_module_2: b(4024, 1, "Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024", "Exported variable '{0}' has or is using name '{1}' from private module '{2}'."), Exported_variable_0_has_or_is_using_private_name_1: b(4025, 1, "Exported_variable_0_has_or_is_using_private_name_1_4025", "Exported variable '{0}' has or is using private name '{1}'."), Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4026, 1, "Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026", "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."), Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4027, 1, "Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027", "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."), Public_static_property_0_of_exported_class_has_or_is_using_private_name_1: b(4028, 1, "Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028", "Public static property '{0}' of exported class has or is using private name '{1}'."), Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4029, 1, "Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029", "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."), Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4030, 1, "Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030", "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."), Public_property_0_of_exported_class_has_or_is_using_private_name_1: b(4031, 1, "Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031", "Public property '{0}' of exported class has or is using private name '{1}'."), Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4032, 1, "Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032", "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."), Property_0_of_exported_interface_has_or_is_using_private_name_1: b(4033, 1, "Property_0_of_exported_interface_has_or_is_using_private_name_1_4033", "Property '{0}' of exported interface has or is using private name '{1}'."), Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4034, 1, "Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034", "Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."), Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1: b(4035, 1, "Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035", "Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."), Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4036, 1, "Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036", "Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."), Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1: b(4037, 1, "Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037", "Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."), Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4038, 1, "Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038", "Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."), Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4039, 1, "Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039", "Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."), Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1: b(4040, 1, "Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040", "Return type of public static getter '{0}' from exported class has or is using private name '{1}'."), Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4041, 1, "Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041", "Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."), Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4042, 1, "Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042", "Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."), Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1: b(4043, 1, "Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043", "Return type of public getter '{0}' from exported class has or is using private name '{1}'."), Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4044, 1, "Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044", "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."), Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0: b(4045, 1, "Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045", "Return type of constructor signature from exported interface has or is using private name '{0}'."), Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4046, 1, "Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046", "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."), Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0: b(4047, 1, "Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047", "Return type of call signature from exported interface has or is using private name '{0}'."), Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4048, 1, "Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048", "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."), Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0: b(4049, 1, "Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049", "Return type of index signature from exported interface has or is using private name '{0}'."), Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: b(4050, 1, "Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050", "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."), Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: b(4051, 1, "Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051", "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."), Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0: b(4052, 1, "Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052", "Return type of public static method from exported class has or is using private name '{0}'."), Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: b(4053, 1, "Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053", "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."), Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: b(4054, 1, "Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054", "Return type of public method from exported class has or is using name '{0}' from private module '{1}'."), Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0: b(4055, 1, "Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055", "Return type of public method from exported class has or is using private name '{0}'."), Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4056, 1, "Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056", "Return type of method from exported interface has or is using name '{0}' from private module '{1}'."), Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0: b(4057, 1, "Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057", "Return type of method from exported interface has or is using private name '{0}'."), Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: b(4058, 1, "Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058", "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."), Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1: b(4059, 1, "Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059", "Return type of exported function has or is using name '{0}' from private module '{1}'."), Return_type_of_exported_function_has_or_is_using_private_name_0: b(4060, 1, "Return_type_of_exported_function_has_or_is_using_private_name_0_4060", "Return type of exported function has or is using private name '{0}'."), Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4061, 1, "Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061", "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."), Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4062, 1, "Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062", "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."), Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1: b(4063, 1, "Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063", "Parameter '{0}' of constructor from exported class has or is using private name '{1}'."), Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4064, 1, "Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064", "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."), Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: b(4065, 1, "Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065", "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."), Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4066, 1, "Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066", "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."), Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: b(4067, 1, "Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067", "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."), Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4068, 1, "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068", "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."), Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4069, 1, "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069", "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."), Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: b(4070, 1, "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070", "Parameter '{0}' of public static method from exported class has or is using private name '{1}'."), Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4071, 1, "Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071", "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."), Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4072, 1, "Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072", "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."), Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: b(4073, 1, "Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073", "Parameter '{0}' of public method from exported class has or is using private name '{1}'."), Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4074, 1, "Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074", "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."), Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: b(4075, 1, "Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075", "Parameter '{0}' of method from exported interface has or is using private name '{1}'."), Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4076, 1, "Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076", "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."), Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: b(4077, 1, "Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077", "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."), Parameter_0_of_exported_function_has_or_is_using_private_name_1: b(4078, 1, "Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078", "Parameter '{0}' of exported function has or is using private name '{1}'."), Exported_type_alias_0_has_or_is_using_private_name_1: b(4081, 1, "Exported_type_alias_0_has_or_is_using_private_name_1_4081", "Exported type alias '{0}' has or is using private name '{1}'."), Default_export_of_the_module_has_or_is_using_private_name_0: b(4082, 1, "Default_export_of_the_module_has_or_is_using_private_name_0_4082", "Default export of the module has or is using private name '{0}'."), Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1: b(4083, 1, "Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083", "Type parameter '{0}' of exported type alias has or is using private name '{1}'."), Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2: b(4084, 1, "Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084", "Exported type alias '{0}' has or is using private name '{1}' from module {2}."), Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1: b(4085, 1, "Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085", "Extends clause for inferred type '{0}' has or is using private name '{1}'."), Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict: b(4090, 1, "Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090", "Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."), Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4091, 1, "Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091", "Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."), Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1: b(4092, 1, "Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092", "Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."), Property_0_of_exported_class_expression_may_not_be_private_or_protected: b(4094, 1, "Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094", "Property '{0}' of exported class expression may not be private or protected."), Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4095, 1, "Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095", "Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."), Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4096, 1, "Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096", "Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."), Public_static_method_0_of_exported_class_has_or_is_using_private_name_1: b(4097, 1, "Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097", "Public static method '{0}' of exported class has or is using private name '{1}'."), Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4098, 1, "Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098", "Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."), Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4099, 1, "Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099", "Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."), Public_method_0_of_exported_class_has_or_is_using_private_name_1: b(4100, 1, "Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100", "Public method '{0}' of exported class has or is using private name '{1}'."), Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4101, 1, "Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101", "Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."), Method_0_of_exported_interface_has_or_is_using_private_name_1: b(4102, 1, "Method_0_of_exported_interface_has_or_is_using_private_name_1_4102", "Method '{0}' of exported interface has or is using private name '{1}'."), Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1: b(4103, 1, "Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103", "Type parameter '{0}' of exported mapped object type is using private name '{1}'."), The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1: b(4104, 1, "The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104", "The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."), Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter: b(4105, 1, "Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105", "Private or protected member '{0}' cannot be accessed on a type parameter."), Parameter_0_of_accessor_has_or_is_using_private_name_1: b(4106, 1, "Parameter_0_of_accessor_has_or_is_using_private_name_1_4106", "Parameter '{0}' of accessor has or is using private name '{1}'."), Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2: b(4107, 1, "Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107", "Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."), Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4108, 1, "Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108", "Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."), Type_arguments_for_0_circularly_reference_themselves: b(4109, 1, "Type_arguments_for_0_circularly_reference_themselves_4109", "Type arguments for '{0}' circularly reference themselves."), Tuple_type_arguments_circularly_reference_themselves: b(4110, 1, "Tuple_type_arguments_circularly_reference_themselves_4110", "Tuple type arguments circularly reference themselves."), Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0: b(4111, 1, "Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111", "Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."), This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class: b(4112, 1, "This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112", "This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."), This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0: b(4113, 1, "This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113", "This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."), This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0: b(4114, 1, "This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114", "This member must have an 'override' modifier because it overrides a member in the base class '{0}'."), This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0: b(4115, 1, "This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115", "This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."), This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0: b(4116, 1, "This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116", "This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."), This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: b(4117, 1, "This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117", "This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"), The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized: b(4118, 1, "The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118", "The type of this node cannot be serialized because its property '{0}' cannot be serialized."), This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0: b(4119, 1, "This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119", "This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."), This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0: b(4120, 1, "This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120", "This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."), This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class: b(4121, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121", "This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."), This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0: b(4122, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122", "This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."), This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: b(4123, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123", "This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"), Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: b(4124, 1, "Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124", "Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: b(4125, 1, "resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125", "'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), The_current_host_does_not_support_the_0_option: b(5001, 1, "The_current_host_does_not_support_the_0_option_5001", "The current host does not support the '{0}' option."), Cannot_find_the_common_subdirectory_path_for_the_input_files: b(5009, 1, "Cannot_find_the_common_subdirectory_path_for_the_input_files_5009", "Cannot find the common subdirectory path for the input files."), File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: b(5010, 1, "File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010", "File specification cannot end in a recursive directory wildcard ('**'): '{0}'."), Cannot_read_file_0_Colon_1: b(5012, 1, "Cannot_read_file_0_Colon_1_5012", "Cannot read file '{0}': {1}."), Failed_to_parse_file_0_Colon_1: b(5014, 1, "Failed_to_parse_file_0_Colon_1_5014", "Failed to parse file '{0}': {1}."), Unknown_compiler_option_0: b(5023, 1, "Unknown_compiler_option_0_5023", "Unknown compiler option '{0}'."), Compiler_option_0_requires_a_value_of_type_1: b(5024, 1, "Compiler_option_0_requires_a_value_of_type_1_5024", "Compiler option '{0}' requires a value of type {1}."), Unknown_compiler_option_0_Did_you_mean_1: b(5025, 1, "Unknown_compiler_option_0_Did_you_mean_1_5025", "Unknown compiler option '{0}'. Did you mean '{1}'?"), Could_not_write_file_0_Colon_1: b(5033, 1, "Could_not_write_file_0_Colon_1_5033", "Could not write file '{0}': {1}."), Option_project_cannot_be_mixed_with_source_files_on_a_command_line: b(5042, 1, "Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042", "Option 'project' cannot be mixed with source files on a command line."), Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher: b(5047, 1, "Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047", "Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."), Option_0_cannot_be_specified_when_option_target_is_ES3: b(5048, 1, "Option_0_cannot_be_specified_when_option_target_is_ES3_5048", "Option '{0}' cannot be specified when option 'target' is 'ES3'."), Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided: b(5051, 1, "Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051", "Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."), Option_0_cannot_be_specified_without_specifying_option_1: b(5052, 1, "Option_0_cannot_be_specified_without_specifying_option_1_5052", "Option '{0}' cannot be specified without specifying option '{1}'."), Option_0_cannot_be_specified_with_option_1: b(5053, 1, "Option_0_cannot_be_specified_with_option_1_5053", "Option '{0}' cannot be specified with option '{1}'."), A_tsconfig_json_file_is_already_defined_at_Colon_0: b(5054, 1, "A_tsconfig_json_file_is_already_defined_at_Colon_0_5054", "A 'tsconfig.json' file is already defined at: '{0}'."), Cannot_write_file_0_because_it_would_overwrite_input_file: b(5055, 1, "Cannot_write_file_0_because_it_would_overwrite_input_file_5055", "Cannot write file '{0}' because it would overwrite input file."), Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files: b(5056, 1, "Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056", "Cannot write file '{0}' because it would be overwritten by multiple input files."), Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0: b(5057, 1, "Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057", "Cannot find a tsconfig.json file at the specified directory: '{0}'."), The_specified_path_does_not_exist_Colon_0: b(5058, 1, "The_specified_path_does_not_exist_Colon_0_5058", "The specified path does not exist: '{0}'."), Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier: b(5059, 1, "Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059", "Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."), Pattern_0_can_have_at_most_one_Asterisk_character: b(5061, 1, "Pattern_0_can_have_at_most_one_Asterisk_character_5061", "Pattern '{0}' can have at most one '*' character."), Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character: b(5062, 1, "Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062", "Substitution '{0}' in pattern '{1}' can have at most one '*' character."), Substitutions_for_pattern_0_should_be_an_array: b(5063, 1, "Substitutions_for_pattern_0_should_be_an_array_5063", "Substitutions for pattern '{0}' should be an array."), Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2: b(5064, 1, "Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064", "Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."), File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: b(5065, 1, "File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065", "File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."), Substitutions_for_pattern_0_shouldn_t_be_an_empty_array: b(5066, 1, "Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066", "Substitutions for pattern '{0}' shouldn't be an empty array."), Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name: b(5067, 1, "Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067", "Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."), Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig: b(5068, 1, "Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068", "Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."), Option_0_cannot_be_specified_without_specifying_option_1_or_option_2: b(5069, 1, "Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069", "Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."), Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic: b(5070, 1, "Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070", "Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."), Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext: b(5071, 1, "Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071", "Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."), Unknown_build_option_0: b(5072, 1, "Unknown_build_option_0_5072", "Unknown build option '{0}'."), Build_option_0_requires_a_value_of_type_1: b(5073, 1, "Build_option_0_requires_a_value_of_type_1_5073", "Build option '{0}' requires a value of type {1}."), Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified: b(5074, 1, "Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074", "Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."), _0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2: b(5075, 1, "_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075", "'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."), _0_and_1_operations_cannot_be_mixed_without_parentheses: b(5076, 1, "_0_and_1_operations_cannot_be_mixed_without_parentheses_5076", "'{0}' and '{1}' operations cannot be mixed without parentheses."), Unknown_build_option_0_Did_you_mean_1: b(5077, 1, "Unknown_build_option_0_Did_you_mean_1_5077", "Unknown build option '{0}'. Did you mean '{1}'?"), Unknown_watch_option_0: b(5078, 1, "Unknown_watch_option_0_5078", "Unknown watch option '{0}'."), Unknown_watch_option_0_Did_you_mean_1: b(5079, 1, "Unknown_watch_option_0_Did_you_mean_1_5079", "Unknown watch option '{0}'. Did you mean '{1}'?"), Watch_option_0_requires_a_value_of_type_1: b(5080, 1, "Watch_option_0_requires_a_value_of_type_1_5080", "Watch option '{0}' requires a value of type {1}."), Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0: b(5081, 1, "Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081", "Cannot find a tsconfig.json file at the current directory: {0}."), _0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1: b(5082, 1, "_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082", "'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."), Cannot_read_file_0: b(5083, 1, "Cannot_read_file_0_5083", "Cannot read file '{0}'."), Tuple_members_must_all_have_names_or_all_not_have_names: b(5084, 1, "Tuple_members_must_all_have_names_or_all_not_have_names_5084", "Tuple members must all have names or all not have names."), A_tuple_member_cannot_be_both_optional_and_rest: b(5085, 1, "A_tuple_member_cannot_be_both_optional_and_rest_5085", "A tuple member cannot be both optional and rest."), A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type: b(5086, 1, "A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086", "A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."), A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type: b(5087, 1, "A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087", "A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."), The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary: b(5088, 1, "The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088", "The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."), Option_0_cannot_be_specified_when_option_jsx_is_1: b(5089, 1, "Option_0_cannot_be_specified_when_option_jsx_is_1_5089", "Option '{0}' cannot be specified when option 'jsx' is '{1}'."), Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash: b(5090, 1, "Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090", "Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"), Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled: b(5091, 1, "Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091", "Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."), The_root_value_of_a_0_file_must_be_an_object: b(5092, 1, "The_root_value_of_a_0_file_must_be_an_object_5092", "The root value of a '{0}' file must be an object."), Compiler_option_0_may_only_be_used_with_build: b(5093, 1, "Compiler_option_0_may_only_be_used_with_build_5093", "Compiler option '--{0}' may only be used with '--build'."), Compiler_option_0_may_not_be_used_with_build: b(5094, 1, "Compiler_option_0_may_not_be_used_with_build_5094", "Compiler option '--{0}' may not be used with '--build'."), Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later: b(5095, 1, "Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095", "Option '{0}' can only be used when 'module' is set to 'es2015' or later."), Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set: b(5096, 1, "Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096", "Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."), An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled: b(5097, 1, "An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097", "An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."), Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler: b(5098, 1, "Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098", "Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."), Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error: b(5101, 1, "Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101", `Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`), Option_0_has_been_removed_Please_remove_it_from_your_configuration: b(5102, 1, "Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102", "Option '{0}' has been removed. Please remove it from your configuration."), Invalid_value_for_ignoreDeprecations: b(5103, 1, "Invalid_value_for_ignoreDeprecations_5103", "Invalid value for '--ignoreDeprecations'."), Option_0_is_redundant_and_cannot_be_specified_with_option_1: b(5104, 1, "Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104", "Option '{0}' is redundant and cannot be specified with option '{1}'."), Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System: b(5105, 1, "Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105", "Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."), Use_0_instead: b(5106, 3, "Use_0_instead_5106", "Use '{0}' instead."), Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error: b(5107, 1, "Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107", `Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`), Option_0_1_has_been_removed_Please_remove_it_from_your_configuration: b(5108, 1, "Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108", "Option '{0}={1}' has been removed. Please remove it from your configuration."), Generates_a_sourcemap_for_each_corresponding_d_ts_file: b(6e3, 3, "Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000", "Generates a sourcemap for each corresponding '.d.ts' file."), Concatenate_and_emit_output_to_single_file: b(6001, 3, "Concatenate_and_emit_output_to_single_file_6001", "Concatenate and emit output to single file."), Generates_corresponding_d_ts_file: b(6002, 3, "Generates_corresponding_d_ts_file_6002", "Generates corresponding '.d.ts' file."), Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: b(6004, 3, "Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004", "Specify the location where debugger should locate TypeScript files instead of source locations."), Watch_input_files: b(6005, 3, "Watch_input_files_6005", "Watch input files."), Redirect_output_structure_to_the_directory: b(6006, 3, "Redirect_output_structure_to_the_directory_6006", "Redirect output structure to the directory."), Do_not_erase_const_enum_declarations_in_generated_code: b(6007, 3, "Do_not_erase_const_enum_declarations_in_generated_code_6007", "Do not erase const enum declarations in generated code."), Do_not_emit_outputs_if_any_errors_were_reported: b(6008, 3, "Do_not_emit_outputs_if_any_errors_were_reported_6008", "Do not emit outputs if any errors were reported."), Do_not_emit_comments_to_output: b(6009, 3, "Do_not_emit_comments_to_output_6009", "Do not emit comments to output."), Do_not_emit_outputs: b(6010, 3, "Do_not_emit_outputs_6010", "Do not emit outputs."), Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking: b(6011, 3, "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011", "Allow default imports from modules with no default export. This does not affect code emit, just typechecking."), Skip_type_checking_of_declaration_files: b(6012, 3, "Skip_type_checking_of_declaration_files_6012", "Skip type checking of declaration files."), Do_not_resolve_the_real_path_of_symlinks: b(6013, 3, "Do_not_resolve_the_real_path_of_symlinks_6013", "Do not resolve the real path of symlinks."), Only_emit_d_ts_declaration_files: b(6014, 3, "Only_emit_d_ts_declaration_files_6014", "Only emit '.d.ts' declaration files."), Specify_ECMAScript_target_version: b(6015, 3, "Specify_ECMAScript_target_version_6015", "Specify ECMAScript target version."), Specify_module_code_generation: b(6016, 3, "Specify_module_code_generation_6016", "Specify module code generation."), Print_this_message: b(6017, 3, "Print_this_message_6017", "Print this message."), Print_the_compiler_s_version: b(6019, 3, "Print_the_compiler_s_version_6019", "Print the compiler's version."), Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json: b(6020, 3, "Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020", "Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."), Syntax_Colon_0: b(6023, 3, "Syntax_Colon_0_6023", "Syntax: {0}"), options: b(6024, 3, "options_6024", "options"), file: b(6025, 3, "file_6025", "file"), Examples_Colon_0: b(6026, 3, "Examples_Colon_0_6026", "Examples: {0}"), Options_Colon: b(6027, 3, "Options_Colon_6027", "Options:"), Version_0: b(6029, 3, "Version_0_6029", "Version {0}"), Insert_command_line_options_and_files_from_a_file: b(6030, 3, "Insert_command_line_options_and_files_from_a_file_6030", "Insert command line options and files from a file."), Starting_compilation_in_watch_mode: b(6031, 3, "Starting_compilation_in_watch_mode_6031", "Starting compilation in watch mode..."), File_change_detected_Starting_incremental_compilation: b(6032, 3, "File_change_detected_Starting_incremental_compilation_6032", "File change detected. Starting incremental compilation..."), KIND: b(6034, 3, "KIND_6034", "KIND"), FILE: b(6035, 3, "FILE_6035", "FILE"), VERSION: b(6036, 3, "VERSION_6036", "VERSION"), LOCATION: b(6037, 3, "LOCATION_6037", "LOCATION"), DIRECTORY: b(6038, 3, "DIRECTORY_6038", "DIRECTORY"), STRATEGY: b(6039, 3, "STRATEGY_6039", "STRATEGY"), FILE_OR_DIRECTORY: b(6040, 3, "FILE_OR_DIRECTORY_6040", "FILE OR DIRECTORY"), Errors_Files: b(6041, 3, "Errors_Files_6041", "Errors  Files"), Generates_corresponding_map_file: b(6043, 3, "Generates_corresponding_map_file_6043", "Generates corresponding '.map' file."), Compiler_option_0_expects_an_argument: b(6044, 1, "Compiler_option_0_expects_an_argument_6044", "Compiler option '{0}' expects an argument."), Unterminated_quoted_string_in_response_file_0: b(6045, 1, "Unterminated_quoted_string_in_response_file_0_6045", "Unterminated quoted string in response file '{0}'."), Argument_for_0_option_must_be_Colon_1: b(6046, 1, "Argument_for_0_option_must_be_Colon_1_6046", "Argument for '{0}' option must be: {1}."), Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: b(6048, 1, "Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048", "Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'."), Unable_to_open_file_0: b(6050, 1, "Unable_to_open_file_0_6050", "Unable to open file '{0}'."), Corrupted_locale_file_0: b(6051, 1, "Corrupted_locale_file_0_6051", "Corrupted locale file {0}."), Raise_error_on_expressions_and_declarations_with_an_implied_any_type: b(6052, 3, "Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052", "Raise error on expressions and declarations with an implied 'any' type."), File_0_not_found: b(6053, 1, "File_0_not_found_6053", "File '{0}' not found."), File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1: b(6054, 1, "File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054", "File '{0}' has an unsupported extension. The only supported extensions are {1}."), Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: b(6055, 3, "Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055", "Suppress noImplicitAny errors for indexing objects lacking index signatures."), Do_not_emit_declarations_for_code_that_has_an_internal_annotation: b(6056, 3, "Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056", "Do not emit declarations for code that has an '@internal' annotation."), Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir: b(6058, 3, "Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058", "Specify the root directory of input files. Use to control the output directory structure with --outDir."), File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files: b(6059, 1, "File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059", "File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."), Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: b(6060, 3, "Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060", "Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."), NEWLINE: b(6061, 3, "NEWLINE_6061", "NEWLINE"), Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line: b(6064, 1, "Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064", "Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."), Enables_experimental_support_for_ES7_decorators: b(6065, 3, "Enables_experimental_support_for_ES7_decorators_6065", "Enables experimental support for ES7 decorators."), Enables_experimental_support_for_emitting_type_metadata_for_decorators: b(6066, 3, "Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066", "Enables experimental support for emitting type metadata for decorators."), Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: b(6070, 3, "Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070", "Initializes a TypeScript project and creates a tsconfig.json file."), Successfully_created_a_tsconfig_json_file: b(6071, 3, "Successfully_created_a_tsconfig_json_file_6071", "Successfully created a tsconfig.json file."), Suppress_excess_property_checks_for_object_literals: b(6072, 3, "Suppress_excess_property_checks_for_object_literals_6072", "Suppress excess property checks for object literals."), Stylize_errors_and_messages_using_color_and_context_experimental: b(6073, 3, "Stylize_errors_and_messages_using_color_and_context_experimental_6073", "Stylize errors and messages using color and context (experimental)."), Do_not_report_errors_on_unused_labels: b(6074, 3, "Do_not_report_errors_on_unused_labels_6074", "Do not report errors on unused labels."), Report_error_when_not_all_code_paths_in_function_return_a_value: b(6075, 3, "Report_error_when_not_all_code_paths_in_function_return_a_value_6075", "Report error when not all code paths in function return a value."), Report_errors_for_fallthrough_cases_in_switch_statement: b(6076, 3, "Report_errors_for_fallthrough_cases_in_switch_statement_6076", "Report errors for fallthrough cases in switch statement."), Do_not_report_errors_on_unreachable_code: b(6077, 3, "Do_not_report_errors_on_unreachable_code_6077", "Do not report errors on unreachable code."), Disallow_inconsistently_cased_references_to_the_same_file: b(6078, 3, "Disallow_inconsistently_cased_references_to_the_same_file_6078", "Disallow inconsistently-cased references to the same file."), Specify_library_files_to_be_included_in_the_compilation: b(6079, 3, "Specify_library_files_to_be_included_in_the_compilation_6079", "Specify library files to be included in the compilation."), Specify_JSX_code_generation: b(6080, 3, "Specify_JSX_code_generation_6080", "Specify JSX code generation."), File_0_has_an_unsupported_extension_so_skipping_it: b(6081, 3, "File_0_has_an_unsupported_extension_so_skipping_it_6081", "File '{0}' has an unsupported extension, so skipping it."), Only_amd_and_system_modules_are_supported_alongside_0: b(6082, 1, "Only_amd_and_system_modules_are_supported_alongside_0_6082", "Only 'amd' and 'system' modules are supported alongside --{0}."), Base_directory_to_resolve_non_absolute_module_names: b(6083, 3, "Base_directory_to_resolve_non_absolute_module_names_6083", "Base directory to resolve non-absolute module names."), Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit: b(6084, 3, "Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084", "[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"), Enable_tracing_of_the_name_resolution_process: b(6085, 3, "Enable_tracing_of_the_name_resolution_process_6085", "Enable tracing of the name resolution process."), Resolving_module_0_from_1: b(6086, 3, "Resolving_module_0_from_1_6086", "======== Resolving module '{0}' from '{1}'. ========"), Explicitly_specified_module_resolution_kind_Colon_0: b(6087, 3, "Explicitly_specified_module_resolution_kind_Colon_0_6087", "Explicitly specified module resolution kind: '{0}'."), Module_resolution_kind_is_not_specified_using_0: b(6088, 3, "Module_resolution_kind_is_not_specified_using_0_6088", "Module resolution kind is not specified, using '{0}'."), Module_name_0_was_successfully_resolved_to_1: b(6089, 3, "Module_name_0_was_successfully_resolved_to_1_6089", "======== Module name '{0}' was successfully resolved to '{1}'. ========"), Module_name_0_was_not_resolved: b(6090, 3, "Module_name_0_was_not_resolved_6090", "======== Module name '{0}' was not resolved. ========"), paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0: b(6091, 3, "paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091", "'paths' option is specified, looking for a pattern to match module name '{0}'."), Module_name_0_matched_pattern_1: b(6092, 3, "Module_name_0_matched_pattern_1_6092", "Module name '{0}', matched pattern '{1}'."), Trying_substitution_0_candidate_module_location_Colon_1: b(6093, 3, "Trying_substitution_0_candidate_module_location_Colon_1_6093", "Trying substitution '{0}', candidate module location: '{1}'."), Resolving_module_name_0_relative_to_base_url_1_2: b(6094, 3, "Resolving_module_name_0_relative_to_base_url_1_2_6094", "Resolving module name '{0}' relative to base url '{1}' - '{2}'."), Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1: b(6095, 3, "Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095", "Loading module as file / folder, candidate module location '{0}', target file types: {1}."), File_0_does_not_exist: b(6096, 3, "File_0_does_not_exist_6096", "File '{0}' does not exist."), File_0_exists_use_it_as_a_name_resolution_result: b(6097, 3, "File_0_exists_use_it_as_a_name_resolution_result_6097", "File '{0}' exists - use it as a name resolution result."), Loading_module_0_from_node_modules_folder_target_file_types_Colon_1: b(6098, 3, "Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098", "Loading module '{0}' from 'node_modules' folder, target file types: {1}."), Found_package_json_at_0: b(6099, 3, "Found_package_json_at_0_6099", "Found 'package.json' at '{0}'."), package_json_does_not_have_a_0_field: b(6100, 3, "package_json_does_not_have_a_0_field_6100", "'package.json' does not have a '{0}' field."), package_json_has_0_field_1_that_references_2: b(6101, 3, "package_json_has_0_field_1_that_references_2_6101", "'package.json' has '{0}' field '{1}' that references '{2}'."), Allow_javascript_files_to_be_compiled: b(6102, 3, "Allow_javascript_files_to_be_compiled_6102", "Allow javascript files to be compiled."), Checking_if_0_is_the_longest_matching_prefix_for_1_2: b(6104, 3, "Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104", "Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."), Expected_type_of_0_field_in_package_json_to_be_1_got_2: b(6105, 3, "Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105", "Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."), baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1: b(6106, 3, "baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106", "'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."), rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0: b(6107, 3, "rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107", "'rootDirs' option is set, using it to resolve relative module name '{0}'."), Longest_matching_prefix_for_0_is_1: b(6108, 3, "Longest_matching_prefix_for_0_is_1_6108", "Longest matching prefix for '{0}' is '{1}'."), Loading_0_from_the_root_dir_1_candidate_location_2: b(6109, 3, "Loading_0_from_the_root_dir_1_candidate_location_2_6109", "Loading '{0}' from the root dir '{1}', candidate location '{2}'."), Trying_other_entries_in_rootDirs: b(6110, 3, "Trying_other_entries_in_rootDirs_6110", "Trying other entries in 'rootDirs'."), Module_resolution_using_rootDirs_has_failed: b(6111, 3, "Module_resolution_using_rootDirs_has_failed_6111", "Module resolution using 'rootDirs' has failed."), Do_not_emit_use_strict_directives_in_module_output: b(6112, 3, "Do_not_emit_use_strict_directives_in_module_output_6112", "Do not emit 'use strict' directives in module output."), Enable_strict_null_checks: b(6113, 3, "Enable_strict_null_checks_6113", "Enable strict null checks."), Unknown_option_excludes_Did_you_mean_exclude: b(6114, 1, "Unknown_option_excludes_Did_you_mean_exclude_6114", "Unknown option 'excludes'. Did you mean 'exclude'?"), Raise_error_on_this_expressions_with_an_implied_any_type: b(6115, 3, "Raise_error_on_this_expressions_with_an_implied_any_type_6115", "Raise error on 'this' expressions with an implied 'any' type."), Resolving_type_reference_directive_0_containing_file_1_root_directory_2: b(6116, 3, "Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116", "======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"), Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2: b(6119, 3, "Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119", "======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"), Type_reference_directive_0_was_not_resolved: b(6120, 3, "Type_reference_directive_0_was_not_resolved_6120", "======== Type reference directive '{0}' was not resolved. ========"), Resolving_with_primary_search_path_0: b(6121, 3, "Resolving_with_primary_search_path_0_6121", "Resolving with primary search path '{0}'."), Root_directory_cannot_be_determined_skipping_primary_search_paths: b(6122, 3, "Root_directory_cannot_be_determined_skipping_primary_search_paths_6122", "Root directory cannot be determined, skipping primary search paths."), Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set: b(6123, 3, "Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123", "======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"), Type_declaration_files_to_be_included_in_compilation: b(6124, 3, "Type_declaration_files_to_be_included_in_compilation_6124", "Type declaration files to be included in compilation."), Looking_up_in_node_modules_folder_initial_location_0: b(6125, 3, "Looking_up_in_node_modules_folder_initial_location_0_6125", "Looking up in 'node_modules' folder, initial location '{0}'."), Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder: b(6126, 3, "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126", "Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."), Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1: b(6127, 3, "Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127", "======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"), Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set: b(6128, 3, "Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128", "======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"), Resolving_real_path_for_0_result_1: b(6130, 3, "Resolving_real_path_for_0_result_1_6130", "Resolving real path for '{0}', result '{1}'."), Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: b(6131, 1, "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."), File_name_0_has_a_1_extension_stripping_it: b(6132, 3, "File_name_0_has_a_1_extension_stripping_it_6132", "File name '{0}' has a '{1}' extension - stripping it."), _0_is_declared_but_its_value_is_never_read: b(6133, 1, "_0_is_declared_but_its_value_is_never_read_6133", "'{0}' is declared but its value is never read.", !0), Report_errors_on_unused_locals: b(6134, 3, "Report_errors_on_unused_locals_6134", "Report errors on unused locals."), Report_errors_on_unused_parameters: b(6135, 3, "Report_errors_on_unused_parameters_6135", "Report errors on unused parameters."), The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: b(6136, 3, "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", "The maximum dependency depth to search under node_modules and load JavaScript files."), Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1: b(6137, 1, "Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137", "Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."), Property_0_is_declared_but_its_value_is_never_read: b(6138, 1, "Property_0_is_declared_but_its_value_is_never_read_6138", "Property '{0}' is declared but its value is never read.", !0), Import_emit_helpers_from_tslib: b(6139, 3, "Import_emit_helpers_from_tslib_6139", "Import emit helpers from 'tslib'."), Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2: b(6140, 1, "Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140", "Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."), Parse_in_strict_mode_and_emit_use_strict_for_each_source_file: b(6141, 3, "Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141", 'Parse in strict mode and emit "use strict" for each source file.'), Module_0_was_resolved_to_1_but_jsx_is_not_set: b(6142, 1, "Module_0_was_resolved_to_1_but_jsx_is_not_set_6142", "Module '{0}' was resolved to '{1}', but '--jsx' is not set."), Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1: b(6144, 3, "Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144", "Module '{0}' was resolved as locally declared ambient module in file '{1}'."), Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified: b(6145, 3, "Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145", "Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."), Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h: b(6146, 3, "Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146", "Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."), Resolution_for_module_0_was_found_in_cache_from_location_1: b(6147, 3, "Resolution_for_module_0_was_found_in_cache_from_location_1_6147", "Resolution for module '{0}' was found in cache from location '{1}'."), Directory_0_does_not_exist_skipping_all_lookups_in_it: b(6148, 3, "Directory_0_does_not_exist_skipping_all_lookups_in_it_6148", "Directory '{0}' does not exist, skipping all lookups in it."), Show_diagnostic_information: b(6149, 3, "Show_diagnostic_information_6149", "Show diagnostic information."), Show_verbose_diagnostic_information: b(6150, 3, "Show_verbose_diagnostic_information_6150", "Show verbose diagnostic information."), Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file: b(6151, 3, "Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151", "Emit a single file with source maps instead of having a separate file."), Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set: b(6152, 3, "Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152", "Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."), Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule: b(6153, 3, "Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153", "Transpile each file as a separate module (similar to 'ts.transpileModule')."), Print_names_of_generated_files_part_of_the_compilation: b(6154, 3, "Print_names_of_generated_files_part_of_the_compilation_6154", "Print names of generated files part of the compilation."), Print_names_of_files_part_of_the_compilation: b(6155, 3, "Print_names_of_files_part_of_the_compilation_6155", "Print names of files part of the compilation."), The_locale_used_when_displaying_messages_to_the_user_e_g_en_us: b(6156, 3, "The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156", "The locale used when displaying messages to the user (e.g. 'en-us')"), Do_not_generate_custom_helper_functions_like_extends_in_compiled_output: b(6157, 3, "Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157", "Do not generate custom helper functions like '__extends' in compiled output."), Do_not_include_the_default_library_file_lib_d_ts: b(6158, 3, "Do_not_include_the_default_library_file_lib_d_ts_6158", "Do not include the default library file (lib.d.ts)."), Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files: b(6159, 3, "Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159", "Do not add triple-slash references or imported modules to the list of compiled files."), Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files: b(6160, 3, "Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160", "[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."), List_of_folders_to_include_type_definitions_from: b(6161, 3, "List_of_folders_to_include_type_definitions_from_6161", "List of folders to include type definitions from."), Disable_size_limitations_on_JavaScript_projects: b(6162, 3, "Disable_size_limitations_on_JavaScript_projects_6162", "Disable size limitations on JavaScript projects."), The_character_set_of_the_input_files: b(6163, 3, "The_character_set_of_the_input_files_6163", "The character set of the input files."), Do_not_truncate_error_messages: b(6165, 3, "Do_not_truncate_error_messages_6165", "Do not truncate error messages."), Output_directory_for_generated_declaration_files: b(6166, 3, "Output_directory_for_generated_declaration_files_6166", "Output directory for generated declaration files."), A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl: b(6167, 3, "A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167", "A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."), List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime: b(6168, 3, "List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168", "List of root folders whose combined content represents the structure of the project at runtime."), Show_all_compiler_options: b(6169, 3, "Show_all_compiler_options_6169", "Show all compiler options."), Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file: b(6170, 3, "Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170", "[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"), Command_line_Options: b(6171, 3, "Command_line_Options_6171", "Command-line Options"), Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3: b(6179, 3, "Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179", "Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."), Enable_all_strict_type_checking_options: b(6180, 3, "Enable_all_strict_type_checking_options_6180", "Enable all strict type-checking options."), Scoped_package_detected_looking_in_0: b(6182, 3, "Scoped_package_detected_looking_in_0_6182", "Scoped package detected, looking in '{0}'"), Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2: b(6183, 3, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183", "Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."), Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3: b(6184, 3, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184", "Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."), Enable_strict_checking_of_function_types: b(6186, 3, "Enable_strict_checking_of_function_types_6186", "Enable strict checking of function types."), Enable_strict_checking_of_property_initialization_in_classes: b(6187, 3, "Enable_strict_checking_of_property_initialization_in_classes_6187", "Enable strict checking of property initialization in classes."), Numeric_separators_are_not_allowed_here: b(6188, 1, "Numeric_separators_are_not_allowed_here_6188", "Numeric separators are not allowed here."), Multiple_consecutive_numeric_separators_are_not_permitted: b(6189, 1, "Multiple_consecutive_numeric_separators_are_not_permitted_6189", "Multiple consecutive numeric separators are not permitted."), Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen: b(6191, 3, "Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191", "Whether to keep outdated console output in watch mode instead of clearing the screen."), All_imports_in_import_declaration_are_unused: b(6192, 1, "All_imports_in_import_declaration_are_unused_6192", "All imports in import declaration are unused.", !0), Found_1_error_Watching_for_file_changes: b(6193, 3, "Found_1_error_Watching_for_file_changes_6193", "Found 1 error. Watching for file changes."), Found_0_errors_Watching_for_file_changes: b(6194, 3, "Found_0_errors_Watching_for_file_changes_6194", "Found {0} errors. Watching for file changes."), Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols: b(6195, 3, "Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195", "Resolve 'keyof' to string valued property names only (no numbers or symbols)."), _0_is_declared_but_never_used: b(6196, 1, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", !0), Include_modules_imported_with_json_extension: b(6197, 3, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: b(6198, 1, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", !0), All_variables_are_unused: b(6199, 1, "All_variables_are_unused_6199", "All variables are unused.", !0), Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0: b(6200, 1, "Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200", "Definitions of the following identifiers conflict with those in another file: {0}"), Conflicts_are_in_this_file: b(6201, 3, "Conflicts_are_in_this_file_6201", "Conflicts are in this file."), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: b(6202, 1, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), _0_was_also_declared_here: b(6203, 3, "_0_was_also_declared_here_6203", "'{0}' was also declared here."), and_here: b(6204, 3, "and_here_6204", "and here."), All_type_parameters_are_unused: b(6205, 1, "All_type_parameters_are_unused_6205", "All type parameters are unused."), package_json_has_a_typesVersions_field_with_version_specific_path_mappings: b(6206, 3, "package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206", "'package.json' has a 'typesVersions' field with version-specific path mappings."), package_json_does_not_have_a_typesVersions_entry_that_matches_version_0: b(6207, 3, "package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207", "'package.json' does not have a 'typesVersions' entry that matches version '{0}'."), package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2: b(6208, 3, "package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208", "'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."), package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range: b(6209, 3, "package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209", "'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."), An_argument_for_0_was_not_provided: b(6210, 3, "An_argument_for_0_was_not_provided_6210", "An argument for '{0}' was not provided."), An_argument_matching_this_binding_pattern_was_not_provided: b(6211, 3, "An_argument_matching_this_binding_pattern_was_not_provided_6211", "An argument matching this binding pattern was not provided."), Did_you_mean_to_call_this_expression: b(6212, 3, "Did_you_mean_to_call_this_expression_6212", "Did you mean to call this expression?"), Did_you_mean_to_use_new_with_this_expression: b(6213, 3, "Did_you_mean_to_use_new_with_this_expression_6213", "Did you mean to use 'new' with this expression?"), Enable_strict_bind_call_and_apply_methods_on_functions: b(6214, 3, "Enable_strict_bind_call_and_apply_methods_on_functions_6214", "Enable strict 'bind', 'call', and 'apply' methods on functions."), Using_compiler_options_of_project_reference_redirect_0: b(6215, 3, "Using_compiler_options_of_project_reference_redirect_0_6215", "Using compiler options of project reference redirect '{0}'."), Found_1_error: b(6216, 3, "Found_1_error_6216", "Found 1 error."), Found_0_errors: b(6217, 3, "Found_0_errors_6217", "Found {0} errors."), Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2: b(6218, 3, "Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218", "======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"), Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3: b(6219, 3, "Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219", "======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"), package_json_had_a_falsy_0_field: b(6220, 3, "package_json_had_a_falsy_0_field_6220", "'package.json' had a falsy '{0}' field."), Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects: b(6221, 3, "Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221", "Disable use of source files instead of declaration files from referenced projects."), Emit_class_fields_with_Define_instead_of_Set: b(6222, 3, "Emit_class_fields_with_Define_instead_of_Set_6222", "Emit class fields with Define instead of Set."), Generates_a_CPU_profile: b(6223, 3, "Generates_a_CPU_profile_6223", "Generates a CPU profile."), Disable_solution_searching_for_this_project: b(6224, 3, "Disable_solution_searching_for_this_project_6224", "Disable solution searching for this project."), Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory: b(6225, 3, "Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225", "Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."), Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling: b(6226, 3, "Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226", "Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."), Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize: b(6227, 3, "Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227", "Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."), Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3: b(6229, 1, "Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229", "Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."), Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line: b(6230, 1, "Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230", "Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."), Could_not_resolve_the_path_0_with_the_extensions_Colon_1: b(6231, 1, "Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231", "Could not resolve the path '{0}' with the extensions: {1}."), Declaration_augments_declaration_in_another_file_This_cannot_be_serialized: b(6232, 1, "Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232", "Declaration augments declaration in another file. This cannot be serialized."), This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file: b(6233, 1, "This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233", "This is the declaration being augmented. Consider moving the augmenting declaration into the same file."), This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without: b(6234, 1, "This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234", "This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"), Disable_loading_referenced_projects: b(6235, 3, "Disable_loading_referenced_projects_6235", "Disable loading referenced projects."), Arguments_for_the_rest_parameter_0_were_not_provided: b(6236, 1, "Arguments_for_the_rest_parameter_0_were_not_provided_6236", "Arguments for the rest parameter '{0}' were not provided."), Generates_an_event_trace_and_a_list_of_types: b(6237, 3, "Generates_an_event_trace_and_a_list_of_types_6237", "Generates an event trace and a list of types."), Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react: b(6238, 1, "Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238", "Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"), File_0_exists_according_to_earlier_cached_lookups: b(6239, 3, "File_0_exists_according_to_earlier_cached_lookups_6239", "File '{0}' exists according to earlier cached lookups."), File_0_does_not_exist_according_to_earlier_cached_lookups: b(6240, 3, "File_0_does_not_exist_according_to_earlier_cached_lookups_6240", "File '{0}' does not exist according to earlier cached lookups."), Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1: b(6241, 3, "Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241", "Resolution for type reference directive '{0}' was found in cache from location '{1}'."), Resolving_type_reference_directive_0_containing_file_1: b(6242, 3, "Resolving_type_reference_directive_0_containing_file_1_6242", "======== Resolving type reference directive '{0}', containing file '{1}'. ========"), Interpret_optional_property_types_as_written_rather_than_adding_undefined: b(6243, 3, "Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243", "Interpret optional property types as written, rather than adding 'undefined'."), Modules: b(6244, 3, "Modules_6244", "Modules"), File_Management: b(6245, 3, "File_Management_6245", "File Management"), Emit: b(6246, 3, "Emit_6246", "Emit"), JavaScript_Support: b(6247, 3, "JavaScript_Support_6247", "JavaScript Support"), Type_Checking: b(6248, 3, "Type_Checking_6248", "Type Checking"), Editor_Support: b(6249, 3, "Editor_Support_6249", "Editor Support"), Watch_and_Build_Modes: b(6250, 3, "Watch_and_Build_Modes_6250", "Watch and Build Modes"), Compiler_Diagnostics: b(6251, 3, "Compiler_Diagnostics_6251", "Compiler Diagnostics"), Interop_Constraints: b(6252, 3, "Interop_Constraints_6252", "Interop Constraints"), Backwards_Compatibility: b(6253, 3, "Backwards_Compatibility_6253", "Backwards Compatibility"), Language_and_Environment: b(6254, 3, "Language_and_Environment_6254", "Language and Environment"), Projects: b(6255, 3, "Projects_6255", "Projects"), Output_Formatting: b(6256, 3, "Output_Formatting_6256", "Output Formatting"), Completeness: b(6257, 3, "Completeness_6257", "Completeness"), _0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file: b(6258, 1, "_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258", "'{0}' should be set inside the 'compilerOptions' object of the config json file"), Found_1_error_in_1: b(6259, 3, "Found_1_error_in_1_6259", "Found 1 error in {1}"), Found_0_errors_in_the_same_file_starting_at_Colon_1: b(6260, 3, "Found_0_errors_in_the_same_file_starting_at_Colon_1_6260", "Found {0} errors in the same file, starting at: {1}"), Found_0_errors_in_1_files: b(6261, 3, "Found_0_errors_in_1_files_6261", "Found {0} errors in {1} files."), File_name_0_has_a_1_extension_looking_up_2_instead: b(6262, 3, "File_name_0_has_a_1_extension_looking_up_2_instead_6262", "File name '{0}' has a '{1}' extension - looking up '{2}' instead."), Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set: b(6263, 1, "Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263", "Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."), Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present: b(6264, 3, "Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264", "Enable importing files with any extension, provided a declaration file is present."), Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve: b(6270, 3, "Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270", "Directory '{0}' has no containing package.json scope. Imports will not resolve."), Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1: b(6271, 3, "Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271", "Import specifier '{0}' does not exist in package.json scope at path '{1}'."), Invalid_import_specifier_0_has_no_possible_resolutions: b(6272, 3, "Invalid_import_specifier_0_has_no_possible_resolutions_6272", "Invalid import specifier '{0}' has no possible resolutions."), package_json_scope_0_has_no_imports_defined: b(6273, 3, "package_json_scope_0_has_no_imports_defined_6273", "package.json scope '{0}' has no imports defined."), package_json_scope_0_explicitly_maps_specifier_1_to_null: b(6274, 3, "package_json_scope_0_explicitly_maps_specifier_1_to_null_6274", "package.json scope '{0}' explicitly maps specifier '{1}' to null."), package_json_scope_0_has_invalid_type_for_target_of_specifier_1: b(6275, 3, "package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275", "package.json scope '{0}' has invalid type for target of specifier '{1}'"), Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1: b(6276, 3, "Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276", "Export specifier '{0}' does not exist in package.json scope at path '{1}'."), Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update: b(6277, 3, "Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277", "Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."), There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings: b(6278, 3, "There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278", `There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`), Enable_project_compilation: b(6302, 3, "Enable_project_compilation_6302", "Enable project compilation"), Composite_projects_may_not_disable_declaration_emit: b(6304, 1, "Composite_projects_may_not_disable_declaration_emit_6304", "Composite projects may not disable declaration emit."), Output_file_0_has_not_been_built_from_source_file_1: b(6305, 1, "Output_file_0_has_not_been_built_from_source_file_1_6305", "Output file '{0}' has not been built from source file '{1}'."), Referenced_project_0_must_have_setting_composite_Colon_true: b(6306, 1, "Referenced_project_0_must_have_setting_composite_Colon_true_6306", `Referenced project '{0}' must have setting "composite": true.`), File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern: b(6307, 1, "File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307", "File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."), Cannot_prepend_project_0_because_it_does_not_have_outFile_set: b(6308, 1, "Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308", "Cannot prepend project '{0}' because it does not have 'outFile' set"), Output_file_0_from_project_1_does_not_exist: b(6309, 1, "Output_file_0_from_project_1_does_not_exist_6309", "Output file '{0}' from project '{1}' does not exist"), Referenced_project_0_may_not_disable_emit: b(6310, 1, "Referenced_project_0_may_not_disable_emit_6310", "Referenced project '{0}' may not disable emit."), Project_0_is_out_of_date_because_output_1_is_older_than_input_2: b(6350, 3, "Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350", "Project '{0}' is out of date because output '{1}' is older than input '{2}'"), Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2: b(6351, 3, "Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351", "Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"), Project_0_is_out_of_date_because_output_file_1_does_not_exist: b(6352, 3, "Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352", "Project '{0}' is out of date because output file '{1}' does not exist"), Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date: b(6353, 3, "Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353", "Project '{0}' is out of date because its dependency '{1}' is out of date"), Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies: b(6354, 3, "Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354", "Project '{0}' is up to date with .d.ts files from its dependencies"), Projects_in_this_build_Colon_0: b(6355, 3, "Projects_in_this_build_Colon_0_6355", "Projects in this build: {0}"), A_non_dry_build_would_delete_the_following_files_Colon_0: b(6356, 3, "A_non_dry_build_would_delete_the_following_files_Colon_0_6356", "A non-dry build would delete the following files: {0}"), A_non_dry_build_would_build_project_0: b(6357, 3, "A_non_dry_build_would_build_project_0_6357", "A non-dry build would build project '{0}'"), Building_project_0: b(6358, 3, "Building_project_0_6358", "Building project '{0}'..."), Updating_output_timestamps_of_project_0: b(6359, 3, "Updating_output_timestamps_of_project_0_6359", "Updating output timestamps of project '{0}'..."), Project_0_is_up_to_date: b(6361, 3, "Project_0_is_up_to_date_6361", "Project '{0}' is up to date"), Skipping_build_of_project_0_because_its_dependency_1_has_errors: b(6362, 3, "Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362", "Skipping build of project '{0}' because its dependency '{1}' has errors"), Project_0_can_t_be_built_because_its_dependency_1_has_errors: b(6363, 3, "Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363", "Project '{0}' can't be built because its dependency '{1}' has errors"), Build_one_or_more_projects_and_their_dependencies_if_out_of_date: b(6364, 3, "Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364", "Build one or more projects and their dependencies, if out of date"), Delete_the_outputs_of_all_projects: b(6365, 3, "Delete_the_outputs_of_all_projects_6365", "Delete the outputs of all projects."), Show_what_would_be_built_or_deleted_if_specified_with_clean: b(6367, 3, "Show_what_would_be_built_or_deleted_if_specified_with_clean_6367", "Show what would be built (or deleted, if specified with '--clean')"), Option_build_must_be_the_first_command_line_argument: b(6369, 1, "Option_build_must_be_the_first_command_line_argument_6369", "Option '--build' must be the first command line argument."), Options_0_and_1_cannot_be_combined: b(6370, 1, "Options_0_and_1_cannot_be_combined_6370", "Options '{0}' and '{1}' cannot be combined."), Updating_unchanged_output_timestamps_of_project_0: b(6371, 3, "Updating_unchanged_output_timestamps_of_project_0_6371", "Updating unchanged output timestamps of project '{0}'..."), Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed: b(6372, 3, "Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372", "Project '{0}' is out of date because output of its dependency '{1}' has changed"), Updating_output_of_project_0: b(6373, 3, "Updating_output_of_project_0_6373", "Updating output of project '{0}'..."), A_non_dry_build_would_update_timestamps_for_output_of_project_0: b(6374, 3, "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374", "A non-dry build would update timestamps for output of project '{0}'"), A_non_dry_build_would_update_output_of_project_0: b(6375, 3, "A_non_dry_build_would_update_output_of_project_0_6375", "A non-dry build would update output of project '{0}'"), Cannot_update_output_of_project_0_because_there_was_error_reading_file_1: b(6376, 3, "Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376", "Cannot update output of project '{0}' because there was error reading file '{1}'"), Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1: b(6377, 1, "Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377", "Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"), Composite_projects_may_not_disable_incremental_compilation: b(6379, 1, "Composite_projects_may_not_disable_incremental_compilation_6379", "Composite projects may not disable incremental compilation."), Specify_file_to_store_incremental_compilation_information: b(6380, 3, "Specify_file_to_store_incremental_compilation_information_6380", "Specify file to store incremental compilation information"), Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2: b(6381, 3, "Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381", "Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"), Skipping_build_of_project_0_because_its_dependency_1_was_not_built: b(6382, 3, "Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382", "Skipping build of project '{0}' because its dependency '{1}' was not built"), Project_0_can_t_be_built_because_its_dependency_1_was_not_built: b(6383, 3, "Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383", "Project '{0}' can't be built because its dependency '{1}' was not built"), Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: b(6384, 3, "Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384", "Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."), _0_is_deprecated: b(6385, 2, "_0_is_deprecated_6385", "'{0}' is deprecated.", void 0, void 0, !0), Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found: b(6386, 3, "Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386", "Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."), The_signature_0_of_1_is_deprecated: b(6387, 2, "The_signature_0_of_1_is_deprecated_6387", "The signature '{0}' of '{1}' is deprecated.", void 0, void 0, !0), Project_0_is_being_forcibly_rebuilt: b(6388, 3, "Project_0_is_being_forcibly_rebuilt_6388", "Project '{0}' is being forcibly rebuilt"), Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved: b(6389, 3, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389", "Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."), Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2: b(6390, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390", "Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."), Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3: b(6391, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391", "Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."), Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved: b(6392, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392", "Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."), Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3: b(6393, 3, "Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393", "Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."), Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4: b(6394, 3, "Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394", "Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."), Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved: b(6395, 3, "Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395", "Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."), Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3: b(6396, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."), Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4: b(6397, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."), Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved: b(6398, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."), Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted: b(6399, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399", "Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"), Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files: b(6400, 3, "Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400", "Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"), Project_0_is_out_of_date_because_there_was_error_reading_file_1: b(6401, 3, "Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401", "Project '{0}' is out of date because there was error reading file '{1}'"), Resolving_in_0_mode_with_conditions_1: b(6402, 3, "Resolving_in_0_mode_with_conditions_1_6402", "Resolving in {0} mode with conditions {1}."), Matched_0_condition_1: b(6403, 3, "Matched_0_condition_1_6403", "Matched '{0}' condition '{1}'."), Using_0_subpath_1_with_target_2: b(6404, 3, "Using_0_subpath_1_with_target_2_6404", "Using '{0}' subpath '{1}' with target '{2}'."), Saw_non_matching_condition_0: b(6405, 3, "Saw_non_matching_condition_0_6405", "Saw non-matching condition '{0}'."), Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions: b(6406, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406", "Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"), Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set: b(6407, 3, "Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407", "Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."), Use_the_package_json_exports_field_when_resolving_package_imports: b(6408, 3, "Use_the_package_json_exports_field_when_resolving_package_imports_6408", "Use the package.json 'exports' field when resolving package imports."), Use_the_package_json_imports_field_when_resolving_imports: b(6409, 3, "Use_the_package_json_imports_field_when_resolving_imports_6409", "Use the package.json 'imports' field when resolving imports."), Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports: b(6410, 3, "Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410", "Conditions to set in addition to the resolver-specific defaults when resolving imports."), true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false: b(6411, 3, "true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411", "`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."), Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more: b(6412, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412", "Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."), Entering_conditional_exports: b(6413, 3, "Entering_conditional_exports_6413", "Entering conditional exports."), Resolved_under_condition_0: b(6414, 3, "Resolved_under_condition_0_6414", "Resolved under condition '{0}'."), Failed_to_resolve_under_condition_0: b(6415, 3, "Failed_to_resolve_under_condition_0_6415", "Failed to resolve under condition '{0}'."), Exiting_conditional_exports: b(6416, 3, "Exiting_conditional_exports_6416", "Exiting conditional exports."), The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1: b(6500, 3, "The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500", "The expected type comes from property '{0}' which is declared here on type '{1}'"), The_expected_type_comes_from_this_index_signature: b(6501, 3, "The_expected_type_comes_from_this_index_signature_6501", "The expected type comes from this index signature."), The_expected_type_comes_from_the_return_type_of_this_signature: b(6502, 3, "The_expected_type_comes_from_the_return_type_of_this_signature_6502", "The expected type comes from the return type of this signature."), Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing: b(6503, 3, "Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503", "Print names of files that are part of the compilation and then stop processing."), File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option: b(6504, 1, "File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504", "File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"), Print_names_of_files_and_the_reason_they_are_part_of_the_compilation: b(6505, 3, "Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505", "Print names of files and the reason they are part of the compilation."), Consider_adding_a_declare_modifier_to_this_class: b(6506, 3, "Consider_adding_a_declare_modifier_to_this_class_6506", "Consider adding a 'declare' modifier to this class."), Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files: b(6600, 3, "Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600", "Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."), Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export: b(6601, 3, "Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601", "Allow 'import x from y' when a module doesn't have a default export."), Allow_accessing_UMD_globals_from_modules: b(6602, 3, "Allow_accessing_UMD_globals_from_modules_6602", "Allow accessing UMD globals from modules."), Disable_error_reporting_for_unreachable_code: b(6603, 3, "Disable_error_reporting_for_unreachable_code_6603", "Disable error reporting for unreachable code."), Disable_error_reporting_for_unused_labels: b(6604, 3, "Disable_error_reporting_for_unused_labels_6604", "Disable error reporting for unused labels."), Ensure_use_strict_is_always_emitted: b(6605, 3, "Ensure_use_strict_is_always_emitted_6605", "Ensure 'use strict' is always emitted."), Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: b(6606, 3, "Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606", "Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."), Specify_the_base_directory_to_resolve_non_relative_module_names: b(6607, 3, "Specify_the_base_directory_to_resolve_non_relative_module_names_6607", "Specify the base directory to resolve non-relative module names."), No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files: b(6608, 3, "No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608", "No longer supported. In early versions, manually set the text encoding for reading files."), Enable_error_reporting_in_type_checked_JavaScript_files: b(6609, 3, "Enable_error_reporting_in_type_checked_JavaScript_files_6609", "Enable error reporting in type-checked JavaScript files."), Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references: b(6611, 3, "Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611", "Enable constraints that allow a TypeScript project to be used with project references."), Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project: b(6612, 3, "Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612", "Generate .d.ts files from TypeScript and JavaScript files in your project."), Specify_the_output_directory_for_generated_declaration_files: b(6613, 3, "Specify_the_output_directory_for_generated_declaration_files_6613", "Specify the output directory for generated declaration files."), Create_sourcemaps_for_d_ts_files: b(6614, 3, "Create_sourcemaps_for_d_ts_files_6614", "Create sourcemaps for d.ts files."), Output_compiler_performance_information_after_building: b(6615, 3, "Output_compiler_performance_information_after_building_6615", "Output compiler performance information after building."), Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project: b(6616, 3, "Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616", "Disables inference for type acquisition by looking at filenames in a project."), Reduce_the_number_of_projects_loaded_automatically_by_TypeScript: b(6617, 3, "Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617", "Reduce the number of projects loaded automatically by TypeScript."), Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server: b(6618, 3, "Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618", "Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."), Opt_a_project_out_of_multi_project_reference_checking_when_editing: b(6619, 3, "Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619", "Opt a project out of multi-project reference checking when editing."), Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects: b(6620, 3, "Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620", "Disable preferring source files instead of declaration files when referencing composite projects."), Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration: b(6621, 3, "Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621", "Emit more compliant, but verbose and less performant JavaScript for iteration."), Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files: b(6622, 3, "Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622", "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."), Only_output_d_ts_files_and_not_JavaScript_files: b(6623, 3, "Only_output_d_ts_files_and_not_JavaScript_files_6623", "Only output d.ts files and not JavaScript files."), Emit_design_type_metadata_for_decorated_declarations_in_source_files: b(6624, 3, "Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624", "Emit design-type metadata for decorated declarations in source files."), Disable_the_type_acquisition_for_JavaScript_projects: b(6625, 3, "Disable_the_type_acquisition_for_JavaScript_projects_6625", "Disable the type acquisition for JavaScript projects"), Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility: b(6626, 3, "Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626", "Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."), Filters_results_from_the_include_option: b(6627, 3, "Filters_results_from_the_include_option_6627", "Filters results from the `include` option."), Remove_a_list_of_directories_from_the_watch_process: b(6628, 3, "Remove_a_list_of_directories_from_the_watch_process_6628", "Remove a list of directories from the watch process."), Remove_a_list_of_files_from_the_watch_mode_s_processing: b(6629, 3, "Remove_a_list_of_files_from_the_watch_mode_s_processing_6629", "Remove a list of files from the watch mode's processing."), Enable_experimental_support_for_legacy_experimental_decorators: b(6630, 3, "Enable_experimental_support_for_legacy_experimental_decorators_6630", "Enable experimental support for legacy experimental decorators."), Print_files_read_during_the_compilation_including_why_it_was_included: b(6631, 3, "Print_files_read_during_the_compilation_including_why_it_was_included_6631", "Print files read during the compilation including why it was included."), Output_more_detailed_compiler_performance_information_after_building: b(6632, 3, "Output_more_detailed_compiler_performance_information_after_building_6632", "Output more detailed compiler performance information after building."), Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited: b(6633, 3, "Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633", "Specify one or more path or node module references to base configuration files from which settings are inherited."), Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers: b(6634, 3, "Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634", "Specify what approach the watcher should use if the system runs out of native file watchers."), Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include: b(6635, 3, "Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635", "Include a list of files. This does not support glob patterns, as opposed to `include`."), Build_all_projects_including_those_that_appear_to_be_up_to_date: b(6636, 3, "Build_all_projects_including_those_that_appear_to_be_up_to_date_6636", "Build all projects, including those that appear to be up to date."), Ensure_that_casing_is_correct_in_imports: b(6637, 3, "Ensure_that_casing_is_correct_in_imports_6637", "Ensure that casing is correct in imports."), Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging: b(6638, 3, "Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638", "Emit a v8 CPU profile of the compiler run for debugging."), Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file: b(6639, 3, "Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639", "Allow importing helper functions from tslib once per project, instead of including them per-file."), Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation: b(6641, 3, "Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641", "Specify a list of glob patterns that match files to be included in compilation."), Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects: b(6642, 3, "Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642", "Save .tsbuildinfo files to allow for incremental compilation of projects."), Include_sourcemap_files_inside_the_emitted_JavaScript: b(6643, 3, "Include_sourcemap_files_inside_the_emitted_JavaScript_6643", "Include sourcemap files inside the emitted JavaScript."), Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript: b(6644, 3, "Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644", "Include source code in the sourcemaps inside the emitted JavaScript."), Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports: b(6645, 3, "Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645", "Ensure that each file can be safely transpiled without relying on other imports."), Specify_what_JSX_code_is_generated: b(6646, 3, "Specify_what_JSX_code_is_generated_6646", "Specify what JSX code is generated."), Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h: b(6647, 3, "Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647", "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."), Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment: b(6648, 3, "Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648", "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."), Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk: b(6649, 3, "Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649", "Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."), Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option: b(6650, 3, "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650", "Make keyof only return strings instead of string, numbers or symbols. Legacy option."), Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment: b(6651, 3, "Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651", "Specify a set of bundled library declaration files that describe the target runtime environment."), Print_the_names_of_emitted_files_after_a_compilation: b(6652, 3, "Print_the_names_of_emitted_files_after_a_compilation_6652", "Print the names of emitted files after a compilation."), Print_all_of_the_files_read_during_the_compilation: b(6653, 3, "Print_all_of_the_files_read_during_the_compilation_6653", "Print all of the files read during the compilation."), Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit: b(6654, 3, "Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654", "Set the language of the messaging from TypeScript. This does not affect emit."), Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: b(6655, 3, "Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655", "Specify the location where debugger should locate map files instead of generated locations."), Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs: b(6656, 3, "Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656", "Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."), Specify_what_module_code_is_generated: b(6657, 3, "Specify_what_module_code_is_generated_6657", "Specify what module code is generated."), Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier: b(6658, 3, "Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658", "Specify how TypeScript looks up a file from a given module specifier."), Set_the_newline_character_for_emitting_files: b(6659, 3, "Set_the_newline_character_for_emitting_files_6659", "Set the newline character for emitting files."), Disable_emitting_files_from_a_compilation: b(6660, 3, "Disable_emitting_files_from_a_compilation_6660", "Disable emitting files from a compilation."), Disable_generating_custom_helper_functions_like_extends_in_compiled_output: b(6661, 3, "Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661", "Disable generating custom helper functions like '__extends' in compiled output."), Disable_emitting_files_if_any_type_checking_errors_are_reported: b(6662, 3, "Disable_emitting_files_if_any_type_checking_errors_are_reported_6662", "Disable emitting files if any type checking errors are reported."), Disable_truncating_types_in_error_messages: b(6663, 3, "Disable_truncating_types_in_error_messages_6663", "Disable truncating types in error messages."), Enable_error_reporting_for_fallthrough_cases_in_switch_statements: b(6664, 3, "Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664", "Enable error reporting for fallthrough cases in switch statements."), Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type: b(6665, 3, "Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665", "Enable error reporting for expressions and declarations with an implied 'any' type."), Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier: b(6666, 3, "Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666", "Ensure overriding members in derived classes are marked with an override modifier."), Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function: b(6667, 3, "Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667", "Enable error reporting for codepaths that do not explicitly return in a function."), Enable_error_reporting_when_this_is_given_the_type_any: b(6668, 3, "Enable_error_reporting_when_this_is_given_the_type_any_6668", "Enable error reporting when 'this' is given the type 'any'."), Disable_adding_use_strict_directives_in_emitted_JavaScript_files: b(6669, 3, "Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669", "Disable adding 'use strict' directives in emitted JavaScript files."), Disable_including_any_library_files_including_the_default_lib_d_ts: b(6670, 3, "Disable_including_any_library_files_including_the_default_lib_d_ts_6670", "Disable including any library files, including the default lib.d.ts."), Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type: b(6671, 3, "Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671", "Enforces using indexed accessors for keys declared using an indexed type."), Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project: b(6672, 3, "Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672", "Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project."), Disable_strict_checking_of_generic_signatures_in_function_types: b(6673, 3, "Disable_strict_checking_of_generic_signatures_in_function_types_6673", "Disable strict checking of generic signatures in function types."), Add_undefined_to_a_type_when_accessed_using_an_index: b(6674, 3, "Add_undefined_to_a_type_when_accessed_using_an_index_6674", "Add 'undefined' to a type when accessed using an index."), Enable_error_reporting_when_local_variables_aren_t_read: b(6675, 3, "Enable_error_reporting_when_local_variables_aren_t_read_6675", "Enable error reporting when local variables aren't read."), Raise_an_error_when_a_function_parameter_isn_t_read: b(6676, 3, "Raise_an_error_when_a_function_parameter_isn_t_read_6676", "Raise an error when a function parameter isn't read."), Deprecated_setting_Use_outFile_instead: b(6677, 3, "Deprecated_setting_Use_outFile_instead_6677", "Deprecated setting. Use 'outFile' instead."), Specify_an_output_folder_for_all_emitted_files: b(6678, 3, "Specify_an_output_folder_for_all_emitted_files_6678", "Specify an output folder for all emitted files."), Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output: b(6679, 3, "Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679", "Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."), Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations: b(6680, 3, "Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680", "Specify a set of entries that re-map imports to additional lookup locations."), Specify_a_list_of_language_service_plugins_to_include: b(6681, 3, "Specify_a_list_of_language_service_plugins_to_include_6681", "Specify a list of language service plugins to include."), Disable_erasing_const_enum_declarations_in_generated_code: b(6682, 3, "Disable_erasing_const_enum_declarations_in_generated_code_6682", "Disable erasing 'const enum' declarations in generated code."), Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node: b(6683, 3, "Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683", "Disable resolving symlinks to their realpath. This correlates to the same flag in node."), Disable_wiping_the_console_in_watch_mode: b(6684, 3, "Disable_wiping_the_console_in_watch_mode_6684", "Disable wiping the console in watch mode."), Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read: b(6685, 3, "Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685", "Enable color and formatting in TypeScript's output to make compiler errors easier to read."), Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit: b(6686, 3, "Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686", "Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."), Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references: b(6687, 3, "Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687", "Specify an array of objects that specify paths for projects. Used in project references."), Disable_emitting_comments: b(6688, 3, "Disable_emitting_comments_6688", "Disable emitting comments."), Enable_importing_json_files: b(6689, 3, "Enable_importing_json_files_6689", "Enable importing .json files."), Specify_the_root_folder_within_your_source_files: b(6690, 3, "Specify_the_root_folder_within_your_source_files_6690", "Specify the root folder within your source files."), Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules: b(6691, 3, "Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691", "Allow multiple folders to be treated as one when resolving modules."), Skip_type_checking_d_ts_files_that_are_included_with_TypeScript: b(6692, 3, "Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692", "Skip type checking .d.ts files that are included with TypeScript."), Skip_type_checking_all_d_ts_files: b(6693, 3, "Skip_type_checking_all_d_ts_files_6693", "Skip type checking all .d.ts files."), Create_source_map_files_for_emitted_JavaScript_files: b(6694, 3, "Create_source_map_files_for_emitted_JavaScript_files_6694", "Create source map files for emitted JavaScript files."), Specify_the_root_path_for_debuggers_to_find_the_reference_source_code: b(6695, 3, "Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695", "Specify the root path for debuggers to find the reference source code."), Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function: b(6697, 3, "Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697", "Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."), When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible: b(6698, 3, "When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698", "When assigning functions, check to ensure parameters and the return values are subtype-compatible."), When_type_checking_take_into_account_null_and_undefined: b(6699, 3, "When_type_checking_take_into_account_null_and_undefined_6699", "When type checking, take into account 'null' and 'undefined'."), Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor: b(6700, 3, "Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700", "Check for class properties that are declared but not set in the constructor."), Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments: b(6701, 3, "Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701", "Disable emitting declarations that have '@internal' in their JSDoc comments."), Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals: b(6702, 3, "Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702", "Disable reporting of excess property errors during the creation of object literals."), Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures: b(6703, 3, "Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703", "Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."), Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively: b(6704, 3, "Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704", "Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."), Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations: b(6705, 3, "Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705", "Set the JavaScript language version for emitted JavaScript and include compatible library declarations."), Log_paths_used_during_the_moduleResolution_process: b(6706, 3, "Log_paths_used_during_the_moduleResolution_process_6706", "Log paths used during the 'moduleResolution' process."), Specify_the_path_to_tsbuildinfo_incremental_compilation_file: b(6707, 3, "Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707", "Specify the path to .tsbuildinfo incremental compilation file."), Specify_options_for_automatic_acquisition_of_declaration_files: b(6709, 3, "Specify_options_for_automatic_acquisition_of_declaration_files_6709", "Specify options for automatic acquisition of declaration files."), Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types: b(6710, 3, "Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710", "Specify multiple folders that act like './node_modules/@types'."), Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file: b(6711, 3, "Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711", "Specify type package names to be included without being referenced in a source file."), Emit_ECMAScript_standard_compliant_class_fields: b(6712, 3, "Emit_ECMAScript_standard_compliant_class_fields_6712", "Emit ECMAScript-standard-compliant class fields."), Enable_verbose_logging: b(6713, 3, "Enable_verbose_logging_6713", "Enable verbose logging."), Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality: b(6714, 3, "Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714", "Specify how directories are watched on systems that lack recursive file-watching functionality."), Specify_how_the_TypeScript_watch_mode_works: b(6715, 3, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: b(6717, 3, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: b(6718, 3, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), Default_catch_clause_variables_as_unknown_instead_of_any: b(6803, 3, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting: b(6804, 3, "Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804", "Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."), one_of_Colon: b(6900, 3, "one_of_Colon_6900", "one of:"), one_or_more_Colon: b(6901, 3, "one_or_more_Colon_6901", "one or more:"), type_Colon: b(6902, 3, "type_Colon_6902", "type:"), default_Colon: b(6903, 3, "default_Colon_6903", "default:"), module_system_or_esModuleInterop: b(6904, 3, "module_system_or_esModuleInterop_6904", 'module === "system" or esModuleInterop'), false_unless_strict_is_set: b(6905, 3, "false_unless_strict_is_set_6905", "`false`, unless `strict` is set"), false_unless_composite_is_set: b(6906, 3, "false_unless_composite_is_set_6906", "`false`, unless `composite` is set"), node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified: b(6907, 3, "node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907", '`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'), if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk: b(6908, 3, "if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908", '`[]` if `files` is specified, otherwise `["**/*"]`'), true_if_composite_false_otherwise: b(6909, 3, "true_if_composite_false_otherwise_6909", "`true` if `composite`, `false` otherwise"), module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node: b(69010, 3, "module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010", "module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"), Computed_from_the_list_of_input_files: b(6911, 3, "Computed_from_the_list_of_input_files_6911", "Computed from the list of input files"), Platform_specific: b(6912, 3, "Platform_specific_6912", "Platform specific"), You_can_learn_about_all_of_the_compiler_options_at_0: b(6913, 3, "You_can_learn_about_all_of_the_compiler_options_at_0_6913", "You can learn about all of the compiler options at {0}"), Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon: b(6914, 3, "Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914", "Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"), Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0: b(6915, 3, "Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915", "Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"), COMMON_COMMANDS: b(6916, 3, "COMMON_COMMANDS_6916", "COMMON COMMANDS"), ALL_COMPILER_OPTIONS: b(6917, 3, "ALL_COMPILER_OPTIONS_6917", "ALL COMPILER OPTIONS"), WATCH_OPTIONS: b(6918, 3, "WATCH_OPTIONS_6918", "WATCH OPTIONS"), BUILD_OPTIONS: b(6919, 3, "BUILD_OPTIONS_6919", "BUILD OPTIONS"), COMMON_COMPILER_OPTIONS: b(6920, 3, "COMMON_COMPILER_OPTIONS_6920", "COMMON COMPILER OPTIONS"), COMMAND_LINE_FLAGS: b(6921, 3, "COMMAND_LINE_FLAGS_6921", "COMMAND LINE FLAGS"), tsc_Colon_The_TypeScript_Compiler: b(6922, 3, "tsc_Colon_The_TypeScript_Compiler_6922", "tsc: The TypeScript Compiler"), Compiles_the_current_project_tsconfig_json_in_the_working_directory: b(6923, 3, "Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923", "Compiles the current project (tsconfig.json in the working directory.)"), Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options: b(6924, 3, "Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924", "Ignoring tsconfig.json, compiles the specified files with default compiler options."), Build_a_composite_project_in_the_working_directory: b(6925, 3, "Build_a_composite_project_in_the_working_directory_6925", "Build a composite project in the working directory."), Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory: b(6926, 3, "Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926", "Creates a tsconfig.json with the recommended settings in the working directory."), Compiles_the_TypeScript_project_located_at_the_specified_path: b(6927, 3, "Compiles_the_TypeScript_project_located_at_the_specified_path_6927", "Compiles the TypeScript project located at the specified path."), An_expanded_version_of_this_information_showing_all_possible_compiler_options: b(6928, 3, "An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928", "An expanded version of this information, showing all possible compiler options"), Compiles_the_current_project_with_additional_settings: b(6929, 3, "Compiles_the_current_project_with_additional_settings_6929", "Compiles the current project, with additional settings."), true_for_ES2022_and_above_including_ESNext: b(6930, 3, "true_for_ES2022_and_above_including_ESNext_6930", "`true` for ES2022 and above, including ESNext."), List_of_file_name_suffixes_to_search_when_resolving_a_module: b(6931, 1, "List_of_file_name_suffixes_to_search_when_resolving_a_module_6931", "List of file name suffixes to search when resolving a module."), Variable_0_implicitly_has_an_1_type: b(7005, 1, "Variable_0_implicitly_has_an_1_type_7005", "Variable '{0}' implicitly has an '{1}' type."), Parameter_0_implicitly_has_an_1_type: b(7006, 1, "Parameter_0_implicitly_has_an_1_type_7006", "Parameter '{0}' implicitly has an '{1}' type."), Member_0_implicitly_has_an_1_type: b(7008, 1, "Member_0_implicitly_has_an_1_type_7008", "Member '{0}' implicitly has an '{1}' type."), new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type: b(7009, 1, "new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009", "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."), _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type: b(7010, 1, "_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010", "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."), Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: b(7011, 1, "Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011", "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."), This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation: b(7012, 1, "This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012", "This overload implicitly returns the type '{0}' because it lacks a return type annotation."), Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: b(7013, 1, "Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013", "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."), Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: b(7014, 1, "Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014", "Function type, which lacks return-type annotation, implicitly has an '{0}' return type."), Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number: b(7015, 1, "Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015", "Element implicitly has an 'any' type because index expression is not of type 'number'."), Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type: b(7016, 1, "Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016", "Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."), Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature: b(7017, 1, "Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017", "Element implicitly has an 'any' type because type '{0}' has no index signature."), Object_literal_s_property_0_implicitly_has_an_1_type: b(7018, 1, "Object_literal_s_property_0_implicitly_has_an_1_type_7018", "Object literal's property '{0}' implicitly has an '{1}' type."), Rest_parameter_0_implicitly_has_an_any_type: b(7019, 1, "Rest_parameter_0_implicitly_has_an_any_type_7019", "Rest parameter '{0}' implicitly has an 'any[]' type."), Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: b(7020, 1, "Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020", "Call signature, which lacks return-type annotation, implicitly has an 'any' return type."), _0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer: b(7022, 1, "_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022", "'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."), _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: b(7023, 1, "_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023", "'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: b(7024, 1, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation: b(7025, 1, "Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025", "Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: b(7026, 1, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), Unreachable_code_detected: b(7027, 1, "Unreachable_code_detected_7027", "Unreachable code detected.", !0), Unused_label: b(7028, 1, "Unused_label_7028", "Unused label.", !0), Fallthrough_case_in_switch: b(7029, 1, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: b(7030, 1, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), Binding_element_0_implicitly_has_an_1_type: b(7031, 1, "Binding_element_0_implicitly_has_an_1_type_7031", "Binding element '{0}' implicitly has an '{1}' type."), Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation: b(7032, 1, "Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032", "Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."), Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation: b(7033, 1, "Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033", "Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."), Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined: b(7034, 1, "Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034", "Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."), Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0: b(7035, 1, "Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035", "Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"), Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0: b(7036, 1, "Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036", "Dynamic import's specifier must be of type 'string', but here has type '{0}'."), Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports: b(7037, 3, "Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037", "Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."), Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead: b(7038, 3, "Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038", "Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."), Mapped_object_type_implicitly_has_an_any_template_type: b(7039, 1, "Mapped_object_type_implicitly_has_an_any_template_type_7039", "Mapped object type implicitly has an 'any' template type."), If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1: b(7040, 1, "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040", "If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"), The_containing_arrow_function_captures_the_global_value_of_this: b(7041, 1, "The_containing_arrow_function_captures_the_global_value_of_this_7041", "The containing arrow function captures the global value of 'this'."), Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used: b(7042, 1, "Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042", "Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."), Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage: b(7043, 2, "Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043", "Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."), Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage: b(7044, 2, "Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044", "Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."), Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage: b(7045, 2, "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045", "Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."), Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage: b(7046, 2, "Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046", "Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."), Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage: b(7047, 2, "Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047", "Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."), Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage: b(7048, 2, "Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048", "Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."), Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage: b(7049, 2, "Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049", "Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."), _0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage: b(7050, 2, "_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050", "'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."), Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1: b(7051, 1, "Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051", "Parameter has a name but no type. Did you mean '{0}: {1}'?"), Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1: b(7052, 1, "Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052", "Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"), Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1: b(7053, 1, "Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053", "Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."), No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1: b(7054, 1, "No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054", "No index signature with a parameter of type '{0}' was found on type '{1}'."), _0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type: b(7055, 1, "_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055", "'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."), The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed: b(7056, 1, "The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056", "The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."), yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation: b(7057, 1, "yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057", "'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."), If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1: b(7058, 1, "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058", "If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"), This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead: b(7059, 1, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059", "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."), This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint: b(7060, 1, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060", "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."), A_mapped_type_may_not_declare_properties_or_methods: b(7061, 1, "A_mapped_type_may_not_declare_properties_or_methods_7061", "A mapped type may not declare properties or methods."), You_cannot_rename_this_element: b(8e3, 1, "You_cannot_rename_this_element_8000", "You cannot rename this element."), You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library: b(8001, 1, "You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001", "You cannot rename elements that are defined in the standard TypeScript library."), import_can_only_be_used_in_TypeScript_files: b(8002, 1, "import_can_only_be_used_in_TypeScript_files_8002", "'import ... =' can only be used in TypeScript files."), export_can_only_be_used_in_TypeScript_files: b(8003, 1, "export_can_only_be_used_in_TypeScript_files_8003", "'export =' can only be used in TypeScript files."), Type_parameter_declarations_can_only_be_used_in_TypeScript_files: b(8004, 1, "Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004", "Type parameter declarations can only be used in TypeScript files."), implements_clauses_can_only_be_used_in_TypeScript_files: b(8005, 1, "implements_clauses_can_only_be_used_in_TypeScript_files_8005", "'implements' clauses can only be used in TypeScript files."), _0_declarations_can_only_be_used_in_TypeScript_files: b(8006, 1, "_0_declarations_can_only_be_used_in_TypeScript_files_8006", "'{0}' declarations can only be used in TypeScript files."), Type_aliases_can_only_be_used_in_TypeScript_files: b(8008, 1, "Type_aliases_can_only_be_used_in_TypeScript_files_8008", "Type aliases can only be used in TypeScript files."), The_0_modifier_can_only_be_used_in_TypeScript_files: b(8009, 1, "The_0_modifier_can_only_be_used_in_TypeScript_files_8009", "The '{0}' modifier can only be used in TypeScript files."), Type_annotations_can_only_be_used_in_TypeScript_files: b(8010, 1, "Type_annotations_can_only_be_used_in_TypeScript_files_8010", "Type annotations can only be used in TypeScript files."), Type_arguments_can_only_be_used_in_TypeScript_files: b(8011, 1, "Type_arguments_can_only_be_used_in_TypeScript_files_8011", "Type arguments can only be used in TypeScript files."), Parameter_modifiers_can_only_be_used_in_TypeScript_files: b(8012, 1, "Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012", "Parameter modifiers can only be used in TypeScript files."), Non_null_assertions_can_only_be_used_in_TypeScript_files: b(8013, 1, "Non_null_assertions_can_only_be_used_in_TypeScript_files_8013", "Non-null assertions can only be used in TypeScript files."), Type_assertion_expressions_can_only_be_used_in_TypeScript_files: b(8016, 1, "Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016", "Type assertion expressions can only be used in TypeScript files."), Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0: b(8017, 1, "Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017", "Octal literal types must use ES2015 syntax. Use the syntax '{0}'."), Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0: b(8018, 1, "Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018", "Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."), Report_errors_in_js_files: b(8019, 3, "Report_errors_in_js_files_8019", "Report errors in .js files."), JSDoc_types_can_only_be_used_inside_documentation_comments: b(8020, 1, "JSDoc_types_can_only_be_used_inside_documentation_comments_8020", "JSDoc types can only be used inside documentation comments."), JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags: b(8021, 1, "JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021", "JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."), JSDoc_0_is_not_attached_to_a_class: b(8022, 1, "JSDoc_0_is_not_attached_to_a_class_8022", "JSDoc '@{0}' is not attached to a class."), JSDoc_0_1_does_not_match_the_extends_2_clause: b(8023, 1, "JSDoc_0_1_does_not_match_the_extends_2_clause_8023", "JSDoc '@{0} {1}' does not match the 'extends {2}' clause."), JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name: b(8024, 1, "JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024", "JSDoc '@param' tag has name '{0}', but there is no parameter with that name."), Class_declarations_cannot_have_more_than_one_augments_or_extends_tag: b(8025, 1, "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025", "Class declarations cannot have more than one '@augments' or '@extends' tag."), Expected_0_type_arguments_provide_these_with_an_extends_tag: b(8026, 1, "Expected_0_type_arguments_provide_these_with_an_extends_tag_8026", "Expected {0} type arguments; provide these with an '@extends' tag."), Expected_0_1_type_arguments_provide_these_with_an_extends_tag: b(8027, 1, "Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027", "Expected {0}-{1} type arguments; provide these with an '@extends' tag."), JSDoc_may_only_appear_in_the_last_parameter_of_a_signature: b(8028, 1, "JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028", "JSDoc '...' may only appear in the last parameter of a signature."), JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type: b(8029, 1, "JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029", "JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."), The_type_of_a_function_declaration_must_match_the_function_s_signature: b(8030, 1, "The_type_of_a_function_declaration_must_match_the_function_s_signature_8030", "The type of a function declaration must match the function's signature."), You_cannot_rename_a_module_via_a_global_import: b(8031, 1, "You_cannot_rename_a_module_via_a_global_import_8031", "You cannot rename a module via a global import."), Qualified_name_0_is_not_allowed_without_a_leading_param_object_1: b(8032, 1, "Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032", "Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."), A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags: b(8033, 1, "A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033", "A JSDoc '@typedef' comment may not contain multiple '@type' tags."), The_tag_was_first_specified_here: b(8034, 1, "The_tag_was_first_specified_here_8034", "The tag was first specified here."), You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder: b(8035, 1, "You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035", "You cannot rename elements that are defined in a 'node_modules' folder."), You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder: b(8036, 1, "You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036", "You cannot rename elements that are defined in another 'node_modules' folder."), Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: b(8037, 1, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export: b(8038, 1, "Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038", "Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: b(9005, 1, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: b(9006, 1, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: b(17e3, 1, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), JSX_elements_cannot_have_multiple_attributes_with_the_same_name: b(17001, 1, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."), Expected_corresponding_JSX_closing_tag_for_0: b(17002, 1, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."), Cannot_use_JSX_unless_the_jsx_flag_is_provided: b(17004, 1, "Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004", "Cannot use JSX unless the '--jsx' flag is provided."), A_constructor_cannot_contain_a_super_call_when_its_class_extends_null: b(17005, 1, "A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005", "A constructor cannot contain a 'super' call when its class extends 'null'."), An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: b(17006, 1, "An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006", "An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."), A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: b(17007, 1, "A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007", "A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."), JSX_element_0_has_no_corresponding_closing_tag: b(17008, 1, "JSX_element_0_has_no_corresponding_closing_tag_17008", "JSX element '{0}' has no corresponding closing tag."), super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class: b(17009, 1, "super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009", "'super' must be called before accessing 'this' in the constructor of a derived class."), Unknown_type_acquisition_option_0: b(17010, 1, "Unknown_type_acquisition_option_0_17010", "Unknown type acquisition option '{0}'."), super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class: b(17011, 1, "super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011", "'super' must be called before accessing a property of 'super' in the constructor of a derived class."), _0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2: b(17012, 1, "_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012", "'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"), Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor: b(17013, 1, "Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013", "Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."), JSX_fragment_has_no_corresponding_closing_tag: b(17014, 1, "JSX_fragment_has_no_corresponding_closing_tag_17014", "JSX fragment has no corresponding closing tag."), Expected_corresponding_closing_tag_for_JSX_fragment: b(17015, 1, "Expected_corresponding_closing_tag_for_JSX_fragment_17015", "Expected corresponding closing tag for JSX fragment."), The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option: b(17016, 1, "The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016", "The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."), An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments: b(17017, 1, "An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017", "An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."), Unknown_type_acquisition_option_0_Did_you_mean_1: b(17018, 1, "Unknown_type_acquisition_option_0_Did_you_mean_1_17018", "Unknown type acquisition option '{0}'. Did you mean '{1}'?"), _0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1: b(17019, 1, "_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019", "'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"), _0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1: b(17020, 1, "_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020", "'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"), Circularity_detected_while_resolving_configuration_Colon_0: b(18e3, 1, "Circularity_detected_while_resolving_configuration_Colon_0_18000", "Circularity detected while resolving configuration: {0}"), The_files_list_in_config_file_0_is_empty: b(18002, 1, "The_files_list_in_config_file_0_is_empty_18002", "The 'files' list in config file '{0}' is empty."), No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2: b(18003, 1, "No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003", "No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."), File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module: b(80001, 2, "File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001", "File is a CommonJS module; it may be converted to an ES module."), This_constructor_function_may_be_converted_to_a_class_declaration: b(80002, 2, "This_constructor_function_may_be_converted_to_a_class_declaration_80002", "This constructor function may be converted to a class declaration."), Import_may_be_converted_to_a_default_import: b(80003, 2, "Import_may_be_converted_to_a_default_import_80003", "Import may be converted to a default import."), JSDoc_types_may_be_moved_to_TypeScript_types: b(80004, 2, "JSDoc_types_may_be_moved_to_TypeScript_types_80004", "JSDoc types may be moved to TypeScript types."), require_call_may_be_converted_to_an_import: b(80005, 2, "require_call_may_be_converted_to_an_import_80005", "'require' call may be converted to an import."), This_may_be_converted_to_an_async_function: b(80006, 2, "This_may_be_converted_to_an_async_function_80006", "This may be converted to an async function."), await_has_no_effect_on_the_type_of_this_expression: b(80007, 2, "await_has_no_effect_on_the_type_of_this_expression_80007", "'await' has no effect on the type of this expression."), Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers: b(80008, 2, "Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008", "Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."), Add_missing_super_call: b(90001, 3, "Add_missing_super_call_90001", "Add missing 'super()' call"), Make_super_call_the_first_statement_in_the_constructor: b(90002, 3, "Make_super_call_the_first_statement_in_the_constructor_90002", "Make 'super()' call the first statement in the constructor"), Change_extends_to_implements: b(90003, 3, "Change_extends_to_implements_90003", "Change 'extends' to 'implements'"), Remove_unused_declaration_for_Colon_0: b(90004, 3, "Remove_unused_declaration_for_Colon_0_90004", "Remove unused declaration for: '{0}'"), Remove_import_from_0: b(90005, 3, "Remove_import_from_0_90005", "Remove import from '{0}'"), Implement_interface_0: b(90006, 3, "Implement_interface_0_90006", "Implement interface '{0}'"), Implement_inherited_abstract_class: b(90007, 3, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: b(90008, 3, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_variable_statement: b(90010, 3, "Remove_variable_statement_90010", "Remove variable statement"), Remove_template_tag: b(90011, 3, "Remove_template_tag_90011", "Remove template tag"), Remove_type_parameters: b(90012, 3, "Remove_type_parameters_90012", "Remove type parameters"), Import_0_from_1: b(90013, 3, "Import_0_from_1_90013", `Import '{0}' from "{1}"`), Change_0_to_1: b(90014, 3, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Declare_property_0: b(90016, 3, "Declare_property_0_90016", "Declare property '{0}'"), Add_index_signature_for_property_0: b(90017, 3, "Add_index_signature_for_property_0_90017", "Add index signature for property '{0}'"), Disable_checking_for_this_file: b(90018, 3, "Disable_checking_for_this_file_90018", "Disable checking for this file"), Ignore_this_error_message: b(90019, 3, "Ignore_this_error_message_90019", "Ignore this error message"), Initialize_property_0_in_the_constructor: b(90020, 3, "Initialize_property_0_in_the_constructor_90020", "Initialize property '{0}' in the constructor"), Initialize_static_property_0: b(90021, 3, "Initialize_static_property_0_90021", "Initialize static property '{0}'"), Change_spelling_to_0: b(90022, 3, "Change_spelling_to_0_90022", "Change spelling to '{0}'"), Declare_method_0: b(90023, 3, "Declare_method_0_90023", "Declare method '{0}'"), Declare_static_method_0: b(90024, 3, "Declare_static_method_0_90024", "Declare static method '{0}'"), Prefix_0_with_an_underscore: b(90025, 3, "Prefix_0_with_an_underscore_90025", "Prefix '{0}' with an underscore"), Rewrite_as_the_indexed_access_type_0: b(90026, 3, "Rewrite_as_the_indexed_access_type_0_90026", "Rewrite as the indexed access type '{0}'"), Declare_static_property_0: b(90027, 3, "Declare_static_property_0_90027", "Declare static property '{0}'"), Call_decorator_expression: b(90028, 3, "Call_decorator_expression_90028", "Call decorator expression"), Add_async_modifier_to_containing_function: b(90029, 3, "Add_async_modifier_to_containing_function_90029", "Add async modifier to containing function"), Replace_infer_0_with_unknown: b(90030, 3, "Replace_infer_0_with_unknown_90030", "Replace 'infer {0}' with 'unknown'"), Replace_all_unused_infer_with_unknown: b(90031, 3, "Replace_all_unused_infer_with_unknown_90031", "Replace all unused 'infer' with 'unknown'"), Add_parameter_name: b(90034, 3, "Add_parameter_name_90034", "Add parameter name"), Declare_private_property_0: b(90035, 3, "Declare_private_property_0_90035", "Declare private property '{0}'"), Replace_0_with_Promise_1: b(90036, 3, "Replace_0_with_Promise_1_90036", "Replace '{0}' with 'Promise<{1}>'"), Fix_all_incorrect_return_type_of_an_async_functions: b(90037, 3, "Fix_all_incorrect_return_type_of_an_async_functions_90037", "Fix all incorrect return type of an async functions"), Declare_private_method_0: b(90038, 3, "Declare_private_method_0_90038", "Declare private method '{0}'"), Remove_unused_destructuring_declaration: b(90039, 3, "Remove_unused_destructuring_declaration_90039", "Remove unused destructuring declaration"), Remove_unused_declarations_for_Colon_0: b(90041, 3, "Remove_unused_declarations_for_Colon_0_90041", "Remove unused declarations for: '{0}'"), Declare_a_private_field_named_0: b(90053, 3, "Declare_a_private_field_named_0_90053", "Declare a private field named '{0}'."), Includes_imports_of_types_referenced_by_0: b(90054, 3, "Includes_imports_of_types_referenced_by_0_90054", "Includes imports of types referenced by '{0}'"), Remove_type_from_import_declaration_from_0: b(90055, 3, "Remove_type_from_import_declaration_from_0_90055", `Remove 'type' from import declaration from "{0}"`), Remove_type_from_import_of_0_from_1: b(90056, 3, "Remove_type_from_import_of_0_from_1_90056", `Remove 'type' from import of '{0}' from "{1}"`), Add_import_from_0: b(90057, 3, "Add_import_from_0_90057", 'Add import from "{0}"'), Update_import_from_0: b(90058, 3, "Update_import_from_0_90058", 'Update import from "{0}"'), Export_0_from_module_1: b(90059, 3, "Export_0_from_module_1_90059", "Export '{0}' from module '{1}'"), Export_all_referenced_locals: b(90060, 3, "Export_all_referenced_locals_90060", "Export all referenced locals"), Convert_function_to_an_ES2015_class: b(95001, 3, "Convert_function_to_an_ES2015_class_95001", "Convert function to an ES2015 class"), Convert_0_to_1_in_0: b(95003, 3, "Convert_0_to_1_in_0_95003", "Convert '{0}' to '{1} in {0}'"), Extract_to_0_in_1: b(95004, 3, "Extract_to_0_in_1_95004", "Extract to {0} in {1}"), Extract_function: b(95005, 3, "Extract_function_95005", "Extract function"), Extract_constant: b(95006, 3, "Extract_constant_95006", "Extract constant"), Extract_to_0_in_enclosing_scope: b(95007, 3, "Extract_to_0_in_enclosing_scope_95007", "Extract to {0} in enclosing scope"), Extract_to_0_in_1_scope: b(95008, 3, "Extract_to_0_in_1_scope_95008", "Extract to {0} in {1} scope"), Annotate_with_type_from_JSDoc: b(95009, 3, "Annotate_with_type_from_JSDoc_95009", "Annotate with type from JSDoc"), Infer_type_of_0_from_usage: b(95011, 3, "Infer_type_of_0_from_usage_95011", "Infer type of '{0}' from usage"), Infer_parameter_types_from_usage: b(95012, 3, "Infer_parameter_types_from_usage_95012", "Infer parameter types from usage"), Convert_to_default_import: b(95013, 3, "Convert_to_default_import_95013", "Convert to default import"), Install_0: b(95014, 3, "Install_0_95014", "Install '{0}'"), Replace_import_with_0: b(95015, 3, "Replace_import_with_0_95015", "Replace import with '{0}'."), Use_synthetic_default_member: b(95016, 3, "Use_synthetic_default_member_95016", "Use synthetic 'default' member."), Convert_to_ES_module: b(95017, 3, "Convert_to_ES_module_95017", "Convert to ES module"), Add_undefined_type_to_property_0: b(95018, 3, "Add_undefined_type_to_property_0_95018", "Add 'undefined' type to property '{0}'"), Add_initializer_to_property_0: b(95019, 3, "Add_initializer_to_property_0_95019", "Add initializer to property '{0}'"), Add_definite_assignment_assertion_to_property_0: b(95020, 3, "Add_definite_assignment_assertion_to_property_0_95020", "Add definite assignment assertion to property '{0}'"), Convert_all_type_literals_to_mapped_type: b(95021, 3, "Convert_all_type_literals_to_mapped_type_95021", "Convert all type literals to mapped type"), Add_all_missing_members: b(95022, 3, "Add_all_missing_members_95022", "Add all missing members"), Infer_all_types_from_usage: b(95023, 3, "Infer_all_types_from_usage_95023", "Infer all types from usage"), Delete_all_unused_declarations: b(95024, 3, "Delete_all_unused_declarations_95024", "Delete all unused declarations"), Prefix_all_unused_declarations_with_where_possible: b(95025, 3, "Prefix_all_unused_declarations_with_where_possible_95025", "Prefix all unused declarations with '_' where possible"), Fix_all_detected_spelling_errors: b(95026, 3, "Fix_all_detected_spelling_errors_95026", "Fix all detected spelling errors"), Add_initializers_to_all_uninitialized_properties: b(95027, 3, "Add_initializers_to_all_uninitialized_properties_95027", "Add initializers to all uninitialized properties"), Add_definite_assignment_assertions_to_all_uninitialized_properties: b(95028, 3, "Add_definite_assignment_assertions_to_all_uninitialized_properties_95028", "Add definite assignment assertions to all uninitialized properties"), Add_undefined_type_to_all_uninitialized_properties: b(95029, 3, "Add_undefined_type_to_all_uninitialized_properties_95029", "Add undefined type to all uninitialized properties"), Change_all_jsdoc_style_types_to_TypeScript: b(95030, 3, "Change_all_jsdoc_style_types_to_TypeScript_95030", "Change all jsdoc-style types to TypeScript"), Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types: b(95031, 3, "Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031", "Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"), Implement_all_unimplemented_interfaces: b(95032, 3, "Implement_all_unimplemented_interfaces_95032", "Implement all unimplemented interfaces"), Install_all_missing_types_packages: b(95033, 3, "Install_all_missing_types_packages_95033", "Install all missing types packages"), Rewrite_all_as_indexed_access_types: b(95034, 3, "Rewrite_all_as_indexed_access_types_95034", "Rewrite all as indexed access types"), Convert_all_to_default_imports: b(95035, 3, "Convert_all_to_default_imports_95035", "Convert all to default imports"), Make_all_super_calls_the_first_statement_in_their_constructor: b(95036, 3, "Make_all_super_calls_the_first_statement_in_their_constructor_95036", "Make all 'super()' calls the first statement in their constructor"), Add_qualifier_to_all_unresolved_variables_matching_a_member_name: b(95037, 3, "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037", "Add qualifier to all unresolved variables matching a member name"), Change_all_extended_interfaces_to_implements: b(95038, 3, "Change_all_extended_interfaces_to_implements_95038", "Change all extended interfaces to 'implements'"), Add_all_missing_super_calls: b(95039, 3, "Add_all_missing_super_calls_95039", "Add all missing super calls"), Implement_all_inherited_abstract_classes: b(95040, 3, "Implement_all_inherited_abstract_classes_95040", "Implement all inherited abstract classes"), Add_all_missing_async_modifiers: b(95041, 3, "Add_all_missing_async_modifiers_95041", "Add all missing 'async' modifiers"), Add_ts_ignore_to_all_error_messages: b(95042, 3, "Add_ts_ignore_to_all_error_messages_95042", "Add '@ts-ignore' to all error messages"), Annotate_everything_with_types_from_JSDoc: b(95043, 3, "Annotate_everything_with_types_from_JSDoc_95043", "Annotate everything with types from JSDoc"), Add_to_all_uncalled_decorators: b(95044, 3, "Add_to_all_uncalled_decorators_95044", "Add '()' to all uncalled decorators"), Convert_all_constructor_functions_to_classes: b(95045, 3, "Convert_all_constructor_functions_to_classes_95045", "Convert all constructor functions to classes"), Generate_get_and_set_accessors: b(95046, 3, "Generate_get_and_set_accessors_95046", "Generate 'get' and 'set' accessors"), Convert_require_to_import: b(95047, 3, "Convert_require_to_import_95047", "Convert 'require' to 'import'"), Convert_all_require_to_import: b(95048, 3, "Convert_all_require_to_import_95048", "Convert all 'require' to 'import'"), Move_to_a_new_file: b(95049, 3, "Move_to_a_new_file_95049", "Move to a new file"), Remove_unreachable_code: b(95050, 3, "Remove_unreachable_code_95050", "Remove unreachable code"), Remove_all_unreachable_code: b(95051, 3, "Remove_all_unreachable_code_95051", "Remove all unreachable code"), Add_missing_typeof: b(95052, 3, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: b(95053, 3, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: b(95054, 3, "Remove_all_unused_labels_95054", "Remove all unused labels"), Convert_0_to_mapped_object_type: b(95055, 3, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), Convert_namespace_import_to_named_imports: b(95056, 3, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), Convert_named_imports_to_namespace_import: b(95057, 3, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), Add_or_remove_braces_in_an_arrow_function: b(95058, 3, "Add_or_remove_braces_in_an_arrow_function_95058", "Add or remove braces in an arrow function"), Add_braces_to_arrow_function: b(95059, 3, "Add_braces_to_arrow_function_95059", "Add braces to arrow function"), Remove_braces_from_arrow_function: b(95060, 3, "Remove_braces_from_arrow_function_95060", "Remove braces from arrow function"), Convert_default_export_to_named_export: b(95061, 3, "Convert_default_export_to_named_export_95061", "Convert default export to named export"), Convert_named_export_to_default_export: b(95062, 3, "Convert_named_export_to_default_export_95062", "Convert named export to default export"), Add_missing_enum_member_0: b(95063, 3, "Add_missing_enum_member_0_95063", "Add missing enum member '{0}'"), Add_all_missing_imports: b(95064, 3, "Add_all_missing_imports_95064", "Add all missing imports"), Convert_to_async_function: b(95065, 3, "Convert_to_async_function_95065", "Convert to async function"), Convert_all_to_async_functions: b(95066, 3, "Convert_all_to_async_functions_95066", "Convert all to async functions"), Add_missing_call_parentheses: b(95067, 3, "Add_missing_call_parentheses_95067", "Add missing call parentheses"), Add_all_missing_call_parentheses: b(95068, 3, "Add_all_missing_call_parentheses_95068", "Add all missing call parentheses"), Add_unknown_conversion_for_non_overlapping_types: b(95069, 3, "Add_unknown_conversion_for_non_overlapping_types_95069", "Add 'unknown' conversion for non-overlapping types"), Add_unknown_to_all_conversions_of_non_overlapping_types: b(95070, 3, "Add_unknown_to_all_conversions_of_non_overlapping_types_95070", "Add 'unknown' to all conversions of non-overlapping types"), Add_missing_new_operator_to_call: b(95071, 3, "Add_missing_new_operator_to_call_95071", "Add missing 'new' operator to call"), Add_missing_new_operator_to_all_calls: b(95072, 3, "Add_missing_new_operator_to_all_calls_95072", "Add missing 'new' operator to all calls"), Add_names_to_all_parameters_without_names: b(95073, 3, "Add_names_to_all_parameters_without_names_95073", "Add names to all parameters without names"), Enable_the_experimentalDecorators_option_in_your_configuration_file: b(95074, 3, "Enable_the_experimentalDecorators_option_in_your_configuration_file_95074", "Enable the 'experimentalDecorators' option in your configuration file"), Convert_parameters_to_destructured_object: b(95075, 3, "Convert_parameters_to_destructured_object_95075", "Convert parameters to destructured object"), Extract_type: b(95077, 3, "Extract_type_95077", "Extract type"), Extract_to_type_alias: b(95078, 3, "Extract_to_type_alias_95078", "Extract to type alias"), Extract_to_typedef: b(95079, 3, "Extract_to_typedef_95079", "Extract to typedef"), Infer_this_type_of_0_from_usage: b(95080, 3, "Infer_this_type_of_0_from_usage_95080", "Infer 'this' type of '{0}' from usage"), Add_const_to_unresolved_variable: b(95081, 3, "Add_const_to_unresolved_variable_95081", "Add 'const' to unresolved variable"), Add_const_to_all_unresolved_variables: b(95082, 3, "Add_const_to_all_unresolved_variables_95082", "Add 'const' to all unresolved variables"), Add_await: b(95083, 3, "Add_await_95083", "Add 'await'"), Add_await_to_initializer_for_0: b(95084, 3, "Add_await_to_initializer_for_0_95084", "Add 'await' to initializer for '{0}'"), Fix_all_expressions_possibly_missing_await: b(95085, 3, "Fix_all_expressions_possibly_missing_await_95085", "Fix all expressions possibly missing 'await'"), Remove_unnecessary_await: b(95086, 3, "Remove_unnecessary_await_95086", "Remove unnecessary 'await'"), Remove_all_unnecessary_uses_of_await: b(95087, 3, "Remove_all_unnecessary_uses_of_await_95087", "Remove all unnecessary uses of 'await'"), Enable_the_jsx_flag_in_your_configuration_file: b(95088, 3, "Enable_the_jsx_flag_in_your_configuration_file_95088", "Enable the '--jsx' flag in your configuration file"), Add_await_to_initializers: b(95089, 3, "Add_await_to_initializers_95089", "Add 'await' to initializers"), Extract_to_interface: b(95090, 3, "Extract_to_interface_95090", "Extract to interface"), Convert_to_a_bigint_numeric_literal: b(95091, 3, "Convert_to_a_bigint_numeric_literal_95091", "Convert to a bigint numeric literal"), Convert_all_to_bigint_numeric_literals: b(95092, 3, "Convert_all_to_bigint_numeric_literals_95092", "Convert all to bigint numeric literals"), Convert_const_to_let: b(95093, 3, "Convert_const_to_let_95093", "Convert 'const' to 'let'"), Prefix_with_declare: b(95094, 3, "Prefix_with_declare_95094", "Prefix with 'declare'"), Prefix_all_incorrect_property_declarations_with_declare: b(95095, 3, "Prefix_all_incorrect_property_declarations_with_declare_95095", "Prefix all incorrect property declarations with 'declare'"), Convert_to_template_string: b(95096, 3, "Convert_to_template_string_95096", "Convert to template string"), Add_export_to_make_this_file_into_a_module: b(95097, 3, "Add_export_to_make_this_file_into_a_module_95097", "Add 'export {}' to make this file into a module"), Set_the_target_option_in_your_configuration_file_to_0: b(95098, 3, "Set_the_target_option_in_your_configuration_file_to_0_95098", "Set the 'target' option in your configuration file to '{0}'"), Set_the_module_option_in_your_configuration_file_to_0: b(95099, 3, "Set_the_module_option_in_your_configuration_file_to_0_95099", "Set the 'module' option in your configuration file to '{0}'"), Convert_invalid_character_to_its_html_entity_code: b(95100, 3, "Convert_invalid_character_to_its_html_entity_code_95100", "Convert invalid character to its html entity code"), Convert_all_invalid_characters_to_HTML_entity_code: b(95101, 3, "Convert_all_invalid_characters_to_HTML_entity_code_95101", "Convert all invalid characters to HTML entity code"), Convert_all_const_to_let: b(95102, 3, "Convert_all_const_to_let_95102", "Convert all 'const' to 'let'"), Convert_function_expression_0_to_arrow_function: b(95105, 3, "Convert_function_expression_0_to_arrow_function_95105", "Convert function expression '{0}' to arrow function"), Convert_function_declaration_0_to_arrow_function: b(95106, 3, "Convert_function_declaration_0_to_arrow_function_95106", "Convert function declaration '{0}' to arrow function"), Fix_all_implicit_this_errors: b(95107, 3, "Fix_all_implicit_this_errors_95107", "Fix all implicit-'this' errors"), Wrap_invalid_character_in_an_expression_container: b(95108, 3, "Wrap_invalid_character_in_an_expression_container_95108", "Wrap invalid character in an expression container"), Wrap_all_invalid_characters_in_an_expression_container: b(95109, 3, "Wrap_all_invalid_characters_in_an_expression_container_95109", "Wrap all invalid characters in an expression container"), Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file: b(95110, 3, "Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110", "Visit https://aka.ms/tsconfig to read more about this file"), Add_a_return_statement: b(95111, 3, "Add_a_return_statement_95111", "Add a return statement"), Remove_braces_from_arrow_function_body: b(95112, 3, "Remove_braces_from_arrow_function_body_95112", "Remove braces from arrow function body"), Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal: b(95113, 3, "Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113", "Wrap the following body with parentheses which should be an object literal"), Add_all_missing_return_statement: b(95114, 3, "Add_all_missing_return_statement_95114", "Add all missing return statement"), Remove_braces_from_all_arrow_function_bodies_with_relevant_issues: b(95115, 3, "Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115", "Remove braces from all arrow function bodies with relevant issues"), Wrap_all_object_literal_with_parentheses: b(95116, 3, "Wrap_all_object_literal_with_parentheses_95116", "Wrap all object literal with parentheses"), Move_labeled_tuple_element_modifiers_to_labels: b(95117, 3, "Move_labeled_tuple_element_modifiers_to_labels_95117", "Move labeled tuple element modifiers to labels"), Convert_overload_list_to_single_signature: b(95118, 3, "Convert_overload_list_to_single_signature_95118", "Convert overload list to single signature"), Generate_get_and_set_accessors_for_all_overriding_properties: b(95119, 3, "Generate_get_and_set_accessors_for_all_overriding_properties_95119", "Generate 'get' and 'set' accessors for all overriding properties"), Wrap_in_JSX_fragment: b(95120, 3, "Wrap_in_JSX_fragment_95120", "Wrap in JSX fragment"), Wrap_all_unparented_JSX_in_JSX_fragment: b(95121, 3, "Wrap_all_unparented_JSX_in_JSX_fragment_95121", "Wrap all unparented JSX in JSX fragment"), Convert_arrow_function_or_function_expression: b(95122, 3, "Convert_arrow_function_or_function_expression_95122", "Convert arrow function or function expression"), Convert_to_anonymous_function: b(95123, 3, "Convert_to_anonymous_function_95123", "Convert to anonymous function"), Convert_to_named_function: b(95124, 3, "Convert_to_named_function_95124", "Convert to named function"), Convert_to_arrow_function: b(95125, 3, "Convert_to_arrow_function_95125", "Convert to arrow function"), Remove_parentheses: b(95126, 3, "Remove_parentheses_95126", "Remove parentheses"), Could_not_find_a_containing_arrow_function: b(95127, 3, "Could_not_find_a_containing_arrow_function_95127", "Could not find a containing arrow function"), Containing_function_is_not_an_arrow_function: b(95128, 3, "Containing_function_is_not_an_arrow_function_95128", "Containing function is not an arrow function"), Could_not_find_export_statement: b(95129, 3, "Could_not_find_export_statement_95129", "Could not find export statement"), This_file_already_has_a_default_export: b(95130, 3, "This_file_already_has_a_default_export_95130", "This file already has a default export"), Could_not_find_import_clause: b(95131, 3, "Could_not_find_import_clause_95131", "Could not find import clause"), Could_not_find_namespace_import_or_named_imports: b(95132, 3, "Could_not_find_namespace_import_or_named_imports_95132", "Could not find namespace import or named imports"), Selection_is_not_a_valid_type_node: b(95133, 3, "Selection_is_not_a_valid_type_node_95133", "Selection is not a valid type node"), No_type_could_be_extracted_from_this_type_node: b(95134, 3, "No_type_could_be_extracted_from_this_type_node_95134", "No type could be extracted from this type node"), Could_not_find_property_for_which_to_generate_accessor: b(95135, 3, "Could_not_find_property_for_which_to_generate_accessor_95135", "Could not find property for which to generate accessor"), Name_is_not_valid: b(95136, 3, "Name_is_not_valid_95136", "Name is not valid"), Can_only_convert_property_with_modifier: b(95137, 3, "Can_only_convert_property_with_modifier_95137", "Can only convert property with modifier"), Switch_each_misused_0_to_1: b(95138, 3, "Switch_each_misused_0_to_1_95138", "Switch each misused '{0}' to '{1}'"), Convert_to_optional_chain_expression: b(95139, 3, "Convert_to_optional_chain_expression_95139", "Convert to optional chain expression"), Could_not_find_convertible_access_expression: b(95140, 3, "Could_not_find_convertible_access_expression_95140", "Could not find convertible access expression"), Could_not_find_matching_access_expressions: b(95141, 3, "Could_not_find_matching_access_expressions_95141", "Could not find matching access expressions"), Can_only_convert_logical_AND_access_chains: b(95142, 3, "Can_only_convert_logical_AND_access_chains_95142", "Can only convert logical AND access chains"), Add_void_to_Promise_resolved_without_a_value: b(95143, 3, "Add_void_to_Promise_resolved_without_a_value_95143", "Add 'void' to Promise resolved without a value"), Add_void_to_all_Promises_resolved_without_a_value: b(95144, 3, "Add_void_to_all_Promises_resolved_without_a_value_95144", "Add 'void' to all Promises resolved without a value"), Use_element_access_for_0: b(95145, 3, "Use_element_access_for_0_95145", "Use element access for '{0}'"), Use_element_access_for_all_undeclared_properties: b(95146, 3, "Use_element_access_for_all_undeclared_properties_95146", "Use element access for all undeclared properties."), Delete_all_unused_imports: b(95147, 3, "Delete_all_unused_imports_95147", "Delete all unused imports"), Infer_function_return_type: b(95148, 3, "Infer_function_return_type_95148", "Infer function return type"), Return_type_must_be_inferred_from_a_function: b(95149, 3, "Return_type_must_be_inferred_from_a_function_95149", "Return type must be inferred from a function"), Could_not_determine_function_return_type: b(95150, 3, "Could_not_determine_function_return_type_95150", "Could not determine function return type"), Could_not_convert_to_arrow_function: b(95151, 3, "Could_not_convert_to_arrow_function_95151", "Could not convert to arrow function"), Could_not_convert_to_named_function: b(95152, 3, "Could_not_convert_to_named_function_95152", "Could not convert to named function"), Could_not_convert_to_anonymous_function: b(95153, 3, "Could_not_convert_to_anonymous_function_95153", "Could not convert to anonymous function"), Can_only_convert_string_concatenation: b(95154, 3, "Can_only_convert_string_concatenation_95154", "Can only convert string concatenation"), Selection_is_not_a_valid_statement_or_statements: b(95155, 3, "Selection_is_not_a_valid_statement_or_statements_95155", "Selection is not a valid statement or statements"), Add_missing_function_declaration_0: b(95156, 3, "Add_missing_function_declaration_0_95156", "Add missing function declaration '{0}'"), Add_all_missing_function_declarations: b(95157, 3, "Add_all_missing_function_declarations_95157", "Add all missing function declarations"), Method_not_implemented: b(95158, 3, "Method_not_implemented_95158", "Method not implemented."), Function_not_implemented: b(95159, 3, "Function_not_implemented_95159", "Function not implemented."), Add_override_modifier: b(95160, 3, "Add_override_modifier_95160", "Add 'override' modifier"), Remove_override_modifier: b(95161, 3, "Remove_override_modifier_95161", "Remove 'override' modifier"), Add_all_missing_override_modifiers: b(95162, 3, "Add_all_missing_override_modifiers_95162", "Add all missing 'override' modifiers"), Remove_all_unnecessary_override_modifiers: b(95163, 3, "Remove_all_unnecessary_override_modifiers_95163", "Remove all unnecessary 'override' modifiers"), Can_only_convert_named_export: b(95164, 3, "Can_only_convert_named_export_95164", "Can only convert named export"), Add_missing_properties: b(95165, 3, "Add_missing_properties_95165", "Add missing properties"), Add_all_missing_properties: b(95166, 3, "Add_all_missing_properties_95166", "Add all missing properties"), Add_missing_attributes: b(95167, 3, "Add_missing_attributes_95167", "Add missing attributes"), Add_all_missing_attributes: b(95168, 3, "Add_all_missing_attributes_95168", "Add all missing attributes"), Add_undefined_to_optional_property_type: b(95169, 3, "Add_undefined_to_optional_property_type_95169", "Add 'undefined' to optional property type"), Convert_named_imports_to_default_import: b(95170, 3, "Convert_named_imports_to_default_import_95170", "Convert named imports to default import"), Delete_unused_param_tag_0: b(95171, 3, "Delete_unused_param_tag_0_95171", "Delete unused '@param' tag '{0}'"), Delete_all_unused_param_tags: b(95172, 3, "Delete_all_unused_param_tags_95172", "Delete all unused '@param' tags"), Rename_param_tag_name_0_to_1: b(95173, 3, "Rename_param_tag_name_0_to_1_95173", "Rename '@param' tag name '{0}' to '{1}'"), Use_0: b(95174, 3, "Use_0_95174", "Use `{0}`."), Use_Number_isNaN_in_all_conditions: b(95175, 3, "Use_Number_isNaN_in_all_conditions_95175", "Use `Number.isNaN` in all conditions."), No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: b(18004, 1, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."), Classes_may_not_have_a_field_named_constructor: b(18006, 1, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."), JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: b(18007, 1, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"), Private_identifiers_cannot_be_used_as_parameters: b(18009, 1, "Private_identifiers_cannot_be_used_as_parameters_18009", "Private identifiers cannot be used as parameters."), An_accessibility_modifier_cannot_be_used_with_a_private_identifier: b(18010, 1, "An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010", "An accessibility modifier cannot be used with a private identifier."), The_operand_of_a_delete_operator_cannot_be_a_private_identifier: b(18011, 1, "The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011", "The operand of a 'delete' operator cannot be a private identifier."), constructor_is_a_reserved_word: b(18012, 1, "constructor_is_a_reserved_word_18012", "'#constructor' is a reserved word."), Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier: b(18013, 1, "Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013", "Property '{0}' is not accessible outside class '{1}' because it has a private identifier."), The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling: b(18014, 1, "The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014", "The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."), Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2: b(18015, 1, "Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015", "Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."), Private_identifiers_are_not_allowed_outside_class_bodies: b(18016, 1, "Private_identifiers_are_not_allowed_outside_class_bodies_18016", "Private identifiers are not allowed outside class bodies."), The_shadowing_declaration_of_0_is_defined_here: b(18017, 1, "The_shadowing_declaration_of_0_is_defined_here_18017", "The shadowing declaration of '{0}' is defined here"), The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here: b(18018, 1, "The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018", "The declaration of '{0}' that you probably intended to use is defined here"), _0_modifier_cannot_be_used_with_a_private_identifier: b(18019, 1, "_0_modifier_cannot_be_used_with_a_private_identifier_18019", "'{0}' modifier cannot be used with a private identifier."), An_enum_member_cannot_be_named_with_a_private_identifier: b(18024, 1, "An_enum_member_cannot_be_named_with_a_private_identifier_18024", "An enum member cannot be named with a private identifier."), can_only_be_used_at_the_start_of_a_file: b(18026, 1, "can_only_be_used_at_the_start_of_a_file_18026", "'#!' can only be used at the start of a file."), Compiler_reserves_name_0_when_emitting_private_identifier_downlevel: b(18027, 1, "Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027", "Compiler reserves name '{0}' when emitting private identifier downlevel."), Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher: b(18028, 1, "Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028", "Private identifiers are only available when targeting ECMAScript 2015 and higher."), Private_identifiers_are_not_allowed_in_variable_declarations: b(18029, 1, "Private_identifiers_are_not_allowed_in_variable_declarations_18029", "Private identifiers are not allowed in variable declarations."), An_optional_chain_cannot_contain_private_identifiers: b(18030, 1, "An_optional_chain_cannot_contain_private_identifiers_18030", "An optional chain cannot contain private identifiers."), The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents: b(18031, 1, "The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031", "The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."), The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some: b(18032, 1, "The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032", "The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."), Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values: b(18033, 1, "Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033", "Type '{0}' is not assignable to type '{1}' as required for computed enum member values."), Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment: b(18034, 3, "Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034", "Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."), Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name: b(18035, 1, "Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035", "Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."), Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator: b(18036, 1, "Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036", "Class decorators can't be used with static private identifier. Consider removing the experimental decorator."), Await_expression_cannot_be_used_inside_a_class_static_block: b(18037, 1, "Await_expression_cannot_be_used_inside_a_class_static_block_18037", "Await expression cannot be used inside a class static block."), For_await_loops_cannot_be_used_inside_a_class_static_block: b(18038, 1, "For_await_loops_cannot_be_used_inside_a_class_static_block_18038", "'For await' loops cannot be used inside a class static block."), Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block: b(18039, 1, "Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039", "Invalid use of '{0}'. It cannot be used inside a class static block."), A_return_statement_cannot_be_used_inside_a_class_static_block: b(18041, 1, "A_return_statement_cannot_be_used_inside_a_class_static_block_18041", "A 'return' statement cannot be used inside a class static block."), _0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation: b(18042, 1, "_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042", "'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."), Types_cannot_appear_in_export_declarations_in_JavaScript_files: b(18043, 1, "Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043", "Types cannot appear in export declarations in JavaScript files."), _0_is_automatically_exported_here: b(18044, 3, "_0_is_automatically_exported_here_18044", "'{0}' is automatically exported here."), Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher: b(18045, 1, "Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045", "Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."), _0_is_of_type_unknown: b(18046, 1, "_0_is_of_type_unknown_18046", "'{0}' is of type 'unknown'."), _0_is_possibly_null: b(18047, 1, "_0_is_possibly_null_18047", "'{0}' is possibly 'null'."), _0_is_possibly_undefined: b(18048, 1, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."), _0_is_possibly_null_or_undefined: b(18049, 1, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."), The_value_0_cannot_be_used_here: b(18050, 1, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."), Compiler_option_0_cannot_be_given_an_empty_string: b(18051, 1, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.") } } }); function Su(e) { return e >= 79 } function moe(e) { return e === 31 || Su(e) } function iI(e, t) { if (e < t[0]) return !1; let r = 0, i = t.length, o; for (; r + 1 < i;) { if (o = r + (i - r) / 2, o -= o % 2, t[o] <= e && e <= t[o + 1]) return !0; e < t[o] ? i = o : r = o + 2 } return !1 } function W8(e, t) { return t >= 2 ? iI(e, Aoe) : t === 1 ? iI(e, Soe) : iI(e, Eoe) } function wDe(e, t) { return t >= 2 ? iI(e, Coe) : t === 1 ? iI(e, xoe) : iI(e, Toe) } function RDe(e) { let t = []; return e.forEach((r, i) => { t[r] = i }), t } function Xa(e) { return koe[e] } function lT(e) { return vj.get(e) } function hw(e) { let t = [], r = 0, i = 0; for (; r < e.length;) { let o = e.charCodeAt(r); switch (r++, o) { case 13: e.charCodeAt(r) === 10 && r++; case 10: t.push(i), i = r; break; default: o > 127 && Wl(o) && (t.push(i), i = r); break } } return t.push(i), t } function gw(e, t, r, i) { return e.getPositionOfLineAndCharacter ? e.getPositionOfLineAndCharacter(t, r, i) : mj(Sh(e), t, r, e.text, i) } function mj(e, t, r, i, o) { (t < 0 || t >= e.length) && (o ? t = t < 0 ? 0 : t >= e.length ? e.length - 1 : t : L.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${i !== void 0 ? GD(e, hw(i)) : "unknown"}`)); let s = e[t] + r; return o ? s > e[t + 1] ? e[t + 1] : typeof i == "string" && s > i.length ? i.length : s : (t < e.length - 1 ? L.assert(s < e[t + 1]) : i !== void 0 && L.assert(s <= i.length), s) } function Sh(e) { return e.lineMap || (e.lineMap = hw(e.text)) } function yw(e, t) { let r = aI(e, t); return { line: r, character: t - e[r] } } function aI(e, t, r) { let i = Py(e, t, Ks, Es, r); return i < 0 && (i = ~i - 1, L.assert(i !== -1, "position cannot precede the beginning of the file")), i } function oI(e, t, r) { if (t === r) return 0; let i = Sh(e), o = Math.min(t, r), s = o === r, l = s ? t : r, f = aI(i, o), d = aI(i, l, f); return s ? f - d : d - f } function Gs(e, t) { return yw(Sh(e), t) } function xh(e) { return Yp(e) || Wl(e) } function Yp(e) { return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e === 133 || e === 5760 || e >= 8192 && e <= 8203 || e === 8239 || e === 8287 || e === 12288 || e === 65279 } function Wl(e) { return e === 10 || e === 13 || e === 8232 || e === 8233 } function sI(e) { return e >= 48 && e <= 57 } function z8(e) { return sI(e) || e >= 65 && e <= 70 || e >= 97 && e <= 102 } function ODe(e) { return e <= 1114111 } function hj(e) { return e >= 48 && e <= 55 } function hoe(e, t) { let r = e.charCodeAt(t); switch (r) { case 13: case 10: case 9: case 11: case 12: case 32: case 47: case 60: case 124: case 61: case 62: return !0; case 35: return t === 0; default: return r > 127 } } function xo(e, t, r, i, o) { if (vp(t)) return t; let s = !1; for (; ;) { let l = e.charCodeAt(t); switch (l) { case 13: e.charCodeAt(t + 1) === 10 && t++; case 10: if (t++, r) return t; s = !!o; continue; case 9: case 11: case 12: case 32: t++; continue; case 47: if (i) break; if (e.charCodeAt(t + 1) === 47) { for (t += 2; t < e.length && !Wl(e.charCodeAt(t));)t++; s = !1; continue } if (e.charCodeAt(t + 1) === 42) { for (t += 2; t < e.length;) { if (e.charCodeAt(t) === 42 && e.charCodeAt(t + 1) === 47) { t += 2; break } t++ } s = !1; continue } break; case 60: case 124: case 61: case 62: if (yA(e, t)) { t = cI(e, t), s = !1; continue } break; case 35: if (t === 0 && gj(e, t)) { t = yj(e, t), s = !1; continue } break; case 42: if (s) { t++, s = !1; continue } break; default: if (l > 127 && xh(l)) { t++; continue } break }return t } } function yA(e, t) { if (L.assert(t >= 0), t === 0 || Wl(e.charCodeAt(t - 1))) { let r = e.charCodeAt(t); if (t + Tw < e.length) { for (let i = 0; i < Tw; i++)if (e.charCodeAt(t + i) !== r) return !1; return r === 61 || e.charCodeAt(t + Tw) === 32 } } return !1 } function cI(e, t, r) { r && r(_.Merge_conflict_marker_encountered, t, Tw); let i = e.charCodeAt(t), o = e.length; if (i === 60 || i === 62) for (; t < o && !Wl(e.charCodeAt(t));)t++; else for (L.assert(i === 124 || i === 61); t < o;) { let s = e.charCodeAt(t); if ((s === 61 || s === 62) && s !== i && yA(e, t)) break; t++ } return t } function gj(e, t) { return L.assert(t === 0), q8.test(e) } function yj(e, t) { let r = q8.exec(e)[0]; return t = t + r.length, t } function J8(e, t, r, i, o, s, l) { let f, d, g, m, v = !1, S = i, x = l; if (r === 0) { S = !0; let A = K8(t); A && (r = A.length) } e: for (; r >= 0 && r < t.length;) { let A = t.charCodeAt(r); switch (A) { case 13: t.charCodeAt(r + 1) === 10 && r++; case 10: if (r++, i) break e; S = !0, v && (m = !0); continue; case 9: case 11: case 12: case 32: r++; continue; case 47: let w = t.charCodeAt(r + 1), C = !1; if (w === 47 || w === 42) { let P = w === 47 ? 2 : 3, F = r; if (r += 2, w === 47) for (; r < t.length;) { if (Wl(t.charCodeAt(r))) { C = !0; break } r++ } else for (; r < t.length;) { if (t.charCodeAt(r) === 42 && t.charCodeAt(r + 1) === 47) { r += 2; break } r++ } if (S) { if (v && (x = o(f, d, g, m, s, x), !e && x)) return x; f = F, d = r, g = P, m = C, v = !0 } continue } break e; default: if (A > 127 && xh(A)) { v && Wl(A) && (m = !0), r++; continue } break e } } return v && (x = o(f, d, g, m, s, x)), x } function vw(e, t, r, i) { return J8(!1, e, t, !1, r, i) } function bw(e, t, r, i) { return J8(!1, e, t, !0, r, i) } function goe(e, t, r, i, o) { return J8(!0, e, t, !1, r, i, o) } function yoe(e, t, r, i, o) { return J8(!0, e, t, !0, r, i, o) } function voe(e, t, r, i, o, s = []) { return s.push({ kind: r, pos: e, end: t, hasTrailingNewLine: i }), s } function Nm(e, t) { return goe(e, t, voe, void 0, void 0) } function eb(e, t) { return yoe(e, t, voe, void 0, void 0) } function K8(e) { let t = q8.exec(e); if (t) return t[0] } function Pm(e, t) { return e >= 65 && e <= 90 || e >= 97 && e <= 122 || e === 36 || e === 95 || e > 127 && W8(e, t) } function tb(e, t, r) { return e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === 36 || e === 95 || (r === 1 ? e === 45 || e === 58 : !1) || e > 127 && wDe(e, t) } function i_(e, t, r) { let i = Dg(e, 0); if (!Pm(i, t)) return !1; for (let o = By(i); o < e.length; o += By(i))if (!tb(i = Dg(e, o), t, r)) return !1; return !0 } function kg(e, t, r = 0, i, o, s, l) {
-                var f = i, d, g, m, v, S, x, A, w, C = 0; Dt(f, s, l); var P = { getStartPos: () => m, getTextPos: () => d, getToken: () => S, getTokenPos: () => v, getTokenText: () => f.substring(v, d), getTokenValue: () => x, hasUnicodeEscape: () => (A & 1024) !== 0, hasExtendedUnicodeEscape: () => (A & 8) !== 0, hasPrecedingLineBreak: () => (A & 1) !== 0, hasPrecedingJSDocComment: () => (A & 2) !== 0, isIdentifier: () => S === 79 || S > 116, isReservedWord: () => S >= 81 && S <= 116, isUnterminated: () => (A & 4) !== 0, getCommentDirectives: () => w, getNumericLiteralFlags: () => A & 1008, getTokenFlags: () => A, reScanGreaterToken: Be, reScanAsteriskEqualsToken: Ne, reScanSlashToken: Le, reScanTemplateToken: ct, reScanTemplateHeadOrNoSubstitutionTemplate: Rt, scanJsxIdentifier: kn, scanJsxAttributeValue: _n, reScanJsxAttributeValue: Gt, reScanJsxToken: We, reScanLessThanToken: qe, reScanHashToken: zt, reScanQuestionToken: Qt, reScanInvalidIdentifier: Ce, scanJsxToken: tn, scanJsDocToken: $n, scan: Pe, getText: pt, clearCommentDirectives: nn, setText: Dt, setScriptTarget: An, setLanguageVariant: Kn, setOnError: pn, setTextPos: hi, setInJSDocType: ri, tryScan: gr, lookAhead: Pi, scanRange: Ni }; return L.isDebugging && Object.defineProperty(P, "__debugShowCurrentPositionInText", { get: () => { let vn = P.getText(); return vn.slice(0, P.getStartPos()) + "\u2551" + vn.slice(P.getStartPos()) } }), P; function F(vn, Ht = d, En) { if (o) { let dr = d; d = Ht, o(vn, En || 0), d = dr } } function B() { let vn = d, Ht = !1, En = !1, dr = ""; for (; ;) { let Cr = f.charCodeAt(d); if (Cr === 95) { A |= 512, Ht ? (Ht = !1, En = !0, dr += f.substring(vn, d)) : F(En ? _.Multiple_consecutive_numeric_separators_are_not_permitted : _.Numeric_separators_are_not_allowed_here, d, 1), d++, vn = d; continue } if (sI(Cr)) { Ht = !0, En = !1, d++; continue } break } return f.charCodeAt(d - 1) === 95 && F(_.Numeric_separators_are_not_allowed_here, d - 1, 1), dr + f.substring(vn, d) } function q() { let vn = d, Ht = B(), En, dr; f.charCodeAt(d) === 46 && (d++, En = B()); let Cr = d; if (f.charCodeAt(d) === 69 || f.charCodeAt(d) === 101) { d++, A |= 16, (f.charCodeAt(d) === 43 || f.charCodeAt(d) === 45) && d++; let at = d, Tt = B(); Tt ? (dr = f.substring(Cr, at) + Tt, Cr = d) : F(_.Digit_expected) } let Se; if (A & 512 ? (Se = Ht, En && (Se += "." + En), dr && (Se += dr)) : Se = f.substring(vn, Cr), En !== void 0 || A & 16) return W(vn, En === void 0 && !!(A & 16)), { type: 8, value: "" + +Se }; { x = Se; let at = ke(); return W(vn), { type: at, value: x } } } function W(vn, Ht) { if (!Pm(Dg(f, d), e)) return; let En = d, { length: dr } = X(); dr === 1 && f[En] === "n" ? F(Ht ? _.A_bigint_literal_cannot_use_exponential_notation : _.A_bigint_literal_must_be_an_integer, vn, En - vn + 1) : (F(_.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal, En, dr), d = En) } function Y() { let vn = d; for (; hj(f.charCodeAt(d));)d++; return +f.substring(vn, d) } function R(vn, Ht) { let En = $(vn, !1, Ht); return En ? parseInt(En, 16) : -1 } function ie(vn, Ht) { return $(vn, !0, Ht) } function $(vn, Ht, En) { let dr = [], Cr = !1, Se = !1; for (; dr.length < vn || Ht;) { let at = f.charCodeAt(d); if (En && at === 95) { A |= 512, Cr ? (Cr = !1, Se = !0) : F(Se ? _.Multiple_consecutive_numeric_separators_are_not_permitted : _.Numeric_separators_are_not_allowed_here, d, 1), d++; continue } if (Cr = En, at >= 65 && at <= 70) at += 32; else if (!(at >= 48 && at <= 57 || at >= 97 && at <= 102)) break; dr.push(at), d++, Se = !1 } return dr.length < vn && (dr = []), f.charCodeAt(d - 1) === 95 && F(_.Numeric_separators_are_not_allowed_here, d - 1, 1), String.fromCharCode(...dr) } function fe(vn = !1) { let Ht = f.charCodeAt(d); d++; let En = "", dr = d; for (; ;) { if (d >= g) { En += f.substring(dr, d), A |= 4, F(_.Unterminated_string_literal); break } let Cr = f.charCodeAt(d); if (Cr === Ht) { En += f.substring(dr, d), d++; break } if (Cr === 92 && !vn) { En += f.substring(dr, d), En += U(), dr = d; continue } if (Wl(Cr) && !vn) { En += f.substring(dr, d), A |= 4, F(_.Unterminated_string_literal); break } d++ } return En } function Z(vn) {
-                    let Ht = f.charCodeAt(d) === 96; d++; let En = d, dr = "", Cr; for (; ;) {
-                        if (d >= g) { dr += f.substring(En, d), A |= 4, F(_.Unterminated_template_literal), Cr = Ht ? 14 : 17; break } let Se = f.charCodeAt(d); if (Se === 96) { dr += f.substring(En, d), d++, Cr = Ht ? 14 : 17; break } if (Se === 36 && d + 1 < g && f.charCodeAt(d + 1) === 123) { dr += f.substring(En, d), d += 2, Cr = Ht ? 15 : 16; break } if (Se === 92) { dr += f.substring(En, d), dr += U(vn), En = d; continue } if (Se === 13) {
-                            dr += f.substring(En, d), d++, d < g && f.charCodeAt(d) === 10 && d++, dr += `
-`, En = d; continue
-                        } d++
-                    } return L.assert(Cr !== void 0), x = dr, Cr
-                } function U(vn) {
-                    let Ht = d; if (d++, d >= g) return F(_.Unexpected_end_of_text), ""; let En = f.charCodeAt(d); switch (d++, En) {
-                        case 48: return vn && d < g && sI(f.charCodeAt(d)) ? (d++, A |= 2048, f.substring(Ht, d)) : "\0"; case 98: return "\b"; case 116: return "	"; case 110: return `
-`; case 118: return "\v"; case 102: return "\f"; case 114: return "\r"; case 39: return "'"; case 34: return '"'; case 117: if (vn) { for (let dr = d; dr < d + 4; dr++)if (dr < g && !z8(f.charCodeAt(dr)) && f.charCodeAt(dr) !== 123) return d = dr, A |= 2048, f.substring(Ht, d) } if (d < g && f.charCodeAt(d) === 123) { if (d++, vn && !z8(f.charCodeAt(d))) return A |= 2048, f.substring(Ht, d); if (vn) { let dr = d, Cr = ie(1, !1), Se = Cr ? parseInt(Cr, 16) : -1; if (!ODe(Se) || f.charCodeAt(d) !== 125) return A |= 2048, f.substring(Ht, d); d = dr } return A |= 8, le() } return A |= 1024, re(4); case 120: if (vn) if (z8(f.charCodeAt(d))) { if (!z8(f.charCodeAt(d + 1))) return d++, A |= 2048, f.substring(Ht, d) } else return A |= 2048, f.substring(Ht, d); return re(2); case 13: d < g && f.charCodeAt(d) === 10 && d++; case 10: case 8232: case 8233: return ""; default: return String.fromCharCode(En)
-                    }
-                } function re(vn) { let Ht = R(vn, !1); return Ht >= 0 ? String.fromCharCode(Ht) : (F(_.Hexadecimal_digit_expected), "") } function le() { let vn = ie(1, !1), Ht = vn ? parseInt(vn, 16) : -1, En = !1; return Ht < 0 ? (F(_.Hexadecimal_digit_expected), En = !0) : Ht > 1114111 && (F(_.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive), En = !0), d >= g ? (F(_.Unexpected_end_of_text), En = !0) : f.charCodeAt(d) === 125 ? d++ : (F(_.Unterminated_Unicode_escape_sequence), En = !0), En ? "" : lI(Ht) } function _e() { if (d + 5 < g && f.charCodeAt(d + 1) === 117) { let vn = d; d += 2; let Ht = R(4, !1); return d = vn, Ht } return -1 } function ge() { if (Dg(f, d + 1) === 117 && Dg(f, d + 2) === 123) { let vn = d; d += 3; let Ht = ie(1, !1), En = Ht ? parseInt(Ht, 16) : -1; return d = vn, En } return -1 } function X() { let vn = "", Ht = d; for (; d < g;) { let En = Dg(f, d); if (tb(En, e)) d += By(En); else if (En === 92) { if (En = ge(), En >= 0 && tb(En, e)) { d += 3, A |= 8, vn += le(), Ht = d; continue } if (En = _e(), !(En >= 0 && tb(En, e))) break; A |= 1024, vn += f.substring(Ht, d), vn += lI(En), d += 6, Ht = d } else break } return vn += f.substring(Ht, d), vn } function Ve() { let vn = x.length; if (vn >= 2 && vn <= 12) { let Ht = x.charCodeAt(0); if (Ht >= 97 && Ht <= 122) { let En = boe.get(x); if (En !== void 0) return S = En } } return S = 79 } function we(vn) { let Ht = "", En = !1, dr = !1; for (; ;) { let Cr = f.charCodeAt(d); if (Cr === 95) { A |= 512, En ? (En = !1, dr = !0) : F(dr ? _.Multiple_consecutive_numeric_separators_are_not_permitted : _.Numeric_separators_are_not_allowed_here, d, 1), d++; continue } if (En = !0, !sI(Cr) || Cr - 48 >= vn) break; Ht += f[d], d++, dr = !1 } return f.charCodeAt(d - 1) === 95 && F(_.Numeric_separators_are_not_allowed_here, d - 1, 1), Ht } function ke() { return f.charCodeAt(d) === 110 ? (x += "n", A & 384 && (x = iL(x) + "n"), d++, 9) : (x = "" + (A & 128 ? parseInt(x.slice(2), 2) : A & 256 ? parseInt(x.slice(2), 8) : +x), 8) } function Pe() { m = d, A = 0; let vn = !1; for (; ;) { if (v = d, d >= g) return S = 1; let Ht = Dg(f, d); if (Ht === 35 && d === 0 && gj(f, d)) { if (d = yj(f, d), t) continue; return S = 6 } switch (Ht) { case 10: case 13: if (A |= 1, t) { d++; continue } else return Ht === 13 && d + 1 < g && f.charCodeAt(d + 1) === 10 ? d += 2 : d++, S = 4; case 9: case 11: case 12: case 32: case 160: case 5760: case 8192: case 8193: case 8194: case 8195: case 8196: case 8197: case 8198: case 8199: case 8200: case 8201: case 8202: case 8203: case 8239: case 8287: case 12288: case 65279: if (t) { d++; continue } else { for (; d < g && Yp(f.charCodeAt(d));)d++; return S = 5 } case 33: return f.charCodeAt(d + 1) === 61 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 37) : (d += 2, S = 35) : (d++, S = 53); case 34: case 39: return x = fe(), S = 10; case 96: return S = Z(!1); case 37: return f.charCodeAt(d + 1) === 61 ? (d += 2, S = 69) : (d++, S = 44); case 38: return f.charCodeAt(d + 1) === 38 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 76) : (d += 2, S = 55) : f.charCodeAt(d + 1) === 61 ? (d += 2, S = 73) : (d++, S = 50); case 40: return d++, S = 20; case 41: return d++, S = 21; case 42: if (f.charCodeAt(d + 1) === 61) return d += 2, S = 66; if (f.charCodeAt(d + 1) === 42) return f.charCodeAt(d + 2) === 61 ? (d += 3, S = 67) : (d += 2, S = 42); if (d++, C && !vn && A & 1) { vn = !0; continue } return S = 41; case 43: return f.charCodeAt(d + 1) === 43 ? (d += 2, S = 45) : f.charCodeAt(d + 1) === 61 ? (d += 2, S = 64) : (d++, S = 39); case 44: return d++, S = 27; case 45: return f.charCodeAt(d + 1) === 45 ? (d += 2, S = 46) : f.charCodeAt(d + 1) === 61 ? (d += 2, S = 65) : (d++, S = 40); case 46: return sI(f.charCodeAt(d + 1)) ? (x = q().value, S = 8) : f.charCodeAt(d + 1) === 46 && f.charCodeAt(d + 2) === 46 ? (d += 3, S = 25) : (d++, S = 24); case 47: if (f.charCodeAt(d + 1) === 47) { for (d += 2; d < g && !Wl(f.charCodeAt(d));)d++; if (w = Ye(w, f.slice(v, d), Ioe, v), t) continue; return S = 2 } if (f.charCodeAt(d + 1) === 42) { d += 2, f.charCodeAt(d) === 42 && f.charCodeAt(d + 1) !== 47 && (A |= 2); let Tt = !1, ve = v; for (; d < g;) { let nt = f.charCodeAt(d); if (nt === 42 && f.charCodeAt(d + 1) === 47) { d += 2, Tt = !0; break } d++, Wl(nt) && (ve = d, A |= 1) } if (w = Ye(w, f.slice(ve, d), Loe, ve), Tt || F(_.Asterisk_Slash_expected), t) continue; return Tt || (A |= 4), S = 3 } return f.charCodeAt(d + 1) === 61 ? (d += 2, S = 68) : (d++, S = 43); case 48: if (d + 2 < g && (f.charCodeAt(d + 1) === 88 || f.charCodeAt(d + 1) === 120)) return d += 2, x = ie(1, !0), x || (F(_.Hexadecimal_digit_expected), x = "0"), x = "0x" + x, A |= 64, S = ke(); if (d + 2 < g && (f.charCodeAt(d + 1) === 66 || f.charCodeAt(d + 1) === 98)) return d += 2, x = we(2), x || (F(_.Binary_digit_expected), x = "0"), x = "0b" + x, A |= 128, S = ke(); if (d + 2 < g && (f.charCodeAt(d + 1) === 79 || f.charCodeAt(d + 1) === 111)) return d += 2, x = we(8), x || (F(_.Octal_digit_expected), x = "0"), x = "0o" + x, A |= 256, S = ke(); if (d + 1 < g && hj(f.charCodeAt(d + 1))) return x = "" + Y(), A |= 32, S = 8; case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: return { type: S, value: x } = q(), S; case 58: return d++, S = 58; case 59: return d++, S = 26; case 60: if (yA(f, d)) { if (d = cI(f, d, F), t) continue; return S = 7 } return f.charCodeAt(d + 1) === 60 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 70) : (d += 2, S = 47) : f.charCodeAt(d + 1) === 61 ? (d += 2, S = 32) : r === 1 && f.charCodeAt(d + 1) === 47 && f.charCodeAt(d + 2) !== 42 ? (d += 2, S = 30) : (d++, S = 29); case 61: if (yA(f, d)) { if (d = cI(f, d, F), t) continue; return S = 7 } return f.charCodeAt(d + 1) === 61 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 36) : (d += 2, S = 34) : f.charCodeAt(d + 1) === 62 ? (d += 2, S = 38) : (d++, S = 63); case 62: if (yA(f, d)) { if (d = cI(f, d, F), t) continue; return S = 7 } return d++, S = 31; case 63: return f.charCodeAt(d + 1) === 46 && !sI(f.charCodeAt(d + 2)) ? (d += 2, S = 28) : f.charCodeAt(d + 1) === 63 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 77) : (d += 2, S = 60) : (d++, S = 57); case 91: return d++, S = 22; case 93: return d++, S = 23; case 94: return f.charCodeAt(d + 1) === 61 ? (d += 2, S = 78) : (d++, S = 52); case 123: return d++, S = 18; case 124: if (yA(f, d)) { if (d = cI(f, d, F), t) continue; return S = 7 } return f.charCodeAt(d + 1) === 124 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 75) : (d += 2, S = 56) : f.charCodeAt(d + 1) === 61 ? (d += 2, S = 74) : (d++, S = 51); case 125: return d++, S = 19; case 126: return d++, S = 54; case 64: return d++, S = 59; case 92: let En = ge(); if (En >= 0 && Pm(En, e)) return d += 3, A |= 8, x = le() + X(), S = Ve(); let dr = _e(); return dr >= 0 && Pm(dr, e) ? (d += 6, A |= 1024, x = String.fromCharCode(dr) + X(), S = Ve()) : (F(_.Invalid_character), d++, S = 0); case 35: if (d !== 0 && f[d + 1] === "!") return F(_.can_only_be_used_at_the_start_of_a_file), d++, S = 0; let Cr = Dg(f, d + 1); if (Cr === 92) { d++; let Tt = ge(); if (Tt >= 0 && Pm(Tt, e)) return d += 3, A |= 8, x = "#" + le() + X(), S = 80; let ve = _e(); if (ve >= 0 && Pm(ve, e)) return d += 6, A |= 1024, x = "#" + String.fromCharCode(ve) + X(), S = 80; d-- } return Pm(Cr, e) ? (d++, Ie(Cr, e)) : (x = "#", F(_.Invalid_character, d++, By(Ht))), S = 80; default: let Se = Ie(Ht, e); if (Se) return S = Se; if (Yp(Ht)) { d += By(Ht); continue } else if (Wl(Ht)) { A |= 1, d += By(Ht); continue } let at = By(Ht); return F(_.Invalid_character, d, at), d += at, S = 0 } } } function Ce() { L.assert(S === 0, "'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."), d = v = m, A = 0; let vn = Dg(f, d), Ht = Ie(vn, 99); return Ht ? S = Ht : (d += By(vn), S) } function Ie(vn, Ht) { let En = vn; if (Pm(En, Ht)) { for (d += By(En); d < g && tb(En = Dg(f, d), Ht);)d += By(En); return x = f.substring(v, d), En === 92 && (x += X()), Ve() } } function Be() { if (S === 31) { if (f.charCodeAt(d) === 62) return f.charCodeAt(d + 1) === 62 ? f.charCodeAt(d + 2) === 61 ? (d += 3, S = 72) : (d += 2, S = 49) : f.charCodeAt(d + 1) === 61 ? (d += 2, S = 71) : (d++, S = 48); if (f.charCodeAt(d) === 61) return d++, S = 33 } return S } function Ne() { return L.assert(S === 66, "'reScanAsteriskEqualsToken' should only be called on a '*='"), d = v + 1, S = 63 } function Le() { if (S === 43 || S === 68) { let vn = v + 1, Ht = !1, En = !1; for (; ;) { if (vn >= g) { A |= 4, F(_.Unterminated_regular_expression_literal); break } let dr = f.charCodeAt(vn); if (Wl(dr)) { A |= 4, F(_.Unterminated_regular_expression_literal); break } if (Ht) Ht = !1; else if (dr === 47 && !En) { vn++; break } else dr === 91 ? En = !0 : dr === 92 ? Ht = !0 : dr === 93 && (En = !1); vn++ } for (; vn < g && tb(f.charCodeAt(vn), e);)vn++; d = vn, x = f.substring(v, d), S = 13 } return S } function Ye(vn, Ht, En, dr) { let Cr = _t(ZC(Ht), En); return Cr === void 0 ? vn : Sn(vn, { range: { pos: dr, end: d }, type: Cr }) } function _t(vn, Ht) { let En = Ht.exec(vn); if (En) switch (En[1]) { case "ts-expect-error": return 0; case "ts-ignore": return 1 } } function ct(vn) { return L.assert(S === 19, "'reScanTemplateToken' should only be called on a '}'"), d = v, S = Z(vn) } function Rt() { return d = v, S = Z(!0) } function We(vn = !0) { return d = v = m, S = tn(vn) } function qe() { return S === 47 ? (d = v + 1, S = 29) : S } function zt() { return S === 80 ? (d = v + 1, S = 62) : S } function Qt() { return L.assert(S === 60, "'reScanQuestionToken' should only be called on a '??'"), d = v + 1, S = 57 } function tn(vn = !0) { if (m = v = d, d >= g) return S = 1; let Ht = f.charCodeAt(d); if (Ht === 60) return f.charCodeAt(d + 1) === 47 ? (d += 2, S = 30) : (d++, S = 29); if (Ht === 123) return d++, S = 18; let En = 0; for (; d < g && (Ht = f.charCodeAt(d), Ht !== 123);) { if (Ht === 60) { if (yA(f, d)) return d = cI(f, d, F), S = 7; break } if (Ht === 62 && F(_.Unexpected_token_Did_you_mean_or_gt, d, 1), Ht === 125 && F(_.Unexpected_token_Did_you_mean_or_rbrace, d, 1), Wl(Ht) && En === 0) En = -1; else { if (!vn && Wl(Ht) && En > 0) break; xh(Ht) || (En = d) } d++ } return x = f.substring(m, d), En === -1 ? 12 : 11 } function kn() { if (Su(S)) { let vn = !1; for (; d < g;) { let Ht = f.charCodeAt(d); if (Ht === 45) { x += "-", d++; continue } else if (Ht === 58 && !vn) { x += ":", d++, vn = !0, S = 79; continue } let En = d; if (x += X(), d === En) break } return x.slice(-1) === ":" && (x = x.slice(0, -1), d--), Ve() } return S } function _n() { switch (m = d, f.charCodeAt(d)) { case 34: case 39: return x = fe(!0), S = 10; default: return Pe() } } function Gt() { return d = v = m, _n() } function $n() { if (m = v = d, A = 0, d >= g) return S = 1; let vn = Dg(f, d); switch (d += By(vn), vn) { case 9: case 11: case 12: case 32: for (; d < g && Yp(f.charCodeAt(d));)d++; return S = 5; case 64: return S = 59; case 13: f.charCodeAt(d) === 10 && d++; case 10: return A |= 1, S = 4; case 42: return S = 41; case 123: return S = 18; case 125: return S = 19; case 91: return S = 22; case 93: return S = 23; case 60: return S = 29; case 62: return S = 31; case 61: return S = 63; case 44: return S = 27; case 46: return S = 24; case 96: return S = 61; case 35: return S = 62; case 92: d--; let Ht = ge(); if (Ht >= 0 && Pm(Ht, e)) return d += 3, A |= 8, x = le() + X(), S = Ve(); let En = _e(); return En >= 0 && Pm(En, e) ? (d += 6, A |= 1024, x = String.fromCharCode(En) + X(), S = Ve()) : (d++, S = 0) }if (Pm(vn, e)) { let Ht = vn; for (; d < g && tb(Ht = Dg(f, d), e) || f.charCodeAt(d) === 45;)d += By(Ht); return x = f.substring(v, d), Ht === 92 && (x += X()), S = Ve() } else return S = 0 } function ui(vn, Ht) { let En = d, dr = m, Cr = v, Se = S, at = x, Tt = A, ve = vn(); return (!ve || Ht) && (d = En, m = dr, v = Cr, S = Se, x = at, A = Tt), ve } function Ni(vn, Ht, En) { let dr = g, Cr = d, Se = m, at = v, Tt = S, ve = x, nt = A, ce = w; Dt(f, vn, Ht); let Q = En(); return g = dr, d = Cr, m = Se, v = at, S = Tt, x = ve, A = nt, w = ce, Q } function Pi(vn) { return ui(vn, !0) } function gr(vn) { return ui(vn, !1) } function pt() { return f } function nn() { w = void 0 } function Dt(vn, Ht, En) { f = vn || "", g = En === void 0 ? f.length : Ht + En, hi(Ht || 0) } function pn(vn) { o = vn } function An(vn) { e = vn } function Kn(vn) { r = vn } function hi(vn) { L.assert(vn >= 0), d = vn, m = vn, v = vn, S = 0, x = void 0, A = 0 } function ri(vn) { C += vn ? 1 : -1 }
-            } function By(e) { return e >= 65536 ? 2 : 1 } function NDe(e) { if (L.assert(0 <= e && e <= 1114111), e <= 65535) return String.fromCharCode(e); let t = Math.floor((e - 65536) / 1024) + 55296, r = (e - 65536) % 1024 + 56320; return String.fromCharCode(t, r) } function lI(e) { return Doe(e) } var Ew, boe, vj, Eoe, Toe, Soe, xoe, Aoe, Coe, Ioe, Loe, koe, Tw, q8, Dg, Doe, PDe = gt({ "src/compiler/scanner.ts"() { "use strict"; fa(), Ew = { abstract: 126, accessor: 127, any: 131, as: 128, asserts: 129, assert: 130, bigint: 160, boolean: 134, break: 81, case: 82, catch: 83, class: 84, continue: 86, const: 85, constructor: 135, debugger: 87, declare: 136, default: 88, delete: 89, do: 90, else: 91, enum: 92, export: 93, extends: 94, false: 95, finally: 96, for: 97, from: 158, function: 98, get: 137, if: 99, implements: 117, import: 100, in: 101, infer: 138, instanceof: 102, interface: 118, intrinsic: 139, is: 140, keyof: 141, let: 119, module: 142, namespace: 143, never: 144, new: 103, null: 104, number: 148, object: 149, package: 120, private: 121, protected: 122, public: 123, override: 161, out: 145, readonly: 146, require: 147, global: 159, return: 105, satisfies: 150, set: 151, static: 124, string: 152, super: 106, switch: 107, symbol: 153, this: 108, throw: 109, true: 110, try: 111, type: 154, typeof: 112, undefined: 155, unique: 156, unknown: 157, var: 113, void: 114, while: 115, with: 116, yield: 125, async: 132, await: 133, of: 162 }, boe = new Map(Object.entries(Ew)), vj = new Map(Object.entries({ ...Ew, "{": 18, "}": 19, "(": 20, ")": 21, "[": 22, "]": 23, ".": 24, "...": 25, ";": 26, ",": 27, "<": 29, ">": 31, "<=": 32, ">=": 33, "==": 34, "!=": 35, "===": 36, "!==": 37, "=>": 38, "+": 39, "-": 40, "**": 42, "*": 41, "/": 43, "%": 44, "++": 45, "--": 46, "<<": 47, "</": 30, ">>": 48, ">>>": 49, "&": 50, "|": 51, "^": 52, "!": 53, "~": 54, "&&": 55, "||": 56, "?": 57, "??": 60, "?.": 28, ":": 58, "=": 63, "+=": 64, "-=": 65, "*=": 66, "**=": 67, "/=": 68, "%=": 69, "<<=": 70, ">>=": 71, ">>>=": 72, "&=": 73, "|=": 74, "^=": 78, "||=": 75, "&&=": 76, "??=": 77, "@": 59, "#": 62, "`": 61 })), Eoe = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1610, 1649, 1747, 1749, 1749, 1765, 1766, 1786, 1788, 1808, 1808, 1810, 1836, 1920, 1957, 2309, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2784, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3294, 3294, 3296, 3297, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3424, 3425, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3805, 3840, 3840, 3904, 3911, 3913, 3946, 3976, 3979, 4096, 4129, 4131, 4135, 4137, 4138, 4176, 4181, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6067, 6176, 6263, 6272, 6312, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8319, 8319, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12346, 12353, 12436, 12445, 12446, 12449, 12538, 12540, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65138, 65140, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500], Toe = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 768, 846, 864, 866, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1155, 1158, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1441, 1443, 1465, 1467, 1469, 1471, 1471, 1473, 1474, 1476, 1476, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1621, 1632, 1641, 1648, 1747, 1749, 1756, 1759, 1768, 1770, 1773, 1776, 1788, 1808, 1836, 1840, 1866, 1920, 1968, 2305, 2307, 2309, 2361, 2364, 2381, 2384, 2388, 2392, 2403, 2406, 2415, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2492, 2494, 2500, 2503, 2504, 2507, 2509, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2562, 2562, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2649, 2652, 2654, 2654, 2662, 2676, 2689, 2691, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2784, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2876, 2883, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2913, 2918, 2927, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3031, 3031, 3047, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3134, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3168, 3169, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3262, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3297, 3302, 3311, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3390, 3395, 3398, 3400, 3402, 3405, 3415, 3415, 3424, 3425, 3430, 3439, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3805, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3946, 3953, 3972, 3974, 3979, 3984, 3991, 3993, 4028, 4038, 4038, 4096, 4129, 4131, 4135, 4137, 4138, 4140, 4146, 4150, 4153, 4160, 4169, 4176, 4185, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 4969, 4977, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6099, 6112, 6121, 6160, 6169, 6176, 6263, 6272, 6313, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8255, 8256, 8319, 8319, 8400, 8412, 8417, 8417, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12346, 12353, 12436, 12441, 12442, 12445, 12446, 12449, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65056, 65059, 65075, 65076, 65101, 65103, 65136, 65138, 65140, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65381, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500], Soe = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2208, 2208, 2210, 2220, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2423, 2425, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3424, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6428, 6480, 6509, 6512, 6516, 6528, 6571, 6593, 6599, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7401, 7404, 7406, 7409, 7413, 7414, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42647, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43e3, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43648, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500], xoe = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6e3, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43e3, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500], Aoe = [65, 90, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2208, 2228, 2230, 2237, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12443, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40943, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42943, 42946, 42950, 42999, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43879, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66378, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69376, 69404, 69415, 69415, 69424, 69445, 69600, 69622, 69635, 69687, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70751, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71680, 71723, 71840, 71903, 71935, 71935, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72384, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73728, 74649, 74752, 74862, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92766, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101106, 110592, 110878, 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 123136, 123180, 123191, 123197, 123214, 123214, 123584, 123627, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101], Coe = [48, 57, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 183, 183, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 895, 895, 902, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1519, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2045, 2045, 2048, 2093, 2112, 2139, 2144, 2154, 2208, 2228, 2230, 2237, 2259, 2273, 2275, 2403, 2406, 2415, 2417, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2556, 2556, 2558, 2558, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2809, 2815, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3072, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3162, 3168, 3171, 3174, 3183, 3200, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3328, 3331, 3333, 3340, 3342, 3344, 3346, 3396, 3398, 3400, 3402, 3406, 3412, 3415, 3423, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3558, 3567, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4969, 4977, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6e3, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6264, 6272, 6314, 6320, 6389, 6400, 6430, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6832, 6845, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7376, 7378, 7380, 7418, 7424, 7673, 7675, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40943, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42737, 42775, 42783, 42786, 42888, 42891, 42943, 42946, 42950, 42999, 43047, 43072, 43123, 43136, 43205, 43216, 43225, 43232, 43255, 43259, 43259, 43261, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43488, 43518, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43879, 43888, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65071, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66045, 66045, 66176, 66204, 66208, 66256, 66272, 66272, 66304, 66335, 66349, 66378, 66384, 66426, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68099, 68101, 68102, 68108, 68115, 68117, 68119, 68121, 68149, 68152, 68154, 68159, 68159, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68326, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68903, 68912, 68921, 69376, 69404, 69415, 69415, 69424, 69456, 69600, 69622, 69632, 69702, 69734, 69743, 69759, 69818, 69840, 69864, 69872, 69881, 69888, 69940, 69942, 69951, 69956, 69958, 69968, 70003, 70006, 70006, 70016, 70084, 70089, 70092, 70096, 70106, 70108, 70108, 70144, 70161, 70163, 70199, 70206, 70206, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70378, 70384, 70393, 70400, 70403, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70459, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70730, 70736, 70745, 70750, 70751, 70784, 70853, 70855, 70855, 70864, 70873, 71040, 71093, 71096, 71104, 71128, 71133, 71168, 71232, 71236, 71236, 71248, 71257, 71296, 71352, 71360, 71369, 71424, 71450, 71453, 71467, 71472, 71481, 71680, 71738, 71840, 71913, 71935, 71935, 72096, 72103, 72106, 72151, 72154, 72161, 72163, 72164, 72192, 72254, 72263, 72263, 72272, 72345, 72349, 72349, 72384, 72440, 72704, 72712, 72714, 72758, 72760, 72768, 72784, 72793, 72818, 72847, 72850, 72871, 72873, 72886, 72960, 72966, 72968, 72969, 72971, 73014, 73018, 73018, 73020, 73021, 73023, 73031, 73040, 73049, 73056, 73061, 73063, 73064, 73066, 73102, 73104, 73105, 73107, 73112, 73120, 73129, 73440, 73462, 73728, 74649, 74752, 74862, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92766, 92768, 92777, 92880, 92909, 92912, 92916, 92928, 92982, 92992, 92995, 93008, 93017, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94031, 94087, 94095, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101106, 110592, 110878, 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113821, 113822, 119141, 119145, 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213, 119362, 119364, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 120782, 120831, 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476, 121499, 121503, 121505, 121519, 122880, 122886, 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922, 123136, 123180, 123184, 123197, 123200, 123209, 123214, 123214, 123584, 123641, 124928, 125124, 125136, 125142, 125184, 125259, 125264, 125273, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 917760, 917999], Ioe = /^\/\/\/?\s*@(ts-expect-error|ts-ignore)/, Loe = /^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/, koe = RDe(vj), Tw = 7, q8 = /^#!.*/, Dg = String.prototype.codePointAt ? (e, t) => e.codePointAt(t) : function (t, r) { let i = t.length; if (r < 0 || r >= i) return; let o = t.charCodeAt(r); if (o >= 55296 && o <= 56319 && i > r + 1) { let s = t.charCodeAt(r + 1); if (s >= 56320 && s <= 57343) return (o - 55296) * 1024 + s - 56320 + 65536 } return o }, Doe = String.fromCodePoint ? e => String.fromCodePoint(e) : NDe } }); function fl(e) { return Jd(e) || qp(e) } function vA(e) { return HD(e, ZI) } function X8(e) { switch (Do(e)) { case 99: return "lib.esnext.full.d.ts"; case 9: return "lib.es2022.full.d.ts"; case 8: return "lib.es2021.full.d.ts"; case 7: return "lib.es2020.full.d.ts"; case 6: return "lib.es2019.full.d.ts"; case 5: return "lib.es2018.full.d.ts"; case 4: return "lib.es2017.full.d.ts"; case 3: return "lib.es2016.full.d.ts"; case 2: return "lib.es6.d.ts"; default: return "lib.d.ts" } } function wl(e) { return e.start + e.length } function woe(e) { return e.length === 0 } function bj(e, t) { return t >= e.start && t < wl(e) } function Y8(e, t) { return t >= e.pos && t <= e.end } function Roe(e, t) { return t.start >= e.start && wl(t) <= wl(e) } function MDe(e, t) { return Ooe(e, t) !== void 0 } function Ooe(e, t) { let r = Poe(e, t); return r && r.length === 0 ? void 0 : r } function FDe(e, t) { return Q8(e.start, e.length, t.start, t.length) } function $8(e, t, r) { return Q8(e.start, e.length, t, r) } function Q8(e, t, r, i) { let o = e + t, s = r + i; return r <= o && s >= e } function Noe(e, t) { return t <= wl(e) && t >= e.start } function Poe(e, t) { let r = Math.max(e.start, t.start), i = Math.min(wl(e), wl(t)); return r <= i ? Wc(r, i) : void 0 } function il(e, t) { if (e < 0) throw new Error("start < 0"); if (t < 0) throw new Error("length < 0"); return { start: e, length: t } } function Wc(e, t) { return il(e, t - e) } function uI(e) { return il(e.span.start, e.newLength) } function Moe(e) { return woe(e.span) && e.newLength === 0 } function Sw(e, t) { if (t < 0) throw new Error("newLength < 0"); return { span: e, newLength: t } } function GDe(e) { if (e.length === 0) return $j; if (e.length === 1) return e[0]; let t = e[0], r = t.span.start, i = wl(t.span), o = r + t.newLength; for (let s = 1; s < e.length; s++) { let l = e[s], f = r, d = i, g = o, m = l.span.start, v = wl(l.span), S = m + l.newLength; r = Math.min(f, m), i = Math.max(d, d + (v - g)), o = Math.max(S, S + (g - v)) } return Sw(Wc(r, i), o - r) } function BDe(e) { if (e && e.kind === 165) { for (let t = e; t; t = t.parent)if (Ia(t) || Yr(t) || t.kind === 261) return t } } function Ad(e, t) { return ha(e) && Mr(e, 16476) && t.kind === 173 } function Foe(e) { return La(e) ? Ji(e.elements, Goe) : !1 } function Goe(e) { return ol(e) ? !0 : Foe(e.name) } function bA(e) { let t = e.parent; for (; Wo(t.parent);)t = t.parent.parent; return t.parent } function Ej(e, t) { Wo(e) && (e = bA(e)); let r = t(e); return e.kind === 257 && (e = e.parent), e && e.kind === 258 && (r |= t(e), e = e.parent), e && e.kind === 240 && (r |= t(e)), r } function wg(e) { return Ej(e, uu) } function Tj(e) { return Ej(e, Jce) } function G_(e) { return Ej(e, t => t.flags) } function UDe(e, t, r) { let i = e.toLowerCase(), o = /^([a-z]+)([_\-]([a-z]+))?$/.exec(i); if (!o) { r && r.push(ps(_.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1, "en", "ja-jp")); return } let s = o[1], l = o[3]; ya(Qj, i) && !f(s, l, r) && f(s, void 0, r), Aae(e); function f(d, g, m) { let v = So(t.getExecutingFilePath()), S = ni(v), x = vi(S, d); if (g && (x = x + "-" + g), x = t.resolvePath(vi(x, "diagnosticMessages.generated.json")), !t.fileExists(x)) return !1; let A = ""; try { A = t.readFile(x) } catch { return m && m.push(ps(_.Unable_to_open_file_0, x)), !1 } try { ple(JSON.parse(A)) } catch { return m && m.push(ps(_.Corrupted_locale_file_0, x)), !1 } return !0 } } function ec(e, t) { if (e) for (; e.original !== void 0;)e = e.original; return !e || !t || t(e) ? e : void 0 } function jn(e, t) { for (; e;) { let r = t(e); if (r === "quit") return; if (r) return e; e = e.parent } } function dI(e) { return (e.flags & 8) === 0 } function ea(e, t) { if (e === void 0 || dI(e)) return e; for (e = e.original; e;) { if (dI(e)) return !t || t(e) ? e : void 0; e = e.original } } function Bs(e) { return e.length >= 2 && e.charCodeAt(0) === 95 && e.charCodeAt(1) === 95 ? "_" + e : e } function Gi(e) { let t = e; return t.length >= 3 && t.charCodeAt(0) === 95 && t.charCodeAt(1) === 95 && t.charCodeAt(2) === 95 ? t.substr(1) : t } function vr(e) { return Gi(e.escapedText) } function nb(e) { let t = lT(e.escapedText); return t ? zr(t, Xu) : void 0 } function fc(e) { return e.valueDeclaration && xu(e.valueDeclaration) ? vr(e.valueDeclaration.name) : Gi(e.escapedName) } function Boe(e) { let t = e.parent.parent; if (t) { if (Kl(t)) return Z8(t); switch (t.kind) { case 240: if (t.declarationList && t.declarationList.declarations[0]) return Z8(t.declarationList.declarations[0]); break; case 241: let r = t.expression; switch (r.kind === 223 && r.operatorToken.kind === 63 && (r = r.left), r.kind) { case 208: return r.name; case 209: let i = r.argumentExpression; if (Re(i)) return i }break; case 214: return Z8(t.expression); case 253: { if (Kl(t.statement) || ot(t.statement)) return Z8(t.statement); break } } } } function Z8(e) { let t = sa(e); return t && Re(t) ? t : void 0 } function xw(e, t) { return !!(zl(e) && Re(e.name) && vr(e.name) === vr(t) || Bc(e) && vt(e.declarationList.declarations, r => xw(r, t))) } function Uoe(e) { return e.name || Boe(e) } function zl(e) { return !!e.name } function Sj(e) { switch (e.kind) { case 79: return e; case 351: case 344: { let { name: r } = e; if (r.kind === 163) return r.right; break } case 210: case 223: { let r = e; switch (ic(r)) { case 1: case 4: case 5: case 3: return W6(r.left); case 7: case 8: case 9: return r.arguments[1]; default: return } } case 349: return Uoe(e); case 343: return Boe(e); case 274: { let { expression: r } = e; return Re(r) ? r : void 0 } case 209: let t = e; if (H6(t)) return t.argumentExpression }return e.name } function sa(e) { if (e !== void 0) return Sj(e) || (ms(e) || xs(e) || _u(e) ? xj(e) : void 0) } function xj(e) { if (e.parent) { if (yl(e.parent) || Wo(e.parent)) return e.parent.name; if (ar(e.parent) && e === e.parent.right) { if (Re(e.parent.left)) return e.parent.left; if (Us(e.parent.left)) return W6(e.parent.left) } else if (wi(e.parent) && Re(e.parent.name)) return e.parent.name } else return } function Uy(e) { if (bf(e)) return Pr(e.modifiers, du) } function uT(e) { if (Mr(e, 126975)) return Pr(e.modifiers, Ha) } function Voe(e, t) { if (e.name) if (Re(e.name)) { let r = e.name.escapedText; return _I(e.parent, t).filter(i => xp(i) && Re(i.name) && i.name.escapedText === r) } else { let r = e.parent.parameters.indexOf(e); L.assert(r > -1, "Parameters should always be in their parents' parameter list"); let i = _I(e.parent, t).filter(xp); if (r < i.length) return [i[r]] } return Je } function fI(e) { return Voe(e, !1) } function joe(e) { return Voe(e, !0) } function Hoe(e, t) { let r = e.name.escapedText; return _I(e.parent, t).filter(i => H_(i) && i.typeParameters.some(o => o.name.escapedText === r)) } function Woe(e) { return Hoe(e, !1) } function zoe(e) { return Hoe(e, !0) } function Joe(e) { return !!gf(e, xp) } function Koe(e) { return gf(e, x2) } function qoe(e) { return kj(e, qz) } function Aj(e) { return gf(e, Xue) } function VDe(e) { return gf(e, jz) } function Xoe(e) { return gf(e, jz, !0) } function jDe(e) { return gf(e, Hz) } function Yoe(e) { return gf(e, Hz, !0) } function HDe(e) { return gf(e, Wz) } function $oe(e) { return gf(e, Wz, !0) } function WDe(e) { return gf(e, zz) } function Qoe(e) { return gf(e, zz, !0) } function Zoe(e) { return gf(e, g3, !0) } function Cj(e) { return gf(e, Jz) } function ese(e) { return gf(e, Jz, !0) } function Ij(e) { return gf(e, vO) } function e6(e) { return gf(e, Yue) } function tse(e) { return gf(e, y3) } function zDe(e) { return gf(e, H_) } function Lj(e) { return gf(e, v3) } function x0(e) { let t = gf(e, DL); if (t && t.typeExpression && t.typeExpression.type) return t } function Vy(e) { let t = gf(e, DL); return !t && ha(e) && (t = wr(fI(e), r => !!r.typeExpression)), t && t.typeExpression && t.typeExpression.type } function Aw(e) { let t = tse(e); if (t && t.typeExpression) return t.typeExpression.type; let r = x0(e); if (r && r.typeExpression) { let i = r.typeExpression.type; if (Rd(i)) { let o = wr(i.members, _2); return o && o.type } if (Jm(i) || S2(i)) return i.type } } function _I(e, t) { var r, i; if (!lR(e)) return Je; let o = (r = e.jsDoc) == null ? void 0 : r.jsDocCache; if (o === void 0 || t) { let s = PH(e, t); L.assert(s.length < 2 || s[0] !== s[1]), o = Uo(s, l => dm(l) ? l.tags : l), t || ((i = e.jsDoc) != null || (e.jsDoc = []), e.jsDoc.jsDocCache = o) } return o } function A0(e) { return _I(e, !1) } function JDe(e) { return _I(e, !0) } function gf(e, t, r) { return wr(_I(e, r), t) } function kj(e, t) { return A0(e).filter(t) } function KDe(e, t) { return A0(e).filter(r => r.kind === t) } function Cw(e) { return typeof e == "string" ? e : e?.map(t => t.kind === 324 ? t.text : qDe(t)).join("") } function qDe(e) { let t = e.kind === 327 ? "link" : e.kind === 328 ? "linkcode" : "linkplain", r = e.name ? qd(e.name) : "", i = e.name && e.text.startsWith("://") ? "" : " "; return `{@${t} ${r}${i}${e.text}}` } function jy(e) { if (X0(e)) { if (kL(e.parent)) { let t = OI(e.parent); if (t && Fn(t.tags)) return Uo(t.tags, r => H_(r) ? r.typeParameters : void 0) } return Je } if (Ff(e)) return L.assert(e.parent.kind === 323), Uo(e.parent.tags, t => H_(t) ? t.typeParameters : void 0); if (e.typeParameters || sde(e) && e.typeParameters) return e.typeParameters; if (Yn(e)) { let t = t4(e); if (t.length) return t; let r = Vy(e); if (r && Jm(r) && r.typeParameters) return r.typeParameters } return Je } function EA(e) { return e.constraint ? e.constraint : H_(e.parent) && e === e.parent.typeParameters[0] ? e.parent.constraint : void 0 } function Ah(e) { return e.kind === 79 || e.kind === 80 } function t6(e) { return e.kind === 175 || e.kind === 174 } function n6(e) { return br(e) && !!(e.flags & 32) } function Dj(e) { return Vs(e) && !!(e.flags & 32) } function dT(e) { return Pa(e) && !!(e.flags & 32) } function Jl(e) { let t = e.kind; return !!(e.flags & 32) && (t === 208 || t === 209 || t === 210 || t === 232) } function pI(e) { return Jl(e) && !PS(e) && !!e.questionDotToken } function r6(e) { return pI(e.parent) && e.parent.expression === e } function mI(e) { return !Jl(e.parent) || pI(e.parent) || e !== e.parent.expression } function wj(e) { return e.kind === 223 && e.operatorToken.kind === 60 } function Ch(e) { return m_(e) && Re(e.typeName) && e.typeName.escapedText === "const" && !e.typeArguments } function a_(e) { return ql(e, 8) } function i6(e) { return PS(e) && !!(e.flags & 32) } function hI(e) { return e.kind === 249 || e.kind === 248 } function Rj(e) { return e.kind === 277 || e.kind === 276 } function nse(e) { switch (e.kind) { case 305: case 306: return !0; default: return !1 } } function Oj(e) { return nse(e) || e.kind === 303 || e.kind === 307 } function a6(e) { return e.kind === 351 || e.kind === 344 } function XDe(e) { return Iw(e.kind) } function Iw(e) { return e >= 163 } function Nj(e) { return e >= 0 && e <= 162 } function Z1(e) { return Nj(e.kind) } function C0(e) { return fs(e, "pos") && fs(e, "end") } function gI(e) { return 8 <= e && e <= 14 } function fT(e) { return gI(e.kind) } function Pj(e) { switch (e.kind) { case 207: case 206: case 13: case 215: case 228: return !0 }return !1 } function Hy(e) { return 14 <= e && e <= 17 } function rse(e) { return Hy(e.kind) } function o6(e) { let t = e.kind; return t === 16 || t === 17 } function eS(e) { return $u(e) || Mu(e) } function Mj(e) { switch (e.kind) { case 273: return e.isTypeOnly || e.parent.parent.isTypeOnly; case 271: return e.parent.isTypeOnly; case 270: case 268: return e.isTypeOnly }return !1 } function ise(e) { switch (e.kind) { case 278: return e.isTypeOnly || e.parent.parent.isTypeOnly; case 275: return e.isTypeOnly && !!e.moduleSpecifier && !e.exportClause; case 277: return e.parent.isTypeOnly }return !1 } function I0(e) { return Mj(e) || ise(e) } function ase(e) { return yo(e) || Re(e) } function Fj(e) { return e.kind === 10 || Hy(e.kind) } function tc(e) { var t; return Re(e) && ((t = e.emitNode) == null ? void 0 : t.autoGenerate) !== void 0 } function tS(e) { var t; return pi(e) && ((t = e.emitNode) == null ? void 0 : t.autoGenerate) !== void 0 } function xu(e) { return (Na(e) || xA(e)) && pi(e.name) } function TA(e) { return br(e) && pi(e.name) } function Rg(e) { switch (e) { case 126: case 127: case 132: case 85: case 136: case 88: case 93: case 101: case 123: case 121: case 122: case 146: case 124: case 145: case 161: return !0 }return !1 } function yI(e) { return !!(gS(e) & 16476) } function Gj(e) { return yI(e) || e === 124 || e === 161 || e === 127 } function Ha(e) { return Rg(e.kind) } function Cd(e) { let t = e.kind; return t === 163 || t === 79 } function Ys(e) { let t = e.kind; return t === 79 || t === 80 || t === 10 || t === 8 || t === 164 } function Mm(e) { let t = e.kind; return t === 79 || t === 203 || t === 204 } function Ia(e) { return !!e && nS(e.kind) } function SA(e) { return !!e && (nS(e.kind) || oc(e)) } function Ds(e) { return e && sse(e.kind) } function ose(e) { return e.kind === 110 || e.kind === 95 } function sse(e) { switch (e) { case 259: case 171: case 173: case 174: case 175: case 215: case 216: return !0; default: return !1 } } function nS(e) { switch (e) { case 170: case 176: case 326: case 177: case 178: case 181: case 320: case 182: return !0; default: return sse(e) } } function Bj(e) { return Li(e) || Tp(e) || Va(e) && Ia(e.parent) } function _l(e) { let t = e.kind; return t === 173 || t === 169 || t === 171 || t === 174 || t === 175 || t === 178 || t === 172 || t === 237 } function Yr(e) { return e && (e.kind === 260 || e.kind === 228) } function rb(e) { return e && (e.kind === 174 || e.kind === 175) } function Id(e) { return Na(e) && rm(e) } function xA(e) { switch (e.kind) { case 171: case 174: case 175: return !0; default: return !1 } } function cse(e) { switch (e.kind) { case 171: case 174: case 175: case 169: return !0; default: return !1 } } function Ns(e) { return Ha(e) || du(e) } function _T(e) { let t = e.kind; return t === 177 || t === 176 || t === 168 || t === 170 || t === 178 || t === 174 || t === 175 } function s6(e) { return _T(e) || _l(e) } function Og(e) { let t = e.kind; return t === 299 || t === 300 || t === 301 || t === 171 || t === 174 || t === 175 } function bi(e) { return vW(e.kind) } function lse(e) { switch (e.kind) { case 181: case 182: return !0 }return !1 } function La(e) { if (e) { let t = e.kind; return t === 204 || t === 203 } return !1 } function vI(e) { let t = e.kind; return t === 206 || t === 207 } function c6(e) { let t = e.kind; return t === 205 || t === 229 } function Lw(e) { switch (e.kind) { case 257: case 166: case 205: return !0 }return !1 } function use(e) { return wi(e) || ha(e) || Dw(e) || ww(e) } function kw(e) { return Uj(e) || Vj(e) } function Uj(e) { switch (e.kind) { case 203: case 207: return !0 }return !1 } function Dw(e) { switch (e.kind) { case 205: case 299: case 300: case 301: return !0 }return !1 } function Vj(e) { switch (e.kind) { case 204: case 206: return !0 }return !1 } function ww(e) { switch (e.kind) { case 205: case 229: case 227: case 206: case 207: case 79: case 208: case 209: return !0 }return Iu(e, !0) } function dse(e) { let t = e.kind; return t === 208 || t === 163 || t === 202 } function fse(e) { let t = e.kind; return t === 208 || t === 163 } function rS(e) { switch (e.kind) { case 283: case 282: case 210: case 211: case 212: case 167: return !0; default: return !1 } } function Ih(e) { return e.kind === 210 || e.kind === 211 } function AA(e) { let t = e.kind; return t === 225 || t === 14 } function Ju(e) { return _se(a_(e).kind) } function _se(e) { switch (e) { case 208: case 209: case 211: case 210: case 281: case 282: case 285: case 212: case 206: case 214: case 207: case 228: case 215: case 79: case 80: case 13: case 8: case 9: case 10: case 14: case 225: case 95: case 104: case 108: case 110: case 106: case 232: case 230: case 233: case 100: case 279: return !0; default: return !1 } } function jj(e) { return pse(a_(e).kind) } function pse(e) { switch (e) { case 221: case 222: case 217: case 218: case 219: case 220: case 213: return !0; default: return _se(e) } } function mse(e) { switch (e.kind) { case 222: return !0; case 221: return e.operator === 45 || e.operator === 46; default: return !1 } } function hse(e) { switch (e.kind) { case 104: case 110: case 95: case 221: return !0; default: return fT(e) } } function ot(e) { return YDe(a_(e).kind) } function YDe(e) { switch (e) { case 224: case 226: case 216: case 223: case 227: case 231: case 229: case 357: case 356: case 235: return !0; default: return pse(e) } } function pT(e) { let t = e.kind; return t === 213 || t === 231 } function $De(e) { return Gz(e) || _3(e) } function Wy(e, t) { switch (e.kind) { case 245: case 246: case 247: case 243: case 244: return !0; case 253: return t && Wy(e.statement, t) }return !1 } function gse(e) { return pc(e) || Il(e) } function yse(e) { return vt(e, gse) } function l6(e) { return !Uw(e) && !pc(e) && !Mr(e, 1) && !lu(e) } function Rw(e) { return Uw(e) || pc(e) || Mr(e, 1) } function CA(e) { return e.kind === 246 || e.kind === 247 } function u6(e) { return Va(e) || ot(e) } function Hj(e) { return Va(e) } function pp(e) { return pu(e) || ot(e) } function vse(e) { let t = e.kind; return t === 265 || t === 264 || t === 79 } function QDe(e) { let t = e.kind; return t === 265 || t === 264 } function ZDe(e) { let t = e.kind; return t === 79 || t === 264 } function Wj(e) { let t = e.kind; return t === 272 || t === 271 } function Ow(e) { return e.kind === 264 || e.kind === 263 } function $p(e) { switch (e.kind) { case 216: case 223: case 205: case 210: case 176: case 260: case 228: case 172: case 173: case 182: case 177: case 209: case 263: case 302: case 274: case 275: case 278: case 259: case 215: case 181: case 174: case 79: case 270: case 268: case 273: case 178: case 261: case 341: case 343: case 320: case 344: case 351: case 326: case 349: case 325: case 288: case 289: case 290: case 197: case 171: case 170: case 264: case 199: case 277: case 267: case 271: case 211: case 14: case 8: case 207: case 166: case 208: case 299: case 169: case 168: case 175: case 300: case 308: case 301: case 10: case 262: case 184: case 165: case 257: return !0; default: return !1 } } function Qp(e) { switch (e.kind) { case 216: case 238: case 176: case 266: case 295: case 172: case 191: case 173: case 182: case 177: case 245: case 246: case 247: case 259: case 215: case 181: case 174: case 178: case 341: case 343: case 320: case 326: case 349: case 197: case 171: case 170: case 264: case 175: case 308: case 262: return !0; default: return !1 } } function ewe(e) { return e === 216 || e === 205 || e === 260 || e === 228 || e === 172 || e === 173 || e === 263 || e === 302 || e === 278 || e === 259 || e === 215 || e === 174 || e === 270 || e === 268 || e === 273 || e === 261 || e === 288 || e === 171 || e === 170 || e === 264 || e === 267 || e === 271 || e === 277 || e === 166 || e === 299 || e === 169 || e === 168 || e === 175 || e === 300 || e === 262 || e === 165 || e === 257 || e === 349 || e === 341 || e === 351 } function zj(e) { return e === 259 || e === 279 || e === 260 || e === 261 || e === 262 || e === 263 || e === 264 || e === 269 || e === 268 || e === 275 || e === 274 || e === 267 } function Jj(e) { return e === 249 || e === 248 || e === 256 || e === 243 || e === 241 || e === 239 || e === 246 || e === 247 || e === 245 || e === 242 || e === 253 || e === 250 || e === 252 || e === 254 || e === 255 || e === 240 || e === 244 || e === 251 || e === 355 || e === 359 || e === 358 } function Kl(e) { return e.kind === 165 ? e.parent && e.parent.kind !== 348 || Yn(e) : ewe(e.kind) } function bse(e) { return zj(e.kind) } function Nw(e) { return Jj(e.kind) } function ca(e) { let t = e.kind; return Jj(t) || zj(t) || twe(e) } function twe(e) { return e.kind !== 238 || e.parent !== void 0 && (e.parent.kind === 255 || e.parent.kind === 295) ? !1 : !bT(e) } function Ese(e) { let t = e.kind; return Jj(t) || zj(t) || t === 238 } function Tse(e) { let t = e.kind; return t === 280 || t === 163 || t === 79 } function bI(e) { let t = e.kind; return t === 108 || t === 79 || t === 208 } function Pw(e) { let t = e.kind; return t === 281 || t === 291 || t === 282 || t === 11 || t === 285 } function d6(e) { let t = e.kind; return t === 288 || t === 290 } function Sse(e) { let t = e.kind; return t === 10 || t === 291 } function Au(e) { let t = e.kind; return t === 283 || t === 282 } function Kj(e) { let t = e.kind; return t === 292 || t === 293 } function IA(e) { return e.kind >= 312 && e.kind <= 353 } function qj(e) { return e.kind === 323 || e.kind === 322 || e.kind === 324 || iS(e) || EI(e) || LL(e) || X0(e) } function EI(e) { return e.kind >= 330 && e.kind <= 353 } function Ng(e) { return e.kind === 175 } function zy(e) { return e.kind === 174 } function Kd(e) { if (!lR(e)) return !1; let { jsDoc: t } = e; return !!t && t.length > 0 } function f6(e) { return !!e.type } function Jy(e) { return !!e.initializer } function mT(e) { switch (e.kind) { case 257: case 166: case 205: case 169: case 299: case 302: return !0; default: return !1 } } function Xj(e) { return e.kind === 288 || e.kind === 290 || Og(e) } function _6(e) { return e.kind === 180 || e.kind === 230 } function xse(e) { let t = Zj; for (let r of e) { if (!r.length) continue; let i = 0; for (; i < r.length && i < t && xh(r.charCodeAt(i)); i++); if (i < t && (t = i), t === 0) return 0 } return t === Zj ? void 0 : t } function es(e) { return e.kind === 10 || e.kind === 14 } function iS(e) { return e.kind === 327 || e.kind === 328 || e.kind === 329 } function Yj(e) { let t = Os(e.parameters); return !!t && Fm(t) } function Fm(e) { let t = xp(e) ? e.typeExpression && e.typeExpression.type : e.type; return e.dotDotDotToken !== void 0 || !!t && t.kind === 321 } var $j, Qj, Zj, nwe = gt({ "src/compiler/utilitiesPublic.ts"() { "use strict"; fa(), $j = Sw(il(0, 0), 0), Qj = ["cs", "de", "es", "fr", "it", "ja", "ko", "pl", "pt-br", "ru", "tr", "zh-cn", "zh-tw"], Zj = 1073741823 } }); function nc(e, t) { let r = e.declarations; if (r) { for (let i of r) if (i.kind === t) return i } } function Ase(e, t) { return Pr(e.declarations || Je, r => r.kind === t) } function Ua(e) { let t = new Map; if (e) for (let r of e) t.set(r.escapedName, r); return t } function Zp(e) { return (e.flags & 33554432) !== 0 } function rwe() { var e = ""; let t = r => e += r; return { getText: () => e, write: t, rawWrite: t, writeKeyword: t, writeOperator: t, writePunctuation: t, writeSpace: t, writeStringLiteral: t, writeLiteral: t, writeParameter: t, writeProperty: t, writeSymbol: (r, i) => t(r), writeTrailingSemicolon: t, writeComment: t, getTextPos: () => e.length, getLine: () => 0, getColumn: () => 0, getIndent: () => 0, isAtStartOfLine: () => !1, hasTrailingComment: () => !1, hasTrailingWhitespace: () => !!e.length && xh(e.charCodeAt(e.length - 1)), writeLine: () => e += " ", increaseIndent: Ba, decreaseIndent: Ba, clear: () => e = "" } } function eH(e, t) { return e.configFilePath !== t.configFilePath || Cse(e, t) } function Cse(e, t) { return LA(e, t, U3) } function Ise(e, t) { return LA(e, t, GJ) } function LA(e, t, r) { return e !== t && r.some(i => !GW(f4(e, i), f4(t, i))) } function Lse(e, t) { for (; ;) { let r = t(e); if (r === "quit") return; if (r !== void 0) return r; if (Li(e)) return; e = e.parent } } function Ld(e, t) { let r = e.entries(); for (let [i, o] of r) { let s = t(o, i); if (s) return s } } function TI(e, t) { let r = e.keys(); for (let i of r) { let o = t(i); if (o) return o } } function Mw(e, t) { e.forEach((r, i) => { t.set(i, r) }) } function SI(e) { let t = uL.getText(); try { return e(uL), uL.getText() } finally { uL.clear(), uL.writeKeyword(t) } } function Fw(e) { return e.end - e.pos } function kA(e, t, r) { var i, o; return (o = (i = e?.resolvedModules) == null ? void 0 : i.get(t, r)) == null ? void 0 : o.resolvedModule } function kse(e, t, r, i) { e.resolvedModules || (e.resolvedModules = WT()), e.resolvedModules.set(t, i, r) } function Dse(e, t, r, i) { e.resolvedTypeReferenceDirectiveNames || (e.resolvedTypeReferenceDirectiveNames = WT()), e.resolvedTypeReferenceDirectiveNames.set(t, i, r) } function iwe(e, t, r) { var i, o; return (o = (i = e?.resolvedTypeReferenceDirectiveNames) == null ? void 0 : i.get(t, r)) == null ? void 0 : o.resolvedTypeReferenceDirective } function tH(e, t) { return e.path === t.path && !e.prepend == !t.prepend && !e.circular == !t.circular } function wse(e, t) { return e === t || e.resolvedModule === t.resolvedModule || !!e.resolvedModule && !!t.resolvedModule && e.resolvedModule.isExternalLibraryImport === t.resolvedModule.isExternalLibraryImport && e.resolvedModule.extension === t.resolvedModule.extension && e.resolvedModule.resolvedFileName === t.resolvedModule.resolvedFileName && e.resolvedModule.originalPath === t.resolvedModule.originalPath && awe(e.resolvedModule.packageId, t.resolvedModule.packageId) } function awe(e, t) { return e === t || !!e && !!t && e.name === t.name && e.subModuleName === t.subModuleName && e.version === t.version } function p6({ name: e, subModuleName: t }) { return t ? `${e}/${t}` : e } function hT(e) { return `${p6(e)}@${e.version}` } function Rse(e, t) { return e === t || e.resolvedTypeReferenceDirective === t.resolvedTypeReferenceDirective || !!e.resolvedTypeReferenceDirective && !!t.resolvedTypeReferenceDirective && e.resolvedTypeReferenceDirective.resolvedFileName === t.resolvedTypeReferenceDirective.resolvedFileName && !!e.resolvedTypeReferenceDirective.primary == !!t.resolvedTypeReferenceDirective.primary && e.resolvedTypeReferenceDirective.originalPath === t.resolvedTypeReferenceDirective.originalPath } function nH(e, t, r, i, o, s) { L.assert(e.length === r.length); for (let l = 0; l < e.length; l++) { let f = r[l], d = e[l], g = s.getName(d), m = s.getMode(d, t), v = i && i.get(g, m); if (v ? !f || !o(v, f) : f) return !0 } return !1 } function Gw(e) { return owe(e), (e.flags & 524288) !== 0 } function owe(e) { e.flags & 1048576 || ((e.flags & 131072 || pa(e, Gw)) && (e.flags |= 524288), e.flags |= 1048576) } function Gn(e) { for (; e && e.kind !== 308;)e = e.parent; return e } function m6(e) { return Gn(e.valueDeclaration || dH(e)) } function h6(e, t) { return !!e && (e.scriptKind === 1 || e.scriptKind === 2) && !e.checkJsDirective && t === void 0 } function Ose(e) { switch (e.kind) { case 238: case 266: case 245: case 246: case 247: return !0 }return !1 } function Ky(e, t) { return L.assert(e >= 0), Sh(t)[e] } function swe(e) { let t = Gn(e), r = Gs(t, e.pos); return `${t.fileName}(${r.line + 1},${r.character + 1})` } function Bw(e, t) { L.assert(e >= 0); let r = Sh(t), i = e, o = t.text; if (i + 1 === r.length) return o.length - 1; { let s = r[i], l = r[i + 1] - 1; for (L.assert(Wl(o.charCodeAt(l))); s <= l && Wl(o.charCodeAt(l));)l--; return l } } function g6(e, t, r) { return !(r && r(t)) && !e.identifiers.has(t) } function rc(e) { return e === void 0 ? !0 : e.pos === e.end && e.pos >= 0 && e.kind !== 1 } function Pf(e) { return !rc(e) } function Nse(e, t) { return _c(e) ? t === e.expression : oc(e) ? t === e.modifiers : $d(e) ? t === e.initializer : Na(e) ? t === e.questionToken && Id(e) : yl(e) ? t === e.modifiers || t === e.questionToken || t === e.exclamationToken || xI(e.modifiers, t, Ns) : xf(e) ? t === e.equalsToken || t === e.modifiers || t === e.questionToken || t === e.exclamationToken || xI(e.modifiers, t, Ns) : Nc(e) ? t === e.exclamationToken : Ec(e) ? t === e.typeParameters || t === e.type || xI(e.typeParameters, t, _c) : p_(e) ? t === e.typeParameters || xI(e.typeParameters, t, _c) : Sf(e) ? t === e.typeParameters || t === e.type || xI(e.typeParameters, t, _c) : gO(e) ? t === e.modifiers || xI(e.modifiers, t, Ns) : !1 } function xI(e, t, r) { return !e || ba(t) || !r(t) ? !1 : ya(e, t) } function Pse(e, t, r) { if (t === void 0 || t.length === 0) return e; let i = 0; for (; i < e.length && r(e[i]); ++i); return e.splice(i, 0, ...t), e } function Mse(e, t, r) { if (t === void 0) return e; let i = 0; for (; i < e.length && r(e[i]); ++i); return e.splice(i, 0, t), e } function Fse(e) { return B_(e) || !!(Ya(e) & 2097152) } function em(e, t) { return Pse(e, t, B_) } function rH(e, t) { return Pse(e, t, Fse) } function cwe(e, t) { return Mse(e, t, B_) } function L0(e, t) { return Mse(e, t, Fse) } function iH(e, t, r) { if (e.charCodeAt(t + 1) === 47 && t + 2 < r && e.charCodeAt(t + 2) === 47) { let i = e.substring(t, r); return !!(qW.test(i) || XW.test(i) || Wle.test(i) || zle.test(i)) } return !1 } function y6(e, t) { return e.charCodeAt(t + 1) === 42 && e.charCodeAt(t + 2) === 33 } function Gse(e, t) { let r = new Map(t.map(l => [`${Gs(e, l.range.end).line}`, l])), i = new Map; return { getUnusedExpectations: o, markUsed: s }; function o() { return lo(r.entries()).filter(([l, f]) => f.type === 0 && !i.get(l)).map(([l, f]) => f) } function s(l) { return r.has(`${l}`) ? (i.set(`${l}`, !0), !0) : !1 } } function gT(e, t, r) { return rc(e) ? e.pos : IA(e) || e.kind === 11 ? xo((t || Gn(e)).text, e.pos, !1, !0) : r && Kd(e) ? gT(e.jsDoc[0], t) : e.kind === 354 && e._children.length > 0 ? gT(e._children[0], t, r) : xo((t || Gn(e)).text, e.pos, !1, !1, qw(e)) } function aH(e, t) { let r = !rc(e) && g_(e) ? dA(e.modifiers, du) : void 0; return r ? xo((t || Gn(e)).text, r.end) : gT(e, t) } function k0(e, t, r = !1) { return AI(e.text, t, r) } function lwe(e) { return !!jn(e, UT) } function v6(e) { return !!(Il(e) && e.exportClause && qm(e.exportClause) && e.exportClause.name.escapedText === "default") } function AI(e, t, r = !1) {
-                if (rc(t)) return ""; let i = e.substring(r ? t.pos : xo(e, t.pos), t.end); return lwe(t) && (i = i.split(/\r\n|\n|\r/).map(o => ZC(o.replace(/^\s*\*/, ""))).join(`
-`)), i
-            } function Qc(e, t = !1) { return k0(Gn(e), e, t) } function uwe(e) { return e.pos } function DA(e, t) { return Py(e, t, uwe, Es) } function Ya(e) { let t = e.emitNode; return t && t.flags || 0 } function o_(e) { let t = e.emitNode; return t && t.internalFlags || 0 } function oH() { return new Map(Object.entries({ Array: new Map(Object.entries({ es2015: ["find", "findIndex", "fill", "copyWithin", "entries", "keys", "values"], es2016: ["includes"], es2019: ["flat", "flatMap"], es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Iterator: new Map(Object.entries({ es2015: Je })), AsyncIterator: new Map(Object.entries({ es2015: Je })), Atomics: new Map(Object.entries({ es2017: Je })), SharedArrayBuffer: new Map(Object.entries({ es2017: Je })), AsyncIterable: new Map(Object.entries({ es2018: Je })), AsyncIterableIterator: new Map(Object.entries({ es2018: Je })), AsyncGenerator: new Map(Object.entries({ es2018: Je })), AsyncGeneratorFunction: new Map(Object.entries({ es2018: Je })), RegExp: new Map(Object.entries({ es2015: ["flags", "sticky", "unicode"], es2018: ["dotAll"] })), Reflect: new Map(Object.entries({ es2015: ["apply", "construct", "defineProperty", "deleteProperty", "get", " getOwnPropertyDescriptor", "getPrototypeOf", "has", "isExtensible", "ownKeys", "preventExtensions", "set", "setPrototypeOf"] })), ArrayConstructor: new Map(Object.entries({ es2015: ["from", "of"] })), ObjectConstructor: new Map(Object.entries({ es2015: ["assign", "getOwnPropertySymbols", "keys", "is", "setPrototypeOf"], es2017: ["values", "entries", "getOwnPropertyDescriptors"], es2019: ["fromEntries"], es2022: ["hasOwn"] })), NumberConstructor: new Map(Object.entries({ es2015: ["isFinite", "isInteger", "isNaN", "isSafeInteger", "parseFloat", "parseInt"] })), Math: new Map(Object.entries({ es2015: ["clz32", "imul", "sign", "log10", "log2", "log1p", "expm1", "cosh", "sinh", "tanh", "acosh", "asinh", "atanh", "hypot", "trunc", "fround", "cbrt"] })), Map: new Map(Object.entries({ es2015: ["entries", "keys", "values"] })), Set: new Map(Object.entries({ es2015: ["entries", "keys", "values"] })), PromiseConstructor: new Map(Object.entries({ es2015: ["all", "race", "reject", "resolve"], es2020: ["allSettled"], es2021: ["any"] })), Symbol: new Map(Object.entries({ es2015: ["for", "keyFor"], es2019: ["description"] })), WeakMap: new Map(Object.entries({ es2015: ["entries", "keys", "values"] })), WeakSet: new Map(Object.entries({ es2015: ["entries", "keys", "values"] })), String: new Map(Object.entries({ es2015: ["codePointAt", "includes", "endsWith", "normalize", "repeat", "startsWith", "anchor", "big", "blink", "bold", "fixed", "fontcolor", "fontsize", "italics", "link", "small", "strike", "sub", "sup"], es2017: ["padStart", "padEnd"], es2019: ["trimStart", "trimEnd", "trimLeft", "trimRight"], es2020: ["matchAll"], es2021: ["replaceAll"], es2022: ["at"] })), StringConstructor: new Map(Object.entries({ es2015: ["fromCodePoint", "raw"] })), DateTimeFormat: new Map(Object.entries({ es2017: ["formatToParts"] })), Promise: new Map(Object.entries({ es2015: Je, es2018: ["finally"] })), RegExpMatchArray: new Map(Object.entries({ es2018: ["groups"] })), RegExpExecArray: new Map(Object.entries({ es2018: ["groups"] })), Intl: new Map(Object.entries({ es2018: ["PluralRules"] })), NumberFormat: new Map(Object.entries({ es2018: ["formatToParts"] })), SymbolConstructor: new Map(Object.entries({ es2020: ["matchAll"] })), DataView: new Map(Object.entries({ es2020: ["setBigInt64", "setBigUint64", "getBigInt64", "getBigUint64"] })), BigInt: new Map(Object.entries({ es2020: Je })), RelativeTimeFormat: new Map(Object.entries({ es2020: ["format", "formatToParts", "resolvedOptions"] })), Int8Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Uint8Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Uint8ClampedArray: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Int16Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Uint16Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Int32Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Uint32Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Float32Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Float64Array: new Map(Object.entries({ es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), BigInt64Array: new Map(Object.entries({ es2020: Je, es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), BigUint64Array: new Map(Object.entries({ es2020: Je, es2022: ["at"], es2023: ["findLastIndex", "findLast"] })), Error: new Map(Object.entries({ es2022: ["cause"] })) })) } function Bse(e, t, r) { var i; if (t && dwe(e, r)) return k0(t, e); switch (e.kind) { case 10: { let o = r & 2 ? qH : r & 1 || Ya(e) & 33554432 ? _S : ER; return e.singleQuote ? "'" + o(e.text, 39) + "'" : '"' + o(e.text, 34) + '"' } case 14: case 15: case 16: case 17: { let o = r & 1 || Ya(e) & 33554432 ? _S : ER, s = (i = e.rawText) != null ? i : Rwe(o(e.text, 96)); switch (e.kind) { case 14: return "`" + s + "`"; case 15: return "`" + s + "${"; case 16: return "}" + s + "${"; case 17: return "}" + s + "`" }break } case 8: case 9: return e.text; case 13: return r & 4 && e.isUnterminated ? e.text + (e.text.charCodeAt(e.text.length - 1) === 92 ? " /" : "/") : e.text }return L.fail(`Literal kind '${e.kind}' not accounted for.`) } function dwe(e, t) { return ws(e) || !e.parent || t & 4 && e.isUnterminated ? !1 : Vf(e) && e.numericLiteralFlags & 512 ? !!(t & 8) : !a3(e) } function Use(e) { return Ta(e) ? '"' + ER(e) + '"' : "" + e } function Vse(e) { return Hl(e).replace(/^(\d)/, "_$1").replace(/\W/g, "_") } function sH(e) { return (G_(e) & 3) !== 0 || cH(e) } function cH(e) { let t = nm(e); return t.kind === 257 && t.parent.kind === 295 } function lu(e) { return Tc(e) && (e.name.kind === 10 || mp(e)) } function b6(e) { return Tc(e) && e.name.kind === 10 } function lH(e) { return Tc(e) && yo(e.name) } function jse(e) { return Tc(e) || Re(e) } function CI(e) { return fwe(e.valueDeclaration) } function fwe(e) { return !!e && e.kind === 264 && !e.body } function Hse(e) { return e.kind === 308 || e.kind === 264 || SA(e) } function mp(e) { return !!(e.flags & 1024) } function D0(e) { return lu(e) && uH(e) } function uH(e) { switch (e.parent.kind) { case 308: return Lc(e.parent); case 265: return lu(e.parent.parent) && Li(e.parent.parent.parent) && !Lc(e.parent.parent.parent) }return !1 } function dH(e) { var t; return (t = e.declarations) == null ? void 0 : t.find(r => !D0(r) && !(Tc(r) && mp(r))) } function _we(e) { return e === 1 || e === 100 || e === 199 } function aS(e, t) { return Lc(e) || d_(t) || _we(Rl(t)) && !!e.commonJsModuleIndicator } function fH(e, t) { switch (e.scriptKind) { case 1: case 3: case 2: case 4: break; default: return !1 }return e.isDeclarationFile ? !1 : Uf(t, "alwaysStrict") || nde(e.statements) ? !0 : Lc(e) || d_(t) ? Rl(t) >= 5 ? !0 : !t.noImplicitUseStrict : !1 } function _H(e) { return !!(e.flags & 16777216) || Mr(e, 2) } function pH(e, t) { switch (e.kind) { case 308: case 266: case 295: case 264: case 245: case 246: case 247: case 173: case 171: case 174: case 175: case 259: case 215: case 216: case 169: case 172: return !0; case 238: return !SA(t) }return !1 } function mH(e) { switch (L.type(e), e.kind) { case 341: case 349: case 326: return !0; default: return hH(e) } } function hH(e) { switch (L.type(e), e.kind) { case 176: case 177: case 170: case 178: case 181: case 182: case 320: case 260: case 228: case 261: case 262: case 348: case 259: case 171: case 173: case 174: case 175: case 215: case 216: return !0; default: return !1 } } function yT(e) { switch (e.kind) { case 269: case 268: return !0; default: return !1 } } function Wse(e) { return yT(e) || N0(e) } function E6(e) { switch (e.kind) { case 269: case 268: case 240: case 260: case 259: case 264: case 262: case 261: case 263: return !0; default: return !1 } } function zse(e) { return Uw(e) || Tc(e) || Mh(e) || Dd(e) } function Uw(e) { return yT(e) || Il(e) } function tm(e) { return jn(e.parent, t => pH(t, t.parent)) } function Jse(e, t) { let r = tm(e); for (; r;)t(r), r = tm(r) } function os(e) { return !e || Fw(e) === 0 ? "(Missing)" : Qc(e) } function Kse(e) { return e.declaration ? os(e.declaration.parameters[0].name) : void 0 } function Vw(e) { return e.kind === 164 && !yf(e.expression) } function T6(e) { var t; switch (e.kind) { case 79: case 80: return (t = e.emitNode) != null && t.autoGenerate ? void 0 : e.escapedText; case 10: case 8: case 14: return Bs(e.text); case 164: return yf(e.expression) ? Bs(e.expression.text) : void 0; default: return L.assertNever(e) } } function wA(e) { return L.checkDefined(T6(e)) } function qd(e) { switch (e.kind) { case 108: return "this"; case 80: case 79: return Fw(e) === 0 ? vr(e) : Qc(e); case 163: return qd(e.left) + "." + qd(e.right); case 208: return Re(e.name) || pi(e.name) ? qd(e.expression) + "." + qd(e.name) : L.assertNever(e.name); case 314: return qd(e.left) + qd(e.right); default: return L.assertNever(e) } } function hr(e, t, r, i, o, s) { let l = Gn(e); return Nu(l, e, t, r, i, o, s) } function RA(e, t, r, i, o, s, l) { let f = xo(e.text, t.pos); return al(e, f, t.end - f, r, i, o, s, l) } function Nu(e, t, r, i, o, s, l) { let f = w0(e, t); return al(e, f.start, f.length, r, i, o, s, l) } function Lh(e, t, r, i) { let o = w0(e, t); return S6(e, o.start, o.length, r, i) } function jw(e, t, r, i) { let o = xo(e.text, t.pos); return S6(e, o, t.end - o, r, i) } function gH(e, t, r) { L.assertGreaterThanOrEqual(t, 0), L.assertGreaterThanOrEqual(r, 0), e && (L.assertLessThanOrEqual(t, e.text.length), L.assertLessThanOrEqual(t + r, e.text.length)) } function S6(e, t, r, i, o) { return gH(e, t, r), { file: e, start: t, length: r, code: i.code, category: i.category, messageText: i.next ? i : i.messageText, relatedInformation: o } } function yH(e, t, r) { return { file: e, start: 0, length: 0, code: t.code, category: t.category, messageText: t.next ? t : t.messageText, relatedInformation: r } } function qse(e) { return typeof e.messageText == "string" ? { code: e.code, category: e.category, messageText: e.messageText, next: e.next } : e.messageText } function vH(e, t, r) { return { file: e, start: t.pos, length: t.end - t.pos, code: r.code, category: r.category, messageText: r.message } } function Pg(e, t) { let r = kg(e.languageVersion, !0, e.languageVariant, e.text, void 0, t); r.scan(); let i = r.getTokenPos(); return Wc(i, r.getTextPos()) } function Xse(e, t) { let r = kg(e.languageVersion, !0, e.languageVariant, e.text, void 0, t); return r.scan(), r.getToken() } function pwe(e, t) { let r = xo(e.text, t.pos); if (t.body && t.body.kind === 238) { let { line: i } = Gs(e, t.body.pos), { line: o } = Gs(e, t.body.end); if (i < o) return il(r, Bw(i, e) - r + 1) } return Wc(r, t.end) } function w0(e, t) { let r = t; switch (t.kind) { case 308: let s = xo(e.text, 0, !1); return s === e.text.length ? il(0, 0) : Pg(e, s); case 257: case 205: case 260: case 228: case 261: case 264: case 263: case 302: case 259: case 215: case 171: case 174: case 175: case 262: case 169: case 168: case 271: r = t.name; break; case 216: return pwe(e, t); case 292: case 293: let l = xo(e.text, t.pos), f = t.statements.length > 0 ? t.statements[0].pos : t.end; return Wc(l, f) }if (r === void 0) return Pg(e, t.pos); L.assert(!dm(r)); let i = rc(r), o = i || CS(t) ? r.pos : xo(e.text, r.pos); return i ? (L.assert(o === r.pos, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"), L.assert(o === r.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")) : (L.assert(o >= r.pos, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"), L.assert(o <= r.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")), Wc(o, r.end) } function kd(e) { return (e.externalModuleIndicator || e.commonJsModuleIndicator) !== void 0 } function Mf(e) { return e.scriptKind === 6 } function R0(e) { return !!(wg(e) & 2048) } function x6(e) { return !!(wg(e) & 64 && !Ad(e, e.parent)) } function kh(e) { return !!(G_(e) & 2) } function II(e) { return !!(G_(e) & 1) } function OA(e) { return e.kind === 210 && e.expression.kind === 106 } function Dd(e) { return e.kind === 210 && e.expression.kind === 100 } function NA(e) { return TL(e) && e.keywordToken === 100 && e.name.escapedText === "meta" } function ib(e) { return Mh(e) && mb(e.argument) && yo(e.argument.literal) } function B_(e) { return e.kind === 241 && e.expression.kind === 10 } function A6(e) { return !!(Ya(e) & 2097152) } function C6(e) { return A6(e) && Jc(e) } function mwe(e) { return Re(e.name) && !e.initializer } function I6(e) { return A6(e) && Bc(e) && Ji(e.declarationList.declarations, mwe) } function bH(e, t) { return e.kind !== 11 ? Nm(t.text, e.pos) : void 0 } function EH(e, t) { let r = e.kind === 166 || e.kind === 165 || e.kind === 215 || e.kind === 216 || e.kind === 214 || e.kind === 257 || e.kind === 278 ? Qi(eb(t, e.pos), Nm(t, e.pos)) : Nm(t, e.pos); return Pr(r, i => t.charCodeAt(i.pos + 1) === 42 && t.charCodeAt(i.pos + 2) === 42 && t.charCodeAt(i.pos + 3) !== 47) } function Gm(e) { if (179 <= e.kind && e.kind <= 202) return !0; switch (e.kind) { case 131: case 157: case 148: case 160: case 152: case 134: case 153: case 149: case 155: case 144: return !0; case 114: return e.parent.kind !== 219; case 230: return dd(e.parent) && !IR(e); case 165: return e.parent.kind === 197 || e.parent.kind === 192; case 79: (e.parent.kind === 163 && e.parent.right === e || e.parent.kind === 208 && e.parent.name === e) && (e = e.parent), L.assert(e.kind === 79 || e.kind === 163 || e.kind === 208, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); case 163: case 208: case 108: { let { parent: t } = e; if (t.kind === 183) return !1; if (t.kind === 202) return !t.isTypeOf; if (179 <= t.kind && t.kind <= 202) return !0; switch (t.kind) { case 230: return dd(t.parent) && !IR(t); case 165: return e === t.constraint; case 348: return e === t.constraint; case 169: case 168: case 166: case 257: return e === t.type; case 259: case 215: case 216: case 173: case 171: case 170: case 174: case 175: return e === t.type; case 176: case 177: case 178: return e === t.type; case 213: return e === t.type; case 210: case 211: return ya(t.typeArguments, e); case 212: return !1 } } }return !1 } function TH(e, t) { for (; e;) { if (e.kind === t) return !0; e = e.parent } return !1 } function vT(e, t) { return r(e); function r(i) { switch (i.kind) { case 250: return t(i); case 266: case 238: case 242: case 243: case 244: case 245: case 246: case 247: case 251: case 252: case 292: case 293: case 253: case 255: case 295: return pa(i, r) } } } function Yse(e, t) { return r(e); function r(i) { switch (i.kind) { case 226: t(i); let o = i.expression; o && r(o); return; case 263: case 261: case 264: case 262: return; default: if (Ia(i)) { if (i.name && i.name.kind === 164) { r(i.name.expression); return } } else Gm(i) || pa(i, r) } } } function SH(e) { return e && e.kind === 185 ? e.elementType : e && e.kind === 180 ? Wp(e.typeArguments) : void 0 } function $se(e) { switch (e.kind) { case 261: case 260: case 228: case 184: return e.members; case 207: return e.properties } } function PA(e) { if (e) switch (e.kind) { case 205: case 302: case 166: case 299: case 169: case 168: case 300: case 257: return !0 }return !1 } function Qse(e) { return PA(e) || rb(e) } function L6(e) { return e.parent.kind === 258 && e.parent.parent.kind === 240 } function Zse(e) { return Yn(e) ? rs(e.parent) && ar(e.parent.parent) && ic(e.parent.parent) === 2 || k6(e.parent) : !1 } function k6(e) { return Yn(e) ? ar(e) && ic(e) === 1 : !1 } function ece(e) { return (wi(e) ? kh(e) && Re(e.name) && L6(e) : Na(e) ? jI(e) && zc(e) : $d(e) && jI(e)) || k6(e) } function tce(e) { switch (e.kind) { case 171: case 170: case 173: case 174: case 175: case 259: case 215: return !0 }return !1 } function xH(e, t) { for (; ;) { if (t && t(e), e.statement.kind !== 253) return e.statement; e = e.statement } } function bT(e) { return e && e.kind === 238 && Ia(e.parent) } function s_(e) { return e && e.kind === 171 && e.parent.kind === 207 } function D6(e) { return (e.kind === 171 || e.kind === 174 || e.kind === 175) && (e.parent.kind === 207 || e.parent.kind === 228) } function nce(e) { return e && e.kind === 1 } function hwe(e) { return e && e.kind === 0 } function MA(e, t, r) { return e.properties.filter(i => { if (i.kind === 299) { let o = T6(i.name); return t === o || !!r && r === o } return !1 }) } function rce(e, t, r) { return ks(MA(e, t), i => fu(i.initializer) ? wr(i.initializer.elements, o => yo(o) && o.text === r) : void 0) } function LI(e) { if (e && e.statements.length) { let t = e.statements[0].expression; return zr(t, rs) } } function w6(e, t, r) { return ks(Hw(e, t), i => fu(i.initializer) ? wr(i.initializer.elements, o => yo(o) && o.text === r) : void 0) } function Hw(e, t) { let r = LI(e); return r ? MA(r, t) : Je } function Xd(e) { return jn(e.parent, Ia) } function ice(e) { return jn(e.parent, Ds) } function Zc(e) { return jn(e.parent, Yr) } function gwe(e) { return jn(e.parent, t => Yr(t) || Ia(t) ? "quit" : oc(t)) } function R6(e) { return jn(e.parent, SA) } function Ku(e, t, r) { for (L.assert(e.kind !== 308); ;) { if (e = e.parent, !e) return L.fail(); switch (e.kind) { case 164: if (r && Yr(e.parent.parent)) return e; e = e.parent.parent; break; case 167: e.parent.kind === 166 && _l(e.parent.parent) ? e = e.parent.parent : _l(e.parent) && (e = e.parent); break; case 216: if (!t) continue; case 259: case 215: case 264: case 172: case 169: case 168: case 171: case 170: case 173: case 174: case 175: case 176: case 177: case 178: case 263: case 308: return e } } } function ace(e) { switch (e.kind) { case 216: case 259: case 215: case 169: return !0; case 238: switch (e.parent.kind) { case 173: case 171: case 174: case 175: return !0; default: return !1 }default: return !1 } } function O6(e) { Re(e) && (sl(e.parent) || Jc(e.parent)) && e.parent.name === e && (e = e.parent); let t = Ku(e, !0, !1); return Li(t) } function oce(e) { let t = Ku(e, !1, !1); if (t) switch (t.kind) { case 173: case 259: case 215: return t } } function Ww(e, t) { for (; ;) { if (e = e.parent, !e) return; switch (e.kind) { case 164: e = e.parent; break; case 259: case 215: case 216: if (!t) continue; case 169: case 168: case 171: case 170: case 173: case 174: case 175: case 172: return e; case 167: e.parent.kind === 166 && _l(e.parent.parent) ? e = e.parent.parent : _l(e.parent) && (e = e.parent); break } } } function ET(e) { if (e.kind === 215 || e.kind === 216) { let t = e, r = e.parent; for (; r.kind === 214;)t = r, r = r.parent; if (r.kind === 210 && r.expression === t) return r } } function ywe(e) { return e.kind === 106 || Pu(e) } function Pu(e) { let t = e.kind; return (t === 208 || t === 209) && e.expression.kind === 106 } function zw(e) { let t = e.kind; return (t === 208 || t === 209) && e.expression.kind === 108 } function N6(e) { var t; return !!e && wi(e) && ((t = e.initializer) == null ? void 0 : t.kind) === 108 } function sce(e) { return !!e && (xf(e) || yl(e)) && ar(e.parent.parent) && e.parent.parent.operatorToken.kind === 63 && e.parent.parent.right.kind === 108 } function Jw(e) { switch (e.kind) { case 180: return e.typeName; case 230: return bc(e.expression) ? e.expression : void 0; case 79: case 163: return e } } function P6(e) { switch (e.kind) { case 212: return e.tag; case 283: case 282: return e.tagName; default: return e.expression } } function M6(e, t, r, i) { if (e && zl(t) && pi(t.name)) return !1; switch (t.kind) { case 260: return !0; case 228: return !e; case 169: return r !== void 0 && (e ? sl(r) : Yr(r) && !B0(t) && !aW(t)); case 174: case 175: case 171: return t.body !== void 0 && r !== void 0 && (e ? sl(r) : Yr(r)); case 166: return e ? r !== void 0 && r.body !== void 0 && (r.kind === 173 || r.kind === 171 || r.kind === 175) && F0(r) !== t && i !== void 0 && i.kind === 260 : !1 }return !1 } function FA(e, t, r, i) { return bf(t) && M6(e, t, r, i) } function Kw(e, t, r, i) { return FA(e, t, r, i) || kI(e, t, r) } function kI(e, t, r) { switch (t.kind) { case 260: return vt(t.members, i => Kw(e, i, t, r)); case 228: return !e && vt(t.members, i => Kw(e, i, t, r)); case 171: case 175: case 173: return vt(t.parameters, i => FA(e, i, t, r)); default: return !1 } } function O0(e, t) { if (FA(e, t)) return !0; let r = Vm(t); return !!r && kI(e, r, t) } function AH(e, t, r) { let i; if (rb(t)) { let { firstAccessor: o, secondAccessor: s, setAccessor: l } = kT(r.members, t), f = bf(o) ? o : s && bf(s) ? s : void 0; if (!f || t !== f) return !1; i = l?.parameters } else Nc(t) && (i = t.parameters); if (FA(e, t, r)) return !0; if (i) { for (let o of i) if (!G0(o) && FA(e, o, t, r)) return !0 } return !1 } function CH(e) { if (e.textSourceNode) { switch (e.textSourceNode.kind) { case 10: return CH(e.textSourceNode); case 14: return e.text === "" }return !1 } return e.text === "" } function DI(e) { let { parent: t } = e; return t.kind === 283 || t.kind === 282 || t.kind === 284 ? t.tagName === e : !1 } function Dh(e) { switch (e.kind) { case 106: case 104: case 110: case 95: case 13: case 206: case 207: case 208: case 209: case 210: case 211: case 212: case 231: case 213: case 235: case 232: case 214: case 215: case 228: case 216: case 219: case 217: case 218: case 221: case 222: case 223: case 224: case 227: case 225: case 229: case 281: case 282: case 285: case 226: case 220: case 233: return !0; case 230: return !dd(e.parent) && !x2(e.parent); case 163: for (; e.parent.kind === 163;)e = e.parent; return e.parent.kind === 183 || iS(e.parent) || IL(e.parent) || gb(e.parent) || DI(e); case 314: for (; gb(e.parent);)e = e.parent; return e.parent.kind === 183 || iS(e.parent) || IL(e.parent) || gb(e.parent) || DI(e); case 80: return ar(e.parent) && e.parent.left === e && e.parent.operatorToken.kind === 101; case 79: if (e.parent.kind === 183 || iS(e.parent) || IL(e.parent) || gb(e.parent) || DI(e)) return !0; case 8: case 9: case 10: case 14: case 108: return F6(e); default: return !1 } } function F6(e) { let { parent: t } = e; switch (t.kind) { case 257: case 166: case 169: case 168: case 302: case 299: case 205: return t.initializer === e; case 241: case 242: case 243: case 244: case 250: case 251: case 252: case 292: case 254: return t.expression === e; case 245: let r = t; return r.initializer === e && r.initializer.kind !== 258 || r.condition === e || r.incrementor === e; case 246: case 247: let i = t; return i.initializer === e && i.initializer.kind !== 258 || i.expression === e; case 213: case 231: return e === t.expression; case 236: return e === t.expression; case 164: return e === t.expression; case 167: case 291: case 290: case 301: return !0; case 230: return t.expression === e && !Gm(t); case 300: return t.objectAssignmentInitializer === e; case 235: return e === t.expression; default: return Dh(t) } } function G6(e) { for (; e.kind === 163 || e.kind === 79;)e = e.parent; return e.kind === 183 } function cce(e) { return qm(e) && !!e.parent.moduleSpecifier } function ab(e) { return e.kind === 268 && e.moduleReference.kind === 280 } function wI(e) { return L.assert(ab(e)), e.moduleReference.expression } function IH(e) { return N0(e) && $I(e.initializer).arguments[0] } function GA(e) { return e.kind === 268 && e.moduleReference.kind !== 280 } function Cu(e) { return Yn(e) } function vwe(e) { return !Yn(e) } function Yn(e) { return !!e && !!(e.flags & 262144) } function B6(e) { return !!e && !!(e.flags & 67108864) } function LH(e) { return !Mf(e) } function qw(e) { return !!e && !!(e.flags & 8388608) } function U6(e) { return m_(e) && Re(e.typeName) && e.typeName.escapedText === "Object" && e.typeArguments && e.typeArguments.length === 2 && (e.typeArguments[0].kind === 152 || e.typeArguments[0].kind === 148) } function qu(e, t) { if (e.kind !== 210) return !1; let { expression: r, arguments: i } = e; if (r.kind !== 79 || r.escapedText !== "require" || i.length !== 1) return !1; let o = i[0]; return !t || es(o) } function kH(e) { return uce(e, !1) } function N0(e) { return uce(e, !0) } function lce(e) { return Wo(e) && N0(e.parent.parent) } function uce(e, t) { return wi(e) && !!e.initializer && qu(t ? $I(e.initializer) : e.initializer, !0) } function DH(e) { return Bc(e) && e.declarationList.declarations.length > 0 && Ji(e.declarationList.declarations, t => kH(t)) } function Xw(e) { return e === 39 || e === 34 } function V6(e, t) { return k0(t, e).charCodeAt(0) === 34 } function RI(e) { return ar(e) || Us(e) || Re(e) || Pa(e) } function Yw(e) { return Yn(e) && e.initializer && ar(e.initializer) && (e.initializer.operatorToken.kind === 56 || e.initializer.operatorToken.kind === 60) && e.name && bc(e.name) && BA(e.name, e.initializer.left) ? e.initializer.right : e.initializer } function $w(e) { let t = Yw(e); return t && ob(t, ub(e.name)) } function bwe(e, t) { return mn(e.properties, r => yl(r) && Re(r.name) && r.name.escapedText === "value" && r.initializer && ob(r.initializer, t)) } function oS(e) { if (e && e.parent && ar(e.parent) && e.parent.operatorToken.kind === 63) { let t = ub(e.parent.left); return ob(e.parent.right, t) || Ewe(e.parent.left, e.parent.right, t) } if (e && Pa(e) && sS(e)) { let t = bwe(e.arguments[2], e.arguments[1].text === "prototype"); if (t) return t } } function ob(e, t) { if (Pa(e)) { let r = vs(e.expression); return r.kind === 215 || r.kind === 216 ? e : void 0 } if (e.kind === 215 || e.kind === 228 || e.kind === 216 || rs(e) && (e.properties.length === 0 || t)) return e } function Ewe(e, t, r) { let i = ar(t) && (t.operatorToken.kind === 56 || t.operatorToken.kind === 60) && ob(t.right, r); if (i && BA(e, t.left)) return i } function dce(e) { let t = wi(e.parent) ? e.parent.name : ar(e.parent) && e.parent.operatorToken.kind === 63 ? e.parent.left : void 0; return t && ob(e.right, ub(t)) && bc(t) && BA(t, e.left) } function wH(e) { if (ar(e.parent)) { let t = (e.parent.operatorToken.kind === 56 || e.parent.operatorToken.kind === 60) && ar(e.parent.parent) ? e.parent.parent : e.parent; if (t.operatorToken.kind === 63 && Re(t.left)) return t.left } else if (wi(e.parent)) return e.parent.name } function BA(e, t) { return c_(e) && c_(t) ? l_(e) === l_(t) : Ah(e) && j6(t) && (t.expression.kind === 108 || Re(t.expression) && (t.expression.escapedText === "window" || t.expression.escapedText === "self" || t.expression.escapedText === "global")) ? BA(e, eR(t)) : j6(e) && j6(t) ? wh(e) === wh(t) && BA(e.expression, t.expression) : !1 } function Qw(e) { for (; Iu(e, !0);)e = e.right; return e } function TT(e) { return Re(e) && e.escapedText === "exports" } function RH(e) { return Re(e) && e.escapedText === "module" } function Bm(e) { return (br(e) || Zw(e)) && RH(e.expression) && wh(e) === "exports" } function ic(e) { let t = Twe(e); return t === 5 || Yn(e) ? t : 0 } function sS(e) { return Fn(e.arguments) === 3 && br(e.expression) && Re(e.expression.expression) && vr(e.expression.expression) === "Object" && vr(e.expression.name) === "defineProperty" && yf(e.arguments[1]) && cS(e.arguments[0], !0) } function j6(e) { return br(e) || Zw(e) } function Zw(e) { return Vs(e) && yf(e.argumentExpression) } function ST(e, t) { return br(e) && (!t && e.expression.kind === 108 || Re(e.name) && cS(e.expression, !0)) || H6(e, t) } function H6(e, t) { return Zw(e) && (!t && e.expression.kind === 108 || bc(e.expression) || ST(e.expression, !0)) } function cS(e, t) { return bc(e) || ST(e, t) } function eR(e) { return br(e) ? e.name : e.argumentExpression } function Twe(e) { if (Pa(e)) { if (!sS(e)) return 0; let t = e.arguments[0]; return TT(t) || Bm(t) ? 8 : ST(t) && wh(t) === "prototype" ? 9 : 7 } return e.operatorToken.kind !== 63 || !Us(e.left) || Swe(Qw(e)) ? 0 : cS(e.left.expression, !0) && wh(e.left) === "prototype" && rs(OH(e)) ? 6 : tR(e.left) } function Swe(e) { return NS(e) && Vf(e.expression) && e.expression.text === "0" } function W6(e) { if (br(e)) return e.name; let t = vs(e.argumentExpression); return Vf(t) || es(t) ? t : e } function wh(e) { let t = W6(e); if (t) { if (Re(t)) return t.escapedText; if (es(t) || Vf(t)) return Bs(t.text) } } function tR(e) { if (e.expression.kind === 108) return 4; if (Bm(e)) return 2; if (cS(e.expression, !0)) { if (ub(e.expression)) return 3; let t = e; for (; !Re(t.expression);)t = t.expression; let r = t.expression; if ((r.escapedText === "exports" || r.escapedText === "module" && wh(t) === "exports") && ST(e)) return 1; if (cS(e, !0) || Vs(e) && Y6(e)) return 5 } return 0 } function OH(e) { for (; ar(e.right);)e = e.right; return e.right } function nR(e) { return ar(e) && ic(e) === 3 } function fce(e) { return Yn(e) && e.parent && e.parent.kind === 241 && (!Vs(e) || Zw(e)) && !!x0(e.parent) } function rR(e, t) { let { valueDeclaration: r } = e; (!r || !(t.flags & 16777216 && !Yn(t) && !(r.flags & 16777216)) && RI(r) && !RI(t) || r.kind !== t.kind && jse(r)) && (e.valueDeclaration = t) } function _ce(e) { if (!e || !e.valueDeclaration) return !1; let t = e.valueDeclaration; return t.kind === 259 || wi(t) && t.initializer && Ia(t.initializer) } function iR(e) { var t, r; switch (e.kind) { case 257: case 205: return (t = jn(e.initializer, i => qu(i, !0))) == null ? void 0 : t.arguments[0]; case 269: return zr(e.moduleSpecifier, es); case 268: return zr((r = zr(e.moduleReference, um)) == null ? void 0 : r.expression, es); case 270: case 277: return zr(e.parent.moduleSpecifier, es); case 271: case 278: return zr(e.parent.parent.moduleSpecifier, es); case 273: return zr(e.parent.parent.parent.moduleSpecifier, es); default: L.assertNever(e) } } function aR(e) { return oR(e) || L.failBadSyntaxKind(e.parent) } function oR(e) { switch (e.parent.kind) { case 269: case 275: return e.parent; case 280: return e.parent.parent; case 210: return Dd(e.parent) || qu(e.parent, !1) ? e.parent : void 0; case 198: return L.assert(yo(e)), zr(e.parent.parent, Mh); default: return } } function UA(e) { switch (e.kind) { case 269: case 275: return e.moduleSpecifier; case 268: return e.moduleReference.kind === 280 ? e.moduleReference.expression : void 0; case 202: return ib(e) ? e.argument.literal : void 0; case 210: return e.arguments[0]; case 264: return e.name.kind === 10 ? e.name : void 0; default: return L.assertNever(e) } } function VA(e) { switch (e.kind) { case 269: return e.importClause && zr(e.importClause.namedBindings, nv); case 268: return e; case 275: return e.exportClause && zr(e.exportClause, qm); default: return L.assertNever(e) } } function lS(e) { return e.kind === 269 && !!e.importClause && !!e.importClause.name } function z6(e, t) { if (e.name) { let r = t(e); if (r) return r } if (e.namedBindings) { let r = nv(e.namedBindings) ? t(e.namedBindings) : mn(e.namedBindings.elements, t); if (r) return r } } function uS(e) { if (e) switch (e.kind) { case 166: case 171: case 170: case 300: case 299: case 169: case 168: return e.questionToken !== void 0 }return !1 } function jA(e) { let t = S2(e) ? Sl(e.parameters) : void 0, r = zr(t && t.name, Re); return !!r && r.escapedText === "new" } function Ff(e) { return e.kind === 349 || e.kind === 341 || e.kind === 343 } function sR(e) { return Ff(e) || Ep(e) } function xwe(e) { return Ol(e) && ar(e.expression) && e.expression.operatorToken.kind === 63 ? Qw(e.expression) : void 0 } function pce(e) { return Ol(e) && ar(e.expression) && ic(e.expression) !== 0 && ar(e.expression.right) && (e.expression.right.operatorToken.kind === 56 || e.expression.right.operatorToken.kind === 60) ? e.expression.right.right : void 0 } function NH(e) { switch (e.kind) { case 240: let t = HA(e); return t && t.initializer; case 169: return e.initializer; case 299: return e.initializer } } function HA(e) { return Bc(e) ? Sl(e.declarationList.declarations) : void 0 } function mce(e) { return Tc(e) && e.body && e.body.kind === 264 ? e.body : void 0 } function cR(e) { if (e.kind >= 240 && e.kind <= 256) return !0; switch (e.kind) { case 79: case 108: case 106: case 163: case 233: case 209: case 208: case 205: case 215: case 216: case 171: case 174: case 175: return !0; default: return !1 } } function lR(e) { switch (e.kind) { case 216: case 223: case 238: case 249: case 176: case 292: case 260: case 228: case 172: case 173: case 182: case 177: case 248: case 256: case 243: case 209: case 239: case 1: case 263: case 302: case 274: case 275: case 278: case 241: case 246: case 247: case 245: case 259: case 215: case 181: case 174: case 79: case 242: case 269: case 268: case 178: case 261: case 320: case 326: case 253: case 171: case 170: case 264: case 199: case 267: case 207: case 166: case 214: case 208: case 299: case 169: case 168: case 250: case 175: case 300: case 301: case 252: case 254: case 255: case 262: case 165: case 257: case 240: case 244: case 251: return !0; default: return !1 } } function PH(e, t) { let r; PA(e) && Jy(e) && Kd(e.initializer) && (r = si(r, hce(e, To(e.initializer.jsDoc)))); let i = e; for (; i && i.parent;) { if (Kd(i) && (r = si(r, hce(e, To(i.jsDoc)))), i.kind === 166) { r = si(r, (t ? joe : fI)(i)); break } if (i.kind === 165) { r = si(r, (t ? zoe : Woe)(i)); break } i = MH(i) } return r || Je } function hce(e, t) { if (dm(t)) { let r = Pr(t.tags, i => gce(e, i)); return t.tags === r ? [t] : r } return gce(e, t) ? [t] : void 0 } function gce(e, t) { return !(DL(t) || v3(t)) || !t.parent || !dm(t.parent) || !ud(t.parent.parent) || t.parent.parent === e } function MH(e) { let t = e.parent; if (t.kind === 299 || t.kind === 274 || t.kind === 169 || t.kind === 241 && e.kind === 208 || t.kind === 250 || mce(t) || ar(e) && e.operatorToken.kind === 63) return t; if (t.parent && (HA(t.parent) === e || ar(t) && t.operatorToken.kind === 63)) return t.parent; if (t.parent && t.parent.parent && (HA(t.parent.parent) || NH(t.parent.parent) === e || pce(t.parent.parent))) return t.parent.parent } function uR(e) { if (e.symbol) return e.symbol; if (!Re(e.name)) return; let t = e.name.escapedText, r = sb(e); if (!r) return; let i = wr(r.parameters, o => o.name.kind === 79 && o.name.escapedText === t); return i && i.symbol } function J6(e) { if (dm(e.parent) && e.parent.tags) { let t = wr(e.parent.tags, Ff); if (t) return t } return sb(e) } function sb(e) { let t = WA(e); if (t) return $d(t) && t.type && Ia(t.type) ? t.type : Ia(t) ? t : void 0 } function WA(e) { let t = dS(e); if (t) return pce(t) || xwe(t) || NH(t) || HA(t) || mce(t) || t } function dS(e) { let t = OI(e); if (!t) return; let r = t.parent; if (r && r.jsDoc && t === Os(r.jsDoc)) return r } function OI(e) { return jn(e.parent, dm) } function yce(e) { let t = e.name.escapedText, { typeParameters: r } = e.parent.parent.parent; return r && wr(r, i => i.name.escapedText === t) } function Awe(e) { return !!e.typeArguments } function xT(e) { let t = e.parent; for (; ;) { switch (t.kind) { case 223: let r = t.operatorToken.kind; return Mg(r) && t.left === e ? r === 63 || HI(r) ? 1 : 2 : 0; case 221: case 222: let i = t.operator; return i === 45 || i === 46 ? 2 : 0; case 246: case 247: return t.initializer === e ? 1 : 0; case 214: case 206: case 227: case 232: e = t; break; case 301: e = t.parent; break; case 300: if (t.name !== e) return 0; e = t.parent; break; case 299: if (t.name === e) return 0; e = t.parent; break; default: return 0 }t = e.parent } } function Um(e) { return xT(e) !== 0 } function vce(e) { switch (e.kind) { case 238: case 240: case 251: case 242: case 252: case 266: case 292: case 293: case 253: case 245: case 246: case 247: case 243: case 244: case 255: case 295: return !0 }return !1 } function bce(e) { return ms(e) || xs(e) || xA(e) || Jc(e) || Ec(e) } function Ece(e, t) { for (; e && e.kind === t;)e = e.parent; return e } function dR(e) { return Ece(e, 193) } function qy(e) { return Ece(e, 214) } function Tce(e) { let t; for (; e && e.kind === 193;)t = e, e = e.parent; return [t, e] } function FH(e) { for (; wS(e);)e = e.type; return e } function vs(e, t) { return ql(e, t ? 17 : 1) } function GH(e) { return e.kind !== 208 && e.kind !== 209 ? !1 : (e = qy(e.parent), e && e.kind === 217) } function AT(e, t) { for (; e;) { if (e === t) return !0; e = e.parent } return !1 } function Rh(e) { return !Li(e) && !La(e) && Kl(e.parent) && e.parent.name === e } function fR(e) { let t = e.parent; switch (e.kind) { case 10: case 14: case 8: if (ts(t)) return t.parent; case 79: if (Kl(t)) return t.name === e ? t : void 0; if (Yu(t)) { let r = t.parent; return xp(r) && r.name === t ? r : void 0 } else { let r = t.parent; return ar(r) && ic(r) !== 0 && (r.left.symbol || r.symbol) && sa(r) === e ? r : void 0 } case 80: return Kl(t) && t.name === e ? t : void 0; default: return } } function _R(e) { return yf(e) && e.parent.kind === 164 && Kl(e.parent.parent) } function Sce(e) { let t = e.parent; switch (t.kind) { case 169: case 168: case 171: case 170: case 174: case 175: case 302: case 299: case 208: return t.name === e; case 163: return t.right === e; case 205: case 273: return t.propertyName === e; case 278: case 288: case 282: case 283: case 284: return !0 }return !1 } function Cwe(e) { return e.kind === 268 || e.kind === 267 || e.kind === 270 && e.name || e.kind === 271 || e.kind === 277 || e.kind === 273 || e.kind === 278 || e.kind === 274 && zA(e) ? !0 : Yn(e) && (ar(e) && ic(e) === 2 && zA(e) || br(e) && ar(e.parent) && e.parent.left === e && e.parent.operatorToken.kind === 63 && pR(e.parent.right)) } function BH(e) { switch (e.parent.kind) { case 270: case 273: case 271: case 278: case 274: case 268: case 277: return e.parent; case 163: do e = e.parent; while (e.parent.kind === 163); return BH(e) } } function pR(e) { return bc(e) || _u(e) } function zA(e) { let t = UH(e); return pR(t) } function UH(e) { return pc(e) ? e.expression : e.right } function xce(e) { return e.kind === 300 ? e.name : e.kind === 299 ? e.initializer : e.parent.right } function hp(e) { let t = P0(e); if (t && Yn(e)) { let r = Koe(e); if (r) return r.class } return t } function P0(e) { let t = mR(e.heritageClauses, 94); return t && t.types.length > 0 ? t.types[0] : void 0 } function JA(e) { if (Yn(e)) return qoe(e).map(t => t.class); { let t = mR(e.heritageClauses, 117); return t?.types } } function NI(e) { return ku(e) ? PI(e) || Je : Yr(e) && Qi(aT(hp(e)), JA(e)) || Je } function PI(e) { let t = mR(e.heritageClauses, 94); return t ? t.types : void 0 } function mR(e, t) { if (e) { for (let r of e) if (r.token === t) return r } } function cb(e, t) { for (; e;) { if (e.kind === t) return e; e = e.parent } } function Xu(e) { return 81 <= e && e <= 162 } function K6(e) { return 126 <= e && e <= 162 } function Ace(e) { return Xu(e) && !K6(e) } function Iwe(e) { return 117 <= e && e <= 125 } function fS(e) { let t = lT(e); return t !== void 0 && Ace(t) } function Lwe(e) { let t = lT(e); return t !== void 0 && Xu(t) } function q6(e) { let t = nb(e); return !!t && !K6(t) } function KA(e) { return 2 <= e && e <= 7 } function pl(e) { if (!e) return 4; let t = 0; switch (e.kind) { case 259: case 215: case 171: e.asteriskToken && (t |= 1); case 216: Mr(e, 512) && (t |= 2); break }return e.body || (t |= 4), t } function qA(e) { switch (e.kind) { case 259: case 215: case 216: case 171: return e.body !== void 0 && e.asteriskToken === void 0 && Mr(e, 512) }return !1 } function yf(e) { return es(e) || Vf(e) } function X6(e) { return tv(e) && (e.operator === 39 || e.operator === 40) && Vf(e.operand) } function Xy(e) { let t = sa(e); return !!t && Y6(t) } function Y6(e) { if (!(e.kind === 164 || e.kind === 209)) return !1; let t = Vs(e) ? vs(e.argumentExpression) : e.expression; return !yf(t) && !X6(t) } function M0(e) { switch (e.kind) { case 79: case 80: return e.escapedText; case 10: case 8: return Bs(e.text); case 164: let t = e.expression; return yf(t) ? Bs(t.text) : X6(t) ? t.operator === 40 ? Xa(t.operator) + t.operand.text : t.operand.text : void 0; default: return L.assertNever(e) } } function c_(e) { switch (e.kind) { case 79: case 10: case 14: case 8: return !0; default: return !1 } } function l_(e) { return Ah(e) ? vr(e) : e.text } function MI(e) { return Ah(e) ? e.escapedText : Bs(e.text) } function kwe(e) { return `__@${$a(e)}@${e.escapedName}` } function hR(e, t) { return `__#${$a(e)}@${t}` } function gR(e) { return na(e.escapedName, "__@") } function Cce(e) { return na(e.escapedName, "__#") } function Dwe(e) { return e.kind === 79 && e.escapedText === "Symbol" } function Ice(e) { return Re(e) ? vr(e) === "__proto__" : yo(e) && e.text === "__proto__" } function FI(e, t) { switch (e = ql(e), e.kind) { case 228: case 215: if (e.name) return !1; break; case 216: break; default: return !1 }return typeof t == "function" ? t(e) : !0 } function VH(e) { switch (e.kind) { case 299: return !Ice(e.name); case 300: return !!e.objectAssignmentInitializer; case 257: return Re(e.name) && !!e.initializer; case 166: return Re(e.name) && !!e.initializer && !e.dotDotDotToken; case 205: return Re(e.name) && !!e.initializer && !e.dotDotDotToken; case 169: return !!e.initializer; case 223: switch (e.operatorToken.kind) { case 63: case 76: case 75: case 77: return Re(e.left) }break; case 274: return !0 }return !1 } function vf(e, t) { if (!VH(e)) return !1; switch (e.kind) { case 299: return FI(e.initializer, t); case 300: return FI(e.objectAssignmentInitializer, t); case 257: case 166: case 205: case 169: return FI(e.initializer, t); case 223: return FI(e.right, t); case 274: return FI(e.expression, t) } } function jH(e) { return e.escapedText === "push" || e.escapedText === "unshift" } function CT(e) { return nm(e).kind === 166 } function nm(e) { for (; e.kind === 205;)e = e.parent.parent; return e } function HH(e) { let t = e.kind; return t === 173 || t === 215 || t === 259 || t === 216 || t === 171 || t === 174 || t === 175 || t === 264 || t === 308 } function ws(e) { return vp(e.pos) || vp(e.end) } function wwe(e) { return ea(e, Li) || e } function WH(e) { let t = JH(e), r = e.kind === 211 && e.arguments !== void 0; return zH(e.kind, t, r) } function zH(e, t, r) { switch (e) { case 211: return r ? 0 : 1; case 221: case 218: case 219: case 217: case 220: case 224: case 226: return 1; case 223: switch (t) { case 42: case 63: case 64: case 65: case 67: case 66: case 68: case 69: case 70: case 71: case 72: case 73: case 78: case 74: case 75: case 76: case 77: return 1 } }return 0 } function $6(e) { let t = JH(e), r = e.kind === 211 && e.arguments !== void 0; return yR(e.kind, t, r) } function JH(e) { return e.kind === 223 ? e.operatorToken.kind : e.kind === 221 || e.kind === 222 ? e.operator : e.kind } function yR(e, t, r) { switch (e) { case 357: return 0; case 227: return 1; case 226: return 2; case 224: return 4; case 223: switch (t) { case 27: return 0; case 63: case 64: case 65: case 67: case 66: case 68: case 69: case 70: case 71: case 72: case 73: case 78: case 74: case 75: case 76: case 77: return 3; default: return vR(t) }case 213: case 232: case 221: case 218: case 219: case 217: case 220: return 16; case 222: return 17; case 210: return 18; case 211: return r ? 19 : 18; case 212: case 208: case 209: case 233: return 19; case 231: case 235: return 11; case 108: case 106: case 79: case 80: case 104: case 110: case 95: case 8: case 9: case 10: case 206: case 207: case 215: case 216: case 228: case 13: case 14: case 225: case 214: case 229: case 281: case 282: case 285: return 20; default: return -1 } } function vR(e) { switch (e) { case 60: return 4; case 56: return 5; case 55: return 6; case 51: return 7; case 52: return 8; case 50: return 9; case 34: case 35: case 36: case 37: return 10; case 29: case 31: case 32: case 33: case 102: case 101: case 128: case 150: return 11; case 47: case 48: case 49: return 12; case 39: case 40: return 13; case 41: case 43: case 44: return 14; case 42: return 15 }return -1 } function bR(e) { return Pr(e, t => { switch (t.kind) { case 291: return !!t.expression; case 11: return !t.containsOnlyTriviaWhiteSpaces; default: return !0 } }) } function XA() { let e = [], t = [], r = new Map, i = !1; return { add: s, lookup: o, getGlobalDiagnostics: l, getDiagnostics: f }; function o(d) { let g; if (d.file ? g = r.get(d.file.fileName) : g = e, !g) return; let m = Py(g, d, Ks, c4); if (m >= 0) return g[m] } function s(d) { let g; d.file ? (g = r.get(d.file.fileName), g || (g = [], r.set(d.file.fileName, g), Ny(t, d.file.fileName, su))) : (i && (i = !1, e = e.slice()), g = e), Ny(g, d, c4) } function l() { return i = !0, e } function f(d) { if (d) return r.get(d) || []; let g = BD(t, m => r.get(m)); return e.length && g.unshift(...e), g } } function Rwe(e) { return e.replace(Jle, "\\${") } function KH(e) { return e && !!(IS(e) ? e.templateFlags : e.head.templateFlags || vt(e.templateSpans, t => !!t.literal.templateFlags)) } function Lce(e) { return "\\u" + ("0000" + e.toString(16).toUpperCase()).slice(-4) } function Owe(e, t, r) { if (e.charCodeAt(0) === 0) { let i = r.charCodeAt(t + e.length); return i >= 48 && i <= 57 ? "\\x00" : "\\0" } return Yle.get(e) || Lce(e.charCodeAt(0)) } function _S(e, t) { let r = t === 96 ? Xle : t === 39 ? qle : Kle; return e.replace(r, Owe) } function ER(e, t) { return e = _S(e, t), ez.test(e) ? e.replace(ez, r => Lce(r.charCodeAt(0))) : e } function Nwe(e) { return "&#x" + e.toString(16).toUpperCase() + ";" } function Pwe(e) { return e.charCodeAt(0) === 0 ? "&#0;" : Zle.get(e) || Nwe(e.charCodeAt(0)) } function qH(e, t) { let r = t === 39 ? Qle : $le; return e.replace(r, Pwe) } function u_(e) { let t = e.length; return t >= 2 && e.charCodeAt(0) === e.charCodeAt(t - 1) && Mwe(e.charCodeAt(0)) ? e.substring(1, t - 1) : e } function Mwe(e) { return e === 39 || e === 34 || e === 96 } function GI(e) { let t = e.charCodeAt(0); return t >= 97 && t <= 122 || jl(e, "-") || jl(e, ":") } function Q6(e) { let t = s2[1]; for (let r = s2.length; r <= e; r++)s2.push(s2[r - 1] + t); return s2[e] } function YA() { return s2[1].length } function TR() { return jl(Rf, "-dev") || jl(Rf, "-insiders") } function SR(e) { var t, r, i, o, s, l = !1; function f(C) { let P = hw(C); P.length > 1 ? (o = o + P.length - 1, s = t.length - C.length + To(P), i = s - t.length === 0) : i = !1 } function d(C) { C && C.length && (i && (C = Q6(r) + C, i = !1), t += C, f(C)) } function g(C) { C && (l = !1), d(C) } function m(C) { C && (l = !0), d(C) } function v() { t = "", r = 0, i = !0, o = 0, s = 0, l = !1 } function S(C) { C !== void 0 && (t += C, f(C), l = !1) } function x(C) { C && C.length && g(C) } function A(C) { (!i || C) && (t += e, o++, s = t.length, i = !0, l = !1) } function w() { return i ? t.length : t.length + e.length } return v(), { write: g, rawWrite: S, writeLiteral: x, writeLine: A, increaseIndent: () => { r++ }, decreaseIndent: () => { r-- }, getIndent: () => r, getTextPos: () => t.length, getLine: () => o, getColumn: () => i ? r * YA() : t.length - s, getText: () => t, isAtStartOfLine: () => i, hasTrailingComment: () => l, hasTrailingWhitespace: () => !!t.length && xh(t.charCodeAt(t.length - 1)), clear: v, writeKeyword: g, writeOperator: g, writeParameter: g, writeProperty: g, writePunctuation: g, writeSpace: g, writeStringLiteral: g, writeSymbol: (C, P) => g(C), writeTrailingSemicolon: g, writeComment: m, getTextPosWithWriteLine: w } } function XH(e) { let t = !1; function r() { t && (e.writeTrailingSemicolon(";"), t = !1) } return { ...e, writeTrailingSemicolon() { t = !0 }, writeLiteral(i) { r(), e.writeLiteral(i) }, writeStringLiteral(i) { r(), e.writeStringLiteral(i) }, writeSymbol(i, o) { r(), e.writeSymbol(i, o) }, writePunctuation(i) { r(), e.writePunctuation(i) }, writeKeyword(i) { r(), e.writeKeyword(i) }, writeOperator(i) { r(), e.writeOperator(i) }, writeParameter(i) { r(), e.writeParameter(i) }, writeSpace(i) { r(), e.writeSpace(i) }, writeProperty(i) { r(), e.writeProperty(i) }, writeComment(i) { r(), e.writeComment(i) }, writeLine() { r(), e.writeLine() }, increaseIndent() { r(), e.increaseIndent() }, decreaseIndent() { r(), e.decreaseIndent() } } } function xR(e) { return e.useCaseSensitiveFileNames ? e.useCaseSensitiveFileNames() : !1 } function lb(e) { return Dl(xR(e)) } function Z6(e, t, r) { return t.moduleName || YH(e, t.fileName, r && r.fileName) } function kce(e, t) { return e.getCanonicalFileName(_a(t, e.getCurrentDirectory())) } function Dce(e, t, r) { let i = t.getExternalModuleFileFromDeclaration(r); if (!i || i.isDeclarationFile) return; let o = UA(r); if (!(o && es(o) && !Jd(o.text) && kce(e, i.path).indexOf(kce(e, cu(e.getCommonSourceDirectory()))) === -1)) return Z6(e, i) } function YH(e, t, r) { let i = d => e.getCanonicalFileName(d), o = Ts(r ? ni(r) : e.getCommonSourceDirectory(), e.getCurrentDirectory(), i), s = _a(t, e.getCurrentDirectory()), l = Q1(o, s, o, i, !1), f = ld(l); return r ? S0(f) : f } function wce(e, t, r) { let i = t.getCompilerOptions(), o; return i.outDir ? o = ld(e4(e, t, i.outDir)) : o = ld(e), o + r } function Rce(e, t) { return $H(e, t.getCompilerOptions(), t.getCurrentDirectory(), t.getCommonSourceDirectory(), r => t.getCanonicalFileName(r)) } function $H(e, t, r, i, o) { let s = t.declarationDir || t.outDir, l = s ? tW(e, s, r, i, o) : e, f = QH(l); return ld(l) + f } function QH(e) { return $c(e, [".mjs", ".mts"]) ? ".d.mts" : $c(e, [".cjs", ".cts"]) ? ".d.cts" : $c(e, [".json"]) ? ".d.json.ts" : ".d.ts" } function Oce(e) { return $c(e, [".d.mts", ".mjs", ".mts"]) ? [".mts", ".mjs"] : $c(e, [".d.cts", ".cjs", ".cts"]) ? [".cts", ".cjs"] : $c(e, [".d.json.ts"]) ? [".json"] : [".tsx", ".ts", ".jsx", ".js"] } function Ss(e) { return e.outFile || e.out } function ZH(e, t) { var r, i; if (e.paths) return (i = e.baseUrl) != null ? i : L.checkDefined(e.pathsBasePath || ((r = t.getCurrentDirectory) == null ? void 0 : r.call(t)), "Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.") } function eW(e, t, r) { let i = e.getCompilerOptions(); if (Ss(i)) { let o = Rl(i), s = i.emitDeclarationOnly || o === 2 || o === 4; return Pr(e.getSourceFiles(), l => (s || !Lc(l)) && pS(l, e, r)) } else { let o = t === void 0 ? e.getSourceFiles() : [t]; return Pr(o, s => pS(s, e, r)) } } function pS(e, t, r) { return !(t.getCompilerOptions().noEmitForJsFiles && Cu(e)) && !e.isDeclarationFile && !t.isSourceFileFromExternalLibrary(e) && (r || !(Mf(e) && t.getResolvedProjectReferenceToRedirect(e.fileName)) && !t.isSourceOfProjectReferenceRedirect(e.fileName)) } function e4(e, t, r) { return tW(e, r, t.getCurrentDirectory(), t.getCommonSourceDirectory(), i => t.getCanonicalFileName(i)) } function tW(e, t, r, i, o) { let s = _a(e, r); return s = o(s).indexOf(o(i)) === 0 ? s.substring(i.length) : s, vi(t, s) } function BI(e, t, r, i, o, s, l) { e.writeFile(r, i, o, f => { t.add(ps(_.Could_not_write_file_0_Colon_1, r, f)) }, s, l) } function Nce(e, t, r) { if (e.length > _p(e) && !r(e)) { let i = ni(e); Nce(i, t, r), t(e) } } function nW(e, t, r, i, o, s) { try { i(e, t, r) } catch { Nce(ni(So(e)), o, s), i(e, t, r) } } function UI(e, t) { let r = Sh(e); return aI(r, t) } function IT(e, t) { return aI(e, t) } function Vm(e) { return wr(e.members, t => Ec(t) && Pf(t.body)) } function VI(e) { if (e && e.parameters.length > 0) { let t = e.parameters.length === 2 && G0(e.parameters[0]); return e.parameters[t ? 1 : 0] } } function Pce(e) { let t = VI(e); return t && t.type } function F0(e) { if (e.parameters.length && !X0(e)) { let t = e.parameters[0]; if (G0(t)) return t } } function G0(e) { return LT(e.name) } function LT(e) { return !!e && e.kind === 79 && rW(e) } function mS(e) { if (!LT(e)) return !1; for (; Yu(e.parent) && e.parent.left === e;)e = e.parent; return e.parent.kind === 183 } function rW(e) { return e.escapedText === "this" } function kT(e, t) { let r, i, o, s; return Xy(t) ? (r = t, t.kind === 174 ? o = t : t.kind === 175 ? s = t : L.fail("Accessor has wrong kind")) : mn(e, l => { if (rb(l) && Ca(l) === Ca(t)) { let f = M0(l.name), d = M0(t.name); f === d && (r ? i || (i = l) : r = l, l.kind === 174 && !o && (o = l), l.kind === 175 && !s && (s = l)) } }), { firstAccessor: r, secondAccessor: i, getAccessor: o, setAccessor: s } } function Cl(e) { if (!Yn(e) && Jc(e)) return; let t = e.type; return t || !Yn(e) ? t : a6(e) ? e.typeExpression && e.typeExpression.type : Vy(e) } function Mce(e) { return e.type } function U_(e) { return X0(e) ? e.type && e.type.typeExpression && e.type.typeExpression.type : e.type || (Yn(e) ? Aw(e) : void 0) } function t4(e) { return Uo(A0(e), t => Fwe(t) ? t.typeParameters : void 0) } function Fwe(e) { return H_(e) && !(e.parent.kind === 323 && (e.parent.tags.some(Ff) || e.parent.tags.some(kL))) } function Fce(e) { let t = VI(e); return t && Cl(t) } function Gce(e, t, r, i) { Bce(e, t, r.pos, i) } function Bce(e, t, r, i) { i && i.length && r !== i[0].pos && IT(e, r) !== IT(e, i[0].pos) && t.writeLine() } function Uce(e, t, r, i) { r !== i && IT(e, r) !== IT(e, i) && t.writeLine() } function Vce(e, t, r, i, o, s, l, f) { if (i && i.length > 0) { o && r.writeSpace(" "); let d = !1; for (let g of i) d && (r.writeSpace(" "), d = !1), f(e, t, r, g.pos, g.end, l), g.hasTrailingNewLine ? r.writeLine() : d = !0; d && s && r.writeSpace(" ") } } function jce(e, t, r, i, o, s, l) { let f, d; if (l ? o.pos === 0 && (f = Pr(Nm(e, o.pos), g)) : f = Nm(e, o.pos), f) { let m = [], v; for (let S of f) { if (v) { let x = IT(t, v.end); if (IT(t, S.pos) >= x + 2) break } m.push(S), v = S } if (m.length) { let S = IT(t, To(m).end); IT(t, xo(e, o.pos)) >= S + 2 && (Gce(t, r, o, f), Vce(e, t, r, m, !1, !0, s, i), d = { nodePos: o.pos, detachedCommentEndPos: To(m).end }) } } return d; function g(m) { return y6(e, m.pos) } } function $A(e, t, r, i, o, s) { if (e.charCodeAt(i + 1) === 42) { let l = yw(t, i), f = t.length, d; for (let g = i, m = l.line; g < o; m++) { let v = m + 1 === f ? e.length + 1 : t[m + 1]; if (g !== i) { d === void 0 && (d = Hce(e, t[l.line], i)); let x = r.getIndent() * YA() - d + Hce(e, g, v); if (x > 0) { let A = x % YA(), w = Q6((x - A) / YA()); for (r.rawWrite(w); A;)r.rawWrite(" "), A-- } else r.rawWrite("") } Gwe(e, o, r, s, g, v), g = v } } else r.writeComment(e.substring(i, o)) } function Gwe(e, t, r, i, o, s) { let l = Math.min(t, s - 1), f = v0(e.substring(o, l)); f ? (r.writeComment(f), l !== t && r.writeLine()) : r.rawWrite(i) } function Hce(e, t, r) { let i = 0; for (; t < r && Yp(e.charCodeAt(t)); t++)e.charCodeAt(t) === 9 ? i += YA() - i % YA() : i++; return i } function n4(e) { return uu(e) !== 0 } function Wce(e) { return Yy(e) !== 0 } function cd(e, t) { return !!hS(e, t) } function Mr(e, t) { return !!zce(e, t) } function Ca(e) { return _l(e) && zc(e) || oc(e) } function zc(e) { return Mr(e, 32) } function iW(e) { return cd(e, 16384) } function B0(e) { return Mr(e, 256) } function aW(e) { return Mr(e, 2) } function rm(e) { return Mr(e, 128) } function jI(e) { return cd(e, 64) } function bf(e) { return Mr(e, 131072) } function hS(e, t) { return uu(e) & t } function zce(e, t) { return Yy(e) & t } function oW(e, t, r) { return e.kind >= 0 && e.kind <= 162 ? 0 : (e.modifierFlagsCache & 536870912 || (e.modifierFlagsCache = sW(e) | 536870912), t && !(e.modifierFlagsCache & 4096) && (r || Yn(e)) && e.parent && (e.modifierFlagsCache |= Kce(e) | 4096), e.modifierFlagsCache & -536875009) } function uu(e) { return oW(e, !0) } function Jce(e) { return oW(e, !0, !0) } function Yy(e) { return oW(e, !1) } function Kce(e) { let t = 0; return e.parent && !ha(e) && (Yn(e) && (Xoe(e) && (t |= 4), Yoe(e) && (t |= 8), $oe(e) && (t |= 16), Qoe(e) && (t |= 64), Zoe(e) && (t |= 16384)), ese(e) && (t |= 8192)), t } function qce(e) { return sW(e) | Kce(e) } function sW(e) { let t = g_(e) ? im(e.modifiers) : 0; return (e.flags & 4 || e.kind === 79 && e.flags & 2048) && (t |= 1), t } function im(e) { let t = 0; if (e) for (let r of e) t |= gS(r.kind); return t } function gS(e) { switch (e) { case 124: return 32; case 123: return 4; case 122: return 16; case 121: return 8; case 126: return 256; case 127: return 128; case 93: return 1; case 136: return 2; case 85: return 2048; case 88: return 1024; case 132: return 512; case 146: return 64; case 161: return 16384; case 101: return 32768; case 145: return 65536; case 167: return 131072 }return 0 } function Xce(e) { return e === 56 || e === 55 } function Yce(e) { return Xce(e) || e === 53 } function HI(e) { return e === 75 || e === 76 || e === 77 } function cW(e) { return ar(e) && HI(e.operatorToken.kind) } function AR(e) { return Xce(e) || e === 60 } function CR(e) { return ar(e) && AR(e.operatorToken.kind) } function Mg(e) { return e >= 63 && e <= 78 } function lW(e) { let t = uW(e); return t && !t.isImplements ? t.class : void 0 } function uW(e) { if (Vg(e)) { if (dd(e.parent) && Yr(e.parent.parent)) return { class: e.parent.parent, isImplements: e.parent.token === 117 }; if (x2(e.parent)) { let t = WA(e.parent); if (t && Yr(t)) return { class: t, isImplements: !1 } } } } function Iu(e, t) { return ar(e) && (t ? e.operatorToken.kind === 63 : Mg(e.operatorToken.kind)) && Ju(e.left) } function Bwe(e) { return Iu(e.parent) && e.parent.left === e } function Fg(e) { if (Iu(e, !0)) { let t = e.left.kind; return t === 207 || t === 206 } return !1 } function IR(e) { return lW(e) !== void 0 } function bc(e) { return e.kind === 79 || LR(e) } function Yd(e) { switch (e.kind) { case 79: return e; case 163: do e = e.left; while (e.kind !== 79); return e; case 208: do e = e.expression; while (e.kind !== 79); return e } } function WI(e) { return e.kind === 79 || e.kind === 108 || e.kind === 106 || e.kind === 233 || e.kind === 208 && WI(e.expression) || e.kind === 214 && WI(e.expression) } function LR(e) { return br(e) && Re(e.name) && bc(e.expression) } function kR(e) { if (br(e)) { let t = kR(e.expression); if (t !== void 0) return t + "." + qd(e.name) } else if (Vs(e)) { let t = kR(e.expression); if (t !== void 0 && Ys(e.argumentExpression)) return t + "." + M0(e.argumentExpression) } else if (Re(e)) return Gi(e.escapedText) } function ub(e) { return ST(e) && wh(e) === "prototype" } function zI(e) { return e.parent.kind === 163 && e.parent.right === e || e.parent.kind === 208 && e.parent.name === e } function $ce(e) { return br(e.parent) && e.parent.name === e || Vs(e.parent) && e.parent.argumentExpression === e } function Qce(e) { return Yu(e.parent) && e.parent.right === e || br(e.parent) && e.parent.name === e || gb(e.parent) && e.parent.right === e } function dW(e) { return e.kind === 207 && e.properties.length === 0 } function Zce(e) { return e.kind === 206 && e.elements.length === 0 } function QA(e) { if (!(!Uwe(e) || !e.declarations)) { for (let t of e.declarations) if (t.localSymbol) return t.localSymbol } } function Uwe(e) { return e && Fn(e.declarations) > 0 && Mr(e.declarations[0], 1024) } function r4(e) { return wr(iue, t => Gc(e, t)) } function Vwe(e) { let t = [], r = e.length; for (let i = 0; i < r; i++) { let o = e.charCodeAt(i); o < 128 ? t.push(o) : o < 2048 ? (t.push(o >> 6 | 192), t.push(o & 63 | 128)) : o < 65536 ? (t.push(o >> 12 | 224), t.push(o >> 6 & 63 | 128), t.push(o & 63 | 128)) : o < 131072 ? (t.push(o >> 18 | 240), t.push(o >> 12 & 63 | 128), t.push(o >> 6 & 63 | 128), t.push(o & 63 | 128)) : L.assert(!1, "Unexpected code point") } return t } function ele(e) { let t = "", r = Vwe(e), i = 0, o = r.length, s, l, f, d; for (; i < o;)s = r[i] >> 2, l = (r[i] & 3) << 4 | r[i + 1] >> 4, f = (r[i + 1] & 15) << 2 | r[i + 2] >> 6, d = r[i + 2] & 63, i + 1 >= o ? f = d = 64 : i + 2 >= o && (d = 64), t += H0.charAt(s) + H0.charAt(l) + H0.charAt(f) + H0.charAt(d), i += 3; return t } function jwe(e) { let t = "", r = 0, i = e.length; for (; r < i;) { let o = e[r]; if (o < 128) t += String.fromCharCode(o), r++; else if ((o & 192) === 192) { let s = o & 63; r++; let l = e[r]; for (; (l & 192) === 128;)s = s << 6 | l & 63, r++, l = e[r]; t += String.fromCharCode(s) } else t += String.fromCharCode(o), r++ } return t } function tle(e, t) { return e && e.base64encode ? e.base64encode(t) : ele(t) } function nle(e, t) { if (e && e.base64decode) return e.base64decode(t); let r = t.length, i = [], o = 0; for (; o < r && t.charCodeAt(o) !== H0.charCodeAt(64);) { let s = H0.indexOf(t[o]), l = H0.indexOf(t[o + 1]), f = H0.indexOf(t[o + 2]), d = H0.indexOf(t[o + 3]), g = (s & 63) << 2 | l >> 4 & 3, m = (l & 15) << 4 | f >> 2 & 15, v = (f & 3) << 6 | d & 63; m === 0 && f !== 0 ? i.push(g) : v === 0 && d !== 0 ? i.push(g, m) : i.push(g, m, v), o += 4 } return jwe(i) } function fW(e, t) { let r = Ta(t) ? t : t.readFile(e); if (!r) return; let i = vJ(e, r); return i.error ? void 0 : i.config } function JI(e, t) { return fW(e, t) || {} } function gp(e, t) { return !t.directoryExists || t.directoryExists(e) } function db(e) { switch (e.newLine) { case 0: return eue; case 1: case void 0: return tue } } function Gf(e, t = e) { return L.assert(t >= e || t === -1), { pos: e, end: t } } function i4(e, t) { return Gf(e.pos, t) } function fb(e, t) { return Gf(t, e.end) } function $y(e) { let t = g_(e) ? dA(e.modifiers, du) : void 0; return t && !vp(t.end) ? fb(e, t.end) : e } function yp(e) { if (Na(e) || Nc(e)) return fb(e, e.name.pos); let t = g_(e) ? Os(e.modifiers) : void 0; return t && !vp(t.end) ? fb(e, t.end) : $y(e) } function Hwe(e) { return e.pos === e.end } function _W(e, t) { return Gf(e, e + Xa(t).length) } function DT(e, t) { return ile(e, e, t) } function a4(e, t, r) { return Bf(KI(e, r, !1), KI(t, r, !1), r) } function rle(e, t, r) { return Bf(e.end, t.end, r) } function ile(e, t, r) { return Bf(KI(e, r, !1), t.end, r) } function DR(e, t, r) { return Bf(e.end, KI(t, r, !1), r) } function pW(e, t, r, i) { let o = KI(t, r, i); return oI(r, e.end, o) } function Wwe(e, t, r) { return oI(r, e.end, t.end) } function ale(e, t) { return !Bf(e.pos, e.end, t) } function Bf(e, t, r) { return oI(r, e, t) === 0 } function KI(e, t, r) { return vp(e.pos) ? -1 : xo(t.text, e.pos, !1, r) } function ole(e, t, r, i) { let o = xo(r.text, e, !1, i), s = zwe(o, t, r); return oI(r, s ?? t, o) } function sle(e, t, r, i) { let o = xo(r.text, e, !1, i); return oI(r, e, Math.min(t, o)) } function zwe(e, t = 0, r) { for (; e-- > t;)if (!xh(r.text.charCodeAt(e))) return e } function wR(e) { let t = ea(e); if (t) switch (t.parent.kind) { case 263: case 264: return t === t.parent.name }return !1 } function qI(e) { return Pr(e.declarations, mW) } function mW(e) { return wi(e) && e.initializer !== void 0 } function Jwe(e) { return e.watch && fs(e, "watch") } function am(e) { e.close() } function ac(e) { return e.flags & 33554432 ? e.links.checkFlags : 0 } function Ef(e, t = !1) { if (e.valueDeclaration) { let r = t && e.declarations && wr(e.declarations, Sf) || e.flags & 32768 && wr(e.declarations, p_) || e.valueDeclaration, i = wg(r); return e.parent && e.parent.flags & 32 ? i : i & -29 } if (ac(e) & 6) { let r = e.links.checkFlags, i = r & 1024 ? 8 : r & 256 ? 4 : 16, o = r & 2048 ? 32 : 0; return i | o } return e.flags & 4194304 ? 36 : 0 } function wd(e, t) { return e.flags & 2097152 ? t.getAliasedSymbol(e) : e } function XI(e) { return e.exportSymbol ? e.exportSymbol.flags | e.flags : e.flags } function hW(e) { return ZA(e) === 1 } function YI(e) { return ZA(e) !== 0 } function ZA(e) { let { parent: t } = e; if (!t) return 0; switch (t.kind) { case 214: return ZA(t); case 222: case 221: let { operator: i } = t; return i === 45 || i === 46 ? r() : 0; case 223: let { left: o, operatorToken: s } = t; return o === e && Mg(s.kind) ? s.kind === 63 ? 1 : r() : 0; case 208: return t.name !== e ? 0 : ZA(t); case 299: { let l = ZA(t.parent); return e === t.name ? Kwe(l) : l } case 300: return e === t.objectAssignmentInitializer ? 0 : ZA(t.parent); case 206: return ZA(t); default: return 0 }function r() { return t.parent && qy(t.parent).kind === 241 ? 1 : 2 } } function Kwe(e) { switch (e) { case 0: return 1; case 1: return 0; case 2: return 2; default: return L.assertNever(e) } } function gW(e, t) { if (!e || !t || Object.keys(e).length !== Object.keys(t).length) return !1; for (let r in e) if (typeof e[r] == "object") { if (!gW(e[r], t[r])) return !1 } else if (typeof e[r] != "function" && e[r] !== t[r]) return !1; return !0 } function Tf(e, t) { e.forEach(t), e.clear() } function Oh(e, t, r) { let { onDeleteValue: i, onExistingValue: o } = r; e.forEach((s, l) => { let f = t.get(l); f === void 0 ? (e.delete(l), i(s, l)) : o && o(s, f, l) }) } function e2(e, t, r) { Oh(e, t, r); let { createNewValue: i } = r; t.forEach((o, s) => { e.has(s) || e.set(s, i(s, o)) }) } function cle(e) { if (e.flags & 32) { let t = Nh(e); return !!t && Mr(t, 256) } return !1 } function Nh(e) { var t; return (t = e.declarations) == null ? void 0 : t.find(Yr) } function Ur(e) { return e.flags & 3899393 ? e.objectFlags : 0 } function qwe(e, t) { return !!Th(e, r => t(r) ? !0 : void 0) } function o4(e) { return !!e && !!e.declarations && !!e.declarations[0] && gO(e.declarations[0]) } function lle({ moduleSpecifier: e }) { return yo(e) ? e.text : Qc(e) } function yW(e) { let t; return pa(e, r => { Pf(r) && (t = r) }, r => { for (let i = r.length - 1; i >= 0; i--)if (Pf(r[i])) { t = r[i]; break } }), t } function V_(e, t, r = !0) { return e.has(t) ? !1 : (e.set(t, r), !0) } function yS(e) { return Yr(e) || ku(e) || Rd(e) } function vW(e) { return e >= 179 && e <= 202 || e === 131 || e === 157 || e === 148 || e === 160 || e === 149 || e === 134 || e === 152 || e === 153 || e === 114 || e === 155 || e === 144 || e === 139 || e === 230 || e === 315 || e === 316 || e === 317 || e === 318 || e === 319 || e === 320 || e === 321 } function Us(e) { return e.kind === 208 || e.kind === 209 } function ule(e) { return e.kind === 208 ? e.name : (L.assert(e.kind === 209), e.argumentExpression) } function dle(e) { switch (e.kind) { case "text": case "internal": return !0; default: return !1 } } function bW(e) { return e.kind === 272 || e.kind === 276 } function $I(e) { for (; Us(e);)e = e.expression; return e } function Xwe(e, t) { if (Us(e.parent) && $ce(e)) return r(e.parent); function r(i) { if (i.kind === 208) { let o = t(i.name); if (o !== void 0) return o } else if (i.kind === 209) if (Re(i.argumentExpression) || es(i.argumentExpression)) { let o = t(i.argumentExpression); if (o !== void 0) return o } else return; if (Us(i.expression)) return r(i.expression); if (Re(i.expression)) return t(i.expression) } } function QI(e, t) { for (; ;) { switch (e.kind) { case 222: e = e.operand; continue; case 223: e = e.left; continue; case 224: e = e.condition; continue; case 212: e = e.tag; continue; case 210: if (t) return e; case 231: case 209: case 208: case 232: case 356: case 235: e = e.expression; continue }return e } } function Ywe(e, t) { this.flags = e, this.escapedName = t, this.declarations = void 0, this.valueDeclaration = void 0, this.id = 0, this.mergeId = 0, this.parent = void 0, this.members = void 0, this.exports = void 0, this.exportSymbol = void 0, this.constEnumOnlyModule = void 0, this.isReferenced = void 0, this.isAssigned = void 0, this.links = void 0 } function $we(e, t) { this.flags = t, (L.isDebugging || ai) && (this.checker = e) } function Qwe(e, t) { this.flags = t, L.isDebugging && (this.checker = e) } function EW(e, t, r) { this.pos = t, this.end = r, this.kind = e, this.id = 0, this.flags = 0, this.modifierFlagsCache = 0, this.transformFlags = 0, this.parent = void 0, this.original = void 0, this.emitNode = void 0 } function Zwe(e, t, r) { this.pos = t, this.end = r, this.kind = e, this.id = 0, this.flags = 0, this.transformFlags = 0, this.parent = void 0, this.emitNode = void 0 } function eRe(e, t, r) { this.pos = t, this.end = r, this.kind = e, this.id = 0, this.flags = 0, this.transformFlags = 0, this.parent = void 0, this.original = void 0, this.emitNode = void 0 } function tRe(e, t, r) { this.fileName = e, this.text = t, this.skipTrivia = r || (i => i) } function fle(e) { tz.push(e), e(ml) } function _le(e) { Object.assign(ml, e), mn(tz, t => t(ml)) } function jm(e, t, r = 0) { return e.replace(/{(\d+)}/g, (i, o) => "" + L.checkDefined(t[+o + r])) } function ple(e) { qR = e } function mle(e) { !qR && e && (qR = e()) } function uo(e) { return qR && qR[e.key] || e.message } function t2(e, t, r, i) { gH(void 0, t, r); let o = uo(i); return arguments.length > 4 && (o = jm(o, arguments, 4)), { file: void 0, start: t, length: r, messageText: o, category: i.category, code: i.code, reportsUnnecessary: i.reportsUnnecessary, fileName: e } } function nRe(e) { return e.file === void 0 && e.start !== void 0 && e.length !== void 0 && typeof e.fileName == "string" } function hle(e, t) { let r = t.fileName || "", i = t.text.length; L.assertEqual(e.fileName, r), L.assertLessThanOrEqual(e.start, i), L.assertLessThanOrEqual(e.start + e.length, i); let o = { file: t, start: e.start, length: e.length, messageText: e.messageText, category: e.category, code: e.code, reportsUnnecessary: e.reportsUnnecessary }; if (e.relatedInformation) { o.relatedInformation = []; for (let s of e.relatedInformation) nRe(s) && s.fileName === r ? (L.assertLessThanOrEqual(s.start, i), L.assertLessThanOrEqual(s.start + s.length, i), o.relatedInformation.push(hle(s, t))) : o.relatedInformation.push(s) } return o } function vS(e, t) { let r = []; for (let i of e) r.push(hle(i, t)); return r } function al(e, t, r, i) { gH(e, t, r); let o = uo(i); return arguments.length > 4 && (o = jm(o, arguments, 4)), { file: e, start: t, length: r, messageText: o, category: i.category, code: i.code, reportsUnnecessary: i.reportsUnnecessary, reportsDeprecated: i.reportsDeprecated } } function TW(e, t) { let r = uo(t); return arguments.length > 2 && (r = jm(r, arguments, 2)), r } function ps(e) { let t = uo(e); return arguments.length > 1 && (t = jm(t, arguments, 1)), { file: void 0, start: void 0, length: void 0, messageText: t, category: e.category, code: e.code, reportsUnnecessary: e.reportsUnnecessary, reportsDeprecated: e.reportsDeprecated } } function s4(e, t) { return { file: void 0, start: void 0, length: void 0, code: e.code, category: e.category, messageText: e.next ? e : e.messageText, relatedInformation: t } } function da(e, t) { let r = uo(t); return arguments.length > 2 && (r = jm(r, arguments, 2)), { messageText: r, category: t.category, code: t.code, next: e === void 0 || Array.isArray(e) ? e : [e] } } function gle(e, t) { let r = e; for (; r.next;)r = r.next[0]; r.next = [t] } function yle(e) { return e.file ? e.file.path : void 0 } function ZI(e, t) { return c4(e, t) || rRe(e, t) || 0 } function c4(e, t) { return su(yle(e), yle(t)) || Es(e.start, t.start) || Es(e.length, t.length) || Es(e.code, t.code) || vle(e.messageText, t.messageText) || 0 } function rRe(e, t) { return !e.relatedInformation && !t.relatedInformation ? 0 : e.relatedInformation && t.relatedInformation ? Es(e.relatedInformation.length, t.relatedInformation.length) || mn(e.relatedInformation, (r, i) => { let o = t.relatedInformation[i]; return ZI(r, o) }) || 0 : e.relatedInformation ? -1 : 1 } function vle(e, t) { if (typeof e == "string" && typeof t == "string") return su(e, t); if (typeof e == "string") return -1; if (typeof t == "string") return 1; let r = su(e.messageText, t.messageText); if (r) return r; if (!e.next && !t.next) return 0; if (!e.next) return -1; if (!t.next) return 1; let i = Math.min(e.next.length, t.next.length); for (let o = 0; o < i; o++)if (r = vle(e.next[o], t.next[o]), r) return r; return e.next.length < t.next.length ? -1 : e.next.length > t.next.length ? 1 : 0 } function RR(e) { return e === 4 || e === 2 || e === 1 || e === 6 ? 1 : 0 } function ble(e) { if (e.transformFlags & 2) return Au(e) || BS(e) ? e : pa(e, ble) } function iRe(e) { return e.isDeclarationFile ? void 0 : ble(e) } function aRe(e) { return (e.impliedNodeFormat === 99 || $c(e.fileName, [".cjs", ".cts", ".mjs", ".mts"])) && !e.isDeclarationFile ? !0 : void 0 } function OR(e) { switch (Ele(e)) { case 3: return o => { o.externalModuleIndicator = LO(o) || !o.isDeclarationFile || void 0 }; case 1: return o => { o.externalModuleIndicator = LO(o) }; case 2: let t = [LO]; (e.jsx === 4 || e.jsx === 5) && t.push(iRe), t.push(aRe); let r = Kp(...t); return o => void (o.externalModuleIndicator = r(o)) } } function Do(e) { var t; return (t = e.target) != null ? t : e.module === 100 && 9 || e.module === 199 && 99 || 1 } function Rl(e) { return typeof e.module == "number" ? e.module : Do(e) >= 2 ? 5 : 1 } function SW(e) { return e >= 5 && e <= 99 } function $s(e) { let t = e.moduleResolution; if (t === void 0) switch (Rl(e)) { case 1: t = 2; break; case 100: t = 3; break; case 199: t = 99; break; default: t = 1; break }return t } function Ele(e) { return e.moduleDetection || (Rl(e) === 100 || Rl(e) === 199 ? 3 : 2) } function l4(e) { switch (Rl(e)) { case 1: case 2: case 5: case 6: case 7: case 99: case 100: case 199: return !0; default: return !1 } } function d_(e) { return !!(e.isolatedModules || e.verbatimModuleSyntax) } function u4(e) { return e.verbatimModuleSyntax || e.isolatedModules && e.preserveValueImports } function Tle(e) { return e.allowUnreachableCode === !1 } function Sle(e) { return e.allowUnusedLabels === !1 } function d4(e) { return !!(__(e) && e.declarationMap) } function f_(e) { if (e.esModuleInterop !== void 0) return e.esModuleInterop; switch (Rl(e)) { case 100: case 199: return !0 } } function wT(e) { return e.allowSyntheticDefaultImports !== void 0 ? e.allowSyntheticDefaultImports : f_(e) || Rl(e) === 4 || $s(e) === 100 } function bS(e) { return e >= 3 && e <= 99 || e === 100 } function xW(e) { let t = $s(e); if (!bS(t)) return !1; if (e.resolvePackageJsonExports !== void 0) return e.resolvePackageJsonExports; switch (t) { case 3: case 99: case 100: return !0 }return !1 } function oRe(e) { let t = $s(e); if (!bS(t)) return !1; if (e.resolvePackageJsonExports !== void 0) return e.resolvePackageJsonExports; switch (t) { case 3: case 99: case 100: return !0 }return !1 } function RT(e) { return e.resolveJsonModule !== void 0 ? e.resolveJsonModule : $s(e) === 100 } function __(e) { return !!(e.declaration || e.composite) } function U0(e) { return !!(e.preserveConstEnums || d_(e)) } function NR(e) { return !!(e.incremental || e.composite) } function Uf(e, t) { return e[t] === void 0 ? !!e.strict : !!e[t] } function PR(e) { return e.allowJs === void 0 ? !!e.checkJs : e.allowJs } function MR(e) { return e.useDefineForClassFields === void 0 ? Do(e) >= 9 : e.useDefineForClassFields } function xle(e, t) { return LA(t, e, PJ) } function Ale(e, t) { return LA(t, e, MJ) } function Cle(e, t) { return LA(t, e, FJ) } function f4(e, t) { return t.strictFlag ? Uf(e, t.name) : e[t.name] } function AW(e) { let t = e.jsx; return t === 2 || t === 4 || t === 5 } function _4(e, t) { let r = t?.pragmas.get("jsximportsource"), i = ba(r) ? r[r.length - 1] : r; return e.jsx === 4 || e.jsx === 5 || e.jsxImportSource || i ? i?.arguments.factory || e.jsxImportSource || "react" : void 0 } function p4(e, t) { return e ? `${e}/${t.jsx === 5 ? "jsx-dev-runtime" : "jsx-runtime"}` : void 0 } function CW(e) { let t = !1; for (let r = 0; r < e.length; r++)if (e.charCodeAt(r) === 42) if (!t) t = !0; else return !1; return !0 } function Ile(e, t) { let r, i, o, s = !1; return { getSymlinkedFiles: () => o, getSymlinkedDirectories: () => r, getSymlinkedDirectoriesByRealpath: () => i, setSymlinkedFile: (f, d) => (o || (o = new Map)).set(f, d), setSymlinkedDirectory: (f, d) => { let g = Ts(f, e, t); sL(g) || (g = cu(g), d !== !1 && !r?.has(g) && (i || (i = Nf())).add(cu(d.realPath), f), (r || (r = new Map)).set(g, d)) }, setSymlinksFromResolutions(f, d) { var g, m; L.assert(!s), s = !0; for (let v of f) (g = v.resolvedModules) == null || g.forEach(S => l(this, S.resolvedModule)), (m = v.resolvedTypeReferenceDirectiveNames) == null || m.forEach(S => l(this, S.resolvedTypeReferenceDirective)); d.forEach(v => l(this, v.resolvedTypeReferenceDirective)) }, hasProcessedResolutions: () => s }; function l(f, d) { if (!d || !d.originalPath || !d.resolvedFileName) return; let { resolvedFileName: g, originalPath: m } = d; f.setSymlinkedFile(Ts(m, e, t), g); let [v, S] = sRe(g, m, e, t) || Je; v && S && f.setSymlinkedDirectory(S, { real: v, realPath: Ts(v, e, t) }) } } function sRe(e, t, r, i) { let o = Ou(_a(e, r)), s = Ou(_a(t, r)), l = !1; for (; o.length >= 2 && s.length >= 2 && !Lle(o[o.length - 2], i) && !Lle(s[s.length - 2], i) && i(o[o.length - 1]) === i(s[s.length - 1]);)o.pop(), s.pop(), l = !0; return l ? [T0(o), T0(s)] : void 0 } function Lle(e, t) { return e !== void 0 && (t(e) === "node_modules" || na(e, "@")) } function cRe(e) { return sj(e.charCodeAt(0)) ? e.slice(1) : void 0 } function IW(e, t, r) { let i = KU(e, t, r); return i === void 0 ? void 0 : cRe(i) } function lRe(e) { return e.replace(A4, uRe) } function uRe(e) { return "\\" + e } function eL(e, t, r) { let i = m4(e, t, r); return !i || !i.length ? void 0 : `^(${i.map(l => `(${l})`).join("|")})${r === "exclude" ? "($|/)" : "$"}` } function m4(e, t, r) { if (!(e === void 0 || e.length === 0)) return Uo(e, i => i && kle(i, t, r, oz[r])) } function LW(e) { return !/[.*?]/.test(e) } function kW(e, t, r) { let i = e && kle(e, t, r, oz[r]); return i && `^(${i})${r === "exclude" ? "($|/)" : "$"}` } function kle(e, t, r, { singleAsteriskRegexFragment: i, doubleAsteriskRegexFragment: o, replaceWildcardCharacter: s }) { let l = "", f = !1, d = fw(e, t), g = To(d); if (r !== "exclude" && g === "**") return; d[0] = sT(d[0]), LW(g) && d.push("**", "*"); let m = 0; for (let v of d) { if (v === "**") l += o; else if (r === "directories" && (l += "(", m++), f && (l += _s), r !== "exclude") { let S = ""; v.charCodeAt(0) === 42 ? (S += "([^./]" + i + ")?", v = v.substr(1)) : v.charCodeAt(0) === 63 && (S += "[^./]", v = v.substr(1)), S += v.replace(A4, s), S !== v && (l += C4), l += S } else l += v.replace(A4, s); f = !0 } for (; m > 0;)l += ")?", m--; return l } function DW(e, t) { return e === "*" ? t : e === "?" ? "[^/]" : "\\" + e } function tL(e, t, r, i, o) { e = So(e), o = So(o); let s = vi(o, e); return { includeFilePatterns: on(m4(r, s, "files"), l => `^${l}$`), includeFilePattern: eL(r, s, "files"), includeDirectoryPattern: eL(r, s, "directories"), excludePattern: eL(t, s, "exclude"), basePaths: dRe(e, r, i) } } function Qy(e, t) { return new RegExp(e, t ? "" : "i") } function wW(e, t, r, i, o, s, l, f, d) { e = So(e), s = So(s); let g = tL(e, r, i, o, s), m = g.includeFilePatterns && g.includeFilePatterns.map(P => Qy(P, o)), v = g.includeDirectoryPattern && Qy(g.includeDirectoryPattern, o), S = g.excludePattern && Qy(g.excludePattern, o), x = m ? m.map(() => []) : [[]], A = new Map, w = Dl(o); for (let P of g.basePaths) C(P, vi(s, P), l); return t_(x); function C(P, F, B) { let q = w(d(F)); if (A.has(q)) return; A.set(q, !0); let { files: W, directories: Y } = f(P); for (let R of XC(W, su)) { let ie = vi(P, R), $ = vi(F, R); if (!(t && !$c(ie, t)) && !(S && S.test($))) if (!m) x[0].push(ie); else { let fe = Yc(m, Z => Z.test($)); fe !== -1 && x[fe].push(ie) } } if (!(B !== void 0 && (B--, B === 0))) for (let R of XC(Y, su)) { let ie = vi(P, R), $ = vi(F, R); (!v || v.test($)) && (!S || !S.test($)) && C(ie, $, B) } } } function dRe(e, t, r) { let i = [e]; if (t) { let o = []; for (let s of t) { let l = qp(s) ? s : So(vi(e, s)); o.push(fRe(l)) } o.sort(p8(!r)); for (let s of o) Ji(i, l => !Gy(l, s, e, !r)) && i.push(s) } return i } function fRe(e) { let t = cae(e, nue); return t < 0 ? gA(e) ? sT(ni(e)) : e : e.substring(0, e.lastIndexOf(_s, t)) } function h4(e, t) { return t || RW(e) || 3 } function RW(e) { switch (e.substr(e.lastIndexOf(".")).toLowerCase()) { case ".js": case ".cjs": case ".mjs": return 1; case ".jsx": return 2; case ".ts": case ".cts": case ".mts": return 3; case ".tsx": return 4; case ".json": return 6; default: return 0 } } function nL(e, t) { let r = e && PR(e); if (!t || t.length === 0) return r ? XR : c2; let i = r ? XR : c2, o = t_(i); return [...i, ...Zi(t, l => l.scriptKind === 7 || r && _Re(l.scriptKind) && o.indexOf(l.extension) === -1 ? [l.extension] : void 0)] } function FR(e, t) { return !e || !RT(e) ? t : t === XR ? aue : t === c2 ? rue : [...t, [".json"]] } function _Re(e) { return e === 1 || e === 2 } function ES(e) { return vt(dL, t => Gc(e, t)) } function GR(e) { return vt(sz, t => Gc(e, t)) } function Dle({ imports: e }, t = Kp(ES, GR)) { return ks(e, ({ text: r }) => Jd(r) ? t(r) : void 0) || !1 } function OW(e, t, r, i) { if (e === "js" || t === 99) return VL(r) && o() !== 2 ? 3 : 2; if (e === "minimal") return 0; if (e === "index") return 1; if (!VL(r)) return Dle(i) ? 2 : 0; return o(); function o() { let s = !1, l = i.imports.length ? i.imports.map(f => f.text) : Cu(i) ? pRe(i).map(f => f.arguments[0].text) : Je; for (let f of l) if (Jd(f)) { if (GR(f)) return 3; ES(f) && (s = !0) } return s ? 2 : 0 } } function pRe(e) { let t = 0, r; for (let i of e.statements) { if (t > 3) break; DH(i) ? r = Qi(r, i.declarationList.declarations.map(o => o.initializer)) : Ol(i) && qu(i.expression, !0) ? r = Sn(r, i.expression) : t++ } return r || Je } function wle(e, t, r) { if (!e) return !1; let i = nL(t, r); for (let o of t_(FR(t, i))) if (Gc(e, o)) return !0; return !1 } function Rle(e) { let t = e.match(/\//g); return t ? t.length : 0 } function BR(e, t) { return Es(Rle(e), Rle(t)) } function ld(e) { for (let t of k4) { let r = Ole(e, t); if (r !== void 0) return r } return e } function Ole(e, t) { return Gc(e, t) ? UR(e, t) : void 0 } function UR(e, t) { return e.substring(0, e.length - t.length) } function V0(e, t) { return uj(e, t, k4, !1) } function n2(e) { let t = e.indexOf("*"); return t === -1 ? e : e.indexOf("*", t + 1) !== -1 ? void 0 : { prefix: e.substr(0, t), suffix: e.substr(t + 1) } } function g4(e) { return Zi(bh(e), t => n2(t)) } function vp(e) { return !(e >= 0) } function y4(e) { return e === ".ts" || e === ".tsx" || e === ".d.ts" || e === ".cts" || e === ".mts" || e === ".d.mts" || e === ".d.cts" || na(e, ".d.") && Oc(e, ".ts") } function VR(e) { return y4(e) || e === ".json" } function jR(e) { let t = Hm(e); return t !== void 0 ? t : L.fail(`File ${e} has unknown extension.`) } function mRe(e) { return Hm(e) !== void 0 } function Hm(e) { return wr(k4, t => Gc(e, t)) } function HR(e, t) { return e.checkJsDirective ? e.checkJsDirective.enabled : t.checkJs } function NW(e, t) { let r = []; for (let i of e) { if (i === t) return t; Ta(i) || r.push(i) } return JU(r, i => i, t) } function PW(e, t) { let r = e.indexOf(t); return L.assert(r !== -1), e.slice(r) } function Ao(e, ...t) { return t.length && (e.relatedInformation || (e.relatedInformation = []), L.assert(e.relatedInformation !== Je, "Diagnostic had empty array singleton for related info, but is still being constructed!"), e.relatedInformation.push(...t)), e } function Nle(e, t) { L.assert(e.length !== 0); let r = t(e[0]), i = r; for (let o = 1; o < e.length; o++) { let s = t(e[o]); s < r ? r = s : s > i && (i = s) } return { min: r, max: i } } function MW(e) { return { pos: gT(e), end: e.end } } function FW(e, t) { let r = t.pos - 1, i = Math.min(e.text.length, xo(e.text, t.end) + 1); return { pos: r, end: i } } function rL(e, t, r) { return t.skipLibCheck && e.isDeclarationFile || t.skipDefaultLibCheck && e.hasNoDefaultLib || r.isSourceOfProjectReferenceRedirect(e.fileName) } function GW(e, t) { return e === t || typeof e == "object" && e !== null && typeof t == "object" && t !== null && hae(e, t, GW) } function iL(e) { let t; switch (e.charCodeAt(1)) { case 98: case 66: t = 1; break; case 111: case 79: t = 3; break; case 120: case 88: t = 4; break; default: let g = e.length - 1, m = 0; for (; e.charCodeAt(m) === 48;)m++; return e.slice(m, g) || "0" }let r = 2, i = e.length - 1, o = (i - r) * t, s = new Uint16Array((o >>> 4) + (o & 15 ? 1 : 0)); for (let g = i - 1, m = 0; g >= r; g--, m += t) { let v = m >>> 4, S = e.charCodeAt(g), A = (S <= 57 ? S - 48 : 10 + S - (S <= 70 ? 65 : 97)) << (m & 15); s[v] |= A; let w = A >>> 16; w && (s[v + 1] |= w) } let l = "", f = s.length - 1, d = !0; for (; d;) { let g = 0; d = !1; for (let m = f; m >= 0; m--) { let v = g << 16 | s[m], S = v / 10 | 0; s[m] = S, g = v - S * 10, S && !d && (f = m, d = !0) } l = g + l } return l } function j0({ negative: e, base10Value: t }) { return (e && t !== "0" ? "-" : "") + t } function Ple(e) { if (v4(e, !1)) return BW(e) } function BW(e) { let t = e.startsWith("-"), r = iL(`${t ? e.slice(1) : e}n`); return { negative: t, base10Value: r } } function v4(e, t) { if (e === "") return !1; let r = kg(99, !1), i = !0; r.setOnError(() => i = !1), r.setText(e + "n"); let o = r.scan(), s = o === 40; s && (o = r.scan()); let l = r.getTokenFlags(); return i && o === 9 && r.getTextPos() === e.length + 1 && !(l & 512) && (!t || e === j0({ negative: s, base10Value: iL(r.getTokenValue()) })) } function TS(e) { return !!(e.flags & 16777216) || G6(e) || yRe(e) || gRe(e) || !(Dh(e) || hRe(e)) } function hRe(e) { return Re(e) && xf(e.parent) && e.parent.name === e } function gRe(e) { for (; e.kind === 79 || e.kind === 208;)e = e.parent; if (e.kind !== 164) return !1; if (Mr(e.parent, 256)) return !0; let t = e.parent.parent.kind; return t === 261 || t === 184 } function yRe(e) { if (e.kind !== 79) return !1; let t = jn(e.parent, r => { switch (r.kind) { case 294: return !0; case 208: case 230: return !1; default: return "quit" } }); return t?.token === 117 || t?.parent.kind === 261 } function Mle(e) { return m_(e) && Re(e.typeName) } function Fle(e, t = Zv) { if (e.length < 2) return !0; let r = e[0]; for (let i = 1, o = e.length; i < o; i++) { let s = e[i]; if (!t(r, s)) return !1 } return !0 } function aL(e, t) { return e.pos = t, e } function r2(e, t) { return e.end = t, e } function om(e, t, r) { return r2(aL(e, t), r) } function oL(e, t, r) { return om(e, t, t + r) } function Gle(e, t) { return e && (e.flags = t), e } function go(e, t) { return e && t && (e.parent = t), e } function i2(e, t) { if (e) for (let r of e) go(r, t); return e } function Zy(e, t) { if (!e) return e; return kO(e, IA(e) ? r : o), e; function r(s, l) { if (t && s.parent === l) return "skip"; go(s, l) } function i(s) { if (Kd(s)) for (let l of s.jsDoc) r(l, s), kO(l, r) } function o(s, l) { return r(s, l) || i(s) } } function vRe(e) { return !ol(e) } function UW(e) { return fu(e) && Ji(e.elements, vRe) } function Ble(e) { for (L.assertIsDefined(e.parent); ;) { let t = e.parent; if (ud(t)) { e = t; continue } if (Ol(t) || NS(t) || FT(t) && (t.initializer === e || t.incrementor === e)) return !0; if (SL(t)) { if (e !== To(t.elements)) return !0; e = t; continue } if (ar(t) && t.operatorToken.kind === 27) { if (e === t.left) return !0; e = t; continue } return !1 } } function sL(e) { return vt(uw, t => jl(e, t)) } function Ule(e) { if (!e.parent) return; switch (e.kind) { case 165: let { parent: r } = e; return r.kind === 192 ? void 0 : r.typeParameters; case 166: return e.parent.parameters; case 201: return e.parent.templateSpans; case 236: return e.parent.templateSpans; case 167: { let { parent: i } = e; return HS(i) ? i.modifiers : void 0 } case 294: return e.parent.heritageClauses }let { parent: t } = e; if (EI(e)) return LL(e.parent) ? void 0 : e.parent.tags; switch (t.kind) { case 184: case 261: return _T(e) ? t.members : void 0; case 189: case 190: return t.types; case 186: case 206: case 357: case 272: case 276: return t.elements; case 207: case 289: return t.properties; case 210: case 211: return bi(e) ? t.typeArguments : t.expression === e ? void 0 : t.arguments; case 281: case 285: return Pw(e) ? t.children : void 0; case 283: case 282: return bi(e) ? t.typeArguments : void 0; case 238: case 292: case 293: case 265: return t.statements; case 266: return t.clauses; case 260: case 228: return _l(e) ? t.members : void 0; case 263: return q0(e) ? t.members : void 0; case 308: return t.statements } } function b4(e) { if (!e.typeParameters) { if (vt(e.parameters, t => !Cl(t))) return !0; if (e.kind !== 216) { let t = Sl(e.parameters); if (!(t && G0(t))) return !0 } } return !1 } function cL(e) { return e === "Infinity" || e === "-Infinity" || e === "NaN" } function Vle(e) { return e.kind === 257 && e.parent.kind === 295 } function VW(e) { let t = e.valueDeclaration && nm(e.valueDeclaration); return !!t && (ha(t) || Vle(t)) } function a2(e) { return e.kind === 215 || e.kind === 216 } function OT(e) { return e.replace(/\$/gm, () => "\\$") } function Wm(e) { return (+e).toString() === e } function E4(e, t, r, i) { return i_(e, t) ? D.createIdentifier(e) : !i && Wm(e) && +e >= 0 ? D.createNumericLiteral(+e) : D.createStringLiteral(e, !!r) } function lL(e) { return !!(e.flags & 262144 && e.isThisType) } function jW(e) { let t = 0, r = 0, i = 0, o = 0, s; (g => { g[g.BeforeNodeModules = 0] = "BeforeNodeModules", g[g.NodeModules = 1] = "NodeModules", g[g.Scope = 2] = "Scope", g[g.PackageContent = 3] = "PackageContent" })(s || (s = {})); let l = 0, f = 0, d = 0; for (; f >= 0;)switch (l = f, f = e.indexOf("/", l + 1), d) { case 0: e.indexOf(Wg, l) === l && (t = l, r = f, d = 1); break; case 1: case 2: d === 1 && e.charAt(l + 1) === "@" ? d = 2 : (i = f, d = 3); break; case 3: e.indexOf(Wg, l) === l ? d = 1 : d = 3; break }return o = l, d > 1 ? { topLevelNodeModulesIndex: t, topLevelPackageNameIndex: r, packageRootIndex: i, fileNameIndex: o } : void 0 } function bRe(e) { var t; return e.kind === 344 ? (t = e.typeExpression) == null ? void 0 : t.type : e.type } function o2(e) { switch (e.kind) { case 165: case 260: case 261: case 262: case 263: case 349: case 341: case 343: return !0; case 270: return e.isTypeOnly; case 273: case 278: return e.parent.parent.isTypeOnly; default: return !1 } } function WR(e) { return hb(e) || Bc(e) || Jc(e) || sl(e) || ku(e) || o2(e) || Tc(e) && !D0(e) && !mp(e) } function zR(e) { if (!a6(e)) return !1; let { isBracketed: t, typeExpression: r } = e; return t || !!r && r.type.kind === 319 } function HW(e, t) { if (e.length === 0) return !1; let r = e.charCodeAt(0); return r === 35 ? e.length > 1 && Pm(e.charCodeAt(1), t) : Pm(r, t) } function jle(e) { var t; return ((t = bz(e)) == null ? void 0 : t.kind) === 0 } function JR(e) { return Yn(e) && (e.type && e.type.kind === 319 || fI(e).some(({ isBracketed: t, typeExpression: r }) => t || !!r && r.type.kind === 319)) } function WW(e) { switch (e.kind) { case 169: case 168: return !!e.questionToken; case 166: return !!e.questionToken || JR(e); case 351: case 344: return zR(e); default: return !1 } } function Hle(e) { let t = e.kind; return (t === 208 || t === 209) && PS(e.expression) } function zW(e) { return Yn(e) && ud(e) && Kd(e) && !!Lj(e) } function JW(e) { return L.checkDefined(T4(e)) } function T4(e) { let t = Lj(e); return t && t.typeExpression && t.typeExpression.type } var S4, _b, KR, x4, uL, KW, qW, Wle, XW, zle, YW, $W, QW, ZW, Jle, Kle, qle, Xle, Yle, ez, $le, Qle, Zle, s2, H0, eue, tue, ml, tz, qR, A4, nue, nz, C4, rz, iz, az, oz, c2, sz, rue, iue, cz, dL, XR, aue, I4, L4, lz, k4, D4, ERe = gt({
-                "src/compiler/utilities.ts"() {
-                    "use strict"; fa(), S4 = [], _b = "tslib", KR = 160, x4 = 1e6, uL = rwe(), KW = (e => (e[e.None = 0] = "None", e[e.NeverAsciiEscape = 1] = "NeverAsciiEscape", e[e.JsxAttributeEscape = 2] = "JsxAttributeEscape", e[e.TerminateUnterminatedLiterals = 4] = "TerminateUnterminatedLiterals", e[e.AllowNumericSeparator = 8] = "AllowNumericSeparator", e))(KW || {}), qW = /^(\/\/\/\s*<reference\s+path\s*=\s*)(('[^']*')|("[^"]*")).*?\/>/, Wle = /^(\/\/\/\s*<reference\s+types\s*=\s*)(('[^']*')|("[^"]*")).*?\/>/, XW = /^(\/\/\/\s*<amd-dependency\s+path\s*=\s*)(('[^']*')|("[^"]*")).*?\/>/, zle = /^(\/\/\/\s*<reference\s+no-default-lib\s*=\s*)(('[^']*')|("[^"]*"))\s*\/>/, YW = (e => (e[e.None = 0] = "None", e[e.Definite = 1] = "Definite", e[e.Compound = 2] = "Compound", e))(YW || {}), $W = (e => (e[e.Normal = 0] = "Normal", e[e.Generator = 1] = "Generator", e[e.Async = 2] = "Async", e[e.Invalid = 4] = "Invalid", e[e.AsyncGenerator = 3] = "AsyncGenerator", e))($W || {}), QW = (e => (e[e.Left = 0] = "Left", e[e.Right = 1] = "Right", e))(QW || {}), ZW = (e => (e[e.Comma = 0] = "Comma", e[e.Spread = 1] = "Spread", e[e.Yield = 2] = "Yield", e[e.Assignment = 3] = "Assignment", e[e.Conditional = 4] = "Conditional", e[e.Coalesce = 4] = "Coalesce", e[e.LogicalOR = 5] = "LogicalOR", e[e.LogicalAND = 6] = "LogicalAND", e[e.BitwiseOR = 7] = "BitwiseOR", e[e.BitwiseXOR = 8] = "BitwiseXOR", e[e.BitwiseAND = 9] = "BitwiseAND", e[e.Equality = 10] = "Equality", e[e.Relational = 11] = "Relational", e[e.Shift = 12] = "Shift", e[e.Additive = 13] = "Additive", e[e.Multiplicative = 14] = "Multiplicative", e[e.Exponentiation = 15] = "Exponentiation", e[e.Unary = 16] = "Unary", e[e.Update = 17] = "Update", e[e.LeftHandSide = 18] = "LeftHandSide", e[e.Member = 19] = "Member", e[e.Primary = 20] = "Primary", e[e.Highest = 20] = "Highest", e[e.Lowest = 0] = "Lowest", e[e.Invalid = -1] = "Invalid", e))(ZW || {}), Jle = /\$\{/g, Kle = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g, qle = /[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g, Xle = /\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g, Yle = new Map(Object.entries({ "	": "\\t", "\v": "\\v", "\f": "\\f", "\b": "\\b", "\r": "\\r", "\n": "\\n", "\\": "\\\\", '"': '\\"', "'": "\\'", "`": "\\`", "\u2028": "\\u2028", "\u2029": "\\u2029", "\x85": "\\u0085", "\r\n": "\\r\\n" })), ez = /[^\u0000-\u007F]/g, $le = /[\"\u0000-\u001f\u2028\u2029\u0085]/g, Qle = /[\'\u0000-\u001f\u2028\u2029\u0085]/g, Zle = new Map(Object.entries({ '"': "&quot;", "'": "&apos;" })), s2 = ["", "    "], H0 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", eue = `\r
-`, tue = `
-`, ml = { getNodeConstructor: () => EW, getTokenConstructor: () => Zwe, getIdentifierConstructor: () => eRe, getPrivateIdentifierConstructor: () => EW, getSourceFileConstructor: () => EW, getSymbolConstructor: () => Ywe, getTypeConstructor: () => $we, getSignatureConstructor: () => Qwe, getSourceMapSourceConstructor: () => tRe }, tz = [], A4 = /[^\w\s\/]/g, nue = [42, 63], nz = ["node_modules", "bower_components", "jspm_packages"], C4 = `(?!(${nz.join("|")})(/|$))`, rz = { singleAsteriskRegexFragment: "([^./]|(\\.(?!min\\.js$))?)*", doubleAsteriskRegexFragment: `(/${C4}[^/.][^/]*)*?`, replaceWildcardCharacter: e => DW(e, rz.singleAsteriskRegexFragment) }, iz = { singleAsteriskRegexFragment: "[^/]*", doubleAsteriskRegexFragment: `(/${C4}[^/.][^/]*)*?`, replaceWildcardCharacter: e => DW(e, iz.singleAsteriskRegexFragment) }, az = { singleAsteriskRegexFragment: "[^/]*", doubleAsteriskRegexFragment: "(/.+?)?", replaceWildcardCharacter: e => DW(e, az.singleAsteriskRegexFragment) }, oz = { files: rz, directories: iz, exclude: az }, c2 = [[".ts", ".tsx", ".d.ts"], [".cts", ".d.cts"], [".mts", ".d.mts"]], sz = t_(c2), rue = [...c2, [".json"]], iue = [".d.ts", ".d.cts", ".d.mts", ".cts", ".mts", ".ts", ".tsx", ".cts", ".mts"], cz = [[".js", ".jsx"], [".mjs"], [".cjs"]], dL = t_(cz), XR = [[".ts", ".tsx", ".d.ts", ".js", ".jsx"], [".cts", ".d.cts", ".cjs"], [".mts", ".d.mts", ".mjs"]], aue = [...XR, [".json"]], I4 = [".d.ts", ".d.cts", ".d.mts"], L4 = [".ts", ".cts", ".mts", ".tsx"], lz = (e => (e[e.Minimal = 0] = "Minimal", e[e.Index = 1] = "Index", e[e.JsExtension = 2] = "JsExtension", e[e.TsExtension = 3] = "TsExtension", e))(lz || {}), k4 = [".d.ts", ".d.mts", ".d.cts", ".mjs", ".mts", ".cjs", ".cts", ".ts", ".js", ".tsx", ".jsx", ".json"], D4 = { files: Je, directories: Je }
-                }
-            }); function oue() { let e, t, r, i, o; return { createBaseSourceFileNode: s, createBaseIdentifierNode: l, createBasePrivateIdentifierNode: f, createBaseTokenNode: d, createBaseNode: g }; function s(m) { return new (o || (o = ml.getSourceFileConstructor()))(m, -1, -1) } function l(m) { return new (r || (r = ml.getIdentifierConstructor()))(m, -1, -1) } function f(m) { return new (i || (i = ml.getPrivateIdentifierConstructor()))(m, -1, -1) } function d(m) { return new (t || (t = ml.getTokenConstructor()))(m, -1, -1) } function g(m) { return new (e || (e = ml.getNodeConstructor()))(m, -1, -1) } } var TRe = gt({ "src/compiler/factory/baseNodeFactory.ts"() { "use strict"; fa() } }); function sue(e) { let t, r; return { getParenthesizeLeftSideOfBinaryForOperator: i, getParenthesizeRightSideOfBinaryForOperator: o, parenthesizeLeftSideOfBinary: g, parenthesizeRightSideOfBinary: m, parenthesizeExpressionOfComputedPropertyName: v, parenthesizeConditionOfConditionalExpression: S, parenthesizeBranchOfConditionalExpression: x, parenthesizeExpressionOfExportDefault: A, parenthesizeExpressionOfNew: w, parenthesizeLeftSideOfAccess: C, parenthesizeOperandOfPostfixUnary: P, parenthesizeOperandOfPrefixUnary: F, parenthesizeExpressionsOfCommaDelimitedList: B, parenthesizeExpressionForDisallowedComma: q, parenthesizeExpressionOfExpressionStatement: W, parenthesizeConciseBodyOfArrowFunction: Y, parenthesizeCheckTypeOfConditionalType: R, parenthesizeExtendsTypeOfConditionalType: ie, parenthesizeConstituentTypesOfUnionType: fe, parenthesizeConstituentTypeOfUnionType: $, parenthesizeConstituentTypesOfIntersectionType: U, parenthesizeConstituentTypeOfIntersectionType: Z, parenthesizeOperandOfTypeOperator: re, parenthesizeOperandOfReadonlyTypeOperator: le, parenthesizeNonArrayTypeOfPostfixType: _e, parenthesizeElementTypesOfTupleType: ge, parenthesizeElementTypeOfTupleType: X, parenthesizeTypeOfOptionalType: we, parenthesizeTypeArguments: Ce, parenthesizeLeadingTypeArgument: ke }; function i(Ie) { t || (t = new Map); let Be = t.get(Ie); return Be || (Be = Ne => g(Ie, Ne), t.set(Ie, Be)), Be } function o(Ie) { r || (r = new Map); let Be = r.get(Ie); return Be || (Be = Ne => m(Ie, void 0, Ne), r.set(Ie, Be)), Be } function s(Ie, Be, Ne, Le) { let Ye = yR(223, Ie), _t = zH(223, Ie), ct = a_(Be); if (!Ne && Be.kind === 216 && Ye > 3) return !0; let Rt = $6(ct); switch (Es(Rt, Ye)) { case -1: return !(!Ne && _t === 1 && Be.kind === 226); case 1: return !1; case 0: if (Ne) return _t === 1; if (ar(ct) && ct.operatorToken.kind === Ie) { if (l(Ie)) return !1; if (Ie === 39) { let qe = Le ? f(Le) : 0; if (gI(qe) && qe === f(ct)) return !1 } } return WH(ct) === 0 } } function l(Ie) { return Ie === 41 || Ie === 51 || Ie === 50 || Ie === 52 || Ie === 27 } function f(Ie) { if (Ie = a_(Ie), gI(Ie.kind)) return Ie.kind; if (Ie.kind === 223 && Ie.operatorToken.kind === 39) { if (Ie.cachedLiteralKind !== void 0) return Ie.cachedLiteralKind; let Be = f(Ie.left), Ne = gI(Be) && Be === f(Ie.right) ? Be : 0; return Ie.cachedLiteralKind = Ne, Ne } return 0 } function d(Ie, Be, Ne, Le) { return a_(Be).kind === 214 ? Be : s(Ie, Be, Ne, Le) ? e.createParenthesizedExpression(Be) : Be } function g(Ie, Be) { return d(Ie, Be, !0) } function m(Ie, Be, Ne) { return d(Ie, Ne, !1, Be) } function v(Ie) { return wL(Ie) ? e.createParenthesizedExpression(Ie) : Ie } function S(Ie) { let Be = yR(224, 57), Ne = a_(Ie), Le = $6(Ne); return Es(Le, Be) !== 1 ? e.createParenthesizedExpression(Ie) : Ie } function x(Ie) { let Be = a_(Ie); return wL(Be) ? e.createParenthesizedExpression(Ie) : Ie } function A(Ie) { let Be = a_(Ie), Ne = wL(Be); if (!Ne) switch (QI(Be, !1).kind) { case 228: case 215: Ne = !0 }return Ne ? e.createParenthesizedExpression(Ie) : Ie } function w(Ie) { let Be = QI(Ie, !0); switch (Be.kind) { case 210: return e.createParenthesizedExpression(Ie); case 211: return Be.arguments ? Ie : e.createParenthesizedExpression(Ie) }return C(Ie) } function C(Ie, Be) { let Ne = a_(Ie); return Ju(Ne) && (Ne.kind !== 211 || Ne.arguments) && (Be || !Jl(Ne)) ? Ie : it(e.createParenthesizedExpression(Ie), Ie) } function P(Ie) { return Ju(Ie) ? Ie : it(e.createParenthesizedExpression(Ie), Ie) } function F(Ie) { return jj(Ie) ? Ie : it(e.createParenthesizedExpression(Ie), Ie) } function B(Ie) { let Be = Tl(Ie, q); return it(e.createNodeArray(Be, Ie.hasTrailingComma), Ie) } function q(Ie) { let Be = a_(Ie), Ne = $6(Be), Le = yR(223, 27); return Ne > Le ? Ie : it(e.createParenthesizedExpression(Ie), Ie) } function W(Ie) { let Be = a_(Ie); if (Pa(Be)) { let Le = Be.expression, Ye = a_(Le).kind; if (Ye === 215 || Ye === 216) { let _t = e.updateCallExpression(Be, it(e.createParenthesizedExpression(Le), Le), Be.typeArguments, Be.arguments); return e.restoreOuterExpressions(Ie, _t, 8) } } let Ne = QI(Be, !1).kind; return Ne === 207 || Ne === 215 ? it(e.createParenthesizedExpression(Ie), Ie) : Ie } function Y(Ie) { return !Va(Ie) && (wL(Ie) || QI(Ie, !1).kind === 207) ? it(e.createParenthesizedExpression(Ie), Ie) : Ie } function R(Ie) { switch (Ie.kind) { case 181: case 182: case 191: return e.createParenthesizedType(Ie) }return Ie } function ie(Ie) { switch (Ie.kind) { case 191: return e.createParenthesizedType(Ie) }return Ie } function $(Ie) { switch (Ie.kind) { case 189: case 190: return e.createParenthesizedType(Ie) }return R(Ie) } function fe(Ie) { return e.createNodeArray(Tl(Ie, $)) } function Z(Ie) { switch (Ie.kind) { case 189: case 190: return e.createParenthesizedType(Ie) }return $(Ie) } function U(Ie) { return e.createNodeArray(Tl(Ie, Z)) } function re(Ie) { switch (Ie.kind) { case 190: return e.createParenthesizedType(Ie) }return Z(Ie) } function le(Ie) { switch (Ie.kind) { case 195: return e.createParenthesizedType(Ie) }return re(Ie) } function _e(Ie) { switch (Ie.kind) { case 192: case 195: case 183: return e.createParenthesizedType(Ie) }return re(Ie) } function ge(Ie) { return e.createNodeArray(Tl(Ie, X)) } function X(Ie) { return Ve(Ie) ? e.createParenthesizedType(Ie) : Ie } function Ve(Ie) { return T2(Ie) ? Ie.postfix : bL(Ie) || Jm(Ie) || yL(Ie) || RS(Ie) ? Ve(Ie.type) : m2(Ie) ? Ve(Ie.falseType) : DS(Ie) || dO(Ie) ? Ve(To(Ie.types)) : h2(Ie) ? !!Ie.typeParameter.constraint && Ve(Ie.typeParameter.constraint) : !1 } function we(Ie) { return Ve(Ie) ? e.createParenthesizedType(Ie) : _e(Ie) } function ke(Ie) { return lse(Ie) && Ie.typeParameters ? e.createParenthesizedType(Ie) : Ie } function Pe(Ie, Be) { return Be === 0 ? ke(Ie) : Ie } function Ce(Ie) { if (vt(Ie)) return e.createNodeArray(Tl(Ie, Pe)) } } var uz, SRe = gt({ "src/compiler/factory/parenthesizerRules.ts"() { "use strict"; fa(), uz = { getParenthesizeLeftSideOfBinaryForOperator: e => Ks, getParenthesizeRightSideOfBinaryForOperator: e => Ks, parenthesizeLeftSideOfBinary: (e, t) => t, parenthesizeRightSideOfBinary: (e, t, r) => r, parenthesizeExpressionOfComputedPropertyName: Ks, parenthesizeConditionOfConditionalExpression: Ks, parenthesizeBranchOfConditionalExpression: Ks, parenthesizeExpressionOfExportDefault: Ks, parenthesizeExpressionOfNew: e => Ga(e, Ju), parenthesizeLeftSideOfAccess: e => Ga(e, Ju), parenthesizeOperandOfPostfixUnary: e => Ga(e, Ju), parenthesizeOperandOfPrefixUnary: e => Ga(e, jj), parenthesizeExpressionsOfCommaDelimitedList: e => Ga(e, C0), parenthesizeExpressionForDisallowedComma: Ks, parenthesizeExpressionOfExpressionStatement: Ks, parenthesizeConciseBodyOfArrowFunction: Ks, parenthesizeCheckTypeOfConditionalType: Ks, parenthesizeExtendsTypeOfConditionalType: Ks, parenthesizeConstituentTypesOfUnionType: e => Ga(e, C0), parenthesizeConstituentTypeOfUnionType: Ks, parenthesizeConstituentTypesOfIntersectionType: e => Ga(e, C0), parenthesizeConstituentTypeOfIntersectionType: Ks, parenthesizeOperandOfTypeOperator: Ks, parenthesizeOperandOfReadonlyTypeOperator: Ks, parenthesizeNonArrayTypeOfPostfixType: Ks, parenthesizeElementTypesOfTupleType: e => Ga(e, C0), parenthesizeElementTypeOfTupleType: Ks, parenthesizeTypeOfOptionalType: Ks, parenthesizeTypeArguments: e => e && Ga(e, C0), parenthesizeLeadingTypeArgument: Ks } } }); function cue(e) { return { convertToFunctionBlock: t, convertToFunctionExpression: r, convertToArrayAssignmentElement: i, convertToObjectAssignmentElement: o, convertToAssignmentPattern: s, convertToObjectAssignmentPattern: l, convertToArrayAssignmentPattern: f, convertToAssignmentElementTarget: d }; function t(g, m) { if (Va(g)) return g; let v = e.createReturnStatement(g); it(v, g); let S = e.createBlock([v], m); return it(S, g), S } function r(g) { if (!g.body) return L.fail("Cannot convert a FunctionDeclaration without a body"); let m = e.createFunctionExpression(uT(g), g.asteriskToken, g.name, g.typeParameters, g.parameters, g.type, g.body); return Ir(m, g), it(m, g), tO(g) && vz(m, !0), m } function i(g) { if (Wo(g)) { if (g.dotDotDotToken) return L.assertNode(g.name, Re), Ir(it(e.createSpreadElement(g.name), g), g); let m = d(g.name); return g.initializer ? Ir(it(e.createAssignment(m, g.initializer), g), g) : m } return Ga(g, ot) } function o(g) { if (Wo(g)) { if (g.dotDotDotToken) return L.assertNode(g.name, Re), Ir(it(e.createSpreadAssignment(g.name), g), g); if (g.propertyName) { let m = d(g.name); return Ir(it(e.createPropertyAssignment(g.propertyName, g.initializer ? e.createAssignment(m, g.initializer) : m), g), g) } return L.assertNode(g.name, Re), Ir(it(e.createShorthandPropertyAssignment(g.name, g.initializer), g), g) } return Ga(g, Og) } function s(g) { switch (g.kind) { case 204: case 206: return f(g); case 203: case 207: return l(g) } } function l(g) { return cm(g) ? Ir(it(e.createObjectLiteralExpression(on(g.elements, o)), g), g) : Ga(g, rs) } function f(g) { return g2(g) ? Ir(it(e.createArrayLiteralExpression(on(g.elements, i)), g), g) : Ga(g, fu) } function d(g) { return La(g) ? s(g) : Ga(g, ot) } } var dz, xRe = gt({ "src/compiler/factory/nodeConverters.ts"() { "use strict"; fa(), dz = { convertToFunctionBlock: Sa, convertToFunctionExpression: Sa, convertToArrayAssignmentElement: Sa, convertToObjectAssignmentElement: Sa, convertToAssignmentPattern: Sa, convertToObjectAssignmentPattern: Sa, convertToArrayAssignmentPattern: Sa, convertToAssignmentElementTarget: Sa } } }); function ARe(e) { hz.push(e) } function YR(e, t) { let r = e & 8 ? CRe : IRe, i = zu(() => e & 1 ? uz : sue(P)), o = zu(() => e & 2 ? dz : cue(P)), s = Jp(y => (I, N) => M(I, y, N)), l = Jp(y => I => Jf(y, I)), f = Jp(y => I => E_(I, y)), d = Jp(y => () => vE(y)), g = Jp(y => I => ty(y, I)), m = Jp(y => (I, N) => cs(y, I, N)), v = Jp(y => (I, N) => A1(y, I, N)), S = Jp(y => (I, N) => bE(y, I, N)), x = Jp(y => (I, N) => ih(y, I, N)), A = Jp(y => (I, N, te) => Cv(y, I, N, te)), w = Jp(y => (I, N, te) => Iv(y, I, N, te)), C = Jp(y => (I, N, te, Me) => Gl(y, I, N, te, Me)), P = { get parenthesizer() { return i() }, get converters() { return o() }, baseFactory: t, flags: e, createNodeArray: F, createNumericLiteral: Y, createBigIntLiteral: R, createStringLiteral: $, createStringLiteralFromNode: fe, createRegularExpressionLiteral: Z, createLiteralLikeNode: U, createIdentifier: _e, createTempVariable: ge, createLoopVariable: X, createUniqueName: Ve, getGeneratedNameForNode: we, createPrivateIdentifier: Pe, createUniquePrivateName: Ie, getGeneratedPrivateNameForNode: Be, createToken: Le, createSuper: Ye, createThis: _t, createNull: ct, createTrue: Rt, createFalse: We, createModifier: qe, createModifiersFromModifierFlags: zt, createQualifiedName: Qt, updateQualifiedName: tn, createComputedPropertyName: kn, updateComputedPropertyName: _n, createTypeParameterDeclaration: Gt, updateTypeParameterDeclaration: $n, createParameterDeclaration: ui, updateParameterDeclaration: Ni, createDecorator: Pi, updateDecorator: gr, createPropertySignature: pt, updatePropertySignature: nn, createPropertyDeclaration: pn, updatePropertyDeclaration: An, createMethodSignature: Kn, updateMethodSignature: hi, createMethodDeclaration: ri, updateMethodDeclaration: vn, createConstructorDeclaration: Se, updateConstructorDeclaration: at, createGetAccessorDeclaration: ve, updateGetAccessorDeclaration: nt, createSetAccessorDeclaration: Q, updateSetAccessorDeclaration: ue, createCallSignature: Oe, updateCallSignature: je, createConstructSignature: Ge, updateConstructSignature: kt, createIndexSignature: Kt, updateIndexSignature: ln, createClassStaticBlockDeclaration: En, updateClassStaticBlockDeclaration: dr, createTemplateLiteralTypeSpan: ir, updateTemplateLiteralTypeSpan: ae, createKeywordTypeNode: rt, createTypePredicateNode: Ot, updateTypePredicateNode: Ke, createTypeReferenceNode: oe, updateTypeReferenceNode: pe, createFunctionTypeNode: z, updateFunctionTypeNode: Te, createConstructorTypeNode: yt, updateConstructorTypeNode: Vt, createTypeQueryNode: ei, updateTypeQueryNode: Kr, createTypeLiteralNode: Si, updateTypeLiteralNode: Ja, createArrayTypeNode: Za, updateArrayTypeNode: Fa, createTupleTypeNode: Hi, updateTupleTypeNode: xi, createNamedTupleMember: Nr, updateNamedTupleMember: Fo, createOptionalTypeNode: Qr, updateOptionalTypeNode: Wi, createRestTypeNode: gn, updateRestTypeNode: Ki, createUnionTypeNode: mc, updateUnionTypeNode: xc, createIntersectionTypeNode: hc, updateIntersectionTypeNode: ro, createConditionalTypeNode: aa, updateConditionalTypeNode: Co, createInferTypeNode: gc, updateInferTypeNode: Ll, createImportTypeNode: bl, updateImportTypeNode: ss, createParenthesizedType: qs, updateParenthesizedType: Rs, createThisTypeNode: As, createTypeOperatorNode: jt, updateTypeOperatorNode: yc, createIndexedAccessTypeNode: Ql, updateIndexedAccessTypeNode: yu, createMappedTypeNode: se, updateMappedTypeNode: ht, createLiteralTypeNode: wt, updateLiteralTypeNode: K, createTemplateLiteralType: md, updateTemplateLiteralType: Pc, createObjectBindingPattern: Xe, updateObjectBindingPattern: ft, createArrayBindingPattern: Yt, updateArrayBindingPattern: pr, createBindingElement: yr, updateBindingElement: ta, createArrayLiteralExpression: Go, updateArrayLiteralExpression: Ka, createObjectLiteralExpression: vo, updateObjectLiteralExpression: ka, createPropertyAccessExpression: e & 4 ? (y, I) => Jn(Uc(y, I), 262144) : Uc, updatePropertyAccessExpression: Gu, createPropertyAccessChain: e & 4 ? (y, I, N) => Jn($o(y, I, N), 262144) : $o, updatePropertyAccessChain: jo, createElementAccessExpression: hd, updateElementAccessExpression: vc, createElementAccessChain: nf, updateElementAccessChain: ye, createCallExpression: bn, updateCallExpression: Ri, createCallChain: io, updateCallChain: ee, createNewExpression: Ze, updateNewExpression: At, createTaggedTemplateExpression: xt, updateTaggedTemplateExpression: qt, createTypeAssertion: Ln, updateTypeAssertion: mr, createParenthesizedExpression: Vr, updateParenthesizedExpression: gi, createFunctionExpression: Ea, updateFunctionExpression: bo, createArrowFunction: Qo, updateArrowFunction: Cs, createDeleteExpression: Bu, updateDeleteExpression: Pd, createTypeOfExpression: Dc, updateTypeOfExpression: gd, createVoidExpression: Zl, updateVoidExpression: Md, createAwaitExpression: zf, updateAwaitExpression: Io, createPrefixUnaryExpression: Jf, updatePrefixUnaryExpression: Fd, createPostfixUnaryExpression: E_, updatePostfixUnaryExpression: Y_, createBinaryExpression: M, updateBinaryExpression: Nt, createConditionalExpression: Pn, updateConditionalExpression: la, createTemplateExpression: oa, updateTemplateExpression: be, createTemplateHead: sn, createTemplateMiddle: Dn, createTemplateTail: kr, createNoSubstitutionTemplateLiteral: ki, createTemplateLiteralLikeNode: rn, createYieldExpression: Vn, updateYieldExpression: $t, createSpreadElement: Xn, updateSpreadElement: ra, createClassExpression: Is, updateClassExpression: Mc, createOmittedExpression: mm, createExpressionWithTypeArguments: Hh, updateExpressionWithTypeArguments: T_, createAsExpression: Cb, updateAsExpression: mv, createNonNullExpression: gx, updateNonNullExpression: _1, createSatisfiesExpression: yx, updateSatisfiesExpression: Wh, createNonNullChain: S_, updateNonNullChain: hv, createMetaProperty: eh, updateMetaProperty: $_, createTemplateSpan: gv, updateTemplateSpan: lE, createSemicolonClassElement: Ib, createBlock: zh, updateBlock: p1, createVariableStatement: uE, updateVariableStatement: dE, createEmptyStatement: fE, createExpressionStatement: yv, updateExpressionStatement: vx, createIfStatement: _E, updateIfStatement: pE, createDoStatement: vv, updateDoStatement: Lb, createWhileStatement: bv, updateWhileStatement: m1, createForStatement: Jh, updateForStatement: Lo, createForInStatement: mE, updateForInStatement: sC, createForOfStatement: Zg, updateForOfStatement: Kh, createContinueStatement: hm, updateContinueStatement: x_, createBreakStatement: Zu, updateBreakStatement: ed, createReturnStatement: td, updateReturnStatement: kb, createWithStatement: Db, updateWithStatement: bx, createSwitchStatement: wb, updateSwitchStatement: qh, createLabeledStatement: Rb, updateLabeledStatement: h1, createThrowStatement: Ob, updateThrowStatement: cC, createTryStatement: Ex, updateTryStatement: Ev, createDebuggerStatement: hE, createVariableDeclaration: Fe, updateVariableDeclaration: ey, createVariableDeclarationList: Ip, updateVariableDeclarationList: Tv, createFunctionDeclaration: Nb, updateFunctionDeclaration: Sv, createClassDeclaration: g1, updateClassDeclaration: wo, createInterfaceDeclaration: A_, updateInterfaceDeclaration: gE, createTypeAliasDeclaration: Kc, updateTypeAliasDeclaration: th, createEnumDeclaration: Pb, updateEnumDeclaration: C_, createModuleDeclaration: Mb, updateModuleDeclaration: Ml, createModuleBlock: Yh, updateModuleBlock: ll, createCaseBlock: y1, updateCaseBlock: lC, createNamespaceExportDeclaration: Ai, updateNamespaceExportDeclaration: Rr, createImportEqualsDeclaration: yd, updateImportEqualsDeclaration: yE, createImportDeclaration: $h, updateImportDeclaration: nh, createImportClause: ym, updateImportClause: zs, createAssertClause: Fb, updateAssertClause: v1, createAssertEntry: Gb, updateAssertEntry: b1, createImportTypeAssertionContainer: Cf, updateImportTypeAssertionContainer: Tx, createNamespaceImport: Sx, updateNamespaceImport: xv, createNamespaceExport: E1, updateNamespaceExport: T1, createNamedImports: xx, updateNamedImports: Bb, createImportSpecifier: S1, updateImportSpecifier: rf, createExportAssignment: Qh, updateExportAssignment: Q_, createExportDeclaration: I_, updateExportDeclaration: Ax, createNamedExports: Lp, updateNamedExports: x1, createExportSpecifier: Uu, updateExportSpecifier: Zh, createMissingDeclaration: kp, createExternalModuleReference: Dp, updateExternalModuleReference: eg, get createJSDocAllType() { return d(315) }, get createJSDocUnknownType() { return d(316) }, get createJSDocNonNullableType() { return v(318) }, get updateJSDocNonNullableType() { return S(318) }, get createJSDocNullableType() { return v(317) }, get updateJSDocNullableType() { return S(317) }, get createJSDocOptionalType() { return g(319) }, get updateJSDocOptionalType() { return m(319) }, get createJSDocVariadicType() { return g(321) }, get updateJSDocVariadicType() { return m(321) }, get createJSDocNamepathType() { return g(322) }, get updateJSDocNamepathType() { return m(322) }, createJSDocFunctionType: ny, updateJSDocFunctionType: Cx, createJSDocTypeLiteral: Vb, updateJSDocTypeLiteral: jb, createJSDocTypeExpression: Ix, updateJSDocTypeExpression: uC, createJSDocSignature: Lx, updateJSDocSignature: Qn, createJSDocTemplateTag: Av, updateJSDocTemplateTag: vm, createJSDocTypedefTag: Wn, updateJSDocTypedefTag: kx, createJSDocParameterTag: ry, updateJSDocParameterTag: nl, createJSDocPropertyTag: Kf, updateJSDocPropertyTag: Z_, createJSDocCallbackTag: iy, updateJSDocCallbackTag: EE, createJSDocOverloadTag: L_, updateJSDocOverloadTag: ay, createJSDocAugmentsTag: Ac, updateJSDocAugmentsTag: wc, createJSDocImplementsTag: tg, updateJSDocImplementsTag: ng, createJSDocSeeTag: Fl, updateJSDocSeeTag: qf, createJSDocNameReference: bm, updateJSDocNameReference: nd, createJSDocMemberName: TE, updateJSDocMemberName: Hb, createJSDocLink: Wb, updateJSDocLink: ep, createJSDocLinkCode: rh, updateJSDocLinkCode: SE, createJSDocLinkPlain: oy, updateJSDocLinkPlain: uc, get createJSDocTypeTag() { return w(347) }, get updateJSDocTypeTag() { return C(347) }, get createJSDocReturnTag() { return w(345) }, get updateJSDocReturnTag() { return C(345) }, get createJSDocThisTag() { return w(346) }, get updateJSDocThisTag() { return C(346) }, get createJSDocAuthorTag() { return x(333) }, get updateJSDocAuthorTag() { return A(333) }, get createJSDocClassTag() { return x(335) }, get updateJSDocClassTag() { return A(335) }, get createJSDocPublicTag() { return x(336) }, get updateJSDocPublicTag() { return A(336) }, get createJSDocPrivateTag() { return x(337) }, get updateJSDocPrivateTag() { return A(337) }, get createJSDocProtectedTag() { return x(338) }, get updateJSDocProtectedTag() { return A(338) }, get createJSDocReadonlyTag() { return x(339) }, get updateJSDocReadonlyTag() { return A(339) }, get createJSDocOverrideTag() { return x(340) }, get updateJSDocOverrideTag() { return A(340) }, get createJSDocDeprecatedTag() { return x(334) }, get updateJSDocDeprecatedTag() { return A(334) }, get createJSDocThrowsTag() { return w(352) }, get updateJSDocThrowsTag() { return C(352) }, get createJSDocSatisfiesTag() { return w(353) }, get updateJSDocSatisfiesTag() { return C(353) }, createJSDocEnumTag: xE, updateJSDocEnumTag: oh, createJSDocUnknownTag: ah, updateJSDocUnknownTag: qc, createJSDocText: zb, updateJSDocText: Vu, createJSDocComment: Em, updateJSDocComment: Jb, createJsxElement: Lv, updateJsxElement: AE, createJsxSelfClosingElement: sy, updateJsxSelfClosingElement: C1, createJsxOpeningElement: kv, updateJsxOpeningElement: rg, createJsxClosingElement: of, updateJsxClosingElement: CE, createJsxFragment: Gd, createJsxText: Dv, updateJsxText: Dx, createJsxOpeningFragment: No, createJsxJsxClosingFragment: fr, updateJsxFragment: sh, createJsxAttribute: vd, updateJsxAttribute: ju, createJsxAttributes: I1, updateJsxAttributes: IE, createJsxSpreadAttribute: cy, updateJsxSpreadAttribute: wx, createJsxExpression: ly, updateJsxExpression: wp, createCaseClause: tp, updateCaseClause: ig, createDefaultClause: wv, updateDefaultClause: ch, createHeritageClause: Rp, updateHeritageClause: L1, createCatchClause: Cc, updateCatchClause: Bd, createPropertyAssignment: Tm, updatePropertyAssignment: rd, createShorthandPropertyAssignment: uy, updateShorthandPropertyAssignment: ag, createSpreadAssignment: sf, updateSpreadAssignment: ls, createEnumMember: kE, updateEnumMember: DE, createSourceFile: og, updateSourceFile: NE, createRedirectedSourceFile: Rv, createBundle: PE, updateBundle: dy, createUnparsedSource: bd, createUnparsedPrologue: dC, createUnparsedPrepend: sg, createUnparsedTextLike: Ox, createUnparsedSyntheticReference: Nx, createInputFiles: E, createSyntheticExpression: ne, createSyntaxList: Ee, createNotEmittedStatement: Wt, createPartiallyEmittedExpression: lr, updatePartiallyEmittedExpression: ci, createCommaListExpression: Ti, updateCommaListExpression: Wa, createEndOfDeclarationMarker: kl, createMergeDeclarationMarker: Ed, createSyntheticReferenceExpression: Ud, updateSyntheticReferenceExpression: fy, cloneNode: Xf, get createComma() { return s(27) }, get createAssignment() { return s(63) }, get createLogicalOr() { return s(56) }, get createLogicalAnd() { return s(55) }, get createBitwiseOr() { return s(51) }, get createBitwiseXor() { return s(52) }, get createBitwiseAnd() { return s(50) }, get createStrictEquality() { return s(36) }, get createStrictInequality() { return s(37) }, get createEquality() { return s(34) }, get createInequality() { return s(35) }, get createLessThan() { return s(29) }, get createLessThanEquals() { return s(32) }, get createGreaterThan() { return s(31) }, get createGreaterThanEquals() { return s(33) }, get createLeftShift() { return s(47) }, get createRightShift() { return s(48) }, get createUnsignedRightShift() { return s(49) }, get createAdd() { return s(39) }, get createSubtract() { return s(40) }, get createMultiply() { return s(41) }, get createDivide() { return s(43) }, get createModulo() { return s(44) }, get createExponent() { return s(42) }, get createPrefixPlus() { return l(39) }, get createPrefixMinus() { return l(40) }, get createPrefixIncrement() { return l(45) }, get createPrefixDecrement() { return l(46) }, get createBitwiseNot() { return l(54) }, get createLogicalNot() { return l(53) }, get createPostfixIncrement() { return f(45) }, get createPostfixDecrement() { return f(46) }, createImmediatelyInvokedFunctionExpression: ME, createImmediatelyInvokedArrowFunction: cf, createVoidZero: Sm, createExportDefault: py, createExternalModuleExport: If, createTypeCheck: FE, createMethodCall: Pv, createGlobalMethodCall: Ro, createFunctionBindCall: Vc, createFunctionCallCall: KP, createFunctionApplyCall: Zo, createArraySliceCall: Px, createArrayConcatCall: Mx, createObjectDefinePropertyCall: V, createObjectGetOwnPropertyDescriptorCall: me, createReflectGetCall: Ue, createReflectSetCall: ut, createPropertyDescriptor: dn, createCallBinding: is, createAssignmentTargetWrapper: ao, inlineExpressions: Oo, getInternalName: np, getLocalName: Op, getExportName: cg, getDeclarationName: Yf, getNamespaceMemberName: my, getExternalModuleOrNamespaceExportName: Fx, restoreOuterExpressions: li, restoreEnclosingLabel: di, createUseStrictPrologue: k_, copyPrologue: GE, copyStandardPrologue: Mv, copyCustomPrologue: _C, ensureUseStrict: lf, liftToBlock: Gx, mergeLexicalEnvironment: jk, updateModifiers: Hk }; return mn(hz, y => y(P)), P; function F(y, I) { if (y === void 0 || y === Je) y = []; else if (C0(y)) { if (I === void 0 || y.hasTrailingComma === I) return y.transformFlags === void 0 && lue(y), L.attachNodeArrayDebugInfo(y), y; let Me = y.slice(); return Me.pos = y.pos, Me.end = y.end, Me.hasTrailingComma = I, Me.transformFlags = y.transformFlags, L.attachNodeArrayDebugInfo(Me), Me } let N = y.length, te = N >= 1 && N <= 4 ? y.slice() : y; return te.pos = -1, te.end = -1, te.hasTrailingComma = !!I, te.transformFlags = 0, lue(te), L.attachNodeArrayDebugInfo(te), te } function B(y) { return t.createBaseNode(y) } function q(y) { let I = B(y); return I.symbol = void 0, I.localSymbol = void 0, I } function W(y, I) { return y !== I && (y.typeArguments = I.typeArguments), r(y, I) } function Y(y, I = 0) { let N = q(8); return N.text = typeof y == "number" ? y + "" : y, N.numericLiteralFlags = I, I & 384 && (N.transformFlags |= 1024), N } function R(y) { let I = Ne(9); return I.text = typeof y == "string" ? y : j0(y) + "n", I.transformFlags |= 4, I } function ie(y, I) { let N = q(10); return N.text = y, N.singleQuote = I, N } function $(y, I, N) { let te = ie(y, I); return te.hasExtendedUnicodeEscape = N, N && (te.transformFlags |= 1024), te } function fe(y) { let I = ie(l_(y), void 0); return I.textSourceNode = y, I } function Z(y) { let I = Ne(13); return I.text = y, I } function U(y, I) { switch (y) { case 8: return Y(I, 0); case 9: return R(I); case 10: return $(I, void 0); case 11: return Dv(I, !1); case 12: return Dv(I, !0); case 13: return Z(I); case 14: return rn(y, I, void 0, 0) } } function re(y) { let I = t.createBaseIdentifierNode(79); return I.escapedText = y, I.jsDoc = void 0, I.flowNode = void 0, I.symbol = void 0, I } function le(y, I, N, te) { let Me = re(Bs(y)); return iO(Me, { flags: I, id: QR, prefix: N, suffix: te }), QR++, Me } function _e(y, I, N) { I === void 0 && y && (I = lT(y)), I === 79 && (I = void 0); let te = re(Bs(y)); return N && (te.flags |= 128), te.escapedText === "await" && (te.transformFlags |= 67108864), te.flags & 128 && (te.transformFlags |= 1024), te } function ge(y, I, N, te) { let Me = 1; I && (Me |= 8); let Pt = le("", Me, N, te); return y && y(Pt), Pt } function X(y) { let I = 2; return y && (I |= 8), le("", I, void 0, void 0) } function Ve(y, I = 0, N, te) { return L.assert(!(I & 7), "Argument out of range: flags"), L.assert((I & 48) !== 32, "GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"), le(y, 3 | I, N, te) } function we(y, I = 0, N, te) { L.assert(!(I & 7), "Argument out of range: flags"); let Me = y ? Ah(y) ? jT(!1, N, y, te, vr) : `generated@${zo(y)}` : ""; (N || te) && (I |= 16); let Pt = le(Me, 4 | I, N, te); return Pt.original = y, Pt } function ke(y) { let I = t.createBasePrivateIdentifierNode(80); return I.escapedText = y, I.transformFlags |= 16777216, I } function Pe(y) { return na(y, "#") || L.fail("First character of private identifier must be #: " + y), ke(Bs(y)) } function Ce(y, I, N, te) { let Me = ke(Bs(y)); return iO(Me, { flags: I, id: QR, prefix: N, suffix: te }), QR++, Me } function Ie(y, I, N) { y && !na(y, "#") && L.fail("First character of private identifier must be #: " + y); let te = 8 | (y ? 3 : 1); return Ce(y ?? "", te, I, N) } function Be(y, I, N) { let te = Ah(y) ? jT(!0, I, y, N, vr) : `#generated@${zo(y)}`, Pt = Ce(te, 4 | (I || N ? 16 : 0), I, N); return Pt.original = y, Pt } function Ne(y) { return t.createBaseTokenNode(y) } function Le(y) { L.assert(y >= 0 && y <= 162, "Invalid token"), L.assert(y <= 14 || y >= 17, "Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."), L.assert(y <= 8 || y >= 14, "Invalid token. Use 'createLiteralLikeNode' to create literals."), L.assert(y !== 79, "Invalid token. Use 'createIdentifier' to create identifiers"); let I = Ne(y), N = 0; switch (y) { case 132: N = 384; break; case 123: case 121: case 122: case 146: case 126: case 136: case 85: case 131: case 148: case 160: case 144: case 149: case 101: case 145: case 161: case 152: case 134: case 153: case 114: case 157: case 155: N = 1; break; case 106: N = 134218752, I.flowNode = void 0; break; case 124: N = 1024; break; case 127: N = 16777216; break; case 108: N = 16384, I.flowNode = void 0; break }return N && (I.transformFlags |= N), I } function Ye() { return Le(106) } function _t() { return Le(108) } function ct() { return Le(104) } function Rt() { return Le(110) } function We() { return Le(95) } function qe(y) { return Le(y) } function zt(y) { let I = []; return y & 1 && I.push(qe(93)), y & 2 && I.push(qe(136)), y & 1024 && I.push(qe(88)), y & 2048 && I.push(qe(85)), y & 4 && I.push(qe(123)), y & 8 && I.push(qe(121)), y & 16 && I.push(qe(122)), y & 256 && I.push(qe(126)), y & 32 && I.push(qe(124)), y & 16384 && I.push(qe(161)), y & 64 && I.push(qe(146)), y & 128 && I.push(qe(127)), y & 512 && I.push(qe(132)), y & 32768 && I.push(qe(101)), y & 65536 && I.push(qe(145)), I.length ? I : void 0 } function Qt(y, I) { let N = B(163); return N.left = y, N.right = Zs(I), N.transformFlags |= tr(N.left) | fL(N.right), N.flowNode = void 0, N } function tn(y, I, N) { return y.left !== I || y.right !== N ? r(Qt(I, N), y) : y } function kn(y) { let I = B(164); return I.expression = i().parenthesizeExpressionOfComputedPropertyName(y), I.transformFlags |= tr(I.expression) | 1024 | 131072, I } function _n(y, I) { return y.expression !== I ? r(kn(I), y) : y } function Gt(y, I, N, te) { let Me = q(165); return Me.modifiers = oo(y), Me.name = Zs(I), Me.constraint = N, Me.default = te, Me.transformFlags = 1, Me.expression = void 0, Me.jsDoc = void 0, Me } function $n(y, I, N, te, Me) { return y.modifiers !== I || y.name !== N || y.constraint !== te || y.default !== Me ? r(Gt(I, N, te, Me), y) : y } function ui(y, I, N, te, Me, Pt) { var Tr, Fi; let Da = q(166); return Da.modifiers = oo(y), Da.dotDotDotToken = I, Da.name = Zs(N), Da.questionToken = te, Da.type = Me, Da.initializer = gy(Pt), LT(Da.name) ? Da.transformFlags = 1 : Da.transformFlags = fo(Da.modifiers) | tr(Da.dotDotDotToken) | Gg(Da.name) | tr(Da.questionToken) | tr(Da.initializer) | (((Tr = Da.questionToken) != null ? Tr : Da.type) ? 1 : 0) | (((Fi = Da.dotDotDotToken) != null ? Fi : Da.initializer) ? 1024 : 0) | (im(Da.modifiers) & 16476 ? 8192 : 0), Da.jsDoc = void 0, Da } function Ni(y, I, N, te, Me, Pt, Tr) { return y.modifiers !== I || y.dotDotDotToken !== N || y.name !== te || y.questionToken !== Me || y.type !== Pt || y.initializer !== Tr ? r(ui(I, N, te, Me, Pt, Tr), y) : y } function Pi(y) { let I = B(167); return I.expression = i().parenthesizeLeftSideOfAccess(y, !1), I.transformFlags |= tr(I.expression) | 1 | 8192 | 33554432, I } function gr(y, I) { return y.expression !== I ? r(Pi(I), y) : y } function pt(y, I, N, te) { let Me = q(168); return Me.modifiers = oo(y), Me.name = Zs(I), Me.type = te, Me.questionToken = N, Me.transformFlags = 1, Me.initializer = void 0, Me.jsDoc = void 0, Me } function nn(y, I, N, te, Me) { return y.modifiers !== I || y.name !== N || y.questionToken !== te || y.type !== Me ? Dt(pt(I, N, te, Me), y) : y } function Dt(y, I) { return y !== I && (y.initializer = I.initializer), r(y, I) } function pn(y, I, N, te, Me) { let Pt = q(169); Pt.modifiers = oo(y), Pt.name = Zs(I), Pt.questionToken = N && ev(N) ? N : void 0, Pt.exclamationToken = N && lO(N) ? N : void 0, Pt.type = te, Pt.initializer = gy(Me); let Tr = Pt.flags & 16777216 || im(Pt.modifiers) & 2; return Pt.transformFlags = fo(Pt.modifiers) | Gg(Pt.name) | tr(Pt.initializer) | (Tr || Pt.questionToken || Pt.exclamationToken || Pt.type ? 1 : 0) | (ts(Pt.name) || im(Pt.modifiers) & 32 && Pt.initializer ? 8192 : 0) | 16777216, Pt.jsDoc = void 0, Pt } function An(y, I, N, te, Me, Pt) { return y.modifiers !== I || y.name !== N || y.questionToken !== (te !== void 0 && ev(te) ? te : void 0) || y.exclamationToken !== (te !== void 0 && lO(te) ? te : void 0) || y.type !== Me || y.initializer !== Pt ? r(pn(I, N, te, Me, Pt), y) : y } function Kn(y, I, N, te, Me, Pt) { let Tr = q(170); return Tr.modifiers = oo(y), Tr.name = Zs(I), Tr.questionToken = N, Tr.typeParameters = oo(te), Tr.parameters = oo(Me), Tr.type = Pt, Tr.transformFlags = 1, Tr.jsDoc = void 0, Tr.locals = void 0, Tr.nextContainer = void 0, Tr.typeArguments = void 0, Tr } function hi(y, I, N, te, Me, Pt, Tr) { return y.modifiers !== I || y.name !== N || y.questionToken !== te || y.typeParameters !== Me || y.parameters !== Pt || y.type !== Tr ? W(Kn(I, N, te, Me, Pt, Tr), y) : y } function ri(y, I, N, te, Me, Pt, Tr, Fi) { let Da = q(171); if (Da.modifiers = oo(y), Da.asteriskToken = I, Da.name = Zs(N), Da.questionToken = te, Da.exclamationToken = void 0, Da.typeParameters = oo(Me), Da.parameters = F(Pt), Da.type = Tr, Da.body = Fi, !Da.body) Da.transformFlags = 1; else { let Vd = im(Da.modifiers) & 512, lg = !!Da.asteriskToken, ug = Vd && lg; Da.transformFlags = fo(Da.modifiers) | tr(Da.asteriskToken) | Gg(Da.name) | tr(Da.questionToken) | fo(Da.typeParameters) | fo(Da.parameters) | tr(Da.type) | tr(Da.body) & -67108865 | (ug ? 128 : Vd ? 256 : lg ? 2048 : 0) | (Da.questionToken || Da.typeParameters || Da.type ? 1 : 0) | 1024 } return Da.typeArguments = void 0, Da.jsDoc = void 0, Da.locals = void 0, Da.nextContainer = void 0, Da.flowNode = void 0, Da.endFlowNode = void 0, Da.returnFlowNode = void 0, Da } function vn(y, I, N, te, Me, Pt, Tr, Fi, Da) { return y.modifiers !== I || y.asteriskToken !== N || y.name !== te || y.questionToken !== Me || y.typeParameters !== Pt || y.parameters !== Tr || y.type !== Fi || y.body !== Da ? Ht(ri(I, N, te, Me, Pt, Tr, Fi, Da), y) : y } function Ht(y, I) { return y !== I && (y.exclamationToken = I.exclamationToken), r(y, I) } function En(y) { let I = q(172); return I.body = y, I.transformFlags = tr(y) | 16777216, I.modifiers = void 0, I.jsDoc = void 0, I.locals = void 0, I.nextContainer = void 0, I.endFlowNode = void 0, I.returnFlowNode = void 0, I } function dr(y, I) { return y.body !== I ? Cr(En(I), y) : y } function Cr(y, I) { return y !== I && (y.modifiers = I.modifiers), r(y, I) } function Se(y, I, N) { let te = q(173); return te.modifiers = oo(y), te.parameters = F(I), te.body = N, te.transformFlags = fo(te.modifiers) | fo(te.parameters) | tr(te.body) & -67108865 | 1024, te.typeParameters = void 0, te.type = void 0, te.typeArguments = void 0, te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te.endFlowNode = void 0, te.returnFlowNode = void 0, te } function at(y, I, N, te) { return y.modifiers !== I || y.parameters !== N || y.body !== te ? Tt(Se(I, N, te), y) : y } function Tt(y, I) { return y !== I && (y.typeParameters = I.typeParameters, y.type = I.type), W(y, I) } function ve(y, I, N, te, Me) { let Pt = q(174); return Pt.modifiers = oo(y), Pt.name = Zs(I), Pt.parameters = F(N), Pt.type = te, Pt.body = Me, Pt.body ? Pt.transformFlags = fo(Pt.modifiers) | Gg(Pt.name) | fo(Pt.parameters) | tr(Pt.type) | tr(Pt.body) & -67108865 | (Pt.type ? 1 : 0) : Pt.transformFlags = 1, Pt.typeArguments = void 0, Pt.typeParameters = void 0, Pt.jsDoc = void 0, Pt.locals = void 0, Pt.nextContainer = void 0, Pt.flowNode = void 0, Pt.endFlowNode = void 0, Pt.returnFlowNode = void 0, Pt } function nt(y, I, N, te, Me, Pt) { return y.modifiers !== I || y.name !== N || y.parameters !== te || y.type !== Me || y.body !== Pt ? ce(ve(I, N, te, Me, Pt), y) : y } function ce(y, I) { return y !== I && (y.typeParameters = I.typeParameters), W(y, I) } function Q(y, I, N, te) { let Me = q(175); return Me.modifiers = oo(y), Me.name = Zs(I), Me.parameters = F(N), Me.body = te, Me.body ? Me.transformFlags = fo(Me.modifiers) | Gg(Me.name) | fo(Me.parameters) | tr(Me.body) & -67108865 | (Me.type ? 1 : 0) : Me.transformFlags = 1, Me.typeArguments = void 0, Me.typeParameters = void 0, Me.type = void 0, Me.jsDoc = void 0, Me.locals = void 0, Me.nextContainer = void 0, Me.flowNode = void 0, Me.endFlowNode = void 0, Me.returnFlowNode = void 0, Me } function ue(y, I, N, te, Me) { return y.modifiers !== I || y.name !== N || y.parameters !== te || y.body !== Me ? G(Q(I, N, te, Me), y) : y } function G(y, I) { return y !== I && (y.typeParameters = I.typeParameters, y.type = I.type), W(y, I) } function Oe(y, I, N) { let te = q(176); return te.typeParameters = oo(y), te.parameters = oo(I), te.type = N, te.transformFlags = 1, te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te.typeArguments = void 0, te } function je(y, I, N, te) { return y.typeParameters !== I || y.parameters !== N || y.type !== te ? W(Oe(I, N, te), y) : y } function Ge(y, I, N) { let te = q(177); return te.typeParameters = oo(y), te.parameters = oo(I), te.type = N, te.transformFlags = 1, te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te.typeArguments = void 0, te } function kt(y, I, N, te) { return y.typeParameters !== I || y.parameters !== N || y.type !== te ? W(Ge(I, N, te), y) : y } function Kt(y, I, N) { let te = q(178); return te.modifiers = oo(y), te.parameters = oo(I), te.type = N, te.transformFlags = 1, te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te.typeArguments = void 0, te } function ln(y, I, N, te) { return y.parameters !== N || y.type !== te || y.modifiers !== I ? W(Kt(I, N, te), y) : y } function ir(y, I) { let N = B(201); return N.type = y, N.literal = I, N.transformFlags = 1, N } function ae(y, I, N) { return y.type !== I || y.literal !== N ? r(ir(I, N), y) : y } function rt(y) { return Le(y) } function Ot(y, I, N) { let te = B(179); return te.assertsModifier = y, te.parameterName = Zs(I), te.type = N, te.transformFlags = 1, te } function Ke(y, I, N, te) { return y.assertsModifier !== I || y.parameterName !== N || y.type !== te ? r(Ot(I, N, te), y) : y } function oe(y, I) { let N = B(180); return N.typeName = Zs(y), N.typeArguments = I && i().parenthesizeTypeArguments(F(I)), N.transformFlags = 1, N } function pe(y, I, N) { return y.typeName !== I || y.typeArguments !== N ? r(oe(I, N), y) : y } function z(y, I, N) { let te = q(181); return te.typeParameters = oo(y), te.parameters = oo(I), te.type = N, te.transformFlags = 1, te.modifiers = void 0, te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te.typeArguments = void 0, te } function Te(y, I, N, te) { return y.typeParameters !== I || y.parameters !== N || y.type !== te ? j(z(I, N, te), y) : y } function j(y, I) { return y !== I && (y.modifiers = I.modifiers), W(y, I) } function yt(...y) { return y.length === 4 ? lt(...y) : y.length === 3 ? Qe(...y) : L.fail("Incorrect number of arguments specified.") } function lt(y, I, N, te) { let Me = q(182); return Me.modifiers = oo(y), Me.typeParameters = oo(I), Me.parameters = oo(N), Me.type = te, Me.transformFlags = 1, Me.jsDoc = void 0, Me.locals = void 0, Me.nextContainer = void 0, Me.typeArguments = void 0, Me } function Qe(y, I, N) { return lt(void 0, y, I, N) } function Vt(...y) { return y.length === 5 ? Hn(...y) : y.length === 4 ? jr(...y) : L.fail("Incorrect number of arguments specified.") } function Hn(y, I, N, te, Me) { return y.modifiers !== I || y.typeParameters !== N || y.parameters !== te || y.type !== Me ? W(yt(I, N, te, Me), y) : y } function jr(y, I, N, te) { return Hn(y, y.modifiers, I, N, te) } function ei(y, I) { let N = B(183); return N.exprName = y, N.typeArguments = I && i().parenthesizeTypeArguments(I), N.transformFlags = 1, N } function Kr(y, I, N) { return y.exprName !== I || y.typeArguments !== N ? r(ei(I, N), y) : y } function Si(y) { let I = q(184); return I.members = F(y), I.transformFlags = 1, I } function Ja(y, I) { return y.members !== I ? r(Si(I), y) : y } function Za(y) { let I = B(185); return I.elementType = i().parenthesizeNonArrayTypeOfPostfixType(y), I.transformFlags = 1, I } function Fa(y, I) { return y.elementType !== I ? r(Za(I), y) : y } function Hi(y) { let I = B(186); return I.elements = F(i().parenthesizeElementTypesOfTupleType(y)), I.transformFlags = 1, I } function xi(y, I) { return y.elements !== I ? r(Hi(I), y) : y } function Nr(y, I, N, te) { let Me = q(199); return Me.dotDotDotToken = y, Me.name = I, Me.questionToken = N, Me.type = te, Me.transformFlags = 1, Me.jsDoc = void 0, Me } function Fo(y, I, N, te, Me) { return y.dotDotDotToken !== I || y.name !== N || y.questionToken !== te || y.type !== Me ? r(Nr(I, N, te, Me), y) : y } function Qr(y) { let I = B(187); return I.type = i().parenthesizeTypeOfOptionalType(y), I.transformFlags = 1, I } function Wi(y, I) { return y.type !== I ? r(Qr(I), y) : y } function gn(y) { let I = B(188); return I.type = y, I.transformFlags = 1, I } function Ki(y, I) { return y.type !== I ? r(gn(I), y) : y } function kc(y, I, N) { let te = B(y); return te.types = P.createNodeArray(N(I)), te.transformFlags = 1, te } function Ps(y, I, N) { return y.types !== I ? r(kc(y.kind, I, N), y) : y } function mc(y) { return kc(189, y, i().parenthesizeConstituentTypesOfUnionType) } function xc(y, I) { return Ps(y, I, i().parenthesizeConstituentTypesOfUnionType) } function hc(y) { return kc(190, y, i().parenthesizeConstituentTypesOfIntersectionType) } function ro(y, I) { return Ps(y, I, i().parenthesizeConstituentTypesOfIntersectionType) } function aa(y, I, N, te) { let Me = B(191); return Me.checkType = i().parenthesizeCheckTypeOfConditionalType(y), Me.extendsType = i().parenthesizeExtendsTypeOfConditionalType(I), Me.trueType = N, Me.falseType = te, Me.transformFlags = 1, Me.locals = void 0, Me.nextContainer = void 0, Me } function Co(y, I, N, te, Me) { return y.checkType !== I || y.extendsType !== N || y.trueType !== te || y.falseType !== Me ? r(aa(I, N, te, Me), y) : y } function gc(y) { let I = B(192); return I.typeParameter = y, I.transformFlags = 1, I } function Ll(y, I) { return y.typeParameter !== I ? r(gc(I), y) : y } function md(y, I) { let N = B(200); return N.head = y, N.templateSpans = F(I), N.transformFlags = 1, N } function Pc(y, I, N) { return y.head !== I || y.templateSpans !== N ? r(md(I, N), y) : y } function bl(y, I, N, te, Me = !1) { let Pt = B(202); return Pt.argument = y, Pt.assertions = I, Pt.qualifier = N, Pt.typeArguments = te && i().parenthesizeTypeArguments(te), Pt.isTypeOf = Me, Pt.transformFlags = 1, Pt } function ss(y, I, N, te, Me, Pt = y.isTypeOf) { return y.argument !== I || y.assertions !== N || y.qualifier !== te || y.typeArguments !== Me || y.isTypeOf !== Pt ? r(bl(I, N, te, Me, Pt), y) : y } function qs(y) { let I = B(193); return I.type = y, I.transformFlags = 1, I } function Rs(y, I) { return y.type !== I ? r(qs(I), y) : y } function As() { let y = B(194); return y.transformFlags = 1, y } function jt(y, I) { let N = B(195); return N.operator = y, N.type = y === 146 ? i().parenthesizeOperandOfReadonlyTypeOperator(I) : i().parenthesizeOperandOfTypeOperator(I), N.transformFlags = 1, N } function yc(y, I) { return y.type !== I ? r(jt(y.operator, I), y) : y } function Ql(y, I) { let N = B(196); return N.objectType = i().parenthesizeNonArrayTypeOfPostfixType(y), N.indexType = I, N.transformFlags = 1, N } function yu(y, I, N) { return y.objectType !== I || y.indexType !== N ? r(Ql(I, N), y) : y } function se(y, I, N, te, Me, Pt) { let Tr = q(197); return Tr.readonlyToken = y, Tr.typeParameter = I, Tr.nameType = N, Tr.questionToken = te, Tr.type = Me, Tr.members = Pt && F(Pt), Tr.transformFlags = 1, Tr.locals = void 0, Tr.nextContainer = void 0, Tr } function ht(y, I, N, te, Me, Pt, Tr) { return y.readonlyToken !== I || y.typeParameter !== N || y.nameType !== te || y.questionToken !== Me || y.type !== Pt || y.members !== Tr ? r(se(I, N, te, Me, Pt, Tr), y) : y } function wt(y) { let I = B(198); return I.literal = y, I.transformFlags = 1, I } function K(y, I) { return y.literal !== I ? r(wt(I), y) : y } function Xe(y) { let I = B(203); return I.elements = F(y), I.transformFlags |= fo(I.elements) | 1024 | 524288, I.transformFlags & 32768 && (I.transformFlags |= 65664), I } function ft(y, I) { return y.elements !== I ? r(Xe(I), y) : y } function Yt(y) { let I = B(204); return I.elements = F(y), I.transformFlags |= fo(I.elements) | 1024 | 524288, I } function pr(y, I) { return y.elements !== I ? r(Yt(I), y) : y } function yr(y, I, N, te) { let Me = q(205); return Me.dotDotDotToken = y, Me.propertyName = Zs(I), Me.name = Zs(N), Me.initializer = gy(te), Me.transformFlags |= tr(Me.dotDotDotToken) | Gg(Me.propertyName) | Gg(Me.name) | tr(Me.initializer) | (Me.dotDotDotToken ? 32768 : 0) | 1024, Me.flowNode = void 0, Me } function ta(y, I, N, te, Me) { return y.propertyName !== N || y.dotDotDotToken !== I || y.name !== te || y.initializer !== Me ? r(yr(I, N, te, Me), y) : y } function Go(y, I) { let N = B(206), te = y && Os(y), Me = F(y, te && ol(te) ? !0 : void 0); return N.elements = i().parenthesizeExpressionsOfCommaDelimitedList(Me), N.multiLine = I, N.transformFlags |= fo(N.elements), N } function Ka(y, I) { return y.elements !== I ? r(Go(I, y.multiLine), y) : y } function vo(y, I) { let N = q(207); return N.properties = F(y), N.multiLine = I, N.transformFlags |= fo(N.properties), N.jsDoc = void 0, N } function ka(y, I) { return y.properties !== I ? r(vo(I, y.multiLine), y) : y } function Hs(y, I, N) { let te = q(208); return te.expression = y, te.questionDotToken = I, te.name = N, te.transformFlags = tr(te.expression) | tr(te.questionDotToken) | (Re(te.name) ? fL(te.name) : tr(te.name) | 536870912), te.jsDoc = void 0, te.flowNode = void 0, te } function Uc(y, I) { let N = Hs(i().parenthesizeLeftSideOfAccess(y, !1), void 0, Zs(I)); return hL(y) && (N.transformFlags |= 384), N } function Gu(y, I, N) { return n6(y) ? jo(y, I, y.questionDotToken, Ga(N, Re)) : y.expression !== I || y.name !== N ? r(Uc(I, N), y) : y } function $o(y, I, N) { let te = Hs(i().parenthesizeLeftSideOfAccess(y, !0), I, Zs(N)); return te.flags |= 32, te.transformFlags |= 32, te } function jo(y, I, N, te) { return L.assert(!!(y.flags & 32), "Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."), y.expression !== I || y.questionDotToken !== N || y.name !== te ? r($o(I, N, te), y) : y } function Ws(y, I, N) { let te = q(209); return te.expression = y, te.questionDotToken = I, te.argumentExpression = N, te.transformFlags |= tr(te.expression) | tr(te.questionDotToken) | tr(te.argumentExpression), te.jsDoc = void 0, te.flowNode = void 0, te } function hd(y, I) { let N = Ws(i().parenthesizeLeftSideOfAccess(y, !1), void 0, Fv(I)); return hL(y) && (N.transformFlags |= 384), N } function vc(y, I, N) { return Dj(y) ? ye(y, I, y.questionDotToken, N) : y.expression !== I || y.argumentExpression !== N ? r(hd(I, N), y) : y } function nf(y, I, N) { let te = Ws(i().parenthesizeLeftSideOfAccess(y, !0), I, Fv(N)); return te.flags |= 32, te.transformFlags |= 32, te } function ye(y, I, N, te) { return L.assert(!!(y.flags & 32), "Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."), y.expression !== I || y.questionDotToken !== N || y.argumentExpression !== te ? r(nf(I, N, te), y) : y } function Et(y, I, N, te) { let Me = q(210); return Me.expression = y, Me.questionDotToken = I, Me.typeArguments = N, Me.arguments = te, Me.transformFlags |= tr(Me.expression) | tr(Me.questionDotToken) | fo(Me.typeArguments) | fo(Me.arguments), Me.typeArguments && (Me.transformFlags |= 1), Pu(Me.expression) && (Me.transformFlags |= 16384), Me } function bn(y, I, N) { let te = Et(i().parenthesizeLeftSideOfAccess(y, !1), void 0, oo(I), i().parenthesizeExpressionsOfCommaDelimitedList(F(N))); return gL(te.expression) && (te.transformFlags |= 8388608), te } function Ri(y, I, N, te) { return dT(y) ? ee(y, I, y.questionDotToken, N, te) : y.expression !== I || y.typeArguments !== N || y.arguments !== te ? r(bn(I, N, te), y) : y } function io(y, I, N, te) { let Me = Et(i().parenthesizeLeftSideOfAccess(y, !0), I, oo(N), i().parenthesizeExpressionsOfCommaDelimitedList(F(te))); return Me.flags |= 32, Me.transformFlags |= 32, Me } function ee(y, I, N, te, Me) { return L.assert(!!(y.flags & 32), "Cannot update a CallExpression using updateCallChain. Use updateCall instead."), y.expression !== I || y.questionDotToken !== N || y.typeArguments !== te || y.arguments !== Me ? r(io(I, N, te, Me), y) : y } function Ze(y, I, N) { let te = q(211); return te.expression = i().parenthesizeExpressionOfNew(y), te.typeArguments = oo(I), te.arguments = N ? i().parenthesizeExpressionsOfCommaDelimitedList(N) : void 0, te.transformFlags |= tr(te.expression) | fo(te.typeArguments) | fo(te.arguments) | 32, te.typeArguments && (te.transformFlags |= 1), te } function At(y, I, N, te) { return y.expression !== I || y.typeArguments !== N || y.arguments !== te ? r(Ze(I, N, te), y) : y } function xt(y, I, N) { let te = B(212); return te.tag = i().parenthesizeLeftSideOfAccess(y, !1), te.typeArguments = oo(I), te.template = N, te.transformFlags |= tr(te.tag) | fo(te.typeArguments) | tr(te.template) | 1024, te.typeArguments && (te.transformFlags |= 1), KH(te.template) && (te.transformFlags |= 128), te } function qt(y, I, N, te) { return y.tag !== I || y.typeArguments !== N || y.template !== te ? r(xt(I, N, te), y) : y } function Ln(y, I) { let N = B(213); return N.expression = i().parenthesizeOperandOfPrefixUnary(I), N.type = y, N.transformFlags |= tr(N.expression) | tr(N.type) | 1, N } function mr(y, I, N) { return y.type !== I || y.expression !== N ? r(Ln(I, N), y) : y } function Vr(y) { let I = B(214); return I.expression = y, I.transformFlags = tr(I.expression), I.jsDoc = void 0, I } function gi(y, I) { return y.expression !== I ? r(Vr(I), y) : y } function Ea(y, I, N, te, Me, Pt, Tr) { let Fi = q(215); Fi.modifiers = oo(y), Fi.asteriskToken = I, Fi.name = Zs(N), Fi.typeParameters = oo(te), Fi.parameters = F(Me), Fi.type = Pt, Fi.body = Tr; let Da = im(Fi.modifiers) & 512, Vd = !!Fi.asteriskToken, lg = Da && Vd; return Fi.transformFlags = fo(Fi.modifiers) | tr(Fi.asteriskToken) | Gg(Fi.name) | fo(Fi.typeParameters) | fo(Fi.parameters) | tr(Fi.type) | tr(Fi.body) & -67108865 | (lg ? 128 : Da ? 256 : Vd ? 2048 : 0) | (Fi.typeParameters || Fi.type ? 1 : 0) | 4194304, Fi.typeArguments = void 0, Fi.jsDoc = void 0, Fi.locals = void 0, Fi.nextContainer = void 0, Fi.flowNode = void 0, Fi.endFlowNode = void 0, Fi.returnFlowNode = void 0, Fi } function bo(y, I, N, te, Me, Pt, Tr, Fi) { return y.name !== te || y.modifiers !== I || y.asteriskToken !== N || y.typeParameters !== Me || y.parameters !== Pt || y.type !== Tr || y.body !== Fi ? W(Ea(I, N, te, Me, Pt, Tr, Fi), y) : y } function Qo(y, I, N, te, Me, Pt) { let Tr = q(216); Tr.modifiers = oo(y), Tr.typeParameters = oo(I), Tr.parameters = F(N), Tr.type = te, Tr.equalsGreaterThanToken = Me ?? Le(38), Tr.body = i().parenthesizeConciseBodyOfArrowFunction(Pt); let Fi = im(Tr.modifiers) & 512; return Tr.transformFlags = fo(Tr.modifiers) | fo(Tr.typeParameters) | fo(Tr.parameters) | tr(Tr.type) | tr(Tr.equalsGreaterThanToken) | tr(Tr.body) & -67108865 | (Tr.typeParameters || Tr.type ? 1 : 0) | (Fi ? 16640 : 0) | 1024, Tr.typeArguments = void 0, Tr.jsDoc = void 0, Tr.locals = void 0, Tr.nextContainer = void 0, Tr.flowNode = void 0, Tr.endFlowNode = void 0, Tr.returnFlowNode = void 0, Tr } function Cs(y, I, N, te, Me, Pt, Tr) { return y.modifiers !== I || y.typeParameters !== N || y.parameters !== te || y.type !== Me || y.equalsGreaterThanToken !== Pt || y.body !== Tr ? W(Qo(I, N, te, Me, Pt, Tr), y) : y } function Bu(y) { let I = B(217); return I.expression = i().parenthesizeOperandOfPrefixUnary(y), I.transformFlags |= tr(I.expression), I } function Pd(y, I) { return y.expression !== I ? r(Bu(I), y) : y } function Dc(y) { let I = B(218); return I.expression = i().parenthesizeOperandOfPrefixUnary(y), I.transformFlags |= tr(I.expression), I } function gd(y, I) { return y.expression !== I ? r(Dc(I), y) : y } function Zl(y) { let I = B(219); return I.expression = i().parenthesizeOperandOfPrefixUnary(y), I.transformFlags |= tr(I.expression), I } function Md(y, I) { return y.expression !== I ? r(Zl(I), y) : y } function zf(y) { let I = B(220); return I.expression = i().parenthesizeOperandOfPrefixUnary(y), I.transformFlags |= tr(I.expression) | 256 | 128 | 2097152, I } function Io(y, I) { return y.expression !== I ? r(zf(I), y) : y } function Jf(y, I) { let N = B(221); return N.operator = y, N.operand = i().parenthesizeOperandOfPrefixUnary(I), N.transformFlags |= tr(N.operand), (y === 45 || y === 46) && Re(N.operand) && !tc(N.operand) && !rv(N.operand) && (N.transformFlags |= 268435456), N } function Fd(y, I) { return y.operand !== I ? r(Jf(y.operator, I), y) : y } function E_(y, I) { let N = B(222); return N.operator = I, N.operand = i().parenthesizeOperandOfPostfixUnary(y), N.transformFlags |= tr(N.operand), Re(N.operand) && !tc(N.operand) && !rv(N.operand) && (N.transformFlags |= 268435456), N } function Y_(y, I) { return y.operand !== I ? r(E_(I, y.operator), y) : y } function M(y, I, N) { let te = q(223), Me = Wk(I), Pt = Me.kind; return te.left = i().parenthesizeLeftSideOfBinary(Pt, y), te.operatorToken = Me, te.right = i().parenthesizeRightSideOfBinary(Pt, te.left, N), te.transformFlags |= tr(te.left) | tr(te.operatorToken) | tr(te.right), Pt === 60 ? te.transformFlags |= 32 : Pt === 63 ? rs(te.left) ? te.transformFlags |= 5248 | He(te.left) : fu(te.left) && (te.transformFlags |= 5120 | He(te.left)) : Pt === 42 || Pt === 67 ? te.transformFlags |= 512 : HI(Pt) && (te.transformFlags |= 16), Pt === 101 && pi(te.left) && (te.transformFlags |= 536870912), te.jsDoc = void 0, te } function He(y) { return IO(y) ? 65536 : 0 } function Nt(y, I, N, te) { return y.left !== I || y.operatorToken !== N || y.right !== te ? r(M(I, N, te), y) : y } function Pn(y, I, N, te, Me) { let Pt = B(224); return Pt.condition = i().parenthesizeConditionOfConditionalExpression(y), Pt.questionToken = I ?? Le(57), Pt.whenTrue = i().parenthesizeBranchOfConditionalExpression(N), Pt.colonToken = te ?? Le(58), Pt.whenFalse = i().parenthesizeBranchOfConditionalExpression(Me), Pt.transformFlags |= tr(Pt.condition) | tr(Pt.questionToken) | tr(Pt.whenTrue) | tr(Pt.colonToken) | tr(Pt.whenFalse), Pt } function la(y, I, N, te, Me, Pt) { return y.condition !== I || y.questionToken !== N || y.whenTrue !== te || y.colonToken !== Me || y.whenFalse !== Pt ? r(Pn(I, N, te, Me, Pt), y) : y } function oa(y, I) { let N = B(225); return N.head = y, N.templateSpans = F(I), N.transformFlags |= tr(N.head) | fo(N.templateSpans) | 1024, N } function be(y, I, N) { return y.head !== I || y.templateSpans !== N ? r(oa(I, N), y) : y } function De(y, I, N, te = 0) { L.assert(!(te & -2049), "Unsupported template flags."); let Me; if (N !== void 0 && N !== I && (Me = LRe(y, N), typeof Me == "object")) return L.fail("Invalid raw text"); if (I === void 0) { if (Me === void 0) return L.fail("Arguments 'text' and 'rawText' may not both be undefined."); I = Me } else Me !== void 0 && L.assert(I === Me, "Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'."); return I } function mt(y) { let I = 1024; return y && (I |= 128), I } function St(y, I, N, te) { let Me = Ne(y); return Me.text = I, Me.rawText = N, Me.templateFlags = te & 2048, Me.transformFlags = mt(Me.templateFlags), Me } function Zt(y, I, N, te) { let Me = q(y); return Me.text = I, Me.rawText = N, Me.templateFlags = te & 2048, Me.transformFlags = mt(Me.templateFlags), Me } function rn(y, I, N, te) { return y === 14 ? Zt(y, I, N, te) : St(y, I, N, te) } function sn(y, I, N) { return y = De(15, y, I, N), rn(15, y, I, N) } function Dn(y, I, N) { return y = De(15, y, I, N), rn(16, y, I, N) } function kr(y, I, N) { return y = De(15, y, I, N), rn(17, y, I, N) } function ki(y, I, N) { return y = De(15, y, I, N), Zt(14, y, I, N) } function Vn(y, I) { L.assert(!y || !!I, "A `YieldExpression` with an asteriskToken must have an expression."); let N = B(226); return N.expression = I && i().parenthesizeExpressionForDisallowedComma(I), N.asteriskToken = y, N.transformFlags |= tr(N.expression) | tr(N.asteriskToken) | 1024 | 128 | 1048576, N } function $t(y, I, N) { return y.expression !== N || y.asteriskToken !== I ? r(Vn(I, N), y) : y } function Xn(y) { let I = B(227); return I.expression = i().parenthesizeExpressionForDisallowedComma(y), I.transformFlags |= tr(I.expression) | 1024 | 32768, I } function ra(y, I) { return y.expression !== I ? r(Xn(I), y) : y } function Is(y, I, N, te, Me) { let Pt = q(228); return Pt.modifiers = oo(y), Pt.name = Zs(I), Pt.typeParameters = oo(N), Pt.heritageClauses = oo(te), Pt.members = F(Me), Pt.transformFlags |= fo(Pt.modifiers) | Gg(Pt.name) | fo(Pt.typeParameters) | fo(Pt.heritageClauses) | fo(Pt.members) | (Pt.typeParameters ? 1 : 0) | 1024, Pt.jsDoc = void 0, Pt } function Mc(y, I, N, te, Me, Pt) { return y.modifiers !== I || y.name !== N || y.typeParameters !== te || y.heritageClauses !== Me || y.members !== Pt ? r(Is(I, N, te, Me, Pt), y) : y } function mm() { return B(229) } function Hh(y, I) { let N = B(230); return N.expression = i().parenthesizeLeftSideOfAccess(y, !1), N.typeArguments = I && i().parenthesizeTypeArguments(I), N.transformFlags |= tr(N.expression) | fo(N.typeArguments) | 1024, N } function T_(y, I, N) { return y.expression !== I || y.typeArguments !== N ? r(Hh(I, N), y) : y } function Cb(y, I) { let N = B(231); return N.expression = y, N.type = I, N.transformFlags |= tr(N.expression) | tr(N.type) | 1, N } function mv(y, I, N) { return y.expression !== I || y.type !== N ? r(Cb(I, N), y) : y } function gx(y) { let I = B(232); return I.expression = i().parenthesizeLeftSideOfAccess(y, !1), I.transformFlags |= tr(I.expression) | 1, I } function _1(y, I) { return i6(y) ? hv(y, I) : y.expression !== I ? r(gx(I), y) : y } function yx(y, I) { let N = B(235); return N.expression = y, N.type = I, N.transformFlags |= tr(N.expression) | tr(N.type) | 1, N } function Wh(y, I, N) { return y.expression !== I || y.type !== N ? r(yx(I, N), y) : y } function S_(y) { let I = B(232); return I.flags |= 32, I.expression = i().parenthesizeLeftSideOfAccess(y, !0), I.transformFlags |= tr(I.expression) | 1, I } function hv(y, I) { return L.assert(!!(y.flags & 32), "Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."), y.expression !== I ? r(S_(I), y) : y } function eh(y, I) { let N = B(233); switch (N.keywordToken = y, N.name = I, N.transformFlags |= tr(N.name), y) { case 103: N.transformFlags |= 1024; break; case 100: N.transformFlags |= 4; break; default: return L.assertNever(y) }return N.flowNode = void 0, N } function $_(y, I) { return y.name !== I ? r(eh(y.keywordToken, I), y) : y } function gv(y, I) { let N = B(236); return N.expression = y, N.literal = I, N.transformFlags |= tr(N.expression) | tr(N.literal) | 1024, N } function lE(y, I, N) { return y.expression !== I || y.literal !== N ? r(gv(I, N), y) : y } function Ib() { let y = B(237); return y.transformFlags |= 1024, y } function zh(y, I) { let N = B(238); return N.statements = F(y), N.multiLine = I, N.transformFlags |= fo(N.statements), N.jsDoc = void 0, N.locals = void 0, N.nextContainer = void 0, N } function p1(y, I) { return y.statements !== I ? r(zh(I, y.multiLine), y) : y } function uE(y, I) { let N = B(240); return N.modifiers = oo(y), N.declarationList = ba(I) ? Ip(I) : I, N.transformFlags |= fo(N.modifiers) | tr(N.declarationList), im(N.modifiers) & 2 && (N.transformFlags = 1), N.jsDoc = void 0, N.flowNode = void 0, N } function dE(y, I, N) { return y.modifiers !== I || y.declarationList !== N ? r(uE(I, N), y) : y } function fE() { let y = B(239); return y.jsDoc = void 0, y } function yv(y) { let I = B(241); return I.expression = i().parenthesizeExpressionOfExpressionStatement(y), I.transformFlags |= tr(I.expression), I.jsDoc = void 0, I.flowNode = void 0, I } function vx(y, I) { return y.expression !== I ? r(yv(I), y) : y } function _E(y, I, N) { let te = B(242); return te.expression = y, te.thenStatement = ad(I), te.elseStatement = ad(N), te.transformFlags |= tr(te.expression) | tr(te.thenStatement) | tr(te.elseStatement), te.jsDoc = void 0, te.flowNode = void 0, te } function pE(y, I, N, te) { return y.expression !== I || y.thenStatement !== N || y.elseStatement !== te ? r(_E(I, N, te), y) : y } function vv(y, I) { let N = B(243); return N.statement = ad(y), N.expression = I, N.transformFlags |= tr(N.statement) | tr(N.expression), N.jsDoc = void 0, N.flowNode = void 0, N } function Lb(y, I, N) { return y.statement !== I || y.expression !== N ? r(vv(I, N), y) : y } function bv(y, I) { let N = B(244); return N.expression = y, N.statement = ad(I), N.transformFlags |= tr(N.expression) | tr(N.statement), N.jsDoc = void 0, N.flowNode = void 0, N } function m1(y, I, N) { return y.expression !== I || y.statement !== N ? r(bv(I, N), y) : y } function Jh(y, I, N, te) { let Me = B(245); return Me.initializer = y, Me.condition = I, Me.incrementor = N, Me.statement = ad(te), Me.transformFlags |= tr(Me.initializer) | tr(Me.condition) | tr(Me.incrementor) | tr(Me.statement), Me.jsDoc = void 0, Me.locals = void 0, Me.nextContainer = void 0, Me.flowNode = void 0, Me } function Lo(y, I, N, te, Me) { return y.initializer !== I || y.condition !== N || y.incrementor !== te || y.statement !== Me ? r(Jh(I, N, te, Me), y) : y } function mE(y, I, N) { let te = B(246); return te.initializer = y, te.expression = I, te.statement = ad(N), te.transformFlags |= tr(te.initializer) | tr(te.expression) | tr(te.statement), te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te.flowNode = void 0, te } function sC(y, I, N, te) { return y.initializer !== I || y.expression !== N || y.statement !== te ? r(mE(I, N, te), y) : y } function Zg(y, I, N, te) { let Me = B(247); return Me.awaitModifier = y, Me.initializer = I, Me.expression = i().parenthesizeExpressionForDisallowedComma(N), Me.statement = ad(te), Me.transformFlags |= tr(Me.awaitModifier) | tr(Me.initializer) | tr(Me.expression) | tr(Me.statement) | 1024, y && (Me.transformFlags |= 128), Me.jsDoc = void 0, Me.locals = void 0, Me.nextContainer = void 0, Me.flowNode = void 0, Me } function Kh(y, I, N, te, Me) { return y.awaitModifier !== I || y.initializer !== N || y.expression !== te || y.statement !== Me ? r(Zg(I, N, te, Me), y) : y } function hm(y) { let I = B(248); return I.label = Zs(y), I.transformFlags |= tr(I.label) | 4194304, I.jsDoc = void 0, I.flowNode = void 0, I } function x_(y, I) { return y.label !== I ? r(hm(I), y) : y } function Zu(y) { let I = B(249); return I.label = Zs(y), I.transformFlags |= tr(I.label) | 4194304, I.jsDoc = void 0, I.flowNode = void 0, I } function ed(y, I) { return y.label !== I ? r(Zu(I), y) : y } function td(y) { let I = B(250); return I.expression = y, I.transformFlags |= tr(I.expression) | 128 | 4194304, I.jsDoc = void 0, I.flowNode = void 0, I } function kb(y, I) { return y.expression !== I ? r(td(I), y) : y } function Db(y, I) { let N = B(251); return N.expression = y, N.statement = ad(I), N.transformFlags |= tr(N.expression) | tr(N.statement), N.jsDoc = void 0, N.flowNode = void 0, N } function bx(y, I, N) { return y.expression !== I || y.statement !== N ? r(Db(I, N), y) : y } function wb(y, I) { let N = B(252); return N.expression = i().parenthesizeExpressionForDisallowedComma(y), N.caseBlock = I, N.transformFlags |= tr(N.expression) | tr(N.caseBlock), N.jsDoc = void 0, N.flowNode = void 0, N.possiblyExhaustive = !1, N } function qh(y, I, N) { return y.expression !== I || y.caseBlock !== N ? r(wb(I, N), y) : y } function Rb(y, I) { let N = B(253); return N.label = Zs(y), N.statement = ad(I), N.transformFlags |= tr(N.label) | tr(N.statement), N.jsDoc = void 0, N.flowNode = void 0, N } function h1(y, I, N) { return y.label !== I || y.statement !== N ? r(Rb(I, N), y) : y } function Ob(y) { let I = B(254); return I.expression = y, I.transformFlags |= tr(I.expression), I.jsDoc = void 0, I.flowNode = void 0, I } function cC(y, I) { return y.expression !== I ? r(Ob(I), y) : y } function Ex(y, I, N) { let te = B(255); return te.tryBlock = y, te.catchClause = I, te.finallyBlock = N, te.transformFlags |= tr(te.tryBlock) | tr(te.catchClause) | tr(te.finallyBlock), te.jsDoc = void 0, te.flowNode = void 0, te } function Ev(y, I, N, te) { return y.tryBlock !== I || y.catchClause !== N || y.finallyBlock !== te ? r(Ex(I, N, te), y) : y } function hE() { let y = B(256); return y.jsDoc = void 0, y.flowNode = void 0, y } function Fe(y, I, N, te) { var Me; let Pt = q(257); return Pt.name = Zs(y), Pt.exclamationToken = I, Pt.type = N, Pt.initializer = gy(te), Pt.transformFlags |= Gg(Pt.name) | tr(Pt.initializer) | (((Me = Pt.exclamationToken) != null ? Me : Pt.type) ? 1 : 0), Pt.jsDoc = void 0, Pt } function ey(y, I, N, te, Me) { return y.name !== I || y.type !== te || y.exclamationToken !== N || y.initializer !== Me ? r(Fe(I, N, te, Me), y) : y } function Ip(y, I = 0) { let N = B(258); return N.flags |= I & 3, N.declarations = F(y), N.transformFlags |= fo(N.declarations) | 4194304, I & 3 && (N.transformFlags |= 263168), N } function Tv(y, I) { return y.declarations !== I ? r(Ip(I, y.flags), y) : y } function Nb(y, I, N, te, Me, Pt, Tr) { let Fi = q(259); if (Fi.modifiers = oo(y), Fi.asteriskToken = I, Fi.name = Zs(N), Fi.typeParameters = oo(te), Fi.parameters = F(Me), Fi.type = Pt, Fi.body = Tr, !Fi.body || im(Fi.modifiers) & 2) Fi.transformFlags = 1; else { let Da = im(Fi.modifiers) & 512, Vd = !!Fi.asteriskToken, lg = Da && Vd; Fi.transformFlags = fo(Fi.modifiers) | tr(Fi.asteriskToken) | Gg(Fi.name) | fo(Fi.typeParameters) | fo(Fi.parameters) | tr(Fi.type) | tr(Fi.body) & -67108865 | (lg ? 128 : Da ? 256 : Vd ? 2048 : 0) | (Fi.typeParameters || Fi.type ? 1 : 0) | 4194304 } return Fi.typeArguments = void 0, Fi.jsDoc = void 0, Fi.locals = void 0, Fi.nextContainer = void 0, Fi.endFlowNode = void 0, Fi.returnFlowNode = void 0, Fi } function Sv(y, I, N, te, Me, Pt, Tr, Fi) { return y.modifiers !== I || y.asteriskToken !== N || y.name !== te || y.typeParameters !== Me || y.parameters !== Pt || y.type !== Tr || y.body !== Fi ? Xh(Nb(I, N, te, Me, Pt, Tr, Fi), y) : y } function Xh(y, I) { return y !== I && y.modifiers === I.modifiers && (y.modifiers = I.modifiers), W(y, I) } function g1(y, I, N, te, Me) { let Pt = q(260); return Pt.modifiers = oo(y), Pt.name = Zs(I), Pt.typeParameters = oo(N), Pt.heritageClauses = oo(te), Pt.members = F(Me), im(Pt.modifiers) & 2 ? Pt.transformFlags = 1 : (Pt.transformFlags |= fo(Pt.modifiers) | Gg(Pt.name) | fo(Pt.typeParameters) | fo(Pt.heritageClauses) | fo(Pt.members) | (Pt.typeParameters ? 1 : 0) | 1024, Pt.transformFlags & 8192 && (Pt.transformFlags |= 1)), Pt.jsDoc = void 0, Pt } function wo(y, I, N, te, Me, Pt) { return y.modifiers !== I || y.name !== N || y.typeParameters !== te || y.heritageClauses !== Me || y.members !== Pt ? r(g1(I, N, te, Me, Pt), y) : y } function A_(y, I, N, te, Me) { let Pt = q(261); return Pt.modifiers = oo(y), Pt.name = Zs(I), Pt.typeParameters = oo(N), Pt.heritageClauses = oo(te), Pt.members = F(Me), Pt.transformFlags = 1, Pt.jsDoc = void 0, Pt } function gE(y, I, N, te, Me, Pt) { return y.modifiers !== I || y.name !== N || y.typeParameters !== te || y.heritageClauses !== Me || y.members !== Pt ? r(A_(I, N, te, Me, Pt), y) : y } function Kc(y, I, N, te) { let Me = q(262); return Me.modifiers = oo(y), Me.name = Zs(I), Me.typeParameters = oo(N), Me.type = te, Me.transformFlags = 1, Me.jsDoc = void 0, Me.locals = void 0, Me.nextContainer = void 0, Me } function th(y, I, N, te, Me) { return y.modifiers !== I || y.name !== N || y.typeParameters !== te || y.type !== Me ? r(Kc(I, N, te, Me), y) : y } function Pb(y, I, N) { let te = q(263); return te.modifiers = oo(y), te.name = Zs(I), te.members = F(N), te.transformFlags |= fo(te.modifiers) | tr(te.name) | fo(te.members) | 1, te.transformFlags &= -67108865, te.jsDoc = void 0, te } function C_(y, I, N, te) { return y.modifiers !== I || y.name !== N || y.members !== te ? r(Pb(I, N, te), y) : y } function Mb(y, I, N, te = 0) { let Me = q(264); return Me.modifiers = oo(y), Me.flags |= te & 1044, Me.name = I, Me.body = N, im(Me.modifiers) & 2 ? Me.transformFlags = 1 : Me.transformFlags |= fo(Me.modifiers) | tr(Me.name) | tr(Me.body) | 1, Me.transformFlags &= -67108865, Me.jsDoc = void 0, Me.locals = void 0, Me.nextContainer = void 0, Me } function Ml(y, I, N, te) { return y.modifiers !== I || y.name !== N || y.body !== te ? r(Mb(I, N, te, y.flags), y) : y } function Yh(y) { let I = B(265); return I.statements = F(y), I.transformFlags |= fo(I.statements), I.jsDoc = void 0, I } function ll(y, I) { return y.statements !== I ? r(Yh(I), y) : y } function y1(y) { let I = B(266); return I.clauses = F(y), I.transformFlags |= fo(I.clauses), I.locals = void 0, I.nextContainer = void 0, I } function lC(y, I) { return y.clauses !== I ? r(y1(I), y) : y } function Ai(y) { let I = q(267); return I.name = Zs(y), I.transformFlags |= fL(I.name) | 1, I.modifiers = void 0, I.jsDoc = void 0, I } function Rr(y, I) { return y.name !== I ? gm(Ai(I), y) : y } function gm(y, I) { return y !== I && (y.modifiers = I.modifiers), r(y, I) } function yd(y, I, N, te) { let Me = q(268); return Me.modifiers = oo(y), Me.name = Zs(N), Me.isTypeOnly = I, Me.moduleReference = te, Me.transformFlags |= fo(Me.modifiers) | fL(Me.name) | tr(Me.moduleReference), um(Me.moduleReference) || (Me.transformFlags |= 1), Me.transformFlags &= -67108865, Me.jsDoc = void 0, Me } function yE(y, I, N, te, Me) { return y.modifiers !== I || y.isTypeOnly !== N || y.name !== te || y.moduleReference !== Me ? r(yd(I, N, te, Me), y) : y } function $h(y, I, N, te) { let Me = B(269); return Me.modifiers = oo(y), Me.importClause = I, Me.moduleSpecifier = N, Me.assertClause = te, Me.transformFlags |= tr(Me.importClause) | tr(Me.moduleSpecifier), Me.transformFlags &= -67108865, Me.jsDoc = void 0, Me } function nh(y, I, N, te, Me) { return y.modifiers !== I || y.importClause !== N || y.moduleSpecifier !== te || y.assertClause !== Me ? r($h(I, N, te, Me), y) : y } function ym(y, I, N) { let te = q(270); return te.isTypeOnly = y, te.name = I, te.namedBindings = N, te.transformFlags |= tr(te.name) | tr(te.namedBindings), y && (te.transformFlags |= 1), te.transformFlags &= -67108865, te } function zs(y, I, N, te) { return y.isTypeOnly !== I || y.name !== N || y.namedBindings !== te ? r(ym(I, N, te), y) : y } function Fb(y, I) { let N = B(296); return N.elements = F(y), N.multiLine = I, N.transformFlags |= 4, N } function v1(y, I, N) { return y.elements !== I || y.multiLine !== N ? r(Fb(I, N), y) : y } function Gb(y, I) { let N = B(297); return N.name = y, N.value = I, N.transformFlags |= 4, N } function b1(y, I, N) { return y.name !== I || y.value !== N ? r(Gb(I, N), y) : y } function Cf(y, I) { let N = B(298); return N.assertClause = y, N.multiLine = I, N } function Tx(y, I, N) { return y.assertClause !== I || y.multiLine !== N ? r(Cf(I, N), y) : y } function Sx(y) { let I = q(271); return I.name = y, I.transformFlags |= tr(I.name), I.transformFlags &= -67108865, I } function xv(y, I) { return y.name !== I ? r(Sx(I), y) : y } function E1(y) { let I = q(277); return I.name = y, I.transformFlags |= tr(I.name) | 4, I.transformFlags &= -67108865, I } function T1(y, I) { return y.name !== I ? r(E1(I), y) : y } function xx(y) { let I = B(272); return I.elements = F(y), I.transformFlags |= fo(I.elements), I.transformFlags &= -67108865, I } function Bb(y, I) { return y.elements !== I ? r(xx(I), y) : y } function S1(y, I, N) { let te = q(273); return te.isTypeOnly = y, te.propertyName = I, te.name = N, te.transformFlags |= tr(te.propertyName) | tr(te.name), te.transformFlags &= -67108865, te } function rf(y, I, N, te) { return y.isTypeOnly !== I || y.propertyName !== N || y.name !== te ? r(S1(I, N, te), y) : y } function Qh(y, I, N) { let te = q(274); return te.modifiers = oo(y), te.isExportEquals = I, te.expression = I ? i().parenthesizeRightSideOfBinary(63, void 0, N) : i().parenthesizeExpressionOfExportDefault(N), te.transformFlags |= fo(te.modifiers) | tr(te.expression), te.transformFlags &= -67108865, te.jsDoc = void 0, te } function Q_(y, I, N) { return y.modifiers !== I || y.expression !== N ? r(Qh(I, y.isExportEquals, N), y) : y } function I_(y, I, N, te, Me) { let Pt = q(275); return Pt.modifiers = oo(y), Pt.isTypeOnly = I, Pt.exportClause = N, Pt.moduleSpecifier = te, Pt.assertClause = Me, Pt.transformFlags |= fo(Pt.modifiers) | tr(Pt.exportClause) | tr(Pt.moduleSpecifier), Pt.transformFlags &= -67108865, Pt.jsDoc = void 0, Pt } function Ax(y, I, N, te, Me, Pt) { return y.modifiers !== I || y.isTypeOnly !== N || y.exportClause !== te || y.moduleSpecifier !== Me || y.assertClause !== Pt ? Ub(I_(I, N, te, Me, Pt), y) : y } function Ub(y, I) { return y !== I && y.modifiers === I.modifiers && (y.modifiers = I.modifiers), r(y, I) } function Lp(y) { let I = B(276); return I.elements = F(y), I.transformFlags |= fo(I.elements), I.transformFlags &= -67108865, I } function x1(y, I) { return y.elements !== I ? r(Lp(I), y) : y } function Uu(y, I, N) { let te = B(278); return te.isTypeOnly = y, te.propertyName = Zs(I), te.name = Zs(N), te.transformFlags |= tr(te.propertyName) | tr(te.name), te.transformFlags &= -67108865, te.jsDoc = void 0, te } function Zh(y, I, N, te) { return y.isTypeOnly !== I || y.propertyName !== N || y.name !== te ? r(Uu(I, N, te), y) : y } function kp() { let y = q(279); return y.jsDoc = void 0, y } function Dp(y) { let I = B(280); return I.expression = y, I.transformFlags |= tr(I.expression), I.transformFlags &= -67108865, I } function eg(y, I) { return y.expression !== I ? r(Dp(I), y) : y } function vE(y) { return B(y) } function A1(y, I, N = !1) { let te = ty(y, N ? I && i().parenthesizeNonArrayTypeOfPostfixType(I) : I); return te.postfix = N, te } function ty(y, I) { let N = B(y); return N.type = I, N } function bE(y, I, N) { return I.type !== N ? r(A1(y, N, I.postfix), I) : I } function cs(y, I, N) { return I.type !== N ? r(ty(y, N), I) : I } function ny(y, I) { let N = q(320); return N.parameters = oo(y), N.type = I, N.transformFlags = fo(N.parameters) | (N.type ? 1 : 0), N.jsDoc = void 0, N.locals = void 0, N.nextContainer = void 0, N.typeArguments = void 0, N } function Cx(y, I, N) { return y.parameters !== I || y.type !== N ? r(ny(I, N), y) : y } function Vb(y, I = !1) { let N = q(325); return N.jsDocPropertyTags = oo(y), N.isArrayType = I, N } function jb(y, I, N) { return y.jsDocPropertyTags !== I || y.isArrayType !== N ? r(Vb(I, N), y) : y } function Ix(y) { let I = B(312); return I.type = y, I } function uC(y, I) { return y.type !== I ? r(Ix(I), y) : y } function Lx(y, I, N) { let te = q(326); return te.typeParameters = oo(y), te.parameters = F(I), te.type = N, te.jsDoc = void 0, te.locals = void 0, te.nextContainer = void 0, te } function Qn(y, I, N, te) { return y.typeParameters !== I || y.parameters !== N || y.type !== te ? r(Lx(I, N, te), y) : y } function lc(y) { let I = w4(y.kind); return y.tagName.escapedText === Bs(I) ? y.tagName : _e(I) } function zi(y, I, N) { let te = B(y); return te.tagName = I, te.comment = N, te } function af(y, I, N) { let te = q(y); return te.tagName = I, te.comment = N, te } function Av(y, I, N, te) { let Me = zi(348, y ?? _e("template"), te); return Me.constraint = I, Me.typeParameters = F(N), Me } function vm(y, I = lc(y), N, te, Me) { return y.tagName !== I || y.constraint !== N || y.typeParameters !== te || y.comment !== Me ? r(Av(I, N, te, Me), y) : y } function Wn(y, I, N, te) { let Me = af(349, y ?? _e("typedef"), te); return Me.typeExpression = I, Me.fullName = N, Me.name = iJ(N), Me.locals = void 0, Me.nextContainer = void 0, Me } function kx(y, I = lc(y), N, te, Me) { return y.tagName !== I || y.typeExpression !== N || y.fullName !== te || y.comment !== Me ? r(Wn(I, N, te, Me), y) : y } function ry(y, I, N, te, Me, Pt) { let Tr = af(344, y ?? _e("param"), Pt); return Tr.typeExpression = te, Tr.name = I, Tr.isNameFirst = !!Me, Tr.isBracketed = N, Tr } function nl(y, I = lc(y), N, te, Me, Pt, Tr) { return y.tagName !== I || y.name !== N || y.isBracketed !== te || y.typeExpression !== Me || y.isNameFirst !== Pt || y.comment !== Tr ? r(ry(I, N, te, Me, Pt, Tr), y) : y } function Kf(y, I, N, te, Me, Pt) { let Tr = af(351, y ?? _e("prop"), Pt); return Tr.typeExpression = te, Tr.name = I, Tr.isNameFirst = !!Me, Tr.isBracketed = N, Tr } function Z_(y, I = lc(y), N, te, Me, Pt, Tr) { return y.tagName !== I || y.name !== N || y.isBracketed !== te || y.typeExpression !== Me || y.isNameFirst !== Pt || y.comment !== Tr ? r(Kf(I, N, te, Me, Pt, Tr), y) : y } function iy(y, I, N, te) { let Me = af(341, y ?? _e("callback"), te); return Me.typeExpression = I, Me.fullName = N, Me.name = iJ(N), Me.locals = void 0, Me.nextContainer = void 0, Me } function EE(y, I = lc(y), N, te, Me) { return y.tagName !== I || y.typeExpression !== N || y.fullName !== te || y.comment !== Me ? r(iy(I, N, te, Me), y) : y } function L_(y, I, N) { let te = zi(342, y ?? _e("overload"), N); return te.typeExpression = I, te } function ay(y, I = lc(y), N, te) { return y.tagName !== I || y.typeExpression !== N || y.comment !== te ? r(L_(I, N, te), y) : y } function Ac(y, I, N) { let te = zi(331, y ?? _e("augments"), N); return te.class = I, te } function wc(y, I = lc(y), N, te) { return y.tagName !== I || y.class !== N || y.comment !== te ? r(Ac(I, N, te), y) : y } function tg(y, I, N) { let te = zi(332, y ?? _e("implements"), N); return te.class = I, te } function Fl(y, I, N) { let te = zi(350, y ?? _e("see"), N); return te.name = I, te } function qf(y, I, N, te) { return y.tagName !== I || y.name !== N || y.comment !== te ? r(Fl(I, N, te), y) : y } function bm(y) { let I = B(313); return I.name = y, I } function nd(y, I) { return y.name !== I ? r(bm(I), y) : y } function TE(y, I) { let N = B(314); return N.left = y, N.right = I, N.transformFlags |= tr(N.left) | tr(N.right), N } function Hb(y, I, N) { return y.left !== I || y.right !== N ? r(TE(I, N), y) : y } function Wb(y, I) { let N = B(327); return N.name = y, N.text = I, N } function ep(y, I, N) { return y.name !== I ? r(Wb(I, N), y) : y } function rh(y, I) { let N = B(328); return N.name = y, N.text = I, N } function SE(y, I, N) { return y.name !== I ? r(rh(I, N), y) : y } function oy(y, I) { let N = B(329); return N.name = y, N.text = I, N } function uc(y, I, N) { return y.name !== I ? r(oy(I, N), y) : y } function ng(y, I = lc(y), N, te) { return y.tagName !== I || y.class !== N || y.comment !== te ? r(tg(I, N, te), y) : y } function ih(y, I, N) { return zi(y, I ?? _e(w4(y)), N) } function Cv(y, I, N = lc(I), te) { return I.tagName !== N || I.comment !== te ? r(ih(y, N, te), I) : I } function Iv(y, I, N, te) { let Me = zi(y, I ?? _e(w4(y)), te); return Me.typeExpression = N, Me } function Gl(y, I, N = lc(I), te, Me) { return I.tagName !== N || I.typeExpression !== te || I.comment !== Me ? r(Iv(y, N, te, Me), I) : I } function ah(y, I) { return zi(330, y, I) } function qc(y, I, N) { return y.tagName !== I || y.comment !== N ? r(ah(I, N), y) : y } function xE(y, I, N) { let te = af(343, y ?? _e(w4(343)), N); return te.typeExpression = I, te.locals = void 0, te.nextContainer = void 0, te } function oh(y, I = lc(y), N, te) { return y.tagName !== I || y.typeExpression !== N || y.comment !== te ? r(xE(I, N, te), y) : y } function zb(y) { let I = B(324); return I.text = y, I } function Vu(y, I) { return y.text !== I ? r(zb(I), y) : y } function Em(y, I) { let N = B(323); return N.comment = y, N.tags = oo(I), N } function Jb(y, I, N) { return y.comment !== I || y.tags !== N ? r(Em(I, N), y) : y } function Lv(y, I, N) { let te = B(281); return te.openingElement = y, te.children = F(I), te.closingElement = N, te.transformFlags |= tr(te.openingElement) | fo(te.children) | tr(te.closingElement) | 2, te } function AE(y, I, N, te) { return y.openingElement !== I || y.children !== N || y.closingElement !== te ? r(Lv(I, N, te), y) : y } function sy(y, I, N) { let te = B(282); return te.tagName = y, te.typeArguments = oo(I), te.attributes = N, te.transformFlags |= tr(te.tagName) | fo(te.typeArguments) | tr(te.attributes) | 2, te.typeArguments && (te.transformFlags |= 1), te } function C1(y, I, N, te) { return y.tagName !== I || y.typeArguments !== N || y.attributes !== te ? r(sy(I, N, te), y) : y } function kv(y, I, N) { let te = B(283); return te.tagName = y, te.typeArguments = oo(I), te.attributes = N, te.transformFlags |= tr(te.tagName) | fo(te.typeArguments) | tr(te.attributes) | 2, I && (te.transformFlags |= 1), te } function rg(y, I, N, te) { return y.tagName !== I || y.typeArguments !== N || y.attributes !== te ? r(kv(I, N, te), y) : y } function of(y) { let I = B(284); return I.tagName = y, I.transformFlags |= tr(I.tagName) | 2, I } function CE(y, I) { return y.tagName !== I ? r(of(I), y) : y } function Gd(y, I, N) { let te = B(285); return te.openingFragment = y, te.children = F(I), te.closingFragment = N, te.transformFlags |= tr(te.openingFragment) | fo(te.children) | tr(te.closingFragment) | 2, te } function sh(y, I, N, te) { return y.openingFragment !== I || y.children !== N || y.closingFragment !== te ? r(Gd(I, N, te), y) : y } function Dv(y, I) { let N = B(11); return N.text = y, N.containsOnlyTriviaWhiteSpaces = !!I, N.transformFlags |= 2, N } function Dx(y, I, N) { return y.text !== I || y.containsOnlyTriviaWhiteSpaces !== N ? r(Dv(I, N), y) : y } function No() { let y = B(286); return y.transformFlags |= 2, y } function fr() { let y = B(287); return y.transformFlags |= 2, y } function vd(y, I) { let N = q(288); return N.name = y, N.initializer = I, N.transformFlags |= tr(N.name) | tr(N.initializer) | 2, N } function ju(y, I, N) { return y.name !== I || y.initializer !== N ? r(vd(I, N), y) : y } function I1(y) { let I = q(289); return I.properties = F(y), I.transformFlags |= fo(I.properties) | 2, I } function IE(y, I) { return y.properties !== I ? r(I1(I), y) : y } function cy(y) { let I = B(290); return I.expression = y, I.transformFlags |= tr(I.expression) | 2, I } function wx(y, I) { return y.expression !== I ? r(cy(I), y) : y } function ly(y, I) { let N = B(291); return N.dotDotDotToken = y, N.expression = I, N.transformFlags |= tr(N.dotDotDotToken) | tr(N.expression) | 2, N } function wp(y, I) { return y.expression !== I ? r(ly(y.dotDotDotToken, I), y) : y } function tp(y, I) { let N = B(292); return N.expression = i().parenthesizeExpressionForDisallowedComma(y), N.statements = F(I), N.transformFlags |= tr(N.expression) | fo(N.statements), N.jsDoc = void 0, N } function ig(y, I, N) { return y.expression !== I || y.statements !== N ? r(tp(I, N), y) : y } function wv(y) { let I = B(293); return I.statements = F(y), I.transformFlags = fo(I.statements), I } function ch(y, I) { return y.statements !== I ? r(wv(I), y) : y } function Rp(y, I) { let N = B(294); switch (N.token = y, N.types = F(I), N.transformFlags |= fo(N.types), y) { case 94: N.transformFlags |= 1024; break; case 117: N.transformFlags |= 1; break; default: return L.assertNever(y) }return N } function L1(y, I) { return y.types !== I ? r(Rp(y.token, I), y) : y } function Cc(y, I) { let N = B(295); return N.variableDeclaration = zk(y), N.block = I, N.transformFlags |= tr(N.variableDeclaration) | tr(N.block) | (y ? 0 : 64), N.locals = void 0, N.nextContainer = void 0, N } function Bd(y, I, N) { return y.variableDeclaration !== I || y.block !== N ? r(Cc(I, N), y) : y } function Tm(y, I) { let N = q(299); return N.name = Zs(y), N.initializer = i().parenthesizeExpressionForDisallowedComma(I), N.transformFlags |= Gg(N.name) | tr(N.initializer), N.modifiers = void 0, N.questionToken = void 0, N.exclamationToken = void 0, N.jsDoc = void 0, N } function rd(y, I, N) { return y.name !== I || y.initializer !== N ? LE(Tm(I, N), y) : y } function LE(y, I) { return y !== I && (y.modifiers = I.modifiers, y.questionToken = I.questionToken, y.exclamationToken = I.exclamationToken), r(y, I) } function uy(y, I) { let N = q(300); return N.name = Zs(y), N.objectAssignmentInitializer = I && i().parenthesizeExpressionForDisallowedComma(I), N.transformFlags |= fL(N.name) | tr(N.objectAssignmentInitializer) | 1024, N.equalsToken = void 0, N.modifiers = void 0, N.questionToken = void 0, N.exclamationToken = void 0, N.jsDoc = void 0, N } function ag(y, I, N) { return y.name !== I || y.objectAssignmentInitializer !== N ? Rx(uy(I, N), y) : y } function Rx(y, I) { return y !== I && (y.modifiers = I.modifiers, y.questionToken = I.questionToken, y.exclamationToken = I.exclamationToken, y.equalsToken = I.equalsToken), r(y, I) } function sf(y) { let I = q(301); return I.expression = i().parenthesizeExpressionForDisallowedComma(y), I.transformFlags |= tr(I.expression) | 128 | 65536, I.jsDoc = void 0, I } function ls(y, I) { return y.expression !== I ? r(sf(I), y) : y } function kE(y, I) { let N = q(302); return N.name = Zs(y), N.initializer = I && i().parenthesizeExpressionForDisallowedComma(I), N.transformFlags |= tr(N.name) | tr(N.initializer) | 1, N.jsDoc = void 0, N } function DE(y, I, N) { return y.name !== I || y.initializer !== N ? r(kE(I, N), y) : y } function og(y, I, N) { let te = t.createBaseSourceFileNode(308); return te.statements = F(y), te.endOfFileToken = I, te.flags |= N, te.text = "", te.fileName = "", te.path = "", te.resolvedPath = "", te.originalFileName = "", te.languageVersion = 0, te.languageVariant = 0, te.scriptKind = 0, te.isDeclarationFile = !1, te.hasNoDefaultLib = !1, te.transformFlags |= fo(te.statements) | tr(te.endOfFileToken), te.locals = void 0, te.nextContainer = void 0, te.endFlowNode = void 0, te.nodeCount = 0, te.identifierCount = 0, te.symbolCount = 0, te.parseDiagnostics = void 0, te.bindDiagnostics = void 0, te.bindSuggestionDiagnostics = void 0, te.lineMap = void 0, te.externalModuleIndicator = void 0, te.setExternalModuleIndicator = void 0, te.pragmas = void 0, te.checkJsDirective = void 0, te.referencedFiles = void 0, te.typeReferenceDirectives = void 0, te.libReferenceDirectives = void 0, te.amdDependencies = void 0, te.commentDirectives = void 0, te.identifiers = void 0, te.packageJsonLocations = void 0, te.packageJsonScope = void 0, te.imports = void 0, te.moduleAugmentations = void 0, te.ambientModuleNames = void 0, te.resolvedModules = void 0, te.classifiableNames = void 0, te.impliedNodeFormat = void 0, te } function Rv(y) { let I = Object.create(y.redirectTarget); return Object.defineProperties(I, { id: { get() { return this.redirectInfo.redirectTarget.id }, set(N) { this.redirectInfo.redirectTarget.id = N } }, symbol: { get() { return this.redirectInfo.redirectTarget.symbol }, set(N) { this.redirectInfo.redirectTarget.symbol = N } } }), I.redirectInfo = y, I } function k1(y) { let I = Rv(y.redirectInfo); return I.flags |= y.flags & -9, I.fileName = y.fileName, I.path = y.path, I.resolvedPath = y.resolvedPath, I.originalFileName = y.originalFileName, I.packageJsonLocations = y.packageJsonLocations, I.packageJsonScope = y.packageJsonScope, I.emitNode = void 0, I } function wE(y) { let I = t.createBaseSourceFileNode(308); I.flags |= y.flags & -9; for (let N in y) if (!(fs(I, N) || !fs(y, N))) { if (N === "emitNode") { I.emitNode = void 0; continue } I[N] = y[N] } return I } function RE(y) { let I = y.redirectInfo ? k1(y) : wE(y); return Ir(I, y), I } function OE(y, I, N, te, Me, Pt, Tr) { let Fi = RE(y); return Fi.statements = F(I), Fi.isDeclarationFile = N, Fi.referencedFiles = te, Fi.typeReferenceDirectives = Me, Fi.hasNoDefaultLib = Pt, Fi.libReferenceDirectives = Tr, Fi.transformFlags = fo(Fi.statements) | tr(Fi.endOfFileToken), Fi } function NE(y, I, N = y.isDeclarationFile, te = y.referencedFiles, Me = y.typeReferenceDirectives, Pt = y.hasNoDefaultLib, Tr = y.libReferenceDirectives) { return y.statements !== I || y.isDeclarationFile !== N || y.referencedFiles !== te || y.typeReferenceDirectives !== Me || y.hasNoDefaultLib !== Pt || y.libReferenceDirectives !== Tr ? r(OE(y, I, N, te, Me, Pt, Tr), y) : y } function PE(y, I = Je) { let N = B(309); return N.prepends = I, N.sourceFiles = y, N.syntheticFileReferences = void 0, N.syntheticTypeReferences = void 0, N.syntheticLibReferences = void 0, N.hasNoDefaultLib = void 0, N } function dy(y, I, N = Je) { return y.sourceFiles !== I || y.prepends !== N ? r(PE(I, N), y) : y } function bd(y, I, N) { let te = B(310); return te.prologues = y, te.syntheticReferences = I, te.texts = N, te.fileName = "", te.text = "", te.referencedFiles = Je, te.libReferenceDirectives = Je, te.getLineAndCharacterOfPosition = Me => Gs(te, Me), te } function lh(y, I) { let N = B(y); return N.data = I, N } function dC(y) { return lh(303, y) } function sg(y, I) { let N = lh(304, y); return N.texts = I, N } function Ox(y, I) { return lh(I ? 306 : 305, y) } function Nx(y) { let I = B(307); return I.data = y.data, I.section = y, I } function E() { let y = B(311); return y.javascriptText = "", y.declarationText = "", y } function ne(y, I = !1, N) { let te = B(234); return te.type = y, te.isSpread = I, te.tupleNameSource = N, te } function Ee(y) { let I = B(354); return I._children = y, I } function Wt(y) { let I = B(355); return I.original = y, it(I, y), I } function lr(y, I) { let N = B(356); return N.expression = y, N.original = I, N.transformFlags |= tr(N.expression) | 1, it(N, I), N } function ci(y, I) { return y.expression !== I ? r(lr(I, y.original), y) : y } function qr(y) { if (ws(y) && !dI(y) && !y.original && !y.emitNode && !y.id) { if (SL(y)) return y.elements; if (ar(y) && Cue(y.operatorToken)) return [y.left, y.right] } return y } function Ti(y) { let I = B(357); return I.elements = F(lae(y, qr)), I.transformFlags |= fo(I.elements), I } function Wa(y, I) { return y.elements !== I ? r(Ti(I), y) : y } function kl(y) { let I = B(359); return I.emitNode = {}, I.original = y, I } function Ed(y) { let I = B(358); return I.emitNode = {}, I.original = y, I } function Ud(y, I) { let N = B(360); return N.expression = y, N.thisArg = I, N.transformFlags |= tr(N.expression) | tr(N.thisArg), N } function fy(y, I, N) { return y.expression !== I || y.thisArg !== N ? r(Ud(I, N), y) : y } function Td(y) { let I = re(y.escapedText); return I.flags |= y.flags & -9, I.transformFlags = y.transformFlags, Ir(I, y), iO(I, { ...y.emitNode.autoGenerate }), I } function Ov(y) { let I = re(y.escapedText); I.flags |= y.flags & -9, I.jsDoc = y.jsDoc, I.flowNode = y.flowNode, I.symbol = y.symbol, I.transformFlags = y.transformFlags, Ir(I, y); let N = NT(y); return N && Ug(I, N), I } function Nv(y) { let I = ke(y.escapedText); return I.flags |= y.flags & -9, I.transformFlags = y.transformFlags, Ir(I, y), iO(I, { ...y.emitNode.autoGenerate }), I } function _y(y) { let I = ke(y.escapedText); return I.flags |= y.flags & -9, I.transformFlags = y.transformFlags, Ir(I, y), I } function Xf(y) { if (y === void 0) return y; if (Li(y)) return RE(y); if (tc(y)) return Td(y); if (Re(y)) return Ov(y); if (tS(y)) return Nv(y); if (pi(y)) return _y(y); let I = Iw(y.kind) ? t.createBaseNode(y.kind) : t.createBaseTokenNode(y.kind); I.flags |= y.flags & -9, I.transformFlags = y.transformFlags, Ir(I, y); for (let N in y) fs(I, N) || !fs(y, N) || (I[N] = y[N]); return I } function ME(y, I, N) { return bn(Ea(void 0, void 0, void 0, void 0, I ? [I] : [], void 0, zh(y, !0)), void 0, N ? [N] : []) } function cf(y, I, N) { return bn(Qo(void 0, void 0, I ? [I] : [], void 0, void 0, zh(y, !0)), void 0, N ? [N] : []) } function Sm() { return Zl(Y("0")) } function py(y) { return Qh(void 0, !1, y) } function If(y) { return I_(void 0, !1, Lp([Uu(!1, void 0, y)])) } function FE(y, I) { return I === "undefined" ? P.createStrictEquality(y, Sm()) : P.createStrictEquality(Dc(y), $(I)) } function Pv(y, I, N) { return dT(y) ? io($o(y, void 0, I), void 0, void 0, N) : bn(Uc(y, I), void 0, N) } function Vc(y, I, N) { return Pv(y, "bind", [I, ...N]) } function KP(y, I, N) { return Pv(y, "call", [I, ...N]) } function Zo(y, I, N) { return Pv(y, "apply", [I, N]) } function Ro(y, I, N) { return Pv(_e(y), I, N) } function Px(y, I) { return Pv(y, "slice", I === void 0 ? [] : [Fv(I)]) } function Mx(y, I) { return Pv(y, "concat", I) } function V(y, I, N) { return Ro("Object", "defineProperty", [y, Fv(I), N]) } function me(y, I) { return Ro("Object", "getOwnPropertyDescriptor", [y, Fv(I)]) } function Ue(y, I, N) { return Ro("Reflect", "get", N ? [y, I, N] : [y, I]) } function ut(y, I, N, te) { return Ro("Reflect", "set", te ? [y, I, N, te] : [y, I, N]) } function Lt(y, I, N) { return N ? (y.push(Tm(I, N)), !0) : !1 } function dn(y, I) { let N = []; Lt(N, "enumerable", Fv(y.enumerable)), Lt(N, "configurable", Fv(y.configurable)); let te = Lt(N, "writable", Fv(y.writable)); te = Lt(N, "value", y.value) || te; let Me = Lt(N, "get", y.get); return Me = Lt(N, "set", y.set) || Me, L.assert(!(te && Me), "A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."), vo(N, !I) } function Er(y, I) { switch (y.kind) { case 214: return gi(y, I); case 213: return mr(y, y.type, I); case 231: return mv(y, I, y.type); case 235: return Wh(y, I, y.type); case 232: return _1(y, I); case 356: return ci(y, I) } } function ii(y) { return ud(y) && ws(y) && ws(pb(y)) && ws(sm(y)) && !vt(l2(y)) && !vt(rO(y)) } function li(y, I, N = 15) { return y && S3(y, N) && !ii(y) ? Er(y, li(y.expression, I)) : I } function di(y, I, N) { if (!I) return y; let te = h1(I, I.label, J0(I.statement) ? di(y, I.statement) : y); return N && N(I), te } function ma(y, I) { let N = vs(y); switch (N.kind) { case 79: return I; case 108: case 8: case 9: case 10: return !1; case 206: return N.elements.length !== 0; case 207: return N.properties.length > 0; default: return !0 } } function is(y, I, N, te = !1) { let Me = ql(y, 15), Pt, Tr; return Pu(Me) ? (Pt = _t(), Tr = Me) : hL(Me) ? (Pt = _t(), Tr = N !== void 0 && N < 2 ? it(_e("_super"), Me) : Me) : Ya(Me) & 8192 ? (Pt = Sm(), Tr = i().parenthesizeLeftSideOfAccess(Me, !1)) : br(Me) ? ma(Me.expression, te) ? (Pt = ge(I), Tr = Uc(it(P.createAssignment(Pt, Me.expression), Me.expression), Me.name), it(Tr, Me)) : (Pt = Me.expression, Tr = Me) : Vs(Me) ? ma(Me.expression, te) ? (Pt = ge(I), Tr = hd(it(P.createAssignment(Pt, Me.expression), Me.expression), Me.argumentExpression), it(Tr, Me)) : (Pt = Me.expression, Tr = Me) : (Pt = Sm(), Tr = i().parenthesizeLeftSideOfAccess(y, !1)), { target: Tr, thisArg: Pt } } function ao(y, I) { return Uc(Vr(vo([Q(void 0, "value", [ui(void 0, void 0, y, void 0, void 0, void 0)], zh([yv(I)]))])), "value") } function Oo(y) { return y.length > 10 ? Ti(y) : ou(y, P.createComma) } function id(y, I, N, te = 0) { let Me = sa(y); if (Me && Re(Me) && !tc(Me)) { let Pt = go(it(Xf(Me), Me), Me.parent); return te |= Ya(Me), N || (te |= 96), I || (te |= 3072), te && Jn(Pt, te), Pt } return we(y) } function np(y, I, N) { return id(y, I, N, 98304) } function Op(y, I, N) { return id(y, I, N, 32768) } function cg(y, I, N) { return id(y, I, N, 16384) } function Yf(y, I, N) { return id(y, I, N) } function my(y, I, N, te) { let Me = Uc(y, ws(I) ? I : Xf(I)); it(Me, I); let Pt = 0; return te || (Pt |= 96), N || (Pt |= 3072), Pt && Jn(Me, Pt), Me } function Fx(y, I, N, te) { return y && Mr(I, 1) ? my(y, id(I), N, te) : cg(I, N, te) } function GE(y, I, N, te) { let Me = Mv(y, I, 0, N); return _C(y, I, Me, te) } function fC(y) { return yo(y.expression) && y.expression.text === "use strict" } function k_() { return mu(yv($("use strict"))) } function Mv(y, I, N = 0, te) { L.assert(I.length === 0, "Prologue directives should be at the first statement in the target statements array"); let Me = !1, Pt = y.length; for (; N < Pt;) { let Tr = y[N]; if (B_(Tr)) fC(Tr) && (Me = !0), I.push(Tr); else break; N++ } return te && !Me && I.push(k_()), N } function _C(y, I, N, te, Me = h0) { let Pt = y.length; for (; N !== void 0 && N < Pt;) { let Tr = y[N]; if (Ya(Tr) & 2097152 && Me(Tr)) Sn(I, te ? $e(Tr, te, ca) : Tr); else break; N++ } return N } function lf(y) { return tJ(y) ? y : it(F([k_(), ...y]), y) } function Gx(y) { return L.assert(Ji(y, Ese), "Cannot lift nodes to a Block."), Wp(y) || zh(y) } function hy(y, I, N) { let te = N; for (; te < y.length && I(y[te]);)te++; return te } function jk(y, I) { if (!vt(I)) return y; let N = hy(y, B_, 0), te = hy(y, C6, N), Me = hy(y, I6, te), Pt = hy(I, B_, 0), Tr = hy(I, C6, Pt), Fi = hy(I, I6, Tr), Da = hy(I, A6, Fi); L.assert(Da === I.length, "Expected declarations to be valid standard or custom prologues"); let Vd = C0(y) ? y.slice() : y; if (Da > Fi && Vd.splice(Me, 0, ...I.slice(Fi, Da)), Fi > Tr && Vd.splice(te, 0, ...I.slice(Tr, Fi)), Tr > Pt && Vd.splice(N, 0, ...I.slice(Pt, Tr)), Pt > 0) if (N === 0) Vd.splice(0, 0, ...I.slice(0, Pt)); else { let lg = new Map; for (let ug = 0; ug < N; ug++) { let dg = y[ug]; lg.set(dg.expression.text, !0) } for (let ug = Pt - 1; ug >= 0; ug--) { let dg = I[ug]; lg.has(dg.expression.text) || Vd.unshift(dg) } } return C0(y) ? it(F(Vd, y.hasTrailingComma), y) : y } function Hk(y, I) { var N; let te; return typeof I == "number" ? te = zt(I) : te = I, _c(y) ? $n(y, te, y.name, y.constraint, y.default) : ha(y) ? Ni(y, te, y.dotDotDotToken, y.name, y.questionToken, y.type, y.initializer) : yL(y) ? Hn(y, te, y.typeParameters, y.parameters, y.type) : $d(y) ? nn(y, te, y.name, y.questionToken, y.type) : Na(y) ? An(y, te, y.name, (N = y.questionToken) != null ? N : y.exclamationToken, y.type, y.initializer) : zm(y) ? hi(y, te, y.name, y.questionToken, y.typeParameters, y.parameters, y.type) : Nc(y) ? vn(y, te, y.asteriskToken, y.name, y.questionToken, y.typeParameters, y.parameters, y.type, y.body) : Ec(y) ? at(y, te, y.parameters, y.body) : p_(y) ? nt(y, te, y.name, y.parameters, y.type, y.body) : Sf(y) ? ue(y, te, y.name, y.parameters, y.body) : kS(y) ? ln(y, te, y.parameters, y.type) : ms(y) ? bo(y, te, y.asteriskToken, y.name, y.typeParameters, y.parameters, y.type, y.body) : xs(y) ? Cs(y, te, y.typeParameters, y.parameters, y.type, y.equalsGreaterThanToken, y.body) : _u(y) ? Mc(y, te, y.name, y.typeParameters, y.heritageClauses, y.members) : Bc(y) ? dE(y, te, y.declarationList) : Jc(y) ? Sv(y, te, y.asteriskToken, y.name, y.typeParameters, y.parameters, y.type, y.body) : sl(y) ? wo(y, te, y.name, y.typeParameters, y.heritageClauses, y.members) : ku(y) ? gE(y, te, y.name, y.typeParameters, y.heritageClauses, y.members) : Ep(y) ? th(y, te, y.name, y.typeParameters, y.type) : hb(y) ? C_(y, te, y.name, y.members) : Tc(y) ? Ml(y, te, y.name, y.body) : Nl(y) ? yE(y, te, y.isTypeOnly, y.name, y.moduleReference) : gl(y) ? nh(y, te, y.importClause, y.moduleSpecifier, y.assertClause) : pc(y) ? Q_(y, te, y.expression) : Il(y) ? Ax(y, te, y.isTypeOnly, y.exportClause, y.moduleSpecifier, y.assertClause) : L.assertNever(y) } function oo(y) { return y ? F(y) : void 0 } function Zs(y) { return typeof y == "string" ? _e(y) : y } function Fv(y) { return typeof y == "string" ? $(y) : typeof y == "number" ? Y(y) : typeof y == "boolean" ? y ? Rt() : We() : y } function gy(y) { return y && i().parenthesizeExpressionForDisallowedComma(y) } function Wk(y) { return typeof y == "number" ? Le(y) : y } function ad(y) { return y && Gz(y) ? it(Ir(fE(), y), y) : y } function zk(y) { return typeof y == "string" || y && !wi(y) ? Fe(y, void 0, void 0, void 0) : y } } function CRe(e, t) { return e !== t && it(e, t), e } function IRe(e, t) { return e !== t && (Ir(e, t), it(e, t)), e } function w4(e) { switch (e) { case 347: return "type"; case 345: return "returns"; case 346: return "this"; case 343: return "enum"; case 333: return "author"; case 335: return "class"; case 336: return "public"; case 337: return "private"; case 338: return "protected"; case 339: return "readonly"; case 340: return "override"; case 348: return "template"; case 349: return "typedef"; case 344: return "param"; case 351: return "prop"; case 341: return "callback"; case 342: return "overload"; case 331: return "augments"; case 332: return "implements"; default: return L.fail(`Unsupported kind: ${L.formatSyntaxKind(e)}`) } } function LRe(e, t) { switch (Ph || (Ph = kg(99, !1, 0)), e) { case 14: Ph.setText("`" + t + "`"); break; case 15: Ph.setText("`" + t + "${"); break; case 16: Ph.setText("}" + t + "${"); break; case 17: Ph.setText("}" + t + "`"); break }let r = Ph.scan(); if (r === 19 && (r = Ph.reScanTemplateToken(!1)), Ph.isUnterminated()) return Ph.setText(void 0), gz; let i; switch (r) { case 14: case 15: case 16: case 17: i = Ph.getTokenValue(); break }return i === void 0 || Ph.scan() !== 1 ? (Ph.setText(void 0), gz) : (Ph.setText(void 0), i) } function Gg(e) { return e && Re(e) ? fL(e) : tr(e) } function fL(e) { return tr(e) & -67108865 } function kRe(e, t) { return t | e.transformFlags & 134234112 } function tr(e) { if (!e) return 0; let t = e.transformFlags & ~uue(e.kind); return zl(e) && Ys(e.name) ? kRe(e.name, t) : t } function fo(e) { return e ? e.transformFlags : 0 } function lue(e) { let t = 0; for (let r of e) t |= tr(r); e.transformFlags = t } function uue(e) { if (e >= 179 && e <= 202) return -2; switch (e) { case 210: case 211: case 206: return -2147450880; case 264: return -1941676032; case 166: return -2147483648; case 216: return -2072174592; case 215: case 259: return -1937940480; case 258: return -2146893824; case 260: case 228: return -2147344384; case 173: return -1937948672; case 169: return -2013249536; case 171: case 174: case 175: return -2005057536; case 131: case 148: case 160: case 144: case 152: case 149: case 134: case 153: case 114: case 165: case 168: case 170: case 176: case 177: case 178: case 261: case 262: return -2; case 207: return -2147278848; case 295: return -2147418112; case 203: case 204: return -2147450880; case 213: case 235: case 231: case 356: case 214: case 106: return -2147483648; case 208: case 209: return -2147483648; default: return -2147483648 } } function $R(e) { return e.flags |= 8, e } function fz(e, t, r) { let i, o, s, l, f, d, g, m, v, S; Ta(e) ? (s = "", l = e, f = e.length, d = t, g = r) : (L.assert(t === "js" || t === "dts"), s = (t === "js" ? e.javascriptPath : e.declarationPath) || "", d = t === "js" ? e.javascriptMapPath : e.declarationMapPath, m = () => t === "js" ? e.javascriptText : e.declarationText, v = () => t === "js" ? e.javascriptMapText : e.declarationMapText, f = () => m().length, e.buildInfo && e.buildInfo.bundle && (L.assert(r === void 0 || typeof r == "boolean"), i = r, o = t === "js" ? e.buildInfo.bundle.js : e.buildInfo.bundle.dts, S = e.oldFileOfCurrentEmit)); let x = S ? wRe(L.checkDefined(o)) : DRe(o, i, f); return x.fileName = s, x.sourceMapPath = d, x.oldFileOfCurrentEmit = S, m && v ? (Object.defineProperty(x, "text", { get: m }), Object.defineProperty(x, "sourceMapText", { get: v })) : (L.assert(!S), x.text = l ?? "", x.sourceMapText = g), x } function DRe(e, t, r) { let i, o, s, l, f, d, g, m; for (let S of e ? e.sections : Je) switch (S.kind) { case "prologue": i = Sn(i, it(D.createUnparsedPrologue(S.data), S)); break; case "emitHelpers": o = Sn(o, xz().get(S.data)); break; case "no-default-lib": m = !0; break; case "reference": s = Sn(s, { pos: -1, end: -1, fileName: S.data }); break; case "type": l = Sn(l, { pos: -1, end: -1, fileName: S.data }); break; case "type-import": l = Sn(l, { pos: -1, end: -1, fileName: S.data, resolutionMode: 99 }); break; case "type-require": l = Sn(l, { pos: -1, end: -1, fileName: S.data, resolutionMode: 1 }); break; case "lib": f = Sn(f, { pos: -1, end: -1, fileName: S.data }); break; case "prepend": let x; for (let A of S.texts) (!t || A.kind !== "internal") && (x = Sn(x, it(D.createUnparsedTextLike(A.data, A.kind === "internal"), A))); d = si(d, x), g = Sn(g, D.createUnparsedPrepend(S.data, x ?? Je)); break; case "internal": if (t) { g || (g = []); break } case "text": g = Sn(g, it(D.createUnparsedTextLike(S.data, S.kind === "internal"), S)); break; default: L.assertNever(S) }if (!g) { let S = D.createUnparsedTextLike(void 0, !1); oL(S, 0, typeof r == "function" ? r() : r), g = [S] } let v = fm.createUnparsedSource(i ?? Je, void 0, g); return i2(i, v), i2(g, v), i2(d, v), v.hasNoDefaultLib = m, v.helpers = o, v.referencedFiles = s || Je, v.typeReferenceDirectives = l, v.libReferenceDirectives = f || Je, v } function wRe(e) { let t, r; for (let o of e.sections) switch (o.kind) { case "internal": case "text": t = Sn(t, it(D.createUnparsedTextLike(o.data, o.kind === "internal"), o)); break; case "no-default-lib": case "reference": case "type": case "type-import": case "type-require": case "lib": r = Sn(r, it(D.createUnparsedSyntheticReference(o), o)); break; case "prologue": case "emitHelpers": case "prepend": break; default: L.assertNever(o) }let i = D.createUnparsedSource(Je, r, t ?? Je); return i2(r, i), i2(t, i), i.helpers = on(e.sources && e.sources.helpers, o => xz().get(o)), i } function RRe(e, t, r, i, o, s) { return Ta(e) ? pz(void 0, e, r, i, void 0, t, o, s) : _z(e, t, r, i, o, s) } function _z(e, t, r, i, o, s, l, f) {
-                let d = fm.createInputFiles(); d.javascriptPath = t, d.javascriptMapPath = r, d.declarationPath = i, d.declarationMapPath = o, d.buildInfoPath = s; let g = new Map, m = A => { if (A === void 0) return; let w = g.get(A); return w === void 0 && (w = e(A), g.set(A, w !== void 0 ? w : !1)), w !== !1 ? w : void 0 }, v = A => {
-                    let w = m(A); return w !== void 0 ? w : `/* Input file ${A} was missing */\r
-`}, S; return Object.defineProperties(d, { javascriptText: { get: () => v(t) }, javascriptMapText: { get: () => m(r) }, declarationText: { get: () => v(L.checkDefined(i)) }, declarationMapText: { get: () => m(o) }, buildInfo: { get: () => { var A, w; if (S === void 0 && s) if (l?.getBuildInfo) S = (A = l.getBuildInfo(s, f.configFilePath)) != null ? A : !1; else { let C = m(s); S = C !== void 0 && (w = IF(s, C)) != null ? w : !1 } return S || void 0 } } }), d
-            } function pz(e, t, r, i, o, s, l, f, d, g, m) { let v = fm.createInputFiles(); return v.javascriptPath = e, v.javascriptText = t, v.javascriptMapPath = r, v.javascriptMapText = i, v.declarationPath = o, v.declarationText = s, v.declarationMapPath = l, v.declarationMapText = f, v.buildInfoPath = d, v.buildInfo = g, v.oldFileOfCurrentEmit = m, v } function ORe(e, t, r) { return new (fue || (fue = ml.getSourceMapSourceConstructor()))(e, t, r) } function Ir(e, t) { if (e.original = t, t) { let r = t.emitNode; r && (e.emitNode = NRe(r, e.emitNode)) } return e } function NRe(e, t) { let { flags: r, internalFlags: i, leadingComments: o, trailingComments: s, commentRange: l, sourceMapRange: f, tokenSourceMapRanges: d, constantValue: g, helpers: m, startsOnNewLine: v, snippetElement: S } = e; if (t || (t = {}), o && (t.leadingComments = si(o.slice(), t.leadingComments)), s && (t.trailingComments = si(s.slice(), t.trailingComments)), r && (t.flags = r), i && (t.internalFlags = i & -9), l && (t.commentRange = l), f && (t.sourceMapRange = f), d && (t.tokenSourceMapRanges = PRe(d, t.tokenSourceMapRanges)), g !== void 0 && (t.constantValue = g), m) for (let x of m) t.helpers = xg(t.helpers, x); return v !== void 0 && (t.startsOnNewLine = v), S !== void 0 && (t.snippetElement = S), t } function PRe(e, t) { t || (t = []); for (let r in e) t[r] = e[r]; return t } var QR, mz, hz, Ph, gz, _L, due, D, fue, MRe = gt({ "src/compiler/factory/nodeFactory.ts"() { "use strict"; fa(), QR = 0, mz = (e => (e[e.None = 0] = "None", e[e.NoParenthesizerRules = 1] = "NoParenthesizerRules", e[e.NoNodeConverters = 2] = "NoNodeConverters", e[e.NoIndentationOnFreshPropertyAccess = 4] = "NoIndentationOnFreshPropertyAccess", e[e.NoOriginalNode = 8] = "NoOriginalNode", e))(mz || {}), hz = [], gz = {}, _L = oue(), due = { createBaseSourceFileNode: e => $R(_L.createBaseSourceFileNode(e)), createBaseIdentifierNode: e => $R(_L.createBaseIdentifierNode(e)), createBasePrivateIdentifierNode: e => $R(_L.createBasePrivateIdentifierNode(e)), createBaseTokenNode: e => $R(_L.createBaseTokenNode(e)), createBaseNode: e => $R(_L.createBaseNode(e)) }, D = YR(4, due) } }); function Lu(e) { var t; if (e.emitNode) L.assert(!(e.emitNode.internalFlags & 8), "Invalid attempt to mutate an immutable node."); else { if (dI(e)) { if (e.kind === 308) return e.emitNode = { annotatedNodes: [e] }; let r = (t = Gn(ea(Gn(e)))) != null ? t : L.fail("Could not determine parsed source file."); Lu(r).annotatedNodes.push(e) } e.emitNode = {} } return e.emitNode } function yz(e) { var t, r; let i = (r = (t = Gn(ea(e))) == null ? void 0 : t.emitNode) == null ? void 0 : r.annotatedNodes; if (i) for (let o of i) o.emitNode = void 0 } function ZR(e) { let t = Lu(e); return t.flags |= 3072, t.leadingComments = void 0, t.trailingComments = void 0, e } function Jn(e, t) { return Lu(e).flags = t, e } function bp(e, t) { let r = Lu(e); return r.flags = r.flags | t, e } function eO(e, t) { return Lu(e).internalFlags = t, e } function SS(e, t) { let r = Lu(e); return r.internalFlags = r.internalFlags | t, e } function pb(e) { var t, r; return (r = (t = e.emitNode) == null ? void 0 : t.sourceMapRange) != null ? r : e } function Ho(e, t) { return Lu(e).sourceMapRange = t, e } function FRe(e, t) { var r, i; return (i = (r = e.emitNode) == null ? void 0 : r.tokenSourceMapRanges) == null ? void 0 : i[t] } function _ue(e, t, r) { var i; let o = Lu(e), s = (i = o.tokenSourceMapRanges) != null ? i : o.tokenSourceMapRanges = []; return s[t] = r, e } function tO(e) { var t; return (t = e.emitNode) == null ? void 0 : t.startsOnNewLine } function vz(e, t) { return Lu(e).startsOnNewLine = t, e } function sm(e) { var t, r; return (r = (t = e.emitNode) == null ? void 0 : t.commentRange) != null ? r : e } function hl(e, t) { return Lu(e).commentRange = t, e } function l2(e) { var t; return (t = e.emitNode) == null ? void 0 : t.leadingComments } function W0(e, t) { return Lu(e).leadingComments = t, e } function nO(e, t, r, i) { return W0(e, Sn(l2(e), { kind: t, pos: -1, end: -1, hasTrailingNewLine: i, text: r })) } function rO(e) { var t; return (t = e.emitNode) == null ? void 0 : t.trailingComments } function u2(e, t) { return Lu(e).trailingComments = t, e } function R4(e, t, r, i) { return u2(e, Sn(rO(e), { kind: t, pos: -1, end: -1, hasTrailingNewLine: i, text: r })) } function pue(e, t) { W0(e, l2(t)), u2(e, rO(t)); let r = Lu(t); return r.leadingComments = void 0, r.trailingComments = void 0, e } function mue(e) { var t; return (t = e.emitNode) == null ? void 0 : t.constantValue } function hue(e, t) { let r = Lu(e); return r.constantValue = t, e } function xS(e, t) { let r = Lu(e); return r.helpers = Sn(r.helpers, t), e } function Bg(e, t) { if (vt(t)) { let r = Lu(e); for (let i of t) r.helpers = xg(r.helpers, i) } return e } function GRe(e, t) { var r; let i = (r = e.emitNode) == null ? void 0 : r.helpers; return i ? m8(i, t) : !1 } function O4(e) { var t; return (t = e.emitNode) == null ? void 0 : t.helpers } function gue(e, t, r) { let i = e.emitNode, o = i && i.helpers; if (!vt(o)) return; let s = Lu(t), l = 0; for (let f = 0; f < o.length; f++) { let d = o[f]; r(d) ? (l++, s.helpers = xg(s.helpers, d)) : l > 0 && (o[f - l] = d) } l > 0 && (o.length -= l) } function bz(e) { var t; return (t = e.emitNode) == null ? void 0 : t.snippetElement } function Ez(e, t) { let r = Lu(e); return r.snippetElement = t, e } function Tz(e) { return Lu(e).internalFlags |= 4, e } function yue(e, t) { let r = Lu(e); return r.typeNode = t, e } function vue(e) { var t; return (t = e.emitNode) == null ? void 0 : t.typeNode } function Ug(e, t) { return Lu(e).identifierTypeArguments = t, e } function NT(e) { var t; return (t = e.emitNode) == null ? void 0 : t.identifierTypeArguments } function iO(e, t) { return Lu(e).autoGenerate = t, e } function BRe(e) { var t; return (t = e.emitNode) == null ? void 0 : t.autoGenerate } function bue(e, t) { return Lu(e).generatedImportReference = t, e } function Eue(e) { var t; return (t = e.emitNode) == null ? void 0 : t.generatedImportReference } var URe = gt({ "src/compiler/factory/emitNode.ts"() { "use strict"; fa() } }); function Tue(e) { let t = e.factory, r = zu(() => eO(t.createTrue(), 8)), i = zu(() => eO(t.createFalse(), 8)); return { getUnscopedHelperName: o, createDecorateHelper: s, createMetadataHelper: l, createParamHelper: f, createESDecorateHelper: w, createRunInitializersHelper: C, createAssignHelper: P, createAwaitHelper: F, createAsyncGeneratorHelper: B, createAsyncDelegatorHelper: q, createAsyncValuesHelper: W, createRestHelper: Y, createAwaiterHelper: R, createExtendsHelper: ie, createTemplateObjectHelper: $, createSpreadArrayHelper: fe, createPropKeyHelper: Z, createSetFunctionNameHelper: U, createValuesHelper: re, createReadHelper: le, createGeneratorHelper: _e, createCreateBindingHelper: ge, createImportStarHelper: X, createImportStarCallbackHelper: Ve, createImportDefaultHelper: we, createExportStarHelper: ke, createClassPrivateFieldGetHelper: Pe, createClassPrivateFieldSetHelper: Ce, createClassPrivateFieldInHelper: Ie }; function o(Be) { return Jn(t.createIdentifier(Be), 8196) } function s(Be, Ne, Le, Ye) { e.requestEmitHelper(N4); let _t = []; return _t.push(t.createArrayLiteralExpression(Be, !0)), _t.push(Ne), Le && (_t.push(Le), Ye && _t.push(Ye)), t.createCallExpression(o("__decorate"), void 0, _t) } function l(Be, Ne) { return e.requestEmitHelper(P4), t.createCallExpression(o("__metadata"), void 0, [t.createStringLiteral(Be), Ne]) } function f(Be, Ne, Le) { return e.requestEmitHelper(M4), it(t.createCallExpression(o("__param"), void 0, [t.createNumericLiteral(Ne + ""), Be]), Le) } function d(Be) { return t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("kind"), t.createStringLiteral("class")), t.createPropertyAssignment(t.createIdentifier("name"), Be.name)]) } function g(Be) { let Ne = Be.computed ? t.createElementAccessExpression(t.createIdentifier("obj"), Be.name) : t.createPropertyAccessExpression(t.createIdentifier("obj"), Be.name); return t.createPropertyAssignment("get", t.createArrowFunction(void 0, void 0, [t.createParameterDeclaration(void 0, void 0, t.createIdentifier("obj"))], void 0, void 0, Ne)) } function m(Be) { let Ne = Be.computed ? t.createElementAccessExpression(t.createIdentifier("obj"), Be.name) : t.createPropertyAccessExpression(t.createIdentifier("obj"), Be.name); return t.createPropertyAssignment("set", t.createArrowFunction(void 0, void 0, [t.createParameterDeclaration(void 0, void 0, t.createIdentifier("obj")), t.createParameterDeclaration(void 0, void 0, t.createIdentifier("value"))], void 0, void 0, t.createBlock([t.createExpressionStatement(t.createAssignment(Ne, t.createIdentifier("value")))]))) } function v(Be) { let Ne = Be.computed ? Be.name : Re(Be.name) ? t.createStringLiteralFromNode(Be.name) : Be.name; return t.createPropertyAssignment("has", t.createArrowFunction(void 0, void 0, [t.createParameterDeclaration(void 0, void 0, t.createIdentifier("obj"))], void 0, void 0, t.createBinaryExpression(Ne, 101, t.createIdentifier("obj")))) } function S(Be, Ne) { let Le = []; return Le.push(v(Be)), Ne.get && Le.push(g(Be)), Ne.set && Le.push(m(Be)), t.createObjectLiteralExpression(Le) } function x(Be) { return t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("kind"), t.createStringLiteral(Be.kind)), t.createPropertyAssignment(t.createIdentifier("name"), Be.name.computed ? Be.name.name : t.createStringLiteralFromNode(Be.name.name)), t.createPropertyAssignment(t.createIdentifier("static"), Be.static ? t.createTrue() : t.createFalse()), t.createPropertyAssignment(t.createIdentifier("private"), Be.private ? t.createTrue() : t.createFalse()), t.createPropertyAssignment(t.createIdentifier("access"), S(Be.name, Be.access))]) } function A(Be) { return Be.kind === "class" ? d(Be) : x(Be) } function w(Be, Ne, Le, Ye, _t, ct) { return e.requestEmitHelper(F4), t.createCallExpression(o("__esDecorate"), void 0, [Be ?? t.createNull(), Ne ?? t.createNull(), Le, A(Ye), _t, ct]) } function C(Be, Ne, Le) { return e.requestEmitHelper(G4), t.createCallExpression(o("__runInitializers"), void 0, Le ? [Be, Ne, Le] : [Be, Ne]) } function P(Be) { return Do(e.getCompilerOptions()) >= 2 ? t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"), "assign"), void 0, Be) : (e.requestEmitHelper(B4), t.createCallExpression(o("__assign"), void 0, Be)) } function F(Be) { return e.requestEmitHelper(AS), t.createCallExpression(o("__await"), void 0, [Be]) } function B(Be, Ne) { return e.requestEmitHelper(AS), e.requestEmitHelper(U4), (Be.emitNode || (Be.emitNode = {})).flags |= 1572864, t.createCallExpression(o("__asyncGenerator"), void 0, [Ne ? t.createThis() : t.createVoidZero(), t.createIdentifier("arguments"), Be]) } function q(Be) { return e.requestEmitHelper(AS), e.requestEmitHelper(V4), t.createCallExpression(o("__asyncDelegator"), void 0, [Be]) } function W(Be) { return e.requestEmitHelper(j4), t.createCallExpression(o("__asyncValues"), void 0, [Be]) } function Y(Be, Ne, Le, Ye) { e.requestEmitHelper(H4); let _t = [], ct = 0; for (let Rt = 0; Rt < Ne.length - 1; Rt++) { let We = rJ(Ne[Rt]); if (We) if (ts(We)) { L.assertIsDefined(Le, "Encountered computed property name but 'computedTempVariables' argument was not provided."); let qe = Le[ct]; ct++, _t.push(t.createConditionalExpression(t.createTypeCheck(qe, "symbol"), void 0, qe, void 0, t.createAdd(qe, t.createStringLiteral("")))) } else _t.push(t.createStringLiteralFromNode(We)) } return t.createCallExpression(o("__rest"), void 0, [Be, it(t.createArrayLiteralExpression(_t), Ye)]) } function R(Be, Ne, Le, Ye) { e.requestEmitHelper(W4); let _t = t.createFunctionExpression(void 0, t.createToken(41), void 0, void 0, [], void 0, Ye); return (_t.emitNode || (_t.emitNode = {})).flags |= 1572864, t.createCallExpression(o("__awaiter"), void 0, [Be ? t.createThis() : t.createVoidZero(), Ne ? t.createIdentifier("arguments") : t.createVoidZero(), Le ? EO(t, Le) : t.createVoidZero(), _t]) } function ie(Be) { return e.requestEmitHelper(z4), t.createCallExpression(o("__extends"), void 0, [Be, t.createUniqueName("_super", 48)]) } function $(Be, Ne) { return e.requestEmitHelper(J4), t.createCallExpression(o("__makeTemplateObject"), void 0, [Be, Ne]) } function fe(Be, Ne, Le) { return e.requestEmitHelper(q4), t.createCallExpression(o("__spreadArray"), void 0, [Be, Ne, Le ? r() : i()]) } function Z(Be) { return e.requestEmitHelper(X4), t.createCallExpression(o("__propKey"), void 0, [Be]) } function U(Be, Ne, Le) { return e.requestEmitHelper(Y4), e.factory.createCallExpression(o("__setFunctionName"), void 0, Le ? [Be, Ne, e.factory.createStringLiteral(Le)] : [Be, Ne]) } function re(Be) { return e.requestEmitHelper($4), t.createCallExpression(o("__values"), void 0, [Be]) } function le(Be, Ne) { return e.requestEmitHelper(K4), t.createCallExpression(o("__read"), void 0, Ne !== void 0 ? [Be, t.createNumericLiteral(Ne + "")] : [Be]) } function _e(Be) { return e.requestEmitHelper(Q4), t.createCallExpression(o("__generator"), void 0, [t.createThis(), Be]) } function ge(Be, Ne, Le) { return e.requestEmitHelper(d2), t.createCallExpression(o("__createBinding"), void 0, [t.createIdentifier("exports"), Be, Ne, ...Le ? [Le] : []]) } function X(Be) { return e.requestEmitHelper(aO), t.createCallExpression(o("__importStar"), void 0, [Be]) } function Ve() { return e.requestEmitHelper(aO), o("__importStar") } function we(Be) { return e.requestEmitHelper(e3), t.createCallExpression(o("__importDefault"), void 0, [Be]) } function ke(Be, Ne = t.createIdentifier("exports")) { return e.requestEmitHelper(t3), e.requestEmitHelper(d2), t.createCallExpression(o("__exportStar"), void 0, [Be, Ne]) } function Pe(Be, Ne, Le, Ye) { e.requestEmitHelper(n3); let _t; return Ye ? _t = [Be, Ne, t.createStringLiteral(Le), Ye] : _t = [Be, Ne, t.createStringLiteral(Le)], t.createCallExpression(o("__classPrivateFieldGet"), void 0, _t) } function Ce(Be, Ne, Le, Ye, _t) { e.requestEmitHelper(r3); let ct; return _t ? ct = [Be, Ne, Le, t.createStringLiteral(Ye), _t] : ct = [Be, Ne, Le, t.createStringLiteral(Ye)], t.createCallExpression(o("__classPrivateFieldSet"), void 0, ct) } function Ie(Be, Ne) { return e.requestEmitHelper(i3), t.createCallExpression(o("__classPrivateFieldIn"), void 0, [Be, Ne]) } } function Sue(e, t) { return e === t || e.priority === t.priority ? 0 : e.priority === void 0 ? 1 : t.priority === void 0 ? -1 : Es(e.priority, t.priority) } function Sz(e, ...t) { return r => { let i = ""; for (let o = 0; o < t.length; o++)i += e[o], i += r(t[o]); return i += e[e.length - 1], i } } function xz() { return xue || (xue = p0([N4, P4, M4, F4, G4, B4, AS, U4, V4, j4, H4, W4, z4, J4, q4, $4, K4, X4, Y4, Q4, aO, e3, t3, n3, r3, i3, d2, Z4], e => e.name)) } function pL(e, t) { return Pa(e) && Re(e.expression) && (Ya(e.expression) & 8192) !== 0 && e.expression.escapedText === t } var Az, N4, P4, M4, F4, G4, B4, AS, U4, V4, j4, H4, W4, z4, J4, K4, q4, X4, Y4, $4, Q4, d2, Z4, aO, e3, t3, n3, r3, i3, xue, oO, sO, VRe = gt({
-                "src/compiler/factory/emitHelpers.ts"() {
-                    "use strict"; fa(), Az = (e => (e.Field = "f", e.Method = "m", e.Accessor = "a", e))(Az || {}), N4 = {
-                        name: "typescript:decorate", importName: "__decorate", scoped: !1, priority: 2, text: `
+`),t.closeSync(i),ai=void 0,s.length?W(s):f[f.length-1].typesPath=void 0}e.stopTracing=g;function m(R){o!=="server"&&s.push(R)}e.recordType=m;let v;(R=>{R.Parse="parse",R.Program="program",R.Bind="bind",R.Check="check",R.CheckTypes="checkTypes",R.Emit="emit",R.Session="session"})(v=e.Phase||(e.Phase={}));function S(R,ie,$){B("I",R,ie,$,'"s":"g"')}e.instant=S;let x=[];function A(R,ie,$,fe=!1){fe&&B("B",R,ie,$),x.push({phase:R,name:ie,args:$,time:1e3*Ms(),separateBeginAndEnd:fe})}e.push=A;function w(R){L.assert(x.length>0),F(x.length-1,1e3*Ms(),R),x.length--}e.pop=w;function C(){let R=1e3*Ms();for(let ie=x.length-1;ie>=0;ie--)F(ie,R);x.length=0}e.popAll=C;let P=1e3*10;function F(R,ie,$){let{phase:fe,name:Z,args:U,time:re,separateBeginAndEnd:le}=x[R];le?(L.assert(!$,"`results` are not supported for events with `separateBeginAndEnd`"),B("E",fe,Z,U,void 0,ie)):P-re%P<=ie-re&&B("X",fe,Z,{...U,results:$},`"dur":${ie-re}`,re)}function B(R,ie,$,fe,Z,U=1e3*Ms()){o==="server"&&ie==="checkTypes"||(Fs("beginTracing"),t.writeSync(i,`,
+{"pid":1,"tid":1,"ph":"${R}","cat":"${ie}","ts":${U},"name":"${$}"`),Z&&t.writeSync(i,`,${Z}`),fe&&t.writeSync(i,`,"args":${JSON.stringify(fe)}`),t.writeSync(i,"}"),Fs("endTracing"),hf("Tracing","beginTracing","endTracing"))}function q(R){let ie=Gn(R);return ie?{path:ie.path,start:$(Gs(ie,R.pos)),end:$(Gs(ie,R.end))}:void 0;function $(fe){return{line:fe.line+1,character:fe.character+1}}}function W(R){var ie,$,fe,Z,U,re,le,_e,ge,X,Ve,we,ke,Pe,Ce,Ie,Be,Ne,Le,Ye,_t,ct;Fs("beginDumpTypes");let Rt=f[f.length-1].typesPath,We=t.openSync(Rt,"w"),qe=new Map;t.writeSync(We,"[");let zt=R.length;for(let Qt=0;Qt<zt;Qt++){let tn=R[Qt],kn=tn.objectFlags,_n=(ie=tn.aliasSymbol)!=null?ie:tn.symbol,Gt;if(kn&16|tn.flags&2944)try{Gt=($=tn.checker)==null?void 0:$.typeToString(tn)}catch{Gt=void 0}let $n={};if(tn.flags&8388608){let An=tn;$n={indexedAccessObjectType:(fe=An.objectType)==null?void 0:fe.id,indexedAccessIndexType:(Z=An.indexType)==null?void 0:Z.id}}let ui={};if(kn&4){let An=tn;ui={instantiatedType:(U=An.target)==null?void 0:U.id,typeArguments:(re=An.resolvedTypeArguments)==null?void 0:re.map(Kn=>Kn.id),referenceLocation:q(An.node)}}let Ni={};if(tn.flags&16777216){let An=tn;Ni={conditionalCheckType:(le=An.checkType)==null?void 0:le.id,conditionalExtendsType:(_e=An.extendsType)==null?void 0:_e.id,conditionalTrueType:(X=(ge=An.resolvedTrueType)==null?void 0:ge.id)!=null?X:-1,conditionalFalseType:(we=(Ve=An.resolvedFalseType)==null?void 0:Ve.id)!=null?we:-1}}let Pi={};if(tn.flags&33554432){let An=tn;Pi={substitutionBaseType:(ke=An.baseType)==null?void 0:ke.id,constraintType:(Pe=An.constraint)==null?void 0:Pe.id}}let gr={};if(kn&1024){let An=tn;gr={reverseMappedSourceType:(Ce=An.source)==null?void 0:Ce.id,reverseMappedMappedType:(Ie=An.mappedType)==null?void 0:Ie.id,reverseMappedConstraintType:(Be=An.constraintType)==null?void 0:Be.id}}let pt={};if(kn&256){let An=tn;pt={evolvingArrayElementType:An.elementType.id,evolvingArrayFinalType:(Ne=An.finalArrayType)==null?void 0:Ne.id}}let nn,Dt=tn.checker.getRecursionIdentity(tn);Dt&&(nn=qe.get(Dt),nn||(nn=qe.size,qe.set(Dt,nn)));let pn={id:tn.id,intrinsicName:tn.intrinsicName,symbolName:_n?.escapedName&&Gi(_n.escapedName),recursionId:nn,isTuple:kn&8?!0:void 0,unionTypes:tn.flags&1048576?(Le=tn.types)==null?void 0:Le.map(An=>An.id):void 0,intersectionTypes:tn.flags&2097152?tn.types.map(An=>An.id):void 0,aliasTypeArguments:(Ye=tn.aliasTypeArguments)==null?void 0:Ye.map(An=>An.id),keyofType:tn.flags&4194304?(_t=tn.type)==null?void 0:_t.id:void 0,...$n,...ui,...Ni,...Pi,...gr,...pt,destructuringPattern:q(tn.pattern),firstDeclaration:q((ct=_n?.declarations)==null?void 0:ct[0]),flags:L.formatTypeFlags(tn.flags).split("|"),display:Gt};t.writeSync(We,JSON.stringify(pn)),Qt<zt-1&&t.writeSync(We,`,
+`)}t.writeSync(We,`]
+`),t.closeSync(We),Fs("endDumpTypes"),hf("Dump types","beginDumpTypes","endDumpTypes")}function Y(){l&&t.writeFileSync(l,JSON.stringify(f))}e.dumpLegend=Y})(ew||(ew={})),eoe=ew.startTracing,toe=ew.dumpLegend}});function C8(e,t=!0){let r=nw[e.category];return t?r.toLowerCase():r}var I8,L8,k8,iV,D8,w8,aV,tw,oV,tI,R8,sV,cV,lV,uV,dV,fV,_V,pV,mV,hV,gV,yV,vV,bV,O8,EV,TV,SV,xV,N8,P8,AV,CV,IV,LV,kV,M8,DV,wV,RV,OV,NV,PV,nw,rw,MV,FV,GV,BV,F8,UV,VV,jV,HV,WV,zV,JV,KV,qV,G8,B8,U8,XV,YV,$V,QV,ZV,ej,tj,nj,iw,noe=gt({"src/compiler/types.ts"(){"use strict";I8=(e=>(e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.BigIntLiteral=9]="BigIntLiteral",e[e.StringLiteral=10]="StringLiteral",e[e.JsxText=11]="JsxText",e[e.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=13]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=15]="TemplateHead",e[e.TemplateMiddle=16]="TemplateMiddle",e[e.TemplateTail=17]="TemplateTail",e[e.OpenBraceToken=18]="OpenBraceToken",e[e.CloseBraceToken=19]="CloseBraceToken",e[e.OpenParenToken=20]="OpenParenToken",e[e.CloseParenToken=21]="CloseParenToken",e[e.OpenBracketToken=22]="OpenBracketToken",e[e.CloseBracketToken=23]="CloseBracketToken",e[e.DotToken=24]="DotToken",e[e.DotDotDotToken=25]="DotDotDotToken",e[e.SemicolonToken=26]="SemicolonToken",e[e.CommaToken=27]="CommaToken",e[e.QuestionDotToken=28]="QuestionDotToken",e[e.LessThanToken=29]="LessThanToken",e[e.LessThanSlashToken=30]="LessThanSlashToken",e[e.GreaterThanToken=31]="GreaterThanToken",e[e.LessThanEqualsToken=32]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=34]="EqualsEqualsToken",e[e.ExclamationEqualsToken=35]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",e[e.PlusToken=39]="PlusToken",e[e.MinusToken=40]="MinusToken",e[e.AsteriskToken=41]="AsteriskToken",e[e.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",e[e.SlashToken=43]="SlashToken",e[e.PercentToken=44]="PercentToken",e[e.PlusPlusToken=45]="PlusPlusToken",e[e.MinusMinusToken=46]="MinusMinusToken",e[e.LessThanLessThanToken=47]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=50]="AmpersandToken",e[e.BarToken=51]="BarToken",e[e.CaretToken=52]="CaretToken",e[e.ExclamationToken=53]="ExclamationToken",e[e.TildeToken=54]="TildeToken",e[e.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",e[e.BarBarToken=56]="BarBarToken",e[e.QuestionToken=57]="QuestionToken",e[e.ColonToken=58]="ColonToken",e[e.AtToken=59]="AtToken",e[e.QuestionQuestionToken=60]="QuestionQuestionToken",e[e.BacktickToken=61]="BacktickToken",e[e.HashToken=62]="HashToken",e[e.EqualsToken=63]="EqualsToken",e[e.PlusEqualsToken=64]="PlusEqualsToken",e[e.MinusEqualsToken=65]="MinusEqualsToken",e[e.AsteriskEqualsToken=66]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=68]="SlashEqualsToken",e[e.PercentEqualsToken=69]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=73]="AmpersandEqualsToken",e[e.BarEqualsToken=74]="BarEqualsToken",e[e.BarBarEqualsToken=75]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=78]="CaretEqualsToken",e[e.Identifier=79]="Identifier",e[e.PrivateIdentifier=80]="PrivateIdentifier",e[e.BreakKeyword=81]="BreakKeyword",e[e.CaseKeyword=82]="CaseKeyword",e[e.CatchKeyword=83]="CatchKeyword",e[e.ClassKeyword=84]="ClassKeyword",e[e.ConstKeyword=85]="ConstKeyword",e[e.ContinueKeyword=86]="ContinueKeyword",e[e.DebuggerKeyword=87]="DebuggerKeyword",e[e.DefaultKeyword=88]="DefaultKeyword",e[e.DeleteKeyword=89]="DeleteKeyword",e[e.DoKeyword=90]="DoKeyword",e[e.ElseKeyword=91]="ElseKeyword",e[e.EnumKeyword=92]="EnumKeyword",e[e.ExportKeyword=93]="ExportKeyword",e[e.ExtendsKeyword=94]="ExtendsKeyword",e[e.FalseKeyword=95]="FalseKeyword",e[e.FinallyKeyword=96]="FinallyKeyword",e[e.ForKeyword=97]="ForKeyword",e[e.FunctionKeyword=98]="FunctionKeyword",e[e.IfKeyword=99]="IfKeyword",e[e.ImportKeyword=100]="ImportKeyword",e[e.InKeyword=101]="InKeyword",e[e.InstanceOfKeyword=102]="InstanceOfKeyword",e[e.NewKeyword=103]="NewKeyword",e[e.NullKeyword=104]="NullKeyword",e[e.ReturnKeyword=105]="ReturnKeyword",e[e.SuperKeyword=106]="SuperKeyword",e[e.SwitchKeyword=107]="SwitchKeyword",e[e.ThisKeyword=108]="ThisKeyword",e[e.ThrowKeyword=109]="ThrowKeyword",e[e.TrueKeyword=110]="TrueKeyword",e[e.TryKeyword=111]="TryKeyword",e[e.TypeOfKeyword=112]="TypeOfKeyword",e[e.VarKeyword=113]="VarKeyword",e[e.VoidKeyword=114]="VoidKeyword",e[e.WhileKeyword=115]="WhileKeyword",e[e.WithKeyword=116]="WithKeyword",e[e.ImplementsKeyword=117]="ImplementsKeyword",e[e.InterfaceKeyword=118]="InterfaceKeyword",e[e.LetKeyword=119]="LetKeyword",e[e.PackageKeyword=120]="PackageKeyword",e[e.PrivateKeyword=121]="PrivateKeyword",e[e.ProtectedKeyword=122]="ProtectedKeyword",e[e.PublicKeyword=123]="PublicKeyword",e[e.StaticKeyword=124]="StaticKeyword",e[e.YieldKeyword=125]="YieldKeyword",e[e.AbstractKeyword=126]="AbstractKeyword",e[e.AccessorKeyword=127]="AccessorKeyword",e[e.AsKeyword=128]="AsKeyword",e[e.AssertsKeyword=129]="AssertsKeyword",e[e.AssertKeyword=130]="AssertKeyword",e[e.AnyKeyword=131]="AnyKeyword",e[e.AsyncKeyword=132]="AsyncKeyword",e[e.AwaitKeyword=133]="AwaitKeyword",e[e.BooleanKeyword=134]="BooleanKeyword",e[e.ConstructorKeyword=135]="ConstructorKeyword",e[e.DeclareKeyword=136]="DeclareKeyword",e[e.GetKeyword=137]="GetKeyword",e[e.InferKeyword=138]="InferKeyword",e[e.IntrinsicKeyword=139]="IntrinsicKeyword",e[e.IsKeyword=140]="IsKeyword",e[e.KeyOfKeyword=141]="KeyOfKeyword",e[e.ModuleKeyword=142]="ModuleKeyword",e[e.NamespaceKeyword=143]="NamespaceKeyword",e[e.NeverKeyword=144]="NeverKeyword",e[e.OutKeyword=145]="OutKeyword",e[e.ReadonlyKeyword=146]="ReadonlyKeyword",e[e.RequireKeyword=147]="RequireKeyword",e[e.NumberKeyword=148]="NumberKeyword",e[e.ObjectKeyword=149]="ObjectKeyword",e[e.SatisfiesKeyword=150]="SatisfiesKeyword",e[e.SetKeyword=151]="SetKeyword",e[e.StringKeyword=152]="StringKeyword",e[e.SymbolKeyword=153]="SymbolKeyword",e[e.TypeKeyword=154]="TypeKeyword",e[e.UndefinedKeyword=155]="UndefinedKeyword",e[e.UniqueKeyword=156]="UniqueKeyword",e[e.UnknownKeyword=157]="UnknownKeyword",e[e.FromKeyword=158]="FromKeyword",e[e.GlobalKeyword=159]="GlobalKeyword",e[e.BigIntKeyword=160]="BigIntKeyword",e[e.OverrideKeyword=161]="OverrideKeyword",e[e.OfKeyword=162]="OfKeyword",e[e.QualifiedName=163]="QualifiedName",e[e.ComputedPropertyName=164]="ComputedPropertyName",e[e.TypeParameter=165]="TypeParameter",e[e.Parameter=166]="Parameter",e[e.Decorator=167]="Decorator",e[e.PropertySignature=168]="PropertySignature",e[e.PropertyDeclaration=169]="PropertyDeclaration",e[e.MethodSignature=170]="MethodSignature",e[e.MethodDeclaration=171]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=172]="ClassStaticBlockDeclaration",e[e.Constructor=173]="Constructor",e[e.GetAccessor=174]="GetAccessor",e[e.SetAccessor=175]="SetAccessor",e[e.CallSignature=176]="CallSignature",e[e.ConstructSignature=177]="ConstructSignature",e[e.IndexSignature=178]="IndexSignature",e[e.TypePredicate=179]="TypePredicate",e[e.TypeReference=180]="TypeReference",e[e.FunctionType=181]="FunctionType",e[e.ConstructorType=182]="ConstructorType",e[e.TypeQuery=183]="TypeQuery",e[e.TypeLiteral=184]="TypeLiteral",e[e.ArrayType=185]="ArrayType",e[e.TupleType=186]="TupleType",e[e.OptionalType=187]="OptionalType",e[e.RestType=188]="RestType",e[e.UnionType=189]="UnionType",e[e.IntersectionType=190]="IntersectionType",e[e.ConditionalType=191]="ConditionalType",e[e.InferType=192]="InferType",e[e.ParenthesizedType=193]="ParenthesizedType",e[e.ThisType=194]="ThisType",e[e.TypeOperator=195]="TypeOperator",e[e.IndexedAccessType=196]="IndexedAccessType",e[e.MappedType=197]="MappedType",e[e.LiteralType=198]="LiteralType",e[e.NamedTupleMember=199]="NamedTupleMember",e[e.TemplateLiteralType=200]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=201]="TemplateLiteralTypeSpan",e[e.ImportType=202]="ImportType",e[e.ObjectBindingPattern=203]="ObjectBindingPattern",e[e.ArrayBindingPattern=204]="ArrayBindingPattern",e[e.BindingElement=205]="BindingElement",e[e.ArrayLiteralExpression=206]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=207]="ObjectLiteralExpression",e[e.PropertyAccessExpression=208]="PropertyAccessExpression",e[e.ElementAccessExpression=209]="ElementAccessExpression",e[e.CallExpression=210]="CallExpression",e[e.NewExpression=211]="NewExpression",e[e.TaggedTemplateExpression=212]="TaggedTemplateExpression",e[e.TypeAssertionExpression=213]="TypeAssertionExpression",e[e.ParenthesizedExpression=214]="ParenthesizedExpression",e[e.FunctionExpression=215]="FunctionExpression",e[e.ArrowFunction=216]="ArrowFunction",e[e.DeleteExpression=217]="DeleteExpression",e[e.TypeOfExpression=218]="TypeOfExpression",e[e.VoidExpression=219]="VoidExpression",e[e.AwaitExpression=220]="AwaitExpression",e[e.PrefixUnaryExpression=221]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=222]="PostfixUnaryExpression",e[e.BinaryExpression=223]="BinaryExpression",e[e.ConditionalExpression=224]="ConditionalExpression",e[e.TemplateExpression=225]="TemplateExpression",e[e.YieldExpression=226]="YieldExpression",e[e.SpreadElement=227]="SpreadElement",e[e.ClassExpression=228]="ClassExpression",e[e.OmittedExpression=229]="OmittedExpression",e[e.ExpressionWithTypeArguments=230]="ExpressionWithTypeArguments",e[e.AsExpression=231]="AsExpression",e[e.NonNullExpression=232]="NonNullExpression",e[e.MetaProperty=233]="MetaProperty",e[e.SyntheticExpression=234]="SyntheticExpression",e[e.SatisfiesExpression=235]="SatisfiesExpression",e[e.TemplateSpan=236]="TemplateSpan",e[e.SemicolonClassElement=237]="SemicolonClassElement",e[e.Block=238]="Block",e[e.EmptyStatement=239]="EmptyStatement",e[e.VariableStatement=240]="VariableStatement",e[e.ExpressionStatement=241]="ExpressionStatement",e[e.IfStatement=242]="IfStatement",e[e.DoStatement=243]="DoStatement",e[e.WhileStatement=244]="WhileStatement",e[e.ForStatement=245]="ForStatement",e[e.ForInStatement=246]="ForInStatement",e[e.ForOfStatement=247]="ForOfStatement",e[e.ContinueStatement=248]="ContinueStatement",e[e.BreakStatement=249]="BreakStatement",e[e.ReturnStatement=250]="ReturnStatement",e[e.WithStatement=251]="WithStatement",e[e.SwitchStatement=252]="SwitchStatement",e[e.LabeledStatement=253]="LabeledStatement",e[e.ThrowStatement=254]="ThrowStatement",e[e.TryStatement=255]="TryStatement",e[e.DebuggerStatement=256]="DebuggerStatement",e[e.VariableDeclaration=257]="VariableDeclaration",e[e.VariableDeclarationList=258]="VariableDeclarationList",e[e.FunctionDeclaration=259]="FunctionDeclaration",e[e.ClassDeclaration=260]="ClassDeclaration",e[e.InterfaceDeclaration=261]="InterfaceDeclaration",e[e.TypeAliasDeclaration=262]="TypeAliasDeclaration",e[e.EnumDeclaration=263]="EnumDeclaration",e[e.ModuleDeclaration=264]="ModuleDeclaration",e[e.ModuleBlock=265]="ModuleBlock",e[e.CaseBlock=266]="CaseBlock",e[e.NamespaceExportDeclaration=267]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=268]="ImportEqualsDeclaration",e[e.ImportDeclaration=269]="ImportDeclaration",e[e.ImportClause=270]="ImportClause",e[e.NamespaceImport=271]="NamespaceImport",e[e.NamedImports=272]="NamedImports",e[e.ImportSpecifier=273]="ImportSpecifier",e[e.ExportAssignment=274]="ExportAssignment",e[e.ExportDeclaration=275]="ExportDeclaration",e[e.NamedExports=276]="NamedExports",e[e.NamespaceExport=277]="NamespaceExport",e[e.ExportSpecifier=278]="ExportSpecifier",e[e.MissingDeclaration=279]="MissingDeclaration",e[e.ExternalModuleReference=280]="ExternalModuleReference",e[e.JsxElement=281]="JsxElement",e[e.JsxSelfClosingElement=282]="JsxSelfClosingElement",e[e.JsxOpeningElement=283]="JsxOpeningElement",e[e.JsxClosingElement=284]="JsxClosingElement",e[e.JsxFragment=285]="JsxFragment",e[e.JsxOpeningFragment=286]="JsxOpeningFragment",e[e.JsxClosingFragment=287]="JsxClosingFragment",e[e.JsxAttribute=288]="JsxAttribute",e[e.JsxAttributes=289]="JsxAttributes",e[e.JsxSpreadAttribute=290]="JsxSpreadAttribute",e[e.JsxExpression=291]="JsxExpression",e[e.CaseClause=292]="CaseClause",e[e.DefaultClause=293]="DefaultClause",e[e.HeritageClause=294]="HeritageClause",e[e.CatchClause=295]="CatchClause",e[e.AssertClause=296]="AssertClause",e[e.AssertEntry=297]="AssertEntry",e[e.ImportTypeAssertionContainer=298]="ImportTypeAssertionContainer",e[e.PropertyAssignment=299]="PropertyAssignment",e[e.ShorthandPropertyAssignment=300]="ShorthandPropertyAssignment",e[e.SpreadAssignment=301]="SpreadAssignment",e[e.EnumMember=302]="EnumMember",e[e.UnparsedPrologue=303]="UnparsedPrologue",e[e.UnparsedPrepend=304]="UnparsedPrepend",e[e.UnparsedText=305]="UnparsedText",e[e.UnparsedInternalText=306]="UnparsedInternalText",e[e.UnparsedSyntheticReference=307]="UnparsedSyntheticReference",e[e.SourceFile=308]="SourceFile",e[e.Bundle=309]="Bundle",e[e.UnparsedSource=310]="UnparsedSource",e[e.InputFiles=311]="InputFiles",e[e.JSDocTypeExpression=312]="JSDocTypeExpression",e[e.JSDocNameReference=313]="JSDocNameReference",e[e.JSDocMemberName=314]="JSDocMemberName",e[e.JSDocAllType=315]="JSDocAllType",e[e.JSDocUnknownType=316]="JSDocUnknownType",e[e.JSDocNullableType=317]="JSDocNullableType",e[e.JSDocNonNullableType=318]="JSDocNonNullableType",e[e.JSDocOptionalType=319]="JSDocOptionalType",e[e.JSDocFunctionType=320]="JSDocFunctionType",e[e.JSDocVariadicType=321]="JSDocVariadicType",e[e.JSDocNamepathType=322]="JSDocNamepathType",e[e.JSDoc=323]="JSDoc",e[e.JSDocComment=323]="JSDocComment",e[e.JSDocText=324]="JSDocText",e[e.JSDocTypeLiteral=325]="JSDocTypeLiteral",e[e.JSDocSignature=326]="JSDocSignature",e[e.JSDocLink=327]="JSDocLink",e[e.JSDocLinkCode=328]="JSDocLinkCode",e[e.JSDocLinkPlain=329]="JSDocLinkPlain",e[e.JSDocTag=330]="JSDocTag",e[e.JSDocAugmentsTag=331]="JSDocAugmentsTag",e[e.JSDocImplementsTag=332]="JSDocImplementsTag",e[e.JSDocAuthorTag=333]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=334]="JSDocDeprecatedTag",e[e.JSDocClassTag=335]="JSDocClassTag",e[e.JSDocPublicTag=336]="JSDocPublicTag",e[e.JSDocPrivateTag=337]="JSDocPrivateTag",e[e.JSDocProtectedTag=338]="JSDocProtectedTag",e[e.JSDocReadonlyTag=339]="JSDocReadonlyTag",e[e.JSDocOverrideTag=340]="JSDocOverrideTag",e[e.JSDocCallbackTag=341]="JSDocCallbackTag",e[e.JSDocOverloadTag=342]="JSDocOverloadTag",e[e.JSDocEnumTag=343]="JSDocEnumTag",e[e.JSDocParameterTag=344]="JSDocParameterTag",e[e.JSDocReturnTag=345]="JSDocReturnTag",e[e.JSDocThisTag=346]="JSDocThisTag",e[e.JSDocTypeTag=347]="JSDocTypeTag",e[e.JSDocTemplateTag=348]="JSDocTemplateTag",e[e.JSDocTypedefTag=349]="JSDocTypedefTag",e[e.JSDocSeeTag=350]="JSDocSeeTag",e[e.JSDocPropertyTag=351]="JSDocPropertyTag",e[e.JSDocThrowsTag=352]="JSDocThrowsTag",e[e.JSDocSatisfiesTag=353]="JSDocSatisfiesTag",e[e.SyntaxList=354]="SyntaxList",e[e.NotEmittedStatement=355]="NotEmittedStatement",e[e.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",e[e.CommaListExpression=357]="CommaListExpression",e[e.MergeDeclarationMarker=358]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=359]="EndOfDeclarationMarker",e[e.SyntheticReferenceExpression=360]="SyntheticReferenceExpression",e[e.Count=361]="Count",e[e.FirstAssignment=63]="FirstAssignment",e[e.LastAssignment=78]="LastAssignment",e[e.FirstCompoundAssignment=64]="FirstCompoundAssignment",e[e.LastCompoundAssignment=78]="LastCompoundAssignment",e[e.FirstReservedWord=81]="FirstReservedWord",e[e.LastReservedWord=116]="LastReservedWord",e[e.FirstKeyword=81]="FirstKeyword",e[e.LastKeyword=162]="LastKeyword",e[e.FirstFutureReservedWord=117]="FirstFutureReservedWord",e[e.LastFutureReservedWord=125]="LastFutureReservedWord",e[e.FirstTypeNode=179]="FirstTypeNode",e[e.LastTypeNode=202]="LastTypeNode",e[e.FirstPunctuation=18]="FirstPunctuation",e[e.LastPunctuation=78]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=162]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=14]="LastLiteralToken",e[e.FirstTemplateToken=14]="FirstTemplateToken",e[e.LastTemplateToken=17]="LastTemplateToken",e[e.FirstBinaryOperator=29]="FirstBinaryOperator",e[e.LastBinaryOperator=78]="LastBinaryOperator",e[e.FirstStatement=240]="FirstStatement",e[e.LastStatement=256]="LastStatement",e[e.FirstNode=163]="FirstNode",e[e.FirstJSDocNode=312]="FirstJSDocNode",e[e.LastJSDocNode=353]="LastJSDocNode",e[e.FirstJSDocTagNode=330]="FirstJSDocTagNode",e[e.LastJSDocTagNode=353]="LastJSDocTagNode",e[e.FirstContextualKeyword=126]="FirstContextualKeyword",e[e.LastContextualKeyword=162]="LastContextualKeyword",e))(I8||{}),L8=(e=>(e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.NestedNamespace=4]="NestedNamespace",e[e.Synthesized=8]="Synthesized",e[e.Namespace=16]="Namespace",e[e.OptionalChain=32]="OptionalChain",e[e.ExportContext=64]="ExportContext",e[e.ContainsThis=128]="ContainsThis",e[e.HasImplicitReturn=256]="HasImplicitReturn",e[e.HasExplicitReturn=512]="HasExplicitReturn",e[e.GlobalAugmentation=1024]="GlobalAugmentation",e[e.HasAsyncFunctions=2048]="HasAsyncFunctions",e[e.DisallowInContext=4096]="DisallowInContext",e[e.YieldContext=8192]="YieldContext",e[e.DecoratorContext=16384]="DecoratorContext",e[e.AwaitContext=32768]="AwaitContext",e[e.DisallowConditionalTypesContext=65536]="DisallowConditionalTypesContext",e[e.ThisNodeHasError=131072]="ThisNodeHasError",e[e.JavaScriptFile=262144]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=524288]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=1048576]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=2097152]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=4194304]="PossiblyContainsImportMeta",e[e.JSDoc=8388608]="JSDoc",e[e.Ambient=16777216]="Ambient",e[e.InWithStatement=33554432]="InWithStatement",e[e.JsonFile=67108864]="JsonFile",e[e.TypeCached=134217728]="TypeCached",e[e.Deprecated=268435456]="Deprecated",e[e.BlockScoped=3]="BlockScoped",e[e.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",e[e.ContextFlags=50720768]="ContextFlags",e[e.TypeExcludesFlags=40960]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=6291456]="PermanentlySetIncrementalFlags",e[e.IdentifierHasExtendedUnicodeEscape=128]="IdentifierHasExtendedUnicodeEscape",e[e.IdentifierIsInJSDocNamespace=2048]="IdentifierIsInJSDocNamespace",e))(L8||{}),k8=(e=>(e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Accessor=128]="Accessor",e[e.Abstract=256]="Abstract",e[e.Async=512]="Async",e[e.Default=1024]="Default",e[e.Const=2048]="Const",e[e.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",e[e.Deprecated=8192]="Deprecated",e[e.Override=16384]="Override",e[e.In=32768]="In",e[e.Out=65536]="Out",e[e.Decorator=131072]="Decorator",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=28]="AccessibilityModifier",e[e.ParameterPropertyModifier=16476]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=117086]="TypeScriptModifier",e[e.ExportDefault=1025]="ExportDefault",e[e.All=258047]="All",e[e.Modifier=126975]="Modifier",e))(k8||{}),iV=(e=>(e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement",e))(iV||{}),D8=(e=>(e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Reported=4]="Reported",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask",e))(D8||{}),w8=(e=>(e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node",e[e.KindMask=7]="KindMask",e[e.ReservedInNestedScopes=8]="ReservedInNestedScopes",e[e.Optimistic=16]="Optimistic",e[e.FileLevel=32]="FileLevel",e[e.AllowNameSubstitution=64]="AllowNameSubstitution",e))(w8||{}),aV=(e=>(e[e.None=0]="None",e[e.PrecedingLineBreak=1]="PrecedingLineBreak",e[e.PrecedingJSDocComment=2]="PrecedingJSDocComment",e[e.Unterminated=4]="Unterminated",e[e.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",e[e.Scientific=16]="Scientific",e[e.Octal=32]="Octal",e[e.HexSpecifier=64]="HexSpecifier",e[e.BinarySpecifier=128]="BinarySpecifier",e[e.OctalSpecifier=256]="OctalSpecifier",e[e.ContainsSeparator=512]="ContainsSeparator",e[e.UnicodeEscape=1024]="UnicodeEscape",e[e.ContainsInvalidEscape=2048]="ContainsInvalidEscape",e[e.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",e[e.NumericLiteralFlags=1008]="NumericLiteralFlags",e[e.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",e))(aV||{}),tw=(e=>(e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition",e))(tw||{}),oV=(e=>(e[e.ExpectError=0]="ExpectError",e[e.Ignore=1]="Ignore",e))(oV||{}),tI=class{},R8=(e=>(e[e.RootFile=0]="RootFile",e[e.SourceFromProjectReference=1]="SourceFromProjectReference",e[e.OutputFromProjectReference=2]="OutputFromProjectReference",e[e.Import=3]="Import",e[e.ReferenceFile=4]="ReferenceFile",e[e.TypeReferenceDirective=5]="TypeReferenceDirective",e[e.LibFile=6]="LibFile",e[e.LibReferenceDirective=7]="LibReferenceDirective",e[e.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",e))(R8||{}),sV=(e=>(e[e.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",e[e.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",e[e.ResolutionDiagnostics=2]="ResolutionDiagnostics",e))(sV||{}),cV=(e=>(e[e.Js=0]="Js",e[e.Dts=1]="Dts",e))(cV||{}),lV=(e=>(e[e.Not=0]="Not",e[e.SafeModules=1]="SafeModules",e[e.Completely=2]="Completely",e))(lV||{}),uV=(e=>(e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",e[e.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",e))(uV||{}),dV=(e=>(e[e.Ok=0]="Ok",e[e.NeedsOverride=1]="NeedsOverride",e[e.HasInvalidOverride=2]="HasInvalidOverride",e))(dV||{}),fV=(e=>(e[e.None=0]="None",e[e.Literal=1]="Literal",e[e.Subtype=2]="Subtype",e))(fV||{}),_V=(e=>(e[e.None=0]="None",e[e.Signature=1]="Signature",e[e.NoConstraints=2]="NoConstraints",e[e.Completions=4]="Completions",e[e.SkipBindingPatterns=8]="SkipBindingPatterns",e))(_V||{}),pV=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",e[e.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",e[e.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",e[e.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",e[e.AllowEmptyTuple=524288]="AllowEmptyTuple",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",e[e.WriteComputedProps=1073741824]="WriteComputedProps",e[e.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",e[e.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",e[e.IgnoreErrors=70221824]="IgnoreErrors",e[e.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.InInitialEntityName=16777216]="InInitialEntityName",e))(pV||{}),mV=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AddUndefined=131072]="AddUndefined",e[e.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",e[e.InArrayType=524288]="InArrayType",e[e.InElementType=2097152]="InElementType",e[e.InFirstTypeArgument=4194304]="InFirstTypeArgument",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.NodeBuilderFlagsMask=848330091]="NodeBuilderFlagsMask",e))(mV||{}),hV=(e=>(e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",e[e.AllowAnyNodeKind=4]="AllowAnyNodeKind",e[e.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",e[e.WriteComputedProps=16]="WriteComputedProps",e[e.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",e))(hV||{}),gV=(e=>(e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed",e))(gV||{}),yV=(e=>(e[e.UnionOrIntersection=0]="UnionOrIntersection",e[e.Spread=1]="Spread",e))(yV||{}),vV=(e=>(e[e.This=0]="This",e[e.Identifier=1]="Identifier",e[e.AssertsThis=2]="AssertsThis",e[e.AssertsIdentifier=3]="AssertsIdentifier",e))(vV||{}),bV=(e=>(e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.BigIntLikeType=4]="BigIntLikeType",e[e.StringLikeType=5]="StringLikeType",e[e.BooleanType=6]="BooleanType",e[e.ArrayLikeType=7]="ArrayLikeType",e[e.ESSymbolType=8]="ESSymbolType",e[e.Promise=9]="Promise",e[e.TypeWithCallSignature=10]="TypeWithCallSignature",e[e.ObjectType=11]="ObjectType",e))(bV||{}),O8=(e=>(e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=67108863]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.AccessorExcludes=13247]="AccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer",e))(O8||{}),EV=(e=>(e[e.Numeric=0]="Numeric",e[e.Literal=1]="Literal",e))(EV||{}),TV=(e=>(e[e.None=0]="None",e[e.Instantiated=1]="Instantiated",e[e.SyntheticProperty=2]="SyntheticProperty",e[e.SyntheticMethod=4]="SyntheticMethod",e[e.Readonly=8]="Readonly",e[e.ReadPartial=16]="ReadPartial",e[e.WritePartial=32]="WritePartial",e[e.HasNonUniformType=64]="HasNonUniformType",e[e.HasLiteralType=128]="HasLiteralType",e[e.ContainsPublic=256]="ContainsPublic",e[e.ContainsProtected=512]="ContainsProtected",e[e.ContainsPrivate=1024]="ContainsPrivate",e[e.ContainsStatic=2048]="ContainsStatic",e[e.Late=4096]="Late",e[e.ReverseMapped=8192]="ReverseMapped",e[e.OptionalParameter=16384]="OptionalParameter",e[e.RestParameter=32768]="RestParameter",e[e.DeferredType=65536]="DeferredType",e[e.HasNeverType=131072]="HasNeverType",e[e.Mapped=262144]="Mapped",e[e.StripOptional=524288]="StripOptional",e[e.Unresolved=1048576]="Unresolved",e[e.Synthetic=6]="Synthetic",e[e.Discriminant=192]="Discriminant",e[e.Partial=48]="Partial",e))(TV||{}),SV=(e=>(e.Call="__call",e.Constructor="__constructor",e.New="__new",e.Index="__index",e.ExportStar="__export",e.Global="__global",e.Missing="__missing",e.Type="__type",e.Object="__object",e.JSXAttributes="__jsxAttributes",e.Class="__class",e.Function="__function",e.Computed="__computed",e.Resolving="__resolving__",e.ExportEquals="export=",e.Default="default",e.This="this",e))(SV||{}),xV=(e=>(e[e.None=0]="None",e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=16]="SuperInstance",e[e.SuperStatic=32]="SuperStatic",e[e.ContextChecked=64]="ContextChecked",e[e.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",e[e.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",e[e.CaptureArguments=512]="CaptureArguments",e[e.EnumValuesComputed=1024]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",e[e.ClassWithBodyScopedClassBinding=65536]="ClassWithBodyScopedClassBinding",e[e.BodyScopedClassBinding=131072]="BodyScopedClassBinding",e[e.NeedsLoopOutParameter=262144]="NeedsLoopOutParameter",e[e.AssignmentsMarked=524288]="AssignmentsMarked",e[e.ClassWithConstructorReference=1048576]="ClassWithConstructorReference",e[e.ConstructorReferenceInClass=2097152]="ConstructorReferenceInClass",e[e.ContainsClassWithPrivateIdentifiers=4194304]="ContainsClassWithPrivateIdentifiers",e[e.ContainsSuperPropertyInStaticInitializer=8388608]="ContainsSuperPropertyInStaticInitializer",e[e.InCheckIdentifier=16777216]="InCheckIdentifier",e))(xV||{}),N8=(e=>(e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109472]="Unit",e[e.Freshable=2976]="Freshable",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.Primitive=134348796]="Primitive",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Singleton=67358815]="Singleton",e[e.Narrowable=536624127]="Narrowable",e[e.IncludesMask=205258751]="IncludesMask",e[e.IncludesMissingType=262144]="IncludesMissingType",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject",e[e.IncludesInstantiable=33554432]="IncludesInstantiable",e[e.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",e))(N8||{}),P8=(e=>(e[e.None=0]="None",e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ReverseMapped=1024]="ReverseMapped",e[e.JsxAttributes=2048]="JsxAttributes",e[e.JSLiteral=4096]="JSLiteral",e[e.FreshLiteral=8192]="FreshLiteral",e[e.ArrayLiteral=16384]="ArrayLiteral",e[e.PrimitiveUnion=32768]="PrimitiveUnion",e[e.ContainsWideningType=65536]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=262144]="NonInferrableType",e[e.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=196608]="RequiresWidening",e[e.PropagatingFlags=458752]="PropagatingFlags",e[e.ObjectTypeKindMask=1343]="ObjectTypeKindMask",e[e.ContainsSpread=2097152]="ContainsSpread",e[e.ObjectRestType=4194304]="ObjectRestType",e[e.InstantiationExpressionType=8388608]="InstantiationExpressionType",e[e.IsClassInstanceClone=16777216]="IsClassInstanceClone",e[e.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",e[e.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",e[e.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",e[e.IsGenericObjectType=4194304]="IsGenericObjectType",e[e.IsGenericIndexType=8388608]="IsGenericIndexType",e[e.IsGenericType=12582912]="IsGenericType",e[e.ContainsIntersections=16777216]="ContainsIntersections",e[e.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",e[e.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",e[e.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=33554432]="IsNeverIntersection",e))(P8||{}),AV=(e=>(e[e.Invariant=0]="Invariant",e[e.Covariant=1]="Covariant",e[e.Contravariant=2]="Contravariant",e[e.Bivariant=3]="Bivariant",e[e.Independent=4]="Independent",e[e.VarianceMask=7]="VarianceMask",e[e.Unmeasurable=8]="Unmeasurable",e[e.Unreliable=16]="Unreliable",e[e.AllowsStructuralFallback=24]="AllowsStructuralFallback",e))(AV||{}),CV=(e=>(e[e.Required=1]="Required",e[e.Optional=2]="Optional",e[e.Rest=4]="Rest",e[e.Variadic=8]="Variadic",e[e.Fixed=3]="Fixed",e[e.Variable=12]="Variable",e[e.NonRequired=14]="NonRequired",e[e.NonRest=11]="NonRest",e))(CV||{}),IV=(e=>(e[e.None=0]="None",e[e.IncludeUndefined=1]="IncludeUndefined",e[e.NoIndexSignatures=2]="NoIndexSignatures",e[e.Writing=4]="Writing",e[e.CacheSymbol=8]="CacheSymbol",e[e.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",e[e.ExpressionPosition=32]="ExpressionPosition",e[e.ReportDeprecated=64]="ReportDeprecated",e[e.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",e[e.Contextual=256]="Contextual",e[e.Persistent=1]="Persistent",e))(IV||{}),LV=(e=>(e[e.Component=0]="Component",e[e.Function=1]="Function",e[e.Mixed=2]="Mixed",e))(LV||{}),kV=(e=>(e[e.Call=0]="Call",e[e.Construct=1]="Construct",e))(kV||{}),M8=(e=>(e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.Abstract=4]="Abstract",e[e.IsInnerCallChain=8]="IsInnerCallChain",e[e.IsOuterCallChain=16]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",e[e.PropagatingFlags=39]="PropagatingFlags",e[e.CallChainFlags=24]="CallChainFlags",e))(M8||{}),DV=(e=>(e[e.String=0]="String",e[e.Number=1]="Number",e))(DV||{}),wV=(e=>(e[e.Simple=0]="Simple",e[e.Array=1]="Array",e[e.Deferred=2]="Deferred",e[e.Function=3]="Function",e[e.Composite=4]="Composite",e[e.Merged=5]="Merged",e))(wV||{}),RV=(e=>(e[e.None=0]="None",e[e.NakedTypeVariable=1]="NakedTypeVariable",e[e.SpeculativeTuple=2]="SpeculativeTuple",e[e.SubstituteSource=4]="SubstituteSource",e[e.HomomorphicMappedType=8]="HomomorphicMappedType",e[e.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",e[e.MappedTypeConstraint=32]="MappedTypeConstraint",e[e.ContravariantConditional=64]="ContravariantConditional",e[e.ReturnType=128]="ReturnType",e[e.LiteralKeyof=256]="LiteralKeyof",e[e.NoConstraints=512]="NoConstraints",e[e.AlwaysStrict=1024]="AlwaysStrict",e[e.MaxValue=2048]="MaxValue",e[e.PriorityImpliesCombination=416]="PriorityImpliesCombination",e[e.Circularity=-1]="Circularity",e))(RV||{}),OV=(e=>(e[e.None=0]="None",e[e.NoDefault=1]="NoDefault",e[e.AnyDefault=2]="AnyDefault",e[e.SkippedGenericFunction=4]="SkippedGenericFunction",e))(OV||{}),NV=(e=>(e[e.False=0]="False",e[e.Unknown=1]="Unknown",e[e.Maybe=3]="Maybe",e[e.True=-1]="True",e))(NV||{}),PV=(e=>(e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty",e[e.Property=5]="Property",e[e.Prototype=6]="Prototype",e[e.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",e[e.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",e[e.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",e))(PV||{}),nw=(e=>(e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message",e))(nw||{}),rw=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e[e.Node10=2]="Node10",e[e.Node16=3]="Node16",e[e.NodeNext=99]="NodeNext",e[e.Bundler=100]="Bundler",e))(rw||{}),MV=(e=>(e[e.Legacy=1]="Legacy",e[e.Auto=2]="Auto",e[e.Force=3]="Force",e))(MV||{}),FV=(e=>(e[e.FixedPollingInterval=0]="FixedPollingInterval",e[e.PriorityPollingInterval=1]="PriorityPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e[e.UseFsEvents=4]="UseFsEvents",e[e.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",e))(FV||{}),GV=(e=>(e[e.UseFsEvents=0]="UseFsEvents",e[e.FixedPollingInterval=1]="FixedPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e))(GV||{}),BV=(e=>(e[e.FixedInterval=0]="FixedInterval",e[e.PriorityInterval=1]="PriorityInterval",e[e.DynamicPriority=2]="DynamicPriority",e[e.FixedChunkSize=3]="FixedChunkSize",e))(BV||{}),F8=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ES2020=6]="ES2020",e[e.ES2022=7]="ES2022",e[e.ESNext=99]="ESNext",e[e.Node16=100]="Node16",e[e.NodeNext=199]="NodeNext",e))(F8||{}),UV=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(UV||{}),VV=(e=>(e[e.Remove=0]="Remove",e[e.Preserve=1]="Preserve",e[e.Error=2]="Error",e))(VV||{}),jV=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(jV||{}),HV=(e=>(e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred",e))(HV||{}),WV=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ES2021=8]="ES2021",e[e.ES2022=9]="ES2022",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(WV||{}),zV=(e=>(e[e.Standard=0]="Standard",e[e.JSX=1]="JSX",e))(zV||{}),JV=(e=>(e[e.None=0]="None",e[e.Recursive=1]="Recursive",e))(JV||{}),KV=(e=>(e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab",e))(KV||{}),qV=(e=>(e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo",e.Mjs=".mjs",e.Mts=".mts",e.Dmts=".d.mts",e.Cjs=".cjs",e.Cts=".cts",e.Dcts=".d.cts",e))(qV||{}),G8=(e=>(e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2022=8]="ContainsES2022",e[e.ContainsES2021=16]="ContainsES2021",e[e.ContainsES2020=32]="ContainsES2020",e[e.ContainsES2019=64]="ContainsES2019",e[e.ContainsES2018=128]="ContainsES2018",e[e.ContainsES2017=256]="ContainsES2017",e[e.ContainsES2016=512]="ContainsES2016",e[e.ContainsES2015=1024]="ContainsES2015",e[e.ContainsGenerator=2048]="ContainsGenerator",e[e.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsRestOrSpread=32768]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=524288]="ContainsBindingPattern",e[e.ContainsYield=1048576]="ContainsYield",e[e.ContainsAwait=2097152]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=8388608]="ContainsDynamicImport",e[e.ContainsClassFields=16777216]="ContainsClassFields",e[e.ContainsDecorators=33554432]="ContainsDecorators",e[e.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",e[e.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",e[e.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",e[e.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",e[e.HasComputedFlags=-2147483648]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2022=8]="AssertES2022",e[e.AssertES2021=16]="AssertES2021",e[e.AssertES2020=32]="AssertES2020",e[e.AssertES2019=64]="AssertES2019",e[e.AssertES2018=128]="AssertES2018",e[e.AssertES2017=256]="AssertES2017",e[e.AssertES2016=512]="AssertES2016",e[e.AssertES2015=1024]="AssertES2015",e[e.AssertGenerator=2048]="AssertGenerator",e[e.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",e[e.NodeExcludes=-2147483648]="NodeExcludes",e[e.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",e[e.FunctionExcludes=-1937940480]="FunctionExcludes",e[e.ConstructorExcludes=-1937948672]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",e[e.PropertyExcludes=-2013249536]="PropertyExcludes",e[e.ClassExcludes=-2147344384]="ClassExcludes",e[e.ModuleExcludes=-1941676032]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",e[e.ParameterExcludes=-2147483648]="ParameterExcludes",e[e.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",e[e.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",e[e.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",e[e.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",e))(G8||{}),B8=(e=>(e[e.TabStop=0]="TabStop",e[e.Placeholder=1]="Placeholder",e[e.Choice=2]="Choice",e[e.Variable=3]="Variable",e))(B8||{}),U8=(e=>(e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.MultiLine=2]="MultiLine",e[e.AdviseOnEmitNode=4]="AdviseOnEmitNode",e[e.NoSubstitution=8]="NoSubstitution",e[e.CapturesThis=16]="CapturesThis",e[e.NoLeadingSourceMap=32]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=64]="NoTrailingSourceMap",e[e.NoSourceMap=96]="NoSourceMap",e[e.NoNestedSourceMaps=128]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=768]="NoTokenSourceMaps",e[e.NoLeadingComments=1024]="NoLeadingComments",e[e.NoTrailingComments=2048]="NoTrailingComments",e[e.NoComments=3072]="NoComments",e[e.NoNestedComments=4096]="NoNestedComments",e[e.HelperName=8192]="HelperName",e[e.ExportName=16384]="ExportName",e[e.LocalName=32768]="LocalName",e[e.InternalName=65536]="InternalName",e[e.Indented=131072]="Indented",e[e.NoIndentation=262144]="NoIndentation",e[e.AsyncFunctionBody=524288]="AsyncFunctionBody",e[e.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",e[e.CustomPrologue=2097152]="CustomPrologue",e[e.NoHoisting=4194304]="NoHoisting",e[e.HasEndOfDeclarationMarker=8388608]="HasEndOfDeclarationMarker",e[e.Iterator=16777216]="Iterator",e[e.NoAsciiEscaping=33554432]="NoAsciiEscaping",e))(U8||{}),XV=(e=>(e[e.None=0]="None",e[e.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",e[e.NeverApplyImportHelper=2]="NeverApplyImportHelper",e[e.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",e[e.Immutable=8]="Immutable",e[e.IndirectCall=16]="IndirectCall",e[e.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",e))(XV||{}),YV=(e=>(e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.Values=256]="Values",e[e.Read=512]="Read",e[e.SpreadArray=1024]="SpreadArray",e[e.Await=2048]="Await",e[e.AsyncGenerator=4096]="AsyncGenerator",e[e.AsyncDelegator=8192]="AsyncDelegator",e[e.AsyncValues=16384]="AsyncValues",e[e.ExportStar=32768]="ExportStar",e[e.ImportStar=65536]="ImportStar",e[e.ImportDefault=131072]="ImportDefault",e[e.MakeTemplateObject=262144]="MakeTemplateObject",e[e.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",e[e.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",e[e.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",e[e.CreateBinding=4194304]="CreateBinding",e[e.SetFunctionName=8388608]="SetFunctionName",e[e.PropKey=16777216]="PropKey",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=16777216]="LastEmitHelper",e[e.ForOfIncludes=256]="ForOfIncludes",e[e.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",e[e.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",e[e.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",e[e.SpreadIncludes=1536]="SpreadIncludes",e))(YV||{}),$V=(e=>(e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.MappedTypeParameter=3]="MappedTypeParameter",e[e.Unspecified=4]="Unspecified",e[e.EmbeddedStatement=5]="EmbeddedStatement",e[e.JsxAttributeValue=6]="JsxAttributeValue",e))($V||{}),QV=(e=>(e[e.Parentheses=1]="Parentheses",e[e.TypeAssertions=2]="TypeAssertions",e[e.NonNullAssertions=4]="NonNullAssertions",e[e.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",e[e.Assertions=6]="Assertions",e[e.All=15]="All",e[e.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",e))(QV||{}),ZV=(e=>(e[e.None=0]="None",e[e.InParameters=1]="InParameters",e[e.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",e))(ZV||{}),ej=(e=>(e.Prologue="prologue",e.EmitHelpers="emitHelpers",e.NoDefaultLib="no-default-lib",e.Reference="reference",e.Type="type",e.TypeResolutionModeRequire="type-require",e.TypeResolutionModeImport="type-import",e.Lib="lib",e.Prepend="prepend",e.Text="text",e.Internal="internal",e))(ej||{}),tj=(e=>(e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.AsteriskDelimited=32]="AsteriskDelimited",e[e.DelimitersMask=60]="DelimitersMask",e[e.AllowTrailingComma=64]="AllowTrailingComma",e[e.Indented=128]="Indented",e[e.SpaceBetweenBraces=256]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",e[e.Braces=1024]="Braces",e[e.Parenthesis=2048]="Parenthesis",e[e.AngleBrackets=4096]="AngleBrackets",e[e.SquareBrackets=8192]="SquareBrackets",e[e.BracketsMask=15360]="BracketsMask",e[e.OptionalIfUndefined=16384]="OptionalIfUndefined",e[e.OptionalIfEmpty=32768]="OptionalIfEmpty",e[e.Optional=49152]="Optional",e[e.PreferNewLine=65536]="PreferNewLine",e[e.NoTrailingNewLine=131072]="NoTrailingNewLine",e[e.NoInterveningComments=262144]="NoInterveningComments",e[e.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",e[e.SingleElement=1048576]="SingleElement",e[e.SpaceAfterList=2097152]="SpaceAfterList",e[e.Modifiers=2359808]="Modifiers",e[e.HeritageClauses=512]="HeritageClauses",e[e.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",e[e.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",e[e.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",e[e.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",e[e.UnionTypeConstituents=516]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",e[e.ImportClauseEntries=526226]="ImportClauseEntries",e[e.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",e[e.CommaListElements=528]="CommaListElements",e[e.CallExpressionArguments=2576]="CallExpressionArguments",e[e.NewExpressionArguments=18960]="NewExpressionArguments",e[e.TemplateExpressionSpans=262144]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=768]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=129]="MultiLineBlockStatements",e[e.VariableDeclarationList=528]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=0]="ClassHeritageClauses",e[e.ClassMembers=129]="ClassMembers",e[e.InterfaceMembers=129]="InterfaceMembers",e[e.EnumMembers=145]="EnumMembers",e[e.CaseBlockClauses=129]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",e[e.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",e[e.JsxElementAttributes=262656]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=528]="HeritageClauseTypes",e[e.SourceFileStatements=131073]="SourceFileStatements",e[e.Decorators=2146305]="Decorators",e[e.TypeArguments=53776]="TypeArguments",e[e.TypeParameters=53776]="TypeParameters",e[e.Parameters=2576]="Parameters",e[e.IndexSignatureParameters=8848]="IndexSignatureParameters",e[e.JSDocComment=33]="JSDocComment",e))(tj||{}),nj=(e=>(e[e.None=0]="None",e[e.TripleSlashXML=1]="TripleSlashXML",e[e.SingleLine=2]="SingleLine",e[e.MultiLine=4]="MultiLine",e[e.All=7]="All",e[e.Default=7]="Default",e))(nj||{}),iw={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}});function aw(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r);return t.toString()}function dDe(){Error.stackTraceLimit<100&&(Error.stackTraceLimit=100)}function $1(e,t){return e.getModifiedTime(t)||Eh}function rj(e){return{250:e.Low,500:e.Medium,2e3:e.High}}function fDe(e){if(!e.getEnvironmentVariable)return;let t=o("TSC_WATCH_POLLINGINTERVAL",V8);cw=s("TSC_WATCH_POLLINGCHUNKSIZE",sw)||cw,lw=s("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS",sw)||lw;function r(l,f){return e.getEnvironmentVariable(`${l}_${f.toUpperCase()}`)}function i(l){let f;return d("Low"),d("Medium"),d("High"),f;function d(g){let m=r(l,g);m&&((f||(f={}))[g]=Number(m))}}function o(l,f){let d=i(l);if(d)return g("Low"),g("Medium"),g("High"),!0;return!1;function g(m){f[m]=d[m]||f[m]}}function s(l,f){let d=i(l);return(t||d)&&rj(d?{...f,...d}:f)}}function roe(e,t,r,i,o){let s=r;for(let f=t.length;i&&f;l(),f--){let d=t[r];if(d){if(d.isClosed){t[r]=void 0;continue}}else continue;i--;let g=hDe(d,$1(e,d.fileName));if(d.isClosed){t[r]=void 0;continue}o?.(d,r,g),t[r]&&(s<r&&(t[s]=d,t[r]=void 0),s++)}return r;function l(){r++,r===t.length&&(s<r&&(t.length=s),r=0,s=0)}}function _De(e){let t=[],r=[],i=f(250),o=f(500),s=f(2e3);return l;function l(C,P,F){let B={fileName:C,callback:P,unchangedPolls:0,mtime:$1(e,C)};return t.push(B),S(B,F),{close:()=>{B.isClosed=!0,YD(t,B)}}}function f(C){let P=[];return P.pollingInterval=C,P.pollIndex=0,P.pollScheduled=!1,P}function d(C){C.pollIndex=m(C,C.pollingInterval,C.pollIndex,cw[C.pollingInterval]),C.length?w(C.pollingInterval):(L.assert(C.pollIndex===0),C.pollScheduled=!1)}function g(C){m(r,250,0,r.length),d(C),!C.pollScheduled&&r.length&&w(250)}function m(C,P,F,B){return roe(e,C,F,B,q);function q(W,Y,R){R?(W.unchangedPolls=0,C!==r&&(C[Y]=void 0,x(W))):W.unchangedPolls!==lw[P]?W.unchangedPolls++:C===r?(W.unchangedPolls=1,C[Y]=void 0,S(W,250)):P!==2e3&&(W.unchangedPolls++,C[Y]=void 0,S(W,P===250?500:2e3))}}function v(C){switch(C){case 250:return i;case 500:return o;case 2e3:return s}}function S(C,P){v(P).push(C),A(P)}function x(C){r.push(C),A(250)}function A(C){v(C).pollScheduled||w(C)}function w(C){v(C).pollScheduled=e.setTimeout(C===250?g:d,C,v(C))}}function pDe(e,t){let r=Nf(),i=new Map,o=Dl(t);return s;function s(f,d,g,m){let v=o(f);r.add(v,d);let S=ni(v)||".",x=i.get(S)||l(ni(f)||".",S,m);return x.referenceCount++,{close:()=>{x.referenceCount===1?(x.close(),i.delete(S)):x.referenceCount--,r.remove(v,d)}}}function l(f,d,g){let m=e(f,1,(v,S,x)=>{if(!Ta(S))return;let A=_a(S,f),w=A&&r.get(o(A));if(w)for(let C of w)C(A,1,x)},!1,500,g);return m.referenceCount=0,i.set(d,m),m}}function mDe(e){let t=[],r=0,i;return o;function o(f,d){let g={fileName:f,callback:d,mtime:$1(e,f)};return t.push(g),l(),{close:()=>{g.isClosed=!0,YD(t,g)}}}function s(){i=void 0,r=roe(e,t,r,cw[250]),l()}function l(){!t.length||i||(i=e.setTimeout(s,2e3))}}function ioe(e,t,r,i,o){let l=Dl(t)(r),f=e.get(l);return f?f.callbacks.push(i):e.set(l,{watcher:o((d,g,m)=>{var v;return(v=e.get(l))==null?void 0:v.callbacks.slice().forEach(S=>S(d,g,m))}),callbacks:[i]}),{close:()=>{let d=e.get(l);d&&(!m8(d.callbacks,i)||d.callbacks.length||(e.delete(l),_m(d)))}}}function hDe(e,t){let r=e.mtime.getTime(),i=t.getTime();return r!==i?(e.mtime=t,e.callback(e.fileName,aoe(r,i),t),!0):!1}function aoe(e,t){return e===0?0:t===0?2:1}function ow(e){return aj(e)}function ooe(e){aj=e}function gDe({watchDirectory:e,useCaseSensitiveFileNames:t,getCurrentDirectory:r,getAccessibleSortedChildDirectories:i,fileSystemEntryExists:o,realpath:s,setTimeout:l,clearTimeout:f}){let d=new Map,g=Nf(),m=new Map,v,S=p8(!t),x=Dl(t);return(R,ie,$,fe)=>$?A(R,fe,ie):e(R,ie,$,fe);function A(R,ie,$){let fe=x(R),Z=d.get(fe);Z?Z.refCount++:(Z={watcher:e(R,re=>{W(re,ie)||(ie?.synchronousWatchDirectory?(w(fe,re),q(R,fe,ie)):C(R,fe,re,ie))},!1,ie),refCount:1,childWatches:Je},d.set(fe,Z),q(R,fe,ie));let U=$&&{dirName:R,callback:$};return U&&g.add(fe,U),{dirName:R,close:()=>{let re=L.checkDefined(d.get(fe));U&&g.remove(fe,U),re.refCount--,!re.refCount&&(d.delete(fe),_m(re),re.childWatches.forEach(am))}}}function w(R,ie,$){let fe,Z;Ta(ie)?fe=ie:Z=ie,g.forEach((U,re)=>{if(!(Z&&Z.get(re)===!0)&&(re===R||na(R,re)&&R[re.length]===_s))if(Z)if($){let le=Z.get(re);le?le.push(...$):Z.set(re,$.slice())}else Z.set(re,!0);else U.forEach(({callback:le})=>le(fe))})}function C(R,ie,$,fe){let Z=d.get(ie);if(Z&&o(R,1)){P(R,ie,$,fe);return}w(ie,$),B(Z)}function P(R,ie,$,fe){let Z=m.get(ie);Z?Z.fileNames.push($):m.set(ie,{dirName:R,options:fe,fileNames:[$]}),v&&(f(v),v=void 0),v=l(F,1e3)}function F(){v=void 0,ow(`sysLog:: onTimerToUpdateChildWatches:: ${m.size}`);let R=Ms(),ie=new Map;for(;!v&&m.size;){let fe=m.entries().next();L.assert(!fe.done);let{value:[Z,{dirName:U,options:re,fileNames:le}]}=fe;m.delete(Z);let _e=q(U,Z,re);w(Z,ie,_e?void 0:le)}ow(`sysLog:: invokingWatchers:: Elapsed:: ${Ms()-R}ms:: ${m.size}`),g.forEach((fe,Z)=>{let U=ie.get(Z);U&&fe.forEach(({callback:re,dirName:le})=>{ba(U)?U.forEach(re):re(le)})});let $=Ms()-R;ow(`sysLog:: Elapsed:: ${$}ms:: onTimerToUpdateChildWatches:: ${m.size} ${v}`)}function B(R){if(!R)return;let ie=R.childWatches;R.childWatches=Je;for(let $ of ie)$.close(),B(d.get(x($.dirName)))}function q(R,ie,$){let fe=d.get(ie);if(!fe)return!1;let Z,U=wae(o(R,1)?Zi(i(R),_e=>{let ge=_a(_e,R);return!W(ge,$)&&S(ge,So(s(ge)))===0?ge:void 0}):Je,fe.childWatches,(_e,ge)=>S(_e,ge.dirName),re,am,le);return fe.childWatches=Z||Je,U;function re(_e){let ge=A(_e,$);le(ge)}function le(_e){(Z||(Z=[])).push(_e)}}function W(R,ie){return vt(uw,$=>Y(R,$))||soe(R,ie,t,r)}function Y(R,ie){return jl(R,ie)?!0:t?!1:jl(x(R),ie)}}function yDe(e){return(t,r,i)=>e(r===1?"change":"rename","",i)}function vDe(e,t,r){return(i,o,s)=>{i==="rename"?(s||(s=r(e)||Eh),t(e,s!==Eh?0:2,s)):t(e,1,s)}}function soe(e,t,r,i){return(t?.excludeDirectories||t?.excludeFiles)&&(G3(e,t?.excludeFiles,r,i())||G3(e,t?.excludeDirectories,r,i()))}function coe(e,t,r,i,o){return(s,l)=>{if(s==="rename"){let f=l?So(vi(e,l)):e;(!l||!soe(f,r,i,o))&&t(f)}}}function loe({pollingWatchFileWorker:e,getModifiedTime:t,setTimeout:r,clearTimeout:i,fsWatchWorker:o,fileSystemEntryExists:s,useCaseSensitiveFileNames:l,getCurrentDirectory:f,fsSupportsRecursiveFsWatch:d,getAccessibleSortedChildDirectories:g,realpath:m,tscWatchFile:v,useNonPollingWatchers:S,tscWatchDirectory:x,inodeWatching:A,sysLog:w}){let C=new Map,P=new Map,F=new Map,B,q,W,Y,R=!1;return{watchFile:ie,watchDirectory:re};function ie(we,ke,Pe,Ce){Ce=Z(Ce,S);let Ie=L.checkDefined(Ce.watchFile);switch(Ie){case 0:return ge(we,ke,250,void 0);case 1:return ge(we,ke,Pe,void 0);case 2:return $()(we,ke,Pe,void 0);case 3:return fe()(we,ke,void 0,void 0);case 4:return X(we,0,vDe(we,ke,t),!1,Pe,_N(Ce));case 5:return W||(W=pDe(X,l)),W(we,ke,Pe,_N(Ce));default:L.assertNever(Ie)}}function $(){return B||(B=_De({getModifiedTime:t,setTimeout:r}))}function fe(){return q||(q=mDe({getModifiedTime:t,setTimeout:r}))}function Z(we,ke){if(we&&we.watchFile!==void 0)return we;switch(v){case"PriorityPollingInterval":return{watchFile:1};case"DynamicPriorityPolling":return{watchFile:2};case"UseFsEvents":return U(4,1,we);case"UseFsEventsWithFallbackDynamicPolling":return U(4,2,we);case"UseFsEventsOnParentDirectory":ke=!0;default:return ke?U(5,1,we):{watchFile:4}}}function U(we,ke,Pe){let Ce=Pe?.fallbackPolling;return{watchFile:we,fallbackPolling:Ce===void 0?ke:Ce}}function re(we,ke,Pe,Ce){return d?X(we,1,coe(we,ke,Ce,l,f),Pe,500,_N(Ce)):(Y||(Y=gDe({useCaseSensitiveFileNames:l,getCurrentDirectory:f,fileSystemEntryExists:s,getAccessibleSortedChildDirectories:g,watchDirectory:le,realpath:m,setTimeout:r,clearTimeout:i})),Y(we,ke,Pe,Ce))}function le(we,ke,Pe,Ce){L.assert(!Pe);let Ie=_e(Ce),Be=L.checkDefined(Ie.watchDirectory);switch(Be){case 1:return ge(we,()=>ke(we),500,void 0);case 2:return $()(we,()=>ke(we),500,void 0);case 3:return fe()(we,()=>ke(we),void 0,void 0);case 0:return X(we,1,coe(we,ke,Ce,l,f),Pe,500,_N(Ie));default:L.assertNever(Be)}}function _e(we){if(we&&we.watchDirectory!==void 0)return we;switch(x){case"RecursiveDirectoryUsingFsWatchFile":return{watchDirectory:1};case"RecursiveDirectoryUsingDynamicPriorityPolling":return{watchDirectory:2};default:let ke=we?.fallbackPolling;return{watchDirectory:0,fallbackPolling:ke!==void 0?ke:void 0}}}function ge(we,ke,Pe,Ce){return ioe(C,l,we,ke,Ie=>e(we,Ie,Pe,Ce))}function X(we,ke,Pe,Ce,Ie,Be){return ioe(Ce?F:P,l,we,Pe,Ne=>Ve(we,ke,Ne,Ce,Ie,Be))}function Ve(we,ke,Pe,Ce,Ie,Be){let Ne,Le;A&&(Ne=we.substring(we.lastIndexOf(_s)),Le=Ne.slice(_s.length));let Ye=s(we,ke)?ct():qe();return{close:()=>{Ye&&(Ye.close(),Ye=void 0)}};function _t(zt){Ye&&(w(`sysLog:: ${we}:: Changing watcher to ${zt===ct?"Present":"Missing"}FileSystemEntryWatcher`),Ye.close(),Ye=zt())}function ct(){if(R)return w(`sysLog:: ${we}:: Defaulting to watchFile`),We();try{let zt=o(we,Ce,A?Rt:Pe);return zt.on("error",()=>{Pe("rename",""),_t(qe)}),zt}catch(zt){return R||(R=zt.code==="ENOSPC"),w(`sysLog:: ${we}:: Changing to watchFile`),We()}}function Rt(zt,Qt){let tn;if(Qt&&Oc(Qt,"~")&&(tn=Qt,Qt=Qt.slice(0,Qt.length-1)),zt==="rename"&&(!Qt||Qt===Le||Oc(Qt,Ne))){let kn=t(we)||Eh;tn&&Pe(zt,tn,kn),Pe(zt,Qt,kn),A?_t(kn===Eh?qe:ct):kn===Eh&&_t(qe)}else tn&&Pe(zt,tn),Pe(zt,Qt)}function We(){return ie(we,yDe(Pe),Ie,Be)}function qe(){return ie(we,(zt,Qt,tn)=>{Qt===0&&(tn||(tn=t(we)||Eh),tn!==Eh&&(Pe("rename","",tn),_t(ct)))},Ie,Be)}}}function uoe(e){let t=e.writeFile;e.writeFile=(r,i,o)=>nW(r,i,!!o,(s,l,f)=>t.call(e,s,l,f),s=>e.createDirectory(s),s=>e.directoryExists(s))}function bDe(e){xl=e}var ij,V8,Eh,sw,cw,lw,uw,aj,oj,xl,EDe=gt({"src/compiler/sys.ts"(){"use strict";fa(),ij=(e=>(e[e.Created=0]="Created",e[e.Changed=1]="Changed",e[e.Deleted=2]="Deleted",e))(ij||{}),V8=(e=>(e[e.High=2e3]="High",e[e.Medium=500]="Medium",e[e.Low=250]="Low",e))(V8||{}),Eh=new Date(0),sw={Low:32,Medium:64,High:256},cw=rj(sw),lw=rj(sw),uw=["/node_modules/.","/.git","/.#"],aj=Ba,oj=(e=>(e[e.File=0]="File",e[e.Directory=1]="Directory",e))(oj||{}),xl=(()=>{let e="\uFEFF";function t(){let i=/^native |^\([^)]+\)$|^(internal[\\/]|[a-zA-Z0-9_\s]+(\.js)?$)/,o=d0("fs"),s=d0("path"),l=d0("os"),f;try{f=d0("crypto")}catch{f=void 0}let d,g="./profile.cpuprofile",m=d0("buffer").Buffer,v=process.platform==="linux"||process.platform==="darwin",S=l.platform(),x=fe(),A=o.realpathSync.native?process.platform==="win32"?Ie:o.realpathSync.native:o.realpathSync,w=__filename.endsWith("sys.js")?s.join(s.dirname(__dirname),"__fake__.js"):__filename,C=process.platform==="win32"||process.platform==="darwin",P=zu(()=>process.cwd()),{watchFile:F,watchDirectory:B}=loe({pollingWatchFileWorker:U,getModifiedTime:Ne,setTimeout,clearTimeout,fsWatchWorker:re,useCaseSensitiveFileNames:x,getCurrentDirectory:P,fileSystemEntryExists:we,fsSupportsRecursiveFsWatch:C,getAccessibleSortedChildDirectories:ct=>X(ct).directories,realpath:Be,tscWatchFile:process.env.TSC_WATCHFILE,useNonPollingWatchers:process.env.TSC_NONPOLLING_WATCHER,tscWatchDirectory:process.env.TSC_WATCHDIRECTORY,inodeWatching:v,sysLog:ow}),q={args:process.argv.slice(2),newLine:l.EOL,useCaseSensitiveFileNames:x,write(ct){process.stdout.write(ct)},getWidthOfTerminal(){return process.stdout.columns},writeOutputIsTTY(){return process.stdout.isTTY},readFile:_e,writeFile:ge,watchFile:F,watchDirectory:B,resolvePath:ct=>s.resolve(ct),fileExists:ke,directoryExists:Pe,createDirectory(ct){if(!q.directoryExists(ct))try{o.mkdirSync(ct)}catch(Rt){if(Rt.code!=="EEXIST")throw Rt}},getExecutingFilePath(){return w},getCurrentDirectory:P,getDirectories:Ce,getEnvironmentVariable(ct){return process.env[ct]||""},readDirectory:Ve,getModifiedTime:Ne,setModifiedTime:Le,deleteFile:Ye,createHash:f?_t:aw,createSHA256Hash:f?_t:void 0,getMemoryUsage(){return global.gc&&global.gc(),process.memoryUsage().heapUsed},getFileSize(ct){try{let Rt=W(ct);if(Rt?.isFile())return Rt.size}catch{}return 0},exit(ct){ie(()=>process.exit(ct))},enableCPUProfiler:Y,disableCPUProfiler:ie,cpuProfilingEnabled:()=>!!d||ya(process.execArgv,"--cpu-prof")||ya(process.execArgv,"--prof"),realpath:Be,debugMode:!!process.env.NODE_INSPECTOR_IPC||!!process.env.VSCODE_INSPECTOR_OPTIONS||vt(process.execArgv,ct=>/^--(inspect|debug)(-brk)?(=\d+)?$/i.test(ct)),tryEnableSourceMapsForHost(){try{d0("source-map-support").install()}catch{}},setTimeout,clearTimeout,clearScreen:()=>{process.stdout.write("\x1Bc")},setBlocking:()=>{process.stdout&&process.stdout._handle&&process.stdout._handle.setBlocking&&process.stdout._handle.setBlocking(!0)},bufferFrom:$,base64decode:ct=>$(ct,"base64").toString("utf8"),base64encode:ct=>$(ct).toString("base64"),require:(ct,Rt)=>{try{let We=jfe(Rt,ct,q);return{module:d0(We),modulePath:We,error:void 0}}catch(We){return{module:void 0,modulePath:void 0,error:We}}}};return q;function W(ct){return o.statSync(ct,{throwIfNoEntry:!1})}function Y(ct,Rt){if(d)return Rt(),!1;let We=d0("inspector");if(!We||!We.Session)return Rt(),!1;let qe=new We.Session;return qe.connect(),qe.post("Profiler.enable",()=>{qe.post("Profiler.start",()=>{d=qe,g=ct,Rt()})}),!0}function R(ct){let Rt=0,We=new Map,qe=Al(s.dirname(w)),zt=`file://${_p(qe)===1?"":"/"}${qe}`;for(let Qt of ct.nodes)if(Qt.callFrame.url){let tn=Al(Qt.callFrame.url);Gy(zt,tn,x)?Qt.callFrame.url=Q1(zt,tn,zt,Dl(x),!0):i.test(tn)||(Qt.callFrame.url=(We.has(tn)?We:We.set(tn,`external${Rt}.js`)).get(tn),Rt++)}return ct}function ie(ct){if(d&&d!=="stopping"){let Rt=d;return d.post("Profiler.stop",(We,{profile:qe})=>{var zt;if(!We){try{(zt=W(g))!=null&&zt.isDirectory()&&(g=s.join(g,`${new Date().toISOString().replace(/:/g,"-")}+P${process.pid}.cpuprofile`))}catch{}try{o.mkdirSync(s.dirname(g),{recursive:!0})}catch{}o.writeFileSync(g,JSON.stringify(R(qe)))}d=void 0,Rt.disconnect(),ct()}),d="stopping",!0}else return ct(),!1}function $(ct,Rt){return m.from&&m.from!==Int8Array.from?m.from(ct,Rt):new m(ct,Rt)}function fe(){return S==="win32"||S==="win64"?!1:!ke(Z(__filename))}function Z(ct){return ct.replace(/\w/g,Rt=>{let We=Rt.toUpperCase();return Rt===We?Rt.toLowerCase():We})}function U(ct,Rt,We){o.watchFile(ct,{persistent:!0,interval:We},zt);let qe;return{close:()=>o.unwatchFile(ct,zt)};function zt(Qt,tn){let kn=+tn.mtime==0||qe===2;if(+Qt.mtime==0){if(kn)return;qe=2}else if(kn)qe=0;else{if(+Qt.mtime==+tn.mtime)return;qe=1}Rt(ct,qe,Qt.mtime)}}function re(ct,Rt,We){return o.watch(ct,C?{persistent:!0,recursive:!!Rt}:{persistent:!0},We)}function le(ct,Rt){let We;try{We=o.readFileSync(ct)}catch{return}let qe=We.length;if(qe>=2&&We[0]===254&&We[1]===255){qe&=-2;for(let zt=0;zt<qe;zt+=2){let Qt=We[zt];We[zt]=We[zt+1],We[zt+1]=Qt}return We.toString("utf16le",2)}return qe>=2&&We[0]===255&&We[1]===254?We.toString("utf16le",2):qe>=3&&We[0]===239&&We[1]===187&&We[2]===191?We.toString("utf8",3):We.toString("utf8")}function _e(ct,Rt){fp.logStartReadFile(ct);let We=le(ct,Rt);return fp.logStopReadFile(),We}function ge(ct,Rt,We){fp.logEvent("WriteFile: "+ct),We&&(Rt=e+Rt);let qe;try{qe=o.openSync(ct,"w"),o.writeSync(qe,Rt,void 0,"utf8")}finally{qe!==void 0&&o.closeSync(qe)}}function X(ct){fp.logEvent("ReadDir: "+(ct||"."));try{let Rt=o.readdirSync(ct||".",{withFileTypes:!0}),We=[],qe=[];for(let zt of Rt){let Qt=typeof zt=="string"?zt:zt.name;if(Qt==="."||Qt==="..")continue;let tn;if(typeof zt=="string"||zt.isSymbolicLink()){let kn=vi(ct,Qt);try{if(tn=W(kn),!tn)continue}catch{continue}}else tn=zt;tn.isFile()?We.push(Qt):tn.isDirectory()&&qe.push(Qt)}return We.sort(),qe.sort(),{files:We,directories:qe}}catch{return D4}}function Ve(ct,Rt,We,qe,zt){return wW(ct,Rt,We,qe,x,process.cwd(),zt,X,Be)}function we(ct,Rt){let We=Error.stackTraceLimit;Error.stackTraceLimit=0;try{let qe=W(ct);if(!qe)return!1;switch(Rt){case 0:return qe.isFile();case 1:return qe.isDirectory();default:return!1}}catch{return!1}finally{Error.stackTraceLimit=We}}function ke(ct){return we(ct,0)}function Pe(ct){return we(ct,1)}function Ce(ct){return X(ct).directories.slice()}function Ie(ct){return ct.length<260?o.realpathSync.native(ct):o.realpathSync(ct)}function Be(ct){try{return A(ct)}catch{return ct}}function Ne(ct){var Rt;let We=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return(Rt=W(ct))==null?void 0:Rt.mtime}catch{return}finally{Error.stackTraceLimit=We}}function Le(ct,Rt){try{o.utimesSync(ct,Rt,Rt)}catch{return}}function Ye(ct){try{return o.unlinkSync(ct)}catch{return}}function _t(ct){let Rt=f.createHash("sha256");return Rt.update(ct),Rt.digest("hex")}}let r;return qU()&&(r=t()),r&&uoe(r),r})(),xl&&xl.getEnvironmentVariable&&(fDe(xl),L.setAssertionLevel(/^development$/i.test(xl.getEnvironmentVariable("NODE_ENV"))?1:0)),xl&&xl.debugMode&&(L.isDebugging=!0)}});function sj(e){return e===47||e===92}function doe(e){return dw(e)<0}function qp(e){return dw(e)>0}function TDe(e){let t=dw(e);return t>0&&t===e.length}function nI(e){return dw(e)!==0}function Jd(e){return/^\.\.?($|[\\/])/.test(e)}function cj(e){return!nI(e)&&!Jd(e)}function gA(e){return jl(Hl(e),".")}function Gc(e,t){return e.length>t.length&&Oc(e,t)}function $c(e,t){for(let r of t)if(Gc(e,r))return!0;return!1}function My(e){return e.length>0&&sj(e.charCodeAt(e.length-1))}function foe(e){return e>=97&&e<=122||e>=65&&e<=90}function SDe(e,t){let r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){let i=e.charCodeAt(t+2);if(i===97||i===65)return t+3}return-1}function dw(e){if(!e)return 0;let t=e.charCodeAt(0);if(t===47||t===92){if(e.charCodeAt(1)!==t)return 1;let i=e.indexOf(t===47?_s:pw,2);return i<0?e.length:i+1}if(foe(t)&&e.charCodeAt(1)===58){let i=e.charCodeAt(2);if(i===47||i===92)return 3;if(e.length===2)return 2}let r=e.indexOf(pj);if(r!==-1){let i=r+pj.length,o=e.indexOf(_s,i);if(o!==-1){let s=e.slice(0,r),l=e.slice(i,o);if(s==="file"&&(l===""||l==="localhost")&&foe(e.charCodeAt(o+1))){let f=SDe(e,o+2);if(f!==-1){if(e.charCodeAt(f)===47)return~(f+1);if(f===e.length)return~f}}return~(o+1)}return~e.length}return 0}function _p(e){let t=dw(e);return t<0?~t:t}function ni(e){e=Al(e);let t=_p(e);return t===e.length?e:(e=sT(e),e.slice(0,Math.max(t,e.lastIndexOf(_s))))}function Hl(e,t,r){if(e=Al(e),_p(e)===e.length)return"";e=sT(e);let o=e.slice(Math.max(_p(e),e.lastIndexOf(_s)+1)),s=t!==void 0&&r!==void 0?j8(o,t,r):void 0;return s?o.slice(0,o.length-s.length):o}function _oe(e,t,r){if(na(t,".")||(t="."+t),e.length>=t.length&&e.charCodeAt(e.length-t.length)===46){let i=e.slice(e.length-t.length);if(r(i,t))return i}}function xDe(e,t,r){if(typeof t=="string")return _oe(e,t,r)||"";for(let i of t){let o=_oe(e,i,r);if(o)return o}return""}function j8(e,t,r){if(t)return xDe(sT(e),t,r?W1:z1);let i=Hl(e),o=i.lastIndexOf(".");return o>=0?i.substring(o):""}function ADe(e,t){let r=e.substring(0,t),i=e.substring(t).split(_s);return i.length&&!Os(i)&&i.pop(),[r,...i]}function Ou(e,t=""){return e=vi(t,e),ADe(e,_p(e))}function T0(e){return e.length===0?"":(e[0]&&cu(e[0]))+e.slice(1).join(_s)}function Al(e){return e.indexOf("\\")!==-1?e.replace(poe,_s):e}function oT(e){if(!vt(e))return[];let t=[e[0]];for(let r=1;r<e.length;r++){let i=e[r];if(i&&i!=="."){if(i===".."){if(t.length>1){if(t[t.length-1]!==".."){t.pop();continue}}else if(t[0])continue}t.push(i)}}return t}function vi(e,...t){e&&(e=Al(e));for(let r of t)r&&(r=Al(r),!e||_p(r)!==0?e=r:e=cu(e)+r);return e}function Fy(e,...t){return So(vt(t)?vi(e,...t):Al(e))}function fw(e,t){return oT(Ou(e,t))}function _a(e,t){return T0(fw(e,t))}function So(e){if(e=Al(e),!mw.test(e))return e;let t=e.replace(/\/\.\//g,"/").replace(/^\.\//,"");if(t!==e&&(e=t,!mw.test(e)))return e;let r=T0(oT(Ou(e)));return r&&My(e)?cu(r):r}function CDe(e){return e.length===0?"":e.slice(1).join(_s)}function lj(e,t){return CDe(fw(e,t))}function Ts(e,t,r){let i=qp(e)?So(e):_a(e,t);return r(i)}function sT(e){return My(e)?e.substr(0,e.length-1):e}function cu(e){return My(e)?e:e+_s}function S0(e){return!nI(e)&&!Jd(e)?"./"+e:e}function uj(e,t,r,i){let o=r!==void 0&&i!==void 0?j8(e,r,i):j8(e);return o?e.slice(0,e.length-o.length)+(na(t,".")?t:"."+t):e}function dj(e,t,r){if(e===t)return 0;if(e===void 0)return-1;if(t===void 0)return 1;let i=e.substring(0,_p(e)),o=t.substring(0,_p(t)),s=_8(i,o);if(s!==0)return s;let l=e.substring(i.length),f=t.substring(o.length);if(!mw.test(l)&&!mw.test(f))return r(l,f);let d=oT(Ou(e)),g=oT(Ou(t)),m=Math.min(d.length,g.length);for(let v=1;v<m;v++){let S=r(d[v],g[v]);if(S!==0)return S}return Es(d.length,g.length)}function IDe(e,t){return dj(e,t,su)}function LDe(e,t){return dj(e,t,_8)}function cT(e,t,r,i){return typeof r=="string"?(e=vi(r,e),t=vi(r,t)):typeof r=="boolean"&&(i=r),dj(e,t,p8(i))}function Gy(e,t,r,i){if(typeof r=="string"?(e=vi(r,e),t=vi(r,t)):typeof r=="boolean"&&(i=r),e===void 0||t===void 0)return!1;if(e===t)return!0;let o=oT(Ou(e)),s=oT(Ou(t));if(s.length<o.length)return!1;let l=i?W1:z1;for(let f=0;f<o.length;f++)if(!(f===0?W1:l)(o[f],s[f]))return!1;return!0}function fj(e,t,r){let i=r(e),o=r(t);return na(i,o+"/")||na(i,o+"\\")}function _j(e,t,r,i){let o=oT(Ou(e)),s=oT(Ou(t)),l;for(l=0;l<o.length&&l<s.length;l++){let g=i(o[l]),m=i(s[l]);if(!(l===0?W1:r)(g,m))break}if(l===0)return s;let f=s.slice(l),d=[];for(;l<o.length;l++)d.push("..");return["",...d,...f]}function Xp(e,t,r){L.assert(_p(e)>0==_p(t)>0,"Paths must either both be absolute or both be relative");let s=_j(e,t,(typeof r=="boolean"?r:!1)?W1:z1,typeof r=="function"?r:Ks);return T0(s)}function rI(e,t,r){return qp(e)?Q1(t,e,t,r,!1):e}function _w(e,t,r){return S0(Xp(ni(e),t,r))}function Q1(e,t,r,i,o){let s=_j(Fy(r,e),Fy(r,t),z1,i),l=s[0];if(o&&qp(l)){let f=l.charAt(0)===_s?"file://":"file:///";s[0]=f+l}return T0(s)}function Th(e,t){for(;;){let r=t(e);if(r!==void 0)return r;let i=ni(e);if(i===e)return;e=i}}function H8(e){return Oc(e,"/node_modules")}var _s,pw,pj,poe,mw,kDe=gt({"src/compiler/path.ts"(){"use strict";fa(),_s="/",pw="\\",pj="://",poe=/\\/g,mw=/(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/}});function b(e,t,r,i,o,s,l){return{code:e,category:t,key:r,message:i,reportsUnnecessary:o,elidedInCompatabilityPyramid:s,reportsDeprecated:l}}var _,DDe=gt({"src/compiler/diagnosticInformationMap.generated.ts"(){"use strict";noe(),_={Unterminated_string_literal:b(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:b(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:b(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:b(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:b(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:b(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:b(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:b(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:b(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:b(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:b(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:b(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:b(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:b(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:b(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:b(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:b(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:b(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:b(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:b(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:b(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:b(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:b(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:b(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:b(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:b(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:b(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:b(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:b(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:b(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:b(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:b(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:b(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:b(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:b(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:b(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:b(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:b(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:b(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:b(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:b(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:b(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:b(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:b(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:b(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:b(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:b(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:b(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:b(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:b(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:b(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:b(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:b(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:b(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:b(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:b(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:b(1085,1,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:b(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:b(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:b(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:b(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:b(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:b(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:b(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:b(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:b(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:b(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:b(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:b(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:b(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:b(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:b(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:b(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:b(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:b(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:b(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:b(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:b(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:b(1110,1,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:b(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:b(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:b(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:b(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:b(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:b(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:b(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:b(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:b(1121,1,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:b(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:b(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:b(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:b(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:b(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:b(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:b(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:b(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:b(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:b(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:b(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:b(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:b(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:b(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:b(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:b(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:b(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:b(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:b(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:b(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:b(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:b(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:b(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:b(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:b(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:b(1155,1,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:b(1156,1,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:b(1157,1,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:b(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:b(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:b(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:b(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:b(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:b(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:b(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:b(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:b(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:b(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:b(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:b(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:b(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:b(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:b(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:b(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:b(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:b(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:b(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:b(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:b(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:b(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:b(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:b(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:b(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:b(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:b(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:b(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:b(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:b(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:b(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:b(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:b(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:b(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:b(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:b(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:b(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:b(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:b(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:b(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:b(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:b(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:b(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:b(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:b(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:b(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:b(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:b(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:b(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:b(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:b(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:b(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:b(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:b(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:b(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:b(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:b(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:b(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:b(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:b(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:b(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:b(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:b(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:b(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:b(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:b(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:b(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:b(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:b(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:b(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:b(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:b(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:b(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:b(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:b(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:b(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:b(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:b(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:b(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:b(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:b(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:b(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:b(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:b(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:b(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:b(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:b(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:b(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:b(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:b(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:b(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:b(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:b(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:b(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:b(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:b(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:b(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:b(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:b(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:b(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:b(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:b(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:b(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:b(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:b(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:b(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:b(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:b(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:b(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:b(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:b(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:b(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:b(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:b(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:b(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:b(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:b(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),with_statements_are_not_allowed_in_an_async_function_block:b(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:b(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:b(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:b(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:b(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:b(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:b(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:b(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:b(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:b(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:b(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:b(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:b(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:b(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:b(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:b(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:b(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:b(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:b(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:b(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:b(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:b(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:b(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:b(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:b(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:b(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:b(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:b(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:b(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:b(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:b(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:b(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:b(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:b(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:b(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:b(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:b(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:b(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:b(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:b(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:b(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:b(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:b(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:b(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:b(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:b(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:b(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:b(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:b(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:b(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:b(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:b(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:b(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:b(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:b(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:b(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:b(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:b(1371,1,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:b(1373,3,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:b(1374,3,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:b(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:b(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:b(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:b(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:b(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:b(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:b(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `&rbrace;`?"),Unexpected_token_Did_you_mean_or_gt:b(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `&gt;`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:b(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:b(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:b(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:b(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:b(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:b(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:b(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:b(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:b(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:b(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:b(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:b(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:b(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:b(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:b(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:b(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:b(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:b(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:b(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:b(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:b(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:b(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:b(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:b(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:b(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:b(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:b(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:b(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:b(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:b(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:b(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:b(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:b(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:b(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:b(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:b(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:b(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:b(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:b(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:b(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:b(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:b(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:b(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:b(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:b(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:b(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:b(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:b(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:b(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:b(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:b(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:b(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:b(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:b(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:b(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:b(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:b(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:b(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:b(1444,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:b(1446,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:b(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:b(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:b(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:b(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:b(1452,1,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:b(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:b(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:b(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:b(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:b(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:b(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:b(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:b(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:b(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:b(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:b(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:b(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:b(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:b(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:b(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:b(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:b(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:b(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:b(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:b(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:b(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:b(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:b(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:b(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:b(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:b(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),The_types_of_0_are_incompatible_between_these_types:b(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:b(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:b(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:b(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:b(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:b(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:b(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:b(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:b(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:b(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:b(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:b(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:b(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:b(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:b(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:b(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:b(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:b(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:b(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:b(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:b(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:b(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:b(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:b(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:b(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:b(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:b(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:b(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:b(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:b(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:b(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:b(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:b(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:b(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:b(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:b(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:b(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:b(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:b(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:b(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:b(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:b(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:b(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:b(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:b(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:b(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:b(2333,1,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:b(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:b(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:b(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:b(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:b(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:b(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:b(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:b(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:b(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:b(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:b(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:b(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:b(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:b(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:b(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:b(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:b(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:b(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:b(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:b(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:b(2355,1,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:b(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:b(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:b(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:b(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:b(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:b(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:b(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:b(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:b(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:b(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:b(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:b(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:b(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:b(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:b(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:b(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:b(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:b(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:b(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:b(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:b(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:b(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:b(2380,1,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:b(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:b(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:b(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:b(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:b(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:b(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:b(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:b(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:b(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:b(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:b(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:b(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:b(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:b(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:b(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:b(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:b(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:b(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:b(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:b(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:b(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type.  Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:b(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:b(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:b(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:b(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:b(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:b(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:b(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:b(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:b(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:b(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:b(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:b(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:b(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:b(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:b(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:b(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:b(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:b(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:b(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:b(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:b(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:b(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:b(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:b(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:b(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:b(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:b(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:b(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:b(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:b(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:b(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:b(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:b(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:b(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:b(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:b(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:b(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:b(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:b(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:b(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:b(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:b(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:b(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:b(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:b(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:b(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:b(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:b(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:b(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:b(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:b(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:b(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:b(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:b(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:b(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:b(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:b(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:b(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:b(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:b(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:b(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:b(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:b(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:b(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:b(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:b(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:b(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:b(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:b(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:b(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:b(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:b(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:b(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:b(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:b(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:b(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:b(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:b(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:b(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:b(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:b(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:b(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:b(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:b(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:b(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:b(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:b(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:b(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:b(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:b(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:b(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:b(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:b(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:b(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:b(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:b(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:b(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:b(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:b(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:b(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:b(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:b(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:b(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:b(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:b(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:b(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:b(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:b(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:b(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:b(2525,1,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:b(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:b(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:b(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:b(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:b(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:b(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:b(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:b(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:b(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:b(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:b(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:b(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:b(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:b(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:b(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:b(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:b(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:b(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:b(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:b(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:b(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:b(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:b(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:b(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:b(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:b(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:b(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:b(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:b(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:b(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:b(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:b(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:b(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:b(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:b(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:b(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:b(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:b(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:b(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:b(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:b(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:b(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:b(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:b(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:b(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:b(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:b(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:b(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:b(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:b(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:b(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:b(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:b(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:b(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:b(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:b(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:b(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:b(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:b(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:b(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:b(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:b(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:b(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:b(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:b(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:b(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:b(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:b(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:b(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:b(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:b(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:b(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:b(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:b(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:b(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:b(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:b(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:b(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:b(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:b(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:b(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:b(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:b(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:b(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:b(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:b(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:b(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:b(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:b(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:b(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:b(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:b(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:b(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:b(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:b(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:b(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:b(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:b(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:b(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:b(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:b(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:b(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:b(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:b(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:b(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:b(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:b(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:b(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:b(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:b(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:b(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:b(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:b(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:b(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:b(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:b(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:b(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:b(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:b(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:b(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:b(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:b(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:b(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:b(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:b(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:b(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:b(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:b(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:b(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:b(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:b(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:b(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:b(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:b(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:b(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:b(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:b(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:b(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:b(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:b(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:b(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:b(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:b(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:b(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:b(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:b(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:b(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:b(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:b(2705,1,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:b(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:b(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:b(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:b(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:b(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:b(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:b(2712,1,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:b(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:b(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:b(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:b(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:b(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type.  Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:b(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:b(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:b(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:b(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:b(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:b(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:b(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:b(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:b(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:b(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:b(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:b(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:b(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:b(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:b(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:b(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:b(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:b(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:b(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:b(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:b(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:b(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:b(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:b(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:b(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:b(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:b(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:b(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:b(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:b(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:b(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:b(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:b(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:b(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:b(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:b(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:b(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:b(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:b(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:b(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:b(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:b(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:b(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:b(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:b(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:b(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:b(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:b(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:b(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:b(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:b(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:b(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:b(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:b(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:b(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:b(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:b(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:b(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:b(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:b(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:b(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:b(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:b(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:b(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:b(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:b(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:b(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:b(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:b(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:b(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:b(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:b(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:b(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:b(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:b(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:b(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:b(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:b(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:b(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:b(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:b(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:b(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:b(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:b(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:b(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:b(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:b(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:b(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:b(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:b(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:b(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:b(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:b(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:b(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:b(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:b(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:b(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:b(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:b(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:b(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:b(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:b(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:b(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:b(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:b(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:b(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:b(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:b(2836,1,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:b(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:b(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:b(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:b(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:b(2841,1,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:b(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:b(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:b(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:b(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:b(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),Import_declaration_0_is_using_private_name_1:b(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:b(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:b(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:b(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:b(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:b(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:b(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:b(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:b(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:b(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:b(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:b(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:b(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:b(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:b(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:b(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:b(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:b(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:b(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:b(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:b(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:b(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:b(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:b(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:b(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:b(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:b(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:b(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:b(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:b(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:b(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:b(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:b(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:b(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:b(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:b(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:b(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:b(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:b(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:b(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:b(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:b(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:b(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:b(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:b(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:b(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:b(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:b(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:b(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:b(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:b(4090,1,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:b(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:b(4094,1,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:b(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:b(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:b(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:b(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:b(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:b(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:b(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:b(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:b(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:b(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:b(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:b(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:b(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:b(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:b(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:b(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:b(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:b(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:b(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:b(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:b(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:b(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:b(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:b(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:b(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:b(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:b(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:b(4125,1,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:b(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:b(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:b(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:b(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:b(5014,1,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:b(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:b(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:b(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:b(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:b(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:b(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:b(5048,1,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:b(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:b(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:b(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:b(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:b(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:b(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:b(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:b(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:b(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:b(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:b(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:b(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:b(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:b(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:b(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:b(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:b(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:b(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:b(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:b(5071,1,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:b(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:b(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:b(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:b(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:b(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:b(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:b(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:b(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:b(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:b(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:b(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:b(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:b(5084,1,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:b(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:b(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:b(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:b(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:b(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:b(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:b(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:b(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:b(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:b(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later:b(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:b(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:b(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:b(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:b(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:b(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:b(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:b(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:b(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:b(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:b(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:b(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:b(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:b(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:b(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:b(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:b(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:b(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:b(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:b(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:b(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:b(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:b(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:b(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:b(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:b(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:b(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:b(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:b(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:b(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:b(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:b(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:b(6024,3,"options_6024","options"),file:b(6025,3,"file_6025","file"),Examples_Colon_0:b(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:b(6027,3,"Options_Colon_6027","Options:"),Version_0:b(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:b(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:b(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:b(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:b(6034,3,"KIND_6034","KIND"),FILE:b(6035,3,"FILE_6035","FILE"),VERSION:b(6036,3,"VERSION_6036","VERSION"),LOCATION:b(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:b(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:b(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:b(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:b(6041,3,"Errors_Files_6041","Errors  Files"),Generates_corresponding_map_file:b(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:b(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:b(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:b(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:b(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'."),Unable_to_open_file_0:b(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:b(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:b(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:b(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:b(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:b(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:b(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:b(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:b(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:b(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:b(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:b(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:b(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:b(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:b(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:b(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:b(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:b(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:b(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:b(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:b(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:b(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:b(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:b(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:b(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:b(6081,3,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:b(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:b(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:b(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:b(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:b(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:b(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:b(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:b(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:b(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:b(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:b(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:b(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:b(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:b(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:b(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:b(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:b(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:b(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:b(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:b(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:b(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:b(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:b(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:b(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:b(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:b(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:b(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:b(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:b(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:b(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:b(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:b(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:b(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:b(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:b(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:b(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:b(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:b(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:b(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:b(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:b(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:b(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:b(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:b(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:b(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:b(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:b(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:b(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:b(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:b(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:b(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:b(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:b(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:b(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:b(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:b(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:b(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:b(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:b(6145,3,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:b(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:b(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:b(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:b(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:b(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:b(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:b(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:b(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:b(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:b(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:b(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:b(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:b(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:b(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:b(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:b(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:b(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:b(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:b(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:b(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:b(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:b(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:b(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:b(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:b(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:b(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:b(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:b(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:b(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:b(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:b(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:b(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:b(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:b(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:b(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:b(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:b(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:b(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:b(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:b(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:b(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:b(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:b(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:b(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:b(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:b(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:b(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:b(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:b(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:b(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:b(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:b(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:b(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:b(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:b(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:b(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:b(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:b(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:b(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:b(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:b(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:b(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:b(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:b(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:b(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:b(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:b(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:b(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:b(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:b(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:b(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:b(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:b(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:b(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:b(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:b(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:b(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:b(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:b(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:b(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:b(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:b(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:b(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:b(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:b(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:b(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:b(6244,3,"Modules_6244","Modules"),File_Management:b(6245,3,"File_Management_6245","File Management"),Emit:b(6246,3,"Emit_6246","Emit"),JavaScript_Support:b(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:b(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:b(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:b(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:b(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:b(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:b(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:b(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:b(6255,3,"Projects_6255","Projects"),Output_Formatting:b(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:b(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:b(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:b(6259,3,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:b(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:b(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:b(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:b(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:b(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:b(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:b(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:b(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:b(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:b(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:b(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:b(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:b(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:b(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Enable_project_compilation:b(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:b(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:b(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:b(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:b(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:b(6308,1,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:b(6309,1,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:b(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:b(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:b(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:b(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:b(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:b(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:b(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:b(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:b(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:b(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:b(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:b(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:b(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:b(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:b(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:b(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:b(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:b(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:b(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:b(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:b(6372,3,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:b(6373,3,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:b(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:b(6375,3,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:b(6376,3,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:b(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:b(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:b(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:b(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:b(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:b(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:b(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:b(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:b(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:b(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:b(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:b(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:b(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:b(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:b(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:b(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:b(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:b(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:b(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:b(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:b(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:b(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:b(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:b(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:b(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:b(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:b(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:b(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:b(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:b(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:b(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:b(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:b(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:b(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:b(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:b(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:b(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:b(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:b(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:b(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:b(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:b(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:b(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:b(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:b(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:b(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:b(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:b(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:b(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:b(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:b(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:b(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:b(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:b(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:b(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:b(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:b(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:b(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:b(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:b(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:b(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:b(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:b(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:b(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:b(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:b(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:b(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:b(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:b(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:b(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:b(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:b(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:b(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:b(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:b(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:b(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:b(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:b(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:b(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:b(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:b(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:b(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:b(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:b(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:b(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:b(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:b(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:b(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:b(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:b(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:b(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:b(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:b(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:b(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:b(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:b(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:b(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:b(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:b(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:b(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:b(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:b(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:b(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:b(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:b(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:b(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:b(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:b(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:b(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:b(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:b(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:b(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:b(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:b(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:b(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:b(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:b(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:b(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:b(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:b(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:b(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:b(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:b(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:b(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:b(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:b(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:b(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:b(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:b(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:b(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:b(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:b(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:b(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:b(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:b(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:b(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:b(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:b(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:b(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:b(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:b(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:b(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:b(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:b(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:b(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:b(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:b(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:b(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:b(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:b(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:b(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:b(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:b(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:b(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:b(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:b(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:b(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:b(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:b(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:b(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:b(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:b(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),one_of_Colon:b(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:b(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:b(6902,3,"type_Colon_6902","type:"),default_Colon:b(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:b(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:b(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:b(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:b(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:b(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:b(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:b(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:b(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:b(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:b(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:b(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:b(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:b(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:b(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:b(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:b(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:b(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:b(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:b(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:b(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:b(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:b(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:b(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:b(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:b(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:b(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:b(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:b(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:b(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:b(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:b(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:b(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:b(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:b(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:b(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:b(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:b(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:b(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:b(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:b(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:b(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:b(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:b(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:b(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:b(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:b(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:b(7025,1,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:b(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:b(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:b(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:b(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:b(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:b(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:b(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:b(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:b(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:b(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:b(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:b(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:b(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:b(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:b(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:b(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:b(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:b(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:b(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:b(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:b(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:b(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:b(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:b(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:b(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:b(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:b(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:b(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:b(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:b(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:b(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:b(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:b(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:b(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:b(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:b(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:b(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:b(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:b(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:b(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:b(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:b(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:b(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:b(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:b(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:b(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:b(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:b(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:b(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:b(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:b(8017,1,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:b(8018,1,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:b(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:b(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:b(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:b(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:b(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:b(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:b(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:b(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:b(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:b(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:b(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:b(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:b(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:b(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:b(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:b(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:b(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:b(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:b(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:b(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:b(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:b(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:b(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:b(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:b(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:b(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:b(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:b(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:b(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:b(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:b(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:b(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:b(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:b(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:b(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:b(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:b(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:b(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:b(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:b(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:b(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:b(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:b(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:b(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:b(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:b(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:b(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:b(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:b(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:b(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:b(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:b(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:b(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:b(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:b(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:b(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:b(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:b(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:b(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:b(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:b(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:b(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:b(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:b(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:b(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:b(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:b(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:b(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:b(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:b(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:b(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:b(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:b(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:b(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:b(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:b(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:b(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:b(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:b(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:b(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:b(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:b(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:b(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:b(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:b(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:b(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:b(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:b(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:b(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:b(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:b(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:b(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:b(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:b(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:b(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:b(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:b(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:b(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:b(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:b(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:b(95005,3,"Extract_function_95005","Extract function"),Extract_constant:b(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:b(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:b(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:b(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:b(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:b(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:b(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:b(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:b(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:b(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:b(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:b(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:b(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:b(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:b(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:b(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:b(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:b(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:b(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:b(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:b(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:b(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:b(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:b(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:b(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:b(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:b(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:b(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:b(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:b(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:b(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:b(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:b(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:b(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:b(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:b(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:b(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:b(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:b(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:b(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:b(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:b(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:b(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:b(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:b(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:b(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:b(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:b(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:b(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:b(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:b(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:b(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:b(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:b(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:b(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:b(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:b(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:b(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:b(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:b(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:b(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:b(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:b(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:b(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:b(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:b(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:b(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:b(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:b(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:b(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:b(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:b(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:b(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:b(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:b(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:b(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:b(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:b(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:b(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:b(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:b(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:b(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:b(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:b(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:b(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:b(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:b(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:b(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:b(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:b(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:b(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:b(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:b(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:b(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:b(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:b(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:b(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:b(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:b(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:b(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:b(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:b(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:b(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:b(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:b(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:b(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:b(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:b(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:b(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:b(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:b(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:b(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:b(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:b(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:b(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:b(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:b(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:b(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:b(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:b(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:b(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:b(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:b(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:b(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:b(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:b(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:b(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:b(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:b(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:b(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:b(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:b(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:b(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:b(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:b(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:b(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:b(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:b(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:b(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:b(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:b(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:b(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:b(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:b(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:b(95154,3,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:b(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:b(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:b(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:b(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:b(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:b(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:b(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:b(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:b(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:b(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:b(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:b(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:b(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:b(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:b(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:b(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:b(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:b(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:b(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:b(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:b(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:b(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:b(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:b(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:b(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:b(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:b(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:b(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:b(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:b(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:b(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:b(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:b(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:b(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:b(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:b(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:b(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:b(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:b(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:b(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:b(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:b(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:b(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:b(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:b(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:b(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:b(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:b(18037,1,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:b(18038,1,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:b(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:b(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:b(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:b(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:b(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:b(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:b(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:b(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:b(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:b(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:b(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:b(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string.")}}});function Su(e){return e>=79}function moe(e){return e===31||Su(e)}function iI(e,t){if(e<t[0])return!1;let r=0,i=t.length,o;for(;r+1<i;){if(o=r+(i-r)/2,o-=o%2,t[o]<=e&&e<=t[o+1])return!0;e<t[o]?i=o:r=o+2}return!1}function W8(e,t){return t>=2?iI(e,Aoe):t===1?iI(e,Soe):iI(e,Eoe)}function wDe(e,t){return t>=2?iI(e,Coe):t===1?iI(e,xoe):iI(e,Toe)}function RDe(e){let t=[];return e.forEach((r,i)=>{t[r]=i}),t}function Xa(e){return koe[e]}function lT(e){return vj.get(e)}function hw(e){let t=[],r=0,i=0;for(;r<e.length;){let o=e.charCodeAt(r);switch(r++,o){case 13:e.charCodeAt(r)===10&&r++;case 10:t.push(i),i=r;break;default:o>127&&Wl(o)&&(t.push(i),i=r);break}}return t.push(i),t}function gw(e,t,r,i){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,i):mj(Sh(e),t,r,e.text,i)}function mj(e,t,r,i,o){(t<0||t>=e.length)&&(o?t=t<0?0:t>=e.length?e.length-1:t:L.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${i!==void 0?GD(e,hw(i)):"unknown"}`));let s=e[t]+r;return o?s>e[t+1]?e[t+1]:typeof i=="string"&&s>i.length?i.length:s:(t<e.length-1?L.assert(s<e[t+1]):i!==void 0&&L.assert(s<=i.length),s)}function Sh(e){return e.lineMap||(e.lineMap=hw(e.text))}function yw(e,t){let r=aI(e,t);return{line:r,character:t-e[r]}}function aI(e,t,r){let i=Py(e,t,Ks,Es,r);return i<0&&(i=~i-1,L.assert(i!==-1,"position cannot precede the beginning of the file")),i}function oI(e,t,r){if(t===r)return 0;let i=Sh(e),o=Math.min(t,r),s=o===r,l=s?t:r,f=aI(i,o),d=aI(i,l,f);return s?f-d:d-f}function Gs(e,t){return yw(Sh(e),t)}function xh(e){return Yp(e)||Wl(e)}function Yp(e){return e===32||e===9||e===11||e===12||e===160||e===133||e===5760||e>=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}function Wl(e){return e===10||e===13||e===8232||e===8233}function sI(e){return e>=48&&e<=57}function z8(e){return sI(e)||e>=65&&e<=70||e>=97&&e<=102}function ODe(e){return e<=1114111}function hj(e){return e>=48&&e<=55}function hoe(e,t){let r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return t===0;default:return r>127}}function xo(e,t,r,i,o){if(vp(t))return t;let s=!1;for(;;){let l=e.charCodeAt(t);switch(l){case 13:e.charCodeAt(t+1)===10&&t++;case 10:if(t++,r)return t;s=!!o;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(i)break;if(e.charCodeAt(t+1)===47){for(t+=2;t<e.length&&!Wl(e.charCodeAt(t));)t++;s=!1;continue}if(e.charCodeAt(t+1)===42){for(t+=2;t<e.length;){if(e.charCodeAt(t)===42&&e.charCodeAt(t+1)===47){t+=2;break}t++}s=!1;continue}break;case 60:case 124:case 61:case 62:if(yA(e,t)){t=cI(e,t),s=!1;continue}break;case 35:if(t===0&&gj(e,t)){t=yj(e,t),s=!1;continue}break;case 42:if(s){t++,s=!1;continue}break;default:if(l>127&&xh(l)){t++;continue}break}return t}}function yA(e,t){if(L.assert(t>=0),t===0||Wl(e.charCodeAt(t-1))){let r=e.charCodeAt(t);if(t+Tw<e.length){for(let i=0;i<Tw;i++)if(e.charCodeAt(t+i)!==r)return!1;return r===61||e.charCodeAt(t+Tw)===32}}return!1}function cI(e,t,r){r&&r(_.Merge_conflict_marker_encountered,t,Tw);let i=e.charCodeAt(t),o=e.length;if(i===60||i===62)for(;t<o&&!Wl(e.charCodeAt(t));)t++;else for(L.assert(i===124||i===61);t<o;){let s=e.charCodeAt(t);if((s===61||s===62)&&s!==i&&yA(e,t))break;t++}return t}function gj(e,t){return L.assert(t===0),q8.test(e)}function yj(e,t){let r=q8.exec(e)[0];return t=t+r.length,t}function J8(e,t,r,i,o,s,l){let f,d,g,m,v=!1,S=i,x=l;if(r===0){S=!0;let A=K8(t);A&&(r=A.length)}e:for(;r>=0&&r<t.length;){let A=t.charCodeAt(r);switch(A){case 13:t.charCodeAt(r+1)===10&&r++;case 10:if(r++,i)break e;S=!0,v&&(m=!0);continue;case 9:case 11:case 12:case 32:r++;continue;case 47:let w=t.charCodeAt(r+1),C=!1;if(w===47||w===42){let P=w===47?2:3,F=r;if(r+=2,w===47)for(;r<t.length;){if(Wl(t.charCodeAt(r))){C=!0;break}r++}else for(;r<t.length;){if(t.charCodeAt(r)===42&&t.charCodeAt(r+1)===47){r+=2;break}r++}if(S){if(v&&(x=o(f,d,g,m,s,x),!e&&x))return x;f=F,d=r,g=P,m=C,v=!0}continue}break e;default:if(A>127&&xh(A)){v&&Wl(A)&&(m=!0),r++;continue}break e}}return v&&(x=o(f,d,g,m,s,x)),x}function vw(e,t,r,i){return J8(!1,e,t,!1,r,i)}function bw(e,t,r,i){return J8(!1,e,t,!0,r,i)}function goe(e,t,r,i,o){return J8(!0,e,t,!1,r,i,o)}function yoe(e,t,r,i,o){return J8(!0,e,t,!0,r,i,o)}function voe(e,t,r,i,o,s=[]){return s.push({kind:r,pos:e,end:t,hasTrailingNewLine:i}),s}function Nm(e,t){return goe(e,t,voe,void 0,void 0)}function eb(e,t){return yoe(e,t,voe,void 0,void 0)}function K8(e){let t=q8.exec(e);if(t)return t[0]}function Pm(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&W8(e,t)}function tb(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||(r===1?e===45||e===58:!1)||e>127&&wDe(e,t)}function i_(e,t,r){let i=Dg(e,0);if(!Pm(i,t))return!1;for(let o=By(i);o<e.length;o+=By(i))if(!tb(i=Dg(e,o),t,r))return!1;return!0}function kg(e,t,r=0,i,o,s,l){var f=i,d,g,m,v,S,x,A,w,C=0;Dt(f,s,l);var P={getStartPos:()=>m,getTextPos:()=>d,getToken:()=>S,getTokenPos:()=>v,getTokenText:()=>f.substring(v,d),getTokenValue:()=>x,hasUnicodeEscape:()=>(A&1024)!==0,hasExtendedUnicodeEscape:()=>(A&8)!==0,hasPrecedingLineBreak:()=>(A&1)!==0,hasPrecedingJSDocComment:()=>(A&2)!==0,isIdentifier:()=>S===79||S>116,isReservedWord:()=>S>=81&&S<=116,isUnterminated:()=>(A&4)!==0,getCommentDirectives:()=>w,getNumericLiteralFlags:()=>A&1008,getTokenFlags:()=>A,reScanGreaterToken:Be,reScanAsteriskEqualsToken:Ne,reScanSlashToken:Le,reScanTemplateToken:ct,reScanTemplateHeadOrNoSubstitutionTemplate:Rt,scanJsxIdentifier:kn,scanJsxAttributeValue:_n,reScanJsxAttributeValue:Gt,reScanJsxToken:We,reScanLessThanToken:qe,reScanHashToken:zt,reScanQuestionToken:Qt,reScanInvalidIdentifier:Ce,scanJsxToken:tn,scanJsDocToken:$n,scan:Pe,getText:pt,clearCommentDirectives:nn,setText:Dt,setScriptTarget:An,setLanguageVariant:Kn,setOnError:pn,setTextPos:hi,setInJSDocType:ri,tryScan:gr,lookAhead:Pi,scanRange:Ni};return L.isDebugging&&Object.defineProperty(P,"__debugShowCurrentPositionInText",{get:()=>{let vn=P.getText();return vn.slice(0,P.getStartPos())+"\u2551"+vn.slice(P.getStartPos())}}),P;function F(vn,Ht=d,En){if(o){let dr=d;d=Ht,o(vn,En||0),d=dr}}function B(){let vn=d,Ht=!1,En=!1,dr="";for(;;){let Cr=f.charCodeAt(d);if(Cr===95){A|=512,Ht?(Ht=!1,En=!0,dr+=f.substring(vn,d)):F(En?_.Multiple_consecutive_numeric_separators_are_not_permitted:_.Numeric_separators_are_not_allowed_here,d,1),d++,vn=d;continue}if(sI(Cr)){Ht=!0,En=!1,d++;continue}break}return f.charCodeAt(d-1)===95&&F(_.Numeric_separators_are_not_allowed_here,d-1,1),dr+f.substring(vn,d)}function q(){let vn=d,Ht=B(),En,dr;f.charCodeAt(d)===46&&(d++,En=B());let Cr=d;if(f.charCodeAt(d)===69||f.charCodeAt(d)===101){d++,A|=16,(f.charCodeAt(d)===43||f.charCodeAt(d)===45)&&d++;let at=d,Tt=B();Tt?(dr=f.substring(Cr,at)+Tt,Cr=d):F(_.Digit_expected)}let Se;if(A&512?(Se=Ht,En&&(Se+="."+En),dr&&(Se+=dr)):Se=f.substring(vn,Cr),En!==void 0||A&16)return W(vn,En===void 0&&!!(A&16)),{type:8,value:""+ +Se};{x=Se;let at=ke();return W(vn),{type:at,value:x}}}function W(vn,Ht){if(!Pm(Dg(f,d),e))return;let En=d,{length:dr}=X();dr===1&&f[En]==="n"?F(Ht?_.A_bigint_literal_cannot_use_exponential_notation:_.A_bigint_literal_must_be_an_integer,vn,En-vn+1):(F(_.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,En,dr),d=En)}function Y(){let vn=d;for(;hj(f.charCodeAt(d));)d++;return+f.substring(vn,d)}function R(vn,Ht){let En=$(vn,!1,Ht);return En?parseInt(En,16):-1}function ie(vn,Ht){return $(vn,!0,Ht)}function $(vn,Ht,En){let dr=[],Cr=!1,Se=!1;for(;dr.length<vn||Ht;){let at=f.charCodeAt(d);if(En&&at===95){A|=512,Cr?(Cr=!1,Se=!0):F(Se?_.Multiple_consecutive_numeric_separators_are_not_permitted:_.Numeric_separators_are_not_allowed_here,d,1),d++;continue}if(Cr=En,at>=65&&at<=70)at+=32;else if(!(at>=48&&at<=57||at>=97&&at<=102))break;dr.push(at),d++,Se=!1}return dr.length<vn&&(dr=[]),f.charCodeAt(d-1)===95&&F(_.Numeric_separators_are_not_allowed_here,d-1,1),String.fromCharCode(...dr)}function fe(vn=!1){let Ht=f.charCodeAt(d);d++;let En="",dr=d;for(;;){if(d>=g){En+=f.substring(dr,d),A|=4,F(_.Unterminated_string_literal);break}let Cr=f.charCodeAt(d);if(Cr===Ht){En+=f.substring(dr,d),d++;break}if(Cr===92&&!vn){En+=f.substring(dr,d),En+=U(),dr=d;continue}if(Wl(Cr)&&!vn){En+=f.substring(dr,d),A|=4,F(_.Unterminated_string_literal);break}d++}return En}function Z(vn){let Ht=f.charCodeAt(d)===96;d++;let En=d,dr="",Cr;for(;;){if(d>=g){dr+=f.substring(En,d),A|=4,F(_.Unterminated_template_literal),Cr=Ht?14:17;break}let Se=f.charCodeAt(d);if(Se===96){dr+=f.substring(En,d),d++,Cr=Ht?14:17;break}if(Se===36&&d+1<g&&f.charCodeAt(d+1)===123){dr+=f.substring(En,d),d+=2,Cr=Ht?15:16;break}if(Se===92){dr+=f.substring(En,d),dr+=U(vn),En=d;continue}if(Se===13){dr+=f.substring(En,d),d++,d<g&&f.charCodeAt(d)===10&&d++,dr+=`
+`,En=d;continue}d++}return L.assert(Cr!==void 0),x=dr,Cr}function U(vn){let Ht=d;if(d++,d>=g)return F(_.Unexpected_end_of_text),"";let En=f.charCodeAt(d);switch(d++,En){case 48:return vn&&d<g&&sI(f.charCodeAt(d))?(d++,A|=2048,f.substring(Ht,d)):"\0";case 98:return"\b";case 116:return"	";case 110:return`
+`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:if(vn){for(let dr=d;dr<d+4;dr++)if(dr<g&&!z8(f.charCodeAt(dr))&&f.charCodeAt(dr)!==123)return d=dr,A|=2048,f.substring(Ht,d)}if(d<g&&f.charCodeAt(d)===123){if(d++,vn&&!z8(f.charCodeAt(d)))return A|=2048,f.substring(Ht,d);if(vn){let dr=d,Cr=ie(1,!1),Se=Cr?parseInt(Cr,16):-1;if(!ODe(Se)||f.charCodeAt(d)!==125)return A|=2048,f.substring(Ht,d);d=dr}return A|=8,le()}return A|=1024,re(4);case 120:if(vn)if(z8(f.charCodeAt(d))){if(!z8(f.charCodeAt(d+1)))return d++,A|=2048,f.substring(Ht,d)}else return A|=2048,f.substring(Ht,d);return re(2);case 13:d<g&&f.charCodeAt(d)===10&&d++;case 10:case 8232:case 8233:return"";default:return String.fromCharCode(En)}}function re(vn){let Ht=R(vn,!1);return Ht>=0?String.fromCharCode(Ht):(F(_.Hexadecimal_digit_expected),"")}function le(){let vn=ie(1,!1),Ht=vn?parseInt(vn,16):-1,En=!1;return Ht<0?(F(_.Hexadecimal_digit_expected),En=!0):Ht>1114111&&(F(_.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),En=!0),d>=g?(F(_.Unexpected_end_of_text),En=!0):f.charCodeAt(d)===125?d++:(F(_.Unterminated_Unicode_escape_sequence),En=!0),En?"":lI(Ht)}function _e(){if(d+5<g&&f.charCodeAt(d+1)===117){let vn=d;d+=2;let Ht=R(4,!1);return d=vn,Ht}return-1}function ge(){if(Dg(f,d+1)===117&&Dg(f,d+2)===123){let vn=d;d+=3;let Ht=ie(1,!1),En=Ht?parseInt(Ht,16):-1;return d=vn,En}return-1}function X(){let vn="",Ht=d;for(;d<g;){let En=Dg(f,d);if(tb(En,e))d+=By(En);else if(En===92){if(En=ge(),En>=0&&tb(En,e)){d+=3,A|=8,vn+=le(),Ht=d;continue}if(En=_e(),!(En>=0&&tb(En,e)))break;A|=1024,vn+=f.substring(Ht,d),vn+=lI(En),d+=6,Ht=d}else break}return vn+=f.substring(Ht,d),vn}function Ve(){let vn=x.length;if(vn>=2&&vn<=12){let Ht=x.charCodeAt(0);if(Ht>=97&&Ht<=122){let En=boe.get(x);if(En!==void 0)return S=En}}return S=79}function we(vn){let Ht="",En=!1,dr=!1;for(;;){let Cr=f.charCodeAt(d);if(Cr===95){A|=512,En?(En=!1,dr=!0):F(dr?_.Multiple_consecutive_numeric_separators_are_not_permitted:_.Numeric_separators_are_not_allowed_here,d,1),d++;continue}if(En=!0,!sI(Cr)||Cr-48>=vn)break;Ht+=f[d],d++,dr=!1}return f.charCodeAt(d-1)===95&&F(_.Numeric_separators_are_not_allowed_here,d-1,1),Ht}function ke(){return f.charCodeAt(d)===110?(x+="n",A&384&&(x=iL(x)+"n"),d++,9):(x=""+(A&128?parseInt(x.slice(2),2):A&256?parseInt(x.slice(2),8):+x),8)}function Pe(){m=d,A=0;let vn=!1;for(;;){if(v=d,d>=g)return S=1;let Ht=Dg(f,d);if(Ht===35&&d===0&&gj(f,d)){if(d=yj(f,d),t)continue;return S=6}switch(Ht){case 10:case 13:if(A|=1,t){d++;continue}else return Ht===13&&d+1<g&&f.charCodeAt(d+1)===10?d+=2:d++,S=4;case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8203:case 8239:case 8287:case 12288:case 65279:if(t){d++;continue}else{for(;d<g&&Yp(f.charCodeAt(d));)d++;return S=5}case 33:return f.charCodeAt(d+1)===61?f.charCodeAt(d+2)===61?(d+=3,S=37):(d+=2,S=35):(d++,S=53);case 34:case 39:return x=fe(),S=10;case 96:return S=Z(!1);case 37:return f.charCodeAt(d+1)===61?(d+=2,S=69):(d++,S=44);case 38:return f.charCodeAt(d+1)===38?f.charCodeAt(d+2)===61?(d+=3,S=76):(d+=2,S=55):f.charCodeAt(d+1)===61?(d+=2,S=73):(d++,S=50);case 40:return d++,S=20;case 41:return d++,S=21;case 42:if(f.charCodeAt(d+1)===61)return d+=2,S=66;if(f.charCodeAt(d+1)===42)return f.charCodeAt(d+2)===61?(d+=3,S=67):(d+=2,S=42);if(d++,C&&!vn&&A&1){vn=!0;continue}return S=41;case 43:return f.charCodeAt(d+1)===43?(d+=2,S=45):f.charCodeAt(d+1)===61?(d+=2,S=64):(d++,S=39);case 44:return d++,S=27;case 45:return f.charCodeAt(d+1)===45?(d+=2,S=46):f.charCodeAt(d+1)===61?(d+=2,S=65):(d++,S=40);case 46:return sI(f.charCodeAt(d+1))?(x=q().value,S=8):f.charCodeAt(d+1)===46&&f.charCodeAt(d+2)===46?(d+=3,S=25):(d++,S=24);case 47:if(f.charCodeAt(d+1)===47){for(d+=2;d<g&&!Wl(f.charCodeAt(d));)d++;if(w=Ye(w,f.slice(v,d),Ioe,v),t)continue;return S=2}if(f.charCodeAt(d+1)===42){d+=2,f.charCodeAt(d)===42&&f.charCodeAt(d+1)!==47&&(A|=2);let Tt=!1,ve=v;for(;d<g;){let nt=f.charCodeAt(d);if(nt===42&&f.charCodeAt(d+1)===47){d+=2,Tt=!0;break}d++,Wl(nt)&&(ve=d,A|=1)}if(w=Ye(w,f.slice(ve,d),Loe,ve),Tt||F(_.Asterisk_Slash_expected),t)continue;return Tt||(A|=4),S=3}return f.charCodeAt(d+1)===61?(d+=2,S=68):(d++,S=43);case 48:if(d+2<g&&(f.charCodeAt(d+1)===88||f.charCodeAt(d+1)===120))return d+=2,x=ie(1,!0),x||(F(_.Hexadecimal_digit_expected),x="0"),x="0x"+x,A|=64,S=ke();if(d+2<g&&(f.charCodeAt(d+1)===66||f.charCodeAt(d+1)===98))return d+=2,x=we(2),x||(F(_.Binary_digit_expected),x="0"),x="0b"+x,A|=128,S=ke();if(d+2<g&&(f.charCodeAt(d+1)===79||f.charCodeAt(d+1)===111))return d+=2,x=we(8),x||(F(_.Octal_digit_expected),x="0"),x="0o"+x,A|=256,S=ke();if(d+1<g&&hj(f.charCodeAt(d+1)))return x=""+Y(),A|=32,S=8;case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return{type:S,value:x}=q(),S;case 58:return d++,S=58;case 59:return d++,S=26;case 60:if(yA(f,d)){if(d=cI(f,d,F),t)continue;return S=7}return f.charCodeAt(d+1)===60?f.charCodeAt(d+2)===61?(d+=3,S=70):(d+=2,S=47):f.charCodeAt(d+1)===61?(d+=2,S=32):r===1&&f.charCodeAt(d+1)===47&&f.charCodeAt(d+2)!==42?(d+=2,S=30):(d++,S=29);case 61:if(yA(f,d)){if(d=cI(f,d,F),t)continue;return S=7}return f.charCodeAt(d+1)===61?f.charCodeAt(d+2)===61?(d+=3,S=36):(d+=2,S=34):f.charCodeAt(d+1)===62?(d+=2,S=38):(d++,S=63);case 62:if(yA(f,d)){if(d=cI(f,d,F),t)continue;return S=7}return d++,S=31;case 63:return f.charCodeAt(d+1)===46&&!sI(f.charCodeAt(d+2))?(d+=2,S=28):f.charCodeAt(d+1)===63?f.charCodeAt(d+2)===61?(d+=3,S=77):(d+=2,S=60):(d++,S=57);case 91:return d++,S=22;case 93:return d++,S=23;case 94:return f.charCodeAt(d+1)===61?(d+=2,S=78):(d++,S=52);case 123:return d++,S=18;case 124:if(yA(f,d)){if(d=cI(f,d,F),t)continue;return S=7}return f.charCodeAt(d+1)===124?f.charCodeAt(d+2)===61?(d+=3,S=75):(d+=2,S=56):f.charCodeAt(d+1)===61?(d+=2,S=74):(d++,S=51);case 125:return d++,S=19;case 126:return d++,S=54;case 64:return d++,S=59;case 92:let En=ge();if(En>=0&&Pm(En,e))return d+=3,A|=8,x=le()+X(),S=Ve();let dr=_e();return dr>=0&&Pm(dr,e)?(d+=6,A|=1024,x=String.fromCharCode(dr)+X(),S=Ve()):(F(_.Invalid_character),d++,S=0);case 35:if(d!==0&&f[d+1]==="!")return F(_.can_only_be_used_at_the_start_of_a_file),d++,S=0;let Cr=Dg(f,d+1);if(Cr===92){d++;let Tt=ge();if(Tt>=0&&Pm(Tt,e))return d+=3,A|=8,x="#"+le()+X(),S=80;let ve=_e();if(ve>=0&&Pm(ve,e))return d+=6,A|=1024,x="#"+String.fromCharCode(ve)+X(),S=80;d--}return Pm(Cr,e)?(d++,Ie(Cr,e)):(x="#",F(_.Invalid_character,d++,By(Ht))),S=80;default:let Se=Ie(Ht,e);if(Se)return S=Se;if(Yp(Ht)){d+=By(Ht);continue}else if(Wl(Ht)){A|=1,d+=By(Ht);continue}let at=By(Ht);return F(_.Invalid_character,d,at),d+=at,S=0}}}function Ce(){L.assert(S===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),d=v=m,A=0;let vn=Dg(f,d),Ht=Ie(vn,99);return Ht?S=Ht:(d+=By(vn),S)}function Ie(vn,Ht){let En=vn;if(Pm(En,Ht)){for(d+=By(En);d<g&&tb(En=Dg(f,d),Ht);)d+=By(En);return x=f.substring(v,d),En===92&&(x+=X()),Ve()}}function Be(){if(S===31){if(f.charCodeAt(d)===62)return f.charCodeAt(d+1)===62?f.charCodeAt(d+2)===61?(d+=3,S=72):(d+=2,S=49):f.charCodeAt(d+1)===61?(d+=2,S=71):(d++,S=48);if(f.charCodeAt(d)===61)return d++,S=33}return S}function Ne(){return L.assert(S===66,"'reScanAsteriskEqualsToken' should only be called on a '*='"),d=v+1,S=63}function Le(){if(S===43||S===68){let vn=v+1,Ht=!1,En=!1;for(;;){if(vn>=g){A|=4,F(_.Unterminated_regular_expression_literal);break}let dr=f.charCodeAt(vn);if(Wl(dr)){A|=4,F(_.Unterminated_regular_expression_literal);break}if(Ht)Ht=!1;else if(dr===47&&!En){vn++;break}else dr===91?En=!0:dr===92?Ht=!0:dr===93&&(En=!1);vn++}for(;vn<g&&tb(f.charCodeAt(vn),e);)vn++;d=vn,x=f.substring(v,d),S=13}return S}function Ye(vn,Ht,En,dr){let Cr=_t(ZC(Ht),En);return Cr===void 0?vn:Sn(vn,{range:{pos:dr,end:d},type:Cr})}function _t(vn,Ht){let En=Ht.exec(vn);if(En)switch(En[1]){case"ts-expect-error":return 0;case"ts-ignore":return 1}}function ct(vn){return L.assert(S===19,"'reScanTemplateToken' should only be called on a '}'"),d=v,S=Z(vn)}function Rt(){return d=v,S=Z(!0)}function We(vn=!0){return d=v=m,S=tn(vn)}function qe(){return S===47?(d=v+1,S=29):S}function zt(){return S===80?(d=v+1,S=62):S}function Qt(){return L.assert(S===60,"'reScanQuestionToken' should only be called on a '??'"),d=v+1,S=57}function tn(vn=!0){if(m=v=d,d>=g)return S=1;let Ht=f.charCodeAt(d);if(Ht===60)return f.charCodeAt(d+1)===47?(d+=2,S=30):(d++,S=29);if(Ht===123)return d++,S=18;let En=0;for(;d<g&&(Ht=f.charCodeAt(d),Ht!==123);){if(Ht===60){if(yA(f,d))return d=cI(f,d,F),S=7;break}if(Ht===62&&F(_.Unexpected_token_Did_you_mean_or_gt,d,1),Ht===125&&F(_.Unexpected_token_Did_you_mean_or_rbrace,d,1),Wl(Ht)&&En===0)En=-1;else{if(!vn&&Wl(Ht)&&En>0)break;xh(Ht)||(En=d)}d++}return x=f.substring(m,d),En===-1?12:11}function kn(){if(Su(S)){let vn=!1;for(;d<g;){let Ht=f.charCodeAt(d);if(Ht===45){x+="-",d++;continue}else if(Ht===58&&!vn){x+=":",d++,vn=!0,S=79;continue}let En=d;if(x+=X(),d===En)break}return x.slice(-1)===":"&&(x=x.slice(0,-1),d--),Ve()}return S}function _n(){switch(m=d,f.charCodeAt(d)){case 34:case 39:return x=fe(!0),S=10;default:return Pe()}}function Gt(){return d=v=m,_n()}function $n(){if(m=v=d,A=0,d>=g)return S=1;let vn=Dg(f,d);switch(d+=By(vn),vn){case 9:case 11:case 12:case 32:for(;d<g&&Yp(f.charCodeAt(d));)d++;return S=5;case 64:return S=59;case 13:f.charCodeAt(d)===10&&d++;case 10:return A|=1,S=4;case 42:return S=41;case 123:return S=18;case 125:return S=19;case 91:return S=22;case 93:return S=23;case 60:return S=29;case 62:return S=31;case 61:return S=63;case 44:return S=27;case 46:return S=24;case 96:return S=61;case 35:return S=62;case 92:d--;let Ht=ge();if(Ht>=0&&Pm(Ht,e))return d+=3,A|=8,x=le()+X(),S=Ve();let En=_e();return En>=0&&Pm(En,e)?(d+=6,A|=1024,x=String.fromCharCode(En)+X(),S=Ve()):(d++,S=0)}if(Pm(vn,e)){let Ht=vn;for(;d<g&&tb(Ht=Dg(f,d),e)||f.charCodeAt(d)===45;)d+=By(Ht);return x=f.substring(v,d),Ht===92&&(x+=X()),S=Ve()}else return S=0}function ui(vn,Ht){let En=d,dr=m,Cr=v,Se=S,at=x,Tt=A,ve=vn();return(!ve||Ht)&&(d=En,m=dr,v=Cr,S=Se,x=at,A=Tt),ve}function Ni(vn,Ht,En){let dr=g,Cr=d,Se=m,at=v,Tt=S,ve=x,nt=A,ce=w;Dt(f,vn,Ht);let Q=En();return g=dr,d=Cr,m=Se,v=at,S=Tt,x=ve,A=nt,w=ce,Q}function Pi(vn){return ui(vn,!0)}function gr(vn){return ui(vn,!1)}function pt(){return f}function nn(){w=void 0}function Dt(vn,Ht,En){f=vn||"",g=En===void 0?f.length:Ht+En,hi(Ht||0)}function pn(vn){o=vn}function An(vn){e=vn}function Kn(vn){r=vn}function hi(vn){L.assert(vn>=0),d=vn,m=vn,v=vn,S=0,x=void 0,A=0}function ri(vn){C+=vn?1:-1}}function By(e){return e>=65536?2:1}function NDe(e){if(L.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);let t=Math.floor((e-65536)/1024)+55296,r=(e-65536)%1024+56320;return String.fromCharCode(t,r)}function lI(e){return Doe(e)}var Ew,boe,vj,Eoe,Toe,Soe,xoe,Aoe,Coe,Ioe,Loe,koe,Tw,q8,Dg,Doe,PDe=gt({"src/compiler/scanner.ts"(){"use strict";fa(),Ew={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85,constructor:135,debugger:87,declare:136,default:88,delete:89,do:90,else:91,enum:92,export:93,extends:94,false:95,finally:96,for:97,from:158,function:98,get:137,if:99,implements:117,import:100,in:101,infer:138,instanceof:102,interface:118,intrinsic:139,is:140,keyof:141,let:119,module:142,namespace:143,never:144,new:103,null:104,number:148,object:149,package:120,private:121,protected:122,public:123,override:161,out:145,readonly:146,require:147,global:159,return:105,satisfies:150,set:151,static:124,string:152,super:106,switch:107,symbol:153,this:108,throw:109,true:110,try:111,type:154,typeof:112,undefined:155,unique:156,unknown:157,var:113,void:114,while:115,with:116,yield:125,async:132,await:133,of:162},boe=new Map(Object.entries(Ew)),vj=new Map(Object.entries({...Ew,"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,"</":30,">>":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61})),Eoe=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Toe=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],Soe=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],xoe=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Aoe=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],Coe=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],Ioe=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,Loe=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,koe=RDe(vj),Tw=7,q8=/^#!.*/,Dg=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):function(t,r){let i=t.length;if(r<0||r>=i)return;let o=t.charCodeAt(r);if(o>=55296&&o<=56319&&i>r+1){let s=t.charCodeAt(r+1);if(s>=56320&&s<=57343)return(o-55296)*1024+s-56320+65536}return o},Doe=String.fromCodePoint?e=>String.fromCodePoint(e):NDe}});function fl(e){return Jd(e)||qp(e)}function vA(e){return HD(e,ZI)}function X8(e){switch(Do(e)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function wl(e){return e.start+e.length}function woe(e){return e.length===0}function bj(e,t){return t>=e.start&&t<wl(e)}function Y8(e,t){return t>=e.pos&&t<=e.end}function Roe(e,t){return t.start>=e.start&&wl(t)<=wl(e)}function MDe(e,t){return Ooe(e,t)!==void 0}function Ooe(e,t){let r=Poe(e,t);return r&&r.length===0?void 0:r}function FDe(e,t){return Q8(e.start,e.length,t.start,t.length)}function $8(e,t,r){return Q8(e.start,e.length,t,r)}function Q8(e,t,r,i){let o=e+t,s=r+i;return r<=o&&s>=e}function Noe(e,t){return t<=wl(e)&&t>=e.start}function Poe(e,t){let r=Math.max(e.start,t.start),i=Math.min(wl(e),wl(t));return r<=i?Wc(r,i):void 0}function il(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function Wc(e,t){return il(e,t-e)}function uI(e){return il(e.span.start,e.newLength)}function Moe(e){return woe(e.span)&&e.newLength===0}function Sw(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function GDe(e){if(e.length===0)return $j;if(e.length===1)return e[0];let t=e[0],r=t.span.start,i=wl(t.span),o=r+t.newLength;for(let s=1;s<e.length;s++){let l=e[s],f=r,d=i,g=o,m=l.span.start,v=wl(l.span),S=m+l.newLength;r=Math.min(f,m),i=Math.max(d,d+(v-g)),o=Math.max(S,S+(g-v))}return Sw(Wc(r,i),o-r)}function BDe(e){if(e&&e.kind===165){for(let t=e;t;t=t.parent)if(Ia(t)||Yr(t)||t.kind===261)return t}}function Ad(e,t){return ha(e)&&Mr(e,16476)&&t.kind===173}function Foe(e){return La(e)?Ji(e.elements,Goe):!1}function Goe(e){return ol(e)?!0:Foe(e.name)}function bA(e){let t=e.parent;for(;Wo(t.parent);)t=t.parent.parent;return t.parent}function Ej(e,t){Wo(e)&&(e=bA(e));let r=t(e);return e.kind===257&&(e=e.parent),e&&e.kind===258&&(r|=t(e),e=e.parent),e&&e.kind===240&&(r|=t(e)),r}function wg(e){return Ej(e,uu)}function Tj(e){return Ej(e,Jce)}function G_(e){return Ej(e,t=>t.flags)}function UDe(e,t,r){let i=e.toLowerCase(),o=/^([a-z]+)([_\-]([a-z]+))?$/.exec(i);if(!o){r&&r.push(ps(_.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp"));return}let s=o[1],l=o[3];ya(Qj,i)&&!f(s,l,r)&&f(s,void 0,r),Aae(e);function f(d,g,m){let v=So(t.getExecutingFilePath()),S=ni(v),x=vi(S,d);if(g&&(x=x+"-"+g),x=t.resolvePath(vi(x,"diagnosticMessages.generated.json")),!t.fileExists(x))return!1;let A="";try{A=t.readFile(x)}catch{return m&&m.push(ps(_.Unable_to_open_file_0,x)),!1}try{ple(JSON.parse(A))}catch{return m&&m.push(ps(_.Corrupted_locale_file_0,x)),!1}return!0}}function ec(e,t){if(e)for(;e.original!==void 0;)e=e.original;return!e||!t||t(e)?e:void 0}function jn(e,t){for(;e;){let r=t(e);if(r==="quit")return;if(r)return e;e=e.parent}}function dI(e){return(e.flags&8)===0}function ea(e,t){if(e===void 0||dI(e))return e;for(e=e.original;e;){if(dI(e))return!t||t(e)?e:void 0;e=e.original}}function Bs(e){return e.length>=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}function Gi(e){let t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}function vr(e){return Gi(e.escapedText)}function nb(e){let t=lT(e.escapedText);return t?zr(t,Xu):void 0}function fc(e){return e.valueDeclaration&&xu(e.valueDeclaration)?vr(e.valueDeclaration.name):Gi(e.escapedName)}function Boe(e){let t=e.parent.parent;if(t){if(Kl(t))return Z8(t);switch(t.kind){case 240:if(t.declarationList&&t.declarationList.declarations[0])return Z8(t.declarationList.declarations[0]);break;case 241:let r=t.expression;switch(r.kind===223&&r.operatorToken.kind===63&&(r=r.left),r.kind){case 208:return r.name;case 209:let i=r.argumentExpression;if(Re(i))return i}break;case 214:return Z8(t.expression);case 253:{if(Kl(t.statement)||ot(t.statement))return Z8(t.statement);break}}}}function Z8(e){let t=sa(e);return t&&Re(t)?t:void 0}function xw(e,t){return!!(zl(e)&&Re(e.name)&&vr(e.name)===vr(t)||Bc(e)&&vt(e.declarationList.declarations,r=>xw(r,t)))}function Uoe(e){return e.name||Boe(e)}function zl(e){return!!e.name}function Sj(e){switch(e.kind){case 79:return e;case 351:case 344:{let{name:r}=e;if(r.kind===163)return r.right;break}case 210:case 223:{let r=e;switch(ic(r)){case 1:case 4:case 5:case 3:return W6(r.left);case 7:case 8:case 9:return r.arguments[1];default:return}}case 349:return Uoe(e);case 343:return Boe(e);case 274:{let{expression:r}=e;return Re(r)?r:void 0}case 209:let t=e;if(H6(t))return t.argumentExpression}return e.name}function sa(e){if(e!==void 0)return Sj(e)||(ms(e)||xs(e)||_u(e)?xj(e):void 0)}function xj(e){if(e.parent){if(yl(e.parent)||Wo(e.parent))return e.parent.name;if(ar(e.parent)&&e===e.parent.right){if(Re(e.parent.left))return e.parent.left;if(Us(e.parent.left))return W6(e.parent.left)}else if(wi(e.parent)&&Re(e.parent.name))return e.parent.name}else return}function Uy(e){if(bf(e))return Pr(e.modifiers,du)}function uT(e){if(Mr(e,126975))return Pr(e.modifiers,Ha)}function Voe(e,t){if(e.name)if(Re(e.name)){let r=e.name.escapedText;return _I(e.parent,t).filter(i=>xp(i)&&Re(i.name)&&i.name.escapedText===r)}else{let r=e.parent.parameters.indexOf(e);L.assert(r>-1,"Parameters should always be in their parents' parameter list");let i=_I(e.parent,t).filter(xp);if(r<i.length)return[i[r]]}return Je}function fI(e){return Voe(e,!1)}function joe(e){return Voe(e,!0)}function Hoe(e,t){let r=e.name.escapedText;return _I(e.parent,t).filter(i=>H_(i)&&i.typeParameters.some(o=>o.name.escapedText===r))}function Woe(e){return Hoe(e,!1)}function zoe(e){return Hoe(e,!0)}function Joe(e){return!!gf(e,xp)}function Koe(e){return gf(e,x2)}function qoe(e){return kj(e,qz)}function Aj(e){return gf(e,Xue)}function VDe(e){return gf(e,jz)}function Xoe(e){return gf(e,jz,!0)}function jDe(e){return gf(e,Hz)}function Yoe(e){return gf(e,Hz,!0)}function HDe(e){return gf(e,Wz)}function $oe(e){return gf(e,Wz,!0)}function WDe(e){return gf(e,zz)}function Qoe(e){return gf(e,zz,!0)}function Zoe(e){return gf(e,g3,!0)}function Cj(e){return gf(e,Jz)}function ese(e){return gf(e,Jz,!0)}function Ij(e){return gf(e,vO)}function e6(e){return gf(e,Yue)}function tse(e){return gf(e,y3)}function zDe(e){return gf(e,H_)}function Lj(e){return gf(e,v3)}function x0(e){let t=gf(e,DL);if(t&&t.typeExpression&&t.typeExpression.type)return t}function Vy(e){let t=gf(e,DL);return!t&&ha(e)&&(t=wr(fI(e),r=>!!r.typeExpression)),t&&t.typeExpression&&t.typeExpression.type}function Aw(e){let t=tse(e);if(t&&t.typeExpression)return t.typeExpression.type;let r=x0(e);if(r&&r.typeExpression){let i=r.typeExpression.type;if(Rd(i)){let o=wr(i.members,_2);return o&&o.type}if(Jm(i)||S2(i))return i.type}}function _I(e,t){var r,i;if(!lR(e))return Je;let o=(r=e.jsDoc)==null?void 0:r.jsDocCache;if(o===void 0||t){let s=PH(e,t);L.assert(s.length<2||s[0]!==s[1]),o=Uo(s,l=>dm(l)?l.tags:l),t||((i=e.jsDoc)!=null||(e.jsDoc=[]),e.jsDoc.jsDocCache=o)}return o}function A0(e){return _I(e,!1)}function JDe(e){return _I(e,!0)}function gf(e,t,r){return wr(_I(e,r),t)}function kj(e,t){return A0(e).filter(t)}function KDe(e,t){return A0(e).filter(r=>r.kind===t)}function Cw(e){return typeof e=="string"?e:e?.map(t=>t.kind===324?t.text:qDe(t)).join("")}function qDe(e){let t=e.kind===327?"link":e.kind===328?"linkcode":"linkplain",r=e.name?qd(e.name):"",i=e.name&&e.text.startsWith("://")?"":" ";return`{@${t} ${r}${i}${e.text}}`}function jy(e){if(X0(e)){if(kL(e.parent)){let t=OI(e.parent);if(t&&Fn(t.tags))return Uo(t.tags,r=>H_(r)?r.typeParameters:void 0)}return Je}if(Ff(e))return L.assert(e.parent.kind===323),Uo(e.parent.tags,t=>H_(t)?t.typeParameters:void 0);if(e.typeParameters||sde(e)&&e.typeParameters)return e.typeParameters;if(Yn(e)){let t=t4(e);if(t.length)return t;let r=Vy(e);if(r&&Jm(r)&&r.typeParameters)return r.typeParameters}return Je}function EA(e){return e.constraint?e.constraint:H_(e.parent)&&e===e.parent.typeParameters[0]?e.parent.constraint:void 0}function Ah(e){return e.kind===79||e.kind===80}function t6(e){return e.kind===175||e.kind===174}function n6(e){return br(e)&&!!(e.flags&32)}function Dj(e){return Vs(e)&&!!(e.flags&32)}function dT(e){return Pa(e)&&!!(e.flags&32)}function Jl(e){let t=e.kind;return!!(e.flags&32)&&(t===208||t===209||t===210||t===232)}function pI(e){return Jl(e)&&!PS(e)&&!!e.questionDotToken}function r6(e){return pI(e.parent)&&e.parent.expression===e}function mI(e){return!Jl(e.parent)||pI(e.parent)||e!==e.parent.expression}function wj(e){return e.kind===223&&e.operatorToken.kind===60}function Ch(e){return m_(e)&&Re(e.typeName)&&e.typeName.escapedText==="const"&&!e.typeArguments}function a_(e){return ql(e,8)}function i6(e){return PS(e)&&!!(e.flags&32)}function hI(e){return e.kind===249||e.kind===248}function Rj(e){return e.kind===277||e.kind===276}function nse(e){switch(e.kind){case 305:case 306:return!0;default:return!1}}function Oj(e){return nse(e)||e.kind===303||e.kind===307}function a6(e){return e.kind===351||e.kind===344}function XDe(e){return Iw(e.kind)}function Iw(e){return e>=163}function Nj(e){return e>=0&&e<=162}function Z1(e){return Nj(e.kind)}function C0(e){return fs(e,"pos")&&fs(e,"end")}function gI(e){return 8<=e&&e<=14}function fT(e){return gI(e.kind)}function Pj(e){switch(e.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}function Hy(e){return 14<=e&&e<=17}function rse(e){return Hy(e.kind)}function o6(e){let t=e.kind;return t===16||t===17}function eS(e){return $u(e)||Mu(e)}function Mj(e){switch(e.kind){case 273:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 271:return e.parent.isTypeOnly;case 270:case 268:return e.isTypeOnly}return!1}function ise(e){switch(e.kind){case 278:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 275:return e.isTypeOnly&&!!e.moduleSpecifier&&!e.exportClause;case 277:return e.parent.isTypeOnly}return!1}function I0(e){return Mj(e)||ise(e)}function ase(e){return yo(e)||Re(e)}function Fj(e){return e.kind===10||Hy(e.kind)}function tc(e){var t;return Re(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function tS(e){var t;return pi(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function xu(e){return(Na(e)||xA(e))&&pi(e.name)}function TA(e){return br(e)&&pi(e.name)}function Rg(e){switch(e){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}function yI(e){return!!(gS(e)&16476)}function Gj(e){return yI(e)||e===124||e===161||e===127}function Ha(e){return Rg(e.kind)}function Cd(e){let t=e.kind;return t===163||t===79}function Ys(e){let t=e.kind;return t===79||t===80||t===10||t===8||t===164}function Mm(e){let t=e.kind;return t===79||t===203||t===204}function Ia(e){return!!e&&nS(e.kind)}function SA(e){return!!e&&(nS(e.kind)||oc(e))}function Ds(e){return e&&sse(e.kind)}function ose(e){return e.kind===110||e.kind===95}function sse(e){switch(e){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function nS(e){switch(e){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return sse(e)}}function Bj(e){return Li(e)||Tp(e)||Va(e)&&Ia(e.parent)}function _l(e){let t=e.kind;return t===173||t===169||t===171||t===174||t===175||t===178||t===172||t===237}function Yr(e){return e&&(e.kind===260||e.kind===228)}function rb(e){return e&&(e.kind===174||e.kind===175)}function Id(e){return Na(e)&&rm(e)}function xA(e){switch(e.kind){case 171:case 174:case 175:return!0;default:return!1}}function cse(e){switch(e.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}function Ns(e){return Ha(e)||du(e)}function _T(e){let t=e.kind;return t===177||t===176||t===168||t===170||t===178||t===174||t===175}function s6(e){return _T(e)||_l(e)}function Og(e){let t=e.kind;return t===299||t===300||t===301||t===171||t===174||t===175}function bi(e){return vW(e.kind)}function lse(e){switch(e.kind){case 181:case 182:return!0}return!1}function La(e){if(e){let t=e.kind;return t===204||t===203}return!1}function vI(e){let t=e.kind;return t===206||t===207}function c6(e){let t=e.kind;return t===205||t===229}function Lw(e){switch(e.kind){case 257:case 166:case 205:return!0}return!1}function use(e){return wi(e)||ha(e)||Dw(e)||ww(e)}function kw(e){return Uj(e)||Vj(e)}function Uj(e){switch(e.kind){case 203:case 207:return!0}return!1}function Dw(e){switch(e.kind){case 205:case 299:case 300:case 301:return!0}return!1}function Vj(e){switch(e.kind){case 204:case 206:return!0}return!1}function ww(e){switch(e.kind){case 205:case 229:case 227:case 206:case 207:case 79:case 208:case 209:return!0}return Iu(e,!0)}function dse(e){let t=e.kind;return t===208||t===163||t===202}function fse(e){let t=e.kind;return t===208||t===163}function rS(e){switch(e.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}function Ih(e){return e.kind===210||e.kind===211}function AA(e){let t=e.kind;return t===225||t===14}function Ju(e){return _se(a_(e).kind)}function _se(e){switch(e){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:case 279:return!0;default:return!1}}function jj(e){return pse(a_(e).kind)}function pse(e){switch(e){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return _se(e)}}function mse(e){switch(e.kind){case 222:return!0;case 221:return e.operator===45||e.operator===46;default:return!1}}function hse(e){switch(e.kind){case 104:case 110:case 95:case 221:return!0;default:return fT(e)}}function ot(e){return YDe(a_(e).kind)}function YDe(e){switch(e){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 357:case 356:case 235:return!0;default:return pse(e)}}function pT(e){let t=e.kind;return t===213||t===231}function $De(e){return Gz(e)||_3(e)}function Wy(e,t){switch(e.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return t&&Wy(e.statement,t)}return!1}function gse(e){return pc(e)||Il(e)}function yse(e){return vt(e,gse)}function l6(e){return!Uw(e)&&!pc(e)&&!Mr(e,1)&&!lu(e)}function Rw(e){return Uw(e)||pc(e)||Mr(e,1)}function CA(e){return e.kind===246||e.kind===247}function u6(e){return Va(e)||ot(e)}function Hj(e){return Va(e)}function pp(e){return pu(e)||ot(e)}function vse(e){let t=e.kind;return t===265||t===264||t===79}function QDe(e){let t=e.kind;return t===265||t===264}function ZDe(e){let t=e.kind;return t===79||t===264}function Wj(e){let t=e.kind;return t===272||t===271}function Ow(e){return e.kind===264||e.kind===263}function $p(e){switch(e.kind){case 216:case 223:case 205:case 210:case 176:case 260:case 228:case 172:case 173:case 182:case 177:case 209:case 263:case 302:case 274:case 275:case 278:case 259:case 215:case 181:case 174:case 79:case 270:case 268:case 273:case 178:case 261:case 341:case 343:case 320:case 344:case 351:case 326:case 349:case 325:case 288:case 289:case 290:case 197:case 171:case 170:case 264:case 199:case 277:case 267:case 271:case 211:case 14:case 8:case 207:case 166:case 208:case 299:case 169:case 168:case 175:case 300:case 308:case 301:case 10:case 262:case 184:case 165:case 257:return!0;default:return!1}}function Qp(e){switch(e.kind){case 216:case 238:case 176:case 266:case 295:case 172:case 191:case 173:case 182:case 177:case 245:case 246:case 247:case 259:case 215:case 181:case 174:case 178:case 341:case 343:case 320:case 326:case 349:case 197:case 171:case 170:case 264:case 175:case 308:case 262:return!0;default:return!1}}function ewe(e){return e===216||e===205||e===260||e===228||e===172||e===173||e===263||e===302||e===278||e===259||e===215||e===174||e===270||e===268||e===273||e===261||e===288||e===171||e===170||e===264||e===267||e===271||e===277||e===166||e===299||e===169||e===168||e===175||e===300||e===262||e===165||e===257||e===349||e===341||e===351}function zj(e){return e===259||e===279||e===260||e===261||e===262||e===263||e===264||e===269||e===268||e===275||e===274||e===267}function Jj(e){return e===249||e===248||e===256||e===243||e===241||e===239||e===246||e===247||e===245||e===242||e===253||e===250||e===252||e===254||e===255||e===240||e===244||e===251||e===355||e===359||e===358}function Kl(e){return e.kind===165?e.parent&&e.parent.kind!==348||Yn(e):ewe(e.kind)}function bse(e){return zj(e.kind)}function Nw(e){return Jj(e.kind)}function ca(e){let t=e.kind;return Jj(t)||zj(t)||twe(e)}function twe(e){return e.kind!==238||e.parent!==void 0&&(e.parent.kind===255||e.parent.kind===295)?!1:!bT(e)}function Ese(e){let t=e.kind;return Jj(t)||zj(t)||t===238}function Tse(e){let t=e.kind;return t===280||t===163||t===79}function bI(e){let t=e.kind;return t===108||t===79||t===208}function Pw(e){let t=e.kind;return t===281||t===291||t===282||t===11||t===285}function d6(e){let t=e.kind;return t===288||t===290}function Sse(e){let t=e.kind;return t===10||t===291}function Au(e){let t=e.kind;return t===283||t===282}function Kj(e){let t=e.kind;return t===292||t===293}function IA(e){return e.kind>=312&&e.kind<=353}function qj(e){return e.kind===323||e.kind===322||e.kind===324||iS(e)||EI(e)||LL(e)||X0(e)}function EI(e){return e.kind>=330&&e.kind<=353}function Ng(e){return e.kind===175}function zy(e){return e.kind===174}function Kd(e){if(!lR(e))return!1;let{jsDoc:t}=e;return!!t&&t.length>0}function f6(e){return!!e.type}function Jy(e){return!!e.initializer}function mT(e){switch(e.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}function Xj(e){return e.kind===288||e.kind===290||Og(e)}function _6(e){return e.kind===180||e.kind===230}function xse(e){let t=Zj;for(let r of e){if(!r.length)continue;let i=0;for(;i<r.length&&i<t&&xh(r.charCodeAt(i));i++);if(i<t&&(t=i),t===0)return 0}return t===Zj?void 0:t}function es(e){return e.kind===10||e.kind===14}function iS(e){return e.kind===327||e.kind===328||e.kind===329}function Yj(e){let t=Os(e.parameters);return!!t&&Fm(t)}function Fm(e){let t=xp(e)?e.typeExpression&&e.typeExpression.type:e.type;return e.dotDotDotToken!==void 0||!!t&&t.kind===321}var $j,Qj,Zj,nwe=gt({"src/compiler/utilitiesPublic.ts"(){"use strict";fa(),$j=Sw(il(0,0),0),Qj=["cs","de","es","fr","it","ja","ko","pl","pt-br","ru","tr","zh-cn","zh-tw"],Zj=1073741823}});function nc(e,t){let r=e.declarations;if(r){for(let i of r)if(i.kind===t)return i}}function Ase(e,t){return Pr(e.declarations||Je,r=>r.kind===t)}function Ua(e){let t=new Map;if(e)for(let r of e)t.set(r.escapedName,r);return t}function Zp(e){return(e.flags&33554432)!==0}function rwe(){var e="";let t=r=>e+=r;return{getText:()=>e,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(r,i)=>t(r),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&xh(e.charCodeAt(e.length-1)),writeLine:()=>e+=" ",increaseIndent:Ba,decreaseIndent:Ba,clear:()=>e=""}}function eH(e,t){return e.configFilePath!==t.configFilePath||Cse(e,t)}function Cse(e,t){return LA(e,t,U3)}function Ise(e,t){return LA(e,t,GJ)}function LA(e,t,r){return e!==t&&r.some(i=>!GW(f4(e,i),f4(t,i)))}function Lse(e,t){for(;;){let r=t(e);if(r==="quit")return;if(r!==void 0)return r;if(Li(e))return;e=e.parent}}function Ld(e,t){let r=e.entries();for(let[i,o]of r){let s=t(o,i);if(s)return s}}function TI(e,t){let r=e.keys();for(let i of r){let o=t(i);if(o)return o}}function Mw(e,t){e.forEach((r,i)=>{t.set(i,r)})}function SI(e){let t=uL.getText();try{return e(uL),uL.getText()}finally{uL.clear(),uL.writeKeyword(t)}}function Fw(e){return e.end-e.pos}function kA(e,t,r){var i,o;return(o=(i=e?.resolvedModules)==null?void 0:i.get(t,r))==null?void 0:o.resolvedModule}function kse(e,t,r,i){e.resolvedModules||(e.resolvedModules=WT()),e.resolvedModules.set(t,i,r)}function Dse(e,t,r,i){e.resolvedTypeReferenceDirectiveNames||(e.resolvedTypeReferenceDirectiveNames=WT()),e.resolvedTypeReferenceDirectiveNames.set(t,i,r)}function iwe(e,t,r){var i,o;return(o=(i=e?.resolvedTypeReferenceDirectiveNames)==null?void 0:i.get(t,r))==null?void 0:o.resolvedTypeReferenceDirective}function tH(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular}function wse(e,t){return e===t||e.resolvedModule===t.resolvedModule||!!e.resolvedModule&&!!t.resolvedModule&&e.resolvedModule.isExternalLibraryImport===t.resolvedModule.isExternalLibraryImport&&e.resolvedModule.extension===t.resolvedModule.extension&&e.resolvedModule.resolvedFileName===t.resolvedModule.resolvedFileName&&e.resolvedModule.originalPath===t.resolvedModule.originalPath&&awe(e.resolvedModule.packageId,t.resolvedModule.packageId)}function awe(e,t){return e===t||!!e&&!!t&&e.name===t.name&&e.subModuleName===t.subModuleName&&e.version===t.version}function p6({name:e,subModuleName:t}){return t?`${e}/${t}`:e}function hT(e){return`${p6(e)}@${e.version}`}function Rse(e,t){return e===t||e.resolvedTypeReferenceDirective===t.resolvedTypeReferenceDirective||!!e.resolvedTypeReferenceDirective&&!!t.resolvedTypeReferenceDirective&&e.resolvedTypeReferenceDirective.resolvedFileName===t.resolvedTypeReferenceDirective.resolvedFileName&&!!e.resolvedTypeReferenceDirective.primary==!!t.resolvedTypeReferenceDirective.primary&&e.resolvedTypeReferenceDirective.originalPath===t.resolvedTypeReferenceDirective.originalPath}function nH(e,t,r,i,o,s){L.assert(e.length===r.length);for(let l=0;l<e.length;l++){let f=r[l],d=e[l],g=s.getName(d),m=s.getMode(d,t),v=i&&i.get(g,m);if(v?!f||!o(v,f):f)return!0}return!1}function Gw(e){return owe(e),(e.flags&524288)!==0}function owe(e){e.flags&1048576||((e.flags&131072||pa(e,Gw))&&(e.flags|=524288),e.flags|=1048576)}function Gn(e){for(;e&&e.kind!==308;)e=e.parent;return e}function m6(e){return Gn(e.valueDeclaration||dH(e))}function h6(e,t){return!!e&&(e.scriptKind===1||e.scriptKind===2)&&!e.checkJsDirective&&t===void 0}function Ose(e){switch(e.kind){case 238:case 266:case 245:case 246:case 247:return!0}return!1}function Ky(e,t){return L.assert(e>=0),Sh(t)[e]}function swe(e){let t=Gn(e),r=Gs(t,e.pos);return`${t.fileName}(${r.line+1},${r.character+1})`}function Bw(e,t){L.assert(e>=0);let r=Sh(t),i=e,o=t.text;if(i+1===r.length)return o.length-1;{let s=r[i],l=r[i+1]-1;for(L.assert(Wl(o.charCodeAt(l)));s<=l&&Wl(o.charCodeAt(l));)l--;return l}}function g6(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}function rc(e){return e===void 0?!0:e.pos===e.end&&e.pos>=0&&e.kind!==1}function Pf(e){return!rc(e)}function Nse(e,t){return _c(e)?t===e.expression:oc(e)?t===e.modifiers:$d(e)?t===e.initializer:Na(e)?t===e.questionToken&&Id(e):yl(e)?t===e.modifiers||t===e.questionToken||t===e.exclamationToken||xI(e.modifiers,t,Ns):xf(e)?t===e.equalsToken||t===e.modifiers||t===e.questionToken||t===e.exclamationToken||xI(e.modifiers,t,Ns):Nc(e)?t===e.exclamationToken:Ec(e)?t===e.typeParameters||t===e.type||xI(e.typeParameters,t,_c):p_(e)?t===e.typeParameters||xI(e.typeParameters,t,_c):Sf(e)?t===e.typeParameters||t===e.type||xI(e.typeParameters,t,_c):gO(e)?t===e.modifiers||xI(e.modifiers,t,Ns):!1}function xI(e,t,r){return!e||ba(t)||!r(t)?!1:ya(e,t)}function Pse(e,t,r){if(t===void 0||t.length===0)return e;let i=0;for(;i<e.length&&r(e[i]);++i);return e.splice(i,0,...t),e}function Mse(e,t,r){if(t===void 0)return e;let i=0;for(;i<e.length&&r(e[i]);++i);return e.splice(i,0,t),e}function Fse(e){return B_(e)||!!(Ya(e)&2097152)}function em(e,t){return Pse(e,t,B_)}function rH(e,t){return Pse(e,t,Fse)}function cwe(e,t){return Mse(e,t,B_)}function L0(e,t){return Mse(e,t,Fse)}function iH(e,t,r){if(e.charCodeAt(t+1)===47&&t+2<r&&e.charCodeAt(t+2)===47){let i=e.substring(t,r);return!!(qW.test(i)||XW.test(i)||Wle.test(i)||zle.test(i))}return!1}function y6(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===33}function Gse(e,t){let r=new Map(t.map(l=>[`${Gs(e,l.range.end).line}`,l])),i=new Map;return{getUnusedExpectations:o,markUsed:s};function o(){return lo(r.entries()).filter(([l,f])=>f.type===0&&!i.get(l)).map(([l,f])=>f)}function s(l){return r.has(`${l}`)?(i.set(`${l}`,!0),!0):!1}}function gT(e,t,r){return rc(e)?e.pos:IA(e)||e.kind===11?xo((t||Gn(e)).text,e.pos,!1,!0):r&&Kd(e)?gT(e.jsDoc[0],t):e.kind===354&&e._children.length>0?gT(e._children[0],t,r):xo((t||Gn(e)).text,e.pos,!1,!1,qw(e))}function aH(e,t){let r=!rc(e)&&g_(e)?dA(e.modifiers,du):void 0;return r?xo((t||Gn(e)).text,r.end):gT(e,t)}function k0(e,t,r=!1){return AI(e.text,t,r)}function lwe(e){return!!jn(e,UT)}function v6(e){return!!(Il(e)&&e.exportClause&&qm(e.exportClause)&&e.exportClause.name.escapedText==="default")}function AI(e,t,r=!1){if(rc(t))return"";let i=e.substring(r?t.pos:xo(e,t.pos),t.end);return lwe(t)&&(i=i.split(/\r\n|\n|\r/).map(o=>ZC(o.replace(/^\s*\*/,""))).join(`
+`)),i}function Qc(e,t=!1){return k0(Gn(e),e,t)}function uwe(e){return e.pos}function DA(e,t){return Py(e,t,uwe,Es)}function Ya(e){let t=e.emitNode;return t&&t.flags||0}function o_(e){let t=e.emitNode;return t&&t.internalFlags||0}function oH(){return new Map(Object.entries({Array:new Map(Object.entries({es2015:["find","findIndex","fill","copyWithin","entries","keys","values"],es2016:["includes"],es2019:["flat","flatMap"],es2022:["at"],es2023:["findLastIndex","findLast"]})),Iterator:new Map(Object.entries({es2015:Je})),AsyncIterator:new Map(Object.entries({es2015:Je})),Atomics:new Map(Object.entries({es2017:Je})),SharedArrayBuffer:new Map(Object.entries({es2017:Je})),AsyncIterable:new Map(Object.entries({es2018:Je})),AsyncIterableIterator:new Map(Object.entries({es2018:Je})),AsyncGenerator:new Map(Object.entries({es2018:Je})),AsyncGeneratorFunction:new Map(Object.entries({es2018:Je})),RegExp:new Map(Object.entries({es2015:["flags","sticky","unicode"],es2018:["dotAll"]})),Reflect:new Map(Object.entries({es2015:["apply","construct","defineProperty","deleteProperty","get"," getOwnPropertyDescriptor","getPrototypeOf","has","isExtensible","ownKeys","preventExtensions","set","setPrototypeOf"]})),ArrayConstructor:new Map(Object.entries({es2015:["from","of"]})),ObjectConstructor:new Map(Object.entries({es2015:["assign","getOwnPropertySymbols","keys","is","setPrototypeOf"],es2017:["values","entries","getOwnPropertyDescriptors"],es2019:["fromEntries"],es2022:["hasOwn"]})),NumberConstructor:new Map(Object.entries({es2015:["isFinite","isInteger","isNaN","isSafeInteger","parseFloat","parseInt"]})),Math:new Map(Object.entries({es2015:["clz32","imul","sign","log10","log2","log1p","expm1","cosh","sinh","tanh","acosh","asinh","atanh","hypot","trunc","fround","cbrt"]})),Map:new Map(Object.entries({es2015:["entries","keys","values"]})),Set:new Map(Object.entries({es2015:["entries","keys","values"]})),PromiseConstructor:new Map(Object.entries({es2015:["all","race","reject","resolve"],es2020:["allSettled"],es2021:["any"]})),Symbol:new Map(Object.entries({es2015:["for","keyFor"],es2019:["description"]})),WeakMap:new Map(Object.entries({es2015:["entries","keys","values"]})),WeakSet:new Map(Object.entries({es2015:["entries","keys","values"]})),String:new Map(Object.entries({es2015:["codePointAt","includes","endsWith","normalize","repeat","startsWith","anchor","big","blink","bold","fixed","fontcolor","fontsize","italics","link","small","strike","sub","sup"],es2017:["padStart","padEnd"],es2019:["trimStart","trimEnd","trimLeft","trimRight"],es2020:["matchAll"],es2021:["replaceAll"],es2022:["at"]})),StringConstructor:new Map(Object.entries({es2015:["fromCodePoint","raw"]})),DateTimeFormat:new Map(Object.entries({es2017:["formatToParts"]})),Promise:new Map(Object.entries({es2015:Je,es2018:["finally"]})),RegExpMatchArray:new Map(Object.entries({es2018:["groups"]})),RegExpExecArray:new Map(Object.entries({es2018:["groups"]})),Intl:new Map(Object.entries({es2018:["PluralRules"]})),NumberFormat:new Map(Object.entries({es2018:["formatToParts"]})),SymbolConstructor:new Map(Object.entries({es2020:["matchAll"]})),DataView:new Map(Object.entries({es2020:["setBigInt64","setBigUint64","getBigInt64","getBigUint64"]})),BigInt:new Map(Object.entries({es2020:Je})),RelativeTimeFormat:new Map(Object.entries({es2020:["format","formatToParts","resolvedOptions"]})),Int8Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Uint8Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Uint8ClampedArray:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Int16Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Uint16Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Int32Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Uint32Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Float32Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),Float64Array:new Map(Object.entries({es2022:["at"],es2023:["findLastIndex","findLast"]})),BigInt64Array:new Map(Object.entries({es2020:Je,es2022:["at"],es2023:["findLastIndex","findLast"]})),BigUint64Array:new Map(Object.entries({es2020:Je,es2022:["at"],es2023:["findLastIndex","findLast"]})),Error:new Map(Object.entries({es2022:["cause"]}))}))}function Bse(e,t,r){var i;if(t&&dwe(e,r))return k0(t,e);switch(e.kind){case 10:{let o=r&2?qH:r&1||Ya(e)&33554432?_S:ER;return e.singleQuote?"'"+o(e.text,39)+"'":'"'+o(e.text,34)+'"'}case 14:case 15:case 16:case 17:{let o=r&1||Ya(e)&33554432?_S:ER,s=(i=e.rawText)!=null?i:Rwe(o(e.text,96));switch(e.kind){case 14:return"`"+s+"`";case 15:return"`"+s+"${";case 16:return"}"+s+"${";case 17:return"}"+s+"`"}break}case 8:case 9:return e.text;case 13:return r&4&&e.isUnterminated?e.text+(e.text.charCodeAt(e.text.length-1)===92?" /":"/"):e.text}return L.fail(`Literal kind '${e.kind}' not accounted for.`)}function dwe(e,t){return ws(e)||!e.parent||t&4&&e.isUnterminated?!1:Vf(e)&&e.numericLiteralFlags&512?!!(t&8):!a3(e)}function Use(e){return Ta(e)?'"'+ER(e)+'"':""+e}function Vse(e){return Hl(e).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function sH(e){return(G_(e)&3)!==0||cH(e)}function cH(e){let t=nm(e);return t.kind===257&&t.parent.kind===295}function lu(e){return Tc(e)&&(e.name.kind===10||mp(e))}function b6(e){return Tc(e)&&e.name.kind===10}function lH(e){return Tc(e)&&yo(e.name)}function jse(e){return Tc(e)||Re(e)}function CI(e){return fwe(e.valueDeclaration)}function fwe(e){return!!e&&e.kind===264&&!e.body}function Hse(e){return e.kind===308||e.kind===264||SA(e)}function mp(e){return!!(e.flags&1024)}function D0(e){return lu(e)&&uH(e)}function uH(e){switch(e.parent.kind){case 308:return Lc(e.parent);case 265:return lu(e.parent.parent)&&Li(e.parent.parent.parent)&&!Lc(e.parent.parent.parent)}return!1}function dH(e){var t;return(t=e.declarations)==null?void 0:t.find(r=>!D0(r)&&!(Tc(r)&&mp(r)))}function _we(e){return e===1||e===100||e===199}function aS(e,t){return Lc(e)||d_(t)||_we(Rl(t))&&!!e.commonJsModuleIndicator}function fH(e,t){switch(e.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return e.isDeclarationFile?!1:Uf(t,"alwaysStrict")||nde(e.statements)?!0:Lc(e)||d_(t)?Rl(t)>=5?!0:!t.noImplicitUseStrict:!1}function _H(e){return!!(e.flags&16777216)||Mr(e,2)}function pH(e,t){switch(e.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!SA(t)}return!1}function mH(e){switch(L.type(e),e.kind){case 341:case 349:case 326:return!0;default:return hH(e)}}function hH(e){switch(L.type(e),e.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 348:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function yT(e){switch(e.kind){case 269:case 268:return!0;default:return!1}}function Wse(e){return yT(e)||N0(e)}function E6(e){switch(e.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}function zse(e){return Uw(e)||Tc(e)||Mh(e)||Dd(e)}function Uw(e){return yT(e)||Il(e)}function tm(e){return jn(e.parent,t=>pH(t,t.parent))}function Jse(e,t){let r=tm(e);for(;r;)t(r),r=tm(r)}function os(e){return!e||Fw(e)===0?"(Missing)":Qc(e)}function Kse(e){return e.declaration?os(e.declaration.parameters[0].name):void 0}function Vw(e){return e.kind===164&&!yf(e.expression)}function T6(e){var t;switch(e.kind){case 79:case 80:return(t=e.emitNode)!=null&&t.autoGenerate?void 0:e.escapedText;case 10:case 8:case 14:return Bs(e.text);case 164:return yf(e.expression)?Bs(e.expression.text):void 0;default:return L.assertNever(e)}}function wA(e){return L.checkDefined(T6(e))}function qd(e){switch(e.kind){case 108:return"this";case 80:case 79:return Fw(e)===0?vr(e):Qc(e);case 163:return qd(e.left)+"."+qd(e.right);case 208:return Re(e.name)||pi(e.name)?qd(e.expression)+"."+qd(e.name):L.assertNever(e.name);case 314:return qd(e.left)+qd(e.right);default:return L.assertNever(e)}}function hr(e,t,r,i,o,s){let l=Gn(e);return Nu(l,e,t,r,i,o,s)}function RA(e,t,r,i,o,s,l){let f=xo(e.text,t.pos);return al(e,f,t.end-f,r,i,o,s,l)}function Nu(e,t,r,i,o,s,l){let f=w0(e,t);return al(e,f.start,f.length,r,i,o,s,l)}function Lh(e,t,r,i){let o=w0(e,t);return S6(e,o.start,o.length,r,i)}function jw(e,t,r,i){let o=xo(e.text,t.pos);return S6(e,o,t.end-o,r,i)}function gH(e,t,r){L.assertGreaterThanOrEqual(t,0),L.assertGreaterThanOrEqual(r,0),e&&(L.assertLessThanOrEqual(t,e.text.length),L.assertLessThanOrEqual(t+r,e.text.length))}function S6(e,t,r,i,o){return gH(e,t,r),{file:e,start:t,length:r,code:i.code,category:i.category,messageText:i.next?i:i.messageText,relatedInformation:o}}function yH(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}function qse(e){return typeof e.messageText=="string"?{code:e.code,category:e.category,messageText:e.messageText,next:e.next}:e.messageText}function vH(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}}function Pg(e,t){let r=kg(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);r.scan();let i=r.getTokenPos();return Wc(i,r.getTextPos())}function Xse(e,t){let r=kg(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);return r.scan(),r.getToken()}function pwe(e,t){let r=xo(e.text,t.pos);if(t.body&&t.body.kind===238){let{line:i}=Gs(e,t.body.pos),{line:o}=Gs(e,t.body.end);if(i<o)return il(r,Bw(i,e)-r+1)}return Wc(r,t.end)}function w0(e,t){let r=t;switch(t.kind){case 308:let s=xo(e.text,0,!1);return s===e.text.length?il(0,0):Pg(e,s);case 257:case 205:case 260:case 228:case 261:case 264:case 263:case 302:case 259:case 215:case 171:case 174:case 175:case 262:case 169:case 168:case 271:r=t.name;break;case 216:return pwe(e,t);case 292:case 293:let l=xo(e.text,t.pos),f=t.statements.length>0?t.statements[0].pos:t.end;return Wc(l,f)}if(r===void 0)return Pg(e,t.pos);L.assert(!dm(r));let i=rc(r),o=i||CS(t)?r.pos:xo(e.text,r.pos);return i?(L.assert(o===r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),L.assert(o===r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(L.assert(o>=r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),L.assert(o<=r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),Wc(o,r.end)}function kd(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==void 0}function Mf(e){return e.scriptKind===6}function R0(e){return!!(wg(e)&2048)}function x6(e){return!!(wg(e)&64&&!Ad(e,e.parent))}function kh(e){return!!(G_(e)&2)}function II(e){return!!(G_(e)&1)}function OA(e){return e.kind===210&&e.expression.kind===106}function Dd(e){return e.kind===210&&e.expression.kind===100}function NA(e){return TL(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function ib(e){return Mh(e)&&mb(e.argument)&&yo(e.argument.literal)}function B_(e){return e.kind===241&&e.expression.kind===10}function A6(e){return!!(Ya(e)&2097152)}function C6(e){return A6(e)&&Jc(e)}function mwe(e){return Re(e.name)&&!e.initializer}function I6(e){return A6(e)&&Bc(e)&&Ji(e.declarationList.declarations,mwe)}function bH(e,t){return e.kind!==11?Nm(t.text,e.pos):void 0}function EH(e,t){let r=e.kind===166||e.kind===165||e.kind===215||e.kind===216||e.kind===214||e.kind===257||e.kind===278?Qi(eb(t,e.pos),Nm(t,e.pos)):Nm(t,e.pos);return Pr(r,i=>t.charCodeAt(i.pos+1)===42&&t.charCodeAt(i.pos+2)===42&&t.charCodeAt(i.pos+3)!==47)}function Gm(e){if(179<=e.kind&&e.kind<=202)return!0;switch(e.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return e.parent.kind!==219;case 230:return dd(e.parent)&&!IR(e);case 165:return e.parent.kind===197||e.parent.kind===192;case 79:(e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e)&&(e=e.parent),L.assert(e.kind===79||e.kind===163||e.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{let{parent:t}=e;if(t.kind===183)return!1;if(t.kind===202)return!t.isTypeOf;if(179<=t.kind&&t.kind<=202)return!0;switch(t.kind){case 230:return dd(t.parent)&&!IR(t);case 165:return e===t.constraint;case 348:return e===t.constraint;case 169:case 168:case 166:case 257:return e===t.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return e===t.type;case 176:case 177:case 178:return e===t.type;case 213:return e===t.type;case 210:case 211:return ya(t.typeArguments,e);case 212:return!1}}}return!1}function TH(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent}return!1}function vT(e,t){return r(e);function r(i){switch(i.kind){case 250:return t(i);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return pa(i,r)}}}function Yse(e,t){return r(e);function r(i){switch(i.kind){case 226:t(i);let o=i.expression;o&&r(o);return;case 263:case 261:case 264:case 262:return;default:if(Ia(i)){if(i.name&&i.name.kind===164){r(i.name.expression);return}}else Gm(i)||pa(i,r)}}}function SH(e){return e&&e.kind===185?e.elementType:e&&e.kind===180?Wp(e.typeArguments):void 0}function $se(e){switch(e.kind){case 261:case 260:case 228:case 184:return e.members;case 207:return e.properties}}function PA(e){if(e)switch(e.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}function Qse(e){return PA(e)||rb(e)}function L6(e){return e.parent.kind===258&&e.parent.parent.kind===240}function Zse(e){return Yn(e)?rs(e.parent)&&ar(e.parent.parent)&&ic(e.parent.parent)===2||k6(e.parent):!1}function k6(e){return Yn(e)?ar(e)&&ic(e)===1:!1}function ece(e){return(wi(e)?kh(e)&&Re(e.name)&&L6(e):Na(e)?jI(e)&&zc(e):$d(e)&&jI(e))||k6(e)}function tce(e){switch(e.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}function xH(e,t){for(;;){if(t&&t(e),e.statement.kind!==253)return e.statement;e=e.statement}}function bT(e){return e&&e.kind===238&&Ia(e.parent)}function s_(e){return e&&e.kind===171&&e.parent.kind===207}function D6(e){return(e.kind===171||e.kind===174||e.kind===175)&&(e.parent.kind===207||e.parent.kind===228)}function nce(e){return e&&e.kind===1}function hwe(e){return e&&e.kind===0}function MA(e,t,r){return e.properties.filter(i=>{if(i.kind===299){let o=T6(i.name);return t===o||!!r&&r===o}return!1})}function rce(e,t,r){return ks(MA(e,t),i=>fu(i.initializer)?wr(i.initializer.elements,o=>yo(o)&&o.text===r):void 0)}function LI(e){if(e&&e.statements.length){let t=e.statements[0].expression;return zr(t,rs)}}function w6(e,t,r){return ks(Hw(e,t),i=>fu(i.initializer)?wr(i.initializer.elements,o=>yo(o)&&o.text===r):void 0)}function Hw(e,t){let r=LI(e);return r?MA(r,t):Je}function Xd(e){return jn(e.parent,Ia)}function ice(e){return jn(e.parent,Ds)}function Zc(e){return jn(e.parent,Yr)}function gwe(e){return jn(e.parent,t=>Yr(t)||Ia(t)?"quit":oc(t))}function R6(e){return jn(e.parent,SA)}function Ku(e,t,r){for(L.assert(e.kind!==308);;){if(e=e.parent,!e)return L.fail();switch(e.kind){case 164:if(r&&Yr(e.parent.parent))return e;e=e.parent.parent;break;case 167:e.parent.kind===166&&_l(e.parent.parent)?e=e.parent.parent:_l(e.parent)&&(e=e.parent);break;case 216:if(!t)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return e}}}function ace(e){switch(e.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(e.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}function O6(e){Re(e)&&(sl(e.parent)||Jc(e.parent))&&e.parent.name===e&&(e=e.parent);let t=Ku(e,!0,!1);return Li(t)}function oce(e){let t=Ku(e,!1,!1);if(t)switch(t.kind){case 173:case 259:case 215:return t}}function Ww(e,t){for(;;){if(e=e.parent,!e)return;switch(e.kind){case 164:e=e.parent;break;case 259:case 215:case 216:if(!t)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return e;case 167:e.parent.kind===166&&_l(e.parent.parent)?e=e.parent.parent:_l(e.parent)&&(e=e.parent);break}}}function ET(e){if(e.kind===215||e.kind===216){let t=e,r=e.parent;for(;r.kind===214;)t=r,r=r.parent;if(r.kind===210&&r.expression===t)return r}}function ywe(e){return e.kind===106||Pu(e)}function Pu(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===106}function zw(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===108}function N6(e){var t;return!!e&&wi(e)&&((t=e.initializer)==null?void 0:t.kind)===108}function sce(e){return!!e&&(xf(e)||yl(e))&&ar(e.parent.parent)&&e.parent.parent.operatorToken.kind===63&&e.parent.parent.right.kind===108}function Jw(e){switch(e.kind){case 180:return e.typeName;case 230:return bc(e.expression)?e.expression:void 0;case 79:case 163:return e}}function P6(e){switch(e.kind){case 212:return e.tag;case 283:case 282:return e.tagName;default:return e.expression}}function M6(e,t,r,i){if(e&&zl(t)&&pi(t.name))return!1;switch(t.kind){case 260:return!0;case 228:return!e;case 169:return r!==void 0&&(e?sl(r):Yr(r)&&!B0(t)&&!aW(t));case 174:case 175:case 171:return t.body!==void 0&&r!==void 0&&(e?sl(r):Yr(r));case 166:return e?r!==void 0&&r.body!==void 0&&(r.kind===173||r.kind===171||r.kind===175)&&F0(r)!==t&&i!==void 0&&i.kind===260:!1}return!1}function FA(e,t,r,i){return bf(t)&&M6(e,t,r,i)}function Kw(e,t,r,i){return FA(e,t,r,i)||kI(e,t,r)}function kI(e,t,r){switch(t.kind){case 260:return vt(t.members,i=>Kw(e,i,t,r));case 228:return!e&&vt(t.members,i=>Kw(e,i,t,r));case 171:case 175:case 173:return vt(t.parameters,i=>FA(e,i,t,r));default:return!1}}function O0(e,t){if(FA(e,t))return!0;let r=Vm(t);return!!r&&kI(e,r,t)}function AH(e,t,r){let i;if(rb(t)){let{firstAccessor:o,secondAccessor:s,setAccessor:l}=kT(r.members,t),f=bf(o)?o:s&&bf(s)?s:void 0;if(!f||t!==f)return!1;i=l?.parameters}else Nc(t)&&(i=t.parameters);if(FA(e,t,r))return!0;if(i){for(let o of i)if(!G0(o)&&FA(e,o,t,r))return!0}return!1}function CH(e){if(e.textSourceNode){switch(e.textSourceNode.kind){case 10:return CH(e.textSourceNode);case 14:return e.text===""}return!1}return e.text===""}function DI(e){let{parent:t}=e;return t.kind===283||t.kind===282||t.kind===284?t.tagName===e:!1}function Dh(e){switch(e.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!dd(e.parent)&&!x2(e.parent);case 163:for(;e.parent.kind===163;)e=e.parent;return e.parent.kind===183||iS(e.parent)||IL(e.parent)||gb(e.parent)||DI(e);case 314:for(;gb(e.parent);)e=e.parent;return e.parent.kind===183||iS(e.parent)||IL(e.parent)||gb(e.parent)||DI(e);case 80:return ar(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===101;case 79:if(e.parent.kind===183||iS(e.parent)||IL(e.parent)||gb(e.parent)||DI(e))return!0;case 8:case 9:case 10:case 14:case 108:return F6(e);default:return!1}}function F6(e){let{parent:t}=e;switch(t.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return t.initializer===e;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return t.expression===e;case 245:let r=t;return r.initializer===e&&r.initializer.kind!==258||r.condition===e||r.incrementor===e;case 246:case 247:let i=t;return i.initializer===e&&i.initializer.kind!==258||i.expression===e;case 213:case 231:return e===t.expression;case 236:return e===t.expression;case 164:return e===t.expression;case 167:case 291:case 290:case 301:return!0;case 230:return t.expression===e&&!Gm(t);case 300:return t.objectAssignmentInitializer===e;case 235:return e===t.expression;default:return Dh(t)}}function G6(e){for(;e.kind===163||e.kind===79;)e=e.parent;return e.kind===183}function cce(e){return qm(e)&&!!e.parent.moduleSpecifier}function ab(e){return e.kind===268&&e.moduleReference.kind===280}function wI(e){return L.assert(ab(e)),e.moduleReference.expression}function IH(e){return N0(e)&&$I(e.initializer).arguments[0]}function GA(e){return e.kind===268&&e.moduleReference.kind!==280}function Cu(e){return Yn(e)}function vwe(e){return!Yn(e)}function Yn(e){return!!e&&!!(e.flags&262144)}function B6(e){return!!e&&!!(e.flags&67108864)}function LH(e){return!Mf(e)}function qw(e){return!!e&&!!(e.flags&8388608)}function U6(e){return m_(e)&&Re(e.typeName)&&e.typeName.escapedText==="Object"&&e.typeArguments&&e.typeArguments.length===2&&(e.typeArguments[0].kind===152||e.typeArguments[0].kind===148)}function qu(e,t){if(e.kind!==210)return!1;let{expression:r,arguments:i}=e;if(r.kind!==79||r.escapedText!=="require"||i.length!==1)return!1;let o=i[0];return!t||es(o)}function kH(e){return uce(e,!1)}function N0(e){return uce(e,!0)}function lce(e){return Wo(e)&&N0(e.parent.parent)}function uce(e,t){return wi(e)&&!!e.initializer&&qu(t?$I(e.initializer):e.initializer,!0)}function DH(e){return Bc(e)&&e.declarationList.declarations.length>0&&Ji(e.declarationList.declarations,t=>kH(t))}function Xw(e){return e===39||e===34}function V6(e,t){return k0(t,e).charCodeAt(0)===34}function RI(e){return ar(e)||Us(e)||Re(e)||Pa(e)}function Yw(e){return Yn(e)&&e.initializer&&ar(e.initializer)&&(e.initializer.operatorToken.kind===56||e.initializer.operatorToken.kind===60)&&e.name&&bc(e.name)&&BA(e.name,e.initializer.left)?e.initializer.right:e.initializer}function $w(e){let t=Yw(e);return t&&ob(t,ub(e.name))}function bwe(e,t){return mn(e.properties,r=>yl(r)&&Re(r.name)&&r.name.escapedText==="value"&&r.initializer&&ob(r.initializer,t))}function oS(e){if(e&&e.parent&&ar(e.parent)&&e.parent.operatorToken.kind===63){let t=ub(e.parent.left);return ob(e.parent.right,t)||Ewe(e.parent.left,e.parent.right,t)}if(e&&Pa(e)&&sS(e)){let t=bwe(e.arguments[2],e.arguments[1].text==="prototype");if(t)return t}}function ob(e,t){if(Pa(e)){let r=vs(e.expression);return r.kind===215||r.kind===216?e:void 0}if(e.kind===215||e.kind===228||e.kind===216||rs(e)&&(e.properties.length===0||t))return e}function Ewe(e,t,r){let i=ar(t)&&(t.operatorToken.kind===56||t.operatorToken.kind===60)&&ob(t.right,r);if(i&&BA(e,t.left))return i}function dce(e){let t=wi(e.parent)?e.parent.name:ar(e.parent)&&e.parent.operatorToken.kind===63?e.parent.left:void 0;return t&&ob(e.right,ub(t))&&bc(t)&&BA(t,e.left)}function wH(e){if(ar(e.parent)){let t=(e.parent.operatorToken.kind===56||e.parent.operatorToken.kind===60)&&ar(e.parent.parent)?e.parent.parent:e.parent;if(t.operatorToken.kind===63&&Re(t.left))return t.left}else if(wi(e.parent))return e.parent.name}function BA(e,t){return c_(e)&&c_(t)?l_(e)===l_(t):Ah(e)&&j6(t)&&(t.expression.kind===108||Re(t.expression)&&(t.expression.escapedText==="window"||t.expression.escapedText==="self"||t.expression.escapedText==="global"))?BA(e,eR(t)):j6(e)&&j6(t)?wh(e)===wh(t)&&BA(e.expression,t.expression):!1}function Qw(e){for(;Iu(e,!0);)e=e.right;return e}function TT(e){return Re(e)&&e.escapedText==="exports"}function RH(e){return Re(e)&&e.escapedText==="module"}function Bm(e){return(br(e)||Zw(e))&&RH(e.expression)&&wh(e)==="exports"}function ic(e){let t=Twe(e);return t===5||Yn(e)?t:0}function sS(e){return Fn(e.arguments)===3&&br(e.expression)&&Re(e.expression.expression)&&vr(e.expression.expression)==="Object"&&vr(e.expression.name)==="defineProperty"&&yf(e.arguments[1])&&cS(e.arguments[0],!0)}function j6(e){return br(e)||Zw(e)}function Zw(e){return Vs(e)&&yf(e.argumentExpression)}function ST(e,t){return br(e)&&(!t&&e.expression.kind===108||Re(e.name)&&cS(e.expression,!0))||H6(e,t)}function H6(e,t){return Zw(e)&&(!t&&e.expression.kind===108||bc(e.expression)||ST(e.expression,!0))}function cS(e,t){return bc(e)||ST(e,t)}function eR(e){return br(e)?e.name:e.argumentExpression}function Twe(e){if(Pa(e)){if(!sS(e))return 0;let t=e.arguments[0];return TT(t)||Bm(t)?8:ST(t)&&wh(t)==="prototype"?9:7}return e.operatorToken.kind!==63||!Us(e.left)||Swe(Qw(e))?0:cS(e.left.expression,!0)&&wh(e.left)==="prototype"&&rs(OH(e))?6:tR(e.left)}function Swe(e){return NS(e)&&Vf(e.expression)&&e.expression.text==="0"}function W6(e){if(br(e))return e.name;let t=vs(e.argumentExpression);return Vf(t)||es(t)?t:e}function wh(e){let t=W6(e);if(t){if(Re(t))return t.escapedText;if(es(t)||Vf(t))return Bs(t.text)}}function tR(e){if(e.expression.kind===108)return 4;if(Bm(e))return 2;if(cS(e.expression,!0)){if(ub(e.expression))return 3;let t=e;for(;!Re(t.expression);)t=t.expression;let r=t.expression;if((r.escapedText==="exports"||r.escapedText==="module"&&wh(t)==="exports")&&ST(e))return 1;if(cS(e,!0)||Vs(e)&&Y6(e))return 5}return 0}function OH(e){for(;ar(e.right);)e=e.right;return e.right}function nR(e){return ar(e)&&ic(e)===3}function fce(e){return Yn(e)&&e.parent&&e.parent.kind===241&&(!Vs(e)||Zw(e))&&!!x0(e.parent)}function rR(e,t){let{valueDeclaration:r}=e;(!r||!(t.flags&16777216&&!Yn(t)&&!(r.flags&16777216))&&RI(r)&&!RI(t)||r.kind!==t.kind&&jse(r))&&(e.valueDeclaration=t)}function _ce(e){if(!e||!e.valueDeclaration)return!1;let t=e.valueDeclaration;return t.kind===259||wi(t)&&t.initializer&&Ia(t.initializer)}function iR(e){var t,r;switch(e.kind){case 257:case 205:return(t=jn(e.initializer,i=>qu(i,!0)))==null?void 0:t.arguments[0];case 269:return zr(e.moduleSpecifier,es);case 268:return zr((r=zr(e.moduleReference,um))==null?void 0:r.expression,es);case 270:case 277:return zr(e.parent.moduleSpecifier,es);case 271:case 278:return zr(e.parent.parent.moduleSpecifier,es);case 273:return zr(e.parent.parent.parent.moduleSpecifier,es);default:L.assertNever(e)}}function aR(e){return oR(e)||L.failBadSyntaxKind(e.parent)}function oR(e){switch(e.parent.kind){case 269:case 275:return e.parent;case 280:return e.parent.parent;case 210:return Dd(e.parent)||qu(e.parent,!1)?e.parent:void 0;case 198:return L.assert(yo(e)),zr(e.parent.parent,Mh);default:return}}function UA(e){switch(e.kind){case 269:case 275:return e.moduleSpecifier;case 268:return e.moduleReference.kind===280?e.moduleReference.expression:void 0;case 202:return ib(e)?e.argument.literal:void 0;case 210:return e.arguments[0];case 264:return e.name.kind===10?e.name:void 0;default:return L.assertNever(e)}}function VA(e){switch(e.kind){case 269:return e.importClause&&zr(e.importClause.namedBindings,nv);case 268:return e;case 275:return e.exportClause&&zr(e.exportClause,qm);default:return L.assertNever(e)}}function lS(e){return e.kind===269&&!!e.importClause&&!!e.importClause.name}function z6(e,t){if(e.name){let r=t(e);if(r)return r}if(e.namedBindings){let r=nv(e.namedBindings)?t(e.namedBindings):mn(e.namedBindings.elements,t);if(r)return r}}function uS(e){if(e)switch(e.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return e.questionToken!==void 0}return!1}function jA(e){let t=S2(e)?Sl(e.parameters):void 0,r=zr(t&&t.name,Re);return!!r&&r.escapedText==="new"}function Ff(e){return e.kind===349||e.kind===341||e.kind===343}function sR(e){return Ff(e)||Ep(e)}function xwe(e){return Ol(e)&&ar(e.expression)&&e.expression.operatorToken.kind===63?Qw(e.expression):void 0}function pce(e){return Ol(e)&&ar(e.expression)&&ic(e.expression)!==0&&ar(e.expression.right)&&(e.expression.right.operatorToken.kind===56||e.expression.right.operatorToken.kind===60)?e.expression.right.right:void 0}function NH(e){switch(e.kind){case 240:let t=HA(e);return t&&t.initializer;case 169:return e.initializer;case 299:return e.initializer}}function HA(e){return Bc(e)?Sl(e.declarationList.declarations):void 0}function mce(e){return Tc(e)&&e.body&&e.body.kind===264?e.body:void 0}function cR(e){if(e.kind>=240&&e.kind<=256)return!0;switch(e.kind){case 79:case 108:case 106:case 163:case 233:case 209:case 208:case 205:case 215:case 216:case 171:case 174:case 175:return!0;default:return!1}}function lR(e){switch(e.kind){case 216:case 223:case 238:case 249:case 176:case 292:case 260:case 228:case 172:case 173:case 182:case 177:case 248:case 256:case 243:case 209:case 239:case 1:case 263:case 302:case 274:case 275:case 278:case 241:case 246:case 247:case 245:case 259:case 215:case 181:case 174:case 79:case 242:case 269:case 268:case 178:case 261:case 320:case 326:case 253:case 171:case 170:case 264:case 199:case 267:case 207:case 166:case 214:case 208:case 299:case 169:case 168:case 250:case 175:case 300:case 301:case 252:case 254:case 255:case 262:case 165:case 257:case 240:case 244:case 251:return!0;default:return!1}}function PH(e,t){let r;PA(e)&&Jy(e)&&Kd(e.initializer)&&(r=si(r,hce(e,To(e.initializer.jsDoc))));let i=e;for(;i&&i.parent;){if(Kd(i)&&(r=si(r,hce(e,To(i.jsDoc)))),i.kind===166){r=si(r,(t?joe:fI)(i));break}if(i.kind===165){r=si(r,(t?zoe:Woe)(i));break}i=MH(i)}return r||Je}function hce(e,t){if(dm(t)){let r=Pr(t.tags,i=>gce(e,i));return t.tags===r?[t]:r}return gce(e,t)?[t]:void 0}function gce(e,t){return!(DL(t)||v3(t))||!t.parent||!dm(t.parent)||!ud(t.parent.parent)||t.parent.parent===e}function MH(e){let t=e.parent;if(t.kind===299||t.kind===274||t.kind===169||t.kind===241&&e.kind===208||t.kind===250||mce(t)||ar(e)&&e.operatorToken.kind===63)return t;if(t.parent&&(HA(t.parent)===e||ar(t)&&t.operatorToken.kind===63))return t.parent;if(t.parent&&t.parent.parent&&(HA(t.parent.parent)||NH(t.parent.parent)===e||pce(t.parent.parent)))return t.parent.parent}function uR(e){if(e.symbol)return e.symbol;if(!Re(e.name))return;let t=e.name.escapedText,r=sb(e);if(!r)return;let i=wr(r.parameters,o=>o.name.kind===79&&o.name.escapedText===t);return i&&i.symbol}function J6(e){if(dm(e.parent)&&e.parent.tags){let t=wr(e.parent.tags,Ff);if(t)return t}return sb(e)}function sb(e){let t=WA(e);if(t)return $d(t)&&t.type&&Ia(t.type)?t.type:Ia(t)?t:void 0}function WA(e){let t=dS(e);if(t)return pce(t)||xwe(t)||NH(t)||HA(t)||mce(t)||t}function dS(e){let t=OI(e);if(!t)return;let r=t.parent;if(r&&r.jsDoc&&t===Os(r.jsDoc))return r}function OI(e){return jn(e.parent,dm)}function yce(e){let t=e.name.escapedText,{typeParameters:r}=e.parent.parent.parent;return r&&wr(r,i=>i.name.escapedText===t)}function Awe(e){return!!e.typeArguments}function xT(e){let t=e.parent;for(;;){switch(t.kind){case 223:let r=t.operatorToken.kind;return Mg(r)&&t.left===e?r===63||HI(r)?1:2:0;case 221:case 222:let i=t.operator;return i===45||i===46?2:0;case 246:case 247:return t.initializer===e?1:0;case 214:case 206:case 227:case 232:e=t;break;case 301:e=t.parent;break;case 300:if(t.name!==e)return 0;e=t.parent;break;case 299:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function Um(e){return xT(e)!==0}function vce(e){switch(e.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}function bce(e){return ms(e)||xs(e)||xA(e)||Jc(e)||Ec(e)}function Ece(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function dR(e){return Ece(e,193)}function qy(e){return Ece(e,214)}function Tce(e){let t;for(;e&&e.kind===193;)t=e,e=e.parent;return[t,e]}function FH(e){for(;wS(e);)e=e.type;return e}function vs(e,t){return ql(e,t?17:1)}function GH(e){return e.kind!==208&&e.kind!==209?!1:(e=qy(e.parent),e&&e.kind===217)}function AT(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1}function Rh(e){return!Li(e)&&!La(e)&&Kl(e.parent)&&e.parent.name===e}function fR(e){let t=e.parent;switch(e.kind){case 10:case 14:case 8:if(ts(t))return t.parent;case 79:if(Kl(t))return t.name===e?t:void 0;if(Yu(t)){let r=t.parent;return xp(r)&&r.name===t?r:void 0}else{let r=t.parent;return ar(r)&&ic(r)!==0&&(r.left.symbol||r.symbol)&&sa(r)===e?r:void 0}case 80:return Kl(t)&&t.name===e?t:void 0;default:return}}function _R(e){return yf(e)&&e.parent.kind===164&&Kl(e.parent.parent)}function Sce(e){let t=e.parent;switch(t.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return t.name===e;case 163:return t.right===e;case 205:case 273:return t.propertyName===e;case 278:case 288:case 282:case 283:case 284:return!0}return!1}function Cwe(e){return e.kind===268||e.kind===267||e.kind===270&&e.name||e.kind===271||e.kind===277||e.kind===273||e.kind===278||e.kind===274&&zA(e)?!0:Yn(e)&&(ar(e)&&ic(e)===2&&zA(e)||br(e)&&ar(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===63&&pR(e.parent.right))}function BH(e){switch(e.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return e.parent;case 163:do e=e.parent;while(e.parent.kind===163);return BH(e)}}function pR(e){return bc(e)||_u(e)}function zA(e){let t=UH(e);return pR(t)}function UH(e){return pc(e)?e.expression:e.right}function xce(e){return e.kind===300?e.name:e.kind===299?e.initializer:e.parent.right}function hp(e){let t=P0(e);if(t&&Yn(e)){let r=Koe(e);if(r)return r.class}return t}function P0(e){let t=mR(e.heritageClauses,94);return t&&t.types.length>0?t.types[0]:void 0}function JA(e){if(Yn(e))return qoe(e).map(t=>t.class);{let t=mR(e.heritageClauses,117);return t?.types}}function NI(e){return ku(e)?PI(e)||Je:Yr(e)&&Qi(aT(hp(e)),JA(e))||Je}function PI(e){let t=mR(e.heritageClauses,94);return t?t.types:void 0}function mR(e,t){if(e){for(let r of e)if(r.token===t)return r}}function cb(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}}function Xu(e){return 81<=e&&e<=162}function K6(e){return 126<=e&&e<=162}function Ace(e){return Xu(e)&&!K6(e)}function Iwe(e){return 117<=e&&e<=125}function fS(e){let t=lT(e);return t!==void 0&&Ace(t)}function Lwe(e){let t=lT(e);return t!==void 0&&Xu(t)}function q6(e){let t=nb(e);return!!t&&!K6(t)}function KA(e){return 2<=e&&e<=7}function pl(e){if(!e)return 4;let t=0;switch(e.kind){case 259:case 215:case 171:e.asteriskToken&&(t|=1);case 216:Mr(e,512)&&(t|=2);break}return e.body||(t|=4),t}function qA(e){switch(e.kind){case 259:case 215:case 216:case 171:return e.body!==void 0&&e.asteriskToken===void 0&&Mr(e,512)}return!1}function yf(e){return es(e)||Vf(e)}function X6(e){return tv(e)&&(e.operator===39||e.operator===40)&&Vf(e.operand)}function Xy(e){let t=sa(e);return!!t&&Y6(t)}function Y6(e){if(!(e.kind===164||e.kind===209))return!1;let t=Vs(e)?vs(e.argumentExpression):e.expression;return!yf(t)&&!X6(t)}function M0(e){switch(e.kind){case 79:case 80:return e.escapedText;case 10:case 8:return Bs(e.text);case 164:let t=e.expression;return yf(t)?Bs(t.text):X6(t)?t.operator===40?Xa(t.operator)+t.operand.text:t.operand.text:void 0;default:return L.assertNever(e)}}function c_(e){switch(e.kind){case 79:case 10:case 14:case 8:return!0;default:return!1}}function l_(e){return Ah(e)?vr(e):e.text}function MI(e){return Ah(e)?e.escapedText:Bs(e.text)}function kwe(e){return`__@${$a(e)}@${e.escapedName}`}function hR(e,t){return`__#${$a(e)}@${t}`}function gR(e){return na(e.escapedName,"__@")}function Cce(e){return na(e.escapedName,"__#")}function Dwe(e){return e.kind===79&&e.escapedText==="Symbol"}function Ice(e){return Re(e)?vr(e)==="__proto__":yo(e)&&e.text==="__proto__"}function FI(e,t){switch(e=ql(e),e.kind){case 228:case 215:if(e.name)return!1;break;case 216:break;default:return!1}return typeof t=="function"?t(e):!0}function VH(e){switch(e.kind){case 299:return!Ice(e.name);case 300:return!!e.objectAssignmentInitializer;case 257:return Re(e.name)&&!!e.initializer;case 166:return Re(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 205:return Re(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 169:return!!e.initializer;case 223:switch(e.operatorToken.kind){case 63:case 76:case 75:case 77:return Re(e.left)}break;case 274:return!0}return!1}function vf(e,t){if(!VH(e))return!1;switch(e.kind){case 299:return FI(e.initializer,t);case 300:return FI(e.objectAssignmentInitializer,t);case 257:case 166:case 205:case 169:return FI(e.initializer,t);case 223:return FI(e.right,t);case 274:return FI(e.expression,t)}}function jH(e){return e.escapedText==="push"||e.escapedText==="unshift"}function CT(e){return nm(e).kind===166}function nm(e){for(;e.kind===205;)e=e.parent.parent;return e}function HH(e){let t=e.kind;return t===173||t===215||t===259||t===216||t===171||t===174||t===175||t===264||t===308}function ws(e){return vp(e.pos)||vp(e.end)}function wwe(e){return ea(e,Li)||e}function WH(e){let t=JH(e),r=e.kind===211&&e.arguments!==void 0;return zH(e.kind,t,r)}function zH(e,t,r){switch(e){case 211:return r?0:1;case 221:case 218:case 219:case 217:case 220:case 224:case 226:return 1;case 223:switch(t){case 42:case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 1}}return 0}function $6(e){let t=JH(e),r=e.kind===211&&e.arguments!==void 0;return yR(e.kind,t,r)}function JH(e){return e.kind===223?e.operatorToken.kind:e.kind===221||e.kind===222?e.operator:e.kind}function yR(e,t,r){switch(e){case 357:return 0;case 227:return 1;case 226:return 2;case 224:return 4;case 223:switch(t){case 27:return 0;case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 3;default:return vR(t)}case 213:case 232:case 221:case 218:case 219:case 217:case 220:return 16;case 222:return 17;case 210:return 18;case 211:return r?19:18;case 212:case 208:case 209:case 233:return 19;case 231:case 235:return 11;case 108:case 106:case 79:case 80:case 104:case 110:case 95:case 8:case 9:case 10:case 206:case 207:case 215:case 216:case 228:case 13:case 14:case 225:case 214:case 229:case 281:case 282:case 285:return 20;default:return-1}}function vR(e){switch(e){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}function bR(e){return Pr(e,t=>{switch(t.kind){case 291:return!!t.expression;case 11:return!t.containsOnlyTriviaWhiteSpaces;default:return!0}})}function XA(){let e=[],t=[],r=new Map,i=!1;return{add:s,lookup:o,getGlobalDiagnostics:l,getDiagnostics:f};function o(d){let g;if(d.file?g=r.get(d.file.fileName):g=e,!g)return;let m=Py(g,d,Ks,c4);if(m>=0)return g[m]}function s(d){let g;d.file?(g=r.get(d.file.fileName),g||(g=[],r.set(d.file.fileName,g),Ny(t,d.file.fileName,su))):(i&&(i=!1,e=e.slice()),g=e),Ny(g,d,c4)}function l(){return i=!0,e}function f(d){if(d)return r.get(d)||[];let g=BD(t,m=>r.get(m));return e.length&&g.unshift(...e),g}}function Rwe(e){return e.replace(Jle,"\\${")}function KH(e){return e&&!!(IS(e)?e.templateFlags:e.head.templateFlags||vt(e.templateSpans,t=>!!t.literal.templateFlags))}function Lce(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function Owe(e,t,r){if(e.charCodeAt(0)===0){let i=r.charCodeAt(t+e.length);return i>=48&&i<=57?"\\x00":"\\0"}return Yle.get(e)||Lce(e.charCodeAt(0))}function _S(e,t){let r=t===96?Xle:t===39?qle:Kle;return e.replace(r,Owe)}function ER(e,t){return e=_S(e,t),ez.test(e)?e.replace(ez,r=>Lce(r.charCodeAt(0))):e}function Nwe(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Pwe(e){return e.charCodeAt(0)===0?"&#0;":Zle.get(e)||Nwe(e.charCodeAt(0))}function qH(e,t){let r=t===39?Qle:$le;return e.replace(r,Pwe)}function u_(e){let t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&Mwe(e.charCodeAt(0))?e.substring(1,t-1):e}function Mwe(e){return e===39||e===34||e===96}function GI(e){let t=e.charCodeAt(0);return t>=97&&t<=122||jl(e,"-")||jl(e,":")}function Q6(e){let t=s2[1];for(let r=s2.length;r<=e;r++)s2.push(s2[r-1]+t);return s2[e]}function YA(){return s2[1].length}function TR(){return jl(Rf,"-dev")||jl(Rf,"-insiders")}function SR(e){var t,r,i,o,s,l=!1;function f(C){let P=hw(C);P.length>1?(o=o+P.length-1,s=t.length-C.length+To(P),i=s-t.length===0):i=!1}function d(C){C&&C.length&&(i&&(C=Q6(r)+C,i=!1),t+=C,f(C))}function g(C){C&&(l=!1),d(C)}function m(C){C&&(l=!0),d(C)}function v(){t="",r=0,i=!0,o=0,s=0,l=!1}function S(C){C!==void 0&&(t+=C,f(C),l=!1)}function x(C){C&&C.length&&g(C)}function A(C){(!i||C)&&(t+=e,o++,s=t.length,i=!0,l=!1)}function w(){return i?t.length:t.length+e.length}return v(),{write:g,rawWrite:S,writeLiteral:x,writeLine:A,increaseIndent:()=>{r++},decreaseIndent:()=>{r--},getIndent:()=>r,getTextPos:()=>t.length,getLine:()=>o,getColumn:()=>i?r*YA():t.length-s,getText:()=>t,isAtStartOfLine:()=>i,hasTrailingComment:()=>l,hasTrailingWhitespace:()=>!!t.length&&xh(t.charCodeAt(t.length-1)),clear:v,writeKeyword:g,writeOperator:g,writeParameter:g,writeProperty:g,writePunctuation:g,writeSpace:g,writeStringLiteral:g,writeSymbol:(C,P)=>g(C),writeTrailingSemicolon:g,writeComment:m,getTextPosWithWriteLine:w}}function XH(e){let t=!1;function r(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return{...e,writeTrailingSemicolon(){t=!0},writeLiteral(i){r(),e.writeLiteral(i)},writeStringLiteral(i){r(),e.writeStringLiteral(i)},writeSymbol(i,o){r(),e.writeSymbol(i,o)},writePunctuation(i){r(),e.writePunctuation(i)},writeKeyword(i){r(),e.writeKeyword(i)},writeOperator(i){r(),e.writeOperator(i)},writeParameter(i){r(),e.writeParameter(i)},writeSpace(i){r(),e.writeSpace(i)},writeProperty(i){r(),e.writeProperty(i)},writeComment(i){r(),e.writeComment(i)},writeLine(){r(),e.writeLine()},increaseIndent(){r(),e.increaseIndent()},decreaseIndent(){r(),e.decreaseIndent()}}}function xR(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():!1}function lb(e){return Dl(xR(e))}function Z6(e,t,r){return t.moduleName||YH(e,t.fileName,r&&r.fileName)}function kce(e,t){return e.getCanonicalFileName(_a(t,e.getCurrentDirectory()))}function Dce(e,t,r){let i=t.getExternalModuleFileFromDeclaration(r);if(!i||i.isDeclarationFile)return;let o=UA(r);if(!(o&&es(o)&&!Jd(o.text)&&kce(e,i.path).indexOf(kce(e,cu(e.getCommonSourceDirectory())))===-1))return Z6(e,i)}function YH(e,t,r){let i=d=>e.getCanonicalFileName(d),o=Ts(r?ni(r):e.getCommonSourceDirectory(),e.getCurrentDirectory(),i),s=_a(t,e.getCurrentDirectory()),l=Q1(o,s,o,i,!1),f=ld(l);return r?S0(f):f}function wce(e,t,r){let i=t.getCompilerOptions(),o;return i.outDir?o=ld(e4(e,t,i.outDir)):o=ld(e),o+r}function Rce(e,t){return $H(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),r=>t.getCanonicalFileName(r))}function $H(e,t,r,i,o){let s=t.declarationDir||t.outDir,l=s?tW(e,s,r,i,o):e,f=QH(l);return ld(l)+f}function QH(e){return $c(e,[".mjs",".mts"])?".d.mts":$c(e,[".cjs",".cts"])?".d.cts":$c(e,[".json"])?".d.json.ts":".d.ts"}function Oce(e){return $c(e,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:$c(e,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:$c(e,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function Ss(e){return e.outFile||e.out}function ZH(e,t){var r,i;if(e.paths)return(i=e.baseUrl)!=null?i:L.checkDefined(e.pathsBasePath||((r=t.getCurrentDirectory)==null?void 0:r.call(t)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function eW(e,t,r){let i=e.getCompilerOptions();if(Ss(i)){let o=Rl(i),s=i.emitDeclarationOnly||o===2||o===4;return Pr(e.getSourceFiles(),l=>(s||!Lc(l))&&pS(l,e,r))}else{let o=t===void 0?e.getSourceFiles():[t];return Pr(o,s=>pS(s,e,r))}}function pS(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&Cu(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&(r||!(Mf(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&!t.isSourceOfProjectReferenceRedirect(e.fileName))}function e4(e,t,r){return tW(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),i=>t.getCanonicalFileName(i))}function tW(e,t,r,i,o){let s=_a(e,r);return s=o(s).indexOf(o(i))===0?s.substring(i.length):s,vi(t,s)}function BI(e,t,r,i,o,s,l){e.writeFile(r,i,o,f=>{t.add(ps(_.Could_not_write_file_0_Colon_1,r,f))},s,l)}function Nce(e,t,r){if(e.length>_p(e)&&!r(e)){let i=ni(e);Nce(i,t,r),t(e)}}function nW(e,t,r,i,o,s){try{i(e,t,r)}catch{Nce(ni(So(e)),o,s),i(e,t,r)}}function UI(e,t){let r=Sh(e);return aI(r,t)}function IT(e,t){return aI(e,t)}function Vm(e){return wr(e.members,t=>Ec(t)&&Pf(t.body))}function VI(e){if(e&&e.parameters.length>0){let t=e.parameters.length===2&&G0(e.parameters[0]);return e.parameters[t?1:0]}}function Pce(e){let t=VI(e);return t&&t.type}function F0(e){if(e.parameters.length&&!X0(e)){let t=e.parameters[0];if(G0(t))return t}}function G0(e){return LT(e.name)}function LT(e){return!!e&&e.kind===79&&rW(e)}function mS(e){if(!LT(e))return!1;for(;Yu(e.parent)&&e.parent.left===e;)e=e.parent;return e.parent.kind===183}function rW(e){return e.escapedText==="this"}function kT(e,t){let r,i,o,s;return Xy(t)?(r=t,t.kind===174?o=t:t.kind===175?s=t:L.fail("Accessor has wrong kind")):mn(e,l=>{if(rb(l)&&Ca(l)===Ca(t)){let f=M0(l.name),d=M0(t.name);f===d&&(r?i||(i=l):r=l,l.kind===174&&!o&&(o=l),l.kind===175&&!s&&(s=l))}}),{firstAccessor:r,secondAccessor:i,getAccessor:o,setAccessor:s}}function Cl(e){if(!Yn(e)&&Jc(e))return;let t=e.type;return t||!Yn(e)?t:a6(e)?e.typeExpression&&e.typeExpression.type:Vy(e)}function Mce(e){return e.type}function U_(e){return X0(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(Yn(e)?Aw(e):void 0)}function t4(e){return Uo(A0(e),t=>Fwe(t)?t.typeParameters:void 0)}function Fwe(e){return H_(e)&&!(e.parent.kind===323&&(e.parent.tags.some(Ff)||e.parent.tags.some(kL)))}function Fce(e){let t=VI(e);return t&&Cl(t)}function Gce(e,t,r,i){Bce(e,t,r.pos,i)}function Bce(e,t,r,i){i&&i.length&&r!==i[0].pos&&IT(e,r)!==IT(e,i[0].pos)&&t.writeLine()}function Uce(e,t,r,i){r!==i&&IT(e,r)!==IT(e,i)&&t.writeLine()}function Vce(e,t,r,i,o,s,l,f){if(i&&i.length>0){o&&r.writeSpace(" ");let d=!1;for(let g of i)d&&(r.writeSpace(" "),d=!1),f(e,t,r,g.pos,g.end,l),g.hasTrailingNewLine?r.writeLine():d=!0;d&&s&&r.writeSpace(" ")}}function jce(e,t,r,i,o,s,l){let f,d;if(l?o.pos===0&&(f=Pr(Nm(e,o.pos),g)):f=Nm(e,o.pos),f){let m=[],v;for(let S of f){if(v){let x=IT(t,v.end);if(IT(t,S.pos)>=x+2)break}m.push(S),v=S}if(m.length){let S=IT(t,To(m).end);IT(t,xo(e,o.pos))>=S+2&&(Gce(t,r,o,f),Vce(e,t,r,m,!1,!0,s,i),d={nodePos:o.pos,detachedCommentEndPos:To(m).end})}}return d;function g(m){return y6(e,m.pos)}}function $A(e,t,r,i,o,s){if(e.charCodeAt(i+1)===42){let l=yw(t,i),f=t.length,d;for(let g=i,m=l.line;g<o;m++){let v=m+1===f?e.length+1:t[m+1];if(g!==i){d===void 0&&(d=Hce(e,t[l.line],i));let x=r.getIndent()*YA()-d+Hce(e,g,v);if(x>0){let A=x%YA(),w=Q6((x-A)/YA());for(r.rawWrite(w);A;)r.rawWrite(" "),A--}else r.rawWrite("")}Gwe(e,o,r,s,g,v),g=v}}else r.writeComment(e.substring(i,o))}function Gwe(e,t,r,i,o,s){let l=Math.min(t,s-1),f=v0(e.substring(o,l));f?(r.writeComment(f),l!==t&&r.writeLine()):r.rawWrite(i)}function Hce(e,t,r){let i=0;for(;t<r&&Yp(e.charCodeAt(t));t++)e.charCodeAt(t)===9?i+=YA()-i%YA():i++;return i}function n4(e){return uu(e)!==0}function Wce(e){return Yy(e)!==0}function cd(e,t){return!!hS(e,t)}function Mr(e,t){return!!zce(e,t)}function Ca(e){return _l(e)&&zc(e)||oc(e)}function zc(e){return Mr(e,32)}function iW(e){return cd(e,16384)}function B0(e){return Mr(e,256)}function aW(e){return Mr(e,2)}function rm(e){return Mr(e,128)}function jI(e){return cd(e,64)}function bf(e){return Mr(e,131072)}function hS(e,t){return uu(e)&t}function zce(e,t){return Yy(e)&t}function oW(e,t,r){return e.kind>=0&&e.kind<=162?0:(e.modifierFlagsCache&536870912||(e.modifierFlagsCache=sW(e)|536870912),t&&!(e.modifierFlagsCache&4096)&&(r||Yn(e))&&e.parent&&(e.modifierFlagsCache|=Kce(e)|4096),e.modifierFlagsCache&-536875009)}function uu(e){return oW(e,!0)}function Jce(e){return oW(e,!0,!0)}function Yy(e){return oW(e,!1)}function Kce(e){let t=0;return e.parent&&!ha(e)&&(Yn(e)&&(Xoe(e)&&(t|=4),Yoe(e)&&(t|=8),$oe(e)&&(t|=16),Qoe(e)&&(t|=64),Zoe(e)&&(t|=16384)),ese(e)&&(t|=8192)),t}function qce(e){return sW(e)|Kce(e)}function sW(e){let t=g_(e)?im(e.modifiers):0;return(e.flags&4||e.kind===79&&e.flags&2048)&&(t|=1),t}function im(e){let t=0;if(e)for(let r of e)t|=gS(r.kind);return t}function gS(e){switch(e){case 124:return 32;case 123:return 4;case 122:return 16;case 121:return 8;case 126:return 256;case 127:return 128;case 93:return 1;case 136:return 2;case 85:return 2048;case 88:return 1024;case 132:return 512;case 146:return 64;case 161:return 16384;case 101:return 32768;case 145:return 65536;case 167:return 131072}return 0}function Xce(e){return e===56||e===55}function Yce(e){return Xce(e)||e===53}function HI(e){return e===75||e===76||e===77}function cW(e){return ar(e)&&HI(e.operatorToken.kind)}function AR(e){return Xce(e)||e===60}function CR(e){return ar(e)&&AR(e.operatorToken.kind)}function Mg(e){return e>=63&&e<=78}function lW(e){let t=uW(e);return t&&!t.isImplements?t.class:void 0}function uW(e){if(Vg(e)){if(dd(e.parent)&&Yr(e.parent.parent))return{class:e.parent.parent,isImplements:e.parent.token===117};if(x2(e.parent)){let t=WA(e.parent);if(t&&Yr(t))return{class:t,isImplements:!1}}}}function Iu(e,t){return ar(e)&&(t?e.operatorToken.kind===63:Mg(e.operatorToken.kind))&&Ju(e.left)}function Bwe(e){return Iu(e.parent)&&e.parent.left===e}function Fg(e){if(Iu(e,!0)){let t=e.left.kind;return t===207||t===206}return!1}function IR(e){return lW(e)!==void 0}function bc(e){return e.kind===79||LR(e)}function Yd(e){switch(e.kind){case 79:return e;case 163:do e=e.left;while(e.kind!==79);return e;case 208:do e=e.expression;while(e.kind!==79);return e}}function WI(e){return e.kind===79||e.kind===108||e.kind===106||e.kind===233||e.kind===208&&WI(e.expression)||e.kind===214&&WI(e.expression)}function LR(e){return br(e)&&Re(e.name)&&bc(e.expression)}function kR(e){if(br(e)){let t=kR(e.expression);if(t!==void 0)return t+"."+qd(e.name)}else if(Vs(e)){let t=kR(e.expression);if(t!==void 0&&Ys(e.argumentExpression))return t+"."+M0(e.argumentExpression)}else if(Re(e))return Gi(e.escapedText)}function ub(e){return ST(e)&&wh(e)==="prototype"}function zI(e){return e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e}function $ce(e){return br(e.parent)&&e.parent.name===e||Vs(e.parent)&&e.parent.argumentExpression===e}function Qce(e){return Yu(e.parent)&&e.parent.right===e||br(e.parent)&&e.parent.name===e||gb(e.parent)&&e.parent.right===e}function dW(e){return e.kind===207&&e.properties.length===0}function Zce(e){return e.kind===206&&e.elements.length===0}function QA(e){if(!(!Uwe(e)||!e.declarations)){for(let t of e.declarations)if(t.localSymbol)return t.localSymbol}}function Uwe(e){return e&&Fn(e.declarations)>0&&Mr(e.declarations[0],1024)}function r4(e){return wr(iue,t=>Gc(e,t))}function Vwe(e){let t=[],r=e.length;for(let i=0;i<r;i++){let o=e.charCodeAt(i);o<128?t.push(o):o<2048?(t.push(o>>6|192),t.push(o&63|128)):o<65536?(t.push(o>>12|224),t.push(o>>6&63|128),t.push(o&63|128)):o<131072?(t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)):L.assert(!1,"Unexpected code point")}return t}function ele(e){let t="",r=Vwe(e),i=0,o=r.length,s,l,f,d;for(;i<o;)s=r[i]>>2,l=(r[i]&3)<<4|r[i+1]>>4,f=(r[i+1]&15)<<2|r[i+2]>>6,d=r[i+2]&63,i+1>=o?f=d=64:i+2>=o&&(d=64),t+=H0.charAt(s)+H0.charAt(l)+H0.charAt(f)+H0.charAt(d),i+=3;return t}function jwe(e){let t="",r=0,i=e.length;for(;r<i;){let o=e[r];if(o<128)t+=String.fromCharCode(o),r++;else if((o&192)===192){let s=o&63;r++;let l=e[r];for(;(l&192)===128;)s=s<<6|l&63,r++,l=e[r];t+=String.fromCharCode(s)}else t+=String.fromCharCode(o),r++}return t}function tle(e,t){return e&&e.base64encode?e.base64encode(t):ele(t)}function nle(e,t){if(e&&e.base64decode)return e.base64decode(t);let r=t.length,i=[],o=0;for(;o<r&&t.charCodeAt(o)!==H0.charCodeAt(64);){let s=H0.indexOf(t[o]),l=H0.indexOf(t[o+1]),f=H0.indexOf(t[o+2]),d=H0.indexOf(t[o+3]),g=(s&63)<<2|l>>4&3,m=(l&15)<<4|f>>2&15,v=(f&3)<<6|d&63;m===0&&f!==0?i.push(g):v===0&&d!==0?i.push(g,m):i.push(g,m,v),o+=4}return jwe(i)}function fW(e,t){let r=Ta(t)?t:t.readFile(e);if(!r)return;let i=vJ(e,r);return i.error?void 0:i.config}function JI(e,t){return fW(e,t)||{}}function gp(e,t){return!t.directoryExists||t.directoryExists(e)}function db(e){switch(e.newLine){case 0:return eue;case 1:case void 0:return tue}}function Gf(e,t=e){return L.assert(t>=e||t===-1),{pos:e,end:t}}function i4(e,t){return Gf(e.pos,t)}function fb(e,t){return Gf(t,e.end)}function $y(e){let t=g_(e)?dA(e.modifiers,du):void 0;return t&&!vp(t.end)?fb(e,t.end):e}function yp(e){if(Na(e)||Nc(e))return fb(e,e.name.pos);let t=g_(e)?Os(e.modifiers):void 0;return t&&!vp(t.end)?fb(e,t.end):$y(e)}function Hwe(e){return e.pos===e.end}function _W(e,t){return Gf(e,e+Xa(t).length)}function DT(e,t){return ile(e,e,t)}function a4(e,t,r){return Bf(KI(e,r,!1),KI(t,r,!1),r)}function rle(e,t,r){return Bf(e.end,t.end,r)}function ile(e,t,r){return Bf(KI(e,r,!1),t.end,r)}function DR(e,t,r){return Bf(e.end,KI(t,r,!1),r)}function pW(e,t,r,i){let o=KI(t,r,i);return oI(r,e.end,o)}function Wwe(e,t,r){return oI(r,e.end,t.end)}function ale(e,t){return!Bf(e.pos,e.end,t)}function Bf(e,t,r){return oI(r,e,t)===0}function KI(e,t,r){return vp(e.pos)?-1:xo(t.text,e.pos,!1,r)}function ole(e,t,r,i){let o=xo(r.text,e,!1,i),s=zwe(o,t,r);return oI(r,s??t,o)}function sle(e,t,r,i){let o=xo(r.text,e,!1,i);return oI(r,e,Math.min(t,o))}function zwe(e,t=0,r){for(;e-- >t;)if(!xh(r.text.charCodeAt(e)))return e}function wR(e){let t=ea(e);if(t)switch(t.parent.kind){case 263:case 264:return t===t.parent.name}return!1}function qI(e){return Pr(e.declarations,mW)}function mW(e){return wi(e)&&e.initializer!==void 0}function Jwe(e){return e.watch&&fs(e,"watch")}function am(e){e.close()}function ac(e){return e.flags&33554432?e.links.checkFlags:0}function Ef(e,t=!1){if(e.valueDeclaration){let r=t&&e.declarations&&wr(e.declarations,Sf)||e.flags&32768&&wr(e.declarations,p_)||e.valueDeclaration,i=wg(r);return e.parent&&e.parent.flags&32?i:i&-29}if(ac(e)&6){let r=e.links.checkFlags,i=r&1024?8:r&256?4:16,o=r&2048?32:0;return i|o}return e.flags&4194304?36:0}function wd(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}function XI(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}function hW(e){return ZA(e)===1}function YI(e){return ZA(e)!==0}function ZA(e){let{parent:t}=e;if(!t)return 0;switch(t.kind){case 214:return ZA(t);case 222:case 221:let{operator:i}=t;return i===45||i===46?r():0;case 223:let{left:o,operatorToken:s}=t;return o===e&&Mg(s.kind)?s.kind===63?1:r():0;case 208:return t.name!==e?0:ZA(t);case 299:{let l=ZA(t.parent);return e===t.name?Kwe(l):l}case 300:return e===t.objectAssignmentInitializer?0:ZA(t.parent);case 206:return ZA(t);default:return 0}function r(){return t.parent&&qy(t.parent).kind===241?1:2}}function Kwe(e){switch(e){case 0:return 1;case 1:return 0;case 2:return 2;default:return L.assertNever(e)}}function gW(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(typeof e[r]=="object"){if(!gW(e[r],t[r]))return!1}else if(typeof e[r]!="function"&&e[r]!==t[r])return!1;return!0}function Tf(e,t){e.forEach(t),e.clear()}function Oh(e,t,r){let{onDeleteValue:i,onExistingValue:o}=r;e.forEach((s,l)=>{let f=t.get(l);f===void 0?(e.delete(l),i(s,l)):o&&o(s,f,l)})}function e2(e,t,r){Oh(e,t,r);let{createNewValue:i}=r;t.forEach((o,s)=>{e.has(s)||e.set(s,i(s,o))})}function cle(e){if(e.flags&32){let t=Nh(e);return!!t&&Mr(t,256)}return!1}function Nh(e){var t;return(t=e.declarations)==null?void 0:t.find(Yr)}function Ur(e){return e.flags&3899393?e.objectFlags:0}function qwe(e,t){return!!Th(e,r=>t(r)?!0:void 0)}function o4(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&gO(e.declarations[0])}function lle({moduleSpecifier:e}){return yo(e)?e.text:Qc(e)}function yW(e){let t;return pa(e,r=>{Pf(r)&&(t=r)},r=>{for(let i=r.length-1;i>=0;i--)if(Pf(r[i])){t=r[i];break}}),t}function V_(e,t,r=!0){return e.has(t)?!1:(e.set(t,r),!0)}function yS(e){return Yr(e)||ku(e)||Rd(e)}function vW(e){return e>=179&&e<=202||e===131||e===157||e===148||e===160||e===149||e===134||e===152||e===153||e===114||e===155||e===144||e===139||e===230||e===315||e===316||e===317||e===318||e===319||e===320||e===321}function Us(e){return e.kind===208||e.kind===209}function ule(e){return e.kind===208?e.name:(L.assert(e.kind===209),e.argumentExpression)}function dle(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}}function bW(e){return e.kind===272||e.kind===276}function $I(e){for(;Us(e);)e=e.expression;return e}function Xwe(e,t){if(Us(e.parent)&&$ce(e))return r(e.parent);function r(i){if(i.kind===208){let o=t(i.name);if(o!==void 0)return o}else if(i.kind===209)if(Re(i.argumentExpression)||es(i.argumentExpression)){let o=t(i.argumentExpression);if(o!==void 0)return o}else return;if(Us(i.expression))return r(i.expression);if(Re(i.expression))return t(i.expression)}}function QI(e,t){for(;;){switch(e.kind){case 222:e=e.operand;continue;case 223:e=e.left;continue;case 224:e=e.condition;continue;case 212:e=e.tag;continue;case 210:if(t)return e;case 231:case 209:case 208:case 232:case 356:case 235:e=e.expression;continue}return e}}function Ywe(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.isAssigned=void 0,this.links=void 0}function $we(e,t){this.flags=t,(L.isDebugging||ai)&&(this.checker=e)}function Qwe(e,t){this.flags=t,L.isDebugging&&(this.checker=e)}function EW(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function Zwe(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function eRe(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function tRe(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(i=>i)}function fle(e){tz.push(e),e(ml)}function _le(e){Object.assign(ml,e),mn(tz,t=>t(ml))}function jm(e,t,r=0){return e.replace(/{(\d+)}/g,(i,o)=>""+L.checkDefined(t[+o+r]))}function ple(e){qR=e}function mle(e){!qR&&e&&(qR=e())}function uo(e){return qR&&qR[e.key]||e.message}function t2(e,t,r,i){gH(void 0,t,r);let o=uo(i);return arguments.length>4&&(o=jm(o,arguments,4)),{file:void 0,start:t,length:r,messageText:o,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,fileName:e}}function nRe(e){return e.file===void 0&&e.start!==void 0&&e.length!==void 0&&typeof e.fileName=="string"}function hle(e,t){let r=t.fileName||"",i=t.text.length;L.assertEqual(e.fileName,r),L.assertLessThanOrEqual(e.start,i),L.assertLessThanOrEqual(e.start+e.length,i);let o={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){o.relatedInformation=[];for(let s of e.relatedInformation)nRe(s)&&s.fileName===r?(L.assertLessThanOrEqual(s.start,i),L.assertLessThanOrEqual(s.start+s.length,i),o.relatedInformation.push(hle(s,t))):o.relatedInformation.push(s)}return o}function vS(e,t){let r=[];for(let i of e)r.push(hle(i,t));return r}function al(e,t,r,i){gH(e,t,r);let o=uo(i);return arguments.length>4&&(o=jm(o,arguments,4)),{file:e,start:t,length:r,messageText:o,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,reportsDeprecated:i.reportsDeprecated}}function TW(e,t){let r=uo(t);return arguments.length>2&&(r=jm(r,arguments,2)),r}function ps(e){let t=uo(e);return arguments.length>1&&(t=jm(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function s4(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}}function da(e,t){let r=uo(t);return arguments.length>2&&(r=jm(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:e===void 0||Array.isArray(e)?e:[e]}}function gle(e,t){let r=e;for(;r.next;)r=r.next[0];r.next=[t]}function yle(e){return e.file?e.file.path:void 0}function ZI(e,t){return c4(e,t)||rRe(e,t)||0}function c4(e,t){return su(yle(e),yle(t))||Es(e.start,t.start)||Es(e.length,t.length)||Es(e.code,t.code)||vle(e.messageText,t.messageText)||0}function rRe(e,t){return!e.relatedInformation&&!t.relatedInformation?0:e.relatedInformation&&t.relatedInformation?Es(e.relatedInformation.length,t.relatedInformation.length)||mn(e.relatedInformation,(r,i)=>{let o=t.relatedInformation[i];return ZI(r,o)})||0:e.relatedInformation?-1:1}function vle(e,t){if(typeof e=="string"&&typeof t=="string")return su(e,t);if(typeof e=="string")return-1;if(typeof t=="string")return 1;let r=su(e.messageText,t.messageText);if(r)return r;if(!e.next&&!t.next)return 0;if(!e.next)return-1;if(!t.next)return 1;let i=Math.min(e.next.length,t.next.length);for(let o=0;o<i;o++)if(r=vle(e.next[o],t.next[o]),r)return r;return e.next.length<t.next.length?-1:e.next.length>t.next.length?1:0}function RR(e){return e===4||e===2||e===1||e===6?1:0}function ble(e){if(e.transformFlags&2)return Au(e)||BS(e)?e:pa(e,ble)}function iRe(e){return e.isDeclarationFile?void 0:ble(e)}function aRe(e){return(e.impliedNodeFormat===99||$c(e.fileName,[".cjs",".cts",".mjs",".mts"]))&&!e.isDeclarationFile?!0:void 0}function OR(e){switch(Ele(e)){case 3:return o=>{o.externalModuleIndicator=LO(o)||!o.isDeclarationFile||void 0};case 1:return o=>{o.externalModuleIndicator=LO(o)};case 2:let t=[LO];(e.jsx===4||e.jsx===5)&&t.push(iRe),t.push(aRe);let r=Kp(...t);return o=>void(o.externalModuleIndicator=r(o))}}function Do(e){var t;return(t=e.target)!=null?t:e.module===100&&9||e.module===199&&99||1}function Rl(e){return typeof e.module=="number"?e.module:Do(e)>=2?5:1}function SW(e){return e>=5&&e<=99}function $s(e){let t=e.moduleResolution;if(t===void 0)switch(Rl(e)){case 1:t=2;break;case 100:t=3;break;case 199:t=99;break;default:t=1;break}return t}function Ele(e){return e.moduleDetection||(Rl(e)===100||Rl(e)===199?3:2)}function l4(e){switch(Rl(e)){case 1:case 2:case 5:case 6:case 7:case 99:case 100:case 199:return!0;default:return!1}}function d_(e){return!!(e.isolatedModules||e.verbatimModuleSyntax)}function u4(e){return e.verbatimModuleSyntax||e.isolatedModules&&e.preserveValueImports}function Tle(e){return e.allowUnreachableCode===!1}function Sle(e){return e.allowUnusedLabels===!1}function d4(e){return!!(__(e)&&e.declarationMap)}function f_(e){if(e.esModuleInterop!==void 0)return e.esModuleInterop;switch(Rl(e)){case 100:case 199:return!0}}function wT(e){return e.allowSyntheticDefaultImports!==void 0?e.allowSyntheticDefaultImports:f_(e)||Rl(e)===4||$s(e)===100}function bS(e){return e>=3&&e<=99||e===100}function xW(e){let t=$s(e);if(!bS(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function oRe(e){let t=$s(e);if(!bS(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function RT(e){return e.resolveJsonModule!==void 0?e.resolveJsonModule:$s(e)===100}function __(e){return!!(e.declaration||e.composite)}function U0(e){return!!(e.preserveConstEnums||d_(e))}function NR(e){return!!(e.incremental||e.composite)}function Uf(e,t){return e[t]===void 0?!!e.strict:!!e[t]}function PR(e){return e.allowJs===void 0?!!e.checkJs:e.allowJs}function MR(e){return e.useDefineForClassFields===void 0?Do(e)>=9:e.useDefineForClassFields}function xle(e,t){return LA(t,e,PJ)}function Ale(e,t){return LA(t,e,MJ)}function Cle(e,t){return LA(t,e,FJ)}function f4(e,t){return t.strictFlag?Uf(e,t.name):e[t.name]}function AW(e){let t=e.jsx;return t===2||t===4||t===5}function _4(e,t){let r=t?.pragmas.get("jsximportsource"),i=ba(r)?r[r.length-1]:r;return e.jsx===4||e.jsx===5||e.jsxImportSource||i?i?.arguments.factory||e.jsxImportSource||"react":void 0}function p4(e,t){return e?`${e}/${t.jsx===5?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function CW(e){let t=!1;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)===42)if(!t)t=!0;else return!1;return!0}function Ile(e,t){let r,i,o,s=!1;return{getSymlinkedFiles:()=>o,getSymlinkedDirectories:()=>r,getSymlinkedDirectoriesByRealpath:()=>i,setSymlinkedFile:(f,d)=>(o||(o=new Map)).set(f,d),setSymlinkedDirectory:(f,d)=>{let g=Ts(f,e,t);sL(g)||(g=cu(g),d!==!1&&!r?.has(g)&&(i||(i=Nf())).add(cu(d.realPath),f),(r||(r=new Map)).set(g,d))},setSymlinksFromResolutions(f,d){var g,m;L.assert(!s),s=!0;for(let v of f)(g=v.resolvedModules)==null||g.forEach(S=>l(this,S.resolvedModule)),(m=v.resolvedTypeReferenceDirectiveNames)==null||m.forEach(S=>l(this,S.resolvedTypeReferenceDirective));d.forEach(v=>l(this,v.resolvedTypeReferenceDirective))},hasProcessedResolutions:()=>s};function l(f,d){if(!d||!d.originalPath||!d.resolvedFileName)return;let{resolvedFileName:g,originalPath:m}=d;f.setSymlinkedFile(Ts(m,e,t),g);let[v,S]=sRe(g,m,e,t)||Je;v&&S&&f.setSymlinkedDirectory(S,{real:v,realPath:Ts(v,e,t)})}}function sRe(e,t,r,i){let o=Ou(_a(e,r)),s=Ou(_a(t,r)),l=!1;for(;o.length>=2&&s.length>=2&&!Lle(o[o.length-2],i)&&!Lle(s[s.length-2],i)&&i(o[o.length-1])===i(s[s.length-1]);)o.pop(),s.pop(),l=!0;return l?[T0(o),T0(s)]:void 0}function Lle(e,t){return e!==void 0&&(t(e)==="node_modules"||na(e,"@"))}function cRe(e){return sj(e.charCodeAt(0))?e.slice(1):void 0}function IW(e,t,r){let i=KU(e,t,r);return i===void 0?void 0:cRe(i)}function lRe(e){return e.replace(A4,uRe)}function uRe(e){return"\\"+e}function eL(e,t,r){let i=m4(e,t,r);return!i||!i.length?void 0:`^(${i.map(l=>`(${l})`).join("|")})${r==="exclude"?"($|/)":"$"}`}function m4(e,t,r){if(!(e===void 0||e.length===0))return Uo(e,i=>i&&kle(i,t,r,oz[r]))}function LW(e){return!/[.*?]/.test(e)}function kW(e,t,r){let i=e&&kle(e,t,r,oz[r]);return i&&`^(${i})${r==="exclude"?"($|/)":"$"}`}function kle(e,t,r,{singleAsteriskRegexFragment:i,doubleAsteriskRegexFragment:o,replaceWildcardCharacter:s}){let l="",f=!1,d=fw(e,t),g=To(d);if(r!=="exclude"&&g==="**")return;d[0]=sT(d[0]),LW(g)&&d.push("**","*");let m=0;for(let v of d){if(v==="**")l+=o;else if(r==="directories"&&(l+="(",m++),f&&(l+=_s),r!=="exclude"){let S="";v.charCodeAt(0)===42?(S+="([^./]"+i+")?",v=v.substr(1)):v.charCodeAt(0)===63&&(S+="[^./]",v=v.substr(1)),S+=v.replace(A4,s),S!==v&&(l+=C4),l+=S}else l+=v.replace(A4,s);f=!0}for(;m>0;)l+=")?",m--;return l}function DW(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function tL(e,t,r,i,o){e=So(e),o=So(o);let s=vi(o,e);return{includeFilePatterns:on(m4(r,s,"files"),l=>`^${l}$`),includeFilePattern:eL(r,s,"files"),includeDirectoryPattern:eL(r,s,"directories"),excludePattern:eL(t,s,"exclude"),basePaths:dRe(e,r,i)}}function Qy(e,t){return new RegExp(e,t?"":"i")}function wW(e,t,r,i,o,s,l,f,d){e=So(e),s=So(s);let g=tL(e,r,i,o,s),m=g.includeFilePatterns&&g.includeFilePatterns.map(P=>Qy(P,o)),v=g.includeDirectoryPattern&&Qy(g.includeDirectoryPattern,o),S=g.excludePattern&&Qy(g.excludePattern,o),x=m?m.map(()=>[]):[[]],A=new Map,w=Dl(o);for(let P of g.basePaths)C(P,vi(s,P),l);return t_(x);function C(P,F,B){let q=w(d(F));if(A.has(q))return;A.set(q,!0);let{files:W,directories:Y}=f(P);for(let R of XC(W,su)){let ie=vi(P,R),$=vi(F,R);if(!(t&&!$c(ie,t))&&!(S&&S.test($)))if(!m)x[0].push(ie);else{let fe=Yc(m,Z=>Z.test($));fe!==-1&&x[fe].push(ie)}}if(!(B!==void 0&&(B--,B===0)))for(let R of XC(Y,su)){let ie=vi(P,R),$=vi(F,R);(!v||v.test($))&&(!S||!S.test($))&&C(ie,$,B)}}}function dRe(e,t,r){let i=[e];if(t){let o=[];for(let s of t){let l=qp(s)?s:So(vi(e,s));o.push(fRe(l))}o.sort(p8(!r));for(let s of o)Ji(i,l=>!Gy(l,s,e,!r))&&i.push(s)}return i}function fRe(e){let t=cae(e,nue);return t<0?gA(e)?sT(ni(e)):e:e.substring(0,e.lastIndexOf(_s,t))}function h4(e,t){return t||RW(e)||3}function RW(e){switch(e.substr(e.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function nL(e,t){let r=e&&PR(e);if(!t||t.length===0)return r?XR:c2;let i=r?XR:c2,o=t_(i);return[...i,...Zi(t,l=>l.scriptKind===7||r&&_Re(l.scriptKind)&&o.indexOf(l.extension)===-1?[l.extension]:void 0)]}function FR(e,t){return!e||!RT(e)?t:t===XR?aue:t===c2?rue:[...t,[".json"]]}function _Re(e){return e===1||e===2}function ES(e){return vt(dL,t=>Gc(e,t))}function GR(e){return vt(sz,t=>Gc(e,t))}function Dle({imports:e},t=Kp(ES,GR)){return ks(e,({text:r})=>Jd(r)?t(r):void 0)||!1}function OW(e,t,r,i){if(e==="js"||t===99)return VL(r)&&o()!==2?3:2;if(e==="minimal")return 0;if(e==="index")return 1;if(!VL(r))return Dle(i)?2:0;return o();function o(){let s=!1,l=i.imports.length?i.imports.map(f=>f.text):Cu(i)?pRe(i).map(f=>f.arguments[0].text):Je;for(let f of l)if(Jd(f)){if(GR(f))return 3;ES(f)&&(s=!0)}return s?2:0}}function pRe(e){let t=0,r;for(let i of e.statements){if(t>3)break;DH(i)?r=Qi(r,i.declarationList.declarations.map(o=>o.initializer)):Ol(i)&&qu(i.expression,!0)?r=Sn(r,i.expression):t++}return r||Je}function wle(e,t,r){if(!e)return!1;let i=nL(t,r);for(let o of t_(FR(t,i)))if(Gc(e,o))return!0;return!1}function Rle(e){let t=e.match(/\//g);return t?t.length:0}function BR(e,t){return Es(Rle(e),Rle(t))}function ld(e){for(let t of k4){let r=Ole(e,t);if(r!==void 0)return r}return e}function Ole(e,t){return Gc(e,t)?UR(e,t):void 0}function UR(e,t){return e.substring(0,e.length-t.length)}function V0(e,t){return uj(e,t,k4,!1)}function n2(e){let t=e.indexOf("*");return t===-1?e:e.indexOf("*",t+1)!==-1?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function g4(e){return Zi(bh(e),t=>n2(t))}function vp(e){return!(e>=0)}function y4(e){return e===".ts"||e===".tsx"||e===".d.ts"||e===".cts"||e===".mts"||e===".d.mts"||e===".d.cts"||na(e,".d.")&&Oc(e,".ts")}function VR(e){return y4(e)||e===".json"}function jR(e){let t=Hm(e);return t!==void 0?t:L.fail(`File ${e} has unknown extension.`)}function mRe(e){return Hm(e)!==void 0}function Hm(e){return wr(k4,t=>Gc(e,t))}function HR(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}function NW(e,t){let r=[];for(let i of e){if(i===t)return t;Ta(i)||r.push(i)}return JU(r,i=>i,t)}function PW(e,t){let r=e.indexOf(t);return L.assert(r!==-1),e.slice(r)}function Ao(e,...t){return t.length&&(e.relatedInformation||(e.relatedInformation=[]),L.assert(e.relatedInformation!==Je,"Diagnostic had empty array singleton for related info, but is still being constructed!"),e.relatedInformation.push(...t)),e}function Nle(e,t){L.assert(e.length!==0);let r=t(e[0]),i=r;for(let o=1;o<e.length;o++){let s=t(e[o]);s<r?r=s:s>i&&(i=s)}return{min:r,max:i}}function MW(e){return{pos:gT(e),end:e.end}}function FW(e,t){let r=t.pos-1,i=Math.min(e.text.length,xo(e.text,t.end)+1);return{pos:r,end:i}}function rL(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)}function GW(e,t){return e===t||typeof e=="object"&&e!==null&&typeof t=="object"&&t!==null&&hae(e,t,GW)}function iL(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:let g=e.length-1,m=0;for(;e.charCodeAt(m)===48;)m++;return e.slice(m,g)||"0"}let r=2,i=e.length-1,o=(i-r)*t,s=new Uint16Array((o>>>4)+(o&15?1:0));for(let g=i-1,m=0;g>=r;g--,m+=t){let v=m>>>4,S=e.charCodeAt(g),A=(S<=57?S-48:10+S-(S<=70?65:97))<<(m&15);s[v]|=A;let w=A>>>16;w&&(s[v+1]|=w)}let l="",f=s.length-1,d=!0;for(;d;){let g=0;d=!1;for(let m=f;m>=0;m--){let v=g<<16|s[m],S=v/10|0;s[m]=S,g=v-S*10,S&&!d&&(f=m,d=!0)}l=g+l}return l}function j0({negative:e,base10Value:t}){return(e&&t!=="0"?"-":"")+t}function Ple(e){if(v4(e,!1))return BW(e)}function BW(e){let t=e.startsWith("-"),r=iL(`${t?e.slice(1):e}n`);return{negative:t,base10Value:r}}function v4(e,t){if(e==="")return!1;let r=kg(99,!1),i=!0;r.setOnError(()=>i=!1),r.setText(e+"n");let o=r.scan(),s=o===40;s&&(o=r.scan());let l=r.getTokenFlags();return i&&o===9&&r.getTextPos()===e.length+1&&!(l&512)&&(!t||e===j0({negative:s,base10Value:iL(r.getTokenValue())}))}function TS(e){return!!(e.flags&16777216)||G6(e)||yRe(e)||gRe(e)||!(Dh(e)||hRe(e))}function hRe(e){return Re(e)&&xf(e.parent)&&e.parent.name===e}function gRe(e){for(;e.kind===79||e.kind===208;)e=e.parent;if(e.kind!==164)return!1;if(Mr(e.parent,256))return!0;let t=e.parent.parent.kind;return t===261||t===184}function yRe(e){if(e.kind!==79)return!1;let t=jn(e.parent,r=>{switch(r.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}});return t?.token===117||t?.parent.kind===261}function Mle(e){return m_(e)&&Re(e.typeName)}function Fle(e,t=Zv){if(e.length<2)return!0;let r=e[0];for(let i=1,o=e.length;i<o;i++){let s=e[i];if(!t(r,s))return!1}return!0}function aL(e,t){return e.pos=t,e}function r2(e,t){return e.end=t,e}function om(e,t,r){return r2(aL(e,t),r)}function oL(e,t,r){return om(e,t,t+r)}function Gle(e,t){return e&&(e.flags=t),e}function go(e,t){return e&&t&&(e.parent=t),e}function i2(e,t){if(e)for(let r of e)go(r,t);return e}function Zy(e,t){if(!e)return e;return kO(e,IA(e)?r:o),e;function r(s,l){if(t&&s.parent===l)return"skip";go(s,l)}function i(s){if(Kd(s))for(let l of s.jsDoc)r(l,s),kO(l,r)}function o(s,l){return r(s,l)||i(s)}}function vRe(e){return!ol(e)}function UW(e){return fu(e)&&Ji(e.elements,vRe)}function Ble(e){for(L.assertIsDefined(e.parent);;){let t=e.parent;if(ud(t)){e=t;continue}if(Ol(t)||NS(t)||FT(t)&&(t.initializer===e||t.incrementor===e))return!0;if(SL(t)){if(e!==To(t.elements))return!0;e=t;continue}if(ar(t)&&t.operatorToken.kind===27){if(e===t.left)return!0;e=t;continue}return!1}}function sL(e){return vt(uw,t=>jl(e,t))}function Ule(e){if(!e.parent)return;switch(e.kind){case 165:let{parent:r}=e;return r.kind===192?void 0:r.typeParameters;case 166:return e.parent.parameters;case 201:return e.parent.templateSpans;case 236:return e.parent.templateSpans;case 167:{let{parent:i}=e;return HS(i)?i.modifiers:void 0}case 294:return e.parent.heritageClauses}let{parent:t}=e;if(EI(e))return LL(e.parent)?void 0:e.parent.tags;switch(t.kind){case 184:case 261:return _T(e)?t.members:void 0;case 189:case 190:return t.types;case 186:case 206:case 357:case 272:case 276:return t.elements;case 207:case 289:return t.properties;case 210:case 211:return bi(e)?t.typeArguments:t.expression===e?void 0:t.arguments;case 281:case 285:return Pw(e)?t.children:void 0;case 283:case 282:return bi(e)?t.typeArguments:void 0;case 238:case 292:case 293:case 265:return t.statements;case 266:return t.clauses;case 260:case 228:return _l(e)?t.members:void 0;case 263:return q0(e)?t.members:void 0;case 308:return t.statements}}function b4(e){if(!e.typeParameters){if(vt(e.parameters,t=>!Cl(t)))return!0;if(e.kind!==216){let t=Sl(e.parameters);if(!(t&&G0(t)))return!0}}return!1}function cL(e){return e==="Infinity"||e==="-Infinity"||e==="NaN"}function Vle(e){return e.kind===257&&e.parent.kind===295}function VW(e){let t=e.valueDeclaration&&nm(e.valueDeclaration);return!!t&&(ha(t)||Vle(t))}function a2(e){return e.kind===215||e.kind===216}function OT(e){return e.replace(/\$/gm,()=>"\\$")}function Wm(e){return(+e).toString()===e}function E4(e,t,r,i){return i_(e,t)?D.createIdentifier(e):!i&&Wm(e)&&+e>=0?D.createNumericLiteral(+e):D.createStringLiteral(e,!!r)}function lL(e){return!!(e.flags&262144&&e.isThisType)}function jW(e){let t=0,r=0,i=0,o=0,s;(g=>{g[g.BeforeNodeModules=0]="BeforeNodeModules",g[g.NodeModules=1]="NodeModules",g[g.Scope=2]="Scope",g[g.PackageContent=3]="PackageContent"})(s||(s={}));let l=0,f=0,d=0;for(;f>=0;)switch(l=f,f=e.indexOf("/",l+1),d){case 0:e.indexOf(Wg,l)===l&&(t=l,r=f,d=1);break;case 1:case 2:d===1&&e.charAt(l+1)==="@"?d=2:(i=f,d=3);break;case 3:e.indexOf(Wg,l)===l?d=1:d=3;break}return o=l,d>1?{topLevelNodeModulesIndex:t,topLevelPackageNameIndex:r,packageRootIndex:i,fileNameIndex:o}:void 0}function bRe(e){var t;return e.kind===344?(t=e.typeExpression)==null?void 0:t.type:e.type}function o2(e){switch(e.kind){case 165:case 260:case 261:case 262:case 263:case 349:case 341:case 343:return!0;case 270:return e.isTypeOnly;case 273:case 278:return e.parent.parent.isTypeOnly;default:return!1}}function WR(e){return hb(e)||Bc(e)||Jc(e)||sl(e)||ku(e)||o2(e)||Tc(e)&&!D0(e)&&!mp(e)}function zR(e){if(!a6(e))return!1;let{isBracketed:t,typeExpression:r}=e;return t||!!r&&r.type.kind===319}function HW(e,t){if(e.length===0)return!1;let r=e.charCodeAt(0);return r===35?e.length>1&&Pm(e.charCodeAt(1),t):Pm(r,t)}function jle(e){var t;return((t=bz(e))==null?void 0:t.kind)===0}function JR(e){return Yn(e)&&(e.type&&e.type.kind===319||fI(e).some(({isBracketed:t,typeExpression:r})=>t||!!r&&r.type.kind===319))}function WW(e){switch(e.kind){case 169:case 168:return!!e.questionToken;case 166:return!!e.questionToken||JR(e);case 351:case 344:return zR(e);default:return!1}}function Hle(e){let t=e.kind;return(t===208||t===209)&&PS(e.expression)}function zW(e){return Yn(e)&&ud(e)&&Kd(e)&&!!Lj(e)}function JW(e){return L.checkDefined(T4(e))}function T4(e){let t=Lj(e);return t&&t.typeExpression&&t.typeExpression.type}var S4,_b,KR,x4,uL,KW,qW,Wle,XW,zle,YW,$W,QW,ZW,Jle,Kle,qle,Xle,Yle,ez,$le,Qle,Zle,s2,H0,eue,tue,ml,tz,qR,A4,nue,nz,C4,rz,iz,az,oz,c2,sz,rue,iue,cz,dL,XR,aue,I4,L4,lz,k4,D4,ERe=gt({"src/compiler/utilities.ts"(){"use strict";fa(),S4=[],_b="tslib",KR=160,x4=1e6,uL=rwe(),KW=(e=>(e[e.None=0]="None",e[e.NeverAsciiEscape=1]="NeverAsciiEscape",e[e.JsxAttributeEscape=2]="JsxAttributeEscape",e[e.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",e[e.AllowNumericSeparator=8]="AllowNumericSeparator",e))(KW||{}),qW=/^(\/\/\/\s*<reference\s+path\s*=\s*)(('[^']*')|("[^"]*")).*?\/>/,Wle=/^(\/\/\/\s*<reference\s+types\s*=\s*)(('[^']*')|("[^"]*")).*?\/>/,XW=/^(\/\/\/\s*<amd-dependency\s+path\s*=\s*)(('[^']*')|("[^"]*")).*?\/>/,zle=/^(\/\/\/\s*<reference\s+no-default-lib\s*=\s*)(('[^']*')|("[^"]*"))\s*\/>/,YW=(e=>(e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound",e))(YW||{}),$W=(e=>(e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator",e))($W||{}),QW=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(QW||{}),ZW=(e=>(e[e.Comma=0]="Comma",e[e.Spread=1]="Spread",e[e.Yield=2]="Yield",e[e.Assignment=3]="Assignment",e[e.Conditional=4]="Conditional",e[e.Coalesce=4]="Coalesce",e[e.LogicalOR=5]="LogicalOR",e[e.LogicalAND=6]="LogicalAND",e[e.BitwiseOR=7]="BitwiseOR",e[e.BitwiseXOR=8]="BitwiseXOR",e[e.BitwiseAND=9]="BitwiseAND",e[e.Equality=10]="Equality",e[e.Relational=11]="Relational",e[e.Shift=12]="Shift",e[e.Additive=13]="Additive",e[e.Multiplicative=14]="Multiplicative",e[e.Exponentiation=15]="Exponentiation",e[e.Unary=16]="Unary",e[e.Update=17]="Update",e[e.LeftHandSide=18]="LeftHandSide",e[e.Member=19]="Member",e[e.Primary=20]="Primary",e[e.Highest=20]="Highest",e[e.Lowest=0]="Lowest",e[e.Invalid=-1]="Invalid",e))(ZW||{}),Jle=/\$\{/g,Kle=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,qle=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Xle=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,Yle=new Map(Object.entries({"	":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"})),ez=/[^\u0000-\u007F]/g,$le=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,Qle=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,Zle=new Map(Object.entries({'"':"&quot;","'":"&apos;"})),s2=["","    "],H0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",eue=`\r
+`,tue=`
+`,ml={getNodeConstructor:()=>EW,getTokenConstructor:()=>Zwe,getIdentifierConstructor:()=>eRe,getPrivateIdentifierConstructor:()=>EW,getSourceFileConstructor:()=>EW,getSymbolConstructor:()=>Ywe,getTypeConstructor:()=>$we,getSignatureConstructor:()=>Qwe,getSourceMapSourceConstructor:()=>tRe},tz=[],A4=/[^\w\s\/]/g,nue=[42,63],nz=["node_modules","bower_components","jspm_packages"],C4=`(?!(${nz.join("|")})(/|$))`,rz={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${C4}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>DW(e,rz.singleAsteriskRegexFragment)},iz={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${C4}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>DW(e,iz.singleAsteriskRegexFragment)},az={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:e=>DW(e,az.singleAsteriskRegexFragment)},oz={files:rz,directories:iz,exclude:az},c2=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],sz=t_(c2),rue=[...c2,[".json"]],iue=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx",".cts",".mts"],cz=[[".js",".jsx"],[".mjs"],[".cjs"]],dL=t_(cz),XR=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],aue=[...XR,[".json"]],I4=[".d.ts",".d.cts",".d.mts"],L4=[".ts",".cts",".mts",".tsx"],lz=(e=>(e[e.Minimal=0]="Minimal",e[e.Index=1]="Index",e[e.JsExtension=2]="JsExtension",e[e.TsExtension=3]="TsExtension",e))(lz||{}),k4=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"],D4={files:Je,directories:Je}}});function oue(){let e,t,r,i,o;return{createBaseSourceFileNode:s,createBaseIdentifierNode:l,createBasePrivateIdentifierNode:f,createBaseTokenNode:d,createBaseNode:g};function s(m){return new(o||(o=ml.getSourceFileConstructor()))(m,-1,-1)}function l(m){return new(r||(r=ml.getIdentifierConstructor()))(m,-1,-1)}function f(m){return new(i||(i=ml.getPrivateIdentifierConstructor()))(m,-1,-1)}function d(m){return new(t||(t=ml.getTokenConstructor()))(m,-1,-1)}function g(m){return new(e||(e=ml.getNodeConstructor()))(m,-1,-1)}}var TRe=gt({"src/compiler/factory/baseNodeFactory.ts"(){"use strict";fa()}});function sue(e){let t,r;return{getParenthesizeLeftSideOfBinaryForOperator:i,getParenthesizeRightSideOfBinaryForOperator:o,parenthesizeLeftSideOfBinary:g,parenthesizeRightSideOfBinary:m,parenthesizeExpressionOfComputedPropertyName:v,parenthesizeConditionOfConditionalExpression:S,parenthesizeBranchOfConditionalExpression:x,parenthesizeExpressionOfExportDefault:A,parenthesizeExpressionOfNew:w,parenthesizeLeftSideOfAccess:C,parenthesizeOperandOfPostfixUnary:P,parenthesizeOperandOfPrefixUnary:F,parenthesizeExpressionsOfCommaDelimitedList:B,parenthesizeExpressionForDisallowedComma:q,parenthesizeExpressionOfExpressionStatement:W,parenthesizeConciseBodyOfArrowFunction:Y,parenthesizeCheckTypeOfConditionalType:R,parenthesizeExtendsTypeOfConditionalType:ie,parenthesizeConstituentTypesOfUnionType:fe,parenthesizeConstituentTypeOfUnionType:$,parenthesizeConstituentTypesOfIntersectionType:U,parenthesizeConstituentTypeOfIntersectionType:Z,parenthesizeOperandOfTypeOperator:re,parenthesizeOperandOfReadonlyTypeOperator:le,parenthesizeNonArrayTypeOfPostfixType:_e,parenthesizeElementTypesOfTupleType:ge,parenthesizeElementTypeOfTupleType:X,parenthesizeTypeOfOptionalType:we,parenthesizeTypeArguments:Ce,parenthesizeLeadingTypeArgument:ke};function i(Ie){t||(t=new Map);let Be=t.get(Ie);return Be||(Be=Ne=>g(Ie,Ne),t.set(Ie,Be)),Be}function o(Ie){r||(r=new Map);let Be=r.get(Ie);return Be||(Be=Ne=>m(Ie,void 0,Ne),r.set(Ie,Be)),Be}function s(Ie,Be,Ne,Le){let Ye=yR(223,Ie),_t=zH(223,Ie),ct=a_(Be);if(!Ne&&Be.kind===216&&Ye>3)return!0;let Rt=$6(ct);switch(Es(Rt,Ye)){case-1:return!(!Ne&&_t===1&&Be.kind===226);case 1:return!1;case 0:if(Ne)return _t===1;if(ar(ct)&&ct.operatorToken.kind===Ie){if(l(Ie))return!1;if(Ie===39){let qe=Le?f(Le):0;if(gI(qe)&&qe===f(ct))return!1}}return WH(ct)===0}}function l(Ie){return Ie===41||Ie===51||Ie===50||Ie===52||Ie===27}function f(Ie){if(Ie=a_(Ie),gI(Ie.kind))return Ie.kind;if(Ie.kind===223&&Ie.operatorToken.kind===39){if(Ie.cachedLiteralKind!==void 0)return Ie.cachedLiteralKind;let Be=f(Ie.left),Ne=gI(Be)&&Be===f(Ie.right)?Be:0;return Ie.cachedLiteralKind=Ne,Ne}return 0}function d(Ie,Be,Ne,Le){return a_(Be).kind===214?Be:s(Ie,Be,Ne,Le)?e.createParenthesizedExpression(Be):Be}function g(Ie,Be){return d(Ie,Be,!0)}function m(Ie,Be,Ne){return d(Ie,Ne,!1,Be)}function v(Ie){return wL(Ie)?e.createParenthesizedExpression(Ie):Ie}function S(Ie){let Be=yR(224,57),Ne=a_(Ie),Le=$6(Ne);return Es(Le,Be)!==1?e.createParenthesizedExpression(Ie):Ie}function x(Ie){let Be=a_(Ie);return wL(Be)?e.createParenthesizedExpression(Ie):Ie}function A(Ie){let Be=a_(Ie),Ne=wL(Be);if(!Ne)switch(QI(Be,!1).kind){case 228:case 215:Ne=!0}return Ne?e.createParenthesizedExpression(Ie):Ie}function w(Ie){let Be=QI(Ie,!0);switch(Be.kind){case 210:return e.createParenthesizedExpression(Ie);case 211:return Be.arguments?Ie:e.createParenthesizedExpression(Ie)}return C(Ie)}function C(Ie,Be){let Ne=a_(Ie);return Ju(Ne)&&(Ne.kind!==211||Ne.arguments)&&(Be||!Jl(Ne))?Ie:it(e.createParenthesizedExpression(Ie),Ie)}function P(Ie){return Ju(Ie)?Ie:it(e.createParenthesizedExpression(Ie),Ie)}function F(Ie){return jj(Ie)?Ie:it(e.createParenthesizedExpression(Ie),Ie)}function B(Ie){let Be=Tl(Ie,q);return it(e.createNodeArray(Be,Ie.hasTrailingComma),Ie)}function q(Ie){let Be=a_(Ie),Ne=$6(Be),Le=yR(223,27);return Ne>Le?Ie:it(e.createParenthesizedExpression(Ie),Ie)}function W(Ie){let Be=a_(Ie);if(Pa(Be)){let Le=Be.expression,Ye=a_(Le).kind;if(Ye===215||Ye===216){let _t=e.updateCallExpression(Be,it(e.createParenthesizedExpression(Le),Le),Be.typeArguments,Be.arguments);return e.restoreOuterExpressions(Ie,_t,8)}}let Ne=QI(Be,!1).kind;return Ne===207||Ne===215?it(e.createParenthesizedExpression(Ie),Ie):Ie}function Y(Ie){return!Va(Ie)&&(wL(Ie)||QI(Ie,!1).kind===207)?it(e.createParenthesizedExpression(Ie),Ie):Ie}function R(Ie){switch(Ie.kind){case 181:case 182:case 191:return e.createParenthesizedType(Ie)}return Ie}function ie(Ie){switch(Ie.kind){case 191:return e.createParenthesizedType(Ie)}return Ie}function $(Ie){switch(Ie.kind){case 189:case 190:return e.createParenthesizedType(Ie)}return R(Ie)}function fe(Ie){return e.createNodeArray(Tl(Ie,$))}function Z(Ie){switch(Ie.kind){case 189:case 190:return e.createParenthesizedType(Ie)}return $(Ie)}function U(Ie){return e.createNodeArray(Tl(Ie,Z))}function re(Ie){switch(Ie.kind){case 190:return e.createParenthesizedType(Ie)}return Z(Ie)}function le(Ie){switch(Ie.kind){case 195:return e.createParenthesizedType(Ie)}return re(Ie)}function _e(Ie){switch(Ie.kind){case 192:case 195:case 183:return e.createParenthesizedType(Ie)}return re(Ie)}function ge(Ie){return e.createNodeArray(Tl(Ie,X))}function X(Ie){return Ve(Ie)?e.createParenthesizedType(Ie):Ie}function Ve(Ie){return T2(Ie)?Ie.postfix:bL(Ie)||Jm(Ie)||yL(Ie)||RS(Ie)?Ve(Ie.type):m2(Ie)?Ve(Ie.falseType):DS(Ie)||dO(Ie)?Ve(To(Ie.types)):h2(Ie)?!!Ie.typeParameter.constraint&&Ve(Ie.typeParameter.constraint):!1}function we(Ie){return Ve(Ie)?e.createParenthesizedType(Ie):_e(Ie)}function ke(Ie){return lse(Ie)&&Ie.typeParameters?e.createParenthesizedType(Ie):Ie}function Pe(Ie,Be){return Be===0?ke(Ie):Ie}function Ce(Ie){if(vt(Ie))return e.createNodeArray(Tl(Ie,Pe))}}var uz,SRe=gt({"src/compiler/factory/parenthesizerRules.ts"(){"use strict";fa(),uz={getParenthesizeLeftSideOfBinaryForOperator:e=>Ks,getParenthesizeRightSideOfBinaryForOperator:e=>Ks,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,r)=>r,parenthesizeExpressionOfComputedPropertyName:Ks,parenthesizeConditionOfConditionalExpression:Ks,parenthesizeBranchOfConditionalExpression:Ks,parenthesizeExpressionOfExportDefault:Ks,parenthesizeExpressionOfNew:e=>Ga(e,Ju),parenthesizeLeftSideOfAccess:e=>Ga(e,Ju),parenthesizeOperandOfPostfixUnary:e=>Ga(e,Ju),parenthesizeOperandOfPrefixUnary:e=>Ga(e,jj),parenthesizeExpressionsOfCommaDelimitedList:e=>Ga(e,C0),parenthesizeExpressionForDisallowedComma:Ks,parenthesizeExpressionOfExpressionStatement:Ks,parenthesizeConciseBodyOfArrowFunction:Ks,parenthesizeCheckTypeOfConditionalType:Ks,parenthesizeExtendsTypeOfConditionalType:Ks,parenthesizeConstituentTypesOfUnionType:e=>Ga(e,C0),parenthesizeConstituentTypeOfUnionType:Ks,parenthesizeConstituentTypesOfIntersectionType:e=>Ga(e,C0),parenthesizeConstituentTypeOfIntersectionType:Ks,parenthesizeOperandOfTypeOperator:Ks,parenthesizeOperandOfReadonlyTypeOperator:Ks,parenthesizeNonArrayTypeOfPostfixType:Ks,parenthesizeElementTypesOfTupleType:e=>Ga(e,C0),parenthesizeElementTypeOfTupleType:Ks,parenthesizeTypeOfOptionalType:Ks,parenthesizeTypeArguments:e=>e&&Ga(e,C0),parenthesizeLeadingTypeArgument:Ks}}});function cue(e){return{convertToFunctionBlock:t,convertToFunctionExpression:r,convertToArrayAssignmentElement:i,convertToObjectAssignmentElement:o,convertToAssignmentPattern:s,convertToObjectAssignmentPattern:l,convertToArrayAssignmentPattern:f,convertToAssignmentElementTarget:d};function t(g,m){if(Va(g))return g;let v=e.createReturnStatement(g);it(v,g);let S=e.createBlock([v],m);return it(S,g),S}function r(g){if(!g.body)return L.fail("Cannot convert a FunctionDeclaration without a body");let m=e.createFunctionExpression(uT(g),g.asteriskToken,g.name,g.typeParameters,g.parameters,g.type,g.body);return Ir(m,g),it(m,g),tO(g)&&vz(m,!0),m}function i(g){if(Wo(g)){if(g.dotDotDotToken)return L.assertNode(g.name,Re),Ir(it(e.createSpreadElement(g.name),g),g);let m=d(g.name);return g.initializer?Ir(it(e.createAssignment(m,g.initializer),g),g):m}return Ga(g,ot)}function o(g){if(Wo(g)){if(g.dotDotDotToken)return L.assertNode(g.name,Re),Ir(it(e.createSpreadAssignment(g.name),g),g);if(g.propertyName){let m=d(g.name);return Ir(it(e.createPropertyAssignment(g.propertyName,g.initializer?e.createAssignment(m,g.initializer):m),g),g)}return L.assertNode(g.name,Re),Ir(it(e.createShorthandPropertyAssignment(g.name,g.initializer),g),g)}return Ga(g,Og)}function s(g){switch(g.kind){case 204:case 206:return f(g);case 203:case 207:return l(g)}}function l(g){return cm(g)?Ir(it(e.createObjectLiteralExpression(on(g.elements,o)),g),g):Ga(g,rs)}function f(g){return g2(g)?Ir(it(e.createArrayLiteralExpression(on(g.elements,i)),g),g):Ga(g,fu)}function d(g){return La(g)?s(g):Ga(g,ot)}}var dz,xRe=gt({"src/compiler/factory/nodeConverters.ts"(){"use strict";fa(),dz={convertToFunctionBlock:Sa,convertToFunctionExpression:Sa,convertToArrayAssignmentElement:Sa,convertToObjectAssignmentElement:Sa,convertToAssignmentPattern:Sa,convertToObjectAssignmentPattern:Sa,convertToArrayAssignmentPattern:Sa,convertToAssignmentElementTarget:Sa}}});function ARe(e){hz.push(e)}function YR(e,t){let r=e&8?CRe:IRe,i=zu(()=>e&1?uz:sue(P)),o=zu(()=>e&2?dz:cue(P)),s=Jp(y=>(I,N)=>M(I,y,N)),l=Jp(y=>I=>Jf(y,I)),f=Jp(y=>I=>E_(I,y)),d=Jp(y=>()=>vE(y)),g=Jp(y=>I=>ty(y,I)),m=Jp(y=>(I,N)=>cs(y,I,N)),v=Jp(y=>(I,N)=>A1(y,I,N)),S=Jp(y=>(I,N)=>bE(y,I,N)),x=Jp(y=>(I,N)=>ih(y,I,N)),A=Jp(y=>(I,N,te)=>Cv(y,I,N,te)),w=Jp(y=>(I,N,te)=>Iv(y,I,N,te)),C=Jp(y=>(I,N,te,Me)=>Gl(y,I,N,te,Me)),P={get parenthesizer(){return i()},get converters(){return o()},baseFactory:t,flags:e,createNodeArray:F,createNumericLiteral:Y,createBigIntLiteral:R,createStringLiteral:$,createStringLiteralFromNode:fe,createRegularExpressionLiteral:Z,createLiteralLikeNode:U,createIdentifier:_e,createTempVariable:ge,createLoopVariable:X,createUniqueName:Ve,getGeneratedNameForNode:we,createPrivateIdentifier:Pe,createUniquePrivateName:Ie,getGeneratedPrivateNameForNode:Be,createToken:Le,createSuper:Ye,createThis:_t,createNull:ct,createTrue:Rt,createFalse:We,createModifier:qe,createModifiersFromModifierFlags:zt,createQualifiedName:Qt,updateQualifiedName:tn,createComputedPropertyName:kn,updateComputedPropertyName:_n,createTypeParameterDeclaration:Gt,updateTypeParameterDeclaration:$n,createParameterDeclaration:ui,updateParameterDeclaration:Ni,createDecorator:Pi,updateDecorator:gr,createPropertySignature:pt,updatePropertySignature:nn,createPropertyDeclaration:pn,updatePropertyDeclaration:An,createMethodSignature:Kn,updateMethodSignature:hi,createMethodDeclaration:ri,updateMethodDeclaration:vn,createConstructorDeclaration:Se,updateConstructorDeclaration:at,createGetAccessorDeclaration:ve,updateGetAccessorDeclaration:nt,createSetAccessorDeclaration:Q,updateSetAccessorDeclaration:ue,createCallSignature:Oe,updateCallSignature:je,createConstructSignature:Ge,updateConstructSignature:kt,createIndexSignature:Kt,updateIndexSignature:ln,createClassStaticBlockDeclaration:En,updateClassStaticBlockDeclaration:dr,createTemplateLiteralTypeSpan:ir,updateTemplateLiteralTypeSpan:ae,createKeywordTypeNode:rt,createTypePredicateNode:Ot,updateTypePredicateNode:Ke,createTypeReferenceNode:oe,updateTypeReferenceNode:pe,createFunctionTypeNode:z,updateFunctionTypeNode:Te,createConstructorTypeNode:yt,updateConstructorTypeNode:Vt,createTypeQueryNode:ei,updateTypeQueryNode:Kr,createTypeLiteralNode:Si,updateTypeLiteralNode:Ja,createArrayTypeNode:Za,updateArrayTypeNode:Fa,createTupleTypeNode:Hi,updateTupleTypeNode:xi,createNamedTupleMember:Nr,updateNamedTupleMember:Fo,createOptionalTypeNode:Qr,updateOptionalTypeNode:Wi,createRestTypeNode:gn,updateRestTypeNode:Ki,createUnionTypeNode:mc,updateUnionTypeNode:xc,createIntersectionTypeNode:hc,updateIntersectionTypeNode:ro,createConditionalTypeNode:aa,updateConditionalTypeNode:Co,createInferTypeNode:gc,updateInferTypeNode:Ll,createImportTypeNode:bl,updateImportTypeNode:ss,createParenthesizedType:qs,updateParenthesizedType:Rs,createThisTypeNode:As,createTypeOperatorNode:jt,updateTypeOperatorNode:yc,createIndexedAccessTypeNode:Ql,updateIndexedAccessTypeNode:yu,createMappedTypeNode:se,updateMappedTypeNode:ht,createLiteralTypeNode:wt,updateLiteralTypeNode:K,createTemplateLiteralType:md,updateTemplateLiteralType:Pc,createObjectBindingPattern:Xe,updateObjectBindingPattern:ft,createArrayBindingPattern:Yt,updateArrayBindingPattern:pr,createBindingElement:yr,updateBindingElement:ta,createArrayLiteralExpression:Go,updateArrayLiteralExpression:Ka,createObjectLiteralExpression:vo,updateObjectLiteralExpression:ka,createPropertyAccessExpression:e&4?(y,I)=>Jn(Uc(y,I),262144):Uc,updatePropertyAccessExpression:Gu,createPropertyAccessChain:e&4?(y,I,N)=>Jn($o(y,I,N),262144):$o,updatePropertyAccessChain:jo,createElementAccessExpression:hd,updateElementAccessExpression:vc,createElementAccessChain:nf,updateElementAccessChain:ye,createCallExpression:bn,updateCallExpression:Ri,createCallChain:io,updateCallChain:ee,createNewExpression:Ze,updateNewExpression:At,createTaggedTemplateExpression:xt,updateTaggedTemplateExpression:qt,createTypeAssertion:Ln,updateTypeAssertion:mr,createParenthesizedExpression:Vr,updateParenthesizedExpression:gi,createFunctionExpression:Ea,updateFunctionExpression:bo,createArrowFunction:Qo,updateArrowFunction:Cs,createDeleteExpression:Bu,updateDeleteExpression:Pd,createTypeOfExpression:Dc,updateTypeOfExpression:gd,createVoidExpression:Zl,updateVoidExpression:Md,createAwaitExpression:zf,updateAwaitExpression:Io,createPrefixUnaryExpression:Jf,updatePrefixUnaryExpression:Fd,createPostfixUnaryExpression:E_,updatePostfixUnaryExpression:Y_,createBinaryExpression:M,updateBinaryExpression:Nt,createConditionalExpression:Pn,updateConditionalExpression:la,createTemplateExpression:oa,updateTemplateExpression:be,createTemplateHead:sn,createTemplateMiddle:Dn,createTemplateTail:kr,createNoSubstitutionTemplateLiteral:ki,createTemplateLiteralLikeNode:rn,createYieldExpression:Vn,updateYieldExpression:$t,createSpreadElement:Xn,updateSpreadElement:ra,createClassExpression:Is,updateClassExpression:Mc,createOmittedExpression:mm,createExpressionWithTypeArguments:Hh,updateExpressionWithTypeArguments:T_,createAsExpression:Cb,updateAsExpression:mv,createNonNullExpression:gx,updateNonNullExpression:_1,createSatisfiesExpression:yx,updateSatisfiesExpression:Wh,createNonNullChain:S_,updateNonNullChain:hv,createMetaProperty:eh,updateMetaProperty:$_,createTemplateSpan:gv,updateTemplateSpan:lE,createSemicolonClassElement:Ib,createBlock:zh,updateBlock:p1,createVariableStatement:uE,updateVariableStatement:dE,createEmptyStatement:fE,createExpressionStatement:yv,updateExpressionStatement:vx,createIfStatement:_E,updateIfStatement:pE,createDoStatement:vv,updateDoStatement:Lb,createWhileStatement:bv,updateWhileStatement:m1,createForStatement:Jh,updateForStatement:Lo,createForInStatement:mE,updateForInStatement:sC,createForOfStatement:Zg,updateForOfStatement:Kh,createContinueStatement:hm,updateContinueStatement:x_,createBreakStatement:Zu,updateBreakStatement:ed,createReturnStatement:td,updateReturnStatement:kb,createWithStatement:Db,updateWithStatement:bx,createSwitchStatement:wb,updateSwitchStatement:qh,createLabeledStatement:Rb,updateLabeledStatement:h1,createThrowStatement:Ob,updateThrowStatement:cC,createTryStatement:Ex,updateTryStatement:Ev,createDebuggerStatement:hE,createVariableDeclaration:Fe,updateVariableDeclaration:ey,createVariableDeclarationList:Ip,updateVariableDeclarationList:Tv,createFunctionDeclaration:Nb,updateFunctionDeclaration:Sv,createClassDeclaration:g1,updateClassDeclaration:wo,createInterfaceDeclaration:A_,updateInterfaceDeclaration:gE,createTypeAliasDeclaration:Kc,updateTypeAliasDeclaration:th,createEnumDeclaration:Pb,updateEnumDeclaration:C_,createModuleDeclaration:Mb,updateModuleDeclaration:Ml,createModuleBlock:Yh,updateModuleBlock:ll,createCaseBlock:y1,updateCaseBlock:lC,createNamespaceExportDeclaration:Ai,updateNamespaceExportDeclaration:Rr,createImportEqualsDeclaration:yd,updateImportEqualsDeclaration:yE,createImportDeclaration:$h,updateImportDeclaration:nh,createImportClause:ym,updateImportClause:zs,createAssertClause:Fb,updateAssertClause:v1,createAssertEntry:Gb,updateAssertEntry:b1,createImportTypeAssertionContainer:Cf,updateImportTypeAssertionContainer:Tx,createNamespaceImport:Sx,updateNamespaceImport:xv,createNamespaceExport:E1,updateNamespaceExport:T1,createNamedImports:xx,updateNamedImports:Bb,createImportSpecifier:S1,updateImportSpecifier:rf,createExportAssignment:Qh,updateExportAssignment:Q_,createExportDeclaration:I_,updateExportDeclaration:Ax,createNamedExports:Lp,updateNamedExports:x1,createExportSpecifier:Uu,updateExportSpecifier:Zh,createMissingDeclaration:kp,createExternalModuleReference:Dp,updateExternalModuleReference:eg,get createJSDocAllType(){return d(315)},get createJSDocUnknownType(){return d(316)},get createJSDocNonNullableType(){return v(318)},get updateJSDocNonNullableType(){return S(318)},get createJSDocNullableType(){return v(317)},get updateJSDocNullableType(){return S(317)},get createJSDocOptionalType(){return g(319)},get updateJSDocOptionalType(){return m(319)},get createJSDocVariadicType(){return g(321)},get updateJSDocVariadicType(){return m(321)},get createJSDocNamepathType(){return g(322)},get updateJSDocNamepathType(){return m(322)},createJSDocFunctionType:ny,updateJSDocFunctionType:Cx,createJSDocTypeLiteral:Vb,updateJSDocTypeLiteral:jb,createJSDocTypeExpression:Ix,updateJSDocTypeExpression:uC,createJSDocSignature:Lx,updateJSDocSignature:Qn,createJSDocTemplateTag:Av,updateJSDocTemplateTag:vm,createJSDocTypedefTag:Wn,updateJSDocTypedefTag:kx,createJSDocParameterTag:ry,updateJSDocParameterTag:nl,createJSDocPropertyTag:Kf,updateJSDocPropertyTag:Z_,createJSDocCallbackTag:iy,updateJSDocCallbackTag:EE,createJSDocOverloadTag:L_,updateJSDocOverloadTag:ay,createJSDocAugmentsTag:Ac,updateJSDocAugmentsTag:wc,createJSDocImplementsTag:tg,updateJSDocImplementsTag:ng,createJSDocSeeTag:Fl,updateJSDocSeeTag:qf,createJSDocNameReference:bm,updateJSDocNameReference:nd,createJSDocMemberName:TE,updateJSDocMemberName:Hb,createJSDocLink:Wb,updateJSDocLink:ep,createJSDocLinkCode:rh,updateJSDocLinkCode:SE,createJSDocLinkPlain:oy,updateJSDocLinkPlain:uc,get createJSDocTypeTag(){return w(347)},get updateJSDocTypeTag(){return C(347)},get createJSDocReturnTag(){return w(345)},get updateJSDocReturnTag(){return C(345)},get createJSDocThisTag(){return w(346)},get updateJSDocThisTag(){return C(346)},get createJSDocAuthorTag(){return x(333)},get updateJSDocAuthorTag(){return A(333)},get createJSDocClassTag(){return x(335)},get updateJSDocClassTag(){return A(335)},get createJSDocPublicTag(){return x(336)},get updateJSDocPublicTag(){return A(336)},get createJSDocPrivateTag(){return x(337)},get updateJSDocPrivateTag(){return A(337)},get createJSDocProtectedTag(){return x(338)},get updateJSDocProtectedTag(){return A(338)},get createJSDocReadonlyTag(){return x(339)},get updateJSDocReadonlyTag(){return A(339)},get createJSDocOverrideTag(){return x(340)},get updateJSDocOverrideTag(){return A(340)},get createJSDocDeprecatedTag(){return x(334)},get updateJSDocDeprecatedTag(){return A(334)},get createJSDocThrowsTag(){return w(352)},get updateJSDocThrowsTag(){return C(352)},get createJSDocSatisfiesTag(){return w(353)},get updateJSDocSatisfiesTag(){return C(353)},createJSDocEnumTag:xE,updateJSDocEnumTag:oh,createJSDocUnknownTag:ah,updateJSDocUnknownTag:qc,createJSDocText:zb,updateJSDocText:Vu,createJSDocComment:Em,updateJSDocComment:Jb,createJsxElement:Lv,updateJsxElement:AE,createJsxSelfClosingElement:sy,updateJsxSelfClosingElement:C1,createJsxOpeningElement:kv,updateJsxOpeningElement:rg,createJsxClosingElement:of,updateJsxClosingElement:CE,createJsxFragment:Gd,createJsxText:Dv,updateJsxText:Dx,createJsxOpeningFragment:No,createJsxJsxClosingFragment:fr,updateJsxFragment:sh,createJsxAttribute:vd,updateJsxAttribute:ju,createJsxAttributes:I1,updateJsxAttributes:IE,createJsxSpreadAttribute:cy,updateJsxSpreadAttribute:wx,createJsxExpression:ly,updateJsxExpression:wp,createCaseClause:tp,updateCaseClause:ig,createDefaultClause:wv,updateDefaultClause:ch,createHeritageClause:Rp,updateHeritageClause:L1,createCatchClause:Cc,updateCatchClause:Bd,createPropertyAssignment:Tm,updatePropertyAssignment:rd,createShorthandPropertyAssignment:uy,updateShorthandPropertyAssignment:ag,createSpreadAssignment:sf,updateSpreadAssignment:ls,createEnumMember:kE,updateEnumMember:DE,createSourceFile:og,updateSourceFile:NE,createRedirectedSourceFile:Rv,createBundle:PE,updateBundle:dy,createUnparsedSource:bd,createUnparsedPrologue:dC,createUnparsedPrepend:sg,createUnparsedTextLike:Ox,createUnparsedSyntheticReference:Nx,createInputFiles:E,createSyntheticExpression:ne,createSyntaxList:Ee,createNotEmittedStatement:Wt,createPartiallyEmittedExpression:lr,updatePartiallyEmittedExpression:ci,createCommaListExpression:Ti,updateCommaListExpression:Wa,createEndOfDeclarationMarker:kl,createMergeDeclarationMarker:Ed,createSyntheticReferenceExpression:Ud,updateSyntheticReferenceExpression:fy,cloneNode:Xf,get createComma(){return s(27)},get createAssignment(){return s(63)},get createLogicalOr(){return s(56)},get createLogicalAnd(){return s(55)},get createBitwiseOr(){return s(51)},get createBitwiseXor(){return s(52)},get createBitwiseAnd(){return s(50)},get createStrictEquality(){return s(36)},get createStrictInequality(){return s(37)},get createEquality(){return s(34)},get createInequality(){return s(35)},get createLessThan(){return s(29)},get createLessThanEquals(){return s(32)},get createGreaterThan(){return s(31)},get createGreaterThanEquals(){return s(33)},get createLeftShift(){return s(47)},get createRightShift(){return s(48)},get createUnsignedRightShift(){return s(49)},get createAdd(){return s(39)},get createSubtract(){return s(40)},get createMultiply(){return s(41)},get createDivide(){return s(43)},get createModulo(){return s(44)},get createExponent(){return s(42)},get createPrefixPlus(){return l(39)},get createPrefixMinus(){return l(40)},get createPrefixIncrement(){return l(45)},get createPrefixDecrement(){return l(46)},get createBitwiseNot(){return l(54)},get createLogicalNot(){return l(53)},get createPostfixIncrement(){return f(45)},get createPostfixDecrement(){return f(46)},createImmediatelyInvokedFunctionExpression:ME,createImmediatelyInvokedArrowFunction:cf,createVoidZero:Sm,createExportDefault:py,createExternalModuleExport:If,createTypeCheck:FE,createMethodCall:Pv,createGlobalMethodCall:Ro,createFunctionBindCall:Vc,createFunctionCallCall:KP,createFunctionApplyCall:Zo,createArraySliceCall:Px,createArrayConcatCall:Mx,createObjectDefinePropertyCall:V,createObjectGetOwnPropertyDescriptorCall:me,createReflectGetCall:Ue,createReflectSetCall:ut,createPropertyDescriptor:dn,createCallBinding:is,createAssignmentTargetWrapper:ao,inlineExpressions:Oo,getInternalName:np,getLocalName:Op,getExportName:cg,getDeclarationName:Yf,getNamespaceMemberName:my,getExternalModuleOrNamespaceExportName:Fx,restoreOuterExpressions:li,restoreEnclosingLabel:di,createUseStrictPrologue:k_,copyPrologue:GE,copyStandardPrologue:Mv,copyCustomPrologue:_C,ensureUseStrict:lf,liftToBlock:Gx,mergeLexicalEnvironment:jk,updateModifiers:Hk};return mn(hz,y=>y(P)),P;function F(y,I){if(y===void 0||y===Je)y=[];else if(C0(y)){if(I===void 0||y.hasTrailingComma===I)return y.transformFlags===void 0&&lue(y),L.attachNodeArrayDebugInfo(y),y;let Me=y.slice();return Me.pos=y.pos,Me.end=y.end,Me.hasTrailingComma=I,Me.transformFlags=y.transformFlags,L.attachNodeArrayDebugInfo(Me),Me}let N=y.length,te=N>=1&&N<=4?y.slice():y;return te.pos=-1,te.end=-1,te.hasTrailingComma=!!I,te.transformFlags=0,lue(te),L.attachNodeArrayDebugInfo(te),te}function B(y){return t.createBaseNode(y)}function q(y){let I=B(y);return I.symbol=void 0,I.localSymbol=void 0,I}function W(y,I){return y!==I&&(y.typeArguments=I.typeArguments),r(y,I)}function Y(y,I=0){let N=q(8);return N.text=typeof y=="number"?y+"":y,N.numericLiteralFlags=I,I&384&&(N.transformFlags|=1024),N}function R(y){let I=Ne(9);return I.text=typeof y=="string"?y:j0(y)+"n",I.transformFlags|=4,I}function ie(y,I){let N=q(10);return N.text=y,N.singleQuote=I,N}function $(y,I,N){let te=ie(y,I);return te.hasExtendedUnicodeEscape=N,N&&(te.transformFlags|=1024),te}function fe(y){let I=ie(l_(y),void 0);return I.textSourceNode=y,I}function Z(y){let I=Ne(13);return I.text=y,I}function U(y,I){switch(y){case 8:return Y(I,0);case 9:return R(I);case 10:return $(I,void 0);case 11:return Dv(I,!1);case 12:return Dv(I,!0);case 13:return Z(I);case 14:return rn(y,I,void 0,0)}}function re(y){let I=t.createBaseIdentifierNode(79);return I.escapedText=y,I.jsDoc=void 0,I.flowNode=void 0,I.symbol=void 0,I}function le(y,I,N,te){let Me=re(Bs(y));return iO(Me,{flags:I,id:QR,prefix:N,suffix:te}),QR++,Me}function _e(y,I,N){I===void 0&&y&&(I=lT(y)),I===79&&(I=void 0);let te=re(Bs(y));return N&&(te.flags|=128),te.escapedText==="await"&&(te.transformFlags|=67108864),te.flags&128&&(te.transformFlags|=1024),te}function ge(y,I,N,te){let Me=1;I&&(Me|=8);let Pt=le("",Me,N,te);return y&&y(Pt),Pt}function X(y){let I=2;return y&&(I|=8),le("",I,void 0,void 0)}function Ve(y,I=0,N,te){return L.assert(!(I&7),"Argument out of range: flags"),L.assert((I&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),le(y,3|I,N,te)}function we(y,I=0,N,te){L.assert(!(I&7),"Argument out of range: flags");let Me=y?Ah(y)?jT(!1,N,y,te,vr):`generated@${zo(y)}`:"";(N||te)&&(I|=16);let Pt=le(Me,4|I,N,te);return Pt.original=y,Pt}function ke(y){let I=t.createBasePrivateIdentifierNode(80);return I.escapedText=y,I.transformFlags|=16777216,I}function Pe(y){return na(y,"#")||L.fail("First character of private identifier must be #: "+y),ke(Bs(y))}function Ce(y,I,N,te){let Me=ke(Bs(y));return iO(Me,{flags:I,id:QR,prefix:N,suffix:te}),QR++,Me}function Ie(y,I,N){y&&!na(y,"#")&&L.fail("First character of private identifier must be #: "+y);let te=8|(y?3:1);return Ce(y??"",te,I,N)}function Be(y,I,N){let te=Ah(y)?jT(!0,I,y,N,vr):`#generated@${zo(y)}`,Pt=Ce(te,4|(I||N?16:0),I,N);return Pt.original=y,Pt}function Ne(y){return t.createBaseTokenNode(y)}function Le(y){L.assert(y>=0&&y<=162,"Invalid token"),L.assert(y<=14||y>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),L.assert(y<=8||y>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),L.assert(y!==79,"Invalid token. Use 'createIdentifier' to create identifiers");let I=Ne(y),N=0;switch(y){case 132:N=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:N=1;break;case 106:N=134218752,I.flowNode=void 0;break;case 124:N=1024;break;case 127:N=16777216;break;case 108:N=16384,I.flowNode=void 0;break}return N&&(I.transformFlags|=N),I}function Ye(){return Le(106)}function _t(){return Le(108)}function ct(){return Le(104)}function Rt(){return Le(110)}function We(){return Le(95)}function qe(y){return Le(y)}function zt(y){let I=[];return y&1&&I.push(qe(93)),y&2&&I.push(qe(136)),y&1024&&I.push(qe(88)),y&2048&&I.push(qe(85)),y&4&&I.push(qe(123)),y&8&&I.push(qe(121)),y&16&&I.push(qe(122)),y&256&&I.push(qe(126)),y&32&&I.push(qe(124)),y&16384&&I.push(qe(161)),y&64&&I.push(qe(146)),y&128&&I.push(qe(127)),y&512&&I.push(qe(132)),y&32768&&I.push(qe(101)),y&65536&&I.push(qe(145)),I.length?I:void 0}function Qt(y,I){let N=B(163);return N.left=y,N.right=Zs(I),N.transformFlags|=tr(N.left)|fL(N.right),N.flowNode=void 0,N}function tn(y,I,N){return y.left!==I||y.right!==N?r(Qt(I,N),y):y}function kn(y){let I=B(164);return I.expression=i().parenthesizeExpressionOfComputedPropertyName(y),I.transformFlags|=tr(I.expression)|1024|131072,I}function _n(y,I){return y.expression!==I?r(kn(I),y):y}function Gt(y,I,N,te){let Me=q(165);return Me.modifiers=oo(y),Me.name=Zs(I),Me.constraint=N,Me.default=te,Me.transformFlags=1,Me.expression=void 0,Me.jsDoc=void 0,Me}function $n(y,I,N,te,Me){return y.modifiers!==I||y.name!==N||y.constraint!==te||y.default!==Me?r(Gt(I,N,te,Me),y):y}function ui(y,I,N,te,Me,Pt){var Tr,Fi;let Da=q(166);return Da.modifiers=oo(y),Da.dotDotDotToken=I,Da.name=Zs(N),Da.questionToken=te,Da.type=Me,Da.initializer=gy(Pt),LT(Da.name)?Da.transformFlags=1:Da.transformFlags=fo(Da.modifiers)|tr(Da.dotDotDotToken)|Gg(Da.name)|tr(Da.questionToken)|tr(Da.initializer)|(((Tr=Da.questionToken)!=null?Tr:Da.type)?1:0)|(((Fi=Da.dotDotDotToken)!=null?Fi:Da.initializer)?1024:0)|(im(Da.modifiers)&16476?8192:0),Da.jsDoc=void 0,Da}function Ni(y,I,N,te,Me,Pt,Tr){return y.modifiers!==I||y.dotDotDotToken!==N||y.name!==te||y.questionToken!==Me||y.type!==Pt||y.initializer!==Tr?r(ui(I,N,te,Me,Pt,Tr),y):y}function Pi(y){let I=B(167);return I.expression=i().parenthesizeLeftSideOfAccess(y,!1),I.transformFlags|=tr(I.expression)|1|8192|33554432,I}function gr(y,I){return y.expression!==I?r(Pi(I),y):y}function pt(y,I,N,te){let Me=q(168);return Me.modifiers=oo(y),Me.name=Zs(I),Me.type=te,Me.questionToken=N,Me.transformFlags=1,Me.initializer=void 0,Me.jsDoc=void 0,Me}function nn(y,I,N,te,Me){return y.modifiers!==I||y.name!==N||y.questionToken!==te||y.type!==Me?Dt(pt(I,N,te,Me),y):y}function Dt(y,I){return y!==I&&(y.initializer=I.initializer),r(y,I)}function pn(y,I,N,te,Me){let Pt=q(169);Pt.modifiers=oo(y),Pt.name=Zs(I),Pt.questionToken=N&&ev(N)?N:void 0,Pt.exclamationToken=N&&lO(N)?N:void 0,Pt.type=te,Pt.initializer=gy(Me);let Tr=Pt.flags&16777216||im(Pt.modifiers)&2;return Pt.transformFlags=fo(Pt.modifiers)|Gg(Pt.name)|tr(Pt.initializer)|(Tr||Pt.questionToken||Pt.exclamationToken||Pt.type?1:0)|(ts(Pt.name)||im(Pt.modifiers)&32&&Pt.initializer?8192:0)|16777216,Pt.jsDoc=void 0,Pt}function An(y,I,N,te,Me,Pt){return y.modifiers!==I||y.name!==N||y.questionToken!==(te!==void 0&&ev(te)?te:void 0)||y.exclamationToken!==(te!==void 0&&lO(te)?te:void 0)||y.type!==Me||y.initializer!==Pt?r(pn(I,N,te,Me,Pt),y):y}function Kn(y,I,N,te,Me,Pt){let Tr=q(170);return Tr.modifiers=oo(y),Tr.name=Zs(I),Tr.questionToken=N,Tr.typeParameters=oo(te),Tr.parameters=oo(Me),Tr.type=Pt,Tr.transformFlags=1,Tr.jsDoc=void 0,Tr.locals=void 0,Tr.nextContainer=void 0,Tr.typeArguments=void 0,Tr}function hi(y,I,N,te,Me,Pt,Tr){return y.modifiers!==I||y.name!==N||y.questionToken!==te||y.typeParameters!==Me||y.parameters!==Pt||y.type!==Tr?W(Kn(I,N,te,Me,Pt,Tr),y):y}function ri(y,I,N,te,Me,Pt,Tr,Fi){let Da=q(171);if(Da.modifiers=oo(y),Da.asteriskToken=I,Da.name=Zs(N),Da.questionToken=te,Da.exclamationToken=void 0,Da.typeParameters=oo(Me),Da.parameters=F(Pt),Da.type=Tr,Da.body=Fi,!Da.body)Da.transformFlags=1;else{let Vd=im(Da.modifiers)&512,lg=!!Da.asteriskToken,ug=Vd&&lg;Da.transformFlags=fo(Da.modifiers)|tr(Da.asteriskToken)|Gg(Da.name)|tr(Da.questionToken)|fo(Da.typeParameters)|fo(Da.parameters)|tr(Da.type)|tr(Da.body)&-67108865|(ug?128:Vd?256:lg?2048:0)|(Da.questionToken||Da.typeParameters||Da.type?1:0)|1024}return Da.typeArguments=void 0,Da.jsDoc=void 0,Da.locals=void 0,Da.nextContainer=void 0,Da.flowNode=void 0,Da.endFlowNode=void 0,Da.returnFlowNode=void 0,Da}function vn(y,I,N,te,Me,Pt,Tr,Fi,Da){return y.modifiers!==I||y.asteriskToken!==N||y.name!==te||y.questionToken!==Me||y.typeParameters!==Pt||y.parameters!==Tr||y.type!==Fi||y.body!==Da?Ht(ri(I,N,te,Me,Pt,Tr,Fi,Da),y):y}function Ht(y,I){return y!==I&&(y.exclamationToken=I.exclamationToken),r(y,I)}function En(y){let I=q(172);return I.body=y,I.transformFlags=tr(y)|16777216,I.modifiers=void 0,I.jsDoc=void 0,I.locals=void 0,I.nextContainer=void 0,I.endFlowNode=void 0,I.returnFlowNode=void 0,I}function dr(y,I){return y.body!==I?Cr(En(I),y):y}function Cr(y,I){return y!==I&&(y.modifiers=I.modifiers),r(y,I)}function Se(y,I,N){let te=q(173);return te.modifiers=oo(y),te.parameters=F(I),te.body=N,te.transformFlags=fo(te.modifiers)|fo(te.parameters)|tr(te.body)&-67108865|1024,te.typeParameters=void 0,te.type=void 0,te.typeArguments=void 0,te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te.endFlowNode=void 0,te.returnFlowNode=void 0,te}function at(y,I,N,te){return y.modifiers!==I||y.parameters!==N||y.body!==te?Tt(Se(I,N,te),y):y}function Tt(y,I){return y!==I&&(y.typeParameters=I.typeParameters,y.type=I.type),W(y,I)}function ve(y,I,N,te,Me){let Pt=q(174);return Pt.modifiers=oo(y),Pt.name=Zs(I),Pt.parameters=F(N),Pt.type=te,Pt.body=Me,Pt.body?Pt.transformFlags=fo(Pt.modifiers)|Gg(Pt.name)|fo(Pt.parameters)|tr(Pt.type)|tr(Pt.body)&-67108865|(Pt.type?1:0):Pt.transformFlags=1,Pt.typeArguments=void 0,Pt.typeParameters=void 0,Pt.jsDoc=void 0,Pt.locals=void 0,Pt.nextContainer=void 0,Pt.flowNode=void 0,Pt.endFlowNode=void 0,Pt.returnFlowNode=void 0,Pt}function nt(y,I,N,te,Me,Pt){return y.modifiers!==I||y.name!==N||y.parameters!==te||y.type!==Me||y.body!==Pt?ce(ve(I,N,te,Me,Pt),y):y}function ce(y,I){return y!==I&&(y.typeParameters=I.typeParameters),W(y,I)}function Q(y,I,N,te){let Me=q(175);return Me.modifiers=oo(y),Me.name=Zs(I),Me.parameters=F(N),Me.body=te,Me.body?Me.transformFlags=fo(Me.modifiers)|Gg(Me.name)|fo(Me.parameters)|tr(Me.body)&-67108865|(Me.type?1:0):Me.transformFlags=1,Me.typeArguments=void 0,Me.typeParameters=void 0,Me.type=void 0,Me.jsDoc=void 0,Me.locals=void 0,Me.nextContainer=void 0,Me.flowNode=void 0,Me.endFlowNode=void 0,Me.returnFlowNode=void 0,Me}function ue(y,I,N,te,Me){return y.modifiers!==I||y.name!==N||y.parameters!==te||y.body!==Me?G(Q(I,N,te,Me),y):y}function G(y,I){return y!==I&&(y.typeParameters=I.typeParameters,y.type=I.type),W(y,I)}function Oe(y,I,N){let te=q(176);return te.typeParameters=oo(y),te.parameters=oo(I),te.type=N,te.transformFlags=1,te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te.typeArguments=void 0,te}function je(y,I,N,te){return y.typeParameters!==I||y.parameters!==N||y.type!==te?W(Oe(I,N,te),y):y}function Ge(y,I,N){let te=q(177);return te.typeParameters=oo(y),te.parameters=oo(I),te.type=N,te.transformFlags=1,te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te.typeArguments=void 0,te}function kt(y,I,N,te){return y.typeParameters!==I||y.parameters!==N||y.type!==te?W(Ge(I,N,te),y):y}function Kt(y,I,N){let te=q(178);return te.modifiers=oo(y),te.parameters=oo(I),te.type=N,te.transformFlags=1,te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te.typeArguments=void 0,te}function ln(y,I,N,te){return y.parameters!==N||y.type!==te||y.modifiers!==I?W(Kt(I,N,te),y):y}function ir(y,I){let N=B(201);return N.type=y,N.literal=I,N.transformFlags=1,N}function ae(y,I,N){return y.type!==I||y.literal!==N?r(ir(I,N),y):y}function rt(y){return Le(y)}function Ot(y,I,N){let te=B(179);return te.assertsModifier=y,te.parameterName=Zs(I),te.type=N,te.transformFlags=1,te}function Ke(y,I,N,te){return y.assertsModifier!==I||y.parameterName!==N||y.type!==te?r(Ot(I,N,te),y):y}function oe(y,I){let N=B(180);return N.typeName=Zs(y),N.typeArguments=I&&i().parenthesizeTypeArguments(F(I)),N.transformFlags=1,N}function pe(y,I,N){return y.typeName!==I||y.typeArguments!==N?r(oe(I,N),y):y}function z(y,I,N){let te=q(181);return te.typeParameters=oo(y),te.parameters=oo(I),te.type=N,te.transformFlags=1,te.modifiers=void 0,te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te.typeArguments=void 0,te}function Te(y,I,N,te){return y.typeParameters!==I||y.parameters!==N||y.type!==te?j(z(I,N,te),y):y}function j(y,I){return y!==I&&(y.modifiers=I.modifiers),W(y,I)}function yt(...y){return y.length===4?lt(...y):y.length===3?Qe(...y):L.fail("Incorrect number of arguments specified.")}function lt(y,I,N,te){let Me=q(182);return Me.modifiers=oo(y),Me.typeParameters=oo(I),Me.parameters=oo(N),Me.type=te,Me.transformFlags=1,Me.jsDoc=void 0,Me.locals=void 0,Me.nextContainer=void 0,Me.typeArguments=void 0,Me}function Qe(y,I,N){return lt(void 0,y,I,N)}function Vt(...y){return y.length===5?Hn(...y):y.length===4?jr(...y):L.fail("Incorrect number of arguments specified.")}function Hn(y,I,N,te,Me){return y.modifiers!==I||y.typeParameters!==N||y.parameters!==te||y.type!==Me?W(yt(I,N,te,Me),y):y}function jr(y,I,N,te){return Hn(y,y.modifiers,I,N,te)}function ei(y,I){let N=B(183);return N.exprName=y,N.typeArguments=I&&i().parenthesizeTypeArguments(I),N.transformFlags=1,N}function Kr(y,I,N){return y.exprName!==I||y.typeArguments!==N?r(ei(I,N),y):y}function Si(y){let I=q(184);return I.members=F(y),I.transformFlags=1,I}function Ja(y,I){return y.members!==I?r(Si(I),y):y}function Za(y){let I=B(185);return I.elementType=i().parenthesizeNonArrayTypeOfPostfixType(y),I.transformFlags=1,I}function Fa(y,I){return y.elementType!==I?r(Za(I),y):y}function Hi(y){let I=B(186);return I.elements=F(i().parenthesizeElementTypesOfTupleType(y)),I.transformFlags=1,I}function xi(y,I){return y.elements!==I?r(Hi(I),y):y}function Nr(y,I,N,te){let Me=q(199);return Me.dotDotDotToken=y,Me.name=I,Me.questionToken=N,Me.type=te,Me.transformFlags=1,Me.jsDoc=void 0,Me}function Fo(y,I,N,te,Me){return y.dotDotDotToken!==I||y.name!==N||y.questionToken!==te||y.type!==Me?r(Nr(I,N,te,Me),y):y}function Qr(y){let I=B(187);return I.type=i().parenthesizeTypeOfOptionalType(y),I.transformFlags=1,I}function Wi(y,I){return y.type!==I?r(Qr(I),y):y}function gn(y){let I=B(188);return I.type=y,I.transformFlags=1,I}function Ki(y,I){return y.type!==I?r(gn(I),y):y}function kc(y,I,N){let te=B(y);return te.types=P.createNodeArray(N(I)),te.transformFlags=1,te}function Ps(y,I,N){return y.types!==I?r(kc(y.kind,I,N),y):y}function mc(y){return kc(189,y,i().parenthesizeConstituentTypesOfUnionType)}function xc(y,I){return Ps(y,I,i().parenthesizeConstituentTypesOfUnionType)}function hc(y){return kc(190,y,i().parenthesizeConstituentTypesOfIntersectionType)}function ro(y,I){return Ps(y,I,i().parenthesizeConstituentTypesOfIntersectionType)}function aa(y,I,N,te){let Me=B(191);return Me.checkType=i().parenthesizeCheckTypeOfConditionalType(y),Me.extendsType=i().parenthesizeExtendsTypeOfConditionalType(I),Me.trueType=N,Me.falseType=te,Me.transformFlags=1,Me.locals=void 0,Me.nextContainer=void 0,Me}function Co(y,I,N,te,Me){return y.checkType!==I||y.extendsType!==N||y.trueType!==te||y.falseType!==Me?r(aa(I,N,te,Me),y):y}function gc(y){let I=B(192);return I.typeParameter=y,I.transformFlags=1,I}function Ll(y,I){return y.typeParameter!==I?r(gc(I),y):y}function md(y,I){let N=B(200);return N.head=y,N.templateSpans=F(I),N.transformFlags=1,N}function Pc(y,I,N){return y.head!==I||y.templateSpans!==N?r(md(I,N),y):y}function bl(y,I,N,te,Me=!1){let Pt=B(202);return Pt.argument=y,Pt.assertions=I,Pt.qualifier=N,Pt.typeArguments=te&&i().parenthesizeTypeArguments(te),Pt.isTypeOf=Me,Pt.transformFlags=1,Pt}function ss(y,I,N,te,Me,Pt=y.isTypeOf){return y.argument!==I||y.assertions!==N||y.qualifier!==te||y.typeArguments!==Me||y.isTypeOf!==Pt?r(bl(I,N,te,Me,Pt),y):y}function qs(y){let I=B(193);return I.type=y,I.transformFlags=1,I}function Rs(y,I){return y.type!==I?r(qs(I),y):y}function As(){let y=B(194);return y.transformFlags=1,y}function jt(y,I){let N=B(195);return N.operator=y,N.type=y===146?i().parenthesizeOperandOfReadonlyTypeOperator(I):i().parenthesizeOperandOfTypeOperator(I),N.transformFlags=1,N}function yc(y,I){return y.type!==I?r(jt(y.operator,I),y):y}function Ql(y,I){let N=B(196);return N.objectType=i().parenthesizeNonArrayTypeOfPostfixType(y),N.indexType=I,N.transformFlags=1,N}function yu(y,I,N){return y.objectType!==I||y.indexType!==N?r(Ql(I,N),y):y}function se(y,I,N,te,Me,Pt){let Tr=q(197);return Tr.readonlyToken=y,Tr.typeParameter=I,Tr.nameType=N,Tr.questionToken=te,Tr.type=Me,Tr.members=Pt&&F(Pt),Tr.transformFlags=1,Tr.locals=void 0,Tr.nextContainer=void 0,Tr}function ht(y,I,N,te,Me,Pt,Tr){return y.readonlyToken!==I||y.typeParameter!==N||y.nameType!==te||y.questionToken!==Me||y.type!==Pt||y.members!==Tr?r(se(I,N,te,Me,Pt,Tr),y):y}function wt(y){let I=B(198);return I.literal=y,I.transformFlags=1,I}function K(y,I){return y.literal!==I?r(wt(I),y):y}function Xe(y){let I=B(203);return I.elements=F(y),I.transformFlags|=fo(I.elements)|1024|524288,I.transformFlags&32768&&(I.transformFlags|=65664),I}function ft(y,I){return y.elements!==I?r(Xe(I),y):y}function Yt(y){let I=B(204);return I.elements=F(y),I.transformFlags|=fo(I.elements)|1024|524288,I}function pr(y,I){return y.elements!==I?r(Yt(I),y):y}function yr(y,I,N,te){let Me=q(205);return Me.dotDotDotToken=y,Me.propertyName=Zs(I),Me.name=Zs(N),Me.initializer=gy(te),Me.transformFlags|=tr(Me.dotDotDotToken)|Gg(Me.propertyName)|Gg(Me.name)|tr(Me.initializer)|(Me.dotDotDotToken?32768:0)|1024,Me.flowNode=void 0,Me}function ta(y,I,N,te,Me){return y.propertyName!==N||y.dotDotDotToken!==I||y.name!==te||y.initializer!==Me?r(yr(I,N,te,Me),y):y}function Go(y,I){let N=B(206),te=y&&Os(y),Me=F(y,te&&ol(te)?!0:void 0);return N.elements=i().parenthesizeExpressionsOfCommaDelimitedList(Me),N.multiLine=I,N.transformFlags|=fo(N.elements),N}function Ka(y,I){return y.elements!==I?r(Go(I,y.multiLine),y):y}function vo(y,I){let N=q(207);return N.properties=F(y),N.multiLine=I,N.transformFlags|=fo(N.properties),N.jsDoc=void 0,N}function ka(y,I){return y.properties!==I?r(vo(I,y.multiLine),y):y}function Hs(y,I,N){let te=q(208);return te.expression=y,te.questionDotToken=I,te.name=N,te.transformFlags=tr(te.expression)|tr(te.questionDotToken)|(Re(te.name)?fL(te.name):tr(te.name)|536870912),te.jsDoc=void 0,te.flowNode=void 0,te}function Uc(y,I){let N=Hs(i().parenthesizeLeftSideOfAccess(y,!1),void 0,Zs(I));return hL(y)&&(N.transformFlags|=384),N}function Gu(y,I,N){return n6(y)?jo(y,I,y.questionDotToken,Ga(N,Re)):y.expression!==I||y.name!==N?r(Uc(I,N),y):y}function $o(y,I,N){let te=Hs(i().parenthesizeLeftSideOfAccess(y,!0),I,Zs(N));return te.flags|=32,te.transformFlags|=32,te}function jo(y,I,N,te){return L.assert(!!(y.flags&32),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),y.expression!==I||y.questionDotToken!==N||y.name!==te?r($o(I,N,te),y):y}function Ws(y,I,N){let te=q(209);return te.expression=y,te.questionDotToken=I,te.argumentExpression=N,te.transformFlags|=tr(te.expression)|tr(te.questionDotToken)|tr(te.argumentExpression),te.jsDoc=void 0,te.flowNode=void 0,te}function hd(y,I){let N=Ws(i().parenthesizeLeftSideOfAccess(y,!1),void 0,Fv(I));return hL(y)&&(N.transformFlags|=384),N}function vc(y,I,N){return Dj(y)?ye(y,I,y.questionDotToken,N):y.expression!==I||y.argumentExpression!==N?r(hd(I,N),y):y}function nf(y,I,N){let te=Ws(i().parenthesizeLeftSideOfAccess(y,!0),I,Fv(N));return te.flags|=32,te.transformFlags|=32,te}function ye(y,I,N,te){return L.assert(!!(y.flags&32),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),y.expression!==I||y.questionDotToken!==N||y.argumentExpression!==te?r(nf(I,N,te),y):y}function Et(y,I,N,te){let Me=q(210);return Me.expression=y,Me.questionDotToken=I,Me.typeArguments=N,Me.arguments=te,Me.transformFlags|=tr(Me.expression)|tr(Me.questionDotToken)|fo(Me.typeArguments)|fo(Me.arguments),Me.typeArguments&&(Me.transformFlags|=1),Pu(Me.expression)&&(Me.transformFlags|=16384),Me}function bn(y,I,N){let te=Et(i().parenthesizeLeftSideOfAccess(y,!1),void 0,oo(I),i().parenthesizeExpressionsOfCommaDelimitedList(F(N)));return gL(te.expression)&&(te.transformFlags|=8388608),te}function Ri(y,I,N,te){return dT(y)?ee(y,I,y.questionDotToken,N,te):y.expression!==I||y.typeArguments!==N||y.arguments!==te?r(bn(I,N,te),y):y}function io(y,I,N,te){let Me=Et(i().parenthesizeLeftSideOfAccess(y,!0),I,oo(N),i().parenthesizeExpressionsOfCommaDelimitedList(F(te)));return Me.flags|=32,Me.transformFlags|=32,Me}function ee(y,I,N,te,Me){return L.assert(!!(y.flags&32),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),y.expression!==I||y.questionDotToken!==N||y.typeArguments!==te||y.arguments!==Me?r(io(I,N,te,Me),y):y}function Ze(y,I,N){let te=q(211);return te.expression=i().parenthesizeExpressionOfNew(y),te.typeArguments=oo(I),te.arguments=N?i().parenthesizeExpressionsOfCommaDelimitedList(N):void 0,te.transformFlags|=tr(te.expression)|fo(te.typeArguments)|fo(te.arguments)|32,te.typeArguments&&(te.transformFlags|=1),te}function At(y,I,N,te){return y.expression!==I||y.typeArguments!==N||y.arguments!==te?r(Ze(I,N,te),y):y}function xt(y,I,N){let te=B(212);return te.tag=i().parenthesizeLeftSideOfAccess(y,!1),te.typeArguments=oo(I),te.template=N,te.transformFlags|=tr(te.tag)|fo(te.typeArguments)|tr(te.template)|1024,te.typeArguments&&(te.transformFlags|=1),KH(te.template)&&(te.transformFlags|=128),te}function qt(y,I,N,te){return y.tag!==I||y.typeArguments!==N||y.template!==te?r(xt(I,N,te),y):y}function Ln(y,I){let N=B(213);return N.expression=i().parenthesizeOperandOfPrefixUnary(I),N.type=y,N.transformFlags|=tr(N.expression)|tr(N.type)|1,N}function mr(y,I,N){return y.type!==I||y.expression!==N?r(Ln(I,N),y):y}function Vr(y){let I=B(214);return I.expression=y,I.transformFlags=tr(I.expression),I.jsDoc=void 0,I}function gi(y,I){return y.expression!==I?r(Vr(I),y):y}function Ea(y,I,N,te,Me,Pt,Tr){let Fi=q(215);Fi.modifiers=oo(y),Fi.asteriskToken=I,Fi.name=Zs(N),Fi.typeParameters=oo(te),Fi.parameters=F(Me),Fi.type=Pt,Fi.body=Tr;let Da=im(Fi.modifiers)&512,Vd=!!Fi.asteriskToken,lg=Da&&Vd;return Fi.transformFlags=fo(Fi.modifiers)|tr(Fi.asteriskToken)|Gg(Fi.name)|fo(Fi.typeParameters)|fo(Fi.parameters)|tr(Fi.type)|tr(Fi.body)&-67108865|(lg?128:Da?256:Vd?2048:0)|(Fi.typeParameters||Fi.type?1:0)|4194304,Fi.typeArguments=void 0,Fi.jsDoc=void 0,Fi.locals=void 0,Fi.nextContainer=void 0,Fi.flowNode=void 0,Fi.endFlowNode=void 0,Fi.returnFlowNode=void 0,Fi}function bo(y,I,N,te,Me,Pt,Tr,Fi){return y.name!==te||y.modifiers!==I||y.asteriskToken!==N||y.typeParameters!==Me||y.parameters!==Pt||y.type!==Tr||y.body!==Fi?W(Ea(I,N,te,Me,Pt,Tr,Fi),y):y}function Qo(y,I,N,te,Me,Pt){let Tr=q(216);Tr.modifiers=oo(y),Tr.typeParameters=oo(I),Tr.parameters=F(N),Tr.type=te,Tr.equalsGreaterThanToken=Me??Le(38),Tr.body=i().parenthesizeConciseBodyOfArrowFunction(Pt);let Fi=im(Tr.modifiers)&512;return Tr.transformFlags=fo(Tr.modifiers)|fo(Tr.typeParameters)|fo(Tr.parameters)|tr(Tr.type)|tr(Tr.equalsGreaterThanToken)|tr(Tr.body)&-67108865|(Tr.typeParameters||Tr.type?1:0)|(Fi?16640:0)|1024,Tr.typeArguments=void 0,Tr.jsDoc=void 0,Tr.locals=void 0,Tr.nextContainer=void 0,Tr.flowNode=void 0,Tr.endFlowNode=void 0,Tr.returnFlowNode=void 0,Tr}function Cs(y,I,N,te,Me,Pt,Tr){return y.modifiers!==I||y.typeParameters!==N||y.parameters!==te||y.type!==Me||y.equalsGreaterThanToken!==Pt||y.body!==Tr?W(Qo(I,N,te,Me,Pt,Tr),y):y}function Bu(y){let I=B(217);return I.expression=i().parenthesizeOperandOfPrefixUnary(y),I.transformFlags|=tr(I.expression),I}function Pd(y,I){return y.expression!==I?r(Bu(I),y):y}function Dc(y){let I=B(218);return I.expression=i().parenthesizeOperandOfPrefixUnary(y),I.transformFlags|=tr(I.expression),I}function gd(y,I){return y.expression!==I?r(Dc(I),y):y}function Zl(y){let I=B(219);return I.expression=i().parenthesizeOperandOfPrefixUnary(y),I.transformFlags|=tr(I.expression),I}function Md(y,I){return y.expression!==I?r(Zl(I),y):y}function zf(y){let I=B(220);return I.expression=i().parenthesizeOperandOfPrefixUnary(y),I.transformFlags|=tr(I.expression)|256|128|2097152,I}function Io(y,I){return y.expression!==I?r(zf(I),y):y}function Jf(y,I){let N=B(221);return N.operator=y,N.operand=i().parenthesizeOperandOfPrefixUnary(I),N.transformFlags|=tr(N.operand),(y===45||y===46)&&Re(N.operand)&&!tc(N.operand)&&!rv(N.operand)&&(N.transformFlags|=268435456),N}function Fd(y,I){return y.operand!==I?r(Jf(y.operator,I),y):y}function E_(y,I){let N=B(222);return N.operator=I,N.operand=i().parenthesizeOperandOfPostfixUnary(y),N.transformFlags|=tr(N.operand),Re(N.operand)&&!tc(N.operand)&&!rv(N.operand)&&(N.transformFlags|=268435456),N}function Y_(y,I){return y.operand!==I?r(E_(I,y.operator),y):y}function M(y,I,N){let te=q(223),Me=Wk(I),Pt=Me.kind;return te.left=i().parenthesizeLeftSideOfBinary(Pt,y),te.operatorToken=Me,te.right=i().parenthesizeRightSideOfBinary(Pt,te.left,N),te.transformFlags|=tr(te.left)|tr(te.operatorToken)|tr(te.right),Pt===60?te.transformFlags|=32:Pt===63?rs(te.left)?te.transformFlags|=5248|He(te.left):fu(te.left)&&(te.transformFlags|=5120|He(te.left)):Pt===42||Pt===67?te.transformFlags|=512:HI(Pt)&&(te.transformFlags|=16),Pt===101&&pi(te.left)&&(te.transformFlags|=536870912),te.jsDoc=void 0,te}function He(y){return IO(y)?65536:0}function Nt(y,I,N,te){return y.left!==I||y.operatorToken!==N||y.right!==te?r(M(I,N,te),y):y}function Pn(y,I,N,te,Me){let Pt=B(224);return Pt.condition=i().parenthesizeConditionOfConditionalExpression(y),Pt.questionToken=I??Le(57),Pt.whenTrue=i().parenthesizeBranchOfConditionalExpression(N),Pt.colonToken=te??Le(58),Pt.whenFalse=i().parenthesizeBranchOfConditionalExpression(Me),Pt.transformFlags|=tr(Pt.condition)|tr(Pt.questionToken)|tr(Pt.whenTrue)|tr(Pt.colonToken)|tr(Pt.whenFalse),Pt}function la(y,I,N,te,Me,Pt){return y.condition!==I||y.questionToken!==N||y.whenTrue!==te||y.colonToken!==Me||y.whenFalse!==Pt?r(Pn(I,N,te,Me,Pt),y):y}function oa(y,I){let N=B(225);return N.head=y,N.templateSpans=F(I),N.transformFlags|=tr(N.head)|fo(N.templateSpans)|1024,N}function be(y,I,N){return y.head!==I||y.templateSpans!==N?r(oa(I,N),y):y}function De(y,I,N,te=0){L.assert(!(te&-2049),"Unsupported template flags.");let Me;if(N!==void 0&&N!==I&&(Me=LRe(y,N),typeof Me=="object"))return L.fail("Invalid raw text");if(I===void 0){if(Me===void 0)return L.fail("Arguments 'text' and 'rawText' may not both be undefined.");I=Me}else Me!==void 0&&L.assert(I===Me,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return I}function mt(y){let I=1024;return y&&(I|=128),I}function St(y,I,N,te){let Me=Ne(y);return Me.text=I,Me.rawText=N,Me.templateFlags=te&2048,Me.transformFlags=mt(Me.templateFlags),Me}function Zt(y,I,N,te){let Me=q(y);return Me.text=I,Me.rawText=N,Me.templateFlags=te&2048,Me.transformFlags=mt(Me.templateFlags),Me}function rn(y,I,N,te){return y===14?Zt(y,I,N,te):St(y,I,N,te)}function sn(y,I,N){return y=De(15,y,I,N),rn(15,y,I,N)}function Dn(y,I,N){return y=De(15,y,I,N),rn(16,y,I,N)}function kr(y,I,N){return y=De(15,y,I,N),rn(17,y,I,N)}function ki(y,I,N){return y=De(15,y,I,N),Zt(14,y,I,N)}function Vn(y,I){L.assert(!y||!!I,"A `YieldExpression` with an asteriskToken must have an expression.");let N=B(226);return N.expression=I&&i().parenthesizeExpressionForDisallowedComma(I),N.asteriskToken=y,N.transformFlags|=tr(N.expression)|tr(N.asteriskToken)|1024|128|1048576,N}function $t(y,I,N){return y.expression!==N||y.asteriskToken!==I?r(Vn(I,N),y):y}function Xn(y){let I=B(227);return I.expression=i().parenthesizeExpressionForDisallowedComma(y),I.transformFlags|=tr(I.expression)|1024|32768,I}function ra(y,I){return y.expression!==I?r(Xn(I),y):y}function Is(y,I,N,te,Me){let Pt=q(228);return Pt.modifiers=oo(y),Pt.name=Zs(I),Pt.typeParameters=oo(N),Pt.heritageClauses=oo(te),Pt.members=F(Me),Pt.transformFlags|=fo(Pt.modifiers)|Gg(Pt.name)|fo(Pt.typeParameters)|fo(Pt.heritageClauses)|fo(Pt.members)|(Pt.typeParameters?1:0)|1024,Pt.jsDoc=void 0,Pt}function Mc(y,I,N,te,Me,Pt){return y.modifiers!==I||y.name!==N||y.typeParameters!==te||y.heritageClauses!==Me||y.members!==Pt?r(Is(I,N,te,Me,Pt),y):y}function mm(){return B(229)}function Hh(y,I){let N=B(230);return N.expression=i().parenthesizeLeftSideOfAccess(y,!1),N.typeArguments=I&&i().parenthesizeTypeArguments(I),N.transformFlags|=tr(N.expression)|fo(N.typeArguments)|1024,N}function T_(y,I,N){return y.expression!==I||y.typeArguments!==N?r(Hh(I,N),y):y}function Cb(y,I){let N=B(231);return N.expression=y,N.type=I,N.transformFlags|=tr(N.expression)|tr(N.type)|1,N}function mv(y,I,N){return y.expression!==I||y.type!==N?r(Cb(I,N),y):y}function gx(y){let I=B(232);return I.expression=i().parenthesizeLeftSideOfAccess(y,!1),I.transformFlags|=tr(I.expression)|1,I}function _1(y,I){return i6(y)?hv(y,I):y.expression!==I?r(gx(I),y):y}function yx(y,I){let N=B(235);return N.expression=y,N.type=I,N.transformFlags|=tr(N.expression)|tr(N.type)|1,N}function Wh(y,I,N){return y.expression!==I||y.type!==N?r(yx(I,N),y):y}function S_(y){let I=B(232);return I.flags|=32,I.expression=i().parenthesizeLeftSideOfAccess(y,!0),I.transformFlags|=tr(I.expression)|1,I}function hv(y,I){return L.assert(!!(y.flags&32),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),y.expression!==I?r(S_(I),y):y}function eh(y,I){let N=B(233);switch(N.keywordToken=y,N.name=I,N.transformFlags|=tr(N.name),y){case 103:N.transformFlags|=1024;break;case 100:N.transformFlags|=4;break;default:return L.assertNever(y)}return N.flowNode=void 0,N}function $_(y,I){return y.name!==I?r(eh(y.keywordToken,I),y):y}function gv(y,I){let N=B(236);return N.expression=y,N.literal=I,N.transformFlags|=tr(N.expression)|tr(N.literal)|1024,N}function lE(y,I,N){return y.expression!==I||y.literal!==N?r(gv(I,N),y):y}function Ib(){let y=B(237);return y.transformFlags|=1024,y}function zh(y,I){let N=B(238);return N.statements=F(y),N.multiLine=I,N.transformFlags|=fo(N.statements),N.jsDoc=void 0,N.locals=void 0,N.nextContainer=void 0,N}function p1(y,I){return y.statements!==I?r(zh(I,y.multiLine),y):y}function uE(y,I){let N=B(240);return N.modifiers=oo(y),N.declarationList=ba(I)?Ip(I):I,N.transformFlags|=fo(N.modifiers)|tr(N.declarationList),im(N.modifiers)&2&&(N.transformFlags=1),N.jsDoc=void 0,N.flowNode=void 0,N}function dE(y,I,N){return y.modifiers!==I||y.declarationList!==N?r(uE(I,N),y):y}function fE(){let y=B(239);return y.jsDoc=void 0,y}function yv(y){let I=B(241);return I.expression=i().parenthesizeExpressionOfExpressionStatement(y),I.transformFlags|=tr(I.expression),I.jsDoc=void 0,I.flowNode=void 0,I}function vx(y,I){return y.expression!==I?r(yv(I),y):y}function _E(y,I,N){let te=B(242);return te.expression=y,te.thenStatement=ad(I),te.elseStatement=ad(N),te.transformFlags|=tr(te.expression)|tr(te.thenStatement)|tr(te.elseStatement),te.jsDoc=void 0,te.flowNode=void 0,te}function pE(y,I,N,te){return y.expression!==I||y.thenStatement!==N||y.elseStatement!==te?r(_E(I,N,te),y):y}function vv(y,I){let N=B(243);return N.statement=ad(y),N.expression=I,N.transformFlags|=tr(N.statement)|tr(N.expression),N.jsDoc=void 0,N.flowNode=void 0,N}function Lb(y,I,N){return y.statement!==I||y.expression!==N?r(vv(I,N),y):y}function bv(y,I){let N=B(244);return N.expression=y,N.statement=ad(I),N.transformFlags|=tr(N.expression)|tr(N.statement),N.jsDoc=void 0,N.flowNode=void 0,N}function m1(y,I,N){return y.expression!==I||y.statement!==N?r(bv(I,N),y):y}function Jh(y,I,N,te){let Me=B(245);return Me.initializer=y,Me.condition=I,Me.incrementor=N,Me.statement=ad(te),Me.transformFlags|=tr(Me.initializer)|tr(Me.condition)|tr(Me.incrementor)|tr(Me.statement),Me.jsDoc=void 0,Me.locals=void 0,Me.nextContainer=void 0,Me.flowNode=void 0,Me}function Lo(y,I,N,te,Me){return y.initializer!==I||y.condition!==N||y.incrementor!==te||y.statement!==Me?r(Jh(I,N,te,Me),y):y}function mE(y,I,N){let te=B(246);return te.initializer=y,te.expression=I,te.statement=ad(N),te.transformFlags|=tr(te.initializer)|tr(te.expression)|tr(te.statement),te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te.flowNode=void 0,te}function sC(y,I,N,te){return y.initializer!==I||y.expression!==N||y.statement!==te?r(mE(I,N,te),y):y}function Zg(y,I,N,te){let Me=B(247);return Me.awaitModifier=y,Me.initializer=I,Me.expression=i().parenthesizeExpressionForDisallowedComma(N),Me.statement=ad(te),Me.transformFlags|=tr(Me.awaitModifier)|tr(Me.initializer)|tr(Me.expression)|tr(Me.statement)|1024,y&&(Me.transformFlags|=128),Me.jsDoc=void 0,Me.locals=void 0,Me.nextContainer=void 0,Me.flowNode=void 0,Me}function Kh(y,I,N,te,Me){return y.awaitModifier!==I||y.initializer!==N||y.expression!==te||y.statement!==Me?r(Zg(I,N,te,Me),y):y}function hm(y){let I=B(248);return I.label=Zs(y),I.transformFlags|=tr(I.label)|4194304,I.jsDoc=void 0,I.flowNode=void 0,I}function x_(y,I){return y.label!==I?r(hm(I),y):y}function Zu(y){let I=B(249);return I.label=Zs(y),I.transformFlags|=tr(I.label)|4194304,I.jsDoc=void 0,I.flowNode=void 0,I}function ed(y,I){return y.label!==I?r(Zu(I),y):y}function td(y){let I=B(250);return I.expression=y,I.transformFlags|=tr(I.expression)|128|4194304,I.jsDoc=void 0,I.flowNode=void 0,I}function kb(y,I){return y.expression!==I?r(td(I),y):y}function Db(y,I){let N=B(251);return N.expression=y,N.statement=ad(I),N.transformFlags|=tr(N.expression)|tr(N.statement),N.jsDoc=void 0,N.flowNode=void 0,N}function bx(y,I,N){return y.expression!==I||y.statement!==N?r(Db(I,N),y):y}function wb(y,I){let N=B(252);return N.expression=i().parenthesizeExpressionForDisallowedComma(y),N.caseBlock=I,N.transformFlags|=tr(N.expression)|tr(N.caseBlock),N.jsDoc=void 0,N.flowNode=void 0,N.possiblyExhaustive=!1,N}function qh(y,I,N){return y.expression!==I||y.caseBlock!==N?r(wb(I,N),y):y}function Rb(y,I){let N=B(253);return N.label=Zs(y),N.statement=ad(I),N.transformFlags|=tr(N.label)|tr(N.statement),N.jsDoc=void 0,N.flowNode=void 0,N}function h1(y,I,N){return y.label!==I||y.statement!==N?r(Rb(I,N),y):y}function Ob(y){let I=B(254);return I.expression=y,I.transformFlags|=tr(I.expression),I.jsDoc=void 0,I.flowNode=void 0,I}function cC(y,I){return y.expression!==I?r(Ob(I),y):y}function Ex(y,I,N){let te=B(255);return te.tryBlock=y,te.catchClause=I,te.finallyBlock=N,te.transformFlags|=tr(te.tryBlock)|tr(te.catchClause)|tr(te.finallyBlock),te.jsDoc=void 0,te.flowNode=void 0,te}function Ev(y,I,N,te){return y.tryBlock!==I||y.catchClause!==N||y.finallyBlock!==te?r(Ex(I,N,te),y):y}function hE(){let y=B(256);return y.jsDoc=void 0,y.flowNode=void 0,y}function Fe(y,I,N,te){var Me;let Pt=q(257);return Pt.name=Zs(y),Pt.exclamationToken=I,Pt.type=N,Pt.initializer=gy(te),Pt.transformFlags|=Gg(Pt.name)|tr(Pt.initializer)|(((Me=Pt.exclamationToken)!=null?Me:Pt.type)?1:0),Pt.jsDoc=void 0,Pt}function ey(y,I,N,te,Me){return y.name!==I||y.type!==te||y.exclamationToken!==N||y.initializer!==Me?r(Fe(I,N,te,Me),y):y}function Ip(y,I=0){let N=B(258);return N.flags|=I&3,N.declarations=F(y),N.transformFlags|=fo(N.declarations)|4194304,I&3&&(N.transformFlags|=263168),N}function Tv(y,I){return y.declarations!==I?r(Ip(I,y.flags),y):y}function Nb(y,I,N,te,Me,Pt,Tr){let Fi=q(259);if(Fi.modifiers=oo(y),Fi.asteriskToken=I,Fi.name=Zs(N),Fi.typeParameters=oo(te),Fi.parameters=F(Me),Fi.type=Pt,Fi.body=Tr,!Fi.body||im(Fi.modifiers)&2)Fi.transformFlags=1;else{let Da=im(Fi.modifiers)&512,Vd=!!Fi.asteriskToken,lg=Da&&Vd;Fi.transformFlags=fo(Fi.modifiers)|tr(Fi.asteriskToken)|Gg(Fi.name)|fo(Fi.typeParameters)|fo(Fi.parameters)|tr(Fi.type)|tr(Fi.body)&-67108865|(lg?128:Da?256:Vd?2048:0)|(Fi.typeParameters||Fi.type?1:0)|4194304}return Fi.typeArguments=void 0,Fi.jsDoc=void 0,Fi.locals=void 0,Fi.nextContainer=void 0,Fi.endFlowNode=void 0,Fi.returnFlowNode=void 0,Fi}function Sv(y,I,N,te,Me,Pt,Tr,Fi){return y.modifiers!==I||y.asteriskToken!==N||y.name!==te||y.typeParameters!==Me||y.parameters!==Pt||y.type!==Tr||y.body!==Fi?Xh(Nb(I,N,te,Me,Pt,Tr,Fi),y):y}function Xh(y,I){return y!==I&&y.modifiers===I.modifiers&&(y.modifiers=I.modifiers),W(y,I)}function g1(y,I,N,te,Me){let Pt=q(260);return Pt.modifiers=oo(y),Pt.name=Zs(I),Pt.typeParameters=oo(N),Pt.heritageClauses=oo(te),Pt.members=F(Me),im(Pt.modifiers)&2?Pt.transformFlags=1:(Pt.transformFlags|=fo(Pt.modifiers)|Gg(Pt.name)|fo(Pt.typeParameters)|fo(Pt.heritageClauses)|fo(Pt.members)|(Pt.typeParameters?1:0)|1024,Pt.transformFlags&8192&&(Pt.transformFlags|=1)),Pt.jsDoc=void 0,Pt}function wo(y,I,N,te,Me,Pt){return y.modifiers!==I||y.name!==N||y.typeParameters!==te||y.heritageClauses!==Me||y.members!==Pt?r(g1(I,N,te,Me,Pt),y):y}function A_(y,I,N,te,Me){let Pt=q(261);return Pt.modifiers=oo(y),Pt.name=Zs(I),Pt.typeParameters=oo(N),Pt.heritageClauses=oo(te),Pt.members=F(Me),Pt.transformFlags=1,Pt.jsDoc=void 0,Pt}function gE(y,I,N,te,Me,Pt){return y.modifiers!==I||y.name!==N||y.typeParameters!==te||y.heritageClauses!==Me||y.members!==Pt?r(A_(I,N,te,Me,Pt),y):y}function Kc(y,I,N,te){let Me=q(262);return Me.modifiers=oo(y),Me.name=Zs(I),Me.typeParameters=oo(N),Me.type=te,Me.transformFlags=1,Me.jsDoc=void 0,Me.locals=void 0,Me.nextContainer=void 0,Me}function th(y,I,N,te,Me){return y.modifiers!==I||y.name!==N||y.typeParameters!==te||y.type!==Me?r(Kc(I,N,te,Me),y):y}function Pb(y,I,N){let te=q(263);return te.modifiers=oo(y),te.name=Zs(I),te.members=F(N),te.transformFlags|=fo(te.modifiers)|tr(te.name)|fo(te.members)|1,te.transformFlags&=-67108865,te.jsDoc=void 0,te}function C_(y,I,N,te){return y.modifiers!==I||y.name!==N||y.members!==te?r(Pb(I,N,te),y):y}function Mb(y,I,N,te=0){let Me=q(264);return Me.modifiers=oo(y),Me.flags|=te&1044,Me.name=I,Me.body=N,im(Me.modifiers)&2?Me.transformFlags=1:Me.transformFlags|=fo(Me.modifiers)|tr(Me.name)|tr(Me.body)|1,Me.transformFlags&=-67108865,Me.jsDoc=void 0,Me.locals=void 0,Me.nextContainer=void 0,Me}function Ml(y,I,N,te){return y.modifiers!==I||y.name!==N||y.body!==te?r(Mb(I,N,te,y.flags),y):y}function Yh(y){let I=B(265);return I.statements=F(y),I.transformFlags|=fo(I.statements),I.jsDoc=void 0,I}function ll(y,I){return y.statements!==I?r(Yh(I),y):y}function y1(y){let I=B(266);return I.clauses=F(y),I.transformFlags|=fo(I.clauses),I.locals=void 0,I.nextContainer=void 0,I}function lC(y,I){return y.clauses!==I?r(y1(I),y):y}function Ai(y){let I=q(267);return I.name=Zs(y),I.transformFlags|=fL(I.name)|1,I.modifiers=void 0,I.jsDoc=void 0,I}function Rr(y,I){return y.name!==I?gm(Ai(I),y):y}function gm(y,I){return y!==I&&(y.modifiers=I.modifiers),r(y,I)}function yd(y,I,N,te){let Me=q(268);return Me.modifiers=oo(y),Me.name=Zs(N),Me.isTypeOnly=I,Me.moduleReference=te,Me.transformFlags|=fo(Me.modifiers)|fL(Me.name)|tr(Me.moduleReference),um(Me.moduleReference)||(Me.transformFlags|=1),Me.transformFlags&=-67108865,Me.jsDoc=void 0,Me}function yE(y,I,N,te,Me){return y.modifiers!==I||y.isTypeOnly!==N||y.name!==te||y.moduleReference!==Me?r(yd(I,N,te,Me),y):y}function $h(y,I,N,te){let Me=B(269);return Me.modifiers=oo(y),Me.importClause=I,Me.moduleSpecifier=N,Me.assertClause=te,Me.transformFlags|=tr(Me.importClause)|tr(Me.moduleSpecifier),Me.transformFlags&=-67108865,Me.jsDoc=void 0,Me}function nh(y,I,N,te,Me){return y.modifiers!==I||y.importClause!==N||y.moduleSpecifier!==te||y.assertClause!==Me?r($h(I,N,te,Me),y):y}function ym(y,I,N){let te=q(270);return te.isTypeOnly=y,te.name=I,te.namedBindings=N,te.transformFlags|=tr(te.name)|tr(te.namedBindings),y&&(te.transformFlags|=1),te.transformFlags&=-67108865,te}function zs(y,I,N,te){return y.isTypeOnly!==I||y.name!==N||y.namedBindings!==te?r(ym(I,N,te),y):y}function Fb(y,I){let N=B(296);return N.elements=F(y),N.multiLine=I,N.transformFlags|=4,N}function v1(y,I,N){return y.elements!==I||y.multiLine!==N?r(Fb(I,N),y):y}function Gb(y,I){let N=B(297);return N.name=y,N.value=I,N.transformFlags|=4,N}function b1(y,I,N){return y.name!==I||y.value!==N?r(Gb(I,N),y):y}function Cf(y,I){let N=B(298);return N.assertClause=y,N.multiLine=I,N}function Tx(y,I,N){return y.assertClause!==I||y.multiLine!==N?r(Cf(I,N),y):y}function Sx(y){let I=q(271);return I.name=y,I.transformFlags|=tr(I.name),I.transformFlags&=-67108865,I}function xv(y,I){return y.name!==I?r(Sx(I),y):y}function E1(y){let I=q(277);return I.name=y,I.transformFlags|=tr(I.name)|4,I.transformFlags&=-67108865,I}function T1(y,I){return y.name!==I?r(E1(I),y):y}function xx(y){let I=B(272);return I.elements=F(y),I.transformFlags|=fo(I.elements),I.transformFlags&=-67108865,I}function Bb(y,I){return y.elements!==I?r(xx(I),y):y}function S1(y,I,N){let te=q(273);return te.isTypeOnly=y,te.propertyName=I,te.name=N,te.transformFlags|=tr(te.propertyName)|tr(te.name),te.transformFlags&=-67108865,te}function rf(y,I,N,te){return y.isTypeOnly!==I||y.propertyName!==N||y.name!==te?r(S1(I,N,te),y):y}function Qh(y,I,N){let te=q(274);return te.modifiers=oo(y),te.isExportEquals=I,te.expression=I?i().parenthesizeRightSideOfBinary(63,void 0,N):i().parenthesizeExpressionOfExportDefault(N),te.transformFlags|=fo(te.modifiers)|tr(te.expression),te.transformFlags&=-67108865,te.jsDoc=void 0,te}function Q_(y,I,N){return y.modifiers!==I||y.expression!==N?r(Qh(I,y.isExportEquals,N),y):y}function I_(y,I,N,te,Me){let Pt=q(275);return Pt.modifiers=oo(y),Pt.isTypeOnly=I,Pt.exportClause=N,Pt.moduleSpecifier=te,Pt.assertClause=Me,Pt.transformFlags|=fo(Pt.modifiers)|tr(Pt.exportClause)|tr(Pt.moduleSpecifier),Pt.transformFlags&=-67108865,Pt.jsDoc=void 0,Pt}function Ax(y,I,N,te,Me,Pt){return y.modifiers!==I||y.isTypeOnly!==N||y.exportClause!==te||y.moduleSpecifier!==Me||y.assertClause!==Pt?Ub(I_(I,N,te,Me,Pt),y):y}function Ub(y,I){return y!==I&&y.modifiers===I.modifiers&&(y.modifiers=I.modifiers),r(y,I)}function Lp(y){let I=B(276);return I.elements=F(y),I.transformFlags|=fo(I.elements),I.transformFlags&=-67108865,I}function x1(y,I){return y.elements!==I?r(Lp(I),y):y}function Uu(y,I,N){let te=B(278);return te.isTypeOnly=y,te.propertyName=Zs(I),te.name=Zs(N),te.transformFlags|=tr(te.propertyName)|tr(te.name),te.transformFlags&=-67108865,te.jsDoc=void 0,te}function Zh(y,I,N,te){return y.isTypeOnly!==I||y.propertyName!==N||y.name!==te?r(Uu(I,N,te),y):y}function kp(){let y=q(279);return y.jsDoc=void 0,y}function Dp(y){let I=B(280);return I.expression=y,I.transformFlags|=tr(I.expression),I.transformFlags&=-67108865,I}function eg(y,I){return y.expression!==I?r(Dp(I),y):y}function vE(y){return B(y)}function A1(y,I,N=!1){let te=ty(y,N?I&&i().parenthesizeNonArrayTypeOfPostfixType(I):I);return te.postfix=N,te}function ty(y,I){let N=B(y);return N.type=I,N}function bE(y,I,N){return I.type!==N?r(A1(y,N,I.postfix),I):I}function cs(y,I,N){return I.type!==N?r(ty(y,N),I):I}function ny(y,I){let N=q(320);return N.parameters=oo(y),N.type=I,N.transformFlags=fo(N.parameters)|(N.type?1:0),N.jsDoc=void 0,N.locals=void 0,N.nextContainer=void 0,N.typeArguments=void 0,N}function Cx(y,I,N){return y.parameters!==I||y.type!==N?r(ny(I,N),y):y}function Vb(y,I=!1){let N=q(325);return N.jsDocPropertyTags=oo(y),N.isArrayType=I,N}function jb(y,I,N){return y.jsDocPropertyTags!==I||y.isArrayType!==N?r(Vb(I,N),y):y}function Ix(y){let I=B(312);return I.type=y,I}function uC(y,I){return y.type!==I?r(Ix(I),y):y}function Lx(y,I,N){let te=q(326);return te.typeParameters=oo(y),te.parameters=F(I),te.type=N,te.jsDoc=void 0,te.locals=void 0,te.nextContainer=void 0,te}function Qn(y,I,N,te){return y.typeParameters!==I||y.parameters!==N||y.type!==te?r(Lx(I,N,te),y):y}function lc(y){let I=w4(y.kind);return y.tagName.escapedText===Bs(I)?y.tagName:_e(I)}function zi(y,I,N){let te=B(y);return te.tagName=I,te.comment=N,te}function af(y,I,N){let te=q(y);return te.tagName=I,te.comment=N,te}function Av(y,I,N,te){let Me=zi(348,y??_e("template"),te);return Me.constraint=I,Me.typeParameters=F(N),Me}function vm(y,I=lc(y),N,te,Me){return y.tagName!==I||y.constraint!==N||y.typeParameters!==te||y.comment!==Me?r(Av(I,N,te,Me),y):y}function Wn(y,I,N,te){let Me=af(349,y??_e("typedef"),te);return Me.typeExpression=I,Me.fullName=N,Me.name=iJ(N),Me.locals=void 0,Me.nextContainer=void 0,Me}function kx(y,I=lc(y),N,te,Me){return y.tagName!==I||y.typeExpression!==N||y.fullName!==te||y.comment!==Me?r(Wn(I,N,te,Me),y):y}function ry(y,I,N,te,Me,Pt){let Tr=af(344,y??_e("param"),Pt);return Tr.typeExpression=te,Tr.name=I,Tr.isNameFirst=!!Me,Tr.isBracketed=N,Tr}function nl(y,I=lc(y),N,te,Me,Pt,Tr){return y.tagName!==I||y.name!==N||y.isBracketed!==te||y.typeExpression!==Me||y.isNameFirst!==Pt||y.comment!==Tr?r(ry(I,N,te,Me,Pt,Tr),y):y}function Kf(y,I,N,te,Me,Pt){let Tr=af(351,y??_e("prop"),Pt);return Tr.typeExpression=te,Tr.name=I,Tr.isNameFirst=!!Me,Tr.isBracketed=N,Tr}function Z_(y,I=lc(y),N,te,Me,Pt,Tr){return y.tagName!==I||y.name!==N||y.isBracketed!==te||y.typeExpression!==Me||y.isNameFirst!==Pt||y.comment!==Tr?r(Kf(I,N,te,Me,Pt,Tr),y):y}function iy(y,I,N,te){let Me=af(341,y??_e("callback"),te);return Me.typeExpression=I,Me.fullName=N,Me.name=iJ(N),Me.locals=void 0,Me.nextContainer=void 0,Me}function EE(y,I=lc(y),N,te,Me){return y.tagName!==I||y.typeExpression!==N||y.fullName!==te||y.comment!==Me?r(iy(I,N,te,Me),y):y}function L_(y,I,N){let te=zi(342,y??_e("overload"),N);return te.typeExpression=I,te}function ay(y,I=lc(y),N,te){return y.tagName!==I||y.typeExpression!==N||y.comment!==te?r(L_(I,N,te),y):y}function Ac(y,I,N){let te=zi(331,y??_e("augments"),N);return te.class=I,te}function wc(y,I=lc(y),N,te){return y.tagName!==I||y.class!==N||y.comment!==te?r(Ac(I,N,te),y):y}function tg(y,I,N){let te=zi(332,y??_e("implements"),N);return te.class=I,te}function Fl(y,I,N){let te=zi(350,y??_e("see"),N);return te.name=I,te}function qf(y,I,N,te){return y.tagName!==I||y.name!==N||y.comment!==te?r(Fl(I,N,te),y):y}function bm(y){let I=B(313);return I.name=y,I}function nd(y,I){return y.name!==I?r(bm(I),y):y}function TE(y,I){let N=B(314);return N.left=y,N.right=I,N.transformFlags|=tr(N.left)|tr(N.right),N}function Hb(y,I,N){return y.left!==I||y.right!==N?r(TE(I,N),y):y}function Wb(y,I){let N=B(327);return N.name=y,N.text=I,N}function ep(y,I,N){return y.name!==I?r(Wb(I,N),y):y}function rh(y,I){let N=B(328);return N.name=y,N.text=I,N}function SE(y,I,N){return y.name!==I?r(rh(I,N),y):y}function oy(y,I){let N=B(329);return N.name=y,N.text=I,N}function uc(y,I,N){return y.name!==I?r(oy(I,N),y):y}function ng(y,I=lc(y),N,te){return y.tagName!==I||y.class!==N||y.comment!==te?r(tg(I,N,te),y):y}function ih(y,I,N){return zi(y,I??_e(w4(y)),N)}function Cv(y,I,N=lc(I),te){return I.tagName!==N||I.comment!==te?r(ih(y,N,te),I):I}function Iv(y,I,N,te){let Me=zi(y,I??_e(w4(y)),te);return Me.typeExpression=N,Me}function Gl(y,I,N=lc(I),te,Me){return I.tagName!==N||I.typeExpression!==te||I.comment!==Me?r(Iv(y,N,te,Me),I):I}function ah(y,I){return zi(330,y,I)}function qc(y,I,N){return y.tagName!==I||y.comment!==N?r(ah(I,N),y):y}function xE(y,I,N){let te=af(343,y??_e(w4(343)),N);return te.typeExpression=I,te.locals=void 0,te.nextContainer=void 0,te}function oh(y,I=lc(y),N,te){return y.tagName!==I||y.typeExpression!==N||y.comment!==te?r(xE(I,N,te),y):y}function zb(y){let I=B(324);return I.text=y,I}function Vu(y,I){return y.text!==I?r(zb(I),y):y}function Em(y,I){let N=B(323);return N.comment=y,N.tags=oo(I),N}function Jb(y,I,N){return y.comment!==I||y.tags!==N?r(Em(I,N),y):y}function Lv(y,I,N){let te=B(281);return te.openingElement=y,te.children=F(I),te.closingElement=N,te.transformFlags|=tr(te.openingElement)|fo(te.children)|tr(te.closingElement)|2,te}function AE(y,I,N,te){return y.openingElement!==I||y.children!==N||y.closingElement!==te?r(Lv(I,N,te),y):y}function sy(y,I,N){let te=B(282);return te.tagName=y,te.typeArguments=oo(I),te.attributes=N,te.transformFlags|=tr(te.tagName)|fo(te.typeArguments)|tr(te.attributes)|2,te.typeArguments&&(te.transformFlags|=1),te}function C1(y,I,N,te){return y.tagName!==I||y.typeArguments!==N||y.attributes!==te?r(sy(I,N,te),y):y}function kv(y,I,N){let te=B(283);return te.tagName=y,te.typeArguments=oo(I),te.attributes=N,te.transformFlags|=tr(te.tagName)|fo(te.typeArguments)|tr(te.attributes)|2,I&&(te.transformFlags|=1),te}function rg(y,I,N,te){return y.tagName!==I||y.typeArguments!==N||y.attributes!==te?r(kv(I,N,te),y):y}function of(y){let I=B(284);return I.tagName=y,I.transformFlags|=tr(I.tagName)|2,I}function CE(y,I){return y.tagName!==I?r(of(I),y):y}function Gd(y,I,N){let te=B(285);return te.openingFragment=y,te.children=F(I),te.closingFragment=N,te.transformFlags|=tr(te.openingFragment)|fo(te.children)|tr(te.closingFragment)|2,te}function sh(y,I,N,te){return y.openingFragment!==I||y.children!==N||y.closingFragment!==te?r(Gd(I,N,te),y):y}function Dv(y,I){let N=B(11);return N.text=y,N.containsOnlyTriviaWhiteSpaces=!!I,N.transformFlags|=2,N}function Dx(y,I,N){return y.text!==I||y.containsOnlyTriviaWhiteSpaces!==N?r(Dv(I,N),y):y}function No(){let y=B(286);return y.transformFlags|=2,y}function fr(){let y=B(287);return y.transformFlags|=2,y}function vd(y,I){let N=q(288);return N.name=y,N.initializer=I,N.transformFlags|=tr(N.name)|tr(N.initializer)|2,N}function ju(y,I,N){return y.name!==I||y.initializer!==N?r(vd(I,N),y):y}function I1(y){let I=q(289);return I.properties=F(y),I.transformFlags|=fo(I.properties)|2,I}function IE(y,I){return y.properties!==I?r(I1(I),y):y}function cy(y){let I=B(290);return I.expression=y,I.transformFlags|=tr(I.expression)|2,I}function wx(y,I){return y.expression!==I?r(cy(I),y):y}function ly(y,I){let N=B(291);return N.dotDotDotToken=y,N.expression=I,N.transformFlags|=tr(N.dotDotDotToken)|tr(N.expression)|2,N}function wp(y,I){return y.expression!==I?r(ly(y.dotDotDotToken,I),y):y}function tp(y,I){let N=B(292);return N.expression=i().parenthesizeExpressionForDisallowedComma(y),N.statements=F(I),N.transformFlags|=tr(N.expression)|fo(N.statements),N.jsDoc=void 0,N}function ig(y,I,N){return y.expression!==I||y.statements!==N?r(tp(I,N),y):y}function wv(y){let I=B(293);return I.statements=F(y),I.transformFlags=fo(I.statements),I}function ch(y,I){return y.statements!==I?r(wv(I),y):y}function Rp(y,I){let N=B(294);switch(N.token=y,N.types=F(I),N.transformFlags|=fo(N.types),y){case 94:N.transformFlags|=1024;break;case 117:N.transformFlags|=1;break;default:return L.assertNever(y)}return N}function L1(y,I){return y.types!==I?r(Rp(y.token,I),y):y}function Cc(y,I){let N=B(295);return N.variableDeclaration=zk(y),N.block=I,N.transformFlags|=tr(N.variableDeclaration)|tr(N.block)|(y?0:64),N.locals=void 0,N.nextContainer=void 0,N}function Bd(y,I,N){return y.variableDeclaration!==I||y.block!==N?r(Cc(I,N),y):y}function Tm(y,I){let N=q(299);return N.name=Zs(y),N.initializer=i().parenthesizeExpressionForDisallowedComma(I),N.transformFlags|=Gg(N.name)|tr(N.initializer),N.modifiers=void 0,N.questionToken=void 0,N.exclamationToken=void 0,N.jsDoc=void 0,N}function rd(y,I,N){return y.name!==I||y.initializer!==N?LE(Tm(I,N),y):y}function LE(y,I){return y!==I&&(y.modifiers=I.modifiers,y.questionToken=I.questionToken,y.exclamationToken=I.exclamationToken),r(y,I)}function uy(y,I){let N=q(300);return N.name=Zs(y),N.objectAssignmentInitializer=I&&i().parenthesizeExpressionForDisallowedComma(I),N.transformFlags|=fL(N.name)|tr(N.objectAssignmentInitializer)|1024,N.equalsToken=void 0,N.modifiers=void 0,N.questionToken=void 0,N.exclamationToken=void 0,N.jsDoc=void 0,N}function ag(y,I,N){return y.name!==I||y.objectAssignmentInitializer!==N?Rx(uy(I,N),y):y}function Rx(y,I){return y!==I&&(y.modifiers=I.modifiers,y.questionToken=I.questionToken,y.exclamationToken=I.exclamationToken,y.equalsToken=I.equalsToken),r(y,I)}function sf(y){let I=q(301);return I.expression=i().parenthesizeExpressionForDisallowedComma(y),I.transformFlags|=tr(I.expression)|128|65536,I.jsDoc=void 0,I}function ls(y,I){return y.expression!==I?r(sf(I),y):y}function kE(y,I){let N=q(302);return N.name=Zs(y),N.initializer=I&&i().parenthesizeExpressionForDisallowedComma(I),N.transformFlags|=tr(N.name)|tr(N.initializer)|1,N.jsDoc=void 0,N}function DE(y,I,N){return y.name!==I||y.initializer!==N?r(kE(I,N),y):y}function og(y,I,N){let te=t.createBaseSourceFileNode(308);return te.statements=F(y),te.endOfFileToken=I,te.flags|=N,te.text="",te.fileName="",te.path="",te.resolvedPath="",te.originalFileName="",te.languageVersion=0,te.languageVariant=0,te.scriptKind=0,te.isDeclarationFile=!1,te.hasNoDefaultLib=!1,te.transformFlags|=fo(te.statements)|tr(te.endOfFileToken),te.locals=void 0,te.nextContainer=void 0,te.endFlowNode=void 0,te.nodeCount=0,te.identifierCount=0,te.symbolCount=0,te.parseDiagnostics=void 0,te.bindDiagnostics=void 0,te.bindSuggestionDiagnostics=void 0,te.lineMap=void 0,te.externalModuleIndicator=void 0,te.setExternalModuleIndicator=void 0,te.pragmas=void 0,te.checkJsDirective=void 0,te.referencedFiles=void 0,te.typeReferenceDirectives=void 0,te.libReferenceDirectives=void 0,te.amdDependencies=void 0,te.commentDirectives=void 0,te.identifiers=void 0,te.packageJsonLocations=void 0,te.packageJsonScope=void 0,te.imports=void 0,te.moduleAugmentations=void 0,te.ambientModuleNames=void 0,te.resolvedModules=void 0,te.classifiableNames=void 0,te.impliedNodeFormat=void 0,te}function Rv(y){let I=Object.create(y.redirectTarget);return Object.defineProperties(I,{id:{get(){return this.redirectInfo.redirectTarget.id},set(N){this.redirectInfo.redirectTarget.id=N}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(N){this.redirectInfo.redirectTarget.symbol=N}}}),I.redirectInfo=y,I}function k1(y){let I=Rv(y.redirectInfo);return I.flags|=y.flags&-9,I.fileName=y.fileName,I.path=y.path,I.resolvedPath=y.resolvedPath,I.originalFileName=y.originalFileName,I.packageJsonLocations=y.packageJsonLocations,I.packageJsonScope=y.packageJsonScope,I.emitNode=void 0,I}function wE(y){let I=t.createBaseSourceFileNode(308);I.flags|=y.flags&-9;for(let N in y)if(!(fs(I,N)||!fs(y,N))){if(N==="emitNode"){I.emitNode=void 0;continue}I[N]=y[N]}return I}function RE(y){let I=y.redirectInfo?k1(y):wE(y);return Ir(I,y),I}function OE(y,I,N,te,Me,Pt,Tr){let Fi=RE(y);return Fi.statements=F(I),Fi.isDeclarationFile=N,Fi.referencedFiles=te,Fi.typeReferenceDirectives=Me,Fi.hasNoDefaultLib=Pt,Fi.libReferenceDirectives=Tr,Fi.transformFlags=fo(Fi.statements)|tr(Fi.endOfFileToken),Fi}function NE(y,I,N=y.isDeclarationFile,te=y.referencedFiles,Me=y.typeReferenceDirectives,Pt=y.hasNoDefaultLib,Tr=y.libReferenceDirectives){return y.statements!==I||y.isDeclarationFile!==N||y.referencedFiles!==te||y.typeReferenceDirectives!==Me||y.hasNoDefaultLib!==Pt||y.libReferenceDirectives!==Tr?r(OE(y,I,N,te,Me,Pt,Tr),y):y}function PE(y,I=Je){let N=B(309);return N.prepends=I,N.sourceFiles=y,N.syntheticFileReferences=void 0,N.syntheticTypeReferences=void 0,N.syntheticLibReferences=void 0,N.hasNoDefaultLib=void 0,N}function dy(y,I,N=Je){return y.sourceFiles!==I||y.prepends!==N?r(PE(I,N),y):y}function bd(y,I,N){let te=B(310);return te.prologues=y,te.syntheticReferences=I,te.texts=N,te.fileName="",te.text="",te.referencedFiles=Je,te.libReferenceDirectives=Je,te.getLineAndCharacterOfPosition=Me=>Gs(te,Me),te}function lh(y,I){let N=B(y);return N.data=I,N}function dC(y){return lh(303,y)}function sg(y,I){let N=lh(304,y);return N.texts=I,N}function Ox(y,I){return lh(I?306:305,y)}function Nx(y){let I=B(307);return I.data=y.data,I.section=y,I}function E(){let y=B(311);return y.javascriptText="",y.declarationText="",y}function ne(y,I=!1,N){let te=B(234);return te.type=y,te.isSpread=I,te.tupleNameSource=N,te}function Ee(y){let I=B(354);return I._children=y,I}function Wt(y){let I=B(355);return I.original=y,it(I,y),I}function lr(y,I){let N=B(356);return N.expression=y,N.original=I,N.transformFlags|=tr(N.expression)|1,it(N,I),N}function ci(y,I){return y.expression!==I?r(lr(I,y.original),y):y}function qr(y){if(ws(y)&&!dI(y)&&!y.original&&!y.emitNode&&!y.id){if(SL(y))return y.elements;if(ar(y)&&Cue(y.operatorToken))return[y.left,y.right]}return y}function Ti(y){let I=B(357);return I.elements=F(lae(y,qr)),I.transformFlags|=fo(I.elements),I}function Wa(y,I){return y.elements!==I?r(Ti(I),y):y}function kl(y){let I=B(359);return I.emitNode={},I.original=y,I}function Ed(y){let I=B(358);return I.emitNode={},I.original=y,I}function Ud(y,I){let N=B(360);return N.expression=y,N.thisArg=I,N.transformFlags|=tr(N.expression)|tr(N.thisArg),N}function fy(y,I,N){return y.expression!==I||y.thisArg!==N?r(Ud(I,N),y):y}function Td(y){let I=re(y.escapedText);return I.flags|=y.flags&-9,I.transformFlags=y.transformFlags,Ir(I,y),iO(I,{...y.emitNode.autoGenerate}),I}function Ov(y){let I=re(y.escapedText);I.flags|=y.flags&-9,I.jsDoc=y.jsDoc,I.flowNode=y.flowNode,I.symbol=y.symbol,I.transformFlags=y.transformFlags,Ir(I,y);let N=NT(y);return N&&Ug(I,N),I}function Nv(y){let I=ke(y.escapedText);return I.flags|=y.flags&-9,I.transformFlags=y.transformFlags,Ir(I,y),iO(I,{...y.emitNode.autoGenerate}),I}function _y(y){let I=ke(y.escapedText);return I.flags|=y.flags&-9,I.transformFlags=y.transformFlags,Ir(I,y),I}function Xf(y){if(y===void 0)return y;if(Li(y))return RE(y);if(tc(y))return Td(y);if(Re(y))return Ov(y);if(tS(y))return Nv(y);if(pi(y))return _y(y);let I=Iw(y.kind)?t.createBaseNode(y.kind):t.createBaseTokenNode(y.kind);I.flags|=y.flags&-9,I.transformFlags=y.transformFlags,Ir(I,y);for(let N in y)fs(I,N)||!fs(y,N)||(I[N]=y[N]);return I}function ME(y,I,N){return bn(Ea(void 0,void 0,void 0,void 0,I?[I]:[],void 0,zh(y,!0)),void 0,N?[N]:[])}function cf(y,I,N){return bn(Qo(void 0,void 0,I?[I]:[],void 0,void 0,zh(y,!0)),void 0,N?[N]:[])}function Sm(){return Zl(Y("0"))}function py(y){return Qh(void 0,!1,y)}function If(y){return I_(void 0,!1,Lp([Uu(!1,void 0,y)]))}function FE(y,I){return I==="undefined"?P.createStrictEquality(y,Sm()):P.createStrictEquality(Dc(y),$(I))}function Pv(y,I,N){return dT(y)?io($o(y,void 0,I),void 0,void 0,N):bn(Uc(y,I),void 0,N)}function Vc(y,I,N){return Pv(y,"bind",[I,...N])}function KP(y,I,N){return Pv(y,"call",[I,...N])}function Zo(y,I,N){return Pv(y,"apply",[I,N])}function Ro(y,I,N){return Pv(_e(y),I,N)}function Px(y,I){return Pv(y,"slice",I===void 0?[]:[Fv(I)])}function Mx(y,I){return Pv(y,"concat",I)}function V(y,I,N){return Ro("Object","defineProperty",[y,Fv(I),N])}function me(y,I){return Ro("Object","getOwnPropertyDescriptor",[y,Fv(I)])}function Ue(y,I,N){return Ro("Reflect","get",N?[y,I,N]:[y,I])}function ut(y,I,N,te){return Ro("Reflect","set",te?[y,I,N,te]:[y,I,N])}function Lt(y,I,N){return N?(y.push(Tm(I,N)),!0):!1}function dn(y,I){let N=[];Lt(N,"enumerable",Fv(y.enumerable)),Lt(N,"configurable",Fv(y.configurable));let te=Lt(N,"writable",Fv(y.writable));te=Lt(N,"value",y.value)||te;let Me=Lt(N,"get",y.get);return Me=Lt(N,"set",y.set)||Me,L.assert(!(te&&Me),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),vo(N,!I)}function Er(y,I){switch(y.kind){case 214:return gi(y,I);case 213:return mr(y,y.type,I);case 231:return mv(y,I,y.type);case 235:return Wh(y,I,y.type);case 232:return _1(y,I);case 356:return ci(y,I)}}function ii(y){return ud(y)&&ws(y)&&ws(pb(y))&&ws(sm(y))&&!vt(l2(y))&&!vt(rO(y))}function li(y,I,N=15){return y&&S3(y,N)&&!ii(y)?Er(y,li(y.expression,I)):I}function di(y,I,N){if(!I)return y;let te=h1(I,I.label,J0(I.statement)?di(y,I.statement):y);return N&&N(I),te}function ma(y,I){let N=vs(y);switch(N.kind){case 79:return I;case 108:case 8:case 9:case 10:return!1;case 206:return N.elements.length!==0;case 207:return N.properties.length>0;default:return!0}}function is(y,I,N,te=!1){let Me=ql(y,15),Pt,Tr;return Pu(Me)?(Pt=_t(),Tr=Me):hL(Me)?(Pt=_t(),Tr=N!==void 0&&N<2?it(_e("_super"),Me):Me):Ya(Me)&8192?(Pt=Sm(),Tr=i().parenthesizeLeftSideOfAccess(Me,!1)):br(Me)?ma(Me.expression,te)?(Pt=ge(I),Tr=Uc(it(P.createAssignment(Pt,Me.expression),Me.expression),Me.name),it(Tr,Me)):(Pt=Me.expression,Tr=Me):Vs(Me)?ma(Me.expression,te)?(Pt=ge(I),Tr=hd(it(P.createAssignment(Pt,Me.expression),Me.expression),Me.argumentExpression),it(Tr,Me)):(Pt=Me.expression,Tr=Me):(Pt=Sm(),Tr=i().parenthesizeLeftSideOfAccess(y,!1)),{target:Tr,thisArg:Pt}}function ao(y,I){return Uc(Vr(vo([Q(void 0,"value",[ui(void 0,void 0,y,void 0,void 0,void 0)],zh([yv(I)]))])),"value")}function Oo(y){return y.length>10?Ti(y):ou(y,P.createComma)}function id(y,I,N,te=0){let Me=sa(y);if(Me&&Re(Me)&&!tc(Me)){let Pt=go(it(Xf(Me),Me),Me.parent);return te|=Ya(Me),N||(te|=96),I||(te|=3072),te&&Jn(Pt,te),Pt}return we(y)}function np(y,I,N){return id(y,I,N,98304)}function Op(y,I,N){return id(y,I,N,32768)}function cg(y,I,N){return id(y,I,N,16384)}function Yf(y,I,N){return id(y,I,N)}function my(y,I,N,te){let Me=Uc(y,ws(I)?I:Xf(I));it(Me,I);let Pt=0;return te||(Pt|=96),N||(Pt|=3072),Pt&&Jn(Me,Pt),Me}function Fx(y,I,N,te){return y&&Mr(I,1)?my(y,id(I),N,te):cg(I,N,te)}function GE(y,I,N,te){let Me=Mv(y,I,0,N);return _C(y,I,Me,te)}function fC(y){return yo(y.expression)&&y.expression.text==="use strict"}function k_(){return mu(yv($("use strict")))}function Mv(y,I,N=0,te){L.assert(I.length===0,"Prologue directives should be at the first statement in the target statements array");let Me=!1,Pt=y.length;for(;N<Pt;){let Tr=y[N];if(B_(Tr))fC(Tr)&&(Me=!0),I.push(Tr);else break;N++}return te&&!Me&&I.push(k_()),N}function _C(y,I,N,te,Me=h0){let Pt=y.length;for(;N!==void 0&&N<Pt;){let Tr=y[N];if(Ya(Tr)&2097152&&Me(Tr))Sn(I,te?$e(Tr,te,ca):Tr);else break;N++}return N}function lf(y){return tJ(y)?y:it(F([k_(),...y]),y)}function Gx(y){return L.assert(Ji(y,Ese),"Cannot lift nodes to a Block."),Wp(y)||zh(y)}function hy(y,I,N){let te=N;for(;te<y.length&&I(y[te]);)te++;return te}function jk(y,I){if(!vt(I))return y;let N=hy(y,B_,0),te=hy(y,C6,N),Me=hy(y,I6,te),Pt=hy(I,B_,0),Tr=hy(I,C6,Pt),Fi=hy(I,I6,Tr),Da=hy(I,A6,Fi);L.assert(Da===I.length,"Expected declarations to be valid standard or custom prologues");let Vd=C0(y)?y.slice():y;if(Da>Fi&&Vd.splice(Me,0,...I.slice(Fi,Da)),Fi>Tr&&Vd.splice(te,0,...I.slice(Tr,Fi)),Tr>Pt&&Vd.splice(N,0,...I.slice(Pt,Tr)),Pt>0)if(N===0)Vd.splice(0,0,...I.slice(0,Pt));else{let lg=new Map;for(let ug=0;ug<N;ug++){let dg=y[ug];lg.set(dg.expression.text,!0)}for(let ug=Pt-1;ug>=0;ug--){let dg=I[ug];lg.has(dg.expression.text)||Vd.unshift(dg)}}return C0(y)?it(F(Vd,y.hasTrailingComma),y):y}function Hk(y,I){var N;let te;return typeof I=="number"?te=zt(I):te=I,_c(y)?$n(y,te,y.name,y.constraint,y.default):ha(y)?Ni(y,te,y.dotDotDotToken,y.name,y.questionToken,y.type,y.initializer):yL(y)?Hn(y,te,y.typeParameters,y.parameters,y.type):$d(y)?nn(y,te,y.name,y.questionToken,y.type):Na(y)?An(y,te,y.name,(N=y.questionToken)!=null?N:y.exclamationToken,y.type,y.initializer):zm(y)?hi(y,te,y.name,y.questionToken,y.typeParameters,y.parameters,y.type):Nc(y)?vn(y,te,y.asteriskToken,y.name,y.questionToken,y.typeParameters,y.parameters,y.type,y.body):Ec(y)?at(y,te,y.parameters,y.body):p_(y)?nt(y,te,y.name,y.parameters,y.type,y.body):Sf(y)?ue(y,te,y.name,y.parameters,y.body):kS(y)?ln(y,te,y.parameters,y.type):ms(y)?bo(y,te,y.asteriskToken,y.name,y.typeParameters,y.parameters,y.type,y.body):xs(y)?Cs(y,te,y.typeParameters,y.parameters,y.type,y.equalsGreaterThanToken,y.body):_u(y)?Mc(y,te,y.name,y.typeParameters,y.heritageClauses,y.members):Bc(y)?dE(y,te,y.declarationList):Jc(y)?Sv(y,te,y.asteriskToken,y.name,y.typeParameters,y.parameters,y.type,y.body):sl(y)?wo(y,te,y.name,y.typeParameters,y.heritageClauses,y.members):ku(y)?gE(y,te,y.name,y.typeParameters,y.heritageClauses,y.members):Ep(y)?th(y,te,y.name,y.typeParameters,y.type):hb(y)?C_(y,te,y.name,y.members):Tc(y)?Ml(y,te,y.name,y.body):Nl(y)?yE(y,te,y.isTypeOnly,y.name,y.moduleReference):gl(y)?nh(y,te,y.importClause,y.moduleSpecifier,y.assertClause):pc(y)?Q_(y,te,y.expression):Il(y)?Ax(y,te,y.isTypeOnly,y.exportClause,y.moduleSpecifier,y.assertClause):L.assertNever(y)}function oo(y){return y?F(y):void 0}function Zs(y){return typeof y=="string"?_e(y):y}function Fv(y){return typeof y=="string"?$(y):typeof y=="number"?Y(y):typeof y=="boolean"?y?Rt():We():y}function gy(y){return y&&i().parenthesizeExpressionForDisallowedComma(y)}function Wk(y){return typeof y=="number"?Le(y):y}function ad(y){return y&&Gz(y)?it(Ir(fE(),y),y):y}function zk(y){return typeof y=="string"||y&&!wi(y)?Fe(y,void 0,void 0,void 0):y}}function CRe(e,t){return e!==t&&it(e,t),e}function IRe(e,t){return e!==t&&(Ir(e,t),it(e,t)),e}function w4(e){switch(e){case 347:return"type";case 345:return"returns";case 346:return"this";case 343:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 348:return"template";case 349:return"typedef";case 344:return"param";case 351:return"prop";case 341:return"callback";case 342:return"overload";case 331:return"augments";case 332:return"implements";default:return L.fail(`Unsupported kind: ${L.formatSyntaxKind(e)}`)}}function LRe(e,t){switch(Ph||(Ph=kg(99,!1,0)),e){case 14:Ph.setText("`"+t+"`");break;case 15:Ph.setText("`"+t+"${");break;case 16:Ph.setText("}"+t+"${");break;case 17:Ph.setText("}"+t+"`");break}let r=Ph.scan();if(r===19&&(r=Ph.reScanTemplateToken(!1)),Ph.isUnterminated())return Ph.setText(void 0),gz;let i;switch(r){case 14:case 15:case 16:case 17:i=Ph.getTokenValue();break}return i===void 0||Ph.scan()!==1?(Ph.setText(void 0),gz):(Ph.setText(void 0),i)}function Gg(e){return e&&Re(e)?fL(e):tr(e)}function fL(e){return tr(e)&-67108865}function kRe(e,t){return t|e.transformFlags&134234112}function tr(e){if(!e)return 0;let t=e.transformFlags&~uue(e.kind);return zl(e)&&Ys(e.name)?kRe(e.name,t):t}function fo(e){return e?e.transformFlags:0}function lue(e){let t=0;for(let r of e)t|=tr(r);e.transformFlags=t}function uue(e){if(e>=179&&e<=202)return-2;switch(e){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 356:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}function $R(e){return e.flags|=8,e}function fz(e,t,r){let i,o,s,l,f,d,g,m,v,S;Ta(e)?(s="",l=e,f=e.length,d=t,g=r):(L.assert(t==="js"||t==="dts"),s=(t==="js"?e.javascriptPath:e.declarationPath)||"",d=t==="js"?e.javascriptMapPath:e.declarationMapPath,m=()=>t==="js"?e.javascriptText:e.declarationText,v=()=>t==="js"?e.javascriptMapText:e.declarationMapText,f=()=>m().length,e.buildInfo&&e.buildInfo.bundle&&(L.assert(r===void 0||typeof r=="boolean"),i=r,o=t==="js"?e.buildInfo.bundle.js:e.buildInfo.bundle.dts,S=e.oldFileOfCurrentEmit));let x=S?wRe(L.checkDefined(o)):DRe(o,i,f);return x.fileName=s,x.sourceMapPath=d,x.oldFileOfCurrentEmit=S,m&&v?(Object.defineProperty(x,"text",{get:m}),Object.defineProperty(x,"sourceMapText",{get:v})):(L.assert(!S),x.text=l??"",x.sourceMapText=g),x}function DRe(e,t,r){let i,o,s,l,f,d,g,m;for(let S of e?e.sections:Je)switch(S.kind){case"prologue":i=Sn(i,it(D.createUnparsedPrologue(S.data),S));break;case"emitHelpers":o=Sn(o,xz().get(S.data));break;case"no-default-lib":m=!0;break;case"reference":s=Sn(s,{pos:-1,end:-1,fileName:S.data});break;case"type":l=Sn(l,{pos:-1,end:-1,fileName:S.data});break;case"type-import":l=Sn(l,{pos:-1,end:-1,fileName:S.data,resolutionMode:99});break;case"type-require":l=Sn(l,{pos:-1,end:-1,fileName:S.data,resolutionMode:1});break;case"lib":f=Sn(f,{pos:-1,end:-1,fileName:S.data});break;case"prepend":let x;for(let A of S.texts)(!t||A.kind!=="internal")&&(x=Sn(x,it(D.createUnparsedTextLike(A.data,A.kind==="internal"),A)));d=si(d,x),g=Sn(g,D.createUnparsedPrepend(S.data,x??Je));break;case"internal":if(t){g||(g=[]);break}case"text":g=Sn(g,it(D.createUnparsedTextLike(S.data,S.kind==="internal"),S));break;default:L.assertNever(S)}if(!g){let S=D.createUnparsedTextLike(void 0,!1);oL(S,0,typeof r=="function"?r():r),g=[S]}let v=fm.createUnparsedSource(i??Je,void 0,g);return i2(i,v),i2(g,v),i2(d,v),v.hasNoDefaultLib=m,v.helpers=o,v.referencedFiles=s||Je,v.typeReferenceDirectives=l,v.libReferenceDirectives=f||Je,v}function wRe(e){let t,r;for(let o of e.sections)switch(o.kind){case"internal":case"text":t=Sn(t,it(D.createUnparsedTextLike(o.data,o.kind==="internal"),o));break;case"no-default-lib":case"reference":case"type":case"type-import":case"type-require":case"lib":r=Sn(r,it(D.createUnparsedSyntheticReference(o),o));break;case"prologue":case"emitHelpers":case"prepend":break;default:L.assertNever(o)}let i=D.createUnparsedSource(Je,r,t??Je);return i2(r,i),i2(t,i),i.helpers=on(e.sources&&e.sources.helpers,o=>xz().get(o)),i}function RRe(e,t,r,i,o,s){return Ta(e)?pz(void 0,e,r,i,void 0,t,o,s):_z(e,t,r,i,o,s)}function _z(e,t,r,i,o,s,l,f){let d=fm.createInputFiles();d.javascriptPath=t,d.javascriptMapPath=r,d.declarationPath=i,d.declarationMapPath=o,d.buildInfoPath=s;let g=new Map,m=A=>{if(A===void 0)return;let w=g.get(A);return w===void 0&&(w=e(A),g.set(A,w!==void 0?w:!1)),w!==!1?w:void 0},v=A=>{let w=m(A);return w!==void 0?w:`/* Input file ${A} was missing */\r
+`},S;return Object.defineProperties(d,{javascriptText:{get:()=>v(t)},javascriptMapText:{get:()=>m(r)},declarationText:{get:()=>v(L.checkDefined(i))},declarationMapText:{get:()=>m(o)},buildInfo:{get:()=>{var A,w;if(S===void 0&&s)if(l?.getBuildInfo)S=(A=l.getBuildInfo(s,f.configFilePath))!=null?A:!1;else{let C=m(s);S=C!==void 0&&(w=IF(s,C))!=null?w:!1}return S||void 0}}}),d}function pz(e,t,r,i,o,s,l,f,d,g,m){let v=fm.createInputFiles();return v.javascriptPath=e,v.javascriptText=t,v.javascriptMapPath=r,v.javascriptMapText=i,v.declarationPath=o,v.declarationText=s,v.declarationMapPath=l,v.declarationMapText=f,v.buildInfoPath=d,v.buildInfo=g,v.oldFileOfCurrentEmit=m,v}function ORe(e,t,r){return new(fue||(fue=ml.getSourceMapSourceConstructor()))(e,t,r)}function Ir(e,t){if(e.original=t,t){let r=t.emitNode;r&&(e.emitNode=NRe(r,e.emitNode))}return e}function NRe(e,t){let{flags:r,internalFlags:i,leadingComments:o,trailingComments:s,commentRange:l,sourceMapRange:f,tokenSourceMapRanges:d,constantValue:g,helpers:m,startsOnNewLine:v,snippetElement:S}=e;if(t||(t={}),o&&(t.leadingComments=si(o.slice(),t.leadingComments)),s&&(t.trailingComments=si(s.slice(),t.trailingComments)),r&&(t.flags=r),i&&(t.internalFlags=i&-9),l&&(t.commentRange=l),f&&(t.sourceMapRange=f),d&&(t.tokenSourceMapRanges=PRe(d,t.tokenSourceMapRanges)),g!==void 0&&(t.constantValue=g),m)for(let x of m)t.helpers=xg(t.helpers,x);return v!==void 0&&(t.startsOnNewLine=v),S!==void 0&&(t.snippetElement=S),t}function PRe(e,t){t||(t=[]);for(let r in e)t[r]=e[r];return t}var QR,mz,hz,Ph,gz,_L,due,D,fue,MRe=gt({"src/compiler/factory/nodeFactory.ts"(){"use strict";fa(),QR=0,mz=(e=>(e[e.None=0]="None",e[e.NoParenthesizerRules=1]="NoParenthesizerRules",e[e.NoNodeConverters=2]="NoNodeConverters",e[e.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",e[e.NoOriginalNode=8]="NoOriginalNode",e))(mz||{}),hz=[],gz={},_L=oue(),due={createBaseSourceFileNode:e=>$R(_L.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>$R(_L.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>$R(_L.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>$R(_L.createBaseTokenNode(e)),createBaseNode:e=>$R(_L.createBaseNode(e))},D=YR(4,due)}});function Lu(e){var t;if(e.emitNode)L.assert(!(e.emitNode.internalFlags&8),"Invalid attempt to mutate an immutable node.");else{if(dI(e)){if(e.kind===308)return e.emitNode={annotatedNodes:[e]};let r=(t=Gn(ea(Gn(e))))!=null?t:L.fail("Could not determine parsed source file.");Lu(r).annotatedNodes.push(e)}e.emitNode={}}return e.emitNode}function yz(e){var t,r;let i=(r=(t=Gn(ea(e)))==null?void 0:t.emitNode)==null?void 0:r.annotatedNodes;if(i)for(let o of i)o.emitNode=void 0}function ZR(e){let t=Lu(e);return t.flags|=3072,t.leadingComments=void 0,t.trailingComments=void 0,e}function Jn(e,t){return Lu(e).flags=t,e}function bp(e,t){let r=Lu(e);return r.flags=r.flags|t,e}function eO(e,t){return Lu(e).internalFlags=t,e}function SS(e,t){let r=Lu(e);return r.internalFlags=r.internalFlags|t,e}function pb(e){var t,r;return(r=(t=e.emitNode)==null?void 0:t.sourceMapRange)!=null?r:e}function Ho(e,t){return Lu(e).sourceMapRange=t,e}function FRe(e,t){var r,i;return(i=(r=e.emitNode)==null?void 0:r.tokenSourceMapRanges)==null?void 0:i[t]}function _ue(e,t,r){var i;let o=Lu(e),s=(i=o.tokenSourceMapRanges)!=null?i:o.tokenSourceMapRanges=[];return s[t]=r,e}function tO(e){var t;return(t=e.emitNode)==null?void 0:t.startsOnNewLine}function vz(e,t){return Lu(e).startsOnNewLine=t,e}function sm(e){var t,r;return(r=(t=e.emitNode)==null?void 0:t.commentRange)!=null?r:e}function hl(e,t){return Lu(e).commentRange=t,e}function l2(e){var t;return(t=e.emitNode)==null?void 0:t.leadingComments}function W0(e,t){return Lu(e).leadingComments=t,e}function nO(e,t,r,i){return W0(e,Sn(l2(e),{kind:t,pos:-1,end:-1,hasTrailingNewLine:i,text:r}))}function rO(e){var t;return(t=e.emitNode)==null?void 0:t.trailingComments}function u2(e,t){return Lu(e).trailingComments=t,e}function R4(e,t,r,i){return u2(e,Sn(rO(e),{kind:t,pos:-1,end:-1,hasTrailingNewLine:i,text:r}))}function pue(e,t){W0(e,l2(t)),u2(e,rO(t));let r=Lu(t);return r.leadingComments=void 0,r.trailingComments=void 0,e}function mue(e){var t;return(t=e.emitNode)==null?void 0:t.constantValue}function hue(e,t){let r=Lu(e);return r.constantValue=t,e}function xS(e,t){let r=Lu(e);return r.helpers=Sn(r.helpers,t),e}function Bg(e,t){if(vt(t)){let r=Lu(e);for(let i of t)r.helpers=xg(r.helpers,i)}return e}function GRe(e,t){var r;let i=(r=e.emitNode)==null?void 0:r.helpers;return i?m8(i,t):!1}function O4(e){var t;return(t=e.emitNode)==null?void 0:t.helpers}function gue(e,t,r){let i=e.emitNode,o=i&&i.helpers;if(!vt(o))return;let s=Lu(t),l=0;for(let f=0;f<o.length;f++){let d=o[f];r(d)?(l++,s.helpers=xg(s.helpers,d)):l>0&&(o[f-l]=d)}l>0&&(o.length-=l)}function bz(e){var t;return(t=e.emitNode)==null?void 0:t.snippetElement}function Ez(e,t){let r=Lu(e);return r.snippetElement=t,e}function Tz(e){return Lu(e).internalFlags|=4,e}function yue(e,t){let r=Lu(e);return r.typeNode=t,e}function vue(e){var t;return(t=e.emitNode)==null?void 0:t.typeNode}function Ug(e,t){return Lu(e).identifierTypeArguments=t,e}function NT(e){var t;return(t=e.emitNode)==null?void 0:t.identifierTypeArguments}function iO(e,t){return Lu(e).autoGenerate=t,e}function BRe(e){var t;return(t=e.emitNode)==null?void 0:t.autoGenerate}function bue(e,t){return Lu(e).generatedImportReference=t,e}function Eue(e){var t;return(t=e.emitNode)==null?void 0:t.generatedImportReference}var URe=gt({"src/compiler/factory/emitNode.ts"(){"use strict";fa()}});function Tue(e){let t=e.factory,r=zu(()=>eO(t.createTrue(),8)),i=zu(()=>eO(t.createFalse(),8));return{getUnscopedHelperName:o,createDecorateHelper:s,createMetadataHelper:l,createParamHelper:f,createESDecorateHelper:w,createRunInitializersHelper:C,createAssignHelper:P,createAwaitHelper:F,createAsyncGeneratorHelper:B,createAsyncDelegatorHelper:q,createAsyncValuesHelper:W,createRestHelper:Y,createAwaiterHelper:R,createExtendsHelper:ie,createTemplateObjectHelper:$,createSpreadArrayHelper:fe,createPropKeyHelper:Z,createSetFunctionNameHelper:U,createValuesHelper:re,createReadHelper:le,createGeneratorHelper:_e,createCreateBindingHelper:ge,createImportStarHelper:X,createImportStarCallbackHelper:Ve,createImportDefaultHelper:we,createExportStarHelper:ke,createClassPrivateFieldGetHelper:Pe,createClassPrivateFieldSetHelper:Ce,createClassPrivateFieldInHelper:Ie};function o(Be){return Jn(t.createIdentifier(Be),8196)}function s(Be,Ne,Le,Ye){e.requestEmitHelper(N4);let _t=[];return _t.push(t.createArrayLiteralExpression(Be,!0)),_t.push(Ne),Le&&(_t.push(Le),Ye&&_t.push(Ye)),t.createCallExpression(o("__decorate"),void 0,_t)}function l(Be,Ne){return e.requestEmitHelper(P4),t.createCallExpression(o("__metadata"),void 0,[t.createStringLiteral(Be),Ne])}function f(Be,Ne,Le){return e.requestEmitHelper(M4),it(t.createCallExpression(o("__param"),void 0,[t.createNumericLiteral(Ne+""),Be]),Le)}function d(Be){return t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("kind"),t.createStringLiteral("class")),t.createPropertyAssignment(t.createIdentifier("name"),Be.name)])}function g(Be){let Ne=Be.computed?t.createElementAccessExpression(t.createIdentifier("obj"),Be.name):t.createPropertyAccessExpression(t.createIdentifier("obj"),Be.name);return t.createPropertyAssignment("get",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier("obj"))],void 0,void 0,Ne))}function m(Be){let Ne=Be.computed?t.createElementAccessExpression(t.createIdentifier("obj"),Be.name):t.createPropertyAccessExpression(t.createIdentifier("obj"),Be.name);return t.createPropertyAssignment("set",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier("obj")),t.createParameterDeclaration(void 0,void 0,t.createIdentifier("value"))],void 0,void 0,t.createBlock([t.createExpressionStatement(t.createAssignment(Ne,t.createIdentifier("value")))])))}function v(Be){let Ne=Be.computed?Be.name:Re(Be.name)?t.createStringLiteralFromNode(Be.name):Be.name;return t.createPropertyAssignment("has",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,t.createIdentifier("obj"))],void 0,void 0,t.createBinaryExpression(Ne,101,t.createIdentifier("obj"))))}function S(Be,Ne){let Le=[];return Le.push(v(Be)),Ne.get&&Le.push(g(Be)),Ne.set&&Le.push(m(Be)),t.createObjectLiteralExpression(Le)}function x(Be){return t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("kind"),t.createStringLiteral(Be.kind)),t.createPropertyAssignment(t.createIdentifier("name"),Be.name.computed?Be.name.name:t.createStringLiteralFromNode(Be.name.name)),t.createPropertyAssignment(t.createIdentifier("static"),Be.static?t.createTrue():t.createFalse()),t.createPropertyAssignment(t.createIdentifier("private"),Be.private?t.createTrue():t.createFalse()),t.createPropertyAssignment(t.createIdentifier("access"),S(Be.name,Be.access))])}function A(Be){return Be.kind==="class"?d(Be):x(Be)}function w(Be,Ne,Le,Ye,_t,ct){return e.requestEmitHelper(F4),t.createCallExpression(o("__esDecorate"),void 0,[Be??t.createNull(),Ne??t.createNull(),Le,A(Ye),_t,ct])}function C(Be,Ne,Le){return e.requestEmitHelper(G4),t.createCallExpression(o("__runInitializers"),void 0,Le?[Be,Ne,Le]:[Be,Ne])}function P(Be){return Do(e.getCompilerOptions())>=2?t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"assign"),void 0,Be):(e.requestEmitHelper(B4),t.createCallExpression(o("__assign"),void 0,Be))}function F(Be){return e.requestEmitHelper(AS),t.createCallExpression(o("__await"),void 0,[Be])}function B(Be,Ne){return e.requestEmitHelper(AS),e.requestEmitHelper(U4),(Be.emitNode||(Be.emitNode={})).flags|=1572864,t.createCallExpression(o("__asyncGenerator"),void 0,[Ne?t.createThis():t.createVoidZero(),t.createIdentifier("arguments"),Be])}function q(Be){return e.requestEmitHelper(AS),e.requestEmitHelper(V4),t.createCallExpression(o("__asyncDelegator"),void 0,[Be])}function W(Be){return e.requestEmitHelper(j4),t.createCallExpression(o("__asyncValues"),void 0,[Be])}function Y(Be,Ne,Le,Ye){e.requestEmitHelper(H4);let _t=[],ct=0;for(let Rt=0;Rt<Ne.length-1;Rt++){let We=rJ(Ne[Rt]);if(We)if(ts(We)){L.assertIsDefined(Le,"Encountered computed property name but 'computedTempVariables' argument was not provided.");let qe=Le[ct];ct++,_t.push(t.createConditionalExpression(t.createTypeCheck(qe,"symbol"),void 0,qe,void 0,t.createAdd(qe,t.createStringLiteral(""))))}else _t.push(t.createStringLiteralFromNode(We))}return t.createCallExpression(o("__rest"),void 0,[Be,it(t.createArrayLiteralExpression(_t),Ye)])}function R(Be,Ne,Le,Ye){e.requestEmitHelper(W4);let _t=t.createFunctionExpression(void 0,t.createToken(41),void 0,void 0,[],void 0,Ye);return(_t.emitNode||(_t.emitNode={})).flags|=1572864,t.createCallExpression(o("__awaiter"),void 0,[Be?t.createThis():t.createVoidZero(),Ne?t.createIdentifier("arguments"):t.createVoidZero(),Le?EO(t,Le):t.createVoidZero(),_t])}function ie(Be){return e.requestEmitHelper(z4),t.createCallExpression(o("__extends"),void 0,[Be,t.createUniqueName("_super",48)])}function $(Be,Ne){return e.requestEmitHelper(J4),t.createCallExpression(o("__makeTemplateObject"),void 0,[Be,Ne])}function fe(Be,Ne,Le){return e.requestEmitHelper(q4),t.createCallExpression(o("__spreadArray"),void 0,[Be,Ne,Le?r():i()])}function Z(Be){return e.requestEmitHelper(X4),t.createCallExpression(o("__propKey"),void 0,[Be])}function U(Be,Ne,Le){return e.requestEmitHelper(Y4),e.factory.createCallExpression(o("__setFunctionName"),void 0,Le?[Be,Ne,e.factory.createStringLiteral(Le)]:[Be,Ne])}function re(Be){return e.requestEmitHelper($4),t.createCallExpression(o("__values"),void 0,[Be])}function le(Be,Ne){return e.requestEmitHelper(K4),t.createCallExpression(o("__read"),void 0,Ne!==void 0?[Be,t.createNumericLiteral(Ne+"")]:[Be])}function _e(Be){return e.requestEmitHelper(Q4),t.createCallExpression(o("__generator"),void 0,[t.createThis(),Be])}function ge(Be,Ne,Le){return e.requestEmitHelper(d2),t.createCallExpression(o("__createBinding"),void 0,[t.createIdentifier("exports"),Be,Ne,...Le?[Le]:[]])}function X(Be){return e.requestEmitHelper(aO),t.createCallExpression(o("__importStar"),void 0,[Be])}function Ve(){return e.requestEmitHelper(aO),o("__importStar")}function we(Be){return e.requestEmitHelper(e3),t.createCallExpression(o("__importDefault"),void 0,[Be])}function ke(Be,Ne=t.createIdentifier("exports")){return e.requestEmitHelper(t3),e.requestEmitHelper(d2),t.createCallExpression(o("__exportStar"),void 0,[Be,Ne])}function Pe(Be,Ne,Le,Ye){e.requestEmitHelper(n3);let _t;return Ye?_t=[Be,Ne,t.createStringLiteral(Le),Ye]:_t=[Be,Ne,t.createStringLiteral(Le)],t.createCallExpression(o("__classPrivateFieldGet"),void 0,_t)}function Ce(Be,Ne,Le,Ye,_t){e.requestEmitHelper(r3);let ct;return _t?ct=[Be,Ne,Le,t.createStringLiteral(Ye),_t]:ct=[Be,Ne,Le,t.createStringLiteral(Ye)],t.createCallExpression(o("__classPrivateFieldSet"),void 0,ct)}function Ie(Be,Ne){return e.requestEmitHelper(i3),t.createCallExpression(o("__classPrivateFieldIn"),void 0,[Be,Ne])}}function Sue(e,t){return e===t||e.priority===t.priority?0:e.priority===void 0?1:t.priority===void 0?-1:Es(e.priority,t.priority)}function Sz(e,...t){return r=>{let i="";for(let o=0;o<t.length;o++)i+=e[o],i+=r(t[o]);return i+=e[e.length-1],i}}function xz(){return xue||(xue=p0([N4,P4,M4,F4,G4,B4,AS,U4,V4,j4,H4,W4,z4,J4,q4,$4,K4,X4,Y4,Q4,aO,e3,t3,n3,r3,i3,d2,Z4],e=>e.name))}function pL(e,t){return Pa(e)&&Re(e.expression)&&(Ya(e.expression)&8192)!==0&&e.expression.escapedText===t}var Az,N4,P4,M4,F4,G4,B4,AS,U4,V4,j4,H4,W4,z4,J4,K4,q4,X4,Y4,$4,Q4,d2,Z4,aO,e3,t3,n3,r3,i3,xue,oO,sO,VRe=gt({"src/compiler/factory/emitHelpers.ts"(){"use strict";fa(),Az=(e=>(e.Field="f",e.Method="m",e.Accessor="a",e))(Az||{}),N4={name:"typescript:decorate",importName:"__decorate",scoped:!1,priority:2,text:`
             var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
                 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
                 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
                 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
                 return c > 3 && r && Object.defineProperty(target, key, r), r;
-            };`}, P4 = {
-                            name: "typescript:metadata", importName: "__metadata", scoped: !1, priority: 3, text: `
+            };`},P4={name:"typescript:metadata",importName:"__metadata",scoped:!1,priority:3,text:`
             var __metadata = (this && this.__metadata) || function (k, v) {
                 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
-            };`}, M4 = {
-                            name: "typescript:param", importName: "__param", scoped: !1, priority: 4, text: `
+            };`},M4={name:"typescript:param",importName:"__param",scoped:!1,priority:4,text:`
             var __param = (this && this.__param) || function (paramIndex, decorator) {
                 return function (target, key) { decorator(target, key, paramIndex); }
-            };`}, F4 = {
-                            name: "typescript:esDecorate", importName: "__esDecorate", scoped: !1, priority: 2, text: `
+            };`},F4={name:"typescript:esDecorate",importName:"__esDecorate",scoped:!1,priority:2,text:`
         var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
             function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
             var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -135,16 +68,14 @@
             }
             if (target) Object.defineProperty(target, contextIn.name, descriptor);
             done = true;
-        };`}, G4 = {
-                            name: "typescript:runInitializers", importName: "__runInitializers", scoped: !1, priority: 2, text: `
+        };`},G4={name:"typescript:runInitializers",importName:"__runInitializers",scoped:!1,priority:2,text:`
         var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
             var useValue = arguments.length > 2;
             for (var i = 0; i < initializers.length; i++) {
                 value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
             }
             return useValue ? value : void 0;
-        };`}, B4 = {
-                            name: "typescript:assign", importName: "__assign", scoped: !1, priority: 1, text: `
+        };`},B4={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:`
             var __assign = (this && this.__assign) || function () {
                 __assign = Object.assign || function(t) {
                     for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -155,10 +86,8 @@
                     return t;
                 };
                 return __assign.apply(this, arguments);
-            };`}, AS = {
-                            name: "typescript:await", importName: "__await", scoped: !1, text: `
-            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`}, U4 = {
-                            name: "typescript:asyncGenerator", importName: "__asyncGenerator", scoped: !1, dependencies: [AS], text: `
+            };`},AS={name:"typescript:await",importName:"__await",scoped:!1,text:`
+            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`},U4={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[AS],text:`
             var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
                 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
                 var g = generator.apply(thisArg, _arguments || []), i, q = [];
@@ -169,22 +98,19 @@
                 function fulfill(value) { resume("next", value); }
                 function reject(value) { resume("throw", value); }
                 function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
-            };`}, V4 = {
-                            name: "typescript:asyncDelegator", importName: "__asyncDelegator", scoped: !1, dependencies: [AS], text: `
+            };`},V4={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[AS],text:`
             var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
                 var i, p;
                 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
                 function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
-            };`}, j4 = {
-                            name: "typescript:asyncValues", importName: "__asyncValues", scoped: !1, text: `
+            };`},j4={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:`
             var __asyncValues = (this && this.__asyncValues) || function (o) {
                 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
                 var m = o[Symbol.asyncIterator], i;
                 return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
                 function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
                 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
-            };`}, H4 = {
-                            name: "typescript:rest", importName: "__rest", scoped: !1, text: `
+            };`},H4={name:"typescript:rest",importName:"__rest",scoped:!1,text:`
             var __rest = (this && this.__rest) || function (s, e) {
                 var t = {};
                 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -195,8 +121,7 @@
                             t[p[i]] = s[p[i]];
                     }
                 return t;
-            };`}, W4 = {
-                            name: "typescript:awaiter", importName: "__awaiter", scoped: !1, priority: 5, text: `
+            };`},W4={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:`
             var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
                 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
                 return new (P || (P = Promise))(function (resolve, reject) {
@@ -205,8 +130,7 @@
                     function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
                     step((generator = generator.apply(thisArg, _arguments || [])).next());
                 });
-            };`}, z4 = {
-                            name: "typescript:extends", importName: "__extends", scoped: !1, priority: 0, text: `
+            };`},z4={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:`
             var __extends = (this && this.__extends) || (function () {
                 var extendStatics = function (d, b) {
                     extendStatics = Object.setPrototypeOf ||
@@ -222,13 +146,11 @@
                     function __() { this.constructor = d; }
                     d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
                 };
-            })();`}, J4 = {
-                            name: "typescript:makeTemplateObject", importName: "__makeTemplateObject", scoped: !1, priority: 0, text: `
+            })();`},J4={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:`
             var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
                 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
                 return cooked;
-            };`}, K4 = {
-                            name: "typescript:read", importName: "__read", scoped: !1, text: `
+            };`},K4={name:"typescript:read",importName:"__read",scoped:!1,text:`
             var __read = (this && this.__read) || function (o, n) {
                 var m = typeof Symbol === "function" && o[Symbol.iterator];
                 if (!m) return o;
@@ -244,8 +166,7 @@
                     finally { if (e) throw e.error; }
                 }
                 return ar;
-            };`}, q4 = {
-                            name: "typescript:spreadArray", importName: "__spreadArray", scoped: !1, text: `
+            };`},q4={name:"typescript:spreadArray",importName:"__spreadArray",scoped:!1,text:`
             var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
                 if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
                     if (ar || !(i in from)) {
@@ -254,17 +175,14 @@
                     }
                 }
                 return to.concat(ar || Array.prototype.slice.call(from));
-            };`}, X4 = {
-                            name: "typescript:propKey", importName: "__propKey", scoped: !1, text: `
+            };`},X4={name:"typescript:propKey",importName:"__propKey",scoped:!1,text:`
         var __propKey = (this && this.__propKey) || function (x) {
             return typeof x === "symbol" ? x : "".concat(x);
-        };`}, Y4 = {
-                            name: "typescript:setFunctionName", importName: "__setFunctionName", scoped: !1, text: `
+        };`},Y4={name:"typescript:setFunctionName",importName:"__setFunctionName",scoped:!1,text:`
         var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
             if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
             return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-        };`}, $4 = {
-                            name: "typescript:values", importName: "__values", scoped: !1, text: `
+        };`},$4={name:"typescript:values",importName:"__values",scoped:!1,text:`
             var __values = (this && this.__values) || function(o) {
                 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
                 if (m) return m.call(o);
@@ -275,8 +193,7 @@
                     }
                 };
                 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
-            };`}, Q4 = {
-                            name: "typescript:generator", importName: "__generator", scoped: !1, priority: 6, text: `
+            };`},Q4={name:"typescript:generator",importName:"__generator",scoped:!1,priority:6,text:`
             var __generator = (this && this.__generator) || function (thisArg, body) {
                 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
                 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
@@ -303,8 +220,7 @@
                     } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
                     if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
                 }
-            };`}, d2 = {
-                            name: "typescript:commonjscreatebinding", importName: "__createBinding", scoped: !1, priority: 1, text: `
+            };`},d2={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:`
             var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
                 if (k2 === undefined) k2 = k;
                 var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -315,233 +231,85 @@
             }) : (function(o, m, k, k2) {
                 if (k2 === undefined) k2 = k;
                 o[k2] = m[k];
-            }));`}, Z4 = {
-                            name: "typescript:commonjscreatevalue", importName: "__setModuleDefault", scoped: !1, priority: 1, text: `
+            }));`},Z4={name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:`
             var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
                 Object.defineProperty(o, "default", { enumerable: true, value: v });
             }) : function(o, v) {
                 o["default"] = v;
-            });`}, aO = {
-                            name: "typescript:commonjsimportstar", importName: "__importStar", scoped: !1, dependencies: [d2, Z4], priority: 2, text: `
+            });`},aO={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[d2,Z4],priority:2,text:`
             var __importStar = (this && this.__importStar) || function (mod) {
                 if (mod && mod.__esModule) return mod;
                 var result = {};
                 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
                 __setModuleDefault(result, mod);
                 return result;
-            };`}, e3 = {
-                            name: "typescript:commonjsimportdefault", importName: "__importDefault", scoped: !1, text: `
+            };`},e3={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:`
             var __importDefault = (this && this.__importDefault) || function (mod) {
                 return (mod && mod.__esModule) ? mod : { "default": mod };
-            };`}, t3 = {
-                            name: "typescript:export-star", importName: "__exportStar", scoped: !1, dependencies: [d2], priority: 2, text: `
+            };`},t3={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[d2],priority:2,text:`
             var __exportStar = (this && this.__exportStar) || function(m, exports) {
                 for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
-            };`}, n3 = {
-                            name: "typescript:classPrivateFieldGet", importName: "__classPrivateFieldGet", scoped: !1, text: `
+            };`},n3={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:`
             var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
                 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
                 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
                 return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-            };`}, r3 = {
-                            name: "typescript:classPrivateFieldSet", importName: "__classPrivateFieldSet", scoped: !1, text: `
+            };`},r3={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:`
             var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
                 if (kind === "m") throw new TypeError("Private method is not writable");
                 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
                 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
                 return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-            };`}, i3 = {
-                            name: "typescript:classPrivateFieldIn", importName: "__classPrivateFieldIn", scoped: !1, text: `
+            };`},i3={name:"typescript:classPrivateFieldIn",importName:"__classPrivateFieldIn",scoped:!1,text:`
             var __classPrivateFieldIn = (this && this.__classPrivateFieldIn) || function(state, receiver) {
                 if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
                 return typeof state === "function" ? receiver === state : state.has(receiver);
-            };`}, oO = {
-                            name: "typescript:async-super", scoped: !0, text: Sz`
-            const ${"_superIndex"} = name => super[name];`
-                        }, sO = {
-                            name: "typescript:advanced-async-super", scoped: !0, text: Sz`
+            };`},oO={name:"typescript:async-super",scoped:!0,text:Sz`
+            const ${"_superIndex"} = name => super[name];`},sO={name:"typescript:advanced-async-super",scoped:!0,text:Sz`
             const ${"_superIndex"} = (function (geti, seti) {
                 const cache = Object.create(null);
                 return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });
-            })(name => super[name], (name, value) => super[name] = value);`}
-                }
-            }); function Vf(e) { return e.kind === 8 } function a3(e) { return e.kind === 9 } function yo(e) { return e.kind === 10 } function CS(e) { return e.kind === 11 } function Cz(e) { return e.kind === 13 } function IS(e) { return e.kind === 14 } function f2(e) { return e.kind === 15 } function Aue(e) { return e.kind === 16 } function Iz(e) { return e.kind === 17 } function o3(e) { return e.kind === 25 } function Cue(e) { return e.kind === 27 } function Lz(e) { return e.kind === 39 } function kz(e) { return e.kind === 40 } function cO(e) { return e.kind === 41 } function lO(e) { return e.kind === 53 } function ev(e) { return e.kind === 57 } function Iue(e) { return e.kind === 58 } function s3(e) { return e.kind === 28 } function Lue(e) { return e.kind === 38 } function Re(e) { return e.kind === 79 } function pi(e) { return e.kind === 80 } function c3(e) { return e.kind === 93 } function kue(e) { return e.kind === 88 } function mL(e) { return e.kind === 132 } function Due(e) { return e.kind === 129 } function Dz(e) { return e.kind === 133 } function wue(e) { return e.kind === 146 } function LS(e) { return e.kind === 124 } function Rue(e) { return e.kind === 126 } function Oue(e) { return e.kind === 161 } function Nue(e) { return e.kind === 127 } function hL(e) { return e.kind === 106 } function gL(e) { return e.kind === 100 } function Pue(e) { return e.kind === 82 } function Yu(e) { return e.kind === 163 } function ts(e) { return e.kind === 164 } function _c(e) { return e.kind === 165 } function ha(e) { return e.kind === 166 } function du(e) { return e.kind === 167 } function $d(e) { return e.kind === 168 } function Na(e) { return e.kind === 169 } function zm(e) { return e.kind === 170 } function Nc(e) { return e.kind === 171 } function oc(e) { return e.kind === 172 } function Ec(e) { return e.kind === 173 } function p_(e) { return e.kind === 174 } function Sf(e) { return e.kind === 175 } function _2(e) { return e.kind === 176 } function uO(e) { return e.kind === 177 } function kS(e) { return e.kind === 178 } function l3(e) { return e.kind === 179 } function m_(e) { return e.kind === 180 } function Jm(e) { return e.kind === 181 } function yL(e) { return e.kind === 182 } function vL(e) { return e.kind === 183 } function Rd(e) { return e.kind === 184 } function wz(e) { return e.kind === 185 } function p2(e) { return e.kind === 186 } function bL(e) { return e.kind === 199 } function Rz(e) { return e.kind === 187 } function Oz(e) { return e.kind === 188 } function DS(e) { return e.kind === 189 } function dO(e) { return e.kind === 190 } function m2(e) { return e.kind === 191 } function h2(e) { return e.kind === 192 } function wS(e) { return e.kind === 193 } function u3(e) { return e.kind === 194 } function RS(e) { return e.kind === 195 } function OS(e) { return e.kind === 196 } function EL(e) { return e.kind === 197 } function mb(e) { return e.kind === 198 } function Mh(e) { return e.kind === 202 } function Mue(e) { return e.kind === 201 } function jRe(e) { return e.kind === 200 } function cm(e) { return e.kind === 203 } function g2(e) { return e.kind === 204 } function Wo(e) { return e.kind === 205 } function fu(e) { return e.kind === 206 } function rs(e) { return e.kind === 207 } function br(e) { return e.kind === 208 } function Vs(e) { return e.kind === 209 } function Pa(e) { return e.kind === 210 } function z0(e) { return e.kind === 211 } function PT(e) { return e.kind === 212 } function Fue(e) { return e.kind === 213 } function ud(e) { return e.kind === 214 } function ms(e) { return e.kind === 215 } function xs(e) { return e.kind === 216 } function Gue(e) { return e.kind === 217 } function y2(e) { return e.kind === 218 } function NS(e) { return e.kind === 219 } function v2(e) { return e.kind === 220 } function tv(e) { return e.kind === 221 } function Nz(e) { return e.kind === 222 } function ar(e) { return e.kind === 223 } function b2(e) { return e.kind === 224 } function d3(e) { return e.kind === 225 } function f3(e) { return e.kind === 226 } function Km(e) { return e.kind === 227 } function _u(e) { return e.kind === 228 } function ol(e) { return e.kind === 229 } function Vg(e) { return e.kind === 230 } function fO(e) { return e.kind === 231 } function HRe(e) { return e.kind === 235 } function PS(e) { return e.kind === 232 } function TL(e) { return e.kind === 233 } function WRe(e) { return e.kind === 234 } function _3(e) { return e.kind === 356 } function SL(e) { return e.kind === 357 } function xL(e) { return e.kind === 236 } function Bue(e) { return e.kind === 237 } function Va(e) { return e.kind === 238 } function Bc(e) { return e.kind === 240 } function Pz(e) { return e.kind === 239 } function Ol(e) { return e.kind === 241 } function MT(e) { return e.kind === 242 } function zRe(e) { return e.kind === 243 } function JRe(e) { return e.kind === 244 } function FT(e) { return e.kind === 245 } function Mz(e) { return e.kind === 246 } function _O(e) { return e.kind === 247 } function KRe(e) { return e.kind === 248 } function qRe(e) { return e.kind === 249 } function j_(e) { return e.kind === 250 } function Uue(e) { return e.kind === 251 } function pO(e) { return e.kind === 252 } function J0(e) { return e.kind === 253 } function Fz(e) { return e.kind === 254 } function mO(e) { return e.kind === 255 } function XRe(e) { return e.kind === 256 } function wi(e) { return e.kind === 257 } function pu(e) { return e.kind === 258 } function Jc(e) { return e.kind === 259 } function sl(e) { return e.kind === 260 } function ku(e) { return e.kind === 261 } function Ep(e) { return e.kind === 262 } function hb(e) { return e.kind === 263 } function Tc(e) { return e.kind === 264 } function Tp(e) { return e.kind === 265 } function hO(e) { return e.kind === 266 } function gO(e) { return e.kind === 267 } function Nl(e) { return e.kind === 268 } function gl(e) { return e.kind === 269 } function lm(e) { return e.kind === 270 } function Vue(e) { return e.kind === 298 } function p3(e) { return e.kind === 296 } function jue(e) { return e.kind === 297 } function nv(e) { return e.kind === 271 } function qm(e) { return e.kind === 277 } function jg(e) { return e.kind === 272 } function $u(e) { return e.kind === 273 } function pc(e) { return e.kind === 274 } function Il(e) { return e.kind === 275 } function h_(e) { return e.kind === 276 } function Mu(e) { return e.kind === 278 } function YRe(e) { return e.kind === 279 } function Gz(e) { return e.kind === 355 } function MS(e) { return e.kind === 360 } function $Re(e) { return e.kind === 358 } function QRe(e) { return e.kind === 359 } function um(e) { return e.kind === 280 } function Hg(e) { return e.kind === 281 } function FS(e) { return e.kind === 282 } function Xm(e) { return e.kind === 283 } function GS(e) { return e.kind === 284 } function BS(e) { return e.kind === 285 } function US(e) { return e.kind === 286 } function Hue(e) { return e.kind === 287 } function Sp(e) { return e.kind === 288 } function K0(e) { return e.kind === 289 } function GT(e) { return e.kind === 290 } function AL(e) { return e.kind === 291 } function CL(e) { return e.kind === 292 } function yO(e) { return e.kind === 293 } function dd(e) { return e.kind === 294 } function E2(e) { return e.kind === 295 } function yl(e) { return e.kind === 299 } function xf(e) { return e.kind === 300 } function VS(e) { return e.kind === 301 } function q0(e) { return e.kind === 302 } function Wue(e) { return e.kind === 304 } function Li(e) { return e.kind === 308 } function Bz(e) { return e.kind === 309 } function BT(e) { return e.kind === 310 } function UT(e) { return e.kind === 312 } function IL(e) { return e.kind === 313 } function gb(e) { return e.kind === 314 } function zue(e) { return e.kind === 327 } function Jue(e) { return e.kind === 328 } function ZRe(e) { return e.kind === 329 } function Kue(e) { return e.kind === 315 } function que(e) { return e.kind === 316 } function T2(e) { return e.kind === 317 } function m3(e) { return e.kind === 318 } function Uz(e) { return e.kind === 319 } function S2(e) { return e.kind === 320 } function h3(e) { return e.kind === 321 } function eOe(e) { return e.kind === 322 } function dm(e) { return e.kind === 323 } function LL(e) { return e.kind === 325 } function X0(e) { return e.kind === 326 } function x2(e) { return e.kind === 331 } function tOe(e) { return e.kind === 333 } function Xue(e) { return e.kind === 335 } function Vz(e) { return e.kind === 341 } function jz(e) { return e.kind === 336 } function Hz(e) { return e.kind === 337 } function Wz(e) { return e.kind === 338 } function zz(e) { return e.kind === 339 } function g3(e) { return e.kind === 340 } function kL(e) { return e.kind === 342 } function Jz(e) { return e.kind === 334 } function nOe(e) { return e.kind === 350 } function vO(e) { return e.kind === 343 } function xp(e) { return e.kind === 344 } function y3(e) { return e.kind === 345 } function Yue(e) { return e.kind === 346 } function DL(e) { return e.kind === 347 } function H_(e) { return e.kind === 348 } function Kz(e) { return e.kind === 349 } function rOe(e) { return e.kind === 330 } function $ue(e) { return e.kind === 351 } function qz(e) { return e.kind === 332 } function v3(e) { return e.kind === 353 } function iOe(e) { return e.kind === 352 } function A2(e) { return e.kind === 354 } var aOe = gt({ "src/compiler/factory/nodeTests.ts"() { "use strict"; fa() } }); function bO(e) { return e.createExportDeclaration(void 0, !1, e.createNamedExports([]), void 0) } function VT(e, t, r, i) { if (ts(r)) return it(e.createElementAccessExpression(t, r.expression), i); { let o = it(Ah(r) ? e.createPropertyAccessExpression(t, r) : e.createElementAccessExpression(t, r), r); return bp(o, 128), o } } function Xz(e, t) { let r = fm.createIdentifier(e || "React"); return go(r, ea(t)), r } function Yz(e, t, r) { if (Yu(t)) { let i = Yz(e, t.left, r), o = e.createIdentifier(vr(t.right)); return o.escapedText = t.right.escapedText, e.createPropertyAccessExpression(i, o) } else return Xz(vr(t), r) } function $z(e, t, r, i) { return t ? Yz(e, t, i) : e.createPropertyAccessExpression(Xz(r, i), "createElement") } function oOe(e, t, r, i) { return t ? Yz(e, t, i) : e.createPropertyAccessExpression(Xz(r, i), "Fragment") } function Que(e, t, r, i, o, s) { let l = [r]; if (i && l.push(i), o && o.length > 0) if (i || l.push(e.createNull()), o.length > 1) for (let f of o) mu(f), l.push(f); else l.push(o[0]); return it(e.createCallExpression(t, void 0, l), s) } function Zue(e, t, r, i, o, s, l) { let d = [oOe(e, r, i, s), e.createNull()]; if (o && o.length > 0) if (o.length > 1) for (let g of o) mu(g), d.push(g); else d.push(o[0]); return it(e.createCallExpression($z(e, t, i, s), void 0, d), l) } function Qz(e, t, r) { if (pu(t)) { let i = Vo(t.declarations), o = e.updateVariableDeclaration(i, i.name, void 0, void 0, r); return it(e.createVariableStatement(void 0, e.updateVariableDeclarationList(t, [o])), t) } else { let i = it(e.createAssignment(t, r), t); return it(e.createExpressionStatement(i), t) } } function sOe(e, t, r) { return Va(t) ? e.updateBlock(t, it(e.createNodeArray([r, ...t.statements]), t.statements)) : e.createBlock(e.createNodeArray([t, r]), !0) } function EO(e, t) { if (Yu(t)) { let r = EO(e, t.left), i = go(it(e.cloneNode(t.right), t.right), t.right.parent); return it(e.createPropertyAccessExpression(r, i), t) } else return go(it(e.cloneNode(t), t), t.parent) } function Zz(e, t) { return Re(t) ? e.createStringLiteralFromNode(t) : ts(t) ? go(it(e.cloneNode(t.expression), t.expression), t.expression.parent) : go(it(e.cloneNode(t), t), t.parent) } function cOe(e, t, r, i, o) { let { firstAccessor: s, getAccessor: l, setAccessor: f } = kT(t, r); if (r === s) return it(e.createObjectDefinePropertyCall(i, Zz(e, r.name), e.createPropertyDescriptor({ enumerable: e.createFalse(), configurable: !0, get: l && it(Ir(e.createFunctionExpression(uT(l), void 0, void 0, void 0, l.parameters, void 0, l.body), l), l), set: f && it(Ir(e.createFunctionExpression(uT(f), void 0, void 0, void 0, f.parameters, void 0, f.body), f), f) }, !o)), s) } function lOe(e, t, r) { return Ir(it(e.createAssignment(VT(e, r, t.name, t.name), t.initializer), t), t) } function uOe(e, t, r) { return Ir(it(e.createAssignment(VT(e, r, t.name, t.name), e.cloneNode(t.name)), t), t) } function dOe(e, t, r) { return Ir(it(e.createAssignment(VT(e, r, t.name, t.name), Ir(it(e.createFunctionExpression(uT(t), t.asteriskToken, void 0, void 0, t.parameters, void 0, t.body), t), t)), t), t) } function ede(e, t, r, i) { switch (r.name && pi(r.name) && L.failBadSyntaxKind(r.name, "Private identifiers are not allowed in object literals."), r.kind) { case 174: case 175: return cOe(e, t.properties, r, i, !!t.multiLine); case 299: return lOe(e, r, i); case 300: return uOe(e, r, i); case 171: return dOe(e, r, i) } } function b3(e, t, r, i, o) { let s = t.operator; L.assert(s === 45 || s === 46, "Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression"); let l = e.createTempVariable(i); r = e.createAssignment(l, r), it(r, t.operand); let f = tv(t) ? e.createPrefixUnaryExpression(s, l) : e.createPostfixUnaryExpression(l, s); return it(f, t), o && (f = e.createAssignment(o, f), it(f, t)), r = e.createComma(r, f), it(r, t), Nz(t) && (r = e.createComma(r, l), it(r, t)), r } function eJ(e) { return (Ya(e) & 65536) !== 0 } function rv(e) { return (Ya(e) & 32768) !== 0 } function E3(e) { return (Ya(e) & 16384) !== 0 } function tde(e) { return yo(e.expression) && e.expression.text === "use strict" } function tJ(e) { for (let t of e) if (B_(t)) { if (tde(t)) return t } else break } function nde(e) { let t = Sl(e); return t !== void 0 && B_(t) && tde(t) } function TO(e) { return e.kind === 223 && e.operatorToken.kind === 27 } function wL(e) { return TO(e) || SL(e) } function RL(e) { return ud(e) && Yn(e) && !!x0(e) } function T3(e) { let t = Vy(e); return L.assertIsDefined(t), t } function S3(e, t = 15) { switch (e.kind) { case 214: return t & 16 && RL(e) ? !1 : (t & 1) !== 0; case 213: case 231: case 230: case 235: return (t & 2) !== 0; case 232: return (t & 4) !== 0; case 356: return (t & 8) !== 0 }return !1 } function ql(e, t = 15) { for (; S3(e, t);)e = e.expression; return e } function rde(e, t = 15) { let r = e.parent; for (; S3(r, t);)r = r.parent, L.assert(r); return r } function fOe(e) { return ql(e, 6) } function mu(e) { return vz(e, !0) } function SO(e) { let t = ec(e, Li), r = t && t.emitNode; return r && r.externalHelpersModuleName } function ide(e) { let t = ec(e, Li), r = t && t.emitNode; return !!r && (!!r.externalHelpersModuleName || !!r.externalHelpers) } function nJ(e, t, r, i, o, s, l) { if (i.importHelpers && aS(r, i)) { let f, d = Rl(i); if (d >= 5 && d <= 99 || r.impliedNodeFormat === 99) { let g = O4(r); if (g) { let m = []; for (let v of g) if (!v.scoped) { let S = v.importName; S && Of(m, S) } if (vt(m)) { m.sort(su), f = e.createNamedImports(on(m, x => g6(r, x) ? e.createImportSpecifier(!1, void 0, e.createIdentifier(x)) : e.createImportSpecifier(!1, e.createIdentifier(x), t.getUnscopedHelperName(x)))); let v = ec(r, Li), S = Lu(v); S.externalHelpers = !0 } } } else { let g = ade(e, r, i, o, s || l); g && (f = e.createNamespaceImport(g)) } if (f) { let g = e.createImportDeclaration(void 0, e.createImportClause(!1, void 0, f), e.createStringLiteral(_b), void 0); return SS(g, 2), g } } } function ade(e, t, r, i, o) { if (r.importHelpers && aS(t, r)) { let s = SO(t); if (s) return s; let l = Rl(r), f = (i || f_(r) && o) && l !== 4 && (l < 5 || t.impliedNodeFormat === 1); if (!f) { let d = O4(t); if (d) { for (let g of d) if (!g.scoped) { f = !0; break } } } if (f) { let d = ec(t, Li), g = Lu(d); return g.externalHelpersModuleName || (g.externalHelpersModuleName = e.createUniqueName(_b)) } } } function C2(e, t, r) { let i = VA(t); if (i && !lS(t) && !v6(t)) { let o = i.name; return tc(o) ? o : e.createIdentifier(k0(r, o) || vr(o)) } if (t.kind === 269 && t.importClause || t.kind === 275 && t.moduleSpecifier) return e.getGeneratedNameForNode(t) } function jS(e, t, r, i, o, s) { let l = UA(t); if (l && yo(l)) return pOe(t, i, e, o, s) || _Oe(e, l, r) || e.cloneNode(l) } function _Oe(e, t, r) { let i = r.renamedDependencies && r.renamedDependencies.get(t.text); return i ? e.createStringLiteral(i) : void 0 } function xO(e, t, r, i) { if (t) { if (t.moduleName) return e.createStringLiteral(t.moduleName); if (!t.isDeclarationFile && Ss(i)) return e.createStringLiteral(YH(r, t.fileName)) } } function pOe(e, t, r, i, o) { return xO(r, i.getExternalModuleFileFromDeclaration(e), t, o) } function AO(e) { if (Lw(e)) return e.initializer; if (yl(e)) { let t = e.initializer; return Iu(t, !0) ? t.right : void 0 } if (xf(e)) return e.objectAssignmentInitializer; if (Iu(e, !0)) return e.right; if (Km(e)) return AO(e.expression) } function iv(e) { if (Lw(e)) return e.name; if (Og(e)) { switch (e.kind) { case 299: return iv(e.initializer); case 300: return e.name; case 301: return iv(e.expression) }return } return Iu(e, !0) ? iv(e.left) : Km(e) ? iv(e.expression) : e } function x3(e) { switch (e.kind) { case 166: case 205: return e.dotDotDotToken; case 227: case 301: return e } } function rJ(e) { let t = A3(e); return L.assert(!!t || VS(e), "Invalid property name for binding element."), t } function A3(e) { switch (e.kind) { case 205: if (e.propertyName) { let r = e.propertyName; return pi(r) ? L.failBadSyntaxKind(r) : ts(r) && ode(r.expression) ? r.expression : r } break; case 299: if (e.name) { let r = e.name; return pi(r) ? L.failBadSyntaxKind(r) : ts(r) && ode(r.expression) ? r.expression : r } break; case 301: return e.name && pi(e.name) ? L.failBadSyntaxKind(e.name) : e.name }let t = iv(e); if (t && Ys(t)) return t } function ode(e) { let t = e.kind; return t === 10 || t === 8 } function I2(e) { switch (e.kind) { case 203: case 204: case 206: return e.elements; case 207: return e.properties } } function iJ(e) { if (e) { let t = e; for (; ;) { if (Re(t) || !t.body) return Re(t) ? t : t.name; t = t.body } } } function mOe(e) { let t = e.kind; return t === 173 || t === 175 } function sde(e) { let t = e.kind; return t === 173 || t === 174 || t === 175 } function aJ(e) { let t = e.kind; return t === 299 || t === 300 || t === 259 || t === 173 || t === 178 || t === 172 || t === 279 || t === 240 || t === 261 || t === 262 || t === 263 || t === 264 || t === 268 || t === 269 || t === 267 || t === 275 || t === 274 } function cde(e) { let t = e.kind; return t === 172 || t === 299 || t === 300 || t === 279 || t === 267 } function lde(e) { return ev(e) || lO(e) } function ude(e) { return Re(e) || u3(e) } function dde(e) { return wue(e) || Lz(e) || kz(e) } function fde(e) { return ev(e) || Lz(e) || kz(e) } function _de(e) { return Re(e) || yo(e) } function hOe(e) { let t = e.kind; return t === 104 || t === 110 || t === 95 || fT(e) || tv(e) } function gOe(e) { return e === 42 } function yOe(e) { return e === 41 || e === 43 || e === 44 } function vOe(e) { return gOe(e) || yOe(e) } function bOe(e) { return e === 39 || e === 40 } function EOe(e) { return bOe(e) || vOe(e) } function TOe(e) { return e === 47 || e === 48 || e === 49 } function SOe(e) { return TOe(e) || EOe(e) } function xOe(e) { return e === 29 || e === 32 || e === 31 || e === 33 || e === 102 || e === 101 } function AOe(e) { return xOe(e) || SOe(e) } function COe(e) { return e === 34 || e === 36 || e === 35 || e === 37 } function IOe(e) { return COe(e) || AOe(e) } function LOe(e) { return e === 50 || e === 51 || e === 52 } function kOe(e) { return LOe(e) || IOe(e) } function DOe(e) { return e === 55 || e === 56 } function wOe(e) { return DOe(e) || kOe(e) } function ROe(e) { return e === 60 || wOe(e) || Mg(e) } function OOe(e) { return ROe(e) || e === 27 } function pde(e) { return OOe(e.kind) } function C3(e, t, r, i, o, s) { let l = new bde(e, t, r, i, o, s); return f; function f(d, g) { let m = { value: void 0 }, v = [k3.enter], S = [d], x = [void 0], A = 0; for (; v[A] !== k3.done;)A = v[A](l, A, v, S, x, m, g); return L.assertEqual(A, 0), m.value } } function mde(e) { return e === 93 || e === 88 } function oJ(e) { let t = e.kind; return mde(t) } function NOe(e) { let t = e.kind; return Rg(t) && !mde(t) } function hde(e, t) { if (t !== void 0) return t.length === 0 ? t : it(e.createNodeArray([], t.hasTrailingComma), t) } function I3(e) { var t; let r = e.emitNode.autoGenerate; if (r.flags & 4) { let i = r.id, o = e, s = o.original; for (; s;) { o = s; let l = (t = o.emitNode) == null ? void 0 : t.autoGenerate; if (Ah(o) && (l === void 0 || l.flags & 4 && l.id !== i)) break; s = o.original } return o } return e } function L2(e, t) { return typeof e == "object" ? jT(!1, e.prefix, e.node, e.suffix, t) : typeof e == "string" ? e.length > 0 && e.charCodeAt(0) === 35 ? e.slice(1) : e : "" } function POe(e, t) { return typeof e == "string" ? e : MOe(e, L.checkDefined(t)) } function MOe(e, t) { return tS(e) ? t(e).slice(1) : tc(e) ? t(e) : pi(e) ? e.escapedText.slice(1) : vr(e) } function jT(e, t, r, i, o) { return t = L2(t, o), i = L2(i, o), r = POe(r, o), `${e ? "#" : ""}${t}${r}${i}` } function sJ(e, t, r, i) { return e.updatePropertyDeclaration(t, r, e.getGeneratedPrivateNameForNode(t.name, void 0, "_accessor_storage"), void 0, void 0, i) } function gde(e, t, r, i) { return e.createGetAccessorDeclaration(r, i, [], void 0, e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(e.createThis(), e.getGeneratedPrivateNameForNode(t.name, void 0, "_accessor_storage")))])) } function yde(e, t, r, i) { return e.createSetAccessorDeclaration(r, i, [e.createParameterDeclaration(void 0, void 0, "value")], e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(e.createThis(), e.getGeneratedPrivateNameForNode(t.name, void 0, "_accessor_storage")), e.createIdentifier("value")))])) } function L3(e) { let t = e.expression; for (; ;) { if (t = ql(t), SL(t)) { t = To(t.elements); continue } if (TO(t)) { t = t.right; continue } if (Iu(t, !0) && tc(t.left)) return t; break } } function FOe(e) { return ud(e) && ws(e) && !e.emitNode } function CO(e, t) { if (FOe(e)) CO(e.expression, t); else if (TO(e)) CO(e.left, t), CO(e.right, t); else if (SL(e)) for (let r of e.elements) CO(r, t); else t.push(e) } function vde(e) { let t = []; return CO(e, t), t } function IO(e) { if (e.transformFlags & 65536) return !0; if (e.transformFlags & 128) for (let t of I2(e)) { let r = iv(t); if (r && vI(r) && (r.transformFlags & 65536 || r.transformFlags & 128 && IO(r))) return !0 } return !1 } var k3, bde, GOe = gt({ "src/compiler/factory/utilities.ts"() { "use strict"; fa(), (e => { function t(m, v, S, x, A, w, C) { let P = v > 0 ? A[v - 1] : void 0; return L.assertEqual(S[v], t), A[v] = m.onEnter(x[v], P, C), S[v] = f(m, t), v } e.enter = t; function r(m, v, S, x, A, w, C) { L.assertEqual(S[v], r), L.assertIsDefined(m.onLeft), S[v] = f(m, r); let P = m.onLeft(x[v].left, A[v], x[v]); return P ? (g(v, x, P), d(v, S, x, A, P)) : v } e.left = r; function i(m, v, S, x, A, w, C) { return L.assertEqual(S[v], i), L.assertIsDefined(m.onOperator), S[v] = f(m, i), m.onOperator(x[v].operatorToken, A[v], x[v]), v } e.operator = i; function o(m, v, S, x, A, w, C) { L.assertEqual(S[v], o), L.assertIsDefined(m.onRight), S[v] = f(m, o); let P = m.onRight(x[v].right, A[v], x[v]); return P ? (g(v, x, P), d(v, S, x, A, P)) : v } e.right = o; function s(m, v, S, x, A, w, C) { L.assertEqual(S[v], s), S[v] = f(m, s); let P = m.onExit(x[v], A[v]); if (v > 0) { if (v--, m.foldState) { let F = S[v] === s ? "right" : "left"; A[v] = m.foldState(A[v], P, F) } } else w.value = P; return v } e.exit = s; function l(m, v, S, x, A, w, C) { return L.assertEqual(S[v], l), v } e.done = l; function f(m, v) { switch (v) { case t: if (m.onLeft) return r; case r: if (m.onOperator) return i; case i: if (m.onRight) return o; case o: return s; case s: return l; case l: return l; default: L.fail("Invalid state") } } e.nextState = f; function d(m, v, S, x, A) { return m++, v[m] = t, S[m] = A, x[m] = void 0, m } function g(m, v, S) { if (L.shouldAssert(2)) for (; m >= 0;)L.assert(v[m] !== S, "Circular traversal detected."), m-- } })(k3 || (k3 = {})), bde = class { constructor(e, t, r, i, o, s) { this.onEnter = e, this.onLeft = t, this.onOperator = r, this.onRight = i, this.onExit = o, this.foldState = s } } } }); function it(e, t) { return t ? om(e, t.pos, t.end) : e } function g_(e) { let t = e.kind; return t === 165 || t === 166 || t === 168 || t === 169 || t === 170 || t === 171 || t === 173 || t === 174 || t === 175 || t === 178 || t === 182 || t === 215 || t === 216 || t === 228 || t === 240 || t === 259 || t === 260 || t === 261 || t === 262 || t === 263 || t === 264 || t === 268 || t === 269 || t === 274 || t === 275 } function HS(e) { let t = e.kind; return t === 166 || t === 169 || t === 171 || t === 174 || t === 175 || t === 228 || t === 260 } var BOe = gt({ "src/compiler/factory/utilitiesPublic.ts"() { "use strict"; fa() } }); function Mt(e, t) { return t && e(t) } function fi(e, t, r) { if (r) { if (t) return t(r); for (let i of r) { let o = e(i); if (o) return o } } } function cJ(e, t) { return e.charCodeAt(t + 1) === 42 && e.charCodeAt(t + 2) === 42 && e.charCodeAt(t + 3) !== 47 } function LO(e) { return mn(e.statements, UOe) || VOe(e) } function UOe(e) { return g_(e) && jOe(e, 93) || Nl(e) && um(e.moduleReference) || gl(e) || pc(e) || Il(e) ? e : void 0 } function VOe(e) { return e.flags & 4194304 ? Ede(e) : void 0 } function Ede(e) { return HOe(e) ? e : pa(e, Ede) } function jOe(e, t) { return vt(e.modifiers, r => r.kind === t) } function HOe(e) { return TL(e) && e.keywordToken === 100 && e.name.escapedText === "meta" } function Tde(e, t, r) { return fi(t, r, e.typeParameters) || fi(t, r, e.parameters) || Mt(t, e.type) } function Sde(e, t, r) { return fi(t, r, e.types) } function xde(e, t, r) { return Mt(t, e.type) } function Ade(e, t, r) { return fi(t, r, e.elements) } function Cde(e, t, r) { return Mt(t, e.expression) || Mt(t, e.questionDotToken) || fi(t, r, e.typeArguments) || fi(t, r, e.arguments) } function Ide(e, t, r) { return fi(t, r, e.statements) } function Lde(e, t, r) { return Mt(t, e.label) } function kde(e, t, r) { return fi(t, r, e.modifiers) || Mt(t, e.name) || fi(t, r, e.typeParameters) || fi(t, r, e.heritageClauses) || fi(t, r, e.members) } function Dde(e, t, r) { return fi(t, r, e.elements) } function wde(e, t, r) { return Mt(t, e.propertyName) || Mt(t, e.name) } function Rde(e, t, r) { return Mt(t, e.tagName) || fi(t, r, e.typeArguments) || Mt(t, e.attributes) } function k2(e, t, r) { return Mt(t, e.type) } function Ode(e, t, r) { return Mt(t, e.tagName) || (e.isNameFirst ? Mt(t, e.name) || Mt(t, e.typeExpression) : Mt(t, e.typeExpression) || Mt(t, e.name)) || (typeof e.comment == "string" ? void 0 : fi(t, r, e.comment)) } function D2(e, t, r) { return Mt(t, e.tagName) || Mt(t, e.typeExpression) || (typeof e.comment == "string" ? void 0 : fi(t, r, e.comment)) } function lJ(e, t, r) { return Mt(t, e.name) } function WS(e, t, r) { return Mt(t, e.tagName) || (typeof e.comment == "string" ? void 0 : fi(t, r, e.comment)) } function WOe(e, t, r) { return Mt(t, e.expression) } function pa(e, t, r) { if (e === void 0 || e.kind <= 162) return; let i = Hde[e.kind]; return i === void 0 ? void 0 : i(e, t, r) } function kO(e, t, r) { let i = Nde(e), o = []; for (; o.length < i.length;)o.push(e); for (; i.length !== 0;) { let s = i.pop(), l = o.pop(); if (ba(s)) { if (r) { let f = r(s, l); if (f) { if (f === "skip") continue; return f } } for (let f = s.length - 1; f >= 0; --f)i.push(s[f]), o.push(l) } else { let f = t(s, l); if (f) { if (f === "skip") continue; return f } if (s.kind >= 163) for (let d of Nde(s)) i.push(d), o.push(s) } } } function Nde(e) { let t = []; return pa(e, r, r), t; function r(i) { t.unshift(i) } } function Pde(e) { e.externalModuleIndicator = LO(e) } function DO(e, t, r, i = !1, o) { var s, l; (s = ai) == null || s.push(ai.Phase.Parse, "createSourceFile", { path: e }, !0), Fs("beforeParse"); let f; fp.logStartParseSourceFile(e); let { languageVersion: d, setExternalModuleIndicator: g, impliedNodeFormat: m } = typeof r == "object" ? r : { languageVersion: r }; if (d === 100) f = av.parseSourceFile(e, t, d, void 0, i, 6, Ba); else { let v = m === void 0 ? g : S => (S.impliedNodeFormat = m, (g || Pde)(S)); f = av.parseSourceFile(e, t, d, void 0, i, o, v) } return fp.logStopParseSourceFile(), Fs("afterParse"), hf("Parse", "beforeParse", "afterParse"), (l = ai) == null || l.pop(), f } function zS(e, t) { return av.parseIsolatedEntityName(e, t) } function wO(e, t) { return av.parseJsonText(e, t) } function Lc(e) { return e.externalModuleIndicator !== void 0 } function uJ(e, t, r, i = !1) { let o = D3.updateSourceFile(e, t, r, i); return o.flags |= e.flags & 6291456, o } function Mde(e, t, r) { let i = av.JSDocParser.parseIsolatedJSDocComment(e, t, r); return i && i.jsDoc && av.fixupParentReferences(i.jsDoc), i } function zOe(e, t, r) { return av.JSDocParser.parseJSDocTypeExpressionForTests(e, t, r) } function Fu(e) { return $c(e, I4) || Gc(e, ".ts") && jl(Hl(e), ".d.") } function JOe(e, t, r, i) { if (e) { if (e === "import") return 99; if (e === "require") return 1; i(t, r - t, _.resolution_mode_should_be_either_require_or_import) } } function dJ(e, t) { let r = []; for (let i of Nm(t, 0) || Je) { let o = t.substring(i.pos, i.end); qOe(r, i, o) } e.pragmas = new Map; for (let i of r) { if (e.pragmas.has(i.name)) { let o = e.pragmas.get(i.name); o instanceof Array ? o.push(i.args) : e.pragmas.set(i.name, [o, i.args]); continue } e.pragmas.set(i.name, i.args) } } function fJ(e, t) { e.checkJsDirective = void 0, e.referencedFiles = [], e.typeReferenceDirectives = [], e.libReferenceDirectives = [], e.amdDependencies = [], e.hasNoDefaultLib = !1, e.pragmas.forEach((r, i) => { switch (i) { case "reference": { let o = e.referencedFiles, s = e.typeReferenceDirectives, l = e.libReferenceDirectives; mn(qD(r), f => { let { types: d, lib: g, path: m, ["resolution-mode"]: v } = f.arguments; if (f.arguments["no-default-lib"]) e.hasNoDefaultLib = !0; else if (d) { let S = JOe(v, d.pos, d.end, t); s.push({ pos: d.pos, end: d.end, fileName: d.value, ...S ? { resolutionMode: S } : {} }) } else g ? l.push({ pos: g.pos, end: g.end, fileName: g.value }) : m ? o.push({ pos: m.pos, end: m.end, fileName: m.value }) : t(f.range.pos, f.range.end - f.range.pos, _.Invalid_reference_directive_syntax) }); break } case "amd-dependency": { e.amdDependencies = on(qD(r), o => ({ name: o.arguments.name, path: o.arguments.path })); break } case "amd-module": { if (r instanceof Array) for (let o of r) e.moduleName && t(o.range.pos, o.range.end - o.range.pos, _.An_AMD_module_cannot_have_multiple_name_assignments), e.moduleName = o.arguments.name; else e.moduleName = r.arguments.name; break } case "ts-nocheck": case "ts-check": { mn(qD(r), o => { (!e.checkJsDirective || o.range.pos > e.checkJsDirective.pos) && (e.checkJsDirective = { enabled: i === "ts-check", end: o.range.end, pos: o.range.pos }) }); break } case "jsx": case "jsxfrag": case "jsximportsource": case "jsxruntime": return; default: L.fail("Unhandled pragma kind") } }) } function KOe(e) { if (w3.has(e)) return w3.get(e); let t = new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`, "im"); return w3.set(e, t), t } function qOe(e, t, r) { let i = t.kind === 2 && Wde.exec(r); if (i) { let s = i[1].toLowerCase(), l = iw[s]; if (!l || !(l.kind & 1)) return; if (l.args) { let f = {}; for (let d of l.args) { let m = KOe(d.name).exec(r); if (!m && !d.optional) return; if (m) { let v = m[2] || m[3]; if (d.captureSpan) { let S = t.pos + m.index + m[1].length + 1; f[d.name] = { value: v, pos: S, end: S + v.length } } else f[d.name] = v } } e.push({ name: s, args: { arguments: f, range: t } }) } else e.push({ name: s, args: { arguments: {}, range: t } }); return } let o = t.kind === 2 && zde.exec(r); if (o) return Fde(e, t, 2, o); if (t.kind === 3) { let s = /@(\S+)(\s+.*)?$/gim, l; for (; l = s.exec(r);)Fde(e, t, 4, l) } } function Fde(e, t, r, i) { if (!i) return; let o = i[1].toLowerCase(), s = iw[o]; if (!s || !(s.kind & r)) return; let l = i[2], f = XOe(s, l); f !== "fail" && e.push({ name: o, args: { arguments: f, range: t } }) } function XOe(e, t) { if (!t) return {}; if (!e.args) return {}; let r = v0(t).split(/\s+/), i = {}; for (let o = 0; o < e.args.length; o++) { let s = e.args[o]; if (!r[o] && !s.optional) return "fail"; if (s.captureSpan) return L.fail("Capture spans not yet implemented for non-xml pragmas"); i[s.name] = r[o] } return i } function yb(e, t) { return e.kind !== t.kind ? !1 : e.kind === 79 ? e.escapedText === t.escapedText : e.kind === 108 ? !0 : e.name.escapedText === t.name.escapedText && yb(e.expression, t.expression) } var Gde, Bde, Ude, Vde, jde, _J, fm, Hde, av, D3, w3, Wde, zde, YOe = gt({
-                "src/compiler/parser.ts"() {
-                    "use strict"; fa(), fa(), E0(), _J = { createBaseSourceFileNode: e => new (jde || (jde = ml.getSourceFileConstructor()))(e, -1, -1), createBaseIdentifierNode: e => new (Ude || (Ude = ml.getIdentifierConstructor()))(e, -1, -1), createBasePrivateIdentifierNode: e => new (Vde || (Vde = ml.getPrivateIdentifierConstructor()))(e, -1, -1), createBaseTokenNode: e => new (Bde || (Bde = ml.getTokenConstructor()))(e, -1, -1), createBaseNode: e => new (Gde || (Gde = ml.getNodeConstructor()))(e, -1, -1) }, fm = YR(1, _J), Hde = { 163: function (t, r, i) { return Mt(r, t.left) || Mt(r, t.right) }, 165: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.constraint) || Mt(r, t.default) || Mt(r, t.expression) }, 300: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.exclamationToken) || Mt(r, t.equalsToken) || Mt(r, t.objectAssignmentInitializer) }, 301: function (t, r, i) { return Mt(r, t.expression) }, 166: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.dotDotDotToken) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.type) || Mt(r, t.initializer) }, 169: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.exclamationToken) || Mt(r, t.type) || Mt(r, t.initializer) }, 168: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.type) || Mt(r, t.initializer) }, 299: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.exclamationToken) || Mt(r, t.initializer) }, 257: function (t, r, i) { return Mt(r, t.name) || Mt(r, t.exclamationToken) || Mt(r, t.type) || Mt(r, t.initializer) }, 205: function (t, r, i) { return Mt(r, t.dotDotDotToken) || Mt(r, t.propertyName) || Mt(r, t.name) || Mt(r, t.initializer) }, 178: function (t, r, i) { return fi(r, i, t.modifiers) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) }, 182: function (t, r, i) { return fi(r, i, t.modifiers) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) }, 181: function (t, r, i) { return fi(r, i, t.modifiers) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) }, 176: Tde, 177: Tde, 171: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.asteriskToken) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.exclamationToken) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.body) }, 170: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.questionToken) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) }, 173: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.body) }, 174: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.body) }, 175: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.body) }, 259: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.asteriskToken) || Mt(r, t.name) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.body) }, 215: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.asteriskToken) || Mt(r, t.name) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.body) }, 216: function (t, r, i) { return fi(r, i, t.modifiers) || fi(r, i, t.typeParameters) || fi(r, i, t.parameters) || Mt(r, t.type) || Mt(r, t.equalsGreaterThanToken) || Mt(r, t.body) }, 172: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.body) }, 180: function (t, r, i) { return Mt(r, t.typeName) || fi(r, i, t.typeArguments) }, 179: function (t, r, i) { return Mt(r, t.assertsModifier) || Mt(r, t.parameterName) || Mt(r, t.type) }, 183: function (t, r, i) { return Mt(r, t.exprName) || fi(r, i, t.typeArguments) }, 184: function (t, r, i) { return fi(r, i, t.members) }, 185: function (t, r, i) { return Mt(r, t.elementType) }, 186: function (t, r, i) { return fi(r, i, t.elements) }, 189: Sde, 190: Sde, 191: function (t, r, i) { return Mt(r, t.checkType) || Mt(r, t.extendsType) || Mt(r, t.trueType) || Mt(r, t.falseType) }, 192: function (t, r, i) { return Mt(r, t.typeParameter) }, 202: function (t, r, i) { return Mt(r, t.argument) || Mt(r, t.assertions) || Mt(r, t.qualifier) || fi(r, i, t.typeArguments) }, 298: function (t, r, i) { return Mt(r, t.assertClause) }, 193: xde, 195: xde, 196: function (t, r, i) { return Mt(r, t.objectType) || Mt(r, t.indexType) }, 197: function (t, r, i) { return Mt(r, t.readonlyToken) || Mt(r, t.typeParameter) || Mt(r, t.nameType) || Mt(r, t.questionToken) || Mt(r, t.type) || fi(r, i, t.members) }, 198: function (t, r, i) { return Mt(r, t.literal) }, 199: function (t, r, i) { return Mt(r, t.dotDotDotToken) || Mt(r, t.name) || Mt(r, t.questionToken) || Mt(r, t.type) }, 203: Ade, 204: Ade, 206: function (t, r, i) { return fi(r, i, t.elements) }, 207: function (t, r, i) { return fi(r, i, t.properties) }, 208: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.questionDotToken) || Mt(r, t.name) }, 209: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.questionDotToken) || Mt(r, t.argumentExpression) }, 210: Cde, 211: Cde, 212: function (t, r, i) { return Mt(r, t.tag) || Mt(r, t.questionDotToken) || fi(r, i, t.typeArguments) || Mt(r, t.template) }, 213: function (t, r, i) { return Mt(r, t.type) || Mt(r, t.expression) }, 214: function (t, r, i) { return Mt(r, t.expression) }, 217: function (t, r, i) { return Mt(r, t.expression) }, 218: function (t, r, i) { return Mt(r, t.expression) }, 219: function (t, r, i) { return Mt(r, t.expression) }, 221: function (t, r, i) { return Mt(r, t.operand) }, 226: function (t, r, i) { return Mt(r, t.asteriskToken) || Mt(r, t.expression) }, 220: function (t, r, i) { return Mt(r, t.expression) }, 222: function (t, r, i) { return Mt(r, t.operand) }, 223: function (t, r, i) { return Mt(r, t.left) || Mt(r, t.operatorToken) || Mt(r, t.right) }, 231: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.type) }, 232: function (t, r, i) { return Mt(r, t.expression) }, 235: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.type) }, 233: function (t, r, i) { return Mt(r, t.name) }, 224: function (t, r, i) { return Mt(r, t.condition) || Mt(r, t.questionToken) || Mt(r, t.whenTrue) || Mt(r, t.colonToken) || Mt(r, t.whenFalse) }, 227: function (t, r, i) { return Mt(r, t.expression) }, 238: Ide, 265: Ide, 308: function (t, r, i) { return fi(r, i, t.statements) || Mt(r, t.endOfFileToken) }, 240: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.declarationList) }, 258: function (t, r, i) { return fi(r, i, t.declarations) }, 241: function (t, r, i) { return Mt(r, t.expression) }, 242: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.thenStatement) || Mt(r, t.elseStatement) }, 243: function (t, r, i) { return Mt(r, t.statement) || Mt(r, t.expression) }, 244: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.statement) }, 245: function (t, r, i) { return Mt(r, t.initializer) || Mt(r, t.condition) || Mt(r, t.incrementor) || Mt(r, t.statement) }, 246: function (t, r, i) { return Mt(r, t.initializer) || Mt(r, t.expression) || Mt(r, t.statement) }, 247: function (t, r, i) { return Mt(r, t.awaitModifier) || Mt(r, t.initializer) || Mt(r, t.expression) || Mt(r, t.statement) }, 248: Lde, 249: Lde, 250: function (t, r, i) { return Mt(r, t.expression) }, 251: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.statement) }, 252: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.caseBlock) }, 266: function (t, r, i) { return fi(r, i, t.clauses) }, 292: function (t, r, i) { return Mt(r, t.expression) || fi(r, i, t.statements) }, 293: function (t, r, i) { return fi(r, i, t.statements) }, 253: function (t, r, i) { return Mt(r, t.label) || Mt(r, t.statement) }, 254: function (t, r, i) { return Mt(r, t.expression) }, 255: function (t, r, i) { return Mt(r, t.tryBlock) || Mt(r, t.catchClause) || Mt(r, t.finallyBlock) }, 295: function (t, r, i) { return Mt(r, t.variableDeclaration) || Mt(r, t.block) }, 167: function (t, r, i) { return Mt(r, t.expression) }, 260: kde, 228: kde, 261: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || fi(r, i, t.typeParameters) || fi(r, i, t.heritageClauses) || fi(r, i, t.members) }, 262: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || fi(r, i, t.typeParameters) || Mt(r, t.type) }, 263: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || fi(r, i, t.members) }, 302: function (t, r, i) { return Mt(r, t.name) || Mt(r, t.initializer) }, 264: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.body) }, 268: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) || Mt(r, t.moduleReference) }, 269: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.importClause) || Mt(r, t.moduleSpecifier) || Mt(r, t.assertClause) }, 270: function (t, r, i) { return Mt(r, t.name) || Mt(r, t.namedBindings) }, 296: function (t, r, i) { return fi(r, i, t.elements) }, 297: function (t, r, i) { return Mt(r, t.name) || Mt(r, t.value) }, 267: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.name) }, 271: function (t, r, i) { return Mt(r, t.name) }, 277: function (t, r, i) { return Mt(r, t.name) }, 272: Dde, 276: Dde, 275: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.exportClause) || Mt(r, t.moduleSpecifier) || Mt(r, t.assertClause) }, 273: wde, 278: wde, 274: function (t, r, i) { return fi(r, i, t.modifiers) || Mt(r, t.expression) }, 225: function (t, r, i) { return Mt(r, t.head) || fi(r, i, t.templateSpans) }, 236: function (t, r, i) { return Mt(r, t.expression) || Mt(r, t.literal) }, 200: function (t, r, i) { return Mt(r, t.head) || fi(r, i, t.templateSpans) }, 201: function (t, r, i) { return Mt(r, t.type) || Mt(r, t.literal) }, 164: function (t, r, i) { return Mt(r, t.expression) }, 294: function (t, r, i) { return fi(r, i, t.types) }, 230: function (t, r, i) { return Mt(r, t.expression) || fi(r, i, t.typeArguments) }, 280: function (t, r, i) { return Mt(r, t.expression) }, 279: function (t, r, i) { return fi(r, i, t.modifiers) }, 357: function (t, r, i) { return fi(r, i, t.elements) }, 281: function (t, r, i) { return Mt(r, t.openingElement) || fi(r, i, t.children) || Mt(r, t.closingElement) }, 285: function (t, r, i) { return Mt(r, t.openingFragment) || fi(r, i, t.children) || Mt(r, t.closingFragment) }, 282: Rde, 283: Rde, 289: function (t, r, i) { return fi(r, i, t.properties) }, 288: function (t, r, i) { return Mt(r, t.name) || Mt(r, t.initializer) }, 290: function (t, r, i) { return Mt(r, t.expression) }, 291: function (t, r, i) { return Mt(r, t.dotDotDotToken) || Mt(r, t.expression) }, 284: function (t, r, i) { return Mt(r, t.tagName) }, 187: k2, 188: k2, 312: k2, 318: k2, 317: k2, 319: k2, 321: k2, 320: function (t, r, i) { return fi(r, i, t.parameters) || Mt(r, t.type) }, 323: function (t, r, i) { return (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) || fi(r, i, t.tags) }, 350: function (t, r, i) { return Mt(r, t.tagName) || Mt(r, t.name) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) }, 313: function (t, r, i) { return Mt(r, t.name) }, 314: function (t, r, i) { return Mt(r, t.left) || Mt(r, t.right) }, 344: Ode, 351: Ode, 333: function (t, r, i) { return Mt(r, t.tagName) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) }, 332: function (t, r, i) { return Mt(r, t.tagName) || Mt(r, t.class) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) }, 331: function (t, r, i) { return Mt(r, t.tagName) || Mt(r, t.class) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) }, 348: function (t, r, i) { return Mt(r, t.tagName) || Mt(r, t.constraint) || fi(r, i, t.typeParameters) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) }, 349: function (t, r, i) { return Mt(r, t.tagName) || (t.typeExpression && t.typeExpression.kind === 312 ? Mt(r, t.typeExpression) || Mt(r, t.fullName) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) : Mt(r, t.fullName) || Mt(r, t.typeExpression) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment))) }, 341: function (t, r, i) { return Mt(r, t.tagName) || Mt(r, t.fullName) || Mt(r, t.typeExpression) || (typeof t.comment == "string" ? void 0 : fi(r, i, t.comment)) }, 345: D2, 347: D2, 346: D2, 343: D2, 353: D2, 352: D2, 342: D2, 326: function (t, r, i) { return mn(t.typeParameters, r) || mn(t.parameters, r) || Mt(r, t.type) }, 327: lJ, 328: lJ, 329: lJ, 325: function (t, r, i) { return mn(t.jsDocPropertyTags, r) }, 330: WS, 335: WS, 336: WS, 337: WS, 338: WS, 339: WS, 334: WS, 340: WS, 356: WOe }, (e => {
-                        var t = kg(99, !0), r = 20480, i, o, s, l, f; function d(V) { return We++, V } var g = { createBaseSourceFileNode: V => d(new f(V, 0, 0)), createBaseIdentifierNode: V => d(new s(V, 0, 0)), createBasePrivateIdentifierNode: V => d(new l(V, 0, 0)), createBaseTokenNode: V => d(new o(V, 0, 0)), createBaseNode: V => d(new i(V, 0, 0)) }, m = YR(11, g), { createNodeArray: v, createNumericLiteral: S, createStringLiteral: x, createLiteralLikeNode: A, createIdentifier: w, createPrivateIdentifier: C, createToken: P, createArrayLiteralExpression: F, createObjectLiteralExpression: B, createPropertyAccessExpression: q, createPropertyAccessChain: W, createElementAccessExpression: Y, createElementAccessChain: R, createCallExpression: ie, createCallChain: $, createNewExpression: fe, createParenthesizedExpression: Z, createBlock: U, createVariableStatement: re, createExpressionStatement: le, createIfStatement: _e, createWhileStatement: ge, createForStatement: X, createForOfStatement: Ve, createVariableDeclaration: we, createVariableDeclarationList: ke } = m, Pe, Ce, Ie, Be, Ne, Le, Ye, _t, ct, Rt, We, qe, zt, Qt, tn, kn, _n = !0, Gt = !1; function $n(V, me, Ue, ut, Lt = !1, dn, Er) { var ii; if (dn = h4(V, dn), dn === 6) { let di = Ni(V, me, Ue, ut, Lt); return PO(di, (ii = di.statements[0]) == null ? void 0 : ii.expression, di.parseDiagnostics, !1, void 0, void 0), di.referencedFiles = Je, di.typeReferenceDirectives = Je, di.libReferenceDirectives = Je, di.amdDependencies = Je, di.hasNoDefaultLib = !1, di.pragmas = b8, di } Pi(V, me, Ue, ut, dn); let li = pt(Ue, Lt, dn, Er || Pde); return gr(), li } e.parseSourceFile = $n; function ui(V, me) { Pi("", V, me, void 0, 1), Qe(); let Ue = Io(!0), ut = j() === 1 && !Ye.length; return gr(), ut ? Ue : void 0 } e.parseIsolatedEntityName = ui; function Ni(V, me, Ue = 2, ut, Lt = !1) { Pi(V, me, Ue, ut, 6), Ce = kn, Qe(); let dn = z(), Er, ii; if (j() === 1) Er = As([], dn, dn), ii = Pc(); else { let ma; for (; j() !== 1;) { let Oo; switch (j()) { case 22: Oo = ay(); break; case 110: case 95: case 104: Oo = Pc(); break; case 40: Nr(() => Qe() === 8 && Qe() !== 58) ? Oo = T1() : Oo = wc(); break; case 8: case 10: if (Nr(() => Qe() !== 58)) { Oo = oa(); break } default: Oo = wc(); break }ma && ba(ma) ? ma.push(Oo) : ma ? ma = [ma, Oo] : (ma = Oo, j() !== 1 && rt(_.Unexpected_token)) } let is = ba(ma) ? jt(F(ma), dn) : L.checkDefined(ma), ao = le(is); jt(ao, dn), Er = As([ao], dn), ii = Ll(1, _.Unexpected_token) } let li = hi(V, 2, 6, !1, Er, ii, Ce, Ba); Lt && Kn(li), li.nodeCount = We, li.identifierCount = zt, li.identifiers = qe, li.parseDiagnostics = vS(Ye, li), _t && (li.jsDocDiagnostics = vS(_t, li)); let di = li; return gr(), di } e.parseJsonText = Ni; function Pi(V, me, Ue, ut, Lt) { switch (i = ml.getNodeConstructor(), o = ml.getTokenConstructor(), s = ml.getIdentifierConstructor(), l = ml.getPrivateIdentifierConstructor(), f = ml.getSourceFileConstructor(), Pe = So(V), Ie = me, Be = Ue, ct = ut, Ne = Lt, Le = RR(Lt), Ye = [], Qt = 0, qe = new Map, zt = 0, We = 0, Ce = 0, _n = !0, Ne) { case 1: case 2: kn = 262144; break; case 6: kn = 67371008; break; default: kn = 0; break }Gt = !1, t.setText(Ie), t.setOnError(pe), t.setScriptTarget(Be), t.setLanguageVariant(Le) } function gr() { t.clearCommentDirectives(), t.setText(""), t.setOnError(void 0), Ie = void 0, Be = void 0, ct = void 0, Ne = void 0, Le = void 0, Ce = 0, Ye = void 0, _t = void 0, Qt = 0, qe = void 0, tn = void 0, _n = !0 } function pt(V, me, Ue, ut) { let Lt = Fu(Pe); Lt && (kn |= 16777216), Ce = kn, Qe(); let dn = ee(0, of); L.assert(j() === 1); let Er = pn(Pc()), ii = hi(Pe, V, Ue, Lt, dn, Er, Ce, ut); return dJ(ii, Ie), fJ(ii, li), ii.commentDirectives = t.getCommentDirectives(), ii.nodeCount = We, ii.identifierCount = zt, ii.identifiers = qe, ii.parseDiagnostics = vS(Ye, ii), _t && (ii.jsDocDiagnostics = vS(_t, ii)), me && Kn(ii), ii; function li(di, ma, is) { Ye.push(t2(Pe, di, ma, is)) } } function nn(V, me) { return me ? pn(V) : V } let Dt = !1; function pn(V) { L.assert(!V.jsDoc); let me = Zi(EH(V, Ie), Ue => Mx.parseJSDocComment(V, Ue.pos, Ue.end - Ue.pos)); return me.length && (V.jsDoc = me), Dt && (Dt = !1, V.flags |= 268435456), V } function An(V) { let me = ct, Ue = D3.createSyntaxCursor(V); ct = { currentNode: ma }; let ut = [], Lt = Ye; Ye = []; let dn = 0, Er = li(V.statements, 0); for (; Er !== -1;) { let is = V.statements[dn], ao = V.statements[Er]; si(ut, V.statements, dn, Er), dn = di(V.statements, Er); let Oo = Yc(Lt, np => np.start >= is.pos), id = Oo >= 0 ? Yc(Lt, np => np.start >= ao.pos, Oo) : -1; Oo >= 0 && si(Ye, Lt, Oo, id >= 0 ? id : void 0), xi(() => { let np = kn; for (kn |= 32768, t.setTextPos(ao.pos), Qe(); j() !== 1;) { let Op = t.getStartPos(), cg = Ze(0, of); if (ut.push(cg), Op === t.getStartPos() && Qe(), dn >= 0) { let Yf = V.statements[dn]; if (cg.end === Yf.pos) break; cg.end > Yf.pos && (dn = di(V.statements, dn + 1)) } } kn = np }, 2), Er = dn >= 0 ? li(V.statements, dn) : -1 } if (dn >= 0) { let is = V.statements[dn]; si(ut, V.statements, dn); let ao = Yc(Lt, Oo => Oo.start >= is.pos); ao >= 0 && si(Ye, Lt, ao) } return ct = me, m.updateSourceFile(V, it(v(ut), V.statements)); function ii(is) { return !(is.flags & 32768) && !!(is.transformFlags & 67108864) } function li(is, ao) { for (let Oo = ao; Oo < is.length; Oo++)if (ii(is[Oo])) return Oo; return -1 } function di(is, ao) { for (let Oo = ao; Oo < is.length; Oo++)if (!ii(is[Oo])) return Oo; return -1 } function ma(is) { let ao = Ue.currentNode(is); return _n && ao && ii(ao) && (ao.intersectsChange = !0), ao } } function Kn(V) { Zy(V, !0) } e.fixupParentReferences = Kn; function hi(V, me, Ue, ut, Lt, dn, Er, ii) { let li = m.createSourceFile(Lt, dn, Er); return oL(li, 0, Ie.length), di(li), !ut && Lc(li) && li.transformFlags & 67108864 && (li = An(li), di(li)), li; function di(ma) { ma.text = Ie, ma.bindDiagnostics = [], ma.bindSuggestionDiagnostics = void 0, ma.languageVersion = me, ma.fileName = V, ma.languageVariant = RR(Ue), ma.isDeclarationFile = ut, ma.scriptKind = Ue, ii(ma), ma.setExternalModuleIndicator = ii } } function ri(V, me) { V ? kn |= me : kn &= ~me } function vn(V) { ri(V, 4096) } function Ht(V) { ri(V, 8192) } function En(V) { ri(V, 16384) } function dr(V) { ri(V, 32768) } function Cr(V, me) { let Ue = V & kn; if (Ue) { ri(!1, Ue); let ut = me(); return ri(!0, Ue), ut } return me() } function Se(V, me) { let Ue = V & ~kn; if (Ue) { ri(!0, Ue); let ut = me(); return ri(!1, Ue), ut } return me() } function at(V) { return Cr(4096, V) } function Tt(V) { return Se(4096, V) } function ve(V) { return Cr(65536, V) } function nt(V) { return Se(65536, V) } function ce(V) { return Se(8192, V) } function Q(V) { return Se(16384, V) } function ue(V) { return Se(32768, V) } function G(V) { return Cr(32768, V) } function Oe(V) { return Se(40960, V) } function je(V) { return Cr(40960, V) } function Ge(V) { return (kn & V) !== 0 } function kt() { return Ge(8192) } function Kt() { return Ge(4096) } function ln() { return Ge(65536) } function ir() { return Ge(16384) } function ae() { return Ge(32768) } function rt(V, me) { return Ke(t.getTokenPos(), t.getTextPos(), V, me) } function Ot(V, me, Ue, ut) { let Lt = Os(Ye), dn; return (!Lt || V !== Lt.start) && (dn = t2(Pe, V, me, Ue, ut), Ye.push(dn)), Gt = !0, dn } function Ke(V, me, Ue, ut) { return Ot(V, me - V, Ue, ut) } function oe(V, me, Ue) { Ke(V.pos, V.end, me, Ue) } function pe(V, me) { Ot(t.getTextPos(), me, V) } function z() { return t.getStartPos() } function Te() { return t.hasPrecedingJSDocComment() } function j() { return Rt } function yt() { return Rt = t.scan() } function lt(V) { return Qe(), V() } function Qe() { return Xu(Rt) && (t.hasUnicodeEscape() || t.hasExtendedUnicodeEscape()) && Ke(t.getTokenPos(), t.getTextPos(), _.Keywords_cannot_contain_escape_characters), yt() } function Vt() { return Rt = t.scanJsDocToken() } function Hn() { return Rt = t.reScanGreaterToken() } function jr() { return Rt = t.reScanSlashToken() } function ei(V) { return Rt = t.reScanTemplateToken(V) } function Kr() { return Rt = t.reScanTemplateHeadOrNoSubstitutionTemplate() } function Si() { return Rt = t.reScanLessThanToken() } function Ja() { return Rt = t.reScanHashToken() } function Za() { return Rt = t.scanJsxIdentifier() } function Fa() { return Rt = t.scanJsxToken() } function Hi() { return Rt = t.scanJsxAttributeValue() } function xi(V, me) { let Ue = Rt, ut = Ye.length, Lt = Gt, dn = kn, Er = me !== 0 ? t.lookAhead(V) : t.tryScan(V); return L.assert(dn === kn), (!Er || me !== 0) && (Rt = Ue, me !== 2 && (Ye.length = ut), Gt = Lt), Er } function Nr(V) { return xi(V, 1) } function Fo(V) { return xi(V, 0) } function Qr() { return j() === 79 ? !0 : j() > 116 } function Wi() { return j() === 79 ? !0 : j() === 125 && kt() || j() === 133 && ae() ? !1 : j() > 116 } function gn(V, me, Ue = !0) { return j() === V ? (Ue && Qe(), !0) : (me ? rt(me) : rt(_._0_expected, Xa(V)), !1) } let Ki = Object.keys(Ew).filter(V => V.length > 2); function kc(V) { var me; if (PT(V)) { Ke(xo(Ie, V.template.pos), V.template.end, _.Module_declaration_names_may_only_use_or_quoted_strings); return } let Ue = Re(V) ? vr(V) : void 0; if (!Ue || !i_(Ue, Be)) { rt(_._0_expected, Xa(26)); return } let ut = xo(Ie, V.pos); switch (Ue) { case "const": case "let": case "var": Ke(ut, V.end, _.Variable_declaration_not_allowed_at_this_location); return; case "declare": return; case "interface": Ps(_.Interface_name_cannot_be_0, _.Interface_must_be_given_a_name, 18); return; case "is": Ke(ut, t.getTextPos(), _.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods); return; case "module": case "namespace": Ps(_.Namespace_name_cannot_be_0, _.Namespace_must_be_given_a_name, 18); return; case "type": Ps(_.Type_alias_name_cannot_be_0, _.Type_alias_must_be_given_a_name, 63); return }let Lt = (me = $C(Ue, Ki, dn => dn)) != null ? me : mc(Ue); if (Lt) { Ke(ut, V.end, _.Unknown_keyword_or_identifier_Did_you_mean_0, Lt); return } j() !== 0 && Ke(ut, V.end, _.Unexpected_keyword_or_identifier) } function Ps(V, me, Ue) { j() === Ue ? rt(me) : rt(V, t.getTokenValue()) } function mc(V) { for (let me of Ki) if (V.length > me.length + 2 && na(V, me)) return `${me} ${V.slice(me.length)}` } function xc(V, me, Ue) { if (j() === 59 && !t.hasPrecedingLineBreak()) { rt(_.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations); return } if (j() === 20) { rt(_.Cannot_start_a_function_call_in_a_type_annotation), Qe(); return } if (me && !ss()) { Ue ? rt(_._0_expected, Xa(26)) : rt(_.Expected_for_property_initializer); return } if (!qs()) { if (Ue) { rt(_._0_expected, Xa(26)); return } kc(V) } } function hc(V) { return j() === V ? (Vt(), !0) : (rt(_._0_expected, Xa(V)), !1) } function ro(V, me, Ue, ut) { if (j() === me) { Qe(); return } let Lt = rt(_._0_expected, Xa(me)); Ue && Lt && Ao(Lt, t2(Pe, ut, 1, _.The_parser_expected_to_find_a_1_to_match_the_0_token_here, Xa(V), Xa(me))) } function aa(V) { return j() === V ? (Qe(), !0) : !1 } function Co(V) { if (j() === V) return Pc() } function gc(V) { if (j() === V) return bl() } function Ll(V, me, Ue) { return Co(V) || yc(V, !1, me || _._0_expected, Ue || Xa(V)) } function md(V) { return gc(V) || yc(V, !1, _._0_expected, Xa(V)) } function Pc() { let V = z(), me = j(); return Qe(), jt(P(me), V) } function bl() { let V = z(), me = j(); return Vt(), jt(P(me), V) } function ss() { return j() === 26 ? !0 : j() === 19 || j() === 1 || t.hasPrecedingLineBreak() } function qs() { return ss() ? (j() === 26 && Qe(), !0) : !1 } function Rs() { return qs() || gn(26) } function As(V, me, Ue, ut) { let Lt = v(V, ut); return om(Lt, me, Ue ?? t.getStartPos()), Lt } function jt(V, me, Ue) { return om(V, me, Ue ?? t.getStartPos()), kn && (V.flags |= kn), Gt && (Gt = !1, V.flags |= 131072), V } function yc(V, me, Ue, ut) { me ? Ot(t.getStartPos(), 0, Ue, ut) : Ue && rt(Ue, ut); let Lt = z(), dn = V === 79 ? w("", void 0) : Hy(V) ? m.createTemplateLiteralLikeNode(V, "", "", void 0) : V === 8 ? S("", void 0) : V === 10 ? x("", void 0) : V === 279 ? m.createMissingDeclaration() : P(V); return jt(dn, Lt) } function Ql(V) { let me = qe.get(V); return me === void 0 && qe.set(V, me = V), me } function yu(V, me, Ue) { if (V) { zt++; let ii = z(), li = j(), di = Ql(t.getTokenValue()), ma = t.hasExtendedUnicodeEscape(); return yt(), jt(w(di, li, ma), ii) } if (j() === 80) return rt(Ue || _.Private_identifiers_are_not_allowed_outside_class_bodies), yu(!0); if (j() === 0 && t.tryScan(() => t.reScanInvalidIdentifier() === 79)) return yu(!0); zt++; let ut = j() === 1, Lt = t.isReservedWord(), dn = t.getTokenText(), Er = Lt ? _.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here : _.Identifier_expected; return yc(79, ut, me || Er, dn) } function se(V) { return yu(Qr(), void 0, V) } function ht(V, me) { return yu(Wi(), V, me) } function wt(V) { return yu(Su(j()), V) } function K() { return Su(j()) || j() === 10 || j() === 8 } function Xe() { return Su(j()) || j() === 10 } function ft(V) { if (j() === 10 || j() === 8) { let me = oa(); return me.text = Ql(me.text), me } return V && j() === 22 ? pr() : j() === 80 ? yr() : wt() } function Yt() { return ft(!0) } function pr() { let V = z(); gn(22); let me = at(Ml); return gn(23), jt(m.createComputedPropertyName(me), V) } function yr() { let V = z(), me = C(Ql(t.getTokenValue())); return Qe(), jt(me, V) } function ta(V) { return j() === V && Fo(Ka) } function Go() { return Qe(), t.hasPrecedingLineBreak() ? !1 : Uc() } function Ka() { switch (j()) { case 85: return Qe() === 92; case 93: return Qe(), j() === 88 ? Nr(Gu) : j() === 154 ? Nr(ka) : vo(); case 88: return Gu(); case 124: case 137: case 151: return Qe(), Uc(); default: return Go() } } function vo() { return j() === 59 || j() !== 41 && j() !== 128 && j() !== 18 && Uc() } function ka() { return Qe(), vo() } function Hs() { return Rg(j()) && Fo(Ka) } function Uc() { return j() === 22 || j() === 18 || j() === 41 || j() === 25 || K() } function Gu() { return Qe(), j() === 84 || j() === 98 || j() === 118 || j() === 59 || j() === 126 && Nr(Em) || j() === 132 && Nr(Jb) } function $o(V, me) { if (At(V)) return !0; switch (V) { case 0: case 1: case 3: return !(j() === 26 && me) && C1(); case 2: return j() === 82 || j() === 88; case 4: return Nr(dE); case 5: return Nr(rd) || j() === 26 && !me; case 6: return j() === 22 || K(); case 12: switch (j()) { case 22: case 41: case 25: case 24: return !0; default: return K() }case 18: return K(); case 9: return j() === 22 || j() === 25 || K(); case 24: return Xe(); case 7: return j() === 18 ? Nr(jo) : me ? Wi() && !nf() : Pb() && !nf(); case 8: return IE(); case 10: return j() === 27 || j() === 25 || IE(); case 19: return j() === 101 || j() === 85 || Wi(); case 15: switch (j()) { case 27: case 24: return !0 }case 11: return j() === 25 || C_(); case 16: return Cb(!1); case 17: return Cb(!0); case 20: case 21: return j() === 27 || qh(); case 22: return lh(); case 23: return Su(j()); case 13: return Su(j()) || j() === 18; case 14: return !0 }return L.fail("Non-exhaustive case in 'isListElement'.") } function jo() { if (L.assert(j() === 18), Qe() === 19) { let V = Qe(); return V === 27 || V === 18 || V === 94 || V === 117 } return !0 } function Ws() { return Qe(), Wi() } function hd() { return Qe(), Su(j()) } function vc() { return Qe(), moe(j()) } function nf() { return j() === 117 || j() === 94 ? Nr(ye) : !1 } function ye() { return Qe(), C_() } function Et() { return Qe(), qh() } function bn(V) { if (j() === 1) return !0; switch (V) { case 1: case 2: case 4: case 5: case 6: case 12: case 9: case 23: case 24: return j() === 19; case 3: return j() === 19 || j() === 82 || j() === 88; case 7: return j() === 18 || j() === 94 || j() === 117; case 8: return Ri(); case 19: return j() === 31 || j() === 20 || j() === 18 || j() === 94 || j() === 117; case 11: return j() === 21 || j() === 26; case 15: case 21: case 10: return j() === 23; case 17: case 16: case 18: return j() === 21 || j() === 23; case 20: return j() !== 27; case 22: return j() === 18 || j() === 19; case 13: return j() === 31 || j() === 43; case 14: return j() === 29 && Nr(Wa); default: return !1 } } function Ri() { return !!(ss() || b1(j()) || j() === 38) } function io() { for (let V = 0; V < 25; V++)if (Qt & 1 << V && ($o(V, !0) || bn(V))) return !0; return !1 } function ee(V, me) { let Ue = Qt; Qt |= 1 << V; let ut = [], Lt = z(); for (; !bn(V);) { if ($o(V, !1)) { ut.push(Ze(V, me)); continue } if (Bu(V)) break } return Qt = Ue, As(ut, Lt) } function Ze(V, me) { let Ue = At(V); return Ue ? xt(Ue) : me() } function At(V, me) { var Ue; if (!ct || !qt(V) || Gt) return; let ut = ct.currentNode(me ?? t.getStartPos()); if (!(rc(ut) || ut.intersectsChange || Gw(ut) || (ut.flags & 50720768) !== kn) && Ln(ut, V)) return lR(ut) && ((Ue = ut.jsDoc) != null && Ue.jsDocCache) && (ut.jsDoc.jsDocCache = void 0), ut } function xt(V) { return t.setTextPos(V.end), Qe(), V } function qt(V) { switch (V) { case 5: case 2: case 0: case 1: case 3: case 6: case 4: case 8: case 17: case 16: return !0 }return !1 } function Ln(V, me) { switch (me) { case 5: return mr(V); case 2: return Vr(V); case 0: case 1: case 3: return gi(V); case 6: return Ea(V); case 4: return bo(V); case 8: return Qo(V); case 17: case 16: return Cs(V) }return !1 } function mr(V) { if (V) switch (V.kind) { case 173: case 178: case 174: case 175: case 169: case 237: return !0; case 171: let me = V; return !(me.name.kind === 79 && me.name.escapedText === "constructor") }return !1 } function Vr(V) { if (V) switch (V.kind) { case 292: case 293: return !0 }return !1 } function gi(V) { if (V) switch (V.kind) { case 259: case 240: case 238: case 242: case 241: case 254: case 250: case 252: case 249: case 248: case 246: case 247: case 245: case 244: case 251: case 239: case 255: case 253: case 243: case 256: case 269: case 268: case 275: case 274: case 264: case 260: case 261: case 263: case 262: return !0 }return !1 } function Ea(V) { return V.kind === 302 } function bo(V) { if (V) switch (V.kind) { case 177: case 170: case 178: case 168: case 176: return !0 }return !1 } function Qo(V) { return V.kind !== 257 ? !1 : V.initializer === void 0 } function Cs(V) { return V.kind !== 166 ? !1 : V.initializer === void 0 } function Bu(V) { return Pd(V), io() ? !0 : (Qe(), !1) } function Pd(V) { switch (V) { case 0: return j() === 88 ? rt(_._0_expected, Xa(93)) : rt(_.Declaration_or_statement_expected); case 1: return rt(_.Declaration_or_statement_expected); case 2: return rt(_.case_or_default_expected); case 3: return rt(_.Statement_expected); case 18: case 4: return rt(_.Property_or_signature_expected); case 5: return rt(_.Unexpected_token_A_constructor_method_accessor_or_property_was_expected); case 6: return rt(_.Enum_member_expected); case 7: return rt(_.Expression_expected); case 8: return Xu(j()) ? rt(_._0_is_not_allowed_as_a_variable_declaration_name, Xa(j())) : rt(_.Variable_declaration_expected); case 9: return rt(_.Property_destructuring_pattern_expected); case 10: return rt(_.Array_element_destructuring_pattern_expected); case 11: return rt(_.Argument_expression_expected); case 12: return rt(_.Property_assignment_expected); case 15: return rt(_.Expression_or_comma_expected); case 17: return rt(_.Parameter_declaration_expected); case 16: return Xu(j()) ? rt(_._0_is_not_allowed_as_a_parameter_name, Xa(j())) : rt(_.Parameter_declaration_expected); case 19: return rt(_.Type_parameter_declaration_expected); case 20: return rt(_.Type_argument_expected); case 21: return rt(_.Type_expected); case 22: return rt(_.Unexpected_token_expected); case 23: return rt(_.Identifier_expected); case 13: return rt(_.Identifier_expected); case 14: return rt(_.Identifier_expected); case 24: return rt(_.Identifier_or_string_literal_expected); case 25: return L.fail("ParsingContext.Count used as a context"); default: L.assertNever(V) } } function Dc(V, me, Ue) { let ut = Qt; Qt |= 1 << V; let Lt = [], dn = z(), Er = -1; for (; ;) { if ($o(V, !1)) { let ii = t.getStartPos(), li = Ze(V, me); if (!li) { Qt = ut; return } if (Lt.push(li), Er = t.getTokenPos(), aa(27)) continue; if (Er = -1, bn(V)) break; gn(27, gd(V)), Ue && j() === 26 && !t.hasPrecedingLineBreak() && Qe(), ii === t.getStartPos() && Qe(); continue } if (bn(V) || Bu(V)) break } return Qt = ut, As(Lt, dn, void 0, Er >= 0) } function gd(V) { return V === 6 ? _.An_enum_member_name_must_be_followed_by_a_or : void 0 } function Zl() { let V = As([], z()); return V.isMissingList = !0, V } function Md(V) { return !!V.isMissingList } function zf(V, me, Ue, ut) { if (gn(Ue)) { let Lt = Dc(V, me); return gn(ut), Lt } return Zl() } function Io(V, me) { let Ue = z(), ut = V ? wt(me) : ht(me); for (; aa(24) && j() !== 29;)ut = jt(m.createQualifiedName(ut, Fd(V, !1)), Ue); return ut } function Jf(V, me) { return jt(m.createQualifiedName(V, me), V.pos) } function Fd(V, me) { if (t.hasPrecedingLineBreak() && Su(j()) && Nr(Vu)) return yc(79, !0, _.Identifier_expected); if (j() === 80) { let Ue = yr(); return me ? Ue : yc(79, !0, _.Identifier_expected) } return V ? wt() : ht() } function E_(V) { let me = z(), Ue = [], ut; do ut = la(V), Ue.push(ut); while (ut.literal.kind === 16); return As(Ue, me) } function Y_(V) { let me = z(); return jt(m.createTemplateExpression(be(V), E_(V)), me) } function M() { let V = z(); return jt(m.createTemplateLiteralType(be(!1), He()), V) } function He() { let V = z(), me = [], Ue; do Ue = Nt(), me.push(Ue); while (Ue.literal.kind === 16); return As(me, V) } function Nt() { let V = z(); return jt(m.createTemplateLiteralTypeSpan(Kc(), Pn(!1)), V) } function Pn(V) { return j() === 19 ? (ei(V), De()) : Ll(17, _._0_expected, Xa(19)) } function la(V) { let me = z(); return jt(m.createTemplateSpan(at(Ml), Pn(V)), me) } function oa() { return St(j()) } function be(V) { V && Kr(); let me = St(j()); return L.assert(me.kind === 15, "Template head has wrong token kind"), me } function De() { let V = St(j()); return L.assert(V.kind === 16 || V.kind === 17, "Template fragment has wrong token kind"), V } function mt(V) { let me = V === 14 || V === 17, Ue = t.getTokenText(); return Ue.substring(1, Ue.length - (t.isUnterminated() ? 0 : me ? 1 : 2)) } function St(V) { let me = z(), Ue = Hy(V) ? m.createTemplateLiteralLikeNode(V, t.getTokenValue(), mt(V), t.getTokenFlags() & 2048) : V === 8 ? S(t.getTokenValue(), t.getNumericLiteralFlags()) : V === 10 ? x(t.getTokenValue(), void 0, t.hasExtendedUnicodeEscape()) : gI(V) ? A(V, t.getTokenValue()) : L.fail(); return t.hasExtendedUnicodeEscape() && (Ue.hasExtendedUnicodeEscape = !0), t.isUnterminated() && (Ue.isUnterminated = !0), Qe(), jt(Ue, me) } function Zt() { return Io(!0, _.Type_expected) } function rn() { if (!t.hasPrecedingLineBreak() && Si() === 29) return zf(20, Kc, 29, 31) } function sn() { let V = z(); return jt(m.createTypeReferenceNode(Zt(), rn()), V) } function Dn(V) { switch (V.kind) { case 180: return rc(V.typeName); case 181: case 182: { let { parameters: me, type: Ue } = V; return Md(me) || Dn(Ue) } case 193: return Dn(V.type); default: return !1 } } function kr(V) { return Qe(), jt(m.createTypePredicateNode(void 0, V, Kc()), V.pos) } function ki() { let V = z(); return Qe(), jt(m.createThisTypeNode(), V) } function Vn() { let V = z(); return Qe(), jt(m.createJSDocAllType(), V) } function $t() { let V = z(); return Qe(), jt(m.createJSDocNonNullableType(wb(), !1), V) } function Xn() { let V = z(); return Qe(), j() === 27 || j() === 19 || j() === 21 || j() === 31 || j() === 63 || j() === 51 ? jt(m.createJSDocUnknownType(), V) : jt(m.createJSDocNullableType(Kc(), !1), V) } function ra() { let V = z(), me = Te(); if (Nr(qr)) { Qe(); let Ue = $_(36), ut = S_(58, !1); return nn(jt(m.createJSDocFunctionType(Ue, ut), V), me) } return jt(m.createTypeReferenceNode(wt(), void 0), V) } function Is() { let V = z(), me; return (j() === 108 || j() === 103) && (me = wt(), gn(58)), jt(m.createParameterDeclaration(void 0, void 0, me, void 0, Mc(), void 0), V) } function Mc() { t.setInJSDocType(!0); let V = z(); if (aa(142)) { let ut = m.createJSDocNamepathType(void 0); e: for (; ;)switch (j()) { case 19: case 1: case 27: case 5: break e; default: Vt() }return t.setInJSDocType(!1), jt(ut, V) } let me = aa(25), Ue = wo(); return t.setInJSDocType(!1), me && (Ue = jt(m.createJSDocVariadicType(Ue), V)), j() === 63 ? (Qe(), jt(m.createJSDocOptionalType(Ue), V)) : Ue } function mm() { let V = z(); gn(112); let me = Io(!0), Ue = t.hasPrecedingLineBreak() ? void 0 : bd(); return jt(m.createTypeQueryNode(me, Ue), V) } function Hh() { let V = z(), me = ls(!1, !0), Ue = ht(), ut, Lt; aa(94) && (qh() || !C_() ? ut = Kc() : Lt = Q_()); let dn = aa(63) ? Kc() : void 0, Er = m.createTypeParameterDeclaration(me, Ue, ut, dn); return Er.expression = Lt, jt(Er, V) } function T_() { if (j() === 29) return zf(19, Hh, 29, 31) } function Cb(V) { return j() === 25 || IE() || Rg(j()) || j() === 59 || qh(!V) } function mv(V) { let me = cy(_.Private_identifiers_cannot_be_used_as_parameters); return Fw(me) === 0 && !vt(V) && Rg(j()) && Qe(), me } function gx() { return Qr() || j() === 22 || j() === 18 } function _1(V) { return Wh(V) } function yx(V) { return Wh(V, !1) } function Wh(V, me = !0) { let Ue = z(), ut = Te(), Lt = V ? ue(() => ls(!0)) : G(() => ls(!0)); if (j() === 108) { let li = m.createParameterDeclaration(Lt, void 0, yu(!0), void 0, th(), void 0), di = Sl(Lt); return di && oe(di, _.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters), nn(jt(li, Ue), ut) } let dn = _n; _n = !1; let Er = Co(25); if (!me && !gx()) return; let ii = nn(jt(m.createParameterDeclaration(Lt, Er, mv(Lt), Co(57), th(), Yh()), Ue), ut); return _n = dn, ii } function S_(V, me) { if (hv(V, me)) return ve(wo) } function hv(V, me) { return V === 38 ? (gn(V), !0) : aa(58) ? !0 : me && j() === 38 ? (rt(_._0_expected, Xa(58)), Qe(), !0) : !1 } function eh(V, me) { let Ue = kt(), ut = ae(); Ht(!!(V & 1)), dr(!!(V & 2)); let Lt = V & 32 ? Dc(17, Is) : Dc(16, () => me ? _1(ut) : yx(ut)); return Ht(Ue), dr(ut), Lt } function $_(V) { if (!gn(20)) return Zl(); let me = eh(V, !0); return gn(21), me } function gv() { aa(27) || Rs() } function lE(V) { let me = z(), Ue = Te(); V === 177 && gn(103); let ut = T_(), Lt = $_(4), dn = S_(58, !0); gv(); let Er = V === 176 ? m.createCallSignature(ut, Lt, dn) : m.createConstructSignature(ut, Lt, dn); return nn(jt(Er, me), Ue) } function Ib() { return j() === 22 && Nr(zh) } function zh() { if (Qe(), j() === 25 || j() === 23) return !0; if (Rg(j())) { if (Qe(), Wi()) return !0 } else if (Wi()) Qe(); else return !1; return j() === 58 || j() === 27 ? !0 : j() !== 57 ? !1 : (Qe(), j() === 58 || j() === 27 || j() === 23) } function p1(V, me, Ue) { let ut = zf(16, () => _1(!1), 22, 23), Lt = th(); gv(); let dn = m.createIndexSignature(Ue, ut, Lt); return nn(jt(dn, V), me) } function uE(V, me, Ue) { let ut = Yt(), Lt = Co(57), dn; if (j() === 20 || j() === 29) { let Er = T_(), ii = $_(4), li = S_(58, !0); dn = m.createMethodSignature(Ue, ut, Lt, Er, ii, li) } else { let Er = th(); dn = m.createPropertySignature(Ue, ut, Lt, Er), j() === 63 && (dn.initializer = Yh()) } return gv(), nn(jt(dn, V), me) } function dE() { if (j() === 20 || j() === 29 || j() === 137 || j() === 151) return !0; let V = !1; for (; Rg(j());)V = !0, Qe(); return j() === 22 ? !0 : (K() && (V = !0, Qe()), V ? j() === 20 || j() === 29 || j() === 57 || j() === 58 || j() === 27 || ss() : !1) } function fE() { if (j() === 20 || j() === 29) return lE(176); if (j() === 103 && Nr(yv)) return lE(177); let V = z(), me = Te(), Ue = ls(!1); return ta(137) ? Tm(V, me, Ue, 174, 4) : ta(151) ? Tm(V, me, Ue, 175, 4) : Ib() ? p1(V, me, Ue) : uE(V, me, Ue) } function yv() { return Qe(), j() === 20 || j() === 29 } function vx() { return Qe() === 24 } function _E() { switch (Qe()) { case 20: case 29: case 24: return !0 }return !1 } function pE() { let V = z(); return jt(m.createTypeLiteralNode(vv()), V) } function vv() { let V; return gn(18) ? (V = ee(4, fE), gn(19)) : V = Zl(), V } function Lb() { return Qe(), j() === 39 || j() === 40 ? Qe() === 146 : (j() === 146 && Qe(), j() === 22 && Ws() && Qe() === 101) } function bv() { let V = z(), me = wt(); gn(101); let Ue = Kc(); return jt(m.createTypeParameterDeclaration(void 0, me, Ue, void 0), V) } function m1() { let V = z(); gn(18); let me; (j() === 146 || j() === 39 || j() === 40) && (me = Pc(), me.kind !== 146 && gn(146)), gn(22); let Ue = bv(), ut = aa(128) ? Kc() : void 0; gn(23); let Lt; (j() === 57 || j() === 39 || j() === 40) && (Lt = Pc(), Lt.kind !== 57 && gn(57)); let dn = th(); Rs(); let Er = ee(4, fE); return gn(19), jt(m.createMappedTypeNode(me, Ue, ut, Lt, dn, Er), V) } function Jh() { let V = z(); if (aa(25)) return jt(m.createRestTypeNode(Kc()), V); let me = Kc(); if (T2(me) && me.pos === me.type.pos) { let Ue = m.createOptionalTypeNode(me.type); return it(Ue, me), Ue.flags = me.flags, Ue } return me } function Lo() { return Qe() === 58 || j() === 57 && Qe() === 58 } function mE() { return j() === 25 ? Su(Qe()) && Lo() : Su(j()) && Lo() } function sC() { if (Nr(mE)) { let V = z(), me = Te(), Ue = Co(25), ut = wt(), Lt = Co(57); gn(58); let dn = Jh(), Er = m.createNamedTupleMember(Ue, ut, Lt, dn); return nn(jt(Er, V), me) } return Jh() } function Zg() { let V = z(); return jt(m.createTupleTypeNode(zf(21, sC, 22, 23)), V) } function Kh() { let V = z(); gn(20); let me = Kc(); return gn(21), jt(m.createParenthesizedType(me), V) } function hm() { let V; if (j() === 126) { let me = z(); Qe(); let Ue = jt(P(126), me); V = As([Ue], me) } return V } function x_() { let V = z(), me = Te(), Ue = hm(), ut = aa(103); L.assert(!Ue || ut, "Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers."); let Lt = T_(), dn = $_(4), Er = S_(38, !1), ii = ut ? m.createConstructorTypeNode(Ue, Lt, dn, Er) : m.createFunctionTypeNode(Lt, dn, Er); return nn(jt(ii, V), me) } function Zu() { let V = Pc(); return j() === 24 ? void 0 : V } function ed(V) { let me = z(); V && Qe(); let Ue = j() === 110 || j() === 95 || j() === 104 ? Pc() : St(j()); return V && (Ue = jt(m.createPrefixUnaryExpression(40, Ue), me)), jt(m.createLiteralTypeNode(Ue), me) } function td() { return Qe(), j() === 100 } function kb() { let V = z(), me = t.getTokenPos(); gn(18); let Ue = t.hasPrecedingLineBreak(); gn(130), gn(58); let ut = fy(!0); if (!gn(19)) { let Lt = Os(Ye); Lt && Lt.code === _._0_expected.code && Ao(Lt, t2(Pe, me, 1, _.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")) } return jt(m.createImportTypeAssertionContainer(ut, Ue), V) } function Db() { Ce |= 2097152; let V = z(), me = aa(112); gn(100), gn(20); let Ue = Kc(), ut; aa(27) && (ut = kb()), gn(21); let Lt = aa(24) ? Zt() : void 0, dn = rn(); return jt(m.createImportTypeNode(Ue, ut, Lt, dn, me), V) } function bx() { return Qe(), j() === 8 || j() === 9 } function wb() { switch (j()) { case 131: case 157: case 152: case 148: case 160: case 153: case 134: case 155: case 144: case 149: return Fo(Zu) || sn(); case 66: t.reScanAsteriskEqualsToken(); case 41: return Vn(); case 60: t.reScanQuestionToken(); case 57: return Xn(); case 98: return ra(); case 53: return $t(); case 14: case 10: case 8: case 9: case 110: case 95: case 104: return ed(); case 40: return Nr(bx) ? ed(!0) : sn(); case 114: return Pc(); case 108: { let V = ki(); return j() === 140 && !t.hasPrecedingLineBreak() ? kr(V) : V } case 112: return Nr(td) ? Db() : mm(); case 18: return Nr(Lb) ? m1() : pE(); case 22: return Zg(); case 20: return Kh(); case 100: return Db(); case 129: return Nr(Vu) ? gE() : sn(); case 15: return M(); default: return sn() } } function qh(V) { switch (j()) { case 131: case 157: case 152: case 148: case 160: case 134: case 146: case 153: case 156: case 114: case 155: case 104: case 108: case 112: case 144: case 18: case 22: case 29: case 51: case 50: case 103: case 10: case 8: case 9: case 110: case 95: case 149: case 41: case 57: case 53: case 25: case 138: case 100: case 129: case 14: case 15: return !0; case 98: return !V; case 40: return !V && Nr(bx); case 20: return !V && Nr(Rb); default: return Wi() } } function Rb() { return Qe(), j() === 21 || Cb(!1) || qh() } function h1() { let V = z(), me = wb(); for (; !t.hasPrecedingLineBreak();)switch (j()) { case 53: Qe(), me = jt(m.createJSDocNonNullableType(me, !0), V); break; case 57: if (Nr(Et)) return me; Qe(), me = jt(m.createJSDocNullableType(me, !0), V); break; case 22: if (gn(22), qh()) { let Ue = Kc(); gn(23), me = jt(m.createIndexedAccessTypeNode(me, Ue), V) } else gn(23), me = jt(m.createArrayTypeNode(me), V); break; default: return me }return me } function Ob(V) { let me = z(); return gn(V), jt(m.createTypeOperatorNode(V, hE()), me) } function cC() { if (aa(94)) { let V = nt(Kc); if (ln() || j() !== 57) return V } } function Ex() { let V = z(), me = ht(), Ue = Fo(cC), ut = m.createTypeParameterDeclaration(void 0, me, Ue); return jt(ut, V) } function Ev() { let V = z(); return gn(138), jt(m.createInferTypeNode(Ex()), V) } function hE() { let V = j(); switch (V) { case 141: case 156: case 146: return Ob(V); case 138: return Ev() }return ve(h1) } function Fe(V) { if (Sv()) { let me = x_(), Ue; return Jm(me) ? Ue = V ? _.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type : _.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type : Ue = V ? _.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type : _.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type, oe(me, Ue), me } } function ey(V, me, Ue) { let ut = z(), Lt = V === 51, dn = aa(V), Er = dn && Fe(Lt) || me(); if (j() === V || dn) { let ii = [Er]; for (; aa(V);)ii.push(Fe(Lt) || me()); Er = jt(Ue(As(ii, ut)), ut) } return Er } function Ip() { return ey(50, hE, m.createIntersectionTypeNode) } function Tv() { return ey(51, Ip, m.createUnionTypeNode) } function Nb() { return Qe(), j() === 103 } function Sv() { return j() === 29 || j() === 20 && Nr(g1) ? !0 : j() === 103 || j() === 126 && Nr(Nb) } function Xh() { if (Rg(j()) && ls(!1), Wi() || j() === 108) return Qe(), !0; if (j() === 22 || j() === 18) { let V = Ye.length; return cy(), V === Ye.length } return !1 } function g1() { return Qe(), !!(j() === 21 || j() === 25 || Xh() && (j() === 58 || j() === 27 || j() === 57 || j() === 63 || j() === 21 && (Qe(), j() === 38))) } function wo() { let V = z(), me = Wi() && Fo(A_), Ue = Kc(); return me ? jt(m.createTypePredicateNode(void 0, me, Ue), V) : Ue } function A_() { let V = ht(); if (j() === 140 && !t.hasPrecedingLineBreak()) return Qe(), V } function gE() { let V = z(), me = Ll(129), Ue = j() === 108 ? ki() : ht(), ut = aa(140) ? Kc() : void 0; return jt(m.createTypePredicateNode(me, Ue, ut), V) } function Kc() { if (kn & 40960) return Cr(40960, Kc); if (Sv()) return x_(); let V = z(), me = Tv(); if (!ln() && !t.hasPrecedingLineBreak() && aa(94)) { let Ue = nt(Kc); gn(57); let ut = ve(Kc); gn(58); let Lt = ve(Kc); return jt(m.createConditionalTypeNode(me, Ue, ut, Lt), V) } return me } function th() { return aa(58) ? Kc() : void 0 } function Pb() { switch (j()) { case 108: case 106: case 104: case 110: case 95: case 8: case 9: case 10: case 14: case 15: case 20: case 22: case 18: case 98: case 84: case 103: case 43: case 68: case 79: return !0; case 100: return Nr(_E); default: return Wi() } } function C_() { if (Pb()) return !0; switch (j()) { case 39: case 40: case 54: case 53: case 89: case 112: case 114: case 45: case 46: case 29: case 133: case 125: case 80: case 59: return !0; default: return Tx() ? !0 : Wi() } } function Mb() { return j() !== 18 && j() !== 98 && j() !== 84 && j() !== 59 && C_() } function Ml() { let V = ir(); V && En(!1); let me = z(), Ue = ll(!0), ut; for (; ut = Co(27);)Ue = xv(Ue, ut, ll(!0), me); return V && En(!0), Ue } function Yh() { return aa(63) ? ll(!0) : void 0 } function ll(V) { if (y1()) return Ai(); let me = gm(V) || nh(V); if (me) return me; let Ue = z(), ut = Gb(0); return ut.kind === 79 && j() === 38 ? Rr(Ue, ut, V, void 0) : Ju(ut) && Mg(Hn()) ? xv(ut, Pc(), ll(V), Ue) : v1(ut, Ue, V) } function y1() { return j() === 125 ? kt() ? !0 : Nr(Lv) : !1 } function lC() { return Qe(), !t.hasPrecedingLineBreak() && Wi() } function Ai() { let V = z(); return Qe(), !t.hasPrecedingLineBreak() && (j() === 41 || C_()) ? jt(m.createYieldExpression(Co(41), ll(!0)), V) : jt(m.createYieldExpression(void 0, void 0), V) } function Rr(V, me, Ue, ut) { L.assert(j() === 38, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); let Lt = m.createParameterDeclaration(void 0, void 0, me, void 0, void 0, void 0); jt(Lt, me.pos); let dn = As([Lt], Lt.pos, Lt.end), Er = Ll(38), ii = Fb(!!ut, Ue), li = m.createArrowFunction(ut, void 0, dn, void 0, Er, ii); return pn(jt(li, V)) } function gm(V) { let me = yd(); if (me !== 0) return me === 1 ? zs(!0, !0) : Fo(() => $h(V)) } function yd() { return j() === 20 || j() === 29 || j() === 132 ? Nr(yE) : j() === 38 ? 1 : 0 } function yE() { if (j() === 132 && (Qe(), t.hasPrecedingLineBreak() || j() !== 20 && j() !== 29)) return 0; let V = j(), me = Qe(); if (V === 20) { if (me === 21) switch (Qe()) { case 38: case 58: case 18: return 1; default: return 0 }if (me === 22 || me === 18) return 2; if (me === 25) return 1; if (Rg(me) && me !== 132 && Nr(Ws)) return Qe() === 128 ? 0 : 1; if (!Wi() && me !== 108) return 0; switch (Qe()) { case 58: return 1; case 57: return Qe(), j() === 58 || j() === 27 || j() === 63 || j() === 21 ? 1 : 0; case 27: case 63: case 21: return 2 }return 0 } else return L.assert(V === 29), !Wi() && j() !== 85 ? 0 : Le === 1 ? Nr(() => { aa(85); let ut = Qe(); if (ut === 94) switch (Qe()) { case 63: case 31: case 43: return !1; default: return !0 } else if (ut === 27 || ut === 63) return !0; return !1 }) ? 1 : 0 : 2 } function $h(V) { let me = t.getTokenPos(); if (tn?.has(me)) return; let Ue = zs(!1, V); return Ue || (tn || (tn = new Set)).add(me), Ue } function nh(V) { if (j() === 132 && Nr(ym) === 1) { let me = z(), Ue = kE(), ut = Gb(0); return Rr(me, ut, V, Ue) } } function ym() { if (j() === 132) { if (Qe(), t.hasPrecedingLineBreak() || j() === 38) return 0; let V = Gb(0); if (!t.hasPrecedingLineBreak() && V.kind === 79 && j() === 38) return 1 } return 0 } function zs(V, me) { let Ue = z(), ut = Te(), Lt = kE(), dn = vt(Lt, mL) ? 2 : 0, Er = T_(), ii; if (gn(20)) { if (V) ii = eh(dn, V); else { let Op = eh(dn, V); if (!Op) return; ii = Op } if (!gn(21) && !V) return } else { if (!V) return; ii = Zl() } let li = j() === 58, di = S_(58, !1); if (di && !V && Dn(di)) return; let ma = di; for (; ma?.kind === 193;)ma = ma.type; let is = ma && S2(ma); if (!V && j() !== 38 && (is || j() !== 18)) return; let ao = j(), Oo = Ll(38), id = ao === 38 || ao === 18 ? Fb(vt(Lt, mL), me) : ht(); if (!me && li && j() !== 58) return; let np = m.createArrowFunction(Lt, Er, ii, di, Oo, id); return nn(jt(np, Ue), ut) } function Fb(V, me) { if (j() === 18) return nd(V ? 2 : 0); if (j() !== 26 && j() !== 98 && j() !== 84 && C1() && !Mb()) return nd(16 | (V ? 2 : 0)); let Ue = _n; _n = !1; let ut = V ? ue(() => ll(me)) : G(() => ll(me)); return _n = Ue, ut } function v1(V, me, Ue) { let ut = Co(57); if (!ut) return V; let Lt; return jt(m.createConditionalExpression(V, ut, Cr(r, () => ll(!1)), Lt = Ll(58), Pf(Lt) ? ll(Ue) : yc(79, !1, _._0_expected, Xa(58))), me) } function Gb(V) { let me = z(), Ue = Q_(); return Cf(V, Ue, me) } function b1(V) { return V === 101 || V === 162 } function Cf(V, me, Ue) { for (; ;) { Hn(); let ut = vR(j()); if (!(j() === 42 ? ut >= V : ut > V) || j() === 101 && Kt()) break; if (j() === 128 || j() === 150) { if (t.hasPrecedingLineBreak()) break; { let dn = j(); Qe(), me = dn === 150 ? Sx(me, Kc()) : E1(me, Kc()) } } else me = xv(me, Pc(), Gb(ut), Ue) } return me } function Tx() { return Kt() && j() === 101 ? !1 : vR(j()) > 0 } function Sx(V, me) { return jt(m.createSatisfiesExpression(V, me), V.pos) } function xv(V, me, Ue, ut) { return jt(m.createBinaryExpression(V, me, Ue), ut) } function E1(V, me) { return jt(m.createAsExpression(V, me), V.pos) } function T1() { let V = z(); return jt(m.createPrefixUnaryExpression(j(), lt(I_)), V) } function xx() { let V = z(); return jt(m.createDeleteExpression(lt(I_)), V) } function Bb() { let V = z(); return jt(m.createTypeOfExpression(lt(I_)), V) } function S1() { let V = z(); return jt(m.createVoidExpression(lt(I_)), V) } function rf() { return j() === 133 ? ae() ? !0 : Nr(Lv) : !1 } function Qh() { let V = z(); return jt(m.createAwaitExpression(lt(I_)), V) } function Q_() { if (Ax()) { let Ue = z(), ut = Ub(); return j() === 42 ? Cf(vR(j()), ut, Ue) : ut } let V = j(), me = I_(); if (j() === 42) { let Ue = xo(Ie, me.pos), { end: ut } = me; me.kind === 213 ? Ke(Ue, ut, _.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses) : Ke(Ue, ut, _.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses, Xa(V)) } return me } function I_() { switch (j()) { case 39: case 40: case 54: case 53: return T1(); case 89: return xx(); case 112: return Bb(); case 114: return S1(); case 29: return Le === 1 ? Zh(!0) : Ix(); case 133: if (rf()) return Qh(); default: return Ub() } } function Ax() { switch (j()) { case 39: case 40: case 54: case 53: case 89: case 112: case 114: case 133: return !1; case 29: if (Le !== 1) return !1; default: return !0 } } function Ub() { if (j() === 45 || j() === 46) { let me = z(); return jt(m.createPrefixUnaryExpression(j(), lt(Lp)), me) } else if (Le === 1 && j() === 29 && Nr(vc)) return Zh(!0); let V = Lp(); if (L.assert(Ju(V)), (j() === 45 || j() === 46) && !t.hasPrecedingLineBreak()) { let me = j(); return Qe(), jt(m.createPostfixUnaryExpression(V, me), V.pos) } return V } function Lp() { let V = z(), me; return j() === 100 ? Nr(yv) ? (Ce |= 2097152, me = Pc()) : Nr(vx) ? (Qe(), Qe(), me = jt(m.createMetaProperty(100, wt()), V), Ce |= 4194304) : me = x1() : me = j() === 106 ? Uu() : x1(), Wn(V, me) } function x1() { let V = z(), me = Kf(); return af(V, me, !0) } function Uu() { let V = z(), me = Pc(); if (j() === 29) { let Ue = z(), ut = Fo(ry); ut !== void 0 && (Ke(Ue, z(), _.super_may_not_use_type_arguments), Av() || (me = m.createExpressionWithTypeArguments(me, ut))) } return j() === 20 || j() === 24 || j() === 22 ? me : (Ll(24, _.super_must_be_followed_by_an_argument_list_or_member_access), jt(q(me, Fd(!0, !0)), V)) } function Zh(V, me, Ue) { let ut = z(), Lt = A1(V), dn; if (Lt.kind === 283) { let Er = eg(Lt), ii, li = Er[Er.length - 1]; if (li?.kind === 281 && !yb(li.openingElement.tagName, li.closingElement.tagName) && yb(Lt.tagName, li.closingElement.tagName)) { let di = li.children.end, ma = jt(m.createJsxElement(li.openingElement, li.children, jt(m.createJsxClosingElement(jt(w(""), di, di)), di, di)), li.openingElement.pos, di); Er = As([...Er.slice(0, Er.length - 1), ma], Er.pos, di), ii = li.closingElement } else ii = Vb(Lt, V), yb(Lt.tagName, ii.tagName) || (Ue && Xm(Ue) && yb(ii.tagName, Ue.tagName) ? oe(Lt.tagName, _.JSX_element_0_has_no_corresponding_closing_tag, AI(Ie, Lt.tagName)) : oe(ii.tagName, _.Expected_corresponding_JSX_closing_tag_for_0, AI(Ie, Lt.tagName))); dn = jt(m.createJsxElement(Lt, Er, ii), ut) } else Lt.kind === 286 ? dn = jt(m.createJsxFragment(Lt, eg(Lt), jb(V)), ut) : (L.assert(Lt.kind === 282), dn = Lt); if (V && j() === 29) { let Er = typeof me > "u" ? dn.pos : me, ii = Fo(() => Zh(!0, Er)); if (ii) { let li = yc(27, !1); return oL(li, ii.pos, 0), Ke(xo(Ie, Er), ii.end, _.JSX_expressions_must_have_one_parent_element), jt(m.createBinaryExpression(dn, li, ii), ut) } } return dn } function kp() { let V = z(), me = m.createJsxText(t.getTokenValue(), Rt === 12); return Rt = t.scanJsxToken(), jt(me, V) } function Dp(V, me) { switch (me) { case 1: if (US(V)) oe(V, _.JSX_fragment_has_no_corresponding_closing_tag); else { let Ue = V.tagName, ut = xo(Ie, Ue.pos); Ke(ut, Ue.end, _.JSX_element_0_has_no_corresponding_closing_tag, AI(Ie, V.tagName)) } return; case 30: case 7: return; case 11: case 12: return kp(); case 18: return bE(!1); case 29: return Zh(!1, void 0, V); default: return L.assertNever(me) } } function eg(V) { let me = [], Ue = z(), ut = Qt; for (Qt |= 16384; ;) { let Lt = Dp(V, Rt = t.reScanJsxToken()); if (!Lt || (me.push(Lt), Xm(V) && Lt?.kind === 281 && !yb(Lt.openingElement.tagName, Lt.closingElement.tagName) && yb(V.tagName, Lt.closingElement.tagName))) break } return Qt = ut, As(me, Ue) } function vE() { let V = z(); return jt(m.createJsxAttributes(ee(13, cs)), V) } function A1(V) { let me = z(); if (gn(29), j() === 31) return Fa(), jt(m.createJsxOpeningFragment(), me); let Ue = ty(), ut = kn & 262144 ? void 0 : bd(), Lt = vE(), dn; return j() === 31 ? (Fa(), dn = m.createJsxOpeningElement(Ue, ut, Lt)) : (gn(43), gn(31, void 0, !1) && (V ? Qe() : Fa()), dn = m.createJsxSelfClosingElement(Ue, ut, Lt)), jt(dn, me) } function ty() { let V = z(); Za(); let me = j() === 108 ? Pc() : wt(); for (; aa(24);)me = jt(q(me, Fd(!0, !1)), V); return me } function bE(V) { let me = z(); if (!gn(18)) return; let Ue, ut; return j() !== 19 && (Ue = Co(25), ut = Ml()), V ? gn(19) : gn(19, void 0, !1) && Fa(), jt(m.createJsxExpression(Ue, ut), me) } function cs() { if (j() === 18) return Cx(); Za(); let V = z(); return jt(m.createJsxAttribute(wt(), ny()), V) } function ny() { if (j() === 63) { if (Hi() === 10) return oa(); if (j() === 18) return bE(!0); if (j() === 29) return Zh(!0); rt(_.or_JSX_element_expected) } } function Cx() { let V = z(); gn(18), gn(25); let me = Ml(); return gn(19), jt(m.createJsxSpreadAttribute(me), V) } function Vb(V, me) { let Ue = z(); gn(30); let ut = ty(); return gn(31, void 0, !1) && (me || !yb(V.tagName, ut) ? Qe() : Fa()), jt(m.createJsxClosingElement(ut), Ue) } function jb(V) { let me = z(); return gn(30), gn(31, _.Expected_corresponding_closing_tag_for_JSX_fragment, !1) && (V ? Qe() : Fa()), jt(m.createJsxJsxClosingFragment(), me) } function Ix() { L.assert(Le !== 1, "Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments."); let V = z(); gn(29); let me = Kc(); gn(31); let Ue = I_(); return jt(m.createTypeAssertion(me, Ue), V) } function uC() { return Qe(), Su(j()) || j() === 22 || Av() } function Lx() { return j() === 28 && Nr(uC) } function Qn(V) { if (V.flags & 32) return !0; if (PS(V)) { let me = V.expression; for (; PS(me) && !(me.flags & 32);)me = me.expression; if (me.flags & 32) { for (; PS(V);)V.flags |= 32, V = V.expression; return !0 } } return !1 } function lc(V, me, Ue) { let ut = Fd(!0, !0), Lt = Ue || Qn(me), dn = Lt ? W(me, Ue, ut) : q(me, ut); if (Lt && pi(dn.name) && oe(dn.name, _.An_optional_chain_cannot_contain_private_identifiers), Vg(me) && me.typeArguments) { let Er = me.typeArguments.pos - 1, ii = xo(Ie, me.typeArguments.end) + 1; Ke(Er, ii, _.An_instantiation_expression_cannot_be_followed_by_a_property_access) } return jt(dn, V) } function zi(V, me, Ue) { let ut; if (j() === 23) ut = yc(79, !0, _.An_element_access_expression_should_take_an_argument); else { let dn = at(Ml); yf(dn) && (dn.text = Ql(dn.text)), ut = dn } gn(23); let Lt = Ue || Qn(me) ? R(me, Ue, ut) : Y(me, ut); return jt(Lt, V) } function af(V, me, Ue) { for (; ;) { let ut, Lt = !1; if (Ue && Lx() ? (ut = Ll(28), Lt = Su(j())) : Lt = aa(24), Lt) { me = lc(V, me, ut); continue } if ((ut || !ir()) && aa(22)) { me = zi(V, me, ut); continue } if (Av()) { me = !ut && me.kind === 230 ? vm(V, me.expression, ut, me.typeArguments) : vm(V, me, ut, void 0); continue } if (!ut) { if (j() === 53 && !t.hasPrecedingLineBreak()) { Qe(), me = jt(m.createNonNullExpression(me), V); continue } let dn = Fo(ry); if (dn) { me = jt(m.createExpressionWithTypeArguments(me, dn), V); continue } } return me } } function Av() { return j() === 14 || j() === 15 } function vm(V, me, Ue, ut) { let Lt = m.createTaggedTemplateExpression(me, ut, j() === 14 ? (Kr(), oa()) : Y_(!0)); return (Ue || me.flags & 32) && (Lt.flags |= 32), Lt.questionDotToken = Ue, jt(Lt, V) } function Wn(V, me) { for (; ;) { me = af(V, me, !0); let Ue, ut = Co(28); if (ut && (Ue = Fo(ry), Av())) { me = vm(V, me, ut, Ue); continue } if (Ue || j() === 20) { !ut && me.kind === 230 && (Ue = me.typeArguments, me = me.expression); let Lt = kx(), dn = ut || Qn(me) ? $(me, ut, Ue, Lt) : ie(me, Ue, Lt); me = jt(dn, V); continue } if (ut) { let Lt = yc(79, !1, _.Identifier_expected); me = jt(W(me, ut, Lt), V) } break } return me } function kx() { gn(20); let V = Dc(11, L_); return gn(21), V } function ry() { if (kn & 262144 || Si() !== 29) return; Qe(); let V = Dc(20, Kc); if (Hn() === 31) return Qe(), V && nl() ? V : void 0 } function nl() { switch (j()) { case 20: case 14: case 15: return !0; case 29: case 31: case 39: case 40: return !1 }return t.hasPrecedingLineBreak() || Tx() || !C_() } function Kf() { switch (j()) { case 8: case 9: case 10: case 14: return oa(); case 108: case 106: case 104: case 110: case 95: return Pc(); case 20: return Z_(); case 22: return ay(); case 18: return wc(); case 132: if (!Nr(Jb)) break; return tg(); case 59: return og(); case 84: return Rv(); case 98: return tg(); case 103: return qf(); case 43: case 68: if (jr() === 13) return oa(); break; case 15: return Y_(!1); case 80: return yr() }return ht(_.Expression_expected) } function Z_() { let V = z(), me = Te(); gn(20); let Ue = at(Ml); return gn(21), nn(jt(Z(Ue), V), me) } function iy() { let V = z(); gn(25); let me = ll(!0); return jt(m.createSpreadElement(me), V) } function EE() { return j() === 25 ? iy() : j() === 27 ? jt(m.createOmittedExpression(), z()) : ll(!0) } function L_() { return Cr(r, EE) } function ay() { let V = z(), me = t.getTokenPos(), Ue = gn(22), ut = t.hasPrecedingLineBreak(), Lt = Dc(15, EE); return ro(22, 23, Ue, me), jt(F(Lt, ut), V) } function Ac() { let V = z(), me = Te(); if (Co(25)) { let ma = ll(!0); return nn(jt(m.createSpreadAssignment(ma), V), me) } let Ue = ls(!0); if (ta(137)) return Tm(V, me, Ue, 174, 0); if (ta(151)) return Tm(V, me, Ue, 175, 0); let ut = Co(41), Lt = Wi(), dn = Yt(), Er = Co(57), ii = Co(53); if (ut || j() === 20 || j() === 29) return L1(V, me, Ue, ut, dn, Er, ii); let li; if (Lt && j() !== 58) { let ma = Co(63), is = ma ? at(() => ll(!0)) : void 0; li = m.createShorthandPropertyAssignment(dn, is), li.equalsToken = ma } else { gn(58); let ma = at(() => ll(!0)); li = m.createPropertyAssignment(dn, ma) } return li.modifiers = Ue, li.questionToken = Er, li.exclamationToken = ii, nn(jt(li, V), me) } function wc() { let V = z(), me = t.getTokenPos(), Ue = gn(18), ut = t.hasPrecedingLineBreak(), Lt = Dc(12, Ac, !0); return ro(18, 19, Ue, me), jt(B(Lt, ut), V) } function tg() { let V = ir(); En(!1); let me = z(), Ue = Te(), ut = ls(!1); gn(98); let Lt = Co(41), dn = Lt ? 1 : 0, Er = vt(ut, mL) ? 2 : 0, ii = dn && Er ? Oe(Fl) : dn ? ce(Fl) : Er ? ue(Fl) : Fl(), li = T_(), di = $_(dn | Er), ma = S_(58, !1), is = nd(dn | Er); En(V); let ao = m.createFunctionExpression(ut, Lt, ii, li, di, ma, is); return nn(jt(ao, me), Ue) } function Fl() { return Qr() ? se() : void 0 } function qf() { let V = z(); if (gn(103), aa(24)) { let dn = wt(); return jt(m.createMetaProperty(103, dn), V) } let me = z(), Ue = af(me, Kf(), !1), ut; Ue.kind === 230 && (ut = Ue.typeArguments, Ue = Ue.expression), j() === 28 && rt(_.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, AI(Ie, Ue)); let Lt = j() === 20 ? kx() : void 0; return jt(fe(Ue, ut, Lt), V) } function bm(V, me) { let Ue = z(), ut = Te(), Lt = t.getTokenPos(), dn = gn(18, me); if (dn || V) { let Er = t.hasPrecedingLineBreak(), ii = ee(1, of); ro(18, 19, dn, Lt); let li = nn(jt(U(ii, Er), Ue), ut); return j() === 63 && (rt(_.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses), Qe()), li } else { let Er = Zl(); return nn(jt(U(Er, void 0), Ue), ut) } } function nd(V, me) { let Ue = kt(); Ht(!!(V & 1)); let ut = ae(); dr(!!(V & 2)); let Lt = _n; _n = !1; let dn = ir(); dn && En(!1); let Er = bm(!!(V & 16), me); return dn && En(!0), _n = Lt, Ht(Ue), dr(ut), Er } function TE() { let V = z(), me = Te(); return gn(26), nn(jt(m.createEmptyStatement(), V), me) } function Hb() { let V = z(), me = Te(); gn(99); let Ue = t.getTokenPos(), ut = gn(20), Lt = at(Ml); ro(20, 21, ut, Ue); let dn = of(), Er = aa(91) ? of() : void 0; return nn(jt(_e(Lt, dn, Er), V), me) } function Wb() { let V = z(), me = Te(); gn(90); let Ue = of(); gn(115); let ut = t.getTokenPos(), Lt = gn(20), dn = at(Ml); return ro(20, 21, Lt, ut), aa(26), nn(jt(m.createDoStatement(Ue, dn), V), me) } function ep() { let V = z(), me = Te(); gn(115); let Ue = t.getTokenPos(), ut = gn(20), Lt = at(Ml); ro(20, 21, ut, Ue); let dn = of(); return nn(jt(ge(Lt, dn), V), me) } function rh() { let V = z(), me = Te(); gn(97); let Ue = Co(133); gn(20); let ut; j() !== 26 && (j() === 113 || j() === 119 || j() === 85 ? ut = wp(!0) : ut = Tt(Ml)); let Lt; if (Ue ? gn(162) : aa(162)) { let dn = at(() => ll(!0)); gn(21), Lt = Ve(Ue, ut, dn, of()) } else if (aa(101)) { let dn = at(Ml); gn(21), Lt = m.createForInStatement(ut, dn, of()) } else { gn(26); let dn = j() !== 26 && j() !== 21 ? at(Ml) : void 0; gn(26); let Er = j() !== 21 ? at(Ml) : void 0; gn(21), Lt = X(ut, dn, Er, of()) } return nn(jt(Lt, V), me) } function SE(V) { let me = z(), Ue = Te(); gn(V === 249 ? 81 : 86); let ut = ss() ? void 0 : ht(); Rs(); let Lt = V === 249 ? m.createBreakStatement(ut) : m.createContinueStatement(ut); return nn(jt(Lt, me), Ue) } function oy() { let V = z(), me = Te(); gn(105); let Ue = ss() ? void 0 : at(Ml); return Rs(), nn(jt(m.createReturnStatement(Ue), V), me) } function uc() { let V = z(), me = Te(); gn(116); let Ue = t.getTokenPos(), ut = gn(20), Lt = at(Ml); ro(20, 21, ut, Ue); let dn = Se(33554432, of); return nn(jt(m.createWithStatement(Lt, dn), V), me) } function ng() { let V = z(), me = Te(); gn(82); let Ue = at(Ml); gn(58); let ut = ee(3, of); return nn(jt(m.createCaseClause(Ue, ut), V), me) } function ih() { let V = z(); gn(88), gn(58); let me = ee(3, of); return jt(m.createDefaultClause(me), V) } function Cv() { return j() === 82 ? ng() : ih() } function Iv() { let V = z(); gn(18); let me = ee(2, Cv); return gn(19), jt(m.createCaseBlock(me), V) } function Gl() { let V = z(), me = Te(); gn(107), gn(20); let Ue = at(Ml); gn(21); let ut = Iv(); return nn(jt(m.createSwitchStatement(Ue, ut), V), me) } function ah() { let V = z(), me = Te(); gn(109); let Ue = t.hasPrecedingLineBreak() ? void 0 : at(Ml); return Ue === void 0 && (zt++, Ue = jt(w(""), z())), qs() || kc(Ue), nn(jt(m.createThrowStatement(Ue), V), me) } function qc() { let V = z(), me = Te(); gn(111); let Ue = bm(!1), ut = j() === 83 ? xE() : void 0, Lt; return (!ut || j() === 96) && (gn(96, _.catch_or_finally_expected), Lt = bm(!1)), nn(jt(m.createTryStatement(Ue, ut, Lt), V), me) } function xE() { let V = z(); gn(83); let me; aa(20) ? (me = ly(), gn(21)) : me = void 0; let Ue = bm(!1); return jt(m.createCatchClause(me, Ue), V) } function oh() { let V = z(), me = Te(); return gn(87), Rs(), nn(jt(m.createDebuggerStatement(), V), me) } function zb() { let V = z(), me = Te(), Ue, ut = j() === 20, Lt = at(Ml); return Re(Lt) && aa(58) ? Ue = m.createLabeledStatement(Lt, of()) : (qs() || kc(Lt), Ue = le(Lt), ut && (me = !1)), nn(jt(Ue, V), me) } function Vu() { return Qe(), Su(j()) && !t.hasPrecedingLineBreak() } function Em() { return Qe(), j() === 84 && !t.hasPrecedingLineBreak() } function Jb() { return Qe(), j() === 98 && !t.hasPrecedingLineBreak() } function Lv() { return Qe(), (Su(j()) || j() === 8 || j() === 9 || j() === 10) && !t.hasPrecedingLineBreak() } function AE() { for (; ;)switch (j()) { case 113: case 119: case 85: case 98: case 84: case 92: return !0; case 118: case 154: return lC(); case 142: case 143: return Dx(); case 126: case 127: case 132: case 136: case 121: case 122: case 123: case 146: if (Qe(), t.hasPrecedingLineBreak()) return !1; continue; case 159: return Qe(), j() === 18 || j() === 79 || j() === 93; case 100: return Qe(), j() === 10 || j() === 41 || j() === 18 || Su(j()); case 93: let V = Qe(); if (V === 154 && (V = Nr(Qe)), V === 63 || V === 41 || V === 18 || V === 88 || V === 128 || V === 59) return !0; continue; case 124: Qe(); continue; default: return !1 } } function sy() { return Nr(AE) } function C1() { switch (j()) { case 59: case 26: case 18: case 113: case 119: case 98: case 84: case 92: case 99: case 90: case 115: case 97: case 86: case 81: case 105: case 116: case 107: case 109: case 111: case 87: case 83: case 96: return !0; case 100: return sy() || Nr(_E); case 85: case 93: return sy(); case 132: case 136: case 118: case 142: case 143: case 154: case 159: return !0; case 127: case 123: case 121: case 122: case 124: case 146: return sy() || !Nr(Vu); default: return C_() } } function kv() { return Qe(), Qr() || j() === 18 || j() === 22 } function rg() { return Nr(kv) } function of() { switch (j()) { case 26: return TE(); case 18: return bm(!1); case 113: return ig(z(), Te(), void 0); case 119: if (rg()) return ig(z(), Te(), void 0); break; case 98: return wv(z(), Te(), void 0); case 84: return k1(z(), Te(), void 0); case 99: return Hb(); case 90: return Wb(); case 115: return ep(); case 97: return rh(); case 86: return SE(248); case 81: return SE(249); case 105: return oy(); case 116: return uc(); case 107: return Gl(); case 109: return ah(); case 111: case 83: case 96: return qc(); case 87: return oh(); case 59: return Gd(); case 132: case 118: case 154: case 142: case 143: case 136: case 85: case 92: case 93: case 100: case 121: case 122: case 123: case 126: case 127: case 124: case 146: case 159: if (sy()) return Gd(); break }return zb() } function CE(V) { return V.kind === 136 } function Gd() { let V = z(), me = Te(), Ue = ls(!0); if (vt(Ue, CE)) { let Lt = sh(V); if (Lt) return Lt; for (let dn of Ue) dn.flags |= 16777216; return Se(16777216, () => Dv(V, me, Ue)) } else return Dv(V, me, Ue) } function sh(V) { return Se(16777216, () => { let me = At(Qt, V); if (me) return xt(me) }) } function Dv(V, me, Ue) { switch (j()) { case 113: case 119: case 85: return ig(V, me, Ue); case 98: return wv(V, me, Ue); case 84: return k1(V, me, Ue); case 118: return sg(V, me, Ue); case 154: return Ox(V, me, Ue); case 92: return E(V, me, Ue); case 159: case 142: case 143: return lr(V, me, Ue); case 100: return Ed(V, me, Ue); case 93: switch (Qe(), j()) { case 88: case 63: return Zo(V, me, Ue); case 128: return kl(V, me, Ue); default: return KP(V, me, Ue) }default: if (Ue) { let ut = yc(279, !0, _.Declaration_expected); return aL(ut, V), ut.modifiers = Ue, ut } return } } function Dx() { return Qe(), !t.hasPrecedingLineBreak() && (Wi() || j() === 10) } function No(V, me) { if (j() !== 18) { if (V & 4) { gv(); return } if (ss()) { Rs(); return } } return nd(V, me) } function fr() { let V = z(); if (j() === 27) return jt(m.createOmittedExpression(), V); let me = Co(25), Ue = cy(), ut = Yh(); return jt(m.createBindingElement(me, void 0, Ue, ut), V) } function vd() { let V = z(), me = Co(25), Ue = Qr(), ut = Yt(), Lt; Ue && j() !== 58 ? (Lt = ut, ut = void 0) : (gn(58), Lt = cy()); let dn = Yh(); return jt(m.createBindingElement(me, ut, Lt, dn), V) } function ju() { let V = z(); gn(18); let me = Dc(9, vd); return gn(19), jt(m.createObjectBindingPattern(me), V) } function I1() { let V = z(); gn(22); let me = Dc(10, fr); return gn(23), jt(m.createArrayBindingPattern(me), V) } function IE() { return j() === 18 || j() === 22 || j() === 80 || Qr() } function cy(V) { return j() === 22 ? I1() : j() === 18 ? ju() : se(V) } function wx() { return ly(!0) } function ly(V) { let me = z(), Ue = Te(), ut = cy(_.Private_identifiers_are_not_allowed_in_variable_declarations), Lt; V && ut.kind === 79 && j() === 53 && !t.hasPrecedingLineBreak() && (Lt = Pc()); let dn = th(), Er = b1(j()) ? void 0 : Yh(), ii = we(ut, Lt, dn, Er); return nn(jt(ii, me), Ue) } function wp(V) { let me = z(), Ue = 0; switch (j()) { case 113: break; case 119: Ue |= 1; break; case 85: Ue |= 2; break; default: L.fail() }Qe(); let ut; if (j() === 162 && Nr(tp)) ut = Zl(); else { let Lt = Kt(); vn(V), ut = Dc(8, V ? ly : wx), vn(Lt) } return jt(ke(ut, Ue), me) } function tp() { return Ws() && Qe() === 21 } function ig(V, me, Ue) { let ut = wp(!1); Rs(); let Lt = re(Ue, ut); return nn(jt(Lt, V), me) } function wv(V, me, Ue) { let ut = ae(), Lt = im(Ue); gn(98); let dn = Co(41), Er = Lt & 1024 ? Fl() : se(), ii = dn ? 1 : 0, li = Lt & 512 ? 2 : 0, di = T_(); Lt & 1 && dr(!0); let ma = $_(ii | li), is = S_(58, !1), ao = No(ii | li, _.or_expected); dr(ut); let Oo = m.createFunctionDeclaration(Ue, dn, Er, di, ma, is, ao); return nn(jt(Oo, V), me) } function ch() { if (j() === 135) return gn(135); if (j() === 10 && Nr(Qe) === 20) return Fo(() => { let V = oa(); return V.text === "constructor" ? V : void 0 }) } function Rp(V, me, Ue) { return Fo(() => { if (ch()) { let ut = T_(), Lt = $_(0), dn = S_(58, !1), Er = No(0, _.or_expected), ii = m.createConstructorDeclaration(Ue, Lt, Er); return ii.typeParameters = ut, ii.type = dn, nn(jt(ii, V), me) } }) } function L1(V, me, Ue, ut, Lt, dn, Er, ii) { let li = ut ? 1 : 0, di = vt(Ue, mL) ? 2 : 0, ma = T_(), is = $_(li | di), ao = S_(58, !1), Oo = No(li | di, ii), id = m.createMethodDeclaration(Ue, ut, Lt, dn, ma, is, ao, Oo); return id.exclamationToken = Er, nn(jt(id, V), me) } function Cc(V, me, Ue, ut, Lt) { let dn = !Lt && !t.hasPrecedingLineBreak() ? Co(53) : void 0, Er = th(), ii = Cr(45056, Yh); xc(ut, Er, ii); let li = m.createPropertyDeclaration(Ue, ut, Lt || dn, Er, ii); return nn(jt(li, V), me) } function Bd(V, me, Ue) { let ut = Co(41), Lt = Yt(), dn = Co(57); return ut || j() === 20 || j() === 29 ? L1(V, me, Ue, ut, Lt, dn, void 0, _.or_expected) : Cc(V, me, Ue, Lt, dn) } function Tm(V, me, Ue, ut, Lt) { let dn = Yt(), Er = T_(), ii = $_(0), li = S_(58, !1), di = No(Lt), ma = ut === 174 ? m.createGetAccessorDeclaration(Ue, dn, ii, li, di) : m.createSetAccessorDeclaration(Ue, dn, ii, di); return ma.typeParameters = Er, Sf(ma) && (ma.type = li), nn(jt(ma, V), me) } function rd() { let V; if (j() === 59) return !0; for (; Rg(j());) { if (V = j(), Gj(V)) return !0; Qe() } if (j() === 41 || (K() && (V = j(), Qe()), j() === 22)) return !0; if (V !== void 0) { if (!Xu(V) || V === 151 || V === 137) return !0; switch (j()) { case 20: case 29: case 53: case 58: case 63: case 57: return !0; default: return ss() } } return !1 } function LE(V, me, Ue) { Ll(124); let ut = uy(), Lt = nn(jt(m.createClassStaticBlockDeclaration(ut), V), me); return Lt.modifiers = Ue, Lt } function uy() { let V = kt(), me = ae(); Ht(!1), dr(!0); let Ue = bm(!1); return Ht(V), dr(me), Ue } function ag() { if (ae() && j() === 133) { let V = z(), me = ht(_.Expression_expected); Qe(); let Ue = af(V, me, !0); return Wn(V, Ue) } return Lp() } function Rx() { let V = z(); if (!aa(59)) return; let me = Q(ag); return jt(m.createDecorator(me), V) } function sf(V, me, Ue) { let ut = z(), Lt = j(); if (j() === 85 && me) { if (!Fo(Go)) return } else { if (Ue && j() === 124 && Nr(Ti)) return; if (V && j() === 124) return; if (!Hs()) return } return jt(P(Lt), ut) } function ls(V, me, Ue) { let ut = z(), Lt, dn, Er, ii = !1, li = !1, di = !1; if (V && j() === 59) for (; dn = Rx();)Lt = Sn(Lt, dn); for (; Er = sf(ii, me, Ue);)Er.kind === 124 && (ii = !0), Lt = Sn(Lt, Er), li = !0; if (li && V && j() === 59) for (; dn = Rx();)Lt = Sn(Lt, dn), di = !0; if (di) for (; Er = sf(ii, me, Ue);)Er.kind === 124 && (ii = !0), Lt = Sn(Lt, Er); return Lt && As(Lt, ut) } function kE() { let V; if (j() === 132) { let me = z(); Qe(); let Ue = jt(P(132), me); V = As([Ue], me) } return V } function DE() { let V = z(); if (j() === 26) return Qe(), jt(m.createSemicolonClassElement(), V); let me = Te(), Ue = ls(!0, !0, !0); if (j() === 124 && Nr(Ti)) return LE(V, me, Ue); if (ta(137)) return Tm(V, me, Ue, 174, 0); if (ta(151)) return Tm(V, me, Ue, 175, 0); if (j() === 135 || j() === 10) { let ut = Rp(V, me, Ue); if (ut) return ut } if (Ib()) return p1(V, me, Ue); if (Su(j()) || j() === 10 || j() === 8 || j() === 41 || j() === 22) if (vt(Ue, CE)) { for (let Lt of Ue) Lt.flags |= 16777216; return Se(16777216, () => Bd(V, me, Ue)) } else return Bd(V, me, Ue); if (Ue) { let ut = yc(79, !0, _.Declaration_expected); return Cc(V, me, Ue, ut, void 0) } return L.fail("Should not have attempted to parse class member declaration.") } function og() { let V = z(), me = Te(), Ue = ls(!0); if (j() === 84) return wE(V, me, Ue, 228); let ut = yc(279, !0, _.Expression_expected); return aL(ut, V), ut.modifiers = Ue, ut } function Rv() { return wE(z(), Te(), void 0, 228) } function k1(V, me, Ue) { return wE(V, me, Ue, 260) } function wE(V, me, Ue, ut) { let Lt = ae(); gn(84); let dn = RE(), Er = T_(); vt(Ue, c3) && dr(!0); let ii = NE(), li; gn(18) ? (li = dC(), gn(19)) : li = Zl(), dr(Lt); let di = ut === 260 ? m.createClassDeclaration(Ue, dn, Er, ii, li) : m.createClassExpression(Ue, dn, Er, ii, li); return nn(jt(di, V), me) } function RE() { return Qr() && !OE() ? yu(Qr()) : void 0 } function OE() { return j() === 117 && Nr(hd) } function NE() { if (lh()) return ee(22, PE) } function PE() { let V = z(), me = j(); L.assert(me === 94 || me === 117), Qe(); let Ue = Dc(7, dy); return jt(m.createHeritageClause(me, Ue), V) } function dy() { let V = z(), me = Lp(); if (me.kind === 230) return me; let Ue = bd(); return jt(m.createExpressionWithTypeArguments(me, Ue), V) } function bd() { return j() === 29 ? zf(20, Kc, 29, 31) : void 0 } function lh() { return j() === 94 || j() === 117 } function dC() { return ee(5, DE) } function sg(V, me, Ue) { gn(118); let ut = ht(), Lt = T_(), dn = NE(), Er = vv(), ii = m.createInterfaceDeclaration(Ue, ut, Lt, dn, Er); return nn(jt(ii, V), me) } function Ox(V, me, Ue) { gn(154); let ut = ht(), Lt = T_(); gn(63); let dn = j() === 139 && Fo(Zu) || Kc(); Rs(); let Er = m.createTypeAliasDeclaration(Ue, ut, Lt, dn); return nn(jt(Er, V), me) } function Nx() { let V = z(), me = Te(), Ue = Yt(), ut = at(Yh); return nn(jt(m.createEnumMember(Ue, ut), V), me) } function E(V, me, Ue) { gn(92); let ut = ht(), Lt; gn(18) ? (Lt = je(() => Dc(6, Nx)), gn(19)) : Lt = Zl(); let dn = m.createEnumDeclaration(Ue, ut, Lt); return nn(jt(dn, V), me) } function ne() { let V = z(), me; return gn(18) ? (me = ee(1, of), gn(19)) : me = Zl(), jt(m.createModuleBlock(me), V) } function Ee(V, me, Ue, ut) { let Lt = ut & 16, dn = ht(), Er = aa(24) ? Ee(z(), !1, void 0, 4 | Lt) : ne(), ii = m.createModuleDeclaration(Ue, dn, Er, ut); return nn(jt(ii, V), me) } function Wt(V, me, Ue) { let ut = 0, Lt; j() === 159 ? (Lt = ht(), ut |= 1024) : (Lt = oa(), Lt.text = Ql(Lt.text)); let dn; j() === 18 ? dn = ne() : Rs(); let Er = m.createModuleDeclaration(Ue, Lt, dn, ut); return nn(jt(Er, V), me) } function lr(V, me, Ue) { let ut = 0; if (j() === 159) return Wt(V, me, Ue); if (aa(143)) ut |= 16; else if (gn(142), j() === 10) return Wt(V, me, Ue); return Ee(V, me, Ue, ut) } function ci() { return j() === 147 && Nr(qr) } function qr() { return Qe() === 20 } function Ti() { return Qe() === 18 } function Wa() { return Qe() === 43 } function kl(V, me, Ue) { gn(128), gn(143); let ut = ht(); Rs(); let Lt = m.createNamespaceExportDeclaration(ut); return Lt.modifiers = Ue, nn(jt(Lt, V), me) } function Ed(V, me, Ue) { gn(100); let ut = t.getStartPos(), Lt; Wi() && (Lt = ht()); let dn = !1; if (j() !== 158 && Lt?.escapedText === "type" && (Wi() || Td()) && (dn = !0, Lt = Wi() ? ht() : void 0), Lt && !Ov()) return Nv(V, me, Ue, Lt, dn); let Er; (Lt || j() === 41 || j() === 18) && (Er = _y(Lt, ut, dn), gn(158)); let ii = cf(), li; j() === 130 && !t.hasPrecedingLineBreak() && (li = fy()), Rs(); let di = m.createImportDeclaration(Ue, Er, ii, li); return nn(jt(di, V), me) } function Ud() { let V = z(), me = Su(j()) ? wt() : St(10); gn(58); let Ue = ll(!0); return jt(m.createAssertEntry(me, Ue), V) } function fy(V) { let me = z(); V || gn(130); let Ue = t.getTokenPos(); if (gn(18)) { let ut = t.hasPrecedingLineBreak(), Lt = Dc(24, Ud, !0); if (!gn(19)) { let dn = Os(Ye); dn && dn.code === _._0_expected.code && Ao(dn, t2(Pe, Ue, 1, _.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")) } return jt(m.createAssertClause(Lt, ut), me) } else { let ut = As([], z(), void 0, !1); return jt(m.createAssertClause(ut, !1), me) } } function Td() { return j() === 41 || j() === 18 } function Ov() { return j() === 27 || j() === 158 } function Nv(V, me, Ue, ut, Lt) { gn(63); let dn = Xf(); Rs(); let Er = m.createImportEqualsDeclaration(Ue, Lt, ut, dn); return nn(jt(Er, V), me) } function _y(V, me, Ue) { let ut; return (!V || aa(27)) && (ut = j() === 41 ? Sm() : py(272)), jt(m.createImportClause(Ue, V, ut), me) } function Xf() { return ci() ? ME() : Io(!1) } function ME() { let V = z(); gn(147), gn(20); let me = cf(); return gn(21), jt(m.createExternalModuleReference(me), V) } function cf() { if (j() === 10) { let V = oa(); return V.text = Ql(V.text), V } else return Ml() } function Sm() { let V = z(); gn(41), gn(128); let me = ht(); return jt(m.createNamespaceImport(me), V) } function py(V) { let me = z(), Ue = V === 272 ? m.createNamedImports(zf(23, FE, 18, 19)) : m.createNamedExports(zf(23, If, 18, 19)); return jt(Ue, me) } function If() { let V = Te(); return nn(Pv(278), V) } function FE() { return Pv(273) } function Pv(V) { let me = z(), Ue = Xu(j()) && !Wi(), ut = t.getTokenPos(), Lt = t.getTextPos(), dn = !1, Er, ii = !0, li = wt(); if (li.escapedText === "type") if (j() === 128) { let is = wt(); if (j() === 128) { let ao = wt(); Su(j()) ? (dn = !0, Er = is, li = ma(), ii = !1) : (Er = li, li = ao, ii = !1) } else Su(j()) ? (Er = li, ii = !1, li = ma()) : (dn = !0, li = is) } else Su(j()) && (dn = !0, li = ma()); ii && j() === 128 && (Er = li, gn(128), li = ma()), V === 273 && Ue && Ke(ut, Lt, _.Identifier_expected); let di = V === 273 ? m.createImportSpecifier(dn, Er, li) : m.createExportSpecifier(dn, Er, li); return jt(di, me); function ma() { return Ue = Xu(j()) && !Wi(), ut = t.getTokenPos(), Lt = t.getTextPos(), wt() } } function Vc(V) { return jt(m.createNamespaceExport(wt()), V) } function KP(V, me, Ue) { let ut = ae(); dr(!0); let Lt, dn, Er, ii = aa(154), li = z(); aa(41) ? (aa(128) && (Lt = Vc(li)), gn(158), dn = cf()) : (Lt = py(276), (j() === 158 || j() === 10 && !t.hasPrecedingLineBreak()) && (gn(158), dn = cf())), dn && j() === 130 && !t.hasPrecedingLineBreak() && (Er = fy()), Rs(), dr(ut); let di = m.createExportDeclaration(Ue, ii, Lt, dn, Er); return nn(jt(di, V), me) } function Zo(V, me, Ue) { let ut = ae(); dr(!0); let Lt; aa(63) ? Lt = !0 : gn(88); let dn = ll(!0); Rs(), dr(ut); let Er = m.createExportAssignment(Ue, Lt, dn); return nn(jt(Er, V), me) } let Ro; (V => { V[V.SourceElements = 0] = "SourceElements", V[V.BlockStatements = 1] = "BlockStatements", V[V.SwitchClauses = 2] = "SwitchClauses", V[V.SwitchClauseStatements = 3] = "SwitchClauseStatements", V[V.TypeMembers = 4] = "TypeMembers", V[V.ClassMembers = 5] = "ClassMembers", V[V.EnumMembers = 6] = "EnumMembers", V[V.HeritageClauseElement = 7] = "HeritageClauseElement", V[V.VariableDeclarations = 8] = "VariableDeclarations", V[V.ObjectBindingElements = 9] = "ObjectBindingElements", V[V.ArrayBindingElements = 10] = "ArrayBindingElements", V[V.ArgumentExpressions = 11] = "ArgumentExpressions", V[V.ObjectLiteralMembers = 12] = "ObjectLiteralMembers", V[V.JsxAttributes = 13] = "JsxAttributes", V[V.JsxChildren = 14] = "JsxChildren", V[V.ArrayLiteralMembers = 15] = "ArrayLiteralMembers", V[V.Parameters = 16] = "Parameters", V[V.JSDocParameters = 17] = "JSDocParameters", V[V.RestProperties = 18] = "RestProperties", V[V.TypeParameters = 19] = "TypeParameters", V[V.TypeArguments = 20] = "TypeArguments", V[V.TupleElementTypes = 21] = "TupleElementTypes", V[V.HeritageClauses = 22] = "HeritageClauses", V[V.ImportOrExportSpecifiers = 23] = "ImportOrExportSpecifiers", V[V.AssertEntries = 24] = "AssertEntries", V[V.Count = 25] = "Count" })(Ro || (Ro = {})); let Px; (V => { V[V.False = 0] = "False", V[V.True = 1] = "True", V[V.Unknown = 2] = "Unknown" })(Px || (Px = {})); let Mx; (V => {
-                            function me(di, ma, is) { Pi("file.js", di, 99, void 0, 1), t.setText(di, ma, is), Rt = t.scan(); let ao = Ue(), Oo = hi("file.js", 99, 1, !1, [], P(1), 0, Ba), id = vS(Ye, Oo); return _t && (Oo.jsDocDiagnostics = vS(_t, Oo)), gr(), ao ? { jsDocTypeExpression: ao, diagnostics: id } : void 0 } V.parseJSDocTypeExpressionForTests = me; function Ue(di) { let ma = z(), is = (di ? aa : gn)(18), ao = Se(8388608, Mc); (!di || is) && hc(19); let Oo = m.createJSDocTypeExpression(ao); return Kn(Oo), jt(Oo, ma) } V.parseJSDocTypeExpression = Ue; function ut() { let di = z(), ma = aa(18), is = z(), ao = Io(!1); for (; j() === 80;)Ja(), Vt(), ao = jt(m.createJSDocMemberName(ao, ht()), is); ma && hc(19); let Oo = m.createJSDocNameReference(ao); return Kn(Oo), jt(Oo, di) } V.parseJSDocNameReference = ut; function Lt(di, ma, is) { Pi("", di, 99, void 0, 1); let ao = Se(8388608, () => li(ma, is)), id = vS(Ye, { languageVariant: 0, text: di }); return gr(), ao ? { jsDoc: ao, diagnostics: id } : void 0 } V.parseIsolatedJSDocComment = Lt; function dn(di, ma, is) { let ao = Rt, Oo = Ye.length, id = Gt, np = Se(8388608, () => li(ma, is)); return go(np, di), kn & 262144 && (_t || (_t = []), _t.push(...Ye)), Rt = ao, Ye.length = Oo, Gt = id, np } V.parseJSDocComment = dn; let Er; (di => { di[di.BeginningOfLine = 0] = "BeginningOfLine", di[di.SawAsterisk = 1] = "SawAsterisk", di[di.SavingComments = 2] = "SavingComments", di[di.SavingBackticks = 3] = "SavingBackticks" })(Er || (Er = {})); let ii; (di => { di[di.Property = 1] = "Property", di[di.Parameter = 2] = "Parameter", di[di.CallbackParameter = 4] = "CallbackParameter" })(ii || (ii = {})); function li(di = 0, ma) {
-                                let is = Ie, ao = ma === void 0 ? is.length : di + ma; if (ma = ao - di, L.assert(di >= 0), L.assert(di <= ao), L.assert(ao <= is.length), !cJ(is, di)) return; let Oo, id, np, Op, cg, Yf = [], my = []; return t.scanRange(di + 3, ma - 5, () => {
-                                    let yn = 1, Or, xr = di - (is.lastIndexOf(`
-`, di) + 1) + 4; function Wr(eo) { Or || (Or = xr), Yf.push(eo), xr += eo.length } for (Vt(); D1(5);); D1(4) && (yn = 0, xr = 0); e: for (; ;) { switch (j()) { case 59: yn === 0 || yn === 1 ? (GE(Yf), cg || (cg = z()), Fv(_C(xr)), yn = 0, Or = void 0) : Wr(t.getTokenText()); break; case 4: Yf.push(t.getTokenText()), yn = 0, xr = 0; break; case 41: let eo = t.getTokenText(); yn === 1 || yn === 2 ? (yn = 2, Wr(eo)) : (yn = 1, xr += eo.length); break; case 5: let _o = t.getTokenText(); yn === 2 ? Yf.push(_o) : Or !== void 0 && xr + _o.length > Or && Yf.push(_o.slice(Or - xr)), xr += _o.length; break; case 1: break e; case 18: yn = 2; let jd = t.getStartPos(), D_ = t.getTextPos() - 1, uh = jk(D_); if (uh) { Op || Fx(Yf), my.push(jt(m.createJSDocText(Yf.join("")), Op ?? di, jd)), my.push(uh), Yf = [], Op = t.getTextPos(); break } default: yn = 2, Wr(t.getTokenText()); break }Vt() } GE(Yf), my.length && Yf.length && my.push(jt(m.createJSDocText(Yf.join("")), Op ?? di, cg)), my.length && Oo && L.assertIsDefined(cg, "having parsed tags implies that the end of the comment span should be set"); let Ci = Oo && As(Oo, id, np); return jt(m.createJSDocComment(my.length ? As(my, di, cg) : Yf.length ? Yf.join("") : void 0, Ci), di, ao)
-                                }); function Fx(yn) {
-                                    for (; yn.length && (yn[0] === `
-`|| yn[0] === "\r");)yn.shift()
-                                } function GE(yn) { for (; yn.length && yn[yn.length - 1].trim() === "";)yn.pop() } function fC() { for (; ;) { if (Vt(), j() === 1) return !0; if (!(j() === 5 || j() === 4)) return !1 } } function k_() { if (!((j() === 5 || j() === 4) && Nr(fC))) for (; j() === 5 || j() === 4;)Vt() } function Mv() { if ((j() === 5 || j() === 4) && Nr(fC)) return ""; let yn = t.hasPrecedingLineBreak(), Or = !1, xr = ""; for (; yn && j() === 41 || j() === 5 || j() === 4;)xr += t.getTokenText(), j() === 4 ? (yn = !0, Or = !0, xr = "") : j() === 41 && (yn = !1), Vt(); return Or ? xr : "" } function _C(yn) { L.assert(j() === 59); let Or = t.getTokenPos(); Vt(); let xr = Uv(void 0), Wr = Mv(), Ci; switch (xr.escapedText) { case "author": Ci = Pt(Or, xr, yn, Wr); break; case "implements": Ci = Fi(Or, xr, yn, Wr); break; case "augments": case "extends": Ci = Da(Or, xr, yn, Wr); break; case "class": case "constructor": Ci = dg(Or, m.createJSDocClassTag, xr, yn, Wr); break; case "public": Ci = dg(Or, m.createJSDocPublicTag, xr, yn, Wr); break; case "private": Ci = dg(Or, m.createJSDocPrivateTag, xr, yn, Wr); break; case "protected": Ci = dg(Or, m.createJSDocProtectedTag, xr, yn, Wr); break; case "readonly": Ci = dg(Or, m.createJSDocReadonlyTag, xr, yn, Wr); break; case "override": Ci = dg(Or, m.createJSDocOverrideTag, xr, yn, Wr); break; case "deprecated": Dt = !0, Ci = dg(Or, m.createJSDocDeprecatedTag, xr, yn, Wr); break; case "this": Ci = wte(Or, xr, yn, Wr); break; case "enum": Ci = Rte(Or, xr, yn, Wr); break; case "arg": case "argument": case "param": return zk(Or, xr, 2, yn); case "return": case "returns": Ci = I(Or, xr, yn, Wr); break; case "template": Ci = yy(Or, xr, yn, Wr); break; case "type": Ci = N(Or, xr, yn, Wr); break; case "typedef": Ci = pC(Or, xr, yn, Wr); break; case "callback": Ci = zn(Or, xr, yn, Wr); break; case "overload": Ci = Gv(Or, xr, yn, Wr); break; case "satisfies": Ci = Vd(Or, xr, yn, Wr); break; case "see": Ci = te(Or, xr, yn, Wr); break; case "exception": case "throws": Ci = Me(Or, xr, yn, Wr); break; default: Ci = Zs(Or, xr, yn, Wr); break }return Ci } function lf(yn, Or, xr, Wr) { return Wr || (xr += Or - yn), Gx(xr, Wr.slice(xr)) } function Gx(yn, Or) { let xr = z(), Wr = [], Ci = [], eo, _o = 0, jd = !0, D_; function uh(dh) { D_ || (D_ = yn), Wr.push(dh), yn += dh.length } Or !== void 0 && (Or !== "" && uh(Or), _o = 1); let xm = j(); e: for (; ;) { switch (xm) { case 4: _o = 0, Wr.push(t.getTokenText()), yn = 0; break; case 59: if (_o === 3 || _o === 2 && (!jd || Nr(hy))) { Wr.push(t.getTokenText()); break } t.setTextPos(t.getTextPos() - 1); case 1: break e; case 5: if (_o === 2 || _o === 3) uh(t.getTokenText()); else { let Kb = t.getTokenText(); D_ !== void 0 && yn + Kb.length > D_ && Wr.push(Kb.slice(D_ - yn)), yn += Kb.length } break; case 18: _o = 2; let dh = t.getStartPos(), gC = t.getTextPos() - 1, vu = jk(gC); vu ? (Ci.push(jt(m.createJSDocText(Wr.join("")), eo ?? xr, dh)), Ci.push(vu), Wr = [], eo = t.getTextPos()) : uh(t.getTokenText()); break; case 61: _o === 3 ? _o = 2 : _o = 3, uh(t.getTokenText()); break; case 41: if (_o === 0) { _o = 1, yn += 1; break } default: _o !== 3 && (_o = 2), uh(t.getTokenText()); break }jd = j() === 5, xm = Vt() } if (Fx(Wr), GE(Wr), Ci.length) return Wr.length && Ci.push(jt(m.createJSDocText(Wr.join("")), eo ?? xr)), As(Ci, xr, t.getTextPos()); if (Wr.length) return Wr.join("") } function hy() { let yn = Vt(); return yn === 5 || yn === 4 } function jk(yn) { let Or = Fo(Hk); if (!Or) return; Vt(), k_(); let xr = z(), Wr = Su(j()) ? Io(!0) : void 0; if (Wr) for (; j() === 80;)Ja(), Vt(), Wr = jt(m.createJSDocMemberName(Wr, ht()), xr); let Ci = []; for (; j() !== 19 && j() !== 4 && j() !== 1;)Ci.push(t.getTokenText()), Vt(); let eo = Or === "link" ? m.createJSDocLink : Or === "linkcode" ? m.createJSDocLinkCode : m.createJSDocLinkPlain; return jt(eo(Wr, Ci.join("")), yn, t.getTextPos()) } function Hk() { if (Mv(), j() === 18 && Vt() === 59 && Su(Vt())) { let yn = t.getTokenValue(); if (oo(yn)) return yn } } function oo(yn) { return yn === "link" || yn === "linkcode" || yn === "linkplain" } function Zs(yn, Or, xr, Wr) { return jt(m.createJSDocUnknownTag(Or, lf(yn, z(), xr, Wr)), yn) } function Fv(yn) { yn && (Oo ? Oo.push(yn) : (Oo = [yn], id = yn.pos), np = yn.end) } function gy() { return Mv(), j() === 18 ? Ue() : void 0 } function Wk() { let yn = D1(22); yn && k_(); let Or = D1(61), xr = XP(); return Or && md(61), yn && (k_(), Co(63) && Ml(), gn(23)), { name: xr, isBracketed: yn } } function ad(yn) { switch (yn.kind) { case 149: return !0; case 185: return ad(yn.elementType); default: return m_(yn) && Re(yn.typeName) && yn.typeName.escapedText === "Object" && !yn.typeArguments } } function zk(yn, Or, xr, Wr) { let Ci = gy(), eo = !Ci; Mv(); let { name: _o, isBracketed: jd } = Wk(), D_ = Mv(); eo && !Nr(Hk) && (Ci = gy()); let uh = lf(yn, z(), Wr, D_), xm = xr !== 4 && y(Ci, _o, xr, Wr); xm && (Ci = xm, eo = !0); let dh = xr === 1 ? m.createJSDocPropertyTag(Or, _o, jd, Ci, eo, uh) : m.createJSDocParameterTag(Or, _o, jd, Ci, eo, uh); return jt(dh, yn) } function y(yn, Or, xr, Wr) { if (yn && ad(yn.type)) { let Ci = z(), eo, _o; for (; eo = Fo(() => BE(xr, Wr, Or));)(eo.kind === 344 || eo.kind === 351) && (_o = Sn(_o, eo)); if (_o) { let jd = jt(m.createJSDocTypeLiteral(_o, yn.type.kind === 185), Ci); return jt(m.createJSDocTypeExpression(jd), Ci) } } } function I(yn, Or, xr, Wr) { vt(Oo, y3) && Ke(Or.pos, t.getTokenPos(), _._0_tag_already_specified, Or.escapedText); let Ci = gy(); return jt(m.createJSDocReturnTag(Or, Ci, lf(yn, z(), xr, Wr)), yn) } function N(yn, Or, xr, Wr) { vt(Oo, DL) && Ke(Or.pos, t.getTokenPos(), _._0_tag_already_specified, Or.escapedText); let Ci = Ue(!0), eo = xr !== void 0 && Wr !== void 0 ? lf(yn, z(), xr, Wr) : void 0; return jt(m.createJSDocTypeTag(Or, Ci, eo), yn) } function te(yn, Or, xr, Wr) { let eo = j() === 22 || Nr(() => Vt() === 59 && Su(Vt()) && oo(t.getTokenValue())) ? void 0 : ut(), _o = xr !== void 0 && Wr !== void 0 ? lf(yn, z(), xr, Wr) : void 0; return jt(m.createJSDocSeeTag(Or, eo, _o), yn) } function Me(yn, Or, xr, Wr) { let Ci = gy(), eo = lf(yn, z(), xr, Wr); return jt(m.createJSDocThrowsTag(Or, Ci, eo), yn) } function Pt(yn, Or, xr, Wr) { let Ci = z(), eo = Tr(), _o = t.getStartPos(), jd = lf(yn, _o, xr, Wr); jd || (_o = t.getStartPos()); let D_ = typeof jd != "string" ? As(Qi([jt(eo, Ci, _o)], jd), Ci) : eo.text + jd; return jt(m.createJSDocAuthorTag(Or, D_), yn) } function Tr() { let yn = [], Or = !1, xr = t.getToken(); for (; xr !== 1 && xr !== 4;) { if (xr === 29) Or = !0; else { if (xr === 59 && !Or) break; if (xr === 31 && Or) { yn.push(t.getTokenText()), t.setTextPos(t.getTokenPos() + 1); break } } yn.push(t.getTokenText()), xr = Vt() } return m.createJSDocText(yn.join("")) } function Fi(yn, Or, xr, Wr) { let Ci = lg(); return jt(m.createJSDocImplementsTag(Or, Ci, lf(yn, z(), xr, Wr)), yn) } function Da(yn, Or, xr, Wr) { let Ci = lg(); return jt(m.createJSDocAugmentsTag(Or, Ci, lf(yn, z(), xr, Wr)), yn) } function Vd(yn, Or, xr, Wr) { let Ci = Ue(!1), eo = xr !== void 0 && Wr !== void 0 ? lf(yn, z(), xr, Wr) : void 0; return jt(m.createJSDocSatisfiesTag(Or, Ci, eo), yn) } function lg() { let yn = aa(18), Or = z(), xr = ug(), Wr = bd(), Ci = m.createExpressionWithTypeArguments(xr, Wr), eo = jt(Ci, Or); return yn && gn(19), eo } function ug() { let yn = z(), Or = Uv(); for (; aa(24);) { let xr = Uv(); Or = jt(q(Or, xr), yn) } return Or } function dg(yn, Or, xr, Wr, Ci) { return jt(Or(xr, lf(yn, z(), Wr, Ci)), yn) } function wte(yn, Or, xr, Wr) { let Ci = Ue(!0); return k_(), jt(m.createJSDocThisTag(Or, Ci, lf(yn, z(), xr, Wr)), yn) } function Rte(yn, Or, xr, Wr) { let Ci = Ue(!0); return k_(), jt(m.createJSDocEnumTag(Or, Ci, lf(yn, z(), xr, Wr)), yn) } function pC(yn, Or, xr, Wr) { var Ci; let eo = gy(); Mv(); let _o = Jk(); k_(); let jd = Gx(xr), D_; if (!eo || ad(eo.type)) { let xm, dh, gC, vu = !1; for (; xm = Fo(() => Bx(xr));)if (vu = !0, xm.kind === 347) if (dh) { let Kb = rt(_.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags); Kb && Ao(Kb, t2(Pe, 0, 0, _.The_tag_was_first_specified_here)); break } else dh = xm; else gC = Sn(gC, xm); if (vu) { let Kb = eo && eo.type.kind === 185, Kk = m.createJSDocTypeLiteral(gC, Kb); eo = dh && dh.typeExpression && !ad(dh.typeExpression.type) ? dh.typeExpression : jt(Kk, yn), D_ = eo.end } } D_ = D_ || jd !== void 0 ? z() : ((Ci = _o ?? eo) != null ? Ci : Or).end, jd || (jd = lf(yn, D_, xr, Wr)); let uh = m.createJSDocTypedefTag(Or, eo, _o, jd); return jt(uh, yn, D_) } function Jk(yn) { let Or = t.getTokenPos(); if (!Su(j())) return; let xr = Uv(); if (aa(24)) { let Wr = Jk(!0), Ci = m.createModuleDeclaration(void 0, xr, Wr, yn ? 4 : void 0); return jt(Ci, Or) } return yn && (xr.flags |= 2048), xr } function Ote(yn) { let Or = z(), xr, Wr; for (; xr = Fo(() => BE(4, yn));)Wr = Sn(Wr, xr); return As(Wr || [], Or) } function mC(yn, Or) { let xr = Ote(Or), Wr = Fo(() => { if (D1(59)) { let Ci = _C(Or); if (Ci && Ci.kind === 345) return Ci } }); return jt(m.createJSDocSignature(void 0, xr, Wr), yn) } function zn(yn, Or, xr, Wr) { let Ci = Jk(); k_(); let eo = Gx(xr), _o = mC(yn, xr); eo || (eo = lf(yn, z(), xr, Wr)); let jd = eo !== void 0 ? z() : _o.end; return jt(m.createJSDocCallbackTag(Or, _o, Ci, eo), yn, jd) } function Gv(yn, Or, xr, Wr) { k_(); let Ci = Gx(xr), eo = mC(yn, xr); Ci || (Ci = lf(yn, z(), xr, Wr)); let _o = Ci !== void 0 ? z() : eo.end; return jt(m.createJSDocOverloadTag(Or, eo, Ci), yn, _o) } function Bv(yn, Or) { for (; !Re(yn) || !Re(Or);)if (!Re(yn) && !Re(Or) && yn.right.escapedText === Or.right.escapedText) yn = yn.left, Or = Or.left; else return !1; return yn.escapedText === Or.escapedText } function Bx(yn) { return BE(1, yn) } function BE(yn, Or, xr) { let Wr = !0, Ci = !1; for (; ;)switch (Vt()) { case 59: if (Wr) { let eo = qP(yn, Or); return eo && (eo.kind === 344 || eo.kind === 351) && yn !== 4 && xr && (Re(eo.name) || !Bv(xr, eo.name.left)) ? !1 : eo } Ci = !1; break; case 4: Wr = !0, Ci = !1; break; case 41: Ci && (Wr = !1), Ci = !0; break; case 79: Wr = !1; break; case 1: return !1 } } function qP(yn, Or) { L.assert(j() === 59); let xr = t.getStartPos(); Vt(); let Wr = Uv(); k_(); let Ci; switch (Wr.escapedText) { case "type": return yn === 1 && N(xr, Wr); case "prop": case "property": Ci = 1; break; case "arg": case "argument": case "param": Ci = 6; break; default: return !1 }return yn & Ci ? zk(xr, Wr, yn, Or) : !1 } function hC() { let yn = z(), Or = D1(22); Or && k_(); let xr = Uv(_.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces), Wr; if (Or && (k_(), gn(63), Wr = Se(8388608, Mc), gn(23)), !rc(xr)) return jt(m.createTypeParameterDeclaration(void 0, xr, void 0, Wr), yn) } function WG() { let yn = z(), Or = []; do { k_(); let xr = hC(); xr !== void 0 && Or.push(xr), Mv() } while (D1(27)); return As(Or, yn) } function yy(yn, Or, xr, Wr) { let Ci = j() === 18 ? Ue() : void 0, eo = WG(); return jt(m.createJSDocTemplateTag(Or, Ci, eo, lf(yn, z(), xr, Wr)), yn) } function D1(yn) { return j() === yn ? (Vt(), !0) : !1 } function XP() { let yn = Uv(); for (aa(22) && gn(23); aa(24);) { let Or = Uv(); aa(22) && gn(23), yn = Jf(yn, Or) } return yn } function Uv(yn) { if (!Su(j())) return yc(79, !yn, yn || _.Identifier_expected); zt++; let Or = t.getTokenPos(), xr = t.getTextPos(), Wr = j(), Ci = Ql(t.getTokenValue()), eo = jt(w(Ci, Wr), Or, xr); return Vt(), eo }
-                            }
-                        })(Mx = e.JSDocParser || (e.JSDocParser = {}))
-                    })(av || (av = {})), (e => { function t(x, A, w, C) { if (C = C || L.shouldAssert(2), m(x, A, w, C), Moe(w)) return x; if (x.statements.length === 0) return av.parseSourceFile(x.fileName, A, x.languageVersion, void 0, !0, x.scriptKind, x.setExternalModuleIndicator); let P = x; L.assert(!P.hasBeenIncrementallyParsed), P.hasBeenIncrementallyParsed = !0, av.fixupParentReferences(P); let F = x.text, B = v(x), q = d(x, w); m(x, A, q, C), L.assert(q.span.start <= w.span.start), L.assert(wl(q.span) === wl(w.span)), L.assert(wl(uI(q)) === wl(uI(w))); let W = uI(q).length - q.span.length; f(P, q.span.start, wl(q.span), wl(uI(q)), W, F, A, C); let Y = av.parseSourceFile(x.fileName, A, x.languageVersion, B, !0, x.scriptKind, x.setExternalModuleIndicator); return Y.commentDirectives = r(x.commentDirectives, Y.commentDirectives, q.span.start, wl(q.span), W, F, A, C), Y.impliedNodeFormat = x.impliedNodeFormat, Y } e.updateSourceFile = t; function r(x, A, w, C, P, F, B, q) { if (!x) return A; let W, Y = !1; for (let ie of x) { let { range: $, type: fe } = ie; if ($.end < w) W = Sn(W, ie); else if ($.pos > C) { R(); let Z = { range: { pos: $.pos + P, end: $.end + P }, type: fe }; W = Sn(W, Z), q && L.assert(F.substring($.pos, $.end) === B.substring(Z.range.pos, Z.range.end)) } } return R(), W; function R() { Y || (Y = !0, W ? A && W.push(...A) : W = A) } } function i(x, A, w, C, P, F) { A ? q(x) : B(x); return; function B(W) { let Y = ""; if (F && o(W) && (Y = C.substring(W.pos, W.end)), W._children && (W._children = void 0), om(W, W.pos + w, W.end + w), F && o(W) && L.assert(Y === P.substring(W.pos, W.end)), pa(W, B, q), Kd(W)) for (let R of W.jsDoc) B(R); l(W, F) } function q(W) { W._children = void 0, om(W, W.pos + w, W.end + w); for (let Y of W) B(Y) } } function o(x) { switch (x.kind) { case 10: case 8: case 79: return !0 }return !1 } function s(x, A, w, C, P) { L.assert(x.end >= A, "Adjusting an element that was entirely before the change range"), L.assert(x.pos <= w, "Adjusting an element that was entirely after the change range"), L.assert(x.pos <= x.end); let F = Math.min(x.pos, C), B = x.end >= w ? x.end + P : Math.min(x.end, C); L.assert(F <= B), x.parent && (L.assertGreaterThanOrEqual(F, x.parent.pos), L.assertLessThanOrEqual(B, x.parent.end)), om(x, F, B) } function l(x, A) { if (A) { let w = x.pos, C = P => { L.assert(P.pos >= w), w = P.end }; if (Kd(x)) for (let P of x.jsDoc) C(P); pa(x, C), L.assert(w <= x.end) } } function f(x, A, w, C, P, F, B, q) { W(x); return; function W(R) { if (L.assert(R.pos <= R.end), R.pos > w) { i(R, !1, P, F, B, q); return } let ie = R.end; if (ie >= A) { if (R.intersectsChange = !0, R._children = void 0, s(R, A, w, C, P), pa(R, W, Y), Kd(R)) for (let $ of R.jsDoc) W($); l(R, q); return } L.assert(ie < A) } function Y(R) { if (L.assert(R.pos <= R.end), R.pos > w) { i(R, !0, P, F, B, q); return } let ie = R.end; if (ie >= A) { R.intersectsChange = !0, R._children = void 0, s(R, A, w, C, P); for (let $ of R) W($); return } L.assert(ie < A) } } function d(x, A) { let C = A.span.start; for (let B = 0; C > 0 && B <= 1; B++) { let q = g(x, C); L.assert(q.pos <= C); let W = q.pos; C = Math.max(0, W - 1) } let P = Wc(C, wl(A.span)), F = A.newLength + (A.span.start - C); return Sw(P, F) } function g(x, A) { let w = x, C; if (pa(x, F), C) { let B = P(C); B.pos > w.pos && (w = B) } return w; function P(B) { for (; ;) { let q = yW(B); if (q) B = q; else return B } } function F(B) { if (!rc(B)) if (B.pos <= A) { if (B.pos >= w.pos && (w = B), A < B.end) return pa(B, F), !0; L.assert(B.end <= A), C = B } else return L.assert(B.pos > A), !0 } } function m(x, A, w, C) { let P = x.text; if (w && (L.assert(P.length - w.span.length + w.newLength === A.length), C || L.shouldAssert(3))) { let F = P.substr(0, w.span.start), B = A.substr(0, w.span.start); L.assert(F === B); let q = P.substring(wl(w.span), P.length), W = A.substring(wl(uI(w)), A.length); L.assert(q === W) } } function v(x) { let A = x.statements, w = 0; L.assert(w < A.length); let C = A[w], P = -1; return { currentNode(B) { return B !== P && (C && C.end === B && w < A.length - 1 && (w++, C = A[w]), (!C || C.pos !== B) && F(B)), P = B, L.assert(!C || C.pos === B), C } }; function F(B) { A = void 0, w = -1, C = void 0, pa(x, q, W); return; function q(Y) { return B >= Y.pos && B < Y.end ? (pa(Y, q, W), !0) : !1 } function W(Y) { if (B >= Y.pos && B < Y.end) for (let R = 0; R < Y.length; R++) { let ie = Y[R]; if (ie) { if (ie.pos === B) return A = Y, w = R, C = ie, !0; if (ie.pos < B && B < ie.end) return pa(ie, q, W), !0 } } return !1 } } } e.createSyntaxCursor = v; let S; (x => { x[x.Value = -1] = "Value" })(S || (S = {})) })(D3 || (D3 = {})), w3 = new Map, Wde = /^\/\/\/\s*<(\S+)\s.*?\/>/im, zde = /^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im
-                }
-            }); function R3(e) { let t = new Map, r = new Map; return mn(e, i => { t.set(i.name.toLowerCase(), i), i.shortName && r.set(i.shortName, i.name) }), { optionsNameMap: t, shortOptionNames: r } } function w2() { return Efe || (Efe = R3(Fh)) } function pJ(e) { return Jde(e, ps) } function Jde(e, t) { let r = lo(e.type.keys()), i = (e.deprecatedKeys ? r.filter(o => !e.deprecatedKeys.has(o)) : r).map(o => `'${o}'`).join(", "); return t(_.Argument_for_0_option_must_be_Colon_1, `--${e.name}`, i) } function O3(e, t, r) { return mfe(e, v0(t || ""), r) } function Kde(e, t = "", r) { if (t = v0(t), na(t, "-")) return; if (e.type === "listOrElement" && !jl(t, ",")) return HT(e, t, r); if (t === "") return []; let i = t.split(","); switch (e.element.type) { case "number": return Zi(i, o => HT(e.element, parseInt(o), r)); case "string": return Zi(i, o => HT(e.element, o || "", r)); case "boolean": case "object": return L.fail(`List of ${e.element.type} is not yet supported.`); default: return Zi(i, o => O3(e.element, o, r)) } } function qde(e) { return e.name } function mJ(e, t, r, i) { var o; if ((o = t.alternateMode) != null && o.getOptionsNameMap().optionsNameMap.has(e.toLowerCase())) return r(t.alternateMode.diagnostic, e); let s = $C(e, t.optionDeclarations, qde); return s ? r(t.unknownDidYouMeanDiagnostic, i || e, s.name) : r(t.unknownOptionDiagnostic, i || e) } function hJ(e, t, r) { let i = {}, o, s = [], l = []; return f(t), { options: i, watchOptions: o, fileNames: s, errors: l }; function f(g) { let m = 0; for (; m < g.length;) { let v = g[m]; if (m++, v.charCodeAt(0) === 64) d(v.slice(1)); else if (v.charCodeAt(0) === 45) { let S = v.slice(v.charCodeAt(1) === 45 ? 2 : 1), x = yJ(e.getOptionsNameMap, S, !0); if (x) m = Xde(g, m, e, x, i, l); else { let A = yJ(KO.getOptionsNameMap, S, !0); A ? m = Xde(g, m, KO, A, o || (o = {}), l) : l.push(mJ(S, e, ps, v)) } } else s.push(v) } } function d(g) { let m = NO(g, r || (x => xl.readFile(x))); if (!Ta(m)) { l.push(m); return } let v = [], S = 0; for (; ;) { for (; S < m.length && m.charCodeAt(S) <= 32;)S++; if (S >= m.length) break; let x = S; if (m.charCodeAt(x) === 34) { for (S++; S < m.length && m.charCodeAt(S) !== 34;)S++; S < m.length ? (v.push(m.substring(x + 1, S)), S++) : l.push(ps(_.Unterminated_quoted_string_in_response_file_0, g)) } else { for (; m.charCodeAt(S) > 32;)S++; v.push(m.substring(x, S)) } } f(v) } } function Xde(e, t, r, i, o, s) { if (i.isTSConfigOnly) { let l = e[t]; l === "null" ? (o[i.name] = void 0, t++) : i.type === "boolean" ? l === "false" ? (o[i.name] = HT(i, !1, s), t++) : (l === "true" && t++, s.push(ps(_.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line, i.name))) : (s.push(ps(_.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line, i.name)), l && !na(l, "-") && t++) } else if (!e[t] && i.type !== "boolean" && s.push(ps(r.optionTypeMismatchDiagnostic, i.name, OL(i))), e[t] !== "null") switch (i.type) { case "number": o[i.name] = HT(i, parseInt(e[t]), s), t++; break; case "boolean": let l = e[t]; o[i.name] = HT(i, l !== "false", s), (l === "false" || l === "true") && t++; break; case "string": o[i.name] = HT(i, e[t] || "", s), t++; break; case "list": let f = Kde(i, e[t], s); o[i.name] = f || [], f && t++; break; case "listOrElement": L.fail("listOrElement not supported here"); break; default: o[i.name] = O3(i, e[t], s), t++; break } else o[i.name] = void 0, t++; return t } function $Oe(e, t) { return hJ(JO, e, t) } function gJ(e, t) { return yJ(w2, e, t) } function yJ(e, t, r = !1) { t = t.toLowerCase(); let { optionsNameMap: i, shortOptionNames: o } = e(); if (r) { let s = o.get(t); s !== void 0 && (t = s) } return i.get(t) } function Yde() { return Sfe || (Sfe = R3(j3)) } function QOe(e) { let { options: t, watchOptions: r, fileNames: i, errors: o } = hJ(Afe, e), s = t; return i.length === 0 && i.push("."), s.clean && s.force && o.push(ps(_.Options_0_and_1_cannot_be_combined, "clean", "force")), s.clean && s.verbose && o.push(ps(_.Options_0_and_1_cannot_be_combined, "clean", "verbose")), s.clean && s.watch && o.push(ps(_.Options_0_and_1_cannot_be_combined, "clean", "watch")), s.watch && s.dry && o.push(ps(_.Options_0_and_1_cannot_be_combined, "watch", "dry")), { buildOptions: s, watchOptions: r, projects: i, errors: o } } function ZOe(e, ...t) { return ps.apply(void 0, arguments).messageText } function RO(e, t, r, i, o, s) { let l = NO(e, g => r.readFile(g)); if (!Ta(l)) { r.onUnRecoverableConfigFileDiagnostic(l); return } let f = wO(e, l), d = r.getCurrentDirectory(); return f.path = Ts(e, d, Dl(r.useCaseSensitiveFileNames)), f.resolvedPath = f.path, f.originalFileName = f.fileName, MO(f, r, _a(ni(e), d), t, _a(e, d), void 0, s, i, o) } function OO(e, t) { let r = NO(e, t); return Ta(r) ? vJ(e, r) : { config: {}, error: r } } function vJ(e, t) { let r = wO(e, t); return { config: nfe(r, r.parseDiagnostics, !1, void 0), error: r.parseDiagnostics.length ? r.parseDiagnostics[0] : void 0 } } function $de(e, t) { let r = NO(e, t); return Ta(r) ? wO(e, r) : { fileName: e, parseDiagnostics: [r] } } function NO(e, t) { let r; try { r = t(e) } catch (i) { return ps(_.Cannot_read_file_0_Colon_1, e, i.message) } return r === void 0 ? ps(_.Cannot_read_file_0, e) : r } function N3(e) { return p0(e, qde) } function Qde() { return Cfe || (Cfe = R3(HO)) } function Zde() { return Ife || (Ife = N3(Fh)) } function efe() { return Lfe || (Lfe = N3(HO)) } function tfe() { return kfe || (kfe = N3(H3)) } function eNe() { return jJ === void 0 && (jJ = { name: void 0, type: "object", elementOptions: N3([{ name: "compilerOptions", type: "object", elementOptions: Zde(), extraKeyDiagnostics: JO }, { name: "watchOptions", type: "object", elementOptions: efe(), extraKeyDiagnostics: KO }, { name: "typeAcquisition", type: "object", elementOptions: tfe(), extraKeyDiagnostics: VJ }, qO, { name: "references", type: "list", element: { name: "references", type: "object" }, category: _.Projects }, { name: "files", type: "list", element: { name: "files", type: "string" }, category: _.File_Management }, { name: "include", type: "list", element: { name: "include", type: "string" }, category: _.File_Management, defaultValueDescription: _.if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk }, { name: "exclude", type: "list", element: { name: "exclude", type: "string" }, category: _.File_Management, defaultValueDescription: _.node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified }, UO]) }), jJ } function nfe(e, t, r, i) { var o; let s = (o = e.statements[0]) == null ? void 0 : o.expression, l = r ? eNe() : void 0; if (s && s.kind !== 207) { if (t.push(Nu(e, s, _.The_root_value_of_a_0_file_must_be_an_object, Hl(e.fileName) === "jsconfig.json" ? "jsconfig.json" : "tsconfig.json")), fu(s)) { let f = wr(s.elements, rs); if (f) return PO(e, f, t, !0, l, i) } return {} } return PO(e, s, t, !0, l, i) } function rfe(e, t) { var r; return PO(e, (r = e.statements[0]) == null ? void 0 : r.expression, t, !0, void 0, void 0) } function PO(e, t, r, i, o, s) { if (!t) return i ? {} : void 0; return g(t, o); function l(v) { return o && o.elementOptions === v } function f(v, S, x, A) { let w = i ? {} : void 0; for (let C of v.properties) { if (C.kind !== 299) { r.push(Nu(e, C, _.Property_assignment_expected)); continue } C.questionToken && r.push(Nu(e, C.questionToken, _.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")), m(C.name) || r.push(Nu(e, C.name, _.String_literal_with_double_quotes_expected)); let P = Vw(C.name) ? void 0 : wA(C.name), F = P && Gi(P), B = F && S ? S.get(F) : void 0; F && x && !B && (S ? r.push(mJ(F, x, (W, Y, R) => Nu(e, C.name, W, Y, R))) : r.push(Nu(e, C.name, x.unknownOptionDiagnostic, F))); let q = g(C.initializer, B); if (typeof F < "u" && (i && (w[F] = q), s && (A || l(S)))) { let W = P3(B, q); A ? W && s.onSetValidOptionKeyValueInParent(A, B, q) : l(S) && (W ? s.onSetValidOptionKeyValueInRoot(F, C.name, q, C.initializer) : B || s.onSetUnknownOptionKeyValueInRoot(F, C.name, q, C.initializer)) } } return w } function d(v, S) { if (!i) { v.forEach(x => g(x, S)); return } return Pr(v.map(x => g(x, S)), x => x !== void 0) } function g(v, S) { let x; switch (v.kind) { case 110: return w(S && S.type !== "boolean" && (S.type !== "listOrElement" || S.element.type !== "boolean")), A(!0); case 95: return w(S && S.type !== "boolean" && (S.type !== "listOrElement" || S.element.type !== "boolean")), A(!1); case 104: return w(S && S.name === "extends"), A(null); case 10: m(v) || r.push(Nu(e, v, _.String_literal_with_double_quotes_expected)), w(S && Ta(S.type) && S.type !== "string" && (S.type !== "listOrElement" || Ta(S.element.type) && S.element.type !== "string")); let C = v.text; if (S && L.assert(S.type !== "listOrElement" || S.element.type === "string", "Only string or array of string is handled for now"), S && !Ta(S.type)) { let F = S; F.type.has(C.toLowerCase()) || (r.push(Jde(F, (B, q, W) => Nu(e, v, B, q, W))), x = !0) } return A(C); case 8: return w(S && S.type !== "number" && (S.type !== "listOrElement" || S.element.type !== "number")), A(Number(v.text)); case 221: if (v.operator !== 40 || v.operand.kind !== 8) break; return w(S && S.type !== "number" && (S.type !== "listOrElement" || S.element.type !== "number")), A(-Number(v.operand.text)); case 207: w(S && S.type !== "object" && (S.type !== "listOrElement" || S.element.type !== "object")); let P = v; if (S) { let { elementOptions: F, extraKeyDiagnostics: B, name: q } = S; return A(f(P, F, B, q)) } else return A(f(P, void 0, void 0, void 0)); case 206: return w(S && S.type !== "list" && S.type !== "listOrElement"), A(d(v.elements, S && S.element)) }S ? w(!0) : r.push(Nu(e, v, _.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal)); return; function A(C) { var P; if (!x) { let F = (P = S?.extraValidation) == null ? void 0 : P.call(S, C); if (F) { r.push(Nu(e, v, ...F)); return } } return C } function w(C) { C && (r.push(Nu(e, v, _.Compiler_option_0_requires_a_value_of_type_1, S.name, OL(S))), x = !0) } } function m(v) { return yo(v) && V6(v, e) } } function OL(e) { return e.type === "listOrElement" ? `${OL(e.element)} or Array` : e.type === "list" ? "Array" : Ta(e.type) ? e.type : "string" } function P3(e, t) { if (e) { if (R2(t)) return !0; if (e.type === "list") return ba(t); if (e.type === "listOrElement") return ba(t) || P3(e.element, t); let r = Ta(e.type) ? e.type : "string"; return typeof t === r } return !1 } function tNe(e, t, r) { var i, o, s; let l = Dl(r.useCaseSensitiveFileNames), f = on(Pr(e.fileNames, (o = (i = e.options.configFile) == null ? void 0 : i.configFileSpecs) != null && o.validatedIncludeSpecs ? rNe(t, e.options.configFile.configFileSpecs.validatedIncludeSpecs, e.options.configFile.configFileSpecs.validatedExcludeSpecs, r) : h0), v => _w(_a(t, r.getCurrentDirectory()), _a(v, r.getCurrentDirectory()), l)), d = TJ(e.options, { configFilePath: _a(t, r.getCurrentDirectory()), useCaseSensitiveFileNames: r.useCaseSensitiveFileNames }), g = e.watchOptions && iNe(e.watchOptions); return { compilerOptions: { ...bJ(d), showConfig: void 0, configFile: void 0, configFilePath: void 0, help: void 0, init: void 0, listFiles: void 0, listEmittedFiles: void 0, project: void 0, build: void 0, version: void 0 }, watchOptions: g && bJ(g), references: on(e.projectReferences, v => ({ ...v, path: v.originalPath ? v.originalPath : "", originalPath: void 0 })), files: Fn(f) ? f : void 0, ...(s = e.options.configFile) != null && s.configFileSpecs ? { include: nNe(e.options.configFile.configFileSpecs.validatedIncludeSpecs), exclude: e.options.configFile.configFileSpecs.validatedExcludeSpecs } : {}, compileOnSave: e.compileOnSave ? !0 : void 0 } } function bJ(e) { return { ...lo(e.entries()).reduce((t, r) => ({ ...t, [r[0]]: r[1] }), {}) } } function nNe(e) { if (Fn(e)) { if (Fn(e) !== 1) return e; if (e[0] !== z3) return e } } function rNe(e, t, r, i) { if (!t) return h0; let o = tL(e, r, t, i.useCaseSensitiveFileNames, i.getCurrentDirectory()), s = o.excludePattern && Qy(o.excludePattern, i.useCaseSensitiveFileNames), l = o.includeFilePattern && Qy(o.includeFilePattern, i.useCaseSensitiveFileNames); return l ? s ? f => !(l.test(f) && !s.test(f)) : f => !l.test(f) : s ? f => s.test(f) : h0 } function ife(e) { switch (e.type) { case "string": case "number": case "boolean": case "object": return; case "list": case "listOrElement": return ife(e.element); default: return e.type } } function EJ(e, t) { return Ld(t, (r, i) => { if (r === e) return i }) } function TJ(e, t) { return afe(e, w2(), t) } function iNe(e) { return afe(e, Qde()) } function afe(e, { optionsNameMap: t }, r) { let i = new Map, o = r && Dl(r.useCaseSensitiveFileNames); for (let s in e) if (fs(e, s)) { if (t.has(s) && (t.get(s).category === _.Command_line_Options || t.get(s).category === _.Output_Formatting)) continue; let l = e[s], f = t.get(s.toLowerCase()); if (f) { L.assert(f.type !== "listOrElement"); let d = ife(f); d ? f.type === "list" ? i.set(s, l.map(g => EJ(g, d))) : i.set(s, EJ(l, d)) : r && f.isFilePath ? i.set(s, _w(r.configFilePath, _a(l, ni(r.configFilePath)), o)) : i.set(s, l) } } return i } function aNe(e, t) { let r = ofe(e); return o(); function i(s) { return Array(s + 1).join(" ") } function o() { let s = [], l = i(2); return B3.forEach(f => { if (!r.has(f.name)) return; let d = r.get(f.name), g = wJ(f); d !== g ? s.push(`${l}${f.name}: ${d}`) : fs(W3, f.name) && s.push(`${l}${f.name}: ${g}`) }), s.join(t) + t } } function ofe(e) { let t = d8(e, W3); return TJ(t) } function oNe(e, t, r) { let i = ofe(e); return l(); function o(f) { return Array(f + 1).join(" ") } function s({ category: f, name: d, isCommandLineOnly: g }) { let m = [_.Command_line_Options, _.Editor_Support, _.Compiler_Diagnostics, _.Backwards_Compatibility, _.Watch_and_Build_Modes, _.Output_Formatting]; return !g && f !== void 0 && (!m.includes(f) || i.has(d)) } function l() { let f = new Map; f.set(_.Projects, []), f.set(_.Language_and_Environment, []), f.set(_.Modules, []), f.set(_.JavaScript_Support, []), f.set(_.Emit, []), f.set(_.Interop_Constraints, []), f.set(_.Type_Checking, []), f.set(_.Completeness, []); for (let x of Fh) if (s(x)) { let A = f.get(x.category); A || f.set(x.category, A = []), A.push(x) } let d = 0, g = 0, m = []; f.forEach((x, A) => { m.length !== 0 && m.push({ value: "" }), m.push({ value: `/* ${uo(A)} */` }); for (let w of x) { let C; i.has(w.name) ? C = `"${w.name}": ${JSON.stringify(i.get(w.name))}${(g += 1) === i.size ? "" : ","}` : C = `// "${w.name}": ${JSON.stringify(wJ(w))},`, m.push({ value: C, description: `/* ${w.description && uo(w.description) || w.name} */` }), d = Math.max(C.length, d) } }); let v = o(2), S = []; S.push("{"), S.push(`${v}"compilerOptions": {`), S.push(`${v}${v}/* ${uo(_.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file)} */`), S.push(""); for (let x of m) { let { value: A, description: w = "" } = x; S.push(A && `${v}${v}${A}${w && o(d - A.length + 2) + w}`) } if (t.length) { S.push(`${v}},`), S.push(`${v}"files": [`); for (let x = 0; x < t.length; x++)S.push(`${v}${v}${JSON.stringify(t[x])}${x === t.length - 1 ? "" : ","}`); S.push(`${v}]`) } else S.push(`${v}}`); return S.push("}"), S.join(r) + r } } function SJ(e, t) { let r = {}, i = w2().optionsNameMap; for (let o in e) fs(e, o) && (r[o] = sNe(i.get(o.toLowerCase()), e[o], t)); return r.configFilePath && (r.configFilePath = t(r.configFilePath)), r } function sNe(e, t, r) { if (e && !R2(t)) { if (e.type === "list") { let i = t; if (e.element.isFilePath && i.length) return i.map(r) } else if (e.isFilePath) return r(t); L.assert(e.type !== "listOrElement") } return t } function cNe(e, t, r, i, o, s, l, f, d) { return sfe(e, void 0, t, r, i, d, o, s, l, f) } function MO(e, t, r, i, o, s, l, f, d) { var g, m; (g = ai) == null || g.push(ai.Phase.Parse, "parseJsonSourceFileConfigFileContent", { path: e.fileName }); let v = sfe(void 0, e, t, r, i, d, o, s, l, f); return (m = ai) == null || m.pop(), v } function xJ(e, t) { t && Object.defineProperty(e, "configFile", { enumerable: !1, writable: !1, value: t }) } function R2(e) { return e == null } function AJ(e, t) { return ni(_a(e, t)) } function sfe(e, t, r, i, o = {}, s, l, f = [], d = [], g) { L.assert(e === void 0 && t !== void 0 || e !== void 0 && t === void 0); let m = [], v = ufe(e, t, r, i, l, f, m, g), { raw: S } = v, x = d8(o, v.options || {}), A = s && v.watchOptions ? d8(s, v.watchOptions) : v.watchOptions || s; x.configFilePath = l && Al(l); let w = P(); t && (t.configFileSpecs = w), xJ(x, t); let C = So(l ? AJ(l, i) : i); return { options: x, watchOptions: A, fileNames: F(C), projectReferences: B(C), typeAcquisition: v.typeAcquisition || F3(), raw: S, errors: m, wildcardDirectories: yNe(w, C, r.useCaseSensitiveFileNames), compileOnSave: !!S.compileOnSave }; function P() { let ie = Y("references", ge => typeof ge == "object", "object"), $ = q(W("files")); if ($) { let ge = ie === "no-prop" || ba(ie) && ie.length === 0, X = fs(S, "extends"); if ($.length === 0 && ge && !X) if (t) { let Ve = l || "tsconfig.json", we = _.The_files_list_in_config_file_0_is_empty, ke = ks(Hw(t, "files"), Ce => Ce.initializer), Pe = ke ? Nu(t, ke, we, Ve) : ps(we, Ve); m.push(Pe) } else R(_.The_files_list_in_config_file_0_is_empty, l || "tsconfig.json") } let fe = q(W("include")), Z = W("exclude"), U = !1, re = q(Z); if (Z === "no-prop" && S.compilerOptions) { let ge = S.compilerOptions.outDir, X = S.compilerOptions.declarationDir; (ge || X) && (re = [ge, X].filter(Ve => !!Ve)) } $ === void 0 && fe === void 0 && (fe = [z3], U = !0); let le, _e; return fe && (le = bfe(fe, m, !0, t, "include")), re && (_e = bfe(re, m, !1, t, "exclude")), { filesSpecs: $, includeSpecs: fe, excludeSpecs: re, validatedFilesSpec: Pr($, Ta), validatedIncludeSpecs: le, validatedExcludeSpecs: _e, pathPatterns: void 0, isDefaultIncludeSpec: U } } function F(ie) { let $ = BO(w, ie, x, r, d); return lfe($, FO(S), f) && m.push(cfe(w, l)), $ } function B(ie) { let $, fe = Y("references", Z => typeof Z == "object", "object"); if (ba(fe)) for (let Z of fe) typeof Z.path != "string" ? R(_.Compiler_option_0_requires_a_value_of_type_1, "reference.path", "string") : ($ || ($ = [])).push({ path: _a(Z.path, ie), originalPath: Z.path, prepend: Z.prepend, circular: Z.circular }); return $ } function q(ie) { return ba(ie) ? ie : void 0 } function W(ie) { return Y(ie, Ta, "string") } function Y(ie, $, fe) { if (fs(S, ie) && !R2(S[ie])) if (ba(S[ie])) { let Z = S[ie]; return !t && !Ji(Z, $) && m.push(ps(_.Compiler_option_0_requires_a_value_of_type_1, ie, fe)), Z } else return R(_.Compiler_option_0_requires_a_value_of_type_1, ie, "Array"), "not-array"; return "no-prop" } function R(ie, $, fe) { t || m.push(ps(ie, $, fe)) } } function lNe(e) { return e.code === _.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2.code } function cfe({ includeSpecs: e, excludeSpecs: t }, r) { return ps(_.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2, r || "tsconfig.json", JSON.stringify(e || []), JSON.stringify(t || [])) } function lfe(e, t, r) { return e.length === 0 && t && (!r || r.length === 0) } function FO(e) { return !fs(e, "files") && !fs(e, "references") } function CJ(e, t, r, i, o) { let s = i.length; return lfe(e, o) ? i.push(cfe(r, t)) : wU(i, l => !lNe(l)), s !== i.length } function uNe(e) { return !!e.options } function ufe(e, t, r, i, o, s, l, f) { var d; i = Al(i); let g = _a(o || "", i); if (s.indexOf(g) >= 0) return l.push(ps(_.Circularity_detected_while_resolving_configuration_Colon_0, [...s, g].join(" -> "))), { raw: e || rfe(t, l) }; let m = e ? dNe(e, r, i, o, l) : fNe(t, r, i, o, l); if ((d = m.options) != null && d.paths && (m.options.pathsBasePath = i), m.extendedConfigPath) { s = s.concat([g]); let S = { options: {} }; Ta(m.extendedConfigPath) ? v(S, m.extendedConfigPath) : m.extendedConfigPath.forEach(x => v(S, x)), !m.raw.include && S.include && (m.raw.include = S.include), !m.raw.exclude && S.exclude && (m.raw.exclude = S.exclude), !m.raw.files && S.files && (m.raw.files = S.files), m.raw.compileOnSave === void 0 && S.compileOnSave && (m.raw.compileOnSave = S.compileOnSave), t && S.extendedSourceFiles && (t.extendedSourceFiles = lo(S.extendedSourceFiles.keys())), m.options = JD(S.options, m.options), m.watchOptions = m.watchOptions && S.watchOptions ? JD(S.watchOptions, m.watchOptions) : m.watchOptions || S.watchOptions } return m; function v(S, x) { let A = _Ne(t, x, r, s, l, f, S); if (A && uNe(A)) { let w = A.raw, C, P = F => { w[F] && (S[F] = on(w[F], B => qp(B) ? B : vi(C || (C = rI(ni(x), i, Dl(r.useCaseSensitiveFileNames))), B))) }; P("include"), P("exclude"), P("files"), w.compileOnSave !== void 0 && (S.compileOnSave = w.compileOnSave), JD(S.options, A.options), S.watchOptions = S.watchOptions && A.watchOptions ? JD({}, S.watchOptions, A.watchOptions) : S.watchOptions || A.watchOptions } } } function dNe(e, t, r, i, o) { fs(e, "excludes") && o.push(ps(_.Unknown_option_excludes_Did_you_mean_exclude)); let s = ffe(e.compilerOptions, r, o, i), l = _fe(e.typeAcquisition, r, o, i), f = gNe(e.watchOptions, r, o); e.compileOnSave = pNe(e, r, o); let d; if (e.extends || e.extends === "") if (!P3(qO, e.extends)) o.push(ps(_.Compiler_option_0_requires_a_value_of_type_1, "extends", OL(qO))); else { let g = i ? AJ(i, r) : r; if (Ta(e.extends)) d = M3(e.extends, t, g, o, ps); else { d = []; for (let m of e.extends) Ta(m) ? d = Sn(d, M3(m, t, g, o, ps)) : o.push(ps(_.Compiler_option_0_requires_a_value_of_type_1, "extends", OL(qO.element))) } } return { raw: e, options: s, watchOptions: f, typeAcquisition: l, extendedConfigPath: d } } function fNe(e, t, r, i, o) { let s = dfe(i), l, f, d, g, v = nfe(e, o, !0, { onSetValidOptionKeyValueInParent(S, x, A) { let w; switch (S) { case "compilerOptions": w = s; break; case "watchOptions": w = f || (f = {}); break; case "typeAcquisition": w = l || (l = F3(i)); break; default: L.fail("Unknown option") }w[x.name] = LJ(x, r, A) }, onSetValidOptionKeyValueInRoot(S, x, A, w) { switch (S) { case "extends": let C = i ? AJ(i, r) : r; if (Ta(A)) d = M3(A, t, C, o, (P, F) => Nu(e, w, P, F)); else { d = []; for (let P = 0; P < A.length; P++) { let F = A[P]; Ta(F) && (d = Sn(d, M3(F, t, C, o, (B, q) => Nu(e, w.elements[P], B, q)))) } } return } }, onSetUnknownOptionKeyValueInRoot(S, x, A, w) { S === "excludes" && o.push(Nu(e, x, _.Unknown_option_excludes_Did_you_mean_exclude)), wr(B3, C => C.name === S) && (g = Sn(g, x)) } }); return l || (l = F3(i)), g && v && v.compilerOptions === void 0 && o.push(Nu(e, g[0], _._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file, wA(g[0]))), { raw: v, options: s, watchOptions: f, typeAcquisition: l, extendedConfigPath: d } } function M3(e, t, r, i, o) { if (e = Al(e), qp(e) || na(e, "./") || na(e, "../")) { let l = _a(e, r); if (!t.fileExists(l) && !Oc(l, ".json") && (l = `${l}.json`, !t.fileExists(l))) { i.push(o(_.File_0_not_found, e)); return } return l } let s = Jfe(e, vi(r, "tsconfig.json"), t); if (s.resolvedModule) return s.resolvedModule.resolvedFileName; e === "" ? i.push(o(_.Compiler_option_0_cannot_be_given_an_empty_string, "extends")) : i.push(o(_.File_0_not_found, e)) } function _Ne(e, t, r, i, o, s, l) { var f; let d = r.useCaseSensitiveFileNames ? t : n_(t), g, m, v; if (s && (g = s.get(d)) ? { extendedResult: m, extendedConfig: v } = g : (m = $de(t, S => r.readFile(S)), m.parseDiagnostics.length || (v = ufe(void 0, m, r, ni(t), Hl(t), i, o, s)), s && s.set(d, { extendedResult: m, extendedConfig: v })), e && (((f = l.extendedSourceFiles) != null ? f : l.extendedSourceFiles = new Set).add(m.fileName), m.extendedSourceFiles)) for (let S of m.extendedSourceFiles) l.extendedSourceFiles.add(S); if (m.parseDiagnostics.length) { o.push(...m.parseDiagnostics); return } return v } function pNe(e, t, r) { if (!fs(e, UO.name)) return !1; let i = GO(UO, e.compileOnSave, t, r); return typeof i == "boolean" && i } function mNe(e, t, r) { let i = []; return { options: ffe(e, t, i, r), errors: i } } function hNe(e, t, r) { let i = []; return { options: _fe(e, t, i, r), errors: i } } function dfe(e) { return e && Hl(e) === "jsconfig.json" ? { allowJs: !0, maxNodeModuleJsDepth: 2, allowSyntheticDefaultImports: !0, skipLibCheck: !0, noEmit: !0 } : {} } function ffe(e, t, r, i) { let o = dfe(i); return IJ(Zde(), e, t, o, JO, r), i && (o.configFilePath = Al(i)), o } function F3(e) { return { enable: !!e && Hl(e) === "jsconfig.json", include: [], exclude: [] } } function _fe(e, t, r, i) { let o = F3(i); return IJ(tfe(), e, t, o, VJ, r), o } function gNe(e, t, r) { return IJ(efe(), e, t, void 0, KO, r) } function IJ(e, t, r, i, o, s) { if (t) { for (let l in t) { let f = e.get(l); f ? (i || (i = {}))[f.name] = GO(f, t[l], r, s) : s.push(mJ(l, o, ps)) } return i } } function GO(e, t, r, i) { if (P3(e, t)) { let o = e.type; if (o === "list" && ba(t)) return hfe(e, t, r, i); if (o === "listOrElement") return ba(t) ? hfe(e, t, r, i) : GO(e.element, t, r, i); if (!Ta(e.type)) return mfe(e, t, i); let s = HT(e, t, i); return R2(s) ? s : pfe(e, r, s) } else i.push(ps(_.Compiler_option_0_requires_a_value_of_type_1, e.name, OL(e))) } function LJ(e, t, r) { if (!R2(r)) { if (e.type === "listOrElement" && !ba(r)) return LJ(e.element, t, r); if (e.type === "list" || e.type === "listOrElement") { let i = e; return i.element.isFilePath || !Ta(i.element.type) ? Pr(on(r, o => LJ(i.element, t, o)), o => i.listPreserveFalsyValues ? !0 : !!o) : r } else if (!Ta(e.type)) return e.type.get(Ta(r) ? r.toLowerCase() : r); return pfe(e, t, r) } } function pfe(e, t, r) { return e.isFilePath && (r = _a(r, t), r === "" && (r = ".")), r } function HT(e, t, r) { var i; if (R2(t)) return; let o = (i = e.extraValidation) == null ? void 0 : i.call(e, t); if (!o) return t; r.push(ps(...o)) } function mfe(e, t, r) { if (R2(t)) return; let i = t.toLowerCase(), o = e.type.get(i); if (o !== void 0) return HT(e, o, r); r.push(pJ(e)) } function hfe(e, t, r, i) { return Pr(on(t, o => GO(e.element, o, r, i)), o => e.listPreserveFalsyValues ? !0 : !!o) } function BO(e, t, r, i, o = Je) { t = So(t); let s = Dl(i.useCaseSensitiveFileNames), l = new Map, f = new Map, d = new Map, { validatedFilesSpec: g, validatedIncludeSpecs: m, validatedExcludeSpecs: v } = e, S = nL(r, o), x = FR(r, S); if (g) for (let P of g) { let F = _a(P, t); l.set(s(F), F) } let A; if (m && m.length > 0) for (let P of i.readDirectory(t, t_(x), v, m, void 0)) { if (Gc(P, ".json")) { if (!A) { let q = m.filter(Y => Oc(Y, ".json")), W = on(m4(q, t, "files"), Y => `^${Y}$`); A = W ? W.map(Y => Qy(Y, i.useCaseSensitiveFileNames)) : Je } if (Yc(A, q => q.test(P)) !== -1) { let q = s(P); !l.has(q) && !d.has(q) && d.set(q, P) } continue } if (bNe(P, l, f, S, s)) continue; ENe(P, f, S, s); let F = s(P); !l.has(F) && !f.has(F) && f.set(F, P) } let w = lo(l.values()), C = lo(f.values()); return w.concat(C, lo(d.values())) } function gfe(e, t, r, i, o) { let { validatedFilesSpec: s, validatedIncludeSpecs: l, validatedExcludeSpecs: f } = t; if (!Fn(l) || !Fn(f)) return !1; r = So(r); let d = Dl(i); if (s) { for (let g of s) if (d(_a(g, r)) === e) return !1 } return vfe(e, f, i, o, r) } function yfe(e) { let t = na(e, "**/") ? 0 : e.indexOf("/**/"); return t === -1 ? !1 : (Oc(e, "/..") ? e.length : e.lastIndexOf("/../")) > t } function G3(e, t, r, i) { return vfe(e, Pr(t, o => !yfe(o)), r, i) } function vfe(e, t, r, i, o) { let s = eL(t, vi(So(i), o), "exclude"), l = s && Qy(s, r); return l ? l.test(e) ? !0 : !gA(e) && l.test(cu(e)) : !1 } function bfe(e, t, r, i, o) { return e.filter(l => { if (!Ta(l)) return !1; let f = kJ(l, r); return f !== void 0 && t.push(s(...f)), f === void 0 }); function s(l, f) { let d = w6(i, o, f); return d ? Nu(i, d, l, f) : ps(l, f) } } function kJ(e, t) { if (L.assert(typeof e == "string"), t && Dfe.test(e)) return [_.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, e]; if (yfe(e)) return [_.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, e] } function yNe({ validatedIncludeSpecs: e, validatedExcludeSpecs: t }, r, i) { let o = eL(t, r, "exclude"), s = o && new RegExp(o, i ? "" : "i"), l = {}; if (e !== void 0) { let f = []; for (let d of e) { let g = So(vi(r, d)); if (s && s.test(g)) continue; let m = vNe(g, i); if (m) { let { key: v, flags: S } = m, x = l[v]; (x === void 0 || x < S) && (l[v] = S, S === 1 && f.push(v)) } } for (let d in l) if (fs(l, d)) for (let g of f) d !== g && Gy(g, d, r, !i) && delete l[d] } return l } function vNe(e, t) { let r = wfe.exec(e); if (r) { let i = e.indexOf("?"), o = e.indexOf("*"), s = e.lastIndexOf(_s); return { key: t ? r[0] : n_(r[0]), flags: i !== -1 && i < s || o !== -1 && o < s ? 1 : 0 } } if (LW(e.substring(e.lastIndexOf(_s) + 1))) return { key: sT(t ? e : n_(e)), flags: 1 } } function bNe(e, t, r, i, o) { let s = mn(i, l => $c(e, l) ? l : void 0); if (!s) return !1; for (let l of s) { if (Gc(e, l)) return !1; let f = o(V0(e, l)); if (t.has(f) || r.has(f)) { if (l === ".d.ts" && (Gc(e, ".js") || Gc(e, ".jsx"))) continue; return !0 } } return !1 } function ENe(e, t, r, i) { let o = mn(r, s => $c(e, s) ? s : void 0); if (o) for (let s = o.length - 1; s >= 0; s--) { let l = o[s]; if (Gc(e, l)) return; let f = i(V0(e, l)); t.delete(f) } } function TNe(e) { let t = {}; for (let r in e) if (fs(e, r)) { let i = gJ(r); i !== void 0 && (t[r] = DJ(e[r], i)) } return t } function DJ(e, t) { switch (t.type) { case "object": return ""; case "string": return ""; case "number": return typeof e == "number" ? e : ""; case "boolean": return typeof e == "boolean" ? e : ""; case "listOrElement": if (!ba(e)) return DJ(e, t.element); case "list": let r = t.element; return ba(e) ? e.map(i => DJ(i, r)) : ""; default: return Ld(t.type, (i, o) => { if (i === e) return o }) } } function wJ(e) { switch (e.type) { case "number": return 1; case "boolean": return !0; case "string": let t = e.defaultValueDescription; return e.isFilePath ? `./${t && typeof t == "string" ? t : ""}` : ""; case "list": return []; case "listOrElement": return wJ(e.element); case "object": return {}; default: let r = u8(e.type.keys()); return r !== void 0 ? r : L.fail("Expected 'option.type' to have entries.") } } var UO, RJ, NL, OJ, VO, jO, HO, WO, zO, NJ, B3, Fh, PJ, MJ, FJ, U3, V3, GJ, BJ, UJ, j3, H3, Efe, Tfe, W3, JO, Sfe, xfe, Afe, VJ, Cfe, KO, Ife, Lfe, kfe, qO, jJ, z3, Dfe, wfe, SNe = gt({ "src/compiler/commandLineParser.ts"() { "use strict"; fa(), UO = { name: "compileOnSave", type: "boolean", defaultValueDescription: !1 }, RJ = new Map(Object.entries({ preserve: 1, "react-native": 3, react: 2, "react-jsx": 4, "react-jsxdev": 5 })), NL = new Map(RU(RJ.entries(), ([e, t]) => ["" + t, e])), OJ = [["es5", "lib.es5.d.ts"], ["es6", "lib.es2015.d.ts"], ["es2015", "lib.es2015.d.ts"], ["es7", "lib.es2016.d.ts"], ["es2016", "lib.es2016.d.ts"], ["es2017", "lib.es2017.d.ts"], ["es2018", "lib.es2018.d.ts"], ["es2019", "lib.es2019.d.ts"], ["es2020", "lib.es2020.d.ts"], ["es2021", "lib.es2021.d.ts"], ["es2022", "lib.es2022.d.ts"], ["es2023", "lib.es2023.d.ts"], ["esnext", "lib.esnext.d.ts"], ["dom", "lib.dom.d.ts"], ["dom.iterable", "lib.dom.iterable.d.ts"], ["webworker", "lib.webworker.d.ts"], ["webworker.importscripts", "lib.webworker.importscripts.d.ts"], ["webworker.iterable", "lib.webworker.iterable.d.ts"], ["scripthost", "lib.scripthost.d.ts"], ["es2015.core", "lib.es2015.core.d.ts"], ["es2015.collection", "lib.es2015.collection.d.ts"], ["es2015.generator", "lib.es2015.generator.d.ts"], ["es2015.iterable", "lib.es2015.iterable.d.ts"], ["es2015.promise", "lib.es2015.promise.d.ts"], ["es2015.proxy", "lib.es2015.proxy.d.ts"], ["es2015.reflect", "lib.es2015.reflect.d.ts"], ["es2015.symbol", "lib.es2015.symbol.d.ts"], ["es2015.symbol.wellknown", "lib.es2015.symbol.wellknown.d.ts"], ["es2016.array.include", "lib.es2016.array.include.d.ts"], ["es2017.object", "lib.es2017.object.d.ts"], ["es2017.sharedmemory", "lib.es2017.sharedmemory.d.ts"], ["es2017.string", "lib.es2017.string.d.ts"], ["es2017.intl", "lib.es2017.intl.d.ts"], ["es2017.typedarrays", "lib.es2017.typedarrays.d.ts"], ["es2018.asyncgenerator", "lib.es2018.asyncgenerator.d.ts"], ["es2018.asynciterable", "lib.es2018.asynciterable.d.ts"], ["es2018.intl", "lib.es2018.intl.d.ts"], ["es2018.promise", "lib.es2018.promise.d.ts"], ["es2018.regexp", "lib.es2018.regexp.d.ts"], ["es2019.array", "lib.es2019.array.d.ts"], ["es2019.object", "lib.es2019.object.d.ts"], ["es2019.string", "lib.es2019.string.d.ts"], ["es2019.symbol", "lib.es2019.symbol.d.ts"], ["es2019.intl", "lib.es2019.intl.d.ts"], ["es2020.bigint", "lib.es2020.bigint.d.ts"], ["es2020.date", "lib.es2020.date.d.ts"], ["es2020.promise", "lib.es2020.promise.d.ts"], ["es2020.sharedmemory", "lib.es2020.sharedmemory.d.ts"], ["es2020.string", "lib.es2020.string.d.ts"], ["es2020.symbol.wellknown", "lib.es2020.symbol.wellknown.d.ts"], ["es2020.intl", "lib.es2020.intl.d.ts"], ["es2020.number", "lib.es2020.number.d.ts"], ["es2021.promise", "lib.es2021.promise.d.ts"], ["es2021.string", "lib.es2021.string.d.ts"], ["es2021.weakref", "lib.es2021.weakref.d.ts"], ["es2021.intl", "lib.es2021.intl.d.ts"], ["es2022.array", "lib.es2022.array.d.ts"], ["es2022.error", "lib.es2022.error.d.ts"], ["es2022.intl", "lib.es2022.intl.d.ts"], ["es2022.object", "lib.es2022.object.d.ts"], ["es2022.sharedmemory", "lib.es2022.sharedmemory.d.ts"], ["es2022.string", "lib.es2022.string.d.ts"], ["es2022.regexp", "lib.es2022.regexp.d.ts"], ["es2023.array", "lib.es2023.array.d.ts"], ["esnext.array", "lib.es2023.array.d.ts"], ["esnext.symbol", "lib.es2019.symbol.d.ts"], ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"], ["esnext.intl", "lib.esnext.intl.d.ts"], ["esnext.bigint", "lib.es2020.bigint.d.ts"], ["esnext.string", "lib.es2022.string.d.ts"], ["esnext.promise", "lib.es2021.promise.d.ts"], ["esnext.weakref", "lib.es2021.weakref.d.ts"], ["decorators", "lib.decorators.d.ts"], ["decorators.legacy", "lib.decorators.legacy.d.ts"]], VO = OJ.map(e => e[0]), jO = new Map(OJ), HO = [{ name: "watchFile", type: new Map(Object.entries({ fixedpollinginterval: 0, prioritypollinginterval: 1, dynamicprioritypolling: 2, fixedchunksizepolling: 3, usefsevents: 4, usefseventsonparentdirectory: 5 })), category: _.Watch_and_Build_Modes, description: _.Specify_how_the_TypeScript_watch_mode_works, defaultValueDescription: 4 }, { name: "watchDirectory", type: new Map(Object.entries({ usefsevents: 0, fixedpollinginterval: 1, dynamicprioritypolling: 2, fixedchunksizepolling: 3 })), category: _.Watch_and_Build_Modes, description: _.Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality, defaultValueDescription: 0 }, { name: "fallbackPolling", type: new Map(Object.entries({ fixedinterval: 0, priorityinterval: 1, dynamicpriority: 2, fixedchunksize: 3 })), category: _.Watch_and_Build_Modes, description: _.Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers, defaultValueDescription: 1 }, { name: "synchronousWatchDirectory", type: "boolean", category: _.Watch_and_Build_Modes, description: _.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively, defaultValueDescription: !1 }, { name: "excludeDirectories", type: "list", element: { name: "excludeDirectory", type: "string", isFilePath: !0, extraValidation: kJ }, category: _.Watch_and_Build_Modes, description: _.Remove_a_list_of_directories_from_the_watch_process }, { name: "excludeFiles", type: "list", element: { name: "excludeFile", type: "string", isFilePath: !0, extraValidation: kJ }, category: _.Watch_and_Build_Modes, description: _.Remove_a_list_of_files_from_the_watch_mode_s_processing }], WO = [{ name: "help", shortName: "h", type: "boolean", showInSimplifiedHelpView: !0, isCommandLineOnly: !0, category: _.Command_line_Options, description: _.Print_this_message, defaultValueDescription: !1 }, { name: "help", shortName: "?", type: "boolean", isCommandLineOnly: !0, category: _.Command_line_Options, defaultValueDescription: !1 }, { name: "watch", shortName: "w", type: "boolean", showInSimplifiedHelpView: !0, isCommandLineOnly: !0, category: _.Command_line_Options, description: _.Watch_input_files, defaultValueDescription: !1 }, { name: "preserveWatchOutput", type: "boolean", showInSimplifiedHelpView: !1, category: _.Output_Formatting, description: _.Disable_wiping_the_console_in_watch_mode, defaultValueDescription: !1 }, { name: "listFiles", type: "boolean", category: _.Compiler_Diagnostics, description: _.Print_all_of_the_files_read_during_the_compilation, defaultValueDescription: !1 }, { name: "explainFiles", type: "boolean", category: _.Compiler_Diagnostics, description: _.Print_files_read_during_the_compilation_including_why_it_was_included, defaultValueDescription: !1 }, { name: "listEmittedFiles", type: "boolean", category: _.Compiler_Diagnostics, description: _.Print_the_names_of_emitted_files_after_a_compilation, defaultValueDescription: !1 }, { name: "pretty", type: "boolean", showInSimplifiedHelpView: !0, category: _.Output_Formatting, description: _.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read, defaultValueDescription: !0 }, { name: "traceResolution", type: "boolean", category: _.Compiler_Diagnostics, description: _.Log_paths_used_during_the_moduleResolution_process, defaultValueDescription: !1 }, { name: "diagnostics", type: "boolean", category: _.Compiler_Diagnostics, description: _.Output_compiler_performance_information_after_building, defaultValueDescription: !1 }, { name: "extendedDiagnostics", type: "boolean", category: _.Compiler_Diagnostics, description: _.Output_more_detailed_compiler_performance_information_after_building, defaultValueDescription: !1 }, { name: "generateCpuProfile", type: "string", isFilePath: !0, paramType: _.FILE_OR_DIRECTORY, category: _.Compiler_Diagnostics, description: _.Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging, defaultValueDescription: "profile.cpuprofile" }, { name: "generateTrace", type: "string", isFilePath: !0, isCommandLineOnly: !0, paramType: _.DIRECTORY, category: _.Compiler_Diagnostics, description: _.Generates_an_event_trace_and_a_list_of_types }, { name: "incremental", shortName: "i", type: "boolean", category: _.Projects, description: _.Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects, transpileOptionValue: void 0, defaultValueDescription: _.false_unless_composite_is_set }, { name: "declaration", shortName: "d", type: "boolean", affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Emit, transpileOptionValue: void 0, description: _.Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project, defaultValueDescription: _.false_unless_composite_is_set }, { name: "declarationMap", type: "boolean", affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Emit, transpileOptionValue: void 0, defaultValueDescription: !1, description: _.Create_sourcemaps_for_d_ts_files }, { name: "emitDeclarationOnly", type: "boolean", affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Emit, description: _.Only_output_d_ts_files_and_not_JavaScript_files, transpileOptionValue: void 0, defaultValueDescription: !1 }, { name: "sourceMap", type: "boolean", affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Emit, defaultValueDescription: !1, description: _.Create_source_map_files_for_emitted_JavaScript_files }, { name: "inlineSourceMap", type: "boolean", affectsBuildInfo: !0, category: _.Emit, description: _.Include_sourcemap_files_inside_the_emitted_JavaScript, defaultValueDescription: !1 }, { name: "assumeChangesOnlyAffectDirectDependencies", type: "boolean", affectsSemanticDiagnostics: !0, affectsEmit: !0, affectsBuildInfo: !0, category: _.Watch_and_Build_Modes, description: _.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it, defaultValueDescription: !1 }, { name: "locale", type: "string", category: _.Command_line_Options, isCommandLineOnly: !0, description: _.Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit, defaultValueDescription: _.Platform_specific }], zO = { name: "target", shortName: "t", type: new Map(Object.entries({ es3: 0, es5: 1, es6: 2, es2015: 2, es2016: 3, es2017: 4, es2018: 5, es2019: 6, es2020: 7, es2021: 8, es2022: 9, esnext: 99 })), affectsSourceFile: !0, affectsModuleResolution: !0, affectsEmit: !0, affectsBuildInfo: !0, paramType: _.VERSION, showInSimplifiedHelpView: !0, category: _.Language_and_Environment, description: _.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations, defaultValueDescription: 1 }, NJ = { name: "module", shortName: "m", type: new Map(Object.entries({ none: 0, commonjs: 1, amd: 2, system: 4, umd: 3, es6: 5, es2015: 5, es2020: 6, es2022: 7, esnext: 99, node16: 100, nodenext: 199 })), affectsModuleResolution: !0, affectsEmit: !0, affectsBuildInfo: !0, paramType: _.KIND, showInSimplifiedHelpView: !0, category: _.Modules, description: _.Specify_what_module_code_is_generated, defaultValueDescription: void 0 }, B3 = [{ name: "all", type: "boolean", showInSimplifiedHelpView: !0, category: _.Command_line_Options, description: _.Show_all_compiler_options, defaultValueDescription: !1 }, { name: "version", shortName: "v", type: "boolean", showInSimplifiedHelpView: !0, category: _.Command_line_Options, description: _.Print_the_compiler_s_version, defaultValueDescription: !1 }, { name: "init", type: "boolean", showInSimplifiedHelpView: !0, category: _.Command_line_Options, description: _.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file, defaultValueDescription: !1 }, { name: "project", shortName: "p", type: "string", isFilePath: !0, showInSimplifiedHelpView: !0, category: _.Command_line_Options, paramType: _.FILE_OR_DIRECTORY, description: _.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json }, { name: "build", type: "boolean", shortName: "b", showInSimplifiedHelpView: !0, category: _.Command_line_Options, description: _.Build_one_or_more_projects_and_their_dependencies_if_out_of_date, defaultValueDescription: !1 }, { name: "showConfig", type: "boolean", showInSimplifiedHelpView: !0, category: _.Command_line_Options, isCommandLineOnly: !0, description: _.Print_the_final_configuration_instead_of_building, defaultValueDescription: !1 }, { name: "listFilesOnly", type: "boolean", category: _.Command_line_Options, isCommandLineOnly: !0, description: _.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing, defaultValueDescription: !1 }, zO, NJ, { name: "lib", type: "list", element: { name: "lib", type: jO, defaultValueDescription: void 0 }, affectsProgramStructure: !0, showInSimplifiedHelpView: !0, category: _.Language_and_Environment, description: _.Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment, transpileOptionValue: void 0 }, { name: "allowJs", type: "boolean", affectsModuleResolution: !0, showInSimplifiedHelpView: !0, category: _.JavaScript_Support, description: _.Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files, defaultValueDescription: !1 }, { name: "checkJs", type: "boolean", showInSimplifiedHelpView: !0, category: _.JavaScript_Support, description: _.Enable_error_reporting_in_type_checked_JavaScript_files, defaultValueDescription: !1 }, { name: "jsx", type: RJ, affectsSourceFile: !0, affectsEmit: !0, affectsBuildInfo: !0, affectsModuleResolution: !0, paramType: _.KIND, showInSimplifiedHelpView: !0, category: _.Language_and_Environment, description: _.Specify_what_JSX_code_is_generated, defaultValueDescription: void 0 }, { name: "outFile", type: "string", affectsEmit: !0, affectsBuildInfo: !0, affectsDeclarationPath: !0, isFilePath: !0, paramType: _.FILE, showInSimplifiedHelpView: !0, category: _.Emit, description: _.Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output, transpileOptionValue: void 0 }, { name: "outDir", type: "string", affectsEmit: !0, affectsBuildInfo: !0, affectsDeclarationPath: !0, isFilePath: !0, paramType: _.DIRECTORY, showInSimplifiedHelpView: !0, category: _.Emit, description: _.Specify_an_output_folder_for_all_emitted_files }, { name: "rootDir", type: "string", affectsEmit: !0, affectsBuildInfo: !0, affectsDeclarationPath: !0, isFilePath: !0, paramType: _.LOCATION, category: _.Modules, description: _.Specify_the_root_folder_within_your_source_files, defaultValueDescription: _.Computed_from_the_list_of_input_files }, { name: "composite", type: "boolean", affectsBuildInfo: !0, isTSConfigOnly: !0, category: _.Projects, transpileOptionValue: void 0, defaultValueDescription: !1, description: _.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references }, { name: "tsBuildInfoFile", type: "string", affectsEmit: !0, affectsBuildInfo: !0, isFilePath: !0, paramType: _.FILE, category: _.Projects, transpileOptionValue: void 0, defaultValueDescription: ".tsbuildinfo", description: _.Specify_the_path_to_tsbuildinfo_incremental_compilation_file }, { name: "removeComments", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Emit, defaultValueDescription: !1, description: _.Disable_emitting_comments }, { name: "noEmit", type: "boolean", showInSimplifiedHelpView: !0, category: _.Emit, description: _.Disable_emitting_files_from_a_compilation, transpileOptionValue: void 0, defaultValueDescription: !1 }, { name: "importHelpers", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file, defaultValueDescription: !1 }, { name: "importsNotUsedAsValues", type: new Map(Object.entries({ remove: 0, preserve: 1, error: 2 })), affectsEmit: !0, affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types, defaultValueDescription: 0 }, { name: "downlevelIteration", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration, defaultValueDescription: !1 }, { name: "isolatedModules", type: "boolean", category: _.Interop_Constraints, description: _.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports, transpileOptionValue: !0, defaultValueDescription: !1 }, { name: "verbatimModuleSyntax", type: "boolean", category: _.Interop_Constraints, description: _.Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting, defaultValueDescription: !1 }, { name: "strict", type: "boolean", affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Type_Checking, description: _.Enable_all_strict_type_checking_options, defaultValueDescription: !1 }, { name: "noImplicitAny", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type, defaultValueDescription: _.false_unless_strict_is_set }, { name: "strictNullChecks", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.When_type_checking_take_into_account_null_and_undefined, defaultValueDescription: _.false_unless_strict_is_set }, { name: "strictFunctionTypes", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible, defaultValueDescription: _.false_unless_strict_is_set }, { name: "strictBindCallApply", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function, defaultValueDescription: _.false_unless_strict_is_set }, { name: "strictPropertyInitialization", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor, defaultValueDescription: _.false_unless_strict_is_set }, { name: "noImplicitThis", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.Enable_error_reporting_when_this_is_given_the_type_any, defaultValueDescription: _.false_unless_strict_is_set }, { name: "useUnknownInCatchVariables", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.Default_catch_clause_variables_as_unknown_instead_of_any, defaultValueDescription: !1 }, { name: "alwaysStrict", type: "boolean", affectsSourceFile: !0, affectsEmit: !0, affectsBuildInfo: !0, strictFlag: !0, category: _.Type_Checking, description: _.Ensure_use_strict_is_always_emitted, defaultValueDescription: _.false_unless_strict_is_set }, { name: "noUnusedLocals", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Enable_error_reporting_when_local_variables_aren_t_read, defaultValueDescription: !1 }, { name: "noUnusedParameters", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Raise_an_error_when_a_function_parameter_isn_t_read, defaultValueDescription: !1 }, { name: "exactOptionalPropertyTypes", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Interpret_optional_property_types_as_written_rather_than_adding_undefined, defaultValueDescription: !1 }, { name: "noImplicitReturns", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function, defaultValueDescription: !1 }, { name: "noFallthroughCasesInSwitch", type: "boolean", affectsBindDiagnostics: !0, affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Enable_error_reporting_for_fallthrough_cases_in_switch_statements, defaultValueDescription: !1 }, { name: "noUncheckedIndexedAccess", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Add_undefined_to_a_type_when_accessed_using_an_index, defaultValueDescription: !1 }, { name: "noImplicitOverride", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier, defaultValueDescription: !1 }, { name: "noPropertyAccessFromIndexSignature", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, showInSimplifiedHelpView: !1, category: _.Type_Checking, description: _.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type, defaultValueDescription: !1 }, { name: "moduleResolution", type: new Map(Object.entries({ node10: 2, node: 2, classic: 1, node16: 3, nodenext: 99, bundler: 100 })), deprecatedKeys: new Set(["node"]), affectsModuleResolution: !0, paramType: _.STRATEGY, category: _.Modules, description: _.Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier, defaultValueDescription: _.module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node }, { name: "baseUrl", type: "string", affectsModuleResolution: !0, isFilePath: !0, category: _.Modules, description: _.Specify_the_base_directory_to_resolve_non_relative_module_names }, { name: "paths", type: "object", affectsModuleResolution: !0, isTSConfigOnly: !0, category: _.Modules, description: _.Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations, transpileOptionValue: void 0 }, { name: "rootDirs", type: "list", isTSConfigOnly: !0, element: { name: "rootDirs", type: "string", isFilePath: !0 }, affectsModuleResolution: !0, category: _.Modules, description: _.Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules, transpileOptionValue: void 0, defaultValueDescription: _.Computed_from_the_list_of_input_files }, { name: "typeRoots", type: "list", element: { name: "typeRoots", type: "string", isFilePath: !0 }, affectsModuleResolution: !0, category: _.Modules, description: _.Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types }, { name: "types", type: "list", element: { name: "types", type: "string" }, affectsProgramStructure: !0, showInSimplifiedHelpView: !0, category: _.Modules, description: _.Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file, transpileOptionValue: void 0 }, { name: "allowSyntheticDefaultImports", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Interop_Constraints, description: _.Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export, defaultValueDescription: _.module_system_or_esModuleInterop }, { name: "esModuleInterop", type: "boolean", affectsSemanticDiagnostics: !0, affectsEmit: !0, affectsBuildInfo: !0, showInSimplifiedHelpView: !0, category: _.Interop_Constraints, description: _.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility, defaultValueDescription: !1 }, { name: "preserveSymlinks", type: "boolean", category: _.Interop_Constraints, description: _.Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node, defaultValueDescription: !1 }, { name: "allowUmdGlobalAccess", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Modules, description: _.Allow_accessing_UMD_globals_from_modules, defaultValueDescription: !1 }, { name: "moduleSuffixes", type: "list", element: { name: "suffix", type: "string" }, listPreserveFalsyValues: !0, affectsModuleResolution: !0, category: _.Modules, description: _.List_of_file_name_suffixes_to_search_when_resolving_a_module }, { name: "allowImportingTsExtensions", type: "boolean", affectsSemanticDiagnostics: !0, category: _.Modules, description: _.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set, defaultValueDescription: !1 }, { name: "resolvePackageJsonExports", type: "boolean", affectsModuleResolution: !0, category: _.Modules, description: _.Use_the_package_json_exports_field_when_resolving_package_imports, defaultValueDescription: _.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false }, { name: "resolvePackageJsonImports", type: "boolean", affectsModuleResolution: !0, category: _.Modules, description: _.Use_the_package_json_imports_field_when_resolving_imports, defaultValueDescription: _.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false }, { name: "customConditions", type: "list", element: { name: "condition", type: "string" }, affectsModuleResolution: !0, category: _.Modules, description: _.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports }, { name: "sourceRoot", type: "string", affectsEmit: !0, affectsBuildInfo: !0, paramType: _.LOCATION, category: _.Emit, description: _.Specify_the_root_path_for_debuggers_to_find_the_reference_source_code }, { name: "mapRoot", type: "string", affectsEmit: !0, affectsBuildInfo: !0, paramType: _.LOCATION, category: _.Emit, description: _.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations }, { name: "inlineSources", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript, defaultValueDescription: !1 }, { name: "experimentalDecorators", type: "boolean", affectsEmit: !0, affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Language_and_Environment, description: _.Enable_experimental_support_for_legacy_experimental_decorators, defaultValueDescription: !1 }, { name: "emitDecoratorMetadata", type: "boolean", affectsSemanticDiagnostics: !0, affectsEmit: !0, affectsBuildInfo: !0, category: _.Language_and_Environment, description: _.Emit_design_type_metadata_for_decorated_declarations_in_source_files, defaultValueDescription: !1 }, { name: "jsxFactory", type: "string", category: _.Language_and_Environment, description: _.Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h, defaultValueDescription: "`React.createElement`" }, { name: "jsxFragmentFactory", type: "string", category: _.Language_and_Environment, description: _.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment, defaultValueDescription: "React.Fragment" }, { name: "jsxImportSource", type: "string", affectsSemanticDiagnostics: !0, affectsEmit: !0, affectsBuildInfo: !0, affectsModuleResolution: !0, category: _.Language_and_Environment, description: _.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk, defaultValueDescription: "react" }, { name: "resolveJsonModule", type: "boolean", affectsModuleResolution: !0, category: _.Modules, description: _.Enable_importing_json_files, defaultValueDescription: !1 }, { name: "allowArbitraryExtensions", type: "boolean", affectsProgramStructure: !0, category: _.Modules, description: _.Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present, defaultValueDescription: !1 }, { name: "out", type: "string", affectsEmit: !0, affectsBuildInfo: !0, affectsDeclarationPath: !0, isFilePath: !1, category: _.Backwards_Compatibility, paramType: _.FILE, transpileOptionValue: void 0, description: _.Deprecated_setting_Use_outFile_instead }, { name: "reactNamespace", type: "string", affectsEmit: !0, affectsBuildInfo: !0, category: _.Language_and_Environment, description: _.Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit, defaultValueDescription: "`React`" }, { name: "skipDefaultLibCheck", type: "boolean", affectsBuildInfo: !0, category: _.Completeness, description: _.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript, defaultValueDescription: !1 }, { name: "charset", type: "string", category: _.Backwards_Compatibility, description: _.No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files, defaultValueDescription: "utf8" }, { name: "emitBOM", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files, defaultValueDescription: !1 }, { name: "newLine", type: new Map(Object.entries({ crlf: 0, lf: 1 })), affectsEmit: !0, affectsBuildInfo: !0, paramType: _.NEWLINE, category: _.Emit, description: _.Set_the_newline_character_for_emitting_files, defaultValueDescription: "lf" }, { name: "noErrorTruncation", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Output_Formatting, description: _.Disable_truncating_types_in_error_messages, defaultValueDescription: !1 }, { name: "noLib", type: "boolean", category: _.Language_and_Environment, affectsProgramStructure: !0, description: _.Disable_including_any_library_files_including_the_default_lib_d_ts, transpileOptionValue: !0, defaultValueDescription: !1 }, { name: "noResolve", type: "boolean", affectsModuleResolution: !0, category: _.Modules, description: _.Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project, transpileOptionValue: !0, defaultValueDescription: !1 }, { name: "stripInternal", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments, defaultValueDescription: !1 }, { name: "disableSizeLimit", type: "boolean", affectsProgramStructure: !0, category: _.Editor_Support, description: _.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server, defaultValueDescription: !1 }, { name: "disableSourceOfProjectReferenceRedirect", type: "boolean", isTSConfigOnly: !0, category: _.Projects, description: _.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects, defaultValueDescription: !1 }, { name: "disableSolutionSearching", type: "boolean", isTSConfigOnly: !0, category: _.Projects, description: _.Opt_a_project_out_of_multi_project_reference_checking_when_editing, defaultValueDescription: !1 }, { name: "disableReferencedProjectLoad", type: "boolean", isTSConfigOnly: !0, category: _.Projects, description: _.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript, defaultValueDescription: !1 }, { name: "noImplicitUseStrict", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Backwards_Compatibility, description: _.Disable_adding_use_strict_directives_in_emitted_JavaScript_files, defaultValueDescription: !1 }, { name: "noEmitHelpers", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Disable_generating_custom_helper_functions_like_extends_in_compiled_output, defaultValueDescription: !1 }, { name: "noEmitOnError", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, transpileOptionValue: void 0, description: _.Disable_emitting_files_if_any_type_checking_errors_are_reported, defaultValueDescription: !1 }, { name: "preserveConstEnums", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Disable_erasing_const_enum_declarations_in_generated_code, defaultValueDescription: !1 }, { name: "declarationDir", type: "string", affectsEmit: !0, affectsBuildInfo: !0, affectsDeclarationPath: !0, isFilePath: !0, paramType: _.DIRECTORY, category: _.Emit, transpileOptionValue: void 0, description: _.Specify_the_output_directory_for_generated_declaration_files }, { name: "skipLibCheck", type: "boolean", affectsBuildInfo: !0, category: _.Completeness, description: _.Skip_type_checking_all_d_ts_files, defaultValueDescription: !1 }, { name: "allowUnusedLabels", type: "boolean", affectsBindDiagnostics: !0, affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Disable_error_reporting_for_unused_labels, defaultValueDescription: void 0 }, { name: "allowUnreachableCode", type: "boolean", affectsBindDiagnostics: !0, affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Type_Checking, description: _.Disable_error_reporting_for_unreachable_code, defaultValueDescription: void 0 }, { name: "suppressExcessPropertyErrors", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Backwards_Compatibility, description: _.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals, defaultValueDescription: !1 }, { name: "suppressImplicitAnyIndexErrors", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Backwards_Compatibility, description: _.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures, defaultValueDescription: !1 }, { name: "forceConsistentCasingInFileNames", type: "boolean", affectsModuleResolution: !0, category: _.Interop_Constraints, description: _.Ensure_that_casing_is_correct_in_imports, defaultValueDescription: !0 }, { name: "maxNodeModuleJsDepth", type: "number", affectsModuleResolution: !0, category: _.JavaScript_Support, description: _.Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs, defaultValueDescription: 0 }, { name: "noStrictGenericChecks", type: "boolean", affectsSemanticDiagnostics: !0, affectsBuildInfo: !0, category: _.Backwards_Compatibility, description: _.Disable_strict_checking_of_generic_signatures_in_function_types, defaultValueDescription: !1 }, { name: "useDefineForClassFields", type: "boolean", affectsSemanticDiagnostics: !0, affectsEmit: !0, affectsBuildInfo: !0, category: _.Language_and_Environment, description: _.Emit_ECMAScript_standard_compliant_class_fields, defaultValueDescription: _.true_for_ES2022_and_above_including_ESNext }, { name: "preserveValueImports", type: "boolean", affectsEmit: !0, affectsBuildInfo: !0, category: _.Emit, description: _.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed, defaultValueDescription: !1 }, { name: "keyofStringsOnly", type: "boolean", category: _.Backwards_Compatibility, description: _.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option, defaultValueDescription: !1 }, { name: "plugins", type: "list", isTSConfigOnly: !0, element: { name: "plugin", type: "object" }, description: _.Specify_a_list_of_language_service_plugins_to_include, category: _.Editor_Support }, { name: "moduleDetection", type: new Map(Object.entries({ auto: 2, legacy: 1, force: 3 })), affectsModuleResolution: !0, description: _.Control_what_method_is_used_to_detect_module_format_JS_files, category: _.Language_and_Environment, defaultValueDescription: _.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules }, { name: "ignoreDeprecations", type: "string", defaultValueDescription: void 0 }], Fh = [...WO, ...B3], PJ = Fh.filter(e => !!e.affectsSemanticDiagnostics), MJ = Fh.filter(e => !!e.affectsEmit), FJ = Fh.filter(e => !!e.affectsDeclarationPath), U3 = Fh.filter(e => !!e.affectsModuleResolution), V3 = Fh.filter(e => !!e.affectsSourceFile || !!e.affectsModuleResolution || !!e.affectsBindDiagnostics), GJ = Fh.filter(e => !!e.affectsProgramStructure), BJ = Fh.filter(e => fs(e, "transpileOptionValue")), UJ = [{ name: "verbose", shortName: "v", category: _.Command_line_Options, description: _.Enable_verbose_logging, type: "boolean", defaultValueDescription: !1 }, { name: "dry", shortName: "d", category: _.Command_line_Options, description: _.Show_what_would_be_built_or_deleted_if_specified_with_clean, type: "boolean", defaultValueDescription: !1 }, { name: "force", shortName: "f", category: _.Command_line_Options, description: _.Build_all_projects_including_those_that_appear_to_be_up_to_date, type: "boolean", defaultValueDescription: !1 }, { name: "clean", category: _.Command_line_Options, description: _.Delete_the_outputs_of_all_projects, type: "boolean", defaultValueDescription: !1 }], j3 = [...WO, ...UJ], H3 = [{ name: "enable", type: "boolean", defaultValueDescription: !1 }, { name: "include", type: "list", element: { name: "include", type: "string" } }, { name: "exclude", type: "list", element: { name: "exclude", type: "string" } }, { name: "disableFilenameBasedTypeAcquisition", type: "boolean", defaultValueDescription: !1 }], Tfe = { diagnostic: _.Compiler_option_0_may_only_be_used_with_build, getOptionsNameMap: Yde }, W3 = { module: 1, target: 3, strict: !0, esModuleInterop: !0, forceConsistentCasingInFileNames: !0, skipLibCheck: !0 }, JO = { alternateMode: Tfe, getOptionsNameMap: w2, optionDeclarations: Fh, unknownOptionDiagnostic: _.Unknown_compiler_option_0, unknownDidYouMeanDiagnostic: _.Unknown_compiler_option_0_Did_you_mean_1, optionTypeMismatchDiagnostic: _.Compiler_option_0_expects_an_argument }, xfe = { diagnostic: _.Compiler_option_0_may_not_be_used_with_build, getOptionsNameMap: w2 }, Afe = { alternateMode: xfe, getOptionsNameMap: Yde, optionDeclarations: j3, unknownOptionDiagnostic: _.Unknown_build_option_0, unknownDidYouMeanDiagnostic: _.Unknown_build_option_0_Did_you_mean_1, optionTypeMismatchDiagnostic: _.Build_option_0_requires_a_value_of_type_1 }, VJ = { optionDeclarations: H3, unknownOptionDiagnostic: _.Unknown_type_acquisition_option_0, unknownDidYouMeanDiagnostic: _.Unknown_type_acquisition_option_0_Did_you_mean_1 }, KO = { getOptionsNameMap: Qde, optionDeclarations: HO, unknownOptionDiagnostic: _.Unknown_watch_option_0, unknownDidYouMeanDiagnostic: _.Unknown_watch_option_0_Did_you_mean_1, optionTypeMismatchDiagnostic: _.Watch_option_0_requires_a_value_of_type_1 }, qO = { name: "extends", type: "listOrElement", element: { name: "extends", type: "string" }, category: _.File_Management }, z3 = "**/*", Dfe = /(^|\/)\*\*\/?$/, wfe = /^[^*?]*(?=\/[^/]*[*?])/ } }); function Xi(e) { e.trace(TW.apply(void 0, arguments)) } function ov(e, t) { return !!e.traceResolution && t.trace !== void 0 } function O2(e, t) { let r; if (t && e) { let i = e.contents.packageJsonContent; typeof i.name == "string" && typeof i.version == "string" && (r = { name: i.name, subModuleName: t.path.slice(e.packageDirectory.length + _s.length), version: i.version }) } return t && { path: t.path, extension: t.ext, packageId: r, resolvedUsingTsExtension: t.resolvedUsingTsExtension } } function J3(e) { return O2(void 0, e) } function Rfe(e) { if (e) return L.assert(e.packageId === void 0), { path: e.path, ext: e.extension, resolvedUsingTsExtension: e.resolvedUsingTsExtension } } function Ofe(e) { let t = []; return e & 1 && t.push("TypeScript"), e & 2 && t.push("JavaScript"), e & 4 && t.push("Declaration"), e & 8 && t.push("JSON"), t.join(", ") } function Nfe(e) { if (e) return L.assert(y4(e.extension)), { fileName: e.path, packageId: e.packageId } } function Pfe(e, t, r, i, o, s, l, f) { if (!l.resultFromCache && !l.compilerOptions.preserveSymlinks && t && r && !t.originalPath && !fl(e)) { let { resolvedFileName: d, originalPath: g } = Gfe(t.path, l.host, l.traceEnabled); g && (t = { ...t, path: d, originalPath: g }) } return Mfe(t, r, i, o, s, l.resultFromCache, f) } function Mfe(e, t, r, i, o, s, l) { return s ? (s.failedLookupLocations = N2(s.failedLookupLocations, r), s.affectingLocations = N2(s.affectingLocations, i), s.resolutionDiagnostics = N2(s.resolutionDiagnostics, o), s) : { resolvedModule: e && { resolvedFileName: e.path, originalPath: e.originalPath === !0 ? void 0 : e.originalPath, extension: e.extension, isExternalLibraryImport: t, packageId: e.packageId, resolvedUsingTsExtension: !!e.resolvedUsingTsExtension }, failedLookupLocations: PL(r), affectingLocations: PL(i), resolutionDiagnostics: PL(o), node10Result: l } } function PL(e) { return e.length ? e : void 0 } function N2(e, t) { return t?.length ? e?.length ? (e.push(...t), e) : t : e } function Ffe(e, t, r, i) { if (!fs(e, t)) { i.traceEnabled && Xi(i.host, _.package_json_does_not_have_a_0_field, t); return } let o = e[t]; if (typeof o !== r || o === null) { i.traceEnabled && Xi(i.host, _.Expected_type_of_0_field_in_package_json_to_be_1_got_2, t, r, o === null ? "null" : typeof o); return } return o } function K3(e, t, r, i) { let o = Ffe(e, t, "string", i); if (o === void 0) return; if (!o) { i.traceEnabled && Xi(i.host, _.package_json_had_a_falsy_0_field, t); return } let s = So(vi(r, o)); return i.traceEnabled && Xi(i.host, _.package_json_has_0_field_1_that_references_2, t, o, s), s } function xNe(e, t, r) { return K3(e, "typings", t, r) || K3(e, "types", t, r) } function ANe(e, t, r) { return K3(e, "tsconfig", t, r) } function CNe(e, t, r) { return K3(e, "main", t, r) } function INe(e, t) { let r = Ffe(e, "typesVersions", "object", t); if (r !== void 0) return t.traceEnabled && Xi(t.host, _.package_json_has_a_typesVersions_field_with_version_specific_path_mappings), r } function LNe(e, t) { let r = INe(e, t); if (r === void 0) return; if (t.traceEnabled) for (let l in r) fs(r, l) && !mA.tryParse(l) && Xi(t.host, _.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range, l); let i = q3(r); if (!i) { t.traceEnabled && Xi(t.host, _.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0, Sg); return } let { version: o, paths: s } = i; if (typeof s != "object") { t.traceEnabled && Xi(t.host, _.Expected_type_of_0_field_in_package_json_to_be_1_got_2, `typesVersions['${o}']`, "object", typeof s); return } return i } function q3(e) { rK || (rK = new r_(Rf)); for (let t in e) { if (!fs(e, t)) continue; let r = mA.tryParse(t); if (r !== void 0 && r.test(rK)) return { version: t, paths: e[t] } } } function XO(e, t) { if (e.typeRoots) return e.typeRoots; let r; if (e.configFilePath ? r = ni(e.configFilePath) : t.getCurrentDirectory && (r = t.getCurrentDirectory()), r !== void 0) return kNe(r, t) } function kNe(e, t) { if (!t.directoryExists) return [vi(e, iK)]; let r; return Th(So(e), i => { let o = vi(i, iK); t.directoryExists(o) && (r || (r = [])).push(o) }), r } function DNe(e, t, r) { let i = typeof r.useCaseSensitiveFileNames == "function" ? r.useCaseSensitiveFileNames() : r.useCaseSensitiveFileNames; return cT(e, t, !i) === 0 } function Gfe(e, t, r) { let i = WNe(e, t, r), o = DNe(e, i, t); return { resolvedFileName: o ? e : i, originalPath: o ? void 0 : e } } function HJ(e, t, r, i, o, s, l) { L.assert(typeof e == "string", "Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself."); let f = ov(r, i); o && (r = o.commandLine.options); let d = t ? ni(t) : void 0, g = d ? s?.getFromDirectoryCache(e, l, d, o) : void 0; if (!g && d && !fl(e) && (g = s?.getFromNonRelativeNameCache(e, l, d, o)), g) return f && (Xi(i, _.Resolving_type_reference_directive_0_containing_file_1, e, t), o && Xi(i, _.Using_compiler_options_of_project_reference_redirect_0, o.sourceFile.fileName), Xi(i, _.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1, e, d), q(g)), g; let m = XO(r, i); f && (t === void 0 ? m === void 0 ? Xi(i, _.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set, e) : Xi(i, _.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1, e, m) : m === void 0 ? Xi(i, _.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set, e, t) : Xi(i, _.Resolving_type_reference_directive_0_containing_file_1_root_directory_2, e, t, m), o && Xi(i, _.Using_compiler_options_of_project_reference_redirect_0, o.sourceFile.fileName)); let v = [], S = [], x = WJ(r); l === 99 && ($s(r) === 3 || $s(r) === 99) && (x |= 32); let A = x & 8 ? P2(r, !!(x & 32)) : [], w = [], C = { compilerOptions: r, host: i, traceEnabled: f, failedLookupLocations: v, affectingLocations: S, packageJsonInfoCache: s, features: x, conditions: A, requestContainingDirectory: d, reportDiagnostic: R => void w.push(R), isConfigLookup: !1, candidateIsFromPackageJsonField: !1 }, P = W(), F = !0; P || (P = Y(), F = !1); let B; if (P) { let { fileName: R, packageId: ie } = P, $ = R, fe; r.preserveSymlinks || ({ resolvedFileName: $, originalPath: fe } = Gfe(R, i, f)), B = { primary: F, resolvedFileName: $, originalPath: fe, packageId: ie, isExternalLibraryImport: JS(R) } } return g = { resolvedTypeReferenceDirective: B, failedLookupLocations: PL(v), affectingLocations: PL(S), resolutionDiagnostics: PL(w) }, d && (s?.getOrCreateCacheForDirectory(d, o).set(e, l, g), fl(e) || s?.getOrCreateCacheForNonRelativeName(e, l, o).set(d, g)), f && q(g), g; function q(R) { var ie; (ie = R.resolvedTypeReferenceDirective) != null && ie.resolvedFileName ? R.resolvedTypeReferenceDirective.packageId ? Xi(i, _.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3, e, R.resolvedTypeReferenceDirective.resolvedFileName, hT(R.resolvedTypeReferenceDirective.packageId), R.resolvedTypeReferenceDirective.primary) : Xi(i, _.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2, e, R.resolvedTypeReferenceDirective.resolvedFileName, R.resolvedTypeReferenceDirective.primary) : Xi(i, _.Type_reference_directive_0_was_not_resolved, e) } function W() { if (m && m.length) return f && Xi(i, _.Resolving_with_primary_search_path_0, m.join(", ")), ks(m, R => { let ie = vi(R, e), $ = ni(ie), fe = gp($, i); return !fe && f && Xi(i, _.Directory_0_does_not_exist_skipping_all_lookups_in_it, $), Nfe(Qfe(4, ie, !fe, C)) }); f && Xi(i, _.Root_directory_cannot_be_determined_skipping_primary_search_paths) } function Y() { let R = t && ni(t); if (R !== void 0) { f && Xi(i, _.Looking_up_in_node_modules_folder_initial_location_0, R); let ie; if (fl(e)) { let { path: $ } = Kfe(R, e); ie = Q3(4, $, !1, C, !0) } else { let $ = t_e(4, e, R, C, void 0, void 0); ie = $ && $.value } return Nfe(ie) } else f && Xi(i, _.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder) } } function WJ(e) { let t = 0; switch ($s(e)) { case 3: t = 30; break; case 99: t = 30; break; case 100: t = 30; break }return e.resolvePackageJsonExports ? t |= 8 : e.resolvePackageJsonExports === !1 && (t &= -9), e.resolvePackageJsonImports ? t |= 2 : e.resolvePackageJsonImports === !1 && (t &= -3), t } function P2(e, t) { let r = t || $s(e) === 100 ? ["import"] : ["require"]; return e.noDtsResolution || r.push("types"), $s(e) !== 100 && r.push("node"), Qi(r, e.customConditions) } function wNe(e, t, r, i, o) { let s = Z3(o?.getPackageJsonInfoCache(), i, r); return Th(t, l => { if (Hl(l) !== "node_modules") { let f = vi(l, "node_modules"), d = vi(f, e); return KS(d, !1, s) } }) } function X3(e, t) { if (e.types) return e.types; let r = []; if (t.directoryExists && t.getDirectories) { let i = XO(e, t); if (i) { for (let o of i) if (t.directoryExists(o)) for (let s of t.getDirectories(o)) { let l = So(s), f = vi(o, l, "package.json"); if (!(t.fileExists(f) && JI(f, t).typings === null)) { let g = Hl(l); g.charCodeAt(0) !== 46 && r.push(g) } } } } return r } function zJ(e) { var t; if (e === null || typeof e != "object") return "" + e; if (ba(e)) return `[${(t = e.map(i => zJ(i))) == null ? void 0 : t.join(",")}]`; let r = "{"; for (let i in e) fs(e, i) && (r += `${i}: ${zJ(e[i])}`); return r + "}" } function JJ(e, t) { return t.map(r => zJ(f4(e, r))).join("|") + (e.pathsBasePath ? `|${e.pathsBasePath}` : void 0) } function KJ(e) { let t = new Map, r = new Map, i = new Map, o = new Map; return e && t.set(e, o), { getMapOfCacheRedirects: s, getOrCreateMapOfCacheRedirects: l, update: f, clear: g }; function s(v) { return v ? d(v.commandLine.options, !1) : o } function l(v) { return v ? d(v.commandLine.options, !0) : o } function f(v) { e !== v && (e ? o = d(v, !0) : t.set(v, o), e = v) } function d(v, S) { let x = t.get(v); if (x) return x; let A = m(v); if (x = i.get(A), !x) { if (e) { let w = m(e); w === A ? x = o : i.has(w) || i.set(w, o) } S && (x ?? (x = new Map)), x && i.set(A, x) } return x && t.set(v, x), x } function g() { let v = e && r.get(e); o.clear(), t.clear(), r.clear(), i.clear(), e && (v && r.set(e, v), t.set(e, o)) } function m(v) { let S = r.get(v); return S || r.set(v, S = JJ(v, U3)), S } } function RNe(e, t) { let r; return { getPackageJsonInfo: i, setPackageJsonInfo: o, clear: s, entries: l, getInternalMap: f }; function i(d) { return r?.get(Ts(d, e, t)) } function o(d, g) { (r || (r = new Map)).set(Ts(d, e, t), g) } function s() { r = void 0 } function l() { let d = r?.entries(); return d ? lo(d) : [] } function f() { return r } } function Bfe(e, t, r, i) { let o = e.getOrCreateMapOfCacheRedirects(t), s = o.get(r); return s || (s = i(), o.set(r, s)), s } function ONe(e, t, r) { let i = KJ(r); return { getFromDirectoryCache: f, getOrCreateCacheForDirectory: l, clear: o, update: s }; function o() { i.clear() } function s(d) { i.update(d) } function l(d, g) { let m = Ts(d, e, t); return Bfe(i, g, m, () => WT()) } function f(d, g, m, v) { var S, x; let A = Ts(m, e, t); return (x = (S = i.getMapOfCacheRedirects(v)) == null ? void 0 : S.get(A)) == null ? void 0 : x.get(d, g) } } function ML(e, t) { return t === void 0 ? e : `${t}|${e}` } function WT() { let e = new Map, t = new Map, r = { get(o, s) { return e.get(i(o, s)) }, set(o, s, l) { return e.set(i(o, s), l), r }, delete(o, s) { return e.delete(i(o, s)), r }, has(o, s) { return e.has(i(o, s)) }, forEach(o) { return e.forEach((s, l) => { let [f, d] = t.get(l); return o(s, f, d) }) }, size() { return e.size } }; return r; function i(o, s) { let l = ML(o, s); return t.set(l, [o, s]), l } } function qJ(e, t, r, i) { L.assert(t.length === r.length); let o = WT(); for (let s = 0; s < t.length; ++s) { let l = t[s]; o.set(i.getName(l), i.getMode(l, e), r[s]) } return o } function NNe(e) { return e.resolvedModule && (e.resolvedModule.originalPath || e.resolvedModule.resolvedFileName) } function PNe(e) { return e.resolvedTypeReferenceDirective && (e.resolvedTypeReferenceDirective.originalPath || e.resolvedTypeReferenceDirective.resolvedFileName) } function MNe(e, t, r, i) { let o = KJ(r); return { getFromNonRelativeNameCache: f, getOrCreateCacheForNonRelativeName: d, clear: s, update: l }; function s() { o.clear() } function l(m) { o.update(m) } function f(m, v, S, x) { var A, w; return L.assert(!fl(m)), (w = (A = o.getMapOfCacheRedirects(x)) == null ? void 0 : A.get(ML(m, v))) == null ? void 0 : w.get(S) } function d(m, v, S) { return L.assert(!fl(m)), Bfe(o, S, ML(m, v), g) } function g() { let m = new Map; return { get: v, set: S }; function v(A) { return m.get(Ts(A, e, t)) } function S(A, w) { let C = Ts(A, e, t); if (m.has(C)) return; m.set(C, w); let P = i(w), F = P && x(C, P), B = C; for (; B !== F;) { let q = ni(B); if (q === B || m.has(q)) break; m.set(q, w), B = q } } function x(A, w) { let C = Ts(ni(w), e, t), P = 0, F = Math.min(A.length, C.length); for (; P < F && A.charCodeAt(P) === C.charCodeAt(P);)P++; if (P === A.length && (C.length === P || C[P] === _s)) return A; let B = _p(A); if (P < B) return; let q = A.lastIndexOf(_s, P - 1); if (q !== -1) return A.substr(0, Math.max(q, B)) } } } function Ufe(e, t, r, i, o) { let s = ONe(e, t, r), l = MNe(e, t, r, o); return i ?? (i = RNe(e, t)), { ...i, ...s, ...l, clear: f, update: g, getPackageJsonInfoCache: () => i, clearAllExceptPackageJsonInfoCache: d }; function f() { d(), i.clear() } function d() { s.clear(), l.clear() } function g(m) { s.update(m), l.update(m) } } function Y3(e, t, r) { let i = Ufe(e, t, r, void 0, NNe); return i.getOrCreateCacheForModuleName = (o, s, l) => i.getOrCreateCacheForNonRelativeName(o, s, l), i } function $3(e, t, r, i) { return Ufe(e, t, r, i, PNe) } function FNe(e, t, r, i) { let o = ni(t); return r.getFromDirectoryCache(e, i, o, void 0) } function FL(e, t, r, i, o, s, l) { let f = ov(r, i); s && (r = s.commandLine.options), f && (Xi(i, _.Resolving_module_0_from_1, e, t), s && Xi(i, _.Using_compiler_options_of_project_reference_redirect_0, s.sourceFile.fileName)); let d = ni(t), g = o?.getFromDirectoryCache(e, l, d, s); if (g) f && Xi(i, _.Resolution_for_module_0_was_found_in_cache_from_location_1, e, d); else { let m = r.moduleResolution; if (m === void 0) { switch (Rl(r)) { case 1: m = 2; break; case 100: m = 3; break; case 199: m = 99; break; default: m = 1; break }f && Xi(i, _.Module_resolution_kind_is_not_specified_using_0, rw[m]) } else f && Xi(i, _.Explicitly_specified_module_resolution_kind_Colon_0, rw[m]); switch (fp.logStartResolveModule(e), m) { case 3: g = VNe(e, t, r, i, o, s, l); break; case 99: g = jNe(e, t, r, i, o, s, l); break; case 2: g = zfe(e, t, r, i, o, s); break; case 1: g = o_e(e, t, r, i, o, s); break; case 100: g = Wfe(e, t, r, i, o, s); break; default: return L.fail(`Unexpected moduleResolution: ${m}`) }g && g.resolvedModule && fp.logInfoEvent(`Module "${e}" resolved to "${g.resolvedModule.resolvedFileName}"`), fp.logStopResolveModule(g && g.resolvedModule ? "" + g.resolvedModule.resolvedFileName : "null"), o?.getOrCreateCacheForDirectory(d, s).set(e, l, g), fl(e) || o?.getOrCreateCacheForNonRelativeName(e, l, s).set(d, g) } return f && (g.resolvedModule ? g.resolvedModule.packageId ? Xi(i, _.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2, e, g.resolvedModule.resolvedFileName, hT(g.resolvedModule.packageId)) : Xi(i, _.Module_name_0_was_successfully_resolved_to_1, e, g.resolvedModule.resolvedFileName) : Xi(i, _.Module_name_0_was_not_resolved, e)), g } function Vfe(e, t, r, i, o) { let s = GNe(e, t, i, o); return s ? s.value : fl(t) ? BNe(e, t, r, i, o) : UNe(e, t, i, o) } function GNe(e, t, r, i) { var o; let { baseUrl: s, paths: l, configFile: f } = i.compilerOptions; if (l && !Jd(t)) { i.traceEnabled && (s && Xi(i.host, _.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1, s, t), Xi(i.host, _.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0, t)); let d = ZH(i.compilerOptions, i.host), g = f?.configFileSpecs ? (o = f.configFileSpecs).pathPatterns || (o.pathPatterns = g4(l)) : void 0; return nK(e, t, d, l, g, r, !1, i) } } function BNe(e, t, r, i, o) { if (!o.compilerOptions.rootDirs) return; o.traceEnabled && Xi(o.host, _.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0, t); let s = So(vi(r, t)), l, f; for (let d of o.compilerOptions.rootDirs) { let g = So(d); Oc(g, _s) || (g += _s); let m = na(s, g) && (f === void 0 || f.length < g.length); o.traceEnabled && Xi(o.host, _.Checking_if_0_is_the_longest_matching_prefix_for_1_2, g, s, m), m && (f = g, l = d) } if (f) { o.traceEnabled && Xi(o.host, _.Longest_matching_prefix_for_0_is_1, s, f); let d = s.substr(f.length); o.traceEnabled && Xi(o.host, _.Loading_0_from_the_root_dir_1_candidate_location_2, d, f, s); let g = i(e, s, !gp(r, o.host), o); if (g) return g; o.traceEnabled && Xi(o.host, _.Trying_other_entries_in_rootDirs); for (let m of o.compilerOptions.rootDirs) { if (m === l) continue; let v = vi(So(m), d); o.traceEnabled && Xi(o.host, _.Loading_0_from_the_root_dir_1_candidate_location_2, d, m, v); let S = ni(v), x = i(e, v, !gp(S, o.host), o); if (x) return x } o.traceEnabled && Xi(o.host, _.Module_resolution_using_rootDirs_has_failed) } } function UNe(e, t, r, i) { let { baseUrl: o } = i.compilerOptions; if (!o) return; i.traceEnabled && Xi(i.host, _.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1, o, t); let s = So(vi(o, t)); return i.traceEnabled && Xi(i.host, _.Resolving_module_name_0_relative_to_base_url_1_2, t, o, s), r(e, s, !gp(ni(s), i.host), i) } function jfe(e, t, r) { let { resolvedModule: i, failedLookupLocations: o } = HNe(e, t, r); if (!i) throw new Error(`Could not resolve JS module '${e}' starting at '${t}'. Looked in: ${o?.join(", ")}`); return i.resolvedFileName } function VNe(e, t, r, i, o, s, l) { return Hfe(30, e, t, r, i, o, s, l) } function jNe(e, t, r, i, o, s, l) { return Hfe(30, e, t, r, i, o, s, l) } function Hfe(e, t, r, i, o, s, l, f) { let d = ni(r), g = f === 99 ? 32 : 0, m = i.noDtsResolution ? 3 : 7; return RT(i) && (m |= 8), GL(e | g, t, d, i, o, s, m, !1, l) } function HNe(e, t, r) { return GL(0, e, t, { moduleResolution: 2, allowJs: !0 }, r, void 0, 2, !1, void 0) } function Wfe(e, t, r, i, o, s) { let l = ni(t), f = r.noDtsResolution ? 3 : 7; return RT(r) && (f |= 8), GL(WJ(r), e, l, r, i, o, f, !1, s) } function zfe(e, t, r, i, o, s, l) { let f; return l ? f = 8 : r.noDtsResolution ? (f = 3, RT(r) && (f |= 8)) : f = RT(r) ? 15 : 7, GL(0, e, ni(t), r, i, o, f, !!l, s) } function Jfe(e, t, r) { return GL(8, e, ni(t), { moduleResolution: 99 }, r, void 0, 8, !0, void 0) } function GL(e, t, r, i, o, s, l, f, d) { var g, m, v, S; let x = ov(i, o), A = [], w = [], C = P2(i, !!(e & 32)), P = [], F = { compilerOptions: i, host: o, traceEnabled: x, failedLookupLocations: A, affectingLocations: w, packageJsonInfoCache: s, features: e, conditions: C, requestContainingDirectory: r, reportDiagnostic: Y => void P.push(Y), isConfigLookup: f, candidateIsFromPackageJsonField: !1 }; x && bS($s(i)) && Xi(o, _.Resolving_in_0_mode_with_conditions_1, e & 32 ? "ESM" : "CJS", C.map(Y => `'${Y}'`).join(", ")); let B; if ($s(i) === 2) { let Y = l & 5, R = l & -6; B = Y && W(Y, F) || R && W(R, F) || void 0 } else B = W(l, F); let q; if ((g = B?.value) != null && g.isExternalLibraryImport && !f && l & 5 && e & 8 && !fl(t) && !QJ(5, B.value.resolved.extension) && C.indexOf("import") > -1) { Y0(F, _.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update); let Y = { ...F, features: F.features & -9, failedLookupLocations: [], affectingLocations: [], reportDiagnostic: Ba }, R = W(l & 5, Y); (m = R?.value) != null && m.isExternalLibraryImport && (q = R.value.resolved.path) } return Pfe(t, (v = B?.value) == null ? void 0 : v.resolved, (S = B?.value) == null ? void 0 : S.isExternalLibraryImport, A, w, P, F, q); function W(Y, R) { let $ = Vfe(Y, t, r, (fe, Z, U, re) => Q3(fe, Z, U, re, !0), R); if ($) return Af({ resolved: $, isExternalLibraryImport: JS($.path) }); if (fl(t)) { let { path: fe, parts: Z } = Kfe(r, t), U = Q3(Y, fe, !1, R, !0); return U && Af({ resolved: U, isExternalLibraryImport: ya(Z, "node_modules") }) } else { let fe; return e & 2 && na(t, "#") && (fe = YNe(Y, t, r, R, s, d)), !fe && e & 4 && (fe = XNe(Y, t, r, R, s, d)), fe || (x && Xi(o, _.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1, t, Ofe(Y)), fe = t_e(Y, t, r, R, s, d)), fe && { value: fe.value && { resolved: fe.value, isExternalLibraryImport: !0 } } } } } function Kfe(e, t) { let r = vi(e, t), i = Ou(r), o = Os(i); return { path: o === "." || o === ".." ? cu(So(r)) : So(r), parts: i } } function WNe(e, t, r) { if (!t.realpath) return e; let i = So(t.realpath(e)); return r && Xi(t, _.Resolving_real_path_for_0_result_1, e, i), L.assert(t.fileExists(i), `${e} linked to nonexistent file ${i}`), i } function Q3(e, t, r, i, o) { if (i.traceEnabled && Xi(i.host, _.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1, t, Ofe(e)), !My(t)) { if (!r) { let l = ni(t); gp(l, i.host) || (i.traceEnabled && Xi(i.host, _.Directory_0_does_not_exist_skipping_all_lookups_in_it, l), r = !0) } let s = BL(e, t, r, i); if (s) { let l = o ? XJ(s.path) : void 0, f = l ? KS(l, !1, i) : void 0; return O2(f, s) } } if (r || gp(t, i.host) || (i.traceEnabled && Xi(i.host, _.Directory_0_does_not_exist_skipping_all_lookups_in_it, t), r = !0), !(i.features & 32)) return Qfe(e, t, r, i, o) } function JS(e) { return jl(e, Wg) } function XJ(e) { let t = So(e), r = t.lastIndexOf(Wg); if (r === -1) return; let i = r + Wg.length, o = qfe(t, i); return t.charCodeAt(i) === 64 && (o = qfe(t, o)), t.slice(0, o) } function qfe(e, t) { let r = e.indexOf(_s, t + 1); return r === -1 ? t : r } function YJ(e, t, r, i) { return J3(BL(e, t, r, i)) } function BL(e, t, r, i) { let o = Xfe(e, t, r, i); if (o) return o; if (!(i.features & 32)) { let s = Yfe(t, e, "", r, i); if (s) return s } } function Xfe(e, t, r, i) { if (Hl(t).indexOf(".") === -1) return; let s = ld(t); s === t && (s = t.substring(0, t.lastIndexOf("."))); let l = t.substring(s.length); return i.traceEnabled && Xi(i.host, _.File_name_0_has_a_1_extension_stripping_it, t, l), Yfe(s, e, l, r, i) } function $J(e, t, r, i) { return e & 1 && $c(t, L4) || e & 4 && $c(t, I4) ? YO(t, r, i) !== void 0 ? { path: t, ext: r4(t), resolvedUsingTsExtension: void 0 } : void 0 : i.isConfigLookup && e === 8 && Gc(t, ".json") ? YO(t, r, i) !== void 0 ? { path: t, ext: ".json", resolvedUsingTsExtension: void 0 } : void 0 : Xfe(e, t, r, i) } function Yfe(e, t, r, i, o) { if (!i) { let l = ni(e); l && (i = !gp(l, o.host)) } switch (r) { case ".mjs": case ".mts": case ".d.mts": return t & 1 && s(".mts", r === ".mts" || r === ".d.mts") || t & 4 && s(".d.mts", r === ".mts" || r === ".d.mts") || t & 2 && s(".mjs") || void 0; case ".cjs": case ".cts": case ".d.cts": return t & 1 && s(".cts", r === ".cts" || r === ".d.cts") || t & 4 && s(".d.cts", r === ".cts" || r === ".d.cts") || t & 2 && s(".cjs") || void 0; case ".json": return t & 4 && s(".d.json.ts") || t & 8 && s(".json") || void 0; case ".tsx": case ".jsx": return t & 1 && (s(".tsx", r === ".tsx") || s(".ts", r === ".tsx")) || t & 4 && s(".d.ts", r === ".tsx") || t & 2 && (s(".jsx") || s(".js")) || void 0; case ".ts": case ".d.ts": case ".js": case "": return t & 1 && (s(".ts", r === ".ts" || r === ".d.ts") || s(".tsx", r === ".ts" || r === ".d.ts")) || t & 4 && s(".d.ts", r === ".ts" || r === ".d.ts") || t & 2 && (s(".js") || s(".jsx")) || o.isConfigLookup && s(".json") || void 0; default: return t & 4 && !Fu(e + r) && s(`.d${r}.ts`) || void 0 }function s(l, f) { let d = YO(e + l, i, o); return d === void 0 ? void 0 : { path: d, ext: l, resolvedUsingTsExtension: !o.candidateIsFromPackageJsonField && f } } } function YO(e, t, r) { var i, o; if (!((i = r.compilerOptions.moduleSuffixes) != null && i.length)) return $fe(e, t, r); let s = (o = Hm(e)) != null ? o : "", l = s ? UR(e, s) : e; return mn(r.compilerOptions.moduleSuffixes, f => $fe(l + f + s, t, r)) } function $fe(e, t, r) { if (!t) { if (r.host.fileExists(e)) return r.traceEnabled && Xi(r.host, _.File_0_exists_use_it_as_a_name_resolution_result, e), e; r.traceEnabled && Xi(r.host, _.File_0_does_not_exist, e) } r.failedLookupLocations.push(e) } function Qfe(e, t, r, i, o = !0) { let s = o ? KS(t, r, i) : void 0, l = s && s.contents.packageJsonContent, f = s && $O(s, i); return O2(s, tF(e, t, r, i, l, f)) } function zNe(e, t, r, i, o) { if (!o && e.contents.resolvedEntrypoints !== void 0) return e.contents.resolvedEntrypoints; let s, l = 5 | (o ? 2 : 0), f = WJ(t), d = Z3(i?.getPackageJsonInfoCache(), r, t); d.conditions = P2(t), d.requestContainingDirectory = e.packageDirectory; let g = tF(l, e.packageDirectory, !1, d, e.contents.packageJsonContent, $O(e, d)); if (s = Sn(s, g?.path), f & 8 && e.contents.packageJsonContent.exports) { let m = fA([P2(t, !0), P2(t, !1)], up); for (let v of m) { let S = { ...d, failedLookupLocations: [], conditions: v }, x = JNe(e, e.contents.packageJsonContent.exports, S, l); if (x) for (let A of x) s = xg(s, A.path) } } return e.contents.resolvedEntrypoints = s || !1 } function JNe(e, t, r, i) { let o; if (ba(t)) for (let l of t) s(l); else if (typeof t == "object" && t !== null && nF(t)) for (let l in t) s(t[l]); else s(t); return o; function s(l) { var f, d; if (typeof l == "string" && na(l, "./") && l.indexOf("*") === -1) { let g = Ou(l).slice(2); if (g.indexOf("..") >= 0 || g.indexOf(".") >= 0 || g.indexOf("node_modules") >= 0) return !1; let m = vi(e.packageDirectory, l), v = _a(m, (d = (f = r.host).getCurrentDirectory) == null ? void 0 : d.call(f)), S = $J(i, v, !1, r); if (S) return o = xg(o, S, (x, A) => x.path === A.path), !0 } else if (Array.isArray(l)) { for (let g of l) if (s(g)) return !0 } else if (typeof l == "object" && l !== null) return mn(bh(l), g => { if (g === "default" || ya(r.conditions, g) || QO(r.conditions, g)) return s(l[g]), !0 }) } } function Z3(e, t, r) { return { host: t, compilerOptions: r, traceEnabled: ov(r, t), failedLookupLocations: E8, affectingLocations: E8, packageJsonInfoCache: e, features: 0, conditions: Je, requestContainingDirectory: void 0, reportDiagnostic: Ba, isConfigLookup: !1, candidateIsFromPackageJsonField: !1 } } function eF(e, t) { let r = Ou(e); for (r.pop(); r.length > 0;) { let i = KS(T0(r), !1, t); if (i) return i; r.pop() } } function $O(e, t) { return e.contents.versionPaths === void 0 && (e.contents.versionPaths = LNe(e.contents.packageJsonContent, t) || !1), e.contents.versionPaths || void 0 } function KS(e, t, r) { var i, o, s; let { host: l, traceEnabled: f } = r, d = vi(e, "package.json"); if (t) { r.failedLookupLocations.push(d); return } let g = (i = r.packageJsonInfoCache) == null ? void 0 : i.getPackageJsonInfo(d); if (g !== void 0) { if (typeof g != "boolean") return f && Xi(l, _.File_0_exists_according_to_earlier_cached_lookups, d), r.affectingLocations.push(d), g.packageDirectory === e ? g : { packageDirectory: e, contents: g.contents }; g && f && Xi(l, _.File_0_does_not_exist_according_to_earlier_cached_lookups, d), r.failedLookupLocations.push(d); return } let m = gp(e, l); if (m && l.fileExists(d)) { let v = JI(d, l); f && Xi(l, _.Found_package_json_at_0, d); let S = { packageDirectory: e, contents: { packageJsonContent: v, versionPaths: void 0, resolvedEntrypoints: void 0 } }; return (o = r.packageJsonInfoCache) == null || o.setPackageJsonInfo(d, S), r.affectingLocations.push(d), S } else m && f && Xi(l, _.File_0_does_not_exist, d), (s = r.packageJsonInfoCache) == null || s.setPackageJsonInfo(d, m), r.failedLookupLocations.push(d) } function tF(e, t, r, i, o, s) { let l; o && (i.isConfigLookup ? l = ANe(o, t, i) : l = e & 4 && xNe(o, t, i) || e & 7 && CNe(o, t, i) || void 0); let f = (S, x, A, w) => { let C = YO(x, A, w); if (C) { let W = KNe(S, C); if (W) return J3(W); w.traceEnabled && Xi(w.host, _.File_0_has_an_unsupported_extension_so_skipping_it, C) } let P = S === 4 ? 5 : S, F = w.features, B = w.candidateIsFromPackageJsonField; w.candidateIsFromPackageJsonField = !0, o?.type !== "module" && (w.features &= -33); let q = Q3(P, x, A, w, !1); return w.features = F, w.candidateIsFromPackageJsonField = B, q }, d = l ? !gp(ni(l), i.host) : void 0, g = r || !gp(t, i.host), m = vi(t, i.isConfigLookup ? "tsconfig" : "index"); if (s && (!l || Gy(t, l))) { let S = Xp(t, l || m, !1); i.traceEnabled && Xi(i.host, _.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, s.version, Rf, S); let x = nK(e, S, t, s.paths, void 0, f, d || g, i); if (x) return Rfe(x.value) } let v = l && Rfe(f(e, l, d, i)); if (v) return v; if (!(i.features & 32)) return BL(e, m, g, i) } function KNe(e, t, r) { let i = Hm(t); return i !== void 0 && QJ(e, i) ? { path: t, ext: i, resolvedUsingTsExtension: r } : void 0 } function QJ(e, t) { return e & 2 && (t === ".js" || t === ".jsx" || t === ".mjs" || t === ".cjs") || e & 1 && (t === ".ts" || t === ".tsx" || t === ".mts" || t === ".cts") || e & 4 && (t === ".d.ts" || t === ".d.mts" || t === ".d.cts") || e & 8 && t === ".json" || !1 } function ZJ(e) { let t = e.indexOf(_s); return e[0] === "@" && (t = e.indexOf(_s, t + 1)), t === -1 ? { packageName: e, rest: "" } : { packageName: e.slice(0, t), rest: e.slice(t + 1) } } function nF(e) { return Ji(bh(e), t => na(t, ".")) } function qNe(e) { return !vt(bh(e), t => na(t, ".")) } function XNe(e, t, r, i, o, s) { var l, f; let d = _a(vi(r, "dummy"), (f = (l = i.host).getCurrentDirectory) == null ? void 0 : f.call(l)), g = eF(d, i); if (!g || !g.contents.packageJsonContent.exports || typeof g.contents.packageJsonContent.name != "string") return; let m = Ou(t), v = Ou(g.contents.packageJsonContent.name); if (!Ji(v, (C, P) => m[P] === C)) return; let S = m.slice(v.length), x = Fn(S) ? `.${_s}${S.join(_s)}` : ".", A = e & 5, w = e & -6; return eK(g, A, x, i, o, s) || eK(g, w, x, i, o, s) } function eK(e, t, r, i, o, s) { if (e.contents.packageJsonContent.exports) { if (r === ".") { let l; if (typeof e.contents.packageJsonContent.exports == "string" || Array.isArray(e.contents.packageJsonContent.exports) || typeof e.contents.packageJsonContent.exports == "object" && qNe(e.contents.packageJsonContent.exports) ? l = e.contents.packageJsonContent.exports : fs(e.contents.packageJsonContent.exports, ".") && (l = e.contents.packageJsonContent.exports["."]), l) return e_e(t, i, o, s, r, e, !1)(l, "", !1, ".") } else if (nF(e.contents.packageJsonContent.exports)) { if (typeof e.contents.packageJsonContent.exports != "object") return i.traceEnabled && Xi(i.host, _.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, r, e.packageDirectory), Af(void 0); let l = Zfe(t, i, o, s, r, e.contents.packageJsonContent.exports, e, !1); if (l) return l } return i.traceEnabled && Xi(i.host, _.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, r, e.packageDirectory), Af(void 0) } } function YNe(e, t, r, i, o, s) { var l, f; if (t === "#" || na(t, "#/")) return i.traceEnabled && Xi(i.host, _.Invalid_import_specifier_0_has_no_possible_resolutions, t), Af(void 0); let d = _a(vi(r, "dummy"), (f = (l = i.host).getCurrentDirectory) == null ? void 0 : f.call(l)), g = eF(d, i); if (!g) return i.traceEnabled && Xi(i.host, _.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve, d), Af(void 0); if (!g.contents.packageJsonContent.imports) return i.traceEnabled && Xi(i.host, _.package_json_scope_0_has_no_imports_defined, g.packageDirectory), Af(void 0); let m = Zfe(e, i, o, s, t, g.contents.packageJsonContent.imports, g, !0); return m || (i.traceEnabled && Xi(i.host, _.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1, t, g.packageDirectory), Af(void 0)) } function tK(e, t) { let r = e.indexOf("*"), i = t.indexOf("*"), o = r === -1 ? e.length : r + 1, s = i === -1 ? t.length : i + 1; return o > s ? -1 : s > o || r === -1 ? 1 : i === -1 || e.length > t.length ? -1 : t.length > e.length ? 1 : 0 } function Zfe(e, t, r, i, o, s, l, f) { let d = e_e(e, t, r, i, o, l, f); if (!Oc(o, _s) && o.indexOf("*") === -1 && fs(s, o)) { let v = s[o]; return d(v, "", !1, o) } let g = XC(Pr(bh(s), v => v.indexOf("*") !== -1 || Oc(v, "/")), tK); for (let v of g) if (t.features & 16 && m(v, o)) { let S = s[v], x = v.indexOf("*"), A = o.substring(v.substring(0, x).length, o.length - (v.length - 1 - x)); return d(S, A, !0, v) } else if (Oc(v, "*") && na(o, v.substring(0, v.length - 1))) { let S = s[v], x = o.substring(v.length - 1); return d(S, x, !0, v) } else if (na(o, v)) { let S = s[v], x = o.substring(v.length); return d(S, x, !1, v) } function m(v, S) { if (Oc(v, "*")) return !1; let x = v.indexOf("*"); return x === -1 ? !1 : na(S, v.substring(0, x)) && Oc(S, v.substring(x + 1)) } } function e_e(e, t, r, i, o, s, l) { return f; function f(d, g, m, v) { if (typeof d == "string") { if (!m && g.length > 0 && !Oc(d, "/")) return t.traceEnabled && Xi(t.host, _.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, s.packageDirectory, o), Af(void 0); if (!na(d, "./")) { if (l && !na(d, "../") && !na(d, "/") && !qp(d)) { let Y = m ? d.replace(/\*/g, g) : d + g; Y0(t, _.Using_0_subpath_1_with_target_2, "imports", v, Y), Y0(t, _.Resolving_module_0_from_1, Y, s.packageDirectory + "/"); let R = GL(t.features, Y, s.packageDirectory + "/", t.compilerOptions, t.host, r, e, !1, i); return Af(R.resolvedModule ? { path: R.resolvedModule.resolvedFileName, extension: R.resolvedModule.extension, packageId: R.resolvedModule.packageId, originalPath: R.resolvedModule.originalPath, resolvedUsingTsExtension: R.resolvedModule.resolvedUsingTsExtension } : void 0) } return t.traceEnabled && Xi(t.host, _.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, s.packageDirectory, o), Af(void 0) } let P = (Jd(d) ? Ou(d).slice(1) : Ou(d)).slice(1); if (P.indexOf("..") >= 0 || P.indexOf(".") >= 0 || P.indexOf("node_modules") >= 0) return t.traceEnabled && Xi(t.host, _.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, s.packageDirectory, o), Af(void 0); let F = vi(s.packageDirectory, d), B = Ou(g); if (B.indexOf("..") >= 0 || B.indexOf(".") >= 0 || B.indexOf("node_modules") >= 0) return t.traceEnabled && Xi(t.host, _.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, s.packageDirectory, o), Af(void 0); t.traceEnabled && Xi(t.host, _.Using_0_subpath_1_with_target_2, l ? "imports" : "exports", v, m ? d.replace(/\*/g, g) : d + g); let q = S(m ? F.replace(/\*/g, g) : F + g), W = w(q, g, vi(s.packageDirectory, "package.json"), l); return W || Af(O2(s, $J(e, q, !1, t))) } else if (typeof d == "object" && d !== null) if (Array.isArray(d)) { if (!Fn(d)) return t.traceEnabled && Xi(t.host, _.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, s.packageDirectory, o), Af(void 0); for (let C of d) { let P = f(C, g, m, v); if (P) return P } } else { Y0(t, _.Entering_conditional_exports); for (let C of bh(d)) if (C === "default" || t.conditions.indexOf(C) >= 0 || QO(t.conditions, C)) { Y0(t, _.Matched_0_condition_1, l ? "imports" : "exports", C); let P = d[C], F = f(P, g, m, v); if (F) return Y0(t, _.Resolved_under_condition_0, C), Y0(t, _.Exiting_conditional_exports), F; Y0(t, _.Failed_to_resolve_under_condition_0, C) } else Y0(t, _.Saw_non_matching_condition_0, C); Y0(t, _.Exiting_conditional_exports); return } else if (d === null) return t.traceEnabled && Xi(t.host, _.package_json_scope_0_explicitly_maps_specifier_1_to_null, s.packageDirectory, o), Af(void 0); return t.traceEnabled && Xi(t.host, _.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, s.packageDirectory, o), Af(void 0); function S(C) { var P, F; return C === void 0 ? C : _a(C, (F = (P = t.host).getCurrentDirectory) == null ? void 0 : F.call(P)) } function x(C, P) { return cu(vi(C, P)) } function A() { return t.host.useCaseSensitiveFileNames ? typeof t.host.useCaseSensitiveFileNames == "boolean" ? t.host.useCaseSensitiveFileNames : t.host.useCaseSensitiveFileNames() : !0 } function w(C, P, F, B) { var q, W, Y, R; if (!t.isConfigLookup && (t.compilerOptions.declarationDir || t.compilerOptions.outDir) && C.indexOf("/node_modules/") === -1 && (!t.compilerOptions.configFile || Gy(s.packageDirectory, S(t.compilerOptions.configFile.fileName), !A()))) { let $ = lb({ useCaseSensitiveFileNames: A }), fe = []; if (t.compilerOptions.rootDir || t.compilerOptions.composite && t.compilerOptions.configFilePath) { let Z = S(uN(t.compilerOptions, () => [], ((W = (q = t.host).getCurrentDirectory) == null ? void 0 : W.call(q)) || "", $)); fe.push(Z) } else if (t.requestContainingDirectory) { let Z = S(vi(t.requestContainingDirectory, "index.ts")), U = S(uN(t.compilerOptions, () => [Z, S(F)], ((R = (Y = t.host).getCurrentDirectory) == null ? void 0 : R.call(Y)) || "", $)); fe.push(U); let re = cu(U); for (; re && re.length > 1;) { let le = Ou(re); le.pop(); let _e = T0(le); fe.unshift(_e), re = cu(_e) } } fe.length > 1 && t.reportDiagnostic(ps(B ? _.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate : _.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate, P === "" ? "." : P, F)); for (let Z of fe) { let U = ie(Z); for (let re of U) if (Gy(re, C, !A())) { let le = C.slice(re.length + 1), _e = vi(Z, le), ge = [".mjs", ".cjs", ".js", ".json", ".d.mts", ".d.cts", ".d.ts"]; for (let X of ge) if (Gc(_e, X)) { let Ve = Oce(_e); for (let we of Ve) { if (!QJ(e, we)) continue; let ke = uj(_e, we, X, !A()); if (t.host.fileExists(ke)) return Af(O2(s, $J(e, ke, !1, t))) } } } } } return; function ie($) { var fe, Z; let U = t.compilerOptions.configFile ? ((Z = (fe = t.host).getCurrentDirectory) == null ? void 0 : Z.call(fe)) || "" : $, re = []; return t.compilerOptions.declarationDir && re.push(S(x(U, t.compilerOptions.declarationDir))), t.compilerOptions.outDir && t.compilerOptions.outDir !== t.compilerOptions.declarationDir && re.push(S(x(U, t.compilerOptions.outDir))), re } } } } function QO(e, t) { if (e.indexOf("types") === -1 || !na(t, "types@")) return !1; let r = mA.tryParse(t.substring(6)); return r ? r.test(Rf) : !1 } function t_e(e, t, r, i, o, s) { return n_e(e, t, r, i, !1, o, s) } function $Ne(e, t, r) { return n_e(4, e, t, r, !0, void 0, void 0) } function n_e(e, t, r, i, o, s, l) { let f = i.features === 0 ? void 0 : i.features & 32 ? 99 : 1, d = e & 5, g = e & -6; if (d) { let v = m(d); if (v) return v } if (g && !o) return m(g); function m(v) { return Th(Al(r), S => { if (Hl(S) !== "node_modules") { let x = a_e(s, t, f, S, l, i); return x || Af(r_e(v, t, S, i, o, s, l)) } }) } } function r_e(e, t, r, i, o, s, l) { let f = vi(r, "node_modules"), d = gp(f, i.host); if (!d && i.traceEnabled && Xi(i.host, _.Directory_0_does_not_exist_skipping_all_lookups_in_it, f), !o) { let g = i_e(e, t, f, d, i, s, l); if (g) return g } if (e & 4) { let g = vi(f, "@types"), m = d; return d && !gp(g, i.host) && (i.traceEnabled && Xi(i.host, _.Directory_0_does_not_exist_skipping_all_lookups_in_it, g), m = !1), i_e(4, QNe(t, i), g, m, i, s, l) } } function i_e(e, t, r, i, o, s, l) { var f, d, g; let m = So(vi(r, t)), { packageName: v, rest: S } = ZJ(t), x = vi(r, v), A, w = KS(m, !i, o); if (S !== "" && w && (!(o.features & 8) || !fs((d = (f = A = KS(x, !i, o)) == null ? void 0 : f.contents.packageJsonContent) != null ? d : Je, "exports"))) { let F = BL(e, m, !i, o); if (F) return J3(F); let B = tF(e, m, !i, o, w.contents.packageJsonContent, $O(w, o)); return O2(w, B) } let C = (F, B, q, W) => { let Y = BL(F, B, q, W) || tF(F, B, q, W, w && w.contents.packageJsonContent, w && $O(w, W)); return !Y && w && (w.contents.packageJsonContent.exports === void 0 || w.contents.packageJsonContent.exports === null) && W.features & 32 && (Y = BL(F, vi(B, "index.js"), q, W)), O2(w, Y) }; if (S !== "" && (w = A ?? KS(x, !i, o)), w && w.contents.packageJsonContent.exports && o.features & 8) return (g = eK(w, e, vi(".", S), o, s, l)) == null ? void 0 : g.value; let P = S !== "" && w ? $O(w, o) : void 0; if (P) { o.traceEnabled && Xi(o.host, _.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, P.version, Rf, S); let F = i && gp(x, o.host), B = nK(e, S, x, P.paths, void 0, C, !F, o); if (B) return B.value } return C(e, m, !i, o) } function nK(e, t, r, i, o, s, l, f) { o || (o = g4(i)); let d = NW(o, t); if (d) { let g = Ta(d) ? void 0 : Dae(d, t), m = Ta(d) ? d : kae(d); return f.traceEnabled && Xi(f.host, _.Module_name_0_matched_pattern_1, t, m), { value: mn(i[m], S => { let x = g ? S.replace("*", g) : S, A = So(vi(r, x)); f.traceEnabled && Xi(f.host, _.Trying_substitution_0_candidate_module_location_Colon_1, S, x); let w = Hm(S); if (w !== void 0) { let C = YO(A, l, f); if (C !== void 0) return J3({ path: C, ext: w, resolvedUsingTsExtension: void 0 }) } return s(e, A, l || !gp(ni(A), f.host), f) }) } } } function QNe(e, t) { let r = UL(e); return t.traceEnabled && r !== e && Xi(t.host, _.Scoped_package_detected_looking_in_0, r), r } function rF(e) { return `@types/${UL(e)}` } function UL(e) { if (na(e, "@")) { let t = e.replace(_s, aF); if (t !== e) return t.slice(1) } return e } function ZO(e) { let t = QC(e, "@types/"); return t !== e ? iF(t) : e } function iF(e) { return jl(e, aF) ? "@" + e.replace(aF, _s) : e } function a_e(e, t, r, i, o, s) { let l = e && e.getFromNonRelativeNameCache(t, r, i, o); if (l) return s.traceEnabled && Xi(s.host, _.Resolution_for_module_0_was_found_in_cache_from_location_1, t, i), s.resultFromCache = l, { value: l.resolvedModule && { path: l.resolvedModule.resolvedFileName, originalPath: l.resolvedModule.originalPath || !0, extension: l.resolvedModule.extension, packageId: l.resolvedModule.packageId, resolvedUsingTsExtension: l.resolvedModule.resolvedUsingTsExtension } } } function o_e(e, t, r, i, o, s) { let l = ov(r, i), f = [], d = [], g = ni(t), m = [], v = { compilerOptions: r, host: i, traceEnabled: l, failedLookupLocations: f, affectingLocations: d, packageJsonInfoCache: o, features: 0, conditions: [], requestContainingDirectory: g, reportDiagnostic: A => void m.push(A), isConfigLookup: !1, candidateIsFromPackageJsonField: !1 }, S = x(5) || x(2 | (r.resolveJsonModule ? 8 : 0)); return Pfe(e, S && S.value, S?.value && JS(S.value.path), f, d, m, v); function x(A) { let w = Vfe(A, e, g, YJ, v); if (w) return { value: w }; if (fl(e)) { let C = So(vi(g, e)); return Af(YJ(A, C, !1, v)) } else { let C = Th(g, P => { let F = a_e(o, e, void 0, P, s, v); if (F) return F; let B = So(vi(P, e)); return Af(YJ(A, B, !1, v)) }); if (C) return C; if (A & 5) return $Ne(e, g, v) } } } function VL(e, t) { return !!e.allowImportingTsExtensions || t && Fu(t) } function s_e(e, t, r, i, o, s) { let l = ov(r, i); l && Xi(i, _.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2, t, e, o); let f = [], d = [], g = [], m = { compilerOptions: r, host: i, traceEnabled: l, failedLookupLocations: f, affectingLocations: d, packageJsonInfoCache: s, features: 0, conditions: [], requestContainingDirectory: void 0, reportDiagnostic: S => void g.push(S), isConfigLookup: !1, candidateIsFromPackageJsonField: !1 }, v = r_e(4, e, o, m, !1, void 0, void 0); return Mfe(v, !0, f, d, g, m.resultFromCache) } function Af(e) { return e !== void 0 ? { value: e } : void 0 } function Y0(e, t, ...r) { e.traceEnabled && Xi(e.host, t, ...r) } var rK, iK, aK, Wg, aF, ZNe = gt({ "src/compiler/moduleNameResolver.ts"() { "use strict"; fa(), iK = vi("node_modules", "@types"), aK = (e => (e[e.None = 0] = "None", e[e.Imports = 2] = "Imports", e[e.SelfName = 4] = "SelfName", e[e.Exports = 8] = "Exports", e[e.ExportsPatternTrailers = 16] = "ExportsPatternTrailers", e[e.AllFeatures = 30] = "AllFeatures", e[e.Node16Default = 30] = "Node16Default", e[e.NodeNextDefault = 30] = "NodeNextDefault", e[e.BundlerDefault = 30] = "BundlerDefault", e[e.EsmMode = 32] = "EsmMode", e))(aK || {}), Wg = "/node_modules/", aF = "__" } }); function Gh(e, t) { return e.body && !e.body.parent && (go(e.body, e), Zy(e.body, !1)), e.body ? oK(e.body, t) : 1 } function oK(e, t = new Map) { let r = zo(e); if (t.has(r)) return t.get(r) || 0; t.set(r, void 0); let i = ePe(e, t); return t.set(r, i), i } function ePe(e, t) { switch (e.kind) { case 261: case 262: return 0; case 263: if (R0(e)) return 2; break; case 269: case 268: if (!Mr(e, 1)) return 0; break; case 275: let r = e; if (!r.moduleSpecifier && r.exportClause && r.exportClause.kind === 276) { let i = 0; for (let o of r.exportClause.elements) { let s = tPe(o, t); if (s > i && (i = s), i === 1) return i } return i } break; case 265: { let i = 0; return pa(e, o => { let s = oK(o, t); switch (s) { case 0: return; case 2: i = 2; return; case 1: return i = 1, !0; default: L.assertNever(s) } }), i } case 264: return Gh(e, t); case 79: if (e.flags & 2048) return 0 }return 1 } function tPe(e, t) { let r = e.propertyName || e.name, i = e.parent; for (; i;) { if (Va(i) || Tp(i) || Li(i)) { let o = i.statements, s; for (let l of o) if (xw(l, r)) { l.parent || (go(l, i), Zy(l, !1)); let f = oK(l, t); if ((s === void 0 || f > s) && (s = f), s === 1) return s } if (s !== void 0) return s } i = i.parent } return 1 } function zT(e) { return L.attachFlowNodeDebugInfo(e), e } function c_e(e, t) { Fs("beforeBind"), fp.logStartBindFile("" + e.fileName), d_e(e, t), fp.logStopBindFile(), Fs("afterBind"), hf("Bind", "beforeBind", "afterBind") } function nPe() { var e, t, r, i, o, s, l, f, d, g, m, v, S, x, A, w, C, P, F, B, q, W, Y = !1, R = 0, ie, $, fe = { flags: 1 }, Z = { flags: 1 }, U = Ot(); return le; function re(M, He, Nt, Pn, la) { return Nu(Gn(M) || e, M, He, Nt, Pn, la) } function le(M, He) { var Nt, Pn; e = M, t = He, r = Do(t), W = _e(e, He), $ = new Set, R = 0, ie = ml.getSymbolConstructor(), L.attachFlowNodeDebugInfo(fe), L.attachFlowNodeDebugInfo(Z), e.locals || ((Nt = ai) == null || Nt.push(ai.Phase.Bind, "bindSourceFile", { path: e.path }, !0), ft(e), (Pn = ai) == null || Pn.pop(), e.symbolCount = R, e.classifiableNames = $, hc()), e = void 0, t = void 0, r = void 0, i = void 0, o = void 0, s = void 0, l = void 0, f = void 0, d = void 0, g = !1, m = void 0, v = void 0, S = void 0, x = void 0, A = void 0, w = void 0, C = void 0, F = void 0, B = !1, Y = !1, q = 0 } function _e(M, He) { return Uf(He, "alwaysStrict") && !M.isDeclarationFile ? !0 : !!M.externalModuleIndicator } function ge(M, He) { return R++, new ie(M, He) } function X(M, He, Nt) { M.flags |= Nt, He.symbol = M, M.declarations = xg(M.declarations, He), Nt & 1955 && !M.exports && (M.exports = Ua()), Nt & 6240 && !M.members && (M.members = Ua()), M.constEnumOnlyModule && M.flags & 304 && (M.constEnumOnlyModule = !1), Nt & 111551 && rR(M, He) } function Ve(M) { if (M.kind === 274) return M.isExportEquals ? "export=" : "default"; let He = sa(M); if (He) { if (lu(M)) { let Nt = l_(He); return mp(M) ? "__global" : `"${Nt}"` } if (He.kind === 164) { let Nt = He.expression; if (yf(Nt)) return Bs(Nt.text); if (X6(Nt)) return Xa(Nt.operator) + Nt.operand.text; L.fail("Only computed properties with literal names have declaration names") } if (pi(He)) { let Nt = Zc(M); if (!Nt) return; let Pn = Nt.symbol; return hR(Pn, He.escapedText) } return c_(He) ? MI(He) : void 0 } switch (M.kind) { case 173: return "__constructor"; case 181: case 176: case 326: return "__call"; case 182: case 177: return "__new"; case 178: return "__index"; case 275: return "__export"; case 308: return "export="; case 223: if (ic(M) === 2) return "export="; L.fail("Unknown binary declaration kind"); break; case 320: return jA(M) ? "__new" : "__call"; case 166: return L.assert(M.parent.kind === 320, "Impossible parameter parent kind", () => `parent is: ${L.formatSyntaxKind(M.parent.kind)}, expected JSDocFunctionType`), "arg" + M.parent.parameters.indexOf(M) } } function we(M) { return zl(M) ? os(M.name) : Gi(L.checkDefined(Ve(M))) } function ke(M, He, Nt, Pn, la, oa, be) { L.assert(be || !Xy(Nt)); let De = Mr(Nt, 1024) || Mu(Nt) && Nt.name.escapedText === "default", mt = be ? "__computed" : De && He ? "default" : Ve(Nt), St; if (mt === void 0) St = ge(0, "__missing"); else if (St = M.get(mt), Pn & 2885600 && $.add(mt), !St) M.set(mt, St = ge(0, mt)), oa && (St.isReplaceableByMethod = !0); else { if (oa && !St.isReplaceableByMethod) return St; if (St.flags & la) { if (St.isReplaceableByMethod) M.set(mt, St = ge(0, mt)); else if (!(Pn & 3 && St.flags & 67108864)) { zl(Nt) && go(Nt.name, Nt); let Zt = St.flags & 2 ? _.Cannot_redeclare_block_scoped_variable_0 : _.Duplicate_identifier_0, rn = !0; (St.flags & 384 || Pn & 384) && (Zt = _.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations, rn = !1); let sn = !1; Fn(St.declarations) && (De || St.declarations && St.declarations.length && Nt.kind === 274 && !Nt.isExportEquals) && (Zt = _.A_module_cannot_have_multiple_default_exports, rn = !1, sn = !0); let Dn = []; Ep(Nt) && rc(Nt.type) && Mr(Nt, 1) && St.flags & 2887656 && Dn.push(re(Nt, _.Did_you_mean_0, `export type { ${Gi(Nt.name.escapedText)} }`)); let kr = sa(Nt) || Nt; mn(St.declarations, (Vn, $t) => { let Xn = sa(Vn) || Vn, ra = re(Xn, Zt, rn ? we(Vn) : void 0); e.bindDiagnostics.push(sn ? Ao(ra, re(kr, $t === 0 ? _.Another_export_default_is_here : _.and_here)) : ra), sn && Dn.push(re(Xn, _.The_first_export_default_is_here)) }); let ki = re(kr, Zt, rn ? we(Nt) : void 0); e.bindDiagnostics.push(Ao(ki, ...Dn)), St = ge(0, mt) } } } return X(St, Nt, Pn), St.parent ? L.assert(St.parent === He, "Existing symbol parent should match new one") : St.parent = He, St } function Pe(M, He, Nt) { let Pn = !!(wg(M) & 1) || Ce(M); if (He & 2097152) return M.kind === 278 || M.kind === 268 && Pn ? ke(o.symbol.exports, o.symbol, M, He, Nt) : (L.assertNode(o, Qp), ke(o.locals, void 0, M, He, Nt)); if (Ff(M) && L.assert(Yn(M)), !lu(M) && (Pn || o.flags & 64)) { if (!Qp(o) || !o.locals || Mr(M, 1024) && !Ve(M)) return ke(o.symbol.exports, o.symbol, M, He, Nt); let la = He & 111551 ? 1048576 : 0, oa = ke(o.locals, void 0, M, la, Nt); return oa.exportSymbol = ke(o.symbol.exports, o.symbol, M, He, Nt), M.localSymbol = oa, oa } else return L.assertNode(o, Qp), ke(o.locals, void 0, M, He, Nt) } function Ce(M) { if (M.parent && Tc(M) && (M = M.parent), !Ff(M)) return !1; if (!vO(M) && M.fullName) return !0; let He = sa(M); return He ? !!(LR(He.parent) && Vr(He.parent) || Kl(He.parent) && wg(He.parent) & 1) : !1 } function Ie(M, He) { let Nt = o, Pn = s, la = l; if (He & 1 ? (M.kind !== 216 && (s = o), o = l = M, He & 32 && (o.locals = Ua(), Za(o))) : He & 2 && (l = M, He & 32 && (l.locals = void 0)), He & 4) { let oa = m, be = v, De = S, mt = x, St = C, Zt = F, rn = B, sn = He & 16 && !Mr(M, 512) && !M.asteriskToken && !!ET(M) || M.kind === 172; sn || (m = zT({ flags: 2 }), He & 144 && (m.node = M)), x = sn || M.kind === 173 || Yn(M) && (M.kind === 259 || M.kind === 215) ? tn() : void 0, C = void 0, v = void 0, S = void 0, F = void 0, B = !1, Ye(M), M.flags &= -2817, !(m.flags & 1) && He & 8 && Pf(M.body) && (M.flags |= 256, B && (M.flags |= 512), M.endFlowNode = m), M.kind === 308 && (M.flags |= q, M.endFlowNode = m), x && ($n(x, m), m = pt(x), (M.kind === 173 || M.kind === 172 || Yn(M) && (M.kind === 259 || M.kind === 215)) && (M.returnFlowNode = m)), sn || (m = oa), v = be, S = De, x = mt, C = St, F = Zt, B = rn } else He & 64 ? (g = !1, Ye(M), L.assertNotNode(M, Re), M.flags = g ? M.flags | 128 : M.flags & -129) : Ye(M); o = Nt, s = Pn, l = la } function Be(M) { Ne(M, He => He.kind === 259 ? ft(He) : void 0), Ne(M, He => He.kind !== 259 ? ft(He) : void 0) } function Ne(M, He = ft) { M !== void 0 && mn(M, He) } function Le(M) { pa(M, ft, Ne) } function Ye(M) { let He = Y; if (Y = !1, Y_(M)) { Le(M), Yt(M), Y = He; return } switch (M.kind >= 240 && M.kind <= 256 && !t.allowUnreachableCode && (M.flowNode = m), M.kind) { case 244: Ht(M); break; case 243: En(M); break; case 245: dr(M); break; case 246: case 247: Cr(M); break; case 242: Se(M); break; case 250: case 254: at(M); break; case 249: case 248: nt(M); break; case 255: ce(M); break; case 252: Q(M); break; case 266: ue(M); break; case 292: G(M); break; case 241: Oe(M); break; case 253: Ge(M); break; case 221: ir(M); break; case 222: ae(M); break; case 223: if (Fg(M)) { Y = He, rt(M); return } U(M); break; case 217: Ke(M); break; case 224: oe(M); break; case 257: z(M); break; case 208: case 209: Si(M); break; case 210: Ja(M); break; case 232: Kr(M); break; case 349: case 341: case 343: lt(M); break; case 308: { Be(M.statements), ft(M.endOfFileToken); break } case 238: case 265: Be(M.statements); break; case 205: Te(M); break; case 166: j(M); break; case 207: case 206: case 299: case 227: Y = He; default: Le(M); break }Yt(M), Y = He } function _t(M) { switch (M.kind) { case 79: case 80: case 108: case 208: case 209: return Rt(M); case 210: return We(M); case 214: case 232: return _t(M.expression); case 223: return zt(M); case 221: return M.operator === 53 && _t(M.operand); case 218: return _t(M.expression) }return !1 } function ct(M) { return WI(M) || (br(M) || PS(M) || ud(M)) && ct(M.expression) || ar(M) && M.operatorToken.kind === 27 && ct(M.right) || Vs(M) && (yf(M.argumentExpression) || bc(M.argumentExpression)) && ct(M.expression) || Iu(M) && ct(M.left) } function Rt(M) { return ct(M) || Jl(M) && Rt(M.expression) } function We(M) { if (M.arguments) { for (let He of M.arguments) if (Rt(He)) return !0 } return !!(M.expression.kind === 208 && Rt(M.expression.expression)) } function qe(M, He) { return y2(M) && Qt(M.expression) && es(He) } function zt(M) { switch (M.operatorToken.kind) { case 63: case 75: case 76: case 77: return Rt(M.left); case 34: case 35: case 36: case 37: return Qt(M.left) || Qt(M.right) || qe(M.right, M.left) || qe(M.left, M.right); case 102: return Qt(M.left); case 101: return _t(M.right); case 27: return _t(M.right) }return !1 } function Qt(M) { switch (M.kind) { case 214: return Qt(M.expression); case 223: switch (M.operatorToken.kind) { case 63: return Qt(M.left); case 27: return Qt(M.right) } }return Rt(M) } function tn() { return zT({ flags: 4, antecedents: void 0 }) } function kn() { return zT({ flags: 8, antecedents: void 0 }) } function _n(M, He, Nt) { return zT({ flags: 1024, target: M, antecedents: He, antecedent: Nt }) } function Gt(M) { M.flags |= M.flags & 2048 ? 4096 : 2048 } function $n(M, He) { !(He.flags & 1) && !ya(M.antecedents, He) && ((M.antecedents || (M.antecedents = [])).push(He), Gt(He)) } function ui(M, He, Nt) { return He.flags & 1 ? He : Nt ? (Nt.kind === 110 && M & 64 || Nt.kind === 95 && M & 32) && !r6(Nt) && !wj(Nt.parent) ? fe : _t(Nt) ? (Gt(He), zT({ flags: M, antecedent: He, node: Nt })) : He : M & 32 ? He : fe } function Ni(M, He, Nt, Pn) { return Gt(M), zT({ flags: 128, antecedent: M, switchStatement: He, clauseStart: Nt, clauseEnd: Pn }) } function Pi(M, He, Nt) { Gt(He); let Pn = zT({ flags: M, antecedent: He, node: Nt }); return C && $n(C, Pn), Pn } function gr(M, He) { return Gt(M), zT({ flags: 512, antecedent: M, node: He }) } function pt(M) { let He = M.antecedents; return He ? He.length === 1 ? He[0] : M : fe } function nn(M) { let He = M.parent; switch (He.kind) { case 242: case 244: case 243: return He.expression === M; case 245: case 224: return He.condition === M }return !1 } function Dt(M) { for (; ;)if (M.kind === 214) M = M.expression; else if (M.kind === 221 && M.operator === 53) M = M.operand; else return CR(M) } function pn(M) { return cW(vs(M)) } function An(M) { for (; ud(M.parent) || tv(M.parent) && M.parent.operator === 53;)M = M.parent; return !nn(M) && !Dt(M.parent) && !(Jl(M.parent) && M.parent.expression === M) } function Kn(M, He, Nt, Pn) { let la = A, oa = w; A = Nt, w = Pn, M(He), A = la, w = oa } function hi(M, He, Nt) { Kn(ft, M, He, Nt), (!M || !pn(M) && !Dt(M) && !(Jl(M) && mI(M))) && ($n(He, ui(32, m, M)), $n(Nt, ui(64, m, M))) } function ri(M, He, Nt) { let Pn = v, la = S; v = He, S = Nt, ft(M), v = Pn, S = la } function vn(M, He) { let Nt = F; for (; Nt && M.parent.kind === 253;)Nt.continueTarget = He, Nt = Nt.next, M = M.parent; return He } function Ht(M) { let He = vn(M, kn()), Nt = tn(), Pn = tn(); $n(He, m), m = He, hi(M.expression, Nt, Pn), m = pt(Nt), ri(M.statement, Pn, He), $n(He, m), m = pt(Pn) } function En(M) { let He = kn(), Nt = vn(M, tn()), Pn = tn(); $n(He, m), m = He, ri(M.statement, Pn, Nt), $n(Nt, m), m = pt(Nt), hi(M.expression, He, Pn), m = pt(Pn) } function dr(M) { let He = vn(M, kn()), Nt = tn(), Pn = tn(); ft(M.initializer), $n(He, m), m = He, hi(M.condition, Nt, Pn), m = pt(Nt), ri(M.statement, Pn, He), ft(M.incrementor), $n(He, m), m = pt(Pn) } function Cr(M) { let He = vn(M, kn()), Nt = tn(); ft(M.expression), $n(He, m), m = He, M.kind === 247 && ft(M.awaitModifier), $n(Nt, m), ft(M.initializer), M.initializer.kind !== 258 && Kt(M.initializer), ri(M.statement, Nt, He), $n(He, m), m = pt(Nt) } function Se(M) { let He = tn(), Nt = tn(), Pn = tn(); hi(M.expression, He, Nt), m = pt(He), ft(M.thenStatement), $n(Pn, m), m = pt(Nt), ft(M.elseStatement), $n(Pn, m), m = pt(Pn) } function at(M) { ft(M.expression), M.kind === 250 && (B = !0, x && $n(x, m)), m = fe } function Tt(M) { for (let He = F; He; He = He.next)if (He.name === M) return He } function ve(M, He, Nt) { let Pn = M.kind === 249 ? He : Nt; Pn && ($n(Pn, m), m = fe) } function nt(M) { if (ft(M.label), M.label) { let He = Tt(M.label.escapedText); He && (He.referenced = !0, ve(M, He.breakTarget, He.continueTarget)) } else ve(M, v, S) } function ce(M) { let He = x, Nt = C, Pn = tn(), la = tn(), oa = tn(); if (M.finallyBlock && (x = la), $n(oa, m), C = oa, ft(M.tryBlock), $n(Pn, m), M.catchClause && (m = pt(oa), oa = tn(), $n(oa, m), C = oa, ft(M.catchClause), $n(Pn, m)), x = He, C = Nt, M.finallyBlock) { let be = tn(); be.antecedents = Qi(Qi(Pn.antecedents, oa.antecedents), la.antecedents), m = be, ft(M.finallyBlock), m.flags & 1 ? m = fe : (x && la.antecedents && $n(x, _n(be, la.antecedents, m)), C && oa.antecedents && $n(C, _n(be, oa.antecedents, m)), m = Pn.antecedents ? _n(be, Pn.antecedents, m) : fe) } else m = pt(Pn) } function Q(M) { let He = tn(); ft(M.expression); let Nt = v, Pn = P; v = He, P = m, ft(M.caseBlock), $n(He, m); let la = mn(M.caseBlock.clauses, oa => oa.kind === 293); M.possiblyExhaustive = !la && !He.antecedents, la || $n(He, Ni(P, M, 0, 0)), v = Nt, P = Pn, m = pt(He) } function ue(M) { let He = M.clauses, Nt = _t(M.parent.expression), Pn = fe; for (let la = 0; la < He.length; la++) { let oa = la; for (; !He[la].statements.length && la + 1 < He.length;)ft(He[la]), la++; let be = tn(); $n(be, Nt ? Ni(P, M.parent, oa, la + 1) : P), $n(be, Pn), m = pt(be); let De = He[la]; ft(De), Pn = m, !(m.flags & 1) && la !== He.length - 1 && t.noFallthroughCasesInSwitch && (De.fallthroughFlowNode = m) } } function G(M) { let He = m; m = P, ft(M.expression), m = He, Ne(M.statements) } function Oe(M) { ft(M.expression), je(M.expression) } function je(M) { if (M.kind === 210) { let He = M; He.expression.kind !== 106 && WI(He.expression) && (m = gr(m, He)) } } function Ge(M) { let He = tn(); F = { next: F, name: M.label.escapedText, breakTarget: He, continueTarget: void 0, referenced: !1 }, ft(M.label), ft(M.statement), !F.referenced && !t.allowUnusedLabels && wt(Sle(t), M.label, _.Unused_label), F = F.next, $n(He, m), m = pt(He) } function kt(M) { M.kind === 223 && M.operatorToken.kind === 63 ? Kt(M.left) : Kt(M) } function Kt(M) { if (ct(M)) m = Pi(16, m, M); else if (M.kind === 206) for (let He of M.elements) He.kind === 227 ? Kt(He.expression) : kt(He); else if (M.kind === 207) for (let He of M.properties) He.kind === 299 ? kt(He.initializer) : He.kind === 300 ? Kt(He.name) : He.kind === 301 && Kt(He.expression) } function ln(M, He, Nt) { let Pn = tn(); M.operatorToken.kind === 55 || M.operatorToken.kind === 76 ? hi(M.left, Pn, Nt) : hi(M.left, He, Pn), m = pt(Pn), ft(M.operatorToken), HI(M.operatorToken.kind) ? (Kn(ft, M.right, He, Nt), Kt(M.left), $n(He, ui(32, m, M)), $n(Nt, ui(64, m, M))) : hi(M.right, He, Nt) } function ir(M) { if (M.operator === 53) { let He = A; A = w, w = He, Le(M), w = A, A = He } else Le(M), (M.operator === 45 || M.operator === 46) && Kt(M.operand) } function ae(M) { Le(M), (M.operator === 45 || M.operator === 46) && Kt(M.operand) } function rt(M) { Y ? (Y = !1, ft(M.operatorToken), ft(M.right), Y = !0, ft(M.left)) : (Y = !0, ft(M.left), Y = !1, ft(M.operatorToken), ft(M.right)), Kt(M.left) } function Ot() { return C3(M, He, Nt, Pn, la, void 0); function M(be, De) { if (De) { De.stackIndex++, go(be, i); let St = W; ta(be); let Zt = i; i = be, De.skip = !1, De.inStrictModeStack[De.stackIndex] = St, De.parentStack[De.stackIndex] = Zt } else De = { stackIndex: 0, skip: !1, inStrictModeStack: [void 0], parentStack: [void 0] }; let mt = be.operatorToken.kind; if (AR(mt) || HI(mt)) { if (An(be)) { let St = tn(); ln(be, St, St), m = pt(St) } else ln(be, A, w); De.skip = !0 } return De } function He(be, De, mt) { if (!De.skip) { let St = oa(be); return mt.operatorToken.kind === 27 && je(be), St } } function Nt(be, De, mt) { De.skip || ft(be) } function Pn(be, De, mt) { if (!De.skip) { let St = oa(be); return mt.operatorToken.kind === 27 && je(be), St } } function la(be, De) { if (!De.skip) { let Zt = be.operatorToken.kind; if (Mg(Zt) && !Um(be) && (Kt(be.left), Zt === 63 && be.left.kind === 209)) { let rn = be.left; Qt(rn.expression) && (m = Pi(256, m, be)) } } let mt = De.inStrictModeStack[De.stackIndex], St = De.parentStack[De.stackIndex]; mt !== void 0 && (W = mt), St !== void 0 && (i = St), De.skip = !1, De.stackIndex-- } function oa(be) { if (be && ar(be) && !Fg(be)) return be; ft(be) } } function Ke(M) { Le(M), M.expression.kind === 208 && Kt(M.expression) } function oe(M) { let He = tn(), Nt = tn(), Pn = tn(); hi(M.condition, He, Nt), m = pt(He), ft(M.questionToken), ft(M.whenTrue), $n(Pn, m), m = pt(Nt), ft(M.colonToken), ft(M.whenFalse), $n(Pn, m), m = pt(Pn) } function pe(M) { let He = ol(M) ? void 0 : M.name; if (La(He)) for (let Nt of He.elements) pe(Nt); else m = Pi(16, m, M) } function z(M) { Le(M), (M.initializer || CA(M.parent.parent)) && pe(M) } function Te(M) { ft(M.dotDotDotToken), ft(M.propertyName), yt(M.initializer), ft(M.name) } function j(M) { Ne(M.modifiers), ft(M.dotDotDotToken), ft(M.questionToken), ft(M.type), yt(M.initializer), ft(M.name) } function yt(M) { if (!M) return; let He = m; if (ft(M), He === fe || He === m) return; let Nt = tn(); $n(Nt, He), $n(Nt, m), m = pt(Nt) } function lt(M) { ft(M.tagName), M.kind !== 343 && M.fullName && (go(M.fullName, M), Zy(M.fullName, !1)), typeof M.comment != "string" && Ne(M.comment) } function Qe(M) { Le(M); let He = sb(M); He && He.kind !== 171 && X(He.symbol, He, 32) } function Vt(M, He, Nt) { Kn(ft, M, He, Nt), (!Jl(M) || mI(M)) && ($n(He, ui(32, m, M)), $n(Nt, ui(64, m, M))) } function Hn(M) { switch (M.kind) { case 208: ft(M.questionDotToken), ft(M.name); break; case 209: ft(M.questionDotToken), ft(M.argumentExpression); break; case 210: ft(M.questionDotToken), Ne(M.typeArguments), Ne(M.arguments); break } } function jr(M, He, Nt) { let Pn = pI(M) ? tn() : void 0; Vt(M.expression, Pn || He, Nt), Pn && (m = pt(Pn)), Kn(Hn, M, He, Nt), mI(M) && ($n(He, ui(32, m, M)), $n(Nt, ui(64, m, M))) } function ei(M) { if (An(M)) { let He = tn(); jr(M, He, He), m = pt(He) } else jr(M, A, w) } function Kr(M) { Jl(M) ? ei(M) : Le(M) } function Si(M) { Jl(M) ? ei(M) : Le(M) } function Ja(M) { if (Jl(M)) ei(M); else { let He = vs(M.expression); He.kind === 215 || He.kind === 216 ? (Ne(M.typeArguments), Ne(M.arguments), ft(M.expression)) : (Le(M), M.expression.kind === 106 && (m = gr(m, M))) } if (M.expression.kind === 208) { let He = M.expression; Re(He.name) && Qt(He.expression) && jH(He.name) && (m = Pi(256, m, M)) } } function Za(M) { f && (f.nextContainer = M), f = M } function Fa(M, He, Nt) { switch (o.kind) { case 264: return Pe(M, He, Nt); case 308: return xi(M, He, Nt); case 228: case 260: return Hi(M, He, Nt); case 263: return ke(o.symbol.exports, o.symbol, M, He, Nt); case 184: case 325: case 207: case 261: case 289: return ke(o.symbol.members, o.symbol, M, He, Nt); case 181: case 182: case 176: case 177: case 326: case 178: case 171: case 170: case 173: case 174: case 175: case 259: case 215: case 216: case 320: case 172: case 262: case 197: return o.locals && L.assertNode(o, Qp), ke(o.locals, void 0, M, He, Nt) } } function Hi(M, He, Nt) { return Ca(M) ? ke(o.symbol.exports, o.symbol, M, He, Nt) : ke(o.symbol.members, o.symbol, M, He, Nt) } function xi(M, He, Nt) { return Lc(e) ? Pe(M, He, Nt) : ke(e.locals, void 0, M, He, Nt) } function Nr(M) { let He = Li(M) ? M : zr(M.body, Tp); return !!He && He.statements.some(Nt => Il(Nt) || pc(Nt)) } function Fo(M) { M.flags & 16777216 && !Nr(M) ? M.flags |= 64 : M.flags &= -65 } function Qr(M) { if (Fo(M), lu(M)) if (Mr(M, 1) && ht(M, _.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible), uH(M)) Wi(M); else { let He; if (M.name.kind === 10) { let { text: Pn } = M.name; He = n2(Pn), He === void 0 && ht(M.name, _.Pattern_0_can_have_at_most_one_Asterisk_character, Pn) } let Nt = Fa(M, 512, 110735); e.patternAmbientModules = Sn(e.patternAmbientModules, He && !Ta(He) ? { pattern: He, symbol: Nt } : void 0) } else { let He = Wi(M); if (He !== 0) { let { symbol: Nt } = M; Nt.constEnumOnlyModule = !(Nt.flags & 304) && He === 2 && Nt.constEnumOnlyModule !== !1 } } } function Wi(M) { let He = Gh(M), Nt = He !== 0; return Fa(M, Nt ? 512 : 1024, Nt ? 110735 : 0), He } function gn(M) { let He = ge(131072, Ve(M)); X(He, M, 131072); let Nt = ge(2048, "__type"); X(Nt, M, 2048), Nt.members = Ua(), Nt.members.set(He.escapedName, He) } function Ki(M) { return mc(M, 4096, "__object") } function kc(M) { return mc(M, 4096, "__jsxAttributes") } function Ps(M, He, Nt) { return Fa(M, He, Nt) } function mc(M, He, Nt) { let Pn = ge(He, Nt); return He & 106508 && (Pn.parent = o.symbol), X(Pn, M, He), Pn } function xc(M, He, Nt) { switch (l.kind) { case 264: Pe(M, He, Nt); break; case 308: if (kd(o)) { Pe(M, He, Nt); break } default: L.assertNode(l, Qp), l.locals || (l.locals = Ua(), Za(l)), ke(l.locals, void 0, M, He, Nt) } } function hc() { if (!d) return; let M = o, He = f, Nt = l, Pn = i, la = m; for (let oa of d) { let be = oa.parent.parent; o = jn(be.parent, mt => !!(u_e(mt) & 1)) || e, l = tm(be) || e, m = zT({ flags: 2 }), i = oa, ft(oa.typeExpression); let De = sa(oa); if ((vO(oa) || !oa.fullName) && De && LR(De.parent)) { let mt = Vr(De.parent); if (mt) { Ln(e.symbol, De.parent, mt, !!jn(De, Zt => br(Zt) && Zt.name.escapedText === "prototype"), !1); let St = o; switch (tR(De.parent)) { case 1: case 2: kd(e) ? o = e : o = void 0; break; case 4: o = De.parent.expression; break; case 3: o = De.parent.expression.name; break; case 5: o = $0(e, De.parent.expression) ? e : br(De.parent.expression) ? De.parent.expression.name : De.parent.expression; break; case 0: return L.fail("Shouldn't have detected typedef or enum on non-assignment declaration") }o && Pe(oa, 524288, 788968), o = St } } else vO(oa) || !oa.fullName || oa.fullName.kind === 79 ? (i = oa.parent, xc(oa, 524288, 788968)) : ft(oa.fullName) } o = M, f = He, l = Nt, i = Pn, m = la } function ro(M) { if (!e.parseDiagnostics.length && !(M.flags & 16777216) && !(M.flags & 8388608) && !Sce(M)) { let He = nb(M); if (He === void 0) return; W && He >= 117 && He <= 125 ? e.bindDiagnostics.push(re(M, aa(M), os(M))) : He === 133 ? Lc(e) && O6(M) ? e.bindDiagnostics.push(re(M, _.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, os(M))) : M.flags & 32768 && e.bindDiagnostics.push(re(M, _.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, os(M))) : He === 125 && M.flags & 8192 && e.bindDiagnostics.push(re(M, _.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, os(M))) } } function aa(M) { return Zc(M) ? _.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode : e.externalModuleIndicator ? _.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode : _.Identifier_expected_0_is_a_reserved_word_in_strict_mode } function Co(M) { M.escapedText === "#constructor" && (e.parseDiagnostics.length || e.bindDiagnostics.push(re(M, _.constructor_is_a_reserved_word, os(M)))) } function gc(M) { W && Ju(M.left) && Mg(M.operatorToken.kind) && bl(M, M.left) } function Ll(M) { W && M.variableDeclaration && bl(M, M.variableDeclaration.name) } function md(M) { if (W && M.expression.kind === 79) { let He = w0(e, M.expression); e.bindDiagnostics.push(al(e, He.start, He.length, _.delete_cannot_be_called_on_an_identifier_in_strict_mode)) } } function Pc(M) { return Re(M) && (M.escapedText === "eval" || M.escapedText === "arguments") } function bl(M, He) { if (He && He.kind === 79) { let Nt = He; if (Pc(Nt)) { let Pn = w0(e, He); e.bindDiagnostics.push(al(e, Pn.start, Pn.length, ss(M), vr(Nt))) } } } function ss(M) { return Zc(M) ? _.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode : e.externalModuleIndicator ? _.Invalid_use_of_0_Modules_are_automatically_in_strict_mode : _.Invalid_use_of_0_in_strict_mode } function qs(M) { W && bl(M, M.name) } function Rs(M) { return Zc(M) ? _.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode : e.externalModuleIndicator ? _.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode : _.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5 } function As(M) { if (r < 2 && l.kind !== 308 && l.kind !== 264 && !SA(l)) { let He = w0(e, M); e.bindDiagnostics.push(al(e, He.start, He.length, Rs(M))) } } function jt(M) { r < 1 && W && M.numericLiteralFlags & 32 && e.bindDiagnostics.push(re(M, _.Octal_literals_are_not_allowed_in_strict_mode)) } function yc(M) { W && bl(M, M.operand) } function Ql(M) { W && (M.operator === 45 || M.operator === 46) && bl(M, M.operand) } function yu(M) { W && ht(M, _.with_statements_are_not_allowed_in_strict_mode) } function se(M) { W && Do(t) >= 2 && (bse(M.statement) || Bc(M.statement)) && ht(M.label, _.A_label_is_not_allowed_here) } function ht(M, He, Nt, Pn, la) { let oa = Pg(e, M.pos); e.bindDiagnostics.push(al(e, oa.start, oa.length, He, Nt, Pn, la)) } function wt(M, He, Nt) { K(M, He, He, Nt) } function K(M, He, Nt, Pn) { Xe(M, { pos: gT(He, e), end: Nt.end }, Pn) } function Xe(M, He, Nt) { let Pn = al(e, He.pos, He.end - He.pos, Nt); M ? e.bindDiagnostics.push(Pn) : e.bindSuggestionDiagnostics = Sn(e.bindSuggestionDiagnostics, { ...Pn, category: 2 }) } function ft(M) { if (!M) return; go(M, i), ai && (M.tracingPath = e.path); let He = W; if (ta(M), M.kind > 162) { let Nt = i; i = M; let Pn = u_e(M); Pn === 0 ? Ye(M) : Ie(M, Pn), i = Nt } else { let Nt = i; M.kind === 1 && (i = M), Yt(M), i = Nt } W = He } function Yt(M) { if (Kd(M)) if (Yn(M)) for (let He of M.jsDoc) ft(He); else for (let He of M.jsDoc) go(He, M), Zy(He, !1) } function pr(M) { if (!W) for (let He of M) { if (!B_(He)) return; if (yr(He)) { W = !0; return } } } function yr(M) { let He = k0(e, M.expression); return He === '"use strict"' || He === "'use strict'" } function ta(M) { switch (M.kind) { case 79: if (M.flags & 2048) { let be = M.parent; for (; be && !Ff(be);)be = be.parent; xc(be, 524288, 788968); break } case 108: return m && (ot(M) || i.kind === 300) && (M.flowNode = m), ro(M); case 163: m && G6(M) && (M.flowNode = m); break; case 233: case 106: M.flowNode = m; break; case 80: return Co(M); case 208: case 209: let He = M; m && ct(He) && (He.flowNode = m), fce(He) && Ri(He), Yn(He) && e.commonJsModuleIndicator && Bm(He) && !eN(l, "module") && ke(e.locals, void 0, He.expression, 134217729, 111550); break; case 223: switch (ic(M)) { case 1: hd(M); break; case 2: vc(M); break; case 3: Ze(M.left, M); break; case 6: io(M); break; case 4: ye(M); break; case 5: let be = M.left.expression; if (Yn(M) && Re(be)) { let De = eN(l, be.escapedText); if (N6(De?.valueDeclaration)) { ye(M); break } } xt(M); break; case 0: break; default: L.fail("Unknown binary expression special property assignment kind") }return gc(M); case 295: return Ll(M); case 217: return md(M); case 8: return jt(M); case 222: return yc(M); case 221: return Ql(M); case 251: return yu(M); case 253: return se(M); case 194: g = !0; return; case 179: break; case 165: return Fd(M); case 166: return Zl(M); case 257: return gd(M); case 205: return M.flowNode = m, gd(M); case 169: case 168: return Go(M); case 299: case 300: return Io(M, 4, 0); case 302: return Io(M, 8, 900095); case 176: case 177: case 178: return Fa(M, 131072, 0); case 171: case 170: return Io(M, 8192 | (M.questionToken ? 16777216 : 0), s_(M) ? 0 : 103359); case 259: return Md(M); case 173: return Fa(M, 16384, 0); case 174: return Io(M, 32768, 46015); case 175: return Io(M, 65536, 78783); case 181: case 320: case 326: case 182: return gn(M); case 184: case 325: case 197: return Ka(M); case 335: return Qe(M); case 207: return Ki(M); case 215: case 216: return zf(M); case 210: switch (ic(M)) { case 7: return At(M); case 8: return Ws(M); case 9: return ee(M); case 0: break; default: return L.fail("Unknown call expression assignment declaration kind") }Yn(M) && Bu(M); break; case 228: case 260: return W = !0, Pd(M); case 261: return xc(M, 64, 788872); case 262: return xc(M, 524288, 788968); case 263: return Dc(M); case 264: return Qr(M); case 289: return kc(M); case 288: return Ps(M, 4, 0); case 268: case 271: case 273: case 278: return Fa(M, 2097152, 2097152); case 267: return Uc(M); case 270: return $o(M); case 275: return Gu(M); case 274: return Hs(M); case 308: return pr(M.statements), vo(); case 238: if (!SA(M.parent)) return; case 265: return pr(M.statements); case 344: if (M.parent.kind === 326) return Zl(M); if (M.parent.kind !== 325) break; case 351: let la = M, oa = la.isBracketed || la.typeExpression && la.typeExpression.type.kind === 319 ? 16777220 : 4; return Fa(la, oa, 0); case 349: case 341: case 343: return (d || (d = [])).push(M); case 342: return ft(M.typeExpression) } } function Go(M) { let He = Id(M), Nt = He ? 98304 : 4, Pn = He ? 13247 : 0; return Io(M, Nt | (M.questionToken ? 16777216 : 0), Pn) } function Ka(M) { return mc(M, 2048, "__type") } function vo() { if (Fo(e), Lc(e)) ka(); else if (Mf(e)) { ka(); let M = e.symbol; ke(e.symbol.exports, e.symbol, e, 4, 67108863), e.symbol = M } } function ka() { mc(e, 512, `"${ld(e.fileName)}"`) } function Hs(M) { if (!o.symbol || !o.symbol.exports) mc(M, 111551, Ve(M)); else { let He = zA(M) ? 2097152 : 4, Nt = ke(o.symbol.exports, o.symbol, M, He, 67108863); M.isExportEquals && rR(Nt, M) } } function Uc(M) { vt(M.modifiers) && e.bindDiagnostics.push(re(M, _.Modifiers_cannot_appear_here)); let He = Li(M.parent) ? Lc(M.parent) ? M.parent.isDeclarationFile ? void 0 : _.Global_module_exports_may_only_appear_in_declaration_files : _.Global_module_exports_may_only_appear_in_module_files : _.Global_module_exports_may_only_appear_at_top_level; He ? e.bindDiagnostics.push(re(M, He)) : (e.symbol.globalExports = e.symbol.globalExports || Ua(), ke(e.symbol.globalExports, e.symbol, M, 2097152, 2097152)) } function Gu(M) { !o.symbol || !o.symbol.exports ? mc(M, 8388608, Ve(M)) : M.exportClause ? qm(M.exportClause) && (go(M.exportClause, M), ke(o.symbol.exports, o.symbol, M.exportClause, 2097152, 2097152)) : ke(o.symbol.exports, o.symbol, M, 8388608, 0) } function $o(M) { M.name && Fa(M, 2097152, 2097152) } function jo(M) { return e.externalModuleIndicator && e.externalModuleIndicator !== !0 ? !1 : (e.commonJsModuleIndicator || (e.commonJsModuleIndicator = M, e.externalModuleIndicator || ka()), !0) } function Ws(M) { if (!jo(M)) return; let He = Cs(M.arguments[0], void 0, (Nt, Pn) => (Pn && X(Pn, Nt, 67110400), Pn)); He && ke(He.exports, He, M, 1048580, 0) } function hd(M) { if (!jo(M)) return; let He = Cs(M.left.expression, void 0, (Nt, Pn) => (Pn && X(Pn, Nt, 67110400), Pn)); if (He) { let Pn = pR(M.right) && (TT(M.left.expression) || Bm(M.left.expression)) ? 2097152 : 1048580; go(M.left, M), ke(He.exports, He, M.left, Pn, 0) } } function vc(M) { if (!jo(M)) return; let He = Qw(M.right); if (dW(He) || o === e && $0(e, He)) return; if (rs(He) && Ji(He.properties, xf)) { mn(He.properties, nf); return } let Nt = zA(M) ? 2097152 : 1049092, Pn = ke(e.symbol.exports, e.symbol, M, Nt | 67108864, 0); rR(Pn, M) } function nf(M) { ke(e.symbol.exports, e.symbol, M, 69206016, 0) } function ye(M) { if (L.assert(Yn(M)), ar(M) && br(M.left) && pi(M.left.name) || br(M) && pi(M.name)) return; let Nt = Ku(M, !1, !1); switch (Nt.kind) { case 259: case 215: let Pn = Nt.symbol; if (ar(Nt.parent) && Nt.parent.operatorToken.kind === 63) { let be = Nt.parent.left; ST(be) && ub(be.expression) && (Pn = Qo(be.expression.expression, s)) } Pn && Pn.valueDeclaration && (Pn.members = Pn.members || Ua(), Xy(M) ? Et(M, Pn, Pn.members) : ke(Pn.members, Pn, M, 67108868, 0), X(Pn, Pn.valueDeclaration, 32)); break; case 173: case 169: case 171: case 174: case 175: case 172: let la = Nt.parent, oa = Ca(Nt) ? la.symbol.exports : la.symbol.members; Xy(M) ? Et(M, la.symbol, oa) : ke(oa, la.symbol, M, 67108868, 0, !0); break; case 308: if (Xy(M)) break; Nt.commonJsModuleIndicator ? ke(Nt.symbol.exports, Nt.symbol, M, 1048580, 0) : Fa(M, 1, 111550); break; default: L.failBadSyntaxKind(Nt) } } function Et(M, He, Nt) { ke(Nt, He, M, 4, 0, !0, !0), bn(M, He) } function bn(M, He) { He && (He.assignmentDeclarationMembers || (He.assignmentDeclarationMembers = new Map)).set(zo(M), M) } function Ri(M) { M.expression.kind === 108 ? ye(M) : ST(M) && M.parent.parent.kind === 308 && (ub(M.expression) ? Ze(M, M.parent) : qt(M)) } function io(M) { go(M.left, M), go(M.right, M), gi(M.left.expression, M.left, !1, !0) } function ee(M) { let He = Qo(M.arguments[0].expression); He && He.valueDeclaration && X(He, He.valueDeclaration, 32), mr(M, He, !0) } function Ze(M, He) { let Nt = M.expression, Pn = Nt.expression; go(Pn, Nt), go(Nt, M), go(M, He), gi(Pn, M, !0, !0) } function At(M) { let He = Qo(M.arguments[0]), Nt = M.parent.parent.kind === 308; He = Ln(He, M.arguments[0], Nt, !1, !1), mr(M, He, !1) } function xt(M) { var He; let Nt = Qo(M.left.expression, o) || Qo(M.left.expression, l); if (!Yn(M) && !_ce(Nt)) return; let Pn = $I(M.left); if (!(Re(Pn) && ((He = eN(o, Pn.escapedText)) == null ? void 0 : He.flags) & 2097152)) if (go(M.left, M), go(M.right, M), Re(M.left.expression) && o === e && $0(e, M.left.expression)) hd(M); else if (Xy(M)) { mc(M, 67108868, "__computed"); let la = Ln(Nt, M.left.expression, Vr(M.left), !1, !1); bn(M, la) } else qt(Ga(M.left, cS)) } function qt(M) { L.assert(!Re(M)), go(M.expression, M), gi(M.expression, M, !1, !1) } function Ln(M, He, Nt, Pn, la) { return M?.flags & 2097152 || (Nt && !Pn && (M = Cs(He, M, (De, mt, St) => { if (mt) return X(mt, De, 67110400), mt; { let Zt = St ? St.exports : e.jsGlobalAugmentations || (e.jsGlobalAugmentations = Ua()); return ke(Zt, St, De, 67110400, 110735) } })), la && M && M.valueDeclaration && X(M, M.valueDeclaration, 32)), M } function mr(M, He, Nt) { if (!He || !Ea(He)) return; let Pn = Nt ? He.members || (He.members = Ua()) : He.exports || (He.exports = Ua()), la = 0, oa = 0; Ds(oS(M)) ? (la = 8192, oa = 103359) : Pa(M) && sS(M) && (vt(M.arguments[2].properties, be => { let De = sa(be); return !!De && Re(De) && vr(De) === "set" }) && (la |= 65540, oa |= 78783), vt(M.arguments[2].properties, be => { let De = sa(be); return !!De && Re(De) && vr(De) === "get" }) && (la |= 32772, oa |= 46015)), la === 0 && (la = 4, oa = 0), ke(Pn, He, M, la | 67108864, oa & -67108865) } function Vr(M) { return ar(M.parent) ? bo(M.parent).parent.kind === 308 : M.parent.parent.kind === 308 } function gi(M, He, Nt, Pn) { let la = Qo(M, o) || Qo(M, l), oa = Vr(He); la = Ln(la, He.expression, oa, Nt, Pn), mr(He, la, Nt) } function Ea(M) { if (M.flags & 1072) return !0; let He = M.valueDeclaration; if (He && Pa(He)) return !!oS(He); let Nt = He ? wi(He) ? He.initializer : ar(He) ? He.right : br(He) && ar(He.parent) ? He.parent.right : void 0 : void 0; if (Nt = Nt && Qw(Nt), Nt) { let Pn = ub(wi(He) ? He.name : ar(He) ? He.left : He); return !!ob(ar(Nt) && (Nt.operatorToken.kind === 56 || Nt.operatorToken.kind === 60) ? Nt.right : Nt, Pn) } return !1 } function bo(M) { for (; ar(M.parent);)M = M.parent; return M.parent } function Qo(M, He = o) { if (Re(M)) return eN(He, M.escapedText); { let Nt = Qo(M.expression); return Nt && Nt.exports && Nt.exports.get(wh(M)) } } function Cs(M, He, Nt) { if ($0(e, M)) return e.symbol; if (Re(M)) return Nt(M, Qo(M), He); { let Pn = Cs(M.expression, He, Nt), la = eR(M); return pi(la) && L.fail("unexpected PrivateIdentifier"), Nt(la, Pn && Pn.exports && Pn.exports.get(wh(M)), Pn) } } function Bu(M) { !e.commonJsModuleIndicator && qu(M, !1) && jo(M) } function Pd(M) { if (M.kind === 260) xc(M, 32, 899503); else { let la = M.name ? M.name.escapedText : "__class"; mc(M, 32, la), M.name && $.add(M.name.escapedText) } let { symbol: He } = M, Nt = ge(4194308, "prototype"), Pn = He.exports.get(Nt.escapedName); Pn && (M.name && go(M.name, M), e.bindDiagnostics.push(re(Pn.declarations[0], _.Duplicate_identifier_0, fc(Nt)))), He.exports.set(Nt.escapedName, Nt), Nt.parent = He } function Dc(M) { return R0(M) ? xc(M, 128, 899967) : xc(M, 256, 899327) } function gd(M) { if (W && bl(M, M.name), !La(M.name)) { let He = M.kind === 257 ? M : M.parent.parent; Yn(M) && $s(t) !== 100 && N0(He) && !x0(M) && !(wg(M) & 1) ? Fa(M, 2097152, 2097152) : sH(M) ? xc(M, 2, 111551) : CT(M) ? Fa(M, 1, 111551) : Fa(M, 1, 111550) } } function Zl(M) { if (!(M.kind === 344 && o.kind !== 326) && (W && !(M.flags & 16777216) && bl(M, M.name), La(M.name) ? mc(M, 1, "__" + M.parent.parameters.indexOf(M)) : Fa(M, 1, 111551), Ad(M, M.parent))) { let He = M.parent.parent; ke(He.symbol.members, He.symbol, M, 4 | (M.questionToken ? 16777216 : 0), 0) } } function Md(M) { !e.isDeclarationFile && !(M.flags & 16777216) && qA(M) && (q |= 2048), qs(M), W ? (As(M), xc(M, 16, 110991)) : Fa(M, 16, 110991) } function zf(M) { !e.isDeclarationFile && !(M.flags & 16777216) && qA(M) && (q |= 2048), m && (M.flowNode = m), qs(M); let He = M.name ? M.name.escapedText : "__function"; return mc(M, 16, He) } function Io(M, He, Nt) { return !e.isDeclarationFile && !(M.flags & 16777216) && qA(M) && (q |= 2048), m && D6(M) && (M.flowNode = m), Xy(M) ? mc(M, He, "__computed") : Fa(M, He, Nt) } function Jf(M) { let He = jn(M, Nt => Nt.parent && m2(Nt.parent) && Nt.parent.extendsType === Nt); return He && He.parent } function Fd(M) { var He, Nt; if (H_(M.parent)) { let Pn = J6(M.parent); Pn ? (L.assertNode(Pn, Qp), (He = Pn.locals) != null || (Pn.locals = Ua()), ke(Pn.locals, void 0, M, 262144, 526824)) : Fa(M, 262144, 526824) } else if (M.parent.kind === 192) { let Pn = Jf(M.parent); Pn ? (L.assertNode(Pn, Qp), (Nt = Pn.locals) != null || (Pn.locals = Ua()), ke(Pn.locals, void 0, M, 262144, 526824)) : mc(M, 262144, Ve(M)) } else Fa(M, 262144, 526824) } function E_(M) { let He = Gh(M); return He === 1 || He === 2 && U0(t) } function Y_(M) { if (!(m.flags & 1)) return !1; if (m === fe && (Nw(M) && M.kind !== 239 || M.kind === 260 || M.kind === 264 && E_(M)) && (m = Z, !t.allowUnreachableCode)) { let Nt = Tle(t) && !(M.flags & 16777216) && (!Bc(M) || !!(G_(M.declarationList) & 3) || M.declarationList.declarations.some(Pn => !!Pn.initializer)); rPe(M, (Pn, la) => K(Nt, Pn, la, _.Unreachable_code_detected)) } return !0 } } function rPe(e, t) { if (ca(e) && l_e(e) && Va(e.parent)) { let { statements: r } = e.parent, i = PW(r, e); PU(i, l_e, (o, s) => t(i[o], i[s - 1])) } else t(e, e) } function l_e(e) { return !Jc(e) && !iPe(e) && !hb(e) && !(Bc(e) && !(G_(e) & 3) && e.declarationList.declarations.some(t => !t.initializer)) } function iPe(e) { switch (e.kind) { case 261: case 262: return !0; case 264: return Gh(e) !== 1; case 263: return Mr(e, 2048); default: return !1 } } function $0(e, t) { let r = 0, i = HU(); for (i.enqueue(t); !i.isEmpty() && r < 100;) { if (r++, t = i.dequeue(), TT(t) || Bm(t)) return !0; if (Re(t)) { let o = eN(e, t.escapedText); if (o && o.valueDeclaration && wi(o.valueDeclaration) && o.valueDeclaration.initializer) { let s = o.valueDeclaration.initializer; i.enqueue(s), Iu(s, !0) && (i.enqueue(s.left), i.enqueue(s.right)) } } } return !1 } function u_e(e) { switch (e.kind) { case 228: case 260: case 263: case 207: case 184: case 325: case 289: return 1; case 261: return 65; case 264: case 262: case 197: case 178: return 33; case 308: return 37; case 174: case 175: case 171: if (D6(e)) return 173; case 173: case 259: case 170: case 176: case 326: case 320: case 181: case 177: case 182: case 172: return 45; case 215: case 216: return 61; case 265: return 4; case 169: return e.initializer ? 4 : 0; case 295: case 245: case 246: case 247: case 266: return 34; case 238: return Ia(e.parent) || oc(e.parent) ? 0 : 34 }return 0 } function eN(e, t) { var r, i, o, s, l; let f = (i = (r = zr(e, Qp)) == null ? void 0 : r.locals) == null ? void 0 : i.get(t); if (f) return (o = f.exportSymbol) != null ? o : f; if (Li(e) && e.jsGlobalAugmentations && e.jsGlobalAugmentations.has(t)) return e.jsGlobalAugmentations.get(t); if ($p(e)) return (l = (s = e.symbol) == null ? void 0 : s.exports) == null ? void 0 : l.get(t) } var sK, d_e, aPe = gt({ "src/compiler/binder.ts"() { "use strict"; fa(), E0(), sK = (e => (e[e.NonInstantiated = 0] = "NonInstantiated", e[e.Instantiated = 1] = "Instantiated", e[e.ConstEnumOnly = 2] = "ConstEnumOnly", e))(sK || {}), d_e = nPe() } }); function f_e(e, t, r, i, o, s, l, f, d, g) { return m; function m(v = () => !0) { let S = [], x = []; return { walkType: $ => { try { return A($), { visitedTypes: H1(S), visitedSymbols: H1(x) } } finally { Om(S), Om(x) } }, walkSymbol: $ => { try { return ie($), { visitedTypes: H1(S), visitedSymbols: H1(x) } } finally { Om(S), Om(x) } } }; function A($) { if (!(!$ || S[$.id] || (S[$.id] = $, ie($.symbol)))) { if ($.flags & 524288) { let Z = $, U = Z.objectFlags; U & 4 && w($), U & 32 && q($), U & 3 && Y($), U & 24 && R(Z) } $.flags & 262144 && C($), $.flags & 3145728 && P($), $.flags & 4194304 && F($), $.flags & 8388608 && B($) } } function w($) { A($.target), mn(g($), A) } function C($) { A(f($)) } function P($) { mn($.types, A) } function F($) { A($.type) } function B($) { A($.objectType), A($.indexType), A($.constraint) } function q($) { A($.typeParameter), A($.constraintType), A($.templateType), A($.modifiersType) } function W($) { let fe = t($); fe && A(fe.type), mn($.typeParameters, A); for (let Z of $.parameters) ie(Z); A(e($)), A(r($)) } function Y($) { R($), mn($.typeParameters, A), mn(i($), A), A($.thisType) } function R($) { let fe = o($); for (let Z of fe.indexInfos) A(Z.keyType), A(Z.type); for (let Z of fe.callSignatures) W(Z); for (let Z of fe.constructSignatures) W(Z); for (let Z of fe.properties) ie(Z) } function ie($) { if (!$) return !1; let fe = $a($); if (x[fe]) return !1; if (x[fe] = $, !v($)) return !0; let Z = s($); return A(Z), $.exports && $.exports.forEach(ie), mn($.declarations, U => { if (U.type && U.type.kind === 183) { let re = U.type, le = l(d(re.exprName)); ie(le) } }), !1 } } } var oPe = gt({ "src/compiler/symbolWalker.ts"() { "use strict"; fa() } }); function oF({ importModuleSpecifierPreference: e, importModuleSpecifierEnding: t }, r, i, o) { let s = l(); return { relativePreference: o !== void 0 ? fl(o) ? 0 : 1 : e === "relative" ? 0 : e === "non-relative" ? 1 : e === "project-relative" ? 3 : 2, getAllowedEndingsInPreferredOrder: f => { if ((f ?? i.impliedNodeFormat) === 99) return VL(r, i.fileName) ? [3, 2] : [2]; if ($s(r) === 1) return [1, 2]; switch (s) { case 2: return [2, 0, 1]; case 3: return [3, 0, 2, 1]; case 1: return [1, 0, 2]; case 0: return [0, 1, 2]; default: L.assertNever(s) } } }; function l() { if (o !== void 0) { if (ES(o)) return 2; if (Oc(o, "/index")) return 1 } return OW(t, i.impliedNodeFormat, r, i) } } function sPe(e, t, r, i, o, s, l = {}) { let f = __e(e, t, r, i, o, oF({}, e, t, s), {}, l); if (f !== s) return f } function sF(e, t, r, i, o, s = {}) { return __e(e, t, r, i, o, oF({}, e, t), {}, s) } function cPe(e, t, r, i, o, s = {}) { let l = cK(t.path, i), f = E_e(t.path, r, i, o, s); return ks(f, d => lK(d, l, t, i, e, o, !0, s.overrideImportMode)) } function __e(e, t, r, i, o, s, l, f = {}) { let d = cK(r, o), g = E_e(r, i, o, l, f); return ks(g, m => lK(m, d, t, o, e, l, void 0, f.overrideImportMode)) || g_e(i, d, e, o, f.overrideImportMode || t.impliedNodeFormat, s) } function lPe(e, t, r, i, o = {}) { return p_e(e, t, r, i, o)[0] } function p_e(e, t, r, i, o = {}) { var s; let l = m6(e); if (!l) return Je; let f = (s = r.getModuleSpecifierCache) == null ? void 0 : s.call(r), d = f?.get(t.path, l.path, i, o); return [d?.moduleSpecifiers, l, d?.modulePaths, f] } function m_e(e, t, r, i, o, s, l = {}) { return h_e(e, t, r, i, o, s, l).moduleSpecifiers } function h_e(e, t, r, i, o, s, l = {}) { let f = !1, d = dPe(e, t); if (d) return { moduleSpecifiers: [d], computedWithoutCache: f }; let [g, m, v, S] = p_e(e, i, o, s, l); if (g) return { moduleSpecifiers: g, computedWithoutCache: f }; if (!m) return { moduleSpecifiers: Je, computedWithoutCache: f }; f = !0, v || (v = T_e(i.path, m.originalFileName, o)); let x = uPe(v, r, i, o, s, l); return S?.set(i.path, m.path, s, l, v, x), { moduleSpecifiers: x, computedWithoutCache: f } } function uPe(e, t, r, i, o, s = {}) { let l = cK(r.path, i), f = oF(o, t, r), d = mn(e, A => mn(i.getFileIncludeReasons().get(Ts(A.path, i.getCurrentDirectory(), l.getCanonicalFileName)), w => { if (w.kind !== 3 || w.file !== r.path || r.impliedNodeFormat && r.impliedNodeFormat !== aq(r, w.index)) return; let C = GF(r, w.index).text; return f.relativePreference !== 1 || !Jd(C) ? C : void 0 })); if (d) return [d]; let g = vt(e, A => A.isInNodeModules), m, v, S, x; for (let A of e) { let w = A.isInNodeModules ? lK(A, l, r, i, t, o, void 0, s.overrideImportMode) : void 0; if (m = Sn(m, w), w && A.isRedirect) return m; if (!w) { let C = g_e(A.path, l, t, i, s.overrideImportMode || r.impliedNodeFormat, f, A.isRedirect); if (!C) continue; A.isRedirect ? S = Sn(S, C) : cj(C) ? v = Sn(v, C) : (!g || A.isInNodeModules) && (x = Sn(x, C)) } } return v?.length ? v : S?.length ? S : m?.length ? m : L.checkDefined(x) } function cK(e, t) { let r = Dl(t.useCaseSensitiveFileNames ? t.useCaseSensitiveFileNames() : !0), i = ni(e); return { getCanonicalFileName: r, importingSourceFileName: e, sourceDirectory: i } } function g_e(e, t, r, i, o, { getAllowedEndingsInPreferredOrder: s, relativePreference: l }, f) { let { baseUrl: d, paths: g, rootDirs: m } = r; if (f && !g) return; let { sourceDirectory: v, getCanonicalFileName: S } = t, x = s(o), A = m && fPe(m, e, v, S, x, r) || jL(S0(Xp(v, e, S)), x, r); if (!d && !g || l === 0) return f ? void 0 : A; let w = _a(ZH(r, i) || d, i.getCurrentDirectory()), C = C_e(e, w, S); if (!C) return f ? void 0 : A; let P = g && S_e(C, g, x, i, r); if (f) return P; let F = P === void 0 && d !== void 0 ? jL(C, x, r) : P; if (!F) return A; if (l === 1 && !Jd(F)) return F; if (l === 3 && !Jd(F)) { let B = r.configFilePath ? Ts(ni(r.configFilePath), i.getCurrentDirectory(), t.getCanonicalFileName) : t.getCanonicalFileName(i.getCurrentDirectory()), q = Ts(e, B, S), W = na(v, B), Y = na(q, B); if (W && !Y || !W && Y) return F; let R = v_e(i, ni(q)); return v_e(i, v) !== R ? F : A } return I_e(F) || tN(A) < tN(F) ? A : F } function tN(e) { let t = 0; for (let r = na(e, "./") ? 2 : 0; r < e.length; r++)e.charCodeAt(r) === 47 && t++; return t } function y_e(e, t) { return g0(t.isRedirect, e.isRedirect) || BR(e.path, t.path) } function v_e(e, t) { return e.getNearestAncestorDirectoryWithPackageJson ? e.getNearestAncestorDirectoryWithPackageJson(t) : !!Th(t, r => e.fileExists(vi(r, "package.json")) ? !0 : void 0) } function b_e(e, t, r, i, o) { var s; let l = lb(r), f = r.getCurrentDirectory(), d = r.isSourceOfProjectReferenceRedirect(t) ? r.getProjectReferenceRedirect(t) : void 0, g = Ts(t, f, l), m = r.redirectTargetsMap.get(g) || Je, S = [...d ? [d] : Je, t, ...m].map(P => _a(P, f)), x = !Ji(S, sL); if (!i) { let P = mn(S, F => !(x && sL(F)) && o(F, d === F)); if (P) return P } let A = (s = r.getSymlinkCache) == null ? void 0 : s.call(r).getSymlinkedDirectoriesByRealpath(), w = _a(t, f); return A && Th(ni(w), P => { let F = A.get(cu(Ts(P, f, l))); if (F) return fj(e, P, l) ? !1 : mn(S, B => { if (!fj(B, P, l)) return; let q = Xp(P, B, l); for (let W of F) { let Y = Fy(W, q), R = o(Y, B === d); if (x = !0, R) return R } }) }) || (i ? mn(S, P => x && sL(P) ? void 0 : o(P, P === d)) : void 0) } function E_e(e, t, r, i, o = {}) { var s; let l = Ts(t, r.getCurrentDirectory(), lb(r)), f = (s = r.getModuleSpecifierCache) == null ? void 0 : s.call(r); if (f) { let g = f.get(e, l, i, o); if (g?.modulePaths) return g.modulePaths } let d = T_e(e, t, r); return f && f.setModulePaths(e, l, i, o, d), d } function T_e(e, t, r) { let i = lb(r), o = new Map, s = !1; b_e(e, t, r, !0, (f, d) => { let g = JS(f); o.set(f, { path: i(f), isRedirect: d, isInNodeModules: g }), s = s || g }); let l = []; for (let f = ni(e); o.size !== 0;) { let d = cu(f), g; o.forEach(({ path: v, isRedirect: S, isInNodeModules: x }, A) => { na(v, d) && ((g || (g = [])).push({ path: A, isRedirect: S, isInNodeModules: x }), o.delete(A)) }), g && (g.length > 1 && g.sort(y_e), l.push(...g)); let m = ni(f); if (m === f) break; f = m } if (o.size) { let f = lo(o.values()); f.length > 1 && f.sort(y_e), l.push(...f) } return l } function dPe(e, t) { var r; let i = (r = e.declarations) == null ? void 0 : r.find(l => lH(l) && (!D0(l) || !fl(l_(l.name)))); if (i) return i.name.text; let s = Zi(e.declarations, l => { var f, d, g, m; if (!Tc(l)) return; let v = w(l); if (!((f = v?.parent) != null && f.parent && Tp(v.parent) && lu(v.parent.parent) && Li(v.parent.parent.parent))) return; let S = (m = (g = (d = v.parent.parent.symbol.exports) == null ? void 0 : d.get("export=")) == null ? void 0 : g.valueDeclaration) == null ? void 0 : m.expression; if (!S) return; let x = t.getSymbolAtLocation(S); if (!x) return; if ((x?.flags & 2097152 ? t.getAliasedSymbol(x) : x) === l.symbol) return v.parent.parent; function w(C) { for (; C.flags & 4;)C = C.parent; return C } })[0]; if (s) return s.name.text } function S_e(e, t, r, i, o) { for (let l in t) for (let f of t[l]) { let d = So(f), g = d.indexOf("*"), m = r.map(v => ({ ending: v, value: jL(e, [v], o) })); if (Hm(d) && m.push({ ending: void 0, value: e }), g !== -1) { let v = d.substring(0, g), S = d.substring(g + 1); for (let { ending: x, value: A } of m) if (A.length >= v.length + S.length && na(A, v) && Oc(A, S) && s({ ending: x, value: A })) { let w = A.substring(v.length, A.length - S.length); return l.replace("*", w) } } else if (vt(m, v => v.ending !== 0 && d === v.value) || vt(m, v => v.ending === 0 && d === v.value && s(v))) return l } function s({ ending: l, value: f }) { return l !== 0 || f === jL(e, [l], o, i) } } function cF(e, t, r, i, o, s, l = 0) { if (typeof o == "string") { let f = _a(vi(r, o), void 0), d = GR(t) ? ld(t) + lF(t, e) : void 0; switch (l) { case 0: if (cT(t, f) === 0 || d && cT(d, f) === 0) return { moduleFileToTry: i }; break; case 1: if (Gy(f, t)) { let S = Xp(f, t, !1); return { moduleFileToTry: _a(vi(vi(i, o), S), void 0) } } break; case 2: let g = f.indexOf("*"), m = f.slice(0, g), v = f.slice(g + 1); if (na(t, m) && Oc(t, v)) { let S = t.slice(m.length, t.length - v.length); return { moduleFileToTry: i.replace("*", S) } } if (d && na(d, m) && Oc(d, v)) { let S = d.slice(m.length, d.length - v.length); return { moduleFileToTry: i.replace("*", S) } } break } } else { if (Array.isArray(o)) return mn(o, f => cF(e, t, r, i, f, s)); if (typeof o == "object" && o !== null) { if (nF(o)) return mn(bh(o), f => { let d = _a(vi(i, f), void 0), g = Oc(f, "/") ? 1 : jl(f, "*") ? 2 : 0; return cF(e, t, r, d, o[f], s, g) }); for (let f of bh(o)) if (f === "default" || s.indexOf(f) >= 0 || QO(s, f)) { let d = o[f], g = cF(e, t, r, i, d, s); if (g) return g } } } } function fPe(e, t, r, i, o, s) { let l = x_e(t, e, i); if (l === void 0) return; let f = x_e(r, e, i), d = Uo(f, m => on(l, v => S0(Xp(m, v, i)))), g = WU(d, BR); if (g) return jL(g, o, s) } function lK({ path: e, isRedirect: t }, { getCanonicalFileName: r, sourceDirectory: i }, o, s, l, f, d, g) { if (!s.fileExists || !s.readFile) return; let m = jW(e); if (!m) return; let S = oF(f, l, o).getAllowedEndingsInPreferredOrder(), x = e, A = !1; if (!d) { let q = m.packageRootIndex, W; for (; ;) { let { moduleFileToTry: Y, packageRootPath: R, blockedByExports: ie, verbatimFromExports: $ } = B(q); if ($s(l) !== 1) { if (ie) return; if ($) return Y } if (R) { x = R, A = !0; break } if (W || (W = Y), q = e.indexOf(_s, q + 1), q === -1) { x = jL(W, S, l, s); break } } } if (t && !A) return; let w = s.getGlobalTypingsCacheLocation && s.getGlobalTypingsCacheLocation(), C = r(x.substring(0, m.topLevelNodeModulesIndex)); if (!(na(i, C) || w && na(r(w), C))) return; let P = x.substring(m.topLevelPackageNameIndex + 1), F = ZO(P); return $s(l) === 1 && F === P ? void 0 : F; function B(q) { var W, Y; let R = e.substring(0, q), ie = vi(R, "package.json"), $ = e, fe = !1, Z = (Y = (W = s.getPackageJsonInfoCache) == null ? void 0 : W.call(s)) == null ? void 0 : Y.getPackageJsonInfo(ie); if (typeof Z == "object" || Z === void 0 && s.fileExists(ie)) { let U = Z?.contents.packageJsonContent || JSON.parse(s.readFile(ie)), re = g || o.impliedNodeFormat; if (xW(l)) { let ge = R.substring(m.topLevelPackageNameIndex + 1), X = ZO(ge), Ve = P2(l, re === 99), we = U.exports ? cF(l, e, R, X, U.exports, Ve) : void 0; if (we) return { ...GR(we.moduleFileToTry) ? { moduleFileToTry: ld(we.moduleFileToTry) + lF(we.moduleFileToTry, l) } : we, verbatimFromExports: !0 }; if (U.exports) return { moduleFileToTry: e, blockedByExports: !0 } } let le = U.typesVersions ? q3(U.typesVersions) : void 0; if (le) { let ge = e.slice(R.length + 1), X = S_e(ge, le.paths, S, s, l); X === void 0 ? fe = !0 : $ = vi(R, X) } let _e = U.typings || U.types || U.main || "index.js"; if (Ta(_e) && !(fe && NW(g4(le.paths), _e))) { let ge = Ts(_e, R, r); if (ld(ge) === ld(r($))) return { packageRootPath: R, moduleFileToTry: $ } } } else { let U = r($.substring(m.packageRootIndex + 1)); if (U === "index.d.ts" || U === "index.js" || U === "index.ts" || U === "index.tsx") return { moduleFileToTry: $, packageRootPath: R } } return { moduleFileToTry: $ } } } function _Pe(e, t) { if (!e.fileExists) return; let r = t_(nL({ allowJs: !0 }, [{ extension: "node", isMixedContent: !1 }, { extension: "json", isMixedContent: !1, scriptKind: 6 }])); for (let i of r) { let o = t + i; if (e.fileExists(o)) return o } } function x_e(e, t, r) { return Zi(t, i => { let o = C_e(e, i, r); return o !== void 0 && I_e(o) ? void 0 : o }) } function jL(e, t, r, i) { if ($c(e, [".json", ".mjs", ".cjs"])) return e; let o = ld(e); if (e === o) return e; if ($c(e, [".d.mts", ".mts", ".d.cts", ".cts"])) return o + uK(e, r); if (!$c(e, [".d.ts"]) && $c(e, [".ts"]) && jl(e, ".d.")) return A_e(e); switch (t[0]) { case 0: let s = pA(o, "/index"); return i && s !== o && _Pe(i, s) ? o : s; case 1: return o; case 2: return o + uK(e, r); case 3: if (Fu(e)) { let l = t.findIndex(d => d === 0 || d === 1), f = t.indexOf(2); return l !== -1 && l < f ? o : o + uK(e, r) } return e; default: return L.assertNever(t[0]) } } function A_e(e) { let t = Hl(e); if (!Oc(e, ".ts") || !jl(t, ".d.") || $c(t, [".d.ts"])) return; let r = UR(e, ".ts"), i = r.substring(r.lastIndexOf(".")); return r.substring(0, r.indexOf(".d.")) + i } function uK(e, t) { var r; return (r = lF(e, t)) != null ? r : L.fail(`Extension ${jR(e)} is unsupported:: FileName:: ${e}`) } function lF(e, t) { let r = Hm(e); switch (r) { case ".ts": case ".d.ts": return ".js"; case ".tsx": return t.jsx === 1 ? ".jsx" : ".js"; case ".js": case ".jsx": case ".json": return r; case ".d.mts": case ".mts": case ".mjs": return ".mjs"; case ".d.cts": case ".cts": case ".cjs": return ".cjs"; default: return } } function C_e(e, t, r) { let i = Q1(t, e, t, r, !1); return qp(i) ? void 0 : i } function I_e(e) { return na(e, "..") } var L_e = gt({ "src/compiler/moduleSpecifiers.ts"() { "use strict"; fa() } }), Q0 = {}; Mo(Q0, { countPathComponents: () => tN, forEachFileNameOfModule: () => b_e, getModuleSpecifier: () => sF, getModuleSpecifiers: () => m_e, getModuleSpecifiersWithCacheInfo: () => h_e, getNodeModulesPackageName: () => cPe, tryGetJSExtensionForFile: () => lF, tryGetModuleSpecifiersFromCache: () => lPe, tryGetRealFileNameForNonJsDeclarationFileName: () => A_e, updateModuleSpecifier: () => sPe }); var dK = gt({ "src/compiler/_namespaces/ts.moduleSpecifiers.ts"() { "use strict"; L_e() } }); function pPe() { this.flags = 0 } function zo(e) { return e.id || (e.id = mK, mK++), e.id } function $a(e) { return e.id || (e.id = pK, pK++), e.id } function fK(e, t) { let r = Gh(e); return r === 1 || t && r === 2 } function k_e(e) {
-                var t = zu(() => { var n = new Map; return e.getSourceFiles().forEach(a => { a.resolvedModules && a.resolvedModules.forEach(({ resolvedModule: c }) => { c?.packageId && n.set(c.packageId.name, c.extension === ".d.ts" || !!n.get(c.packageId.name)) }) }), n }), r = [], i = n => { r.push(n) }, o, s = new Set, l, f, d = ml.getSymbolConstructor(), g = ml.getTypeConstructor(), m = ml.getSignatureConstructor(), v = 0, S = 0, x = 0, A = 0, w = 0, C = 0, P, F, B = !1, q = Ua(), W = [1], Y = e.getCompilerOptions(), R = Do(Y), ie = Rl(Y), $ = !!Y.experimentalDecorators, fe = MR(Y), Z = wT(Y), U = Uf(Y, "strictNullChecks"), re = Uf(Y, "strictFunctionTypes"), le = Uf(Y, "strictBindCallApply"), _e = Uf(Y, "strictPropertyInitialization"), ge = Uf(Y, "noImplicitAny"), X = Uf(Y, "noImplicitThis"), Ve = Uf(Y, "useUnknownInCatchVariables"), we = !!Y.keyofStringsOnly, ke = Y.suppressExcessPropertyErrors ? 0 : 8192, Pe = Y.exactOptionalPropertyTypes, Ce = FZe(), Ie = hrt(), Be = Wa(), Ne = Ua(), Le = wo(4, "undefined"); Le.declarations = []; var Ye = wo(1536, "globalThis", 8); Ye.exports = Ne, Ye.declarations = [], Ne.set(Ye.escapedName, Ye); var _t = wo(4, "arguments"), ct = wo(4, "require"), Rt = Y.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", We; let qe = { getNodeCount: () => ou(e.getSourceFiles(), (n, a) => n + a.nodeCount, 0), getIdentifierCount: () => ou(e.getSourceFiles(), (n, a) => n + a.identifierCount, 0), getSymbolCount: () => ou(e.getSourceFiles(), (n, a) => n + a.symbolCount, S), getTypeCount: () => v, getInstantiationCount: () => x, getRelationCacheSizes: () => ({ assignable: Zu.size, identity: td.size, subtype: hm.size, strictSubtype: x_.size }), isUndefinedSymbol: n => n === Le, isArgumentsSymbol: n => n === _t, isUnknownSymbol: n => n === Ht, getMergedSymbol: No, getDiagnostics: HLe, getGlobalDiagnostics: Nnt, getRecursionIdentity: AC, getUnmatchedProperties: lre, getTypeOfSymbolAtLocation: (n, a) => { let c = ea(a); return c ? RYe(n, c) : ve }, getTypeOfSymbol: zn, getSymbolsOfParameterPropertyDeclaration: (n, a) => { let c = ea(n, ha); return c === void 0 ? L.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.") : (L.assert(Ad(c, c.parent)), yE(c, Bs(a))) }, getDeclaredTypeOfSymbol: gs, getPropertiesOfType: Jo, getPropertyOfType: (n, a) => ja(n, Bs(a)), getPrivateIdentifierPropertyOfType: (n, a, c) => { let u = ea(c); if (!u) return; let p = Bs(a), h = JB(p, u); return h ? zre(n, h) : void 0 }, getTypeOfPropertyOfType: (n, a) => Vc(n, Bs(a)), getIndexInfoOfType: (n, a) => Cm(n, a === 0 ? ae : rt), getIndexInfosOfType: tu, getIndexInfosOfIndexSymbol: one, getSignaturesOfType: xa, getIndexTypeOfType: (n, a) => fg(n, a === 0 ? ae : rt), getIndexType: n => Gp(n), getBaseTypes: _o, getBaseTypeOfLiteralType: ky, getWidenedType: Sd, getTypeFromTypeNode: n => { let a = ea(n, bi); return a ? $r(a) : ve }, getParameterType: P_, getParameterIdentifierNameAtPosition: ZQe, getPromisedTypeOfPromise: wD, getAwaitedType: n => rT(n), getReturnTypeOfSignature: qo, isNullableType: zB, getNullableType: TB, getNonNullableType: yg, getNonOptionalType: ere, getTypeArguments: Ko, typeToTypeNode: Be.typeToTypeNode, indexInfoToIndexSignatureDeclaration: Be.indexInfoToIndexSignatureDeclaration, signatureToSignatureDeclaration: Be.signatureToSignatureDeclaration, symbolToEntityName: Be.symbolToEntityName, symbolToExpression: Be.symbolToExpression, symbolToNode: Be.symbolToNode, symbolToTypeParameterDeclarations: Be.symbolToTypeParameterDeclarations, symbolToParameterDeclaration: Be.symbolToParameterDeclaration, typeParameterToDeclaration: Be.typeParameterToDeclaration, getSymbolsInScope: (n, a) => { let c = ea(n); return c ? Pnt(c, a) : [] }, getSymbolAtLocation: n => { let a = ea(n); return a ? Zf(a, !0) : void 0 }, getIndexInfosAtLocation: n => { let a = ea(n); return a ? jnt(a) : void 0 }, getShorthandAssignmentValueSymbol: n => { let a = ea(n); return a ? Hnt(a) : void 0 }, getExportSpecifierLocalTargetSymbol: n => { let a = ea(n, Mu); return a ? Wnt(a) : void 0 }, getExportSymbolOfSymbol(n) { return No(n.exportSymbol || n) }, getTypeAtLocation: n => { let a = ea(n); return a ? G1(a) : ve }, getTypeOfAssignmentPattern: n => { let a = ea(n, vI); return a && bU(a) || ve }, getPropertySymbolOfDestructuringAssignment: n => { let a = ea(n, Re); return a ? znt(a) : void 0 }, signatureToString: (n, a, c, u) => ne(n, ea(a), c, u), typeToString: (n, a, c) => Ee(n, ea(a), c), symbolToString: (n, a, c, u) => E(n, ea(a), c, u), typePredicateToString: (n, a, c) => kl(n, ea(a), c), writeSignature: (n, a, c, u, p) => ne(n, ea(a), c, u, p), writeType: (n, a, c, u) => Ee(n, ea(a), c, u), writeSymbol: (n, a, c, u, p) => E(n, ea(a), c, u, p), writeTypePredicate: (n, a, c, u) => kl(n, ea(a), c, u), getAugmentedPropertiesOfType: Wie, getRootSymbols: YLe, getSymbolOfExpando: eU, getContextualType: (n, a) => { let c = ea(n, ot); if (c) return a & 4 ? Qt(c, () => Ru(c, a)) : Ru(c, a) }, getContextualTypeForObjectLiteralElement: n => { let a = ea(n, Og); return a ? Rre(a, void 0) : void 0 }, getContextualTypeForArgumentAtIndex: (n, a) => { let c = ea(n, rS); return c && wre(c, a) }, getContextualTypeForJsxAttribute: n => { let a = ea(n, d6); return a && _Ce(a, void 0) }, isContextSensitive: $f, getTypeOfPropertyOfContextualType: eT, getFullyQualifiedName: rh, getResolvedSignature: (n, a, c) => tn(n, a, c, 0), getResolvedSignatureForStringLiteralCompletions: (n, a, c) => Qt(a, () => tn(n, c, void 0, 32)), getResolvedSignatureForSignatureHelp: (n, a, c) => zt(n, () => tn(n, a, c, 16)), getExpandedParameters: Txe, hasEffectiveRestParameter: jp, containsArgumentsReference: nne, getConstantValue: n => { let a = ea(n, tke); return a ? zie(a) : void 0 }, isValidPropertyAccess: (n, a) => { let c = ea(n, dse); return !!c && dQe(c, Bs(a)) }, isValidPropertyAccessForCompletions: (n, a, c) => { let u = ea(n, br); return !!u && HCe(u, a, c) }, getSignatureFromDeclaration: n => { let a = ea(n, Ia); return a ? ip(a) : void 0 }, isImplementationOfOverload: n => { let a = ea(n, Ia); return a ? ZLe(a) : void 0 }, getImmediateAliasedSymbol: Mre, getAliasedSymbol: wc, getEmitResolver: cC, getExportsOfModule: sy, getExportsAndPropertiesOfModule: C1, forEachExportAndPropertyOfModule: kv, getSymbolWalker: f_e(tKe, Lf, qo, _o, R_, zn, Qf, eu, Yd, Ko), getAmbientModules: oit, getJsxIntrinsicTagNamesAt: W$e, isOptionalParameter: n => { let a = ea(n, ha); return a ? Qk(a) : !1 }, tryGetMemberInModuleExports: (n, a) => rg(Bs(n), a), tryGetMemberInModuleExportsAndProperties: (n, a) => of(Bs(n), a), tryFindAmbientModule: n => tne(n, !0), tryFindAmbientModuleWithoutAugmentations: n => tne(n, !1), getApparentType: Eu, getUnionType: Gr, isTypeAssignableTo: to, createAnonymousType: ls, createSignature: Am, createSymbol: wo, createIndexInfo: Fp, getAnyType: () => Se, getStringType: () => ae, getNumberType: () => rt, createPromiseType: jM, createArrayType: nu, getElementTypeOfArrayType: Xne, getBooleanType: () => Te, getFalseType: n => n ? Ke : oe, getTrueType: n => n ? pe : z, getVoidType: () => yt, getUndefinedType: () => Oe, getNullType: () => ln, getESSymbolType: () => j, getNeverType: () => lt, getOptionalType: () => Kt, getPromiseType: () => oM(!1), getPromiseLikeType: () => aAe(!1), getAsyncIterableType: () => { let n = ZG(!1); if (n !== ro) return n }, isSymbolAccessible: dy, isArrayType: _f, isTupleType: po, isArrayLikeType: Kv, isEmptyAnonymousObjectType: hh, isTypeInvalidDueToUnionDiscriminant: FJe, getExactOptionalProperties: cXe, getAllPossiblePropertiesOfTypes: GJe, getSuggestedSymbolForNonexistentProperty: qre, getSuggestionForNonexistentProperty: Xre, getSuggestedSymbolForNonexistentJSXAttribute: VCe, getSuggestedSymbolForNonexistentSymbol: (n, a, c) => Yre(n, Bs(a), c), getSuggestionForNonexistentSymbol: (n, a, c) => sQe(n, Bs(a), c), getSuggestedSymbolForNonexistentModule: qB, getSuggestionForNonexistentExport: cQe, getSuggestedSymbolForNonexistentClassMember: UCe, getBaseConstraintOfType: bu, getDefaultFromTypeParameter: n => n && n.flags & 262144 ? jE(n) : void 0, resolveName(n, a, c, u) { return zs(a, Bs(n), c, void 0, void 0, !1, u) }, getJsxNamespace: n => Gi(Rb(n)), getJsxFragmentFactory: n => { let a = Kie(n); return a && Gi(Yd(a).escapedText) }, getAccessibleSymbolChain: Rv, getTypePredicateOfSignature: Lf, resolveExternalModuleName: n => { let a = ea(n, ot); return a && Gl(a, a, !0) }, resolveExternalModuleSymbol: Vu, tryGetThisTypeAt: (n, a, c) => { let u = ea(n); return u && Cre(u, a, c) }, getTypeArgumentConstraint: n => { let a = ea(n, bi); return a && get(a) }, getSuggestionDiagnostics: (n, a) => { let c = ea(n, Li) || L.fail("Could not determine parsed source file."); if (rL(c, Y, e)) return Je; let u; try { return o = a, jie(c), L.assert(!!(Rr(c).flags & 1)), u = si(u, mE.getDiagnostics(c.fileName)), rLe(jLe(c), (p, h, T) => { !Gw(p) && !VLe(h, !!(p.flags & 16777216)) && (u || (u = [])).push({ ...T, category: 2 }) }), u || Je } finally { o = void 0 } }, runWithCancellationToken: (n, a) => { try { return o = n, a(qe) } finally { o = void 0 } }, getLocalTypeParametersOfClassOrInterfaceOrTypeAlias: yy, isDeclarationVisible: Xf, isPropertyAccessible: Qre, getTypeOnlyAliasDeclaration: nd, getMemberOverrideModifierStatus: Xtt, isTypeParameterPossiblyReferenced: fM, typeHasCallOrConstructSignatures: EU }; function zt(n, a) { let c = jn(n, rS), u = c && Rr(c).resolvedSignature; c && (Rr(c).resolvedSignature = void 0); let p = a(); return c && (Rr(c).resolvedSignature = u), p } function Qt(n, a) { let c = jn(n, rS); if (c) { let p = n; do Rr(p).skipDirectInference = !0, p = p.parent; while (p && p !== c) } B = !0; let u = zt(n, a); if (B = !1, c) { let p = n; do Rr(p).skipDirectInference = void 0, p = p.parent; while (p && p !== c) } return u } function tn(n, a, c, u) { let p = ea(n, rS); We = c; let h = p ? MC(p, a, u) : void 0; return We = void 0, h } var kn = new Map, _n = new Map, Gt = new Map, $n = new Map, ui = new Map, Ni = new Map, Pi = new Map, gr = new Map, pt = new Map, nn = new Map, Dt = new Map, pn = new Map, An = new Map, Kn = new Map, hi = [], ri = new Map, vn = new Set, Ht = wo(4, "unknown"), En = wo(0, "__resolving__"), dr = new Map, Cr = new Map, Se = Cc(1, "any"), at = Cc(1, "any", 262144), Tt = Cc(1, "any"), ve = Cc(1, "error"), nt = Cc(1, "unresolved"), ce = Cc(1, "any", 65536), Q = Cc(1, "intrinsic"), ue = Cc(2, "unknown"), G = Cc(2, "unknown"), Oe = Cc(32768, "undefined"), je = U ? Oe : Cc(32768, "undefined", 65536), Ge = Cc(32768, "undefined"), kt = Pe ? Ge : Oe, Kt = Cc(32768, "undefined"), ln = Cc(65536, "null"), ir = U ? ln : Cc(65536, "null", 65536), ae = Cc(4, "string"), rt = Cc(8, "number"), Ot = Cc(64, "bigint"), Ke = Cc(512, "false"), oe = Cc(512, "false"), pe = Cc(512, "true"), z = Cc(512, "true"); pe.regularType = z, pe.freshType = pe, z.regularType = z, z.freshType = pe, Ke.regularType = oe, Ke.freshType = Ke, oe.regularType = oe, oe.freshType = Ke; var Te = Gr([oe, z]), j = Cc(4096, "symbol"), yt = Cc(16384, "void"), lt = Cc(131072, "never"), Qe = Cc(131072, "never", 262144), Vt = Cc(131072, "never"), Hn = Cc(131072, "never"), jr = Cc(67108864, "object"), ei = Gr([ae, rt]), Kr = Gr([ae, rt, j]), Si = we ? ae : Kr, Ja = Gr([rt, Ot]), Za = Gr([ae, rt, Te, Ot, ln, Oe]), Fa = WE(["", ""], [rt]), Hi = dM(n => n.flags & 262144 ? Pqe(n) : n, () => "(restrictive mapper)"), xi = dM(n => n.flags & 262144 ? Tt : n, () => "(permissive mapper)"), Nr = Cc(131072, "never"), Fo = dM(n => n.flags & 262144 ? Nr : n, () => "(unique literal mapper)"), Qr, Wi = dM(n => (Qr && (n === md || n === Pc || n === bl) && Qr(!0), n), () => "(unmeasurable reporter)"), gn = dM(n => (Qr && (n === md || n === Pc || n === bl) && Qr(!1), n), () => "(unreliable reporter)"), Ki = ls(void 0, q, Je, Je, Je), kc = ls(void 0, q, Je, Je, Je); kc.objectFlags |= 2048; var Ps = wo(2048, "__type"); Ps.members = Ua(); var mc = ls(Ps, q, Je, Je, Je), xc = ls(void 0, q, Je, Je, Je), hc = U ? Gr([Oe, ln, xc]) : ue, ro = ls(void 0, q, Je, Je, Je); ro.instantiations = new Map; var aa = ls(void 0, q, Je, Je, Je); aa.objectFlags |= 262144; var Co = ls(void 0, q, Je, Je, Je), gc = ls(void 0, q, Je, Je, Je), Ll = ls(void 0, q, Je, Je, Je), md = rd(), Pc = rd(); Pc.constraint = md; var bl = rd(), ss = rd(), qs = rd(); qs.constraint = ss; var Rs = iM(1, "<<unresolved>>", 0, Se), As = Am(void 0, void 0, void 0, Je, Se, void 0, 0, 0), jt = Am(void 0, void 0, void 0, Je, ve, void 0, 0, 0), yc = Am(void 0, void 0, void 0, Je, Se, void 0, 0, 0), Ql = Am(void 0, void 0, void 0, Je, Qe, void 0, 0, 0), yu = Fp(rt, ae, !0), se = new Map, ht = { get yieldType() { return L.fail("Not supported") }, get returnType() { return L.fail("Not supported") }, get nextType() { return L.fail("Not supported") } }, wt = Eg(Se, Se, Se), K = Eg(Se, Se, ue), Xe = Eg(lt, Se, Oe), ft = { iterableCacheKey: "iterationTypesOfAsyncIterable", iteratorCacheKey: "iterationTypesOfAsyncIterator", iteratorSymbolName: "asyncIterator", getGlobalIteratorType: hKe, getGlobalIterableType: ZG, getGlobalIterableIteratorType: gKe, getGlobalGeneratorType: yKe, resolveIterationType: rT, mustHaveANextMethodDiagnostic: _.An_async_iterator_must_have_a_next_method, mustBeAMethodDiagnostic: _.The_0_property_of_an_async_iterator_must_be_a_method, mustHaveAValueDiagnostic: _.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property }, Yt = { iterableCacheKey: "iterationTypesOfIterable", iteratorCacheKey: "iterationTypesOfIterator", iteratorSymbolName: "iterator", getGlobalIteratorType: vKe, getGlobalIterableType: pne, getGlobalIterableIteratorType: bKe, getGlobalGeneratorType: EKe, resolveIterationType: (n, a) => n, mustHaveANextMethodDiagnostic: _.An_iterator_must_have_a_next_method, mustBeAMethodDiagnostic: _.The_0_property_of_an_iterator_must_be_a_method, mustHaveAValueDiagnostic: _.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property }, pr, yr = new Map, ta = !1, Go, Ka, vo, ka, Hs, Uc, Gu, $o, jo, Ws, hd, vc, nf, ye, Et, bn, Ri, io, ee, Ze, At, xt, qt, Ln, mr, Vr, gi, Ea, bo, Qo, Cs, Bu, Pd, Dc, gd, Zl, Md, zf, Io, Jf, Fd, E_, Y_, M, He, Nt, Pn, la, oa, be, De, mt, St, Zt, rn = new Map, sn = 0, Dn = 0, kr = 0, ki = !1, Vn = 0, $t, Xn, ra, Is = [], Mc = [], mm = [], Hh = 0, T_ = [], Cb = [], mv = 0, gx = ff(""), _1 = op(0), yx = aB({ negative: !1, base10Value: "0" }), Wh = [], S_ = [], hv = [], eh = 0, $_ = 10, gv = [], lE = [], Ib = [], zh = [], p1 = [], uE = [], dE = [], fE = [], yv = [], vx = [], _E = [], pE = [], vv = [], Lb = [], bv = [], m1 = [], Jh = [], Lo = XA(), mE = XA(), sC = Tm(), Zg, Kh, hm = new Map, x_ = new Map, Zu = new Map, ed = new Map, td = new Map, kb = new Map, Db = Ua(); Db.set(Le.escapedName, Le); var bx = [[".mts", ".mjs"], [".ts", ".js"], [".cts", ".cjs"], [".mjs", ".mjs"], [".js", ".js"], [".cjs", ".cjs"], [".tsx", Y.jsx === 1 ? ".jsx" : ".js"], [".jsx", ".jsx"], [".json", ".json"]]; return grt(), qe; function wb(n) { return n ? Kn.get(n) : void 0 } function qh(n, a) { return n && Kn.set(n, a), a } function Rb(n) { if (n) { let a = Gn(n); if (a) if (US(n)) { if (a.localJsxFragmentNamespace) return a.localJsxFragmentNamespace; let c = a.pragmas.get("jsxfrag"); if (c) { let p = ba(c) ? c[0] : c; if (a.localJsxFragmentFactory = zS(p.arguments.factory, R), $e(a.localJsxFragmentFactory, Ob, Cd), a.localJsxFragmentFactory) return a.localJsxFragmentNamespace = Yd(a.localJsxFragmentFactory).escapedText } let u = Kie(n); if (u) return a.localJsxFragmentFactory = u, a.localJsxFragmentNamespace = Yd(u).escapedText } else { let c = h1(a); if (c) return a.localJsxNamespace = c } } return Zg || (Zg = "React", Y.jsxFactory ? (Kh = zS(Y.jsxFactory, R), $e(Kh, Ob), Kh && (Zg = Yd(Kh).escapedText)) : Y.reactNamespace && (Zg = Bs(Y.reactNamespace))), Kh || (Kh = D.createQualifiedName(D.createIdentifier(Gi(Zg)), "createElement")), Zg } function h1(n) { if (n.localJsxNamespace) return n.localJsxNamespace; let a = n.pragmas.get("jsx"); if (a) { let c = ba(a) ? a[0] : a; if (n.localJsxFactory = zS(c.arguments.factory, R), $e(n.localJsxFactory, Ob, Cd), n.localJsxFactory) return n.localJsxNamespace = Yd(n.localJsxFactory).escapedText } } function Ob(n) { return om(n, -1, -1), xn(n, Ob, Bh) } function cC(n, a) { return HLe(n, a), Ie } function Ex(n, a, c, u, p, h) { let T = n ? hr(n, a, c, u, p, h) : ps(a, c, u, p, h), k = Lo.lookup(T); return k || (Lo.add(T), T) } function Ev(n, a, c, u, p, h, T) { let k = Fe(a, c, u, p, h, T); return k.skippedOn = n, k } function hE(n, a, c, u, p, h) { return n ? hr(n, a, c, u, p, h) : ps(a, c, u, p, h) } function Fe(n, a, c, u, p, h) { let T = hE(n, a, c, u, p, h); return Lo.add(T), T } function ey(n, a) { n ? Lo.add(a) : mE.add({ ...a, category: 2 }) } function Ip(n, a, c, u, p, h, T) { if (a.pos < 0 || a.end < 0) { if (!n) return; let k = Gn(a); ey(n, "message" in c ? al(k, 0, 0, c, u, p, h, T) : yH(k, c)); return } ey(n, "message" in c ? hr(a, c, u, p, h, T) : Lh(Gn(a), a, c)) } function Tv(n, a, c, u, p, h, T) { let k = Fe(n, c, u, p, h, T); if (a) { let O = hr(n, _.Did_you_forget_to_use_await); Ao(k, O) } return k } function Nb(n, a) { let c = Array.isArray(n) ? mn(n, Cj) : Cj(n); return c && Ao(a, hr(c, _.The_declaration_was_marked_as_deprecated_here)), mE.add(a), a } function Sv(n) { if (Fn(n.declarations) > 1) { let a = ju(n); if (a && a.flags & 64) return vt(n.declarations, c => !!(G_(c) & 268435456)) } return !!(WB(n) & 268435456) } function Xh(n, a, c) { let u = hr(n, _._0_is_deprecated, c); return Nb(a, u) } function g1(n, a, c, u) { let p = c ? hr(n, _.The_signature_0_of_1_is_deprecated, u, c) : hr(n, _._0_is_deprecated, u); return Nb(a, p) } function wo(n, a, c) { S++; let u = new d(n | 33554432, a); return u.links = new yK, u.links.checkFlags = c || 0, u } function A_(n, a) { let c = wo(1, n); return c.links.type = a, c } function gE(n, a) { let c = wo(4, n); return c.links.type = a, c } function Kc(n) { let a = 0; return n & 2 && (a |= 111551), n & 1 && (a |= 111550), n & 4 && (a |= 0), n & 8 && (a |= 900095), n & 16 && (a |= 110991), n & 32 && (a |= 899503), n & 64 && (a |= 788872), n & 256 && (a |= 899327), n & 128 && (a |= 899967), n & 512 && (a |= 110735), n & 8192 && (a |= 103359), n & 32768 && (a |= 46015), n & 65536 && (a |= 78783), n & 262144 && (a |= 526824), n & 524288 && (a |= 788968), n & 2097152 && (a |= 2097152), a } function th(n, a) { a.mergeId || (a.mergeId = hK, hK++), gv[a.mergeId] = n } function Pb(n) { let a = wo(n.flags, n.escapedName); return a.declarations = n.declarations ? n.declarations.slice() : [], a.parent = n.parent, n.valueDeclaration && (a.valueDeclaration = n.valueDeclaration), n.constEnumOnlyModule && (a.constEnumOnlyModule = !0), n.members && (a.members = new Map(n.members)), n.exports && (a.exports = new Map(n.exports)), th(a, n), a } function C_(n, a, c = !1) { if (!(n.flags & Kc(a.flags)) || (a.flags | n.flags) & 67108864) { if (a === n) return n; if (!(n.flags & 33554432)) { let p = Ac(n); if (p === Ht) return a; n = Pb(p) } a.flags & 512 && n.flags & 512 && n.constEnumOnlyModule && !a.constEnumOnlyModule && (n.constEnumOnlyModule = !1), n.flags |= a.flags, a.valueDeclaration && rR(n, a.valueDeclaration), si(n.declarations, a.declarations), a.members && (n.members || (n.members = Ua()), ll(n.members, a.members, c)), a.exports && (n.exports || (n.exports = Ua()), ll(n.exports, a.exports, c)), c || th(n, a) } else if (n.flags & 1024) n !== Ye && Fe(a.declarations && sa(a.declarations[0]), _.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity, E(n)); else { let p = !!(n.flags & 384 || a.flags & 384), h = !!(n.flags & 2 || a.flags & 2), T = p ? _.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations : h ? _.Cannot_redeclare_block_scoped_variable_0 : _.Duplicate_identifier_0, k = a.declarations && Gn(a.declarations[0]), O = n.declarations && Gn(n.declarations[0]), H = h6(k, Y.checkJs), J = h6(O, Y.checkJs), de = E(a); if (k && O && pr && !p && k !== O) { let Ae = cT(k.path, O.path) === -1 ? k : O, xe = Ae === k ? O : k, tt = VD(pr, `${Ae.path}|${xe.path}`, () => ({ firstFile: Ae, secondFile: xe, conflictingSymbols: new Map })), It = VD(tt.conflictingSymbols, de, () => ({ isBlockScoped: h, firstFileLocations: [], secondFileLocations: [] })); H || u(It.firstFileLocations, a), J || u(It.secondFileLocations, n) } else H || Mb(a, T, de, n), J || Mb(n, T, de, a) } return n; function u(p, h) { if (h.declarations) for (let T of h.declarations) Of(p, T) } } function Mb(n, a, c, u) { mn(n.declarations, p => { Ml(p, a, c, u.declarations) }) } function Ml(n, a, c, u) { let p = (ob(n, !1) ? wH(n) : sa(n)) || n, h = Ex(p, a, c); for (let T of u || Je) { let k = (ob(T, !1) ? wH(T) : sa(T)) || T; if (k === p) continue; h.relatedInformation = h.relatedInformation || []; let O = hr(k, _._0_was_also_declared_here, c), H = hr(k, _.and_here); Fn(h.relatedInformation) >= 5 || vt(h.relatedInformation, J => ZI(J, H) === 0 || ZI(J, O) === 0) || Ao(h, Fn(h.relatedInformation) ? H : O) } } function Yh(n, a) { if (!n?.size) return a; if (!a?.size) return n; let c = Ua(); return ll(c, n), ll(c, a), c } function ll(n, a, c = !1) { a.forEach((u, p) => { let h = n.get(p); n.set(p, h ? C_(h, u, c) : No(u)) }) } function y1(n) { var a, c, u; let p = n.parent; if (((a = p.symbol.declarations) == null ? void 0 : a[0]) !== p) { L.assert(p.symbol.declarations.length > 1); return } if (mp(p)) ll(Ne, p.symbol.exports); else { let h = n.parent.parent.flags & 16777216 ? void 0 : _.Invalid_module_name_in_augmentation_module_0_cannot_be_found, T = ah(n, n, h, !0); if (!T) return; if (T = Vu(T), T.flags & 1920) if (vt(Ka, k => T === k.symbol)) { let k = C_(p.symbol, T, !0); vo || (vo = new Map), vo.set(n.text, k) } else { if ((c = T.exports) != null && c.get("__export") && ((u = p.symbol.exports) != null && u.size)) { let k = Mte(T, "resolvedExports"); for (let [O, H] of lo(p.symbol.exports.entries())) k.has(O) && !T.exports.has(O) && C_(k.get(O), H) } C_(T, p.symbol) } else Fe(n, _.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity, n.text) } } function lC(n, a, c) { a.forEach((p, h) => { let T = n.get(h); T ? mn(T.declarations, u(Gi(h), c)) : n.set(h, p) }); function u(p, h) { return T => Lo.add(hr(T, h, p)) } } function Ai(n) { var a; if (n.flags & 33554432) return n.links; let c = $a(n); return (a = lE[c]) != null ? a : lE[c] = new yK } function Rr(n) { let a = zo(n); return Ib[a] || (Ib[a] = new pPe) } function gm(n) { return n.kind === 308 && !kd(n) } function yd(n, a, c) { if (c) { let u = No(n.get(a)); if (u && (L.assert((ac(u) & 1) === 0, "Should never get an instantiated symbol here."), u.flags & c || u.flags & 2097152 && Fl(u) & c)) return u } } function yE(n, a) { let c = n.parent, u = n.parent.parent, p = yd(c.locals, a, 111551), h = yd(vy(u.symbol), a, 111551); return p && h ? [p, h] : L.fail("There should exist two symbols, one as property declaration and one as parameter declaration") } function $h(n, a) { let c = Gn(n), u = Gn(a), p = tm(n); if (c !== u) { if (ie && (c.externalModuleIndicator || u.externalModuleIndicator) || !Ss(Y) || kC(a) || n.flags & 16777216 || T(a, n)) return !0; let O = e.getSourceFiles(); return O.indexOf(c) <= O.indexOf(u) } if (n.pos <= a.pos && !(Na(n) && zw(a.parent) && !n.initializer && !n.exclamationToken)) { if (n.kind === 205) { let O = cb(a, 205); return O ? jn(O, Wo) !== jn(n, Wo) || n.pos < O.pos : $h(cb(n, 257), a) } else { if (n.kind === 257) return !h(n, a); if (sl(n)) return !jn(a, O => ts(O) && O.parent.parent === n); if (Na(n)) return !k(n, a, !1); if (Ad(n, n.parent)) return !(Do(Y) === 99 && fe && Zc(n) === Zc(a) && T(a, n)) } return !0 } if (a.parent.kind === 278 || a.parent.kind === 274 && a.parent.isExportEquals || a.kind === 274 && a.isExportEquals || a.flags & 8388608 || kC(a) || k2e(a)) return !0; if (T(a, n)) return Do(Y) === 99 && fe && Zc(n) && (Na(n) || Ad(n, n.parent)) ? !k(n, a, !0) : !0; return !1; function h(O, H) { switch (O.parent.parent.kind) { case 240: case 245: case 247: if (Lp(H, O, p)) return !0; break }let J = O.parent.parent; return CA(J) && Lp(H, J.expression, p) } function T(O, H) { return !!jn(O, J => { if (J === p) return "quit"; if (Ia(J)) return !0; if (oc(J)) return H.pos < O.pos; let de = zr(J.parent, Na); if (de && de.initializer === J) { if (Ca(J.parent)) { if (H.kind === 171) return !0; if (Na(H) && Zc(O) === Zc(H)) { let xe = H.name; if (Re(xe) || pi(xe)) { let tt = zn(fr(H)), It = Pr(H.parent.members, oc); if (tnt(xe, tt, It, H.parent.pos, J.pos)) return !0 } } } else if (!(H.kind === 169 && !Ca(H)) || Zc(O) !== Zc(H)) return !0 } return !1 }) } function k(O, H, J) { return H.end > O.end ? !1 : jn(H, Ae => { if (Ae === O) return "quit"; switch (Ae.kind) { case 216: return !0; case 169: return J && (Na(O) && Ae.parent === O.parent || Ad(O, O.parent) && Ae.parent === O.parent.parent) ? "quit" : !0; case 238: switch (Ae.parent.kind) { case 174: case 171: case 175: return !0; default: return !1 }default: return !1 } }) === void 0 } } function nh(n, a, c) { let u = Do(Y), p = a; if (ha(c) && p.body && n.valueDeclaration && n.valueDeclaration.pos >= p.body.pos && n.valueDeclaration.end <= p.body.end && u >= 2) { let k = Rr(p); return k.declarationRequiresScopeChange === void 0 && (k.declarationRequiresScopeChange = mn(p.parameters, h) || !1), !k.declarationRequiresScopeChange } return !1; function h(k) { return T(k.name) || !!k.initializer && T(k.initializer) } function T(k) { switch (k.kind) { case 216: case 215: case 259: case 173: return !1; case 171: case 174: case 175: case 299: return T(k.name); case 169: return zc(k) ? u < 99 || !fe : T(k.name); default: return wj(k) || Jl(k) ? u < 7 : Wo(k) && k.dotDotDotToken && cm(k.parent) ? u < 4 : bi(k) ? !1 : pa(k, T) || !1 } } } function ym(n) { return pT(n) && Ch(n.type) || DL(n) && Ch(n.typeExpression) } function zs(n, a, c, u, p, h, T = !1, k = !0) { return Fb(n, a, c, u, p, h, T, k, yd) } function Fb(n, a, c, u, p, h, T, k, O) { var H, J, de; let Ae = n, xe, tt, It, Tn, un, Nn = !1, en = n, cn, rr = !1; e: for (; n;) { if (a === "const" && ym(n)) return; if (Qp(n) && n.locals && !gm(n) && (xe = O(n.locals, a, c))) { let Cn = !0; if (Ia(n) && tt && tt !== n.body ? (c & xe.flags & 788968 && tt.kind !== 323 && (Cn = xe.flags & 262144 ? tt === n.type || tt.kind === 166 || tt.kind === 344 || tt.kind === 345 || tt.kind === 165 : !1), c & xe.flags & 3 && (nh(xe, n, tt) ? Cn = !1 : xe.flags & 1 && (Cn = tt.kind === 166 || tt === n.type && !!jn(xe.valueDeclaration, ha)))) : n.kind === 191 && (Cn = tt === n.trueType), Cn) break e; xe = void 0 } switch (Nn = Nn || Gb(n, tt), n.kind) { case 308: if (!kd(n)) break; rr = !0; case 264: let Cn = ((H = fr(n)) == null ? void 0 : H.exports) || q; if (n.kind === 308 || Tc(n) && n.flags & 16777216 && !mp(n)) { if (xe = Cn.get("default")) { let Hr = QA(xe); if (Hr && xe.flags & c && Hr.escapedName === a) break e; xe = void 0 } let Br = Cn.get(a); if (Br && Br.flags === 2097152 && (nc(Br, 278) || nc(Br, 277))) break } if (a !== "default" && (xe = O(Cn, a, c & 2623475))) if (Li(n) && n.commonJsModuleIndicator && !((J = xe.declarations) != null && J.some(Ff))) xe = void 0; else break e; break; case 263: if (xe = O(((de = fr(n)) == null ? void 0 : de.exports) || q, a, c & 8)) { u && d_(Y) && !(n.flags & 16777216) && Gn(n) !== Gn(xe.valueDeclaration) && Fe(en, _.Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead, Gi(a), Rt, `${Gi(vd(n).escapedName)}.${Gi(a)}`); break e } break; case 169: if (!Ca(n)) { let Br = wv(n.parent); Br && Br.locals && O(Br.locals, a, c & 111551) && (L.assertNode(n, Na), Tn = n) } break; case 260: case 228: case 261: if (xe = O(fr(n).members || q, a, c & 788968)) { if (!Tx(xe, n)) { xe = void 0; break } if (tt && Ca(tt)) { u && Fe(en, _.Static_members_cannot_reference_class_type_parameters); return } break e } if (_u(n) && c & 32) { let Br = n.name; if (Br && a === Br.escapedText) { xe = n.symbol; break e } } break; case 230: if (tt === n.expression && n.parent.token === 94) { let Br = n.parent.parent; if (Yr(Br) && (xe = O(fr(Br).members, a, c & 788968))) { u && Fe(en, _.Base_class_expressions_cannot_reference_class_type_parameters); return } } break; case 164: if (cn = n.parent.parent, (Yr(cn) || cn.kind === 261) && (xe = O(fr(cn).members, a, c & 788968))) { u && Fe(en, _.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); return } break; case 216: if (Do(Y) >= 2) break; case 171: case 173: case 174: case 175: case 259: if (c & 3 && a === "arguments") { xe = _t; break e } break; case 215: if (c & 3 && a === "arguments") { xe = _t; break e } if (c & 16) { let Br = n.name; if (Br && a === Br.escapedText) { xe = n.symbol; break e } } break; case 167: n.parent && n.parent.kind === 166 && (n = n.parent), n.parent && (_l(n.parent) || n.parent.kind === 260) && (n = n.parent); break; case 349: case 341: case 343: let Rn = OI(n); Rn && (n = Rn.parent); break; case 166: tt && (tt === n.initializer || tt === n.name && La(tt)) && (un || (un = n)); break; case 205: tt && (tt === n.initializer || tt === n.name && La(tt)) && CT(n) && !un && (un = n); break; case 192: if (c & 262144) { let Br = n.typeParameter.name; if (Br && a === Br.escapedText) { xe = n.typeParameter.symbol; break e } } break }b1(n) && (It = n), tt = n, n = H_(n) ? J6(n) || n.parent : (xp(n) || y3(n)) && sb(n) || n.parent } if (h && xe && (!It || xe !== It.symbol) && (xe.isReferenced |= c), !xe) { if (tt && (L.assertNode(tt, Li), tt.commonJsModuleIndicator && a === "exports" && c & tt.symbol.flags)) return tt.symbol; T || (xe = O(Ne, a, c)) } if (!xe && Ae && Yn(Ae) && Ae.parent && qu(Ae.parent, !1)) return ct; function Jt() { return Tn && !(fe && Do(Y) >= 9) ? (Fe(en, en && Tn.type && Y8(Tn.type, en.pos) ? _.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor : _.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, os(Tn.name), Cf(p)), !0) : !1 } if (xe) { if (u && Jt()) return } else { u && i(() => { if (!en || !Sx(en, a, p) && !Jt() && !xv(en) && !T1(en, a, c) && !S1(en, a) && !Ax(en, a, c) && !rf(en, a, c) && !xx(en, a, c)) { let Cn, Rn; if (p && (Rn = aQe(p), Rn && Fe(en, u, Cf(p), Rn)), !Rn && k && eh < $_ && (Cn = Yre(Ae, a, c), Cn?.valueDeclaration && lu(Cn.valueDeclaration) && mp(Cn.valueDeclaration) && (Cn = void 0), Cn)) { let Hr = E(Cn), qi = Kre(Ae, Cn, !1), wa = c === 1920 || p && typeof p != "string" && ws(p) ? _.Cannot_find_namespace_0_Did_you_mean_1 : qi ? _.Could_not_find_name_0_Did_you_mean_1 : _.Cannot_find_name_0_Did_you_mean_1, Xc = hE(en, wa, Cf(p), Hr); ey(!qi, Xc), Cn.valueDeclaration && Ao(Xc, hr(Cn.valueDeclaration, _._0_is_declared_here, Hr)) } !Cn && !Rn && p && Fe(en, u, Cf(p)), eh++ } }); return } return u && i(() => { if (en && (c & 2 || (c & 32 || c & 384) && (c & 111551) === 111551)) { let Cn = tp(xe); (Cn.flags & 2 || Cn.flags & 32 || Cn.flags & 384) && Ub(Cn, en) } if (xe && rr && (c & 111551) === 111551 && !(Ae.flags & 8388608)) { let Cn = No(xe); Fn(Cn.declarations) && Ji(Cn.declarations, Rn => gO(Rn) || Li(Rn) && !!Rn.symbol.globalExports) && Ip(!Y.allowUmdGlobalAccess, en, _._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, Gi(a)) } if (xe && un && !Nn && (c & 111551) === 111551) { let Cn = No(zG(xe)), Rn = nm(un); Cn === fr(un) ? Fe(en, _.Parameter_0_cannot_reference_itself, os(un.name)) : Cn.valueDeclaration && Cn.valueDeclaration.pos > un.pos && Rn.parent.locals && O(Rn.parent.locals, Cn.escapedName, c) === Cn && Fe(en, _.Parameter_0_cannot_reference_identifier_1_declared_after_it, os(un.name), os(en)) } if (xe && en && c & 111551 && xe.flags & 2097152 && !(xe.flags & 111551) && !TS(en)) { let Cn = nd(xe, 111551); if (Cn) { let Rn = Cn.kind === 278 || Cn.kind === 275 || Cn.kind === 277 ? _._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type : _._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type, Br = Gi(a); v1(Fe(en, Rn, Br), Cn, Br) } } }), xe } function v1(n, a, c) { return a ? Ao(n, hr(a, a.kind === 278 || a.kind === 275 || a.kind === 277 ? _._0_was_exported_here : _._0_was_imported_here, c)) : n } function Gb(n, a) { return n.kind !== 216 && n.kind !== 215 ? vL(n) || (Ds(n) || n.kind === 169 && !Ca(n)) && (!a || a !== n.name) : a && a === n.name ? !1 : n.asteriskToken || Mr(n, 512) ? !0 : !ET(n) } function b1(n) { switch (n.kind) { case 259: case 260: case 261: case 263: case 262: case 264: return !0; default: return !1 } } function Cf(n) { return Ta(n) ? Gi(n) : os(n) } function Tx(n, a) { if (n.declarations) { for (let c of n.declarations) if (c.kind === 165 && (H_(c.parent) ? dS(c.parent) : c.parent) === a) return !(H_(c.parent) && wr(c.parent.parent.tags, Ff)) } return !1 } function Sx(n, a, c) { if (!Re(n) || n.escapedText !== a || WLe(n) || kC(n)) return !1; let u = Ku(n, !1, !1), p = u; for (; p;) { if (Yr(p.parent)) { let h = fr(p.parent); if (!h) break; let T = zn(h); if (ja(T, a)) return Fe(n, _.Cannot_find_name_0_Did_you_mean_the_static_member_1_0, Cf(c), E(h)), !0; if (p === u && !Ca(p)) { let k = gs(h).thisType; if (ja(k, a)) return Fe(n, _.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, Cf(c)), !0 } } p = p.parent } return !1 } function xv(n) { let a = E1(n); return a && uc(a, 64, !0) ? (Fe(n, _.Cannot_extend_an_interface_0_Did_you_mean_implements, Qc(a)), !0) : !1 } function E1(n) { switch (n.kind) { case 79: case 208: return n.parent ? E1(n.parent) : void 0; case 230: if (bc(n.expression)) return n.expression; default: return } } function T1(n, a, c) { let u = 1920 | (Yn(n) ? 111551 : 0); if (c === u) { let p = Ac(zs(n, a, 788968 & ~u, void 0, void 0, !1)), h = n.parent; if (p) { if (Yu(h)) { L.assert(h.left === n, "Should only be resolving left side of qualified name as a namespace"); let T = h.right.escapedText; if (ja(gs(p), T)) return Fe(h, _.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1, Gi(a), Gi(T)), !0 } return Fe(n, _._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here, Gi(a)), !0 } } return !1 } function xx(n, a, c) { if (c & 788584) { let u = Ac(zs(n, a, 111127, void 0, void 0, !1)); if (u && !(u.flags & 1920)) return Fe(n, _._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0, Gi(a)), !0 } return !1 } function Bb(n) { return n === "any" || n === "string" || n === "number" || n === "boolean" || n === "never" || n === "unknown" } function S1(n, a) { return Bb(a) && n.parent.kind === 278 ? (Fe(n, _.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, a), !0) : !1 } function rf(n, a, c) { if (c & 111551) { if (Bb(a)) return Qh(n) ? Fe(n, _.An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes, Gi(a)) : Fe(n, _._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, Gi(a)), !0; let u = Ac(zs(n, a, 788544, void 0, void 0, !1)), p = u && Fl(u); if (u && p !== void 0 && !(p & 111551)) { let h = Gi(a); return I_(a) ? Fe(n, _._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later, h) : Q_(n, u) ? Fe(n, _._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0, h, h === "K" ? "P" : "K") : Fe(n, _._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, h), !0 } } return !1 } function Qh(n) { let a = n.parent.parent, c = a.parent; if (a && c) { let u = dd(a) && a.token === 94, p = ku(c); return u && p } return !1 } function Q_(n, a) { let c = jn(n.parent, u => ts(u) || $d(u) ? !1 : Rd(u) || "quit"); if (c && c.members.length === 1) { let u = gs(a); return !!(u.flags & 1048576) && zM(u, 384, !0) } return !1 } function I_(n) { switch (n) { case "Promise": case "Symbol": case "Map": case "WeakMap": case "Set": case "WeakSet": return !0 }return !1 } function Ax(n, a, c) { if (c & 111127) { if (Ac(zs(n, a, 1024, void 0, void 0, !1))) return Fe(n, _.Cannot_use_namespace_0_as_a_value, Gi(a)), !0 } else if (c & 788544 && Ac(zs(n, a, 1536, void 0, void 0, !1))) return Fe(n, _.Cannot_use_namespace_0_as_a_type, Gi(a)), !0; return !1 } function Ub(n, a) { var c; if (L.assert(!!(n.flags & 2 || n.flags & 32 || n.flags & 384)), n.flags & 67108881 && n.flags & 32) return; let u = (c = n.declarations) == null ? void 0 : c.find(p => sH(p) || Yr(p) || p.kind === 263); if (u === void 0) return L.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration"); if (!(u.flags & 16777216) && !$h(u, a)) { let p, h = os(sa(u)); n.flags & 2 ? p = Fe(a, _.Block_scoped_variable_0_used_before_its_declaration, h) : n.flags & 32 ? p = Fe(a, _.Class_0_used_before_its_declaration, h) : n.flags & 256 ? p = Fe(a, _.Enum_0_used_before_its_declaration, h) : (L.assert(!!(n.flags & 128)), U0(Y) && (p = Fe(a, _.Enum_0_used_before_its_declaration, h))), p && Ao(p, hr(u, _._0_is_declared_here, h)) } } function Lp(n, a, c) { return !!a && !!jn(n, u => u === a || (u === c || Ia(u) && (!ET(u) || qA(u)) ? "quit" : !1)) } function x1(n) { switch (n.kind) { case 268: return n; case 270: return n.parent; case 271: return n.parent.parent; case 273: return n.parent.parent.parent; default: return } } function Uu(n) { return n.declarations && dA(n.declarations, Zh) } function Zh(n) { return n.kind === 268 || n.kind === 267 || n.kind === 270 && !!n.name || n.kind === 271 || n.kind === 277 || n.kind === 273 || n.kind === 278 || n.kind === 274 && zA(n) || ar(n) && ic(n) === 2 && zA(n) || Us(n) && ar(n.parent) && n.parent.left === n && n.parent.operatorToken.kind === 63 && kp(n.parent.right) || n.kind === 300 || n.kind === 299 && kp(n.initializer) || n.kind === 257 && N0(n) || n.kind === 205 && N0(n.parent.parent) } function kp(n) { return pR(n) || ms(n) && cp(n) } function Dp(n, a) { let c = ry(n); if (c) { let p = $I(c.expression).arguments[0]; return Re(c.name) ? Ac(ja(Fxe(p), c.name.escapedText)) : void 0 } if (wi(n) || n.moduleReference.kind === 280) { let p = Gl(n, IH(n) || wI(n)), h = Vu(p); return qf(n, p, h, !1), h } let u = ep(n.moduleReference, a); return eg(n, u), u } function eg(n, a) { if (qf(n, void 0, a, !1) && !n.isTypeOnly) { let c = nd(fr(n)), u = c.kind === 278 || c.kind === 275, p = u ? _.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type : _.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type, h = u ? _._0_was_exported_here : _._0_was_imported_here, T = c.kind === 275 ? "*" : Gi(c.name.escapedText); Ao(Fe(n.moduleReference, p), hr(c, h, T)) } } function vE(n, a, c, u) { let p = n.exports.get("export="), h = p ? ja(zn(p), a, !0) : n.exports.get(a), T = Ac(h, u); return qf(c, h, T, !1), T } function A1(n) { return pc(n) && !n.isExportEquals || Mr(n, 1024) || Mu(n) } function ty(n) { return es(n) ? W_(Gn(n), n) : void 0 } function bE(n, a) { return n === 99 && a === 1 } function cs(n) { return ty(n) === 99 && Oc(n.text, ".json") } function ny(n, a, c, u) { let p = n && ty(u); if (n && p !== void 0) { let h = bE(p, n.impliedNodeFormat); if (p === 99 || h) return h } if (!Z) return !1; if (!n || n.isDeclarationFile) { let h = vE(a, "default", void 0, !0); return !(h && vt(h.declarations, A1) || vE(a, Bs("__esModule"), void 0, c)) } return Cu(n) ? typeof n.externalModuleIndicator != "object" && !vE(a, Bs("__esModule"), void 0, c) : AE(a) } function Cx(n, a) { let c = Gl(n, n.parent.moduleSpecifier); if (c) return Vb(c, n, a) } function Vb(n, a, c) { var u; let p; CI(n) ? p = n : p = vE(n, "default", a, c); let h = (u = n.declarations) == null ? void 0 : u.find(Li), T = jb(a); if (!T) return p; let k = cs(T), O = ny(h, n, c, T); if (!p && !O && !k) if (AE(n) && !(wT(Y) || f_(Y))) { let H = ie >= 5 ? "allowSyntheticDefaultImports" : "esModuleInterop", de = n.exports.get("export=").valueDeclaration, Ae = Fe(a.name, _.Module_0_can_only_be_default_imported_using_the_1_flag, E(n), H); de && Ao(Ae, hr(de, _.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, H)) } else lm(a) ? Ix(n, a) : Av(n, n, a, eS(a) && a.propertyName || a.name); else if (O || k) { let H = Vu(n, c) || Ac(n, c); return qf(a, n, H, !1), H } return qf(a, p, void 0, !1), p } function jb(n) { switch (n.kind) { case 270: return n.parent.moduleSpecifier; case 268: return um(n.moduleReference) ? n.moduleReference.expression : void 0; case 271: return n.parent.parent.moduleSpecifier; case 273: return n.parent.parent.parent.moduleSpecifier; case 278: return n.parent.parent.moduleSpecifier; default: return L.assertNever(n) } } function Ix(n, a) { var c, u, p; if ((c = n.exports) != null && c.has(a.symbol.escapedName)) Fe(a.name, _.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead, E(n), E(a.symbol)); else { let h = Fe(a.name, _.Module_0_has_no_default_export, E(n)), T = (u = n.exports) == null ? void 0 : u.get("__export"); if (T) { let k = (p = T.declarations) == null ? void 0 : p.find(O => { var H, J; return !!(Il(O) && O.moduleSpecifier && ((J = (H = Gl(O, O.moduleSpecifier)) == null ? void 0 : H.exports) != null && J.has("default"))) }); k && Ao(h, hr(k, _.export_Asterisk_does_not_re_export_a_default)) } } } function uC(n, a) { let c = n.parent.parent.moduleSpecifier, u = Gl(n, c), p = Jb(u, c, a, !1); return qf(n, u, p, !1), p } function Lx(n, a) { let c = n.parent.moduleSpecifier, u = c && Gl(n, c), p = c && Jb(u, c, a, !1); return qf(n, u, p, !1), p } function Qn(n, a) { if (n === Ht && a === Ht) return Ht; if (n.flags & 790504) return n; let c = wo(n.flags | a.flags, n.escapedName); return L.assert(n.declarations || a.declarations), c.declarations = fA(Qi(n.declarations, a.declarations), Zv), c.parent = n.parent || a.parent, n.valueDeclaration && (c.valueDeclaration = n.valueDeclaration), a.members && (c.members = new Map(a.members)), n.exports && (c.exports = new Map(n.exports)), c } function lc(n, a, c, u) { var p; if (n.flags & 1536) { let h = Gd(n).get(a.escapedText), T = Ac(h, u), k = (p = Ai(n).typeOnlyExportStarMap) == null ? void 0 : p.get(a.escapedText); return qf(c, h, T, !1, k, a.escapedText), T } } function zi(n, a) { if (n.flags & 3) { let c = n.valueDeclaration.type; if (c) return Ac(ja($r(c), a)) } } function af(n, a, c = !1) { var u; let p = IH(n) || n.moduleSpecifier, h = Gl(n, p), T = !br(a) && a.propertyName || a.name; if (!Re(T)) return; let k = T.escapedText === "default" && !!(Y.allowSyntheticDefaultImports || f_(Y)), O = Jb(h, p, !1, k); if (O && T.escapedText) { if (CI(h)) return h; let H; h && h.exports && h.exports.get("export=") ? H = ja(zn(O), T.escapedText, !0) : H = zi(O, T.escapedText), H = Ac(H, c); let J = lc(O, T, a, c); if (J === void 0 && T.escapedText === "default") { let Ae = (u = h.declarations) == null ? void 0 : u.find(Li); (cs(p) || ny(Ae, h, c, p)) && (J = Vu(h, c) || Ac(h, c)) } let de = J && H && J !== H ? Qn(H, J) : J || H; return de || Av(h, O, n, T), de } } function Av(n, a, c, u) { var p; let h = rh(n, c), T = os(u), k = qB(u, a); if (k !== void 0) { let O = E(k), H = Fe(u, _._0_has_no_exported_member_named_1_Did_you_mean_2, h, T, O); k.valueDeclaration && Ao(H, hr(k.valueDeclaration, _._0_is_declared_here, O)) } else (p = n.exports) != null && p.has("default") ? Fe(u, _.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, h, T) : vm(c, u, T, n, h) } function vm(n, a, c, u, p) { var h, T; let k = (T = (h = zr(u.valueDeclaration, Qp)) == null ? void 0 : h.locals) == null ? void 0 : T.get(a.escapedText), O = u.exports; if (k) { let H = O?.get("export="); if (H) wp(H, k) ? Wn(n, a, c, p) : Fe(a, _.Module_0_has_no_exported_member_1, p, c); else { let J = O ? wr(ene(O), Ae => !!wp(Ae, k)) : void 0, de = J ? Fe(a, _.Module_0_declares_1_locally_but_it_is_exported_as_2, p, c, E(J)) : Fe(a, _.Module_0_declares_1_locally_but_it_is_not_exported, p, c); k.declarations && Ao(de, ...on(k.declarations, (Ae, xe) => hr(Ae, xe === 0 ? _._0_is_declared_here : _.and_here, c))) } } else Fe(a, _.Module_0_has_no_exported_member_1, p, c) } function Wn(n, a, c, u) { if (ie >= 5) { let p = f_(Y) ? _._0_can_only_be_imported_by_using_a_default_import : _._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import; Fe(a, p, c) } else if (Yn(n)) { let p = f_(Y) ? _._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import : _._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import; Fe(a, p, c) } else { let p = f_(Y) ? _._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import : _._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import; Fe(a, p, c, c, u) } } function kx(n, a) { if ($u(n) && vr(n.propertyName || n.name) === "default") { let T = jb(n), k = T && Gl(n, T); if (k) return Vb(k, n, a) } let c = Wo(n) ? nm(n) : n.parent.parent.parent, u = ry(c), p = af(c, u || n, a), h = n.propertyName || n.name; return u && p && Re(h) ? Ac(ja(zn(p), h.escapedText), a) : (qf(n, void 0, p, !1), p) } function ry(n) { if (wi(n) && n.initializer && br(n.initializer)) return n.initializer } function nl(n, a) { if ($p(n.parent)) { let c = Vu(n.parent.symbol, a); return qf(n, void 0, c, !1), c } } function Kf(n, a, c) { if (vr(n.propertyName || n.name) === "default") { let p = jb(n), h = p && Gl(n, p); if (h) return Vb(h, n, !!c) } let u = n.parent.parent.moduleSpecifier ? af(n.parent.parent, n, c) : uc(n.propertyName || n.name, a, !1, c); return qf(n, void 0, u, !1), u } function Z_(n, a) { let c = pc(n) ? n.expression : n.right, u = iy(c, a); return qf(n, void 0, u, !1), u } function iy(n, a) { if (_u(n)) return Ic(n).symbol; if (!Cd(n) && !bc(n)) return; let c = uc(n, 901119, !0, a); return c || (Ic(n), Rr(n).resolvedSymbol) } function EE(n, a) { if (ar(n.parent) && n.parent.left === n && n.parent.operatorToken.kind === 63) return iy(n.parent.right, a) } function L_(n, a = !1) { switch (n.kind) { case 268: case 257: return Dp(n, a); case 270: return Cx(n, a); case 271: return uC(n, a); case 277: return Lx(n, a); case 273: case 205: return kx(n, a); case 278: return Kf(n, 901119, a); case 274: case 223: return Z_(n, a); case 267: return nl(n, a); case 300: return uc(n.name, 901119, !0, a); case 299: return iy(n.initializer, a); case 209: case 208: return EE(n, a); default: return L.fail() } } function ay(n, a = 901119) { return n ? (n.flags & (2097152 | a)) === 2097152 || !!(n.flags & 2097152 && n.flags & 67108864) : !1 } function Ac(n, a) { return !a && ay(n) ? wc(n) : n } function wc(n) { L.assert((n.flags & 2097152) !== 0, "Should only get Alias here."); let a = Ai(n); if (a.aliasTarget) a.aliasTarget === En && (a.aliasTarget = Ht); else { a.aliasTarget = En; let c = Uu(n); if (!c) return L.fail(); let u = L_(c); a.aliasTarget === En ? a.aliasTarget = u || Ht : Fe(c, _.Circular_definition_of_import_alias_0, E(n)) } return a.aliasTarget } function tg(n) { if (Ai(n).aliasTarget !== En) return wc(n) } function Fl(n) { let a = n.flags, c; for (; n.flags & 2097152;) { let u = wc(n); if (u === Ht) return 67108863; if (u === n || c?.has(u)) break; u.flags & 2097152 && (c ? c.add(u) : c = new Set([n, u])), a |= u.flags, n = u } return a } function qf(n, a, c, u, p, h) { if (!n || br(n)) return !1; let T = fr(n); if (I0(n)) { let O = Ai(T); return O.typeOnlyDeclaration = n, !0 } if (p) { let O = Ai(T); return O.typeOnlyDeclaration = p, T.escapedName !== h && (O.typeOnlyExportStarName = h), !0 } let k = Ai(T); return bm(k, a, u) || bm(k, c, u) } function bm(n, a, c) { var u, p, h; if (a && (n.typeOnlyDeclaration === void 0 || c && n.typeOnlyDeclaration === !1)) { let T = (p = (u = a.exports) == null ? void 0 : u.get("export=")) != null ? p : a, k = T.declarations && wr(T.declarations, I0); n.typeOnlyDeclaration = (h = k ?? Ai(T).typeOnlyDeclaration) != null ? h : !1 } return !!n.typeOnlyDeclaration } function nd(n, a) { if (!(n.flags & 2097152)) return; let c = Ai(n); if (a === void 0) return c.typeOnlyDeclaration || void 0; if (c.typeOnlyDeclaration) { let u = c.typeOnlyDeclaration.kind === 275 ? Ac(sh(c.typeOnlyDeclaration.symbol.parent).get(c.typeOnlyExportStarName || n.escapedName)) : wc(c.typeOnlyDeclaration.symbol); return Fl(u) & a ? c.typeOnlyDeclaration : void 0 } } function TE(n) { if (Y.verbatimModuleSyntax) return; let a = fr(n), c = wc(a); c && (c === Ht || Fl(c) & 111551 && !MD(c) && !nd(a, 111551)) && Hb(a) } function Hb(n) { L.assert(!Y.verbatimModuleSyntax); let a = Ai(n); if (!a.referenced) { a.referenced = !0; let c = Uu(n); if (!c) return L.fail(); GA(c) && Fl(Ac(n)) & 111551 && Ic(c.moduleReference) } } function Wb(n) { let a = Ai(n); a.constEnumReferenced || (a.constEnumReferenced = !0) } function ep(n, a) { return n.kind === 79 && zI(n) && (n = n.parent), n.kind === 79 || n.parent.kind === 163 ? uc(n, 1920, !1, a) : (L.assert(n.parent.kind === 268), uc(n, 901119, !1, a)) } function rh(n, a) { return n.parent ? rh(n.parent, a) + "." + E(n) : E(n, a, void 0, 36) } function SE(n) { for (; Yu(n.parent);)n = n.parent; return n } function oy(n) { let a = Yd(n), c = zs(a, a.escapedText, 111551, void 0, a, !0); if (c) { for (; Yu(a.parent);) { let u = zn(c); if (c = ja(u, a.parent.right.escapedText), !c) return; a = a.parent } return c } } function uc(n, a, c, u, p) { if (rc(n)) return; let h = 1920 | (Yn(n) ? a & 111551 : 0), T; if (n.kind === 79) { let k = a === h || ws(n) ? _.Cannot_find_namespace_0 : L2e(Yd(n)), O = Yn(n) && !ws(n) ? ng(n, a) : void 0; if (T = No(zs(p || n, n.escapedText, a, c || O ? void 0 : k, n, !0, !1)), !T) return No(O) } else if (n.kind === 163 || n.kind === 208) { let k = n.kind === 163 ? n.left : n.expression, O = n.kind === 163 ? n.right : n.name, H = uc(k, h, c, !1, p); if (!H || rc(O)) return; if (H === Ht) return H; if (H.valueDeclaration && Yn(H.valueDeclaration) && $s(Y) !== 100 && wi(H.valueDeclaration) && H.valueDeclaration.initializer && dIe(H.valueDeclaration.initializer)) { let J = H.valueDeclaration.initializer.arguments[0], de = Gl(J, J); if (de) { let Ae = Vu(de); Ae && (H = Ae) } } if (T = No(yd(Gd(H), O.escapedText, a)), !T) { if (!c) { let J = rh(H), de = os(O), Ae = qB(O, H); if (Ae) { Fe(O, _._0_has_no_exported_member_named_1_Did_you_mean_2, J, de, E(Ae)); return } let xe = Yu(n) && SE(n); if (ka && a & 788968 && xe && !y2(xe.parent) && oy(xe)) { Fe(xe, _._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0, qd(xe)); return } if (a & 1920 && Yu(n.parent)) { let It = No(yd(Gd(H), O.escapedText, 788968)); if (It) { Fe(n.parent.right, _.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1, E(It), Gi(n.parent.right.escapedText)); return } } Fe(O, _.Namespace_0_has_no_exported_member_1, J, de) } return } } else throw L.assertNever(n, "Unknown entity name kind."); return L.assert((ac(T) & 1) === 0, "Should never get an instantiated symbol here."), !ws(n) && Cd(n) && (T.flags & 2097152 || n.parent.kind === 274) && qf(BH(n), T, void 0, !0), T.flags & a || u ? T : wc(T) } function ng(n, a) { if ($G(n.parent)) { let c = ih(n.parent); if (c) return zs(c, n.escapedText, a, void 0, n, !0) } } function ih(n) { if (jn(n, p => IA(p) || p.flags & 8388608 ? Ff(p) : "quit")) return; let c = dS(n); if (c && Ol(c) && nR(c.expression)) { let p = fr(c.expression.left); if (p) return Cv(p) } if (c && ms(c) && nR(c.parent) && Ol(c.parent.parent)) { let p = fr(c.parent.left); if (p) return Cv(p) } if (c && (s_(c) || yl(c)) && ar(c.parent.parent) && ic(c.parent.parent) === 6) { let p = fr(c.parent.parent.left); if (p) return Cv(p) } let u = WA(n); if (u && Ia(u)) { let p = fr(u); return p && p.valueDeclaration } } function Cv(n) { let a = n.parent.valueDeclaration; return a ? (RI(a) ? oS(a) : mT(a) ? $w(a) : void 0) || a : void 0 } function Iv(n) { let a = n.valueDeclaration; if (!a || !Yn(a) || n.flags & 524288 || ob(a, !1)) return; let c = wi(a) ? $w(a) : oS(a); if (c) { let u = vd(c); if (u) return oie(u, n) } } function Gl(n, a, c) { let p = $s(Y) === 1 ? _.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : _.Cannot_find_module_0_or_its_corresponding_type_declarations; return ah(n, a, c ? void 0 : p) } function ah(n, a, c, u = !1) { return es(a) ? qc(n, a.text, c, a, u) : void 0 } function qc(n, a, c, u, p = !1) { var h, T, k, O, H, J, de, Ae, xe; if (na(a, "@types/")) { let Cn = _.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1, Rn = QC(a, "@types/"); Fe(u, Cn, Rn, a) } let tt = tne(a, !0); if (tt) return tt; let It = Gn(n), Tn = es(n) ? n : ((h = jn(n, Dd)) == null ? void 0 : h.arguments[0]) || ((T = jn(n, gl)) == null ? void 0 : T.moduleSpecifier) || ((k = jn(n, ab)) == null ? void 0 : k.moduleReference.expression) || ((O = jn(n, Il)) == null ? void 0 : O.moduleSpecifier) || ((H = Tc(n) ? n : n.parent && Tc(n.parent) && n.parent.name === n ? n.parent : void 0) == null ? void 0 : H.name) || ((J = ib(n) ? n : void 0) == null ? void 0 : J.argument.literal), un = Tn && es(Tn) ? W_(It, Tn) : It.impliedNodeFormat, Nn = $s(Y), en = kA(It, a, un), cn = en && _q(Y, en, It), rr = en && (!cn || cn === _.Module_0_was_resolved_to_1_but_jsx_is_not_set) && e.getSourceFile(en.resolvedFileName); if (rr) { if (cn && Fe(u, cn, a, en.resolvedFileName), en.resolvedUsingTsExtension && Fu(a)) { let Cn = ((de = jn(n, gl)) == null ? void 0 : de.importClause) || jn(n, Kp(Nl, Il)); (Cn && !Cn.isTypeOnly || jn(n, Dd)) && Fe(u, _.A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead, Jt(L.checkDefined(r4(a)))) } else if (en.resolvedUsingTsExtension && !VL(Y, It.fileName)) { let Cn = L.checkDefined(r4(a)); Fe(u, _.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, Cn) } if (rr.symbol) { if (en.isExternalLibraryImport && !VR(en.extension) && xE(!1, u, It, un, en, a), Nn === 3 || Nn === 99) { let Cn = It.impliedNodeFormat === 1 && !jn(n, Dd) || !!jn(n, Nl), Rn = jn(n, Hr => Mh(Hr) || Il(Hr) || gl(Hr)), Br = Rn && Mh(Rn) ? (Ae = Rn.assertions) == null ? void 0 : Ae.assertClause : Rn?.assertClause; if (Cn && rr.impliedNodeFormat === 99 && !qS(Br)) if (jn(n, Nl)) Fe(u, _.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, a); else { let Hr, qi = Hm(It.fileName); if (qi === ".ts" || qi === ".js" || qi === ".tsx" || qi === ".jsx") { let wa = It.packageJsonScope, Xc = qi === ".ts" ? ".mts" : qi === ".js" ? ".mjs" : void 0; wa && !wa.contents.packageJsonContent.type ? Xc ? Hr = da(void 0, _.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, Xc, vi(wa.packageDirectory, "package.json")) : Hr = da(void 0, _.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0, vi(wa.packageDirectory, "package.json")) : Xc ? Hr = da(void 0, _.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module, Xc) : Hr = da(void 0, _.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module) } Lo.add(Lh(Gn(u), u, da(Hr, _.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead, a))) } } return No(rr.symbol) } c && Fe(u, _.File_0_is_not_a_module, rr.fileName); return } if (Ka) { let Cn = JU(Ka, Rn => Rn.pattern, a); if (Cn) { let Rn = vo && vo.get(a); return No(Rn || Cn.symbol) } } if (en && !VR(en.extension) && cn === void 0 || cn === _.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type) { if (p) { let Cn = _.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented; Fe(u, Cn, a, en.resolvedFileName) } else xE(ge && !!c, u, It, un, en, a); return } if (c) { if (en) { let Cn = e.getProjectReferenceRedirect(en.resolvedFileName); if (Cn) { Fe(u, _.Output_file_0_has_not_been_built_from_source_file_1, Cn, en.resolvedFileName); return } } if (cn) Fe(u, cn, a, en.resolvedFileName); else { let Cn = Jd(a) && !gA(a), Rn = Nn === 3 || Nn === 99; if (!RT(Y) && Gc(a, ".json") && Nn !== 1 && l4(Y)) Fe(u, _.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, a); else if (un === 99 && Rn && Cn) { let Br = _a(a, ni(It.path)), Hr = (xe = bx.find(([qi, wa]) => e.fileExists(Br + qi))) == null ? void 0 : xe[1]; Hr ? Fe(u, _.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0, a + Hr) : Fe(u, _.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path) } else Fe(u, c, a) } } return; function Jt(Cn) { let Rn = UR(a, Cn); if (SW(ie) || un === 99) { let Br = Fu(a) && VL(Y); return Rn + (Cn === ".mts" || Cn === ".d.mts" ? Br ? ".mts" : ".mjs" : Cn === ".cts" || Cn === ".d.mts" ? Br ? ".cts" : ".cjs" : Br ? ".ts" : ".js") } return Rn } } function xE(n, a, c, u, { packageId: p, resolvedFileName: h }, T) { var k, O; let H; if (!fl(T) && p) { let J = (O = (k = c.resolvedModules) == null ? void 0 : k.get(T, u)) == null ? void 0 : O.node10Result; H = J ? da(void 0, _.There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings, J, J.indexOf(Wg + "@types/") > -1 ? `@types/${UL(p.name)}` : p.name) : oh(p.name) ? da(void 0, _.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1, p.name, UL(p.name)) : zb(p.name) ? da(void 0, _.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1, p.name, T) : da(void 0, _.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0, T, UL(p.name)) } Ip(n, a, da(H, _.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type, T, h)) } function oh(n) { return t().has(rF(n)) } function zb(n) { return !!t().get(n) } function Vu(n, a) { if (n?.exports) { let c = Ac(n.exports.get("export="), a), u = Em(No(c), No(n)); return No(u) || n } } function Em(n, a) { if (!n || n === Ht || n === a || a.exports.size === 1 || n.flags & 2097152) return n; let c = Ai(n); if (c.cjsExportMerged) return c.cjsExportMerged; let u = n.flags & 33554432 ? n : Pb(n); return u.flags = u.flags | 512, u.exports === void 0 && (u.exports = Ua()), a.exports.forEach((p, h) => { h !== "export=" && u.exports.set(h, u.exports.has(h) ? C_(u.exports.get(h), p) : p) }), Ai(u).cjsExportMerged = u, c.cjsExportMerged = u } function Jb(n, a, c, u) { var p; let h = Vu(n, c); if (!c && h) { if (!u && !(h.flags & 1539) && !nc(h, 308)) { let k = ie >= 5 ? "allowSyntheticDefaultImports" : "esModuleInterop"; return Fe(a, _.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export, k), h } let T = a.parent; if (gl(T) && VA(T) || Dd(T)) { let k = Dd(T) ? T.arguments[0] : T.moduleSpecifier, O = zn(h), H = lIe(O, h, n, k); if (H) return Lv(h, H, T); let J = (p = n?.declarations) == null ? void 0 : p.find(Li), de = J && bE(ty(k), J.impliedNodeFormat); if (f_(Y) || de) { let Ae = nM(O, 0); if ((!Ae || !Ae.length) && (Ae = nM(O, 1)), Ae && Ae.length || ja(O, "default", !0) || de) { let xe = uIe(O, h, n, k); return Lv(h, xe, T) } } } } return h } function Lv(n, a, c) { let u = wo(n.flags, n.escapedName); u.declarations = n.declarations ? n.declarations.slice() : [], u.parent = n.parent, u.links.target = n, u.links.originatingImport = c, n.valueDeclaration && (u.valueDeclaration = n.valueDeclaration), n.constEnumOnlyModule && (u.constEnumOnlyModule = !0), n.members && (u.members = new Map(n.members)), n.exports && (u.exports = new Map(n.exports)); let p = R_(a); return u.links.type = ls(u, p.members, Je, Je, p.indexInfos), u } function AE(n) { return n.exports.get("export=") !== void 0 } function sy(n) { return ene(sh(n)) } function C1(n) { let a = sy(n), c = Vu(n); if (c !== n) { let u = zn(c); CE(u) && si(a, Jo(u)) } return a } function kv(n, a) { sh(n).forEach((p, h) => { LE(h) || a(p, h) }); let u = Vu(n); if (u !== n) { let p = zn(u); CE(p) && MJe(p, (h, T) => { a(h, T) }) } } function rg(n, a) { let c = sh(a); if (c) return c.get(n) } function of(n, a) { let c = rg(n, a); if (c) return c; let u = Vu(a); if (u === a) return; let p = zn(u); return CE(p) ? ja(p, n) : void 0 } function CE(n) { return !(n.flags & 134348796 || Ur(n) & 1 || _f(n) || po(n)) } function Gd(n) { return n.flags & 6256 ? Mte(n, "resolvedExports") : n.flags & 1536 ? sh(n) : n.exports || q } function sh(n) { let a = Ai(n); if (!a.resolvedExports) { let { exports: c, typeOnlyExportStarMap: u } = Dx(n); a.resolvedExports = c, a.typeOnlyExportStarMap = u } return a.resolvedExports } function Dv(n, a, c, u) { a && a.forEach((p, h) => { if (h === "default") return; let T = n.get(h); if (!T) n.set(h, p), c && u && c.set(h, { specifierText: Qc(u.moduleSpecifier) }); else if (c && u && T && Ac(T) !== Ac(p)) { let k = c.get(h); k.exportsWithDuplicate ? k.exportsWithDuplicate.push(u) : k.exportsWithDuplicate = [u] } }) } function Dx(n) { let a = [], c, u = new Set; n = Vu(n); let p = h(n) || q; return c && u.forEach(T => c.delete(T)), { exports: p, typeOnlyExportStarMap: c }; function h(T, k, O) { if (!O && T?.exports && T.exports.forEach((de, Ae) => u.add(Ae)), !(T && T.exports && Of(a, T))) return; let H = new Map(T.exports), J = T.exports.get("__export"); if (J) { let de = Ua(), Ae = new Map; if (J.declarations) for (let xe of J.declarations) { let tt = Gl(xe, xe.moduleSpecifier), It = h(tt, xe, O || xe.isTypeOnly); Dv(de, It, Ae, xe) } Ae.forEach(({ exportsWithDuplicate: xe }, tt) => { if (!(tt === "export=" || !(xe && xe.length) || H.has(tt))) for (let It of xe) Lo.add(hr(It, _.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity, Ae.get(tt).specifierText, Gi(tt))) }), Dv(H, de) } return k?.isTypeOnly && (c ?? (c = new Map), H.forEach((de, Ae) => c.set(Ae, k))), H } } function No(n) { let a; return n && n.mergeId && (a = gv[n.mergeId]) ? a : n } function fr(n) { return No(n.symbol && zG(n.symbol)) } function vd(n) { return $p(n) ? fr(n) : void 0 } function ju(n) { return No(n.parent && zG(n.parent)) } function I1(n, a) { let c = Gn(a), u = zo(c), p = Ai(n), h; if (p.extendedContainersByFile && (h = p.extendedContainersByFile.get(u))) return h; if (c && c.imports) { for (let k of c.imports) { if (ws(k)) continue; let O = Gl(a, k, !0); !O || !ly(O, n) || (h = Sn(h, O)) } if (Fn(h)) return (p.extendedContainersByFile || (p.extendedContainersByFile = new Map)).set(u, h), h } if (p.extendedContainers) return p.extendedContainers; let T = e.getSourceFiles(); for (let k of T) { if (!Lc(k)) continue; let O = fr(k); ly(O, n) && (h = Sn(h, O)) } return p.extendedContainers = h || Je } function IE(n, a, c) { let u = ju(n); if (u && !(n.flags & 262144)) { let T = Zi(u.declarations, h), k = a && I1(n, a), O = cy(u, c); if (a && u.flags & og(c) && Rv(u, a, 1920, !1)) return Sn(Qi(Qi([u], T), k), O); let H = !(u.flags & og(c)) && u.flags & 788968 && gs(u).flags & 524288 && c === 111551 ? DE(a, de => Ld(de, Ae => { if (Ae.flags & og(c) && zn(Ae) === gs(u)) return Ae })) : void 0, J = H ? [H, ...T, u] : [...T, u]; return J = Sn(J, O), J = si(J, k), J } let p = Zi(n.declarations, T => { if (!lu(T) && T.parent) { if (sg(T.parent)) return fr(T.parent); if (Tp(T.parent) && T.parent.parent && Vu(fr(T.parent.parent)) === n) return fr(T.parent.parent) } if (_u(T) && ar(T.parent) && T.parent.operatorToken.kind === 63 && Us(T.parent.left) && bc(T.parent.left.expression)) return Bm(T.parent.left) || TT(T.parent.left.expression) ? fr(Gn(T)) : (Ic(T.parent.left.expression), Rr(T.parent.left.expression).resolvedSymbol) }); if (!Fn(p)) return; return Zi(p, T => ly(T, n) ? T : void 0); function h(T) { return u && wx(T, u) } } function cy(n, a) { let c = !!Fn(n.declarations) && Vo(n.declarations); if (a & 111551 && c && c.parent && wi(c.parent) && (rs(c) && c === c.parent.initializer || Rd(c) && c === c.parent.type)) return fr(c.parent) } function wx(n, a) { let c = lh(n), u = c && c.exports && c.exports.get("export="); return u && wp(u, a) ? c : void 0 } function ly(n, a) { if (n === ju(a)) return a; let c = n.exports && n.exports.get("export="); if (c && wp(c, a)) return n; let u = Gd(n), p = u.get(a.escapedName); return p && wp(p, a) ? p : Ld(u, h => { if (wp(h, a)) return h }) } function wp(n, a) { if (No(Ac(No(n))) === No(Ac(No(a)))) return n } function tp(n) { return No(n && (n.flags & 1048576) !== 0 && n.exportSymbol || n) } function ig(n, a) { return !!(n.flags & 111551 || n.flags & 2097152 && Fl(n) & 111551 && (a || !nd(n))) } function wv(n) { let a = n.members; for (let c of a) if (c.kind === 173 && Pf(c.body)) return c } function ch(n) { var a; let c = new g(qe, n); return v++, c.id = v, (a = ai) == null || a.recordType(c), c } function Rp(n, a) { let c = ch(n); return c.symbol = a, c } function L1(n) { return new g(qe, n) } function Cc(n, a, c = 0) { let u = ch(n); return u.intrinsicName = a, u.objectFlags = c, u } function Bd(n, a) { let c = Rp(524288, a); return c.objectFlags = n, c.members = void 0, c.properties = void 0, c.callSignatures = void 0, c.constructSignatures = void 0, c.indexInfos = void 0, c } function Tm() { return Gr(lo(fF.keys(), ff)) } function rd(n) { return Rp(262144, n) } function LE(n) { return n.charCodeAt(0) === 95 && n.charCodeAt(1) === 95 && n.charCodeAt(2) !== 95 && n.charCodeAt(2) !== 64 && n.charCodeAt(2) !== 35 } function uy(n) { let a; return n.forEach((c, u) => { ag(c, u) && (a || (a = [])).push(c) }), a || Je } function ag(n, a) { return !LE(a) && ig(n) } function Rx(n) { let a = uy(n), c = ane(n); return c ? Qi(a, [c]) : a } function sf(n, a, c, u, p) { let h = n; return h.members = a, h.properties = Je, h.callSignatures = c, h.constructSignatures = u, h.indexInfos = p, a !== q && (h.properties = uy(a)), h } function ls(n, a, c, u, p) { return sf(Bd(16, n), a, c, u, p) } function kE(n) { if (n.constructSignatures.length === 0) return n; if (n.objectTypeWithoutAbstractConstructSignatures) return n.objectTypeWithoutAbstractConstructSignatures; let a = Pr(n.constructSignatures, u => !(u.flags & 4)); if (n.constructSignatures === a) return n; let c = ls(n.symbol, n.members, n.callSignatures, vt(a) ? a : Je, n.indexInfos); return n.objectTypeWithoutAbstractConstructSignatures = c, c.objectTypeWithoutAbstractConstructSignatures = c, c } function DE(n, a) { let c; for (let u = n; u; u = u.parent) { if (Qp(u) && u.locals && !gm(u) && (c = a(u.locals, void 0, !0, u))) return c; switch (u.kind) { case 308: if (!kd(u)) break; case 264: let p = fr(u); if (c = a(p?.exports || q, void 0, !0, u)) return c; break; case 260: case 228: case 261: let h; if ((fr(u).members || q).forEach((T, k) => { T.flags & 788968 && (h || (h = Ua())).set(k, T) }), h && (c = a(h, void 0, !1, u))) return c; break } } return a(Ne, void 0, !0) } function og(n) { return n === 111551 ? 111551 : 1920 } function Rv(n, a, c, u, p = new Map) { if (!(n && !wE(n))) return; let h = Ai(n), T = h.accessibleChainCache || (h.accessibleChainCache = new Map), k = DE(a, (un, Nn, en, cn) => cn), O = `${u ? 0 : 1}|${k && zo(k)}|${c}`; if (T.has(O)) return T.get(O); let H = $a(n), J = p.get(H); J || p.set(H, J = []); let de = DE(a, Ae); return T.set(O, de), de; function Ae(un, Nn, en) { if (!Of(J, un)) return; let cn = It(un, Nn, en); return J.pop(), cn } function xe(un, Nn) { return !k1(un, a, Nn) || !!Rv(un.parent, a, og(Nn), u, p) } function tt(un, Nn, en) { return (n === (Nn || un) || No(n) === No(Nn || un)) && !vt(un.declarations, sg) && (en || xe(No(un), c)) } function It(un, Nn, en) { return tt(un.get(n.escapedName), void 0, Nn) ? [n] : Ld(un, rr => { if (rr.flags & 2097152 && rr.escapedName !== "export=" && rr.escapedName !== "default" && !(o4(rr) && a && Lc(Gn(a))) && (!u || vt(rr.declarations, ab)) && (!en || !vt(rr.declarations, cce)) && (Nn || !nc(rr, 278))) { let Jt = wc(rr), Cn = Tn(rr, Jt, Nn); if (Cn) return Cn } if (rr.escapedName === n.escapedName && rr.exportSymbol && tt(No(rr.exportSymbol), void 0, Nn)) return [n] }) || (un === Ne ? Tn(Ye, Ye, Nn) : void 0) } function Tn(un, Nn, en) { if (tt(un, Nn, en)) return [un]; let cn = Gd(Nn), rr = cn && Ae(cn, !0); if (rr && xe(un, og(c))) return [un].concat(rr) } } function k1(n, a, c) { let u = !1; return DE(a, p => { let h = No(p.get(n.escapedName)); if (!h) return !1; if (h === n) return !0; let T = h.flags & 2097152 && !nc(h, 278); return h = T ? wc(h) : h, (T ? Fl(h) : h.flags) & c ? (u = !0, !0) : !1 }), u } function wE(n) { if (n.declarations && n.declarations.length) { for (let a of n.declarations) switch (a.kind) { case 169: case 171: case 174: case 175: continue; default: return !1 }return !0 } return !1 } function RE(n, a) { return bd(n, a, 788968, !1, !0).accessibility === 0 } function OE(n, a) { return bd(n, a, 111551, !1, !0).accessibility === 0 } function NE(n, a, c) { return bd(n, a, c, !1, !1).accessibility === 0 } function PE(n, a, c, u, p, h) { if (!Fn(n)) return; let T, k = !1; for (let O of n) { let H = Rv(O, a, u, !1); if (H) { T = O; let Ae = Ox(H[0], p); if (Ae) return Ae } if (h && vt(O.declarations, sg)) { if (p) { k = !0; continue } return { accessibility: 0 } } let J = IE(O, a, u), de = PE(J, a, c, c === O ? og(u) : u, p, h); if (de) return de } if (k) return { accessibility: 0 }; if (T) return { accessibility: 1, errorSymbolName: E(c, a, u), errorModuleName: T !== c ? E(T, a, 1920) : void 0 } } function dy(n, a, c, u) { return bd(n, a, c, u, !0) } function bd(n, a, c, u, p) { if (n && a) { let h = PE([n], a, n, c, u, p); if (h) return h; let T = mn(n.declarations, lh); if (T) { let k = lh(a); if (T !== k) return { accessibility: 2, errorSymbolName: E(n, a, c), errorModuleName: E(T), errorNode: Yn(a) ? a : void 0 } } return { accessibility: 1, errorSymbolName: E(n, a, c) } } return { accessibility: 0 } } function lh(n) { let a = jn(n, dC); return a && fr(a) } function dC(n) { return lu(n) || n.kind === 308 && kd(n) } function sg(n) { return b6(n) || n.kind === 308 && kd(n) } function Ox(n, a) { let c; if (!Ji(Pr(n.declarations, h => h.kind !== 79), u)) return; return { accessibility: 0, aliasesToMakeVisible: c }; function u(h) { var T, k; if (!Xf(h)) { let O = x1(h); if (O && !Mr(O, 1) && Xf(O.parent)) return p(h, O); if (wi(h) && Bc(h.parent.parent) && !Mr(h.parent.parent, 1) && Xf(h.parent.parent.parent)) return p(h, h.parent.parent); if (E6(h) && !Mr(h, 1) && Xf(h.parent)) return p(h, h); if (Wo(h)) { if (n.flags & 2097152 && Yn(h) && ((T = h.parent) != null && T.parent) && wi(h.parent.parent) && ((k = h.parent.parent.parent) != null && k.parent) && Bc(h.parent.parent.parent.parent) && !Mr(h.parent.parent.parent.parent, 1) && h.parent.parent.parent.parent.parent && Xf(h.parent.parent.parent.parent.parent)) return p(h, h.parent.parent.parent.parent); if (n.flags & 2) { let H = jn(h, Bc); return Mr(H, 1) ? !0 : Xf(H.parent) ? p(h, H) : !1 } } return !1 } return !0 } function p(h, T) { return a && (Rr(h).isVisible = !0, c = xg(c, T)), !0 } } function Nx(n, a) { let c; n.parent.kind === 183 || n.parent.kind === 230 && !Gm(n.parent) || n.parent.kind === 164 ? c = 1160127 : n.kind === 163 || n.kind === 208 || n.parent.kind === 268 ? c = 1920 : c = 788968; let u = Yd(n), p = zs(a, u.escapedText, c, void 0, void 0, !1); return p && p.flags & 262144 && c & 788968 ? { accessibility: 0 } : !p && LT(u) && dy(fr(Ku(u, !1, !1)), u, c, !1).accessibility === 0 ? { accessibility: 0 } : p && Ox(p, !0) || { accessibility: 1, errorSymbolName: Qc(u), errorNode: u } } function E(n, a, c, u = 4, p) { let h = 70221824; u & 2 && (h |= 128), u & 1 && (h |= 512), u & 8 && (h |= 16384), u & 32 && (h |= 134217728), u & 16 && (h |= 1073741824); let T = u & 4 ? Be.symbolToNode : Be.symbolToEntityName; return p ? k(p).getText() : SI(k); function k(O) { let H = T(n, c, a, h), J = a?.kind === 308 ? XK() : rE(), de = a && Gn(a); return J.writeNode(4, H, de, O), O } } function ne(n, a, c = 0, u, p) { return p ? h(p).getText() : SI(h); function h(T) { let k; c & 262144 ? k = u === 1 ? 182 : 181 : k = u === 1 ? 177 : 176; let O = Be.signatureToSignatureDeclaration(n, k, a, qr(c) | 70221824 | 512), H = fN(), J = a && Gn(a); return H.writeNode(4, O, J, XH(T)), T } } function Ee(n, a, c = 1064960, u = SR("")) { let p = Y.noErrorTruncation || c & 1, h = Be.typeToTypeNode(n, a, qr(c) | 70221824 | (p ? 1 : 0)); if (h === void 0) return L.fail("should always get typenode"); let T = n !== nt ? rE() : qK(), k = a && Gn(a); T.writeNode(4, h, k, u); let O = u.getText(), H = p ? x4 * 2 : KR * 2; return H && O && O.length >= H ? O.substr(0, H - 3) + "..." : O } function Wt(n, a) { let c = ci(n.symbol) ? Ee(n, n.symbol.valueDeclaration) : Ee(n), u = ci(a.symbol) ? Ee(a, a.symbol.valueDeclaration) : Ee(a); return c === u && (c = lr(n), u = lr(a)), [c, u] } function lr(n) { return Ee(n, void 0, 64) } function ci(n) { return n && !!n.valueDeclaration && ot(n.valueDeclaration) && !$f(n.valueDeclaration) } function qr(n = 0) { return n & 848330091 } function Ti(n) { return !!n.symbol && !!(n.symbol.flags & 32) && (n === vu(n.symbol) || !!(n.flags & 524288) && !!(Ur(n) & 16777216)) } function Wa() {
-                    return { typeToTypeNode: (et, he, Bn, Mn) => a(he, Bn, Mn, or => u(et, or)), indexInfoToIndexSignatureDeclaration: (et, he, Bn, Mn) => a(he, Bn, Mn, or => J(et, or, void 0)), signatureToSignatureDeclaration: (et, he, Bn, Mn, or) => a(Bn, Mn, or, _r => de(et, he, _r)), symbolToEntityName: (et, he, Bn, Mn, or) => a(Bn, Mn, or, _r => qi(et, _r, he, !1)), symbolToExpression: (et, he, Bn, Mn, or) => a(Bn, Mn, or, _r => wa(et, _r, he)), symbolToTypeParameterDeclarations: (et, he, Bn, Mn) => a(he, Bn, Mn, or => en(et, or)), symbolToParameterDeclaration: (et, he, Bn, Mn) => a(he, Bn, Mn, or => It(et, or)), typeParameterToDeclaration: (et, he, Bn, Mn) => a(he, Bn, Mn, or => tt(et, or)), symbolTableToDeclarationStatements: (et, he, Bn, Mn, or) => a(he, Bn, Mn, _r => Tu(et, _r, or)), symbolToNode: (et, he, Bn, Mn, or) => a(Bn, Mn, or, _r => n(et, _r, he)) }; function n(et, he, Bn) { if (he.flags & 1073741824) { if (et.valueDeclaration) { let or = sa(et.valueDeclaration); if (or && ts(or)) return or } let Mn = Ai(et).nameType; if (Mn && Mn.flags & 9216) return he.enclosingDeclaration = Mn.symbol.valueDeclaration, D.createComputedPropertyName(wa(Mn.symbol, he, Bn)) } return wa(et, he, Bn) } function a(et, he, Bn, Mn) { L.assert(et === void 0 || (et.flags & 8) === 0); let or = Bn?.trackSymbol ? Bn.moduleResolverHost : he & 134217728 ? hPe(e) : void 0, _r = { enclosingDeclaration: et, flags: he || 0, tracker: void 0, encounteredError: !1, reportedDiagnostic: !1, visitedTypes: void 0, symbolDepth: void 0, inferTypeParameters: void 0, approximateLength: 0 }; _r.tracker = new iN(_r, Bn, or); let ua = Mn(_r); return _r.truncating && _r.flags & 1 && _r.tracker.reportTruncationError(), _r.encounteredError ? void 0 : ua } function c(et) { return et.truncating ? et.truncating : et.truncating = et.approximateLength > (et.flags & 1 ? x4 : KR) } function u(et, he) { let Bn = he.flags, Mn = p(et, he); return he.flags = Bn, Mn } function p(et, he) { var Bn, Mn; o && o.throwIfCancellationRequested && o.throwIfCancellationRequested(); let or = he.flags & 8388608; if (he.flags &= -8388609, !et) { if (!(he.flags & 262144)) { he.encounteredError = !0; return } return he.approximateLength += 3, D.createKeywordTypeNode(131) } if (he.flags & 536870912 || (et = O_(et)), et.flags & 1) return et.aliasSymbol ? D.createTypeReferenceNode(Cn(et.aliasSymbol), O(et.aliasTypeArguments, he)) : et === nt ? nO(D.createKeywordTypeNode(131), 3, "unresolved") : (he.approximateLength += 3, D.createKeywordTypeNode(et === Q ? 139 : 131)); if (et.flags & 2) return D.createKeywordTypeNode(157); if (et.flags & 4) return he.approximateLength += 6, D.createKeywordTypeNode(152); if (et.flags & 8) return he.approximateLength += 6, D.createKeywordTypeNode(148); if (et.flags & 64) return he.approximateLength += 6, D.createKeywordTypeNode(160); if (et.flags & 16 && !et.aliasSymbol) return he.approximateLength += 7, D.createKeywordTypeNode(134); if (et.flags & 1056) { if (et.symbol.flags & 8) { let Xt = ju(et.symbol), er = Rn(Xt, he, 788968); if (gs(Xt) === et) return er; let Sr = fc(et.symbol); return i_(Sr, 0) ? Un(er, D.createTypeReferenceNode(Sr, void 0)) : Mh(er) ? (er.isTypeOf = !0, D.createIndexedAccessTypeNode(er, D.createLiteralTypeNode(D.createStringLiteral(Sr)))) : m_(er) ? D.createIndexedAccessTypeNode(D.createTypeQueryNode(er.typeName), D.createLiteralTypeNode(D.createStringLiteral(Sr))) : L.fail("Unhandled type node kind returned from `symbolToTypeNode`.") } return Rn(et.symbol, he, 788968) } if (et.flags & 128) return he.approximateLength += et.value.length + 2, D.createLiteralTypeNode(Jn(D.createStringLiteral(et.value, !!(he.flags & 268435456)), 33554432)); if (et.flags & 256) { let Xt = et.value; return he.approximateLength += ("" + Xt).length, D.createLiteralTypeNode(Xt < 0 ? D.createPrefixUnaryExpression(40, D.createNumericLiteral(-Xt)) : D.createNumericLiteral(Xt)) } if (et.flags & 2048) return he.approximateLength += j0(et.value).length + 1, D.createLiteralTypeNode(D.createBigIntLiteral(et.value)); if (et.flags & 512) return he.approximateLength += et.intrinsicName.length, D.createLiteralTypeNode(et.intrinsicName === "true" ? D.createTrue() : D.createFalse()); if (et.flags & 8192) { if (!(he.flags & 1048576)) { if (OE(et.symbol, he.enclosingDeclaration)) return he.approximateLength += 6, Rn(et.symbol, he, 111551); he.tracker.reportInaccessibleUniqueSymbolError && he.tracker.reportInaccessibleUniqueSymbolError() } return he.approximateLength += 13, D.createTypeOperatorNode(156, D.createKeywordTypeNode(153)) } if (et.flags & 16384) return he.approximateLength += 4, D.createKeywordTypeNode(114); if (et.flags & 32768) return he.approximateLength += 9, D.createKeywordTypeNode(155); if (et.flags & 65536) return he.approximateLength += 4, D.createLiteralTypeNode(D.createNull()); if (et.flags & 131072) return he.approximateLength += 5, D.createKeywordTypeNode(144); if (et.flags & 4096) return he.approximateLength += 6, D.createKeywordTypeNode(153); if (et.flags & 67108864) return he.approximateLength += 6, D.createKeywordTypeNode(149); if (lL(et)) return he.flags & 4194304 && (!he.encounteredError && !(he.flags & 32768) && (he.encounteredError = !0), (Mn = (Bn = he.tracker).reportInaccessibleThisError) == null || Mn.call(Bn)), he.approximateLength += 4, D.createThisTypeNode(); if (!or && et.aliasSymbol && (he.flags & 16384 || RE(et.aliasSymbol, he.enclosingDeclaration))) { let Xt = O(et.aliasTypeArguments, he); return LE(et.aliasSymbol.escapedName) && !(et.aliasSymbol.flags & 32) ? D.createTypeReferenceNode(D.createIdentifier(""), Xt) : Fn(Xt) === 1 && et.aliasSymbol === $o.symbol ? D.createArrayTypeNode(Xt[0]) : Rn(et.aliasSymbol, he, 788968, Xt) } let _r = Ur(et); if (_r & 4) return L.assert(!!(et.flags & 524288)), et.node ? Bt(et, hn) : hn(et); if (et.flags & 262144 || _r & 3) { if (et.flags & 262144 && ya(he.inferTypeParameters, et)) { he.approximateLength += fc(et.symbol).length + 6; let er, Sr = eu(et); if (Sr) { let Dr = jxe(et, !0); Dr && ph(Sr, Dr) || (he.approximateLength += 9, er = Sr && u(Sr, he)) } return D.createInferTypeNode(xe(et, he, er)) } if (he.flags & 4 && et.flags & 262144 && !RE(et.symbol, he.enclosingDeclaration)) { let er = Hr(et, he); return he.approximateLength += vr(er).length, D.createTypeReferenceNode(D.createIdentifier(vr(er)), void 0) } if (et.symbol) return Rn(et.symbol, he, 788968); let Xt = (et === ss || et === qs) && F && F.symbol ? (et === qs ? "sub-" : "super-") + fc(F.symbol) : "?"; return D.createTypeReferenceNode(D.createIdentifier(Xt), void 0) } if (et.flags & 1048576 && et.origin && (et = et.origin), et.flags & 3145728) { let Xt = et.flags & 1048576 ? Ed(et.types) : et.types; if (Fn(Xt) === 1) return u(Xt[0], he); let er = O(Xt, he, !0); if (er && er.length > 0) return et.flags & 1048576 ? D.createUnionTypeNode(er) : D.createIntersectionTypeNode(er); !he.encounteredError && !(he.flags & 262144) && (he.encounteredError = !0); return } if (_r & 48) return L.assert(!!(et.flags & 524288)), Ct(et); if (et.flags & 4194304) { let Xt = et.type; he.approximateLength += 6; let er = u(Xt, he); return D.createTypeOperatorNode(141, er) } if (et.flags & 134217728) { let Xt = et.texts, er = et.types, Sr = D.createTemplateHead(Xt[0]), Dr = D.createNodeArray(on(er, (Ii, Bo) => D.createTemplateLiteralTypeSpan(u(Ii, he), (Bo < er.length - 1 ? D.createTemplateMiddle : D.createTemplateTail)(Xt[Bo + 1])))); return he.approximateLength += 2, D.createTemplateLiteralType(Sr, Dr) } if (et.flags & 268435456) { let Xt = u(et.type, he); return Rn(et.symbol, he, 788968, [Xt]) } if (et.flags & 8388608) { let Xt = u(et.objectType, he), er = u(et.indexType, he); return he.approximateLength += 2, D.createIndexedAccessTypeNode(Xt, er) } if (et.flags & 16777216) return Bt(et, Xt => ua(Xt)); if (et.flags & 33554432) return u(et.baseType, he); return L.fail("Should be unreachable."); function ua(Xt) { let er = u(Xt.checkType, he); if (he.approximateLength += 15, he.flags & 4 && Xt.root.isDistributive && !(Xt.checkType.flags & 262144)) { let ys = rd(wo(262144, "T")), ds = Hr(ys, he), Bl = D.createTypeReferenceNode(ds); he.approximateLength += 37; let ze = O1(Xt.root.checkType, ys, Xt.mapper), dt = he.inferTypeParameters; he.inferTypeParameters = Xt.root.inferTypeParameters; let Ut = u(Oi(Xt.root.extendsType, ze), he); he.inferTypeParameters = dt; let wn = _i(Oi($r(Xt.root.node.trueType), ze)), Zn = _i(Oi($r(Xt.root.node.falseType), ze)); return D.createConditionalTypeNode(er, D.createInferTypeNode(D.createTypeParameterDeclaration(void 0, D.cloneNode(Bl.typeName))), D.createConditionalTypeNode(D.createTypeReferenceNode(D.cloneNode(ds)), u(Xt.checkType, he), D.createConditionalTypeNode(Bl, Ut, wn, Zn), D.createKeywordTypeNode(144)), D.createKeywordTypeNode(144)) } let Sr = he.inferTypeParameters; he.inferTypeParameters = Xt.root.inferTypeParameters; let Dr = u(Xt.extendsType, he); he.inferTypeParameters = Sr; let Ii = _i(Hv(Xt)), Bo = _i(Wv(Xt)); return D.createConditionalTypeNode(er, Dr, Ii, Bo) } function _i(Xt) { var er, Sr, Dr; return Xt.flags & 1048576 ? (er = he.visitedTypes) != null && er.has(ru(Xt)) ? (he.flags & 131072 || (he.encounteredError = !0, (Dr = (Sr = he.tracker) == null ? void 0 : Sr.reportCyclicStructureError) == null || Dr.call(Sr)), h(he)) : Bt(Xt, Ii => u(Ii, he)) : u(Xt, he) } function ur(Xt) { return Yk(Xt) && !(yC(Xt).flags & 262144) } function st(Xt) { L.assert(!!(Xt.flags & 524288)); let er = Xt.declaration.readonlyToken ? D.createToken(Xt.declaration.readonlyToken.kind) : void 0, Sr = Xt.declaration.questionToken ? D.createToken(Xt.declaration.questionToken.kind) : void 0, Dr, Ii; if (Yk(Xt)) { if (ur(Xt) && he.flags & 4) { let dt = rd(wo(262144, "T")), Ut = Hr(dt, he); Ii = D.createTypeReferenceNode(Ut) } Dr = D.createTypeOperatorNode(141, Ii || u(yC(Xt), he)) } else Dr = u(rp(Xt), he); let Bo = xe(w_(Xt), he, Dr), ys = Xt.declaration.nameType ? u(by(Xt), he) : void 0, ds = u(KE(_h(Xt), !!(Pp(Xt) & 4)), he), Bl = D.createMappedTypeNode(er, Bo, ys, Sr, ds, void 0); he.approximateLength += 10; let ze = Jn(Bl, 1); if (ur(Xt) && he.flags & 4) { let dt = Oi(eu($r(Xt.declaration.typeParameter.constraint.type)) || ue, Xt.mapper); return D.createConditionalTypeNode(u(yC(Xt), he), D.createInferTypeNode(D.createTypeParameterDeclaration(void 0, D.cloneNode(Ii.typeName), dt.flags & 2 ? void 0 : u(dt, he))), ze, D.createKeywordTypeNode(144)) } return ze } function Ct(Xt) { var er, Sr; let Dr = Xt.id, Ii = Xt.symbol; if (Ii) { let ys = Ti(Xt) ? 788968 : 111551; if (cp(Ii.valueDeclaration)) return Rn(Ii, he, ys); if (Ii.flags & 32 && !Da(Ii) && !(Ii.valueDeclaration && Yr(Ii.valueDeclaration) && he.flags & 2048 && (!sl(Ii.valueDeclaration) || dy(Ii, he.enclosingDeclaration, ys, !1).accessibility !== 0)) || Ii.flags & 896 || Bo()) return Rn(Ii, he, ys); if ((er = he.visitedTypes) != null && er.has(Dr)) { let ds = fy(Xt); return ds ? Rn(ds, he, 788968) : h(he) } else return Bt(Xt, Ft) } else { if (!!(Ur(Xt) & 8388608)) { let ds = Xt; if (vL(ds.node)) { let Bl = no(he, ds.node); if (Bl) return Bl } return (Sr = he.visitedTypes) != null && Sr.has(Dr) ? h(he) : Bt(Xt, Ft) } return Ft(Xt) } function Bo() { var ys; let ds = !!(Ii.flags & 8192) && vt(Ii.declarations, ze => Ca(ze)), Bl = !!(Ii.flags & 16) && (Ii.parent || mn(Ii.declarations, ze => ze.parent.kind === 308 || ze.parent.kind === 265)); if (ds || Bl) return (!!(he.flags & 4096) || ((ys = he.visitedTypes) == null ? void 0 : ys.has(Dr))) && (!(he.flags & 8) || OE(Ii, he.enclosingDeclaration)) } } function Bt(Xt, er) { var Sr, Dr; let Ii = Xt.id, Bo = Ur(Xt) & 16 && Xt.symbol && Xt.symbol.flags & 32, ys = Ur(Xt) & 4 && Xt.node ? "N" + zo(Xt.node) : Xt.flags & 16777216 ? "N" + zo(Xt.root.node) : Xt.symbol ? (Bo ? "+" : "") + $a(Xt.symbol) : void 0; he.visitedTypes || (he.visitedTypes = new Set), ys && !he.symbolDepth && (he.symbolDepth = new Map); let ds = he.enclosingDeclaration && Rr(he.enclosingDeclaration), Bl = `${ru(Xt)}|${he.flags}`; ds && (ds.serializedTypes || (ds.serializedTypes = new Map)); let ze = (Sr = ds?.serializedTypes) == null ? void 0 : Sr.get(Bl); if (ze) return ze.truncating && (he.truncating = !0), he.approximateLength += ze.addedLength, fn(ze.node); let dt; if (ys) { if (dt = he.symbolDepth.get(ys) || 0, dt > 10) return h(he); he.symbolDepth.set(ys, dt + 1) } he.visitedTypes.add(Ii); let Ut = he.approximateLength, wn = er(Xt), Zn = he.approximateLength - Ut; return !he.reportedDiagnostic && !he.encounteredError && ((Dr = ds?.serializedTypes) == null || Dr.set(Bl, { node: wn, truncating: he.truncating, addedLength: Zn })), he.visitedTypes.delete(Ii), ys && he.symbolDepth.set(ys, dt), wn; function fn(Ar) { return !ws(Ar) && ea(Ar) === Ar ? Ar : it(D.cloneNode(xn(Ar, fn, Bh, sr)), Ar) } function sr(Ar, Ei, ia, Aa, Ra) { return Ar && Ar.length === 0 ? it(D.createNodeArray(void 0, Ar.hasTrailingComma), Ar) : On(Ar, Ei, ia, Aa, Ra) } } function Ft(Xt) { if (df(Xt) || Xt.containsError) return st(Xt); let er = R_(Xt); if (!er.properties.length && !er.indexInfos.length) { if (!er.callSignatures.length && !er.constructSignatures.length) return he.approximateLength += 2, Jn(D.createTypeLiteralNode(void 0), 1); if (er.callSignatures.length === 1 && !er.constructSignatures.length) { let ys = er.callSignatures[0]; return de(ys, 181, he) } if (er.constructSignatures.length === 1 && !er.callSignatures.length) { let ys = er.constructSignatures[0]; return de(ys, 182, he) } } let Sr = Pr(er.constructSignatures, ys => !!(ys.flags & 4)); if (vt(Sr)) { let ys = on(Sr, HE); return er.callSignatures.length + (er.constructSignatures.length - Sr.length) + er.indexInfos.length + (he.flags & 2048 ? Oy(er.properties, Bl => !(Bl.flags & 4194304)) : Fn(er.properties)) && ys.push(kE(er)), u(so(ys), he) } let Dr = he.flags; he.flags |= 4194304; let Ii = Di(er); he.flags = Dr; let Bo = D.createTypeLiteralNode(Ii); return he.approximateLength += 2, Jn(Bo, he.flags & 1024 ? 0 : 1), Bo } function hn(Xt) { let er = Ko(Xt); if (Xt.target === $o || Xt.target === jo) { if (he.flags & 2) { let Ii = u(er[0], he); return D.createTypeReferenceNode(Xt.target === $o ? "Array" : "ReadonlyArray", [Ii]) } let Sr = u(er[0], he), Dr = D.createArrayTypeNode(Sr); return Xt.target === $o ? Dr : D.createTypeOperatorNode(146, Dr) } else if (Xt.target.objectFlags & 8) { if (er = Tl(er, (Sr, Dr) => KE(Sr, !!(Xt.target.elementFlags[Dr] & 2))), er.length > 0) { let Sr = Vv(Xt), Dr = O(er.slice(0, Sr), he); if (Dr) { if (Xt.target.labeledElementDeclarations) for (let Bo = 0; Bo < Dr.length; Bo++) { let ys = Xt.target.elementFlags[Bo]; Dr[Bo] = D.createNamedTupleMember(ys & 12 ? D.createToken(25) : void 0, D.createIdentifier(Gi(nU(Xt.target.labeledElementDeclarations[Bo]))), ys & 2 ? D.createToken(57) : void 0, ys & 4 ? D.createArrayTypeNode(Dr[Bo]) : Dr[Bo]) } else for (let Bo = 0; Bo < Math.min(Sr, Dr.length); Bo++) { let ys = Xt.target.elementFlags[Bo]; Dr[Bo] = ys & 12 ? D.createRestTypeNode(ys & 4 ? D.createArrayTypeNode(Dr[Bo]) : Dr[Bo]) : ys & 2 ? D.createOptionalTypeNode(Dr[Bo]) : Dr[Bo] } let Ii = Jn(D.createTupleTypeNode(Dr), 1); return Xt.target.readonly ? D.createTypeOperatorNode(146, Ii) : Ii } } if (he.encounteredError || he.flags & 524288) { let Sr = Jn(D.createTupleTypeNode([]), 1); return Xt.target.readonly ? D.createTypeOperatorNode(146, Sr) : Sr } he.encounteredError = !0; return } else { if (he.flags & 2048 && Xt.symbol.valueDeclaration && Yr(Xt.symbol.valueDeclaration) && !OE(Xt.symbol, he.enclosingDeclaration)) return Ct(Xt); { let Sr = Xt.target.outerTypeParameters, Dr = 0, Ii; if (Sr) { let Bl = Sr.length; for (; Dr < Bl;) { let ze = Dr, dt = Hxe(Sr[Dr]); do Dr++; while (Dr < Bl && Hxe(Sr[Dr]) === dt); if (!GU(Sr, er, ze, Dr)) { let Ut = O(er.slice(ze, Dr), he), wn = he.flags; he.flags |= 16; let Zn = Rn(dt, he, 788968, Ut); he.flags = wn, Ii = Ii ? Un(Ii, Zn) : Zn } } } let Bo; if (er.length > 0) { let Bl = (Xt.target.typeParameters || Je).length; Bo = O(er.slice(Dr, Bl), he) } let ys = he.flags; he.flags |= 16; let ds = Rn(Xt.symbol, he, 788968, Bo); return he.flags = ys, Ii ? Un(Ii, ds) : ds } } } function Un(Xt, er) { if (Mh(Xt)) { let Sr = Xt.typeArguments, Dr = Xt.qualifier; Dr && (Re(Dr) ? Sr !== NT(Dr) && (Dr = Ug(D.cloneNode(Dr), Sr)) : Sr !== NT(Dr.right) && (Dr = D.updateQualifiedName(Dr, Dr.left, Ug(D.cloneNode(Dr.right), Sr)))), Sr = er.typeArguments; let Ii = yi(er); for (let Bo of Ii) Dr = Dr ? D.createQualifiedName(Dr, Bo) : Bo; return D.updateImportTypeNode(Xt, Xt.argument, Xt.assertions, Dr, Sr, Xt.isTypeOf) } else { let Sr = Xt.typeArguments, Dr = Xt.typeName; Re(Dr) ? Sr !== NT(Dr) && (Dr = Ug(D.cloneNode(Dr), Sr)) : Sr !== NT(Dr.right) && (Dr = D.updateQualifiedName(Dr, Dr.left, Ug(D.cloneNode(Dr.right), Sr))), Sr = er.typeArguments; let Ii = yi(er); for (let Bo of Ii) Dr = D.createQualifiedName(Dr, Bo); return D.updateTypeReferenceNode(Xt, Dr, Sr) } } function yi(Xt) { let er = Xt.typeName, Sr = []; for (; !Re(er);)Sr.unshift(er.right), er = er.left; return Sr.unshift(er), Sr } function Di(Xt) { if (c(he)) return [D.createPropertySignature(void 0, "...", void 0, void 0)]; let er = []; for (let Ii of Xt.callSignatures) er.push(de(Ii, 176, he)); for (let Ii of Xt.constructSignatures) Ii.flags & 4 || er.push(de(Ii, 177, he)); for (let Ii of Xt.indexInfos) er.push(J(Ii, he, Xt.objectFlags & 1024 ? h(he) : void 0)); let Sr = Xt.properties; if (!Sr) return er; let Dr = 0; for (let Ii of Sr) { if (Dr++, he.flags & 2048) { if (Ii.flags & 4194304) continue; Ef(Ii) & 24 && he.tracker.reportPrivateInBaseOfClassExpression && he.tracker.reportPrivateInBaseOfClassExpression(Gi(Ii.escapedName)) } if (c(he) && Dr + 2 < Sr.length - 1) { er.push(D.createPropertySignature(void 0, `... ${Sr.length - Dr} more ...`, void 0, void 0)), k(Sr[Sr.length - 1], he, er); break } k(Ii, he, er) } return er.length ? er : void 0 } } function h(et) { return et.approximateLength += 3, et.flags & 1 ? D.createKeywordTypeNode(131) : D.createTypeReferenceNode(D.createIdentifier("..."), void 0) } function T(et, he) { var Bn; return !!(ac(et) & 8192) && (ya(he.reverseMappedStack, et) || ((Bn = he.reverseMappedStack) == null ? void 0 : Bn[0]) && !(Ur(To(he.reverseMappedStack).links.propertyType) & 16)) } function k(et, he, Bn) {
-                        var Mn; let or = !!(ac(et) & 8192), _r = T(et, he) ? Se : Gv(et), ua = he.enclosingDeclaration; if (he.enclosingDeclaration = void 0, he.tracker.canTrackSymbol && qk(et.escapedName)) if (et.declarations) { let Ct = Vo(et.declarations); if ($P(Ct)) if (ar(Ct)) { let Bt = sa(Ct); Bt && Vs(Bt) && LR(Bt.argumentExpression) && Tn(Bt.argumentExpression, ua, he) } else Tn(Ct.name.expression, ua, he) } else he.tracker.reportNonSerializableProperty(E(et)); he.enclosingDeclaration = et.valueDeclaration || ((Mn = et.declarations) == null ? void 0 : Mn[0]) || ua; let _i = Hd(et, he); he.enclosingDeclaration = ua, he.approximateLength += fc(et).length + 1; let ur = et.flags & 16777216 ? D.createToken(57) : void 0; if (et.flags & 8208 && !Ey(_r).length && !M_(et)) { let Ct = xa(jc(_r, Bt => !(Bt.flags & 32768)), 0); for (let Bt of Ct) { let Ft = de(Bt, 170, he, { name: _i, questionToken: ur }); Bn.push(st(Ft)) } } else { let Ct; T(et, he) ? Ct = h(he) : (or && (he.reverseMappedStack || (he.reverseMappedStack = []), he.reverseMappedStack.push(et)), Ct = _r ? Bi(he, _r, et, ua) : D.createKeywordTypeNode(131), or && he.reverseMappedStack.pop()); let Bt = M_(et) ? [D.createToken(146)] : void 0; Bt && (he.approximateLength += 9); let Ft = D.createPropertySignature(Bt, _i, ur, Ct); Bn.push(st(Ft)) } function st(Ct) {
-                            var Bt; if (vt(et.declarations, Ft => Ft.kind === 351)) {
-                                let Ft = (Bt = et.declarations) == null ? void 0 : Bt.find(Un => Un.kind === 351), hn = Cw(Ft.comment); hn && W0(Ct, [{
-                                    kind: 3, text: `*
- * `+ hn.replace(/\n/g, `
- * `) + `
- `, pos: -1, end: -1, hasTrailingNewLine: !0
-                                }])
-                            } else et.valueDeclaration && hl(Ct, et.valueDeclaration); return Ct
-                        }
-                    } function O(et, he, Bn) { if (vt(et)) { if (c(he)) if (Bn) { if (et.length > 2) return [u(et[0], he), D.createTypeReferenceNode(`... ${et.length - 2} more ...`, void 0), u(et[et.length - 1], he)] } else return [D.createTypeReferenceNode("...", void 0)]; let or = !(he.flags & 64) ? vae() : void 0, _r = [], ua = 0; for (let _i of et) { if (ua++, c(he) && ua + 2 < et.length - 1) { _r.push(D.createTypeReferenceNode(`... ${et.length - ua} more ...`, void 0)); let st = u(et[et.length - 1], he); st && _r.push(st); break } he.approximateLength += 2; let ur = u(_i, he); ur && (_r.push(ur), or && Mle(ur) && or.add(ur.typeName.escapedText, [_i, _r.length - 1])) } if (or) { let _i = he.flags; he.flags |= 64, or.forEach(ur => { if (!Fle(ur, ([st], [Ct]) => H(st, Ct))) for (let [st, Ct] of ur) _r[Ct] = u(st, he) }), he.flags = _i } return _r } } function H(et, he) { return et === he || !!et.symbol && et.symbol === he.symbol || !!et.aliasSymbol && et.aliasSymbol === he.aliasSymbol } function J(et, he, Bn) { let Mn = Kse(et) || "x", or = u(et.keyType, he), _r = D.createParameterDeclaration(void 0, void 0, Mn, void 0, or, void 0); return Bn || (Bn = u(et.type || Se, he)), !et.type && !(he.flags & 2097152) && (he.encounteredError = !0), he.approximateLength += Mn.length + 4, D.createIndexSignature(et.isReadonly ? [D.createToken(146)] : void 0, [_r], Bn) } function de(et, he, Bn, Mn) { var or, _r, ua, _i, ur; let st = Bn.flags & 256; st && (Bn.flags &= -257), Bn.approximateLength += 3; let Ct, Bt; Bn.flags & 32 && et.target && et.mapper && et.target.typeParameters ? Bt = et.target.typeParameters.map(Ii => u(Oi(Ii, et.mapper), Bn)) : Ct = et.typeParameters && et.typeParameters.map(Ii => tt(Ii, Bn)); let Ft = Txe(et, !0)[0], hn; if (Bn.enclosingDeclaration && et.declaration && et.declaration !== Bn.enclosingDeclaration && !Yn(et.declaration) && vt(Ft)) { let Ii = Rr(Bn.enclosingDeclaration).fakeScopeForSignatureDeclaration ? Bn.enclosingDeclaration : void 0; L.assertOptionalNode(Ii, Va); let Bo = (or = Ii?.locals) != null ? or : Ua(), ys; for (let ds of Ft) Bo.has(ds.escapedName) || (ys = Sn(ys, ds.escapedName), Bo.set(ds.escapedName, ds)); if (ys) { let ds = function () { mn(ys, Bl => Bo.delete(Bl)) }; var Un = ds; if (Ii) hn = ds; else { let Bl = fm.createBlock(Je); Rr(Bl).fakeScopeForSignatureDeclaration = !0, Bl.locals = Bo; let ze = Bn.enclosingDeclaration; go(Bl, ze), Bn.enclosingDeclaration = Bl, hn = () => { Bn.enclosingDeclaration = ze, ds() } } } } let yi = (vt(Ft, Ii => Ii !== Ft[Ft.length - 1] && !!(ac(Ii) & 32768)) ? et.parameters : Ft).map(Ii => It(Ii, Bn, he === 173, Mn?.privateSymbolVisitor, Mn?.bundledImports)), Di = Bn.flags & 33554432 ? void 0 : Ae(et, Bn); Di && yi.unshift(Di); let Xt, er = Lf(et); if (er) { let Ii = er.kind === 2 || er.kind === 3 ? D.createToken(129) : void 0, Bo = er.kind === 1 || er.kind === 3 ? Jn(D.createIdentifier(er.parameterName), 33554432) : D.createThisTypeNode(), ys = er.type && u(er.type, Bn); Xt = D.createTypePredicateNode(Ii, Bo, ys) } else { let Ii = qo(et); Ii && !(st && Zo(Ii)) ? Xt = us(Bn, Ii, et, Mn?.privateSymbolVisitor, Mn?.bundledImports) : st || (Xt = D.createKeywordTypeNode(131)) } let Sr = Mn?.modifiers; if (he === 182 && et.flags & 4) { let Ii = im(Sr); Sr = D.createModifiersFromModifierFlags(Ii | 256) } let Dr = he === 176 ? D.createCallSignature(Ct, yi, Xt) : he === 177 ? D.createConstructSignature(Ct, yi, Xt) : he === 170 ? D.createMethodSignature(Sr, (_r = Mn?.name) != null ? _r : D.createIdentifier(""), Mn?.questionToken, Ct, yi, Xt) : he === 171 ? D.createMethodDeclaration(Sr, void 0, (ua = Mn?.name) != null ? ua : D.createIdentifier(""), void 0, Ct, yi, Xt, void 0) : he === 173 ? D.createConstructorDeclaration(Sr, yi, void 0) : he === 174 ? D.createGetAccessorDeclaration(Sr, (_i = Mn?.name) != null ? _i : D.createIdentifier(""), yi, Xt, void 0) : he === 175 ? D.createSetAccessorDeclaration(Sr, (ur = Mn?.name) != null ? ur : D.createIdentifier(""), yi, void 0) : he === 178 ? D.createIndexSignature(Sr, yi, Xt) : he === 320 ? D.createJSDocFunctionType(yi, Xt) : he === 181 ? D.createFunctionTypeNode(Ct, yi, Xt ?? D.createTypeReferenceNode(D.createIdentifier(""))) : he === 182 ? D.createConstructorTypeNode(Sr, Ct, yi, Xt ?? D.createTypeReferenceNode(D.createIdentifier(""))) : he === 259 ? D.createFunctionDeclaration(Sr, void 0, Mn?.name ? Ga(Mn.name, Re) : D.createIdentifier(""), Ct, yi, Xt, void 0) : he === 215 ? D.createFunctionExpression(Sr, void 0, Mn?.name ? Ga(Mn.name, Re) : D.createIdentifier(""), Ct, yi, Xt, D.createBlock([])) : he === 216 ? D.createArrowFunction(Sr, Ct, yi, Xt, void 0, D.createBlock([])) : L.assertNever(he); return Bt && (Dr.typeArguments = D.createNodeArray(Bt)), hn?.(), Dr } function Ae(et, he) { if (et.thisParameter) return It(et.thisParameter, he); if (et.declaration && Yn(et.declaration)) { let Bn = e6(et.declaration); if (Bn && Bn.typeExpression) return D.createParameterDeclaration(void 0, void 0, "this", void 0, u($r(Bn.typeExpression), he)) } } function xe(et, he, Bn) { let Mn = he.flags; he.flags &= -513; let or = D.createModifiersFromModifierFlags(Jne(et)), _r = Hr(et, he), ua = jE(et), _i = ua && u(ua, he); return he.flags = Mn, D.createTypeParameterDeclaration(or, _r, Bn, _i) } function tt(et, he, Bn = eu(et)) { let Mn = Bn && u(Bn, he); return xe(et, he, Mn) } function It(et, he, Bn, Mn, or) { let _r = nc(et, 166); !_r && !Zp(et) && (_r = nc(et, 344)); let ua = zn(et); _r && eke(_r) && (ua = gg(ua)); let _i = Bi(he, ua, et, he.enclosingDeclaration, Mn, or), ur = !(he.flags & 8192) && Bn && _r && g_(_r) ? on(uT(_r), D.cloneNode) : void 0, Ct = _r && Fm(_r) || ac(et) & 32768 ? D.createToken(25) : void 0, Bt = _r && _r.name ? _r.name.kind === 79 ? Jn(D.cloneNode(_r.name), 33554432) : _r.name.kind === 163 ? Jn(D.cloneNode(_r.name.right), 33554432) : yi(_r.name) : fc(et), hn = _r && Qk(_r) || ac(et) & 16384 ? D.createToken(57) : void 0, Un = D.createParameterDeclaration(ur, Ct, Bt, hn, _i, void 0); return he.approximateLength += fc(et).length + 3, Un; function yi(Di) { return Xt(Di); function Xt(er) { he.tracker.canTrackSymbol && ts(er) && Pte(er) && Tn(er.expression, he.enclosingDeclaration, he); let Sr = xn(er, Xt, Bh, void 0, Xt); return Wo(Sr) && (Sr = D.updateBindingElement(Sr, Sr.dotDotDotToken, Sr.propertyName, Sr.name, void 0)), ws(Sr) || (Sr = D.cloneNode(Sr)), Jn(Sr, 33554433) } } } function Tn(et, he, Bn) { if (!Bn.tracker.canTrackSymbol) return; let Mn = Yd(et), or = zs(Mn, Mn.escapedText, 1160127, void 0, void 0, !0); or && Bn.tracker.trackSymbol(or, he, 111551) } function un(et, he, Bn, Mn) { return he.tracker.trackSymbol(et, he.enclosingDeclaration, Bn), Nn(et, he, Bn, Mn) } function Nn(et, he, Bn, Mn) { let or; return !(et.flags & 262144) && (he.enclosingDeclaration || he.flags & 64) && !(he.flags & 134217728) ? (or = L.checkDefined(ua(et, Bn, !0)), L.assert(or && or.length > 0)) : or = [et], or; function ua(_i, ur, st) { let Ct = Rv(_i, he.enclosingDeclaration, ur, !!(he.flags & 128)), Bt; if (!Ct || k1(Ct[0], he.enclosingDeclaration, Ct.length === 1 ? ur : og(ur))) { let hn = IE(Ct ? Ct[0] : _i, he.enclosingDeclaration, ur); if (Fn(hn)) { Bt = hn.map(Di => vt(Di.declarations, sg) ? Jt(Di, he) : void 0); let Un = hn.map((Di, Xt) => Xt); Un.sort(Ft); let yi = Un.map(Di => hn[Di]); for (let Di of yi) { let Xt = ua(Di, og(ur), !1); if (Xt) { if (Di.exports && Di.exports.get("export=") && wp(Di.exports.get("export="), _i)) { Ct = Xt; break } Ct = Xt.concat(Ct || [ly(Di, _i) || _i]); break } } } } if (Ct) return Ct; if (st || !(_i.flags & 6144)) return !st && !Mn && mn(_i.declarations, sg) ? void 0 : [_i]; function Ft(hn, Un) { let yi = Bt[hn], Di = Bt[Un]; if (yi && Di) { let Xt = Jd(Di); return Jd(yi) === Xt ? tN(yi) - tN(Di) : Xt ? -1 : 1 } return 0 } } } function en(et, he) { let Bn; return oA(et).flags & 524384 && (Bn = D.createNodeArray(on(yy(et), or => tt(or, he)))), Bn } function cn(et, he, Bn) { var Mn; L.assert(et && 0 <= he && he < et.length); let or = et[he], _r = $a(or); if ((Mn = Bn.typeParameterSymbolList) != null && Mn.has(_r)) return; (Bn.typeParameterSymbolList || (Bn.typeParameterSymbolList = new Set)).add(_r); let ua; if (Bn.flags & 512 && he < et.length - 1) { let _i = or, ur = et[he + 1]; if (ac(ur) & 1) { let st = D1(_i.flags & 2097152 ? wc(_i) : _i); ua = O(on(st, Ct => zv(Ct, ur.links.mapper)), Bn) } else ua = en(or, Bn) } return ua } function rr(et) { return OS(et.objectType) ? rr(et.objectType) : et } function Jt(et, he, Bn) { var Mn; let or = nc(et, 308); if (!or) { let Ct = ks(et.declarations, Bt => wx(Bt, et)); Ct && (or = nc(Ct, 308)) } if (or && or.moduleName !== void 0) return or.moduleName; if (!or) { if (he.tracker.trackReferencedAmbientModule) { let Ct = Pr(et.declarations, lu); if (Fn(Ct)) for (let Bt of Ct) he.tracker.trackReferencedAmbientModule(Bt, et) } if (uF.test(et.escapedName)) return et.escapedName.substring(1, et.escapedName.length - 1) } if (!he.enclosingDeclaration || !he.tracker.moduleResolverHost) return uF.test(et.escapedName) ? et.escapedName.substring(1, et.escapedName.length - 1) : Gn(dH(et)).fileName; let _r = Gn(ec(he.enclosingDeclaration)), ua = Bn || _r?.impliedNodeFormat, _i = ML(_r.path, ua), ur = Ai(et), st = ur.specifierCache && ur.specifierCache.get(_i); if (!st) { let Ct = !!Ss(Y), { moduleResolverHost: Bt } = he.tracker, Ft = Ct ? { ...Y, baseUrl: Bt.getCommonSourceDirectory() } : Y; st = Vo(m_e(et, qe, Ft, _r, Bt, { importModuleSpecifierPreference: Ct ? "non-relative" : "project-relative", importModuleSpecifierEnding: Ct ? "minimal" : ua === 99 ? "js" : void 0 }, { overrideImportMode: Bn })), (Mn = ur.specifierCache) != null || (ur.specifierCache = new Map), ur.specifierCache.set(_i, st) } return st } function Cn(et) { let he = D.createIdentifier(Gi(et.escapedName)); return et.parent ? D.createQualifiedName(Cn(et.parent), he) : he } function Rn(et, he, Bn, Mn) { var or, _r, ua, _i; let ur = un(et, he, Bn, !(he.flags & 16384)), st = Bn === 111551; if (vt(ur[0].declarations, sg)) { let Ft = ur.length > 1 ? Bt(ur, ur.length - 1, 1) : void 0, hn = Mn || cn(ur, 0, he), Un = Gn(ec(he.enclosingDeclaration)), yi = m6(ur[0]), Di, Xt; if (($s(Y) === 3 || $s(Y) === 99) && yi?.impliedNodeFormat === 99 && yi.impliedNodeFormat !== Un?.impliedNodeFormat && (Di = Jt(ur[0], he, 99), Xt = D.createImportTypeAssertionContainer(D.createAssertClause(D.createNodeArray([D.createAssertEntry(D.createStringLiteral("resolution-mode"), D.createStringLiteral("import"))]))), (_r = (or = he.tracker).reportImportTypeNodeResolutionModeOverride) == null || _r.call(or)), Di || (Di = Jt(ur[0], he)), !(he.flags & 67108864) && $s(Y) !== 1 && Di.indexOf("/node_modules/") >= 0) { let Sr = Di; if ($s(Y) === 3 || $s(Y) === 99) { let Dr = Un?.impliedNodeFormat === 99 ? 1 : 99; Di = Jt(ur[0], he, Dr), Di.indexOf("/node_modules/") >= 0 ? Di = Sr : (Xt = D.createImportTypeAssertionContainer(D.createAssertClause(D.createNodeArray([D.createAssertEntry(D.createStringLiteral("resolution-mode"), D.createStringLiteral(Dr === 99 ? "import" : "require"))]))), (_i = (ua = he.tracker).reportImportTypeNodeResolutionModeOverride) == null || _i.call(ua)) } Xt || (he.encounteredError = !0, he.tracker.reportLikelyUnsafeImportRequiredError && he.tracker.reportLikelyUnsafeImportRequiredError(Sr)) } let er = D.createLiteralTypeNode(D.createStringLiteral(Di)); if (he.tracker.trackExternalModuleSymbolOfImportTypeNode && he.tracker.trackExternalModuleSymbolOfImportTypeNode(ur[0]), he.approximateLength += Di.length + 10, !Ft || Cd(Ft)) { if (Ft) { let Sr = Re(Ft) ? Ft : Ft.right; Ug(Sr, void 0) } return D.createImportTypeNode(er, Xt, Ft, hn, st) } else { let Sr = rr(Ft), Dr = Sr.objectType.typeName; return D.createIndexedAccessTypeNode(D.createImportTypeNode(er, Xt, Dr, hn, st), Sr.indexType) } } let Ct = Bt(ur, ur.length - 1, 0); if (OS(Ct)) return Ct; if (st) return D.createTypeQueryNode(Ct); { let Ft = Re(Ct) ? Ct : Ct.right, hn = NT(Ft); return Ug(Ft, void 0), D.createTypeReferenceNode(Ct, hn) } function Bt(Ft, hn, Un) { let yi = hn === Ft.length - 1 ? Mn : cn(Ft, hn, he), Di = Ft[hn], Xt = Ft[hn - 1], er; if (hn === 0) he.flags |= 16777216, er = _y(Di, he), he.approximateLength += (er ? er.length : 0) + 1, he.flags ^= 16777216; else if (Xt && Gd(Xt)) { let Dr = Gd(Xt); Ld(Dr, (Ii, Bo) => { if (wp(Ii, Di) && !qk(Bo) && Bo !== "export=") return er = Gi(Bo), !0 }) } if (er === void 0) { let Dr = ks(Di.declarations, sa); if (Dr && ts(Dr) && Cd(Dr.expression)) { let Ii = Bt(Ft, hn - 1, Un); return Cd(Ii) ? D.createIndexedAccessTypeNode(D.createParenthesizedType(D.createTypeQueryNode(Ii)), D.createTypeQueryNode(Dr.expression)) : Ii } er = _y(Di, he) } if (he.approximateLength += er.length + 1, !(he.flags & 16) && Xt && vy(Xt) && vy(Xt).get(Di.escapedName) && wp(vy(Xt).get(Di.escapedName), Di)) { let Dr = Bt(Ft, hn - 1, Un); return OS(Dr) ? D.createIndexedAccessTypeNode(Dr, D.createLiteralTypeNode(D.createStringLiteral(er))) : D.createIndexedAccessTypeNode(D.createTypeReferenceNode(Dr, yi), D.createLiteralTypeNode(D.createStringLiteral(er))) } let Sr = Jn(D.createIdentifier(er), 33554432); if (yi && Ug(Sr, D.createNodeArray(yi)), Sr.symbol = Di, hn > Un) { let Dr = Bt(Ft, hn - 1, Un); return Cd(Dr) ? D.createQualifiedName(Dr, Sr) : L.fail("Impossible construct - an export of an indexed access cannot be reachable") } return Sr } } function Br(et, he, Bn) { let Mn = zs(he.enclosingDeclaration, et, 788968, void 0, et, !1); return Mn ? !(Mn.flags & 262144 && Mn === Bn.symbol) : !1 } function Hr(et, he) { var Bn, Mn; if (he.flags & 4 && he.typeParameterNames) { let _r = he.typeParameterNames.get(ru(et)); if (_r) return _r } let or = qi(et.symbol, he, 788968, !0); if (!(or.kind & 79)) return D.createIdentifier("(Missing type parameter)"); if (he.flags & 4) { let _r = or.escapedText, ua = ((Bn = he.typeParameterNamesByTextNextNameCount) == null ? void 0 : Bn.get(_r)) || 0, _i = _r; for (; (Mn = he.typeParameterNamesByText) != null && Mn.has(_i) || Br(_i, he, et);)ua++, _i = `${_r}_${ua}`; if (_i !== _r) { let ur = NT(or); or = D.createIdentifier(_i), Ug(or, ur) } (he.typeParameterNamesByTextNextNameCount || (he.typeParameterNamesByTextNextNameCount = new Map)).set(_r, ua), (he.typeParameterNames || (he.typeParameterNames = new Map)).set(ru(et), or), (he.typeParameterNamesByText || (he.typeParameterNamesByText = new Set)).add(_r) } return or } function qi(et, he, Bn, Mn) { let or = un(et, he, Bn); return Mn && or.length !== 1 && !he.encounteredError && !(he.flags & 65536) && (he.encounteredError = !0), _r(or, or.length - 1); function _r(ua, _i) { let ur = cn(ua, _i, he), st = ua[_i]; _i === 0 && (he.flags |= 16777216); let Ct = _y(st, he); _i === 0 && (he.flags ^= 16777216); let Bt = Jn(D.createIdentifier(Ct), 33554432); return ur && Ug(Bt, D.createNodeArray(ur)), Bt.symbol = st, _i > 0 ? D.createQualifiedName(_r(ua, _i - 1), Bt) : Bt } } function wa(et, he, Bn) { let Mn = un(et, he, Bn); return or(Mn, Mn.length - 1); function or(_r, ua) { let _i = cn(_r, ua, he), ur = _r[ua]; ua === 0 && (he.flags |= 16777216); let st = _y(ur, he); ua === 0 && (he.flags ^= 16777216); let Ct = st.charCodeAt(0); if (Xw(Ct) && vt(ur.declarations, sg)) return D.createStringLiteral(Jt(ur, he)); if (ua === 0 || HW(st, R)) { let Bt = Jn(D.createIdentifier(st), 33554432); return _i && Ug(Bt, D.createNodeArray(_i)), Bt.symbol = ur, ua > 0 ? D.createPropertyAccessExpression(or(_r, ua - 1), Bt) : Bt } else { Ct === 91 && (st = st.substring(1, st.length - 1), Ct = st.charCodeAt(0)); let Bt; if (Xw(Ct) && !(ur.flags & 8) ? Bt = D.createStringLiteral(u_(st).replace(/\\./g, Ft => Ft.substring(1)), Ct === 39) : "" + +st === st && (Bt = D.createNumericLiteral(+st)), !Bt) { let Ft = Jn(D.createIdentifier(st), 33554432); _i && Ug(Ft, D.createNodeArray(_i)), Ft.symbol = ur, Bt = Ft } return D.createElementAccessExpression(or(_r, ua - 1), Bt) } } } function Xc(et) { let he = sa(et); return !!he && yo(he) } function pf(et) { let he = sa(et); return !!(he && yo(he) && (he.singleQuote || !ws(he) && na(Qc(he, !1), "'"))) } function Hd(et, he) { let Bn = !!Fn(et.declarations) && Ji(et.declarations, Xc), Mn = !!Fn(et.declarations) && Ji(et.declarations, pf), or = ji(et, he, Mn, Bn); if (or) return or; let _r = Gi(et.escapedName); return E4(_r, Do(Y), Mn, Bn) } function ji(et, he, Bn, Mn) { let or = Ai(et).nameType; if (or) { if (or.flags & 384) { let _r = "" + or.value; return !i_(_r, Do(Y)) && (Mn || !Wm(_r)) ? D.createStringLiteral(_r, !!Bn) : Wm(_r) && na(_r, "-") ? D.createComputedPropertyName(D.createNumericLiteral(+_r)) : E4(_r, Do(Y)) } if (or.flags & 8192) return D.createComputedPropertyName(wa(or.symbol, he, 111551)) } } function In(et) { let he = { ...et }; return he.typeParameterNames && (he.typeParameterNames = new Map(he.typeParameterNames)), he.typeParameterNamesByText && (he.typeParameterNamesByText = new Set(he.typeParameterNamesByText)), he.typeParameterSymbolList && (he.typeParameterSymbolList = new Set(he.typeParameterSymbolList)), he.tracker = new iN(he, he.tracker.inner, he.tracker.moduleResolverHost), he } function qn(et, he) { return et.declarations && wr(et.declarations, Bn => !!Cl(Bn) && (!he || !!jn(Bn, Mn => Mn === he))) } function Mi(et, he) { return !(Ur(he) & 4) || !m_(et) || Fn(et.typeArguments) >= Mp(he.target.typeParameters) } function ga(et) { return Rr(et).fakeScopeForSignatureDeclaration ? et.parent : et } function Bi(et, he, Bn, Mn, or, _r) { if (!Ro(he) && Mn) { let ur = qn(Bn, ga(Mn)); if (ur && !Ds(ur) && !p_(ur)) { let st = Cl(ur); if (ko(st, ur, he) && Mi(st, he)) { let Ct = no(et, st, or, _r); if (Ct) return Ct } } } let ua = et.flags; he.flags & 8192 && he.symbol === Bn && (!et.enclosingDeclaration || vt(Bn.declarations, ur => Gn(ur) === Gn(et.enclosingDeclaration))) && (et.flags |= 1048576); let _i = u(he, et); return et.flags = ua, _i } function ko(et, he, Bn) { let Mn = $r(et); return Mn === Bn ? !0 : ha(he) && he.questionToken ? wf(Bn, 524288) === Mn : !1 } function us(et, he, Bn, Mn, or) { if (!Ro(he) && et.enclosingDeclaration) { let _r = Bn.declaration && U_(Bn.declaration), ua = ga(et.enclosingDeclaration); if (jn(_r, _i => _i === ua) && _r) { let _i = $r(_r); if ((_i.flags & 262144 && _i.isThisType ? Oi(_i, Bn.mapper) : _i) === he && Mi(_r, he)) { let st = no(et, _r, Mn, or); if (st) return st } } } return u(he, et) } function Xs(et, he, Bn) { let Mn = !1, or = Yd(et); if (Yn(et) && (TT(or) || Bm(or.parent) || Yu(or.parent) && RH(or.parent.left) && TT(or.parent.right))) return Mn = !0, { introducesError: Mn, node: et }; let _r = uc(or, 67108863, !0, !0); if (_r && (dy(_r, he.enclosingDeclaration, 67108863, !1).accessibility !== 0 ? Mn = !0 : (he.tracker.trackSymbol(_r, he.enclosingDeclaration, 67108863), Bn?.(_r)), Re(et))) { let ua = gs(_r), _i = _r.flags & 262144 && !RE(ua.symbol, he.enclosingDeclaration) ? Hr(ua, he) : D.cloneNode(et); return _i.symbol = _r, { introducesError: Mn, node: Jn(Ir(_i, et), 33554432) } } return { introducesError: Mn, node: et } } function no(et, he, Bn, Mn) { o && o.throwIfCancellationRequested && o.throwIfCancellationRequested(); let or = !1, _r = Gn(he), ua = $e(he, _i, bi); if (or) return; return ua === he ? it(D.cloneNode(he), he) : ua; function _i(ur) { if (Kue(ur) || ur.kind === 322) return D.createKeywordTypeNode(131); if (que(ur)) return D.createKeywordTypeNode(157); if (T2(ur)) return D.createUnionTypeNode([$e(ur.type, _i, bi), D.createLiteralTypeNode(D.createNull())]); if (Uz(ur)) return D.createUnionTypeNode([$e(ur.type, _i, bi), D.createKeywordTypeNode(155)]); if (m3(ur)) return $e(ur.type, _i); if (h3(ur)) return D.createArrayTypeNode($e(ur.type, _i, bi)); if (LL(ur)) return D.createTypeLiteralNode(on(ur.jsDocPropertyTags, Ft => { let hn = Re(Ft.name) ? Ft.name : Ft.name.right, Un = Vc($r(ur), hn.escapedText), yi = Un && Ft.typeExpression && $r(Ft.typeExpression.type) !== Un ? u(Un, et) : void 0; return D.createPropertySignature(void 0, hn, Ft.isBracketed || Ft.typeExpression && Uz(Ft.typeExpression.type) ? D.createToken(57) : void 0, yi || Ft.typeExpression && $e(Ft.typeExpression.type, _i, bi) || D.createKeywordTypeNode(131)) })); if (m_(ur) && Re(ur.typeName) && ur.typeName.escapedText === "") return Ir(D.createKeywordTypeNode(131), ur); if ((Vg(ur) || m_(ur)) && U6(ur)) return D.createTypeLiteralNode([D.createIndexSignature(void 0, [D.createParameterDeclaration(void 0, void 0, "x", void 0, $e(ur.typeArguments[0], _i, bi))], $e(ur.typeArguments[1], _i, bi))]); if (S2(ur)) if (jA(ur)) { let Ft; return D.createConstructorTypeNode(void 0, On(ur.typeParameters, _i, _c), Zi(ur.parameters, (hn, Un) => hn.name && Re(hn.name) && hn.name.escapedText === "new" ? (Ft = hn.type, void 0) : D.createParameterDeclaration(void 0, st(hn), Ct(hn, Un), hn.questionToken, $e(hn.type, _i, bi), void 0)), $e(Ft || ur.type, _i, bi) || D.createKeywordTypeNode(131)) } else return D.createFunctionTypeNode(On(ur.typeParameters, _i, _c), on(ur.parameters, (Ft, hn) => D.createParameterDeclaration(void 0, st(Ft), Ct(Ft, hn), Ft.questionToken, $e(Ft.type, _i, bi), void 0)), $e(ur.type, _i, bi) || D.createKeywordTypeNode(131)); if (m_(ur) && qw(ur) && (!Mi(ur, $r(ur)) || Yxe(ur) || Ht === Kx(ur, 788968, !0))) return Ir(u($r(ur), et), ur); if (ib(ur)) { let Ft = Rr(ur).resolvedSymbol; return qw(ur) && Ft && (!ur.isTypeOf && !(Ft.flags & 788968) || !(Fn(ur.typeArguments) >= Mp(yy(Ft)))) ? Ir(u($r(ur), et), ur) : D.updateImportTypeNode(ur, D.updateLiteralTypeNode(ur.argument, Bt(ur, ur.argument.literal)), ur.assertions, ur.qualifier, On(ur.typeArguments, _i, bi), ur.isTypeOf) } if (Cd(ur) || bc(ur)) { let { introducesError: Ft, node: hn } = Xs(ur, et, Bn); if (or = or || Ft, hn !== ur) return hn } return _r && p2(ur) && Gs(_r, ur.pos).line === Gs(_r, ur.end).line && Jn(ur, 1), xn(ur, _i, Bh); function st(Ft) { return Ft.dotDotDotToken || (Ft.type && h3(Ft.type) ? D.createToken(25) : void 0) } function Ct(Ft, hn) { return Ft.name && Re(Ft.name) && Ft.name.escapedText === "this" ? "this" : st(Ft) ? "args" : `arg${hn}` } function Bt(Ft, hn) { if (Mn) { if (et.tracker && et.tracker.moduleResolverHost) { let Un = qie(Ft); if (Un) { let Di = { getCanonicalFileName: Dl(!!e.useCaseSensitiveFileNames), getCurrentDirectory: () => et.tracker.moduleResolverHost.getCurrentDirectory(), getCommonSourceDirectory: () => et.tracker.moduleResolverHost.getCommonSourceDirectory() }, Xt = Z6(Di, Un); return D.createStringLiteral(Xt) } } } else if (et.tracker && et.tracker.trackExternalModuleSymbolOfImportTypeNode) { let Un = ah(hn, hn, void 0); Un && et.tracker.trackExternalModuleSymbolOfImportTypeNode(Un) } return hn } } } function Tu(et, he, Bn) {
-                        let Mn = F_(D.createPropertyDeclaration, 171, !0), or = F_((bt, cr, oi, Jr) => D.createPropertySignature(bt, cr, oi, Jr), 170, !1), _r = he.enclosingDeclaration, ua = [], _i = new Set, ur = [], st = he; he = { ...st, usedSymbolNames: new Set(st.usedSymbolNames), remappedSymbolNames: new Map, tracker: void 0 }; let Ct = { ...st.tracker.inner, trackSymbol: (bt, cr, oi) => { var Jr; if (dy(bt, cr, oi, !1).accessibility === 0) { let Po = Nn(bt, he, oi); bt.flags & 4 || ds(Po[0]) } else if ((Jr = st.tracker.inner) != null && Jr.trackSymbol) return st.tracker.inner.trackSymbol(bt, cr, oi); return !1 } }; he.tracker = new iN(he, Ct, st.tracker.moduleResolverHost), Ld(et, (bt, cr) => { let oi = Gi(cr); sd(bt, oi) }); let Bt = !Bn, Ft = et.get("export="); return Ft && et.size > 1 && Ft.flags & 2097152 && (et = Ua(), et.set("export=", Ft)), Ii(et), er(ua); function hn(bt) { return !!bt && bt.kind === 79 } function Un(bt) { return Bc(bt) ? Pr(on(bt.declarationList.declarations, sa), hn) : Pr([sa(bt)], hn) } function yi(bt) { let cr = wr(bt, pc), oi = Yc(bt, Tc), Jr = oi !== -1 ? bt[oi] : void 0; if (Jr && cr && cr.isExportEquals && Re(cr.expression) && Re(Jr.name) && vr(Jr.name) === vr(cr.expression) && Jr.body && Tp(Jr.body)) { let Xr = Pr(bt, Ui => !!(uu(Ui) & 1)), Po = Jr.name, va = Jr.body; if (Fn(Xr) && (Jr = D.updateModuleDeclaration(Jr, Jr.modifiers, Jr.name, va = D.updateModuleBlock(va, D.createNodeArray([...Jr.body.statements, D.createExportDeclaration(void 0, !1, D.createNamedExports(on(Uo(Xr, Ui => Un(Ui)), Ui => D.createExportSpecifier(!1, void 0, Ui))), void 0)]))), bt = [...bt.slice(0, oi), Jr, ...bt.slice(oi + 1)]), !wr(bt, Ui => Ui !== Jr && xw(Ui, Po))) { ua = []; let Ui = !vt(va.statements, Eo => Mr(Eo, 1) || pc(Eo) || Il(Eo)); mn(va.statements, Eo => { ze(Eo, Ui ? 1 : 0) }), bt = [...Pr(bt, Eo => Eo !== Jr && Eo !== cr), ...ua] } } return bt } function Di(bt) { let cr = Pr(bt, Jr => Il(Jr) && !Jr.moduleSpecifier && !!Jr.exportClause && h_(Jr.exportClause)); Fn(cr) > 1 && (bt = [...Pr(bt, Xr => !Il(Xr) || !!Xr.moduleSpecifier || !Xr.exportClause), D.createExportDeclaration(void 0, !1, D.createNamedExports(Uo(cr, Xr => Ga(Xr.exportClause, h_).elements)), void 0)]); let oi = Pr(bt, Jr => Il(Jr) && !!Jr.moduleSpecifier && !!Jr.exportClause && h_(Jr.exportClause)); if (Fn(oi) > 1) { let Jr = YC(oi, Xr => yo(Xr.moduleSpecifier) ? ">" + Xr.moduleSpecifier.text : ">"); if (Jr.length !== oi.length) for (let Xr of Jr) Xr.length > 1 && (bt = [...Pr(bt, Po => Xr.indexOf(Po) === -1), D.createExportDeclaration(void 0, !1, D.createNamedExports(Uo(Xr, Po => Ga(Po.exportClause, h_).elements)), Xr[0].moduleSpecifier)]) } return bt } function Xt(bt) { let cr = Yc(bt, oi => Il(oi) && !oi.moduleSpecifier && !oi.assertClause && !!oi.exportClause && h_(oi.exportClause)); if (cr >= 0) { let oi = bt[cr], Jr = Zi(oi.exportClause.elements, Xr => { if (!Xr.propertyName) { let Po = jD(bt), va = Pr(Po, Ui => xw(bt[Ui], Xr.name)); if (Fn(va) && Ji(va, Ui => WR(bt[Ui]))) { for (let Ui of va) bt[Ui] = Sr(bt[Ui]); return } } return Xr }); Fn(Jr) ? bt[cr] = D.updateExportDeclaration(oi, oi.modifiers, oi.isTypeOnly, D.updateNamedExports(oi.exportClause, Jr), oi.moduleSpecifier, oi.assertClause) : y0(bt, cr) } return bt } function er(bt) { return bt = yi(bt), bt = Di(bt), bt = Xt(bt), _r && (Li(_r) && kd(_r) || Tc(_r)) && (!vt(bt, Rw) || !yse(bt) && vt(bt, l6)) && bt.push(bO(D)), bt } function Sr(bt) { let cr = (uu(bt) | 1) & -3; return D.updateModifiers(bt, cr) } function Dr(bt) { let cr = uu(bt) & -2; return D.updateModifiers(bt, cr) } function Ii(bt, cr, oi) { cr || ur.push(new Map), bt.forEach(Jr => { Bo(Jr, !1, !!oi) }), cr || (ur[ur.length - 1].forEach(Jr => { Bo(Jr, !0, !!oi) }), ur.pop()) } function Bo(bt, cr, oi) { let Jr = No(bt); if (_i.has($a(Jr))) return; if (_i.add($a(Jr)), !cr || Fn(bt.declarations) && vt(bt.declarations, Po => !!jn(Po, va => va === _r))) { let Po = he; he = In(he), ys(bt, cr, oi), he.reportedDiagnostic && (st.reportedDiagnostic = he.reportedDiagnostic), he = Po } } function ys(bt, cr, oi) { var Jr, Xr, Po, va; let Ui = Gi(bt.escapedName), Eo = bt.escapedName === "default"; if (cr && !(he.flags & 131072) && fS(Ui) && !Eo) { he.encounteredError = !0; return } let Xo = Eo && !!(bt.flags & -113 || bt.flags & 16 && Fn(Jo(zn(bt)))) && !(bt.flags & 2097152), Rc = !Xo && !cr && fS(Ui) && !Eo; (Xo || Rc) && (cr = !0); let rl = (cr ? 0 : 1) | (Eo && !Xo ? 1024 : 0), Wd = bt.flags & 1536 && bt.flags & 7 && bt.escapedName !== "export=", Vl = Wd && Ul(zn(bt), bt); if ((bt.flags & 8208 || Vl) && Ar(zn(bt), bt, sd(bt, Ui), rl), bt.flags & 524288 && dt(bt, Ui, rl), bt.flags & 7 && bt.escapedName !== "export=" && !(bt.flags & 4194304) && !(bt.flags & 32) && !(bt.flags & 8192) && !Vl) if (oi) as(bt) && (Rc = !1, Xo = !1); else { let bs = zn(bt), dc = sd(bt, Ui); if (!(bt.flags & 16) && Ul(bs, bt)) Ar(bs, bt, dc, rl); else { let Tg = bt.flags & 2 ? wC(bt) ? 2 : 1 : (Jr = bt.parent) != null && Jr.valueDeclaration && Li((Xr = bt.parent) == null ? void 0 : Xr.valueDeclaration) ? 2 : void 0, wm = Xo || !(bt.flags & 4) ? dc : lA(dc, bt), Rm = bt.declarations && wr(bt.declarations, Ry => wi(Ry)); Rm && pu(Rm.parent) && Rm.parent.declarations.length === 1 && (Rm = Rm.parent.parent); let V1 = (Po = bt.declarations) == null ? void 0 : Po.find(br); if (V1 && ar(V1.parent) && Re(V1.parent.right) && ((va = bs.symbol) != null && va.valueDeclaration) && Li(bs.symbol.valueDeclaration)) { let Ry = dc === V1.parent.right.escapedText ? void 0 : V1.parent.right; ze(D.createExportDeclaration(void 0, !1, D.createNamedExports([D.createExportSpecifier(!1, Ry, dc)])), 0), he.tracker.trackSymbol(bs.symbol, he.enclosingDeclaration, 111551) } else { let Ry = it(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(wm, void 0, Bi(he, bs, bt, _r, ds, Bn))], Tg)), Rm); ze(Ry, wm !== dc ? rl & -2 : rl), wm !== dc && !cr && (ze(D.createExportDeclaration(void 0, !1, D.createNamedExports([D.createExportSpecifier(!1, wm, dc)])), 0), Rc = !1, Xo = !1) } } } if (bt.flags & 384 && sr(bt, Ui, rl), bt.flags & 32 && (bt.flags & 4 && bt.valueDeclaration && ar(bt.valueDeclaration.parent) && _u(bt.valueDeclaration.parent.right) ? mo(bt, sd(bt, Ui), rl) : Zr(bt, sd(bt, Ui), rl)), (bt.flags & 1536 && (!Wd || Zn(bt)) || Vl) && fn(bt, Ui, rl), bt.flags & 64 && !(bt.flags & 32) && Ut(bt, Ui, rl), bt.flags & 2097152 && mo(bt, sd(bt, Ui), rl), bt.flags & 4 && bt.escapedName === "export=" && as(bt), bt.flags & 8388608 && bt.declarations) for (let bs of bt.declarations) { let dc = Gl(bs, bs.moduleSpecifier); dc && ze(D.createExportDeclaration(void 0, bs.isTypeOnly, void 0, D.createStringLiteral(Jt(dc, he))), 0) } Xo ? ze(D.createExportAssignment(void 0, !1, D.createIdentifier(sd(bt, Ui))), 0) : Rc && ze(D.createExportDeclaration(void 0, !1, D.createNamedExports([D.createExportSpecifier(!1, sd(bt, Ui), Ui)])), 0) } function ds(bt) { if (vt(bt.declarations, CT)) return; L.assertIsDefined(ur[ur.length - 1]), lA(Gi(bt.escapedName), bt); let cr = !!(bt.flags & 2097152) && !vt(bt.declarations, oi => !!jn(oi, Il) || qm(oi) || Nl(oi) && !um(oi.moduleReference)); ur[cr ? 0 : ur.length - 1].set($a(bt), bt) } function Bl(bt) { return Li(bt) && (kd(bt) || Mf(bt)) || lu(bt) && !mp(bt) } function ze(bt, cr) { if (g_(bt)) { let oi = 0, Jr = he.enclosingDeclaration && (Ff(he.enclosingDeclaration) ? Gn(he.enclosingDeclaration) : he.enclosingDeclaration); cr & 1 && Jr && (Bl(Jr) || Tc(Jr)) && WR(bt) && (oi |= 1), Bt && !(oi & 1) && (!Jr || !(Jr.flags & 16777216)) && (hb(bt) || Bc(bt) || Jc(bt) || sl(bt) || Tc(bt)) && (oi |= 2), cr & 1024 && (sl(bt) || ku(bt) || Jc(bt)) && (oi |= 1024), oi && (bt = D.updateModifiers(bt, oi | uu(bt))) } ua.push(bt) } function dt(bt, cr, oi) {
-                            var Jr; let Xr = Kb(bt), Po = Ai(bt).typeParameters, va = on(Po, Wd => tt(Wd, he)), Ui = (Jr = bt.declarations) == null ? void 0 : Jr.find(Ff), Eo = Cw(Ui ? Ui.comment || Ui.parent.comment : void 0), Xo = he.flags; he.flags |= 8388608; let Rc = he.enclosingDeclaration; he.enclosingDeclaration = Ui; let rl = Ui && Ui.typeExpression && UT(Ui.typeExpression) && no(he, Ui.typeExpression.type, ds, Bn) || u(Xr, he); ze(W0(D.createTypeAliasDeclaration(void 0, sd(bt, cr), va, rl), Eo ? [{
-                                kind: 3, text: `*
- * `+ Eo.replace(/\n/g, `
- * `) + `
- `, pos: -1, end: -1, hasTrailingNewLine: !0
-                            }] : []), oi), he.flags = Xo, he.enclosingDeclaration = Rc
-                        } function Ut(bt, cr, oi) { let Jr = vu(bt), Xr = yy(bt), Po = on(Xr, Vl => tt(Vl, he)), va = _o(Jr), Ui = Fn(va) ? so(va) : void 0, Eo = Uo(Jo(Jr), Vl => Dm(Vl, Ui)), Xo = $v(0, Jr, Ui, 176), Rc = $v(1, Jr, Ui, 177), rl = U1(Jr, Ui), Wd = Fn(va) ? [D.createHeritageClause(94, Zi(va, Vl => Hp(Vl, 111551)))] : void 0; ze(D.createInterfaceDeclaration(void 0, sd(bt, cr), Po, Wd, [...rl, ...Rc, ...Xo, ...Eo]), oi) } function wn(bt) { return bt.exports ? Pr(lo(bt.exports.values()), Aa) : [] } function Zn(bt) { return Ji(wn(bt), cr => !(Fl(Ac(cr)) & 111551)) } function fn(bt, cr, oi) { let Jr = wn(bt), Xr = KD(Jr, Ui => Ui.parent && Ui.parent === bt ? "real" : "merged"), Po = Xr.get("real") || Je, va = Xr.get("merged") || Je; if (Fn(Po)) { let Ui = sd(bt, cr); ia(Po, Ui, oi, !!(bt.flags & 67108880)) } if (Fn(va)) { let Ui = Gn(he.enclosingDeclaration), Eo = sd(bt, cr), Xo = D.createModuleBlock([D.createExportDeclaration(void 0, !1, D.createNamedExports(Zi(Pr(va, Rc => Rc.escapedName !== "export="), Rc => { var rl, Wd; let Vl = Gi(Rc.escapedName), bs = sd(Rc, Vl), dc = Rc.declarations && Uu(Rc); if (Ui && (dc ? Ui !== Gn(dc) : !vt(Rc.declarations, Rm => Gn(Rm) === Ui))) { (Wd = (rl = he.tracker) == null ? void 0 : rl.reportNonlocalAugmentation) == null || Wd.call(rl, Ui, bt, Rc); return } let Tg = dc && L_(dc, !0); ds(Tg || Rc); let wm = Tg ? sd(Tg, Gi(Tg.escapedName)) : bs; return D.createExportSpecifier(!1, Vl === wm ? void 0 : wm, Vl) })))]); ze(D.createModuleDeclaration(void 0, D.createIdentifier(Eo), Xo, 16), 0) } } function sr(bt, cr, oi) { ze(D.createEnumDeclaration(D.createModifiersFromModifierFlags(gie(bt) ? 2048 : 0), sd(bt, cr), on(Pr(Jo(zn(bt)), Jr => !!(Jr.flags & 8)), Jr => { let Xr = Jr.declarations && Jr.declarations[0] && q0(Jr.declarations[0]) ? zie(Jr.declarations[0]) : void 0; return D.createEnumMember(Gi(Jr.escapedName), Xr === void 0 ? void 0 : typeof Xr == "string" ? D.createStringLiteral(Xr) : D.createNumericLiteral(Xr)) })), oi) } function Ar(bt, cr, oi, Jr) { let Xr = xa(bt, 0); for (let Po of Xr) { let va = de(Po, 259, he, { name: D.createIdentifier(oi), privateSymbolVisitor: ds, bundledImports: Bn }); ze(it(va, Ei(Po)), Jr) } if (!(cr.flags & 1536 && cr.exports && cr.exports.size)) { let Po = Pr(Jo(bt), Aa); ia(Po, oi, Jr, !0) } } function Ei(bt) { if (bt.declaration && bt.declaration.parent) { if (ar(bt.declaration.parent) && ic(bt.declaration.parent) === 5) return bt.declaration.parent; if (wi(bt.declaration.parent) && bt.declaration.parent.parent) return bt.declaration.parent.parent } return bt.declaration } function ia(bt, cr, oi, Jr) { if (Fn(bt)) { let Po = KD(bt, bs => !Fn(bs.declarations) || vt(bs.declarations, dc => Gn(dc) === Gn(he.enclosingDeclaration)) ? "local" : "remote").get("local") || Je, va = fm.createModuleDeclaration(void 0, D.createIdentifier(cr), D.createModuleBlock([]), 16); go(va, _r), va.locals = Ua(bt), va.symbol = bt[0].parent; let Ui = ua; ua = []; let Eo = Bt; Bt = !1; let Xo = { ...he, enclosingDeclaration: va }, Rc = he; he = Xo, Ii(Ua(Po), Jr, !0), he = Rc, Bt = Eo; let rl = ua; ua = Ui; let Wd = on(rl, bs => pc(bs) && !bs.isExportEquals && Re(bs.expression) ? D.createExportDeclaration(void 0, !1, D.createNamedExports([D.createExportSpecifier(!1, bs.expression, D.createIdentifier("default"))])) : bs), Vl = Ji(Wd, bs => Mr(bs, 1)) ? on(Wd, Dr) : Wd; va = D.updateModuleDeclaration(va, va.modifiers, va.name, D.createModuleBlock(Vl)), ze(va, oi) } } function Aa(bt) { return !!(bt.flags & 2887656) || !(bt.flags & 4194304 || bt.escapedName === "prototype" || bt.valueDeclaration && Ca(bt.valueDeclaration) && Yr(bt.valueDeclaration.parent)) } function Ra(bt) { let cr = Zi(bt, oi => { let Jr = he.enclosingDeclaration; he.enclosingDeclaration = oi; let Xr = oi.expression; if (bc(Xr)) { if (Re(Xr) && vr(Xr) === "") return Po(void 0); let va; if ({ introducesError: va, node: Xr } = Xs(Xr, he, ds), va) return Po(void 0) } return Po(D.createExpressionWithTypeArguments(Xr, on(oi.typeArguments, va => no(he, va, ds, Bn) || u($r(va), he)))); function Po(va) { return he.enclosingDeclaration = Jr, va } }); if (cr.length === bt.length) return cr } function Zr(bt, cr, oi) { var Jr, Xr; let Po = (Jr = bt.declarations) == null ? void 0 : Jr.find(Yr), va = he.enclosingDeclaration; he.enclosingDeclaration = Po || va; let Ui = yy(bt), Eo = on(Ui, lp => tt(lp, he)), Xo = vu(bt), Rc = _o(Xo), rl = Po && JA(Po), Wd = rl && Ra(rl) || Zi(Ci(Xo), cA), Vl = zn(bt), bs = !!((Xr = Vl.symbol) != null && Xr.valueDeclaration) && Yr(Vl.symbol.valueDeclaration), dc = bs ? Wr(Vl) : Se, Tg = [...Fn(Rc) ? [D.createHeritageClause(94, on(Rc, lp => KC(lp, dc, cr)))] : [], ...Fn(Wd) ? [D.createHeritageClause(117, Wd)] : []], wm = Qtt(Xo, Rc, Jo(Xo)), Rm = Pr(wm, lp => { let qC = lp.valueDeclaration; return !!qC && !(zl(qC) && pi(qC.name)) }), Ry = vt(wm, lp => { let qC = lp.valueDeclaration; return !!qC && zl(qC) && pi(qC.name) }) ? [D.createPropertyDeclaration(void 0, D.createPrivateIdentifier("#private"), void 0, void 0, void 0)] : Je, tae = Uo(Rm, lp => Mn(lp, !1, Rc[0])), nae = Uo(Pr(Jo(Vl), lp => !(lp.flags & 4194304) && lp.escapedName !== "prototype" && !Aa(lp)), lp => Mn(lp, !0, dc)), pit = !bs && !!bt.valueDeclaration && Yn(bt.valueDeclaration) && !vt(xa(Vl, 1)) ? [D.createConstructorDeclaration(D.createModifiersFromModifierFlags(8), [], void 0)] : $v(1, Vl, dc, 173), mit = U1(Xo, Rc[0]); he.enclosingDeclaration = va, ze(it(D.createClassDeclaration(void 0, cr, Eo, Tg, [...mit, ...nae, ...pit, ...tae, ...Ry]), bt.declarations && Pr(bt.declarations, lp => sl(lp) || _u(lp))[0]), oi) } function Oa(bt) { return ks(bt, cr => { if ($u(cr) || Mu(cr)) return vr(cr.propertyName || cr.name); if (ar(cr) || pc(cr)) { let oi = pc(cr) ? cr.expression : cr.right; if (br(oi)) return vr(oi.name) } if (Zh(cr)) { let oi = sa(cr); if (oi && Re(oi)) return vr(oi) } }) } function mo(bt, cr, oi) { var Jr, Xr, Po, va, Ui; let Eo = Uu(bt); if (!Eo) return L.fail(); let Xo = No(L_(Eo, !0)); if (!Xo) return; let Rc = CI(Xo) && Oa(bt.declarations) || Gi(Xo.escapedName); Rc === "export=" && (f_(Y) || Y.allowSyntheticDefaultImports) && (Rc = "default"); let rl = sd(Xo, Rc); switch (ds(Xo), Eo.kind) { case 205: if (((Xr = (Jr = Eo.parent) == null ? void 0 : Jr.parent) == null ? void 0 : Xr.kind) === 257) { let bs = Jt(Xo.parent || Xo, he), { propertyName: dc } = Eo; ze(D.createImportDeclaration(void 0, D.createImportClause(!1, void 0, D.createNamedImports([D.createImportSpecifier(!1, dc && Re(dc) ? D.createIdentifier(vr(dc)) : void 0, D.createIdentifier(cr))])), D.createStringLiteral(bs), void 0), 0); break } L.failBadSyntaxKind(((Po = Eo.parent) == null ? void 0 : Po.parent) || Eo, "Unhandled binding element grandparent kind in declaration serialization"); break; case 300: ((Ui = (va = Eo.parent) == null ? void 0 : va.parent) == null ? void 0 : Ui.kind) === 223 && co(Gi(bt.escapedName), rl); break; case 257: if (br(Eo.initializer)) { let bs = Eo.initializer, dc = D.createUniqueName(cr), Tg = Jt(Xo.parent || Xo, he); ze(D.createImportEqualsDeclaration(void 0, !1, dc, D.createExternalModuleReference(D.createStringLiteral(Tg))), 0), ze(D.createImportEqualsDeclaration(void 0, !1, D.createIdentifier(cr), D.createQualifiedName(dc, bs.name)), oi); break } case 268: if (Xo.escapedName === "export=" && vt(Xo.declarations, bs => Li(bs) && Mf(bs))) { as(bt); break } let Wd = !(Xo.flags & 512) && !wi(Eo); ze(D.createImportEqualsDeclaration(void 0, !1, D.createIdentifier(cr), Wd ? qi(Xo, he, 67108863, !1) : D.createExternalModuleReference(D.createStringLiteral(Jt(Xo, he)))), Wd ? oi : 0); break; case 267: ze(D.createNamespaceExportDeclaration(vr(Eo.name)), 0); break; case 270: { let bs = Jt(Xo.parent || Xo, he), dc = Bn ? D.createStringLiteral(bs) : Eo.parent.moduleSpecifier; ze(D.createImportDeclaration(void 0, D.createImportClause(!1, D.createIdentifier(cr), void 0), dc, Eo.parent.assertClause), 0); break } case 271: { let bs = Jt(Xo.parent || Xo, he), dc = Bn ? D.createStringLiteral(bs) : Eo.parent.parent.moduleSpecifier; ze(D.createImportDeclaration(void 0, D.createImportClause(!1, void 0, D.createNamespaceImport(D.createIdentifier(cr))), dc, Eo.parent.parent.assertClause), 0); break } case 277: ze(D.createExportDeclaration(void 0, !1, D.createNamespaceExport(D.createIdentifier(cr)), D.createStringLiteral(Jt(Xo, he))), 0); break; case 273: { let bs = Jt(Xo.parent || Xo, he), dc = Bn ? D.createStringLiteral(bs) : Eo.parent.parent.parent.moduleSpecifier; ze(D.createImportDeclaration(void 0, D.createImportClause(!1, void 0, D.createNamedImports([D.createImportSpecifier(!1, cr !== Rc ? D.createIdentifier(Rc) : void 0, D.createIdentifier(cr))])), dc, Eo.parent.parent.parent.assertClause), 0); break } case 278: let Vl = Eo.parent.parent.moduleSpecifier; co(Gi(bt.escapedName), Vl ? Rc : rl, Vl && es(Vl) ? D.createStringLiteral(Vl.text) : void 0); break; case 274: as(bt); break; case 223: case 208: case 209: bt.escapedName === "default" || bt.escapedName === "export=" ? as(bt) : co(cr, rl); break; default: return L.failBadSyntaxKind(Eo, "Unhandled alias declaration kind in symbol serializer!") } } function co(bt, cr, oi) { ze(D.createExportDeclaration(void 0, !1, D.createNamedExports([D.createExportSpecifier(!1, bt !== cr ? cr : void 0, bt)]), oi), 0) } function as(bt) { if (bt.flags & 4194304) return !1; let cr = Gi(bt.escapedName), oi = cr === "export=", Xr = oi || cr === "default", Po = bt.declarations && Uu(bt), va = Po && L_(Po, !0); if (va && Fn(va.declarations) && vt(va.declarations, Ui => Gn(Ui) === Gn(_r))) { let Ui = Po && (pc(Po) || ar(Po) ? UH(Po) : xce(Po)), Eo = Ui && bc(Ui) ? _nt(Ui) : void 0, Xo = Eo && uc(Eo, 67108863, !0, !0, _r); (Xo || va) && ds(Xo || va); let Rc = he.tracker.disableTrackSymbol; if (he.tracker.disableTrackSymbol = !0, Xr) ua.push(D.createExportAssignment(void 0, oi, wa(va, he, 67108863))); else if (Eo === Ui && Eo) co(cr, vr(Eo)); else if (Ui && _u(Ui)) co(cr, sd(va, fc(va))); else { let rl = lA(cr, bt); ze(D.createImportEqualsDeclaration(void 0, !1, D.createIdentifier(rl), qi(va, he, 67108863, !1)), 0), co(cr, rl) } return he.tracker.disableTrackSymbol = Rc, !0 } else { let Ui = lA(cr, bt), Eo = Sd(zn(No(bt))); if (Ul(Eo, bt)) Ar(Eo, bt, Ui, Xr ? 0 : 1); else { let Xo = D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(Ui, void 0, Bi(he, Eo, bt, _r, ds, Bn))], 2)); ze(Xo, va && va.flags & 4 && va.escapedName === "export=" ? 2 : cr === Ui ? 1 : 0) } return Xr ? (ua.push(D.createExportAssignment(void 0, oi, D.createIdentifier(Ui))), !0) : cr !== Ui ? (co(cr, Ui), !0) : !1 } } function Ul(bt, cr) { let oi = Gn(he.enclosingDeclaration); return Ur(bt) & 48 && !Fn(tu(bt)) && !Ti(bt) && !!(Fn(Pr(Jo(bt), Aa)) || Fn(xa(bt, 0))) && !Fn(xa(bt, 1)) && !qn(cr, _r) && !(bt.symbol && vt(bt.symbol.declarations, Jr => Gn(Jr) !== oi)) && !vt(Jo(bt), Jr => qk(Jr.escapedName)) && !vt(Jo(bt), Jr => vt(Jr.declarations, Xr => Gn(Xr) !== oi)) && Ji(Jo(bt), Jr => i_(fc(Jr), R)) } function F_(bt, cr, oi) { return function (Xr, Po, va) { var Ui, Eo, Xo, Rc, rl; let Wd = Ef(Xr), Vl = !!(Wd & 8); if (Po && Xr.flags & 2887656) return []; if (Xr.flags & 4194304 || va && ja(va, Xr.escapedName) && M_(ja(va, Xr.escapedName)) === M_(Xr) && (Xr.flags & 16777216) === (ja(va, Xr.escapedName).flags & 16777216) && ph(zn(Xr), Vc(va, Xr.escapedName))) return []; let bs = Wd & -513 | (Po ? 32 : 0), dc = Hd(Xr, he), Tg = (Ui = Xr.declarations) == null ? void 0 : Ui.find(Kp(Na, rb, wi, $d, ar, br)); if (Xr.flags & 98304 && oi) { let wm = []; if (Xr.flags & 65536 && wm.push(it(D.createSetAccessorDeclaration(D.createModifiersFromModifierFlags(bs), dc, [D.createParameterDeclaration(void 0, void 0, "arg", void 0, Vl ? void 0 : Bi(he, zn(Xr), Xr, _r, ds, Bn))], void 0), ((Eo = Xr.declarations) == null ? void 0 : Eo.find(Ng)) || Tg)), Xr.flags & 32768) { let Rm = Wd & 8; wm.push(it(D.createGetAccessorDeclaration(D.createModifiersFromModifierFlags(bs), dc, [], Rm ? void 0 : Bi(he, zn(Xr), Xr, _r, ds, Bn), void 0), ((Xo = Xr.declarations) == null ? void 0 : Xo.find(zy)) || Tg)) } return wm } else if (Xr.flags & 98311) return it(bt(D.createModifiersFromModifierFlags((M_(Xr) ? 64 : 0) | bs), dc, Xr.flags & 16777216 ? D.createToken(57) : void 0, Vl ? void 0 : Bi(he, mC(Xr), Xr, _r, ds, Bn), void 0), ((Rc = Xr.declarations) == null ? void 0 : Rc.find(Kp(Na, wi))) || Tg); if (Xr.flags & 8208) { let wm = zn(Xr), Rm = xa(wm, 0); if (bs & 8) return it(bt(D.createModifiersFromModifierFlags((M_(Xr) ? 64 : 0) | bs), dc, Xr.flags & 16777216 ? D.createToken(57) : void 0, void 0, void 0), ((rl = Xr.declarations) == null ? void 0 : rl.find(Ds)) || Rm[0] && Rm[0].declaration || Xr.declarations && Xr.declarations[0]); let V1 = []; for (let Ry of Rm) { let tae = de(Ry, cr, he, { name: dc, questionToken: Xr.flags & 16777216 ? D.createToken(57) : void 0, modifiers: bs ? D.createModifiersFromModifierFlags(bs) : void 0 }), nae = Ry.declaration && nR(Ry.declaration.parent) ? Ry.declaration.parent : Ry.declaration; V1.push(it(tae, nae)) } return V1 } return L.fail(`Unhandled class member kind! ${Xr.__debugFlags || Xr.flags}`) } } function Dm(bt, cr) { return or(bt, !1, cr) } function $v(bt, cr, oi, Jr) { let Xr = xa(cr, bt); if (bt === 1) { if (!oi && Ji(Xr, Ui => Fn(Ui.parameters) === 0)) return []; if (oi) { let Ui = xa(oi, 1); if (!Fn(Ui) && Ji(Xr, Eo => Fn(Eo.parameters) === 0)) return []; if (Ui.length === Xr.length) { let Eo = !1; for (let Xo = 0; Xo < Ui.length; Xo++)if (!vM(Xr[Xo], Ui[Xo], !1, !1, !0, sD)) { Eo = !0; break } if (!Eo) return [] } } let va = 0; for (let Ui of Xr) Ui.declaration && (va |= hS(Ui.declaration, 24)); if (va) return [it(D.createConstructorDeclaration(D.createModifiersFromModifierFlags(va), [], void 0), Xr[0].declaration)] } let Po = []; for (let va of Xr) { let Ui = de(va, Jr, he); Po.push(it(Ui, va.declaration)) } return Po } function U1(bt, cr) { let oi = []; for (let Jr of tu(bt)) { if (cr) { let Xr = Cm(cr, Jr.keyType); if (Xr && ph(Jr.type, Xr.type)) continue } oi.push(J(Jr, he, void 0)) } return oi } function KC(bt, cr, oi) { let Jr = Hp(bt, 111551); if (Jr) return Jr; let Xr = lA(`${oi}_base`), Po = D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(Xr, void 0, u(cr, he))], 2)); return ze(Po, 0), D.createExpressionWithTypeArguments(D.createIdentifier(Xr), void 0) } function Hp(bt, cr) { let oi, Jr; if (bt.target && NE(bt.target.symbol, _r, cr) ? (oi = on(Ko(bt), Xr => u(Xr, he)), Jr = wa(bt.target.symbol, he, 788968)) : bt.symbol && NE(bt.symbol, _r, cr) && (Jr = wa(bt.symbol, he, 788968)), Jr) return D.createExpressionWithTypeArguments(Jr, oi) } function cA(bt) { let cr = Hp(bt, 788968); if (cr) return cr; if (bt.symbol) return D.createExpressionWithTypeArguments(wa(bt.symbol, he, 788968), void 0) } function lA(bt, cr) { var oi, Jr; let Xr = cr ? $a(cr) : void 0; if (Xr && he.remappedSymbolNames.has(Xr)) return he.remappedSymbolNames.get(Xr); cr && (bt = iT(cr, bt)); let Po = 0, va = bt; for (; (oi = he.usedSymbolNames) != null && oi.has(bt);)Po++, bt = `${va}_${Po}`; return (Jr = he.usedSymbolNames) == null || Jr.add(bt), Xr && he.remappedSymbolNames.set(Xr, bt), bt } function iT(bt, cr) { if (cr === "default" || cr === "__class" || cr === "__function") { let oi = he.flags; he.flags |= 16777216; let Jr = _y(bt, he); he.flags = oi, cr = Jr.length > 0 && Xw(Jr.charCodeAt(0)) ? u_(Jr) : Jr } return cr === "default" ? cr = "_default" : cr === "export=" && (cr = "_exports"), cr = i_(cr, R) && !fS(cr) ? cr : "_" + cr.replace(/[^a-zA-Z0-9]/g, "_"), cr } function sd(bt, cr) { let oi = $a(bt); return he.remappedSymbolNames.has(oi) ? he.remappedSymbolNames.get(oi) : (cr = iT(bt, cr), he.remappedSymbolNames.set(oi, cr), cr) }
-                    }
-                } function kl(n, a, c = 16384, u) { return u ? p(u).getText() : SI(p); function p(h) { let T = D.createTypePredicateNode(n.kind === 2 || n.kind === 3 ? D.createToken(129) : void 0, n.kind === 1 || n.kind === 3 ? D.createIdentifier(n.parameterName) : D.createThisTypeNode(), n.type && Be.typeToTypeNode(n.type, a, qr(c) | 70221824 | 512)), k = rE(), O = a && Gn(a); return k.writeNode(4, T, O, h), h } } function Ed(n) { let a = [], c = 0; for (let u = 0; u < n.length; u++) { let p = n[u]; if (c |= p.flags, !(p.flags & 98304)) { if (p.flags & 1568) { let h = p.flags & 512 ? Te : Kk(p); if (h.flags & 1048576) { let T = h.types.length; if (u + T <= n.length && Hu(n[u + T - 1]) === Hu(h.types[T - 1])) { a.push(h), u += T - 1; continue } } } a.push(p) } } return c & 65536 && a.push(ln), c & 32768 && a.push(Oe), a || n } function Ud(n) { return n === 8 ? "private" : n === 16 ? "protected" : "public" } function fy(n) { if (n.symbol && n.symbol.flags & 2048 && n.symbol.declarations) { let a = dR(n.symbol.declarations[0].parent); if (Ep(a)) return fr(a) } } function Td(n) { return n && n.parent && n.parent.kind === 265 && D0(n.parent.parent) } function Ov(n) { return n.kind === 308 || lu(n) } function Nv(n, a) { let c = Ai(n).nameType; if (c) { if (c.flags & 384) { let u = "" + c.value; return !i_(u, Do(Y)) && !Wm(u) ? `"${_S(u, 34)}"` : Wm(u) && na(u, "-") ? `[${u}]` : u } if (c.flags & 8192) return `[${_y(c.symbol, a)}]` } } function _y(n, a) { if (a && n.escapedName === "default" && !(a.flags & 16384) && (!(a.flags & 16777216) || !n.declarations || a.enclosingDeclaration && jn(n.declarations[0], Ov) !== jn(a.enclosingDeclaration, Ov))) return "default"; if (n.declarations && n.declarations.length) { let u = ks(n.declarations, h => sa(h) ? h : void 0), p = u && sa(u); if (u && p) { if (Pa(u) && sS(u)) return fc(n); if (ts(p) && !(ac(n) & 4096)) { let h = Ai(n).nameType; if (h && h.flags & 384) { let T = Nv(n, a); if (T !== void 0) return T } } return os(p) } if (u || (u = n.declarations[0]), u.parent && u.parent.kind === 257) return os(u.parent.name); switch (u.kind) { case 228: case 215: case 216: return a && !a.encounteredError && !(a.flags & 131072) && (a.encounteredError = !0), u.kind === 228 ? "(Anonymous class)" : "(Anonymous function)" } } let c = Nv(n, a); return c !== void 0 ? c : fc(n) } function Xf(n) { if (n) { let c = Rr(n); return c.isVisible === void 0 && (c.isVisible = !!a()), c.isVisible } return !1; function a() { switch (n.kind) { case 341: case 349: case 343: return !!(n.parent && n.parent.parent && n.parent.parent.parent && Li(n.parent.parent.parent)); case 205: return Xf(n.parent.parent); case 257: if (La(n.name) && !n.name.elements.length) return !1; case 264: case 260: case 261: case 262: case 259: case 263: case 268: if (D0(n)) return !0; let c = FE(n); return !(wg(n) & 1) && !(n.kind !== 268 && c.kind !== 308 && c.flags & 16777216) ? gm(c) : Xf(c); case 169: case 168: case 174: case 175: case 171: case 170: if (cd(n, 24)) return !1; case 173: case 177: case 176: case 178: case 166: case 265: case 181: case 182: case 184: case 180: case 185: case 186: case 189: case 190: case 193: case 199: return Xf(n.parent); case 270: case 271: case 273: return !1; case 165: case 308: case 267: return !0; case 274: return !1; default: return !1 } } } function ME(n, a) { let c; n.parent && n.parent.kind === 274 ? c = zs(n, n.escapedText, 2998271, void 0, n, !1) : n.parent.kind === 278 && (c = Kf(n.parent, 2998271)); let u, p; return c && (p = new Set, p.add($a(c)), h(c.declarations)), u; function h(T) { mn(T, k => { let O = x1(k) || k; if (a ? Rr(k).isVisible = !0 : (u = u || [], Of(u, O)), GA(k)) { let H = k.moduleReference, J = Yd(H), de = zs(k, J.escapedText, 901119, void 0, void 0, !1); de && p && _0(p, $a(de)) && h(de.declarations) } }) } } function cf(n, a) { let c = Sm(n, a); if (c >= 0) { let { length: u } = Wh; for (let p = c; p < u; p++)S_[p] = !1; return !1 } return Wh.push(n), S_.push(!0), hv.push(a), !0 } function Sm(n, a) { for (let c = Wh.length - 1; c >= 0; c--) { if (py(Wh[c], hv[c])) return -1; if (Wh[c] === n && hv[c] === a) return c } return -1 } function py(n, a) { switch (a) { case 0: return !!Ai(n).type; case 5: return !!Rr(n).resolvedEnumType; case 2: return !!Ai(n).declaredType; case 1: return !!n.resolvedBaseConstructorType; case 3: return !!n.resolvedReturnType; case 4: return !!n.immediateBaseConstraint; case 6: return !!n.resolvedTypeArguments; case 7: return !!n.baseTypesResolved; case 8: return !!Ai(n).writeType; case 9: return Rr(n).parameterInitializerContainsUndefined !== void 0 }return L.assertNever(a) } function If() { return Wh.pop(), hv.pop(), S_.pop() } function FE(n) { return jn(nm(n), a => { switch (a.kind) { case 257: case 258: case 273: case 272: case 271: case 270: return !1; default: return !0 } }).parent } function Pv(n) { let a = gs(ju(n)); return a.typeParameters ? _g(a, on(a.typeParameters, c => Se)) : a } function Vc(n, a) { let c = ja(n, a); return c ? zn(c) : void 0 } function KP(n, a) { var c; return Vc(n, a) || ((c = jx(n, a)) == null ? void 0 : c.type) || ue } function Zo(n) { return n && (n.flags & 1) !== 0 } function Ro(n) { return n === ve || !!(n.flags & 1 && n.aliasSymbol) } function Px(n, a) { if (a !== 0) return Oo(n, !1, a); let c = fr(n); return c && Ai(c).type || Oo(n, !1, a) } function Mx(n, a, c) { if (n = jc(n, O => !(O.flags & 98304)), n.flags & 131072) return Ki; if (n.flags & 1048576) return Ls(n, O => Mx(O, a, c)); let u = Gr(on(a, pg)), p = [], h = []; for (let O of Jo(n)) { let H = TC(O, 8576); !to(H, u) && !(Ef(O) & 24) && iB(O) ? p.push(O) : h.push(H) } if (Zb(n) || jv(u)) { if (h.length && (u = Gr([u, ...h])), u.flags & 131072) return n; let O = AKe(); return O ? Jx(O, [n, u]) : ve } let T = Ua(); for (let O of p) T.set(O.escapedName, Dne(O, !1)); let k = ls(c, T, Je, Je, tu(n)); return k.objectFlags |= 4194304, k } function V(n) { return !!(n.flags & 465829888) && Js(bu(n) || ue, 32768) } function me(n) { let a = yh(n, V) ? Ls(n, c => c.flags & 465829888 ? Ty(c) : c) : n; return wf(a, 524288) } function Ue(n, a) { let c = ut(n); return c ? Yv(c, a) : a } function ut(n) { let a = Lt(n); if (a && cR(a) && a.flowNode) { let c = dn(n); if (c) { let u = it(fm.createStringLiteral(c), n), p = Ju(a) ? a : fm.createParenthesizedExpression(a), h = it(fm.createElementAccessExpression(p, u), n); return go(u, h), go(h, n), p !== a && go(p, h), h.flowNode = a.flowNode, h } } } function Lt(n) { let a = n.parent.parent; switch (a.kind) { case 205: case 299: return ut(a); case 206: return ut(n.parent); case 257: return a.initializer; case 223: return a.right } } function dn(n) { let a = n.parent; return n.kind === 205 && a.kind === 203 ? Er(n.propertyName || n.name) : n.kind === 299 || n.kind === 300 ? Er(n.name) : "" + a.elements.indexOf(n) } function Er(n) { let a = pg(n); return a.flags & 384 ? "" + a.value : void 0 } function ii(n) { let a = n.dotDotDotToken ? 64 : 0, c = Px(n.parent.parent, a); return c && li(n, c) } function li(n, a) { if (Zo(a)) return a; let c = n.parent; U && n.flags & 16777216 && CT(n) ? a = yg(a) : U && c.parent.initializer && !(iu(V2e(c.parent.initializer)) & 65536) && (a = wf(a, 524288)); let u; if (c.kind === 203) if (n.dotDotDotToken) { if (a = O_(a), a.flags & 2 || !RM(a)) return Fe(n, _.Rest_types_may_only_be_created_from_object_types), ve; let p = []; for (let h of c.elements) h.dotDotDotToken || p.push(h.propertyName || h.name); u = Mx(a, p, n.symbol) } else { let p = n.propertyName || n.name, h = pg(p), T = od(a, h, 32, p); u = Ue(n, T) } else { let p = wy(65 | (n.dotDotDotToken ? 0 : 128), a, Oe, c), h = c.elements.indexOf(n); if (n.dotDotDotToken) { let T = Ty(a); u = Im(T, po) ? Ls(T, k => EC(k, h)) : nu(p) } else if (Kv(a)) { let T = op(h), k = 32 | (RC(n) ? 16 : 0), O = Ay(a, T, k, n.name) || ve; u = Ue(n, O) } else u = p } return n.initializer ? Cl(bA(n)) ? U && !(iu(ID(n, 0)) & 16777216) ? me(u) : u : vie(n, Gr([me(u), ID(n, 0)], 2)) : u } function di(n) { let a = Vy(n); if (a) return $r(a) } function ma(n) { let a = vs(n, !0); return a.kind === 104 || a.kind === 79 && Qf(a) === Le } function is(n) { let a = vs(n, !0); return a.kind === 206 && a.elements.length === 0 } function ao(n, a = !1, c = !0) { return U && c ? gg(n, a) : n } function Oo(n, a, c) { if (wi(n) && n.parent.parent.kind === 246) { let T = Gp(Wre(Yi(n.parent.parent.expression, c))); return T.flags & 4456448 ? AAe(T) : ae } if (wi(n) && n.parent.parent.kind === 247) { let T = n.parent.parent; return e8(T) || Se } if (La(n.parent)) return ii(n); let u = Na(n) && !rm(n) || $d(n) || $ue(n), p = a && WW(n), h = ad(n); if (cH(n)) return h ? Zo(h) || h === ue ? h : ve : Ve ? ue : Se; if (h) return ao(h, u, p); if ((ge || Yn(n)) && wi(n) && !La(n.name) && !(wg(n) & 1) && !(n.flags & 16777216)) { if (!(G_(n) & 2) && (!n.initializer || ma(n.initializer))) return at; if (n.initializer && is(n.initializer)) return bn } if (ha(n)) { let T = n.parent; if (T.kind === 175 && Ux(T)) { let H = nc(fr(n.parent), 174); if (H) { let J = ip(H), de = Qie(T); return de && n === de ? (L.assert(!de.type), zn(J.thisParameter)) : qo(J) } } let k = QJe(T, n); if (k) return k; let O = n.symbol.escapedName === "this" ? oCe(T) : sCe(n); if (O) return ao(O, !1, p) } if (mT(n) && n.initializer) { if (Yn(n) && !ha(n)) { let k = fC(n, fr(n), $w(n)); if (k) return k } let T = vie(n, ID(n, c)); return ao(T, u, p) } if (Na(n) && (ge || Yn(n))) if (zc(n)) { let T = Pr(n.parent.members, oc), k = T.length ? Yf(n.symbol, T) : uu(n) & 2 ? yB(n.symbol) : void 0; return k && ao(k, !0, p) } else { let T = wv(n.parent), k = T ? my(n.symbol, T) : uu(n) & 2 ? yB(n.symbol) : void 0; return k && ao(k, !0, p) } if (Sp(n)) return pe; if (La(n.name)) return oo(n.name, !1, !0) } function id(n) { if (n.valueDeclaration && ar(n.valueDeclaration)) { let a = Ai(n); return a.isConstructorDeclaredProperty === void 0 && (a.isConstructorDeclaredProperty = !1, a.isConstructorDeclaredProperty = !!Op(n) && Ji(n.declarations, c => ar(c) && GB(c) && (c.left.kind !== 209 || yf(c.left.argumentExpression)) && !k_(void 0, c, n, c))), a.isConstructorDeclaredProperty } return !1 } function np(n) { let a = n.valueDeclaration; return a && Na(a) && !Cl(a) && !a.initializer && (ge || Yn(a)) } function Op(n) { if (n.declarations) for (let a of n.declarations) { let c = Ku(a, !1, !1); if (c && (c.kind === 173 || cp(c))) return c } } function cg(n) { let a = Gn(n.declarations[0]), c = Gi(n.escapedName), u = n.declarations.every(h => Yn(h) && Us(h) && Bm(h.expression)), p = u ? D.createPropertyAccessExpression(D.createPropertyAccessExpression(D.createIdentifier("module"), D.createIdentifier("exports")), c) : D.createPropertyAccessExpression(D.createIdentifier("exports"), c); return u && go(p.expression.expression, p.expression), go(p.expression, p), go(p, a), p.flowNode = a.endFlowNode, Yv(p, at, Oe) } function Yf(n, a) { let c = na(n.escapedName, "__#") ? D.createPrivateIdentifier(n.escapedName.split("@")[1]) : Gi(n.escapedName); for (let u of a) { let p = D.createPropertyAccessExpression(D.createThis(), c); go(p.expression, p), go(p, u), p.flowNode = u.returnFlowNode; let h = Fx(p, n); if (ge && (h === at || h === bn) && Fe(n.valueDeclaration, _.Member_0_implicitly_has_an_1_type, E(n), Ee(h)), !Im(h, zB)) return PD(h) } } function my(n, a) { let c = na(n.escapedName, "__#") ? D.createPrivateIdentifier(n.escapedName.split("@")[1]) : Gi(n.escapedName), u = D.createPropertyAccessExpression(D.createThis(), c); go(u.expression, u), go(u, a), u.flowNode = a.returnFlowNode; let p = Fx(u, n); return ge && (p === at || p === bn) && Fe(n.valueDeclaration, _.Member_0_implicitly_has_an_1_type, E(n), Ee(p)), Im(p, zB) ? void 0 : PD(p) } function Fx(n, a) { let c = a?.valueDeclaration && (!np(a) || uu(a.valueDeclaration) & 2) && yB(a) || Oe; return Yv(n, at, c) } function GE(n, a) { let c = oS(n.valueDeclaration); if (c) { let k = Yn(c) ? x0(c) : void 0; return k && k.typeExpression ? $r(k.typeExpression) : n.valueDeclaration && fC(n.valueDeclaration, n, c) || i0(Ic(c)) } let u, p = !1, h = !1; if (id(n) && (u = my(n, Op(n))), !u) { let k; if (n.declarations) { let O; for (let H of n.declarations) { let J = ar(H) || Pa(H) ? H : Us(H) ? ar(H.parent) ? H.parent : H : void 0; if (!J) continue; let de = Us(J) ? tR(J) : ic(J); (de === 4 || ar(J) && GB(J, de)) && (lf(J) ? p = !0 : h = !0), Pa(J) || (O = k_(O, J, n, H)), O || (k || (k = [])).push(ar(J) || Pa(J) ? Mv(n, a, J, de) : lt) } u = O } if (!u) { if (!Fn(k)) return ve; let O = p && n.declarations ? Gx(k, n.declarations) : void 0; if (h) { let J = yB(n); J && ((O || (O = [])).push(J), p = !0) } let H = vt(O, J => !!(J.flags & -98305)) ? O : k; u = Gr(H) } } let T = Sd(ao(u, !1, h && !p)); return n.valueDeclaration && jc(T, k => !!(k.flags & -98305)) === lt ? (qv(n.valueDeclaration, Se), Se) : T } function fC(n, a, c) { var u, p; if (!Yn(n) || !c || !rs(c) || c.properties.length) return; let h = Ua(); for (; ar(n) || br(n);) { let O = vd(n); (u = O?.exports) != null && u.size && ll(h, O.exports), n = ar(n) ? n.parent : n.parent.parent } let T = vd(n); (p = T?.exports) != null && p.size && ll(h, T.exports); let k = ls(a, h, Je, Je, Je); return k.objectFlags |= 4096, k } function k_(n, a, c, u) { var p; let h = Cl(a.parent); if (h) { let T = Sd($r(h)); if (n) !Ro(n) && !Ro(T) && !ph(n, T) && cLe(void 0, n, u, T); else return T } if ((p = c.parent) != null && p.valueDeclaration) { let T = Cl(c.parent.valueDeclaration); if (T) { let k = ja($r(T), c.escapedName); if (k) return Gv(k) } } return n } function Mv(n, a, c, u) { if (Pa(c)) { if (a) return zn(a); let T = Ic(c.arguments[2]), k = Vc(T, "value"); if (k) return k; let O = Vc(T, "get"); if (O) { let J = F1(O); if (J) return qo(J) } let H = Vc(T, "set"); if (H) { let J = F1(H); if (J) return uie(J) } return Se } if (_C(c.left, c.right)) return Se; let p = u === 1 && (br(c.left) || Vs(c.left)) && (Bm(c.left.expression) || Re(c.left.expression) && TT(c.left.expression)), h = a ? zn(a) : p ? Hu(Ic(c.right)) : i0(Ic(c.right)); if (h.flags & 524288 && u === 2 && n.escapedName === "export=") { let T = R_(h), k = Ua(); Mw(T.members, k); let O = k.size; a && !a.exports && (a.exports = Ua()), (a || n).exports.forEach((J, de) => { var Ae; let xe = k.get(de); if (xe && xe !== J && !(J.flags & 2097152)) if (J.flags & 111551 && xe.flags & 111551) { if (J.valueDeclaration && xe.valueDeclaration && Gn(J.valueDeclaration) !== Gn(xe.valueDeclaration)) { let It = Gi(J.escapedName), Tn = ((Ae = zr(xe.valueDeclaration, zl)) == null ? void 0 : Ae.name) || xe.valueDeclaration; Ao(Fe(J.valueDeclaration, _.Duplicate_identifier_0, It), hr(Tn, _._0_was_also_declared_here, It)), Ao(Fe(Tn, _.Duplicate_identifier_0, It), hr(J.valueDeclaration, _._0_was_also_declared_here, It)) } let tt = wo(J.flags | xe.flags, de); tt.links.type = Gr([zn(J), zn(xe)]), tt.valueDeclaration = xe.valueDeclaration, tt.declarations = Qi(xe.declarations, J.declarations), k.set(de, tt) } else k.set(de, C_(J, xe)); else k.set(de, J) }); let H = ls(O !== k.size ? void 0 : T.symbol, k, T.callSignatures, T.constructSignatures, T.indexInfos); if (O === k.size && (h.aliasSymbol && (H.aliasSymbol = h.aliasSymbol, H.aliasTypeArguments = h.aliasTypeArguments), Ur(h) & 4)) { H.aliasSymbol = h.symbol; let J = Ko(h); H.aliasTypeArguments = Fn(J) ? J : void 0 } return H.objectFlags |= Ur(h) & 4096, H.symbol && H.symbol.flags & 32 && h === vu(H.symbol) && (H.objectFlags |= 16777216), H } return bB(h) ? (qv(c, Et), Et) : h } function _C(n, a) { return br(n) && n.expression.kind === 108 && kO(a, c => El(n, c)) } function lf(n) { let a = Ku(n, !1, !1); return a.kind === 173 || a.kind === 259 || a.kind === 215 && !nR(a.parent) } function Gx(n, a) { return L.assert(n.length === a.length), n.filter((c, u) => { let p = a[u], h = ar(p) ? p : ar(p.parent) ? p.parent : void 0; return h && lf(h) }) } function hy(n, a, c) { if (n.initializer) { let u = La(n.name) ? oo(n.name, !0, !1) : ue; return ao(vie(n, ID(n, 0, u))) } return La(n.name) ? oo(n.name, a, c) : (c && !Wk(n) && qv(n, Se), a ? ce : Se) } function jk(n, a, c) { let u = Ua(), p, h = 131200; mn(n.elements, k => { let O = k.propertyName || k.name; if (k.dotDotDotToken) { p = Fp(ae, Se, !1); return } let H = pg(O); if (!fh(H)) { h |= 512; return } let J = Np(H), de = 4 | (k.initializer ? 16777216 : 0), Ae = wo(de, J); Ae.links.type = hy(k, a, c), Ae.links.bindingElement = k, u.set(Ae.escapedName, Ae) }); let T = ls(void 0, u, Je, Je, p ? [p] : Je); return T.objectFlags |= h, a && (T.pattern = n, T.objectFlags |= 131072), T } function Hk(n, a, c) { let u = n.elements, p = Os(u), h = p && p.kind === 205 && p.dotDotDotToken ? p : void 0; if (u.length === 0 || u.length === 1 && h) return R >= 2 ? cAe(Se) : Et; let T = on(u, J => ol(J) ? Se : hy(J, a, c)), k = s8(u, J => !(J === h || ol(J) || RC(J)), u.length - 1) + 1, O = on(u, (J, de) => J === h ? 4 : de >= k ? 2 : 1), H = ap(T, O); return a && (H = Wxe(H), H.pattern = n, H.objectFlags |= 131072), H } function oo(n, a = !1, c = !1) { return n.kind === 203 ? jk(n, a, c) : Hk(n, a, c) } function Zs(n, a) { return gy(Oo(n, !0, 0), n, a) } function Fv(n) { let a = vd(n), c = pKe(!1); return c && a && a === c } function gy(n, a, c) { return n ? (n.flags & 4096 && Fv(a.parent) && (n = wne(a)), c && CB(a, n), n.flags & 8192 && (Wo(a) || !a.type) && n.symbol !== fr(a) && (n = j), Sd(n)) : (n = ha(a) && a.dotDotDotToken ? Et : Se, c && (Wk(a) || qv(a, n)), n) } function Wk(n) { let a = nm(n), c = a.kind === 166 ? a.parent : a; return qM(c) } function ad(n) { let a = Cl(n); if (a) return $r(a) } function zk(n) { let a = n.valueDeclaration; return a ? (Wo(a) && (a = bA(a)), ha(a) ? fB(a.parent) : !1) : !1 } function y(n) { let a = Ai(n); if (!a.type) { let c = I(n); return !a.type && !zk(n) && (a.type = c), c } return a.type } function I(n) { if (n.flags & 4194304) return Pv(n); if (n === ct) return Se; if (n.flags & 134217728 && n.valueDeclaration) { let u = fr(Gn(n.valueDeclaration)), p = wo(u.flags, "exports"); p.declarations = u.declarations ? u.declarations.slice() : [], p.parent = n, p.links.target = u, u.valueDeclaration && (p.valueDeclaration = u.valueDeclaration), u.members && (p.members = new Map(u.members)), u.exports && (p.exports = new Map(u.exports)); let h = Ua(); return h.set("exports", p), ls(n, h, Je, Je, Je) } L.assertIsDefined(n.valueDeclaration); let a = n.valueDeclaration; if (Li(a) && Mf(a)) return a.statements.length ? Sd(i0(Yi(a.statements[0].expression))) : Ki; if (rb(a)) return Tr(n); if (!cf(n, 0)) return n.flags & 512 && !(n.flags & 67108864) ? Vd(n) : pC(n); let c; if (a.kind === 274) c = gy(ad(a) || Ic(a.expression), a); else if (ar(a) || Yn(a) && (Pa(a) || (br(a) || H6(a)) && ar(a.parent))) c = GE(n); else if (br(a) || Vs(a) || Re(a) || es(a) || Vf(a) || sl(a) || Jc(a) || Nc(a) && !s_(a) || zm(a) || Li(a)) { if (n.flags & 9136) return Vd(n); c = ar(a.parent) ? GE(n) : ad(a) || Se } else if (yl(a)) c = ad(a) || NIe(a); else if (Sp(a)) c = ad(a) || bCe(a); else if (xf(a)) c = ad(a) || BC(a.name, 0); else if (s_(a)) c = ad(a) || PIe(a, 0); else if (ha(a) || Na(a) || $d(a) || wi(a) || Wo(a) || a6(a)) c = Zs(a, !0); else if (hb(a)) c = Vd(n); else if (q0(a)) c = ug(n); else return L.fail("Unhandled declaration kind! " + L.formatSyntaxKind(a.kind) + " for " + L.formatSymbol(n)); return If() ? c : n.flags & 512 && !(n.flags & 67108864) ? Vd(n) : pC(n) } function N(n) { if (n) switch (n.kind) { case 174: return U_(n); case 175: return Fce(n); case 169: return L.assert(rm(n)), Cl(n) } } function te(n) { let a = N(n); return a && $r(a) } function Me(n) { let a = Qie(n); return a && a.symbol } function Pt(n) { return Yb(ip(n)) } function Tr(n) { let a = Ai(n); if (!a.type) { if (!cf(n, 0)) return ve; let c = nc(n, 174), u = nc(n, 175), p = zr(nc(n, 169), Id), h = c && Yn(c) && di(c) || te(c) || te(u) || te(p) || c && c.body && rU(c) || p && p.initializer && Zs(p, !0); h || (u && !qM(u) ? Ip(ge, u, _.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, E(n)) : c && !qM(c) ? Ip(ge, c, _.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, E(n)) : p && !qM(p) && Ip(ge, p, _.Member_0_implicitly_has_an_1_type, E(n), "any"), h = Se), If() || (N(c) ? Fe(c, _._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, E(n)) : N(u) || N(p) ? Fe(u, _._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, E(n)) : c && ge && Fe(c, _._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, E(n)), h = Se), a.type = h } return a.type } function Fi(n) { var a; let c = Ai(n); if (!c.writeType) { if (!cf(n, 8)) return ve; let u = (a = nc(n, 175)) != null ? a : zr(nc(n, 169), Id), p = te(u); If() || (N(u) && Fe(u, _._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, E(n)), p = Se), c.writeType = p || Tr(n) } return c.writeType } function Da(n) { let a = Wr(vu(n)); return a.flags & 8650752 ? a : a.flags & 2097152 ? wr(a.types, c => !!(c.flags & 8650752)) : void 0 } function Vd(n) { let a = Ai(n), c = a; if (!a.type) { let u = n.valueDeclaration && eU(n.valueDeclaration, !1); if (u) { let p = oie(n, u); p && (n = p, a = p.links) } c.type = a.type = lg(n) } return a.type } function lg(n) { let a = n.valueDeclaration; if (n.flags & 1536 && CI(n)) return Se; if (a && (a.kind === 223 || Us(a) && a.parent.kind === 223)) return GE(n); if (n.flags & 512 && a && Li(a) && a.commonJsModuleIndicator) { let u = Vu(n); if (u !== n) { if (!cf(n, 0)) return ve; let p = No(n.exports.get("export=")), h = GE(p, p === u ? void 0 : u); return If() ? h : pC(n) } } let c = Bd(16, n); if (n.flags & 32) { let u = Da(n); return u ? so([c, u]) : c } else return U && n.flags & 16777216 ? gg(c) : c } function ug(n) { let a = Ai(n); return a.type || (a.type = _xe(n)) } function dg(n) { let a = Ai(n); if (!a.type) { let c = wc(n), u = n.declarations && L_(Uu(n), !0), p = ks(u?.declarations, h => pc(h) ? ad(h) : void 0); a.type = u?.declarations && yU(u.declarations) && n.declarations.length ? cg(u) : yU(n.declarations) ? at : p || (Fl(c) & 111551 ? zn(c) : ve) } return a.type } function wte(n) { let a = Ai(n); return a.type || (a.type = Oi(zn(a.target), a.mapper)) } function Rte(n) { let a = Ai(n); return a.writeType || (a.writeType = Oi(mC(a.target), a.mapper)) } function pC(n) { let a = n.valueDeclaration; return Cl(a) ? (Fe(n.valueDeclaration, _._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, E(n)), ve) : (ge && (a.kind !== 166 || a.initializer) && Fe(n.valueDeclaration, _._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, E(n)), Se) } function Jk(n) { let a = Ai(n); return a.type || (L.assertIsDefined(a.deferralParent), L.assertIsDefined(a.deferralConstituents), a.type = a.deferralParent.flags & 1048576 ? Gr(a.deferralConstituents) : so(a.deferralConstituents)), a.type } function Ote(n) { let a = Ai(n); return !a.writeType && a.deferralWriteConstituents && (L.assertIsDefined(a.deferralParent), L.assertIsDefined(a.deferralConstituents), a.writeType = a.deferralParent.flags & 1048576 ? Gr(a.deferralWriteConstituents) : so(a.deferralWriteConstituents)), a.writeType } function mC(n) { let a = ac(n); return n.flags & 4 ? a & 2 ? a & 65536 ? Ote(n) || Jk(n) : n.links.writeType || n.links.type : zn(n) : n.flags & 98304 ? a & 1 ? Rte(n) : Fi(n) : zn(n) } function zn(n) { let a = ac(n); return a & 65536 ? Jk(n) : a & 1 ? wte(n) : a & 262144 ? NJe(n) : a & 8192 ? JXe(n) : n.flags & 7 ? y(n) : n.flags & 9136 ? Vd(n) : n.flags & 8 ? ug(n) : n.flags & 98304 ? Tr(n) : n.flags & 2097152 ? dg(n) : ve } function Gv(n) { return KE(zn(n), !!(n.flags & 16777216)) } function Bv(n, a) { return n !== void 0 && a !== void 0 && (Ur(n) & 4) !== 0 && n.target === a } function Bx(n) { return Ur(n) & 4 ? n.target : n } function BE(n, a) { return c(n); function c(u) { if (Ur(u) & 7) { let p = Bx(u); return p === a || vt(_o(p), c) } else if (u.flags & 2097152) return vt(u.types, c); return !1 } } function qP(n, a) { for (let c of a) n = xg(n, UE(fr(c))); return n } function hC(n, a) { for (; ;) { if (n = n.parent, n && ar(n)) { let c = ic(n); if (c === 6 || c === 3) { let u = fr(n.left); u && u.parent && !jn(u.parent.valueDeclaration, p => n === p) && (n = u.parent.valueDeclaration) } } if (!n) return; switch (n.kind) { case 260: case 228: case 261: case 176: case 177: case 170: case 181: case 182: case 320: case 259: case 171: case 215: case 216: case 262: case 348: case 349: case 343: case 341: case 197: case 191: { let u = hC(n, a); if (n.kind === 197) return Sn(u, UE(fr(n.typeParameter))); if (n.kind === 191) return Qi(u, PAe(n)); let p = qP(u, jy(n)), h = a && (n.kind === 260 || n.kind === 228 || n.kind === 261 || cp(n)) && vu(fr(n)).thisType; return h ? Sn(p, h) : p } case 344: let c = uR(n); c && (n = c.valueDeclaration); break; case 323: { let u = hC(n, a); return n.tags ? qP(u, Uo(n.tags, p => H_(p) ? p.typeParameters : void 0)) : u } } } } function WG(n) { var a; let c = n.flags & 32 || n.flags & 16 ? n.valueDeclaration : (a = n.declarations) == null ? void 0 : a.find(u => { if (u.kind === 261) return !0; if (u.kind !== 257) return !1; let p = u.initializer; return !!p && (p.kind === 215 || p.kind === 216) }); return L.assert(!!c, "Class was missing valueDeclaration -OR- non-class had no interface declarations"), hC(c) } function yy(n) { if (!n.declarations) return; let a; for (let c of n.declarations) (c.kind === 261 || c.kind === 260 || c.kind === 228 || cp(c) || sR(c)) && (a = qP(a, jy(c))); return a } function D1(n) { return Qi(WG(n), yy(n)) } function XP(n) { let a = xa(n, 1); if (a.length === 1) { let c = a[0]; if (!c.typeParameters && c.parameters.length === 1 && Xl(c)) { let u = UM(c.parameters[0]); return Zo(u) || Xne(u) === Se } } return !1 } function Uv(n) { if (xa(n, 1).length > 0) return !0; if (n.flags & 8650752) { let a = bu(n); return !!a && XP(a) } return !1 } function yn(n) { let a = Nh(n.symbol); return a && hp(a) } function Or(n, a, c) { let u = Fn(a), p = Yn(c); return Pr(xa(n, 1), h => (p || u >= Mp(h.typeParameters)) && u <= Fn(h.typeParameters)) } function xr(n, a, c) { let u = Or(n, a, c), p = on(a, $r); return Tl(u, h => vt(h.typeParameters) ? eD(h, p, Yn(c)) : h) } function Wr(n) { if (!n.resolvedBaseConstructorType) { let a = Nh(n.symbol), c = a && hp(a), u = yn(n); if (!u) return n.resolvedBaseConstructorType = Oe; if (!cf(n, 1)) return ve; let p = Yi(u.expression); if (c && u !== c && (L.assert(!c.typeArguments), Yi(c.expression)), p.flags & 2621440 && R_(p), !If()) return Fe(n.symbol.valueDeclaration, _._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, E(n.symbol)), n.resolvedBaseConstructorType = ve; if (!(p.flags & 1) && p !== ir && !Uv(p)) { let h = Fe(u.expression, _.Type_0_is_not_a_constructor_function_type, Ee(p)); if (p.flags & 262144) { let T = bC(p), k = ue; if (T) { let O = xa(T, 1); O[0] && (k = qo(O[0])) } p.symbol.declarations && Ao(h, hr(p.symbol.declarations[0], _.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1, E(p.symbol), Ee(k))) } return n.resolvedBaseConstructorType = ve } n.resolvedBaseConstructorType = p } return n.resolvedBaseConstructorType } function Ci(n) { let a = Je; if (n.symbol.declarations) for (let c of n.symbol.declarations) { let u = JA(c); if (u) for (let p of u) { let h = $r(p); Ro(h) || (a === Je ? a = [h] : a.push(h)) } } return a } function eo(n, a) { Fe(n, _.Type_0_recursively_references_itself_as_a_base_type, Ee(a, void 0, 2)) } function _o(n) { if (!n.baseTypesResolved) { if (cf(n, 7) && (n.objectFlags & 8 ? n.resolvedBaseTypes = [jd(n)] : n.symbol.flags & 96 ? (n.symbol.flags & 32 && D_(n), n.symbol.flags & 64 && dh(n)) : L.fail("type must be class or interface"), !If() && n.symbol.declarations)) for (let a of n.symbol.declarations) (a.kind === 260 || a.kind === 261) && eo(a, n); n.baseTypesResolved = !0 } return n.resolvedBaseTypes } function jd(n) { let a = Tl(n.typeParameters, (c, u) => n.elementFlags[u] & 8 ? od(c, rt) : c); return nu(Gr(a || Je), n.readonly) } function D_(n) { n.resolvedBaseTypes = S4; let a = Eu(Wr(n)); if (!(a.flags & 2621441)) return n.resolvedBaseTypes = Je; let c = yn(n), u, p = a.symbol ? gs(a.symbol) : void 0; if (a.symbol && a.symbol.flags & 32 && uh(p)) u = zxe(c, a.symbol); else if (a.flags & 1) u = a; else { let T = xr(a, c.typeArguments, c); if (!T.length) return Fe(c.expression, _.No_base_constructor_has_the_specified_number_of_type_arguments), n.resolvedBaseTypes = Je; u = qo(T[0]) } if (Ro(u)) return n.resolvedBaseTypes = Je; let h = O_(u); if (!xm(h)) { let T = Xte(void 0, u), k = da(T, _.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members, Ee(h)); return Lo.add(Lh(Gn(c.expression), c.expression, k)), n.resolvedBaseTypes = Je } return n === h || BE(h, n) ? (Fe(n.symbol.valueDeclaration, _.Type_0_recursively_references_itself_as_a_base_type, Ee(n, void 0, 2)), n.resolvedBaseTypes = Je) : (n.resolvedBaseTypes === S4 && (n.members = void 0), n.resolvedBaseTypes = [h]) } function uh(n) { let a = n.outerTypeParameters; if (a) { let c = a.length - 1, u = Ko(n); return a[c].symbol !== u[c].symbol } return !0 } function xm(n) { if (n.flags & 262144) { let a = bu(n); if (a) return xm(a) } return !!(n.flags & 67633153 && !df(n) || n.flags & 2097152 && Ji(n.types, xm)) } function dh(n) { if (n.resolvedBaseTypes = n.resolvedBaseTypes || Je, n.symbol.declarations) { for (let a of n.symbol.declarations) if (a.kind === 261 && PI(a)) for (let c of PI(a)) { let u = O_($r(c)); Ro(u) || (xm(u) ? n !== u && !BE(u, n) ? n.resolvedBaseTypes === Je ? n.resolvedBaseTypes = [u] : n.resolvedBaseTypes.push(u) : eo(a, n) : Fe(c, _.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members)) } } } function gC(n) { if (!n.declarations) return !0; for (let a of n.declarations) if (a.kind === 261) { if (a.flags & 128) return !1; let c = PI(a); if (c) { for (let u of c) if (bc(u.expression)) { let p = uc(u.expression, 788968, !0); if (!p || !(p.flags & 64) || vu(p).thisType) return !1 } } } return !0 } function vu(n) { let a = Ai(n), c = a; if (!a.declaredType) { let u = n.flags & 32 ? 1 : 2, p = oie(n, n.valueDeclaration && jQe(n.valueDeclaration)); p && (n = p, a = p.links); let h = c.declaredType = a.declaredType = Bd(u, n), T = WG(n), k = yy(n); (T || k || u === 1 || !gC(n)) && (h.objectFlags |= 4, h.typeParameters = Qi(T, k), h.outerTypeParameters = T, h.localTypeParameters = k, h.instantiations = new Map, h.instantiations.set(kf(h.typeParameters), h), h.target = h, h.resolvedTypeArguments = h.typeParameters, h.thisType = rd(n), h.thisType.isThisType = !0, h.thisType.constraint = h) } return a.declaredType } function Kb(n) { var a; let c = Ai(n); if (!c.declaredType) { if (!cf(n, 2)) return ve; let u = L.checkDefined((a = n.declarations) == null ? void 0 : a.find(sR), "Type alias symbol with no valid declaration found"), p = Ff(u) ? u.typeExpression : u.type, h = p ? $r(p) : ve; if (If()) { let T = yy(n); T && (c.typeParameters = T, c.instantiations = new Map, c.instantiations.set(kf(T), h)) } else h = ve, u.kind === 343 ? Fe(u.typeExpression.type, _.Type_alias_0_circularly_references_itself, E(n)) : Fe(zl(u) && u.name || u, _.Type_alias_0_circularly_references_itself, E(n)); c.declaredType = h } return c.declaredType } function Kk(n) { return n.flags & 1056 && n.symbol.flags & 8 ? gs(ju(n.symbol)) : n } function dxe(n) { let a = Ai(n); if (!a.declaredType) { let c = []; if (n.declarations) { for (let p of n.declarations) if (p.kind === 263) { for (let h of p.members) if (Ux(h)) { let T = fr(h), k = xU(h), O = Yx(k !== void 0 ? Iqe(k, $a(n), T) : fxe(T)); Ai(T).declaredType = O, c.push(Hu(O)) } } } let u = c.length ? Gr(c, 1, n, void 0) : fxe(n); u.flags & 1048576 && (u.flags |= 1024, u.symbol = n), a.declaredType = u } return a.declaredType } function fxe(n) { let a = Rp(32, n), c = Rp(32, n); return a.regularType = a, a.freshType = c, c.regularType = a, c.freshType = c, a } function _xe(n) { let a = Ai(n); if (!a.declaredType) { let c = dxe(ju(n)); a.declaredType || (a.declaredType = c) } return a.declaredType } function UE(n) { let a = Ai(n); return a.declaredType || (a.declaredType = rd(n)) } function fJe(n) { let a = Ai(n); return a.declaredType || (a.declaredType = gs(wc(n))) } function gs(n) { return pxe(n) || ve } function pxe(n) { if (n.flags & 96) return vu(n); if (n.flags & 524288) return Kb(n); if (n.flags & 262144) return UE(n); if (n.flags & 384) return dxe(n); if (n.flags & 8) return _xe(n); if (n.flags & 2097152) return fJe(n) } function YP(n) { switch (n.kind) { case 131: case 157: case 152: case 148: case 160: case 134: case 153: case 149: case 114: case 155: case 144: case 198: return !0; case 185: return YP(n.elementType); case 180: return !n.typeArguments || n.typeArguments.every(YP) }return !1 } function _Je(n) { let a = EA(n); return !a || YP(a) } function mxe(n) { let a = Cl(n); return a ? YP(a) : !Jy(n) } function pJe(n) { let a = U_(n), c = jy(n); return (n.kind === 173 || !!a && YP(a)) && n.parameters.every(mxe) && c.every(_Je) } function mJe(n) { if (n.declarations && n.declarations.length === 1) { let a = n.declarations[0]; if (a) switch (a.kind) { case 169: case 168: return mxe(a); case 171: case 170: case 173: case 174: case 175: return pJe(a) } } return !1 } function hxe(n, a, c) { let u = Ua(); for (let p of n) u.set(p.escapedName, c && mJe(p) ? p : One(p, a)); return u } function gxe(n, a) { for (let c of a) !n.has(c.escapedName) && !yxe(c) && n.set(c.escapedName, c) } function yxe(n) { return !!n.valueDeclaration && xu(n.valueDeclaration) && Ca(n.valueDeclaration) } function Nte(n) { if (!n.declaredProperties) { let a = n.symbol, c = vy(a); n.declaredProperties = uy(c), n.declaredCallSignatures = Je, n.declaredConstructSignatures = Je, n.declaredIndexInfos = Je, n.declaredCallSignatures = Xb(c.get("__call")), n.declaredConstructSignatures = Xb(c.get("__new")), n.declaredIndexInfos = Vxe(a) } return n } function fh(n) { return !!(n.flags & 8576) } function Pte(n) { if (!ts(n) && !Vs(n)) return !1; let a = ts(n) ? n.expression : n.argumentExpression; return bc(a) && fh(ts(n) ? vg(n) : Ic(a)) } function qk(n) { return n.charCodeAt(0) === 95 && n.charCodeAt(1) === 95 && n.charCodeAt(2) === 64 } function $P(n) { let a = sa(n); return !!a && Pte(a) } function Ux(n) { return !Xy(n) || $P(n) } function hJe(n) { return Y6(n) && !Pte(n) } function Np(n) { return n.flags & 8192 ? n.escapedName : n.flags & 384 ? Bs("" + n.value) : L.fail() } function gJe(n, a, c) { L.assert(!!(ac(n) & 4096), "Expected a late-bound symbol."), n.flags |= c, Ai(a.symbol).lateSymbol = n, n.declarations ? a.symbol.isReplaceableByMethod || n.declarations.push(a) : n.declarations = [a], c & 111551 && (!n.valueDeclaration || n.valueDeclaration.kind !== a.kind) && (n.valueDeclaration = a) } function vxe(n, a, c, u) { L.assert(!!u.symbol, "The member is expected to have a symbol."); let p = Rr(u); if (!p.resolvedSymbol) { p.resolvedSymbol = u.symbol; let h = ar(u) ? u.left : u.name, T = Vs(h) ? Ic(h.argumentExpression) : vg(h); if (fh(T)) { let k = Np(T), O = u.symbol.flags, H = c.get(k); H || c.set(k, H = wo(0, k, 4096)); let J = a && a.get(k); if (H.flags & Kc(O) || J) { let de = J ? Qi(J.declarations, H.declarations) : H.declarations, Ae = !(T.flags & 8192) && Gi(k) || os(h); mn(de, xe => Fe(sa(xe) || xe, _.Property_0_was_also_declared_here, Ae)), Fe(h || u, _.Duplicate_property_0, Ae), H = wo(0, k, 4096) } return H.links.nameType = T, gJe(H, u, O), H.parent ? L.assert(H.parent === n, "Existing symbol parent should match new one") : H.parent = n, p.resolvedSymbol = H } } return p.resolvedSymbol } function Mte(n, a) { let c = Ai(n); if (!c[a]) { let u = a === "resolvedExports", p = u ? n.flags & 1536 ? Dx(n).exports : n.exports : n.members; c[a] = p || q; let h = Ua(); for (let k of n.declarations || Je) { let O = $se(k); if (O) for (let H of O) u === zc(H) && $P(H) && vxe(n, p, h, H) } let T = n.assignmentDeclarationMembers; if (T) { let k = lo(T.values()); for (let O of k) { let H = ic(O), J = H === 3 || ar(O) && GB(O, H) || H === 9 || H === 6; u === !J && $P(O) && vxe(n, p, h, O) } } c[a] = Yh(p, h) || q } return c[a] } function vy(n) { return n.flags & 6256 ? Mte(n, "resolvedMembers") : n.members || q } function zG(n) { if (n.flags & 106500 && n.escapedName === "__computed") { let a = Ai(n); if (!a.lateSymbol && vt(n.declarations, $P)) { let c = No(n.parent); vt(n.declarations, zc) ? Gd(c) : vy(c) } return a.lateSymbol || (a.lateSymbol = n) } return n } function uf(n, a, c) { if (Ur(n) & 4) { let u = n.target, p = Ko(n); if (Fn(u.typeParameters) === Fn(p)) { let h = _g(u, Qi(p, [a || u.thisType])); return c ? Eu(h) : h } } else if (n.flags & 2097152) { let u = Tl(n.types, p => uf(p, a, c)); return u !== n.types ? so(u) : n } return c ? Eu(n) : n } function bxe(n, a, c, u) { let p, h, T, k, O; GU(c, u, 0, c.length) ? (h = a.symbol ? vy(a.symbol) : Ua(a.declaredProperties), T = a.declaredCallSignatures, k = a.declaredConstructSignatures, O = a.declaredIndexInfos) : (p = Wu(c, u), h = hxe(a.declaredProperties, p, c.length === 1), T = cB(a.declaredCallSignatures, p), k = cB(a.declaredConstructSignatures, p), O = VAe(a.declaredIndexInfos, p)); let H = _o(a); if (H.length) { a.symbol && h === vy(a.symbol) && (h = Ua(a.declaredProperties)), sf(n, h, T, k, O); let J = Os(u); for (let de of H) { let Ae = J ? uf(Oi(de, p), J) : de; gxe(h, Jo(Ae)), T = Qi(T, xa(Ae, 0)), k = Qi(k, xa(Ae, 1)); let xe = Ae !== Se ? tu(Ae) : [Fp(ae, Se, !1)]; O = Qi(O, Pr(xe, tt => !Yte(O, tt.keyType))) } } sf(n, h, T, k, O) } function yJe(n) { bxe(n, Nte(n), Je, Je) } function vJe(n) { let a = Nte(n.target), c = Qi(a.typeParameters, [a.thisType]), u = Ko(n), p = u.length === c.length ? u : Qi(u, [n]); bxe(n, a, c, p) } function Am(n, a, c, u, p, h, T, k) { let O = new m(qe, k); return O.declaration = n, O.typeParameters = a, O.parameters = u, O.thisParameter = c, O.resolvedReturnType = p, O.resolvedTypePredicate = h, O.minArgumentCount = T, O.resolvedMinArgumentCount = void 0, O.target = void 0, O.mapper = void 0, O.compositeSignatures = void 0, O.compositeKind = void 0, O } function Xk(n) { let a = Am(n.declaration, n.typeParameters, n.thisParameter, n.parameters, void 0, void 0, n.minArgumentCount, n.flags & 39); return a.target = n.target, a.mapper = n.mapper, a.compositeSignatures = n.compositeSignatures, a.compositeKind = n.compositeKind, a } function Exe(n, a) { let c = Xk(n); return c.compositeSignatures = a, c.compositeKind = 1048576, c.target = void 0, c.mapper = void 0, c } function bJe(n, a) { if ((n.flags & 24) === a) return n; n.optionalCallSignatureCache || (n.optionalCallSignatureCache = {}); let c = a === 8 ? "inner" : "outer"; return n.optionalCallSignatureCache[c] || (n.optionalCallSignatureCache[c] = EJe(n, a)) } function EJe(n, a) { L.assert(a === 8 || a === 16, "An optional call signature can either be for an inner call chain or an outer call chain, but not both."); let c = Xk(n); return c.flags |= a, c } function Txe(n, a) { if (Xl(n)) { let u = n.parameters.length - 1, p = zn(n.parameters[u]); if (po(p)) return [c(p, u)]; if (!a && p.flags & 1048576 && Ji(p.types, po)) return on(p.types, h => c(h, u)) } return [n.parameters]; function c(u, p) { let h = Ko(u), T = u.target.labeledElementDeclarations, k = on(h, (O, H) => { let de = !!T && nU(T[H]) || FC(n, p + H, u), Ae = u.target.elementFlags[H], xe = Ae & 12 ? 32768 : Ae & 2 ? 16384 : 0, tt = wo(1, de, xe); return tt.links.type = Ae & 4 ? nu(O) : O, tt }); return Qi(n.parameters.slice(0, p), k) } } function TJe(n) { let a = Wr(n), c = xa(a, 1), u = Nh(n.symbol), p = !!u && Mr(u, 256); if (c.length === 0) return [Am(void 0, n.localTypeParameters, void 0, Je, n, void 0, 0, p ? 4 : 0)]; let h = yn(n), T = Yn(h), k = aM(h), O = Fn(k), H = []; for (let J of c) { let de = Mp(J.typeParameters), Ae = Fn(J.typeParameters); if (T || O >= de && O <= Ae) { let xe = Ae ? JG(J, Sy(k, J.typeParameters, de, T)) : Xk(J); xe.typeParameters = n.localTypeParameters, xe.resolvedReturnType = n, xe.flags = p ? xe.flags | 4 : xe.flags & -5, H.push(xe) } } return H } function Fte(n, a, c, u, p) { for (let h of n) if (vM(h, a, c, u, p, c ? Kqe : sD)) return h } function SJe(n, a, c) { if (a.typeParameters) { if (c > 0) return; for (let p = 1; p < n.length; p++)if (!Fte(n[p], a, !1, !1, !1)) return; return [a] } let u; for (let p = 0; p < n.length; p++) { let h = p === c ? a : Fte(n[p], a, !0, !1, !0); if (!h) return; u = xg(u, h) } return u } function Gte(n) { let a, c; for (let u = 0; u < n.length; u++) { if (n[u].length === 0) return Je; n[u].length > 1 && (c = c === void 0 ? u : -1); for (let p of n[u]) if (!a || !Fte(a, p, !1, !1, !0)) { let h = SJe(n, p, u); if (h) { let T = p; if (h.length > 1) { let k = p.thisParameter, O = mn(h, H => H.thisParameter); if (O) { let H = so(Zi(h, J => J.thisParameter && zn(J.thisParameter))); k = qE(O, H) } T = Exe(p, h), T.thisParameter = k } (a || (a = [])).push(T) } } } if (!Fn(a) && c !== -1) { let u = n[c !== void 0 ? c : 0], p = u.slice(); for (let h of n) if (h !== u) { let T = h[0]; if (L.assert(!!T, "getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"), p = T.typeParameters && vt(p, k => !!k.typeParameters && !Sxe(T.typeParameters, k.typeParameters)) ? void 0 : on(p, k => CJe(k, T)), !p) break } a = p } return a || Je } function Sxe(n, a) { if (Fn(n) !== Fn(a)) return !1; if (!n || !a) return !0; let c = Wu(a, n); for (let u = 0; u < n.length; u++) { let p = n[u], h = a[u]; if (p !== h && !ph(bC(p) || ue, Oi(bC(h) || ue, c))) return !1 } return !0 } function xJe(n, a, c) { if (!n || !a) return n || a; let u = so([zn(n), Oi(zn(a), c)]); return qE(n, u) } function AJe(n, a, c) { let u = xd(n), p = xd(a), h = u >= p ? n : a, T = h === n ? a : n, k = h === n ? u : p, O = jp(n) || jp(a), H = O && !jp(h), J = new Array(k + (H ? 1 : 0)); for (let de = 0; de < k; de++) { let Ae = tT(h, de); h === a && (Ae = Oi(Ae, c)); let xe = tT(T, de) || ue; T === a && (xe = Oi(xe, c)); let tt = so([Ae, xe]), It = O && !H && de === k - 1, Tn = de >= Vp(h) && de >= Vp(T), un = de >= u ? void 0 : FC(n, de), Nn = de >= p ? void 0 : FC(a, de), en = un === Nn ? un : un ? Nn ? void 0 : un : Nn, cn = wo(1 | (Tn && !It ? 16777216 : 0), en || `arg${de}`); cn.links.type = It ? nu(tt) : tt, J[de] = cn } if (H) { let de = wo(1, "args"); de.links.type = nu(P_(T, k)), T === a && (de.links.type = Oi(de.links.type, c)), J[k] = de } return J } function CJe(n, a) { let c = n.typeParameters || a.typeParameters, u; n.typeParameters && a.typeParameters && (u = Wu(a.typeParameters, n.typeParameters)); let p = n.declaration, h = AJe(n, a, u), T = xJe(n.thisParameter, a.thisParameter, u), k = Math.max(n.minArgumentCount, a.minArgumentCount), O = Am(p, c, T, h, void 0, void 0, k, (n.flags | a.flags) & 39); return O.compositeKind = 1048576, O.compositeSignatures = Qi(n.compositeKind !== 2097152 && n.compositeSignatures || [n], [a]), u && (O.mapper = n.compositeKind !== 2097152 && n.mapper && n.compositeSignatures ? Jv(n.mapper, u) : u), O } function xxe(n) { let a = tu(n[0]); if (a) { let c = []; for (let u of a) { let p = u.keyType; Ji(n, h => !!Cm(h, p)) && c.push(Fp(p, Gr(on(n, h => fg(h, p))), vt(n, h => Cm(h, p).isReadonly))) } return c } return Je } function IJe(n) { let a = Gte(on(n.types, p => p === Hs ? [jt] : xa(p, 0))), c = Gte(on(n.types, p => xa(p, 1))), u = xxe(n.types); sf(n, q, a, c, u) } function QP(n, a) { return n ? a ? so([n, a]) : n : a } function Axe(n) { let a = Oy(n, u => xa(u, 1).length > 0), c = on(n, XP); if (a > 0 && a === Oy(c, u => u)) { let u = c.indexOf(!0); c[u] = !1 } return c } function LJe(n, a, c, u) { let p = []; for (let h = 0; h < a.length; h++)h === u ? p.push(n) : c[h] && p.push(qo(xa(a[h], 1)[0])); return so(p) } function kJe(n) { let a, c, u, p = n.types, h = Axe(p), T = Oy(h, k => k); for (let k = 0; k < p.length; k++) { let O = n.types[k]; if (!h[k]) { let H = xa(O, 1); H.length && T > 0 && (H = on(H, J => { let de = Xk(J); return de.resolvedReturnType = LJe(qo(J), p, h, k), de })), c = Cxe(c, H) } a = Cxe(a, xa(O, 0)), u = ou(tu(O), (H, J) => Ixe(H, J, !1), u) } sf(n, q, a || Je, c || Je, u || Je) } function Cxe(n, a) { for (let c of a) (!n || Ji(n, u => !vM(u, c, !1, !1, !1, sD))) && (n = Sn(n, c)); return n } function Ixe(n, a, c) { if (n) for (let u = 0; u < n.length; u++) { let p = n[u]; if (p.keyType === a.keyType) return n[u] = Fp(p.keyType, c ? Gr([p.type, a.type]) : so([p.type, a.type]), c ? p.isReadonly || a.isReadonly : p.isReadonly && a.isReadonly), n } return Sn(n, a) } function DJe(n) { if (n.target) { sf(n, q, Je, Je, Je); let T = hxe(Ey(n.target), n.mapper, !1), k = cB(xa(n.target, 0), n.mapper), O = cB(xa(n.target, 1), n.mapper), H = VAe(tu(n.target), n.mapper); sf(n, T, k, O, H); return } let a = No(n.symbol); if (a.flags & 2048) { sf(n, q, Je, Je, Je); let T = vy(a), k = Xb(T.get("__call")), O = Xb(T.get("__new")), H = Vxe(a); sf(n, T, k, O, H); return } let c = q, u; if (a.exports && (c = Gd(a), a === Ye)) { let T = new Map; c.forEach(k => { var O; !(k.flags & 418) && !(k.flags & 512 && ((O = k.declarations) != null && O.length) && Ji(k.declarations, lu)) && T.set(k.escapedName, k) }), c = T } let p; if (sf(n, c, Je, Je, Je), a.flags & 32) { let T = vu(a), k = Wr(T); k.flags & 11272192 ? (c = Ua(Rx(c)), gxe(c, Jo(k))) : k === Se && (p = Fp(ae, Se, !1)) } let h = ane(c); if (h ? u = one(h) : (p && (u = Sn(u, p)), a.flags & 384 && (gs(a).flags & 32 || vt(n.properties, T => !!(zn(T).flags & 296))) && (u = Sn(u, yu))), sf(n, c, Je, Je, u || Je), a.flags & 8208 && (n.callSignatures = Xb(a)), a.flags & 32) { let T = vu(a), k = a.members ? Xb(a.members.get("__constructor")) : Je; a.flags & 16 && (k = si(k.slice(), Zi(n.callSignatures, O => cp(O.declaration) ? Am(O.declaration, O.typeParameters, O.thisParameter, O.parameters, T, void 0, O.minArgumentCount, O.flags & 39) : void 0))), k.length || (k = TJe(T)), n.constructSignatures = k } } function wJe(n, a, c) { return Oi(n, Wu([a.indexType, a.objectType], [op(0), ap([c])])) } function RJe(n) { let a = Cm(n.source, ae), c = Pp(n.mappedType), u = !(c & 1), p = c & 4 ? 0 : 16777216, h = a ? [Fp(ae, LB(a.type, n.mappedType, n.constraintType), u && a.isReadonly)] : Je, T = Ua(); for (let k of Jo(n.source)) { let O = 8192 | (u && M_(k) ? 8 : 0), H = wo(4 | k.flags & p, k.escapedName, O); if (H.declarations = k.declarations, H.links.nameType = Ai(k).nameType, H.links.propertyType = zn(k), n.constraintType.type.flags & 8388608 && n.constraintType.type.objectType.flags & 262144 && n.constraintType.type.indexType.flags & 262144) { let J = n.constraintType.type.objectType, de = wJe(n.mappedType, n.constraintType.type, J); H.links.mappedType = de, H.links.constraintType = Gp(J) } else H.links.mappedType = n.mappedType, H.links.constraintType = n.constraintType; T.set(k.escapedName, H) } sf(n, T, Je, Je, h) } function ZP(n) { if (n.flags & 4194304) { let a = Eu(n.type); return Qx(a) ? _Ae(a) : Gp(a) } if (n.flags & 16777216) { if (n.root.isDistributive) { let a = n.checkType, c = ZP(a); if (c !== a) return Fne(n, O1(n.root.checkType, c, n.mapper)) } return n } if (n.flags & 1048576) return Ls(n, ZP, !0); if (n.flags & 2097152) { let a = n.types; return a.length === 2 && a[0].flags & 76 && a[1] === mc ? n : so(Tl(n.types, ZP)) } return n } function Bte(n) { return ac(n) & 4096 } function Ute(n, a, c, u) { for (let p of Jo(n)) u(TC(p, a)); if (n.flags & 1) u(ae); else for (let p of tu(n)) (!c || p.keyType.flags & 134217732) && u(p.keyType) } function OJe(n) { let a = Ua(), c; sf(n, q, Je, Je, Je); let u = w_(n), p = rp(n), h = by(n.target || n), T = h && to(h, u), k = _h(n.target || n), O = Eu(yC(n)), H = Pp(n), J = we ? 128 : 8576; Yk(n) ? Ute(O, J, we, de) : QE(ZP(p), de), sf(n, a, Je, Je, c || Je); function de(xe) { let tt = h ? Oi(h, oD(n.mapper, u, xe)) : xe; QE(tt, It => Ae(xe, It)) } function Ae(xe, tt) { if (fh(tt)) { let It = Np(tt), Tn = a.get(It); if (Tn) Tn.links.nameType = Gr([Tn.links.nameType, tt]), Tn.links.keyType = Gr([Tn.links.keyType, xe]); else { let un = fh(xe) ? ja(O, Np(xe)) : void 0, Nn = !!(H & 4 || !(H & 8) && un && un.flags & 16777216), en = !!(H & 1 || !(H & 2) && un && M_(un)), cn = U && !Nn && un && un.flags & 16777216, rr = un ? Bte(un) : 0, Jt = wo(4 | (Nn ? 16777216 : 0), It, rr | 262144 | (en ? 8 : 0) | (cn ? 524288 : 0)); Jt.links.mappedType = n, Jt.links.nameType = tt, Jt.links.keyType = xe, un && (Jt.links.syntheticOrigin = un, Jt.declarations = !h || T ? un.declarations : void 0), a.set(It, Jt) } } else if (KG(tt) || tt.flags & 33) { let It = tt.flags & 5 ? ae : tt.flags & 40 ? rt : tt, Tn = Oi(k, oD(n.mapper, u, xe)), un = Fp(It, Tn, !!(H & 1)); c = Ixe(c, un, !0) } } } function NJe(n) { if (!n.links.type) { let a = n.links.mappedType; if (!cf(n, 0)) return a.containsError = !0, ve; let c = _h(a.target || a), u = oD(a.mapper, w_(a), n.links.keyType), p = Oi(c, u), h = U && n.flags & 16777216 && !Js(p, 49152) ? gg(p, !0) : n.links.checkFlags & 524288 ? tre(p) : p; If() || (Fe(P, _.Type_of_property_0_circularly_references_itself_in_mapped_type_1, E(n), Ee(a)), h = ve), n.links.type = h } return n.links.type } function w_(n) { return n.typeParameter || (n.typeParameter = UE(fr(n.declaration.typeParameter))) } function rp(n) { return n.constraintType || (n.constraintType = eu(w_(n)) || ve) } function by(n) { return n.declaration.nameType ? n.nameType || (n.nameType = Oi($r(n.declaration.nameType), n.mapper)) : void 0 } function _h(n) { return n.templateType || (n.templateType = n.declaration.type ? Oi(ao($r(n.declaration.type), !0, !!(Pp(n) & 4)), n.mapper) : ve) } function Lxe(n) { return EA(n.declaration.typeParameter) } function Yk(n) { let a = Lxe(n); return a.kind === 195 && a.operator === 141 } function yC(n) { if (!n.modifiersType) if (Yk(n)) n.modifiersType = Oi($r(Lxe(n).type), n.mapper); else { let a = Cne(n.declaration), c = rp(a), u = c && c.flags & 262144 ? eu(c) : c; n.modifiersType = u && u.flags & 4194304 ? Oi(u.type, n.mapper) : ue } return n.modifiersType } function Pp(n) { let a = n.declaration; return (a.readonlyToken ? a.readonlyToken.kind === 40 ? 2 : 1 : 0) | (a.questionToken ? a.questionToken.kind === 40 ? 8 : 4 : 0) } function kxe(n) { let a = Pp(n); return a & 8 ? -1 : a & 4 ? 1 : 0 } function Vte(n) { let a = kxe(n), c = yC(n); return a || (df(c) ? kxe(c) : 0) } function PJe(n) { return !!(Ur(n) & 32 && Pp(n) & 4) } function df(n) { if (Ur(n) & 32) { let a = rp(n); if (jv(a)) return !0; let c = by(n); if (c && jv(Oi(c, n0(w_(n), a)))) return !0 } return !1 } function R_(n) { return n.members || (n.flags & 524288 ? n.objectFlags & 4 ? vJe(n) : n.objectFlags & 3 ? yJe(n) : n.objectFlags & 1024 ? RJe(n) : n.objectFlags & 16 ? DJe(n) : n.objectFlags & 32 ? OJe(n) : L.fail("Unhandled object type " + L.formatObjectFlags(n.objectFlags)) : n.flags & 1048576 ? IJe(n) : n.flags & 2097152 ? kJe(n) : L.fail("Unhandled type " + L.formatTypeFlags(n.flags))), n } function Ey(n) { return n.flags & 524288 ? R_(n).properties : Je } function qb(n, a) { if (n.flags & 524288) { let u = R_(n).members.get(a); if (u && ig(u)) return u } } function eM(n) { if (!n.resolvedProperties) { let a = Ua(); for (let c of n.types) { for (let u of Jo(c)) if (!a.has(u.escapedName)) { let p = qte(n, u.escapedName); p && a.set(u.escapedName, p) } if (n.flags & 1048576 && tu(c).length === 0) break } n.resolvedProperties = uy(a) } return n.resolvedProperties } function Jo(n) { return n = vC(n), n.flags & 3145728 ? eM(n) : Ey(n) } function MJe(n, a) { n = vC(n), n.flags & 3670016 && R_(n).members.forEach((c, u) => { ag(c, u) && a(c, u) }) } function FJe(n, a) { return a.properties.some(u => { let p = u.name && pg(u.name), h = p && fh(p) ? Np(p) : void 0, T = h === void 0 ? void 0 : Vc(n, h); return !!T && uD(T) && !to(G1(u), T) }) } function GJe(n) { let a = Gr(n); if (!(a.flags & 1048576)) return Wie(a); let c = Ua(); for (let u of n) for (let { escapedName: p } of Wie(u)) if (!c.has(p)) { let h = Oxe(a, p); h && c.set(p, h) } return lo(c.values()) } function VE(n) { return n.flags & 262144 ? eu(n) : n.flags & 8388608 ? BJe(n) : n.flags & 16777216 ? VJe(n) : bu(n) } function eu(n) { return $k(n) ? bC(n) : void 0 } function tM(n) { var a; return !!(n.flags & 262144 && vt((a = n.symbol) == null ? void 0 : a.declarations, c => Mr(c, 2048)) || Qx(n) && Yc(Ko(n), (c, u) => !!(n.target.elementFlags[u] & 8) && tM(c)) >= 0 || n.flags & 8388608 && tM(n.objectType)) } function BJe(n) { return $k(n) ? UJe(n) : void 0 } function jte(n) { let a = mg(n, !1); return a !== n ? a : VE(n) } function UJe(n) { if (Jte(n)) return nB(n.objectType, n.indexType); let a = jte(n.indexType); if (a && a !== n.indexType) { let u = Ay(n.objectType, a, n.accessFlags); if (u) return u } let c = jte(n.objectType); if (c && c !== n.objectType) return Ay(c, n.indexType, n.accessFlags) } function Hte(n) { if (!n.resolvedDefaultConstraint) { let a = Eqe(n), c = Wv(n); n.resolvedDefaultConstraint = Zo(a) ? c : Zo(c) ? a : Gr([a, c]) } return n.resolvedDefaultConstraint } function Dxe(n) { if (n.root.isDistributive && n.restrictiveInstantiation !== n) { let a = mg(n.checkType, !1), c = a === n.checkType ? VE(a) : a; if (c && c !== n.checkType) { let u = Fne(n, O1(n.root.checkType, c, n.mapper)); if (!(u.flags & 131072)) return u } } } function wxe(n) { return Dxe(n) || Hte(n) } function VJe(n) { return $k(n) ? wxe(n) : void 0 } function jJe(n, a) { let c, u = !1; for (let p of n) if (p.flags & 465829888) { let h = VE(p); for (; h && h.flags & 21233664;)h = VE(h); h && (c = Sn(c, h), a && (c = Sn(c, p))) } else (p.flags & 469892092 || hh(p)) && (u = !0); if (c && (a || u)) { if (u) for (let p of n) (p.flags & 469892092 || hh(p)) && (c = Sn(c, p)); return mM(so(c), !1) } } function bu(n) { if (n.flags & 464781312) { let a = Wte(n); return a !== Co && a !== gc ? a : void 0 } return n.flags & 4194304 ? Si : void 0 } function Ty(n) { return bu(n) || n } function $k(n) { return Wte(n) !== gc } function Wte(n) { if (n.resolvedBaseConstraint) return n.resolvedBaseConstraint; let a = []; return n.resolvedBaseConstraint = uf(c(n), n); function c(h) { if (!h.immediateBaseConstraint) { if (!cf(h, 4)) return gc; let T, k = AC(h); if ((a.length < 10 || a.length < 50 && !ya(a, k)) && (a.push(k), T = p(mg(h, !1)), a.pop()), !If()) { if (h.flags & 262144) { let O = sne(h); if (O) { let H = Fe(O, _.Type_parameter_0_has_a_circular_constraint, Ee(h)); P && !AT(O, P) && !AT(P, O) && Ao(H, hr(P, _.Circularity_originates_in_type_at_this_location)) } } T = gc } h.immediateBaseConstraint = T || Co } return h.immediateBaseConstraint } function u(h) { let T = c(h); return T !== Co && T !== gc ? T : void 0 } function p(h) { if (h.flags & 262144) { let T = bC(h); return h.isThisType || !T ? T : u(T) } if (h.flags & 3145728) { let T = h.types, k = [], O = !1; for (let H of T) { let J = u(H); J ? (J !== H && (O = !0), k.push(J)) : O = !0 } return O ? h.flags & 1048576 && k.length === T.length ? Gr(k) : h.flags & 2097152 && k.length ? so(k) : void 0 : h } if (h.flags & 4194304) return Si; if (h.flags & 134217728) { let T = h.types, k = Zi(T, u); return k.length === T.length ? WE(h.texts, k) : ae } if (h.flags & 268435456) { let T = u(h.type); return T && T !== h.type ? w1(h.symbol, T) : ae } if (h.flags & 8388608) { if (Jte(h)) return u(nB(h.objectType, h.indexType)); let T = u(h.objectType), k = u(h.indexType), O = T && k && Ay(T, k, h.accessFlags); return O && u(O) } if (h.flags & 16777216) { let T = wxe(h); return T && u(T) } return h.flags & 33554432 ? u(une(h)) : h } } function HJe(n) { return n.resolvedApparentType || (n.resolvedApparentType = uf(n, n, !0)) } function zte(n) { if (n.default) n.default === Ll && (n.default = gc); else if (n.target) { let a = zte(n.target); n.default = a ? Oi(a, n.mapper) : Co } else { n.default = Ll; let a = n.symbol && mn(n.symbol.declarations, u => _c(u) && u.default), c = a ? $r(a) : Co; n.default === Ll && (n.default = c) } return n.default } function jE(n) { let a = zte(n); return a !== Co && a !== gc ? a : void 0 } function WJe(n) { return zte(n) !== gc } function Rxe(n) { return !!(n.symbol && mn(n.symbol.declarations, a => _c(a) && a.default)) } function zJe(n) { return n.resolvedApparentType || (n.resolvedApparentType = JJe(n)) } function JJe(n) { let a = Nne(n); if (a && !n.declaration.nameType) { let c = eu(a); if (c && JE(c)) return Oi(n, O1(a, c, n.mapper)) } return n } function Jte(n) { let a; return !!(n.flags & 8388608 && Ur(a = n.objectType) & 32 && !df(a) && jv(n.indexType) && !(Pp(a) & 8) && !a.declaration.nameType) } function Eu(n) { let a = n.flags & 465829888 ? bu(n) || ue : n; return Ur(a) & 32 ? zJe(a) : a.flags & 2097152 ? HJe(a) : a.flags & 402653316 ? Ws : a.flags & 296 ? hd : a.flags & 2112 ? CKe() : a.flags & 528 ? vc : a.flags & 12288 ? iAe() : a.flags & 67108864 ? Ki : a.flags & 4194304 ? Si : a.flags & 2 && !U ? Ki : a } function vC(n) { return O_(Eu(O_(n))) } function Oxe(n, a, c) { var u, p, h; let T, k, O, H = n.flags & 1048576, J, de = 4, Ae = H ? 0 : 8, xe = !1; for (let Cn of n.types) { let Rn = Eu(Cn); if (!(Ro(Rn) || Rn.flags & 131072)) { let Br = ja(Rn, a, c), Hr = Br ? Ef(Br) : 0; if (Br) { if (Br.flags & 106500 && (J ?? (J = H ? 0 : 16777216), H ? J |= Br.flags & 16777216 : J &= Br.flags), !T) T = Br; else if (Br !== T) if ((oA(Br) || Br) === (oA(T) || T) && qne(T, Br, (wa, Xc) => wa === Xc ? -1 : 0) === -1) xe = !!T.parent && !!Fn(yy(T.parent)); else { k || (k = new Map, k.set($a(T), T)); let wa = $a(Br); k.has(wa) || k.set(wa, Br) } H && M_(Br) ? Ae |= 8 : !H && !M_(Br) && (Ae &= -9), Ae |= (Hr & 24 ? 0 : 256) | (Hr & 16 ? 512 : 0) | (Hr & 8 ? 1024 : 0) | (Hr & 32 ? 2048 : 0), jre(Br) || (de = 2) } else if (H) { let qi = !qk(a) && jx(Rn, a); qi ? (Ae |= 32 | (qi.isReadonly ? 8 : 0), O = Sn(O, po(Rn) ? bM(Rn) || Oe : qi.type)) : Xv(Rn) && !(Ur(Rn) & 2097152) ? (Ae |= 32, O = Sn(O, Oe)) : Ae |= 16 } } } if (!T || H && (k || Ae & 48) && Ae & 1536 && !(k && KJe(k.values()))) return; if (!k && !(Ae & 16) && !O) if (xe) { let Cn = (u = zr(T, Zp)) == null ? void 0 : u.links, Rn = qE(T, Cn?.type); return Rn.parent = (h = (p = T.valueDeclaration) == null ? void 0 : p.symbol) == null ? void 0 : h.parent, Rn.links.containingType = n, Rn.links.mapper = Cn?.mapper, Rn } else return T; let tt = k ? lo(k.values()) : [T], It, Tn, un, Nn = [], en, cn, rr = !1; for (let Cn of tt) { cn ? Cn.valueDeclaration && Cn.valueDeclaration !== cn && (rr = !0) : cn = Cn.valueDeclaration, It = si(It, Cn.declarations); let Rn = zn(Cn); Tn || (Tn = Rn, un = Ai(Cn).nameType); let Br = mC(Cn); en || Br !== Rn ? en = Sn(en || Nn.slice(), Br) : Rn !== Tn && (Ae |= 64), (uD(Rn) || qx(Rn) || Rn === Nr) && (Ae |= 128), Rn.flags & 131072 && Rn !== Nr && (Ae |= 131072), Nn.push(Rn) } si(Nn, O); let Jt = wo(4 | (J ?? 0), a, de | Ae); return Jt.links.containingType = n, !rr && cn && (Jt.valueDeclaration = cn, cn.symbol.parent && (Jt.parent = cn.symbol.parent)), Jt.declarations = It, Jt.links.nameType = un, Nn.length > 2 ? (Jt.links.checkFlags |= 65536, Jt.links.deferralParent = n, Jt.links.deferralConstituents = Nn, Jt.links.deferralWriteConstituents = en) : (Jt.links.type = H ? Gr(Nn) : so(Nn), en && (Jt.links.writeType = H ? Gr(en) : so(en))), Jt } function Kte(n, a, c) { var u, p; let h = (u = n.propertyCacheWithoutObjectFunctionPropertyAugment) != null && u.get(a) || !c ? (p = n.propertyCache) == null ? void 0 : p.get(a) : void 0; return h || (h = Oxe(n, a, c), h && (c ? n.propertyCacheWithoutObjectFunctionPropertyAugment || (n.propertyCacheWithoutObjectFunctionPropertyAugment = Ua()) : n.propertyCache || (n.propertyCache = Ua())).set(a, h)), h } function KJe(n) { let a; for (let c of n) { if (!c.declarations) return; if (!a) { a = new Set(c.declarations); continue } if (a.forEach(u => { ya(c.declarations, u) || a.delete(u) }), a.size === 0) return } return a } function qte(n, a, c) { let u = Kte(n, a, c); return u && !(ac(u) & 16) ? u : void 0 } function O_(n) { return n.flags & 1048576 && n.objectFlags & 16777216 ? n.resolvedReducedType || (n.resolvedReducedType = qJe(n)) : n.flags & 2097152 ? (n.objectFlags & 16777216 || (n.objectFlags |= 16777216 | (vt(eM(n), XJe) ? 33554432 : 0)), n.objectFlags & 33554432 ? lt : n) : n } function qJe(n) { let a = Tl(n.types, O_); if (a === n.types) return n; let c = Gr(a); return c.flags & 1048576 && (c.resolvedReducedType = c), c } function XJe(n) { return Nxe(n) || Pxe(n) } function Nxe(n) { return !(n.flags & 16777216) && (ac(n) & 131264) === 192 && !!(zn(n).flags & 131072) } function Pxe(n) { return !n.valueDeclaration && !!(ac(n) & 1024) } function Xte(n, a) { if (a.flags & 2097152 && Ur(a) & 33554432) { let c = wr(eM(a), Nxe); if (c) return da(n, _.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents, Ee(a, void 0, 536870912), E(c)); let u = wr(eM(a), Pxe); if (u) return da(n, _.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some, Ee(a, void 0, 536870912), E(u)) } return n } function ja(n, a, c, u) { if (n = vC(n), n.flags & 524288) { let p = R_(n), h = p.members.get(a); if (h && ig(h, u)) return h; if (c) return; let T = p === aa ? Hs : p.callSignatures.length ? Uc : p.constructSignatures.length ? Gu : void 0; if (T) { let k = qb(T, a); if (k) return k } return qb(ka, a) } if (n.flags & 3145728) return qte(n, a, c) } function nM(n, a) { if (n.flags & 3670016) { let c = R_(n); return a === 0 ? c.callSignatures : c.constructSignatures } return Je } function xa(n, a) { return nM(vC(n), a) } function Yte(n, a) { return wr(n, c => c.keyType === a) } function $te(n, a) { let c, u, p; for (let h of n) h.keyType === ae ? c = h : Vx(a, h.keyType) && (u ? (p || (p = [u])).push(h) : u = h); return p ? Fp(ue, so(on(p, h => h.type)), ou(p, (h, T) => h && T.isReadonly, !0)) : u || (c && Vx(a, ae) ? c : void 0) } function Vx(n, a) { return to(n, a) || a === ae && to(n, rt) || a === rt && (n === Fa || !!(n.flags & 128) && Wm(n.value)) } function Qte(n) { return n.flags & 3670016 ? R_(n).indexInfos : Je } function tu(n) { return Qte(vC(n)) } function Cm(n, a) { return Yte(tu(n), a) } function fg(n, a) { var c; return (c = Cm(n, a)) == null ? void 0 : c.type } function Zte(n, a) { return tu(n).filter(c => Vx(a, c.keyType)) } function rM(n, a) { return $te(tu(n), a) } function jx(n, a) { return rM(n, qk(a) ? j : ff(Gi(a))) } function Mxe(n) { var a; let c; for (let u of jy(n)) c = xg(c, UE(u.symbol)); return c?.length ? c : Jc(n) ? (a = Zk(n)) == null ? void 0 : a.typeParameters : void 0 } function ene(n) { let a = []; return n.forEach((c, u) => { LE(u) || a.push(c) }), a } function tne(n, a) { if (fl(n)) return; let c = yd(Ne, '"' + n + '"', 512); return c && a ? No(c) : c } function Qk(n) { if (uS(n) || zR(n) || JR(n)) return !0; if (n.initializer) { let c = ip(n.parent), u = n.parent.parameters.indexOf(n); return L.assert(u >= 0), u >= Vp(c, 3) } let a = ET(n.parent); return a ? !n.type && !n.dotDotDotToken && n.parent.parameters.indexOf(n) >= a.arguments.length : !1 } function YJe(n) { return Na(n) && !rm(n) && n.questionToken } function iM(n, a, c, u) { return { kind: n, parameterName: a, parameterIndex: c, type: u } } function Mp(n) { let a = 0; if (n) for (let c = 0; c < n.length; c++)Rxe(n[c]) || (a = c + 1); return a } function Sy(n, a, c, u) { let p = Fn(a); if (!p) return []; let h = Fn(n); if (u || h >= c && h <= p) { let T = n ? n.slice() : []; for (let O = h; O < p; O++)T[O] = ve; let k = hre(u); for (let O = h; O < p; O++) { let H = jE(a[O]); u && H && (ph(H, ue) || ph(H, Ki)) && (H = Se), T[O] = H ? Oi(H, Wu(a, T)) : k } return T.length = a.length, T } return n && n.slice() } function ip(n) { let a = Rr(n); if (!a.resolvedSignature) { let c = [], u = 0, p = 0, h, T = !1, k = ET(n), O = jA(n); !k && Yn(n) && bce(n) && !Joe(n) && !Vy(n) && (u |= 32); for (let Ae = O ? 1 : 0; Ae < n.parameters.length; Ae++) { let xe = n.parameters[Ae], tt = xe.symbol, It = xp(xe) ? xe.typeExpression && xe.typeExpression.type : xe.type; tt && tt.flags & 4 && !La(xe.name) && (tt = zs(xe, tt.escapedName, 111551, void 0, void 0, !1)), Ae === 0 && tt.escapedName === "this" ? (T = !0, h = xe.symbol) : c.push(tt), It && It.kind === 198 && (u |= 2), zR(xe) || xe.initializer || xe.questionToken || Fm(xe) || k && c.length > k.arguments.length && !It || JR(xe) || (p = c.length) } if ((n.kind === 174 || n.kind === 175) && Ux(n) && (!T || !h)) { let Ae = n.kind === 174 ? 175 : 174, xe = nc(fr(n), Ae); xe && (h = Me(xe)) } if (Yn(n)) { let Ae = e6(n); Ae && Ae.typeExpression && (h = qE(wo(1, "this"), $r(Ae.typeExpression))) } let J = n.kind === 173 ? vu(No(n.parent.symbol)) : void 0, de = J ? J.localTypeParameters : Mxe(n); (Yj(n) || Yn(n) && $Je(n, c)) && (u |= 1), (yL(n) && Mr(n, 256) || Ec(n) && Mr(n.parent, 256)) && (u |= 4), a.resolvedSignature = Am(n, de, h, c, void 0, void 0, p, u) } return a.resolvedSignature } function $Je(n, a) { if (X0(n) || !nne(n)) return !1; let c = Os(n.parameters), u = c ? fI(c) : A0(n).filter(xp), p = ks(u, T => T.typeExpression && h3(T.typeExpression.type) ? T.typeExpression.type : void 0), h = wo(3, "args", 32768); return p ? h.links.type = nu($r(p.type)) : (h.links.checkFlags |= 65536, h.links.deferralParent = lt, h.links.deferralConstituents = [Et], h.links.deferralWriteConstituents = [Et]), p && a.pop(), a.push(h), !0 } function Zk(n) { if (!(Yn(n) && Ds(n))) return; let a = x0(n); return a?.typeExpression && F1($r(a.typeExpression)) } function QJe(n, a) { let c = Zk(n); if (!c) return; let u = n.parameters.indexOf(a); return a.dotDotDotToken ? SD(c, u) : P_(c, u) } function ZJe(n) { let a = Zk(n); return a && qo(a) } function nne(n) { let a = Rr(n); return a.containsArgumentsReference === void 0 && (a.flags & 512 ? a.containsArgumentsReference = !0 : a.containsArgumentsReference = c(n.body)), a.containsArgumentsReference; function c(u) { if (!u) return !1; switch (u.kind) { case 79: return u.escapedText === _t.escapedName && i8(u) === _t; case 169: case 171: case 174: case 175: return u.name.kind === 164 && c(u.name); case 208: case 209: return c(u.expression); case 299: return c(u.initializer); default: return !HH(u) && !Gm(u) && !!pa(u, c) } } } function Xb(n) { if (!n || !n.declarations) return Je; let a = []; for (let c = 0; c < n.declarations.length; c++) { let u = n.declarations[c]; if (Ia(u)) { if (c > 0 && u.body) { let p = n.declarations[c - 1]; if (u.parent === p.parent && u.kind === p.kind && u.pos === p.end) continue } if (Yn(u) && u.jsDoc) { let p = !1; for (let h of u.jsDoc) if (h.tags) { for (let T of h.tags) if (kL(T)) { let k = T.typeExpression; k.type === void 0 && !Ec(u) && qv(k, Se), a.push(ip(k)), p = !0 } } if (p) continue } a.push(!a2(u) && !s_(u) && Zk(u) || ip(u)) } } return a } function Fxe(n) { let a = Gl(n, n); if (a) { let c = Vu(a); if (c) return zn(c) } return Se } function Yb(n) { if (n.thisParameter) return zn(n.thisParameter) } function Lf(n) { if (!n.resolvedTypePredicate) { if (n.target) { let a = Lf(n.target); n.resolvedTypePredicate = a ? Mqe(a, n.mapper) : Rs } else if (n.compositeSignatures) n.resolvedTypePredicate = qKe(n.compositeSignatures, n.compositeKind) || Rs; else { let a = n.declaration && U_(n.declaration), c; if (!a) { let u = Zk(n.declaration); u && n !== u && (c = Lf(u)) } n.resolvedTypePredicate = a && l3(a) ? eKe(a, n) : c || Rs } L.assert(!!n.resolvedTypePredicate) } return n.resolvedTypePredicate === Rs ? void 0 : n.resolvedTypePredicate } function eKe(n, a) { let c = n.parameterName, u = n.type && $r(n.type); return c.kind === 194 ? iM(n.assertsModifier ? 2 : 0, void 0, void 0, u) : iM(n.assertsModifier ? 3 : 1, c.escapedText, Yc(a.parameters, p => p.escapedName === c.escapedText), u) } function Gxe(n, a, c) { return a !== 2097152 ? Gr(n, c) : so(n) } function qo(n) { if (!n.resolvedReturnType) { if (!cf(n, 3)) return ve; let a = n.target ? Oi(qo(n.target), n.mapper) : n.compositeSignatures ? Oi(Gxe(on(n.compositeSignatures, qo), n.compositeKind, 2), n.mapper) : Hx(n.declaration) || (rc(n.declaration.body) ? Se : rU(n.declaration)); if (n.flags & 8 ? a = h2e(a) : n.flags & 16 && (a = gg(a)), !If()) { if (n.declaration) { let c = U_(n.declaration); if (c) Fe(c, _.Return_type_annotation_circularly_references_itself); else if (ge) { let u = n.declaration, p = sa(u); p ? Fe(p, _._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, os(p)) : Fe(u, _.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions) } } a = Se } n.resolvedReturnType = a } return n.resolvedReturnType } function Hx(n) { if (n.kind === 173) return vu(No(n.parent.symbol)); if (X0(n)) { let c = OI(n); if (c && Ec(c.parent)) return vu(No(c.parent.parent.symbol)) } if (jA(n)) return $r(n.parameters[0].type); let a = U_(n); if (a) return $r(a); if (n.kind === 174 && Ux(n)) { let c = Yn(n) && di(n); if (c) return c; let u = nc(fr(n), 175), p = te(u); if (p) return p } return ZJe(n) } function rne(n) { return !n.resolvedReturnType && Sm(n, 3) >= 0 } function tKe(n) { return Bxe(n) || Se } function Bxe(n) { if (Xl(n)) { let a = zn(n.parameters[n.parameters.length - 1]), c = po(a) ? bM(a) : a; return c && fg(c, rt) } } function eD(n, a, c, u) { let p = ine(n, Sy(a, n.typeParameters, Mp(n.typeParameters), c)); if (u) { let h = KCe(qo(p)); if (h) { let T = Xk(h); T.typeParameters = u; let k = Xk(p); return k.resolvedReturnType = HE(T), k } } return p } function ine(n, a) { let c = n.instantiations || (n.instantiations = new Map), u = kf(a), p = c.get(u); return p || c.set(u, p = JG(n, a)), p } function JG(n, a) { return $x(n, nKe(n, a), !0) } function nKe(n, a) { return Wu(n.typeParameters, a) } function tD(n) { return n.typeParameters ? n.erasedSignatureCache || (n.erasedSignatureCache = rKe(n)) : n } function rKe(n) { return $x(n, jAe(n.typeParameters), !0) } function iKe(n) { return n.typeParameters ? n.canonicalSignatureCache || (n.canonicalSignatureCache = aKe(n)) : n } function aKe(n) { return eD(n, on(n.typeParameters, a => a.target && !eu(a.target) ? a.target : a), Yn(n.declaration)) } function oKe(n) { let a = n.typeParameters; if (a) { if (n.baseSignatureCache) return n.baseSignatureCache; let c = jAe(a), u = Wu(a, on(a, h => eu(h) || ue)), p = on(a, h => Oi(h, u) || ue); for (let h = 0; h < a.length - 1; h++)p = hg(p, u); return p = hg(p, c), n.baseSignatureCache = $x(n, Wu(a, p), !0) } return n } function HE(n) { var a; if (!n.isolatedSignatureType) { let c = (a = n.declaration) == null ? void 0 : a.kind, u = c === void 0 || c === 173 || c === 177 || c === 182, p = Bd(16); p.members = q, p.properties = Je, p.callSignatures = u ? Je : [n], p.constructSignatures = u ? [n] : Je, p.indexInfos = Je, n.isolatedSignatureType = p } return n.isolatedSignatureType } function Uxe(n) { return n.members ? ane(n.members) : void 0 } function ane(n) { return n.get("__index") } function Fp(n, a, c, u) { return { keyType: n, type: a, isReadonly: c, declaration: u } } function Vxe(n) { let a = Uxe(n); return a ? one(a) : Je } function one(n) { if (n.declarations) { let a = []; for (let c of n.declarations) if (c.parameters.length === 1) { let u = c.parameters[0]; u.type && QE($r(u.type), p => { KG(p) && !Yte(a, p) && a.push(Fp(p, c.type ? $r(c.type) : Se, cd(c, 64), c)) }) } return a } return Je } function KG(n) { return !!(n.flags & 4108) || qx(n) || !!(n.flags & 2097152) && !SC(n) && vt(n.types, KG) } function sne(n) { return Zi(Pr(n.symbol && n.symbol.declarations, _c), EA)[0] } function jxe(n, a) { var c; let u; if ((c = n.symbol) != null && c.declarations) { for (let p of n.symbol.declarations) if (p.parent.kind === 192) { let [h = p.parent, T] = Tce(p.parent.parent); if (T.kind === 180 && !a) { let k = T, O = xie(k); if (O) { let H = k.typeArguments.indexOf(h); if (H < O.length) { let J = eu(O[H]); if (J) { let de = Rne(O, O.map((xe, tt) => () => met(k, O, tt))), Ae = Oi(J, de); Ae !== n && (u = Sn(u, Ae)) } } } } else if (T.kind === 166 && T.dotDotDotToken || T.kind === 188 || T.kind === 199 && T.dotDotDotToken) u = Sn(u, nu(ue)); else if (T.kind === 201) u = Sn(u, ae); else if (T.kind === 165 && T.parent.kind === 197) u = Sn(u, Si); else if (T.kind === 197 && T.type && vs(T.type) === p.parent && T.parent.kind === 191 && T.parent.extendsType === T && T.parent.checkType.kind === 197 && T.parent.checkType.type) { let k = T.parent.checkType, O = $r(k.type); u = Sn(u, Oi(O, n0(UE(fr(k.typeParameter)), k.typeParameter.constraint ? $r(k.typeParameter.constraint) : Si))) } } } return u && so(u) } function bC(n) { if (!n.constraint) if (n.target) { let a = eu(n.target); n.constraint = a ? Oi(a, n.mapper) : Co } else { let a = sne(n); if (!a) n.constraint = jxe(n) || Co; else { let c = $r(a); c.flags & 1 && !Ro(c) && (c = a.parent.parent.kind === 197 ? Si : ue), n.constraint = c } } return n.constraint === Co ? void 0 : n.constraint } function Hxe(n) { let a = nc(n.symbol, 165), c = H_(a.parent) ? J6(a.parent) : a.parent; return c && vd(c) } function kf(n) { let a = ""; if (n) { let c = n.length, u = 0; for (; u < c;) { let p = n[u].id, h = 1; for (; u + h < c && n[u + h].id === p + h;)h++; a.length && (a += ","), a += p, h > 1 && (a += ":" + h), u += h } } return a } function Wx(n, a) { return n ? `@${$a(n)}` + (a ? `:${kf(a)}` : "") : "" } function qG(n, a) { let c = 0; for (let u of n) (a === void 0 || !(u.flags & a)) && (c |= Ur(u)); return c & 458752 } function zx(n, a) { return vt(a) && n === ro ? ue : _g(n, a) } function _g(n, a) { let c = kf(a), u = n.instantiations.get(c); return u || (u = Bd(4, n.symbol), n.instantiations.set(c, u), u.objectFlags |= a ? qG(a) : 0, u.target = n, u.resolvedTypeArguments = a), u } function Wxe(n) { let a = Rp(n.flags, n.symbol); return a.objectFlags = n.objectFlags, a.target = n.target, a.resolvedTypeArguments = n.resolvedTypeArguments, a } function cne(n, a, c, u, p) { if (!u) { u = R1(a); let T = Xx(u); p = c ? hg(T, c) : T } let h = Bd(4, n.symbol); return h.target = n, h.node = a, h.mapper = c, h.aliasSymbol = u, h.aliasTypeArguments = p, h } function Ko(n) { var a, c; if (!n.resolvedTypeArguments) { if (!cf(n, 6)) return ((a = n.target.localTypeParameters) == null ? void 0 : a.map(() => ve)) || Je; let u = n.node, p = u ? u.kind === 180 ? Qi(n.target.outerTypeParameters, oU(u, n.target.localTypeParameters)) : u.kind === 185 ? [$r(u.elementType)] : on(u.elements, $r) : Je; If() ? n.resolvedTypeArguments = n.mapper ? hg(p, n.mapper) : p : (n.resolvedTypeArguments = ((c = n.target.localTypeParameters) == null ? void 0 : c.map(() => ve)) || Je, Fe(n.node || P, n.target.symbol ? _.Type_arguments_for_0_circularly_reference_themselves : _.Tuple_type_arguments_circularly_reference_themselves, n.target.symbol && E(n.target.symbol))) } return n.resolvedTypeArguments } function Vv(n) { return Fn(n.target.typeParameters) } function zxe(n, a) { let c = gs(No(a)), u = c.localTypeParameters; if (u) { let p = Fn(n.typeArguments), h = Mp(u), T = Yn(n); if (!(!ge && T) && (p < h || p > u.length)) { let H = T && Vg(n) && !x2(n.parent), J = h === u.length ? H ? _.Expected_0_type_arguments_provide_these_with_an_extends_tag : _.Generic_type_0_requires_1_type_argument_s : H ? _.Expected_0_1_type_arguments_provide_these_with_an_extends_tag : _.Generic_type_0_requires_between_1_and_2_type_arguments, de = Ee(c, void 0, 2); if (Fe(n, J, de, h, u.length), !T) return ve } if (n.kind === 180 && uAe(n, Fn(n.typeArguments) !== u.length)) return cne(c, n, void 0); let O = Qi(c.outerTypeParameters, Sy(aM(n), u, h, T)); return _g(c, O) } return $b(n, a) ? c : ve } function Jx(n, a, c, u) { let p = gs(n); if (p === Q && rN.has(n.escapedName) && a && a.length === 1) return w1(n, a[0]); let h = Ai(n), T = h.typeParameters, k = kf(a) + Wx(c, u), O = h.instantiations.get(k); return O || h.instantiations.set(k, O = zAe(p, Wu(T, Sy(a, T, Mp(T), Yn(n.valueDeclaration))), c, u)), O } function sKe(n, a) { if (ac(a) & 1048576) { let p = aM(n), h = Wx(a, p), T = Cr.get(h); return T || (T = Cc(1, "error"), T.aliasSymbol = a, T.aliasTypeArguments = p, Cr.set(h, T)), T } let c = gs(a), u = Ai(a).typeParameters; if (u) { let p = Fn(n.typeArguments), h = Mp(u); if (p < h || p > u.length) return Fe(n, h === u.length ? _.Generic_type_0_requires_1_type_argument_s : _.Generic_type_0_requires_between_1_and_2_type_arguments, E(a), h, u.length), ve; let T = R1(n), k = T && (Jxe(a) || !Jxe(T)) ? T : void 0, O; if (k) O = Xx(k); else if (_6(n)) { let H = Kx(n, 2097152, !0); if (H && H !== Ht) { let J = wc(H); J && J.flags & 524288 && (k = J, O = aM(n) || (u ? [] : void 0)) } } return Jx(a, aM(n), k, O) } return $b(n, a) ? c : ve } function Jxe(n) { var a; let c = (a = n.declarations) == null ? void 0 : a.find(sR); return !!(c && Xd(c)) } function cKe(n) { switch (n.kind) { case 180: return n.typeName; case 230: let a = n.expression; if (bc(a)) return a } } function Kxe(n) { return n.parent ? `${Kxe(n.parent)}.${n.escapedName}` : n.escapedName } function XG(n) { let c = (n.kind === 163 ? n.right : n.kind === 208 ? n.name : n).escapedText; if (c) { let u = n.kind === 163 ? XG(n.left) : n.kind === 208 ? XG(n.expression) : void 0, p = u ? `${Kxe(u)}.${c}` : c, h = dr.get(p); return h || (dr.set(p, h = wo(524288, c, 1048576)), h.parent = u, h.links.declaredType = nt), h } return Ht } function Kx(n, a, c) { let u = cKe(n); if (!u) return Ht; let p = uc(u, a, c); return p && p !== Ht ? p : c ? Ht : XG(u) } function YG(n, a) { if (a === Ht) return ve; if (a = Iv(a) || a, a.flags & 96) return zxe(n, a); if (a.flags & 524288) return sKe(n, a); let c = pxe(a); if (c) return $b(n, a) ? Hu(c) : ve; if (a.flags & 111551 && $G(n)) { let u = lKe(n, a); return u || (Kx(n, 788968), zn(a)) } return ve } function lKe(n, a) { let c = Rr(n); if (!c.resolvedJSDocType) { let u = zn(a), p = u; if (a.valueDeclaration) { let h = n.kind === 202 && n.qualifier; u.symbol && u.symbol !== a && h && (p = YG(n, u.symbol)) } c.resolvedJSDocType = p } return c.resolvedJSDocType } function lne(n, a) { if (a.flags & 3 || a === n || n.flags & 1) return n; let c = `${ru(n)}>${ru(a)}`, u = Dt.get(c); if (u) return u; let p = ch(33554432); return p.baseType = n, p.constraint = a, Dt.set(c, p), p } function une(n) { return so([n.constraint, n.baseType]) } function qxe(n) { return n.kind === 186 && n.elements.length === 1 } function Xxe(n, a, c) { return qxe(a) && qxe(c) ? Xxe(n, a.elements[0], c.elements[0]) : Cy($r(a)) === Cy(n) ? $r(c) : void 0 } function uKe(n, a) { let c, u = !0; for (; a && !ca(a) && a.kind !== 323;) { let p = a.parent; if (p.kind === 166 && (u = !u), (u || n.flags & 8650752) && p.kind === 191 && a === p.trueType) { let h = Xxe(n, p.checkType, p.extendsType); h && (c = Sn(c, h)) } else if (n.flags & 262144 && p.kind === 197 && a === p.type) { let h = $r(p); if (w_(h) === Cy(n)) { let T = Nne(h); if (T) { let k = eu(T); k && Im(k, JE) && (c = Sn(c, Gr([rt, Fa]))) } } } a = p } return c ? lne(n, so(c)) : n } function $G(n) { return !!(n.flags & 8388608) && (n.kind === 180 || n.kind === 202) } function $b(n, a) { return n.typeArguments ? (Fe(n, _.Type_0_is_not_generic, a ? E(a) : n.typeName ? os(n.typeName) : nN), !1) : !0 } function Yxe(n) { if (Re(n.typeName)) { let a = n.typeArguments; switch (n.typeName.escapedText) { case "String": return $b(n), ae; case "Number": return $b(n), rt; case "Boolean": return $b(n), Te; case "Void": return $b(n), yt; case "Undefined": return $b(n), Oe; case "Null": return $b(n), ln; case "Function": case "function": return $b(n), Hs; case "array": return (!a || !a.length) && !ge ? Et : void 0; case "promise": return (!a || !a.length) && !ge ? jM(Se) : void 0; case "Object": if (a && a.length === 2) { if (U6(n)) { let c = $r(a[0]), u = $r(a[1]), p = c === ae || c === rt ? [Fp(c, u, !1)] : Je; return ls(void 0, q, Je, Je, p) } return Se } return $b(n), ge ? void 0 : Se } } } function dKe(n) { let a = $r(n.type); return U ? TB(a, 65536) : a } function dne(n) { let a = Rr(n); if (!a.resolvedType) { if (Ch(n) && pT(n.parent)) return a.resolvedSymbol = Ht, a.resolvedType = Ic(n.parent.expression); let c, u, p = 788968; $G(n) && (u = Yxe(n), u || (c = Kx(n, p, !0), c === Ht ? c = Kx(n, p | 111551) : Kx(n, p), u = YG(n, c))), u || (c = Kx(n, p), u = YG(n, c)), a.resolvedSymbol = c, a.resolvedType = u } return a.resolvedType } function aM(n) { return on(n.typeArguments, $r) } function $xe(n) { let a = Rr(n); if (!a.resolvedType) { let c = _Ie(n); a.resolvedType = Hu(Sd(c)) } return a.resolvedType } function Qxe(n, a) { function c(p) { let h = p.declarations; if (h) for (let T of h) switch (T.kind) { case 260: case 261: case 263: return T } } if (!n) return a ? ro : Ki; let u = gs(n); return u.flags & 524288 ? Fn(u.typeParameters) !== a ? (Fe(c(n), _.Global_type_0_must_have_1_type_parameter_s, fc(n), a), a ? ro : Ki) : u : (Fe(c(n), _.Global_type_0_must_be_a_class_or_interface_type, fc(n)), a ? ro : Ki) } function fne(n, a) { return nD(n, 111551, a ? _.Cannot_find_global_value_0 : void 0) } function Zxe(n, a) { return nD(n, 788968, a ? _.Cannot_find_global_type_0 : void 0) } function QG(n, a, c) { let u = nD(n, 788968, c ? _.Cannot_find_global_type_0 : void 0); if (u && (gs(u), Fn(Ai(u).typeParameters) !== a)) { let p = u.declarations && wr(u.declarations, Ep); Fe(p, _.Global_type_0_must_have_1_type_parameter_s, fc(u), a); return } return u } function nD(n, a, c) { return zs(void 0, n, a, c, n, !1, !1, !1) } function Fc(n, a, c) { let u = Zxe(n, c); return u || c ? Qxe(u, a) : void 0 } function fKe() { return xt || (xt = Fc("TypedPropertyDescriptor", 1, !0) || ro) } function _Ke() { return Md || (Md = Fc("TemplateStringsArray", 0, !0) || Ki) } function eAe() { return zf || (zf = Fc("ImportMeta", 0, !0) || Ki) } function tAe() { if (!Io) { let n = wo(0, "ImportMetaExpression"), a = eAe(), c = wo(4, "meta", 8); c.parent = n, c.links.type = a; let u = Ua([c]); n.members = u, Io = ls(n, u, Je, Je, Je) } return Io } function nAe(n) { return Jf || (Jf = Fc("ImportCallOptions", 0, n)) || Ki } function rAe(n) { return ee || (ee = fne("Symbol", n)) } function pKe(n) { return Ze || (Ze = Zxe("SymbolConstructor", n)) } function iAe() { return At || (At = Fc("Symbol", 0, !1)) || Ki } function oM(n) { return qt || (qt = Fc("Promise", 1, n)) || ro } function aAe(n) { return Ln || (Ln = Fc("PromiseLike", 1, n)) || ro } function _ne(n) { return mr || (mr = fne("Promise", n)) } function mKe(n) { return Vr || (Vr = Fc("PromiseConstructorLike", 0, n)) || Ki } function ZG(n) { return Pd || (Pd = Fc("AsyncIterable", 1, n)) || ro } function hKe(n) { return Dc || (Dc = Fc("AsyncIterator", 3, n)) || ro } function gKe(n) { return gd || (gd = Fc("AsyncIterableIterator", 1, n)) || ro } function yKe(n) { return Zl || (Zl = Fc("AsyncGenerator", 3, n)) || ro } function pne(n) { return gi || (gi = Fc("Iterable", 1, n)) || ro } function vKe(n) { return Ea || (Ea = Fc("Iterator", 3, n)) || ro } function bKe(n) { return bo || (bo = Fc("IterableIterator", 1, n)) || ro } function EKe(n) { return Qo || (Qo = Fc("Generator", 3, n)) || ro } function TKe(n) { return Cs || (Cs = Fc("IteratorYieldResult", 1, n)) || ro } function SKe(n) { return Bu || (Bu = Fc("IteratorReturnResult", 1, n)) || ro } function oAe(n, a = 0) { let c = nD(n, 788968, void 0); return c && Qxe(c, a) } function xKe() { return Fd || (Fd = QG("Extract", 2, !0) || Ht), Fd === Ht ? void 0 : Fd } function AKe() { return E_ || (E_ = QG("Omit", 2, !0) || Ht), E_ === Ht ? void 0 : E_ } function mne(n) { return Y_ || (Y_ = QG("Awaited", 1, n) || (n ? Ht : void 0)), Y_ === Ht ? void 0 : Y_ } function CKe() { return M || (M = Fc("BigInt", 0, !1)) || Ki } function IKe(n) { var a; return (a = Pn ?? (Pn = Fc("ClassDecoratorContext", 1, n))) != null ? a : ro } function LKe(n) { var a; return (a = la ?? (la = Fc("ClassMethodDecoratorContext", 2, n))) != null ? a : ro } function kKe(n) { var a; return (a = oa ?? (oa = Fc("ClassGetterDecoratorContext", 2, n))) != null ? a : ro } function DKe(n) { var a; return (a = be ?? (be = Fc("ClassSetterDecoratorContext", 2, n))) != null ? a : ro } function wKe(n) { var a; return (a = De ?? (De = Fc("ClassAccessorDecoratorContext", 2, n))) != null ? a : ro } function RKe(n) { var a; return (a = mt ?? (mt = Fc("ClassAccessorDecoratorTarget", 2, n))) != null ? a : ro } function OKe(n) { var a; return (a = St ?? (St = Fc("ClassAccessorDecoratorResult", 2, n))) != null ? a : ro } function NKe(n) { var a; return (a = Zt ?? (Zt = Fc("ClassFieldDecoratorContext", 2, n))) != null ? a : ro } function PKe() { return He || (He = fne("NaN", !1)) } function MKe() { return Nt || (Nt = QG("Record", 2, !0) || Ht), Nt === Ht ? void 0 : Nt } function rD(n, a) { return n !== ro ? _g(n, a) : Ki } function sAe(n) { return rD(fKe(), [n]) } function cAe(n) { return rD(pne(!0), [n]) } function nu(n, a) { return rD(a ? jo : $o, [n]) } function hne(n) { switch (n.kind) { case 187: return 2; case 188: return lAe(n); case 199: return n.questionToken ? 2 : n.dotDotDotToken ? lAe(n) : 1; default: return 1 } } function lAe(n) { return uM(n.type) ? 4 : 8 } function FKe(n) { let a = BKe(n.parent); if (uM(n)) return a ? jo : $o; let u = on(n.elements, hne), p = vt(n.elements, h => h.kind !== 199); return gne(u, a, p ? void 0 : n.elements) } function uAe(n, a) { return !!R1(n) || dAe(n) && (n.kind === 185 ? xy(n.elementType) : n.kind === 186 ? vt(n.elements, xy) : a || vt(n.typeArguments, xy)) } function dAe(n) { let a = n.parent; switch (a.kind) { case 193: case 199: case 180: case 189: case 190: case 196: case 191: case 195: case 185: case 186: return dAe(a); case 262: return !0 }return !1 } function xy(n) { switch (n.kind) { case 180: return $G(n) || !!(Kx(n, 788968).flags & 524288); case 183: return !0; case 195: return n.operator !== 156 && xy(n.type); case 193: case 187: case 199: case 319: case 317: case 318: case 312: return xy(n.type); case 188: return n.type.kind !== 185 || xy(n.type.elementType); case 189: case 190: return vt(n.types, xy); case 196: return xy(n.objectType) || xy(n.indexType); case 191: return xy(n.checkType) || xy(n.extendsType) || xy(n.trueType) || xy(n.falseType) }return !1 } function GKe(n) { let a = Rr(n); if (!a.resolvedType) { let c = FKe(n); if (c === ro) a.resolvedType = Ki; else if (!(n.kind === 186 && vt(n.elements, u => !!(hne(u) & 8))) && uAe(n)) a.resolvedType = n.kind === 186 && n.elements.length === 0 ? c : cne(c, n, void 0); else { let u = n.kind === 185 ? [$r(n.elementType)] : on(n.elements, $r); a.resolvedType = yne(c, u) } } return a.resolvedType } function BKe(n) { return RS(n) && n.operator === 146 } function ap(n, a, c = !1, u) { let p = gne(a || on(n, h => 1), c, u); return p === ro ? Ki : n.length ? yne(p, n) : p } function gne(n, a, c) { if (n.length === 1 && n[0] & 4) return a ? jo : $o; let u = on(n, h => h & 1 ? "#" : h & 2 ? "?" : h & 4 ? "." : "*").join() + (a ? "R" : "") + (c && c.length ? "," + on(c, zo).join(",") : ""), p = kn.get(u); return p || kn.set(u, p = UKe(n, a, c)), p } function UKe(n, a, c) { let u = n.length, p = Oy(n, de => !!(de & 9)), h, T = [], k = 0; if (u) { h = new Array(u); for (let de = 0; de < u; de++) { let Ae = h[de] = rd(), xe = n[de]; if (k |= xe, !(k & 12)) { let tt = wo(4 | (xe & 2 ? 16777216 : 0), "" + de, a ? 8 : 0); tt.links.tupleLabelDeclaration = c?.[de], tt.links.type = Ae, T.push(tt) } } } let O = T.length, H = wo(4, "length", a ? 8 : 0); if (k & 12) H.links.type = rt; else { let de = []; for (let Ae = p; Ae <= u; Ae++)de.push(op(Ae)); H.links.type = Gr(de) } T.push(H); let J = Bd(12); return J.typeParameters = h, J.outerTypeParameters = void 0, J.localTypeParameters = h, J.instantiations = new Map, J.instantiations.set(kf(J.typeParameters), J), J.target = J, J.resolvedTypeArguments = J.typeParameters, J.thisType = rd(), J.thisType.isThisType = !0, J.thisType.constraint = J, J.declaredProperties = T, J.declaredCallSignatures = Je, J.declaredConstructSignatures = Je, J.declaredIndexInfos = Je, J.elementFlags = n, J.minLength = p, J.fixedLength = O, J.hasRestElement = !!(k & 12), J.combinedFlags = k, J.readonly = a, J.labeledElementDeclarations = c, J } function yne(n, a) { return n.objectFlags & 8 ? fAe(n, a) : _g(n, a) } function fAe(n, a) { var c, u, p; if (!(n.combinedFlags & 14)) return _g(n, a); if (n.combinedFlags & 8) { let xe = Yc(a, (tt, It) => !!(n.elementFlags[It] & 8 && tt.flags & 1179648)); if (xe >= 0) return cM(on(a, (tt, It) => n.elementFlags[It] & 8 ? tt : ue)) ? Ls(a[xe], tt => fAe(n, UU(a, xe, tt))) : ve } let h = [], T = [], k = [], O = -1, H = -1, J = -1; for (let xe = 0; xe < a.length; xe++) { let tt = a[xe], It = n.elementFlags[xe]; if (It & 8) if (tt.flags & 58982400 || df(tt)) Ae(tt, 8, (c = n.labeledElementDeclarations) == null ? void 0 : c[xe]); else if (po(tt)) { let Tn = Ko(tt); if (Tn.length + h.length >= 1e4) return Fe(P, Gm(P) ? _.Type_produces_a_tuple_type_that_is_too_large_to_represent : _.Expression_produces_a_tuple_type_that_is_too_large_to_represent), ve; mn(Tn, (un, Nn) => { var en; return Ae(un, tt.target.elementFlags[Nn], (en = tt.target.labeledElementDeclarations) == null ? void 0 : en[Nn]) }) } else Ae(Kv(tt) && fg(tt, rt) || ve, 4, (u = n.labeledElementDeclarations) == null ? void 0 : u[xe]); else Ae(tt, It, (p = n.labeledElementDeclarations) == null ? void 0 : p[xe]) } for (let xe = 0; xe < O; xe++)T[xe] & 2 && (T[xe] = 1); H >= 0 && H < J && (h[H] = Gr(Tl(h.slice(H, J + 1), (xe, tt) => T[H + tt] & 8 ? od(xe, rt) : xe)), h.splice(H + 1, J - H), T.splice(H + 1, J - H), k?.splice(H + 1, J - H)); let de = gne(T, n.readonly, k); return de === ro ? Ki : T.length ? _g(de, h) : de; function Ae(xe, tt, It) { tt & 1 && (O = T.length), tt & 4 && H < 0 && (H = T.length), tt & 6 && (J = T.length), h.push(tt & 2 ? ao(xe, !0) : xe), T.push(tt), k && It ? k.push(It) : k = void 0 } } function EC(n, a, c = 0) { let u = n.target, p = Vv(n) - c; return a > u.fixedLength ? IXe(n) || ap(Je) : ap(Ko(n).slice(a, p), u.elementFlags.slice(a, p), !1, u.labeledElementDeclarations && u.labeledElementDeclarations.slice(a, p)) } function _Ae(n) { return Gr(Sn(mae(n.target.fixedLength, a => ff("" + a)), Gp(n.target.readonly ? jo : $o))) } function VKe(n, a) { let c = Yc(n.elementFlags, u => !(u & a)); return c >= 0 ? c : n.elementFlags.length } function sM(n, a) { return n.elementFlags.length - s8(n.elementFlags, c => !(c & a)) - 1 } function jKe(n) { return ao($r(n.type), !0) } function ru(n) { return n.id } function Qb(n, a) { return Py(n, a, ru, Es) >= 0 } function vne(n, a) { let c = Py(n, a, ru, Es); return c < 0 ? (n.splice(~c, 0, a), !0) : !1 } function HKe(n, a, c) { let u = c.flags; if (u & 1048576) return pAe(n, a | (KKe(c) ? 1048576 : 0), c.types); if (!(u & 131072)) if (a |= u & 205258751, u & 465829888 && (a |= 33554432), c === Tt && (a |= 8388608), !U && u & 98304) Ur(c) & 65536 || (a |= 4194304); else { let p = n.length, h = p && c.id > n[p - 1].id ? ~p : Py(n, c, ru, Es); h < 0 && n.splice(~h, 0, c) } return a } function pAe(n, a, c) { for (let u of c) a = HKe(n, a, u); return a } function WKe(n, a) { var c; if (n.length < 2) return n; let u = kf(n), p = pn.get(u); if (p) return p; let h = a && vt(n, H => !!(H.flags & 524288) && !df(H) && Vne(R_(H))), T = n.length, k = T, O = 0; for (; k > 0;) { k--; let H = n[k]; if (h || H.flags & 469499904) { let J = H.flags & 61603840 ? wr(Jo(H), Ae => N_(zn(Ae))) : void 0, de = J && Hu(zn(J)); for (let Ae of n) if (H !== Ae) { if (O === 1e5 && O / (T - k) * T > 1e6) { (c = ai) == null || c.instant(ai.Phase.CheckTypes, "removeSubtypes_DepthLimit", { typeIds: n.map(tt => tt.id) }), Fe(P, _.Expression_produces_a_union_type_that_is_too_complex_to_represent); return } if (O++, J && Ae.flags & 61603840) { let xe = Vc(Ae, J.escapedName); if (xe && N_(xe) && Hu(xe) !== de) continue } if (Bp(H, Ae, x_) && (!(Ur(Bx(H)) & 1) || !(Ur(Bx(Ae)) & 1) || r0(H, Ae))) { y0(n, k); break } } } } return pn.set(u, n), n } function zKe(n, a, c) { let u = n.length; for (; u > 0;) { u--; let p = n[u], h = p.flags; (h & 402653312 && a & 4 || h & 256 && a & 8 || h & 2048 && a & 64 || h & 8192 && a & 4096 || c && h & 32768 && a & 16384 || t0(p) && Qb(n, p.regularType)) && y0(n, u) } } function JKe(n) { let a = Pr(n, c => !!(c.flags & 134217728) && qx(c)); if (a.length) { let c = n.length; for (; c > 0;) { c--; let u = n[c]; u.flags & 128 && vt(a, p => _re(u, p)) && y0(n, c) } } } function KKe(n) { return !!(n.flags & 1048576 && (n.aliasSymbol || n.origin)) } function mAe(n, a) { for (let c of a) if (c.flags & 1048576) { let u = c.origin; c.aliasSymbol || u && !(u.flags & 1048576) ? Of(n, c) : u && u.flags & 1048576 && mAe(n, u.types) } } function bne(n, a) { let c = L1(n); return c.types = a, c } function Gr(n, a = 1, c, u, p) { if (n.length === 0) return lt; if (n.length === 1) return n[0]; let h = [], T = pAe(h, 0, n); if (a !== 0) { if (T & 3) return T & 1 ? T & 8388608 ? Tt : Se : T & 65536 || Qb(h, ue) ? ue : G; if (T & 32768 && h.length >= 2 && h[0] === Oe && h[1] === Ge && y0(h, 1), (T & 402664352 || T & 16384 && T & 32768) && zKe(h, T, !!(a & 2)), T & 128 && T & 134217728 && JKe(h), a === 2 && (h = WKe(h, !!(T & 524288)), !h)) return ve; if (h.length === 0) return T & 65536 ? T & 4194304 ? ln : ir : T & 32768 ? T & 4194304 ? Oe : je : lt } if (!p && T & 1048576) { let O = []; mAe(O, n); let H = []; for (let de of h) vt(O, Ae => Qb(Ae.types, de)) || H.push(de); if (!c && O.length === 1 && H.length === 0) return O[0]; if (ou(O, (de, Ae) => de + Ae.types.length, 0) + H.length === h.length) { for (let de of O) vne(H, de); p = bne(1048576, H) } } let k = (T & 36323363 ? 0 : 32768) | (T & 2097152 ? 16777216 : 0); return Tne(h, k, c, u, p) } function qKe(n, a) { let c, u = []; for (let h of n) { let T = Lf(h); if (!T || T.kind === 2 || T.kind === 3) { if (a !== 2097152) continue; return } if (c) { if (!Ene(c, T)) return } else c = T; u.push(T.type) } if (!c) return; let p = Gxe(u, a); return iM(c.kind, c.parameterName, c.parameterIndex, p) } function Ene(n, a) { return n.kind === a.kind && n.parameterIndex === a.parameterIndex } function Tne(n, a, c, u, p) { if (n.length === 0) return lt; if (n.length === 1) return n[0]; let T = (p ? p.flags & 1048576 ? `|${kf(p.types)}` : p.flags & 2097152 ? `&${kf(p.types)}` : `#${p.type.id}|${kf(n)}` : kf(n)) + Wx(c, u), k = _n.get(T); return k || (k = ch(1048576), k.objectFlags = a | qG(n, 98304), k.types = n, k.origin = p, k.aliasSymbol = c, k.aliasTypeArguments = u, n.length === 2 && n[0].flags & 512 && n[1].flags & 512 && (k.flags |= 16, k.intrinsicName = "boolean"), _n.set(T, k)), k } function XKe(n) { let a = Rr(n); if (!a.resolvedType) { let c = R1(n); a.resolvedType = Gr(on(n.types, $r), 1, c, Xx(c)) } return a.resolvedType } function YKe(n, a, c) { let u = c.flags; return u & 2097152 ? hAe(n, a, c.types) : (hh(c) ? a & 16777216 || (a |= 16777216, n.set(c.id.toString(), c)) : (u & 3 ? c === Tt && (a |= 8388608) : (U || !(u & 98304)) && (c === Ge && (a |= 262144, c = Oe), n.has(c.id.toString()) || (c.flags & 109472 && a & 109472 && (a |= 67108864), n.set(c.id.toString(), c))), a |= u & 205258751), a) } function hAe(n, a, c) { for (let u of c) a = YKe(n, a, Hu(u)); return a } function $Ke(n, a) { let c = n.length; for (; c > 0;) { c--; let u = n[c]; (u.flags & 4 && a & 402653312 || u.flags & 8 && a & 256 || u.flags & 64 && a & 2048 || u.flags & 4096 && a & 8192 || u.flags & 16384 && a & 32768 || hh(u) && a & 470302716) && y0(n, c) } } function QKe(n, a) { for (let c of n) if (!Qb(c.types, a)) { let u = a.flags & 128 ? ae : a.flags & 256 ? rt : a.flags & 2048 ? Ot : a.flags & 8192 ? j : void 0; if (!u || !Qb(c.types, u)) return !1 } return !0 } function ZKe(n) { let a = n.length, c = Pr(n, u => !!(u.flags & 128)); for (; a > 0;) { a--; let u = n[a]; if (u.flags & 134217728) { for (let p of c) if (Iy(p, u)) { y0(n, a); break } else if (qx(u)) return !0 } } return !1 } function gAe(n, a) { return Ji(n, c => !!(c.flags & 1048576) && vt(c.types, u => !!(u.flags & a))) } function yAe(n, a) { for (let c = 0; c < n.length; c++)n[c] = jc(n[c], u => !(u.flags & a)) } function eqe(n) { let a, c = Yc(n, T => !!(Ur(T) & 32768)); if (c < 0) return !1; let u = c + 1; for (; u < n.length;) { let T = n[u]; Ur(T) & 32768 ? ((a || (a = [n[c]])).push(T), y0(n, u)) : u++ } if (!a) return !1; let p = [], h = []; for (let T of a) for (let k of T.types) vne(p, k) && QKe(a, k) && vne(h, k); return n[c] = Tne(h, 32768), !0 } function tqe(n, a, c) { let u = ch(2097152); return u.objectFlags = qG(n, 98304), u.types = n, u.aliasSymbol = a, u.aliasTypeArguments = c, u } function so(n, a, c, u) { let p = new Map, h = hAe(p, 0, n), T = lo(p.values()); if (h & 131072) return ya(T, Qe) ? Qe : lt; if (U && h & 98304 && h & 84410368 || h & 67108864 && h & 402783228 || h & 402653316 && h & 67238776 || h & 296 && h & 469891796 || h & 2112 && h & 469889980 || h & 12288 && h & 469879804 || h & 49152 && h & 469842940 || h & 134217728 && h & 128 && ZKe(T)) return lt; if (h & 1) return h & 8388608 ? Tt : Se; if (!U && h & 98304) return h & 16777216 ? lt : h & 32768 ? Oe : ln; if ((h & 4 && h & 402653312 || h & 8 && h & 256 || h & 64 && h & 2048 || h & 4096 && h & 8192 || h & 16384 && h & 32768 || h & 16777216 && h & 470302716) && (u || $Ke(T, h)), h & 262144 && (T[T.indexOf(Oe)] = Ge), T.length === 0) return ue; if (T.length === 1) return T[0]; let k = kf(T) + Wx(a, c), O = Gt.get(k); if (!O) { if (h & 1048576) if (eqe(T)) O = so(T, a, c); else if (gAe(T, 32768)) { let H = vt(T, fD) ? Ge : Oe; yAe(T, 32768), O = Gr([so(T), H], 1, a, c) } else if (gAe(T, 65536)) yAe(T, 65536), O = Gr([so(T), ln], 1, a, c); else { if (!cM(T)) return ve; let H = nqe(T), J = vt(H, de => !!(de.flags & 2097152)) && Sne(H) > Sne(T) ? bne(2097152, T) : void 0; O = Gr(H, 1, a, c, J) } else O = tqe(T, a, c); Gt.set(k, O) } return O } function vAe(n) { return ou(n, (a, c) => c.flags & 1048576 ? a * c.types.length : c.flags & 131072 ? 0 : a, 1) } function cM(n) { var a; let c = vAe(n); return c >= 1e5 ? ((a = ai) == null || a.instant(ai.Phase.CheckTypes, "checkCrossProductUnion_DepthLimit", { typeIds: n.map(u => u.id), size: c }), Fe(P, _.Expression_produces_a_union_type_that_is_too_complex_to_represent), !1) : !0 } function nqe(n) { let a = vAe(n), c = []; for (let u = 0; u < a; u++) { let p = n.slice(), h = u; for (let k = n.length - 1; k >= 0; k--)if (n[k].flags & 1048576) { let O = n[k].types, H = O.length; p[k] = O[h % H], h = Math.floor(h / H) } let T = so(p); T.flags & 131072 || c.push(T) } return c } function bAe(n) { return !(n.flags & 3145728) || n.aliasSymbol ? 1 : n.flags & 1048576 && n.origin ? bAe(n.origin) : Sne(n.types) } function Sne(n) { return ou(n, (a, c) => a + bAe(c), 0) } function rqe(n) { let a = Rr(n); if (!a.resolvedType) { let c = R1(n), u = on(n.types, $r), p = u.length === 2 && !!(u[0].flags & 76) && u[1] === mc; a.resolvedType = so(u, c, Xx(c), p) } return a.resolvedType } function EAe(n, a) { let c = ch(4194304); return c.type = n, c.stringsOnly = a, c } function iqe(n) { let a = L1(4194304); return a.type = n, a } function TAe(n, a) { return a ? n.resolvedStringIndexType || (n.resolvedStringIndexType = EAe(n, !0)) : n.resolvedIndexType || (n.resolvedIndexType = EAe(n, !1)) } function aqe(n, a, c) { let u = w_(n), p = rp(n), h = by(n.target || n); if (!h && !c) return p; let T = []; if (Yk(n)) { if (jv(p)) return TAe(n, a); { let H = Eu(yC(n)); Ute(H, 8576, a, O) } } else QE(ZP(p), O); jv(p) && QE(p, O); let k = c ? jc(Gr(T), H => !(H.flags & 5)) : Gr(T); if (k.flags & 1048576 && p.flags & 1048576 && kf(k.types) === kf(p.types)) return p; return k; function O(H) { let J = h ? Oi(h, oD(n.mapper, u, H)) : H; T.push(J === ae ? ei : J) } } function oqe(n) { let a = w_(n); return c(by(n) || a); function c(u) { return u.flags & 202375167 ? !0 : u.flags & 16777216 ? u.root.isDistributive && u.checkType === a : u.flags & 137363456 ? Ji(u.types, c) : u.flags & 8388608 ? c(u.objectType) && c(u.indexType) : u.flags & 33554432 ? c(u.baseType) && c(u.constraint) : u.flags & 268435456 ? c(u.type) : !1 } } function pg(n) { return pi(n) ? lt : Re(n) ? ff(Gi(n.escapedText)) : Hu(ts(n) ? vg(n) : Yi(n)) } function TC(n, a, c) { if (c || !(Ef(n) & 24)) { let u = Ai(zG(n)).nameType; if (!u) { let p = sa(n.valueDeclaration); u = n.escapedName === "default" ? ff("default") : p && pg(p) || (gR(n) ? void 0 : ff(fc(n))) } if (u && u.flags & a) return u } return lt } function SAe(n, a) { return !!(n.flags & a || n.flags & 2097152 && vt(n.types, c => SAe(c, a))) } function sqe(n, a, c) { let u = c && (Ur(n) & 7 || n.aliasSymbol) ? iqe(n) : void 0, p = on(Jo(n), T => TC(T, a)), h = on(tu(n), T => T !== yu && SAe(T.keyType, a) ? T.keyType === ae && a & 8 ? ei : T.keyType : lt); return Gr(Qi(p, h), 1, void 0, void 0, u) } function cqe(n) { let a = Wqe(n); return O_(a) !== a } function xAe(n) { return !!(n.flags & 58982400 || Qx(n) || df(n) && !oqe(n) || n.flags & 1048576 && vt(n.types, cqe) || n.flags & 2097152 && Js(n, 465829888) && vt(n.types, hh)) } function Gp(n, a = we, c) { return n = O_(n), xAe(n) ? TAe(n, a) : n.flags & 1048576 ? so(on(n.types, u => Gp(u, a, c))) : n.flags & 2097152 ? Gr(on(n.types, u => Gp(u, a, c))) : Ur(n) & 32 ? aqe(n, a, c) : n === Tt ? Tt : n.flags & 2 ? lt : n.flags & 131073 ? Si : sqe(n, (c ? 128 : 402653316) | (a ? 0 : 12584), a === we && !c) } function AAe(n) { if (we) return n; let a = xKe(); return a ? Jx(a, [n, ae]) : ae } function lqe(n) { let a = AAe(Gp(n)); return a.flags & 131072 ? ae : a } function uqe(n) { let a = Rr(n); if (!a.resolvedType) switch (n.operator) { case 141: a.resolvedType = Gp($r(n.type)); break; case 156: a.resolvedType = n.type.kind === 153 ? wne(dR(n.parent)) : ve; break; case 146: a.resolvedType = $r(n.type); break; default: throw L.assertNever(n.operator) }return a.resolvedType } function dqe(n) { let a = Rr(n); return a.resolvedType || (a.resolvedType = WE([n.head.text, ...on(n.templateSpans, c => c.literal.text)], on(n.templateSpans, c => $r(c.type)))), a.resolvedType } function WE(n, a) { let c = Yc(a, H => !!(H.flags & 1179648)); if (c >= 0) return cM(a) ? Ls(a[c], H => WE(n, UU(a, c, H))) : ve; if (ya(a, Tt)) return Tt; let u = [], p = [], h = n[0]; if (!O(n, a)) return ae; if (u.length === 0) return ff(h); if (p.push(h), Ji(p, H => H === "")) { if (Ji(u, H => !!(H.flags & 4))) return ae; if (u.length === 1 && qx(u[0])) return u[0] } let T = `${kf(u)}|${on(p, H => H.length).join(",")}|${p.join("")}`, k = pt.get(T); return k || pt.set(T, k = _qe(p, u)), k; function O(H, J) { let de = ba(H); for (let Ae = 0; Ae < J.length; Ae++) { let xe = J[Ae], tt = de ? H[Ae + 1] : H; if (xe.flags & 101248) { if (h += fqe(xe) || "", h += tt, !de) return !0 } else if (xe.flags & 134217728) { if (h += xe.texts[0], !O(xe.texts, xe.types)) return !1; if (h += tt, !de) return !0 } else if (jv(xe) || tB(xe)) u.push(xe), p.push(h), h = tt; else if (xe.flags & 2097152) { if (!O(H[Ae + 1], xe.types)) return !1 } else if (de) return !1 } return !0 } } function fqe(n) { return n.flags & 128 ? n.value : n.flags & 256 ? "" + n.value : n.flags & 2048 ? j0(n.value) : n.flags & 98816 ? n.intrinsicName : void 0 } function _qe(n, a) { let c = ch(134217728); return c.texts = n, c.types = a, c } function w1(n, a) { return a.flags & 1179648 ? Ls(a, c => w1(n, c)) : a.flags & 128 ? ff(CAe(n, a.value)) : a.flags & 134217728 ? WE(...pqe(n, a.texts, a.types)) : a.flags & 268435456 && n === a.symbol ? a : a.flags & 268435461 || jv(a) ? IAe(n, a) : tB(a) ? IAe(n, WE(["", ""], [a])) : a } function CAe(n, a) { switch (rN.get(n.escapedName)) { case 0: return a.toUpperCase(); case 1: return a.toLowerCase(); case 2: return a.charAt(0).toUpperCase() + a.slice(1); case 3: return a.charAt(0).toLowerCase() + a.slice(1) }return a } function pqe(n, a, c) { switch (rN.get(n.escapedName)) { case 0: return [a.map(u => u.toUpperCase()), c.map(u => w1(n, u))]; case 1: return [a.map(u => u.toLowerCase()), c.map(u => w1(n, u))]; case 2: return [a[0] === "" ? a : [a[0].charAt(0).toUpperCase() + a[0].slice(1), ...a.slice(1)], a[0] === "" ? [w1(n, c[0]), ...c.slice(1)] : c]; case 3: return [a[0] === "" ? a : [a[0].charAt(0).toLowerCase() + a[0].slice(1), ...a.slice(1)], a[0] === "" ? [w1(n, c[0]), ...c.slice(1)] : c] }return [a, c] } function IAe(n, a) { let c = `${$a(n)},${ru(a)}`, u = nn.get(c); return u || nn.set(c, u = mqe(n, a)), u } function mqe(n, a) { let c = Rp(268435456, n); return c.type = a, c } function hqe(n, a, c, u, p) { let h = ch(8388608); return h.objectType = n, h.indexType = a, h.accessFlags = c, h.aliasSymbol = u, h.aliasTypeArguments = p, h } function iD(n) { if (ge) return !1; if (Ur(n) & 4096) return !0; if (n.flags & 1048576) return Ji(n.types, iD); if (n.flags & 2097152) return vt(n.types, iD); if (n.flags & 465829888) { let a = Wte(n); return a !== n && iD(a) } return !1 } function eB(n, a) { return fh(n) ? Np(n) : a && Ys(a) ? M0(a) : void 0 } function xne(n, a) { if (a.flags & 8208) { let c = jn(n.parent, u => !Us(u)) || n.parent; return rS(c) ? Ih(c) && Re(n) && P2e(c, n) : Ji(a.declarations, u => !Ia(u) || !!(G_(u) & 268435456)) } return !0 } function LAe(n, a, c, u, p, h) { var T; let k = p && p.kind === 209 ? p : void 0, O = p && pi(p) ? void 0 : eB(c, p); if (O !== void 0) { if (h & 256) return eT(a, O) || Se; let J = ja(a, O); if (J) { if (h & 64 && p && J.declarations && Sv(J) && xne(p, J)) { let Ae = (T = k?.argumentExpression) != null ? T : OS(p) ? p.indexType : p; Xh(Ae, J.declarations, O) } if (k) { if (MM(J, k, jCe(k.expression, a.symbol)), LIe(k, J, xT(k))) { Fe(k.argumentExpression, _.Cannot_assign_to_0_because_it_is_a_read_only_property, E(J)); return } if (h & 8 && (Rr(p).resolvedSymbol = J), PCe(k, J)) return at } let de = zn(J); return k && xT(k) !== 1 ? Yv(k, de) : p && OS(p) && fD(de) ? Gr([de, Oe]) : de } if (Im(a, po) && Wm(O)) { let de = +O; if (p && Im(a, Ae => !Ae.target.hasRestElement) && !(h & 16)) { let Ae = Ane(p); if (po(a)) { if (de < 0) return Fe(Ae, _.A_tuple_type_cannot_be_indexed_with_a_negative_value), Oe; Fe(Ae, _.Tuple_type_0_of_length_1_has_no_element_at_index_2, Ee(a), Vv(a), Gi(O)) } else Fe(Ae, _.Property_0_does_not_exist_on_type_1, Gi(O), Ee(a)) } if (de >= 0) return H(Cm(a, rt)), Ls(a, Ae => { let xe = bM(Ae) || Oe; return h & 1 ? Gr([xe, Ge]) : xe }) } } if (!(c.flags & 98304) && ul(c, 402665900)) { if (a.flags & 131073) return a; let J = rM(a, c) || Cm(a, ae); if (J) { if (h & 2 && J.keyType !== rt) { k && Fe(k, _.Type_0_cannot_be_used_to_index_type_1, Ee(c), Ee(n)); return } if (p && J.keyType === ae && !ul(c, 12)) { let de = Ane(p); return Fe(de, _.Type_0_cannot_be_used_as_an_index_type, Ee(c)), h & 1 ? Gr([J.type, Ge]) : J.type } return H(J), h & 1 && !(a.symbol && a.symbol.flags & 384 && c.symbol && c.flags & 1024 && ju(c.symbol) === a.symbol) ? Gr([J.type, Ge]) : J.type } if (c.flags & 131072) return lt; if (iD(a)) return Se; if (k && !hie(a)) { if (Xv(a)) { if (ge && c.flags & 384) return Lo.add(hr(k, _.Property_0_does_not_exist_on_type_1, c.value, Ee(a))), Oe; if (c.flags & 12) { let de = on(a.properties, Ae => zn(Ae)); return Gr(Sn(de, Oe)) } } if (a.symbol === Ye && O !== void 0 && Ye.exports.has(O) && Ye.exports.get(O).flags & 418) Fe(k, _.Property_0_does_not_exist_on_type_1, Gi(O), Ee(a)); else if (ge && !Y.suppressImplicitAnyIndexErrors && !(h & 128)) if (O !== void 0 && BCe(O, a)) { let de = Ee(a); Fe(k, _.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, O, de, de + "[" + Qc(k.argumentExpression) + "]") } else if (fg(a, rt)) Fe(k.argumentExpression, _.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number); else { let de; if (O !== void 0 && (de = Xre(O, a))) de !== void 0 && Fe(k.argumentExpression, _.Property_0_does_not_exist_on_type_1_Did_you_mean_2, O, Ee(a), de); else { let Ae = lQe(a, k, c); if (Ae !== void 0) Fe(k, _.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1, Ee(a), Ae); else { let xe; if (c.flags & 1024) xe = da(void 0, _.Property_0_does_not_exist_on_type_1, "[" + Ee(c) + "]", Ee(a)); else if (c.flags & 8192) { let tt = rh(c.symbol, k); xe = da(void 0, _.Property_0_does_not_exist_on_type_1, "[" + tt + "]", Ee(a)) } else c.flags & 128 || c.flags & 256 ? xe = da(void 0, _.Property_0_does_not_exist_on_type_1, c.value, Ee(a)) : c.flags & 12 && (xe = da(void 0, _.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1, Ee(c), Ee(a))); xe = da(xe, _.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1, Ee(u), Ee(a)), Lo.add(Lh(Gn(k), k, xe)) } } } return } } if (iD(a)) return Se; if (p) { let J = Ane(p); c.flags & 384 ? Fe(J, _.Property_0_does_not_exist_on_type_1, "" + c.value, Ee(a)) : c.flags & 12 ? Fe(J, _.Type_0_has_no_matching_index_signature_for_type_1, Ee(a), Ee(c)) : Fe(J, _.Type_0_cannot_be_used_as_an_index_type, Ee(c)) } if (Zo(c)) return c; return; function H(J) { J && J.isReadonly && k && (Um(k) || GH(k)) && Fe(k, _.Index_signature_in_type_0_only_permits_reading, Ee(a)) } } function Ane(n) { return n.kind === 209 ? n.argumentExpression : n.kind === 196 ? n.indexType : n.kind === 164 ? n.expression : n } function tB(n) { return !!(n.flags & 77) || qx(n) } function qx(n) { return !!(n.flags & 134217728) && Ji(n.types, tB) || !!(n.flags & 268435456) && tB(n.type) } function SC(n) { return !!aD(n) } function Zb(n) { return !!(aD(n) & 4194304) } function jv(n) { return !!(aD(n) & 8388608) } function aD(n) { return n.flags & 3145728 ? (n.objectFlags & 2097152 || (n.objectFlags |= 2097152 | ou(n.types, (a, c) => a | aD(c), 0)), n.objectFlags & 12582912) : n.flags & 33554432 ? (n.objectFlags & 2097152 || (n.objectFlags |= 2097152 | aD(n.baseType) | aD(n.constraint)), n.objectFlags & 12582912) : (n.flags & 58982400 || df(n) || Qx(n) ? 4194304 : 0) | (n.flags & 465829888 && !qx(n) ? 8388608 : 0) } function mg(n, a) { return n.flags & 8388608 ? yqe(n, a) : n.flags & 16777216 ? vqe(n, a) : n } function kAe(n, a, c) { if (n.flags & 1048576 || n.flags & 2097152 && !xAe(n)) { let u = on(n.types, p => mg(od(p, a), c)); return n.flags & 2097152 || c ? so(u) : Gr(u) } } function gqe(n, a, c) { if (a.flags & 1048576) { let u = on(a.types, p => mg(od(n, p), c)); return c ? so(u) : Gr(u) } } function yqe(n, a) { let c = a ? "simplifiedForWriting" : "simplifiedForReading"; if (n[c]) return n[c] === gc ? n : n[c]; n[c] = gc; let u = mg(n.objectType, a), p = mg(n.indexType, a), h = gqe(u, p, a); if (h) return n[c] = h; if (!(p.flags & 465829888)) { let T = kAe(u, p, a); if (T) return n[c] = T } if (Qx(u) && p.flags & 296) { let T = LC(u, p.flags & 8 ? 0 : u.target.fixedLength, 0, a); if (T) return n[c] = T } if (df(u)) { let T = by(u); if (!T || to(T, w_(u))) return n[c] = Ls(nB(u, n.indexType), k => mg(k, a)) } return n[c] = n } function vqe(n, a) { let c = n.checkType, u = n.extendsType, p = Hv(n), h = Wv(n); if (h.flags & 131072 && Cy(p) === Cy(c)) { if (c.flags & 1 || to(zE(c), zE(u))) return mg(p, a); if (DAe(c, u)) return lt } else if (p.flags & 131072 && Cy(h) === Cy(c)) { if (!(c.flags & 1) && to(zE(c), zE(u))) return lt; if (c.flags & 1 || DAe(c, u)) return mg(h, a) } return n } function DAe(n, a) { return !!(Gr([QP(n, a), lt]).flags & 131072) } function nB(n, a) { let c = Wu([w_(n)], [a]), u = Jv(n.mapper, c); return Oi(_h(n.target || n), u) } function od(n, a, c = 0, u, p, h) { return Ay(n, a, c, u, p, h) || (u ? ve : ue) } function wAe(n, a) { return Im(n, c => { if (c.flags & 384) { let u = Np(c); if (Wm(u)) { let p = +u; return p >= 0 && p < a } } return !1 }) } function Ay(n, a, c = 0, u, p, h) { if (n === Tt || a === Tt) return Tt; if (t2e(n) && !(a.flags & 98304) && ul(a, 12) && (a = ae), Y.noUncheckedIndexedAccess && c & 32 && (c |= 1), jv(a) || (u && u.kind !== 196 ? Qx(n) && !wAe(a, n.target.fixedLength) : Zb(n) && !(po(n) && wAe(a, n.target.fixedLength)))) { if (n.flags & 3) return n; let k = c & 1, O = n.id + "," + a.id + "," + k + Wx(p, h), H = gr.get(O); return H || gr.set(O, H = hqe(n, a, k, p, h)), H } let T = vC(n); if (a.flags & 1048576 && !(a.flags & 16)) { let k = [], O = !1; for (let H of a.types) { let J = LAe(n, T, H, a, u, c | (O ? 128 : 0)); if (J) k.push(J); else if (u) O = !0; else return } return O ? void 0 : c & 4 ? so(k, p, h) : Gr(k, 1, p, h) } return LAe(n, T, a, a, u, c | 8 | 64) } function RAe(n) { let a = Rr(n); if (!a.resolvedType) { let c = $r(n.objectType), u = $r(n.indexType), p = R1(n); a.resolvedType = od(c, u, 0, n, p, Xx(p)) } return a.resolvedType } function Cne(n) { let a = Rr(n); if (!a.resolvedType) { let c = Bd(32, n.symbol); c.declaration = n, c.aliasSymbol = R1(n), c.aliasTypeArguments = Xx(c.aliasSymbol), a.resolvedType = c, rp(c) } return a.resolvedType } function Cy(n) { return n.flags & 33554432 ? Cy(n.baseType) : n.flags & 8388608 && (n.objectType.flags & 33554432 || n.indexType.flags & 33554432) ? od(Cy(n.objectType), Cy(n.indexType)) : n } function bqe(n) { let a = eu(n); return a && (Zb(a) || jv(a)) ? uB(n) : n } function OAe(n) { return p2(n) && Fn(n.elements) > 0 && !vt(n.elements, a => Rz(a) || Oz(a) || bL(a) && !!(a.questionToken || a.dotDotDotToken)) } function NAe(n, a) { return SC(n) || a && po(n) && vt(Ko(n), SC) } function Ine(n, a, c, u) { let p, h, T = 0; for (; ;) { if (T === 1e3) { Fe(P, _.Type_instantiation_is_excessively_deep_and_possibly_infinite), p = ve; break } let O = OAe(n.node.checkType) && OAe(n.node.extendsType) && Fn(n.node.checkType.elements) === Fn(n.node.extendsType.elements), H = Oi(Cy(n.checkType), a), J = NAe(H, O), de = Oi(n.extendsType, a); if (H === Tt || de === Tt) return Tt; let Ae; if (n.inferTypeParameters) { let tt = Tl(n.inferTypeParameters, bqe), It = tt !== n.inferTypeParameters ? Wu(n.inferTypeParameters, tt) : void 0, Tn = _D(tt, void 0, 0); if (It) { let Nn = Jv(a, It); for (let en of tt) n.inferTypeParameters.indexOf(en) === -1 && (en.mapper = Nn) } J || gh(Tn.inferences, H, Oi(de, It), 1536); let un = Jv(It, Tn.mapper); Ae = a ? Jv(un, a) : un } let xe = Ae ? Oi(n.extendsType, Ae) : de; if (!J && !NAe(xe, O)) { if (!(xe.flags & 3) && (H.flags & 1 || !to(dB(H), dB(xe)))) { H.flags & 1 && (h || (h = [])).push(Oi($r(n.node.trueType), Ae || a)); let tt = $r(n.node.falseType); if (tt.flags & 16777216) { let It = tt.root; if (It.node.parent === n.node && (!It.isDistributive || It.checkType === n.checkType)) { n = It; continue } if (k(tt, a)) continue } p = Oi(tt, a); break } if (xe.flags & 3 || to(zE(H), zE(xe))) { let tt = $r(n.node.trueType), It = Ae || a; if (k(tt, It)) continue; p = Oi(tt, It); break } } p = ch(16777216), p.root = n, p.checkType = Oi(n.checkType, a), p.extendsType = Oi(n.extendsType, a), p.mapper = a, p.combinedMapper = Ae, p.aliasSymbol = c || n.aliasSymbol, p.aliasTypeArguments = c ? u : hg(n.aliasTypeArguments, a); break } return h ? Gr(Sn(h, p)) : p; function k(O, H) { if (O.flags & 16777216 && H) { let J = O.root; if (J.outerTypeParameters) { let de = Jv(O.mapper, H), Ae = on(J.outerTypeParameters, It => zv(It, de)), xe = Wu(J.outerTypeParameters, Ae), tt = J.isDistributive ? zv(J.checkType, xe) : void 0; if (!tt || tt === J.checkType || !(tt.flags & 1179648)) return n = J, a = xe, c = void 0, u = void 0, J.aliasSymbol && T++, !0 } } return !1 } } function Hv(n) { return n.resolvedTrueType || (n.resolvedTrueType = Oi($r(n.root.node.trueType), n.mapper)) } function Wv(n) { return n.resolvedFalseType || (n.resolvedFalseType = Oi($r(n.root.node.falseType), n.mapper)) } function Eqe(n) { return n.resolvedInferredTrueType || (n.resolvedInferredTrueType = n.combinedMapper ? Oi($r(n.root.node.trueType), n.combinedMapper) : Hv(n)) } function PAe(n) { let a; return n.locals && n.locals.forEach(c => { c.flags & 262144 && (a = Sn(a, gs(c))) }), a } function Tqe(n) { return n.isDistributive && (fM(n.checkType, n.node.trueType) || fM(n.checkType, n.node.falseType)) } function Sqe(n) { let a = Rr(n); if (!a.resolvedType) { let c = $r(n.checkType), u = R1(n), p = Xx(u), h = hC(n, !0), T = p ? h : Pr(h, O => fM(O, n)), k = { node: n, checkType: c, extendsType: $r(n.extendsType), isDistributive: !!(c.flags & 262144), inferTypeParameters: PAe(n), outerTypeParameters: T, instantiations: void 0, aliasSymbol: u, aliasTypeArguments: p }; a.resolvedType = Ine(k, void 0), T && (k.instantiations = new Map, k.instantiations.set(kf(T), a.resolvedType)) } return a.resolvedType } function xqe(n) { let a = Rr(n); return a.resolvedType || (a.resolvedType = UE(fr(n.typeParameter))), a.resolvedType } function MAe(n) { return Re(n) ? [n] : Sn(MAe(n.left), n.right) } function Aqe(n) { var a; let c = Rr(n); if (!c.resolvedType) { if (!ib(n)) return Fe(n.argument, _.String_literal_expected), c.resolvedSymbol = Ht, c.resolvedType = ve; let u = n.isTypeOf ? 111551 : n.flags & 8388608 ? 900095 : 788968, p = Gl(n, n.argument.literal); if (!p) return c.resolvedSymbol = Ht, c.resolvedType = ve; let h = !!((a = p.exports) != null && a.get("export=")), T = Vu(p, !1); if (rc(n.qualifier)) if (T.flags & u) c.resolvedType = FAe(n, c, T, u); else { let k = u === 111551 ? _.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : _.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0; Fe(n, k, n.argument.literal.text), c.resolvedSymbol = Ht, c.resolvedType = ve } else { let k = MAe(n.qualifier), O = T, H; for (; H = k.shift();) { let J = k.length ? 1920 : u, de = No(Ac(O)), Ae = n.isTypeOf || Yn(n) && h ? ja(zn(de), H.escapedText, !1, !0) : void 0, xe = n.isTypeOf ? void 0 : yd(Gd(de), H.escapedText, J), tt = xe ?? Ae; if (!tt) return Fe(H, _.Namespace_0_has_no_exported_member_1, rh(O), os(H)), c.resolvedType = ve; Rr(H).resolvedSymbol = tt, Rr(H.parent).resolvedSymbol = tt, O = tt } c.resolvedType = FAe(n, c, O, u) } } return c.resolvedType } function FAe(n, a, c, u) { let p = Ac(c); return a.resolvedSymbol = p, u === 111551 ? pIe(zn(c), n) : YG(n, p) } function GAe(n) { let a = Rr(n); if (!a.resolvedType) { let c = R1(n); if (vy(n.symbol).size === 0 && !c) a.resolvedType = mc; else { let u = Bd(16, n.symbol); u.aliasSymbol = c, u.aliasTypeArguments = Xx(c), LL(n) && n.isArrayType && (u = nu(u)), a.resolvedType = u } } return a.resolvedType } function R1(n) { let a = n.parent; for (; wS(a) || UT(a) || RS(a) && a.operator === 146;)a = a.parent; return sR(a) ? fr(a) : void 0 } function Xx(n) { return n ? yy(n) : void 0 } function rB(n) { return !!(n.flags & 524288) && !df(n) } function Lne(n) { return mh(n) || !!(n.flags & 474058748) } function kne(n, a) { if (!(n.flags & 1048576)) return n; if (Ji(n.types, Lne)) return wr(n.types, mh) || Ki; let c = wr(n.types, h => !Lne(h)); if (!c || wr(n.types, h => h !== c && !Lne(h))) return n; return p(c); function p(h) { let T = Ua(); for (let O of Jo(h)) if (!(Ef(O) & 24)) { if (iB(O)) { let H = O.flags & 65536 && !(O.flags & 32768), de = wo(16777220, O.escapedName, Bte(O) | (a ? 8 : 0)); de.links.type = H ? Oe : ao(zn(O), !0), de.declarations = O.declarations, de.links.nameType = Ai(O).nameType, de.links.syntheticOrigin = O, T.set(O.escapedName, de) } } let k = ls(h.symbol, T, Je, Je, tu(h)); return k.objectFlags |= 131200, k } } function e0(n, a, c, u, p) { if (n.flags & 1 || a.flags & 1) return Se; if (n.flags & 2 || a.flags & 2) return ue; if (n.flags & 131072) return a; if (a.flags & 131072) return n; if (n = kne(n, p), n.flags & 1048576) return cM([n, a]) ? Ls(n, H => e0(H, a, c, u, p)) : ve; if (a = kne(a, p), a.flags & 1048576) return cM([n, a]) ? Ls(a, H => e0(n, H, c, u, p)) : ve; if (a.flags & 473960444) return n; if (Zb(n) || Zb(a)) { if (mh(n)) return a; if (n.flags & 2097152) { let H = n.types, J = H[H.length - 1]; if (rB(J) && rB(a)) return so(Qi(H.slice(0, H.length - 1), [e0(J, a, c, u, p)])) } return so([n, a]) } let h = Ua(), T = new Set, k = n === Ki ? tu(a) : xxe([n, a]); for (let H of Jo(a)) Ef(H) & 24 ? T.add(H.escapedName) : iB(H) && h.set(H.escapedName, Dne(H, p)); for (let H of Jo(n)) if (!(T.has(H.escapedName) || !iB(H))) if (h.has(H.escapedName)) { let J = h.get(H.escapedName), de = zn(J); if (J.flags & 16777216) { let Ae = Qi(H.declarations, J.declarations), xe = 4 | H.flags & 16777216, tt = wo(xe, H.escapedName); tt.links.type = Gr([zn(H), tre(de)], 2), tt.links.leftSpread = H, tt.links.rightSpread = J, tt.declarations = Ae, tt.links.nameType = Ai(H).nameType, h.set(H.escapedName, tt) } } else h.set(H.escapedName, Dne(H, p)); let O = ls(c, h, Je, Je, Tl(k, H => Cqe(H, p))); return O.objectFlags |= 2228352 | u, O } function iB(n) { var a; return !vt(n.declarations, xu) && (!(n.flags & 106496) || !((a = n.declarations) != null && a.some(c => Yr(c.parent)))) } function Dne(n, a) { let c = n.flags & 65536 && !(n.flags & 32768); if (!c && a === M_(n)) return n; let u = 4 | n.flags & 16777216, p = wo(u, n.escapedName, Bte(n) | (a ? 8 : 0)); return p.links.type = c ? Oe : zn(n), p.declarations = n.declarations, p.links.nameType = Ai(n).nameType, p.links.syntheticOrigin = n, p } function Cqe(n, a) { return n.isReadonly !== a ? Fp(n.keyType, n.type, a, n.declaration) : n } function lM(n, a, c, u) { let p = Rp(n, c); return p.value = a, p.regularType = u || p, p } function Yx(n) { if (n.flags & 2976) { if (!n.freshType) { let a = lM(n.flags, n.value, n.symbol, n); a.freshType = a, n.freshType = a } return n.freshType } return n } function Hu(n) { return n.flags & 2976 ? n.regularType : n.flags & 1048576 ? n.regularType || (n.regularType = Ls(n, Hu)) : n } function t0(n) { return !!(n.flags & 2976) && n.freshType === n } function ff(n) { let a; return $n.get(n) || ($n.set(n, a = lM(128, n)), a) } function op(n) { let a; return ui.get(n) || (ui.set(n, a = lM(256, n)), a) } function aB(n) { let a, c = j0(n); return Ni.get(c) || (Ni.set(c, a = lM(2048, n)), a) } function Iqe(n, a, c) { let u, p = `${a}${typeof n == "string" ? "@" : "#"}${n}`, h = 1024 | (typeof n == "string" ? 128 : 256); return Pi.get(p) || (Pi.set(p, u = lM(h, n, c)), u) } function Lqe(n) { if (n.literal.kind === 104) return ln; let a = Rr(n); return a.resolvedType || (a.resolvedType = Hu(Yi(n.literal))), a.resolvedType } function kqe(n) { let a = Rp(8192, n); return a.escapedName = `__@${a.symbol.escapedName}@${$a(a.symbol)}`, a } function wne(n) { if (ece(n)) { let a = k6(n) ? vd(n.left) : vd(n); if (a) { let c = Ai(a); return c.uniqueESSymbolType || (c.uniqueESSymbolType = kqe(a)) } } return j } function Dqe(n) { let a = Ku(n, !1, !1), c = a && a.parent; if (c && (Yr(c) || c.kind === 261) && !Ca(a) && (!Ec(a) || AT(n, a.body))) return vu(fr(c)).thisType; if (c && rs(c) && ar(c.parent) && ic(c.parent) === 6) return vu(vd(c.parent.left).parent).thisType; let u = n.flags & 8388608 ? sb(n) : void 0; return u && ms(u) && ar(u.parent) && ic(u.parent) === 3 ? vu(vd(u.parent.left).parent).thisType : cp(a) && AT(n, a.body) ? vu(fr(a)).thisType : (Fe(n, _.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface), ve) } function oB(n) { let a = Rr(n); return a.resolvedType || (a.resolvedType = Dqe(n)), a.resolvedType } function BAe(n) { return $r(uM(n.type) || n.type) } function uM(n) { switch (n.kind) { case 193: return uM(n.type); case 186: if (n.elements.length === 1 && (n = n.elements[0], n.kind === 188 || n.kind === 199 && n.dotDotDotToken)) return uM(n.type); break; case 185: return n.elementType } } function wqe(n) { let a = Rr(n); return a.resolvedType || (a.resolvedType = n.dotDotDotToken ? BAe(n) : ao($r(n.type), !0, !!n.questionToken)) } function $r(n) { return uKe(UAe(n), n) } function UAe(n) { switch (n.kind) { case 131: case 315: case 316: return Se; case 157: return ue; case 152: return ae; case 148: return rt; case 160: return Ot; case 134: return Te; case 153: return j; case 114: return yt; case 155: return Oe; case 104: return ln; case 144: return lt; case 149: return n.flags & 262144 && !ge ? Se : jr; case 139: return Q; case 194: case 108: return oB(n); case 198: return Lqe(n); case 180: return dne(n); case 179: return n.assertsModifier ? yt : Te; case 230: return dne(n); case 183: return $xe(n); case 185: case 186: return GKe(n); case 187: return jKe(n); case 189: return XKe(n); case 190: return rqe(n); case 317: return dKe(n); case 319: return ao($r(n.type)); case 199: return wqe(n); case 193: case 318: case 312: return $r(n.type); case 188: return BAe(n); case 321: return Lnt(n); case 181: case 182: case 184: case 325: case 320: case 326: return GAe(n); case 195: return uqe(n); case 196: return RAe(n); case 197: return Cne(n); case 191: return Sqe(n); case 192: return xqe(n); case 200: return dqe(n); case 202: return Aqe(n); case 79: case 163: case 208: let a = Zf(n); return a ? gs(a) : ve; default: return ve } } function sB(n, a, c) { if (n && n.length) for (let u = 0; u < n.length; u++) { let p = n[u], h = c(p, a); if (p !== h) { let T = u === 0 ? [] : n.slice(0, u); for (T.push(h), u++; u < n.length; u++)T.push(c(n[u], a)); return T } } return n } function hg(n, a) { return sB(n, a, Oi) } function cB(n, a) { return sB(n, a, $x) } function VAe(n, a) { return sB(n, a, zqe) } function Wu(n, a) { return n.length === 1 ? n0(n[0], a ? a[0] : Se) : Rqe(n, a) } function zv(n, a) { switch (a.kind) { case 0: return n === a.source ? a.target : n; case 1: { let u = a.sources, p = a.targets; for (let h = 0; h < u.length; h++)if (n === u[h]) return p ? p[h] : Se; return n } case 2: { let u = a.sources, p = a.targets; for (let h = 0; h < u.length; h++)if (n === u[h]) return p[h](); return n } case 3: return a.func(n); case 4: case 5: let c = zv(n, a.mapper1); return c !== n && a.kind === 4 ? Oi(c, a.mapper2) : zv(c, a.mapper2) } } function n0(n, a) { return L.attachDebugPrototypeIfDebug({ kind: 0, source: n, target: a }) } function Rqe(n, a) { return L.attachDebugPrototypeIfDebug({ kind: 1, sources: n, targets: a }) } function dM(n, a) { return L.attachDebugPrototypeIfDebug({ kind: 3, func: n, debugInfo: L.isDebugging ? a : void 0 }) } function Rne(n, a) { return L.attachDebugPrototypeIfDebug({ kind: 2, sources: n, targets: a }) } function lB(n, a, c) { return L.attachDebugPrototypeIfDebug({ kind: n, mapper1: a, mapper2: c }) } function jAe(n) { return Wu(n, void 0) } function Oqe(n, a) { let c = n.inferences.slice(a); return Wu(on(c, u => u.typeParameter), on(c, () => ue)) } function Jv(n, a) { return n ? lB(4, n, a) : a } function Nqe(n, a) { return n ? lB(5, n, a) : a } function O1(n, a, c) { return c ? lB(5, n0(n, a), c) : n0(n, a) } function oD(n, a, c) { return n ? lB(5, n, n0(a, c)) : n0(a, c) } function Pqe(n) { return !n.constraint && !sne(n) || n.constraint === Co ? n : n.restrictiveInstantiation || (n.restrictiveInstantiation = rd(n.symbol), n.restrictiveInstantiation.constraint = Co, n.restrictiveInstantiation) } function uB(n) { let a = rd(n.symbol); return a.target = n, a } function Mqe(n, a) { return iM(n.kind, n.parameterName, n.parameterIndex, Oi(n.type, a)) } function $x(n, a, c) { let u; if (n.typeParameters && !c) { u = on(n.typeParameters, uB), a = Jv(Wu(n.typeParameters, u), a); for (let h of u) h.mapper = a } let p = Am(n.declaration, u, n.thisParameter && One(n.thisParameter, a), sB(n.parameters, a, One), void 0, void 0, n.minArgumentCount, n.flags & 39); return p.target = n, p.mapper = a, p } function One(n, a) { let c = Ai(n); if (c.type && !XE(c.type)) return n; ac(n) & 1 && (n = c.target, a = Jv(c.mapper, a)); let u = wo(n.flags, n.escapedName, 1 | ac(n) & 53256); return u.declarations = n.declarations, u.parent = n.parent, u.links.target = n, u.links.mapper = a, n.valueDeclaration && (u.valueDeclaration = n.valueDeclaration), c.nameType && (u.links.nameType = c.nameType), u } function Fqe(n, a, c, u) { let p = n.objectFlags & 4 || n.objectFlags & 8388608 ? n.node : n.symbol.declarations[0], h = Rr(p), T = n.objectFlags & 4 ? h.resolvedType : n.objectFlags & 64 ? n.target : n, k = h.outerTypeParameters; if (!k) { let O = hC(p, !0); if (cp(p)) { let J = Mxe(p); O = si(O, J) } k = O || Je; let H = n.objectFlags & 8388612 ? [p] : n.symbol.declarations; k = (T.objectFlags & 8388612 || T.symbol.flags & 8192 || T.symbol.flags & 2048) && !T.aliasTypeArguments ? Pr(k, J => vt(H, de => fM(J, de))) : k, h.outerTypeParameters = k } if (k.length) { let O = Jv(n.mapper, a), H = on(k, tt => zv(tt, O)), J = c || n.aliasSymbol, de = c ? u : hg(n.aliasTypeArguments, a), Ae = kf(H) + Wx(J, de); T.instantiations || (T.instantiations = new Map, T.instantiations.set(kf(k) + Wx(T.aliasSymbol, T.aliasTypeArguments), T)); let xe = T.instantiations.get(Ae); if (!xe) { let tt = Wu(k, H); xe = T.objectFlags & 4 ? cne(n.target, n.node, tt, J, de) : T.objectFlags & 32 ? HAe(T, tt, J, de) : Mne(T, tt, J, de), T.instantiations.set(Ae, xe) } return xe } return n } function Gqe(n) { return !(n.parent.kind === 180 && n.parent.typeArguments && n === n.parent.typeName || n.parent.kind === 202 && n.parent.typeArguments && n === n.parent.qualifier) } function fM(n, a) { if (n.symbol && n.symbol.declarations && n.symbol.declarations.length === 1) { let u = n.symbol.declarations[0].parent; for (let p = a; p !== u; p = p.parent)if (!p || p.kind === 238 || p.kind === 191 && pa(p.extendsType, c)) return !0; return c(a) } return !0; function c(u) { switch (u.kind) { case 194: return !!n.isThisType; case 79: return !n.isThisType && Gm(u) && Gqe(u) && UAe(u) === n; case 183: let p = u.exprName, h = Yd(p), T = Qf(h), k = n.symbol.declarations[0], O; if (k.kind === 165) O = k.parent; else if (n.isThisType) O = k; else return !0; return T.declarations ? vt(T.declarations, H => AT(H, O)) || vt(u.typeArguments, c) : !0; case 171: case 170: return !u.type && !!u.body || vt(u.typeParameters, c) || vt(u.parameters, c) || !!u.type && c(u.type) }return !!pa(u, c) } } function Nne(n) { let a = rp(n); if (a.flags & 4194304) { let c = Cy(a.type); if (c.flags & 262144) return c } } function HAe(n, a, c, u) { let p = Nne(n); if (p) { let h = Oi(p, a); if (p !== h) return z2e(O_(h), T => { if (T.flags & 61603843 && T !== Tt && !Ro(T)) { if (!n.declaration.nameType) { let k; if (_f(T) || T.flags & 1 && Sm(p, 4) < 0 && (k = eu(p)) && Im(k, JE)) return Uqe(T, n, O1(p, T, a)); if (Qx(T)) return Bqe(T, n, p, a); if (po(T)) return Vqe(T, n, O1(p, T, a)) } return Mne(n, O1(p, T, a)) } return T }, c, u) } return Oi(rp(n), a) === Tt ? Tt : Mne(n, a, c, u) } function Pne(n, a) { return a & 1 ? !0 : a & 2 ? !1 : n } function Bqe(n, a, c, u) { let p = n.target.elementFlags, h = on(Ko(n), (k, O) => { let H = p[O] & 8 ? k : p[O] & 4 ? nu(k) : ap([k], [p[O]]); return HAe(a, O1(c, H, u)) }), T = Pne(n.target.readonly, Pp(a)); return ap(h, on(h, k => 8), T) } function Uqe(n, a, c) { let u = WAe(a, rt, !0, c); return Ro(u) ? ve : nu(u, Pne(CC(n), Pp(a))) } function Vqe(n, a, c) { let u = n.target.elementFlags, p = on(Ko(n), (O, H) => WAe(a, ff("" + H), !!(u[H] & 2), c)), h = Pp(a), T = h & 4 ? on(u, O => O & 1 ? 2 : O) : h & 8 ? on(u, O => O & 2 ? 1 : O) : u, k = Pne(n.target.readonly, h); return ya(p, ve) ? ve : ap(p, T, k, n.target.labeledElementDeclarations) } function WAe(n, a, c, u) { let p = oD(u, w_(n), a), h = Oi(_h(n.target || n), p), T = Pp(n); return U && T & 4 && !Js(h, 49152) ? gg(h, !0) : U && T & 8 && c ? wf(h, 524288) : h } function Mne(n, a, c, u) { let p = Bd(n.objectFlags | 64, n.symbol); if (n.objectFlags & 32) { p.declaration = n.declaration; let h = w_(n), T = uB(h); p.typeParameter = T, a = Jv(n0(h, T), a), T.mapper = a } return n.objectFlags & 8388608 && (p.node = n.node), p.target = n, p.mapper = a, p.aliasSymbol = c || n.aliasSymbol, p.aliasTypeArguments = c ? u : hg(n.aliasTypeArguments, a), p.objectFlags |= p.aliasTypeArguments ? qG(p.aliasTypeArguments) : 0, p } function Fne(n, a, c, u) { let p = n.root; if (p.outerTypeParameters) { let h = on(p.outerTypeParameters, O => zv(O, a)), T = kf(h) + Wx(c, u), k = p.instantiations.get(T); if (!k) { let O = Wu(p.outerTypeParameters, h), H = p.checkType, J = p.isDistributive ? zv(H, O) : void 0; k = J && H !== J && J.flags & 1179648 ? z2e(O_(J), de => Ine(p, O1(H, de, O)), c, u) : Ine(p, O, c, u), p.instantiations.set(T, k) } return k } return n } function Oi(n, a) { return n && a ? zAe(n, a, void 0, void 0) : n } function zAe(n, a, c, u) { var p; if (!XE(n)) return n; if (w === 100 || A >= 5e6) return (p = ai) == null || p.instant(ai.Phase.CheckTypes, "instantiateType_DepthLimit", { typeId: n.id, instantiationDepth: w, instantiationCount: A }), Fe(P, _.Type_instantiation_is_excessively_deep_and_possibly_infinite), ve; x++, A++, w++; let h = jqe(n, a, c, u); return w--, h } function jqe(n, a, c, u) { let p = n.flags; if (p & 262144) return zv(n, a); if (p & 524288) { let h = n.objectFlags; if (h & 52) { if (h & 4 && !n.node) { let T = n.resolvedTypeArguments, k = hg(T, a); return k !== T ? yne(n.target, k) : n } return h & 1024 ? Hqe(n, a) : Fqe(n, a, c, u) } return n } if (p & 3145728) { let h = n.flags & 1048576 ? n.origin : void 0, T = h && h.flags & 3145728 ? h.types : n.types, k = hg(T, a); if (k === T && c === n.aliasSymbol) return n; let O = c || n.aliasSymbol, H = c ? u : hg(n.aliasTypeArguments, a); return p & 2097152 || h && h.flags & 2097152 ? so(k, O, H) : Gr(k, 1, O, H) } if (p & 4194304) return Gp(Oi(n.type, a)); if (p & 134217728) return WE(n.texts, hg(n.types, a)); if (p & 268435456) return w1(n.symbol, Oi(n.type, a)); if (p & 8388608) { let h = c || n.aliasSymbol, T = c ? u : hg(n.aliasTypeArguments, a); return od(Oi(n.objectType, a), Oi(n.indexType, a), n.accessFlags, void 0, h, T) } if (p & 16777216) return Fne(n, Jv(n.mapper, a), c, u); if (p & 33554432) { let h = Oi(n.baseType, a), T = Oi(n.constraint, a); return h.flags & 8650752 && SC(T) ? lne(h, T) : T.flags & 3 || to(zE(h), zE(T)) ? h : h.flags & 8650752 ? lne(h, T) : so([T, h]) } return n } function Hqe(n, a) { let c = Oi(n.mappedType, a); if (!(Ur(c) & 32)) return n; let u = Oi(n.constraintType, a); if (!(u.flags & 4194304)) return n; let p = T2e(Oi(n.source, a), c, u); return p || n } function Wqe(n) { return n.flags & 134479871 ? n : n.uniqueLiteralFilledInstantiation || (n.uniqueLiteralFilledInstantiation = Oi(n, Fo)) } function dB(n) { return n.flags & 134479871 ? n : n.permissiveInstantiation || (n.permissiveInstantiation = Oi(n, xi)) } function zE(n) { return n.flags & 134479871 ? n : (n.restrictiveInstantiation || (n.restrictiveInstantiation = Oi(n, Hi), n.restrictiveInstantiation.restrictiveInstantiation = n.restrictiveInstantiation), n.restrictiveInstantiation) } function zqe(n, a) { return Fp(n.keyType, Oi(n.type, a), n.isReadonly, n.declaration) } function $f(n) { switch (L.assert(n.kind !== 171 || s_(n)), n.kind) { case 215: case 216: case 171: case 259: return JAe(n); case 207: return vt(n.properties, $f); case 206: return vt(n.elements, $f); case 224: return $f(n.whenTrue) || $f(n.whenFalse); case 223: return (n.operatorToken.kind === 56 || n.operatorToken.kind === 60) && ($f(n.left) || $f(n.right)); case 299: return $f(n.initializer); case 214: return $f(n.expression); case 289: return vt(n.properties, $f) || Xm(n.parent) && vt(n.parent.parent.children, $f); case 288: { let { initializer: a } = n; return !!a && $f(a) } case 291: { let { expression: a } = n; return !!a && $f(a) } }return !1 } function JAe(n) { return b4(n) || Jqe(n) } function Jqe(n) { return !n.typeParameters && !U_(n) && !!n.body && n.body.kind !== 238 && $f(n.body) } function fB(n) { return (a2(n) || s_(n)) && JAe(n) } function KAe(n) { if (n.flags & 524288) { let a = R_(n); if (a.constructSignatures.length || a.callSignatures.length) { let c = Bd(16, n.symbol); return c.members = a.members, c.properties = a.properties, c.callSignatures = Je, c.constructSignatures = Je, c.indexInfos = Je, c } } else if (n.flags & 2097152) return so(on(n.types, KAe)); return n } function ph(n, a) { return Bp(n, a, td) } function sD(n, a) { return Bp(n, a, td) ? -1 : 0 } function Gne(n, a) { return Bp(n, a, Zu) ? -1 : 0 } function Kqe(n, a) { return Bp(n, a, hm) ? -1 : 0 } function Iy(n, a) { return Bp(n, a, hm) } function qAe(n, a) { return Bp(n, a, x_) } function to(n, a) { return Bp(n, a, Zu) } function r0(n, a) { return n.flags & 1048576 ? Ji(n.types, c => r0(c, a)) : a.flags & 1048576 ? vt(a.types, c => r0(n, c)) : n.flags & 2097152 ? vt(n.types, c => r0(c, a)) : n.flags & 58982400 ? r0(bu(n) || ue, a) : hh(a) ? !!(n.flags & 67633152) : a === ka ? !!(n.flags & 67633152) && !hh(n) : a === Hs ? !!(n.flags & 524288) && vre(n) : BE(n, Bx(a)) || _f(a) && !CC(a) && r0(n, jo) } function _B(n, a) { return Bp(n, a, ed) } function _M(n, a) { return _B(n, a) || _B(a, n) } function wu(n, a, c, u, p, h) { return Df(n, a, Zu, c, u, p, h) } function Ly(n, a, c, u, p, h) { return Bne(n, a, Zu, c, u, p, h, void 0) } function Bne(n, a, c, u, p, h, T, k) { return Bp(n, a, c) ? !0 : !u || !cD(p, n, a, c, h, T, k) ? Df(n, a, c, u, h, T, k) : !1 } function XAe(n) { return !!(n.flags & 16777216 || n.flags & 2097152 && vt(n.types, XAe)) } function cD(n, a, c, u, p, h, T) { if (!n || XAe(c)) return !1; if (!Df(a, c, u, void 0) && qqe(n, a, c, u, p, h, T)) return !0; switch (n.kind) { case 291: case 214: return cD(n.expression, a, c, u, p, h, T); case 223: switch (n.operatorToken.kind) { case 63: case 27: return cD(n.right, a, c, u, p, h, T) }break; case 207: return nXe(n, a, c, u, h, T); case 206: return eXe(n, a, c, u, h, T); case 289: return Zqe(n, a, c, u, h, T); case 216: return Xqe(n, a, c, u, h, T) }return !1 } function qqe(n, a, c, u, p, h, T) { let k = xa(a, 0), O = xa(a, 1); for (let H of [O, k]) if (vt(H, J => { let de = qo(J); return !(de.flags & 131073) && Df(de, c, u, void 0) })) { let J = T || {}; wu(a, c, n, p, h, J); let de = J.errors[J.errors.length - 1]; return Ao(de, hr(n, H === O ? _.Did_you_mean_to_use_new_with_this_expression : _.Did_you_mean_to_call_this_expression)), !0 } return !1 } function Xqe(n, a, c, u, p, h) { if (Va(n.body) || vt(n.parameters, f6)) return !1; let T = F1(a); if (!T) return !1; let k = xa(c, 0); if (!Fn(k)) return !1; let O = n.body, H = qo(T), J = Gr(on(k, qo)); if (!Df(H, J, u, void 0)) { let de = O && cD(O, H, J, u, void 0, p, h); if (de) return de; let Ae = h || {}; if (Df(H, J, u, O, void 0, p, Ae), Ae.errors) return c.symbol && Fn(c.symbol.declarations) && Ao(Ae.errors[Ae.errors.length - 1], hr(c.symbol.declarations[0], _.The_expected_type_comes_from_the_return_type_of_this_signature)), !(pl(n) & 2) && !Vc(H, "then") && Df(jM(H), J, u, void 0) && Ao(Ae.errors[Ae.errors.length - 1], hr(n, _.Did_you_mean_to_mark_this_function_as_async)), !0 } return !1 } function YAe(n, a, c) { let u = Ay(a, c); if (u) return u; if (a.flags & 1048576) { let p = i2e(n, a); if (p) return Ay(p, c) } } function $Ae(n, a) { wM(n, a, !1); let c = BC(n, 1); return vD(), c } function pM(n, a, c, u, p, h) { let T = !1; for (let k of n) { let { errorNode: O, innerExpression: H, nameType: J, errorMessage: de } = k, Ae = YAe(a, c, J); if (!Ae || Ae.flags & 8388608) continue; let xe = Ay(a, J); if (!xe) continue; let tt = eB(J, void 0); if (!Df(xe, Ae, u, void 0)) { let It = H && cD(H, xe, Ae, u, void 0, p, h); if (T = !0, !It) { let Tn = h || {}, un = H ? $Ae(H, xe) : xe; if (Pe && mB(un, Ae)) { let Nn = hr(O, _.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, Ee(un), Ee(Ae)); Lo.add(Nn), Tn.errors = [Nn] } else { let Nn = !!(tt && (ja(c, tt) || Ht).flags & 16777216), en = !!(tt && (ja(a, tt) || Ht).flags & 16777216); Ae = KE(Ae, Nn), xe = KE(xe, Nn && en), Df(un, Ae, u, O, de, p, Tn) && un !== xe && Df(xe, Ae, u, O, de, p, Tn) } if (Tn.errors) { let Nn = Tn.errors[Tn.errors.length - 1], en = fh(J) ? Np(J) : void 0, cn = en !== void 0 ? ja(c, en) : void 0, rr = !1; if (!cn) { let Jt = rM(c, J); Jt && Jt.declaration && !Gn(Jt.declaration).hasNoDefaultLib && (rr = !0, Ao(Nn, hr(Jt.declaration, _.The_expected_type_comes_from_this_index_signature))) } if (!rr && (cn && Fn(cn.declarations) || c.symbol && Fn(c.symbol.declarations))) { let Jt = cn && Fn(cn.declarations) ? cn.declarations[0] : c.symbol.declarations[0]; Gn(Jt).hasNoDefaultLib || Ao(Nn, hr(Jt, _.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1, en && !(J.flags & 8192) ? Gi(en) : Ee(J), Ee(c))) } } } } } return T } function Yqe(n, a, c, u, p, h) { let T = jc(c, EB), k = jc(c, J => !EB(J)), O = k !== lt ? Oie(13, 0, k, void 0) : void 0, H = !1; for (let J = n.next(); !J.done; J = n.next()) { let { errorNode: de, innerExpression: Ae, nameType: xe, errorMessage: tt } = J.value, It = O, Tn = T !== lt ? YAe(a, T, xe) : void 0; if (Tn && !(Tn.flags & 8388608) && (It = O ? Gr([O, Tn]) : Tn), !It) continue; let un = Ay(a, xe); if (!un) continue; let Nn = eB(xe, void 0); if (!Df(un, It, u, void 0)) { let en = Ae && cD(Ae, un, It, u, void 0, p, h); if (H = !0, !en) { let cn = h || {}, rr = Ae ? $Ae(Ae, un) : un; if (Pe && mB(rr, It)) { let Jt = hr(de, _.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, Ee(rr), Ee(It)); Lo.add(Jt), cn.errors = [Jt] } else { let Jt = !!(Nn && (ja(T, Nn) || Ht).flags & 16777216), Cn = !!(Nn && (ja(a, Nn) || Ht).flags & 16777216); It = KE(It, Jt), un = KE(un, Jt && Cn), Df(rr, It, u, de, tt, p, cn) && rr !== un && Df(un, It, u, de, tt, p, cn) } } } } return H } function* $qe(n) { if (Fn(n.properties)) for (let a of n.properties) GT(a) || Fre(vr(a.name)) || (yield { errorNode: a.name, innerExpression: a.initializer, nameType: ff(vr(a.name)) }) } function* Qqe(n, a) { if (!Fn(n.children)) return; let c = 0; for (let u = 0; u < n.children.length; u++) { let p = n.children[u], h = op(u - c), T = QAe(p, h, a); T ? yield T : c++ } } function QAe(n, a, c) { switch (n.kind) { case 291: return { errorNode: n, innerExpression: n.expression, nameType: a }; case 11: if (n.containsOnlyTriviaWhiteSpaces) break; return { errorNode: n, innerExpression: void 0, nameType: a, errorMessage: c() }; case 281: case 282: case 285: return { errorNode: n, innerExpression: n, nameType: a }; default: return L.assertNever(n, "Found invalid jsx child") } } function Zqe(n, a, c, u, p, h) { let T = pM($qe(n), a, c, u, p, h), k; if (Xm(n.parent) && Hg(n.parent.parent)) { let H = n.parent.parent, J = HB(tA(n)), de = J === void 0 ? "children" : Gi(J), Ae = ff(de), xe = od(c, Ae), tt = bR(H.children); if (!Fn(tt)) return T; let It = Fn(tt) > 1, Tn, un; if (pne(!1) !== ro) { let en = cAe(Se); Tn = jc(xe, cn => to(cn, en)), un = jc(xe, cn => !to(cn, en)) } else Tn = jc(xe, EB), un = jc(xe, en => !EB(en)); if (It) { if (Tn !== lt) { let en = ap(jB(H, 0)), cn = Qqe(H, O); T = Yqe(cn, en, Tn, u, p, h) || T } else if (!Bp(od(a, Ae), xe, u)) { T = !0; let en = Fe(H.openingElement.tagName, _.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided, de, Ee(xe)); h && h.skipLogging && (h.errors || (h.errors = [])).push(en) } } else if (un !== lt) { let en = tt[0], cn = QAe(en, Ae, O); cn && (T = pM(function* () { yield cn }(), a, c, u, p, h) || T) } else if (!Bp(od(a, Ae), xe, u)) { T = !0; let en = Fe(H.openingElement.tagName, _.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided, de, Ee(xe)); h && h.skipLogging && (h.errors || (h.errors = [])).push(en) } } return T; function O() { if (!k) { let H = Qc(n.parent.tagName), J = HB(tA(n)), de = J === void 0 ? "children" : Gi(J), Ae = od(c, ff(de)), xe = _._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2; k = { ...xe, key: "!!ALREADY FORMATTED!!", message: TW(void 0, xe, H, de, Ee(Ae)) } } return k } } function* ZAe(n, a) { let c = Fn(n.elements); if (c) for (let u = 0; u < c; u++) { if (IC(a) && !ja(a, "" + u)) continue; let p = n.elements[u]; if (ol(p)) continue; let h = op(u); yield { errorNode: p, innerExpression: p, nameType: h } } } function eXe(n, a, c, u, p, h) { if (c.flags & 134479868) return !1; if (IC(a)) return pM(ZAe(n, c), a, c, u, p, h); wM(n, c, !1); let T = gCe(n, 1, !0); return vD(), IC(T) ? pM(ZAe(n, c), T, c, u, p, h) : !1 } function* tXe(n) { if (Fn(n.properties)) for (let a of n.properties) { if (VS(a)) continue; let c = TC(fr(a), 8576); if (!(!c || c.flags & 131072)) switch (a.kind) { case 175: case 174: case 171: case 300: yield { errorNode: a.name, innerExpression: void 0, nameType: c }; break; case 299: yield { errorNode: a.name, innerExpression: a.initializer, nameType: c, errorMessage: Vw(a.name) ? _.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1 : void 0 }; break; default: L.assertNever(a) } } } function nXe(n, a, c, u, p, h) { return c.flags & 134479868 ? !1 : pM(tXe(n), a, c, u, p, h) } function e2e(n, a, c, u, p) { return Df(n, a, ed, c, u, p) } function rXe(n, a, c) { return Une(n, a, c ? 4 : 0, !1, void 0, void 0, Gne, void 0) !== 0 } function pB(n) { if (!n.typeParameters && (!n.thisParameter || Zo(UM(n.thisParameter))) && n.parameters.length === 1 && Xl(n)) { let a = UM(n.parameters[0]); return !!((_f(a) ? Ko(a)[0] : a).flags & 131073 && qo(n).flags & 3) } return !1 } function Une(n, a, c, u, p, h, T, k) { if (n === a || !(c & 16 && pB(n)) && pB(a)) return -1; if (c & 16 && pB(n) && !pB(a)) return 0; let O = xd(a); if (!jp(a) && (c & 8 ? jp(n) || xd(n) > O : Vp(n) > O)) return 0; n.typeParameters && n.typeParameters !== a.typeParameters && (a = iKe(a), n = qCe(n, a, void 0, T)); let J = xd(n), de = AD(n), Ae = AD(a); (de || Ae) && Oi(de || Ae, k); let xe = a.declaration ? a.declaration.kind : 0, tt = !(c & 3) && re && xe !== 171 && xe !== 170 && xe !== 173, It = -1, Tn = Yb(n); if (Tn && Tn !== yt) { let en = Yb(a); if (en) { let cn = !tt && T(Tn, en, !1) || T(en, Tn, u); if (!cn) return u && p(_.The_this_types_of_each_signature_are_incompatible), 0; It &= cn } } let un = de || Ae ? Math.min(J, O) : Math.max(J, O), Nn = de || Ae ? un - 1 : -1; for (let en = 0; en < un; en++) { let cn = en === Nn ? SD(n, en) : tT(n, en), rr = en === Nn ? SD(a, en) : tT(a, en); if (cn && rr) { let Jt = c & 3 ? void 0 : F1(yg(cn)), Cn = c & 3 ? void 0 : F1(yg(rr)), Br = Jt && Cn && !Lf(Jt) && !Lf(Cn) && (iu(cn) & 50331648) === (iu(rr) & 50331648) ? Une(Cn, Jt, c & 8 | (tt ? 2 : 1), u, p, h, T, k) : !(c & 3) && !tt && T(cn, rr, !1) || T(rr, cn, u); if (Br && c & 8 && en >= Vp(n) && en < Vp(a) && T(cn, rr, !1) && (Br = 0), !Br) return u && p(_.Types_of_parameters_0_and_1_are_incompatible, Gi(FC(n, en)), Gi(FC(a, en))), 0; It &= Br } } if (!(c & 4)) { let en = rne(a) ? Se : a.declaration && cp(a.declaration) ? vu(No(a.declaration.symbol)) : qo(a); if (en === yt || en === Se) return It; let cn = rne(n) ? Se : n.declaration && cp(n.declaration) ? vu(No(n.declaration.symbol)) : qo(n), rr = Lf(a); if (rr) { let Jt = Lf(n); if (Jt) It &= iXe(Jt, rr, u, p, T); else if (nce(rr)) return u && p(_.Signature_0_must_be_a_type_predicate, ne(n)), 0 } else It &= c & 1 && T(en, cn, !1) || T(cn, en, u), !It && u && h && h(cn, en) } return It } function iXe(n, a, c, u, p) { if (n.kind !== a.kind) return c && (u(_.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard), u(_.Type_predicate_0_is_not_assignable_to_1, kl(n), kl(a))), 0; if ((n.kind === 1 || n.kind === 3) && n.parameterIndex !== a.parameterIndex) return c && (u(_.Parameter_0_is_not_in_the_same_position_as_parameter_1, n.parameterName, a.parameterName), u(_.Type_predicate_0_is_not_assignable_to_1, kl(n), kl(a))), 0; let h = n.type === a.type ? -1 : n.type && a.type ? p(n.type, a.type, c) : 0; return h === 0 && c && u(_.Type_predicate_0_is_not_assignable_to_1, kl(n), kl(a)), h } function aXe(n, a) { let c = tD(n), u = tD(a), p = qo(c), h = qo(u); return h === yt || Bp(h, p, Zu) || Bp(p, h, Zu) ? rXe(c, u, !0) : !1 } function Vne(n) { return n !== aa && n.properties.length === 0 && n.callSignatures.length === 0 && n.constructSignatures.length === 0 && n.indexInfos.length === 0 } function mh(n) { return n.flags & 524288 ? !df(n) && Vne(R_(n)) : n.flags & 67108864 ? !0 : n.flags & 1048576 ? vt(n.types, mh) : n.flags & 2097152 ? Ji(n.types, mh) : !1 } function hh(n) { return !!(Ur(n) & 16 && (n.members && Vne(n) || n.symbol && n.symbol.flags & 2048 && vy(n.symbol).size === 0)) } function oXe(n) { if (U && n.flags & 1048576) { if (!(n.objectFlags & 33554432)) { let a = n.types; n.objectFlags |= 33554432 | (a.length >= 3 && a[0].flags & 32768 && a[1].flags & 65536 && vt(a, hh) ? 67108864 : 0) } return !!(n.objectFlags & 67108864) } return !1 } function xC(n) { return !!((n.flags & 1048576 ? n.types[0] : n).flags & 32768) } function t2e(n) { return n.flags & 524288 && !df(n) && Jo(n).length === 0 && tu(n).length === 1 && !!Cm(n, ae) || n.flags & 3145728 && Ji(n.types, t2e) || !1 } function jne(n, a, c) { let u = n.flags & 8 ? ju(n) : n, p = a.flags & 8 ? ju(a) : a; if (u === p) return !0; if (u.escapedName !== p.escapedName || !(u.flags & 256) || !(p.flags & 256)) return !1; let h = $a(u) + "," + $a(p), T = kb.get(h); if (T !== void 0 && !(!(T & 4) && T & 2 && c)) return !!(T & 1); let k = zn(p); for (let O of Jo(zn(u))) if (O.flags & 8) { let H = ja(k, O.escapedName); if (!H || !(H.flags & 8)) return c ? (c(_.Property_0_is_missing_in_type_1, fc(O), Ee(gs(p), void 0, 64)), kb.set(h, 6)) : kb.set(h, 2), !1 } return kb.set(h, 1), !0 } function lD(n, a, c, u) { let p = n.flags, h = a.flags; return h & 1 || p & 131072 || n === Tt || h & 2 && !(c === x_ && p & 1) ? !0 : h & 131072 ? !1 : !!(p & 402653316 && h & 4 || p & 128 && p & 1024 && h & 128 && !(h & 1024) && n.value === a.value || p & 296 && h & 8 || p & 256 && p & 1024 && h & 256 && !(h & 1024) && n.value === a.value || p & 2112 && h & 64 || p & 528 && h & 16 || p & 12288 && h & 4096 || p & 32 && h & 32 && n.symbol.escapedName === a.symbol.escapedName && jne(n.symbol, a.symbol, u) || p & 1024 && h & 1024 && (p & 1048576 && h & 1048576 && jne(n.symbol, a.symbol, u) || p & 2944 && h & 2944 && n.value === a.value && jne(n.symbol, a.symbol, u)) || p & 32768 && (!U && !(h & 3145728) || h & 49152) || p & 65536 && (!U && !(h & 3145728) || h & 65536) || p & 524288 && h & 67108864 && !(c === x_ && hh(n) && !(Ur(n) & 8192)) || (c === Zu || c === ed) && (p & 1 || p & 8 && (h & 32 || h & 256 && h & 1024) || p & 256 && !(p & 1024) && (h & 32 || h & 256 && h & 1024 && n.value === a.value) || oXe(a))) } function Bp(n, a, c) { if (t0(n) && (n = n.regularType), t0(a) && (a = a.regularType), n === a) return !0; if (c !== td) { if (c === ed && !(a.flags & 131072) && lD(a, n, c) || lD(n, a, c)) return !0 } else if (!((n.flags | a.flags) & 61865984)) { if (n.flags !== a.flags) return !1; if (n.flags & 67358815) return !0 } if (n.flags & 524288 && a.flags & 524288) { let u = c.get(Kne(n, a, 0, c, !1)); if (u !== void 0) return !!(u & 1) } return n.flags & 469499904 || a.flags & 469499904 ? Df(n, a, c, void 0) : !1 } function n2e(n, a) { return Ur(n) & 2048 && Fre(a.escapedName) } function mM(n, a) { for (; ;) { let c = t0(n) ? n.regularType : Ur(n) & 4 ? n.node ? _g(n.target, Ko(n)) : Yne(n) || n : n.flags & 3145728 ? sXe(n, a) : n.flags & 33554432 ? a ? n.baseType : une(n) : n.flags & 25165824 ? mg(n, a) : n; if (c === n) return c; n = c } } function sXe(n, a) { let c = O_(n); if (c !== n) return c; if (n.flags & 2097152 && vt(n.types, hh)) { let u = Tl(n.types, p => mM(p, a)); if (u !== n.types) return so(u) } return n } function Df(n, a, c, u, p, h, T) { var k; let O, H, J, de, Ae, xe = 0, tt = 0, It = 0, Tn = 0, un = !1, Nn = 0, en, cn; L.assert(c !== td || !u, "no error reporting in identity checking"); let rr = ji(n, a, 3, !!u, p); if (cn && Br(), un) { (k = ai) == null || k.instant(ai.Phase.CheckTypes, "checkTypeRelatedTo_DepthLimit", { sourceId: n.id, targetId: a.id, depth: tt, targetDepth: It }); let ze = Fe(u || P, _.Excessive_stack_depth_comparing_types_0_and_1, Ee(n), Ee(a)); T && (T.errors || (T.errors = [])).push(ze) } else if (O) { if (h) { let Ut = h(); Ut && (gle(Ut, O), O = Ut) } let ze; if (p && u && !rr && n.symbol) { let Ut = Ai(n.symbol); if (Ut.originatingImport && !Dd(Ut.originatingImport) && Df(zn(Ut.target), a, c, void 0)) { let Zn = hr(Ut.originatingImport, _.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead); ze = Sn(ze, Zn) } } let dt = Lh(Gn(u), u, O, ze); H && Ao(dt, ...H), T && (T.errors || (T.errors = [])).push(dt), (!T || !T.skipLogging) && Lo.add(dt) } return u && T && T.skipLogging && rr === 0 && L.assert(!!T.errors, "missed opportunity to interact with error."), rr !== 0; function Jt(ze) { O = ze.errorInfo, en = ze.lastSkippedInfo, cn = ze.incompatibleStack, Nn = ze.overrideNextErrorInfo, H = ze.relatedInfo } function Cn() { return { errorInfo: O, lastSkippedInfo: en, incompatibleStack: cn?.slice(), overrideNextErrorInfo: Nn, relatedInfo: H?.slice() } } function Rn(ze, dt, Ut, wn, Zn) { Nn++, en = void 0, (cn || (cn = [])).push([ze, dt, Ut, wn, Zn]) } function Br() { let ze = cn || []; cn = void 0; let dt = en; if (en = void 0, ze.length === 1) { Hr(...ze[0]), dt && wa(void 0, ...dt); return } let Ut = "", wn = []; for (; ze.length;) { let [Zn, ...fn] = ze.pop(); switch (Zn.code) { case _.Types_of_property_0_are_incompatible.code: { Ut.indexOf("new ") === 0 && (Ut = `(${Ut})`); let sr = "" + fn[0]; Ut.length === 0 ? Ut = `${sr}` : i_(sr, Do(Y)) ? Ut = `${Ut}.${sr}` : sr[0] === "[" && sr[sr.length - 1] === "]" ? Ut = `${Ut}${sr}` : Ut = `${Ut}[${sr}]`; break } case _.Call_signature_return_types_0_and_1_are_incompatible.code: case _.Construct_signature_return_types_0_and_1_are_incompatible.code: case _.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: case _.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: { if (Ut.length === 0) { let sr = Zn; Zn.code === _.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? sr = _.Call_signature_return_types_0_and_1_are_incompatible : Zn.code === _.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code && (sr = _.Construct_signature_return_types_0_and_1_are_incompatible), wn.unshift([sr, fn[0], fn[1]]) } else { let sr = Zn.code === _.Construct_signature_return_types_0_and_1_are_incompatible.code || Zn.code === _.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : "", Ar = Zn.code === _.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || Zn.code === _.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "..."; Ut = `${sr}${Ut}(${Ar})` } break } case _.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code: { wn.unshift([_.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target, fn[0], fn[1]]); break } case _.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code: { wn.unshift([_.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, fn[0], fn[1], fn[2]]); break } default: return L.fail(`Unhandled Diagnostic: ${Zn.code}`) } } Ut ? Hr(Ut[Ut.length - 1] === ")" ? _.The_types_returned_by_0_are_incompatible_between_these_types : _.The_types_of_0_are_incompatible_between_these_types, Ut) : wn.shift(); for (let [Zn, ...fn] of wn) { let sr = Zn.elidedInCompatabilityPyramid; Zn.elidedInCompatabilityPyramid = !1, Hr(Zn, ...fn), Zn.elidedInCompatabilityPyramid = sr } dt && wa(void 0, ...dt) } function Hr(ze, dt, Ut, wn, Zn) { L.assert(!!u), cn && Br(), !ze.elidedInCompatabilityPyramid && (O = da(O, ze, dt, Ut, wn, Zn)) } function qi(ze) { L.assert(!!O), H ? H.push(ze) : H = [ze] } function wa(ze, dt, Ut) { cn && Br(); let [wn, Zn] = Wt(dt, Ut), fn = dt, sr = wn; if (uD(dt) && !Hne(Ut) && (fn = ky(dt), L.assert(!to(fn, Ut), "generalized source shouldn't be assignable"), sr = lr(fn)), (Ut.flags & 8388608 && !(dt.flags & 8388608) ? Ut.objectType.flags : Ut.flags) & 262144 && Ut !== ss && Ut !== qs) { let Ei = bu(Ut), ia; Ei && (to(fn, Ei) || (ia = to(dt, Ei))) ? Hr(_._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2, ia ? wn : sr, Zn, Ee(Ei)) : (O = void 0, Hr(_._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1, Zn, sr)) } if (ze) ze === _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 && Pe && r2e(dt, Ut).length && (ze = _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties); else if (c === ed) ze = _.Type_0_is_not_comparable_to_type_1; else if (wn === Zn) ze = _.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated; else if (Pe && r2e(dt, Ut).length) ze = _.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties; else { if (dt.flags & 128 && Ut.flags & 1048576) { let Ei = uQe(dt, Ut); if (Ei) { Hr(_.Type_0_is_not_assignable_to_type_1_Did_you_mean_2, sr, Zn, Ee(Ei)); return } } ze = _.Type_0_is_not_assignable_to_type_1 } Hr(ze, sr, Zn) } function Xc(ze, dt) { let Ut = ci(ze.symbol) ? Ee(ze, ze.symbol.valueDeclaration) : Ee(ze), wn = ci(dt.symbol) ? Ee(dt, dt.symbol.valueDeclaration) : Ee(dt); (Ws === ze && ae === dt || hd === ze && rt === dt || vc === ze && Te === dt || iAe() === ze && j === dt) && Hr(_._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, wn, Ut) } function pf(ze, dt, Ut) { return po(ze) ? ze.target.readonly && vB(dt) ? (Ut && Hr(_.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, Ee(ze), Ee(dt)), !1) : JE(dt) : CC(ze) && vB(dt) ? (Ut && Hr(_.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, Ee(ze), Ee(dt)), !1) : po(dt) ? _f(ze) : !0 } function Hd(ze, dt, Ut) { return ji(ze, dt, 3, Ut) } function ji(ze, dt, Ut = 3, wn = !1, Zn, fn = 0) { if (ze.flags & 524288 && dt.flags & 134348796) return c === ed && !(dt.flags & 131072) && lD(dt, ze, c) || lD(ze, dt, c, wn ? Hr : void 0) ? -1 : (wn && In(ze, dt, ze, dt, Zn), 0); let sr = mM(ze, !1), Ar = mM(dt, !0); if (sr === Ar) return -1; if (c === td) return sr.flags !== Ar.flags ? 0 : sr.flags & 67358815 ? -1 : (qn(sr, Ar), Mn(sr, Ar, !1, 0, Ut)); if (sr.flags & 262144 && VE(sr) === Ar) return -1; if (sr.flags & 470302716 && Ar.flags & 1048576) { let Ei = Ar.types, ia = Ei.length === 2 && Ei[0].flags & 98304 ? Ei[1] : Ei.length === 3 && Ei[0].flags & 98304 && Ei[1].flags & 98304 ? Ei[2] : void 0; if (ia && !(ia.flags & 98304) && (Ar = mM(ia, !0), sr === Ar)) return -1 } if (c === ed && !(Ar.flags & 131072) && lD(Ar, sr, c) || lD(sr, Ar, c, wn ? Hr : void 0)) return -1; if (sr.flags & 469499904 || Ar.flags & 469499904) { if (!(fn & 2) && Xv(sr) && Ur(sr) & 8192 && ga(sr, Ar, wn)) return wn && wa(Zn, sr, dt.aliasSymbol ? dt : Ar), 0; let ia = (c !== ed || N_(sr)) && !(fn & 2) && sr.flags & 136970236 && sr !== ka && Ar.flags & 2621440 && a2e(Ar) && (Jo(sr).length > 0 || EU(sr)), Aa = !!(Ur(sr) & 2048); if (ia && !lXe(sr, Ar, Aa)) { if (wn) { let Oa = Ee(ze.aliasSymbol ? ze : sr), mo = Ee(dt.aliasSymbol ? dt : Ar), co = xa(sr, 0), as = xa(sr, 1); co.length > 0 && ji(qo(co[0]), Ar, 1, !1) || as.length > 0 && ji(qo(as[0]), Ar, 1, !1) ? Hr(_.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, Oa, mo) : Hr(_.Type_0_has_no_properties_in_common_with_type_1, Oa, mo) } return 0 } qn(sr, Ar); let Zr = sr.flags & 1048576 && sr.types.length < 4 && !(Ar.flags & 1048576) || Ar.flags & 1048576 && Ar.types.length < 4 && !(sr.flags & 469499904) ? ko(sr, Ar, wn, fn) : Mn(sr, Ar, wn, fn, Ut); if (Zr) return Zr } return wn && In(ze, dt, sr, Ar, Zn), 0 } function In(ze, dt, Ut, wn, Zn) { var fn, sr; let Ar = !!Yne(ze), Ei = !!Yne(dt); Ut = ze.aliasSymbol || Ar ? ze : Ut, wn = dt.aliasSymbol || Ei ? dt : wn; let ia = Nn > 0; if (ia && Nn--, Ut.flags & 524288 && wn.flags & 524288) { let Aa = O; pf(Ut, wn, !0), O !== Aa && (ia = !!O) } if (Ut.flags & 524288 && wn.flags & 134348796) Xc(Ut, wn); else if (Ut.symbol && Ut.flags & 524288 && ka === Ut) Hr(_.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); else if (Ur(Ut) & 2048 && wn.flags & 2097152) { let Aa = wn.types, Ra = s0(Qd.IntrinsicAttributes, u), Zr = s0(Qd.IntrinsicClassAttributes, u); if (!Ro(Ra) && !Ro(Zr) && (ya(Aa, Ra) || ya(Aa, Zr))) return } else O = Xte(O, dt); if (!Zn && ia) { en = [Ut, wn]; return } if (wa(Zn, Ut, wn), Ut.flags & 262144 && ((sr = (fn = Ut.symbol) == null ? void 0 : fn.declarations) != null && sr[0]) && !VE(Ut)) { let Aa = uB(Ut); if (Aa.constraint = Oi(wn, n0(Ut, Aa)), $k(Aa)) { let Ra = Ee(wn, Ut.symbol.declarations[0]); qi(hr(Ut.symbol.declarations[0], _.This_type_parameter_might_need_an_extends_0_constraint, Ra)) } } } function qn(ze, dt) { if (ai && ze.flags & 3145728 && dt.flags & 3145728) { let Ut = ze, wn = dt; if (Ut.objectFlags & wn.objectFlags & 32768) return; let Zn = Ut.types.length, fn = wn.types.length; Zn * fn > 1e6 && ai.instant(ai.Phase.CheckTypes, "traceUnionsOrIntersectionsTooLarge_DepthLimit", { sourceId: ze.id, sourceSize: Zn, targetId: dt.id, targetSize: fn, pos: u?.pos, end: u?.end }) } } function Mi(ze, dt) { return Gr(ou(ze, (wn, Zn) => { var fn; Zn = Eu(Zn); let sr = Zn.flags & 3145728 ? qte(Zn, dt) : qb(Zn, dt), Ar = sr && zn(sr) || ((fn = jx(Zn, dt)) == null ? void 0 : fn.type) || Oe; return Sn(wn, Ar) }, void 0) || Je) } function ga(ze, dt, Ut) { var wn; if (!NM(dt) || !ge && Ur(dt) & 4096) return !1; let Zn = !!(Ur(ze) & 2048); if ((c === Zu || c === ed) && (gD(ka, dt) || !Zn && mh(dt))) return !1; let fn = dt, sr; dt.flags & 1048576 && (fn = mke(ze, dt, ji) || _it(dt), sr = fn.flags & 1048576 ? fn.types : [fn]); for (let Ar of Jo(ze)) if (Bi(Ar, ze.symbol) && !n2e(ze, Ar)) { if (!Vre(fn, Ar.escapedName, Zn)) { if (Ut) { let Ei = jc(fn, NM); if (!u) return L.fail(); if (K0(u) || Au(u) || Au(u.parent)) { Ar.valueDeclaration && Sp(Ar.valueDeclaration) && Gn(u) === Gn(Ar.valueDeclaration.name) && (u = Ar.valueDeclaration.name); let ia = E(Ar), Aa = VCe(ia, Ei), Ra = Aa ? E(Aa) : void 0; Ra ? Hr(_.Property_0_does_not_exist_on_type_1_Did_you_mean_2, ia, Ee(Ei), Ra) : Hr(_.Property_0_does_not_exist_on_type_1, ia, Ee(Ei)) } else { let ia = ((wn = ze.symbol) == null ? void 0 : wn.declarations) && Sl(ze.symbol.declarations), Aa; if (Ar.valueDeclaration && jn(Ar.valueDeclaration, Ra => Ra === ia) && Gn(ia) === Gn(u)) { let Ra = Ar.valueDeclaration; L.assertNode(Ra, Og), u = Ra; let Zr = Ra.name; Re(Zr) && (Aa = Xre(Zr, Ei)) } Aa !== void 0 ? Hr(_.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2, E(Ar), Ee(Ei), Aa) : Hr(_.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, E(Ar), Ee(Ei)) } } return !0 } if (sr && !ji(zn(Ar), Mi(sr, Ar.escapedName), 3, Ut)) return Ut && Rn(_.Types_of_property_0_are_incompatible, E(Ar)), !0 } return !1 } function Bi(ze, dt) { return ze.valueDeclaration && dt.valueDeclaration && ze.valueDeclaration.parent === dt.valueDeclaration } function ko(ze, dt, Ut, wn) { if (ze.flags & 1048576) return c === ed ? Tu(ze, dt, Ut && !(ze.flags & 134348796), wn) : he(ze, dt, Ut && !(ze.flags & 134348796), wn); if (dt.flags & 1048576) return Xs(EM(ze), dt, Ut && !(ze.flags & 134348796) && !(dt.flags & 134348796)); if (dt.flags & 2097152) return no(ze, dt, Ut, 2); if (c === ed && dt.flags & 134348796) { let Zn = Tl(ze.types, fn => fn.flags & 465829888 ? bu(fn) || ue : fn); if (Zn !== ze.types) { if (ze = so(Zn), ze.flags & 131072) return 0; if (!(ze.flags & 2097152)) return ji(ze, dt, 1, !1) || ji(dt, ze, 1, !1) } } return Tu(ze, dt, !1, 1) } function us(ze, dt) { let Ut = -1, wn = ze.types; for (let Zn of wn) { let fn = Xs(Zn, dt, !1); if (!fn) return 0; Ut &= fn } return Ut } function Xs(ze, dt, Ut) { let wn = dt.types; if (dt.flags & 1048576) { if (Qb(wn, ze)) return -1; let Zn = O2e(dt, ze); if (Zn) { let fn = ji(ze, Zn, 2, !1); if (fn) return fn } } for (let Zn of wn) { let fn = ji(ze, Zn, 2, !1); if (fn) return fn } if (Ut) { let Zn = i2e(ze, dt, ji); Zn && ji(ze, Zn, 2, !0) } return 0 } function no(ze, dt, Ut, wn) { let Zn = -1, fn = dt.types; for (let sr of fn) { let Ar = ji(ze, sr, 2, Ut, void 0, wn); if (!Ar) return 0; Zn &= Ar } return Zn } function Tu(ze, dt, Ut, wn) { let Zn = ze.types; if (ze.flags & 1048576 && Qb(Zn, dt)) return -1; let fn = Zn.length; for (let sr = 0; sr < fn; sr++) { let Ar = ji(Zn[sr], dt, 1, Ut && sr === fn - 1, void 0, wn); if (Ar) return Ar } return 0 } function et(ze, dt) { return ze.flags & 1048576 && dt.flags & 1048576 && !(ze.types[0].flags & 32768) && dt.types[0].flags & 32768 ? DC(dt, -32769) : dt } function he(ze, dt, Ut, wn) { let Zn = -1, fn = ze.types, sr = et(ze, dt); for (let Ar = 0; Ar < fn.length; Ar++) { let Ei = fn[Ar]; if (sr.flags & 1048576 && fn.length >= sr.types.length && fn.length % sr.types.length === 0) { let Aa = ji(Ei, sr.types[Ar % sr.types.length], 3, !1, void 0, wn); if (Aa) { Zn &= Aa; continue } } let ia = ji(Ei, dt, 1, Ut, void 0, wn); if (!ia) return 0; Zn &= ia } return Zn } function Bn(ze = Je, dt = Je, Ut = Je, wn, Zn) { if (ze.length !== dt.length && c === td) return 0; let fn = ze.length <= dt.length ? ze.length : dt.length, sr = -1; for (let Ar = 0; Ar < fn; Ar++) { let Ei = Ar < Ut.length ? Ut[Ar] : 1, ia = Ei & 7; if (ia !== 4) { let Aa = ze[Ar], Ra = dt[Ar], Zr = -1; if (Ei & 8 ? Zr = c === td ? ji(Aa, Ra, 3, !1) : sD(Aa, Ra) : ia === 1 ? Zr = ji(Aa, Ra, 3, wn, void 0, Zn) : ia === 2 ? Zr = ji(Ra, Aa, 3, wn, void 0, Zn) : ia === 3 ? (Zr = ji(Ra, Aa, 3, !1), Zr || (Zr = ji(Aa, Ra, 3, wn, void 0, Zn))) : (Zr = ji(Aa, Ra, 3, wn, void 0, Zn), Zr && (Zr &= ji(Ra, Aa, 3, wn, void 0, Zn))), !Zr) return 0; sr &= Zr } } return sr } function Mn(ze, dt, Ut, wn, Zn) { var fn, sr, Ar; if (un) return 0; let Ei = Kne(ze, dt, wn, c, !1), ia = c.get(Ei); if (ia !== void 0 && !(Ut && ia & 2 && !(ia & 4))) { if (Qr) { let co = ia & 24; co & 8 && Oi(ze, gn), co & 16 && Oi(ze, Wi) } return ia & 1 ? -1 : 0 } if (!J) J = [], de = [], Ae = []; else { let co = Ei.startsWith("*") ? Kne(ze, dt, wn, c, !0) : void 0; for (let as = 0; as < xe; as++)if (Ei === J[as] || co && co === J[as]) return 3; if (tt === 100 || It === 100) return un = !0, 0 } let Aa = xe; J[xe] = Ei, xe++; let Ra = Tn; Zn & 1 && (de[tt] = ze, tt++, !(Tn & 1) && yM(ze, de, tt) && (Tn |= 1)), Zn & 2 && (Ae[It] = dt, It++, !(Tn & 2) && yM(dt, Ae, It) && (Tn |= 2)); let Zr, Oa = 0; Qr && (Zr = Qr, Qr = co => (Oa |= co ? 16 : 8, Zr(co))); let mo; if (Tn === 3 ? ((fn = ai) == null || fn.instant(ai.Phase.CheckTypes, "recursiveTypeRelatedTo_DepthLimit", { sourceId: ze.id, sourceIdStack: de.map(co => co.id), targetId: dt.id, targetIdStack: Ae.map(co => co.id), depth: tt, targetDepth: It }), mo = 3) : ((sr = ai) == null || sr.push(ai.Phase.CheckTypes, "structuredTypeRelatedTo", { sourceId: ze.id, targetId: dt.id }), mo = or(ze, dt, Ut, wn), (Ar = ai) == null || Ar.pop()), Qr && (Qr = Zr), Zn & 1 && tt--, Zn & 2 && It--, Tn = Ra, mo) { if (mo === -1 || tt === 0 && It === 0) { if (mo === -1 || mo === 3) for (let co = Aa; co < xe; co++)c.set(J[co], 1 | Oa); xe = Aa } } else c.set(Ei, (Ut ? 4 : 0) | 2 | Oa), xe = Aa; return mo } function or(ze, dt, Ut, wn) { let Zn = Cn(), fn = _r(ze, dt, Ut, wn, Zn); if (c !== td) { if (!fn && (ze.flags & 2097152 || ze.flags & 262144 && dt.flags & 1048576)) { let sr = jJe(ze.flags & 2097152 ? ze.types : [ze], !!(dt.flags & 1048576)); sr && Im(sr, Ar => Ar !== ze) && (fn = ji(sr, dt, 1, !1, void 0, wn)) } fn && !(wn & 2) && dt.flags & 2097152 && !Zb(dt) && ze.flags & 2621440 ? (fn &= Ft(ze, dt, Ut, void 0, !1, 0), fn && Xv(ze) && Ur(ze) & 8192 && (fn &= Bo(ze, dt, !1, Ut, 0))) : fn && rB(dt) && !JE(dt) && ze.flags & 2097152 && Eu(ze).flags & 3670016 && !vt(ze.types, sr => sr === dt || !!(Ur(sr) & 262144)) && (fn &= Ft(ze, dt, Ut, void 0, !0, wn)) } return fn && Jt(Zn), fn } function _r(ze, dt, Ut, wn, Zn) { let fn, sr, Ar = !1, Ei = ze.flags, ia = dt.flags; if (c === td) { if (Ei & 3145728) { let Zr = us(ze, dt); return Zr && (Zr &= us(dt, ze)), Zr } if (Ei & 4194304) return ji(ze.type, dt.type, 3, !1); if (Ei & 8388608 && (fn = ji(ze.objectType, dt.objectType, 3, !1)) && (fn &= ji(ze.indexType, dt.indexType, 3, !1)) || Ei & 16777216 && ze.root.isDistributive === dt.root.isDistributive && (fn = ji(ze.checkType, dt.checkType, 3, !1)) && (fn &= ji(ze.extendsType, dt.extendsType, 3, !1)) && (fn &= ji(Hv(ze), Hv(dt), 3, !1)) && (fn &= ji(Wv(ze), Wv(dt), 3, !1)) || Ei & 33554432 && (fn = ji(ze.baseType, dt.baseType, 3, !1)) && (fn &= ji(ze.constraint, dt.constraint, 3, !1))) return fn; if (!(Ei & 524288)) return 0 } else if (Ei & 3145728 || ia & 3145728) { if (fn = ko(ze, dt, Ut, wn)) return fn; if (!(Ei & 465829888 || Ei & 524288 && ia & 1048576 || Ei & 2097152 && ia & 467402752)) return 0 } if (Ei & 17301504 && ze.aliasSymbol && ze.aliasTypeArguments && ze.aliasSymbol === dt.aliasSymbol && !(hB(ze) || hB(dt))) { let Zr = o2e(ze.aliasSymbol); if (Zr === Je) return 1; let Oa = Ai(ze.aliasSymbol).typeParameters, mo = Mp(Oa), co = Sy(ze.aliasTypeArguments, Oa, mo, Yn(ze.aliasSymbol.valueDeclaration)), as = Sy(dt.aliasTypeArguments, Oa, mo, Yn(ze.aliasSymbol.valueDeclaration)), Ul = Ra(co, as, Zr, wn); if (Ul !== void 0) return Ul } if (_2e(ze) && !ze.target.readonly && (fn = ji(Ko(ze)[0], dt, 1)) || _2e(dt) && (dt.target.readonly || vB(bu(ze) || ze)) && (fn = ji(ze, Ko(dt)[0], 2))) return fn; if (ia & 262144) { if (Ur(ze) & 32 && !ze.declaration.nameType && ji(Gp(dt), rp(ze), 3) && !(Pp(ze) & 4)) { let Zr = _h(ze), Oa = od(dt, w_(ze)); if (fn = ji(Zr, Oa, 3, Ut)) return fn } if (c === ed && Ei & 262144) { let Zr = eu(ze); if (Zr && $k(ze)) for (; Zr && yh(Zr, Oa => !!(Oa.flags & 262144));) { if (fn = ji(Zr, dt, 1, !1)) return fn; Zr = eu(Zr) } return 0 } } else if (ia & 4194304) { let Zr = dt.type; if (Ei & 4194304 && (fn = ji(Zr, ze.type, 3, !1))) return fn; if (po(Zr)) { if (fn = ji(ze, _Ae(Zr), 2, Ut)) return fn } else { let Oa = jte(Zr); if (Oa) { if (ji(ze, Gp(Oa, dt.stringsOnly), 2, Ut) === -1) return -1 } else if (df(Zr)) { let mo = by(Zr), co = rp(Zr), as; if (mo && Yk(Zr)) { let Ul = Eu(yC(Zr)), F_ = []; Ute(Ul, 8576, !1, Dm => void F_.push(Oi(mo, oD(Zr.mapper, w_(Zr), Dm)))), as = Gr([...F_, mo]) } else as = mo || co; if (ji(ze, as, 2, Ut) === -1) return -1 } } } else if (ia & 8388608) { if (Ei & 8388608) { if ((fn = ji(ze.objectType, dt.objectType, 3, Ut)) && (fn &= ji(ze.indexType, dt.indexType, 3, Ut)), fn) return fn; Ut && (sr = O) } if (c === Zu || c === ed) { let Zr = dt.objectType, Oa = dt.indexType, mo = bu(Zr) || Zr, co = bu(Oa) || Oa; if (!Zb(mo) && !jv(co)) { let as = 4 | (mo !== Zr ? 2 : 0), Ul = Ay(mo, co, as); if (Ul) { if (Ut && sr && Jt(Zn), fn = ji(ze, Ul, 2, Ut, void 0, wn)) return fn; Ut && sr && O && (O = Aa([sr]) <= Aa([O]) ? sr : O) } } } Ut && (sr = void 0) } else if (df(dt) && c !== td) { let Zr = !!dt.declaration.nameType, Oa = _h(dt), mo = Pp(dt); if (!(mo & 8)) { if (!Zr && Oa.flags & 8388608 && Oa.objectType === ze && Oa.indexType === w_(dt)) return -1; if (!df(ze)) { let co = Zr ? by(dt) : rp(dt), as = Gp(ze, void 0, !0), Ul = mo & 4, F_ = Ul ? QP(co, as) : void 0; if (Ul ? !(F_.flags & 131072) : ji(co, as, 3)) { let Dm = _h(dt), $v = w_(dt), U1 = DC(Dm, -98305); if (!Zr && U1.flags & 8388608 && U1.indexType === $v) { if (fn = ji(ze, U1.objectType, 2, Ut)) return fn } else { let KC = Zr ? F_ || co : F_ ? so([F_, $v]) : $v, Hp = od(ze, KC); if (fn = ji(Hp, Dm, 3, Ut)) return fn } } sr = O, Jt(Zn) } } } else if (ia & 16777216) { if (yM(dt, Ae, It, 10)) return 3; let Zr = dt; if (!Zr.root.inferTypeParameters && !Tqe(Zr.root)) { let Oa = !to(dB(Zr.checkType), dB(Zr.extendsType)), mo = !Oa && to(zE(Zr.checkType), zE(Zr.extendsType)); if ((fn = Oa ? -1 : ji(ze, Hv(Zr), 2, !1, void 0, wn)) && (fn &= mo ? -1 : ji(ze, Wv(Zr), 2, !1, void 0, wn), fn)) return fn } } else if (ia & 134217728) { if (Ei & 134217728) { if (c === ed) return XXe(ze, dt) ? 0 : -1; Oi(ze, Wi) } if (_re(ze, dt)) return -1 } else if (dt.flags & 268435456 && !(ze.flags & 268435456) && fre(ze, dt)) return -1; if (Ei & 8650752) { if (!(Ei & 8388608 && ia & 8388608)) { let Zr = VE(ze) || ue; if (fn = ji(Zr, dt, 1, !1, void 0, wn)) return fn; if (fn = ji(uf(Zr, ze), dt, 1, Ut && Zr !== ue && !(ia & Ei & 262144), void 0, wn)) return fn; if (Jte(ze)) { let Oa = VE(ze.indexType); if (Oa && (fn = ji(od(ze.objectType, Oa), dt, 1, Ut))) return fn } } } else if (Ei & 4194304) { if (fn = ji(Si, dt, 1, Ut)) return fn } else if (Ei & 134217728 && !(ia & 524288)) { if (!(ia & 134217728)) { let Zr = bu(ze); if (Zr && Zr !== ze && (fn = ji(Zr, dt, 1, Ut))) return fn } } else if (Ei & 268435456) if (ia & 268435456) { if (ze.symbol !== dt.symbol) return 0; if (fn = ji(ze.type, dt.type, 3, Ut)) return fn } else { let Zr = bu(ze); if (Zr && (fn = ji(Zr, dt, 1, Ut))) return fn } else if (Ei & 16777216) { if (yM(ze, de, tt, 10)) return 3; if (ia & 16777216) { let Oa = ze.root.inferTypeParameters, mo = ze.extendsType, co; if (Oa) { let as = _D(Oa, void 0, 0, Hd); gh(as.inferences, dt.extendsType, mo, 1536), mo = Oi(mo, as.mapper), co = as.mapper } if (ph(mo, dt.extendsType) && (ji(ze.checkType, dt.checkType, 3) || ji(dt.checkType, ze.checkType, 3)) && ((fn = ji(Oi(Hv(ze), co), Hv(dt), 3, Ut)) && (fn &= ji(Wv(ze), Wv(dt), 3, Ut)), fn)) return fn } else { let Oa = $k(ze) ? Dxe(ze) : void 0; if (Oa && (fn = ji(Oa, dt, 1, Ut))) return fn } let Zr = Hte(ze); if (Zr && (fn = ji(Zr, dt, 1, Ut))) return fn } else { if (c !== hm && c !== x_ && PJe(dt) && mh(ze)) return -1; if (df(dt)) return df(ze) && (fn = ua(ze, dt, Ut)) ? fn : 0; let Zr = !!(Ei & 134348796); if (c !== td) ze = Eu(ze), Ei = ze.flags; else if (df(ze)) return 0; if (Ur(ze) & 4 && Ur(dt) & 4 && ze.target === dt.target && !po(ze) && !(hB(ze) || hB(dt))) { if (bB(ze)) return -1; let Oa = zne(ze.target); if (Oa === Je) return 1; let mo = Ra(Ko(ze), Ko(dt), Oa, wn); if (mo !== void 0) return mo } else { if (CC(dt) ? JE(ze) : _f(dt) && po(ze) && !ze.target.readonly) return c !== td ? ji(fg(ze, rt) || Se, fg(dt, rt) || Se, 3, Ut) : 0; if ((c === hm || c === x_) && mh(dt) && Ur(dt) & 8192 && !mh(ze)) return 0 } if (Ei & 2621440 && ia & 524288) { let Oa = Ut && O === Zn.errorInfo && !Zr; if (fn = Ft(ze, dt, Oa, void 0, !1, wn), fn && (fn &= Un(ze, dt, 0, Oa, wn), fn && (fn &= Un(ze, dt, 1, Oa, wn), fn && (fn &= Bo(ze, dt, Zr, Oa, wn)))), Ar && fn) O = sr || O || Zn.errorInfo; else if (fn) return fn } if (Ei & 2621440 && ia & 1048576) { let Oa = DC(dt, 36175872); if (Oa.flags & 1048576) { let mo = _i(ze, Oa); if (mo) return mo } } } return 0; function Aa(Zr) { return Zr ? ou(Zr, (Oa, mo) => Oa + 1 + Aa(mo.next), 0) : 0 } function Ra(Zr, Oa, mo, co) { if (fn = Bn(Zr, Oa, mo, Ut, co)) return fn; if (vt(mo, Ul => !!(Ul & 24))) { sr = void 0, Jt(Zn); return } let as = Oa && uXe(Oa, mo); if (Ar = !as, mo !== Je && !as) { if (Ar && !(Ut && vt(mo, Ul => (Ul & 7) === 0))) return 0; sr = O, Jt(Zn) } } } function ua(ze, dt, Ut) { if (c === ed || (c === td ? Pp(ze) === Pp(dt) : Vte(ze) <= Vte(dt))) { let Zn, fn = rp(dt), sr = Oi(rp(ze), Vte(ze) < 0 ? gn : Wi); if (Zn = ji(fn, sr, 3, Ut)) { let Ar = Wu([w_(ze)], [w_(dt)]); if (Oi(by(ze), Ar) === Oi(by(dt), Ar)) return Zn & ji(Oi(_h(ze), Ar), _h(dt), 3, Ut) } } return 0 } function _i(ze, dt) { var Ut; let wn = Jo(ze), Zn = R2e(wn, dt); if (!Zn) return 0; let fn = 1; for (let Ra of Zn) if (fn *= SYe(Gv(Ra)), fn > 25) return (Ut = ai) == null || Ut.instant(ai.Phase.CheckTypes, "typeRelatedToDiscriminatedType_DepthLimit", { sourceId: ze.id, targetId: dt.id, numCombinations: fn }), 0; let sr = new Array(Zn.length), Ar = new Set; for (let Ra = 0; Ra < Zn.length; Ra++) { let Zr = Zn[Ra], Oa = Gv(Zr); sr[Ra] = Oa.flags & 1048576 ? Oa.types : [Oa], Ar.add(Zr.escapedName) } let Ei = Rae(sr), ia = []; for (let Ra of Ei) { let Zr = !1; e: for (let Oa of dt.types) { for (let mo = 0; mo < Zn.length; mo++) { let co = Zn[mo], as = ja(Oa, co.escapedName); if (!as) continue e; if (co === as) continue; if (!Ct(ze, dt, co, as, F_ => Ra[mo], !1, 0, U || c === ed)) continue e } Of(ia, Oa, Zv), Zr = !0 } if (!Zr) return 0 } let Aa = -1; for (let Ra of ia) if (Aa &= Ft(ze, Ra, !1, Ar, !1, 0), Aa && (Aa &= Un(ze, Ra, 0, !1, 0), Aa && (Aa &= Un(ze, Ra, 1, !1, 0), Aa && !(po(ze) && po(Ra)) && (Aa &= Bo(ze, Ra, !1, !1, 0)))), !Aa) return Aa; return Aa } function ur(ze, dt) { if (!dt || ze.length === 0) return ze; let Ut; for (let wn = 0; wn < ze.length; wn++)dt.has(ze[wn].escapedName) ? Ut || (Ut = ze.slice(0, wn)) : Ut && Ut.push(ze[wn]); return Ut || ze } function st(ze, dt, Ut, wn, Zn) { let fn = U && !!(ac(dt) & 48), sr = ao(Gv(dt), !1, fn), Ar = Ut(ze); return ji(Ar, sr, 3, wn, void 0, Zn) } function Ct(ze, dt, Ut, wn, Zn, fn, sr, Ar) { let Ei = Ef(Ut), ia = Ef(wn); if (Ei & 8 || ia & 8) { if (Ut.valueDeclaration !== wn.valueDeclaration) return fn && (Ei & 8 && ia & 8 ? Hr(_.Types_have_separate_declarations_of_a_private_property_0, E(wn)) : Hr(_.Property_0_is_private_in_type_1_but_not_in_type_2, E(wn), Ee(Ei & 8 ? ze : dt), Ee(Ei & 8 ? dt : ze))), 0 } else if (ia & 16) { if (!mXe(Ut, wn)) return fn && Hr(_.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2, E(wn), Ee(N1(Ut) || ze), Ee(N1(wn) || dt)), 0 } else if (Ei & 16) return fn && Hr(_.Property_0_is_protected_in_type_1_but_public_in_type_2, E(wn), Ee(ze), Ee(dt)), 0; if (c === x_ && M_(Ut) && !M_(wn)) return 0; let Aa = st(Ut, wn, Zn, fn, sr); return Aa ? !Ar && Ut.flags & 16777216 && wn.flags & 106500 && !(wn.flags & 16777216) ? (fn && Hr(_.Property_0_is_optional_in_type_1_but_required_in_type_2, E(wn), Ee(ze), Ee(dt)), 0) : Aa : (fn && Rn(_.Types_of_property_0_are_incompatible, E(wn)), 0) } function Bt(ze, dt, Ut, wn) { let Zn = !1; if (Ut.valueDeclaration && zl(Ut.valueDeclaration) && pi(Ut.valueDeclaration.name) && ze.symbol && ze.symbol.flags & 32) { let sr = Ut.valueDeclaration.name.escapedText, Ar = hR(ze.symbol, sr); if (Ar && ja(ze, Ar)) { let Ei = D.getDeclarationName(ze.symbol.valueDeclaration), ia = D.getDeclarationName(dt.symbol.valueDeclaration); Hr(_.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2, Cf(sr), Cf(Ei.escapedText === "" ? nN : Ei), Cf(ia.escapedText === "" ? nN : ia)); return } } let fn = lo(lre(ze, dt, wn, !1)); if ((!p || p.code !== _.Class_0_incorrectly_implements_interface_1.code && p.code !== _.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code) && (Zn = !0), fn.length === 1) { let sr = E(Ut, void 0, 0, 20); Hr(_.Property_0_is_missing_in_type_1_but_required_in_type_2, sr, ...Wt(ze, dt)), Fn(Ut.declarations) && qi(hr(Ut.declarations[0], _._0_is_declared_here, sr)), Zn && O && Nn++ } else pf(ze, dt, !1) && (fn.length > 5 ? Hr(_.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more, Ee(ze), Ee(dt), on(fn.slice(0, 4), sr => E(sr)).join(", "), fn.length - 4) : Hr(_.Type_0_is_missing_the_following_properties_from_type_1_Colon_2, Ee(ze), Ee(dt), on(fn, sr => E(sr)).join(", ")), Zn && O && Nn++) } function Ft(ze, dt, Ut, wn, Zn, fn) { if (c === td) return hn(ze, dt, wn); let sr = -1; if (po(dt)) { if (JE(ze)) { if (!dt.target.readonly && (CC(ze) || po(ze) && ze.target.readonly)) return 0; let Ra = Vv(ze), Zr = Vv(dt), Oa = po(ze) ? ze.target.combinedFlags & 4 : 4, mo = dt.target.combinedFlags & 4, co = po(ze) ? ze.target.minLength : 0, as = dt.target.minLength; if (!Oa && Ra < as) return Ut && Hr(_.Source_has_0_element_s_but_target_requires_1, Ra, as), 0; if (!mo && Zr < co) return Ut && Hr(_.Source_has_0_element_s_but_target_allows_only_1, co, Zr), 0; if (!mo && (Oa || Zr < Ra)) return Ut && (co < as ? Hr(_.Target_requires_0_element_s_but_source_may_have_fewer, as) : Hr(_.Target_allows_only_0_element_s_but_source_may_have_more, Zr)), 0; let Ul = Ko(ze), F_ = Ko(dt), Dm = VKe(dt.target, 11), $v = sM(dt.target, 11), U1 = dt.target.hasRestElement, KC = !!wn; for (let Hp = 0; Hp < Ra; Hp++) { let cA = po(ze) ? ze.target.elementFlags[Hp] : 4, lA = Ra - 1 - Hp, iT = U1 && Hp >= Dm ? Zr - 1 - Math.min(lA, $v) : Hp, sd = dt.target.elementFlags[iT]; if (sd & 8 && !(cA & 8)) return Ut && Hr(_.Source_provides_no_match_for_variadic_element_at_position_0_in_target, iT), 0; if (cA & 8 && !(sd & 12)) return Ut && Hr(_.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target, Hp, iT), 0; if (sd & 1 && !(cA & 1)) return Ut && Hr(_.Source_provides_no_match_for_required_element_at_position_0_in_target, iT), 0; if (KC && ((cA & 12 || sd & 12) && (KC = !1), KC && wn?.has("" + Hp))) continue; let bt = KE(Ul[Hp], !!(cA & sd & 2)), cr = F_[iT], oi = cA & 8 && sd & 4 ? nu(cr) : KE(cr, !!(sd & 2)), Jr = ji(bt, oi, 3, Ut, void 0, fn); if (!Jr) return Ut && (Zr > 1 || Ra > 1) && (U1 && Hp >= Dm && lA >= $v && Dm !== Ra - $v - 1 ? Rn(_.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, Dm, Ra - $v - 1, iT) : Rn(_.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target, Hp, iT)), 0; sr &= Jr } return sr } if (dt.target.combinedFlags & 12) return 0 } let Ar = (c === hm || c === x_) && !Xv(ze) && !bB(ze) && !po(ze), Ei = ure(ze, dt, Ar, !1); if (Ei) return Ut && yi(ze, dt) && Bt(ze, dt, Ei, Ar), 0; if (Xv(dt)) { for (let Ra of ur(Jo(ze), wn)) if (!qb(dt, Ra.escapedName) && !(zn(Ra).flags & 32768)) return Ut && Hr(_.Property_0_does_not_exist_on_type_1, E(Ra), Ee(dt)), 0 } let ia = Jo(dt), Aa = po(ze) && po(dt); for (let Ra of ur(ia, wn)) { let Zr = Ra.escapedName; if (!(Ra.flags & 4194304) && (!Aa || Wm(Zr) || Zr === "length") && (!Zn || Ra.flags & 16777216)) { let Oa = ja(ze, Zr); if (Oa && Oa !== Ra) { let mo = Ct(ze, dt, Oa, Ra, Gv, Ut, fn, c === ed); if (!mo) return 0; sr &= mo } } } return sr } function hn(ze, dt, Ut) { if (!(ze.flags & 524288 && dt.flags & 524288)) return 0; let wn = ur(Ey(ze), Ut), Zn = ur(Ey(dt), Ut); if (wn.length !== Zn.length) return 0; let fn = -1; for (let sr of wn) { let Ar = qb(dt, sr.escapedName); if (!Ar) return 0; let Ei = qne(sr, Ar, ji); if (!Ei) return 0; fn &= Ei } return fn } function Un(ze, dt, Ut, wn, Zn) { var fn, sr; if (c === td) return Sr(ze, dt, Ut); if (dt === aa || ze === aa) return -1; let Ar = ze.symbol && cp(ze.symbol.valueDeclaration), Ei = dt.symbol && cp(dt.symbol.valueDeclaration), ia = xa(ze, Ar && Ut === 1 ? 0 : Ut), Aa = xa(dt, Ei && Ut === 1 ? 0 : Ut); if (Ut === 1 && ia.length && Aa.length) { let co = !!(ia[0].flags & 4), as = !!(Aa[0].flags & 4); if (co && !as) return wn && Hr(_.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type), 0; if (!Bl(ia[0], Aa[0], wn)) return 0 } let Ra = -1, Zr = Ut === 1 ? Xt : Di, Oa = Ur(ze), mo = Ur(dt); if (Oa & 64 && mo & 64 && ze.symbol === dt.symbol || Oa & 4 && mo & 4 && ze.target === dt.target) for (let co = 0; co < Aa.length; co++) { let as = er(ia[co], Aa[co], !0, wn, Zn, Zr(ia[co], Aa[co])); if (!as) return 0; Ra &= as } else if (ia.length === 1 && Aa.length === 1) { let co = c === ed || !!Y.noStrictGenericChecks, as = Vo(ia), Ul = Vo(Aa); if (Ra = er(as, Ul, co, wn, Zn, Zr(as, Ul)), !Ra && wn && Ut === 1 && Oa & mo && (((fn = Ul.declaration) == null ? void 0 : fn.kind) === 173 || ((sr = as.declaration) == null ? void 0 : sr.kind) === 173)) { let F_ = Dm => ne(Dm, void 0, 262144, Ut); return Hr(_.Type_0_is_not_assignable_to_type_1, F_(as), F_(Ul)), Hr(_.Types_of_construct_signatures_are_incompatible), Ra } } else e: for (let co of Aa) { let as = Cn(), Ul = wn; for (let F_ of ia) { let Dm = er(F_, co, !0, Ul, Zn, Zr(F_, co)); if (Dm) { Ra &= Dm, Jt(as); continue e } Ul = !1 } return Ul && Hr(_.Type_0_provides_no_match_for_the_signature_1, Ee(ze), ne(co, void 0, void 0, Ut)), 0 } return Ra } function yi(ze, dt) { let Ut = nM(ze, 0), wn = nM(ze, 1), Zn = Ey(ze); return (Ut.length || wn.length) && !Zn.length ? !!(xa(dt, 0).length && Ut.length || xa(dt, 1).length && wn.length) : !0 } function Di(ze, dt) { return ze.parameters.length === 0 && dt.parameters.length === 0 ? (Ut, wn) => Rn(_.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, Ee(Ut), Ee(wn)) : (Ut, wn) => Rn(_.Call_signature_return_types_0_and_1_are_incompatible, Ee(Ut), Ee(wn)) } function Xt(ze, dt) { return ze.parameters.length === 0 && dt.parameters.length === 0 ? (Ut, wn) => Rn(_.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, Ee(Ut), Ee(wn)) : (Ut, wn) => Rn(_.Construct_signature_return_types_0_and_1_are_incompatible, Ee(Ut), Ee(wn)) } function er(ze, dt, Ut, wn, Zn, fn) { let sr = c === hm ? 16 : c === x_ ? 24 : 0; return Une(Ut ? tD(ze) : ze, Ut ? tD(dt) : dt, sr, wn, Hr, fn, Ar, Wi); function Ar(Ei, ia, Aa) { return ji(Ei, ia, 3, Aa, void 0, Zn) } } function Sr(ze, dt, Ut) { let wn = xa(ze, Ut), Zn = xa(dt, Ut); if (wn.length !== Zn.length) return 0; let fn = -1; for (let sr = 0; sr < wn.length; sr++) { let Ar = vM(wn[sr], Zn[sr], !1, !1, !1, ji); if (!Ar) return 0; fn &= Ar } return fn } function Dr(ze, dt, Ut, wn) { let Zn = -1, fn = dt.keyType, sr = ze.flags & 2097152 ? eM(ze) : Ey(ze); for (let Ar of sr) if (!n2e(ze, Ar) && Vx(TC(Ar, 8576), fn)) { let Ei = Gv(Ar), ia = Pe || Ei.flags & 32768 || fn === rt || !(Ar.flags & 16777216) ? Ei : wf(Ei, 524288), Aa = ji(ia, dt.type, 3, Ut, void 0, wn); if (!Aa) return Ut && Hr(_.Property_0_is_incompatible_with_index_signature, E(Ar)), 0; Zn &= Aa } for (let Ar of tu(ze)) if (Vx(Ar.keyType, fn)) { let Ei = Ii(Ar, dt, Ut, wn); if (!Ei) return 0; Zn &= Ei } return Zn } function Ii(ze, dt, Ut, wn) { let Zn = ji(ze.type, dt.type, 3, Ut, void 0, wn); return !Zn && Ut && (ze.keyType === dt.keyType ? Hr(_._0_index_signatures_are_incompatible, Ee(ze.keyType)) : Hr(_._0_and_1_index_signatures_are_incompatible, Ee(ze.keyType), Ee(dt.keyType))), Zn } function Bo(ze, dt, Ut, wn, Zn) { if (c === td) return ds(ze, dt); let fn = tu(dt), sr = vt(fn, Ei => Ei.keyType === ae), Ar = -1; for (let Ei of fn) { let ia = !Ut && sr && Ei.type.flags & 1 ? -1 : df(ze) && sr ? ji(_h(ze), Ei.type, 3, wn) : ys(ze, Ei, wn, Zn); if (!ia) return 0; Ar &= ia } return Ar } function ys(ze, dt, Ut, wn) { let Zn = rM(ze, dt.keyType); return Zn ? Ii(Zn, dt, Ut, wn) : !(wn & 1) && (c !== x_ || Ur(ze) & 8192) && xB(ze) ? Dr(ze, dt, Ut, wn) : (Ut && Hr(_.Index_signature_for_type_0_is_missing_in_type_1, Ee(dt.keyType), Ee(ze)), 0) } function ds(ze, dt) { let Ut = tu(ze), wn = tu(dt); if (Ut.length !== wn.length) return 0; for (let Zn of wn) { let fn = Cm(ze, Zn.keyType); if (!(fn && ji(fn.type, Zn.type, 3) && fn.isReadonly === Zn.isReadonly)) return 0 } return -1 } function Bl(ze, dt, Ut) { if (!ze.declaration || !dt.declaration) return !0; let wn = hS(ze.declaration, 24), Zn = hS(dt.declaration, 24); return Zn === 8 || Zn === 16 && wn !== 8 || Zn !== 16 && !wn ? !0 : (Ut && Hr(_.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type, Ud(wn), Ud(Zn)), !1) } } function Hne(n) { if (n.flags & 16) return !1; if (n.flags & 3145728) return !!mn(n.types, Hne); if (n.flags & 465829888) { let a = VE(n); if (a && a !== n) return Hne(a) } return N_(n) || !!(n.flags & 134217728) || !!(n.flags & 268435456) } function r2e(n, a) { return po(n) && po(a) ? Je : Jo(a).filter(c => mB(Vc(n, c.escapedName), zn(c))) } function mB(n, a) { return !!n && !!a && Js(n, 32768) && !!fD(a) } function cXe(n) { return Jo(n).filter(a => fD(zn(a))) } function i2e(n, a, c = Gne) { return mke(n, a, c, !0) || lit(n, a) || uit(n, a) || dit(n, a) || fit(n, a) } function Wne(n, a, c, u, p) { let h = n.types.map(O => { }); for (let [O, H] of a) { let J = Kte(n, H); if (p && J && ac(J) & 16) continue; let de = 0; for (let Ae of n.types) { let xe = Vc(Ae, H); xe && c(O(), xe) ? h[de] = h[de] === void 0 ? !0 : h[de] : h[de] = !1, de++ } } let T = h.indexOf(!0); if (T === -1) return u; let k = h.indexOf(!0, T + 1); for (; k !== -1;) { if (!ph(n.types[T], n.types[k])) return u; k = h.indexOf(!0, k + 1) } return n.types[T] } function a2e(n) { if (n.flags & 524288) { let a = R_(n); return a.callSignatures.length === 0 && a.constructSignatures.length === 0 && a.indexInfos.length === 0 && a.properties.length > 0 && Ji(a.properties, c => !!(c.flags & 16777216)) } return n.flags & 2097152 ? Ji(n.types, a2e) : !1 } function lXe(n, a, c) { for (let u of Jo(n)) if (Vre(a, u.escapedName, c)) return !0; return !1 } function zne(n) { return n === $o || n === jo || n.objectFlags & 8 ? W : s2e(n.symbol, n.typeParameters) } function o2e(n) { return s2e(n, Ai(n).typeParameters) } function s2e(n, a = Je) { var c, u; let p = Ai(n); if (!p.variances) { (c = ai) == null || c.push(ai.Phase.CheckTypes, "getVariancesWorker", { arity: a.length, id: ru(gs(n)) }), p.variances = Je; let h = []; for (let T of a) { let k = Jne(T), O = k & 65536 ? k & 32768 ? 0 : 1 : k & 32768 ? 2 : void 0; if (O === void 0) { let H = !1, J = !1, de = Qr; Qr = tt => tt ? J = !0 : H = !0; let Ae = hM(n, T, md), xe = hM(n, T, Pc); O = (to(xe, Ae) ? 1 : 0) | (to(Ae, xe) ? 2 : 0), O === 3 && to(hM(n, T, bl), Ae) && (O = 4), Qr = de, (H || J) && (H && (O |= 8), J && (O |= 16)) } h.push(O) } p.variances = h, (u = ai) == null || u.pop({ variances: h.map(L.formatVariance) }) } return p.variances } function hM(n, a, c) { let u = n0(a, c), p = gs(n); if (Ro(p)) return p; let h = n.flags & 524288 ? Jx(n, hg(Ai(n).typeParameters, u)) : _g(p, hg(p.typeParameters, u)); return vn.add(ru(h)), h } function hB(n) { return vn.has(ru(n)) } function Jne(n) { var a; return ou((a = n.symbol) == null ? void 0 : a.declarations, (c, u) => c | uu(u), 0) & 100352 } function uXe(n, a) { for (let c = 0; c < a.length; c++)if ((a[c] & 7) === 1 && n[c].flags & 16384) return !0; return !1 } function dXe(n) { return n.flags & 262144 && !eu(n) } function fXe(n) { return !!(Ur(n) & 4) && !n.node } function gB(n) { return fXe(n) && vt(Ko(n), a => !!(a.flags & 262144) || gB(a)) } function _Xe(n, a, c, u) { let p = [], h = "", T = O(n, 0), k = O(a, 0); return `${h}${T},${k}${c}`; function O(H, J = 0) { let de = "" + H.target.id; for (let Ae of Ko(H)) { if (Ae.flags & 262144) { if (u || dXe(Ae)) { let xe = p.indexOf(Ae); xe < 0 && (xe = p.length, p.push(Ae)), de += "=" + xe; continue } h = "*" } else if (J < 4 && gB(Ae)) { de += "<" + O(Ae, J + 1) + ">"; continue } de += "-" + Ae.id } return de } } function Kne(n, a, c, u, p) { if (u === td && n.id > a.id) { let T = n; n = a, a = T } let h = c ? ":" + c : ""; return gB(n) && gB(a) ? _Xe(n, a, h, p) : `${n.id},${a.id}${h}` } function gM(n, a) { if (ac(n) & 6) { for (let c of n.links.containingType.types) { let u = ja(c, n.escapedName), p = u && gM(u, a); if (p) return p } return } return a(n) } function N1(n) { return n.parent && n.parent.flags & 32 ? gs(ju(n)) : void 0 } function yB(n) { let a = N1(n), c = a && _o(a)[0]; return c && Vc(c, n.escapedName) } function pXe(n, a) { return gM(n, c => { let u = N1(c); return u ? BE(u, a) : !1 }) } function mXe(n, a) { return !gM(a, c => Ef(c) & 16 ? !pXe(n, N1(c)) : !1) } function c2e(n, a, c) { return gM(a, u => Ef(u, c) & 16 ? !BE(n, N1(u)) : !1) ? void 0 : n } function yM(n, a, c, u = 3) { if (c >= u) { if (n.flags & 2097152) return vt(n.types, k => yM(k, a, c, u)); let p = AC(n), h = 0, T = 0; for (let k = 0; k < c; k++) { let O = a[k]; if (O.flags & 2097152 ? vt(O.types, H => AC(H) === p) : AC(O) === p) { if (O.id >= T && (h++, h >= u)) return !0; T = O.id } } } return !1 } function AC(n) { if (n.flags & 524288 && !pre(n)) { if (Ur(n) && n.node) return n.node; if (n.symbol && !(Ur(n) & 16 && n.symbol.flags & 32)) return n.symbol; if (po(n)) return n.target } if (n.flags & 262144) return n.symbol; if (n.flags & 8388608) { do n = n.objectType; while (n.flags & 8388608); return n } return n.flags & 16777216 ? n.root : n } function hXe(n, a) { return qne(n, a, sD) !== 0 } function qne(n, a, c) { if (n === a) return -1; let u = Ef(n) & 24, p = Ef(a) & 24; if (u !== p) return 0; if (u) { if (oA(n) !== oA(a)) return 0 } else if ((n.flags & 16777216) !== (a.flags & 16777216)) return 0; return M_(n) !== M_(a) ? 0 : c(zn(n), zn(a)) } function gXe(n, a, c) { let u = xd(n), p = xd(a), h = Vp(n), T = Vp(a), k = jp(n), O = jp(a); return !!(u === p && h === T && k === O || c && h <= T) } function vM(n, a, c, u, p, h) { if (n === a) return -1; if (!gXe(n, a, c) || Fn(n.typeParameters) !== Fn(a.typeParameters)) return 0; if (a.typeParameters) { let O = Wu(n.typeParameters, a.typeParameters); for (let H = 0; H < a.typeParameters.length; H++) { let J = n.typeParameters[H], de = a.typeParameters[H]; if (!(J === de || h(Oi(bC(J), O) || ue, bC(de) || ue) && h(Oi(jE(J), O) || ue, jE(de) || ue))) return 0 } n = $x(n, O, !0) } let T = -1; if (!u) { let O = Yb(n); if (O) { let H = Yb(a); if (H) { let J = h(O, H); if (!J) return 0; T &= J } } } let k = xd(a); for (let O = 0; O < k; O++) { let H = P_(n, O), J = P_(a, O), de = h(J, H); if (!de) return 0; T &= de } if (!p) { let O = Lf(n), H = Lf(a); T &= O || H ? yXe(O, H, h) : h(qo(n), qo(a)) } return T } function yXe(n, a, c) { return n && a && Ene(n, a) ? n.type === a.type ? -1 : n.type && a.type ? c(n.type, a.type) : 0 : 0 } function vXe(n) { let a; for (let c of n) if (!(c.flags & 131072)) { let u = ky(c); if (a ?? (a = u), u === c || u !== a) return !1 } return !0 } function l2e(n) { return ou(n, (a, c) => a | (c.flags & 1048576 ? l2e(c.types) : c.flags), 0) } function bXe(n) { if (n.length === 1) return n[0]; let a = U ? Tl(n, u => jc(u, p => !(p.flags & 98304))) : n, c = vXe(a) ? Gr(a) : ou(a, (u, p) => Iy(u, p) ? p : u); return a === n ? c : TB(c, l2e(n) & 98304) } function EXe(n) { return ou(n, (a, c) => Iy(c, a) ? c : a) } function _f(n) { return !!(Ur(n) & 4) && (n.target === $o || n.target === jo) } function CC(n) { return !!(Ur(n) & 4) && n.target === jo } function JE(n) { return _f(n) || po(n) } function vB(n) { return _f(n) && !CC(n) || po(n) && !n.target.readonly } function Xne(n) { return _f(n) ? Ko(n)[0] : void 0 } function Kv(n) { return _f(n) || !(n.flags & 98304) && to(n, Ri) } function Yne(n) { if (!(Ur(n) & 4) || !(Ur(n.target) & 3)) return; if (Ur(n) & 33554432) return Ur(n) & 67108864 ? n.cachedEquivalentBaseType : void 0; n.objectFlags |= 33554432; let a = n.target; if (Ur(a) & 1) { let p = yn(a); if (p && p.expression.kind !== 79 && p.expression.kind !== 208) return } let c = _o(a); if (c.length !== 1 || vy(n.symbol).size) return; let u = Fn(a.typeParameters) ? Oi(c[0], Wu(a.typeParameters, Ko(n).slice(0, a.typeParameters.length))) : c[0]; return Fn(Ko(n)) > Fn(a.typeParameters) && (u = uf(u, To(Ko(n)))), n.objectFlags |= 67108864, n.cachedEquivalentBaseType = u } function u2e(n) { return U ? n === Vt : n === je } function bB(n) { let a = Xne(n); return !!a && u2e(a) } function IC(n) { return po(n) || !!ja(n, "0") } function EB(n) { return Kv(n) || IC(n) } function TXe(n, a) { let c = Vc(n, "" + a); if (c) return c; if (Im(n, po)) return Ls(n, u => { let p = u, h = bM(p); return h ? Y.noUncheckedIndexedAccess && a >= p.target.fixedLength + sM(p.target, 3) ? Gr([h, Oe]) : h : Oe }) } function SXe(n) { return !(n.flags & 240544) } function N_(n) { return !!(n.flags & 109472) } function d2e(n) { let a = Ty(n); return a.flags & 2097152 ? vt(a.types, N_) : N_(a) } function xXe(n) { return n.flags & 2097152 && wr(n.types, N_) || n } function uD(n) { return n.flags & 16 ? !0 : n.flags & 1048576 ? n.flags & 1024 ? !0 : Ji(n.types, N_) : N_(n) } function ky(n) { return n.flags & 1056 ? Kk(n) : n.flags & 402653312 ? ae : n.flags & 256 ? rt : n.flags & 2048 ? Ot : n.flags & 512 ? Te : n.flags & 1048576 ? AXe(n) : n } function AXe(n) { var a; let c = `B${ru(n)}`; return (a = wb(c)) != null ? a : qh(c, Ls(n, ky)) } function $ne(n) { return n.flags & 402653312 ? ae : n.flags & 288 ? rt : n.flags & 2048 ? Ot : n.flags & 512 ? Te : n.flags & 1048576 ? Ls(n, $ne) : n } function i0(n) { return n.flags & 1056 && t0(n) ? Kk(n) : n.flags & 128 && t0(n) ? ae : n.flags & 256 && t0(n) ? rt : n.flags & 2048 && t0(n) ? Ot : n.flags & 512 && t0(n) ? Te : n.flags & 1048576 ? Ls(n, i0) : n } function f2e(n) { return n.flags & 8192 ? j : n.flags & 1048576 ? Ls(n, f2e) : n } function Qne(n, a) { return aU(n, a) || (n = f2e(i0(n))), Hu(n) } function CXe(n, a, c) { if (n && N_(n)) { let u = a ? c ? wD(a) : a : void 0; n = Qne(n, u) } return n } function Zne(n, a, c, u) { if (n && N_(n)) { let p = a ? c0(c, a, u) : void 0; n = Qne(n, p) } return n } function po(n) { return !!(Ur(n) & 4 && n.target.objectFlags & 8) } function Qx(n) { return po(n) && !!(n.target.combinedFlags & 8) } function _2e(n) { return Qx(n) && n.target.elementFlags.length === 1 } function bM(n) { return LC(n, n.target.fixedLength) } function IXe(n) { let a = bM(n); return a && nu(a) } function LC(n, a, c = 0, u = !1, p = !1) { let h = Vv(n) - c; if (a < h) { let T = Ko(n), k = []; for (let O = a; O < h; O++) { let H = T[O]; k.push(n.target.elementFlags[O] & 8 ? od(H, rt) : H) } return u ? so(k) : Gr(k, p ? 0 : 1) } } function LXe(n, a) { return Vv(n) === Vv(a) && Ji(n.target.elementFlags, (c, u) => (c & 12) === (a.target.elementFlags[u] & 12)) } function p2e({ value: n }) { return n.base10Value === "0" } function m2e(n) { return jc(n, a => !!(iu(a) & 4194304)) } function kXe(n) { return Ls(n, DXe) } function DXe(n) { return n.flags & 4 ? gx : n.flags & 8 ? _1 : n.flags & 64 ? yx : n === oe || n === Ke || n.flags & 114691 || n.flags & 128 && n.value === "" || n.flags & 256 && n.value === 0 || n.flags & 2048 && p2e(n) ? n : lt } function TB(n, a) { let c = a & ~n.flags & 98304; return c === 0 ? n : Gr(c === 32768 ? [n, Oe] : c === 65536 ? [n, ln] : [n, Oe, ln]) } function gg(n, a = !1) { L.assert(U); let c = a ? kt : Oe; return n === c || n.flags & 1048576 && n.types[0] === c ? n : Gr([n, c]) } function wXe(n) { return io || (io = nD("NonNullable", 524288, void 0) || Ht), io !== Ht ? Jx(io, [n]) : so([n, Ki]) } function yg(n) { return U ? $E(n, 2097152) : n } function h2e(n) { return U ? Gr([n, Kt]) : n } function ere(n) { return U ? wB(n, Kt) : n } function SB(n, a, c) { return c ? mI(a) ? gg(n) : h2e(n) : n } function dD(n, a) { return r6(a) ? yg(n) : Jl(a) ? ere(n) : n } function KE(n, a) { return Pe && a ? wB(n, Ge) : n } function fD(n) { return n === Ge || !!(n.flags & 1048576) && n.types[0] === Ge } function tre(n) { return Pe ? wB(n, Ge) : wf(n, 524288) } function RXe(n, a) { return (n.flags & 524) !== 0 && (a.flags & 28) !== 0 } function xB(n) { let a = Ur(n); return n.flags & 2097152 ? Ji(n.types, xB) : !!(n.symbol && n.symbol.flags & 7040 && !(n.symbol.flags & 32) && !EU(n)) || !!(a & 4194304) || !!(a & 1024 && xB(n.source)) } function qE(n, a) { let c = wo(n.flags, n.escapedName, ac(n) & 8); c.declarations = n.declarations, c.parent = n.parent, c.links.type = a, c.links.target = n, n.valueDeclaration && (c.valueDeclaration = n.valueDeclaration); let u = Ai(n).nameType; return u && (c.links.nameType = u), c } function OXe(n, a) { let c = Ua(); for (let u of Ey(n)) { let p = zn(u), h = a(p); c.set(u.escapedName, h === p ? u : qE(u, h)) } return c } function EM(n) { if (!(Xv(n) && Ur(n) & 8192)) return n; let a = n.regularType; if (a) return a; let c = n, u = OXe(n, EM), p = ls(c.symbol, u, c.callSignatures, c.constructSignatures, c.indexInfos); return p.flags = c.flags, p.objectFlags |= c.objectFlags & -8193, n.regularType = p, p } function g2e(n, a, c) { return { parent: n, propertyName: a, siblings: c, resolvedProperties: void 0 } } function y2e(n) { if (!n.siblings) { let a = []; for (let c of y2e(n.parent)) if (Xv(c)) { let u = qb(c, n.propertyName); u && QE(zn(u), p => { a.push(p) }) } n.siblings = a } return n.siblings } function NXe(n) { if (!n.resolvedProperties) { let a = new Map; for (let c of y2e(n)) if (Xv(c) && !(Ur(c) & 2097152)) for (let u of Jo(c)) a.set(u.escapedName, u); n.resolvedProperties = lo(a.values()) } return n.resolvedProperties } function PXe(n, a) { if (!(n.flags & 4)) return n; let c = zn(n), u = a && g2e(a, n.escapedName, void 0), p = nre(c, u); return p === c ? n : qE(n, p) } function MXe(n) { let a = ri.get(n.escapedName); if (a) return a; let c = qE(n, kt); return c.flags |= 16777216, ri.set(n.escapedName, c), c } function FXe(n, a) { let c = Ua(); for (let p of Ey(n)) c.set(p.escapedName, PXe(p, a)); if (a) for (let p of NXe(a)) c.has(p.escapedName) || c.set(p.escapedName, MXe(p)); let u = ls(n.symbol, c, Je, Je, Tl(tu(n), p => Fp(p.keyType, Sd(p.type), p.isReadonly))); return u.objectFlags |= Ur(n) & 266240, u } function Sd(n) { return nre(n, void 0) } function nre(n, a) { if (Ur(n) & 196608) { if (a === void 0 && n.widened) return n.widened; let c; if (n.flags & 98305) c = Se; else if (Xv(n)) c = FXe(n, a); else if (n.flags & 1048576) { let u = a || g2e(void 0, void 0, n.types), p = Tl(n.types, h => h.flags & 98304 ? h : nre(h, u)); c = Gr(p, vt(p, mh) ? 2 : 1) } else n.flags & 2097152 ? c = so(Tl(n.types, Sd)) : JE(n) && (c = _g(n.target, Tl(Ko(n), Sd))); return c && a === void 0 && (n.widened = c), c || n } return n } function AB(n) { let a = !1; if (Ur(n) & 65536) { if (n.flags & 1048576) if (vt(n.types, mh)) a = !0; else for (let c of n.types) AB(c) && (a = !0); if (JE(n)) for (let c of Ko(n)) AB(c) && (a = !0); if (Xv(n)) for (let c of Ey(n)) { let u = zn(c); Ur(u) & 65536 && (AB(u) || Fe(c.valueDeclaration, _.Object_literal_s_property_0_implicitly_has_an_1_type, E(c), Ee(Sd(u))), a = !0) } } return a } function qv(n, a, c) { let u = Ee(Sd(a)); if (Yn(n) && !HR(Gn(n), Y)) return; let p; switch (n.kind) { case 223: case 169: case 168: p = ge ? _.Member_0_implicitly_has_an_1_type : _.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; case 166: let h = n; if (Re(h.name)) { let T = nb(h.name); if ((_2(h.parent) || zm(h.parent) || Jm(h.parent)) && h.parent.parameters.indexOf(h) > -1 && (zs(h, h.name.escapedText, 788968, void 0, h.name.escapedText, !0) || T && vW(T))) { let k = "arg" + h.parent.parameters.indexOf(h), O = os(h.name) + (h.dotDotDotToken ? "[]" : ""); Ip(ge, n, _.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, k, O); return } } p = n.dotDotDotToken ? ge ? _.Rest_parameter_0_implicitly_has_an_any_type : _.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage : ge ? _.Parameter_0_implicitly_has_an_1_type : _.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; case 205: if (p = _.Binding_element_0_implicitly_has_an_1_type, !ge) return; break; case 320: Fe(n, _.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, u); return; case 326: ge && kL(n.parent) && Fe(n.parent.tagName, _.This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation, u); return; case 259: case 171: case 170: case 174: case 175: case 215: case 216: if (ge && !n.name) { c === 3 ? Fe(n, _.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation, u) : Fe(n, _.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, u); return } p = ge ? c === 3 ? _._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type : _._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type : _._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage; break; case 197: ge && Fe(n, _.Mapped_object_type_implicitly_has_an_any_template_type); return; default: p = ge ? _.Variable_0_implicitly_has_an_1_type : _.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage }Ip(ge, n, p, os(sa(n)), u) } function CB(n, a, c) { i(() => { ge && Ur(a) & 65536 && (!c || !Nre(n)) && (AB(a) || qv(n, a, c)) }) } function rre(n, a, c) { let u = xd(n), p = xd(a), h = xD(n), T = xD(a), k = T ? p - 1 : p, O = h ? k : Math.min(u, k), H = Yb(n); if (H) { let J = Yb(a); J && c(H, J) } for (let J = 0; J < O; J++)c(P_(n, J), P_(a, J)); T && c(SD(n, O), T) } function ire(n, a, c) { let u = Lf(n), p = Lf(a); u && p && Ene(u, p) && u.type && p.type ? c(u.type, p.type) : c(qo(n), qo(a)) } function _D(n, a, c, u) { return are(n.map(ore), a, c, u || Gne) } function GXe(n, a = 0) { return n && are(on(n.inferences, b2e), n.signature, n.flags | a, n.compareTypes) } function are(n, a, c, u) { let p = { inferences: n, signature: a, flags: c, compareTypes: u, mapper: gn, nonFixingMapper: gn }; return p.mapper = BXe(p), p.nonFixingMapper = UXe(p), p } function BXe(n) { return Rne(on(n.inferences, a => a.typeParameter), on(n.inferences, (a, c) => () => (a.isFixed || (VXe(n), IB(n.inferences), a.isFixed = !0), mre(n, c)))) } function UXe(n) { return Rne(on(n.inferences, a => a.typeParameter), on(n.inferences, (a, c) => () => mre(n, c))) } function IB(n) { for (let a of n) a.isFixed || (a.inferredType = void 0) } function v2e(n, a, c) { var u; ((u = n.intraExpressionInferenceSites) != null ? u : n.intraExpressionInferenceSites = []).push({ node: a, type: c }) } function VXe(n) { if (n.intraExpressionInferenceSites) { for (let { node: a, type: c } of n.intraExpressionInferenceSites) { let u = a.kind === 171 ? dCe(a, 2) : Ru(a, 2); u && gh(n.inferences, c, u) } n.intraExpressionInferenceSites = void 0 } } function ore(n) { return { typeParameter: n, candidates: void 0, contraCandidates: void 0, inferredType: void 0, priority: void 0, topLevel: !0, isFixed: !1, impliedArity: void 0 } } function b2e(n) { return { typeParameter: n.typeParameter, candidates: n.candidates && n.candidates.slice(), contraCandidates: n.contraCandidates && n.contraCandidates.slice(), inferredType: n.inferredType, priority: n.priority, topLevel: n.topLevel, isFixed: n.isFixed, impliedArity: n.impliedArity } } function jXe(n) { let a = Pr(n.inferences, iA); return a.length ? are(on(a, b2e), n.signature, n.flags, n.compareTypes) : void 0 } function sre(n) { return n && n.mapper } function XE(n) { let a = Ur(n); if (a & 524288) return !!(a & 1048576); let c = !!(n.flags & 465829888 || n.flags & 524288 && !E2e(n) && (a & 4 && (n.node || mn(Ko(n), XE)) || a & 16 && n.symbol && n.symbol.flags & 14384 && n.symbol.declarations || a & 12583968) || n.flags & 3145728 && !(n.flags & 1024) && !E2e(n) && vt(n.types, XE)); return n.flags & 3899393 && (n.objectFlags |= 524288 | (c ? 1048576 : 0)), c } function E2e(n) { if (n.aliasSymbol && !n.aliasTypeArguments) { let a = nc(n.aliasSymbol, 262); return !!(a && jn(a.parent, c => c.kind === 308 ? !0 : c.kind === 264 ? !1 : "quit")) } return !1 } function pD(n, a, c = 0) { return !!(n === a || n.flags & 3145728 && vt(n.types, u => pD(u, a, c)) || c < 3 && n.flags & 16777216 && (pD(Hv(n), a, c + 1) || pD(Wv(n), a, c + 1))) } function HXe(n, a) { let c = Lf(n); return c ? !!c.type && pD(c.type, a) : pD(qo(n), a) } function WXe(n) { let a = Ua(); QE(n, u => { if (!(u.flags & 128)) return; let p = Bs(u.value), h = wo(4, p); h.links.type = Se, u.symbol && (h.declarations = u.symbol.declarations, h.valueDeclaration = u.symbol.valueDeclaration), a.set(p, h) }); let c = n.flags & 4 ? [Fp(ae, Ki, !1)] : Je; return ls(void 0, a, Je, Je, c) } function T2e(n, a, c) { if (ta) return; let u = n.id + "," + a.id + "," + c.id; if (yr.has(u)) return yr.get(u); ta = !0; let p = zXe(n, a, c); return ta = !1, yr.set(u, p), p } function cre(n) { return !(Ur(n) & 262144) || Xv(n) && vt(Jo(n), a => cre(zn(a))) || po(n) && vt(Ko(n), cre) } function zXe(n, a, c) { if (!(Cm(n, ae) || Jo(n).length !== 0 && cre(n))) return; if (_f(n)) return nu(LB(Ko(n)[0], a, c), CC(n)); if (po(n)) { let p = on(Ko(n), T => LB(T, a, c)), h = Pp(a) & 4 ? Tl(n.target.elementFlags, T => T & 2 ? 1 : T) : n.target.elementFlags; return ap(p, h, n.target.readonly, n.target.labeledElementDeclarations) } let u = Bd(1040, void 0); return u.source = n, u.mappedType = a, u.constraintType = c, u } function JXe(n) { let a = Ai(n); return a.type || (a.type = LB(n.links.propertyType, n.links.mappedType, n.links.constraintType)), a.type } function LB(n, a, c) { let u = od(c.type, w_(a)), p = _h(a), h = ore(u); return gh([h], n, p), S2e(h) || ue } function* lre(n, a, c, u) { let p = Jo(a); for (let h of p) if (!yxe(h) && (c || !(h.flags & 16777216 || ac(h) & 48))) { let T = ja(n, h.escapedName); if (!T) yield h; else if (u) { let k = zn(h); if (k.flags & 109472) { let O = zn(T); O.flags & 1 || Hu(O) === Hu(k) || (yield h) } } } } function ure(n, a, c, u) { return u8(lre(n, a, c, u)) } function KXe(n, a) { return !(a.target.combinedFlags & 8) && a.target.minLength > n.target.minLength || !a.target.hasRestElement && (n.target.hasRestElement || a.target.fixedLength < n.target.fixedLength) } function qXe(n, a) { return po(n) && po(a) ? KXe(n, a) : !!ure(n, a, !1, !0) && !!ure(a, n, !1, !1) } function S2e(n) { return n.candidates ? Gr(n.candidates, 2) : n.contraCandidates ? so(n.contraCandidates) : void 0 } function dre(n) { return !!Rr(n).skipDirectInference } function x2e(n) { return !!(n.symbol && vt(n.symbol.declarations, dre)) } function XXe(n, a) { let c = n.texts[0], u = a.texts[0], p = n.texts[n.texts.length - 1], h = a.texts[a.texts.length - 1], T = Math.min(c.length, u.length), k = Math.min(p.length, h.length); return c.slice(0, T) !== u.slice(0, T) || p.slice(p.length - k) !== h.slice(h.length - k) } function A2e(n, a) { if (n === "") return !1; let c = +n; return isFinite(c) && (!a || "" + c === n) } function YXe(n) { return aB(BW(n)) } function fre(n, a) { if (a.flags & 1) return !0; if (a.flags & 134217732) return to(n, a); if (a.flags & 268435456) { let c = []; for (; a.flags & 268435456;)c.unshift(a.symbol), a = a.type; return ou(c, (p, h) => w1(h, p), n) === n && fre(n, a) } return !1 } function $Xe(n, a) { if (n === a || a.flags & 5) return !0; if (n.flags & 128) { let c = n.value; return !!(a.flags & 8 && A2e(c, !1) || a.flags & 64 && v4(c, !1) || a.flags & 98816 && c === a.intrinsicName || a.flags & 268435456 && fre(ff(c), a)) } if (n.flags & 134217728) { let c = n.texts; return c.length === 2 && c[0] === "" && c[1] === "" && to(n.types[0], a) } return to(n, a) } function C2e(n, a) { return n.flags & 128 ? I2e([n.value], Je, a) : n.flags & 134217728 ? GD(n.texts, a.texts) ? on(n.types, QXe) : I2e(n.texts, n.types, a) : void 0 } function _re(n, a) { let c = C2e(n, a); return !!c && Ji(c, (u, p) => $Xe(u, a.types[p])) } function QXe(n) { return n.flags & 402653317 ? n : WE(["", ""], [n]) } function I2e(n, a, c) { let u = n.length - 1, p = n[0], h = n[u], T = c.texts, k = T.length - 1, O = T[0], H = T[k]; if (u === 0 && p.length < O.length + H.length || !p.startsWith(O) || !h.endsWith(H)) return; let J = h.slice(0, h.length - H.length), de = [], Ae = 0, xe = O.length; for (let Tn = 1; Tn < k; Tn++) { let un = T[Tn]; if (un.length > 0) { let Nn = Ae, en = xe; for (; en = tt(Nn).indexOf(un, en), !(en >= 0);) { if (Nn++, Nn === n.length) return; en = 0 } It(Nn, en), xe += un.length } else if (xe < tt(Ae).length) It(Ae, xe + 1); else if (Ae < u) It(Ae + 1, 0); else return } return It(u, tt(u).length), de; function tt(Tn) { return Tn < u ? n[Tn] : J } function It(Tn, un) { let Nn = Tn === Ae ? ff(tt(Tn).slice(xe, un)) : WE([n[Ae].slice(xe), ...n.slice(Ae + 1, Tn), tt(Tn).slice(0, un)], a.slice(Ae, Tn)); de.push(Nn), Ae = Tn, xe = un } } function gh(n, a, c, u = 0, p = !1) { let h = !1, T, k = 2048, O = !0, H, J, de, Ae = 0; xe(a, c); function xe(In, qn) { if (XE(qn)) { if (In === Tt) { let Mi = T; T = In, xe(qn, qn), T = Mi; return } if (In.aliasSymbol && In.aliasSymbol === qn.aliasSymbol) { if (In.aliasTypeArguments) { let Mi = Ai(In.aliasSymbol).typeParameters, ga = Mp(Mi), Bi = Sy(In.aliasTypeArguments, Mi, ga, Yn(In.aliasSymbol.valueDeclaration)), ko = Sy(qn.aliasTypeArguments, Mi, ga, Yn(In.aliasSymbol.valueDeclaration)); en(Bi, ko, o2e(In.aliasSymbol)) } return } if (In === qn && In.flags & 3145728) { for (let Mi of In.types) xe(Mi, Mi); return } if (qn.flags & 1048576) { let [Mi, ga] = Nn(In.flags & 1048576 ? In.types : [In], qn.types, ZXe), [Bi, ko] = Nn(Mi, ga, eYe); if (ko.length === 0) return; if (qn = Gr(ko), Bi.length === 0) { tt(In, qn, 1); return } In = Gr(Bi) } else if (qn.flags & 2097152 && !Ji(qn.types, rB)) { if (!(In.flags & 1048576)) { let [Mi, ga] = Nn(In.flags & 2097152 ? In.types : [In], qn.types, ph); if (Mi.length === 0 || ga.length === 0) return; In = so(Mi), qn = so(ga) } } else qn.flags & 41943040 && (qn = Cy(qn)); if (qn.flags & 8650752) { if (x2e(In)) return; let Mi = Jt(qn); if (Mi) { if (Ur(In) & 262144 || In === ce) return; if (!Mi.isFixed) { if ((Mi.priority === void 0 || u < Mi.priority) && (Mi.candidates = void 0, Mi.contraCandidates = void 0, Mi.topLevel = !0, Mi.priority = u), u === Mi.priority) { let Bi = T || In; p && !h ? ya(Mi.contraCandidates, Bi) || (Mi.contraCandidates = Sn(Mi.contraCandidates, Bi), IB(n)) : ya(Mi.candidates, Bi) || (Mi.candidates = Sn(Mi.candidates, Bi), IB(n)) } !(u & 128) && qn.flags & 262144 && Mi.topLevel && !pD(c, qn) && (Mi.topLevel = !1, IB(n)) } k = Math.min(k, u); return } let ga = mg(qn, !1); if (ga !== qn) xe(In, ga); else if (qn.flags & 8388608) { let Bi = mg(qn.indexType, !1); if (Bi.flags & 465829888) { let ko = kAe(mg(qn.objectType, !1), Bi, !1); ko && ko !== qn && xe(In, ko) } } } if (Ur(In) & 4 && Ur(qn) & 4 && (In.target === qn.target || _f(In) && _f(qn)) && !(In.node && qn.node)) en(Ko(In), Ko(qn), zne(In.target)); else if (In.flags & 4194304 && qn.flags & 4194304) cn(In.type, qn.type); else if ((uD(In) || In.flags & 4) && qn.flags & 4194304) { let Mi = WXe(In); It(Mi, qn.type, 256) } else if (In.flags & 8388608 && qn.flags & 8388608) xe(In.objectType, qn.objectType), xe(In.indexType, qn.indexType); else if (In.flags & 268435456 && qn.flags & 268435456) In.symbol === qn.symbol && xe(In.type, qn.type); else if (In.flags & 33554432) xe(In.baseType, qn), tt(une(In), qn, 4); else if (qn.flags & 16777216) un(In, qn, Hr); else if (qn.flags & 3145728) Rn(In, qn.types, qn.flags); else if (In.flags & 1048576) { let Mi = In.types; for (let ga of Mi) xe(ga, qn) } else if (qn.flags & 134217728) qi(In, qn); else { if (In = O_(In), !(u & 512 && In.flags & 467927040)) { let Mi = Eu(In); if (Mi !== In && O && !(Mi.flags & 2621440)) return O = !1, xe(Mi, qn); In = Mi } In.flags & 2621440 && un(In, qn, wa) } } } function tt(In, qn, Mi) { let ga = u; u |= Mi, xe(In, qn), u = ga } function It(In, qn, Mi) { let ga = u; u |= Mi, cn(In, qn), u = ga } function Tn(In, qn, Mi, ga) { let Bi = u; u |= ga, Rn(In, qn, Mi), u = Bi } function un(In, qn, Mi) { let ga = In.id + "," + qn.id, Bi = H && H.get(ga); if (Bi !== void 0) { k = Math.min(k, Bi); return } (H || (H = new Map)).set(ga, -1); let ko = k; k = 2048; let us = Ae, Xs = AC(In), no = AC(qn); ya(J, Xs) && (Ae |= 1), ya(de, no) && (Ae |= 2), Ae !== 3 ? ((J || (J = [])).push(Xs), (de || (de = [])).push(no), Mi(In, qn), de.pop(), J.pop()) : k = -1, Ae = us, H.set(ga, k), k = Math.min(k, ko) } function Nn(In, qn, Mi) { let ga, Bi; for (let ko of qn) for (let us of In) Mi(us, ko) && (xe(us, ko), ga = xg(ga, us), Bi = xg(Bi, ko)); return [ga ? Pr(In, ko => !ya(ga, ko)) : In, Bi ? Pr(qn, ko => !ya(Bi, ko)) : qn] } function en(In, qn, Mi) { let ga = In.length < qn.length ? In.length : qn.length; for (let Bi = 0; Bi < ga; Bi++)Bi < Mi.length && (Mi[Bi] & 7) === 2 ? cn(In[Bi], qn[Bi]) : xe(In[Bi], qn[Bi]) } function cn(In, qn) { p = !p, xe(In, qn), p = !p } function rr(In, qn) { re || u & 1024 ? cn(In, qn) : xe(In, qn) } function Jt(In) { if (In.flags & 8650752) { for (let qn of n) if (In === qn.typeParameter) return qn } } function Cn(In) { let qn; for (let Mi of In) { let ga = Mi.flags & 2097152 && wr(Mi.types, Bi => !!Jt(Bi)); if (!ga || qn && ga !== qn) return; qn = ga } return qn } function Rn(In, qn, Mi) { let ga = 0; if (Mi & 1048576) { let Bi, ko = In.flags & 1048576 ? In.types : [In], us = new Array(ko.length), Xs = !1; for (let no of qn) if (Jt(no)) Bi = no, ga++; else for (let Tu = 0; Tu < ko.length; Tu++) { let et = k; k = 2048, xe(ko[Tu], no), k === u && (us[Tu] = !0), Xs = Xs || k === -1, k = Math.min(k, et) } if (ga === 0) { let no = Cn(qn); no && tt(In, no, 1); return } if (ga === 1 && !Xs) { let no = Uo(ko, (Tu, et) => us[et] ? void 0 : Tu); if (no.length) { xe(Gr(no), Bi); return } } } else for (let Bi of qn) Jt(Bi) ? ga++ : xe(In, Bi); if (Mi & 2097152 ? ga === 1 : ga > 0) for (let Bi of qn) Jt(Bi) && tt(In, Bi, 1) } function Br(In, qn, Mi) { if (Mi.flags & 1048576) { let ga = !1; for (let Bi of Mi.types) ga = Br(In, qn, Bi) || ga; return ga } if (Mi.flags & 4194304) { let ga = Jt(Mi.type); if (ga && !ga.isFixed && !x2e(In)) { let Bi = T2e(In, qn, Mi); Bi && tt(Bi, ga.typeParameter, Ur(In) & 262144 ? 16 : 8) } return !0 } if (Mi.flags & 262144) { tt(Gp(In), Mi, 32); let ga = VE(Mi); if (ga && Br(In, qn, ga)) return !0; let Bi = on(Jo(In), zn), ko = on(tu(In), us => us !== yu ? us.type : lt); return xe(Gr(Qi(Bi, ko)), _h(qn)), !0 } return !1 } function Hr(In, qn) { if (In.flags & 16777216) xe(In.checkType, qn.checkType), xe(In.extendsType, qn.extendsType), xe(Hv(In), Hv(qn)), xe(Wv(In), Wv(qn)); else { let Mi = [Hv(qn), Wv(qn)]; Tn(In, Mi, qn.flags, p ? 64 : 0) } } function qi(In, qn) { let Mi = C2e(In, qn), ga = qn.types; if (Mi || Ji(qn.texts, Bi => Bi.length === 0)) for (let Bi = 0; Bi < ga.length; Bi++) { let ko = Mi ? Mi[Bi] : lt, us = ga[Bi]; if (ko.flags & 128 && us.flags & 8650752) { let Xs = Jt(us), no = Xs ? bu(Xs.typeParameter) : void 0; if (no && !Zo(no)) { let Tu = no.flags & 1048576 ? no.types : [no], et = ou(Tu, (he, Bn) => he | Bn.flags, 0); if (!(et & 4)) { let he = ko.value; et & 296 && !A2e(he, !0) && (et &= -297), et & 2112 && !v4(he, !0) && (et &= -2113); let Bn = ou(Tu, (Mn, or) => or.flags & et ? Mn.flags & 4 ? Mn : or.flags & 4 ? ko : Mn.flags & 134217728 ? Mn : or.flags & 134217728 && _re(ko, or) ? ko : Mn.flags & 268435456 ? Mn : or.flags & 268435456 && he === CAe(or.symbol, he) ? ko : Mn.flags & 128 ? Mn : or.flags & 128 && or.value === he ? or : Mn.flags & 8 ? Mn : or.flags & 8 ? op(+he) : Mn.flags & 32 ? Mn : or.flags & 32 ? op(+he) : Mn.flags & 256 ? Mn : or.flags & 256 && or.value === +he ? or : Mn.flags & 64 ? Mn : or.flags & 64 ? YXe(he) : Mn.flags & 2048 ? Mn : or.flags & 2048 && j0(or.value) === he ? or : Mn.flags & 16 ? Mn : or.flags & 16 ? he === "true" ? pe : he === "false" ? Ke : Te : Mn.flags & 512 ? Mn : or.flags & 512 && or.intrinsicName === he ? or : Mn.flags & 32768 ? Mn : or.flags & 32768 && or.intrinsicName === he ? or : Mn.flags & 65536 ? Mn : or.flags & 65536 && or.intrinsicName === he ? or : Mn : Mn, lt); if (!(Bn.flags & 131072)) { xe(Bn, us); continue } } } } xe(ko, us) } } function wa(In, qn) { var Mi, ga; if (Ur(In) & 4 && Ur(qn) & 4 && (In.target === qn.target || _f(In) && _f(qn))) { en(Ko(In), Ko(qn), zne(In.target)); return } if (df(In) && df(qn)) { xe(rp(In), rp(qn)), xe(_h(In), _h(qn)); let Bi = by(In), ko = by(qn); Bi && ko && xe(Bi, ko) } if (Ur(qn) & 32 && !qn.declaration.nameType) { let Bi = rp(qn); if (Br(In, qn, Bi)) return } if (!qXe(In, qn)) { if (JE(In)) { if (po(qn)) { let Bi = Vv(In), ko = Vv(qn), us = Ko(qn), Xs = qn.target.elementFlags; if (po(In) && LXe(In, qn)) { for (let et = 0; et < ko; et++)xe(Ko(In)[et], us[et]); return } let no = po(In) ? Math.min(In.target.fixedLength, qn.target.fixedLength) : 0, Tu = Math.min(po(In) ? sM(In.target, 3) : 0, qn.target.hasRestElement ? sM(qn.target, 3) : 0); for (let et = 0; et < no; et++)xe(Ko(In)[et], us[et]); if (!po(In) || Bi - no - Tu === 1 && In.target.elementFlags[no] & 4) { let et = Ko(In)[no]; for (let he = no; he < ko - Tu; he++)xe(Xs[he] & 8 ? nu(et) : et, us[he]) } else { let et = ko - no - Tu; if (et === 2) { if (Xs[no] & Xs[no + 1] & 8) { let he = Jt(us[no]); he && he.impliedArity !== void 0 && (xe(EC(In, no, Tu + Bi - he.impliedArity), us[no]), xe(EC(In, no + he.impliedArity, Tu), us[no + 1])) } else if (Xs[no] & 8 && Xs[no + 1] & 4) { let he = (Mi = Jt(us[no])) == null ? void 0 : Mi.typeParameter, Bn = he && bu(he); if (Bn && po(Bn) && !Bn.target.hasRestElement) { let Mn = Bn.target.fixedLength; xe(EC(In, no, Bi - (no + Mn)), us[no]), xe(LC(In, no + Mn, Tu), us[no + 1]) } } else if (Xs[no] & 4 && Xs[no + 1] & 8) { let he = (ga = Jt(us[no + 1])) == null ? void 0 : ga.typeParameter, Bn = he && bu(he); if (Bn && po(Bn) && !Bn.target.hasRestElement) { let Mn = Bn.target.fixedLength, or = Bi - sM(qn.target, 3), _r = or - Mn, ua = ap(Ko(In).slice(_r, or), In.target.elementFlags.slice(_r, or), !1, In.target.labeledElementDeclarations && In.target.labeledElementDeclarations.slice(_r, or)); xe(LC(In, no, Tu + Mn), us[no]), xe(ua, us[no + 1]) } } } else if (et === 1 && Xs[no] & 8) { let he = qn.target.elementFlags[ko - 1] & 2, Bn = EC(In, no, Tu); tt(Bn, us[no], he ? 2 : 0) } else if (et === 1 && Xs[no] & 4) { let he = LC(In, no, Tu); he && xe(he, us[no]) } } for (let et = 0; et < Tu; et++)xe(Ko(In)[Bi - et - 1], us[ko - et - 1]); return } if (_f(qn)) { ji(In, qn); return } } Xc(In, qn), pf(In, qn, 0), pf(In, qn, 1), ji(In, qn) } } function Xc(In, qn) { let Mi = Ey(qn); for (let ga of Mi) { let Bi = ja(In, ga.escapedName); Bi && !vt(Bi.declarations, dre) && xe(zn(Bi), zn(ga)) } } function pf(In, qn, Mi) { let ga = xa(In, Mi), Bi = xa(qn, Mi), ko = ga.length, us = Bi.length, Xs = ko < us ? ko : us; for (let no = 0; no < Xs; no++)Hd(oKe(ga[ko - Xs + no]), tD(Bi[us - Xs + no])) } function Hd(In, qn) { let Mi = h, ga = qn.declaration ? qn.declaration.kind : 0; h = h || ga === 171 || ga === 170 || ga === 173, rre(In, qn, rr), h = Mi, ire(In, qn, xe) } function ji(In, qn) { let Mi = Ur(In) & Ur(qn) & 32 ? 8 : 0, ga = tu(qn); if (xB(In)) for (let Bi of ga) { let ko = []; for (let us of Jo(In)) if (Vx(TC(us, 8576), Bi.keyType)) { let Xs = zn(us); ko.push(us.flags & 16777216 ? tre(Xs) : Xs) } for (let us of tu(In)) Vx(us.keyType, Bi.keyType) && ko.push(us.type); ko.length && tt(Gr(ko), Bi.type, Mi) } for (let Bi of ga) { let ko = rM(In, Bi.keyType); ko && tt(ko.type, Bi.type, Mi) } } } function ZXe(n, a) { return a === Ge ? n === a : ph(n, a) || !!(a.flags & 4 && n.flags & 128 || a.flags & 8 && n.flags & 256) } function eYe(n, a) { return !!(n.flags & 524288 && a.flags & 524288 && n.symbol && n.symbol === a.symbol || n.aliasSymbol && n.aliasTypeArguments && n.aliasSymbol === a.aliasSymbol) } function tYe(n) { let a = eu(n); return !!a && Js(a.flags & 16777216 ? Hte(a) : a, 406978556) } function Xv(n) { return !!(Ur(n) & 128) } function pre(n) { return !!(Ur(n) & 16512) } function nYe(n) { if (n.length > 1) { let a = Pr(n, pre); if (a.length) { let c = Gr(a, 2); return Qi(Pr(n, u => !pre(u)), [c]) } } return n } function rYe(n) { return n.priority & 416 ? so(n.contraCandidates) : EXe(n.contraCandidates) } function iYe(n, a) { let c = nYe(n.candidates), u = tYe(n.typeParameter) || tM(n.typeParameter), p = !u && n.topLevel && (n.isFixed || !HXe(a, n.typeParameter)), h = u ? Tl(c, Hu) : p ? Tl(c, i0) : c, T = n.priority & 416 ? Gr(h, 2) : bXe(h); return Sd(T) } function mre(n, a) { let c = n.inferences[a]; if (!c.inferredType) { let u, p = n.signature; if (p) { let T = c.candidates ? iYe(c, p) : void 0; if (c.contraCandidates) u = T && !(T.flags & 131072) && vt(c.contraCandidates, O => Iy(T, O)) && Ji(n.inferences, O => O !== c && eu(O.typeParameter) !== c.typeParameter || Ji(O.candidates, H => Iy(H, T))) ? T : rYe(c); else if (T) u = T; else if (n.flags & 1) u = Qe; else { let k = jE(c.typeParameter); k && (u = Oi(k, Nqe(Oqe(n, a), n.nonFixingMapper))) } } else u = S2e(c); c.inferredType = u || hre(!!(n.flags & 2)); let h = eu(c.typeParameter); if (h) { let T = Oi(h, n.nonFixingMapper); (!u || !n.compareTypes(u, uf(T, u))) && (c.inferredType = u = T) } } return c.inferredType } function hre(n) { return n ? Se : ue } function gre(n) { let a = []; for (let c = 0; c < n.inferences.length; c++)a.push(mre(n, c)); return a } function L2e(n) { switch (n.escapedText) { case "document": case "console": return _.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom; case "$": return Y.types ? _.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig : _.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery; case "describe": case "suite": case "it": case "test": return Y.types ? _.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig : _.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha; case "process": case "require": case "Buffer": case "module": return Y.types ? _.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig : _.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode; case "Map": case "Set": case "Promise": case "Symbol": case "WeakMap": case "WeakSet": case "Iterator": case "AsyncIterator": case "SharedArrayBuffer": case "Atomics": case "AsyncIterable": case "AsyncIterableIterator": case "AsyncGenerator": case "AsyncGeneratorFunction": case "BigInt": case "Reflect": case "BigInt64Array": case "BigUint64Array": return _.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later; case "await": if (Pa(n.parent)) return _.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function; default: return n.parent.kind === 300 ? _.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer : _.Cannot_find_name_0 } } function Qf(n) { let a = Rr(n); return a.resolvedSymbol || (a.resolvedSymbol = !rc(n) && zs(n, n.escapedText, 1160127, L2e(n), n, !hW(n), !1) || Ht), a.resolvedSymbol } function kC(n) { return !!jn(n, a => a.kind === 183 ? !0 : a.kind === 79 || a.kind === 163 ? !1 : "quit") } function k2e(n) { return !!(n.flags & 16777216 || jn(n, a => ku(a) || Rd(a))) } function kB(n, a, c, u) { switch (n.kind) { case 79: if (!mS(n)) { let T = Qf(n); return T !== Ht ? `${u ? zo(u) : "-1"}|${ru(a)}|${ru(c)}|${$a(T)}` : void 0 } case 108: return `0|${u ? zo(u) : "-1"}|${ru(a)}|${ru(c)}`; case 232: case 214: return kB(n.expression, a, c, u); case 163: let p = kB(n.left, a, c, u); return p && p + "." + n.right.escapedText; case 208: case 209: let h = YE(n); if (h !== void 0) { let T = kB(n.expression, a, c, u); return T && T + "." + h } break; case 203: case 204: case 259: case 215: case 216: case 171: return `${zo(n)}#${ru(a)}` } } function El(n, a) { switch (a.kind) { case 214: case 232: return El(n, a.expression); case 223: return Iu(a) && El(n, a.left) || ar(a) && a.operatorToken.kind === 27 && El(n, a.right) }switch (n.kind) { case 233: return a.kind === 233 && n.keywordToken === a.keywordToken && n.name.escapedText === a.name.escapedText; case 79: case 80: return mS(n) ? a.kind === 108 : a.kind === 79 && Qf(n) === Qf(a) || (wi(a) || Wo(a)) && tp(Qf(n)) === fr(a); case 108: return a.kind === 108; case 106: return a.kind === 106; case 232: case 214: return El(n.expression, a); case 208: case 209: let c = YE(n), u = Us(a) ? YE(a) : void 0; return c !== void 0 && u !== void 0 && u === c && El(n.expression, a.expression); case 163: return Us(a) && n.right.escapedText === YE(a) && El(n.left, a.expression); case 223: return ar(n) && n.operatorToken.kind === 27 && El(n.right, a) }return !1 } function YE(n) { if (br(n)) return n.name.escapedText; if (Vs(n)) return aYe(n); if (Wo(n)) { let a = dn(n); return a ? Bs(a) : void 0 } if (ha(n)) return "" + n.parent.parameters.indexOf(n) } function D2e(n) { return n.flags & 8192 ? n.escapedName : n.flags & 384 ? Bs("" + n.value) : void 0 } function aYe(n) { if (yf(n.argumentExpression)) return Bs(n.argumentExpression.text); if (bc(n.argumentExpression)) { let a = uc(n.argumentExpression, 111551, !0); if (!a || !(wC(a) || a.flags & 8)) return; let c = a.valueDeclaration; if (c === void 0) return; let u = ad(c); if (u) { let p = D2e(u); if (p !== void 0) return p } if (mT(c) && $h(c, n.argumentExpression)) { let p = Yw(c); if (p) return D2e(au(p)); if (q0(c)) return wA(c.name) } } } function w2e(n, a) { for (; Us(n);)if (n = n.expression, El(n, a)) return !0; return !1 } function P1(n, a) { for (; Jl(n);)if (n = n.expression, El(n, a)) return !0; return !1 } function mD(n, a) { if (n && n.flags & 1048576) { let c = Kte(n, a); if (c && ac(c) & 2) return c.links.isDiscriminantProperty === void 0 && (c.links.isDiscriminantProperty = (c.links.checkFlags & 192) === 192 && !SC(zn(c))), !!c.links.isDiscriminantProperty } return !1 } function R2e(n, a) { let c; for (let u of n) if (mD(a, u.escapedName)) { if (c) { c.push(u); continue } c = [u] } return c } function oYe(n, a) { let c = new Map, u = 0; for (let p of n) if (p.flags & 61603840) { let h = Vc(p, a); if (h) { if (!uD(h)) return; let T = !1; QE(h, k => { let O = ru(Hu(k)), H = c.get(O); H ? H !== ue && (c.set(O, ue), T = !0) : c.set(O, p) }), T || u++ } } return u >= 10 && u * 2 >= n.length ? c : void 0 } function TM(n) { let a = n.types; if (!(a.length < 10 || Ur(n) & 32768 || Oy(a, c => !!(c.flags & 59506688)) < 10)) { if (n.keyPropertyName === void 0) { let c = mn(a, p => p.flags & 59506688 ? mn(Jo(p), h => N_(zn(h)) ? h.escapedName : void 0) : void 0), u = c && oYe(a, c); n.keyPropertyName = u ? c : "", n.constituentMap = u } return n.keyPropertyName.length ? n.keyPropertyName : void 0 } } function SM(n, a) { var c; let u = (c = n.constituentMap) == null ? void 0 : c.get(ru(Hu(a))); return u !== ue ? u : void 0 } function O2e(n, a) { let c = TM(n), u = c && Vc(a, c); return u && SM(n, u) } function sYe(n, a) { let c = TM(n), u = c && wr(a.properties, h => h.symbol && h.kind === 299 && h.symbol.escapedName === c && DM(h.initializer)), p = u && KM(u.initializer); return p && SM(n, p) } function N2e(n, a) { return El(n, a) || w2e(n, a) } function P2e(n, a) { if (n.arguments) { for (let c of n.arguments) if (N2e(a, c)) return !0 } return !!(n.expression.kind === 208 && N2e(a, n.expression.expression)) } function yre(n) { return (!n.id || n.id < 0) && (n.id = gK, gK++), n.id } function cYe(n, a) { if (!(n.flags & 1048576)) return to(n, a); for (let c of n.types) if (to(c, a)) return !0; return !1 } function lYe(n, a) { var c; if (n === a) return n; if (a.flags & 131072) return a; let u = `A${ru(n)},${ru(a)}`; return (c = wb(u)) != null ? c : qh(u, uYe(n, a)) } function uYe(n, a) { let c = jc(n, p => cYe(a, p)), u = a.flags & 512 && t0(a) ? Ls(c, Yx) : c; return to(a, u) ? u : n } function vre(n) { let a = R_(n); return !!(a.callSignatures.length || a.constructSignatures.length || a.members.get("bind") && Iy(n, Hs)) } function iu(n) { n.flags & 467927040 && (n = bu(n) || ue); let a = n.flags; if (a & 268435460) return U ? 16317953 : 16776705; if (a & 134217856) { let c = a & 128 && n.value === ""; return U ? c ? 12123649 : 7929345 : c ? 12582401 : 16776705 } if (a & 40) return U ? 16317698 : 16776450; if (a & 256) { let c = n.value === 0; return U ? c ? 12123394 : 7929090 : c ? 12582146 : 16776450 } if (a & 64) return U ? 16317188 : 16775940; if (a & 2048) { let c = p2e(n); return U ? c ? 12122884 : 7928580 : c ? 12581636 : 16775940 } return a & 16 ? U ? 16316168 : 16774920 : a & 528 ? U ? n === Ke || n === oe ? 12121864 : 7927560 : n === Ke || n === oe ? 12580616 : 16774920 : a & 524288 ? Ur(n) & 16 && mh(n) ? U ? 83427327 : 83886079 : vre(n) ? U ? 7880640 : 16728e3 : U ? 7888800 : 16736160 : a & 16384 ? 9830144 : a & 32768 ? 26607360 : a & 65536 ? 42917664 : a & 12288 ? U ? 7925520 : 16772880 : a & 67108864 ? U ? 7888800 : 16736160 : a & 131072 ? 0 : a & 1048576 ? ou(n.types, (c, u) => c | iu(u), 0) : a & 2097152 ? dYe(n) : 83886079 } function dYe(n) { let a = Js(n, 134348796), c = 0, u = 134217727; for (let p of n.types) if (!(a && p.flags & 524288)) { let h = iu(p); c |= h, u &= h } return c & 8256 | u & 134209471 } function wf(n, a) { return jc(n, c => (iu(c) & a) !== 0) } function $E(n, a) { let c = M2e(wf(U && n.flags & 2 ? hc : n, a)); if (U) switch (a) { case 524288: return Ls(c, u => iu(u) & 65536 ? so([u, iu(u) & 131072 && !Js(c, 65536) ? Gr([Ki, ln]) : Ki]) : u); case 1048576: return Ls(c, u => iu(u) & 131072 ? so([u, iu(u) & 65536 && !Js(c, 32768) ? Gr([Ki, Oe]) : Ki]) : u); case 2097152: case 4194304: return Ls(c, u => iu(u) & 262144 ? wXe(u) : u) }return c } function M2e(n) { return n === hc ? ue : n } function bre(n, a) { return a ? Gr([me(n), au(a)]) : n } function F2e(n, a) { var c; let u = pg(a); if (!fh(u)) return ve; let p = Np(u); return Vc(n, p) || hD((c = jx(n, p)) == null ? void 0 : c.type) || ve } function G2e(n, a) { return Im(n, IC) && TXe(n, a) || hD(wy(65, n, Oe, void 0)) || ve } function hD(n) { return n && (Y.noUncheckedIndexedAccess ? Gr([n, Ge]) : n) } function B2e(n) { return nu(wy(65, n, Oe, void 0) || ve) } function fYe(n) { return n.parent.kind === 206 && Ere(n.parent) || n.parent.kind === 299 && Ere(n.parent.parent) ? bre(xM(n), n.right) : au(n.right) } function Ere(n) { return n.parent.kind === 223 && n.parent.left === n || n.parent.kind === 247 && n.parent.initializer === n } function _Ye(n, a) { return G2e(xM(n), n.elements.indexOf(a)) } function pYe(n) { return B2e(xM(n.parent)) } function U2e(n) { return F2e(xM(n.parent), n.name) } function mYe(n) { return bre(U2e(n), n.objectAssignmentInitializer) } function xM(n) { let { parent: a } = n; switch (a.kind) { case 246: return ae; case 247: return e8(a) || ve; case 223: return fYe(a); case 217: return Oe; case 206: return _Ye(a, n); case 227: return pYe(a); case 299: return U2e(a); case 300: return mYe(a) }return ve } function hYe(n) { let a = n.parent, c = j2e(a.parent), u = a.kind === 203 ? F2e(c, n.propertyName || n.name) : n.dotDotDotToken ? B2e(c) : G2e(c, a.elements.indexOf(n)); return bre(u, n.initializer) } function V2e(n) { return Rr(n).resolvedType || au(n) } function gYe(n) { return n.initializer ? V2e(n.initializer) : n.parent.parent.kind === 246 ? ae : n.parent.parent.kind === 247 && e8(n.parent.parent) || ve } function j2e(n) { return n.kind === 257 ? gYe(n) : hYe(n) } function yYe(n) { return n.kind === 257 && n.initializer && is(n.initializer) || n.kind !== 205 && n.parent.kind === 223 && is(n.parent.right) } function a0(n) { switch (n.kind) { case 214: return a0(n.expression); case 223: switch (n.operatorToken.kind) { case 63: case 75: case 76: case 77: return a0(n.left); case 27: return a0(n.right) } }return n } function H2e(n) { let { parent: a } = n; return a.kind === 214 || a.kind === 223 && a.operatorToken.kind === 63 && a.left === n || a.kind === 223 && a.operatorToken.kind === 27 && a.right === n ? H2e(a) : n } function vYe(n) { return n.kind === 292 ? Hu(au(n.expression)) : lt } function DB(n) { let a = Rr(n); if (!a.switchTypes) { a.switchTypes = []; for (let c of n.caseBlock.clauses) a.switchTypes.push(vYe(c)) } return a.switchTypes } function W2e(n) { if (vt(n.caseBlock.clauses, c => c.kind === 292 && !es(c.expression))) return; let a = []; for (let c of n.caseBlock.clauses) { let u = c.kind === 292 ? c.expression.text : void 0; a.push(u && !ya(a, u) ? u : void 0) } return a } function bYe(n, a) { return n.flags & 1048576 ? !mn(n.types, c => !ya(a, c)) : ya(a, n) } function gD(n, a) { return n === a || a.flags & 1048576 && EYe(n, a) } function EYe(n, a) { if (n.flags & 1048576) { for (let c of n.types) if (!Qb(a.types, c)) return !1; return !0 } return n.flags & 1056 && Kk(n) === a ? !0 : Qb(a.types, n) } function QE(n, a) { return n.flags & 1048576 ? mn(n.types, a) : a(n) } function yh(n, a) { return n.flags & 1048576 ? vt(n.types, a) : a(n) } function Im(n, a) { return n.flags & 1048576 ? Ji(n.types, a) : a(n) } function TYe(n, a) { return n.flags & 3145728 ? Ji(n.types, a) : a(n) } function jc(n, a) { if (n.flags & 1048576) { let c = n.types, u = Pr(c, a); if (u === c) return n; let p = n.origin, h; if (p && p.flags & 1048576) { let T = p.types, k = Pr(T, O => !!(O.flags & 1048576) || a(O)); if (T.length - k.length === c.length - u.length) { if (k.length === 1) return k[0]; h = bne(1048576, k) } } return Tne(u, n.objectFlags & 16809984, void 0, void 0, h) } return n.flags & 131072 || a(n) ? n : lt } function wB(n, a) { return jc(n, c => c !== a) } function SYe(n) { return n.flags & 1048576 ? n.types.length : 1 } function Ls(n, a, c) { if (n.flags & 131072) return n; if (!(n.flags & 1048576)) return a(n); let u = n.origin, p = u && u.flags & 1048576 ? u.types : n.types, h, T = !1; for (let k of p) { let O = k.flags & 1048576 ? Ls(k, a, c) : a(k); T || (T = k !== O), O && (h ? h.push(O) : h = [O]) } return T ? h && Gr(h, c ? 0 : 1) : n } function z2e(n, a, c, u) { return n.flags & 1048576 && c ? Gr(on(n.types, a), 1, c, u) : Ls(n, a) } function DC(n, a) { return jc(n, c => (c.flags & a) !== 0) } function J2e(n, a) { return Js(n, 134217804) && Js(a, 402655616) ? Ls(n, c => c.flags & 4 ? DC(a, 402653316) : qx(c) && !Js(a, 402653188) ? DC(a, 128) : c.flags & 8 ? DC(a, 264) : c.flags & 64 ? DC(a, 2112) : c) : n } function Zx(n) { return n.flags === 0 } function ZE(n) { return n.flags === 0 ? n.type : n } function eA(n, a) { return a ? { flags: 0, type: n.flags & 131072 ? Qe : n } : n } function xYe(n) { let a = Bd(256); return a.elementType = n, a } function Tre(n) { return hi[n.id] || (hi[n.id] = xYe(n)) } function K2e(n, a) { let c = EM(ky(KM(a))); return gD(c, n.elementType) ? n : Tre(Gr([n.elementType, c])) } function AYe(n) { return n.flags & 131072 ? bn : nu(n.flags & 1048576 ? Gr(n.types, 2) : n) } function CYe(n) { return n.finalArrayType || (n.finalArrayType = AYe(n.elementType)) } function AM(n) { return Ur(n) & 256 ? CYe(n) : n } function IYe(n) { return Ur(n) & 256 ? n.elementType : lt } function LYe(n) { let a = !1; for (let c of n) if (!(c.flags & 131072)) { if (!(Ur(c) & 256)) return !1; a = !0 } return a } function q2e(n) { let a = H2e(n), c = a.parent, u = br(c) && (c.name.escapedText === "length" || c.parent.kind === 210 && Re(c.name) && jH(c.name)), p = c.kind === 209 && c.expression === a && c.parent.kind === 223 && c.parent.operatorToken.kind === 63 && c.parent.left === c && !Um(c.parent) && ul(au(c.argumentExpression), 296); return u || p } function kYe(n) { return (wi(n) || Na(n) || $d(n) || ha(n)) && !!(Cl(n) || Yn(n) && Jy(n) && n.initializer && a2(n.initializer) && U_(n.initializer)) } function RB(n, a) { if (n = Ac(n), n.flags & 8752) return zn(n); if (n.flags & 7) { if (ac(n) & 262144) { let u = n.links.syntheticOrigin; if (u && RB(u)) return zn(n) } let c = n.valueDeclaration; if (c) { if (kYe(c)) return zn(n); if (wi(c) && c.parent.parent.kind === 247) { let u = c.parent.parent, p = CM(u.expression, void 0); if (p) { let h = u.awaitModifier ? 15 : 13; return wy(h, p, Oe, void 0) } } a && Ao(a, hr(c, _._0_needs_an_explicit_type_annotation, E(n))) } } } function CM(n, a) { if (!(n.flags & 33554432)) switch (n.kind) { case 79: let c = tp(Qf(n)); return RB(c, a); case 108: return qYe(n); case 106: return Ire(n); case 208: { let u = CM(n.expression, a); if (u) { let p = n.name, h; if (pi(p)) { if (!u.symbol) return; h = ja(u, hR(u.symbol, p.escapedText)) } else h = ja(u, p.escapedText); return h && RB(h, a) } return } case 214: return CM(n.expression, a) } } function OB(n) { let a = Rr(n), c = a.effectsSignature; if (c === void 0) { let u; n.parent.kind === 241 ? u = CM(n.expression, void 0) : n.expression.kind !== 106 && (Jl(n) ? u = sp(dD(Yi(n.expression), n.expression), n.expression) : u = NC(n.expression)); let p = xa(u && Eu(u) || ue, 0), h = p.length === 1 && !p[0].typeParameters ? p[0] : vt(p, X2e) ? MC(n) : void 0; c = a.effectsSignature = h && X2e(h) ? h : jt } return c === jt ? void 0 : c } function X2e(n) { return !!(Lf(n) || n.declaration && (Hx(n.declaration) || ue).flags & 131072) } function DYe(n, a) { if (n.kind === 1 || n.kind === 3) return a.arguments[n.parameterIndex]; let c = vs(a.expression); return Us(c) ? vs(c.expression) : void 0 } function wYe(n) { let a = jn(n, Bj), c = Gn(n), u = Pg(c, a.statements.pos); Lo.add(al(c, u.start, u.length, _.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis)) } function IM(n) { let a = NB(n, !1); return $t = n, Xn = a, a } function LM(n) { let a = vs(n, !0); return a.kind === 95 || a.kind === 223 && (a.operatorToken.kind === 55 && (LM(a.left) || LM(a.right)) || a.operatorToken.kind === 56 && LM(a.left) && LM(a.right)) } function NB(n, a) { for (; ;) { if (n === $t) return Xn; let c = n.flags; if (c & 4096) { if (!a) { let u = yre(n), p = vx[u]; return p !== void 0 ? p : vx[u] = NB(n, !0) } a = !1 } if (c & 368) n = n.antecedent; else if (c & 512) { let u = OB(n.node); if (u) { let p = Lf(u); if (p && p.kind === 3 && !p.type) { let h = n.node.arguments[p.parameterIndex]; if (h && LM(h)) return !1 } if (qo(u).flags & 131072) return !1 } n = n.antecedent } else { if (c & 4) return vt(n.antecedents, u => NB(u, !1)); if (c & 8) { let u = n.antecedents; if (u === void 0 || u.length === 0) return !1; n = u[0] } else if (c & 128) { if (n.clauseStart === n.clauseEnd && xIe(n.switchStatement)) return !1; n = n.antecedent } else if (c & 1024) { $t = void 0; let u = n.target, p = u.antecedents; u.antecedents = n.antecedents; let h = NB(n.antecedent, !1); return u.antecedents = p, h } else return !(c & 1) } } } function PB(n, a) { for (; ;) { let c = n.flags; if (c & 4096) { if (!a) { let u = yre(n), p = _E[u]; return p !== void 0 ? p : _E[u] = PB(n, !0) } a = !1 } if (c & 496) n = n.antecedent; else if (c & 512) { if (n.node.expression.kind === 106) return !0; n = n.antecedent } else { if (c & 4) return Ji(n.antecedents, u => PB(u, !1)); if (c & 8) n = n.antecedents[0]; else if (c & 1024) { let u = n.target, p = u.antecedents; u.antecedents = n.antecedents; let h = PB(n.antecedent, !1); return u.antecedents = p, h } else return !!(c & 1) } } } function Y2e(n) { switch (n.kind) { case 79: if (!mS(n)) { let a = Qf(n); return wC(a) || VW(a) && !MB(a) } break; case 208: case 209: return Y2e(n.expression) && M_(Rr(n).resolvedSymbol || Ht) }return !1 } function Yv(n, a, c = a, u, p = (h => (h = zr(n, cR)) == null ? void 0 : h.flowNode)()) { let h, T = !1, k = 0; if (ki) return ve; if (!p) return a; Vn++; let O = kr, H = ZE(Ae(p)); kr = O; let J = Ur(H) & 256 && q2e(n) ? bn : AM(H); if (J === Hn || n.parent && n.parent.kind === 232 && !(J.flags & 131072) && wf(J, 2097152).flags & 131072) return a; return J === G ? ue : J; function de() { return T ? h : (T = !0, h = kB(n, a, c, u)) } function Ae(st) { var Ct; if (k === 2e3) return (Ct = ai) == null || Ct.instant(ai.Phase.CheckTypes, "getTypeAtFlowNode_DepthLimit", { flowId: st.id }), ki = !0, wYe(n), ve; k++; let Bt; for (; ;) { let Ft = st.flags; if (Ft & 4096) { for (let Un = O; Un < kr; Un++)if (fE[Un] === st) return k--, yv[Un]; Bt = st } let hn; if (Ft & 16) { if (hn = tt(st), !hn) { st = st.antecedent; continue } } else if (Ft & 512) { if (hn = Tn(st), !hn) { st = st.antecedent; continue } } else if (Ft & 96) hn = Nn(st); else if (Ft & 128) hn = en(st); else if (Ft & 12) { if (st.antecedents.length === 1) { st = st.antecedents[0]; continue } hn = Ft & 4 ? cn(st) : rr(st) } else if (Ft & 256) { if (hn = un(st), !hn) { st = st.antecedent; continue } } else if (Ft & 1024) { let Un = st.target, yi = Un.antecedents; Un.antecedents = st.antecedents, hn = Ae(st.antecedent), Un.antecedents = yi } else if (Ft & 2) { let Un = st.node; if (Un && Un !== u && n.kind !== 208 && n.kind !== 209 && n.kind !== 108) { st = Un.flowNode; continue } hn = c } else hn = PD(a); return Bt && (fE[kr] = Bt, yv[kr] = hn, kr++), k--, hn } } function xe(st) { let Ct = st.node; return Sre(Ct.kind === 257 || Ct.kind === 205 ? j2e(Ct) : xM(Ct), n) } function tt(st) { let Ct = st.node; if (El(n, Ct)) { if (!IM(st)) return Hn; if (xT(Ct) === 2) { let Bt = Ae(st.antecedent); return eA(ky(ZE(Bt)), Zx(Bt)) } if (a === at || a === bn) { if (yYe(Ct)) return Tre(lt); let Bt = i0(xe(st)); return to(Bt, a) ? Bt : Et } return a.flags & 1048576 ? lYe(a, xe(st)) : a } if (w2e(n, Ct)) { if (!IM(st)) return Hn; if (wi(Ct) && (Yn(Ct) || kh(Ct))) { let Bt = $w(Ct); if (Bt && (Bt.kind === 215 || Bt.kind === 216)) return Ae(st.antecedent) } return a } if (wi(Ct) && Ct.parent.parent.kind === 246 && (El(n, Ct.parent.parent.expression) || P1(Ct.parent.parent.expression, n))) return Wre(AM(ZE(Ae(st.antecedent)))) } function It(st, Ct) { let Bt = vs(Ct, !0); if (Bt.kind === 95) return Hn; if (Bt.kind === 223) { if (Bt.operatorToken.kind === 55) return It(It(st, Bt.left), Bt.right); if (Bt.operatorToken.kind === 56) return Gr([It(st, Bt.left), It(st, Bt.right)]) } return _i(st, Bt, !0) } function Tn(st) { let Ct = OB(st.node); if (Ct) { let Bt = Lf(Ct); if (Bt && (Bt.kind === 2 || Bt.kind === 3)) { let Ft = Ae(st.antecedent), hn = AM(ZE(Ft)), Un = Bt.type ? ua(hn, Bt, st.node, !0) : Bt.kind === 3 && Bt.parameterIndex >= 0 && Bt.parameterIndex < st.node.arguments.length ? It(hn, st.node.arguments[Bt.parameterIndex]) : hn; return Un === hn ? Ft : eA(Un, Zx(Ft)) } if (qo(Ct).flags & 131072) return Hn } } function un(st) { if (a === at || a === bn) { let Ct = st.node, Bt = Ct.kind === 210 ? Ct.expression.expression : Ct.left.expression; if (El(n, a0(Bt))) { let Ft = Ae(st.antecedent), hn = ZE(Ft); if (Ur(hn) & 256) { let Un = hn; if (Ct.kind === 210) for (let yi of Ct.arguments) Un = K2e(Un, yi); else { let yi = KM(Ct.left.argumentExpression); ul(yi, 296) && (Un = K2e(Un, Ct.right)) } return Un === hn ? Ft : eA(Un, Zx(Ft)) } return Ft } } } function Nn(st) { let Ct = Ae(st.antecedent), Bt = ZE(Ct); if (Bt.flags & 131072) return Ct; let Ft = (st.flags & 32) !== 0, hn = AM(Bt), Un = _i(hn, st.node, Ft); return Un === hn ? Ct : eA(Un, Zx(Ct)) } function en(st) { let Ct = st.switchStatement.expression, Bt = Ae(st.antecedent), Ft = ZE(Bt); if (El(n, Ct)) Ft = ko(Ft, st.switchStatement, st.clauseStart, st.clauseEnd); else if (Ct.kind === 218 && El(n, Ct.expression)) Ft = no(Ft, st.switchStatement, st.clauseStart, st.clauseEnd); else { U && (P1(Ct, n) ? Ft = Bi(Ft, st.switchStatement, st.clauseStart, st.clauseEnd, Un => !(Un.flags & 163840)) : Ct.kind === 218 && P1(Ct.expression, n) && (Ft = Bi(Ft, st.switchStatement, st.clauseStart, st.clauseEnd, Un => !(Un.flags & 131072 || Un.flags & 128 && Un.value === "undefined")))); let hn = Rn(Ct, Ft); hn && (Ft = qi(Ft, hn, st.switchStatement, st.clauseStart, st.clauseEnd)) } return eA(Ft, Zx(Bt)) } function cn(st) { let Ct = [], Bt = !1, Ft = !1, hn; for (let Un of st.antecedents) { if (!hn && Un.flags & 128 && Un.clauseStart === Un.clauseEnd) { hn = Un; continue } let yi = Ae(Un), Di = ZE(yi); if (Di === a && a === c) return Di; Of(Ct, Di), gD(Di, a) || (Bt = !0), Zx(yi) && (Ft = !0) } if (hn) { let Un = Ae(hn), yi = ZE(Un); if (!(yi.flags & 131072) && !ya(Ct, yi) && !xIe(hn.switchStatement)) { if (yi === a && a === c) return yi; Ct.push(yi), gD(yi, a) || (Bt = !0), Zx(Un) && (Ft = !0) } } return eA(Jt(Ct, Bt ? 2 : 1), Ft) } function rr(st) { let Ct = yre(st), Bt = zh[Ct] || (zh[Ct] = new Map), Ft = de(); if (!Ft) return a; let hn = Bt.get(Ft); if (hn) return hn; for (let er = sn; er < Dn; er++)if (p1[er] === st && uE[er] === Ft && dE[er].length) return eA(Jt(dE[er], 1), !0); let Un = [], yi = !1, Di; for (let er of st.antecedents) { let Sr; if (!Di) Sr = Di = Ae(er); else { p1[Dn] = st, uE[Dn] = Ft, dE[Dn] = Un, Dn++; let Ii = ra; ra = void 0, Sr = Ae(er), ra = Ii, Dn--; let Bo = Bt.get(Ft); if (Bo) return Bo } let Dr = ZE(Sr); if (Of(Un, Dr), gD(Dr, a) || (yi = !0), Dr === a) break } let Xt = Jt(Un, yi ? 2 : 1); return Zx(Di) ? eA(Xt, !0) : (Bt.set(Ft, Xt), Xt) } function Jt(st, Ct) { if (LYe(st)) return Tre(Gr(on(st, IYe))); let Bt = M2e(Gr(Tl(st, AM), Ct)); return Bt !== a && Bt.flags & a.flags & 1048576 && GD(Bt.types, a.types) ? a : Bt } function Cn(st) { if (La(n) || a2(n) || s_(n)) { if (Re(st)) { let Bt = Qf(st).valueDeclaration; if (Bt && (Wo(Bt) || ha(Bt)) && n === Bt.parent && !Bt.initializer && !Bt.dotDotDotToken) return Bt } } else if (Us(st)) { if (El(n, st.expression)) return st } else if (Re(st)) { let Ct = Qf(st); if (wC(Ct)) { let Bt = Ct.valueDeclaration; if (wi(Bt) && !Bt.type && Bt.initializer && Us(Bt.initializer) && El(n, Bt.initializer.expression)) return Bt.initializer; if (Wo(Bt) && !Bt.initializer) { let Ft = Bt.parent.parent; if (wi(Ft) && !Ft.type && Ft.initializer && (Re(Ft.initializer) || Us(Ft.initializer)) && El(n, Ft.initializer)) return Bt } } } } function Rn(st, Ct) { let Bt = a.flags & 1048576 ? a : Ct; if (Bt.flags & 1048576) { let Ft = Cn(st); if (Ft) { let hn = YE(Ft); if (hn && mD(Bt, hn)) return Ft } } } function Br(st, Ct, Bt) { let Ft = YE(Ct); if (Ft === void 0) return st; let hn = Jl(Ct), Un = U && (hn || Hle(Ct)) && Js(st, 98304), yi = Vc(Un ? wf(st, 2097152) : st, Ft); if (!yi) return st; yi = Un && hn ? gg(yi) : yi; let Di = Bt(yi); return jc(st, Xt => { let er = KP(Xt, Ft); return !(er.flags & 131072) && !(Di.flags & 131072) && _M(Di, er) }) } function Hr(st, Ct, Bt, Ft, hn) { if ((Bt === 36 || Bt === 37) && st.flags & 1048576) { let Un = TM(st); if (Un && Un === YE(Ct)) { let yi = SM(st, au(Ft)); if (yi) return Bt === (hn ? 36 : 37) ? yi : N_(Vc(yi, Un) || ue) ? wB(st, yi) : st } } return Br(st, Ct, Un => qn(Un, Bt, Ft, hn)) } function qi(st, Ct, Bt, Ft, hn) { if (Ft < hn && st.flags & 1048576 && TM(st) === YE(Ct)) { let Un = DB(Bt).slice(Ft, hn), yi = Gr(on(Un, Di => SM(st, Di) || ue)); if (yi !== ue) return yi } return Br(st, Ct, Un => ko(Un, Bt, Ft, hn)) } function wa(st, Ct, Bt) { if (El(n, Ct)) return $E(st, Bt ? 4194304 : 8388608); U && Bt && P1(Ct, n) && (st = $E(st, 2097152)); let Ft = Rn(Ct, st); return Ft ? Br(st, Ft, hn => wf(hn, Bt ? 4194304 : 8388608)) : st } function Xc(st, Ct, Bt) { let Ft = ja(st, Ct); return Ft ? !!(Ft.flags & 16777216) || Bt : !!jx(st, Ct) || !Bt } function pf(st, Ct, Bt) { let Ft = Np(Ct); if (yh(st, Un => Xc(Un, Ft, !0))) return jc(st, Un => Xc(Un, Ft, Bt)); if (Bt) { let Un = MKe(); if (Un) return so([st, Jx(Un, [Ct, ue])]) } return st } function Hd(st, Ct, Bt) { switch (Ct.operatorToken.kind) { case 63: case 75: case 76: case 77: return wa(_i(st, Ct.right, Bt), Ct.left, Bt); case 34: case 35: case 36: case 37: let Ft = Ct.operatorToken.kind, hn = a0(Ct.left), Un = a0(Ct.right); if (hn.kind === 218 && es(Un)) return Mi(st, hn, Ft, Un, Bt); if (Un.kind === 218 && es(hn)) return Mi(st, Un, Ft, hn, Bt); if (El(n, hn)) return qn(st, Ft, Un, Bt); if (El(n, Un)) return qn(st, Ft, hn, Bt); U && (P1(hn, n) ? st = In(st, Ft, Un, Bt) : P1(Un, n) && (st = In(st, Ft, hn, Bt))); let yi = Rn(hn, st); if (yi) return Hr(st, yi, Ft, Un, Bt); let Di = Rn(Un, st); if (Di) return Hr(st, Di, Ft, hn, Bt); if (Tu(hn)) return et(st, Ft, Un, Bt); if (Tu(Un)) return et(st, Ft, hn, Bt); break; case 102: return he(st, Ct, Bt); case 101: if (pi(Ct.left)) return ji(st, Ct, Bt); let Xt = a0(Ct.right), er = au(Ct.left); if (er.flags & 8576) { if (fD(st) && Us(n) && El(n.expression, Xt) && YE(n) === Np(er)) return wf(st, Bt ? 524288 : 65536); if (El(n, Xt)) return pf(st, er, Bt) } break; case 27: return _i(st, Ct.right, Bt); case 55: return Bt ? _i(_i(st, Ct.left, !0), Ct.right, !0) : Gr([_i(st, Ct.left, !1), _i(st, Ct.right, !1)]); case 56: return Bt ? Gr([_i(st, Ct.left, !0), _i(st, Ct.right, !0)]) : _i(_i(st, Ct.left, !1), Ct.right, !1) }return st } function ji(st, Ct, Bt) { let Ft = a0(Ct.right); if (!El(n, Ft)) return st; L.assertNode(Ct.left, pi); let hn = KB(Ct.left); if (hn === void 0) return st; let Un = hn.parent, yi = zc(L.checkDefined(hn.valueDeclaration, "should always have a declaration")) ? zn(Un) : gs(Un); return Mn(st, yi, Bt, !0) } function In(st, Ct, Bt, Ft) { let hn = Ct === 34 || Ct === 36, Un = Ct === 34 || Ct === 35 ? 98304 : 32768, yi = au(Bt); return hn !== Ft && Im(yi, Xt => !!(Xt.flags & Un)) || hn === Ft && Im(yi, Xt => !(Xt.flags & (3 | Un))) ? $E(st, 2097152) : st } function qn(st, Ct, Bt, Ft) { if (st.flags & 1) return st; (Ct === 35 || Ct === 37) && (Ft = !Ft); let hn = au(Bt), Un = Ct === 34 || Ct === 35; if (hn.flags & 98304) { if (!U) return st; let yi = Un ? Ft ? 262144 : 2097152 : hn.flags & 65536 ? Ft ? 131072 : 1048576 : Ft ? 65536 : 524288; return $E(st, yi) } if (Ft) { if (!Un && (st.flags & 2 || yh(st, hh))) { if (hn.flags & 201457660 || hh(hn)) return hn; if (hn.flags & 524288) return jr } let yi = jc(st, Di => _M(Di, hn) || Un && RXe(Di, hn)); return J2e(yi, hn) } return N_(hn) ? jc(st, yi => !(d2e(yi) && _M(yi, hn))) : st } function Mi(st, Ct, Bt, Ft, hn) { (Bt === 35 || Bt === 37) && (hn = !hn); let Un = a0(Ct.expression); if (!El(n, Un)) { U && P1(Un, n) && hn === (Ft.text !== "undefined") && (st = $E(st, 2097152)); let yi = Rn(Un, st); return yi ? Br(st, yi, Di => ga(Di, Ft, hn)) : st } return ga(st, Ft, hn) } function ga(st, Ct, Bt) { return Bt ? us(st, Ct.text) : $E(st, fF.get(Ct.text) || 32768) } function Bi(st, Ct, Bt, Ft, hn) { return Bt !== Ft && Ji(DB(Ct).slice(Bt, Ft), hn) ? wf(st, 2097152) : st } function ko(st, Ct, Bt, Ft) { let hn = DB(Ct); if (!hn.length) return st; let Un = hn.slice(Bt, Ft), yi = Bt === Ft || ya(Un, lt); if (st.flags & 2 && !yi) { let Sr; for (let Dr = 0; Dr < Un.length; Dr += 1) { let Ii = Un[Dr]; if (Ii.flags & 201457660) Sr !== void 0 && Sr.push(Ii); else if (Ii.flags & 524288) Sr === void 0 && (Sr = Un.slice(0, Dr)), Sr.push(jr); else return st } return Gr(Sr === void 0 ? Un : Sr) } let Di = Gr(Un), Xt = Di.flags & 131072 ? lt : J2e(jc(st, Sr => _M(Di, Sr)), Di); if (!yi) return Xt; let er = jc(st, Sr => !(d2e(Sr) && ya(hn, Hu(xXe(Sr))))); return Xt.flags & 131072 ? er : Gr([Xt, er]) } function us(st, Ct) { switch (Ct) { case "string": return Xs(st, ae, 1); case "number": return Xs(st, rt, 2); case "bigint": return Xs(st, Ot, 4); case "boolean": return Xs(st, Te, 8); case "symbol": return Xs(st, j, 16); case "object": return st.flags & 1 ? st : Gr([Xs(st, jr, 32), Xs(st, ln, 131072)]); case "function": return st.flags & 1 ? st : Xs(st, Hs, 64); case "undefined": return Xs(st, Oe, 65536) }return Xs(st, jr, 128) } function Xs(st, Ct, Bt) { return Ls(st, Ft => Bp(Ft, Ct, x_) ? iu(Ft) & Bt ? Ft : lt : Iy(Ct, Ft) ? Ct : iu(Ft) & Bt ? so([Ft, Ct]) : lt) } function no(st, Ct, Bt, Ft) { let hn = W2e(Ct); if (!hn) return st; let Un = Yc(Ct.caseBlock.clauses, Xt => Xt.kind === 293); if (Bt === Ft || Un >= Bt && Un < Ft) { let Xt = SIe(Bt, Ft, hn); return jc(st, er => (iu(er) & Xt) === Xt) } let Di = hn.slice(Bt, Ft); return Gr(on(Di, Xt => Xt ? us(st, Xt) : lt)) } function Tu(st) { return (br(st) && vr(st.name) === "constructor" || Vs(st) && es(st.argumentExpression) && st.argumentExpression.text === "constructor") && El(n, st.expression) } function et(st, Ct, Bt, Ft) { if (Ft ? Ct !== 34 && Ct !== 36 : Ct !== 35 && Ct !== 37) return st; let hn = au(Bt); if (!Jie(hn) && !Uv(hn)) return st; let Un = ja(hn, "prototype"); if (!Un) return st; let yi = zn(Un), Di = Zo(yi) ? void 0 : yi; if (!Di || Di === ka || Di === Hs) return st; if (Zo(st)) return Di; return jc(st, er => Xt(er, Di)); function Xt(er, Sr) { return er.flags & 524288 && Ur(er) & 1 || Sr.flags & 524288 && Ur(Sr) & 1 ? er.symbol === Sr.symbol : Iy(er, Sr) } } function he(st, Ct, Bt) { let Ft = a0(Ct.left); if (!El(n, Ft)) return Bt && U && P1(Ft, n) ? $E(st, 2097152) : st; let hn = au(Ct.right); if (!r0(hn, Hs)) return st; let Un = Ls(hn, Bn); return Zo(st) && (Un === ka || Un === Hs) || !Bt && !(Un.flags & 524288 && !hh(Un)) ? st : Mn(st, Un, Bt, !0) } function Bn(st) { let Ct = Vc(st, "prototype"); if (Ct && !Zo(Ct)) return Ct; let Bt = xa(st, 1); return Bt.length ? Gr(on(Bt, Ft => qo(tD(Ft)))) : Ki } function Mn(st, Ct, Bt, Ft) { var hn; let Un = st.flags & 1048576 ? `N${ru(st)},${ru(Ct)},${(Bt ? 1 : 0) | (Ft ? 2 : 0)}` : void 0; return (hn = wb(Un)) != null ? hn : qh(Un, or(st, Ct, Bt, Ft)) } function or(st, Ct, Bt, Ft) { if (!Bt) { if (Ft) return jc(st, Xt => !r0(Xt, Ct)); let Di = Mn(st, Ct, !0, !1); return jc(st, Xt => !gD(Xt, Di)) } if (st.flags & 3) return Ct; let hn = Ft ? r0 : Iy, Un = st.flags & 1048576 ? TM(st) : void 0, yi = Ls(Ct, Di => { let Xt = Un && Vc(Di, Un), er = Xt && SM(st, Xt), Sr = Ls(er || st, Ft ? Dr => r0(Dr, Di) ? Dr : r0(Di, Dr) ? Di : lt : Dr => qAe(Dr, Di) ? Dr : qAe(Di, Dr) ? Di : Iy(Dr, Di) ? Dr : Iy(Di, Dr) ? Di : lt); return Sr.flags & 131072 ? Ls(st, Dr => Js(Dr, 465829888) && hn(Di, bu(Dr) || ue) ? so([Dr, Di]) : lt) : Sr }); return yi.flags & 131072 ? Iy(Ct, st) ? Ct : to(st, Ct) ? st : to(Ct, st) ? Ct : so([st, Ct]) : yi } function _r(st, Ct, Bt) { if (P2e(Ct, n)) { let Ft = Bt || !dT(Ct) ? OB(Ct) : void 0, hn = Ft && Lf(Ft); if (hn && (hn.kind === 0 || hn.kind === 1)) return ua(st, hn, Ct, Bt) } if (fD(st) && Us(n) && br(Ct.expression)) { let Ft = Ct.expression; if (El(n.expression, a0(Ft.expression)) && Re(Ft.name) && Ft.name.escapedText === "hasOwnProperty" && Ct.arguments.length === 1) { let hn = Ct.arguments[0]; if (es(hn) && YE(n) === Bs(hn.text)) return wf(st, Bt ? 524288 : 65536) } } return st } function ua(st, Ct, Bt, Ft) { if (Ct.type && !(Zo(st) && (Ct.type === ka || Ct.type === Hs))) { let hn = DYe(Ct, Bt); if (hn) { if (El(n, hn)) return Mn(st, Ct.type, Ft, !1); U && Ft && P1(hn, n) && !(iu(Ct.type) & 65536) && (st = $E(st, 2097152)); let Un = Rn(hn, st); if (Un) return Br(st, Un, yi => Mn(yi, Ct.type, Ft, !1)) } } return st } function _i(st, Ct, Bt) { if (r6(Ct) || ar(Ct.parent) && (Ct.parent.operatorToken.kind === 60 || Ct.parent.operatorToken.kind === 77) && Ct.parent.left === Ct) return ur(st, Ct, Bt); switch (Ct.kind) { case 79: if (!El(n, Ct) && C < 5) { let Ft = Qf(Ct); if (wC(Ft)) { let hn = Ft.valueDeclaration; if (hn && wi(hn) && !hn.type && hn.initializer && Y2e(n)) { C++; let Un = _i(st, hn.initializer, Bt); return C--, Un } } } case 108: case 106: case 208: case 209: return wa(st, Ct, Bt); case 210: return _r(st, Ct, Bt); case 214: case 232: return _i(st, Ct.expression, Bt); case 223: return Hd(st, Ct, Bt); case 221: if (Ct.operator === 53) return _i(st, Ct.operand, !Bt); break }return st } function ur(st, Ct, Bt) { if (El(n, Ct)) return $E(st, Bt ? 2097152 : 262144); let Ft = Rn(Ct, st); return Ft ? Br(st, Ft, hn => wf(hn, Bt ? 2097152 : 262144)) : st } } function RYe(n, a) { if (n = tp(n), (a.kind === 79 || a.kind === 80) && (zI(a) && (a = a.parent), Dh(a) && (!Um(a) || YI(a)))) { let c = au(a); if (tp(Rr(a).resolvedSymbol) === n) return c } return Rh(a) && Ng(a.parent) && N(a.parent) ? Fi(a.parent.symbol) : Gv(n) } function yD(n) { return jn(n.parent, a => Ia(a) && !ET(a) || a.kind === 265 || a.kind === 308 || a.kind === 169) } function MB(n) { if (!n.valueDeclaration) return !1; let a = nm(n.valueDeclaration).parent, c = Rr(a); return c.flags & 524288 || (c.flags |= 524288, OYe(a) || $2e(a)), n.isAssigned || !1 } function OYe(n) { return !!jn(n.parent, a => (Ia(a) || E2(a)) && !!(Rr(a).flags & 524288)) } function $2e(n) { if (n.kind === 79) { if (Um(n)) { let a = Qf(n); VW(a) && (a.isAssigned = !0) } } else pa(n, $2e) } function wC(n) { return n.flags & 3 && (WB(n) & 2) !== 0 } function NYe(n) { let a = Rr(n); if (a.parameterInitializerContainsUndefined === void 0) { if (!cf(n, 9)) return pC(n.symbol), !0; let c = !!(iu(ID(n, 0)) & 16777216); if (!If()) return pC(n.symbol), !0; a.parameterInitializerContainsUndefined = c } return a.parameterInitializerContainsUndefined } function PYe(n, a) { return U && a.kind === 166 && a.initializer && iu(n) & 16777216 && !NYe(a) ? wf(n, 524288) : n } function MYe(n, a) { let c = a.parent; return c.kind === 208 || c.kind === 163 || c.kind === 210 && c.expression === a || c.kind === 209 && c.expression === a && !(yh(n, Z2e) && jv(au(c.argumentExpression))) } function Q2e(n) { return n.flags & 2097152 ? vt(n.types, Q2e) : !!(n.flags & 465829888 && Ty(n).flags & 1146880) } function Z2e(n) { return n.flags & 2097152 ? vt(n.types, Z2e) : !!(n.flags & 465829888 && !Js(Ty(n), 98304)) } function FYe(n, a) { let c = (Re(n) || br(n) || Vs(n)) && !((Xm(n.parent) || FS(n.parent)) && n.parent.tagName === n) && (a && a & 64 ? Ru(n, 8) : Ru(n, void 0)); return c && !SC(c) } function Sre(n, a, c) { return !(c && c & 2) && yh(n, Q2e) && (MYe(n, a) || FYe(a, c)) ? Ls(n, Ty) : n } function eCe(n) { return !!jn(n, a => { let c = a.parent; return c === void 0 ? "quit" : pc(c) ? c.expression === a && bc(a) : Mu(c) ? c.name === a || c.propertyName === a : !1 }) } function FB(n, a) { if (!Y.verbatimModuleSyntax && ay(n, 111551) && !kC(a) && !nd(n, 111551)) { let c = wc(n); Fl(c) & 1160127 && (d_(Y) || U0(Y) && eCe(a) || !MD(tp(c)) ? Hb(n) : Wb(n)) } } function GYe(n, a) { var c; let u = zn(n), p = n.valueDeclaration; if (p) { if (Wo(p) && !p.initializer && !p.dotDotDotToken && p.parent.elements.length >= 2) { let h = p.parent.parent; if (h.kind === 257 && G_(p) & 2 || h.kind === 166) { let T = Rr(h); if (!(T.flags & 16777216)) { T.flags |= 16777216; let k = Px(h, 0), O = k && Ls(k, Ty); if (T.flags &= -16777217, O && O.flags & 1048576 && !(h.kind === 166 && MB(n))) { let H = p.parent, J = Yv(H, O, O, void 0, a.flowNode); return J.flags & 131072 ? lt : li(p, J) } } } } if (ha(p) && !p.type && !p.initializer && !p.dotDotDotToken) { let h = p.parent; if (h.parameters.length >= 2 && fB(h)) { let T = bD(h); if (T && T.parameters.length === 1 && Xl(T)) { let k = vC(Oi(zn(T.parameters[0]), (c = M1(h)) == null ? void 0 : c.nonFixingMapper)); if (k.flags & 1048576 && Im(k, po) && !MB(n)) { let O = Yv(h, k, k, void 0, a.flowNode), H = h.parameters.indexOf(p) - (F0(h) ? 1 : 0); return od(O, op(H)) } } } } } return u } function BYe(n, a) { if (mS(n)) return kM(n); let c = Qf(n); if (c === Ht) return ve; if (c === _t) { if (FCe(n)) return Fe(n, _.arguments_cannot_be_referenced_in_property_initializers), ve; let Nn = Xd(n); return R < 2 && (Nn.kind === 216 ? Fe(n, _.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression) : Mr(Nn, 512) && Fe(n, _.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method)), Rr(Nn).flags |= 512, zn(c) } VYe(n) && FB(c, n); let u = tp(c), p = MLe(u, n); Sv(p) && xne(n, p) && p.declarations && Xh(n, p.declarations, n.escapedText); let h = u.valueDeclaration; if (h && u.flags & 32) { if (h.kind === 260 && FA($, h)) { let Nn = Zc(n); for (; Nn !== void 0;) { if (Nn === h && Nn.name !== n) { Rr(h).flags |= 1048576, Rr(n).flags |= 2097152; break } Nn = Zc(Nn) } } else if (h.kind === 228) { let Nn = Ku(n, !1, !1); for (; Nn.kind !== 308;) { if (Nn.parent === h) { (Na(Nn) && Ca(Nn) || oc(Nn)) && (Rr(h).flags |= 1048576, Rr(n).flags |= 2097152); break } Nn = Ku(Nn, !1, !1) } } } WYe(n, c); let T = GYe(u, n), k = xT(n); if (k) { if (!(u.flags & 3) && !(Yn(n) && u.flags & 512)) { let Nn = u.flags & 384 ? _.Cannot_assign_to_0_because_it_is_an_enum : u.flags & 32 ? _.Cannot_assign_to_0_because_it_is_a_class : u.flags & 1536 ? _.Cannot_assign_to_0_because_it_is_a_namespace : u.flags & 16 ? _.Cannot_assign_to_0_because_it_is_a_function : u.flags & 2097152 ? _.Cannot_assign_to_0_because_it_is_an_import : _.Cannot_assign_to_0_because_it_is_not_a_variable; return Fe(n, Nn, E(c)), ve } if (M_(u)) return u.flags & 3 ? Fe(n, _.Cannot_assign_to_0_because_it_is_a_constant, E(c)) : Fe(n, _.Cannot_assign_to_0_because_it_is_a_read_only_property, E(c)), ve } let O = u.flags & 2097152; if (u.flags & 3) { if (k === 1) return T } else if (O) h = Uu(c); else return T; if (!h) return T; T = Sre(T, n, a); let H = nm(h).kind === 166, J = yD(h), de = yD(n), Ae = de !== J, xe = n.parent && n.parent.parent && VS(n.parent) && Ere(n.parent.parent), tt = c.flags & 134217728; for (; de !== J && (de.kind === 215 || de.kind === 216 || D6(de)) && (wC(u) && T !== bn || H && !MB(u));)de = yD(de); let It = H || O || Ae || xe || tt || UYe(n, h) || T !== at && T !== bn && (!U || (T.flags & 16387) !== 0 || kC(n) || k2e(n) || n.parent.kind === 278) || n.parent.kind === 232 || h.kind === 257 && h.exclamationToken || h.flags & 16777216, Tn = It ? H ? PYe(T, h) : T : T === at || T === bn ? Oe : gg(T), un = Yv(n, T, Tn, de); if (!q2e(n) && (T === at || T === bn)) { if (un === at || un === bn) return ge && (Fe(sa(h), _.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined, E(c), Ee(un)), Fe(n, _.Variable_0_implicitly_has_an_1_type, E(c), Ee(un))), PD(un) } else if (!It && !xC(T) && xC(un)) return Fe(n, _.Variable_0_is_used_before_being_assigned, E(c)), T; return k ? ky(un) : un } function UYe(n, a) { if (Wo(a)) { let c = jn(n, Wo); return c && nm(c) === nm(a) } } function VYe(n) { var a; let c = n.parent; if (c) { if (br(c) && c.expression === n || Mu(c) && c.isTypeOnly) return !1; let u = (a = c.parent) == null ? void 0 : a.parent; if (u && Il(u) && u.isTypeOnly) return !1 } return !0 } function jYe(n, a) { return !!jn(n, c => c === a ? "quit" : Ia(c) || c.parent && Na(c.parent) && !zc(c.parent) && c.parent.initializer === c) } function HYe(n, a) { return jn(n, c => c === a ? "quit" : c === a.initializer || c === a.condition || c === a.incrementor || c === a.statement) } function xre(n) { return jn(n, a => !a || HH(a) ? "quit" : Wy(a, !1)) } function WYe(n, a) { if (R >= 2 || !(a.flags & 34) || !a.valueDeclaration || Li(a.valueDeclaration) || a.valueDeclaration.parent.kind === 295) return; let c = tm(a.valueDeclaration), u = jYe(n, c), p = xre(c); if (p) { if (u) { let h = !0; if (FT(c)) { let T = cb(a.valueDeclaration, 258); if (T && T.parent === c) { let k = HYe(n.parent, c); if (k) { let O = Rr(k); O.flags |= 8192; let H = O.capturedBlockScopeBindings || (O.capturedBlockScopeBindings = []); Of(H, a), k === c.initializer && (h = !1) } } } h && (Rr(p).flags |= 4096) } if (FT(c)) { let h = cb(a.valueDeclaration, 258); h && h.parent === c && JYe(n, c) && (Rr(a.valueDeclaration).flags |= 262144) } Rr(a.valueDeclaration).flags |= 32768 } u && (Rr(a.valueDeclaration).flags |= 16384) } function zYe(n, a) { let c = Rr(n); return !!c && ya(c.capturedBlockScopeBindings, fr(a)) } function JYe(n, a) { let c = n; for (; c.parent.kind === 214;)c = c.parent; let u = !1; if (Um(c)) u = !0; else if (c.parent.kind === 221 || c.parent.kind === 222) { let p = c.parent; u = p.operator === 45 || p.operator === 46 } return u ? !!jn(c, p => p === a ? "quit" : p === a.statement) : !1 } function Are(n, a) { if (Rr(n).flags |= 2, a.kind === 169 || a.kind === 173) { let c = a.parent; Rr(c).flags |= 4 } else Rr(a).flags |= 4 } function tCe(n) { return OA(n) ? n : Ia(n) ? void 0 : pa(n, tCe) } function nCe(n) { let a = fr(n), c = gs(a); return Wr(c) === ir } function rCe(n, a, c) { let u = a.parent; P0(u) && !nCe(u) && cR(n) && n.flowNode && !PB(n.flowNode, !1) && Fe(n, c) } function KYe(n, a) { Na(a) && zc(a) && $ && a.initializer && Y8(a.initializer, n.pos) && bf(a.parent) && Fe(n, _.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class) } function kM(n) { let a = kC(n), c = Ku(n, !0, !0), u = !1, p = !1; for (c.kind === 173 && rCe(n, c, _.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); ;) { if (c.kind === 216 && (c = Ku(c, !1, !p), u = !0), c.kind === 164) { c = Ku(c, !u, !1), p = !0; continue } break } if (KYe(n, c), p) Fe(n, _.this_cannot_be_referenced_in_a_computed_property_name); else switch (c.kind) { case 264: Fe(n, _.this_cannot_be_referenced_in_a_module_or_namespace_body); break; case 263: Fe(n, _.this_cannot_be_referenced_in_current_location); break; case 173: iCe(n, c) && Fe(n, _.this_cannot_be_referenced_in_constructor_arguments); break }!a && u && R < 2 && Are(n, c); let h = Cre(n, !0, c); if (X) { let T = zn(Ye); if (h === T && u) Fe(n, _.The_containing_arrow_function_captures_the_global_value_of_this); else if (!h) { let k = Fe(n, _.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation); if (!Li(c)) { let O = Cre(c); O && O !== T && Ao(k, hr(c, _.An_outer_value_of_this_is_shadowed_by_this_container)) } } } return h || Se } function Cre(n, a = !0, c = Ku(n, !1, !1)) { let u = Yn(n); if (Ia(c) && (!kre(n) || F0(c))) { let p = Pt(c) || u && YYe(c); if (!p) { let h = XYe(c); if (u && h) { let T = Yi(h).symbol; T && T.members && T.flags & 16 && (p = gs(T).thisType) } else cp(c) && (p = gs(No(c.symbol)).thisType); p || (p = oCe(c)) } if (p) return Yv(n, p) } if (Yr(c.parent)) { let p = fr(c.parent), h = Ca(c) ? zn(p) : gs(p).thisType; return Yv(n, h) } if (Li(c)) if (c.commonJsModuleIndicator) { let p = fr(c); return p && zn(p) } else { if (c.externalModuleIndicator) return Oe; if (a) return zn(Ye) } } function qYe(n) { let a = Ku(n, !1, !1); if (Ia(a)) { let c = ip(a); if (c.thisParameter) return RB(c.thisParameter) } if (Yr(a.parent)) { let c = fr(a.parent); return Ca(a) ? zn(c) : gs(c).thisType } } function XYe(n) { if (n.kind === 215 && ar(n.parent) && ic(n.parent) === 3) return n.parent.left.expression.expression; if (n.kind === 171 && n.parent.kind === 207 && ar(n.parent.parent) && ic(n.parent.parent) === 6) return n.parent.parent.left.expression; if (n.kind === 215 && n.parent.kind === 299 && n.parent.parent.kind === 207 && ar(n.parent.parent.parent) && ic(n.parent.parent.parent) === 6) return n.parent.parent.parent.left.expression; if (n.kind === 215 && yl(n.parent) && Re(n.parent.name) && (n.parent.name.escapedText === "value" || n.parent.name.escapedText === "get" || n.parent.name.escapedText === "set") && rs(n.parent.parent) && Pa(n.parent.parent.parent) && n.parent.parent.parent.arguments[2] === n.parent.parent && ic(n.parent.parent.parent) === 9) return n.parent.parent.parent.arguments[0].expression; if (Nc(n) && Re(n.name) && (n.name.escapedText === "value" || n.name.escapedText === "get" || n.name.escapedText === "set") && rs(n.parent) && Pa(n.parent.parent) && n.parent.parent.arguments[2] === n.parent && ic(n.parent.parent) === 9) return n.parent.parent.arguments[0].expression } function YYe(n) { let a = Vy(n); if (a && a.kind === 320) { let u = a; if (u.parameters.length > 0 && u.parameters[0].name && u.parameters[0].name.escapedText === "this") return $r(u.parameters[0].type) } let c = e6(n); if (c && c.typeExpression) return $r(c.typeExpression) } function iCe(n, a) { return !!jn(n, c => Ds(c) ? "quit" : c.kind === 166 && c.parent === a) } function Ire(n) { let a = n.parent.kind === 210 && n.parent.expression === n, c = Ww(n, !0), u = c, p = !1, h = !1; if (!a) { for (; u && u.kind === 216;)Mr(u, 512) && (h = !0), u = Ww(u, !0), p = R < 2; u && Mr(u, 512) && (h = !0) } let T = 0; if (!u || !J(u)) { let de = jn(n, Ae => Ae === u ? "quit" : Ae.kind === 164); return de && de.kind === 164 ? Fe(n, _.super_cannot_be_referenced_in_a_computed_property_name) : a ? Fe(n, _.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors) : !u || !u.parent || !(Yr(u.parent) || u.parent.kind === 207) ? Fe(n, _.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions) : Fe(n, _.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class), ve } if (!a && c.kind === 173 && rCe(n, u, _.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class), Ca(u) || a ? (T = 32, !a && R >= 2 && R <= 8 && (Na(u) || oc(u)) && Jse(n.parent, de => { (!Li(de) || kd(de)) && (Rr(de).flags |= 8388608) })) : T = 16, Rr(n).flags |= T, u.kind === 171 && h && (Pu(n.parent) && Um(n.parent) ? Rr(u).flags |= 256 : Rr(u).flags |= 128), p && Are(n.parent, u), u.parent.kind === 207) return R < 2 ? (Fe(n, _.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher), ve) : Se; let k = u.parent; if (!P0(k)) return Fe(n, _.super_can_only_be_referenced_in_a_derived_class), ve; let O = gs(fr(k)), H = O && _o(O)[0]; if (!H) return ve; if (u.kind === 173 && iCe(n, u)) return Fe(n, _.super_cannot_be_referenced_in_constructor_arguments), ve; return T === 32 ? Wr(O) : uf(H, O.thisType); function J(de) { return a ? de.kind === 173 : Yr(de.parent) || de.parent.kind === 207 ? Ca(de) ? de.kind === 171 || de.kind === 170 || de.kind === 174 || de.kind === 175 || de.kind === 169 || de.kind === 172 : de.kind === 171 || de.kind === 170 || de.kind === 174 || de.kind === 175 || de.kind === 169 || de.kind === 168 || de.kind === 173 : !1 } } function $Ye(n) { return (n.kind === 171 || n.kind === 174 || n.kind === 175) && n.parent.kind === 207 ? n.parent : n.kind === 215 && n.parent.kind === 299 ? n.parent.parent : void 0 } function aCe(n) { return Ur(n) & 4 && n.target === ye ? Ko(n)[0] : void 0 } function QYe(n) { return Ls(n, a => a.flags & 2097152 ? mn(a.types, aCe) : aCe(a)) } function oCe(n) { if (n.kind === 216) return; if (fB(n)) { let c = bD(n); if (c) { let u = c.thisParameter; if (u) return zn(u) } } let a = Yn(n); if (X || a) { let c = $Ye(n); if (c) { let p = o0(c, void 0), h = c, T = p; for (; T;) { let k = QYe(T); if (k) return Oi(k, sre(M1(c))); if (h.parent.kind !== 299) break; h = h.parent.parent, T = o0(h, void 0) } return Sd(p ? yg(p) : Ic(c)) } let u = qy(n.parent); if (u.kind === 223 && u.operatorToken.kind === 63) { let p = u.left; if (Us(p)) { let { expression: h } = p; if (a && Re(h)) { let T = Gn(u); if (T.commonJsModuleIndicator && Qf(h) === T.symbol) return } return Sd(Ic(h)) } } } } function sCe(n) { let a = n.parent; if (!fB(a)) return; let c = ET(a); if (c && c.arguments) { let p = rie(c), h = a.parameters.indexOf(n); if (n.dotDotDotToken) return tie(p, h, p.length, Se, void 0, 0); let T = Rr(c), k = T.resolvedSignature; T.resolvedSignature = As; let O = h < p.length ? i0(Yi(p[h])) : n.initializer ? void 0 : je; return T.resolvedSignature = k, O } let u = bD(a); if (u) { let p = a.parameters.indexOf(n) - (F0(a) ? 1 : 0); return n.dotDotDotToken && Os(a.parameters) === n ? SD(u, p) : tT(u, p) } } function Lre(n, a) { let c = Cl(n) || (Yn(n) ? T4(n) : void 0); if (c) return $r(c); switch (n.kind) { case 166: return sCe(n); case 205: return ZYe(n, a); case 169: if (Ca(n)) return e$e(n, a) } } function ZYe(n, a) { let c = n.parent.parent, u = n.propertyName || n.name, p = Lre(c, a) || c.kind !== 205 && c.initializer && ID(c, n.dotDotDotToken ? 64 : 0); if (!p || La(u) || Vw(u)) return; if (c.name.kind === 204) { let T = DA(n.parent.elements, n); return T < 0 ? void 0 : fCe(p, T) } let h = pg(u); if (fh(h)) { let T = Np(h); return Vc(p, T) } } function e$e(n, a) { let c = ot(n.parent) && Ru(n.parent, a); if (c) return eT(c, fr(n).escapedName) } function t$e(n, a) { let c = n.parent; if (Jy(c) && n === c.initializer) { let u = Lre(c, a); if (u) return u; if (!(a & 8) && La(c.name) && c.name.elements.length > 0) return oo(c.name, !0, !1) } } function n$e(n, a) { let c = Xd(n); if (c) { let u = Dre(c, a); if (u) { let p = pl(c); if (p & 1) { let h = (p & 2) !== 0; u.flags & 1048576 && (u = jc(u, k => !!c0(1, k, h))); let T = c0(1, u, (p & 2) !== 0); if (!T) return; u = T } if (p & 2) { let h = Ls(u, bg); return h && Gr([h, bIe(h)]) } return u } } } function r$e(n, a) { let c = Ru(n, a); if (c) { let u = bg(c); return u && Gr([u, bIe(u)]) } } function i$e(n, a) { let c = Xd(n); if (c) { let u = pl(c), p = Dre(c, a); if (p) { let h = (u & 2) !== 0; return !n.asteriskToken && p.flags & 1048576 && (p = jc(p, T => !!c0(1, T, h))), n.asteriskToken ? p : c0(0, p, h) } } } function kre(n) { let a = !1; for (; n.parent && !Ia(n.parent);) { if (ha(n.parent) && (a || n.parent.initializer === n)) return !0; Wo(n.parent) && n.parent.initializer === n && (a = !0), n = n.parent } return !1 } function cCe(n, a) { let c = !!(pl(a) & 2), u = Dre(a, void 0); if (u) return c0(n, u, c) || void 0 } function Dre(n, a) { let c = Hx(n); if (c) return c; let u = Nre(n); if (u && !rne(u)) return qo(u); let p = ET(n); if (p) return Ru(p, a) } function lCe(n, a) { let u = rie(n).indexOf(a); return u === -1 ? void 0 : wre(n, u) } function wre(n, a) { if (Dd(n)) return a === 0 ? ae : a === 1 ? nAe(!1) : Se; let c = Rr(n).resolvedSignature === yc ? yc : MC(n); if (Au(n) && a === 0) return VB(c, n); let u = c.parameters.length - 1; return Xl(c) && a >= u ? od(zn(c.parameters[u]), op(a - u), 256) : P_(c, a) } function a$e(n) { let a = _ie(n); return a ? HE(a) : void 0 } function o$e(n, a) { if (n.parent.kind === 212) return lCe(n.parent, a) } function s$e(n, a) { let c = n.parent, { left: u, operatorToken: p, right: h } = c; switch (p.kind) { case 63: case 76: case 75: case 77: return n === h ? l$e(c) : void 0; case 56: case 60: let T = Ru(c, a); return n === h && (T && T.pattern || !T && !dce(c)) ? au(u) : T; case 55: case 27: return n === h ? Ru(c, a) : void 0; default: return } } function c$e(n) { if ($p(n) && n.symbol) return n.symbol; if (Re(n)) return Qf(n); if (br(n)) { let c = au(n.expression); return pi(n.name) ? a(c, n.name) : ja(c, n.name.escapedText) } if (Vs(n)) { let c = Ic(n.argumentExpression); if (!fh(c)) return; let u = au(n.expression); return ja(u, Np(c)) } return; function a(c, u) { let p = JB(u.escapedText, u); return p && zre(c, p) } } function l$e(n) { var a, c; let u = ic(n); switch (u) { case 0: case 4: let p = c$e(n.left), h = p && p.valueDeclaration; if (h && (Na(h) || $d(h))) { let O = Cl(h); return O && Oi($r(O), Ai(p).mapper) || (Na(h) ? h.initializer && au(n.left) : void 0) } return u === 0 ? au(n.left) : uCe(n); case 5: if (GB(n, u)) return uCe(n); if (!$p(n.left) || !n.left.symbol) return au(n.left); { let O = n.left.symbol.valueDeclaration; if (!O) return; let H = Ga(n.left, Us), J = Cl(O); if (J) return $r(J); if (Re(H.expression)) { let de = H.expression, Ae = zs(de, de.escapedText, 111551, void 0, de.escapedText, !0); if (Ae) { let xe = Ae.valueDeclaration && Cl(Ae.valueDeclaration); if (xe) { let tt = wh(H); if (tt !== void 0) return eT($r(xe), tt) } return } } return Yn(O) ? void 0 : au(n.left) } case 1: case 6: case 3: case 2: let T; u !== 2 && (T = $p(n.left) ? (a = n.left.symbol) == null ? void 0 : a.valueDeclaration : void 0), T || (T = (c = n.symbol) == null ? void 0 : c.valueDeclaration); let k = T && Cl(T); return k ? $r(k) : void 0; case 7: case 8: case 9: return L.fail("Does not apply"); default: return L.assertNever(u) } } function GB(n, a = ic(n)) { if (a === 4) return !0; if (!Yn(n) || a !== 5 || !Re(n.left.expression)) return !1; let c = n.left.expression.escapedText, u = zs(n.left, c, 111551, void 0, void 0, !0, !0); return N6(u?.valueDeclaration) } function uCe(n) { if (!n.symbol) return au(n.left); if (n.symbol.valueDeclaration) { let p = Cl(n.symbol.valueDeclaration); if (p) { let h = $r(p); if (h) return h } } let a = Ga(n.left, Us); if (!s_(Ku(a.expression, !1, !1))) return; let c = kM(a.expression), u = wh(a); return u !== void 0 && eT(c, u) || void 0 } function u$e(n) { return !!(ac(n) & 262144 && !n.links.type && Sm(n, 0) >= 0) } function eT(n, a, c) { return Ls(n, u => { var p; if (df(u) && !u.declaration.nameType) { let h = rp(u), T = bu(h) || h, k = c || ff(Gi(a)); if (to(k, T)) return nB(u, k) } else if (u.flags & 3670016) { let h = ja(u, a); if (h) return u$e(h) ? void 0 : zn(h); if (po(u) && Wm(a) && +a >= 0) { let T = LC(u, u.target.fixedLength, 0, !1, !0); if (T) return T } return (p = $te(Qte(u), c || ff(Gi(a)))) == null ? void 0 : p.type } }, !0) } function dCe(n, a) { if (L.assert(s_(n)), !(n.flags & 33554432)) return Rre(n, a) } function Rre(n, a) { let c = n.parent, u = yl(n) && Lre(n, a); if (u) return u; let p = o0(c, a); if (p) { if (Ux(n)) { let h = fr(n); return eT(p, h.escapedName, Ai(h).nameType) } if (n.name) { let h = pg(n.name); return Ls(p, T => { var k; return (k = $te(Qte(T), h)) == null ? void 0 : k.type }, !0) } } } function fCe(n, a) { return n && (a >= 0 && eT(n, "" + a) || Ls(n, c => po(c) ? LC(c, 0, 0, !1, !0) : Rie(1, c, Oe, void 0, !1), !0)) } function d$e(n, a) { let c = n.parent; return n === c.whenTrue || n === c.whenFalse ? Ru(c, a) : void 0 } function f$e(n, a, c) { let u = o0(n.openingElement.tagName, c), p = HB(tA(n)); if (!(u && !Zo(u) && p && p !== "")) return; let h = bR(n.children), T = h.indexOf(a), k = eT(u, p); return k && (h.length === 1 ? k : Ls(k, O => Kv(O) ? od(O, op(T)) : O, !0)) } function _$e(n, a) { let c = n.parent; return d6(c) ? Ru(n, a) : Hg(c) ? f$e(c, n, a) : void 0 } function _Ce(n, a) { if (Sp(n)) { let c = o0(n.parent, a); return !c || Zo(c) ? void 0 : eT(c, n.name.escapedText) } else return Ru(n.parent, a) } function DM(n) { switch (n.kind) { case 10: case 8: case 9: case 14: case 110: case 95: case 104: case 79: case 155: return !0; case 208: case 214: return DM(n.expression); case 291: return !n.expression || DM(n.expression) }return !1 } function p$e(n, a) { return sYe(a, n) || Wne(a, Qi(on(Pr(n.properties, c => !!c.symbol && c.kind === 299 && DM(c.initializer) && mD(a, c.symbol.escapedName)), c => [() => KM(c.initializer), c.symbol.escapedName]), on(Pr(Jo(a), c => { var u; return !!(c.flags & 16777216) && !!((u = n?.symbol) != null && u.members) && !n.symbol.members.has(c.escapedName) && mD(a, c.escapedName) }), c => [() => Oe, c.escapedName])), to, a) } function m$e(n, a) { return Wne(a, Qi(on(Pr(n.properties, c => !!c.symbol && c.kind === 288 && mD(a, c.symbol.escapedName) && (!c.initializer || DM(c.initializer))), c => [c.initializer ? () => KM(c.initializer) : () => pe, c.symbol.escapedName]), on(Pr(Jo(a), c => { var u; return !!(c.flags & 16777216) && !!((u = n?.symbol) != null && u.members) && !n.symbol.members.has(c.escapedName) && mD(a, c.escapedName) }), c => [() => Oe, c.escapedName])), to, a) } function o0(n, a) { let c = s_(n) ? dCe(n, a) : Ru(n, a), u = BB(c, n, a); if (u && !(a && a & 2 && u.flags & 8650752)) { let p = Ls(u, Eu, !0); return p.flags & 1048576 && rs(n) ? p$e(n, p) : p.flags & 1048576 && K0(n) ? m$e(n, p) : p } } function BB(n, a, c) { if (n && Js(n, 465829888)) { let u = M1(a); if (u && c & 1 && vt(u.inferences, qZe)) return UB(n, u.nonFixingMapper); if (u?.returnMapper) { let p = UB(n, u.returnMapper); return p.flags & 1048576 && Qb(p.types, oe) && Qb(p.types, z) ? jc(p, h => h !== oe && h !== z) : p } } return n } function UB(n, a) { return n.flags & 465829888 ? Oi(n, a) : n.flags & 1048576 ? Gr(on(n.types, c => UB(c, a)), 0) : n.flags & 2097152 ? so(on(n.types, c => UB(c, a))) : n } function Ru(n, a) { var c, u; if (n.flags & 33554432) return; let p = mCe(n, !a); if (p >= 0) return Mc[p]; let { parent: h } = n; switch (h.kind) { case 257: case 166: case 169: case 168: case 205: return t$e(n, a); case 216: case 250: return n$e(n, a); case 226: return i$e(h, a); case 220: return r$e(h, a); case 210: case 211: return lCe(h, n); case 167: return a$e(h); case 213: case 231: return Ch(h.type) ? Ru(h, a) : $r(h.type); case 223: return s$e(n, a); case 299: case 300: return Rre(h, a); case 301: return Ru(h.parent, a); case 206: { let T = h, k = o0(T, a), O = (u = (c = Rr(T)).firstSpreadIndex) != null ? u : c.firstSpreadIndex = Yc(T.elements, Km), H = DA(T.elements, n); return fCe(k, O < 0 || H < O ? H : -1) } case 224: return d$e(n, a); case 236: return L.assert(h.parent.kind === 225), o$e(h.parent, n); case 214: { if (Yn(h)) { if (zW(h)) return $r(JW(h)); let T = x0(h); if (T && !Ch(T.typeExpression.type)) return $r(T.typeExpression.type) } return Ru(h, a) } case 232: return Ru(h, a); case 235: return $r(h.type); case 274: return ad(h); case 291: return _$e(h, a); case 288: case 290: return _Ce(h, a); case 283: case 282: return y$e(h, a) } } function pCe(n) { wM(n, Ru(n, void 0), !0) } function wM(n, a, c) { Is[Hh] = n, Mc[Hh] = a, mm[Hh] = c, Hh++ } function vD() { Hh-- } function mCe(n, a) { for (let c = Hh - 1; c >= 0; c--)if (n === Is[c] && (a || !mm[c])) return c; return -1 } function h$e(n, a) { T_[mv] = n, Cb[mv] = a, mv++ } function g$e() { mv-- } function M1(n) { for (let a = mv - 1; a >= 0; a--)if (AT(n, T_[a])) return Cb[a] } function y$e(n, a) { if (Xm(n) && a !== 4) { let c = mCe(n.parent, !a); if (c >= 0) return Mc[c] } return wre(n, 0) } function VB(n, a) { return $Ce(a) !== 0 ? v$e(n, a) : T$e(n, a) } function v$e(n, a) { let c = die(n, ue); c = hCe(a, tA(a), c); let u = s0(Qd.IntrinsicAttributes, a); return Ro(u) || (c = QP(u, c)), c } function b$e(n, a) { if (n.compositeSignatures) { let u = []; for (let p of n.compositeSignatures) { let h = qo(p); if (Zo(h)) return h; let T = Vc(h, a); if (!T) return; u.push(T) } return so(u) } let c = qo(n); return Zo(c) ? c : Vc(c, a) } function E$e(n) { if (OC(n.tagName)) { let c = ACe(n), u = ZB(n, c); return HE(u) } let a = Ic(n.tagName); if (a.flags & 128) { let c = xCe(a, n); if (!c) return ve; let u = ZB(n, c); return HE(u) } return a } function hCe(n, a, c) { let u = V$e(a); if (u) { let p = gs(u), h = E$e(n); if (u.flags & 524288) { let T = Ai(u).typeParameters; if (Fn(T) >= 2) { let k = Sy([h, c], T, 2, Yn(n)); return Jx(u, k) } } if (Fn(p.typeParameters) >= 2) { let T = Sy([h, c], p.typeParameters, 2, Yn(n)); return _g(p, T) } } return c } function T$e(n, a) { let c = tA(a), u = j$e(c), p = u === void 0 ? die(n, ue) : u === "" ? qo(n) : b$e(n, u); if (!p) return u && Fn(a.attributes.properties) && Fe(a, _.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property, Gi(u)), ue; if (p = hCe(a, c, p), Zo(p)) return p; { let h = p, T = s0(Qd.IntrinsicClassAttributes, a); if (!Ro(T)) { let O = yy(T.symbol), H = qo(n), J; if (O) { let de = Sy([H], O, Mp(O), Yn(a)); J = Oi(T, Wu(O, de)) } else J = T; h = QP(J, h) } let k = s0(Qd.IntrinsicAttributes, a); return Ro(k) || (h = QP(k, h)), h } } function S$e(n) { return Uf(Y, "noImplicitAny") ? ou(n, (a, c) => a === c || !a ? a : Sxe(a.typeParameters, c.typeParameters) ? C$e(a, c) : void 0) : void 0 } function x$e(n, a, c) { if (!n || !a) return n || a; let u = Gr([zn(n), Oi(zn(a), c)]); return qE(n, u) } function A$e(n, a, c) { let u = xd(n), p = xd(a), h = u >= p ? n : a, T = h === n ? a : n, k = h === n ? u : p, O = jp(n) || jp(a), H = O && !jp(h), J = new Array(k + (H ? 1 : 0)); for (let de = 0; de < k; de++) { let Ae = tT(h, de); h === a && (Ae = Oi(Ae, c)); let xe = tT(T, de) || ue; T === a && (xe = Oi(xe, c)); let tt = Gr([Ae, xe]), It = O && !H && de === k - 1, Tn = de >= Vp(h) && de >= Vp(T), un = de >= u ? void 0 : FC(n, de), Nn = de >= p ? void 0 : FC(a, de), en = un === Nn ? un : un ? Nn ? void 0 : un : Nn, cn = wo(1 | (Tn && !It ? 16777216 : 0), en || `arg${de}`); cn.links.type = It ? nu(tt) : tt, J[de] = cn } if (H) { let de = wo(1, "args"); de.links.type = nu(P_(T, k)), T === a && (de.links.type = Oi(de.links.type, c)), J[k] = de } return J } function C$e(n, a) { let c = n.typeParameters || a.typeParameters, u; n.typeParameters && a.typeParameters && (u = Wu(a.typeParameters, n.typeParameters)); let p = n.declaration, h = A$e(n, a, u), T = x$e(n.thisParameter, a.thisParameter, u), k = Math.max(n.minArgumentCount, a.minArgumentCount), O = Am(p, c, T, h, void 0, void 0, k, (n.flags | a.flags) & 39); return O.compositeKind = 2097152, O.compositeSignatures = Qi(n.compositeKind === 2097152 && n.compositeSignatures || [n], [a]), u && (O.mapper = n.compositeKind === 2097152 && n.mapper && n.compositeSignatures ? Jv(n.mapper, u) : u), O } function Ore(n, a) { let c = xa(n, 0), u = Pr(c, p => !I$e(p, a)); return u.length === 1 ? u[0] : S$e(u) } function I$e(n, a) { let c = 0; for (; c < a.parameters.length; c++) { let u = a.parameters[c]; if (u.initializer || u.questionToken || u.dotDotDotToken || JR(u)) break } return a.parameters.length && G0(a.parameters[0]) && c--, !jp(n) && xd(n) < c } function Nre(n) { return a2(n) || s_(n) ? bD(n) : void 0 } function bD(n) { L.assert(n.kind !== 171 || s_(n)); let a = Zk(n); if (a) return a; let c = o0(n, 1); if (!c) return; if (!(c.flags & 1048576)) return Ore(c, n); let u, p = c.types; for (let h of p) { let T = Ore(h, n); if (T) if (!u) u = [T]; else if (vM(u[0], T, !1, !0, !0, sD)) u.push(T); else return } if (u) return u.length === 1 ? u[0] : Exe(u[0], u) } function L$e(n, a) { R < 2 && Hc(n, Y.downlevelIteration ? 1536 : 1024); let c = Yi(n.expression, a); return wy(33, c, Oe, n.expression) } function k$e(n) { return n.isSpread ? od(n.type, rt) : n.type } function RC(n) { return n.kind === 205 && !!n.initializer || n.kind === 223 && n.operatorToken.kind === 63 } function gCe(n, a, c) { let u = n.elements, p = u.length, h = [], T = []; pCe(n); let k = Um(n), O = GC(n), H = o0(n, void 0), J = !!H && yh(H, IC), de = !1; for (let Ae = 0; Ae < p; Ae++) { let xe = u[Ae]; if (xe.kind === 227) { R < 2 && Hc(xe, Y.downlevelIteration ? 1536 : 1024); let tt = Yi(xe.expression, a, c); if (Kv(tt)) h.push(tt), T.push(8); else if (k) { let It = fg(tt, rt) || Rie(65, tt, Oe, void 0, !1) || ue; h.push(It), T.push(4) } else h.push(wy(33, tt, Oe, xe.expression)), T.push(4) } else if (Pe && xe.kind === 229) de = !0, h.push(kt), T.push(2); else { let tt = BC(xe, a, c); if (h.push(ao(tt, !0, de)), T.push(de ? 2 : 1), J && a && a & 2 && !(a & 4) && $f(xe)) { let It = M1(n); L.assert(It), v2e(It, xe, tt) } } } return vD(), k ? ap(h, T) : yCe(c || O || J ? ap(h, T, O) : nu(h.length ? Gr(Tl(h, (Ae, xe) => T[xe] & 8 ? Ay(Ae, rt) || Se : Ae), 2) : U ? Vt : je, O)) } function yCe(n) { if (!(Ur(n) & 4)) return n; let a = n.literalType; return a || (a = n.literalType = Wxe(n), a.objectFlags |= 147456), a } function D$e(n) { switch (n.kind) { case 164: return w$e(n); case 79: return Wm(n.escapedText); case 8: case 10: return Wm(n.text); default: return !1 } } function w$e(n) { return ul(vg(n), 296) } function vg(n) { let a = Rr(n.expression); if (!a.resolvedType) { if ((Rd(n.parent.parent) || Yr(n.parent.parent) || ku(n.parent.parent)) && ar(n.expression) && n.expression.operatorToken.kind === 101 && n.parent.kind !== 174 && n.parent.kind !== 175) return a.resolvedType = ve; if (a.resolvedType = Yi(n.expression), Na(n.parent) && !zc(n.parent) && _u(n.parent.parent)) { let c = tm(n.parent.parent), u = xre(c); u && (Rr(u).flags |= 4096, Rr(n).flags |= 32768, Rr(n.parent.parent).flags |= 32768) } (a.resolvedType.flags & 98304 || !ul(a.resolvedType, 402665900) && !to(a.resolvedType, Kr)) && Fe(n, _.A_computed_property_name_must_be_of_type_string_number_symbol_or_any) } return a.resolvedType } function R$e(n) { var a; let c = (a = n.declarations) == null ? void 0 : a[0]; return Wm(n.escapedName) || c && zl(c) && D$e(c.name) } function vCe(n) { var a; let c = (a = n.declarations) == null ? void 0 : a[0]; return gR(n) || c && zl(c) && ts(c.name) && ul(vg(c.name), 4096) } function Pre(n, a, c, u) { let p = []; for (let T = a; T < c.length; T++) { let k = c[T]; (u === ae && !vCe(k) || u === rt && R$e(k) || u === j && vCe(k)) && p.push(zn(c[T])) } let h = p.length ? Gr(p, 2) : Oe; return Fp(u, h, GC(n)) } function Mre(n) { L.assert((n.flags & 2097152) !== 0, "Should only get Alias here."); let a = Ai(n); if (!a.immediateTarget) { let c = Uu(n); if (!c) return L.fail(); a.immediateTarget = L_(c, !0) } return a.immediateTarget } function O$e(n, a) { var c; let u = Um(n); Mrt(n, u); let p = U ? Ua() : void 0, h = Ua(), T = [], k = Ki; pCe(n); let O = o0(n, void 0), H = O && O.pattern && (O.pattern.kind === 203 || O.pattern.kind === 207), J = GC(n), de = J ? 8 : 0, Ae = Yn(n) && !B6(n), xe = Ij(n), tt = !O && Ae && !xe, It = ke, Tn = !1, un = !1, Nn = !1, en = !1; for (let Jt of n.properties) Jt.name && ts(Jt.name) && vg(Jt.name); let cn = 0; for (let Jt of n.properties) { let Cn = fr(Jt), Rn = Jt.name && Jt.name.kind === 164 ? vg(Jt.name) : void 0; if (Jt.kind === 299 || Jt.kind === 300 || s_(Jt)) { let Br = Jt.kind === 299 ? NIe(Jt, a) : Jt.kind === 300 ? BC(!u && Jt.objectAssignmentInitializer ? Jt.objectAssignmentInitializer : Jt.name, a) : PIe(Jt, a); if (Ae) { let wa = di(Jt); wa ? (wu(Br, wa, Jt), Br = wa) : xe && xe.typeExpression && wu(Br, $r(xe.typeExpression), Jt) } It |= Ur(Br) & 458752; let Hr = Rn && fh(Rn) ? Rn : void 0, qi = Hr ? wo(4 | Cn.flags, Np(Hr), de | 4096) : wo(4 | Cn.flags, Cn.escapedName, de); if (Hr && (qi.links.nameType = Hr), u) (Jt.kind === 299 && RC(Jt.initializer) || Jt.kind === 300 && Jt.objectAssignmentInitializer) && (qi.flags |= 16777216); else if (H && !(Ur(O) & 512)) { let wa = ja(O, Cn.escapedName); wa ? qi.flags |= wa.flags & 16777216 : !Y.suppressExcessPropertyErrors && !Cm(O, ae) && Fe(Jt.name, _.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, E(Cn), Ee(O)) } if (qi.declarations = Cn.declarations, qi.parent = Cn.parent, Cn.valueDeclaration && (qi.valueDeclaration = Cn.valueDeclaration), qi.links.type = Br, qi.links.target = Cn, Cn = qi, p?.set(qi.escapedName, qi), O && a && a & 2 && !(a & 4) && (Jt.kind === 299 || Jt.kind === 171) && $f(Jt)) { let wa = M1(n); L.assert(wa); let Xc = Jt.kind === 299 ? Jt.initializer : Jt; v2e(wa, Xc, Br) } } else if (Jt.kind === 301) { R < 2 && Hc(Jt, 2), T.length > 0 && (k = e0(k, rr(), n.symbol, It, J), T = [], h = Ua(), un = !1, Nn = !1, en = !1); let Br = O_(Yi(Jt.expression)); if (RM(Br)) { let Hr = kne(Br, J); if (p && ECe(Hr, p, Jt), cn = T.length, Ro(k)) continue; k = e0(k, Hr, n.symbol, It, J) } else Fe(Jt, _.Spread_types_may_only_be_created_from_object_types), k = ve; continue } else L.assert(Jt.kind === 174 || Jt.kind === 175), zC(Jt); Rn && !(Rn.flags & 8576) ? to(Rn, Kr) && (to(Rn, rt) ? Nn = !0 : to(Rn, j) ? en = !0 : un = !0, u && (Tn = !0)) : h.set(Cn.escapedName, Cn), T.push(Cn) } if (vD(), H) { let Jt = jn(O.pattern.parent, Rn => Rn.kind === 257 || Rn.kind === 223 || Rn.kind === 166); if (jn(n, Rn => Rn === Jt || Rn.kind === 301).kind !== 301) for (let Rn of Jo(O)) !h.get(Rn.escapedName) && !ja(k, Rn.escapedName) && (Rn.flags & 16777216 || Fe(Rn.valueDeclaration || ((c = zr(Rn, Zp)) == null ? void 0 : c.links.bindingElement), _.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value), h.set(Rn.escapedName, Rn), T.push(Rn)) } if (Ro(k)) return ve; if (k !== Ki) return T.length > 0 && (k = e0(k, rr(), n.symbol, It, J), T = [], h = Ua(), un = !1, Nn = !1), Ls(k, Jt => Jt === Ki ? rr() : Jt); return rr(); function rr() { let Jt = []; un && Jt.push(Pre(n, cn, T, ae)), Nn && Jt.push(Pre(n, cn, T, rt)), en && Jt.push(Pre(n, cn, T, j)); let Cn = ls(n.symbol, h, Je, Je, Jt); return Cn.objectFlags |= It | 128 | 131072, tt && (Cn.objectFlags |= 4096), Tn && (Cn.objectFlags |= 512), u && (Cn.pattern = n), Cn } } function RM(n) { let a = m2e(Ls(n, Ty)); return !!(a.flags & 126615553 || a.flags & 3145728 && Ji(a.types, RM)) } function N$e(n) { Ure(n) } function P$e(n, a) { return zC(n), OM(n) || Se } function M$e(n) { Ure(n.openingElement), OC(n.closingElement.tagName) ? Gre(n.closingElement) : Yi(n.closingElement.tagName), jB(n) } function F$e(n, a) { return zC(n), OM(n) || Se } function G$e(n) { Ure(n.openingFragment); let a = Gn(n); return AW(Y) && (Y.jsxFactory || a.pragmas.has("jsx")) && !Y.jsxFragmentFactory && !a.pragmas.has("jsxfrag") && Fe(n, Y.jsxFactory ? _.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option : _.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments), jB(n), OM(n) || Se } function Fre(n) { return jl(n, "-") } function OC(n) { return n.kind === 79 && GI(n.escapedText) } function bCe(n, a) { return n.initializer ? BC(n.initializer, a) : pe } function B$e(n, a) { let c = n.attributes, u = Ru(c, 0), p = U ? Ua() : void 0, h = Ua(), T = kc, k = !1, O, H = !1, J = 2048, de = HB(tA(n)); for (let tt of c.properties) { let It = tt.symbol; if (Sp(tt)) { let Tn = bCe(tt, a); J |= Ur(Tn) & 458752; let un = wo(4 | It.flags, It.escapedName); if (un.declarations = It.declarations, un.parent = It.parent, It.valueDeclaration && (un.valueDeclaration = It.valueDeclaration), un.links.type = Tn, un.links.target = It, h.set(un.escapedName, un), p?.set(un.escapedName, un), tt.name.escapedText === de && (H = !0), u) { let Nn = ja(u, It.escapedName); Nn && Nn.declarations && Sv(Nn) && Xh(tt.name, Nn.declarations, tt.name.escapedText) } } else { L.assert(tt.kind === 290), h.size > 0 && (T = e0(T, xe(), c.symbol, J, !1), h = Ua()); let Tn = O_(Ic(tt.expression, a)); Zo(Tn) && (k = !0), RM(Tn) ? (T = e0(T, Tn, c.symbol, J, !1), p && ECe(Tn, p, tt)) : (Fe(tt.expression, _.Spread_types_may_only_be_created_from_object_types), O = O ? so([O, Tn]) : Tn) } } k || h.size > 0 && (T = e0(T, xe(), c.symbol, J, !1)); let Ae = n.parent.kind === 281 ? n.parent : void 0; if (Ae && Ae.openingElement === n && Ae.children.length > 0) { let tt = jB(Ae, a); if (!k && de && de !== "") { H && Fe(c, _._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, Gi(de)); let It = o0(n.attributes, void 0), Tn = It && eT(It, de), un = wo(4, de); un.links.type = tt.length === 1 ? tt[0] : Tn && yh(Tn, IC) ? ap(tt) : nu(Gr(tt)), un.valueDeclaration = D.createPropertySignature(void 0, Gi(de), void 0, void 0), go(un.valueDeclaration, c), un.valueDeclaration.symbol = un; let Nn = Ua(); Nn.set(de, un), T = e0(T, ls(c.symbol, Nn, Je, Je, Je), c.symbol, J, !1) } } if (k) return Se; if (O && T !== kc) return so([O, T]); return O || (T === kc ? xe() : T); function xe() { J |= ke; let tt = ls(c.symbol, h, Je, Je, Je); return tt.objectFlags |= J | 128 | 131072, tt } } function jB(n, a) { let c = []; for (let u of n.children) if (u.kind === 11) u.containsOnlyTriviaWhiteSpaces || c.push(ae); else { if (u.kind === 291 && !u.expression) continue; c.push(BC(u, a)) } return c } function ECe(n, a, c) { for (let u of Jo(n)) if (!(u.flags & 16777216)) { let p = a.get(u.escapedName); if (p) { let h = Fe(p.valueDeclaration, _._0_is_specified_more_than_once_so_this_usage_will_be_overwritten, Gi(p.escapedName)); Ao(h, hr(c, _.This_spread_always_overwrites_this_property)) } } } function U$e(n, a) { return B$e(n.parent, a) } function s0(n, a) { let c = tA(a), u = c && Gd(c), p = u && yd(u, n, 788968); return p ? gs(p) : ve } function Gre(n) { let a = Rr(n); if (!a.resolvedSymbol) { let c = s0(Qd.IntrinsicElements, n); if (Ro(c)) return ge && Fe(n, _.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists, Gi(Qd.IntrinsicElements)), a.resolvedSymbol = Ht; { if (!Re(n.tagName)) return L.fail(); let u = ja(c, n.tagName.escapedText); return u ? (a.jsxFlags |= 1, a.resolvedSymbol = u) : fg(c, ae) ? (a.jsxFlags |= 2, a.resolvedSymbol = c.symbol) : (Fe(n, _.Property_0_does_not_exist_on_type_1, vr(n.tagName), "JSX." + Qd.IntrinsicElements), a.resolvedSymbol = Ht) } } return a.resolvedSymbol } function Bre(n) { let a = n && Gn(n), c = a && Rr(a); if (c && c.jsxImplicitImportContainer === !1) return; if (c && c.jsxImplicitImportContainer) return c.jsxImplicitImportContainer; let u = p4(_4(Y, a), Y); if (!u) return; let h = $s(Y) === 1 ? _.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : _.Cannot_find_module_0_or_its_corresponding_type_declarations, T = qc(n, u, h, n), k = T && T !== Ht ? No(Ac(T)) : void 0; return c && (c.jsxImplicitImportContainer = k || !1), k } function tA(n) { let a = n && Rr(n); if (a && a.jsxNamespace) return a.jsxNamespace; if (!a || a.jsxNamespace !== !1) { let u = Bre(n); if (!u || u === Ht) { let p = Rb(n); u = zs(n, p, 1920, void 0, p, !1) } if (u) { let p = Ac(yd(Gd(Ac(u)), Qd.JSX, 1920)); if (p && p !== Ht) return a && (a.jsxNamespace = p), p } a && (a.jsxNamespace = !1) } let c = Ac(nD(Qd.JSX, 1920, void 0)); if (c !== Ht) return c } function TCe(n, a) { let c = a && yd(a.exports, n, 788968), u = c && gs(c), p = u && Jo(u); if (p) { if (p.length === 0) return ""; if (p.length === 1) return p[0].escapedName; p.length > 1 && c.declarations && Fe(c.declarations[0], _.The_global_type_JSX_0_may_not_have_more_than_one_property, Gi(n)) } } function V$e(n) { return n && yd(n.exports, Qd.LibraryManagedAttributes, 788968) } function j$e(n) { return TCe(Qd.ElementAttributesPropertyNameContainer, n) } function HB(n) { return TCe(Qd.ElementChildrenAttributeNameContainer, n) } function SCe(n, a) { if (n.flags & 4) return [As]; if (n.flags & 128) { let p = xCe(n, a); return p ? [ZB(a, p)] : (Fe(a, _.Property_0_does_not_exist_on_type_1, n.value, "JSX." + Qd.IntrinsicElements), Je) } let c = Eu(n), u = xa(c, 1); return u.length === 0 && (u = xa(c, 0)), u.length === 0 && c.flags & 1048576 && (u = Gte(on(c.types, p => SCe(p, a)))), u } function xCe(n, a) { let c = s0(Qd.IntrinsicElements, a); if (!Ro(c)) { let u = n.value, p = ja(c, Bs(u)); if (p) return zn(p); let h = fg(c, ae); return h || void 0 } return Se } function H$e(n, a, c) { if (n === 1) { let p = ICe(c); p && Df(a, p, Zu, c.tagName, _.Its_return_type_0_is_not_a_valid_JSX_element, u) } else if (n === 0) { let p = CCe(c); p && Df(a, p, Zu, c.tagName, _.Its_instance_type_0_is_not_a_valid_JSX_element, u) } else { let p = ICe(c), h = CCe(c); if (!p || !h) return; let T = Gr([p, h]); Df(a, T, Zu, c.tagName, _.Its_element_type_0_is_not_a_valid_JSX_element, u) } function u() { let p = Qc(c.tagName); return da(void 0, _._0_cannot_be_used_as_a_JSX_component, p) } } function ACe(n) { L.assert(OC(n.tagName)); let a = Rr(n); if (!a.resolvedJsxElementAttributesType) { let c = Gre(n); return a.jsxFlags & 1 ? a.resolvedJsxElementAttributesType = zn(c) || ve : a.jsxFlags & 2 ? a.resolvedJsxElementAttributesType = fg(s0(Qd.IntrinsicElements, n), ae) || ve : a.resolvedJsxElementAttributesType = ve } return a.resolvedJsxElementAttributesType } function CCe(n) { let a = s0(Qd.ElementClass, n); if (!Ro(a)) return a } function OM(n) { return s0(Qd.Element, n) } function ICe(n) { let a = OM(n); if (a) return Gr([a, ln]) } function W$e(n) { let a = s0(Qd.IntrinsicElements, n); return a ? Jo(a) : Je } function z$e(n) { (Y.jsx || 0) === 0 && Fe(n, _.Cannot_use_JSX_unless_the_jsx_flag_is_provided), OM(n) === void 0 && ge && Fe(n, _.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist) } function Ure(n) { let a = Au(n); if (a && Frt(n), z$e(n), !Bre(n)) { let c = Lo && Y.jsx === 2 ? _.Cannot_find_name_0 : void 0, u = Rb(n), p = a ? n.tagName : n, h; if (US(n) && u === "null" || (h = zs(p, u, 111551, c, u, !0)), h && (h.isReferenced = 67108863, !Y.verbatimModuleSyntax && h.flags & 2097152 && !nd(h) && Hb(h)), US(n)) { let T = Gn(n), k = h1(T); k && zs(p, k, 111551, c, k, !0) } } if (a) { let c = n, u = MC(c); tU(u, n), H$e($Ce(c), qo(u), c) } } function Vre(n, a, c) { if (n.flags & 524288) { if (qb(n, a) || jx(n, a) || qk(a) && Cm(n, ae) || c && Fre(a)) return !0 } else if (n.flags & 3145728 && NM(n)) { for (let u of n.types) if (Vre(u, a, c)) return !0 } return !1 } function NM(n) { return !!(n.flags & 524288 && !(Ur(n) & 512) || n.flags & 67108864 || n.flags & 1048576 && vt(n.types, NM) || n.flags & 2097152 && Ji(n.types, NM)) } function J$e(n, a) { if (Brt(n), n.expression) { let c = Yi(n.expression, a); return n.dotDotDotToken && c !== Se && !_f(c) && Fe(n, _.JSX_spread_child_must_be_an_array_type), c } else return ve } function WB(n) { return n.valueDeclaration ? G_(n.valueDeclaration) : 0 } function jre(n) { if (n.flags & 8192 || ac(n) & 4) return !0; if (Yn(n.valueDeclaration)) { let a = n.valueDeclaration.parent; return a && ar(a) && ic(a) === 3 } } function Hre(n, a, c, u, p, h = !0) { let T = h ? n.kind === 163 ? n.right : n.kind === 202 ? n : n.kind === 205 && n.propertyName ? n.propertyName : n.name : void 0; return LCe(n, a, c, u, p, T) } function LCe(n, a, c, u, p, h) { let T = Ef(p, c); if (a) { if (R < 2 && kCe(p)) return h && Fe(h, _.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword), !1; if (T & 256) return h && Fe(h, _.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression, E(p), Ee(N1(p))), !1 } if (T & 256 && kCe(p) && (zw(n) || sce(n) || cm(n.parent) && N6(n.parent.parent))) { let O = Nh(ju(p)); if (O && Gnt(n)) return h && Fe(h, _.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, E(p), l_(O.name)), !1 } if (!(T & 24)) return !0; if (T & 8) { let O = Nh(ju(p)); return Hie(n, O) ? !0 : (h && Fe(h, _.Property_0_is_private_and_only_accessible_within_class_1, E(p), Ee(N1(p))), !1) } if (a) return !0; let k = zLe(n, O => { let H = gs(fr(O)); return c2e(H, p, c) }); return !k && (k = K$e(n), k = k && c2e(k, p, c), T & 32 || !k) ? (h && Fe(h, _.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, E(p), Ee(N1(p) || u)), !1) : T & 32 ? !0 : (u.flags & 262144 && (u = u.isThisType ? eu(u) : bu(u)), !u || !BE(u, k) ? (h && Fe(h, _.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2, E(p), Ee(k), Ee(u)), !1) : !0) } function K$e(n) { let a = q$e(n), c = a?.type && $r(a.type); if (c && c.flags & 262144 && (c = eu(c)), c && Ur(c) & 7) return Bx(c) } function q$e(n) { let a = Ku(n, !1, !1); return a && Ia(a) ? F0(a) : void 0 } function kCe(n) { return !!gM(n, a => !(a.flags & 8192)) } function NC(n) { return sp(Yi(n), n) } function zB(n) { return !!(iu(n) & 50331648) } function Wre(n) { return zB(n) ? yg(n) : n } function X$e(n, a) { let c = bc(n) ? qd(n) : void 0; if (n.kind === 104) { Fe(n, _.The_value_0_cannot_be_used_here, "null"); return } if (c !== void 0 && c.length < 100) { if (Re(n) && c === "undefined") { Fe(n, _.The_value_0_cannot_be_used_here, "undefined"); return } Fe(n, a & 16777216 ? a & 33554432 ? _._0_is_possibly_null_or_undefined : _._0_is_possibly_undefined : _._0_is_possibly_null, c) } else Fe(n, a & 16777216 ? a & 33554432 ? _.Object_is_possibly_null_or_undefined : _.Object_is_possibly_undefined : _.Object_is_possibly_null) } function Y$e(n, a) { Fe(n, a & 16777216 ? a & 33554432 ? _.Cannot_invoke_an_object_which_is_possibly_null_or_undefined : _.Cannot_invoke_an_object_which_is_possibly_undefined : _.Cannot_invoke_an_object_which_is_possibly_null) } function DCe(n, a, c) { if (U && n.flags & 2) { if (bc(a)) { let p = qd(a); if (p.length < 100) return Fe(a, _._0_is_of_type_unknown, p), ve } return Fe(a, _.Object_is_of_type_unknown), ve } let u = iu(n); if (u & 50331648) { c(a, u); let p = yg(n); return p.flags & 229376 ? ve : p } return n } function sp(n, a) { return DCe(n, a, X$e) } function wCe(n, a) { let c = sp(n, a); if (c.flags & 16384) { if (bc(a)) { let u = qd(a); if (Re(a) && u === "undefined") return Fe(a, _.The_value_0_cannot_be_used_here, u), c; if (u.length < 100) return Fe(a, _._0_is_possibly_undefined, u), c } Fe(a, _.Object_is_possibly_undefined) } return c } function RCe(n, a) { return n.flags & 32 ? $$e(n, a) : Jre(n, n.expression, NC(n.expression), n.name, a) } function $$e(n, a) { let c = Yi(n.expression), u = dD(c, n.expression); return SB(Jre(n, n.expression, sp(u, n.expression), n.name, a), n, u !== c) } function OCe(n, a) { let c = G6(n) && LT(n.left) ? sp(kM(n.left), n.left) : NC(n.left); return Jre(n, n.left, c, n.right, a) } function NCe(n) { for (; n.parent.kind === 214;)n = n.parent; return Ih(n.parent) && n.parent.expression === n } function JB(n, a) { for (let c = Zc(a); c; c = Zc(c)) { let { symbol: u } = c, p = hR(u, n), h = u.members && u.members.get(p) || u.exports && u.exports.get(p); if (h) return h } } function Q$e(n) { if (!Zc(n)) return an(n, _.Private_identifiers_are_not_allowed_outside_class_bodies); if (!Mz(n.parent)) { if (!Dh(n)) return an(n, _.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression); let a = ar(n.parent) && n.parent.operatorToken.kind === 101; if (!KB(n) && !a) return an(n, _.Cannot_find_name_0, vr(n)) } return !1 } function Z$e(n) { Q$e(n); let a = KB(n); return a && MM(a, void 0, !1), Se } function KB(n) { if (!Dh(n)) return; let a = Rr(n); return a.resolvedSymbol === void 0 && (a.resolvedSymbol = JB(n.escapedText, n)), a.resolvedSymbol } function zre(n, a) { return ja(n, a.escapedName) } function eQe(n, a, c) { let u, p = Jo(n); p && mn(p, T => { let k = T.valueDeclaration; if (k && zl(k) && pi(k.name) && k.name.escapedText === a.escapedText) return u = T, !0 }); let h = Cf(a); if (u) { let T = L.checkDefined(u.valueDeclaration), k = L.checkDefined(Zc(T)); if (c?.valueDeclaration) { let O = c.valueDeclaration, H = Zc(O); if (L.assert(!!H), jn(H, J => k === J)) { let J = Fe(a, _.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling, h, Ee(n)); return Ao(J, hr(O, _.The_shadowing_declaration_of_0_is_defined_here, h), hr(T, _.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here, h)), !0 } } return Fe(a, _.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier, h, Cf(k.name || nN)), !0 } return !1 } function PCe(n, a) { return (id(a) || zw(n) && np(a)) && Ku(n, !0, !1) === Op(a) } function Jre(n, a, c, u, p) { let h = Rr(a).resolvedSymbol, T = xT(n), k = Eu(T !== 0 || NCe(n) ? Sd(c) : c), O = Zo(k) || k === Qe, H; if (pi(u)) { R < 99 && (T !== 0 && Hc(n, 1048576), T !== 1 && Hc(n, 524288)); let de = JB(u.escapedText, u); if (T && de && de.valueDeclaration && Nc(de.valueDeclaration) && an(u, _.Cannot_assign_to_private_method_0_Private_methods_are_not_writable, vr(u)), O) { if (de) return Ro(k) ? ve : k; if (!Zc(u)) return an(u, _.Private_identifiers_are_not_allowed_outside_class_bodies), Se } if (H = de ? zre(c, de) : void 0, !H && eQe(c, u, de)) return ve; H && H.flags & 65536 && !(H.flags & 32768) && T !== 1 && Fe(n, _.Private_accessor_was_defined_without_a_getter) } else { if (O) return Re(a) && h && FB(h, n), Ro(k) ? ve : k; H = ja(k, u.escapedText, !1, n.kind === 163) } Re(a) && h && (d_(Y) || !(H && (MD(H) || H.flags & 8 && n.parent.kind === 302)) || U0(Y) && eCe(n)) && FB(h, n); let J; if (H) { Sv(H) && xne(n, H) && H.declarations && Xh(u, H.declarations, u.escapedText), tQe(H, n, u), MM(H, n, jCe(a, h)), Rr(n).resolvedSymbol = H; let de = YI(n); if (Hre(n, a.kind === 106, de, k, H), LIe(n, H, T)) return Fe(u, _.Cannot_assign_to_0_because_it_is_a_read_only_property, vr(u)), ve; J = PCe(n, H) ? at : de ? mC(H) : zn(H) } else { let de = !pi(u) && (T === 0 || !Zb(c) || lL(c)) ? jx(k, u.escapedText) : void 0; if (!(de && de.type)) { let Ae = Kre(n, c.symbol, !0); return !Ae && iD(c) ? Se : c.symbol === Ye ? (Ye.exports.has(u.escapedText) && Ye.exports.get(u.escapedText).flags & 418 ? Fe(u, _.Property_0_does_not_exist_on_type_1, Gi(u.escapedText), Ee(c)) : ge && Fe(u, _.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature, Ee(c)), Se) : (u.escapedText && !xv(n) && GCe(u, lL(c) ? k : c, Ae), ve) } de.isReadonly && (Um(n) || GH(n)) && Fe(n, _.Index_signature_in_type_0_only_permits_reading, Ee(k)), J = Y.noUncheckedIndexedAccess && !Um(n) ? Gr([de.type, Ge]) : de.type, Y.noPropertyAccessFromIndexSignature && br(n) && Fe(u, _.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0, Gi(u.escapedText)), de.declaration && G_(de.declaration) & 268435456 && Xh(u, [de.declaration], u.escapedText) } return MCe(n, H, J, u, p) } function Kre(n, a, c) { let u = Gn(n); if (u && Y.checkJs === void 0 && u.checkJsDirective === void 0 && (u.scriptKind === 1 || u.scriptKind === 2)) { let p = mn(a?.declarations, Gn); return !(u !== p && p && gm(p)) && !(c && a && a.flags & 32) && !(n && c && br(n) && n.expression.kind === 108) } return !1 } function MCe(n, a, c, u, p) { let h = xT(n); if (h === 1) return KE(c, !!(a && a.flags & 16777216)); if (a && !(a.flags & 98311) && !(a.flags & 8192 && c.flags & 1048576) && !yU(a.declarations)) return c; if (c === at) return Fx(n, a); c = Sre(c, n, p); let T = !1; if (U && _e && Us(n) && n.expression.kind === 108) { let O = a && a.valueDeclaration; if (O && wLe(O) && !Ca(O)) { let H = yD(n); H.kind === 173 && H.parent === O.parent && !(O.flags & 16777216) && (T = !0) } } else U && a && a.valueDeclaration && br(a.valueDeclaration) && tR(a.valueDeclaration) && yD(n) === yD(a.valueDeclaration) && (T = !0); let k = Yv(n, c, T ? gg(c) : c); return T && !xC(c) && xC(k) ? (Fe(u, _.Property_0_is_used_before_being_assigned, E(a)), c) : h ? ky(k) : k } function tQe(n, a, c) { let { valueDeclaration: u } = n; if (!u || Gn(a).isDeclarationFile) return; let p, h = vr(c); FCe(a) && !YJe(u) && !(Us(a) && Us(a.expression)) && !$h(u, c) && !(Nc(u) && wg(u) & 32) && (Y.useDefineForClassFields || !nQe(n)) ? p = Fe(c, _.Property_0_is_used_before_its_initialization, h) : u.kind === 260 && a.parent.kind !== 180 && !(u.flags & 16777216) && !$h(u, c) && (p = Fe(c, _.Class_0_used_before_its_declaration, h)), p && Ao(p, hr(u, _._0_is_declared_here, h)) } function FCe(n) { return !!jn(n, a => { switch (a.kind) { case 169: return !0; case 299: case 171: case 174: case 175: case 301: case 164: case 236: case 291: case 288: case 289: case 290: case 283: case 230: case 294: return !1; case 216: case 241: return Va(a.parent) && oc(a.parent.parent) ? !0 : "quit"; default: return Dh(a) ? !1 : "quit" } }) } function nQe(n) { if (!(n.parent.flags & 32)) return !1; let a = zn(n.parent); for (; ;) { if (a = a.symbol && rQe(a), !a) return !1; let c = ja(a, n.escapedName); if (c && c.valueDeclaration) return !0 } } function rQe(n) { let a = _o(n); if (a.length !== 0) return so(a) } function GCe(n, a, c) { let u, p; if (!pi(n) && a.flags & 1048576 && !(a.flags & 134348796)) { for (let T of a.types) if (!ja(T, n.escapedText) && !jx(T, n.escapedText)) { u = da(u, _.Property_0_does_not_exist_on_type_1, os(n), Ee(T)); break } } if (BCe(n.escapedText, a)) { let T = os(n), k = Ee(a); u = da(u, _.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, T, k, k + "." + T) } else { let T = wD(a); if (T && ja(T, n.escapedText)) u = da(u, _.Property_0_does_not_exist_on_type_1, os(n), Ee(a)), p = hr(n, _.Did_you_forget_to_use_await); else { let k = os(n), O = Ee(a), H = oQe(k, a); if (H !== void 0) u = da(u, _.Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later, k, O, H); else { let J = qre(n, a); if (J !== void 0) { let de = fc(J), Ae = c ? _.Property_0_may_not_exist_on_type_1_Did_you_mean_2 : _.Property_0_does_not_exist_on_type_1_Did_you_mean_2; u = da(u, Ae, k, O, de), p = J.valueDeclaration && hr(J.valueDeclaration, _._0_is_declared_here, de) } else { let de = iQe(a) ? _.Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom : _.Property_0_does_not_exist_on_type_1; u = da(Xte(u, a), de, k, O) } } } } let h = Lh(Gn(n), n, u); p && Ao(h, p), ey(!c || u.code !== _.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code, h) } function iQe(n) { return Y.lib && !Y.lib.includes("dom") && TYe(n, a => a.symbol && /^(EventTarget|Node|((HTML[a-zA-Z]*)?Element))$/.test(Gi(a.symbol.escapedName))) && mh(n) } function BCe(n, a) { let c = a.symbol && ja(zn(a.symbol), n); return c !== void 0 && !!c.valueDeclaration && Ca(c.valueDeclaration) } function aQe(n) { let a = Cf(n), u = oH().get(a); return u && pae(u.keys()) } function oQe(n, a) { let c = Eu(a).symbol; if (!c) return; let u = fc(c), h = oH().get(u); if (h) { for (let [T, k] of h) if (ya(k, n)) return T } } function UCe(n, a) { return PM(n, Jo(a), 106500) } function qre(n, a) { let c = Jo(a); if (typeof n != "string") { let u = n.parent; br(u) && (c = Pr(c, p => HCe(u, a, p))), n = vr(n) } return PM(n, c, 111551) } function VCe(n, a) { let c = Ta(n) ? n : vr(n), u = Jo(a), p = c === "for" ? wr(u, h => fc(h) === "htmlFor") : c === "class" ? wr(u, h => fc(h) === "className") : void 0; return p ?? PM(c, u, 111551) } function Xre(n, a) { let c = qre(n, a); return c && fc(c) } function Yre(n, a, c) { return L.assert(a !== void 0, "outername should always be defined"), Fb(n, a, c, void 0, a, !1, !1, !0, (p, h, T) => { L.assertEqual(a, h, "name should equal outerName"); let k = yd(p, h, T); if (k) return k; let O; return p === Ne ? O = Zi(["string", "number", "boolean", "object", "bigint", "symbol"], J => p.has(J.charAt(0).toUpperCase() + J.slice(1)) ? wo(524288, J) : void 0).concat(lo(p.values())) : O = lo(p.values()), PM(Gi(h), O, T) }) } function sQe(n, a, c) { let u = Yre(n, a, c); return u && fc(u) } function qB(n, a) { return a.exports && PM(vr(n), sy(a), 2623475) } function cQe(n, a) { let c = qB(n, a); return c && fc(c) } function lQe(n, a, c) { function u(T) { let k = qb(n, T); if (k) { let O = F1(zn(k)); return !!O && Vp(O) >= 1 && to(c, P_(O, 0)) } return !1 } let p = Um(a) ? "set" : "get"; if (!u(p)) return; let h = kR(a.expression); return h === void 0 ? h = p : h += "." + p, h } function uQe(n, a) { let c = a.types.filter(u => !!(u.flags & 128)); return $C(n.value, c, u => u.value) } function PM(n, a, c) { return $C(n, a, u); function u(p) { let h = fc(p); if (!na(h, '"')) { if (p.flags & c) return h; if (p.flags & 2097152) { let T = tg(p); if (T && T.flags & c) return h } } } } function MM(n, a, c) { let u = n && n.flags & 106500 && n.valueDeclaration; if (!u) return; let p = cd(u, 8), h = n.valueDeclaration && zl(n.valueDeclaration) && pi(n.valueDeclaration.name); if (!(!p && !h) && !(a && hW(a) && !(n.flags & 65536))) { if (c) { let T = jn(a, Ds); if (T && T.symbol === n) return } (ac(n) & 1 ? Ai(n).target : n).isReferenced = 67108863 } } function jCe(n, a) { return n.kind === 108 || !!a && bc(n) && a === Qf(Yd(n)) } function dQe(n, a) { switch (n.kind) { case 208: return $re(n, n.expression.kind === 106, a, Sd(Yi(n.expression))); case 163: return $re(n, !1, a, Sd(Yi(n.left))); case 202: return $re(n, !1, a, $r(n)) } } function HCe(n, a, c) { return Qre(n, n.kind === 208 && n.expression.kind === 106, !1, a, c) } function $re(n, a, c, u) { if (Zo(u)) return !0; let p = ja(u, c); return !!p && Qre(n, a, !1, u, p) } function Qre(n, a, c, u, p) { if (Zo(u)) return !0; if (p.valueDeclaration && xu(p.valueDeclaration)) { let h = Zc(p.valueDeclaration); return !Jl(n) && !!jn(n, T => T === h) } return LCe(n, a, c, u, p) } function fQe(n) { let a = n.initializer; if (a.kind === 258) { let c = a.declarations[0]; if (c && !La(c.name)) return fr(c) } else if (a.kind === 79) return Qf(a) } function _Qe(n) { return tu(n).length === 1 && !!Cm(n, rt) } function pQe(n) { let a = vs(n); if (a.kind === 79) { let c = Qf(a); if (c.flags & 3) { let u = n, p = n.parent; for (; p;) { if (p.kind === 246 && u === p.statement && fQe(p) === c && _Qe(au(p.expression))) return !0; u = p, p = p.parent } } } return !1 } function mQe(n, a) { return n.flags & 32 ? hQe(n, a) : WCe(n, NC(n.expression), a) } function hQe(n, a) { let c = Yi(n.expression), u = dD(c, n.expression); return SB(WCe(n, sp(u, n.expression), a), n, u !== c) } function WCe(n, a, c) { let u = xT(n) !== 0 || NCe(n) ? Sd(a) : a, p = n.argumentExpression, h = Yi(p); if (Ro(u) || u === Qe) return u; if (hie(u) && !es(p)) return Fe(p, _.A_const_enum_member_can_only_be_accessed_using_a_string_literal), ve; let T = pQe(p) ? rt : h, k = Um(n) ? 4 | (Zb(u) && !lL(u) ? 2 : 0) : 32, O = Ay(u, T, k, n) || ve; return qIe(MCe(n, Rr(n).resolvedSymbol, O, p, c), n) } function zCe(n) { return Ih(n) || PT(n) || Au(n) } function nA(n) { return zCe(n) && mn(n.typeArguments, qa), n.kind === 212 ? Yi(n.template) : Au(n) ? Yi(n.attributes) : n.kind !== 167 && mn(n.arguments, a => { Yi(a) }), As } function Up(n) { return nA(n), jt } function gQe(n, a, c) { let u, p, h = 0, T, k = -1, O; L.assert(!a.length); for (let H of n) { let J = H.declaration && fr(H.declaration), de = H.declaration && H.declaration.parent; !p || J === p ? u && de === u ? T = T + 1 : (u = de, T = h) : (T = h = a.length, u = de), p = J, _K(H) ? (k++, O = k, h++) : O = T, a.splice(O, 0, c ? bJe(H, c) : H) } } function XB(n) { return !!n && (n.kind === 227 || n.kind === 234 && n.isSpread) } function YB(n) { return Yc(n, XB) } function JCe(n) { return !!(n.flags & 16384) } function yQe(n) { return !!(n.flags & 49155) } function $B(n, a, c, u = !1) { let p, h = !1, T = xd(c), k = Vp(c); if (n.kind === 212) if (p = a.length, n.template.kind === 225) { let O = To(n.template.templateSpans); h = rc(O.literal) || !!O.literal.isUnterminated } else { let O = n.template; L.assert(O.kind === 14), h = !!O.isUnterminated } else if (n.kind === 167) p = ZCe(n, c); else if (Au(n)) { if (h = n.attributes.end === n.end, h) return !0; p = k === 0 ? a.length : 1, T = a.length === 0 ? T : 1, k = Math.min(k, 1) } else if (n.arguments) { p = u ? a.length + 1 : a.length, h = n.arguments.end === n.end; let O = YB(a); if (O >= 0) return O >= Vp(c) && (jp(c) || O < xd(c)) } else return L.assert(n.kind === 211), Vp(c) === 0; if (!jp(c) && p > T) return !1; if (h || p >= k) return !0; for (let O = p; O < k; O++) { let H = P_(c, O); if (jc(H, Yn(n) && !U ? yQe : JCe).flags & 131072) return !1 } return !0 } function Zre(n, a) { let c = Fn(n.typeParameters), u = Mp(n.typeParameters); return !vt(a) || a.length >= u && a.length <= c } function F1(n) { return ED(n, 0, !1) } function KCe(n) { return ED(n, 0, !1) || ED(n, 1, !1) } function ED(n, a, c) { if (n.flags & 524288) { let u = R_(n); if (c || u.properties.length === 0 && u.indexInfos.length === 0) { if (a === 0 && u.callSignatures.length === 1 && u.constructSignatures.length === 0) return u.callSignatures[0]; if (a === 1 && u.constructSignatures.length === 1 && u.callSignatures.length === 0) return u.constructSignatures[0] } } } function qCe(n, a, c, u) { let p = _D(n.typeParameters, n, 0, u), h = xD(a), T = c && (h && h.flags & 262144 ? c.nonFixingMapper : c.mapper), k = T ? $x(a, T) : a; return rre(k, n, (O, H) => { gh(p.inferences, O, H) }), c || ire(a, n, (O, H) => { gh(p.inferences, O, H, 128) }), eD(n, gre(p), Yn(a.declaration)) } function vQe(n, a, c, u) { let p = VB(a, n), h = rA(n.attributes, p, u, c); return gh(u.inferences, h, p), gre(u) } function XCe(n) { if (!n) return yt; let a = Yi(n); return pI(n.parent) ? yg(a) : Jl(n.parent) ? ere(a) : a } function eie(n, a, c, u, p) { if (Au(n)) return vQe(n, a, u, p); if (n.kind !== 167) { let O = Ji(a.typeParameters, J => !!jE(J)), H = Ru(n, O ? 8 : 0); if (H) { let J = qo(a); if (XE(J)) { let de = M1(n); if (!(!O && Ru(n, 8) !== H)) { let It = sre(GXe(de, 1)), Tn = Oi(H, It), un = F1(Tn), Nn = un && un.typeParameters ? HE(ine(un, un.typeParameters)) : Tn; gh(p.inferences, Nn, J, 128) } let xe = _D(a.typeParameters, a, p.flags), tt = Oi(H, de && de.returnMapper); gh(xe.inferences, tt, J), p.returnMapper = vt(xe.inferences, iA) ? sre(jXe(xe)) : void 0 } } } let h = AD(a), T = h ? Math.min(xd(a) - 1, c.length) : c.length; if (h && h.flags & 262144) { let O = wr(p.inferences, H => H.typeParameter === h); O && (O.impliedArity = Yc(c, XB, T) < 0 ? c.length - T : void 0) } let k = Yb(a); if (k && XE(k)) { let O = QCe(n); gh(p.inferences, XCe(O), k) } for (let O = 0; O < T; O++) { let H = c[O]; if (H.kind !== 229 && !(u & 32 && dre(H))) { let J = P_(a, O); if (XE(J)) { let de = rA(H, J, p, u); gh(p.inferences, de, J) } } } if (h && XE(h)) { let O = tie(c, T, c.length, h, p, u); gh(p.inferences, O, h) } return gre(p) } function YCe(n) { return n.flags & 1048576 ? Ls(n, YCe) : n.flags & 1 || vB(bu(n) || n) ? n : po(n) ? ap(Ko(n), n.target.elementFlags, !1, n.target.labeledElementDeclarations) : ap([n], [8]) } function tie(n, a, c, u, p, h) { if (a >= c - 1) { let J = n[c - 1]; if (XB(J)) return YCe(J.kind === 234 ? J.type : rA(J.expression, u, p, h)) } let T = [], k = [], O = [], H = tM(u); for (let J = a; J < c; J++) { let de = n[J]; if (XB(de)) { let Ae = de.kind === 234 ? de.type : Yi(de.expression); Kv(Ae) ? (T.push(Ae), k.push(8)) : (T.push(wy(33, Ae, Oe, de.kind === 227 ? de.expression : de)), k.push(4)) } else { let Ae = od(u, op(J - a), 256), xe = rA(de, Ae, p, h), tt = H || Js(Ae, 406978556); T.push(tt ? Hu(xe) : i0(xe)), k.push(1) } de.kind === 234 && de.tupleNameSource && O.push(de.tupleNameSource) } return ap(T, k, H, Fn(O) === Fn(T) ? O : void 0) } function nie(n, a, c, u) { let p = Yn(n.declaration), h = n.typeParameters, T = Sy(on(a, $r), h, Mp(h), p), k; for (let O = 0; O < a.length; O++) { L.assert(h[O] !== void 0, "Should not call checkTypeArguments with too many type arguments"); let H = eu(h[O]); if (H) { let J = c && u ? () => da(void 0, _.Type_0_does_not_satisfy_the_constraint_1) : void 0, de = u || _.Type_0_does_not_satisfy_the_constraint_1; k || (k = Wu(h, T)); let Ae = T[O]; if (!wu(Ae, uf(Oi(H, k), Ae), c ? a[O] : void 0, de, J)) return } } return T } function $Ce(n) { if (OC(n.tagName)) return 2; let a = Eu(Yi(n.tagName)); return Fn(xa(a, 1)) ? 0 : Fn(xa(a, 0)) ? 1 : 2 } function bQe(n, a, c, u, p, h, T) { let k = VB(a, n), O = rA(n.attributes, k, void 0, u); return H() && Bne(O, k, c, p ? n.tagName : void 0, n.attributes, void 0, h, T); function H() { var J; if (Bre(n)) return !0; let de = Xm(n) || FS(n) && !OC(n.tagName) ? Yi(n.tagName) : void 0; if (!de) return !0; let Ae = xa(de, 0); if (!Fn(Ae)) return !0; let xe = nke(n); if (!xe) return !0; let tt = uc(xe, 111551, !0, !1, n); if (!tt) return !0; let It = zn(tt), Tn = xa(It, 0); if (!Fn(Tn)) return !0; let un = !1, Nn = 0; for (let cn of Tn) { let rr = P_(cn, 0), Jt = xa(rr, 0); if (Fn(Jt)) for (let Cn of Jt) { if (un = !0, jp(Cn)) return !0; let Rn = xd(Cn); Rn > Nn && (Nn = Rn) } } if (!un) return !0; let en = 1 / 0; for (let cn of Ae) { let rr = Vp(cn); rr < en && (en = rr) } if (en <= Nn) return !0; if (p) { let cn = hr(n.tagName, _.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3, qd(n.tagName), en, qd(xe), Nn), rr = (J = Zf(n.tagName)) == null ? void 0 : J.valueDeclaration; rr && Ao(cn, hr(rr, _._0_is_declared_here, qd(n.tagName))), T && T.skipLogging && (T.errors || (T.errors = [])).push(cn), T.skipLogging || Lo.add(cn) } return !1 } } function FM(n, a, c, u, p, h, T) { let k = { errors: void 0, skipLogging: !0 }; if (Au(n)) return bQe(n, c, u, p, h, T, k) ? void 0 : (L.assert(!h || !!k.errors, "jsx should have errors when reporting errors"), k.errors || Je); let O = Yb(c); if (O && O !== yt && !(z0(n) || Pa(n) && Pu(n.expression))) { let xe = QCe(n), tt = XCe(xe), It = h ? xe || n : void 0, Tn = _.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1; if (!Df(tt, O, u, It, Tn, T, k)) return L.assert(!h || !!k.errors, "this parameter should have errors when reporting errors"), k.errors || Je } let H = _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1, J = AD(c), de = J ? Math.min(xd(c) - 1, a.length) : a.length; for (let xe = 0; xe < de; xe++) { let tt = a[xe]; if (tt.kind !== 229) { let It = P_(c, xe), Tn = rA(tt, It, void 0, p), un = p & 4 ? EM(Tn) : Tn; if (!Bne(un, It, u, h ? tt : void 0, tt, H, T, k)) return L.assert(!h || !!k.errors, "parameter should have errors when reporting errors"), Ae(tt, un, It), k.errors || Je } } if (J) { let xe = tie(a, de, a.length, J, void 0, p), tt = a.length - de, It = h ? tt === 0 ? n : tt === 1 ? a[de] : om(GM(n, xe), a[de].pos, a[a.length - 1].end) : void 0; if (!Df(xe, J, u, It, H, void 0, k)) return L.assert(!h || !!k.errors, "rest parameter should have errors when reporting errors"), Ae(It, xe, J), k.errors || Je } return; function Ae(xe, tt, It) { if (xe && h && k.errors && k.errors.length) { if (DD(It)) return; let Tn = DD(tt); Tn && Bp(Tn, It, u) && Ao(k.errors[0], hr(xe, _.Did_you_forget_to_use_await)) } } } function QCe(n) { let a = n.kind === 210 ? n.expression : n.kind === 212 ? n.tag : void 0; if (a) { let c = ql(a); if (Us(c)) return c.expression } } function GM(n, a, c, u) { let p = fm.createSyntheticExpression(a, c, u); return it(p, n), go(p, n), p } function rie(n) { if (n.kind === 212) { let u = n.template, p = [GM(u, _Ke())]; return u.kind === 225 && mn(u.templateSpans, h => { p.push(h.expression) }), p } if (n.kind === 167) return EQe(n); if (Au(n)) return n.attributes.properties.length > 0 || Xm(n) && n.parent.children.length > 0 ? [n.attributes] : Je; let a = n.arguments || Je, c = YB(a); if (c >= 0) { let u = a.slice(0, c); for (let p = c; p < a.length; p++) { let h = a[p], T = h.kind === 227 && (Dn ? Yi(h.expression) : Ic(h.expression)); T && po(T) ? mn(Ko(T), (k, O) => { var H; let J = T.target.elementFlags[O], de = GM(h, J & 4 ? nu(k) : k, !!(J & 12), (H = T.target.labeledElementDeclarations) == null ? void 0 : H[O]); u.push(de) }) : u.push(h) } return u } return a } function EQe(n) { let a = n.expression, c = _ie(n); if (c) { let u = []; for (let p of c.parameters) { let h = zn(p); u.push(GM(a, h)) } return u } return L.fail() } function ZCe(n, a) { return Y.experimentalDecorators ? TQe(n, a) : 2 } function TQe(n, a) { switch (n.parent.kind) { case 260: case 228: return 1; case 169: return rm(n.parent) ? 3 : 2; case 171: case 174: case 175: return R === 0 || a.parameters.length <= 2 ? 2 : 3; case 166: return 3; default: return L.fail() } } function eIe(n, a) { let c, u, p = Gn(n); if (br(n.expression)) { let h = w0(p, n.expression.name); c = h.start, u = a ? h.length : n.end - c } else { let h = w0(p, n.expression); c = h.start, u = a ? h.length : n.end - c } return { start: c, length: u, sourceFile: p } } function TD(n, a, c, u, p, h) { if (Pa(n)) { let { sourceFile: T, start: k, length: O } = eIe(n); return "message" in a ? al(T, k, O, a, c, u, p, h) : yH(T, a) } else return "message" in a ? hr(n, a, c, u, p, h) : Lh(Gn(n), n, a) } function SQe(n) { if (!Pa(n) || !Re(n.expression)) return !1; let a = zs(n.expression, n.expression.escapedText, 111551, void 0, void 0, !1), c = a?.valueDeclaration; if (!c || !ha(c) || !a2(c.parent) || !z0(c.parent.parent) || !Re(c.parent.parent.expression)) return !1; let u = _ne(!1); return u ? Zf(c.parent.parent.expression, !0) === u : !1 } function tIe(n, a, c, u) { var p; let h = YB(c); if (h > -1) return hr(c[h], _.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter); let T = Number.POSITIVE_INFINITY, k = Number.NEGATIVE_INFINITY, O = Number.NEGATIVE_INFINITY, H = Number.POSITIVE_INFINITY, J; for (let It of a) { let Tn = Vp(It), un = xd(It); Tn < T && (T = Tn, J = It), k = Math.max(k, un), Tn < c.length && Tn > O && (O = Tn), c.length < un && un < H && (H = un) } let de = vt(a, jp), Ae = de ? T : T < k ? T + "-" + k : T, xe = !de && Ae === 1 && c.length === 0 && SQe(n); if (xe && Yn(n)) return TD(n, _.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments); let tt = du(n) ? de ? _.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0 : _.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0 : de ? _.Expected_at_least_0_arguments_but_got_1 : xe ? _.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise : _.Expected_0_arguments_but_got_1; if (T < c.length && c.length < k) { if (u) { let It = da(void 0, _.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments, c.length, O, H); return It = da(It, u), TD(n, It) } return TD(n, _.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments, c.length, O, H) } else if (c.length < T) { let It; if (u) { let un = da(void 0, tt, Ae, c.length); un = da(un, u), It = TD(n, un) } else It = TD(n, tt, Ae, c.length); let Tn = (p = J?.declaration) == null ? void 0 : p.parameters[J.thisParameter ? c.length + 1 : c.length]; if (Tn) { let un = hr(Tn, La(Tn.name) ? _.An_argument_matching_this_binding_pattern_was_not_provided : Fm(Tn) ? _.Arguments_for_the_rest_parameter_0_were_not_provided : _.An_argument_for_0_was_not_provided, Tn.name ? La(Tn.name) ? void 0 : vr(Yd(Tn.name)) : c.length); return Ao(It, un) } return It } else { let It = D.createNodeArray(c.slice(k)), Tn = Vo(It).pos, un = To(It).end; if (un === Tn && un++, om(It, Tn, un), u) { let Nn = da(void 0, tt, Ae, c.length); return Nn = da(Nn, u), jw(Gn(n), It, Nn) } return RA(Gn(n), It, tt, Ae, c.length) } } function xQe(n, a, c, u) { let p = c.length; if (a.length === 1) { let k = a[0], O = Mp(k.typeParameters), H = Fn(k.typeParameters); if (u) { let J = da(void 0, _.Expected_0_type_arguments_but_got_1, O < H ? O + "-" + H : O, p); return J = da(J, u), jw(Gn(n), c, J) } return RA(Gn(n), c, _.Expected_0_type_arguments_but_got_1, O < H ? O + "-" + H : O, p) } let h = -1 / 0, T = 1 / 0; for (let k of a) { let O = Mp(k.typeParameters), H = Fn(k.typeParameters); O > p ? T = Math.min(T, O) : H < p && (h = Math.max(h, H)) } if (h !== -1 / 0 && T !== 1 / 0) { if (u) { let k = da(void 0, _.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments, p, h, T); return k = da(k, u), jw(Gn(n), c, k) } return RA(Gn(n), c, _.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments, p, h, T) } if (u) { let k = da(void 0, _.Expected_0_type_arguments_but_got_1, h === -1 / 0 ? T : h, p); return k = da(k, u), jw(Gn(n), c, k) } return RA(Gn(n), c, _.Expected_0_type_arguments_but_got_1, h === -1 / 0 ? T : h, p) } function PC(n, a, c, u, p, h) { let T = n.kind === 212, k = n.kind === 167, O = Au(n), H = !B && !c, J; !k && !OA(n) && (J = n.typeArguments, (T || O || n.expression.kind !== 106) && mn(J, qa)); let de = c || []; if (gQe(a, de, p), !de.length) return H && Lo.add(TD(n, _.Call_target_does_not_contain_any_signatures)), Up(n); let Ae = rie(n), xe = de.length === 1 && !de[0].typeParameters, tt = !k && !xe && vt(Ae, $f) ? 4 : 0; tt |= u & 32; let It, Tn, un, Nn, en = !!(u & 16) && n.kind === 210 && n.arguments.hasTrailingComma; if (de.length > 1 && (Nn = rr(de, hm, xe, en)), Nn || (Nn = rr(de, Zu, xe, en)), Nn) return Nn; if (Nn = AQe(n, de, Ae, !!c, u), Rr(n).resolvedSignature = Nn, H) if (It) if (It.length === 1 || It.length > 3) { let Jt = It[It.length - 1], Cn; It.length > 3 && (Cn = da(Cn, _.The_last_overload_gave_the_following_error), Cn = da(Cn, _.No_overload_matches_this_call)), h && (Cn = da(Cn, h)); let Rn = FM(n, Ae, Jt, Zu, 0, !0, () => Cn); if (Rn) for (let Br of Rn) Jt.declaration && It.length > 3 && Ao(Br, hr(Jt.declaration, _.The_last_overload_is_declared_here)), cn(Jt, Br), Lo.add(Br); else L.fail("No error for last overload signature") } else { let Jt = [], Cn = 0, Rn = Number.MAX_VALUE, Br = 0, Hr = 0; for (let Hd of It) { let In = FM(n, Ae, Hd, Zu, 0, !0, () => da(void 0, _.Overload_0_of_1_2_gave_the_following_error, Hr + 1, de.length, ne(Hd))); In ? (In.length <= Rn && (Rn = In.length, Br = Hr), Cn = Math.max(Cn, In.length), Jt.push(In)) : L.fail("No error for 3 or fewer overload signatures"), Hr++ } let qi = Cn > 1 ? Jt[Br] : t_(Jt); L.assert(qi.length > 0, "No errors reported for 3 or fewer overload signatures"); let wa = da(on(qi, qse), _.No_overload_matches_this_call); h && (wa = da(wa, h)); let Xc = [...Uo(qi, Hd => Hd.relatedInformation)], pf; if (Ji(qi, Hd => Hd.start === qi[0].start && Hd.length === qi[0].length && Hd.file === qi[0].file)) { let { file: Hd, start: ji, length: In } = qi[0]; pf = { file: Hd, start: ji, length: In, code: wa.code, category: wa.category, messageText: wa, relatedInformation: Xc } } else pf = Lh(Gn(n), n, wa, Xc); cn(It[0], pf), Lo.add(pf) } else if (Tn) Lo.add(tIe(n, [Tn], Ae, h)); else if (un) nie(un, n.typeArguments, !0, h); else { let Jt = Pr(a, Cn => Zre(Cn, J)); Jt.length === 0 ? Lo.add(xQe(n, a, J, h)) : Lo.add(tIe(n, Jt, Ae, h)) } return Nn; function cn(Jt, Cn) { var Rn, Br; let Hr = It, qi = Tn, wa = un, Xc = ((Br = (Rn = Jt.declaration) == null ? void 0 : Rn.symbol) == null ? void 0 : Br.declarations) || Je, Hd = Xc.length > 1 ? wr(Xc, ji => Ds(ji) && Pf(ji.body)) : void 0; if (Hd) { let ji = ip(Hd), In = !ji.typeParameters; rr([ji], Zu, In) && Ao(Cn, hr(Hd, _.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible)) } It = Hr, Tn = qi, un = wa } function rr(Jt, Cn, Rn, Br = !1) { if (It = void 0, Tn = void 0, un = void 0, Rn) { let Hr = Jt[0]; if (vt(J) || !$B(n, Ae, Hr, Br)) return; if (FM(n, Ae, Hr, Cn, 0, !1, void 0)) { It = [Hr]; return } return Hr } for (let Hr = 0; Hr < Jt.length; Hr++) { let qi = Jt[Hr]; if (!Zre(qi, J) || !$B(n, Ae, qi, Br)) continue; let wa, Xc; if (qi.typeParameters) { let pf; if (vt(J)) { if (pf = nie(qi, J, !1), !pf) { un = qi; continue } } else Xc = _D(qi.typeParameters, qi, Yn(n) ? 2 : 0), pf = eie(n, qi, Ae, tt | 8, Xc), tt |= Xc.flags & 4 ? 8 : 0; if (wa = eD(qi, pf, Yn(qi.declaration), Xc && Xc.inferredTypeParameters), AD(qi) && !$B(n, Ae, wa, Br)) { Tn = wa; continue } } else wa = qi; if (FM(n, Ae, wa, Cn, tt, !1, void 0)) { (It || (It = [])).push(wa); continue } if (tt) { if (tt = u & 32, Xc) { let pf = eie(n, qi, Ae, tt, Xc); if (wa = eD(qi, pf, Yn(qi.declaration), Xc.inferredTypeParameters), AD(qi) && !$B(n, Ae, wa, Br)) { Tn = wa; continue } } if (FM(n, Ae, wa, Cn, tt, !1, void 0)) { (It || (It = [])).push(wa); continue } } return Jt[Hr] = wa, wa } } } function AQe(n, a, c, u, p) { return L.assert(a.length > 0), zC(n), u || a.length === 1 || a.some(h => !!h.typeParameters) ? LQe(n, a, c, p) : CQe(a) } function CQe(n) { let a = Zi(n, O => O.thisParameter), c; a.length && (c = nIe(a, a.map(UM))); let { min: u, max: p } = Nle(n, IQe), h = []; for (let O = 0; O < p; O++) { let H = Zi(n, J => Xl(J) ? O < J.parameters.length - 1 ? J.parameters[O] : To(J.parameters) : O < J.parameters.length ? J.parameters[O] : void 0); L.assert(H.length !== 0), h.push(nIe(H, Zi(n, J => tT(J, O)))) } let T = Zi(n, O => Xl(O) ? To(O.parameters) : void 0), k = 0; if (T.length !== 0) { let O = nu(Gr(Zi(n, Bxe), 2)); h.push(rIe(T, O)), k |= 1 } return n.some(_K) && (k |= 2), Am(n[0].declaration, void 0, c, h, so(n.map(qo)), void 0, u, k) } function IQe(n) { let a = n.parameters.length; return Xl(n) ? a - 1 : a } function nIe(n, a) { return rIe(n, Gr(a, 2)) } function rIe(n, a) { return qE(Vo(n), a) } function LQe(n, a, c, u) { let p = wQe(a, We === void 0 ? c.length : We), h = a[p], { typeParameters: T } = h; if (!T) return h; let k = zCe(n) ? n.typeArguments : void 0, O = k ? JG(h, kQe(k, T, Yn(n))) : DQe(n, T, h, c, u); return a[p] = O, O } function kQe(n, a, c) { let u = n.map(G1); for (; u.length > a.length;)u.pop(); for (; u.length < a.length;)u.push(jE(a[u.length]) || eu(a[u.length]) || hre(c)); return u } function DQe(n, a, c, u, p) { let h = _D(a, c, Yn(n) ? 2 : 0), T = eie(n, c, u, p | 4 | 8, h); return JG(c, T) } function wQe(n, a) { let c = -1, u = -1; for (let p = 0; p < n.length; p++) { let h = n[p], T = xd(h); if (jp(h) || T >= a) return p; T > u && (u = T, c = p) } return c } function RQe(n, a, c) { if (n.expression.kind === 106) { let O = Ire(n.expression); if (Zo(O)) { for (let H of n.arguments) Yi(H); return As } if (!Ro(O)) { let H = hp(Zc(n)); if (H) { let J = xr(O, H.typeArguments, H); return PC(n, J, a, c, 0) } } return nA(n) } let u, p = Yi(n.expression); if (dT(n)) { let O = dD(p, n.expression); u = O === p ? 0 : mI(n) ? 16 : 8, p = O } else u = 0; if (p = DCe(p, n.expression, Y$e), p === Qe) return Ql; let h = Eu(p); if (Ro(h)) return Up(n); let T = xa(h, 0), k = xa(h, 1).length; if (QB(p, h, T.length, k)) return !Ro(p) && n.typeArguments && Fe(n, _.Untyped_function_calls_may_not_accept_type_arguments), nA(n); if (!T.length) { if (k) Fe(n, _.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, Ee(p)); else { let O; if (n.arguments.length === 1) { let H = Gn(n).text; Wl(H.charCodeAt(xo(H, n.expression.end, !0) - 1)) && (O = hr(n.expression, _.Are_you_missing_a_semicolon)) } aie(n.expression, h, 0, O) } return Up(n) } return c & 8 && !n.typeArguments && T.some(OQe) ? (FIe(n, c), yc) : T.some(O => Yn(O.declaration) && !!Aj(O.declaration)) ? (Fe(n, _.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, Ee(p)), Up(n)) : PC(n, T, a, c, u) } function OQe(n) { return !!(n.typeParameters && Jie(qo(n))) } function QB(n, a, c, u) { return Zo(n) || Zo(a) && !!(n.flags & 262144) || !c && !u && !(a.flags & 1048576) && !(O_(a).flags & 131072) && to(n, Hs) } function NQe(n, a, c) { if (n.arguments && R < 1) { let T = YB(n.arguments); T >= 0 && Fe(n.arguments[T], _.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher) } let u = NC(n.expression); if (u === Qe) return Ql; if (u = Eu(u), Ro(u)) return Up(n); if (Zo(u)) return n.typeArguments && Fe(n, _.Untyped_function_calls_may_not_accept_type_arguments), nA(n); let p = xa(u, 1); if (p.length) { if (!PQe(n, p[0])) return Up(n); if (iIe(p, k => !!(k.flags & 4))) return Fe(n, _.Cannot_create_an_instance_of_an_abstract_class), Up(n); let T = u.symbol && Nh(u.symbol); return T && Mr(T, 256) ? (Fe(n, _.Cannot_create_an_instance_of_an_abstract_class), Up(n)) : PC(n, p, a, c, 0) } let h = xa(u, 0); if (h.length) { let T = PC(n, h, a, c, 0); return ge || (T.declaration && !cp(T.declaration) && qo(T) !== yt && Fe(n, _.Only_a_void_function_can_be_called_with_the_new_keyword), Yb(T) === yt && Fe(n, _.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)), T } return aie(n.expression, u, 1), Up(n) } function iIe(n, a) { return ba(n) ? vt(n, c => iIe(c, a)) : n.compositeKind === 1048576 ? vt(n.compositeSignatures, a) : a(n) } function iie(n, a) { let c = _o(a); if (!Fn(c)) return !1; let u = c[0]; if (u.flags & 2097152) { let p = u.types, h = Axe(p), T = 0; for (let k of u.types) { if (!h[T] && Ur(k) & 3 && (k.symbol === n || iie(n, k))) return !0; T++ } return !1 } return u.symbol === n ? !0 : iie(n, u) } function PQe(n, a) { if (!a || !a.declaration) return !0; let c = a.declaration, u = hS(c, 24); if (!u || c.kind !== 173) return !0; let p = Nh(c.parent.symbol), h = gs(c.parent.symbol); if (!Hie(n, p)) { let T = Zc(n); if (T && u & 16) { let k = G1(T); if (iie(c.parent.symbol, k)) return !0 } return u & 8 && Fe(n, _.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration, Ee(h)), u & 16 && Fe(n, _.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration, Ee(h)), !1 } return !0 } function aIe(n, a, c) { let u, p = c === 0, h = rT(a), T = h && xa(h, c).length > 0; if (a.flags & 1048576) { let O = a.types, H = !1; for (let J of O) if (xa(J, c).length !== 0) { if (H = !0, u) break } else if (u || (u = da(u, p ? _.Type_0_has_no_call_signatures : _.Type_0_has_no_construct_signatures, Ee(J)), u = da(u, p ? _.Not_all_constituents_of_type_0_are_callable : _.Not_all_constituents_of_type_0_are_constructable, Ee(a))), H) break; H || (u = da(void 0, p ? _.No_constituent_of_type_0_is_callable : _.No_constituent_of_type_0_is_constructable, Ee(a))), u || (u = da(u, p ? _.Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other : _.Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other, Ee(a))) } else u = da(u, p ? _.Type_0_has_no_call_signatures : _.Type_0_has_no_construct_signatures, Ee(a)); let k = p ? _.This_expression_is_not_callable : _.This_expression_is_not_constructable; if (Pa(n.parent) && n.parent.arguments.length === 0) { let { resolvedSymbol: O } = Rr(n); O && O.flags & 32768 && (k = _.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without) } return { messageChain: da(u, k), relatedMessage: T ? _.Did_you_forget_to_use_await : void 0 } } function aie(n, a, c, u) { let { messageChain: p, relatedMessage: h } = aIe(n, a, c), T = Lh(Gn(n), n, p); if (h && Ao(T, hr(n, h)), Pa(n.parent)) { let { start: k, length: O } = eIe(n.parent, !0); T.start = k, T.length = O } Lo.add(T), oIe(a, c, u ? Ao(T, u) : T) } function oIe(n, a, c) { if (!n.symbol) return; let u = Ai(n.symbol).originatingImport; if (u && !Dd(u)) { let p = xa(zn(Ai(n.symbol).target), a); if (!p || !p.length) return; Ao(c, hr(u, _.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead)) } } function MQe(n, a, c) { let u = Yi(n.tag), p = Eu(u); if (Ro(p)) return Up(n); let h = xa(p, 0), T = xa(p, 1).length; if (QB(u, p, h.length, T)) return nA(n); if (!h.length) { if (fu(n.parent)) { let k = hr(n.tag, _.It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked); return Lo.add(k), Up(n) } return aie(n.tag, p, 0), Up(n) } return PC(n, h, a, c, 0) } function FQe(n) { switch (n.parent.kind) { case 260: case 228: return _.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; case 166: return _.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; case 169: return _.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; case 171: case 174: case 175: return _.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; default: return L.fail() } } function GQe(n, a, c) { let u = Yi(n.expression), p = Eu(u); if (Ro(p)) return Up(n); let h = xa(p, 0), T = xa(p, 1).length; if (QB(u, p, h.length, T)) return nA(n); if (UQe(n, h) && !ud(n.expression)) { let O = Qc(n.expression, !1); return Fe(n, _._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0, O), Up(n) } let k = FQe(n); if (!h.length) { let O = aIe(n.expression, p, 0), H = da(O.messageChain, k), J = Lh(Gn(n.expression), n.expression, H); return O.relatedMessage && Ao(J, hr(n.expression, O.relatedMessage)), Lo.add(J), oIe(p, 0, J), Up(n) } return PC(n, h, a, c, 0, k) } function ZB(n, a) { let c = tA(n), u = c && Gd(c), p = u && yd(u, Qd.Element, 788968), h = p && Be.symbolToEntityName(p, 788968, n), T = D.createFunctionTypeNode(void 0, [D.createParameterDeclaration(void 0, void 0, "props", void 0, Be.typeToTypeNode(a, n))], h ? D.createTypeReferenceNode(h, void 0) : D.createKeywordTypeNode(131)), k = wo(1, "props"); return k.links.type = a, Am(T, void 0, void 0, [k], p ? gs(p) : ve, void 0, 1, 0) } function BQe(n, a, c) { if (OC(n.tagName)) { let T = ACe(n), k = ZB(n, T); return Ly(rA(n.attributes, VB(k, n), void 0, 0), T, n.tagName, n.attributes), Fn(n.typeArguments) && (mn(n.typeArguments, qa), Lo.add(RA(Gn(n), n.typeArguments, _.Expected_0_type_arguments_but_got_1, 0, Fn(n.typeArguments)))), k } let u = Yi(n.tagName), p = Eu(u); if (Ro(p)) return Up(n); let h = SCe(u, n); return QB(u, p, h.length, 0) ? nA(n) : h.length === 0 ? (Fe(n.tagName, _.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, Qc(n.tagName)), Up(n)) : PC(n, h, a, c, 0) } function UQe(n, a) { return a.length && Ji(a, c => c.minArgumentCount === 0 && !Xl(c) && c.parameters.length < ZCe(n, c)) } function VQe(n, a, c) { switch (n.kind) { case 210: return RQe(n, a, c); case 211: return NQe(n, a, c); case 212: return MQe(n, a, c); case 167: return GQe(n, a, c); case 283: case 282: return BQe(n, a, c) }throw L.assertNever(n, "Branch in 'resolveSignature' should be unreachable.") } function MC(n, a, c) { let u = Rr(n), p = u.resolvedSignature; if (p && p !== yc && !a) return p; u.resolvedSignature = yc; let h = VQe(n, a, c || 0); return h !== yc && (u.resolvedSignature = sn === Dn ? h : p), h } function cp(n) { var a; if (!n || !Yn(n)) return !1; let c = Jc(n) || ms(n) ? n : (wi(n) || yl(n)) && n.initializer && ms(n.initializer) ? n.initializer : void 0; if (c) { if (Aj(n)) return !0; if (yl(qy(c.parent))) return !1; let u = fr(c); return !!((a = u?.members) != null && a.size) } return !1 } function oie(n, a) { var c, u; if (a) { let p = Ai(a); if (!p.inferredClassSymbol || !p.inferredClassSymbol.has($a(n))) { let h = Zp(n) ? n : Pb(n); return h.exports = h.exports || Ua(), h.members = h.members || Ua(), h.flags |= a.flags & 32, (c = a.exports) != null && c.size && ll(h.exports, a.exports), (u = a.members) != null && u.size && ll(h.members, a.members), (p.inferredClassSymbol || (p.inferredClassSymbol = new Map)).set($a(h), h), h } return p.inferredClassSymbol.get($a(n)) } } function jQe(n) { var a; let c = n && eU(n, !0), u = (a = c?.exports) == null ? void 0 : a.get("prototype"), p = u?.valueDeclaration && HQe(u.valueDeclaration); return p ? fr(p) : void 0 } function eU(n, a) { if (!n.parent) return; let c, u; if (wi(n.parent) && n.parent.initializer === n) { if (!Yn(n) && !(kh(n.parent) && Ds(n))) return; c = n.parent.name, u = n.parent } else if (ar(n.parent)) { let p = n.parent, h = n.parent.operatorToken.kind; if (h === 63 && (a || p.right === n)) c = p.left, u = c; else if ((h === 56 || h === 60) && (wi(p.parent) && p.parent.initializer === p ? (c = p.parent.name, u = p.parent) : ar(p.parent) && p.parent.operatorToken.kind === 63 && (a || p.parent.right === p) && (c = p.parent.left, u = c), !c || !cS(c) || !BA(c, p.left))) return } else a && Jc(n) && (c = n.name, u = n); if (!(!u || !c || !a && !ob(n, ub(c)))) return vd(u) } function HQe(n) { if (!n.parent) return !1; let a = n.parent; for (; a && a.kind === 208;)a = a.parent; if (a && ar(a) && ub(a.left) && a.operatorToken.kind === 63) { let c = OH(a); return rs(c) && c } } function WQe(n, a) { var c, u, p; a8(n, n.typeArguments); let h = MC(n, void 0, a); if (h === yc) return Qe; if (tU(h, n), n.expression.kind === 106) return yt; if (n.kind === 211) { let k = h.declaration; if (k && k.kind !== 173 && k.kind !== 177 && k.kind !== 182 && !(X0(k) && ((u = (c = OI(k)) == null ? void 0 : c.parent) == null ? void 0 : u.kind) === 173) && !jA(k) && !cp(k)) return ge && Fe(n, _.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type), Se } if (Yn(n) && $s(Y) !== 100 && dIe(n)) return Fxe(n.arguments[0]); let T = qo(h); if (T.flags & 12288 && sIe(n)) return wne(qy(n.parent)); if (n.kind === 210 && !n.questionDotToken && n.parent.kind === 241 && T.flags & 16384 && Lf(h)) { if (!WI(n.expression)) Fe(n.expression, _.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name); else if (!OB(n)) { let k = Fe(n.expression, _.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation); CM(n.expression, k) } } if (Yn(n)) { let k = eU(n, !1); if ((p = k?.exports) != null && p.size) { let O = ls(k, k.exports, Je, Je, Je); return O.objectFlags |= 4096, so([T, O]) } } return T } function tU(n, a) { if (n.declaration && n.declaration.flags & 268435456) { let c = BM(a), u = kR(P6(a)); g1(c, n.declaration, u, ne(n)) } } function BM(n) { switch (n = vs(n), n.kind) { case 210: case 167: case 211: return BM(n.expression); case 212: return BM(n.tag); case 283: case 282: return BM(n.tagName); case 209: return n.argumentExpression; case 208: return n.name; case 180: let a = n; return Yu(a.typeName) ? a.typeName.right : a; default: return n } } function sIe(n) { if (!Pa(n)) return !1; let a = n.expression; if (br(a) && a.name.escapedText === "for" && (a = a.expression), !Re(a) || a.escapedText !== "Symbol") return !1; let c = rAe(!1); return c ? c === zs(a, "Symbol", 111551, void 0, void 0, !1) : !1 } function zQe(n) { if (cit(n), n.arguments.length === 0) return HM(n, Se); let a = n.arguments[0], c = Ic(a), u = n.arguments.length > 1 ? Ic(n.arguments[1]) : void 0; for (let h = 2; h < n.arguments.length; ++h)Ic(n.arguments[h]); if ((c.flags & 32768 || c.flags & 65536 || !to(c, ae)) && Fe(a, _.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, Ee(c)), u) { let h = nAe(!0); h !== Ki && wu(u, TB(h, 32768), n.arguments[1]) } let p = Gl(n, a); if (p) { let h = Jb(p, a, !0, !1); if (h) return HM(n, lIe(zn(h), h, p, a) || uIe(zn(h), h, p, a)) } return HM(n, Se) } function cIe(n, a, c) { let u = Ua(), p = wo(2097152, "default"); return p.parent = a, p.links.nameType = ff("default"), p.links.aliasTarget = Ac(n), u.set("default", p), ls(c, u, Je, Je, Je) } function lIe(n, a, c, u) { if (cs(u) && n && !Ro(n)) { let h = n; if (!h.defaultOnlyType) { let T = cIe(a, c); h.defaultOnlyType = T } return h.defaultOnlyType } } function uIe(n, a, c, u) { var p; if (Z && n && !Ro(n)) { let h = n; if (!h.syntheticType) { let T = (p = c.declarations) == null ? void 0 : p.find(Li); if (ny(T, c, !1, u)) { let O = wo(2048, "__type"), H = cIe(a, c, O); O.links.type = H, h.syntheticType = RM(n) ? e0(n, H, O, 0, !1) : H } else h.syntheticType = n } return h.syntheticType } return n } function dIe(n) { if (!qu(n, !0)) return !1; if (!Re(n.expression)) return L.fail(); let a = zs(n.expression, n.expression.escapedText, 111551, void 0, void 0, !0); if (a === ct) return !0; if (a.flags & 2097152) return !1; let c = a.flags & 16 ? 259 : a.flags & 3 ? 257 : 0; if (c !== 0) { let u = nc(a, c); return !!u && !!(u.flags & 16777216) } return !1 } function JQe(n) { Ort(n) || a8(n, n.typeArguments), R < 2 && Hc(n, 262144); let a = MC(n); return tU(a, n), qo(a) } function KQe(n) { if (n.kind === 213) { let a = Gn(n); a && $c(a.fileName, [".cts", ".mts"]) && an(n, _.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead) } return fIe(n, n.type, n.expression) } function sie(n) { switch (n.kind) { case 10: case 14: case 8: case 9: case 110: case 95: case 206: case 207: case 225: return !0; case 214: return sie(n.expression); case 221: let a = n.operator, c = n.operand; return a === 40 && (c.kind === 8 || c.kind === 9) || a === 39 && c.kind === 8; case 208: case 209: let u = vs(n.expression), p = bc(u) ? uc(u, 111551, !0) : void 0; return !!(p && p.flags & 384) }return !1 } function fIe(n, a, c, u) { let p = Yi(c, u); if (Ch(a)) return sie(c) || Fe(c, _.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals), Hu(p); qa(a), p = EM(ky(p)); let h = $r(a); return Ro(h) || i(() => { let T = Sd(p); _B(h, T) || e2e(p, h, n, _.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first) }), h } function qQe(n) { let a = Yi(n.expression), c = dD(a, n.expression); return SB(yg(c), n, c !== a) } function XQe(n) { return n.flags & 32 ? qQe(n) : yg(Yi(n.expression)) } function _Ie(n) { ake(n), mn(n.typeArguments, qa); let a = n.kind === 230 ? Yi(n.expression) : LT(n.exprName) ? kM(n.exprName) : Yi(n.exprName); return pIe(a, n) } function pIe(n, a) { let c = a.typeArguments; if (n === Qe || Ro(n) || !vt(c)) return n; let u = !1, p, h = k(n), T = u ? p : n; return T && Lo.add(RA(Gn(a), c, _.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable, Ee(T))), h; function k(H) { let J = !1, de = !1, Ae = xe(H); return u || (u = de), J && !de && (p ?? (p = H)), Ae; function xe(tt) { if (tt.flags & 524288) { let It = R_(tt), Tn = O(It.callSignatures), un = O(It.constructSignatures); if (J || (J = It.callSignatures.length !== 0 || It.constructSignatures.length !== 0), de || (de = Tn.length !== 0 || un.length !== 0), Tn !== It.callSignatures || un !== It.constructSignatures) { let Nn = ls(void 0, It.members, Tn, un, It.indexInfos); return Nn.objectFlags |= 8388608, Nn.node = a, Nn } } else if (tt.flags & 58982400) { let It = bu(tt); if (It) { let Tn = xe(It); if (Tn !== It) return Tn } } else { if (tt.flags & 1048576) return Ls(tt, k); if (tt.flags & 2097152) return so(Tl(tt.types, xe)) } return tt } } function O(H) { let J = Pr(H, de => !!de.typeParameters && Zre(de, c)); return Tl(J, de => { let Ae = nie(de, c, !0); return Ae ? eD(de, Ae, Yn(de.declaration)) : de }) } } function YQe(n) { return qa(n.type), cie(n.expression, n.type) } function cie(n, a, c) { let u = Yi(n, c), p = $r(a); return Ro(p) ? p : (Ly(u, p, a, n, _.Type_0_does_not_satisfy_the_expected_type_1), u) } function $Qe(n) { return Xrt(n), n.keywordToken === 103 ? lie(n) : n.keywordToken === 100 ? QQe(n) : L.assertNever(n.keywordToken) } function mIe(n) { switch (n.keywordToken) { case 100: return tAe(); case 103: let a = lie(n); return Ro(a) ? ve : hZe(a); default: L.assertNever(n.keywordToken) } } function lie(n) { let a = oce(n); if (a) if (a.kind === 173) { let c = fr(a.parent); return zn(c) } else { let c = fr(a); return zn(c) } else return Fe(n, _.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"), ve } function QQe(n) { ie === 100 || ie === 199 ? Gn(n).impliedNodeFormat !== 99 && Fe(n, _.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output) : ie < 6 && ie !== 4 && Fe(n, _.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext); let a = Gn(n); return L.assert(!!(a.flags & 4194304), "Containing file is missing import meta node flag."), n.name.escapedText === "meta" ? eAe() : ve } function UM(n) { let a = zn(n); if (U) { let c = n.valueDeclaration; if (c && Jy(c)) return gg(a) } return a } function nU(n) { return L.assert(Re(n.name)), n.name.escapedText } function FC(n, a, c) { let u = n.parameters.length - (Xl(n) ? 1 : 0); if (a < u) return n.parameters[a].escapedName; let p = n.parameters[u] || Ht, h = c || zn(p); if (po(h)) { let T = h.target.labeledElementDeclarations, k = a - u; return T && nU(T[k]) || p.escapedName + "_" + k } return p.escapedName } function ZQe(n, a) { var c; if (((c = n.declaration) == null ? void 0 : c.kind) === 320) return; let u = n.parameters.length - (Xl(n) ? 1 : 0); if (a < u) { let T = n.parameters[a]; return hIe(T) ? [T.escapedName, !1] : void 0 } let p = n.parameters[u] || Ht; if (!hIe(p)) return; let h = zn(p); if (po(h)) { let T = h.target.labeledElementDeclarations, k = a - u, O = T?.[k], H = !!O?.dotDotDotToken; return O ? [nU(O), H] : void 0 } if (a === u) return [p.escapedName, !0] } function hIe(n) { return n.valueDeclaration && ha(n.valueDeclaration) && Re(n.valueDeclaration.name) } function gIe(n) { return n.kind === 199 || ha(n) && n.name && Re(n.name) } function eZe(n, a) { let c = n.parameters.length - (Xl(n) ? 1 : 0); if (a < c) { let h = n.parameters[a].valueDeclaration; return h && gIe(h) ? h : void 0 } let u = n.parameters[c] || Ht, p = zn(u); if (po(p)) { let h = p.target.labeledElementDeclarations, T = a - c; return h && h[T] } return u.valueDeclaration && gIe(u.valueDeclaration) ? u.valueDeclaration : void 0 } function P_(n, a) { return tT(n, a) || Se } function tT(n, a) { let c = n.parameters.length - (Xl(n) ? 1 : 0); if (a < c) return UM(n.parameters[a]); if (Xl(n)) { let u = zn(n.parameters[c]), p = a - c; if (!po(u) || u.target.hasRestElement || p < u.target.fixedLength) return od(u, op(p)) } } function SD(n, a) { let c = xd(n), u = Vp(n), p = xD(n); if (p && a >= c - 1) return a === c - 1 ? p : nu(od(p, rt)); let h = [], T = [], k = []; for (let O = a; O < c; O++) { !p || O < c - 1 ? (h.push(P_(n, O)), T.push(O < u ? 1 : 2)) : (h.push(p), T.push(8)); let H = eZe(n, O); H && k.push(H) } return ap(h, T, !1, Fn(k) === Fn(h) ? k : void 0) } function xd(n) { let a = n.parameters.length; if (Xl(n)) { let c = zn(n.parameters[a - 1]); if (po(c)) return a + c.target.fixedLength - (c.target.hasRestElement ? 0 : 1) } return a } function Vp(n, a) { let c = a & 1, u = a & 2; if (u || n.resolvedMinArgumentCount === void 0) { let p; if (Xl(n)) { let h = zn(n.parameters[n.parameters.length - 1]); if (po(h)) { let T = Yc(h.target.elementFlags, O => !(O & 1)), k = T < 0 ? h.target.fixedLength : T; k > 0 && (p = n.parameters.length - 1 + k) } } if (p === void 0) { if (!c && n.flags & 32) return 0; p = n.minArgumentCount } if (u) return p; for (let h = p - 1; h >= 0; h--) { let T = P_(n, h); if (jc(T, JCe).flags & 131072) break; p = h } n.resolvedMinArgumentCount = p } return n.resolvedMinArgumentCount } function jp(n) { if (Xl(n)) { let a = zn(n.parameters[n.parameters.length - 1]); return !po(a) || a.target.hasRestElement } return !1 } function xD(n) { if (Xl(n)) { let a = zn(n.parameters[n.parameters.length - 1]); if (!po(a)) return a; if (a.target.hasRestElement) return EC(a, a.target.fixedLength) } } function AD(n) { let a = xD(n); return a && !_f(a) && !Zo(a) && !(O_(a).flags & 131072) ? a : void 0 } function uie(n) { return die(n, lt) } function die(n, a) { return n.parameters.length > 0 ? P_(n, 0) : a } function tZe(n, a, c) { let u = n.parameters.length - (Xl(n) ? 1 : 0); for (let p = 0; p < u; p++) { let h = n.parameters[p].valueDeclaration; if (h.type) { let T = Cl(h); T && gh(c.inferences, $r(T), P_(a, p)) } } } function nZe(n, a) { if (a.typeParameters) if (!n.typeParameters) n.typeParameters = a.typeParameters; else return; if (a.thisParameter) { let u = n.thisParameter; (!u || u.valueDeclaration && !u.valueDeclaration.type) && (u || (n.thisParameter = qE(a.thisParameter, void 0)), VM(n.thisParameter, zn(a.thisParameter))) } let c = n.parameters.length - (Xl(n) ? 1 : 0); for (let u = 0; u < c; u++) { let p = n.parameters[u]; if (!Cl(p.valueDeclaration)) { let h = tT(a, u); VM(p, h) } } if (Xl(n)) { let u = To(n.parameters); if (u.valueDeclaration ? !Cl(u.valueDeclaration) : ac(u) & 65536) { let p = SD(a, c); VM(u, p) } } } function rZe(n) { n.thisParameter && VM(n.thisParameter); for (let a of n.parameters) VM(a) } function VM(n, a) { let c = Ai(n); if (c.type) a && L.assertEqual(c.type, a, "Parameter symbol already has a cached type which differs from newly assigned type"); else { let u = n.valueDeclaration; c.type = a || (u ? Zs(u, !0) : zn(n)), u && u.name.kind !== 79 && (c.type === ue && (c.type = oo(u.name)), yIe(u.name, c.type)) } } function yIe(n, a) { for (let c of n.elements) if (!ol(c)) { let u = li(c, a); c.name.kind === 79 ? Ai(fr(c)).type = u : yIe(c.name, u) } } function iZe(n) { return zx(IKe(!0), [n]) } function aZe(n, a) { return zx(LKe(!0), [n, a]) } function oZe(n, a) { return zx(kKe(!0), [n, a]) } function sZe(n, a) { return zx(DKe(!0), [n, a]) } function cZe(n, a) { return zx(wKe(!0), [n, a]) } function lZe(n, a) { return zx(NKe(!0), [n, a]) } function uZe(n, a, c) { let u = `${a ? "p" : "P"}${c ? "s" : "S"}${n.id}`, p = An.get(u); if (!p) { let h = Ua(); h.set("name", gE("name", n)), h.set("private", gE("private", a ? pe : Ke)), h.set("static", gE("static", c ? pe : Ke)), p = ls(void 0, h, Je, Je, Je), An.set(u, p) } return p } function vIe(n, a, c) { let u = zc(n), p = pi(n.name), h = p ? ff(vr(n.name)) : pg(n.name), T = Nc(n) ? aZe(a, c) : p_(n) ? oZe(a, c) : Sf(n) ? sZe(a, c) : Id(n) ? cZe(a, c) : Na(n) ? lZe(a, c) : L.failBadSyntaxKind(n), k = uZe(h, p, u); return so([T, k]) } function dZe(n, a) { return zx(RKe(!0), [n, a]) } function fZe(n, a) { return zx(OKe(!0), [n, a]) } function _Ze(n, a) { let c = A_("this", n), u = A_("value", a); return Cie(void 0, c, [u], a, void 0, 1) } function fie(n, a, c) { let u = A_("target", n), p = A_("context", a), h = Gr([c, yt]); return OD(void 0, void 0, [u, p], h) } function pZe(n) { let { parent: a } = n, c = Rr(a); if (!c.decoratorSignature) switch (c.decoratorSignature = As, a.kind) { case 260: case 228: { let p = zn(fr(a)), h = iZe(p); c.decoratorSignature = fie(p, h, p); break } case 171: case 174: case 175: { let u = a; if (!Yr(u.parent)) break; let p = Nc(u) ? HE(ip(u)) : G1(u), h = zc(u) ? zn(fr(u.parent)) : vu(fr(u.parent)), T = p_(u) ? $Ie(p) : Sf(u) ? QIe(p) : p, k = vIe(u, h, p), O = p_(u) ? $Ie(p) : Sf(u) ? QIe(p) : p; c.decoratorSignature = fie(T, k, O); break } case 169: { let u = a; if (!Yr(u.parent)) break; let p = G1(u), h = zc(u) ? zn(fr(u.parent)) : vu(fr(u.parent)), T = rm(u) ? dZe(h, p) : Oe, k = vIe(u, h, p), O = rm(u) ? fZe(h, p) : _Ze(h, p); c.decoratorSignature = fie(T, k, O); break } }return c.decoratorSignature === As ? void 0 : c.decoratorSignature } function mZe(n) { let { parent: a } = n, c = Rr(a); if (!c.decoratorSignature) switch (c.decoratorSignature = As, a.kind) { case 260: case 228: { let p = zn(fr(a)), h = A_("target", p); c.decoratorSignature = OD(void 0, void 0, [h], Gr([p, yt])); break } case 166: { let u = a; if (!Ec(u.parent) && !(Nc(u.parent) || Sf(u.parent) && Yr(u.parent.parent)) || F0(u.parent) === u) break; let p = F0(u.parent) ? u.parent.parameters.indexOf(u) - 1 : u.parent.parameters.indexOf(u); L.assert(p >= 0); let h = Ec(u.parent) ? zn(fr(u.parent.parent)) : qLe(u.parent), T = Ec(u.parent) ? Oe : XLe(u.parent), k = op(p), O = A_("target", h), H = A_("propertyKey", T), J = A_("parameterIndex", k); c.decoratorSignature = OD(void 0, void 0, [O, H, J], yt); break } case 171: case 174: case 175: case 169: { let u = a; if (!Yr(u.parent)) break; let p = qLe(u), h = A_("target", p), T = XLe(u), k = A_("propertyKey", T), O = Na(u) ? yt : sAe(G1(u)); if (R !== 0 && (!Na(a) || rm(a))) { let J = sAe(G1(u)), de = A_("descriptor", J); c.decoratorSignature = OD(void 0, void 0, [h, k, de], Gr([O, yt])) } else c.decoratorSignature = OD(void 0, void 0, [h, k], Gr([O, yt])); break } }return c.decoratorSignature === As ? void 0 : c.decoratorSignature } function _ie(n) { return $ ? mZe(n) : pZe(n) } function jM(n) { let a = oM(!0); return a !== ro ? (n = bg(UC(n)) || ue, _g(a, [n])) : ue } function bIe(n) { let a = aAe(!0); return a !== ro ? (n = bg(UC(n)) || ue, _g(a, [n])) : ue } function HM(n, a) { let c = jM(a); return c === ue ? (Fe(n, Dd(n) ? _.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : _.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option), ve) : (_ne(!0) || Fe(n, Dd(n) ? _.A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option : _.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option), c) } function hZe(n) { let a = wo(0, "NewTargetExpression"), c = wo(4, "target", 8); c.parent = a, c.links.type = n; let u = Ua([c]); return a.members = u, ls(a, u, Je, Je, Je) } function rU(n, a) { if (!n.body) return ve; let c = pl(n), u = (c & 2) !== 0, p = (c & 1) !== 0, h, T, k, O = yt; if (n.body.kind !== 238) h = Ic(n.body, a && a & -9), u && (h = UC(RD(h, !1, n, _.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member))); else if (p) { let H = CIe(n, a); H ? H.length > 0 && (h = Gr(H, 2)) : O = lt; let { yieldTypes: J, nextTypes: de } = gZe(n, a); T = vt(J) ? Gr(J, 2) : void 0, k = vt(de) ? so(de) : void 0 } else { let H = CIe(n, a); if (!H) return c & 2 ? HM(n, lt) : lt; if (H.length === 0) return c & 2 ? HM(n, yt) : yt; h = Gr(H, 2) } if (h || T || k) { if (T && CB(n, T, 3), h && CB(n, h, 1), k && CB(n, k, 2), h && N_(h) || T && N_(T) || k && N_(k)) { let H = Nre(n), J = H ? H === ip(n) ? p ? void 0 : h : BB(qo(H), n, void 0) : void 0; p ? (T = Zne(T, J, 0, u), h = Zne(h, J, 1, u), k = Zne(k, J, 2, u)) : h = CXe(h, J, u) } T && (T = Sd(T)), h && (h = Sd(h)), k && (k = Sd(k)) } return p ? EIe(T || lt, h || O, k || cCe(2, n) || ue, u) : u ? jM(h || O) : h || O } function EIe(n, a, c, u) { let p = u ? ft : Yt, h = p.getGlobalGeneratorType(!1); if (n = p.resolveIterationType(n, void 0) || ue, a = p.resolveIterationType(a, void 0) || ue, c = p.resolveIterationType(c, void 0) || ue, h === ro) { let T = p.getGlobalIterableIteratorType(!1), k = T !== ro ? pLe(T, p) : void 0, O = k ? k.returnType : Se, H = k ? k.nextType : Oe; return to(a, O) && to(H, c) ? T !== ro ? rD(T, [n]) : (p.getGlobalIterableIteratorType(!0), Ki) : (p.getGlobalGeneratorType(!0), Ki) } return rD(h, [n, a, c]) } function gZe(n, a) { let c = [], u = [], p = (pl(n) & 2) !== 0; return Yse(n.body, h => { let T = h.expression ? Yi(h.expression, a) : je; Of(c, TIe(h, T, Se, p)); let k; if (h.asteriskToken) { let O = _U(T, p ? 19 : 17, h.expression); k = O && O.nextType } else k = Ru(h, void 0); k && Of(u, k) }), { yieldTypes: c, nextTypes: u } } function TIe(n, a, c, u) { let p = n.expression || n, h = n.asteriskToken ? wy(u ? 19 : 17, a, c, p) : a; return u ? rT(h, p, n.asteriskToken ? _.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member : _.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member) : h } function SIe(n, a, c) { let u = 0; for (let p = 0; p < c.length; p++) { let h = p < n || p >= a ? c[p] : void 0; u |= h !== void 0 ? fF.get(h) || 32768 : 0 } return u } function xIe(n) { let a = Rr(n); if (a.isExhaustive === void 0) { a.isExhaustive = 0; let c = yZe(n); a.isExhaustive === 0 && (a.isExhaustive = c) } else a.isExhaustive === 0 && (a.isExhaustive = !1); return a.isExhaustive } function yZe(n) { if (n.expression.kind === 218) { let u = W2e(n); if (!u) return !1; let p = Ty(Ic(n.expression.expression)), h = SIe(0, 0, u); return p.flags & 3 ? (556800 & h) === 556800 : !yh(p, T => (iu(T) & h) === h) } let a = Ic(n.expression); if (!uD(a)) return !1; let c = DB(n); return !c.length || vt(c, SXe) ? !1 : bYe(Ls(a, Hu), c) } function AIe(n) { return n.endFlowNode && IM(n.endFlowNode) } function CIe(n, a) { let c = pl(n), u = [], p = AIe(n), h = !1; if (vT(n.body, T => { let k = T.expression; if (k) { let O = Ic(k, a && a & -9); c & 2 && (O = UC(RD(O, !1, n, _.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member))), O.flags & 131072 && (h = !0), Of(u, O) } else p = !0 }), !(u.length === 0 && !p && (h || vZe(n)))) return U && u.length && p && !(cp(n) && u.some(T => T.symbol === n.symbol)) && Of(u, Oe), u } function vZe(n) { switch (n.kind) { case 215: case 216: return !0; case 171: return n.parent.kind === 207; default: return !1 } } function pie(n, a) { i(c); return; function c() { let u = pl(n), p = a && pU(a, u); if (p && Js(p, 16385) || n.kind === 170 || rc(n.body) || n.body.kind !== 238 || !AIe(n)) return; let h = n.flags & 512, T = U_(n) || n; if (p && p.flags & 131072) Fe(T, _.A_function_returning_never_cannot_have_a_reachable_end_point); else if (p && !h) Fe(T, _.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value); else if (p && U && !to(Oe, p)) Fe(T, _.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined); else if (Y.noImplicitReturns) { if (!p) { if (!h) return; let k = qo(ip(n)); if (ELe(n, k)) return } Fe(T, _.Not_all_code_paths_return_a_value) } } } function IIe(n, a) { if (L.assert(n.kind !== 171 || s_(n)), zC(n), ms(n) && jC(n, n.name), a && a & 4 && $f(n)) { if (!U_(n) && !b4(n)) { let u = bD(n); if (u && XE(qo(u))) { let p = Rr(n); if (p.contextFreeType) return p.contextFreeType; let h = rU(n, a), T = Am(void 0, void 0, void 0, Je, h, void 0, 0, 0), k = ls(n.symbol, q, [T], Je, Je); return k.objectFlags |= 262144, p.contextFreeType = k } } return aa } return !AU(n) && n.kind === 215 && Yie(n), bZe(n, a), zn(fr(n)) } function bZe(n, a) { let c = Rr(n); if (!(c.flags & 64)) { let u = bD(n); if (!(c.flags & 64)) { c.flags |= 64; let p = Sl(xa(zn(fr(n)), 0)); if (!p) return; if ($f(n)) if (u) { let h = M1(n), T; if (a && a & 2) { tZe(p, u, h); let k = xD(u); k && k.flags & 262144 && (T = $x(u, h.nonFixingMapper)) } T || (T = h ? $x(u, h.mapper) : u), nZe(p, T) } else rZe(p); if (u && !Hx(n) && !p.resolvedReturnType) { let h = rU(n, a); p.resolvedReturnType || (p.resolvedReturnType = h) } LD(n) } } } function EZe(n) { L.assert(n.kind !== 171 || s_(n)); let a = pl(n), c = Hx(n); if (pie(n, c), n.body) if (U_(n) || qo(ip(n)), n.body.kind === 238) qa(n.body); else { let u = Yi(n.body), p = c && pU(c, a); if (p) if ((a & 3) === 2) { let h = RD(u, !1, n.body, _.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); Ly(h, p, n.body, n.body) } else Ly(u, p, n.body, n.body) } } function iU(n, a, c, u = !1) { if (!to(a, Ja)) { let p = u && DD(a); return Tv(n, !!p && to(p, Ja), c), !1 } return !0 } function TZe(n) { if (!Pa(n) || !sS(n)) return !1; let a = Ic(n.arguments[2]); if (Vc(a, "value")) { let p = ja(a, "writable"), h = p && zn(p); if (!h || h === Ke || h === oe) return !0; if (p && p.valueDeclaration && yl(p.valueDeclaration)) { let T = p.valueDeclaration.initializer, k = Yi(T); if (k === Ke || k === oe) return !0 } return !1 } return !ja(a, "set") } function M_(n) { return !!(ac(n) & 8 || n.flags & 4 && Ef(n) & 64 || n.flags & 3 && WB(n) & 2 || n.flags & 98304 && !(n.flags & 65536) || n.flags & 8 || vt(n.declarations, TZe)) } function LIe(n, a, c) { var u, p; if (c === 0) return !1; if (M_(a)) { if (a.flags & 4 && Us(n) && n.expression.kind === 108) { let h = Xd(n); if (!(h && (h.kind === 173 || cp(h)))) return !0; if (a.valueDeclaration) { let T = ar(a.valueDeclaration), k = h.parent === a.valueDeclaration.parent, O = h === a.valueDeclaration.parent, H = T && ((u = a.parent) == null ? void 0 : u.valueDeclaration) === h.parent, J = T && ((p = a.parent) == null ? void 0 : p.valueDeclaration) === h; return !(k || O || H || J) } } return !0 } if (Us(n)) { let h = vs(n.expression); if (h.kind === 79) { let T = Rr(h).resolvedSymbol; if (T.flags & 2097152) { let k = Uu(T); return !!k && k.kind === 271 } } } return !1 } function CD(n, a, c) { let u = ql(n, 7); return u.kind !== 79 && !Us(u) ? (Fe(n, a), !1) : u.flags & 32 ? (Fe(n, c), !1) : !0 } function SZe(n) { Yi(n.expression); let a = vs(n.expression); if (!Us(a)) return Fe(a, _.The_operand_of_a_delete_operator_must_be_a_property_reference), Te; br(a) && pi(a.name) && Fe(a, _.The_operand_of_a_delete_operator_cannot_be_a_private_identifier); let c = Rr(a), u = tp(c.resolvedSymbol); return u && (M_(u) && Fe(a, _.The_operand_of_a_delete_operator_cannot_be_a_read_only_property), xZe(a, u)), Te } function xZe(n, a) { let c = zn(a); U && !(c.flags & 131075) && !(Pe ? a.flags & 16777216 : iu(c) & 16777216) && Fe(n, _.The_operand_of_a_delete_operator_must_be_optional) } function AZe(n) { return Yi(n.expression), sC } function CZe(n) { return Yi(n.expression), je } function IZe(n) { let a = R6(n); if (a && oc(a)) Fe(n, _.Await_expression_cannot_be_used_inside_a_class_static_block); else if (!(n.flags & 32768)) if (O6(n)) { let c = Gn(n); if (!l0(c)) { let u; if (!aS(c, Y)) { u ?? (u = Pg(c, n.pos)); let p = al(c, u.start, u.length, _.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module); Lo.add(p) } switch (ie) { case 100: case 199: if (c.impliedNodeFormat === 1) { u ?? (u = Pg(c, n.pos)), Lo.add(al(c, u.start, u.length, _.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)); break } case 7: case 99: case 4: if (R >= 4) break; default: u ?? (u = Pg(c, n.pos)), Lo.add(al(c, u.start, u.length, _.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher)); break } } } else { let c = Gn(n); if (!l0(c)) { let u = Pg(c, n.pos), p = al(c, u.start, u.length, _.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); if (a && a.kind !== 173 && !(pl(a) & 2)) { let h = hr(a, _.Did_you_mean_to_mark_this_function_as_async); Ao(p, h) } Lo.add(p) } } kre(n) && Fe(n, _.await_expressions_cannot_be_used_in_a_parameter_initializer) } function LZe(n) { i(() => IZe(n)); let a = Yi(n.expression), c = RD(a, !0, n, _.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); return c === a && !Ro(c) && !(a.flags & 3) && ey(!1, hr(n, _.await_has_no_effect_on_the_type_of_this_expression)), c } function kZe(n) { let a = Yi(n.operand); if (a === Qe) return Qe; switch (n.operand.kind) { case 8: switch (n.operator) { case 40: return Yx(op(-n.operand.text)); case 39: return Yx(op(+n.operand.text)) }break; case 9: if (n.operator === 40) return Yx(aB({ negative: !0, base10Value: iL(n.operand.text) })) }switch (n.operator) { case 39: case 40: case 54: return sp(a, n.operand), WM(a, 12288) && Fe(n.operand, _.The_0_operator_cannot_be_applied_to_type_symbol, Xa(n.operator)), n.operator === 39 ? (WM(a, 2112) && Fe(n.operand, _.Operator_0_cannot_be_applied_to_type_1, Xa(n.operator), Ee(ky(a))), rt) : mie(a); case 53: aA(n.operand); let c = iu(a) & 12582912; return c === 4194304 ? Ke : c === 8388608 ? pe : Te; case 45: case 46: return iU(n.operand, sp(a, n.operand), _.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type) && CD(n.operand, _.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access, _.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access), mie(a) }return ve } function DZe(n) { let a = Yi(n.operand); return a === Qe ? Qe : (iU(n.operand, sp(a, n.operand), _.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type) && CD(n.operand, _.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access, _.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access), mie(a)) } function mie(n) { return Js(n, 2112) ? ul(n, 3) || Js(n, 296) ? Ja : Ot : rt } function WM(n, a) { if (Js(n, a)) return !0; let c = Ty(n); return !!c && Js(c, a) } function Js(n, a) { if (n.flags & a) return !0; if (n.flags & 3145728) { let c = n.types; for (let u of c) if (Js(u, a)) return !0 } return !1 } function ul(n, a, c) { return n.flags & a ? !0 : c && n.flags & 114691 ? !1 : !!(a & 296) && to(n, rt) || !!(a & 2112) && to(n, Ot) || !!(a & 402653316) && to(n, ae) || !!(a & 528) && to(n, Te) || !!(a & 16384) && to(n, yt) || !!(a & 131072) && to(n, lt) || !!(a & 65536) && to(n, ln) || !!(a & 32768) && to(n, Oe) || !!(a & 4096) && to(n, j) || !!(a & 67108864) && to(n, jr) } function zM(n, a, c) { return n.flags & 1048576 ? Ji(n.types, u => zM(u, a, c)) : ul(n, a, c) } function hie(n) { return !!(Ur(n) & 16) && !!n.symbol && gie(n.symbol) } function gie(n) { return (n.flags & 128) !== 0 } function wZe(n, a, c, u) { return c === Qe || u === Qe ? Qe : (!Zo(c) && zM(c, 134348796) && Fe(n, _.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter), Zo(u) || EU(u) || Iy(u, Hs) || Fe(a, _.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type), Te) } function RZe(n) { return yh(n, a => a === xc || !!(a.flags & 2097152) && hh(Ty(a))) } function OZe(n, a, c, u) { if (c === Qe || u === Qe) return Qe; if (pi(n)) { if (R < 99 && Hc(n, 2097152), !Rr(n).resolvedSymbol && Zc(n)) { let p = Kre(n, u.symbol, !0); GCe(n, u, p) } } else wu(sp(c, n), Kr, n); return wu(sp(u, a), jr, a) && RZe(u) && Fe(a, _.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator, Ee(u)), Te } function NZe(n, a, c) { let u = n.properties; if (U && u.length === 0) return sp(a, n); for (let p = 0; p < u.length; p++)kIe(n, a, p, u, c); return a } function kIe(n, a, c, u, p = !1) { let h = n.properties, T = h[c]; if (T.kind === 299 || T.kind === 300) { let k = T.name, O = pg(k); if (fh(O)) { let de = Np(O), Ae = ja(a, de); Ae && (MM(Ae, T, p), Hre(T, !1, !0, a, Ae)) } let H = od(a, O, 32, k), J = Ue(T, H); return nT(T.kind === 300 ? T : T.initializer, J) } else if (T.kind === 301) if (c < h.length - 1) Fe(T, _.A_rest_element_must_be_last_in_a_destructuring_pattern); else { R < 99 && Hc(T, 4); let k = []; if (u) for (let H of u) VS(H) || k.push(H.name); let O = Mx(a, k, a.symbol); return B1(u, _.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), nT(T.expression, O) } else Fe(T, _.Property_assignment_expected) } function PZe(n, a, c) { let u = n.elements; R < 2 && Y.downlevelIteration && Hc(n, 512); let p = wy(193, a, Oe, n) || ve, h = Y.noUncheckedIndexedAccess ? void 0 : p; for (let T = 0; T < u.length; T++) { let k = p; n.elements[T].kind === 227 && (k = h = h ?? (wy(65, a, Oe, n) || ve)), DIe(n, a, T, k, c) } return a } function DIe(n, a, c, u, p) { let h = n.elements, T = h[c]; if (T.kind !== 229) { if (T.kind !== 227) { let k = op(c); if (Kv(a)) { let O = 32 | (RC(T) ? 16 : 0), H = Ay(a, k, O, GM(T, k)) || ve, J = RC(T) ? wf(H, 524288) : H, de = Ue(T, J); return nT(T, de, p) } return nT(T, u, p) } if (c < h.length - 1) Fe(T, _.A_rest_element_must_be_last_in_a_destructuring_pattern); else { let k = T.expression; if (k.kind === 223 && k.operatorToken.kind === 63) Fe(k.operatorToken, _.A_rest_element_cannot_have_an_initializer); else { B1(n.elements, _.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); let O = Im(a, po) ? Ls(a, H => EC(H, c)) : nu(u); return nT(k, O, p) } } } } function nT(n, a, c, u) { let p; if (n.kind === 300) { let h = n; h.objectAssignmentInitializer && (U && !(iu(Yi(h.objectAssignmentInitializer)) & 16777216) && (a = wf(a, 524288)), BZe(h.name, h.equalsToken, h.objectAssignmentInitializer, c)), p = n.name } else p = n; return p.kind === 223 && p.operatorToken.kind === 63 && (Ce(p, c), p = p.left, U && (a = wf(a, 524288))), p.kind === 207 ? NZe(p, a, u) : p.kind === 206 ? PZe(p, a, c) : MZe(p, a, c) } function MZe(n, a, c) { let u = Yi(n, c), p = n.parent.kind === 301 ? _.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : _.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access, h = n.parent.kind === 301 ? _.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access : _.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access; return CD(n, p, h) && Ly(a, u, n, n), TA(n) && Hc(n.parent, 1048576), a } function JM(n) { switch (n = vs(n), n.kind) { case 79: case 10: case 13: case 212: case 225: case 14: case 8: case 9: case 110: case 95: case 104: case 155: case 215: case 228: case 216: case 206: case 207: case 218: case 232: case 282: case 281: return !0; case 224: return JM(n.whenTrue) && JM(n.whenFalse); case 223: return Mg(n.operatorToken.kind) ? !1 : JM(n.left) && JM(n.right); case 221: case 222: switch (n.operator) { case 53: case 39: case 40: case 54: return !0 }return !1; case 219: case 213: case 231: default: return !1 } } function yie(n, a) { return (a.flags & 98304) !== 0 || _B(n, a) } function FZe() { let n = C3(a, c, u, p, h, T); return (Ae, xe) => { let tt = n(Ae, xe); return L.assertIsDefined(tt), tt }; function a(Ae, xe, tt) { return xe ? (xe.stackIndex++, xe.skip = !1, H(xe, void 0), de(xe, void 0)) : xe = { checkMode: tt, skip: !1, stackIndex: 0, typeStack: [void 0, void 0] }, Yn(Ae) && oS(Ae) ? (xe.skip = !0, de(xe, Yi(Ae.right, tt)), xe) : (GZe(Ae), Ae.operatorToken.kind === 63 && (Ae.left.kind === 207 || Ae.left.kind === 206) && (xe.skip = !0, de(xe, nT(Ae.left, Yi(Ae.right, tt), tt, Ae.right.kind === 108))), xe) } function c(Ae, xe, tt) { if (!xe.skip) return k(xe, Ae) } function u(Ae, xe, tt) { if (!xe.skip) { let It = J(xe); L.assertIsDefined(It), H(xe, It), de(xe, void 0); let Tn = Ae.kind; if (AR(Tn)) { let un = tt.parent; for (; un.kind === 214 || CR(un);)un = un.parent; (Tn === 55 || MT(un)) && wie(tt.left, It, MT(un) ? un.thenStatement : void 0), uLe(It, tt.left) } } } function p(Ae, xe, tt) { if (!xe.skip) return k(xe, Ae) } function h(Ae, xe) { let tt; if (xe.skip) tt = J(xe); else { let It = O(xe); L.assertIsDefined(It); let Tn = J(xe); L.assertIsDefined(Tn), tt = wIe(Ae.left, Ae.operatorToken, Ae.right, It, Tn, Ae) } return xe.skip = !1, H(xe, void 0), de(xe, void 0), xe.stackIndex--, tt } function T(Ae, xe, tt) { return de(Ae, xe), Ae } function k(Ae, xe) { if (ar(xe)) return xe; de(Ae, Yi(xe, Ae.checkMode)) } function O(Ae) { return Ae.typeStack[Ae.stackIndex] } function H(Ae, xe) { Ae.typeStack[Ae.stackIndex] = xe } function J(Ae) { return Ae.typeStack[Ae.stackIndex + 1] } function de(Ae, xe) { Ae.typeStack[Ae.stackIndex + 1] = xe } } function GZe(n) { let { left: a, operatorToken: c, right: u } = n; c.kind === 60 && (ar(a) && (a.operatorToken.kind === 56 || a.operatorToken.kind === 55) && an(a, _._0_and_1_operations_cannot_be_mixed_without_parentheses, Xa(a.operatorToken.kind), Xa(c.kind)), ar(u) && (u.operatorToken.kind === 56 || u.operatorToken.kind === 55) && an(u, _._0_and_1_operations_cannot_be_mixed_without_parentheses, Xa(u.operatorToken.kind), Xa(c.kind))) } function BZe(n, a, c, u, p) { let h = a.kind; if (h === 63 && (n.kind === 207 || n.kind === 206)) return nT(n, Yi(c, u), u, c.kind === 108); let T; AR(h) ? T = aA(n, u) : T = Yi(n, u); let k = Yi(c, u); return wIe(n, a, c, T, k, p) } function wIe(n, a, c, u, p, h) { let T = a.kind; switch (T) { case 41: case 42: case 66: case 67: case 43: case 68: case 44: case 69: case 40: case 65: case 47: case 70: case 48: case 71: case 49: case 72: case 51: case 74: case 52: case 78: case 50: case 73: if (u === Qe || p === Qe) return Qe; u = sp(u, n), p = sp(p, c); let en; if (u.flags & 528 && p.flags & 528 && (en = de(a.kind)) !== void 0) return Fe(h || a, _.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, Xa(a.kind), Xa(en)), rt; { let Jt = iU(n, u, _.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type, !0), Cn = iU(c, p, _.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type, !0), Rn; if (ul(u, 3) && ul(p, 3) || !(Js(u, 2112) || Js(p, 2112))) Rn = rt; else if (k(u, p)) { switch (T) { case 49: case 72: It(); break; case 42: case 67: R < 3 && Fe(h, _.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later) }Rn = Ot } else It(k), Rn = ve; return Jt && Cn && Ae(Rn), Rn } case 39: case 64: if (u === Qe || p === Qe) return Qe; !ul(u, 402653316) && !ul(p, 402653316) && (u = sp(u, n), p = sp(p, c)); let cn; return ul(u, 296, !0) && ul(p, 296, !0) ? cn = rt : ul(u, 2112, !0) && ul(p, 2112, !0) ? cn = Ot : ul(u, 402653316, !0) || ul(p, 402653316, !0) ? cn = ae : (Zo(u) || Zo(p)) && (cn = Ro(u) || Ro(p) ? ve : Se), cn && !J(T) ? cn : cn ? (T === 64 && Ae(cn), cn) : (It((Cn, Rn) => ul(Cn, 402655727) && ul(Rn, 402655727)), Se); case 29: case 31: case 32: case 33: return J(T) && (u = $ne(sp(u, n)), p = $ne(sp(p, c)), tt((Jt, Cn) => { if (Zo(Jt) || Zo(Cn)) return !0; let Rn = to(Jt, Ja), Br = to(Cn, Ja); return Rn && Br || !Rn && !Br && _M(Jt, Cn) })), Te; case 34: case 35: case 36: case 37: if (Pj(n) || Pj(c)) { let Jt = T === 34 || T === 36; Fe(h, _.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, Jt ? "false" : "true") } return un(h, T, n, c), tt((Jt, Cn) => yie(Jt, Cn) || yie(Cn, Jt)), Te; case 102: return wZe(n, c, u, p); case 101: return OZe(n, c, u, p); case 55: case 76: { let Jt = iu(u) & 4194304 ? Gr([kXe(U ? u : ky(p)), p]) : u; return T === 76 && Ae(p), Jt } case 56: case 75: { let Jt = iu(u) & 8388608 ? Gr([yg(m2e(u)), p], 2) : u; return T === 75 && Ae(p), Jt } case 60: case 77: { let Jt = iu(u) & 262144 ? Gr([yg(u), p], 2) : u; return T === 77 && Ae(p), Jt } case 63: let rr = ar(n.parent) ? ic(n.parent) : 0; return O(rr, p), xe(rr) ? ((!(p.flags & 524288) || rr !== 2 && rr !== 6 && !mh(p) && !vre(p) && !(Ur(p) & 1)) && Ae(p), u) : (Ae(p), p); case 27: if (!Y.allowUnreachableCode && JM(n) && !H(n.parent)) { let Jt = Gn(n), Cn = Jt.text, Rn = xo(Cn, n.pos); Jt.parseDiagnostics.some(Hr => Hr.code !== _.JSX_expressions_must_have_one_parent_element.code ? !1 : bj(Hr, Rn)) || Fe(n, _.Left_side_of_comma_operator_is_unused_and_has_no_side_effects) } return p; default: return L.fail() }function k(en, cn) { return ul(en, 2112) && ul(cn, 2112) } function O(en, cn) { if (en === 2) for (let rr of Ey(cn)) { let Jt = zn(rr); if (Jt.symbol && Jt.symbol.flags & 32) { let Cn = rr.escapedName, Rn = zs(rr.valueDeclaration, Cn, 788968, void 0, Cn, !1); Rn?.declarations && Rn.declarations.some(Kz) && (Mb(Rn, _.Duplicate_identifier_0, Gi(Cn), rr), Mb(rr, _.Duplicate_identifier_0, Gi(Cn), Rn)) } } } function H(en) { return en.parent.kind === 214 && Vf(en.left) && en.left.text === "0" && (Pa(en.parent.parent) && en.parent.parent.expression === en.parent || en.parent.parent.kind === 212) && (Us(en.right) || Re(en.right) && en.right.escapedText === "eval") } function J(en) { let cn = WM(u, 12288) ? n : WM(p, 12288) ? c : void 0; return cn ? (Fe(cn, _.The_0_operator_cannot_be_applied_to_type_symbol, Xa(en)), !1) : !0 } function de(en) { switch (en) { case 51: case 74: return 56; case 52: case 78: return 37; case 50: case 73: return 55; default: return } } function Ae(en) { Mg(T) && i(cn); function cn() { if (CD(n, _.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access, _.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)) { let rr; if (Pe && br(n) && Js(en, 32768)) { let Jt = Vc(au(n.expression), n.name.escapedText); mB(en, Jt) && (rr = _.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target) } Ly(en, u, n, c, rr) } } } function xe(en) { var cn; switch (en) { case 2: return !0; case 1: case 5: case 6: case 3: case 4: let rr = vd(n), Jt = oS(c); return !!Jt && rs(Jt) && !!((cn = rr?.exports) != null && cn.size); default: return !1 } } function tt(en) { return en(u, p) ? !1 : (It(en), !0) } function It(en) { let cn = !1, rr = h || a; if (en) { let Hr = bg(u), qi = bg(p); cn = !(Hr === u && qi === p) && !!(Hr && qi) && en(Hr, qi) } let Jt = u, Cn = p; !cn && en && ([Jt, Cn] = UZe(u, p, en)); let [Rn, Br] = Wt(Jt, Cn); Tn(rr, cn, Rn, Br) || Tv(rr, cn, _.Operator_0_cannot_be_applied_to_types_1_and_2, Xa(a.kind), Rn, Br) } function Tn(en, cn, rr, Jt) { switch (a.kind) { case 36: case 34: case 37: case 35: return Tv(en, cn, _.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap, rr, Jt); default: return } } function un(en, cn, rr, Jt) { let Cn = Nn(vs(rr)), Rn = Nn(vs(Jt)); if (Cn || Rn) { let Br = Fe(en, _.This_condition_will_always_return_0, Xa(cn === 36 || cn === 34 ? 95 : 110)); if (Cn && Rn) return; let Hr = cn === 37 || cn === 35 ? Xa(53) : "", qi = Cn ? Jt : rr, wa = vs(qi); Ao(Br, hr(qi, _.Did_you_mean_0, `${Hr}Number.isNaN(${bc(wa) ? qd(wa) : "..."})`)) } } function Nn(en) { if (Re(en) && en.escapedText === "NaN") { let cn = PKe(); return !!cn && cn === Qf(en) } return !1 } } function UZe(n, a, c) { let u = n, p = a, h = ky(n), T = ky(a); return c(h, T) || (u = h, p = T), [u, p] } function VZe(n) { i(Ae); let a = Xd(n); if (!a) return Se; let c = pl(a); if (!(c & 1)) return Se; let u = (c & 2) !== 0; n.asteriskToken && (u && R < 99 && Hc(n, 26624), !u && R < 2 && Y.downlevelIteration && Hc(n, 256)); let p = Hx(a), h = p && bLe(p, u), T = h && h.yieldType || Se, k = h && h.nextType || Se, O = u ? rT(k) || Se : k, H = n.expression ? Yi(n.expression) : je, J = TIe(n, H, O, u); if (p && J && Ly(J, T, n.expression || n, n.expression), n.asteriskToken) return Oie(u ? 19 : 17, 1, H, n.expression) || Se; if (p) return c0(2, p, u) || Se; let de = cCe(2, a); return de || (de = Se, i(() => { if (ge && !Ble(n)) { let xe = Ru(n, void 0); (!xe || Zo(xe)) && Fe(n, _.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation) } })), de; function Ae() { n.flags & 8192 || dl(n, _.A_yield_expression_is_only_allowed_in_a_generator_body), kre(n) && Fe(n, _.yield_expressions_cannot_be_used_in_a_parameter_initializer) } } function jZe(n, a) { let c = aA(n.condition); wie(n.condition, c, n.whenTrue); let u = Yi(n.whenTrue, a), p = Yi(n.whenFalse, a); return Gr([u, p], 2) } function RIe(n) { let a = n.parent; return ud(a) && RIe(a) || Vs(a) && a.argumentExpression === n } function HZe(n) { let a = [n.head.text], c = []; for (let u of n.templateSpans) { let p = Yi(u.expression); WM(p, 12288) && Fe(u.expression, _.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String), a.push(u.literal.text), c.push(to(p, Za) ? p : ae) } return GC(n) || RIe(n) || yh(Ru(n, void 0) || ue, WZe) ? WE(a, c) : ae } function WZe(n) { return !!(n.flags & 134217856 || n.flags & 58982400 && Js(bu(n) || ue, 402653316)) } function zZe(n) { return K0(n) && !FS(n.parent) ? n.parent.parent : n } function rA(n, a, c, u) { let p = zZe(n); wM(p, a, !1), h$e(p, c); let h = Yi(n, u | 1 | (c ? 2 : 0)); c && c.intraExpressionInferenceSites && (c.intraExpressionInferenceSites = void 0); let T = Js(h, 2944) && aU(h, BB(a, n, void 0)) ? Hu(h) : h; return g$e(), vD(), T } function Ic(n, a) { if (a) return Yi(n, a); let c = Rr(n); if (!c.resolvedType) { let u = sn, p = ra; sn = Dn, ra = void 0, c.resolvedType = Yi(n, a), ra = p, sn = u } return c.resolvedType } function OIe(n) { return n = vs(n, !0), n.kind === 213 || n.kind === 231 || RL(n) } function ID(n, a, c) { let u = Yw(n); if (Yn(n)) { let h = T4(n); if (h) return cie(u, h, a) } let p = Eie(u) || (c ? rA(u, c, void 0, a || 0) : Ic(u, a)); return ha(n) && n.name.kind === 204 && po(p) && !p.target.hasRestElement && Vv(p) < n.name.elements.length ? JZe(p, n.name) : p } function JZe(n, a) { let c = a.elements, u = Ko(n).slice(), p = n.target.elementFlags.slice(); for (let h = Vv(n); h < c.length; h++) { let T = c[h]; (h < c.length - 1 || !(T.kind === 205 && T.dotDotDotToken)) && (u.push(!ol(T) && RC(T) ? hy(T, !1, !1) : Se), p.push(2), !ol(T) && !RC(T) && qv(T, Se)) } return ap(u, p, n.target.readonly) } function vie(n, a) { let c = G_(n) & 2 || x6(n) ? a : i0(a); if (Yn(n)) { if (u2e(c)) return qv(n, Se), Se; if (bB(c)) return qv(n, Et), Et } return c } function aU(n, a) { if (a) { if (a.flags & 3145728) { let c = a.types; return vt(c, u => aU(n, u)) } if (a.flags & 58982400) { let c = bu(a) || ue; return Js(c, 4) && Js(n, 128) || Js(c, 8) && Js(n, 256) || Js(c, 64) && Js(n, 2048) || Js(c, 4096) && Js(n, 8192) || aU(n, c) } return !!(a.flags & 406847616 && Js(n, 128) || a.flags & 256 && Js(n, 256) || a.flags & 2048 && Js(n, 2048) || a.flags & 512 && Js(n, 512) || a.flags & 8192 && Js(n, 8192)) } return !1 } function GC(n) { let a = n.parent; return pT(a) && Ch(a.type) || RL(a) && Ch(T3(a)) || sie(n) && KZe(n) || (ud(a) || fu(a) || Km(a)) && GC(a) || (yl(a) || xf(a) || xL(a)) && GC(a.parent) } function KZe(n) { let a = Ru(n, 0); return !!a && yh(a, tM) } function BC(n, a, c) { let u = Yi(n, a, c); return GC(n) || Zse(n) ? Hu(u) : OIe(n) ? u : Qne(u, BB(Ru(n, void 0), n, void 0)) } function NIe(n, a) { return n.name.kind === 164 && vg(n.name), BC(n.initializer, a) } function PIe(n, a) { cke(n), n.name.kind === 164 && vg(n.name); let c = IIe(n, a); return MIe(n, c, a) } function MIe(n, a, c) { if (c && c & 10) { let u = ED(a, 0, !0), p = ED(a, 1, !0), h = u || p; if (h && h.typeParameters) { let T = o0(n, 2); if (T) { let k = ED(yg(T), u ? 0 : 1, !1); if (k && !k.typeParameters) { if (c & 8) return FIe(n, c), aa; let O = M1(n), H = O.signature && qo(O.signature), J = H && KCe(H); if (J && !J.typeParameters && !Ji(O.inferences, iA)) { let de = $Ze(O, h.typeParameters), Ae = ine(h, de), xe = on(O.inferences, tt => ore(tt.typeParameter)); if (rre(Ae, k, (tt, It) => { gh(xe, tt, It, 0, !0) }), vt(xe, iA) && (ire(Ae, k, (tt, It) => { gh(xe, tt, It) }), !XZe(O.inferences, xe))) return YZe(O.inferences, xe), O.inferredTypeParameters = Qi(O.inferredTypeParameters, de), HE(Ae) } return HE(qCe(h, k, O)) } } } } return a } function FIe(n, a) { if (a & 2) { let c = M1(n); c.flags |= 4 } } function iA(n) { return !!(n.candidates || n.contraCandidates) } function qZe(n) { return !!(n.candidates || n.contraCandidates || Rxe(n.typeParameter)) } function XZe(n, a) { for (let c = 0; c < n.length; c++)if (iA(n[c]) && iA(a[c])) return !0; return !1 } function YZe(n, a) { for (let c = 0; c < n.length; c++)!iA(n[c]) && iA(a[c]) && (n[c] = a[c]) } function $Ze(n, a) { let c = [], u, p; for (let h of a) { let T = h.symbol.escapedName; if (bie(n.inferredTypeParameters, T) || bie(c, T)) { let k = QZe(Qi(n.inferredTypeParameters, c), T), O = wo(262144, k), H = rd(O); H.target = h, u = Sn(u, h), p = Sn(p, H), c.push(H) } else c.push(h) } if (p) { let h = Wu(u, p); for (let T of p) T.mapper = h } return c } function bie(n, a) { return vt(n, c => c.symbol.escapedName === a) } function QZe(n, a) { let c = a.length; for (; c > 1 && a.charCodeAt(c - 1) >= 48 && a.charCodeAt(c - 1) <= 57;)c--; let u = a.slice(0, c); for (let p = 1; ; p++) { let h = u + p; if (!bie(n, h)) return h } } function GIe(n) { let a = F1(n); if (a && !a.typeParameters) return qo(a) } function ZZe(n) { let a = Yi(n.expression), c = dD(a, n.expression), u = GIe(a); return u && SB(u, n, c !== a) } function au(n) { let a = Eie(n); if (a) return a; if (n.flags & 134217728 && ra) { let p = ra[zo(n)]; if (p) return p } let c = Vn, u = Yi(n); if (Vn !== c) { let p = ra || (ra = []); p[zo(n)] = u, Gle(n, n.flags | 134217728) } return u } function Eie(n) { let a = vs(n, !0); if (RL(a)) { let c = T3(a); if (!Ch(c)) return $r(c) } if (a = vs(n), v2(a)) { let c = Eie(a.expression); return c ? rT(c) : void 0 } if (Pa(a) && a.expression.kind !== 106 && !qu(a, !0) && !sIe(a)) return dT(a) ? ZZe(a) : GIe(NC(a.expression)); if (pT(a) && !Ch(a.type)) return $r(a.type); if (fT(n) || ose(n)) return Yi(n) } function KM(n) { let a = Rr(n); if (a.contextFreeType) return a.contextFreeType; wM(n, Se, !1); let c = a.contextFreeType = Yi(n, 4); return vD(), c } function Yi(n, a, c) { var u, p; (u = ai) == null || u.push(ai.Phase.Check, "checkExpression", { kind: n.kind, pos: n.pos, end: n.end, path: n.tracingPath }); let h = P; P = n, A = 0; let T = net(n, a, c), k = MIe(n, T, a); return hie(k) && eet(n, k), P = h, (p = ai) == null || p.pop(), k } function eet(n, a) { n.parent.kind === 208 && n.parent.expression === n || n.parent.kind === 209 && n.parent.expression === n || (n.kind === 79 || n.kind === 163) && vU(n) || n.parent.kind === 183 && n.parent.exprName === n || n.parent.kind === 278 || Fe(n, _.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query), d_(Y) && (L.assert(!!(a.symbol.flags & 128)), a.symbol.valueDeclaration.flags & 16777216 && Fe(n, _.Cannot_access_ambient_const_enums_when_0_is_enabled, Rt)) } function tet(n, a) { if (Kd(n)) { if (zW(n)) return cie(n.expression, JW(n), a); if (RL(n)) { let c = T3(n); return fIe(c, c, n.expression, a) } } return Yi(n.expression, a) } function net(n, a, c) { let u = n.kind; if (o) switch (u) { case 228: case 215: case 216: o.throwIfCancellationRequested() }switch (u) { case 79: return BYe(n, a); case 80: return Z$e(n); case 108: return kM(n); case 106: return Ire(n); case 104: return ir; case 14: case 10: return Yx(ff(n.text)); case 8: return eae(n), Yx(op(+n.text)); case 9: return iit(n), Yx(aB({ negative: !1, base10Value: iL(n.text) })); case 110: return pe; case 95: return Ke; case 225: return HZe(n); case 13: return nf; case 206: return gCe(n, a, c); case 207: return O$e(n, a); case 208: return RCe(n, a); case 163: return OCe(n, a); case 209: return mQe(n, a); case 210: if (n.expression.kind === 100) return zQe(n); case 211: return WQe(n, a); case 212: return JQe(n); case 214: return tet(n, a); case 228: return Wtt(n); case 215: case 216: return IIe(n, a); case 218: return AZe(n); case 213: case 231: return KQe(n); case 232: return XQe(n); case 230: return _Ie(n); case 235: return YQe(n); case 233: return $Qe(n); case 217: return SZe(n); case 219: return CZe(n); case 220: return LZe(n); case 221: return kZe(n); case 222: return DZe(n); case 223: return Ce(n, a); case 224: return jZe(n, a); case 227: return L$e(n, a); case 229: return je; case 226: return VZe(n); case 234: return k$e(n); case 291: return J$e(n, a); case 281: return F$e(n, a); case 282: return P$e(n, a); case 285: return G$e(n); case 289: return U$e(n, a); case 283: L.fail("Shouldn't ever directly check a JsxOpeningElement") }return ve } function BIe(n) { km(n), n.expression && dl(n.expression, _.Type_expected), qa(n.constraint), qa(n.default); let a = UE(fr(n)); bu(a), WJe(a) || Fe(n.default, _.Type_parameter_0_has_a_circular_default, Ee(a)); let c = eu(a), u = jE(a); c && u && wu(u, uf(Oi(c, n0(a, u)), u), n.default, _.Type_0_does_not_satisfy_the_constraint_1), zC(n), i(() => HC(n.name, _.Type_parameter_name_cannot_be_0)) } function ret(n) { var a, c; if (ku(n.parent) || Yr(n.parent) || Ep(n.parent)) { let u = UE(fr(n)), p = Jne(u) & 98304; if (p) { let h = fr(n.parent); if (Ep(n.parent) && !(Ur(gs(h)) & 48)) Fe(n, _.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types); else if (p === 32768 || p === 65536) { (a = ai) == null || a.push(ai.Phase.CheckTypes, "checkTypeParameterDeferred", { parent: ru(gs(h)), id: ru(u) }); let T = hM(h, u, p === 65536 ? qs : ss), k = hM(h, u, p === 65536 ? ss : qs), O = u; F = u, wu(T, k, n, _.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation), F = O, (c = ai) == null || c.pop() } } } } function UIe(n) { km(n), ZM(n); let a = Xd(n); Mr(n, 16476) && (a.kind === 173 && Pf(a.body) || Fe(n, _.A_parameter_property_is_only_allowed_in_a_constructor_implementation), a.kind === 173 && Re(n.name) && n.name.escapedText === "constructor" && Fe(n.name, _.constructor_cannot_be_used_as_a_parameter_property_name)), !n.initializer && WW(n) && La(n.name) && a.body && Fe(n, _.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature), n.name && Re(n.name) && (n.name.escapedText === "this" || n.name.escapedText === "new") && (a.parameters.indexOf(n) !== 0 && Fe(n, _.A_0_parameter_must_be_the_first_parameter, n.name.escapedText), (a.kind === 173 || a.kind === 177 || a.kind === 182) && Fe(n, _.A_constructor_cannot_have_a_this_parameter), a.kind === 216 && Fe(n, _.An_arrow_function_cannot_have_a_this_parameter), (a.kind === 174 || a.kind === 175) && Fe(n, _.get_and_set_accessors_cannot_declare_this_parameters)), n.dotDotDotToken && !La(n.name) && !to(O_(zn(n.symbol)), Ri) && Fe(n, _.A_rest_parameter_must_be_of_an_array_type) } function iet(n) { let a = aet(n); if (!a) { Fe(n, _.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods); return } let c = ip(a), u = Lf(c); if (!u) return; qa(n.type); let { parameterName: p } = n; if (u.kind === 0 || u.kind === 2) oB(p); else if (u.parameterIndex >= 0) { if (Xl(c) && u.parameterIndex === c.parameters.length - 1) Fe(p, _.A_type_predicate_cannot_reference_a_rest_parameter); else if (u.type) { let h = () => da(void 0, _.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); wu(u.type, zn(c.parameters[u.parameterIndex]), n.type, void 0, h) } } else if (p) { let h = !1; for (let { name: T } of a.parameters) if (La(T) && VIe(T, p, u.parameterName)) { h = !0; break } h || Fe(n.parameterName, _.Cannot_find_parameter_0, u.parameterName) } } function aet(n) { switch (n.parent.kind) { case 216: case 176: case 259: case 215: case 181: case 171: case 170: let a = n.parent; if (n === a.type) return a } } function VIe(n, a, c) { for (let u of n.elements) { if (ol(u)) continue; let p = u.name; if (p.kind === 79 && p.escapedText === c) return Fe(a, _.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, c), !0; if ((p.kind === 204 || p.kind === 203) && VIe(p, a, c)) return !0 } } function LD(n) { n.kind === 178 ? wrt(n) : (n.kind === 181 || n.kind === 259 || n.kind === 182 || n.kind === 176 || n.kind === 173 || n.kind === 177) && AU(n); let a = pl(n); a & 4 || ((a & 3) === 3 && R < 99 && Hc(n, 6144), (a & 3) === 2 && R < 4 && Hc(n, 64), a & 3 && R < 2 && Hc(n, 128)), t8(jy(n)), Vtt(n), mn(n.parameters, UIe), n.type && qa(n.type), i(c); function c() { itt(n); let u = U_(n); if (ge && !u) switch (n.kind) { case 177: Fe(n, _.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; case 176: Fe(n, _.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break }if (u) { let p = pl(n); if ((p & 5) === 1) { let h = $r(u); if (h === yt) Fe(u, _.A_generator_cannot_have_a_void_type_annotation); else { let T = c0(0, h, (p & 2) !== 0) || Se, k = c0(1, h, (p & 2) !== 0) || T, O = c0(2, h, (p & 2) !== 0) || ue, H = EIe(T, k, O, !!(p & 2)); wu(H, h, u) } } else (p & 3) === 2 && Get(n, u) } n.kind !== 178 && n.kind !== 320 && Dy(n) } } function oet(n) { let a = new Map, c = new Map, u = new Map; for (let h of n.members) if (h.kind === 173) for (let T of h.parameters) Ad(T, h) && !La(T.name) && p(a, T.name, T.name.escapedText, 3); else { let T = Ca(h), k = h.name; if (!k) continue; let O = pi(k), H = O && T ? 16 : 0, J = O ? u : T ? c : a, de = k && M0(k); if (de) switch (h.kind) { case 174: p(J, k, de, 1 | H); break; case 175: p(J, k, de, 2 | H); break; case 169: p(J, k, de, 3 | H); break; case 171: p(J, k, de, 8 | H); break } } function p(h, T, k, O) { let H = h.get(k); if (H) if ((H & 16) !== (O & 16)) Fe(T, _.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name, Qc(T)); else { let J = !!(H & 8), de = !!(O & 8); J || de ? J !== de && Fe(T, _.Duplicate_identifier_0, Qc(T)) : H & O & -17 ? Fe(T, _.Duplicate_identifier_0, Qc(T)) : h.set(k, H | O) } else h.set(k, O) } } function set(n) { for (let a of n.members) { let c = a.name; if (Ca(a) && c) { let p = M0(c); switch (p) { case "name": case "length": case "caller": case "arguments": case "prototype": let h = _.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1, T = _y(fr(n)); Fe(c, h, p, T); break } } } } function jIe(n) { let a = new Map; for (let c of n.members) if (c.kind === 168) { let u, p = c.name; switch (p.kind) { case 10: case 8: u = p.text; break; case 79: u = vr(p); break; default: continue }a.get(u) ? (Fe(sa(c.symbol.valueDeclaration), _.Duplicate_identifier_0, u), Fe(c.name, _.Duplicate_identifier_0, u)) : a.set(u, !0) } } function Tie(n) { if (n.kind === 261) { let c = fr(n); if (c.declarations && c.declarations.length > 0 && c.declarations[0] !== n) return } let a = Uxe(fr(n)); if (a?.declarations) { let c = new Map; for (let u of a.declarations) u.parameters.length === 1 && u.parameters[0].type && QE($r(u.parameters[0].type), p => { let h = c.get(ru(p)); h ? h.declarations.push(u) : c.set(ru(p), { type: p, declarations: [u] }) }); c.forEach(u => { if (u.declarations.length > 1) for (let p of u.declarations) Fe(p, _.Duplicate_index_signature_for_type_0, Ee(u.type)) }) } } function HIe(n) { !km(n) && !Zrt(n) && CU(n.name), ZM(n), Sie(n), Mr(n, 256) && n.kind === 169 && n.initializer && Fe(n, _.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, os(n.name)) } function cet(n) { return pi(n.name) && Fe(n, _.Private_identifiers_are_not_allowed_outside_class_bodies), HIe(n) } function uet(n) { cke(n) || CU(n.name), Nc(n) && n.asteriskToken && Re(n.name) && vr(n.name) === "constructor" && Fe(n.name, _.Class_constructor_may_not_be_a_generator), nLe(n), Mr(n, 256) && n.kind === 171 && n.body && Fe(n, _.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, os(n.name)), pi(n.name) && !Zc(n) && Fe(n, _.Private_identifiers_are_not_allowed_outside_class_bodies), Sie(n) } function Sie(n) { if (pi(n.name) && R < 99) { for (let a = tm(n); a; a = tm(a))Rr(a).flags |= 4194304; if (_u(n.parent)) { let a = xre(n.parent); a && (Rr(n.name).flags |= 32768, Rr(a).flags |= 4096) } } } function det(n) { km(n), pa(n, qa) } function fet(n) { LD(n), $rt(n) || Qrt(n), qa(n.body); let a = fr(n), c = nc(a, n.kind); if (n === c && cU(a), rc(n.body)) return; i(p); return; function u(h) { return xu(h) ? !0 : h.kind === 169 && !Ca(h) && !!h.initializer } function p() { let h = n.parent; if (P0(h)) { Are(n.parent, h); let T = nCe(h), k = tCe(n.body); if (k) { if (T && Fe(k, _.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null), (Do(Y) !== 99 || !fe) && (vt(n.parent.members, u) || vt(n.parameters, H => Mr(H, 16476)))) if (!_et(k, n.body)) Fe(k, _.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers); else { let H; for (let J of n.body.statements) { if (Ol(J) && OA(ql(J.expression))) { H = J; break } if (WIe(J)) break } H === void 0 && Fe(n, _.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers) } } else T || Fe(n, _.Constructors_for_derived_classes_must_contain_a_super_call) } } } function _et(n, a) { let c = qy(n.parent); return Ol(c) && c.parent === a } function WIe(n) { return n.kind === 106 || n.kind === 108 ? !0 : ace(n) ? !1 : !!pa(n, WIe) } function zIe(n) { Re(n.name) && vr(n.name) === "constructor" && Fe(n.name, _.Class_constructor_may_not_be_an_accessor), i(a), qa(n.body), Sie(n); function a() { if (!AU(n) && !Urt(n) && CU(n.name), XM(n), LD(n), n.kind === 174 && !(n.flags & 16777216) && Pf(n.body) && n.flags & 256 && (n.flags & 512 || Fe(n.name, _.A_get_accessor_must_return_a_value)), n.name.kind === 164 && vg(n.name), Ux(n)) { let u = fr(n), p = nc(u, 174), h = nc(u, 175); if (p && h && !(sA(p) & 1)) { Rr(p).flags |= 1; let T = uu(p), k = uu(h); (T & 256) !== (k & 256) && (Fe(p.name, _.Accessors_must_both_be_abstract_or_non_abstract), Fe(h.name, _.Accessors_must_both_be_abstract_or_non_abstract)), (T & 16 && !(k & 24) || T & 8 && !(k & 8)) && (Fe(p.name, _.A_get_accessor_must_be_at_least_as_accessible_as_the_setter), Fe(h.name, _.A_get_accessor_must_be_at_least_as_accessible_as_the_setter)); let O = te(p), H = te(h); O && H && wu(O, H, p, _.The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type) } } let c = Tr(fr(n)); n.kind === 174 && pie(n, c) } } function pet(n) { XM(n) } function met(n, a, c) { return n.typeArguments && c < n.typeArguments.length ? $r(n.typeArguments[c]) : oU(n, a)[c] } function oU(n, a) { return Sy(on(n.typeArguments, $r), a, Mp(a), Yn(n)) } function JIe(n, a) { let c, u, p = !0; for (let h = 0; h < a.length; h++) { let T = eu(a[h]); T && (c || (c = oU(n, a), u = Wu(a, c)), p = p && wu(c[h], Oi(T, u), n.typeArguments[h], _.Type_0_does_not_satisfy_the_constraint_1)) } return p } function het(n, a) { if (!Ro(n)) return a.flags & 524288 && Ai(a).typeParameters || (Ur(n) & 4 ? n.target.localTypeParameters : void 0) } function xie(n) { let a = $r(n); if (!Ro(a)) { let c = Rr(n).resolvedSymbol; if (c) return het(a, c) } } function Aie(n) { if (a8(n, n.typeArguments), n.kind === 180 && !Yn(n) && !qw(n) && n.typeArguments && n.typeName.end !== n.typeArguments.pos) { let a = Gn(n); Xse(a, n.typeName.end) === 24 && u0(n, xo(a.text, n.typeName.end), 1, _.JSDoc_types_can_only_be_used_inside_documentation_comments) } mn(n.typeArguments, qa), KIe(n) } function KIe(n) { let a = $r(n); if (!Ro(a)) { n.typeArguments && i(() => { let u = xie(n); u && JIe(n, u) }); let c = Rr(n).resolvedSymbol; c && vt(c.declarations, u => o2(u) && !!(u.flags & 268435456)) && Xh(BM(n), c.declarations, c.escapedName) } } function get(n) { let a = zr(n.parent, _6); if (!a) return; let c = xie(a); if (!c) return; let u = eu(c[a.typeArguments.indexOf(n)]); return u && Oi(u, Wu(c, oU(a, c))) } function yet(n) { $xe(n) } function vet(n) { mn(n.members, qa), i(a); function a() { let c = GAe(n); mU(c, c.symbol), Tie(n), jIe(n) } } function bet(n) { qa(n.elementType) } function Eet(n) { let a = n.elements, c = !1, u = !1, p = vt(a, bL); for (let h of a) { if (h.kind !== 199 && p) { an(h, _.Tuple_members_must_all_have_names_or_all_not_have_names); break } let T = hne(h); if (T & 8) { let k = $r(h.type); if (!Kv(k)) { Fe(h, _.A_rest_element_type_must_be_an_array_type); break } (_f(k) || po(k) && k.target.combinedFlags & 4) && (u = !0) } else if (T & 4) { if (u) { an(h, _.A_rest_element_cannot_follow_another_rest_element); break } u = !0 } else if (T & 2) { if (u) { an(h, _.An_optional_element_cannot_follow_a_rest_element); break } c = !0 } else if (c) { an(h, _.A_required_element_cannot_follow_an_optional_element); break } } mn(n.elements, qa), $r(n) } function Tet(n) { mn(n.types, qa), $r(n) } function qIe(n, a) { if (!(n.flags & 8388608)) return n; let c = n.objectType, u = n.indexType; if (to(u, Gp(c, !1))) return a.kind === 209 && Um(a) && Ur(c) & 32 && Pp(c) & 1 && Fe(a, _.Index_signature_in_type_0_only_permits_reading, Ee(c)), n; let p = Eu(c); if (Cm(p, rt) && ul(u, 296)) return n; if (Zb(c)) { let h = eB(u, a); if (h) { let T = QE(p, k => ja(k, h)); if (T && Ef(T) & 24) return Fe(a, _.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter, Gi(h)), ve } } return Fe(a, _.Type_0_cannot_be_used_to_index_type_1, Ee(u), Ee(c)), ve } function xet(n) { qa(n.objectType), qa(n.indexType), qIe(RAe(n), n) } function Aet(n) { Cet(n), qa(n.typeParameter), qa(n.nameType), qa(n.type), n.type || qv(n, Se); let a = Cne(n), c = by(a); if (c) wu(c, Si, n.nameType); else { let u = rp(a); wu(u, Si, EA(n.typeParameter)) } } function Cet(n) { var a; if ((a = n.members) != null && a.length) return an(n.members[0], _.A_mapped_type_may_not_declare_properties_or_methods) } function Iet(n) { oB(n) } function Let(n) { jrt(n), qa(n.type) } function ket(n) { pa(n, qa) } function Det(n) { jn(n, c => c.parent && c.parent.kind === 191 && c.parent.extendsType === c) || an(n, _.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type), qa(n.typeParameter); let a = fr(n.typeParameter); if (a.declarations && a.declarations.length > 1) { let c = Ai(a); if (!c.typeParametersChecked) { c.typeParametersChecked = !0; let u = UE(a), p = Ase(a, 165); if (!xLe(p, [u], h => [h])) { let h = E(a); for (let T of p) Fe(T.name, _.All_declarations_of_0_must_have_identical_constraints, h) } } } Dy(n) } function wet(n) { for (let a of n.templateSpans) { qa(a.type); let c = $r(a.type); wu(c, Za, a.type) } $r(n) } function Ret(n) { qa(n.argument), n.assertions && qS(n.assertions.assertClause, an) && (TR() || an(n.assertions.assertClause, _.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next), $s(Y) !== 3 && $s(Y) !== 99 && an(n.assertions.assertClause, _.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext)), KIe(n) } function Oet(n) { n.dotDotDotToken && n.questionToken && an(n, _.A_tuple_member_cannot_be_both_optional_and_rest), n.type.kind === 187 && an(n.type, _.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type), n.type.kind === 188 && an(n.type, _.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type), qa(n.type), $r(n) } function qM(n) { return (cd(n, 8) || xu(n)) && !!(n.flags & 16777216) } function sU(n, a) { let c = wg(n); return n.parent.kind !== 261 && n.parent.kind !== 260 && n.parent.kind !== 228 && n.flags & 16777216 && (!(c & 2) && !(Tp(n.parent) && Tc(n.parent.parent) && mp(n.parent.parent)) && (c |= 1), c |= 2), c & a } function cU(n) { i(() => Net(n)) } function Net(n) { function a(cn, rr) { return rr !== void 0 && rr.parent === cn[0].parent ? rr : cn[0] } function c(cn, rr, Jt, Cn, Rn) { if ((Cn ^ Rn) !== 0) { let Hr = sU(a(cn, rr), Jt); mn(cn, qi => { let wa = sU(qi, Jt) ^ Hr; wa & 1 ? Fe(sa(qi), _.Overload_signatures_must_all_be_exported_or_non_exported) : wa & 2 ? Fe(sa(qi), _.Overload_signatures_must_all_be_ambient_or_non_ambient) : wa & 24 ? Fe(sa(qi) || qi, _.Overload_signatures_must_all_be_public_private_or_protected) : wa & 256 && Fe(sa(qi), _.Overload_signatures_must_all_be_abstract_or_non_abstract) }) } } function u(cn, rr, Jt, Cn) { if (Jt !== Cn) { let Rn = uS(a(cn, rr)); mn(cn, Br => { uS(Br) !== Rn && Fe(sa(Br), _.Overload_signatures_must_all_be_optional_or_required) }) } } let p = 283, h = 0, T = p, k = !1, O = !0, H = !1, J, de, Ae, xe = n.declarations, tt = (n.flags & 16384) !== 0; function It(cn) { if (cn.name && rc(cn.name)) return; let rr = !1, Jt = pa(cn.parent, Rn => { if (rr) return Rn; rr = Rn === cn }); if (Jt && Jt.pos === cn.end && Jt.kind === cn.kind) { let Rn = Jt.name || Jt, Br = Jt.name; if (cn.name && Br && (pi(cn.name) && pi(Br) && cn.name.escapedText === Br.escapedText || ts(cn.name) && ts(Br) || c_(cn.name) && c_(Br) && MI(cn.name) === MI(Br))) { if ((cn.kind === 171 || cn.kind === 170) && Ca(cn) !== Ca(Jt)) { let qi = Ca(cn) ? _.Function_overload_must_be_static : _.Function_overload_must_not_be_static; Fe(Rn, qi) } return } if (Pf(Jt.body)) { Fe(Rn, _.Function_implementation_name_must_be_0, os(cn.name)); return } } let Cn = cn.name || cn; tt ? Fe(Cn, _.Constructor_implementation_is_missing) : Mr(cn, 256) ? Fe(Cn, _.All_declarations_of_an_abstract_method_must_be_consecutive) : Fe(Cn, _.Function_implementation_is_missing_or_not_immediately_following_the_declaration) } let Tn = !1, un = !1, Nn = !1, en = []; if (xe) for (let cn of xe) { let rr = cn, Jt = rr.flags & 16777216, Cn = rr.parent && (rr.parent.kind === 261 || rr.parent.kind === 184) || Jt; if (Cn && (Ae = void 0), (rr.kind === 260 || rr.kind === 228) && !Jt && (Nn = !0), rr.kind === 259 || rr.kind === 171 || rr.kind === 170 || rr.kind === 173) { en.push(rr); let Rn = sU(rr, p); h |= Rn, T &= Rn, k = k || uS(rr), O = O && uS(rr); let Br = Pf(rr.body); Br && J ? tt ? un = !0 : Tn = !0 : Ae?.parent === rr.parent && Ae.end !== rr.pos && It(Ae), Br ? J || (J = rr) : H = !0, Ae = rr, Cn || (de = rr) } if (Yn(cn) && Ia(cn) && cn.jsDoc) { for (let Rn of cn.jsDoc) if (Rn.tags) for (let Br of Rn.tags) kL(Br) && (H = !0) } } if (un && mn(en, cn => { Fe(cn, _.Multiple_constructor_implementations_are_not_allowed) }), Tn && mn(en, cn => { Fe(sa(cn) || cn, _.Duplicate_function_implementation) }), Nn && !tt && n.flags & 16 && xe) { let cn = Pr(xe, rr => rr.kind === 260).map(rr => hr(rr, _.Consider_adding_a_declare_modifier_to_this_class)); mn(xe, rr => { let Jt = rr.kind === 260 ? _.Class_declaration_cannot_implement_overload_list_for_0 : rr.kind === 259 ? _.Function_with_bodies_can_only_merge_with_classes_that_are_ambient : void 0; Jt && Ao(Fe(sa(rr) || rr, Jt, fc(n)), ...cn) }) } if (de && !de.body && !Mr(de, 256) && !de.questionToken && It(de), H && (xe && (c(xe, J, p, h, T), u(xe, J, k, O)), J)) { let cn = Xb(n), rr = ip(J); for (let Jt of cn) if (!aXe(rr, Jt)) { let Cn = Jt.declaration && X0(Jt.declaration) ? Jt.declaration.parent.tagName : Jt.declaration; Ao(Fe(Cn, _.This_overload_signature_is_not_compatible_with_its_implementation_signature), hr(J, _.The_implementation_signature_is_declared_here)); break } } } function kD(n) { i(() => Pet(n)) } function Pet(n) { let a = n.localSymbol; if (!a && (a = fr(n), !a.exportSymbol) || nc(a, n.kind) !== n) return; let c = 0, u = 0, p = 0; for (let H of a.declarations) { let J = O(H), de = sU(H, 1025); de & 1 ? de & 1024 ? p |= J : c |= J : u |= J } let h = c | u, T = c & u, k = p & h; if (T || k) for (let H of a.declarations) { let J = O(H), de = sa(H); J & k ? Fe(de, _.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead, os(de)) : J & T && Fe(de, _.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local, os(de)) } function O(H) { let J = H; switch (J.kind) { case 261: case 262: case 349: case 341: case 343: return 2; case 264: return lu(J) || Gh(J) !== 0 ? 5 : 4; case 260: case 263: case 302: return 3; case 308: return 7; case 274: case 223: let de = J, Ae = pc(de) ? de.expression : de.right; if (!bc(Ae)) return 1; J = Ae; case 268: case 271: case 270: let xe = 0, tt = wc(fr(J)); return mn(tt.declarations, It => { xe |= O(It) }), xe; case 257: case 205: case 259: case 273: case 79: return 1; case 170: case 168: return 2; default: return L.failBadSyntaxKind(J) } } } function DD(n, a, c, u) { let p = wD(n, a); return p && rT(p, a, c, u) } function wD(n, a, c) { if (Zo(n)) return; let u = n; if (u.promisedTypeOfPromise) return u.promisedTypeOfPromise; if (Bv(n, oM(!1))) return u.promisedTypeOfPromise = Ko(n)[0]; if (zM(Ty(n), 134479868)) return; let p = Vc(n, "then"); if (Zo(p)) return; let h = p ? xa(p, 0) : Je; if (h.length === 0) { a && Fe(a, _.A_promise_must_have_a_then_method); return } let T, k; for (let J of h) { let de = Yb(J); de && de !== yt && !Bp(n, de, hm) ? T = de : k = Sn(k, J) } if (!k) { L.assertIsDefined(T), c && (c.value = T), a && Fe(a, _.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, Ee(n), Ee(T)); return } let O = wf(Gr(on(k, uie)), 2097152); if (Zo(O)) return; let H = xa(O, 0); if (H.length === 0) { a && Fe(a, _.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback); return } return u.promisedTypeOfPromise = Gr(on(H, uie), 2) } function RD(n, a, c, u, p) { return (a ? rT(n, c, u, p) : bg(n, c, u, p)) || ve } function XIe(n) { if (zM(Ty(n), 134479868)) return !1; let a = Vc(n, "then"); return !!a && xa(wf(a, 2097152), 0).length > 0 } function lU(n) { var a; if (n.flags & 16777216) { let c = mne(!1); return !!c && n.aliasSymbol === c && ((a = n.aliasTypeArguments) == null ? void 0 : a.length) === 1 } return !1 } function UC(n) { return n.flags & 1048576 ? Ls(n, UC) : lU(n) ? n.aliasTypeArguments[0] : n } function YIe(n) { if (Zo(n) || lU(n)) return !1; if (Zb(n)) { let a = bu(n); if (a ? a.flags & 3 || mh(a) || yh(a, XIe) : Js(n, 8650752)) return !0 } return !1 } function Met(n) { let a = mne(!0); if (a) return Jx(a, [UC(n)]) } function Fet(n) { if (YIe(n)) { let a = Met(n); if (a) return a } return L.assert(lU(n) || wD(n) === void 0, "type provided should not be a non-generic 'promise'-like."), n } function rT(n, a, c, u) { let p = bg(n, a, c, u); return p && Fet(p) } function bg(n, a, c, u) { if (Zo(n) || lU(n)) return n; let p = n; if (p.awaitedTypeOfType) return p.awaitedTypeOfType; if (n.flags & 1048576) { if (Jh.lastIndexOf(n.id) >= 0) { a && Fe(a, _.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method); return } let k = a ? H => bg(H, a, c, u) : bg; Jh.push(n.id); let O = Ls(n, k); return Jh.pop(), p.awaitedTypeOfType = O } if (YIe(n)) return p.awaitedTypeOfType = n; let h = { value: void 0 }, T = wD(n, void 0, h); if (T) { if (n.id === T.id || Jh.lastIndexOf(T.id) >= 0) { a && Fe(a, _.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method); return } Jh.push(n.id); let k = bg(T, a, c, u); return Jh.pop(), k ? p.awaitedTypeOfType = k : void 0 } if (XIe(n)) { if (a) { L.assertIsDefined(c); let k; h.value && (k = da(k, _.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, Ee(n), Ee(h.value))), k = da(k, c, u), Lo.add(Lh(Gn(a), a, k)) } return } return p.awaitedTypeOfType = n } function Get(n, a) { let c = $r(a); if (R >= 2) { if (Ro(c)) return; let u = oM(!0); if (u !== ro && !Bv(c, u)) { Fe(a, _.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0, Ee(bg(c) || yt)); return } } else { if (Uet(a), Ro(c)) return; let u = Jw(a); if (u === void 0) { Fe(a, _.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, Ee(c)); return } let p = uc(u, 111551, !0), h = p ? zn(p) : ve; if (Ro(h)) { u.kind === 79 && u.escapedText === "Promise" && Bx(c) === oM(!1) ? Fe(a, _.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option) : Fe(a, _.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, qd(u)); return } let T = mKe(!0); if (T === Ki) { Fe(a, _.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, qd(u)); return } if (!wu(h, T, a, _.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)) return; let k = u && Yd(u), O = yd(n.locals, k.escapedText, 111551); if (O) { Fe(O.valueDeclaration, _.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, vr(k), qd(u)); return } } RD(c, !1, n, _.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member) } function Bet(n) { let a = MC(n); tU(a, n); let c = qo(a); if (c.flags & 1) return; let u = _ie(n); if (!u?.resolvedReturnType) return; let p, h = u.resolvedReturnType; switch (n.parent.kind) { case 260: case 228: p = _.Decorator_function_return_type_0_is_not_assignable_to_type_1; break; case 169: if (!$) { p = _.Decorator_function_return_type_0_is_not_assignable_to_type_1; break } case 166: p = _.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any; break; case 171: case 174: case 175: p = _.Decorator_function_return_type_0_is_not_assignable_to_type_1; break; default: return L.failBadSyntaxKind(n.parent) }wu(c, h, n.expression, p) } function OD(n, a, c, u, p, h = c.length, T = 0) { let k = D.createFunctionTypeNode(void 0, Je, D.createKeywordTypeNode(131)); return Am(k, n, a, c, u, p, h, T) } function Cie(n, a, c, u, p, h, T) { let k = OD(n, a, c, u, p, h, T); return HE(k) } function $Ie(n) { return Cie(void 0, void 0, Je, n) } function QIe(n) { let a = A_("value", n); return Cie(void 0, void 0, [a], yt) } function Uet(n) { ZIe(n && Jw(n), !1) } function ZIe(n, a) { if (!n) return; let c = Yd(n), u = (n.kind === 79 ? 788968 : 1920) | 2097152, p = zs(c, c.escapedText, u, void 0, void 0, !0); if (p && p.flags & 2097152) { if (!Y.verbatimModuleSyntax && ig(p) && !MD(wc(p)) && !nd(p)) Hb(p); else if (a && d_(Y) && Rl(Y) >= 5 && !ig(p) && !vt(p.declarations, I0)) { let h = Fe(n, _.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled), T = wr(p.declarations || Je, Zh); T && Ao(h, hr(T, _._0_was_imported_here, vr(c))) } } } function VC(n) { let a = Iie(n); a && Cd(a) && ZIe(a, !0) } function Iie(n) { if (n) switch (n.kind) { case 190: case 189: return eLe(n.types); case 191: return eLe([n.trueType, n.falseType]); case 193: case 199: return Iie(n.type); case 180: return n.typeName } } function eLe(n) { let a; for (let c of n) { for (; c.kind === 193 || c.kind === 199;)c = c.type; if (c.kind === 144 || !U && (c.kind === 198 && c.literal.kind === 104 || c.kind === 155)) continue; let u = Iie(c); if (!u) return; if (a) { if (!Re(a) || !Re(u) || a.escapedText !== u.escapedText) return } else a = u } return a } function uU(n) { let a = Cl(n); return Fm(n) ? SH(a) : a } function XM(n) { if (!HS(n) || !bf(n) || !n.modifiers || !M6($, n, n.parent, n.parent.parent)) return; let a = wr(n.modifiers, du); if (a) { if ($ ? (Hc(a, 8), n.kind === 166 && Hc(a, 32)) : R < 99 && (Hc(a, 8), sl(n) ? n.name ? ALe(n) && Hc(a, 8388608) : Hc(a, 8388608) : _u(n) || (pi(n.name) && (Nc(n) || rb(n) || Id(n)) && Hc(a, 8388608), ts(n.name) && Hc(a, 16777216))), Y.emitDecoratorMetadata) switch (Hc(a, 16), n.kind) { case 260: let c = Vm(n); if (c) for (let T of c.parameters) VC(uU(T)); break; case 174: case 175: let u = n.kind === 174 ? 175 : 174, p = nc(fr(n), u); VC(N(n) || p && N(p)); break; case 171: for (let T of n.parameters) VC(uU(T)); VC(U_(n)); break; case 169: VC(Cl(n)); break; case 166: VC(uU(n)); let h = n.parent; for (let T of h.parameters) VC(uU(T)); break }for (let c of n.modifiers) du(c) && Bet(c) } } function Vet(n) { i(a); function a() { nLe(n), Yie(n), jC(n, n.name) } } function jet(n) { n.typeExpression || Fe(n.name, _.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags), n.name && HC(n.name, _.Type_alias_name_cannot_be_0), qa(n.typeExpression), t8(jy(n)) } function Het(n) { qa(n.constraint); for (let a of n.typeParameters) qa(a) } function Wet(n) { qa(n.typeExpression) } function zet(n) { qa(n.typeExpression); let a = WA(n); if (a) { let c = kj(a, v3); if (Fn(c) > 1) for (let u = 1; u < Fn(c); u++) { let p = c[u].tagName; Fe(p, _._0_tag_already_specified, vr(p)) } } } function Jet(n) { n.name && r8(n.name, !0) } function Ket(n) { qa(n.typeExpression) } function qet(n) { qa(n.typeExpression) } function Xet(n) { i(a), LD(n); function a() { !n.type && !jA(n) && qv(n, Se) } } function Yet(n) { let a = WA(n); (!a || !sl(a) && !_u(a)) && Fe(a, _.JSDoc_0_is_not_attached_to_a_class, vr(n.tagName)) } function $et(n) { let a = WA(n); if (!a || !sl(a) && !_u(a)) { Fe(a, _.JSDoc_0_is_not_attached_to_a_class, vr(n.tagName)); return } let c = A0(a).filter(x2); L.assert(c.length > 0), c.length > 1 && Fe(c[1], _.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag); let u = tLe(n.class.expression), p = P0(a); if (p) { let h = tLe(p.expression); h && u.escapedText !== h.escapedText && Fe(u, _.JSDoc_0_1_does_not_match_the_extends_2_clause, vr(n.tagName), vr(u), vr(h)) } } function Qet(n) { let a = dS(n); a && xu(a) && Fe(n, _.An_accessibility_modifier_cannot_be_used_with_a_private_identifier) } function tLe(n) { switch (n.kind) { case 79: return n; case 208: return n.name; default: return } } function nLe(n) { var a; XM(n), LD(n); let c = pl(n); if (n.name && n.name.kind === 164 && vg(n.name), Ux(n)) { let h = fr(n), T = n.localSymbol || h, k = (a = T.declarations) == null ? void 0 : a.find(O => O.kind === n.kind && !(O.flags & 262144)); n === k && cU(T), h.parent && cU(h) } let u = n.kind === 170 ? void 0 : n.body; if (qa(u), pie(n, Hx(n)), i(p), Yn(n)) { let h = x0(n); h && h.typeExpression && !Ore($r(h.typeExpression), n) && Fe(h.typeExpression.type, _.The_type_of_a_function_declaration_must_match_the_function_s_signature) } function p() { U_(n) || (rc(u) && !qM(n) && qv(n, Se), c & 1 && Pf(u) && qo(ip(n))) } } function Dy(n) { i(a); function a() { let c = Gn(n), u = rn.get(c.path); u || (u = [], rn.set(c.path, u)), u.push(n) } } function rLe(n, a) { for (let c of n) switch (c.kind) { case 260: case 228: Zet(c, a), Lie(c, a); break; case 308: case 264: case 238: case 266: case 245: case 246: case 247: oLe(c, a); break; case 173: case 215: case 259: case 216: case 171: case 174: case 175: c.body && oLe(c, a), Lie(c, a); break; case 170: case 176: case 177: case 181: case 182: case 262: case 261: Lie(c, a); break; case 192: ett(c, a); break; default: L.assertNever(c, "Node should not have been registered for unused identifiers check") } } function iLe(n, a, c) { let u = sa(n) || n, p = o2(n) ? _._0_is_declared_but_never_used : _._0_is_declared_but_its_value_is_never_read; c(n, 0, hr(u, p, a)) } function YM(n) { return Re(n) && vr(n).charCodeAt(0) === 95 } function Zet(n, a) { for (let c of n.members) switch (c.kind) { case 171: case 169: case 174: case 175: if (c.kind === 175 && c.symbol.flags & 32768) break; let u = fr(c); !u.isReferenced && (cd(c, 8) || zl(c) && pi(c.name)) && !(c.flags & 16777216) && a(c, 0, hr(c.name, _._0_is_declared_but_its_value_is_never_read, E(u))); break; case 173: for (let p of c.parameters) !p.symbol.isReferenced && Mr(p, 8) && a(p, 0, hr(p.name, _.Property_0_is_declared_but_its_value_is_never_read, fc(p.symbol))); break; case 178: case 237: case 172: break; default: L.fail("Unexpected class member") } } function ett(n, a) { let { typeParameter: c } = n; kie(c) && a(n, 1, hr(n, _._0_is_declared_but_its_value_is_never_read, vr(c.name))) } function Lie(n, a) { let c = fr(n).declarations; if (!c || To(c) !== n) return; let u = jy(n), p = new Set; for (let h of u) { if (!kie(h)) continue; let T = vr(h.name), { parent: k } = h; if (k.kind !== 192 && k.typeParameters.every(kie)) { if (_0(p, k)) { let O = Gn(k), H = H_(k) ? MW(k) : FW(O, k.typeParameters), J = k.typeParameters.length === 1, de = J ? _._0_is_declared_but_its_value_is_never_read : _.All_type_parameters_are_unused, Ae = J ? T : void 0; a(h, 1, al(O, H.pos, H.end - H.pos, de, Ae)) } } else a(h, 1, hr(h, _._0_is_declared_but_its_value_is_never_read, T)) } } function kie(n) { return !(No(n.symbol).isReferenced & 262144) && !YM(n.name) } function $M(n, a, c, u) { let p = String(u(a)), h = n.get(p); h ? h[1].push(c) : n.set(p, [a, [c]]) } function aLe(n) { return zr(nm(n), ha) } function ttt(n) { return Wo(n) ? cm(n.parent) ? !!(n.propertyName && YM(n.name)) : YM(n.name) : lu(n) || (wi(n) && CA(n.parent.parent) || sLe(n)) && YM(n.name) } function oLe(n, a) { let c = new Map, u = new Map, p = new Map; n.locals.forEach(h => { if (!(h.flags & 262144 ? !(h.flags & 3 && !(h.isReferenced & 3)) : h.isReferenced || h.exportSymbol) && h.declarations) { for (let T of h.declarations) if (!ttt(T)) if (sLe(T)) $M(c, rtt(T), T, zo); else if (Wo(T) && cm(T.parent)) { let k = To(T.parent.elements); (T === k || !To(T.parent.elements).dotDotDotToken) && $M(u, T.parent, T, zo) } else if (wi(T)) $M(p, T.parent, T, zo); else { let k = h.valueDeclaration && aLe(h.valueDeclaration), O = h.valueDeclaration && sa(h.valueDeclaration); k && O ? !Ad(k, k.parent) && !G0(k) && !YM(O) && (Wo(T) && g2(T.parent) ? $M(u, T.parent, T, zo) : a(k, 1, hr(O, _._0_is_declared_but_its_value_is_never_read, fc(h)))) : iLe(T, fc(h), a) } } }), c.forEach(([h, T]) => { let k = h.parent; if ((h.name ? 1 : 0) + (h.namedBindings ? h.namedBindings.kind === 271 ? 1 : h.namedBindings.elements.length : 0) === T.length) a(k, 0, T.length === 1 ? hr(k, _._0_is_declared_but_its_value_is_never_read, vr(Vo(T).name)) : hr(k, _.All_imports_in_import_declaration_are_unused)); else for (let H of T) iLe(H, vr(H.name), a) }), u.forEach(([h, T]) => { let k = aLe(h.parent) ? 1 : 0; if (h.elements.length === T.length) T.length === 1 && h.parent.kind === 257 && h.parent.parent.kind === 258 ? $M(p, h.parent.parent, h.parent, zo) : a(h, k, T.length === 1 ? hr(h, _._0_is_declared_but_its_value_is_never_read, QM(Vo(T).name)) : hr(h, _.All_destructured_elements_are_unused)); else for (let O of T) a(O, k, hr(O, _._0_is_declared_but_its_value_is_never_read, QM(O.name))) }), p.forEach(([h, T]) => { if (h.declarations.length === T.length) a(h, 0, T.length === 1 ? hr(Vo(T).name, _._0_is_declared_but_its_value_is_never_read, QM(Vo(T).name)) : hr(h.parent.kind === 240 ? h.parent : h, _.All_variables_are_unused)); else for (let k of T) a(k, 0, hr(k, _._0_is_declared_but_its_value_is_never_read, QM(k.name))) }) } function ntt() { var n; for (let a of m1) if (!((n = fr(a)) != null && n.isReferenced)) { let c = bA(a); L.assert(CT(c), "Only parameter declaration should be checked here"); let u = hr(a.name, _._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation, os(a.name), os(a.propertyName)); c.type || Ao(u, al(Gn(c), c.end, 1, _.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here, os(a.propertyName))), Lo.add(u) } } function QM(n) { switch (n.kind) { case 79: return vr(n); case 204: case 203: return QM(Ga(Vo(n.elements), Wo).name); default: return L.assertNever(n) } } function sLe(n) { return n.kind === 270 || n.kind === 273 || n.kind === 271 } function rtt(n) { return n.kind === 270 ? n : n.kind === 271 ? n.parent : n.parent.parent } function dU(n) { if (n.kind === 238 && vh(n), Bj(n)) { let a = ki; mn(n.statements, qa), ki = a } else mn(n.statements, qa); n.locals && Dy(n) } function itt(n) { R >= 2 || !Yj(n) || n.flags & 16777216 || rc(n.body) || mn(n.parameters, a => { a.name && !La(a.name) && a.name.escapedText === _t.escapedName && Ev("noEmit", a, _.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters) }) } function ND(n, a, c) { if (a?.escapedText !== c || n.kind === 169 || n.kind === 168 || n.kind === 171 || n.kind === 170 || n.kind === 174 || n.kind === 175 || n.kind === 299 || n.flags & 16777216 || (lm(n) || Nl(n) || $u(n)) && I0(n)) return !1; let u = nm(n); return !(ha(u) && rc(u.parent.body)) } function att(n) { jn(n, a => sA(a) & 4 ? (n.kind !== 79 ? Fe(sa(n), _.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference) : Fe(n, _.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference), !0) : !1) } function ott(n) { jn(n, a => sA(a) & 8 ? (n.kind !== 79 ? Fe(sa(n), _.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference) : Fe(n, _.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference), !0) : !1) } function stt(n, a) { if (ie >= 5 && !(ie >= 100 && Gn(n).impliedNodeFormat === 1) || !a || !ND(n, a, "require") && !ND(n, a, "exports") || Tc(n) && Gh(n) !== 1) return; let c = FE(n); c.kind === 308 && kd(c) && Ev("noEmit", a, _.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, os(a), os(a)) } function ctt(n, a) { if (!a || R >= 4 || !ND(n, a, "Promise") || Tc(n) && Gh(n) !== 1) return; let c = FE(n); c.kind === 308 && kd(c) && c.flags & 2048 && Ev("noEmit", a, _.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, os(a), os(a)) } function ltt(n, a) { R <= 8 && (ND(n, a, "WeakMap") || ND(n, a, "WeakSet")) && Lb.push(n) } function utt(n) { let a = tm(n); sA(a) & 4194304 && (L.assert(zl(n) && Re(n.name) && typeof n.name.escapedText == "string", "The target of a WeakMap/WeakSet collision check should be an identifier"), Ev("noEmit", n, _.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel, n.name.escapedText)) } function dtt(n, a) { a && R >= 2 && R <= 8 && ND(n, a, "Reflect") && bv.push(n) } function ftt(n) { let a = !1; if (_u(n)) { for (let c of n.members) if (sA(c) & 8388608) { a = !0; break } } else if (ms(n)) sA(n) & 8388608 && (a = !0); else { let c = tm(n); c && sA(c) & 8388608 && (a = !0) } a && (L.assert(zl(n) && Re(n.name), "The target of a Reflect collision check should be an identifier"), Ev("noEmit", n, _.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers, os(n.name), "Reflect")) } function jC(n, a) { a && (stt(n, a), ctt(n, a), ltt(n, a), dtt(n, a), Yr(n) ? (HC(a, _.Class_name_cannot_be_0), n.flags & 16777216 || Utt(a)) : hb(n) && HC(a, _.Enum_name_cannot_be_0)) } function _tt(n) { if (G_(n) & 3 || CT(n) || n.kind === 257 && !n.initializer) return; let a = fr(n); if (a.flags & 1) { if (!Re(n.name)) return L.fail(); let c = zs(n, n.name.escapedText, 3, void 0, void 0, !1); if (c && c !== a && c.flags & 2 && WB(c) & 3) { let u = cb(c.valueDeclaration, 258), p = u.parent.kind === 240 && u.parent.parent ? u.parent.parent : void 0; if (!(p && (p.kind === 238 && Ia(p.parent) || p.kind === 265 || p.kind === 264 || p.kind === 308))) { let T = E(c); Fe(n, _.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1, T, T) } } } } function PD(n) { return n === at ? Se : n === bn ? Et : n } function ZM(n) { var a; if (XM(n), Wo(n) || qa(n.type), !n.name) return; if (n.name.kind === 164 && (vg(n.name), mT(n) && n.initializer && Ic(n.initializer)), Wo(n)) { if (n.propertyName && Re(n.name) && CT(n) && rc(Xd(n).body)) { m1.push(n); return } cm(n.parent) && n.dotDotDotToken && R < 5 && Hc(n, 4), n.propertyName && n.propertyName.kind === 164 && vg(n.propertyName); let p = n.parent.parent, h = n.dotDotDotToken ? 64 : 0, T = Px(p, h), k = n.propertyName || n.name; if (T && !La(k)) { let O = pg(k); if (fh(O)) { let H = Np(O), J = ja(T, H); J && (MM(J, void 0, !1), Hre(n, !!p.initializer && p.initializer.kind === 106, !1, T, J)) } } } if (La(n.name) && (n.name.kind === 204 && R < 2 && Y.downlevelIteration && Hc(n, 512), mn(n.name.elements, qa)), ha(n) && n.initializer && rc(Xd(n).body)) { Fe(n, _.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return } if (La(n.name)) { let p = mT(n) && n.initializer && n.parent.parent.kind !== 246, h = !vt(n.name.elements, y8(ol)); if (p || h) { let T = Zs(n); if (p) { let k = Ic(n.initializer); U && h ? wCe(k, n) : Ly(k, Zs(n), n, n.initializer) } h && (g2(n.name) ? wy(65, T, Oe, n) : U && wCe(T, n)) } return } let c = fr(n); if (c.flags & 2097152 && (N0(n) || lce(n))) { hU(n); return } let u = PD(zn(c)); if (n === c.valueDeclaration) { let p = mT(n) && Yw(n); p && !(Yn(n) && rs(p) && (p.properties.length === 0 || ub(n.name)) && ((a = c.exports) != null && a.size)) && n.parent.parent.kind !== 246 && Ly(Ic(p), u, n, p, void 0), c.declarations && c.declarations.length > 1 && vt(c.declarations, h => h !== n && PA(h) && !lLe(h, n)) && Fe(n.name, _.All_declarations_of_0_must_have_identical_modifiers, os(n.name)) } else { let p = PD(Zs(n)); !Ro(u) && !Ro(p) && !ph(u, p) && !(c.flags & 67108864) && cLe(c.valueDeclaration, u, n, p), mT(n) && n.initializer && Ly(Ic(n.initializer), p, n, n.initializer, void 0), c.valueDeclaration && !lLe(n, c.valueDeclaration) && Fe(n.name, _.All_declarations_of_0_must_have_identical_modifiers, os(n.name)) } n.kind !== 169 && n.kind !== 168 && (kD(n), (n.kind === 257 || n.kind === 205) && _tt(n), jC(n, n.name)) } function cLe(n, a, c, u) { let p = sa(c), h = c.kind === 169 || c.kind === 168 ? _.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : _.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, T = os(p), k = Fe(p, h, T, Ee(a), Ee(u)); n && Ao(k, hr(n, _._0_was_also_declared_here, T)) } function lLe(n, a) { if (n.kind === 166 && a.kind === 257 || n.kind === 257 && a.kind === 166) return !0; if (uS(n) !== uS(a)) return !1; let c = 888; return hS(n, c) === hS(a, c) } function Die(n) { var a, c; (a = ai) == null || a.push(ai.Phase.Check, "checkVariableDeclaration", { kind: n.kind, pos: n.pos, end: n.end, path: n.tracingPath }), Krt(n), ZM(n), (c = ai) == null || c.pop() } function ptt(n) { return Wrt(n), ZM(n) } function mtt(n) { !km(n) && !Zie(n.declarationList) && qrt(n), mn(n.declarationList.declarations, qa) } function htt(n) { vh(n), Yi(n.expression) } function gtt(n) { vh(n); let a = aA(n.expression); wie(n.expression, a, n.thenStatement), qa(n.thenStatement), n.thenStatement.kind === 239 && Fe(n.thenStatement, _.The_body_of_an_if_statement_cannot_be_the_empty_statement), qa(n.elseStatement) } function wie(n, a, c) { if (!U) return; u(n, c); function u(h, T) { for (h = vs(h), p(h, T); ar(h) && (h.operatorToken.kind === 56 || h.operatorToken.kind === 60);)h = vs(h.left), p(h, T) } function p(h, T) { let k = CR(h) ? vs(h.right) : h; if (Bm(k)) return; if (CR(k)) { u(k, T); return } let O = k === h ? a : aA(k), H = br(k) && OIe(k.expression); if (!(iu(O) & 4194304) || H) return; let J = xa(O, 0), de = !!DD(O); if (J.length === 0 && !de) return; let Ae = Re(k) ? k : br(k) ? k.name : void 0, xe = Ae && Zf(Ae); if (!xe && !de) return; xe && ar(h.parent) && vtt(h.parent, xe) || xe && T && ytt(h, T, Ae, xe) || (de ? Tv(k, !0, _.This_condition_will_always_return_true_since_this_0_is_always_defined, lr(O)) : Fe(k, _.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead)) } } function ytt(n, a, c, u) { return !!pa(a, function p(h) { if (Re(h)) { let T = Zf(h); if (T && T === u) { if (Re(n) || Re(c) && ar(c.parent)) return !0; let k = c.parent, O = h.parent; for (; k && O;) { if (Re(k) && Re(O) || k.kind === 108 && O.kind === 108) return Zf(k) === Zf(O); if (br(k) && br(O)) { if (Zf(k.name) !== Zf(O.name)) return !1; O = O.expression, k = k.expression } else if (Pa(k) && Pa(O)) O = O.expression, k = k.expression; else return !1 } } } return pa(h, p) }) } function vtt(n, a) { for (; ar(n) && n.operatorToken.kind === 55;) { if (pa(n.right, function u(p) { if (Re(p)) { let h = Zf(p); if (h && h === a) return !0 } return pa(p, u) })) return !0; n = n.parent } return !1 } function btt(n) { vh(n), qa(n.statement), aA(n.expression) } function Ett(n) { vh(n), aA(n.expression), qa(n.statement) } function uLe(n, a) { return n.flags & 16384 && Fe(a, _.An_expression_of_type_void_cannot_be_tested_for_truthiness), n } function aA(n, a) { return uLe(Yi(n, a), n) } function Ttt(n) { vh(n) || n.initializer && n.initializer.kind === 258 && Zie(n.initializer), n.initializer && (n.initializer.kind === 258 ? mn(n.initializer.declarations, Die) : Yi(n.initializer)), n.condition && aA(n.condition), n.incrementor && Yi(n.incrementor), qa(n.statement), n.locals && Dy(n) } function Stt(n) { ske(n); let a = R6(n); if (n.awaitModifier ? a && oc(a) ? an(n.awaitModifier, _.For_await_loops_cannot_be_used_inside_a_class_static_block) : (pl(a) & 6) === 2 && R < 99 && Hc(n, 16384) : Y.downlevelIteration && R < 2 && Hc(n, 256), n.initializer.kind === 258) dLe(n); else { let c = n.initializer, u = e8(n); if (c.kind === 206 || c.kind === 207) nT(c, u || ve); else { let p = Yi(c); CD(c, _.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access, _.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access), u && Ly(u, p, c, n.expression) } } qa(n.statement), n.locals && Dy(n) } function xtt(n) { ske(n); let a = Wre(Yi(n.expression)); if (n.initializer.kind === 258) { let c = n.initializer.declarations[0]; c && La(c.name) && Fe(c.name, _.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern), dLe(n) } else { let c = n.initializer, u = Yi(c); c.kind === 206 || c.kind === 207 ? Fe(c, _.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern) : to(lqe(a), u) ? CD(c, _.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access, _.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access) : Fe(c, _.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any) } (a === lt || !ul(a, 126091264)) && Fe(n.expression, _.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, Ee(a)), qa(n.statement), n.locals && Dy(n) } function dLe(n) { let a = n.initializer; if (a.declarations.length >= 1) { let c = a.declarations[0]; Die(c) } } function e8(n) { let a = n.awaitModifier ? 15 : 13; return wy(a, NC(n.expression), Oe, n.expression) } function wy(n, a, c, u) { return Zo(a) ? a : Rie(n, a, c, u, !0) || Se } function Rie(n, a, c, u, p) { let h = (n & 2) !== 0; if (a === lt) { Fie(u, a, h); return } let T = R >= 2, k = !T && Y.downlevelIteration, O = Y.noUncheckedIndexedAccess && !!(n & 128); if (T || k || h) { let tt = _U(a, n, T ? u : void 0); if (p && tt) { let It = n & 8 ? _.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0 : n & 32 ? _.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0 : n & 64 ? _.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0 : n & 16 ? _.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0 : void 0; It && wu(c, tt.nextType, u, It) } if (tt || T) return O ? hD(tt && tt.yieldType) : tt && tt.yieldType } let H = a, J = !1, de = !1; if (n & 4) { if (H.flags & 1048576) { let tt = a.types, It = Pr(tt, Tn => !(Tn.flags & 402653316)); It !== tt && (H = Gr(It, 2)) } else H.flags & 402653316 && (H = lt); if (de = H !== a, de && (R < 1 && u && (Fe(u, _.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher), J = !0), H.flags & 131072)) return O ? hD(ae) : ae } if (!Kv(H)) { if (u && !J) { let tt = !!(n & 4) && !de, [It, Tn] = xe(tt, k); Tv(u, Tn && !!DD(H), It, Ee(H)) } return de ? O ? hD(ae) : ae : void 0 } let Ae = fg(H, rt); if (de && Ae) return Ae.flags & 402653316 && !Y.noUncheckedIndexedAccess ? ae : Gr(O ? [Ae, ae, Oe] : [Ae, ae], 2); return n & 128 ? hD(Ae) : Ae; function xe(tt, It) { var Tn; return It ? tt ? [_.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, !0] : [_.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, !0] : Oie(n, 0, a, void 0) ? [_.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, !1] : Att((Tn = a.symbol) == null ? void 0 : Tn.escapedName) ? [_.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, !0] : tt ? [_.Type_0_is_not_an_array_type_or_a_string_type, !0] : [_.Type_0_is_not_an_array_type, !0] } } function Att(n) { switch (n) { case "Float32Array": case "Float64Array": case "Int16Array": case "Int32Array": case "Int8Array": case "NodeList": case "Uint16Array": case "Uint32Array": case "Uint8Array": case "Uint8ClampedArray": return !0 }return !1 } function Oie(n, a, c, u) { if (Zo(c)) return; let p = _U(c, n, u); return p && p[R_e(a)] } function Eg(n = lt, a = lt, c = ue) { if (n.flags & 67359327 && a.flags & 180227 && c.flags & 180227) { let u = kf([n, a, c]), p = se.get(u); return p || (p = { yieldType: n, returnType: a, nextType: c }, se.set(u, p)), p } return { yieldType: n, returnType: a, nextType: c } } function fLe(n) { let a, c, u; for (let p of n) if (!(p === void 0 || p === ht)) { if (p === wt) return wt; a = Sn(a, p.yieldType), c = Sn(c, p.returnType), u = Sn(u, p.nextType) } return a || c || u ? Eg(a && Gr(a), c && Gr(c), u && so(u)) : ht } function fU(n, a) { return n[a] } function Lm(n, a, c) { return n[a] = c } function _U(n, a, c) { var u, p; if (Zo(n)) return wt; if (!(n.flags & 1048576)) { let H = c ? { errors: void 0 } : void 0, J = _Le(n, a, c, H); if (J === ht) { if (c) { let de = Fie(c, n, !!(a & 2)); H?.errors && Ao(de, ...H.errors) } return } else if ((u = H?.errors) != null && u.length) for (let de of H.errors) Lo.add(de); return J } let h = a & 2 ? "iterationTypesOfAsyncIterable" : "iterationTypesOfIterable", T = fU(n, h); if (T) return T === ht ? void 0 : T; let k; for (let H of n.types) { let J = c ? { errors: void 0 } : void 0, de = _Le(H, a, c, J); if (de === ht) { if (c) { let Ae = Fie(c, n, !!(a & 2)); J?.errors && Ao(Ae, ...J.errors) } Lm(n, h, ht); return } else if ((p = J?.errors) != null && p.length) for (let Ae of J.errors) Lo.add(Ae); k = Sn(k, de) } let O = k ? fLe(k) : ht; return Lm(n, h, O), O === ht ? void 0 : O } function Nie(n, a) { if (n === ht) return ht; if (n === wt) return wt; let { yieldType: c, returnType: u, nextType: p } = n; return a && mne(!0), Eg(rT(c, a) || Se, rT(u, a) || Se, p) } function _Le(n, a, c, u) { if (Zo(n)) return wt; let p = !1; if (a & 2) { let h = Pie(n, ft) || mLe(n, ft); if (h) if (h === ht && c) p = !0; else return a & 8 ? Nie(h, c) : h } if (a & 1) { let h = Pie(n, Yt) || mLe(n, Yt); if (h) if (h === ht && c) p = !0; else if (a & 2) { if (h !== ht) return h = Nie(h, c), p ? h : Lm(n, "iterationTypesOfAsyncIterable", h) } else return h } if (a & 2) { let h = Mie(n, ft, c, u, p); if (h !== ht) return h } if (a & 1) { let h = Mie(n, Yt, c, u, p); if (h !== ht) return a & 2 ? (h = Nie(h, c), p ? h : Lm(n, "iterationTypesOfAsyncIterable", h)) : h } return ht } function Pie(n, a) { return fU(n, a.iterableCacheKey) } function pLe(n, a) { let c = Pie(n, a) || Mie(n, a, void 0, void 0, !1); return c === ht ? Xe : c } function mLe(n, a) { let c; if (Bv(n, c = a.getGlobalIterableType(!1)) || Bv(n, c = a.getGlobalIterableIteratorType(!1))) { let [u] = Ko(n), { returnType: p, nextType: h } = pLe(c, a); return Lm(n, a.iterableCacheKey, Eg(a.resolveIterationType(u, void 0) || u, a.resolveIterationType(p, void 0) || p, h)) } if (Bv(n, a.getGlobalGeneratorType(!1))) { let [u, p, h] = Ko(n); return Lm(n, a.iterableCacheKey, Eg(a.resolveIterationType(u, void 0) || u, a.resolveIterationType(p, void 0) || p, h)) } } function Ctt(n) { let a = rAe(!1), c = a && Vc(zn(a), Bs(n)); return c && fh(c) ? Np(c) : `__@${n}` } function Mie(n, a, c, u, p) { var h; let T = ja(n, Ctt(a.iteratorSymbolName)), k = T && !(T.flags & 16777216) ? zn(T) : void 0; if (Zo(k)) return p ? wt : Lm(n, a.iterableCacheKey, wt); let O = k ? xa(k, 0) : void 0; if (!vt(O)) return p ? ht : Lm(n, a.iterableCacheKey, ht); let H = so(on(O, qo)), J = (h = hLe(H, a, c, u, p)) != null ? h : ht; return p ? J : Lm(n, a.iterableCacheKey, J) } function Fie(n, a, c) { let u = c ? _.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator : _.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator, p = !!DD(a) || !c && _O(n.parent) && n.parent.expression === n && ZG(!1) !== ro && to(a, ZG(!1)); return Tv(n, p, u, Ee(a)) } function Itt(n, a, c, u) { return hLe(n, a, c, u, !1) } function hLe(n, a, c, u, p) { if (Zo(n)) return wt; let h = gLe(n, a) || Ltt(n, a); return h === ht && c && (h = void 0, p = !0), h ?? (h = vLe(n, a, c, u, p)), h === ht ? void 0 : h } function gLe(n, a) { return fU(n, a.iteratorCacheKey) } function Ltt(n, a) { let c = a.getGlobalIterableIteratorType(!1); if (Bv(n, c)) { let [u] = Ko(n), p = gLe(c, a) || vLe(c, a, void 0, void 0, !1), { returnType: h, nextType: T } = p === ht ? Xe : p; return Lm(n, a.iteratorCacheKey, Eg(u, h, T)) } if (Bv(n, a.getGlobalIteratorType(!1)) || Bv(n, a.getGlobalGeneratorType(!1))) { let [u, p, h] = Ko(n); return Lm(n, a.iteratorCacheKey, Eg(u, p, h)) } } function yLe(n, a) { let c = Vc(n, "done") || Ke; return to(a === 0 ? Ke : pe, c) } function ktt(n) { return yLe(n, 0) } function Dtt(n) { return yLe(n, 1) } function wtt(n) { if (Zo(n)) return wt; let a = fU(n, "iterationTypesOfIteratorResult"); if (a) return a; if (Bv(n, TKe(!1))) { let T = Ko(n)[0]; return Lm(n, "iterationTypesOfIteratorResult", Eg(T, void 0, void 0)) } if (Bv(n, SKe(!1))) { let T = Ko(n)[0]; return Lm(n, "iterationTypesOfIteratorResult", Eg(void 0, T, void 0)) } let c = jc(n, ktt), u = c !== lt ? Vc(c, "value") : void 0, p = jc(n, Dtt), h = p !== lt ? Vc(p, "value") : void 0; return !u && !h ? Lm(n, "iterationTypesOfIteratorResult", ht) : Lm(n, "iterationTypesOfIteratorResult", Eg(u, h || yt, void 0)) } function Gie(n, a, c, u, p) { var h, T, k, O, H, J; let de = ja(n, c); if (!de && c !== "next") return; let Ae = de && !(c === "next" && de.flags & 16777216) ? c === "next" ? zn(de) : wf(zn(de), 2097152) : void 0; if (Zo(Ae)) return c === "next" ? wt : K; let xe = Ae ? xa(Ae, 0) : Je; if (xe.length === 0) { if (u) { let Jt = c === "next" ? a.mustHaveANextMethodDiagnostic : a.mustBeAMethodDiagnostic; p ? ((h = p.errors) != null || (p.errors = []), p.errors.push(hr(u, Jt, c))) : Fe(u, Jt, c) } return c === "next" ? ht : void 0 } if (Ae?.symbol && xe.length === 1) { let Jt = a.getGlobalGeneratorType(!1), Cn = a.getGlobalIteratorType(!1), Rn = ((k = (T = Jt.symbol) == null ? void 0 : T.members) == null ? void 0 : k.get(c)) === Ae.symbol, Br = !Rn && ((H = (O = Cn.symbol) == null ? void 0 : O.members) == null ? void 0 : H.get(c)) === Ae.symbol; if (Rn || Br) { let Hr = Rn ? Jt : Cn, { mapper: qi } = Ae; return Eg(zv(Hr.typeParameters[0], qi), zv(Hr.typeParameters[1], qi), c === "next" ? zv(Hr.typeParameters[2], qi) : void 0) } } let tt, It; for (let Jt of xe) c !== "throw" && vt(Jt.parameters) && (tt = Sn(tt, P_(Jt, 0))), It = Sn(It, qo(Jt)); let Tn, un; if (c !== "throw") { let Jt = tt ? Gr(tt) : ue; if (c === "next") un = Jt; else if (c === "return") { let Cn = a.resolveIterationType(Jt, u) || Se; Tn = Sn(Tn, Cn) } } let Nn, en = It ? so(It) : lt, cn = a.resolveIterationType(en, u) || Se, rr = wtt(cn); return rr === ht ? (u && (p ? ((J = p.errors) != null || (p.errors = []), p.errors.push(hr(u, a.mustHaveAValueDiagnostic, c))) : Fe(u, a.mustHaveAValueDiagnostic, c)), Nn = Se, Tn = Sn(Tn, Se)) : (Nn = rr.yieldType, Tn = Sn(Tn, rr.returnType)), Eg(Nn, Gr(Tn), un) } function vLe(n, a, c, u, p) { let h = fLe([Gie(n, a, "next", c, u), Gie(n, a, "return", c, u), Gie(n, a, "throw", c, u)]); return p ? h : Lm(n, a.iteratorCacheKey, h) } function c0(n, a, c) { if (Zo(a)) return; let u = bLe(a, c); return u && u[R_e(n)] } function bLe(n, a) { if (Zo(n)) return wt; let c = a ? 2 : 1, u = a ? ft : Yt; return _U(n, c, void 0) || Itt(n, u, void 0, void 0) } function Rtt(n) { vh(n) || Hrt(n) } function pU(n, a) { let c = !!(a & 1), u = !!(a & 2); if (c) { let p = c0(1, n, u); return p ? u ? bg(UC(p)) : p : ve } return u ? bg(n) || ve : n } function ELe(n, a) { let c = pU(a, pl(n)); return !!c && Js(c, 16387) } function Ott(n) { var a; if (vh(n)) return; let c = R6(n); if (c && oc(c)) { dl(n, _.A_return_statement_cannot_be_used_inside_a_class_static_block); return } if (!c) { dl(n, _.A_return_statement_can_only_be_used_within_a_function_body); return } let u = ip(c), p = qo(u), h = pl(c); if (U || n.expression || p.flags & 131072) { let T = n.expression ? Ic(n.expression) : Oe; if (c.kind === 175) n.expression && Fe(n, _.Setters_cannot_return_a_value); else if (c.kind === 173) n.expression && !Ly(T, p, n, n.expression) && Fe(n, _.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); else if (Hx(c)) { let k = (a = pU(p, h)) != null ? a : p, O = h & 2 ? RD(T, !1, n, _.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member) : T; k && Ly(O, k, n, n.expression) } } else c.kind !== 173 && Y.noImplicitReturns && !ELe(c, p) && Fe(n, _.Not_all_code_paths_return_a_value) } function Ntt(n) { vh(n) || n.flags & 32768 && dl(n, _.with_statements_are_not_allowed_in_an_async_function_block), Yi(n.expression); let a = Gn(n); if (!l0(a)) { let c = Pg(a, n.pos).start, u = n.statement.pos; u0(a, c, u - c, _.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any) } } function Ptt(n) { vh(n); let a, c = !1, u = Yi(n.expression); mn(n.caseBlock.clauses, p => { p.kind === 293 && !c && (a === void 0 ? a = p : (an(p, _.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement), c = !0)), p.kind === 292 && i(h(p)), mn(p.statements, qa), Y.noFallthroughCasesInSwitch && p.fallthroughFlowNode && IM(p.fallthroughFlowNode) && Fe(p, _.Fallthrough_case_in_switch); function h(T) { return () => { let k = Yi(T.expression); yie(u, k) || e2e(k, u, T.expression, void 0) } } }), n.caseBlock.locals && Dy(n.caseBlock) } function Mtt(n) { vh(n) || jn(n.parent, a => Ia(a) ? "quit" : a.kind === 253 && a.label.escapedText === n.label.escapedText ? (an(n.label, _.Duplicate_label_0, Qc(n.label)), !0) : !1), qa(n.statement) } function Ftt(n) { vh(n) || Re(n.expression) && !n.expression.escapedText && ait(n, _.Line_break_not_permitted_here), n.expression && Yi(n.expression) } function Gtt(n) { vh(n), dU(n.tryBlock); let a = n.catchClause; if (a) { if (a.variableDeclaration) { let c = a.variableDeclaration; ZM(c); let u = Cl(c); if (u) { let p = $r(u); p && !(p.flags & 3) && dl(u, _.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified) } else if (c.initializer) dl(c.initializer, _.Catch_clause_variable_cannot_have_an_initializer); else { let p = a.block.locals; p && TI(a.locals, h => { let T = p.get(h); T?.valueDeclaration && T.flags & 2 && an(T.valueDeclaration, _.Cannot_redeclare_identifier_0_in_catch_clause, h) }) } } dU(a.block) } n.finallyBlock && dU(n.finallyBlock) } function mU(n, a, c) { let u = tu(n); if (u.length === 0) return; for (let h of Ey(n)) c && h.flags & 4194304 || TLe(n, h, TC(h, 8576, !0), Gv(h)); let p = a.valueDeclaration; if (p && Yr(p)) { for (let h of p.members) if (!Ca(h) && !Ux(h)) { let T = fr(h); TLe(n, T, au(h.name.expression), Gv(T)) } } if (u.length > 1) for (let h of u) Btt(n, h) } function TLe(n, a, c, u) { let p = a.valueDeclaration, h = sa(p); if (h && pi(h)) return; let T = Zte(n, c), k = Ur(n) & 2 ? nc(n.symbol, 261) : void 0, O = p && p.kind === 223 || h && h.kind === 164 ? p : void 0, H = ju(a) === n.symbol ? p : void 0; for (let J of T) { let de = J.declaration && ju(fr(J.declaration)) === n.symbol ? J.declaration : void 0, Ae = H || de || (k && !vt(_o(n), xe => !!qb(xe, a.escapedName) && !!fg(xe, J.keyType)) ? k : void 0); if (Ae && !to(u, J.type)) { let xe = hE(Ae, _.Property_0_of_type_1_is_not_assignable_to_2_index_type_3, E(a), Ee(u), Ee(J.keyType), Ee(J.type)); O && Ae !== O && Ao(xe, hr(O, _._0_is_declared_here, E(a))), Lo.add(xe) } } } function Btt(n, a) { let c = a.declaration, u = Zte(n, a.keyType), p = Ur(n) & 2 ? nc(n.symbol, 261) : void 0, h = c && ju(fr(c)) === n.symbol ? c : void 0; for (let T of u) { if (T === a) continue; let k = T.declaration && ju(fr(T.declaration)) === n.symbol ? T.declaration : void 0, O = h || k || (p && !vt(_o(n), H => !!Cm(H, a.keyType) && !!fg(H, T.keyType)) ? p : void 0); O && !to(a.type, T.type) && Fe(O, _._0_index_type_1_is_not_assignable_to_2_index_type_3, Ee(a.keyType), Ee(a.type), Ee(T.keyType), Ee(T.type)) } } function HC(n, a) { switch (n.escapedText) { case "any": case "unknown": case "never": case "number": case "bigint": case "boolean": case "string": case "symbol": case "void": case "object": Fe(n, a, n.escapedText) } } function Utt(n) { R >= 1 && n.escapedText === "Object" && (ie < 5 || Gn(n).impliedNodeFormat === 1) && Fe(n, _.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, F8[ie]) } function Vtt(n) { let a = Pr(A0(n), xp); if (!Fn(a)) return; let c = Yn(n), u = new Set, p = new Set; if (mn(n.parameters, ({ name: T }, k) => { Re(T) && u.add(T.escapedText), La(T) && p.add(k) }), nne(n)) { let T = a.length - 1, k = a[T]; c && k && Re(k.name) && k.typeExpression && k.typeExpression.type && !u.has(k.name.escapedText) && !p.has(T) && !_f($r(k.typeExpression.type)) && Fe(k.name, _.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, vr(k.name)) } else mn(a, ({ name: T, isNameFirst: k }, O) => { p.has(O) || Re(T) && u.has(T.escapedText) || (Yu(T) ? c && Fe(T, _.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, qd(T), qd(T.left)) : k || Ip(c, T, _.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, vr(T))) }) } function t8(n) { let a = !1; if (n) for (let u = 0; u < n.length; u++) { let p = n[u]; BIe(p), i(c(p, u)) } function c(u, p) { return () => { u.default ? (a = !0, jtt(u.default, n, p)) : a && Fe(u, _.Required_type_parameters_may_not_follow_optional_type_parameters); for (let h = 0; h < p; h++)n[h].symbol === u.symbol && Fe(u.name, _.Duplicate_identifier_0, os(u.name)) } } } function jtt(n, a, c) { u(n); function u(p) { if (p.kind === 180) { let h = dne(p); if (h.flags & 262144) for (let T = c; T < a.length; T++)h.symbol === fr(a[T]) && Fe(p, _.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters) } pa(p, u) } } function SLe(n) { if (n.declarations && n.declarations.length === 1) return; let a = Ai(n); if (!a.typeParametersChecked) { a.typeParametersChecked = !0; let c = Ytt(n); if (!c || c.length <= 1) return; let u = gs(n); if (!xLe(c, u.localTypeParameters, jy)) { let p = E(n); for (let h of c) Fe(h.name, _.All_declarations_of_0_must_have_identical_type_parameters, p) } } } function xLe(n, a, c) { let u = Fn(a), p = Mp(a); for (let h of n) { let T = c(h), k = T.length; if (k < p || k > u) return !1; for (let O = 0; O < k; O++) { let H = T[O], J = a[O]; if (H.name.escapedText !== J.symbol.escapedName) return !1; let de = EA(H), Ae = de && $r(de), xe = eu(J); if (Ae && xe && !ph(Ae, xe)) return !1; let tt = H.default && $r(H.default), It = jE(J); if (tt && It && !ph(tt, It)) return !1 } } return !0 } function ALe(n) { var a; let c = !$ && R < 99 && O0(!1, n), u = R <= 9, p = !fe || R < 9; if (c || u) for (let h of n.members) { if (c && AH(!1, h, n)) return (a = Sl(Uy(n))) != null ? a : n; if (u) { if (oc(h)) return h; if (Ca(h) && (xu(h) || p && sN(h))) return h } } } function Htt(n) { var a; if (n.name) return; let c = rde(n); if (!VH(c)) return; let u = !$ && R < 99, p; u && O0(!1, n) ? p = (a = Sl(Uy(n))) != null ? a : n : p = ALe(n), p && (Hc(p, 8388608), (yl(c) || Na(c) || Wo(c)) && ts(c.name) && Hc(p, 16777216)) } function Wtt(n) { return CLe(n), zC(n), Htt(n), zn(fr(n)) } function ztt(n) { mn(n.members, qa), Dy(n) } function Jtt(n) { let a = wr(n.modifiers, du); $ && a && vt(n.members, c => zc(c) && xu(c)) && an(a, _.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator), !n.name && !Mr(n, 1024) && dl(n, _.A_class_declaration_without_the_default_modifier_must_have_a_name), CLe(n), mn(n.members, qa), Dy(n) } function CLe(n) { Lrt(n), XM(n), jC(n, n.name), t8(jy(n)), kD(n); let a = fr(n), c = gs(a), u = uf(c), p = zn(a); SLe(a), cU(a), oet(n), !!(n.flags & 16777216) || set(n); let T = hp(n); if (T) { mn(T.typeArguments, qa), R < 2 && Hc(T.parent, 1); let H = P0(n); H && H !== T && Yi(H.expression); let J = _o(c); J.length && i(() => { let de = J[0], Ae = Wr(c), xe = Eu(Ae); if (qtt(xe, T), qa(T.expression), vt(T.typeArguments)) { mn(T.typeArguments, qa); for (let It of Or(xe, T.typeArguments, T)) if (!JIe(T, It.typeParameters)) break } let tt = uf(de, c.thisType); if (wu(u, tt, void 0) ? wu(p, KAe(xe), n.name || n, _.Class_static_side_0_incorrectly_extends_base_class_static_side_1) : kLe(n, u, tt, _.Class_0_incorrectly_extends_base_class_1), Ae.flags & 8650752 && (XP(p) ? xa(Ae, 1).some(Tn => Tn.flags & 4) && !Mr(n, 256) && Fe(n.name || n, _.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract) : Fe(n.name || n, _.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any)), !(xe.symbol && xe.symbol.flags & 32) && !(Ae.flags & 8650752)) { let It = xr(xe, T.typeArguments, T); mn(It, Tn => !cp(Tn.declaration) && !ph(qo(Tn), de)) && Fe(T.expression, _.Base_constructors_must_all_have_the_same_return_type) } $tt(c, de) }) } Ktt(n, c, u, p); let k = JA(n); if (k) for (let H of k) (!bc(H.expression) || Jl(H.expression)) && Fe(H.expression, _.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments), Aie(H), i(O(H)); i(() => { mU(c, a), mU(p, a, !0), Tie(n), ent(n) }); function O(H) { return () => { let J = O_($r(H)); if (!Ro(J)) if (xm(J)) { let de = J.symbol && J.symbol.flags & 32 ? _.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : _.Class_0_incorrectly_implements_interface_1, Ae = uf(J, c.thisType); wu(u, Ae, void 0) || kLe(n, u, Ae, de) } else Fe(H, _.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members) } } } function Ktt(n, a, c, u) { let h = hp(n) && _o(a), T = h?.length ? uf(Vo(h), a.thisType) : void 0, k = Wr(a); for (let O of n.members) aW(O) || (Ec(O) && mn(O.parameters, H => { Ad(H, O) && ILe(n, u, k, T, a, c, H, !0) }), ILe(n, u, k, T, a, c, O, !1)) } function ILe(n, a, c, u, p, h, T, k, O = !0) { let H = T.name && Zf(T.name) || Zf(T); return H ? LLe(n, a, c, u, p, h, iW(T), B0(T), Ca(T), k, fc(H), O ? T : void 0) : 0 } function LLe(n, a, c, u, p, h, T, k, O, H, J, de) { let Ae = Yn(n), xe = !!(n.flags & 16777216); if (u && (T || Y.noImplicitOverride)) { let tt = Bs(J), It = O ? a : h, Tn = O ? c : u, un = ja(It, tt), Nn = ja(Tn, tt), en = Ee(u); if (un && !Nn && T) { if (de) { let cn = UCe(J, Tn); cn ? Fe(de, Ae ? _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1 : _.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1, en, E(cn)) : Fe(de, Ae ? _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0 : _.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0, en) } return 2 } else if (un && Nn?.declarations && Y.noImplicitOverride && !xe) { let cn = vt(Nn.declarations, B0); if (T) return 0; if (cn) { if (k && cn) return de && Fe(de, _.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0, en), 1 } else { if (de) { let rr = H ? Ae ? _.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0 : _.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0 : Ae ? _.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0 : _.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0; Fe(de, rr, en) } return 1 } } } else if (T) { if (de) { let tt = Ee(p); Fe(de, Ae ? _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class : _.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class, tt) } return 2 } return 0 } function kLe(n, a, c, u) { let p = !1; for (let h of n.members) { if (Ca(h)) continue; let T = h.name && Zf(h.name) || Zf(h); if (T) { let k = ja(a, T.escapedName), O = ja(c, T.escapedName); if (k && O) { let H = () => da(void 0, _.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2, E(T), Ee(a), Ee(c)); wu(zn(k), zn(O), h.name || h, void 0, H) || (p = !0) } } } p || wu(a, c, n.name || n, u) } function qtt(n, a) { let c = xa(n, 1); if (c.length) { let u = c[0].declaration; if (u && cd(u, 8)) { let p = Nh(n.symbol); Hie(a, p) || Fe(a, _.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private, rh(n.symbol)) } } } function Xtt(n, a, c) { if (!a.name) return 0; let u = fr(n), p = gs(u), h = uf(p), T = zn(u), O = hp(n) && _o(p), H = O?.length ? uf(Vo(O), p.thisType) : void 0, J = Wr(p), de = a.parent ? iW(a) : Mr(a, 16384); return LLe(n, T, J, H, p, h, de, B0(a), Ca(a), !1, fc(c)) } function oA(n) { return ac(n) & 1 ? n.links.target : n } function Ytt(n) { return Pr(n.declarations, a => a.kind === 260 || a.kind === 261) } function $tt(n, a) { var c, u, p, h; let T = Jo(a); e: for (let k of T) { let O = oA(k); if (O.flags & 4194304) continue; let H = qb(n, O.escapedName); if (!H) continue; let J = oA(H), de = Ef(O); if (L.assert(!!J, "derived should point to something, even if it is the base class' declaration."), J === O) { let Ae = Nh(n.symbol); if (de & 256 && (!Ae || !Mr(Ae, 256))) { for (let xe of _o(n)) { if (xe === a) continue; let tt = qb(xe, O.escapedName), It = tt && oA(tt); if (It && It !== O) continue e } Ae.kind === 228 ? Fe(Ae, _.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, E(k), Ee(a)) : Fe(Ae, _.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, Ee(n), E(k), Ee(a)) } } else { let Ae = Ef(J); if (de & 8 || Ae & 8) continue; let xe, tt = O.flags & 98308, It = J.flags & 98308; if (tt && It) { if ((ac(O) & 6 ? (c = O.declarations) != null && c.some(Nn => DLe(Nn, de)) : (u = O.declarations) != null && u.every(Nn => DLe(Nn, de))) || ac(O) & 262144 || J.valueDeclaration && ar(J.valueDeclaration)) continue; let Tn = tt !== 4 && It === 4; if (Tn || tt === 4 && It !== 4) { let Nn = Tn ? _._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property : _._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor; Fe(sa(J.valueDeclaration) || J.valueDeclaration, Nn, E(O), Ee(a), Ee(n)) } else if (fe) { let Nn = (p = J.declarations) == null ? void 0 : p.find(en => en.kind === 169 && !en.initializer); if (Nn && !(J.flags & 33554432) && !(de & 256) && !(Ae & 256) && !((h = J.declarations) != null && h.some(en => !!(en.flags & 16777216)))) { let en = wv(Nh(n.symbol)), cn = Nn.name; if (Nn.exclamationToken || !en || !Re(cn) || !U || !RLe(cn, n, en)) { let rr = _.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration; Fe(sa(J.valueDeclaration) || J.valueDeclaration, rr, E(O), Ee(a)) } } } continue } else if (jre(O)) { if (jre(J) || J.flags & 4) continue; L.assert(!!(J.flags & 98304)), xe = _.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor } else O.flags & 98304 ? xe = _.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function : xe = _.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function; Fe(sa(J.valueDeclaration) || J.valueDeclaration, xe, Ee(a), E(O), Ee(n)) } } } function DLe(n, a) { return a & 256 && (!Na(n) || !n.initializer) || ku(n.parent) } function Qtt(n, a, c) { if (!Fn(a)) return c; let u = new Map; mn(c, p => { u.set(p.escapedName, p) }); for (let p of a) { let h = Jo(uf(p, n.thisType)); for (let T of h) { let k = u.get(T.escapedName); k && T.parent === k.parent && u.delete(T.escapedName) } } return lo(u.values()) } function Ztt(n, a) { let c = _o(n); if (c.length < 2) return !0; let u = new Map; mn(Nte(n).declaredProperties, h => { u.set(h.escapedName, { prop: h, containingType: n }) }); let p = !0; for (let h of c) { let T = Jo(uf(h, n.thisType)); for (let k of T) { let O = u.get(k.escapedName); if (!O) u.set(k.escapedName, { prop: k, containingType: h }); else if (O.containingType !== n && !hXe(O.prop, k)) { p = !1; let J = Ee(O.containingType), de = Ee(h), Ae = da(void 0, _.Named_property_0_of_types_1_and_2_are_not_identical, E(k), J, de); Ae = da(Ae, _.Interface_0_cannot_simultaneously_extend_types_1_and_2, Ee(n), J, de), Lo.add(Lh(Gn(a), a, Ae)) } } } return p } function ent(n) { if (!U || !_e || n.flags & 16777216) return; let a = wv(n); for (let c of n.members) if (!(uu(c) & 2) && !Ca(c) && wLe(c)) { let u = c.name; if (Re(u) || pi(u) || ts(u)) { let p = zn(fr(c)); p.flags & 3 || xC(p) || (!a || !RLe(u, p, a)) && Fe(c.name, _.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, os(u)) } } } function wLe(n) { return n.kind === 169 && !B0(n) && !n.exclamationToken && !n.initializer } function tnt(n, a, c, u, p) { for (let h of c) if (h.pos >= u && h.pos <= p) { let T = D.createPropertyAccessExpression(D.createThis(), n); go(T.expression, T), go(T, h), T.flowNode = h.returnFlowNode; let k = Yv(T, a, gg(a)); if (!xC(k)) return !0 } return !1 } function RLe(n, a, c) { let u = ts(n) ? D.createElementAccessExpression(D.createThis(), n.expression) : D.createPropertyAccessExpression(D.createThis(), n); go(u.expression, u), go(u, c), u.flowNode = c.returnFlowNode; let p = Yv(u, a, gg(a)); return !xC(p) } function nnt(n) { km(n) || Prt(n), t8(n.typeParameters), i(() => { HC(n.name, _.Interface_name_cannot_be_0), kD(n); let a = fr(n); SLe(a); let c = nc(a, 261); if (n === c) { let u = gs(a), p = uf(u); if (Ztt(u, n.name)) { for (let h of _o(u)) wu(p, uf(h, u.thisType), n.name, _.Interface_0_incorrectly_extends_interface_1); mU(u, a) } } jIe(n) }), mn(PI(n), a => { (!bc(a.expression) || Jl(a.expression)) && Fe(a.expression, _.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments), Aie(a) }), mn(n.members, qa), i(() => { Tie(n), Dy(n) }) } function rnt(n) { km(n), HC(n.name, _.Type_alias_name_cannot_be_0), kD(n), t8(n.typeParameters), n.type.kind === 139 ? (!rN.has(n.name.escapedText) || Fn(n.typeParameters) !== 1) && Fe(n.type, _.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types) : (qa(n.type), Dy(n)) } function OLe(n) { let a = Rr(n); if (!(a.flags & 1024)) { a.flags |= 1024; let c = 0; for (let u of n.members) { let p = int(u, c); Rr(u).enumMemberValue = p, c = typeof p == "number" ? p + 1 : void 0 } } } function int(n, a) { if (Vw(n.name)) Fe(n.name, _.Computed_property_names_are_not_allowed_in_enums); else { let c = wA(n.name); Wm(c) && !cL(c) && Fe(n.name, _.An_enum_member_cannot_have_a_numeric_name) } if (n.initializer) return ant(n); if (!(n.parent.flags & 16777216 && !R0(n.parent))) { if (a !== void 0) return a; Fe(n.name, _.Enum_member_must_have_initializer) } } function ant(n) { let a = R0(n.parent), c = n.initializer, u = WC(c, n); return u !== void 0 ? a && typeof u == "number" && !isFinite(u) && Fe(c, isNaN(u) ? _.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : _.const_enum_member_initializer_was_evaluated_to_a_non_finite_value) : a ? Fe(c, _.const_enum_member_initializers_must_be_constant_expressions) : n.parent.flags & 16777216 ? Fe(c, _.In_ambient_enum_declarations_member_initializer_must_be_constant_expression) : wu(Yi(c), rt, c, _.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values), u } function WC(n, a) { switch (n.kind) { case 221: let c = WC(n.operand, a); if (typeof c == "number") switch (n.operator) { case 39: return c; case 40: return -c; case 54: return ~c }break; case 223: let u = WC(n.left, a), p = WC(n.right, a); if (typeof u == "number" && typeof p == "number") switch (n.operatorToken.kind) { case 51: return u | p; case 50: return u & p; case 48: return u >> p; case 49: return u >>> p; case 47: return u << p; case 52: return u ^ p; case 41: return u * p; case 43: return u / p; case 39: return u + p; case 40: return u - p; case 44: return u % p; case 42: return u ** p } else if ((typeof u == "string" || typeof u == "number") && (typeof p == "string" || typeof p == "number") && n.operatorToken.kind === 39) return "" + u + p; break; case 10: case 14: return n.text; case 225: return ont(n, a); case 8: return eae(n), +n.text; case 214: return WC(n.expression, a); case 79: if (cL(n.escapedText)) return +n.escapedText; case 208: if (bc(n)) { let T = uc(n, 111551, !0); if (T) { if (T.flags & 8) return NLe(n, T, a); if (wC(T)) { let k = T.valueDeclaration; if (k && !k.type && k.initializer && k !== a && $h(k, a)) return WC(k.initializer, k) } } } break; case 209: let h = n.expression; if (bc(h) && es(n.argumentExpression)) { let T = uc(h, 111551, !0); if (T && T.flags & 384) { let k = Bs(n.argumentExpression.text), O = T.exports.get(k); if (O) return NLe(n, O, a) } } break } } function NLe(n, a, c) { let u = a.valueDeclaration; if (!u || u === c) { Fe(n, _.Property_0_is_used_before_being_assigned, E(a)); return } return $h(u, c) ? xU(u) : (Fe(n, _.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums), 0) } function ont(n, a) { let c = n.head.text; for (let u of n.templateSpans) { let p = WC(u.expression, a); if (p === void 0) return; c += p, c += u.literal.text } return c } function snt(n) { i(() => cnt(n)) } function cnt(n) { km(n), jC(n, n.name), kD(n), n.members.forEach(lnt), OLe(n); let a = fr(n), c = nc(a, n.kind); if (n === c) { if (a.declarations && a.declarations.length > 1) { let p = R0(n); mn(a.declarations, h => { hb(h) && R0(h) !== p && Fe(sa(h), _.Enum_declarations_must_all_be_const_or_non_const) }) } let u = !1; mn(a.declarations, p => { if (p.kind !== 263) return !1; let h = p; if (!h.members.length) return !1; let T = h.members[0]; T.initializer || (u ? Fe(T.name, _.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element) : u = !0) }) } } function lnt(n) { pi(n.name) && Fe(n, _.An_enum_member_cannot_be_named_with_a_private_identifier), n.initializer && Yi(n.initializer) } function unt(n) { let a = n.declarations; if (a) { for (let c of a) if ((c.kind === 260 || c.kind === 259 && Pf(c.body)) && !(c.flags & 16777216)) return c } } function dnt(n, a) { let c = tm(n), u = tm(a); return gm(c) ? gm(u) : gm(u) ? !1 : c === u } function fnt(n) { n.body && (qa(n.body), mp(n) || Dy(n)), i(a); function a() { var c, u; let p = mp(n), h = n.flags & 16777216; p && !h && Fe(n.name, _.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context); let T = lu(n), k = T ? _.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file : _.A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module; if (n8(n, k)) return; km(n) || !h && n.name.kind === 10 && an(n.name, _.Only_ambient_modules_can_use_quoted_names), Re(n.name) && jC(n, n.name), kD(n); let O = fr(n); if (O.flags & 512 && !h && fK(n, U0(Y))) { if (d_(Y) && !Gn(n).externalModuleIndicator && Fe(n.name, _.Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement, Rt), ((c = O.declarations) == null ? void 0 : c.length) > 1) { let H = unt(O); H && (Gn(n) !== Gn(H) ? Fe(n.name, _.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged) : n.pos < H.pos && Fe(n.name, _.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged)); let J = nc(O, 260); J && dnt(n, J) && (Rr(n).flags |= 2048) } if (Y.verbatimModuleSyntax && n.parent.kind === 308 && (ie === 1 || n.parent.impliedNodeFormat === 1)) { let H = (u = n.modifiers) == null ? void 0 : u.find(J => J.kind === 93); H && Fe(H, _.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled) } } if (T) if (D0(n)) { if ((p || fr(n).flags & 33554432) && n.body) for (let J of n.body.statements) Bie(J, p) } else gm(n.parent) ? p ? Fe(n.name, _.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations) : fl(l_(n.name)) && Fe(n.name, _.Ambient_module_declaration_cannot_specify_relative_module_name) : p ? Fe(n.name, _.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations) : Fe(n.name, _.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces) } } function Bie(n, a) { switch (n.kind) { case 240: for (let u of n.declarationList.declarations) Bie(u, a); break; case 274: case 275: dl(n, _.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; case 268: case 269: dl(n, _.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; case 205: case 257: let c = n.name; if (La(c)) { for (let u of c.elements) Bie(u, a); break } case 260: case 263: case 259: case 261: case 264: case 262: if (a) return; break } } function _nt(n) { switch (n.kind) { case 79: return n; case 163: do n = n.left; while (n.kind !== 79); return n; case 208: do { if (Bm(n.expression) && !pi(n.name)) return n.name; n = n.expression } while (n.kind !== 79); return n } } function Uie(n) { let a = UA(n); if (!a || rc(a)) return !1; if (!yo(a)) return Fe(a, _.String_literal_expected), !1; let c = n.parent.kind === 265 && lu(n.parent.parent); if (n.parent.kind !== 308 && !c) return Fe(a, n.kind === 275 ? _.Export_declarations_are_not_permitted_in_a_namespace : _.Import_declarations_in_a_namespace_cannot_reference_a_module), !1; if (c && fl(a.text) && !Td(n)) return Fe(n, _.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name), !1; if (!Nl(n) && n.assertClause) { let u = !1; for (let p of n.assertClause.elements) yo(p.value) || (u = !0, Fe(p.value, _.Import_assertion_values_must_be_string_literal_expressions)); return !u } return !0 } function hU(n) { var a, c, u, p, h; let T = fr(n), k = wc(T); if (k !== Ht) { if (T = No(T.exportSymbol || T), Yn(n) && !(k.flags & 111551) && !I0(n)) { let J = eS(n) ? n.propertyName || n.name : zl(n) ? n.name : n; if (L.assert(n.kind !== 277), n.kind === 278) { let de = Fe(J, _.Types_cannot_appear_in_export_declarations_in_JavaScript_files), Ae = (c = (a = Gn(n).symbol) == null ? void 0 : a.exports) == null ? void 0 : c.get((n.propertyName || n.name).escapedText); if (Ae === k) { let xe = (u = Ae.declarations) == null ? void 0 : u.find(IA); xe && Ao(de, hr(xe, _._0_is_automatically_exported_here, Gi(Ae.escapedName))) } } else { L.assert(n.kind !== 257); let de = jn(n, Kp(gl, Nl)), Ae = (h = de && ((p = iR(de)) == null ? void 0 : p.text)) != null ? h : "...", xe = Gi(Re(J) ? J.escapedText : T.escapedName); Fe(J, _._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation, xe, `import("${Ae}").${xe}`) } return } let O = Fl(k), H = (T.flags & 1160127 ? 111551 : 0) | (T.flags & 788968 ? 788968 : 0) | (T.flags & 1920 ? 1920 : 0); if (O & H) { let J = n.kind === 278 ? _.Export_declaration_conflicts_with_exported_declaration_of_0 : _.Import_declaration_conflicts_with_local_declaration_of_0; Fe(n, J, E(T)) } if (d_(Y) && !I0(n) && !(n.flags & 16777216)) { let J = nd(T), de = !(O & 111551); if (de || J) switch (n.kind) { case 270: case 273: case 268: { if (Y.preserveValueImports || Y.verbatimModuleSyntax) { L.assertIsDefined(n.name, "An ImportClause with a symbol should have a name"); let Ae = Y.verbatimModuleSyntax && GA(n) ? _.An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled : de ? Y.verbatimModuleSyntax ? _._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled : _._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled : Y.verbatimModuleSyntax ? _._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled : _._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled, xe = vr(n.kind === 273 && n.propertyName || n.name); v1(Fe(n, Ae, xe), de ? void 0 : J, xe) } de && n.kind === 268 && cd(n, 1) && Fe(n, _.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled, Rt); break } case 278: if (Y.verbatimModuleSyntax || Gn(J) !== Gn(n)) { let Ae = vr(n.propertyName || n.name), xe = de ? Fe(n, _.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type, Rt) : Fe(n, _._0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled, Ae, Rt); v1(xe, de ? void 0 : J, Ae); break } }Y.verbatimModuleSyntax && n.kind !== 268 && !Yn(n) && (ie === 1 || Gn(n).impliedNodeFormat === 1) && Fe(n, _.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled) } if ($u(n)) { let J = MLe(T, n); PLe(J) && J.declarations && Xh(n, J.declarations, J.escapedName) } } } function PLe(n) { return !!n.declarations && Ji(n.declarations, a => !!(G_(a) & 268435456)) } function MLe(n, a) { if (!(n.flags & 2097152)) return n; let c = wc(n); if (c === Ht) return c; for (; n.flags & 2097152;) { let u = Mre(n); if (u) { if (u === c) break; if (u.declarations && Fn(u.declarations)) if (PLe(u)) { Xh(a, u.declarations, u.escapedName); break } else { if (n === c) break; n = u } } else break } return c } function gU(n) { jC(n, n.name), hU(n), n.kind === 273 && vr(n.propertyName || n.name) === "default" && f_(Y) && ie !== 4 && (ie < 5 || Gn(n).impliedNodeFormat === 1) && Hc(n, 131072) } function FLe(n) { var a; if (n.assertClause) { let c = oq(n), u = qS(n.assertClause, c ? an : void 0); if (c && u) return TR() || an(n.assertClause, _.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next), $s(Y) !== 3 && $s(Y) !== 99 ? an(n.assertClause, _.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext) : void 0; if ((ie === 199 && n.moduleSpecifier && ty(n.moduleSpecifier)) !== 99 && ie !== 99) return an(n.assertClause, ie === 199 ? _.Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls : _.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext); if (gl(n) ? (a = n.importClause) != null && a.isTypeOnly : n.isTypeOnly) return an(n.assertClause, _.Import_assertions_cannot_be_used_with_type_only_imports_or_exports); if (u) return an(n.assertClause, _.resolution_mode_can_only_be_set_for_type_only_imports) } } function pnt(n) { if (!n8(n, Yn(n) ? _.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module : _.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) { if (!km(n) && n4(n) && dl(n, _.An_import_declaration_cannot_have_modifiers), Uie(n)) { let a = n.importClause; a && !sit(a) && (a.name && gU(a), a.namedBindings && (a.namedBindings.kind === 271 ? (gU(a.namedBindings), ie !== 4 && (ie < 5 || Gn(n).impliedNodeFormat === 1) && f_(Y) && Hc(n, 65536)) : Gl(n, n.moduleSpecifier) && mn(a.namedBindings.elements, gU))) } FLe(n) } } function mnt(n) { if (!n8(n, Yn(n) ? _.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module : _.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module) && (km(n), GA(n) || Uie(n))) if (gU(n), Mr(n, 1) && TE(n), n.moduleReference.kind !== 280) { let a = wc(fr(n)); if (a !== Ht) { let c = Fl(a); if (c & 111551) { let u = Yd(n.moduleReference); uc(u, 112575).flags & 1920 || Fe(u, _.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, os(u)) } c & 788968 && HC(n.name, _.Import_name_cannot_be_0) } n.isTypeOnly && an(n, _.An_import_alias_cannot_use_import_type) } else ie >= 5 && Gn(n).impliedNodeFormat === void 0 && !n.isTypeOnly && !(n.flags & 16777216) && an(n, _.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead) } function hnt(n) { if (!n8(n, Yn(n) ? _.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module : _.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) { if (!km(n) && Wce(n) && dl(n, _.An_export_declaration_cannot_have_modifiers), n.moduleSpecifier && n.exportClause && h_(n.exportClause) && Fn(n.exportClause.elements) && R === 0 && Hc(n, 4194304), gnt(n), !n.moduleSpecifier || Uie(n)) if (n.exportClause && !qm(n.exportClause)) { mn(n.exportClause.elements, Snt); let a = n.parent.kind === 265 && lu(n.parent.parent), c = !a && n.parent.kind === 265 && !n.moduleSpecifier && n.flags & 16777216; n.parent.kind !== 308 && !a && !c && Fe(n, _.Export_declarations_are_not_permitted_in_a_namespace) } else { let a = Gl(n, n.moduleSpecifier); a && AE(a) ? Fe(n.moduleSpecifier, _.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk, E(a)) : n.exportClause && hU(n.exportClause), ie !== 4 && (ie < 5 || Gn(n).impliedNodeFormat === 1) && (n.exportClause ? f_(Y) && Hc(n, 65536) : Hc(n, 32768)) } FLe(n) } } function gnt(n) { var a; return n.isTypeOnly && ((a = n.exportClause) == null ? void 0 : a.kind) === 276 ? pke(n.exportClause) : !1 } function n8(n, a) { let c = n.parent.kind === 308 || n.parent.kind === 265 || n.parent.kind === 264; return c || dl(n, a), !c } function ynt(n) { return z6(n, a => !!fr(a).isReferenced) } function vnt(n) { return z6(n, a => !!Ai(fr(a)).constEnumReferenced) } function bnt(n) { return gl(n) && n.importClause && !n.importClause.isTypeOnly && ynt(n.importClause) && !SU(n.importClause, !0) && !vnt(n.importClause) } function Ent(n) { return Nl(n) && um(n.moduleReference) && !n.isTypeOnly && fr(n).isReferenced && !SU(n, !1) && !Ai(fr(n)).constEnumReferenced } function Tnt(n) { for (let a of n.statements) (bnt(a) || Ent(a)) && Fe(a, _.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error) } function Snt(n) { if (hU(n), __(Y) && ME(n.propertyName || n.name, !0), n.parent.parent.moduleSpecifier) f_(Y) && ie !== 4 && (ie < 5 || Gn(n).impliedNodeFormat === 1) && vr(n.propertyName || n.name) === "default" && Hc(n, 131072); else { let a = n.propertyName || n.name, c = zs(a, a.escapedText, 2998271, void 0, void 0, !0); if (c && (c === Le || c === Ye || c.declarations && gm(FE(c.declarations[0])))) Fe(a, _.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, vr(a)); else { !n.isTypeOnly && !n.parent.parent.isTypeOnly && TE(n); let u = c && (c.flags & 2097152 ? wc(c) : c); (!u || Fl(u) & 111551) && Ic(n.propertyName || n.name) } } } function xnt(n) { let a = n.isExportEquals ? _.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration : _.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration; if (n8(n, a)) return; let c = n.parent.kind === 308 ? n.parent : n.parent.parent; if (c.kind === 264 && !lu(c)) { n.isExportEquals ? Fe(n, _.An_export_assignment_cannot_be_used_in_a_namespace) : Fe(n, _.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); return } !km(n) && n4(n) && dl(n, _.An_export_assignment_cannot_have_modifiers); let u = Cl(n); u && wu(Ic(n.expression), $r(u), n.expression); let p = !n.isExportEquals && !(n.flags & 16777216) && Y.verbatimModuleSyntax && (ie === 1 || Gn(n).impliedNodeFormat === 1); if (n.expression.kind === 79) { let h = n.expression, T = tp(uc(h, 67108863, !0, !0, n)); T ? (FB(T, h), Fl(T) & 111551 ? (Ic(h), !p && Y.verbatimModuleSyntax && nd(T, 111551) && Fe(h, n.isExportEquals ? _.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration : _.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration, vr(h))) : !p && Y.verbatimModuleSyntax && Fe(h, n.isExportEquals ? _.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type : _.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type, vr(h))) : Ic(h), __(Y) && ME(h, !0) } else Ic(n.expression); p && Fe(n, _.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled), GLe(c), n.flags & 16777216 && !bc(n.expression) && an(n.expression, _.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context), n.isExportEquals && (ie >= 5 && (n.flags & 16777216 && Gn(n).impliedNodeFormat === 99 || !(n.flags & 16777216) && Gn(n).impliedNodeFormat !== 1) ? an(n, _.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead) : ie === 4 && !(n.flags & 16777216) && an(n, _.Export_assignment_is_not_supported_when_module_flag_is_system)) } function Ant(n) { return Ld(n.exports, (a, c) => c !== "export=") } function GLe(n) { let a = fr(n), c = Ai(a); if (!c.exportsChecked) { let u = a.exports.get("export="); if (u && Ant(a)) { let h = Uu(u) || u.valueDeclaration; h && !Td(h) && !Yn(h) && Fe(h, _.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements) } let p = sh(a); p && p.forEach(({ declarations: h, flags: T }, k) => { if (k === "__export" || T & 1920) return; let O = Oy(h, g8(O_e, y8(ku))); if (!(T & 524288 && O <= 2) && O > 1 && !yU(h)) for (let H of h) D_e(H) && Lo.add(hr(H, _.Cannot_redeclare_exported_variable_0, Gi(k))) }), c.exportsChecked = !0 } } function yU(n) { return n && n.length > 1 && n.every(a => Yn(a) && Us(a) && (TT(a.expression) || Bm(a.expression))) } function qa(n) { if (n) { let a = P; P = n, A = 0, Cnt(n), P = a } } function Cnt(n) { lR(n) && mn(n.jsDoc, ({ comment: c, tags: u }) => { BLe(c), mn(u, p => { BLe(p.comment), Yn(n) && qa(p) }) }); let a = n.kind; if (o) switch (a) { case 264: case 260: case 261: case 259: o.throwIfCancellationRequested() }switch (a >= 240 && a <= 256 && cR(n) && n.flowNode && !IM(n.flowNode) && Ip(Y.allowUnreachableCode === !1, n, _.Unreachable_code_detected), a) { case 165: return BIe(n); case 166: return UIe(n); case 169: return HIe(n); case 168: return cet(n); case 182: case 181: case 176: case 177: case 178: return LD(n); case 171: case 170: return uet(n); case 172: return det(n); case 173: return fet(n); case 174: case 175: return zIe(n); case 180: return Aie(n); case 179: return iet(n); case 183: return yet(n); case 184: return vet(n); case 185: return bet(n); case 186: return Eet(n); case 189: case 190: return Tet(n); case 193: case 187: case 188: return qa(n.type); case 194: return Iet(n); case 195: return Let(n); case 191: return ket(n); case 192: return Det(n); case 200: return wet(n); case 202: return Ret(n); case 199: return Oet(n); case 331: return $et(n); case 332: return Yet(n); case 349: case 341: case 343: return jet(n); case 348: return Het(n); case 347: return Wet(n); case 327: case 328: case 329: return Jet(n); case 344: return Ket(n); case 351: return qet(n); case 320: Xet(n); case 318: case 317: case 315: case 316: case 325: ULe(n), pa(n, qa); return; case 321: Int(n); return; case 312: return qa(n.type); case 336: case 338: case 337: return Qet(n); case 353: return zet(n); case 196: return xet(n); case 197: return Aet(n); case 259: return Vet(n); case 238: case 265: return dU(n); case 240: return mtt(n); case 241: return htt(n); case 242: return gtt(n); case 243: return btt(n); case 244: return Ett(n); case 245: return Ttt(n); case 246: return xtt(n); case 247: return Stt(n); case 248: case 249: return Rtt(n); case 250: return Ott(n); case 251: return Ntt(n); case 252: return Ptt(n); case 253: return Mtt(n); case 254: return Ftt(n); case 255: return Gtt(n); case 257: return Die(n); case 205: return ptt(n); case 260: return Jtt(n); case 261: return nnt(n); case 262: return rnt(n); case 263: return snt(n); case 264: return fnt(n); case 269: return pnt(n); case 268: return mnt(n); case 275: return hnt(n); case 274: return xnt(n); case 239: case 256: vh(n); return; case 279: return pet(n) } } function BLe(n) { ba(n) && mn(n, a => { iS(a) && qa(a) }) } function ULe(n) { if (!Yn(n)) if (m3(n) || T2(n)) { let a = Xa(m3(n) ? 53 : 57), c = n.postfix ? _._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1 : _._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1, u = n.type, p = $r(u); an(n, c, a, Ee(T2(n) && !(p === lt || p === yt) ? Gr(Sn([p, Oe], n.postfix ? void 0 : ln)) : p)) } else an(n, _.JSDoc_types_can_only_be_used_inside_documentation_comments) } function Int(n) { ULe(n), qa(n.type); let { parent: a } = n; if (ha(a) && S2(a.parent)) { To(a.parent.parameters) !== a && Fe(n, _.A_rest_parameter_must_be_last_in_a_parameter_list); return } UT(a) || Fe(n, _.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); let c = n.parent.parent; if (!xp(c)) { Fe(n, _.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); return } let u = uR(c); if (!u) return; let p = sb(c); (!p || To(p.parameters).symbol !== u) && Fe(n, _.A_rest_parameter_must_be_last_in_a_parameter_list) } function Lnt(n) { let a = $r(n.type), { parent: c } = n, u = n.parent.parent; if (UT(n.parent) && xp(u)) { let p = sb(u), h = Vz(u.parent.parent); if (p || h) { let T = Os(h ? u.parent.parent.typeExpression.parameters : p.parameters), k = uR(u); if (!T || k && T.symbol === k && Fm(T)) return nu(a) } } return ha(c) && S2(c.parent) ? nu(a) : ao(a) } function zC(n) { let a = Gn(n), c = Rr(a); c.flags & 1 ? L.assert(!c.deferredNodes, "A type-checked file should have no deferred nodes.") : (c.deferredNodes || (c.deferredNodes = new Set), c.deferredNodes.add(n)) } function knt(n) { let a = Rr(n); a.deferredNodes && a.deferredNodes.forEach(Dnt), a.deferredNodes = void 0 } function Dnt(n) { var a, c; (a = ai) == null || a.push(ai.Phase.Check, "checkDeferredNode", { kind: n.kind, pos: n.pos, end: n.end, path: n.tracingPath }); let u = P; switch (P = n, A = 0, n.kind) { case 210: case 211: case 212: case 167: case 283: nA(n); break; case 215: case 216: case 171: case 170: EZe(n); break; case 174: case 175: zIe(n); break; case 228: ztt(n); break; case 165: ret(n); break; case 282: N$e(n); break; case 281: M$e(n); break }P = u, (c = ai) == null || c.pop() } function wnt(n) { var a, c; (a = ai) == null || a.push(ai.Phase.Check, "checkSourceFile", { path: n.path }, !0), Fs("beforeCheck"), Rnt(n), Fs("afterCheck"), hf("Check", "beforeCheck", "afterCheck"), (c = ai) == null || c.pop() } function VLe(n, a) { if (a) return !1; switch (n) { case 0: return !!Y.noUnusedLocals; case 1: return !!Y.noUnusedParameters; default: return L.assertNever(n) } } function jLe(n) { return rn.get(n.path) || Je } function Rnt(n) { let a = Rr(n); if (!(a.flags & 1)) { if (rL(n, Y, e)) return; nit(n), Om(pE), Om(vv), Om(Lb), Om(bv), Om(m1), mn(n.statements, qa), qa(n.endOfFileToken), knt(n), kd(n) && Dy(n), i(() => { !n.isDeclarationFile && (Y.noUnusedLocals || Y.noUnusedParameters) && rLe(jLe(n), (c, u, p) => { !Gw(c) && VLe(u, !!(c.flags & 16777216)) && Lo.add(p) }), n.isDeclarationFile || ntt() }), Y.importsNotUsedAsValues === 2 && !n.isDeclarationFile && Lc(n) && Tnt(n), kd(n) && GLe(n), pE.length && (mn(pE, att), Om(pE)), vv.length && (mn(vv, ott), Om(vv)), Lb.length && (mn(Lb, utt), Om(Lb)), bv.length && (mn(bv, ftt), Om(bv)), a.flags |= 1 } } function HLe(n, a) { try { return o = a, Ont(n) } finally { o = void 0 } } function Vie() { for (let n of r) n(); r = [] } function jie(n) { Vie(); let a = i; i = c => c(), wnt(n), i = a } function Ont(n) { if (n) { Vie(); let a = Lo.getGlobalDiagnostics(), c = a.length; jie(n); let u = Lo.getDiagnostics(n.fileName), p = Lo.getGlobalDiagnostics(); if (p !== a) { let h = fae(a, p, ZI); return Qi(h, u) } else if (c === 0 && p.length > 0) return Qi(p, u); return u } return mn(e.getSourceFiles(), jie), Lo.getDiagnostics() } function Nnt() { return Vie(), Lo.getGlobalDiagnostics() } function Pnt(n, a) { if (n.flags & 33554432) return []; let c = Ua(), u = !1; return p(), c.delete("this"), ene(c); function p() { for (; n;) { switch (Qp(n) && n.locals && !gm(n) && T(n.locals, a), n.kind) { case 308: if (!Lc(n)) break; case 264: k(fr(n).exports, a & 2623475); break; case 263: T(fr(n).exports, a & 8); break; case 228: n.name && h(n.symbol, a); case 260: case 261: u || T(vy(fr(n)), a & 788968); break; case 215: n.name && h(n.symbol, a); break }tce(n) && h(_t, a), u = Ca(n), n = n.parent } T(Ne, a) } function h(O, H) { if (XI(O) & H) { let J = O.escapedName; c.has(J) || c.set(J, O) } } function T(O, H) { H && O.forEach(J => { h(J, H) }) } function k(O, H) { H && O.forEach(J => { !nc(J, 278) && !nc(J, 277) && h(J, H) }) } } function Mnt(n) { return n.kind === 79 && o2(n.parent) && sa(n.parent) === n } function WLe(n) { for (; n.parent.kind === 163;)n = n.parent; return n.parent.kind === 180 } function Fnt(n) { for (; n.parent.kind === 208;)n = n.parent; return n.parent.kind === 230 } function zLe(n, a) { let c, u = Zc(n); for (; u && !(c = a(u));)u = Zc(u); return c } function Gnt(n) { return !!jn(n, a => Ec(a) && Pf(a.body) || Na(a) ? !0 : Yr(a) || Ds(a) ? "quit" : !1) } function Hie(n, a) { return !!zLe(n, c => c === a) } function Bnt(n) { for (; n.parent.kind === 163;)n = n.parent; if (n.parent.kind === 268) return n.parent.moduleReference === n ? n.parent : void 0; if (n.parent.kind === 274) return n.parent.expression === n ? n.parent : void 0 } function vU(n) { return Bnt(n) !== void 0 } function Unt(n) { switch (ic(n.parent.parent)) { case 1: case 3: return vd(n.parent); case 4: case 2: case 5: return fr(n.parent.parent) } } function Vnt(n) { let a = n.parent; for (; Yu(a);)n = a, a = a.parent; if (a && a.kind === 202 && a.qualifier === n) return a } function JLe(n) { if (Rh(n)) return vd(n.parent); if (Yn(n) && n.parent.kind === 208 && n.parent === n.parent.parent.left && !pi(n) && !gb(n)) { let a = Unt(n); if (a) return a } if (n.parent.kind === 274 && bc(n)) { let a = uc(n, 2998271, !0); if (a && a !== Ht) return a } else if (Cd(n) && vU(n)) { let a = cb(n, 268); return L.assert(a !== void 0), ep(n, !0) } if (Cd(n)) { let a = Vnt(n); if (a) { $r(a); let c = Rr(n).resolvedSymbol; return c === Ht ? void 0 : c } } for (; Qce(n);)n = n.parent; if (Fnt(n)) { let a = 0; n.parent.kind === 230 ? (a = Gm(n) ? 788968 : 111551, IR(n.parent) && (a |= 111551)) : a = 1920, a |= 2097152; let c = bc(n) ? uc(n, a) : void 0; if (c) return c } if (n.parent.kind === 344) return uR(n.parent); if (n.parent.kind === 165 && n.parent.parent.kind === 348) { L.assert(!Yn(n)); let a = yce(n.parent); return a && a.symbol } if (Dh(n)) { if (rc(n)) return; let a = jn(n, Kp(iS, IL, gb)), c = a ? 901119 : 111551; if (n.kind === 79) { if (DI(n) && OC(n)) { let p = Gre(n.parent); return p === Ht ? void 0 : p } let u = uc(n, c, !1, !0, sb(n)); if (!u && a) { let p = jn(n, Kp(Yr, ku)); if (p) return r8(n, !1, fr(p)) } if (u && a) { let p = dS(n); if (p && q0(p) && p === u.valueDeclaration) return uc(n, c, !0, !0, Gn(p)) || u } return u } else { if (pi(n)) return KB(n); if (n.kind === 208 || n.kind === 163) { let u = Rr(n); if (u.resolvedSymbol) return u.resolvedSymbol; if (n.kind === 208) { if (RCe(n, 0), !u.resolvedSymbol) { let p = Ic(n.expression), h = Zte(p, pg(n.name)); if (h.length && p.members) { let k = R_(p).members.get("__index"); if (h === tu(p)) u.resolvedSymbol = k; else if (k) { let O = Ai(k), H = Zi(h, de => de.declaration), J = on(H, zo).join(","); if (O.filteredIndexSymbolCache || (O.filteredIndexSymbolCache = new Map), O.filteredIndexSymbolCache.has(J)) u.resolvedSymbol = O.filteredIndexSymbolCache.get(J); else { let de = wo(131072, "__index"); de.declarations = Zi(h, Ae => Ae.declaration), de.parent = p.aliasSymbol ? p.aliasSymbol : p.symbol ? p.symbol : Zf(de.declarations[0].parent), O.filteredIndexSymbolCache.set(J, de), u.resolvedSymbol = O.filteredIndexSymbolCache.get(J) } } } } } else OCe(n, 0); return !u.resolvedSymbol && a && Yu(n) ? r8(n) : u.resolvedSymbol } else if (gb(n)) return r8(n) } } else if (WLe(n)) { let a = n.parent.kind === 180 ? 788968 : 1920, c = uc(n, a, !1, !0); return c && c !== Ht ? c : XG(n) } if (n.parent.kind === 179) return uc(n, 1) } function r8(n, a, c) { if (Cd(n)) { let T = uc(n, 901119, a, !0, sb(n)); if (!T && Re(n) && c && (T = No(yd(Gd(c), n.escapedText, 901119))), T) return T } let u = Re(n) ? c : r8(n.left, a, c), p = Re(n) ? n.escapedText : n.right.escapedText; if (u) { let h = u.flags & 111551 && ja(zn(u), "prototype"), T = h ? zn(h) : gs(u); return ja(T, p) } } function Zf(n, a) { if (Li(n)) return Lc(n) ? No(n.symbol) : void 0; let { parent: c } = n, u = c.parent; if (!(n.flags & 33554432)) { if (w_e(n)) { let p = fr(c); return eS(n.parent) && n.parent.propertyName === n ? Mre(p) : p } else if (_R(n)) return fr(c.parent); if (n.kind === 79) { if (vU(n)) return JLe(n); if (c.kind === 205 && u.kind === 203 && n === c.propertyName) { let p = G1(u), h = ja(p, n.escapedText); if (h) return h } else if (TL(c) && c.name === n) return c.keywordToken === 103 && vr(n) === "target" ? lie(c).symbol : c.keywordToken === 100 && vr(n) === "meta" ? tAe().members.get("meta") : void 0 } switch (n.kind) { case 79: case 80: case 208: case 163: if (!mS(n)) return JLe(n); case 108: let p = Ku(n, !1, !1); if (Ia(p)) { let k = ip(p); if (k.thisParameter) return k.thisParameter } if (F6(n)) return Yi(n).symbol; case 194: return oB(n).symbol; case 106: return Yi(n).symbol; case 135: let h = n.parent; return h && h.kind === 173 ? h.parent.symbol : void 0; case 10: case 14: if (ab(n.parent.parent) && wI(n.parent.parent) === n || (n.parent.kind === 269 || n.parent.kind === 275) && n.parent.moduleSpecifier === n || Yn(n) && $s(Y) !== 100 && qu(n.parent, !1) || Dd(n.parent) || mb(n.parent) && ib(n.parent.parent) && n.parent.parent.argument === n.parent) return Gl(n, n, a); if (Pa(c) && sS(c) && c.arguments[1] === n) return fr(c); case 8: let T = Vs(c) ? c.argumentExpression === n ? au(c.expression) : void 0 : mb(c) && OS(u) ? $r(u.objectType) : void 0; return T && ja(T, Bs(n.text)); case 88: case 98: case 38: case 84: return vd(n.parent); case 202: return ib(n) ? Zf(n.argument.literal, a) : void 0; case 93: return pc(n.parent) ? L.checkDefined(n.parent.symbol) : void 0; case 100: case 103: return TL(n.parent) ? mIe(n.parent).symbol : void 0; case 233: return Yi(n).symbol; default: return } } } function jnt(n) { if (Re(n) && br(n.parent) && n.parent.name === n) { let a = pg(n), c = au(n.parent.expression), u = c.flags & 1048576 ? c.types : [c]; return Uo(u, p => Pr(tu(p), h => Vx(a, h.keyType))) } } function Hnt(n) { if (n && n.kind === 300) return uc(n.name, 2208703) } function Wnt(n) { return Mu(n) ? n.parent.parent.moduleSpecifier ? af(n.parent.parent, n) : uc(n.propertyName || n.name, 2998271) : uc(n, 2998271) } function G1(n) { if (Li(n) && !Lc(n) || n.flags & 33554432) return ve; let a = uW(n), c = a && vu(fr(a.class)); if (Gm(n)) { let u = $r(n); return c ? uf(u, c.thisType) : u } if (Dh(n)) return KLe(n); if (c && !a.isImplements) { let u = Sl(_o(c)); return u ? uf(u, c.thisType) : ve } if (o2(n)) { let u = fr(n); return gs(u) } if (Mnt(n)) { let u = Zf(n); return u ? gs(u) : ve } if (Kl(n)) { let u = fr(n); return u ? zn(u) : ve } if (w_e(n)) { let u = Zf(n); return u ? zn(u) : ve } if (La(n)) return Oo(n.parent, !0, 0) || ve; if (vU(n)) { let u = Zf(n); if (u) { let p = gs(u); return Ro(p) ? zn(u) : p } } return TL(n.parent) && n.parent.keywordToken === n.kind ? mIe(n.parent) : ve } function bU(n) { if (L.assert(n.kind === 207 || n.kind === 206), n.parent.kind === 247) { let p = e8(n.parent); return nT(n, p || ve) } if (n.parent.kind === 223) { let p = au(n.parent.right); return nT(n, p || ve) } if (n.parent.kind === 299) { let p = Ga(n.parent.parent, rs), h = bU(p) || ve, T = DA(p.properties, n.parent); return kIe(p, h, T) } let a = Ga(n.parent, fu), c = bU(a) || ve, u = wy(65, c, Oe, n.parent) || ve; return DIe(a, c, a.elements.indexOf(n), u) } function znt(n) { let a = bU(Ga(n.parent.parent, vI)); return a && ja(a, n.escapedText) } function KLe(n) { return zI(n) && (n = n.parent), Hu(au(n)) } function qLe(n) { let a = vd(n.parent); return Ca(n) ? zn(a) : gs(a) } function XLe(n) { let a = n.name; switch (a.kind) { case 79: return ff(vr(a)); case 8: case 10: return ff(a.text); case 164: let c = vg(a); return ul(c, 12288) ? c : ae; default: return L.fail("Unsupported property name.") } } function Wie(n) { n = Eu(n); let a = Ua(Jo(n)), c = xa(n, 0).length ? Uc : xa(n, 1).length ? Gu : void 0; return c && mn(Jo(c), u => { a.has(u.escapedName) || a.set(u.escapedName, u) }), uy(a) } function EU(n) { return xa(n, 0).length !== 0 || xa(n, 1).length !== 0 } function YLe(n) { let a = Jnt(n); return a ? Uo(a, YLe) : [n] } function Jnt(n) { if (ac(n) & 6) return Zi(Ai(n).containingType.types, a => ja(a, n.escapedName)); if (n.flags & 33554432) { let { links: { leftSpread: a, rightSpread: c, syntheticOrigin: u } } = n; return a ? [a, c] : u ? [u] : aT(Knt(n)) } } function Knt(n) { let a, c = n; for (; c = Ai(c).target;)a = c; return a } function qnt(n) { if (tc(n)) return !1; let a = ea(n, Re); if (!a) return !1; let c = a.parent; return c ? !((br(c) || yl(c)) && c.name === a) && i8(a) === _t : !1 } function Xnt(n) { let a = Gl(n.parent, n); if (!a || CI(a)) return !0; let c = AE(a); a = Vu(a); let u = Ai(a); return u.exportsSomeValue === void 0 && (u.exportsSomeValue = c ? !!(a.flags & 111551) : Ld(sh(a), p)), u.exportsSomeValue; function p(h) { return h = Ac(h), h && !!(Fl(h) & 111551) } } function Ynt(n) { return Ow(n.parent) && n === n.parent.name } function $nt(n, a) { var c; let u = ea(n, Re); if (u) { let p = i8(u, Ynt(u)); if (p) { if (p.flags & 1048576) { let T = No(p.exportSymbol); if (!a && T.flags & 944 && !(T.flags & 3)) return; p = T } let h = ju(p); if (h) { if (h.flags & 512 && ((c = h.valueDeclaration) == null ? void 0 : c.kind) === 308) { let T = h.valueDeclaration, k = Gn(u); return T !== k ? void 0 : T } return jn(u.parent, T => Ow(T) && fr(T) === h) } } } } function Qnt(n) { let a = Eue(n); if (a) return a; let c = ea(n, Re); if (c) { let u = drt(c); if (ay(u, 111551) && !nd(u, 111551)) return Uu(u) } } function Znt(n) { return n.valueDeclaration && Wo(n.valueDeclaration) && bA(n.valueDeclaration).parent.kind === 295 } function $Le(n) { if (n.flags & 418 && n.valueDeclaration && !Li(n.valueDeclaration)) { let a = Ai(n); if (a.isDeclarationWithCollidingName === void 0) { let c = tm(n.valueDeclaration); if (Ose(c) || Znt(n)) { let u = Rr(n.valueDeclaration); if (zs(c.parent, n.escapedName, 111551, void 0, void 0, !1)) a.isDeclarationWithCollidingName = !0; else if (u.flags & 16384) { let p = u.flags & 32768, h = Wy(c, !1), T = c.kind === 238 && Wy(c.parent, !1); a.isDeclarationWithCollidingName = !Hse(c) && (!p || !h && !T) } else a.isDeclarationWithCollidingName = !1 } } return a.isDeclarationWithCollidingName } return !1 } function ert(n) { if (!tc(n)) { let a = ea(n, Re); if (a) { let c = i8(a); if (c && $Le(c)) return c.valueDeclaration } } } function trt(n) { let a = ea(n, Kl); if (a) { let c = fr(a); if (c) return $Le(c) } return !1 } function QLe(n) { switch (L.assert(!Y.verbatimModuleSyntax), n.kind) { case 268: return TU(fr(n)); case 270: case 271: case 273: case 278: let a = fr(n); return !!a && TU(a) && !nd(a, 111551); case 275: let c = n.exportClause; return !!c && (qm(c) || vt(c.elements, QLe)); case 274: return n.expression && n.expression.kind === 79 ? TU(fr(n)) : !0 }return !1 } function nrt(n) { let a = ea(n, Nl); return a === void 0 || a.parent.kind !== 308 || !GA(a) ? !1 : TU(fr(a)) && a.moduleReference && !rc(a.moduleReference) } function TU(n) { var a; if (!n) return !1; let c = tp(wc(n)); return c === Ht ? !0 : !!(((a = Fl(c)) != null ? a : -1) & 111551) && (U0(Y) || !MD(c)) } function MD(n) { return gie(n) || !!n.constEnumOnlyModule } function SU(n, a) { if (L.assert(!Y.verbatimModuleSyntax), Zh(n)) { let c = fr(n), u = c && Ai(c); if (u?.referenced) return !0; let p = Ai(c).aliasTarget; if (p && uu(n) & 1 && Fl(p) & 111551 && (U0(Y) || !MD(p))) return !0 } return a ? !!pa(n, c => SU(c, a)) : !1 } function ZLe(n) { if (Pf(n.body)) { if (zy(n) || Ng(n)) return !1; let a = fr(n), c = Xb(a); return c.length > 1 || c.length === 1 && c[0].declaration !== n } return !1 } function eke(n) { return !!U && !Qk(n) && !xp(n) && !!n.initializer && !Mr(n, 16476) } function rrt(n) { return U && Qk(n) && !n.initializer && Mr(n, 16476) } function irt(n) { let a = ea(n, Jc); if (!a) return !1; let c = fr(a); return !c || !(c.flags & 16) ? !1 : !!Ld(Gd(c), u => u.flags & 111551 && u.valueDeclaration && br(u.valueDeclaration)) } function art(n) { let a = ea(n, Jc); if (!a) return Je; let c = fr(a); return c && Jo(zn(c)) || Je } function sA(n) { var a; let c = n.id || 0; return c < 0 || c >= Ib.length ? 0 : ((a = Ib[c]) == null ? void 0 : a.flags) || 0 } function xU(n) { return OLe(n.parent), Rr(n).enumMemberValue } function tke(n) { switch (n.kind) { case 302: case 208: case 209: return !0 }return !1 } function zie(n) { if (n.kind === 302) return xU(n); let a = Rr(n).resolvedSymbol; if (a && a.flags & 8) { let c = a.valueDeclaration; if (R0(c.parent)) return xU(c) } } function Jie(n) { return !!(n.flags & 524288) && xa(n, 0).length > 0 } function ort(n, a) { var c; let u = ea(n, Cd); if (!u || a && (a = ea(a), !a)) return 0; let p = !1; if (Yu(u)) { let H = uc(Yd(u), 111551, !0, !0, a); p = !!((c = H?.declarations) != null && c.every(I0)) } let h = uc(u, 111551, !0, !0, a), T = h && h.flags & 2097152 ? wc(h) : h; p || (p = !!(h && nd(h, 111551))); let k = uc(u, 788968, !0, !1, a); if (T && T === k) { let H = _ne(!1); if (H && T === H) return 9; let J = zn(T); if (J && Uv(J)) return p ? 10 : 1 } if (!k) return p ? 11 : 0; let O = gs(k); return Ro(O) ? p ? 11 : 0 : O.flags & 3 ? 11 : ul(O, 245760) ? 2 : ul(O, 528) ? 6 : ul(O, 296) ? 3 : ul(O, 2112) ? 4 : ul(O, 402653316) ? 5 : po(O) ? 7 : ul(O, 12288) ? 8 : Jie(O) ? 10 : _f(O) ? 7 : 11 } function srt(n, a, c, u, p) { let h = ea(n, Qse); if (!h) return D.createToken(131); let T = fr(h), k = T && !(T.flags & 133120) ? i0(zn(T)) : ve; return k.flags & 8192 && k.symbol === T && (c |= 1048576), p && (k = gg(k)), Be.typeToTypeNode(k, a, c | 1024, u) } function crt(n, a, c, u) { let p = ea(n, Ia); if (!p) return D.createToken(131); let h = ip(p); return Be.typeToTypeNode(qo(h), a, c | 1024, u) } function lrt(n, a, c, u) { let p = ea(n, ot); if (!p) return D.createToken(131); let h = Sd(KLe(p)); return Be.typeToTypeNode(h, a, c | 1024, u) } function urt(n) { return Ne.has(Bs(n)) } function i8(n, a) { let c = Rr(n).resolvedSymbol; if (c) return c; let u = n; if (a) { let p = n.parent; Kl(p) && n === p.name && (u = FE(p)) } return zs(u, n.escapedText, 3257279, void 0, void 0, !0) } function drt(n) { let a = Rr(n).resolvedSymbol; return a && a !== Ht ? a : zs(n, n.escapedText, 3257279, void 0, void 0, !0, void 0, void 0) } function frt(n) { if (!tc(n)) { let a = ea(n, Re); if (a) { let c = i8(a); if (c) return tp(c).valueDeclaration } } } function _rt(n) { return x6(n) || wi(n) && kh(n) ? t0(zn(fr(n))) : !1 } function prt(n, a, c) { let u = n.flags & 1056 ? Be.symbolToExpression(n.symbol, 111551, a, void 0, c) : n === pe ? D.createTrue() : n === Ke && D.createFalse(); if (u) return u; let p = n.value; return typeof p == "object" ? D.createBigIntLiteral(p) : typeof p == "number" ? D.createNumericLiteral(p) : D.createStringLiteral(p) } function mrt(n, a) { let c = zn(fr(n)); return prt(c, n, a) } function nke(n) { return n ? (Rb(n), Gn(n).localJsxFactory || Kh) : Kh } function Kie(n) { if (n) { let a = Gn(n); if (a) { if (a.localJsxFragmentFactory) return a.localJsxFragmentFactory; let c = a.pragmas.get("jsxfrag"), u = ba(c) ? c[0] : c; if (u) return a.localJsxFragmentFactory = zS(u.arguments.factory, R), a.localJsxFragmentFactory } } if (Y.jsxFragmentFactory) return zS(Y.jsxFragmentFactory, R) } function hrt() { let n = e.getResolvedTypeReferenceDirectives(), a; return n && (a = new Map, n.forEach(({ resolvedTypeReferenceDirective: O }, H, J) => { if (!O?.resolvedFileName) return; let de = e.getSourceFile(O.resolvedFileName); de && k(de, H, J) })), { getReferencedExportContainer: $nt, getReferencedImportDeclaration: Qnt, getReferencedDeclarationWithCollidingName: ert, isDeclarationWithCollidingName: trt, isValueAliasDeclaration: O => { let H = ea(O); return H ? QLe(H) : !0 }, hasGlobalName: urt, isReferencedAliasDeclaration: (O, H) => { let J = ea(O); return J ? SU(J, H) : !0 }, getNodeCheckFlags: O => { let H = ea(O); return H ? sA(H) : 0 }, isTopLevelValueImportEqualsWithEntityName: nrt, isDeclarationVisible: Xf, isImplementationOfOverload: ZLe, isRequiredInitializedParameter: eke, isOptionalUninitializedParameterProperty: rrt, isExpandoFunctionDeclaration: irt, getPropertiesOfContainerFunction: art, createTypeOfDeclaration: srt, createReturnTypeOfSignatureDeclaration: crt, createTypeOfExpression: lrt, createLiteralConstValue: mrt, isSymbolAccessible: dy, isEntityNameVisible: Nx, getConstantValue: O => { let H = ea(O, tke); return H ? zie(H) : void 0 }, collectLinkedAliases: ME, getReferencedValueDeclaration: frt, getTypeReferenceSerializationKind: ort, isOptionalParameter: Qk, moduleExportsSomeValue: Xnt, isArgumentsLocalBinding: qnt, getExternalModuleFileFromDeclaration: O => { let H = ea(O, zse); return H && qie(H) }, getTypeReferenceDirectivesForEntityName: p, getTypeReferenceDirectivesForSymbol: h, isLiteralConstDeclaration: _rt, isLateBound: O => { let H = ea(O, Kl), J = H && fr(H); return !!(J && ac(J) & 4096) }, getJsxFactoryEntity: nke, getJsxFragmentFactoryEntity: Kie, getAllAccessorDeclarations(O) { O = ea(O, t6); let H = O.kind === 175 ? 174 : 175, J = nc(fr(O), H), de = J && J.pos < O.pos ? J : O, Ae = J && J.pos < O.pos ? O : J, xe = O.kind === 175 ? O : J, tt = O.kind === 174 ? O : J; return { firstAccessor: de, secondAccessor: Ae, setAccessor: xe, getAccessor: tt } }, getSymbolOfExternalModuleSpecifier: O => ah(O, O, void 0), isBindingCapturedByNode: (O, H) => { let J = ea(O), de = ea(H); return !!J && !!de && (wi(de) || Wo(de)) && zYe(J, de) }, getDeclarationStatementsForSourceFile: (O, H, J, de) => { let Ae = ea(O); L.assert(Ae && Ae.kind === 308, "Non-sourcefile node passed into getDeclarationsForSourceFile"); let xe = fr(O); return xe ? xe.exports ? Be.symbolTableToDeclarationStatements(xe.exports, O, H, J, de) : [] : O.locals ? Be.symbolTableToDeclarationStatements(O.locals, O, H, J, de) : [] }, isImportRequiredByAugmentation: c }; function c(O) { let H = Gn(O); if (!H.symbol) return !1; let J = qie(O); if (!J || J === H) return !1; let de = sh(H.symbol); for (let Ae of lo(de.values())) if (Ae.mergeId) { let xe = No(Ae); if (xe.declarations) { for (let tt of xe.declarations) if (Gn(tt) === J) return !0 } } return !1 } function u(O) { return O.parent && O.parent.kind === 230 && O.parent.parent && O.parent.parent.kind === 294 } function p(O) { if (!a) return; let H; O.parent.kind === 164 ? H = 1160127 : (H = 790504, (O.kind === 79 && kC(O) || O.kind === 208 && !u(O)) && (H = 1160127)); let J = uc(O, H, !0); return J && J !== Ht ? h(J, H) : void 0 } function h(O, H) { if (!a || !T(O)) return; let J; for (let de of O.declarations) if (de.symbol && de.symbol.flags & H) { let Ae = Gn(de), xe = a.get(Ae.path); if (xe) (J || (J = [])).push(xe); else return } return J } function T(O) { if (!O.declarations) return !1; let H = O; for (; ;) { let J = ju(H); if (J) H = J; else break } if (H.valueDeclaration && H.valueDeclaration.kind === 308 && H.flags & 512) return !1; for (let J of O.declarations) { let de = Gn(J); if (a.has(de.path)) return !0 } return !1 } function k(O, H, J) { if (!a.has(O.path)) { a.set(O.path, [H, J]); for (let { fileName: de, resolutionMode: Ae } of O.referencedFiles) { let xe = wF(de, O.fileName), tt = e.getSourceFile(xe); tt && k(tt, H, Ae || O.impliedNodeFormat) } } } } function qie(n) { let a = n.kind === 264 ? zr(n.name, yo) : UA(n), c = ah(a, a, void 0); if (c) return nc(c, 308) } function grt() { for (let a of e.getSourceFiles()) c_e(a, Y); pr = new Map; let n; for (let a of e.getSourceFiles()) if (!a.redirectInfo) { if (!kd(a)) { let c = a.locals.get("globalThis"); if (c?.declarations) for (let u of c.declarations) Lo.add(hr(u, _.Declaration_name_conflicts_with_built_in_global_identifier_0, "globalThis")); ll(Ne, a.locals) } a.jsGlobalAugmentations && ll(Ne, a.jsGlobalAugmentations), a.patternAmbientModules && a.patternAmbientModules.length && (Ka = Qi(Ka, a.patternAmbientModules)), a.moduleAugmentations.length && (n || (n = [])).push(a.moduleAugmentations), a.symbol && a.symbol.globalExports && a.symbol.globalExports.forEach((u, p) => { Ne.has(p) || Ne.set(p, u) }) } if (n) for (let a of n) for (let c of a) mp(c.parent) && y1(c); if (lC(Ne, Db, _.Declaration_name_conflicts_with_built_in_global_identifier_0), Ai(Le).type = je, Ai(_t).type = Fc("IArguments", 0, !0), Ai(Ht).type = ve, Ai(Ye).type = Bd(16, Ye), $o = Fc("Array", 1, !0), ka = Fc("Object", 0, !0), Hs = Fc("Function", 0, !0), Uc = le && Fc("CallableFunction", 0, !0) || Hs, Gu = le && Fc("NewableFunction", 0, !0) || Hs, Ws = Fc("String", 0, !0), hd = Fc("Number", 0, !0), vc = Fc("Boolean", 0, !0), nf = Fc("RegExp", 0, !0), Et = nu(Se), bn = nu(at), bn === Ki && (bn = ls(void 0, q, Je, Je, Je)), jo = oAe("ReadonlyArray", 1) || $o, Ri = jo ? rD(jo, [Se]) : Et, ye = oAe("ThisType", 1), n) for (let a of n) for (let c of a) mp(c.parent) || y1(c); pr.forEach(({ firstFile: a, secondFile: c, conflictingSymbols: u }) => { if (u.size < 8) u.forEach(({ isBlockScoped: p, firstFileLocations: h, secondFileLocations: T }, k) => { let O = p ? _.Cannot_redeclare_block_scoped_variable_0 : _.Duplicate_identifier_0; for (let H of h) Ml(H, O, k, T); for (let H of T) Ml(H, O, k, h) }); else { let p = lo(u.keys()).join(", "); Lo.add(Ao(hr(a, _.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0, p), hr(c, _.Conflicts_are_in_this_file))), Lo.add(Ao(hr(c, _.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0, p), hr(a, _.Conflicts_are_in_this_file))) } }), pr = void 0 } function Hc(n, a) { if ((l & a) !== a && Y.importHelpers) { let c = Gn(n); if (aS(c, Y) && !(n.flags & 16777216)) { let u = vrt(c, n); if (u !== Ht) { let p = a & ~l; for (let h = 1; h <= 16777216; h <<= 1)if (p & h) for (let T of yrt(h)) { if (s.has(T)) continue; s.add(T); let k = yd(u.exports, Bs(T), 111551); k ? h & 524288 ? vt(Xb(k), O => xd(O) > 3) || Fe(n, _.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, _b, T, 4) : h & 1048576 ? vt(Xb(k), O => xd(O) > 4) || Fe(n, _.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, _b, T, 5) : h & 1024 && (vt(Xb(k), O => xd(O) > 2) || Fe(n, _.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, _b, T, 3)) : Fe(n, _.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, _b, T) } } l |= a } } } function yrt(n) { switch (n) { case 1: return ["__extends"]; case 2: return ["__assign"]; case 4: return ["__rest"]; case 8: return $ ? ["__decorate"] : ["__esDecorate", "__runInitializers"]; case 16: return ["__metadata"]; case 32: return ["__param"]; case 64: return ["__awaiter"]; case 128: return ["__generator"]; case 256: return ["__values"]; case 512: return ["__read"]; case 1024: return ["__spreadArray"]; case 2048: return ["__await"]; case 4096: return ["__asyncGenerator"]; case 8192: return ["__asyncDelegator"]; case 16384: return ["__asyncValues"]; case 32768: return ["__exportStar"]; case 65536: return ["__importStar"]; case 131072: return ["__importDefault"]; case 262144: return ["__makeTemplateObject"]; case 524288: return ["__classPrivateFieldGet"]; case 1048576: return ["__classPrivateFieldSet"]; case 2097152: return ["__classPrivateFieldIn"]; case 4194304: return ["__createBinding"]; case 8388608: return ["__setFunctionName"]; case 16777216: return ["__propKey"]; default: return L.fail("Unrecognized helper") } } function vrt(n, a) { return f || (f = qc(n, _b, _.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found, a) || Ht), f } function km(n) { let a = Trt(n) || brt(n); if (a !== void 0) return a; if (ha(n) && G0(n)) return dl(n, _.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters); let c, u, p, h, T, k = 0, O = !1, H = !1; for (let J of n.modifiers) if (du(J)) { if (M6($, n, n.parent, n.parent.parent)) { if ($ && (n.kind === 174 || n.kind === 175)) { let de = kT(n.parent.members, n); if (bf(de.firstAccessor) && n === de.secondAccessor) return dl(n, _.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name) } } else return n.kind === 171 && !Pf(n.body) ? dl(n, _.A_decorator_can_only_decorate_a_method_implementation_not_an_overload) : dl(n, _.Decorators_are_not_valid_here); if (k & -132098) return an(J, _.Decorators_are_not_valid_here); if (H && k & 126975) { L.assertIsDefined(T); let de = Gn(J); return l0(de) ? !1 : (Ao(Fe(J, _.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export), hr(T, _.Decorator_used_before_export_here)), !0) } k |= 131072, k & 126975 ? k & 1 && (O = !0) : H = !0, T ?? (T = J) } else { if (J.kind !== 146) { if (n.kind === 168 || n.kind === 170) return an(J, _._0_modifier_cannot_appear_on_a_type_member, Xa(J.kind)); if (n.kind === 178 && (J.kind !== 124 || !Yr(n.parent))) return an(J, _._0_modifier_cannot_appear_on_an_index_signature, Xa(J.kind)) } if (J.kind !== 101 && J.kind !== 145 && J.kind !== 85 && n.kind === 165) return an(J, _._0_modifier_cannot_appear_on_a_type_parameter, Xa(J.kind)); switch (J.kind) { case 85: if (n.kind !== 263 && n.kind !== 165) return an(n, _.A_class_member_cannot_have_the_0_keyword, Xa(85)); let de = n.parent; if (n.kind === 165 && !(Ds(de) || Yr(de) || Jm(de) || yL(de) || _2(de) || uO(de) || zm(de))) return an(J, _._0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class, Xa(J.kind)); break; case 161: if (k & 16384) return an(J, _._0_modifier_already_seen, "override"); if (k & 2) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "override", "declare"); if (k & 64) return an(J, _._0_modifier_must_precede_1_modifier, "override", "readonly"); if (k & 128) return an(J, _._0_modifier_must_precede_1_modifier, "override", "accessor"); if (k & 512) return an(J, _._0_modifier_must_precede_1_modifier, "override", "async"); k |= 16384, h = J; break; case 123: case 122: case 121: let Ae = Ud(gS(J.kind)); if (k & 28) return an(J, _.Accessibility_modifier_already_seen); if (k & 16384) return an(J, _._0_modifier_must_precede_1_modifier, Ae, "override"); if (k & 32) return an(J, _._0_modifier_must_precede_1_modifier, Ae, "static"); if (k & 128) return an(J, _._0_modifier_must_precede_1_modifier, Ae, "accessor"); if (k & 64) return an(J, _._0_modifier_must_precede_1_modifier, Ae, "readonly"); if (k & 512) return an(J, _._0_modifier_must_precede_1_modifier, Ae, "async"); if (n.parent.kind === 265 || n.parent.kind === 308) return an(J, _._0_modifier_cannot_appear_on_a_module_or_namespace_element, Ae); if (k & 256) return J.kind === 121 ? an(J, _._0_modifier_cannot_be_used_with_1_modifier, Ae, "abstract") : an(J, _._0_modifier_must_precede_1_modifier, Ae, "abstract"); if (xu(n)) return an(J, _.An_accessibility_modifier_cannot_be_used_with_a_private_identifier); k |= gS(J.kind); break; case 124: if (k & 32) return an(J, _._0_modifier_already_seen, "static"); if (k & 64) return an(J, _._0_modifier_must_precede_1_modifier, "static", "readonly"); if (k & 512) return an(J, _._0_modifier_must_precede_1_modifier, "static", "async"); if (k & 128) return an(J, _._0_modifier_must_precede_1_modifier, "static", "accessor"); if (n.parent.kind === 265 || n.parent.kind === 308) return an(J, _._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); if (n.kind === 166) return an(J, _._0_modifier_cannot_appear_on_a_parameter, "static"); if (k & 256) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); if (k & 16384) return an(J, _._0_modifier_must_precede_1_modifier, "static", "override"); k |= 32, c = J; break; case 127: if (k & 128) return an(J, _._0_modifier_already_seen, "accessor"); if (k & 64) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "accessor", "readonly"); if (k & 2) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "accessor", "declare"); if (n.kind !== 169) return an(J, _.accessor_modifier_can_only_appear_on_a_property_declaration); k |= 128; break; case 146: if (k & 64) return an(J, _._0_modifier_already_seen, "readonly"); if (n.kind !== 169 && n.kind !== 168 && n.kind !== 178 && n.kind !== 166) return an(J, _.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); if (k & 128) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "readonly", "accessor"); k |= 64; break; case 93: if (Y.verbatimModuleSyntax && !(n.flags & 16777216) && n.kind !== 262 && n.kind !== 261 && n.kind !== 264 && n.parent.kind === 308 && (ie === 1 || Gn(n).impliedNodeFormat === 1)) return an(J, _.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled); if (k & 1) return an(J, _._0_modifier_already_seen, "export"); if (k & 2) return an(J, _._0_modifier_must_precede_1_modifier, "export", "declare"); if (k & 256) return an(J, _._0_modifier_must_precede_1_modifier, "export", "abstract"); if (k & 512) return an(J, _._0_modifier_must_precede_1_modifier, "export", "async"); if (Yr(n.parent)) return an(J, _._0_modifier_cannot_appear_on_class_elements_of_this_kind, "export"); if (n.kind === 166) return an(J, _._0_modifier_cannot_appear_on_a_parameter, "export"); k |= 1; break; case 88: let xe = n.parent.kind === 308 ? n.parent : n.parent.parent; if (xe.kind === 264 && !lu(xe)) return an(J, _.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); if (k & 1) { if (O) return an(T, _.Decorators_are_not_valid_here) } else return an(J, _._0_modifier_must_precede_1_modifier, "export", "default"); k |= 1024; break; case 136: if (k & 2) return an(J, _._0_modifier_already_seen, "declare"); if (k & 512) return an(J, _._0_modifier_cannot_be_used_in_an_ambient_context, "async"); if (k & 16384) return an(J, _._0_modifier_cannot_be_used_in_an_ambient_context, "override"); if (Yr(n.parent) && !Na(n)) return an(J, _._0_modifier_cannot_appear_on_class_elements_of_this_kind, "declare"); if (n.kind === 166) return an(J, _._0_modifier_cannot_appear_on_a_parameter, "declare"); if (n.parent.flags & 16777216 && n.parent.kind === 265) return an(J, _.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); if (xu(n)) return an(J, _._0_modifier_cannot_be_used_with_a_private_identifier, "declare"); if (k & 128) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "declare", "accessor"); k |= 2, u = J; break; case 126: if (k & 256) return an(J, _._0_modifier_already_seen, "abstract"); if (n.kind !== 260 && n.kind !== 182) { if (n.kind !== 171 && n.kind !== 169 && n.kind !== 174 && n.kind !== 175) return an(J, _.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); if (!(n.parent.kind === 260 && Mr(n.parent, 256))) return an(J, _.Abstract_methods_can_only_appear_within_an_abstract_class); if (k & 32) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); if (k & 8) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "private", "abstract"); if (k & 512 && p) return an(p, _._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract"); if (k & 16384) return an(J, _._0_modifier_must_precede_1_modifier, "abstract", "override"); if (k & 128) return an(J, _._0_modifier_must_precede_1_modifier, "abstract", "accessor") } if (zl(n) && n.name.kind === 80) return an(J, _._0_modifier_cannot_be_used_with_a_private_identifier, "abstract"); k |= 256; break; case 132: if (k & 512) return an(J, _._0_modifier_already_seen, "async"); if (k & 2 || n.parent.flags & 16777216) return an(J, _._0_modifier_cannot_be_used_in_an_ambient_context, "async"); if (n.kind === 166) return an(J, _._0_modifier_cannot_appear_on_a_parameter, "async"); if (k & 256) return an(J, _._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract"); k |= 512, p = J; break; case 101: case 145: let tt = J.kind === 101 ? 32768 : 65536, It = J.kind === 101 ? "in" : "out"; if (n.kind !== 165 || !(ku(n.parent) || Yr(n.parent) || Ep(n.parent))) return an(J, _._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias, It); if (k & tt) return an(J, _._0_modifier_already_seen, It); if (tt & 32768 && k & 65536) return an(J, _._0_modifier_must_precede_1_modifier, "in", "out"); k |= tt; break } } return n.kind === 173 ? k & 32 ? an(c, _._0_modifier_cannot_appear_on_a_constructor_declaration, "static") : k & 16384 ? an(h, _._0_modifier_cannot_appear_on_a_constructor_declaration, "override") : k & 512 ? an(p, _._0_modifier_cannot_appear_on_a_constructor_declaration, "async") : !1 : (n.kind === 269 || n.kind === 268) && k & 2 ? an(u, _.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare") : n.kind === 166 && k & 16476 && La(n.name) ? an(n, _.A_parameter_property_may_not_be_declared_using_a_binding_pattern) : n.kind === 166 && k & 16476 && n.dotDotDotToken ? an(n, _.A_parameter_property_cannot_be_declared_using_a_rest_parameter) : k & 512 ? xrt(n, p) : !1 } function brt(n) { if (!n.modifiers) return !1; let a = Ert(n); return a && dl(a, _.Modifiers_cannot_appear_here) } function Xie(n, a) { let c = wr(n.modifiers, Ha); return c && c.kind !== a ? c : void 0 } function Ert(n) { switch (n.kind) { case 174: case 175: case 173: case 169: case 168: case 171: case 170: case 178: case 264: case 269: case 268: case 275: case 274: case 215: case 216: case 166: case 165: return; case 172: case 299: case 300: case 267: case 279: return wr(n.modifiers, Ha); default: if (n.parent.kind === 265 || n.parent.kind === 308) return; switch (n.kind) { case 259: return Xie(n, 132); case 260: case 182: return Xie(n, 126); case 228: case 261: case 240: case 262: return wr(n.modifiers, Ha); case 263: return Xie(n, 85); default: L.assertNever(n) } } } function Trt(n) { let a = Srt(n); return a && dl(a, _.Decorators_are_not_valid_here) } function Srt(n) { return aJ(n) ? wr(n.modifiers, du) : void 0 } function xrt(n, a) { switch (n.kind) { case 171: case 259: case 215: case 216: return !1 }return an(a, _._0_modifier_cannot_be_used_here, "async") } function B1(n, a = _.Trailing_comma_not_allowed) { return n && n.hasTrailingComma ? u0(n[0], n.end - 1, 1, a) : !1 } function rke(n, a) { if (n && n.length === 0) { let c = n.pos - 1, u = xo(a.text, n.end) + 1; return u0(a, c, u - c, _.Type_parameter_list_cannot_be_empty) } return !1 } function Art(n) { let a = !1, c = n.length; for (let u = 0; u < c; u++) { let p = n[u]; if (p.dotDotDotToken) { if (u !== c - 1) return an(p.dotDotDotToken, _.A_rest_parameter_must_be_last_in_a_parameter_list); if (p.flags & 16777216 || B1(n, _.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), p.questionToken) return an(p.questionToken, _.A_rest_parameter_cannot_be_optional); if (p.initializer) return an(p.name, _.A_rest_parameter_cannot_have_an_initializer) } else if (Qk(p)) { if (a = !0, p.questionToken && p.initializer) return an(p.name, _.Parameter_cannot_have_question_mark_and_initializer) } else if (a && !p.initializer) return an(p.name, _.A_required_parameter_cannot_follow_an_optional_parameter) } } function Crt(n) { return Pr(n, a => !!a.initializer || La(a.name) || Fm(a)) } function Irt(n) { if (R >= 3) { let a = n.body && Va(n.body) && tJ(n.body.statements); if (a) { let c = Crt(n.parameters); if (Fn(c)) { mn(c, p => { Ao(Fe(p, _.This_parameter_is_not_allowed_with_use_strict_directive), hr(a, _.use_strict_directive_used_here)) }); let u = c.map((p, h) => h === 0 ? hr(p, _.Non_simple_parameter_declared_here) : hr(p, _.and_here)); return Ao(Fe(a, _.use_strict_directive_cannot_be_used_with_non_simple_parameter_list), ...u), !0 } } } return !1 } function AU(n) { let a = Gn(n); return km(n) || rke(n.typeParameters, a) || Art(n.parameters) || krt(n, a) || Ds(n) && Irt(n) } function Lrt(n) { let a = Gn(n); return Nrt(n) || rke(n.typeParameters, a) } function krt(n, a) { if (!xs(n)) return !1; n.typeParameters && !(Fn(n.typeParameters) > 1 || n.typeParameters.hasTrailingComma || n.typeParameters[0].constraint) && a && $c(a.fileName, [".mts", ".cts"]) && an(n.typeParameters[0], _.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint); let { equalsGreaterThanToken: c } = n, u = Gs(a, c.pos).line, p = Gs(a, c.end).line; return u !== p && an(c, _.Line_terminator_not_permitted_before_arrow) } function Drt(n) { let a = n.parameters[0]; if (n.parameters.length !== 1) return an(a ? a.name : n, _.An_index_signature_must_have_exactly_one_parameter); if (B1(n.parameters, _.An_index_signature_cannot_have_a_trailing_comma), a.dotDotDotToken) return an(a.dotDotDotToken, _.An_index_signature_cannot_have_a_rest_parameter); if (n4(a)) return an(a.name, _.An_index_signature_parameter_cannot_have_an_accessibility_modifier); if (a.questionToken) return an(a.questionToken, _.An_index_signature_parameter_cannot_have_a_question_mark); if (a.initializer) return an(a.name, _.An_index_signature_parameter_cannot_have_an_initializer); if (!a.type) return an(a.name, _.An_index_signature_parameter_must_have_a_type_annotation); let c = $r(a.type); return yh(c, u => !!(u.flags & 8576)) || SC(c) ? an(a.name, _.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead) : Im(c, KG) ? n.type ? !1 : an(n, _.An_index_signature_must_have_a_type_annotation) : an(a.name, _.An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type) } function wrt(n) { return km(n) || Drt(n) } function Rrt(n, a) { if (a && a.length === 0) { let c = Gn(n), u = a.pos - 1, p = xo(c.text, a.end) + 1; return u0(c, u, p - u, _.Type_argument_list_cannot_be_empty) } return !1 } function a8(n, a) { return B1(a) || Rrt(n, a) } function Ort(n) { return n.questionDotToken || n.flags & 32 ? an(n.template, _.Tagged_template_expressions_are_not_permitted_in_an_optional_chain) : !1 } function ike(n) { let a = n.types; if (B1(a)) return !0; if (a && a.length === 0) { let c = Xa(n.token); return u0(n, a.pos, 0, _._0_list_cannot_be_empty, c) } return vt(a, ake) } function ake(n) { return Vg(n) && gL(n.expression) && n.typeArguments ? an(n, _.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments) : a8(n, n.typeArguments) } function Nrt(n) { let a = !1, c = !1; if (!km(n) && n.heritageClauses) for (let u of n.heritageClauses) { if (u.token === 94) { if (a) return dl(u, _.extends_clause_already_seen); if (c) return dl(u, _.extends_clause_must_precede_implements_clause); if (u.types.length > 1) return dl(u.types[1], _.Classes_can_only_extend_a_single_class); a = !0 } else { if (L.assert(u.token === 117), c) return dl(u, _.implements_clause_already_seen); c = !0 } ike(u) } } function Prt(n) { let a = !1; if (n.heritageClauses) for (let c of n.heritageClauses) { if (c.token === 94) { if (a) return dl(c, _.extends_clause_already_seen); a = !0 } else return L.assert(c.token === 117), dl(c, _.Interface_declaration_cannot_have_implements_clause); ike(c) } return !1 } function CU(n) { if (n.kind !== 164) return !1; let a = n; return a.expression.kind === 223 && a.expression.operatorToken.kind === 27 ? an(a.expression, _.A_comma_expression_is_not_allowed_in_a_computed_property_name) : !1 } function Yie(n) { if (n.asteriskToken) { if (L.assert(n.kind === 259 || n.kind === 215 || n.kind === 171), n.flags & 16777216) return an(n.asteriskToken, _.Generators_are_not_allowed_in_an_ambient_context); if (!n.body) return an(n.asteriskToken, _.An_overload_signature_cannot_be_declared_as_a_generator) } } function $ie(n, a) { return !!n && an(n, a) } function oke(n, a) { return !!n && an(n, a) } function Mrt(n, a) { let c = new Map; for (let u of n.properties) { if (u.kind === 301) { if (a) { let T = vs(u.expression); if (fu(T) || rs(T)) return an(u.expression, _.A_rest_element_cannot_contain_a_binding_pattern) } continue } let p = u.name; if (p.kind === 164 && CU(p), u.kind === 300 && !a && u.objectAssignmentInitializer && an(u.equalsToken, _.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern), p.kind === 80 && an(p, _.Private_identifiers_are_not_allowed_outside_class_bodies), g_(u) && u.modifiers) for (let T of u.modifiers) Ha(T) && (T.kind !== 132 || u.kind !== 171) && an(T, _._0_modifier_cannot_be_used_here, Qc(T)); else if (cde(u) && u.modifiers) for (let T of u.modifiers) Ha(T) && an(T, _._0_modifier_cannot_be_used_here, Qc(T)); let h; switch (u.kind) { case 300: case 299: oke(u.exclamationToken, _.A_definite_assignment_assertion_is_not_permitted_in_this_context), $ie(u.questionToken, _.An_object_member_cannot_be_declared_optional), p.kind === 8 && eae(p), h = 4; break; case 171: h = 8; break; case 174: h = 1; break; case 175: h = 2; break; default: throw L.assertNever(u, "Unexpected syntax kind:" + u.kind) }if (!a) { let T = M0(p); if (T === void 0) continue; let k = c.get(T); if (!k) c.set(T, h); else if (h & 8 && k & 8) an(p, _.Duplicate_identifier_0, Qc(p)); else if (h & 4 && k & 4) an(p, _.An_object_literal_cannot_have_multiple_properties_with_the_same_name, Qc(p)); else if (h & 3 && k & 3) if (k !== 3 && h !== k) c.set(T, h | k); else return an(p, _.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name); else return an(p, _.An_object_literal_cannot_have_property_and_accessor_with_the_same_name) } } } function Frt(n) { Grt(n.tagName), a8(n, n.typeArguments); let a = new Map; for (let c of n.attributes.properties) { if (c.kind === 290) continue; let { name: u, initializer: p } = c; if (!a.get(u.escapedText)) a.set(u.escapedText, !0); else return an(u, _.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); if (p && p.kind === 291 && !p.expression) return an(p, _.JSX_attributes_must_only_be_assigned_a_non_empty_expression) } } function Grt(n) { if (br(n)) { let c = n; do { let p = a(c.name); if (p) return p; c = c.expression } while (br(c)); let u = a(c); if (u) return u } function a(c) { if (Re(c) && vr(c).indexOf(":") !== -1) return an(c, _.JSX_property_access_expressions_cannot_include_JSX_namespace_names) } } function Brt(n) { if (n.expression && wL(n.expression)) return an(n.expression, _.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array) } function ske(n) { if (vh(n)) return !0; if (n.kind === 247 && n.awaitModifier && !(n.flags & 32768)) { let a = Gn(n); if (O6(n)) { if (!l0(a)) switch (aS(a, Y) || Lo.add(hr(n.awaitModifier, _.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)), ie) { case 100: case 199: if (a.impliedNodeFormat === 1) { Lo.add(hr(n.awaitModifier, _.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)); break } case 7: case 99: case 4: if (R >= 4) break; default: Lo.add(hr(n.awaitModifier, _.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher)); break } } else if (!l0(a)) { let c = hr(n.awaitModifier, _.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules), u = Xd(n); if (u && u.kind !== 173) { L.assert((pl(u) & 2) === 0, "Enclosing function should never be an async function."); let p = hr(u, _.Did_you_mean_to_mark_this_function_as_async); Ao(c, p) } return Lo.add(c), !0 } return !1 } if (_O(n) && !(n.flags & 32768) && Re(n.initializer) && n.initializer.escapedText === "async") return an(n.initializer, _.The_left_hand_side_of_a_for_of_statement_may_not_be_async), !1; if (n.initializer.kind === 258) { let a = n.initializer; if (!Zie(a)) { let c = a.declarations; if (!c.length) return !1; if (c.length > 1) { let p = n.kind === 246 ? _.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : _.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return dl(a.declarations[1], p) } let u = c[0]; if (u.initializer) { let p = n.kind === 246 ? _.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : _.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return an(u.name, p) } if (u.type) { let p = n.kind === 246 ? _.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : _.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return an(u, p) } } } return !1 } function Urt(n) { if (!(n.flags & 16777216) && n.parent.kind !== 184 && n.parent.kind !== 261) { if (R < 1) return an(n.name, _.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); if (R < 2 && pi(n.name)) return an(n.name, _.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); if (n.body === void 0 && !Mr(n, 256)) return u0(n, n.end - 1, 1, _._0_expected, "{") } if (n.body) { if (Mr(n, 256)) return an(n, _.An_abstract_accessor_cannot_have_an_implementation); if (n.parent.kind === 184 || n.parent.kind === 261) return an(n.body, _.An_implementation_cannot_be_declared_in_ambient_contexts) } if (n.typeParameters) return an(n.name, _.An_accessor_cannot_have_type_parameters); if (!Vrt(n)) return an(n.name, n.kind === 174 ? _.A_get_accessor_cannot_have_parameters : _.A_set_accessor_must_have_exactly_one_parameter); if (n.kind === 175) { if (n.type) return an(n.name, _.A_set_accessor_cannot_have_a_return_type_annotation); let a = L.checkDefined(VI(n), "Return value does not match parameter count assertion."); if (a.dotDotDotToken) return an(a.dotDotDotToken, _.A_set_accessor_cannot_have_rest_parameter); if (a.questionToken) return an(a.questionToken, _.A_set_accessor_cannot_have_an_optional_parameter); if (a.initializer) return an(n.name, _.A_set_accessor_parameter_cannot_have_an_initializer) } return !1 } function Vrt(n) { return Qie(n) || n.parameters.length === (n.kind === 174 ? 0 : 1) } function Qie(n) { if (n.parameters.length === (n.kind === 174 ? 1 : 2)) return F0(n) } function jrt(n) { if (n.operator === 156) { if (n.type.kind !== 153) return an(n.type, _._0_expected, Xa(153)); let a = dR(n.parent); if (Yn(a) && UT(a)) { let c = dS(a); c && (a = HA(c) || c) } switch (a.kind) { case 257: let c = a; if (c.name.kind !== 79) return an(n, _.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); if (!L6(c)) return an(n, _.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement); if (!(c.parent.flags & 2)) return an(a.name, _.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); break; case 169: if (!Ca(a) || !jI(a)) return an(a.name, _.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); break; case 168: if (!Mr(a, 64)) return an(a.name, _.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); break; default: return an(n, _.unique_symbol_types_are_not_allowed_here) } } else if (n.operator === 146 && n.type.kind !== 185 && n.type.kind !== 186) return dl(n, _.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, Xa(153)) } function JC(n, a) { if (hJe(n)) return an(n, a) } function cke(n) { if (AU(n)) return !0; if (n.kind === 171) { if (n.parent.kind === 207) { if (n.modifiers && !(n.modifiers.length === 1 && Vo(n.modifiers).kind === 132)) return dl(n, _.Modifiers_cannot_appear_here); if ($ie(n.questionToken, _.An_object_member_cannot_be_declared_optional)) return !0; if (oke(n.exclamationToken, _.A_definite_assignment_assertion_is_not_permitted_in_this_context)) return !0; if (n.body === void 0) return u0(n, n.end - 1, 1, _._0_expected, "{") } if (Yie(n)) return !0 } if (Yr(n.parent)) { if (R < 2 && pi(n.name)) return an(n.name, _.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); if (n.flags & 16777216) return JC(n.name, _.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); if (n.kind === 171 && !n.body) return JC(n.name, _.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type) } else { if (n.parent.kind === 261) return JC(n.name, _.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); if (n.parent.kind === 184) return JC(n.name, _.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type) } } function Hrt(n) { let a = n; for (; a;) { if (SA(a)) return an(n, _.Jump_target_cannot_cross_function_boundary); switch (a.kind) { case 253: if (n.label && a.label.escapedText === n.label.escapedText) return n.kind === 248 && !Wy(a.statement, !0) ? an(n, _.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement) : !1; break; case 252: if (n.kind === 249 && !n.label) return !1; break; default: if (Wy(a, !1) && !n.label) return !1; break }a = a.parent } if (n.label) { let c = n.kind === 249 ? _.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : _.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return an(n, c) } else { let c = n.kind === 249 ? _.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : _.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return an(n, c) } } function Wrt(n) { if (n.dotDotDotToken) { let a = n.parent.elements; if (n !== To(a)) return an(n, _.A_rest_element_must_be_last_in_a_destructuring_pattern); if (B1(a, _.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), n.propertyName) return an(n.name, _.A_rest_element_cannot_have_a_property_name) } if (n.dotDotDotToken && n.initializer) return u0(n, n.initializer.pos - 1, 1, _.A_rest_element_cannot_have_an_initializer) } function lke(n) { return yf(n) || n.kind === 221 && n.operator === 40 && n.operand.kind === 8 } function zrt(n) { return n.kind === 9 || n.kind === 221 && n.operator === 40 && n.operand.kind === 9 } function Jrt(n) { if ((br(n) || Vs(n) && lke(n.argumentExpression)) && bc(n.expression)) return !!(Ic(n).flags & 1056) } function uke(n) { let a = n.initializer; if (a) { let c = !(lke(a) || Jrt(a) || a.kind === 110 || a.kind === 95 || zrt(a)); if ((x6(n) || wi(n) && kh(n)) && !n.type) { if (c) return an(a, _.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference) } else return an(a, _.Initializers_are_not_allowed_in_ambient_contexts) } } function Krt(n) { if (n.parent.parent.kind !== 246 && n.parent.parent.kind !== 247) { if (n.flags & 16777216) uke(n); else if (!n.initializer) { if (La(n.name) && !La(n.parent)) return an(n, _.A_destructuring_declaration_must_have_an_initializer); if (kh(n)) return an(n, _.const_declarations_must_be_initialized) } } if (n.exclamationToken && (n.parent.parent.kind !== 240 || !n.type || n.initializer || n.flags & 16777216)) { let c = n.initializer ? _.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : n.type ? _.A_definite_assignment_assertion_is_not_permitted_in_this_context : _.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations; return an(n.exclamationToken, c) } return (ie < 5 || Gn(n).impliedNodeFormat === 1) && ie !== 4 && !(n.parent.parent.flags & 16777216) && Mr(n.parent.parent, 1) && dke(n.name), (II(n) || kh(n)) && fke(n.name) } function dke(n) { if (n.kind === 79) { if (vr(n) === "__esModule") return Yrt("noEmit", n, _.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules) } else { let a = n.elements; for (let c of a) if (!ol(c)) return dke(c.name) } return !1 } function fke(n) { if (n.kind === 79) { if (n.escapedText === "let") return an(n, _.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations) } else { let a = n.elements; for (let c of a) ol(c) || fke(c.name) } return !1 } function Zie(n) { let a = n.declarations; return B1(n.declarations) ? !0 : n.declarations.length ? !1 : u0(n, a.pos, a.end - a.pos, _.Variable_declaration_list_cannot_be_empty) } function _ke(n) { switch (n.kind) { case 242: case 243: case 244: case 251: case 245: case 246: case 247: return !1; case 253: return _ke(n.parent) }return !0 } function qrt(n) { if (!_ke(n.parent)) { if (II(n.declarationList)) return an(n, _.let_declarations_can_only_be_declared_inside_a_block); if (kh(n.declarationList)) return an(n, _.const_declarations_can_only_be_declared_inside_a_block) } } function Xrt(n) { let a = n.name.escapedText; switch (n.keywordToken) { case 103: if (a !== "target") return an(n.name, _._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, n.name.escapedText, Xa(n.keywordToken), "target"); break; case 100: if (a !== "meta") return an(n.name, _._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, n.name.escapedText, Xa(n.keywordToken), "meta"); break } } function l0(n) { return n.parseDiagnostics.length > 0 } function dl(n, a, c, u, p) { let h = Gn(n); if (!l0(h)) { let T = Pg(h, n.pos); return Lo.add(al(h, T.start, T.length, a, c, u, p)), !0 } return !1 } function u0(n, a, c, u, p, h, T) { let k = Gn(n); return l0(k) ? !1 : (Lo.add(al(k, a, c, u, p, h, T)), !0) } function Yrt(n, a, c, u, p, h) { let T = Gn(a); return l0(T) ? !1 : (Ev(n, a, c, u, p, h), !0) } function an(n, a, c, u, p) { let h = Gn(n); return l0(h) ? !1 : (Lo.add(hr(n, a, c, u, p)), !0) } function $rt(n) { let a = Yn(n) ? t4(n) : void 0, c = n.typeParameters || a && Sl(a); if (c) { let u = c.pos === c.end ? c.pos : xo(Gn(n).text, c.pos); return u0(n, u, c.end - u, _.Type_parameters_cannot_appear_on_a_constructor_declaration) } } function Qrt(n) { let a = n.type || U_(n); if (a) return an(a, _.Type_annotation_cannot_appear_on_a_constructor_declaration) } function Zrt(n) { if (ts(n.name) && ar(n.name.expression) && n.name.expression.operatorToken.kind === 101) return an(n.parent.members[0], _.A_mapped_type_may_not_declare_properties_or_methods); if (Yr(n.parent)) { if (yo(n.name) && n.name.text === "constructor") return an(n.name, _.Classes_may_not_have_a_field_named_constructor); if (JC(n.name, _.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type)) return !0; if (R < 2 && pi(n.name)) return an(n.name, _.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); if (R < 2 && Id(n)) return an(n.name, _.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher); if (Id(n) && $ie(n.questionToken, _.An_accessor_property_cannot_be_declared_optional)) return !0 } else if (n.parent.kind === 261) { if (JC(n.name, _.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) return !0; if (L.assertNode(n, $d), n.initializer) return an(n.initializer, _.An_interface_property_cannot_have_an_initializer) } else if (Rd(n.parent)) { if (JC(n.name, _.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) return !0; if (L.assertNode(n, $d), n.initializer) return an(n.initializer, _.A_type_literal_property_cannot_have_an_initializer) } if (n.flags & 16777216 && uke(n), Na(n) && n.exclamationToken && (!Yr(n.parent) || !n.type || n.initializer || n.flags & 16777216 || Ca(n) || B0(n))) { let a = n.initializer ? _.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : n.type ? _.A_definite_assignment_assertion_is_not_permitted_in_this_context : _.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations; return an(n.exclamationToken, a) } } function eit(n) { return n.kind === 261 || n.kind === 262 || n.kind === 269 || n.kind === 268 || n.kind === 275 || n.kind === 274 || n.kind === 267 || Mr(n, 1027) ? !1 : dl(n, _.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier) } function tit(n) { for (let a of n.statements) if ((Kl(a) || a.kind === 240) && eit(a)) return !0; return !1 } function nit(n) { return !!(n.flags & 16777216) && tit(n) } function vh(n) { if (n.flags & 16777216) { if (!Rr(n).hasReportedStatementInAmbientContext && (Ia(n.parent) || rb(n.parent))) return Rr(n).hasReportedStatementInAmbientContext = dl(n, _.An_implementation_cannot_be_declared_in_ambient_contexts); if (n.parent.kind === 238 || n.parent.kind === 265 || n.parent.kind === 308) { let c = Rr(n.parent); if (!c.hasReportedStatementInAmbientContext) return c.hasReportedStatementInAmbientContext = dl(n, _.Statements_are_not_allowed_in_ambient_contexts) } } return !1 } function eae(n) { if (n.numericLiteralFlags & 32) { let a; if (R >= 1 ? a = _.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0 : TH(n, 198) ? a = _.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0 : TH(n, 302) && (a = _.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0), a) { let c = tv(n.parent) && n.parent.operator === 40, u = (c ? "-" : "") + "0o" + n.text; return an(c ? n.parent : n, a, u) } } return rit(n), !1 } function rit(n) { let a = Qc(n).indexOf(".") !== -1, c = n.numericLiteralFlags & 16; a || c || +n.text <= 2 ** 53 - 1 || ey(!1, hr(n, _.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers)) } function iit(n) { return !!(!(mb(n.parent) || tv(n.parent) && mb(n.parent.parent)) && R < 7 && an(n, _.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020)) } function ait(n, a, c, u, p) { let h = Gn(n); if (!l0(h)) { let T = Pg(h, n.pos); return Lo.add(al(h, wl(T), 0, a, c, u, p)), !0 } return !1 } function oit() { return Go || (Go = [], Ne.forEach((n, a) => { uF.test(a) && Go.push(n) })), Go } function sit(n) { var a; return n.isTypeOnly && n.name && n.namedBindings ? an(n, _.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both) : n.isTypeOnly && ((a = n.namedBindings) == null ? void 0 : a.kind) === 272 ? pke(n.namedBindings) : !1 } function pke(n) { return !!mn(n.elements, a => { if (a.isTypeOnly) return dl(a, a.kind === 273 ? _.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement : _.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement) }) } function cit(n) { if (Y.verbatimModuleSyntax && ie === 1) return an(n, _.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled); if (ie === 5) return an(n, _.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext); if (n.typeArguments) return an(n, _.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); let a = n.arguments; if (ie !== 99 && ie !== 199 && ie !== 100 && (B1(a), a.length > 1)) { let u = a[1]; return an(u, _.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext) } if (a.length === 0 || a.length > 2) return an(n, _.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments); let c = wr(a, Km); return c ? an(c, _.Argument_of_dynamic_import_cannot_be_spread_element) : !1 } function lit(n, a) { let c = Ur(n); if (c & 20 && a.flags & 1048576) return wr(a.types, u => { if (u.flags & 524288) { let p = c & Ur(u); if (p & 4) return n.target === u.target; if (p & 16) return !!n.aliasSymbol && n.aliasSymbol === u.aliasSymbol } return !1 }) } function uit(n, a) { if (Ur(n) & 128 && yh(a, Kv)) return wr(a.types, c => !Kv(c)) } function dit(n, a) { let c = 0; if (xa(n, c).length > 0 || (c = 1, xa(n, c).length > 0)) return wr(a.types, p => xa(p, c).length > 0) } function fit(n, a) { let c; if (!(n.flags & 406978556)) { let u = 0; for (let p of a.types) if (!(p.flags & 406978556)) { let h = so([Gp(n), Gp(p)]); if (h.flags & 4194304) return p; if (N_(h) || h.flags & 1048576) { let T = h.flags & 1048576 ? Oy(h.types, N_) : 1; T >= u && (c = p, u = T) } } } return c } function _it(n) { if (Js(n, 67108864)) { let a = jc(n, c => !(c.flags & 134348796)); if (!(a.flags & 131072)) return a } return n } function mke(n, a, c, u) { if (a.flags & 1048576 && n.flags & 2621440) { let p = O2e(a, n); if (p) return p; let h = Jo(n); if (h) { let T = R2e(h, a); if (T) return Wne(a, on(T, k => [() => zn(k), k.escapedName]), c, void 0, u) } } }
-            } function mPe(e) { return !rb(e) } function D_e(e) { return e.kind !== 259 && e.kind !== 171 || !!e.body } function w_e(e) { switch (e.parent.kind) { case 273: case 278: return Re(e); default: return Rh(e) } } function R_e(e) { switch (e) { case 0: return "yieldType"; case 1: return "returnType"; case 2: return "nextType" } } function Xl(e) { return !!(e.flags & 1) } function _K(e) { return !!(e.flags & 2) } function hPe(e) { return { getCommonSourceDirectory: e.getCommonSourceDirectory ? () => e.getCommonSourceDirectory() : () => "", getCurrentDirectory: () => e.getCurrentDirectory(), getSymlinkCache: ho(e, e.getSymlinkCache), getPackageJsonInfoCache: () => { var t; return (t = e.getPackageJsonInfoCache) == null ? void 0 : t.call(e) }, useCaseSensitiveFileNames: ho(e, e.useCaseSensitiveFileNames), redirectTargetsMap: e.redirectTargetsMap, getProjectReferenceRedirect: t => e.getProjectReferenceRedirect(t), isSourceOfProjectReferenceRedirect: t => e.isSourceOfProjectReferenceRedirect(t), fileExists: t => e.fileExists(t), getFileIncludeReasons: () => e.getFileIncludeReasons(), readFile: e.readFile ? t => e.readFile(t) : void 0 } } var uF, nN, pK, mK, hK, gK, dF, fF, _F, pF, O_e, rN, yK, Qd, iN, gPe = gt({ "src/compiler/checker.ts"() { "use strict"; fa(), dK(), E0(), uF = /^".+"$/, nN = "(anonymous)", pK = 1, mK = 1, hK = 1, gK = 1, dF = (e => (e[e.None = 0] = "None", e[e.TypeofEQString = 1] = "TypeofEQString", e[e.TypeofEQNumber = 2] = "TypeofEQNumber", e[e.TypeofEQBigInt = 4] = "TypeofEQBigInt", e[e.TypeofEQBoolean = 8] = "TypeofEQBoolean", e[e.TypeofEQSymbol = 16] = "TypeofEQSymbol", e[e.TypeofEQObject = 32] = "TypeofEQObject", e[e.TypeofEQFunction = 64] = "TypeofEQFunction", e[e.TypeofEQHostObject = 128] = "TypeofEQHostObject", e[e.TypeofNEString = 256] = "TypeofNEString", e[e.TypeofNENumber = 512] = "TypeofNENumber", e[e.TypeofNEBigInt = 1024] = "TypeofNEBigInt", e[e.TypeofNEBoolean = 2048] = "TypeofNEBoolean", e[e.TypeofNESymbol = 4096] = "TypeofNESymbol", e[e.TypeofNEObject = 8192] = "TypeofNEObject", e[e.TypeofNEFunction = 16384] = "TypeofNEFunction", e[e.TypeofNEHostObject = 32768] = "TypeofNEHostObject", e[e.EQUndefined = 65536] = "EQUndefined", e[e.EQNull = 131072] = "EQNull", e[e.EQUndefinedOrNull = 262144] = "EQUndefinedOrNull", e[e.NEUndefined = 524288] = "NEUndefined", e[e.NENull = 1048576] = "NENull", e[e.NEUndefinedOrNull = 2097152] = "NEUndefinedOrNull", e[e.Truthy = 4194304] = "Truthy", e[e.Falsy = 8388608] = "Falsy", e[e.IsUndefined = 16777216] = "IsUndefined", e[e.IsNull = 33554432] = "IsNull", e[e.IsUndefinedOrNull = 50331648] = "IsUndefinedOrNull", e[e.All = 134217727] = "All", e[e.BaseStringStrictFacts = 3735041] = "BaseStringStrictFacts", e[e.BaseStringFacts = 12582401] = "BaseStringFacts", e[e.StringStrictFacts = 16317953] = "StringStrictFacts", e[e.StringFacts = 16776705] = "StringFacts", e[e.EmptyStringStrictFacts = 12123649] = "EmptyStringStrictFacts", e[e.EmptyStringFacts = 12582401] = "EmptyStringFacts", e[e.NonEmptyStringStrictFacts = 7929345] = "NonEmptyStringStrictFacts", e[e.NonEmptyStringFacts = 16776705] = "NonEmptyStringFacts", e[e.BaseNumberStrictFacts = 3734786] = "BaseNumberStrictFacts", e[e.BaseNumberFacts = 12582146] = "BaseNumberFacts", e[e.NumberStrictFacts = 16317698] = "NumberStrictFacts", e[e.NumberFacts = 16776450] = "NumberFacts", e[e.ZeroNumberStrictFacts = 12123394] = "ZeroNumberStrictFacts", e[e.ZeroNumberFacts = 12582146] = "ZeroNumberFacts", e[e.NonZeroNumberStrictFacts = 7929090] = "NonZeroNumberStrictFacts", e[e.NonZeroNumberFacts = 16776450] = "NonZeroNumberFacts", e[e.BaseBigIntStrictFacts = 3734276] = "BaseBigIntStrictFacts", e[e.BaseBigIntFacts = 12581636] = "BaseBigIntFacts", e[e.BigIntStrictFacts = 16317188] = "BigIntStrictFacts", e[e.BigIntFacts = 16775940] = "BigIntFacts", e[e.ZeroBigIntStrictFacts = 12122884] = "ZeroBigIntStrictFacts", e[e.ZeroBigIntFacts = 12581636] = "ZeroBigIntFacts", e[e.NonZeroBigIntStrictFacts = 7928580] = "NonZeroBigIntStrictFacts", e[e.NonZeroBigIntFacts = 16775940] = "NonZeroBigIntFacts", e[e.BaseBooleanStrictFacts = 3733256] = "BaseBooleanStrictFacts", e[e.BaseBooleanFacts = 12580616] = "BaseBooleanFacts", e[e.BooleanStrictFacts = 16316168] = "BooleanStrictFacts", e[e.BooleanFacts = 16774920] = "BooleanFacts", e[e.FalseStrictFacts = 12121864] = "FalseStrictFacts", e[e.FalseFacts = 12580616] = "FalseFacts", e[e.TrueStrictFacts = 7927560] = "TrueStrictFacts", e[e.TrueFacts = 16774920] = "TrueFacts", e[e.SymbolStrictFacts = 7925520] = "SymbolStrictFacts", e[e.SymbolFacts = 16772880] = "SymbolFacts", e[e.ObjectStrictFacts = 7888800] = "ObjectStrictFacts", e[e.ObjectFacts = 16736160] = "ObjectFacts", e[e.FunctionStrictFacts = 7880640] = "FunctionStrictFacts", e[e.FunctionFacts = 16728e3] = "FunctionFacts", e[e.VoidFacts = 9830144] = "VoidFacts", e[e.UndefinedFacts = 26607360] = "UndefinedFacts", e[e.NullFacts = 42917664] = "NullFacts", e[e.EmptyObjectStrictFacts = 83427327] = "EmptyObjectStrictFacts", e[e.EmptyObjectFacts = 83886079] = "EmptyObjectFacts", e[e.UnknownFacts = 83886079] = "UnknownFacts", e[e.AllTypeofNE = 556800] = "AllTypeofNE", e[e.OrFactsMask = 8256] = "OrFactsMask", e[e.AndFactsMask = 134209471] = "AndFactsMask", e))(dF || {}), fF = new Map(Object.entries({ string: 256, number: 512, bigint: 1024, boolean: 2048, symbol: 4096, undefined: 524288, object: 8192, function: 16384 })), _F = (e => (e[e.Normal = 0] = "Normal", e[e.Contextual = 1] = "Contextual", e[e.Inferential = 2] = "Inferential", e[e.SkipContextSensitive = 4] = "SkipContextSensitive", e[e.SkipGenericFunctions = 8] = "SkipGenericFunctions", e[e.IsForSignatureHelp = 16] = "IsForSignatureHelp", e[e.IsForStringLiteralArgumentCompletions = 32] = "IsForStringLiteralArgumentCompletions", e[e.RestBindingElement = 64] = "RestBindingElement", e))(_F || {}), pF = (e => (e[e.None = 0] = "None", e[e.BivariantCallback = 1] = "BivariantCallback", e[e.StrictCallback = 2] = "StrictCallback", e[e.IgnoreReturnTypes = 4] = "IgnoreReturnTypes", e[e.StrictArity = 8] = "StrictArity", e[e.StrictTopSignature = 16] = "StrictTopSignature", e[e.Callback = 3] = "Callback", e))(pF || {}), O_e = g8(D_e, mPe), rN = new Map(Object.entries({ Uppercase: 0, Lowercase: 1, Capitalize: 2, Uncapitalize: 3 })), yK = class { }, (e => { e.JSX = "JSX", e.IntrinsicElements = "IntrinsicElements", e.ElementClass = "ElementClass", e.ElementAttributesPropertyNameContainer = "ElementAttributesProperty", e.ElementChildrenAttributeNameContainer = "ElementChildrenAttribute", e.Element = "Element", e.IntrinsicAttributes = "IntrinsicAttributes", e.IntrinsicClassAttributes = "IntrinsicClassAttributes", e.LibraryManagedAttributes = "LibraryManagedAttributes" })(Qd || (Qd = {})), iN = class { constructor(e, t, r) { this.moduleResolverHost = void 0, this.inner = void 0, this.disableTrackSymbol = !1; for (var i; t instanceof iN;)t = t.inner; this.inner = t, this.moduleResolverHost = r, this.context = e, this.canTrackSymbol = !!((i = this.inner) != null && i.trackSymbol) } trackSymbol(e, t, r) { var i; return (i = this.inner) != null && i.trackSymbol && !this.disableTrackSymbol && this.inner.trackSymbol(e, t, r) ? (this.onDiagnosticReported(), !0) : !1 } reportInaccessibleThisError() { var e; (e = this.inner) != null && e.reportInaccessibleThisError && (this.onDiagnosticReported(), this.inner.reportInaccessibleThisError()) } reportPrivateInBaseOfClassExpression(e) { var t; (t = this.inner) != null && t.reportPrivateInBaseOfClassExpression && (this.onDiagnosticReported(), this.inner.reportPrivateInBaseOfClassExpression(e)) } reportInaccessibleUniqueSymbolError() { var e; (e = this.inner) != null && e.reportInaccessibleUniqueSymbolError && (this.onDiagnosticReported(), this.inner.reportInaccessibleUniqueSymbolError()) } reportCyclicStructureError() { var e; (e = this.inner) != null && e.reportCyclicStructureError && (this.onDiagnosticReported(), this.inner.reportCyclicStructureError()) } reportLikelyUnsafeImportRequiredError(e) { var t; (t = this.inner) != null && t.reportLikelyUnsafeImportRequiredError && (this.onDiagnosticReported(), this.inner.reportLikelyUnsafeImportRequiredError(e)) } reportTruncationError() { var e; (e = this.inner) != null && e.reportTruncationError && (this.onDiagnosticReported(), this.inner.reportTruncationError()) } trackReferencedAmbientModule(e, t) { var r; (r = this.inner) != null && r.trackReferencedAmbientModule && (this.onDiagnosticReported(), this.inner.trackReferencedAmbientModule(e, t)) } trackExternalModuleSymbolOfImportTypeNode(e) { var t; (t = this.inner) != null && t.trackExternalModuleSymbolOfImportTypeNode && (this.onDiagnosticReported(), this.inner.trackExternalModuleSymbolOfImportTypeNode(e)) } reportNonlocalAugmentation(e, t, r) { var i; (i = this.inner) != null && i.reportNonlocalAugmentation && (this.onDiagnosticReported(), this.inner.reportNonlocalAugmentation(e, t, r)) } reportNonSerializableProperty(e) { var t; (t = this.inner) != null && t.reportNonSerializableProperty && (this.onDiagnosticReported(), this.inner.reportNonSerializableProperty(e)) } reportImportTypeNodeResolutionModeOverride() { var e; (e = this.inner) != null && e.reportImportTypeNodeResolutionModeOverride && (this.onDiagnosticReported(), this.inner.reportImportTypeNodeResolutionModeOverride()) } onDiagnosticReported() { this.context.reportedDiagnostic = !0 } } } }); function $e(e, t, r, i) { if (e === void 0) return e; let o = t(e), s; if (o !== void 0) return ba(o) ? s = (i || TPe)(o) : s = o, L.assertNode(s, r), s } function On(e, t, r, i, o) { if (e === void 0) return e; let s = e.length; (i === void 0 || i < 0) && (i = 0), (o === void 0 || o > s - i) && (o = s - i); let l, f = -1, d = -1; i > 0 || o < s ? l = e.hasTrailingComma && i + o === s : (f = e.pos, d = e.end, l = e.hasTrailingComma); let g = N_e(e, t, r, i, o); if (g !== e) { let m = D.createNodeArray(g, l); return om(m, f, d), m } return e } function vK(e, t, r, i, o) { if (e === void 0) return e; let s = e.length; return (i === void 0 || i < 0) && (i = 0), (o === void 0 || o > s - i) && (o = s - i), N_e(e, t, r, i, o) } function N_e(e, t, r, i, o) { let s, l = e.length; (i > 0 || o < l) && (s = []); for (let f = 0; f < o; f++) { let d = e[f + i], g = d !== void 0 ? t ? t(d) : d : void 0; if ((s !== void 0 || g === void 0 || g !== d) && (s === void 0 && (s = e.slice(0, f), L.assertEachNode(s, r)), g)) if (ba(g)) for (let m of g) L.assertNode(m, r), s.push(m); else L.assertNode(g, r), s.push(g) } return s || (L.assertEachNode(e, r), e) } function mF(e, t, r, i, o, s = On) { return r.startLexicalEnvironment(), e = s(e, t, ca, i), o && (e = r.factory.ensureUseStrict(e)), D.mergeLexicalEnvironment(e, r.endLexicalEnvironment()) } function Sc(e, t, r, i = On) { let o; return r.startLexicalEnvironment(), e && (r.setLexicalEnvironmentFlags(1, !0), o = i(e, t, ha), r.getLexicalEnvironmentFlags() & 2 && Do(r.getCompilerOptions()) >= 2 && (o = yPe(o, r)), r.setLexicalEnvironmentFlags(1, !1)), r.suspendLexicalEnvironment(), o } function yPe(e, t) { let r; for (let i = 0; i < e.length; i++) { let o = e[i], s = vPe(o, t); (r || s !== o) && (r || (r = e.slice(0, i)), r[i] = s) } return r ? it(t.factory.createNodeArray(r, e.hasTrailingComma), e) : e } function vPe(e, t) { return e.dotDotDotToken ? e : La(e.name) ? bPe(e, t) : e.initializer ? EPe(e, e.name, e.initializer, t) : e } function bPe(e, t) { let { factory: r } = t; return t.addInitializationStatement(r.createVariableStatement(void 0, r.createVariableDeclarationList([r.createVariableDeclaration(e.name, void 0, e.type, e.initializer ? r.createConditionalExpression(r.createStrictEquality(r.getGeneratedNameForNode(e), r.createVoidZero()), void 0, e.initializer, void 0, r.getGeneratedNameForNode(e)) : r.getGeneratedNameForNode(e))]))), r.updateParameterDeclaration(e, e.modifiers, e.dotDotDotToken, r.getGeneratedNameForNode(e), e.questionToken, e.type, void 0) } function EPe(e, t, r, i) { let o = i.factory; return i.addInitializationStatement(o.createIfStatement(o.createTypeCheck(o.cloneNode(t), "undefined"), Jn(it(o.createBlock([o.createExpressionStatement(Jn(it(o.createAssignment(Jn(o.cloneNode(t), 96), Jn(r, 96 | Ya(r) | 3072)), e), 3072))]), e), 3905))), o.updateParameterDeclaration(e, e.modifiers, e.dotDotDotToken, e.name, e.questionToken, e.type, void 0) } function Zd(e, t, r, i = $e) { r.resumeLexicalEnvironment(); let o = i(e, t, u6), s = r.endLexicalEnvironment(); if (vt(s)) { if (!o) return r.factory.createBlock(s); let l = r.factory.converters.convertToFunctionBlock(o), f = D.mergeLexicalEnvironment(l.statements, s); return r.factory.updateBlock(l, f) } return o } function jf(e, t, r, i = $e) { r.startBlockScope(); let o = i(e, t, ca, r.factory.liftToBlock); L.assert(o); let s = r.endBlockScope(); return vt(s) ? Va(o) ? (s.push(...o.statements), r.factory.updateBlock(o, s)) : (s.push(o), r.factory.createBlock(s)) : o } function aN(e, t, r = t) { if (r === t || e.length <= 1) return On(e, t, ot); let i = 0, o = e.length; return On(e, s => { let l = i < o - 1; return i++, l ? r(s) : t(s) }, ot) } function xn(e, t, r, i = On, o, s = $e) { if (e === void 0) return; let l = P_e[e.kind]; return l === void 0 ? e : l(e, t, r, i, s, o) } function TPe(e) { return L.assert(e.length <= 1, "Too many nodes written to output."), Wp(e) } var P_e, SPe = gt({ "src/compiler/visitorPublic.ts"() { "use strict"; fa(), P_e = { 163: function (t, r, i, o, s, l) { return i.factory.updateQualifiedName(t, L.checkDefined(s(t.left, r, Cd)), L.checkDefined(s(t.right, r, Re))) }, 164: function (t, r, i, o, s, l) { return i.factory.updateComputedPropertyName(t, L.checkDefined(s(t.expression, r, ot))) }, 165: function (t, r, i, o, s, l) { return i.factory.updateTypeParameterDeclaration(t, o(t.modifiers, r, Ha), L.checkDefined(s(t.name, r, Re)), s(t.constraint, r, bi), s(t.default, r, bi)) }, 166: function (t, r, i, o, s, l) { return i.factory.updateParameterDeclaration(t, o(t.modifiers, r, Ns), l ? s(t.dotDotDotToken, l, o3) : t.dotDotDotToken, L.checkDefined(s(t.name, r, Mm)), l ? s(t.questionToken, l, ev) : t.questionToken, s(t.type, r, bi), s(t.initializer, r, ot)) }, 167: function (t, r, i, o, s, l) { return i.factory.updateDecorator(t, L.checkDefined(s(t.expression, r, ot))) }, 168: function (t, r, i, o, s, l) { return i.factory.updatePropertySignature(t, o(t.modifiers, r, Ha), L.checkDefined(s(t.name, r, Ys)), l ? s(t.questionToken, l, ev) : t.questionToken, s(t.type, r, bi)) }, 169: function (t, r, i, o, s, l) { var f, d; return i.factory.updatePropertyDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, Ys)), l ? s((f = t.questionToken) != null ? f : t.exclamationToken, l, lde) : (d = t.questionToken) != null ? d : t.exclamationToken, s(t.type, r, bi), s(t.initializer, r, ot)) }, 170: function (t, r, i, o, s, l) { return i.factory.updateMethodSignature(t, o(t.modifiers, r, Ha), L.checkDefined(s(t.name, r, Ys)), l ? s(t.questionToken, l, ev) : t.questionToken, o(t.typeParameters, r, _c), o(t.parameters, r, ha), s(t.type, r, bi)) }, 171: function (t, r, i, o, s, l) { return i.factory.updateMethodDeclaration(t, o(t.modifiers, r, Ns), l ? s(t.asteriskToken, l, cO) : t.asteriskToken, L.checkDefined(s(t.name, r, Ys)), l ? s(t.questionToken, l, ev) : t.questionToken, o(t.typeParameters, r, _c), Sc(t.parameters, r, i, o), s(t.type, r, bi), Zd(t.body, r, i, s)) }, 173: function (t, r, i, o, s, l) { return i.factory.updateConstructorDeclaration(t, o(t.modifiers, r, Ns), Sc(t.parameters, r, i, o), Zd(t.body, r, i, s)) }, 174: function (t, r, i, o, s, l) { return i.factory.updateGetAccessorDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, Ys)), Sc(t.parameters, r, i, o), s(t.type, r, bi), Zd(t.body, r, i, s)) }, 175: function (t, r, i, o, s, l) { return i.factory.updateSetAccessorDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, Ys)), Sc(t.parameters, r, i, o), Zd(t.body, r, i, s)) }, 172: function (t, r, i, o, s, l) { return i.startLexicalEnvironment(), i.suspendLexicalEnvironment(), i.factory.updateClassStaticBlockDeclaration(t, Zd(t.body, r, i, s)) }, 176: function (t, r, i, o, s, l) { return i.factory.updateCallSignature(t, o(t.typeParameters, r, _c), o(t.parameters, r, ha), s(t.type, r, bi)) }, 177: function (t, r, i, o, s, l) { return i.factory.updateConstructSignature(t, o(t.typeParameters, r, _c), o(t.parameters, r, ha), s(t.type, r, bi)) }, 178: function (t, r, i, o, s, l) { return i.factory.updateIndexSignature(t, o(t.modifiers, r, Ns), o(t.parameters, r, ha), L.checkDefined(s(t.type, r, bi))) }, 179: function (t, r, i, o, s, l) { return i.factory.updateTypePredicateNode(t, s(t.assertsModifier, r, Due), L.checkDefined(s(t.parameterName, r, ude)), s(t.type, r, bi)) }, 180: function (t, r, i, o, s, l) { return i.factory.updateTypeReferenceNode(t, L.checkDefined(s(t.typeName, r, Cd)), o(t.typeArguments, r, bi)) }, 181: function (t, r, i, o, s, l) { return i.factory.updateFunctionTypeNode(t, o(t.typeParameters, r, _c), o(t.parameters, r, ha), L.checkDefined(s(t.type, r, bi))) }, 182: function (t, r, i, o, s, l) { return i.factory.updateConstructorTypeNode(t, o(t.modifiers, r, Ha), o(t.typeParameters, r, _c), o(t.parameters, r, ha), L.checkDefined(s(t.type, r, bi))) }, 183: function (t, r, i, o, s, l) { return i.factory.updateTypeQueryNode(t, L.checkDefined(s(t.exprName, r, Cd)), o(t.typeArguments, r, bi)) }, 184: function (t, r, i, o, s, l) { return i.factory.updateTypeLiteralNode(t, o(t.members, r, _T)) }, 185: function (t, r, i, o, s, l) { return i.factory.updateArrayTypeNode(t, L.checkDefined(s(t.elementType, r, bi))) }, 186: function (t, r, i, o, s, l) { return i.factory.updateTupleTypeNode(t, o(t.elements, r, bi)) }, 187: function (t, r, i, o, s, l) { return i.factory.updateOptionalTypeNode(t, L.checkDefined(s(t.type, r, bi))) }, 188: function (t, r, i, o, s, l) { return i.factory.updateRestTypeNode(t, L.checkDefined(s(t.type, r, bi))) }, 189: function (t, r, i, o, s, l) { return i.factory.updateUnionTypeNode(t, o(t.types, r, bi)) }, 190: function (t, r, i, o, s, l) { return i.factory.updateIntersectionTypeNode(t, o(t.types, r, bi)) }, 191: function (t, r, i, o, s, l) { return i.factory.updateConditionalTypeNode(t, L.checkDefined(s(t.checkType, r, bi)), L.checkDefined(s(t.extendsType, r, bi)), L.checkDefined(s(t.trueType, r, bi)), L.checkDefined(s(t.falseType, r, bi))) }, 192: function (t, r, i, o, s, l) { return i.factory.updateInferTypeNode(t, L.checkDefined(s(t.typeParameter, r, _c))) }, 202: function (t, r, i, o, s, l) { return i.factory.updateImportTypeNode(t, L.checkDefined(s(t.argument, r, bi)), s(t.assertions, r, Vue), s(t.qualifier, r, Cd), o(t.typeArguments, r, bi), t.isTypeOf) }, 298: function (t, r, i, o, s, l) { return i.factory.updateImportTypeAssertionContainer(t, L.checkDefined(s(t.assertClause, r, p3)), t.multiLine) }, 199: function (t, r, i, o, s, l) { return i.factory.updateNamedTupleMember(t, l ? s(t.dotDotDotToken, l, o3) : t.dotDotDotToken, L.checkDefined(s(t.name, r, Re)), l ? s(t.questionToken, l, ev) : t.questionToken, L.checkDefined(s(t.type, r, bi))) }, 193: function (t, r, i, o, s, l) { return i.factory.updateParenthesizedType(t, L.checkDefined(s(t.type, r, bi))) }, 195: function (t, r, i, o, s, l) { return i.factory.updateTypeOperatorNode(t, L.checkDefined(s(t.type, r, bi))) }, 196: function (t, r, i, o, s, l) { return i.factory.updateIndexedAccessTypeNode(t, L.checkDefined(s(t.objectType, r, bi)), L.checkDefined(s(t.indexType, r, bi))) }, 197: function (t, r, i, o, s, l) { return i.factory.updateMappedTypeNode(t, l ? s(t.readonlyToken, l, dde) : t.readonlyToken, L.checkDefined(s(t.typeParameter, r, _c)), s(t.nameType, r, bi), l ? s(t.questionToken, l, fde) : t.questionToken, s(t.type, r, bi), o(t.members, r, _T)) }, 198: function (t, r, i, o, s, l) { return i.factory.updateLiteralTypeNode(t, L.checkDefined(s(t.literal, r, hse))) }, 200: function (t, r, i, o, s, l) { return i.factory.updateTemplateLiteralType(t, L.checkDefined(s(t.head, r, f2)), o(t.templateSpans, r, Mue)) }, 201: function (t, r, i, o, s, l) { return i.factory.updateTemplateLiteralTypeSpan(t, L.checkDefined(s(t.type, r, bi)), L.checkDefined(s(t.literal, r, o6))) }, 203: function (t, r, i, o, s, l) { return i.factory.updateObjectBindingPattern(t, o(t.elements, r, Wo)) }, 204: function (t, r, i, o, s, l) { return i.factory.updateArrayBindingPattern(t, o(t.elements, r, c6)) }, 205: function (t, r, i, o, s, l) { return i.factory.updateBindingElement(t, l ? s(t.dotDotDotToken, l, o3) : t.dotDotDotToken, s(t.propertyName, r, Ys), L.checkDefined(s(t.name, r, Mm)), s(t.initializer, r, ot)) }, 206: function (t, r, i, o, s, l) { return i.factory.updateArrayLiteralExpression(t, o(t.elements, r, ot)) }, 207: function (t, r, i, o, s, l) { return i.factory.updateObjectLiteralExpression(t, o(t.properties, r, Og)) }, 208: function (t, r, i, o, s, l) { return n6(t) ? i.factory.updatePropertyAccessChain(t, L.checkDefined(s(t.expression, r, ot)), l ? s(t.questionDotToken, l, s3) : t.questionDotToken, L.checkDefined(s(t.name, r, Ah))) : i.factory.updatePropertyAccessExpression(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.name, r, Ah))) }, 209: function (t, r, i, o, s, l) { return Dj(t) ? i.factory.updateElementAccessChain(t, L.checkDefined(s(t.expression, r, ot)), l ? s(t.questionDotToken, l, s3) : t.questionDotToken, L.checkDefined(s(t.argumentExpression, r, ot))) : i.factory.updateElementAccessExpression(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.argumentExpression, r, ot))) }, 210: function (t, r, i, o, s, l) { return dT(t) ? i.factory.updateCallChain(t, L.checkDefined(s(t.expression, r, ot)), l ? s(t.questionDotToken, l, s3) : t.questionDotToken, o(t.typeArguments, r, bi), o(t.arguments, r, ot)) : i.factory.updateCallExpression(t, L.checkDefined(s(t.expression, r, ot)), o(t.typeArguments, r, bi), o(t.arguments, r, ot)) }, 211: function (t, r, i, o, s, l) { return i.factory.updateNewExpression(t, L.checkDefined(s(t.expression, r, ot)), o(t.typeArguments, r, bi), o(t.arguments, r, ot)) }, 212: function (t, r, i, o, s, l) { return i.factory.updateTaggedTemplateExpression(t, L.checkDefined(s(t.tag, r, ot)), o(t.typeArguments, r, bi), L.checkDefined(s(t.template, r, AA))) }, 213: function (t, r, i, o, s, l) { return i.factory.updateTypeAssertion(t, L.checkDefined(s(t.type, r, bi)), L.checkDefined(s(t.expression, r, ot))) }, 214: function (t, r, i, o, s, l) { return i.factory.updateParenthesizedExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 215: function (t, r, i, o, s, l) { return i.factory.updateFunctionExpression(t, o(t.modifiers, r, Ha), l ? s(t.asteriskToken, l, cO) : t.asteriskToken, s(t.name, r, Re), o(t.typeParameters, r, _c), Sc(t.parameters, r, i, o), s(t.type, r, bi), Zd(t.body, r, i, s)) }, 216: function (t, r, i, o, s, l) { return i.factory.updateArrowFunction(t, o(t.modifiers, r, Ha), o(t.typeParameters, r, _c), Sc(t.parameters, r, i, o), s(t.type, r, bi), l ? L.checkDefined(s(t.equalsGreaterThanToken, l, Lue)) : t.equalsGreaterThanToken, Zd(t.body, r, i, s)) }, 217: function (t, r, i, o, s, l) { return i.factory.updateDeleteExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 218: function (t, r, i, o, s, l) { return i.factory.updateTypeOfExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 219: function (t, r, i, o, s, l) { return i.factory.updateVoidExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 220: function (t, r, i, o, s, l) { return i.factory.updateAwaitExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 221: function (t, r, i, o, s, l) { return i.factory.updatePrefixUnaryExpression(t, L.checkDefined(s(t.operand, r, ot))) }, 222: function (t, r, i, o, s, l) { return i.factory.updatePostfixUnaryExpression(t, L.checkDefined(s(t.operand, r, ot))) }, 223: function (t, r, i, o, s, l) { return i.factory.updateBinaryExpression(t, L.checkDefined(s(t.left, r, ot)), l ? L.checkDefined(s(t.operatorToken, l, pde)) : t.operatorToken, L.checkDefined(s(t.right, r, ot))) }, 224: function (t, r, i, o, s, l) { return i.factory.updateConditionalExpression(t, L.checkDefined(s(t.condition, r, ot)), l ? L.checkDefined(s(t.questionToken, l, ev)) : t.questionToken, L.checkDefined(s(t.whenTrue, r, ot)), l ? L.checkDefined(s(t.colonToken, l, Iue)) : t.colonToken, L.checkDefined(s(t.whenFalse, r, ot))) }, 225: function (t, r, i, o, s, l) { return i.factory.updateTemplateExpression(t, L.checkDefined(s(t.head, r, f2)), o(t.templateSpans, r, xL)) }, 226: function (t, r, i, o, s, l) { return i.factory.updateYieldExpression(t, l ? s(t.asteriskToken, l, cO) : t.asteriskToken, s(t.expression, r, ot)) }, 227: function (t, r, i, o, s, l) { return i.factory.updateSpreadElement(t, L.checkDefined(s(t.expression, r, ot))) }, 228: function (t, r, i, o, s, l) { return i.factory.updateClassExpression(t, o(t.modifiers, r, Ns), s(t.name, r, Re), o(t.typeParameters, r, _c), o(t.heritageClauses, r, dd), o(t.members, r, _l)) }, 230: function (t, r, i, o, s, l) { return i.factory.updateExpressionWithTypeArguments(t, L.checkDefined(s(t.expression, r, ot)), o(t.typeArguments, r, bi)) }, 231: function (t, r, i, o, s, l) { return i.factory.updateAsExpression(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.type, r, bi))) }, 235: function (t, r, i, o, s, l) { return i.factory.updateSatisfiesExpression(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.type, r, bi))) }, 232: function (t, r, i, o, s, l) { return Jl(t) ? i.factory.updateNonNullChain(t, L.checkDefined(s(t.expression, r, ot))) : i.factory.updateNonNullExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 233: function (t, r, i, o, s, l) { return i.factory.updateMetaProperty(t, L.checkDefined(s(t.name, r, Re))) }, 236: function (t, r, i, o, s, l) { return i.factory.updateTemplateSpan(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.literal, r, o6))) }, 238: function (t, r, i, o, s, l) { return i.factory.updateBlock(t, o(t.statements, r, ca)) }, 240: function (t, r, i, o, s, l) { return i.factory.updateVariableStatement(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.declarationList, r, pu))) }, 241: function (t, r, i, o, s, l) { return i.factory.updateExpressionStatement(t, L.checkDefined(s(t.expression, r, ot))) }, 242: function (t, r, i, o, s, l) { return i.factory.updateIfStatement(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.thenStatement, r, ca, i.factory.liftToBlock)), s(t.elseStatement, r, ca, i.factory.liftToBlock)) }, 243: function (t, r, i, o, s, l) { return i.factory.updateDoStatement(t, jf(t.statement, r, i, s), L.checkDefined(s(t.expression, r, ot))) }, 244: function (t, r, i, o, s, l) { return i.factory.updateWhileStatement(t, L.checkDefined(s(t.expression, r, ot)), jf(t.statement, r, i, s)) }, 245: function (t, r, i, o, s, l) { return i.factory.updateForStatement(t, s(t.initializer, r, pp), s(t.condition, r, ot), s(t.incrementor, r, ot), jf(t.statement, r, i, s)) }, 246: function (t, r, i, o, s, l) { return i.factory.updateForInStatement(t, L.checkDefined(s(t.initializer, r, pp)), L.checkDefined(s(t.expression, r, ot)), jf(t.statement, r, i, s)) }, 247: function (t, r, i, o, s, l) { return i.factory.updateForOfStatement(t, l ? s(t.awaitModifier, l, Dz) : t.awaitModifier, L.checkDefined(s(t.initializer, r, pp)), L.checkDefined(s(t.expression, r, ot)), jf(t.statement, r, i, s)) }, 248: function (t, r, i, o, s, l) { return i.factory.updateContinueStatement(t, s(t.label, r, Re)) }, 249: function (t, r, i, o, s, l) { return i.factory.updateBreakStatement(t, s(t.label, r, Re)) }, 250: function (t, r, i, o, s, l) { return i.factory.updateReturnStatement(t, s(t.expression, r, ot)) }, 251: function (t, r, i, o, s, l) { return i.factory.updateWithStatement(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.statement, r, ca, i.factory.liftToBlock))) }, 252: function (t, r, i, o, s, l) { return i.factory.updateSwitchStatement(t, L.checkDefined(s(t.expression, r, ot)), L.checkDefined(s(t.caseBlock, r, hO))) }, 253: function (t, r, i, o, s, l) { return i.factory.updateLabeledStatement(t, L.checkDefined(s(t.label, r, Re)), L.checkDefined(s(t.statement, r, ca, i.factory.liftToBlock))) }, 254: function (t, r, i, o, s, l) { return i.factory.updateThrowStatement(t, L.checkDefined(s(t.expression, r, ot))) }, 255: function (t, r, i, o, s, l) { return i.factory.updateTryStatement(t, L.checkDefined(s(t.tryBlock, r, Va)), s(t.catchClause, r, E2), s(t.finallyBlock, r, Va)) }, 257: function (t, r, i, o, s, l) { return i.factory.updateVariableDeclaration(t, L.checkDefined(s(t.name, r, Mm)), l ? s(t.exclamationToken, l, lO) : t.exclamationToken, s(t.type, r, bi), s(t.initializer, r, ot)) }, 258: function (t, r, i, o, s, l) { return i.factory.updateVariableDeclarationList(t, o(t.declarations, r, wi)) }, 259: function (t, r, i, o, s, l) { return i.factory.updateFunctionDeclaration(t, o(t.modifiers, r, Ha), l ? s(t.asteriskToken, l, cO) : t.asteriskToken, s(t.name, r, Re), o(t.typeParameters, r, _c), Sc(t.parameters, r, i, o), s(t.type, r, bi), Zd(t.body, r, i, s)) }, 260: function (t, r, i, o, s, l) { return i.factory.updateClassDeclaration(t, o(t.modifiers, r, Ns), s(t.name, r, Re), o(t.typeParameters, r, _c), o(t.heritageClauses, r, dd), o(t.members, r, _l)) }, 261: function (t, r, i, o, s, l) { return i.factory.updateInterfaceDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, Re)), o(t.typeParameters, r, _c), o(t.heritageClauses, r, dd), o(t.members, r, _T)) }, 262: function (t, r, i, o, s, l) { return i.factory.updateTypeAliasDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, Re)), o(t.typeParameters, r, _c), L.checkDefined(s(t.type, r, bi))) }, 263: function (t, r, i, o, s, l) { return i.factory.updateEnumDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, Re)), o(t.members, r, q0)) }, 264: function (t, r, i, o, s, l) { return i.factory.updateModuleDeclaration(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.name, r, _de)), s(t.body, r, vse)) }, 265: function (t, r, i, o, s, l) { return i.factory.updateModuleBlock(t, o(t.statements, r, ca)) }, 266: function (t, r, i, o, s, l) { return i.factory.updateCaseBlock(t, o(t.clauses, r, Kj)) }, 267: function (t, r, i, o, s, l) { return i.factory.updateNamespaceExportDeclaration(t, L.checkDefined(s(t.name, r, Re))) }, 268: function (t, r, i, o, s, l) { return i.factory.updateImportEqualsDeclaration(t, o(t.modifiers, r, Ns), t.isTypeOnly, L.checkDefined(s(t.name, r, Re)), L.checkDefined(s(t.moduleReference, r, Tse))) }, 269: function (t, r, i, o, s, l) { return i.factory.updateImportDeclaration(t, o(t.modifiers, r, Ns), s(t.importClause, r, lm), L.checkDefined(s(t.moduleSpecifier, r, ot)), s(t.assertClause, r, p3)) }, 296: function (t, r, i, o, s, l) { return i.factory.updateAssertClause(t, o(t.elements, r, jue), t.multiLine) }, 297: function (t, r, i, o, s, l) { return i.factory.updateAssertEntry(t, L.checkDefined(s(t.name, r, ase)), L.checkDefined(s(t.value, r, ot))) }, 270: function (t, r, i, o, s, l) { return i.factory.updateImportClause(t, t.isTypeOnly, s(t.name, r, Re), s(t.namedBindings, r, Wj)) }, 271: function (t, r, i, o, s, l) { return i.factory.updateNamespaceImport(t, L.checkDefined(s(t.name, r, Re))) }, 277: function (t, r, i, o, s, l) { return i.factory.updateNamespaceExport(t, L.checkDefined(s(t.name, r, Re))) }, 272: function (t, r, i, o, s, l) { return i.factory.updateNamedImports(t, o(t.elements, r, $u)) }, 273: function (t, r, i, o, s, l) { return i.factory.updateImportSpecifier(t, t.isTypeOnly, s(t.propertyName, r, Re), L.checkDefined(s(t.name, r, Re))) }, 274: function (t, r, i, o, s, l) { return i.factory.updateExportAssignment(t, o(t.modifiers, r, Ns), L.checkDefined(s(t.expression, r, ot))) }, 275: function (t, r, i, o, s, l) { return i.factory.updateExportDeclaration(t, o(t.modifiers, r, Ns), t.isTypeOnly, s(t.exportClause, r, Rj), s(t.moduleSpecifier, r, ot), s(t.assertClause, r, p3)) }, 276: function (t, r, i, o, s, l) { return i.factory.updateNamedExports(t, o(t.elements, r, Mu)) }, 278: function (t, r, i, o, s, l) { return i.factory.updateExportSpecifier(t, t.isTypeOnly, s(t.propertyName, r, Re), L.checkDefined(s(t.name, r, Re))) }, 280: function (t, r, i, o, s, l) { return i.factory.updateExternalModuleReference(t, L.checkDefined(s(t.expression, r, ot))) }, 281: function (t, r, i, o, s, l) { return i.factory.updateJsxElement(t, L.checkDefined(s(t.openingElement, r, Xm)), o(t.children, r, Pw), L.checkDefined(s(t.closingElement, r, GS))) }, 282: function (t, r, i, o, s, l) { return i.factory.updateJsxSelfClosingElement(t, L.checkDefined(s(t.tagName, r, bI)), o(t.typeArguments, r, bi), L.checkDefined(s(t.attributes, r, K0))) }, 283: function (t, r, i, o, s, l) { return i.factory.updateJsxOpeningElement(t, L.checkDefined(s(t.tagName, r, bI)), o(t.typeArguments, r, bi), L.checkDefined(s(t.attributes, r, K0))) }, 284: function (t, r, i, o, s, l) { return i.factory.updateJsxClosingElement(t, L.checkDefined(s(t.tagName, r, bI))) }, 285: function (t, r, i, o, s, l) { return i.factory.updateJsxFragment(t, L.checkDefined(s(t.openingFragment, r, US)), o(t.children, r, Pw), L.checkDefined(s(t.closingFragment, r, Hue))) }, 288: function (t, r, i, o, s, l) { return i.factory.updateJsxAttribute(t, L.checkDefined(s(t.name, r, Re)), s(t.initializer, r, Sse)) }, 289: function (t, r, i, o, s, l) { return i.factory.updateJsxAttributes(t, o(t.properties, r, d6)) }, 290: function (t, r, i, o, s, l) { return i.factory.updateJsxSpreadAttribute(t, L.checkDefined(s(t.expression, r, ot))) }, 291: function (t, r, i, o, s, l) { return i.factory.updateJsxExpression(t, s(t.expression, r, ot)) }, 292: function (t, r, i, o, s, l) { return i.factory.updateCaseClause(t, L.checkDefined(s(t.expression, r, ot)), o(t.statements, r, ca)) }, 293: function (t, r, i, o, s, l) { return i.factory.updateDefaultClause(t, o(t.statements, r, ca)) }, 294: function (t, r, i, o, s, l) { return i.factory.updateHeritageClause(t, o(t.types, r, Vg)) }, 295: function (t, r, i, o, s, l) { return i.factory.updateCatchClause(t, s(t.variableDeclaration, r, wi), L.checkDefined(s(t.block, r, Va))) }, 299: function (t, r, i, o, s, l) { return i.factory.updatePropertyAssignment(t, L.checkDefined(s(t.name, r, Ys)), L.checkDefined(s(t.initializer, r, ot))) }, 300: function (t, r, i, o, s, l) { return i.factory.updateShorthandPropertyAssignment(t, L.checkDefined(s(t.name, r, Re)), s(t.objectAssignmentInitializer, r, ot)) }, 301: function (t, r, i, o, s, l) { return i.factory.updateSpreadAssignment(t, L.checkDefined(s(t.expression, r, ot))) }, 302: function (t, r, i, o, s, l) { return i.factory.updateEnumMember(t, L.checkDefined(s(t.name, r, Ys)), s(t.initializer, r, ot)) }, 308: function (t, r, i, o, s, l) { return i.factory.updateSourceFile(t, mF(t.statements, r, i)) }, 356: function (t, r, i, o, s, l) { return i.factory.updatePartiallyEmittedExpression(t, L.checkDefined(s(t.expression, r, ot))) }, 357: function (t, r, i, o, s, l) { return i.factory.updateCommaListExpression(t, o(t.elements, r, ot)) } } } }); function M_e(e, t, r, i, o) { var { enter: s, exit: l } = o.extendedDiagnostics ? x8("Source Map", "beforeSourcemap", "afterSourcemap") : A8, f = [], d = [], g = new Map, m, v = [], S, x = [], A = "", w = 0, C = 0, P = 0, F = 0, B = 0, q = 0, W = !1, Y = 0, R = 0, ie = 0, $ = 0, fe = 0, Z = 0, U = !1, re = !1, le = !1; return { getSources: () => f, addSource: _e, setSourceContent: ge, addName: X, addMapping: ke, appendSourceMap: Pe, toJSON: Le, toString: () => JSON.stringify(Le()) }; function _e(_t) { s(); let ct = Q1(i, _t, e.getCurrentDirectory(), e.getCanonicalFileName, !0), Rt = g.get(ct); return Rt === void 0 && (Rt = d.length, d.push(ct), f.push(_t), g.set(ct, Rt)), l(), Rt } function ge(_t, ct) { if (s(), ct !== null) { for (m || (m = []); m.length < _t;)m.push(null); m[_t] = ct } l() } function X(_t) { s(), S || (S = new Map); let ct = S.get(_t); return ct === void 0 && (ct = v.length, v.push(_t), S.set(_t, ct)), l(), ct } function Ve(_t, ct) { return !U || Y !== _t || R !== ct } function we(_t, ct, Rt) { return _t !== void 0 && ct !== void 0 && Rt !== void 0 && ie === _t && ($ > ct || $ === ct && fe > Rt) } function ke(_t, ct, Rt, We, qe, zt) { L.assert(_t >= Y, "generatedLine cannot backtrack"), L.assert(ct >= 0, "generatedCharacter cannot be negative"), L.assert(Rt === void 0 || Rt >= 0, "sourceIndex cannot be negative"), L.assert(We === void 0 || We >= 0, "sourceLine cannot be negative"), L.assert(qe === void 0 || qe >= 0, "sourceCharacter cannot be negative"), s(), (Ve(_t, ct) || we(Rt, We, qe)) && (Be(), Y = _t, R = ct, re = !1, le = !1, U = !0), Rt !== void 0 && We !== void 0 && qe !== void 0 && (ie = Rt, $ = We, fe = qe, re = !0, zt !== void 0 && (Z = zt, le = !0)), l() } function Pe(_t, ct, Rt, We, qe, zt) { L.assert(_t >= Y, "generatedLine cannot backtrack"), L.assert(ct >= 0, "generatedCharacter cannot be negative"), s(); let Qt = [], tn, kn = EK(Rt.mappings); for (let _n of kn) { if (zt && (_n.generatedLine > zt.line || _n.generatedLine === zt.line && _n.generatedCharacter > zt.character)) break; if (qe && (_n.generatedLine < qe.line || qe.line === _n.generatedLine && _n.generatedCharacter < qe.character)) continue; let Gt, $n, ui, Ni; if (_n.sourceIndex !== void 0) { if (Gt = Qt[_n.sourceIndex], Gt === void 0) { let Dt = Rt.sources[_n.sourceIndex], pn = Rt.sourceRoot ? vi(Rt.sourceRoot, Dt) : Dt, An = vi(ni(We), pn); Qt[_n.sourceIndex] = Gt = _e(An), Rt.sourcesContent && typeof Rt.sourcesContent[_n.sourceIndex] == "string" && ge(Gt, Rt.sourcesContent[_n.sourceIndex]) } $n = _n.sourceLine, ui = _n.sourceCharacter, Rt.names && _n.nameIndex !== void 0 && (tn || (tn = []), Ni = tn[_n.nameIndex], Ni === void 0 && (tn[_n.nameIndex] = Ni = X(Rt.names[_n.nameIndex]))) } let Pi = _n.generatedLine - (qe ? qe.line : 0), gr = Pi + _t, pt = qe && qe.line === _n.generatedLine ? _n.generatedCharacter - qe.character : _n.generatedCharacter, nn = Pi === 0 ? pt + ct : pt; ke(gr, nn, Gt, $n, ui, Ni) } l() } function Ce() { return !W || w !== Y || C !== R || P !== ie || F !== $ || B !== fe || q !== Z } function Ie(_t) { x.push(_t), x.length >= 1024 && Ne() } function Be() { if (!(!U || !Ce())) { if (s(), w < Y) { do Ie(59), w++; while (w < Y); C = 0 } else L.assertEqual(w, Y, "generatedLine cannot backtrack"), W && Ie(44); Ye(R - C), C = R, re && (Ye(ie - P), P = ie, Ye($ - F), F = $, Ye(fe - B), B = fe, le && (Ye(Z - q), q = Z)), W = !0, l() } } function Ne() { x.length > 0 && (A += String.fromCharCode.apply(void 0, x), x.length = 0) } function Le() { return Be(), Ne(), { version: 3, file: t, sourceRoot: r, sources: d, names: v, mappings: A, sourcesContent: m } } function Ye(_t) { _t < 0 ? _t = (-_t << 1) + 1 : _t = _t << 1; do { let ct = _t & 31; _t = _t >> 5, _t > 0 && (ct = ct | 32), Ie(CPe(ct)) } while (_t > 0) } } function F_e(e, t) { return { getLineCount: () => t.length, getLineText: r => e.substring(t[r], t[r + 1]) } } function G_e(e) { for (let t = e.getLineCount() - 1; t >= 0; t--) { let r = e.getLineText(t), i = hF.exec(r); if (i) return $D(i[1]); if (!r.match(gF)) break } } function xPe(e) { return typeof e == "string" || e === null } function B_e(e) { return e !== null && typeof e == "object" && e.version === 3 && typeof e.file == "string" && typeof e.mappings == "string" && ba(e.sources) && Ji(e.sources, Ta) && (e.sourceRoot === void 0 || e.sourceRoot === null || typeof e.sourceRoot == "string") && (e.sourcesContent === void 0 || e.sourcesContent === null || ba(e.sourcesContent) && Ji(e.sourcesContent, xPe)) && (e.names === void 0 || e.names === null || ba(e.names) && Ji(e.names, Ta)) } function bK(e) { try { let t = JSON.parse(e); if (B_e(t)) return t } catch { } } function EK(e) { let t = !1, r = 0, i = 0, o = 0, s = 0, l = 0, f = 0, d = 0, g; return { get pos() { return r }, get error() { return g }, get state() { return m(!0, !0) }, next() { for (; !t && r < e.length;) { let P = e.charCodeAt(r); if (P === 59) { i++, o = 0, r++; continue } if (P === 44) { r++; continue } let F = !1, B = !1; if (o += C(), A()) return v(); if (o < 0) return x("Invalid generatedCharacter found"); if (!w()) { if (F = !0, s += C(), A()) return v(); if (s < 0) return x("Invalid sourceIndex found"); if (w()) return x("Unsupported Format: No entries after sourceIndex"); if (l += C(), A()) return v(); if (l < 0) return x("Invalid sourceLine found"); if (w()) return x("Unsupported Format: No entries after sourceLine"); if (f += C(), A()) return v(); if (f < 0) return x("Invalid sourceCharacter found"); if (!w()) { if (B = !0, d += C(), A()) return v(); if (d < 0) return x("Invalid nameIndex found"); if (!w()) return x("Unsupported Error Format: Entries after nameIndex") } } return { value: m(F, B), done: t } } return v() }, [Symbol.iterator]() { return this } }; function m(P, F) { return { generatedLine: i, generatedCharacter: o, sourceIndex: P ? s : void 0, sourceLine: P ? l : void 0, sourceCharacter: P ? f : void 0, nameIndex: F ? d : void 0 } } function v() { return t = !0, { value: void 0, done: !0 } } function S(P) { g === void 0 && (g = P) } function x(P) { return S(P), v() } function A() { return g !== void 0 } function w() { return r === e.length || e.charCodeAt(r) === 44 || e.charCodeAt(r) === 59 } function C() { let P = !0, F = 0, B = 0; for (; P; r++) { if (r >= e.length) return S("Error in decoding base64VLQFormatDecode, past the mapping string"), -1; let q = IPe(e.charCodeAt(r)); if (q === -1) return S("Invalid character in VLQ"), -1; P = (q & 32) !== 0, B = B | (q & 31) << F, F += 5 } return B & 1 ? (B = B >> 1, B = -B) : B = B >> 1, B } } function APe(e, t) { return e === t || e.generatedLine === t.generatedLine && e.generatedCharacter === t.generatedCharacter && e.sourceIndex === t.sourceIndex && e.sourceLine === t.sourceLine && e.sourceCharacter === t.sourceCharacter && e.nameIndex === t.nameIndex } function U_e(e) { return e.sourceIndex !== void 0 && e.sourceLine !== void 0 && e.sourceCharacter !== void 0 } function CPe(e) { return e >= 0 && e < 26 ? 65 + e : e >= 26 && e < 52 ? 97 + e - 26 : e >= 52 && e < 62 ? 48 + e - 52 : e === 62 ? 43 : e === 63 ? 47 : L.fail(`${e}: not a base64 value`) } function IPe(e) { return e >= 65 && e <= 90 ? e - 65 : e >= 97 && e <= 122 ? e - 97 + 26 : e >= 48 && e <= 57 ? e - 48 + 52 : e === 43 ? 62 : e === 47 ? 63 : -1 } function V_e(e) { return e.sourceIndex !== void 0 && e.sourcePosition !== void 0 } function j_e(e, t) { return e.generatedPosition === t.generatedPosition && e.sourceIndex === t.sourceIndex && e.sourcePosition === t.sourcePosition } function LPe(e, t) { return L.assert(e.sourceIndex === t.sourceIndex), Es(e.sourcePosition, t.sourcePosition) } function kPe(e, t) { return Es(e.generatedPosition, t.generatedPosition) } function DPe(e) { return e.sourcePosition } function wPe(e) { return e.generatedPosition } function H_e(e, t, r) { let i = ni(r), o = t.sourceRoot ? _a(t.sourceRoot, i) : i, s = _a(t.file, i), l = e.getSourceFileLike(s), f = t.sources.map(F => _a(F, o)), d = new Map(f.map((F, B) => [e.getCanonicalFileName(F), B])), g, m, v; return { getSourcePosition: P, getGeneratedPosition: C }; function S(F) { let B = l !== void 0 ? gw(l, F.generatedLine, F.generatedCharacter, !0) : -1, q, W; if (U_e(F)) { let Y = e.getSourceFileLike(f[F.sourceIndex]); q = t.sources[F.sourceIndex], W = Y !== void 0 ? gw(Y, F.sourceLine, F.sourceCharacter, !0) : -1 } return { generatedPosition: B, source: q, sourceIndex: F.sourceIndex, sourcePosition: W, nameIndex: F.nameIndex } } function x() { if (g === void 0) { let F = EK(t.mappings), B = lo(F, S); F.error !== void 0 ? (e.log && e.log(`Encountered error while decoding sourcemap: ${F.error}`), g = Je) : g = B } return g } function A(F) { if (v === void 0) { let B = []; for (let q of x()) { if (!V_e(q)) continue; let W = B[q.sourceIndex]; W || (B[q.sourceIndex] = W = []), W.push(q) } v = B.map(q => HD(q, LPe, j_e)) } return v[F] } function w() { if (m === void 0) { let F = []; for (let B of x()) F.push(B); m = HD(F, kPe, j_e) } return m } function C(F) { let B = d.get(e.getCanonicalFileName(F.fileName)); if (B === void 0) return F; let q = A(B); if (!vt(q)) return F; let W = j1(q, F.pos, DPe, Es); W < 0 && (W = ~W); let Y = q[W]; return Y === void 0 || Y.sourceIndex !== B ? F : { fileName: s, pos: Y.generatedPosition } } function P(F) { let B = w(); if (!vt(B)) return F; let q = j1(B, F.pos, wPe, Es); q < 0 && (q = ~q); let W = B[q]; return W === void 0 || !V_e(W) ? F : { fileName: f[W.sourceIndex], pos: W.sourcePosition } } } var TK, hF, gF, yF, RPe = gt({ "src/compiler/sourcemap.ts"() { "use strict"; fa(), E0(), TK = /\/\/[@#] source[M]appingURL=(.+)\r?\n?$/, hF = /^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/, gF = /^\s*(\/\/[@#] .*)?$/, yF = { getSourcePosition: Ks, getGeneratedPosition: Ks } } }); function sc(e) { return e = ec(e), e ? zo(e) : 0 } function OPe(e) { return !e || !jg(e) ? !1 : vt(e.elements, W_e) } function W_e(e) { return e.propertyName !== void 0 && e.propertyName.escapedText === "default" } function y_(e, t) { return r; function r(o) { return o.kind === 308 ? t(o) : i(o) } function i(o) { return e.factory.createBundle(on(o.sourceFiles, t), o.prepends) } } function z_e(e) { return !!VA(e) } function vF(e) { if (VA(e)) return !0; let t = e.importClause && e.importClause.namedBindings; if (!t || !jg(t)) return !1; let r = 0; for (let i of t.elements) W_e(i) && r++; return r > 0 && r !== t.elements.length || !!(t.elements.length - r) && lS(e) } function SK(e) { return !vF(e) && (lS(e) || !!e.importClause && jg(e.importClause.namedBindings) && OPe(e.importClause.namedBindings)) } function xK(e, t, r, i) { let o = [], s = Nf(), l = [], f = new Map, d, g = !1, m, v = !1, S = !1, x = !1; for (let C of t.statements) switch (C.kind) { case 269: o.push(C), !S && vF(C) && (S = !0), !x && SK(C) && (x = !0); break; case 268: C.moduleReference.kind === 280 && o.push(C); break; case 275: if (C.moduleSpecifier) if (!C.exportClause) o.push(C), v = !0; else if (o.push(C), h_(C.exportClause)) w(C); else { let P = C.exportClause.name; f.get(vr(P)) || (HL(l, sc(C), P), f.set(vr(P), !0), d = Sn(d, P)), S = !0 } else w(C); break; case 274: C.isExportEquals && !m && (m = C); break; case 240: if (Mr(C, 1)) for (let P of C.declarationList.declarations) d = J_e(P, f, d); break; case 259: if (Mr(C, 1)) if (Mr(C, 1024)) g || (HL(l, sc(C), e.factory.getDeclarationName(C)), g = !0); else { let P = C.name; f.get(vr(P)) || (HL(l, sc(C), P), f.set(vr(P), !0), d = Sn(d, P)) } break; case 260: if (Mr(C, 1)) if (Mr(C, 1024)) g || (HL(l, sc(C), e.factory.getDeclarationName(C)), g = !0); else { let P = C.name; P && !f.get(vr(P)) && (HL(l, sc(C), P), f.set(vr(P), !0), d = Sn(d, P)) } break }let A = nJ(e.factory, e.getEmitHelperFactory(), t, i, v, S, x); return A && o.unshift(A), { externalImports: o, exportSpecifiers: s, exportEquals: m, hasExportStarsToExportValues: v, exportedBindings: l, exportedNames: d, externalHelpersImportDeclaration: A }; function w(C) { for (let P of Ga(C.exportClause, h_).elements) if (!f.get(vr(P.name))) { let F = P.propertyName || P.name; C.moduleSpecifier || s.add(vr(F), P); let B = r.getReferencedImportDeclaration(F) || r.getReferencedValueDeclaration(F); B && HL(l, sc(B), P.name), f.set(vr(P.name), !0), d = Sn(d, P.name) } } } function J_e(e, t, r) { if (La(e.name)) for (let i of e.name.elements) ol(i) || (r = J_e(i, t, r)); else if (!tc(e.name)) { let i = vr(e.name); t.get(i) || (t.set(i, !0), r = Sn(r, e.name)) } return r } function HL(e, t, r) { let i = e[t]; return i ? i.push(r) : e[t] = i = [r], i } function Z0(e) { return es(e) || e.kind === 8 || Xu(e.kind) || Re(e) } function Ap(e) { return !Re(e) && Z0(e) } function oN(e) { return e >= 64 && e <= 78 } function WL(e) { switch (e) { case 64: return 39; case 65: return 40; case 66: return 41; case 67: return 42; case 68: return 43; case 69: return 44; case 70: return 47; case 71: return 48; case 72: return 49; case 73: return 50; case 74: return 51; case 78: return 52; case 75: return 56; case 76: return 55; case 77: return 60 } } function AK(e) { if (!Ol(e)) return; let t = vs(e.expression); return OA(t) ? t : void 0 } function bF(e, t) { for (let r = t; r < e.length; r += 1) { let i = e[r]; if (AK(i)) return r } return -1 } function CK(e, t, r) { return Pr(e.members, i => PPe(i, t, r)) } function NPe(e) { return MPe(e) || oc(e) } function EF(e) { return Pr(e.members, NPe) } function PPe(e, t, r) { return Na(e) && (!!e.initializer || !t) && zc(e) === r } function MPe(e) { return Na(e) && zc(e) } function sN(e) { return e.kind === 169 && e.initializer !== void 0 } function K_e(e) { return !Ca(e) && (xA(e) || Id(e)) && pi(e.name) } function IK(e) { let t; if (e) { let r = e.parameters, i = r.length > 0 && G0(r[0]), o = i ? 1 : 0, s = i ? r.length - 1 : r.length; for (let l = 0; l < s; l++) { let f = r[l + o]; (t || bf(f)) && (t || (t = new Array(s)), t[l] = Uy(f)) } } return t } function LK(e) { let t = Uy(e), r = IK(Vm(e)); if (!(!vt(t) && !vt(r))) return { decorators: t, parameters: r } } function TF(e, t, r) { switch (e.kind) { case 174: case 175: return r ? FPe(e, t) : q_e(e); case 171: return q_e(e); case 169: return GPe(e); default: return } } function FPe(e, t) { if (!e.body) return; let { firstAccessor: r, secondAccessor: i, getAccessor: o, setAccessor: s } = kT(t.members, e), l = bf(r) ? r : i && bf(i) ? i : void 0; if (!l || e !== l) return; let f = Uy(l), d = IK(s); if (!(!vt(f) && !vt(d))) return { decorators: f, parameters: d, getDecorators: o && Uy(o), setDecorators: s && Uy(s) } } function q_e(e) { if (!e.body) return; let t = Uy(e), r = IK(e); if (!(!vt(t) && !vt(r))) return { decorators: t, parameters: r } } function GPe(e) { let t = Uy(e); if (vt(t)) return { decorators: t } } function X_e(e, t) { for (; e;) { let r = t(e); if (r !== void 0) return r; e = e.previous } } function Y_e(e) { return { data: e } } function kK(e, t) { var r, i; return tS(t) ? (r = e?.generatedIdentifiers) == null ? void 0 : r.get(I3(t)) : (i = e?.identifiers) == null ? void 0 : i.get(t.escapedText) } function JT(e, t, r) { var i, o; tS(t) ? ((i = e.generatedIdentifiers) != null || (e.generatedIdentifiers = new Map), e.generatedIdentifiers.set(I3(t), r)) : ((o = e.identifiers) != null || (e.identifiers = new Map), e.identifiers.set(t.escapedText, r)) } function $_e(e, t) { return X_e(e, r => kK(r.privateEnv, t)) } var BPe = gt({ "src/compiler/transformers/utilities.ts"() { "use strict"; fa() } }); function KT(e, t, r, i, o, s) { let l = e, f; if (Fg(e)) for (f = e.right; Zce(e.left) || dW(e.left);)if (Fg(f)) l = e = f, f = e.right; else return L.checkDefined($e(f, t, ot)); let d, g = { context: r, level: i, downlevelIteration: !!r.getCompilerOptions().downlevelIteration, hoistTempVariables: !0, emitExpression: m, emitBindingOrAssignment: v, createArrayBindingOrAssignmentPattern: S => KPe(r.factory, S), createObjectBindingOrAssignmentPattern: S => XPe(r.factory, S), createArrayBindingOrAssignmentElement: $Pe, visitor: t }; if (f && (f = $e(f, t, ot), L.assert(f), Re(f) && DK(e, f.escapedText) || wK(e) ? f = qT(g, f, !1, l) : o ? f = qT(g, f, !0, l) : ws(e) && (l = f)), M2(g, e, f, l, Fg(e)), f && o) { if (!vt(d)) return f; d.push(f) } return r.factory.inlineExpressions(d) || r.factory.createOmittedExpression(); function m(S) { d = Sn(d, S) } function v(S, x, A, w) { L.assertNode(S, s ? Re : ot); let C = s ? s(S, x, A) : it(r.factory.createAssignment(L.checkDefined($e(S, t, ot)), x), A); C.original = w, m(C) } } function DK(e, t) { let r = iv(e); return kw(r) ? UPe(r, t) : Re(r) ? r.escapedText === t : !1 } function UPe(e, t) { let r = I2(e); for (let i of r) if (DK(i, t)) return !0; return !1 } function wK(e) { let t = A3(e); if (t && ts(t) && !fT(t.expression)) return !0; let r = iv(e); return !!r && kw(r) && VPe(r) } function VPe(e) { return !!mn(I2(e), wK) } function eE(e, t, r, i, o, s = !1, l) { let f, d = [], g = [], m = { context: r, level: i, downlevelIteration: !!r.getCompilerOptions().downlevelIteration, hoistTempVariables: s, emitExpression: v, emitBindingOrAssignment: S, createArrayBindingOrAssignmentPattern: x => JPe(r.factory, x), createObjectBindingOrAssignmentPattern: x => qPe(r.factory, x), createArrayBindingOrAssignmentElement: x => YPe(r.factory, x), visitor: t }; if (wi(e)) { let x = AO(e); x && (Re(x) && DK(e, x.escapedText) || wK(e)) && (x = qT(m, L.checkDefined($e(x, m.visitor, ot)), !1, x), e = r.factory.updateVariableDeclaration(e, e.name, void 0, void 0, x)) } if (M2(m, e, o, e, l), f) { let x = r.factory.createTempVariable(void 0); if (s) { let A = r.factory.inlineExpressions(f); f = void 0, S(x, A, void 0, void 0) } else { r.hoistVariableDeclaration(x); let A = To(d); A.pendingExpressions = Sn(A.pendingExpressions, r.factory.createAssignment(x, A.value)), si(A.pendingExpressions, f), A.value = x } } for (let { pendingExpressions: x, name: A, value: w, location: C, original: P } of d) { let F = r.factory.createVariableDeclaration(A, void 0, void 0, x ? r.factory.inlineExpressions(Sn(x, w)) : w); F.original = P, it(F, C), g.push(F) } return g; function v(x) { f = Sn(f, x) } function S(x, A, w, C) { L.assertNode(x, Mm), f && (A = r.factory.inlineExpressions(Sn(f, A)), f = void 0), d.push({ pendingExpressions: f, name: x, value: A, location: w, original: C }) } } function M2(e, t, r, i, o) { let s = iv(t); if (!o) { let l = $e(AO(t), e.visitor, ot); l ? r ? (r = WPe(e, r, l, i), !Ap(l) && kw(s) && (r = qT(e, r, !0, i))) : r = l : r || (r = e.context.factory.createVoidZero()) } Uj(s) ? jPe(e, t, s, r, i) : Vj(s) ? HPe(e, t, s, r, i) : e.emitBindingOrAssignment(s, r, i, t) } function jPe(e, t, r, i, o) { let s = I2(r), l = s.length; if (l !== 1) { let g = !Lw(t) || l !== 0; i = qT(e, i, g, o) } let f, d; for (let g = 0; g < l; g++) { let m = s[g]; if (x3(m)) { if (g === l - 1) { f && (e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(f), i, o, r), f = void 0); let v = e.context.getEmitHelperFactory().createRestHelper(i, s, d, r); M2(e, m, v, m) } } else { let v = rJ(m); if (e.level >= 1 && !(m.transformFlags & 98304) && !(iv(m).transformFlags & 98304) && !ts(v)) f = Sn(f, $e(m, e.visitor, use)); else { f && (e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(f), i, o, r), f = void 0); let S = zPe(e, i, v); ts(v) && (d = Sn(d, S.argumentExpression)), M2(e, m, S, m) } } } f && e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(f), i, o, r) } function HPe(e, t, r, i, o) { let s = I2(r), l = s.length; if (e.level < 1 && e.downlevelIteration) i = qT(e, it(e.context.getEmitHelperFactory().createReadHelper(i, l > 0 && x3(s[l - 1]) ? void 0 : l), o), !1, o); else if (l !== 1 && (e.level < 1 || l === 0) || Ji(s, ol)) { let g = !Lw(t) || l !== 0; i = qT(e, i, g, o) } let f, d; for (let g = 0; g < l; g++) { let m = s[g]; if (e.level >= 1) if (m.transformFlags & 65536 || e.hasTransformedPriorElement && !Q_e(m)) { e.hasTransformedPriorElement = !0; let v = e.context.factory.createTempVariable(void 0); e.hoistTempVariables && e.context.hoistVariableDeclaration(v), d = Sn(d, [v, m]), f = Sn(f, e.createArrayBindingOrAssignmentElement(v)) } else f = Sn(f, m); else { if (ol(m)) continue; if (x3(m)) { if (g === l - 1) { let v = e.context.factory.createArraySliceCall(i, g); M2(e, m, v, m) } } else { let v = e.context.factory.createElementAccessExpression(i, g); M2(e, m, v, m) } } } if (f && e.emitBindingOrAssignment(e.createArrayBindingOrAssignmentPattern(f), i, o, r), d) for (let [g, m] of d) M2(e, m, g, m) } function Q_e(e) { let t = iv(e); if (!t || ol(t)) return !0; let r = A3(e); if (r && !c_(r)) return !1; let i = AO(e); return i && !Ap(i) ? !1 : kw(t) ? Ji(I2(t), Q_e) : Re(t) } function WPe(e, t, r, i) { return t = qT(e, t, !0, i), e.context.factory.createConditionalExpression(e.context.factory.createTypeCheck(t, "undefined"), void 0, r, void 0, t) } function zPe(e, t, r) { if (ts(r)) { let i = qT(e, L.checkDefined($e(r.expression, e.visitor, ot)), !1, r); return e.context.factory.createElementAccessExpression(t, i) } else if (yf(r)) { let i = D.cloneNode(r); return e.context.factory.createElementAccessExpression(t, i) } else { let i = e.context.factory.createIdentifier(vr(r)); return e.context.factory.createPropertyAccessExpression(t, i) } } function qT(e, t, r, i) { if (Re(t) && r) return t; { let o = e.context.factory.createTempVariable(void 0); return e.hoistTempVariables ? (e.context.hoistVariableDeclaration(o), e.emitExpression(it(e.context.factory.createAssignment(o, t), i))) : e.emitBindingOrAssignment(o, t, i, void 0), o } } function JPe(e, t) { return L.assertEachNode(t, c6), e.createArrayBindingPattern(t) } function KPe(e, t) { return L.assertEachNode(t, ww), e.createArrayLiteralExpression(on(t, e.converters.convertToArrayAssignmentElement)) } function qPe(e, t) { return L.assertEachNode(t, Wo), e.createObjectBindingPattern(t) } function XPe(e, t) { return L.assertEachNode(t, Dw), e.createObjectLiteralExpression(on(t, e.converters.convertToObjectAssignmentElement)) } function YPe(e, t) { return e.createBindingElement(void 0, void 0, t) } function $Pe(e) { return e } var RK, QPe = gt({ "src/compiler/transformers/destructuring.ts"() { "use strict"; fa(), RK = (e => (e[e.All = 0] = "All", e[e.ObjectRest = 1] = "ObjectRest", e))(RK || {}) } }); function OK(e, t, r, i, o, s) { let l = $e(t.tag, r, ot); L.assert(l); let f = [void 0], d = [], g = [], m = t.template; if (s === 0 && !KH(m)) return xn(t, r, e); if (IS(m)) d.push(NK(m)), g.push(PK(m, i)); else { d.push(NK(m.head)), g.push(PK(m.head, i)); for (let S of m.templateSpans) d.push(NK(S.literal)), g.push(PK(S.literal, i)), f.push(L.checkDefined($e(S.expression, r, ot))) } let v = e.getEmitHelperFactory().createTemplateObjectHelper(D.createArrayLiteralExpression(d), D.createArrayLiteralExpression(g)); if (Lc(i)) { let S = D.createUniqueName("templateObject"); o(S), f[0] = D.createLogicalOr(S, D.createAssignment(S, v)) } else f[0] = v; return D.createCallExpression(l, void 0, f) } function NK(e) { return e.templateFlags ? D.createVoidZero() : D.createStringLiteral(e.text) } function PK(e, t) {
-                let r = e.rawText; if (r === void 0) { L.assertIsDefined(t, "Template literal node is missing 'rawText' and does not have a source file. Possibly bad transform."), r = k0(t, e); let i = e.kind === 14 || e.kind === 17; r = r.substring(1, r.length - (i ? 1 : 2)) } return r = r.replace(/\r\n?/g, `
-`), it(D.createStringLiteral(r), e)
-            } var MK, ZPe = gt({ "src/compiler/transformers/taggedTemplate.ts"() { "use strict"; fa(), MK = (e => (e[e.LiftRestriction = 0] = "LiftRestriction", e[e.All = 1] = "All", e))(MK || {}) } }); function Z_e(e) { let { factory: t, getEmitHelperFactory: r, startLexicalEnvironment: i, resumeLexicalEnvironment: o, endLexicalEnvironment: s, hoistVariableDeclaration: l } = e, f = e.getEmitResolver(), d = e.getCompilerOptions(), g = Do(d), m = Rl(d), v = !!d.experimentalDecorators, S = d.emitDecoratorMetadata ? npe(e) : void 0, x = e.onEmitNode, A = e.onSubstituteNode; e.onEmitNode = bl, e.onSubstituteNode = ss, e.enableSubstitution(208), e.enableSubstitution(209); let w, C, P, F, B, q, W, Y; return R; function R(K) { return K.kind === 309 ? ie(K) : $(K) } function ie(K) { return t.createBundle(K.sourceFiles.map($), Zi(K.prepends, Xe => Xe.kind === 311 ? fz(Xe, "js") : Xe)) } function $(K) { if (K.isDeclarationFile) return K; w = K; let Xe = fe(K, Ye); return Bg(Xe, e.readEmitHelpers()), w = void 0, Xe } function fe(K, Xe) { let ft = F, Yt = B, pr = q; Z(K); let yr = Xe(K); return F !== ft && (B = Yt), F = ft, q = pr, yr } function Z(K) { switch (K.kind) { case 308: case 266: case 265: case 238: F = K, B = void 0; break; case 260: case 259: if (Mr(K, 2)) break; K.name ? Te(K) : L.assert(K.kind === 260 || Mr(K, 1024)); break } } function U(K) { return fe(K, re) } function re(K) { return K.transformFlags & 1 ? Le(K) : K } function le(K) { return fe(K, _e) } function _e(K) { switch (K.kind) { case 269: case 268: case 274: case 275: return ge(K); default: return re(K) } } function ge(K) { if (ea(K) !== K) return K.transformFlags & 1 ? xn(K, U, e) : K; switch (K.kind) { case 269: return jr(K); case 268: return Qr(K); case 274: return Ja(K); case 275: return Za(K); default: L.fail("Unhandled ellided statement") } } function X(K) { return fe(K, Ve) } function Ve(K) { if (!(K.kind === 275 || K.kind === 269 || K.kind === 270 || K.kind === 268 && K.moduleReference.kind === 280)) return K.transformFlags & 1 || Mr(K, 1) ? Le(K) : K } function we(K) { return Xe => fe(Xe, ft => ke(ft, K)) } function ke(K, Xe) { switch (K.kind) { case 173: return hi(K); case 169: return Kn(K, Xe); case 174: return dr(K, Xe); case 175: return Cr(K, Xe); case 171: return Ht(K, Xe); case 172: return xn(K, U, e); case 237: return K; case 178: return; default: return L.failBadSyntaxKind(K) } } function Pe(K) { return Xe => fe(Xe, ft => Ce(ft, K)) } function Ce(K, Xe) { switch (K.kind) { case 299: case 300: case 301: return U(K); case 174: return dr(K, Xe); case 175: return Cr(K, Xe); case 171: return Ht(K, Xe); default: return L.failBadSyntaxKind(K) } } function Ie(K) { return du(K) ? void 0 : U(K) } function Be(K) { return Ha(K) ? void 0 : U(K) } function Ne(K) { if (!du(K) && !(gS(K.kind) & 117086) && !(C && K.kind === 93)) return K } function Le(K) { if (ca(K) && Mr(K, 2)) return t.createNotEmittedStatement(K); switch (K.kind) { case 93: case 88: return C ? void 0 : K; case 123: case 121: case 122: case 126: case 161: case 85: case 136: case 146: case 101: case 145: case 185: case 186: case 187: case 188: case 184: case 179: case 165: case 131: case 157: case 134: case 152: case 148: case 144: case 114: case 153: case 182: case 181: case 183: case 180: case 189: case 190: case 191: case 193: case 194: case 195: case 196: case 197: case 198: case 178: return; case 262: return t.createNotEmittedStatement(K); case 267: return; case 261: return t.createNotEmittedStatement(K); case 260: return qe(K); case 228: return Qt(K); case 294: return Dt(K); case 230: return pn(K); case 207: return _t(K); case 173: case 169: case 171: case 174: case 175: case 172: return L.fail("Class and object literal elements must be visited with their respective visitors"); case 259: return Se(K); case 215: return at(K); case 216: return Tt(K); case 166: return ve(K); case 214: return ue(K); case 213: case 231: return G(K); case 235: return je(K); case 210: return Ge(K); case 211: return kt(K); case 212: return Kt(K); case 232: return Oe(K); case 263: return rt(K); case 240: return nt(K); case 257: return Q(K); case 264: return Qe(K); case 268: return Qr(K); case 282: return ln(K); case 283: return ir(K); default: return xn(K, U, e) } } function Ye(K) { let Xe = Uf(d, "alwaysStrict") && !(Lc(K) && m >= 5) && !Mf(K); return t.updateSourceFile(K, mF(K.statements, le, e, 0, Xe)) } function _t(K) { return t.updateObjectLiteralExpression(K, On(K.properties, Pe(K), Og)) } function ct(K) { let Xe = 0; vt(CK(K, !0, !0)) && (Xe |= 1); let ft = hp(K); return ft && ql(ft.expression).kind !== 104 && (Xe |= 64), O0(v, K) && (Xe |= 2), kI(v, K) && (Xe |= 4), Wi(K) ? Xe |= 8 : kc(K) ? Xe |= 32 : Ki(K) && (Xe |= 16), Xe } function Rt(K) { return !!(K.transformFlags & 8192) } function We(K) { return bf(K) || vt(K.typeParameters) || vt(K.heritageClauses, Rt) || vt(K.members, Rt) } function qe(K) { var Xe; let ft = ct(K), Yt = g <= 1 && !!(ft & 7); if (!We(K) && !O0(v, K) && !Wi(K)) return t.updateClassDeclaration(K, On(K.modifiers, Ne, Ha), K.name, void 0, On(K.heritageClauses, U, dd), On(K.members, we(K), _l)); Yt && e.startLexicalEnvironment(); let pr = Yt || ft & 8 || ft & 2 && v || ft & 1, yr = pr ? On(K.modifiers, Be, Ns) : On(K.modifiers, U, Ns); ft & 2 && (yr = kn(yr, K)); let Go = pr && !K.name || ft & 4 || ft & 1 ? (Xe = K.name) != null ? Xe : t.getGeneratedNameForNode(K) : K.name, Ka = t.updateClassDeclaration(K, yr, Go, void 0, On(K.heritageClauses, U, dd), tn(K)), vo = Ya(K); ft & 1 && (vo |= 64), Jn(Ka, vo); let ka; if (Yt) { let Hs = [Ka], Uc = _W(xo(w.text, K.members.end), 19), Gu = t.getInternalName(K), $o = t.createPartiallyEmittedExpression(Gu); r2($o, Uc.end), Jn($o, 3072); let jo = t.createReturnStatement($o); aL(jo, Uc.pos), Jn(jo, 3840), Hs.push(jo), em(Hs, e.endLexicalEnvironment()); let Ws = t.createImmediatelyInvokedArrowFunction(Hs); eO(Ws, 1); let hd = ft & 16 ? t.createModifiersFromModifierFlags(1) : void 0, vc = t.createVariableStatement(hd, t.createVariableDeclarationList([t.createVariableDeclaration(t.getLocalName(K, !1, !1), void 0, void 0, Ws)], 1)); Ir(vc, K), hl(vc, K), Ho(vc, $y(K)), mu(vc), ka = vc } else ka = Ka; if (pr) { if (ft & 8) return zt(ka, Ps(K)); if (ft & 32) return zt(ka, t.createExportDefault(t.getLocalName(K, !1, !0))); if (ft & 16 && !Yt) return zt(ka, t.createExternalModuleExport(t.getLocalName(K, !1, !0))) } return ka } function zt(K, Xe) { return bp(K, 8388608), [K, Xe, t.createEndOfDeclarationMarker(K)] } function Qt(K) { let Xe = On(K.modifiers, Be, Ns); return O0(v, K) && (Xe = kn(Xe, K)), t.updateClassExpression(K, Xe, K.name, void 0, On(K.heritageClauses, U, dd), tn(K)) } function tn(K) { let Xe = On(K.members, we(K), _l), ft, Yt = Vm(K), pr = Yt && Pr(Yt.parameters, yr => Ad(yr, Yt)); if (pr) for (let yr of pr) { let ta = t.createPropertyDeclaration(void 0, yr.name, void 0, void 0, void 0); Ir(ta, yr), ft = Sn(ft, ta) } return ft ? (ft = si(ft, Xe), it(t.createNodeArray(ft), K.members)) : Xe } function kn(K, Xe) { let ft = Gt(Xe, Xe); if (vt(ft)) { let Yt = []; si(Yt, v8(K, oJ)), si(Yt, Pr(K, du)), si(Yt, ft), si(Yt, Pr(Nae(K, oJ), Ha)), K = it(t.createNodeArray(Yt), K) } return K } function _n(K, Xe, ft) { if (Yr(ft) && AH(v, Xe, ft)) { let Yt = Gt(Xe, ft); if (vt(Yt)) { let pr = []; si(pr, Pr(K, du)), si(pr, Yt), si(pr, Pr(K, Ha)), K = it(t.createNodeArray(pr), K) } } return K } function Gt(K, Xe) { if (v) return epe ? ui(K, Xe) : $n(K, Xe) } function $n(K, Xe) { if (S) { let ft; if (Ni(K)) { let Yt = r().createMetadataHelper("design:type", S.serializeTypeOfNode({ currentLexicalScope: F, currentNameScope: Xe }, K)); ft = Sn(ft, t.createDecorator(Yt)) } if (gr(K)) { let Yt = r().createMetadataHelper("design:paramtypes", S.serializeParameterTypesOfNode({ currentLexicalScope: F, currentNameScope: Xe }, K, Xe)); ft = Sn(ft, t.createDecorator(Yt)) } if (Pi(K)) { let Yt = r().createMetadataHelper("design:returntype", S.serializeReturnTypeOfNode({ currentLexicalScope: F, currentNameScope: Xe }, K)); ft = Sn(ft, t.createDecorator(Yt)) } return ft } } function ui(K, Xe) { if (S) { let ft; if (Ni(K)) { let Yt = t.createPropertyAssignment("type", t.createArrowFunction(void 0, void 0, [], void 0, t.createToken(38), S.serializeTypeOfNode({ currentLexicalScope: F, currentNameScope: Xe }, K))); ft = Sn(ft, Yt) } if (gr(K)) { let Yt = t.createPropertyAssignment("paramTypes", t.createArrowFunction(void 0, void 0, [], void 0, t.createToken(38), S.serializeParameterTypesOfNode({ currentLexicalScope: F, currentNameScope: Xe }, K, Xe))); ft = Sn(ft, Yt) } if (Pi(K)) { let Yt = t.createPropertyAssignment("returnType", t.createArrowFunction(void 0, void 0, [], void 0, t.createToken(38), S.serializeReturnTypeOfNode({ currentLexicalScope: F, currentNameScope: Xe }, K))); ft = Sn(ft, Yt) } if (ft) { let Yt = r().createMetadataHelper("design:typeinfo", t.createObjectLiteralExpression(ft, !0)); return [t.createDecorator(Yt)] } } } function Ni(K) { let Xe = K.kind; return Xe === 171 || Xe === 174 || Xe === 175 || Xe === 169 } function Pi(K) { return K.kind === 171 } function gr(K) { switch (K.kind) { case 260: case 228: return Vm(K) !== void 0; case 171: case 174: case 175: return !0 }return !1 } function pt(K, Xe) { let ft = K.name; return pi(ft) ? t.createIdentifier("") : ts(ft) ? Xe && !Ap(ft.expression) ? t.getGeneratedNameForNode(ft) : ft.expression : Re(ft) ? t.createStringLiteral(vr(ft)) : t.cloneNode(ft) } function nn(K) { let Xe = K.name; if (ts(Xe) && (!zc(K) && q || bf(K) && v)) { let ft = $e(Xe.expression, U, ot); L.assert(ft); let Yt = a_(ft); if (!Ap(Yt)) { let pr = t.getGeneratedNameForNode(Xe); return l(pr), t.updateComputedPropertyName(Xe, t.createAssignment(pr, ft)) } } return L.checkDefined($e(Xe, U, Ys)) } function Dt(K) { if (K.token !== 117) return xn(K, U, e) } function pn(K) { return t.updateExpressionWithTypeArguments(K, L.checkDefined($e(K.expression, U, Ju)), void 0) } function An(K) { return !rc(K.body) } function Kn(K, Xe) { let ft = K.flags & 16777216 || Mr(K, 256); if (ft && !(v && bf(K))) return; let Yt = Yr(Xe) ? ft ? On(K.modifiers, Be, Ns) : On(K.modifiers, U, Ns) : On(K.modifiers, Ie, Ns); return Yt = _n(Yt, K, Xe), ft ? t.updatePropertyDeclaration(K, Qi(Yt, t.createModifiersFromModifierFlags(2)), L.checkDefined($e(K.name, U, Ys)), void 0, void 0, void 0) : t.updatePropertyDeclaration(K, Yt, nn(K), void 0, void 0, $e(K.initializer, U, ot)) } function hi(K) { if (An(K)) return t.updateConstructorDeclaration(K, void 0, Sc(K.parameters, U, e), ri(K.body, K)) } function ri(K, Xe) { let ft = Xe && Pr(Xe.parameters, vo => Ad(vo, Xe)); if (!vt(ft)) return Zd(K, U, e); let Yt = []; o(); let pr = t.copyPrologue(K.statements, Yt, !1, U), yr = bF(K.statements, pr); yr >= 0 && si(Yt, On(K.statements, U, ca, pr, yr + 1 - pr)); let ta = Zi(ft, vn); yr >= 0 ? si(Yt, ta) : Yt = [...Yt.slice(0, pr), ...ta, ...Yt.slice(pr)]; let Go = yr >= 0 ? yr + 1 : pr; si(Yt, On(K.statements, U, ca, Go)), Yt = t.mergeLexicalEnvironment(Yt, s()); let Ka = t.createBlock(it(t.createNodeArray(Yt), K.statements), !0); return it(Ka, K), Ir(Ka, K), Ka } function vn(K) { let Xe = K.name; if (!Re(Xe)) return; let ft = go(it(t.cloneNode(Xe), Xe), Xe.parent); Jn(ft, 3168); let Yt = go(it(t.cloneNode(Xe), Xe), Xe.parent); return Jn(Yt, 3072), mu(ZR(it(Ir(t.createExpressionStatement(t.createAssignment(it(t.createPropertyAccessExpression(t.createThis(), ft), K.name), Yt)), K), fb(K, -1)))) } function Ht(K, Xe) { if (!(K.transformFlags & 1)) return K; if (!An(K)) return; let ft = Yr(Xe) ? On(K.modifiers, U, Ns) : On(K.modifiers, Ie, Ns); return ft = _n(ft, K, Xe), t.updateMethodDeclaration(K, ft, K.asteriskToken, nn(K), void 0, void 0, Sc(K.parameters, U, e), void 0, Zd(K.body, U, e)) } function En(K) { return !(rc(K.body) && Mr(K, 256)) } function dr(K, Xe) { if (!(K.transformFlags & 1)) return K; if (!En(K)) return; let ft = Yr(Xe) ? On(K.modifiers, U, Ns) : On(K.modifiers, Ie, Ns); return ft = _n(ft, K, Xe), t.updateGetAccessorDeclaration(K, ft, nn(K), Sc(K.parameters, U, e), void 0, Zd(K.body, U, e) || t.createBlock([])) } function Cr(K, Xe) { if (!(K.transformFlags & 1)) return K; if (!En(K)) return; let ft = Yr(Xe) ? On(K.modifiers, U, Ns) : On(K.modifiers, Ie, Ns); return ft = _n(ft, K, Xe), t.updateSetAccessorDeclaration(K, ft, nn(K), Sc(K.parameters, U, e), Zd(K.body, U, e) || t.createBlock([])) } function Se(K) { if (!An(K)) return t.createNotEmittedStatement(K); let Xe = t.updateFunctionDeclaration(K, On(K.modifiers, Ne, Ha), K.asteriskToken, K.name, void 0, Sc(K.parameters, U, e), void 0, Zd(K.body, U, e) || t.createBlock([])); if (Wi(K)) { let ft = [Xe]; return mc(ft, K), ft } return Xe } function at(K) { return An(K) ? t.updateFunctionExpression(K, On(K.modifiers, Ne, Ha), K.asteriskToken, K.name, void 0, Sc(K.parameters, U, e), void 0, Zd(K.body, U, e) || t.createBlock([])) : t.createOmittedExpression() } function Tt(K) { return t.updateArrowFunction(K, On(K.modifiers, Ne, Ha), void 0, Sc(K.parameters, U, e), void 0, K.equalsGreaterThanToken, Zd(K.body, U, e)) } function ve(K) { if (G0(K)) return; let Xe = t.updateParameterDeclaration(K, On(K.modifiers, ft => du(ft) ? U(ft) : void 0, Ns), K.dotDotDotToken, L.checkDefined($e(K.name, U, Mm)), void 0, void 0, $e(K.initializer, U, ot)); return Xe !== K && (hl(Xe, K), it(Xe, yp(K)), Ho(Xe, yp(K)), Jn(Xe.name, 64)), Xe } function nt(K) { if (Wi(K)) { let Xe = qI(K.declarationList); return Xe.length === 0 ? void 0 : it(t.createExpressionStatement(t.inlineExpressions(on(Xe, ce))), K) } else return xn(K, U, e) } function ce(K) { let Xe = K.name; return La(Xe) ? KT(K, U, e, 0, !1, hc) : it(t.createAssignment(ro(Xe), L.checkDefined($e(K.initializer, U, ot))), K) } function Q(K) { let Xe = t.updateVariableDeclaration(K, L.checkDefined($e(K.name, U, Mm)), void 0, void 0, $e(K.initializer, U, ot)); return K.type && yue(Xe.name, K.type), Xe } function ue(K) { let Xe = ql(K.expression, -7); if (pT(Xe)) { let ft = $e(K.expression, U, ot); return L.assert(ft), t.createPartiallyEmittedExpression(ft, K) } return xn(K, U, e) } function G(K) { let Xe = $e(K.expression, U, ot); return L.assert(Xe), t.createPartiallyEmittedExpression(Xe, K) } function Oe(K) { let Xe = $e(K.expression, U, Ju); return L.assert(Xe), t.createPartiallyEmittedExpression(Xe, K) } function je(K) { let Xe = $e(K.expression, U, ot); return L.assert(Xe), t.createPartiallyEmittedExpression(Xe, K) } function Ge(K) { return t.updateCallExpression(K, L.checkDefined($e(K.expression, U, ot)), void 0, On(K.arguments, U, ot)) } function kt(K) { return t.updateNewExpression(K, L.checkDefined($e(K.expression, U, ot)), void 0, On(K.arguments, U, ot)) } function Kt(K) { return t.updateTaggedTemplateExpression(K, L.checkDefined($e(K.tag, U, ot)), void 0, L.checkDefined($e(K.template, U, AA))) } function ln(K) { return t.updateJsxSelfClosingElement(K, L.checkDefined($e(K.tagName, U, bI)), void 0, L.checkDefined($e(K.attributes, U, K0))) } function ir(K) { return t.updateJsxOpeningElement(K, L.checkDefined($e(K.tagName, U, bI)), void 0, L.checkDefined($e(K.attributes, U, K0))) } function ae(K) { return !R0(K) || U0(d) } function rt(K) { if (!ae(K)) return t.createNotEmittedStatement(K); let Xe = [], ft = 4, Yt = lt(Xe, K); Yt && (m !== 4 || F !== w) && (ft |= 1024); let pr = aa(K), yr = Co(K), ta = Mr(K, 1) ? t.getExternalModuleOrNamespaceExportName(P, K, !1, !0) : t.getLocalName(K, !1, !0), Go = t.createLogicalOr(ta, t.createAssignment(ta, t.createObjectLiteralExpression())); if (z(K)) { let vo = t.getLocalName(K, !1, !0); Go = t.createAssignment(vo, Go) } let Ka = t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0, void 0, void 0, void 0, [t.createParameterDeclaration(void 0, void 0, pr)], void 0, Ot(K, yr)), void 0, [Go])); return Ir(Ka, K), Yt && (W0(Ka, void 0), u2(Ka, void 0)), it(Ka, K), bp(Ka, ft), Xe.push(Ka), Xe.push(t.createEndOfDeclarationMarker(K)), Xe } function Ot(K, Xe) { let ft = P; P = Xe; let Yt = []; i(); let pr = on(K.members, Ke); return em(Yt, s()), si(Yt, pr), P = ft, t.createBlock(it(t.createNodeArray(Yt), K.members), !0) } function Ke(K) { let Xe = pt(K, !1), ft = oe(K), Yt = t.createAssignment(t.createElementAccessExpression(P, Xe), ft), pr = ft.kind === 10 ? Yt : t.createAssignment(t.createElementAccessExpression(P, Yt), Xe); return it(t.createExpressionStatement(it(pr, K)), K) } function oe(K) { let Xe = f.getConstantValue(K); return Xe !== void 0 ? typeof Xe == "string" ? t.createStringLiteral(Xe) : t.createNumericLiteral(Xe) : (gc(), K.initializer ? L.checkDefined($e(K.initializer, U, ot)) : t.createVoidZero()) } function pe(K) { let Xe = ea(K, Tc); return Xe ? fK(Xe, U0(d)) : !0 } function z(K) { return Wi(K) || gn(K) && m !== 5 && m !== 6 && m !== 7 && m !== 99 && m !== 4 } function Te(K) { B || (B = new Map); let Xe = yt(K); B.has(Xe) || B.set(Xe, K) } function j(K) { if (B) { let Xe = yt(K); return B.get(Xe) === K } return !0 } function yt(K) { return L.assertNode(K.name, Re), K.name.escapedText } function lt(K, Xe) { let ft = t.createVariableStatement(On(Xe.modifiers, Ne, Ha), t.createVariableDeclarationList([t.createVariableDeclaration(t.getLocalName(Xe, !1, !0))], F.kind === 308 ? 0 : 1)); if (Ir(ft, Xe), Te(Xe), j(Xe)) return Xe.kind === 263 ? Ho(ft.declarationList, Xe) : Ho(ft, Xe), hl(ft, Xe), bp(ft, 8390656), K.push(ft), !0; { let Yt = t.createMergeDeclarationMarker(ft); return Jn(Yt, 8391680), K.push(Yt), !1 } } function Qe(K) { if (!pe(K)) return t.createNotEmittedStatement(K); L.assertNode(K.name, Re, "A TypeScript namespace should have an Identifier name."), Ll(); let Xe = [], ft = 4, Yt = lt(Xe, K); Yt && (m !== 4 || F !== w) && (ft |= 1024); let pr = aa(K), yr = Co(K), ta = Mr(K, 1) ? t.getExternalModuleOrNamespaceExportName(P, K, !1, !0) : t.getLocalName(K, !1, !0), Go = t.createLogicalOr(ta, t.createAssignment(ta, t.createObjectLiteralExpression())); if (z(K)) { let vo = t.getLocalName(K, !1, !0); Go = t.createAssignment(vo, Go) } let Ka = t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0, void 0, void 0, void 0, [t.createParameterDeclaration(void 0, void 0, pr)], void 0, Vt(K, yr)), void 0, [Go])); return Ir(Ka, K), Yt && (W0(Ka, void 0), u2(Ka, void 0)), it(Ka, K), bp(Ka, ft), Xe.push(Ka), Xe.push(t.createEndOfDeclarationMarker(K)), Xe } function Vt(K, Xe) { let ft = P, Yt = C, pr = B; P = Xe, C = K, B = void 0; let yr = []; i(); let ta, Go; if (K.body) if (K.body.kind === 265) fe(K.body, vo => si(yr, On(vo.statements, X, ca))), ta = K.body.statements, Go = K.body; else { let vo = Qe(K.body); vo && (ba(vo) ? si(yr, vo) : yr.push(vo)); let ka = Hn(K).body; ta = fb(ka.statements, -1) } em(yr, s()), P = ft, C = Yt, B = pr; let Ka = t.createBlock(it(t.createNodeArray(yr), ta), !0); return it(Ka, Go), (!K.body || K.body.kind !== 265) && Jn(Ka, Ya(Ka) | 3072), Ka } function Hn(K) { if (K.body.kind === 264) return Hn(K.body) || K.body } function jr(K) { if (!K.importClause) return K; if (K.importClause.isTypeOnly) return; let Xe = $e(K.importClause, ei, lm); return Xe || d.importsNotUsedAsValues === 1 || d.importsNotUsedAsValues === 2 ? t.updateImportDeclaration(K, void 0, Xe, K.moduleSpecifier, K.assertClause) : void 0 } function ei(K) { L.assert(!K.isTypeOnly); let Xe = wt(K) ? K.name : void 0, ft = $e(K.namedBindings, Kr, Wj); return Xe || ft ? t.updateImportClause(K, !1, Xe, ft) : void 0 } function Kr(K) { if (K.kind === 271) return wt(K) ? K : void 0; { let Xe = d.verbatimModuleSyntax || d.preserveValueImports && (d.importsNotUsedAsValues === 1 || d.importsNotUsedAsValues === 2), ft = On(K.elements, Si, $u); return Xe || vt(ft) ? t.updateNamedImports(K, ft) : void 0 } } function Si(K) { return !K.isTypeOnly && wt(K) ? K : void 0 } function Ja(K) { return d.verbatimModuleSyntax || f.isValueAliasDeclaration(K) ? xn(K, U, e) : void 0 } function Za(K) { if (K.isTypeOnly) return; if (!K.exportClause || qm(K.exportClause)) return K; let Xe = d.verbatimModuleSyntax || !!K.moduleSpecifier && (d.importsNotUsedAsValues === 1 || d.importsNotUsedAsValues === 2), ft = $e(K.exportClause, Yt => xi(Yt, Xe), Rj); return ft ? t.updateExportDeclaration(K, void 0, K.isTypeOnly, ft, K.moduleSpecifier, K.assertClause) : void 0 } function Fa(K, Xe) { let ft = On(K.elements, Nr, Mu); return Xe || vt(ft) ? t.updateNamedExports(K, ft) : void 0 } function Hi(K) { return t.updateNamespaceExport(K, L.checkDefined($e(K.name, U, Re))) } function xi(K, Xe) { return qm(K) ? Hi(K) : Fa(K, Xe) } function Nr(K) { return !K.isTypeOnly && (d.verbatimModuleSyntax || f.isValueAliasDeclaration(K)) ? K : void 0 } function Fo(K) { return wt(K) || !Lc(w) && f.isTopLevelValueImportEqualsWithEntityName(K) } function Qr(K) { if (K.isTypeOnly) return; if (ab(K)) { let ft = wt(K); return !ft && d.importsNotUsedAsValues === 1 ? Ir(it(t.createImportDeclaration(void 0, void 0, K.moduleReference.expression, void 0), K), K) : ft ? xn(K, U, e) : void 0 } if (!Fo(K)) return; let Xe = EO(t, K.moduleReference); return Jn(Xe, 7168), Ki(K) || !Wi(K) ? Ir(it(t.createVariableStatement(On(K.modifiers, Ne, Ha), t.createVariableDeclarationList([Ir(t.createVariableDeclaration(K.name, void 0, void 0, Xe), K)])), K), K) : Ir(xc(K.name, Xe, K), K) } function Wi(K) { return C !== void 0 && Mr(K, 1) } function gn(K) { return C === void 0 && Mr(K, 1) } function Ki(K) { return gn(K) && !Mr(K, 1024) } function kc(K) { return gn(K) && Mr(K, 1024) } function Ps(K) { let Xe = t.createAssignment(t.getExternalModuleOrNamespaceExportName(P, K, !1, !0), t.getLocalName(K)); Ho(Xe, Gf(K.name ? K.name.pos : K.pos, K.end)); let ft = t.createExpressionStatement(Xe); return Ho(ft, Gf(-1, K.end)), ft } function mc(K, Xe) { K.push(Ps(Xe)) } function xc(K, Xe, ft) { return it(t.createExpressionStatement(t.createAssignment(t.getNamespaceMemberName(P, K, !1, !0), Xe)), ft) } function hc(K, Xe, ft) { return it(t.createAssignment(ro(K), Xe), ft) } function ro(K) { return t.getNamespaceMemberName(P, K, !1, !0) } function aa(K) { let Xe = t.getGeneratedNameForNode(K); return Ho(Xe, K.name), Xe } function Co(K) { return t.getGeneratedNameForNode(K) } function gc() { W & 8 || (W |= 8, e.enableSubstitution(79)) } function Ll() { W & 2 || (W |= 2, e.enableSubstitution(79), e.enableSubstitution(300), e.enableEmitNotification(264)) } function md(K) { return ec(K).kind === 264 } function Pc(K) { return ec(K).kind === 263 } function bl(K, Xe, ft) { let Yt = Y, pr = w; Li(Xe) && (w = Xe), W & 2 && md(Xe) && (Y |= 2), W & 8 && Pc(Xe) && (Y |= 8), x(K, Xe, ft), Y = Yt, w = pr } function ss(K, Xe) { return Xe = A(K, Xe), K === 1 ? Rs(Xe) : xf(Xe) ? qs(Xe) : Xe } function qs(K) { if (W & 2) { let Xe = K.name, ft = jt(Xe); if (ft) { if (K.objectAssignmentInitializer) { let Yt = t.createAssignment(ft, K.objectAssignmentInitializer); return it(t.createPropertyAssignment(Xe, Yt), K) } return it(t.createPropertyAssignment(Xe, ft), K) } } return K } function Rs(K) { switch (K.kind) { case 79: return As(K); case 208: return yc(K); case 209: return Ql(K) }return K } function As(K) { return jt(K) || K } function jt(K) { if (W & Y && !tc(K) && !rv(K)) { let Xe = f.getReferencedExportContainer(K, !1); if (Xe && Xe.kind !== 308 && (Y & 2 && Xe.kind === 264 || Y & 8 && Xe.kind === 263)) return it(t.createPropertyAccessExpression(t.getGeneratedNameForNode(Xe), K), K) } } function yc(K) { return se(K) } function Ql(K) { return se(K) } function yu(K) { return K.replace(/\*\//g, "*_/") } function se(K) { let Xe = ht(K); if (Xe !== void 0) { hue(K, Xe); let ft = typeof Xe == "string" ? t.createStringLiteral(Xe) : t.createNumericLiteral(Xe); if (!d.removeComments) { let Yt = ec(K, Us); R4(ft, 3, ` ${yu(Qc(Yt))} `) } return ft } return K } function ht(K) { if (!d_(d)) return br(K) || Vs(K) ? f.getConstantValue(K) : void 0 } function wt(K) { return d.verbatimModuleSyntax || Yn(K) || (d.preserveValueImports ? f.isValueAliasDeclaration(K) : f.isReferencedAliasDeclaration(K)) } } var epe, eMe = gt({ "src/compiler/transformers/ts.ts"() { "use strict"; fa(), epe = !1 } }); function tpe(e) { let { factory: t, getEmitHelperFactory: r, hoistVariableDeclaration: i, endLexicalEnvironment: o, startLexicalEnvironment: s, resumeLexicalEnvironment: l, addBlockScopedVariable: f } = e, d = e.getEmitResolver(), g = e.getCompilerOptions(), m = Do(g), v = MR(g), S = !!g.experimentalDecorators, x = !v, A = v && m < 9, w = x || A, C = m < 9, P = m < 99 ? -1 : v ? 0 : 3, F = m < 9, B = F && m >= 2, q = w || C || P === -1, W = e.onSubstituteNode; e.onSubstituteNode = As; let Y = e.onEmitNode; e.onEmitNode = Rs; let R = !1, ie, $, fe, Z, U, re = new Map, le, _e, ge = !1, X = !1; return y_(e, Ve); function Ve(se) { if (se.isDeclarationFile || (U = void 0, R = !!(o_(se) & 32), !q && !R)) return se; let ht = xn(se, ke, e); return Bg(ht, e.readEmitHelpers()), ht } function we(se) { switch (se.kind) { case 127: return Kn() ? void 0 : se; default: return zr(se, Ha) } } function ke(se) { if (!(se.transformFlags & 16777216) && !(se.transformFlags & 134234112)) return se; switch (se.kind) { case 127: return L.fail("Use `modifierVisitor` instead."); case 260: return ae(se); case 228: return Ot(se, void 0); case 172: case 169: return L.fail("Use `classElementVisitor` instead."); case 299: return We(se); case 240: return qe(se); case 257: return Qt(se); case 166: return tn(se); case 205: return kn(se); case 274: return _n(se); case 80: return ct(se); case 208: return Ht(se); case 209: return En(se); case 221: case 222: return dr(se, !1); case 223: return Q(se, !1); case 214: return G(se, !1, void 0); case 210: return Tt(se); case 241: return Se(se); case 212: return ve(se); case 245: return Cr(se); case 259: case 215: case 173: case 171: case 174: case 175: return gr(void 0, Pe, se); default: return Pe(se) } } function Pe(se) { return xn(se, ke, e) } function Ce(se, ht) { switch (se.kind) { case 356: return Oe(se, !1, ht); case 214: return G(se, !1, ht); case 228: return Ot(se, ht); default: return ke(se) } } function Ie(se) { switch (se.kind) { case 221: case 222: return dr(se, !0); case 223: return Q(se, !0); case 357: return ue(se, !0); case 214: return G(se, !0, void 0); default: return ke(se) } } function Be(se) { switch (se.kind) { case 294: return xn(se, Be, e); case 230: return ln(se); default: return ke(se) } } function Ne(se) { switch (se.kind) { case 207: case 206: return qs(se); default: return ke(se) } } function Le(se) { switch (se.kind) { case 173: return ui(se); case 174: case 175: case 171: return gr(void 0, Pi, se); case 169: return gr(void 0, hi, se); case 172: return oe(se); case 164: return $n(se); case 237: return se; default: return Ns(se) ? we(se) : ke(se) } } function Ye(se) { switch (se.kind) { case 164: return $n(se); default: return ke(se) } } function _t(se) { switch (se.kind) { case 169: return An(se); case 174: case 175: return Le(se); default: L.assertMissingNode(se, "Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration"); break } } function ct(se) { return !C || ca(se.parent) ? se : Ir(t.createIdentifier(""), se) } function Rt(se) { let ht = hc(se.left); if (ht) { let wt = $e(se.right, ke, ot); return Ir(r().createClassPrivateFieldInHelper(ht.brandCheckIdentifier, wt), se) } return xn(se, ke, e) } function We(se) { if (vf(se, ce)) { let { referencedName: ht, name: wt } = je(se.name), K = $e(se.initializer, Xe => Ce(Xe, ht), ot); return t.updatePropertyAssignment(se, wt, K) } return xn(se, ke, e) } function qe(se) { let ht = Z; Z = []; let wt = xn(se, ke, e), K = vt(Z) ? [wt, ...Z] : wt; return Z = ht, K } function zt(se, ht) { let wt = ec(ht, Yr); return wt && !wt.name && Mr(wt, 1024) ? t.createStringLiteral("default") : t.createStringLiteralFromNode(se) } function Qt(se) { if (vf(se, ce)) { let ht = zt(se.name, se.initializer), wt = $e(se.name, ke, Mm), K = $e(se.initializer, Xe => Ce(Xe, ht), ot); return t.updateVariableDeclaration(se, wt, void 0, void 0, K) } return xn(se, ke, e) } function tn(se) { if (vf(se, ce)) { let ht = zt(se.name, se.initializer), wt = $e(se.name, ke, Mm), K = $e(se.initializer, Xe => Ce(Xe, ht), ot); return t.updateParameterDeclaration(se, void 0, void 0, wt, void 0, void 0, K) } return xn(se, ke, e) } function kn(se) { if (vf(se, ce)) { let ht = zt(se.name, se.initializer), wt = $e(se.propertyName, ke, Ys), K = $e(se.name, ke, Mm), Xe = $e(se.initializer, ft => Ce(ft, ht), ot); return t.updateBindingElement(se, void 0, wt, K, Xe) } return xn(se, ke, e) } function _n(se) { if (vf(se, ce)) { let ht = t.createStringLiteral(se.isExportEquals ? "" : "default"), wt = On(se.modifiers, we, Ha), K = $e(se.expression, Xe => Ce(Xe, ht), ot); return t.updateExportAssignment(se, wt, K) } return xn(se, ke, e) } function Gt(se) { return vt(fe) && (ud(se) ? (fe.push(se.expression), se = t.updateParenthesizedExpression(se, t.inlineExpressions(fe))) : (fe.push(se), se = t.inlineExpressions(fe)), fe = void 0), se } function $n(se) { let ht = $e(se.expression, ke, ot); return t.updateComputedPropertyName(se, Gt(ht)) } function ui(se) { return le ? Te(se, le) : Pe(se) } function Ni(se) { return !!(C || zc(se) && o_(se) & 32) } function Pi(se) { if (L.assert(!bf(se)), !xu(se) || !Ni(se)) return xn(se, Le, e); let ht = hc(se.name); if (L.assert(ht, "Undeclared private name for property declaration."), !ht.isValid) return se; let wt = pt(se); wt && Nr().push(t.createAssignment(wt, t.createFunctionExpression(Pr(se.modifiers, K => Ha(K) && !LS(K) && !Nue(K)), se.asteriskToken, wt, void 0, Sc(se.parameters, ke, e), void 0, Zd(se.body, ke, e)))) } function gr(se, ht, wt) { let K = _e; _e = se; let Xe = ht(wt); return _e = K, Xe } function pt(se) { L.assert(pi(se.name)); let ht = hc(se.name); if (L.assert(ht, "Undeclared private name for property declaration."), ht.kind === "m") return ht.methodName; if (ht.kind === "a") { if (zy(se)) return ht.getterName; if (Ng(se)) return ht.setterName } } function nn(se) { let ht = sm(se), wt = pb(se), K = se.name, Xe = K, ft = K; if (ts(K) && !Ap(K.expression)) { let Go = L3(K); if (Go) Xe = t.updateComputedPropertyName(K, $e(K.expression, ke, ot)), ft = t.updateComputedPropertyName(K, Go.left); else { let Ka = t.createTempVariable(i); Ho(Ka, K.expression); let vo = $e(K.expression, ke, ot), ka = t.createAssignment(Ka, vo); Ho(ka, K.expression), Xe = t.updateComputedPropertyName(K, ka), ft = t.updateComputedPropertyName(K, Ka) } } let Yt = On(se.modifiers, we, Ha), pr = sJ(t, se, Yt, se.initializer); Ir(pr, se), Jn(pr, 3072), Ho(pr, wt); let yr = gde(t, se, Yt, Xe); Ir(yr, se), hl(yr, ht), Ho(yr, wt); let ta = yde(t, se, Yt, ft); return Ir(ta, se), Jn(ta, 3072), Ho(ta, wt), vK([pr, yr, ta], _t, _l) } function Dt(se) { if (Ni(se)) { let ht = hc(se.name); if (L.assert(ht, "Undeclared private name for property declaration."), !ht.isValid) return se; if (ht.isStatic && !C) { let wt = lt(se, t.createThis()); if (wt) return t.createClassStaticBlockDeclaration(t.createBlock([wt], !0)) } return } if (x && !Ca(se) && U?.data && U.data.facts & 16) return t.updatePropertyDeclaration(se, On(se.modifiers, ke, Ns), se.name, void 0, void 0, void 0); if (vf(se, ce)) { let { referencedName: ht, name: wt } = je(se.name); return t.updatePropertyDeclaration(se, On(se.modifiers, we, Ha), wt, void 0, void 0, $e(se.initializer, K => Ce(K, ht), ot)) } return t.updatePropertyDeclaration(se, On(se.modifiers, we, Ha), $e(se.name, Ye, Ys), void 0, void 0, $e(se.initializer, ke, ot)) } function pn(se) { if (w && !Id(se)) { let ht = Ja(se.name, !!se.initializer || v, vf(se, ce)); if (ht && Nr().push(...vde(ht)), Ca(se) && !C) { let wt = lt(se, t.createThis()); if (wt) { let K = t.createClassStaticBlockDeclaration(t.createBlock([wt])); return Ir(K, se), hl(K, se), hl(wt, { pos: -1, end: -1 }), W0(wt, void 0), u2(wt, void 0), K } } return } return t.updatePropertyDeclaration(se, On(se.modifiers, we, Ha), $e(se.name, Ye, Ys), void 0, void 0, $e(se.initializer, ke, ot)) } function An(se) { return L.assert(!bf(se), "Decorators should already have been transformed and elided."), xu(se) ? Dt(se) : pn(se) } function Kn() { return P === -1 || P === 3 && !!U?.data && !!(U.data.facts & 16) } function hi(se) { return Id(se) && (Kn() || zc(se) && o_(se) & 32) ? nn(se) : An(se) } function ri(se, ht) { return vn(se, $e(ht, ke, ot)) } function vn(se, ht) { switch (hl(ht, fb(ht, -1)), se.kind) { case "a": return r().createClassPrivateFieldGetHelper(ht, se.brandCheckIdentifier, se.kind, se.getterName); case "m": return r().createClassPrivateFieldGetHelper(ht, se.brandCheckIdentifier, se.kind, se.methodName); case "f": return r().createClassPrivateFieldGetHelper(ht, se.brandCheckIdentifier, se.kind, se.isStatic ? se.variableName : void 0); case "untransformed": return L.fail("Access helpers should not be created for untransformed private elements"); default: L.assertNever(se, "Unknown private element type") } } function Ht(se) { if (pi(se.name)) { let ht = hc(se.name); if (ht) return it(Ir(ri(ht, se.expression), se), se) } if (B && Pu(se) && Re(se.name) && _e && U?.data) { let { classConstructor: ht, superClassReference: wt, facts: K } = U.data; if (K & 1) return Si(se); if (ht && wt) { let Xe = t.createReflectGetCall(wt, t.createStringLiteralFromNode(se.name), ht); return Ir(Xe, se.expression), it(Xe, se.expression), Xe } } return xn(se, ke, e) } function En(se) { if (B && Pu(se) && _e && U?.data) { let { classConstructor: ht, superClassReference: wt, facts: K } = U.data; if (K & 1) return Si(se); if (ht && wt) { let Xe = t.createReflectGetCall(wt, $e(se.argumentExpression, ke, ot), ht); return Ir(Xe, se.expression), it(Xe, se.expression), Xe } } return xn(se, ke, e) } function dr(se, ht) { if (se.operator === 45 || se.operator === 46) { let wt = vs(se.operand); if (TA(wt)) { let K; if (K = hc(wt.name)) { let Xe = $e(wt.expression, ke, ot), { readExpression: ft, initializeExpression: Yt } = at(Xe), pr = ri(K, ft), yr = tv(se) || ht ? void 0 : t.createTempVariable(i); return pr = b3(t, se, pr, i, yr), pr = Ge(K, Yt || ft, pr, 63), Ir(pr, se), it(pr, se), yr && (pr = t.createComma(pr, yr), it(pr, se)), pr } } else if (B && Pu(wt) && _e && U?.data) { let { classConstructor: K, superClassReference: Xe, facts: ft } = U.data; if (ft & 1) { let Yt = Si(wt); return tv(se) ? t.updatePrefixUnaryExpression(se, Yt) : t.updatePostfixUnaryExpression(se, Yt) } if (K && Xe) { let Yt, pr; if (br(wt) ? Re(wt.name) && (pr = Yt = t.createStringLiteralFromNode(wt.name)) : Ap(wt.argumentExpression) ? pr = Yt = wt.argumentExpression : (pr = t.createTempVariable(i), Yt = t.createAssignment(pr, $e(wt.argumentExpression, ke, ot))), Yt && pr) { let yr = t.createReflectGetCall(Xe, pr, K); it(yr, wt); let ta = ht ? void 0 : t.createTempVariable(i); return yr = b3(t, se, yr, i, ta), yr = t.createReflectSetCall(Xe, Yt, yr, K), Ir(yr, se), it(yr, se), ta && (yr = t.createComma(yr, ta), it(yr, se)), yr } } } } return xn(se, ke, e) } function Cr(se) { return t.updateForStatement(se, $e(se.initializer, Ie, pp), $e(se.condition, ke, ot), $e(se.incrementor, Ie, ot), jf(se.statement, ke, e)) } function Se(se) { return t.updateExpressionStatement(se, $e(se.expression, Ie, ot)) } function at(se) { let ht = ws(se) ? se : t.cloneNode(se); if (Ap(se)) return { readExpression: ht, initializeExpression: void 0 }; let wt = t.createTempVariable(i), K = t.createAssignment(wt, ht); return { readExpression: wt, initializeExpression: K } } function Tt(se) { var ht; if (TA(se.expression) && hc(se.expression.name)) { let { thisArg: wt, target: K } = t.createCallBinding(se.expression, i, m); return dT(se) ? t.updateCallChain(se, t.createPropertyAccessChain($e(K, ke, ot), se.questionDotToken, "call"), void 0, void 0, [$e(wt, ke, ot), ...On(se.arguments, ke, ot)]) : t.updateCallExpression(se, t.createPropertyAccessExpression($e(K, ke, ot), "call"), void 0, [$e(wt, ke, ot), ...On(se.arguments, ke, ot)]) } if (B && Pu(se.expression) && _e && ((ht = U?.data) != null && ht.classConstructor)) { let wt = t.createFunctionCallCall($e(se.expression, ke, ot), U.data.classConstructor, On(se.arguments, ke, ot)); return Ir(wt, se), it(wt, se), wt } return xn(se, ke, e) } function ve(se) { var ht; if (TA(se.tag) && hc(se.tag.name)) { let { thisArg: wt, target: K } = t.createCallBinding(se.tag, i, m); return t.updateTaggedTemplateExpression(se, t.createCallExpression(t.createPropertyAccessExpression($e(K, ke, ot), "bind"), void 0, [$e(wt, ke, ot)]), void 0, $e(se.template, ke, AA)) } if (B && Pu(se.tag) && _e && ((ht = U?.data) != null && ht.classConstructor)) { let wt = t.createFunctionBindCall($e(se.tag, ke, ot), U.data.classConstructor, []); return Ir(wt, se), it(wt, se), t.updateTaggedTemplateExpression(se, wt, void 0, $e(se.template, ke, AA)) } return xn(se, ke, e) } function nt(se) { if (U && re.set(ec(se), U), C) { s(); let ht = gr(se, K => On(K, ke, ca), se.body.statements); ht = t.mergeLexicalEnvironment(ht, o()); let wt = t.createImmediatelyInvokedArrowFunction(ht); return Ir(wt, se), it(wt, se), bp(wt, 4), wt } } function ce(se) { if (_u(se) && !se.name) { let ht = EF(se), wt = wr(ht, oc); if (wt) { for (let Xe of wt.body.statements) if (Ol(Xe) && pL(Xe.expression, "___setFunctionName")) return !1 } return (C || !!o_(se)) && vt(ht, Xe => oc(Xe) || xu(Xe) || w && sN(Xe)) } return !1 } function Q(se, ht) { if (Fg(se)) { let wt = fe; fe = void 0, se = t.updateBinaryExpression(se, $e(se.left, Ne, ot), se.operatorToken, $e(se.right, ke, ot)); let K = vt(fe) ? t.inlineExpressions(WD([...fe, se])) : se; return fe = wt, K } if (Iu(se)) { if (vf(se, ce)) { let wt = zt(se.left, se.right), K = $e(se.left, ke, ot), Xe = $e(se.right, ft => Ce(ft, wt), ot); return t.updateBinaryExpression(se, K, se.operatorToken, Xe) } if (TA(se.left)) { let wt = hc(se.left.name); if (wt) return it(Ir(Ge(wt, se.left.expression, se.right, se.operatorToken.kind), se), se) } else if (B && Pu(se.left) && _e && U?.data) { let { classConstructor: wt, superClassReference: K, facts: Xe } = U.data; if (Xe & 1) return t.updateBinaryExpression(se, Si(se.left), se.operatorToken, $e(se.right, ke, ot)); if (wt && K) { let ft = Vs(se.left) ? $e(se.left.argumentExpression, ke, ot) : Re(se.left.name) ? t.createStringLiteralFromNode(se.left.name) : void 0; if (ft) { let Yt = $e(se.right, ke, ot); if (oN(se.operatorToken.kind)) { let yr = ft; Ap(ft) || (yr = t.createTempVariable(i), ft = t.createAssignment(yr, ft)); let ta = t.createReflectGetCall(K, yr, wt); Ir(ta, se.left), it(ta, se.left), Yt = t.createBinaryExpression(ta, WL(se.operatorToken.kind), Yt), it(Yt, se) } let pr = ht ? void 0 : t.createTempVariable(i); return pr && (Yt = t.createAssignment(pr, Yt), it(pr, se)), Yt = t.createReflectSetCall(K, ft, Yt, wt), Ir(Yt, se), it(Yt, se), pr && (Yt = t.createComma(Yt, pr), it(Yt, se)), Yt } } } } return aMe(se) ? Rt(se) : xn(se, ke, e) } function ue(se, ht) { let wt = ht ? aN(se.elements, Ie) : aN(se.elements, ke, Ie); return t.updateCommaListExpression(se, wt) } function G(se, ht, wt) { let K = ht ? Ie : wt ? ft => Ce(ft, wt) : ke, Xe = $e(se.expression, K, ot); return t.updateParenthesizedExpression(se, Xe) } function Oe(se, ht, wt) { let K = ht ? Ie : wt ? ft => Ce(ft, wt) : ke, Xe = $e(se.expression, K, ot); return t.updatePartiallyEmittedExpression(se, Xe) } function je(se) { if (c_(se) || pi(se)) { let ft = t.createStringLiteralFromNode(se), Yt = $e(se, ke, Ys); return { referencedName: ft, name: Yt } } if (c_(se.expression) && !Re(se.expression)) { let ft = t.createStringLiteralFromNode(se.expression), Yt = $e(se, ke, Ys); return { referencedName: ft, name: Yt } } let ht = t.createTempVariable(i), wt = r().createPropKeyHelper($e(se.expression, ke, ot)), K = t.createAssignment(ht, wt), Xe = t.updateComputedPropertyName(se, Gt(K)); return { referencedName: ht, name: Xe } } function Ge(se, ht, wt, K) { if (ht = $e(ht, ke, ot), wt = $e(wt, ke, ot), oN(K)) { let { readExpression: Xe, initializeExpression: ft } = at(ht); ht = ft || Xe, wt = t.createBinaryExpression(vn(se, Xe), WL(K), wt) } switch (hl(ht, fb(ht, -1)), se.kind) { case "a": return r().createClassPrivateFieldSetHelper(ht, se.brandCheckIdentifier, wt, se.kind, se.setterName); case "m": return r().createClassPrivateFieldSetHelper(ht, se.brandCheckIdentifier, wt, se.kind, void 0); case "f": return r().createClassPrivateFieldSetHelper(ht, se.brandCheckIdentifier, wt, se.kind, se.isStatic ? se.variableName : void 0); case "untransformed": return L.fail("Access helpers should not be created for untransformed private elements"); default: L.assertNever(se, "Unknown private element type") } } function kt(se) { return Pr(se.members, K_e) } function Kt(se) { let ht = 0, wt = ec(se); sl(wt) && O0(S, wt) && (ht |= 1); let K = !1, Xe = !1, ft = !1, Yt = !1; for (let yr of se.members) Ca(yr) ? (yr.name && (pi(yr.name) || Id(yr)) && C && (ht |= 2), (Na(yr) || oc(yr)) && (F && yr.transformFlags & 16384 && (ht |= 8, ht & 1 || (ht |= 2)), B && yr.transformFlags & 134217728 && (ht & 1 || (ht |= 6)))) : B0(ec(yr)) || (Id(yr) ? (Yt = !0, ft || (ft = xu(yr))) : xu(yr) ? ft = !0 : Na(yr) && (K = !0, Xe || (Xe = !!yr.initializer))); return (A && K || x && Xe || C && ft || C && Yt && P === -1) && (ht |= 16), ht } function ln(se) { var ht; if ((((ht = U?.data) == null ? void 0 : ht.facts) || 0) & 4) { let K = t.createTempVariable(i, !0); return Hi().superClassReference = K, t.updateExpressionWithTypeArguments(se, t.createAssignment(K, $e(se.expression, ke, ot)), void 0) } return xn(se, ke, e) } function ir(se, ht, wt) { let K = le, Xe = fe, ft = U; le = se, fe = void 0, Za(); let Yt = o_(se) & 32; if (C || Yt) { let ta = sa(se); ta && Re(ta) && (xi().data.className = ta) } if (C) { let ta = kt(se); vt(ta) && (xi().data.weakSetName = mc("instances", ta[0].name)) } let pr = Kt(se); pr && (Hi().facts = pr), pr & 8 && ei(); let yr = wt(se, pr, ht); return Fa(), L.assert(U === ft), le = K, fe = Xe, yr } function ae(se) { return ir(se, void 0, rt) } function rt(se, ht) { var wt, K; let Xe; if (ht & 2) { if (C && ((wt = se.emitNode) != null && wt.classThis)) Hi().classConstructor = se.emitNode.classThis, Xe = t.createAssignment(se.emitNode.classThis, t.getInternalName(se)); else { let Ka = t.createTempVariable(i, !0); Hi().classConstructor = t.cloneNode(Ka), Xe = t.createAssignment(Ka, t.getInternalName(se)) } (K = se.emitNode) != null && K.classThis && (Hi().classThis = se.emitNode.classThis) } let ft = On(se.modifiers, we, Ha), Yt = On(se.heritageClauses, Be, dd), { members: pr, prologue: yr } = pe(se), ta = t.updateClassDeclaration(se, ft, se.name, void 0, Yt, pr), Go = []; if (yr && Go.push(t.createExpressionStatement(yr)), Go.push(ta), Xe && Nr().unshift(Xe), vt(fe) && Go.push(t.createExpressionStatement(t.inlineExpressions(fe))), x || C || o_(se) & 32) { let Ka = EF(se); vt(Ka) && yt(Go, Ka, t.getInternalName(se)) } return Go } function Ot(se, ht) { return ir(se, ht, Ke) } function Ke(se, ht, wt) { var K, Xe, ft, Yt, pr, yr; let ta = !!(ht & 1), Go = EF(se), Ka = d.getNodeCheckFlags(se) & 1048576, vo; function ka() { var vc; if (C && ((vc = se.emitNode) != null && vc.classThis)) return Hi().classConstructor = se.emitNode.classThis; let nf = d.getNodeCheckFlags(se), ye = nf & 1048576, Et = nf & 32768, bn = t.createTempVariable(Et ? f : i, !!ye); return Hi().classConstructor = t.cloneNode(bn), bn } (K = se.emitNode) != null && K.classThis && (Hi().classThis = se.emitNode.classThis), ht & 2 && (vo ?? (vo = ka())); let Hs = On(se.modifiers, we, Ha), Uc = On(se.heritageClauses, Be, dd), { members: Gu, prologue: $o } = pe(se), jo = t.updateClassExpression(se, Hs, se.name, void 0, Uc, Gu), Ws = []; if ($o && Ws.push($o), (C || o_(se) & 32) && vt(Go, vc => oc(vc) || xu(vc) || w && sN(vc)) || vt(fe) || wt) if (ta) { if (L.assertIsDefined(Z, "Decorated classes transformed by TypeScript are expected to be within a variable declaration."), vt(fe) && si(Z, on(fe, t.createExpressionStatement)), wt) if (C) { let vc = r().createSetFunctionNameHelper((ft = vo ?? ((Xe = se.emitNode) == null ? void 0 : Xe.classThis)) != null ? ft : t.getInternalName(se), wt); Z.push(t.createExpressionStatement(vc)) } else { let vc = r().createSetFunctionNameHelper(t.createThis(), wt); jo = t.updateClassExpression(jo, jo.modifiers, jo.name, jo.typeParameters, jo.heritageClauses, [t.createClassStaticBlockDeclaration(t.createBlock([t.createExpressionStatement(vc)])), ...jo.members]) } vt(Go) && yt(Z, Go, (pr = (Yt = se.emitNode) == null ? void 0 : Yt.classThis) != null ? pr : t.getInternalName(se)), vo ? Ws.push(t.createAssignment(vo, jo)) : C && ((yr = se.emitNode) != null && yr.classThis) ? Ws.push(t.createAssignment(se.emitNode.classThis, jo)) : Ws.push(jo) } else { if (vo ?? (vo = ka()), Ka) { jr(); let vc = t.cloneNode(vo); vc.emitNode.autoGenerate.flags &= -9, $[sc(se)] = vc } Ws.push(t.createAssignment(vo, jo)), si(Ws, fe), wt && Ws.push(r().createSetFunctionNameHelper(vo, wt)), si(Ws, Qe(Go, vo)), Ws.push(t.cloneNode(vo)) } else Ws.push(jo); return Ws.length > 1 && (bp(jo, 131072), Ws.forEach(mu)), t.inlineExpressions(Ws) } function oe(se) { if (!C) return xn(se, ke, e) } function pe(se) { let ht = !!(o_(se) & 32); if (C || R) { for (let Yt of se.members) if (xu(Yt)) if (Ni(Yt)) Ps(Yt, Yt.name, Fo); else { let pr = xi(); JT(pr, Yt.name, { kind: "untransformed" }) } if (C && vt(kt(se)) && z(), Kn()) { for (let Yt of se.members) if (Id(Yt)) { let pr = t.getGeneratedPrivateNameForNode(Yt.name, void 0, "_accessor_storage"); if (C || ht && zc(Yt)) Ps(Yt, pr, Qr); else { let yr = xi(); JT(yr, pr, { kind: "untransformed" }) } } } } let wt = On(se.members, Le, _l), K; vt(wt, Ec) || (K = Te(void 0, se)); let Xe, ft; if (!C && vt(fe)) { let Yt = t.createExpressionStatement(t.inlineExpressions(fe)); if (Yt.transformFlags & 134234112) { let yr = t.createTempVariable(i), ta = t.createArrowFunction(void 0, void 0, [], void 0, void 0, t.createBlock([Yt])); Xe = t.createAssignment(yr, ta), Yt = t.createExpressionStatement(t.createCallExpression(yr, void 0, [])) } let pr = t.createBlock([Yt]); ft = t.createClassStaticBlockDeclaration(pr), fe = void 0 } if (K || ft) { let Yt; Yt = Sn(Yt, K), Yt = Sn(Yt, ft), Yt = si(Yt, wt), wt = it(t.createNodeArray(Yt), se.members) } return { members: wt, prologue: Xe } } function z() { let { weakSetName: se } = xi().data; L.assert(se, "weakSetName should be set in private identifier environment"), Nr().push(t.createAssignment(se, t.createNewExpression(t.createIdentifier("WeakSet"), void 0, []))) } function Te(se, ht) { if (se = $e(se, ke, Ec), !U?.data || !(U.data.facts & 16)) return se; let wt = hp(ht), K = !!(wt && ql(wt.expression).kind !== 104), Xe = Sc(se ? se.parameters : void 0, ke, e), ft = j(ht, se, K); return ft ? se ? (L.assert(Xe), t.updateConstructorDeclaration(se, void 0, Xe, ft)) : mu(Ir(it(t.createConstructorDeclaration(void 0, Xe ?? [], ft), se || ht), se)) : se } function j(se, ht, wt) { var K, Xe; let ft = CK(se, !1, !1), Yt = ft; v || (Yt = Pr(Yt, $o => !!$o.initializer || pi($o.name) || rm($o))); let pr = kt(se), yr = vt(Yt) || vt(pr); if (!ht && !yr) return Zd(void 0, ke, e); l(); let ta = !ht && wt, Go = 0, Ka = 0, vo = -1, ka = []; (K = ht?.body) != null && K.statements && (Ka = t.copyPrologue(ht.body.statements, ka, !1, ke), vo = bF(ht.body.statements, Ka), vo >= 0 ? (Go = vo + 1, ka = [...ka.slice(0, Ka), ...On(ht.body.statements, ke, ca, Ka, Go - Ka), ...ka.slice(Ka)]) : Ka >= 0 && (Go = Ka)), ta && ka.push(t.createExpressionStatement(t.createCallExpression(t.createSuper(), void 0, [t.createSpreadElement(t.createIdentifier("arguments"))]))); let Hs = 0; if (ht?.body) { for (let $o = Go; $o < ht.body.statements.length; $o++) { let jo = ht.body.statements[$o]; if (Ad(ec(jo), ht)) Hs++; else break } Hs > 0 && (Go += Hs) } let Uc = t.createThis(); if (Kr(ka, pr, Uc), ht) { let $o = Pr(ft, Ws => Ad(ec(Ws), ht)), jo = Pr(Yt, Ws => !Ad(ec(Ws), ht)); yt(ka, $o, Uc), yt(ka, jo, Uc) } else yt(ka, Yt, Uc); if (ht && si(ka, On(ht.body.statements, ke, ca, Go)), ka = t.mergeLexicalEnvironment(ka, o()), ka.length === 0 && !ht) return; let Gu = ht?.body && ht.body.statements.length >= ka.length && (Xe = ht.body.multiLine) != null ? Xe : ka.length > 0; return it(t.createBlock(it(t.createNodeArray(ka), ht ? ht.body.statements : se.members), Gu), ht ? ht.body : void 0) } function yt(se, ht, wt) { for (let K of ht) { if (Ca(K) && !C) continue; let Xe = lt(K, wt); Xe && se.push(Xe) } } function lt(se, ht) { let wt = oc(se) ? nt(se) : Vt(se, ht); if (!wt) return; let K = t.createExpressionStatement(wt); Ir(K, se), bp(K, Ya(se) & 3072), hl(K, se); let Xe = ec(se); return ha(Xe) ? (Ho(K, Xe), ZR(K)) : Ho(K, yp(se)), W0(wt, void 0), u2(wt, void 0), rm(Xe) && bp(K, 3072), K } function Qe(se, ht) { let wt = []; for (let K of se) { let Xe = oc(K) ? nt(K) : Vt(K, ht); Xe && (mu(Xe), Ir(Xe, K), bp(Xe, Ya(K) & 3072), Ho(Xe, yp(K)), hl(Xe, K), wt.push(Xe)) } return wt } function Vt(se, ht) { var wt; let K = _e, Xe = Hn(se, ht); return Xe && zc(se) && ((wt = U?.data) != null && wt.facts) && (Ir(Xe, se), bp(Xe, 4), Ho(Xe, pb(se.name)), re.set(ec(se), U)), _e = K, Xe } function Hn(se, ht) { let wt = !v, K; vf(se, ce) && (c_(se.name) || pi(se.name) ? K = t.createStringLiteralFromNode(se.name) : c_(se.name.expression) && !Re(se.name.expression) ? K = t.createStringLiteralFromNode(se.name.expression) : K = t.getGeneratedNameForNode(se.name)); let Xe = rm(se) ? t.getGeneratedPrivateNameForNode(se.name) : ts(se.name) && !Ap(se.name.expression) ? t.updateComputedPropertyName(se.name, t.getGeneratedNameForNode(se.name)) : se.name; zc(se) && (_e = se); let ft = K ? yr => Ce(yr, K) : ke; if (pi(Xe) && Ni(se)) { let yr = hc(Xe); if (yr) return yr.kind === "f" ? yr.isStatic ? tMe(yr.variableName, $e(se.initializer, ft, ot)) : nMe(ht, $e(se.initializer, ft, ot), yr.brandCheckIdentifier) : void 0; L.fail("Undeclared private name for property declaration.") } if ((pi(Xe) || zc(se)) && !se.initializer) return; let Yt = ec(se); if (Mr(Yt, 256)) return; let pr = $e(se.initializer, ft, ot); if (Ad(Yt, Yt.parent) && Re(Xe)) { let yr = t.cloneNode(Xe); pr ? (ud(pr) && TO(pr.expression) && pL(pr.expression.left, "___runInitializers") && NS(pr.expression.right) && Vf(pr.expression.right.expression) && (pr = pr.expression.left), pr = t.inlineExpressions([pr, yr])) : pr = yr, Jn(Xe, 3168), Ho(yr, Yt.name), Jn(yr, 3072) } else pr ?? (pr = t.createVoidZero()); if (wt || pi(Xe)) { let yr = VT(t, ht, Xe, Xe); return bp(yr, 1024), t.createAssignment(yr, pr) } else { let yr = ts(Xe) ? Xe.expression : Re(Xe) ? t.createStringLiteral(Gi(Xe.escapedText)) : Xe, ta = t.createPropertyDescriptor({ value: pr, configurable: !0, writable: !0, enumerable: !0 }); return t.createObjectDefinePropertyCall(ht, yr, ta) } } function jr() { ie & 1 || (ie |= 1, e.enableSubstitution(79), $ = []) } function ei() { ie & 2 || (ie |= 2, e.enableSubstitution(108), e.enableEmitNotification(259), e.enableEmitNotification(215), e.enableEmitNotification(173), e.enableEmitNotification(174), e.enableEmitNotification(175), e.enableEmitNotification(171), e.enableEmitNotification(169), e.enableEmitNotification(164)) } function Kr(se, ht, wt) { if (!C || !vt(ht)) return; let { weakSetName: K } = xi().data; L.assert(K, "weakSetName should be set in private identifier environment"), se.push(t.createExpressionStatement(rMe(wt, K))) } function Si(se) { return br(se) ? t.updatePropertyAccessExpression(se, t.createVoidZero(), se.name) : t.updateElementAccessExpression(se, t.createVoidZero(), $e(se.argumentExpression, ke, ot)) } function Ja(se, ht, wt) { if (ts(se)) { let K = L3(se), Xe = $e(se.expression, ke, ot), ft = a_(Xe), Yt = Ap(ft); if (!(!!K || Iu(ft) && tc(ft.left)) && !Yt && ht) { let yr = t.getGeneratedNameForNode(se); return d.getNodeCheckFlags(se) & 32768 ? f(yr) : i(yr), wt && (Xe = r().createPropKeyHelper(Xe)), t.createAssignment(yr, Xe) } return Yt || Re(ft) ? void 0 : Xe } } function Za() { U = { previous: U, data: void 0 } } function Fa() { U = U?.previous } function Hi() { var se; return L.assert(U), (se = U.data) != null ? se : U.data = { facts: 0, classConstructor: void 0, classThis: void 0, superClassReference: void 0 } } function xi() { var se; return L.assert(U), (se = U.privateEnv) != null ? se : U.privateEnv = Y_e({ className: void 0, weakSetName: void 0 }) } function Nr() { return fe ?? (fe = []) } function Fo(se, ht, wt, K, Xe, ft, Yt) { Id(se) ? kc(se, ht, wt, K, Xe, ft, Yt) : Na(se) ? Qr(se, ht, wt, K, Xe, ft, Yt) : Nc(se) ? Wi(se, ht, wt, K, Xe, ft, Yt) : p_(se) ? gn(se, ht, wt, K, Xe, ft, Yt) : Sf(se) && Ki(se, ht, wt, K, Xe, ft, Yt) } function Qr(se, ht, wt, K, Xe, ft, Yt) { var pr; if (Xe) { let yr = L.checkDefined((pr = wt.classThis) != null ? pr : wt.classConstructor, "classConstructor should be set in private identifier environment"), ta = xc(ht); JT(K, ht, { kind: "f", isStatic: !0, brandCheckIdentifier: yr, variableName: ta, isValid: ft }) } else { let yr = xc(ht); JT(K, ht, { kind: "f", isStatic: !1, brandCheckIdentifier: yr, isValid: ft }), Nr().push(t.createAssignment(yr, t.createNewExpression(t.createIdentifier("WeakMap"), void 0, []))) } } function Wi(se, ht, wt, K, Xe, ft, Yt) { var pr; let yr = xc(ht), ta = Xe ? L.checkDefined((pr = wt.classThis) != null ? pr : wt.classConstructor, "classConstructor should be set in private identifier environment") : L.checkDefined(K.data.weakSetName, "weakSetName should be set in private identifier environment"); JT(K, ht, { kind: "m", methodName: yr, brandCheckIdentifier: ta, isStatic: Xe, isValid: ft }) } function gn(se, ht, wt, K, Xe, ft, Yt) { var pr; let yr = xc(ht, "_get"), ta = Xe ? L.checkDefined((pr = wt.classThis) != null ? pr : wt.classConstructor, "classConstructor should be set in private identifier environment") : L.checkDefined(K.data.weakSetName, "weakSetName should be set in private identifier environment"); Yt?.kind === "a" && Yt.isStatic === Xe && !Yt.getterName ? Yt.getterName = yr : JT(K, ht, { kind: "a", getterName: yr, setterName: void 0, brandCheckIdentifier: ta, isStatic: Xe, isValid: ft }) } function Ki(se, ht, wt, K, Xe, ft, Yt) { var pr; let yr = xc(ht, "_set"), ta = Xe ? L.checkDefined((pr = wt.classThis) != null ? pr : wt.classConstructor, "classConstructor should be set in private identifier environment") : L.checkDefined(K.data.weakSetName, "weakSetName should be set in private identifier environment"); Yt?.kind === "a" && Yt.isStatic === Xe && !Yt.setterName ? Yt.setterName = yr : JT(K, ht, { kind: "a", getterName: void 0, setterName: yr, brandCheckIdentifier: ta, isStatic: Xe, isValid: ft }) } function kc(se, ht, wt, K, Xe, ft, Yt) { var pr; let yr = xc(ht, "_get"), ta = xc(ht, "_set"), Go = Xe ? L.checkDefined((pr = wt.classThis) != null ? pr : wt.classConstructor, "classConstructor should be set in private identifier environment") : L.checkDefined(K.data.weakSetName, "weakSetName should be set in private identifier environment"); JT(K, ht, { kind: "a", getterName: yr, setterName: ta, brandCheckIdentifier: Go, isStatic: Xe, isValid: ft }) } function Ps(se, ht, wt) { let K = Hi(), Xe = xi(), ft = kK(Xe, ht), Yt = zc(se), pr = !iMe(ht) && ft === void 0; wt(se, ht, K, Xe, Yt, pr, ft) } function mc(se, ht, wt) { let { className: K } = xi().data, Xe = K ? { prefix: "_", node: K, suffix: "_" } : "_", ft = typeof se == "object" ? t.getGeneratedNameForNode(se, 24, Xe, wt) : typeof se == "string" ? t.createUniqueName(se, 16, Xe, wt) : t.createTempVariable(void 0, !0, Xe, wt); return d.getNodeCheckFlags(ht) & 32768 ? f(ft) : i(ft), ft } function xc(se, ht) { var wt; let K = T6(se); return mc((wt = K?.substring(1)) != null ? wt : se, se, ht) } function hc(se) { let ht = $_e(U, se); return ht?.kind === "untransformed" ? void 0 : ht } function ro(se) { let ht = t.getGeneratedNameForNode(se), wt = hc(se.name); if (!wt) return xn(se, ke, e); let K = se.expression; return (zw(se) || Pu(se) || !Z0(se.expression)) && (K = t.createTempVariable(i, !0), Nr().push(t.createBinaryExpression(K, 63, $e(se.expression, ke, ot)))), t.createAssignmentTargetWrapper(ht, Ge(wt, K, ht, 63)) } function aa(se) { if (rs(se) || fu(se)) return qs(se); if (TA(se)) return ro(se); if (B && Pu(se) && _e && U?.data) { let { classConstructor: ht, superClassReference: wt, facts: K } = U.data; if (K & 1) return Si(se); if (ht && wt) { let Xe = Vs(se) ? $e(se.argumentExpression, ke, ot) : Re(se.name) ? t.createStringLiteralFromNode(se.name) : void 0; if (Xe) { let ft = t.createTempVariable(void 0); return t.createAssignmentTargetWrapper(ft, t.createReflectSetCall(wt, Xe, ft, ht)) } } } return xn(se, ke, e) } function Co(se) { if (vf(se, ce)) { let ht = aa(se.left), wt = zt(se.left, se.right), K = $e(se.right, Xe => Ce(Xe, wt), ot); return t.updateBinaryExpression(se, ht, se.operatorToken, K) } if (Iu(se, !0)) { let ht = aa(se.left), wt = $e(se.right, ke, ot); return t.updateBinaryExpression(se, ht, se.operatorToken, wt) } return aa(se) } function gc(se) { if (Ju(se.expression)) { let ht = aa(se.expression); return t.updateSpreadElement(se, ht) } return xn(se, ke, e) } function Ll(se) { return L.assertNode(se, ww), Km(se) ? gc(se) : ol(se) ? xn(se, ke, e) : Co(se) } function md(se) { let ht = $e(se.name, ke, Ys); if (Iu(se.initializer, !0)) { let wt = Co(se.initializer); return t.updatePropertyAssignment(se, ht, wt) } if (Ju(se.initializer)) { let wt = aa(se.initializer); return t.updatePropertyAssignment(se, ht, wt) } return xn(se, ke, e) } function Pc(se) { if (vf(se, ce)) { let ht = zt(se.name, se.objectAssignmentInitializer), wt = $e(se.objectAssignmentInitializer, K => Ce(K, ht), ot); return t.updateShorthandPropertyAssignment(se, se.name, wt) } return xn(se, ke, e) } function bl(se) { if (Ju(se.expression)) { let ht = aa(se.expression); return t.updateSpreadAssignment(se, ht) } return xn(se, ke, e) } function ss(se) { return L.assertNode(se, Dw), VS(se) ? bl(se) : xf(se) ? Pc(se) : yl(se) ? md(se) : xn(se, ke, e) } function qs(se) { return fu(se) ? t.updateArrayLiteralExpression(se, On(se.elements, Ll, ot)) : t.updateObjectLiteralExpression(se, On(se.properties, ss, Og)) } function Rs(se, ht, wt) { let K = ec(ht), Xe = re.get(K); if (Xe) { let ft = U, Yt = X; U = Xe, X = ge, ge = !oc(K) || !(o_(K) & 32), Y(se, ht, wt), ge = X, X = Yt, U = ft; return } switch (ht.kind) { case 215: if (xs(K) || Ya(ht) & 524288) break; case 259: case 173: case 174: case 175: case 171: case 169: { let ft = U, Yt = X; U = void 0, X = ge, ge = !1, Y(se, ht, wt), ge = X, X = Yt, U = ft; return } case 164: { let ft = U, Yt = ge; U = U?.previous, ge = X, Y(se, ht, wt), ge = Yt, U = ft; return } }Y(se, ht, wt) } function As(se, ht) { return ht = W(se, ht), se === 1 ? jt(ht) : ht } function jt(se) { switch (se.kind) { case 79: return Ql(se); case 108: return yc(se) }return se } function yc(se) { if (ie & 2 && U?.data) { let { facts: ht, classConstructor: wt, classThis: K } = U.data; if (ht & 1 && S) return t.createParenthesizedExpression(t.createVoidZero()); let Xe = ge ? K ?? wt : wt; if (Xe) return it(Ir(t.cloneNode(Xe), se), se) } return se } function Ql(se) { return yu(se) || se } function yu(se) { if (ie & 1 && d.getNodeCheckFlags(se) & 2097152) { let ht = d.getReferencedValueDeclaration(se); if (ht) { let wt = $[ht.id]; if (wt) { let K = t.cloneNode(wt); return Ho(K, se), hl(K, se), K } } } } } function tMe(e, t) { return D.createAssignment(e, D.createObjectLiteralExpression([D.createPropertyAssignment("value", t || D.createVoidZero())])) } function nMe(e, t, r) { return D.createCallExpression(D.createPropertyAccessExpression(r, "set"), void 0, [e, t || D.createVoidZero()]) } function rMe(e, t) { return D.createCallExpression(D.createPropertyAccessExpression(t, "add"), void 0, [e]) } function iMe(e) { return !tS(e) && e.escapedText === "#constructor" } function aMe(e) { return pi(e.left) && e.operatorToken.kind === 101 } var oMe = gt({ "src/compiler/transformers/classFields.ts"() { "use strict"; fa() } }); function npe(e) { let { hoistVariableDeclaration: t } = e, r = e.getEmitResolver(), i = e.getCompilerOptions(), o = Do(i), s = Uf(i, "strictNullChecks"), l, f; return { serializeTypeNode: ($, fe) => d($, A, fe), serializeTypeOfNode: ($, fe) => d($, m, fe), serializeParameterTypesOfNode: ($, fe, Z) => d($, v, fe, Z), serializeReturnTypeOfNode: ($, fe) => d($, x, fe) }; function d($, fe, Z, U) { let re = l, le = f; l = $.currentLexicalScope, f = $.currentNameScope; let _e = U === void 0 ? fe(Z) : fe(Z, U); return l = re, f = le, _e } function g($) { let fe = r.getAllAccessorDeclarations($); return fe.setAccessor && Pce(fe.setAccessor) || fe.getAccessor && U_(fe.getAccessor) } function m($) { switch ($.kind) { case 169: case 166: return A($.type); case 175: case 174: return A(g($)); case 260: case 228: case 171: return D.createIdentifier("Function"); default: return D.createVoidZero() } } function v($, fe) { let Z = Yr($) ? Vm($) : Ia($) && Pf($.body) ? $ : void 0, U = []; if (Z) { let re = S(Z, fe), le = re.length; for (let _e = 0; _e < le; _e++) { let ge = re[_e]; _e === 0 && Re(ge.name) && ge.name.escapedText === "this" || (ge.dotDotDotToken ? U.push(A(SH(ge.type))) : U.push(m(ge))) } } return D.createArrayLiteralExpression(U) } function S($, fe) { if (fe && $.kind === 174) { let { setAccessor: Z } = kT(fe.members, $); if (Z) return Z.parameters } return $.parameters } function x($) { return Ia($) && $.type ? A($.type) : qA($) ? D.createIdentifier("Promise") : D.createVoidZero() } function A($) { if ($ === void 0) return D.createIdentifier("Object"); switch ($ = FH($), $.kind) { case 114: case 155: case 144: return D.createVoidZero(); case 181: case 182: return D.createIdentifier("Function"); case 185: case 186: return D.createIdentifier("Array"); case 179: return $.assertsModifier ? D.createVoidZero() : D.createIdentifier("Boolean"); case 134: return D.createIdentifier("Boolean"); case 200: case 152: return D.createIdentifier("String"); case 149: return D.createIdentifier("Object"); case 198: return w($.literal); case 148: return D.createIdentifier("Number"); case 160: return ie("BigInt", 7); case 153: return ie("Symbol", 2); case 180: return F($); case 190: return C($.types, !0); case 189: return C($.types, !1); case 191: return C([$.trueType, $.falseType], !1); case 195: if ($.operator === 146) return A($.type); break; case 183: case 196: case 197: case 184: case 131: case 157: case 194: case 202: break; case 315: case 316: case 320: case 321: case 322: break; case 317: case 318: case 319: return A($.type); default: return L.failBadSyntaxKind($) }return D.createIdentifier("Object") } function w($) { switch ($.kind) { case 10: case 14: return D.createIdentifier("String"); case 221: { let fe = $.operand; switch (fe.kind) { case 8: case 9: return w(fe); default: return L.failBadSyntaxKind(fe) } } case 8: return D.createIdentifier("Number"); case 9: return ie("BigInt", 7); case 110: case 95: return D.createIdentifier("Boolean"); case 104: return D.createVoidZero(); default: return L.failBadSyntaxKind($) } } function C($, fe) { let Z; for (let U of $) { if (U = FH(U), U.kind === 144) { if (fe) return D.createVoidZero(); continue } if (U.kind === 157) { if (!fe) return D.createIdentifier("Object"); continue } if (U.kind === 131) return D.createIdentifier("Object"); if (!s && (mb(U) && U.literal.kind === 104 || U.kind === 155)) continue; let re = A(U); if (Re(re) && re.escapedText === "Object") return re; if (Z) { if (!P(Z, re)) return D.createIdentifier("Object") } else Z = re } return Z ?? D.createVoidZero() } function P($, fe) { return tc($) ? tc(fe) : Re($) ? Re(fe) && $.escapedText === fe.escapedText : br($) ? br(fe) && P($.expression, fe.expression) && P($.name, fe.name) : NS($) ? NS(fe) && Vf($.expression) && $.expression.text === "0" && Vf(fe.expression) && fe.expression.text === "0" : yo($) ? yo(fe) && $.text === fe.text : y2($) ? y2(fe) && P($.expression, fe.expression) : ud($) ? ud(fe) && P($.expression, fe.expression) : b2($) ? b2(fe) && P($.condition, fe.condition) && P($.whenTrue, fe.whenTrue) && P($.whenFalse, fe.whenFalse) : ar($) ? ar(fe) && $.operatorToken.kind === fe.operatorToken.kind && P($.left, fe.left) && P($.right, fe.right) : !1 } function F($) { let fe = r.getTypeReferenceSerializationKind($.typeName, f ?? l); switch (fe) { case 0: if (jn($, re => re.parent && m2(re.parent) && (re.parent.trueType === re || re.parent.falseType === re))) return D.createIdentifier("Object"); let Z = q($.typeName), U = D.createTempVariable(t); return D.createConditionalExpression(D.createTypeCheck(D.createAssignment(U, Z), "function"), void 0, U, void 0, D.createIdentifier("Object")); case 1: return W($.typeName); case 2: return D.createVoidZero(); case 4: return ie("BigInt", 7); case 6: return D.createIdentifier("Boolean"); case 3: return D.createIdentifier("Number"); case 5: return D.createIdentifier("String"); case 7: return D.createIdentifier("Array"); case 8: return ie("Symbol", 2); case 10: return D.createIdentifier("Function"); case 9: return D.createIdentifier("Promise"); case 11: return D.createIdentifier("Object"); default: return L.assertNever(fe) } } function B($, fe) { return D.createLogicalAnd(D.createStrictInequality(D.createTypeOfExpression($), D.createStringLiteral("undefined")), fe) } function q($) { if ($.kind === 79) { let U = W($); return B(U, U) } if ($.left.kind === 79) return B(W($.left), W($)); let fe = q($.left), Z = D.createTempVariable(t); return D.createLogicalAnd(D.createLogicalAnd(fe.left, D.createStrictInequality(D.createAssignment(Z, fe.right), D.createVoidZero())), D.createPropertyAccessExpression(Z, $.right)) } function W($) { switch ($.kind) { case 79: let fe = go(it(fm.cloneNode($), $), $.parent); return fe.original = void 0, go(fe, ea(l)), fe; case 163: return Y($) } } function Y($) { return D.createPropertyAccessExpression(W($.left), $.right) } function R($) { return D.createConditionalExpression(D.createTypeCheck(D.createIdentifier($), "function"), void 0, D.createIdentifier($), void 0, D.createIdentifier("Object")) } function ie($, fe) { return o < fe ? R($) : D.createIdentifier($) } } var sMe = gt({ "src/compiler/transformers/typeSerializer.ts"() { "use strict"; fa() } }); function rpe(e) { let { factory: t, getEmitHelperFactory: r, hoistVariableDeclaration: i } = e, o = e.getEmitResolver(), s = e.getCompilerOptions(), l = Do(s), f = e.onSubstituteNode; e.onSubstituteNode = Ye; let d; return y_(e, g); function g(We) { let qe = xn(We, v, e); return Bg(qe, e.readEmitHelpers()), qe } function m(We) { return du(We) ? void 0 : We } function v(We) { if (!(We.transformFlags & 33554432)) return We; switch (We.kind) { case 167: return; case 260: return S(We); case 228: return B(We); case 173: return q(We); case 171: return Y(We); case 175: return ie(We); case 174: return R(We); case 169: return $(We); case 166: return fe(We); default: return xn(We, v, e) } } function S(We) { if (!(O0(!0, We) || kI(!0, We))) return xn(We, v, e); let qe = O0(!0, We) ? F(We, We.name) : P(We, We.name); return qe.length > 1 && (qe.push(t.createEndOfDeclarationMarker(We)), Jn(qe[0], Ya(qe[0]) | 8388608)), zp(qe) } function x(We) { return !!(We.transformFlags & 536870912) } function A(We) { return vt(We, x) } function w(We) { for (let qe of We.members) { if (!HS(qe)) continue; let zt = TF(qe, We, !0); if (vt(zt?.decorators, x) || vt(zt?.parameters, A)) return !0 } return !1 } function C(We, qe) { let zt = []; return re(zt, We, !1), re(zt, We, !0), w(We) && (qe = it(t.createNodeArray([...qe, t.createClassStaticBlockDeclaration(t.createBlock(zt, !0))]), qe), zt = void 0), { decorationStatements: zt, members: qe } } function P(We, qe) { let zt = On(We.modifiers, m, Ha), Qt = On(We.heritageClauses, v, dd), tn = On(We.members, v, _l), kn = []; ({ members: tn, decorationStatements: kn } = C(We, tn)); let _n = t.updateClassDeclaration(We, zt, qe, void 0, Qt, tn); return si([_n], kn) } function F(We, qe) { let zt = yp(We), Qt = Be(We), tn = l <= 2 ? t.getInternalName(We, !1, !0) : t.getLocalName(We, !1, !0), kn = On(We.heritageClauses, v, dd), _n = On(We.members, v, _l), Gt = []; ({ members: _n, decorationStatements: Gt } = C(We, _n)); let $n = t.createClassExpression(void 0, qe && tc(qe) ? void 0 : qe, void 0, kn, _n); Ir($n, We), it($n, zt); let ui = t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(tn, void 0, void 0, Qt ? t.createAssignment(Qt, $n) : $n)], 1)); Ir(ui, We), it(ui, zt), hl(ui, We); let Ni = [ui]; return si(Ni, Gt), Ve(Ni, We), Ni } function B(We) { return t.updateClassExpression(We, On(We.modifiers, m, Ha), We.name, void 0, On(We.heritageClauses, v, dd), On(We.members, v, _l)) } function q(We) { return t.updateConstructorDeclaration(We, On(We.modifiers, m, Ha), On(We.parameters, v, ha), $e(We.body, v, Va)) } function W(We, qe) { return We !== qe && (hl(We, qe), Ho(We, yp(qe))), We } function Y(We) { return W(t.updateMethodDeclaration(We, On(We.modifiers, m, Ha), We.asteriskToken, L.checkDefined($e(We.name, v, Ys)), void 0, void 0, On(We.parameters, v, ha), void 0, $e(We.body, v, Va)), We) } function R(We) { return W(t.updateGetAccessorDeclaration(We, On(We.modifiers, m, Ha), L.checkDefined($e(We.name, v, Ys)), On(We.parameters, v, ha), void 0, $e(We.body, v, Va)), We) } function ie(We) { return W(t.updateSetAccessorDeclaration(We, On(We.modifiers, m, Ha), L.checkDefined($e(We.name, v, Ys)), On(We.parameters, v, ha), $e(We.body, v, Va)), We) } function $(We) { if (!(We.flags & 16777216 || Mr(We, 2))) return W(t.updatePropertyDeclaration(We, On(We.modifiers, m, Ha), L.checkDefined($e(We.name, v, Ys)), void 0, void 0, $e(We.initializer, v, ot)), We) } function fe(We) { let qe = t.updateParameterDeclaration(We, hde(t, We.modifiers), We.dotDotDotToken, L.checkDefined($e(We.name, v, Mm)), void 0, void 0, $e(We.initializer, v, ot)); return qe !== We && (hl(qe, We), it(qe, yp(We)), Ho(qe, yp(We)), Jn(qe.name, 64)), qe } function Z(We) { return pL(We.expression, "___metadata") } function U(We) { if (!We) return; let { false: qe, true: zt } = yae(We.decorators, Z), Qt = []; return si(Qt, on(qe, ke)), si(Qt, Uo(We.parameters, Pe)), si(Qt, on(zt, ke)), Qt } function re(We, qe, zt) { si(We, on(ge(qe, zt), Qt => t.createExpressionStatement(Qt))) } function le(We, qe, zt) { return Kw(!0, We, zt) && qe === Ca(We) } function _e(We, qe) { return Pr(We.members, zt => le(zt, qe, We)) } function ge(We, qe) { let zt = _e(We, qe), Qt; for (let tn of zt) Qt = Sn(Qt, X(We, tn)); return Qt } function X(We, qe) { let zt = TF(qe, We, !0), Qt = U(zt); if (!Qt) return; let tn = Le(We, qe), kn = Ce(qe, !Mr(qe, 2)), _n = l > 0 ? Na(qe) && !rm(qe) ? t.createVoidZero() : t.createNull() : void 0, Gt = r().createDecorateHelper(Qt, tn, kn, _n); return Jn(Gt, 3072), Ho(Gt, yp(qe)), Gt } function Ve(We, qe) { let zt = we(qe); zt && We.push(Ir(t.createExpressionStatement(zt), qe)) } function we(We) { let qe = LK(We), zt = U(qe); if (!zt) return; let Qt = d && d[sc(We)], tn = l <= 2 ? t.getInternalName(We, !1, !0) : t.getLocalName(We, !1, !0), kn = r().createDecorateHelper(zt, tn), _n = t.createAssignment(tn, Qt ? t.createAssignment(Qt, kn) : kn); return Jn(_n, 3072), Ho(_n, yp(We)), _n } function ke(We) { return L.checkDefined($e(We.expression, v, ot)) } function Pe(We, qe) { let zt; if (We) { zt = []; for (let Qt of We) { let tn = r().createParamHelper(ke(Qt), qe); it(tn, Qt.expression), Jn(tn, 3072), zt.push(tn) } } return zt } function Ce(We, qe) { let zt = We.name; return pi(zt) ? t.createIdentifier("") : ts(zt) ? qe && !Ap(zt.expression) ? t.getGeneratedNameForNode(zt) : zt.expression : Re(zt) ? t.createStringLiteral(vr(zt)) : t.cloneNode(zt) } function Ie() { d || (e.enableSubstitution(79), d = []) } function Be(We) { if (o.getNodeCheckFlags(We) & 1048576) { Ie(); let qe = t.createUniqueName(We.name && !tc(We.name) ? vr(We.name) : "default"); return d[sc(We)] = qe, i(qe), qe } } function Ne(We) { return t.createPropertyAccessExpression(t.getDeclarationName(We), "prototype") } function Le(We, qe) { return Ca(qe) ? t.getDeclarationName(We) : Ne(We) } function Ye(We, qe) { return qe = f(We, qe), We === 1 ? _t(qe) : qe } function _t(We) { switch (We.kind) { case 79: return ct(We) }return We } function ct(We) { var qe; return (qe = Rt(We)) != null ? qe : We } function Rt(We) { if (d && o.getNodeCheckFlags(We) & 2097152) { let qe = o.getReferencedValueDeclaration(We); if (qe) { let zt = d[qe.id]; if (zt) { let Qt = t.cloneNode(zt); return Ho(Qt, We), hl(Qt, We), Qt } } } } } var cMe = gt({ "src/compiler/transformers/legacyDecorators.ts"() { "use strict"; fa() } }); function ipe(e) { let { factory: t, getEmitHelperFactory: r, startLexicalEnvironment: i, endLexicalEnvironment: o, hoistVariableDeclaration: s } = e, l, f, d, g, m, v; return y_(e, S); function S(ae) { l = void 0, v = !1; let rt = xn(ae, R, e); return Bg(rt, e.readEmitHelpers()), v && (SS(rt, 32), v = !1), rt } function x() { switch (f = void 0, d = void 0, g = void 0, l?.kind) { case "class": f = l.classInfo; break; case "class-element": f = l.next.classInfo, d = l.classThis, g = l.classSuper; break; case "name": let ae = l.next.next.next; ae?.kind === "class-element" && (f = ae.next.classInfo, d = ae.classThis, g = ae.classSuper); break } } function A(ae) { l = { kind: "class", next: l, classInfo: ae, savedPendingExpressions: m }, m = void 0, x() } function w() { L.assert(l?.kind === "class", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class' but got '${l?.kind}' instead.`), m = l.savedPendingExpressions, l = l.next, x() } function C(ae) { var rt, Ot; L.assert(l?.kind === "class", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class' but got '${l?.kind}' instead.`), l = { kind: "class-element", next: l }, (oc(ae) || Na(ae) && zc(ae)) && (l.classThis = (rt = l.next.classInfo) == null ? void 0 : rt.classThis, l.classSuper = (Ot = l.next.classInfo) == null ? void 0 : Ot.classSuper), x() } function P() { var ae; L.assert(l?.kind === "class-element", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class-element' but got '${l?.kind}' instead.`), L.assert(((ae = l.next) == null ? void 0 : ae.kind) === "class", "Incorrect value for top.next.kind.", () => { var rt; return `Expected top.next.kind to be 'class' but got '${(rt = l.next) == null ? void 0 : rt.kind}' instead.` }), l = l.next, x() } function F() { L.assert(l?.kind === "class-element", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class-element' but got '${l?.kind}' instead.`), l = { kind: "name", next: l }, x() } function B() { L.assert(l?.kind === "name", "Incorrect value for top.kind.", () => `Expected top.kind to be 'name' but got '${l?.kind}' instead.`), l = l.next, x() } function q() { l?.kind === "other" ? (L.assert(!m), l.depth++) : (l = { kind: "other", next: l, depth: 0, savedPendingExpressions: m }, m = void 0, x()) } function W() { L.assert(l?.kind === "other", "Incorrect value for top.kind.", () => `Expected top.kind to be 'other' but got '${l?.kind}' instead.`), l.depth > 0 ? (L.assert(!m), l.depth--) : (m = l.savedPendingExpressions, l = l.next, x()) } function Y(ae) { return !!(ae.transformFlags & 33554432) || !!d && !!(ae.transformFlags & 16384) || !!d && !!g && !!(ae.transformFlags & 134217728) } function R(ae) { if (!Y(ae)) return ae; switch (ae.kind) { case 167: return L.fail("Use `modifierVisitor` instead."); case 260: return ke(ae); case 228: return Pe(ae, void 0); case 173: case 169: case 172: return L.fail("Not supported outside of a class. Use 'classElementVisitor' instead."); case 166: return kn(ae); case 223: return ui(ae, !1); case 299: return Dt(ae); case 257: return pn(ae); case 205: return An(ae); case 274: return at(ae); case 108: return We(ae); case 245: return Gt(ae); case 241: return $n(ae); case 357: return Pi(ae, !1); case 214: return Tt(ae, !1, void 0); case 356: return ve(ae, !1, void 0); case 210: return qe(ae); case 212: return zt(ae); case 221: case 222: return Ni(ae, !1); case 208: return Qt(ae); case 209: return tn(ae); case 164: return nn(ae); case 171: case 175: case 174: case 215: case 259: { q(); let rt = xn(ae, ie, e); return W(), rt } default: return xn(ae, ie, e) } } function ie(ae) { switch (ae.kind) { case 167: return; default: return R(ae) } } function $(ae) { switch (ae.kind) { case 167: return; default: return ae } } function fe(ae) { switch (ae.kind) { case 173: return Ie(ae); case 171: return Le(ae); case 174: return Ye(ae); case 175: return _t(ae); case 169: return Rt(ae); case 172: return ct(ae); default: return R(ae) } } function Z(ae, rt) { switch (ae.kind) { case 356: return ve(ae, !1, rt); case 214: return Tt(ae, !1, rt); case 228: return Pe(ae, rt); default: return R(ae) } } function U(ae) { switch (ae.kind) { case 221: case 222: return Ni(ae, !0); case 223: return ui(ae, !0); case 357: return Pi(ae, !0); case 214: return Tt(ae, !0, void 0); default: return R(ae) } } function re(ae) { let rt = ae.name && Re(ae.name) && !tc(ae.name) ? vr(ae.name) : ae.name && pi(ae.name) && !tc(ae.name) ? vr(ae.name).slice(1) : ae.name && yo(ae.name) && i_(ae.name.text, 99) ? ae.name.text : Yr(ae) ? "class" : "member"; return zy(ae) && (rt = `get_${rt}`), Ng(ae) && (rt = `set_${rt}`), ae.name && pi(ae.name) && (rt = `private_${rt}`), Ca(ae) && (rt = `static_${rt}`), "_" + rt } function le(ae, rt) { return t.createUniqueName(`${re(ae)}_${rt}`, 24) } function _e(ae, rt) { return t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(ae, void 0, void 0, rt)], 1)) } function ge(ae) { let rt, Ot, Ke = !1, oe = !1, pe = !1; for (let z of ae.members) if (cse(z) && Kw(!1, z, ae) && (zc(z) ? Ot ?? (Ot = t.createUniqueName("_staticExtraInitializers", 16)) : rt ?? (rt = t.createUniqueName("_instanceExtraInitializers", 16))), oc(z) ? Ke = !0 : Na(z) && (zc(z) ? Ke || (Ke = !!z.initializer || bf(z)) : oe || (oe = !_H(z))), (xu(z) || Id(z)) && zc(z) && (pe = !0), Ot && rt && Ke && oe && pe) break; return { class: ae, instanceExtraInitializersName: rt, staticExtraInitializersName: Ot, hasStaticInitializers: Ke, hasNonAmbientInstanceFields: oe, hasStaticPrivateClassElements: pe } } function X(ae) { for (let rt of ae.members) if ((oc(rt) || Na(rt) && zc(rt)) && rt.transformFlags & 134217728) return !0; return !1 } function Ve(ae, rt) { var Ot, Ke, oe, pe, z; i(); let Te = (Ot = ae.name) != null ? Ot : t.getGeneratedNameForNode(ae), j = ge(ae), yt = [], lt, Qe, Vt, Hn, jr = !1, ei = ce(LK(ae)); if (ei && (j.classDecoratorsName = t.createUniqueName("_classDecorators", 16), j.classDescriptorName = t.createUniqueName("_classDescriptor", 16), j.classExtraInitializersName = t.createUniqueName("_classExtraInitializers", 16), j.classThis = t.createUniqueName("_classThis", 16), yt.push(_e(j.classDecoratorsName, t.createArrayLiteralExpression(ei)), _e(j.classDescriptorName), _e(j.classExtraInitializersName, t.createArrayLiteralExpression()), _e(j.classThis)), j.hasStaticPrivateClassElements && (jr = !0, v = !0)), ei && X(ae)) { let xi = mR(ae.heritageClauses, 94), Nr = xi && Sl(xi.types), Fo = Nr && $e(Nr.expression, R, ot); if (Fo) { j.classSuper = t.createUniqueName("_classSuper", 16); let Qr = ql(Fo), Wi = _u(Qr) && !Qr.name || ms(Qr) && !Qr.name || xs(Qr) ? t.createComma(t.createNumericLiteral(0), Fo) : Fo; yt.push(_e(j.classSuper, Wi)); let gn = t.updateExpressionWithTypeArguments(Nr, j.classSuper, void 0), Ki = t.updateHeritageClause(xi, [gn]); Hn = t.createNodeArray([Ki]) } } else Hn = On(ae.heritageClauses, R, dd); let Kr = (Ke = j.classThis) != null ? Ke : t.createThis(); if (!((oe = ec(ae, Yr)) != null && oe.name) && (ei || !yo(rt) || !CH(rt))) { let xi = r().createSetFunctionNameHelper(t.createThis(), rt); lt = Sn(lt, t.createExpressionStatement(xi)) } A(j); let Ja = On(ae.members, fe, _l); if (m) { let xi; for (let Nr of m) { Nr = $e(Nr, function Qr(Wi) { if (!(Wi.transformFlags & 16384)) return Wi; switch (Wi.kind) { case 108: return xi || (xi = t.createUniqueName("_outerThis", 16), yt.unshift(_e(xi, t.createThis()))), xi; default: return xn(Wi, Qr, e) } }, ot); let Fo = t.createExpressionStatement(Nr); lt = Sn(lt, Fo) } m = void 0 } if (w(), j.instanceExtraInitializersName && !Vm(ae)) { let xi = Ce(ae, j); if (xi) { let Nr = hp(ae), Fo = !!(Nr && ql(Nr.expression).kind !== 104), Qr = []; if (Fo) { let gn = t.createSpreadElement(t.createIdentifier("arguments")), Ki = t.createCallExpression(t.createSuper(), void 0, [gn]); Qr.push(t.createExpressionStatement(Ki)) } si(Qr, xi); let Wi = t.createBlock(Qr, !0); Vt = t.createConstructorDeclaration(void 0, [], Wi) } } if (j.staticExtraInitializersName && yt.push(_e(j.staticExtraInitializersName, t.createArrayLiteralExpression())), j.instanceExtraInitializersName && yt.push(_e(j.instanceExtraInitializersName, t.createArrayLiteralExpression())), j.memberInfos && Ld(j.memberInfos, (xi, Nr) => { Ca(Nr) && (yt.push(_e(xi.memberDecoratorsName)), xi.memberInitializersName && yt.push(_e(xi.memberInitializersName, t.createArrayLiteralExpression())), xi.memberDescriptorName && yt.push(_e(xi.memberDescriptorName))) }), j.memberInfos && Ld(j.memberInfos, (xi, Nr) => { Ca(Nr) || (yt.push(_e(xi.memberDecoratorsName)), xi.memberInitializersName && yt.push(_e(xi.memberInitializersName, t.createArrayLiteralExpression())), xi.memberDescriptorName && yt.push(_e(xi.memberDescriptorName))) }), lt = si(lt, j.staticNonFieldDecorationStatements), lt = si(lt, j.nonStaticNonFieldDecorationStatements), lt = si(lt, j.staticFieldDecorationStatements), lt = si(lt, j.nonStaticFieldDecorationStatements), j.classDescriptorName && j.classDecoratorsName && j.classExtraInitializersName && j.classThis) { lt ?? (lt = []); let xi = t.createPropertyAssignment("value", t.createThis()), Nr = t.createObjectLiteralExpression([xi]), Fo = t.createAssignment(j.classDescriptorName, Nr), Qr = t.createPropertyAccessExpression(t.createThis(), "name"), Wi = r().createESDecorateHelper(t.createNull(), Fo, j.classDecoratorsName, { kind: "class", name: Qr }, t.createNull(), j.classExtraInitializersName), gn = t.createExpressionStatement(Wi); Ho(gn, $y(ae)), lt.push(gn); let Ki = t.createPropertyAccessExpression(j.classDescriptorName, "value"), kc = t.createAssignment(j.classThis, Ki), Ps = t.createAssignment(Te, kc); lt.push(t.createExpressionStatement(Ps)) } if (j.staticExtraInitializersName) { let xi = r().createRunInitializersHelper(Kr, j.staticExtraInitializersName), Nr = t.createExpressionStatement(xi); Ho(Nr, (pe = ae.name) != null ? pe : $y(ae)), lt = Sn(lt, Nr) } if (j.classExtraInitializersName) { let xi = r().createRunInitializersHelper(Kr, j.classExtraInitializersName), Nr = t.createExpressionStatement(xi); Ho(Nr, (z = ae.name) != null ? z : $y(ae)), Qe = Sn(Qe, Nr) } lt && Qe && !j.hasStaticInitializers && (si(lt, Qe), Qe = void 0); let Za = Ja; if (lt) { let xi = t.createBlock(lt, !0), Nr = t.createClassStaticBlockDeclaration(xi); jr && eO(Nr, 32), Za = [Nr, ...Za] } if (Vt && (Za = [...Za, Vt]), Qe) { let xi = t.createBlock(Qe, !0), Nr = t.createClassStaticBlockDeclaration(xi); Za = [...Za, Nr] } Za !== Ja && (Ja = it(t.createNodeArray(Za), Ja)); let Fa = o(), Hi; if (ei) { Hi = t.createClassExpression(void 0, void 0, void 0, Hn, Ja); let xi = t.createVariableDeclaration(Te, void 0, void 0, Hi), Nr = t.createVariableDeclarationList([xi]), Fo = j.classThis ? t.createAssignment(Te, j.classThis) : Te; yt.push(t.createVariableStatement(void 0, Nr), t.createReturnStatement(Fo)) } else Hi = t.createClassExpression(void 0, ae.name, void 0, Hn, Ja), yt.push(t.createReturnStatement(Hi)); if (jr) { SS(Hi, 32); for (let xi of Hi.members) (xu(xi) || Id(xi)) && zc(xi) && SS(xi, 32) } return Ir(Hi, ae), Lu(Hi).classThis = j.classThis, t.createImmediatelyInvokedArrowFunction(t.mergeLexicalEnvironment(yt, Fa)) } function we(ae) { return O0(!1, ae) || kI(!1, ae) } function ke(ae) { var rt; if (we(ae)) if (Mr(ae, 1) && Mr(ae, 1024)) { let Ot = (rt = ec(ae, Yr)) != null ? rt : ae, Ke = Ot.name ? t.createStringLiteralFromNode(Ot.name) : t.createStringLiteral("default"), oe = Ve(ae, Ke), pe = t.createExportDefault(oe); return Ir(pe, ae), hl(pe, sm(ae)), Ho(pe, $y(ae)), pe } else { L.assertIsDefined(ae.name, "A class declaration that is not a default export must have a name."); let Ot = Ve(ae, t.createStringLiteralFromNode(ae.name)), Ke = On(ae.modifiers, $, Ha), oe = t.createVariableDeclaration(ae.name, void 0, void 0, Ot), pe = t.createVariableDeclarationList([oe], 1), z = t.createVariableStatement(Ke, pe); return Ir(z, ae), hl(z, sm(ae)), z } else { let Ot = On(ae.modifiers, $, Ha), Ke = On(ae.heritageClauses, R, dd); A(void 0); let oe = On(ae.members, fe, _l); return w(), t.updateClassDeclaration(ae, Ot, ae.name, void 0, Ke, oe) } } function Pe(ae, rt) { if (we(ae)) { let Ot = ae.name ? t.createStringLiteralFromNode(ae.name) : rt ?? t.createStringLiteral(""), Ke = Ve(ae, Ot); return Ir(Ke, ae), Ke } else { let Ot = On(ae.modifiers, $, Ha), Ke = On(ae.heritageClauses, R, dd); A(void 0); let oe = On(ae.members, fe, _l); return w(), t.updateClassExpression(ae, Ot, ae.name, void 0, Ke, oe) } } function Ce(ae, rt) { if (rt.instanceExtraInitializersName && !rt.hasNonAmbientInstanceFields) { let Ot = []; return Ot.push(t.createExpressionStatement(r().createRunInitializersHelper(t.createThis(), rt.instanceExtraInitializersName))), Ot } } function Ie(ae) { C(ae); let rt = On(ae.modifiers, $, Ha), Ot = On(ae.parameters, R, ha), Ke; if (ae.body && f) { let oe = Ce(f.class, f); if (oe) { let pe = [], z = t.copyPrologue(ae.body.statements, pe, !1, R), Te = bF(ae.body.statements, z), j = Te >= 0 ? Te + 1 : void 0; si(pe, On(ae.body.statements, R, ca, z, j ? j - z : void 0)), si(pe, oe), si(pe, On(ae.body.statements, R, ca, j)), Ke = t.createBlock(pe, !0), Ir(Ke, ae.body), it(Ke, ae.body) } } return Ke ?? (Ke = $e(ae.body, R, Va)), P(), t.updateConstructorDeclaration(ae, rt, Ot, Ke) } function Be(ae, rt) { return ae !== rt && (hl(ae, rt), Ho(ae, $y(rt))), ae } function Ne(ae, rt, Ot, Ke) { var oe, pe, z, Te, j, yt, lt, Qe; let Vt, Hn, jr, ei, Kr; if (!Ot) { let Za = On(ae.modifiers, $, Ha); return F(), rt ? { referencedName: Vt, name: Hn } = gr(ae.name) : Hn = pt(ae.name), B(), { modifiers: Za, referencedName: Vt, name: Hn, initializersName: jr, descriptorName: Kr, thisArg: ei } } let Si = ce(TF(ae, Ot.class, !1)), Ja = On(ae.modifiers, $, Ha); if (Si) { let Za = le(ae, "decorators"), Fa = t.createArrayLiteralExpression(Si), Hi = t.createAssignment(Za, Fa), xi = { memberDecoratorsName: Za }; (oe = Ot.memberInfos) != null || (Ot.memberInfos = new Map), Ot.memberInfos.set(ae, xi), m ?? (m = []), m.push(Hi); let Nr = xA(ae) || Id(ae) ? Ca(ae) ? (pe = Ot.staticNonFieldDecorationStatements) != null ? pe : Ot.staticNonFieldDecorationStatements = [] : (z = Ot.nonStaticNonFieldDecorationStatements) != null ? z : Ot.nonStaticNonFieldDecorationStatements = [] : Na(ae) && !Id(ae) ? Ca(ae) ? (Te = Ot.staticFieldDecorationStatements) != null ? Te : Ot.staticFieldDecorationStatements = [] : (j = Ot.nonStaticFieldDecorationStatements) != null ? j : Ot.nonStaticFieldDecorationStatements = [] : L.fail(), Fo = p_(ae) ? "getter" : Sf(ae) ? "setter" : Nc(ae) ? "method" : Id(ae) ? "accessor" : Na(ae) ? "field" : L.fail(), Qr; if (Re(ae.name) || pi(ae.name)) Qr = { computed: !1, name: ae.name }; else if (c_(ae.name)) Qr = { computed: !0, name: t.createStringLiteralFromNode(ae.name) }; else { let Ki = ae.name.expression; c_(Ki) && !Re(Ki) ? Qr = { computed: !0, name: t.createStringLiteralFromNode(Ki) } : (F(), { referencedName: Vt, name: Hn } = gr(ae.name), Qr = { computed: !0, name: Vt }, B()) } let Wi = { kind: Fo, name: Qr, static: Ca(ae), private: pi(ae.name), access: { get: Na(ae) || p_(ae) || Nc(ae), set: Na(ae) || Sf(ae) } }, gn = Ca(ae) ? (yt = Ot.staticExtraInitializersName) != null ? yt : Ot.staticExtraInitializersName = t.createUniqueName("_staticExtraInitializers", 16) : (lt = Ot.instanceExtraInitializersName) != null ? lt : Ot.instanceExtraInitializersName = t.createUniqueName("_instanceExtraInitializers", 16); if (xA(ae)) { let Ki; xu(ae) && Ke && (Ki = Ke(ae, On(Ja, mc => zr(mc, mL), Ha)), xi.memberDescriptorName = Kr = le(ae, "descriptor"), Ki = t.createAssignment(Kr, Ki)); let kc = r().createESDecorateHelper(t.createThis(), Ki ?? t.createNull(), Za, Wi, t.createNull(), gn), Ps = t.createExpressionStatement(kc); Ho(Ps, $y(ae)), Nr.push(Ps) } else if (Na(ae)) { jr = (Qe = xi.memberInitializersName) != null ? Qe : xi.memberInitializersName = le(ae, "initializers"), Ca(ae) && (ei = Ot.classThis); let Ki; xu(ae) && rm(ae) && Ke && (Ki = Ke(ae, void 0), xi.memberDescriptorName = Kr = le(ae, "descriptor"), Ki = t.createAssignment(Kr, Ki)); let kc = r().createESDecorateHelper(Id(ae) ? t.createThis() : t.createNull(), Ki ?? t.createNull(), Za, Wi, jr, gn), Ps = t.createExpressionStatement(kc); Ho(Ps, $y(ae)), Nr.push(Ps) } } return Hn === void 0 && (F(), rt ? { referencedName: Vt, name: Hn } = gr(ae.name) : Hn = pt(ae.name), B()), !vt(Ja) && (Nc(ae) || Na(ae)) && Jn(Hn, 1024), { modifiers: Ja, referencedName: Vt, name: Hn, initializersName: jr, descriptorName: Kr, thisArg: ei } } function Le(ae) { C(ae); let { modifiers: rt, name: Ot, descriptorName: Ke } = Ne(ae, !1, f, G); if (Ke) return P(), Be(kt(rt, Ot, Ke), ae); { let oe = On(ae.parameters, R, ha), pe = $e(ae.body, R, Va); return P(), Be(t.updateMethodDeclaration(ae, rt, ae.asteriskToken, Ot, void 0, void 0, oe, void 0, pe), ae) } } function Ye(ae) { C(ae); let { modifiers: rt, name: Ot, descriptorName: Ke } = Ne(ae, !1, f, Oe); if (Ke) return P(), Be(Kt(rt, Ot, Ke), ae); { let oe = On(ae.parameters, R, ha), pe = $e(ae.body, R, Va); return P(), Be(t.updateGetAccessorDeclaration(ae, rt, Ot, oe, void 0, pe), ae) } } function _t(ae) { C(ae); let { modifiers: rt, name: Ot, descriptorName: Ke } = Ne(ae, !1, f, je); if (Ke) return P(), Be(ln(rt, Ot, Ke), ae); { let oe = On(ae.parameters, R, ha), pe = $e(ae.body, R, Va); return P(), Be(t.updateSetAccessorDeclaration(ae, rt, Ot, oe, pe), ae) } } function ct(ae) { C(ae), f && (f.hasStaticInitializers = !0); let rt = xn(ae, R, e); return P(), rt } function Rt(ae) { C(ae), L.assert(!_H(ae), "Not yet implemented."); let rt = vf(ae, _n), { modifiers: Ot, name: Ke, referencedName: oe, initializersName: pe, descriptorName: z, thisArg: Te } = Ne(ae, rt, f, rm(ae) ? Ge : void 0); i(); let j = oe ? $e(ae.initializer, lt => Z(lt, oe), ot) : $e(ae.initializer, R, ot); pe && (j = r().createRunInitializersHelper(Te ?? t.createThis(), pe, j ?? t.createVoidZero())), !Ca(ae) && f?.instanceExtraInitializersName && !f?.hasInjectedInstanceInitializers && (f.hasInjectedInstanceInitializers = !0, j ?? (j = t.createVoidZero()), j = t.createParenthesizedExpression(t.createComma(r().createRunInitializersHelper(t.createThis(), f.instanceExtraInitializersName), j))), Ca(ae) && f && j && (f.hasStaticInitializers = !0); let yt = o(); if (vt(yt) && (j = t.createImmediatelyInvokedArrowFunction([...yt, t.createReturnStatement(j)])), P(), rm(ae) && z) { let lt = sm(ae), Qe = pb(ae), Vt = ae.name, Hn = Vt, jr = Vt; if (ts(Vt) && !Ap(Vt.expression)) { let Za = L3(Vt); if (Za) Hn = t.updateComputedPropertyName(Vt, $e(Vt.expression, R, ot)), jr = t.updateComputedPropertyName(Vt, Za.left); else { let Fa = t.createTempVariable(s); Ho(Fa, Vt.expression); let Hi = $e(Vt.expression, R, ot), xi = t.createAssignment(Fa, Hi); Ho(xi, Vt.expression), Hn = t.updateComputedPropertyName(Vt, xi), jr = t.updateComputedPropertyName(Vt, Fa) } } let ei = On(Ot, Za => Za.kind !== 127 ? Za : void 0, Ha), Kr = sJ(t, ae, ei, j); Ir(Kr, ae), Jn(Kr, 3072), Ho(Kr, Qe), Ho(Kr.name, ae.name); let Si = Kt(ei, Hn, z); Ir(Si, ae), hl(Si, lt), Ho(Si, Qe); let Ja = ln(ei, jr, z); return Ir(Ja, ae), Jn(Ja, 3072), Ho(Ja, Qe), [Kr, Si, Ja] } return Be(t.updatePropertyDeclaration(ae, Ot, Ke, void 0, void 0, j), ae) } function We(ae) { return d ?? ae } function qe(ae) { if (Pu(ae.expression) && d) { let rt = $e(ae.expression, R, ot), Ot = On(ae.arguments, R, ot), Ke = t.createFunctionCallCall(rt, d, Ot); return Ir(Ke, ae), it(Ke, ae), Ke } return xn(ae, R, e) } function zt(ae) { if (Pu(ae.tag) && d) { let rt = $e(ae.tag, R, ot), Ot = t.createFunctionBindCall(rt, d, []); Ir(Ot, ae), it(Ot, ae); let Ke = $e(ae.template, R, AA); return t.updateTaggedTemplateExpression(ae, Ot, void 0, Ke) } return xn(ae, R, e) } function Qt(ae) { if (Pu(ae) && Re(ae.name) && d && g) { let rt = t.createStringLiteralFromNode(ae.name), Ot = t.createReflectGetCall(g, rt, d); return Ir(Ot, ae.expression), it(Ot, ae.expression), Ot } return xn(ae, R, e) } function tn(ae) { if (Pu(ae) && d && g) { let rt = $e(ae.argumentExpression, R, ot), Ot = t.createReflectGetCall(g, rt, d); return Ir(Ot, ae.expression), it(Ot, ae.expression), Ot } return xn(ae, R, e) } function kn(ae) { let rt; if (vf(ae, _n)) { let Ot = ir(ae.name, ae.initializer), Ke = $e(ae.name, R, Mm), oe = $e(ae.initializer, pe => Z(pe, Ot), ot); rt = t.updateParameterDeclaration(ae, void 0, void 0, Ke, void 0, void 0, oe) } else rt = t.updateParameterDeclaration(ae, void 0, ae.dotDotDotToken, $e(ae.name, R, Mm), void 0, void 0, $e(ae.initializer, R, ot)); return rt !== ae && (hl(rt, ae), it(rt, yp(ae)), Ho(rt, yp(ae)), Jn(rt.name, 64)), rt } function _n(ae) { return _u(ae) && !ae.name && we(ae) } function Gt(ae) { return t.updateForStatement(ae, $e(ae.initializer, U, pp), $e(ae.condition, R, ot), $e(ae.incrementor, U, ot), jf(ae.statement, R, e)) } function $n(ae) { return xn(ae, U, e) } function ui(ae, rt) { if (Fg(ae)) { let Ot = Se(ae.left), Ke = $e(ae.right, R, ot); return t.updateBinaryExpression(ae, Ot, ae.operatorToken, Ke) } if (Iu(ae)) { if (vf(ae, _n)) { let Ot = ir(ae.left, ae.right), Ke = $e(ae.left, R, ot), oe = $e(ae.right, pe => Z(pe, Ot), ot); return t.updateBinaryExpression(ae, Ke, ae.operatorToken, oe) } if (Pu(ae.left) && d && g) { let Ot = Vs(ae.left) ? $e(ae.left.argumentExpression, R, ot) : Re(ae.left.name) ? t.createStringLiteralFromNode(ae.left.name) : void 0; if (Ot) { let Ke = $e(ae.right, R, ot); if (oN(ae.operatorToken.kind)) { let pe = Ot; Ap(Ot) || (pe = t.createTempVariable(s), Ot = t.createAssignment(pe, Ot)); let z = t.createReflectGetCall(g, pe, d); Ir(z, ae.left), it(z, ae.left), Ke = t.createBinaryExpression(z, WL(ae.operatorToken.kind), Ke), it(Ke, ae) } let oe = rt ? void 0 : t.createTempVariable(s); return oe && (Ke = t.createAssignment(oe, Ke), it(oe, ae)), Ke = t.createReflectSetCall(g, Ot, Ke, d), Ir(Ke, ae), it(Ke, ae), oe && (Ke = t.createComma(Ke, oe), it(Ke, ae)), Ke } } } if (ae.operatorToken.kind === 27) { let Ot = $e(ae.left, U, ot), Ke = $e(ae.right, rt ? U : R, ot); return t.updateBinaryExpression(ae, Ot, ae.operatorToken, Ke) } return xn(ae, R, e) } function Ni(ae, rt) { if (ae.operator === 45 || ae.operator === 46) { let Ot = vs(ae.operand); if (Pu(Ot) && d && g) { let Ke = Vs(Ot) ? $e(Ot.argumentExpression, R, ot) : Re(Ot.name) ? t.createStringLiteralFromNode(Ot.name) : void 0; if (Ke) { let oe = Ke; Ap(Ke) || (oe = t.createTempVariable(s), Ke = t.createAssignment(oe, Ke)); let pe = t.createReflectGetCall(g, oe, d); Ir(pe, ae), it(pe, ae); let z = rt ? void 0 : t.createTempVariable(s); return pe = b3(t, ae, pe, s, z), pe = t.createReflectSetCall(g, Ke, pe, d), Ir(pe, ae), it(pe, ae), z && (pe = t.createComma(pe, z), it(pe, ae)), pe } } } return xn(ae, R, e) } function Pi(ae, rt) { let Ot = rt ? aN(ae.elements, U) : aN(ae.elements, R, U); return t.updateCommaListExpression(ae, Ot) } function gr(ae) { if (c_(ae) || pi(ae)) { let pe = t.createStringLiteralFromNode(ae), z = $e(ae, R, Ys); return { referencedName: pe, name: z } } if (c_(ae.expression) && !Re(ae.expression)) { let pe = t.createStringLiteralFromNode(ae.expression), z = $e(ae, R, Ys); return { referencedName: pe, name: z } } let rt = t.getGeneratedNameForNode(ae); s(rt); let Ot = r().createPropKeyHelper($e(ae.expression, R, ot)), Ke = t.createAssignment(rt, Ot), oe = t.updateComputedPropertyName(ae, nt(Ke)); return { referencedName: rt, name: oe } } function pt(ae) { return ts(ae) ? nn(ae) : $e(ae, R, Ys) } function nn(ae) { let rt = $e(ae.expression, R, ot); return Ap(rt) || (rt = nt(rt)), t.updateComputedPropertyName(ae, rt) } function Dt(ae) { if (vf(ae, _n)) { let { referencedName: rt, name: Ot } = gr(ae.name), Ke = $e(ae.initializer, oe => Z(oe, rt), ot); return t.updatePropertyAssignment(ae, Ot, Ke) } return xn(ae, R, e) } function pn(ae) { if (vf(ae, _n)) { let rt = ir(ae.name, ae.initializer), Ot = $e(ae.name, R, Mm), Ke = $e(ae.initializer, oe => Z(oe, rt), ot); return t.updateVariableDeclaration(ae, Ot, void 0, void 0, Ke) } return xn(ae, R, e) } function An(ae) { if (vf(ae, _n)) { let rt = ir(ae.name, ae.initializer), Ot = $e(ae.propertyName, R, Ys), Ke = $e(ae.name, R, Mm), oe = $e(ae.initializer, pe => Z(pe, rt), ot); return t.updateBindingElement(ae, void 0, Ot, Ke, oe) } return xn(ae, R, e) } function Kn(ae) { if (rs(ae) || fu(ae)) return Se(ae); if (Pu(ae) && d && g) { let rt = Vs(ae) ? $e(ae.argumentExpression, R, ot) : Re(ae.name) ? t.createStringLiteralFromNode(ae.name) : void 0; if (rt) { let Ot = t.createTempVariable(void 0), Ke = t.createAssignmentTargetWrapper(Ot, t.createReflectSetCall(g, rt, Ot, d)); return Ir(Ke, ae), it(Ke, ae), Ke } } return xn(ae, R, e) } function hi(ae) { if (Iu(ae, !0)) { let rt = Kn(ae.left), Ot; if (vf(ae, _n)) { let Ke = ir(ae.left, ae.right); Ot = $e(ae.right, oe => Z(oe, Ke), ot) } else Ot = $e(ae.right, R, ot); return t.updateBinaryExpression(ae, rt, ae.operatorToken, Ot) } else return Kn(ae) } function ri(ae) { if (Ju(ae.expression)) { let rt = Kn(ae.expression); return t.updateSpreadElement(ae, rt) } return xn(ae, R, e) } function vn(ae) { return L.assertNode(ae, ww), Km(ae) ? ri(ae) : ol(ae) ? xn(ae, R, e) : hi(ae) } function Ht(ae) { let rt = $e(ae.name, R, Ys); if (Iu(ae.initializer, !0)) { let Ot = hi(ae.initializer); return t.updatePropertyAssignment(ae, rt, Ot) } if (Ju(ae.initializer)) { let Ot = Kn(ae.initializer); return t.updatePropertyAssignment(ae, rt, Ot) } return xn(ae, R, e) } function En(ae) { if (vf(ae, _n)) { let rt = ir(ae.name, ae.objectAssignmentInitializer), Ot = $e(ae.name, R, Re), Ke = $e(ae.objectAssignmentInitializer, oe => Z(oe, rt), ot); return t.updateShorthandPropertyAssignment(ae, Ot, Ke) } return xn(ae, R, e) } function dr(ae) { if (Ju(ae.expression)) { let rt = Kn(ae.expression); return t.updateSpreadAssignment(ae, rt) } return xn(ae, R, e) } function Cr(ae) { return L.assertNode(ae, Dw), VS(ae) ? dr(ae) : xf(ae) ? En(ae) : yl(ae) ? Ht(ae) : xn(ae, R, e) } function Se(ae) { if (fu(ae)) { let rt = On(ae.elements, vn, ot); return t.updateArrayLiteralExpression(ae, rt) } else { let rt = On(ae.properties, Cr, Og); return t.updateObjectLiteralExpression(ae, rt) } } function at(ae) { if (vf(ae, _n)) { let rt = t.createStringLiteral(ae.isExportEquals ? "" : "default"), Ot = On(ae.modifiers, $, Ha), Ke = $e(ae.expression, oe => Z(oe, rt), ot); return t.updateExportAssignment(ae, Ot, Ke) } return xn(ae, R, e) } function Tt(ae, rt, Ot) { let Ke = rt ? U : Ot ? pe => Z(pe, Ot) : R, oe = $e(ae.expression, Ke, ot); return t.updateParenthesizedExpression(ae, oe) } function ve(ae, rt, Ot) { let Ke = rt ? U : Ot ? pe => Z(pe, Ot) : R, oe = $e(ae.expression, Ke, ot); return t.updatePartiallyEmittedExpression(ae, oe) } function nt(ae) { return vt(m) && (ud(ae) ? (m.push(ae.expression), ae = t.updateParenthesizedExpression(ae, t.inlineExpressions(m))) : (m.push(ae), ae = t.inlineExpressions(m)), m = void 0), ae } function ce(ae) { if (!ae) return; let rt = []; return si(rt, on(ae.decorators, Q)), rt } function Q(ae) { let rt = $e(ae.expression, R, ot); return Jn(rt, 3072), rt } function ue(ae, rt, Ot, Ke, oe, pe, z) { let Te = t.createFunctionExpression(Ot, Ke, void 0, void 0, pe, void 0, z ?? t.createBlock([])); Ir(Te, ae), Ho(Te, $y(ae)), Jn(Te, 3072); let j = oe === "get" || oe === "set" ? oe : void 0, yt = t.createStringLiteralFromNode(rt, void 0), lt = r().createSetFunctionNameHelper(Te, yt, j), Qe = t.createPropertyAssignment(t.createIdentifier(oe), lt); return Ir(Qe, ae), Ho(Qe, $y(ae)), Jn(Qe, 3072), Qe } function G(ae, rt) { return t.createObjectLiteralExpression([ue(ae, ae.name, rt, ae.asteriskToken, "value", On(ae.parameters, R, ha), $e(ae.body, R, Va))]) } function Oe(ae, rt) { return t.createObjectLiteralExpression([ue(ae, ae.name, rt, void 0, "get", [], $e(ae.body, R, Va))]) } function je(ae, rt) { return t.createObjectLiteralExpression([ue(ae, ae.name, rt, void 0, "set", On(ae.parameters, R, ha), $e(ae.body, R, Va))]) } function Ge(ae, rt) { return t.createObjectLiteralExpression([ue(ae, ae.name, rt, void 0, "get", [], t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(t.createThis(), t.getGeneratedPrivateNameForNode(ae.name)))])), ue(ae, ae.name, rt, void 0, "set", [t.createParameterDeclaration(void 0, void 0, "value")], t.createBlock([t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createThis(), t.getGeneratedPrivateNameForNode(ae.name)), t.createIdentifier("value")))]))]) } function kt(ae, rt, Ot) { return ae = On(ae, Ke => LS(Ke) ? Ke : void 0, Ha), t.createGetAccessorDeclaration(ae, rt, [], void 0, t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(Ot, t.createIdentifier("value")))])) } function Kt(ae, rt, Ot) { return ae = On(ae, Ke => LS(Ke) ? Ke : void 0, Ha), t.createGetAccessorDeclaration(ae, rt, [], void 0, t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(Ot, t.createIdentifier("get")), t.createThis(), []))])) } function ln(ae, rt, Ot) { return ae = On(ae, Ke => LS(Ke) ? Ke : void 0, Ha), t.createSetAccessorDeclaration(ae, rt, [t.createParameterDeclaration(void 0, void 0, "value")], t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(Ot, t.createIdentifier("set")), t.createThis(), [t.createIdentifier("value")]))])) } function ir(ae, rt) { let Ot = ec(rt, Yr); return Ot && !Ot.name && Mr(Ot, 1024) ? t.createStringLiteral("default") : t.createStringLiteralFromNode(ae) } } var lMe = gt({ "src/compiler/transformers/esDecorators.ts"() { "use strict"; fa() } }); function ape(e) { let { factory: t, getEmitHelperFactory: r, resumeLexicalEnvironment: i, endLexicalEnvironment: o, hoistVariableDeclaration: s } = e, l = e.getEmitResolver(), f = e.getCompilerOptions(), d = Do(f), g, m = 0, v, S, x, A = [], w = 0, C = e.onEmitNode, P = e.onSubstituteNode; return e.onEmitNode = kn, e.onSubstituteNode = _n, y_(e, F); function F(pt) { if (pt.isDeclarationFile) return pt; B(1, !1), B(2, !fH(pt, f)); let nn = xn(pt, $, e); return Bg(nn, e.readEmitHelpers()), nn } function B(pt, nn) { w = nn ? w | pt : w & ~pt } function q(pt) { return (w & pt) !== 0 } function W() { return !q(1) } function Y() { return q(2) } function R(pt, nn, Dt) { let pn = pt & ~w; if (pn) { B(pn, !0); let An = nn(Dt); return B(pn, !1), An } return nn(Dt) } function ie(pt) { return xn(pt, $, e) } function $(pt) { if (!(pt.transformFlags & 256)) return pt; switch (pt.kind) { case 132: return; case 220: return ge(pt); case 171: return R(3, Ve, pt); case 259: return R(3, Pe, pt); case 215: return R(3, Ce, pt); case 216: return R(1, Ie, pt); case 208: return S && br(pt) && pt.expression.kind === 106 && S.add(pt.name.escapedText), xn(pt, $, e); case 209: return S && pt.expression.kind === 106 && (x = !0), xn(pt, $, e); case 174: return R(3, we, pt); case 175: return R(3, ke, pt); case 173: return R(3, X, pt); case 260: case 228: return R(3, ie, pt); default: return xn(pt, $, e) } } function fe(pt) { if (vce(pt)) switch (pt.kind) { case 240: return U(pt); case 245: return _e(pt); case 246: return re(pt); case 247: return le(pt); case 295: return Z(pt); case 238: case 252: case 266: case 292: case 293: case 255: case 243: case 244: case 242: case 251: case 253: return xn(pt, fe, e); default: return L.assertNever(pt, "Unhandled node.") }return $(pt) } function Z(pt) { let nn = new Set; Be(pt.variableDeclaration, nn); let Dt; if (nn.forEach((pn, An) => { v.has(An) && (Dt || (Dt = new Set(v)), Dt.delete(An)) }), Dt) { let pn = v; v = Dt; let An = xn(pt, fe, e); return v = pn, An } else return xn(pt, fe, e) } function U(pt) { if (Ne(pt.declarationList)) { let nn = Le(pt.declarationList, !1); return nn ? t.createExpressionStatement(nn) : void 0 } return xn(pt, $, e) } function re(pt) { return t.updateForInStatement(pt, Ne(pt.initializer) ? Le(pt.initializer, !0) : L.checkDefined($e(pt.initializer, $, pp)), L.checkDefined($e(pt.expression, $, ot)), jf(pt.statement, fe, e)) } function le(pt) { return t.updateForOfStatement(pt, $e(pt.awaitModifier, $, Dz), Ne(pt.initializer) ? Le(pt.initializer, !0) : L.checkDefined($e(pt.initializer, $, pp)), L.checkDefined($e(pt.expression, $, ot)), jf(pt.statement, fe, e)) } function _e(pt) { let nn = pt.initializer; return t.updateForStatement(pt, Ne(nn) ? Le(nn, !1) : $e(pt.initializer, $, pp), $e(pt.condition, $, ot), $e(pt.incrementor, $, ot), jf(pt.statement, fe, e)) } function ge(pt) { return W() ? xn(pt, $, e) : Ir(it(t.createYieldExpression(void 0, $e(pt.expression, $, ot)), pt), pt) } function X(pt) { return t.updateConstructorDeclaration(pt, On(pt.modifiers, $, Ha), Sc(pt.parameters, $, e), We(pt)) } function Ve(pt) { return t.updateMethodDeclaration(pt, On(pt.modifiers, $, Ns), pt.asteriskToken, pt.name, void 0, void 0, Sc(pt.parameters, $, e), void 0, pl(pt) & 2 ? qe(pt) : We(pt)) } function we(pt) { return t.updateGetAccessorDeclaration(pt, On(pt.modifiers, $, Ns), pt.name, Sc(pt.parameters, $, e), void 0, We(pt)) } function ke(pt) { return t.updateSetAccessorDeclaration(pt, On(pt.modifiers, $, Ns), pt.name, Sc(pt.parameters, $, e), We(pt)) } function Pe(pt) { return t.updateFunctionDeclaration(pt, On(pt.modifiers, $, Ns), pt.asteriskToken, pt.name, void 0, Sc(pt.parameters, $, e), void 0, pl(pt) & 2 ? qe(pt) : Zd(pt.body, $, e)) } function Ce(pt) { return t.updateFunctionExpression(pt, On(pt.modifiers, $, Ha), pt.asteriskToken, pt.name, void 0, Sc(pt.parameters, $, e), void 0, pl(pt) & 2 ? qe(pt) : Zd(pt.body, $, e)) } function Ie(pt) { return t.updateArrowFunction(pt, On(pt.modifiers, $, Ha), void 0, Sc(pt.parameters, $, e), void 0, pt.equalsGreaterThanToken, pl(pt) & 2 ? qe(pt) : Zd(pt.body, $, e)) } function Be({ name: pt }, nn) { if (Re(pt)) nn.add(pt.escapedText); else for (let Dt of pt.elements) ol(Dt) || Be(Dt, nn) } function Ne(pt) { return !!pt && pu(pt) && !(pt.flags & 3) && pt.declarations.some(Rt) } function Le(pt, nn) { Ye(pt); let Dt = qI(pt); return Dt.length === 0 ? nn ? $e(t.converters.convertToAssignmentElementTarget(pt.declarations[0].name), $, ot) : void 0 : t.inlineExpressions(on(Dt, ct)) } function Ye(pt) { mn(pt.declarations, _t) } function _t({ name: pt }) { if (Re(pt)) s(pt); else for (let nn of pt.elements) ol(nn) || _t(nn) } function ct(pt) { let nn = Ho(t.createAssignment(t.converters.convertToAssignmentElementTarget(pt.name), pt.initializer), pt); return L.checkDefined($e(nn, $, ot)) } function Rt({ name: pt }) { if (Re(pt)) return v.has(pt.escapedText); for (let nn of pt.elements) if (!ol(nn) && Rt(nn)) return !0; return !1 } function We(pt) { L.assertIsDefined(pt.body); let nn = S, Dt = x; S = new Set, x = !1; let pn = Zd(pt.body, $, e), An = ec(pt, Ds); if (d >= 2 && l.getNodeCheckFlags(pt) & 384 && (pl(An) & 3) !== 3) { if (tn(), S.size) { let hi = SF(t, l, pt, S); A[zo(hi)] = !0; let ri = pn.statements.slice(); em(ri, [hi]), pn = t.updateBlock(pn, ri) } x && (l.getNodeCheckFlags(pt) & 256 ? xS(pn, sO) : l.getNodeCheckFlags(pt) & 128 && xS(pn, oO)) } return S = nn, x = Dt, pn } function qe(pt) { i(); let Dt = ec(pt, Ia).type, pn = d < 2 ? Qt(Dt) : void 0, An = pt.kind === 216, Kn = (l.getNodeCheckFlags(pt) & 512) !== 0, hi = v; v = new Set; for (let En of pt.parameters) Be(En, v); let ri = S, vn = x; An || (S = new Set, x = !1); let Ht; if (An) { let En = r().createAwaiterHelper(Y(), Kn, pn, zt(pt.body)), dr = o(); if (vt(dr)) { let Cr = t.converters.convertToFunctionBlock(En); Ht = t.updateBlock(Cr, it(t.createNodeArray(Qi(dr, Cr.statements)), Cr.statements)) } else Ht = En } else { let En = [], dr = t.copyPrologue(pt.body.statements, En, !1, $); En.push(t.createReturnStatement(r().createAwaiterHelper(Y(), Kn, pn, zt(pt.body, dr)))), em(En, o()); let Cr = d >= 2 && l.getNodeCheckFlags(pt) & 384; if (Cr && (tn(), S.size)) { let at = SF(t, l, pt, S); A[zo(at)] = !0, em(En, [at]) } let Se = t.createBlock(En, !0); it(Se, pt.body), Cr && x && (l.getNodeCheckFlags(pt) & 256 ? xS(Se, sO) : l.getNodeCheckFlags(pt) & 128 && xS(Se, oO)), Ht = Se } return v = hi, An || (S = ri, x = vn), Ht } function zt(pt, nn) { return Va(pt) ? t.updateBlock(pt, On(pt.statements, fe, ca, nn)) : t.converters.convertToFunctionBlock(L.checkDefined($e(pt, fe, u6))) } function Qt(pt) { let nn = pt && Jw(pt); if (nn && Cd(nn)) { let Dt = l.getTypeReferenceSerializationKind(nn); if (Dt === 1 || Dt === 0) return nn } } function tn() { g & 1 || (g |= 1, e.enableSubstitution(210), e.enableSubstitution(208), e.enableSubstitution(209), e.enableEmitNotification(260), e.enableEmitNotification(171), e.enableEmitNotification(174), e.enableEmitNotification(175), e.enableEmitNotification(173), e.enableEmitNotification(240)) } function kn(pt, nn, Dt) { if (g & 1 && Pi(nn)) { let pn = l.getNodeCheckFlags(nn) & 384; if (pn !== m) { let An = m; m = pn, C(pt, nn, Dt), m = An; return } } else if (g && A[zo(nn)]) { let pn = m; m = 0, C(pt, nn, Dt), m = pn; return } C(pt, nn, Dt) } function _n(pt, nn) { return nn = P(pt, nn), pt === 1 && m ? Gt(nn) : nn } function Gt(pt) { switch (pt.kind) { case 208: return $n(pt); case 209: return ui(pt); case 210: return Ni(pt) }return pt } function $n(pt) { return pt.expression.kind === 106 ? it(t.createPropertyAccessExpression(t.createUniqueName("_super", 48), pt.name), pt) : pt } function ui(pt) { return pt.expression.kind === 106 ? gr(pt.argumentExpression, pt) : pt } function Ni(pt) { let nn = pt.expression; if (Pu(nn)) { let Dt = br(nn) ? $n(nn) : ui(nn); return t.createCallExpression(t.createPropertyAccessExpression(Dt, "call"), void 0, [t.createThis(), ...pt.arguments]) } return pt } function Pi(pt) { let nn = pt.kind; return nn === 260 || nn === 173 || nn === 171 || nn === 174 || nn === 175 } function gr(pt, nn) { return m & 256 ? it(t.createPropertyAccessExpression(t.createCallExpression(t.createUniqueName("_superIndex", 48), void 0, [pt]), "value"), nn) : it(t.createCallExpression(t.createUniqueName("_superIndex", 48), void 0, [pt]), nn) } } function SF(e, t, r, i) { let o = (t.getNodeCheckFlags(r) & 256) !== 0, s = []; return i.forEach((l, f) => { let d = Gi(f), g = []; g.push(e.createPropertyAssignment("get", e.createArrowFunction(void 0, void 0, [], void 0, void 0, Jn(e.createPropertyAccessExpression(Jn(e.createSuper(), 8), d), 8)))), o && g.push(e.createPropertyAssignment("set", e.createArrowFunction(void 0, void 0, [e.createParameterDeclaration(void 0, void 0, "v", void 0, void 0, void 0)], void 0, void 0, e.createAssignment(Jn(e.createPropertyAccessExpression(Jn(e.createSuper(), 8), d), 8), e.createIdentifier("v"))))), s.push(e.createPropertyAssignment(d, e.createObjectLiteralExpression(g))) }), e.createVariableStatement(void 0, e.createVariableDeclarationList([e.createVariableDeclaration(e.createUniqueName("_super", 48), void 0, void 0, e.createCallExpression(e.createPropertyAccessExpression(e.createIdentifier("Object"), "create"), void 0, [e.createNull(), e.createObjectLiteralExpression(s, !0)]))], 2)) } var uMe = gt({ "src/compiler/transformers/es2017.ts"() { "use strict"; fa() } }); function ope(e) { let { factory: t, getEmitHelperFactory: r, resumeLexicalEnvironment: i, endLexicalEnvironment: o, hoistVariableDeclaration: s } = e, l = e.getEmitResolver(), f = e.getCompilerOptions(), d = Do(f), g = e.onEmitNode; e.onEmitNode = En; let m = e.onSubstituteNode; e.onSubstituteNode = dr; let v = !1, S, x, A, w = 0, C = 0, P, F, B, q, W = []; return y_(e, fe); function Y(ce, Q) { return C !== (C & ~ce | Q) } function R(ce, Q) { let ue = C; return C = (C & ~ce | Q) & 3, ue } function ie(ce) { C = ce } function $(ce) { F = Sn(F, t.createVariableDeclaration(ce)) } function fe(ce) { if (ce.isDeclarationFile) return ce; P = ce; let Q = Ne(ce); return Bg(Q, e.readEmitHelpers()), P = void 0, F = void 0, Q } function Z(ce) { return ge(ce, !1) } function U(ce) { return ge(ce, !0) } function re(ce) { if (ce.kind !== 132) return ce } function le(ce, Q, ue, G) { if (Y(ue, G)) { let Oe = R(ue, G), je = ce(Q); return ie(Oe), je } return ce(Q) } function _e(ce) { return xn(ce, Z, e) } function ge(ce, Q) { if (!(ce.transformFlags & 128)) return ce; switch (ce.kind) { case 220: return X(ce); case 226: return Ve(ce); case 250: return we(ce); case 253: return ke(ce); case 207: return Ce(ce); case 223: return Ye(ce, Q); case 357: return _t(ce, Q); case 295: return ct(ce); case 240: return Rt(ce); case 257: return We(ce); case 243: case 244: case 246: return le(_e, ce, 0, 2); case 247: return tn(ce, void 0); case 245: return le(zt, ce, 0, 2); case 219: return Qt(ce); case 173: return le(gr, ce, 2, 1); case 171: return le(Dt, ce, 2, 1); case 174: return le(pt, ce, 2, 1); case 175: return le(nn, ce, 2, 1); case 259: return le(pn, ce, 2, 1); case 215: return le(Kn, ce, 2, 1); case 216: return le(An, ce, 2, 0); case 166: return Ni(ce); case 241: return Ie(ce); case 214: return Be(ce, Q); case 212: return Le(ce); case 208: return B && br(ce) && ce.expression.kind === 106 && B.add(ce.name.escapedText), xn(ce, Z, e); case 209: return B && ce.expression.kind === 106 && (q = !0), xn(ce, Z, e); case 260: case 228: return le(_e, ce, 2, 1); default: return xn(ce, Z, e) } } function X(ce) { return x & 2 && x & 1 ? Ir(it(t.createYieldExpression(void 0, r().createAwaitHelper($e(ce.expression, Z, ot))), ce), ce) : xn(ce, Z, e) } function Ve(ce) { if (x & 2 && x & 1) { if (ce.asteriskToken) { let Q = $e(L.checkDefined(ce.expression), Z, ot); return Ir(it(t.createYieldExpression(void 0, r().createAwaitHelper(t.updateYieldExpression(ce, ce.asteriskToken, it(r().createAsyncDelegatorHelper(it(r().createAsyncValuesHelper(Q), Q)), Q)))), ce), ce) } return Ir(it(t.createYieldExpression(void 0, Gt(ce.expression ? $e(ce.expression, Z, ot) : t.createVoidZero())), ce), ce) } return xn(ce, Z, e) } function we(ce) { return x & 2 && x & 1 ? t.updateReturnStatement(ce, Gt(ce.expression ? $e(ce.expression, Z, ot) : t.createVoidZero())) : xn(ce, Z, e) } function ke(ce) { if (x & 2) { let Q = xH(ce); return Q.kind === 247 && Q.awaitModifier ? tn(Q, ce) : t.restoreEnclosingLabel($e(Q, Z, ca, t.liftToBlock), ce) } return xn(ce, Z, e) } function Pe(ce) { let Q, ue = []; for (let G of ce) if (G.kind === 301) { Q && (ue.push(t.createObjectLiteralExpression(Q)), Q = void 0); let Oe = G.expression; ue.push($e(Oe, Z, ot)) } else Q = Sn(Q, G.kind === 299 ? t.createPropertyAssignment(G.name, $e(G.initializer, Z, ot)) : $e(G, Z, Og)); return Q && ue.push(t.createObjectLiteralExpression(Q)), ue } function Ce(ce) { if (ce.transformFlags & 65536) { let Q = Pe(ce.properties); Q.length && Q[0].kind !== 207 && Q.unshift(t.createObjectLiteralExpression()); let ue = Q[0]; if (Q.length > 1) { for (let G = 1; G < Q.length; G++)ue = r().createAssignHelper([ue, Q[G]]); return ue } else return r().createAssignHelper(Q) } return xn(ce, Z, e) } function Ie(ce) { return xn(ce, U, e) } function Be(ce, Q) { return xn(ce, Q ? U : Z, e) } function Ne(ce) { let Q = R(2, fH(ce, f) ? 0 : 1); v = !1; let ue = xn(ce, Z, e), G = Qi(ue.statements, F && [t.createVariableStatement(void 0, t.createVariableDeclarationList(F))]), Oe = t.updateSourceFile(ue, it(t.createNodeArray(G), ce.statements)); return ie(Q), Oe } function Le(ce) { return OK(e, ce, Z, P, $, 0) } function Ye(ce, Q) { return Fg(ce) && IO(ce.left) ? KT(ce, Z, e, 1, !Q) : ce.operatorToken.kind === 27 ? t.updateBinaryExpression(ce, $e(ce.left, U, ot), ce.operatorToken, $e(ce.right, Q ? U : Z, ot)) : xn(ce, Z, e) } function _t(ce, Q) { if (Q) return xn(ce, U, e); let ue; for (let Oe = 0; Oe < ce.elements.length; Oe++) { let je = ce.elements[Oe], Ge = $e(je, Oe < ce.elements.length - 1 ? U : Z, ot); (ue || Ge !== je) && (ue || (ue = ce.elements.slice(0, Oe)), ue.push(Ge)) } let G = ue ? it(t.createNodeArray(ue), ce.elements) : ce.elements; return t.updateCommaListExpression(ce, G) } function ct(ce) { if (ce.variableDeclaration && La(ce.variableDeclaration.name) && ce.variableDeclaration.name.transformFlags & 65536) { let Q = t.getGeneratedNameForNode(ce.variableDeclaration.name), ue = t.updateVariableDeclaration(ce.variableDeclaration, ce.variableDeclaration.name, void 0, void 0, Q), G = eE(ue, Z, e, 1), Oe = $e(ce.block, Z, Va); return vt(G) && (Oe = t.updateBlock(Oe, [t.createVariableStatement(void 0, G), ...Oe.statements])), t.updateCatchClause(ce, t.updateVariableDeclaration(ce.variableDeclaration, Q, void 0, void 0, void 0), Oe) } return xn(ce, Z, e) } function Rt(ce) { if (Mr(ce, 1)) { let Q = v; v = !0; let ue = xn(ce, Z, e); return v = Q, ue } return xn(ce, Z, e) } function We(ce) { if (v) { let Q = v; v = !1; let ue = qe(ce, !0); return v = Q, ue } return qe(ce, !1) } function qe(ce, Q) { return La(ce.name) && ce.name.transformFlags & 65536 ? eE(ce, Z, e, 1, void 0, Q) : xn(ce, Z, e) } function zt(ce) { return t.updateForStatement(ce, $e(ce.initializer, U, pp), $e(ce.condition, Z, ot), $e(ce.incrementor, U, ot), jf(ce.statement, Z, e)) } function Qt(ce) { return xn(ce, U, e) } function tn(ce, Q) { let ue = R(0, 2); (ce.initializer.transformFlags & 65536 || vI(ce.initializer) && IO(ce.initializer)) && (ce = kn(ce)); let G = ce.awaitModifier ? $n(ce, Q, ue) : t.restoreEnclosingLabel(xn(ce, Z, e), Q); return ie(ue), G } function kn(ce) { let Q = vs(ce.initializer); if (pu(Q) || vI(Q)) { let ue, G, Oe = t.createTempVariable(void 0), je = [Qz(t, Q, Oe)]; return Va(ce.statement) ? (si(je, ce.statement.statements), ue = ce.statement, G = ce.statement.statements) : ce.statement && (Sn(je, ce.statement), ue = ce.statement, G = ce.statement), t.updateForOfStatement(ce, ce.awaitModifier, it(t.createVariableDeclarationList([it(t.createVariableDeclaration(Oe), ce.initializer)], 1), ce.initializer), ce.expression, it(t.createBlock(it(t.createNodeArray(je), G), !0), ue)) } return ce } function _n(ce, Q, ue) { let G = t.createTempVariable(s), Oe = t.createAssignment(G, Q), je = t.createExpressionStatement(Oe); Ho(je, ce.expression); let Ge = t.createAssignment(ue, t.createFalse()), kt = t.createExpressionStatement(Ge); Ho(kt, ce.expression); let Kt = t.createAssignment(ue, t.createTrue()), ln = t.createExpressionStatement(Kt); Ho(kt, ce.expression); let ir = [], ae = Qz(t, ce.initializer, G); ir.push($e(ae, Z, ca)); let rt, Ot, Ke = jf(ce.statement, Z, e); Va(Ke) ? (si(ir, Ke.statements), rt = Ke, Ot = Ke.statements) : ir.push(Ke); let oe = Jn(it(t.createBlock(it(t.createNodeArray(ir), Ot), !0), rt), 864); return t.createBlock([je, kt, t.createTryStatement(oe, void 0, t.createBlock([ln]))]) } function Gt(ce) { return x & 1 ? t.createYieldExpression(void 0, r().createAwaitHelper(ce)) : t.createAwaitExpression(ce) } function $n(ce, Q, ue) { let G = $e(ce.expression, Z, ot), Oe = Re(G) ? t.getGeneratedNameForNode(G) : t.createTempVariable(void 0), je = Re(G) ? t.getGeneratedNameForNode(Oe) : t.createTempVariable(void 0), Ge = t.createTempVariable(void 0), kt = t.createTempVariable(s), Kt = t.createUniqueName("e"), ln = t.getGeneratedNameForNode(Kt), ir = t.createTempVariable(void 0), ae = it(r().createAsyncValuesHelper(G), ce.expression), rt = t.createCallExpression(t.createPropertyAccessExpression(Oe, "next"), void 0, []), Ot = t.createPropertyAccessExpression(je, "done"), Ke = t.createPropertyAccessExpression(je, "value"), oe = t.createFunctionCallCall(ir, Oe, []); s(Kt), s(ir); let pe = ue & 2 ? t.inlineExpressions([t.createAssignment(Kt, t.createVoidZero()), ae]) : ae, z = Jn(it(t.createForStatement(Jn(it(t.createVariableDeclarationList([t.createVariableDeclaration(Ge, void 0, void 0, t.createTrue()), it(t.createVariableDeclaration(Oe, void 0, void 0, pe), ce.expression), t.createVariableDeclaration(je)]), ce.expression), 4194304), t.inlineExpressions([t.createAssignment(je, Gt(rt)), t.createAssignment(kt, Ot), t.createLogicalNot(kt)]), void 0, _n(ce, Ke, Ge)), ce), 512); return Ir(z, ce), t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(z, Q)]), t.createCatchClause(t.createVariableDeclaration(ln), Jn(t.createBlock([t.createExpressionStatement(t.createAssignment(Kt, t.createObjectLiteralExpression([t.createPropertyAssignment("error", ln)])))]), 1)), t.createBlock([t.createTryStatement(t.createBlock([Jn(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(t.createLogicalNot(Ge), t.createLogicalNot(kt)), t.createAssignment(ir, t.createPropertyAccessExpression(Oe, "return"))), t.createExpressionStatement(Gt(oe))), 1)]), void 0, Jn(t.createBlock([Jn(t.createIfStatement(Kt, t.createThrowStatement(t.createPropertyAccessExpression(Kt, "error"))), 1)]), 1))])) } function ui(ce) { return L.assertNode(ce, ha), Ni(ce) } function Ni(ce) { return A?.has(ce) ? t.updateParameterDeclaration(ce, void 0, ce.dotDotDotToken, La(ce.name) ? t.getGeneratedNameForNode(ce) : ce.name, void 0, void 0, void 0) : ce.transformFlags & 65536 ? t.updateParameterDeclaration(ce, void 0, ce.dotDotDotToken, t.getGeneratedNameForNode(ce), void 0, void 0, $e(ce.initializer, Z, ot)) : xn(ce, Z, e) } function Pi(ce) { let Q; for (let ue of ce.parameters) Q ? Q.add(ue) : ue.transformFlags & 65536 && (Q = new Set); return Q } function gr(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateConstructorDeclaration(ce, ce.modifiers, Sc(ce.parameters, ui, e), ri(ce)); return x = Q, A = ue, G } function pt(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateGetAccessorDeclaration(ce, ce.modifiers, $e(ce.name, Z, Ys), Sc(ce.parameters, ui, e), void 0, ri(ce)); return x = Q, A = ue, G } function nn(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateSetAccessorDeclaration(ce, ce.modifiers, $e(ce.name, Z, Ys), Sc(ce.parameters, ui, e), ri(ce)); return x = Q, A = ue, G } function Dt(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateMethodDeclaration(ce, x & 1 ? On(ce.modifiers, re, Ns) : ce.modifiers, x & 2 ? void 0 : ce.asteriskToken, $e(ce.name, Z, Ys), $e(void 0, Z, ev), void 0, Sc(ce.parameters, ui, e), void 0, x & 2 && x & 1 ? hi(ce) : ri(ce)); return x = Q, A = ue, G } function pn(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateFunctionDeclaration(ce, x & 1 ? On(ce.modifiers, re, Ha) : ce.modifiers, x & 2 ? void 0 : ce.asteriskToken, ce.name, void 0, Sc(ce.parameters, ui, e), void 0, x & 2 && x & 1 ? hi(ce) : ri(ce)); return x = Q, A = ue, G } function An(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateArrowFunction(ce, ce.modifiers, void 0, Sc(ce.parameters, ui, e), void 0, ce.equalsGreaterThanToken, ri(ce)); return x = Q, A = ue, G } function Kn(ce) { let Q = x, ue = A; x = pl(ce), A = Pi(ce); let G = t.updateFunctionExpression(ce, x & 1 ? On(ce.modifiers, re, Ha) : ce.modifiers, x & 2 ? void 0 : ce.asteriskToken, ce.name, void 0, Sc(ce.parameters, ui, e), void 0, x & 2 && x & 1 ? hi(ce) : ri(ce)); return x = Q, A = ue, G } function hi(ce) { i(); let Q = [], ue = t.copyPrologue(ce.body.statements, Q, !1, Z); vn(Q, ce); let G = B, Oe = q; B = new Set, q = !1; let je = t.createReturnStatement(r().createAsyncGeneratorHelper(t.createFunctionExpression(void 0, t.createToken(41), ce.name && t.getGeneratedNameForNode(ce.name), void 0, [], void 0, t.updateBlock(ce.body, mF(ce.body.statements, Z, e, ue))), !!(C & 1))), Ge = d >= 2 && l.getNodeCheckFlags(ce) & 384; if (Ge) { Ht(); let Kt = SF(t, l, ce, B); W[zo(Kt)] = !0, em(Q, [Kt]) } Q.push(je), em(Q, o()); let kt = t.updateBlock(ce.body, Q); return Ge && q && (l.getNodeCheckFlags(ce) & 256 ? xS(kt, sO) : l.getNodeCheckFlags(ce) & 128 && xS(kt, oO)), B = G, q = Oe, kt } function ri(ce) { var Q; i(); let ue = 0, G = [], Oe = (Q = $e(ce.body, Z, u6)) != null ? Q : t.createBlock([]); Va(Oe) && (ue = t.copyPrologue(Oe.statements, G, !1, Z)), si(G, vn(void 0, ce)); let je = o(); if (ue > 0 || vt(G) || vt(je)) { let Ge = t.converters.convertToFunctionBlock(Oe, !0); return em(G, je), si(G, Ge.statements.slice(ue)), t.updateBlock(Ge, it(t.createNodeArray(G), Ge.statements)) } return Oe } function vn(ce, Q) { let ue = !1; for (let G of Q.parameters) if (ue) { if (La(G.name)) { if (G.name.elements.length > 0) { let Oe = eE(G, Z, e, 0, t.getGeneratedNameForNode(G)); if (vt(Oe)) { let je = t.createVariableDeclarationList(Oe), Ge = t.createVariableStatement(void 0, je); Jn(Ge, 2097152), ce = Sn(ce, Ge) } } else if (G.initializer) { let Oe = t.getGeneratedNameForNode(G), je = $e(G.initializer, Z, ot), Ge = t.createAssignment(Oe, je), kt = t.createExpressionStatement(Ge); Jn(kt, 2097152), ce = Sn(ce, kt) } } else if (G.initializer) { let Oe = t.cloneNode(G.name); it(Oe, G.name), Jn(Oe, 96); let je = $e(G.initializer, Z, ot); bp(je, 3168); let Ge = t.createAssignment(Oe, je); it(Ge, G), Jn(Ge, 3072); let kt = t.createBlock([t.createExpressionStatement(Ge)]); it(kt, G), Jn(kt, 3905); let Kt = t.createTypeCheck(t.cloneNode(G.name), "undefined"), ln = t.createIfStatement(Kt, kt); mu(ln), it(ln, G), Jn(ln, 2101056), ce = Sn(ce, ln) } } else if (G.transformFlags & 65536) { ue = !0; let Oe = eE(G, Z, e, 1, t.getGeneratedNameForNode(G), !1, !0); if (vt(Oe)) { let je = t.createVariableDeclarationList(Oe), Ge = t.createVariableStatement(void 0, je); Jn(Ge, 2097152), ce = Sn(ce, Ge) } } return ce } function Ht() { S & 1 || (S |= 1, e.enableSubstitution(210), e.enableSubstitution(208), e.enableSubstitution(209), e.enableEmitNotification(260), e.enableEmitNotification(171), e.enableEmitNotification(174), e.enableEmitNotification(175), e.enableEmitNotification(173), e.enableEmitNotification(240)) } function En(ce, Q, ue) { if (S & 1 && ve(Q)) { let G = l.getNodeCheckFlags(Q) & 384; if (G !== w) { let Oe = w; w = G, g(ce, Q, ue), w = Oe; return } } else if (S && W[zo(Q)]) { let G = w; w = 0, g(ce, Q, ue), w = G; return } g(ce, Q, ue) } function dr(ce, Q) { return Q = m(ce, Q), ce === 1 && w ? Cr(Q) : Q } function Cr(ce) { switch (ce.kind) { case 208: return Se(ce); case 209: return at(ce); case 210: return Tt(ce) }return ce } function Se(ce) { return ce.expression.kind === 106 ? it(t.createPropertyAccessExpression(t.createUniqueName("_super", 48), ce.name), ce) : ce } function at(ce) { return ce.expression.kind === 106 ? nt(ce.argumentExpression, ce) : ce } function Tt(ce) { let Q = ce.expression; if (Pu(Q)) { let ue = br(Q) ? Se(Q) : at(Q); return t.createCallExpression(t.createPropertyAccessExpression(ue, "call"), void 0, [t.createThis(), ...ce.arguments]) } return ce } function ve(ce) { let Q = ce.kind; return Q === 260 || Q === 173 || Q === 171 || Q === 174 || Q === 175 } function nt(ce, Q) { return w & 256 ? it(t.createPropertyAccessExpression(t.createCallExpression(t.createIdentifier("_superIndex"), void 0, [ce]), "value"), Q) : it(t.createCallExpression(t.createIdentifier("_superIndex"), void 0, [ce]), Q) } } var dMe = gt({ "src/compiler/transformers/es2018.ts"() { "use strict"; fa() } }); function spe(e) { let t = e.factory; return y_(e, r); function r(s) { return s.isDeclarationFile ? s : xn(s, i, e) } function i(s) { if (!(s.transformFlags & 64)) return s; switch (s.kind) { case 295: return o(s); default: return xn(s, i, e) } } function o(s) { return s.variableDeclaration ? xn(s, i, e) : t.updateCatchClause(s, t.createVariableDeclaration(t.createTempVariable(void 0)), $e(s.block, i, Va)) } } var fMe = gt({ "src/compiler/transformers/es2019.ts"() { "use strict"; fa() } }); function cpe(e) { let { factory: t, hoistVariableDeclaration: r } = e; return y_(e, i); function i(A) { return A.isDeclarationFile ? A : xn(A, o, e) } function o(A) { if (!(A.transformFlags & 32)) return A; switch (A.kind) { case 210: { let w = d(A, !1); return L.assertNotNode(w, MS), w } case 208: case 209: if (Jl(A)) { let w = m(A, !1, !1); return L.assertNotNode(w, MS), w } return xn(A, o, e); case 223: return A.operatorToken.kind === 60 ? S(A) : xn(A, o, e); case 217: return x(A); default: return xn(A, o, e) } } function s(A) { L.assertNotNode(A, i6); let w = [A]; for (; !A.questionDotToken && !PT(A);)A = Ga(a_(A.expression), Jl), L.assertNotNode(A, i6), w.unshift(A); return { expression: A.expression, chain: w } } function l(A, w, C) { let P = g(A.expression, w, C); return MS(P) ? t.createSyntheticReferenceExpression(t.updateParenthesizedExpression(A, P.expression), P.thisArg) : t.updateParenthesizedExpression(A, P) } function f(A, w, C) { if (Jl(A)) return m(A, w, C); let P = $e(A.expression, o, ot); L.assertNotNode(P, MS); let F; return w && (Z0(P) ? F = P : (F = t.createTempVariable(r), P = t.createAssignment(F, P))), P = A.kind === 208 ? t.updatePropertyAccessExpression(A, P, $e(A.name, o, Re)) : t.updateElementAccessExpression(A, P, $e(A.argumentExpression, o, ot)), F ? t.createSyntheticReferenceExpression(P, F) : P } function d(A, w) { if (Jl(A)) return m(A, w, !1); if (ud(A.expression) && Jl(vs(A.expression))) { let C = l(A.expression, !0, !1), P = On(A.arguments, o, ot); return MS(C) ? it(t.createFunctionCallCall(C.expression, C.thisArg, P), A) : t.updateCallExpression(A, C, void 0, P) } return xn(A, o, e) } function g(A, w, C) { switch (A.kind) { case 214: return l(A, w, C); case 208: case 209: return f(A, w, C); case 210: return d(A, w); default: return $e(A, o, ot) } } function m(A, w, C) { let { expression: P, chain: F } = s(A), B = g(a_(P), dT(F[0]), !1), q = MS(B) ? B.thisArg : void 0, W = MS(B) ? B.expression : B, Y = t.restoreOuterExpressions(P, W, 8); Z0(W) || (W = t.createTempVariable(r), Y = t.createAssignment(W, Y)); let R = W, ie; for (let fe = 0; fe < F.length; fe++) { let Z = F[fe]; switch (Z.kind) { case 208: case 209: fe === F.length - 1 && w && (Z0(R) ? ie = R : (ie = t.createTempVariable(r), R = t.createAssignment(ie, R))), R = Z.kind === 208 ? t.createPropertyAccessExpression(R, $e(Z.name, o, Re)) : t.createElementAccessExpression(R, $e(Z.argumentExpression, o, ot)); break; case 210: fe === 0 && q ? (tc(q) || (q = t.cloneNode(q), bp(q, 3072)), R = t.createFunctionCallCall(R, q.kind === 106 ? t.createThis() : q, On(Z.arguments, o, ot))) : R = t.createCallExpression(R, void 0, On(Z.arguments, o, ot)); break }Ir(R, Z) } let $ = C ? t.createConditionalExpression(v(Y, W, !0), void 0, t.createTrue(), void 0, t.createDeleteExpression(R)) : t.createConditionalExpression(v(Y, W, !0), void 0, t.createVoidZero(), void 0, R); return it($, A), ie ? t.createSyntheticReferenceExpression($, ie) : $ } function v(A, w, C) { return t.createBinaryExpression(t.createBinaryExpression(A, t.createToken(C ? 36 : 37), t.createNull()), t.createToken(C ? 56 : 55), t.createBinaryExpression(w, t.createToken(C ? 36 : 37), t.createVoidZero())) } function S(A) { let w = $e(A.left, o, ot), C = w; return Z0(w) || (C = t.createTempVariable(r), w = t.createAssignment(C, w)), it(t.createConditionalExpression(v(w, C), void 0, C, void 0, $e(A.right, o, ot)), A) } function x(A) { return Jl(vs(A.expression)) ? Ir(g(A.expression, !1, !0), A) : t.updateDeleteExpression(A, $e(A.expression, o, ot)) } } var _Me = gt({ "src/compiler/transformers/es2020.ts"() { "use strict"; fa() } }); function lpe(e) { let { hoistVariableDeclaration: t, factory: r } = e; return y_(e, i); function i(l) { return l.isDeclarationFile ? l : xn(l, o, e) } function o(l) { return l.transformFlags & 16 ? cW(l) ? s(l) : xn(l, o, e) : l } function s(l) { let f = l.operatorToken, d = WL(f.kind), g = vs($e(l.left, o, Ju)), m = g, v = vs($e(l.right, o, ot)); if (Us(g)) { let S = Z0(g.expression), x = S ? g.expression : r.createTempVariable(t), A = S ? g.expression : r.createAssignment(x, g.expression); if (br(g)) m = r.createPropertyAccessExpression(x, g.name), g = r.createPropertyAccessExpression(A, g.name); else { let w = Z0(g.argumentExpression), C = w ? g.argumentExpression : r.createTempVariable(t); m = r.createElementAccessExpression(x, C), g = r.createElementAccessExpression(A, w ? g.argumentExpression : r.createAssignment(C, g.argumentExpression)) } } return r.createBinaryExpression(g, d, r.createParenthesizedExpression(r.createAssignment(m, v))) } } var pMe = gt({ "src/compiler/transformers/es2021.ts"() { "use strict"; fa() } }); function upe(e) { return y_(e, t); function t(i) { return i.isDeclarationFile ? i : xn(i, r, e) } function r(i) { if (!(i.transformFlags & 4)) return i; switch (i.kind) { default: return xn(i, r, e) } } } var mMe = gt({ "src/compiler/transformers/esnext.ts"() { "use strict"; fa() } }); function dpe(e) { let { factory: t, getEmitHelperFactory: r } = e, i = e.getCompilerOptions(), o, s; return y_(e, v); function l() { if (s.filenameDeclaration) return s.filenameDeclaration.name; let Le = t.createVariableDeclaration(t.createUniqueName("_jsxFileName", 48), void 0, void 0, t.createStringLiteral(o.fileName)); return s.filenameDeclaration = Le, s.filenameDeclaration.name } function f(Le) { return i.jsx === 5 ? "jsxDEV" : Le ? "jsxs" : "jsx" } function d(Le) { let Ye = f(Le); return m(Ye) } function g() { return m("Fragment") } function m(Le) { var Ye, _t; let ct = Le === "createElement" ? s.importSpecifier : p4(s.importSpecifier, i), Rt = (_t = (Ye = s.utilizedImplicitRuntimeImports) == null ? void 0 : Ye.get(ct)) == null ? void 0 : _t.get(Le); if (Rt) return Rt.name; s.utilizedImplicitRuntimeImports || (s.utilizedImplicitRuntimeImports = new Map); let We = s.utilizedImplicitRuntimeImports.get(ct); We || (We = new Map, s.utilizedImplicitRuntimeImports.set(ct, We)); let qe = t.createUniqueName(`_${Le}`, 112), zt = t.createImportSpecifier(!1, t.createIdentifier(Le), qe); return bue(qe, zt), We.set(Le, zt), qe } function v(Le) { if (Le.isDeclarationFile) return Le; o = Le, s = {}, s.importSpecifier = _4(i, Le); let Ye = xn(Le, S, e); Bg(Ye, e.readEmitHelpers()); let _t = Ye.statements; if (s.filenameDeclaration && (_t = L0(_t.slice(), t.createVariableStatement(void 0, t.createVariableDeclarationList([s.filenameDeclaration], 2)))), s.utilizedImplicitRuntimeImports) { for (let [ct, Rt] of lo(s.utilizedImplicitRuntimeImports.entries())) if (Lc(Le)) { let We = t.createImportDeclaration(void 0, t.createImportClause(!1, void 0, t.createNamedImports(lo(Rt.values()))), t.createStringLiteral(ct), void 0); Zy(We, !1), _t = L0(_t.slice(), We) } else if (kd(Le)) { let We = t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(t.createObjectBindingPattern(lo(Rt.values(), qe => t.createBindingElement(void 0, qe.propertyName, qe.name))), void 0, void 0, t.createCallExpression(t.createIdentifier("require"), void 0, [t.createStringLiteral(ct)]))], 2)); Zy(We, !1), _t = L0(_t.slice(), We) } } return _t !== Ye.statements && (Ye = t.updateSourceFile(Ye, _t)), s = void 0, Ye } function S(Le) { return Le.transformFlags & 2 ? x(Le) : Le } function x(Le) { switch (Le.kind) { case 281: return P(Le, !1); case 282: return F(Le, !1); case 285: return B(Le, !1); case 291: return Ne(Le); default: return xn(Le, S, e) } } function A(Le) { switch (Le.kind) { case 11: return Ve(Le); case 291: return Ne(Le); case 281: return P(Le, !0); case 282: return F(Le, !0); case 285: return B(Le, !0); default: return L.failBadSyntaxKind(Le) } } function w(Le) { let Ye = !1; for (let _t of Le.attributes.properties) if (GT(_t)) Ye = !0; else if (Ye && Sp(_t) && _t.name.escapedText === "key") return !0; return !1 } function C(Le) { return s.importSpecifier === void 0 || w(Le) } function P(Le, Ye) { return (C(Le.openingElement) ? ie : Y)(Le.openingElement, Le.children, Ye, Le) } function F(Le, Ye) { return (C(Le) ? ie : Y)(Le, void 0, Ye, Le) } function B(Le, Ye) { return (s.importSpecifier === void 0 ? fe : $)(Le.openingFragment, Le.children, Ye, Le) } function q(Le) { let Ye = W(Le); return Ye && t.createObjectLiteralExpression([Ye]) } function W(Le) { let Ye = bR(Le); if (Fn(Ye) === 1 && !Ye[0].dotDotDotToken) { let ct = A(Ye[0]); return ct && t.createPropertyAssignment("children", ct) } let _t = Zi(Le, A); return Fn(_t) ? t.createPropertyAssignment("children", t.createArrayLiteralExpression(_t)) : void 0 } function Y(Le, Ye, _t, ct) { let Rt = Ie(Le), We = Ye && Ye.length ? W(Ye) : void 0, qe = wr(Le.attributes.properties, tn => !!tn.name && Re(tn.name) && tn.name.escapedText === "key"), zt = qe ? Pr(Le.attributes.properties, tn => tn !== qe) : Le.attributes.properties, Qt = Fn(zt) ? U(zt, We) : t.createObjectLiteralExpression(We ? [We] : Je); return R(Rt, Qt, qe, Ye || Je, _t, ct) } function R(Le, Ye, _t, ct, Rt, We) { var qe; let zt = bR(ct), Qt = Fn(zt) > 1 || !!((qe = zt[0]) != null && qe.dotDotDotToken), tn = [Le, Ye]; if (_t && tn.push(X(_t.initializer)), i.jsx === 5) { let _n = ec(o); if (_n && Li(_n)) { _t === void 0 && tn.push(t.createVoidZero()), tn.push(Qt ? t.createTrue() : t.createFalse()); let Gt = Gs(_n, We.pos); tn.push(t.createObjectLiteralExpression([t.createPropertyAssignment("fileName", l()), t.createPropertyAssignment("lineNumber", t.createNumericLiteral(Gt.line + 1)), t.createPropertyAssignment("columnNumber", t.createNumericLiteral(Gt.character + 1))])), tn.push(t.createThis()) } } let kn = it(t.createCallExpression(d(Qt), void 0, tn), We); return Rt && mu(kn), kn } function ie(Le, Ye, _t, ct) { let Rt = Ie(Le), We = Le.attributes.properties, qe = Fn(We) ? U(We) : t.createNull(), zt = s.importSpecifier === void 0 ? $z(t, e.getEmitResolver().getJsxFactoryEntity(o), i.reactNamespace, Le) : m("createElement"), Qt = Que(t, zt, Rt, qe, Zi(Ye, A), ct); return _t && mu(Qt), Qt } function $(Le, Ye, _t, ct) { let Rt; if (Ye && Ye.length) { let We = q(Ye); We && (Rt = We) } return R(g(), Rt || t.createObjectLiteralExpression([]), void 0, Ye, _t, ct) } function fe(Le, Ye, _t, ct) { let Rt = Zue(t, e.getEmitResolver().getJsxFactoryEntity(o), e.getEmitResolver().getJsxFragmentFactoryEntity(o), i.reactNamespace, Zi(Ye, A), Le, ct); return _t && mu(Rt), Rt } function Z(Le) { return t.createSpreadAssignment(L.checkDefined($e(Le.expression, S, ot))) } function U(Le, Ye) { let _t = Do(i); return _t && _t >= 5 ? t.createObjectLiteralExpression(re(Le, Ye)) : le(Le, Ye) } function re(Le, Ye) { let _t = t_(c8(Le, GT, (ct, Rt) => on(ct, We => Rt ? Z(We) : ge(We)))); return Ye && _t.push(Ye), _t } function le(Le, Ye) { let _t = t_(c8(Le, GT, (ct, Rt) => Rt ? on(ct, _e) : t.createObjectLiteralExpression(on(ct, ge)))); return GT(Le[0]) && _t.unshift(t.createObjectLiteralExpression()), Ye && _t.push(t.createObjectLiteralExpression([Ye])), Wp(_t) || r().createAssignHelper(_t) } function _e(Le) { return L.checkDefined($e(Le.expression, S, ot)) } function ge(Le) { let Ye = Be(Le), _t = X(Le.initializer); return t.createPropertyAssignment(Ye, _t) } function X(Le) { if (Le === void 0) return t.createTrue(); if (Le.kind === 10) { let Ye = Le.singleQuote !== void 0 ? Le.singleQuote : !V6(Le, o), _t = t.createStringLiteral(Ce(Le.text) || Le.text, Ye); return it(_t, Le) } return Le.kind === 291 ? Le.expression === void 0 ? t.createTrue() : L.checkDefined($e(Le.expression, S, ot)) : Hg(Le) ? P(Le, !1) : FS(Le) ? F(Le, !1) : BS(Le) ? B(Le, !1) : L.failBadSyntaxKind(Le) } function Ve(Le) { let Ye = we(Le.text); return Ye === void 0 ? void 0 : t.createStringLiteral(Ye) } function we(Le) { let Ye, _t = 0, ct = -1; for (let Rt = 0; Rt < Le.length; Rt++) { let We = Le.charCodeAt(Rt); Wl(We) ? (_t !== -1 && ct !== -1 && (Ye = ke(Ye, Le.substr(_t, ct - _t + 1))), _t = -1) : Yp(We) || (ct = Rt, _t === -1 && (_t = Rt)) } return _t !== -1 ? ke(Ye, Le.substr(_t)) : Ye } function ke(Le, Ye) { let _t = Pe(Ye); return Le === void 0 ? _t : Le + " " + _t } function Pe(Le) { return Le.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g, (Ye, _t, ct, Rt, We, qe, zt) => { if (We) return lI(parseInt(We, 10)); if (qe) return lI(parseInt(qe, 16)); { let Qt = fpe.get(zt); return Qt ? lI(Qt) : Ye } }) } function Ce(Le) { let Ye = Pe(Le); return Ye === Le ? void 0 : Ye } function Ie(Le) { if (Le.kind === 281) return Ie(Le.openingElement); { let Ye = Le.tagName; return Re(Ye) && GI(Ye.escapedText) ? t.createStringLiteral(vr(Ye)) : EO(t, Ye) } } function Be(Le) { let Ye = Le.name, _t = vr(Ye); return /^[A-Za-z_]\w*$/.test(_t) ? Ye : t.createStringLiteral(_t) } function Ne(Le) { let Ye = $e(Le.expression, S, ot); return Le.dotDotDotToken ? t.createSpreadElement(Ye) : Ye } } var fpe, hMe = gt({ "src/compiler/transformers/jsx.ts"() { "use strict"; fa(), fpe = new Map(Object.entries({ quot: 34, amp: 38, apos: 39, lt: 60, gt: 62, nbsp: 160, iexcl: 161, cent: 162, pound: 163, curren: 164, yen: 165, brvbar: 166, sect: 167, uml: 168, copy: 169, ordf: 170, laquo: 171, not: 172, shy: 173, reg: 174, macr: 175, deg: 176, plusmn: 177, sup2: 178, sup3: 179, acute: 180, micro: 181, para: 182, middot: 183, cedil: 184, sup1: 185, ordm: 186, raquo: 187, frac14: 188, frac12: 189, frac34: 190, iquest: 191, Agrave: 192, Aacute: 193, Acirc: 194, Atilde: 195, Auml: 196, Aring: 197, AElig: 198, Ccedil: 199, Egrave: 200, Eacute: 201, Ecirc: 202, Euml: 203, Igrave: 204, Iacute: 205, Icirc: 206, Iuml: 207, ETH: 208, Ntilde: 209, Ograve: 210, Oacute: 211, Ocirc: 212, Otilde: 213, Ouml: 214, times: 215, Oslash: 216, Ugrave: 217, Uacute: 218, Ucirc: 219, Uuml: 220, Yacute: 221, THORN: 222, szlig: 223, agrave: 224, aacute: 225, acirc: 226, atilde: 227, auml: 228, aring: 229, aelig: 230, ccedil: 231, egrave: 232, eacute: 233, ecirc: 234, euml: 235, igrave: 236, iacute: 237, icirc: 238, iuml: 239, eth: 240, ntilde: 241, ograve: 242, oacute: 243, ocirc: 244, otilde: 245, ouml: 246, divide: 247, oslash: 248, ugrave: 249, uacute: 250, ucirc: 251, uuml: 252, yacute: 253, thorn: 254, yuml: 255, OElig: 338, oelig: 339, Scaron: 352, scaron: 353, Yuml: 376, fnof: 402, circ: 710, tilde: 732, Alpha: 913, Beta: 914, Gamma: 915, Delta: 916, Epsilon: 917, Zeta: 918, Eta: 919, Theta: 920, Iota: 921, Kappa: 922, Lambda: 923, Mu: 924, Nu: 925, Xi: 926, Omicron: 927, Pi: 928, Rho: 929, Sigma: 931, Tau: 932, Upsilon: 933, Phi: 934, Chi: 935, Psi: 936, Omega: 937, alpha: 945, beta: 946, gamma: 947, delta: 948, epsilon: 949, zeta: 950, eta: 951, theta: 952, iota: 953, kappa: 954, lambda: 955, mu: 956, nu: 957, xi: 958, omicron: 959, pi: 960, rho: 961, sigmaf: 962, sigma: 963, tau: 964, upsilon: 965, phi: 966, chi: 967, psi: 968, omega: 969, thetasym: 977, upsih: 978, piv: 982, ensp: 8194, emsp: 8195, thinsp: 8201, zwnj: 8204, zwj: 8205, lrm: 8206, rlm: 8207, ndash: 8211, mdash: 8212, lsquo: 8216, rsquo: 8217, sbquo: 8218, ldquo: 8220, rdquo: 8221, bdquo: 8222, dagger: 8224, Dagger: 8225, bull: 8226, hellip: 8230, permil: 8240, prime: 8242, Prime: 8243, lsaquo: 8249, rsaquo: 8250, oline: 8254, frasl: 8260, euro: 8364, image: 8465, weierp: 8472, real: 8476, trade: 8482, alefsym: 8501, larr: 8592, uarr: 8593, rarr: 8594, darr: 8595, harr: 8596, crarr: 8629, lArr: 8656, uArr: 8657, rArr: 8658, dArr: 8659, hArr: 8660, forall: 8704, part: 8706, exist: 8707, empty: 8709, nabla: 8711, isin: 8712, notin: 8713, ni: 8715, prod: 8719, sum: 8721, minus: 8722, lowast: 8727, radic: 8730, prop: 8733, infin: 8734, ang: 8736, and: 8743, or: 8744, cap: 8745, cup: 8746, int: 8747, there4: 8756, sim: 8764, cong: 8773, asymp: 8776, ne: 8800, equiv: 8801, le: 8804, ge: 8805, sub: 8834, sup: 8835, nsub: 8836, sube: 8838, supe: 8839, oplus: 8853, otimes: 8855, perp: 8869, sdot: 8901, lceil: 8968, rceil: 8969, lfloor: 8970, rfloor: 8971, lang: 9001, rang: 9002, loz: 9674, spades: 9824, clubs: 9827, hearts: 9829, diams: 9830 })) } }); function _pe(e) { let { factory: t, hoistVariableDeclaration: r } = e; return y_(e, i); function i(d) { return d.isDeclarationFile ? d : xn(d, o, e) } function o(d) { if (!(d.transformFlags & 512)) return d; switch (d.kind) { case 223: return s(d); default: return xn(d, o, e) } } function s(d) { switch (d.operatorToken.kind) { case 67: return l(d); case 42: return f(d); default: return xn(d, o, e) } } function l(d) { let g, m, v = $e(d.left, o, ot), S = $e(d.right, o, ot); if (Vs(v)) { let x = t.createTempVariable(r), A = t.createTempVariable(r); g = it(t.createElementAccessExpression(it(t.createAssignment(x, v.expression), v.expression), it(t.createAssignment(A, v.argumentExpression), v.argumentExpression)), v), m = it(t.createElementAccessExpression(x, A), v) } else if (br(v)) { let x = t.createTempVariable(r); g = it(t.createPropertyAccessExpression(it(t.createAssignment(x, v.expression), v.expression), v.name), v), m = it(t.createPropertyAccessExpression(x, v.name), v) } else g = v, m = v; return it(t.createAssignment(g, it(t.createGlobalMethodCall("Math", "pow", [m, S]), d)), d) } function f(d) { let g = $e(d.left, o, ot), m = $e(d.right, o, ot); return it(t.createGlobalMethodCall("Math", "pow", [g, m]), d) } } var gMe = gt({ "src/compiler/transformers/es2016.ts"() { "use strict"; fa() } }); function ppe(e, t) { return { kind: e, expression: t } } function mpe(e) { let { factory: t, getEmitHelperFactory: r, startLexicalEnvironment: i, resumeLexicalEnvironment: o, endLexicalEnvironment: s, hoistVariableDeclaration: l } = e, f = e.getCompilerOptions(), d = e.getEmitResolver(), g = e.onSubstituteNode, m = e.onEmitNode; e.onEmitNode = Gu, e.onSubstituteNode = Ws; let v, S, x, A; function w(ee) { A = Sn(A, t.createVariableDeclaration(ee)) } let C, P; return y_(e, F); function F(ee) { if (ee.isDeclarationFile) return ee; v = ee, S = ee.text; let Ze = re(ee); return Bg(Ze, e.readEmitHelpers()), v = void 0, S = void 0, A = void 0, x = 0, Ze } function B(ee, Ze) { let At = x; return x = (x & ~ee | Ze) & 32767, At } function q(ee, Ze, At) { x = (x & ~Ze | At) & -32768 | ee } function W(ee) { return (x & 8192) !== 0 && ee.kind === 250 && !ee.expression } function Y(ee) { return ee.transformFlags & 4194304 && (j_(ee) || MT(ee) || Uue(ee) || pO(ee) || hO(ee) || CL(ee) || yO(ee) || mO(ee) || E2(ee) || J0(ee) || Wy(ee, !1) || Va(ee)) } function R(ee) { return (ee.transformFlags & 1024) !== 0 || C !== void 0 || x & 8192 && Y(ee) || Wy(ee, !1) && jr(ee) || (o_(ee) & 1) !== 0 } function ie(ee) { return R(ee) ? U(ee, !1) : ee } function $(ee) { return R(ee) ? U(ee, !0) : ee } function fe(ee) { if (R(ee)) { let Ze = ec(ee); if (Na(Ze) && zc(Ze)) { let At = B(32670, 16449), xt = U(ee, !1); return q(At, 98304, 0), xt } return U(ee, !1) } return ee } function Z(ee) { return ee.kind === 106 ? Hs(!0) : ie(ee) } function U(ee, Ze) { switch (ee.kind) { case 124: return; case 260: return Ce(ee); case 228: return Ie(ee); case 166: return tn(ee); case 259: return Ht(ee); case 216: return ri(ee); case 215: return vn(ee); case 257: return je(ee); case 79: return ke(ee); case 258: return Q(ee); case 252: return le(ee); case 266: return _e(ee); case 238: return Cr(ee, !1); case 249: case 248: return Pe(ee); case 253: return Kt(ee); case 243: case 244: return ae(ee, void 0); case 245: return rt(ee, void 0); case 246: return Ke(ee, void 0); case 247: return oe(ee, void 0); case 241: return Se(ee); case 207: return yt(ee); case 295: return Pc(ee); case 300: return Rs(ee); case 164: return As(ee); case 206: return yc(ee); case 210: return Ql(ee); case 211: return wt(ee); case 214: return at(ee, Ze); case 223: return Tt(ee, Ze); case 357: return ve(ee, Ze); case 14: case 15: case 16: case 17: return ta(ee); case 10: return Go(ee); case 8: return Ka(ee); case 212: return vo(ee); case 225: return ka(ee); case 226: return jt(ee); case 227: return yr(ee); case 106: return Hs(!1); case 108: return Ve(ee); case 233: return Uc(ee); case 171: return ss(ee); case 174: case 175: return qs(ee); case 240: return ce(ee); case 250: return X(ee); case 219: return we(ee); default: return xn(ee, ie, e) } } function re(ee) { let Ze = B(8064, 64), At = [], xt = []; i(); let qt = t.copyPrologue(ee.statements, At, !1, ie); return si(xt, On(ee.statements, ie, ca, qt)), A && xt.push(t.createVariableStatement(void 0, t.createVariableDeclarationList(A))), t.mergeLexicalEnvironment(At, s()), Pi(At, ee), q(Ze, 0, 0), t.updateSourceFile(ee, it(t.createNodeArray(Qi(At, xt)), ee.statements)) } function le(ee) { if (C !== void 0) { let Ze = C.allowedNonLabeledJumps; C.allowedNonLabeledJumps |= 2; let At = xn(ee, ie, e); return C.allowedNonLabeledJumps = Ze, At } return xn(ee, ie, e) } function _e(ee) { let Ze = B(7104, 0), At = xn(ee, ie, e); return q(Ze, 0, 0), At } function ge(ee) { return Ir(t.createReturnStatement(t.createUniqueName("_this", 48)), ee) } function X(ee) { return C ? (C.nonLocalJumps |= 8, W(ee) && (ee = ge(ee)), t.createReturnStatement(t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("value"), ee.expression ? L.checkDefined($e(ee.expression, ie, ot)) : t.createVoidZero())]))) : W(ee) ? ge(ee) : xn(ee, ie, e) } function Ve(ee) { return x & 2 && !(x & 16384) && (x |= 65536), C ? x & 2 ? (C.containsLexicalThis = !0, ee) : C.thisName || (C.thisName = t.createUniqueName("this")) : ee } function we(ee) { return xn(ee, $, e) } function ke(ee) { return C && d.isArgumentsLocalBinding(ee) ? C.argumentsName || (C.argumentsName = t.createUniqueName("arguments")) : ee.flags & 128 ? Ir(it(t.createIdentifier(Gi(ee.escapedText)), ee), ee) : ee } function Pe(ee) { if (C) { let Ze = ee.kind === 249 ? 2 : 4; if (!(ee.label && C.labels && C.labels.get(vr(ee.label)) || !ee.label && C.allowedNonLabeledJumps & Ze)) { let xt, qt = ee.label; qt ? ee.kind === 249 ? (xt = `break-${qt.escapedText}`, hc(C, !0, vr(qt), xt)) : (xt = `continue-${qt.escapedText}`, hc(C, !1, vr(qt), xt)) : ee.kind === 249 ? (C.nonLocalJumps |= 2, xt = "break") : (C.nonLocalJumps |= 4, xt = "continue"); let Ln = t.createStringLiteral(xt); if (C.loopOutParameters.length) { let mr = C.loopOutParameters, Vr; for (let gi = 0; gi < mr.length; gi++) { let Ea = kc(mr[gi], 1); gi === 0 ? Vr = Ea : Vr = t.createBinaryExpression(Vr, 27, Ea) } Ln = t.createBinaryExpression(Vr, 27, Ln) } return t.createReturnStatement(Ln) } } return xn(ee, ie, e) } function Ce(ee) { let Ze = t.createVariableDeclaration(t.getLocalName(ee, !0), void 0, void 0, Be(ee)); Ir(Ze, ee); let At = [], xt = t.createVariableStatement(void 0, t.createVariableDeclarationList([Ze])); if (Ir(xt, ee), it(xt, ee), mu(xt), At.push(xt), Mr(ee, 1)) { let Ln = Mr(ee, 1024) ? t.createExportDefault(t.getLocalName(ee)) : t.createExternalModuleExport(t.getLocalName(ee)); Ir(Ln, xt), At.push(Ln) } let qt = Ya(ee); return qt & 8388608 || (At.push(t.createEndOfDeclarationMarker(ee)), Jn(xt, qt | 8388608)), zp(At) } function Ie(ee) { return Be(ee) } function Be(ee) { ee.name && $o(); let Ze = P0(ee), At = t.createFunctionExpression(void 0, void 0, void 0, void 0, Ze ? [t.createParameterDeclaration(void 0, void 0, t.createUniqueName("_super", 48))] : [], void 0, Ne(ee, Ze)); Jn(At, Ya(ee) & 131072 | 1048576); let xt = t.createPartiallyEmittedExpression(At); r2(xt, ee.end), Jn(xt, 3072); let qt = t.createPartiallyEmittedExpression(xt); r2(qt, xo(S, ee.pos)), Jn(qt, 3072); let Ln = t.createParenthesizedExpression(t.createCallExpression(qt, void 0, Ze ? [L.checkDefined($e(Ze.expression, ie, ot))] : [])); return nO(Ln, 3, "* @class "), Ln } function Ne(ee, Ze) { let At = [], xt = t.getInternalName(ee), qt = q6(xt) ? t.getGeneratedNameForNode(xt) : xt; i(), Le(At, ee, Ze), Ye(At, ee, qt, Ze), Dt(At, ee); let Ln = _W(xo(S, ee.members.end), 19), mr = t.createPartiallyEmittedExpression(qt); r2(mr, Ln.end), Jn(mr, 3072); let Vr = t.createReturnStatement(mr); aL(Vr, Ln.pos), Jn(Vr, 3840), At.push(Vr), em(At, s()); let gi = t.createBlock(it(t.createNodeArray(At), ee.members), !0); return Jn(gi, 3072), gi } function Le(ee, Ze, At) { At && ee.push(it(t.createExpressionStatement(r().createExtendsHelper(t.getInternalName(Ze))), At)) } function Ye(ee, Ze, At, xt) { let qt = C; C = void 0; let Ln = B(32662, 73), mr = Vm(Ze), Vr = io(mr, xt !== void 0), gi = t.createFunctionDeclaration(void 0, void 0, At, void 0, _t(mr, Vr), void 0, Rt(mr, Ze, xt, Vr)); it(gi, mr || Ze), xt && Jn(gi, 16), ee.push(gi), q(Ln, 98304, 0), C = qt } function _t(ee, Ze) { return Sc(ee && !Ze ? ee.parameters : void 0, ie, e) || [] } function ct(ee, Ze) { let At = []; o(), t.mergeLexicalEnvironment(At, s()), Ze && At.push(t.createReturnStatement(Qt())); let xt = t.createNodeArray(At); it(xt, ee.members); let qt = t.createBlock(xt, !0); return it(qt, ee), Jn(qt, 3072), qt } function Rt(ee, Ze, At, xt) { let qt = !!At && ql(At.expression).kind !== 104; if (!ee) return ct(Ze, qt); let Ln = [], mr = []; o(); let Vr = v8(ee.body.statements, B_), { superCall: gi, superStatementIndex: Ea } = We(ee.body.statements, Vr), bo = Ea === -1 ? Vr.length : Ea + 1, Qo = bo; xt || (Qo = t.copyStandardPrologue(ee.body.statements, Ln, Qo, !1)), xt || (Qo = t.copyCustomPrologue(ee.body.statements, mr, Qo, ie, void 0)); let Cs; if (xt ? Cs = Qt() : gi && (Cs = se(gi)), Cs && (x |= 8192), _n(Ln, ee), Ni(Ln, ee, xt), si(mr, On(ee.body.statements, ie, ca, Qo)), t.mergeLexicalEnvironment(Ln, s()), nn(Ln, ee, !1), qt || Cs) if (Cs && bo === ee.body.statements.length && !(ee.body.transformFlags & 16384)) { let Pd = Ga(Ga(Cs, ar).left, Pa), Dc = t.createReturnStatement(Cs); hl(Dc, sm(Pd)), Jn(Pd, 3072), mr.push(Dc) } else Ea <= Vr.length ? pt(mr, ee, Cs || zt()) : (pt(Ln, ee, zt()), Cs && gr(mr, Cs)), qe(ee.body) || mr.push(t.createReturnStatement(t.createUniqueName("_this", 48))); else Pi(Ln, ee); let Bu = t.createBlock(it(t.createNodeArray([...Vr, ...Ln, ...Ea <= Vr.length ? Je : On(ee.body.statements, ie, ca, Vr.length, Ea - Vr.length), ...mr]), ee.body.statements), !0); return it(Bu, ee.body), Bu } function We(ee, Ze) { for (let At = Ze.length; At < ee.length; At += 1) { let xt = AK(ee[At]); if (xt) return { superCall: xt, superStatementIndex: At } } return { superStatementIndex: -1 } } function qe(ee) { if (ee.kind === 250) return !0; if (ee.kind === 242) { let Ze = ee; if (Ze.elseStatement) return qe(Ze.thenStatement) && qe(Ze.elseStatement) } else if (ee.kind === 238) { let Ze = Os(ee.statements); if (Ze && qe(Ze)) return !0 } return !1 } function zt() { return Jn(t.createThis(), 8) } function Qt() { return t.createLogicalOr(t.createLogicalAnd(t.createStrictInequality(t.createUniqueName("_super", 48), t.createNull()), t.createFunctionApplyCall(t.createUniqueName("_super", 48), zt(), t.createIdentifier("arguments"))), zt()) } function tn(ee) { if (!ee.dotDotDotToken) return La(ee.name) ? Ir(it(t.createParameterDeclaration(void 0, void 0, t.getGeneratedNameForNode(ee), void 0, void 0, void 0), ee), ee) : ee.initializer ? Ir(it(t.createParameterDeclaration(void 0, void 0, ee.name, void 0, void 0, void 0), ee), ee) : ee } function kn(ee) { return ee.initializer !== void 0 || La(ee.name) } function _n(ee, Ze) { if (!vt(Ze.parameters, kn)) return !1; let At = !1; for (let xt of Ze.parameters) { let { name: qt, initializer: Ln, dotDotDotToken: mr } = xt; mr || (La(qt) ? At = Gt(ee, xt, qt, Ln) || At : Ln && ($n(ee, xt, qt, Ln), At = !0)) } return At } function Gt(ee, Ze, At, xt) { return At.elements.length > 0 ? (L0(ee, Jn(t.createVariableStatement(void 0, t.createVariableDeclarationList(eE(Ze, ie, e, 0, t.getGeneratedNameForNode(Ze)))), 2097152)), !0) : xt ? (L0(ee, Jn(t.createExpressionStatement(t.createAssignment(t.getGeneratedNameForNode(Ze), L.checkDefined($e(xt, ie, ot)))), 2097152)), !0) : !1 } function $n(ee, Ze, At, xt) { xt = L.checkDefined($e(xt, ie, ot)); let qt = t.createIfStatement(t.createTypeCheck(t.cloneNode(At), "undefined"), Jn(it(t.createBlock([t.createExpressionStatement(Jn(it(t.createAssignment(Jn(go(it(t.cloneNode(At), At), At.parent), 96), Jn(xt, 96 | Ya(xt) | 3072)), Ze), 3072))]), Ze), 3905)); mu(qt), it(qt, Ze), Jn(qt, 2101056), L0(ee, qt) } function ui(ee, Ze) { return !!(ee && ee.dotDotDotToken && !Ze) } function Ni(ee, Ze, At) { let xt = [], qt = Os(Ze.parameters); if (!ui(qt, At)) return !1; let Ln = qt.name.kind === 79 ? go(it(t.cloneNode(qt.name), qt.name), qt.name.parent) : t.createTempVariable(void 0); Jn(Ln, 96); let mr = qt.name.kind === 79 ? t.cloneNode(qt.name) : Ln, Vr = Ze.parameters.length - 1, gi = t.createLoopVariable(); xt.push(Jn(it(t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(Ln, void 0, void 0, t.createArrayLiteralExpression([]))])), qt), 2097152)); let Ea = t.createForStatement(it(t.createVariableDeclarationList([t.createVariableDeclaration(gi, void 0, void 0, t.createNumericLiteral(Vr))]), qt), it(t.createLessThan(gi, t.createPropertyAccessExpression(t.createIdentifier("arguments"), "length")), qt), it(t.createPostfixIncrement(gi), qt), t.createBlock([mu(it(t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(mr, Vr === 0 ? gi : t.createSubtract(gi, t.createNumericLiteral(Vr))), t.createElementAccessExpression(t.createIdentifier("arguments"), gi))), qt))])); return Jn(Ea, 2097152), mu(Ea), xt.push(Ea), qt.name.kind !== 79 && xt.push(Jn(it(t.createVariableStatement(void 0, t.createVariableDeclarationList(eE(qt, ie, e, 0, mr))), qt), 2097152)), rH(ee, xt), !0 } function Pi(ee, Ze) { return x & 65536 && Ze.kind !== 216 ? (pt(ee, Ze, t.createThis()), !0) : !1 } function gr(ee, Ze) { jo(); let At = t.createExpressionStatement(t.createBinaryExpression(t.createThis(), 63, Ze)); L0(ee, At), hl(At, ec(Ze).parent) } function pt(ee, Ze, At) { jo(); let xt = t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_this", 48), void 0, void 0, At)])); Jn(xt, 2100224), Ho(xt, Ze), L0(ee, xt) } function nn(ee, Ze, At) { if (x & 32768) { let xt; switch (Ze.kind) { case 216: return ee; case 171: case 174: case 175: xt = t.createVoidZero(); break; case 173: xt = t.createPropertyAccessExpression(Jn(t.createThis(), 8), "constructor"); break; case 259: case 215: xt = t.createConditionalExpression(t.createLogicalAnd(Jn(t.createThis(), 8), t.createBinaryExpression(Jn(t.createThis(), 8), 102, t.getLocalName(Ze))), void 0, t.createPropertyAccessExpression(Jn(t.createThis(), 8), "constructor"), void 0, t.createVoidZero()); break; default: return L.failBadSyntaxKind(Ze) }let qt = t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_newTarget", 48), void 0, void 0, xt)])); Jn(qt, 2100224), At && (ee = ee.slice()), L0(ee, qt) } return ee } function Dt(ee, Ze) { for (let At of Ze.members) switch (At.kind) { case 237: ee.push(pn(At)); break; case 171: ee.push(An(Ri(Ze, At), At, Ze)); break; case 174: case 175: let xt = kT(Ze.members, At); At === xt.firstAccessor && ee.push(Kn(Ri(Ze, At), xt, Ze)); break; case 173: case 172: break; default: L.failBadSyntaxKind(At, v && v.fileName); break } } function pn(ee) { return it(t.createEmptyStatement(), ee) } function An(ee, Ze, At) { let xt = sm(Ze), qt = pb(Ze), Ln = En(Ze, Ze, void 0, At), mr = $e(Ze.name, ie, Ys); L.assert(mr); let Vr; if (!pi(mr) && MR(e.getCompilerOptions())) { let Ea = ts(mr) ? mr.expression : Re(mr) ? t.createStringLiteral(Gi(mr.escapedText)) : mr; Vr = t.createObjectDefinePropertyCall(ee, Ea, t.createPropertyDescriptor({ value: Ln, enumerable: !1, writable: !0, configurable: !0 })) } else { let Ea = VT(t, ee, mr, Ze.name); Vr = t.createAssignment(Ea, Ln) } Jn(Ln, 3072), Ho(Ln, qt); let gi = it(t.createExpressionStatement(Vr), Ze); return Ir(gi, Ze), hl(gi, xt), Jn(gi, 96), gi } function Kn(ee, Ze, At) { let xt = t.createExpressionStatement(hi(ee, Ze, At, !1)); return Jn(xt, 3072), Ho(xt, pb(Ze.firstAccessor)), xt } function hi(ee, { firstAccessor: Ze, getAccessor: At, setAccessor: xt }, qt, Ln) { let mr = go(it(t.cloneNode(ee), ee), ee.parent); Jn(mr, 3136), Ho(mr, Ze.name); let Vr = $e(Ze.name, ie, Ys); if (L.assert(Vr), pi(Vr)) return L.failBadSyntaxKind(Vr, "Encountered unhandled private identifier while transforming ES2015."); let gi = Zz(t, Vr); Jn(gi, 3104), Ho(gi, Ze.name); let Ea = []; if (At) { let Qo = En(At, void 0, void 0, qt); Ho(Qo, pb(At)), Jn(Qo, 1024); let Cs = t.createPropertyAssignment("get", Qo); hl(Cs, sm(At)), Ea.push(Cs) } if (xt) { let Qo = En(xt, void 0, void 0, qt); Ho(Qo, pb(xt)), Jn(Qo, 1024); let Cs = t.createPropertyAssignment("set", Qo); hl(Cs, sm(xt)), Ea.push(Cs) } Ea.push(t.createPropertyAssignment("enumerable", At || xt ? t.createFalse() : t.createTrue()), t.createPropertyAssignment("configurable", t.createTrue())); let bo = t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"), "defineProperty"), void 0, [mr, gi, t.createObjectLiteralExpression(Ea, !0)]); return Ln && mu(bo), bo } function ri(ee) { ee.transformFlags & 16384 && !(x & 16384) && (x |= 65536); let Ze = C; C = void 0; let At = B(15232, 66), xt = t.createFunctionExpression(void 0, void 0, void 0, void 0, Sc(ee.parameters, ie, e), void 0, dr(ee)); return it(xt, ee), Ir(xt, ee), Jn(xt, 16), q(At, 0, 0), C = Ze, xt } function vn(ee) { let Ze = Ya(ee) & 524288 ? B(32662, 69) : B(32670, 65), At = C; C = void 0; let xt = Sc(ee.parameters, ie, e), qt = dr(ee), Ln = x & 32768 ? t.getLocalName(ee) : ee.name; return q(Ze, 98304, 0), C = At, t.updateFunctionExpression(ee, void 0, ee.asteriskToken, Ln, void 0, xt, void 0, qt) } function Ht(ee) { let Ze = C; C = void 0; let At = B(32670, 65), xt = Sc(ee.parameters, ie, e), qt = dr(ee), Ln = x & 32768 ? t.getLocalName(ee) : ee.name; return q(At, 98304, 0), C = Ze, t.updateFunctionDeclaration(ee, On(ee.modifiers, ie, Ha), ee.asteriskToken, Ln, void 0, xt, void 0, qt) } function En(ee, Ze, At, xt) { let qt = C; C = void 0; let Ln = xt && Yr(xt) && !Ca(ee) ? B(32670, 73) : B(32670, 65), mr = Sc(ee.parameters, ie, e), Vr = dr(ee); return x & 32768 && !At && (ee.kind === 259 || ee.kind === 215) && (At = t.getGeneratedNameForNode(ee)), q(Ln, 98304, 0), C = qt, Ir(it(t.createFunctionExpression(void 0, ee.asteriskToken, At, void 0, mr, void 0, Vr), Ze), ee) } function dr(ee) { let Ze = !1, At = !1, xt, qt, Ln = [], mr = [], Vr = ee.body, gi; if (o(), Va(Vr) && (gi = t.copyStandardPrologue(Vr.statements, Ln, 0, !1), gi = t.copyCustomPrologue(Vr.statements, mr, gi, ie, C6), gi = t.copyCustomPrologue(Vr.statements, mr, gi, ie, I6)), Ze = _n(mr, ee) || Ze, Ze = Ni(mr, ee, !1) || Ze, Va(Vr)) gi = t.copyCustomPrologue(Vr.statements, mr, gi, ie), xt = Vr.statements, si(mr, On(Vr.statements, ie, ca, gi)), !Ze && Vr.multiLine && (Ze = !0); else { L.assert(ee.kind === 216), xt = i4(Vr, -1); let bo = ee.equalsGreaterThanToken; !ws(bo) && !ws(Vr) && (DR(bo, Vr, v) ? At = !0 : Ze = !0); let Qo = $e(Vr, ie, ot), Cs = t.createReturnStatement(Qo); it(Cs, Vr), pue(Cs, Vr), Jn(Cs, 2880), mr.push(Cs), qt = Vr } if (t.mergeLexicalEnvironment(Ln, s()), nn(Ln, ee, !1), Pi(Ln, ee), vt(Ln) && (Ze = !0), mr.unshift(...Ln), Va(Vr) && up(mr, Vr.statements)) return Vr; let Ea = t.createBlock(it(t.createNodeArray(mr), xt), Ze); return it(Ea, ee.body), !Ze && At && Jn(Ea, 1), qt && _ue(Ea, 19, qt), Ir(Ea, ee.body), Ea } function Cr(ee, Ze) { if (Ze) return xn(ee, ie, e); let At = x & 256 ? B(7104, 512) : B(6976, 128), xt = xn(ee, ie, e); return q(At, 0, 0), xt } function Se(ee) { return xn(ee, $, e) } function at(ee, Ze) { return xn(ee, Ze ? $ : ie, e) } function Tt(ee, Ze) { return Fg(ee) ? KT(ee, ie, e, 0, !Ze) : ee.operatorToken.kind === 27 ? t.updateBinaryExpression(ee, L.checkDefined($e(ee.left, $, ot)), ee.operatorToken, L.checkDefined($e(ee.right, Ze ? $ : ie, ot))) : xn(ee, ie, e) } function ve(ee, Ze) { if (Ze) return xn(ee, $, e); let At; for (let qt = 0; qt < ee.elements.length; qt++) { let Ln = ee.elements[qt], mr = $e(Ln, qt < ee.elements.length - 1 ? $ : ie, ot); (At || mr !== Ln) && (At || (At = ee.elements.slice(0, qt)), L.assert(mr), At.push(mr)) } let xt = At ? it(t.createNodeArray(At), ee.elements) : ee.elements; return t.updateCommaListExpression(ee, xt) } function nt(ee) { return ee.declarationList.declarations.length === 1 && !!ee.declarationList.declarations[0].initializer && !!(o_(ee.declarationList.declarations[0].initializer) & 1) } function ce(ee) { let Ze = B(0, Mr(ee, 1) ? 32 : 0), At; if (C && !(ee.declarationList.flags & 3) && !nt(ee)) { let xt; for (let qt of ee.declarationList.declarations) if (Kr(C, qt), qt.initializer) { let Ln; La(qt.name) ? Ln = KT(qt, ie, e, 0) : (Ln = t.createBinaryExpression(qt.name, 63, L.checkDefined($e(qt.initializer, ie, ot))), it(Ln, qt)), xt = Sn(xt, Ln) } xt ? At = it(t.createExpressionStatement(t.inlineExpressions(xt)), ee) : At = void 0 } else At = xn(ee, ie, e); return q(Ze, 0, 0), At } function Q(ee) { if (ee.flags & 3 || ee.transformFlags & 524288) { ee.flags & 3 && $o(); let Ze = On(ee.declarations, ee.flags & 1 ? Oe : je, wi), At = t.createVariableDeclarationList(Ze); return Ir(At, ee), it(At, ee), hl(At, ee), ee.transformFlags & 524288 && (La(ee.declarations[0].name) || La(To(ee.declarations).name)) && Ho(At, ue(Ze)), At } return xn(ee, ie, e) } function ue(ee) { let Ze = -1, At = -1; for (let xt of ee) Ze = Ze === -1 ? xt.pos : xt.pos === -1 ? Ze : Math.min(Ze, xt.pos), At = Math.max(At, xt.end); return Gf(Ze, At) } function G(ee) { let Ze = d.getNodeCheckFlags(ee), At = Ze & 16384, xt = Ze & 32768; return !((x & 64) !== 0 || At && xt && (x & 512) !== 0) && (x & 4096) === 0 && (!d.isDeclarationWithCollidingName(ee) || xt && !At && (x & 6144) === 0) } function Oe(ee) { let Ze = ee.name; return La(Ze) ? je(ee) : !ee.initializer && G(ee) ? t.updateVariableDeclaration(ee, ee.name, void 0, void 0, t.createVoidZero()) : xn(ee, ie, e) } function je(ee) { let Ze = B(32, 0), At; return La(ee.name) ? At = eE(ee, ie, e, 0, void 0, (Ze & 32) !== 0) : At = xn(ee, ie, e), q(Ze, 0, 0), At } function Ge(ee) { C.labels.set(vr(ee.label), !0) } function kt(ee) { C.labels.set(vr(ee.label), !1) } function Kt(ee) { C && !C.labels && (C.labels = new Map); let Ze = xH(ee, C && Ge); return Wy(Ze, !1) ? ln(Ze, ee) : t.restoreEnclosingLabel(L.checkDefined($e(Ze, ie, ca, t.liftToBlock)), ee, C && kt) } function ln(ee, Ze) { switch (ee.kind) { case 243: case 244: return ae(ee, Ze); case 245: return rt(ee, Ze); case 246: return Ke(ee, Ze); case 247: return oe(ee, Ze) } } function ir(ee, Ze, At, xt, qt) { let Ln = B(ee, Ze), mr = Si(At, xt, Ln, qt); return q(Ln, 0, 0), mr } function ae(ee, Ze) { return ir(0, 1280, ee, Ze) } function rt(ee, Ze) { return ir(5056, 3328, ee, Ze) } function Ot(ee) { return t.updateForStatement(ee, $e(ee.initializer, $, pp), $e(ee.condition, ie, ot), $e(ee.incrementor, $, ot), L.checkDefined($e(ee.statement, ie, ca, t.liftToBlock))) } function Ke(ee, Ze) { return ir(3008, 5376, ee, Ze) } function oe(ee, Ze) { return ir(3008, 5376, ee, Ze, f.downlevelIteration ? j : Te) } function pe(ee, Ze, At) { let xt = [], qt = ee.initializer; if (pu(qt)) { ee.initializer.flags & 3 && $o(); let Ln = Sl(qt.declarations); if (Ln && La(Ln.name)) { let mr = eE(Ln, ie, e, 0, Ze), Vr = it(t.createVariableDeclarationList(mr), ee.initializer); Ir(Vr, ee.initializer), Ho(Vr, Gf(mr[0].pos, To(mr).end)), xt.push(t.createVariableStatement(void 0, Vr)) } else xt.push(it(t.createVariableStatement(void 0, Ir(it(t.createVariableDeclarationList([t.createVariableDeclaration(Ln ? Ln.name : t.createTempVariable(void 0), void 0, void 0, Ze)]), fb(qt, -1)), qt)), i4(qt, -1))) } else { let Ln = t.createAssignment(qt, Ze); Fg(Ln) ? xt.push(t.createExpressionStatement(Tt(Ln, !0))) : (r2(Ln, qt.end), xt.push(it(t.createExpressionStatement(L.checkDefined($e(Ln, ie, ot))), i4(qt, -1)))) } if (At) return z(si(xt, At)); { let Ln = $e(ee.statement, ie, ca, t.liftToBlock); return L.assert(Ln), Va(Ln) ? t.updateBlock(Ln, it(t.createNodeArray(Qi(xt, Ln.statements)), Ln.statements)) : (xt.push(Ln), z(xt)) } } function z(ee) { return Jn(t.createBlock(t.createNodeArray(ee), !0), 864) } function Te(ee, Ze, At) { let xt = $e(ee.expression, ie, ot); L.assert(xt); let qt = t.createLoopVariable(), Ln = Re(xt) ? t.getGeneratedNameForNode(xt) : t.createTempVariable(void 0); Jn(xt, 96 | Ya(xt)); let mr = it(t.createForStatement(Jn(it(t.createVariableDeclarationList([it(t.createVariableDeclaration(qt, void 0, void 0, t.createNumericLiteral(0)), fb(ee.expression, -1)), it(t.createVariableDeclaration(Ln, void 0, void 0, xt), ee.expression)]), ee.expression), 4194304), it(t.createLessThan(qt, t.createPropertyAccessExpression(Ln, "length")), ee.expression), it(t.createPostfixIncrement(qt), ee.expression), pe(ee, t.createElementAccessExpression(Ln, qt), At)), ee); return Jn(mr, 512), it(mr, ee), t.restoreEnclosingLabel(mr, Ze, C && kt) } function j(ee, Ze, At, xt) { let qt = $e(ee.expression, ie, ot); L.assert(qt); let Ln = Re(qt) ? t.getGeneratedNameForNode(qt) : t.createTempVariable(void 0), mr = Re(qt) ? t.getGeneratedNameForNode(Ln) : t.createTempVariable(void 0), Vr = t.createUniqueName("e"), gi = t.getGeneratedNameForNode(Vr), Ea = t.createTempVariable(void 0), bo = it(r().createValuesHelper(qt), ee.expression), Qo = t.createCallExpression(t.createPropertyAccessExpression(Ln, "next"), void 0, []); l(Vr), l(Ea); let Cs = xt & 1024 ? t.inlineExpressions([t.createAssignment(Vr, t.createVoidZero()), bo]) : bo, Bu = Jn(it(t.createForStatement(Jn(it(t.createVariableDeclarationList([it(t.createVariableDeclaration(Ln, void 0, void 0, Cs), ee.expression), t.createVariableDeclaration(mr, void 0, void 0, Qo)]), ee.expression), 4194304), t.createLogicalNot(t.createPropertyAccessExpression(mr, "done")), t.createAssignment(mr, Qo), pe(ee, t.createPropertyAccessExpression(mr, "value"), At)), ee), 512); return t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(Bu, Ze, C && kt)]), t.createCatchClause(t.createVariableDeclaration(gi), Jn(t.createBlock([t.createExpressionStatement(t.createAssignment(Vr, t.createObjectLiteralExpression([t.createPropertyAssignment("error", gi)])))]), 1)), t.createBlock([t.createTryStatement(t.createBlock([Jn(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(mr, t.createLogicalNot(t.createPropertyAccessExpression(mr, "done"))), t.createAssignment(Ea, t.createPropertyAccessExpression(Ln, "return"))), t.createExpressionStatement(t.createFunctionCallCall(Ea, Ln, []))), 1)]), void 0, Jn(t.createBlock([Jn(t.createIfStatement(Vr, t.createThrowStatement(t.createPropertyAccessExpression(Vr, "error"))), 1)]), 1))])) } function yt(ee) { let Ze = ee.properties, At = -1, xt = !1; for (let Vr = 0; Vr < Ze.length; Vr++) { let gi = Ze[Vr]; if (gi.transformFlags & 1048576 && x & 4 || (xt = L.checkDefined(gi.name).kind === 164)) { At = Vr; break } } if (At < 0) return xn(ee, ie, e); let qt = t.createTempVariable(l), Ln = [], mr = t.createAssignment(qt, Jn(t.createObjectLiteralExpression(On(Ze, ie, Og, 0, At), ee.multiLine), xt ? 131072 : 0)); return ee.multiLine && mu(mr), Ln.push(mr), Co(Ln, ee, qt, At), Ln.push(ee.multiLine ? mu(go(it(t.cloneNode(qt), qt), qt.parent)) : qt), t.inlineExpressions(Ln) } function lt(ee) { return (d.getNodeCheckFlags(ee) & 8192) !== 0 } function Qe(ee) { return FT(ee) && !!ee.initializer && lt(ee.initializer) } function Vt(ee) { return FT(ee) && !!ee.condition && lt(ee.condition) } function Hn(ee) { return FT(ee) && !!ee.incrementor && lt(ee.incrementor) } function jr(ee) { return ei(ee) || Qe(ee) } function ei(ee) { return (d.getNodeCheckFlags(ee) & 4096) !== 0 } function Kr(ee, Ze) { ee.hoistedLocalVariables || (ee.hoistedLocalVariables = []), At(Ze.name); function At(xt) { if (xt.kind === 79) ee.hoistedLocalVariables.push(xt); else for (let qt of xt.elements) ol(qt) || At(qt.name) } } function Si(ee, Ze, At, xt) { if (!jr(ee)) { let bo; C && (bo = C.allowedNonLabeledJumps, C.allowedNonLabeledJumps = 6); let Qo = xt ? xt(ee, Ze, void 0, At) : t.restoreEnclosingLabel(FT(ee) ? Ot(ee) : xn(ee, ie, e), Ze, C && kt); return C && (C.allowedNonLabeledJumps = bo), Qo } let qt = Fo(ee), Ln = [], mr = C; C = qt; let Vr = Qe(ee) ? gn(ee, qt) : void 0, gi = ei(ee) ? Ki(ee, qt, mr) : void 0; C = mr, Vr && Ln.push(Vr.functionDeclaration), gi && Ln.push(gi.functionDeclaration), Qr(Ln, qt, mr), Vr && Ln.push(mc(Vr.functionName, Vr.containsYield)); let Ea; if (gi) if (xt) Ea = xt(ee, Ze, gi.part, At); else { let bo = Ja(ee, Vr, t.createBlock(gi.part, !0)); Ea = t.restoreEnclosingLabel(bo, Ze, C && kt) } else { let bo = Ja(ee, Vr, L.checkDefined($e(ee.statement, ie, ca, t.liftToBlock))); Ea = t.restoreEnclosingLabel(bo, Ze, C && kt) } return Ln.push(Ea), Ln } function Ja(ee, Ze, At) { switch (ee.kind) { case 245: return Za(ee, Ze, At); case 246: return Hi(ee, At); case 247: return Fa(ee, At); case 243: return xi(ee, At); case 244: return Nr(ee, At); default: return L.failBadSyntaxKind(ee, "IterationStatement expected") } } function Za(ee, Ze, At) { let xt = ee.condition && lt(ee.condition), qt = xt || ee.incrementor && lt(ee.incrementor); return t.updateForStatement(ee, $e(Ze ? Ze.part : ee.initializer, $, pp), $e(xt ? void 0 : ee.condition, ie, ot), $e(qt ? void 0 : ee.incrementor, $, ot), At) } function Fa(ee, Ze) { return t.updateForOfStatement(ee, void 0, L.checkDefined($e(ee.initializer, ie, pp)), L.checkDefined($e(ee.expression, ie, ot)), Ze) } function Hi(ee, Ze) { return t.updateForInStatement(ee, L.checkDefined($e(ee.initializer, ie, pp)), L.checkDefined($e(ee.expression, ie, ot)), Ze) } function xi(ee, Ze) { return t.updateDoStatement(ee, Ze, L.checkDefined($e(ee.expression, ie, ot))) } function Nr(ee, Ze) { return t.updateWhileStatement(ee, L.checkDefined($e(ee.expression, ie, ot)), Ze) } function Fo(ee) { let Ze; switch (ee.kind) { case 245: case 246: case 247: let Ln = ee.initializer; Ln && Ln.kind === 258 && (Ze = Ln); break }let At = [], xt = []; if (Ze && G_(Ze) & 3) { let Ln = Qe(ee) || Vt(ee) || Hn(ee); for (let mr of Ze.declarations) aa(ee, mr, At, xt, Ln) } let qt = { loopParameters: At, loopOutParameters: xt }; return C && (C.argumentsName && (qt.argumentsName = C.argumentsName), C.thisName && (qt.thisName = C.thisName), C.hoistedLocalVariables && (qt.hoistedLocalVariables = C.hoistedLocalVariables)), qt } function Qr(ee, Ze, At) { let xt; if (Ze.argumentsName && (At ? At.argumentsName = Ze.argumentsName : (xt || (xt = [])).push(t.createVariableDeclaration(Ze.argumentsName, void 0, void 0, t.createIdentifier("arguments")))), Ze.thisName && (At ? At.thisName = Ze.thisName : (xt || (xt = [])).push(t.createVariableDeclaration(Ze.thisName, void 0, void 0, t.createIdentifier("this")))), Ze.hoistedLocalVariables) if (At) At.hoistedLocalVariables = Ze.hoistedLocalVariables; else { xt || (xt = []); for (let qt of Ze.hoistedLocalVariables) xt.push(t.createVariableDeclaration(qt)) } if (Ze.loopOutParameters.length) { xt || (xt = []); for (let qt of Ze.loopOutParameters) xt.push(t.createVariableDeclaration(qt.outParamName)) } Ze.conditionVariable && (xt || (xt = []), xt.push(t.createVariableDeclaration(Ze.conditionVariable, void 0, void 0, t.createFalse()))), xt && ee.push(t.createVariableStatement(void 0, t.createVariableDeclarationList(xt))) } function Wi(ee) { return t.createVariableDeclaration(ee.originalName, void 0, void 0, ee.outParamName) } function gn(ee, Ze) { let At = t.createUniqueName("_loop_init"), xt = (ee.initializer.transformFlags & 1048576) !== 0, qt = 0; Ze.containsLexicalThis && (qt |= 16), xt && x & 4 && (qt |= 524288); let Ln = []; Ln.push(t.createVariableStatement(void 0, ee.initializer)), Ps(Ze.loopOutParameters, 2, 1, Ln); let mr = t.createVariableStatement(void 0, Jn(t.createVariableDeclarationList([t.createVariableDeclaration(At, void 0, void 0, Jn(t.createFunctionExpression(void 0, xt ? t.createToken(41) : void 0, void 0, void 0, void 0, void 0, L.checkDefined($e(t.createBlock(Ln, !0), ie, Va))), qt))]), 4194304)), Vr = t.createVariableDeclarationList(on(Ze.loopOutParameters, Wi)); return { functionName: At, containsYield: xt, functionDeclaration: mr, part: Vr } } function Ki(ee, Ze, At) { let xt = t.createUniqueName("_loop"); i(); let qt = $e(ee.statement, ie, ca, t.liftToBlock), Ln = s(), mr = []; (Vt(ee) || Hn(ee)) && (Ze.conditionVariable = t.createUniqueName("inc"), ee.incrementor ? mr.push(t.createIfStatement(Ze.conditionVariable, t.createExpressionStatement(L.checkDefined($e(ee.incrementor, ie, ot))), t.createExpressionStatement(t.createAssignment(Ze.conditionVariable, t.createTrue())))) : mr.push(t.createIfStatement(t.createLogicalNot(Ze.conditionVariable), t.createExpressionStatement(t.createAssignment(Ze.conditionVariable, t.createTrue())))), Vt(ee) && mr.push(t.createIfStatement(t.createPrefixUnaryExpression(53, L.checkDefined($e(ee.condition, ie, ot))), L.checkDefined($e(t.createBreakStatement(), ie, ca))))), L.assert(qt), Va(qt) ? si(mr, qt.statements) : mr.push(qt), Ps(Ze.loopOutParameters, 1, 1, mr), em(mr, Ln); let Vr = t.createBlock(mr, !0); Va(qt) && Ir(Vr, qt); let gi = (ee.statement.transformFlags & 1048576) !== 0, Ea = 1048576; Ze.containsLexicalThis && (Ea |= 16), gi && x & 4 && (Ea |= 524288); let bo = t.createVariableStatement(void 0, Jn(t.createVariableDeclarationList([t.createVariableDeclaration(xt, void 0, void 0, Jn(t.createFunctionExpression(void 0, gi ? t.createToken(41) : void 0, void 0, void 0, Ze.loopParameters, void 0, Vr), Ea))]), 4194304)), Qo = xc(xt, Ze, At, gi); return { functionName: xt, containsYield: gi, functionDeclaration: bo, part: Qo } } function kc(ee, Ze) { let At = Ze === 0 ? ee.outParamName : ee.originalName, xt = Ze === 0 ? ee.originalName : ee.outParamName; return t.createBinaryExpression(xt, 63, At) } function Ps(ee, Ze, At, xt) { for (let qt of ee) qt.flags & Ze && xt.push(t.createExpressionStatement(kc(qt, At))) } function mc(ee, Ze) { let At = t.createCallExpression(ee, void 0, []), xt = Ze ? t.createYieldExpression(t.createToken(41), Jn(At, 16777216)) : At; return t.createExpressionStatement(xt) } function xc(ee, Ze, At, xt) { let qt = [], Ln = !(Ze.nonLocalJumps & -5) && !Ze.labeledNonLocalBreaks && !Ze.labeledNonLocalContinues, mr = t.createCallExpression(ee, void 0, on(Ze.loopParameters, gi => gi.name)), Vr = xt ? t.createYieldExpression(t.createToken(41), Jn(mr, 16777216)) : mr; if (Ln) qt.push(t.createExpressionStatement(Vr)), Ps(Ze.loopOutParameters, 1, 0, qt); else { let gi = t.createUniqueName("state"), Ea = t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(gi, void 0, void 0, Vr)])); if (qt.push(Ea), Ps(Ze.loopOutParameters, 1, 0, qt), Ze.nonLocalJumps & 8) { let bo; At ? (At.nonLocalJumps |= 8, bo = t.createReturnStatement(gi)) : bo = t.createReturnStatement(t.createPropertyAccessExpression(gi, "value")), qt.push(t.createIfStatement(t.createTypeCheck(gi, "object"), bo)) } if (Ze.nonLocalJumps & 2 && qt.push(t.createIfStatement(t.createStrictEquality(gi, t.createStringLiteral("break")), t.createBreakStatement())), Ze.labeledNonLocalBreaks || Ze.labeledNonLocalContinues) { let bo = []; ro(Ze.labeledNonLocalBreaks, !0, gi, At, bo), ro(Ze.labeledNonLocalContinues, !1, gi, At, bo), qt.push(t.createSwitchStatement(gi, t.createCaseBlock(bo))) } } return qt } function hc(ee, Ze, At, xt) { Ze ? (ee.labeledNonLocalBreaks || (ee.labeledNonLocalBreaks = new Map), ee.labeledNonLocalBreaks.set(At, xt)) : (ee.labeledNonLocalContinues || (ee.labeledNonLocalContinues = new Map), ee.labeledNonLocalContinues.set(At, xt)) } function ro(ee, Ze, At, xt, qt) { ee && ee.forEach((Ln, mr) => { let Vr = []; if (!xt || xt.labels && xt.labels.get(mr)) { let gi = t.createIdentifier(mr); Vr.push(Ze ? t.createBreakStatement(gi) : t.createContinueStatement(gi)) } else hc(xt, Ze, mr, Ln), Vr.push(t.createReturnStatement(At)); qt.push(t.createCaseClause(t.createStringLiteral(Ln), Vr)) }) } function aa(ee, Ze, At, xt, qt) { let Ln = Ze.name; if (La(Ln)) for (let mr of Ln.elements) ol(mr) || aa(ee, mr, At, xt, qt); else { At.push(t.createParameterDeclaration(void 0, void 0, Ln)); let mr = d.getNodeCheckFlags(Ze); if (mr & 262144 || qt) { let Vr = t.createUniqueName("out_" + vr(Ln)), gi = 0; mr & 262144 && (gi |= 1), FT(ee) && (ee.initializer && d.isBindingCapturedByNode(ee.initializer, Ze) && (gi |= 2), (ee.condition && d.isBindingCapturedByNode(ee.condition, Ze) || ee.incrementor && d.isBindingCapturedByNode(ee.incrementor, Ze)) && (gi |= 1)), xt.push({ flags: gi, originalName: Ln, outParamName: Vr }) } } } function Co(ee, Ze, At, xt) { let qt = Ze.properties, Ln = qt.length; for (let mr = xt; mr < Ln; mr++) { let Vr = qt[mr]; switch (Vr.kind) { case 174: case 175: let gi = kT(Ze.properties, Vr); Vr === gi.firstAccessor && ee.push(hi(At, gi, Ze, !!Ze.multiLine)); break; case 171: ee.push(md(Vr, At, Ze, Ze.multiLine)); break; case 299: ee.push(gc(Vr, At, Ze.multiLine)); break; case 300: ee.push(Ll(Vr, At, Ze.multiLine)); break; default: L.failBadSyntaxKind(Ze); break } } } function gc(ee, Ze, At) { let xt = t.createAssignment(VT(t, Ze, L.checkDefined($e(ee.name, ie, Ys))), L.checkDefined($e(ee.initializer, ie, ot))); return it(xt, ee), At && mu(xt), xt } function Ll(ee, Ze, At) { let xt = t.createAssignment(VT(t, Ze, L.checkDefined($e(ee.name, ie, Ys))), t.cloneNode(ee.name)); return it(xt, ee), At && mu(xt), xt } function md(ee, Ze, At, xt) { let qt = t.createAssignment(VT(t, Ze, L.checkDefined($e(ee.name, ie, Ys))), En(ee, ee, void 0, At)); return it(qt, ee), xt && mu(qt), qt } function Pc(ee) { let Ze = B(7104, 0), At; if (L.assert(!!ee.variableDeclaration, "Catch clause variable should always be present when downleveling ES2015."), La(ee.variableDeclaration.name)) { let xt = t.createTempVariable(void 0), qt = t.createVariableDeclaration(xt); it(qt, ee.variableDeclaration); let Ln = eE(ee.variableDeclaration, ie, e, 0, xt), mr = t.createVariableDeclarationList(Ln); it(mr, ee.variableDeclaration); let Vr = t.createVariableStatement(void 0, mr); At = t.updateCatchClause(ee, qt, bl(ee.block, Vr)) } else At = xn(ee, ie, e); return q(Ze, 0, 0), At } function bl(ee, Ze) { let At = On(ee.statements, ie, ca); return t.updateBlock(ee, [Ze, ...At]) } function ss(ee) { L.assert(!ts(ee.name)); let Ze = En(ee, fb(ee, -1), void 0, void 0); return Jn(Ze, 1024 | Ya(Ze)), it(t.createPropertyAssignment(ee.name, Ze), ee) } function qs(ee) { L.assert(!ts(ee.name)); let Ze = C; C = void 0; let At = B(32670, 65), xt, qt = Sc(ee.parameters, ie, e), Ln = dr(ee); return ee.kind === 174 ? xt = t.updateGetAccessorDeclaration(ee, ee.modifiers, ee.name, qt, ee.type, Ln) : xt = t.updateSetAccessorDeclaration(ee, ee.modifiers, ee.name, qt, Ln), q(At, 98304, 0), C = Ze, xt } function Rs(ee) { return it(t.createPropertyAssignment(ee.name, ke(t.cloneNode(ee.name))), ee) } function As(ee) { return xn(ee, ie, e) } function jt(ee) { return xn(ee, ie, e) } function yc(ee) { return vt(ee.elements, Km) ? K(ee.elements, !1, !!ee.multiLine, !!ee.elements.hasTrailingComma) : xn(ee, ie, e) } function Ql(ee) { if (o_(ee) & 1) return yu(ee); let Ze = ql(ee.expression); return Ze.kind === 106 || Pu(Ze) || vt(ee.arguments, Km) ? ht(ee, !0) : t.updateCallExpression(ee, L.checkDefined($e(ee.expression, Z, ot)), void 0, On(ee.arguments, ie, ot)) } function yu(ee) { let Ze = Ga(Ga(ql(ee.expression), xs).body, Va), At = Md => Bc(Md) && !!Vo(Md.declarationList.declarations).initializer, xt = C; C = void 0; let qt = On(Ze.statements, fe, ca); C = xt; let Ln = Pr(qt, At), mr = Pr(qt, Md => !At(Md)), gi = Ga(Vo(Ln), Bc).declarationList.declarations[0], Ea = ql(gi.initializer), bo = zr(Ea, Iu); !bo && ar(Ea) && Ea.operatorToken.kind === 27 && (bo = zr(Ea.left, Iu)); let Qo = Ga(bo ? ql(bo.right) : Ea, Pa), Cs = Ga(ql(Qo.expression), ms), Bu = Cs.body.statements, Pd = 0, Dc = -1, gd = []; if (bo) { let Md = zr(Bu[Pd], Ol); Md && (gd.push(Md), Pd++), gd.push(Bu[Pd]), Pd++, gd.push(t.createExpressionStatement(t.createAssignment(bo.left, Ga(gi.name, Re)))) } for (; !j_(Ig(Bu, Dc));)Dc--; si(gd, Bu, Pd, Dc), Dc < -1 && si(gd, Bu, Dc + 1); let Zl = zr(Ig(Bu, Dc), j_); for (let Md of mr) j_(Md) && Zl?.expression && !Re(Zl.expression) ? gd.push(Zl) : gd.push(Md); return si(gd, Ln, 1), t.restoreOuterExpressions(ee.expression, t.restoreOuterExpressions(gi.initializer, t.restoreOuterExpressions(bo && bo.right, t.updateCallExpression(Qo, t.restoreOuterExpressions(Qo.expression, t.updateFunctionExpression(Cs, void 0, void 0, void 0, void 0, Cs.parameters, void 0, t.updateBlock(Cs.body, gd))), void 0, Qo.arguments)))) } function se(ee) { return ht(ee, !1) } function ht(ee, Ze) { if (ee.transformFlags & 32768 || ee.expression.kind === 106 || Pu(ql(ee.expression))) { let { target: At, thisArg: xt } = t.createCallBinding(ee.expression, l); ee.expression.kind === 106 && Jn(xt, 8); let qt; if (ee.transformFlags & 32768 ? qt = t.createFunctionApplyCall(L.checkDefined($e(At, Z, ot)), ee.expression.kind === 106 ? xt : L.checkDefined($e(xt, ie, ot)), K(ee.arguments, !0, !1, !1)) : qt = it(t.createFunctionCallCall(L.checkDefined($e(At, Z, ot)), ee.expression.kind === 106 ? xt : L.checkDefined($e(xt, ie, ot)), On(ee.arguments, ie, ot)), ee), ee.expression.kind === 106) { let Ln = t.createLogicalOr(qt, zt()); qt = Ze ? t.createAssignment(t.createUniqueName("_this", 48), Ln) : Ln } return Ir(qt, ee) } return xn(ee, ie, e) } function wt(ee) { if (vt(ee.arguments, Km)) { let { target: Ze, thisArg: At } = t.createCallBinding(t.createPropertyAccessExpression(ee.expression, "bind"), l); return t.createNewExpression(t.createFunctionApplyCall(L.checkDefined($e(Ze, ie, ot)), At, K(t.createNodeArray([t.createVoidZero(), ...ee.arguments]), !0, !1, !1)), void 0, []) } return xn(ee, ie, e) } function K(ee, Ze, At, xt) { let qt = ee.length, Ln = t_(c8(ee, Xe, (Ea, bo, Qo, Cs) => bo(Ea, At, xt && Cs === qt))); if (Ln.length === 1) { let Ea = Ln[0]; if (Ze && !f.downlevelIteration || UW(Ea.expression) || pL(Ea.expression, "___spreadArray")) return Ea.expression } let mr = r(), Vr = Ln[0].kind !== 0, gi = Vr ? t.createArrayLiteralExpression() : Ln[0].expression; for (let Ea = Vr ? 0 : 1; Ea < Ln.length; Ea++) { let bo = Ln[Ea]; gi = mr.createSpreadArrayHelper(gi, bo.expression, bo.kind === 1 && !Ze) } return gi } function Xe(ee) { return Km(ee) ? ft : pr } function ft(ee) { return on(ee, Yt) } function Yt(ee) { L.assertNode(ee, Km); let Ze = $e(ee.expression, ie, ot); L.assert(Ze); let At = pL(Ze, "___read"), xt = At || UW(Ze) ? 2 : 1; return f.downlevelIteration && xt === 1 && !fu(Ze) && !At && (Ze = r().createReadHelper(Ze, void 0), xt = 2), ppe(xt, Ze) } function pr(ee, Ze, At) { let xt = t.createArrayLiteralExpression(On(t.createNodeArray(ee, At), ie, ot), Ze); return ppe(0, xt) } function yr(ee) { return $e(ee.expression, ie, ot) } function ta(ee) { return it(t.createStringLiteral(ee.text), ee) } function Go(ee) { return ee.hasExtendedUnicodeEscape ? it(t.createStringLiteral(ee.text), ee) : ee } function Ka(ee) { return ee.numericLiteralFlags & 384 ? it(t.createNumericLiteral(ee.text), ee) : ee } function vo(ee) { return OK(e, ee, ie, v, w, 1) } function ka(ee) { let Ze = t.createStringLiteral(ee.head.text); for (let At of ee.templateSpans) { let xt = [L.checkDefined($e(At.expression, ie, ot))]; At.literal.text.length > 0 && xt.push(t.createStringLiteral(At.literal.text)), Ze = t.createCallExpression(t.createPropertyAccessExpression(Ze, "concat"), void 0, xt) } return it(Ze, ee) } function Hs(ee) { return x & 8 && !ee ? t.createPropertyAccessExpression(t.createUniqueName("_super", 48), "prototype") : t.createUniqueName("_super", 48) } function Uc(ee) { return ee.keywordToken === 103 && ee.name.escapedText === "target" ? (x |= 32768, t.createUniqueName("_newTarget", 48)) : ee } function Gu(ee, Ze, At) { if (P & 1 && Ia(Ze)) { let xt = B(32670, Ya(Ze) & 16 ? 81 : 65); m(ee, Ze, At), q(xt, 0, 0); return } m(ee, Ze, At) } function $o() { P & 2 || (P |= 2, e.enableSubstitution(79)) } function jo() { P & 1 || (P |= 1, e.enableSubstitution(108), e.enableEmitNotification(173), e.enableEmitNotification(171), e.enableEmitNotification(174), e.enableEmitNotification(175), e.enableEmitNotification(216), e.enableEmitNotification(215), e.enableEmitNotification(259)) } function Ws(ee, Ze) { return Ze = g(ee, Ze), ee === 1 ? nf(Ze) : Re(Ze) ? hd(Ze) : Ze } function hd(ee) { if (P & 2 && !eJ(ee)) { let Ze = ea(ee, Re); if (Ze && vc(Ze)) return it(t.getGeneratedNameForNode(Ze), ee) } return ee } function vc(ee) { switch (ee.parent.kind) { case 205: case 260: case 263: case 257: return ee.parent.name === ee && d.isDeclarationWithCollidingName(ee.parent) }return !1 } function nf(ee) { switch (ee.kind) { case 79: return ye(ee); case 108: return bn(ee) }return ee } function ye(ee) { if (P & 2 && !eJ(ee)) { let Ze = d.getReferencedDeclarationWithCollidingName(ee); if (Ze && !(Yr(Ze) && Et(Ze, ee))) return it(t.getGeneratedNameForNode(sa(Ze)), ee) } return ee } function Et(ee, Ze) { let At = ea(Ze); if (!At || At === ee || At.end <= ee.pos || At.pos >= ee.end) return !1; let xt = tm(ee); for (; At;) { if (At === xt || At === ee) return !1; if (_l(At) && At.parent === ee) return !0; At = At.parent } return !1 } function bn(ee) { return P & 1 && x & 16 ? it(t.createUniqueName("_this", 48), ee) : ee } function Ri(ee, Ze) { return Ca(Ze) ? t.getInternalName(ee) : t.createPropertyAccessExpression(t.getInternalName(ee), "prototype") } function io(ee, Ze) { if (!ee || !Ze || vt(ee.parameters)) return !1; let At = Sl(ee.body.statements); if (!At || !ws(At) || At.kind !== 241) return !1; let xt = At.expression; if (!ws(xt) || xt.kind !== 210) return !1; let qt = xt.expression; if (!ws(qt) || qt.kind !== 106) return !1; let Ln = Wp(xt.arguments); if (!Ln || !ws(Ln) || Ln.kind !== 227) return !1; let mr = Ln.expression; return Re(mr) && mr.escapedText === "arguments" } } var yMe = gt({ "src/compiler/transformers/es2015.ts"() { "use strict"; fa() } }); function hpe(e) { let { factory: t } = e, r = e.getCompilerOptions(), i, o; (r.jsx === 1 || r.jsx === 3) && (i = e.onEmitNode, e.onEmitNode = f, e.enableEmitNotification(283), e.enableEmitNotification(284), e.enableEmitNotification(282), o = []); let s = e.onSubstituteNode; return e.onSubstituteNode = d, e.enableSubstitution(208), e.enableSubstitution(299), y_(e, l); function l(S) { return S } function f(S, x, A) { switch (x.kind) { case 283: case 284: case 282: let w = x.tagName; o[sc(w)] = !0; break }i(S, x, A) } function d(S, x) { return x.id && o && o[x.id] ? s(S, x) : (x = s(S, x), br(x) ? g(x) : yl(x) ? m(x) : x) } function g(S) { if (pi(S.name)) return S; let x = v(S.name); return x ? it(t.createElementAccessExpression(S.expression, x), S) : S } function m(S) { let x = Re(S.name) && v(S.name); return x ? t.updatePropertyAssignment(S, x, S.initializer) : S } function v(S) { let x = nb(S); if (x !== void 0 && x >= 81 && x <= 116) return it(t.createStringLiteralFromNode(S), S) } } var vMe = gt({ "src/compiler/transformers/es5.ts"() { "use strict"; fa() } }); function bMe(e) { switch (e) { case 2: return "return"; case 3: return "break"; case 4: return "yield"; case 5: return "yield*"; case 7: return "endfinally"; default: return } } function gpe(e) { let { factory: t, getEmitHelperFactory: r, resumeLexicalEnvironment: i, endLexicalEnvironment: o, hoistFunctionDeclaration: s, hoistVariableDeclaration: l } = e, f = e.getCompilerOptions(), d = Do(f), g = e.getEmitResolver(), m = e.onSubstituteNode; e.onSubstituteNode = oe; let v, S, x, A, w, C, P, F, B, q, W = 1, Y, R, ie, $, fe = 0, Z = 0, U, re, le, _e, ge, X, Ve, we; return y_(e, ke); function ke(ye) { if (ye.isDeclarationFile || !(ye.transformFlags & 2048)) return ye; let Et = xn(ye, Pe, e); return Bg(Et, e.readEmitHelpers()), Et } function Pe(ye) { let Et = ye.transformFlags; return A ? Ce(ye) : x ? Ie(ye) : Ds(ye) && ye.asteriskToken ? Ne(ye) : Et & 2048 ? xn(ye, Pe, e) : ye } function Ce(ye) { switch (ye.kind) { case 243: return dr(ye); case 244: return Se(ye); case 252: return Kt(ye); case 253: return ir(ye); default: return Ie(ye) } } function Ie(ye) { switch (ye.kind) { case 259: return Le(ye); case 215: return Ye(ye); case 174: case 175: return _t(ye); case 240: return Rt(ye); case 245: return Tt(ye); case 246: return nt(ye); case 249: return G(ye); case 248: return Q(ye); case 250: return je(ye); default: return ye.transformFlags & 1048576 ? Be(ye) : ye.transformFlags & 4196352 ? xn(ye, Pe, e) : ye } } function Be(ye) { switch (ye.kind) { case 223: return We(ye); case 357: return tn(ye); case 224: return _n(ye); case 226: return Gt(ye); case 206: return $n(ye); case 207: return Ni(ye); case 209: return Pi(ye); case 210: return gr(ye); case 211: return pt(ye); default: return xn(ye, Pe, e) } } function Ne(ye) { switch (ye.kind) { case 259: return Le(ye); case 215: return Ye(ye); default: return L.failBadSyntaxKind(ye) } } function Le(ye) { if (ye.asteriskToken) ye = Ir(it(t.createFunctionDeclaration(ye.modifiers, void 0, ye.name, void 0, Sc(ye.parameters, Pe, e), void 0, ct(ye.body)), ye), ye); else { let Et = x, bn = A; x = !1, A = !1, ye = xn(ye, Pe, e), x = Et, A = bn } if (x) { s(ye); return } else return ye } function Ye(ye) { if (ye.asteriskToken) ye = Ir(it(t.createFunctionExpression(void 0, void 0, ye.name, void 0, Sc(ye.parameters, Pe, e), void 0, ct(ye.body)), ye), ye); else { let Et = x, bn = A; x = !1, A = !1, ye = xn(ye, Pe, e), x = Et, A = bn } return ye } function _t(ye) { let Et = x, bn = A; return x = !1, A = !1, ye = xn(ye, Pe, e), x = Et, A = bn, ye } function ct(ye) { let Et = [], bn = x, Ri = A, io = w, ee = C, Ze = P, At = F, xt = B, qt = q, Ln = W, mr = Y, Vr = R, gi = ie, Ea = $; x = !0, A = !1, w = void 0, C = void 0, P = void 0, F = void 0, B = void 0, q = void 0, W = 1, Y = void 0, R = void 0, ie = void 0, $ = t.createTempVariable(void 0), i(); let bo = t.copyPrologue(ye.statements, Et, !1, Pe); nn(ye.statements, bo); let Qo = K(); return em(Et, o()), Et.push(t.createReturnStatement(Qo)), x = bn, A = Ri, w = io, C = ee, P = Ze, F = At, B = xt, q = qt, W = Ln, Y = mr, R = Vr, ie = gi, $ = Ea, it(t.createBlock(Et, ye.multiLine), ye) } function Rt(ye) { if (ye.transformFlags & 1048576) { ri(ye.declarationList); return } else { if (Ya(ye) & 2097152) return ye; for (let bn of ye.declarationList.declarations) l(bn.name); let Et = qI(ye.declarationList); return Et.length === 0 ? void 0 : Ho(t.createExpressionStatement(t.inlineExpressions(on(Et, vn))), ye) } } function We(ye) { let Et = WH(ye); switch (Et) { case 0: return zt(ye); case 1: return qe(ye); default: return L.assertNever(Et) } } function qe(ye) { let { left: Et, right: bn } = ye; if (Ot(bn)) { let Ri; switch (Et.kind) { case 208: Ri = t.updatePropertyAccessExpression(Et, Te(L.checkDefined($e(Et.expression, Pe, Ju))), Et.name); break; case 209: Ri = t.updateElementAccessExpression(Et, Te(L.checkDefined($e(Et.expression, Pe, Ju))), Te(L.checkDefined($e(Et.argumentExpression, Pe, ot)))); break; default: Ri = L.checkDefined($e(Et, Pe, ot)); break }let io = ye.operatorToken.kind; return oN(io) ? it(t.createAssignment(Ri, it(t.createBinaryExpression(Te(Ri), WL(io), L.checkDefined($e(bn, Pe, ot))), ye)), ye) : t.updateBinaryExpression(ye, Ri, ye.operatorToken, L.checkDefined($e(bn, Pe, ot))) } return xn(ye, Pe, e) } function zt(ye) { return Ot(ye.right) ? Yce(ye.operatorToken.kind) ? kn(ye) : ye.operatorToken.kind === 27 ? Qt(ye) : t.updateBinaryExpression(ye, Te(L.checkDefined($e(ye.left, Pe, ot))), ye.operatorToken, L.checkDefined($e(ye.right, Pe, ot))) : xn(ye, Pe, e) } function Qt(ye) { let Et = []; return bn(ye.left), bn(ye.right), t.inlineExpressions(Et); function bn(Ri) { ar(Ri) && Ri.operatorToken.kind === 27 ? (bn(Ri.left), bn(Ri.right)) : (Ot(Ri) && Et.length > 0 && (wt(1, [t.createExpressionStatement(t.inlineExpressions(Et))]), Et = []), Et.push(L.checkDefined($e(Ri, Pe, ot)))) } } function tn(ye) { let Et = []; for (let bn of ye.elements) ar(bn) && bn.operatorToken.kind === 27 ? Et.push(Qt(bn)) : (Ot(bn) && Et.length > 0 && (wt(1, [t.createExpressionStatement(t.inlineExpressions(Et))]), Et = []), Et.push(L.checkDefined($e(bn, Pe, ot)))); return t.inlineExpressions(Et) } function kn(ye) { let Et = yt(), bn = j(); return qs(bn, L.checkDefined($e(ye.left, Pe, ot)), ye.left), ye.operatorToken.kind === 55 ? jt(Et, bn, ye.left) : As(Et, bn, ye.left), qs(bn, L.checkDefined($e(ye.right, Pe, ot)), ye.right), lt(Et), bn } function _n(ye) { if (Ot(ye.whenTrue) || Ot(ye.whenFalse)) { let Et = yt(), bn = yt(), Ri = j(); return jt(Et, L.checkDefined($e(ye.condition, Pe, ot)), ye.condition), qs(Ri, L.checkDefined($e(ye.whenTrue, Pe, ot)), ye.whenTrue), Rs(bn), lt(Et), qs(Ri, L.checkDefined($e(ye.whenFalse, Pe, ot)), ye.whenFalse), lt(bn), Ri } return xn(ye, Pe, e) } function Gt(ye) { let Et = yt(), bn = $e(ye.expression, Pe, ot); if (ye.asteriskToken) { let Ri = Ya(ye.expression) & 16777216 ? bn : it(r().createValuesHelper(bn), ye); yc(Ri, ye) } else Ql(bn, ye); return lt(Et), Pc(ye) } function $n(ye) { return ui(ye.elements, void 0, void 0, ye.multiLine) } function ui(ye, Et, bn, Ri) { let io = Ke(ye), ee; if (io > 0) { ee = j(); let xt = On(ye, Pe, ot, 0, io); qs(ee, t.createArrayLiteralExpression(Et ? [Et, ...xt] : xt)), Et = void 0 } let Ze = ou(ye, At, [], io); return ee ? t.createArrayConcatCall(ee, [t.createArrayLiteralExpression(Ze, Ri)]) : it(t.createArrayLiteralExpression(Et ? [Et, ...Ze] : Ze, Ri), bn); function At(xt, qt) { if (Ot(qt) && xt.length > 0) { let Ln = ee !== void 0; ee || (ee = j()), qs(ee, Ln ? t.createArrayConcatCall(ee, [t.createArrayLiteralExpression(xt, Ri)]) : t.createArrayLiteralExpression(Et ? [Et, ...xt] : xt, Ri)), Et = void 0, xt = [] } return xt.push(L.checkDefined($e(qt, Pe, ot))), xt } } function Ni(ye) { let Et = ye.properties, bn = ye.multiLine, Ri = Ke(Et), io = j(); qs(io, t.createObjectLiteralExpression(On(Et, Pe, Og, 0, Ri), bn)); let ee = ou(Et, Ze, [], Ri); return ee.push(bn ? mu(go(it(t.cloneNode(io), io), io.parent)) : io), t.inlineExpressions(ee); function Ze(At, xt) { Ot(xt) && At.length > 0 && (ss(t.createExpressionStatement(t.inlineExpressions(At))), At = []); let qt = ede(t, ye, xt, io), Ln = $e(qt, Pe, ot); return Ln && (bn && mu(Ln), At.push(Ln)), At } } function Pi(ye) { return Ot(ye.argumentExpression) ? t.updateElementAccessExpression(ye, Te(L.checkDefined($e(ye.expression, Pe, Ju))), L.checkDefined($e(ye.argumentExpression, Pe, ot))) : xn(ye, Pe, e) } function gr(ye) { if (!Dd(ye) && mn(ye.arguments, Ot)) { let { target: Et, thisArg: bn } = t.createCallBinding(ye.expression, l, d, !0); return Ir(it(t.createFunctionApplyCall(Te(L.checkDefined($e(Et, Pe, Ju))), bn, ui(ye.arguments)), ye), ye) } return xn(ye, Pe, e) } function pt(ye) { if (mn(ye.arguments, Ot)) { let { target: Et, thisArg: bn } = t.createCallBinding(t.createPropertyAccessExpression(ye.expression, "bind"), l); return Ir(it(t.createNewExpression(t.createFunctionApplyCall(Te(L.checkDefined($e(Et, Pe, ot))), bn, ui(ye.arguments, t.createVoidZero())), void 0, []), ye), ye) } return xn(ye, Pe, e) } function nn(ye, Et = 0) { let bn = ye.length; for (let Ri = Et; Ri < bn; Ri++)pn(ye[Ri]) } function Dt(ye) { Va(ye) ? nn(ye.statements) : pn(ye) } function pn(ye) { let Et = A; A || (A = Ot(ye)), An(ye), A = Et } function An(ye) { switch (ye.kind) { case 238: return Kn(ye); case 241: return hi(ye); case 242: return Ht(ye); case 243: return En(ye); case 244: return Cr(ye); case 245: return at(ye); case 246: return ve(ye); case 248: return ce(ye); case 249: return ue(ye); case 250: return Oe(ye); case 251: return Ge(ye); case 252: return kt(ye); case 253: return ln(ye); case 254: return ae(ye); case 255: return rt(ye); default: return ss($e(ye, Pe, ca)) } } function Kn(ye) { Ot(ye) ? nn(ye.statements) : ss($e(ye, Pe, ca)) } function hi(ye) { ss($e(ye, Pe, ca)) } function ri(ye) { for (let ee of ye.declarations) { let Ze = t.cloneNode(ee.name); hl(Ze, ee.name), l(Ze) } let Et = qI(ye), bn = Et.length, Ri = 0, io = []; for (; Ri < bn;) { for (let ee = Ri; ee < bn; ee++) { let Ze = Et[ee]; if (Ot(Ze.initializer) && io.length > 0) break; io.push(vn(Ze)) } io.length && (ss(t.createExpressionStatement(t.inlineExpressions(io))), Ri += io.length, io = []) } } function vn(ye) { return Ho(t.createAssignment(Ho(t.cloneNode(ye.name), ye.name), L.checkDefined($e(ye.initializer, Pe, ot))), ye) } function Ht(ye) { if (Ot(ye)) if (Ot(ye.thenStatement) || Ot(ye.elseStatement)) { let Et = yt(), bn = ye.elseStatement ? yt() : void 0; jt(ye.elseStatement ? bn : Et, L.checkDefined($e(ye.expression, Pe, ot)), ye.expression), Dt(ye.thenStatement), ye.elseStatement && (Rs(Et), lt(bn), Dt(ye.elseStatement)), lt(Et) } else ss($e(ye, Pe, ca)); else ss($e(ye, Pe, ca)) } function En(ye) { if (Ot(ye)) { let Et = yt(), bn = yt(); xi(Et), lt(bn), Dt(ye.statement), lt(Et), As(bn, L.checkDefined($e(ye.expression, Pe, ot))), Nr() } else ss($e(ye, Pe, ca)) } function dr(ye) { return A ? (Hi(), ye = xn(ye, Pe, e), Nr(), ye) : xn(ye, Pe, e) } function Cr(ye) { if (Ot(ye)) { let Et = yt(), bn = xi(Et); lt(Et), jt(bn, L.checkDefined($e(ye.expression, Pe, ot))), Dt(ye.statement), Rs(Et), Nr() } else ss($e(ye, Pe, ca)) } function Se(ye) { return A ? (Hi(), ye = xn(ye, Pe, e), Nr(), ye) : xn(ye, Pe, e) } function at(ye) { if (Ot(ye)) { let Et = yt(), bn = yt(), Ri = xi(bn); if (ye.initializer) { let io = ye.initializer; pu(io) ? ri(io) : ss(it(t.createExpressionStatement(L.checkDefined($e(io, Pe, ot))), io)) } lt(Et), ye.condition && jt(Ri, L.checkDefined($e(ye.condition, Pe, ot))), Dt(ye.statement), lt(bn), ye.incrementor && ss(it(t.createExpressionStatement(L.checkDefined($e(ye.incrementor, Pe, ot))), ye.incrementor)), Rs(Et), Nr() } else ss($e(ye, Pe, ca)) } function Tt(ye) { A && Hi(); let Et = ye.initializer; if (Et && pu(Et)) { for (let Ri of Et.declarations) l(Ri.name); let bn = qI(Et); ye = t.updateForStatement(ye, bn.length > 0 ? t.inlineExpressions(on(bn, vn)) : void 0, $e(ye.condition, Pe, ot), $e(ye.incrementor, Pe, ot), jf(ye.statement, Pe, e)) } else ye = xn(ye, Pe, e); return A && Nr(), ye } function ve(ye) { if (Ot(ye)) { let Et = j(), bn = j(), Ri = j(), io = t.createLoopVariable(), ee = ye.initializer; l(io), qs(Et, L.checkDefined($e(ye.expression, Pe, ot))), qs(bn, t.createArrayLiteralExpression()), ss(t.createForInStatement(Ri, Et, t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(bn, "push"), void 0, [Ri])))), qs(io, t.createNumericLiteral(0)); let Ze = yt(), At = yt(), xt = xi(At); lt(Ze), jt(xt, t.createLessThan(io, t.createPropertyAccessExpression(bn, "length"))), qs(Ri, t.createElementAccessExpression(bn, io)), jt(At, t.createBinaryExpression(Ri, 101, Et)); let qt; if (pu(ee)) { for (let Ln of ee.declarations) l(Ln.name); qt = t.cloneNode(ee.declarations[0].name) } else qt = L.checkDefined($e(ee, Pe, ot)), L.assert(Ju(qt)); qs(qt, Ri), Dt(ye.statement), lt(At), ss(t.createExpressionStatement(t.createPostfixIncrement(io))), Rs(Ze), Nr() } else ss($e(ye, Pe, ca)) } function nt(ye) { A && Hi(); let Et = ye.initializer; if (pu(Et)) { for (let bn of Et.declarations) l(bn.name); ye = t.updateForInStatement(ye, Et.declarations[0].name, L.checkDefined($e(ye.expression, Pe, ot)), L.checkDefined($e(ye.statement, Pe, ca, t.liftToBlock))) } else ye = xn(ye, Pe, e); return A && Nr(), ye } function ce(ye) { let Et = aa(ye.label ? vr(ye.label) : void 0); Et > 0 ? Rs(Et, ye) : ss(ye) } function Q(ye) { if (A) { let Et = aa(ye.label && vr(ye.label)); if (Et > 0) return Ll(Et, ye) } return xn(ye, Pe, e) } function ue(ye) { let Et = ro(ye.label ? vr(ye.label) : void 0); Et > 0 ? Rs(Et, ye) : ss(ye) } function G(ye) { if (A) { let Et = ro(ye.label && vr(ye.label)); if (Et > 0) return Ll(Et, ye) } return xn(ye, Pe, e) } function Oe(ye) { yu($e(ye.expression, Pe, ot), ye) } function je(ye) { return md($e(ye.expression, Pe, ot), ye) } function Ge(ye) { Ot(ye) ? (ei(Te(L.checkDefined($e(ye.expression, Pe, ot)))), Dt(ye.statement), Kr()) : ss($e(ye, Pe, ca)) } function kt(ye) { if (Ot(ye.caseBlock)) { let Et = ye.caseBlock, bn = Et.clauses.length, Ri = Qr(), io = Te(L.checkDefined($e(ye.expression, Pe, ot))), ee = [], Ze = -1; for (let qt = 0; qt < bn; qt++) { let Ln = Et.clauses[qt]; ee.push(yt()), Ln.kind === 293 && Ze === -1 && (Ze = qt) } let At = 0, xt = []; for (; At < bn;) { let qt = 0; for (let Ln = At; Ln < bn; Ln++) { let mr = Et.clauses[Ln]; if (mr.kind === 292) { if (Ot(mr.expression) && xt.length > 0) break; xt.push(t.createCaseClause(L.checkDefined($e(mr.expression, Pe, ot)), [Ll(ee[Ln], mr.expression)])) } else qt++ } xt.length && (ss(t.createSwitchStatement(io, t.createCaseBlock(xt))), At += xt.length, xt = []), qt > 0 && (At += qt, qt = 0) } Ze >= 0 ? Rs(ee[Ze]) : Rs(Ri); for (let qt = 0; qt < bn; qt++)lt(ee[qt]), nn(Et.clauses[qt].statements); Wi() } else ss($e(ye, Pe, ca)) } function Kt(ye) { return A && Fo(), ye = xn(ye, Pe, e), A && Wi(), ye } function ln(ye) { Ot(ye) ? (Ki(vr(ye.label)), Dt(ye.statement), kc()) : ss($e(ye, Pe, ca)) } function ir(ye) { return A && gn(vr(ye.label)), ye = xn(ye, Pe, e), A && kc(), ye } function ae(ye) { var Et; se(L.checkDefined($e((Et = ye.expression) != null ? Et : t.createVoidZero(), Pe, ot)), ye) } function rt(ye) { Ot(ye) ? (Si(), Dt(ye.tryBlock), ye.catchClause && (Ja(ye.catchClause.variableDeclaration), Dt(ye.catchClause.block)), ye.finallyBlock && (Za(), Dt(ye.finallyBlock)), Fa()) : ss(xn(ye, Pe, e)) } function Ot(ye) { return !!ye && (ye.transformFlags & 1048576) !== 0 } function Ke(ye) { let Et = ye.length; for (let bn = 0; bn < Et; bn++)if (Ot(ye[bn])) return bn; return -1 } function oe(ye, Et) { return Et = m(ye, Et), ye === 1 ? pe(Et) : Et } function pe(ye) { return Re(ye) ? z(ye) : ye } function z(ye) { if (!tc(ye) && v && v.has(vr(ye))) { let Et = ec(ye); if (Re(Et) && Et.parent) { let bn = g.getReferencedValueDeclaration(Et); if (bn) { let Ri = S[sc(bn)]; if (Ri) { let io = go(it(t.cloneNode(Ri), Ri), Ri.parent); return Ho(io, ye), hl(io, ye), io } } } } return ye } function Te(ye) { if (tc(ye) || Ya(ye) & 8192) return ye; let Et = t.createTempVariable(l); return qs(Et, ye, ye), Et } function j(ye) { let Et = ye ? t.createUniqueName(ye) : t.createTempVariable(void 0); return l(Et), Et } function yt() { B || (B = []); let ye = W; return W++, B[ye] = -1, ye } function lt(ye) { L.assert(B !== void 0, "No labels were defined."), B[ye] = Y ? Y.length : 0 } function Qe(ye) { w || (w = [], P = [], C = [], F = []); let Et = P.length; return P[Et] = 0, C[Et] = Y ? Y.length : 0, w[Et] = ye, F.push(ye), Et } function Vt() { let ye = Hn(); if (ye === void 0) return L.fail("beginBlock was never called."); let Et = P.length; return P[Et] = 1, C[Et] = Y ? Y.length : 0, w[Et] = ye, F.pop(), ye } function Hn() { return Os(F) } function jr() { let ye = Hn(); return ye && ye.kind } function ei(ye) { let Et = yt(), bn = yt(); lt(Et), Qe({ kind: 1, expression: ye, startLabel: Et, endLabel: bn }) } function Kr() { L.assert(jr() === 1); let ye = Vt(); lt(ye.endLabel) } function Si() { let ye = yt(), Et = yt(); return lt(ye), Qe({ kind: 0, state: 0, startLabel: ye, endLabel: Et }), bl(), Et } function Ja(ye) { L.assert(jr() === 0); let Et; if (tc(ye.name)) Et = ye.name, l(ye.name); else { let ee = vr(ye.name); Et = j(ee), v || (v = new Map, S = [], e.enableSubstitution(79)), v.set(ee, !0), S[sc(ye)] = Et } let bn = Hn(); L.assert(bn.state < 1); let Ri = bn.endLabel; Rs(Ri); let io = yt(); lt(io), bn.state = 1, bn.catchVariable = Et, bn.catchLabel = io, qs(Et, t.createCallExpression(t.createPropertyAccessExpression($, "sent"), void 0, [])), bl() } function Za() { L.assert(jr() === 0); let ye = Hn(); L.assert(ye.state < 2); let Et = ye.endLabel; Rs(Et); let bn = yt(); lt(bn), ye.state = 2, ye.finallyLabel = bn } function Fa() { L.assert(jr() === 0); let ye = Vt(); ye.state < 2 ? Rs(ye.endLabel) : ht(), lt(ye.endLabel), bl(), ye.state = 3 } function Hi() { Qe({ kind: 3, isScript: !0, breakLabel: -1, continueLabel: -1 }) } function xi(ye) { let Et = yt(); return Qe({ kind: 3, isScript: !1, breakLabel: Et, continueLabel: ye }), Et } function Nr() { L.assert(jr() === 3); let ye = Vt(), Et = ye.breakLabel; ye.isScript || lt(Et) } function Fo() { Qe({ kind: 2, isScript: !0, breakLabel: -1 }) } function Qr() { let ye = yt(); return Qe({ kind: 2, isScript: !1, breakLabel: ye }), ye } function Wi() { L.assert(jr() === 2); let ye = Vt(), Et = ye.breakLabel; ye.isScript || lt(Et) } function gn(ye) { Qe({ kind: 4, isScript: !0, labelText: ye, breakLabel: -1 }) } function Ki(ye) { let Et = yt(); Qe({ kind: 4, isScript: !1, labelText: ye, breakLabel: Et }) } function kc() { L.assert(jr() === 4); let ye = Vt(); ye.isScript || lt(ye.breakLabel) } function Ps(ye) { return ye.kind === 2 || ye.kind === 3 } function mc(ye) { return ye.kind === 4 } function xc(ye) { return ye.kind === 3 } function hc(ye, Et) { for (let bn = Et; bn >= 0; bn--) { let Ri = F[bn]; if (mc(Ri)) { if (Ri.labelText === ye) return !0 } else break } return !1 } function ro(ye) { if (F) if (ye) for (let Et = F.length - 1; Et >= 0; Et--) { let bn = F[Et]; if (mc(bn) && bn.labelText === ye) return bn.breakLabel; if (Ps(bn) && hc(ye, Et - 1)) return bn.breakLabel } else for (let Et = F.length - 1; Et >= 0; Et--) { let bn = F[Et]; if (Ps(bn)) return bn.breakLabel } return 0 } function aa(ye) { if (F) if (ye) for (let Et = F.length - 1; Et >= 0; Et--) { let bn = F[Et]; if (xc(bn) && hc(ye, Et - 1)) return bn.continueLabel } else for (let Et = F.length - 1; Et >= 0; Et--) { let bn = F[Et]; if (xc(bn)) return bn.continueLabel } return 0 } function Co(ye) { if (ye !== void 0 && ye > 0) { q === void 0 && (q = []); let Et = t.createNumericLiteral(-1); return q[ye] === void 0 ? q[ye] = [Et] : q[ye].push(Et), Et } return t.createOmittedExpression() } function gc(ye) { let Et = t.createNumericLiteral(ye); return R4(Et, 3, bMe(ye)), Et } function Ll(ye, Et) { return L.assertLessThan(0, ye, "Invalid label"), it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3), Co(ye)])), Et) } function md(ye, Et) { return it(t.createReturnStatement(t.createArrayLiteralExpression(ye ? [gc(2), ye] : [gc(2)])), Et) } function Pc(ye) { return it(t.createCallExpression(t.createPropertyAccessExpression($, "sent"), void 0, []), ye) } function bl() { wt(0) } function ss(ye) { ye ? wt(1, [ye]) : bl() } function qs(ye, Et, bn) { wt(2, [ye, Et], bn) } function Rs(ye, Et) { wt(3, [ye], Et) } function As(ye, Et, bn) { wt(4, [ye, Et], bn) } function jt(ye, Et, bn) { wt(5, [ye, Et], bn) } function yc(ye, Et) { wt(7, [ye], Et) } function Ql(ye, Et) { wt(6, [ye], Et) } function yu(ye, Et) { wt(8, [ye], Et) } function se(ye, Et) { wt(9, [ye], Et) } function ht() { wt(10) } function wt(ye, Et, bn) { Y === void 0 && (Y = [], R = [], ie = []), B === void 0 && lt(yt()); let Ri = Y.length; Y[Ri] = ye, R[Ri] = Et, ie[Ri] = bn } function K() { fe = 0, Z = 0, U = void 0, re = !1, le = !1, _e = void 0, ge = void 0, X = void 0, Ve = void 0, we = void 0; let ye = Xe(); return r().createGeneratorHelper(Jn(t.createFunctionExpression(void 0, void 0, void 0, void 0, [t.createParameterDeclaration(void 0, void 0, $)], void 0, t.createBlock(ye, ye.length > 0)), 1048576)) } function Xe() { if (Y) { for (let ye = 0; ye < Y.length; ye++)vo(ye); Yt(Y.length) } else Yt(0); if (_e) { let ye = t.createPropertyAccessExpression($, "label"), Et = t.createSwitchStatement(ye, t.createCaseBlock(_e)); return [mu(Et)] } return ge || [] } function ft() { ge && (yr(!re), re = !1, le = !1, Z++) } function Yt(ye) { pr(ye) && (ta(ye), we = void 0, Gu(void 0, void 0)), ge && _e && yr(!1), Go() } function pr(ye) { if (!le) return !0; if (!B || !q) return !1; for (let Et = 0; Et < B.length; Et++)if (B[Et] === ye && q[Et]) return !0; return !1 } function yr(ye) { if (_e || (_e = []), ge) { if (we) for (let Et = we.length - 1; Et >= 0; Et--) { let bn = we[Et]; ge = [t.createWithStatement(bn.expression, t.createBlock(ge))] } if (Ve) { let { startLabel: Et, catchLabel: bn, finallyLabel: Ri, endLabel: io } = Ve; ge.unshift(t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createPropertyAccessExpression($, "trys"), "push"), void 0, [t.createArrayLiteralExpression([Co(Et), Co(bn), Co(Ri), Co(io)])]))), Ve = void 0 } ye && ge.push(t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression($, "label"), t.createNumericLiteral(Z + 1)))) } _e.push(t.createCaseClause(t.createNumericLiteral(Z), ge || [])), ge = void 0 } function ta(ye) { if (B) for (let Et = 0; Et < B.length; Et++)B[Et] === ye && (ft(), U === void 0 && (U = []), U[Z] === void 0 ? U[Z] = [Et] : U[Z].push(Et)) } function Go() { if (q !== void 0 && U !== void 0) for (let ye = 0; ye < U.length; ye++) { let Et = U[ye]; if (Et !== void 0) for (let bn of Et) { let Ri = q[bn]; if (Ri !== void 0) for (let io of Ri) io.text = String(ye) } } } function Ka(ye) { if (w) for (; fe < P.length && C[fe] <= ye; fe++) { let Et = w[fe], bn = P[fe]; switch (Et.kind) { case 0: bn === 0 ? (X || (X = []), ge || (ge = []), X.push(Ve), Ve = Et) : bn === 1 && (Ve = X.pop()); break; case 1: bn === 0 ? (we || (we = []), we.push(Et)) : bn === 1 && we.pop(); break } } } function vo(ye) { if (ta(ye), Ka(ye), re) return; re = !1, le = !1; let Et = Y[ye]; if (Et === 0) return; if (Et === 10) return nf(); let bn = R[ye]; if (Et === 1) return ka(bn[0]); let Ri = ie[ye]; switch (Et) { case 2: return Hs(bn[0], bn[1], Ri); case 3: return $o(bn[0], Ri); case 4: return jo(bn[0], bn[1], Ri); case 5: return Ws(bn[0], bn[1], Ri); case 6: return hd(bn[0], Ri); case 7: return vc(bn[0], Ri); case 8: return Gu(bn[0], Ri); case 9: return Uc(bn[0], Ri) } } function ka(ye) { ye && (ge ? ge.push(ye) : ge = [ye]) } function Hs(ye, Et, bn) { ka(it(t.createExpressionStatement(t.createAssignment(ye, Et)), bn)) } function Uc(ye, Et) { re = !0, le = !0, ka(it(t.createThrowStatement(ye), Et)) } function Gu(ye, Et) { re = !0, le = !0, ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression(ye ? [gc(2), ye] : [gc(2)])), Et), 768)) } function $o(ye, Et) { re = !0, ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3), Co(ye)])), Et), 768)) } function jo(ye, Et, bn) { ka(Jn(t.createIfStatement(Et, Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3), Co(ye)])), bn), 768)), 1)) } function Ws(ye, Et, bn) { ka(Jn(t.createIfStatement(t.createLogicalNot(Et), Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3), Co(ye)])), bn), 768)), 1)) } function hd(ye, Et) { re = !0, ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression(ye ? [gc(4), ye] : [gc(4)])), Et), 768)) } function vc(ye, Et) { re = !0, ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(5), ye])), Et), 768)) } function nf() { re = !0, ka(t.createReturnStatement(t.createArrayLiteralExpression([gc(7)]))) } } var EMe = gt({ "src/compiler/transformers/generators.ts"() { "use strict"; fa() } }); function FK(e) { function t(Q) { switch (Q) { case 2: return R; case 3: return ie; default: return Y } } let { factory: r, getEmitHelperFactory: i, startLexicalEnvironment: o, endLexicalEnvironment: s, hoistVariableDeclaration: l } = e, f = e.getCompilerOptions(), d = e.getEmitResolver(), g = e.getEmitHost(), m = Do(f), v = Rl(f), S = e.onSubstituteNode, x = e.onEmitNode; e.onSubstituteNode = dr, e.onEmitNode = En, e.enableSubstitution(210), e.enableSubstitution(212), e.enableSubstitution(79), e.enableSubstitution(223), e.enableSubstitution(300), e.enableEmitNotification(308); let A = [], w = [], C, P, F = [], B; return y_(e, q); function q(Q) { if (Q.isDeclarationFile || !(aS(Q, f) || Q.transformFlags & 8388608 || Mf(Q) && l4(f) && Ss(f))) return Q; C = Q, P = xK(e, Q, d, f), A[sc(Q)] = P; let G = t(v)(Q); return C = void 0, P = void 0, B = !1, G } function W() { return !!(!P.exportEquals && Lc(C)) } function Y(Q) { o(); let ue = [], G = Uf(f, "alwaysStrict") || !f.noImplicitUseStrict && Lc(C), Oe = r.copyPrologue(Q.statements, ue, G && !Mf(Q), re); if (W() && Sn(ue, hi()), Fn(P.exportedNames)) for (let kt = 0; kt < P.exportedNames.length; kt += 50)Sn(ue, r.createExpressionStatement(ou(P.exportedNames.slice(kt, kt + 50), (Kt, ln) => r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("exports"), r.createIdentifier(vr(ln))), Kt), r.createVoidZero()))); Sn(ue, $e(P.externalHelpersImportDeclaration, re, ca)), si(ue, On(Q.statements, re, ca, Oe)), U(ue, !1), em(ue, s()); let je = r.updateSourceFile(Q, it(r.createNodeArray(ue), Q.statements)); return Bg(je, e.readEmitHelpers()), je } function R(Q) { let ue = r.createIdentifier("define"), G = xO(r, Q, g, f), Oe = Mf(Q) && Q, { aliasedModuleNames: je, unaliasedModuleNames: Ge, importAliasNames: kt } = $(Q, !0), Kt = r.updateSourceFile(Q, it(r.createNodeArray([r.createExpressionStatement(r.createCallExpression(ue, void 0, [...G ? [G] : [], r.createArrayLiteralExpression(Oe ? Je : [r.createStringLiteral("require"), r.createStringLiteral("exports"), ...je, ...Ge]), Oe ? Oe.statements.length ? Oe.statements[0].expression : r.createObjectLiteralExpression() : r.createFunctionExpression(void 0, void 0, void 0, void 0, [r.createParameterDeclaration(void 0, void 0, "require"), r.createParameterDeclaration(void 0, void 0, "exports"), ...kt], void 0, Z(Q))]))]), Q.statements)); return Bg(Kt, e.readEmitHelpers()), Kt } function ie(Q) { let { aliasedModuleNames: ue, unaliasedModuleNames: G, importAliasNames: Oe } = $(Q, !1), je = xO(r, Q, g, f), Ge = r.createFunctionExpression(void 0, void 0, void 0, void 0, [r.createParameterDeclaration(void 0, void 0, "factory")], void 0, it(r.createBlock([r.createIfStatement(r.createLogicalAnd(r.createTypeCheck(r.createIdentifier("module"), "object"), r.createTypeCheck(r.createPropertyAccessExpression(r.createIdentifier("module"), "exports"), "object")), r.createBlock([r.createVariableStatement(void 0, [r.createVariableDeclaration("v", void 0, void 0, r.createCallExpression(r.createIdentifier("factory"), void 0, [r.createIdentifier("require"), r.createIdentifier("exports")]))]), Jn(r.createIfStatement(r.createStrictInequality(r.createIdentifier("v"), r.createIdentifier("undefined")), r.createExpressionStatement(r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("module"), "exports"), r.createIdentifier("v")))), 1)]), r.createIfStatement(r.createLogicalAnd(r.createTypeCheck(r.createIdentifier("define"), "function"), r.createPropertyAccessExpression(r.createIdentifier("define"), "amd")), r.createBlock([r.createExpressionStatement(r.createCallExpression(r.createIdentifier("define"), void 0, [...je ? [je] : [], r.createArrayLiteralExpression([r.createStringLiteral("require"), r.createStringLiteral("exports"), ...ue, ...G]), r.createIdentifier("factory")]))])))], !0), void 0)), kt = r.updateSourceFile(Q, it(r.createNodeArray([r.createExpressionStatement(r.createCallExpression(Ge, void 0, [r.createFunctionExpression(void 0, void 0, void 0, void 0, [r.createParameterDeclaration(void 0, void 0, "require"), r.createParameterDeclaration(void 0, void 0, "exports"), ...Oe], void 0, Z(Q))]))]), Q.statements)); return Bg(kt, e.readEmitHelpers()), kt } function $(Q, ue) { let G = [], Oe = [], je = []; for (let Ge of Q.amdDependencies) Ge.name ? (G.push(r.createStringLiteral(Ge.path)), je.push(r.createParameterDeclaration(void 0, void 0, Ge.name))) : Oe.push(r.createStringLiteral(Ge.path)); for (let Ge of P.externalImports) { let kt = jS(r, Ge, C, g, d, f), Kt = C2(r, Ge, C); kt && (ue && Kt ? (Jn(Kt, 8), G.push(kt), je.push(r.createParameterDeclaration(void 0, void 0, Kt))) : Oe.push(kt)) } return { aliasedModuleNames: G, unaliasedModuleNames: Oe, importAliasNames: je } } function fe(Q) { if (Nl(Q) || Il(Q) || !jS(r, Q, C, g, d, f)) return; let ue = C2(r, Q, C), G = ct(Q, ue); if (G !== ue) return r.createExpressionStatement(r.createAssignment(ue, G)) } function Z(Q) { o(); let ue = [], G = r.copyPrologue(Q.statements, ue, !f.noImplicitUseStrict, re); W() && Sn(ue, hi()), Fn(P.exportedNames) && Sn(ue, r.createExpressionStatement(ou(P.exportedNames, (je, Ge) => r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("exports"), r.createIdentifier(vr(Ge))), je), r.createVoidZero()))), Sn(ue, $e(P.externalHelpersImportDeclaration, re, ca)), v === 2 && si(ue, Zi(P.externalImports, fe)), si(ue, On(Q.statements, re, ca, G)), U(ue, !0), em(ue, s()); let Oe = r.createBlock(ue, !0); return B && xS(Oe, ype), Oe } function U(Q, ue) { if (P.exportEquals) { let G = $e(P.exportEquals.expression, _e, ot); if (G) if (ue) { let Oe = r.createReturnStatement(G); it(Oe, P.exportEquals), Jn(Oe, 3840), Q.push(Oe) } else { let Oe = r.createExpressionStatement(r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("module"), "exports"), G)); it(Oe, P.exportEquals), Jn(Oe, 3072), Q.push(Oe) } } } function re(Q) { switch (Q.kind) { case 269: return Rt(Q); case 268: return qe(Q); case 275: return zt(Q); case 274: return Qt(Q); case 240: return _n(Q); case 259: return tn(Q); case 260: return kn(Q); case 358: return ui(Q); case 359: return Pi(Q); default: return _e(Q) } } function le(Q, ue) { if (!(Q.transformFlags & 276828160)) return Q; switch (Q.kind) { case 245: return we(Q); case 241: return ke(Q); case 214: return Pe(Q, ue); case 356: return Ce(Q, ue); case 210: if (Dd(Q) && C.impliedNodeFormat === void 0) return Be(Q); break; case 223: if (Fg(Q)) return Ve(Q, ue); break; case 221: case 222: return Ie(Q, ue) }return xn(Q, _e, e) } function _e(Q) { return le(Q, !1) } function ge(Q) { return le(Q, !0) } function X(Q) { if (rs(Q)) for (let ue of Q.properties) switch (ue.kind) { case 299: if (X(ue.initializer)) return !0; break; case 300: if (X(ue.name)) return !0; break; case 301: if (X(ue.expression)) return !0; break; case 171: case 174: case 175: return !1; default: L.assertNever(ue, "Unhandled object member kind") } else if (fu(Q)) { for (let ue of Q.elements) if (Km(ue)) { if (X(ue.expression)) return !0 } else if (X(ue)) return !0 } else if (Re(Q)) return Fn(ce(Q)) > (E3(Q) ? 1 : 0); return !1 } function Ve(Q, ue) { return X(Q.left) ? KT(Q, _e, e, 0, !ue, Gt) : xn(Q, _e, e) } function we(Q) { return r.updateForStatement(Q, $e(Q.initializer, ge, pp), $e(Q.condition, _e, ot), $e(Q.incrementor, ge, ot), jf(Q.statement, _e, e)) } function ke(Q) { return r.updateExpressionStatement(Q, $e(Q.expression, ge, ot)) } function Pe(Q, ue) { return r.updateParenthesizedExpression(Q, $e(Q.expression, ue ? ge : _e, ot)) } function Ce(Q, ue) { return r.updatePartiallyEmittedExpression(Q, $e(Q.expression, ue ? ge : _e, ot)) } function Ie(Q, ue) { if ((Q.operator === 45 || Q.operator === 46) && Re(Q.operand) && !tc(Q.operand) && !rv(Q.operand) && !wR(Q.operand)) { let G = ce(Q.operand); if (G) { let Oe, je = $e(Q.operand, _e, ot); tv(Q) ? je = r.updatePrefixUnaryExpression(Q, je) : (je = r.updatePostfixUnaryExpression(Q, je), ue || (Oe = r.createTempVariable(l), je = r.createAssignment(Oe, je), it(je, Q)), je = r.createComma(je, r.cloneNode(Q.operand)), it(je, Q)); for (let Ge of G) F[zo(je)] = !0, je = vn(Ge, je), it(je, Q); return Oe && (F[zo(je)] = !0, je = r.createComma(je, Oe), it(je, Q)), je } } return xn(Q, _e, e) } function Be(Q) { if (v === 0 && m >= 7) return xn(Q, _e, e); let ue = jS(r, Q, C, g, d, f), G = $e(Sl(Q.arguments), _e, ot), Oe = ue && (!G || !yo(G) || G.text !== ue.text) ? ue : G, je = !!(Q.transformFlags & 16384); switch (f.module) { case 2: return Le(Oe, je); case 3: return Ne(Oe ?? r.createVoidZero(), je); case 1: default: return Ye(Oe) } } function Ne(Q, ue) { if (B = !0, Z0(Q)) { let G = tc(Q) ? Q : yo(Q) ? r.createStringLiteralFromNode(Q) : Jn(it(r.cloneNode(Q), Q), 3072); return r.createConditionalExpression(r.createIdentifier("__syncRequire"), void 0, Ye(Q), void 0, Le(G, ue)) } else { let G = r.createTempVariable(l); return r.createComma(r.createAssignment(G, Q), r.createConditionalExpression(r.createIdentifier("__syncRequire"), void 0, Ye(G, !0), void 0, Le(G, ue))) } } function Le(Q, ue) { let G = r.createUniqueName("resolve"), Oe = r.createUniqueName("reject"), je = [r.createParameterDeclaration(void 0, void 0, G), r.createParameterDeclaration(void 0, void 0, Oe)], Ge = r.createBlock([r.createExpressionStatement(r.createCallExpression(r.createIdentifier("require"), void 0, [r.createArrayLiteralExpression([Q || r.createOmittedExpression()]), G, Oe]))]), kt; m >= 2 ? kt = r.createArrowFunction(void 0, void 0, je, void 0, void 0, Ge) : (kt = r.createFunctionExpression(void 0, void 0, void 0, void 0, je, void 0, Ge), ue && Jn(kt, 16)); let Kt = r.createNewExpression(r.createIdentifier("Promise"), void 0, [kt]); return f_(f) ? r.createCallExpression(r.createPropertyAccessExpression(Kt, r.createIdentifier("then")), void 0, [i().createImportStarCallbackHelper()]) : Kt } function Ye(Q, ue) { let G = Q && !Ap(Q) && !ue, Oe = r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier("Promise"), "resolve"), void 0, G ? m >= 2 ? [r.createTemplateExpression(r.createTemplateHead(""), [r.createTemplateSpan(Q, r.createTemplateTail(""))])] : [r.createCallExpression(r.createPropertyAccessExpression(r.createStringLiteral(""), "concat"), void 0, [Q])] : []), je = r.createCallExpression(r.createIdentifier("require"), void 0, G ? [r.createIdentifier("s")] : Q ? [Q] : []); f_(f) && (je = i().createImportStarHelper(je)); let Ge = G ? [r.createParameterDeclaration(void 0, void 0, "s")] : [], kt; return m >= 2 ? kt = r.createArrowFunction(void 0, void 0, Ge, void 0, void 0, je) : kt = r.createFunctionExpression(void 0, void 0, void 0, void 0, Ge, void 0, r.createBlock([r.createReturnStatement(je)])), r.createCallExpression(r.createPropertyAccessExpression(Oe, "then"), void 0, [kt]) } function _t(Q, ue) { return !f_(f) || o_(Q) & 2 ? ue : z_e(Q) ? i().createImportStarHelper(ue) : ue } function ct(Q, ue) { return !f_(f) || o_(Q) & 2 ? ue : vF(Q) ? i().createImportStarHelper(ue) : SK(Q) ? i().createImportDefaultHelper(ue) : ue } function Rt(Q) { let ue, G = VA(Q); if (v !== 2) if (Q.importClause) { let Oe = []; G && !lS(Q) ? Oe.push(r.createVariableDeclaration(r.cloneNode(G.name), void 0, void 0, ct(Q, We(Q)))) : (Oe.push(r.createVariableDeclaration(r.getGeneratedNameForNode(Q), void 0, void 0, ct(Q, We(Q)))), G && lS(Q) && Oe.push(r.createVariableDeclaration(r.cloneNode(G.name), void 0, void 0, r.getGeneratedNameForNode(Q)))), ue = Sn(ue, Ir(it(r.createVariableStatement(void 0, r.createVariableDeclarationList(Oe, m >= 2 ? 2 : 0)), Q), Q)) } else return Ir(it(r.createExpressionStatement(We(Q)), Q), Q); else G && lS(Q) && (ue = Sn(ue, r.createVariableStatement(void 0, r.createVariableDeclarationList([Ir(it(r.createVariableDeclaration(r.cloneNode(G.name), void 0, void 0, r.getGeneratedNameForNode(Q)), Q), Q)], m >= 2 ? 2 : 0)))); if (Ni(Q)) { let Oe = sc(Q); w[Oe] = gr(w[Oe], Q) } else ue = gr(ue, Q); return zp(ue) } function We(Q) { let ue = jS(r, Q, C, g, d, f), G = []; return ue && G.push(ue), r.createCallExpression(r.createIdentifier("require"), void 0, G) } function qe(Q) { L.assert(ab(Q), "import= for internal module references should be handled in an earlier transformer."); let ue; if (v !== 2 ? Mr(Q, 1) ? ue = Sn(ue, Ir(it(r.createExpressionStatement(vn(Q.name, We(Q))), Q), Q)) : ue = Sn(ue, Ir(it(r.createVariableStatement(void 0, r.createVariableDeclarationList([r.createVariableDeclaration(r.cloneNode(Q.name), void 0, void 0, We(Q))], m >= 2 ? 2 : 0)), Q), Q)) : Mr(Q, 1) && (ue = Sn(ue, Ir(it(r.createExpressionStatement(vn(r.getExportName(Q), r.getLocalName(Q))), Q), Q))), Ni(Q)) { let G = sc(Q); w[G] = pt(w[G], Q) } else ue = pt(ue, Q); return zp(ue) } function zt(Q) { if (!Q.moduleSpecifier) return; let ue = r.getGeneratedNameForNode(Q); if (Q.exportClause && h_(Q.exportClause)) { let G = []; v !== 2 && G.push(Ir(it(r.createVariableStatement(void 0, r.createVariableDeclarationList([r.createVariableDeclaration(ue, void 0, void 0, We(Q))])), Q), Q)); for (let Oe of Q.exportClause.elements) if (m === 0) G.push(Ir(it(r.createExpressionStatement(i().createCreateBindingHelper(ue, r.createStringLiteralFromNode(Oe.propertyName || Oe.name), Oe.propertyName ? r.createStringLiteralFromNode(Oe.name) : void 0)), Oe), Oe)); else { let je = !!f_(f) && !(o_(Q) & 2) && vr(Oe.propertyName || Oe.name) === "default", Ge = r.createPropertyAccessExpression(je ? i().createImportDefaultHelper(ue) : ue, Oe.propertyName || Oe.name); G.push(Ir(it(r.createExpressionStatement(vn(r.getExportName(Oe), Ge, void 0, !0)), Oe), Oe)) } return zp(G) } else if (Q.exportClause) { let G = []; return G.push(Ir(it(r.createExpressionStatement(vn(r.cloneNode(Q.exportClause.name), _t(Q, v !== 2 ? We(Q) : v6(Q) ? ue : r.createIdentifier(vr(Q.exportClause.name))))), Q), Q)), zp(G) } else return Ir(it(r.createExpressionStatement(i().createExportStarHelper(v !== 2 ? We(Q) : ue)), Q), Q) } function Qt(Q) { if (Q.isExportEquals) return; let ue, G = Q.original; if (G && Ni(G)) { let Oe = sc(Q); w[Oe] = Kn(w[Oe], r.createIdentifier("default"), $e(Q.expression, _e, ot), Q, !0) } else ue = Kn(ue, r.createIdentifier("default"), $e(Q.expression, _e, ot), Q, !0); return zp(ue) } function tn(Q) { let ue; if (Mr(Q, 1) ? ue = Sn(ue, Ir(it(r.createFunctionDeclaration(On(Q.modifiers, Ht, Ha), Q.asteriskToken, r.getDeclarationName(Q, !0, !0), void 0, On(Q.parameters, _e, ha), void 0, xn(Q.body, _e, e)), Q), Q)) : ue = Sn(ue, xn(Q, _e, e)), Ni(Q)) { let G = sc(Q); w[G] = pn(w[G], Q) } else ue = pn(ue, Q); return zp(ue) } function kn(Q) { let ue; if (Mr(Q, 1) ? ue = Sn(ue, Ir(it(r.createClassDeclaration(On(Q.modifiers, Ht, Ns), r.getDeclarationName(Q, !0, !0), void 0, On(Q.heritageClauses, _e, dd), On(Q.members, _e, _l)), Q), Q)) : ue = Sn(ue, xn(Q, _e, e)), Ni(Q)) { let G = sc(Q); w[G] = pn(w[G], Q) } else ue = pn(ue, Q); return zp(ue) } function _n(Q) { let ue, G, Oe; if (Mr(Q, 1)) { let je, Ge = !1; for (let kt of Q.declarationList.declarations) if (Re(kt.name) && rv(kt.name)) if (je || (je = On(Q.modifiers, Ht, Ha)), kt.initializer) { let Kt = r.updateVariableDeclaration(kt, kt.name, void 0, void 0, vn(kt.name, $e(kt.initializer, _e, ot))); G = Sn(G, Kt) } else G = Sn(G, kt); else if (kt.initializer) if (!La(kt.name) && (xs(kt.initializer) || ms(kt.initializer) || _u(kt.initializer))) { let Kt = r.createAssignment(it(r.createPropertyAccessExpression(r.createIdentifier("exports"), kt.name), kt.name), r.createIdentifier(l_(kt.name))), ln = r.createVariableDeclaration(kt.name, kt.exclamationToken, kt.type, $e(kt.initializer, _e, ot)); G = Sn(G, ln), Oe = Sn(Oe, Kt), Ge = !0 } else Oe = Sn(Oe, $n(kt)); if (G && (ue = Sn(ue, r.updateVariableStatement(Q, je, r.updateVariableDeclarationList(Q.declarationList, G)))), Oe) { let kt = Ir(it(r.createExpressionStatement(r.inlineExpressions(Oe)), Q), Q); Ge && ZR(kt), ue = Sn(ue, kt) } } else ue = Sn(ue, xn(Q, _e, e)); if (Ni(Q)) { let je = sc(Q); w[je] = nn(w[je], Q) } else ue = nn(ue, Q); return zp(ue) } function Gt(Q, ue, G) { let Oe = ce(Q); if (Oe) { let je = E3(Q) ? ue : r.createAssignment(Q, ue); for (let Ge of Oe) Jn(je, 8), je = vn(Ge, je, G); return je } return r.createAssignment(Q, ue) } function $n(Q) { return La(Q.name) ? KT($e(Q, _e, mW), _e, e, 0, !1, Gt) : r.createAssignment(it(r.createPropertyAccessExpression(r.createIdentifier("exports"), Q.name), Q.name), Q.initializer ? $e(Q.initializer, _e, ot) : r.createVoidZero()) } function ui(Q) { if (Ni(Q) && Q.original.kind === 240) { let ue = sc(Q); w[ue] = nn(w[ue], Q.original) } return Q } function Ni(Q) { return (Ya(Q) & 8388608) !== 0 } function Pi(Q) { let ue = sc(Q), G = w[ue]; return G ? (delete w[ue], Sn(G, Q)) : Q } function gr(Q, ue) { if (P.exportEquals) return Q; let G = ue.importClause; if (!G) return Q; G.name && (Q = An(Q, G)); let Oe = G.namedBindings; if (Oe) switch (Oe.kind) { case 271: Q = An(Q, Oe); break; case 272: for (let je of Oe.elements) Q = An(Q, je, !0); break }return Q } function pt(Q, ue) { return P.exportEquals ? Q : An(Q, ue) } function nn(Q, ue) { if (P.exportEquals) return Q; for (let G of ue.declarationList.declarations) Q = Dt(Q, G); return Q } function Dt(Q, ue) { if (P.exportEquals) return Q; if (La(ue.name)) for (let G of ue.name.elements) ol(G) || (Q = Dt(Q, G)); else tc(ue.name) || (Q = An(Q, ue)); return Q } function pn(Q, ue) { if (P.exportEquals) return Q; if (Mr(ue, 1)) { let G = Mr(ue, 1024) ? r.createIdentifier("default") : r.getDeclarationName(ue); Q = Kn(Q, G, r.getLocalName(ue), ue) } return ue.name && (Q = An(Q, ue)), Q } function An(Q, ue, G) { let Oe = r.getDeclarationName(ue), je = P.exportSpecifiers.get(vr(Oe)); if (je) for (let Ge of je) Q = Kn(Q, Ge.name, Oe, Ge.name, void 0, G); return Q } function Kn(Q, ue, G, Oe, je, Ge) { return Q = Sn(Q, ri(ue, G, Oe, je, Ge)), Q } function hi() { let Q; return m === 0 ? Q = r.createExpressionStatement(vn(r.createIdentifier("__esModule"), r.createTrue())) : Q = r.createExpressionStatement(r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier("Object"), "defineProperty"), void 0, [r.createIdentifier("exports"), r.createStringLiteral("__esModule"), r.createObjectLiteralExpression([r.createPropertyAssignment("value", r.createTrue())])])), Jn(Q, 2097152), Q } function ri(Q, ue, G, Oe, je) { let Ge = it(r.createExpressionStatement(vn(Q, ue, void 0, je)), G); return mu(Ge), Oe || Jn(Ge, 3072), Ge } function vn(Q, ue, G, Oe) { return it(Oe && m !== 0 ? r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier("Object"), "defineProperty"), void 0, [r.createIdentifier("exports"), r.createStringLiteralFromNode(Q), r.createObjectLiteralExpression([r.createPropertyAssignment("enumerable", r.createTrue()), r.createPropertyAssignment("get", r.createFunctionExpression(void 0, void 0, void 0, void 0, [], void 0, r.createBlock([r.createReturnStatement(ue)])))])]) : r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("exports"), r.cloneNode(Q)), ue), G) } function Ht(Q) { switch (Q.kind) { case 93: case 88: return }return Q } function En(Q, ue, G) { ue.kind === 308 ? (C = ue, P = A[sc(C)], x(Q, ue, G), C = void 0, P = void 0) : x(Q, ue, G) } function dr(Q, ue) { return ue = S(Q, ue), ue.id && F[ue.id] ? ue : Q === 1 ? Se(ue) : xf(ue) ? Cr(ue) : ue } function Cr(Q) { let ue = Q.name, G = ve(ue); if (G !== ue) { if (Q.objectAssignmentInitializer) { let Oe = r.createAssignment(G, Q.objectAssignmentInitializer); return it(r.createPropertyAssignment(ue, Oe), Q) } return it(r.createPropertyAssignment(ue, G), Q) } return Q } function Se(Q) { switch (Q.kind) { case 79: return ve(Q); case 210: return at(Q); case 212: return Tt(Q); case 223: return nt(Q) }return Q } function at(Q) { if (Re(Q.expression)) { let ue = ve(Q.expression); if (F[zo(ue)] = !0, !Re(ue) && !(Ya(Q.expression) & 8192)) return SS(r.updateCallExpression(Q, ue, void 0, Q.arguments), 16) } return Q } function Tt(Q) { if (Re(Q.tag)) { let ue = ve(Q.tag); if (F[zo(ue)] = !0, !Re(ue) && !(Ya(Q.tag) & 8192)) return SS(r.updateTaggedTemplateExpression(Q, ue, void 0, Q.template), 16) } return Q } function ve(Q) { var ue, G; if (Ya(Q) & 8192) { let Oe = SO(C); return Oe ? r.createPropertyAccessExpression(Oe, Q) : Q } else if (!(tc(Q) && !(Q.emitNode.autoGenerate.flags & 64)) && !rv(Q)) { let Oe = d.getReferencedExportContainer(Q, E3(Q)); if (Oe && Oe.kind === 308) return it(r.createPropertyAccessExpression(r.createIdentifier("exports"), r.cloneNode(Q)), Q); let je = d.getReferencedImportDeclaration(Q); if (je) { if (lm(je)) return it(r.createPropertyAccessExpression(r.getGeneratedNameForNode(je.parent), r.createIdentifier("default")), Q); if ($u(je)) { let Ge = je.propertyName || je.name; return it(r.createPropertyAccessExpression(r.getGeneratedNameForNode(((G = (ue = je.parent) == null ? void 0 : ue.parent) == null ? void 0 : G.parent) || je), r.cloneNode(Ge)), Q) } } } return Q } function nt(Q) { if (Mg(Q.operatorToken.kind) && Re(Q.left) && !tc(Q.left) && !rv(Q.left) && !wR(Q.left)) { let ue = ce(Q.left); if (ue) { let G = Q; for (let Oe of ue) F[zo(G)] = !0, G = vn(Oe, G, Q); return G } } return Q } function ce(Q) { if (!tc(Q)) { let ue = d.getReferencedImportDeclaration(Q) || d.getReferencedValueDeclaration(Q); if (ue) return P && P.exportedBindings[sc(ue)] } } } var ype, TMe = gt({
-                "src/compiler/transformers/module/module.ts"() {
-                    "use strict"; fa(), ype = {
-                        name: "typescript:dynamicimport-sync-require", scoped: !0, text: `
-            var __syncRequire = typeof module === "object" && typeof module.exports === "object";`}
-                }
-            }); function vpe(e) { let { factory: t, startLexicalEnvironment: r, endLexicalEnvironment: i, hoistVariableDeclaration: o } = e, s = e.getCompilerOptions(), l = e.getEmitResolver(), f = e.getEmitHost(), d = e.onSubstituteNode, g = e.onEmitNode; e.onSubstituteNode = je, e.onEmitNode = Oe, e.enableSubstitution(79), e.enableSubstitution(300), e.enableSubstitution(223), e.enableSubstitution(233), e.enableEmitNotification(308); let m = [], v = [], S = [], x = [], A = [], w, C, P, F, B, q, W; return y_(e, Y); function Y(oe) { if (oe.isDeclarationFile || !(aS(oe, s) || oe.transformFlags & 8388608)) return oe; let pe = sc(oe); w = oe, q = oe, C = m[pe] = xK(e, oe, l, s), P = t.createUniqueName("exports"), S[pe] = P, F = A[pe] = t.createUniqueName("context"); let z = R(C.externalImports), Te = ie(oe, z), j = t.createFunctionExpression(void 0, void 0, void 0, void 0, [t.createParameterDeclaration(void 0, void 0, P), t.createParameterDeclaration(void 0, void 0, F)], void 0, Te), yt = xO(t, oe, f, s), lt = t.createArrayLiteralExpression(on(z, Vt => Vt.name)), Qe = Jn(t.updateSourceFile(oe, it(t.createNodeArray([t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("System"), "register"), void 0, yt ? [yt, lt, j] : [lt, j]))]), oe.statements)), 2048); return Ss(s) || gue(Qe, Te, Vt => !Vt.scoped), W && (x[pe] = W, W = void 0), w = void 0, C = void 0, P = void 0, F = void 0, B = void 0, q = void 0, Qe } function R(oe) { let pe = new Map, z = []; for (let Te of oe) { let j = jS(t, Te, w, f, l, s); if (j) { let yt = j.text, lt = pe.get(yt); lt !== void 0 ? z[lt].externalImports.push(Te) : (pe.set(yt, z.length), z.push({ name: j, externalImports: [Te] })) } } return z } function ie(oe, pe) { let z = []; r(); let Te = Uf(s, "alwaysStrict") || !s.noImplicitUseStrict && Lc(w), j = t.copyPrologue(oe.statements, z, Te, U); z.push(t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration("__moduleName", void 0, void 0, t.createLogicalAnd(F, t.createPropertyAccessExpression(F, "id")))]))), $e(C.externalHelpersImportDeclaration, U, ca); let yt = On(oe.statements, U, ca, j); si(z, B), em(z, i()); let lt = $(z), Qe = oe.transformFlags & 2097152 ? t.createModifiersFromModifierFlags(512) : void 0, Vt = t.createObjectLiteralExpression([t.createPropertyAssignment("setters", Z(lt, pe)), t.createPropertyAssignment("execute", t.createFunctionExpression(Qe, void 0, void 0, void 0, [], void 0, t.createBlock(yt, !0)))], !0); return z.push(t.createReturnStatement(Vt)), t.createBlock(z, !0) } function $(oe) { if (!C.hasExportStarsToExportValues) return; if (!C.exportedNames && C.exportSpecifiers.size === 0) { let j = !1; for (let yt of C.externalImports) if (yt.kind === 275 && yt.exportClause) { j = !0; break } if (!j) { let yt = fe(void 0); return oe.push(yt), yt.name } } let pe = []; if (C.exportedNames) for (let j of C.exportedNames) j.escapedText !== "default" && pe.push(t.createPropertyAssignment(t.createStringLiteralFromNode(j), t.createTrue())); let z = t.createUniqueName("exportedNames"); oe.push(t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(z, void 0, void 0, t.createObjectLiteralExpression(pe, !0))]))); let Te = fe(z); return oe.push(Te), Te.name } function fe(oe) { let pe = t.createUniqueName("exportStar"), z = t.createIdentifier("m"), Te = t.createIdentifier("n"), j = t.createIdentifier("exports"), yt = t.createStrictInequality(Te, t.createStringLiteral("default")); return oe && (yt = t.createLogicalAnd(yt, t.createLogicalNot(t.createCallExpression(t.createPropertyAccessExpression(oe, "hasOwnProperty"), void 0, [Te])))), t.createFunctionDeclaration(void 0, void 0, pe, void 0, [t.createParameterDeclaration(void 0, void 0, z)], void 0, t.createBlock([t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(j, void 0, void 0, t.createObjectLiteralExpression([]))])), t.createForInStatement(t.createVariableDeclarationList([t.createVariableDeclaration(Te)]), z, t.createBlock([Jn(t.createIfStatement(yt, t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(j, Te), t.createElementAccessExpression(z, Te)))), 1)])), t.createExpressionStatement(t.createCallExpression(P, void 0, [j]))], !0)) } function Z(oe, pe) { let z = []; for (let Te of pe) { let j = mn(Te.externalImports, Qe => C2(t, Qe, w)), yt = j ? t.getGeneratedNameForNode(j) : t.createUniqueName(""), lt = []; for (let Qe of Te.externalImports) { let Vt = C2(t, Qe, w); switch (Qe.kind) { case 269: if (!Qe.importClause) break; case 268: L.assert(Vt !== void 0), lt.push(t.createExpressionStatement(t.createAssignment(Vt, yt))), Mr(Qe, 1) && lt.push(t.createExpressionStatement(t.createCallExpression(P, void 0, [t.createStringLiteral(vr(Vt)), yt]))); break; case 275: if (L.assert(Vt !== void 0), Qe.exportClause) if (h_(Qe.exportClause)) { let Hn = []; for (let jr of Qe.exportClause.elements) Hn.push(t.createPropertyAssignment(t.createStringLiteral(vr(jr.name)), t.createElementAccessExpression(yt, t.createStringLiteral(vr(jr.propertyName || jr.name))))); lt.push(t.createExpressionStatement(t.createCallExpression(P, void 0, [t.createObjectLiteralExpression(Hn, !0)]))) } else lt.push(t.createExpressionStatement(t.createCallExpression(P, void 0, [t.createStringLiteral(vr(Qe.exportClause.name)), yt]))); else lt.push(t.createExpressionStatement(t.createCallExpression(oe, void 0, [yt]))); break } } z.push(t.createFunctionExpression(void 0, void 0, void 0, void 0, [t.createParameterDeclaration(void 0, void 0, yt)], void 0, t.createBlock(lt, !0))) } return t.createArrayLiteralExpression(z, !0) } function U(oe) { switch (oe.kind) { case 269: return re(oe); case 268: return _e(oe); case 275: return le(oe); case 274: return ge(oe); default: return Gt(oe) } } function re(oe) { let pe; if (oe.importClause && o(C2(t, oe, w)), Ye(oe)) { let z = sc(oe); v[z] = ct(v[z], oe) } else pe = ct(pe, oe); return zp(pe) } function le(oe) { L.assertIsDefined(oe) } function _e(oe) { L.assert(ab(oe), "import= for internal module references should be handled in an earlier transformer."); let pe; if (o(C2(t, oe, w)), Ye(oe)) { let z = sc(oe); v[z] = Rt(v[z], oe) } else pe = Rt(pe, oe); return zp(pe) } function ge(oe) { if (oe.isExportEquals) return; let pe = $e(oe.expression, Cr, ot), z = oe.original; if (z && Ye(z)) { let Te = sc(oe); v[Te] = tn(v[Te], t.createIdentifier("default"), pe, !0) } else return kn(t.createIdentifier("default"), pe, !0) } function X(oe) { if (Mr(oe, 1) ? B = Sn(B, t.updateFunctionDeclaration(oe, On(oe.modifiers, G, Ns), oe.asteriskToken, t.getDeclarationName(oe, !0, !0), void 0, On(oe.parameters, Cr, ha), void 0, $e(oe.body, Cr, Va))) : B = Sn(B, xn(oe, Cr, e)), Ye(oe)) { let pe = sc(oe); v[pe] = zt(v[pe], oe) } else B = zt(B, oe) } function Ve(oe) { let pe, z = t.getLocalName(oe); if (o(z), pe = Sn(pe, it(t.createExpressionStatement(t.createAssignment(z, it(t.createClassExpression(On(oe.modifiers, G, Ns), oe.name, void 0, On(oe.heritageClauses, Cr, dd), On(oe.members, Cr, _l)), oe))), oe)), Ye(oe)) { let Te = sc(oe); v[Te] = zt(v[Te], oe) } else pe = zt(pe, oe); return zp(pe) } function we(oe) { if (!Pe(oe.declarationList)) return $e(oe, Cr, ca); let pe, z = Mr(oe, 1), Te = Ye(oe); for (let yt of oe.declarationList.declarations) yt.initializer ? pe = Sn(pe, Ce(yt, z && !Te)) : ke(yt); let j; if (pe && (j = Sn(j, it(t.createExpressionStatement(t.inlineExpressions(pe)), oe))), Te) { let yt = sc(oe); v[yt] = We(v[yt], oe, z) } else j = We(j, oe, !1); return zp(j) } function ke(oe) { if (La(oe.name)) for (let pe of oe.name.elements) ol(pe) || ke(pe); else o(t.cloneNode(oe.name)) } function Pe(oe) { return (Ya(oe) & 4194304) === 0 && (q.kind === 308 || (ec(oe).flags & 3) === 0) } function Ce(oe, pe) { let z = pe ? Ie : Be; return La(oe.name) ? KT(oe, Cr, e, 0, !1, z) : oe.initializer ? z(oe.name, $e(oe.initializer, Cr, ot)) : oe.name } function Ie(oe, pe, z) { return Ne(oe, pe, z, !0) } function Be(oe, pe, z) { return Ne(oe, pe, z, !1) } function Ne(oe, pe, z, Te) { return o(t.cloneNode(oe)), Te ? _n(oe, Ot(it(t.createAssignment(oe, pe), z))) : Ot(it(t.createAssignment(oe, pe), z)) } function Le(oe) { if (Ye(oe) && oe.original.kind === 240) { let pe = sc(oe), z = Mr(oe.original, 1); v[pe] = We(v[pe], oe.original, z) } return oe } function Ye(oe) { return (Ya(oe) & 8388608) !== 0 } function _t(oe) { let pe = sc(oe), z = v[pe]; if (z) return delete v[pe], Sn(z, oe); { let Te = ec(oe); if (Ow(Te)) return Sn(Qt(z, Te), oe) } return oe } function ct(oe, pe) { if (C.exportEquals) return oe; let z = pe.importClause; if (!z) return oe; z.name && (oe = Qt(oe, z)); let Te = z.namedBindings; if (Te) switch (Te.kind) { case 271: oe = Qt(oe, Te); break; case 272: for (let j of Te.elements) oe = Qt(oe, j); break }return oe } function Rt(oe, pe) { return C.exportEquals ? oe : Qt(oe, pe) } function We(oe, pe, z) { if (C.exportEquals) return oe; for (let Te of pe.declarationList.declarations) (Te.initializer || z) && (oe = qe(oe, Te, z)); return oe } function qe(oe, pe, z) { if (C.exportEquals) return oe; if (La(pe.name)) for (let Te of pe.name.elements) ol(Te) || (oe = qe(oe, Te, z)); else if (!tc(pe.name)) { let Te; z && (oe = tn(oe, pe.name, t.getLocalName(pe)), Te = vr(pe.name)), oe = Qt(oe, pe, Te) } return oe } function zt(oe, pe) { if (C.exportEquals) return oe; let z; if (Mr(pe, 1)) { let Te = Mr(pe, 1024) ? t.createStringLiteral("default") : pe.name; oe = tn(oe, Te, t.getLocalName(pe)), z = l_(Te) } return pe.name && (oe = Qt(oe, pe, z)), oe } function Qt(oe, pe, z) { if (C.exportEquals) return oe; let Te = t.getDeclarationName(pe), j = C.exportSpecifiers.get(vr(Te)); if (j) for (let yt of j) yt.name.escapedText !== z && (oe = tn(oe, yt.name, Te)); return oe } function tn(oe, pe, z, Te) { return oe = Sn(oe, kn(pe, z, Te)), oe } function kn(oe, pe, z) { let Te = t.createExpressionStatement(_n(oe, pe)); return mu(Te), z || Jn(Te, 3072), Te } function _n(oe, pe) { let z = Re(oe) ? t.createStringLiteralFromNode(oe) : oe; return Jn(pe, Ya(pe) | 3072), hl(t.createCallExpression(P, void 0, [z, pe]), pe) } function Gt(oe) { switch (oe.kind) { case 240: return we(oe); case 259: return X(oe); case 260: return Ve(oe); case 245: return $n(oe, !0); case 246: return ui(oe); case 247: return Ni(oe); case 243: return pt(oe); case 244: return nn(oe); case 253: return Dt(oe); case 251: return pn(oe); case 252: return An(oe); case 266: return Kn(oe); case 292: return hi(oe); case 293: return ri(oe); case 255: return vn(oe); case 295: return Ht(oe); case 238: return En(oe); case 358: return Le(oe); case 359: return _t(oe); default: return Cr(oe) } } function $n(oe, pe) { let z = q; return q = oe, oe = t.updateForStatement(oe, $e(oe.initializer, pe ? gr : Se, pp), $e(oe.condition, Cr, ot), $e(oe.incrementor, Se, ot), jf(oe.statement, pe ? Gt : Cr, e)), q = z, oe } function ui(oe) { let pe = q; return q = oe, oe = t.updateForInStatement(oe, gr(oe.initializer), $e(oe.expression, Cr, ot), jf(oe.statement, Gt, e)), q = pe, oe } function Ni(oe) { let pe = q; return q = oe, oe = t.updateForOfStatement(oe, oe.awaitModifier, gr(oe.initializer), $e(oe.expression, Cr, ot), jf(oe.statement, Gt, e)), q = pe, oe } function Pi(oe) { return pu(oe) && Pe(oe) } function gr(oe) { if (Pi(oe)) { let pe; for (let z of oe.declarations) pe = Sn(pe, Ce(z, !1)), z.initializer || ke(z); return pe ? t.inlineExpressions(pe) : t.createOmittedExpression() } else return $e(oe, Se, pp) } function pt(oe) { return t.updateDoStatement(oe, jf(oe.statement, Gt, e), $e(oe.expression, Cr, ot)) } function nn(oe) { return t.updateWhileStatement(oe, $e(oe.expression, Cr, ot), jf(oe.statement, Gt, e)) } function Dt(oe) { return t.updateLabeledStatement(oe, oe.label, L.checkDefined($e(oe.statement, Gt, ca, t.liftToBlock))) } function pn(oe) { return t.updateWithStatement(oe, $e(oe.expression, Cr, ot), L.checkDefined($e(oe.statement, Gt, ca, t.liftToBlock))) } function An(oe) { return t.updateSwitchStatement(oe, $e(oe.expression, Cr, ot), L.checkDefined($e(oe.caseBlock, Gt, hO))) } function Kn(oe) { let pe = q; return q = oe, oe = t.updateCaseBlock(oe, On(oe.clauses, Gt, Kj)), q = pe, oe } function hi(oe) { return t.updateCaseClause(oe, $e(oe.expression, Cr, ot), On(oe.statements, Gt, ca)) } function ri(oe) { return xn(oe, Gt, e) } function vn(oe) { return xn(oe, Gt, e) } function Ht(oe) { let pe = q; return q = oe, oe = t.updateCatchClause(oe, oe.variableDeclaration, L.checkDefined($e(oe.block, Gt, Va))), q = pe, oe } function En(oe) { let pe = q; return q = oe, oe = xn(oe, Gt, e), q = pe, oe } function dr(oe, pe) { if (!(oe.transformFlags & 276828160)) return oe; switch (oe.kind) { case 245: return $n(oe, !1); case 241: return at(oe); case 214: return Tt(oe, pe); case 356: return ve(oe, pe); case 223: if (Fg(oe)) return ce(oe, pe); break; case 210: if (Dd(oe)) return nt(oe); break; case 221: case 222: return ue(oe, pe) }return xn(oe, Cr, e) } function Cr(oe) { return dr(oe, !1) } function Se(oe) { return dr(oe, !0) } function at(oe) { return t.updateExpressionStatement(oe, $e(oe.expression, Se, ot)) } function Tt(oe, pe) { return t.updateParenthesizedExpression(oe, $e(oe.expression, pe ? Se : Cr, ot)) } function ve(oe, pe) { return t.updatePartiallyEmittedExpression(oe, $e(oe.expression, pe ? Se : Cr, ot)) } function nt(oe) { let pe = jS(t, oe, w, f, l, s), z = $e(Sl(oe.arguments), Cr, ot), Te = pe && (!z || !yo(z) || z.text !== pe.text) ? pe : z; return t.createCallExpression(t.createPropertyAccessExpression(F, t.createIdentifier("import")), void 0, Te ? [Te] : []) } function ce(oe, pe) { return Q(oe.left) ? KT(oe, Cr, e, 0, !pe) : xn(oe, Cr, e) } function Q(oe) { if (Iu(oe, !0)) return Q(oe.left); if (Km(oe)) return Q(oe.expression); if (rs(oe)) return vt(oe.properties, Q); if (fu(oe)) return vt(oe.elements, Q); if (xf(oe)) return Q(oe.name); if (yl(oe)) return Q(oe.initializer); if (Re(oe)) { let pe = l.getReferencedExportContainer(oe); return pe !== void 0 && pe.kind === 308 } else return !1 } function ue(oe, pe) { if ((oe.operator === 45 || oe.operator === 46) && Re(oe.operand) && !tc(oe.operand) && !rv(oe.operand) && !wR(oe.operand)) { let z = rt(oe.operand); if (z) { let Te, j = $e(oe.operand, Cr, ot); tv(oe) ? j = t.updatePrefixUnaryExpression(oe, j) : (j = t.updatePostfixUnaryExpression(oe, j), pe || (Te = t.createTempVariable(o), j = t.createAssignment(Te, j), it(j, oe)), j = t.createComma(j, t.cloneNode(oe.operand)), it(j, oe)); for (let yt of z) j = _n(yt, Ot(j)); return Te && (j = t.createComma(j, Te), it(j, oe)), j } } return xn(oe, Cr, e) } function G(oe) { switch (oe.kind) { case 93: case 88: return }return oe } function Oe(oe, pe, z) { if (pe.kind === 308) { let Te = sc(pe); w = pe, C = m[Te], P = S[Te], W = x[Te], F = A[Te], W && delete x[Te], g(oe, pe, z), w = void 0, C = void 0, P = void 0, F = void 0, W = void 0 } else g(oe, pe, z) } function je(oe, pe) { return pe = d(oe, pe), Ke(pe) ? pe : oe === 1 ? Kt(pe) : oe === 4 ? Ge(pe) : pe } function Ge(oe) { switch (oe.kind) { case 300: return kt(oe) }return oe } function kt(oe) { var pe, z; let Te = oe.name; if (!tc(Te) && !rv(Te)) { let j = l.getReferencedImportDeclaration(Te); if (j) { if (lm(j)) return it(t.createPropertyAssignment(t.cloneNode(Te), t.createPropertyAccessExpression(t.getGeneratedNameForNode(j.parent), t.createIdentifier("default"))), oe); if ($u(j)) return it(t.createPropertyAssignment(t.cloneNode(Te), t.createPropertyAccessExpression(t.getGeneratedNameForNode(((z = (pe = j.parent) == null ? void 0 : pe.parent) == null ? void 0 : z.parent) || j), t.cloneNode(j.propertyName || j.name))), oe) } } return oe } function Kt(oe) { switch (oe.kind) { case 79: return ln(oe); case 223: return ir(oe); case 233: return ae(oe) }return oe } function ln(oe) { var pe, z; if (Ya(oe) & 8192) { let Te = SO(w); return Te ? t.createPropertyAccessExpression(Te, oe) : oe } if (!tc(oe) && !rv(oe)) { let Te = l.getReferencedImportDeclaration(oe); if (Te) { if (lm(Te)) return it(t.createPropertyAccessExpression(t.getGeneratedNameForNode(Te.parent), t.createIdentifier("default")), oe); if ($u(Te)) return it(t.createPropertyAccessExpression(t.getGeneratedNameForNode(((z = (pe = Te.parent) == null ? void 0 : pe.parent) == null ? void 0 : z.parent) || Te), t.cloneNode(Te.propertyName || Te.name)), oe) } } return oe } function ir(oe) { if (Mg(oe.operatorToken.kind) && Re(oe.left) && !tc(oe.left) && !rv(oe.left) && !wR(oe.left)) { let pe = rt(oe.left); if (pe) { let z = oe; for (let Te of pe) z = _n(Te, Ot(z)); return z } } return oe } function ae(oe) { return NA(oe) ? t.createPropertyAccessExpression(F, t.createIdentifier("meta")) : oe } function rt(oe) { let pe; if (!tc(oe)) { let z = l.getReferencedImportDeclaration(oe) || l.getReferencedValueDeclaration(oe); if (z) { let Te = l.getReferencedExportContainer(oe, !1); Te && Te.kind === 308 && (pe = Sn(pe, t.getDeclarationName(z))), pe = si(pe, C && C.exportedBindings[sc(z)]) } } return pe } function Ot(oe) { return W === void 0 && (W = []), W[zo(oe)] = !0, oe } function Ke(oe) { return W && oe.id && W[oe.id] } } var SMe = gt({ "src/compiler/transformers/module/system.ts"() { "use strict"; fa() } }); function GK(e) { let { factory: t, getEmitHelperFactory: r } = e, i = e.getEmitHost(), o = e.getEmitResolver(), s = e.getCompilerOptions(), l = Do(s), f = e.onEmitNode, d = e.onSubstituteNode; e.onEmitNode = q, e.onSubstituteNode = W, e.enableEmitNotification(308), e.enableSubstitution(79); let g, m, v; return y_(e, S); function S(R) { if (R.isDeclarationFile) return R; if (Lc(R) || d_(s)) { m = R, v = void 0; let ie = x(R); return m = void 0, v && (ie = t.updateSourceFile(ie, it(t.createNodeArray(rH(ie.statements.slice(), v)), ie.statements))), !Lc(R) || vt(ie.statements, Rw) ? ie : t.updateSourceFile(ie, it(t.createNodeArray([...ie.statements, bO(t)]), ie.statements)) } return R } function x(R) { let ie = nJ(t, r(), R, s); if (ie) { let $ = [], fe = t.copyPrologue(R.statements, $); return Sn($, ie), si($, On(R.statements, A, ca, fe)), t.updateSourceFile(R, it(t.createNodeArray($), R.statements)) } else return xn(R, A, e) } function A(R) { switch (R.kind) { case 268: return Rl(s) >= 100 ? C(R) : void 0; case 274: return F(R); case 275: return B(R) }return R } function w(R) { let ie = jS(t, R, L.checkDefined(m), i, o, s), $ = []; if (ie && $.push(ie), !v) { let Z = t.createUniqueName("_createRequire", 48), U = t.createImportDeclaration(void 0, t.createImportClause(!1, void 0, t.createNamedImports([t.createImportSpecifier(!1, t.createIdentifier("createRequire"), Z)])), t.createStringLiteral("module")), re = t.createUniqueName("__require", 48), le = t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(re, void 0, void 0, t.createCallExpression(t.cloneNode(Z), void 0, [t.createPropertyAccessExpression(t.createMetaProperty(100, t.createIdentifier("meta")), t.createIdentifier("url"))]))], l >= 2 ? 2 : 0)); v = [U, le] } let fe = v[1].declarationList.declarations[0].name; return L.assertNode(fe, Re), t.createCallExpression(t.cloneNode(fe), void 0, $) } function C(R) { L.assert(ab(R), "import= for internal module references should be handled in an earlier transformer."); let ie; return ie = Sn(ie, Ir(it(t.createVariableStatement(void 0, t.createVariableDeclarationList([t.createVariableDeclaration(t.cloneNode(R.name), void 0, void 0, w(R))], l >= 2 ? 2 : 0)), R), R)), ie = P(ie, R), zp(ie) } function P(R, ie) { return Mr(ie, 1) && (R = Sn(R, t.createExportDeclaration(void 0, ie.isTypeOnly, t.createNamedExports([t.createExportSpecifier(!1, void 0, vr(ie.name))])))), R } function F(R) { return R.isExportEquals ? void 0 : R } function B(R) { if (s.module !== void 0 && s.module > 5 || !R.exportClause || !qm(R.exportClause) || !R.moduleSpecifier) return R; let ie = R.exportClause.name, $ = t.getGeneratedNameForNode(ie), fe = t.createImportDeclaration(void 0, t.createImportClause(!1, void 0, t.createNamespaceImport($)), R.moduleSpecifier, R.assertClause); Ir(fe, R.exportClause); let Z = v6(R) ? t.createExportDefault($) : t.createExportDeclaration(void 0, !1, t.createNamedExports([t.createExportSpecifier(!1, $, ie)])); return Ir(Z, R), [fe, Z] } function q(R, ie, $) { Li(ie) ? ((Lc(ie) || d_(s)) && s.importHelpers && (g = new Map), f(R, ie, $), g = void 0) : f(R, ie, $) } function W(R, ie) { return ie = d(R, ie), g && Re(ie) && Ya(ie) & 8192 ? Y(ie) : ie } function Y(R) { let ie = vr(R), $ = g.get(ie); return $ || g.set(ie, $ = t.createUniqueName(ie, 48)), $ } } var xMe = gt({ "src/compiler/transformers/module/esnextAnd2015.ts"() { "use strict"; fa() } }); function bpe(e) { let t = e.onSubstituteNode, r = e.onEmitNode, i = GK(e), o = e.onSubstituteNode, s = e.onEmitNode; e.onSubstituteNode = t, e.onEmitNode = r; let l = FK(e), f = e.onSubstituteNode, d = e.onEmitNode; e.onSubstituteNode = m, e.onEmitNode = v, e.enableSubstitution(308), e.enableEmitNotification(308); let g; return A; function m(C, P) { return Li(P) ? (g = P, t(C, P)) : g ? g.impliedNodeFormat === 99 ? o(C, P) : f(C, P) : t(C, P) } function v(C, P, F) { return Li(P) && (g = P), g ? g.impliedNodeFormat === 99 ? s(C, P, F) : d(C, P, F) : r(C, P, F) } function S(C) { return C.impliedNodeFormat === 99 ? i : l } function x(C) { if (C.isDeclarationFile) return C; g = C; let P = S(C)(C); return g = void 0, L.assert(Li(P)), P } function A(C) { return C.kind === 308 ? x(C) : w(C) } function w(C) { return e.factory.createBundle(on(C.sourceFiles, x), C.prepends) } } var AMe = gt({ "src/compiler/transformers/module/node.ts"() { "use strict"; fa() } }); function xF(e) { return wi(e) || Na(e) || $d(e) || Wo(e) || Ng(e) || zy(e) || uO(e) || _2(e) || Nc(e) || zm(e) || Jc(e) || ha(e) || _c(e) || Vg(e) || Nl(e) || Ep(e) || Ec(e) || kS(e) || br(e) || Ff(e) } function Epe(e) { if (Ng(e) || zy(e)) return t; return zm(e) || Nc(e) ? i : zg(e); function t(s) { let l = r(s); return l !== void 0 ? { diagnosticMessage: l, errorNode: e, typeName: e.name } : void 0 } function r(s) { return Ca(e) ? s.errorModuleName ? s.accessibility === 2 ? _.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1 : e.parent.kind === 260 ? s.errorModuleName ? s.accessibility === 2 ? _.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Public_property_0_of_exported_class_has_or_is_using_private_name_1 : s.errorModuleName ? _.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Property_0_of_exported_interface_has_or_is_using_private_name_1 } function i(s) { let l = o(s); return l !== void 0 ? { diagnosticMessage: l, errorNode: e, typeName: e.name } : void 0 } function o(s) { return Ca(e) ? s.errorModuleName ? s.accessibility === 2 ? _.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1 : e.parent.kind === 260 ? s.errorModuleName ? s.accessibility === 2 ? _.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Public_method_0_of_exported_class_has_or_is_using_private_name_1 : s.errorModuleName ? _.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Method_0_of_exported_interface_has_or_is_using_private_name_1 } } function zg(e) { if (wi(e) || Na(e) || $d(e) || br(e) || Wo(e) || Ec(e)) return r; return Ng(e) || zy(e) ? i : uO(e) || _2(e) || Nc(e) || zm(e) || Jc(e) || kS(e) ? o : ha(e) ? Ad(e, e.parent) && Mr(e.parent, 8) ? r : s : _c(e) ? f : Vg(e) ? d : Nl(e) ? g : Ep(e) || Ff(e) ? m : L.assertNever(e, `Attempted to set a declaration diagnostic context for unhandled node kind: ${L.formatSyntaxKind(e.kind)}`); function t(v) { if (e.kind === 257 || e.kind === 205) return v.errorModuleName ? v.accessibility === 2 ? _.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : _.Exported_variable_0_has_or_is_using_private_name_1; if (e.kind === 169 || e.kind === 208 || e.kind === 168 || e.kind === 166 && Mr(e.parent, 8)) return Ca(e) ? v.errorModuleName ? v.accessibility === 2 ? _.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1 : e.parent.kind === 260 || e.kind === 166 ? v.errorModuleName ? v.accessibility === 2 ? _.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Public_property_0_of_exported_class_has_or_is_using_private_name_1 : v.errorModuleName ? _.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Property_0_of_exported_interface_has_or_is_using_private_name_1 } function r(v) { let S = t(v); return S !== void 0 ? { diagnosticMessage: S, errorNode: e, typeName: e.name } : void 0 } function i(v) { let S; return e.kind === 175 ? Ca(e) ? S = v.errorModuleName ? _.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1 : S = v.errorModuleName ? _.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1 : Ca(e) ? S = v.errorModuleName ? v.accessibility === 2 ? _.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1 : S = v.errorModuleName ? v.accessibility === 2 ? _.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1, { diagnosticMessage: S, errorNode: e.name, typeName: e.name } } function o(v) { let S; switch (e.kind) { case 177: S = v.errorModuleName ? _.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; case 176: S = v.errorModuleName ? _.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; case 178: S = v.errorModuleName ? _.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; case 171: case 170: Ca(e) ? S = v.errorModuleName ? v.accessibility === 2 ? _.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : _.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0 : e.parent.kind === 260 ? S = v.errorModuleName ? v.accessibility === 2 ? _.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : _.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0 : S = v.errorModuleName ? _.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; break; case 259: S = v.errorModuleName ? v.accessibility === 2 ? _.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : _.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : _.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: return L.fail("This is unknown kind for signature: " + e.kind) }return { diagnosticMessage: S, errorNode: e.name || e } } function s(v) { let S = l(v); return S !== void 0 ? { diagnosticMessage: S, errorNode: e, typeName: e.name } : void 0 } function l(v) { switch (e.parent.kind) { case 173: return v.errorModuleName ? v.accessibility === 2 ? _.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; case 177: case 182: return v.errorModuleName ? _.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; case 176: return v.errorModuleName ? _.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; case 178: return v.errorModuleName ? _.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; case 171: case 170: return Ca(e.parent) ? v.errorModuleName ? v.accessibility === 2 ? _.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : e.parent.parent.kind === 260 ? v.errorModuleName ? v.accessibility === 2 ? _.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : v.errorModuleName ? _.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; case 259: case 181: return v.errorModuleName ? v.accessibility === 2 ? _.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_exported_function_has_or_is_using_private_name_1; case 175: case 174: return v.errorModuleName ? v.accessibility === 2 ? _.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : _.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 : _.Parameter_0_of_accessor_has_or_is_using_private_name_1; default: return L.fail(`Unknown parent for parameter: ${L.formatSyntaxKind(e.parent.kind)}`) } } function f() { let v; switch (e.parent.kind) { case 260: v = _.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; case 261: v = _.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; case 197: v = _.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1; break; case 182: case 177: v = _.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; case 176: v = _.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; case 171: case 170: Ca(e.parent) ? v = _.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : e.parent.parent.kind === 260 ? v = _.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : v = _.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; break; case 181: case 259: v = _.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; case 192: v = _.Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1; break; case 262: v = _.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: return L.fail("This is unknown parent for type parameter: " + e.parent.kind) }return { diagnosticMessage: v, errorNode: e, typeName: e.name } } function d() { let v; return sl(e.parent.parent) ? v = dd(e.parent) && e.parent.token === 117 ? _.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : e.parent.parent.name ? _.extends_clause_of_exported_class_0_has_or_is_using_private_name_1 : _.extends_clause_of_exported_class_has_or_is_using_private_name_0 : v = _.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1, { diagnosticMessage: v, errorNode: e, typeName: sa(e.parent.parent) } } function g() { return { diagnosticMessage: _.Import_declaration_0_is_using_private_name_1, errorNode: e, typeName: e.name } } function m(v) { return { diagnosticMessage: v.errorModuleName ? _.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2 : _.Exported_type_alias_0_has_or_is_using_private_name_1, errorNode: Ff(e) ? L.checkDefined(e.typeExpression) : e.type, typeName: Ff(e) ? sa(e) : e.name } } } var CMe = gt({ "src/compiler/transformers/declarations/diagnostics.ts"() { "use strict"; fa() } }); function Tpe(e, t, r) { let i = e.getCompilerOptions(); return lN(t, e, D, i, r ? [r] : Pr(e.getSourceFiles(), LH), [UK], !1).diagnostics } function Spe(e, t) { let r = t.text.substring(e.pos, e.end); return jl(r, "@internal") } function BK(e, t) { let r = ea(e); if (r && r.kind === 166) { let o = r.parent.parameters.indexOf(r), s = o > 0 ? r.parent.parameters[o - 1] : void 0, l = t.text, f = s ? Qi(eb(l, xo(l, s.end + 1, !1, !0)), Nm(l, e.pos)) : eb(l, xo(l, e.pos, !1, !0)); return f && f.length && Spe(To(f), t) } let i = r && bH(r, t); return !!mn(i, o => Spe(o, t)) } function UK(e) { let t = () => L.fail("Diagnostic emitted without context"), r = t, i = !0, o = !1, s = !1, l = !1, f = !1, d, g, m, v, S, x, { factory: A } = e, w = e.getEmitHost(), C = { trackSymbol: _e, reportInaccessibleThisError: ke, reportInaccessibleUniqueSymbolError: Ve, reportCyclicStructureError: we, reportPrivateInBaseOfClassExpression: ge, reportLikelyUnsafeImportRequiredError: Pe, reportTruncationError: Ce, moduleResolverHost: w, trackReferencedAmbientModule: U, trackExternalModuleSymbolOfImportTypeNode: le, reportNonlocalAugmentation: Ie, reportNonSerializableProperty: Be, reportImportTypeNodeResolutionModeOverride: Ne }, P, F, B, q, W, Y, R = e.getEmitResolver(), ie = e.getCompilerOptions(), { noResolve: $, stripInternal: fe } = ie; return Ye; function Z(G) { if (G) { g = g || new Set; for (let Oe of G) g.add(Oe) } } function U(G, Oe) { let je = R.getTypeReferenceDirectivesForSymbol(Oe, 67108863); if (Fn(je)) return Z(je); let Ge = Gn(G); q.set(sc(Ge), Ge) } function re(G) { if (G.accessibility === 0) { if (G && G.aliasesToMakeVisible) if (!m) m = G.aliasesToMakeVisible; else for (let Oe of G.aliasesToMakeVisible) Of(m, Oe) } else { let Oe = r(G); if (Oe) return Oe.typeName ? e.addDiagnostic(hr(G.errorNode || Oe.errorNode, Oe.diagnosticMessage, Qc(Oe.typeName), G.errorSymbolName, G.errorModuleName)) : e.addDiagnostic(hr(G.errorNode || Oe.errorNode, Oe.diagnosticMessage, G.errorSymbolName, G.errorModuleName)), !0 } return !1 } function le(G) { o || (x || (x = [])).push(G) } function _e(G, Oe, je) { if (G.flags & 262144) return !1; let Ge = re(R.isSymbolAccessible(G, Oe, je, !0)); return Z(R.getTypeReferenceDirectivesForSymbol(G, je)), Ge } function ge(G) { (P || F) && e.addDiagnostic(hr(P || F, _.Property_0_of_exported_class_expression_may_not_be_private_or_protected, G)) } function X() { return P ? os(P) : F && sa(F) ? os(sa(F)) : F && pc(F) ? F.isExportEquals ? "export=" : "default" : "(Missing)" } function Ve() { (P || F) && e.addDiagnostic(hr(P || F, _.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary, X(), "unique symbol")) } function we() { (P || F) && e.addDiagnostic(hr(P || F, _.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary, X())) } function ke() { (P || F) && e.addDiagnostic(hr(P || F, _.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary, X(), "this")) } function Pe(G) { (P || F) && e.addDiagnostic(hr(P || F, _.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary, X(), G)) } function Ce() { (P || F) && e.addDiagnostic(hr(P || F, _.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed)) } function Ie(G, Oe, je) { var Ge; let kt = (Ge = Oe.declarations) == null ? void 0 : Ge.find(ln => Gn(ln) === G), Kt = Pr(je.declarations, ln => Gn(ln) !== G); if (kt && Kt) for (let ln of Kt) e.addDiagnostic(Ao(hr(ln, _.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized), hr(kt, _.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file))) } function Be(G) { (P || F) && e.addDiagnostic(hr(P || F, _.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized, G)) } function Ne() { !TR() && (P || F) && e.addDiagnostic(hr(P || F, _.The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)) } function Le(G, Oe) { let je = r; r = kt => kt.errorNode && xF(kt.errorNode) ? zg(kt.errorNode)(kt) : { diagnosticMessage: kt.errorModuleName ? _.Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit : _.Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit, errorNode: kt.errorNode || G }; let Ge = R.getDeclarationStatementsForSourceFile(G, tE, C, Oe); return r = je, Ge } function Ye(G) { if (G.kind === 308 && G.isDeclarationFile) return G; if (G.kind === 309) { o = !0, q = new Map, W = new Map; let Ot = !1, Ke = A.createBundle(on(G.sourceFiles, z => { if (z.isDeclarationFile) return; if (Ot = Ot || z.hasNoDefaultLib, B = z, d = z, m = void 0, S = !1, v = new Map, r = t, l = !1, f = !1, _t(z, q), ct(z, W), kd(z) || Mf(z)) { s = !1, i = !1; let j = Cu(z) ? A.createNodeArray(Le(z, !0)) : On(z.statements, ri, ca); return A.updateSourceFile(z, [A.createModuleDeclaration([A.createModifier(136)], A.createStringLiteral(Z6(e.getEmitHost(), z)), A.createModuleBlock(it(A.createNodeArray(An(j)), z.statements)))], !0, [], [], !1, []) } i = !0; let Te = Cu(z) ? A.createNodeArray(Le(z)) : On(z.statements, ri, ca); return A.updateSourceFile(z, An(Te), !0, [], [], !1, []) }), Zi(G.prepends, z => { if (z.kind === 311) { let Te = fz(z, "dts", fe); return Ot = Ot || !!Te.hasNoDefaultLib, _t(Te, q), Z(on(Te.typeReferenceDirectives, j => [j.fileName, j.resolutionMode])), ct(Te, W), Te } return z })); Ke.syntheticFileReferences = [], Ke.syntheticTypeReferences = ir(), Ke.syntheticLibReferences = ln(), Ke.hasNoDefaultLib = Ot; let oe = ni(Al(KL(G, w, !0).declarationFilePath)), pe = rt(Ke.syntheticFileReferences, oe); return q.forEach(pe), Ke } i = !0, l = !1, f = !1, d = G, B = G, r = t, o = !1, s = !1, S = !1, m = void 0, v = new Map, g = void 0, q = _t(B, new Map), W = ct(B, new Map); let Oe = [], je = ni(Al(KL(G, w, !0).declarationFilePath)), Ge = rt(Oe, je), kt; if (Cu(B)) kt = A.createNodeArray(Le(G)), q.forEach(Ge), Y = Pr(kt, yT); else { let Ot = On(G.statements, ri, ca); kt = it(A.createNodeArray(An(Ot)), G.statements), q.forEach(Ge), Y = Pr(kt, yT), Lc(G) && (!s || l && !f) && (kt = it(A.createNodeArray([...kt, bO(A)]), kt)) } let Kt = A.updateSourceFile(G, kt, !0, Oe, ir(), G.hasNoDefaultLib, ln()); return Kt.exportedModulesFromDeclarationEmit = x, Kt; function ln() { return lo(W.keys(), Ot => ({ fileName: Ot, pos: -1, end: -1 })) } function ir() { return g ? Zi(lo(g.keys()), ae) : [] } function ae([Ot, Ke]) { if (Y) { for (let oe of Y) if (Nl(oe) && um(oe.moduleReference)) { let pe = oe.moduleReference.expression; if (es(pe) && pe.text === Ot) return } else if (gl(oe) && yo(oe.moduleSpecifier) && oe.moduleSpecifier.text === Ot) return } return { fileName: Ot, pos: -1, end: -1, ...Ke ? { resolutionMode: Ke } : void 0 } } function rt(Ot, Ke) { return oe => { let pe; if (oe.isDeclarationFile) pe = oe.fileName; else { if (o && ya(G.sourceFiles, oe)) return; let z = KL(oe, w, !0); pe = z.declarationFilePath || z.jsFilePath || oe.fileName } if (pe) { let z = sF(ie, B, Ts(Ke, w.getCurrentDirectory(), w.getCanonicalFileName), Ts(pe, w.getCurrentDirectory(), w.getCanonicalFileName), w); if (!Jd(z)) { Z([[z, void 0]]); return } let Te = Q1(Ke, pe, w.getCurrentDirectory(), w.getCanonicalFileName, !1); if (na(Te, "./") && gA(Te) && (Te = Te.substring(2)), na(Te, "node_modules/") || JS(Te)) return; Ot.push({ pos: -1, end: -1, fileName: Te }) } } } } function _t(G, Oe) { return $ || !BT(G) && Cu(G) || mn(G.referencedFiles, je => { let Ge = w.getSourceFileFromReference(G, je); Ge && Oe.set(sc(Ge), Ge) }), Oe } function ct(G, Oe) { return mn(G.libReferenceDirectives, je => { w.getLibFileFromReference(je) && Oe.set(n_(je.fileName), !0) }), Oe } function Rt(G) { if (G.kind === 79) return G; return G.kind === 204 ? A.updateArrayBindingPattern(G, On(G.elements, Oe, c6)) : A.updateObjectBindingPattern(G, On(G.elements, Oe, Wo)); function Oe(je) { return je.kind === 229 ? je : je.propertyName && Re(je.propertyName) && Re(je.name) && !je.symbol.isReferenced && !q6(je.propertyName) ? A.updateBindingElement(je, je.dotDotDotToken, void 0, je.propertyName, qe(je) ? je.initializer : void 0) : A.updateBindingElement(je, je.dotDotDotToken, je.propertyName, Rt(je.name), qe(je) ? je.initializer : void 0) } } function We(G, Oe, je) { let Ge; S || (Ge = r, r = zg(G)); let kt = A.updateParameterDeclaration(G, LMe(G, Oe), G.dotDotDotToken, Rt(G.name), R.isOptionalParameter(G) ? G.questionToken || A.createToken(57) : void 0, Qt(G, je || G.type, !0), zt(G)); return S || (r = Ge), kt } function qe(G) { return kMe(G) && R.isLiteralConstDeclaration(ea(G)) } function zt(G) { if (qe(G)) return R.createLiteralConstValue(ea(G), C) } function Qt(G, Oe, je) { if (!je && cd(G, 8) || qe(G)) return; let Ge = G.kind === 166 && (R.isRequiredInitializedParameter(G) || R.isOptionalUninitializedParameterProperty(G)); if (Oe && !Ge) return $e(Oe, Kn, bi); if (!ea(G)) return Oe ? $e(Oe, Kn, bi) : A.createKeywordTypeNode(131); if (G.kind === 175) return A.createKeywordTypeNode(131); P = G.name; let kt; if (S || (kt = r, r = zg(G)), G.kind === 257 || G.kind === 205) return Kt(R.createTypeOfDeclaration(G, d, tE, C)); if (G.kind === 166 || G.kind === 169 || G.kind === 168) return $d(G) || !G.initializer ? Kt(R.createTypeOfDeclaration(G, d, tE, C, Ge)) : Kt(R.createTypeOfDeclaration(G, d, tE, C, Ge) || R.createTypeOfExpression(G.initializer, d, tE, C)); return Kt(R.createReturnTypeOfSignatureDeclaration(G, d, tE, C)); function Kt(ln) { return P = void 0, S || (r = kt), ln || A.createKeywordTypeNode(131) } } function tn(G) { switch (G = ea(G), G.kind) { case 259: case 264: case 261: case 260: case 262: case 263: return !R.isDeclarationVisible(G); case 257: return !_n(G); case 268: case 269: case 275: case 274: return !1; case 172: return !0 }return !1 } function kn(G) { var Oe; if (G.body) return !0; let je = (Oe = G.symbol.declarations) == null ? void 0 : Oe.filter(Ge => Jc(Ge) && !Ge.body); return !je || je.indexOf(G) === je.length - 1 } function _n(G) { return ol(G) ? !1 : La(G.name) ? vt(G.name.elements, _n) : R.isDeclarationVisible(G) } function Gt(G, Oe, je) { if (cd(G, 8)) return A.createNodeArray(); let Ge = on(Oe, kt => We(kt, je)); return Ge ? A.createNodeArray(Ge, Oe.hasTrailingComma) : A.createNodeArray() } function $n(G, Oe) { let je; if (!Oe) { let Ge = F0(G); Ge && (je = [We(Ge)]) } if (Sf(G)) { let Ge; if (!Oe) { let kt = VI(G); if (kt) { let Kt = Q(G, R.getAllAccessorDeclarations(G)); Ge = We(kt, void 0, Kt) } } Ge || (Ge = A.createParameterDeclaration(void 0, void 0, "value")), je = Sn(je, Ge) } return A.createNodeArray(je || Je) } function ui(G, Oe) { return cd(G, 8) ? void 0 : On(Oe, Kn, _c) } function Ni(G) { return Li(G) || Ep(G) || Tc(G) || sl(G) || ku(G) || Ia(G) || kS(G) || EL(G) } function Pi(G, Oe) { let je = R.isEntityNameVisible(G, Oe); re(je), Z(R.getTypeReferenceDirectivesForEntityName(G)) } function gr(G, Oe) { return Kd(G) && Kd(Oe) && (G.jsDoc = Oe.jsDoc), hl(G, sm(Oe)) } function pt(G, Oe) { if (Oe) { if (s = s || G.kind !== 264 && G.kind !== 202, es(Oe)) if (o) { let je = Dce(e.getEmitHost(), R, G); if (je) return A.createStringLiteral(je) } else { let je = R.getSymbolOfExternalModuleSpecifier(Oe); je && (x || (x = [])).push(je) } return Oe } } function nn(G) { if (R.isDeclarationVisible(G)) if (G.moduleReference.kind === 280) { let Oe = wI(G); return A.updateImportEqualsDeclaration(G, G.modifiers, G.isTypeOnly, G.name, A.updateExternalModuleReference(G.moduleReference, pt(G, Oe))) } else { let Oe = r; return r = zg(G), Pi(G.moduleReference, d), r = Oe, G } } function Dt(G) { if (!G.importClause) return A.updateImportDeclaration(G, G.modifiers, G.importClause, pt(G, G.moduleSpecifier), pn(G.assertClause)); let Oe = G.importClause && G.importClause.name && R.isDeclarationVisible(G.importClause) ? G.importClause.name : void 0; if (!G.importClause.namedBindings) return Oe && A.updateImportDeclaration(G, G.modifiers, A.updateImportClause(G.importClause, G.importClause.isTypeOnly, Oe, void 0), pt(G, G.moduleSpecifier), pn(G.assertClause)); if (G.importClause.namedBindings.kind === 271) { let Ge = R.isDeclarationVisible(G.importClause.namedBindings) ? G.importClause.namedBindings : void 0; return Oe || Ge ? A.updateImportDeclaration(G, G.modifiers, A.updateImportClause(G.importClause, G.importClause.isTypeOnly, Oe, Ge), pt(G, G.moduleSpecifier), pn(G.assertClause)) : void 0 } let je = Zi(G.importClause.namedBindings.elements, Ge => R.isDeclarationVisible(Ge) ? Ge : void 0); if (je && je.length || Oe) return A.updateImportDeclaration(G, G.modifiers, A.updateImportClause(G.importClause, G.importClause.isTypeOnly, Oe, je && je.length ? A.updateNamedImports(G.importClause.namedBindings, je) : void 0), pt(G, G.moduleSpecifier), pn(G.assertClause)); if (R.isImportRequiredByAugmentation(G)) return A.updateImportDeclaration(G, G.modifiers, void 0, pt(G, G.moduleSpecifier), pn(G.assertClause)) } function pn(G) { if (qS(G) !== void 0) return TR() || e.addDiagnostic(hr(G, _.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)), G } function An(G) { for (; Fn(m);) { let je = m.shift(); if (!E6(je)) return L.fail(`Late replaced statement was found which is not handled by the declaration transformer!: ${L.formatSyntaxKind(je.kind)}`); let Ge = i; i = je.parent && Li(je.parent) && !(Lc(je.parent) && o); let kt = Ht(je); i = Ge, v.set(sc(je), kt) } return On(G, Oe, ca); function Oe(je) { if (E6(je)) { let Ge = sc(je); if (v.has(Ge)) { let kt = v.get(Ge); return v.delete(Ge), kt && ((ba(kt) ? vt(kt, l6) : l6(kt)) && (l = !0), Li(je.parent) && (ba(kt) ? vt(kt, Rw) : Rw(kt)) && (s = !0)), kt } } return je } } function Kn(G) { if (at(G) || Kl(G) && (tn(G) || Xy(G) && !R.isLateBound(ea(G))) || Ia(G) && R.isImplementationOfOverload(G) || Bue(G)) return; let Oe; Ni(G) && (Oe = d, d = G); let je = r, Ge = xF(G), kt = S, Kt = (G.kind === 184 || G.kind === 197) && G.parent.kind !== 262; if ((Nc(G) || zm(G)) && cd(G, 8)) return G.symbol && G.symbol.declarations && G.symbol.declarations[0] !== G ? void 0 : ln(A.createPropertyDeclaration(nt(G), G.name, void 0, void 0, void 0)); if (Ge && !S && (r = zg(G)), vL(G) && Pi(G.exprName, d), Kt && (S = !0), wMe(G)) switch (G.kind) { case 230: { (Cd(G.expression) || bc(G.expression)) && Pi(G.expression, d); let ir = xn(G, Kn, e); return ln(A.updateExpressionWithTypeArguments(ir, ir.expression, ir.typeArguments)) } case 180: { Pi(G.typeName, d); let ir = xn(G, Kn, e); return ln(A.updateTypeReferenceNode(ir, ir.typeName, ir.typeArguments)) } case 177: return ln(A.updateConstructSignature(G, ui(G, G.typeParameters), Gt(G, G.parameters), Qt(G, G.type))); case 173: { let ir = A.createConstructorDeclaration(nt(G), Gt(G, G.parameters, 0), void 0); return ln(ir) } case 171: { if (pi(G.name)) return ln(void 0); let ir = A.createMethodDeclaration(nt(G), void 0, G.name, G.questionToken, ui(G, G.typeParameters), Gt(G, G.parameters), Qt(G, G.type), void 0); return ln(ir) } case 174: { if (pi(G.name)) return ln(void 0); let ir = Q(G, R.getAllAccessorDeclarations(G)); return ln(A.updateGetAccessorDeclaration(G, nt(G), G.name, $n(G, cd(G, 8)), Qt(G, ir), void 0)) } case 175: return pi(G.name) ? ln(void 0) : ln(A.updateSetAccessorDeclaration(G, nt(G), G.name, $n(G, cd(G, 8)), void 0)); case 169: return pi(G.name) ? ln(void 0) : ln(A.updatePropertyDeclaration(G, nt(G), G.name, G.questionToken, Qt(G, G.type), zt(G))); case 168: return pi(G.name) ? ln(void 0) : ln(A.updatePropertySignature(G, nt(G), G.name, G.questionToken, Qt(G, G.type))); case 170: return pi(G.name) ? ln(void 0) : ln(A.updateMethodSignature(G, nt(G), G.name, G.questionToken, ui(G, G.typeParameters), Gt(G, G.parameters), Qt(G, G.type))); case 176: return ln(A.updateCallSignature(G, ui(G, G.typeParameters), Gt(G, G.parameters), Qt(G, G.type))); case 178: return ln(A.updateIndexSignature(G, nt(G), Gt(G, G.parameters), $e(G.type, Kn, bi) || A.createKeywordTypeNode(131))); case 257: return La(G.name) ? dr(G.name) : (Kt = !0, S = !0, ln(A.updateVariableDeclaration(G, G.name, void 0, Qt(G, G.type), zt(G)))); case 165: return hi(G) && (G.default || G.constraint) ? ln(A.updateTypeParameterDeclaration(G, G.modifiers, G.name, void 0, void 0)) : ln(xn(G, Kn, e)); case 191: { let ir = $e(G.checkType, Kn, bi), ae = $e(G.extendsType, Kn, bi), rt = d; d = G.trueType; let Ot = $e(G.trueType, Kn, bi); d = rt; let Ke = $e(G.falseType, Kn, bi); return L.assert(ir), L.assert(ae), L.assert(Ot), L.assert(Ke), ln(A.updateConditionalTypeNode(G, ir, ae, Ot, Ke)) } case 181: return ln(A.updateFunctionTypeNode(G, On(G.typeParameters, Kn, _c), Gt(G, G.parameters), L.checkDefined($e(G.type, Kn, bi)))); case 182: return ln(A.updateConstructorTypeNode(G, nt(G), On(G.typeParameters, Kn, _c), Gt(G, G.parameters), L.checkDefined($e(G.type, Kn, bi)))); case 202: return ib(G) ? ln(A.updateImportTypeNode(G, A.updateLiteralTypeNode(G.argument, pt(G, G.argument.literal)), G.assertions, G.qualifier, On(G.typeArguments, Kn, bi), G.isTypeOf)) : ln(G); default: L.assertNever(G, `Attempted to process unhandled node kind: ${L.formatSyntaxKind(G.kind)}`) }return p2(G) && Gs(B, G.pos).line === Gs(B, G.end).line && Jn(G, 1), ln(xn(G, Kn, e)); function ln(ir) { return ir && Ge && Xy(G) && Se(G), Ni(G) && (d = Oe), Ge && !S && (r = je), Kt && (S = kt), ir === G ? ir : ir && Ir(gr(ir, G), G) } } function hi(G) { return G.parent.kind === 171 && cd(G.parent, 8) } function ri(G) { if (!DMe(G) || at(G)) return; switch (G.kind) { case 275: return Li(G.parent) && (s = !0), f = !0, A.updateExportDeclaration(G, G.modifiers, G.isTypeOnly, G.exportClause, pt(G, G.moduleSpecifier), qS(G.assertClause) ? G.assertClause : void 0); case 274: { if (Li(G.parent) && (s = !0), f = !0, G.expression.kind === 79) return G; { let je = A.createUniqueName("_default", 16); r = () => ({ diagnosticMessage: _.Default_export_of_the_module_has_or_is_using_private_name_0, errorNode: G }), F = G; let Ge = A.createVariableDeclaration(je, void 0, R.createTypeOfExpression(G.expression, G, tE, C), void 0); F = void 0; let kt = A.createVariableStatement(i ? [A.createModifier(136)] : [], A.createVariableDeclarationList([Ge], 2)); return gr(kt, G), ZR(G), [kt, A.updateExportAssignment(G, G.modifiers, je)] } } }let Oe = Ht(G); return v.set(sc(G), Oe), G } function vn(G) { if (Nl(G) || cd(G, 1024) || !g_(G)) return G; let Oe = A.createModifiersFromModifierFlags(uu(G) & 258046); return A.updateModifiers(G, Oe) } function Ht(G) { if (m) for (; m8(m, G);); if (at(G)) return; switch (G.kind) { case 268: return nn(G); case 269: return Dt(G) }if (Kl(G) && tn(G) || Ia(G) && R.isImplementationOfOverload(G)) return; let Oe; Ni(G) && (Oe = d, d = G); let je = xF(G), Ge = r; je && (r = zg(G)); let kt = i; switch (G.kind) { case 262: { i = !1; let ln = Kt(A.updateTypeAliasDeclaration(G, nt(G), G.name, On(G.typeParameters, Kn, _c), L.checkDefined($e(G.type, Kn, bi)))); return i = kt, ln } case 261: return Kt(A.updateInterfaceDeclaration(G, nt(G), G.name, ui(G, G.typeParameters), ue(G.heritageClauses), On(G.members, Kn, _T))); case 259: { let ln = Kt(A.updateFunctionDeclaration(G, nt(G), void 0, G.name, ui(G, G.typeParameters), Gt(G, G.parameters), Qt(G, G.type), void 0)); if (ln && R.isExpandoFunctionDeclaration(G) && kn(G)) { let ir = R.getPropertiesOfContainerFunction(G), ae = fm.createModuleDeclaration(void 0, ln.name || A.createIdentifier("_default"), A.createModuleBlock([]), 16); go(ae, d), ae.locals = Ua(ir), ae.symbol = ir[0].parent; let rt = [], Ot = Zi(ir, j => { if (!j.valueDeclaration || !br(j.valueDeclaration)) return; r = zg(j.valueDeclaration); let yt = R.createTypeOfDeclaration(j.valueDeclaration, ae, tE, C); r = Ge; let lt = Gi(j.escapedName), Qe = fS(lt), Vt = Qe ? A.getGeneratedNameForNode(j.valueDeclaration) : A.createIdentifier(lt); Qe && rt.push([Vt, lt]); let Hn = A.createVariableDeclaration(Vt, void 0, yt, void 0); return A.createVariableStatement(Qe ? void 0 : [A.createToken(93)], A.createVariableDeclarationList([Hn])) }); rt.length ? Ot.push(A.createExportDeclaration(void 0, !1, A.createNamedExports(on(rt, ([j, yt]) => A.createExportSpecifier(!1, j, yt))))) : Ot = Zi(Ot, j => A.updateModifiers(j, 0)); let Ke = A.createModuleDeclaration(nt(G), G.name, A.createModuleBlock(Ot), 16); if (!cd(ln, 1024)) return [ln, Ke]; let oe = A.createModifiersFromModifierFlags(uu(ln) & -1026 | 2), pe = A.updateFunctionDeclaration(ln, oe, void 0, ln.name, ln.typeParameters, ln.parameters, ln.type, void 0), z = A.updateModuleDeclaration(Ke, oe, Ke.name, Ke.body), Te = A.createExportAssignment(void 0, !1, Ke.name); return Li(G.parent) && (s = !0), f = !0, [pe, z, Te] } else return ln } case 264: { i = !1; let ln = G.body; if (ln && ln.kind === 265) { let ir = l, ae = f; f = !1, l = !1; let rt = On(ln.statements, ri, ca), Ot = An(rt); G.flags & 16777216 && (l = !1), !mp(G) && !ve(Ot) && !f && (l ? Ot = A.createNodeArray([...Ot, bO(A)]) : Ot = On(Ot, vn, ca)); let Ke = A.updateModuleBlock(ln, Ot); i = kt, l = ir, f = ae; let oe = nt(G); return Kt(A.updateModuleDeclaration(G, oe, D0(G) ? pt(G, G.name) : G.name, Ke)) } else { i = kt; let ir = nt(G); i = !1, $e(ln, ri); let ae = sc(ln), rt = v.get(ae); return v.delete(ae), Kt(A.updateModuleDeclaration(G, ir, G.name, rt)) } } case 260: { P = G.name, F = G; let ln = A.createNodeArray(nt(G)), ir = ui(G, G.typeParameters), ae = Vm(G), rt; if (ae) { let Te = r; rt = WD(Uo(ae.parameters, j => { if (!Mr(j, 16476) || at(j)) return; if (r = zg(j), j.name.kind === 79) return gr(A.createPropertyDeclaration(nt(j), j.name, j.questionToken, Qt(j, j.type), zt(j)), j); return yt(j.name); function yt(lt) { let Qe; for (let Vt of lt.elements) ol(Vt) || (La(Vt.name) && (Qe = Qi(Qe, yt(Vt.name))), Qe = Qe || [], Qe.push(A.createPropertyDeclaration(nt(j), Vt.name, void 0, Qt(Vt, void 0), void 0))); return Qe } })), r = Te } let Ke = vt(G.members, Te => !!Te.name && pi(Te.name)) ? [A.createPropertyDeclaration(void 0, A.createPrivateIdentifier("#private"), void 0, void 0, void 0)] : void 0, oe = Qi(Qi(Ke, rt), On(G.members, Kn, _l)), pe = A.createNodeArray(oe), z = hp(G); if (z && !bc(z.expression) && z.expression.kind !== 104) { let Te = G.name ? Gi(G.name.escapedText) : "default", j = A.createUniqueName(`${Te}_base`, 16); r = () => ({ diagnosticMessage: _.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: z, typeName: G.name }); let yt = A.createVariableDeclaration(j, void 0, R.createTypeOfExpression(z.expression, G, tE, C), void 0), lt = A.createVariableStatement(i ? [A.createModifier(136)] : [], A.createVariableDeclarationList([yt], 2)), Qe = A.createNodeArray(on(G.heritageClauses, Vt => { if (Vt.token === 94) { let Hn = r; r = zg(Vt.types[0]); let jr = A.updateHeritageClause(Vt, on(Vt.types, ei => A.updateExpressionWithTypeArguments(ei, j, On(ei.typeArguments, Kn, bi)))); return r = Hn, jr } return A.updateHeritageClause(Vt, On(A.createNodeArray(Pr(Vt.types, Hn => bc(Hn.expression) || Hn.expression.kind === 104)), Kn, Vg)) })); return [lt, Kt(A.updateClassDeclaration(G, ln, G.name, ir, Qe, pe))] } else { let Te = ue(G.heritageClauses); return Kt(A.updateClassDeclaration(G, ln, G.name, ir, Te, pe)) } } case 240: return Kt(En(G)); case 263: return Kt(A.updateEnumDeclaration(G, A.createNodeArray(nt(G)), G.name, A.createNodeArray(Zi(G.members, ln => { if (at(ln)) return; let ir = R.getConstantValue(ln); return gr(A.updateEnumMember(ln, ln.name, ir !== void 0 ? typeof ir == "string" ? A.createStringLiteral(ir) : A.createNumericLiteral(ir) : void 0), ln) })))) }return L.assertNever(G, `Unhandled top-level node in declaration emit: ${L.formatSyntaxKind(G.kind)}`); function Kt(ln) { return Ni(G) && (d = Oe), je && (r = Ge), G.kind === 264 && (i = kt), ln === G ? ln : (F = void 0, P = void 0, ln && Ir(gr(ln, G), G)) } } function En(G) { if (!mn(G.declarationList.declarations, _n)) return; let Oe = On(G.declarationList.declarations, Kn, wi); if (Fn(Oe)) return A.updateVariableStatement(G, A.createNodeArray(nt(G)), A.updateVariableDeclarationList(G.declarationList, Oe)) } function dr(G) { return t_(Zi(G.elements, Oe => Cr(Oe))) } function Cr(G) { if (G.kind !== 229 && G.name) return _n(G) ? La(G.name) ? dr(G.name) : A.createVariableDeclaration(G.name, void 0, Qt(G, void 0), void 0) : void 0 } function Se(G) { let Oe; S || (Oe = r, r = Epe(G)), P = G.name, L.assert(R.isLateBound(ea(G))); let Ge = G.name.expression; Pi(Ge, d), S || (r = Oe), P = void 0 } function at(G) { return !!fe && !!G && BK(G, B) } function Tt(G) { return pc(G) || Il(G) } function ve(G) { return vt(G, Tt) } function nt(G) { let Oe = uu(G), je = ce(G); return Oe === je ? vK(G.modifiers, Ge => zr(Ge, Ha), Ha) : A.createModifiersFromModifierFlags(je) } function ce(G) { let Oe = 241147, je = i && !IMe(G) ? 2 : 0, Ge = G.parent.kind === 308; return (!Ge || o && Ge && Lc(G.parent)) && (Oe ^= 2, je = 0), xpe(G, Oe, je) } function Q(G, Oe) { let je = VK(G); return !je && G !== Oe.firstAccessor && (je = VK(Oe.firstAccessor), r = zg(Oe.firstAccessor)), !je && Oe.secondAccessor && G !== Oe.secondAccessor && (je = VK(Oe.secondAccessor), r = zg(Oe.secondAccessor)), je } function ue(G) { return A.createNodeArray(Pr(on(G, Oe => A.updateHeritageClause(Oe, On(A.createNodeArray(Pr(Oe.types, je => bc(je.expression) || Oe.token === 94 && je.expression.kind === 104)), Kn, Vg))), Oe => Oe.types && !!Oe.types.length)) } } function IMe(e) { return e.kind === 261 } function LMe(e, t, r) { return D.createModifiersFromModifierFlags(xpe(e, t, r)) } function xpe(e, t = 258043, r = 0) { let i = uu(e) & t | r; return i & 1024 && !(i & 1) && (i ^= 1), i & 1024 && i & 2 && (i ^= 2), i } function VK(e) { if (e) return e.kind === 174 ? e.type : e.parameters.length > 0 ? e.parameters[0].type : void 0 } function kMe(e) { switch (e.kind) { case 169: case 168: return !cd(e, 8); case 166: case 257: return !0 }return !1 } function DMe(e) { switch (e.kind) { case 259: case 264: case 268: case 261: case 260: case 262: case 263: case 240: case 269: case 275: case 274: return !0 }return !1 } function wMe(e) { switch (e.kind) { case 177: case 173: case 171: case 174: case 175: case 169: case 168: case 170: case 176: case 178: case 257: case 165: case 230: case 180: case 191: case 181: case 182: case 202: return !0 }return !1 } var tE, RMe = gt({ "src/compiler/transformers/declarations.ts"() { "use strict"; fa(), dK(), tE = 531469 } }); function OMe(e) { switch (e) { case 99: case 7: case 6: case 5: return GK; case 4: return vpe; case 100: case 199: return bpe; default: return FK } } function jK(e, t, r) { return { scriptTransformers: NMe(e, t, r), declarationTransformers: PMe(t) } } function NMe(e, t, r) { if (r) return Je; let i = Do(e), o = Rl(e), s = MR(e), l = []; return si(l, t && on(t.before, Cpe)), l.push(Z_e), e.experimentalDecorators ? l.push(rpe) : (i < 99 || !s) && l.push(ipe), l.push(tpe), AW(e) && l.push(dpe), i < 99 && l.push(upe), i < 8 && l.push(lpe), i < 7 && l.push(cpe), i < 6 && l.push(spe), i < 5 && l.push(ope), i < 4 && l.push(ape), i < 3 && l.push(_pe), i < 2 && (l.push(mpe), l.push(gpe)), l.push(OMe(o)), i < 1 && l.push(hpe), si(l, t && on(t.after, Cpe)), l } function PMe(e) { let t = []; return t.push(UK), si(t, e && on(e.afterDeclarations, FMe)), t } function MMe(e) { return t => Bz(t) ? e.transformBundle(t) : e.transformSourceFile(t) } function Ape(e, t) { return r => { let i = e(r); return typeof i == "function" ? t(r, i) : MMe(i) } } function Cpe(e) { return Ape(e, y_) } function FMe(e) { return Ape(e, (t, r) => r) } function zL(e, t) { return t } function cN(e, t, r) { r(e, t) } function lN(e, t, r, i, o, s, l) { var f, d; let g = new Array(361), m, v, S, x = 0, A = [], w = [], C = [], P = [], F = 0, B = !1, q = [], W = 0, Y, R, ie = zL, $ = cN, fe = 0, Z = [], U = { factory: r, getCompilerOptions: () => i, getEmitResolver: () => e, getEmitHost: () => t, getEmitHelperFactory: zu(() => Tue(U)), startLexicalEnvironment: Le, suspendLexicalEnvironment: Ye, resumeLexicalEnvironment: _t, endLexicalEnvironment: ct, setLexicalEnvironmentFlags: Rt, getLexicalEnvironmentFlags: We, hoistVariableDeclaration: Ie, hoistFunctionDeclaration: Be, addInitializationStatement: Ne, startBlockScope: qe, endBlockScope: zt, addBlockScopedVariable: Qt, requestEmitHelper: tn, readEmitHelpers: kn, enableSubstitution: X, enableEmitNotification: ke, isSubstitutionEnabled: Ve, isEmitNotificationEnabled: Pe, get onSubstituteNode() { return ie }, set onSubstituteNode(Gt) { L.assert(fe < 1, "Cannot modify transformation hooks after initialization has completed."), L.assert(Gt !== void 0, "Value must not be 'undefined'"), ie = Gt }, get onEmitNode() { return $ }, set onEmitNode(Gt) { L.assert(fe < 1, "Cannot modify transformation hooks after initialization has completed."), L.assert(Gt !== void 0, "Value must not be 'undefined'"), $ = Gt }, addDiagnostic(Gt) { Z.push(Gt) } }; for (let Gt of o) yz(Gn(ea(Gt))); Fs("beforeTransform"); let re = s.map(Gt => Gt(U)), le = Gt => { for (let $n of re) Gt = $n(Gt); return Gt }; fe = 1; let _e = []; for (let Gt of o) (f = ai) == null || f.push(ai.Phase.Emit, "transformNodes", Gt.kind === 308 ? { path: Gt.path } : { kind: Gt.kind, pos: Gt.pos, end: Gt.end }), _e.push((l ? le : ge)(Gt)), (d = ai) == null || d.pop(); return fe = 2, Fs("afterTransform"), hf("transformTime", "beforeTransform", "afterTransform"), { transformed: _e, substituteNode: we, emitNodeWithNotification: Ce, isEmitNotificationEnabled: Pe, dispose: _n, diagnostics: Z }; function ge(Gt) { return Gt && (!Li(Gt) || !Gt.isDeclarationFile) ? le(Gt) : Gt } function X(Gt) { L.assert(fe < 2, "Cannot modify the transformation context after transformation has completed."), g[Gt] |= 1 } function Ve(Gt) { return (g[Gt.kind] & 1) !== 0 && (Ya(Gt) & 8) === 0 } function we(Gt, $n) { return L.assert(fe < 3, "Cannot substitute a node after the result is disposed."), $n && Ve($n) && ie(Gt, $n) || $n } function ke(Gt) { L.assert(fe < 2, "Cannot modify the transformation context after transformation has completed."), g[Gt] |= 2 } function Pe(Gt) { return (g[Gt.kind] & 2) !== 0 || (Ya(Gt) & 4) !== 0 } function Ce(Gt, $n, ui) { L.assert(fe < 3, "Cannot invoke TransformationResult callbacks after the result is disposed."), $n && (Pe($n) ? $(Gt, $n, ui) : ui(Gt, $n)) } function Ie(Gt) { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."); let $n = Jn(r.createVariableDeclaration(Gt), 128); m ? m.push($n) : m = [$n], x & 1 && (x |= 2) } function Be(Gt) { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."), Jn(Gt, 2097152), v ? v.push(Gt) : v = [Gt] } function Ne(Gt) { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."), Jn(Gt, 2097152), S ? S.push(Gt) : S = [Gt] } function Le() { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."), L.assert(!B, "Lexical environment is suspended."), A[F] = m, w[F] = v, C[F] = S, P[F] = x, F++, m = void 0, v = void 0, S = void 0, x = 0 } function Ye() { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."), L.assert(!B, "Lexical environment is already suspended."), B = !0 } function _t() { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."), L.assert(B, "Lexical environment is not suspended."), B = !1 } function ct() { L.assert(fe > 0, "Cannot modify the lexical environment during initialization."), L.assert(fe < 2, "Cannot modify the lexical environment after transformation has completed."), L.assert(!B, "Lexical environment is suspended."); let Gt; if (m || v || S) { if (v && (Gt = [...v]), m) { let $n = r.createVariableStatement(void 0, r.createVariableDeclarationList(m)); Jn($n, 2097152), Gt ? Gt.push($n) : Gt = [$n] } S && (Gt ? Gt = [...Gt, ...S] : Gt = [...S]) } return F--, m = A[F], v = w[F], S = C[F], x = P[F], F === 0 && (A = [], w = [], C = [], P = []), Gt } function Rt(Gt, $n) { x = $n ? x | Gt : x & ~Gt } function We() { return x } function qe() { L.assert(fe > 0, "Cannot start a block scope during initialization."), L.assert(fe < 2, "Cannot start a block scope after transformation has completed."), q[W] = Y, W++, Y = void 0 } function zt() { L.assert(fe > 0, "Cannot end a block scope during initialization."), L.assert(fe < 2, "Cannot end a block scope after transformation has completed."); let Gt = vt(Y) ? [r.createVariableStatement(void 0, r.createVariableDeclarationList(Y.map($n => r.createVariableDeclaration($n)), 1))] : void 0; return W--, Y = q[W], W === 0 && (q = []), Gt } function Qt(Gt) { L.assert(W > 0, "Cannot add a block scoped variable outside of an iteration body."), (Y || (Y = [])).push(Gt) } function tn(Gt) { if (L.assert(fe > 0, "Cannot modify the transformation context during initialization."), L.assert(fe < 2, "Cannot modify the transformation context after transformation has completed."), L.assert(!Gt.scoped, "Cannot request a scoped emit helper."), Gt.dependencies) for (let $n of Gt.dependencies) tn($n); R = Sn(R, Gt) } function kn() { L.assert(fe > 0, "Cannot modify the transformation context during initialization."), L.assert(fe < 2, "Cannot modify the transformation context after transformation has completed."); let Gt = R; return R = void 0, Gt } function _n() { if (fe < 3) { for (let Gt of o) yz(Gn(ea(Gt))); m = void 0, A = void 0, v = void 0, w = void 0, ie = void 0, $ = void 0, R = void 0, fe = 3 } } } var HK, Bh, GMe = gt({ "src/compiler/transformer.ts"() { "use strict"; fa(), E0(), HK = { scriptTransformers: Je, declarationTransformers: Je }, Bh = { factory: D, getCompilerOptions: () => ({}), getEmitResolver: Sa, getEmitHost: Sa, getEmitHelperFactory: Sa, startLexicalEnvironment: Ba, resumeLexicalEnvironment: Ba, suspendLexicalEnvironment: Ba, endLexicalEnvironment: Qv, setLexicalEnvironmentFlags: Ba, getLexicalEnvironmentFlags: () => 0, hoistVariableDeclaration: Ba, hoistFunctionDeclaration: Ba, addInitializationStatement: Ba, startBlockScope: Ba, endBlockScope: Qv, addBlockScopedVariable: Ba, requestEmitHelper: Ba, readEmitHelpers: Sa, enableSubstitution: Ba, enableEmitNotification: Ba, isSubstitutionEnabled: Sa, isEmitNotificationEnabled: Sa, onSubstituteNode: zL, onEmitNode: cN, addDiagnostic: Ba } } }); function Ipe(e) { return Gc(e, ".tsbuildinfo") } function WK(e, t, r, i = !1, o, s) { let l = ba(r) ? r : eW(e, r, i), f = e.getCompilerOptions(); if (Ss(f)) { let d = e.getPrependNodes(); if (l.length || d.length) { let g = D.createBundle(l, d), m = t(KL(g, e, i), g); if (m) return m } } else { if (!o) for (let d of l) { let g = t(KL(d, e, i), d); if (g) return g } if (s) { let d = Jg(f); if (d) return t({ buildInfoPath: d }, void 0) } } } function Jg(e) { let t = e.configFilePath; if (!NR(e)) return; if (e.tsBuildInfoFile) return e.tsBuildInfoFile; let r = Ss(e), i; if (r) i = ld(r); else { if (!t) return; let o = ld(t); i = e.outDir ? e.rootDir ? Fy(e.outDir, Xp(e.rootDir, o, !0)) : vi(e.outDir, Hl(o)) : o } return i + ".tsbuildinfo" } function JL(e, t) { let r = Ss(e), i = e.emitDeclarationOnly ? void 0 : r, o = i && Lpe(i, e), s = t || __(e) ? ld(r) + ".d.ts" : void 0, l = s && d4(e) ? s + ".map" : void 0, f = Jg(e); return { jsFilePath: i, sourceMapFilePath: o, declarationFilePath: s, declarationMapPath: l, buildInfoPath: f } } function KL(e, t, r) { let i = t.getCompilerOptions(); if (e.kind === 309) return JL(i, r); { let o = wce(e.fileName, t, zK(e.fileName, i)), s = Mf(e), l = s && cT(e.fileName, o, t.getCurrentDirectory(), !t.useCaseSensitiveFileNames()) === 0, f = i.emitDeclarationOnly || l ? void 0 : o, d = !f || Mf(e) ? void 0 : Lpe(f, i), g = r || __(i) && !s ? Rce(e.fileName, t) : void 0, m = g && d4(i) ? g + ".map" : void 0; return { jsFilePath: f, sourceMapFilePath: d, declarationFilePath: g, declarationMapPath: m, buildInfoPath: void 0 } } } function Lpe(e, t) { return t.sourceMap && !t.inlineSourceMap ? e + ".map" : void 0 } function zK(e, t) { return Gc(e, ".json") ? ".json" : t.jsx === 1 && $c(e, [".jsx", ".tsx"]) ? ".jsx" : $c(e, [".mts", ".mjs"]) ? ".mjs" : $c(e, [".cts", ".cjs"]) ? ".cjs" : ".js" } function kpe(e, t, r, i, o) { return i ? Fy(i, Xp(o ? o() : XL(t, r), e, r)) : e } function qL(e, t, r, i) { return V0(kpe(e, t, r, t.options.declarationDir || t.options.outDir, i), QH(e)) } function Dpe(e, t, r, i) { if (t.options.emitDeclarationOnly) return; let o = Gc(e, ".json"), s = V0(kpe(e, t, r, t.options.outDir, i), zK(e, t.options)); return !o || cT(e, s, L.checkDefined(t.options.configFilePath), r) !== 0 ? s : void 0 } function wpe() { let e; return { addOutput: t, getOutputs: r }; function t(i) { i && (e || (e = [])).push(i) } function r() { return e || Je } } function Rpe(e, t) { let { jsFilePath: r, sourceMapFilePath: i, declarationFilePath: o, declarationMapPath: s, buildInfoPath: l } = JL(e.options, !1); t(r), t(i), t(o), t(s), t(l) } function Ope(e, t, r, i, o) { if (Fu(t)) return; let s = Dpe(t, e, r, o); if (i(s), !Gc(t, ".json") && (s && e.options.sourceMap && i(`${s}.map`), __(e.options))) { let l = qL(t, e, r, o); i(l), e.options.declarationMap && i(`${l}.map`) } } function uN(e, t, r, i, o) { let s; return e.rootDir ? (s = _a(e.rootDir, r), o?.(e.rootDir)) : e.composite && e.configFilePath ? (s = ni(Al(e.configFilePath)), o?.(s)) : s = jpe(t(), r, i), s && s[s.length - 1] !== _s && (s += _s), s } function XL({ options: e, fileNames: t }, r) { return uN(e, () => Pr(t, i => !(e.noEmitForJsFiles && $c(i, dL)) && !Fu(i)), ni(Al(L.checkDefined(e.configFilePath))), Dl(!r)) } function AF(e, t) { let { addOutput: r, getOutputs: i } = wpe(); if (Ss(e.options)) Rpe(e, r); else { let o = zu(() => XL(e, t)); for (let s of e.fileNames) Ope(e, s, t, r, o); r(Jg(e.options)) } return i() } function BMe(e, t, r) { t = So(t), L.assert(ya(e.fileNames, t), "Expected fileName to be present in command line"); let { addOutput: i, getOutputs: o } = wpe(); return Ss(e.options) ? Rpe(e, i) : Ope(e, t, r, i), o() } function JK(e, t) { if (Ss(e.options)) { let { jsFilePath: o, declarationFilePath: s } = JL(e.options, !1); return L.checkDefined(o || s, `project ${e.options.configFilePath} expected to have at least one output`) } let r = zu(() => XL(e, t)); for (let o of e.fileNames) { if (Fu(o)) continue; let s = Dpe(o, e, t, r); if (s) return s; if (!Gc(o, ".json") && __(e.options)) return qL(o, e, t, r) } let i = Jg(e.options); return i || L.fail(`project ${e.options.configFilePath} expected to have at least one output`) } function CF(e, t, r, { scriptTransformers: i, declarationTransformers: o }, s, l, f) { var d = t.getCompilerOptions(), g = d.sourceMap || d.inlineSourceMap || d4(d) ? [] : void 0, m = d.listEmittedFiles ? [] : void 0, v = XA(), S = db(d), x = SR(S), { enter: A, exit: w } = x8("printTime", "beforePrint", "afterPrint"), C, P = !1; return A(), WK(t, F, eW(t, r, f), f, l, !r), w(), { emitSkipped: P, diagnostics: v.getDiagnostics(), emittedFiles: m, sourceMaps: g }; function F({ jsFilePath: U, sourceMapFilePath: re, declarationFilePath: le, declarationMapPath: _e, buildInfoPath: ge }, X) { var Ve, we, ke, Pe, Ce, Ie; let Be; ge && X && Bz(X) && (Be = ni(_a(ge, t.getCurrentDirectory())), C = { commonSourceDirectory: Ne(t.getCommonSourceDirectory()), sourceFiles: X.sourceFiles.map(Le => Ne(_a(Le.fileName, t.getCurrentDirectory()))) }), (Ve = ai) == null || Ve.push(ai.Phase.Emit, "emitJsFileOrBundle", { jsFilePath: U }), q(X, U, re, Ne), (we = ai) == null || we.pop(), (ke = ai) == null || ke.push(ai.Phase.Emit, "emitDeclarationFileOrBundle", { declarationFilePath: le }), W(X, le, _e, Ne), (Pe = ai) == null || Pe.pop(), (Ce = ai) == null || Ce.push(ai.Phase.Emit, "emitBuildInfo", { buildInfoPath: ge }), B(C, ge), (Ie = ai) == null || Ie.pop(), !P && m && (s || (U && m.push(U), re && m.push(re), ge && m.push(ge)), s !== 0 && (le && m.push(le), _e && m.push(_e))); function Ne(Le) { return S0(Xp(Be, Le, t.getCanonicalFileName)) } } function B(U, re) { if (!re || r || P) return; if (t.isEmitBlocked(re)) { P = !0; return } let le = t.getBuildInfo(U) || dN(void 0, U); BI(t, v, re, Npe(le), !1, void 0, { buildInfo: le }) } function q(U, re, le, _e) { if (!U || s || !re) return; if (t.isEmitBlocked(re) || d.noEmit) { P = !0; return } let ge = lN(e, t, D, d, [U], i, !1), X = { removeComments: d.removeComments, newLine: d.newLine, noEmitHelpers: d.noEmitHelpers, module: d.module, target: d.target, sourceMap: d.sourceMap, inlineSourceMap: d.inlineSourceMap, inlineSources: d.inlineSources, extendedDiagnostics: d.extendedDiagnostics, writeBundleFileInfo: !!C, relativeToBuildInfo: _e }, Ve = nE(X, { hasGlobalName: e.hasGlobalName, onEmitNode: ge.emitNodeWithNotification, isEmitNotificationEnabled: ge.isEmitNotificationEnabled, substituteNode: ge.substituteNode }); L.assert(ge.transformed.length === 1, "Should only see one output from the transform"), R(re, le, ge, Ve, d), ge.dispose(), C && (C.js = Ve.bundleFileInfo) } function W(U, re, le, _e) { if (!U || s === 0) return; if (!re) { (s || d.emitDeclarationOnly) && (P = !0); return } let ge = Li(U) ? [U] : U.sourceFiles, X = f ? ge : Pr(ge, LH), Ve = Ss(d) ? [D.createBundle(X, Li(U) ? void 0 : U.prepends)] : X; s && !__(d) && X.forEach(Y); let we = lN(e, t, D, d, Ve, o, !1); if (Fn(we.diagnostics)) for (let Ie of we.diagnostics) v.add(Ie); let ke = { removeComments: d.removeComments, newLine: d.newLine, noEmitHelpers: !0, module: d.module, target: d.target, sourceMap: !f && d.declarationMap, inlineSourceMap: d.inlineSourceMap, extendedDiagnostics: d.extendedDiagnostics, onlyPrintJsDocStyle: !0, writeBundleFileInfo: !!C, recordInternalSection: !!C, relativeToBuildInfo: _e }, Pe = nE(ke, { hasGlobalName: e.hasGlobalName, onEmitNode: we.emitNodeWithNotification, isEmitNotificationEnabled: we.isEmitNotificationEnabled, substituteNode: we.substituteNode }), Ce = !!we.diagnostics && !!we.diagnostics.length || !!t.isEmitBlocked(re) || !!d.noEmit; P = P || Ce, (!Ce || f) && (L.assert(we.transformed.length === 1, "Should only see one output from the decl transform"), R(re, le, we, Pe, { sourceMap: ke.sourceMap, sourceRoot: d.sourceRoot, mapRoot: d.mapRoot, extendedDiagnostics: d.extendedDiagnostics })), we.dispose(), C && (C.dts = Pe.bundleFileInfo) } function Y(U) { if (pc(U)) { U.expression.kind === 79 && e.collectLinkedAliases(U.expression, !0); return } else if (Mu(U)) { e.collectLinkedAliases(U.propertyName || U.name, !0); return } pa(U, Y) } function R(U, re, le, _e, ge) { let X = le.transformed[0], Ve = X.kind === 309 ? X : void 0, we = X.kind === 308 ? X : void 0, ke = Ve ? Ve.sourceFiles : [we], Pe; ie(ge, X) && (Pe = M_e(t, Hl(Al(U)), $(ge), fe(ge, U, we), ge)), Ve ? _e.writeBundle(Ve, x, Pe) : _e.writeFile(we, x, Pe); let Ce; if (Pe) { g && g.push({ inputSourceFileNames: Pe.getSources(), sourceMap: Pe.toJSON() }); let Be = Z(ge, Pe, U, re, we); if (Be && (x.isAtStartOfLine() || x.rawWrite(S), Ce = x.getTextPos(), x.writeComment(`//# sourceMappingURL=${Be}`)), re) { let Ne = Pe.toString(); BI(t, v, re, Ne, !1, ke), _e.bundleFileInfo && (_e.bundleFileInfo.mapHash = YT(Ne, t)) } } else x.writeLine(); let Ie = x.getText(); BI(t, v, U, Ie, !!d.emitBOM, ke, { sourceMapUrlPos: Ce, diagnostics: le.diagnostics }), _e.bundleFileInfo && (_e.bundleFileInfo.hash = YT(Ie, t)), x.clear() } function ie(U, re) { return (U.sourceMap || U.inlineSourceMap) && (re.kind !== 308 || !Gc(re.fileName, ".json")) } function $(U) { let re = Al(U.sourceRoot || ""); return re && cu(re) } function fe(U, re, le) { if (U.sourceRoot) return t.getCommonSourceDirectory(); if (U.mapRoot) { let _e = Al(U.mapRoot); return le && (_e = ni(e4(le.fileName, t, _e))), _p(_e) === 0 && (_e = vi(t.getCommonSourceDirectory(), _e)), _e } return ni(So(re)) } function Z(U, re, le, _e, ge) { if (U.inlineSourceMap) { let Ve = re.toString(); return `data:application/json;base64,${tle(xl, Ve)}` } let X = Hl(Al(L.checkDefined(_e))); if (U.mapRoot) { let Ve = Al(U.mapRoot); return ge && (Ve = ni(e4(ge.fileName, t, Ve))), _p(Ve) === 0 ? (Ve = vi(t.getCommonSourceDirectory(), Ve), encodeURI(Q1(ni(So(le)), vi(Ve, X), t.getCurrentDirectory(), t.getCanonicalFileName, !0))) : encodeURI(vi(Ve, X)) } return encodeURI(X) } } function dN(e, t) { return { bundle: t, program: e, version: Rf } } function Npe(e) { return JSON.stringify(e) } function IF(e, t) { return fW(e, t) } function UMe(e, t, r) { var i; let o = L.checkDefined(e.js), s = ((i = o.sources) == null ? void 0 : i.prologues) && p0(o.sources.prologues, l => l.file); return e.sourceFiles.map((l, f) => { var d, g; let m = s?.get(f), v = m?.directives.map(A => { let w = it(D.createStringLiteral(A.expression.text), A.expression), C = it(D.createExpressionStatement(w), A); return go(w, C), C }), S = D.createToken(1), x = D.createSourceFile(v ?? [], S, 0); return x.fileName = Xp(r.getCurrentDirectory(), _a(l, t), !r.useCaseSensitiveFileNames()), x.text = (d = m?.text) != null ? d : "", oL(x, 0, (g = m?.text.length) != null ? g : 0), i2(x.statements, x), oL(S, x.end, 0), go(S, x), x }) } function Ppe(e, t, r, i) { var o, s; (o = ai) == null || o.push(ai.Phase.Emit, "emitUsingBuildInfo", {}, !0), ZD.mark("beforeEmit"); let l = VMe(e, t, r, i); return ZD.mark("afterEmit"), ZD.measure("Emit", "beforeEmit", "afterEmit"), (s = ai) == null || s.pop(), l } function VMe(e, t, r, i) { let { buildInfoPath: o, jsFilePath: s, sourceMapFilePath: l, declarationFilePath: f, declarationMapPath: d } = JL(e.options, !1), g = t.getBuildInfo(o, e.options.configFilePath); if (!g || !g.bundle || !g.bundle.js || f && !g.bundle.dts) return o; let m = t.readFile(L.checkDefined(s)); if (!m || YT(m, t) !== g.bundle.js.hash) return s; let v = l && t.readFile(l); if (l && !v || e.options.inlineSourceMap) return l || "inline sourcemap decoding"; if (l && YT(v, t) !== g.bundle.js.mapHash) return l; let S = f && t.readFile(f); if (f && !S || f && YT(S, t) !== g.bundle.dts.hash) return f; let x = d && t.readFile(d); if (d && !x || e.options.inlineSourceMap) return d || "inline sourcemap decoding"; if (d && YT(x, t) !== g.bundle.dts.mapHash) return d; let A = ni(_a(o, t.getCurrentDirectory())), w = pz(s, m, l, v, f, S, d, x, o, g, !0), C = [], P = fq(e.projectReferences, r, Y => t.readFile(Y), t), F = UMe(g.bundle, A, t), B, q, W = { getPrependNodes: zu(() => [...P, w]), getCanonicalFileName: t.getCanonicalFileName, getCommonSourceDirectory: () => _a(g.bundle.commonSourceDirectory, A), getCompilerOptions: () => e.options, getCurrentDirectory: () => t.getCurrentDirectory(), getSourceFile: Qv, getSourceFileByPath: Qv, getSourceFiles: () => F, getLibFileFromReference: Sa, isSourceFileFromExternalLibrary: m0, getResolvedProjectReferenceToRedirect: Qv, getProjectReferenceRedirect: Qv, isSourceOfProjectReferenceRedirect: m0, writeFile: (Y, R, ie, $, fe, Z) => { switch (Y) { case s: if (m === R) return; break; case l: if (v === R) return; break; case o: break; case f: if (S === R) return; B = R, q = Z; break; case d: if (x === R) return; break; default: L.fail(`Unexpected path: ${Y}`) }C.push({ name: Y, text: R, writeByteOrderMark: ie, data: Z }) }, isEmitBlocked: m0, readFile: Y => t.readFile(Y), fileExists: Y => t.fileExists(Y), useCaseSensitiveFileNames: () => t.useCaseSensitiveFileNames(), getBuildInfo: Y => { let R = g.program; R && B !== void 0 && e.options.composite && (R.outSignature = YT(B, t, q)); let { js: ie, dts: $, sourceFiles: fe } = g.bundle; return Y.js.sources = ie.sources, $ && (Y.dts.sources = $.sources), Y.sourceFiles = fe, dN(R, Y) }, getSourceFileFromReference: Qv, redirectTargetsMap: Nf(), getFileIncludeReasons: Sa, createHash: ho(t, t.createHash) }; return CF(LF, W, void 0, jK(e.options, i)), C } function nE(e = {}, t = {}) { var { hasGlobalName: r, onEmitNode: i = cN, isEmitNotificationEnabled: o, substituteNode: s = zL, onBeforeEmitNode: l, onAfterEmitNode: f, onBeforeEmitNodeArray: d, onAfterEmitNodeArray: g, onBeforeEmitToken: m, onAfterEmitToken: v } = t, S = !!e.extendedDiagnostics, x = db(e), A = Rl(e), w = new Map, C, P, F, B, q, W, Y, R, ie, $, fe, Z, U, re, le, _e = e.preserveSourceNewlines, ge, X, Ve, we = uC, ke, Pe = e.writeBundleFileInfo ? { sections: [] } : void 0, Ce = Pe ? L.checkDefined(e.relativeToBuildInfo) : void 0, Ie = e.recordInternalSection, Be = 0, Ne = "text", Le = !0, Ye, _t, ct = -1, Rt, We = -1, qe = -1, zt = -1, Qt = -1, tn, kn, _n = !1, Gt = !!e.removeComments, $n, ui, { enter: Ni, exit: Pi } = Zae(S, "commentTime", "beforeComment", "afterComment"), gr = D.parenthesizer, pt = { select: E => E === 0 ? gr.parenthesizeLeadingTypeArgument : void 0 }, nn = Dc(); return Oe(), { printNode: Dt, printList: pn, printFile: Kn, printBundle: An, writeNode: ri, writeList: vn, writeFile: ve, writeBundle: at, bundleFileInfo: Pe }; function Dt(E, ne, Ee) { switch (E) { case 0: L.assert(Li(ne), "Expected a SourceFile node."); break; case 2: L.assert(Re(ne), "Expected an Identifier node."); break; case 1: L.assert(ot(ne), "Expected an Expression node."); break }switch (ne.kind) { case 308: return Kn(ne); case 309: return An(ne); case 310: return hi(ne) }return ri(E, ne, Ee, nt()), ce() } function pn(E, ne, Ee) { return vn(E, ne, Ee, nt()), ce() } function An(E) { return at(E, nt(), void 0), ce() } function Kn(E) { return ve(E, nt(), void 0), ce() } function hi(E) { return Tt(E, nt()), ce() } function ri(E, ne, Ee, Wt) { let lr = X; G(Wt, void 0), Q(E, ne, Ee), Oe(), X = lr } function vn(E, ne, Ee, Wt) { let lr = X; G(Wt, void 0), Ee && ue(Ee), cs(void 0, ne, E), Oe(), X = lr } function Ht() { return X.getTextPosWithWriteLine ? X.getTextPosWithWriteLine() : X.getTextPos() } function En(E, ne, Ee) { let Wt = Os(Pe.sections); Wt && Wt.kind === Ee ? Wt.end = ne : Pe.sections.push({ pos: E, end: ne, kind: Ee }) } function dr(E) { if (Ie && Pe && C && (Kl(E) || Bc(E)) && BK(E, C) && Ne !== "internal") { let ne = Ne; return Se(X.getTextPos()), Be = Ht(), Ne = "internal", ne } } function Cr(E) { E && (Se(X.getTextPos()), Be = Ht(), Ne = E) } function Se(E) { return Be < E ? (En(Be, E, Ne), !0) : !1 } function at(E, ne, Ee) { ke = !1; let Wt = X; G(ne, Ee), Bb(E), T1(E), Vt(E), v1(E); for (let lr of E.prepends) { nl(); let ci = X.getTextPos(), qr = Pe && Pe.sections; if (qr && (Pe.sections = []), Q(4, lr, void 0), Pe) { let Ti = Pe.sections; Pe.sections = qr, lr.oldFileOfCurrentEmit ? Pe.sections.push(...Ti) : (Ti.forEach(Wa => L.assert(dle(Wa))), Pe.sections.push({ pos: ci, end: X.getTextPos(), kind: "prepend", data: Ce(lr.fileName), texts: Ti })) } } Be = Ht(); for (let lr of E.sourceFiles) Q(0, lr, lr); if (Pe && E.sourceFiles.length) { let lr = X.getTextPos(); if (Se(lr)) { let ci = xx(E); ci && (Pe.sources || (Pe.sources = {}), Pe.sources.prologues = ci); let qr = Qe(E); qr && (Pe.sources || (Pe.sources = {}), Pe.sources.helpers = qr) } } Oe(), X = Wt } function Tt(E, ne) { let Ee = X; G(ne, void 0), Q(4, E, void 0), Oe(), X = Ee } function ve(E, ne, Ee) { ke = !0; let Wt = X; G(ne, Ee), Bb(E), T1(E), Q(0, E, E), Oe(), X = Wt } function nt() { return Ve || (Ve = SR(x)) } function ce() { let E = Ve.getText(); return Ve.clear(), E } function Q(E, ne, Ee) { Ee && ue(Ee), rt(E, ne, void 0) } function ue(E) { C = E, tn = void 0, kn = void 0, E && sg(E) } function G(E, ne) { E && e.omitTrailingSemicolon && (E = XH(E)), X = E, Ye = ne, Le = !X || !Ye } function Oe() { P = [], F = [], B = [], q = new Set, W = [], Y = new Map, R = [], ie = 0, $ = [], fe = 0, Z = [], U = void 0, re = [], le = void 0, C = void 0, tn = void 0, kn = void 0, G(void 0, void 0) } function je() { return tn || (tn = Sh(L.checkDefined(C))) } function Ge(E, ne) { if (E === void 0) return; let Ee = dr(E); rt(4, E, ne), Cr(Ee) } function kt(E) { E !== void 0 && rt(2, E, void 0) } function Kt(E, ne) { E !== void 0 && rt(1, E, ne) } function ln(E) { rt(yo(E) ? 6 : 4, E) } function ir(E) { _e && o_(E) & 4 && (_e = !1) } function ae(E) { _e = E } function rt(E, ne, Ee) { ui = Ee, oe(0, E, ne)(E, ne), ui = void 0 } function Ot(E) { return !Gt && !Li(E) } function Ke(E) { return !Le && !Li(E) && !B6(E) && !BT(E) && !Wue(E) } function oe(E, ne, Ee) { switch (E) { case 0: if (i !== cN && (!o || o(Ee))) return z; case 1: if (s !== zL && ($n = s(ne, Ee) || Ee) !== Ee) return ui && ($n = ui($n)), lt; case 2: if (Ot(Ee)) return vd; case 3: if (Ke(Ee)) return OE; case 4: return Te; default: return L.assertNever(E) } } function pe(E, ne, Ee) { return oe(E + 1, ne, Ee) } function z(E, ne) { let Ee = pe(0, E, ne); i(E, ne, Ee) } function Te(E, ne) { if (l?.(ne), _e) { let Ee = _e; ir(ne), j(E, ne), ae(Ee) } else j(E, ne); f?.(ne), ui = void 0 } function j(E, ne, Ee = !0) { if (Ee) { let Wt = bz(ne); if (Wt) return Fa(E, ne, Wt) } if (E === 0) return Fb(Ga(ne, Li)); if (E === 2) return Nr(Ga(ne, Re)); if (E === 6) return ei(Ga(ne, yo), !0); if (E === 3) return yt(Ga(ne, _c)); if (E === 5) return L.assertNode(ne, Pz), oa(!0); if (E === 4) { switch (ne.kind) { case 15: case 16: case 17: return ei(ne, !1); case 79: return Nr(ne); case 80: return Fo(ne); case 163: return Qr(ne); case 164: return gn(ne); case 165: return Ki(ne); case 166: return kc(ne); case 167: return Ps(ne); case 168: return mc(ne); case 169: return xc(ne); case 170: return hc(ne); case 171: return ro(ne); case 172: return aa(ne); case 173: return Co(ne); case 174: case 175: return gc(ne); case 176: return Ll(ne); case 177: return md(ne); case 178: return Pc(ne); case 179: return qs(ne); case 180: return Rs(ne); case 181: return As(ne); case 182: return se(ne); case 183: return ht(ne); case 184: return wt(ne); case 185: return K(ne); case 186: return ft(ne); case 187: return pr(ne); case 189: return yr(ne); case 190: return ta(ne); case 191: return Go(ne); case 192: return Ka(ne); case 193: return vo(ne); case 230: return Jf(ne); case 194: return ka(); case 195: return Hs(ne); case 196: return Uc(ne); case 197: return Gu(ne); case 198: return $o(ne); case 199: return Yt(ne); case 200: return jo(ne); case 201: return bl(ne); case 202: return Ws(ne); case 203: return hd(ne); case 204: return vc(ne); case 205: return nf(ne); case 236: return He(ne); case 237: return ss(); case 238: return Nt(ne); case 240: return la(ne); case 239: return oa(!1); case 241: return be(ne); case 242: return De(ne); case 243: return St(ne); case 244: return Zt(ne); case 245: return rn(ne); case 246: return sn(ne); case 247: return Dn(ne); case 248: return ki(ne); case 249: return Vn(ne); case 250: return mm(ne); case 251: return Hh(ne); case 252: return T_(ne); case 253: return Cb(ne); case 254: return mv(ne); case 255: return gx(ne); case 256: return _1(ne); case 257: return yx(ne); case 258: return Wh(ne); case 259: return S_(ne); case 260: return p1(ne); case 261: return dE(ne); case 262: return fE(ne); case 263: return yv(ne); case 264: return vx(ne); case 265: return _E(ne); case 266: return pE(ne); case 267: return x_(ne); case 268: return vv(ne); case 269: return bv(ne); case 270: return m1(ne); case 271: return Jh(ne); case 277: return Zu(ne); case 272: return Lo(ne); case 273: return mE(ne); case 274: return sC(ne); case 275: return Zg(ne); case 276: return ed(ne); case 278: return td(ne); case 296: return Kh(ne); case 297: return hm(ne); case 279: return; case 280: return bx(ne); case 11: return Ob(ne); case 283: case 286: return h1(ne); case 284: case 287: return cC(ne); case 288: return Ev(ne); case 289: return Ex(ne); case 290: return hE(ne); case 291: return Tv(ne); case 292: return Sv(ne); case 293: return Xh(ne); case 294: return wo(ne); case 295: return A_(ne); case 299: return gE(ne); case 300: return Kc(ne); case 301: return th(ne); case 302: return Pb(ne); case 303: return Si(ne); case 310: case 304: return Kr(ne); case 305: case 306: return Ja(ne); case 307: return Za(ne); case 308: return Fb(ne); case 309: return L.fail("Bundles should be printed using printBundle"); case 311: return L.fail("InputFiles should not be printed"); case 312: return zs(ne); case 313: return Yh(ne); case 315: return Qn("*"); case 316: return Qn("?"); case 317: return yc(ne); case 318: return Ql(ne); case 319: return yu(ne); case 320: return jt(ne); case 188: case 321: return Xe(ne); case 322: return; case 323: return C_(ne); case 325: return yd(ne); case 326: return yE(ne); case 330: case 335: case 340: return gm(ne); case 331: case 332: return ll(ne); case 333: case 334: return; case 336: case 337: case 338: case 339: return; case 341: return Ai(ne); case 342: return Rr(ne); case 344: case 351: return $h(ne); case 343: case 345: case 346: case 347: case 352: case 353: return Mb(ne); case 348: return y1(ne); case 349: return lC(ne); case 350: return Ml(ne); case 355: case 359: case 358: return }if (ot(ne) && (E = 1, s !== zL)) { let Wt = s(E, ne) || ne; Wt !== ne && (ne = Wt, ui && (ne = ui(ne))) } } if (E === 1) switch (ne.kind) { case 8: case 9: return jr(ne); case 10: case 13: case 14: return ei(ne, !1); case 79: return Nr(ne); case 80: return Fo(ne); case 206: return ye(ne); case 207: return Et(ne); case 208: return bn(ne); case 209: return io(ne); case 210: return ee(ne); case 211: return Ze(ne); case 212: return At(ne); case 213: return xt(ne); case 214: return qt(ne); case 215: return Ln(ne); case 216: return mr(ne); case 217: return gi(ne); case 218: return Ea(ne); case 219: return bo(ne); case 220: return Qo(ne); case 221: return Cs(ne); case 222: return Pd(ne); case 223: return nn(ne); case 224: return gd(ne); case 225: return Zl(ne); case 226: return Md(ne); case 227: return zf(ne); case 228: return Io(ne); case 229: return; case 231: return Fd(ne); case 232: return E_(ne); case 230: return Jf(ne); case 235: return Y_(ne); case 233: return M(ne); case 234: return L.fail("SyntheticExpression should never be printed."); case 279: return; case 281: return wb(ne); case 282: return qh(ne); case 285: return Rb(ne); case 354: return L.fail("SyntaxList should not be printed"); case 355: return; case 356: return Tx(ne); case 357: return Sx(ne); case 358: case 359: return; case 360: return L.fail("SyntheticReferenceExpression should not be printed") }if (Xu(ne.kind)) return EE(ne, zi); if (Nj(ne.kind)) return EE(ne, Qn); L.fail(`Unhandled SyntaxKind: ${L.formatSyntaxKind(ne.kind)}.`) } function yt(E) { Ge(E.name), Wn(), zi("in"), Wn(), Ge(E.constraint) } function lt(E, ne) { let Ee = pe(1, E, ne); L.assertIsDefined($n), ne = $n, $n = void 0, Ee(E, ne) } function Qe(E) { let ne; if (A === 0 || e.noEmitHelpers) return; let Ee = new Map; for (let Wt of E.sourceFiles) { let lr = SO(Wt) !== void 0, ci = Hn(Wt); if (ci) for (let qr of ci) !qr.scoped && !lr && !Ee.get(qr.name) && (Ee.set(qr.name, !0), (ne || (ne = [])).push(qr.name)) } return ne } function Vt(E) { let ne = !1, Ee = E.kind === 309 ? E : void 0; if (Ee && A === 0) return; let Wt = Ee ? Ee.prepends.length : 0, lr = Ee ? Ee.sourceFiles.length + Wt : 1; for (let ci = 0; ci < lr; ci++) { let qr = Ee ? ci < Wt ? Ee.prepends[ci] : Ee.sourceFiles[ci - Wt] : E, Ti = Li(qr) ? qr : BT(qr) ? void 0 : C, Wa = e.noEmitHelpers || !!Ti && ide(Ti), kl = (Li(qr) || BT(qr)) && !ke, Ed = BT(qr) ? qr.helpers : Hn(qr); if (Ed) for (let Ud of Ed) { if (Ud.scoped) { if (Ee) continue } else { if (Wa) continue; if (kl) { if (w.get(Ud.name)) continue; w.set(Ud.name, !0) } } let fy = Ht(); typeof Ud.text == "string" ? Ac(Ud.text) : Ac(Ud.text(of)), Pe && Pe.sections.push({ pos: fy, end: X.getTextPos(), kind: "emitHelpers", data: Ud.name }), ne = !0 } } return ne } function Hn(E) { let ne = O4(E); return ne && Ag(ne, Sue) } function jr(E) { ei(E, !1) } function ei(E, ne) { let Ee = uc(E, e.neverAsciiEscape, ne); (e.sourceMap || e.inlineSourceMap) && (E.kind === 10 || Hy(E.kind)) ? jb(Ee) : Ix(Ee) } function Kr(E) { for (let ne of E.texts) nl(), Ge(ne) } function Si(E) { X.rawWrite(E.parent.text.substring(E.pos, E.end)) } function Ja(E) { let ne = Ht(); Si(E), Pe && En(ne, X.getTextPos(), E.kind === 305 ? "text" : "internal") } function Za(E) { let ne = Ht(); if (Si(E), Pe) { let Ee = VU(E.section); Ee.pos = ne, Ee.end = X.getTextPos(), Pe.sections.push(Ee) } } function Fa(E, ne, Ee) { switch (Ee.kind) { case 1: Hi(E, ne, Ee); break; case 0: xi(E, ne, Ee); break } } function Hi(E, ne, Ee) { ry(`\${${Ee.order}:`), j(E, ne, !1), ry("}") } function xi(E, ne, Ee) { L.assert(ne.kind === 239, `A tab stop cannot be attached to a node of kind ${L.formatSyntaxKind(ne.kind)}.`), L.assert(E !== 5, "A tab stop cannot be attached to an embedded statement."), ry(`$${Ee.order}`) } function Nr(E) { (E.symbol ? Lx : we)(oy(E, !1), E.symbol), cs(E, NT(E), 53776) } function Fo(E) { we(oy(E, !1)) } function Qr(E) { Wi(E.left), Qn("."), Ge(E.right) } function Wi(E) { E.kind === 79 ? Kt(E) : Ge(E) } function gn(E) { let ne = ie, Ee = le; Gl(), Qn("["), Kt(E.expression, gr.parenthesizeExpressionOfComputedPropertyName), Qn("]"), Iv(ne, Ee) } function Ki(E) { Qh(E, E.modifiers), Ge(E.name), E.constraint && (Wn(), zi("extends"), Wn(), Ge(E.constraint)), E.default && (Wn(), af("="), Wn(), Ge(E.default)) } function kc(E) { rf(E, E.modifiers, !0), Ge(E.dotDotDotToken), S1(E.name, Av), Ge(E.questionToken), E.parent && E.parent.kind === 320 && !E.name ? Ge(E.type) : Q_(E.type), I_(E.initializer, E.type ? E.type.end : E.questionToken ? E.questionToken.end : E.name ? E.name.end : E.modifiers ? E.modifiers.end : E.pos, E, gr.parenthesizeExpressionForDisallowedComma) } function Ps(E) { Qn("@"), Kt(E.expression, gr.parenthesizeLeftSideOfAccess) } function mc(E) { Qh(E, E.modifiers), S1(E.name, kx), Ge(E.questionToken), Q_(E.type), lc() } function xc(E) { rf(E, E.modifiers, !0), Ge(E.name), Ge(E.questionToken), Ge(E.exclamationToken), Q_(E.type), I_(E.initializer, E.type ? E.type.end : E.questionToken ? E.questionToken.end : E.name.end, E), lc() } function hc(E) { ng(E), Qh(E, E.modifiers), Ge(E.name), Ge(E.questionToken), Dp(E, E.typeParameters), eg(E, E.parameters), Q_(E.type), lc(), ih(E) } function ro(E) { rf(E, E.modifiers, !0), Ge(E.asteriskToken), Ge(E.name), Ge(E.questionToken), eh(E, $_) } function aa(E) { zi("static"), lE(E.body) } function Co(E) { rf(E, E.modifiers, !1), zi("constructor"), eh(E, $_) } function gc(E) { let ne = rf(E, E.modifiers, !0), Ee = E.kind === 174 ? 137 : 151; $t(Ee, ne, zi, E), Wn(), Ge(E.name), eh(E, $_) } function Ll(E) { ng(E), Dp(E, E.typeParameters), eg(E, E.parameters), Q_(E.type), lc(), ih(E) } function md(E) { ng(E), zi("new"), Wn(), Dp(E, E.typeParameters), eg(E, E.parameters), Q_(E.type), lc(), ih(E) } function Pc(E) { rf(E, E.modifiers, !1), ty(E, E.parameters), Q_(E.type), lc() } function bl(E) { Ge(E.type), Ge(E.literal) } function ss() { lc() } function qs(E) { E.assertsModifier && (Ge(E.assertsModifier), Wn()), Ge(E.parameterName), E.type && (Wn(), zi("is"), Wn(), Ge(E.type)) } function Rs(E) { Ge(E.typeName), kp(E, E.typeArguments) } function As(E) { ng(E), Dp(E, E.typeParameters), A1(E, E.parameters), Wn(), Qn("=>"), Wn(), Ge(E.type), ih(E) } function jt(E) { zi("function"), eg(E, E.parameters), Qn(":"), Ge(E.type) } function yc(E) { Qn("?"), Ge(E.type) } function Ql(E) { Qn("!"), Ge(E.type) } function yu(E) { Ge(E.type), Qn("=") } function se(E) { ng(E), Qh(E, E.modifiers), zi("new"), Wn(), Dp(E, E.typeParameters), eg(E, E.parameters), Wn(), Qn("=>"), Wn(), Ge(E.type), ih(E) } function ht(E) { zi("typeof"), Wn(), Ge(E.exprName), kp(E, E.typeArguments) } function wt(E) { Iv(0, void 0), Qn("{"); let ne = Ya(E) & 1 ? 768 : 32897; cs(E, E.members, ne | 524288), Qn("}"), Gl() } function K(E) { Ge(E.elementType, gr.parenthesizeNonArrayTypeOfPostfixType), Qn("["), Qn("]") } function Xe(E) { Qn("..."), Ge(E.type) } function ft(E) { $t(22, E.pos, Qn, E); let ne = Ya(E) & 1 ? 528 : 657; cs(E, E.elements, ne | 524288, gr.parenthesizeElementTypeOfTupleType), $t(23, E.elements.end, Qn, E) } function Yt(E) { Ge(E.dotDotDotToken), Ge(E.name), Ge(E.questionToken), $t(58, E.name.end, Qn, E), Wn(), Ge(E.type) } function pr(E) { Ge(E.type, gr.parenthesizeTypeOfOptionalType), Qn("?") } function yr(E) { cs(E, E.types, 516, gr.parenthesizeConstituentTypeOfUnionType) } function ta(E) { cs(E, E.types, 520, gr.parenthesizeConstituentTypeOfIntersectionType) } function Go(E) { Ge(E.checkType, gr.parenthesizeCheckTypeOfConditionalType), Wn(), zi("extends"), Wn(), Ge(E.extendsType, gr.parenthesizeExtendsTypeOfConditionalType), Wn(), Qn("?"), Wn(), Ge(E.trueType), Wn(), Qn(":"), Wn(), Ge(E.falseType) } function Ka(E) { zi("infer"), Wn(), Ge(E.typeParameter) } function vo(E) { Qn("("), Ge(E.type), Qn(")") } function ka() { zi("this") } function Hs(E) { L_(E.operator, zi), Wn(); let ne = E.operator === 146 ? gr.parenthesizeOperandOfReadonlyTypeOperator : gr.parenthesizeOperandOfTypeOperator; Ge(E.type, ne) } function Uc(E) { Ge(E.objectType, gr.parenthesizeNonArrayTypeOfPostfixType), Qn("["), Ge(E.indexType), Qn("]") } function Gu(E) { let ne = Ya(E); Qn("{"), ne & 1 ? Wn() : (nl(), Kf()), E.readonlyToken && (Ge(E.readonlyToken), E.readonlyToken.kind !== 146 && zi("readonly"), Wn()), Qn("["), rt(3, E.typeParameter), E.nameType && (Wn(), zi("as"), Wn(), Ge(E.nameType)), Qn("]"), E.questionToken && (Ge(E.questionToken), E.questionToken.kind !== 57 && Qn("?")), Qn(":"), Wn(), Ge(E.type), lc(), ne & 1 ? Wn() : (nl(), Z_()), cs(E, E.members, 2), Qn("}") } function $o(E) { Kt(E.literal) } function jo(E) { Ge(E.head), cs(E, E.templateSpans, 262144) } function Ws(E) { if (E.isTypeOf && (zi("typeof"), Wn()), zi("import"), Qn("("), Ge(E.argument), E.assertions) { Qn(","), Wn(), Qn("{"), Wn(), zi("assert"), Qn(":"), Wn(); let ne = E.assertions.assertClause.elements; cs(E.assertions.assertClause, ne, 526226), Wn(), Qn("}") } Qn(")"), E.qualifier && (Qn("."), Ge(E.qualifier)), kp(E, E.typeArguments) } function hd(E) { Qn("{"), cs(E, E.elements, 525136), Qn("}") } function vc(E) { Qn("["), cs(E, E.elements, 524880), Qn("]") } function nf(E) { Ge(E.dotDotDotToken), E.propertyName && (Ge(E.propertyName), Qn(":"), Wn()), Ge(E.name), I_(E.initializer, E.name.end, E, gr.parenthesizeExpressionForDisallowedComma) } function ye(E) { let ne = E.elements, Ee = E.multiLine ? 65536 : 0; ny(E, ne, 8914 | Ee, gr.parenthesizeExpressionForDisallowedComma) } function Et(E) { Iv(0, void 0), mn(E.properties, xE); let ne = Ya(E) & 131072; ne && Kf(); let Ee = E.multiLine ? 65536 : 0, Wt = C && C.languageVersion >= 1 && !Mf(C) ? 64 : 0; cs(E, E.properties, 526226 | Wt | Ee), ne && Z_(), Gl() } function bn(E) { Kt(E.expression, gr.parenthesizeLeftSideOfAccess); let ne = E.questionDotToken || om(D.createToken(24), E.expression.end, E.name.pos), Ee = ep(E, E.expression, ne), Wt = ep(E, ne, E.name); wc(Ee, !1), ne.kind !== 28 && Ri(E.expression) && !X.hasTrailingComment() && !X.hasTrailingWhitespace() && Qn("."), E.questionDotToken ? Ge(ne) : $t(ne.kind, E.expression.end, Qn, E), wc(Wt, !1), Ge(E.name), tg(Ee, Wt) } function Ri(E) { if (E = a_(E), Vf(E)) { let ne = uc(E, !0, !1); return !E.numericLiteralFlags && !jl(ne, Xa(24)) } else if (Us(E)) { let ne = mue(E); return typeof ne == "number" && isFinite(ne) && Math.floor(ne) === ne } } function io(E) { Kt(E.expression, gr.parenthesizeLeftSideOfAccess), Ge(E.questionDotToken), $t(22, E.expression.end, Qn, E), Kt(E.argumentExpression), $t(23, E.argumentExpression.end, Qn, E) } function ee(E) { let ne = o_(E) & 16; ne && (Qn("("), jb("0"), Qn(","), Wn()), Kt(E.expression, gr.parenthesizeLeftSideOfAccess), ne && Qn(")"), Ge(E.questionDotToken), kp(E, E.typeArguments), ny(E, E.arguments, 2576, gr.parenthesizeExpressionForDisallowedComma) } function Ze(E) { $t(103, E.pos, zi, E), Wn(), Kt(E.expression, gr.parenthesizeExpressionOfNew), kp(E, E.typeArguments), ny(E, E.arguments, 18960, gr.parenthesizeExpressionForDisallowedComma) } function At(E) { let ne = o_(E) & 16; ne && (Qn("("), jb("0"), Qn(","), Wn()), Kt(E.tag, gr.parenthesizeLeftSideOfAccess), ne && Qn(")"), kp(E, E.typeArguments), Wn(), Kt(E.template) } function xt(E) { Qn("<"), Ge(E.type), Qn(">"), Kt(E.expression, gr.parenthesizeOperandOfPrefixUnary) } function qt(E) { let ne = $t(20, E.pos, Qn, E), Ee = TE(E.expression, E); Kt(E.expression, void 0), Hb(E.expression, E), tg(Ee), $t(21, E.expression ? E.expression.end : ne, Qn, E) } function Ln(E) { oh(E.name), hv(E) } function mr(E) { Qh(E, E.modifiers), eh(E, Vr) } function Vr(E) { Dp(E, E.typeParameters), A1(E, E.parameters), Q_(E.type), Wn(), Ge(E.equalsGreaterThanToken) } function gi(E) { $t(89, E.pos, zi, E), Wn(), Kt(E.expression, gr.parenthesizeOperandOfPrefixUnary) } function Ea(E) { $t(112, E.pos, zi, E), Wn(), Kt(E.expression, gr.parenthesizeOperandOfPrefixUnary) } function bo(E) { $t(114, E.pos, zi, E), Wn(), Kt(E.expression, gr.parenthesizeOperandOfPrefixUnary) } function Qo(E) { $t(133, E.pos, zi, E), Wn(), Kt(E.expression, gr.parenthesizeOperandOfPrefixUnary) } function Cs(E) { L_(E.operator, af), Bu(E) && Wn(), Kt(E.operand, gr.parenthesizeOperandOfPrefixUnary) } function Bu(E) { let ne = E.operand; return ne.kind === 221 && (E.operator === 39 && (ne.operator === 39 || ne.operator === 45) || E.operator === 40 && (ne.operator === 40 || ne.operator === 46)) } function Pd(E) { Kt(E.operand, gr.parenthesizeOperandOfPostfixUnary), L_(E.operator, af) } function Dc() { return C3(E, ne, Ee, Wt, lr, void 0); function E(qr, Ti) { if (Ti) { Ti.stackIndex++, Ti.preserveSourceNewlinesStack[Ti.stackIndex] = _e, Ti.containerPosStack[Ti.stackIndex] = qe, Ti.containerEndStack[Ti.stackIndex] = zt, Ti.declarationListContainerEndStack[Ti.stackIndex] = Qt; let Wa = Ti.shouldEmitCommentsStack[Ti.stackIndex] = Ot(qr), kl = Ti.shouldEmitSourceMapsStack[Ti.stackIndex] = Ke(qr); l?.(qr), Wa && ju(qr), kl && NE(qr), ir(qr) } else Ti = { stackIndex: 0, preserveSourceNewlinesStack: [void 0], containerPosStack: [-1], containerEndStack: [-1], declarationListContainerEndStack: [-1], shouldEmitCommentsStack: [!1], shouldEmitSourceMapsStack: [!1] }; return Ti } function ne(qr, Ti, Wa) { return ci(qr, Wa, "left") } function Ee(qr, Ti, Wa) { let kl = qr.kind !== 27, Ed = ep(Wa, Wa.left, qr), Ud = ep(Wa, qr, Wa.right); wc(Ed, kl), rd(qr.pos), EE(qr, qr.kind === 101 ? zi : af), ag(qr.end, !0), wc(Ud, !0) } function Wt(qr, Ti, Wa) { return ci(qr, Wa, "right") } function lr(qr, Ti) { let Wa = ep(qr, qr.left, qr.operatorToken), kl = ep(qr, qr.operatorToken, qr.right); if (tg(Wa, kl), Ti.stackIndex > 0) { let Ed = Ti.preserveSourceNewlinesStack[Ti.stackIndex], Ud = Ti.containerPosStack[Ti.stackIndex], fy = Ti.containerEndStack[Ti.stackIndex], Td = Ti.declarationListContainerEndStack[Ti.stackIndex], Ov = Ti.shouldEmitCommentsStack[Ti.stackIndex], Nv = Ti.shouldEmitSourceMapsStack[Ti.stackIndex]; ae(Ed), Nv && PE(qr), Ov && I1(qr, Ud, fy, Td), f?.(qr), Ti.stackIndex-- } } function ci(qr, Ti, Wa) { let kl = Wa === "left" ? gr.getParenthesizeLeftSideOfBinaryForOperator(Ti.operatorToken.kind) : gr.getParenthesizeRightSideOfBinaryForOperator(Ti.operatorToken.kind), Ed = oe(0, 1, qr); if (Ed === lt && (L.assertIsDefined($n), qr = kl(Ga($n, ot)), Ed = pe(1, 1, qr), $n = void 0), (Ed === vd || Ed === OE || Ed === Te) && ar(qr)) return qr; ui = kl, Ed(1, qr) } } function gd(E) { let ne = ep(E, E.condition, E.questionToken), Ee = ep(E, E.questionToken, E.whenTrue), Wt = ep(E, E.whenTrue, E.colonToken), lr = ep(E, E.colonToken, E.whenFalse); Kt(E.condition, gr.parenthesizeConditionOfConditionalExpression), wc(ne, !0), Ge(E.questionToken), wc(Ee, !0), Kt(E.whenTrue, gr.parenthesizeBranchOfConditionalExpression), tg(ne, Ee), wc(Wt, !0), Ge(E.colonToken), wc(lr, !0), Kt(E.whenFalse, gr.parenthesizeBranchOfConditionalExpression), tg(Wt, lr) } function Zl(E) { Ge(E.head), cs(E, E.templateSpans, 262144) } function Md(E) { $t(125, E.pos, zi, E), Ge(E.asteriskToken), Lp(E.expression && Is(E.expression), Mc) } function zf(E) { $t(25, E.pos, Qn, E), Kt(E.expression, gr.parenthesizeExpressionForDisallowedComma) } function Io(E) { oh(E.name), uE(E) } function Jf(E) { Kt(E.expression, gr.parenthesizeLeftSideOfAccess), kp(E, E.typeArguments) } function Fd(E) { Kt(E.expression, void 0), E.type && (Wn(), zi("as"), Wn(), Ge(E.type)) } function E_(E) { Kt(E.expression, gr.parenthesizeLeftSideOfAccess), af("!") } function Y_(E) { Kt(E.expression, void 0), E.type && (Wn(), zi("satisfies"), Wn(), Ge(E.type)) } function M(E) { iy(E.keywordToken, E.pos, Qn), Qn("."), Ge(E.name) } function He(E) { Kt(E.expression), Ge(E.literal) } function Nt(E) { Pn(E, !E.multiLine && rh(E)) } function Pn(E, ne) { $t(18, E.pos, Qn, E); let Ee = ne || Ya(E) & 1 ? 768 : 129; cs(E, E.statements, Ee), $t(19, E.statements.end, Qn, E, !!(Ee & 1)) } function la(E) { rf(E, E.modifiers, !1), Ge(E.declarationList), lc() } function oa(E) { E ? Qn(";") : lc() } function be(E) { Kt(E.expression, gr.parenthesizeExpressionOfExpressionStatement), (!C || !Mf(C) || ws(E.expression)) && lc() } function De(E) { let ne = $t(99, E.pos, zi, E); Wn(), $t(20, ne, Qn, E), Kt(E.expression), $t(21, E.expression.end, Qn, E), Uu(E, E.thenStatement), E.elseStatement && (ay(E, E.thenStatement, E.elseStatement), $t(91, E.thenStatement.end, zi, E), E.elseStatement.kind === 242 ? (Wn(), Ge(E.elseStatement)) : Uu(E, E.elseStatement)) } function mt(E, ne) { let Ee = $t(115, ne, zi, E); Wn(), $t(20, Ee, Qn, E), Kt(E.expression), $t(21, E.expression.end, Qn, E) } function St(E) { $t(90, E.pos, zi, E), Uu(E, E.statement), Va(E.statement) && !_e ? Wn() : ay(E, E.statement, E.expression), mt(E, E.statement.end), lc() } function Zt(E) { mt(E, E.pos), Uu(E, E.statement) } function rn(E) { let ne = $t(97, E.pos, zi, E); Wn(); let Ee = $t(20, ne, Qn, E); kr(E.initializer), Ee = $t(26, E.initializer ? E.initializer.end : Ee, Qn, E), Lp(E.condition), Ee = $t(26, E.condition ? E.condition.end : Ee, Qn, E), Lp(E.incrementor), $t(21, E.incrementor ? E.incrementor.end : Ee, Qn, E), Uu(E, E.statement) } function sn(E) { let ne = $t(97, E.pos, zi, E); Wn(), $t(20, ne, Qn, E), kr(E.initializer), Wn(), $t(101, E.initializer.end, zi, E), Wn(), Kt(E.expression), $t(21, E.expression.end, Qn, E), Uu(E, E.statement) } function Dn(E) { let ne = $t(97, E.pos, zi, E); Wn(), x1(E.awaitModifier), $t(20, ne, Qn, E), kr(E.initializer), Wn(), $t(162, E.initializer.end, zi, E), Wn(), Kt(E.expression), $t(21, E.expression.end, Qn, E), Uu(E, E.statement) } function kr(E) { E !== void 0 && (E.kind === 258 ? Ge(E) : Kt(E)) } function ki(E) { $t(86, E.pos, zi, E), Ub(E.label), lc() } function Vn(E) { $t(81, E.pos, zi, E), Ub(E.label), lc() } function $t(E, ne, Ee, Wt, lr) { let ci = ea(Wt), qr = ci && ci.kind === Wt.kind, Ti = ne; if (qr && C && (ne = xo(C.text, ne)), qr && Wt.pos !== Ti) { let Wa = lr && C && !Bf(Ti, ne, C); Wa && Kf(), rd(Ti), Wa && Z_() } if (ne = L_(E, Ee, ne), qr && Wt.end !== ne) { let Wa = Wt.kind === 291; ag(ne, !Wa, Wa) } return ne } function Xn(E) { return E.kind === 2 || !!E.hasTrailingNewLine } function ra(E) { return C ? vt(Nm(C.text, E.pos), Xn) || vt(l2(E), Xn) ? !0 : _3(E) ? E.pos !== E.expression.pos && vt(eb(C.text, E.expression.pos), Xn) ? !0 : ra(E.expression) : !1 : !1 } function Is(E) { if (!Gt && _3(E) && ra(E)) { let ne = ea(E); if (ne && ud(ne)) { let Ee = D.createParenthesizedExpression(E.expression); return Ir(Ee, E), it(Ee, ne), Ee } return D.createParenthesizedExpression(E) } return E } function Mc(E) { return Is(gr.parenthesizeExpressionForDisallowedComma(E)) } function mm(E) { $t(105, E.pos, zi, E), Lp(E.expression && Is(E.expression), Is), lc() } function Hh(E) { let ne = $t(116, E.pos, zi, E); Wn(), $t(20, ne, Qn, E), Kt(E.expression), $t(21, E.expression.end, Qn, E), Uu(E, E.statement) } function T_(E) { let ne = $t(107, E.pos, zi, E); Wn(), $t(20, ne, Qn, E), Kt(E.expression), $t(21, E.expression.end, Qn, E), Wn(), Ge(E.caseBlock) } function Cb(E) { Ge(E.label), $t(58, E.label.end, Qn, E), Wn(), Ge(E.statement) } function mv(E) { $t(109, E.pos, zi, E), Lp(Is(E.expression), Is), lc() } function gx(E) { $t(111, E.pos, zi, E), Wn(), Ge(E.tryBlock), E.catchClause && (ay(E, E.tryBlock, E.catchClause), Ge(E.catchClause)), E.finallyBlock && (ay(E, E.catchClause || E.tryBlock, E.finallyBlock), $t(96, (E.catchClause || E.tryBlock).end, zi, E), Wn(), Ge(E.finallyBlock)) } function _1(E) { iy(87, E.pos, zi), lc() } function yx(E) { var ne, Ee, Wt, lr, ci; Ge(E.name), Ge(E.exclamationToken), Q_(E.type), I_(E.initializer, (ci = (lr = (ne = E.type) == null ? void 0 : ne.end) != null ? lr : (Wt = (Ee = E.name.emitNode) == null ? void 0 : Ee.typeNode) == null ? void 0 : Wt.end) != null ? ci : E.name.end, E, gr.parenthesizeExpressionForDisallowedComma) } function Wh(E) { zi(II(E) ? "let" : kh(E) ? "const" : "var"), Wn(), cs(E, E.declarations, 528) } function S_(E) { hv(E) } function hv(E) { rf(E, E.modifiers, !1), zi("function"), Ge(E.asteriskToken), Wn(), kt(E.name), eh(E, $_) } function eh(E, ne) { let Ee = E.body; if (Ee) if (Va(Ee)) { let Wt = Ya(E) & 131072; Wt && Kf(), ng(E), mn(E.parameters, qc), qc(E.body), ne(E), lE(Ee), ih(E), Wt && Z_() } else ne(E), Wn(), Kt(Ee, gr.parenthesizeConciseBodyOfArrowFunction); else ne(E), lc() } function $_(E) { Dp(E, E.typeParameters), eg(E, E.parameters), Q_(E.type) } function gv(E) { if (Ya(E) & 1) return !0; if (E.multiLine || !ws(E) && C && !DT(E, C) || Fl(E, Sl(E.statements), 2) || bm(E, Os(E.statements), 2, E.statements)) return !1; let ne; for (let Ee of E.statements) { if (qf(ne, Ee, 2) > 0) return !1; ne = Ee } return !0 } function lE(E) { l?.(E), Wn(), Qn("{"), Kf(); let ne = gv(E) ? Ib : zh; ig(E, E.statements, ne), Z_(), iy(19, E.statements.end, Qn, E), f?.(E) } function Ib(E) { zh(E, !0) } function zh(E, ne) { let Ee = xv(E.statements), Wt = X.getTextPos(); Vt(E), Ee === 0 && Wt === X.getTextPos() && ne ? (Z_(), cs(E, E.statements, 768), Kf()) : cs(E, E.statements, 1, void 0, Ee) } function p1(E) { uE(E) } function uE(E) { Iv(0, void 0), mn(E.members, xE), rf(E, E.modifiers, !0), $t(84, yp(E).pos, zi, E), E.name && (Wn(), kt(E.name)); let ne = Ya(E) & 131072; ne && Kf(), Dp(E, E.typeParameters), cs(E, E.heritageClauses, 0), Wn(), Qn("{"), cs(E, E.members, 129), Qn("}"), ne && Z_(), Gl() } function dE(E) { Iv(0, void 0), rf(E, E.modifiers, !1), zi("interface"), Wn(), Ge(E.name), Dp(E, E.typeParameters), cs(E, E.heritageClauses, 512), Wn(), Qn("{"), cs(E, E.members, 129), Qn("}"), Gl() } function fE(E) { rf(E, E.modifiers, !1), zi("type"), Wn(), Ge(E.name), Dp(E, E.typeParameters), Wn(), Qn("="), Wn(), Ge(E.type), lc() } function yv(E) { rf(E, E.modifiers, !1), zi("enum"), Wn(), Ge(E.name), Wn(), Qn("{"), cs(E, E.members, 145), Qn("}") } function vx(E) { rf(E, E.modifiers, !1), ~E.flags & 1024 && (zi(E.flags & 16 ? "namespace" : "module"), Wn()), Ge(E.name); let ne = E.body; if (!ne) return lc(); for (; ne && Tc(ne);)Qn("."), Ge(ne.name), ne = ne.body; Wn(), Ge(ne) } function _E(E) { ng(E), mn(E.statements, qc), Pn(E, rh(E)), ih(E) } function pE(E) { $t(18, E.pos, Qn, E), cs(E, E.clauses, 129), $t(19, E.clauses.end, Qn, E, !0) } function vv(E) { rf(E, E.modifiers, !1), $t(100, E.modifiers ? E.modifiers.end : E.pos, zi, E), Wn(), E.isTypeOnly && ($t(154, E.pos, zi, E), Wn()), Ge(E.name), Wn(), $t(63, E.name.end, Qn, E), Wn(), Lb(E.moduleReference), lc() } function Lb(E) { E.kind === 79 ? Kt(E) : Ge(E) } function bv(E) { rf(E, E.modifiers, !1), $t(100, E.modifiers ? E.modifiers.end : E.pos, zi, E), Wn(), E.importClause && (Ge(E.importClause), Wn(), $t(158, E.importClause.end, zi, E), Wn()), Kt(E.moduleSpecifier), E.assertClause && Ub(E.assertClause), lc() } function m1(E) { E.isTypeOnly && ($t(154, E.pos, zi, E), Wn()), Ge(E.name), E.name && E.namedBindings && ($t(27, E.name.end, Qn, E), Wn()), Ge(E.namedBindings) } function Jh(E) { let ne = $t(41, E.pos, Qn, E); Wn(), $t(128, ne, zi, E), Wn(), Ge(E.name) } function Lo(E) { kb(E) } function mE(E) { Db(E) } function sC(E) { let ne = $t(93, E.pos, zi, E); Wn(), E.isExportEquals ? $t(63, ne, af, E) : $t(88, ne, zi, E), Wn(), Kt(E.expression, E.isExportEquals ? gr.getParenthesizeRightSideOfBinaryForOperator(63) : gr.parenthesizeExpressionOfExportDefault), lc() } function Zg(E) { rf(E, E.modifiers, !1); let ne = $t(93, E.pos, zi, E); if (Wn(), E.isTypeOnly && (ne = $t(154, ne, zi, E), Wn()), E.exportClause ? Ge(E.exportClause) : ne = $t(41, ne, Qn, E), E.moduleSpecifier) { Wn(); let Ee = E.exportClause ? E.exportClause.end : ne; $t(158, Ee, zi, E), Wn(), Kt(E.moduleSpecifier) } E.assertClause && Ub(E.assertClause), lc() } function Kh(E) { $t(130, E.pos, zi, E), Wn(); let ne = E.elements; cs(E, ne, 526226) } function hm(E) { Ge(E.name), Qn(":"), Wn(); let ne = E.value; if (!(Ya(ne) & 1024)) { let Ee = sm(ne); ag(Ee.pos) } Ge(ne) } function x_(E) { let ne = $t(93, E.pos, zi, E); Wn(), ne = $t(128, ne, zi, E), Wn(), ne = $t(143, ne, zi, E), Wn(), Ge(E.name), lc() } function Zu(E) { let ne = $t(41, E.pos, Qn, E); Wn(), $t(128, ne, zi, E), Wn(), Ge(E.name) } function ed(E) { kb(E) } function td(E) { Db(E) } function kb(E) { Qn("{"), cs(E, E.elements, 525136), Qn("}") } function Db(E) { E.isTypeOnly && (zi("type"), Wn()), E.propertyName && (Ge(E.propertyName), Wn(), $t(128, E.propertyName.end, zi, E), Wn()), Ge(E.name) } function bx(E) { zi("require"), Qn("("), Kt(E.expression), Qn(")") } function wb(E) { Ge(E.openingElement), cs(E, E.children, 262144), Ge(E.closingElement) } function qh(E) { Qn("<"), Nb(E.tagName), kp(E, E.typeArguments), Wn(), Ge(E.attributes), Qn("/>") } function Rb(E) { Ge(E.openingFragment), cs(E, E.children, 262144), Ge(E.closingFragment) } function h1(E) { if (Qn("<"), Xm(E)) { let ne = TE(E.tagName, E); Nb(E.tagName), kp(E, E.typeArguments), E.attributes.properties && E.attributes.properties.length > 0 && Wn(), Ge(E.attributes), Hb(E.attributes, E), tg(ne) } Qn(">") } function Ob(E) { X.writeLiteral(E.text) } function cC(E) { Qn("</"), GS(E) && Nb(E.tagName), Qn(">") } function Ex(E) { cs(E, E.properties, 262656) } function Ev(E) { Ge(E.name), Ax("=", Qn, E.initializer, ln) } function hE(E) { Qn("{..."), Kt(E.expression), Qn("}") } function Fe(E) { let ne = !1; return bw(C?.text || "", E + 1, () => ne = !0), ne } function ey(E) { let ne = !1; return vw(C?.text || "", E + 1, () => ne = !0), ne } function Ip(E) { return Fe(E) || ey(E) } function Tv(E) { var ne; if (E.expression || !Gt && !ws(E) && Ip(E.pos)) { let Ee = C && !ws(E) && Gs(C, E.pos).line !== Gs(C, E.end).line; Ee && X.increaseIndent(); let Wt = $t(18, E.pos, Qn, E); Ge(E.dotDotDotToken), Kt(E.expression), $t(19, ((ne = E.expression) == null ? void 0 : ne.end) || Wt, Qn, E), Ee && X.decreaseIndent() } } function Nb(E) { E.kind === 79 ? Kt(E) : Ge(E) } function Sv(E) { $t(82, E.pos, zi, E), Wn(), Kt(E.expression, gr.parenthesizeExpressionForDisallowedComma), g1(E, E.statements, E.expression.end) } function Xh(E) { let ne = $t(88, E.pos, zi, E); g1(E, E.statements, ne) } function g1(E, ne, Ee) { let Wt = ne.length === 1 && (!C || ws(E) || ws(ne[0]) || a4(E, ne[0], C)), lr = 163969; Wt ? (iy(58, Ee, Qn, E), Wn(), lr &= -130) : $t(58, Ee, Qn, E), cs(E, ne, lr) } function wo(E) { Wn(), L_(E.token, zi), Wn(), cs(E, E.types, 528) } function A_(E) { let ne = $t(83, E.pos, zi, E); Wn(), E.variableDeclaration && ($t(20, ne, Qn, E), Ge(E.variableDeclaration), $t(21, E.variableDeclaration.end, Qn, E), Wn()), Ge(E.block) } function gE(E) { Ge(E.name), Qn(":"), Wn(); let ne = E.initializer; if (!(Ya(ne) & 1024)) { let Ee = sm(ne); ag(Ee.pos) } Kt(ne, gr.parenthesizeExpressionForDisallowedComma) } function Kc(E) { Ge(E.name), E.objectAssignmentInitializer && (Wn(), Qn("="), Wn(), Kt(E.objectAssignmentInitializer, gr.parenthesizeExpressionForDisallowedComma)) } function th(E) { E.expression && ($t(25, E.pos, Qn, E), Kt(E.expression, gr.parenthesizeExpressionForDisallowedComma)) } function Pb(E) { Ge(E.name), I_(E.initializer, E.name.end, E, gr.parenthesizeExpressionForDisallowedComma) } function C_(E) { if (we("/**"), E.comment) { let ne = Cw(E.comment); if (ne) { let Ee = ne.split(/\r\n?|\n/g); for (let Wt of Ee) nl(), Wn(), Qn("*"), Wn(), we(Wt) } } E.tags && (E.tags.length === 1 && E.tags[0].kind === 347 && !E.comment ? (Wn(), Ge(E.tags[0])) : cs(E, E.tags, 33)), Wn(), we("*/") } function Mb(E) { nh(E.tagName), zs(E.typeExpression), ym(E.comment) } function Ml(E) { nh(E.tagName), Ge(E.name), ym(E.comment) } function Yh(E) { Wn(), Qn("{"), Ge(E.name), Qn("}") } function ll(E) { nh(E.tagName), Wn(), Qn("{"), Ge(E.class), Qn("}"), ym(E.comment) } function y1(E) { nh(E.tagName), zs(E.constraint), Wn(), cs(E, E.typeParameters, 528), ym(E.comment) } function lC(E) { nh(E.tagName), E.typeExpression && (E.typeExpression.kind === 312 ? zs(E.typeExpression) : (Wn(), Qn("{"), we("Object"), E.typeExpression.isArrayType && (Qn("["), Qn("]")), Qn("}"))), E.fullName && (Wn(), Ge(E.fullName)), ym(E.comment), E.typeExpression && E.typeExpression.kind === 325 && yd(E.typeExpression) } function Ai(E) { nh(E.tagName), E.name && (Wn(), Ge(E.name)), ym(E.comment), yE(E.typeExpression) } function Rr(E) { ym(E.comment), yE(E.typeExpression) } function gm(E) { nh(E.tagName), ym(E.comment) } function yd(E) { cs(E, D.createNodeArray(E.jsDocPropertyTags), 33) } function yE(E) { E.typeParameters && cs(E, D.createNodeArray(E.typeParameters), 33), E.parameters && cs(E, D.createNodeArray(E.parameters), 33), E.type && (nl(), Wn(), Qn("*"), Wn(), Ge(E.type)) } function $h(E) { nh(E.tagName), zs(E.typeExpression), Wn(), E.isBracketed && Qn("["), Ge(E.name), E.isBracketed && Qn("]"), ym(E.comment) } function nh(E) { Qn("@"), Ge(E) } function ym(E) { let ne = Cw(E); ne && (Wn(), we(ne)) } function zs(E) { E && (Wn(), Qn("{"), Ge(E.type), Qn("}")) } function Fb(E) { nl(); let ne = E.statements; if (ne.length === 0 || !B_(ne[0]) || ws(ne[0])) { ig(E, ne, Cf); return } Cf(E) } function v1(E) { b1(!!E.hasNoDefaultLib, E.syntheticFileReferences || [], E.syntheticTypeReferences || [], E.syntheticLibReferences || []); for (let ne of E.prepends) if (BT(ne) && ne.syntheticReferences) for (let Ee of ne.syntheticReferences) Ge(Ee), nl() } function Gb(E) { E.isDeclarationFile && b1(E.hasNoDefaultLib, E.referencedFiles, E.typeReferenceDirectives, E.libReferenceDirectives) } function b1(E, ne, Ee, Wt) { if (E) { let lr = X.getTextPos(); vm('/// <reference no-default-lib="true"/>'), Pe && Pe.sections.push({ pos: lr, end: X.getTextPos(), kind: "no-default-lib" }), nl() } if (C && C.moduleName && (vm(`/// <amd-module name="${C.moduleName}" />`), nl()), C && C.amdDependencies) for (let lr of C.amdDependencies) lr.name ? vm(`/// <amd-dependency name="${lr.name}" path="${lr.path}" />`) : vm(`/// <amd-dependency path="${lr.path}" />`), nl(); for (let lr of ne) { let ci = X.getTextPos(); vm(`/// <reference path="${lr.fileName}" />`), Pe && Pe.sections.push({ pos: ci, end: X.getTextPos(), kind: "reference", data: lr.fileName }), nl() } for (let lr of Ee) { let ci = X.getTextPos(), qr = lr.resolutionMode && lr.resolutionMode !== C?.impliedNodeFormat ? `resolution-mode="${lr.resolutionMode === 99 ? "import" : "require"}"` : ""; vm(`/// <reference types="${lr.fileName}" ${qr}/>`), Pe && Pe.sections.push({ pos: ci, end: X.getTextPos(), kind: lr.resolutionMode ? lr.resolutionMode === 99 ? "type-import" : "type-require" : "type", data: lr.fileName }), nl() } for (let lr of Wt) { let ci = X.getTextPos(); vm(`/// <reference lib="${lr.fileName}" />`), Pe && Pe.sections.push({ pos: ci, end: X.getTextPos(), kind: "lib", data: lr.fileName }), nl() } } function Cf(E) { let ne = E.statements; ng(E), mn(E.statements, qc), Vt(E); let Ee = Yc(ne, Wt => !B_(Wt)); Gb(E), cs(E, ne, 1, void 0, Ee === -1 ? ne.length : Ee), ih(E) } function Tx(E) { let ne = Ya(E); !(ne & 1024) && E.pos !== E.expression.pos && ag(E.expression.pos), Kt(E.expression), !(ne & 2048) && E.end !== E.expression.end && rd(E.expression.end) } function Sx(E) { ny(E, E.elements, 528, void 0) } function xv(E, ne, Ee, Wt) { let lr = !!ne; for (let ci = 0; ci < E.length; ci++) { let qr = E[ci]; if (B_(qr)) { if (Ee ? !Ee.has(qr.expression.text) : !0) { lr && (lr = !1, ue(ne)), nl(); let Wa = X.getTextPos(); Ge(qr), Wt && Pe && Pe.sections.push({ pos: Wa, end: X.getTextPos(), kind: "prologue", data: qr.expression.text }), Ee && Ee.add(qr.expression.text) } } else return ci } return E.length } function E1(E, ne) { for (let Ee of E) if (!ne.has(Ee.data)) { nl(); let Wt = X.getTextPos(); Ge(Ee), Pe && Pe.sections.push({ pos: Wt, end: X.getTextPos(), kind: "prologue", data: Ee.data }), ne && ne.add(Ee.data) } } function T1(E) { if (Li(E)) xv(E.statements, E); else { let ne = new Set; for (let Ee of E.prepends) E1(Ee.prologues, ne); for (let Ee of E.sourceFiles) xv(Ee.statements, Ee, ne, !0); ue(void 0) } } function xx(E) { let ne = new Set, Ee; for (let Wt = 0; Wt < E.sourceFiles.length; Wt++) { let lr = E.sourceFiles[Wt], ci, qr = 0; for (let Ti of lr.statements) { if (!B_(Ti)) break; ne.has(Ti.expression.text) || (ne.add(Ti.expression.text), (ci || (ci = [])).push({ pos: Ti.pos, end: Ti.end, expression: { pos: Ti.expression.pos, end: Ti.expression.end, text: Ti.expression.text } }), qr = qr < Ti.end ? Ti.end : qr) } ci && (Ee || (Ee = [])).push({ file: Wt, text: lr.text.substring(0, qr), directives: ci }) } return Ee } function Bb(E) { if (Li(E) || BT(E)) { let ne = K8(E.text); if (ne) return vm(ne), nl(), !0 } else { for (let ne of E.prepends) if (L.assertNode(ne, BT), Bb(ne)) return !0; for (let ne of E.sourceFiles) if (Bb(ne)) return !0 } } function S1(E, ne) { if (!E) return; let Ee = we; we = ne, Ge(E), we = Ee } function rf(E, ne, Ee) { if (ne?.length) { if (Ji(ne, Ha)) return Qh(E, ne); if (Ji(ne, du)) return Ee ? Zh(E, ne) : E.pos; d?.(ne); let Wt, lr, ci = 0, qr = 0, Ti; for (; ci < ne.length;) { for (; qr < ne.length;) { if (Ti = ne[qr], lr = du(Ti) ? "decorators" : "modifiers", Wt === void 0) Wt = lr; else if (lr !== Wt) break; qr++ } let Wa = { pos: -1, end: -1 }; ci === 0 && (Wa.pos = ne.pos), qr === ne.length - 1 && (Wa.end = ne.end), (Wt === "modifiers" || Ee) && Vb(Ge, E, ne, Wt === "modifiers" ? 2359808 : 2146305, void 0, ci, qr - ci, !1, Wa), ci = qr, Wt = lr, qr++ } if (g?.(ne), Ti && !vp(Ti.end)) return Ti.end } return E.pos } function Qh(E, ne) { cs(E, ne, 2359808); let Ee = Os(ne); return Ee && !vp(Ee.end) ? Ee.end : E.pos } function Q_(E) { E && (Qn(":"), Wn(), Ge(E)) } function I_(E, ne, Ee, Wt) { E && (Wn(), $t(63, ne, af, Ee), Wn(), Kt(E, Wt)) } function Ax(E, ne, Ee, Wt) { Ee && (ne(E), Wt(Ee)) } function Ub(E) { E && (Wn(), Ge(E)) } function Lp(E, ne) { E && (Wn(), Kt(E, ne)) } function x1(E) { E && (Ge(E), Wn()) } function Uu(E, ne) { Va(ne) || Ya(E) & 1 ? (Wn(), Ge(ne)) : (nl(), Kf(), Pz(ne) ? rt(5, ne) : Ge(ne), Z_()) } function Zh(E, ne) { cs(E, ne, 2146305); let Ee = Os(ne); return Ee && !vp(Ee.end) ? Ee.end : E.pos } function kp(E, ne) { cs(E, ne, 53776, pt) } function Dp(E, ne) { if (Ia(E) && E.typeArguments) return kp(E, E.typeArguments); cs(E, ne, 53776) } function eg(E, ne) { cs(E, ne, 2576) } function vE(E, ne) { let Ee = Wp(ne); return Ee && Ee.pos === E.pos && xs(E) && !E.type && !vt(E.modifiers) && !vt(E.typeParameters) && !vt(Ee.modifiers) && !Ee.dotDotDotToken && !Ee.questionToken && !Ee.type && !Ee.initializer && Re(Ee.name) } function A1(E, ne) { vE(E, ne) ? cs(E, ne, 528) : eg(E, ne) } function ty(E, ne) { cs(E, ne, 8848) } function bE(E) { switch (E & 60) { case 0: break; case 16: Qn(","); break; case 4: Wn(), Qn("|"); break; case 32: Wn(), Qn("*"), Wn(); break; case 8: Wn(), Qn("&"); break } } function cs(E, ne, Ee, Wt, lr, ci) { Cx(Ge, E, ne, Ee | (E && Ya(E) & 2 ? 65536 : 0), Wt, lr, ci) } function ny(E, ne, Ee, Wt, lr, ci) { Cx(Kt, E, ne, Ee, Wt, lr, ci) } function Cx(E, ne, Ee, Wt, lr, ci = 0, qr = Ee ? Ee.length - ci : 0) { if (Ee === void 0 && Wt & 16384) return; let Wa = Ee === void 0 || ci >= Ee.length || qr === 0; if (Wa && Wt & 32768) { d?.(Ee), g?.(Ee); return } Wt & 15360 && (Qn(HMe(Wt)), Wa && Ee && ag(Ee.pos, !0)), d?.(Ee), Wa ? Wt & 1 && !(_e && (!ne || C && DT(ne, C))) ? nl() : Wt & 256 && !(Wt & 524288) && Wn() : Vb(E, ne, Ee, Wt, lr, ci, qr, Ee.hasTrailingComma, Ee), g?.(Ee), Wt & 15360 && (Wa && Ee && rd(Ee.end), Qn(WMe(Wt))) } function Vb(E, ne, Ee, Wt, lr, ci, qr, Ti, Wa) { let kl = (Wt & 262144) === 0, Ed = kl, Ud = Fl(ne, Ee[ci], Wt); Ud ? (nl(Ud), Ed = !1) : Wt & 256 && Wn(), Wt & 128 && Kf(); let fy = qMe(E, lr), Td, Ov, Nv = !1; for (let Sm = 0; Sm < qr; Sm++) { let py = Ee[ci + Sm]; if (Wt & 32) nl(), bE(Wt); else if (Td) { Wt & 60 && Td.end !== (ne ? ne.end : -1) && (Ya(Td) & 2048 || rd(Td.end)), bE(Wt), Cr(Ov); let If = qf(Td, py, Wt); If > 0 ? (Wt & 131 || (Kf(), Nv = !0), nl(If), Ed = !1) : Td && Wt & 512 && Wn() } if (Ov = dr(py), Ed) { let If = sm(py); ag(If.pos) } else Ed = kl; ge = py.pos, fy(py, E, lr, Sm), Nv && (Z_(), Nv = !1), Td = py } let _y = Td ? Ya(Td) : 0, Xf = Gt || !!(_y & 2048), ME = Ti && Wt & 64 && Wt & 16; ME && (Td && !Xf ? $t(27, Td.end, Qn, Td) : Qn(",")), Td && (ne ? ne.end : -1) !== Td.end && Wt & 60 && !Xf && rd(ME && Wa?.end ? Wa.end : Td.end), Wt & 128 && Z_(), Cr(Ov); let cf = bm(ne, Ee[ci + qr - 1], Wt, Wa); cf ? nl(cf) : Wt & 2097408 && Wn() } function jb(E) { X.writeLiteral(E) } function Ix(E) { X.writeStringLiteral(E) } function uC(E) { X.write(E) } function Lx(E, ne) { X.writeSymbol(E, ne) } function Qn(E) { X.writePunctuation(E) } function lc() { X.writeTrailingSemicolon(";") } function zi(E) { X.writeKeyword(E) } function af(E) { X.writeOperator(E) } function Av(E) { X.writeParameter(E) } function vm(E) { X.writeComment(E) } function Wn() { X.writeSpace(" ") } function kx(E) { X.writeProperty(E) } function ry(E) { X.nonEscapingWrite ? X.nonEscapingWrite(E) : X.write(E) } function nl(E = 1) { for (let ne = 0; ne < E; ne++)X.writeLine(ne > 0) } function Kf() { X.increaseIndent() } function Z_() { X.decreaseIndent() } function iy(E, ne, Ee, Wt) { return Le ? L_(E, Ee, ne) : dC(Wt, E, Ee, ne, L_) } function EE(E, ne) { m && m(E), ne(Xa(E.kind)), v && v(E) } function L_(E, ne, Ee) { let Wt = Xa(E); return ne(Wt), Ee < 0 ? Ee : Ee + Wt.length } function ay(E, ne, Ee) { if (Ya(E) & 1) Wn(); else if (_e) { let Wt = ep(E, ne, Ee); Wt ? nl(Wt) : Wn() } else nl() } function Ac(E) { let ne = E.split(/\r\n?|\n/g), Ee = xse(ne); for (let Wt of ne) { let lr = Ee ? Wt.slice(Ee) : Wt; lr.length && (nl(), we(lr)) } } function wc(E, ne) { E ? (Kf(), nl(E)) : ne && Wn() } function tg(E, ne) { E && Z_(), ne && Z_() } function Fl(E, ne, Ee) { if (Ee & 2 || _e) { if (Ee & 65536) return 1; if (ne === void 0) return !E || C && DT(E, C) ? 0 : 1; if (ne.pos === ge || ne.kind === 11) return 0; if (C && E && !vp(E.pos) && !ws(ne) && (!ne.parent || ec(ne.parent) === ec(E))) return _e ? nd(Wt => ole(ne.pos, E.pos, C, Wt)) : a4(E, ne, C) ? 0 : 1; if (Wb(ne, Ee)) return 1 } return Ee & 1 ? 1 : 0 } function qf(E, ne, Ee) { if (Ee & 2 || _e) { if (E === void 0 || ne === void 0 || ne.kind === 11) return 0; if (C && !ws(E) && !ws(ne)) return _e && ch(E, ne) ? nd(Wt => pW(E, ne, C, Wt)) : !_e && wv(E, ne) ? DR(E, ne, C) ? 0 : 1 : Ee & 65536 ? 1 : 0; if (Wb(E, Ee) || Wb(ne, Ee)) return 1 } else if (tO(ne)) return 1; return Ee & 1 ? 1 : 0 } function bm(E, ne, Ee, Wt) { if (Ee & 2 || _e) { if (Ee & 65536) return 1; if (ne === void 0) return !E || C && DT(E, C) ? 0 : 1; if (C && E && !vp(E.pos) && !ws(ne) && (!ne.parent || ne.parent === E)) { if (_e) { let lr = Wt && !vp(Wt.end) ? Wt.end : ne.end; return nd(ci => sle(lr, E.end, C, ci)) } return rle(E, ne, C) ? 0 : 1 } if (Wb(ne, Ee)) return 1 } return Ee & 1 && !(Ee & 131072) ? 1 : 0 } function nd(E) { L.assert(!!_e); let ne = E(!0); return ne === 0 ? E(!1) : ne } function TE(E, ne) { let Ee = _e && Fl(ne, E, 0); return Ee && wc(Ee, !1), !!Ee } function Hb(E, ne) { let Ee = _e && bm(ne, E, 0, void 0); Ee && nl(Ee) } function Wb(E, ne) { if (ws(E)) { let Ee = tO(E); return Ee === void 0 ? (ne & 65536) !== 0 : Ee } return (ne & 65536) !== 0 } function ep(E, ne, Ee) { return Ya(E) & 262144 ? 0 : (E = SE(E), ne = SE(ne), Ee = SE(Ee), tO(Ee) ? 1 : C && !ws(E) && !ws(ne) && !ws(Ee) ? _e ? nd(Wt => pW(ne, Ee, C, Wt)) : DR(ne, Ee, C) ? 0 : 1 : 0) } function rh(E) { return E.statements.length === 0 && (!C || DR(E, E, C)) } function SE(E) { for (; E.kind === 214 && ws(E);)E = E.expression; return E } function oy(E, ne) { if (tc(E) || tS(E)) return zb(E); if (yo(E) && E.textSourceNode) return oy(E.textSourceNode, ne); let Ee = C, Wt = !!Ee && !!E.parent && !ws(E); if (Ah(E)) { if (!Wt || Gn(E) !== ec(Ee)) return vr(E) } else if (L.assertNode(E, fT), !Wt) return E.text; return k0(Ee, E, ne) } function uc(E, ne, Ee) { if (E.kind === 10 && E.textSourceNode) { let lr = E.textSourceNode; if (Re(lr) || pi(lr) || Vf(lr)) { let ci = Vf(lr) ? lr.text : oy(lr); return Ee ? `"${qH(ci)}"` : ne || Ya(E) & 33554432 ? `"${_S(ci)}"` : `"${ER(ci)}"` } else return uc(lr, ne, Ee) } let Wt = (ne ? 1 : 0) | (Ee ? 2 : 0) | (e.terminateUnterminatedLiterals ? 4 : 0) | (e.target && e.target === 99 ? 8 : 0); return Bse(E, C, Wt) } function ng(E) { E && Ya(E) & 1048576 || ($.push(fe), fe = 0, W.push(Y), Y = void 0, Z.push(U)) } function ih(E) { E && Ya(E) & 1048576 || (fe = $.pop(), Y = W.pop(), U = Z.pop()) } function Cv(E) { (!U || U === Os(Z)) && (U = new Set), U.add(E) } function Iv(E, ne) { R.push(ie), ie = E, re.push(U), le = ne } function Gl() { ie = R.pop(), le = re.pop() } function ah(E) { (!le || le === Os(re)) && (le = new Set), le.add(E) } function qc(E) { if (E) switch (E.kind) { case 238: mn(E.statements, qc); break; case 253: case 251: case 243: case 244: qc(E.statement); break; case 242: qc(E.thenStatement), qc(E.elseStatement); break; case 245: case 247: case 246: qc(E.initializer), qc(E.statement); break; case 252: qc(E.caseBlock); break; case 266: mn(E.clauses, qc); break; case 292: case 293: mn(E.statements, qc); break; case 255: qc(E.tryBlock), qc(E.catchClause), qc(E.finallyBlock); break; case 295: qc(E.variableDeclaration), qc(E.block); break; case 240: qc(E.declarationList); break; case 258: mn(E.declarations, qc); break; case 257: case 166: case 205: case 260: oh(E.name); break; case 259: oh(E.name), Ya(E) & 1048576 && (mn(E.parameters, qc), qc(E.body)); break; case 203: case 204: mn(E.elements, qc); break; case 269: qc(E.importClause); break; case 270: oh(E.name), qc(E.namedBindings); break; case 271: oh(E.name); break; case 277: oh(E.name); break; case 272: mn(E.elements, qc); break; case 273: oh(E.propertyName || E.name); break } } function xE(E) { if (E) switch (E.kind) { case 299: case 300: case 169: case 171: case 174: case 175: oh(E.name); break } } function oh(E) { E && (tc(E) || tS(E) ? zb(E) : La(E) && qc(E)) } function zb(E) { let ne = E.emitNode.autoGenerate; if ((ne.flags & 7) === 4) return Vu(I3(E), pi(E), ne.flags, ne.prefix, ne.suffix); { let Ee = ne.id; return B[Ee] || (B[Ee] = fr(E)) } } function Vu(E, ne, Ee, Wt, lr) { let ci = zo(E), qr = ne ? F : P; return qr[ci] || (qr[ci] = No(E, ne, Ee ?? 0, L2(Wt, zb), L2(lr))) } function Em(E, ne) { return Lv(E, ne) && !Jb(E, ne) && !q.has(E) } function Jb(E, ne) { return ne ? !!le?.has(E) : !!U?.has(E) } function Lv(E, ne) { return C ? g6(C, E, r) : !0 } function AE(E, ne) { for (let Ee = ne; Ee && AT(Ee, ne); Ee = Ee.nextContainer)if (Qp(Ee) && Ee.locals) { let Wt = Ee.locals.get(Bs(E)); if (Wt && Wt.flags & 3257279) return !1 } return !0 } function sy(E) { var ne; switch (E) { case "": return fe; case "#": return ie; default: return (ne = Y?.get(E)) != null ? ne : 0 } } function C1(E, ne) { switch (E) { case "": fe = ne; break; case "#": ie = ne; break; default: Y ?? (Y = new Map), Y.set(E, ne); break } } function kv(E, ne, Ee, Wt, lr) { Wt.length > 0 && Wt.charCodeAt(0) === 35 && (Wt = Wt.slice(1)); let ci = jT(Ee, Wt, "", lr), qr = sy(ci); if (E && !(qr & E)) { let Wa = jT(Ee, Wt, E === 268435456 ? "_i" : "_n", lr); if (Em(Wa, Ee)) return qr |= E, Ee ? ah(Wa) : ne && Cv(Wa), C1(ci, qr), Wa } for (; ;) { let Ti = qr & 268435455; if (qr++, Ti !== 8 && Ti !== 13) { let Wa = Ti < 26 ? "_" + String.fromCharCode(97 + Ti) : "_" + (Ti - 26), kl = jT(Ee, Wt, Wa, lr); if (Em(kl, Ee)) return Ee ? ah(kl) : ne && Cv(kl), C1(ci, qr), kl } } } function rg(E, ne = Em, Ee, Wt, lr, ci, qr) { if (E.length > 0 && E.charCodeAt(0) === 35 && (E = E.slice(1)), ci.length > 0 && ci.charCodeAt(0) === 35 && (ci = ci.slice(1)), Ee) { let Wa = jT(lr, ci, E, qr); if (ne(Wa, lr)) return lr ? ah(Wa) : Wt ? Cv(Wa) : q.add(Wa), Wa } E.charCodeAt(E.length - 1) !== 95 && (E += "_"); let Ti = 1; for (; ;) { let Wa = jT(lr, ci, E + Ti, qr); if (ne(Wa, lr)) return lr ? ah(Wa) : Wt ? Cv(Wa) : q.add(Wa), Wa; Ti++ } } function of(E) { return rg(E, Lv, !0, !1, !1, "", "") } function CE(E) { let ne = oy(E.name); return AE(ne, zr(E, Qp)) ? ne : rg(ne, Em, !1, !1, !1, "", "") } function Gd(E) { let ne = UA(E), Ee = yo(ne) ? Vse(ne.text) : "module"; return rg(Ee, Em, !1, !1, !1, "", "") } function sh() { return rg("default", Em, !1, !1, !1, "", "") } function Dv() { return rg("class", Em, !1, !1, !1, "", "") } function Dx(E, ne, Ee, Wt) { return Re(E.name) ? Vu(E.name, ne) : kv(0, !1, ne, Ee, Wt) } function No(E, ne, Ee, Wt, lr) { switch (E.kind) { case 79: case 80: return rg(oy(E), Em, !!(Ee & 16), !!(Ee & 8), ne, Wt, lr); case 264: case 263: return L.assert(!Wt && !lr && !ne), CE(E); case 269: case 275: return L.assert(!Wt && !lr && !ne), Gd(E); case 259: case 260: { L.assert(!Wt && !lr && !ne); let ci = E.name; return ci && !tc(ci) ? No(ci, !1, Ee, Wt, lr) : sh() } case 274: return L.assert(!Wt && !lr && !ne), sh(); case 228: return L.assert(!Wt && !lr && !ne), Dv(); case 171: case 174: case 175: return Dx(E, ne, Wt, lr); case 164: return kv(0, !0, ne, Wt, lr); default: return kv(0, !1, ne, Wt, lr) } } function fr(E) { let ne = E.emitNode.autoGenerate, Ee = L2(ne.prefix, zb), Wt = L2(ne.suffix); switch (ne.flags & 7) { case 1: return kv(0, !!(ne.flags & 8), pi(E), Ee, Wt); case 2: return L.assertNode(E, Re), kv(268435456, !!(ne.flags & 8), !1, Ee, Wt); case 3: return rg(vr(E), ne.flags & 32 ? Lv : Em, !!(ne.flags & 16), !!(ne.flags & 8), pi(E), Ee, Wt) }return L.fail(`Unsupported GeneratedIdentifierKind: ${L.formatEnum(ne.flags & 7, w8, !0)}.`) } function vd(E, ne) { let Ee = pe(2, E, ne), Wt = qe, lr = zt, ci = Qt; ju(ne), Ee(E, ne), I1(ne, Wt, lr, ci) } function ju(E) { let ne = Ya(E), Ee = sm(E); IE(E, ne, Ee.pos, Ee.end), ne & 4096 && (Gt = !0) } function I1(E, ne, Ee, Wt) { let lr = Ya(E), ci = sm(E); lr & 4096 && (Gt = !1), cy(E, lr, ci.pos, ci.end, ne, Ee, Wt); let qr = vue(E); qr && cy(E, lr, qr.pos, qr.end, ne, Ee, Wt) } function IE(E, ne, Ee, Wt) { Ni(), _n = !1; let lr = Ee < 0 || (ne & 1024) !== 0 || E.kind === 11, ci = Wt < 0 || (ne & 2048) !== 0 || E.kind === 11; (Ee > 0 || Wt > 0) && Ee !== Wt && (lr || Rp(Ee, E.kind !== 355), (!lr || Ee >= 0 && ne & 1024) && (qe = Ee), (!ci || Wt >= 0 && ne & 2048) && (zt = Wt, E.kind === 258 && (Qt = Wt))), mn(l2(E), wx), Pi() } function cy(E, ne, Ee, Wt, lr, ci, qr) { Ni(); let Ti = Wt < 0 || (ne & 2048) !== 0 || E.kind === 11; mn(rO(E), ly), (Ee > 0 || Wt > 0) && Ee !== Wt && (qe = lr, zt = ci, Qt = qr, !Ti && E.kind !== 355 && LE(Wt)), Pi() } function wx(E) { (E.hasLeadingNewline || E.kind === 2) && X.writeLine(), wp(E), E.hasTrailingNewLine || E.kind === 2 ? X.writeLine() : X.writeSpace(" ") } function ly(E) { X.isAtStartOfLine() || X.writeSpace(" "), wp(E), E.hasTrailingNewLine && X.writeLine() } function wp(E) { let ne = tp(E), Ee = E.kind === 3 ? hw(ne) : void 0; $A(ne, Ee, X, 0, ne.length, x) } function tp(E) { return E.kind === 3 ? `/*${E.text}*/` : `//${E.text}` } function ig(E, ne, Ee) { Ni(); let { pos: Wt, end: lr } = ne, ci = Ya(E), qr = Wt < 0 || (ci & 1024) !== 0, Ti = Gt || lr < 0 || (ci & 2048) !== 0; qr || Rv(ne), Pi(), ci & 4096 && !Gt ? (Gt = !0, Ee(E), Gt = !1) : Ee(E), Ni(), Ti || (Rp(ne.end, !0), _n && !X.isAtStartOfLine() && X.writeLine()), Pi() } function wv(E, ne) { return E = ec(E), E.parent && E.parent === ec(ne).parent } function ch(E, ne) { if (ne.pos < E.end) return !1; E = ec(E), ne = ec(ne); let Ee = E.parent; if (!Ee || Ee !== ne.parent) return !1; let Wt = Ule(E), lr = Wt?.indexOf(E); return lr !== void 0 && lr > -1 && Wt.indexOf(ne) === lr + 1 } function Rp(E, ne) { _n = !1, ne ? E === 0 && C?.isDeclarationFile ? ls(E, Cc) : ls(E, Tm) : E === 0 && ls(E, L1) } function L1(E, ne, Ee, Wt, lr) { wE(E, ne) && Tm(E, ne, Ee, Wt, lr) } function Cc(E, ne, Ee, Wt, lr) { wE(E, ne) || Tm(E, ne, Ee, Wt, lr) } function Bd(E, ne) { return e.onlyPrintJsDocStyle ? cJ(E, ne) || y6(E, ne) : !0 } function Tm(E, ne, Ee, Wt, lr) { !C || !Bd(C.text, E) || (_n || (Uce(je(), X, lr, E), _n = !0), bd(E), $A(C.text, je(), X, E, ne, x), bd(ne), Wt ? X.writeLine() : Ee === 3 && X.writeSpace(" ")) } function rd(E) { Gt || E === -1 || Rp(E, !0) } function LE(E) { kE(E, uy) } function uy(E, ne, Ee, Wt) { !C || !Bd(C.text, E) || (X.isAtStartOfLine() || X.writeSpace(" "), bd(E), $A(C.text, je(), X, E, ne, x), bd(ne), Wt && X.writeLine()) } function ag(E, ne, Ee) { Gt || (Ni(), kE(E, ne ? uy : Ee ? Rx : sf), Pi()) } function Rx(E, ne, Ee) { C && (bd(E), $A(C.text, je(), X, E, ne, x), bd(ne), Ee === 2 && X.writeLine()) } function sf(E, ne, Ee, Wt) { C && (bd(E), $A(C.text, je(), X, E, ne, x), bd(ne), Wt ? X.writeLine() : X.writeSpace(" ")) } function ls(E, ne) { C && (qe === -1 || E !== qe) && (DE(E) ? og(ne) : vw(C.text, E, ne, E)) } function kE(E, ne) { C && (zt === -1 || E !== zt && E !== Qt) && bw(C.text, E, ne) } function DE(E) { return kn !== void 0 && To(kn).nodePos === E } function og(E) { if (!C) return; let ne = To(kn).detachedCommentEndPos; kn.length - 1 ? kn.pop() : kn = void 0, vw(C.text, ne, E, ne) } function Rv(E) { let ne = C && jce(C.text, je(), X, k1, E, x, Gt); ne && (kn ? kn.push(ne) : kn = [ne]) } function k1(E, ne, Ee, Wt, lr, ci) { !C || !Bd(C.text, Wt) || (bd(Wt), $A(E, ne, Ee, Wt, lr, ci), bd(lr)) } function wE(E, ne) { return !!C && iH(C.text, E, ne) } function RE(E) { return E.parsedSourceMap === void 0 && E.sourceMapText !== void 0 && (E.parsedSourceMap = bK(E.sourceMapText) || !1), E.parsedSourceMap || void 0 } function OE(E, ne) { let Ee = pe(3, E, ne); NE(ne), Ee(E, ne), PE(ne) } function NE(E) { let ne = Ya(E), Ee = pb(E); if (Oj(E)) { L.assertIsDefined(E.parent, "UnparsedNodes must have parent pointers"); let Wt = RE(E.parent); Wt && Ye && Ye.appendSourceMap(X.getLine(), X.getColumn(), Wt, E.parent.sourceMapPath, E.parent.getLineAndCharacterOfPosition(E.pos), E.parent.getLineAndCharacterOfPosition(E.end)) } else { let Wt = Ee.source || _t; E.kind !== 355 && !(ne & 32) && Ee.pos >= 0 && lh(Ee.source || _t, dy(Wt, Ee.pos)), ne & 128 && (Le = !0) } } function PE(E) { let ne = Ya(E), Ee = pb(E); Oj(E) || (ne & 128 && (Le = !1), E.kind !== 355 && !(ne & 64) && Ee.end >= 0 && lh(Ee.source || _t, Ee.end)) } function dy(E, ne) { return E.skipTrivia ? E.skipTrivia(ne) : xo(E.text, ne) } function bd(E) { if (Le || vp(E) || Nx(_t)) return; let { line: ne, character: Ee } = Gs(_t, E); Ye.addMapping(X.getLine(), X.getColumn(), ct, ne, Ee, void 0) } function lh(E, ne) { if (E !== _t) { let Ee = _t, Wt = ct; sg(E), bd(ne), Ox(Ee, Wt) } else bd(ne) } function dC(E, ne, Ee, Wt, lr) { if (Le || E && B6(E)) return lr(ne, Ee, Wt); let ci = E && E.emitNode, qr = ci && ci.flags || 0, Ti = ci && ci.tokenSourceMapRanges && ci.tokenSourceMapRanges[ne], Wa = Ti && Ti.source || _t; return Wt = dy(Wa, Ti ? Ti.pos : Wt), !(qr & 256) && Wt >= 0 && lh(Wa, Wt), Wt = lr(ne, Ee, Wt), Ti && (Wt = Ti.end), !(qr & 512) && Wt >= 0 && lh(Wa, Wt), Wt } function sg(E) { if (!Le) { if (_t = E, E === Rt) { ct = We; return } Nx(E) || (ct = Ye.addSource(E.fileName), e.inlineSources && Ye.setSourceContent(ct, E.text), Rt = E, We = ct) } } function Ox(E, ne) { _t = E, ct = ne } function Nx(E) { return Gc(E.fileName, ".json") } } function jMe() { let e = []; return e[1024] = ["{", "}"], e[2048] = ["(", ")"], e[4096] = ["<", ">"], e[8192] = ["[", "]"], e } function HMe(e) { return KK[e & 15360][0] } function WMe(e) { return KK[e & 15360][1] } function zMe(e, t, r, i) { t(e) } function JMe(e, t, r, i) { t(e, r.select(i)) } function KMe(e, t, r, i) { t(e, r) } function qMe(e, t) { return e.length === 1 ? zMe : typeof t == "object" ? JMe : KMe } var KK, LF, qK, rE, XK, fN, XMe = gt({ "src/compiler/emitter.ts"() { "use strict"; fa(), fa(), E0(), KK = jMe(), LF = { hasGlobalName: Sa, getReferencedExportContainer: Sa, getReferencedImportDeclaration: Sa, getReferencedDeclarationWithCollidingName: Sa, isDeclarationWithCollidingName: Sa, isValueAliasDeclaration: Sa, isReferencedAliasDeclaration: Sa, isTopLevelValueImportEqualsWithEntityName: Sa, getNodeCheckFlags: Sa, isDeclarationVisible: Sa, isLateBound: e => !1, collectLinkedAliases: Sa, isImplementationOfOverload: Sa, isRequiredInitializedParameter: Sa, isOptionalUninitializedParameterProperty: Sa, isExpandoFunctionDeclaration: Sa, getPropertiesOfContainerFunction: Sa, createTypeOfDeclaration: Sa, createReturnTypeOfSignatureDeclaration: Sa, createTypeOfExpression: Sa, createLiteralConstValue: Sa, isSymbolAccessible: Sa, isEntityNameVisible: Sa, getConstantValue: Sa, getReferencedValueDeclaration: Sa, getTypeReferenceSerializationKind: Sa, isOptionalParameter: Sa, moduleExportsSomeValue: Sa, isArgumentsLocalBinding: Sa, getExternalModuleFileFromDeclaration: Sa, getTypeReferenceDirectivesForEntityName: Sa, getTypeReferenceDirectivesForSymbol: Sa, isLiteralConstDeclaration: Sa, getJsxFactoryEntity: Sa, getJsxFragmentFactoryEntity: Sa, getAllAccessorDeclarations: Sa, getSymbolOfExternalModuleSpecifier: Sa, isBindingCapturedByNode: Sa, getDeclarationStatementsForSourceFile: Sa, isImportRequiredByAugmentation: Sa }, qK = zu(() => nE({})), rE = zu(() => nE({ removeComments: !0 })), XK = zu(() => nE({ removeComments: !0, neverAsciiEscape: !0 })), fN = zu(() => nE({ removeComments: !0, omitTrailingSemicolon: !0 })) } }); function Mpe(e, t, r) { if (!e.getDirectories || !e.readDirectory) return; let i = new Map, o = Dl(r); return { useCaseSensitiveFileNames: r, fileExists: x, readFile: (R, ie) => e.readFile(R, ie), directoryExists: e.directoryExists && A, getDirectories: C, readDirectory: P, createDirectory: e.createDirectory && w, writeFile: e.writeFile && S, addOrDeleteFileOrDirectory: B, addOrDeleteFile: q, clearCache: Y, realpath: e.realpath && F }; function s(R) { return Ts(R, t, o) } function l(R) { return i.get(cu(R)) } function f(R) { let ie = l(ni(R)); return ie && (ie.sortedAndCanonicalizedFiles || (ie.sortedAndCanonicalizedFiles = ie.files.map(o).sort(), ie.sortedAndCanonicalizedDirectories = ie.directories.map(o).sort()), ie) } function d(R) { return Hl(So(R)) } function g(R, ie) { var $; if (!e.realpath || cu(s(e.realpath(R))) === ie) { let fe = { files: on(e.readDirectory(R, void 0, void 0, ["*.*"]), d) || [], directories: e.getDirectories(R) || [] }; return i.set(cu(ie), fe), fe } if (($ = e.directoryExists) != null && $.call(e, R)) return i.set(ie, !1), !1 } function m(R, ie) { ie = cu(ie); let $ = l(ie); if ($) return $; try { return g(R, ie) } catch { L.assert(!i.has(cu(ie))); return } } function v(R, ie) { return Py(R, ie, Ks, su) >= 0 } function S(R, ie, $) { let fe = s(R), Z = f(fe); return Z && W(Z, d(R), !0), e.writeFile(R, ie, $) } function x(R) { let ie = s(R), $ = f(ie); return $ && v($.sortedAndCanonicalizedFiles, o(d(R))) || e.fileExists(R) } function A(R) { let ie = s(R); return i.has(cu(ie)) || e.directoryExists(R) } function w(R) { let ie = s(R), $ = f(ie); if ($) { let fe = d(R), Z = o(fe), U = $.sortedAndCanonicalizedDirectories; Ny(U, Z, su) && $.directories.push(fe) } e.createDirectory(R) } function C(R) { let ie = s(R), $ = m(R, ie); return $ ? $.directories.slice() : e.getDirectories(R) } function P(R, ie, $, fe, Z) { let U = s(R), re = m(R, U), le; if (re !== void 0) return wW(R, ie, $, fe, r, t, Z, _e, F); return e.readDirectory(R, ie, $, fe, Z); function _e(X) { let Ve = s(X); if (Ve === U) return re || ge(X, Ve); let we = m(X, Ve); return we !== void 0 ? we || ge(X, Ve) : D4 } function ge(X, Ve) { if (le && Ve === U) return le; let we = { files: on(e.readDirectory(X, void 0, void 0, ["*.*"]), d) || Je, directories: e.getDirectories(X) || Je }; return Ve === U && (le = we), we } } function F(R) { return e.realpath ? e.realpath(R) : R } function B(R, ie) { if (l(ie) !== void 0) { Y(); return } let fe = f(ie); if (!fe) return; if (!e.directoryExists) { Y(); return } let Z = d(R), U = { fileExists: e.fileExists(ie), directoryExists: e.directoryExists(ie) }; return U.directoryExists || v(fe.sortedAndCanonicalizedDirectories, o(Z)) ? Y() : W(fe, Z, U.fileExists), U } function q(R, ie, $) { if ($ === 1) return; let fe = f(ie); fe && W(fe, d(R), $ === 0) } function W(R, ie, $) { let fe = R.sortedAndCanonicalizedFiles, Z = o(ie); if ($) Ny(fe, Z, su) && R.files.push(ie); else { let U = Py(fe, Z, Ks, su); if (U >= 0) { fe.splice(U, 1); let re = R.files.findIndex(le => o(le) === Z); R.files.splice(re, 1) } } } function Y() { i.clear() } } function YK(e, t, r, i, o) { var s; let l = p0(((s = t?.configFile) == null ? void 0 : s.extendedSourceFiles) || Je, o); r.forEach((f, d) => { l.has(d) || (f.projects.delete(e), f.close()) }), l.forEach((f, d) => { let g = r.get(d); g ? g.projects.add(e) : r.set(d, { projects: new Set([e]), watcher: i(f, d), close: () => { let m = r.get(d); !m || m.projects.size !== 0 || (m.watcher.close(), r.delete(d)) } }) }) } function Fpe(e, t) { t.forEach(r => { r.projects.delete(e) && r.close() }) } function $K(e, t, r) { e.delete(t) && e.forEach(({ extendedResult: i }, o) => { var s; (s = i.extendedSourceFiles) != null && s.some(l => r(l) === t) && $K(e, o, r) }) } function YMe(e, t, r) { let i = new Map(e); e2(t, i, { createNewValue: r, onDeleteValue: am }) } function Gpe(e, t, r) { let i = e.getMissingFilePaths(), o = p0(i, Ks, h0); e2(t, o, { createNewValue: r, onDeleteValue: am }) } function kF(e, t, r) { e2(e, t, { createNewValue: i, onDeleteValue: _m, onExistingValue: o }); function i(s, l) { return { watcher: r(s, l), flags: l } } function o(s, l, f) { s.flags !== l && (s.watcher.close(), e.set(f, i(f, l))) } } function DF({ watchedDirPath: e, fileOrDirectory: t, fileOrDirectoryPath: r, configFileName: i, options: o, program: s, extraFileExtensions: l, currentDirectory: f, useCaseSensitiveFileNames: d, writeLog: g, toPath: m }) { let v = Dq(r); if (!v) return g(`Project: ${i} Detected ignored path: ${t}`), !0; if (r = v, r === e) return !1; if (gA(r) && !wle(t, o, l)) return g(`Project: ${i} Detected file add/remove of non supported extension: ${t}`), !0; if (gfe(t, o.configFile.configFileSpecs, _a(ni(i), f), d, f)) return g(`Project: ${i} Detected excluded file: ${t}`), !0; if (!s || Ss(o) || o.outDir) return !1; if (Fu(r)) { if (o.declarationDir) return !1 } else if (!$c(r, dL)) return !1; let S = ld(r), x = ba(s) ? void 0 : $Me(s) ? s.getProgramOrUndefined() : s, A = !x && !ba(s) ? s : void 0; if (w(S + ".ts") || w(S + ".tsx")) return g(`Project: ${i} Detected output file: ${t}`), !0; return !1; function w(C) { return x ? !!x.getSourceFileByPath(C) : A ? A.getState().fileInfos.has(C) : !!wr(s, P => m(P) === C) } } function $Me(e) { return !!e.getState } function Bpe(e, t) { return e ? e.isEmittedFile(t) : !1 } function Upe(e, t, r, i) { ooe(t === 2 ? r : Ba); let o = { watchFile: (w, C, P, F) => e.watchFile(w, C, P, F), watchDirectory: (w, C, P, F) => e.watchDirectory(w, C, (P & 1) !== 0, F) }, s = t !== 0 ? { watchFile: x("watchFile"), watchDirectory: x("watchDirectory") } : void 0, l = t === 2 ? { watchFile: v, watchDirectory: S } : s || o, f = t === 2 ? m : TN; return { watchFile: d("watchFile"), watchDirectory: d("watchDirectory") }; function d(w) { return (C, P, F, B, q, W) => { var Y; return G3(C, w === "watchFile" ? B?.excludeFiles : B?.excludeDirectories, g(), ((Y = e.getCurrentDirectory) == null ? void 0 : Y.call(e)) || "") ? f(C, F, B, q, W) : l[w].call(void 0, C, P, F, B, q, W) } } function g() { return typeof e.useCaseSensitiveFileNames == "boolean" ? e.useCaseSensitiveFileNames : e.useCaseSensitiveFileNames() } function m(w, C, P, F, B) { return r(`ExcludeWatcher:: Added:: ${A(w, C, P, F, B, i)}`), { close: () => r(`ExcludeWatcher:: Close:: ${A(w, C, P, F, B, i)}`) } } function v(w, C, P, F, B, q) { r(`FileWatcher:: Added:: ${A(w, P, F, B, q, i)}`); let W = s.watchFile(w, C, P, F, B, q); return { close: () => { r(`FileWatcher:: Close:: ${A(w, P, F, B, q, i)}`), W.close() } } } function S(w, C, P, F, B, q) { let W = `DirectoryWatcher:: Added:: ${A(w, P, F, B, q, i)}`; r(W); let Y = Ms(), R = s.watchDirectory(w, C, P, F, B, q), ie = Ms() - Y; return r(`Elapsed:: ${ie}ms ${W}`), { close: () => { let $ = `DirectoryWatcher:: Close:: ${A(w, P, F, B, q, i)}`; r($); let fe = Ms(); R.close(); let Z = Ms() - fe; r(`Elapsed:: ${Z}ms ${$}`) } } } function x(w) { return (C, P, F, B, q, W) => o[w].call(void 0, C, (...Y) => { let R = `${w === "watchFile" ? "FileWatcher" : "DirectoryWatcher"}:: Triggered with ${Y[0]} ${Y[1] !== void 0 ? Y[1] : ""}:: ${A(C, F, B, q, W, i)}`; r(R); let ie = Ms(); P.call(void 0, ...Y); let $ = Ms() - ie; r(`Elapsed:: ${$}ms ${R}`) }, F, B, q, W) } function A(w, C, P, F, B, q) { return `WatchInfo: ${w} ${C} ${JSON.stringify(P)} ${q ? q(F, B) : B === void 0 ? F : `${F} ${B}`}` } } function _N(e) { let t = e?.fallbackPolling; return { watchFile: t !== void 0 ? t : 1 } } function _m(e) { e.watcher.close() } var QK, ZK, QMe = gt({ "src/compiler/watchUtilities.ts"() { "use strict"; fa(), fa(), QK = (e => (e[e.None = 0] = "None", e[e.Partial = 1] = "Partial", e[e.Full = 2] = "Full", e))(QK || {}), ZK = (e => (e[e.None = 0] = "None", e[e.TriggerOnly = 1] = "TriggerOnly", e[e.Verbose = 2] = "Verbose", e))(ZK || {}) } }); function Vpe(e, t, r = "tsconfig.json") { return Th(e, i => { let o = vi(i, r); return t(o) ? o : void 0 }) } function wF(e, t) { let r = ni(t), i = qp(e) ? e : vi(r, e); return So(i) } function jpe(e, t, r) { let i; return mn(e, s => { let l = fw(s, t); if (l.pop(), !i) { i = l; return } let f = Math.min(i.length, l.length); for (let d = 0; d < f; d++)if (r(i[d]) !== r(l[d])) { if (d === 0) return !0; i.length = d; break } l.length < i.length && (i.length = l.length) }) ? "" : i ? T0(i) : t } function Hpe(e, t) { return nq(e, t) } function eq(e, t, r) { return (i, o, s) => { let l; try { Fs("beforeIORead"), l = e(i, t().charset), Fs("afterIORead"), hf("I/O Read", "beforeIORead", "afterIORead") } catch (f) { s && s(f.message), l = "" } return l !== void 0 ? DO(i, l, o, r) : void 0 } } function tq(e, t, r) { return (i, o, s, l) => { try { Fs("beforeIOWrite"), nW(i, o, s, e, t, r), Fs("afterIOWrite"), hf("I/O Write", "beforeIOWrite", "afterIOWrite") } catch (f) { l && l(f.message) } } } function nq(e, t, r = xl) { let i = new Map, o = Dl(r.useCaseSensitiveFileNames); function s(m) { return i.has(m) ? !0 : (g.directoryExists || r.directoryExists)(m) ? (i.set(m, !0), !0) : !1 } function l() { return ni(So(r.getExecutingFilePath())) } let f = db(e), d = r.realpath && (m => r.realpath(m)), g = { getSourceFile: eq(m => g.readFile(m), () => e, t), getDefaultLibLocation: l, getDefaultLibFileName: m => vi(l(), X8(m)), writeFile: tq((m, v, S) => r.writeFile(m, v, S), m => (g.createDirectory || r.createDirectory)(m), m => s(m)), getCurrentDirectory: zu(() => r.getCurrentDirectory()), useCaseSensitiveFileNames: () => r.useCaseSensitiveFileNames, getCanonicalFileName: o, getNewLine: () => f, fileExists: m => r.fileExists(m), readFile: m => r.readFile(m), trace: m => r.write(m + f), directoryExists: m => r.directoryExists(m), getEnvironmentVariable: m => r.getEnvironmentVariable ? r.getEnvironmentVariable(m) : "", getDirectories: m => r.getDirectories(m), realpath: d, readDirectory: (m, v, S, x, A) => r.readDirectory(m, v, S, x, A), createDirectory: m => r.createDirectory(m), createHash: ho(r, r.createHash) }; return g } function pN(e, t, r) { let i = e.readFile, o = e.fileExists, s = e.directoryExists, l = e.createDirectory, f = e.writeFile, d = new Map, g = new Map, m = new Map, v = new Map, S = w => { let C = t(w), P = d.get(C); return P !== void 0 ? P !== !1 ? P : void 0 : x(C, w) }, x = (w, C) => { let P = i.call(e, C); return d.set(w, P !== void 0 ? P : !1), P }; e.readFile = w => { let C = t(w), P = d.get(C); return P !== void 0 ? P !== !1 ? P : void 0 : !Gc(w, ".json") && !Ipe(w) ? i.call(e, w) : x(C, w) }; let A = r ? (w, C, P, F) => { let B = t(w), q = typeof C == "object" ? C.impliedNodeFormat : void 0, W = v.get(q), Y = W?.get(B); if (Y) return Y; let R = r(w, C, P, F); return R && (Fu(w) || Gc(w, ".json")) && v.set(q, (W || new Map).set(B, R)), R } : void 0; return e.fileExists = w => { let C = t(w), P = g.get(C); if (P !== void 0) return P; let F = o.call(e, w); return g.set(C, !!F), F }, f && (e.writeFile = (w, C, ...P) => { let F = t(w); g.delete(F); let B = d.get(F); B !== void 0 && B !== C ? (d.delete(F), v.forEach(q => q.delete(F))) : A && v.forEach(q => { let W = q.get(F); W && W.text !== C && q.delete(F) }), f.call(e, w, C, ...P) }), s && (e.directoryExists = w => { let C = t(w), P = m.get(C); if (P !== void 0) return P; let F = s.call(e, w); return m.set(C, !!F), F }, l && (e.createDirectory = w => { let C = t(w); m.delete(C), l.call(e, w) })), { originalReadFile: i, originalFileExists: o, originalDirectoryExists: s, originalCreateDirectory: l, originalWriteFile: f, getSourceFileWithCache: A, readFileWithCache: S } } function ZMe(e, t, r) { let i; return i = si(i, e.getConfigFileParsingDiagnostics()), i = si(i, e.getOptionsDiagnostics(r)), i = si(i, e.getSyntacticDiagnostics(t, r)), i = si(i, e.getGlobalDiagnostics(r)), i = si(i, e.getSemanticDiagnostics(t, r)), __(e.getCompilerOptions()) && (i = si(i, e.getDeclarationDiagnostics(t, r))), vA(i || Je) } function e8e(e, t) { let r = ""; for (let i of e) r += rq(i, t); return r } function rq(e, t) { let r = `${C8(e)} TS${e.code}: ${sv(e.messageText, t.getNewLine())}${t.getNewLine()}`; if (e.file) { let { line: i, character: o } = Gs(e.file, e.start), s = e.file.fileName; return `${rI(s, t.getCurrentDirectory(), f => t.getCanonicalFileName(f))}(${i + 1},${o + 1}): ` + r } return r } function Wpe(e) { switch (e) { case 1: return "\x1B[91m"; case 0: return "\x1B[93m"; case 2: return L.fail("Should never get an Info diagnostic on the command line."); case 3: return "\x1B[94m" } } function iE(e, t) { return t + e + mq } function zpe(e, t, r, i, o, s) { let { line: l, character: f } = Gs(e, t), { line: d, character: g } = Gs(e, t + r), m = Gs(e, e.text.length).line, v = d - l >= 4, S = (d + 1 + "").length; v && (S = Math.max(hq.length, S)); let x = ""; for (let A = l; A <= d; A++) { x += s.getNewLine(), v && l + 1 < A && A < d - 1 && (x += i + iE(J1(hq, S), BF) + UF + s.getNewLine(), A = d - 1); let w = gw(e, A, 0), C = A < m ? gw(e, A + 1, 0) : e.text.length, P = e.text.slice(w, C); if (P = $D(P), P = P.replace(/\t/g, " "), x += i + iE(J1(A + 1 + "", S), BF) + UF, x += P + s.getNewLine(), x += i + iE(J1("", S), BF) + UF, x += o, A === l) { let F = A === d ? g : void 0; x += P.slice(0, f).replace(/\S/g, " "), x += P.slice(f, F).replace(/./g, "~") } else A === d ? x += P.slice(0, g).replace(/./g, "~") : x += P.replace(/./g, "~"); x += mq } return x } function iq(e, t, r, i = iE) { let { line: o, character: s } = Gs(e, t), l = r ? rI(e.fileName, r.getCurrentDirectory(), d => r.getCanonicalFileName(d)) : e.fileName, f = ""; return f += i(l, "\x1B[96m"), f += ":", f += i(`${o + 1}`, "\x1B[93m"), f += ":", f += i(`${s + 1}`, "\x1B[93m"), f } function Jpe(e, t) { let r = ""; for (let i of e) { if (i.file) { let { file: o, start: s } = i; r += iq(o, s, t), r += " - " } if (r += iE(C8(i), Wpe(i.category)), r += iE(` TS${i.code}: `, "\x1B[90m"), r += sv(i.messageText, t.getNewLine()), i.file && (r += t.getNewLine(), r += zpe(i.file, i.start, i.length, "", Wpe(i.category), t)), i.relatedInformation) { r += t.getNewLine(); for (let { file: o, start: s, length: l, messageText: f } of i.relatedInformation) o && (r += t.getNewLine(), r += Xpe + iq(o, s, t), r += zpe(o, s, l, gq, "\x1B[96m", t)), r += t.getNewLine(), r += gq + sv(f, t.getNewLine()) } r += t.getNewLine() } return r } function sv(e, t, r = 0) { if (Ta(e)) return e; if (e === void 0) return ""; let i = ""; if (r) { i += t; for (let o = 0; o < r; o++)i += "  " } if (i += e.messageText, r++, e.next) for (let o of e.next) i += sv(o, t, r); return i } function mN(e, t) { return (Ta(e) ? t : e.resolutionMode) || t } function aq(e, t) { if (e.impliedNodeFormat !== void 0) return W_(e, GF(e, t)) } function oq(e) { var t; return Il(e) ? e.isTypeOnly : !!((t = e.importClause) != null && t.isTypeOnly) } function W_(e, t) { var r, i; if (e.impliedNodeFormat === void 0) return; if ((gl(t.parent) || Il(t.parent)) && oq(t.parent)) { let l = qS(t.parent.assertClause); if (l) return l } if (t.parent.parent && Mh(t.parent.parent)) { let s = qS((r = t.parent.parent.assertions) == null ? void 0 : r.assertClause); if (s) return s } if (e.impliedNodeFormat !== 99) return Dd(qy(t.parent)) ? 99 : 1; let o = (i = qy(t.parent)) == null ? void 0 : i.parent; return o && Nl(o) ? 1 : 99 } function qS(e, t) { if (!e) return; if (Fn(e.elements) !== 1) { t?.(e, _.Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require); return } let r = e.elements[0]; if (es(r.name)) { if (r.name.text !== "resolution-mode") { t?.(r.name, _.resolution_mode_is_the_only_valid_key_for_type_import_assertions); return } if (es(r.value)) { if (r.value.text !== "import" && r.value.text !== "require") { t?.(r.value, _.resolution_mode_should_be_either_require_or_import); return } return r.value.text === "import" ? 99 : 1 } } } function sq(e) { return e.text } function cq(e, t, r, i, o) { return { nameAndMode: QL, resolve: (s, l) => FL(s, e, r, i, o, t, l) } } function RF(e) { return Ta(e) ? e : n_(e.fileName) } function OF(e, t, r, i, o) { return { nameAndMode: yN, resolve: (s, l) => HJ(s, e, r, i, t, o, l) } } function hN(e, t, r, i, o, s, l, f) { if (e.length === 0) return Je; let d = [], g = new Map, m = f(t, r, i, s, l); for (let v of e) { let S = m.nameAndMode.getName(v), x = m.nameAndMode.getMode(v, o), A = ML(S, x), w = g.get(A); w || g.set(A, w = m.resolve(S, x)), d.push(w) } return d } function Kpe(e, t) { return gN(void 0, e, (r, i) => r && t(r, i)) } function gN(e, t, r, i) { let o; return s(e, t, void 0); function s(l, f, d) { if (i) { let g = i(l, d); if (g) return g } return mn(f, (g, m) => { if (g && o?.has(g.sourceFile.path)) return; let v = r(g, d, m); return v || !g ? v : ((o || (o = new Set)).add(g.sourceFile.path), s(g.commandLine.projectReferences, g.references, g)) }) } } function vb(e) { switch (e?.kind) { case 3: case 4: case 5: case 7: return !0; default: return !1 } } function F2(e) { return e.pos !== void 0 } function YL(e, t) { var r, i, o, s, l, f; let d = L.checkDefined(e(t.file)), { kind: g, index: m } = t, v, S, x, A; switch (g) { case 3: let w = GF(d, m); if (x = (o = (i = (r = d.resolvedModules) == null ? void 0 : r.get(w.text, aq(d, m))) == null ? void 0 : i.resolvedModule) == null ? void 0 : o.packageId, w.pos === -1) return { file: d, packageId: x, text: w.text }; v = xo(d.text, w.pos), S = w.end; break; case 4: ({ pos: v, end: S } = d.referencedFiles[m]); break; case 5: ({ pos: v, end: S, resolutionMode: A } = d.typeReferenceDirectives[m]), x = (f = (l = (s = d.resolvedTypeReferenceDirectiveNames) == null ? void 0 : s.get(n_(d.typeReferenceDirectives[m].fileName), A || d.impliedNodeFormat)) == null ? void 0 : l.resolvedTypeReferenceDirective) == null ? void 0 : f.packageId; break; case 7: ({ pos: v, end: S } = d.libReferenceDirectives[m]); break; default: return L.assertNever(g) }return { file: d, pos: v, end: S, packageId: x } } function lq(e, t, r, i, o, s, l, f, d) { if (!e || l?.() || !up(e.getRootFileNames(), t)) return !1; let g; if (!up(e.getProjectReferences(), d, x) || e.getSourceFiles().some(v) || e.getMissingFilePaths().some(o)) return !1; let m = e.getCompilerOptions(); if (!gW(m, r)) return !1; if (m.configFile && r.configFile) return m.configFile.text === r.configFile.text; return !0; function v(w) { return !S(w) || s(w.path) } function S(w) { return w.version === i(w.resolvedPath, w.fileName) } function x(w, C, P) { return tH(w, C) && A(e.getResolvedProjectReferences()[P], w) } function A(w, C) { if (w) { if (ya(g, w)) return !0; let F = $L(C), B = f(F); return !B || w.commandLine.options.configFile !== B.options.configFile || !up(w.commandLine.fileNames, B.fileNames) ? !1 : ((g || (g = [])).push(w), !mn(w.references, (q, W) => !A(q, w.commandLine.projectReferences[W]))) } let P = $L(C); return !f(P) } } function XT(e) { return e.options.configFile ? [...e.options.configFile.parseDiagnostics, ...e.errors] : e.errors } function NF(e, t, r, i) { let o = uq(e, t, r, i); return typeof o == "object" ? o.impliedNodeFormat : o } function uq(e, t, r, i) { switch ($s(i)) { case 3: case 99: return $c(e, [".d.mts", ".mts", ".mjs"]) ? 99 : $c(e, [".d.cts", ".cts", ".cjs"]) ? 1 : $c(e, [".d.ts", ".ts", ".tsx", ".js", ".jsx"]) ? o() : void 0; default: return }function o() { let s = Z3(t, r, i), l = []; s.failedLookupLocations = l, s.affectingLocations = l; let f = eF(e, s); return { impliedNodeFormat: f?.contents.packageJsonContent.type === "module" ? 99 : 1, packageJsonLocations: l, packageJsonScope: f } } } function t8e(e, t) { return e ? LA(e.getCompilerOptions(), t, V3) : !1 } function n8e(e, t, r, i, o, s) { return { rootNames: e, options: t, host: r, oldProgram: i, configFileParsingDiagnostics: o, typeScriptVersion: s } } function PF(e, t, r, i, o) { var s, l, f, d, g, m, v, S, x, A, w, C, P, F, B, q; let W = ba(e) ? n8e(e, t, r, i, o) : e, { rootNames: Y, options: R, configFileParsingDiagnostics: ie, projectReferences: $, typeScriptVersion: fe } = W, { oldProgram: Z } = W, U = zu(() => Jf("ignoreDeprecations", _.Invalid_value_for_ignoreDeprecations)), re, le, _e, ge, X, Ve, we, ke = new Map, Pe = Nf(), Ce = {}, Ie = {}, Be = WT(), Ne, Le, Ye, _t = typeof R.maxNodeModuleJsDepth == "number" ? R.maxNodeModuleJsDepth : 0, ct = 0, Rt = new Map, We = new Map; (s = ai) == null || s.push(ai.Phase.Program, "createProgram", { configFilePath: R.configFilePath, rootDir: R.rootDir }, !0), Fs("beforeProgram"); let qe = W.host || Hpe(R), zt = FF(qe), Qt = R.noLib, tn = zu(() => qe.getDefaultLibFileName(R)), kn = qe.getDefaultLibLocation ? qe.getDefaultLibLocation() : ni(tn()), _n = XA(), Gt = qe.getCurrentDirectory(), $n = nL(R), ui = FR(R, $n), Ni = new Map, Pi, gr, pt, nn = qe.hasInvalidatedResolutions || m0; qe.resolveModuleNameLiterals ? (pt = qe.resolveModuleNameLiterals.bind(qe), gr = (l = qe.getModuleResolutionCache) == null ? void 0 : l.call(qe)) : qe.resolveModuleNames ? (pt = (be, De, mt, St, Zt, rn) => qe.resolveModuleNames(be.map(sq), De, rn?.map(sq), mt, St, Zt).map(sn => sn ? sn.extension !== void 0 ? { resolvedModule: sn } : { resolvedModule: { ...sn, extension: jR(sn.resolvedFileName) } } : yq), gr = (f = qe.getModuleResolutionCache) == null ? void 0 : f.call(qe)) : (gr = Y3(Gt, ee, R), pt = (be, De, mt, St, Zt) => hN(be, De, mt, St, Zt, qe, gr, cq)); let Dt; if (qe.resolveTypeReferenceDirectiveReferences) Dt = qe.resolveTypeReferenceDirectiveReferences.bind(qe); else if (qe.resolveTypeReferenceDirectives) Dt = (be, De, mt, St, Zt) => qe.resolveTypeReferenceDirectives(be.map(RF), De, mt, St, Zt?.impliedNodeFormat).map(rn => ({ resolvedTypeReferenceDirective: rn })); else { let be = $3(Gt, ee, void 0, gr?.getPackageJsonInfoCache()); Dt = (De, mt, St, Zt, rn) => hN(De, mt, St, Zt, rn, qe, be, OF) } let pn = new Map, An = new Map, Kn = Nf(), hi = !1, ri = new Map, vn, Ht = qe.useCaseSensitiveFileNames() ? new Map : void 0, En, dr, Cr, Se, at = !!((d = qe.useSourceOfProjectReferenceRedirect) != null && d.call(qe)) && !R.disableSourceOfProjectReferenceRedirect, { onProgramCreateComplete: Tt, fileExists: ve, directoryExists: nt } = r8e({ compilerHost: qe, getSymlinkCache: oa, useSourceOfProjectReferenceRedirect: at, toPath: rt, getResolvedProjectReferences: Qe, getSourceOfProjectReferenceRedirect: Ws, forEachResolvedProjectReference: jo }), ce = qe.readFile.bind(qe); (g = ai) == null || g.push(ai.Phase.Program, "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!Z }); let Q = t8e(Z, R); (m = ai) == null || m.pop(); let ue; if ((v = ai) == null || v.push(ai.Phase.Program, "tryReuseStructureFromOldProgram", {}), ue = Te(), (S = ai) == null || S.pop(), ue !== 2) { if (re = [], le = [], $ && (En || (En = $.map(xt)), Y.length && En?.forEach((be, De) => { if (!be) return; let mt = Ss(be.commandLine.options); if (at) { if (mt || Rl(be.commandLine.options) === 0) for (let St of be.commandLine.fileNames) Yt(St, { kind: 1, index: De }) } else if (mt) Yt(V0(mt, ".d.ts"), { kind: 2, index: De }); else if (Rl(be.commandLine.options) === 0) { let St = zu(() => XL(be.commandLine, !qe.useCaseSensitiveFileNames())); for (let Zt of be.commandLine.fileNames) !Fu(Zt) && !Gc(Zt, ".json") && Yt(qL(Zt, be.commandLine, !qe.useCaseSensitiveFileNames(), St), { kind: 2, index: De }) } })), (x = ai) == null || x.push(ai.Phase.Program, "processRootFiles", { count: Y.length }), mn(Y, (be, De) => yc(be, !1, !1, { kind: 0, index: De })), (A = ai) == null || A.pop(), Le ?? (Le = Y.length ? X3(R, qe) : Je), Ye = WT(), Le.length) { (w = ai) == null || w.push(ai.Phase.Program, "processTypeReferences", { count: Le.length }); let be = R.configFilePath ? ni(R.configFilePath) : qe.getCurrentDirectory(), De = vi(be, VF), mt = pe(Le, De); for (let St = 0; St < Le.length; St++)Ye.set(Le[St], void 0, mt[St]), Et(Le[St], void 0, mt[St], { kind: 8, typeReference: Le[St], packageId: (P = (C = mt[St]) == null ? void 0 : C.resolvedTypeReferenceDirective) == null ? void 0 : P.packageId }); (F = ai) == null || F.pop() } if (Y.length && !Qt) { let be = tn(); !R.lib && be ? yc(be, !0, !1, { kind: 6 }) : mn(R.lib, (De, mt) => { yc(Ri(De), !0, !1, { kind: 6, index: mt }) }) } vn = lo(UD(ri.entries(), ([be, De]) => De === void 0 ? be : void 0)), _e = Ag(re, ir).concat(le), re = void 0, le = void 0 } if (L.assert(!!vn), Z && qe.onReleaseOldSourceFile) { let be = Z.getSourceFiles(); for (let De of be) { let mt = Hi(De.resolvedPath); (Q || !mt || mt.impliedNodeFormat !== De.impliedNodeFormat || De.resolvedPath === De.path && mt.resolvedPath !== De.path) && qe.onReleaseOldSourceFile(De, Z.getCompilerOptions(), !!Hi(De.path)) } qe.getParsedCommandLine || Z.forEachResolvedProjectReference(De => { vc(De.sourceFile.path) || qe.onReleaseOldSourceFile(De.sourceFile, Z.getCompilerOptions(), !1) }) } Z && qe.onReleaseParsedCommandLine && gN(Z.getProjectReferences(), Z.getResolvedProjectReferences(), (be, De, mt) => { let St = De?.commandLine.projectReferences[mt] || Z.getProjectReferences()[mt], Zt = $L(St); dr?.has(rt(Zt)) || qe.onReleaseParsedCommandLine(Zt, be, Z.getCompilerOptions()) }), Z = void 0; let G = { getRootFileNames: () => Y, getSourceFile: Fa, getSourceFileByPath: Hi, getSourceFiles: () => _e, getMissingFilePaths: () => vn, getModuleResolutionCache: () => gr, getFilesByNameMap: () => ri, getCompilerOptions: () => R, getSyntacticDiagnostics: Nr, getOptionsDiagnostics: qs, getGlobalDiagnostics: As, getSemanticDiagnostics: Fo, getCachedSemanticDiagnostics: Qr, getSuggestionDiagnostics: Co, getDeclarationDiagnostics: Ki, getBindAndCheckDiagnostics: Wi, getProgramDiagnostics: gn, getTypeChecker: Kr, getClassifiableNames: Ke, getCommonSourceDirectory: Ot, emit: Si, getCurrentDirectory: () => Gt, getNodeCount: () => Kr().getNodeCount(), getIdentifierCount: () => Kr().getIdentifierCount(), getSymbolCount: () => Kr().getSymbolCount(), getTypeCount: () => Kr().getTypeCount(), getInstantiationCount: () => Kr().getInstantiationCount(), getRelationCacheSizes: () => Kr().getRelationCacheSizes(), getFileProcessingDiagnostics: () => Ne, getResolvedTypeReferenceDirectives: () => Be, getAutomaticTypeDirectiveNames: () => Le, getAutomaticTypeDirectiveResolutions: () => Ye, isSourceFileFromExternalLibrary: jr, isSourceFileDefaultLibrary: ei, getSourceFileFromReference: K, getLibFileFromReference: wt, sourceFileToPackageName: An, redirectTargetsMap: Kn, usesUriStyleNodeCoreModules: hi, isEmittedFile: Pn, getConfigFileParsingDiagnostics: jt, getProjectReferences: Vt, getResolvedProjectReferences: Qe, getProjectReferenceRedirect: Hs, getResolvedProjectReferenceToRedirect: $o, getResolvedProjectReferenceByPath: vc, forEachResolvedProjectReference: jo, isSourceOfProjectReferenceRedirect: hd, emitBuildInfo: lt, fileExists: ve, readFile: ce, directoryExists: nt, getSymlinkCache: oa, realpath: (B = qe.realpath) == null ? void 0 : B.bind(qe), useCaseSensitiveFileNames: () => qe.useCaseSensitiveFileNames(), getCanonicalFileName: ee, getFileIncludeReasons: () => Pe, structureIsReused: ue, writeFile: yt }; return Tt(), Ne?.forEach(be => { switch (be.kind) { case 1: return _n.add(Ea(be.file && Hi(be.file), be.fileProcessingReason, be.diagnostic, be.args || Je)); case 0: let { file: De, pos: mt, end: St } = YL(Hi, be.reason); return _n.add(al(De, L.checkDefined(mt), L.checkDefined(St) - mt, be.diagnostic, ...be.args || Je)); case 2: return be.diagnostics.forEach(Zt => _n.add(Zt)); default: L.assertNever(be) } }), qt(), Fs("afterProgram"), hf("Program", "beforeProgram", "afterProgram"), (q = ai) == null || q.pop(), G; function Oe(be) { var De; (De = be.resolutionDiagnostics) != null && De.length && (Ne ?? (Ne = [])).push({ kind: 2, diagnostics: be.resolutionDiagnostics }) } function je(be, De, mt, St) { if (qe.resolveModuleNameLiterals || !qe.resolveModuleNames) return Oe(mt); if (!gr || fl(De)) return; let Zt = _a(be.originalFileName, Gt), rn = ni(Zt), sn = Kt(be), Dn = gr.getFromNonRelativeNameCache(De, St, rn, sn); Dn && Oe(Dn) } function Ge(be, De, mt) { var St, Zt; if (!be.length) return Je; let rn = _a(De.originalFileName, Gt), sn = Kt(De); (St = ai) == null || St.push(ai.Phase.Program, "resolveModuleNamesWorker", { containingFileName: rn }), Fs("beforeResolveModule"); let Dn = pt(be, rn, sn, R, De, mt); return Fs("afterResolveModule"), hf("ResolveModule", "beforeResolveModule", "afterResolveModule"), (Zt = ai) == null || Zt.pop(), Dn } function kt(be, De, mt) { var St, Zt; if (!be.length) return []; let rn = Ta(De) ? void 0 : De, sn = Ta(De) ? De : _a(De.originalFileName, Gt), Dn = rn && Kt(rn); (St = ai) == null || St.push(ai.Phase.Program, "resolveTypeReferenceDirectiveNamesWorker", { containingFileName: sn }), Fs("beforeResolveTypeReference"); let kr = Dt(be, sn, Dn, R, rn, mt); return Fs("afterResolveTypeReference"), hf("ResolveTypeReference", "beforeResolveTypeReference", "afterResolveTypeReference"), (Zt = ai) == null || Zt.pop(), kr } function Kt(be) { let De = $o(be.originalFileName); if (De || !Fu(be.originalFileName)) return De; let mt = ln(be.path); if (mt) return mt; if (!qe.realpath || !R.preserveSymlinks || !jl(be.originalFileName, Wg)) return; let St = rt(qe.realpath(be.originalFileName)); return St === be.path ? void 0 : ln(St) } function ln(be) { let De = Ws(be); if (Ta(De)) return $o(De); if (De) return jo(mt => { let St = Ss(mt.commandLine.options); if (St) return rt(St) === be ? mt : void 0 }) } function ir(be, De) { return Es(ae(be), ae(De)) } function ae(be) { if (Gy(kn, be.fileName, !1)) { let De = Hl(be.fileName); if (De === "lib.d.ts" || De === "lib.es6.d.ts") return 0; let mt = pA(QC(De, "lib."), ".d.ts"), St = VO.indexOf(mt); if (St !== -1) return St + 1 } return VO.length + 2 } function rt(be) { return Ts(be, Gt, ee) } function Ot() { if (X === void 0) { let be = Pr(_e, De => pS(De, G)); X = uN(R, () => Zi(be, De => De.isDeclarationFile ? void 0 : De.fileName), Gt, ee, De => At(be, De)) } return X } function Ke() { var be; if (!we) { Kr(), we = new Set; for (let De of _e) (be = De.classifiableNames) == null || be.forEach(mt => we.add(mt)) } return we } function oe(be, De) { var mt; if (ue === 0 && !De.ambientModuleNames.length) return Ge(be, De, void 0); let St = Z && Z.getSourceFile(De.fileName); if (St !== De && De.resolvedModules) { let $t = []; for (let Xn of be) { let ra = De.resolvedModules.get(Xn.text, W_(De, Xn)); $t.push(ra) } return $t } let Zt, rn, sn, Dn = yq; for (let $t = 0; $t < be.length; $t++) { let Xn = be[$t]; if (De === St && !nn(St.path)) { let Is = W_(De, Xn), Mc = (mt = St.resolvedModules) == null ? void 0 : mt.get(Xn.text, Is); if (Mc?.resolvedModule) { ov(R, qe) && Xi(qe, Mc.resolvedModule.packageId ? _.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : _.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2, Xn.text, _a(De.originalFileName, Gt), Mc.resolvedModule.resolvedFileName, Mc.resolvedModule.packageId && hT(Mc.resolvedModule.packageId)), (rn ?? (rn = new Array(be.length)))[$t] = Mc, (sn ?? (sn = [])).push(Xn); continue } } let ra = !1; ya(De.ambientModuleNames, Xn.text) ? (ra = !0, ov(R, qe) && Xi(qe, _.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1, Xn.text, _a(De.originalFileName, Gt))) : ra = Vn(Xn), ra ? (rn || (rn = new Array(be.length)))[$t] = Dn : (Zt ?? (Zt = [])).push(Xn) } let kr = Zt && Zt.length ? Ge(Zt, De, sn) : Je; if (!rn) return L.assert(kr.length === be.length), kr; let ki = 0; for (let $t = 0; $t < rn.length; $t++)rn[$t] || (rn[$t] = kr[ki], ki++); return L.assert(ki === kr.length), rn; function Vn($t) { let Xn = kA(St, $t.text, W_(De, $t)), ra = Xn && Z.getSourceFile(Xn.resolvedFileName); if (Xn && ra) return !1; let Is = ke.get($t.text); return Is ? (ov(R, qe) && Xi(qe, _.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified, $t.text, Is), !0) : !1 } } function pe(be, De) { var mt; if (ue === 0) return kt(be, De, void 0); let St = Ta(De) ? void 0 : Z && Z.getSourceFile(De.fileName); if (!Ta(De) && St !== De && De.resolvedTypeReferenceDirectiveNames) { let $t = []; for (let Xn of be) { let ra = De.resolvedTypeReferenceDirectiveNames.get(RF(Xn), mN(Xn, De.impliedNodeFormat)); $t.push(ra) } return $t } let Zt, rn, sn, Dn = Ta(De) ? void 0 : De, kr = Ta(De) ? !nn(rt(De)) : De === St && !nn(St.path); for (let $t = 0; $t < be.length; $t++) { let Xn = be[$t]; if (kr) { let ra = RF(Xn), Is = mN(Xn, Dn?.impliedNodeFormat), Mc = (mt = Ta(De) ? Z?.getAutomaticTypeDirectiveResolutions() : St?.resolvedTypeReferenceDirectiveNames) == null ? void 0 : mt.get(ra, Is); if (Mc?.resolvedTypeReferenceDirective) { ov(R, qe) && Xi(qe, Mc.resolvedTypeReferenceDirective.packageId ? _.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : _.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2, ra, Ta(De) ? De : _a(De.originalFileName, Gt), Mc.resolvedTypeReferenceDirective.resolvedFileName, Mc.resolvedTypeReferenceDirective.packageId && hT(Mc.resolvedTypeReferenceDirective.packageId)), (rn ?? (rn = new Array(be.length)))[$t] = Mc, (sn ?? (sn = [])).push(Xn); continue } } (Zt ?? (Zt = [])).push(Xn) } if (!Zt) return rn || Je; let ki = kt(Zt, De, sn); if (!rn) return L.assert(ki.length === be.length), ki; let Vn = 0; for (let $t = 0; $t < rn.length; $t++)rn[$t] || (rn[$t] = ki[Vn], Vn++); return L.assert(Vn === ki.length), rn } function z() { return !gN(Z.getProjectReferences(), Z.getResolvedProjectReferences(), (be, De, mt) => { let St = (De ? De.commandLine.projectReferences : $)[mt], Zt = xt(St); return be ? !Zt || Zt.sourceFile !== be.sourceFile || !up(be.commandLine.fileNames, Zt.commandLine.fileNames) : Zt !== void 0 }, (be, De) => { let mt = De ? vc(De.sourceFile.path).commandLine.projectReferences : $; return !up(be, mt, tH) }) } function Te() { var be; if (!Z) return 0; let De = Z.getCompilerOptions(); if (eH(De, R)) return 0; let mt = Z.getRootFileNames(); if (!up(mt, Y) || !z()) return 0; $ && (En = $.map(xt)); let St = [], Zt = []; if (ue = 2, Z.getMissingFilePaths().some(Vn => qe.fileExists(Vn))) return 0; let rn = Z.getSourceFiles(), sn; (Vn => { Vn[Vn.Exists = 0] = "Exists", Vn[Vn.Modified = 1] = "Modified" })(sn || (sn = {})); let Dn = new Map; for (let Vn of rn) { let $t = Go(Vn.fileName, gr, qe, R), Xn = qe.getSourceFileByPath ? qe.getSourceFileByPath(Vn.fileName, Vn.resolvedPath, $t, void 0, Q || $t.impliedNodeFormat !== Vn.impliedNodeFormat) : qe.getSourceFile(Vn.fileName, $t, void 0, Q || $t.impliedNodeFormat !== Vn.impliedNodeFormat); if (!Xn) return 0; Xn.packageJsonLocations = (be = $t.packageJsonLocations) != null && be.length ? $t.packageJsonLocations : void 0, Xn.packageJsonScope = $t.packageJsonScope, L.assert(!Xn.redirectInfo, "Host should not return a redirect source file from `getSourceFile`"); let ra; if (Vn.redirectInfo) { if (Xn !== Vn.redirectInfo.unredirected) return 0; ra = !1, Xn = Vn } else if (Z.redirectTargetsMap.has(Vn.path)) { if (Xn !== Vn) return 0; ra = !1 } else ra = Xn !== Vn; Xn.path = Vn.path, Xn.originalFileName = Vn.originalFileName, Xn.resolvedPath = Vn.resolvedPath, Xn.fileName = Vn.fileName; let Is = Z.sourceFileToPackageName.get(Vn.path); if (Is !== void 0) { let Mc = Dn.get(Is), mm = ra ? 1 : 0; if (Mc !== void 0 && mm === 1 || Mc === 1) return 0; Dn.set(Is, mm) } ra ? (Vn.impliedNodeFormat !== Xn.impliedNodeFormat ? ue = 1 : up(Vn.libReferenceDirectives, Xn.libReferenceDirectives, Ql) ? Vn.hasNoDefaultLib !== Xn.hasNoDefaultLib ? ue = 1 : up(Vn.referencedFiles, Xn.referencedFiles, Ql) ? (ht(Xn), up(Vn.imports, Xn.imports, yu) && up(Vn.moduleAugmentations, Xn.moduleAugmentations, yu) ? (Vn.flags & 6291456) !== (Xn.flags & 6291456) ? ue = 1 : up(Vn.typeReferenceDirectives, Xn.typeReferenceDirectives, Ql) || (ue = 1) : ue = 1) : ue = 1 : ue = 1, Zt.push({ oldFile: Vn, newFile: Xn })) : nn(Vn.path) && (ue = 1, Zt.push({ oldFile: Vn, newFile: Xn })), St.push(Xn) } if (ue !== 2) return ue; let kr = Zt.map(Vn => Vn.oldFile); for (let Vn of rn) if (!ya(kr, Vn)) for (let $t of Vn.ambientModuleNames) ke.set($t, Vn.fileName); for (let { oldFile: Vn, newFile: $t } of Zt) { let Xn = qpe($t), ra = oe(Xn, $t); nH(Xn, $t, ra, Vn.resolvedModules, wse, QL) ? (ue = 1, $t.resolvedModules = qJ($t, Xn, ra, QL)) : $t.resolvedModules = Vn.resolvedModules; let Mc = $t.typeReferenceDirectives, mm = pe(Mc, $t); nH(Mc, $t, mm, Vn.resolvedTypeReferenceDirectiveNames, Rse, yN) ? (ue = 1, $t.resolvedTypeReferenceDirectiveNames = qJ($t, Mc, mm, yN)) : $t.resolvedTypeReferenceDirectiveNames = Vn.resolvedTypeReferenceDirectiveNames } if (ue !== 2) return ue; if (Ise(De, R)) return 1; if (qe.hasChangedAutomaticTypeDirectiveNames) { if (qe.hasChangedAutomaticTypeDirectiveNames()) return 1 } else if (Le = X3(R, qe), !up(Z.getAutomaticTypeDirectiveNames(), Le)) return 1; vn = Z.getMissingFilePaths(), L.assert(St.length === Z.getSourceFiles().length); for (let Vn of St) ri.set(Vn.path, Vn); return Z.getFilesByNameMap().forEach((Vn, $t) => { if (!Vn) { ri.set($t, Vn); return } if (Vn.path === $t) { Z.isSourceFileFromExternalLibrary(Vn) && We.set(Vn.path, !0); return } ri.set($t, ri.get(Vn.path)) }), _e = St, Pe = Z.getFileIncludeReasons(), Ne = Z.getFileProcessingDiagnostics(), Be = Z.getResolvedTypeReferenceDirectives(), Le = Z.getAutomaticTypeDirectiveNames(), Ye = Z.getAutomaticTypeDirectiveResolutions(), An = Z.sourceFileToPackageName, Kn = Z.redirectTargetsMap, hi = Z.usesUriStyleNodeCoreModules, 2 } function j(be) { return { getPrependNodes: Hn, getCanonicalFileName: ee, getCommonSourceDirectory: G.getCommonSourceDirectory, getCompilerOptions: G.getCompilerOptions, getCurrentDirectory: () => Gt, getSourceFile: G.getSourceFile, getSourceFileByPath: G.getSourceFileByPath, getSourceFiles: G.getSourceFiles, getLibFileFromReference: G.getLibFileFromReference, isSourceFileFromExternalLibrary: jr, getResolvedProjectReferenceToRedirect: $o, getProjectReferenceRedirect: Hs, isSourceOfProjectReferenceRedirect: hd, getSymlinkCache: oa, writeFile: be || yt, isEmitBlocked: Ja, readFile: De => qe.readFile(De), fileExists: De => { let mt = rt(De); return Hi(mt) ? !0 : ya(vn, mt) ? !1 : qe.fileExists(De) }, useCaseSensitiveFileNames: () => qe.useCaseSensitiveFileNames(), getBuildInfo: De => { var mt; return (mt = G.getBuildInfo) == null ? void 0 : mt.call(G, De) }, getSourceFileFromReference: (De, mt) => G.getSourceFileFromReference(De, mt), redirectTargetsMap: Kn, getFileIncludeReasons: G.getFileIncludeReasons, createHash: ho(qe, qe.createHash) } } function yt(be, De, mt, St, Zt, rn) { qe.writeFile(be, De, mt, St, Zt, rn) } function lt(be) { var De, mt; L.assert(!Ss(R)), (De = ai) == null || De.push(ai.Phase.Emit, "emitBuildInfo", {}, !0), Fs("beforeEmit"); let St = CF(LF, j(be), void 0, HK, !1, !0); return Fs("afterEmit"), hf("Emit", "beforeEmit", "afterEmit"), (mt = ai) == null || mt.pop(), St } function Qe() { return En } function Vt() { return $ } function Hn() { return fq($, (be, De) => { var mt; return (mt = En[De]) == null ? void 0 : mt.commandLine }, be => { let De = rt(be), mt = Hi(De); return mt ? mt.text : ri.has(De) ? void 0 : qe.readFile(De) }, qe) } function jr(be) { return !!We.get(be.path) } function ei(be) { if (!be.isDeclarationFile) return !1; if (be.hasNoDefaultLib) return !0; if (!R.noLib) return !1; let De = qe.useCaseSensitiveFileNames() ? z1 : W1; return R.lib ? vt(R.lib, mt => De(be.fileName, Ri(mt))) : De(be.fileName, tn()) } function Kr() { return Ve || (Ve = k_e(G)) } function Si(be, De, mt, St, Zt, rn) { var sn, Dn; (sn = ai) == null || sn.push(ai.Phase.Emit, "emit", { path: be?.path }, !0); let kr = Ps(() => Za(G, be, De, mt, St, Zt, rn)); return (Dn = ai) == null || Dn.pop(), kr } function Ja(be) { return Ni.has(rt(be)) } function Za(be, De, mt, St, Zt, rn, sn) { if (!sn) { let ki = dq(be, De, mt, St); if (ki) return ki } let Dn = Kr().getEmitResolver(Ss(R) ? void 0 : De, St); Fs("beforeEmit"); let kr = CF(Dn, j(mt), De, jK(R, rn, Zt), Zt, !1, sn); return Fs("afterEmit"), hf("Emit", "beforeEmit", "afterEmit"), kr } function Fa(be) { return Hi(rt(be)) } function Hi(be) { return ri.get(be) || void 0 } function xi(be, De, mt) { return vA(be ? De(be, mt) : Uo(G.getSourceFiles(), St => (mt && mt.throwIfCancellationRequested(), De(St, mt)))) } function Nr(be, De) { return xi(be, kc, De) } function Fo(be, De) { return xi(be, mc, De) } function Qr(be) { var De; return be ? (De = Ce.perFile) == null ? void 0 : De.get(be.path) : Ce.allDiagnostics } function Wi(be, De) { return xc(be, De) } function gn(be) { var De; if (rL(be, R, G)) return Je; let mt = _n.getDiagnostics(be.fileName); return (De = be.commentDirectives) != null && De.length ? aa(be, be.commentDirectives, mt).diagnostics : mt } function Ki(be, De) { let mt = G.getCompilerOptions(); return !be || Ss(mt) ? md(be, De) : xi(be, ss, De) } function kc(be) { return Cu(be) ? (be.additionalSyntacticDiagnostics || (be.additionalSyntacticDiagnostics = Ll(be)), Qi(be.additionalSyntacticDiagnostics, be.parseDiagnostics)) : be.parseDiagnostics } function Ps(be) { try { return be() } catch (De) { throw De instanceof tI && (Ve = void 0), De } } function mc(be, De) { return Qi(MF(xc(be, De), R), gn(be)) } function xc(be, De) { return bl(be, De, Ce, hc) } function hc(be, De) { return Ps(() => { if (rL(be, R, G)) return Je; let mt = Kr(); L.assert(!!be.bindDiagnostics); let Zt = (be.scriptKind === 1 || be.scriptKind === 2) && HR(be, R), rn = h6(be, R.checkJs), Dn = !(!!be.checkJsDirective && be.checkJsDirective.enabled === !1) && (be.scriptKind === 3 || be.scriptKind === 4 || be.scriptKind === 5 || rn || Zt || be.scriptKind === 7), kr = Dn ? be.bindDiagnostics : Je, ki = Dn ? mt.getDiagnostics(be, De) : Je; return rn && (kr = Pr(kr, Vn => jF.has(Vn.code)), ki = Pr(ki, Vn => jF.has(Vn.code))), ro(be, Dn && !rn, kr, ki, Zt ? be.jsDocDiagnostics : void 0) }) } function ro(be, De, ...mt) { var St; let Zt = t_(mt); if (!De || !((St = be.commentDirectives) != null && St.length)) return Zt; let { diagnostics: rn, directives: sn } = aa(be, be.commentDirectives, Zt); for (let Dn of sn.getUnusedExpectations()) rn.push(vH(be, Dn.range, _.Unused_ts_expect_error_directive)); return rn } function aa(be, De, mt) { let St = Gse(be, De); return { diagnostics: mt.filter(rn => gc(rn, St) === -1), directives: St } } function Co(be, De) { return Ps(() => Kr().getSuggestionDiagnostics(be, De)) } function gc(be, De) { let { file: mt, start: St } = be; if (!mt) return -1; let Zt = Sh(mt), rn = yw(Zt, St).line - 1; for (; rn >= 0;) { if (De.markUsed(rn)) return rn; let sn = mt.text.slice(Zt[rn], Zt[rn + 1]).trim(); if (sn !== "" && !/^(\s*)\/\/(.*)$/.test(sn)) return -1; rn-- } return -1 } function Ll(be) { return Ps(() => { let De = []; return mt(be, be), kO(be, mt, St), De; function mt(Dn, kr) { switch (kr.kind) { case 166: case 169: case 171: if (kr.questionToken === Dn) return De.push(sn(Dn, _.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")), "skip"; case 170: case 173: case 174: case 175: case 215: case 259: case 216: case 257: if (kr.type === Dn) return De.push(sn(Dn, _.Type_annotations_can_only_be_used_in_TypeScript_files)), "skip" }switch (Dn.kind) { case 270: if (Dn.isTypeOnly) return De.push(sn(kr, _._0_declarations_can_only_be_used_in_TypeScript_files, "import type")), "skip"; break; case 275: if (Dn.isTypeOnly) return De.push(sn(Dn, _._0_declarations_can_only_be_used_in_TypeScript_files, "export type")), "skip"; break; case 273: case 278: if (Dn.isTypeOnly) return De.push(sn(Dn, _._0_declarations_can_only_be_used_in_TypeScript_files, $u(Dn) ? "import...type" : "export...type")), "skip"; break; case 268: return De.push(sn(Dn, _.import_can_only_be_used_in_TypeScript_files)), "skip"; case 274: if (Dn.isExportEquals) return De.push(sn(Dn, _.export_can_only_be_used_in_TypeScript_files)), "skip"; break; case 294: if (Dn.token === 117) return De.push(sn(Dn, _.implements_clauses_can_only_be_used_in_TypeScript_files)), "skip"; break; case 261: let Vn = Xa(118); return L.assertIsDefined(Vn), De.push(sn(Dn, _._0_declarations_can_only_be_used_in_TypeScript_files, Vn)), "skip"; case 264: let $t = Dn.flags & 16 ? Xa(143) : Xa(142); return L.assertIsDefined($t), De.push(sn(Dn, _._0_declarations_can_only_be_used_in_TypeScript_files, $t)), "skip"; case 262: return De.push(sn(Dn, _.Type_aliases_can_only_be_used_in_TypeScript_files)), "skip"; case 263: let Xn = L.checkDefined(Xa(92)); return De.push(sn(Dn, _._0_declarations_can_only_be_used_in_TypeScript_files, Xn)), "skip"; case 232: return De.push(sn(Dn, _.Non_null_assertions_can_only_be_used_in_TypeScript_files)), "skip"; case 231: return De.push(sn(Dn.type, _.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)), "skip"; case 235: return De.push(sn(Dn.type, _.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)), "skip"; case 213: L.fail() } } function St(Dn, kr) { if (aJ(kr)) { let ki = wr(kr.modifiers, du); ki && De.push(sn(ki, _.Decorators_are_not_valid_here)) } else if (HS(kr) && kr.modifiers) { let ki = Yc(kr.modifiers, du); if (ki >= 0) { if (ha(kr) && !R.experimentalDecorators) De.push(sn(kr.modifiers[ki], _.Decorators_are_not_valid_here)); else if (sl(kr)) { let Vn = Yc(kr.modifiers, c3); if (Vn >= 0) { let $t = Yc(kr.modifiers, kue); if (ki > Vn && $t >= 0 && ki < $t) De.push(sn(kr.modifiers[ki], _.Decorators_are_not_valid_here)); else if (Vn >= 0 && ki < Vn) { let Xn = Yc(kr.modifiers, du, Vn); Xn >= 0 && De.push(Ao(sn(kr.modifiers[Xn], _.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export), sn(kr.modifiers[ki], _.Decorator_used_before_export_here))) } } } } } switch (kr.kind) { case 260: case 228: case 171: case 173: case 174: case 175: case 215: case 259: case 216: if (Dn === kr.typeParameters) return De.push(rn(Dn, _.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)), "skip"; case 240: if (Dn === kr.modifiers) return Zt(kr.modifiers, kr.kind === 240), "skip"; break; case 169: if (Dn === kr.modifiers) { for (let ki of Dn) Ha(ki) && ki.kind !== 124 && ki.kind !== 127 && De.push(sn(ki, _.The_0_modifier_can_only_be_used_in_TypeScript_files, Xa(ki.kind))); return "skip" } break; case 166: if (Dn === kr.modifiers && vt(Dn, Ha)) return De.push(rn(Dn, _.Parameter_modifiers_can_only_be_used_in_TypeScript_files)), "skip"; break; case 210: case 211: case 230: case 282: case 283: case 212: if (Dn === kr.typeArguments) return De.push(rn(Dn, _.Type_arguments_can_only_be_used_in_TypeScript_files)), "skip"; break } } function Zt(Dn, kr) { for (let ki of Dn) switch (ki.kind) { case 85: if (kr) continue; case 123: case 121: case 122: case 146: case 136: case 126: case 161: case 101: case 145: De.push(sn(ki, _.The_0_modifier_can_only_be_used_in_TypeScript_files, Xa(ki.kind))); break; case 124: case 93: case 88: case 127: } } function rn(Dn, kr, ki, Vn, $t) { let Xn = Dn.pos; return al(be, Xn, Dn.end - Xn, kr, ki, Vn, $t) } function sn(Dn, kr, ki, Vn, $t) { return Nu(be, Dn, kr, ki, Vn, $t) } }) } function md(be, De) { return bl(be, De, Ie, Pc) } function Pc(be, De) { return Ps(() => { let mt = Kr().getEmitResolver(be, De); return Tpe(j(Ba), mt, be) || Je }) } function bl(be, De, mt, St) { var Zt; let rn = be ? (Zt = mt.perFile) == null ? void 0 : Zt.get(be.path) : mt.allDiagnostics; if (rn) return rn; let sn = St(be, De); return be ? (mt.perFile || (mt.perFile = new Map)).set(be.path, sn) : mt.allDiagnostics = sn, sn } function ss(be, De) { return be.isDeclarationFile ? [] : md(be, De) } function qs() { return vA(Qi(_n.getGlobalDiagnostics(), Rs())) } function Rs() { if (!R.configFile) return Je; let be = _n.getDiagnostics(R.configFile.fileName); return jo(De => { be = Qi(be, _n.getDiagnostics(De.sourceFile.fileName)) }), be } function As() { return Y.length ? vA(Kr().getGlobalDiagnostics().slice()) : Je } function jt() { return ie || Je } function yc(be, De, mt, St) { ft(So(be), De, mt, void 0, St) } function Ql(be, De) { return be.fileName === De.fileName } function yu(be, De) { return be.kind === 79 ? De.kind === 79 && be.escapedText === De.escapedText : De.kind === 10 && be.text === De.text } function se(be, De) { let mt = D.createStringLiteral(be), St = D.createImportDeclaration(void 0, void 0, mt, void 0); return SS(St, 2), go(mt, St), go(St, De), mt.flags &= -9, St.flags &= -9, mt } function ht(be) { if (be.imports) return; let De = Cu(be), mt = Lc(be), St, Zt, rn; if ((d_(R) || mt) && !be.isDeclarationFile) { R.importHelpers && (St = [se(_b, be)]); let Vn = p4(_4(R, be), R); Vn && (St || (St = [])).push(se(Vn, be)) } for (let Vn of be.statements) Dn(Vn, !1); let sn = De && $s(R) !== 100; (be.flags & 2097152 || sn) && kr(be), be.imports = St || Je, be.moduleAugmentations = Zt || Je, be.ambientModuleNames = rn || Je; return; function Dn(Vn, $t) { if (Uw(Vn)) { let Xn = UA(Vn); Xn && yo(Xn) && Xn.text && (!$t || !fl(Xn.text)) && (Zy(Vn, !1), St = Sn(St, Xn), !hi && ct === 0 && !be.isDeclarationFile && (hi = na(Xn.text, "node:"))) } else if (Tc(Vn) && lu(Vn) && ($t || Mr(Vn, 2) || be.isDeclarationFile)) { Vn.name.parent = Vn; let Xn = l_(Vn.name); if (mt || $t && !fl(Xn)) (Zt || (Zt = [])).push(Vn.name); else if (!$t) { be.isDeclarationFile && (rn || (rn = [])).push(Xn); let ra = Vn.body; if (ra) for (let Is of ra.statements) Dn(Is, !0) } } } function kr(Vn) { let $t = /import|require/g; for (; $t.exec(Vn.text) !== null;) { let Xn = ki(Vn, $t.lastIndex); sn && qu(Xn, !0) || Dd(Xn) && Xn.arguments.length >= 1 && es(Xn.arguments[0]) ? (Zy(Xn, !1), St = Sn(St, Xn.arguments[0])) : ib(Xn) && (Zy(Xn, !1), St = Sn(St, Xn.argument.literal)) } } function ki(Vn, $t) { let Xn = Vn, ra = Is => { if (Is.pos <= $t && ($t < Is.end || $t === Is.end && Is.kind === 1)) return Is }; for (; ;) { let Is = De && Kd(Xn) && mn(Xn.jsDoc, ra) || pa(Xn, ra); if (!Is) return Xn; Xn = Is } } } function wt(be) { let De = n_(be.fileName), mt = jO.get(De); if (mt) return Fa(Ri(mt)) } function K(be, De) { return Xe(wF(De.fileName, be.fileName), Fa) } function Xe(be, De, mt, St) { if (gA(be)) { let Zt = qe.getCanonicalFileName(be); if (!R.allowNonTsExtensions && !mn(t_(ui), sn => Gc(Zt, sn))) { mt && (ES(Zt) ? mt(_.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option, be) : mt(_.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1, be, "'" + t_($n).join("', '") + "'")); return } let rn = De(be); if (mt) if (rn) vb(St) && Zt === qe.getCanonicalFileName(Hi(St.file).fileName) && mt(_.A_file_cannot_have_a_reference_to_itself); else { let sn = Hs(be); sn ? mt(_.Output_file_0_has_not_been_built_from_source_file_1, sn, be) : mt(_.File_0_not_found, be) } return rn } else { let Zt = R.allowNonTsExtensions && De(be); if (Zt) return Zt; if (mt && R.allowNonTsExtensions) { mt(_.File_0_not_found, be); return } let rn = mn($n[0], sn => De(be + sn)); return mt && !rn && mt(_.Could_not_resolve_the_path_0_with_the_extensions_Colon_1, be, "'" + t_($n).join("', '") + "'"), rn } } function ft(be, De, mt, St, Zt) { Xe(be, rn => ta(rn, De, mt, Zt, St), (rn, ...sn) => bo(void 0, Zt, rn, sn), Zt) } function Yt(be, De) { return ft(be, !1, !1, void 0, De) } function pr(be, De, mt) { !vb(mt) && vt(Pe.get(De.path), vb) ? bo(De, mt, _.Already_included_file_name_0_differs_from_file_name_1_only_in_casing, [De.fileName, be]) : bo(De, mt, _.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [be, De.fileName]) } function yr(be, De, mt, St, Zt, rn, sn) { var Dn; let kr = fm.createRedirectedSourceFile({ redirectTarget: be, unredirected: De }); return kr.fileName = mt, kr.path = St, kr.resolvedPath = Zt, kr.originalFileName = rn, kr.packageJsonLocations = (Dn = sn.packageJsonLocations) != null && Dn.length ? sn.packageJsonLocations : void 0, kr.packageJsonScope = sn.packageJsonScope, We.set(St, ct > 0), kr } function ta(be, De, mt, St, Zt) { var rn, sn; (rn = ai) == null || rn.push(ai.Phase.Program, "findSourceFile", { fileName: be, isDefaultLib: De || void 0, fileIncludeKind: R8[St.kind] }); let Dn = Ka(be, De, mt, St, Zt); return (sn = ai) == null || sn.pop(), Dn } function Go(be, De, mt, St) { let Zt = uq(_a(be, Gt), De?.getPackageJsonInfoCache(), mt, St), rn = Do(St), sn = OR(St); return typeof Zt == "object" ? { ...Zt, languageVersion: rn, setExternalModuleIndicator: sn } : { languageVersion: rn, impliedNodeFormat: Zt, setExternalModuleIndicator: sn } } function Ka(be, De, mt, St, Zt) { var rn, sn; let Dn = rt(be); if (at) { let Xn = Ws(Dn); if (!Xn && qe.realpath && R.preserveSymlinks && Fu(be) && jl(be, Wg)) { let ra = rt(qe.realpath(be)); ra !== Dn && (Xn = Ws(ra)) } if (Xn) { let ra = Ta(Xn) ? ta(Xn, De, mt, St, Zt) : void 0; return ra && ka(ra, Dn, void 0), ra } } let kr = be; if (ri.has(Dn)) { let Xn = ri.get(Dn); if (vo(Xn || void 0, St), Xn && R.forceConsistentCasingInFileNames !== !1) { let ra = Xn.fileName; rt(ra) !== rt(be) && (be = Hs(be) || be); let Mc = lj(ra, Gt), mm = lj(be, Gt); Mc !== mm && pr(be, Xn, St) } return Xn && We.get(Xn.path) && ct === 0 ? (We.set(Xn.path, !1), R.noResolve || (nf(Xn, De), ye(Xn)), R.noLib || io(Xn), Rt.set(Xn.path, !1), Ze(Xn)) : Xn && Rt.get(Xn.path) && ct < _t && (Rt.set(Xn.path, !1), Ze(Xn)), Xn || void 0 } let ki; if (vb(St) && !at) { let Xn = Uc(be); if (Xn) { if (Ss(Xn.commandLine.options)) return; let ra = Gu(Xn, be); be = ra, ki = rt(ra) } } let Vn = Go(be, gr, qe, R), $t = qe.getSourceFile(be, Vn, Xn => bo(void 0, St, _.Cannot_read_file_0_Colon_1, [be, Xn]), Q || ((rn = Z?.getSourceFileByPath(rt(be))) == null ? void 0 : rn.impliedNodeFormat) !== Vn.impliedNodeFormat); if (Zt) { let Xn = hT(Zt), ra = pn.get(Xn); if (ra) { let Is = yr(ra, $t, be, Dn, rt(be), kr, Vn); return Kn.add(ra.path, be), ka(Is, Dn, ki), vo(Is, St), An.set(Dn, p6(Zt)), le.push(Is), Is } else $t && (pn.set(Xn, $t), An.set(Dn, p6(Zt))) } if (ka($t, Dn, ki), $t) { if (We.set(Dn, ct > 0), $t.fileName = be, $t.path = Dn, $t.resolvedPath = rt(be), $t.originalFileName = kr, $t.packageJsonLocations = (sn = Vn.packageJsonLocations) != null && sn.length ? Vn.packageJsonLocations : void 0, $t.packageJsonScope = Vn.packageJsonScope, vo($t, St), qe.useCaseSensitiveFileNames()) { let Xn = n_(Dn), ra = Ht.get(Xn); ra ? pr(be, ra, St) : Ht.set(Xn, $t) } Qt = Qt || $t.hasNoDefaultLib && !mt, R.noResolve || (nf($t, De), ye($t)), R.noLib || io($t), Ze($t), De ? re.push($t) : le.push($t) } return $t } function vo(be, De) { be && Pe.add(be.path, De) } function ka(be, De, mt) { mt ? (ri.set(mt, be), ri.set(De, be || !1)) : ri.set(De, be) } function Hs(be) { let De = Uc(be); return De && Gu(De, be) } function Uc(be) { if (!(!En || !En.length || Fu(be) || Gc(be, ".json"))) return $o(be) } function Gu(be, De) { let mt = Ss(be.commandLine.options); return mt ? V0(mt, ".d.ts") : qL(De, be.commandLine, !qe.useCaseSensitiveFileNames()) } function $o(be) { Cr === void 0 && (Cr = new Map, jo(mt => { rt(R.configFilePath) !== mt.sourceFile.path && mt.commandLine.fileNames.forEach(St => Cr.set(rt(St), mt.sourceFile.path)) })); let De = Cr.get(rt(be)); return De && vc(De) } function jo(be) { return Kpe(En, be) } function Ws(be) { if (Fu(be)) return Se === void 0 && (Se = new Map, jo(De => { let mt = Ss(De.commandLine.options); if (mt) { let St = V0(mt, ".d.ts"); Se.set(rt(St), !0) } else { let St = zu(() => XL(De.commandLine, !qe.useCaseSensitiveFileNames())); mn(De.commandLine.fileNames, Zt => { if (!Fu(Zt) && !Gc(Zt, ".json")) { let rn = qL(Zt, De.commandLine, !qe.useCaseSensitiveFileNames(), St); Se.set(rt(rn), Zt) } }) } })), Se.get(be) } function hd(be) { return at && !!$o(be) } function vc(be) { if (dr) return dr.get(be) || void 0 } function nf(be, De) { mn(be.referencedFiles, (mt, St) => { ft(wF(mt.fileName, be.fileName), De, !1, void 0, { kind: 4, file: be.path, index: St }) }) } function ye(be) { let De = be.typeReferenceDirectives; if (!De.length) { be.resolvedTypeReferenceDirectiveNames = void 0; return } let mt = pe(De, be); for (let St = 0; St < De.length; St++) { let Zt = be.typeReferenceDirectives[St], rn = mt[St], sn = n_(Zt.fileName); Dse(be, sn, rn, mN(Zt, be.impliedNodeFormat)); let Dn = Zt.resolutionMode || be.impliedNodeFormat; Dn && $s(R) !== 3 && $s(R) !== 99 && (Ne ?? (Ne = [])).push({ kind: 2, diagnostics: [vH(be, Zt, _.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext)] }), Et(sn, Dn, rn, { kind: 5, file: be.path, index: St }) } } function Et(be, De, mt, St) { var Zt, rn; (Zt = ai) == null || Zt.push(ai.Phase.Program, "processTypeReferenceDirective", { directive: be, hasResolved: !!mt.resolvedTypeReferenceDirective, refKind: St.kind, refPath: vb(St) ? St.file : void 0 }), bn(be, De, mt, St), (rn = ai) == null || rn.pop() } function bn(be, De, mt, St) { var Zt; Oe(mt); let rn = (Zt = Be.get(be, De)) == null ? void 0 : Zt.resolvedTypeReferenceDirective; if (rn && rn.primary) return; let sn = !0, { resolvedTypeReferenceDirective: Dn } = mt; if (Dn) { if (Dn.isExternalLibraryImport && ct++, Dn.primary) ft(Dn.resolvedFileName, !1, !1, Dn.packageId, St); else if (rn) { if (Dn.resolvedFileName !== rn.resolvedFileName) { let kr = qe.readFile(Dn.resolvedFileName), ki = Fa(rn.resolvedFileName); kr !== ki.text && bo(ki, St, _.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, [be, Dn.resolvedFileName, rn.resolvedFileName]) } sn = !1 } else ft(Dn.resolvedFileName, !1, !1, Dn.packageId, St); Dn.isExternalLibraryImport && ct-- } else bo(void 0, St, _.Cannot_find_type_definition_file_for_0, [be]); sn && Be.set(be, De, mt) } function Ri(be) { let De = be.split("."), mt = De[1], St = 2; for (; De[St] && De[St] !== "d";)mt += (St === 2 ? "/" : "-") + De[St], St++; let Zt = vi(Gt, `__lib_node_modules_lookup_${be}__.ts`), rn = FL("@typescript/lib-" + mt, Zt, { moduleResolution: 2 }, qe, gr); return rn?.resolvedModule ? rn.resolvedModule.resolvedFileName : vi(kn, be) } function io(be) { mn(be.libReferenceDirectives, (De, mt) => { let St = n_(De.fileName), Zt = jO.get(St); if (Zt) yc(Ri(Zt), !0, !0, { kind: 7, file: be.path, index: mt }); else { let rn = pA(QC(St, "lib."), ".d.ts"), sn = $C(rn, VO, Ks), Dn = sn ? _.Cannot_find_lib_definition_for_0_Did_you_mean_1 : _.Cannot_find_lib_definition_for_0; (Ne || (Ne = [])).push({ kind: 0, reason: { kind: 7, file: be.path, index: mt }, diagnostic: Dn, args: [St, sn] }) } }) } function ee(be) { return qe.getCanonicalFileName(be) } function Ze(be) { var De; if (ht(be), be.imports.length || be.moduleAugmentations.length) { let mt = qpe(be), St = oe(mt, be); L.assert(St.length === mt.length); let Zt = (at ? (De = Kt(be)) == null ? void 0 : De.commandLine.options : void 0) || R; for (let rn = 0; rn < mt.length; rn++) { let sn = St[rn].resolvedModule, Dn = mt[rn].text, kr = W_(be, mt[rn]); if (kse(be, Dn, St[rn], kr), je(be, Dn, St[rn], kr), !sn) continue; let ki = sn.isExternalLibraryImport, Vn = !VR(sn.extension), $t = ki && Vn, Xn = sn.resolvedFileName; ki && ct++; let ra = $t && ct > _t, Is = Xn && !_q(Zt, sn, be) && !Zt.noResolve && rn < be.imports.length && !ra && !(Vn && !PR(Zt)) && (Yn(be.imports[rn]) || !(be.imports[rn].flags & 8388608)); ra ? Rt.set(be.path, !0) : Is && ta(Xn, !1, !1, { kind: 3, file: be.path, index: rn }, sn.packageId), ki && ct-- } } else be.resolvedModules = void 0 } function At(be, De) { let mt = !0, St = qe.getCanonicalFileName(_a(De, Gt)); for (let Zt of be) Zt.isDeclarationFile || qe.getCanonicalFileName(_a(Zt.fileName, Gt)).indexOf(St) !== 0 && (Qo(Zt, _.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, [Zt.fileName, De]), mt = !1); return mt } function xt(be) { dr || (dr = new Map); let De = $L(be), mt = rt(De), St = dr.get(mt); if (St !== void 0) return St || void 0; let Zt, rn; if (qe.getParsedCommandLine) { if (Zt = qe.getParsedCommandLine(De), !Zt) { ka(void 0, mt, void 0), dr.set(mt, !1); return } rn = L.checkDefined(Zt.options.configFile), L.assert(!rn.path || rn.path === mt), ka(rn, mt, void 0) } else { let Dn = _a(ni(De), qe.getCurrentDirectory()); if (rn = qe.getSourceFile(De, 100), ka(rn, mt, void 0), rn === void 0) { dr.set(mt, !1); return } Zt = MO(rn, zt, Dn, void 0, De) } rn.fileName = De, rn.path = mt, rn.resolvedPath = mt, rn.originalFileName = De; let sn = { commandLine: Zt, sourceFile: rn }; return dr.set(mt, sn), Zt.projectReferences && (sn.references = Zt.projectReferences.map(xt)), sn } function qt() { R.strictPropertyInitialization && !Uf(R, "strictNullChecks") && Io(_.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks"), R.exactOptionalPropertyTypes && !Uf(R, "strictNullChecks") && Io(_.Option_0_cannot_be_specified_without_specifying_option_1, "exactOptionalPropertyTypes", "strictNullChecks"), (R.isolatedModules || R.verbatimModuleSyntax) && (R.out && Io(_.Option_0_cannot_be_specified_with_option_1, "out", R.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules"), R.outFile && Io(_.Option_0_cannot_be_specified_with_option_1, "outFile", R.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules")), R.inlineSourceMap && (R.sourceMap && Io(_.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"), R.mapRoot && Io(_.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap")), R.composite && (R.declaration === !1 && Io(_.Composite_projects_may_not_disable_declaration_emit, "declaration"), R.incremental === !1 && Io(_.Composite_projects_may_not_disable_incremental_compilation, "declaration")); let be = Ss(R); if (R.tsBuildInfoFile ? NR(R) || Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "tsBuildInfoFile", "incremental", "composite") : R.incremental && !be && !R.configFilePath && _n.add(ps(_.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified)), Vr(), Bu(), R.composite) { let sn = new Set(Y.map(rt)); for (let Dn of _e) pS(Dn, G) && !sn.has(Dn.path) && Qo(Dn, _.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern, [Dn.fileName, R.configFilePath || ""]) } if (R.paths) { for (let sn in R.paths) if (fs(R.paths, sn)) if (CW(sn) || Dc(!0, sn, _.Pattern_0_can_have_at_most_one_Asterisk_character, sn), ba(R.paths[sn])) { let Dn = R.paths[sn].length; Dn === 0 && Dc(!1, sn, _.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array, sn); for (let kr = 0; kr < Dn; kr++) { let ki = R.paths[sn][kr], Vn = typeof ki; Vn === "string" ? (CW(ki) || Pd(sn, kr, _.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character, ki, sn), !R.baseUrl && !Jd(ki) && !nI(ki) && Pd(sn, kr, _.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)) : Pd(sn, kr, _.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2, ki, sn, Vn) } } else Dc(!1, sn, _.Substitutions_for_pattern_0_should_be_an_array, sn) } !R.sourceMap && !R.inlineSourceMap && (R.inlineSources && Io(_.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided, "inlineSources"), R.sourceRoot && Io(_.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided, "sourceRoot")), R.out && R.outFile && Io(_.Option_0_cannot_be_specified_with_option_1, "out", "outFile"), R.mapRoot && !(R.sourceMap || R.declarationMap) && Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "mapRoot", "sourceMap", "declarationMap"), R.declarationDir && (__(R) || Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "declarationDir", "declaration", "composite"), be && Io(_.Option_0_cannot_be_specified_with_option_1, "declarationDir", R.out ? "out" : "outFile")), R.declarationMap && !__(R) && Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "declarationMap", "declaration", "composite"), R.lib && R.noLib && Io(_.Option_0_cannot_be_specified_with_option_1, "lib", "noLib"), R.noImplicitUseStrict && Uf(R, "alwaysStrict") && Io(_.Option_0_cannot_be_specified_with_option_1, "noImplicitUseStrict", "alwaysStrict"); let De = Do(R), mt = wr(_e, sn => Lc(sn) && !sn.isDeclarationFile); if (R.isolatedModules || R.verbatimModuleSyntax) R.module === 0 && De < 2 && R.isolatedModules && Io(_.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher, "isolatedModules", "target"), R.preserveConstEnums === !1 && Io(_.Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled, R.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", "preserveConstEnums"); else if (mt && De < 2 && R.module === 0) { let sn = w0(mt, typeof mt.externalModuleIndicator == "boolean" ? mt : mt.externalModuleIndicator); _n.add(al(mt, sn.start, sn.length, _.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none)) } if (be && !R.emitDeclarationOnly) { if (R.module && !(R.module === 2 || R.module === 4)) Io(_.Only_amd_and_system_modules_are_supported_alongside_0, R.out ? "out" : "outFile", "module"); else if (R.module === void 0 && mt) { let sn = w0(mt, typeof mt.externalModuleIndicator == "boolean" ? mt : mt.externalModuleIndicator); _n.add(al(mt, sn.start, sn.length, _.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system, R.out ? "out" : "outFile")) } } if (RT(R) && ($s(R) === 1 ? Io(_.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic, "resolveJsonModule") : l4(R) || Io(_.Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext, "resolveJsonModule", "module")), R.outDir || R.rootDir || R.sourceRoot || R.mapRoot) { let sn = Ot(); R.outDir && sn === "" && _e.some(Dn => _p(Dn.fileName) > 1) && Io(_.Cannot_find_the_common_subdirectory_path_for_the_input_files, "outDir") } R.useDefineForClassFields && De === 0 && Io(_.Option_0_cannot_be_specified_when_option_target_is_ES3, "useDefineForClassFields"), R.checkJs && !PR(R) && _n.add(ps(_.Option_0_cannot_be_specified_without_specifying_option_1, "checkJs", "allowJs")), R.emitDeclarationOnly && (__(R) || Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "emitDeclarationOnly", "declaration", "composite"), R.noEmit && Io(_.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit")), R.emitDecoratorMetadata && !R.experimentalDecorators && Io(_.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"), R.jsxFactory ? (R.reactNamespace && Io(_.Option_0_cannot_be_specified_with_option_1, "reactNamespace", "jsxFactory"), (R.jsx === 4 || R.jsx === 5) && Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFactory", NL.get("" + R.jsx)), zS(R.jsxFactory, De) || Jf("jsxFactory", _.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name, R.jsxFactory)) : R.reactNamespace && !i_(R.reactNamespace, De) && Jf("reactNamespace", _.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier, R.reactNamespace), R.jsxFragmentFactory && (R.jsxFactory || Io(_.Option_0_cannot_be_specified_without_specifying_option_1, "jsxFragmentFactory", "jsxFactory"), (R.jsx === 4 || R.jsx === 5) && Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFragmentFactory", NL.get("" + R.jsx)), zS(R.jsxFragmentFactory, De) || Jf("jsxFragmentFactory", _.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name, R.jsxFragmentFactory)), R.reactNamespace && (R.jsx === 4 || R.jsx === 5) && Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1, "reactNamespace", NL.get("" + R.jsx)), R.jsxImportSource && R.jsx === 2 && Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxImportSource", NL.get("" + R.jsx)), R.preserveValueImports && Rl(R) < 5 && Io(_.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later, "preserveValueImports"); let St = Rl(R); R.verbatimModuleSyntax && ((St === 2 || St === 3 || St === 4) && Io(_.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System, "verbatimModuleSyntax"), R.isolatedModules && He("isolatedModules", "verbatimModuleSyntax"), R.preserveValueImports && He("preserveValueImports", "verbatimModuleSyntax"), R.importsNotUsedAsValues && He("importsNotUsedAsValues", "verbatimModuleSyntax")), R.allowImportingTsExtensions && !(R.noEmit || R.emitDeclarationOnly) && Jf("allowImportingTsExtensions", _.Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set); let Zt = $s(R); if (R.resolvePackageJsonExports && !bS(Zt) && Io(_.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonExports"), R.resolvePackageJsonImports && !bS(Zt) && Io(_.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonImports"), R.customConditions && !bS(Zt) && Io(_.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "customConditions"), Zt === 100 && !SW(St) && Jf("moduleResolution", _.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later, "bundler"), !R.noEmit && !R.suppressOutputPathCheck) { let sn = j(), Dn = new Set; WK(sn, kr => { R.emitDeclarationOnly || rn(kr.jsFilePath, Dn), rn(kr.declarationFilePath, Dn) }) } function rn(sn, Dn) { if (sn) { let kr = rt(sn); if (ri.has(kr)) { let Vn; R.configFilePath || (Vn = da(void 0, _.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)), Vn = da(Vn, _.Cannot_write_file_0_because_it_would_overwrite_input_file, sn), Nt(sn, s4(Vn)) } let ki = qe.useCaseSensitiveFileNames() ? kr : n_(kr); Dn.has(ki) ? Nt(sn, ps(_.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files, sn)) : Dn.add(ki) } } } function Ln() { let be = R.ignoreDeprecations; if (be) { if (be === "5.0") return new r_(be); U() } return r_.zero } function mr(be, De, mt, St) { let Zt = new r_(be), rn = new r_(De), sn = new r_(fe || Sg), Dn = Ln(), kr = rn.compareTo(sn) !== 1, ki = !kr && Dn.compareTo(Zt) === -1; (kr || ki) && St((Vn, $t, Xn) => { kr ? $t === void 0 ? mt(Vn, $t, Xn, _.Option_0_has_been_removed_Please_remove_it_from_your_configuration, Vn) : mt(Vn, $t, Xn, _.Option_0_1_has_been_removed_Please_remove_it_from_your_configuration, Vn, $t) : $t === void 0 ? mt(Vn, $t, Xn, _.Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error, Vn, De, be) : mt(Vn, $t, Xn, _.Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error, Vn, $t, De, be) }) } function Vr() { function be(De, mt, St, Zt, rn, sn, Dn, kr) { if (St) { let ki = da(void 0, _.Use_0_instead, St), Vn = da(ki, Zt, rn, sn, Dn, kr); E_(!mt, De, void 0, Vn) } else E_(!mt, De, void 0, Zt, rn, sn, Dn, kr) } mr("5.0", "5.5", be, De => { R.target === 0 && De("target", "ES3"), R.noImplicitUseStrict && De("noImplicitUseStrict"), R.keyofStringsOnly && De("keyofStringsOnly"), R.suppressExcessPropertyErrors && De("suppressExcessPropertyErrors"), R.suppressImplicitAnyIndexErrors && De("suppressImplicitAnyIndexErrors"), R.noStrictGenericChecks && De("noStrictGenericChecks"), R.charset && De("charset"), R.out && De("out", void 0, "outFile"), R.importsNotUsedAsValues && De("importsNotUsedAsValues", void 0, "verbatimModuleSyntax"), R.preserveValueImports && De("preserveValueImports", void 0, "verbatimModuleSyntax") }) } function gi(be, De, mt) { function St(Zt, rn, sn, Dn, kr, ki, Vn, $t) { Fd(De, mt, Dn, kr, ki, Vn, $t) } mr("5.0", "5.5", St, Zt => { be.prepend && Zt("prepend") }) } function Ea(be, De, mt, St) { var Zt; let rn, sn, Dn = vb(De) ? De : void 0; be && ((Zt = Pe.get(be.path)) == null || Zt.forEach(Xn)), De && Xn(De), Dn && rn?.length === 1 && (rn = void 0); let kr = Dn && YL(Hi, Dn), ki = rn && da(rn, _.The_file_is_in_the_program_because_Colon), Vn = be && Oq(be), $t = da(Vn ? ki ? [ki, ...Vn] : Vn : ki, mt, ...St || Je); return kr && F2(kr) ? S6(kr.file, kr.pos, kr.end - kr.pos, $t, sn) : s4($t, sn); function Xn(ra) { (rn || (rn = [])).push(Mq(G, ra)), !Dn && vb(ra) ? Dn = ra : Dn !== ra && (sn = Sn(sn, Cs(ra))), ra === De && (De = void 0) } } function bo(be, De, mt, St) { (Ne || (Ne = [])).push({ kind: 1, file: be && be.path, fileProcessingReason: De, diagnostic: mt, args: St }) } function Qo(be, De, mt) { _n.add(Ea(be, void 0, De, mt)) } function Cs(be) { if (vb(be)) { let St = YL(Hi, be), Zt; switch (be.kind) { case 3: Zt = _.File_is_included_via_import_here; break; case 4: Zt = _.File_is_included_via_reference_here; break; case 5: Zt = _.File_is_included_via_type_library_reference_here; break; case 7: Zt = _.File_is_included_via_library_reference_here; break; default: L.assertNever(be) }return F2(St) ? al(St.file, St.pos, St.end - St.pos, Zt) : void 0 } if (!R.configFile) return; let De, mt; switch (be.kind) { case 0: if (!R.configFile.configFileSpecs) return; let St = _a(Y[be.index], Gt), Zt = Nq(G, St); if (Zt) { De = w6(R.configFile, "files", Zt), mt = _.File_is_matched_by_files_list_specified_here; break } let rn = Pq(G, St); if (!rn || !Ta(rn)) return; De = w6(R.configFile, "include", rn), mt = _.File_is_matched_by_include_pattern_specified_here; break; case 1: case 2: let sn = L.checkDefined(En?.[be.index]), Dn = gN($, En, (Xn, ra, Is) => Xn === sn ? { sourceFile: ra?.sourceFile || R.configFile, index: Is } : void 0); if (!Dn) return; let { sourceFile: kr, index: ki } = Dn, Vn = ks(Hw(kr, "references"), Xn => fu(Xn.initializer) ? Xn.initializer : void 0); return Vn && Vn.elements.length > ki ? Nu(kr, Vn.elements[ki], be.kind === 2 ? _.File_is_output_from_referenced_project_specified_here : _.File_is_source_from_referenced_project_specified_here) : void 0; case 8: if (!R.types) return; De = zf("types", be.typeReference), mt = _.File_is_entry_point_of_type_library_specified_here; break; case 6: if (be.index !== void 0) { De = zf("lib", R.lib[be.index]), mt = _.File_is_library_specified_here; break } let $t = Ld(zO.type, (Xn, ra) => Xn === Do(R) ? ra : void 0); De = $t ? Md("target", $t) : void 0, mt = _.File_is_default_library_for_target_specified_here; break; default: L.assertNever(be) }return De && Nu(R.configFile, De, mt) } function Bu() { let be = R.suppressOutputPathCheck ? void 0 : Jg(R); gN($, En, (De, mt, St) => { let Zt = (mt ? mt.commandLine.projectReferences : $)[St], rn = mt && mt.sourceFile; if (gi(Zt, rn, St), !De) { Fd(rn, St, _.File_0_not_found, Zt.path); return } let sn = De.commandLine.options; if ((!sn.composite || sn.noEmit) && (mt ? mt.commandLine.fileNames : Y).length && (sn.composite || Fd(rn, St, _.Referenced_project_0_must_have_setting_composite_Colon_true, Zt.path), sn.noEmit && Fd(rn, St, _.Referenced_project_0_may_not_disable_emit, Zt.path)), Zt.prepend) { let Dn = Ss(sn); Dn ? qe.fileExists(Dn) || Fd(rn, St, _.Output_file_0_from_project_1_does_not_exist, Dn, Zt.path) : Fd(rn, St, _.Cannot_prepend_project_0_because_it_does_not_have_outFile_set, Zt.path) } !mt && be && be === Jg(sn) && (Fd(rn, St, _.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1, be, Zt.path), Ni.set(rt(be), !0)) }) } function Pd(be, De, mt, St, Zt, rn) { let sn = !0, Dn = Zl(); for (let kr of Dn) if (rs(kr.initializer)) for (let ki of MA(kr.initializer, be)) { let Vn = ki.initializer; fu(Vn) && Vn.elements.length > De && (_n.add(Nu(R.configFile, Vn.elements[De], mt, St, Zt, rn)), sn = !1) } sn && _n.add(ps(mt, St, Zt, rn)) } function Dc(be, De, mt, St) { let Zt = !0, rn = Zl(); for (let sn of rn) rs(sn.initializer) && M(sn.initializer, be, De, void 0, mt, St) && (Zt = !1); Zt && _n.add(ps(mt, St)) } function gd(be) { let De = Y_(); return De && MA(De, be) } function Zl() { return gd("paths") || Je } function Md(be, De) { let mt = gd(be); return mt && ks(mt, St => yo(St.initializer) && St.initializer.text === De ? St.initializer : void 0) } function zf(be, De) { let mt = Y_(); return mt && rce(mt, be, De) } function Io(be, De, mt, St) { E_(!0, De, mt, be, De, mt, St) } function Jf(be, De, mt, St) { E_(!1, be, void 0, De, mt, St) } function Fd(be, De, mt, St, Zt, rn, sn) { let Dn = ks(Hw(be || R.configFile, "references"), kr => fu(kr.initializer) ? kr.initializer : void 0); Dn && Dn.elements.length > De ? _n.add(Nu(be || R.configFile, Dn.elements[De], mt, St, Zt, rn, sn)) : _n.add(ps(mt, St, Zt, rn, sn)) } function E_(be, De, mt, St, Zt, rn, sn, Dn) { let kr = Y_(); (!kr || !M(kr, be, De, mt, St, Zt, rn, sn, Dn)) && ("messageText" in St ? _n.add(s4(St)) : _n.add(ps(St, Zt, rn, sn, Dn))) } function Y_() { if (Pi === void 0) { Pi = !1; let be = LI(R.configFile); if (be) { for (let De of MA(be, "compilerOptions")) if (rs(De.initializer)) { Pi = De.initializer; break } } } return Pi || void 0 } function M(be, De, mt, St, Zt, rn, sn, Dn, kr) { let ki = MA(be, mt, St); for (let Vn of ki) "messageText" in Zt ? _n.add(Lh(R.configFile, De ? Vn.name : Vn.initializer, Zt)) : _n.add(Nu(R.configFile, De ? Vn.name : Vn.initializer, Zt, rn, sn, Dn, kr)); return !!ki.length } function He(be, De) { let mt = Y_(); mt ? M(mt, !0, be, void 0, _.Option_0_is_redundant_and_cannot_be_specified_with_option_1, be, De) : Io(_.Option_0_is_redundant_and_cannot_be_specified_with_option_1, be, De) } function Nt(be, De) { Ni.set(rt(be), !0), _n.add(De) } function Pn(be) { if (R.noEmit) return !1; let De = rt(be); if (Hi(De)) return !1; let mt = Ss(R); if (mt) return la(De, mt) || la(De, ld(mt) + ".d.ts"); if (R.declarationDir && Gy(R.declarationDir, De, Gt, !qe.useCaseSensitiveFileNames())) return !0; if (R.outDir) return Gy(R.outDir, De, Gt, !qe.useCaseSensitiveFileNames()); if ($c(De, dL) || Fu(De)) { let St = ld(De); return !!Hi(St + ".ts") || !!Hi(St + ".tsx") } return !1 } function la(be, De) { return cT(be, De, Gt, !qe.useCaseSensitiveFileNames()) === 0 } function oa() { return qe.getSymlinkCache ? qe.getSymlinkCache() : (ge || (ge = Ile(Gt, ee)), _e && Ye && !ge.hasProcessedResolutions() && ge.setSymlinksFromResolutions(_e, Ye), ge) } } function r8e(e) { let t, r = e.compilerHost.fileExists, i = e.compilerHost.directoryExists, o = e.compilerHost.getDirectories, s = e.compilerHost.realpath; if (!e.useSourceOfProjectReferenceRedirect) return { onProgramCreateComplete: Ba, fileExists: d }; e.compilerHost.fileExists = d; let l; return i && (l = e.compilerHost.directoryExists = x => i.call(e.compilerHost, x) ? (v(x), !0) : e.getResolvedProjectReferences() ? (t || (t = new Set, e.forEachResolvedProjectReference(A => { let w = Ss(A.commandLine.options); if (w) t.add(ni(e.toPath(w))); else { let C = A.commandLine.options.declarationDir || A.commandLine.options.outDir; C && t.add(e.toPath(C)) } })), S(x, !1)) : !1), o && (e.compilerHost.getDirectories = x => !e.getResolvedProjectReferences() || i && i.call(e.compilerHost, x) ? o.call(e.compilerHost, x) : []), s && (e.compilerHost.realpath = x => { var A; return ((A = e.getSymlinkCache().getSymlinkedFiles()) == null ? void 0 : A.get(e.toPath(x))) || s.call(e.compilerHost, x) }), { onProgramCreateComplete: f, fileExists: d, directoryExists: l }; function f() { e.compilerHost.fileExists = r, e.compilerHost.directoryExists = i, e.compilerHost.getDirectories = o } function d(x) { return r.call(e.compilerHost, x) ? !0 : !e.getResolvedProjectReferences() || !Fu(x) ? !1 : S(x, !0) } function g(x) { let A = e.getSourceOfProjectReferenceRedirect(e.toPath(x)); return A !== void 0 ? Ta(A) ? r.call(e.compilerHost, A) : !0 : void 0 } function m(x) { let A = e.toPath(x), w = `${A}${_s}`; return TI(t, C => A === C || na(C, w) || na(A, `${C}/`)) } function v(x) { var A; if (!e.getResolvedProjectReferences() || sL(x) || !s || !jl(x, Wg)) return; let w = e.getSymlinkCache(), C = cu(e.toPath(x)); if ((A = w.getSymlinkedDirectories()) != null && A.has(C)) return; let P = So(s.call(e.compilerHost, x)), F; if (P === x || (F = cu(e.toPath(P))) === C) { w.setSymlinkedDirectory(C, !1); return } w.setSymlinkedDirectory(x, { real: cu(P), realPath: F }) } function S(x, A) { var w; let C = A ? W => g(W) : W => m(W), P = C(x); if (P !== void 0) return P; let F = e.getSymlinkCache(), B = F.getSymlinkedDirectories(); if (!B) return !1; let q = e.toPath(x); return jl(q, Wg) ? A && ((w = F.getSymlinkedFiles()) != null && w.has(q)) ? !0 : FD(B.entries(), ([W, Y]) => { if (!Y || !na(q, W)) return; let R = C(q.replace(W, Y.realPath)); if (A && R) { let ie = _a(x, e.compilerHost.getCurrentDirectory()); F.setSymlinkedFile(q, `${Y.real}${ie.replace(new RegExp(W, "i"), "")}`) } return R }) || !1 : !1 } } function dq(e, t, r, i) { let o = e.getCompilerOptions(); if (o.noEmit) return e.getSemanticDiagnostics(t, i), t || Ss(o) ? HF : e.emitBuildInfo(r, i); if (!o.noEmitOnError) return; let s = [...e.getOptionsDiagnostics(i), ...e.getSyntacticDiagnostics(t, i), ...e.getGlobalDiagnostics(i), ...e.getSemanticDiagnostics(t, i)]; if (s.length === 0 && __(e.getCompilerOptions()) && (s = e.getDeclarationDiagnostics(void 0, i)), !s.length) return; let l; if (!t && !Ss(o)) { let f = e.emitBuildInfo(r, i); f.diagnostics && (s = [...s, ...f.diagnostics]), l = f.emittedFiles } return { diagnostics: s, sourceMaps: void 0, emittedFiles: l, emitSkipped: !0 } } function MF(e, t) { return Pr(e, r => !r.skippedOn || !t[r.skippedOn]) } function FF(e, t = e) { return { fileExists: r => t.fileExists(r), readDirectory(r, i, o, s, l) { return L.assertIsDefined(t.readDirectory, "'CompilerHost.readDirectory' must be implemented to correctly process 'projectReferences'"), t.readDirectory(r, i, o, s, l) }, readFile: r => t.readFile(r), useCaseSensitiveFileNames: e.useCaseSensitiveFileNames(), getCurrentDirectory: () => e.getCurrentDirectory(), onUnRecoverableConfigFileDiagnostic: e.onUnRecoverableConfigFileDiagnostic || Qv, trace: e.trace ? r => e.trace(r) : void 0 } } function fq(e, t, r, i) { if (!e) return Je; let o; for (let s = 0; s < e.length; s++) { let l = e[s], f = t(l, s); if (l.prepend && f && f.options) { if (!Ss(f.options)) continue; let { jsFilePath: g, sourceMapFilePath: m, declarationFilePath: v, declarationMapPath: S, buildInfoPath: x } = JL(f.options, !0), A = _z(r, g, m, v, S, x, i, f.options); (o || (o = [])).push(A) } } return o || Je } function $L(e) { return Hq(e.path) } function _q(e, { extension: t }, { isDeclarationFile: r }) { switch (t) { case ".ts": case ".d.ts": case ".mts": case ".d.mts": case ".cts": case ".d.cts": return; case ".tsx": return i(); case ".jsx": return i() || o(); case ".js": case ".mjs": case ".cjs": return o(); case ".json": return s(); default: return l() }function i() { return e.jsx ? void 0 : _.Module_0_was_resolved_to_1_but_jsx_is_not_set } function o() { return PR(e) || !Uf(e, "noImplicitAny") ? void 0 : _.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type } function s() { return RT(e) ? void 0 : _.Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used } function l() { return r || e.allowArbitraryExtensions ? void 0 : _.Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set } } function qpe({ imports: e, moduleAugmentations: t }) { let r = e.map(i => i); for (let i of t) i.kind === 10 && r.push(i); return r } function GF({ imports: e, moduleAugmentations: t }, r) { if (r < e.length) return e[r]; let i = e.length; for (let o of t) if (o.kind === 10) { if (r === i) return o; i++ } L.fail("should never ask for module name at index higher than possible module name") } var pq, BF, UF, mq, hq, Xpe, gq, yq, QL, yN, VF, jF, HF, i8e = gt({ "src/compiler/program.ts"() { "use strict"; fa(), fa(), E0(), pq = (e => (e.Grey = "\x1B[90m", e.Red = "\x1B[91m", e.Yellow = "\x1B[93m", e.Blue = "\x1B[94m", e.Cyan = "\x1B[96m", e))(pq || {}), BF = "\x1B[7m", UF = " ", mq = "\x1B[0m", hq = "...", Xpe = "  ", gq = "    ", yq = { resolvedModule: void 0, resolvedTypeReferenceDirective: void 0 }, QL = { getName: sq, getMode: (e, t) => W_(t, e) }, yN = { getName: RF, getMode: (e, t) => mN(e, t?.impliedNodeFormat) }, VF = "__inferred type names__.ts", jF = new Set([_.Cannot_redeclare_block_scoped_variable_0.code, _.A_module_cannot_have_multiple_default_exports.code, _.Another_export_default_is_here.code, _.The_first_export_default_is_here.code, _.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code, _.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code, _.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code, _.constructor_is_a_reserved_word.code, _.delete_cannot_be_called_on_an_identifier_in_strict_mode.code, _.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode.code, _.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code, _.Invalid_use_of_0_in_strict_mode.code, _.A_label_is_not_allowed_here.code, _.Octal_literals_are_not_allowed_in_strict_mode.code, _.with_statements_are_not_allowed_in_strict_mode.code, _.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code, _.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code, _.A_class_declaration_without_the_default_modifier_must_have_a_name.code, _.A_class_member_cannot_have_the_0_keyword.code, _.A_comma_expression_is_not_allowed_in_a_computed_property_name.code, _.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code, _.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code, _.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code, _.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code, _.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code, _.A_definite_assignment_assertion_is_not_permitted_in_this_context.code, _.A_destructuring_declaration_must_have_an_initializer.code, _.A_get_accessor_cannot_have_parameters.code, _.A_rest_element_cannot_contain_a_binding_pattern.code, _.A_rest_element_cannot_have_a_property_name.code, _.A_rest_element_cannot_have_an_initializer.code, _.A_rest_element_must_be_last_in_a_destructuring_pattern.code, _.A_rest_parameter_cannot_have_an_initializer.code, _.A_rest_parameter_must_be_last_in_a_parameter_list.code, _.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code, _.A_return_statement_cannot_be_used_inside_a_class_static_block.code, _.A_set_accessor_cannot_have_rest_parameter.code, _.A_set_accessor_must_have_exactly_one_parameter.code, _.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module.code, _.An_export_declaration_cannot_have_modifiers.code, _.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module.code, _.An_import_declaration_cannot_have_modifiers.code, _.An_object_member_cannot_be_declared_optional.code, _.Argument_of_dynamic_import_cannot_be_spread_element.code, _.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code, _.Cannot_redeclare_identifier_0_in_catch_clause.code, _.Catch_clause_variable_cannot_have_an_initializer.code, _.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code, _.Classes_can_only_extend_a_single_class.code, _.Classes_may_not_have_a_field_named_constructor.code, _.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code, _.Duplicate_label_0.code, _.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments.code, _.For_await_loops_cannot_be_used_inside_a_class_static_block.code, _.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code, _.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code, _.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code, _.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code, _.Jump_target_cannot_cross_function_boundary.code, _.Line_terminator_not_permitted_before_arrow.code, _.Modifiers_cannot_appear_here.code, _.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code, _.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code, _.Private_identifiers_are_not_allowed_outside_class_bodies.code, _.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code, _.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code, _.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code, _.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code, _.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code, _.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code, _.Trailing_comma_not_allowed.code, _.Variable_declaration_list_cannot_be_empty.code, _._0_and_1_operations_cannot_be_mixed_without_parentheses.code, _._0_expected.code, _._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code, _._0_list_cannot_be_empty.code, _._0_modifier_already_seen.code, _._0_modifier_cannot_appear_on_a_constructor_declaration.code, _._0_modifier_cannot_appear_on_a_module_or_namespace_element.code, _._0_modifier_cannot_appear_on_a_parameter.code, _._0_modifier_cannot_appear_on_class_elements_of_this_kind.code, _._0_modifier_cannot_be_used_here.code, _._0_modifier_must_precede_1_modifier.code, _.const_declarations_can_only_be_declared_inside_a_block.code, _.const_declarations_must_be_initialized.code, _.extends_clause_already_seen.code, _.let_declarations_can_only_be_declared_inside_a_block.code, _.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code, _.Class_constructor_may_not_be_a_generator.code, _.Class_constructor_may_not_be_an_accessor.code, _.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code]), HF = { diagnostics: Je, sourceMaps: void 0, emittedFiles: void 0, emitSkipped: !0 } } }), a8e = gt({ "src/compiler/builderStatePublic.ts"() { "use strict" } }); function Ype(e, t, r, i, o, s) { let l = [], { emitSkipped: f, diagnostics: d } = e.emit(t, g, i, r, o, s); return { outputFiles: l, emitSkipped: f, diagnostics: d }; function g(m, v, S) { l.push({ name: m, writeByteOrderMark: S, text: v }) } } var pm, o8e = gt({ "src/compiler/builderState.ts"() { "use strict"; fa(), (e => { function t() { function Z(U, re, le) { let _e = { getKeys: ge => re.get(ge), getValues: ge => U.get(ge), keys: () => U.keys(), deleteKey: ge => { (le || (le = new Set)).add(ge); let X = U.get(ge); return X ? (X.forEach(Ve => i(re, Ve, ge)), U.delete(ge), !0) : !1 }, set: (ge, X) => { le?.delete(ge); let Ve = U.get(ge); return U.set(ge, X), Ve?.forEach(we => { X.has(we) || i(re, we, ge) }), X.forEach(we => { Ve?.has(we) || r(re, we, ge) }), _e } }; return _e } return Z(new Map, new Map, void 0) } e.createManyToManyPathMap = t; function r(Z, U, re) { let le = Z.get(U); le || (le = new Set, Z.set(U, le)), le.add(re) } function i(Z, U, re) { let le = Z.get(U); return le?.delete(re) ? (le.size || Z.delete(U), !0) : !1 } function o(Z) { return Zi(Z.declarations, U => { var re; return (re = Gn(U)) == null ? void 0 : re.resolvedPath }) } function s(Z, U) { let re = Z.getSymbolAtLocation(U); return re && o(re) } function l(Z, U, re, le) { return Ts(Z.getProjectReferenceRedirect(U) || U, re, le) } function f(Z, U, re) { let le; if (U.imports && U.imports.length > 0) { let Ve = Z.getTypeChecker(); for (let we of U.imports) { let ke = s(Ve, we); ke?.forEach(X) } } let _e = ni(U.resolvedPath); if (U.referencedFiles && U.referencedFiles.length > 0) for (let Ve of U.referencedFiles) { let we = l(Z, Ve.fileName, _e, re); X(we) } if (U.resolvedTypeReferenceDirectiveNames && U.resolvedTypeReferenceDirectiveNames.forEach(({ resolvedTypeReferenceDirective: Ve }) => { if (!Ve) return; let we = Ve.resolvedFileName, ke = l(Z, we, _e, re); X(ke) }), U.moduleAugmentations.length) { let Ve = Z.getTypeChecker(); for (let we of U.moduleAugmentations) { if (!yo(we)) continue; let ke = Ve.getSymbolAtLocation(we); ke && ge(ke) } } for (let Ve of Z.getTypeChecker().getAmbientModules()) Ve.declarations && Ve.declarations.length > 1 && ge(Ve); return le; function ge(Ve) { if (Ve.declarations) for (let we of Ve.declarations) { let ke = Gn(we); ke && ke !== U && X(ke.resolvedPath) } } function X(Ve) { (le || (le = new Set)).add(Ve) } } function d(Z, U) { return U && !U.referencedMap == !Z } e.canReuseOldState = d; function g(Z, U, re) { var le, _e, ge; let X = new Map, Ve = Z.getCompilerOptions(), we = Ss(Ve), ke = Ve.module !== 0 && !we ? t() : void 0, Pe = ke ? t() : void 0, Ce = d(ke, U); Z.getTypeChecker(); for (let Ie of Z.getSourceFiles()) { let Be = L.checkDefined(Ie.version, "Program intended to be used with Builder should have source files with versions set"), Ne = Ce ? (le = U.oldSignatures) == null ? void 0 : le.get(Ie.resolvedPath) : void 0, Le = Ne === void 0 ? Ce ? (_e = U.fileInfos.get(Ie.resolvedPath)) == null ? void 0 : _e.signature : void 0 : Ne || void 0; if (ke) { let Ye = f(Z, Ie, Z.getCanonicalFileName); if (Ye && ke.set(Ie.resolvedPath, Ye), Ce) { let _t = (ge = U.oldExportedModulesMap) == null ? void 0 : ge.get(Ie.resolvedPath), ct = _t === void 0 ? U.exportedModulesMap.getValues(Ie.resolvedPath) : _t || void 0; ct && Pe.set(Ie.resolvedPath, ct) } } X.set(Ie.resolvedPath, { version: Be, signature: Le, affectsGlobalScope: we ? void 0 : R(Ie) || void 0, impliedFormat: Ie.impliedNodeFormat }) } return { fileInfos: X, referencedMap: ke, exportedModulesMap: Pe, useFileVersionAsSignature: !re && !Ce } } e.create = g; function m(Z) { Z.allFilesExcludingDefaultLibraryFile = void 0, Z.allFileNames = void 0 } e.releaseCache = m; function v(Z, U, re, le, _e) { var ge, X; let Ve = S(Z, U, re, le, _e); return (ge = Z.oldSignatures) == null || ge.clear(), (X = Z.oldExportedModulesMap) == null || X.clear(), Ve } e.getFilesAffectedBy = v; function S(Z, U, re, le, _e) { let ge = U.getSourceFileByPath(re); return ge ? w(Z, U, ge, le, _e) ? (Z.referencedMap ? fe : $)(Z, U, ge, le, _e) : [ge] : Je } e.getFilesAffectedByWithOldState = S; function x(Z, U, re) { Z.fileInfos.get(re).signature = U, (Z.hasCalledUpdateShapeSignature || (Z.hasCalledUpdateShapeSignature = new Set)).add(re) } e.updateSignatureOfFile = x; function A(Z, U, re, le, _e) { Z.emit(U, (ge, X, Ve, we, ke, Pe) => { L.assert(Fu(ge), `File extension for signature expected to be dts: Got:: ${ge}`), _e(Tq(Z, U, X, le, Pe), ke) }, re, !0, void 0, !0) } e.computeDtsSignature = A; function w(Z, U, re, le, _e, ge = Z.useFileVersionAsSignature) { var X; if ((X = Z.hasCalledUpdateShapeSignature) != null && X.has(re.resolvedPath)) return !1; let Ve = Z.fileInfos.get(re.resolvedPath), we = Ve.signature, ke; if (!re.isDeclarationFile && !ge && A(U, re, le, _e, (Pe, Ce) => { ke = Pe, ke !== we && C(Z, re, Ce[0].exportedModulesFromDeclarationEmit) }), ke === void 0 && (ke = re.version, Z.exportedModulesMap && ke !== we)) { (Z.oldExportedModulesMap || (Z.oldExportedModulesMap = new Map)).set(re.resolvedPath, Z.exportedModulesMap.getValues(re.resolvedPath) || !1); let Pe = Z.referencedMap ? Z.referencedMap.getValues(re.resolvedPath) : void 0; Pe ? Z.exportedModulesMap.set(re.resolvedPath, Pe) : Z.exportedModulesMap.deleteKey(re.resolvedPath) } return (Z.oldSignatures || (Z.oldSignatures = new Map)).set(re.resolvedPath, we || !1), (Z.hasCalledUpdateShapeSignature || (Z.hasCalledUpdateShapeSignature = new Set)).add(re.resolvedPath), Ve.signature = ke, ke !== we } e.updateShapeSignature = w; function C(Z, U, re) { if (!Z.exportedModulesMap) return; (Z.oldExportedModulesMap || (Z.oldExportedModulesMap = new Map)).set(U.resolvedPath, Z.exportedModulesMap.getValues(U.resolvedPath) || !1); let le = P(re); le ? Z.exportedModulesMap.set(U.resolvedPath, le) : Z.exportedModulesMap.deleteKey(U.resolvedPath) } e.updateExportedModules = C; function P(Z) { let U; return Z?.forEach(re => o(re).forEach(le => (U ?? (U = new Set)).add(le))), U } e.getExportedModules = P; function F(Z, U, re) { let le = U.getCompilerOptions(); if (Ss(le) || !Z.referencedMap || R(re)) return B(Z, U); let _e = new Set, ge = [re.resolvedPath]; for (; ge.length;) { let X = ge.pop(); if (!_e.has(X)) { _e.add(X); let Ve = Z.referencedMap.getValues(X); if (Ve) for (let we of Ve.keys()) ge.push(we) } } return lo(UD(_e.keys(), X => { var Ve, we; return (we = (Ve = U.getSourceFileByPath(X)) == null ? void 0 : Ve.fileName) != null ? we : X })) } e.getAllDependencies = F; function B(Z, U) { if (!Z.allFileNames) { let re = U.getSourceFiles(); Z.allFileNames = re === Je ? Je : re.map(le => le.fileName) } return Z.allFileNames } function q(Z, U) { let re = Z.referencedMap.getKeys(U); return re ? lo(re.keys()) : [] } e.getReferencedByPaths = q; function W(Z) { for (let U of Z.statements) if (!b6(U)) return !1; return !0 } function Y(Z) { return vt(Z.moduleAugmentations, U => mp(U.parent)) } function R(Z) { return Y(Z) || !kd(Z) && !Mf(Z) && !W(Z) } function ie(Z, U, re) { if (Z.allFilesExcludingDefaultLibraryFile) return Z.allFilesExcludingDefaultLibraryFile; let le; re && _e(re); for (let ge of U.getSourceFiles()) ge !== re && _e(ge); return Z.allFilesExcludingDefaultLibraryFile = le || Je, Z.allFilesExcludingDefaultLibraryFile; function _e(ge) { U.isSourceFileDefaultLibrary(ge) || (le || (le = [])).push(ge) } } e.getAllFilesExcludingDefaultLibraryFile = ie; function $(Z, U, re) { let le = U.getCompilerOptions(); return le && Ss(le) ? [re] : ie(Z, U, re) } function fe(Z, U, re, le, _e) { if (R(re)) return ie(Z, U, re); let ge = U.getCompilerOptions(); if (ge && (d_(ge) || Ss(ge))) return [re]; let X = new Map; X.set(re.resolvedPath, re); let Ve = q(Z, re.resolvedPath); for (; Ve.length > 0;) { let we = Ve.pop(); if (!X.has(we)) { let ke = U.getSourceFileByPath(we); X.set(we, ke), ke && w(Z, U, ke, le, _e) && Ve.push(...q(Z, ke.resolvedPath)) } } return lo(UD(X.values(), we => we)) } })(pm || (pm = {})) } }); function cv(e) { let t = 1; return e.sourceMap && (t = t | 2), e.inlineSourceMap && (t = t | 4), __(e) && (t = t | 8), e.declarationMap && (t = t | 16), e.emitDeclarationOnly && (t = t & 24), t } function G2(e, t) { let r = t && (Cg(t) ? t : cv(t)), i = Cg(e) ? e : cv(e); if (r === i) return 0; if (!r || !i) return i; let o = r ^ i, s = 0; return o & 7 && (s = i & 7), o & 24 && (s = s | i & 24), s } function s8e(e, t) { return e === t || e !== void 0 && t !== void 0 && e.size === t.size && !TI(e, r => !t.has(r)) } function c8e(e, t) { var r, i; let o = pm.create(e, t, !1); o.program = e; let s = e.getCompilerOptions(); o.compilerOptions = s; let l = Ss(s); l ? s.composite && t?.outSignature && l === Ss(t?.compilerOptions) && (o.outSignature = t.outSignature && Qpe(s, t.compilerOptions, t.outSignature)) : o.semanticDiagnosticsPerFile = new Map, o.changedFilesSet = new Set, o.latestChangedDtsFile = s.composite ? t?.latestChangedDtsFile : void 0; let f = pm.canReuseOldState(o.referencedMap, t), d = f ? t.compilerOptions : void 0, g = f && t.semanticDiagnosticsPerFile && !!o.semanticDiagnosticsPerFile && !xle(s, d), m = s.composite && t?.emitSignatures && !l && !Cle(s, t.compilerOptions); f ? ((r = t.changedFilesSet) == null || r.forEach(w => o.changedFilesSet.add(w)), !l && ((i = t.affectedFilesPendingEmit) != null && i.size) && (o.affectedFilesPendingEmit = new Map(t.affectedFilesPendingEmit), o.seenAffectedFiles = new Set), o.programEmitPending = t.programEmitPending) : o.buildInfoEmitPending = !0; let v = o.referencedMap, S = f ? t.referencedMap : void 0, x = g && !s.skipLibCheck == !d.skipLibCheck, A = x && !s.skipDefaultLibCheck == !d.skipDefaultLibCheck; if (o.fileInfos.forEach((w, C) => { var P; let F, B; if (!f || !(F = t.fileInfos.get(C)) || F.version !== w.version || F.impliedFormat !== w.impliedFormat || !s8e(B = v && v.getValues(C), S && S.getValues(C)) || B && TI(B, q => !o.fileInfos.has(q) && t.fileInfos.has(q))) $pe(o, C); else if (g) { let q = e.getSourceFileByPath(C); if (q.isDeclarationFile && !x || q.hasNoDefaultLib && !A) return; let W = t.semanticDiagnosticsPerFile.get(C); W && (o.semanticDiagnosticsPerFile.set(C, t.hasReusableDiagnostic ? l8e(W, e) : W), o.semanticDiagnosticsFromOldState || (o.semanticDiagnosticsFromOldState = new Set), o.semanticDiagnosticsFromOldState.add(C)) } if (m) { let q = t.emitSignatures.get(C); q && ((P = o.emitSignatures) != null ? P : o.emitSignatures = new Map).set(C, Qpe(s, t.compilerOptions, q)) } }), f && Ld(t.fileInfos, (w, C) => o.fileInfos.has(C) ? !1 : l || w.affectsGlobalScope ? !0 : (o.buildInfoEmitPending = !0, !1))) pm.getAllFilesExcludingDefaultLibraryFile(o, e, void 0).forEach(w => $pe(o, w.resolvedPath)); else if (d) { let w = Ale(s, d) ? cv(s) : G2(s, d); w !== 0 && (l ? o.programEmitPending = o.programEmitPending ? o.programEmitPending | w : w : (e.getSourceFiles().forEach(C => { o.changedFilesSet.has(C.resolvedPath) || xq(o, C.resolvedPath, w) }), L.assert(!o.seenAffectedFiles || !o.seenAffectedFiles.size), o.seenAffectedFiles = o.seenAffectedFiles || new Set, o.buildInfoEmitPending = !0)) } return l && !o.changedFilesSet.size && (f && (o.bundle = t.bundle), vt(e.getProjectReferences(), w => !!w.prepend) && (o.programEmitPending = cv(s))), o } function $pe(e, t) { e.changedFilesSet.add(t), e.buildInfoEmitPending = !0, e.programEmitPending = void 0 } function Qpe(e, t, r) { return !!e.declarationMap == !!t.declarationMap ? r : Ta(r) ? [r] : r[0] } function l8e(e, t) { if (!e.length) return Je; let r; return e.map(o => { let s = Zpe(o, t, i); s.reportsUnnecessary = o.reportsUnnecessary, s.reportsDeprecated = o.reportDeprecated, s.source = o.source, s.skippedOn = o.skippedOn; let { relatedInformation: l } = o; return s.relatedInformation = l ? l.length ? l.map(f => Zpe(f, t, i)) : [] : void 0, s }); function i(o) { return r ?? (r = ni(_a(Jg(t.getCompilerOptions()), t.getCurrentDirectory()))), Ts(o, r, t.getCanonicalFileName) } } function Zpe(e, t, r) { let { file: i } = e; return { ...e, file: i ? t.getSourceFileByPath(r(i)) : void 0 } } function u8e(e) { pm.releaseCache(e), e.program = void 0 } function d8e(e) { let t = Ss(e.compilerOptions); return L.assert(!e.changedFilesSet.size || t), { affectedFilesPendingEmit: e.affectedFilesPendingEmit && new Map(e.affectedFilesPendingEmit), seenEmittedFiles: e.seenEmittedFiles && new Map(e.seenEmittedFiles), programEmitPending: e.programEmitPending, emitSignatures: e.emitSignatures && new Map(e.emitSignatures), outSignature: e.outSignature, latestChangedDtsFile: e.latestChangedDtsFile, hasChangedEmitSignature: e.hasChangedEmitSignature, changedFilesSet: t ? new Set(e.changedFilesSet) : void 0 } } function f8e(e, t) { e.affectedFilesPendingEmit = t.affectedFilesPendingEmit, e.seenEmittedFiles = t.seenEmittedFiles, e.programEmitPending = t.programEmitPending, e.emitSignatures = t.emitSignatures, e.outSignature = t.outSignature, e.latestChangedDtsFile = t.latestChangedDtsFile, e.hasChangedEmitSignature = t.hasChangedEmitSignature, t.changedFilesSet && (e.changedFilesSet = t.changedFilesSet) } function eme(e, t) { L.assert(!t || !e.affectedFiles || e.affectedFiles[e.affectedFilesIndex - 1] !== t || !e.semanticDiagnosticsPerFile.has(t.resolvedPath)) } function tme(e, t, r) { for (var i, o; ;) { let { affectedFiles: s } = e; if (s) { let g = e.seenAffectedFiles, m = e.affectedFilesIndex; for (; m < s.length;) { let v = s[m]; if (!g.has(v.resolvedPath)) return e.affectedFilesIndex = m, xq(e, v.resolvedPath, cv(e.compilerOptions)), m8e(e, v, t, r), v; m++ } e.changedFilesSet.delete(e.currentChangedFilePath), e.currentChangedFilePath = void 0, (i = e.oldSignatures) == null || i.clear(), (o = e.oldExportedModulesMap) == null || o.clear(), e.affectedFiles = void 0 } let l = e.changedFilesSet.keys().next(); if (l.done) return; let f = L.checkDefined(e.program), d = f.getCompilerOptions(); if (Ss(d)) return L.assert(!e.semanticDiagnosticsPerFile), f; e.affectedFiles = pm.getFilesAffectedByWithOldState(e, f, l.value, t, r), e.currentChangedFilePath = l.value, e.affectedFilesIndex = 0, e.seenAffectedFiles || (e.seenAffectedFiles = new Set) } } function _8e(e, t) { var r; if ((r = e.affectedFilesPendingEmit) != null && r.size) { if (!t) return e.affectedFilesPendingEmit = void 0; e.affectedFilesPendingEmit.forEach((i, o) => { let s = i & 7; s ? e.affectedFilesPendingEmit.set(o, s) : e.affectedFilesPendingEmit.delete(o) }) } } function p8e(e, t) { var r; if ((r = e.affectedFilesPendingEmit) != null && r.size) return Ld(e.affectedFilesPendingEmit, (i, o) => { var s; let l = e.program.getSourceFileByPath(o); if (!l || !pS(l, e.program)) { e.affectedFilesPendingEmit.delete(o); return } let f = (s = e.seenEmittedFiles) == null ? void 0 : s.get(l.resolvedPath), d = G2(i, f); if (t && (d = d & 24), d) return { affectedFile: l, emitKind: d } }) } function nme(e) { if (!e.cleanedDiagnosticsOfLibFiles) { e.cleanedDiagnosticsOfLibFiles = !0; let t = L.checkDefined(e.program), r = t.getCompilerOptions(); mn(t.getSourceFiles(), i => t.isSourceFileDefaultLibrary(i) && !rL(i, r, t) && vq(e, i.resolvedPath)) } } function m8e(e, t, r, i) { if (vq(e, t.resolvedPath), e.allFilesExcludingDefaultLibraryFile === e.affectedFiles) { nme(e), pm.updateShapeSignature(e, L.checkDefined(e.program), t, r, i); return } e.compilerOptions.assumeChangesOnlyAffectDirectDependencies || h8e(e, t, r, i) } function WF(e, t, r, i) { if (vq(e, t), !e.changedFilesSet.has(t)) { let o = L.checkDefined(e.program), s = o.getSourceFileByPath(t); s && (pm.updateShapeSignature(e, o, s, r, i, !0), __(e.compilerOptions) && xq(e, t, e.compilerOptions.declarationMap ? 24 : 8)) } } function vq(e, t) { return e.semanticDiagnosticsFromOldState ? (e.semanticDiagnosticsFromOldState.delete(t), e.semanticDiagnosticsPerFile.delete(t), !e.semanticDiagnosticsFromOldState.size) : !0 } function rme(e, t) { let r = L.checkDefined(e.oldSignatures).get(t) || void 0; return L.checkDefined(e.fileInfos.get(t)).signature !== r } function bq(e, t, r, i) { var o; return (o = e.fileInfos.get(t)) != null && o.affectsGlobalScope ? (pm.getAllFilesExcludingDefaultLibraryFile(e, e.program, void 0).forEach(s => WF(e, s.resolvedPath, r, i)), nme(e), !0) : !1 } function h8e(e, t, r, i) { var o; if (!e.exportedModulesMap || !e.changedFilesSet.has(t.resolvedPath) || !rme(e, t.resolvedPath)) return; if (d_(e.compilerOptions)) { let l = new Map; l.set(t.resolvedPath, !0); let f = pm.getReferencedByPaths(e, t.resolvedPath); for (; f.length > 0;) { let d = f.pop(); if (!l.has(d)) { if (l.set(d, !0), bq(e, d, r, i)) return; if (WF(e, d, r, i), rme(e, d)) { let g = L.checkDefined(e.program).getSourceFileByPath(d); f.push(...pm.getReferencedByPaths(e, g.resolvedPath)) } } } } let s = new Set; (o = e.exportedModulesMap.getKeys(t.resolvedPath)) == null || o.forEach(l => { if (bq(e, l, r, i)) return !0; let f = e.referencedMap.getKeys(l); return f && TI(f, d => ime(e, d, s, r, i)) }) } function ime(e, t, r, i, o) { var s, l; if (_0(r, t)) { if (bq(e, t, i, o)) return !0; WF(e, t, i, o), (s = e.exportedModulesMap.getKeys(t)) == null || s.forEach(f => ime(e, f, r, i, o)), (l = e.referencedMap.getKeys(t)) == null || l.forEach(f => !r.has(f) && WF(e, f, i, o)) } } function Eq(e, t, r) { return Qi(g8e(e, t, r), L.checkDefined(e.program).getProgramDiagnostics(t)) } function g8e(e, t, r) { let i = t.resolvedPath; if (e.semanticDiagnosticsPerFile) { let s = e.semanticDiagnosticsPerFile.get(i); if (s) return MF(s, e.compilerOptions) } let o = L.checkDefined(e.program).getBindAndCheckDiagnostics(t, r); return e.semanticDiagnosticsPerFile && e.semanticDiagnosticsPerFile.set(i, o), MF(o, e.compilerOptions) } function ame(e) { return !!Ss(e.options || {}) } function y8e(e, t) { var r, i, o; let s = L.checkDefined(e.program).getCurrentDirectory(), l = ni(_a(Jg(e.compilerOptions), s)), f = e.latestChangedDtsFile ? W(e.latestChangedDtsFile) : void 0, d = [], g = new Map, m = []; if (Ss(e.compilerOptions)) { let Z = lo(e.fileInfos.entries(), ([X, Ve]) => { let we = R(X); return $(X, we), Ve.impliedFormat ? { version: Ve.version, impliedFormat: Ve.impliedFormat, signature: void 0, affectsGlobalScope: void 0 } : Ve.version }), U = { fileNames: d, fileInfos: Z, root: m, options: fe(e.compilerOptions), outSignature: e.outSignature, latestChangedDtsFile: f, pendingEmit: e.programEmitPending ? e.programEmitPending === cv(e.compilerOptions) ? !1 : e.programEmitPending : void 0 }, { js: re, dts: le, commonSourceDirectory: _e, sourceFiles: ge } = t; return e.bundle = t = { commonSourceDirectory: _e, sourceFiles: ge, js: re || (e.compilerOptions.emitDeclarationOnly || (r = e.bundle) == null ? void 0 : r.js), dts: le || (__(e.compilerOptions) ? (i = e.bundle) == null ? void 0 : i.dts : void 0) }, dN(U, t) } let v, S, x, A = lo(e.fileInfos.entries(), ([Z, U]) => { var re, le; let _e = R(Z); $(Z, _e), L.assert(d[_e - 1] === Y(Z)); let ge = (re = e.oldSignatures) == null ? void 0 : re.get(Z), X = ge !== void 0 ? ge || void 0 : U.signature; if (e.compilerOptions.composite) { let Ve = e.program.getSourceFileByPath(Z); if (!Mf(Ve) && pS(Ve, e.program)) { let we = (le = e.emitSignatures) == null ? void 0 : le.get(Z); we !== X && (x || (x = [])).push(we === void 0 ? _e : [_e, !Ta(we) && we[0] === X ? Je : we]) } } return U.version === X ? U.affectsGlobalScope || U.impliedFormat ? { version: U.version, signature: void 0, affectsGlobalScope: U.affectsGlobalScope, impliedFormat: U.impliedFormat } : U.version : X !== void 0 ? ge === void 0 ? U : { version: U.version, signature: X, affectsGlobalScope: U.affectsGlobalScope, impliedFormat: U.impliedFormat } : { version: U.version, signature: !1, affectsGlobalScope: U.affectsGlobalScope, impliedFormat: U.impliedFormat } }), w; e.referencedMap && (w = lo(e.referencedMap.keys()).sort(su).map(Z => [R(Z), ie(e.referencedMap.getValues(Z))])); let C; e.exportedModulesMap && (C = Zi(lo(e.exportedModulesMap.keys()).sort(su), Z => { var U; let re = (U = e.oldExportedModulesMap) == null ? void 0 : U.get(Z); if (re === void 0) return [R(Z), ie(e.exportedModulesMap.getValues(Z))]; if (re) return [R(Z), ie(re)] })); let P; if (e.semanticDiagnosticsPerFile) for (let Z of lo(e.semanticDiagnosticsPerFile.keys()).sort(su)) { let U = e.semanticDiagnosticsPerFile.get(Z); (P || (P = [])).push(U.length ? [R(Z), b8e(U, Y)] : R(Z)) } let F; if ((o = e.affectedFilesPendingEmit) != null && o.size) { let Z = cv(e.compilerOptions), U = new Set; for (let re of lo(e.affectedFilesPendingEmit.keys()).sort(su)) if (_0(U, re)) { let le = e.program.getSourceFileByPath(re); if (!le || !pS(le, e.program)) continue; let _e = R(re), ge = e.affectedFilesPendingEmit.get(re); (F || (F = [])).push(ge === Z ? _e : ge === 8 ? [_e] : [_e, ge]) } } let B; if (e.changedFilesSet.size) for (let Z of lo(e.changedFilesSet.keys()).sort(su)) (B || (B = [])).push(R(Z)); let q = { fileNames: d, fileInfos: A, root: m, options: fe(e.compilerOptions), fileIdsList: v, referencedMap: w, exportedModulesMap: C, semanticDiagnosticsPerFile: P, affectedFilesPendingEmit: F, changeFileSet: B, emitSignatures: x, latestChangedDtsFile: f }; return dN(q, t); function W(Z) { return Y(_a(Z, s)) } function Y(Z) { return S0(Xp(l, Z, e.program.getCanonicalFileName)) } function R(Z) { let U = g.get(Z); return U === void 0 && (d.push(Y(Z)), g.set(Z, U = d.length)), U } function ie(Z) { let U = lo(Z.keys(), R).sort(Es), re = U.join(), le = S?.get(re); return le === void 0 && ((v || (v = [])).push(U), (S || (S = new Map)).set(re, le = v.length)), le } function $(Z, U) { let re = e.program.getSourceFile(Z); if (!e.program.getFileIncludeReasons().get(re.path).some(X => X.kind === 0)) return; if (!m.length) return m.push(U); let le = m[m.length - 1], _e = ba(le); if (_e && le[1] === U - 1) return le[1] = U; if (_e || m.length === 1 || le !== U - 1) return m.push(U); let ge = m[m.length - 2]; return !Cg(ge) || ge !== le - 1 ? m.push(U) : (m[m.length - 2] = [ge, U], m.length = m.length - 1) } function fe(Z) { let U, { optionsNameMap: re } = w2(); for (let le of bh(Z).sort(su)) { let _e = re.get(le.toLowerCase()); _e?.affectsBuildInfo && ((U || (U = {}))[le] = v8e(_e, Z[le], W)) } return U } } function v8e(e, t, r) { if (e) { if (L.assert(e.type !== "listOrElement"), e.type === "list") { let i = t; if (e.element.isFilePath && i.length) return i.map(r) } else if (e.isFilePath) return r(t) } return t } function b8e(e, t) { return L.assert(!!e.length), e.map(r => { let i = ome(r, t); i.reportsUnnecessary = r.reportsUnnecessary, i.reportDeprecated = r.reportsDeprecated, i.source = r.source, i.skippedOn = r.skippedOn; let { relatedInformation: o } = r; return i.relatedInformation = o ? o.length ? o.map(s => ome(s, t)) : [] : void 0, i }) } function ome(e, t) { let { file: r } = e; return { ...e, file: r ? t(r.resolvedPath) : void 0 } } function zF(e, t, r, i, o, s) { let l, f, d; return e === void 0 ? (L.assert(t === void 0), l = r, d = i, L.assert(!!d), f = d.getProgram()) : ba(e) ? (d = i, f = PF({ rootNames: e, options: t, host: r, oldProgram: d && d.getProgramOrUndefined(), configFileParsingDiagnostics: o, projectReferences: s }), l = r) : (f = e, l = t, d = r, o = i), { host: l, newProgram: f, oldProgram: d, configFileParsingDiagnostics: o || Je } } function sme(e, t) { return t?.sourceMapUrlPos !== void 0 ? e.substring(0, t.sourceMapUrlPos) : e } function Tq(e, t, r, i, o) {
-                var s, l; r = sme(r, o); let f; return (s = o?.diagnostics) != null && s.length && (r += o.diagnostics.map(m => `${g(m)}${nw[m.category]}${m.code}: ${d(m.messageText)}`).join(`
-`)), ((l = i.createHash) != null ? l : aw)(r); function d(m) {
-                    return Ta(m) ? m : m === void 0 ? "" : m.next ? m.messageText + m.next.map(d).join(`
-`) : m.messageText
-                } function g(m) { return m.file.resolvedPath === t.resolvedPath ? `(${m.start},${m.length})` : (f === void 0 && (f = ni(t.resolvedPath)), `${S0(Xp(f, m.file.resolvedPath, e.getCanonicalFileName))}(${m.start},${m.length})`) }
-            } function YT(e, t, r) { var i; return ((i = t.createHash) != null ? i : aw)(sme(e, r)) } function Sq(e, { newProgram: t, host: r, oldProgram: i, configFileParsingDiagnostics: o }) { let s = i && i.getState(); if (s && t === s.program && o === t.getConfigFileParsingDiagnostics()) return t = void 0, s = void 0, i; let l = c8e(t, s); t.getBuildInfo = w => y8e(l, w), t = void 0, i = void 0, s = void 0; let f = () => l, d = Cq(f, o); return d.getState = f, d.saveEmitState = () => d8e(l), d.restoreEmitState = w => f8e(l, w), d.hasChangedEmitSignature = () => !!l.hasChangedEmitSignature, d.getAllDependencies = w => pm.getAllDependencies(l, L.checkDefined(l.program), w), d.getSemanticDiagnostics = A, d.emit = S, d.releaseProgram = () => u8e(l), e === 0 ? d.getSemanticDiagnosticsOfNextAffectedFile = x : e === 1 ? (d.getSemanticDiagnosticsOfNextAffectedFile = x, d.emitNextAffectedFile = m, d.emitBuildInfo = g) : Sa(), d; function g(w, C) { if (l.buildInfoEmitPending) { let P = L.checkDefined(l.program).emitBuildInfo(w || ho(r, r.writeFile), C); return l.buildInfoEmitPending = !1, P } return HF } function m(w, C, P, F) { var B, q, W, Y, R; let ie = tme(l, C, r), $ = cv(l.compilerOptions), fe = P ? $ & 24 : $; if (!ie) if (Ss(l.compilerOptions)) { if (!l.programEmitPending || (fe = l.programEmitPending, P && (fe = fe & 24), !fe)) return; ie = l.program } else { let re = p8e(l, P); if (!re) { if (!l.buildInfoEmitPending) return; let le = l.program, _e = le.emitBuildInfo(w || ho(r, r.writeFile), C); return l.buildInfoEmitPending = !1, { result: _e, affected: le } } ({ affectedFile: ie, emitKind: fe } = re) } let Z; fe & 7 && (Z = 0), fe & 24 && (Z = Z === void 0 ? 1 : void 0), ie === l.program && (l.programEmitPending = l.changedFilesSet.size ? G2($, fe) : l.programEmitPending ? G2(l.programEmitPending, fe) : void 0); let U = l.program.emit(ie === l.program ? void 0 : ie, v(w, F), C, Z, F); if (ie !== l.program) { let re = ie; l.seenAffectedFiles.add(re.resolvedPath), l.affectedFilesIndex !== void 0 && l.affectedFilesIndex++, l.buildInfoEmitPending = !0; let le = ((B = l.seenEmittedFiles) == null ? void 0 : B.get(re.resolvedPath)) || 0; ((q = l.seenEmittedFiles) != null ? q : l.seenEmittedFiles = new Map).set(re.resolvedPath, fe | le); let _e = ((W = l.affectedFilesPendingEmit) == null ? void 0 : W.get(re.resolvedPath)) || $, ge = G2(_e, fe | le); ge ? ((Y = l.affectedFilesPendingEmit) != null ? Y : l.affectedFilesPendingEmit = new Map).set(re.resolvedPath, ge) : (R = l.affectedFilesPendingEmit) == null || R.delete(re.resolvedPath) } else l.changedFilesSet.clear(); return { result: U, affected: ie } } function v(w, C) { return __(l.compilerOptions) ? (P, F, B, q, W, Y) => { var R, ie, $, fe, Z, U, re; if (Fu(P)) if (Ss(l.compilerOptions)) { if (l.compilerOptions.composite) { let _e = le(l.outSignature, void 0); if (!_e) return; l.outSignature = _e } } else { L.assert(W?.length === 1); let _e; if (!C) { let ge = W[0], X = l.fileInfos.get(ge.resolvedPath); if (X.signature === ge.version) { let Ve = Tq(l.program, ge, F, r, Y); (R = Y?.diagnostics) != null && R.length || (_e = Ve), Ve !== ge.version && (r.storeFilesChangingSignatureDuringEmit && ((ie = l.filesChangingSignature) != null ? ie : l.filesChangingSignature = new Set).add(ge.resolvedPath), l.exportedModulesMap && pm.updateExportedModules(l, ge, ge.exportedModulesFromDeclarationEmit), l.affectedFiles ? ((($ = l.oldSignatures) == null ? void 0 : $.get(ge.resolvedPath)) === void 0 && ((fe = l.oldSignatures) != null ? fe : l.oldSignatures = new Map).set(ge.resolvedPath, X.signature || !1), X.signature = Ve) : (X.signature = Ve, (Z = l.oldExportedModulesMap) == null || Z.clear())) } } if (l.compilerOptions.composite) { let ge = W[0].resolvedPath; if (_e = le((U = l.emitSignatures) == null ? void 0 : U.get(ge), _e), !_e) return; ((re = l.emitSignatures) != null ? re : l.emitSignatures = new Map).set(ge, _e) } } w ? w(P, F, B, q, W, Y) : r.writeFile ? r.writeFile(P, F, B, q, W, Y) : l.program.writeFile(P, F, B, q, W, Y); function le(_e, ge) { let X = !_e || Ta(_e) ? _e : _e[0]; if (ge ?? (ge = YT(F, r, Y)), ge === X) { if (_e === X) return; Y ? Y.differsOnlyInMap = !0 : Y = { differsOnlyInMap: !0 } } else l.hasChangedEmitSignature = !0, l.latestChangedDtsFile = P; return ge } } : w || ho(r, r.writeFile) } function S(w, C, P, F, B) { e === 1 && eme(l, w); let q = dq(d, w, C, P); if (q) return q; if (!w) if (e === 1) { let W = [], Y = !1, R, ie = [], $; for (; $ = m(C, P, F, B);)Y = Y || $.result.emitSkipped, R = si(R, $.result.diagnostics), ie = si(ie, $.result.emittedFiles), W = si(W, $.result.sourceMaps); return { emitSkipped: Y, diagnostics: R || Je, emittedFiles: ie, sourceMaps: W } } else _8e(l, F); return L.checkDefined(l.program).emit(w, v(C, B), P, F, B) } function x(w, C) { for (; ;) { let P = tme(l, w, r), F; if (P) if (P !== l.program) { let B = P; if ((!C || !C(B)) && (F = Eq(l, B, w)), l.seenAffectedFiles.add(B.resolvedPath), l.affectedFilesIndex++, l.buildInfoEmitPending = !0, !F) continue } else F = l.program.getSemanticDiagnostics(void 0, w), l.changedFilesSet.clear(), l.programEmitPending = cv(l.compilerOptions); else return; return { result: F, affected: P } } } function A(w, C) { eme(l, w); let P = L.checkDefined(l.program).getCompilerOptions(); if (Ss(P)) return L.assert(!l.semanticDiagnosticsPerFile), L.checkDefined(l.program).getSemanticDiagnostics(w, C); if (w) return Eq(l, w, C); for (; x(C);); let F; for (let B of L.checkDefined(l.program).getSourceFiles()) F = si(F, Eq(l, B, C)); return F || Je } } function xq(e, t, r) { var i, o; let s = ((i = e.affectedFilesPendingEmit) == null ? void 0 : i.get(t)) || 0; ((o = e.affectedFilesPendingEmit) != null ? o : e.affectedFilesPendingEmit = new Map).set(t, s | r) } function cme(e) { return Ta(e) ? { version: e, signature: e, affectsGlobalScope: void 0, impliedFormat: void 0 } : Ta(e.signature) ? e : { version: e.version, signature: e.signature === !1 ? void 0 : e.version, affectsGlobalScope: e.affectsGlobalScope, impliedFormat: e.impliedFormat } } function lme(e, t) { return Cg(e) ? t : e[1] || 8 } function ume(e, t) { return e || cv(t || {}) } function dme(e, t, r) { var i, o, s, l; let f = e.program, d = ni(_a(t, r.getCurrentDirectory())), g = Dl(r.useCaseSensitiveFileNames()), m, v = (i = f.fileNames) == null ? void 0 : i.map(A), S, x = f.latestChangedDtsFile ? w(f.latestChangedDtsFile) : void 0; if (ame(f)) { let B = new Map; f.fileInfos.forEach((q, W) => { let Y = C(W + 1); B.set(Y, Ta(q) ? { version: q, signature: void 0, affectsGlobalScope: void 0, impliedFormat: void 0 } : q) }), m = { fileInfos: B, compilerOptions: f.options ? SJ(f.options, w) : {}, latestChangedDtsFile: x, outSignature: f.outSignature, programEmitPending: f.pendingEmit === void 0 ? void 0 : ume(f.pendingEmit, f.options), bundle: e.bundle } } else { S = (o = f.fileIdsList) == null ? void 0 : o.map(Y => new Set(Y.map(C))); let B = new Map, q = (s = f.options) != null && s.composite && !Ss(f.options) ? new Map : void 0; f.fileInfos.forEach((Y, R) => { let ie = C(R + 1), $ = cme(Y); B.set(ie, $), q && $.signature && q.set(ie, $.signature) }), (l = f.emitSignatures) == null || l.forEach(Y => { if (Cg(Y)) q.delete(C(Y)); else { let R = C(Y[0]); q.set(R, !Ta(Y[1]) && !Y[1].length ? [q.get(R)] : Y[1]) } }); let W = f.affectedFilesPendingEmit ? cv(f.options || {}) : void 0; m = { fileInfos: B, compilerOptions: f.options ? SJ(f.options, w) : {}, referencedMap: F(f.referencedMap), exportedModulesMap: F(f.exportedModulesMap), semanticDiagnosticsPerFile: f.semanticDiagnosticsPerFile && p0(f.semanticDiagnosticsPerFile, Y => C(Cg(Y) ? Y : Y[0]), Y => Cg(Y) ? Je : Y[1]), hasReusableDiagnostic: !0, affectedFilesPendingEmit: f.affectedFilesPendingEmit && p0(f.affectedFilesPendingEmit, Y => C(Cg(Y) ? Y : Y[0]), Y => lme(Y, W)), changedFilesSet: new Set(on(f.changeFileSet, C)), latestChangedDtsFile: x, emitSignatures: q?.size ? q : void 0 } } return { getState: () => m, saveEmitState: Ba, restoreEmitState: Ba, getProgram: Sa, getProgramOrUndefined: Qv, releaseProgram: Ba, getCompilerOptions: () => m.compilerOptions, getSourceFile: Sa, getSourceFiles: Sa, getOptionsDiagnostics: Sa, getGlobalDiagnostics: Sa, getConfigFileParsingDiagnostics: Sa, getSyntacticDiagnostics: Sa, getDeclarationDiagnostics: Sa, getSemanticDiagnostics: Sa, emit: Sa, getAllDependencies: Sa, getCurrentDirectory: Sa, emitNextAffectedFile: Sa, getSemanticDiagnosticsOfNextAffectedFile: Sa, emitBuildInfo: Sa, close: Ba, hasChangedEmitSignature: m0 }; function A(B) { return Ts(B, d, g) } function w(B) { return _a(B, d) } function C(B) { return v[B - 1] } function P(B) { return S[B - 1] } function F(B) { if (!B) return; let q = pm.createManyToManyPathMap(); return B.forEach(([W, Y]) => q.set(C(W), P(Y))), q } } function Aq(e, t, r) { let i = ni(_a(t, r.getCurrentDirectory())), o = Dl(r.useCaseSensitiveFileNames()), s = new Map, l = 0, f = []; return e.fileInfos.forEach((d, g) => { let m = Ts(e.fileNames[g], i, o), v = Ta(d) ? d : d.version; if (s.set(m, v), l < e.root.length) { let S = e.root[l], x = g + 1; ba(S) ? S[0] <= x && x <= S[1] && (f.push(m), S[1] === x && l++) : S === x && (f.push(m), l++) } }), { fileInfos: s, roots: f } } function Cq(e, t) { return { getState: Sa, saveEmitState: Ba, restoreEmitState: Ba, getProgram: r, getProgramOrUndefined: () => e().program, releaseProgram: () => e().program = void 0, getCompilerOptions: () => e().compilerOptions, getSourceFile: i => r().getSourceFile(i), getSourceFiles: () => r().getSourceFiles(), getOptionsDiagnostics: i => r().getOptionsDiagnostics(i), getGlobalDiagnostics: i => r().getGlobalDiagnostics(i), getConfigFileParsingDiagnostics: () => t, getSyntacticDiagnostics: (i, o) => r().getSyntacticDiagnostics(i, o), getDeclarationDiagnostics: (i, o) => r().getDeclarationDiagnostics(i, o), getSemanticDiagnostics: (i, o) => r().getSemanticDiagnostics(i, o), emit: (i, o, s, l, f) => r().emit(i, o, s, l, f), emitBuildInfo: (i, o) => r().emitBuildInfo(i, o), getAllDependencies: Sa, getCurrentDirectory: () => r().getCurrentDirectory(), close: Ba }; function r() { return L.checkDefined(e().program) } } var Iq, Lq, E8e = gt({ "src/compiler/builder.ts"() { "use strict"; fa(), fa(), Iq = (e => (e[e.None = 0] = "None", e[e.Js = 1] = "Js", e[e.JsMap = 2] = "JsMap", e[e.JsInlineMap = 4] = "JsInlineMap", e[e.Dts = 8] = "Dts", e[e.DtsMap = 16] = "DtsMap", e[e.AllJs = 7] = "AllJs", e[e.AllDts = 24] = "AllDts", e[e.All = 31] = "All", e))(Iq || {}), Lq = (e => (e[e.SemanticDiagnosticsBuilderProgram = 0] = "SemanticDiagnosticsBuilderProgram", e[e.EmitAndSemanticDiagnosticsBuilderProgram = 1] = "EmitAndSemanticDiagnosticsBuilderProgram", e))(Lq || {}) } }); function T8e(e, t, r, i, o, s) { return Sq(0, zF(e, t, r, i, o, s)) } function kq(e, t, r, i, o, s) { return Sq(1, zF(e, t, r, i, o, s)) } function S8e(e, t, r, i, o, s) { let { newProgram: l, configFileParsingDiagnostics: f } = zF(e, t, r, i, o, s); return Cq(() => ({ program: l, compilerOptions: l.getCompilerOptions() }), f) } var x8e = gt({ "src/compiler/builderPublic.ts"() { "use strict"; fa() } }); function Dq(e) { return Oc(e, "/node_modules/.staging") ? pA(e, "/.staging") : vt(uw, t => jl(e, t)) ? void 0 : e } function vN(e) { let t = _p(e); if (e.length === t) return !1; let r = e.indexOf(_s, t); if (r === -1) return !1; let i = e.substring(t, r + 1), o = t > 1 || e.charCodeAt(0) !== 47; if (o && e.search(/[a-zA-Z]:/) !== 0 && i.search(/[a-zA-Z]\$\//) === 0) { if (r = e.indexOf(_s, r + 1), r === -1) return !1; i = e.substring(t + i.length, r + 1) } if (o && i.search(/users\//i) !== 0) return !0; for (let s = r + 1, l = 2; l > 0; l--)if (s = e.indexOf(_s, s) + 1, s === 0) return !1; return !0 } function fme(e, t, r) { let i, o, s, l = Nf(), f = new Set, d = new Set, g = new Map, m = new Map, v = !1, S, x, A, w, C, P = zu(() => e.getCurrentDirectory()), F = e.getCachedDirectoryStructureHost(), B = new Map, q = Y3(P(), e.getCanonicalFileName, e.getCompilationSettings()), W = new Map, Y = $3(P(), e.getCanonicalFileName, e.getCompilationSettings(), q.getPackageJsonInfoCache()), R = [".ts", ".tsx", ".js", ".jsx", ".json"], ie = new Map, $ = new Map, fe = new Map, Z = t && sT(_a(t, P())), U = Z && e.toPath(Z), re = U !== void 0 ? U.split(_s).length : 0, le = new Map; return { getModuleResolutionCache: () => q, startRecordingFilesWithChangedResolutions: we, finishRecordingFilesWithChangedResolutions: ke, startCachingPerDirectoryResolution: Ie, finishCachingPerDirectoryResolution: Be, resolveModuleNameLiterals: ct, resolveTypeReferenceDirectiveReferences: _t, resolveSingleModuleNameWithoutWatching: Rt, removeResolutionsFromProjectReferenceRedirects: nn, removeResolutionsOfFile: Dt, hasChangedAutomaticTypeDirectiveNames: () => v, invalidateResolutionOfFile: An, invalidateResolutionsOfFailedLookupLocations: ri, setFilesWithInvalidatedNonRelativeUnresolvedImports: Kn, createHasInvalidatedResolutions: Ce, isFileWithInvalidatedNonRelativeUnresolvedImports: Pe, updateTypeRootsWatch: at, closeTypeRootsWatch: dr, clear: Ve }; function _e(ve) { return ve.resolvedModule } function ge(ve) { return ve.resolvedTypeReferenceDirective } function X(ve, nt) { return ve === void 0 || nt.length <= ve.length ? !1 : na(nt, ve) && nt[ve.length] === _s } function Ve() { Tf($, _m), Tf(fe, _m), ie.clear(), l.clear(), dr(), B.clear(), W.clear(), g.clear(), f.clear(), d.clear(), A = void 0, w = void 0, C = void 0, x = void 0, S = void 0, q.clear(), Y.clear(), q.update(e.getCompilationSettings()), Y.update(e.getCompilationSettings()), m.clear(), v = !1 } function we() { i = [] } function ke() { let ve = i; return i = void 0, ve } function Pe(ve) { if (!s) return !1; let nt = s.get(ve); return !!nt && !!nt.length } function Ce(ve) { ri(); let nt = o; return o = void 0, ce => ve(ce) || !!nt?.has(ce) || Pe(ce) } function Ie() { q.clearAllExceptPackageJsonInfoCache(), Y.clearAllExceptPackageJsonInfoCache(), l.forEach($n), l.clear() } function Be(ve, nt) { s = void 0, l.forEach($n), l.clear(), ve !== nt && (ve?.getSourceFiles().forEach(ce => { var Q, ue, G; let Oe = kd(ce) && (ue = (Q = ce.packageJsonLocations) == null ? void 0 : Q.length) != null ? ue : 0, je = (G = m.get(ce.path)) != null ? G : Je; for (let Ge = je.length; Ge < Oe; Ge++)Gt(ce.packageJsonLocations[Ge], !1); if (je.length > Oe) for (let Ge = Oe; Ge < je.length; Ge++)fe.get(je[Ge]).files--; Oe ? m.set(ce.path, ce.packageJsonLocations) : m.delete(ce.path) }), m.forEach((ce, Q) => { ve?.getSourceFileByPath(Q) || (ce.forEach(ue => fe.get(ue).files--), m.delete(Q)) })), $.forEach((ce, Q) => { ce.refCount === 0 && ($.delete(Q), ce.watcher.close()) }), fe.forEach((ce, Q) => { ce.files === 0 && ce.resolutions === 0 && (fe.delete(Q), ce.watcher.close()) }), v = !1 } function Ne(ve, nt, ce, Q, ue) { var G; let Oe = ((G = e.getCompilerHost) == null ? void 0 : G.call(e)) || e, je = FL(ve, nt, ce, Oe, q, Q, ue); if (!e.getGlobalCache) return je; let Ge = e.getGlobalCache(); if (Ge !== void 0 && !fl(ve) && !(je.resolvedModule && y4(je.resolvedModule.extension))) { let { resolvedModule: kt, failedLookupLocations: Kt, affectingLocations: ln, resolutionDiagnostics: ir } = s_e(L.checkDefined(e.globalCacheResolutionModuleName)(ve), e.projectName, ce, Oe, Ge, q); if (kt) return je.resolvedModule = kt, je.failedLookupLocations = N2(je.failedLookupLocations, Kt), je.affectingLocations = N2(je.affectingLocations, ln), je.resolutionDiagnostics = N2(je.resolutionDiagnostics, ir), je } return je } function Le(ve, nt, ce) { return { nameAndMode: QL, resolve: (Q, ue) => Ne(Q, ve, ce, nt, ue) } } function Ye({ entries: ve, containingFile: nt, containingSourceFile: ce, redirectedReference: Q, options: ue, perFileCache: G, reusedNames: Oe, loader: je, getResolutionWithResolvedFileName: Ge, shouldRetryResolution: kt, logChanges: Kt }) { var ln; let ir = e.toPath(nt), ae = G.get(ir) || G.set(ir, WT()).get(ir), rt = [], Ot = Kt && Pe(ir), Ke = e.getCurrentProgram(), oe = Ke && Ke.getResolvedProjectReferenceToRedirect(nt), pe = oe ? !Q || Q.sourceFile.path !== oe.sourceFile.path : !!Q, z = WT(); for (let j of ve) { let yt = je.nameAndMode.getName(j), lt = je.nameAndMode.getMode(j, ce), Qe = ae.get(yt, lt); if (!z.has(yt, lt) && pe || !Qe || Qe.isInvalidated || Ot && !fl(yt) && kt(Qe)) { let Vt = Qe; Qe = je.resolve(yt, lt), e.onDiscoveredSymlink && A8e(Qe) && e.onDiscoveredSymlink(), ae.set(yt, lt, Qe), tn(yt, Qe, ir, Ge), Vt && Ni(Vt, ir, Ge), Kt && i && !Te(Vt, Qe) && (i.push(ir), Kt = !1) } else { let Vt = ((ln = e.getCompilerHost) == null ? void 0 : ln.call(e)) || e; if (ov(ue, Vt) && !z.has(yt, lt)) { let Hn = Ge(Qe); Xi(Vt, G === B ? Hn?.resolvedFileName ? Hn.packageId ? _.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : _.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : _.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved : Hn?.resolvedFileName ? Hn.packageId ? _.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : _.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : _.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved, yt, nt, Hn?.resolvedFileName, Hn?.packageId && hT(Hn.packageId)) } } L.assert(Qe !== void 0 && !Qe.isInvalidated), z.set(yt, lt, !0), rt.push(Qe) } return Oe?.forEach(j => z.set(je.nameAndMode.getName(j), je.nameAndMode.getMode(j, ce), !0)), ae.size() !== z.size() && ae.forEach((j, yt, lt) => { z.has(yt, lt) || (Ni(j, ir, Ge), ae.delete(yt, lt)) }), rt; function Te(j, yt) { if (j === yt) return !0; if (!j || !yt) return !1; let lt = Ge(j), Qe = Ge(yt); return lt === Qe ? !0 : !lt || !Qe ? !1 : lt.resolvedFileName === Qe.resolvedFileName } } function _t(ve, nt, ce, Q, ue, G) { var Oe; return Ye({ entries: ve, containingFile: nt, containingSourceFile: ue, redirectedReference: ce, options: Q, reusedNames: G, perFileCache: W, loader: OF(nt, ce, Q, ((Oe = e.getCompilerHost) == null ? void 0 : Oe.call(e)) || e, Y), getResolutionWithResolvedFileName: ge, shouldRetryResolution: je => je.resolvedTypeReferenceDirective === void 0 }) } function ct(ve, nt, ce, Q, ue, G) { return Ye({ entries: ve, containingFile: nt, containingSourceFile: ue, redirectedReference: ce, options: Q, reusedNames: G, perFileCache: B, loader: Le(nt, ce, Q), getResolutionWithResolvedFileName: _e, shouldRetryResolution: Oe => !Oe.resolvedModule || !VR(Oe.resolvedModule.extension), logChanges: r }) } function Rt(ve, nt) { let ce = e.toPath(nt), Q = B.get(ce), ue = Q?.get(ve, void 0); return ue && !ue.isInvalidated ? ue : Ne(ve, nt, e.getCompilationSettings()) } function We(ve) { return Oc(ve, "/node_modules/@types") } function qe(ve, nt) { if (X(U, nt)) { ve = qp(ve) ? So(ve) : _a(ve, P()); let ce = nt.split(_s), Q = ve.split(_s); return L.assert(Q.length === ce.length, `FailedLookup: ${ve} failedLookupLocationPath: ${nt}`), ce.length > re + 1 ? { dir: Q.slice(0, re + 1).join(_s), dirPath: ce.slice(0, re + 1).join(_s) } : { dir: Z, dirPath: U, nonRecursive: !1 } } return zt(ni(_a(ve, P())), ni(nt)) } function zt(ve, nt) { for (; JS(nt);)ve = ni(ve), nt = ni(nt); if (H8(nt)) return vN(ni(nt)) ? { dir: ve, dirPath: nt } : void 0; let ce = !0, Q, ue; if (U !== void 0) for (; !X(nt, U);) { let G = ni(nt); if (G === nt) break; ce = !1, Q = nt, ue = ve, nt = G, ve = ni(ve) } return vN(nt) ? { dir: ue || ve, dirPath: Q || nt, nonRecursive: ce } : void 0 } function Qt(ve) { return $c(ve, R) } function tn(ve, nt, ce, Q) { var ue, G; if (nt.refCount) nt.refCount++, L.assertIsDefined(nt.files); else { nt.refCount = 1, L.assert(!((ue = nt.files) != null && ue.size)), fl(ve) ? kn(nt) : l.add(ve, nt); let Oe = Q(nt); if (Oe && Oe.resolvedFileName) { let je = e.toPath(Oe.resolvedFileName), Ge = g.get(je); Ge || g.set(je, Ge = new Set), Ge.add(nt) } } ((G = nt.files) != null ? G : nt.files = new Set).add(ce) } function kn(ve) { L.assert(!!ve.refCount); let { failedLookupLocations: nt, affectingLocations: ce } = ve; if (!nt?.length && !ce?.length) return; nt?.length && f.add(ve); let Q = !1; if (nt) { for (let ue of nt) { let G = e.toPath(ue), Oe = qe(ue, G); if (Oe) { let { dir: je, dirPath: Ge, nonRecursive: kt } = Oe; if (!Qt(G)) { let Kt = ie.get(G) || 0; ie.set(G, Kt + 1) } Ge === U ? (L.assert(!kt), Q = !0) : ui(je, Ge, kt) } } Q && ui(Z, U, !0) } _n(ve, !nt?.length) } function _n(ve, nt) { L.assert(!!ve.refCount); let { affectingLocations: ce } = ve; if (ce?.length) { nt && d.add(ve); for (let Q of ce) Gt(Q, !0) } } function Gt(ve, nt) { let ce = fe.get(ve); if (ce) { nt ? ce.resolutions++ : ce.files++; return } let Q = ve; if (e.realpath && (Q = e.realpath(ve), ve !== Q)) { let je = fe.get(Q); if (je) { nt ? je.resolutions++ : je.files++, je.paths.add(ve), fe.set(ve, je); return } } let ue = new Set; ue.add(Q); let G = vN(e.toPath(Q)) ? e.watchAffectingFileLocation(Q, (je, Ge) => { F?.addOrDeleteFile(je, e.toPath(Q), Ge); let kt = q.getPackageJsonInfoCache().getInternalMap(); ue.forEach(Kt => { Oe.resolutions && (x ?? (x = new Set)).add(Kt), Oe.files && (S ?? (S = new Set)).add(Kt), kt?.delete(e.toPath(Kt)) }), e.scheduleInvalidateResolutionsOfFailedLookupLocations() }) : B2, Oe = { watcher: G !== B2 ? { close: () => { G.close(), G = B2 } } : G, resolutions: nt ? 1 : 0, files: nt ? 0 : 1, paths: ue }; fe.set(Q, Oe), ve !== Q && (fe.set(ve, Oe), ue.add(ve)) } function $n(ve, nt) { let ce = e.getCurrentProgram(); !ce || !ce.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(nt) ? ve.forEach(kn) : ve.forEach(Q => _n(Q, !0)) } function ui(ve, nt, ce) { let Q = $.get(nt); Q ? (L.assert(!!ce == !!Q.nonRecursive), Q.refCount++) : $.set(nt, { watcher: gr(ve, nt, ce), refCount: 1, nonRecursive: ce }) } function Ni(ve, nt, ce) { if (L.checkDefined(ve.files).delete(nt), ve.refCount--, ve.refCount) return; let Q = ce(ve); if (Q && Q.resolvedFileName) { let Oe = e.toPath(Q.resolvedFileName), je = g.get(Oe); je?.delete(ve) && !je.size && g.delete(Oe) } let { failedLookupLocations: ue, affectingLocations: G } = ve; if (f.delete(ve)) { let Oe = !1; for (let je of ue) { let Ge = e.toPath(je), kt = qe(je, Ge); if (kt) { let { dirPath: Kt } = kt, ln = ie.get(Ge); ln && (ln === 1 ? ie.delete(Ge) : (L.assert(ln > 1), ie.set(Ge, ln - 1))), Kt === U ? Oe = !0 : Pi(Kt) } } Oe && Pi(U) } else G?.length && d.delete(ve); if (G) for (let Oe of G) { let je = fe.get(Oe); je.resolutions-- } } function Pi(ve) { let nt = $.get(ve); nt.refCount-- } function gr(ve, nt, ce) { return e.watchDirectoryOfFailedLookupLocation(ve, Q => { let ue = e.toPath(Q); F && F.addOrDeleteFileOrDirectory(Q, ue), hi(ue, nt === ue) }, ce ? 0 : 1) } function pt(ve, nt, ce) { let Q = ve.get(nt); Q && (Q.forEach(ue => Ni(ue, nt, ce)), ve.delete(nt)) } function nn(ve) { if (!Gc(ve, ".json")) return; let nt = e.getCurrentProgram(); if (!nt) return; let ce = nt.getResolvedProjectReferenceByPath(ve); ce && ce.commandLine.fileNames.forEach(Q => Dt(e.toPath(Q))) } function Dt(ve) { pt(B, ve, _e), pt(W, ve, ge) } function pn(ve, nt) { if (!ve) return !1; let ce = !1; return ve.forEach(Q => { if (!(Q.isInvalidated || !nt(Q))) { Q.isInvalidated = ce = !0; for (let ue of L.checkDefined(Q.files)) (o ?? (o = new Set)).add(ue), v = v || Oc(ue, VF) } }), ce } function An(ve) { Dt(ve); let nt = v; pn(g.get(ve), h0) && v && !nt && e.onChangedAutomaticTypeDirectiveNames() } function Kn(ve) { L.assert(s === ve || s === void 0), s = ve } function hi(ve, nt) { if (nt) (C || (C = new Set)).add(ve); else { let ce = Dq(ve); if (!ce || (ve = ce, e.fileIsOpen(ve))) return !1; let Q = ni(ve); if (We(ve) || H8(ve) || We(Q) || H8(Q)) (A || (A = new Set)).add(ve), (w || (w = new Set)).add(ve); else { if (!Qt(ve) && !ie.has(ve) || Bpe(e.getCurrentProgram(), ve)) return !1; (A || (A = new Set)).add(ve); let ue = XJ(ve); ue && (w || (w = new Set)).add(ue) } } e.scheduleInvalidateResolutionsOfFailedLookupLocations() } function ri() { var ve; let nt = !1; if (S && ((ve = e.getCurrentProgram()) == null || ve.getSourceFiles().forEach(Q => { vt(Q.packageJsonLocations, ue => S.has(ue)) && ((o ?? (o = new Set)).add(Q.path), nt = !0) }), S = void 0), !A && !w && !C && !x) return nt; nt = pn(f, vn) || nt; let ce = q.getPackageJsonInfoCache().getInternalMap(); return ce && (A || w || C) && ce.forEach((Q, ue) => Ht(ue) ? ce.delete(ue) : void 0), A = void 0, w = void 0, C = void 0, nt = pn(d, En) || nt, x = void 0, nt } function vn(ve) { var nt; return En(ve) ? !0 : !A && !w && !C ? !1 : (nt = ve.failedLookupLocations) == null ? void 0 : nt.some(ce => Ht(e.toPath(ce))) } function Ht(ve) { return A?.has(ve) || FD(w?.keys() || [], nt => na(ve, nt) ? !0 : void 0) || FD(C?.keys() || [], nt => X(nt, ve) ? !0 : void 0) } function En(ve) { var nt; return !!x && ((nt = ve.affectingLocations) == null ? void 0 : nt.some(ce => x.has(ce))) } function dr() { Tf(le, am) } function Cr(ve, nt) { if (X(U, nt)) return U; let ce = zt(ve, nt); return ce && $.has(ce.dirPath) ? ce.dirPath : void 0 } function Se(ve, nt) { return e.watchTypeRootsDirectory(nt, ce => { let Q = e.toPath(ce); F && F.addOrDeleteFileOrDirectory(ce, Q), v = !0, e.onChangedAutomaticTypeDirectiveNames(); let ue = Cr(nt, ve); ue && hi(Q, ue === Q) }, 1) } function at() { let ve = e.getCompilationSettings(); if (ve.types) { dr(); return } let nt = XO(ve, { directoryExists: Tt, getCurrentDirectory: P }); nt ? e2(le, p0(nt, ce => e.toPath(ce)), { createNewValue: Se, onDeleteValue: am }) : dr() } function Tt(ve) { let nt = ni(ni(ve)), ce = e.toPath(nt); return ce === U || vN(ce) } } function A8e(e) { var t, r; return !!((t = e.resolvedModule) != null && t.originalPath || (r = e.resolvedTypeReferenceDirective) != null && r.originalPath) } var C8e = gt({ "src/compiler/resolutionCache.ts"() { "use strict"; fa(), fa() } }); function bN(e, t) { let r = e === xl && Vq ? Vq : { getCurrentDirectory: () => e.getCurrentDirectory(), getNewLine: () => e.newLine, getCanonicalFileName: Dl(e.useCaseSensitiveFileNames) }; if (!t) return o => e.write(rq(o, r)); let i = new Array(1); return o => { i[0] = o, e.write(Jpe(i, r) + r.getNewLine()), i[0] = void 0 } } function _me(e, t, r) { return e.clearScreen && !r.preserveWatchOutput && !r.extendedDiagnostics && !r.diagnostics && ya($F, t.code) ? (e.clearScreen(), !0) : !1 } function I8e(e, t) { return ya($F, e.code) ? t + t : t } function EN(e) { return e.now ? e.now().toLocaleTimeString("en-US", { timeZone: "UTC" }).replace("\u202F", " ") : new Date().toLocaleTimeString() } function pme(e, t) { return t ? (r, i, o) => { _me(e, r, o); let s = `[${iE(EN(e), "\x1B[90m")}] `; s += `${sv(r.messageText, e.newLine)}${i + i}`, e.write(s) } : (r, i, o) => { let s = ""; _me(e, r, o) || (s += i), s += `${EN(e)} - `, s += `${sv(r.messageText, e.newLine)}${I8e(r, i)}`, e.write(s) } } function L8e(e, t, r, i, o, s) { let l = o; l.onUnRecoverableConfigFileDiagnostic = d => Eme(o, s, d); let f = RO(e, t, l, r, i); return l.onUnRecoverableConfigFileDiagnostic = void 0, f } function JF(e) { return Oy(e, t => t.category === 1) } function KF(e) { return Pr(e, r => r.category === 1).map(r => { if (r.file !== void 0) return `${r.file.fileName}` }).map(r => { if (r === void 0) return; let i = wr(e, o => o.file !== void 0 && o.file.fileName === r); if (i !== void 0) { let { line: o } = Gs(i.file, i.start); return { fileName: r, line: o + 1 } } }) } function wq(e) { return e === 1 ? _.Found_1_error_Watching_for_file_changes : _.Found_0_errors_Watching_for_file_changes } function mme(e, t) { let r = iE(":" + e.line, "\x1B[90m"); return nI(e.fileName) && nI(t) ? Xp(t, e.fileName, !1) + r : e.fileName + r } function hme(e, t, r, i) { if (e === 0) return ""; let o = t.filter(g => g !== void 0), s = o.map(g => `${g.fileName}:${g.line}`).filter((g, m, v) => v.indexOf(g) === m), l = o[0] && mme(o[0], i.getCurrentDirectory()), f = e === 1 ? ps(t[0] !== void 0 ? _.Found_1_error_in_1 : _.Found_1_error, e, l) : ps(s.length === 0 ? _.Found_0_errors : s.length === 1 ? _.Found_0_errors_in_the_same_file_starting_at_Colon_1 : _.Found_0_errors_in_1_files, e, s.length === 1 ? l : s.length), d = s.length > 1 ? k8e(o, i) : ""; return `${r}${sv(f.messageText, r)}${r}${r}${d}` } function k8e(e, t) {
-                let r = e.filter((v, S, x) => S === x.findIndex(A => A?.fileName === v?.fileName)); if (r.length === 0) return ""; let i = v => Math.log(v) * Math.LOG10E + 1, o = r.map(v => [v, Oy(e, S => S.fileName === v.fileName)]), s = o.reduce((v, S) => Math.max(v, S[1] || 0), 0), l = _.Errors_Files.message, f = l.split(" ")[0].length, d = Math.max(f, i(s)), g = Math.max(i(s) - f, 0), m = ""; return m += " ".repeat(g) + l + `
-`, o.forEach(v => {
-                    let [S, x] = v, A = Math.log(x) * Math.LOG10E + 1 | 0, w = A < d ? " ".repeat(d - A) : "", C = mme(S, t.getCurrentDirectory()); m += `${w}${x}  ${C}
-`}), m
-            } function gme(e) { return !!e.getState } function Rq(e, t) { let r = e.getCompilerOptions(); r.explainFiles ? yme(gme(e) ? e.getProgram() : e, t) : (r.listFiles || r.listFilesOnly) && mn(e.getSourceFiles(), i => { t(i.fileName) }) } function yme(e, t) { var r, i; let o = e.getFileIncludeReasons(), s = l => rI(l, e.getCurrentDirectory(), e.getCanonicalFileName); for (let l of e.getSourceFiles()) t(`${XS(l, s)}`), (r = o.get(l.path)) == null || r.forEach(f => t(`  ${Mq(e, f, s).messageText}`)), (i = Oq(l, s)) == null || i.forEach(f => t(`  ${f.messageText}`)) } function Oq(e, t) { var r; let i; if (e.path !== e.resolvedPath && (i ?? (i = [])).push(da(void 0, _.File_is_output_of_project_reference_source_0, XS(e.originalFileName, t))), e.redirectInfo && (i ?? (i = [])).push(da(void 0, _.File_redirects_to_file_0, XS(e.redirectInfo.redirectTarget, t))), kd(e)) switch (e.impliedNodeFormat) { case 99: e.packageJsonScope && (i ?? (i = [])).push(da(void 0, _.File_is_ECMAScript_module_because_0_has_field_type_with_value_module, XS(To(e.packageJsonLocations), t))); break; case 1: e.packageJsonScope ? (i ?? (i = [])).push(da(void 0, e.packageJsonScope.contents.packageJsonContent.type ? _.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : _.File_is_CommonJS_module_because_0_does_not_have_field_type, XS(To(e.packageJsonLocations), t))) : (r = e.packageJsonLocations) != null && r.length && (i ?? (i = [])).push(da(void 0, _.File_is_CommonJS_module_because_package_json_was_not_found)); break }return i } function Nq(e, t) { var r; let i = e.getCompilerOptions().configFile; if (!((r = i?.configFileSpecs) != null && r.validatedFilesSpec)) return; let o = e.getCanonicalFileName(t), s = ni(_a(i.fileName, e.getCurrentDirectory())); return wr(i.configFileSpecs.validatedFilesSpec, l => e.getCanonicalFileName(_a(l, s)) === o) } function Pq(e, t) { var r, i; let o = e.getCompilerOptions().configFile; if (!((r = o?.configFileSpecs) != null && r.validatedIncludeSpecs)) return; if (o.configFileSpecs.isDefaultIncludeSpec) return !0; let s = Gc(t, ".json"), l = ni(_a(o.fileName, e.getCurrentDirectory())), f = e.useCaseSensitiveFileNames(); return wr((i = o?.configFileSpecs) == null ? void 0 : i.validatedIncludeSpecs, d => { if (s && !Oc(d, ".json")) return !1; let g = kW(d, l, "files"); return !!g && Qy(`(${g})$`, f).test(t) }) } function Mq(e, t, r) { var i, o; let s = e.getCompilerOptions(); if (vb(t)) { let l = YL(g => e.getSourceFileByPath(g), t), f = F2(l) ? l.file.text.substring(l.pos, l.end) : `"${l.text}"`, d; switch (L.assert(F2(l) || t.kind === 3, "Only synthetic references are imports"), t.kind) { case 3: F2(l) ? d = l.packageId ? _.Imported_via_0_from_file_1_with_packageId_2 : _.Imported_via_0_from_file_1 : l.text === _b ? d = l.packageId ? _.Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions : _.Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions : d = l.packageId ? _.Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions : _.Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions; break; case 4: L.assert(!l.packageId), d = _.Referenced_via_0_from_file_1; break; case 5: d = l.packageId ? _.Type_library_referenced_via_0_from_file_1_with_packageId_2 : _.Type_library_referenced_via_0_from_file_1; break; case 7: L.assert(!l.packageId), d = _.Library_referenced_via_0_from_file_1; break; default: L.assertNever(t) }return da(void 0, d, f, XS(l.file, r), l.packageId && hT(l.packageId)) } switch (t.kind) { case 0: if (!((i = s.configFile) != null && i.configFileSpecs)) return da(void 0, _.Root_file_specified_for_compilation); let l = _a(e.getRootFileNames()[t.index], e.getCurrentDirectory()); if (Nq(e, l)) return da(void 0, _.Part_of_files_list_in_tsconfig_json); let d = Pq(e, l); return Ta(d) ? da(void 0, _.Matched_by_include_pattern_0_in_1, d, XS(s.configFile, r)) : da(void 0, d ? _.Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk : _.Root_file_specified_for_compilation); case 1: case 2: let g = t.kind === 2, m = L.checkDefined((o = e.getResolvedProjectReferences()) == null ? void 0 : o[t.index]); return da(void 0, Ss(s) ? g ? _.Output_from_referenced_project_0_included_because_1_specified : _.Source_from_referenced_project_0_included_because_1_specified : g ? _.Output_from_referenced_project_0_included_because_module_is_specified_as_none : _.Source_from_referenced_project_0_included_because_module_is_specified_as_none, XS(m.sourceFile.fileName, r), s.outFile ? "--outFile" : "--out"); case 8: return da(void 0, s.types ? t.packageId ? _.Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1 : _.Entry_point_of_type_library_0_specified_in_compilerOptions : t.packageId ? _.Entry_point_for_implicit_type_library_0_with_packageId_1 : _.Entry_point_for_implicit_type_library_0, t.typeReference, t.packageId && hT(t.packageId)); case 6: if (t.index !== void 0) return da(void 0, _.Library_0_specified_in_compilerOptions, s.lib[t.index]); let v = Ld(zO.type, (S, x) => S === Do(s) ? x : void 0); return da(void 0, v ? _.Default_library_for_target_0 : _.Default_library, v); default: L.assertNever(t) } } function XS(e, t) { let r = Ta(e) ? e : e.fileName; return t ? t(r) : r } function qF(e, t, r, i, o, s, l, f) { let d = !!e.getCompilerOptions().listFilesOnly, g = e.getConfigFileParsingDiagnostics().slice(), m = g.length; si(g, e.getSyntacticDiagnostics(void 0, s)), g.length === m && (si(g, e.getOptionsDiagnostics(s)), d || (si(g, e.getGlobalDiagnostics(s)), g.length === m && si(g, e.getSemanticDiagnostics(void 0, s)))); let v = d ? { emitSkipped: !0, diagnostics: Je } : e.emit(void 0, o, s, l, f), { emittedFiles: S, diagnostics: x } = v; si(g, x); let A = vA(g); if (A.forEach(t), r) { let w = e.getCurrentDirectory(); mn(S, C => { let P = _a(C, w); r(`TSFILE: ${P}`) }), Rq(e, r) } return i && i(JF(A), KF(A)), { emitResult: v, diagnostics: A } } function vme(e, t, r, i, o, s, l, f) { let { emitResult: d, diagnostics: g } = qF(e, t, r, i, o, s, l, f); return d.emitSkipped && g.length > 0 ? 1 : g.length > 0 ? 2 : 0 } function Fq(e = xl, t) { return { onWatchStatusChange: t || pme(e), watchFile: ho(e, e.watchFile) || TN, watchDirectory: ho(e, e.watchDirectory) || TN, setTimeout: ho(e, e.setTimeout) || Ba, clearTimeout: ho(e, e.clearTimeout) || Ba } } function Gq(e, t) { let r = e.trace ? t.extendedDiagnostics ? 2 : t.diagnostics ? 1 : 0 : 0, i = r !== 0 ? s => e.trace(s) : Ba, o = Upe(e, r, i); return o.writeLog = i, o } function Bq(e, t, r = e) { let i = e.useCaseSensitiveFileNames(), o = { getSourceFile: eq((s, l) => l ? e.readFile(s, l) : o.readFile(s), t, void 0), getDefaultLibLocation: ho(e, e.getDefaultLibLocation), getDefaultLibFileName: s => e.getDefaultLibFileName(s), writeFile: tq((s, l, f) => e.writeFile(s, l, f), s => e.createDirectory(s), s => e.directoryExists(s)), getCurrentDirectory: zu(() => e.getCurrentDirectory()), useCaseSensitiveFileNames: () => i, getCanonicalFileName: Dl(i), getNewLine: () => db(t()), fileExists: s => e.fileExists(s), readFile: s => e.readFile(s), trace: ho(e, e.trace), directoryExists: ho(r, r.directoryExists), getDirectories: ho(r, r.getDirectories), realpath: ho(e, e.realpath), getEnvironmentVariable: ho(e, e.getEnvironmentVariable) || (() => ""), createHash: ho(e, e.createHash), readDirectory: ho(e, e.readDirectory), storeFilesChangingSignatureDuringEmit: e.storeFilesChangingSignatureDuringEmit }; return o } function XF(e, t) { if (t.match(TK)) { let r = t.length, i = r; for (let o = r - 1; o >= 0; o--) { let s = t.charCodeAt(o); switch (s) { case 10: o && t.charCodeAt(o - 1) === 13 && o--; case 13: break; default: if (s < 127 || !Wl(s)) { i = o; continue } break }let l = t.substring(i, r); if (l.match(hF)) { t = t.substring(0, i); break } else if (!l.match(gF)) break; r = i } } return (e.createHash || aw)(t) } function YF(e) { let t = e.getSourceFile; e.getSourceFile = (...r) => { let i = t.call(e, ...r); return i && (i.version = XF(e, i.text)), i } } function Uq(e, t) { let r = zu(() => ni(So(e.getExecutingFilePath()))); return { useCaseSensitiveFileNames: () => e.useCaseSensitiveFileNames, getNewLine: () => e.newLine, getCurrentDirectory: zu(() => e.getCurrentDirectory()), getDefaultLibLocation: r, getDefaultLibFileName: i => vi(r(), X8(i)), fileExists: i => e.fileExists(i), readFile: (i, o) => e.readFile(i, o), directoryExists: i => e.directoryExists(i), getDirectories: i => e.getDirectories(i), readDirectory: (i, o, s, l, f) => e.readDirectory(i, o, s, l, f), realpath: ho(e, e.realpath), getEnvironmentVariable: ho(e, e.getEnvironmentVariable), trace: i => e.write(i + e.newLine), createDirectory: i => e.createDirectory(i), writeFile: (i, o, s) => e.writeFile(i, o, s), createHash: ho(e, e.createHash), createProgram: t || kq, storeFilesChangingSignatureDuringEmit: e.storeFilesChangingSignatureDuringEmit, now: ho(e, e.now) } } function bme(e = xl, t, r, i) { let o = l => e.write(l + e.newLine), s = Uq(e, t); return jU(s, Fq(e, i)), s.afterProgramCreate = l => { let f = l.getCompilerOptions(), d = db(f); qF(l, r, o, g => s.onWatchStatusChange(ps(wq(g), g), d, f, g)) }, s } function Eme(e, t, r) { t(r), e.exit(1) } function Tme({ configFileName: e, optionsToExtend: t, watchOptionsToExtend: r, extraFileExtensions: i, system: o, createProgram: s, reportDiagnostic: l, reportWatchStatus: f }) { let d = l || bN(o), g = bme(o, s, d, f); return g.onUnRecoverableConfigFileDiagnostic = m => Eme(o, d, m), g.configFileName = e, g.optionsToExtend = t, g.watchOptionsToExtend = r, g.extraFileExtensions = i, g } function Sme({ rootFiles: e, options: t, watchOptions: r, projectReferences: i, system: o, createProgram: s, reportDiagnostic: l, reportWatchStatus: f }) { let d = bme(o, s, l || bN(o), f); return d.rootFiles = e, d.options = t, d.watchOptions = r, d.projectReferences = i, d } function D8e(e) { let t = e.system || xl, r = e.host || (e.host = jq(e.options, t)), i = xme(e), o = vme(i, e.reportDiagnostic || bN(t), s => r.trace && r.trace(s), e.reportErrorSummary || e.options.pretty ? (s, l) => t.write(hme(s, l, t.newLine, r)) : void 0); return e.afterProgramEmitAndDiagnostics && e.afterProgramEmitAndDiagnostics(i), o } var Vq, $F, B2, TN, Hf, w8e = gt({ "src/compiler/watch.ts"() { "use strict"; fa(), Vq = xl ? { getCurrentDirectory: () => xl.getCurrentDirectory(), getNewLine: () => xl.newLine, getCanonicalFileName: Dl(xl.useCaseSensitiveFileNames) } : void 0, $F = [_.Starting_compilation_in_watch_mode.code, _.File_change_detected_Starting_incremental_compilation.code], B2 = { close: Ba }, TN = () => B2, Hf = { ConfigFile: "Config file", ExtendedConfigFile: "Extended config file", SourceFile: "Source file", MissingFile: "Missing file", WildcardDirectory: "Wild card directory", FailedLookupLocations: "Failed Lookup Locations", AffectingFileLocation: "File location affecting resolution", TypeRoots: "Type roots", ConfigFileOfReferencedProject: "Config file of referened project", ExtendedConfigOfReferencedProject: "Extended config file of referenced project", WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project", PackageJson: "package.json file", ClosedScriptInfo: "Closed Script info", ConfigFileForInferredRoot: "Config file for the inferred project root", NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache", MissingSourceMapFile: "Missing source map file", NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root", MissingGeneratedFile: "Missing generated file", NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation" } } }); function QF(e, t) { let r = Jg(e); if (!r) return; let i; if (t.getBuildInfo) i = t.getBuildInfo(r, e.configFilePath); else { let o = t.readFile(r); if (!o) return; i = IF(r, o) } if (!(!i || i.version !== Rf || !i.program)) return dme(i, r, t) } function jq(e, t = xl) { let r = nq(e, void 0, t); return r.createHash = ho(t, t.createHash), r.storeFilesChangingSignatureDuringEmit = t.storeFilesChangingSignatureDuringEmit, YF(r), pN(r, i => Ts(i, r.getCurrentDirectory(), r.getCanonicalFileName)), r } function xme({ rootNames: e, options: t, configFileParsingDiagnostics: r, projectReferences: i, host: o, createProgram: s }) { o = o || jq(t), s = s || kq; let l = QF(t, o); return s(e, t, o, l, r, i) } function R8e(e, t, r, i, o, s, l, f) { return ba(e) ? Sme({ rootFiles: e, options: t, watchOptions: f, projectReferences: l, system: r, createProgram: i, reportDiagnostic: o, reportWatchStatus: s }) : Tme({ configFileName: e, optionsToExtend: t, watchOptionsToExtend: l, extraFileExtensions: f, system: r, createProgram: i, reportDiagnostic: o, reportWatchStatus: s }) } function O8e(e) { let t, r, i, o, s, l, f, d, g = e.extendedConfigCache, m = !1, v = new Map, S, x = !1, A = e.useCaseSensitiveFileNames(), w = e.getCurrentDirectory(), { configFileName: C, optionsToExtend: P = {}, watchOptionsToExtend: F, extraFileExtensions: B, createProgram: q } = e, { rootFiles: W, options: Y, watchOptions: R, projectReferences: ie } = e, $, fe, Z = !1, U = !1, re = C === void 0 ? void 0 : Mpe(e, w, A), le = re || e, _e = FF(e, le), ge = zt(); C && e.configFileParsingResult && (En(e.configFileParsingResult), ge = zt()), Pi(_.Starting_compilation_in_watch_mode), C && !e.configFileParsingResult && (ge = db(P), L.assert(!W), Ht(), ge = zt()), L.assert(Y), L.assert(W); let { watchFile: X, watchDirectory: Ve, writeLog: we } = Gq(e, Y), ke = Dl(A); we(`Current directory: ${w} CaseSensitiveFileNames: ${A}`); let Pe; C && (Pe = X(C, An, 2e3, R, Hf.ConfigFile)); let Ce = Bq(e, () => Y, le); YF(Ce); let Ie = Ce.getSourceFile; Ce.getSourceFile = (je, ...Ge) => Gt(je, Qt(je), ...Ge), Ce.getSourceFileByPath = Gt, Ce.getNewLine = () => ge, Ce.fileExists = _n, Ce.onReleaseOldSourceFile = Ni, Ce.onReleaseParsedCommandLine = Se, Ce.toPath = Qt, Ce.getCompilationSettings = () => Y, Ce.useSourceOfProjectReferenceRedirect = ho(e, e.useSourceOfProjectReferenceRedirect), Ce.watchDirectoryOfFailedLookupLocation = (je, Ge, kt) => Ve(je, Ge, kt, R, Hf.FailedLookupLocations), Ce.watchAffectingFileLocation = (je, Ge) => X(je, Ge, 2e3, R, Hf.AffectingFileLocation), Ce.watchTypeRootsDirectory = (je, Ge, kt) => Ve(je, Ge, kt, R, Hf.TypeRoots), Ce.getCachedDirectoryStructureHost = () => re, Ce.scheduleInvalidateResolutionsOfFailedLookupLocations = nn, Ce.onInvalidatedResolution = pn, Ce.onChangedAutomaticTypeDirectiveNames = pn, Ce.fileIsOpen = m0, Ce.getCurrentProgram = ct, Ce.writeLog = we, Ce.getParsedCommandLine = dr; let Be = fme(Ce, C ? ni(_a(C, w)) : w, !1); Ce.resolveModuleNameLiterals = ho(e, e.resolveModuleNameLiterals), Ce.resolveModuleNames = ho(e, e.resolveModuleNames), !Ce.resolveModuleNameLiterals && !Ce.resolveModuleNames && (Ce.resolveModuleNameLiterals = Be.resolveModuleNameLiterals.bind(Be)), Ce.resolveTypeReferenceDirectiveReferences = ho(e, e.resolveTypeReferenceDirectiveReferences), Ce.resolveTypeReferenceDirectives = ho(e, e.resolveTypeReferenceDirectives), !Ce.resolveTypeReferenceDirectiveReferences && !Ce.resolveTypeReferenceDirectives && (Ce.resolveTypeReferenceDirectiveReferences = Be.resolveTypeReferenceDirectiveReferences.bind(Be)), Ce.getModuleResolutionCache = e.resolveModuleNameLiterals || e.resolveModuleNames ? ho(e, e.getModuleResolutionCache) : () => Be.getModuleResolutionCache(); let Le = !!e.resolveModuleNameLiterals || !!e.resolveTypeReferenceDirectiveReferences || !!e.resolveModuleNames || !!e.resolveTypeReferenceDirectives ? ho(e, e.hasInvalidatedResolutions) || h0 : m0; return t = QF(Y, Ce), Rt(), Q(), C && G(Qt(C), Y, R, Hf.ExtendedConfigFile), C ? { getCurrentProgram: _t, getProgram: hi, close: Ye } : { getCurrentProgram: _t, getProgram: hi, updateRootFileNames: qe, close: Ye }; function Ye() { pt(), Be.clear(), Tf(v, je => { je && je.fileWatcher && (je.fileWatcher.close(), je.fileWatcher = void 0) }), Pe && (Pe.close(), Pe = void 0), g?.clear(), g = void 0, d && (Tf(d, _m), d = void 0), o && (Tf(o, _m), o = void 0), i && (Tf(i, am), i = void 0), f && (Tf(f, je => { var Ge; (Ge = je.watcher) == null || Ge.close(), je.watcher = void 0, je.watchedDirectories && Tf(je.watchedDirectories, _m), je.watchedDirectories = void 0 }), f = void 0) } function _t() { return t } function ct() { return t && t.getProgramOrUndefined() } function Rt() { we("Synchronizing program"), L.assert(Y), L.assert(W), pt(); let je = _t(); x && (ge = zt(), je && eH(je.getCompilerOptions(), Y) && Be.clear()); let Ge = Be.createHasInvalidatedResolutions(Le), { originalReadFile: kt, originalFileExists: Kt, originalDirectoryExists: ln, originalCreateDirectory: ir, originalWriteFile: ae, readFileWithCache: rt } = pN(Ce, Qt); return lq(ct(), W, Y, Ot => ui(Ot, rt), Ot => Ce.fileExists(Ot), Ge, gr, dr, ie) ? U && (m && Pi(_.File_change_detected_Starting_incremental_compilation), t = q(void 0, void 0, Ce, t, fe, ie), U = !1) : (m && Pi(_.File_change_detected_Starting_incremental_compilation), We(Ge)), m = !1, e.afterProgramCreate && je !== t && e.afterProgramCreate(t), Ce.readFile = kt, Ce.fileExists = Kt, Ce.directoryExists = ln, Ce.createDirectory = ir, Ce.writeFile = ae, t } function We(je) { we("CreatingProgramWith::"), we(`  roots: ${JSON.stringify(W)}`), we(`  options: ${JSON.stringify(Y)}`), ie && we(`  projectReferences: ${JSON.stringify(ie)}`); let Ge = x || !ct(); x = !1, U = !1, Be.startCachingPerDirectoryResolution(), Ce.hasInvalidatedResolutions = je, Ce.hasChangedAutomaticTypeDirectiveNames = gr; let kt = ct(); if (t = q(W, Y, Ce, t, fe, ie), Be.finishCachingPerDirectoryResolution(t.getProgram(), kt), Gpe(t.getProgram(), i || (i = new Map), nt), Ge && Be.updateTypeRootsWatch(), S) { for (let Kt of S) i.has(Kt) || v.delete(Kt); S = void 0 } } function qe(je) { L.assert(!C, "Cannot update root file names with config file watch mode"), W = je, pn() } function zt() { return db(Y || P) } function Qt(je) { return Ts(je, w, ke) } function tn(je) { return typeof je == "boolean" } function kn(je) { return typeof je.version == "boolean" } function _n(je) { let Ge = Qt(je); return tn(v.get(Ge)) ? !1 : le.fileExists(je) } function Gt(je, Ge, kt, Kt, ln) { let ir = v.get(Ge); if (!tn(ir)) { if (ir === void 0 || ln || kn(ir)) { let ae = Ie(je, kt, Kt); if (ir) ae ? (ir.sourceFile = ae, ir.version = ae.version, ir.fileWatcher || (ir.fileWatcher = at(Ge, je, Tt, 250, R, Hf.SourceFile))) : (ir.fileWatcher && ir.fileWatcher.close(), v.set(Ge, !1)); else if (ae) { let rt = at(Ge, je, Tt, 250, R, Hf.SourceFile); v.set(Ge, { sourceFile: ae, version: ae.version, fileWatcher: rt }) } else v.set(Ge, !1); return ae } return ir.sourceFile } } function $n(je) { let Ge = v.get(je); Ge !== void 0 && (tn(Ge) ? v.set(je, { version: !1 }) : Ge.version = !1) } function ui(je, Ge) { let kt = v.get(je); if (!kt) return; if (kt.version) return kt.version; let Kt = Ge(je); return Kt !== void 0 ? XF(Ce, Kt) : void 0 } function Ni(je, Ge, kt) { let Kt = v.get(je.resolvedPath); Kt !== void 0 && (tn(Kt) ? (S || (S = [])).push(je.path) : Kt.sourceFile === je && (Kt.fileWatcher && Kt.fileWatcher.close(), v.delete(je.resolvedPath), kt || Be.removeResolutionsOfFile(je.path))) } function Pi(je) { e.onWatchStatusChange && e.onWatchStatusChange(ps(je), ge, Y || P) } function gr() { return Be.hasChangedAutomaticTypeDirectiveNames() } function pt() { return l ? (e.clearTimeout(l), l = void 0, !0) : !1 } function nn() { if (!e.setTimeout || !e.clearTimeout) return Be.invalidateResolutionsOfFailedLookupLocations(); let je = pt(); we(`Scheduling invalidateFailedLookup${je ? ", Cancelled earlier one" : ""}`), l = e.setTimeout(Dt, 250) } function Dt() { l = void 0, Be.invalidateResolutionsOfFailedLookupLocations() && pn() } function pn() { !e.setTimeout || !e.clearTimeout || (s && e.clearTimeout(s), we("Scheduling update"), s = e.setTimeout(Kn, 250)) } function An() { L.assert(!!C), r = 2, pn() } function Kn() { s = void 0, m = !0, hi() } function hi() { switch (r) { case 1: fp.logStartUpdateProgram("PartialConfigReload"), ri(); break; case 2: fp.logStartUpdateProgram("FullConfigReload"), vn(); break; default: fp.logStartUpdateProgram("SynchronizeProgram"), Rt(); break }return fp.logStopUpdateProgram("Done"), _t() } function ri() { we("Reloading new file names and options"), L.assert(Y), L.assert(C), r = 0, W = BO(Y.configFile.configFileSpecs, _a(ni(C), w), Y, _e, B), CJ(W, _a(C, w), Y.configFile.configFileSpecs, fe, Z) && (U = !0), Rt() } function vn() { L.assert(C), we(`Reloading config file: ${C}`), r = 0, re && re.clearCache(), Ht(), x = !0, Rt(), Q(), G(Qt(C), Y, R, Hf.ExtendedConfigFile) } function Ht() { L.assert(C), En(RO(C, P, _e, g || (g = new Map), F, B)) } function En(je) { W = je.fileNames, Y = je.options, R = je.watchOptions, ie = je.projectReferences, $ = je.wildcardDirectories, fe = XT(je).slice(), Z = FO(je.raw), U = !0 } function dr(je) { let Ge = Qt(je), kt = f?.get(Ge); if (kt) { if (!kt.reloadLevel) return kt.parsedCommandLine; if (kt.parsedCommandLine && kt.reloadLevel === 1 && !e.getParsedCommandLine) { we("Reloading new file names and options"), L.assert(Y); let ln = BO(kt.parsedCommandLine.options.configFile.configFileSpecs, _a(ni(je), w), Y, _e); return kt.parsedCommandLine = { ...kt.parsedCommandLine, fileNames: ln }, kt.reloadLevel = void 0, kt.parsedCommandLine } } we(`Loading config file: ${je}`); let Kt = e.getParsedCommandLine ? e.getParsedCommandLine(je) : Cr(je); return kt ? (kt.parsedCommandLine = Kt, kt.reloadLevel = void 0) : (f || (f = new Map)).set(Ge, kt = { parsedCommandLine: Kt }), Oe(je, Ge, kt), Kt } function Cr(je) { let Ge = _e.onUnRecoverableConfigFileDiagnostic; _e.onUnRecoverableConfigFileDiagnostic = Ba; let kt = RO(je, void 0, _e, g || (g = new Map), F); return _e.onUnRecoverableConfigFileDiagnostic = Ge, kt } function Se(je) { var Ge; let kt = Qt(je), Kt = f?.get(kt); Kt && (f.delete(kt), Kt.watchedDirectories && Tf(Kt.watchedDirectories, _m), (Ge = Kt.watcher) == null || Ge.close(), Fpe(kt, d)) } function at(je, Ge, kt, Kt, ln, ir) { return X(Ge, (ae, rt) => kt(ae, rt, je), Kt, ln, ir) } function Tt(je, Ge, kt) { ve(je, kt, Ge), Ge === 2 && v.has(kt) && Be.invalidateResolutionOfFile(kt), $n(kt), pn() } function ve(je, Ge, kt) { re && re.addOrDeleteFile(je, Ge, kt) } function nt(je) { return f?.has(je) ? B2 : at(je, je, ce, 500, R, Hf.MissingFile) } function ce(je, Ge, kt) { ve(je, kt, Ge), Ge === 0 && i.has(kt) && (i.get(kt).close(), i.delete(kt), $n(kt), pn()) } function Q() { $ ? kF(o || (o = new Map), new Map(Object.entries($)), ue) : o && Tf(o, _m) } function ue(je, Ge) { return Ve(je, kt => { L.assert(C), L.assert(Y); let Kt = Qt(kt); re && re.addOrDeleteFileOrDirectory(kt, Kt), $n(Kt), !DF({ watchedDirPath: Qt(je), fileOrDirectory: kt, fileOrDirectoryPath: Kt, configFileName: C, extraFileExtensions: B, options: Y, program: _t() || W, currentDirectory: w, useCaseSensitiveFileNames: A, writeLog: we, toPath: Qt }) && r !== 2 && (r = 1, pn()) }, Ge, R, Hf.WildcardDirectory) } function G(je, Ge, kt, Kt) { L.assert(C), YK(je, Ge, d || (d = new Map), (ln, ir) => X(ln, (ae, rt) => { var Ot; ve(ln, ir, rt), g && $K(g, ir, Qt); let Ke = (Ot = d.get(ir)) == null ? void 0 : Ot.projects; Ke?.size && Ke.forEach(oe => { if (Qt(C) === oe) r = 2; else { let pe = f?.get(oe); pe && (pe.reloadLevel = 2), Be.removeResolutionsFromProjectReferenceRedirects(oe) } pn() }) }, 2e3, kt, Kt), Qt) } function Oe(je, Ge, kt) { var Kt, ln, ir, ae, rt; kt.watcher || (kt.watcher = X(je, (Ot, Ke) => { ve(je, Ge, Ke); let oe = f?.get(Ge); oe && (oe.reloadLevel = 2), Be.removeResolutionsFromProjectReferenceRedirects(Ge), pn() }, 2e3, ((Kt = kt.parsedCommandLine) == null ? void 0 : Kt.watchOptions) || R, Hf.ConfigFileOfReferencedProject)), (ln = kt.parsedCommandLine) != null && ln.wildcardDirectories ? kF(kt.watchedDirectories || (kt.watchedDirectories = new Map), new Map(Object.entries((ir = kt.parsedCommandLine) == null ? void 0 : ir.wildcardDirectories)), (Ot, Ke) => { var oe; return Ve(Ot, pe => { let z = Qt(pe); re && re.addOrDeleteFileOrDirectory(pe, z), $n(z); let Te = f?.get(Ge); Te?.parsedCommandLine && (DF({ watchedDirPath: Qt(Ot), fileOrDirectory: pe, fileOrDirectoryPath: z, configFileName: je, options: Te.parsedCommandLine.options, program: Te.parsedCommandLine.fileNames, currentDirectory: w, useCaseSensitiveFileNames: A, writeLog: we, toPath: Qt }) || Te.reloadLevel !== 2 && (Te.reloadLevel = 1, pn())) }, Ke, ((oe = kt.parsedCommandLine) == null ? void 0 : oe.watchOptions) || R, Hf.WildcardDirectoryOfReferencedProject) }) : kt.watchedDirectories && (Tf(kt.watchedDirectories, _m), kt.watchedDirectories = void 0), G(Ge, (ae = kt.parsedCommandLine) == null ? void 0 : ae.options, ((rt = kt.parsedCommandLine) == null ? void 0 : rt.watchOptions) || R, Hf.ExtendedConfigOfReferencedProject) } } var N8e = gt({ "src/compiler/watchPublic.ts"() { "use strict"; fa(), fa() } }); function Hq(e) { return Gc(e, ".json") ? e : vi(e, "tsconfig.json") } var Wq, P8e = gt({ "src/compiler/tsbuild.ts"() { "use strict"; fa(), Wq = (e => (e[e.Unbuildable = 0] = "Unbuildable", e[e.UpToDate = 1] = "UpToDate", e[e.UpToDateWithUpstreamTypes = 2] = "UpToDateWithUpstreamTypes", e[e.OutOfDateWithPrepend = 3] = "OutOfDateWithPrepend", e[e.OutputMissing = 4] = "OutputMissing", e[e.ErrorReadingFile = 5] = "ErrorReadingFile", e[e.OutOfDateWithSelf = 6] = "OutOfDateWithSelf", e[e.OutOfDateWithUpstream = 7] = "OutOfDateWithUpstream", e[e.OutOfDateBuildInfo = 8] = "OutOfDateBuildInfo", e[e.OutOfDateOptions = 9] = "OutOfDateOptions", e[e.OutOfDateRoots = 10] = "OutOfDateRoots", e[e.UpstreamOutOfDate = 11] = "UpstreamOutOfDate", e[e.UpstreamBlocked = 12] = "UpstreamBlocked", e[e.ComputingUpstream = 13] = "ComputingUpstream", e[e.TsVersionOutputOfDate = 14] = "TsVersionOutputOfDate", e[e.UpToDateWithInputFileText = 15] = "UpToDateWithInputFileText", e[e.ContainerOnly = 16] = "ContainerOnly", e[e.ForceBuild = 17] = "ForceBuild", e))(Wq || {}) } }); function M8e(e, t, r) { let i = e.get(t), o; return i || (o = r(), e.set(t, o)), i || o } function zq(e, t) { return M8e(e, t, () => new Map) } function SN(e) { return e.now ? e.now() : new Date } function YS(e) { return !!e && !!e.buildOrder } function ZF(e) { return YS(e) ? e.buildOrder : e } function Ame(e, t) { return r => { let i = t ? `[${iE(EN(e), "\x1B[90m")}] ` : `${EN(e)} - `; i += `${sv(r.messageText, e.newLine)}${e.newLine + e.newLine}`, e.write(i) } } function Cme(e, t, r, i) { let o = Uq(e, t); return o.getModifiedTime = e.getModifiedTime ? s => e.getModifiedTime(s) : Qv, o.setModifiedTime = e.setModifiedTime ? (s, l) => e.setModifiedTime(s, l) : Ba, o.deleteFile = e.deleteFile ? s => e.deleteFile(s) : Ba, o.reportDiagnostic = r || bN(e), o.reportSolutionBuilderStatus = i || Ame(e), o.now = ho(e, e.now), o } function F8e(e = xl, t, r, i, o) { let s = Cme(e, t, r, i); return s.reportErrorSummary = o, s } function G8e(e = xl, t, r, i, o) { let s = Cme(e, t, r, i), l = Fq(e, o); return jU(s, l), s } function B8e(e) { let t = {}; return WO.forEach(r => { fs(e, r.name) && (t[r.name] = e[r.name]) }), t } function U8e(e, t, r) { return Xme(!1, e, t, r) } function V8e(e, t, r, i) { return Xme(!0, e, t, r, i) } function j8e(e, t, r, i, o) { let s = t, l = t, f = B8e(i), d = Bq(s, () => A.projectCompilerOptions); YF(d), d.getParsedCommandLine = w => $T(A, w, z_(A, w)), d.resolveModuleNameLiterals = ho(s, s.resolveModuleNameLiterals), d.resolveTypeReferenceDirectiveReferences = ho(s, s.resolveTypeReferenceDirectiveReferences), d.resolveModuleNames = ho(s, s.resolveModuleNames), d.resolveTypeReferenceDirectives = ho(s, s.resolveTypeReferenceDirectives), d.getModuleResolutionCache = ho(s, s.getModuleResolutionCache); let g, m; !d.resolveModuleNameLiterals && !d.resolveModuleNames && (g = Y3(d.getCurrentDirectory(), d.getCanonicalFileName), d.resolveModuleNameLiterals = (w, C, P, F, B) => hN(w, C, P, F, B, s, g, cq), d.getModuleResolutionCache = () => g), !d.resolveTypeReferenceDirectiveReferences && !d.resolveTypeReferenceDirectives && (m = $3(d.getCurrentDirectory(), d.getCanonicalFileName, void 0, g?.getPackageJsonInfoCache()), d.resolveTypeReferenceDirectiveReferences = (w, C, P, F, B) => hN(w, C, P, F, B, s, m, OF)), d.getBuildInfo = (w, C) => Ume(A, w, z_(A, C), void 0); let { watchFile: v, watchDirectory: S, writeLog: x } = Gq(l, i), A = { host: s, hostWithWatch: l, parseConfigFileHost: FF(s), write: ho(s, s.trace), options: i, baseCompilerOptions: f, rootNames: r, baseWatchOptions: o, resolvedConfigFilePaths: new Map, configFileCache: new Map, projectStatus: new Map, extendedConfigCache: new Map, buildInfoCache: new Map, outputTimeStamps: new Map, builderPrograms: new Map, diagnostics: new Map, projectPendingBuild: new Map, projectErrorsReported: new Map, compilerHost: d, moduleResolutionCache: g, typeReferenceDirectiveResolutionCache: m, buildOrder: void 0, readFileWithCache: w => s.readFile(w), projectCompilerOptions: f, cache: void 0, allProjectBuildPending: !0, needsSummary: !0, watchAllProjectsPending: e, watch: e, allWatchedWildcardDirectories: new Map, allWatchedInputFiles: new Map, allWatchedConfigFiles: new Map, allWatchedExtendedConfigFiles: new Map, allWatchedPackageJsonFiles: new Map, filesWatched: new Map, lastCachedPackageJsonLookups: new Map, timerToBuildInvalidatedProject: void 0, reportFileChangeDetected: !1, watchFile: v, watchDirectory: S, writeLog: x }; return A } function fd(e, t) { return Ts(t, e.compilerHost.getCurrentDirectory(), e.compilerHost.getCanonicalFileName) } function z_(e, t) { let { resolvedConfigFilePaths: r } = e, i = r.get(t); if (i !== void 0) return i; let o = fd(e, t); return r.set(t, o), o } function Ime(e) { return !!e.options } function H8e(e, t) { let r = e.configFileCache.get(t); return r && Ime(r) ? r : void 0 } function $T(e, t, r) { let { configFileCache: i } = e, o = i.get(r); if (o) return Ime(o) ? o : void 0; Fs("SolutionBuilder::beforeConfigFileParsing"); let s, { parseConfigFileHost: l, baseCompilerOptions: f, baseWatchOptions: d, extendedConfigCache: g, host: m } = e, v; return m.getParsedCommandLine ? (v = m.getParsedCommandLine(t), v || (s = ps(_.File_0_not_found, t))) : (l.onUnRecoverableConfigFileDiagnostic = S => s = S, v = RO(t, f, l, g, d), l.onUnRecoverableConfigFileDiagnostic = Ba), i.set(r, v || s), Fs("SolutionBuilder::afterConfigFileParsing"), hf("SolutionBuilder::Config file parsing", "SolutionBuilder::beforeConfigFileParsing", "SolutionBuilder::afterConfigFileParsing"), v } function U2(e, t) { return Hq(Fy(e.compilerHost.getCurrentDirectory(), t)) } function Lme(e, t) {
-                let r = new Map, i = new Map, o = [], s, l; for (let d of t) f(d); return l ? { buildOrder: s || Je, circularDiagnostics: l } : s || Je; function f(d, g) {
-                    let m = z_(e, d); if (i.has(m)) return; if (r.has(m)) {
-                        g || (l || (l = [])).push(ps(_.Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0, o.join(`\r
-`))); return
-                    } r.set(m, !0), o.push(d); let v = $T(e, d, m); if (v && v.projectReferences) for (let S of v.projectReferences) { let x = U2(e, S.path); f(x, g || S.circular) } o.pop(), i.set(m, !0), (s || (s = [])).push(d)
-                }
-            } function xN(e) { return e.buildOrder || W8e(e) } function W8e(e) { let t = Lme(e, e.rootNames.map(o => U2(e, o))); e.resolvedConfigFilePaths.clear(); let r = new Map(ZF(t).map(o => [z_(e, o), !0])), i = { onDeleteValue: Ba }; return Oh(e.configFileCache, r, i), Oh(e.projectStatus, r, i), Oh(e.builderPrograms, r, i), Oh(e.diagnostics, r, i), Oh(e.projectPendingBuild, r, i), Oh(e.projectErrorsReported, r, i), Oh(e.buildInfoCache, r, i), Oh(e.outputTimeStamps, r, i), e.watch && (Oh(e.allWatchedConfigFiles, r, { onDeleteValue: am }), e.allWatchedExtendedConfigFiles.forEach(o => { o.projects.forEach(s => { r.has(s) || o.projects.delete(s) }), o.close() }), Oh(e.allWatchedWildcardDirectories, r, { onDeleteValue: o => o.forEach(_m) }), Oh(e.allWatchedInputFiles, r, { onDeleteValue: o => o.forEach(am) }), Oh(e.allWatchedPackageJsonFiles, r, { onDeleteValue: o => o.forEach(am) })), e.buildOrder = t } function kme(e, t, r) { let i = t && U2(e, t), o = xN(e); if (YS(o)) return o; if (i) { let l = z_(e, i); if (Yc(o, d => z_(e, d) === l) === -1) return } let s = i ? Lme(e, [i]) : o; return L.assert(!YS(s)), L.assert(!r || i !== void 0), L.assert(!r || s[s.length - 1] === i), r ? s.slice(0, s.length - 1) : s } function Dme(e) { e.cache && Jq(e); let { compilerHost: t, host: r } = e, i = e.readFileWithCache, o = t.getSourceFile, { originalReadFile: s, originalFileExists: l, originalDirectoryExists: f, originalCreateDirectory: d, originalWriteFile: g, getSourceFileWithCache: m, readFileWithCache: v } = pN(r, S => fd(e, S), (...S) => o.call(t, ...S)); e.readFileWithCache = v, t.getSourceFile = m, e.cache = { originalReadFile: s, originalFileExists: l, originalDirectoryExists: f, originalCreateDirectory: d, originalWriteFile: g, originalReadFileWithCache: i, originalGetSourceFile: o } } function Jq(e) { if (!e.cache) return; let { cache: t, host: r, compilerHost: i, extendedConfigCache: o, moduleResolutionCache: s, typeReferenceDirectiveResolutionCache: l } = e; r.readFile = t.originalReadFile, r.fileExists = t.originalFileExists, r.directoryExists = t.originalDirectoryExists, r.createDirectory = t.originalCreateDirectory, r.writeFile = t.originalWriteFile, i.getSourceFile = t.originalGetSourceFile, e.readFileWithCache = t.originalReadFileWithCache, o.clear(), s?.clear(), l?.clear(), e.cache = void 0 } function wme(e, t) { e.projectStatus.delete(t), e.diagnostics.delete(t) } function Rme({ projectPendingBuild: e }, t, r) { let i = e.get(t); (i === void 0 || i < r) && e.set(t, r) } function Ome(e, t) { if (!e.allProjectBuildPending) return; e.allProjectBuildPending = !1, e.options.watch && iX(e, _.Starting_compilation_in_watch_mode), Dme(e), ZF(xN(e)).forEach(i => e.projectPendingBuild.set(z_(e, i), 0)), t && t.throwIfCancellationRequested() } function Nme(e, t) { return e.projectPendingBuild.delete(t), e.diagnostics.has(t) ? 1 : 0 } function z8e(e, t, r, i, o) { let s = !0; return { kind: 2, project: t, projectPath: r, buildOrder: o, getCompilerOptions: () => i.options, getCurrentDirectory: () => e.compilerHost.getCurrentDirectory(), updateOutputFileStatmps: () => { jme(e, i, r), s = !1 }, done: () => (s && jme(e, i, r), Fs("SolutionBuilder::Timestamps only updates"), Nme(e, r)) } } function Pme(e, t, r, i, o, s, l) { let f = e === 0 ? 0 : 4, d, g, m; return e === 0 ? { kind: e, project: r, projectPath: i, buildOrder: l, getCompilerOptions: () => s.options, getCurrentDirectory: () => t.compilerHost.getCurrentDirectory(), getBuilderProgram: () => S(Ks), getProgram: () => S(R => R.getProgramOrUndefined()), getSourceFile: R => S(ie => ie.getSourceFile(R)), getSourceFiles: () => x(R => R.getSourceFiles()), getOptionsDiagnostics: R => x(ie => ie.getOptionsDiagnostics(R)), getGlobalDiagnostics: R => x(ie => ie.getGlobalDiagnostics(R)), getConfigFileParsingDiagnostics: () => x(R => R.getConfigFileParsingDiagnostics()), getSyntacticDiagnostics: (R, ie) => x($ => $.getSyntacticDiagnostics(R, ie)), getAllDependencies: R => x(ie => ie.getAllDependencies(R)), getSemanticDiagnostics: (R, ie) => x($ => $.getSemanticDiagnostics(R, ie)), getSemanticDiagnosticsOfNextAffectedFile: (R, ie) => S($ => $.getSemanticDiagnosticsOfNextAffectedFile && $.getSemanticDiagnosticsOfNextAffectedFile(R, ie)), emit: (R, ie, $, fe, Z) => { if (R || fe) return S(U => { var re, le; return U.emit(R, ie, $, fe, Z || ((le = (re = t.host).getCustomTransformers) == null ? void 0 : le.call(re, r))) }); if (Y(2, $), f === 5) return B(ie, $); if (f === 3) return F(ie, $, Z) }, done: v } : { kind: e, project: r, projectPath: i, buildOrder: l, getCompilerOptions: () => s.options, getCurrentDirectory: () => t.compilerHost.getCurrentDirectory(), emit: (R, ie) => f !== 4 ? m : W(R, ie), done: v }; function v(R, ie, $) { return Y(8, R, ie, $), Fs(e === 0 ? "SolutionBuilder::Projects built" : "SolutionBuilder::Bundles updated"), Nme(t, i) } function S(R) { return Y(0), d && R(d) } function x(R) { return S(R) || Je } function A() { var R, ie; if (L.assert(d === void 0), t.options.dry) { hu(t, _.A_non_dry_build_would_build_project_0, r), g = 1, f = 7; return } if (t.options.verbose && hu(t, _.Building_project_0, r), s.fileNames.length === 0) { V2(t, i, XT(s)), g = 0, f = 7; return } let { host: $, compilerHost: fe } = t; t.projectCompilerOptions = s.options, (R = t.moduleResolutionCache) == null || R.update(s.options), (ie = t.typeReferenceDirectiveResolutionCache) == null || ie.update(s.options), d = $.createProgram(s.fileNames, s.options, fe, K8e(t, i, s), XT(s), s.projectReferences), t.watch && (t.lastCachedPackageJsonLookups.set(i, t.moduleResolutionCache && on(t.moduleResolutionCache.getPackageJsonInfoCache().entries(), ([Z, U]) => [t.host.realpath && U ? fd(t, t.host.realpath(Z)) : Z, U])), t.builderPrograms.set(i, d)), f++ } function w(R, ie, $) { R.length ? { buildResult: g, step: f } = Xq(t, i, d, s, R, ie, $) : f++ } function C(R) { L.assertIsDefined(d), w([...d.getConfigFileParsingDiagnostics(), ...d.getOptionsDiagnostics(R), ...d.getGlobalDiagnostics(R), ...d.getSyntacticDiagnostics(void 0, R)], 8, "Syntactic") } function P(R) { w(L.checkDefined(d).getSemanticDiagnostics(void 0, R), 16, "Semantic") } function F(R, ie, $) { var fe, Z, U; L.assertIsDefined(d), L.assert(f === 3); let re = d.saveEmitState(), le, _e = Ye => (le || (le = [])).push(Ye), ge = [], { emitResult: X } = qF(d, _e, void 0, void 0, (Ye, _t, ct, Rt, We, qe) => ge.push({ name: Ye, text: _t, writeByteOrderMark: ct, data: qe }), ie, !1, $ || ((Z = (fe = t.host).getCustomTransformers) == null ? void 0 : Z.call(fe, r))); if (le) return d.restoreEmitState(re), { buildResult: g, step: f } = Xq(t, i, d, s, le, 32, "Declaration file"), { emitSkipped: !0, diagnostics: X.diagnostics }; let { host: Ve, compilerHost: we } = t, ke = (U = d.hasChangedEmitSignature) != null && U.call(d) ? 0 : 2, Pe = XA(), Ce = new Map, Ie = d.getCompilerOptions(), Be = NR(Ie), Ne, Le; return ge.forEach(({ name: Ye, text: _t, writeByteOrderMark: ct, data: Rt }) => { let We = fd(t, Ye); Ce.set(fd(t, Ye), Ye), Rt?.buildInfo && $q(t, Rt.buildInfo, i, Ie, ke); let qe = Rt?.differsOnlyInMap ? $1(t.host, Ye) : void 0; BI(R ? { writeFile: R } : we, Pe, Ye, _t, ct), Rt?.differsOnlyInMap ? t.host.setModifiedTime(Ye, qe) : !Be && t.watch && (Ne || (Ne = Yq(t, i))).set(We, Le || (Le = SN(t.host))) }), q(Pe, Ce, ge.length ? ge[0].name : JK(s, !Ve.useCaseSensitiveFileNames()), ke), X } function B(R, ie) { L.assertIsDefined(d), L.assert(f === 5); let $ = d.emitBuildInfo((fe, Z, U, re, le, _e) => { _e?.buildInfo && $q(t, _e.buildInfo, i, d.getCompilerOptions(), 2), R ? R(fe, Z, U, re, le, _e) : t.compilerHost.writeFile(fe, Z, U, re, le, _e) }, ie); return $.diagnostics.length && (CN(t, $.diagnostics), t.diagnostics.set(i, [...t.diagnostics.get(i), ...$.diagnostics]), g = 64 & g), $.emittedFiles && t.write && $.emittedFiles.forEach(fe => Gme(t, s, fe)), qq(t, d, s), f = 7, $ } function q(R, ie, $, fe) { let Z = R.getDiagnostics(); return Z.length ? ({ buildResult: g, step: f } = Xq(t, i, d, s, Z, 64, "Emit"), Z) : (t.write && ie.forEach(U => Gme(t, s, U)), Vme(t, s, i, _.Updating_unchanged_output_timestamps_of_project_0, ie), t.diagnostics.delete(i), t.projectStatus.set(i, { type: 1, oldestOutputFileName: $ }), qq(t, d, s), f = 7, g = fe, Z) } function W(R, ie) { var $, fe, Z, U; if (L.assert(e === 1), t.options.dry) { hu(t, _.A_non_dry_build_would_update_output_of_project_0, r), g = 1, f = 7; return } t.options.verbose && hu(t, _.Updating_output_of_project_0, r); let { compilerHost: re } = t; t.projectCompilerOptions = s.options, (fe = ($ = t.host).beforeEmitBundle) == null || fe.call($, s); let le = Ppe(s, re, ke => { let Pe = U2(t, ke.path); return $T(t, Pe, z_(t, Pe)) }, ie || ((U = (Z = t.host).getCustomTransformers) == null ? void 0 : U.call(Z, r))); if (Ta(le)) return hu(t, _.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1, r, cl(t, le)), f = 6, m = Pme(0, t, r, i, o, s, l); L.assert(!!le.length); let _e = XA(), ge = new Map, X = 2, Ve = t.buildInfoCache.get(i).buildInfo || void 0; return le.forEach(({ name: ke, text: Pe, writeByteOrderMark: Ce, data: Ie }) => { var Be, Ne; ge.set(fd(t, ke), ke), Ie?.buildInfo && (((Be = Ie.buildInfo.program) == null ? void 0 : Be.outSignature) !== ((Ne = Ve?.program) == null ? void 0 : Ne.outSignature) && (X &= -3), $q(t, Ie.buildInfo, i, s.options, X)), BI(R ? { writeFile: R } : re, _e, ke, Pe, Ce) }), { emitSkipped: !1, diagnostics: q(_e, ge, le[0].name, X) } } function Y(R, ie, $, fe) { for (; f <= R && f < 8;) { let Z = f; switch (f) { case 0: A(); break; case 1: C(ie); break; case 2: P(ie); break; case 3: F($, ie, fe); break; case 5: B($, ie); break; case 4: W($, fe); break; case 6: L.checkDefined(m).done(ie, $, fe), f = 8; break; case 7: $8e(t, r, i, o, s, l, L.checkDefined(g)), f++; break; case 8: default: }L.assert(f > Z) } } } function J8e({ options: e }, t, r) { return t.type !== 3 || e.force ? !0 : r.fileNames.length === 0 || !!XT(r).length || !NR(r.options) } function Mme(e, t, r) { if (!e.projectPendingBuild.size || YS(t)) return; let { options: i, projectPendingBuild: o } = e; for (let s = 0; s < t.length; s++) { let l = t[s], f = z_(e, l), d = e.projectPendingBuild.get(f); if (d === void 0) continue; r && (r = !1, Qme(e, t)); let g = $T(e, l, f); if (!g) { Yme(e, f), o.delete(f); continue } d === 2 ? (Jme(e, l, f, g), Kme(e, f, g), qme(e, l, f, g), nX(e, l, f, g), rX(e, l, f, g)) : d === 1 && (g.fileNames = BO(g.options.configFile.configFileSpecs, ni(l), g.options, e.parseConfigFileHost), CJ(g.fileNames, l, g.options.configFile.configFileSpecs, g.errors, FO(g.raw)), nX(e, l, f, g), rX(e, l, f, g)); let m = eX(e, g, f); if (!i.force) { if (m.type === 1) { n7(e, l, m), V2(e, f, XT(g)), o.delete(f), i.dry && hu(e, _.Project_0_is_up_to_date, l); continue } if (m.type === 2 || m.type === 15) return V2(e, f, XT(g)), { kind: 2, status: m, project: l, projectPath: f, projectIndex: s, config: g } } if (m.type === 12) { n7(e, l, m), V2(e, f, XT(g)), o.delete(f), i.verbose && hu(e, m.upstreamProjectBlocked ? _.Skipping_build_of_project_0_because_its_dependency_1_was_not_built : _.Skipping_build_of_project_0_because_its_dependency_1_has_errors, l, m.upstreamProjectName); continue } if (m.type === 16) { n7(e, l, m), V2(e, f, XT(g)), o.delete(f); continue } return { kind: J8e(e, m, g) ? 0 : 1, status: m, project: l, projectPath: f, projectIndex: s, config: g } } } function Fme(e, t, r) { return n7(e, t.project, t.status), t.kind !== 2 ? Pme(t.kind, e, t.project, t.projectPath, t.projectIndex, t.config, r) : z8e(e, t.project, t.projectPath, t.config, r) } function Kq(e, t, r) { let i = Mme(e, t, r); return i && Fme(e, i, t) } function Gme({ write: e }, t, r) { e && t.options.listEmittedFiles && e(`TSFILE: ${r}`) } function K8e({ options: e, builderPrograms: t, compilerHost: r }, i, o) { if (e.force) return; let s = t.get(i); return s || QF(o.options, r) } function qq(e, t, r) { t ? (e.write && Rq(t, e.write), e.host.afterProgramEmitAndDiagnostics && e.host.afterProgramEmitAndDiagnostics(t), t.releaseProgram()) : e.host.afterEmitBundle && e.host.afterEmitBundle(r), e.projectCompilerOptions = e.baseCompilerOptions } function Xq(e, t, r, i, o, s, l) { let f = r && !Ss(r.getCompilerOptions()); return V2(e, t, o), e.projectStatus.set(t, { type: 0, reason: `${l} errors` }), f ? { buildResult: s, step: 5 } : (qq(e, r, i), { buildResult: s, step: 7 }) } function e7(e) { return !!e.watcher } function Bme(e, t) { let r = fd(e, t), i = e.filesWatched.get(r); if (e.watch && i) { if (!e7(i)) return i; if (i.modifiedTime) return i.modifiedTime } let o = $1(e.host, t); return e.watch && (i ? i.modifiedTime = o : e.filesWatched.set(r, o)), o } function t7(e, t, r, i, o, s, l) { let f = fd(e, t), d = e.filesWatched.get(f); if (d && e7(d)) d.callbacks.push(r); else { let g = e.watchFile(t, (m, v, S) => { let x = L.checkDefined(e.filesWatched.get(f)); L.assert(e7(x)), x.modifiedTime = S, x.callbacks.forEach(A => A(m, v, S)) }, i, o, s, l); e.filesWatched.set(f, { callbacks: [r], watcher: g, modifiedTime: d }) } return { close: () => { let g = L.checkDefined(e.filesWatched.get(f)); L.assert(e7(g)), g.callbacks.length === 1 ? (e.filesWatched.delete(f), _m(g)) : YD(g.callbacks, r) } } } function Yq(e, t) { if (!e.watch) return; let r = e.outputTimeStamps.get(t); return r || e.outputTimeStamps.set(t, r = new Map), r } function $q(e, t, r, i, o) { let s = Jg(i), l = Qq(e, s, r), f = SN(e.host); l ? (l.buildInfo = t, l.modifiedTime = f, o & 2 || (l.latestChangedDtsTime = f)) : e.buildInfoCache.set(r, { path: fd(e, s), buildInfo: t, modifiedTime: f, latestChangedDtsTime: o & 2 ? void 0 : f }) } function Qq(e, t, r) { let i = fd(e, t), o = e.buildInfoCache.get(r); return o?.path === i ? o : void 0 } function Ume(e, t, r, i) { let o = fd(e, t), s = e.buildInfoCache.get(r); if (s !== void 0 && s.path === o) return s.buildInfo || void 0; let l = e.readFileWithCache(t), f = l ? IF(t, l) : void 0; return e.buildInfoCache.set(r, { path: o, buildInfo: f || !1, modifiedTime: i || Eh }), f } function Zq(e, t, r, i) { let o = Bme(e, t); if (r < o) return { type: 6, outOfDateOutputFileName: i, newerInputFileName: t } } function q8e(e, t, r) { var i, o; if (!t.fileNames.length && !FO(t.raw)) return { type: 16 }; let s, l = !!e.options.force; if (t.projectReferences) { e.projectStatus.set(r, { type: 13 }); for (let $ of t.projectReferences) { let fe = $L($), Z = z_(e, fe), U = $T(e, fe, Z), re = eX(e, U, Z); if (!(re.type === 13 || re.type === 16)) { if (re.type === 0 || re.type === 12) return { type: 12, upstreamProjectName: $.path, upstreamProjectBlocked: re.type === 12 }; if (re.type !== 1) return { type: 11, upstreamProjectName: $.path }; l || (s || (s = [])).push({ ref: $, refStatus: re, resolvedRefPath: Z, resolvedConfig: U }) } } } if (l) return { type: 17 }; let { host: f } = e, d = Jg(t.options), g, m = ehe, v, S, x; if (d) { let $ = Qq(e, d, r); if (v = $?.modifiedTime || $1(f, d), v === Eh) return $ || e.buildInfoCache.set(r, { path: fd(e, d), buildInfo: !1, modifiedTime: v }), { type: 4, missingOutputFileName: d }; let fe = Ume(e, d, r, v); if (!fe) return { type: 5, fileName: d }; if ((fe.bundle || fe.program) && fe.version !== Rf) return { type: 14, version: fe.version }; if (fe.program) { if ((i = fe.program.changeFileSet) != null && i.length || (t.options.noEmit ? vt(fe.program.semanticDiagnosticsPerFile, ba) : (o = fe.program.affectedFilesPendingEmit) != null && o.length)) return { type: 8, buildInfoFile: d }; if (!t.options.noEmit && G2(t.options, fe.program.options || {})) return { type: 9, buildInfoFile: d }; S = fe.program } m = v, g = d } let A, w = Zme, C = !1, P = new Set; for (let $ of t.fileNames) { let fe = Bme(e, $); if (fe === Eh) return { type: 0, reason: `${$} does not exist` }; if (v && v < fe) { let Z, U; if (S) { x || (x = Aq(S, d, f)), Z = x.fileInfos.get(fd(e, $)); let re = Z ? e.readFileWithCache($) : void 0; U = re !== void 0 ? XF(f, re) : void 0, Z && Z === U && (C = !0) } if (!Z || Z !== U) return { type: 6, outOfDateOutputFileName: d, newerInputFileName: $ } } fe > w && (A = $, w = fe), S && P.add(fd(e, $)) } if (S) { x || (x = Aq(S, d, f)); for (let $ of x.roots) if (!P.has($)) return { type: 10, buildInfoFile: d, inputFile: $ } } if (!d) { let $ = AF(t, !f.useCaseSensitiveFileNames()), fe = Yq(e, r); for (let Z of $) { let U = fd(e, Z), re = fe?.get(U); if (re || (re = $1(e.host, Z), fe?.set(U, re)), re === Eh) return { type: 4, missingOutputFileName: Z }; if (re < w) return { type: 6, outOfDateOutputFileName: Z, newerInputFileName: A }; re < m && (m = re, g = Z) } } let F = e.buildInfoCache.get(r), B = !1, q = !1, W; if (s) for (let { ref: $, refStatus: fe, resolvedConfig: Z, resolvedRefPath: U } of s) { if (q = q || !!$.prepend, fe.newestInputFileTime && fe.newestInputFileTime <= m) continue; if (F && X8e(e, F, U)) return { type: 7, outOfDateOutputFileName: d, newerProjectName: $.path }; let re = Y8e(e, Z.options, U); if (re && re <= m) { B = !0, W = $.path; continue } return L.assert(g !== void 0, "Should have an oldest output filename here"), { type: 7, outOfDateOutputFileName: g, newerProjectName: $.path } } let Y = Zq(e, t.options.configFilePath, m, g); if (Y) return Y; let R = mn(t.options.configFile.extendedSourceFiles || Je, $ => Zq(e, $, m, g)); if (R) return R; let ie = mn(e.lastCachedPackageJsonLookups.get(r) || Je, ([$]) => Zq(e, $, m, g)); return ie || (q && B ? { type: 3, outOfDateOutputFileName: g, newerProjectName: W } : { type: B ? 2 : C ? 15 : 1, newestInputFileTime: w, newestInputFileName: A, oldestOutputFileName: g }) } function X8e(e, t, r) { return e.buildInfoCache.get(r).path === t.path } function eX(e, t, r) { if (t === void 0) return { type: 0, reason: "File deleted mid-build" }; let i = e.projectStatus.get(r); if (i !== void 0) return i; Fs("SolutionBuilder::beforeUpToDateCheck"); let o = q8e(e, t, r); return Fs("SolutionBuilder::afterUpToDateCheck"), hf("SolutionBuilder::Up-to-date check", "SolutionBuilder::beforeUpToDateCheck", "SolutionBuilder::afterUpToDateCheck"), e.projectStatus.set(r, o), o } function Vme(e, t, r, i, o) { if (t.options.noEmit) return; let s, l = Jg(t.options); if (l) { o?.has(fd(e, l)) || (e.options.verbose && hu(e, i, t.options.configFilePath), e.host.setModifiedTime(l, s = SN(e.host)), Qq(e, l, r).modifiedTime = s), e.outputTimeStamps.delete(r); return } let { host: f } = e, d = AF(t, !f.useCaseSensitiveFileNames()), g = Yq(e, r), m = g ? new Set : void 0; if (!o || d.length !== o.size) { let v = !!e.options.verbose; for (let S of d) { let x = fd(e, S); o?.has(x) || (v && (v = !1, hu(e, i, t.options.configFilePath)), f.setModifiedTime(S, s || (s = SN(e.host))), g && (g.set(x, s), m.add(x))) } } g?.forEach((v, S) => { !o?.has(S) && !m.has(S) && g.delete(S) }) } function Y8e(e, t, r) { if (!t.composite) return; let i = L.checkDefined(e.buildInfoCache.get(r)); if (i.latestChangedDtsTime !== void 0) return i.latestChangedDtsTime || void 0; let o = i.buildInfo && i.buildInfo.program && i.buildInfo.program.latestChangedDtsFile ? e.host.getModifiedTime(_a(i.buildInfo.program.latestChangedDtsFile, ni(i.path))) : void 0; return i.latestChangedDtsTime = o || !1, o } function jme(e, t, r) { if (e.options.dry) return hu(e, _.A_non_dry_build_would_update_timestamps_for_output_of_project_0, t.options.configFilePath); Vme(e, t, r, _.Updating_output_timestamps_of_project_0), e.projectStatus.set(r, { type: 1, oldestOutputFileName: JK(t, !e.host.useCaseSensitiveFileNames()) }) } function $8e(e, t, r, i, o, s, l) { if (!(l & 124) && o.options.composite) for (let f = i + 1; f < s.length; f++) { let d = s[f], g = z_(e, d); if (e.projectPendingBuild.has(g)) continue; let m = $T(e, d, g); if (!(!m || !m.projectReferences)) for (let v of m.projectReferences) { let S = U2(e, v.path); if (z_(e, S) !== r) continue; let x = e.projectStatus.get(g); if (x) switch (x.type) { case 1: if (l & 2) { v.prepend ? e.projectStatus.set(g, { type: 3, outOfDateOutputFileName: x.oldestOutputFileName, newerProjectName: t }) : x.type = 2; break } case 15: case 2: case 3: l & 2 || e.projectStatus.set(g, { type: 7, outOfDateOutputFileName: x.type === 3 ? x.outOfDateOutputFileName : x.oldestOutputFileName, newerProjectName: t }); break; case 12: z_(e, U2(e, x.upstreamProjectName)) === r && wme(e, g); break }Rme(e, g, 0); break } } } function Hme(e, t, r, i, o, s) { Fs("SolutionBuilder::beforeBuild"); let l = Q8e(e, t, r, i, o, s); return Fs("SolutionBuilder::afterBuild"), hf("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"), l } function Q8e(e, t, r, i, o, s) { let l = kme(e, t, s); if (!l) return 3; Ome(e, r); let f = !0, d = 0; for (; ;) { let g = Kq(e, l, f); if (!g) break; f = !1, g.done(r, i, o?.(g.project)), e.diagnostics.has(g.projectPath) || d++ } return Jq(e), $me(e, l), n6e(e, l), YS(l) ? 4 : l.some(g => e.diagnostics.has(z_(e, g))) ? d ? 2 : 1 : 0 } function Wme(e, t, r) { Fs("SolutionBuilder::beforeClean"); let i = Z8e(e, t, r); return Fs("SolutionBuilder::afterClean"), hf("SolutionBuilder::Clean", "SolutionBuilder::beforeClean", "SolutionBuilder::afterClean"), i } function Z8e(e, t, r) {
-                let i = kme(e, t, r); if (!i) return 3; if (YS(i)) return CN(e, i.circularDiagnostics), 4; let { options: o, host: s } = e, l = o.dry ? [] : void 0; for (let f of i) { let d = z_(e, f), g = $T(e, f, d); if (g === void 0) { Yme(e, d); continue } let m = AF(g, !s.useCaseSensitiveFileNames()); if (!m.length) continue; let v = new Set(g.fileNames.map(S => fd(e, S))); for (let S of m) v.has(fd(e, S)) || s.fileExists(S) && (l ? l.push(S) : (s.deleteFile(S), tX(e, d, 0))) } return l && hu(e, _.A_non_dry_build_would_delete_the_following_files_Colon_0, l.map(f => `\r
- * ${f}`).join("")), 0
-            } function tX(e, t, r) { e.host.getParsedCommandLine && r === 1 && (r = 2), r === 2 && (e.configFileCache.delete(t), e.buildOrder = void 0), e.needsSummary = !0, wme(e, t), Rme(e, t, r), Dme(e) } function AN(e, t, r) { e.reportFileChangeDetected = !0, tX(e, t, r), zme(e, 250, !0) } function zme(e, t, r) { let { hostWithWatch: i } = e; !i.setTimeout || !i.clearTimeout || (e.timerToBuildInvalidatedProject && i.clearTimeout(e.timerToBuildInvalidatedProject), e.timerToBuildInvalidatedProject = i.setTimeout(e6e, t, e, r)) } function e6e(e, t) { Fs("SolutionBuilder::beforeBuild"); let r = t6e(e, t); Fs("SolutionBuilder::afterBuild"), hf("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"), r && $me(e, r) } function t6e(e, t) { e.timerToBuildInvalidatedProject = void 0, e.reportFileChangeDetected && (e.reportFileChangeDetected = !1, e.projectErrorsReported.clear(), iX(e, _.File_change_detected_Starting_incremental_compilation)); let r = 0, i = xN(e), o = Kq(e, i, !1); if (o) for (o.done(), r++; e.projectPendingBuild.size;) { if (e.timerToBuildInvalidatedProject) return; let s = Mme(e, i, !1); if (!s) break; if (s.kind !== 2 && (t || r === 5)) { zme(e, 100, !1); return } Fme(e, s, i).done(), s.kind !== 2 && r++ } return Jq(e), i } function Jme(e, t, r, i) { !e.watch || e.allWatchedConfigFiles.has(r) || e.allWatchedConfigFiles.set(r, t7(e, t, () => AN(e, r, 2), 2e3, i?.watchOptions, Hf.ConfigFile, t)) } function Kme(e, t, r) { YK(t, r?.options, e.allWatchedExtendedConfigFiles, (i, o) => t7(e, i, () => { var s; return (s = e.allWatchedExtendedConfigFiles.get(o)) == null ? void 0 : s.projects.forEach(l => AN(e, l, 2)) }, 2e3, r?.watchOptions, Hf.ExtendedConfigFile), i => fd(e, i)) } function qme(e, t, r, i) { e.watch && kF(zq(e.allWatchedWildcardDirectories, r), new Map(Object.entries(i.wildcardDirectories)), (o, s) => e.watchDirectory(o, l => { var f; DF({ watchedDirPath: fd(e, o), fileOrDirectory: l, fileOrDirectoryPath: fd(e, l), configFileName: t, currentDirectory: e.compilerHost.getCurrentDirectory(), options: i.options, program: e.builderPrograms.get(r) || ((f = H8e(e, r)) == null ? void 0 : f.fileNames), useCaseSensitiveFileNames: e.parseConfigFileHost.useCaseSensitiveFileNames, writeLog: d => e.writeLog(d), toPath: d => fd(e, d) }) || AN(e, r, 1) }, s, i?.watchOptions, Hf.WildcardDirectory, t)) } function nX(e, t, r, i) { e.watch && e2(zq(e.allWatchedInputFiles, r), p0(i.fileNames, o => fd(e, o)), { createNewValue: (o, s) => t7(e, s, () => AN(e, r, 0), 250, i?.watchOptions, Hf.SourceFile, t), onDeleteValue: am }) } function rX(e, t, r, i) { !e.watch || !e.lastCachedPackageJsonLookups || e2(zq(e.allWatchedPackageJsonFiles, r), new Map(e.lastCachedPackageJsonLookups.get(r)), { createNewValue: (o, s) => t7(e, o, () => AN(e, r, 0), 2e3, i?.watchOptions, Hf.PackageJson, t), onDeleteValue: am }) } function n6e(e, t) { if (e.watchAllProjectsPending) { Fs("SolutionBuilder::beforeWatcherCreation"), e.watchAllProjectsPending = !1; for (let r of ZF(t)) { let i = z_(e, r), o = $T(e, r, i); Jme(e, r, i, o), Kme(e, i, o), o && (qme(e, r, i, o), nX(e, r, i, o), rX(e, r, i, o)) } Fs("SolutionBuilder::afterWatcherCreation"), hf("SolutionBuilder::Watcher creation", "SolutionBuilder::beforeWatcherCreation", "SolutionBuilder::afterWatcherCreation") } } function r6e(e) { Tf(e.allWatchedConfigFiles, am), Tf(e.allWatchedExtendedConfigFiles, _m), Tf(e.allWatchedWildcardDirectories, t => Tf(t, _m)), Tf(e.allWatchedInputFiles, t => Tf(t, am)), Tf(e.allWatchedPackageJsonFiles, t => Tf(t, am)) } function Xme(e, t, r, i, o) { let s = j8e(e, t, r, i, o); return { build: (l, f, d, g) => Hme(s, l, f, d, g), clean: l => Wme(s, l), buildReferences: (l, f, d, g) => Hme(s, l, f, d, g, !0), cleanReferences: l => Wme(s, l, !0), getNextInvalidatedProject: l => (Ome(s, l), Kq(s, xN(s), !1)), getBuildOrder: () => xN(s), getUpToDateStatusOfProject: l => { let f = U2(s, l), d = z_(s, f); return eX(s, $T(s, f, d), d) }, invalidateProject: (l, f) => tX(s, l, f || 0), close: () => r6e(s) } } function cl(e, t) { return rI(t, e.compilerHost.getCurrentDirectory(), e.compilerHost.getCanonicalFileName) } function hu(e, t, ...r) { e.host.reportSolutionBuilderStatus(ps(t, ...r)) } function iX(e, t, ...r) { var i, o; (o = (i = e.hostWithWatch).onWatchStatusChange) == null || o.call(i, ps(t, ...r), e.host.getNewLine(), e.baseCompilerOptions) } function CN({ host: e }, t) { t.forEach(r => e.reportDiagnostic(r)) } function V2(e, t, r) { CN(e, r), e.projectErrorsReported.set(t, !0), r.length && e.diagnostics.set(t, r) } function Yme(e, t) { V2(e, t, [e.configFileCache.get(t)]) } function $me(e, t) { if (!e.needsSummary) return; e.needsSummary = !1; let r = e.watch || !!e.host.reportErrorSummary, { diagnostics: i } = e, o = 0, s = []; YS(t) ? (Qme(e, t.buildOrder), CN(e, t.circularDiagnostics), r && (o += JF(t.circularDiagnostics)), r && (s = [...s, ...KF(t.circularDiagnostics)])) : (t.forEach(l => { let f = z_(e, l); e.projectErrorsReported.has(f) || CN(e, i.get(f) || Je) }), r && i.forEach(l => o += JF(l)), r && i.forEach(l => [...s, ...KF(l)])), e.watch ? iX(e, wq(o), o) : e.host.reportErrorSummary && e.host.reportErrorSummary(o, s) } function Qme(e, t) {
-                e.options.verbose && hu(e, _.Projects_in_this_build_Colon_0, t.map(r => `\r
-    * `+ cl(e, r)).join(""))
-            } function i6e(e, t, r) { switch (r.type) { case 6: return hu(e, _.Project_0_is_out_of_date_because_output_1_is_older_than_input_2, cl(e, t), cl(e, r.outOfDateOutputFileName), cl(e, r.newerInputFileName)); case 7: return hu(e, _.Project_0_is_out_of_date_because_output_1_is_older_than_input_2, cl(e, t), cl(e, r.outOfDateOutputFileName), cl(e, r.newerProjectName)); case 4: return hu(e, _.Project_0_is_out_of_date_because_output_file_1_does_not_exist, cl(e, t), cl(e, r.missingOutputFileName)); case 5: return hu(e, _.Project_0_is_out_of_date_because_there_was_error_reading_file_1, cl(e, t), cl(e, r.fileName)); case 8: return hu(e, _.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted, cl(e, t), cl(e, r.buildInfoFile)); case 9: return hu(e, _.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions, cl(e, t), cl(e, r.buildInfoFile)); case 10: return hu(e, _.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more, cl(e, t), cl(e, r.buildInfoFile), cl(e, r.inputFile)); case 1: if (r.newestInputFileTime !== void 0) return hu(e, _.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2, cl(e, t), cl(e, r.newestInputFileName || ""), cl(e, r.oldestOutputFileName || "")); break; case 3: return hu(e, _.Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed, cl(e, t), cl(e, r.newerProjectName)); case 2: return hu(e, _.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies, cl(e, t)); case 15: return hu(e, _.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files, cl(e, t)); case 11: return hu(e, _.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date, cl(e, t), cl(e, r.upstreamProjectName)); case 12: return hu(e, r.upstreamProjectBlocked ? _.Project_0_can_t_be_built_because_its_dependency_1_was_not_built : _.Project_0_can_t_be_built_because_its_dependency_1_has_errors, cl(e, t), cl(e, r.upstreamProjectName)); case 0: return hu(e, _.Failed_to_parse_file_0_Colon_1, cl(e, t), r.reason); case 14: return hu(e, _.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2, cl(e, t), r.version, Rf); case 17: return hu(e, _.Project_0_is_being_forcibly_rebuilt, cl(e, t)); case 16: case 13: break; default: } } function n7(e, t, r) { e.options.verbose && i6e(e, t, r) } var Zme, ehe, aX, a6e = gt({ "src/compiler/tsbuildPublic.ts"() { "use strict"; fa(), fa(), E0(), Zme = new Date(-864e13), ehe = new Date(864e13), aX = (e => (e[e.Build = 0] = "Build", e[e.UpdateBundle = 1] = "UpdateBundle", e[e.UpdateOutputFileStamps = 2] = "UpdateOutputFileStamps", e))(aX || {}) } }), fa = gt({ "src/compiler/_namespaces/ts.ts"() { "use strict"; gke(), Gke(), Bke(), Xke(), Qke(), Zke(), uDe(), noe(), EDe(), kDe(), DDe(), PDe(), nwe(), ERe(), TRe(), SRe(), xRe(), MRe(), URe(), VRe(), aOe(), GOe(), BOe(), YOe(), SNe(), ZNe(), aPe(), oPe(), gPe(), SPe(), RPe(), BPe(), QPe(), ZPe(), eMe(), oMe(), sMe(), cMe(), lMe(), uMe(), dMe(), fMe(), _Me(), pMe(), mMe(), hMe(), gMe(), yMe(), vMe(), EMe(), TMe(), SMe(), xMe(), AMe(), CMe(), RMe(), GMe(), XMe(), QMe(), i8e(), a8e(), o8e(), E8e(), x8e(), C8e(), w8e(), N8e(), P8e(), a6e(), dK(), E0() } }); function the(e, t) { return new r_(zD(t, `ts${Sg}`) || zD(t, "latest")).compareTo(e.version) <= 0 } function nhe(e) { return uX.has(e) ? "node" : e } function o6e(e, t) { let r = OO(t, i => e.readFile(i)); return new Map(Object.entries(r.config)) } function s6e(e, t) { var r; let i = OO(t, o => e.readFile(o)); if ((r = i.config) != null && r.simpleMap) return new Map(Object.entries(i.config.simpleMap)) } function c6e(e, t, r, i, o, s, l, f, d, g) { if (!l || !l.enable) return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; let m = new Map; r = Zi(r, q => { let W = So(q); if (ES(W)) return W }); let v = []; l.include && P(l.include, "Explicitly included types"); let S = l.exclude || []; if (!g.types) { let q = new Set(r.map(ni)); q.add(i), q.forEach(W => { F(W, "bower.json", "bower_components", v), F(W, "package.json", "node_modules", v) }) } if (l.disableFilenameBasedTypeAcquisition || B(r), f) { let q = fA(f.map(nhe), z1, su); P(q, "Inferred typings from unresolved imports") } s.forEach((q, W) => { let Y = d.get(W); m.has(W) && m.get(W) === void 0 && Y !== void 0 && the(q, Y) && m.set(W, q.typingLocation) }); for (let q of S) m.delete(q) && t && t(`Typing for ${q} is in exclude list, will be ignored.`); let x = [], A = []; m.forEach((q, W) => { q !== void 0 ? A.push(q) : x.push(W) }); let w = { cachedTypingPaths: A, newTypingNames: x, filesToWatch: v }; return t && t(`Result: ${JSON.stringify(w)}`), w; function C(q) { m.has(q) || m.set(q, void 0) } function P(q, W) { t && t(`${W}: ${JSON.stringify(q)}`), mn(q, C) } function F(q, W, Y, R) { let ie = vi(q, W), $, fe; e.fileExists(ie) && (R.push(ie), $ = OO(ie, le => e.readFile(le)).config, fe = Uo([$.dependencies, $.devDependencies, $.optionalDependencies, $.peerDependencies], bh), P(fe, `Typing names in '${ie}' dependencies`)); let Z = vi(q, Y); if (R.push(Z), !e.directoryExists(Z)) return; let U = [], re = fe ? fe.map(le => vi(Z, le, W)) : e.readDirectory(Z, [".json"], void 0, void 0, 3).filter(le => { if (Hl(le) !== W) return !1; let _e = Ou(So(le)), ge = _e[_e.length - 3][0] === "@"; return ge && n_(_e[_e.length - 4]) === Y || !ge && n_(_e[_e.length - 3]) === Y }); t && t(`Searching for typing names in ${Z}; all files: ${JSON.stringify(re)}`); for (let le of re) { let _e = So(le), X = OO(_e, we => e.readFile(we)).config; if (!X.name) continue; let Ve = X.types || X.typings; if (Ve) { let we = _a(Ve, ni(_e)); e.fileExists(we) ? (t && t(`    Package '${X.name}' provides its own types.`), m.set(X.name, we)) : t && t(`    Package '${X.name}' provides its own types but they are missing.`) } else U.push(X.name) } P(U, "    Found package names") } function B(q) { let W = Zi(q, R => { if (!ES(R)) return; let ie = ld(n_(Hl(R))), $ = Lae(ie); return o.get($) }); W.length && P(W, "Inferred typings from file names"), vt(q, R => Gc(R, ".jsx")) && (t && t("Inferred 'react' typings due to presence of '.jsx' extension"), C("react")) } } function l6e(e) { return oX(e, !0) } function oX(e, t) { if (!e) return 1; if (e.length > fX) return 2; if (e.charCodeAt(0) === 46) return 3; if (e.charCodeAt(0) === 95) return 4; if (t) { let r = /^@([^/]+)\/([^/]+)$/.exec(e); if (r) { let i = oX(r[1], !1); if (i !== 0) return { name: r[1], isScopeName: !0, result: i }; let o = oX(r[2], !1); return o !== 0 ? { name: r[2], isScopeName: !1, result: o } : 0 } } return encodeURIComponent(e) !== e ? 5 : 0 } function u6e(e, t) { return typeof e == "object" ? rhe(t, e.result, e.name, e.isScopeName) : rhe(t, e, t, !1) } function rhe(e, t, r, i) { let o = i ? "Scope" : "Package"; switch (t) { case 1: return `'${e}':: ${o} name '${r}' cannot be empty`; case 2: return `'${e}':: ${o} name '${r}' should be less than ${fX} characters`; case 3: return `'${e}':: ${o} name '${r}' cannot start with '.'`; case 4: return `'${e}':: ${o} name '${r}' cannot start with '_'`; case 5: return `'${e}':: ${o} name '${r}' contains non URI safe characters`; case 0: return L.fail(); default: throw L.assertNever(t) } } var sX, cX, lX, uX, dX, fX, d6e = gt({ "src/jsTyping/jsTyping.ts"() { "use strict"; r7(), sX = ["assert", "assert/strict", "async_hooks", "buffer", "child_process", "cluster", "console", "constants", "crypto", "dgram", "diagnostics_channel", "dns", "dns/promises", "domain", "events", "fs", "fs/promises", "http", "https", "http2", "inspector", "module", "net", "os", "path", "perf_hooks", "process", "punycode", "querystring", "readline", "repl", "stream", "stream/promises", "string_decoder", "timers", "timers/promises", "tls", "trace_events", "tty", "url", "util", "util/types", "v8", "vm", "wasi", "worker_threads", "zlib"], cX = sX.map(e => `node:${e}`), lX = [...sX, ...cX], uX = new Set(lX), dX = (e => (e[e.Ok = 0] = "Ok", e[e.EmptyName = 1] = "EmptyName", e[e.NameTooLong = 2] = "NameTooLong", e[e.NameStartsWithDot = 3] = "NameStartsWithDot", e[e.NameStartsWithUnderscore = 4] = "NameStartsWithUnderscore", e[e.NameContainsNonURISafeCharacters = 5] = "NameContainsNonURISafeCharacters", e))(dX || {}), fX = 214 } }), QT = {}; Mo(QT, { NameValidationResult: () => dX, discoverTypings: () => c6e, isTypingUpToDate: () => the, loadSafeList: () => o6e, loadTypesMap: () => s6e, nodeCoreModuleList: () => lX, nodeCoreModules: () => uX, nonRelativeModuleNameForTypingCache: () => nhe, prefixedNodeCoreModuleList: () => cX, renderPackageNameValidationFailure: () => u6e, validatePackageName: () => l6e }); var f6e = gt({ "src/jsTyping/_namespaces/ts.JsTyping.ts"() { "use strict"; d6e() } }); function _6e(e) { return xl.args.indexOf(e) >= 0 } function p6e(e) { let t = xl.args.indexOf(e); return t >= 0 && t < xl.args.length - 1 ? xl.args[t + 1] : void 0 } function m6e() { let e = new Date; return `${J1(e.getHours().toString(), 2, "0")}:${J1(e.getMinutes().toString(), 2, "0")}:${J1(e.getSeconds().toString(), 2, "0")}.${J1(e.getMilliseconds().toString(), 3, "0")}` } var ihe, ahe, ohe, she, che, lhe, uhe, _X, h6e = gt({ "src/jsTyping/shared.ts"() { "use strict"; r7(), ihe = "action::set", ahe = "action::invalidate", ohe = "action::packageInstalled", she = "event::typesRegistry", che = "event::beginInstallTypes", lhe = "event::endInstallTypes", uhe = "event::initializationFailed", (e => { e.GlobalCacheLocation = "--globalTypingsCacheLocation", e.LogFile = "--logFile", e.EnableTelemetry = "--enableTelemetry", e.TypingSafeListLocation = "--typingSafeListLocation", e.TypesMapLocation = "--typesMapLocation", e.NpmLocation = "--npmLocation", e.ValidateDefaultNpmLocation = "--validateDefaultNpmLocation" })(_X || (_X = {})) } }), g6e = gt({ "src/jsTyping/types.ts"() { "use strict" } }), dhe = {}; Mo(dhe, { ActionInvalidate: () => ahe, ActionPackageInstalled: () => ohe, ActionSet: () => ihe, Arguments: () => _X, EventBeginInstallTypes: () => che, EventEndInstallTypes: () => lhe, EventInitializationFailed: () => uhe, EventTypesRegistry: () => she, findArgument: () => p6e, hasArgument: () => _6e, nowString: () => m6e }); var y6e = gt({ "src/jsTyping/_namespaces/ts.server.ts"() { "use strict"; h6e(), g6e() } }), r7 = gt({ "src/jsTyping/_namespaces/ts.ts"() { "use strict"; fa(), f6e(), y6e() } }); function fhe(e) {
-                return {
-                    indentSize: 4, tabSize: 4, newLineCharacter: e || `
-`, convertTabsToSpaces: !0, indentStyle: 2, insertSpaceAfterConstructor: !1, insertSpaceAfterCommaDelimiter: !0, insertSpaceAfterSemicolonInForStatements: !0, insertSpaceBeforeAndAfterBinaryOperators: !0, insertSpaceAfterKeywordsInControlFlowStatements: !0, insertSpaceAfterFunctionKeywordForAnonymousFunctions: !1, insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1, insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1, insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: !0, insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1, insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: !1, insertSpaceBeforeFunctionParenthesis: !1, placeOpenBraceOnNewLineForFunctions: !1, placeOpenBraceOnNewLineForControlBlocks: !1, semicolons: "ignore", trimTrailingWhitespace: !0
-                }
-            } var pX, mX, hX, gX, Cp, yX, vX, bX, EX, TX, SX, xX, _he, IN, AX, CX, IX, LX, kX, DX, wX, RX, OX, v6e = gt({
-                "src/services/types.ts"() {
-                    "use strict"; (e => { class t { constructor(o) { this.text = o } getText(o, s) { return o === 0 && s === this.text.length ? this.text : this.text.substring(o, s) } getLength() { return this.text.length } getChangeRange() { } } function r(i) { return new t(i) } e.fromString = r })(pX || (pX = {})), mX = (e => (e[e.Dependencies = 1] = "Dependencies", e[e.DevDependencies = 2] = "DevDependencies", e[e.PeerDependencies = 4] = "PeerDependencies", e[e.OptionalDependencies = 8] = "OptionalDependencies", e[e.All = 15] = "All", e))(mX || {}), hX = (e => (e[e.Off = 0] = "Off", e[e.On = 1] = "On", e[e.Auto = 2] = "Auto", e))(hX || {}), gX = (e => (e[e.Semantic = 0] = "Semantic", e[e.PartialSemantic = 1] = "PartialSemantic", e[e.Syntactic = 2] = "Syntactic", e))(gX || {}), Cp = {}, yX = (e => (e.Original = "original", e.TwentyTwenty = "2020", e))(yX || {}), vX = (e => (e.All = "All", e.SortAndCombine = "SortAndCombine", e.RemoveUnused = "RemoveUnused", e))(vX || {}), bX = (e => (e[e.Invoked = 1] = "Invoked", e[e.TriggerCharacter = 2] = "TriggerCharacter", e[e.TriggerForIncompleteCompletions = 3] = "TriggerForIncompleteCompletions", e))(bX || {}), EX = (e => (e.Type = "Type", e.Parameter = "Parameter", e.Enum = "Enum", e))(EX || {}), TX = (e => (e.none = "none", e.definition = "definition", e.reference = "reference", e.writtenReference = "writtenReference", e))(TX || {}), SX = (e => (e[e.None = 0] = "None", e[e.Block = 1] = "Block", e[e.Smart = 2] = "Smart", e))(SX || {}), xX = (e => (e.Ignore = "ignore", e.Insert = "insert", e.Remove = "remove", e))(xX || {}), _he = fhe(`
-`), IN = (e => (e[e.aliasName = 0] = "aliasName", e[e.className = 1] = "className", e[e.enumName = 2] = "enumName", e[e.fieldName = 3] = "fieldName", e[e.interfaceName = 4] = "interfaceName", e[e.keyword = 5] = "keyword", e[e.lineBreak = 6] = "lineBreak", e[e.numericLiteral = 7] = "numericLiteral", e[e.stringLiteral = 8] = "stringLiteral", e[e.localName = 9] = "localName", e[e.methodName = 10] = "methodName", e[e.moduleName = 11] = "moduleName", e[e.operator = 12] = "operator", e[e.parameterName = 13] = "parameterName", e[e.propertyName = 14] = "propertyName", e[e.punctuation = 15] = "punctuation", e[e.space = 16] = "space", e[e.text = 17] = "text", e[e.typeParameterName = 18] = "typeParameterName", e[e.enumMemberName = 19] = "enumMemberName", e[e.functionName = 20] = "functionName", e[e.regularExpressionLiteral = 21] = "regularExpressionLiteral", e[e.link = 22] = "link", e[e.linkName = 23] = "linkName", e[e.linkText = 24] = "linkText", e))(IN || {}), AX = (e => (e[e.None = 0] = "None", e[e.MayIncludeAutoImports = 1] = "MayIncludeAutoImports", e[e.IsImportStatementCompletion = 2] = "IsImportStatementCompletion", e[e.IsContinuation = 4] = "IsContinuation", e[e.ResolvedModuleSpecifiers = 8] = "ResolvedModuleSpecifiers", e[e.ResolvedModuleSpecifiersBeyondLimit = 16] = "ResolvedModuleSpecifiersBeyondLimit", e[e.MayIncludeMethodSnippets = 32] = "MayIncludeMethodSnippets", e))(AX || {}), CX = (e => (e.Comment = "comment", e.Region = "region", e.Code = "code", e.Imports = "imports", e))(CX || {}), IX = (e => (e[e.JavaScript = 0] = "JavaScript", e[e.SourceMap = 1] = "SourceMap", e[e.Declaration = 2] = "Declaration", e))(IX || {}), LX = (e => (e[e.None = 0] = "None", e[e.InMultiLineCommentTrivia = 1] = "InMultiLineCommentTrivia", e[e.InSingleQuoteStringLiteral = 2] = "InSingleQuoteStringLiteral", e[e.InDoubleQuoteStringLiteral = 3] = "InDoubleQuoteStringLiteral", e[e.InTemplateHeadOrNoSubstitutionTemplate = 4] = "InTemplateHeadOrNoSubstitutionTemplate", e[e.InTemplateMiddleOrTail = 5] = "InTemplateMiddleOrTail", e[e.InTemplateSubstitutionPosition = 6] = "InTemplateSubstitutionPosition", e))(LX || {}), kX = (e => (e[e.Punctuation = 0] = "Punctuation", e[e.Keyword = 1] = "Keyword", e[e.Operator = 2] = "Operator", e[e.Comment = 3] = "Comment", e[e.Whitespace = 4] = "Whitespace", e[e.Identifier = 5] = "Identifier", e[e.NumberLiteral = 6] = "NumberLiteral", e[e.BigIntLiteral = 7] = "BigIntLiteral", e[e.StringLiteral = 8] = "StringLiteral", e[e.RegExpLiteral = 9] = "RegExpLiteral", e))(kX || {}), DX = (e => (e.unknown = "", e.warning = "warning", e.keyword = "keyword", e.scriptElement = "script", e.moduleElement = "module", e.classElement = "class", e.localClassElement = "local class", e.interfaceElement = "interface", e.typeElement = "type", e.enumElement = "enum", e.enumMemberElement = "enum member", e.variableElement = "var", e.localVariableElement = "local var", e.functionElement = "function", e.localFunctionElement = "local function", e.memberFunctionElement = "method", e.memberGetAccessorElement = "getter", e.memberSetAccessorElement = "setter", e.memberVariableElement = "property", e.memberAccessorVariableElement = "accessor", e.constructorImplementationElement = "constructor", e.callSignatureElement = "call", e.indexSignatureElement = "index", e.constructSignatureElement = "construct", e.parameterElement = "parameter", e.typeParameterElement = "type parameter", e.primitiveType = "primitive type", e.label = "label", e.alias = "alias", e.constElement = "const", e.letElement = "let", e.directory = "directory", e.externalModuleName = "external module name", e.jsxAttribute = "JSX attribute", e.string = "string", e.link = "link", e.linkName = "link name", e.linkText = "link text", e))(DX || {}), wX = (e => (e.none = "", e.publicMemberModifier = "public", e.privateMemberModifier = "private", e.protectedMemberModifier = "protected", e.exportedModifier = "export", e.ambientModifier = "declare", e.staticModifier = "static", e.abstractModifier = "abstract", e.optionalModifier = "optional", e.deprecatedModifier = "deprecated", e.dtsModifier = ".d.ts", e.tsModifier = ".ts", e.tsxModifier = ".tsx", e.jsModifier = ".js", e.jsxModifier = ".jsx", e.jsonModifier = ".json", e.dmtsModifier = ".d.mts", e.mtsModifier = ".mts", e.mjsModifier = ".mjs", e.dctsModifier = ".d.cts", e.ctsModifier = ".cts", e.cjsModifier = ".cjs", e))(wX || {}), RX = (e => (e.comment = "comment", e.identifier = "identifier", e.keyword = "keyword", e.numericLiteral = "number", e.bigintLiteral = "bigint", e.operator = "operator", e.stringLiteral = "string", e.whiteSpace = "whitespace", e.text = "text", e.punctuation = "punctuation", e.className = "class name", e.enumName = "enum name", e.interfaceName = "interface name", e.moduleName = "module name", e.typeParameterName = "type parameter name", e.typeAliasName = "type alias name", e.parameterName = "parameter name", e.docCommentTagName = "doc comment tag name", e.jsxOpenTagName = "jsx open tag name", e.jsxCloseTagName = "jsx close tag name", e.jsxSelfClosingTagName = "jsx self closing tag name", e.jsxAttribute = "jsx attribute", e.jsxText = "jsx text", e.jsxAttributeStringLiteralValue = "jsx attribute string literal value", e))(RX || {}), OX = (e => (e[e.comment = 1] = "comment", e[e.identifier = 2] = "identifier", e[e.keyword = 3] = "keyword", e[e.numericLiteral = 4] = "numericLiteral", e[e.operator = 5] = "operator", e[e.stringLiteral = 6] = "stringLiteral", e[e.regularExpressionLiteral = 7] = "regularExpressionLiteral", e[e.whiteSpace = 8] = "whiteSpace", e[e.text = 9] = "text", e[e.punctuation = 10] = "punctuation", e[e.className = 11] = "className", e[e.enumName = 12] = "enumName", e[e.interfaceName = 13] = "interfaceName", e[e.moduleName = 14] = "moduleName", e[e.typeParameterName = 15] = "typeParameterName", e[e.typeAliasName = 16] = "typeAliasName", e[e.parameterName = 17] = "parameterName", e[e.docCommentTagName = 18] = "docCommentTagName", e[e.jsxOpenTagName = 19] = "jsxOpenTagName", e[e.jsxCloseTagName = 20] = "jsxCloseTagName", e[e.jsxSelfClosingTagName = 21] = "jsxSelfClosingTagName", e[e.jsxAttribute = 22] = "jsxAttribute", e[e.jsxText = 23] = "jsxText", e[e.jsxAttributeStringLiteralValue = 24] = "jsxAttributeStringLiteralValue", e[e.bigintLiteral = 25] = "bigintLiteral", e))(OX || {})
-                }
-            }); function LN(e) { switch (e.kind) { case 257: return Yn(e) && Ij(e) ? 7 : 1; case 166: case 205: case 169: case 168: case 299: case 300: case 171: case 170: case 173: case 174: case 175: case 259: case 215: case 216: case 295: case 288: return 1; case 165: case 261: case 262: case 184: return 2; case 349: return e.name === void 0 ? 3 : 2; case 302: case 260: return 3; case 264: return lu(e) || Gh(e) === 1 ? 5 : 4; case 263: case 272: case 273: case 268: case 269: case 274: case 275: return 7; case 308: return 5 }return 7 } function ZT(e) { e = zX(e); let t = e.parent; return e.kind === 308 ? 1 : pc(t) || Mu(t) || um(t) || $u(t) || lm(t) || Nl(t) && e === t.name ? 7 : i7(e) ? b6e(e) : Rh(e) ? LN(t) : Cd(e) && jn(e, Kp(IL, iS, gb)) ? 7 : x6e(e) ? 2 : E6e(e) ? 4 : _c(t) ? (L.assert(H_(t.parent)), 2) : mb(t) ? 3 : 1 } function b6e(e) { let t = e.kind === 163 ? e : Yu(e.parent) && e.parent.right === e ? e.parent : void 0; return t && t.parent.kind === 268 ? 7 : 4 } function i7(e) { for (; e.parent.kind === 163;)e = e.parent; return GA(e.parent) && e.parent.moduleReference === e } function E6e(e) { return T6e(e) || S6e(e) } function T6e(e) { let t = e, r = !0; if (t.parent.kind === 163) { for (; t.parent && t.parent.kind === 163;)t = t.parent; r = t.right === e } return t.parent.kind === 180 && !r } function S6e(e) { let t = e, r = !0; if (t.parent.kind === 208) { for (; t.parent && t.parent.kind === 208;)t = t.parent; r = t.name === e } if (!r && t.parent.kind === 230 && t.parent.parent.kind === 294) { let i = t.parent.parent.parent; return i.kind === 260 && t.parent.parent.token === 117 || i.kind === 261 && t.parent.parent.token === 94 } return !1 } function x6e(e) { switch (zI(e) && (e = e.parent), e.kind) { case 108: return !Dh(e); case 194: return !0 }switch (e.parent.kind) { case 180: return !0; case 202: return !e.parent.isTypeOf; case 230: return Gm(e.parent) }return !1 } function NX(e, t = !1, r = !1) { return ek(e, Pa, a7, t, r) } function ZL(e, t = !1, r = !1) { return ek(e, z0, a7, t, r) } function PX(e, t = !1, r = !1) { return ek(e, Ih, a7, t, r) } function phe(e, t = !1, r = !1) { return ek(e, PT, A6e, t, r) } function mhe(e, t = !1, r = !1) { return ek(e, du, a7, t, r) } function hhe(e, t = !1, r = !1) { return ek(e, Au, C6e, t, r) } function a7(e) { return e.expression } function A6e(e) { return e.tag } function C6e(e) { return e.tagName } function ek(e, t, r, i, o) { let s = i ? ghe(e) : o7(e); return o && (s = ql(s)), !!s && !!s.parent && t(s.parent) && r(s.parent) === s } function o7(e) { return j2(e) ? e.parent : e } function ghe(e) { return j2(e) || BX(e) ? e.parent : e } function s7(e, t) { for (; e;) { if (e.kind === 253 && e.label.escapedText === t) return e.label; e = e.parent } } function kN(e, t) { return br(e.expression) ? e.expression.name.text === t : !1 } function DN(e) { var t; return Re(e) && ((t = zr(e.parent, hI)) == null ? void 0 : t.label) === e } function MX(e) { var t; return Re(e) && ((t = zr(e.parent, J0)) == null ? void 0 : t.label) === e } function FX(e) { return MX(e) || DN(e) } function GX(e) { var t; return ((t = zr(e.parent, EI)) == null ? void 0 : t.tagName) === e } function yhe(e) { var t; return ((t = zr(e.parent, Yu)) == null ? void 0 : t.right) === e } function j2(e) { var t; return ((t = zr(e.parent, br)) == null ? void 0 : t.name) === e } function BX(e) { var t; return ((t = zr(e.parent, Vs)) == null ? void 0 : t.argumentExpression) === e } function UX(e) { var t; return ((t = zr(e.parent, Tc)) == null ? void 0 : t.name) === e } function VX(e) { var t; return Re(e) && ((t = zr(e.parent, Ia)) == null ? void 0 : t.name) === e } function c7(e) { switch (e.parent.kind) { case 169: case 168: case 299: case 302: case 171: case 170: case 174: case 175: case 264: return sa(e.parent) === e; case 209: return e.parent.argumentExpression === e; case 164: return !0; case 198: return e.parent.parent.kind === 196; default: return !1 } } function vhe(e) { return ab(e.parent.parent) && wI(e.parent.parent) === e } function e1(e) { for (Ff(e) && (e = e.parent.parent); ;) { if (e = e.parent, !e) return; switch (e.kind) { case 308: case 171: case 170: case 259: case 215: case 174: case 175: case 260: case 261: case 263: case 264: return e } } } function aE(e) { switch (e.kind) { case 308: return Lc(e) ? "module" : "script"; case 264: return "module"; case 260: case 228: return "class"; case 261: return "interface"; case 262: case 341: case 349: return "type"; case 263: return "enum"; case 257: return t(e); case 205: return t(nm(e)); case 216: case 259: case 215: return "function"; case 174: return "getter"; case 175: return "setter"; case 171: case 170: return "method"; case 299: let { initializer: r } = e; return Ia(r) ? "method" : "property"; case 169: case 168: case 300: case 301: return "property"; case 178: return "index"; case 177: return "construct"; case 176: return "call"; case 173: case 172: return "constructor"; case 165: return "type parameter"; case 302: return "enum member"; case 166: return Mr(e, 16476) ? "property" : "parameter"; case 268: case 273: case 278: case 271: case 277: return "alias"; case 223: let i = ic(e), { right: o } = e; switch (i) { case 7: case 8: case 9: case 0: return ""; case 1: case 2: let l = aE(o); return l === "" ? "const" : l; case 3: return ms(o) ? "method" : "property"; case 4: return "property"; case 5: return ms(o) ? "method" : "property"; case 6: return "local class"; default: return "" }case 79: return lm(e.parent) ? "alias" : ""; case 274: let s = aE(e.expression); return s === "" ? "const" : s; default: return "" }function t(r) { return kh(r) ? "const" : II(r) ? "let" : "var" } } function H2(e) { switch (e.kind) { case 108: return !0; case 79: return rW(e) && e.parent.kind === 166; default: return !1 } } function Wf(e, t) { let r = Sh(t), i = t.getLineAndCharacterOfPosition(e).line; return r[i] } function Od(e, t) { return jX(e.pos, e.end, t) } function bhe(e, t) { return RN(e, t.pos) && RN(e, t.end) } function wN(e, t) { return e.pos <= t && t <= e.end } function RN(e, t) { return e.pos < t && t < e.end } function jX(e, t, r) { return e <= r.pos && t >= r.end } function ON(e, t, r) { return e.pos <= t && e.end >= r } function tk(e, t, r) { return l7(e.pos, e.end, t, r) } function HX(e, t, r, i) { return l7(e.getStart(t), e.end, r, i) } function l7(e, t, r, i) { let o = Math.max(e, r), s = Math.min(t, i); return o < s } function WX(e, t, r) { return L.assert(e.pos <= t), t < e.end || !v_(e, r) } function v_(e, t) { if (e === void 0 || rc(e)) return !1; switch (e.kind) { case 260: case 261: case 263: case 207: case 203: case 184: case 238: case 265: case 266: case 272: case 276: return u7(e, 19, t); case 295: return v_(e.block, t); case 211: if (!e.arguments) return !0; case 210: case 214: case 193: return u7(e, 21, t); case 181: case 182: return v_(e.type, t); case 173: case 174: case 175: case 259: case 215: case 171: case 170: case 177: case 176: case 216: return e.body ? v_(e.body, t) : e.type ? v_(e.type, t) : NN(e, 21, t); case 264: return !!e.body && v_(e.body, t); case 242: return e.elseStatement ? v_(e.elseStatement, t) : v_(e.thenStatement, t); case 241: return v_(e.expression, t) || NN(e, 26, t); case 206: case 204: case 209: case 164: case 186: return u7(e, 23, t); case 178: return e.type ? v_(e.type, t) : NN(e, 23, t); case 292: case 293: return !1; case 245: case 246: case 247: case 244: return v_(e.statement, t); case 243: return NN(e, 115, t) ? u7(e, 21, t) : v_(e.statement, t); case 183: return v_(e.exprName, t); case 218: case 217: case 219: case 226: case 227: return v_(e.expression, t); case 212: return v_(e.template, t); case 225: let i = Os(e.templateSpans); return v_(i, t); case 236: return Pf(e.literal); case 275: case 269: return Pf(e.moduleSpecifier); case 221: return v_(e.operand, t); case 223: return v_(e.right, t); case 224: return v_(e.whenFalse, t); default: return !0 } } function u7(e, t, r) { let i = e.getChildren(r); if (i.length) { let o = To(i); if (o.kind === t) return !0; if (o.kind === 26 && i.length !== 1) return i[i.length - 2].kind === t } return !1 } function Ehe(e) { let t = d7(e); if (!t) return; let r = t.getChildren(); return { listItemIndex: DA(r, e), list: t } } function NN(e, t, r) { return !!Yo(e, t, r) } function Yo(e, t, r) { return wr(e.getChildren(r), i => i.kind === t) } function d7(e) { let t = wr(e.parent.getChildren(), r => A2(r) && Od(r, e)); return L.assert(!t || ya(t.getChildren(), e)), t } function The(e) { return e.kind === 88 } function I6e(e) { return e.kind === 84 } function L6e(e) { return e.kind === 98 } function k6e(e) { if (zl(e)) return e.name; if (sl(e)) { let t = e.modifiers && wr(e.modifiers, The); if (t) return t } if (_u(e)) { let t = wr(e.getChildren(), I6e); if (t) return t } } function D6e(e) { if (zl(e)) return e.name; if (Jc(e)) { let t = wr(e.modifiers, The); if (t) return t } if (ms(e)) { let t = wr(e.getChildren(), L6e); if (t) return t } } function w6e(e) { let t; return jn(e, r => (bi(r) && (t = r), !Yu(r.parent) && !bi(r.parent) && !_T(r.parent))), t } function f7(e, t) { if (e.flags & 8388608) return; let r = w7(e, t); if (r) return r; let i = w6e(e); return i && t.getTypeAtLocation(i) } function R6e(e, t) { if (!t) switch (e.kind) { case 260: case 228: return k6e(e); case 259: case 215: return D6e(e); case 173: return e }if (zl(e)) return e.name } function She(e, t) { if (e.importClause) { if (e.importClause.name && e.importClause.namedBindings) return; if (e.importClause.name) return e.importClause.name; if (e.importClause.namedBindings) { if (jg(e.importClause.namedBindings)) { let r = Wp(e.importClause.namedBindings.elements); return r ? r.name : void 0 } else if (nv(e.importClause.namedBindings)) return e.importClause.namedBindings.name } } if (!t) return e.moduleSpecifier } function xhe(e, t) { if (e.exportClause) { if (h_(e.exportClause)) return Wp(e.exportClause.elements) ? e.exportClause.elements[0].name : void 0; if (qm(e.exportClause)) return e.exportClause.name } if (!t) return e.moduleSpecifier } function O6e(e) { if (e.types.length === 1) return e.types[0].expression } function Ahe(e, t) { let { parent: r } = e; if (Ha(e) && (t || e.kind !== 88) ? g_(r) && ya(r.modifiers, e) : e.kind === 84 ? sl(r) || _u(e) : e.kind === 98 ? Jc(r) || ms(e) : e.kind === 118 ? ku(r) : e.kind === 92 ? hb(r) : e.kind === 154 ? Ep(r) : e.kind === 143 || e.kind === 142 ? Tc(r) : e.kind === 100 ? Nl(r) : e.kind === 137 ? p_(r) : e.kind === 151 && Sf(r)) { let i = R6e(r, t); if (i) return i } if ((e.kind === 113 || e.kind === 85 || e.kind === 119) && pu(r) && r.declarations.length === 1) { let i = r.declarations[0]; if (Re(i.name)) return i.name } if (e.kind === 154) { if (lm(r) && r.isTypeOnly) { let i = She(r.parent, t); if (i) return i } if (Il(r) && r.isTypeOnly) { let i = xhe(r, t); if (i) return i } } if (e.kind === 128) { if ($u(r) && r.propertyName || Mu(r) && r.propertyName || nv(r) || qm(r)) return r.name; if (Il(r) && r.exportClause && qm(r.exportClause)) return r.exportClause.name } if (e.kind === 100 && gl(r)) { let i = She(r, t); if (i) return i } if (e.kind === 93) { if (Il(r)) { let i = xhe(r, t); if (i) return i } if (pc(r)) return ql(r.expression) } if (e.kind === 147 && um(r)) return r.expression; if (e.kind === 158 && (gl(r) || Il(r)) && r.moduleSpecifier) return r.moduleSpecifier; if ((e.kind === 94 || e.kind === 117) && dd(r) && r.token === e.kind) { let i = O6e(r); if (i) return i } if (e.kind === 94) { if (_c(r) && r.constraint && m_(r.constraint)) return r.constraint.typeName; if (m2(r) && m_(r.extendsType)) return r.extendsType.typeName } if (e.kind === 138 && h2(r)) return r.typeParameter.name; if (e.kind === 101 && _c(r) && EL(r.parent)) return r.name; if (e.kind === 141 && RS(r) && r.operator === 141 && m_(r.type)) return r.type.typeName; if (e.kind === 146 && RS(r) && r.operator === 146 && wz(r.type) && m_(r.type.elementType)) return r.type.elementType.typeName; if (!t) { if ((e.kind === 103 && z0(r) || e.kind === 114 && NS(r) || e.kind === 112 && y2(r) || e.kind === 133 && v2(r) || e.kind === 125 && f3(r) || e.kind === 89 && Gue(r)) && r.expression) return ql(r.expression); if ((e.kind === 101 || e.kind === 102) && ar(r) && r.operatorToken === e) return ql(r.right); if (e.kind === 128 && fO(r) && m_(r.type)) return r.type.typeName; if (e.kind === 101 && Mz(r) || e.kind === 162 && _O(r)) return ql(r.expression) } return e } function zX(e) { return Ahe(e, !1) } function _7(e) { return Ahe(e, !0) } function ef(e, t) { return nk(e, t, r => c_(r) || Xu(r.kind) || pi(r)) } function nk(e, t, r) { return Che(e, t, !1, r, !1) } function Vi(e, t) { return Che(e, t, !0, void 0, !1) } function Che(e, t, r, i, o) { let s = e, l; e: for (; ;) { let d = s.getChildren(e), g = j1(d, t, (m, v) => v, (m, v) => { let S = d[m].getEnd(); if (S < t) return -1; let x = r ? d[m].getFullStart() : d[m].getStart(e, !0); return x > t ? 1 : f(d[m], x, S) ? d[m - 1] && f(d[m - 1]) ? 1 : 0 : i && x === t && d[m - 1] && d[m - 1].getEnd() === t && f(d[m - 1]) ? 1 : -1 }); if (l) return l; if (g >= 0 && d[g]) { s = d[g]; continue e } return s } function f(d, g, m) { if (m ?? (m = d.getEnd()), m < t || (g ?? (g = r ? d.getFullStart() : d.getStart(e, !0)), g > t)) return !1; if (t < m || t === m && (d.kind === 1 || o)) return !0; if (i && m === t) { let v = el(t, e, d); if (v && i(v)) return l = v, !0 } return !1 } } function Ihe(e, t) { let r = Vi(e, t); for (; PN(r);) { let i = t1(r, r.parent, e); if (!i) return; r = i } return r } function p7(e, t) { let r = Vi(e, t); return Z1(r) && t > r.getStart(e) && t < r.getEnd() ? r : el(t, e) } function t1(e, t, r) { return i(t); function i(o) { return Z1(o) && o.pos === e.end ? o : ks(o.getChildren(r), s => (s.pos <= e.pos && s.end > e.end || s.pos === e.end) && $X(s, r) ? i(s) : void 0) } } function el(e, t, r, i) { let o = s(r || t); return L.assert(!(o && PN(o))), o; function s(l) { if (Lhe(l) && l.kind !== 1) return l; let f = l.getChildren(t), d = j1(f, e, (m, v) => v, (m, v) => e < f[m].end ? !f[m - 1] || e >= f[m - 1].end ? 0 : 1 : -1); if (d >= 0 && f[d]) { let m = f[d]; if (e < m.end) if (m.getStart(t, !i) >= e || !$X(m, t) || PN(m)) { let x = KX(f, d, t, l.kind); return x && JX(x, t) } else return s(m) } L.assert(r !== void 0 || l.kind === 308 || l.kind === 1 || qj(l)); let g = KX(f, f.length, t, l.kind); return g && JX(g, t) } } function Lhe(e) { return Z1(e) && !PN(e) } function JX(e, t) { if (Lhe(e)) return e; let r = e.getChildren(t); if (r.length === 0) return e; let i = KX(r, r.length, t, e.kind); return i && JX(i, t) } function KX(e, t, r, i) { for (let o = t - 1; o >= 0; o--) { let s = e[o]; if (PN(s)) o === 0 && (i === 11 || i === 282) && L.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`"); else if ($X(e[o], r)) return e[o] } } function n1(e, t, r = el(t, e)) { if (r && Fj(r)) { let i = r.getStart(e), o = r.getEnd(); if (i < t && t < o) return !0; if (t === o) return !!r.isUnterminated } return !1 } function khe(e, t) { let r = Vi(e, t); return r ? !!(r.kind === 11 || r.kind === 29 && r.parent.kind === 11 || r.kind === 29 && r.parent.kind === 291 || r && r.kind === 19 && r.parent.kind === 291 || r.kind === 29 && r.parent.kind === 284) : !1 } function PN(e) { return CS(e) && e.containsOnlyTriviaWhiteSpaces } function qX(e, t) { let r = Vi(e, t); return Hy(r.kind) && t > r.getStart(e) } function Dhe(e, t) { let r = Vi(e, t); return !!(CS(r) || r.kind === 18 && AL(r.parent) && Hg(r.parent.parent) || r.kind === 29 && Au(r.parent) && Hg(r.parent.parent)) } function m7(e, t) { function r(i) { for (; i;)if (i.kind >= 282 && i.kind <= 291 || i.kind === 11 || i.kind === 29 || i.kind === 31 || i.kind === 79 || i.kind === 19 || i.kind === 18 || i.kind === 43) i = i.parent; else if (i.kind === 281) { if (t > i.getStart(e)) return !0; i = i.parent } else return !1; return !1 } return r(Vi(e, t)) } function h7(e, t, r) { let i = Xa(e.kind), o = Xa(t), s = e.getFullStart(), l = r.text.lastIndexOf(o, s); if (l === -1) return; if (r.text.lastIndexOf(i, s - 1) < l) { let g = el(l + 1, r); if (g && g.kind === t) return g } let f = e.kind, d = 0; for (; ;) { let g = el(e.getFullStart(), r); if (!g) return; if (e = g, e.kind === t) { if (d === 0) return e; d-- } else e.kind === f && d++ } } function whe(e, t, r) { return t ? e.getNonNullableType() : r ? e.getNonOptionalType() : e } function MN(e, t, r) { let i = YX(e, t); return i !== void 0 && (Gm(i.called) || XX(i.called, i.nTypeArguments, r).length !== 0 || MN(i.called, t, r)) } function XX(e, t, r) { let i = r.getTypeAtLocation(e); return Jl(e.parent) && (i = whe(i, pI(e.parent), !0)), (z0(e.parent) ? i.getConstructSignatures() : i.getCallSignatures()).filter(s => !!s.typeParameters && s.typeParameters.length >= t) } function YX(e, t) { if (t.text.lastIndexOf("<", e ? e.pos : t.text.length) === -1) return; let r = e, i = 0, o = 0; for (; r;) { switch (r.kind) { case 29: if (r = el(r.getFullStart(), t), r && r.kind === 28 && (r = el(r.getFullStart(), t)), !r || !Re(r)) return; if (!i) return Rh(r) ? void 0 : { called: r, nTypeArguments: o }; i--; break; case 49: i = 3; break; case 48: i = 2; break; case 31: i++; break; case 19: if (r = h7(r, 18, t), !r) return; break; case 21: if (r = h7(r, 20, t), !r) return; break; case 23: if (r = h7(r, 22, t), !r) return; break; case 27: o++; break; case 38: case 79: case 10: case 8: case 9: case 110: case 95: case 112: case 94: case 141: case 24: case 51: case 57: case 58: break; default: if (bi(r)) break; return }r = el(r.getFullStart(), t) } } function Kg(e, t, r) { return tl.getRangeOfEnclosingComment(e, t, void 0, r) } function Rhe(e, t) { let r = Vi(e, t); return !!jn(r, dm) } function $X(e, t) { return e.kind === 1 ? !!e.jsDoc : e.getWidth(t) !== 0 } function rk(e, t = 0) { let r = [], i = Kl(e) ? Tj(e) & ~t : 0; return i & 8 && r.push("private"), i & 16 && r.push("protected"), i & 4 && r.push("public"), (i & 32 || oc(e)) && r.push("static"), i & 256 && r.push("abstract"), i & 1 && r.push("export"), i & 8192 && r.push("deprecated"), e.flags & 16777216 && r.push("declare"), e.kind === 274 && r.push("export"), r.length > 0 ? r.join(",") : "" } function Ohe(e) { if (e.kind === 180 || e.kind === 210) return e.typeArguments; if (Ia(e) || e.kind === 260 || e.kind === 261) return e.typeParameters } function g7(e) { return e === 2 || e === 3 } function QX(e) { return !!(e === 10 || e === 13 || Hy(e)) } function Nhe(e) { if (!e.isIntersection()) return !1; let { types: t, checker: r } = e; return t.length === 2 && t[0].flags & 4 && r.isEmptyAnonymousObjectType(t[1]) } function Phe(e) { return 18 <= e && e <= 78 } function FN(e, t, r) { return Hy(e.kind) && e.getStart(r) < t && t < e.end || !!e.isUnterminated && t === e.end } function ZX(e) { switch (e) { case 123: case 121: case 122: return !0 }return !1 } function Mhe(e) { let t = VU(e); return xJ(t, e && e.configFile), t } function qg(e) { return !!((e.kind === 206 || e.kind === 207) && (e.parent.kind === 223 && e.parent.left === e && e.parent.operatorToken.kind === 63 || e.parent.kind === 247 && e.parent.initializer === e || qg(e.parent.kind === 299 ? e.parent.parent : e.parent))) } function Fhe(e, t) { return Bhe(e, t, !0) } function Ghe(e, t) { return Bhe(e, t, !1) } function Bhe(e, t, r) { let i = Kg(e, t, void 0); return !!i && r === bge.test(e.text.substring(i.pos, i.end)) } function eY(e) { if (e) switch (e.kind) { case 10: case 14: return tY(e); default: return Du(e) } } function Du(e, t, r) { return Wc(e.getStart(t), (r || e).getEnd()) } function tY(e) { if (!e.isUnterminated) return Wc(e.getStart() + 1, e.getEnd() - 1) } function nY(e, t) { return Gf(e.getStart(t), e.end) } function lv(e) { return Wc(e.pos, e.end) } function y7(e) { return Gf(e.start, e.start + e.length) } function v7(e, t, r) { return GN(il(e, t), r) } function GN(e, t) { return { span: e, newText: t } } function ik(e) { return ya(K7, e) } function rY(e) { return e.kind === 154 } function b7(e) { return rY(e) || Re(e) && e.text === "type" } function BN(e) { return !!(e.flags & 1536) && e.name.charCodeAt(0) === 34 } function W2() { let e = []; return t => { let r = zo(t); return !e[r] && (e[r] = !0) } } function E7(e) { return e.getText(0, e.getLength()) } function UN(e, t) { let r = ""; for (let i = 0; i < t; i++)r += e; return r } function iY(e) { return e.isTypeParameter() && e.getConstraint() || e } function VN(e) { return e.kind === 164 ? yf(e.expression) ? e.expression.text : void 0 : pi(e) ? vr(e) : l_(e) } function Uhe(e) { return e.getSourceFiles().some(t => !t.isDeclarationFile && !e.isSourceFileFromExternalLibrary(t) && !!(t.externalModuleIndicator || t.commonJsModuleIndicator)) } function Vhe(e) { return e.getSourceFiles().some(t => !t.isDeclarationFile && !e.isSourceFileFromExternalLibrary(t) && !!t.externalModuleIndicator) } function aY(e) { return !!e.module || Do(e) >= 2 || !!e.noEmit } function $S(e, t) { return { fileExists: r => e.fileExists(r), getCurrentDirectory: () => t.getCurrentDirectory(), readFile: ho(t, t.readFile), useCaseSensitiveFileNames: ho(t, t.useCaseSensitiveFileNames), getSymlinkCache: ho(t, t.getSymlinkCache) || e.getSymlinkCache, getModuleSpecifierCache: ho(t, t.getModuleSpecifierCache), getPackageJsonInfoCache: () => { var r; return (r = e.getModuleResolutionCache()) == null ? void 0 : r.getPackageJsonInfoCache() }, getGlobalTypingsCacheLocation: ho(t, t.getGlobalTypingsCacheLocation), redirectTargetsMap: e.redirectTargetsMap, getProjectReferenceRedirect: r => e.getProjectReferenceRedirect(r), isSourceOfProjectReferenceRedirect: r => e.isSourceOfProjectReferenceRedirect(r), getNearestAncestorDirectoryWithPackageJson: ho(t, t.getNearestAncestorDirectoryWithPackageJson), getFileIncludeReasons: () => e.getFileIncludeReasons() } } function oY(e, t) { return { ...$S(e, t), getCommonSourceDirectory: () => e.getCommonSourceDirectory() } } function T7(e) { return e === 2 || e >= 3 && e <= 99 || e === 100 } function jhe(e, t, r, i) { return e || t && t.length ? Xg(e, t, r, i) : void 0 } function Xg(e, t, r, i, o) { return D.createImportDeclaration(void 0, e || t ? D.createImportClause(!!o, e, t && t.length ? D.createNamedImports(t) : void 0) : void 0, typeof r == "string" ? S7(r, i) : r, void 0) } function S7(e, t) { return D.createStringLiteral(e, t === 0) } function sY(e, t) { return V6(e, t) ? 1 : 0 } function J_(e, t) { if (t.quotePreference && t.quotePreference !== "auto") return t.quotePreference === "single" ? 0 : 1; { let r = e.imports && wr(e.imports, i => yo(i) && !ws(i.parent)); return r ? sY(r, e) : 1 } } function Hhe(e) { switch (e) { case 0: return "'"; case 1: return '"'; default: return L.assertNever(e) } } function x7(e) { let t = A7(e); return t === void 0 ? void 0 : Gi(t) } function A7(e) { return e.escapedName !== "default" ? e.escapedName : ks(e.declarations, t => { let r = sa(t); return r && r.kind === 79 ? r.escapedText : void 0 }) } function C7(e) { return es(e) && (um(e.parent) || gl(e.parent) || qu(e.parent, !1) && e.parent.arguments[0] === e || Dd(e.parent) && e.parent.arguments[0] === e) } function jN(e) { return Wo(e) && cm(e.parent) && Re(e.name) && !e.propertyName } function I7(e, t) { let r = e.getTypeAtLocation(t.parent); return r && e.getPropertyOfType(r, t.name.text) } function HN(e, t, r) { if (e) for (; e.parent;) { if (Li(e.parent) || !N6e(r, e.parent, t)) return e; e = e.parent } } function N6e(e, t, r) { return bj(e, t.getStart(r)) && t.getEnd() <= wl(e) } function z2(e, t) { return g_(e) ? wr(e.modifiers, r => r.kind === t) : void 0 } function L7(e, t, r, i, o) { let l = (ba(r) ? r[0] : r).kind === 240 ? DH : yT, f = Pr(t.statements, l), d = ba(r) ? b_.detectImportDeclarationSorting(r, o) : 3, g = b_.getOrganizeImportsComparer(o, d === 2), m = ba(r) ? Ag(r, (v, S) => b_.compareImportsOrRequireStatements(v, S, g)) : [r]; if (!f.length) e.insertNodesAtTopOfFile(t, m, i); else if (f && (d = b_.detectImportDeclarationSorting(f, o))) { let v = b_.getOrganizeImportsComparer(o, d === 2); for (let S of m) { let x = b_.getImportDeclarationInsertionIndex(f, S, v); if (x === 0) { let A = f[0] === t.statements[0] ? { leadingTriviaOption: nr.LeadingTriviaOption.Exclude } : {}; e.insertNodeBefore(t, f[0], S, !1, A) } else { let A = f[x - 1]; e.insertNodeAfter(t, A, S) } } } else { let v = Os(f); v ? e.insertNodesAfter(t, v, m) : e.insertNodesAtTopOfFile(t, m, i) } } function cY(e, t) { return L.assert(e.isTypeOnly), Ga(e.getChildAt(0, t), rY) } function J2(e, t) { return !!e && !!t && e.start === t.start && e.length === t.length } function P6e(e, t) { return e.fileName === t.fileName && J2(e.textSpan, t.textSpan) } function lY(e, t) { if (e) { for (let r = 0; r < e.length; r++)if (e.indexOf(e[r]) === r) { let i = t(e[r], r); if (i) return i } } } function Whe(e, t, r) { for (let i = t; i < r; i++)if (!xh(e.charCodeAt(i))) return !1; return !0 } function WN(e, t, r) { let i = t.tryGetSourcePosition(e); return i && (!r || r(So(i.fileName)) ? i : void 0) } function uY(e, t, r) { let { fileName: i, textSpan: o } = e, s = WN({ fileName: i, pos: o.start }, t, r); if (!s) return; let l = WN({ fileName: i, pos: o.start + o.length }, t, r), f = l ? l.pos - s.pos : o.length; return { fileName: s.fileName, textSpan: { start: s.pos, length: f }, originalFileName: e.fileName, originalTextSpan: e.textSpan, contextSpan: zhe(e, t, r), originalContextSpan: e.contextSpan } } function zhe(e, t, r) { let i = e.contextSpan && WN({ fileName: e.fileName, pos: e.contextSpan.start }, t, r), o = e.contextSpan && WN({ fileName: e.fileName, pos: e.contextSpan.start + e.contextSpan.length }, t, r); return i && o ? { start: i.pos, length: o.pos - i.pos } : void 0 } function dY(e) { let t = e.declarations ? Sl(e.declarations) : void 0; return !!jn(t, r => ha(r) ? !0 : Wo(r) || cm(r) || g2(r) ? !1 : "quit") } function M6e() { let e = KR * 10, t, r, i, o; m(); let s = v => f(v, 17); return { displayParts: () => { let v = t.length && t[t.length - 1].text; return o > e && v && v !== "..." && (xh(v.charCodeAt(v.length - 1)) || t.push(Qu(" ", 16)), t.push(Qu("...", 15))), t }, writeKeyword: v => f(v, 5), writeOperator: v => f(v, 12), writePunctuation: v => f(v, 15), writeTrailingSemicolon: v => f(v, 15), writeSpace: v => f(v, 16), writeStringLiteral: v => f(v, 8), writeParameter: v => f(v, 13), writeProperty: v => f(v, 14), writeLiteral: v => f(v, 8), writeSymbol: d, writeLine: g, write: s, writeComment: s, getText: () => "", getTextPos: () => 0, getColumn: () => 0, getLine: () => 0, isAtStartOfLine: () => !1, hasTrailingWhitespace: () => !1, hasTrailingComment: () => !1, rawWrite: Sa, getIndent: () => i, increaseIndent: () => { i++ }, decreaseIndent: () => { i-- }, clear: m }; function l() { if (!(o > e) && r) { let v = Q6(i); v && (o += v.length, t.push(Qu(v, 16))), r = !1 } } function f(v, S) { o > e || (l(), o += v.length, t.push(Qu(v, S))) } function d(v, S) { o > e || (l(), o += v.length, t.push(Jhe(v, S))) } function g() { o > e || (o += 1, t.push(K2()), r = !0) } function m() { t = [], r = !0, i = 0, o = 0 } } function Jhe(e, t) { return Qu(e, r(t)); function r(i) { let o = i.flags; return o & 3 ? dY(i) ? 13 : 9 : o & 4 || o & 32768 || o & 65536 ? 14 : o & 8 ? 19 : o & 16 ? 20 : o & 32 ? 1 : o & 64 ? 4 : o & 384 ? 2 : o & 1536 ? 11 : o & 8192 ? 10 : o & 262144 ? 18 : o & 524288 || o & 2097152 ? 0 : 17 } } function Qu(e, t) { return { text: e, kind: IN[t] } } function Qs() { return Qu(" ", 16) } function _d(e) { return Qu(Xa(e), 5) } function Yl(e) { return Qu(Xa(e), 15) } function ak(e) { return Qu(Xa(e), 12) } function Khe(e) { return Qu(e, 13) } function qhe(e) { return Qu(e, 14) } function fY(e) { let t = lT(e); return t === void 0 ? tf(e) : _d(t) } function tf(e) { return Qu(e, 17) } function Xhe(e) { return Qu(e, 0) } function Yhe(e) { return Qu(e, 18) } function k7(e) { return Qu(e, 24) } function $he(e, t) { return { text: e, kind: IN[23], target: { fileName: Gn(t).fileName, textSpan: Du(t) } } } function _Y(e) { return Qu(e, 22) } function Qhe(e, t) { var r; let i = zue(e) ? "link" : Jue(e) ? "linkcode" : "linkplain", o = [_Y(`{@${i} `)]; if (!e.name) e.text && o.push(k7(e.text)); else { let s = t?.getSymbolAtLocation(e.name), l = G6e(e.text), f = Qc(e.name) + e.text.slice(0, l), d = F6e(e.text.slice(l)), g = s?.valueDeclaration || ((r = s?.declarations) == null ? void 0 : r[0]); g ? (o.push($he(f, g)), d && o.push(k7(d))) : o.push(k7(f + (l ? "" : " ") + d)) } return o.push(_Y("}")), o } function F6e(e) { let t = 0; if (e.charCodeAt(t++) === 124) { for (; t < e.length && e.charCodeAt(t) === 32;)t++; return e.slice(t) } return e } function G6e(e) { let t = e.indexOf("://"); if (t === 0) { for (; t < e.length && e.charCodeAt(t) !== 124;)t++; return t } if (e.indexOf("()") === 0) return 2; if (e.charAt(0) === "<") { let r = 0, i = 0; for (; i < e.length;)if (e[i] === "<" && r++, e[i] === ">" && r--, i++, !r) return i } return 0 } function bb(e, t) { var r; return t?.newLineCharacter || ((r = e.getNewLine) == null ? void 0 : r.call(e)) || Ege } function K2() {
-                return Qu(`
-`, 6)
-            } function uv(e) { try { return e(q7), q7.displayParts() } finally { q7.clear() } } function zN(e, t, r, i = 0) { return uv(o => { e.writeType(t, r, i | 1024 | 16384, o) }) } function ok(e, t, r, i, o = 0) { return uv(s => { e.writeSymbol(t, r, i, o | 8, s) }) } function pY(e, t, r, i = 0) { return i |= 25632, uv(o => { e.writeSignature(t, r, i, void 0, o) }) } function B6e(e, t) { let r = t.getSourceFile(); return uv(i => { fN().writeNode(4, e, r, i) }) } function Zhe(e) { return !!e.parent && eS(e.parent) && e.parent.propertyName === e } function mY(e, t) { return h4(e, t.getScriptKind && t.getScriptKind(e)) } function ege(e, t) { let r = e; for (; U6e(r) || Zp(r) && r.links.target;)Zp(r) && r.links.target ? r = r.links.target : r = wd(r, t); return r } function U6e(e) { return (e.flags & 2097152) !== 0 } function tge(e, t) { return $a(wd(e, t)) } function nge(e, t) { for (; xh(e.charCodeAt(t));)t += 1; return t } function hY(e, t) { for (; t > -1 && Yp(e.charCodeAt(t));)t -= 1; return t + 1 } function cc(e, t = !0) { let r = e && rge(e); return r && !t && pd(r), r } function JN(e, t, r) { let i = r(e); return i ? Ir(i, e) : i = rge(e, r), i && !t && pd(i), i } function rge(e, t) { let r = t ? s => JN(s, !0, t) : cc, o = xn(e, r, Bh, t ? s => s && gY(s, !0, t) : s => s && oE(s), r); if (o === e) { let s = yo(e) ? Ir(D.createStringLiteralFromNode(e), e) : Vf(e) ? Ir(D.createNumericLiteral(e.text, e.numericLiteralFlags), e) : D.cloneNode(e); return it(s, e) } return o.parent = void 0, o } function oE(e, t = !0) { return e && D.createNodeArray(e.map(r => cc(r, t)), e.hasTrailingComma) } function gY(e, t, r) { return D.createNodeArray(e.map(i => JN(i, t, r)), e.hasTrailingComma) } function pd(e) { D7(e), ige(e) } function D7(e) { yY(e, 1024, j6e) } function ige(e) { yY(e, 2048, yW) } function r1(e, t) { let r = e.getSourceFile(), i = r.text; V6e(e, i) ? q2(e, t, r) : qN(e, t, r), sk(e, t, r) } function V6e(e, t) { let r = e.getFullStart(), i = e.getStart(); for (let o = r; o < i; o++)if (t.charCodeAt(o) === 10) return !0; return !1 } function yY(e, t, r) { bp(e, t); let i = r(e); i && yY(i, t, r) } function j6e(e) { return e.forEachChild(t => t) } function i1(e, t) { let r = e; for (let i = 1; !g6(t, r); i++)r = `${e}_${i}`; return r } function KN(e, t, r, i) { let o = 0, s = -1; for (let { fileName: l, textChanges: f } of e) { L.assert(l === t); for (let d of f) { let { span: g, newText: m } = d, v = H6e(m, _S(r)); if (v !== -1 && (s = g.start + o + v, !i)) return s; o += m.length - g.length } } return L.assert(i), L.assert(s >= 0), s } function q2(e, t, r, i, o) { vw(r.text, e.pos, vY(t, r, i, o, nO)) } function sk(e, t, r, i, o) { bw(r.text, e.end, vY(t, r, i, o, R4)) } function qN(e, t, r, i, o) { bw(r.text, e.pos, vY(t, r, i, o, nO)) } function vY(e, t, r, i, o) { return (s, l, f, d) => { f === 3 ? (s += 2, l -= 2) : s += 2, o(e, r || f, t.text.slice(s, l), i !== void 0 ? i : d) } } function H6e(e, t) { if (na(e, t)) return 0; let r = e.indexOf(" " + t); return r === -1 && (r = e.indexOf("." + t)), r === -1 && (r = e.indexOf('"' + t)), r === -1 ? -1 : r + 1 } function bY(e) { return ar(e) && e.operatorToken.kind === 27 || rs(e) || fO(e) && rs(e.expression) } function w7(e, t, r) { let i = qy(e.parent); switch (i.kind) { case 211: return t.getContextualType(i, r); case 223: { let { left: o, operatorToken: s, right: l } = i; return R7(s.kind) ? t.getTypeAtLocation(e === l ? o : l) : t.getContextualType(e, r) } case 292: return TY(i, t); default: return t.getContextualType(e, r) } } function ck(e, t, r) { let i = J_(e, t), o = JSON.stringify(r); return i === 0 ? `'${u_(o).replace(/'/g, "\\'").replace(/\\"/g, '"')}'` : o } function R7(e) { switch (e) { case 36: case 34: case 37: case 35: return !0; default: return !1 } } function age(e) { switch (e.kind) { case 10: case 14: case 225: case 212: return !0; default: return !1 } } function EY(e) { return !!e.getStringIndexType() || !!e.getNumberIndexType() } function TY(e, t) { return t.getTypeAtLocation(e.parent.parent.expression) } function lk(e, t, r, i) { let o = r.getTypeChecker(), s = !0, l = () => s = !1, f = o.typeToTypeNode(e, t, 1, { trackSymbol: (d, g, m) => (s = s && o.isSymbolAccessible(d, g, m, !1).accessibility === 0, !s), reportInaccessibleThisError: l, reportPrivateInBaseOfClassExpression: l, reportInaccessibleUniqueSymbolError: l, moduleResolverHost: oY(r, i) }); return s ? f : void 0 } function SY(e) { return e === 176 || e === 177 || e === 178 || e === 168 || e === 170 } function oge(e) { return e === 259 || e === 173 || e === 171 || e === 174 || e === 175 } function sge(e) { return e === 264 } function O7(e) { return e === 240 || e === 241 || e === 243 || e === 248 || e === 249 || e === 250 || e === 254 || e === 256 || e === 169 || e === 262 || e === 269 || e === 268 || e === 275 || e === 267 || e === 274 } function W6e(e, t) { let r = e.getLastToken(t); if (r && r.kind === 26) return !1; if (SY(e.kind)) { if (r && r.kind === 27) return !1 } else if (sge(e.kind)) { let f = To(e.getChildren(t)); if (f && Tp(f)) return !1 } else if (oge(e.kind)) { let f = To(e.getChildren(t)); if (f && bT(f)) return !1 } else if (!O7(e.kind)) return !1; if (e.kind === 243) return !0; let i = jn(e, f => !f.parent), o = t1(e, i, t); if (!o || o.kind === 19) return !0; let s = t.getLineAndCharacterOfPosition(e.getEnd()).line, l = t.getLineAndCharacterOfPosition(o.getStart(t)).line; return s !== l } function N7(e, t, r) { let i = jn(t, o => o.end !== e ? "quit" : NY(o.kind)); return !!i && W6e(i, r) } function P7(e) { let t = 0, r = 0, i = 5; return pa(e, function o(s) { if (O7(s.kind)) { let l = s.getLastToken(e); l?.kind === 26 ? t++ : r++ } else if (SY(s.kind)) { let l = s.getLastToken(e); if (l?.kind === 26) t++; else if (l && l.kind !== 27) { let f = Gs(e, l.getStart(e)).line, d = Gs(e, Pg(e, l.end).start).line; f !== d && r++ } } return t + r >= i ? !0 : pa(s, o) }), t === 0 && r <= 1 ? !0 : t / r > 1 / i } function M7(e, t) { return U7(e, e.getDirectories, t) || [] } function xY(e, t, r, i, o) { return U7(e, e.readDirectory, t, r, i, o) || Je } function F7(e, t) { return U7(e, e.fileExists, t) } function G7(e, t) { return B7(() => gp(t, e)) || !1 } function B7(e) { try { return e() } catch { return } } function U7(e, t, ...r) { return B7(() => t && t.apply(e, r)) } function AY(e, t, r) { let i = []; return Th(e, o => { if (o === r) return !0; let s = vi(o, "package.json"); F7(t, s) && i.push(s) }), i } function cge(e, t) { let r; return Th(e, i => { if (i === "node_modules" || (r = Vpe(i, o => F7(t, o), "package.json"), r)) return !0 }), r } function lge(e, t) { if (!t.fileExists) return []; let r = []; return Th(ni(e), i => { let o = vi(i, "package.json"); if (t.fileExists(o)) { let s = uge(o, t); s && r.push(s) } }), r } function uge(e, t) { if (!t.readFile) return; let r = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"], i = t.readFile(e) || "", o = z6e(i), s = {}; if (o) for (let d of r) { let g = o[d]; if (!g) continue; let m = new Map; for (let v in g) m.set(v, g[v]); s[d] = m } let l = [[1, s.dependencies], [2, s.devDependencies], [8, s.optionalDependencies], [4, s.peerDependencies]]; return { ...s, parseable: !!o, fileName: e, get: f, has(d, g) { return !!f(d, g) } }; function f(d, g = 15) { for (let [m, v] of l) if (v && g & m) { let S = v.get(d); if (S !== void 0) return S } } } function uk(e, t, r) { let i = (r.getPackageJsonsVisibleToFile && r.getPackageJsonsVisibleToFile(e.fileName) || lge(e.fileName, r)).filter(A => A.parseable), o, s, l; return { allowsImportingAmbientModule: d, allowsImportingSourceFile: g, allowsImportingSpecifier: m }; function f(A) { let w = x(A); for (let C of i) if (C.has(w) || C.has(rF(w))) return !0; return !1 } function d(A, w) { if (!i.length || !A.valueDeclaration) return !0; if (!s) s = new Map; else { let q = s.get(A); if (q !== void 0) return q } let C = u_(A.getName()); if (v(C)) return s.set(A, !0), !0; let P = A.valueDeclaration.getSourceFile(), F = S(P.fileName, w); if (typeof F > "u") return s.set(A, !0), !0; let B = f(F) || f(C); return s.set(A, B), B } function g(A, w) { if (!i.length) return !0; if (!l) l = new Map; else { let F = l.get(A); if (F !== void 0) return F } let C = S(A.fileName, w); if (!C) return l.set(A, !0), !0; let P = f(C); return l.set(A, P), P } function m(A) { return !i.length || v(A) || Jd(A) || qp(A) ? !0 : f(A) } function v(A) { return !!(Cu(e) && QT.nodeCoreModules.has(A) && (o === void 0 && (o = V7(e)), o)) } function S(A, w) { if (!jl(A, "node_modules")) return; let C = Q0.getNodeModulesPackageName(r.getCompilationSettings(), e, A, w, t); if (C && !Jd(C) && !qp(C)) return x(C) } function x(A) { let w = Ou(ZO(A)).slice(1); return na(w[0], "@") ? `${w[0]}/${w[1]}` : w[0] } } function z6e(e) { try { return JSON.parse(e) } catch { return } } function V7(e) { return vt(e.imports, ({ text: t }) => QT.nodeCoreModules.has(t)) } function dge(e) { return ya(Ou(e), "node_modules") } function CY(e) { return e.file !== void 0 && e.start !== void 0 && e.length !== void 0 } function fge(e, t) { let r = Du(e), i = j1(t, r, Ks, f8); if (i >= 0) { let o = t[i]; return L.assertEqual(o.file, e.getSourceFile(), "Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"), Ga(o, CY) } } function _ge(e, t) { var r; let i = j1(t, e.start, l => l.start, Es); for (i < 0 && (i = ~i); ((r = t[i - 1]) == null ? void 0 : r.start) === e.start;)i--; let o = [], s = wl(e); for (; ;) { let l = zr(t[i], CY); if (!l || l.start > s) break; Roe(e, l) && o.push(l), i++ } return o } function QS({ startPosition: e, endPosition: t }) { return Wc(e, t === void 0 ? e : t) } function IY(e, t) { let r = Vi(e, t.start); return jn(r, o => o.getStart(e) < t.start || o.getEnd() > wl(t) ? "quit" : ot(o) && J2(t, Du(o, e))) } function pge(e, t, r = Ks) { return e ? ba(e) ? r(on(e, t)) : t(e, 0) : void 0 } function LY(e) { return ba(e) ? Vo(e) : e } function mge(e, t) { if (hge(e)) { let r = gge(e); if (r) return r; let i = gu.moduleSymbolToValidIdentifier(kY(e), t, !1), o = gu.moduleSymbolToValidIdentifier(kY(e), t, !0); return i === o ? i : [i, o] } return e.name } function j7(e, t, r) { return hge(e) ? gge(e) || gu.moduleSymbolToValidIdentifier(kY(e), t, !!r) : e.name } function hge(e) { return !(e.flags & 33554432) && (e.escapedName === "export=" || e.escapedName === "default") } function gge(e) { return ks(e.declarations, t => { var r, i; return pc(t) ? (r = zr(ql(t.expression), Re)) == null ? void 0 : r.text : (i = zr(sa(t), Re)) == null ? void 0 : i.text }) } function kY(e) { var t; return L.checkDefined(e.parent, `Symbol parent was undefined. Flags: ${L.formatSymbolFlags(e.flags)}. Declarations: ${(t = e.declarations) == null ? void 0 : t.map(r => { let i = L.formatSyntaxKind(r.kind), o = Yn(r), { expression: s } = r; return (o ? "[JS]" : "") + i + (s ? ` (expression: ${L.formatSyntaxKind(s.kind)})` : "") }).join(", ")}.`) } function yge(e, t, r) { let i = t.length; if (i + r > e.length) return !1; for (let o = 0; o < i; o++)if (t.charCodeAt(o) !== e.charCodeAt(o + r)) return !1; return !0 } function DY(e) { return e.charCodeAt(0) === 95 } function J6e(e) { return !vge(e) } function vge(e) { let t = e.getSourceFile(); return !t.externalModuleIndicator && !t.commonJsModuleIndicator ? !1 : Yn(e) || !jn(e, r => Tc(r) && mp(r)) } function H7(e) { return !!(Tj(e) & 8192) } function W7(e, t) { let r = ks(e.imports, i => { if (QT.nodeCoreModules.has(i.text)) return na(i.text, "node:") }); return r ?? t.usesUriStyleNodeCoreModules } function XN(e) {
-                return e === `
-`? 1 : 0
-            } function ZS(e) { return ba(e) ? jm(uo(e[0]), e.slice(1)) : uo(e) } function z7({ options: e }, t) { let r = !e.semicolons || e.semicolons === "ignore", i = e.semicolons === "remove" || r && !P7(t); return { ...e, semicolons: i ? "remove" : "ignore" } } function wY(e) { return e === 2 || e === 3 } function dk(e, t) { return e.isSourceFileFromExternalLibrary(t) || e.isSourceFileDefaultLibrary(t) } function J7(e, t) { let r = new Set, i = new Set, o = new Set; for (let f of t) if (!yO(f)) { let d = vs(f.expression); if (fT(d)) switch (d.kind) { case 14: case 10: r.add(d.text); break; case 8: i.add(parseInt(d.text)); break; case 9: let g = Ple(Oc(d.text, "n") ? d.text.slice(0, -1) : d.text); g && o.add(j0(g)); break } else { let g = e.getSymbolAtLocation(f.expression); if (g && g.valueDeclaration && q0(g.valueDeclaration)) { let m = e.getConstantValue(g.valueDeclaration); m !== void 0 && s(m) } } } return { addValue: s, hasValue: l }; function s(f) { switch (typeof f) { case "string": r.add(f); break; case "number": i.add(f) } } function l(f) { switch (typeof f) { case "string": return r.has(f); case "number": return i.has(f); case "object": return o.has(j0(f)) } } } var $l, RY, bge, K7, OY, q7, Ege, X7, NY, K6e = gt({
-                "src/services/utilities.ts"() {
-                    "use strict"; Fr(), $l = kg(99, !0), RY = (e => (e[e.None = 0] = "None", e[e.Value = 1] = "Value", e[e.Type = 2] = "Type", e[e.Namespace = 4] = "Namespace", e[e.All = 7] = "All", e))(RY || {}), bge = /^\/\/\/\s*</, K7 = [131, 129, 160, 134, 95, 138, 141, 144, 104, 148, 149, 146, 152, 153, 110, 114, 155, 156, 157], OY = (e => (e[e.Single = 0] = "Single", e[e.Double = 1] = "Double", e))(OY || {}), q7 = M6e(), Ege = `
-`, X7 = "anonymous function", NY = Kp(SY, oge, sge, O7)
-                }
-            }); function Tge(e) { let t = 1, r = Nf(), i = new Map, o = new Map, s, l = { isUsableByFile: x => x === s, isEmpty: () => !r.size, clear: () => { r.clear(), i.clear(), s = void 0 }, add: (x, A, w, C, P, F, B, q) => { x !== s && (l.clear(), s = x); let W; if (P) { let ge = jW(P.fileName); if (ge) { let { topLevelNodeModulesIndex: X, topLevelPackageNameIndex: Ve, packageRootIndex: we } = ge; if (W = iF(ZO(P.fileName.substring(Ve + 1, we))), na(x, P.path.substring(0, X))) { let ke = o.get(W), Pe = P.fileName.substring(0, Ve + 1); if (ke) { let Ce = ke.indexOf(Wg); X > Ce && o.set(W, Pe) } else o.set(W, Pe) } } } let R = F === 1 && QA(A) || A, ie = F === 0 || BN(R) ? Gi(w) : mge(R, void 0), $ = typeof ie == "string" ? ie : ie[0], fe = typeof ie == "string" ? void 0 : ie[1], Z = u_(C.name), U = t++, re = wd(A, q), le = A.flags & 33554432 ? void 0 : A, _e = C.flags & 33554432 ? void 0 : C; (!le || !_e) && i.set(U, [A, C]), r.add(d($, A, fl(Z) ? void 0 : Z, q), { id: U, symbolTableKey: w, symbolName: $, capitalizedSymbolName: fe, moduleName: Z, moduleFile: P, moduleFileName: P?.fileName, packageName: W, exportKind: F, targetFlags: re.flags, isFromPackageJson: B, symbol: le, moduleSymbol: _e }) }, get: (x, A) => { if (x !== s) return; let w = r.get(A); return w?.map(f) }, search: (x, A, w, C) => { if (x === s) return Ld(r, (P, F) => { let { symbolName: B, ambientModuleName: q } = g(F), W = A && P[0].capitalizedSymbolName || B; if (w(W, P[0].targetFlags)) { let R = P.map(f).filter((ie, $) => S(ie, P[$].packageName)); if (R.length) { let ie = C(R, W, !!q, F); if (ie !== void 0) return ie } } }) }, releaseSymbols: () => { i.clear() }, onFileChanged: (x, A, w) => m(x) && m(A) ? !1 : s && s !== A.path || w && V7(x) !== V7(A) || !up(x.moduleAugmentations, A.moduleAugmentations) || !v(x, A) ? (l.clear(), !0) : (s = A.path, !1) }; return L.isDebugging && Object.defineProperty(l, "__cache", { get: () => r }), l; function f(x) { if (x.symbol && x.moduleSymbol) return x; let { id: A, exportKind: w, targetFlags: C, isFromPackageJson: P, moduleFileName: F } = x, [B, q] = i.get(A) || Je; if (B && q) return { symbol: B, moduleSymbol: q, moduleFileName: F, exportKind: w, targetFlags: C, isFromPackageJson: P }; let W = (P ? e.getPackageJsonAutoImportProvider() : e.getCurrentProgram()).getTypeChecker(), Y = x.moduleSymbol || q || L.checkDefined(x.moduleFile ? W.getMergedSymbol(x.moduleFile.symbol) : W.tryFindAmbientModule(x.moduleName)), R = x.symbol || B || L.checkDefined(w === 2 ? W.resolveExternalModuleSymbol(Y) : W.tryGetMemberInModuleExportsAndProperties(Gi(x.symbolTableKey), Y), `Could not find symbol '${x.symbolName}' by key '${x.symbolTableKey}' in module ${Y.name}`); return i.set(A, [R, Y]), { symbol: R, moduleSymbol: Y, moduleFileName: F, exportKind: w, targetFlags: C, isFromPackageJson: P } } function d(x, A, w, C) { let P = w || ""; return `${x}|${$a(wd(A, C))}|${P}` } function g(x) { let A = x.substring(0, x.indexOf("|")), w = x.substring(x.lastIndexOf("|") + 1); return { symbolName: A, ambientModuleName: w === "" ? void 0 : w } } function m(x) { return !x.commonJsModuleIndicator && !x.externalModuleIndicator && !x.moduleAugmentations && !x.ambientModuleNames } function v(x, A) { if (!up(x.ambientModuleNames, A.ambientModuleNames)) return !1; let w = -1, C = -1; for (let P of A.ambientModuleNames) { let F = B => lH(B) && B.name.text === P; if (w = Yc(x.statements, F, w + 1), C = Yc(A.statements, F, C + 1), x.statements[w] !== A.statements[C]) return !1 } return !0 } function S(x, A) { if (!A || !x.moduleFileName) return !0; let w = e.getGlobalTypingsCacheLocation(); if (w && na(x.moduleFileName, w)) return !0; let C = o.get(A); return !C || na(x.moduleFileName, C) } } function PY(e, t, r, i, o, s, l) { var f; if (t === r) return !1; let d = l?.get(t.path, r.path, i, {}); if (d?.isBlockedByPackageJsonDependencies !== void 0) return !d.isBlockedByPackageJsonDependencies; let g = lb(s), m = (f = s.getGlobalTypingsCacheLocation) == null ? void 0 : f.call(s), v = !!Q0.forEachFileNameOfModule(t.fileName, r.fileName, s, !1, S => { let x = e.getSourceFile(S); return (x === r || !x) && q6e(t.fileName, S, g, m) }); if (o) { let S = v && o.allowsImportingSourceFile(r, s); return l?.setBlockedByPackageJsonDependencies(t.path, r.path, i, {}, !S), S } return v } function q6e(e, t, r, i) { let o = Th(t, l => Hl(l) === "node_modules" ? l : void 0), s = o && ni(r(o)); return s === void 0 || na(r(e), s) || !!i && na(r(i), s) } function MY(e, t, r, i, o) { var s, l; let f = xR(t), d = r.autoImportFileExcludePatterns && Zi(r.autoImportFileExcludePatterns, m => { let v = kW(m, "", "exclude"); return v ? Qy(v, f) : void 0 }); Sge(e.getTypeChecker(), e.getSourceFiles(), d, (m, v) => o(m, v, e, !1)); let g = i && ((s = t.getPackageJsonAutoImportProvider) == null ? void 0 : s.call(t)); if (g) { let m = Ms(), v = e.getTypeChecker(); Sge(g.getTypeChecker(), g.getSourceFiles(), d, (S, x) => { (x && !e.getSourceFile(x.fileName) || !x && !v.resolveName(S.name, void 0, 1536, !1)) && o(S, x, g, !0) }), (l = t.log) == null || l.call(t, `forEachExternalModuleToImportFrom autoImportProvider: ${Ms() - m}`) } } function Sge(e, t, r, i) { var o; let s = r && (l => r.some(f => f.test(l))); for (let l of e.getAmbientModules()) !jl(l.name, "*") && !(r && ((o = l.declarations) != null && o.every(f => s(f.getSourceFile().fileName)))) && i(l, void 0); for (let l of t) kd(l) && !s?.(l.fileName) && i(e.getMergedSymbol(l.symbol), l) } function YN(e, t, r, i, o) { var s, l, f, d, g; let m = Ms(); (s = t.getPackageJsonAutoImportProvider) == null || s.call(t); let v = ((l = t.getCachedExportInfoMap) == null ? void 0 : l.call(t)) || Tge({ getCurrentProgram: () => r, getPackageJsonAutoImportProvider: () => { var A; return (A = t.getPackageJsonAutoImportProvider) == null ? void 0 : A.call(t) }, getGlobalTypingsCacheLocation: () => { var A; return (A = t.getGlobalTypingsCacheLocation) == null ? void 0 : A.call(t) } }); if (v.isUsableByFile(e.path)) return (f = t.log) == null || f.call(t, "getExportInfoMap: cache hit"), v; (d = t.log) == null || d.call(t, "getExportInfoMap: cache miss or empty; calculating new results"); let S = r.getCompilerOptions(), x = 0; try { MY(r, t, i, !0, (A, w, C, P) => { ++x % 100 === 0 && o?.throwIfCancellationRequested(); let F = new Map, B = C.getTypeChecker(), q = Y7(A, B, S); q && xge(q.symbol, B) && v.add(e.path, q.symbol, q.exportKind === 1 ? "default" : "export=", A, w, q.exportKind, P, B), B.forEachExportAndPropertyOfModule(A, (W, Y) => { W !== q?.symbol && xge(W, B) && V_(F, Y) && v.add(e.path, W, Y, A, w, 0, P, B) }) }) } catch (A) { throw v.clear(), A } return (g = t.log) == null || g.call(t, `getExportInfoMap: done in ${Ms() - m} ms`), v } function Y7(e, t, r) { let i = X6e(e, t); if (!i) return; let { symbol: o, exportKind: s } = i, l = $7(o, t, r); return l && { symbol: o, exportKind: s, ...l } } function xge(e, t) { return !t.isUndefinedSymbol(e) && !t.isUnknownSymbol(e) && !gR(e) && !Cce(e) } function X6e(e, t) { let r = t.resolveExternalModuleSymbol(e); if (r !== e) return { symbol: r, exportKind: 2 }; let i = t.tryGetMemberInModuleExports("default", e); if (i) return { symbol: i, exportKind: 1 } } function $7(e, t, r) { let i = QA(e); if (i) return { resolvedSymbol: i, name: i.name }; let o = Y6e(e); if (o !== void 0) return { resolvedSymbol: e, name: o }; if (e.flags & 2097152) { let s = t.getImmediateAliasedSymbol(e); if (s && s.parent) return $7(s, t, r) } return e.escapedName !== "default" && e.escapedName !== "export=" ? { resolvedSymbol: e, name: e.getName() } : { resolvedSymbol: e, name: j7(e, r.target) } } function Y6e(e) { return e.declarations && ks(e.declarations, t => { var r; if (pc(t)) return (r = zr(ql(t.expression), Re)) == null ? void 0 : r.text; if (Mu(t)) return L.assert(t.name.text === "default", "Expected the specifier to be a default export"), t.propertyName && t.propertyName.text }) } var FY, GY, $6e = gt({ "src/services/exportInfoMap.ts"() { "use strict"; Fr(), FY = (e => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.Namespace = 2] = "Namespace", e[e.CommonJS = 3] = "CommonJS", e))(FY || {}), GY = (e => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.ExportEquals = 2] = "ExportEquals", e[e.UMD = 3] = "UMD", e))(GY || {}) } }); function Age() { let e = kg(99, !1); function t(i, o, s) { return e4e(r(i, o, s), i) } function r(i, o, s) { let l = 0, f = 0, d = [], { prefix: g, pushTemplate: m } = r4e(o); i = g + i; let v = g.length; m && d.push(15), e.setText(i); let S = 0, x = [], A = 0; do { l = e.scan(), KA(l) || (w(), f = l); let C = e.getTextPos(); if (Z6e(e.getTokenPos(), C, v, o4e(l), x), C >= i.length) { let P = Q6e(e, l, Os(d)); P !== void 0 && (S = P) } } while (l !== 1); function w() { switch (l) { case 43: case 68: !wge[f] && e.reScanSlashToken() === 13 && (l = 13); break; case 29: f === 79 && A++; break; case 31: A > 0 && A--; break; case 131: case 152: case 148: case 134: case 153: A > 0 && !s && (l = 79); break; case 15: d.push(l); break; case 18: d.length > 0 && d.push(l); break; case 19: if (d.length > 0) { let C = Os(d); C === 15 ? (l = e.reScanTemplateToken(!1), l === 17 ? d.pop() : L.assertEqual(l, 16, "Should have been a template middle.")) : (L.assertEqual(C, 18, "Should have been an open brace"), d.pop()) } break; default: if (!Xu(l)) break; (f === 24 || Xu(f) && Xu(l) && !n4e(f, l)) && (l = 79) } } return { endOfLineState: S, spans: x } } return { getClassificationsForLine: t, getEncodedLexicalClassifications: r } } function Q6e(e, t, r) { switch (t) { case 10: { if (!e.isUnterminated()) return; let i = e.getTokenText(), o = i.length - 1, s = 0; for (; i.charCodeAt(o - s) === 92;)s++; return s & 1 ? i.charCodeAt(0) === 34 ? 3 : 2 : void 0 } case 3: return e.isUnterminated() ? 1 : void 0; default: if (Hy(t)) { if (!e.isUnterminated()) return; switch (t) { case 17: return 5; case 14: return 4; default: return L.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #" + t) } } return r === 15 ? 6 : void 0 } } function Z6e(e, t, r, i, o) { if (i === 8) return; e === 0 && r > 0 && (e += r); let s = t - e; s > 0 && o.push(e - r, s, i) } function e4e(e, t) { let r = [], i = e.spans, o = 0; for (let l = 0; l < i.length; l += 3) { let f = i[l], d = i[l + 1], g = i[l + 2]; if (o >= 0) { let m = f - o; m > 0 && r.push({ length: m, classification: 4 }) } r.push({ length: d, classification: t4e(g) }), o = f + d } let s = t.length - o; return s > 0 && r.push({ length: s, classification: 4 }), { entries: r, finalLexState: e.endOfLineState } } function t4e(e) { switch (e) { case 1: return 3; case 3: return 1; case 4: return 6; case 25: return 7; case 5: return 2; case 6: return 8; case 8: return 4; case 10: return 0; case 2: case 11: case 12: case 13: case 14: case 15: case 16: case 9: case 17: return 5; default: return } } function n4e(e, t) { if (!ZX(e)) return !0; switch (t) { case 137: case 151: case 135: case 124: case 127: return !0; default: return !1 } } function r4e(e) {
-                switch (e) {
-                    case 3: return {
-                        prefix: `"\\
-`}; case 2: return {
-                        prefix: `'\\
-`}; case 1: return {
-                        prefix: `/*
-`}; case 4: return { prefix: "`\n" }; case 5: return {
-                        prefix: `}
-`, pushTemplate: !0
-                    }; case 6: return { prefix: "", pushTemplate: !0 }; case 0: return { prefix: "" }; default: return L.assertNever(e)
-                }
-            } function i4e(e) { switch (e) { case 41: case 43: case 44: case 39: case 40: case 47: case 48: case 49: case 29: case 31: case 32: case 33: case 102: case 101: case 128: case 150: case 34: case 35: case 36: case 37: case 50: case 52: case 51: case 55: case 56: case 74: case 73: case 78: case 70: case 71: case 72: case 64: case 65: case 66: case 68: case 69: case 63: case 27: case 60: case 75: case 76: case 77: return !0; default: return !1 } } function a4e(e) { switch (e) { case 39: case 40: case 54: case 53: case 45: case 46: return !0; default: return !1 } } function o4e(e) { if (Xu(e)) return 3; if (i4e(e) || a4e(e)) return 5; if (e >= 18 && e <= 78) return 10; switch (e) { case 8: return 4; case 9: return 25; case 10: return 6; case 13: return 7; case 7: case 3: case 2: return 1; case 5: case 4: return 8; case 79: default: return Hy(e) ? 6 : 2 } } function Cge(e, t, r, i, o) { return kge(BY(e, t, r, i, o)) } function Ige(e, t) { switch (t) { case 264: case 260: case 261: case 259: case 228: case 215: case 216: e.throwIfCancellationRequested() } } function BY(e, t, r, i, o) { let s = []; return r.forEachChild(function f(d) { if (!(!d || !$8(o, d.pos, d.getFullWidth()))) { if (Ige(t, d.kind), Re(d) && !rc(d) && i.has(d.escapedText)) { let g = e.getSymbolAtLocation(d), m = g && Lge(g, ZT(d), e); m && l(d.getStart(r), d.getEnd(), m) } d.forEachChild(f) } }), { spans: s, endOfLineState: 0 }; function l(f, d, g) { let m = d - f; L.assert(m > 0, `Classification had non-positive length of ${m}`), s.push(f), s.push(m), s.push(g) } } function Lge(e, t, r) { let i = e.getFlags(); if (i & 2885600) return i & 32 ? 11 : i & 384 ? 12 : i & 524288 ? 16 : i & 1536 ? t & 4 || t & 1 && s4e(e) ? 14 : void 0 : i & 2097152 ? Lge(r.getAliasedSymbol(e), t, r) : t & 2 ? i & 64 ? 13 : i & 262144 ? 15 : void 0 : void 0 } function s4e(e) { return vt(e.declarations, t => Tc(t) && Gh(t) === 1) } function c4e(e) { switch (e) { case 1: return "comment"; case 2: return "identifier"; case 3: return "keyword"; case 4: return "number"; case 25: return "bigint"; case 5: return "operator"; case 6: return "string"; case 8: return "whitespace"; case 9: return "text"; case 10: return "punctuation"; case 11: return "class name"; case 12: return "enum name"; case 13: return "interface name"; case 14: return "module name"; case 15: return "type parameter name"; case 16: return "type alias name"; case 17: return "parameter name"; case 18: return "doc comment tag name"; case 19: return "jsx open tag name"; case 20: return "jsx close tag name"; case 21: return "jsx self closing tag name"; case 22: return "jsx attribute"; case 23: return "jsx text"; case 24: return "jsx attribute string literal value"; default: return } } function kge(e) { L.assert(e.spans.length % 3 === 0); let t = e.spans, r = []; for (let i = 0; i < t.length; i += 3)r.push({ textSpan: il(t[i], t[i + 1]), classificationType: c4e(t[i + 2]) }); return r } function Dge(e, t, r) { return kge(UY(e, t, r)) } function UY(e, t, r) { let i = r.start, o = r.length, s = kg(99, !1, t.languageVariant, t.text), l = kg(99, !1, t.languageVariant, t.text), f = []; return q(t), { spans: f, endOfLineState: 0 }; function d(W, Y, R) { f.push(W), f.push(Y), f.push(R) } function g(W) { for (s.setTextPos(W.pos); ;) { let Y = s.getTextPos(); if (!hoe(t.text, Y)) return Y; let R = s.scan(), ie = s.getTextPos(), $ = ie - Y; if (!KA(R)) return Y; switch (R) { case 4: case 5: continue; case 2: case 3: m(W, R, Y, $), s.setTextPos(ie); continue; case 7: let fe = t.text, Z = fe.charCodeAt(Y); if (Z === 60 || Z === 62) { d(Y, $, 1); continue } L.assert(Z === 124 || Z === 61), w(fe, Y, ie); break; case 6: break; default: L.assertNever(R) } } } function m(W, Y, R, ie) { if (Y === 3) { let $ = Mde(t.text, R, ie); if ($ && $.jsDoc) { go($.jsDoc, W), S($.jsDoc); return } } else if (Y === 2 && x(R, ie)) return; v(R, ie) } function v(W, Y) { d(W, Y, 1) } function S(W) { var Y, R, ie, $, fe, Z, U, re; let le = W.pos; if (W.tags) for (let ge of W.tags) { ge.pos !== le && v(le, ge.pos - le), d(ge.pos, 1, 10), d(ge.tagName.pos, ge.tagName.end - ge.tagName.pos, 18), le = ge.tagName.end; let X = ge.tagName.end; switch (ge.kind) { case 344: let Ve = ge; _e(Ve), X = Ve.isNameFirst && ((Y = Ve.typeExpression) == null ? void 0 : Y.end) || Ve.name.end; break; case 351: let we = ge; X = we.isNameFirst && ((R = we.typeExpression) == null ? void 0 : R.end) || we.name.end; break; case 348: A(ge), le = ge.end, X = ge.typeParameters.end; break; case 349: let ke = ge; X = ((ie = ke.typeExpression) == null ? void 0 : ie.kind) === 312 && (($ = ke.fullName) == null ? void 0 : $.end) || ((fe = ke.typeExpression) == null ? void 0 : fe.end) || X; break; case 341: X = ge.typeExpression.end; break; case 347: q(ge.typeExpression), le = ge.end, X = ge.typeExpression.end; break; case 346: case 343: X = ge.typeExpression.end; break; case 345: q(ge.typeExpression), le = ge.end, X = ((Z = ge.typeExpression) == null ? void 0 : Z.end) || X; break; case 350: X = ((U = ge.name) == null ? void 0 : U.end) || X; break; case 331: case 332: X = ge.class.end; break; case 352: q(ge.typeExpression), le = ge.end, X = ((re = ge.typeExpression) == null ? void 0 : re.end) || X; break }typeof ge.comment == "object" ? v(ge.comment.pos, ge.comment.end - ge.comment.pos) : typeof ge.comment == "string" && v(X, ge.end - X) } le !== W.end && v(le, W.end - le); return; function _e(ge) { ge.isNameFirst && (v(le, ge.name.pos - le), d(ge.name.pos, ge.name.end - ge.name.pos, 17), le = ge.name.end), ge.typeExpression && (v(le, ge.typeExpression.pos - le), q(ge.typeExpression), le = ge.typeExpression.end), ge.isNameFirst || (v(le, ge.name.pos - le), d(ge.name.pos, ge.name.end - ge.name.pos, 17), le = ge.name.end) } } function x(W, Y) { let R = /^(\/\/\/\s*)(<)(?:(\S+)((?:[^/]|\/[^>])*)(\/>)?)?/im, ie = /(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/img, $ = t.text.substr(W, Y), fe = R.exec($); if (!fe || !fe[3] || !(fe[3] in iw)) return !1; let Z = W; v(Z, fe[1].length), Z += fe[1].length, d(Z, fe[2].length, 10), Z += fe[2].length, d(Z, fe[3].length, 21), Z += fe[3].length; let U = fe[4], re = Z; for (; ;) { let _e = ie.exec(U); if (!_e) break; let ge = Z + _e.index + _e[1].length; ge > re && (v(re, ge - re), re = ge), d(re, _e[2].length, 22), re += _e[2].length, _e[3].length && (v(re, _e[3].length), re += _e[3].length), d(re, _e[4].length, 5), re += _e[4].length, _e[5].length && (v(re, _e[5].length), re += _e[5].length), d(re, _e[6].length, 24), re += _e[6].length } Z += fe[4].length, Z > re && v(re, Z - re), fe[5] && (d(Z, fe[5].length, 10), Z += fe[5].length); let le = W + Y; return Z < le && v(Z, le - Z), !0 } function A(W) { for (let Y of W.getChildren()) q(Y) } function w(W, Y, R) { let ie; for (ie = Y; ie < R && !Wl(W.charCodeAt(ie)); ie++); for (d(Y, ie - Y, 1), l.setTextPos(ie); l.getTextPos() < R;)C() } function C() { let W = l.getTextPos(), Y = l.scan(), R = l.getTextPos(), ie = B(Y); ie && d(W, R - W, ie) } function P(W) { if (dm(W) || rc(W)) return !0; let Y = F(W); if (!Z1(W) && W.kind !== 11 && Y === void 0) return !1; let R = W.kind === 11 ? W.pos : g(W), ie = W.end - R; if (L.assert(ie >= 0), ie > 0) { let $ = Y || B(W.kind, W); $ && d(R, ie, $) } return !0 } function F(W) { switch (W.parent && W.parent.kind) { case 283: if (W.parent.tagName === W) return 19; break; case 284: if (W.parent.tagName === W) return 20; break; case 282: if (W.parent.tagName === W) return 21; break; case 288: if (W.parent.name === W) return 22; break } } function B(W, Y) { if (Xu(W)) return 3; if ((W === 29 || W === 31) && Y && Ohe(Y.parent)) return 10; if (Phe(W)) { if (Y) { let R = Y.parent; if (W === 63 && (R.kind === 257 || R.kind === 169 || R.kind === 166 || R.kind === 288) || R.kind === 223 || R.kind === 221 || R.kind === 222 || R.kind === 224) return 5 } return 10 } else { if (W === 8) return 4; if (W === 9) return 25; if (W === 10) return Y && Y.parent.kind === 288 ? 24 : 6; if (W === 13) return 6; if (Hy(W)) return 6; if (W === 11) return 23; if (W === 79) { if (Y) { switch (Y.parent.kind) { case 260: return Y.parent.name === Y ? 11 : void 0; case 165: return Y.parent.name === Y ? 15 : void 0; case 261: return Y.parent.name === Y ? 13 : void 0; case 263: return Y.parent.name === Y ? 12 : void 0; case 264: return Y.parent.name === Y ? 14 : void 0; case 166: return Y.parent.name === Y ? LT(Y) ? 3 : 17 : void 0 }if (Ch(Y.parent)) return 3 } return 2 } } } function q(W) { if (W && Q8(i, o, W.pos, W.getFullWidth())) { Ige(e, W.kind); for (let Y of W.getChildren(t)) P(Y) || q(Y) } } } var wge, l4e = gt({ "src/services/classifier.ts"() { "use strict"; Fr(), wge = gae([79, 10, 8, 9, 13, 108, 45, 46, 21, 23, 19, 110, 95], e => e, () => !0) } }), Q7, u4e = gt({ "src/services/documentHighlights.ts"() { "use strict"; Fr(), (e => { function t(Z, U, re, le, _e) { let ge = ef(re, le); if (ge.parent && (Xm(ge.parent) && ge.parent.tagName === ge || GS(ge.parent))) { let { openingElement: X, closingElement: Ve } = ge.parent.parent, we = [X, Ve].map(({ tagName: ke }) => r(ke, re)); return [{ fileName: re.fileName, highlightSpans: we }] } return i(le, ge, Z, U, _e) || o(ge, re) } e.getDocumentHighlights = t; function r(Z, U) { return { fileName: U.fileName, textSpan: Du(Z, U), kind: "none" } } function i(Z, U, re, le, _e) { let ge = new Set(_e.map(ke => ke.fileName)), X = js.getReferenceEntriesForNode(Z, U, re, _e, le, void 0, ge); if (!X) return; let Ve = KD(X.map(js.toHighlightSpan), ke => ke.fileName, ke => ke.span), we = Dl(re.useCaseSensitiveFileNames()); return lo(UD(Ve.entries(), ([ke, Pe]) => { if (!ge.has(ke)) { if (!re.redirectTargetsMap.has(Ts(ke, re.getCurrentDirectory(), we))) return; let Ce = re.getSourceFile(ke); ke = wr(_e, Be => !!Be.redirectInfo && Be.redirectInfo.redirectTarget === Ce).fileName, L.assert(ge.has(ke)) } return { fileName: ke, highlightSpans: Pe } })) } function o(Z, U) { let re = s(Z, U); return re && [{ fileName: U.fileName, highlightSpans: re }] } function s(Z, U) { switch (Z.kind) { case 99: case 91: return MT(Z.parent) ? ie(Z.parent, U) : void 0; case 105: return le(Z.parent, j_, q); case 109: return le(Z.parent, Fz, B); case 111: case 83: case 96: let ge = Z.kind === 83 ? Z.parent.parent : Z.parent; return le(ge, mO, F); case 107: return le(Z.parent, pO, P); case 82: case 88: return yO(Z.parent) || CL(Z.parent) ? le(Z.parent.parent.parent, pO, P) : void 0; case 81: case 86: return le(Z.parent, hI, C); case 97: case 115: case 90: return le(Z.parent, X => Wy(X, !0), w); case 135: return re(Ec, [135]); case 137: case 151: return re(rb, [137, 151]); case 133: return le(Z.parent, v2, W); case 132: return _e(W(Z)); case 125: return _e(Y(Z)); case 101: return; default: return Rg(Z.kind) && (Kl(Z.parent) || Bc(Z.parent)) ? _e(S(Z.kind, Z.parent)) : void 0 }function re(ge, X) { return le(Z.parent, ge, Ve => { var we; return Zi((we = zr(Ve, $p)) == null ? void 0 : we.symbol.declarations, ke => ge(ke) ? wr(ke.getChildren(U), Pe => ya(X, Pe.kind)) : void 0) }) } function le(ge, X, Ve) { return X(ge) ? _e(Ve(ge, U)) : void 0 } function _e(ge) { return ge && ge.map(X => r(X, U)) } } function l(Z) { return Fz(Z) ? [Z] : mO(Z) ? Qi(Z.catchClause ? l(Z.catchClause) : Z.tryBlock && l(Z.tryBlock), Z.finallyBlock && l(Z.finallyBlock)) : Ia(Z) ? void 0 : g(Z, l) } function f(Z) { let U = Z; for (; U.parent;) { let re = U.parent; if (bT(re) || re.kind === 308) return re; if (mO(re) && re.tryBlock === U && re.catchClause) return U; U = re } } function d(Z) { return hI(Z) ? [Z] : Ia(Z) ? void 0 : g(Z, d) } function g(Z, U) { let re = []; return Z.forEachChild(le => { let _e = U(le); _e !== void 0 && re.push(...qD(_e)) }), re } function m(Z, U) { let re = v(U); return !!re && re === Z } function v(Z) { return jn(Z, U => { switch (U.kind) { case 252: if (Z.kind === 248) return !1; case 245: case 246: case 247: case 244: case 243: return !Z.label || fe(U, Z.label.escapedText); default: return Ia(U) && "quit" } }) } function S(Z, U) { return Zi(x(U, gS(Z)), re => z2(re, Z)) } function x(Z, U) { let re = Z.parent; switch (re.kind) { case 265: case 308: case 238: case 292: case 293: return U & 256 && sl(Z) ? [...Z.members, Z] : re.statements; case 173: case 171: case 259: return [...re.parameters, ...Yr(re.parent) ? re.parent.members : []]; case 260: case 228: case 261: case 184: let le = re.members; if (U & 92) { let _e = wr(re.members, Ec); if (_e) return [...le, ..._e.parameters] } else if (U & 256) return [...le, re]; return le; case 207: return; default: L.assertNever(re, "Invalid container kind.") } } function A(Z, U, ...re) { return U && ya(re, U.kind) ? (Z.push(U), !0) : !1 } function w(Z) { let U = []; if (A(U, Z.getFirstToken(), 97, 115, 90) && Z.kind === 243) { let re = Z.getChildren(); for (let le = re.length - 1; le >= 0 && !A(U, re[le], 115); le--); } return mn(d(Z.statement), re => { m(Z, re) && A(U, re.getFirstToken(), 81, 86) }), U } function C(Z) { let U = v(Z); if (U) switch (U.kind) { case 245: case 246: case 247: case 243: case 244: return w(U); case 252: return P(U) } } function P(Z) { let U = []; return A(U, Z.getFirstToken(), 107), mn(Z.caseBlock.clauses, re => { A(U, re.getFirstToken(), 82, 88), mn(d(re), le => { m(Z, le) && A(U, le.getFirstToken(), 81) }) }), U } function F(Z, U) { let re = []; if (A(re, Z.getFirstToken(), 111), Z.catchClause && A(re, Z.catchClause.getFirstToken(), 83), Z.finallyBlock) { let le = Yo(Z, 96, U); A(re, le, 96) } return re } function B(Z, U) { let re = f(Z); if (!re) return; let le = []; return mn(l(re), _e => { le.push(Yo(_e, 109, U)) }), bT(re) && vT(re, _e => { le.push(Yo(_e, 105, U)) }), le } function q(Z, U) { let re = Xd(Z); if (!re) return; let le = []; return vT(Ga(re.body, Va), _e => { le.push(Yo(_e, 105, U)) }), mn(l(re.body), _e => { le.push(Yo(_e, 109, U)) }), le } function W(Z) { let U = Xd(Z); if (!U) return; let re = []; return U.modifiers && U.modifiers.forEach(le => { A(re, le, 132) }), pa(U, le => { R(le, _e => { v2(_e) && A(re, _e.getFirstToken(), 133) }) }), re } function Y(Z) { let U = Xd(Z); if (!U) return; let re = []; return pa(U, le => { R(le, _e => { f3(_e) && A(re, _e.getFirstToken(), 125) }) }), re } function R(Z, U) { U(Z), !Ia(Z) && !Yr(Z) && !ku(Z) && !Tc(Z) && !Ep(Z) && !bi(Z) && pa(Z, re => R(re, U)) } function ie(Z, U) { let re = $(Z, U), le = []; for (let _e = 0; _e < re.length; _e++) { if (re[_e].kind === 91 && _e < re.length - 1) { let ge = re[_e], X = re[_e + 1], Ve = !0; for (let we = X.getStart(U) - 1; we >= ge.end; we--)if (!Yp(U.text.charCodeAt(we))) { Ve = !1; break } if (Ve) { le.push({ fileName: U.fileName, textSpan: Wc(ge.getStart(), X.end), kind: "reference" }), _e++; continue } } le.push(r(re[_e], U)) } return le } function $(Z, U) { let re = []; for (; MT(Z.parent) && Z.parent.elseStatement === Z;)Z = Z.parent; for (; ;) { let le = Z.getChildren(U); A(re, le[0], 99); for (let _e = le.length - 1; _e >= 0 && !A(re, le[_e], 91); _e--); if (!Z.elseStatement || !MT(Z.elseStatement)) break; Z = Z.elseStatement } return re } function fe(Z, U) { return !!jn(Z.parent, re => J0(re) ? re.label.escapedText === U : "quit") } })(Q7 || (Q7 = {})) } }); function Z7(e) { return !!e.sourceFile } function VY(e, t) { return Rge(e, t) } function Rge(e, t = "", r) { let i = new Map, o = Dl(!!e); function s() { let C = lo(i.keys()).filter(P => P && P.charAt(0) === "_").map(P => { let F = i.get(P), B = []; return F.forEach((q, W) => { Z7(q) ? B.push({ name: W, scriptKind: q.sourceFile.scriptKind, refCount: q.languageServiceRefCount }) : q.forEach((Y, R) => B.push({ name: W, scriptKind: R, refCount: Y.languageServiceRefCount })) }), B.sort((q, W) => W.refCount - q.refCount), { bucket: P, sourceFiles: B } }); return JSON.stringify(C, void 0, 2) } function l(C) { return typeof C.getCompilationSettings == "function" ? C.getCompilationSettings() : C } function f(C, P, F, B, q, W) { let Y = Ts(C, t, o), R = e5(l(P)); return d(C, Y, P, R, F, B, q, W) } function d(C, P, F, B, q, W, Y, R) { return S(C, P, F, B, q, W, !0, Y, R) } function g(C, P, F, B, q, W) { let Y = Ts(C, t, o), R = e5(l(P)); return m(C, Y, P, R, F, B, q, W) } function m(C, P, F, B, q, W, Y, R) { return S(C, P, l(F), B, q, W, !1, Y, R) } function v(C, P) { let F = Z7(C) ? C : C.get(L.checkDefined(P, "If there are more than one scriptKind's for same document the scriptKind should be provided")); return L.assert(P === void 0 || !F || F.sourceFile.scriptKind === P, `Script kind should match provided ScriptKind:${P} and sourceFile.scriptKind: ${F?.sourceFile.scriptKind}, !entry: ${!F}`), F } function S(C, P, F, B, q, W, Y, R, ie) { var $, fe, Z, U; R = h4(C, R); let re = l(F), le = F === re ? void 0 : F, _e = R === 6 ? 100 : Do(re), ge = typeof ie == "object" ? ie : { languageVersion: _e, impliedNodeFormat: le && NF(P, (U = (Z = (fe = ($ = le.getCompilerHost) == null ? void 0 : $.call(le)) == null ? void 0 : fe.getModuleResolutionCache) == null ? void 0 : Z.call(fe)) == null ? void 0 : U.getPackageJsonInfoCache(), le, re), setExternalModuleIndicator: OR(re) }; ge.languageVersion = _e; let X = i.size, Ve = Oge(B, ge.impliedNodeFormat), we = VD(i, Ve, () => new Map); if (ai) { i.size > X && ai.instant(ai.Phase.Session, "createdDocumentRegistryBucket", { configFilePath: re.configFilePath, key: Ve }); let Ie = !Fu(P) && Ld(i, (Be, Ne) => Ne !== Ve && Be.has(P) && Ne); Ie && ai.instant(ai.Phase.Session, "documentRegistryBucketOverlap", { path: P, key1: Ie, key2: Ve }) } let ke = we.get(P), Pe = ke && v(ke, R); if (!Pe && r) { let Ie = r.getDocument(Ve, P); Ie && (L.assert(Y), Pe = { sourceFile: Ie, languageServiceRefCount: 0 }, Ce()) } if (Pe) Pe.sourceFile.version !== W && (Pe.sourceFile = _$(Pe.sourceFile, q, W, q.getChangeRange(Pe.sourceFile.scriptSnapshot)), r && r.setDocument(Ve, P, Pe.sourceFile)), Y && Pe.languageServiceRefCount++; else { let Ie = f5(C, q, ge, W, !1, R); r && r.setDocument(Ve, P, Ie), Pe = { sourceFile: Ie, languageServiceRefCount: 1 }, Ce() } return L.assert(Pe.languageServiceRefCount !== 0), Pe.sourceFile; function Ce() { if (!ke) we.set(P, Pe); else if (Z7(ke)) { let Ie = new Map; Ie.set(ke.sourceFile.scriptKind, ke), Ie.set(R, Pe), we.set(P, Ie) } else ke.set(R, Pe) } } function x(C, P, F, B) { let q = Ts(C, t, o), W = e5(P); return A(q, W, F, B) } function A(C, P, F, B) { let q = L.checkDefined(i.get(Oge(P, B))), W = q.get(C), Y = v(W, F); Y.languageServiceRefCount--, L.assert(Y.languageServiceRefCount >= 0), Y.languageServiceRefCount === 0 && (Z7(W) ? q.delete(C) : (W.delete(F), W.size === 1 && q.set(C, FD(W.values(), Ks)))) } function w(C, P) { return lo(i.entries(), ([F, B]) => { let q = B.get(C), W = q && v(q, P); return [F, W && W.languageServiceRefCount] }) } return { acquireDocument: f, acquireDocumentWithKey: d, updateDocument: g, updateDocumentWithKey: m, releaseDocument: x, releaseDocumentWithKey: A, getLanguageServiceRefCounts: w, reportStats: s, getKeyForCompilationSettings: e5 } } function e5(e) { return JJ(e, V3) } function Oge(e, t) { return t ? `${e}|${t}` : e } var d4e = gt({ "src/services/documentRegistry.ts"() { "use strict"; Fr() } }); function Nge(e, t, r, i, o, s, l) { let f = xR(i), d = Dl(f), g = jY(t, r, d, l), m = jY(r, t, d, l); return nr.ChangeTracker.with({ host: i, formatContext: o, preferences: s }, v => { _4e(e, v, g, t, r, i.getCurrentDirectory(), f), p4e(e, v, g, m, i, d) }) } function jY(e, t, r, i) { let o = r(e); return l => { let f = i && i.tryGetSourcePosition({ fileName: l, pos: 0 }), d = s(f ? f.fileName : l); return f ? d === void 0 ? void 0 : f4e(f.fileName, d, l, r) : d }; function s(l) { if (r(l) === o) return t; let f = IW(l, o, r); return f === void 0 ? void 0 : t + "/" + f } } function f4e(e, t, r, i) { let o = _w(e, t, i); return HY(ni(r), o) } function _4e(e, t, r, i, o, s, l) { let { configFile: f } = e.getCompilerOptions(); if (!f) return; let d = ni(f.fileName), g = LI(f); if (!g) return; WY(g, (x, A) => { switch (A) { case "files": case "include": case "exclude": { if (m(x) || A !== "include" || !fu(x.initializer)) return; let C = Zi(x.initializer.elements, F => yo(F) ? F.text : void 0); if (C.length === 0) return; let P = tL(d, [], C, l, s); Qy(L.checkDefined(P.includeFilePattern), l).test(i) && !Qy(L.checkDefined(P.includeFilePattern), l).test(o) && t.insertNodeAfter(f, To(x.initializer.elements), D.createStringLiteral(S(o))); return } case "compilerOptions": WY(x.initializer, (w, C) => { let P = gJ(C); L.assert(P?.type !== "listOrElement"), P && (P.isFilePath || P.type === "list" && P.element.isFilePath) ? m(w) : C === "paths" && WY(w.initializer, F => { if (fu(F.initializer)) for (let B of F.initializer.elements) v(B) }) }); return } }); function m(x) { let A = fu(x.initializer) ? x.initializer.elements : [x.initializer], w = !1; for (let C of A) w = v(C) || w; return w } function v(x) { if (!yo(x)) return !1; let A = HY(d, x.text), w = r(A); return w !== void 0 ? (t.replaceRangeWithText(f, Mge(x, f), S(w)), !0) : !1 } function S(x) { return Xp(d, x, !l) } } function p4e(e, t, r, i, o, s) { let l = e.getSourceFiles(); for (let f of l) { let d = r(f.fileName), g = d ?? f.fileName, m = ni(g), v = i(f.fileName), S = v || f.fileName, x = ni(S), A = d !== void 0 || v !== void 0; g4e(f, t, w => { if (!Jd(w)) return; let C = HY(x, w), P = r(C); return P === void 0 ? void 0 : S0(Xp(m, P, s)) }, w => { let C = e.getTypeChecker().getSymbolAtLocation(w); if (C?.declarations && C.declarations.some(F => lu(F))) return; let P = v !== void 0 ? Pge(w, FL(w.text, S, e.getCompilerOptions(), o), r, l) : h4e(C, w, f, e, o, r); return P !== void 0 && (P.updated || A && Jd(w.text)) ? Q0.updateModuleSpecifier(e.getCompilerOptions(), f, s(g), P.newFileName, $S(e, o), w.text) : void 0 }) } } function m4e(e, t) { return So(vi(e, t)) } function HY(e, t) { return S0(m4e(e, t)) } function h4e(e, t, r, i, o, s) { var l; if (e) { let f = wr(e.declarations, Li).fileName, d = s(f); return d === void 0 ? { newFileName: f, updated: !1 } : { newFileName: d, updated: !0 } } else { let f = W_(r, t), d = o.resolveModuleNameLiterals || !o.resolveModuleNames ? (l = r.resolvedModules) == null ? void 0 : l.get(t.text, f) : o.getResolvedModuleWithFailedLookupLocationsFromCache && o.getResolvedModuleWithFailedLookupLocationsFromCache(t.text, r.fileName, f); return Pge(t, d, s, i.getSourceFiles()) } } function Pge(e, t, r, i) { if (!t) return; if (t.resolvedModule) { let d = f(t.resolvedModule.resolvedFileName); if (d) return d } let o = mn(t.failedLookupLocations, s) || Jd(e.text) && mn(t.failedLookupLocations, l); if (o) return o; return t.resolvedModule && { newFileName: t.resolvedModule.resolvedFileName, updated: !1 }; function s(d) { let g = r(d); return g && wr(i, m => m.fileName === g) ? l(d) : void 0 } function l(d) { return Oc(d, "/package.json") ? void 0 : f(d) } function f(d) { let g = r(d); return g && { newFileName: g, updated: !0 } } } function g4e(e, t, r, i) { for (let o of e.referencedFiles || Je) { let s = r(o.fileName); s !== void 0 && s !== e.text.slice(o.pos, o.end) && t.replaceRangeWithText(e, o, s) } for (let o of e.imports) { let s = i(o); s !== void 0 && s !== o.text && t.replaceRangeWithText(e, Mge(o, e), s) } } function Mge(e, t) { return Gf(e.getStart(t) + 1, e.end - 1) } function WY(e, t) { if (rs(e)) for (let r of e.properties) yl(r) && yo(r.name) && t(r, r.name.text) } var y4e = gt({ "src/services/getEditsForFileRename.ts"() { "use strict"; Fr() } }); function $N(e, t) { return { kind: e, isCaseSensitive: t } } function Fge(e) { let t = new Map, r = e.trim().split(".").map(i => T4e(i.trim())); if (!r.some(i => !i.subWordTextChunks.length)) return { getFullMatch: (i, o) => v4e(i, o, r, t), getMatchForLastSegmentOfPattern: i => zY(i, To(r), t), patternContainsDots: r.length > 1 } } function v4e(e, t, r, i) { if (!zY(t, To(r), i) || r.length - 1 > e.length) return; let s; for (let l = r.length - 2, f = e.length - 1; l >= 0; l -= 1, f -= 1)s = Uge(s, zY(e[f], r[l], i)); return s } function Gge(e, t) { let r = t.get(e); return r || t.set(e, r = Wge(e)), r } function Bge(e, t, r) { let i = S4e(e, t.textLowerCase); if (i === 0) return $N(t.text.length === e.length ? 0 : 1, na(e, t.text)); if (t.isLowerCase) { if (i === -1) return; let o = Gge(e, r); for (let s of o) if (JY(e, s, t.text, !0)) return $N(2, JY(e, s, t.text, !1)); if (t.text.length < e.length && ex(e.charCodeAt(i))) return $N(2, !1) } else { if (e.indexOf(t.text) > 0) return $N(2, !0); if (t.characterSpans.length > 0) { let o = Gge(e, r), s = Vge(e, o, t, !1) ? !0 : Vge(e, o, t, !0) ? !1 : void 0; if (s !== void 0) return $N(3, s) } } } function zY(e, t, r) { if (t5(t.totalTextChunk.text, s => s !== 32 && s !== 42)) { let s = Bge(e, t.totalTextChunk, r); if (s) return s } let i = t.subWordTextChunks, o; for (let s of i) o = Uge(o, Bge(e, s, r)); return o } function Uge(e, t) { return WU([e, t], b4e) } function b4e(e, t) { return e === void 0 ? 1 : t === void 0 ? -1 : Es(e.kind, t.kind) || g0(!e.isCaseSensitive, !t.isCaseSensitive) } function JY(e, t, r, i, o = { start: 0, length: r.length }) { return o.length <= t.length && Kge(0, o.length, s => E4e(r.charCodeAt(o.start + s), e.charCodeAt(t.start + s), i)) } function E4e(e, t, r) { return r ? KY(e) === KY(t) : e === t } function Vge(e, t, r, i) { let o = r.characterSpans, s = 0, l = 0, f, d; for (; ;) { if (l === o.length) return !0; if (s === t.length) return !1; let g = t[s], m = !1; for (; l < o.length; l++) { let v = o[l]; if (m && (!ex(r.text.charCodeAt(o[l - 1].start)) || !ex(r.text.charCodeAt(o[l].start))) || !JY(e, g, r.text, i, v)) break; m = !0, f = f === void 0 ? s : f, d = d === void 0 ? !0 : d, g = il(g.start + v.length, g.length - v.length) } !m && d !== void 0 && (d = !1), s++ } } function T4e(e) { return { totalTextChunk: XY(e), subWordTextChunks: A4e(e) } } function ex(e) { if (e >= 65 && e <= 90) return !0; if (e < 127 || !W8(e, 99)) return !1; let t = String.fromCharCode(e); return t === t.toUpperCase() } function jge(e) { if (e >= 97 && e <= 122) return !0; if (e < 127 || !W8(e, 99)) return !1; let t = String.fromCharCode(e); return t === t.toLowerCase() } function S4e(e, t) { let r = e.length - t.length; for (let i = 0; i <= r; i++)if (t5(t, (o, s) => KY(e.charCodeAt(s + i)) === o)) return i; return -1 } function KY(e) { return e >= 65 && e <= 90 ? 97 + (e - 65) : e < 127 ? e : String.fromCharCode(e).toLowerCase().charCodeAt(0) } function qY(e) { return e >= 48 && e <= 57 } function x4e(e) { return ex(e) || jge(e) || qY(e) || e === 95 || e === 36 } function A4e(e) { let t = [], r = 0, i = 0; for (let o = 0; o < e.length; o++) { let s = e.charCodeAt(o); x4e(s) ? (i === 0 && (r = o), i++) : i > 0 && (t.push(XY(e.substr(r, i))), i = 0) } return i > 0 && t.push(XY(e.substr(r, i))), t } function XY(e) { let t = e.toLowerCase(); return { text: e, textLowerCase: t, isLowerCase: e === t, characterSpans: Hge(e) } } function Hge(e) { return zge(e, !1) } function Wge(e) { return zge(e, !0) } function zge(e, t) { let r = [], i = 0; for (let o = 1; o < e.length; o++) { let s = qY(e.charCodeAt(o - 1)), l = qY(e.charCodeAt(o)), f = I4e(e, t, o), d = t && C4e(e, o, i); (YY(e.charCodeAt(o - 1)) || YY(e.charCodeAt(o)) || s !== l || f || d) && (Jge(e, i, o) || r.push(il(i, o - i)), i = o) } return Jge(e, i, e.length) || r.push(il(i, e.length - i)), r } function YY(e) { switch (e) { case 33: case 34: case 35: case 37: case 38: case 39: case 40: case 41: case 42: case 44: case 45: case 46: case 47: case 58: case 59: case 63: case 64: case 91: case 92: case 93: case 95: case 123: case 125: return !0 }return !1 } function Jge(e, t, r) { return t5(e, i => YY(i) && i !== 95, t, r) } function C4e(e, t, r) { return t !== r && t + 1 < e.length && ex(e.charCodeAt(t)) && jge(e.charCodeAt(t + 1)) && t5(e, ex, r, t) } function I4e(e, t, r) { let i = ex(e.charCodeAt(r - 1)); return ex(e.charCodeAt(r)) && (!t || !i) } function Kge(e, t, r) { for (let i = e; i < t; i++)if (!r(i)) return !1; return !0 } function t5(e, t, r = 0, i = e.length) { return Kge(r, i, o => t(e.charCodeAt(o), o)) } var n5, L4e = gt({ "src/services/patternMatcher.ts"() { "use strict"; Fr(), n5 = (e => (e[e.exact = 0] = "exact", e[e.prefix = 1] = "prefix", e[e.substring = 2] = "substring", e[e.camelCase = 3] = "camelCase", e))(n5 || {}) } }); function qge(e, t = !0, r = !1) { let i = { languageVersion: 1, pragmas: void 0, checkJsDirective: void 0, referencedFiles: [], typeReferenceDirectives: [], libReferenceDirectives: [], amdDependencies: [], hasNoDefaultLib: void 0, moduleName: void 0 }, o = [], s, l, f, d = 0, g = !1; function m() { return l = f, f = $l.scan(), f === 18 ? d++ : f === 19 && d--, f } function v() { let W = $l.getTokenValue(), Y = $l.getTokenPos(); return { fileName: W, pos: Y, end: Y + W.length } } function S() { s || (s = []), s.push({ ref: v(), depth: d }) } function x() { o.push(v()), A() } function A() { d === 0 && (g = !0) } function w() { let W = $l.getToken(); return W === 136 ? (W = m(), W === 142 && (W = m(), W === 10 && S()), !0) : !1 } function C() { if (l === 24) return !1; let W = $l.getToken(); if (W === 100) { if (W = m(), W === 20) { if (W = m(), W === 10 || W === 14) return x(), !0 } else { if (W === 10) return x(), !0; if (W === 154 && $l.lookAhead(() => { let R = $l.scan(); return R !== 158 && (R === 41 || R === 18 || R === 79 || Xu(R)) }) && (W = m()), W === 79 || Xu(W)) if (W = m(), W === 158) { if (W = m(), W === 10) return x(), !0 } else if (W === 63) { if (F(!0)) return !0 } else if (W === 27) W = m(); else return !0; if (W === 18) { for (W = m(); W !== 19 && W !== 1;)W = m(); W === 19 && (W = m(), W === 158 && (W = m(), W === 10 && x())) } else W === 41 && (W = m(), W === 128 && (W = m(), (W === 79 || Xu(W)) && (W = m(), W === 158 && (W = m(), W === 10 && x())))) } return !0 } return !1 } function P() { let W = $l.getToken(); if (W === 93) { if (A(), W = m(), W === 154 && $l.lookAhead(() => { let R = $l.scan(); return R === 41 || R === 18 }) && (W = m()), W === 18) { for (W = m(); W !== 19 && W !== 1;)W = m(); W === 19 && (W = m(), W === 158 && (W = m(), W === 10 && x())) } else if (W === 41) W = m(), W === 158 && (W = m(), W === 10 && x()); else if (W === 100 && (W = m(), W === 154 && $l.lookAhead(() => { let R = $l.scan(); return R === 79 || Xu(R) }) && (W = m()), (W === 79 || Xu(W)) && (W = m(), W === 63 && F(!0)))) return !0; return !0 } return !1 } function F(W, Y = !1) { let R = W ? m() : $l.getToken(); return R === 147 ? (R = m(), R === 20 && (R = m(), (R === 10 || Y && R === 14) && x()), !0) : !1 } function B() { let W = $l.getToken(); if (W === 79 && $l.getTokenValue() === "define") { if (W = m(), W !== 20) return !0; if (W = m(), W === 10 || W === 14) if (W = m(), W === 27) W = m(); else return !0; if (W !== 22) return !0; for (W = m(); W !== 23 && W !== 1;)(W === 10 || W === 14) && x(), W = m(); return !0 } return !1 } function q() { for ($l.setText(e), m(); $l.getToken() !== 1;) { if ($l.getToken() === 15) { let W = [$l.getToken()]; e: for (; Fn(W);) { let Y = $l.scan(); switch (Y) { case 1: break e; case 100: C(); break; case 15: W.push(Y); break; case 18: Fn(W) && W.push(Y); break; case 19: Fn(W) && (Os(W) === 15 ? $l.reScanTemplateToken(!1) === 17 && W.pop() : W.pop()); break } } m() } w() || C() || P() || r && (F(!1, !0) || B()) || m() } $l.setText(void 0) } if (t && q(), dJ(i, e), fJ(i, Ba), g) { if (s) for (let W of s) o.push(W.ref); return { referencedFiles: i.referencedFiles, typeReferenceDirectives: i.typeReferenceDirectives, libReferenceDirectives: i.libReferenceDirectives, importedFiles: o, isLibFile: !!i.hasNoDefaultLib, ambientExternalModules: void 0 } } else { let W; if (s) for (let Y of s) Y.depth === 0 ? (W || (W = []), W.push(Y.ref.fileName)) : o.push(Y.ref); return { referencedFiles: i.referencedFiles, typeReferenceDirectives: i.typeReferenceDirectives, libReferenceDirectives: i.libReferenceDirectives, importedFiles: o, isLibFile: !!i.hasNoDefaultLib, ambientExternalModules: W } } } var k4e = gt({ "src/services/preProcess.ts"() { "use strict"; Fr() } }); function Xge(e) { let t = Dl(e.useCaseSensitiveFileNames()), r = e.getCurrentDirectory(), i = new Map, o = new Map; return { tryGetSourcePosition: f, tryGetGeneratedPosition: d, toLineColumnOffset: S, clearCache: x }; function s(A) { return Ts(A, r, t) } function l(A, w) { let C = s(A), P = o.get(C); if (P) return P; let F; if (e.getDocumentPositionMapper) F = e.getDocumentPositionMapper(A, w); else if (e.readFile) { let B = v(A); F = B && Yge({ getSourceFileLike: v, getCanonicalFileName: t, log: q => e.log(q) }, A, F_e(B.text, Sh(B)), q => !e.fileExists || e.fileExists(q) ? e.readFile(q) : void 0) } return o.set(C, F || yF), F || yF } function f(A) { if (!Fu(A.fileName) || !g(A.fileName)) return; let C = l(A.fileName).getSourcePosition(A); return !C || C === A ? void 0 : f(C) || C } function d(A) { if (Fu(A.fileName)) return; let w = g(A.fileName); if (!w) return; let C = e.getProgram(); if (C.isSourceOfProjectReferenceRedirect(w.fileName)) return; let P = C.getCompilerOptions(), F = Ss(P), B = F ? ld(F) + ".d.ts" : $H(A.fileName, C.getCompilerOptions(), r, C.getCommonSourceDirectory(), t); if (B === void 0) return; let q = l(B, A.fileName).getGeneratedPosition(A); return q === A ? void 0 : q } function g(A) { let w = e.getProgram(); if (!w) return; let C = s(A), P = w.getSourceFileByPath(C); return P && P.resolvedPath === C ? P : void 0 } function m(A) { let w = s(A), C = i.get(w); if (C !== void 0) return C || void 0; if (!e.readFile || e.fileExists && !e.fileExists(w)) { i.set(w, !1); return } let P = e.readFile(w), F = P ? D4e(P) : !1; return i.set(w, F), F || void 0 } function v(A) { return e.getSourceFileLike ? e.getSourceFileLike(A) : g(A) || m(A) } function S(A, w) { return v(A).getLineAndCharacterOfPosition(w) } function x() { i.clear(), o.clear() } } function Yge(e, t, r, i) { let o = G_e(r); if (o) { let f = Qge.exec(o); if (f) { if (f[1]) { let d = f[1]; return $ge(e, nle(xl, d), t) } o = void 0 } } let s = []; o && s.push(o), s.push(t + ".map"); let l = o && _a(o, ni(t)); for (let f of s) { let d = _a(f, ni(t)), g = i(d, l); if (Ta(g)) return $ge(e, g, d); if (g !== void 0) return g || void 0 } } function $ge(e, t, r) { let i = bK(t); if (!(!i || !i.sources || !i.file || !i.mappings) && !(i.sourcesContent && i.sourcesContent.some(Ta))) return H_e(e, i, r) } function D4e(e, t) { return { text: e, lineMap: t, getLineAndCharacterOfPosition(r) { return yw(Sh(this), r) } } } var Qge, w4e = gt({ "src/services/sourcemaps.ts"() { "use strict"; Fr(), Fr(), Qge = /^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/ } }); function $Y(e, t, r) { t.getSemanticDiagnostics(e, r); let i = [], o = t.getTypeChecker(); !(e.impliedNodeFormat === 1 || $c(e.fileName, [".cts", ".cjs"])) && e.commonJsModuleIndicator && (Vhe(t) || aY(t.getCompilerOptions())) && R4e(e) && i.push(hr(M4e(e.commonJsModuleIndicator), _.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module)); let l = Cu(e); if (i5.clear(), f(e), wT(t.getCompilerOptions())) for (let d of e.imports) { let g = aR(d), m = O4e(g); if (!m) continue; let v = kA(e, d.text, W_(e, d)), S = v && t.getSourceFile(v.resolvedFileName); S && S.externalModuleIndicator && S.externalModuleIndicator !== !0 && pc(S.externalModuleIndicator) && S.externalModuleIndicator.isExportEquals && i.push(hr(m, _.Import_may_be_converted_to_a_default_import)) } return si(i, e.bindSuggestionDiagnostics), si(i, t.getSuggestionDiagnostics(e, r)), i.sort((d, g) => d.start - g.start); function f(d) { if (l) G4e(d, o) && i.push(hr(wi(d.parent) ? d.parent.name : d, _.This_constructor_function_may_be_converted_to_a_class_declaration)); else { if (Bc(d) && d.parent === e && d.declarationList.flags & 2 && d.declarationList.declarations.length === 1) { let g = d.declarationList.declarations[0].initializer; g && qu(g, !0) && i.push(hr(g, _.require_call_may_be_converted_to_an_import)) } gu.parameterShouldGetTypeFromJSDoc(d) && i.push(hr(d.name || d, _.JSDoc_types_may_be_moved_to_TypeScript_types)) } e$(d) && N4e(d, o, i), d.forEachChild(f) } } function R4e(e) { return e.statements.some(t => { switch (t.kind) { case 240: return t.declarationList.declarations.some(r => !!r.initializer && qu(Zge(r.initializer), !0)); case 241: { let { expression: r } = t; if (!ar(r)) return qu(r, !0); let i = ic(r); return i === 1 || i === 2 } default: return !1 } }) } function Zge(e) { return br(e) ? Zge(e.expression) : e } function O4e(e) { switch (e.kind) { case 269: let { importClause: t, moduleSpecifier: r } = e; return t && !t.name && t.namedBindings && t.namedBindings.kind === 271 && yo(r) ? t.namedBindings.name : void 0; case 268: return e.name; default: return } } function N4e(e, t, r) { P4e(e, t) && !i5.has(rye(e)) && r.push(hr(!e.name && wi(e.parent) && Re(e.parent.name) ? e.parent.name : e, _.This_may_be_converted_to_an_async_function)) } function P4e(e, t) { return !qA(e) && e.body && Va(e.body) && F4e(e.body, t) && QY(e, t) } function QY(e, t) { let r = t.getSignatureFromDeclaration(e), i = r ? t.getReturnTypeOfSignature(r) : void 0; return !!i && !!t.getPromisedTypeOfPromise(i) } function M4e(e) { return ar(e) ? e.left : e } function F4e(e, t) { return !!vT(e, r => r5(r, t)) } function r5(e, t) { return j_(e) && !!e.expression && ZY(e.expression, t) } function ZY(e, t) { if (!eye(e) || !tye(e) || !e.arguments.every(i => nye(i, t))) return !1; let r = e.expression.expression; for (; eye(r) || br(r);)if (Pa(r)) { if (!tye(r) || !r.arguments.every(i => nye(i, t))) return !1; r = r.expression.expression } else r = r.expression; return !0 } function eye(e) { return Pa(e) && (kN(e, "then") || kN(e, "catch") || kN(e, "finally")) } function tye(e) { let t = e.expression.name.text, r = t === "then" ? 2 : t === "catch" || t === "finally" ? 1 : 0; return e.arguments.length > r ? !1 : e.arguments.length < r ? !0 : r === 1 || vt(e.arguments, i => i.kind === 104 || Re(i) && i.text === "undefined") } function nye(e, t) { switch (e.kind) { case 259: case 215: if (pl(e) & 1) return !1; case 216: i5.set(rye(e), !0); case 104: return !0; case 79: case 208: { let i = t.getSymbolAtLocation(e); return i ? t.isUndefinedSymbol(i) || vt(wd(i, t).declarations, o => Ia(o) || Jy(o) && !!o.initializer && Ia(o.initializer)) : !1 } default: return !1 } } function rye(e) { return `${e.pos.toString()}:${e.end.toString()}` } function G4e(e, t) { var r, i, o, s; if (ms(e)) { if (wi(e.parent) && ((r = e.symbol.members) != null && r.size)) return !0; let l = t.getSymbolOfExpando(e, !1); return !!(l && ((i = l.exports) != null && i.size || (o = l.members) != null && o.size)) } return Jc(e) ? !!((s = e.symbol.members) != null && s.size) : !1 } function e$(e) { switch (e.kind) { case 259: case 171: case 215: case 216: return !0; default: return !1 } } var i5, B4e = gt({ "src/services/suggestionDiagnostics.ts"() { "use strict"; Fr(), i5 = new Map } }); function iye(e, t) { let r = [], i = t.compilerOptions ? t$(t.compilerOptions, r) : {}, o = d5(); for (let S in o) fs(o, S) && i[S] === void 0 && (i[S] = o[S]); for (let S of BJ) i.verbatimModuleSyntax && aye.has(S.name) || (i[S.name] = S.transpileOptionValue); i.suppressOutputPathCheck = !0, i.allowNonTsExtensions = !0; let s = db(i), l = { getSourceFile: S => S === So(f) ? d : void 0, writeFile: (S, x) => { Gc(S, ".map") ? (L.assertEqual(m, void 0, "Unexpected multiple source map outputs, file:", S), m = x) : (L.assertEqual(g, void 0, "Unexpected multiple outputs, file:", S), g = x) }, getDefaultLibFileName: () => "lib.d.ts", useCaseSensitiveFileNames: () => !1, getCanonicalFileName: S => S, getCurrentDirectory: () => "", getNewLine: () => s, fileExists: S => S === f, readFile: () => "", directoryExists: () => !0, getDirectories: () => [] }, f = t.fileName || (t.compilerOptions && t.compilerOptions.jsx ? "module.tsx" : "module.ts"), d = DO(f, e, { languageVersion: Do(i), impliedNodeFormat: NF(Ts(f, "", l.getCanonicalFileName), void 0, l, i), setExternalModuleIndicator: OR(i) }); t.moduleName && (d.moduleName = t.moduleName), t.renamedDependencies && (d.renamedDependencies = new Map(Object.entries(t.renamedDependencies))); let g, m, v = PF([f], i, l); return t.reportDiagnostics && (si(r, v.getSyntacticDiagnostics(d)), si(r, v.getOptionsDiagnostics())), v.emit(void 0, void 0, void 0, void 0, t.transformers), g === void 0 ? L.fail("Output generation failed") : { outputText: g, diagnostics: r, sourceMapText: m } } function U4e(e, t, r, i, o) { let s = iye(e, { compilerOptions: t, fileName: r, reportDiagnostics: !!i, moduleName: o }); return si(i, s.diagnostics), s.outputText } function t$(e, t) { n$ = n$ || Pr(Fh, r => typeof r.type == "object" && !Ld(r.type, i => typeof i != "number")), e = Mhe(e); for (let r of n$) { if (!fs(e, r.name)) continue; let i = e[r.name]; Ta(i) ? e[r.name] = O3(r, i, t) : Ld(r.type, o => o === i) || t.push(pJ(r)) } return e } var aye, n$, V4e = gt({ "src/services/transpile.ts"() { "use strict"; Fr(), aye = new Set(["isolatedModules", "preserveValueImports", "importsNotUsedAsValues"]) } }); function oye(e, t, r, i, o, s) { let l = Fge(i); if (!l) return Je; let f = []; for (let d of e) r.throwIfCancellationRequested(), !(s && d.isDeclarationFile) && d.getNamedDeclarations().forEach((g, m) => { j4e(l, m, g, t, d.fileName, f) }); return f.sort(J4e), (o === void 0 ? f : f.slice(0, o)).map(K4e) } function j4e(e, t, r, i, o, s) { let l = e.getMatchForLastSegmentOfPattern(t); if (l) { for (let f of r) if (H4e(f, i)) if (e.patternContainsDots) { let d = e.getFullMatch(z4e(f), t); d && s.push({ name: t, fileName: o, matchKind: d.kind, isCaseSensitive: d.isCaseSensitive, declaration: f }) } else s.push({ name: t, fileName: o, matchKind: l.kind, isCaseSensitive: l.isCaseSensitive, declaration: f }) } } function H4e(e, t) { switch (e.kind) { case 270: case 273: case 268: let r = t.getSymbolAtLocation(e.name), i = t.getAliasedSymbol(r); return r.escapedName !== i.escapedName; default: return !0 } } function W4e(e, t) { let r = sa(e); return !!r && (sye(r, t) || r.kind === 164 && r$(r.expression, t)) } function r$(e, t) { return sye(e, t) || br(e) && (t.push(e.name.text), !0) && r$(e.expression, t) } function sye(e, t) { return c_(e) && (t.push(l_(e)), !0) } function z4e(e) { let t = [], r = sa(e); if (r && r.kind === 164 && !r$(r.expression, t)) return Je; t.shift(); let i = e1(e); for (; i;) { if (!W4e(i, t)) return Je; i = e1(i) } return t.reverse() } function J4e(e, t) { return Es(e.matchKind, t.matchKind) || XD(e.name, t.name) } function K4e(e) { let t = e.declaration, r = e1(t), i = r && sa(r); return { name: e.name, kind: aE(t), kindModifiers: rk(t), matchKind: n5[e.matchKind], isCaseSensitive: e.isCaseSensitive, fileName: e.fileName, textSpan: Du(t), containerName: i ? i.text : "", containerKind: i ? aE(r) : "" } } var q4e = gt({ "src/services/navigateTo.ts"() { "use strict"; Fr() } }), cye = {}; Mo(cye, { getNavigateToItems: () => oye }); var lye = gt({ "src/services/_namespaces/ts.NavigateTo.ts"() { "use strict"; q4e() } }); function uye(e, t) { c5 = t, fk = e; try { return on(Z4e(pye(e)), e3e) } finally { fye() } } function dye(e, t) { c5 = t, fk = e; try { return Sye(pye(e)) } finally { fye() } } function fye() { fk = void 0, c5 = void 0, _k = [], Uh = void 0, l5 = [] } function QN(e) { return X2(e.getText(fk)) } function a5(e) { return e.node.kind } function _ye(e, t) { e.children ? e.children.push(t) : e.children = [t] } function pye(e) { L.assert(!_k.length); let t = { node: e, name: void 0, additionalNodes: void 0, parent: void 0, children: void 0, indent: 0 }; Uh = t; for (let r of e.statements) a1(r); return dv(), L.assert(!Uh && !_k.length), t } function Eb(e, t) { _ye(Uh, i$(e, t)) } function i$(e, t) { return { node: e, name: t || (Kl(e) || ot(e) ? sa(e) : void 0), additionalNodes: void 0, parent: Uh, children: void 0, indent: Uh.indent + 1 } } function mye(e) { tx || (tx = new Map), tx.set(e, !0) } function hye(e) { for (let t = 0; t < e; t++)dv() } function gye(e, t) { let r = []; for (; !c_(t);) { let i = eR(t), o = wh(t); t = t.expression, !(o === "prototype" || pi(i)) && r.push(i) } r.push(t); for (let i = r.length - 1; i > 0; i--) { let o = r[i]; Tb(e, o) } return [r.length - 1, r[0]] } function Tb(e, t) { let r = i$(e, t); _ye(Uh, r), _k.push(Uh), f$.push(tx), tx = void 0, Uh = r } function dv() { Uh.children && (o5(Uh.children, Uh), s$(Uh.children)), Uh = _k.pop(), tx = f$.pop() } function fv(e, t, r) { Tb(e, r), a1(t), dv() } function yye(e) { e.initializer && n3e(e.initializer) ? (Tb(e), pa(e.initializer, a1), dv()) : fv(e, e.initializer) } function a$(e) { return !Xy(e) || e.kind !== 223 && br(e.name.expression) && Re(e.name.expression.expression) && vr(e.name.expression.expression) === "Symbol" } function a1(e) { if (c5.throwIfCancellationRequested(), !(!e || Z1(e))) switch (e.kind) { case 173: let t = e; fv(t, t.body); for (let l of t.parameters) Ad(l, t) && Eb(l); break; case 171: case 174: case 175: case 170: a$(e) && fv(e, e.body); break; case 169: a$(e) && yye(e); break; case 168: a$(e) && Eb(e); break; case 270: let r = e; r.name && Eb(r.name); let { namedBindings: i } = r; if (i) if (i.kind === 271) Eb(i); else for (let l of i.elements) Eb(l); break; case 300: fv(e, e.name); break; case 301: let { expression: o } = e; Re(o) ? Eb(e, o) : Eb(e); break; case 205: case 299: case 257: { let l = e; La(l.name) ? a1(l.name) : yye(l); break } case 259: let s = e.name; s && Re(s) && mye(s.text), fv(e, e.body); break; case 216: case 215: fv(e, e.body); break; case 263: Tb(e); for (let l of e.members) t3e(l) || Eb(l); dv(); break; case 260: case 228: case 261: Tb(e); for (let l of e.members) a1(l); dv(); break; case 264: fv(e, Aye(e).body); break; case 274: { let l = e.expression, f = rs(l) || Pa(l) ? l : xs(l) || ms(l) ? l.body : void 0; f ? (Tb(e), a1(f), dv()) : Eb(e); break } case 278: case 268: case 178: case 176: case 177: case 262: Eb(e); break; case 210: case 223: { let l = ic(e); switch (l) { case 1: case 2: fv(e, e.right); return; case 6: case 3: { let f = e, d = f.left, g = l === 3 ? d.expression : d, m = 0, v; Re(g.expression) ? (mye(g.expression.text), v = g.expression) : [m, v] = gye(f, g.expression), l === 6 ? rs(f.right) && f.right.properties.length > 0 && (Tb(f, v), pa(f.right, a1), dv()) : ms(f.right) || xs(f.right) ? fv(e, f.right, v) : (Tb(f, v), fv(e, f.right, d.name), dv()), hye(m); return } case 7: case 9: { let f = e, d = l === 7 ? f.arguments[0] : f.arguments[0].expression, g = f.arguments[1], [m, v] = gye(e, d); Tb(e, v), Tb(e, it(D.createIdentifier(g.text), g)), a1(e.arguments[2]), dv(), dv(), hye(m); return } case 5: { let f = e, d = f.left, g = d.expression; if (Re(g) && wh(d) !== "prototype" && tx && tx.has(g.text)) { ms(f.right) || xs(f.right) ? fv(e, f.right, g) : ST(d) && (Tb(f, g), fv(f.left, f.right, eR(d)), dv()); return } break } case 4: case 0: case 8: break; default: L.assertNever(l) } } default: Kd(e) && mn(e.jsDoc, l => { mn(l.tags, f => { Ff(f) && Eb(f) }) }), pa(e, a1) } } function o5(e, t) { let r = new Map; wU(e, (i, o) => { let s = i.name || sa(i.node), l = s && QN(s); if (!l) return !0; let f = r.get(l); if (!f) return r.set(l, i), !0; if (f instanceof Array) { for (let d of f) if (vye(d, i, o, t)) return !1; return f.push(i), !0 } else { let d = f; return vye(d, i, o, t) ? !1 : (r.set(l, [d, i]), !0) } }) } function X4e(e, t, r, i) { function o(f) { return ms(f) || Jc(f) || wi(f) } let s = ar(t.node) || Pa(t.node) ? ic(t.node) : 0, l = ar(e.node) || Pa(e.node) ? ic(e.node) : 0; if (Y2[s] && Y2[l] || o(e.node) && Y2[s] || o(t.node) && Y2[l] || sl(e.node) && o$(e.node) && Y2[s] || sl(t.node) && Y2[l] || sl(e.node) && o$(e.node) && o(t.node) || sl(t.node) && o(e.node) && o$(e.node)) { let f = e.additionalNodes && Os(e.additionalNodes) || e.node; if (!sl(e.node) && !sl(t.node) || o(e.node) || o(t.node)) { let g = o(e.node) ? e.node : o(t.node) ? t.node : void 0; if (g !== void 0) { let m = it(D.createConstructorDeclaration(void 0, [], void 0), g), v = i$(m); v.indent = e.indent + 1, v.children = e.node === g ? e.children : t.children, e.children = e.node === g ? Qi([v], t.children || [t]) : Qi(e.children || [{ ...e }], [v]) } else (e.children || t.children) && (e.children = Qi(e.children || [{ ...e }], t.children || [t]), e.children && (o5(e.children, e), s$(e.children))); f = e.node = it(D.createClassDeclaration(void 0, e.name || D.createIdentifier("__class__"), void 0, void 0, []), e.node) } else e.children = Qi(e.children, t.children), e.children && o5(e.children, e); let d = t.node; return i.children[r - 1].node.end === f.end ? it(f, { pos: f.pos, end: d.end }) : (e.additionalNodes || (e.additionalNodes = []), e.additionalNodes.push(it(D.createClassDeclaration(void 0, e.name || D.createIdentifier("__class__"), void 0, void 0, []), t.node))), !0 } return s !== 0 } function vye(e, t, r, i) { return X4e(e, t, r, i) ? !0 : Y4e(e.node, t.node, i) ? ($4e(e, t), !0) : !1 } function Y4e(e, t, r) { if (e.kind !== t.kind || e.parent !== t.parent && !(bye(e, r) && bye(t, r))) return !1; switch (e.kind) { case 169: case 171: case 174: case 175: return Ca(e) === Ca(t); case 264: return Eye(e, t) && u$(e) === u$(t); default: return !0 } } function o$(e) { return !!(e.flags & 8) } function bye(e, t) { let r = Tp(e.parent) ? e.parent.parent : e.parent; return r === t.node || ya(t.additionalNodes, r) } function Eye(e, t) { return !e.body || !t.body ? e.body === t.body : e.body.kind === t.body.kind && (e.body.kind !== 264 || Eye(e.body, t.body)) } function $4e(e, t) { e.additionalNodes = e.additionalNodes || [], e.additionalNodes.push(t.node), t.additionalNodes && e.additionalNodes.push(...t.additionalNodes), e.children = Qi(e.children, t.children), e.children && (o5(e.children, e), s$(e.children)) } function s$(e) { e.sort(Q4e) } function Q4e(e, t) { return XD(Tye(e.node), Tye(t.node)) || Es(a5(e), a5(t)) } function Tye(e) { if (e.kind === 264) return xye(e); let t = sa(e); if (t && Ys(t)) { let r = M0(t); return r && Gi(r) } switch (e.kind) { case 215: case 216: case 228: return Iye(e); default: return } } function c$(e, t) { if (e.kind === 264) return X2(xye(e)); if (t) { let r = Re(t) ? t.text : Vs(t) ? `[${QN(t.argumentExpression)}]` : QN(t); if (r.length > 0) return X2(r) } switch (e.kind) { case 308: let r = e; return Lc(r) ? `"${_S(Hl(ld(So(r.fileName))))}"` : "<global>"; case 274: return pc(e) && e.isExportEquals ? "export=" : "default"; case 216: case 259: case 215: case 260: case 228: return Yy(e) & 1024 ? "default" : Iye(e); case 173: return "constructor"; case 177: return "new()"; case 176: return "()"; case 178: return "[]"; default: return "<unknown>" } } function Z4e(e) { let t = []; function r(o) { if (i(o) && (t.push(o), o.children)) for (let s of o.children) r(s) } return r(e), t; function i(o) { if (o.children) return !0; switch (a5(o)) { case 260: case 228: case 263: case 261: case 264: case 308: case 262: case 349: case 341: return !0; case 216: case 259: case 215: return s(o); default: return !1 }function s(l) { if (!l.node.body) return !1; switch (a5(l.parent)) { case 265: case 308: case 171: case 173: return !0; default: return !1 } } } } function Sye(e) { return { text: c$(e.node, e.name), kind: aE(e.node), kindModifiers: Cye(e.node), spans: l$(e), nameSpan: e.name && d$(e.name), childItems: on(e.children, Sye) } } function e3e(e) { return { text: c$(e.node, e.name), kind: aE(e.node), kindModifiers: Cye(e.node), spans: l$(e), childItems: on(e.children, t) || l5, indent: e.indent, bolded: !1, grayed: !1 }; function t(r) { return { text: c$(r.node, r.name), kind: aE(r.node), kindModifiers: rk(r.node), spans: l$(r), childItems: l5, indent: 0, bolded: !1, grayed: !1 } } } function l$(e) { let t = [d$(e.node)]; if (e.additionalNodes) for (let r of e.additionalNodes) t.push(d$(r)); return t } function xye(e) { return lu(e) ? Qc(e.name) : u$(e) } function u$(e) { let t = [l_(e.name)]; for (; e.body && e.body.kind === 264;)e = e.body, t.push(l_(e.name)); return t.join(".") } function Aye(e) { return e.body && Tc(e.body) ? Aye(e.body) : e } function t3e(e) { return !e.name || e.name.kind === 164 } function d$(e) { return e.kind === 308 ? lv(e) : Du(e, fk) } function Cye(e) { return e.parent && e.parent.kind === 257 && (e = e.parent), rk(e) } function Iye(e) { let { parent: t } = e; if (e.name && Fw(e.name) > 0) return X2(os(e.name)); if (wi(t)) return X2(os(t.name)); if (ar(t) && t.operatorToken.kind === 63) return QN(t.left).replace(kye, ""); if (yl(t)) return QN(t.name); if (Yy(e) & 1024) return "default"; if (Yr(e)) return "<class>"; if (Pa(t)) { let r = Lye(t.expression); if (r !== void 0) { if (r = X2(r), r.length > s5) return `${r} callback`; let i = X2(Zi(t.arguments, o => es(o) ? o.getText(fk) : void 0).join(", ")); return `${r}(${i}) callback` } } return "<function>" } function Lye(e) { if (Re(e)) return e.text; if (br(e)) { let t = Lye(e.expression), r = e.name.text; return t === void 0 ? r : `${t}.${r}` } else return } function n3e(e) { switch (e.kind) { case 216: case 215: case 228: return !0; default: return !1 } } function X2(e) { return e = e.length > s5 ? e.substring(0, s5) + "..." : e, e.replace(/\\?(\r?\n|\r|\u2028|\u2029)/g, "") } var kye, s5, c5, fk, _k, Uh, f$, tx, l5, Y2, r3e = gt({ "src/services/navigationBar.ts"() { "use strict"; Fr(), kye = /\s+/g, s5 = 150, _k = [], f$ = [], l5 = [], Y2 = { 5: !0, 3: !0, 7: !0, 9: !0, 0: !1, 1: !1, 2: !1, 8: !1, 6: !0, 4: !1 } } }), Dye = {}; Mo(Dye, { getNavigationBarItems: () => uye, getNavigationTree: () => dye }); var wye = gt({ "src/services/_namespaces/ts.NavigationBar.ts"() { "use strict"; r3e() } }); function Rye(e, t, r, i) { let o = Iw(e) ? new p5(e, t, r) : e === 79 ? new h5(79, t, r) : e === 80 ? new g5(80, t, r) : new h$(e, t, r); return o.parent = i, o.flags = i.flags & 50720768, o } function i3e(e, t) { if (!Iw(e.kind)) return Je; let r = []; if (qj(e)) return e.forEachChild(l => { r.push(l) }), r; $l.setText((t || e.getSourceFile()).text); let i = e.pos, o = l => { ZN(r, i, l.pos, e), r.push(l), i = l.end }, s = l => { ZN(r, i, l.pos, e), r.push(a3e(l, e)), i = l.end }; return mn(e.jsDoc, o), i = e.pos, e.forEachChild(o, s), ZN(r, i, e.end, e), $l.setText(void 0), r } function ZN(e, t, r, i) { for ($l.setTextPos(t); t < r;) { let o = $l.scan(), s = $l.getTextPos(); if (s <= r) { if (o === 79) { if (jle(i)) continue; L.fail(`Did not expect ${L.formatSyntaxKind(i.kind)} to have an Identifier in its trivia`) } e.push(Rye(o, t, s, i)) } if (t = s, o === 1) break } } function a3e(e, t) { let r = Rye(354, e.pos, e.end, t); r._children = []; let i = e.pos; for (let o of e) ZN(r._children, i, o.pos, t), r._children.push(o), i = o.end; return ZN(r._children, i, e.end, t), r } function Oye(e) { return A0(e).some(t => t.tagName.text === "inheritDoc" || t.tagName.text === "inheritdoc") } function u5(e, t) { if (!e) return Je; let r = xb.getJsDocTagsFromDeclarations(e, t); if (t && (r.length === 0 || e.some(Oye))) { let i = new Set; for (let o of e) { let s = Nye(t, o, l => { var f; if (!i.has(l)) return i.add(l), o.kind === 174 || o.kind === 175 ? l.getContextualJsDocTags(o, t) : ((f = l.declarations) == null ? void 0 : f.length) === 1 ? l.getJsDocTags() : void 0 }); s && (r = [...s, ...r]) } } return r } function eP(e, t) { if (!e) return Je; let r = xb.getJsDocCommentsFromDeclarations(e, t); if (t && (r.length === 0 || e.some(Oye))) { let i = new Set; for (let o of e) { let s = Nye(t, o, l => { if (!i.has(l)) return i.add(l), o.kind === 174 || o.kind === 175 ? l.getContextualDocumentationComment(o, t) : l.getDocumentationComment(t) }); s && (r = r.length === 0 ? s.slice() : s.concat(K2(), r)) } } return r } function Nye(e, t, r) { var i; let o = ((i = t.parent) == null ? void 0 : i.kind) === 173 ? t.parent.parent : t.parent; if (!o) return; let s = zc(t); return ks(NI(o), l => { let f = e.getTypeAtLocation(l), d = s && f.symbol ? e.getTypeOfSymbol(f.symbol) : f, g = e.getPropertyOfType(d, t.symbol.name); return g ? r(g) : void 0 }) } function o3e() { return { getNodeConstructor: () => p5, getTokenConstructor: () => h$, getIdentifierConstructor: () => h5, getPrivateIdentifierConstructor: () => g5, getSourceFileConstructor: () => Hye, getSymbolConstructor: () => Uye, getTypeConstructor: () => Vye, getSignatureConstructor: () => jye, getSourceMapSourceConstructor: () => Wye } } function tP(e) { let t = !0; for (let i in e) if (fs(e, i) && !Pye(i)) { t = !1; break } if (t) return e; let r = {}; for (let i in e) if (fs(e, i)) { let o = Pye(i) ? i : i.charAt(0).toLowerCase() + i.substr(1); r[o] = e[i] } return r } function Pye(e) { return !e.length || e.charAt(0) === e.charAt(0).toLowerCase() } function Mye(e) { return e ? on(e, t => t.text).join("") : "" } function d5() { return { target: 1, jsx: 1 } } function Fye() { return gu.getSupportedErrorCodes() } function Gye(e, t, r) { e.version = r, e.scriptSnapshot = t } function f5(e, t, r, i, o, s) { let l = DO(e, E7(t), r, o, s); return Gye(l, t, i), l } function _$(e, t, r, i, o) { if (i && r !== e.version) { let l, f = i.span.start !== 0 ? e.text.substr(0, i.span.start) : "", d = wl(i.span) !== e.text.length ? e.text.substr(wl(i.span)) : ""; if (i.newLength === 0) l = f && d ? f + d : f || d; else { let m = t.getText(i.span.start, i.span.start + i.newLength); l = f && d ? f + m + d : f ? f + m : m + d } let g = uJ(e, l, i, o); return Gye(g, t, r), g.nameTable = void 0, e !== g && e.scriptSnapshot && (e.scriptSnapshot.dispose && e.scriptSnapshot.dispose(), e.scriptSnapshot = void 0), g } let s = { languageVersion: e.languageVersion, impliedNodeFormat: e.impliedNodeFormat, setExternalModuleIndicator: e.setExternalModuleIndicator }; return f5(e.fileName, t, s, r, !0, e.scriptKind) } function Bye(e, t = VY(e.useCaseSensitiveFileNames && e.useCaseSensitiveFileNames(), e.getCurrentDirectory()), r) {
-                var i; let o; r === void 0 ? o = 0 : typeof r == "boolean" ? o = r ? 2 : 0 : o = r; let s = new zye(e), l, f, d = 0, g = e.getCancellationToken ? new Kye(e.getCancellationToken()) : Jye, m = e.getCurrentDirectory(); mle((i = e.getLocalizedDiagnosticMessages) == null ? void 0 : i.bind(e)); function v(Ke) { e.log && e.log(Ke) } let S = xR(e), x = Dl(S), A = Xge({ useCaseSensitiveFileNames: () => S, getCurrentDirectory: () => m, getProgram: P, fileExists: ho(e, e.fileExists), readFile: ho(e, e.readFile), getDocumentPositionMapper: ho(e, e.getDocumentPositionMapper), getSourceFileLike: ho(e, e.getSourceFileLike), log: v }); function w(Ke) { let oe = l.getSourceFile(Ke); if (!oe) { let pe = new Error(`Could not find source file: '${Ke}'.`); throw pe.ProgramFiles = l.getSourceFiles().map(z => z.fileName), pe } return oe } function C() { var Ke, oe, pe; if (L.assert(o !== 2), e.getProjectVersion) { let Qr = e.getProjectVersion(); if (Qr) { if (f === Qr && !((Ke = e.hasChangedAutomaticTypeDirectiveNames) != null && Ke.call(e))) return; f = Qr } } let z = e.getTypeRootsVersion ? e.getTypeRootsVersion() : 0; d !== z && (v("TypeRoots version has changed; provide new program"), l = void 0, d = z); let Te = e.getScriptFileNames().slice(), j = e.getCompilationSettings() || d5(), yt = e.hasInvalidatedResolutions || m0, lt = ho(e, e.hasChangedAutomaticTypeDirectiveNames), Qe = (oe = e.getProjectReferences) == null ? void 0 : oe.call(e), Vt, Hn = { getSourceFile: Nr, getSourceFileByPath: Fo, getCancellationToken: () => g, getCanonicalFileName: x, useCaseSensitiveFileNames: () => S, getNewLine: () => db(j), getDefaultLibFileName: Qr => e.getDefaultLibFileName(Qr), writeFile: Ba, getCurrentDirectory: () => m, fileExists: Qr => e.fileExists(Qr), readFile: Qr => e.readFile && e.readFile(Qr), getSymlinkCache: ho(e, e.getSymlinkCache), realpath: ho(e, e.realpath), directoryExists: Qr => gp(Qr, e), getDirectories: Qr => e.getDirectories ? e.getDirectories(Qr) : [], readDirectory: (Qr, Wi, gn, Ki, kc) => (L.checkDefined(e.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"), e.readDirectory(Qr, Wi, gn, Ki, kc)), onReleaseOldSourceFile: xi, onReleaseParsedCommandLine: Hi, hasInvalidatedResolutions: yt, hasChangedAutomaticTypeDirectiveNames: lt, trace: ho(e, e.trace), resolveModuleNames: ho(e, e.resolveModuleNames), getModuleResolutionCache: ho(e, e.getModuleResolutionCache), createHash: ho(e, e.createHash), resolveTypeReferenceDirectives: ho(e, e.resolveTypeReferenceDirectives), resolveModuleNameLiterals: ho(e, e.resolveModuleNameLiterals), resolveTypeReferenceDirectiveReferences: ho(e, e.resolveTypeReferenceDirectiveReferences), useSourceOfProjectReferenceRedirect: ho(e, e.useSourceOfProjectReferenceRedirect), getParsedCommandLine: Za }, jr = Hn.getSourceFile, { getSourceFileWithCache: ei } = pN(Hn, Qr => Ts(Qr, m, x), (...Qr) => jr.call(Hn, ...Qr)); Hn.getSourceFile = ei, (pe = e.setCompilerHost) == null || pe.call(e, Hn); let Kr = { useCaseSensitiveFileNames: S, fileExists: Qr => Hn.fileExists(Qr), readFile: Qr => Hn.readFile(Qr), readDirectory: (...Qr) => Hn.readDirectory(...Qr), trace: Hn.trace, getCurrentDirectory: Hn.getCurrentDirectory, onUnRecoverableConfigFileDiagnostic: Ba }, Si = t.getKeyForCompilationSettings(j); if (lq(l, Te, j, (Qr, Wi) => e.getScriptVersion(Wi), Qr => Hn.fileExists(Qr), yt, lt, Za, Qe)) return; l = PF({ rootNames: Te, options: j, host: Hn, oldProgram: l, projectReferences: Qe }), Hn = void 0, Vt = void 0, A.clearCache(), l.getTypeChecker(); return; function Za(Qr) { let Wi = Ts(Qr, m, x), gn = Vt?.get(Wi); if (gn !== void 0) return gn || void 0; let Ki = e.getParsedCommandLine ? e.getParsedCommandLine(Qr) : Fa(Qr); return (Vt || (Vt = new Map)).set(Wi, Ki || !1), Ki } function Fa(Qr) { let Wi = Nr(Qr, 100); if (Wi) return Wi.path = Ts(Qr, m, x), Wi.resolvedPath = Wi.path, Wi.originalFileName = Wi.fileName, MO(Wi, Kr, _a(ni(Qr), m), void 0, _a(Qr, m)) } function Hi(Qr, Wi, gn) { var Ki; e.getParsedCommandLine ? (Ki = e.onReleaseParsedCommandLine) == null || Ki.call(e, Qr, Wi, gn) : Wi && xi(Wi.sourceFile, gn) } function xi(Qr, Wi) { let gn = t.getKeyForCompilationSettings(Wi); t.releaseDocumentWithKey(Qr.resolvedPath, gn, Qr.scriptKind, Qr.impliedNodeFormat) } function Nr(Qr, Wi, gn, Ki) { return Fo(Qr, Ts(Qr, m, x), Wi, gn, Ki) } function Fo(Qr, Wi, gn, Ki, kc) { L.assert(Hn, "getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host."); let Ps = e.getScriptSnapshot(Qr); if (!Ps) return; let mc = mY(Qr, e), xc = e.getScriptVersion(Qr); if (!kc) { let hc = l && l.getSourceFileByPath(Wi); if (hc) { if (mc === hc.scriptKind) return t.updateDocumentWithKey(Qr, Wi, e, Si, Ps, xc, mc, gn); t.releaseDocumentWithKey(hc.resolvedPath, t.getKeyForCompilationSettings(l.getCompilerOptions()), hc.scriptKind, hc.impliedNodeFormat) } } return t.acquireDocumentWithKey(Qr, Wi, e, Si, Ps, xc, mc, gn) } } function P() { if (o === 2) { L.assert(l === void 0); return } return C(), l } function F() { var Ke; return (Ke = e.getPackageJsonAutoImportProvider) == null ? void 0 : Ke.call(e) } function B(Ke, oe) { let pe = l.getTypeChecker(), z = Te(); if (!z) return !1; for (let yt of Ke) for (let lt of yt.references) { let Qe = j(lt); if (L.assertIsDefined(Qe), oe.has(lt) || js.isDeclarationOfSymbol(Qe, z)) { oe.add(lt), lt.isDefinition = !0; let Vt = uY(lt, A, ho(e, e.fileExists)); Vt && oe.add(Vt) } else lt.isDefinition = !1 } return !0; function Te() { for (let yt of Ke) for (let lt of yt.references) { if (oe.has(lt)) { let Vt = j(lt); return L.assertIsDefined(Vt), pe.getSymbolAtLocation(Vt) } let Qe = uY(lt, A, ho(e, e.fileExists)); if (Qe && oe.has(Qe)) { let Vt = j(Qe); if (Vt) return pe.getSymbolAtLocation(Vt) } } } function j(yt) { let lt = l.getSourceFile(yt.fileName); if (!lt) return; let Qe = ef(lt, yt.textSpan.start); return js.Core.getAdjustedNode(Qe, { use: js.FindReferencesUse.References }) } } function q() { l = void 0 } function W() { if (l) { let Ke = t.getKeyForCompilationSettings(l.getCompilerOptions()); mn(l.getSourceFiles(), oe => t.releaseDocumentWithKey(oe.resolvedPath, Ke, oe.scriptKind, oe.impliedNodeFormat)), l = void 0 } e = void 0 } function Y(Ke) { return C(), l.getSyntacticDiagnostics(w(Ke), g).slice() } function R(Ke) { C(); let oe = w(Ke), pe = l.getSemanticDiagnostics(oe, g); if (!__(l.getCompilerOptions())) return pe.slice(); let z = l.getDeclarationDiagnostics(oe, g); return [...pe, ...z] } function ie(Ke) { return C(), $Y(w(Ke), l, g) } function $() { return C(), [...l.getOptionsDiagnostics(g), ...l.getGlobalDiagnostics(g)] } function fe(Ke, oe, pe = Cp, z) { let Te = { ...pe, includeCompletionsForModuleExports: pe.includeCompletionsForModuleExports || pe.includeExternalModuleExports, includeCompletionsWithInsertText: pe.includeCompletionsWithInsertText || pe.includeInsertTextCompletions }; return C(), lx.getCompletionsAtPosition(e, l, v, w(Ke), oe, Te, pe.triggerCharacter, pe.triggerKind, g, z && tl.getFormatContext(z, e), pe.includeSymbol) } function Z(Ke, oe, pe, z, Te, j = Cp, yt) { return C(), lx.getCompletionEntryDetails(l, v, w(Ke), oe, { name: pe, source: Te, data: yt }, e, z && tl.getFormatContext(z, e), j, g) } function U(Ke, oe, pe, z, Te = Cp) { return C(), lx.getCompletionEntrySymbol(l, v, w(Ke), oe, { name: pe, source: z }, e, Te) } function re(Ke, oe) { C(); let pe = w(Ke), z = ef(pe, oe); if (z === pe) return; let Te = l.getTypeChecker(), j = le(z), yt = u3e(j, Te); if (!yt || Te.isUnknownSymbol(yt)) { let jr = _e(pe, j, oe) ? Te.getTypeAtLocation(j) : void 0; return jr && { kind: "", kindModifiers: "", textSpan: Du(j, pe), displayParts: Te.runWithCancellationToken(g, ei => zN(ei, jr, e1(j))), documentation: jr.symbol ? jr.symbol.getDocumentationComment(Te) : void 0, tags: jr.symbol ? jr.symbol.getJsDocTags(Te) : void 0 } } let { symbolKind: lt, displayParts: Qe, documentation: Vt, tags: Hn } = Te.runWithCancellationToken(g, jr => $g.getSymbolDisplayPartsDocumentationAndSymbolKind(jr, yt, pe, e1(j), j)); return { kind: lt, kindModifiers: $g.getSymbolModifiers(Te, yt), textSpan: Du(j, pe), displayParts: Qe, documentation: Vt, tags: Hn } } function le(Ke) { return z0(Ke.parent) && Ke.pos === Ke.parent.pos ? Ke.parent.expression : bL(Ke.parent) && Ke.pos === Ke.parent.pos || NA(Ke.parent) && Ke.parent.name === Ke ? Ke.parent : Ke } function _e(Ke, oe, pe) { switch (oe.kind) { case 79: return !FX(oe) && !GX(oe) && !Ch(oe.parent); case 208: case 163: return !Kg(Ke, pe); case 108: case 194: case 106: case 199: return !0; case 233: return NA(oe); default: return !1 } } function ge(Ke, oe, pe, z) { return C(), xk.getDefinitionAtPosition(l, w(Ke), oe, pe, z) } function X(Ke, oe) { return C(), xk.getDefinitionAndBoundSpan(l, w(Ke), oe) } function Ve(Ke, oe) { return C(), xk.getTypeDefinitionAtPosition(l.getTypeChecker(), w(Ke), oe) } function we(Ke, oe) { return C(), js.getImplementationsAtPosition(l, g, l.getSourceFiles(), w(Ke), oe) } function ke(Ke, oe) { return Uo(Pe(Ke, oe, [Ke]), pe => pe.highlightSpans.map(z => ({ fileName: pe.fileName, textSpan: z.textSpan, isWriteAccess: z.kind === "writtenReference", ...z.isInString && { isInString: !0 }, ...z.contextSpan && { contextSpan: z.contextSpan } }))) } function Pe(Ke, oe, pe) { let z = So(Ke); L.assert(pe.some(yt => So(yt) === z)), C(); let Te = Zi(pe, yt => l.getSourceFile(yt)), j = w(Ke); return Q7.getDocumentHighlights(l, g, j, oe, Te) } function Ce(Ke, oe, pe, z, Te) { C(); let j = w(Ke), yt = _7(ef(j, oe)); if (RG.nodeIsEligibleForRename(yt)) if (Re(yt) && (Xm(yt.parent) || GS(yt.parent)) && GI(yt.escapedText)) { let { openingElement: lt, closingElement: Qe } = yt.parent.parent; return [lt, Qe].map(Vt => { let Hn = Du(Vt.tagName, j); return { fileName: j.fileName, textSpan: Hn, ...js.toContextSpan(Hn, j, Vt.parent) } }) } else return Be(yt, oe, { findInStrings: pe, findInComments: z, providePrefixAndSuffixTextForRename: Te, use: js.FindReferencesUse.Rename }, (lt, Qe, Vt) => js.toRenameLocation(lt, Qe, Vt, Te || !1)) } function Ie(Ke, oe) { return C(), Be(ef(w(Ke), oe), oe, { use: js.FindReferencesUse.References }, js.toReferenceEntry) } function Be(Ke, oe, pe, z) { C(); let Te = pe && pe.use === js.FindReferencesUse.Rename ? l.getSourceFiles().filter(j => !l.isSourceFileDefaultLibrary(j)) : l.getSourceFiles(); return js.findReferenceOrRenameEntries(l, g, Te, Ke, oe, pe, z) } function Ne(Ke, oe) { return C(), js.findReferencedSymbols(l, g, l.getSourceFiles(), w(Ke), oe) } function Le(Ke) { return C(), js.Core.getReferencesForFileName(Ke, l, l.getSourceFiles()).map(js.toReferenceEntry) } function Ye(Ke, oe, pe, z = !1) { C(); let Te = pe ? [w(pe)] : l.getSourceFiles(); return oye(Te, l.getTypeChecker(), g, Ke, oe, z) } function _t(Ke, oe, pe) { C(); let z = w(Ke), Te = e.getCustomTransformers && e.getCustomTransformers(); return Ype(l, z, !!oe, g, Te, pe) } function ct(Ke, oe, { triggerReason: pe } = Cp) { C(); let z = w(Ke); return BP.getSignatureHelpItems(l, z, oe, pe, g) } function Rt(Ke) { return s.getCurrentSourceFile(Ke) } function We(Ke, oe, pe) { let z = s.getCurrentSourceFile(Ke), Te = ef(z, oe); if (Te === z) return; switch (Te.kind) { case 208: case 163: case 10: case 95: case 110: case 104: case 106: case 108: case 194: case 79: break; default: return }let j = Te; for (; ;)if (j2(j) || yhe(j)) j = j.parent; else if (UX(j)) if (j.parent.parent.kind === 264 && j.parent.parent.body === j.parent) j = j.parent.parent.name; else break; else break; return Wc(j.getStart(), Te.getEnd()) } function qe(Ke, oe) { let pe = s.getCurrentSourceFile(Ke); return x$.spanInSourceFileAtLocation(pe, oe) } function zt(Ke) { return uye(s.getCurrentSourceFile(Ke), g) } function Qt(Ke) { return dye(s.getCurrentSourceFile(Ke), g) } function tn(Ke, oe, pe) { return C(), (pe || "original") === "2020" ? T5.v2020.getSemanticClassifications(l, g, w(Ke), oe) : Cge(l.getTypeChecker(), g, w(Ke), l.getClassifiableNames(), oe) } function kn(Ke, oe, pe) { return C(), (pe || "original") === "original" ? BY(l.getTypeChecker(), g, w(Ke), l.getClassifiableNames(), oe) : T5.v2020.getEncodedSemanticClassifications(l, g, w(Ke), oe) } function _n(Ke, oe) { return Dge(g, s.getCurrentSourceFile(Ke), oe) } function Gt(Ke, oe) { return UY(g, s.getCurrentSourceFile(Ke), oe) } function $n(Ke) { let oe = s.getCurrentSourceFile(Ke); return See.collectElements(oe, g) } let ui = new Map(Object.entries({ 18: 19, 20: 21, 22: 23, 31: 29 })); ui.forEach((Ke, oe) => ui.set(Ke.toString(), Number(oe))); function Ni(Ke, oe) { let pe = s.getCurrentSourceFile(Ke), z = nk(pe, oe), Te = z.getStart(pe) === oe ? ui.get(z.kind.toString()) : void 0, j = Te && Yo(z.parent, Te, pe); return j ? [Du(z, pe), Du(j, pe)].sort((yt, lt) => yt.start - lt.start) : Je } function Pi(Ke, oe, pe) { let z = Ms(), Te = tP(pe), j = s.getCurrentSourceFile(Ke); v("getIndentationAtPosition: getCurrentSourceFile: " + (Ms() - z)), z = Ms(); let yt = tl.SmartIndenter.getIndentation(oe, j, Te); return v("getIndentationAtPosition: computeIndentation  : " + (Ms() - z)), yt } function gr(Ke, oe, pe, z) { let Te = s.getCurrentSourceFile(Ke); return tl.formatSelection(oe, pe, Te, tl.getFormatContext(tP(z), e)) } function pt(Ke, oe) { return tl.formatDocument(s.getCurrentSourceFile(Ke), tl.getFormatContext(tP(oe), e)) } function nn(Ke, oe, pe, z) {
-                    let Te = s.getCurrentSourceFile(Ke), j = tl.getFormatContext(tP(z), e); if (!Kg(Te, oe)) switch (pe) {
-                        case "{": return tl.formatOnOpeningCurly(oe, Te, j); case "}": return tl.formatOnClosingCurly(oe, Te, j); case ";": return tl.formatOnSemicolon(oe, Te, j); case `
-`: return tl.formatOnEnter(oe, Te, j)
-                    }return []
-                } function Dt(Ke, oe, pe, z, Te, j = Cp) { C(); let yt = w(Ke), lt = Wc(oe, pe), Qe = tl.getFormatContext(Te, e); return Uo(fA(z, Zv, Es), Vt => (g.throwIfCancellationRequested(), gu.getFixes({ errorCode: Vt, sourceFile: yt, span: lt, program: l, host: e, cancellationToken: g, formatContext: Qe, preferences: j }))) } function pn(Ke, oe, pe, z = Cp) { C(), L.assert(Ke.type === "file"); let Te = w(Ke.fileName), j = tl.getFormatContext(pe, e); return gu.getAllFixes({ fixId: oe, sourceFile: Te, program: l, host: e, cancellationToken: g, formatContext: j, preferences: z }) } function An(Ke, oe, pe = Cp) { var z; C(), L.assert(Ke.type === "file"); let Te = w(Ke.fileName), j = tl.getFormatContext(oe, e), yt = (z = Ke.mode) != null ? z : Ke.skipDestructiveCodeActions ? "SortAndCombine" : "All"; return b_.organizeImports(Te, j, e, l, pe, yt) } function Kn(Ke, oe, pe, z = Cp) { return Nge(P(), Ke, oe, e, tl.getFormatContext(pe, e), z, A) } function hi(Ke, oe) { let pe = typeof Ke == "string" ? oe : Ke; return ba(pe) ? Promise.all(pe.map(z => ri(z))) : ri(pe) } function ri(Ke) { let oe = pe => Ts(pe, m, x); return L.assertEqual(Ke.type, "install package"), e.installPackage ? e.installPackage({ fileName: oe(Ke.file), packageName: Ke.packageName }) : Promise.reject("Host does not implement `installPackage`") } function vn(Ke, oe, pe, z) { let Te = z ? tl.getFormatContext(z, e).options : void 0; return xb.getDocCommentTemplateAtPosition(bb(e, Te), s.getCurrentSourceFile(Ke), oe, pe) } function Ht(Ke, oe, pe) { if (pe === 60) return !1; let z = s.getCurrentSourceFile(Ke); if (n1(z, oe)) return !1; if (khe(z, oe)) return pe === 123; if (qX(z, oe)) return !1; switch (pe) { case 39: case 34: case 96: return !Kg(z, oe) }return !0 } function En(Ke, oe) { let pe = s.getCurrentSourceFile(Ke), z = el(oe, pe); if (!z) return; let Te = z.kind === 31 && Xm(z.parent) ? z.parent.parent : CS(z) && Hg(z.parent) ? z.parent : void 0; if (Te && ve(Te)) return { newText: `</${Te.openingElement.tagName.getText(pe)}>` }; let j = z.kind === 31 && US(z.parent) ? z.parent.parent : CS(z) && BS(z.parent) ? z.parent : void 0; if (j && nt(j)) return { newText: "</>" } } function dr(Ke, oe) { return { lineStarts: Ke.getLineStarts(), firstLine: Ke.getLineAndCharacterOfPosition(oe.pos).line, lastLine: Ke.getLineAndCharacterOfPosition(oe.end).line } } function Cr(Ke, oe, pe) { let z = s.getCurrentSourceFile(Ke), Te = [], { lineStarts: j, firstLine: yt, lastLine: lt } = dr(z, oe), Qe = pe || !1, Vt = Number.MAX_VALUE, Hn = new Map, jr = new RegExp(/\S/), ei = m7(z, j[yt]), Kr = ei ? "{/*" : "//"; for (let Si = yt; Si <= lt; Si++) { let Ja = z.text.substring(j[Si], z.getLineEndOfPosition(j[Si])), Za = jr.exec(Ja); Za && (Vt = Math.min(Vt, Za.index), Hn.set(Si.toString(), Za.index), Ja.substr(Za.index, Kr.length) !== Kr && (Qe = pe === void 0 || pe)) } for (let Si = yt; Si <= lt; Si++) { if (yt !== lt && j[Si] === oe.end) continue; let Ja = Hn.get(Si.toString()); Ja !== void 0 && (ei ? Te.push.apply(Te, Se(Ke, { pos: j[Si] + Vt, end: z.getLineEndOfPosition(j[Si]) }, Qe, ei)) : Qe ? Te.push({ newText: Kr, span: { length: 0, start: j[Si] + Vt } }) : z.text.substr(j[Si] + Ja, Kr.length) === Kr && Te.push({ newText: "", span: { length: Kr.length, start: j[Si] + Ja } })) } return Te } function Se(Ke, oe, pe, z) { var Te; let j = s.getCurrentSourceFile(Ke), yt = [], { text: lt } = j, Qe = !1, Vt = pe || !1, Hn = [], { pos: jr } = oe, ei = z !== void 0 ? z : m7(j, jr), Kr = ei ? "{/*" : "/*", Si = ei ? "*/}" : "*/", Ja = ei ? "\\{\\/\\*" : "\\/\\*", Za = ei ? "\\*\\/\\}" : "\\*\\/"; for (; jr <= oe.end;) { let Fa = lt.substr(jr, Kr.length) === Kr ? Kr.length : 0, Hi = Kg(j, jr + Fa); if (Hi) ei && (Hi.pos--, Hi.end++), Hn.push(Hi.pos), Hi.kind === 3 && Hn.push(Hi.end), Qe = !0, jr = Hi.end + 1; else { let xi = lt.substring(jr, oe.end).search(`(${Ja})|(${Za})`); Vt = pe !== void 0 ? pe : Vt || !Whe(lt, jr, xi === -1 ? oe.end : jr + xi), jr = xi === -1 ? oe.end + 1 : jr + xi + Si.length } } if (Vt || !Qe) { ((Te = Kg(j, oe.pos)) == null ? void 0 : Te.kind) !== 2 && Ny(Hn, oe.pos, Es), Ny(Hn, oe.end, Es); let Fa = Hn[0]; lt.substr(Fa, Kr.length) !== Kr && yt.push({ newText: Kr, span: { length: 0, start: Fa } }); for (let Hi = 1; Hi < Hn.length - 1; Hi++)lt.substr(Hn[Hi] - Si.length, Si.length) !== Si && yt.push({ newText: Si, span: { length: 0, start: Hn[Hi] } }), lt.substr(Hn[Hi], Kr.length) !== Kr && yt.push({ newText: Kr, span: { length: 0, start: Hn[Hi] } }); yt.length % 2 !== 0 && yt.push({ newText: Si, span: { length: 0, start: Hn[Hn.length - 1] } }) } else for (let Fa of Hn) { let Hi = Fa - Si.length > 0 ? Fa - Si.length : 0, xi = lt.substr(Hi, Si.length) === Si ? Si.length : 0; yt.push({ newText: "", span: { length: Kr.length, start: Fa - xi } }) } return yt } function at(Ke, oe) { let pe = s.getCurrentSourceFile(Ke), { firstLine: z, lastLine: Te } = dr(pe, oe); return z === Te && oe.pos !== oe.end ? Se(Ke, oe, !0) : Cr(Ke, oe, !0) } function Tt(Ke, oe) { let pe = s.getCurrentSourceFile(Ke), z = [], { pos: Te } = oe, { end: j } = oe; Te === j && (j += m7(pe, Te) ? 2 : 1); for (let yt = Te; yt <= j; yt++) { let lt = Kg(pe, yt); if (lt) { switch (lt.kind) { case 2: z.push.apply(z, Cr(Ke, { end: lt.end, pos: lt.pos + 1 }, !1)); break; case 3: z.push.apply(z, Se(Ke, { end: lt.end, pos: lt.pos + 1 }, !1)) }yt = lt.end + 1 } } return z } function ve({ openingElement: Ke, closingElement: oe, parent: pe }) { return !yb(Ke.tagName, oe.tagName) || Hg(pe) && yb(Ke.tagName, pe.openingElement.tagName) && ve(pe) } function nt({ closingFragment: Ke, parent: oe }) { return !!(Ke.flags & 131072) || BS(oe) && nt(oe) } function ce(Ke, oe, pe) { let z = s.getCurrentSourceFile(Ke), Te = tl.getRangeOfEnclosingComment(z, oe); return Te && (!pe || Te.kind === 3) ? lv(Te) : void 0 } function Q(Ke, oe) { C(); let pe = w(Ke); g.throwIfCancellationRequested(); let z = pe.text, Te = []; if (oe.length > 0 && !Qe(pe.fileName)) { let Vt = yt(), Hn; for (; Hn = Vt.exec(z);) { g.throwIfCancellationRequested(); let jr = 3; L.assert(Hn.length === oe.length + jr); let ei = Hn[1], Kr = Hn.index + ei.length; if (!Kg(pe, Kr)) continue; let Si; for (let Za = 0; Za < oe.length; Za++)Hn[Za + jr] && (Si = oe[Za]); if (Si === void 0) return L.fail(); if (lt(z.charCodeAt(Kr + Si.text.length))) continue; let Ja = Hn[2]; Te.push({ descriptor: Si, message: Ja, position: Kr }) } } return Te; function j(Vt) { return Vt.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") } function yt() { let Vt = /(?:\/\/+\s*)/.source, Hn = /(?:\/\*+\s*)/.source, ei = "(" + /(?:^(?:\s|\*)*)/.source + "|" + Vt + "|" + Hn + ")", Kr = "(?:" + on(oe, Hi => "(" + j(Hi.text) + ")").join("|") + ")", Si = /(?:$|\*\/)/.source, Ja = /(?:.*?)/.source, Za = "(" + Kr + Ja + ")", Fa = ei + Za + Si; return new RegExp(Fa, "gim") } function lt(Vt) { return Vt >= 97 && Vt <= 122 || Vt >= 65 && Vt <= 90 || Vt >= 48 && Vt <= 57 } function Qe(Vt) { return jl(Vt, "/node_modules/") } } function ue(Ke, oe, pe) { return C(), RG.getRenameInfo(l, w(Ke), oe, pe || {}) } function G(Ke, oe, pe, z, Te, j) { let [yt, lt] = typeof oe == "number" ? [oe, void 0] : [oe.pos, oe.end]; return { file: Ke, startPosition: yt, endPosition: lt, program: P(), host: e, formatContext: tl.getFormatContext(z, e), cancellationToken: g, preferences: pe, triggerReason: Te, kind: j } } function Oe(Ke, oe, pe) { return { file: Ke, program: P(), host: e, span: oe, preferences: pe, cancellationToken: g } } function je(Ke, oe) { return ete.getSmartSelectionRange(oe, s.getCurrentSourceFile(Ke)) } function Ge(Ke, oe, pe = Cp, z, Te) { C(); let j = w(Ke); return Ok.getApplicableRefactors(G(j, oe, pe, Cp, z, Te)) } function kt(Ke, oe, pe, z, Te, j = Cp) { C(); let yt = w(Ke); return Ok.getEditsForRefactor(G(yt, pe, j, oe), z, Te) } function Kt(Ke, oe) { return oe === 0 ? { line: 0, character: 0 } : A.toLineColumnOffset(Ke, oe) } function ln(Ke, oe) { C(); let pe = rx.resolveCallHierarchyDeclaration(l, ef(w(Ke), oe)); return pe && pge(pe, z => rx.createCallHierarchyItem(l, z)) } function ir(Ke, oe) { C(); let pe = w(Ke), z = LY(rx.resolveCallHierarchyDeclaration(l, oe === 0 ? pe : ef(pe, oe))); return z ? rx.getIncomingCalls(l, z, g) : [] } function ae(Ke, oe) { C(); let pe = w(Ke), z = LY(rx.resolveCallHierarchyDeclaration(l, oe === 0 ? pe : ef(pe, oe))); return z ? rx.getOutgoingCalls(l, z) : [] } function rt(Ke, oe, pe = Cp) { C(); let z = w(Ke); return fee.provideInlayHints(Oe(z, oe, pe)) } let Ot = { dispose: W, cleanupSemanticCache: q, getSyntacticDiagnostics: Y, getSemanticDiagnostics: R, getSuggestionDiagnostics: ie, getCompilerOptionsDiagnostics: $, getSyntacticClassifications: _n, getSemanticClassifications: tn, getEncodedSyntacticClassifications: Gt, getEncodedSemanticClassifications: kn, getCompletionsAtPosition: fe, getCompletionEntryDetails: Z, getCompletionEntrySymbol: U, getSignatureHelpItems: ct, getQuickInfoAtPosition: re, getDefinitionAtPosition: ge, getDefinitionAndBoundSpan: X, getImplementationAtPosition: we, getTypeDefinitionAtPosition: Ve, getReferencesAtPosition: Ie, findReferences: Ne, getFileReferences: Le, getOccurrencesAtPosition: ke, getDocumentHighlights: Pe, getNameOrDottedNameSpan: We, getBreakpointStatementAtPosition: qe, getNavigateToItems: Ye, getRenameInfo: ue, getSmartSelectionRange: je, findRenameLocations: Ce, getNavigationBarItems: zt, getNavigationTree: Qt, getOutliningSpans: $n, getTodoComments: Q, getBraceMatchingAtPosition: Ni, getIndentationAtPosition: Pi, getFormattingEditsForRange: gr, getFormattingEditsForDocument: pt, getFormattingEditsAfterKeystroke: nn, getDocCommentTemplateAtPosition: vn, isValidBraceCompletionAtPosition: Ht, getJsxClosingTagAtPosition: En, getSpanOfEnclosingComment: ce, getCodeFixesAtPosition: Dt, getCombinedCodeFix: pn, applyCodeActionCommand: hi, organizeImports: An, getEditsForFileRename: Kn, getEmitOutput: _t, getNonBoundSourceFile: Rt, getProgram: P, getCurrentProgram: () => l, getAutoImportProvider: F, updateIsDefinitionOfReferencedSymbols: B, getApplicableRefactors: Ge, getEditsForRefactor: kt, toLineColumnOffset: Kt, getSourceMapper: () => A, clearSourceMapperCache: () => A.clearCache(), prepareCallHierarchy: ln, provideCallHierarchyIncomingCalls: ir, provideCallHierarchyOutgoingCalls: ae, toggleLineComment: Cr, toggleMultilineComment: Se, commentSelection: at, uncommentSelection: Tt, provideInlayHints: rt, getSupportedCodeFixes: Fye }; switch (o) { case 0: break; case 1: y$.forEach(Ke => Ot[Ke] = () => { throw new Error(`LanguageService Operation: ${Ke} not allowed in LanguageServiceMode.PartialSemantic`) }); break; case 2: qye.forEach(Ke => Ot[Ke] = () => { throw new Error(`LanguageService Operation: ${Ke} not allowed in LanguageServiceMode.Syntactic`) }); break; default: L.assertNever(o) }return Ot
-            } function p$(e) { return e.nameTable || s3e(e), e.nameTable } function s3e(e) { let t = e.nameTable = new Map; e.forEachChild(function r(i) { if (Re(i) && !GX(i) && i.escapedText || yf(i) && c3e(i)) { let o = MI(i); t.set(o, t.get(o) === void 0 ? i.pos : -1) } else if (pi(i)) { let o = i.escapedText; t.set(o, t.get(o) === void 0 ? i.pos : -1) } if (pa(i, r), Kd(i)) for (let o of i.jsDoc) pa(o, r) }) } function c3e(e) { return Rh(e) || e.parent.kind === 280 || d3e(e) || _R(e) } function nP(e) { let t = l3e(e); return t && (rs(t.parent) || K0(t.parent)) ? t : void 0 } function l3e(e) { switch (e.kind) { case 10: case 14: case 8: if (e.parent.kind === 164) return Xj(e.parent.parent) ? e.parent.parent : void 0; case 79: return Xj(e.parent) && (e.parent.parent.kind === 207 || e.parent.parent.kind === 289) && e.parent.name === e ? e.parent : void 0 } } function u3e(e, t) { let r = nP(e); if (r) { let i = t.getContextualType(r.parent), o = i && _5(r, t, i, !1); if (o && o.length === 1) return Vo(o) } return t.getSymbolAtLocation(e) } function _5(e, t, r, i) { let o = VN(e.name); if (!o) return Je; if (!r.isUnion()) { let l = r.getProperty(o); return l ? [l] : Je } let s = Zi(r.types, l => (rs(e.parent) || K0(e.parent)) && t.isTypeInvalidDueToUnionDiscriminant(l, e.parent) ? void 0 : l.getProperty(o)); if (i && (s.length === 0 || s.length === r.types.length)) { let l = r.getProperty(o); if (l) return [l] } return s.length === 0 ? Zi(r.types, l => l.getProperty(o)) : s } function d3e(e) { return e && e.parent && e.parent.kind === 209 && e.parent.argumentExpression === e } function f3e(e) { if (xl) return vi(ni(So(xl.getExecutingFilePath())), X8(e)); throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ") } var m$, p5, m5, Uye, h$, h5, g5, Vye, jye, Hye, Wye, zye, Jye, Kye, g$, y$, qye, _3e = gt({
-                "src/services/services.ts"() {
-                    "use strict"; Fr(), Fr(), lye(), wye(), m$ = "0.8", p5 = class { constructor(e, t, r) { this.pos = t, this.end = r, this.flags = 0, this.modifierFlagsCache = 0, this.transformFlags = 0, this.parent = void 0, this.kind = e } assertHasRealPosition(e) { L.assert(!vp(this.pos) && !vp(this.end), e || "Node must have a real position for this operation") } getSourceFile() { return Gn(this) } getStart(e, t) { return this.assertHasRealPosition(), gT(this, e, t) } getFullStart() { return this.assertHasRealPosition(), this.pos } getEnd() { return this.assertHasRealPosition(), this.end } getWidth(e) { return this.assertHasRealPosition(), this.getEnd() - this.getStart(e) } getFullWidth() { return this.assertHasRealPosition(), this.end - this.pos } getLeadingTriviaWidth(e) { return this.assertHasRealPosition(), this.getStart(e) - this.pos } getFullText(e) { return this.assertHasRealPosition(), (e || this.getSourceFile()).text.substring(this.pos, this.end) } getText(e) { return this.assertHasRealPosition(), e || (e = this.getSourceFile()), e.text.substring(this.getStart(e), this.getEnd()) } getChildCount(e) { return this.getChildren(e).length } getChildAt(e, t) { return this.getChildren(t)[e] } getChildren(e) { return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"), this._children || (this._children = i3e(this, e)) } getFirstToken(e) { this.assertHasRealPosition(); let t = this.getChildren(e); if (!t.length) return; let r = wr(t, i => i.kind < 312 || i.kind > 353); return r.kind < 163 ? r : r.getFirstToken(e) } getLastToken(e) { this.assertHasRealPosition(); let t = this.getChildren(e), r = Os(t); if (r) return r.kind < 163 ? r : r.getLastToken(e) } forEachChild(e, t) { return pa(this, e, t) } }, m5 = class { constructor(e, t) { this.pos = e, this.end = t, this.flags = 0, this.modifierFlagsCache = 0, this.transformFlags = 0, this.parent = void 0 } getSourceFile() { return Gn(this) } getStart(e, t) { return gT(this, e, t) } getFullStart() { return this.pos } getEnd() { return this.end } getWidth(e) { return this.getEnd() - this.getStart(e) } getFullWidth() { return this.end - this.pos } getLeadingTriviaWidth(e) { return this.getStart(e) - this.pos } getFullText(e) { return (e || this.getSourceFile()).text.substring(this.pos, this.end) } getText(e) { return e || (e = this.getSourceFile()), e.text.substring(this.getStart(e), this.getEnd()) } getChildCount() { return this.getChildren().length } getChildAt(e) { return this.getChildren()[e] } getChildren() { return this.kind === 1 && this.jsDoc || Je } getFirstToken() { } getLastToken() { } forEachChild() { } }, Uye = class { constructor(e, t) { this.id = 0, this.mergeId = 0, this.flags = e, this.escapedName = t } getFlags() { return this.flags } get name() { return fc(this) } getEscapedName() { return this.escapedName } getName() { return this.name } getDeclarations() { return this.declarations } getDocumentationComment(e) { if (!this.documentationComment) if (this.documentationComment = Je, !this.declarations && Zp(this) && this.links.target && Zp(this.links.target) && this.links.target.links.tupleLabelDeclaration) { let t = this.links.target.links.tupleLabelDeclaration; this.documentationComment = eP([t], e) } else this.documentationComment = eP(this.declarations, e); return this.documentationComment } getContextualDocumentationComment(e, t) { if (e) { if (zy(e) && (this.contextualGetAccessorDocumentationComment || (this.contextualGetAccessorDocumentationComment = eP(Pr(this.declarations, zy), t)), Fn(this.contextualGetAccessorDocumentationComment))) return this.contextualGetAccessorDocumentationComment; if (Ng(e) && (this.contextualSetAccessorDocumentationComment || (this.contextualSetAccessorDocumentationComment = eP(Pr(this.declarations, Ng), t)), Fn(this.contextualSetAccessorDocumentationComment))) return this.contextualSetAccessorDocumentationComment } return this.getDocumentationComment(t) } getJsDocTags(e) { return this.tags === void 0 && (this.tags = u5(this.declarations, e)), this.tags } getContextualJsDocTags(e, t) { if (e) { if (zy(e) && (this.contextualGetAccessorTags || (this.contextualGetAccessorTags = u5(Pr(this.declarations, zy), t)), Fn(this.contextualGetAccessorTags))) return this.contextualGetAccessorTags; if (Ng(e) && (this.contextualSetAccessorTags || (this.contextualSetAccessorTags = u5(Pr(this.declarations, Ng), t)), Fn(this.contextualSetAccessorTags))) return this.contextualSetAccessorTags } return this.getJsDocTags(t) } }, h$ = class extends m5 { constructor(e, t, r) { super(t, r), this.kind = e } }, h5 = class extends m5 { constructor(e, t, r) { super(t, r), this.kind = 79 } get text() { return vr(this) } }, h5.prototype.kind = 79, g5 = class extends m5 { constructor(e, t, r) { super(t, r), this.kind = 80 } get text() { return vr(this) } }, g5.prototype.kind = 80, Vye = class { constructor(e, t) { this.checker = e, this.flags = t } getFlags() { return this.flags } getSymbol() { return this.symbol } getProperties() { return this.checker.getPropertiesOfType(this) } getProperty(e) { return this.checker.getPropertyOfType(this, e) } getApparentProperties() { return this.checker.getAugmentedPropertiesOfType(this) } getCallSignatures() { return this.checker.getSignaturesOfType(this, 0) } getConstructSignatures() { return this.checker.getSignaturesOfType(this, 1) } getStringIndexType() { return this.checker.getIndexTypeOfType(this, 0) } getNumberIndexType() { return this.checker.getIndexTypeOfType(this, 1) } getBaseTypes() { return this.isClassOrInterface() ? this.checker.getBaseTypes(this) : void 0 } isNullableType() { return this.checker.isNullableType(this) } getNonNullableType() { return this.checker.getNonNullableType(this) } getNonOptionalType() { return this.checker.getNonOptionalType(this) } getConstraint() { return this.checker.getBaseConstraintOfType(this) } getDefault() { return this.checker.getDefaultFromTypeParameter(this) } isUnion() { return !!(this.flags & 1048576) } isIntersection() { return !!(this.flags & 2097152) } isUnionOrIntersection() { return !!(this.flags & 3145728) } isLiteral() { return !!(this.flags & 2432) } isStringLiteral() { return !!(this.flags & 128) } isNumberLiteral() { return !!(this.flags & 256) } isTypeParameter() { return !!(this.flags & 262144) } isClassOrInterface() { return !!(Ur(this) & 3) } isClass() { return !!(Ur(this) & 1) } isIndexType() { return !!(this.flags & 4194304) } get typeArguments() { if (Ur(this) & 4) return this.checker.getTypeArguments(this) } }, jye = class { constructor(e, t) { this.checker = e, this.flags = t } getDeclaration() { return this.declaration } getTypeParameters() { return this.typeParameters } getParameters() { return this.parameters } getReturnType() { return this.checker.getReturnTypeOfSignature(this) } getTypeParameterAtPosition(e) { let t = this.checker.getParameterType(this, e); if (t.isIndexType() && lL(t.type)) { let r = t.type.getConstraint(); if (r) return this.checker.getIndexType(r) } return t } getDocumentationComment() { return this.documentationComment || (this.documentationComment = eP(aT(this.declaration), this.checker)) } getJsDocTags() { return this.jsDocTags || (this.jsDocTags = u5(aT(this.declaration), this.checker)) } }, Hye = class extends p5 {
-                        constructor(e, t, r) { super(e, t, r), this.kind = 308 } update(e, t) { return uJ(this, e, t) } getLineAndCharacterOfPosition(e) { return Gs(this, e) } getLineStarts() { return Sh(this) } getPositionOfLineAndCharacter(e, t, r) { return mj(Sh(this), e, t, this.text, r) } getLineEndOfPosition(e) {
-                            let { line: t } = this.getLineAndCharacterOfPosition(e), r = this.getLineStarts(), i; t + 1 >= r.length && (i = this.getEnd()), i || (i = r[t + 1] - 1); let o = this.getFullText(); return o[i] === `
-`&& o[i - 1] === "\r" ? i - 1 : i
-                        } getNamedDeclarations() { return this.namedDeclarations || (this.namedDeclarations = this.computeNamedDeclarations()), this.namedDeclarations } computeNamedDeclarations() { let e = Nf(); return this.forEachChild(o), e; function t(s) { let l = i(s); l && e.add(l, s) } function r(s) { let l = e.get(s); return l || e.set(s, l = []), l } function i(s) { let l = Sj(s); return l && (ts(l) && br(l.expression) ? l.expression.name.text : Ys(l) ? VN(l) : void 0) } function o(s) { switch (s.kind) { case 259: case 215: case 171: case 170: let l = s, f = i(l); if (f) { let m = r(f), v = Os(m); v && l.parent === v.parent && l.symbol === v.symbol ? l.body && !v.body && (m[m.length - 1] = l) : m.push(l) } pa(s, o); break; case 260: case 228: case 261: case 262: case 263: case 264: case 268: case 278: case 273: case 270: case 271: case 174: case 175: case 184: t(s), pa(s, o); break; case 166: if (!Mr(s, 16476)) break; case 257: case 205: { let m = s; if (La(m.name)) { pa(m.name, o); break } m.initializer && o(m.initializer) } case 302: case 169: case 168: t(s); break; case 275: let d = s; d.exportClause && (h_(d.exportClause) ? mn(d.exportClause.elements, o) : o(d.exportClause.name)); break; case 269: let g = s.importClause; g && (g.name && t(g.name), g.namedBindings && (g.namedBindings.kind === 271 ? t(g.namedBindings) : mn(g.namedBindings.elements, o))); break; case 223: ic(s) !== 0 && t(s); default: pa(s, o) } } }
-                    }, Wye = class { constructor(e, t, r) { this.fileName = e, this.text = t, this.skipTrivia = r } getLineAndCharacterOfPosition(e) { return Gs(this, e) } }, zye = class { constructor(e) { this.host = e } getCurrentSourceFile(e) { var t, r, i, o, s, l, f, d; let g = this.host.getScriptSnapshot(e); if (!g) throw new Error("Could not find file: '" + e + "'."); let m = mY(e, this.host), v = this.host.getScriptVersion(e), S; if (this.currentFileName !== e) { let x = { languageVersion: 99, impliedNodeFormat: NF(Ts(e, this.host.getCurrentDirectory(), ((i = (r = (t = this.host).getCompilerHost) == null ? void 0 : r.call(t)) == null ? void 0 : i.getCanonicalFileName) || lb(this.host)), (d = (f = (l = (s = (o = this.host).getCompilerHost) == null ? void 0 : s.call(o)) == null ? void 0 : l.getModuleResolutionCache) == null ? void 0 : f.call(l)) == null ? void 0 : d.getPackageJsonInfoCache(), this.host, this.host.getCompilationSettings()), setExternalModuleIndicator: OR(this.host.getCompilationSettings()) }; S = f5(e, g, x, v, !0, m) } else if (this.currentFileVersion !== v) { let x = g.getChangeRange(this.currentFileScriptSnapshot); S = _$(this.currentSourceFile, g, v, x) } return S && (this.currentFileVersion = v, this.currentFileName = e, this.currentFileScriptSnapshot = g, this.currentSourceFile = S), this.currentSourceFile } }, Jye = { isCancellationRequested: m0, throwIfCancellationRequested: Ba }, Kye = class { constructor(e) { this.cancellationToken = e } isCancellationRequested() { return this.cancellationToken.isCancellationRequested() } throwIfCancellationRequested() { var e; if (this.isCancellationRequested()) throw (e = ai) == null || e.instant(ai.Phase.Session, "cancellationThrown", { kind: "CancellationTokenObject" }), new tI } }, g$ = class { constructor(e, t = 20) { this.hostCancellationToken = e, this.throttleWaitMilliseconds = t, this.lastCancellationCheckTime = 0 } isCancellationRequested() { let e = Ms(); return Math.abs(e - this.lastCancellationCheckTime) >= this.throttleWaitMilliseconds ? (this.lastCancellationCheckTime = e, this.hostCancellationToken.isCancellationRequested()) : !1 } throwIfCancellationRequested() { var e; if (this.isCancellationRequested()) throw (e = ai) == null || e.instant(ai.Phase.Session, "cancellationThrown", { kind: "ThrottledCancellationToken" }), new tI } }, y$ = ["getSemanticDiagnostics", "getSuggestionDiagnostics", "getCompilerOptionsDiagnostics", "getSemanticClassifications", "getEncodedSemanticClassifications", "getCodeFixesAtPosition", "getCombinedCodeFix", "applyCodeActionCommand", "organizeImports", "getEditsForFileRename", "getEmitOutput", "getApplicableRefactors", "getEditsForRefactor", "prepareCallHierarchy", "provideCallHierarchyIncomingCalls", "provideCallHierarchyOutgoingCalls", "provideInlayHints", "getSupportedCodeFixes"], qye = [...y$, "getCompletionsAtPosition", "getCompletionEntryDetails", "getCompletionEntrySymbol", "getSignatureHelpItems", "getQuickInfoAtPosition", "getDefinitionAtPosition", "getDefinitionAndBoundSpan", "getImplementationAtPosition", "getTypeDefinitionAtPosition", "getReferencesAtPosition", "findReferences", "getOccurrencesAtPosition", "getDocumentHighlights", "getNavigateToItems", "getRenameInfo", "findRenameLocations", "getApplicableRefactors"], _le(o3e())
-                }
-            }); function p3e(e, t, r) { let i = []; r = t$(r, i); let o = ba(e) ? e : [e], s = lN(void 0, void 0, D, r, o, t, !0); return s.diagnostics = Qi(s.diagnostics, i), s } var m3e = gt({ "src/services/transform.ts"() { "use strict"; Fr() } }); function y5(e, t) { e && e.log("*INTERNAL ERROR* - Exception in typescript services: " + t.message) } function h3e(e, t, r, i) { let o; i && (e.log(t), o = Ms()); let s = r(); if (i) { let l = Ms(); if (e.log(`${t} completed in ${l - o} msec`), Ta(s)) { let f = s; f.length > 128 && (f = f.substring(0, 128) + "..."), e.log(`  result.length=${f.length}, result='${JSON.stringify(f)}'`) } } return s } function v$(e, t, r, i) { return Xye(e, t, !0, r, i) } function Xye(e, t, r, i, o) { try { let s = h3e(e, t, i, o); return r ? JSON.stringify({ result: s }) : s } catch (s) { return s instanceof tI ? JSON.stringify({ canceled: !0 }) : (y5(e, s), s.description = t, JSON.stringify({ error: s })) } } function b$(e, t) { return e.map(r => g3e(r, t)) } function g3e(e, t) { return { message: sv(e.messageText, t), start: e.start, length: e.length, category: C8(e), code: e.code, reportsUnnecessary: e.reportsUnnecessary, reportsDeprecated: e.reportsDeprecated } } function E$(e) { return { spans: e.spans.join(","), endOfLineState: e.endOfLineState } } var v5, Yye, T$, S$, b5, $ye, Qye, Zye, eve, y3e = gt({
-                "src/services/shims.ts"() {
-                    "use strict"; Fr(), v5 = function () { return this }(), Yye = class { constructor(e) { this.scriptSnapshotShim = e } getText(e, t) { return this.scriptSnapshotShim.getText(e, t) } getLength() { return this.scriptSnapshotShim.getLength() } getChangeRange(e) { let t = e, r = this.scriptSnapshotShim.getChangeRange(t.scriptSnapshotShim); if (r === null) return null; let i = JSON.parse(r); return Sw(il(i.span.start, i.span.length), i.newLength) } dispose() { "dispose" in this.scriptSnapshotShim && this.scriptSnapshotShim.dispose() } }, T$ = class { constructor(e) { this.shimHost = e, this.loggingEnabled = !1, this.tracingEnabled = !1, "getModuleResolutionsForFile" in this.shimHost && (this.resolveModuleNames = (t, r) => { let i = JSON.parse(this.shimHost.getModuleResolutionsForFile(r)); return on(t, o => { let s = zD(i, o); return s ? { resolvedFileName: s, extension: jR(s), isExternalLibraryImport: !1 } : void 0 }) }), "directoryExists" in this.shimHost && (this.directoryExists = t => this.shimHost.directoryExists(t)), "getTypeReferenceDirectiveResolutionsForFile" in this.shimHost && (this.resolveTypeReferenceDirectives = (t, r) => { let i = JSON.parse(this.shimHost.getTypeReferenceDirectiveResolutionsForFile(r)); return on(t, o => zD(i, Ta(o) ? o : n_(o.fileName))) }) } log(e) { this.loggingEnabled && this.shimHost.log(e) } trace(e) { this.tracingEnabled && this.shimHost.trace(e) } error(e) { this.shimHost.error(e) } getProjectVersion() { if (this.shimHost.getProjectVersion) return this.shimHost.getProjectVersion() } getTypeRootsVersion() { return this.shimHost.getTypeRootsVersion ? this.shimHost.getTypeRootsVersion() : 0 } useCaseSensitiveFileNames() { return this.shimHost.useCaseSensitiveFileNames ? this.shimHost.useCaseSensitiveFileNames() : !1 } getCompilationSettings() { let e = this.shimHost.getCompilationSettings(); if (e === null || e === "") throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings"); let t = JSON.parse(e); return t.allowNonTsExtensions = !0, t } getScriptFileNames() { let e = this.shimHost.getScriptFileNames(); return JSON.parse(e) } getScriptSnapshot(e) { let t = this.shimHost.getScriptSnapshot(e); return t && new Yye(t) } getScriptKind(e) { return "getScriptKind" in this.shimHost ? this.shimHost.getScriptKind(e) : 0 } getScriptVersion(e) { return this.shimHost.getScriptVersion(e) } getLocalizedDiagnosticMessages() { let e = this.shimHost.getLocalizedDiagnosticMessages(); if (e === null || e === "") return null; try { return JSON.parse(e) } catch (t) { return this.log(t.description || "diagnosticMessages.generated.json has invalid JSON format"), null } } getCancellationToken() { let e = this.shimHost.getCancellationToken(); return new g$(e) } getCurrentDirectory() { return this.shimHost.getCurrentDirectory() } getDirectories(e) { return JSON.parse(this.shimHost.getDirectories(e)) } getDefaultLibFileName(e) { return this.shimHost.getDefaultLibFileName(JSON.stringify(e)) } readDirectory(e, t, r, i, o) { let s = tL(e, r, i, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); return JSON.parse(this.shimHost.readDirectory(e, JSON.stringify(t), JSON.stringify(s.basePaths), s.excludePattern, s.includeFilePattern, s.includeDirectoryPattern, o)) } readFile(e, t) { return this.shimHost.readFile(e, t) } fileExists(e) { return this.shimHost.fileExists(e) } }, S$ = class { constructor(e) { this.shimHost = e, this.useCaseSensitiveFileNames = this.shimHost.useCaseSensitiveFileNames ? this.shimHost.useCaseSensitiveFileNames() : !1, "directoryExists" in this.shimHost ? this.directoryExists = t => this.shimHost.directoryExists(t) : this.directoryExists = void 0, "realpath" in this.shimHost ? this.realpath = t => this.shimHost.realpath(t) : this.realpath = void 0 } readDirectory(e, t, r, i, o) { let s = tL(e, r, i, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); return JSON.parse(this.shimHost.readDirectory(e, JSON.stringify(t), JSON.stringify(s.basePaths), s.excludePattern, s.includeFilePattern, s.includeDirectoryPattern, o)) } fileExists(e) { return this.shimHost.fileExists(e) } readFile(e) { return this.shimHost.readFile(e) } getDirectories(e) { return JSON.parse(this.shimHost.getDirectories(e)) } }, b5 = class { constructor(e) { this.factory = e, e.registerShim(this) } dispose(e) { this.factory.unregisterShim(this) } }, $ye = class extends b5 { constructor(e, t, r) { super(e), this.host = t, this.languageService = r, this.logPerformance = !1, this.logger = this.host } forwardJSONCall(e, t) { return v$(this.logger, e, t, this.logPerformance) } dispose(e) { this.logger.log("dispose()"), this.languageService.dispose(), this.languageService = null, v5 && v5.CollectGarbage && (v5.CollectGarbage(), this.logger.log("CollectGarbage()")), this.logger = null, super.dispose(e) } refresh(e) { this.forwardJSONCall(`refresh(${e})`, () => null) } cleanupSemanticCache() { this.forwardJSONCall("cleanupSemanticCache()", () => (this.languageService.cleanupSemanticCache(), null)) } realizeDiagnostics(e) { let t = bb(this.host, void 0); return b$(e, t) } getSyntacticClassifications(e, t, r) { return this.forwardJSONCall(`getSyntacticClassifications('${e}', ${t}, ${r})`, () => this.languageService.getSyntacticClassifications(e, il(t, r))) } getSemanticClassifications(e, t, r) { return this.forwardJSONCall(`getSemanticClassifications('${e}', ${t}, ${r})`, () => this.languageService.getSemanticClassifications(e, il(t, r))) } getEncodedSyntacticClassifications(e, t, r) { return this.forwardJSONCall(`getEncodedSyntacticClassifications('${e}', ${t}, ${r})`, () => E$(this.languageService.getEncodedSyntacticClassifications(e, il(t, r)))) } getEncodedSemanticClassifications(e, t, r) { return this.forwardJSONCall(`getEncodedSemanticClassifications('${e}', ${t}, ${r})`, () => E$(this.languageService.getEncodedSemanticClassifications(e, il(t, r)))) } getSyntacticDiagnostics(e) { return this.forwardJSONCall(`getSyntacticDiagnostics('${e}')`, () => { let t = this.languageService.getSyntacticDiagnostics(e); return this.realizeDiagnostics(t) }) } getSemanticDiagnostics(e) { return this.forwardJSONCall(`getSemanticDiagnostics('${e}')`, () => { let t = this.languageService.getSemanticDiagnostics(e); return this.realizeDiagnostics(t) }) } getSuggestionDiagnostics(e) { return this.forwardJSONCall(`getSuggestionDiagnostics('${e}')`, () => this.realizeDiagnostics(this.languageService.getSuggestionDiagnostics(e))) } getCompilerOptionsDiagnostics() { return this.forwardJSONCall("getCompilerOptionsDiagnostics()", () => { let e = this.languageService.getCompilerOptionsDiagnostics(); return this.realizeDiagnostics(e) }) } getQuickInfoAtPosition(e, t) { return this.forwardJSONCall(`getQuickInfoAtPosition('${e}', ${t})`, () => this.languageService.getQuickInfoAtPosition(e, t)) } getNameOrDottedNameSpan(e, t, r) { return this.forwardJSONCall(`getNameOrDottedNameSpan('${e}', ${t}, ${r})`, () => this.languageService.getNameOrDottedNameSpan(e, t, r)) } getBreakpointStatementAtPosition(e, t) { return this.forwardJSONCall(`getBreakpointStatementAtPosition('${e}', ${t})`, () => this.languageService.getBreakpointStatementAtPosition(e, t)) } getSignatureHelpItems(e, t, r) { return this.forwardJSONCall(`getSignatureHelpItems('${e}', ${t})`, () => this.languageService.getSignatureHelpItems(e, t, r)) } getDefinitionAtPosition(e, t) { return this.forwardJSONCall(`getDefinitionAtPosition('${e}', ${t})`, () => this.languageService.getDefinitionAtPosition(e, t)) } getDefinitionAndBoundSpan(e, t) { return this.forwardJSONCall(`getDefinitionAndBoundSpan('${e}', ${t})`, () => this.languageService.getDefinitionAndBoundSpan(e, t)) } getTypeDefinitionAtPosition(e, t) { return this.forwardJSONCall(`getTypeDefinitionAtPosition('${e}', ${t})`, () => this.languageService.getTypeDefinitionAtPosition(e, t)) } getImplementationAtPosition(e, t) { return this.forwardJSONCall(`getImplementationAtPosition('${e}', ${t})`, () => this.languageService.getImplementationAtPosition(e, t)) } getRenameInfo(e, t, r) { return this.forwardJSONCall(`getRenameInfo('${e}', ${t})`, () => this.languageService.getRenameInfo(e, t, r)) } getSmartSelectionRange(e, t) { return this.forwardJSONCall(`getSmartSelectionRange('${e}', ${t})`, () => this.languageService.getSmartSelectionRange(e, t)) } findRenameLocations(e, t, r, i, o) { return this.forwardJSONCall(`findRenameLocations('${e}', ${t}, ${r}, ${i}, ${o})`, () => this.languageService.findRenameLocations(e, t, r, i, o)) } getBraceMatchingAtPosition(e, t) { return this.forwardJSONCall(`getBraceMatchingAtPosition('${e}', ${t})`, () => this.languageService.getBraceMatchingAtPosition(e, t)) } isValidBraceCompletionAtPosition(e, t, r) { return this.forwardJSONCall(`isValidBraceCompletionAtPosition('${e}', ${t}, ${r})`, () => this.languageService.isValidBraceCompletionAtPosition(e, t, r)) } getSpanOfEnclosingComment(e, t, r) { return this.forwardJSONCall(`getSpanOfEnclosingComment('${e}', ${t})`, () => this.languageService.getSpanOfEnclosingComment(e, t, r)) } getIndentationAtPosition(e, t, r) { return this.forwardJSONCall(`getIndentationAtPosition('${e}', ${t})`, () => { let i = JSON.parse(r); return this.languageService.getIndentationAtPosition(e, t, i) }) } getReferencesAtPosition(e, t) { return this.forwardJSONCall(`getReferencesAtPosition('${e}', ${t})`, () => this.languageService.getReferencesAtPosition(e, t)) } findReferences(e, t) { return this.forwardJSONCall(`findReferences('${e}', ${t})`, () => this.languageService.findReferences(e, t)) } getFileReferences(e) { return this.forwardJSONCall(`getFileReferences('${e})`, () => this.languageService.getFileReferences(e)) } getOccurrencesAtPosition(e, t) { return this.forwardJSONCall(`getOccurrencesAtPosition('${e}', ${t})`, () => this.languageService.getOccurrencesAtPosition(e, t)) } getDocumentHighlights(e, t, r) { return this.forwardJSONCall(`getDocumentHighlights('${e}', ${t})`, () => { let i = this.languageService.getDocumentHighlights(e, t, JSON.parse(r)), o = n_(Al(e)); return Pr(i, s => n_(Al(s.fileName)) === o) }) } getCompletionsAtPosition(e, t, r, i) { return this.forwardJSONCall(`getCompletionsAtPosition('${e}', ${t}, ${r}, ${i})`, () => this.languageService.getCompletionsAtPosition(e, t, r, i)) } getCompletionEntryDetails(e, t, r, i, o, s, l) { return this.forwardJSONCall(`getCompletionEntryDetails('${e}', ${t}, '${r}')`, () => { let f = i === void 0 ? void 0 : JSON.parse(i); return this.languageService.getCompletionEntryDetails(e, t, r, f, o, s, l) }) } getFormattingEditsForRange(e, t, r, i) { return this.forwardJSONCall(`getFormattingEditsForRange('${e}', ${t}, ${r})`, () => { let o = JSON.parse(i); return this.languageService.getFormattingEditsForRange(e, t, r, o) }) } getFormattingEditsForDocument(e, t) { return this.forwardJSONCall(`getFormattingEditsForDocument('${e}')`, () => { let r = JSON.parse(t); return this.languageService.getFormattingEditsForDocument(e, r) }) } getFormattingEditsAfterKeystroke(e, t, r, i) { return this.forwardJSONCall(`getFormattingEditsAfterKeystroke('${e}', ${t}, '${r}')`, () => { let o = JSON.parse(i); return this.languageService.getFormattingEditsAfterKeystroke(e, t, r, o) }) } getDocCommentTemplateAtPosition(e, t, r, i) { return this.forwardJSONCall(`getDocCommentTemplateAtPosition('${e}', ${t})`, () => this.languageService.getDocCommentTemplateAtPosition(e, t, r, i)) } getNavigateToItems(e, t, r) { return this.forwardJSONCall(`getNavigateToItems('${e}', ${t}, ${r})`, () => this.languageService.getNavigateToItems(e, t, r)) } getNavigationBarItems(e) { return this.forwardJSONCall(`getNavigationBarItems('${e}')`, () => this.languageService.getNavigationBarItems(e)) } getNavigationTree(e) { return this.forwardJSONCall(`getNavigationTree('${e}')`, () => this.languageService.getNavigationTree(e)) } getOutliningSpans(e) { return this.forwardJSONCall(`getOutliningSpans('${e}')`, () => this.languageService.getOutliningSpans(e)) } getTodoComments(e, t) { return this.forwardJSONCall(`getTodoComments('${e}')`, () => this.languageService.getTodoComments(e, JSON.parse(t))) } prepareCallHierarchy(e, t) { return this.forwardJSONCall(`prepareCallHierarchy('${e}', ${t})`, () => this.languageService.prepareCallHierarchy(e, t)) } provideCallHierarchyIncomingCalls(e, t) { return this.forwardJSONCall(`provideCallHierarchyIncomingCalls('${e}', ${t})`, () => this.languageService.provideCallHierarchyIncomingCalls(e, t)) } provideCallHierarchyOutgoingCalls(e, t) { return this.forwardJSONCall(`provideCallHierarchyOutgoingCalls('${e}', ${t})`, () => this.languageService.provideCallHierarchyOutgoingCalls(e, t)) } provideInlayHints(e, t, r) { return this.forwardJSONCall(`provideInlayHints('${e}', '${JSON.stringify(t)}', ${JSON.stringify(r)})`, () => this.languageService.provideInlayHints(e, t, r)) } getEmitOutput(e) { return this.forwardJSONCall(`getEmitOutput('${e}')`, () => { let { diagnostics: t, ...r } = this.languageService.getEmitOutput(e); return { ...r, diagnostics: this.realizeDiagnostics(t) } }) } getEmitOutputObject(e) { return Xye(this.logger, `getEmitOutput('${e}')`, !1, () => this.languageService.getEmitOutput(e), this.logPerformance) } toggleLineComment(e, t) { return this.forwardJSONCall(`toggleLineComment('${e}', '${JSON.stringify(t)}')`, () => this.languageService.toggleLineComment(e, t)) } toggleMultilineComment(e, t) { return this.forwardJSONCall(`toggleMultilineComment('${e}', '${JSON.stringify(t)}')`, () => this.languageService.toggleMultilineComment(e, t)) } commentSelection(e, t) { return this.forwardJSONCall(`commentSelection('${e}', '${JSON.stringify(t)}')`, () => this.languageService.commentSelection(e, t)) } uncommentSelection(e, t) { return this.forwardJSONCall(`uncommentSelection('${e}', '${JSON.stringify(t)}')`, () => this.languageService.uncommentSelection(e, t)) } }, Qye = class extends b5 {
-                        constructor(e, t) { super(e), this.logger = t, this.logPerformance = !1, this.classifier = Age() } getEncodedLexicalClassifications(e, t, r = !1) { return v$(this.logger, "getEncodedLexicalClassifications", () => E$(this.classifier.getEncodedLexicalClassifications(e, t, r)), this.logPerformance) } getClassificationsForLine(e, t, r = !1) {
-                            let i = this.classifier.getClassificationsForLine(e, t, r), o = ""; for (let s of i.entries) o += s.length + `
-`, o += s.classification + `
-`; return o += i.finalLexState, o
-                        }
-                    }, Zye = class extends b5 {
-                        constructor(e, t, r) { super(e), this.logger = t, this.host = r, this.logPerformance = !1 } forwardJSONCall(e, t) { return v$(this.logger, e, t, this.logPerformance) } resolveModuleName(e, t, r) { return this.forwardJSONCall(`resolveModuleName('${e}')`, () => { let i = JSON.parse(r), o = FL(t, Al(e), i, this.host), s = o.resolvedModule ? o.resolvedModule.resolvedFileName : void 0; return o.resolvedModule && o.resolvedModule.extension !== ".ts" && o.resolvedModule.extension !== ".tsx" && o.resolvedModule.extension !== ".d.ts" && (s = void 0), { resolvedFileName: s, failedLookupLocations: o.failedLookupLocations, affectingLocations: o.affectingLocations } }) } resolveTypeReferenceDirective(e, t, r) { return this.forwardJSONCall(`resolveTypeReferenceDirective(${e})`, () => { let i = JSON.parse(r), o = HJ(t, Al(e), i, this.host); return { resolvedFileName: o.resolvedTypeReferenceDirective ? o.resolvedTypeReferenceDirective.resolvedFileName : void 0, primary: o.resolvedTypeReferenceDirective ? o.resolvedTypeReferenceDirective.primary : !0, failedLookupLocations: o.failedLookupLocations } }) } getPreProcessedFileInfo(e, t) { return this.forwardJSONCall(`getPreProcessedFileInfo('${e}')`, () => { let r = qge(E7(t), !0, !0); return { referencedFiles: this.convertFileReferences(r.referencedFiles), importedFiles: this.convertFileReferences(r.importedFiles), ambientExternalModules: r.ambientExternalModules, isLibFile: r.isLibFile, typeReferenceDirectives: this.convertFileReferences(r.typeReferenceDirectives), libReferenceDirectives: this.convertFileReferences(r.libReferenceDirectives) } }) } getAutomaticTypeDirectiveNames(e) { return this.forwardJSONCall(`getAutomaticTypeDirectiveNames('${e}')`, () => { let t = JSON.parse(e); return X3(t, this.host) }) } convertFileReferences(e) { if (!e) return; let t = []; for (let r of e) t.push({ path: Al(r.fileName), position: r.pos, length: r.end - r.pos }); return t } getTSConfigFileInfo(e, t) {
-                            return this.forwardJSONCall(`getTSConfigFileInfo('${e}')`, () => {
-                                let r = wO(e, E7(t)), i = Al(e), o = MO(r, this.host, ni(i), {}, i); return {
-                                    options: o.options, typeAcquisition: o.typeAcquisition, files: o.fileNames, raw: o.raw, errors: b$([...r.parseDiagnostics, ...o.errors], `\r
-`)
-                                }
-                            })
-                        } getDefaultCompilationSettings() { return this.forwardJSONCall("getDefaultCompilationSettings()", () => d5()) } discoverTypings(e) { let t = Dl(!1); return this.forwardJSONCall("discoverTypings()", () => { let r = JSON.parse(e); return this.safeList === void 0 && (this.safeList = QT.loadSafeList(this.host, Ts(r.safeListPath, r.safeListPath, t))), QT.discoverTypings(this.host, i => this.logger.log(i), r.fileNames, Ts(r.projectRootPath, r.projectRootPath, t), this.safeList, r.packageNameToTypingLocation, r.typeAcquisition, r.unresolvedImports, r.typesRegistry, Cp) }) }
-                    }, eve = class { constructor() { this._shims = [] } getServicesVersion() { return m$ } createLanguageServiceShim(e) { try { this.documentRegistry === void 0 && (this.documentRegistry = VY(e.useCaseSensitiveFileNames && e.useCaseSensitiveFileNames(), e.getCurrentDirectory())); let t = new T$(e), r = Bye(t, this.documentRegistry, !1); return new $ye(this, e, r) } catch (t) { throw y5(e, t), t } } createClassifierShim(e) { try { return new Qye(this, e) } catch (t) { throw y5(e, t), t } } createCoreServicesShim(e) { try { let t = new S$(e); return new Zye(this, e, t) } catch (t) { throw y5(e, t), t } } close() { Om(this._shims), this.documentRegistry = void 0 } registerShim(e) { this._shims.push(e) } unregisterShim(e) { for (let t = 0; t < this._shims.length; t++)if (this._shims[t] === e) { delete this._shims[t]; return } throw new Error("Invalid operation") } }
-                }
-            }); function v3e(e, t) { if (e.isDeclarationFile) return; let r = Vi(e, t), i = e.getLineAndCharacterOfPosition(t).line; if (e.getLineAndCharacterOfPosition(r.getStart(e)).line > i) { let v = el(r.pos, e); if (!v || e.getLineAndCharacterOfPosition(v.getEnd()).line !== i) return; r = v } if (r.flags & 16777216) return; return m(r); function o(v, S) { let x = HS(v) ? dA(v.modifiers, du) : void 0, A = x ? xo(e.text, x.end) : v.getStart(e); return Wc(A, (S || v).getEnd()) } function s(v, S) { return o(v, t1(S, S.parent, e)) } function l(v, S) { return v && i === e.getLineAndCharacterOfPosition(v.getStart(e)).line ? m(v) : m(S) } function f(v, S, x) { if (v) { let A = v.indexOf(S); if (A >= 0) { let w = A, C = A + 1; for (; w > 0 && x(v[w - 1]);)w--; for (; C < v.length && x(v[C]);)C++; return Wc(xo(e.text, v[w].pos), v[C - 1].end) } } return o(S) } function d(v) { return m(el(v.pos, e)) } function g(v) { return m(t1(v, v.parent, e)) } function m(v) { if (v) { let { parent: X } = v; switch (v.kind) { case 240: return x(v.declarationList.declarations[0]); case 257: case 169: case 168: return x(v); case 166: return w(v); case 259: case 171: case 170: case 174: case 175: case 173: case 215: case 216: return P(v); case 238: if (bT(v)) return F(v); case 265: return B(v); case 295: return B(v.block); case 241: return o(v.expression); case 250: return o(v.getChildAt(0), v.expression); case 244: return s(v, v.expression); case 243: return m(v.statement); case 256: return o(v.getChildAt(0)); case 242: return s(v, v.expression); case 253: return m(v.statement); case 249: case 248: return o(v.getChildAt(0), v.label); case 245: return W(v); case 246: return s(v, v.expression); case 247: return q(v); case 252: return s(v, v.expression); case 292: case 293: return m(v.statements[0]); case 255: return B(v.tryBlock); case 254: return o(v, v.expression); case 274: return o(v, v.expression); case 268: return o(v, v.moduleReference); case 269: return o(v, v.moduleSpecifier); case 275: return o(v, v.moduleSpecifier); case 264: if (Gh(v) !== 1) return; case 260: case 263: case 302: case 205: return o(v); case 251: return m(v.statement); case 167: return f(X.modifiers, v, du); case 203: case 204: return Y(v); case 261: case 262: return; case 26: case 1: return l(el(v.pos, e)); case 27: return d(v); case 18: return ie(v); case 19: return $(v); case 23: return fe(v); case 20: return Z(v); case 21: return U(v); case 58: return re(v); case 31: case 29: return le(v); case 115: return _e(v); case 91: case 83: case 96: return g(v); case 162: return ge(v); default: if (qg(v)) return R(v); if ((v.kind === 79 || v.kind === 227 || v.kind === 299 || v.kind === 300) && qg(X)) return o(v); if (v.kind === 223) { let { left: Ve, operatorToken: we } = v; if (qg(Ve)) return R(Ve); if (we.kind === 63 && qg(v.parent)) return o(v); if (we.kind === 27) return m(Ve) } if (Dh(v)) switch (X.kind) { case 243: return d(v); case 167: return m(v.parent); case 245: case 247: return o(v); case 223: if (v.parent.operatorToken.kind === 27) return o(v); break; case 216: if (v.parent.body === v) return o(v); break }switch (v.parent.kind) { case 299: if (v.parent.name === v && !qg(v.parent.parent)) return m(v.parent.initializer); break; case 213: if (v.parent.type === v) return g(v.parent.type); break; case 257: case 166: { let { initializer: Ve, type: we } = v.parent; if (Ve === v || we === v || Mg(v.kind)) return d(v); break } case 223: { let { left: Ve } = v.parent; if (qg(Ve) && v !== Ve) return d(v); break } default: if (Ia(v.parent) && v.parent.type === v) return d(v) }return m(v.parent) } } function S(X) { return pu(X.parent) && X.parent.declarations[0] === X ? o(el(X.pos, e, X.parent), X) : o(X) } function x(X) { if (X.parent.parent.kind === 246) return m(X.parent.parent); let Ve = X.parent; if (La(X.name)) return Y(X.name); if (mT(X) && X.initializer || Mr(X, 1) || Ve.parent.kind === 247) return S(X); if (pu(X.parent) && X.parent.declarations[0] !== X) return m(el(X.pos, e, X.parent)) } function A(X) { return !!X.initializer || X.dotDotDotToken !== void 0 || Mr(X, 12) } function w(X) { if (La(X.name)) return Y(X.name); if (A(X)) return o(X); { let Ve = X.parent, we = Ve.parameters.indexOf(X); return L.assert(we !== -1), we !== 0 ? w(Ve.parameters[we - 1]) : m(Ve.body) } } function C(X) { return Mr(X, 1) || X.parent.kind === 260 && X.kind !== 173 } function P(X) { if (X.body) return C(X) ? o(X) : m(X.body) } function F(X) { let Ve = X.statements.length ? X.statements[0] : X.getLastToken(); return C(X.parent) ? l(X.parent, Ve) : m(Ve) } function B(X) { switch (X.parent.kind) { case 264: if (Gh(X.parent) !== 1) return; case 244: case 242: case 246: return l(X.parent, X.statements[0]); case 245: case 247: return l(el(X.pos, e, X.parent), X.statements[0]) }return m(X.statements[0]) } function q(X) { if (X.initializer.kind === 258) { let Ve = X.initializer; if (Ve.declarations.length > 0) return m(Ve.declarations[0]) } else return m(X.initializer) } function W(X) { if (X.initializer) return q(X); if (X.condition) return o(X.condition); if (X.incrementor) return o(X.incrementor) } function Y(X) { let Ve = mn(X.elements, we => we.kind !== 229 ? we : void 0); return Ve ? m(Ve) : X.parent.kind === 205 ? o(X.parent) : S(X.parent) } function R(X) { L.assert(X.kind !== 204 && X.kind !== 203); let Ve = X.kind === 206 ? X.elements : X.properties, we = mn(Ve, ke => ke.kind !== 229 ? ke : void 0); return we ? m(we) : o(X.parent.kind === 223 ? X.parent : X) } function ie(X) { switch (X.parent.kind) { case 263: let Ve = X.parent; return l(el(X.pos, e, X.parent), Ve.members.length ? Ve.members[0] : Ve.getLastToken(e)); case 260: let we = X.parent; return l(el(X.pos, e, X.parent), we.members.length ? we.members[0] : we.getLastToken(e)); case 266: return l(X.parent.parent, X.parent.clauses[0]) }return m(X.parent) } function $(X) { switch (X.parent.kind) { case 265: if (Gh(X.parent.parent) !== 1) return; case 263: case 260: return o(X); case 238: if (bT(X.parent)) return o(X); case 295: return m(Os(X.parent.statements)); case 266: let Ve = X.parent, we = Os(Ve.clauses); return we ? m(Os(we.statements)) : void 0; case 203: let ke = X.parent; return m(Os(ke.elements) || ke); default: if (qg(X.parent)) { let Pe = X.parent; return o(Os(Pe.properties) || Pe) } return m(X.parent) } } function fe(X) { switch (X.parent.kind) { case 204: let Ve = X.parent; return o(Os(Ve.elements) || Ve); default: if (qg(X.parent)) { let we = X.parent; return o(Os(we.elements) || we) } return m(X.parent) } } function Z(X) { return X.parent.kind === 243 || X.parent.kind === 210 || X.parent.kind === 211 ? d(X) : X.parent.kind === 214 ? g(X) : m(X.parent) } function U(X) { switch (X.parent.kind) { case 215: case 259: case 216: case 171: case 170: case 174: case 175: case 173: case 244: case 243: case 245: case 247: case 210: case 211: case 214: return d(X); default: return m(X.parent) } } function re(X) { return Ia(X.parent) || X.parent.kind === 299 || X.parent.kind === 166 ? d(X) : m(X.parent) } function le(X) { return X.parent.kind === 213 ? g(X) : m(X.parent) } function _e(X) { return X.parent.kind === 243 ? s(X, X.parent.expression) : m(X.parent) } function ge(X) { return X.parent.kind === 247 ? g(X) : m(X.parent) } } } var b3e = gt({ "src/services/breakpoints.ts"() { "use strict"; Fr() } }), x$ = {}; Mo(x$, { spanInSourceFileAtLocation: () => v3e }); var E3e = gt({ "src/services/_namespaces/ts.BreakpointResolver.ts"() { "use strict"; b3e() } }); function T3e(e) { return (ms(e) || _u(e)) && zl(e) } function pk(e) { return (ms(e) || xs(e) || _u(e)) && wi(e.parent) && e === e.parent.initializer && Re(e.parent.name) && !!(G_(e.parent) & 2) } function tve(e) { return Li(e) || Tc(e) || Jc(e) || ms(e) || sl(e) || _u(e) || oc(e) || Nc(e) || zm(e) || p_(e) || Sf(e) } function nx(e) { return Li(e) || Tc(e) && Re(e.name) || Jc(e) || sl(e) || oc(e) || Nc(e) || zm(e) || p_(e) || Sf(e) || T3e(e) || pk(e) } function nve(e) { return Li(e) ? e : zl(e) ? e.name : pk(e) ? e.parent.name : L.checkDefined(e.modifiers && wr(e.modifiers, rve)) } function rve(e) { return e.kind === 88 } function ive(e, t) { let r = nve(t); return r && e.getSymbolAtLocation(r) } function S3e(e, t) { if (Li(t)) return { text: t.fileName, pos: 0, end: 0 }; if ((Jc(t) || sl(t)) && !zl(t)) { let o = t.modifiers && wr(t.modifiers, rve); if (o) return { text: "default", pos: o.getStart(), end: o.getEnd() } } if (oc(t)) { let o = t.getSourceFile(), s = xo(o.text, yp(t).pos), l = s + 6, f = e.getTypeChecker(), d = f.getSymbolAtLocation(t.parent); return { text: `${d ? `${f.symbolToString(d, t.parent)} ` : ""}static {}`, pos: s, end: l } } let r = pk(t) ? t.parent.name : L.checkDefined(sa(t), "Expected call hierarchy item to have a name"), i = Re(r) ? vr(r) : yf(r) ? r.text : ts(r) && yf(r.expression) ? r.expression.text : void 0; if (i === void 0) { let o = e.getTypeChecker(), s = o.getSymbolAtLocation(r); s && (i = o.symbolToString(s, t)) } if (i === void 0) { let o = fN(); i = SI(s => o.writeNode(4, t, t.getSourceFile(), s)) } return { text: i, pos: r.getStart(), end: r.getEnd() } } function x3e(e) { var t, r; if (pk(e)) return Tp(e.parent.parent.parent.parent) && Re(e.parent.parent.parent.parent.parent.name) ? e.parent.parent.parent.parent.parent.name.getText() : void 0; switch (e.kind) { case 174: case 175: case 171: return e.parent.kind === 207 ? (t = xj(e.parent)) == null ? void 0 : t.getText() : (r = sa(e.parent)) == null ? void 0 : r.getText(); case 259: case 260: case 264: if (Tp(e.parent) && Re(e.parent.parent.name)) return e.parent.parent.name.getText() } } function ave(e, t) { if (t.body) return t; if (Ec(t)) return Vm(t.parent); if (Jc(t) || Nc(t)) { let r = ive(e, t); return r && r.valueDeclaration && Ds(r.valueDeclaration) && r.valueDeclaration.body ? r.valueDeclaration : void 0 } return t } function ove(e, t) { let r = ive(e, t), i; if (r && r.declarations) { let o = jD(r.declarations), s = on(r.declarations, d => ({ file: d.getSourceFile().fileName, pos: d.pos })); o.sort((d, g) => su(s[d].file, s[g].file) || s[d].pos - s[g].pos); let l = on(o, d => r.declarations[d]), f; for (let d of l) nx(d) && ((!f || f.parent !== d.parent || f.end !== d.pos) && (i = Sn(i, d)), f = d) } return i } function E5(e, t) { var r, i, o; return oc(t) ? t : Ds(t) ? (i = (r = ave(e, t)) != null ? r : ove(e, t)) != null ? i : t : (o = ove(e, t)) != null ? o : t } function sve(e, t) { let r = e.getTypeChecker(), i = !1; for (; ;) { if (nx(t)) return E5(r, t); if (tve(t)) { let o = jn(t, nx); return o && E5(r, o) } if (Rh(t)) { if (nx(t.parent)) return E5(r, t.parent); if (tve(t.parent)) { let o = jn(t.parent, nx); return o && E5(r, o) } return wi(t.parent) && t.parent.initializer && pk(t.parent.initializer) ? t.parent.initializer : void 0 } if (Ec(t)) return nx(t.parent) ? t.parent : void 0; if (t.kind === 124 && oc(t.parent)) { t = t.parent; continue } if (wi(t) && t.initializer && pk(t.initializer)) return t.initializer; if (!i) { let o = r.getSymbolAtLocation(t); if (o && (o.flags & 2097152 && (o = r.getAliasedSymbol(o)), o.valueDeclaration)) { i = !0, t = o.valueDeclaration; continue } } return } } function A$(e, t) { let r = t.getSourceFile(), i = S3e(e, t), o = x3e(t), s = aE(t), l = rk(t), f = Wc(xo(r.text, t.getFullStart(), !1, !0), t.getEnd()), d = Wc(i.pos, i.end); return { file: r.fileName, kind: s, kindModifiers: l, name: i.text, containerName: o, span: f, selectionSpan: d } } function A3e(e) { return e !== void 0 } function C3e(e) { if (e.kind === js.EntryKind.Node) { let { node: t } = e; if (PX(t, !0, !0) || phe(t, !0, !0) || mhe(t, !0, !0) || hhe(t, !0, !0) || j2(t) || BX(t)) { let r = t.getSourceFile(); return { declaration: jn(t, nx) || r, range: nY(t, r) } } } } function cve(e) { return zo(e.declaration) } function I3e(e, t) { return { from: e, fromSpans: t } } function L3e(e, t) { return I3e(A$(e, t[0].declaration), on(t, r => lv(r.range))) } function k3e(e, t, r) { if (Li(t) || Tc(t) || oc(t)) return []; let i = nve(t), o = Pr(js.findReferenceOrRenameEntries(e, r, e.getSourceFiles(), i, 0, { use: js.FindReferencesUse.References }, C3e), A3e); return o ? YC(o, cve, s => L3e(e, s)) : [] } function D3e(e, t) { function r(o) { let s = PT(o) ? o.tag : Au(o) ? o.tagName : Us(o) || oc(o) ? o : o.expression, l = sve(e, s); if (l) { let f = nY(s, o.getSourceFile()); if (ba(l)) for (let d of l) t.push({ declaration: d, range: f }); else t.push({ declaration: l, range: f }) } } function i(o) { if (o && !(o.flags & 16777216)) { if (nx(o)) { if (Yr(o)) for (let s of o.members) s.name && ts(s.name) && i(s.name.expression); return } switch (o.kind) { case 79: case 268: case 269: case 275: case 261: case 262: return; case 172: r(o); return; case 213: case 231: i(o.expression); return; case 257: case 166: i(o.name), i(o.initializer); return; case 210: r(o), i(o.expression), mn(o.arguments, i); return; case 211: r(o), i(o.expression), mn(o.arguments, i); return; case 212: r(o), i(o.tag), i(o.template); return; case 283: case 282: r(o), i(o.tagName), i(o.attributes); return; case 167: r(o), i(o.expression); return; case 208: case 209: r(o), pa(o, i); break; case 235: i(o.expression); return }Gm(o) || pa(o, i) } } return i } function w3e(e, t) { mn(e.statements, t) } function R3e(e, t) { !Mr(e, 2) && e.body && Tp(e.body) && mn(e.body.statements, t) } function O3e(e, t, r) { let i = ave(e, t); i && (mn(i.parameters, r), r(i.body)) } function N3e(e, t) { t(e.body) } function P3e(e, t) { mn(e.modifiers, t); let r = P0(e); r && t(r.expression); for (let i of e.members) g_(i) && mn(i.modifiers, t), Na(i) ? t(i.initializer) : Ec(i) && i.body ? (mn(i.parameters, t), t(i.body)) : oc(i) && t(i) } function M3e(e, t) { let r = [], i = D3e(e, r); switch (t.kind) { case 308: w3e(t, i); break; case 264: R3e(t, i); break; case 259: case 215: case 216: case 171: case 174: case 175: O3e(e.getTypeChecker(), t, i); break; case 260: case 228: P3e(t, i); break; case 172: N3e(t, i); break; default: L.assertNever(t) }return r } function F3e(e, t) { return { to: e, fromSpans: t } } function G3e(e, t) { return F3e(A$(e, t[0].declaration), on(t, r => lv(r.range))) } function B3e(e, t) { return t.flags & 16777216 || zm(t) ? [] : YC(M3e(e, t), cve, r => G3e(e, r)) } var U3e = gt({ "src/services/callHierarchy.ts"() { "use strict"; Fr() } }), rx = {}; Mo(rx, { createCallHierarchyItem: () => A$, getIncomingCalls: () => k3e, getOutgoingCalls: () => B3e, resolveCallHierarchyDeclaration: () => sve }); var V3e = gt({ "src/services/_namespaces/ts.CallHierarchy.ts"() { "use strict"; U3e() } }); function j3e(e, t, r, i) { let o = lve(e, t, r, i); L.assert(o.spans.length % 3 === 0); let s = o.spans, l = []; for (let f = 0; f < s.length; f += 3)l.push({ textSpan: il(s[f], s[f + 1]), classificationType: s[f + 2] }); return l } function lve(e, t, r, i) { return { spans: H3e(e, r, i, t), endOfLineState: 0 } } function H3e(e, t, r, i) { let o = []; return e && t && W3e(e, t, r, (l, f, d) => { o.push(l.getStart(t), l.getWidth(t), (f + 1 << 8) + d) }, i), o } function W3e(e, t, r, i, o) { let s = e.getTypeChecker(), l = !1; function f(d) { switch (d.kind) { case 264: case 260: case 261: case 259: case 228: case 215: case 216: o.throwIfCancellationRequested() }if (!d || !$8(r, d.pos, d.getFullWidth()) || d.getFullWidth() === 0) return; let g = l; if ((Hg(d) || FS(d)) && (l = !0), AL(d) && (l = !1), Re(d) && !l && !q3e(d) && !cL(d.escapedText)) { let m = s.getSymbolAtLocation(d); if (m) { m.flags & 2097152 && (m = s.getAliasedSymbol(m)); let v = z3e(m, ZT(d)); if (v !== void 0) { let S = 0; d.parent && (Wo(d.parent) || k$.get(d.parent.kind) === v) && d.parent.name === d && (S = 1), v === 6 && dve(d) && (v = 9), v = J3e(s, d, v); let x = m.valueDeclaration; if (x) { let A = wg(x), w = G_(x); A & 32 && (S |= 2), A & 512 && (S |= 4), v !== 0 && v !== 2 && (A & 64 || w & 2 || m.getFlags() & 8) && (S |= 8), (v === 7 || v === 10) && K3e(x, t) && (S |= 32), e.isSourceFileDefaultLibrary(x.getSourceFile()) && (S |= 16) } else m.declarations && m.declarations.some(A => e.isSourceFileDefaultLibrary(A.getSourceFile())) && (S |= 16); i(d, v, S) } } } pa(d, f), l = g } f(t) } function z3e(e, t) { let r = e.getFlags(); if (r & 32) return 0; if (r & 384) return 1; if (r & 524288) return 5; if (r & 64) { if (t & 2) return 2 } else if (r & 262144) return 4; let i = e.valueDeclaration || e.declarations && e.declarations[0]; return i && Wo(i) && (i = uve(i)), i && k$.get(i.kind) } function J3e(e, t, r) { if (r === 7 || r === 9 || r === 6) { let i = e.getTypeAtLocation(t); if (i) { let o = s => s(i) || i.isUnion() && i.types.some(s); if (r !== 6 && o(s => s.getConstructSignatures().length > 0)) return 0; if (o(s => s.getCallSignatures().length > 0) && !o(s => s.getProperties().length > 0) || X3e(t)) return r === 9 ? 11 : 10 } } return r } function K3e(e, t) { return Wo(e) && (e = uve(e)), wi(e) ? (!Li(e.parent.parent.parent) || E2(e.parent)) && e.getSourceFile() === t : Jc(e) ? !Li(e.parent) && e.getSourceFile() === t : !1 } function uve(e) { for (; ;)if (Wo(e.parent.parent)) e = e.parent.parent; else return e.parent.parent } function q3e(e) { let t = e.parent; return t && (lm(t) || $u(t) || nv(t)) } function X3e(e) { for (; dve(e);)e = e.parent; return Pa(e.parent) && e.parent.expression === e } function dve(e) { return Yu(e.parent) && e.parent.right === e || br(e.parent) && e.parent.name === e } var C$, I$, L$, k$, Y3e = gt({ "src/services/classifier2020.ts"() { "use strict"; Fr(), C$ = (e => (e[e.typeOffset = 8] = "typeOffset", e[e.modifierMask = 255] = "modifierMask", e))(C$ || {}), I$ = (e => (e[e.class = 0] = "class", e[e.enum = 1] = "enum", e[e.interface = 2] = "interface", e[e.namespace = 3] = "namespace", e[e.typeParameter = 4] = "typeParameter", e[e.type = 5] = "type", e[e.parameter = 6] = "parameter", e[e.variable = 7] = "variable", e[e.enumMember = 8] = "enumMember", e[e.property = 9] = "property", e[e.function = 10] = "function", e[e.member = 11] = "member", e))(I$ || {}), L$ = (e => (e[e.declaration = 0] = "declaration", e[e.static = 1] = "static", e[e.async = 2] = "async", e[e.readonly = 3] = "readonly", e[e.defaultLibrary = 4] = "defaultLibrary", e[e.local = 5] = "local", e))(L$ || {}), k$ = new Map([[257, 7], [166, 6], [169, 9], [264, 3], [263, 1], [302, 8], [260, 0], [171, 11], [259, 10], [215, 10], [170, 11], [174, 9], [175, 9], [168, 9], [261, 2], [262, 5], [165, 4], [299, 9], [300, 9]]) } }), fve = {}; Mo(fve, { TokenEncodingConsts: () => C$, TokenModifier: () => L$, TokenType: () => I$, getEncodedSemanticClassifications: () => lve, getSemanticClassifications: () => j3e }); var $3e = gt({ "src/services/_namespaces/ts.classifier.v2020.ts"() { "use strict"; Y3e() } }), T5 = {}; Mo(T5, { v2020: () => fve }); var Q3e = gt({ "src/services/_namespaces/ts.classifier.ts"() { "use strict"; $3e() } }); function K_(e, t, r) { return w$(e, ZS(r), t, void 0, void 0) } function Ma(e, t, r, i, o, s) { return w$(e, ZS(r), t, i, ZS(o), s) } function D$(e, t, r, i, o, s) { return w$(e, ZS(r), t, i, o && ZS(o), s) } function w$(e, t, r, i, o, s) { return { fixName: e, description: t, changes: r, fixId: i, fixAllDescription: o, commands: s ? [s] : void 0 } } function za(e) { for (let t of e.errorCodes) S5.add(String(t), e); if (e.fixIds) for (let t of e.fixIds) L.assert(!x5.has(t)), x5.set(t, e) } function Z3e() { return lo(S5.keys()) } function eFe(e, t) { let { errorCodes: r } = e, i = 0; for (let s of t) if (ya(r, s.code) && i++, i > 1) break; let o = i < 2; return ({ fixId: s, fixAllDescription: l, ...f }) => o ? f : { ...f, fixId: s, fixAllDescription: l } } function tFe(e) { let t = pve(e), r = S5.get(String(e.errorCode)); return Uo(r, i => on(i.getCodeActions(e), eFe(i, t))) } function nFe(e) { return x5.get(Ga(e.fixId, Ta)).getAllCodeActions(e) } function ix(e, t) { return { changes: e, commands: t } } function _ve(e, t) { return { fileName: e, textChanges: t } } function ns(e, t, r) { let i = [], o = nr.ChangeTracker.with(e, s => ax(e, t, l => r(s, l, i))); return ix(o, i.length === 0 ? void 0 : i) } function ax(e, t, r) { for (let i of pve(e)) ya(t, i.code) && r(i) } function pve({ program: e, sourceFile: t, cancellationToken: r }) { return [...e.getSemanticDiagnostics(t, r), ...e.getSyntacticDiagnostics(t, r), ...$Y(t, e, r)] } var S5, x5, rFe = gt({ "src/services/codeFixProvider.ts"() { "use strict"; Fr(), S5 = Nf(), x5 = new Map } }); function mve(e, t, r) { let i = fO(r) ? D.createAsExpression(r.expression, D.createKeywordTypeNode(157)) : D.createTypeAssertion(D.createKeywordTypeNode(157), r.expression); e.replaceNode(t, r.expression, i) } function hve(e, t) { if (!Yn(e)) return jn(Vi(e, t), r => fO(r) || Fue(r)) } var A5, R$, iFe = gt({ "src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts"() { "use strict"; Fr(), Qa(), A5 = "addConvertToUnknownForNonOverlappingTypes", R$ = [_.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code], za({ errorCodes: R$, getCodeActions: function (t) { let r = hve(t.sourceFile, t.span.start); if (r === void 0) return; let i = nr.ChangeTracker.with(t, o => mve(o, t.sourceFile, r)); return [Ma(A5, i, _.Add_unknown_conversion_for_non_overlapping_types, A5, _.Add_unknown_to_all_conversions_of_non_overlapping_types)] }, fixIds: [A5], getAllCodeActions: e => ns(e, R$, (t, r) => { let i = hve(r.file, r.start); i && mve(t, r.file, i) }) }) } }), aFe = gt({ "src/services/codefixes/addEmptyExportDeclaration.ts"() { "use strict"; Fr(), Qa(), za({ errorCodes: [_.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code, _.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code], getCodeActions: function (t) { let { sourceFile: r } = t, i = nr.ChangeTracker.with(t, o => { let s = D.createExportDeclaration(void 0, !1, D.createNamedExports([]), void 0); o.insertNodeAtEndOfScope(r, r, s) }); return [K_("addEmptyExportDeclaration", i, _.Add_export_to_make_this_file_into_a_module)] } }) } }); function gve(e, t, r, i) { let o = r(s => oFe(s, e.sourceFile, t, i)); return Ma(C5, o, _.Add_async_modifier_to_containing_function, C5, _.Add_all_missing_async_modifiers) } function oFe(e, t, r, i) { if (i && i.has(zo(r))) return; i?.add(zo(r)); let o = D.updateModifiers(cc(r, !0), D.createNodeArray(D.createModifiersFromModifierFlags(Yy(r) | 512))); e.replaceNode(t, r, o) } function yve(e, t) { if (!t) return; let r = Vi(e, t.start); return jn(r, o => o.getStart(e) < t.start || o.getEnd() > wl(t) ? "quit" : (xs(o) || Nc(o) || ms(o) || Jc(o)) && J2(t, Du(o, e))) } function sFe(e, t) { return ({ start: r, length: i, relatedInformation: o, code: s }) => Cg(r) && Cg(i) && J2({ start: r, length: i }, e) && s === t && !!o && vt(o, l => l.code === _.Did_you_mean_to_mark_this_function_as_async.code) } var C5, O$, cFe = gt({ "src/services/codefixes/addMissingAsync.ts"() { "use strict"; Fr(), Qa(), C5 = "addMissingAsync", O$ = [_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code, _.Type_0_is_not_assignable_to_type_1.code, _.Type_0_is_not_comparable_to_type_1.code], za({ fixIds: [C5], errorCodes: O$, getCodeActions: function (t) { let { sourceFile: r, errorCode: i, cancellationToken: o, program: s, span: l } = t, f = wr(s.getTypeChecker().getDiagnostics(r, o), sFe(l, i)), d = f && f.relatedInformation && wr(f.relatedInformation, v => v.code === _.Did_you_mean_to_mark_this_function_as_async.code), g = yve(r, d); return g ? [gve(t, g, v => nr.ChangeTracker.with(t, v))] : void 0 }, getAllCodeActions: e => { let { sourceFile: t } = e, r = new Set; return ns(e, O$, (i, o) => { let s = o.relatedInformation && wr(o.relatedInformation, d => d.code === _.Did_you_mean_to_mark_this_function_as_async.code), l = yve(t, s); return l ? gve(e, l, d => (d(i), []), r) : void 0 }) } }) } }); function vve(e, t, r, i, o) { let s = IY(e, r); return s && lFe(e, t, r, i, o) && Tve(s) ? s : void 0 } function bve(e, t, r, i, o, s) { let { sourceFile: l, program: f, cancellationToken: d } = e, g = uFe(t, l, d, f, i); if (g) { let m = o(v => { mn(g.initializers, ({ expression: S }) => N$(v, r, l, i, S, s)), s && g.needsSecondPassForFixAll && N$(v, r, l, i, t, s) }); return K_("addMissingAwaitToInitializer", m, g.initializers.length === 1 ? [_.Add_await_to_initializer_for_0, g.initializers[0].declarationSymbol.name] : _.Add_await_to_initializers) } } function Eve(e, t, r, i, o, s) { let l = o(f => N$(f, r, e.sourceFile, i, t, s)); return Ma(I5, l, _.Add_await, I5, _.Fix_all_expressions_possibly_missing_await) } function lFe(e, t, r, i, o) { let l = o.getTypeChecker().getDiagnostics(e, i); return vt(l, ({ start: f, length: d, relatedInformation: g, code: m }) => Cg(f) && Cg(d) && J2({ start: f, length: d }, r) && m === t && !!g && vt(g, v => v.code === _.Did_you_forget_to_use_await.code)) } function uFe(e, t, r, i, o) { let s = dFe(e, o); if (!s) return; let l = s.isCompleteFix, f; for (let d of s.identifiers) { let g = o.getSymbolAtLocation(d); if (!g) continue; let m = zr(g.valueDeclaration, wi), v = m && zr(m.name, Re), S = cb(m, 240); if (!m || !S || m.type || !m.initializer || S.getSourceFile() !== t || Mr(S, 1) || !v || !Tve(m.initializer)) { l = !1; continue } let x = i.getSemanticDiagnostics(t, r); if (js.Core.eachSymbolReferenceInFile(v, o, t, w => d !== w && !fFe(w, x, t, o))) { l = !1; continue } (f || (f = [])).push({ expression: m.initializer, declarationSymbol: g }) } return f && { initializers: f, needsSecondPassForFixAll: !l } } function dFe(e, t) { if (br(e.parent) && Re(e.parent.expression)) return { identifiers: [e.parent.expression], isCompleteFix: !0 }; if (Re(e)) return { identifiers: [e], isCompleteFix: !0 }; if (ar(e)) { let r, i = !0; for (let o of [e.left, e.right]) { let s = t.getTypeAtLocation(o); if (t.getPromisedTypeOfPromise(s)) { if (!Re(o)) { i = !1; continue } (r || (r = [])).push(o) } } return r && { identifiers: r, isCompleteFix: i } } } function fFe(e, t, r, i) { let o = br(e.parent) ? e.parent.name : ar(e.parent) ? e.parent : e, s = wr(t, l => l.start === o.getStart(r) && l.start + l.length === o.getEnd()); return s && ya(L5, s.code) || i.getTypeAtLocation(o).flags & 1 } function Tve(e) { return e.kind & 32768 || !!jn(e, t => t.parent && xs(t.parent) && t.parent.body === t || Va(t) && (t.parent.kind === 259 || t.parent.kind === 215 || t.parent.kind === 216 || t.parent.kind === 171)) } function N$(e, t, r, i, o, s) { if (_O(o.parent) && !o.parent.awaitModifier) { let l = i.getTypeAtLocation(o), f = i.getAsyncIterableType(); if (f && i.isTypeAssignableTo(l, f)) { let d = o.parent; e.replaceNode(r, d, D.updateForOfStatement(d, D.createToken(133), d.initializer, d.expression, d.statement)); return } } if (ar(o)) for (let l of [o.left, o.right]) { if (s && Re(l)) { let g = i.getSymbolAtLocation(l); if (g && s.has($a(g))) continue } let f = i.getTypeAtLocation(l), d = i.getPromisedTypeOfPromise(f) ? D.createAwaitExpression(l) : l; e.replaceNode(r, l, d) } else if (t === P$ && br(o.parent)) { if (s && Re(o.parent.expression)) { let l = i.getSymbolAtLocation(o.parent.expression); if (l && s.has($a(l))) return } e.replaceNode(r, o.parent.expression, D.createParenthesizedExpression(D.createAwaitExpression(o.parent.expression))), Sve(e, o.parent.expression, r) } else if (ya(M$, t) && Ih(o.parent)) { if (s && Re(o)) { let l = i.getSymbolAtLocation(o); if (l && s.has($a(l))) return } e.replaceNode(r, o, D.createParenthesizedExpression(D.createAwaitExpression(o))), Sve(e, o, r) } else { if (s && wi(o.parent) && Re(o.parent.name)) { let l = i.getSymbolAtLocation(o.parent.name); if (l && !_0(s, $a(l))) return } e.replaceNode(r, o, D.createAwaitExpression(o)) } } function Sve(e, t, r) { let i = el(t.pos, r); i && N7(i.end, i.parent, r) && e.insertText(r, t.getStart(r), ";") } var I5, P$, M$, L5, _Fe = gt({ "src/services/codefixes/addMissingAwait.ts"() { "use strict"; Fr(), Qa(), I5 = "addMissingAwait", P$ = _.Property_0_does_not_exist_on_type_1.code, M$ = [_.This_expression_is_not_callable.code, _.This_expression_is_not_constructable.code], L5 = [_.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code, _.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code, _.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code, _.Operator_0_cannot_be_applied_to_type_1.code, _.Operator_0_cannot_be_applied_to_types_1_and_2.code, _.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code, _.This_condition_will_always_return_true_since_this_0_is_always_defined.code, _.Type_0_is_not_an_array_type.code, _.Type_0_is_not_an_array_type_or_a_string_type.code, _.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code, _.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code, _.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code, _.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code, _.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code, _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code, P$, ...M$], za({ fixIds: [I5], errorCodes: L5, getCodeActions: function (t) { let { sourceFile: r, errorCode: i, span: o, cancellationToken: s, program: l } = t, f = vve(r, i, o, s, l); if (!f) return; let d = t.program.getTypeChecker(), g = m => nr.ChangeTracker.with(t, m); return WD([bve(t, f, i, d, g), Eve(t, f, i, d, g)]) }, getAllCodeActions: e => { let { sourceFile: t, program: r, cancellationToken: i } = e, o = e.program.getTypeChecker(), s = new Set; return ns(e, L5, (l, f) => { let d = vve(t, f.code, f, i, r); if (!d) return; let g = m => (m(l), []); return bve(e, d, f.code, o, g, s) || Eve(e, d, f.code, o, g, s) }) } }) } }); function xve(e, t, r, i, o) { let s = Vi(t, r), l = jn(s, g => CA(g.parent) ? g.parent.initializer === g : pFe(g) ? !1 : "quit"); if (l) return k5(e, l, t, o); let f = s.parent; if (ar(f) && f.operatorToken.kind === 63 && Ol(f.parent)) return k5(e, s, t, o); if (fu(f)) { let g = i.getTypeChecker(); return Ji(f.elements, m => mFe(m, g)) ? k5(e, f, t, o) : void 0 } let d = jn(s, g => Ol(g.parent) ? !0 : hFe(g) ? !1 : "quit"); if (d) { let g = i.getTypeChecker(); return Ave(d, g) ? k5(e, d, t, o) : void 0 } } function k5(e, t, r, i) { (!i || _0(i, t)) && e.insertModifierBefore(r, 85, t) } function pFe(e) { switch (e.kind) { case 79: case 206: case 207: case 299: case 300: return !0; default: return !1 } } function mFe(e, t) { let r = Re(e) ? e : Iu(e, !0) && Re(e.left) ? e.left : void 0; return !!r && !t.getSymbolAtLocation(r) } function hFe(e) { switch (e.kind) { case 79: case 223: case 27: return !0; default: return !1 } } function Ave(e, t) { return ar(e) ? e.operatorToken.kind === 27 ? Ji([e.left, e.right], r => Ave(r, t)) : e.operatorToken.kind === 63 && Re(e.left) && !t.getSymbolAtLocation(e.left) : !1 } var D5, F$, gFe = gt({ "src/services/codefixes/addMissingConst.ts"() { "use strict"; Fr(), Qa(), D5 = "addMissingConst", F$ = [_.Cannot_find_name_0.code, _.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code], za({ errorCodes: F$, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => xve(i, t.sourceFile, t.span.start, t.program)); if (r.length > 0) return [Ma(D5, r, _.Add_const_to_unresolved_variable, D5, _.Add_const_to_all_unresolved_variables)] }, fixIds: [D5], getAllCodeActions: e => { let t = new Set; return ns(e, F$, (r, i) => xve(r, i.file, i.start, e.program, t)) } }) } }); function Cve(e, t, r, i) { let o = Vi(t, r); if (!Re(o)) return; let s = o.parent; s.kind === 169 && (!i || _0(i, s)) && e.insertModifierBefore(t, 136, s) } var w5, G$, yFe = gt({ "src/services/codefixes/addMissingDeclareProperty.ts"() { "use strict"; Fr(), Qa(), w5 = "addMissingDeclareProperty", G$ = [_.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code], za({ errorCodes: G$, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => Cve(i, t.sourceFile, t.span.start)); if (r.length > 0) return [Ma(w5, r, _.Prefix_with_declare, w5, _.Prefix_all_incorrect_property_declarations_with_declare)] }, fixIds: [w5], getAllCodeActions: e => { let t = new Set; return ns(e, G$, (r, i) => Cve(r, i.file, i.start, t)) } }) } }); function Ive(e, t, r) { let i = Vi(t, r), o = jn(i, du); L.assert(!!o, "Expected position to be owned by a decorator."); let s = D.createCallExpression(o.expression, void 0, void 0); e.replaceNode(t, o.expression, s) } var R5, B$, vFe = gt({ "src/services/codefixes/addMissingInvocationForDecorator.ts"() { "use strict"; Fr(), Qa(), R5 = "addMissingInvocationForDecorator", B$ = [_._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code], za({ errorCodes: B$, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => Ive(i, t.sourceFile, t.span.start)); return [Ma(R5, r, _.Call_decorator_expression, R5, _.Add_to_all_uncalled_decorators)] }, fixIds: [R5], getAllCodeActions: e => ns(e, B$, (t, r) => Ive(t, r.file, r.start)) }) } }); function Lve(e, t, r) { let i = Vi(t, r), o = i.parent; if (!ha(o)) return L.fail("Tried to add a parameter name to a non-parameter: " + L.formatSyntaxKind(i.kind)); let s = o.parent.parameters.indexOf(o); L.assert(!o.type, "Tried to add a parameter name to a parameter that already had one."), L.assert(s > -1, "Parameter not found in parent parameter list."); let l = D.createTypeReferenceNode(o.name, void 0), f = D.createParameterDeclaration(o.modifiers, o.dotDotDotToken, "arg" + s, o.questionToken, o.dotDotDotToken ? D.createArrayTypeNode(l) : l, o.initializer); e.replaceNode(t, o, f) } var O5, U$, bFe = gt({ "src/services/codefixes/addNameToNamelessParameter.ts"() { "use strict"; Fr(), Qa(), O5 = "addNameToNamelessParameter", U$ = [_.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code], za({ errorCodes: U$, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => Lve(i, t.sourceFile, t.span.start)); return [Ma(O5, r, _.Add_parameter_name, O5, _.Add_names_to_all_parameters_without_names)] }, fixIds: [O5], getAllCodeActions: e => ns(e, U$, (t, r) => Lve(t, r.file, r.start)) }) } }); function EFe(e, t, r) { var i, o; let s = kve(IY(e, t), r); if (!s) return Je; let { source: l, target: f } = s, d = TFe(l, f, r) ? r.getTypeAtLocation(f.expression) : r.getTypeAtLocation(f); return (o = (i = d.symbol) == null ? void 0 : i.declarations) != null && o.some(g => Gn(g).fileName.match(/\.d\.ts$/)) ? Je : r.getExactOptionalProperties(d) } function TFe(e, t, r) { return br(t) && !!r.getExactOptionalProperties(r.getTypeAtLocation(t.expression)).length && r.getTypeAtLocation(e) === r.getUndefinedType() } function kve(e, t) { var r; if (e) { if (ar(e.parent) && e.parent.operatorToken.kind === 63) return { source: e.parent.right, target: e.parent.left }; if (wi(e.parent) && e.parent.initializer) return { source: e.parent.initializer, target: e.parent.name }; if (Pa(e.parent)) { let i = t.getSymbolAtLocation(e.parent.expression); if (!i?.valueDeclaration || !nS(i.valueDeclaration.kind) || !ot(e)) return; let o = e.parent.arguments.indexOf(e); if (o === -1) return; let s = i.valueDeclaration.parameters[o].name; if (Re(s)) return { source: e, target: s } } else if (yl(e.parent) && Re(e.parent.name) || xf(e.parent)) { let i = kve(e.parent.parent, t); if (!i) return; let o = t.getPropertyOfType(t.getTypeAtLocation(i.target), e.parent.name.text), s = (r = o?.declarations) == null ? void 0 : r[0]; return s ? { source: yl(e.parent) ? e.parent.initializer : e.parent.name, target: s } : void 0 } } else return } function SFe(e, t) { for (let r of t) { let i = r.valueDeclaration; if (i && ($d(i) || Na(i)) && i.type) { let o = D.createUnionTypeNode([...i.type.kind === 189 ? i.type.types : [i.type], D.createTypeReferenceNode("undefined")]); e.replaceNode(i.getSourceFile(), i.type, o) } } } var V$, Dve, xFe = gt({ "src/services/codefixes/addOptionalPropertyUndefined.ts"() { "use strict"; Fr(), Qa(), V$ = "addOptionalPropertyUndefined", Dve = [_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code, _.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code, _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code], za({ errorCodes: Dve, getCodeActions(e) { let t = e.program.getTypeChecker(), r = EFe(e.sourceFile, e.span, t); if (!r.length) return; let i = nr.ChangeTracker.with(e, o => SFe(o, r)); return [K_(V$, i, _.Add_undefined_to_optional_property_type)] }, fixIds: [V$] }) } }); function wve(e, t) { let r = Vi(e, t); return zr(ha(r.parent) ? r.parent.parent : r.parent, Rve) } function Rve(e) { return AFe(e) && Ove(e) } function Ove(e) { return Ds(e) ? e.parameters.some(Ove) || !e.type && !!Aw(e) : !e.type && !!Vy(e) } function Nve(e, t, r) { if (Ds(r) && (Aw(r) || r.parameters.some(i => !!Vy(i)))) { if (!r.typeParameters) { let o = t4(r); o.length && e.insertTypeParameters(t, r, o) } let i = xs(r) && !Yo(r, 20, t); i && e.insertNodeBefore(t, Vo(r.parameters), D.createToken(20)); for (let o of r.parameters) if (!o.type) { let s = Vy(o); s && e.tryInsertTypeAnnotation(t, o, $e(s, Sb, bi)) } if (i && e.insertNodeAfter(t, To(r.parameters), D.createToken(21)), !r.type) { let o = Aw(r); o && e.tryInsertTypeAnnotation(t, r, $e(o, Sb, bi)) } } else { let i = L.checkDefined(Vy(r), "A JSDocType for this declaration should exist"); L.assert(!r.type, "The JSDocType decl should have a type"), e.tryInsertTypeAnnotation(t, r, $e(i, Sb, bi)) } } function AFe(e) { return Ds(e) || e.kind === 257 || e.kind === 168 || e.kind === 169 } function Sb(e) { switch (e.kind) { case 315: case 316: return D.createTypeReferenceNode("any", Je); case 319: return IFe(e); case 318: return Sb(e.type); case 317: return LFe(e); case 321: return kFe(e); case 320: return DFe(e); case 180: return RFe(e); case 325: return CFe(e); default: let t = xn(e, Sb, Bh); return Jn(t, 1), t } } function CFe(e) { let t = D.createTypeLiteralNode(on(e.jsDocPropertyTags, r => D.createPropertySignature(void 0, Re(r.name) ? r.name : r.name.right, zR(r) ? D.createToken(57) : void 0, r.typeExpression && $e(r.typeExpression.type, Sb, bi) || D.createKeywordTypeNode(131)))); return Jn(t, 1), t } function IFe(e) { return D.createUnionTypeNode([$e(e.type, Sb, bi), D.createTypeReferenceNode("undefined", Je)]) } function LFe(e) { return D.createUnionTypeNode([$e(e.type, Sb, bi), D.createTypeReferenceNode("null", Je)]) } function kFe(e) { return D.createArrayTypeNode($e(e.type, Sb, bi)) } function DFe(e) { var t; return D.createFunctionTypeNode(Je, e.parameters.map(wFe), (t = e.type) != null ? t : D.createKeywordTypeNode(131)) } function wFe(e) { let t = e.parent.parameters.indexOf(e), r = e.type.kind === 321 && t === e.parent.parameters.length - 1, i = e.name || (r ? "rest" : "arg" + t), o = r ? D.createToken(25) : e.dotDotDotToken; return D.createParameterDeclaration(e.modifiers, o, i, e.questionToken, $e(e.type, Sb, bi), e.initializer) } function RFe(e) { let t = e.typeName, r = e.typeArguments; if (Re(e.typeName)) { if (U6(e)) return OFe(e); let i = e.typeName.text; switch (e.typeName.text) { case "String": case "Boolean": case "Object": case "Number": i = i.toLowerCase(); break; case "array": case "date": case "promise": i = i[0].toUpperCase() + i.slice(1); break }t = D.createIdentifier(i), (i === "Array" || i === "Promise") && !e.typeArguments ? r = D.createNodeArray([D.createTypeReferenceNode("any", Je)]) : r = On(e.typeArguments, Sb, bi) } return D.createTypeReferenceNode(t, r) } function OFe(e) { let t = D.createParameterDeclaration(void 0, void 0, e.typeArguments[0].kind === 148 ? "n" : "s", void 0, D.createTypeReferenceNode(e.typeArguments[0].kind === 148 ? "number" : "string", []), void 0), r = D.createTypeLiteralNode([D.createIndexSignature(void 0, [t], e.typeArguments[1])]); return Jn(r, 1), r } var N5, j$, NFe = gt({ "src/services/codefixes/annotateWithTypeFromJSDoc.ts"() { "use strict"; Fr(), Qa(), N5 = "annotateWithTypeFromJSDoc", j$ = [_.JSDoc_types_may_be_moved_to_TypeScript_types.code], za({ errorCodes: j$, getCodeActions(e) { let t = wve(e.sourceFile, e.span.start); if (!t) return; let r = nr.ChangeTracker.with(e, i => Nve(i, e.sourceFile, t)); return [Ma(N5, r, _.Annotate_with_type_from_JSDoc, N5, _.Annotate_everything_with_types_from_JSDoc)] }, fixIds: [N5], getAllCodeActions: e => ns(e, j$, (t, r) => { let i = wve(r.file, r.start); i && Nve(t, r.file, i) }) }) } }); function Pve(e, t, r, i, o, s) { let l = i.getSymbolAtLocation(Vi(t, r)); if (!l || !l.valueDeclaration || !(l.flags & 19)) return; let f = l.valueDeclaration; if (Jc(f) || ms(f)) e.replaceNode(t, f, m(f)); else if (wi(f)) { let v = g(f); if (!v) return; let S = f.parent.parent; pu(f.parent) && f.parent.declarations.length > 1 ? (e.delete(t, f), e.insertNodeAfter(t, S, v)) : e.replaceNode(t, S, v) } function d(v) { let S = []; return v.exports && v.exports.forEach(w => { if (w.name === "prototype" && w.declarations) { let C = w.declarations[0]; if (w.declarations.length === 1 && br(C) && ar(C.parent) && C.parent.operatorToken.kind === 63 && rs(C.parent.right)) { let P = C.parent.right; A(P.symbol, void 0, S) } } else A(w, [D.createToken(124)], S) }), v.members && v.members.forEach((w, C) => { var P, F, B, q; if (C === "constructor" && w.valueDeclaration) { let W = (q = (B = (F = (P = v.exports) == null ? void 0 : P.get("prototype")) == null ? void 0 : F.declarations) == null ? void 0 : B[0]) == null ? void 0 : q.parent; W && ar(W) && rs(W.right) && vt(W.right.properties, M5) || e.delete(t, w.valueDeclaration.parent); return } A(w, void 0, S) }), S; function x(w, C) { return Us(w) ? br(w) && M5(w) ? !0 : Ia(C) : Ji(w.properties, P => !!(Nc(P) || t6(P) || yl(P) && ms(P.initializer) && P.name || M5(P))) } function A(w, C, P) { if (!(w.flags & 8192) && !(w.flags & 4096)) return; let F = w.valueDeclaration, B = F.parent, q = B.right; if (!x(F, q) || vt(P, $ => { let fe = sa($); return !!(fe && Re(fe) && vr(fe) === fc(w)) })) return; let W = B.parent && B.parent.kind === 241 ? B.parent : B; if (e.delete(t, W), !q) { P.push(D.createPropertyDeclaration(C, w.name, void 0, void 0, void 0)); return } if (Us(F) && (ms(q) || xs(q))) { let $ = J_(t, o), fe = PFe(F, s, $); fe && Y(P, q, fe); return } else if (rs(q)) { mn(q.properties, $ => { (Nc($) || t6($)) && P.push($), yl($) && ms($.initializer) && Y(P, $.initializer, $.name), M5($) }); return } else { if (Cu(t) || !br(F)) return; let $ = D.createPropertyDeclaration(C, F.name, void 0, void 0, q); q2(B.parent, $, t), P.push($); return } function Y($, fe, Z) { return ms(fe) ? R($, fe, Z) : ie($, fe, Z) } function R($, fe, Z) { let U = Qi(C, P5(fe, 132)), re = D.createMethodDeclaration(U, void 0, Z, void 0, void 0, fe.parameters, void 0, fe.body); q2(B, re, t), $.push(re) } function ie($, fe, Z) { let U = fe.body, re; U.kind === 238 ? re = U : re = D.createBlock([D.createReturnStatement(U)]); let le = Qi(C, P5(fe, 132)), _e = D.createMethodDeclaration(le, void 0, Z, void 0, void 0, fe.parameters, void 0, re); q2(B, _e, t), $.push(_e) } } } function g(v) { let S = v.initializer; if (!S || !ms(S) || !Re(v.name)) return; let x = d(v.symbol); S.body && x.unshift(D.createConstructorDeclaration(void 0, S.parameters, S.body)); let A = P5(v.parent.parent, 93); return D.createClassDeclaration(A, v.name, void 0, void 0, x) } function m(v) { let S = d(l); v.body && S.unshift(D.createConstructorDeclaration(void 0, v.parameters, v.body)); let x = P5(v, 93); return D.createClassDeclaration(x, v.name, void 0, void 0, S) } } function P5(e, t) { return g_(e) ? Pr(e.modifiers, r => r.kind === t) : void 0 } function M5(e) { return e.name ? !!(Re(e.name) && e.name.text === "constructor") : !1 } function PFe(e, t, r) { if (br(e)) return e.name; let i = e.argumentExpression; if (Vf(i)) return i; if (es(i)) return i_(i.text, Do(t)) ? D.createIdentifier(i.text) : IS(i) ? D.createStringLiteral(i.text, r === 0) : i } var F5, H$, MFe = gt({ "src/services/codefixes/convertFunctionToEs6Class.ts"() { "use strict"; Fr(), Qa(), F5 = "convertFunctionToEs6Class", H$ = [_.This_constructor_function_may_be_converted_to_a_class_declaration.code], za({ errorCodes: H$, getCodeActions(e) { let t = nr.ChangeTracker.with(e, r => Pve(r, e.sourceFile, e.span.start, e.program.getTypeChecker(), e.preferences, e.program.getCompilerOptions())); return [Ma(F5, t, _.Convert_function_to_an_ES2015_class, F5, _.Convert_all_constructor_functions_to_classes)] }, fixIds: [F5], getAllCodeActions: e => ns(e, H$, (t, r) => Pve(t, r.file, r.start, e.program.getTypeChecker(), e.preferences, e.program.getCompilerOptions())) }) } }); function Mve(e, t, r, i) { let o = Vi(t, r), s; if (Re(o) && wi(o.parent) && o.parent.initializer && Ds(o.parent.initializer) ? s = o.parent.initializer : s = zr(Xd(Vi(t, r)), e$), !s) return; let l = new Map, f = Yn(s), d = GFe(s, i), g = BFe(s, i, l); if (!QY(g, i)) return; let m = g.body && Va(g.body) ? FFe(g.body, i) : Je, v = { checker: i, synthNamesMap: l, setOfExpressionsToReturn: d, isInJSFile: f }; if (!m.length) return; let S = xo(t.text, yp(s).pos); e.insertModifierAt(t, S, 132, { suffix: " " }); for (let x of m) if (pa(x, function A(w) { if (Pa(w)) { let C = ox(w, w, v, !1); if (o1()) return !0; e.replaceNodeWithNodes(t, x, C) } else if (!Ia(w) && (pa(w, A), o1())) return !0 }), o1()) return } function FFe(e, t) { let r = []; return vT(e, i => { r5(i, t) && r.push(i) }), r } function GFe(e, t) { if (!e.body) return new Set; let r = new Set; return pa(e.body, function i(o) { mk(o, t, "then") ? (r.add(zo(o)), mn(o.arguments, i)) : mk(o, t, "catch") || mk(o, t, "finally") ? (r.add(zo(o)), pa(o, i)) : Gve(o, t) ? r.add(zo(o)) : pa(o, i) }), r } function mk(e, t, r) { if (!Pa(e)) return !1; let o = kN(e, r) && t.getTypeAtLocation(e); return !!(o && t.getPromisedTypeOfPromise(o)) } function Fve(e, t) { return (Ur(e) & 4) !== 0 && e.target === t } function G5(e, t, r) { if (e.expression.name.escapedText === "finally") return; let i = r.getTypeAtLocation(e.expression.expression); if (Fve(i, r.getPromiseType()) || Fve(i, r.getPromiseLikeType())) if (e.expression.name.escapedText === "then") { if (t === Ig(e.arguments, 0)) return Ig(e.typeArguments, 0); if (t === Ig(e.arguments, 1)) return Ig(e.typeArguments, 1) } else return Ig(e.typeArguments, 0) } function Gve(e, t) { return ot(e) ? !!t.getPromisedTypeOfPromise(t.getTypeAtLocation(e)) : !1 } function BFe(e, t, r) { let i = new Map, o = Nf(); return pa(e, function s(l) { if (!Re(l)) { pa(l, s); return } let f = t.getSymbolAtLocation(l); if (f) { let d = t.getTypeAtLocation(l), g = Wve(d, t), m = $a(f).toString(); if (g && !ha(l.parent) && !Ds(l.parent) && !r.has(m)) { let v = Sl(g.parameters), S = v?.valueDeclaration && ha(v.valueDeclaration) && zr(v.valueDeclaration.name, Re) || D.createUniqueName("result", 16), x = Bve(S, o); r.set(m, x), o.add(S.text, f) } else if (l.parent && (ha(l.parent) || wi(l.parent) || Wo(l.parent))) { let v = l.text, S = o.get(v); if (S && S.some(x => x !== f)) { let x = Bve(l, o); i.set(m, x.identifier), r.set(m, x), o.add(v, f) } else { let x = cc(l); r.set(m, $2(x)), o.add(v, f) } } } }), JN(e, !0, s => { if (Wo(s) && Re(s.name) && cm(s.parent)) { let l = t.getSymbolAtLocation(s.name), f = l && i.get(String($a(l))); if (f && f.text !== (s.name || s.propertyName).getText()) return D.createBindingElement(s.dotDotDotToken, s.propertyName || s.name, f, s.initializer) } else if (Re(s)) { let l = t.getSymbolAtLocation(s), f = l && i.get(String($a(l))); if (f) return D.createIdentifier(f.text) } }) } function Bve(e, t) { let r = (t.get(e.text) || Je).length, i = r === 0 ? e : D.createIdentifier(e.text + "_" + r); return $2(i) } function o1() { return !iP } function _v() { return iP = !1, Je } function ox(e, t, r, i, o) { if (mk(t, r.checker, "then")) return jFe(t, Ig(t.arguments, 0), Ig(t.arguments, 1), r, i, o); if (mk(t, r.checker, "catch")) return jve(t, Ig(t.arguments, 0), r, i, o); if (mk(t, r.checker, "finally")) return VFe(t, Ig(t.arguments, 0), r, i, o); if (br(t)) return ox(e, t.expression, r, i, o); let s = r.checker.getTypeAtLocation(t); return s && r.checker.getPromisedTypeOfPromise(s) ? (L.assertNode(ec(t).parent, br), HFe(e, t, r, i, o)) : _v() } function B5({ checker: e }, t) { if (t.kind === 104) return !0; if (Re(t) && !tc(t) && vr(t) === "undefined") { let r = e.getSymbolAtLocation(t); return !r || e.isUndefinedSymbol(r) } return !1 } function UFe(e) { let t = D.createUniqueName(e.identifier.text, 16); return $2(t) } function Uve(e, t, r) { let i; return r && !gk(e, t) && (hk(r) ? (i = r, t.synthNamesMap.forEach((o, s) => { if (o.identifier.text === r.identifier.text) { let l = UFe(r); t.synthNamesMap.set(s, l) } })) : i = $2(D.createUniqueName("result", 16), r.types), K$(i)), i } function Vve(e, t, r, i, o) { let s = [], l; if (i && !gk(e, t)) { l = cc(K$(i)); let f = i.types, d = t.checker.getUnionType(f, 2), g = t.isInJSFile ? void 0 : t.checker.typeToTypeNode(d, void 0, void 0), m = [D.createVariableDeclaration(l, void 0, g)], v = D.createVariableStatement(void 0, D.createVariableDeclarationList(m, 1)); s.push(v) } return s.push(r), o && l && JFe(o) && s.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(cc(qve(o)), void 0, void 0, l)], 2))), s } function VFe(e, t, r, i, o) { if (!t || B5(r, t)) return ox(e, e.expression.expression, r, i, o); let s = Uve(e, r, o), l = ox(e, e.expression.expression, r, !0, s); if (o1()) return _v(); let f = z$(t, i, void 0, void 0, e, r); if (o1()) return _v(); let d = D.createBlock(l), g = D.createBlock(f), m = D.createTryStatement(d, void 0, g); return Vve(e, r, m, s, o) } function jve(e, t, r, i, o) { if (!t || B5(r, t)) return ox(e, e.expression.expression, r, i, o); let s = Jve(t, r), l = Uve(e, r, o), f = ox(e, e.expression.expression, r, !0, l); if (o1()) return _v(); let d = z$(t, i, l, s, e, r); if (o1()) return _v(); let g = D.createBlock(f), m = D.createCatchClause(s && cc(rP(s)), D.createBlock(d)), v = D.createTryStatement(g, m, void 0); return Vve(e, r, v, l, o) } function jFe(e, t, r, i, o, s) { if (!t || B5(i, t)) return jve(e, r, i, o, s); if (r && !B5(i, r)) return _v(); let l = Jve(t, i), f = ox(e.expression.expression, e.expression.expression, i, !0, l); if (o1()) return _v(); let d = z$(t, o, s, l, e, i); return o1() ? _v() : Qi(f, d) } function HFe(e, t, r, i, o) { if (gk(e, r)) { let s = cc(t); return i && (s = D.createAwaitExpression(s)), [D.createReturnStatement(s)] } return U5(o, D.createAwaitExpression(t), void 0) } function U5(e, t, r) { return !e || Kve(e) ? [D.createExpressionStatement(t)] : hk(e) && e.hasBeenDeclared ? [D.createExpressionStatement(D.createAssignment(cc(J$(e)), t))] : [D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(cc(rP(e)), void 0, r, t)], 2))] } function W$(e, t) { if (t && e) { let r = D.createUniqueName("result", 16); return [...U5($2(r), e, t), D.createReturnStatement(r)] } return [D.createReturnStatement(e)] } function z$(e, t, r, i, o, s) { var l; switch (e.kind) { case 104: break; case 208: case 79: if (!i) break; let f = D.createCallExpression(cc(e), void 0, hk(i) ? [J$(i)] : []); if (gk(o, s)) return W$(f, G5(o, e, s.checker)); let d = s.checker.getTypeAtLocation(e), g = s.checker.getSignaturesOfType(d, 0); if (!g.length) return _v(); let m = g[0].getReturnType(), v = U5(r, D.createAwaitExpression(f), G5(o, e, s.checker)); return r && r.types.push(s.checker.getAwaitedType(m) || m), v; case 215: case 216: { let S = e.body, x = (l = Wve(s.checker.getTypeAtLocation(e), s.checker)) == null ? void 0 : l.getReturnType(); if (Va(S)) { let A = [], w = !1; for (let C of S.statements) if (j_(C)) if (w = !0, r5(C, s.checker)) A = A.concat(zve(s, C, t, r)); else { let P = x && C.expression ? Hve(s.checker, x, C.expression) : C.expression; A.push(...W$(P, G5(o, e, s.checker))) } else { if (t && vT(C, h0)) return _v(); A.push(C) } return gk(o, s) ? A.map(C => cc(C)) : WFe(A, r, s, w) } else { let A = ZY(S, s.checker) ? zve(s, D.createReturnStatement(S), t, r) : Je; if (A.length > 0) return A; if (x) { let w = Hve(s.checker, x, S); if (gk(o, s)) return W$(w, G5(o, e, s.checker)); { let C = U5(r, w, void 0); return r && r.types.push(s.checker.getAwaitedType(x) || x), C } } else return _v() } } default: return _v() }return Je } function Hve(e, t, r) { let i = cc(r); return e.getPromisedTypeOfPromise(t) ? D.createAwaitExpression(i) : i } function Wve(e, t) { let r = t.getSignaturesOfType(e, 0); return Os(r) } function WFe(e, t, r, i) { let o = []; for (let s of e) if (j_(s)) { if (s.expression) { let l = Gve(s.expression, r.checker) ? D.createAwaitExpression(s.expression) : s.expression; t === void 0 ? o.push(D.createExpressionStatement(l)) : hk(t) && t.hasBeenDeclared ? o.push(D.createExpressionStatement(D.createAssignment(J$(t), l))) : o.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(rP(t), void 0, void 0, l)], 2))) } } else o.push(cc(s)); return !i && t !== void 0 && o.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(rP(t), void 0, void 0, D.createIdentifier("undefined"))], 2))), o } function zve(e, t, r, i) { let o = []; return pa(t, function s(l) { if (Pa(l)) { let f = ox(l, l, e, r, i); if (o = o.concat(f), o.length > 0) return } else Ia(l) || pa(l, s) }), o } function Jve(e, t) { let r = [], i; if (Ds(e)) { if (e.parameters.length > 0) { let d = e.parameters[0].name; i = o(d) } } else Re(e) ? i = s(e) : br(e) && Re(e.name) && (i = s(e.name)); if (!i || "identifier" in i && i.identifier.text === "undefined") return; return i; function o(d) { if (Re(d)) return s(d); let g = Uo(d.elements, m => ol(m) ? [] : [o(m.name)]); return zFe(d, g) } function s(d) { let g = f(d), m = l(g); return m && t.synthNamesMap.get($a(m).toString()) || $2(d, r) } function l(d) { var g, m; return (m = (g = zr(d, $p)) == null ? void 0 : g.symbol) != null ? m : t.checker.getSymbolAtLocation(d) } function f(d) { return d.original ? d.original : d } } function Kve(e) { return e ? hk(e) ? !e.identifier.text : Ji(e.elements, Kve) : !0 } function $2(e, t = []) { return { kind: 0, identifier: e, types: t, hasBeenDeclared: !1, hasBeenReferenced: !1 } } function zFe(e, t = Je, r = []) { return { kind: 1, bindingPattern: e, elements: t, types: r } } function J$(e) { return e.hasBeenReferenced = !0, e.identifier } function rP(e) { return hk(e) ? K$(e) : qve(e) } function qve(e) { for (let t of e.elements) rP(t); return e.bindingPattern } function K$(e) { return e.hasBeenDeclared = !0, e.identifier } function hk(e) { return e.kind === 0 } function JFe(e) { return e.kind === 1 } function gk(e, t) { return !!e.original && t.setOfExpressionsToReturn.has(zo(e.original)) } var V5, q$, iP, KFe = gt({ "src/services/codefixes/convertToAsyncFunction.ts"() { "use strict"; Fr(), Qa(), V5 = "convertToAsyncFunction", q$ = [_.This_may_be_converted_to_an_async_function.code], iP = !0, za({ errorCodes: q$, getCodeActions(e) { iP = !0; let t = nr.ChangeTracker.with(e, r => Mve(r, e.sourceFile, e.span.start, e.program.getTypeChecker())); return iP ? [Ma(V5, t, _.Convert_to_async_function, V5, _.Convert_all_to_async_functions)] : [] }, fixIds: [V5], getAllCodeActions: e => ns(e, q$, (t, r) => Mve(t, r.file, r.start, e.program.getTypeChecker())) }) } }); function qFe(e, t, r, i) { for (let o of e.imports) { let s = kA(e, o.text, W_(e, o)); if (!s || s.resolvedFileName !== t.fileName) continue; let l = aR(o); switch (l.kind) { case 268: r.replaceNode(e, l, Xg(l.name, void 0, o, i)); break; case 210: qu(l, !1) && r.replaceNode(e, l, D.createPropertyAccessExpression(cc(l), "default")); break } } } function XFe(e, t, r, i, o) { let s = { original: c7e(e), additional: new Set }, l = YFe(e, t, s); $Fe(e, l, r); let f = !1, d; for (let g of Pr(e.statements, Bc)) { let m = Yve(e, g, r, t, s, i, o); m && Mw(m, d ?? (d = new Map)) } for (let g of Pr(e.statements, m => !Bc(m))) { let m = QFe(e, g, t, r, s, i, l, d, o); f = f || m } return d?.forEach((g, m) => { r.replaceNode(e, m, g) }), f } function YFe(e, t, r) { let i = new Map; return Xve(e, o => { let { text: s } = o.name; !i.has(s) && (q6(o.name) || t.resolveName(s, o, 111551, !0)) && i.set(s, j5(`_${s}`, r)) }), i } function $Fe(e, t, r) { Xve(e, (i, o) => { if (o) return; let { text: s } = i.name; r.replaceNode(e, i, D.createIdentifier(t.get(s) || s)) }) } function Xve(e, t) { e.forEachChild(function r(i) { if (br(i) && $0(e, i.expression) && Re(i.name)) { let { parent: o } = i; t(i, ar(o) && o.left === i && o.operatorToken.kind === 63) } i.forEachChild(r) }) } function QFe(e, t, r, i, o, s, l, f, d) { switch (t.kind) { case 240: return Yve(e, t, i, r, o, s, d), !1; case 241: { let { expression: g } = t; switch (g.kind) { case 210: return qu(g, !0) && i.replaceNode(e, t, Xg(void 0, void 0, g.arguments[0], d)), !1; case 223: { let { operatorToken: m } = g; return m.kind === 63 && e7e(e, r, g, i, l, f) } } } default: return !1 } } function Yve(e, t, r, i, o, s, l) { let { declarationList: f } = t, d = !1, g = on(f.declarations, m => { let { name: v, initializer: S } = m; if (S) { if ($0(e, S)) return d = !0, Q2([]); if (qu(S, !0)) return d = !0, o7e(v, S.arguments[0], i, o, s, l); if (br(S) && qu(S.expression, !0)) return d = !0, ZFe(v, S.name.text, S.expression.arguments[0], o, l) } return Q2([D.createVariableStatement(void 0, D.createVariableDeclarationList([m], f.flags))]) }); if (d) { r.replaceNodeWithNodes(e, t, Uo(g, v => v.newImports)); let m; return mn(g, v => { v.useSitesToUnqualify && Mw(v.useSitesToUnqualify, m ?? (m = new Map)) }), m } } function ZFe(e, t, r, i, o) { switch (e.kind) { case 203: case 204: { let s = j5(t, i); return Q2([ebe(s, t, r, o), H5(void 0, e, D.createIdentifier(s))]) } case 79: return Q2([ebe(e.text, t, r, o)]); default: return L.assertNever(e, `Convert to ES module got invalid syntax form ${e.kind}`) } } function e7e(e, t, r, i, o, s) { let { left: l, right: f } = r; if (!br(l)) return !1; if ($0(e, l)) if ($0(e, f)) i.delete(e, r.parent); else { let d = rs(f) ? t7e(f, s) : qu(f, !0) ? r7e(f.arguments[0], t) : void 0; return d ? (i.replaceNodeWithNodes(e, r.parent, d[0]), d[1]) : (i.replaceRangeWithText(e, Gf(l.getStart(e), f.pos), "export default"), !0) } else $0(e, l.expression) && n7e(e, r, i, o); return !1 } function t7e(e, t) { let r = NU(e.properties, i => { switch (i.kind) { case 174: case 175: case 300: case 301: return; case 299: return Re(i.name) ? a7e(i.name.text, i.initializer, t) : void 0; case 171: return Re(i.name) ? Zve(i.name.text, [D.createToken(93)], i, t) : void 0; default: L.assertNever(i, `Convert to ES6 got invalid prop kind ${i.kind}`) } }); return r && [r, !1] } function n7e(e, t, r, i) { let { text: o } = t.left.name, s = i.get(o); if (s !== void 0) { let l = [H5(void 0, s, t.right), $$([D.createExportSpecifier(!1, s, o)])]; r.replaceNodeWithNodes(e, t.parent, l) } else i7e(t, e, r) } function r7e(e, t) { let r = e.text, i = t.getSymbolAtLocation(e), o = i ? i.exports : b8; return o.has("export=") ? [[X$(r)], !0] : o.has("default") ? o.size > 1 ? [[$ve(r), X$(r)], !0] : [[X$(r)], !0] : [[$ve(r)], !1] } function $ve(e) { return $$(void 0, e) } function X$(e) { return $$([D.createExportSpecifier(!1, void 0, "default")], e) } function i7e({ left: e, right: t, parent: r }, i, o) { let s = e.name.text; if ((ms(t) || xs(t) || _u(t)) && (!t.name || t.name.text === s)) { o.replaceRange(i, { pos: e.getStart(i), end: t.getStart(i) }, D.createToken(93), { suffix: " " }), t.name || o.insertName(i, t, s); let l = Yo(r, 26, i); l && o.delete(i, l) } else o.replaceNodeRangeWithNodes(i, e.expression, Yo(e, 24, i), [D.createToken(93), D.createToken(85)], { joiner: " ", suffix: " " }) } function a7e(e, t, r) { let i = [D.createToken(93)]; switch (t.kind) { case 215: { let { name: s } = t; if (s && s.text !== e) return o() } case 216: return Zve(e, i, t, r); case 228: return u7e(e, i, t, r); default: return o() }function o() { return H5(i, D.createIdentifier(e), Y$(t, r)) } } function Y$(e, t) { if (!t || !vt(lo(t.keys()), i => Od(e, i))) return e; return ba(e) ? gY(e, !0, r) : JN(e, !0, r); function r(i) { if (i.kind === 208) { let o = t.get(i); return t.delete(i), o } } } function o7e(e, t, r, i, o, s) { switch (e.kind) { case 203: { let l = NU(e.elements, f => f.dotDotDotToken || f.initializer || f.propertyName && !Re(f.propertyName) || !Re(f.name) ? void 0 : tbe(f.propertyName && f.propertyName.text, f.name.text)); if (l) return Q2([Xg(void 0, l, t, s)]) } case 204: { let l = j5(cQ(t.text, o), i); return Q2([Xg(D.createIdentifier(l), void 0, t, s), H5(void 0, cc(e), D.createIdentifier(l))]) } case 79: return s7e(e, t, r, i, s); default: return L.assertNever(e, `Convert to ES module got invalid name kind ${e.kind}`) } } function s7e(e, t, r, i, o) { let s = r.getSymbolAtLocation(e), l = new Map, f = !1, d; for (let m of i.original.get(e.text)) { if (r.getSymbolAtLocation(m) !== s || m === e) continue; let { parent: v } = m; if (br(v)) { let { name: { text: S } } = v; if (S === "default") { f = !0; let x = m.getText(); (d ?? (d = new Map)).set(v, D.createIdentifier(x)) } else { L.assert(v.expression === m, "Didn't expect expression === use"); let x = l.get(S); x === void 0 && (x = j5(S, i), l.set(S, x)), (d ?? (d = new Map)).set(v, D.createIdentifier(x)) } } else f = !0 } let g = l.size === 0 ? void 0 : lo(RU(l.entries(), ([m, v]) => D.createImportSpecifier(!1, m === v ? void 0 : D.createIdentifier(m), D.createIdentifier(v)))); return g || (f = !0), Q2([Xg(f ? cc(e) : void 0, g, t, o)], d) } function j5(e, t) { for (; t.original.has(e) || t.additional.has(e);)e = `_${e}`; return t.additional.add(e), e } function c7e(e) { let t = Nf(); return Qve(e, r => t.add(r.text, r)), t } function Qve(e, t) { Re(e) && l7e(e) && t(e), e.forEachChild(r => Qve(r, t)) } function l7e(e) { let { parent: t } = e; switch (t.kind) { case 208: return t.name !== e; case 205: return t.propertyName !== e; case 273: return t.propertyName !== e; default: return !0 } } function Zve(e, t, r, i) { return D.createFunctionDeclaration(Qi(t, oE(r.modifiers)), cc(r.asteriskToken), e, oE(r.typeParameters), oE(r.parameters), cc(r.type), D.converters.convertToFunctionBlock(Y$(r.body, i))) } function u7e(e, t, r, i) { return D.createClassDeclaration(Qi(t, oE(r.modifiers)), e, oE(r.typeParameters), oE(r.heritageClauses), Y$(r.members, i)) } function ebe(e, t, r, i) { return t === "default" ? Xg(D.createIdentifier(e), void 0, r, i) : Xg(void 0, [tbe(t, e)], r, i) } function tbe(e, t) { return D.createImportSpecifier(!1, e !== void 0 && e !== t ? D.createIdentifier(e) : void 0, D.createIdentifier(t)) } function H5(e, t, r) { return D.createVariableStatement(e, D.createVariableDeclarationList([D.createVariableDeclaration(t, void 0, void 0, r)], 2)) } function $$(e, t) { return D.createExportDeclaration(void 0, !1, e && D.createNamedExports(e), t === void 0 ? void 0 : D.createStringLiteral(t)) } function Q2(e, t) { return { newImports: e, useSitesToUnqualify: t } } var d7e = gt({ "src/services/codefixes/convertToEsModule.ts"() { "use strict"; Fr(), Qa(), za({ errorCodes: [_.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code], getCodeActions(e) { let { sourceFile: t, program: r, preferences: i } = e, o = nr.ChangeTracker.with(e, s => { if (XFe(t, r.getTypeChecker(), s, Do(r.getCompilerOptions()), J_(t, i))) for (let f of r.getSourceFiles()) qFe(f, t, s, J_(f, i)) }); return [K_("convertToEsModule", o, _.Convert_to_ES_module)] } }) } }); function nbe(e, t) { let r = jn(Vi(e, t), Yu); return L.assert(!!r, "Expected position to be owned by a qualified name."), Re(r.left) ? r : void 0 } function rbe(e, t, r) { let i = r.right.text, o = D.createIndexedAccessTypeNode(D.createTypeReferenceNode(r.left, void 0), D.createLiteralTypeNode(D.createStringLiteral(i))); e.replaceNode(t, r, o) } var W5, Q$, f7e = gt({ "src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts"() { "use strict"; Fr(), Qa(), W5 = "correctQualifiedNameToIndexedAccessType", Q$ = [_.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code], za({ errorCodes: Q$, getCodeActions(e) { let t = nbe(e.sourceFile, e.span.start); if (!t) return; let r = nr.ChangeTracker.with(e, o => rbe(o, e.sourceFile, t)), i = `${t.left.text}["${t.right.text}"]`; return [Ma(W5, r, [_.Rewrite_as_the_indexed_access_type_0, i], W5, _.Rewrite_all_as_indexed_access_types)] }, fixIds: [W5], getAllCodeActions: e => ns(e, Q$, (t, r) => { let i = nbe(r.file, r.start); i && rbe(t, r.file, i) }) }) } }); function ibe(e, t) { return zr(Vi(t, e.start).parent, Mu) } function abe(e, t, r) { if (!t) return; let i = t.parent, o = i.parent, s = _7e(t, r); if (s.length === i.elements.length) e.insertModifierBefore(r.sourceFile, 154, i); else { let l = D.updateExportDeclaration(o, o.modifiers, !1, D.updateNamedExports(i, Pr(i.elements, d => !ya(s, d))), o.moduleSpecifier, void 0), f = D.createExportDeclaration(void 0, !0, D.createNamedExports(s), o.moduleSpecifier, void 0); e.replaceNode(r.sourceFile, o, l, { leadingTriviaOption: nr.LeadingTriviaOption.IncludeAll, trailingTriviaOption: nr.TrailingTriviaOption.Exclude }), e.insertNodeAfter(r.sourceFile, o, f) } } function _7e(e, t) { let r = e.parent; if (r.elements.length === 1) return r.elements; let i = _ge(Du(r), t.program.getSemanticDiagnostics(t.sourceFile, t.cancellationToken)); return Pr(r.elements, o => { var s; return o === e || ((s = fge(o, i)) == null ? void 0 : s.code) === z5[0] }) } var z5, J5, p7e = gt({ "src/services/codefixes/convertToTypeOnlyExport.ts"() { "use strict"; Fr(), Qa(), z5 = [_.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code], J5 = "convertToTypeOnlyExport", za({ errorCodes: z5, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => abe(i, ibe(t.span, t.sourceFile), t)); if (r.length) return [Ma(J5, r, _.Convert_to_type_only_export, J5, _.Convert_all_re_exported_types_to_type_only_exports)] }, fixIds: [J5], getAllCodeActions: function (t) { let r = new Map; return ns(t, z5, (i, o) => { let s = ibe(o, t.sourceFile); s && V_(r, zo(s.parent.parent)) && abe(i, s, t) }) } }) } }); function obe(e, t) { let { parent: r } = Vi(e, t); return $u(r) || gl(r) && r.importClause ? r : void 0 } function sbe(e, t, r) { if ($u(r)) e.replaceNode(t, r, D.updateImportSpecifier(r, !0, r.propertyName, r.name)); else { let i = r.importClause; if (i.name && i.namedBindings) e.replaceNodeWithNodes(t, r, [D.createImportDeclaration(oE(r.modifiers, !0), D.createImportClause(!0, cc(i.name, !0), void 0), cc(r.moduleSpecifier, !0), cc(r.assertClause, !0)), D.createImportDeclaration(oE(r.modifiers, !0), D.createImportClause(!0, void 0, cc(i.namedBindings, !0)), cc(r.moduleSpecifier, !0), cc(r.assertClause, !0))]); else { let o = D.updateImportDeclaration(r, r.modifiers, D.updateImportClause(i, !0, i.name, i.namedBindings), r.moduleSpecifier, r.assertClause); e.replaceNode(t, r, o) } } } var Z$, K5, m7e = gt({ "src/services/codefixes/convertToTypeOnlyImport.ts"() { "use strict"; Fr(), Qa(), Z$ = [_.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error.code, _._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code], K5 = "convertToTypeOnlyImport", za({ errorCodes: Z$, getCodeActions: function (t) { let r = obe(t.sourceFile, t.span.start); if (r) { let i = nr.ChangeTracker.with(t, o => sbe(o, t.sourceFile, r)); return [Ma(K5, i, _.Convert_to_type_only_import, K5, _.Convert_all_imports_not_used_as_a_value_to_type_only_imports)] } }, fixIds: [K5], getAllCodeActions: function (t) { return ns(t, Z$, (r, i) => { let o = obe(i.file, i.start); o && sbe(r, i.file, o) }) } }) } }); function cbe(e, t) { let r = Vi(e, t); if (Re(r)) { let i = Ga(r.parent.parent, $d), o = r.getText(e); return { container: Ga(i.parent, Rd), typeNode: i.type, constraint: o, name: o === "K" ? "P" : "K" } } } function lbe(e, t, { container: r, typeNode: i, constraint: o, name: s }) { e.replaceNode(t, r, D.createMappedTypeNode(void 0, D.createTypeParameterDeclaration(void 0, s, D.createTypeReferenceNode(o)), void 0, void 0, i, void 0)) } var q5, eQ, h7e = gt({ "src/services/codefixes/convertLiteralTypeToMappedType.ts"() { "use strict"; Fr(), Qa(), q5 = "convertLiteralTypeToMappedType", eQ = [_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code], za({ errorCodes: eQ, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = cbe(r, i.start); if (!o) return; let { name: s, constraint: l } = o, f = nr.ChangeTracker.with(t, d => lbe(d, r, o)); return [Ma(q5, f, [_.Convert_0_to_1_in_0, l, s], q5, _.Convert_all_type_literals_to_mapped_type)] }, fixIds: [q5], getAllCodeActions: e => ns(e, eQ, (t, r) => { let i = cbe(r.file, r.start); i && lbe(t, r.file, i) }) }) } }); function ube(e, t) { return L.checkDefined(Zc(Vi(e, t)), "There should be a containing class") } function dbe(e) { return !e.valueDeclaration || !(uu(e.valueDeclaration) & 8) } function fbe(e, t, r, i, o, s) { let l = e.program.getTypeChecker(), f = g7e(i, l), d = l.getTypeAtLocation(t), m = l.getPropertiesOfType(d).filter(g8(dbe, C => !f.has(C.escapedName))), v = l.getTypeAtLocation(i), S = wr(i.members, C => Ec(C)); v.getNumberIndexType() || A(d, 1), v.getStringIndexType() || A(d, 0); let x = s1(r, e.program, s, e.host); oZ(i, m, r, e, s, x, C => w(r, i, C)), x.writeFixes(o); function A(C, P) { let F = l.getIndexInfoOfType(C, P); F && w(r, i, l.indexInfoToIndexSignatureDeclaration(F, i, void 0, sx(e))) } function w(C, P, F) { S ? o.insertNodeAfter(C, S, F) : o.insertMemberAtStart(C, P, F) } } function g7e(e, t) { let r = hp(e); if (!r) return Ua(); let i = t.getTypeAtLocation(r), o = t.getPropertiesOfType(i); return Ua(o.filter(dbe)) } var tQ, X5, y7e = gt({ "src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts"() { "use strict"; Fr(), Qa(), tQ = [_.Class_0_incorrectly_implements_interface_1.code, _.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code], X5 = "fixClassIncorrectlyImplementsInterface", za({ errorCodes: tQ, getCodeActions(e) { let { sourceFile: t, span: r } = e, i = ube(t, r.start); return Zi(JA(i), o => { let s = nr.ChangeTracker.with(e, l => fbe(e, o, t, i, l, e.preferences)); return s.length === 0 ? void 0 : Ma(X5, s, [_.Implement_interface_0, o.getText(t)], X5, _.Implement_all_unimplemented_interfaces) }) }, fixIds: [X5], getAllCodeActions(e) { let t = new Map; return ns(e, tQ, (r, i) => { let o = ube(i.file, i.start); if (V_(t, zo(o))) for (let s of JA(o)) fbe(e, s, i.file, o, r, e.preferences) }) } }) } }); function s1(e, t, r, i, o) { return _be(e, t, !1, r, i, o) } function _be(e, t, r, i, o, s) { let l = t.getCompilerOptions(), f = [], d = [], g = new Map, m = new Map; return { addImportFromDiagnostic: v, addImportFromExportedSymbol: S, writeFixes: A, hasFixes: w }; function v(C, P) { let F = vbe(P, C.code, C.start, r); !F || !F.length || x(Vo(F)) } function S(C, P) { let F = L.checkDefined(C.parent), B = j7(C, Do(l)), q = t.getTypeChecker(), W = q.getMergedSymbol(wd(C, q)), Y = hbe(e, W, B, F, !1, t, o, i, s), R = $5(e, t), ie = pbe(e, L.checkDefined(Y), t, void 0, !!P, R, o, i); ie && x({ fix: ie, symbolName: B, errorIdentifierText: void 0 }) } function x(C) { var P, F; let { fix: B, symbolName: q } = C; switch (B.kind) { case 0: f.push(B); break; case 1: d.push(B); break; case 2: { let { importClauseOrBindingPattern: ie, importKind: $, addAsTypeOnly: fe } = B, Z = String(zo(ie)), U = g.get(Z); if (U || g.set(Z, U = { importClauseOrBindingPattern: ie, defaultImport: void 0, namedImports: new Map }), $ === 0) { let re = U?.namedImports.get(q); U.namedImports.set(q, W(re, fe)) } else L.assert(U.defaultImport === void 0 || U.defaultImport.name === q, "(Add to Existing) Default import should be missing or match symbolName"), U.defaultImport = { name: q, addAsTypeOnly: W((P = U.defaultImport) == null ? void 0 : P.addAsTypeOnly, fe) }; break } case 3: { let { moduleSpecifier: ie, importKind: $, useRequire: fe, addAsTypeOnly: Z } = B, U = Y(ie, $, fe, Z); switch (L.assert(U.useRequire === fe, "(Add new) Tried to add an `import` and a `require` for the same module"), $) { case 1: L.assert(U.defaultImport === void 0 || U.defaultImport.name === q, "(Add new) Default import should be missing or match symbolName"), U.defaultImport = { name: q, addAsTypeOnly: W((F = U.defaultImport) == null ? void 0 : F.addAsTypeOnly, Z) }; break; case 0: let re = (U.namedImports || (U.namedImports = new Map)).get(q); U.namedImports.set(q, W(re, Z)); break; case 3: case 2: L.assert(U.namespaceLikeImport === void 0 || U.namespaceLikeImport.name === q, "Namespacelike import shoudl be missing or match symbolName"), U.namespaceLikeImport = { importKind: $, name: q, addAsTypeOnly: Z }; break }break } case 4: break; default: L.assertNever(B, `fix wasn't never - got kind ${B.kind}`) }function W(ie, $) { return Math.max(ie ?? 0, $) } function Y(ie, $, fe, Z) { let U = R(ie, !0), re = R(ie, !1), le = m.get(U), _e = m.get(re), ge = { defaultImport: void 0, namedImports: void 0, namespaceLikeImport: void 0, useRequire: fe }; return $ === 1 && Z === 2 ? le || (m.set(U, ge), ge) : Z === 1 && (le || _e) ? le || _e : _e || (m.set(re, ge), ge) } function R(ie, $) { return `${$ ? 1 : 0}|${ie}` } } function A(C) { let P = J_(e, i); for (let B of f) oQ(C, e, B); for (let B of d) Cbe(C, e, B, P); g.forEach(({ importClauseOrBindingPattern: B, defaultImport: q, namedImports: W }) => { Abe(C, e, B, q, lo(W.entries(), ([Y, R]) => ({ addAsTypeOnly: R, name: Y })), l, i) }); let F; m.forEach(({ useRequire: B, defaultImport: q, namedImports: W, namespaceLikeImport: Y }, R) => { let ie = R.slice(2), fe = (B ? kbe : Lbe)(ie, P, q, W && lo(W.entries(), ([Z, U]) => ({ addAsTypeOnly: U, name: Z })), Y, l); F = _A(F, fe) }), F && L7(C, e, F, !0, i) } function w() { return f.length > 0 || d.length > 0 || g.size > 0 || m.size > 0 } } function v7e(e, t, r, i) { let o = uk(e, i, r), s = gbe(t.getTypeChecker(), e, t.getCompilerOptions()); return { getModuleSpecifierForBestExportInfo: l }; function l(f, d, g, m) { let { fixes: v, computedWithoutCacheCount: S } = Y5(f, d, g, !1, t, e, r, i, s, m), x = bbe(v, e, t, o, r); return x && { ...x, computedWithoutCacheCount: S } } } function b7e(e, t, r, i, o, s, l, f, d, g, m, v) { let S = f.getCompilerOptions(), x; r ? (x = YN(i, l, f, m, v).get(i.path, r), L.assertIsDefined(x, "Some exportInfo should match the specified exportMapKey")) : (x = cj(u_(t.name)) ? [T7e(e, o, t, f, l)] : hbe(i, e, o, t, s, f, l, m, v), L.assertIsDefined(x, "Some exportInfo should match the specified symbol / moduleSymbol")); let A = $5(i, f), w = TS(Vi(i, g)), C = L.checkDefined(pbe(i, x, f, g, w, A, l, m)); return { moduleSpecifier: C.moduleSpecifier, codeAction: mbe(aQ({ host: l, formatContext: d, preferences: m }, i, o, C, !1, S, m)) } } function E7e(e, t, r, i, o, s) { let l = r.getCompilerOptions(), f = BU(iQ(e, r.getTypeChecker(), t, l)), d = Sbe(e, t, f, r), g = f !== t.text; return d && mbe(aQ({ host: i, formatContext: o, preferences: s }, e, f, d, g, l, s)) } function pbe(e, t, r, i, o, s, l, f) { let d = uk(e, f, l); return bbe(Y5(t, i, o, s, r, e, l, f).fixes, e, r, d, l) } function mbe({ description: e, changes: t, commands: r }) { return { description: e, changes: t, commands: r } } function hbe(e, t, r, i, o, s, l, f, d) { let g = ybe(s, l); return YN(e, l, s, f, d).search(e.path, o, m => m === r, m => { if (wd(m[0].symbol, g(m[0].isFromPackageJson)) === t && m.some(v => v.moduleSymbol === i || v.symbol.parent === i)) return m }) } function T7e(e, t, r, i, o) { var s, l; let f = i.getCompilerOptions(), d = m(i.getTypeChecker(), !1); if (d) return d; let g = (l = (s = o.getPackageJsonAutoImportProvider) == null ? void 0 : s.call(o)) == null ? void 0 : l.getTypeChecker(); return L.checkDefined(g && m(g, !0), "Could not find symbol in specified module for code actions"); function m(v, S) { let x = Y7(r, v, f); if (x && wd(x.symbol, v) === e) return { symbol: x.symbol, moduleSymbol: r, moduleFileName: void 0, exportKind: x.exportKind, targetFlags: wd(e, v).flags, isFromPackageJson: S }; let A = v.tryGetMemberInModuleExportsAndProperties(t, r); if (A && wd(A, v) === e) return { symbol: A, moduleSymbol: r, moduleFileName: void 0, exportKind: 0, targetFlags: wd(e, v).flags, isFromPackageJson: S } } } function Y5(e, t, r, i, o, s, l, f, d = gbe(o.getTypeChecker(), s, o.getCompilerOptions()), g) { let m = o.getTypeChecker(), v = Uo(e, d.getImportsForExportInfo), S = t !== void 0 && S7e(v, t), x = A7e(v, r, m, o.getCompilerOptions()); if (x) return { computedWithoutCacheCount: 0, fixes: [...S ? [S] : Je, x] }; let { fixes: A, computedWithoutCacheCount: w = 0 } = I7e(e, v, o, s, t, r, i, l, f, g); return { computedWithoutCacheCount: w, fixes: [...S ? [S] : Je, ...A] } } function S7e(e, t) { return ks(e, ({ declaration: r, importKind: i }) => { var o; if (i !== 0) return; let s = x7e(r), l = s && ((o = iR(r)) == null ? void 0 : o.text); if (l) return { kind: 0, namespacePrefix: s, usagePosition: t, moduleSpecifier: l } }) } function x7e(e) { var t, r, i; switch (e.kind) { case 257: return (t = zr(e.name, Re)) == null ? void 0 : t.text; case 268: return e.name.text; case 269: return (i = zr((r = e.importClause) == null ? void 0 : r.namedBindings, nv)) == null ? void 0 : i.name.text; default: return L.assertNever(e) } } function nQ(e, t, r, i, o, s) { return e ? t && s.importsNotUsedAsValues === 2 || u4(s) && (!(i & 111551) || o.getTypeOnlyAliasDeclaration(r)) ? 2 : 1 : 4 } function A7e(e, t, r, i) { return ks(e, ({ declaration: o, importKind: s, symbol: l, targetFlags: f }) => { if (s === 3 || s === 2 || o.kind === 268) return; if (o.kind === 257) return (s === 0 || s === 1) && o.name.kind === 203 ? { kind: 2, importClauseOrBindingPattern: o.name, importKind: s, moduleSpecifier: o.initializer.arguments[0].text, addAsTypeOnly: 4 } : void 0; let { importClause: d } = o; if (!d || !es(o.moduleSpecifier)) return; let { name: g, namedBindings: m } = d; if (d.isTypeOnly && !(s === 0 && m)) return; let v = nQ(t, !1, l, f, r, i); if (!(s === 1 && (g || v === 2 && m)) && !(s === 0 && m?.kind === 271)) return { kind: 2, importClauseOrBindingPattern: d, importKind: s, moduleSpecifier: o.moduleSpecifier.text, addAsTypeOnly: v } }) } function gbe(e, t, r) { let i; for (let o of t.imports) { let s = aR(o); if (kH(s.parent)) { let l = e.resolveExternalModuleName(o); l && (i || (i = Nf())).add($a(l), s.parent) } else if (s.kind === 269 || s.kind === 268) { let l = e.getSymbolAtLocation(o); l && (i || (i = Nf())).add($a(l), s) } } return { getImportsForExportInfo: ({ moduleSymbol: o, exportKind: s, targetFlags: l, symbol: f }) => { if (!(l & 111551) && Cu(t)) return Je; let d = i?.get($a(o)); if (!d) return Je; let g = rQ(t, s, r); return d.map(m => ({ declaration: m, importKind: g, symbol: f, targetFlags: l })) } } } function $5(e, t) { if (!Cu(e)) return !1; if (e.commonJsModuleIndicator && !e.externalModuleIndicator) return !0; if (e.externalModuleIndicator && !e.commonJsModuleIndicator) return !1; let r = t.getCompilerOptions(); if (r.configFile) return Rl(r) < 5; for (let i of t.getSourceFiles()) if (!(i === e || !Cu(i) || t.isSourceFileFromExternalLibrary(i))) { if (i.commonJsModuleIndicator && !i.externalModuleIndicator) return !0; if (i.externalModuleIndicator && !i.commonJsModuleIndicator) return !1 } return !0 } function ybe(e, t) { return Jp(r => r ? t.getPackageJsonAutoImportProvider().getTypeChecker() : e.getTypeChecker()) } function C7e(e, t, r, i, o, s, l, f, d) { let g = Cu(t), m = e.getCompilerOptions(), v = $S(e, l), S = ybe(e, l), x = $s(m), A = T7(x), w = d ? F => ({ moduleSpecifiers: Q0.tryGetModuleSpecifiersFromCache(F, t, v, f), computedWithoutCache: !1 }) : (F, B) => Q0.getModuleSpecifiersWithCacheInfo(F, B, m, t, v, f), C = 0, P = Uo(s, (F, B) => { let q = S(F.isFromPackageJson), { computedWithoutCache: W, moduleSpecifiers: Y } = w(F.moduleSymbol, q), R = !!(F.targetFlags & 111551), ie = nQ(i, !0, F.symbol, F.targetFlags, q, m); return C += W ? 1 : 0, Zi(Y, $ => { var fe; if (A && JS($)) return; if (!R && g && r !== void 0) return { kind: 1, moduleSpecifier: $, usagePosition: r, exportInfo: F, isReExport: B > 0 }; let Z = rQ(t, F.exportKind, m), U; if (r !== void 0 && Z === 3 && F.exportKind === 0) { let re = q.resolveExternalModuleSymbol(F.moduleSymbol), le; re !== F.moduleSymbol && (le = (fe = $7(re, q, m)) == null ? void 0 : fe.name), le || (le = sQ(F.moduleSymbol, Do(m), !1)), U = { namespacePrefix: le, usagePosition: r } } return { kind: 3, moduleSpecifier: $, importKind: Z, useRequire: o, addAsTypeOnly: ie, exportInfo: F, isReExport: B > 0, qualification: U } }) }); return { computedWithoutCacheCount: C, fixes: P } } function I7e(e, t, r, i, o, s, l, f, d, g) { let m = ks(t, v => L7e(v, s, l, r.getTypeChecker(), r.getCompilerOptions())); return m ? { fixes: [m] } : C7e(r, i, o, s, l, e, f, d, g) } function L7e({ declaration: e, importKind: t, symbol: r, targetFlags: i }, o, s, l, f) { var d; let g = (d = iR(e)) == null ? void 0 : d.text; if (g) { let m = s ? 4 : nQ(o, !0, r, i, l, f); return { kind: 3, moduleSpecifier: g, importKind: t, addAsTypeOnly: m, useRequire: s } } } function vbe(e, t, r, i) { let o = Vi(e.sourceFile, r), s; if (t === _._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code) s = R7e(e, o); else if (Re(o)) if (t === _._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code) { let f = BU(iQ(e.sourceFile, e.program.getTypeChecker(), o, e.program.getCompilerOptions())), d = Sbe(e.sourceFile, o, f, e.program); return d && [{ fix: d, symbolName: f, errorIdentifierText: o.text }] } else s = P7e(e, o, i); else return; let l = uk(e.sourceFile, e.preferences, e.host); return s && k7e(s, e.sourceFile, e.program, l, e.host) } function k7e(e, t, r, i, o) { let s = l => Ts(l, o.getCurrentDirectory(), lb(o)); return XC(e, (l, f) => g0(!!l.isJsxNamespaceFix, !!f.isJsxNamespaceFix) || Es(l.fix.kind, f.fix.kind) || Ebe(l.fix, f.fix, t, r, i.allowsImportingSpecifier, s)) } function bbe(e, t, r, i, o) { if (vt(e)) return e[0].kind === 0 || e[0].kind === 2 ? e[0] : e.reduce((s, l) => Ebe(l, s, t, r, i.allowsImportingSpecifier, f => Ts(f, o.getCurrentDirectory(), lb(o))) === -1 ? l : s) } function Ebe(e, t, r, i, o, s) { return e.kind !== 0 && t.kind !== 0 ? g0(o(t.moduleSpecifier), o(e.moduleSpecifier)) || w7e(e.moduleSpecifier, t.moduleSpecifier, r, i) || g0(Tbe(e, r, i.getCompilerOptions(), s), Tbe(t, r, i.getCompilerOptions(), s)) || BR(e.moduleSpecifier, t.moduleSpecifier) : 0 } function Tbe(e, t, r, i) { var o; if (e.isReExport && ((o = e.exportInfo) != null && o.moduleFileName) && $s(r) === 2 && D7e(e.exportInfo.moduleFileName)) { let s = i(ni(e.exportInfo.moduleFileName)); return na(t.path, s) } return !1 } function D7e(e) { return Hl(e, [".js", ".jsx", ".d.ts", ".ts", ".tsx"], !0) === "index" } function w7e(e, t, r, i) { return na(e, "node:") && !na(t, "node:") ? W7(r, i) ? -1 : 1 : na(t, "node:") && !na(e, "node:") ? W7(r, i) ? 1 : -1 : 0 } function R7e({ sourceFile: e, program: t, host: r, preferences: i }, o) { let s = t.getTypeChecker(), l = O7e(o, s); if (!l) return; let f = s.getAliasedSymbol(l), d = l.name, g = [{ symbol: l, moduleSymbol: f, moduleFileName: void 0, exportKind: 3, targetFlags: f.flags, isFromPackageJson: !1 }], m = $5(e, t); return Y5(g, void 0, !1, m, t, e, r, i).fixes.map(S => { var x; return { fix: S, symbolName: d, errorIdentifierText: (x = zr(o, Re)) == null ? void 0 : x.text } }) } function O7e(e, t) { let r = Re(e) ? t.getSymbolAtLocation(e) : void 0; if (o4(r)) return r; let { parent: i } = e; if (Au(i) && i.tagName === e || US(i)) { let o = t.resolveName(t.getJsxNamespace(i), Au(i) ? e : i, 111551, !1); if (o4(o)) return o } } function rQ(e, t, r, i) { if (r.verbatimModuleSyntax && (Rl(r) === 1 || e.impliedNodeFormat === 1)) return 3; switch (t) { case 0: return 0; case 1: return 1; case 2: return G7e(e, r, !!i); case 3: return N7e(e, r, !!i); default: return L.assertNever(t) } } function N7e(e, t, r) { if (wT(t)) return 1; let i = Rl(t); switch (i) { case 2: case 1: case 3: return Yn(e) && (Lc(e) || r) ? 2 : 3; case 4: case 5: case 6: case 7: case 99: case 0: return 2; case 100: case 199: return e.impliedNodeFormat === 99 ? 2 : 3; default: return L.assertNever(i, `Unexpected moduleKind ${i}`) } } function P7e({ sourceFile: e, program: t, cancellationToken: r, host: i, preferences: o }, s, l) { let f = t.getTypeChecker(), d = t.getCompilerOptions(); return Uo(iQ(e, f, s, d), g => { if (g === "default") return; let m = TS(s), v = $5(e, t), S = F7e(g, DI(s), ZT(s), r, e, t, l, i, o); return lo(OU(S.values(), x => Y5(x, s.getStart(e), m, v, t, e, i, o).fixes), x => ({ fix: x, symbolName: g, errorIdentifierText: s.text, isJsxNamespaceFix: g !== s.text })) }) } function Sbe(e, t, r, i) { let o = i.getTypeChecker(), s = o.resolveName(r, t, 111551, !0); if (!s) return; let l = o.getTypeOnlyAliasDeclaration(s); if (!(!l || Gn(l) !== e)) return { kind: 4, typeOnlyAliasDeclaration: l } } function iQ(e, t, r, i) { let o = r.parent; if ((Au(o) || GS(o)) && o.tagName === r && wY(i.jsx)) { let s = t.getJsxNamespace(e); if (M7e(s, r, t)) return !GI(r.text) && !t.resolveName(r.text, r, 111551, !1) ? [r.text, s] : [s] } return [r.text] } function M7e(e, t, r) { if (GI(t.text)) return !0; let i = r.resolveName(e, t, 111551, !0); return !i || vt(i.declarations, I0) && !(i.flags & 111551) } function F7e(e, t, r, i, o, s, l, f, d) { var g; let m = Nf(), v = uk(o, d, f), S = (g = f.getModuleSpecifierCache) == null ? void 0 : g.call(f), x = Jp(w => $S(w ? f.getPackageJsonAutoImportProvider() : s, f)); function A(w, C, P, F, B, q) { let W = x(q); if (C && PY(B, o, C, d, v, W, S) || !C && v.allowsImportingAmbientModule(w, W)) { let Y = B.getTypeChecker(); m.add(tge(P, Y).toString(), { symbol: P, moduleSymbol: w, moduleFileName: C?.fileName, exportKind: F, targetFlags: wd(P, Y).flags, isFromPackageJson: q }) } } return MY(s, f, d, l, (w, C, P, F) => { let B = P.getTypeChecker(); i.throwIfCancellationRequested(); let q = P.getCompilerOptions(), W = Y7(w, B, q); W && (W.name === e || sQ(w, Do(q), t) === e) && wbe(W.resolvedSymbol, r) && A(w, C, W.symbol, W.exportKind, P, F); let Y = B.tryGetMemberInModuleExportsAndProperties(e, w); Y && wbe(Y, r) && A(w, C, Y, 0, P, F) }), m } function G7e(e, t, r) { let i = wT(t), o = Yn(e); if (!o && Rl(t) >= 5) return i ? 1 : 2; if (o) return Lc(e) || r ? i ? 1 : 2 : 3; for (let s of e.statements) if (Nl(s) && !rc(s.moduleReference)) return 3; return i ? 1 : 3 } function aQ(e, t, r, i, o, s, l) { let f, d = nr.ChangeTracker.with(e, g => { f = B7e(g, t, r, i, o, s, l) }); return Ma(lQ, d, f, uQ, _.Add_all_missing_imports) } function B7e(e, t, r, i, o, s, l) { let f = J_(t, l); switch (i.kind) { case 0: return oQ(e, t, i), [_.Change_0_to_1, r, `${i.namespacePrefix}.${r}`]; case 1: return Cbe(e, t, i, f), [_.Change_0_to_1, r, Ibe(i.moduleSpecifier, f) + r]; case 2: { let { importClauseOrBindingPattern: d, importKind: g, addAsTypeOnly: m, moduleSpecifier: v } = i; Abe(e, t, d, g === 1 ? { name: r, addAsTypeOnly: m } : void 0, g === 0 ? [{ name: r, addAsTypeOnly: m }] : Je, s, l); let S = u_(v); return o ? [_.Import_0_from_1, r, S] : [_.Update_import_from_0, S] } case 3: { let { importKind: d, moduleSpecifier: g, addAsTypeOnly: m, useRequire: v, qualification: S } = i, x = v ? kbe : Lbe, A = d === 1 ? { name: r, addAsTypeOnly: m } : void 0, w = d === 0 ? [{ name: r, addAsTypeOnly: m }] : void 0, C = d === 2 || d === 3 ? { importKind: d, name: S?.namespacePrefix || r, addAsTypeOnly: m } : void 0; return L7(e, t, x(g, f, A, w, C, s), !0, l), S && oQ(e, t, S), o ? [_.Import_0_from_1, r, g] : [_.Add_import_from_0, g] } case 4: { let { typeOnlyAliasDeclaration: d } = i, g = U7e(e, d, s, t, l); return g.kind === 273 ? [_.Remove_type_from_import_of_0_from_1, r, xbe(g.parent.parent)] : [_.Remove_type_from_import_declaration_from_0, xbe(g)] } default: return L.assertNever(i, `Unexpected fix kind ${i.kind}`) } } function xbe(e) { var t, r; return e.kind === 268 ? ((r = zr((t = zr(e.moduleReference, um)) == null ? void 0 : t.expression, es)) == null ? void 0 : r.text) || e.moduleReference.getText() : Ga(e.parent.moduleSpecifier, yo).text } function U7e(e, t, r, i, o) { let s = u4(r); switch (t.kind) { case 273: if (t.isTypeOnly) { let f = b_.detectImportSpecifierSorting(t.parent.elements, o); if (t.parent.elements.length > 1 && f) { e.delete(i, t); let d = D.updateImportSpecifier(t, !1, t.propertyName, t.name), g = b_.getOrganizeImportsComparer(o, f === 2), m = b_.getImportSpecifierInsertionIndex(t.parent.elements, d, g); e.insertImportSpecifierAtIndex(i, d, t.parent, m) } else e.deleteRange(i, t.getFirstToken()); return t } else return L.assert(t.parent.parent.isTypeOnly), l(t.parent.parent), t.parent.parent; case 270: return l(t), t; case 271: return l(t.parent), t.parent; case 268: return e.deleteRange(i, t.getChildAt(1)), t; default: L.failBadSyntaxKind(t) }function l(f) { if (e.delete(i, cY(f, i)), s) { let d = zr(f.namedBindings, jg); if (d && d.elements.length > 1) { b_.detectImportSpecifierSorting(d.elements, o) && t.kind === 273 && d.elements.indexOf(t) !== 0 && (e.delete(i, t), e.insertImportSpecifierAtIndex(i, t, d, 0)); for (let g of d.elements) g !== t && !g.isTypeOnly && e.insertModifierBefore(i, 154, g) } } } } function Abe(e, t, r, i, o, s, l) { var f; if (r.kind === 203) { i && v(r, i.name, "default"); for (let S of o) v(r, S.name, void 0); return } let d = r.isTypeOnly && vt([i, ...o], S => S?.addAsTypeOnly === 4), g = r.namedBindings && ((f = zr(r.namedBindings, jg)) == null ? void 0 : f.elements), m = d && u4(s); if (i && (L.assert(!r.name, "Cannot add a default import to an import clause that already has one"), e.insertNodeAt(t, r.getStart(t), D.createIdentifier(i.name), { suffix: ", " })), o.length) { let S; if (typeof l.organizeImportsIgnoreCase == "boolean") S = l.organizeImportsIgnoreCase; else if (g) { let C = b_.detectImportSpecifierSorting(g, l); C !== 3 && (S = C === 2) } S === void 0 && (S = b_.detectSorting(t, l) === 2); let x = b_.getOrganizeImportsComparer(l, S), A = Ag(o.map(C => D.createImportSpecifier((!r.isTypeOnly || d) && aP(C), void 0, D.createIdentifier(C.name))), (C, P) => b_.compareImportOrExportSpecifiers(C, P, x)), w = g?.length && b_.detectImportSpecifierSorting(g, l); if (w && !(S && w === 1)) for (let C of A) { let P = m && !C.isTypeOnly ? 0 : b_.getImportSpecifierInsertionIndex(g, C, x); e.insertImportSpecifierAtIndex(t, C, r.namedBindings, P) } else if (g?.length) for (let C of A) e.insertNodeInListAfter(t, To(g), C, g); else if (A.length) { let C = D.createNamedImports(A); r.namedBindings ? e.replaceNode(t, r.namedBindings, C) : e.insertNodeAfter(t, L.checkDefined(r.name, "Import clause must have either named imports or a default import"), C) } } if (d && (e.delete(t, cY(r, t)), m && g)) for (let S of g) e.insertModifierBefore(t, 154, S); function v(S, x, A) { let w = D.createBindingElement(void 0, A, x); S.elements.length ? e.insertNodeInListAfter(t, To(S.elements), w) : e.replaceNode(t, S, D.createObjectBindingPattern([w])) } } function oQ(e, t, { namespacePrefix: r, usagePosition: i }) { e.insertText(t, i, r + ".") } function Cbe(e, t, { moduleSpecifier: r, usagePosition: i }, o) { e.insertText(t, i, Ibe(r, o)) } function Ibe(e, t) { let r = Hhe(t); return `import(${r}${e}${r}).` } function aP({ addAsTypeOnly: e }) { return e === 2 } function Lbe(e, t, r, i, o, s) { let l = S7(e, t), f; if (r !== void 0 || i?.length) { let d = (!r || aP(r)) && Ji(i, aP) || s.verbatimModuleSyntax && r?.addAsTypeOnly !== 4 && !vt(i, g => g.addAsTypeOnly === 4); f = _A(f, Xg(r && D.createIdentifier(r.name), i?.map(({ addAsTypeOnly: g, name: m }) => D.createImportSpecifier(!d && g === 2, void 0, D.createIdentifier(m))), e, t, d)) } if (o) { let d = o.importKind === 3 ? D.createImportEqualsDeclaration(void 0, aP(o), D.createIdentifier(o.name), D.createExternalModuleReference(l)) : D.createImportDeclaration(void 0, D.createImportClause(aP(o), void 0, D.createNamespaceImport(D.createIdentifier(o.name))), l, void 0); f = _A(f, d) } return L.checkDefined(f) } function kbe(e, t, r, i, o) { let s = S7(e, t), l; if (r || i?.length) { let f = i?.map(({ name: g }) => D.createBindingElement(void 0, void 0, g)) || []; r && f.unshift(D.createBindingElement(void 0, "default", r.name)); let d = Dbe(D.createObjectBindingPattern(f), s); l = _A(l, d) } if (o) { let f = Dbe(o.name, s); l = _A(l, f) } return L.checkDefined(l) } function Dbe(e, t) { return D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(typeof e == "string" ? D.createIdentifier(e) : e, void 0, void 0, D.createCallExpression(D.createIdentifier("require"), void 0, [t]))], 2)) } function wbe({ declarations: e }, t) { return vt(e, r => !!(LN(r) & t)) } function sQ(e, t, r) { return cQ(ld(u_(e.name)), t, r) } function cQ(e, t, r) { let i = Hl(pA(e, "/index")), o = "", s = !0, l = i.charCodeAt(0); Pm(l, t) ? (o += String.fromCharCode(l), r && (o = o.toUpperCase())) : s = !1; for (let f = 1; f < i.length; f++) { let d = i.charCodeAt(f), g = tb(d, t); if (g) { let m = String.fromCharCode(d); s || (m = m.toUpperCase()), o += m } s = g } return fS(o) ? `_${o}` : o || "_" } var lQ, uQ, dQ, V7e = gt({ "src/services/codefixes/importFixes.ts"() { "use strict"; Fr(), Qa(), lQ = "import", uQ = "fixMissingImport", dQ = [_.Cannot_find_name_0.code, _.Cannot_find_name_0_Did_you_mean_1.code, _.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code, _.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code, _.Cannot_find_namespace_0.code, _._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code, _._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code, _.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code, _._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code], za({ errorCodes: dQ, getCodeActions(e) { let { errorCode: t, preferences: r, sourceFile: i, span: o, program: s } = e, l = vbe(e, t, o.start, !0); if (l) return l.map(({ fix: f, symbolName: d, errorIdentifierText: g }) => aQ(e, i, d, f, d !== g, s.getCompilerOptions(), r)) }, fixIds: [uQ], getAllCodeActions: e => { let { sourceFile: t, program: r, preferences: i, host: o, cancellationToken: s } = e, l = _be(t, r, !0, i, o, s); return ax(e, dQ, f => l.addImportFromDiagnostic(f, e)), ix(nr.ChangeTracker.with(e, l.writeFixes)) } }) } }); function Rbe(e, t, r) { let i = wr(e.getSemanticDiagnostics(t), l => l.start === r.start && l.length === r.length); if (i === void 0 || i.relatedInformation === void 0) return; let o = wr(i.relatedInformation, l => l.code === _.This_type_parameter_might_need_an_extends_0_constraint.code); if (o === void 0 || o.file === void 0 || o.start === void 0 || o.length === void 0) return; let s = _Z(o.file, il(o.start, o.length)); if (s !== void 0 && (Re(s) && _c(s.parent) && (s = s.parent), _c(s))) { if (EL(s.parent)) return; let l = Vi(t, r.start), f = e.getTypeChecker(); return { constraint: H7e(f, l) || j7e(o.messageText), declaration: s, token: l } } } function Obe(e, t, r, i, o, s) { let { declaration: l, constraint: f } = s, d = t.getTypeChecker(); if (Ta(f)) e.insertText(o, l.name.end, ` extends ${f}`); else { let g = Do(t.getCompilerOptions()), m = sx({ program: t, host: i }), v = s1(o, t, r, i), S = N9(d, v, f, void 0, g, void 0, m); S && (e.replaceNode(o, l, D.updateTypeParameterDeclaration(l, void 0, l.name, S, l.default)), v.writeFixes(e)) } } function j7e(e) {
-                let [t, r] = sv(e, `
-`, 0).match(/`extends (.*)`/) || []; return r
-            } function H7e(e, t) { return bi(t.parent) ? e.getTypeArgumentConstraint(t.parent) : (ot(t) ? e.getContextualType(t) : void 0) || e.getTypeAtLocation(t) } var Q5, fQ, W7e = gt({ "src/services/codefixes/fixAddMissingConstraint.ts"() { "use strict"; Fr(), Qa(), Q5 = "addMissingConstraint", fQ = [_.Type_0_is_not_comparable_to_type_1.code, _.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code, _.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code, _.Type_0_is_not_assignable_to_type_1.code, _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code, _.Property_0_is_incompatible_with_index_signature.code, _.Property_0_in_type_1_is_not_assignable_to_type_2.code, _.Type_0_does_not_satisfy_the_constraint_1.code], za({ errorCodes: fQ, getCodeActions(e) { let { sourceFile: t, span: r, program: i, preferences: o, host: s } = e, l = Rbe(i, t, r); if (l === void 0) return; let f = nr.ChangeTracker.with(e, d => Obe(d, i, o, s, t, l)); return [Ma(Q5, f, _.Add_extends_constraint, Q5, _.Add_extends_constraint_to_all_type_parameters)] }, fixIds: [Q5], getAllCodeActions: e => { let { program: t, preferences: r, host: i } = e, o = new Map; return ix(nr.ChangeTracker.with(e, s => { ax(e, fQ, l => { let f = Rbe(t, l.file, il(l.start, l.length)); if (f && V_(o, zo(f.declaration))) return Obe(s, t, r, i, l.file, f) }) })) } }) } }); function Nbe(e, t, r, i) { switch (r) { case _.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code: case _.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code: case _.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code: case _.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code: case _.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code: return z7e(e, t.sourceFile, i); case _.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code: case _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code: case _.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code: case _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code: return J7e(e, t.sourceFile, i); default: L.fail("Unexpected error code: " + r) } } function z7e(e, t, r) { let i = Mbe(t, r); if (Cu(t)) { e.addJSDocTags(t, i, [D.createJSDocOverrideTag(D.createIdentifier("override"))]); return } let o = i.modifiers || Je, s = wr(o, LS), l = wr(o, Rue), f = wr(o, v => ZX(v.kind)), d = dA(o, du), g = l ? l.end : s ? s.end : f ? f.end : d ? xo(t.text, d.end) : i.getStart(t), m = f || s || l ? { prefix: " " } : { suffix: " " }; e.insertModifierAt(t, g, 161, m) } function J7e(e, t, r) { let i = Mbe(t, r); if (Cu(t)) { e.filterJSDocTags(t, i, y8(g3)); return } let o = wr(i.modifiers, Oue); L.assertIsDefined(o), e.deleteModifier(t, o) } function Pbe(e) { switch (e.kind) { case 173: case 169: case 171: case 174: case 175: return !0; case 166: return Ad(e, e.parent); default: return !1 } } function Mbe(e, t) { let r = Vi(e, t), i = jn(r, o => Yr(o) ? "quit" : Pbe(o)); return L.assert(i && Pbe(i)), i } var _Q, Z2, yk, pQ, mQ, K7e = gt({ "src/services/codefixes/fixOverrideModifier.ts"() { "use strict"; Fr(), Qa(), _Q = "fixOverrideModifier", Z2 = "fixAddOverrideModifier", yk = "fixRemoveOverrideModifier", pQ = [_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code, _.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code, _.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code, _.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code, _.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code, _.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code, _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code, _.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code, _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code], mQ = { [_.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code]: { descriptions: _.Add_override_modifier, fixId: Z2, fixAllDescriptions: _.Add_all_missing_override_modifiers }, [_.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]: { descriptions: _.Add_override_modifier, fixId: Z2, fixAllDescriptions: _.Add_all_missing_override_modifiers }, [_.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code]: { descriptions: _.Remove_override_modifier, fixId: yk, fixAllDescriptions: _.Remove_all_unnecessary_override_modifiers }, [_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code]: { descriptions: _.Remove_override_modifier, fixId: yk, fixAllDescriptions: _.Remove_override_modifier }, [_.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code]: { descriptions: _.Add_override_modifier, fixId: Z2, fixAllDescriptions: _.Add_all_missing_override_modifiers }, [_.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]: { descriptions: _.Add_override_modifier, fixId: Z2, fixAllDescriptions: _.Add_all_missing_override_modifiers }, [_.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code]: { descriptions: _.Add_override_modifier, fixId: Z2, fixAllDescriptions: _.Remove_all_unnecessary_override_modifiers }, [_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code]: { descriptions: _.Remove_override_modifier, fixId: yk, fixAllDescriptions: _.Remove_all_unnecessary_override_modifiers }, [_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code]: { descriptions: _.Remove_override_modifier, fixId: yk, fixAllDescriptions: _.Remove_all_unnecessary_override_modifiers } }, za({ errorCodes: pQ, getCodeActions: function (t) { let { errorCode: r, span: i } = t, o = mQ[r]; if (!o) return Je; let { descriptions: s, fixId: l, fixAllDescriptions: f } = o, d = nr.ChangeTracker.with(t, g => Nbe(g, t, r, i.start)); return [D$(_Q, d, s, l, f)] }, fixIds: [_Q, Z2, yk], getAllCodeActions: e => ns(e, pQ, (t, r) => { let { code: i, start: o } = r, s = mQ[i]; !s || s.fixId !== e.fixId || Nbe(t, e, i, o) }) }) } }); function Fbe(e, t, r, i) { let o = J_(t, i), s = D.createStringLiteral(r.name.text, o === 0); e.replaceNode(t, r, n6(r) ? D.createElementAccessChain(r.expression, r.questionDotToken, s) : D.createElementAccessExpression(r.expression, s)) } function Gbe(e, t) { return Ga(Vi(e, t).parent, br) } var Z5, hQ, q7e = gt({ "src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts"() { "use strict"; Fr(), Qa(), Z5 = "fixNoPropertyAccessFromIndexSignature", hQ = [_.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code], za({ errorCodes: hQ, fixIds: [Z5], getCodeActions(e) { let { sourceFile: t, span: r, preferences: i } = e, o = Gbe(t, r.start), s = nr.ChangeTracker.with(e, l => Fbe(l, e.sourceFile, o, i)); return [Ma(Z5, s, [_.Use_element_access_for_0, o.name.text], Z5, _.Use_element_access_for_all_undeclared_properties)] }, getAllCodeActions: e => ns(e, hQ, (t, r) => Fbe(t, r.file, Gbe(r.file, r.start), e.preferences)) }) } }); function Bbe(e, t, r, i) { let o = Vi(t, r); if (!H2(o)) return; let s = Ku(o, !1, !1); if (!(!Jc(s) && !ms(s)) && !Li(Ku(s, !1, !1))) { let l = L.checkDefined(Yo(s, 98, t)), { name: f } = s, d = L.checkDefined(s.body); return ms(s) ? f && js.Core.isSymbolReferencedInFile(f, i, t, d) ? void 0 : (e.delete(t, l), f && e.delete(t, f), e.insertText(t, d.pos, " =>"), [_.Convert_function_expression_0_to_arrow_function, f ? f.text : X7]) : (e.replaceNode(t, l, D.createToken(85)), e.insertText(t, f.end, " = "), e.insertText(t, d.pos, " =>"), [_.Convert_function_declaration_0_to_arrow_function, f.text]) } } var e9, gQ, X7e = gt({ "src/services/codefixes/fixImplicitThis.ts"() { "use strict"; Fr(), Qa(), e9 = "fixImplicitThis", gQ = [_.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code], za({ errorCodes: gQ, getCodeActions: function (t) { let { sourceFile: r, program: i, span: o } = t, s, l = nr.ChangeTracker.with(t, f => { s = Bbe(f, r, o.start, i.getTypeChecker()) }); return s ? [Ma(e9, l, s, e9, _.Fix_all_implicit_this_errors)] : Je }, fixIds: [e9], getAllCodeActions: e => ns(e, gQ, (t, r) => { Bbe(t, r.file, r.start, e.program.getTypeChecker()) }) }) } }); function Ube(e, t, r) { var i; let o = Vi(e, t); if (Re(o)) { let s = jn(o, gl); if (s === void 0) return; let l = yo(s.moduleSpecifier) ? s.moduleSpecifier.text : void 0; if (l === void 0) return; let f = kA(e, l, void 0); if (f === void 0) return; let d = r.getSourceFile(f.resolvedFileName); if (d === void 0 || dk(r, d)) return; let g = d.symbol, m = (i = zr(g.valueDeclaration, Qp)) == null ? void 0 : i.locals; if (m === void 0) return; let v = m.get(o.escapedText); if (v === void 0) return; let S = $7e(v); return S === void 0 ? void 0 : { exportName: { node: o, isTypeOnly: o2(S) }, node: S, moduleSourceFile: d, moduleSpecifier: l } } } function Y7e(e, t, { exportName: r, node: i, moduleSourceFile: o }) { let s = t9(o, r.isTypeOnly); s ? Vbe(e, t, o, s, [r]) : WR(i) ? e.insertExportModifier(o, i) : jbe(e, t, o, [r]) } function yQ(e, t, r, i, o) { Fn(i) && (o ? Vbe(e, t, r, o, i) : jbe(e, t, r, i)) } function t9(e, t) { let r = i => Il(i) && (t && i.isTypeOnly || !i.isTypeOnly); return dA(e.statements, r) } function Vbe(e, t, r, i, o) { let s = i.exportClause && h_(i.exportClause) ? i.exportClause.elements : D.createNodeArray([]), l = !i.isTypeOnly && !!(d_(t.getCompilerOptions()) || wr(s, f => f.isTypeOnly)); e.replaceNode(r, i, D.updateExportDeclaration(i, i.modifiers, i.isTypeOnly, D.createNamedExports(D.createNodeArray([...s, ...Hbe(o, l)], s.hasTrailingComma)), i.moduleSpecifier, i.assertClause)) } function jbe(e, t, r, i) { e.insertNodeAtEndOfScope(r, r, D.createExportDeclaration(void 0, !1, D.createNamedExports(Hbe(i, d_(t.getCompilerOptions()))), void 0, void 0)) } function Hbe(e, t) { return D.createNodeArray(on(e, r => D.createExportSpecifier(t && r.isTypeOnly, void 0, r.node))) } function $7e(e) { if (e.valueDeclaration === void 0) return Sl(e.declarations); let t = e.valueDeclaration, r = wi(t) ? zr(t.parent.parent, Bc) : void 0; return r && Fn(r.declarationList.declarations) === 1 ? r : t } var n9, vQ, Q7e = gt({ "src/services/codefixes/fixImportNonExportedMember.ts"() { "use strict"; Fr(), Qa(), n9 = "fixImportNonExportedMember", vQ = [_.Module_0_declares_1_locally_but_it_is_not_exported.code], za({ errorCodes: vQ, fixIds: [n9], getCodeActions(e) { let { sourceFile: t, span: r, program: i } = e, o = Ube(t, r.start, i); if (o === void 0) return; let s = nr.ChangeTracker.with(e, l => Y7e(l, i, o)); return [Ma(n9, s, [_.Export_0_from_module_1, o.exportName.node.text, o.moduleSpecifier], n9, _.Export_all_referenced_locals)] }, getAllCodeActions(e) { let { program: t } = e; return ix(nr.ChangeTracker.with(e, r => { let i = new Map; ax(e, vQ, o => { let s = Ube(o.file, o.start, t); if (s === void 0) return; let { exportName: l, node: f, moduleSourceFile: d } = s; if (t9(d, l.isTypeOnly) === void 0 && WR(f)) r.insertExportModifier(d, f); else { let g = i.get(d) || { typeOnlyExports: [], exports: [] }; l.isTypeOnly ? g.typeOnlyExports.push(l) : g.exports.push(l), i.set(d, g) } }), i.forEach((o, s) => { let l = t9(s, !0); l && l.isTypeOnly ? (yQ(r, t, s, o.typeOnlyExports, l), yQ(r, t, s, o.exports, t9(s, !1))) : yQ(r, t, s, [...o.exports, ...o.typeOnlyExports], l) }) })) } }) } }); function Z7e(e, t) { let r = Vi(e, t); return jn(r, i => i.kind === 199) } function e5e(e, t, r) { if (!r) return; let i = r.type, o = !1, s = !1; for (; i.kind === 187 || i.kind === 188 || i.kind === 193;)i.kind === 187 ? o = !0 : i.kind === 188 && (s = !0), i = i.type; let l = D.updateNamedTupleMember(r, r.dotDotDotToken || (s ? D.createToken(25) : void 0), r.name, r.questionToken || (o ? D.createToken(57) : void 0), i); l !== r && e.replaceNode(t, r, l) } var r9, Wbe, t5e = gt({ "src/services/codefixes/fixIncorrectNamedTupleSyntax.ts"() { "use strict"; Fr(), Qa(), r9 = "fixIncorrectNamedTupleSyntax", Wbe = [_.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code, _.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code], za({ errorCodes: Wbe, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = Z7e(r, i.start), s = nr.ChangeTracker.with(t, l => e5e(l, r, o)); return [Ma(r9, s, _.Move_labeled_tuple_element_modifiers_to_labels, r9, _.Move_labeled_tuple_element_modifiers_to_labels)] }, fixIds: [r9] }) } }); function zbe(e, t, r, i) { let o = Vi(e, t), s = o.parent; if ((i === _.No_overload_matches_this_call.code || i === _.Type_0_is_not_assignable_to_type_1.code) && !Sp(s)) return; let l = r.program.getTypeChecker(), f; if (br(s) && s.name === o) { L.assert(Ah(o), "Expected an identifier for spelling (property access)"); let d = l.getTypeAtLocation(s.expression); s.flags & 32 && (d = l.getNonNullableType(d)), f = l.getSuggestedSymbolForNonexistentProperty(o, d) } else if (ar(s) && s.operatorToken.kind === 101 && s.left === o && pi(o)) { let d = l.getTypeAtLocation(s.right); f = l.getSuggestedSymbolForNonexistentProperty(o, d) } else if (Yu(s) && s.right === o) { let d = l.getSymbolAtLocation(s.left); d && d.flags & 1536 && (f = l.getSuggestedSymbolForNonexistentModule(s.right, d)) } else if ($u(s) && s.name === o) { L.assertNode(o, Re, "Expected an identifier for spelling (import)"); let d = jn(o, gl), g = r5e(e, r, d); g && g.symbol && (f = l.getSuggestedSymbolForNonexistentModule(o, g.symbol)) } else if (Sp(s) && s.name === o) { L.assertNode(o, Re, "Expected an identifier for JSX attribute"); let d = jn(o, Au), g = l.getContextualTypeForArgumentAtIndex(d, 0); f = l.getSuggestedSymbolForNonexistentJSXAttribute(o, g) } else if (Mr(s, 16384) && _l(s) && s.name === o) { let d = jn(o, Yr), g = d ? hp(d) : void 0, m = g ? l.getTypeAtLocation(g) : void 0; m && (f = l.getSuggestedSymbolForNonexistentClassMember(Qc(o), m)) } else { let d = ZT(o), g = Qc(o); L.assert(g !== void 0, "name should be defined"), f = l.getSuggestedSymbolForNonexistentSymbol(o, g, n5e(d)) } return f === void 0 ? void 0 : { node: o, suggestedSymbol: f } } function Jbe(e, t, r, i, o) { let s = fc(i); if (!i_(s, o) && br(r.parent)) { let l = i.valueDeclaration; l && zl(l) && pi(l.name) ? e.replaceNode(t, r, D.createIdentifier(s)) : e.replaceNode(t, r.parent, D.createElementAccessExpression(r.parent.expression, D.createStringLiteral(s))) } else e.replaceNode(t, r, D.createIdentifier(s)) } function n5e(e) { let t = 0; return e & 4 && (t |= 1920), e & 2 && (t |= 788968), e & 1 && (t |= 111551), t } function r5e(e, t, r) { if (!r || !es(r.moduleSpecifier)) return; let i = kA(e, r.moduleSpecifier.text, W_(e, r.moduleSpecifier)); if (i) return t.program.getSourceFile(i.resolvedFileName) } var bQ, EQ, i5e = gt({ "src/services/codefixes/fixSpelling.ts"() { "use strict"; Fr(), Qa(), bQ = "fixSpelling", EQ = [_.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code, _.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code, _.Cannot_find_name_0_Did_you_mean_1.code, _.Could_not_find_name_0_Did_you_mean_1.code, _.Cannot_find_namespace_0_Did_you_mean_1.code, _.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code, _.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code, _._0_has_no_exported_member_named_1_Did_you_mean_2.code, _.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code, _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code, _.No_overload_matches_this_call.code, _.Type_0_is_not_assignable_to_type_1.code], za({ errorCodes: EQ, getCodeActions(e) { let { sourceFile: t, errorCode: r } = e, i = zbe(t, e.span.start, e, r); if (!i) return; let { node: o, suggestedSymbol: s } = i, l = Do(e.host.getCompilationSettings()), f = nr.ChangeTracker.with(e, d => Jbe(d, t, o, s, l)); return [Ma("spelling", f, [_.Change_spelling_to_0, fc(s)], bQ, _.Fix_all_detected_spelling_errors)] }, fixIds: [bQ], getAllCodeActions: e => ns(e, EQ, (t, r) => { let i = zbe(r.file, r.start, e, r.code), o = Do(e.host.getCompilationSettings()); i && Jbe(t, e.sourceFile, i.node, i.suggestedSymbol, o) }) }) } }); function Kbe(e, t, r) { let i = e.createSymbol(4, t.escapedText); i.links.type = e.getTypeAtLocation(r); let o = Ua([i]); return e.createAnonymousType(void 0, o, [], [], []) } function TQ(e, t, r, i) { if (!t.body || !Va(t.body) || Fn(t.body.statements) !== 1) return; let o = Vo(t.body.statements); if (Ol(o) && SQ(e, t, e.getTypeAtLocation(o.expression), r, i)) return { declaration: t, kind: 0, expression: o.expression, statement: o, commentSource: o.expression }; if (J0(o) && Ol(o.statement)) { let s = D.createObjectLiteralExpression([D.createPropertyAssignment(o.label, o.statement.expression)]), l = Kbe(e, o.label, o.statement.expression); if (SQ(e, t, l, r, i)) return xs(t) ? { declaration: t, kind: 1, expression: s, statement: o, commentSource: o.statement.expression } : { declaration: t, kind: 0, expression: s, statement: o, commentSource: o.statement.expression } } else if (Va(o) && Fn(o.statements) === 1) { let s = Vo(o.statements); if (J0(s) && Ol(s.statement)) { let l = D.createObjectLiteralExpression([D.createPropertyAssignment(s.label, s.statement.expression)]), f = Kbe(e, s.label, s.statement.expression); if (SQ(e, t, f, r, i)) return { declaration: t, kind: 0, expression: l, statement: o, commentSource: s } } } } function SQ(e, t, r, i, o) { if (o) { let s = e.getSignatureFromDeclaration(t); if (s) { Mr(t, 512) && (r = e.createPromiseType(r)); let l = e.createSignature(t, s.typeParameters, s.thisParameter, s.parameters, r, void 0, s.minArgumentCount, s.flags); r = e.createAnonymousType(void 0, Ua(), [l], [], []) } else r = e.getAnyType() } return e.isTypeAssignableTo(r, i) } function qbe(e, t, r, i) { let o = Vi(t, r); if (!o.parent) return; let s = jn(o.parent, Ds); switch (i) { case _.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code: return !s || !s.body || !s.type || !Od(s.type, o) ? void 0 : TQ(e, s, e.getTypeFromTypeNode(s.type), !1); case _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code: if (!s || !Pa(s.parent) || !s.body) return; let l = s.parent.arguments.indexOf(s), f = e.getContextualTypeForArgumentAtIndex(s.parent, l); return f ? TQ(e, s, f, !0) : void 0; case _.Type_0_is_not_assignable_to_type_1.code: if (!Rh(o) || !PA(o.parent) && !Sp(o.parent)) return; let d = a5e(o.parent); return !d || !Ds(d) || !d.body ? void 0 : TQ(e, d, e.getTypeAtLocation(o.parent), !0) } } function a5e(e) { switch (e.kind) { case 257: case 166: case 205: case 169: case 299: return e.initializer; case 288: return e.initializer && (AL(e.initializer) ? e.initializer.expression : void 0); case 300: case 168: case 302: case 351: case 344: return } } function Xbe(e, t, r, i) { pd(r); let o = P7(t); e.replaceNode(t, i, D.createReturnStatement(r), { leadingTriviaOption: nr.LeadingTriviaOption.Exclude, trailingTriviaOption: nr.TrailingTriviaOption.Exclude, suffix: o ? ";" : void 0 }) } function Ybe(e, t, r, i, o, s) { let l = s || bY(i) ? D.createParenthesizedExpression(i) : i; pd(o), r1(o, l), e.replaceNode(t, r.body, l) } function $be(e, t, r, i) { e.replaceNode(t, r.body, D.createParenthesizedExpression(i)) } function o5e(e, t, r) { let i = nr.ChangeTracker.with(e, o => Xbe(o, e.sourceFile, t, r)); return Ma(i9, i, _.Add_a_return_statement, a9, _.Add_all_missing_return_statement) } function s5e(e, t, r, i) { let o = nr.ChangeTracker.with(e, s => Ybe(s, e.sourceFile, t, r, i, !1)); return Ma(i9, o, _.Remove_braces_from_arrow_function_body, o9, _.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues) } function c5e(e, t, r) { let i = nr.ChangeTracker.with(e, o => $be(o, e.sourceFile, t, r)); return Ma(i9, i, _.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal, s9, _.Wrap_all_object_literal_with_parentheses) } var i9, a9, o9, s9, xQ, l5e = gt({ "src/services/codefixes/returnValueCorrect.ts"() { "use strict"; Fr(), Qa(), i9 = "returnValueCorrect", a9 = "fixAddReturnStatement", o9 = "fixRemoveBracesFromArrowFunctionBody", s9 = "fixWrapTheBlockWithParen", xQ = [_.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code, _.Type_0_is_not_assignable_to_type_1.code, _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code], za({ errorCodes: xQ, fixIds: [a9, o9, s9], getCodeActions: function (t) { let { program: r, sourceFile: i, span: { start: o }, errorCode: s } = t, l = qbe(r.getTypeChecker(), i, o, s); if (l) return l.kind === 0 ? Sn([o5e(t, l.expression, l.statement)], xs(l.declaration) ? s5e(t, l.declaration, l.expression, l.commentSource) : void 0) : [c5e(t, l.declaration, l.expression)] }, getAllCodeActions: e => ns(e, xQ, (t, r) => { let i = qbe(e.program.getTypeChecker(), r.file, r.start, r.code); if (i) switch (e.fixId) { case a9: Xbe(t, r.file, i.expression, i.statement); break; case o9: if (!xs(i.declaration)) return; Ybe(t, r.file, i.declaration, i.expression, i.commentSource, !1); break; case s9: if (!xs(i.declaration)) return; $be(t, r.file, i.declaration, i.expression); break; default: L.fail(JSON.stringify(e.fixId)) } }) }) } }); function Qbe(e, t, r, i, o) { var s; let l = Vi(e, t), f = l.parent; if (r === _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code) { if (!(l.kind === 18 && rs(f) && Pa(f.parent))) return; let x = Yc(f.parent.arguments, P => P === f); if (x < 0) return; let A = i.getResolvedSignature(f.parent); if (!(A && A.declaration && A.parameters[x])) return; let w = A.parameters[x].valueDeclaration; if (!(w && ha(w) && Re(w.name))) return; let C = lo(i.getUnmatchedProperties(i.getTypeAtLocation(f), i.getParameterType(A, x), !1, !1)); return Fn(C) ? { kind: 3, token: w.name, properties: C, parentDeclaration: f } : void 0 } if (!Ah(l)) return; if (Re(l) && Jy(f) && f.initializer && rs(f.initializer)) { let x = lo(i.getUnmatchedProperties(i.getTypeAtLocation(f.initializer), i.getTypeAtLocation(l), !1, !1)); return Fn(x) ? { kind: 3, token: l, properties: x, parentDeclaration: f.initializer } : void 0 } if (Re(l) && Au(l.parent)) { let x = Do(o.getCompilerOptions()), A = h5e(i, x, l.parent); return Fn(A) ? { kind: 4, token: l, attributes: A, parentDeclaration: l.parent } : void 0 } if (Re(l)) { let x = (s = i.getContextualType(l)) == null ? void 0 : s.getNonNullableType(); if (x && Ur(x) & 16) { let A = Sl(i.getSignaturesOfType(x, 0)); return A === void 0 ? void 0 : { kind: 5, token: l, signature: A, sourceFile: e, parentDeclaration: l0e(l) } } if (Pa(f) && f.expression === l) return { kind: 2, token: l, call: f, sourceFile: e, modifierFlags: 0, parentDeclaration: l0e(l) } } if (!br(f)) return; let d = iY(i.getTypeAtLocation(f.expression)), g = d.symbol; if (!g || !g.declarations) return; if (Re(l) && Pa(f.parent)) { let x = wr(g.declarations, Tc), A = x?.getSourceFile(); if (x && A && !dk(o, A)) return { kind: 2, token: l, call: f.parent, sourceFile: e, modifierFlags: 1, parentDeclaration: x }; let w = wr(g.declarations, Li); if (e.commonJsModuleIndicator) return; if (w && !dk(o, w)) return { kind: 2, token: l, call: f.parent, sourceFile: w, modifierFlags: 1, parentDeclaration: w } } let m = wr(g.declarations, Yr); if (!m && pi(l)) return; let v = m || wr(g.declarations, x => ku(x) || Rd(x)); if (v && !dk(o, v.getSourceFile())) { let x = !Rd(v) && (d.target || d) !== i.getDeclaredTypeOfSymbol(g); if (x && (pi(l) || ku(v))) return; let A = v.getSourceFile(), w = Rd(v) ? 0 : (x ? 32 : 0) | (DY(l.text) ? 8 : 0), C = Cu(A), P = zr(f.parent, Pa); return { kind: 0, token: l, call: P, modifierFlags: w, parentDeclaration: v, declSourceFile: A, isJSFile: C } } let S = wr(g.declarations, hb); if (S && !(d.flags & 1056) && !pi(l) && !dk(o, S.getSourceFile())) return { kind: 1, token: l, parentDeclaration: S } } function u5e(e, t) { return t.isJSFile ? aT(d5e(e, t)) : f5e(e, t) } function d5e(e, { parentDeclaration: t, declSourceFile: r, modifierFlags: i, token: o }) { if (ku(t) || Rd(t)) return; let s = nr.ChangeTracker.with(e, f => Zbe(f, r, t, o, !!(i & 32))); if (s.length === 0) return; let l = i & 32 ? _.Initialize_static_property_0 : pi(o) ? _.Declare_a_private_field_named_0 : _.Initialize_property_0_in_the_constructor; return Ma(Yg, s, [l, o.text], Yg, _.Add_all_missing_members) } function Zbe(e, t, r, i, o) { let s = i.text; if (o) { if (r.kind === 228) return; let l = r.name.getText(), f = e0e(D.createIdentifier(l), s); e.insertNodeAfter(t, r, f) } else if (pi(i)) { let l = D.createPropertyDeclaration(void 0, s, void 0, void 0, void 0), f = r0e(r); f ? e.insertNodeAfter(t, f, l) : e.insertMemberAtStart(t, r, l) } else { let l = Vm(r); if (!l) return; let f = e0e(D.createThis(), s); e.insertNodeAtConstructorEnd(t, l, f) } } function e0e(e, t) { return D.createExpressionStatement(D.createAssignment(D.createPropertyAccessExpression(e, t), c1())) } function f5e(e, { parentDeclaration: t, declSourceFile: r, modifierFlags: i, token: o }) { let s = o.text, l = i & 32, f = t0e(e.program.getTypeChecker(), t, o), d = m => nr.ChangeTracker.with(e, v => n0e(v, r, t, s, f, m)), g = [Ma(Yg, d(i & 32), [l ? _.Declare_static_property_0 : _.Declare_property_0, s], Yg, _.Add_all_missing_members)]; return l || pi(o) || (i & 8 && g.unshift(K_(Yg, d(8), [_.Declare_private_property_0, s])), g.push(_5e(e, r, t, o.text, f))), g } function t0e(e, t, r) { let i; if (r.parent.parent.kind === 223) { let o = r.parent.parent, s = r.parent === o.left ? o.right : o.left, l = e.getWidenedType(e.getBaseTypeOfLiteralType(e.getTypeAtLocation(s))); i = e.typeToTypeNode(l, t, 1) } else { let o = e.getContextualType(r.parent); i = o ? e.typeToTypeNode(o, void 0, 1) : void 0 } return i || D.createKeywordTypeNode(131) } function n0e(e, t, r, i, o, s) { let l = s ? D.createNodeArray(D.createModifiersFromModifierFlags(s)) : void 0, f = Yr(r) ? D.createPropertyDeclaration(l, i, void 0, o, void 0) : D.createPropertySignature(void 0, i, void 0, o), d = r0e(r); d ? e.insertNodeAfter(t, d, f) : e.insertMemberAtStart(t, r, f) } function r0e(e) { let t; for (let r of e.members) { if (!Na(r)) break; t = r } return t } function _5e(e, t, r, i, o) { let s = D.createKeywordTypeNode(152), l = D.createParameterDeclaration(void 0, void 0, "x", void 0, s, void 0), f = D.createIndexSignature(void 0, [l], o), d = nr.ChangeTracker.with(e, g => g.insertMemberAtStart(t, r, f)); return K_(Yg, d, [_.Add_index_signature_for_property_0, i]) } function p5e(e, t) { let { parentDeclaration: r, declSourceFile: i, modifierFlags: o, token: s, call: l } = t; if (l === void 0 || pi(s)) return; let f = s.text, d = m => nr.ChangeTracker.with(e, v => i0e(e, v, l, s, m, r, i)), g = [Ma(Yg, d(o & 32), [o & 32 ? _.Declare_static_method_0 : _.Declare_method_0, f], Yg, _.Add_all_missing_members)]; return o & 8 && g.unshift(K_(Yg, d(8), [_.Declare_private_method_0, f])), g } function i0e(e, t, r, i, o, s, l) { let f = s1(l, e.program, e.preferences, e.host), d = Yr(s) ? 171 : 170, g = sZ(d, e, f, r, i, o, s), m = g5e(s, r); m ? t.insertNodeAfter(l, m, g) : t.insertMemberAtStart(l, s, g), f.writeFixes(t) } function a0e(e, t, { token: r, parentDeclaration: i }) { let o = vt(i.members, l => { let f = t.getTypeAtLocation(l); return !!(f && f.flags & 402653316) }), s = D.createEnumMember(r, o ? D.createStringLiteral(r.text) : void 0); e.replaceNode(i.getSourceFile(), i, D.updateEnumDeclaration(i, i.modifiers, i.name, Qi(i.members, aT(s))), { leadingTriviaOption: nr.LeadingTriviaOption.IncludeAll, trailingTriviaOption: nr.TrailingTriviaOption.Exclude }) } function o0e(e, t, r) { let i = J_(t.sourceFile, t.preferences), o = s1(t.sourceFile, t.program, t.preferences, t.host), s = r.kind === 2 ? sZ(259, t, o, r.call, vr(r.token), r.modifierFlags, r.parentDeclaration) : O9(259, t, i, r.signature, fP(_.Function_not_implemented.message, i), r.token, void 0, void 0, void 0, o); s === void 0 && L.fail("fixMissingFunctionDeclaration codefix got unexpected error."), j_(r.parentDeclaration) ? e.insertNodeBefore(r.sourceFile, r.parentDeclaration, s, !0) : e.insertNodeAtEndOfScope(r.sourceFile, r.parentDeclaration, s), o.writeFixes(e) } function s0e(e, t, r) { let i = s1(t.sourceFile, t.program, t.preferences, t.host), o = J_(t.sourceFile, t.preferences), s = t.program.getTypeChecker(), l = r.parentDeclaration.attributes, f = vt(l.properties, GT), d = on(r.attributes, v => { let S = c9(t, s, i, o, s.getTypeOfSymbol(v), r.parentDeclaration), x = D.createIdentifier(v.name), A = D.createJsxAttribute(x, D.createJsxExpression(void 0, S)); return go(x, A), A }), g = D.createJsxAttributes(f ? [...d, ...l.properties] : [...l.properties, ...d]), m = { prefix: l.pos === l.end ? " " : void 0 }; e.replaceNode(t.sourceFile, l, g, m), i.writeFixes(e) } function c0e(e, t, r) { let i = s1(t.sourceFile, t.program, t.preferences, t.host), o = J_(t.sourceFile, t.preferences), s = Do(t.program.getCompilerOptions()), l = t.program.getTypeChecker(), f = on(r.properties, g => { let m = c9(t, l, i, o, l.getTypeOfSymbol(g), r.parentDeclaration); return D.createPropertyAssignment(y5e(g, s, o, l), m) }), d = { leadingTriviaOption: nr.LeadingTriviaOption.Exclude, trailingTriviaOption: nr.TrailingTriviaOption.Exclude, indentation: r.indentation }; e.replaceNode(t.sourceFile, r.parentDeclaration, D.createObjectLiteralExpression([...r.parentDeclaration.properties, ...f], !0), d), i.writeFixes(e) } function c9(e, t, r, i, o, s) { if (o.flags & 3) return c1(); if (o.flags & 134217732) return D.createStringLiteral("", i === 0); if (o.flags & 8) return D.createNumericLiteral(0); if (o.flags & 64) return D.createBigIntLiteral("0n"); if (o.flags & 16) return D.createFalse(); if (o.flags & 1056) { let l = o.symbol.exports ? u8(o.symbol.exports.values()) : o.symbol, f = t.symbolToExpression(o.symbol.parent ? o.symbol.parent : o.symbol, 111551, void 0, void 0); return l === void 0 || f === void 0 ? D.createNumericLiteral(0) : D.createPropertyAccessExpression(f, t.symbolToString(l)) } if (o.flags & 256) return D.createNumericLiteral(o.value); if (o.flags & 2048) return D.createBigIntLiteral(o.value); if (o.flags & 128) return D.createStringLiteral(o.value, i === 0); if (o.flags & 512) return o === t.getFalseType() || o === t.getFalseType(!0) ? D.createFalse() : D.createTrue(); if (o.flags & 65536) return D.createNull(); if (o.flags & 1048576) { let l = ks(o.types, f => c9(e, t, r, i, f, s)); return l ?? c1() } if (t.isArrayLikeType(o)) return D.createArrayLiteralExpression(); if (m5e(o)) { let l = on(t.getPropertiesOfType(o), f => { let d = c9(e, t, r, i, t.getTypeOfSymbol(f), s); return D.createPropertyAssignment(f.name, d) }); return D.createObjectLiteralExpression(l, !0) } if (Ur(o) & 16) { if (wr(o.symbol.declarations || Je, Kp(Jm, zm, Nc)) === void 0) return c1(); let f = t.getSignaturesOfType(o, 0); if (f === void 0) return c1(); let d = O9(215, e, i, f[0], fP(_.Function_not_implemented.message, i), void 0, void 0, void 0, s, r); return d ?? c1() } if (Ur(o) & 1) { let l = Nh(o.symbol); if (l === void 0 || B0(l)) return c1(); let f = Vm(l); return f && Fn(f.parameters) ? c1() : D.createNewExpression(D.createIdentifier(o.symbol.name), void 0, void 0) } return c1() } function c1() { return D.createIdentifier("undefined") } function m5e(e) { return e.flags & 524288 && (Ur(e) & 128 || e.symbol && zr(Wp(e.symbol.declarations), Rd)) } function h5e(e, t, r) { let i = e.getContextualType(r.attributes); if (i === void 0) return Je; let o = i.getProperties(); if (!Fn(o)) return Je; let s = new Set; for (let l of r.attributes.properties) if (Sp(l) && s.add(l.name.escapedText), GT(l)) { let f = e.getTypeAtLocation(l.expression); for (let d of f.getProperties()) s.add(d.escapedName) } return Pr(o, l => i_(l.name, t, 1) && !(l.flags & 16777216 || ac(l) & 48 || s.has(l.escapedName))) } function g5e(e, t) { if (Rd(e)) return; let r = jn(t, i => Nc(i) || Ec(i)); return r && r.parent === e ? r : void 0 } function y5e(e, t, r, i) { if (Zp(e)) { let o = i.symbolToNode(e, 111551, void 0, 1073741824); if (o && ts(o)) return o } return E4(e.name, t, r === 0) } function l0e(e) { if (jn(e, AL)) { let t = jn(e.parent, j_); if (t) return t } return Gn(e) } var Yg, oP, sP, cP, AQ, v5e = gt({ "src/services/codefixes/fixAddMissingMember.ts"() { "use strict"; Fr(), Qa(), Yg = "fixMissingMember", oP = "fixMissingProperties", sP = "fixMissingAttributes", cP = "fixMissingFunctionDeclaration", AQ = [_.Property_0_does_not_exist_on_type_1.code, _.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code, _.Property_0_is_missing_in_type_1_but_required_in_type_2.code, _.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code, _.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code, _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code, _.Cannot_find_name_0.code], za({ errorCodes: AQ, getCodeActions(e) { let t = e.program.getTypeChecker(), r = Qbe(e.sourceFile, e.span.start, e.errorCode, t, e.program); if (r) { if (r.kind === 3) { let i = nr.ChangeTracker.with(e, o => c0e(o, e, r)); return [Ma(oP, i, _.Add_missing_properties, oP, _.Add_all_missing_properties)] } if (r.kind === 4) { let i = nr.ChangeTracker.with(e, o => s0e(o, e, r)); return [Ma(sP, i, _.Add_missing_attributes, sP, _.Add_all_missing_attributes)] } if (r.kind === 2 || r.kind === 5) { let i = nr.ChangeTracker.with(e, o => o0e(o, e, r)); return [Ma(cP, i, [_.Add_missing_function_declaration_0, r.token.text], cP, _.Add_all_missing_function_declarations)] } if (r.kind === 1) { let i = nr.ChangeTracker.with(e, o => a0e(o, e.program.getTypeChecker(), r)); return [Ma(Yg, i, [_.Add_missing_enum_member_0, r.token.text], Yg, _.Add_all_missing_members)] } return Qi(p5e(e, r), u5e(e, r)) } }, fixIds: [Yg, cP, oP, sP], getAllCodeActions: e => { let { program: t, fixId: r } = e, i = t.getTypeChecker(), o = new Map, s = new Map; return ix(nr.ChangeTracker.with(e, l => { ax(e, AQ, f => { let d = Qbe(f.file, f.start, f.code, i, e.program); if (!(!d || !V_(o, zo(d.parentDeclaration) + "#" + d.token.text))) { if (r === cP && (d.kind === 2 || d.kind === 5)) o0e(l, e, d); else if (r === oP && d.kind === 3) c0e(l, e, d); else if (r === sP && d.kind === 4) s0e(l, e, d); else if (d.kind === 1 && a0e(l, i, d), d.kind === 0) { let { parentDeclaration: g, token: m } = d, v = VD(s, g, () => []); v.some(S => S.token.text === m.text) || v.push(d) } } }), s.forEach((f, d) => { let g = Rd(d) ? void 0 : mZ(d, i); for (let m of f) { if (g?.some(P => { let F = s.get(P); return !!F && F.some(({ token: B }) => B.text === m.token.text) })) continue; let { parentDeclaration: v, declSourceFile: S, modifierFlags: x, token: A, call: w, isJSFile: C } = m; if (w && !pi(A)) i0e(e, l, w, A, x & 32, v, S); else if (C && !ku(v) && !Rd(v)) Zbe(l, S, v, A, !!(x & 32)); else { let P = t0e(i, v, A); n0e(l, S, v, A.text, P, x & 32) } } }) })) } }) } }); function u0e(e, t, r) { let i = Ga(b5e(t, r), Pa), o = D.createNewExpression(i.expression, i.typeArguments, i.arguments); e.replaceNode(t, i, o) } function b5e(e, t) { let r = Vi(e, t.start), i = wl(t); for (; r.end < i;)r = r.parent; return r } var l9, CQ, E5e = gt({ "src/services/codefixes/fixAddMissingNewOperator.ts"() { "use strict"; Fr(), Qa(), l9 = "addMissingNewOperator", CQ = [_.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code], za({ errorCodes: CQ, getCodeActions(e) { let { sourceFile: t, span: r } = e, i = nr.ChangeTracker.with(e, o => u0e(o, t, r)); return [Ma(l9, i, _.Add_missing_new_operator_to_call, l9, _.Add_missing_new_operator_to_all_calls)] }, fixIds: [l9], getAllCodeActions: e => ns(e, CQ, (t, r) => u0e(t, e.sourceFile, r)) }) } }); function d0e(e, t) { return { type: "install package", file: e, packageName: t } } function f0e(e, t) { let r = zr(Vi(e, t), yo); if (!r) return; let i = r.text, { packageName: o } = ZJ(i); return fl(o) ? void 0 : o } function _0e(e, t, r) { var i; return r === IQ ? QT.nodeCoreModules.has(e) ? "@types/node" : void 0 : (i = t.isKnownTypesPackageName) != null && i.call(t, e) ? rF(e) : void 0 } var p0e, u9, IQ, LQ, T5e = gt({ "src/services/codefixes/fixCannotFindModule.ts"() { "use strict"; Fr(), Qa(), p0e = "fixCannotFindModule", u9 = "installTypesPackage", IQ = _.Cannot_find_module_0_or_its_corresponding_type_declarations.code, LQ = [IQ, _.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code], za({ errorCodes: LQ, getCodeActions: function (t) { let { host: r, sourceFile: i, span: { start: o } } = t, s = f0e(i, o); if (s === void 0) return; let l = _0e(s, r, t.errorCode); return l === void 0 ? [] : [Ma(p0e, [], [_.Install_0, l], u9, _.Install_all_missing_types_packages, d0e(i.fileName, l))] }, fixIds: [u9], getAllCodeActions: e => ns(e, LQ, (t, r, i) => { let o = f0e(r.file, r.start); if (o !== void 0) switch (e.fixId) { case u9: { let s = _0e(o, e.host, r.code); s && i.push(d0e(r.file.fileName, s)); break } default: L.fail(`Bad fixId: ${e.fixId}`) } }) }) } }); function m0e(e, t) { let r = Vi(e, t); return Ga(r.parent, Yr) } function h0e(e, t, r, i, o) { let s = hp(e), l = r.program.getTypeChecker(), f = l.getTypeAtLocation(s), d = l.getPropertiesOfType(f).filter(S5e), g = s1(t, r.program, o, r.host); oZ(e, d, t, r, o, g, m => i.insertMemberAtStart(t, e, m)), g.writeFixes(i) } function S5e(e) { let t = Yy(Vo(e.getDeclarations())); return !(t & 8) && !!(t & 256) } var kQ, d9, x5e = gt({ "src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts"() { "use strict"; Fr(), Qa(), kQ = [_.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code, _.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code], d9 = "fixClassDoesntImplementInheritedAbstractMember", za({ errorCodes: kQ, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = nr.ChangeTracker.with(t, s => h0e(m0e(r, i.start), r, t, s, t.preferences)); return o.length === 0 ? void 0 : [Ma(d9, o, _.Implement_inherited_abstract_class, d9, _.Implement_all_inherited_abstract_classes)] }, fixIds: [d9], getAllCodeActions: function (t) { let r = new Map; return ns(t, kQ, (i, o) => { let s = m0e(o.file, o.start); V_(r, zo(s)) && h0e(s, t.sourceFile, t, i, t.preferences) }) } }) } }); function g0e(e, t, r, i) { e.insertNodeAtConstructorStart(t, r, i), e.delete(t, i) } function y0e(e, t) { let r = Vi(e, t); if (r.kind !== 108) return; let i = Xd(r), o = v0e(i.body); return o && !o.expression.arguments.some(s => br(s) && s.expression === r) ? { constructor: i, superCall: o } : void 0 } function v0e(e) { return Ol(e) && OA(e.expression) ? e : Ia(e) ? void 0 : pa(e, v0e) } var f9, DQ, A5e = gt({ "src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts"() { "use strict"; Fr(), Qa(), f9 = "classSuperMustPrecedeThisAccess", DQ = [_.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code], za({ errorCodes: DQ, getCodeActions(e) { let { sourceFile: t, span: r } = e, i = y0e(t, r.start); if (!i) return; let { constructor: o, superCall: s } = i, l = nr.ChangeTracker.with(e, f => g0e(f, t, o, s)); return [Ma(f9, l, _.Make_super_call_the_first_statement_in_the_constructor, f9, _.Make_all_super_calls_the_first_statement_in_their_constructor)] }, fixIds: [f9], getAllCodeActions(e) { let { sourceFile: t } = e, r = new Map; return ns(e, DQ, (i, o) => { let s = y0e(o.file, o.start); if (!s) return; let { constructor: l, superCall: f } = s; V_(r, zo(l.parent)) && g0e(i, t, l, f) }) } }) } }); function b0e(e, t) { let r = Vi(e, t); return L.assert(Ec(r.parent), "token should be at the constructor declaration"), r.parent } function E0e(e, t, r) { let i = D.createExpressionStatement(D.createCallExpression(D.createSuper(), void 0, Je)); e.insertNodeAtConstructorStart(t, r, i) } var _9, wQ, C5e = gt({ "src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts"() { "use strict"; Fr(), Qa(), _9 = "constructorForDerivedNeedSuperCall", wQ = [_.Constructors_for_derived_classes_must_contain_a_super_call.code], za({ errorCodes: wQ, getCodeActions(e) { let { sourceFile: t, span: r } = e, i = b0e(t, r.start), o = nr.ChangeTracker.with(e, s => E0e(s, t, i)); return [Ma(_9, o, _.Add_missing_super_call, _9, _.Add_all_missing_super_calls)] }, fixIds: [_9], getAllCodeActions: e => ns(e, wQ, (t, r) => E0e(t, e.sourceFile, b0e(r.file, r.start))) }) } }); function T0e(e, t) { dZ(e, t, "jsx", D.createStringLiteral("react")) } var RQ, OQ, I5e = gt({ "src/services/codefixes/fixEnableJsxFlag.ts"() { "use strict"; Fr(), Qa(), RQ = "fixEnableJsxFlag", OQ = [_.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code], za({ errorCodes: OQ, getCodeActions: function (t) { let { configFile: r } = t.program.getCompilerOptions(); if (r === void 0) return; let i = nr.ChangeTracker.with(t, o => T0e(o, r)); return [K_(RQ, i, _.Enable_the_jsx_flag_in_your_configuration_file)] }, fixIds: [RQ], getAllCodeActions: e => ns(e, OQ, t => { let { configFile: r } = e.program.getCompilerOptions(); r !== void 0 && T0e(t, r) }) }) } }); function S0e(e, t, r) { let i = wr(e.getSemanticDiagnostics(t), l => l.start === r.start && l.length === r.length); if (i === void 0 || i.relatedInformation === void 0) return; let o = wr(i.relatedInformation, l => l.code === _.Did_you_mean_0.code); if (o === void 0 || o.file === void 0 || o.start === void 0 || o.length === void 0) return; let s = _Z(o.file, il(o.start, o.length)); if (s !== void 0 && ot(s) && ar(s.parent)) return { suggestion: L5e(o.messageText), expression: s.parent, arg: s } } function x0e(e, t, r, i) { let o = D.createCallExpression(D.createPropertyAccessExpression(D.createIdentifier("Number"), D.createIdentifier("isNaN")), void 0, [r]), s = i.operatorToken.kind; e.replaceNode(t, i, s === 37 || s === 35 ? D.createPrefixUnaryExpression(53, o) : o) } function L5e(e) {
-                let [t, r] = sv(e, `
-`, 0).match(/\'(.*)\'/) || []; return r
-            } var p9, NQ, k5e = gt({ "src/services/codefixes/fixNaNEquality.ts"() { "use strict"; Fr(), Qa(), p9 = "fixNaNEquality", NQ = [_.This_condition_will_always_return_0.code], za({ errorCodes: NQ, getCodeActions(e) { let { sourceFile: t, span: r, program: i } = e, o = S0e(i, t, r); if (o === void 0) return; let { suggestion: s, expression: l, arg: f } = o, d = nr.ChangeTracker.with(e, g => x0e(g, t, f, l)); return [Ma(p9, d, [_.Use_0, s], p9, _.Use_Number_isNaN_in_all_conditions)] }, fixIds: [p9], getAllCodeActions: e => ns(e, NQ, (t, r) => { let i = S0e(e.program, r.file, il(r.start, r.length)); i && x0e(t, r.file, i.arg, i.expression) }) }) } }), D5e = gt({ "src/services/codefixes/fixModuleAndTargetOptions.ts"() { "use strict"; Fr(), Qa(), za({ errorCodes: [_.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, _.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code], getCodeActions: function (t) { let r = t.program.getCompilerOptions(), { configFile: i } = r; if (i === void 0) return; let o = [], s = Rl(r); if (s >= 5 && s < 99) { let g = nr.ChangeTracker.with(t, m => { dZ(m, i, "module", D.createStringLiteral("esnext")) }); o.push(K_("fixModuleOption", g, [_.Set_the_module_option_in_your_configuration_file_to_0, "esnext"])) } let f = Do(r); if (f < 4 || f > 99) { let g = nr.ChangeTracker.with(t, m => { if (!LI(i)) return; let S = [["target", D.createStringLiteral("es2017")]]; s === 1 && S.push(["module", D.createStringLiteral("commonjs")]), uZ(m, i, S) }); o.push(K_("fixTargetOption", g, [_.Set_the_target_option_in_your_configuration_file_to_0, "es2017"])) } return o.length ? o : void 0 } }) } }); function A0e(e, t, r) { e.replaceNode(t, r, D.createPropertyAssignment(r.name, r.objectAssignmentInitializer)) } function C0e(e, t) { return Ga(Vi(e, t).parent, xf) } var m9, PQ, w5e = gt({ "src/services/codefixes/fixPropertyAssignment.ts"() { "use strict"; Fr(), Qa(), m9 = "fixPropertyAssignment", PQ = [_.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code], za({ errorCodes: PQ, fixIds: [m9], getCodeActions(e) { let { sourceFile: t, span: r } = e, i = C0e(t, r.start), o = nr.ChangeTracker.with(e, s => A0e(s, e.sourceFile, i)); return [Ma(m9, o, [_.Change_0_to_1, "=", ":"], m9, [_.Switch_each_misused_0_to_1, "=", ":"])] }, getAllCodeActions: e => ns(e, PQ, (t, r) => A0e(t, r.file, C0e(r.file, r.start))) }) } }); function I0e(e, t) { let r = Vi(e, t), i = Zc(r).heritageClauses, o = i[0].getFirstToken(); return o.kind === 94 ? { extendsToken: o, heritageClauses: i } : void 0 } function L0e(e, t, r, i) { if (e.replaceNode(t, r, D.createToken(117)), i.length === 2 && i[0].token === 94 && i[1].token === 117) { let o = i[1].getFirstToken(), s = o.getFullStart(); e.replaceRange(t, { pos: s, end: s }, D.createToken(27)); let l = t.text, f = o.end; for (; f < l.length && Yp(l.charCodeAt(f));)f++; e.deleteRange(t, { pos: o.getStart(), end: f }) } } var h9, MQ, R5e = gt({ "src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts"() { "use strict"; Fr(), Qa(), h9 = "extendsInterfaceBecomesImplements", MQ = [_.Cannot_extend_an_interface_0_Did_you_mean_implements.code], za({ errorCodes: MQ, getCodeActions(e) { let { sourceFile: t } = e, r = I0e(t, e.span.start); if (!r) return; let { extendsToken: i, heritageClauses: o } = r, s = nr.ChangeTracker.with(e, l => L0e(l, t, i, o)); return [Ma(h9, s, _.Change_extends_to_implements, h9, _.Change_all_extended_interfaces_to_implements)] }, fixIds: [h9], getAllCodeActions: e => ns(e, MQ, (t, r) => { let i = I0e(r.file, r.start); i && L0e(t, r.file, i.extendsToken, i.heritageClauses) }) }) } }); function k0e(e, t, r) { let i = Vi(e, t); if (Re(i) || pi(i)) return { node: i, className: r === FQ ? Zc(i).name.text : void 0 } } function D0e(e, t, { node: r, className: i }) { pd(r), e.replaceNode(t, r, D.createPropertyAccessExpression(i ? D.createIdentifier(i) : D.createThis(), r)) } var g9, FQ, GQ, O5e = gt({ "src/services/codefixes/fixForgottenThisPropertyAccess.ts"() { "use strict"; Fr(), Qa(), g9 = "forgottenThisPropertyAccess", FQ = _.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code, GQ = [_.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code, _.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code, FQ], za({ errorCodes: GQ, getCodeActions(e) { let { sourceFile: t } = e, r = k0e(t, e.span.start, e.errorCode); if (!r) return; let i = nr.ChangeTracker.with(e, o => D0e(o, t, r)); return [Ma(g9, i, [_.Add_0_to_unresolved_variable, r.className || "this"], g9, _.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)] }, fixIds: [g9], getAllCodeActions: e => ns(e, GQ, (t, r) => { let i = k0e(r.file, r.start, r.code); i && D0e(t, e.sourceFile, i) }) }) } }); function N5e(e) { return fs(VQ, e) } function BQ(e, t, r, i, o) { let s = r.getText()[i]; if (!N5e(s)) return; let l = o ? VQ[s] : `{${ck(r, t, s)}}`; e.replaceRangeWithText(r, { pos: i, end: i + 1 }, l) } var y9, lP, UQ, VQ, P5e = gt({ "src/services/codefixes/fixInvalidJsxCharacters.ts"() { "use strict"; Fr(), Qa(), y9 = "fixInvalidJsxCharacters_expression", lP = "fixInvalidJsxCharacters_htmlEntity", UQ = [_.Unexpected_token_Did_you_mean_or_gt.code, _.Unexpected_token_Did_you_mean_or_rbrace.code], za({ errorCodes: UQ, fixIds: [y9, lP], getCodeActions(e) { let { sourceFile: t, preferences: r, span: i } = e, o = nr.ChangeTracker.with(e, l => BQ(l, r, t, i.start, !1)), s = nr.ChangeTracker.with(e, l => BQ(l, r, t, i.start, !0)); return [Ma(y9, o, _.Wrap_invalid_character_in_an_expression_container, y9, _.Wrap_all_invalid_characters_in_an_expression_container), Ma(lP, s, _.Convert_invalid_character_to_its_html_entity_code, lP, _.Convert_all_invalid_characters_to_HTML_entity_code)] }, getAllCodeActions(e) { return ns(e, UQ, (t, r) => BQ(t, e.preferences, r.file, r.start, e.fixId === lP)) } }), VQ = { ">": "&gt;", "}": "&rbrace;" } } }); function M5e(e, { name: t, jsDocHost: r, jsDocParameterTag: i }) { let o = nr.ChangeTracker.with(e, s => s.filterJSDocTags(e.sourceFile, r, l => l !== i)); return Ma(uP, o, [_.Delete_unused_param_tag_0, t.getText(e.sourceFile)], uP, _.Delete_all_unused_param_tags) } function F5e(e, { name: t, jsDocHost: r, signature: i, jsDocParameterTag: o }) { if (!Fn(i.parameters)) return; let s = e.sourceFile, l = A0(i), f = new Set; for (let v of l) xp(v) && Re(v.name) && f.add(v.name.escapedText); let d = ks(i.parameters, v => Re(v.name) && !f.has(v.name.escapedText) ? v.name.getText(s) : void 0); if (d === void 0) return; let g = D.updateJSDocParameterTag(o, o.tagName, D.createIdentifier(d), o.isBracketed, o.typeExpression, o.isNameFirst, o.comment), m = nr.ChangeTracker.with(e, v => v.replaceJSDocComment(s, r, on(l, S => S === o ? g : S))); return K_(jQ, m, [_.Rename_param_tag_name_0_to_1, t.getText(s), d]) } function w0e(e, t) { let r = Vi(e, t); if (r.parent && xp(r.parent) && Re(r.parent.name)) { let i = r.parent, o = dS(i), s = sb(i); if (o && s) return { jsDocHost: o, signature: s, name: r.parent.name, jsDocParameterTag: i } } } var uP, jQ, HQ, G5e = gt({ "src/services/codefixes/fixUnmatchedParameter.ts"() { "use strict"; Fr(), Qa(), uP = "deleteUnmatchedParameter", jQ = "renameUnmatchedParameter", HQ = [_.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code], za({ fixIds: [uP, jQ], errorCodes: HQ, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = [], s = w0e(r, i.start); if (s) return Sn(o, M5e(t, s)), Sn(o, F5e(t, s)), o }, getAllCodeActions: function (t) { let r = new Map; return ix(nr.ChangeTracker.with(t, i => { ax(t, HQ, ({ file: o, start: s }) => { let l = w0e(o, s); l && r.set(l.signature, Sn(r.get(l.signature), l.jsDocParameterTag)) }), r.forEach((o, s) => { if (t.fixId === uP) { let l = new Set(o); i.filterJSDocTags(s.getSourceFile(), s, f => !l.has(f)) } }) })) } }) } }); function B5e(e, t, r) { let i = zr(Vi(e, r), Re); if (!i || i.parent.kind !== 180) return; let s = t.getTypeChecker().getSymbolAtLocation(i); return wr(s?.declarations || Je, Kp(lm, $u, Nl)) } function U5e(e, t, r, i) { if (r.kind === 268) { e.insertModifierBefore(t, 154, r.name); return } let o = r.kind === 270 ? r : r.parent.parent; if (o.name && o.namedBindings) return; let s = i.getTypeChecker(); z6(o, f => { if (wd(f.symbol, s).flags & 111551) return !0 }) || e.insertModifierBefore(t, 154, o) } function V5e(e, t, r, i) { Ok.doChangeNamedToNamespaceOrDefault(t, i, e, r.parent) } var v9, R0e, j5e = gt({ "src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts"() { "use strict"; Fr(), Qa(), v9 = "fixUnreferenceableDecoratorMetadata", R0e = [_.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code], za({ errorCodes: R0e, getCodeActions: e => { let t = B5e(e.sourceFile, e.program, e.span.start); if (!t) return; let r = nr.ChangeTracker.with(e, s => t.kind === 273 && V5e(s, e.sourceFile, t, e.program)), i = nr.ChangeTracker.with(e, s => U5e(s, e.sourceFile, t, e.program)), o; return r.length && (o = Sn(o, K_(v9, r, _.Convert_named_imports_to_namespace_import))), i.length && (o = Sn(o, K_(v9, i, _.Convert_to_type_only_import))), o }, fixIds: [v9] }) } }); function O0e(e, t, r) { e.replaceNode(t, r.parent, D.createKeywordTypeNode(157)) } function vk(e, t) { return Ma(bk, e, t, T9, _.Delete_all_unused_declarations) } function N0e(e, t, r) { e.delete(t, L.checkDefined(Ga(r.parent, hH).typeParameters, "The type parameter to delete should exist")) } function WQ(e) { return e.kind === 100 || e.kind === 79 && (e.parent.kind === 273 || e.parent.kind === 270) } function P0e(e) { return e.kind === 100 ? zr(e.parent, gl) : void 0 } function M0e(e, t) { return pu(t.parent) && Vo(t.parent.getChildren(e)) === t } function F0e(e, t, r) { e.delete(t, r.parent.kind === 240 ? r.parent : r) } function H5e(e, t, r) { mn(r.elements, i => e.delete(t, i)) } function G0e(e, t, r, i) { t !== _.Property_0_is_declared_but_its_value_is_never_read.code && (i.kind === 138 && (i = Ga(i.parent, h2).typeParameter.name), Re(i) && W5e(i) && (e.replaceNode(r, i, D.createIdentifier(`_${i.text}`)), ha(i.parent) && fI(i.parent).forEach(o => { Re(o.name) && e.replaceNode(r, o.name, D.createIdentifier(`_${o.name.text}`)) }))) } function W5e(e) { switch (e.parent.kind) { case 166: case 165: return !0; case 257: switch (e.parent.parent.parent.kind) { case 247: case 246: return !0 } }return !1 } function b9(e, t, r, i, o, s, l, f) { z5e(t, r, e, i, o, s, l, f), Re(t) && js.Core.eachSymbolReferenceInFile(t, i, e, d => { br(d.parent) && d.parent.name === d && (d = d.parent), !f && X5e(d) && r.delete(e, d.parent.parent) }) } function z5e(e, t, r, i, o, s, l, f) { let { parent: d } = e; if (ha(d)) J5e(t, r, d, i, o, s, l, f); else if (!(f && Re(e) && js.Core.isSymbolReferencedInFile(e, i, r))) { let g = lm(d) ? e : ts(d) ? d.parent : d; L.assert(g !== r, "should not delete whole source file"), t.delete(r, g) } } function J5e(e, t, r, i, o, s, l, f = !1) { if (K5e(i, t, r, o, s, l, f)) if (r.modifiers && r.modifiers.length > 0 && (!Re(r.name) || js.Core.isSymbolReferencedInFile(r.name, i, t))) for (let d of r.modifiers) Ha(d) && e.deleteModifier(t, d); else !r.initializer && B0e(r, i, o) && e.delete(t, r) } function B0e(e, t, r) { let i = e.parent.parameters.indexOf(e); return !js.Core.someSignatureUsage(e.parent, r, t, (o, s) => !s || s.arguments.length > i) } function K5e(e, t, r, i, o, s, l) { let { parent: f } = r; switch (f.kind) { case 171: case 173: let d = f.parameters.indexOf(r), g = Nc(f) ? f.name : f, m = js.Core.getReferencedSymbolsForNode(f.pos, g, o, i, s); if (m) { for (let v of m) for (let S of v.references) if (S.kind === js.EntryKind.Node) { let x = hL(S.node) && Pa(S.node.parent) && S.node.parent.arguments.length > d, A = br(S.node.parent) && hL(S.node.parent.expression) && Pa(S.node.parent.parent) && S.node.parent.parent.arguments.length > d, w = (Nc(S.node.parent) || zm(S.node.parent)) && S.node.parent !== r.parent && S.node.parent.parameters.length > d; if (x || A || w) return !1 } } return !0; case 259: return f.name && q5e(e, t, f.name) ? U0e(f, r, l) : !0; case 215: case 216: return U0e(f, r, l); case 175: return !1; case 174: return !0; default: return L.failBadSyntaxKind(f) } } function q5e(e, t, r) { return !!js.Core.eachSymbolReferenceInFile(r, e, t, i => Re(i) && Pa(i.parent) && i.parent.arguments.indexOf(i) >= 0) } function U0e(e, t, r) { let i = e.parameters, o = i.indexOf(t); return L.assert(o !== -1, "The parameter should already be in the list"), r ? i.slice(o + 1).every(s => Re(s.name) && !s.symbol.isReferenced) : o === i.length - 1 } function X5e(e) { return (ar(e.parent) && e.parent.left === e || (Nz(e.parent) || tv(e.parent)) && e.parent.operand === e) && Ol(e.parent.parent) } var bk, E9, T9, dP, S9, zQ, Y5e = gt({ "src/services/codefixes/fixUnusedIdentifier.ts"() { "use strict"; Fr(), Qa(), bk = "unusedIdentifier", E9 = "unusedIdentifier_prefix", T9 = "unusedIdentifier_delete", dP = "unusedIdentifier_deleteImports", S9 = "unusedIdentifier_infer", zQ = [_._0_is_declared_but_its_value_is_never_read.code, _._0_is_declared_but_never_used.code, _.Property_0_is_declared_but_its_value_is_never_read.code, _.All_imports_in_import_declaration_are_unused.code, _.All_destructured_elements_are_unused.code, _.All_variables_are_unused.code, _.All_type_parameters_are_unused.code], za({ errorCodes: zQ, getCodeActions(e) { let { errorCode: t, sourceFile: r, program: i, cancellationToken: o } = e, s = i.getTypeChecker(), l = i.getSourceFiles(), f = Vi(r, e.span.start); if (H_(f)) return [vk(nr.ChangeTracker.with(e, v => v.delete(r, f)), _.Remove_template_tag)]; if (f.kind === 29) { let v = nr.ChangeTracker.with(e, S => N0e(S, r, f)); return [vk(v, _.Remove_type_parameters)] } let d = P0e(f); if (d) { let v = nr.ChangeTracker.with(e, S => S.delete(r, d)); return [Ma(bk, v, [_.Remove_import_from_0, lle(d)], dP, _.Delete_all_unused_imports)] } else if (WQ(f)) { let v = nr.ChangeTracker.with(e, S => b9(r, f, S, s, l, i, o, !1)); if (v.length) return [Ma(bk, v, [_.Remove_unused_declaration_for_Colon_0, f.getText(r)], dP, _.Delete_all_unused_imports)] } if (cm(f.parent) || g2(f.parent)) { if (ha(f.parent.parent)) { let v = f.parent.elements, S = [v.length > 1 ? _.Remove_unused_declarations_for_Colon_0 : _.Remove_unused_declaration_for_Colon_0, on(v, x => x.getText(r)).join(", ")]; return [vk(nr.ChangeTracker.with(e, x => H5e(x, r, f.parent)), S)] } return [vk(nr.ChangeTracker.with(e, v => v.delete(r, f.parent.parent)), _.Remove_unused_destructuring_declaration)] } if (M0e(r, f)) return [vk(nr.ChangeTracker.with(e, v => F0e(v, r, f.parent)), _.Remove_variable_statement)]; let g = []; if (f.kind === 138) { let v = nr.ChangeTracker.with(e, x => O0e(x, r, f)), S = Ga(f.parent, h2).typeParameter.name.text; g.push(Ma(bk, v, [_.Replace_infer_0_with_unknown, S], S9, _.Replace_all_unused_infer_with_unknown)) } else { let v = nr.ChangeTracker.with(e, S => b9(r, f, S, s, l, i, o, !1)); if (v.length) { let S = ts(f.parent) ? f.parent : f; g.push(vk(v, [_.Remove_unused_declaration_for_Colon_0, S.getText(r)])) } } let m = nr.ChangeTracker.with(e, v => G0e(v, t, r, f)); return m.length && g.push(Ma(bk, m, [_.Prefix_0_with_an_underscore, f.getText(r)], E9, _.Prefix_all_unused_declarations_with_where_possible)), g }, fixIds: [E9, T9, dP, S9], getAllCodeActions: e => { let { sourceFile: t, program: r, cancellationToken: i } = e, o = r.getTypeChecker(), s = r.getSourceFiles(); return ns(e, zQ, (l, f) => { let d = Vi(t, f.start); switch (e.fixId) { case E9: G0e(l, f.code, t, d); break; case dP: { let g = P0e(d); g ? l.delete(t, g) : WQ(d) && b9(t, d, l, o, s, r, i, !0); break } case T9: { if (d.kind === 138 || WQ(d)) break; if (H_(d)) l.delete(t, d); else if (d.kind === 29) N0e(l, t, d); else if (cm(d.parent)) { if (d.parent.parent.initializer) break; (!ha(d.parent.parent) || B0e(d.parent.parent, o, s)) && l.delete(t, d.parent.parent) } else { if (g2(d.parent.parent) && d.parent.parent.parent.initializer) break; M0e(t, d) ? F0e(l, t, d.parent) : b9(t, d, l, o, s, r, i, !0) } break } case S9: d.kind === 138 && O0e(l, t, d); break; default: L.fail(JSON.stringify(e.fixId)) } }) } }) } }); function V0e(e, t, r, i, o) { let s = Vi(t, r), l = jn(s, ca); if (l.getStart(t) !== s.getStart(t)) { let d = JSON.stringify({ statementKind: L.formatSyntaxKind(l.kind), tokenKind: L.formatSyntaxKind(s.kind), errorCode: o, start: r, length: i }); L.fail("Token and statement should start at the same point. " + d) } let f = (Va(l.parent) ? l.parent : l).parent; if (!Va(l.parent) || l === Vo(l.parent.statements)) switch (f.kind) { case 242: if (f.elseStatement) { if (Va(l.parent)) break; e.replaceNode(t, l, D.createBlock(Je)); return } case 244: case 245: e.delete(t, f); return }if (Va(l.parent)) { let d = r + i, g = L.checkDefined($5e(PW(l.parent.statements, l), m => m.pos < d), "Some statement should be last"); e.deleteNodeRange(t, l, g) } else e.delete(t, l) } function $5e(e, t) { let r; for (let i of e) { if (!t(i)) break; r = i } return r } var x9, JQ, Q5e = gt({ "src/services/codefixes/fixUnreachableCode.ts"() { "use strict"; Fr(), Qa(), x9 = "fixUnreachableCode", JQ = [_.Unreachable_code_detected.code], za({ errorCodes: JQ, getCodeActions(e) { if (e.program.getSyntacticDiagnostics(e.sourceFile, e.cancellationToken).length) return; let r = nr.ChangeTracker.with(e, i => V0e(i, e.sourceFile, e.span.start, e.span.length, e.errorCode)); return [Ma(x9, r, _.Remove_unreachable_code, x9, _.Remove_all_unreachable_code)] }, fixIds: [x9], getAllCodeActions: e => ns(e, JQ, (t, r) => V0e(t, r.file, r.start, r.length, r.code)) }) } }); function j0e(e, t, r) { let i = Vi(t, r), o = Ga(i.parent, J0), s = i.getStart(t), l = o.statement.getStart(t), f = Bf(s, l, t) ? l : xo(t.text, Yo(o, 58, t).end, !0); e.deleteRange(t, { pos: s, end: f }) } var A9, KQ, Z5e = gt({ "src/services/codefixes/fixUnusedLabel.ts"() { "use strict"; Fr(), Qa(), A9 = "fixUnusedLabel", KQ = [_.Unused_label.code], za({ errorCodes: KQ, getCodeActions(e) { let t = nr.ChangeTracker.with(e, r => j0e(r, e.sourceFile, e.span.start)); return [Ma(A9, t, _.Remove_unused_label, A9, _.Remove_all_unused_labels)] }, fixIds: [A9], getAllCodeActions: e => ns(e, KQ, (t, r) => j0e(t, r.file, r.start)) }) } }); function H0e(e, t, r, i, o) { e.replaceNode(t, r, o.typeToTypeNode(i, r, void 0)) } function W0e(e, t, r) { let i = jn(Vi(e, t), e9e), o = i && i.type; return o && { typeNode: o, type: t9e(r, o) } } function e9e(e) { switch (e.kind) { case 231: case 176: case 177: case 259: case 174: case 178: case 197: case 171: case 170: case 166: case 169: case 168: case 175: case 262: case 213: case 257: return !0; default: return !1 } } function t9e(e, t) { if (T2(t)) { let r = e.getTypeFromTypeNode(t.type); return r === e.getNeverType() || r === e.getVoidType() ? r : e.getUnionType(Sn([r, e.getUndefinedType()], t.postfix ? void 0 : e.getNullType())) } return e.getTypeFromTypeNode(t) } var qQ, C9, XQ, n9e = gt({ "src/services/codefixes/fixJSDocTypes.ts"() { "use strict"; Fr(), Qa(), qQ = "fixJSDocTypes_plain", C9 = "fixJSDocTypes_nullable", XQ = [_.JSDoc_types_can_only_be_used_inside_documentation_comments.code, _._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code, _._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code], za({ errorCodes: XQ, getCodeActions(e) { let { sourceFile: t } = e, r = e.program.getTypeChecker(), i = W0e(t, e.span.start, r); if (!i) return; let { typeNode: o, type: s } = i, l = o.getText(t), f = [d(s, qQ, _.Change_all_jsdoc_style_types_to_TypeScript)]; return o.kind === 317 && f.push(d(s, C9, _.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)), f; function d(g, m, v) { let S = nr.ChangeTracker.with(e, x => H0e(x, t, o, g, r)); return Ma("jdocTypes", S, [_.Change_0_to_1, l, r.typeToString(g)], m, v) } }, fixIds: [qQ, C9], getAllCodeActions(e) { let { fixId: t, program: r, sourceFile: i } = e, o = r.getTypeChecker(); return ns(e, XQ, (s, l) => { let f = W0e(l.file, l.start, o); if (!f) return; let { typeNode: d, type: g } = f, m = d.kind === 317 && t === C9 ? o.getNullableType(g, 32768) : g; H0e(s, i, d, m, o) }) } }) } }); function z0e(e, t, r) { e.replaceNodeWithText(t, r, `${r.text}()`) } function J0e(e, t) { let r = Vi(e, t); if (br(r.parent)) { let i = r.parent; for (; br(i.parent);)i = i.parent; return i.name } if (Re(r)) return r } var I9, YQ, r9e = gt({ "src/services/codefixes/fixMissingCallParentheses.ts"() { "use strict"; Fr(), Qa(), I9 = "fixMissingCallParentheses", YQ = [_.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code], za({ errorCodes: YQ, fixIds: [I9], getCodeActions(e) { let { sourceFile: t, span: r } = e, i = J0e(t, r.start); if (!i) return; let o = nr.ChangeTracker.with(e, s => z0e(s, e.sourceFile, i)); return [Ma(I9, o, _.Add_missing_call_parentheses, I9, _.Add_all_missing_call_parentheses)] }, getAllCodeActions: e => ns(e, YQ, (t, r) => { let i = J0e(r.file, r.start); i && z0e(t, r.file, i) }) }) } }); function i9e(e) { if (e.type) return e.type; if (wi(e.parent) && e.parent.type && Jm(e.parent.type)) return e.parent.type.type } function K0e(e, t) { let r = Vi(e, t), i = Xd(r); if (!i) return; let o; switch (i.kind) { case 171: o = i.name; break; case 259: case 215: o = Yo(i, 98, e); break; case 216: let s = i.typeParameters ? 29 : 20; o = Yo(i, s, e) || Vo(i.parameters); break; default: return }return o && { insertBefore: o, returnType: i9e(i) } } function q0e(e, t, { insertBefore: r, returnType: i }) { if (i) { let o = Jw(i); (!o || o.kind !== 79 || o.text !== "Promise") && e.replaceNode(t, i, D.createTypeReferenceNode("Promise", D.createNodeArray([i]))) } e.insertModifierBefore(t, 132, r) } var L9, $Q, a9e = gt({ "src/services/codefixes/fixAwaitInSyncFunction.ts"() { "use strict"; Fr(), Qa(), L9 = "fixAwaitInSyncFunction", $Q = [_.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code, _.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code, _.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code], za({ errorCodes: $Q, getCodeActions(e) { let { sourceFile: t, span: r } = e, i = K0e(t, r.start); if (!i) return; let o = nr.ChangeTracker.with(e, s => q0e(s, t, i)); return [Ma(L9, o, _.Add_async_modifier_to_containing_function, L9, _.Add_all_missing_async_modifiers)] }, fixIds: [L9], getAllCodeActions: function (t) { let r = new Map; return ns(t, $Q, (i, o) => { let s = K0e(o.file, o.start); !s || !V_(r, zo(s.insertBefore)) || q0e(i, t.sourceFile, s) }) } }) } }); function X0e(e, t, r, i, o) { let s, l; if (i === _._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code) s = t, l = t + r; else if (i === _._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code) { let f = o.program.getTypeChecker(), d = Vi(e, t).parent; L.assert(rb(d), "error span of fixPropertyOverrideAccessor should only be on an accessor"); let g = d.parent; L.assert(Yr(g), "erroneous accessors should only be inside classes"); let m = Wp(mZ(g, f)); if (!m) return []; let v = Gi(wA(d.name)), S = f.getPropertyOfType(f.getTypeAtLocation(m), v); if (!S || !S.valueDeclaration) return []; s = S.valueDeclaration.pos, l = S.valueDeclaration.end, e = Gn(S.valueDeclaration) } else L.fail("fixPropertyOverrideAccessor codefix got unexpected error code " + i); return uEe(e, o.program, s, l, o, _.Generate_get_and_set_accessors.message) } var QQ, k9, o9e = gt({ "src/services/codefixes/fixPropertyOverrideAccessor.ts"() { "use strict"; Fr(), Qa(), QQ = [_._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code, _._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code], k9 = "fixPropertyOverrideAccessor", za({ errorCodes: QQ, getCodeActions(e) { let t = X0e(e.sourceFile, e.span.start, e.span.length, e.errorCode, e); if (t) return [Ma(k9, t, _.Generate_get_and_set_accessors, k9, _.Generate_get_and_set_accessors_for_all_overriding_properties)] }, fixIds: [k9], getAllCodeActions: e => ns(e, QQ, (t, r) => { let i = X0e(r.file, r.start, r.length, r.code, e); if (i) for (let o of i) t.pushRaw(e.sourceFile, o) }) }) } }); function s9e(e, t) { switch (e) { case _.Parameter_0_implicitly_has_an_1_type.code: case _.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code: return Sf(Xd(t)) ? _.Infer_type_of_0_from_usage : _.Infer_parameter_types_from_usage; case _.Rest_parameter_0_implicitly_has_an_any_type.code: case _.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code: return _.Infer_parameter_types_from_usage; case _.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code: return _.Infer_this_type_of_0_from_usage; default: return _.Infer_type_of_0_from_usage } } function c9e(e) { switch (e) { case _.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code: return _.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code; case _.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code: return _.Variable_0_implicitly_has_an_1_type.code; case _.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code: return _.Parameter_0_implicitly_has_an_1_type.code; case _.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code: return _.Rest_parameter_0_implicitly_has_an_any_type.code; case _.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code: return _.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code; case _._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code: return _._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code; case _.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code: return _.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code; case _.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code: return _.Member_0_implicitly_has_an_1_type.code }return e } function Y0e(e, t, r, i, o, s, l, f, d) { if (!yI(r.kind) && r.kind !== 79 && r.kind !== 25 && r.kind !== 108) return; let { parent: g } = r, m = s1(t, o, d, f); switch (i = c9e(i), i) { case _.Member_0_implicitly_has_an_1_type.code: case _.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code: if (wi(g) && l(g) || Na(g) || $d(g)) return $0e(e, m, t, g, o, f, s), m.writeFixes(e), g; if (br(g)) { let x = Ek(g.name, o, s), A = lk(x, g, o, f); if (A) { let w = D.createJSDocTypeTag(void 0, D.createJSDocTypeExpression(A), void 0); e.addJSDocTags(t, Ga(g.parent.parent, Ol), [w]) } return m.writeFixes(e), g } return; case _.Variable_0_implicitly_has_an_1_type.code: { let x = o.getTypeChecker().getSymbolAtLocation(r); return x && x.valueDeclaration && wi(x.valueDeclaration) && l(x.valueDeclaration) ? ($0e(e, m, Gn(x.valueDeclaration), x.valueDeclaration, o, f, s), m.writeFixes(e), x.valueDeclaration) : void 0 } }let v = Xd(r); if (v === void 0) return; let S; switch (i) { case _.Parameter_0_implicitly_has_an_1_type.code: if (Sf(v)) { Q0e(e, m, t, v, o, f, s), S = v; break } case _.Rest_parameter_0_implicitly_has_an_any_type.code: if (l(v)) { let x = Ga(g, ha); l9e(e, m, t, x, v, o, f, s), S = x } break; case _.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code: case _._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code: p_(v) && Re(v.name) && (D9(e, m, t, v, Ek(v.name, o, s), o, f), S = v); break; case _.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code: Sf(v) && (Q0e(e, m, t, v, o, f, s), S = v); break; case _.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code: nr.isThisTypeAnnotatable(v) && l(v) && (u9e(e, t, v, o, f, s), S = v); break; default: return L.fail(String(i)) }return m.writeFixes(e), S } function $0e(e, t, r, i, o, s, l) { Re(i.name) && D9(e, t, r, i, Ek(i.name, o, l), o, s) } function l9e(e, t, r, i, o, s, l, f) { if (!Re(i.name)) return; let d = _9e(o, r, s, f); if (L.assert(o.parameters.length === d.length, "Parameter count and inference count should match"), Yn(o)) Z0e(e, r, d, s, l); else { let g = xs(o) && !Yo(o, 20, r); g && e.insertNodeBefore(r, Vo(o.parameters), D.createToken(20)); for (let { declaration: m, type: v } of d) m && !m.type && !m.initializer && D9(e, t, r, m, v, s, l); g && e.insertNodeAfter(r, To(o.parameters), D.createToken(21)) } } function u9e(e, t, r, i, o, s) { let l = eEe(r, t, i, s); if (!l || !l.length) return; let f = eZ(i, l, s).thisParameter(), d = lk(f, r, i, o); d && (Yn(r) ? d9e(e, t, r, d) : e.tryInsertThisTypeAnnotation(t, r, d)) } function d9e(e, t, r, i) { e.addJSDocTags(t, r, [D.createJSDocThisTag(void 0, D.createJSDocTypeExpression(i))]) } function Q0e(e, t, r, i, o, s, l) { let f = Sl(i.parameters); if (f && Re(i.name) && Re(f.name)) { let d = Ek(i.name, o, l); d === o.getTypeChecker().getAnyType() && (d = Ek(f.name, o, l)), Yn(i) ? Z0e(e, r, [{ declaration: f, type: d }], o, s) : D9(e, t, r, f, d, o, s) } } function D9(e, t, r, i, o, s, l) { let f = lk(o, i, s, l); if (f) if (Yn(r) && i.kind !== 168) { let d = wi(i) ? zr(i.parent.parent, Bc) : i; if (!d) return; let g = D.createJSDocTypeExpression(f), m = p_(i) ? D.createJSDocReturnTag(void 0, g, void 0) : D.createJSDocTypeTag(void 0, g, void 0); e.addJSDocTags(r, d, [m]) } else f9e(f, i, r, e, t, Do(s.getCompilerOptions())) || e.tryInsertTypeAnnotation(r, i, f) } function f9e(e, t, r, i, o, s) { let l = l1(e, s); return l && i.tryInsertTypeAnnotation(r, t, l.typeNode) ? (mn(l.symbols, f => o.addImportFromExportedSymbol(f, !0)), !0) : !1 } function Z0e(e, t, r, i, o) { let s = r.length && r[0].declaration.parent; if (!s) return; let l = Zi(r, f => { let d = f.declaration; if (d.initializer || Vy(d) || !Re(d.name)) return; let g = f.type && lk(f.type, d, i, o); if (g) { let m = D.cloneNode(d.name); return Jn(m, 7168), { name: D.cloneNode(d.name), param: d, isOptional: !!f.isOptional, typeNode: g } } }); if (l.length) if (xs(s) || ms(s)) { let f = xs(s) && !Yo(s, 20, t); f && e.insertNodeBefore(t, Vo(s.parameters), D.createToken(20)), mn(l, ({ typeNode: d, param: g }) => { let m = D.createJSDocTypeTag(void 0, D.createJSDocTypeExpression(d)), v = D.createJSDocComment(void 0, [m]); e.insertNodeAt(t, g.getStart(t), v, { suffix: " " }) }), f && e.insertNodeAfter(t, To(s.parameters), D.createToken(21)) } else { let f = on(l, ({ name: d, typeNode: g, isOptional: m }) => D.createJSDocParameterTag(void 0, d, !!m, D.createJSDocTypeExpression(g), !1, void 0)); e.addJSDocTags(t, s, f) } } function ZQ(e, t, r) { return Zi(js.getReferenceEntriesForNode(-1, e, t, t.getSourceFiles(), r), i => i.kind !== js.EntryKind.Span ? zr(i.node, Re) : void 0) } function Ek(e, t, r) { let i = ZQ(e, t, r); return eZ(t, i, r).single() } function _9e(e, t, r, i) { let o = eEe(e, t, r, i); return o && eZ(r, o, i).parameters(e) || e.parameters.map(s => ({ declaration: s, type: Re(s.name) ? Ek(s.name, r, i) : r.getTypeChecker().getAnyType() })) } function eEe(e, t, r, i) { let o; switch (e.kind) { case 173: o = Yo(e, 135, t); break; case 216: case 215: let s = e.parent; o = (wi(s) || Na(s)) && Re(s.name) ? s.name : e.name; break; case 259: case 171: case 170: o = e.name; break }if (o) return ZQ(o, r, i) } function eZ(e, t, r) { let i = e.getTypeChecker(), o = { string: () => i.getStringType(), number: () => i.getNumberType(), Array: Ce => i.createArrayType(Ce), Promise: Ce => i.createPromiseType(Ce) }, s = [i.getStringType(), i.getNumberType(), i.createArrayType(i.getAnyType()), i.createPromiseType(i.getAnyType())]; return { single: d, parameters: g, thisParameter: m }; function l() { return { isNumber: void 0, isString: void 0, isNumberOrString: void 0, candidateTypes: void 0, properties: void 0, calls: void 0, constructs: void 0, numberIndex: void 0, stringIndex: void 0, candidateThisTypes: void 0, inferredTypes: void 0 } } function f(Ce) { let Ie = new Map; for (let Ne of Ce) Ne.properties && Ne.properties.forEach((Le, Ye) => { Ie.has(Ye) || Ie.set(Ye, []), Ie.get(Ye).push(Le) }); let Be = new Map; return Ie.forEach((Ne, Le) => { Be.set(Le, f(Ne)) }), { isNumber: Ce.some(Ne => Ne.isNumber), isString: Ce.some(Ne => Ne.isString), isNumberOrString: Ce.some(Ne => Ne.isNumberOrString), candidateTypes: Uo(Ce, Ne => Ne.candidateTypes), properties: Be, calls: Uo(Ce, Ne => Ne.calls), constructs: Uo(Ce, Ne => Ne.constructs), numberIndex: mn(Ce, Ne => Ne.numberIndex), stringIndex: mn(Ce, Ne => Ne.stringIndex), candidateThisTypes: Uo(Ce, Ne => Ne.candidateThisTypes), inferredTypes: void 0 } } function d() { return $(v(t)) } function g(Ce) { if (t.length === 0 || !Ce.parameters) return; let Ie = l(); for (let Ne of t) r.throwIfCancellationRequested(), S(Ne, Ie); let Be = [...Ie.constructs || [], ...Ie.calls || []]; return Ce.parameters.map((Ne, Le) => { let Ye = [], _t = Fm(Ne), ct = !1; for (let We of Be) if (We.argumentTypes.length <= Le) ct = Yn(Ce), Ye.push(i.getUndefinedType()); else if (_t) for (let qe = Le; qe < We.argumentTypes.length; qe++)Ye.push(i.getBaseTypeOfLiteralType(We.argumentTypes[qe])); else Ye.push(i.getBaseTypeOfLiteralType(We.argumentTypes[Le])); if (Re(Ne.name)) { let We = v(ZQ(Ne.name, e, r)); Ye.push(..._t ? Zi(We, i.getElementTypeOfArrayType) : We) } let Rt = $(Ye); return { type: _t ? i.createArrayType(Rt) : Rt, isOptional: ct && !_t, declaration: Ne } }) } function m() { let Ce = l(); for (let Ie of t) r.throwIfCancellationRequested(), S(Ie, Ce); return $(Ce.candidateThisTypes || Je) } function v(Ce) { let Ie = l(); for (let Be of Ce) r.throwIfCancellationRequested(), S(Be, Ie); return Z(Ie) } function S(Ce, Ie) { for (; zI(Ce);)Ce = Ce.parent; switch (Ce.parent.kind) { case 241: A(Ce, Ie); break; case 222: Ie.isNumber = !0; break; case 221: w(Ce.parent, Ie); break; case 223: C(Ce, Ce.parent, Ie); break; case 292: case 293: P(Ce.parent, Ie); break; case 210: case 211: Ce.parent.expression === Ce ? F(Ce.parent, Ie) : x(Ce, Ie); break; case 208: B(Ce.parent, Ie); break; case 209: q(Ce.parent, Ce, Ie); break; case 299: case 300: W(Ce.parent, Ie); break; case 169: Y(Ce.parent, Ie); break; case 257: { let { name: Be, initializer: Ne } = Ce.parent; if (Ce === Be) { Ne && ke(Ie, i.getTypeAtLocation(Ne)); break } } default: return x(Ce, Ie) } } function x(Ce, Ie) { Dh(Ce) && ke(Ie, i.getContextualType(Ce)) } function A(Ce, Ie) { ke(Ie, Pa(Ce) ? i.getVoidType() : i.getAnyType()) } function w(Ce, Ie) { switch (Ce.operator) { case 45: case 46: case 40: case 54: Ie.isNumber = !0; break; case 39: Ie.isNumberOrString = !0; break } } function C(Ce, Ie, Be) { switch (Ie.operatorToken.kind) { case 42: case 41: case 43: case 44: case 47: case 48: case 49: case 50: case 51: case 52: case 65: case 67: case 66: case 68: case 69: case 73: case 74: case 78: case 70: case 72: case 71: case 40: case 29: case 32: case 31: case 33: let Ne = i.getTypeAtLocation(Ie.left === Ce ? Ie.right : Ie.left); Ne.flags & 1056 ? ke(Be, Ne) : Be.isNumber = !0; break; case 64: case 39: let Le = i.getTypeAtLocation(Ie.left === Ce ? Ie.right : Ie.left); Le.flags & 1056 ? ke(Be, Le) : Le.flags & 296 ? Be.isNumber = !0 : Le.flags & 402653316 ? Be.isString = !0 : Le.flags & 1 || (Be.isNumberOrString = !0); break; case 63: case 34: case 36: case 37: case 35: ke(Be, i.getTypeAtLocation(Ie.left === Ce ? Ie.right : Ie.left)); break; case 101: Ce === Ie.left && (Be.isString = !0); break; case 56: case 60: Ce === Ie.left && (Ce.parent.parent.kind === 257 || Iu(Ce.parent.parent, !0)) && ke(Be, i.getTypeAtLocation(Ie.right)); break; case 55: case 27: case 102: break } } function P(Ce, Ie) { ke(Ie, i.getTypeAtLocation(Ce.parent.parent.expression)) } function F(Ce, Ie) { let Be = { argumentTypes: [], return_: l() }; if (Ce.arguments) for (let Ne of Ce.arguments) Be.argumentTypes.push(i.getTypeAtLocation(Ne)); S(Ce, Be.return_), Ce.kind === 210 ? (Ie.calls || (Ie.calls = [])).push(Be) : (Ie.constructs || (Ie.constructs = [])).push(Be) } function B(Ce, Ie) { let Be = Bs(Ce.name.text); Ie.properties || (Ie.properties = new Map); let Ne = Ie.properties.get(Be) || l(); S(Ce, Ne), Ie.properties.set(Be, Ne) } function q(Ce, Ie, Be) { if (Ie === Ce.argumentExpression) { Be.isNumberOrString = !0; return } else { let Ne = i.getTypeAtLocation(Ce.argumentExpression), Le = l(); S(Ce, Le), Ne.flags & 296 ? Be.numberIndex = Le : Be.stringIndex = Le } } function W(Ce, Ie) { let Be = wi(Ce.parent.parent) ? Ce.parent.parent : Ce.parent; Pe(Ie, i.getTypeAtLocation(Be)) } function Y(Ce, Ie) { Pe(Ie, i.getTypeAtLocation(Ce.parent)) } function R(Ce, Ie) { let Be = []; for (let Ne of Ce) for (let { high: Le, low: Ye } of Ie) Le(Ne) && (L.assert(!Ye(Ne), "Priority can't have both low and high"), Be.push(Ye)); return Ce.filter(Ne => Be.every(Le => !Le(Ne))) } function ie(Ce) { return $(Z(Ce)) } function $(Ce) { if (!Ce.length) return i.getAnyType(); let Ie = i.getUnionType([i.getStringType(), i.getNumberType()]), Ne = R(Ce, [{ high: Ye => Ye === i.getStringType() || Ye === i.getNumberType(), low: Ye => Ye === Ie }, { high: Ye => !(Ye.flags & 16385), low: Ye => !!(Ye.flags & 16385) }, { high: Ye => !(Ye.flags & 114689) && !(Ur(Ye) & 16), low: Ye => !!(Ur(Ye) & 16) }]), Le = Ne.filter(Ye => Ur(Ye) & 16); return Le.length && (Ne = Ne.filter(Ye => !(Ur(Ye) & 16)), Ne.push(fe(Le))), i.getWidenedType(i.getUnionType(Ne.map(i.getBaseTypeOfLiteralType), 2)) } function fe(Ce) { if (Ce.length === 1) return Ce[0]; let Ie = [], Be = [], Ne = [], Le = [], Ye = !1, _t = !1, ct = Nf(); for (let qe of Ce) { for (let tn of i.getPropertiesOfType(qe)) ct.add(tn.name, tn.valueDeclaration ? i.getTypeOfSymbolAtLocation(tn, tn.valueDeclaration) : i.getAnyType()); Ie.push(...i.getSignaturesOfType(qe, 0)), Be.push(...i.getSignaturesOfType(qe, 1)); let zt = i.getIndexInfoOfType(qe, 0); zt && (Ne.push(zt.type), Ye = Ye || zt.isReadonly); let Qt = i.getIndexInfoOfType(qe, 1); Qt && (Le.push(Qt.type), _t = _t || Qt.isReadonly) } let Rt = uae(ct, (qe, zt) => { let Qt = zt.length < Ce.length ? 16777216 : 0, tn = i.createSymbol(4 | Qt, qe); return tn.links.type = i.getUnionType(zt), [qe, tn] }), We = []; return Ne.length && We.push(i.createIndexInfo(i.getStringType(), i.getUnionType(Ne), Ye)), Le.length && We.push(i.createIndexInfo(i.getNumberType(), i.getUnionType(Le), _t)), i.createAnonymousType(Ce[0].symbol, Rt, Ie, Be, We) } function Z(Ce) { var Ie, Be, Ne; let Le = []; Ce.isNumber && Le.push(i.getNumberType()), Ce.isString && Le.push(i.getStringType()), Ce.isNumberOrString && Le.push(i.getUnionType([i.getStringType(), i.getNumberType()])), Ce.numberIndex && Le.push(i.createArrayType(ie(Ce.numberIndex))), ((Ie = Ce.properties) != null && Ie.size || (Be = Ce.constructs) != null && Be.length || Ce.stringIndex) && Le.push(U(Ce)); let Ye = (Ce.candidateTypes || []).map(ct => i.getBaseTypeOfLiteralType(ct)), _t = (Ne = Ce.calls) != null && Ne.length ? U(Ce) : void 0; return _t && Ye ? Le.push(i.getUnionType([_t, ...Ye], 2)) : (_t && Le.push(_t), Fn(Ye) && Le.push(...Ye)), Le.push(...re(Ce)), Le } function U(Ce) { let Ie = new Map; Ce.properties && Ce.properties.forEach((Ye, _t) => { let ct = i.createSymbol(4, _t); ct.links.type = ie(Ye), Ie.set(_t, ct) }); let Be = Ce.calls ? [we(Ce.calls)] : [], Ne = Ce.constructs ? [we(Ce.constructs)] : [], Le = Ce.stringIndex ? [i.createIndexInfo(i.getStringType(), ie(Ce.stringIndex), !1)] : []; return i.createAnonymousType(void 0, Ie, Be, Ne, Le) } function re(Ce) { if (!Ce.properties || !Ce.properties.size) return []; let Ie = s.filter(Be => le(Be, Ce)); return 0 < Ie.length && Ie.length < 3 ? Ie.map(Be => _e(Be, Ce)) : [] } function le(Ce, Ie) { return Ie.properties ? !Ld(Ie.properties, (Be, Ne) => { let Le = i.getTypeOfPropertyOfType(Ce, Ne); return Le ? Be.calls ? !i.getSignaturesOfType(Le, 0).length || !i.isTypeAssignableTo(Le, Ve(Be.calls)) : !i.isTypeAssignableTo(Le, ie(Be)) : !0 }) : !1 } function _e(Ce, Ie) { if (!(Ur(Ce) & 4) || !Ie.properties) return Ce; let Be = Ce.target, Ne = Wp(Be.typeParameters); if (!Ne) return Ce; let Le = []; return Ie.properties.forEach((Ye, _t) => { let ct = i.getTypeOfPropertyOfType(Be, _t); L.assert(!!ct, "generic should have all the properties of its reference."), Le.push(...ge(ct, ie(Ye), Ne)) }), o[Ce.symbol.escapedName]($(Le)) } function ge(Ce, Ie, Be) { if (Ce === Be) return [Ie]; if (Ce.flags & 3145728) return Uo(Ce.types, Ye => ge(Ye, Ie, Be)); if (Ur(Ce) & 4 && Ur(Ie) & 4) { let Ye = i.getTypeArguments(Ce), _t = i.getTypeArguments(Ie), ct = []; if (Ye && _t) for (let Rt = 0; Rt < Ye.length; Rt++)_t[Rt] && ct.push(...ge(Ye[Rt], _t[Rt], Be)); return ct } let Ne = i.getSignaturesOfType(Ce, 0), Le = i.getSignaturesOfType(Ie, 0); return Ne.length === 1 && Le.length === 1 ? X(Ne[0], Le[0], Be) : [] } function X(Ce, Ie, Be) { var Ne; let Le = []; for (let ct = 0; ct < Ce.parameters.length; ct++) { let Rt = Ce.parameters[ct], We = Ie.parameters[ct], qe = Ce.declaration && Fm(Ce.declaration.parameters[ct]); if (!We) break; let zt = Rt.valueDeclaration ? i.getTypeOfSymbolAtLocation(Rt, Rt.valueDeclaration) : i.getAnyType(), Qt = qe && i.getElementTypeOfArrayType(zt); Qt && (zt = Qt); let tn = ((Ne = zr(We, Zp)) == null ? void 0 : Ne.links.type) || (We.valueDeclaration ? i.getTypeOfSymbolAtLocation(We, We.valueDeclaration) : i.getAnyType()); Le.push(...ge(zt, tn, Be)) } let Ye = i.getReturnTypeOfSignature(Ce), _t = i.getReturnTypeOfSignature(Ie); return Le.push(...ge(Ye, _t, Be)), Le } function Ve(Ce) { return i.createAnonymousType(void 0, Ua(), [we(Ce)], Je, Je) } function we(Ce) { let Ie = [], Be = Math.max(...Ce.map(Le => Le.argumentTypes.length)); for (let Le = 0; Le < Be; Le++) { let Ye = i.createSymbol(1, Bs(`arg${Le}`)); Ye.links.type = $(Ce.map(_t => _t.argumentTypes[Le] || i.getUndefinedType())), Ce.some(_t => _t.argumentTypes[Le] === void 0) && (Ye.flags |= 16777216), Ie.push(Ye) } let Ne = ie(f(Ce.map(Le => Le.return_))); return i.createSignature(void 0, void 0, void 0, Ie, Ne, void 0, Be, 0) } function ke(Ce, Ie) { Ie && !(Ie.flags & 1) && !(Ie.flags & 131072) && (Ce.candidateTypes || (Ce.candidateTypes = [])).push(Ie) } function Pe(Ce, Ie) { Ie && !(Ie.flags & 1) && !(Ie.flags & 131072) && (Ce.candidateThisTypes || (Ce.candidateThisTypes = [])).push(Ie) } } var w9, tZ, p9e = gt({ "src/services/codefixes/inferFromUsage.ts"() { "use strict"; Fr(), Qa(), w9 = "inferFromUsage", tZ = [_.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code, _.Variable_0_implicitly_has_an_1_type.code, _.Parameter_0_implicitly_has_an_1_type.code, _.Rest_parameter_0_implicitly_has_an_any_type.code, _.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code, _._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code, _.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code, _.Member_0_implicitly_has_an_1_type.code, _.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code, _.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code, _.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code, _.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code, _.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code, _._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code, _.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code, _.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code, _.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code], za({ errorCodes: tZ, getCodeActions(e) { let { sourceFile: t, program: r, span: { start: i }, errorCode: o, cancellationToken: s, host: l, preferences: f } = e, d = Vi(t, i), g, m = nr.ChangeTracker.with(e, S => { g = Y0e(S, t, d, o, r, s, h0, l, f) }), v = g && sa(g); return !v || m.length === 0 ? void 0 : [Ma(w9, m, [s9e(o, d), Qc(v)], w9, _.Infer_all_types_from_usage)] }, fixIds: [w9], getAllCodeActions(e) { let { sourceFile: t, program: r, cancellationToken: i, host: o, preferences: s } = e, l = W2(); return ns(e, tZ, (f, d) => { Y0e(f, t, Vi(d.file, d.start), d.code, r, i, l, o, s) }) } }) } }); function tEe(e, t, r) { if (Yn(e)) return; let i = Vi(e, r), o = jn(i, Ds), s = o?.type; if (!s) return; let l = t.getTypeFromTypeNode(s), f = t.getAwaitedType(l) || t.getVoidType(), d = t.typeToTypeNode(f, s, void 0); if (d) return { returnTypeNode: s, returnType: l, promisedTypeNode: d, promisedType: f } } function nEe(e, t, r, i) { e.replaceNode(t, r, D.createTypeReferenceNode("Promise", [i])) } var R9, nZ, m9e = gt({ "src/services/codefixes/fixReturnTypeInAsyncFunction.ts"() { "use strict"; Fr(), Qa(), R9 = "fixReturnTypeInAsyncFunction", nZ = [_.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0.code], za({ errorCodes: nZ, fixIds: [R9], getCodeActions: function (t) { let { sourceFile: r, program: i, span: o } = t, s = i.getTypeChecker(), l = tEe(r, i.getTypeChecker(), o.start); if (!l) return; let { returnTypeNode: f, returnType: d, promisedTypeNode: g, promisedType: m } = l, v = nr.ChangeTracker.with(t, S => nEe(S, r, f, g)); return [Ma(R9, v, [_.Replace_0_with_Promise_1, s.typeToString(d), s.typeToString(m)], R9, _.Fix_all_incorrect_return_type_of_an_async_functions)] }, getAllCodeActions: e => ns(e, nZ, (t, r) => { let i = tEe(r.file, e.program.getTypeChecker(), r.start); i && nEe(t, r.file, i.returnTypeNode, i.promisedTypeNode) }) }) } }); function rEe(e, t, r, i) { let { line: o } = Gs(t, r); (!i || _0(i, o)) && e.insertCommentBeforeLine(t, o, r, " @ts-ignore") } var rZ, iZ, aZ, h9e = gt({ "src/services/codefixes/disableJsDiagnostics.ts"() { "use strict"; Fr(), Qa(), rZ = "disableJsDiagnostics", iZ = "disableJsDiagnostics", aZ = Zi(Object.keys(_), e => { let t = _[e]; return t.category === 1 ? t.code : void 0 }), za({ errorCodes: aZ, getCodeActions: function (t) { let { sourceFile: r, program: i, span: o, host: s, formatContext: l } = t; if (!Yn(r) || !HR(r, i.getCompilerOptions())) return; let f = r.checkJsDirective ? "" : bb(s, l.options), d = [K_(rZ, [_ve(r.fileName, [GN(r.checkJsDirective ? Wc(r.checkJsDirective.pos, r.checkJsDirective.end) : il(0, 0), `// @ts-nocheck${f}`)])], _.Disable_checking_for_this_file)]; return nr.isValidLocationToAddComment(r, o.start) && d.unshift(Ma(rZ, nr.ChangeTracker.with(t, g => rEe(g, r, o.start)), _.Ignore_this_error_message, iZ, _.Add_ts_ignore_to_all_error_messages)), d }, fixIds: [iZ], getAllCodeActions: e => { let t = new Set; return ns(e, aZ, (r, i) => { nr.isValidLocationToAddComment(i.file, i.start) && rEe(r, i.file, i.start, t) }) } }) } }); function oZ(e, t, r, i, o, s, l) { let f = e.symbol.members; for (let d of t) f.has(d.escapedName) || iEe(d, e, r, i, o, s, l, void 0) } function sx(e) { return { trackSymbol: () => !1, moduleResolverHost: oY(e.program, e.host) } } function iEe(e, t, r, i, o, s, l, f, d = 3, g = !1) { var m; let v = e.getDeclarations(), S = v?.[0], x = i.program.getTypeChecker(), A = Do(i.program.getCompilerOptions()), w = (m = S?.kind) != null ? m : 168, C = cc(sa(S), !1), P = S ? uu(S) : 0, F = P & 4 ? 4 : P & 16 ? 16 : 0; S && Id(S) && (F |= 128); let B = $(), q = x.getWidenedType(x.getTypeOfSymbolAtLocation(e, t)), W = !!(e.flags & 16777216), Y = !!(t.flags & 16777216) || g, R = J_(r, o); switch (w) { case 168: case 169: let le = R === 0 ? 268435456 : void 0, _e = x.typeToTypeNode(q, t, le, sx(i)); if (s) { let X = l1(_e, A); X && (_e = X.typeNode, cx(s, X.symbols)) } l(D.createPropertyDeclaration(B, S ? Z(C) : e.getName(), W && d & 2 ? D.createToken(57) : void 0, _e, void 0)); break; case 174: case 175: { L.assertIsDefined(v); let X = x.typeToTypeNode(q, t, void 0, sx(i)), Ve = kT(v, S), we = Ve.secondAccessor ? [Ve.firstAccessor, Ve.secondAccessor] : [Ve.firstAccessor]; if (s) { let ke = l1(X, A); ke && (X = ke.typeNode, cx(s, ke.symbols)) } for (let ke of we) if (p_(ke)) l(D.createGetAccessorDeclaration(B, Z(C), Je, re(X), U(f, R, Y))); else { L.assertNode(ke, Sf, "The counterpart to a getter should be a setter"); let Pe = VI(ke), Ce = Pe && Re(Pe.name) ? vr(Pe.name) : void 0; l(D.createSetAccessorDeclaration(B, Z(C), cZ(1, [Ce], [re(X)], 1, !1), U(f, R, Y))) } break } case 170: case 171: L.assertIsDefined(v); let ge = q.isUnion() ? Uo(q.types, X => X.getCallSignatures()) : q.getCallSignatures(); if (!vt(ge)) break; if (v.length === 1) { L.assert(ge.length === 1, "One declaration implies one signature"); let X = ge[0]; ie(R, X, B, Z(C), U(f, R, Y)); break } for (let X of ge) ie(R, X, B, Z(C)); if (!Y) if (v.length > ge.length) { let X = x.getSignatureFromDeclaration(v[v.length - 1]); ie(R, X, B, Z(C), U(f, R)) } else L.assert(v.length === ge.length, "Declarations and signatures should match count"), l(v9e(x, i, t, ge, Z(C), W && !!(d & 1), B, R, f)); break }function ie(le, _e, ge, X, Ve) { let we = O9(171, i, le, _e, Ve, X, ge, W && !!(d & 1), t, s); we && l(we) } function $() { let le; return F && (le = _A(le, D.createModifiersFromModifierFlags(F))), fe() && (le = Sn(le, D.createToken(161))), le && D.createNodeArray(le) } function fe() { return !!(i.program.getCompilerOptions().noImplicitOverride && S && B0(S)) } function Z(le) { return Re(le) && le.escapedText === "constructor" ? D.createComputedPropertyName(D.createStringLiteral(vr(le), R === 0)) : cc(le, !1) } function U(le, _e, ge) { return ge ? void 0 : cc(le, !1) || lZ(_e) } function re(le) { return cc(le, !1) } } function O9(e, t, r, i, o, s, l, f, d, g) { let m = t.program, v = m.getTypeChecker(), S = Do(m.getCompilerOptions()), x = Yn(d), A = 524545 | (r === 0 ? 268435456 : 0), w = v.signatureToSignatureDeclaration(i, e, d, A, sx(t)); if (!w) return; let C = x ? void 0 : w.typeParameters, P = w.parameters, F = x ? void 0 : w.type; if (g) { if (C) { let Y = Tl(C, R => { let ie = R.constraint, $ = R.default; if (ie) { let fe = l1(ie, S); fe && (ie = fe.typeNode, cx(g, fe.symbols)) } if ($) { let fe = l1($, S); fe && ($ = fe.typeNode, cx(g, fe.symbols)) } return D.updateTypeParameterDeclaration(R, R.modifiers, R.name, ie, $) }); C !== Y && (C = it(D.createNodeArray(Y, C.hasTrailingComma), C)) } let W = Tl(P, Y => { let R = x ? void 0 : Y.type; if (R) { let ie = l1(R, S); ie && (R = ie.typeNode, cx(g, ie.symbols)) } return D.updateParameterDeclaration(Y, Y.modifiers, Y.dotDotDotToken, Y.name, x ? void 0 : Y.questionToken, R, Y.initializer) }); if (P !== W && (P = it(D.createNodeArray(W, P.hasTrailingComma), P)), F) { let Y = l1(F, S); Y && (F = Y.typeNode, cx(g, Y.symbols)) } } let B = f ? D.createToken(57) : void 0, q = w.asteriskToken; if (ms(w)) return D.updateFunctionExpression(w, l, w.asteriskToken, zr(s, Re), C, P, F, o ?? w.body); if (xs(w)) return D.updateArrowFunction(w, l, C, P, F, w.equalsGreaterThanToken, o ?? w.body); if (Nc(w)) return D.updateMethodDeclaration(w, l, q, s ?? D.createIdentifier(""), B, C, P, F, o); if (Jc(w)) return D.updateFunctionDeclaration(w, l, w.asteriskToken, zr(s, Re), C, P, F, o ?? w.body) } function sZ(e, t, r, i, o, s, l) { let f = J_(t.sourceFile, t.preferences), d = Do(t.program.getCompilerOptions()), g = sx(t), m = t.program.getTypeChecker(), v = Yn(l), { typeArguments: S, arguments: x, parent: A } = i, w = v ? void 0 : m.getContextualType(i), C = on(x, $ => Re($) ? $.text : br($) && Re($.name) ? $.name.text : void 0), P = v ? [] : on(x, $ => m.getTypeAtLocation($)), { argumentTypeNodes: F, argumentTypeParameters: B } = sEe(m, r, P, l, d, void 0, g), q = s ? D.createNodeArray(D.createModifiersFromModifierFlags(s)) : void 0, W = f3(A) ? D.createToken(41) : void 0, Y = v ? void 0 : g9e(m, B, S), R = cZ(x.length, C, F, void 0, v), ie = v || w === void 0 ? void 0 : m.typeToTypeNode(w, l, void 0, g); switch (e) { case 171: return D.createMethodDeclaration(q, W, o, void 0, Y, R, ie, lZ(f)); case 170: return D.createMethodSignature(q, o, void 0, Y, R, ie === void 0 ? D.createKeywordTypeNode(157) : ie); case 259: return D.createFunctionDeclaration(q, W, o, Y, R, ie, fP(_.Function_not_implemented.message, f)); default: L.fail("Unexpected kind") } } function g9e(e, t, r) { let i = new Set(t.map(s => s[0])), o = new Map(t); if (r) { let s = r.filter(f => !t.some(d => { var g; return e.getTypeAtLocation(f) === ((g = d[1]) == null ? void 0 : g.argumentType) })), l = i.size + s.length; for (let f = 0; i.size < l; f += 1)i.add(aEe(f)) } return lo(i.values(), s => { var l; return D.createTypeParameterDeclaration(void 0, s, (l = o.get(s)) == null ? void 0 : l.constraint) }) } function aEe(e) { return 84 + e <= 90 ? String.fromCharCode(84 + e) : `T${e}` } function N9(e, t, r, i, o, s, l) { let f = e.typeToTypeNode(r, i, s, l); if (f && Mh(f)) { let d = l1(f, o); d && (cx(t, d.symbols), f = d.typeNode) } return cc(f) } function oEe(e) { return e.isUnionOrIntersection() ? e.types.some(oEe) : e.flags & 262144 } function sEe(e, t, r, i, o, s, l) { let f = [], d = new Map; for (let g = 0; g < r.length; g += 1) { let m = r[g]; if (m.isUnionOrIntersection() && m.types.some(oEe)) { let w = aEe(g); f.push(D.createTypeReferenceNode(w)), d.set(w, void 0); continue } let v = e.getBaseTypeOfLiteralType(m), S = N9(e, t, v, i, o, s, l); if (!S) continue; f.push(S); let x = cEe(m), A = m.isTypeParameter() && m.constraint && !y9e(m.constraint) ? N9(e, t, m.constraint, i, o, s, l) : void 0; x && d.set(x, { argumentType: m, constraint: A }) } return { argumentTypeNodes: f, argumentTypeParameters: lo(d.entries()) } } function y9e(e) { return e.flags & 524288 && e.objectFlags === 16 } function cEe(e) { var t; if (e.flags & 3145728) for (let r of e.types) { let i = cEe(r); if (i) return i } return e.flags & 262144 ? (t = e.getSymbol()) == null ? void 0 : t.getName() : void 0 } function cZ(e, t, r, i, o) { let s = [], l = new Map; for (let f = 0; f < e; f++) { let d = t?.[f] || `arg${f}`, g = l.get(d); l.set(d, (g || 0) + 1); let m = D.createParameterDeclaration(void 0, void 0, d + (g || ""), i !== void 0 && f >= i ? D.createToken(57) : void 0, o ? void 0 : r?.[f] || D.createKeywordTypeNode(157), void 0); s.push(m) } return s } function v9e(e, t, r, i, o, s, l, f, d) { let g = i[0], m = i[0].minArgumentCount, v = !1; for (let w of i) m = Math.min(w.minArgumentCount, m), Xl(w) && (v = !0), w.parameters.length >= g.parameters.length && (!Xl(w) || Xl(g)) && (g = w); let S = g.parameters.length - (Xl(g) ? 1 : 0), x = g.parameters.map(w => w.name), A = cZ(S, x, void 0, m, !1); if (v) { let w = D.createParameterDeclaration(void 0, D.createToken(25), x[S] || "rest", S >= m ? D.createToken(57) : void 0, D.createArrayTypeNode(D.createKeywordTypeNode(157)), void 0); A.push(w) } return E9e(l, o, s, void 0, A, b9e(i, e, t, r), f, d) } function b9e(e, t, r, i) { if (Fn(e)) { let o = t.getUnionType(on(e, t.getReturnTypeOfSignature)); return t.typeToTypeNode(o, i, 1, sx(r)) } } function E9e(e, t, r, i, o, s, l, f) { return D.createMethodDeclaration(e, void 0, t, r ? D.createToken(57) : void 0, i, o, s, f || lZ(l)) } function lZ(e) { return fP(_.Method_not_implemented.message, e) } function fP(e, t) { return D.createBlock([D.createThrowStatement(D.createNewExpression(D.createIdentifier("Error"), void 0, [D.createStringLiteral(e, t === 0)]))], !0) } function uZ(e, t, r) { let i = LI(t); if (!i) return; let o = fZ(i, "compilerOptions"); if (o === void 0) { e.insertNodeAtObjectStart(t, i, P9("compilerOptions", D.createObjectLiteralExpression(r.map(([l, f]) => P9(l, f)), !0))); return } let s = o.initializer; if (rs(s)) for (let [l, f] of r) { let d = fZ(s, l); d === void 0 ? e.insertNodeAtObjectStart(t, s, P9(l, f)) : e.replaceNode(t, d.initializer, f) } } function dZ(e, t, r, i) { uZ(e, t, [[r, i]]) } function P9(e, t) { return D.createPropertyAssignment(D.createStringLiteral(e), t) } function fZ(e, t) { return wr(e.properties, r => yl(r) && !!r.name && yo(r.name) && r.name.text === t) } function l1(e, t) { let r, i = $e(e, o, bi); if (r && i) return { typeNode: i, symbols: r }; function o(s) { if (ib(s) && s.qualifier) { let l = Yd(s.qualifier), f = j7(l.symbol, t), d = f !== l.text ? lEe(s.qualifier, D.createIdentifier(f)) : s.qualifier; r = Sn(r, l.symbol); let g = On(s.typeArguments, o, bi); return D.createTypeReferenceNode(d, g) } return xn(s, o, Bh) } } function lEe(e, t) { return e.kind === 79 ? t : D.createQualifiedName(lEe(e.left, t), e.right) } function cx(e, t) { t.forEach(r => e.addImportFromExportedSymbol(r, !0)) } function _Z(e, t) { let r = wl(t), i = Vi(e, t.start); for (; i.end < r;)i = i.parent; return i } var pZ, T9e = gt({ "src/services/codefixes/helpers.ts"() { "use strict"; Fr(), pZ = (e => (e[e.Method = 1] = "Method", e[e.Property = 2] = "Property", e[e.All = 3] = "All", e))(pZ || {}) } }); function uEe(e, t, r, i, o, s) { let l = _Ee(e, t, r, i); if (!l || Ok.isRefactorErrorInfo(l)) return; let f = nr.ChangeTracker.fromContext(o), { isStatic: d, isReadonly: g, fieldName: m, accessorName: v, originalName: S, type: x, container: A, declaration: w } = l; pd(m), pd(v), pd(w), pd(A); let C, P; if (Yr(A)) { let B = uu(w); if (Cu(e)) { let q = D.createModifiersFromModifierFlags(B); C = q, P = q } else C = D.createModifiersFromModifierFlags(A9e(B)), P = D.createModifiersFromModifierFlags(C9e(B)); HS(w) && (P = Qi(Uy(w), P)) } w9e(f, e, w, x, m, P); let F = I9e(m, v, x, C, d, A); if (pd(F), pEe(f, e, F, w, A), g) { let B = Vm(A); B && R9e(f, e, B, m.text, S) } else { let B = L9e(m, v, x, C, d, A); pd(B), pEe(f, e, B, w, A) } return f.getChanges() } function S9e(e) { return Re(e) || yo(e) } function x9e(e) { return Ad(e, e.parent) || Na(e) || yl(e) } function dEe(e, t) { return Re(t) ? D.createIdentifier(e) : D.createStringLiteral(e) } function fEe(e, t, r) { let i = t ? r.name : D.createThis(); return Re(e) ? D.createPropertyAccessExpression(i, e) : D.createElementAccessExpression(i, D.createStringLiteralFromNode(e)) } function A9e(e) { return e &= -65, e &= -9, e & 16 || (e |= 4), e } function C9e(e) { return e &= -5, e &= -17, e |= 8, e } function _Ee(e, t, r, i, o = !0) { let s = Vi(e, r), l = r === i && o, f = jn(s.parent, x9e), d = 124; if (!f || !(HX(f.name, e, r, i) || l)) return { error: uo(_.Could_not_find_property_for_which_to_generate_accessor) }; if (!S9e(f.name)) return { error: uo(_.Name_is_not_valid) }; if ((uu(f) & 126975 | d) !== d) return { error: uo(_.Can_only_convert_property_with_modifier) }; let g = f.name.text, m = DY(g), v = dEe(m ? g : i1(`_${g}`, e), f.name), S = dEe(m ? i1(g.substring(1), e) : g, f.name); return { isStatic: zc(f), isReadonly: jI(f), type: O9e(f, t), container: f.kind === 166 ? f.parent.parent : f.parent, originalName: f.name.text, declaration: f, fieldName: v, accessorName: S, renameAccessor: m } } function I9e(e, t, r, i, o, s) { return D.createGetAccessorDeclaration(i, t, [], r, D.createBlock([D.createReturnStatement(fEe(e, o, s))], !0)) } function L9e(e, t, r, i, o, s) { return D.createSetAccessorDeclaration(i, t, [D.createParameterDeclaration(void 0, void 0, D.createIdentifier("value"), void 0, r)], D.createBlock([D.createExpressionStatement(D.createAssignment(fEe(e, o, s), D.createIdentifier("value")))], !0)) } function k9e(e, t, r, i, o, s) { let l = D.updatePropertyDeclaration(r, s, o, r.questionToken || r.exclamationToken, i, r.initializer); e.replaceNode(t, r, l) } function D9e(e, t, r, i) { let o = D.updatePropertyAssignment(r, i, r.initializer); (o.modifiers || o.questionToken || o.exclamationToken) && (o === r && (o = D.cloneNode(o)), o.modifiers = void 0, o.questionToken = void 0, o.exclamationToken = void 0), e.replacePropertyAssignment(t, r, o) } function w9e(e, t, r, i, o, s) { Na(r) ? k9e(e, t, r, i, o, s) : yl(r) ? D9e(e, t, r, o) : e.replaceNode(t, r, D.updateParameterDeclaration(r, s, r.dotDotDotToken, Ga(o, Re), r.questionToken, r.type, r.initializer)) } function pEe(e, t, r, i, o) { Ad(i, i.parent) ? e.insertMemberAtStart(t, o, r) : yl(i) ? e.insertNodeAfterComma(t, i, r) : e.insertNodeAfter(t, i, r) } function R9e(e, t, r, i, o) { r.body && r.body.forEachChild(function s(l) { Vs(l) && l.expression.kind === 108 && yo(l.argumentExpression) && l.argumentExpression.text === o && YI(l) && e.replaceNode(t, l.argumentExpression, D.createStringLiteral(i)), br(l) && l.expression.kind === 108 && l.name.text === o && YI(l) && e.replaceNode(t, l.name, D.createIdentifier(i)), !Ia(l) && !Yr(l) && l.forEachChild(s) }) } function O9e(e, t) { let r = Mce(e); if (Na(e) && r && e.questionToken) { let i = t.getTypeChecker(), o = i.getTypeFromTypeNode(r); if (!i.isTypeAssignableTo(i.getUndefinedType(), o)) { let s = DS(r) ? r.types : [r]; return D.createUnionTypeNode([...s, D.createKeywordTypeNode(155)]) } } return r } function mZ(e, t) { let r = []; for (; e;) { let i = P0(e), o = i && t.getSymbolAtLocation(i.expression); if (!o) break; let s = o.flags & 2097152 ? t.getAliasedSymbol(o) : o, l = s.declarations && wr(s.declarations, Yr); if (!l) break; r.push(l), e = l } return r } var N9e = gt({ "src/services/codefixes/generateAccessors.ts"() { "use strict"; Fr() } }); function P9e(e, t) { let r = Gn(t), i = VA(t), o = e.program.getCompilerOptions(), s = []; return s.push(mEe(e, r, t, Xg(i.name, void 0, t.moduleSpecifier, J_(r, e.preferences)))), Rl(o) === 1 && s.push(mEe(e, r, t, D.createImportEqualsDeclaration(void 0, !1, i.name, D.createExternalModuleReference(t.moduleSpecifier)))), s } function mEe(e, t, r, i) { let o = nr.ChangeTracker.with(e, s => s.replaceNode(t, r, i)); return K_(hZ, o, [_.Replace_import_with_0, o[0].textChanges[0].newText]) } function M9e(e) { let t = e.sourceFile, r = _.This_expression_is_not_callable.code === e.errorCode ? 210 : 211, i = jn(Vi(t, e.span.start), s => s.kind === r); if (!i) return []; let o = i.expression; return hEe(e, o) } function F9e(e) { let t = e.sourceFile, r = jn(Vi(t, e.span.start), i => i.getStart() === e.span.start && i.getEnd() === e.span.start + e.span.length); return r ? hEe(e, r) : [] } function hEe(e, t) { let r = e.program.getTypeChecker().getTypeAtLocation(t); if (!(r.symbol && Zp(r.symbol) && r.symbol.links.originatingImport)) return []; let i = [], o = r.symbol.links.originatingImport; if (Dd(o) || si(i, P9e(e, o)), ot(t) && !(zl(t.parent) && t.parent.name === t)) { let s = e.sourceFile, l = nr.ChangeTracker.with(e, f => f.replaceNode(s, t, D.createPropertyAccessExpression(t, "default"), {})); i.push(K_(hZ, l, _.Use_synthetic_default_member)) } return i } var hZ, G9e = gt({ "src/services/codefixes/fixInvalidImportSyntax.ts"() { "use strict"; Fr(), Qa(), hZ = "invalidImportSyntax", za({ errorCodes: [_.This_expression_is_not_callable.code, _.This_expression_is_not_constructable.code], getCodeActions: M9e }), za({ errorCodes: [_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code, _.Type_0_does_not_satisfy_the_constraint_1.code, _.Type_0_is_not_assignable_to_type_1.code, _.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code, _.Type_predicate_0_is_not_assignable_to_1.code, _.Property_0_of_type_1_is_not_assignable_to_2_index_type_3.code, _._0_index_type_1_is_not_assignable_to_2_index_type_3.code, _.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code, _.Property_0_in_type_1_is_not_assignable_to_type_2.code, _.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code, _.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code], getCodeActions: F9e }) } }); function gEe(e, t) { let r = Vi(e, t); if (Re(r) && Na(r.parent)) { let i = Cl(r.parent); if (i) return { type: i, prop: r.parent, isJs: Yn(r.parent) } } } function B9e(e, t) { if (t.isJs) return; let r = nr.ChangeTracker.with(e, i => yEe(i, e.sourceFile, t.prop)); return Ma(M9, r, [_.Add_definite_assignment_assertion_to_property_0, t.prop.getText()], F9, _.Add_definite_assignment_assertions_to_all_uninitialized_properties) } function yEe(e, t, r) { pd(r); let i = D.updatePropertyDeclaration(r, r.modifiers, r.name, D.createToken(53), r.type, r.initializer); e.replaceNode(t, r, i) } function U9e(e, t) { let r = nr.ChangeTracker.with(e, i => vEe(i, e.sourceFile, t)); return Ma(M9, r, [_.Add_undefined_type_to_property_0, t.prop.name.getText()], G9, _.Add_undefined_type_to_all_uninitialized_properties) } function vEe(e, t, r) { let i = D.createKeywordTypeNode(155), o = DS(r.type) ? r.type.types.concat(i) : [r.type, i], s = D.createUnionTypeNode(o); r.isJs ? e.addJSDocTags(t, r.prop, [D.createJSDocTypeTag(void 0, D.createJSDocTypeExpression(s))]) : e.replaceNode(t, r.type, s) } function V9e(e, t) { if (t.isJs) return; let r = e.program.getTypeChecker(), i = EEe(r, t.prop); if (!i) return; let o = nr.ChangeTracker.with(e, s => bEe(s, e.sourceFile, t.prop, i)); return Ma(M9, o, [_.Add_initializer_to_property_0, t.prop.name.getText()], B9, _.Add_initializers_to_all_uninitialized_properties) } function bEe(e, t, r, i) { pd(r); let o = D.updatePropertyDeclaration(r, r.modifiers, r.name, r.questionToken, r.type, i); e.replaceNode(t, r, o) } function EEe(e, t) { return TEe(e, e.getTypeFromTypeNode(t.type)) } function TEe(e, t) { if (t.flags & 512) return t === e.getFalseType() || t === e.getFalseType(!0) ? D.createFalse() : D.createTrue(); if (t.isStringLiteral()) return D.createStringLiteral(t.value); if (t.isNumberLiteral()) return D.createNumericLiteral(t.value); if (t.flags & 2048) return D.createBigIntLiteral(t.value); if (t.isUnion()) return ks(t.types, r => TEe(e, r)); if (t.isClass()) { let r = Nh(t.symbol); if (!r || Mr(r, 256)) return; let i = Vm(r); return i && i.parameters.length ? void 0 : D.createNewExpression(D.createIdentifier(t.symbol.name), void 0, void 0) } else if (e.isArrayLikeType(t)) return D.createArrayLiteralExpression() } var M9, F9, G9, B9, gZ, j9e = gt({ "src/services/codefixes/fixStrictClassInitialization.ts"() { "use strict"; Fr(), Qa(), M9 = "strictClassInitialization", F9 = "addMissingPropertyDefiniteAssignmentAssertions", G9 = "addMissingPropertyUndefinedType", B9 = "addMissingPropertyInitializer", gZ = [_.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code], za({ errorCodes: gZ, getCodeActions: function (t) { let r = gEe(t.sourceFile, t.span.start); if (!r) return; let i = []; return Sn(i, U9e(t, r)), Sn(i, B9e(t, r)), Sn(i, V9e(t, r)), i }, fixIds: [F9, G9, B9], getAllCodeActions: e => ns(e, gZ, (t, r) => { let i = gEe(r.file, r.start); if (i) switch (e.fixId) { case F9: yEe(t, r.file, i.prop); break; case G9: vEe(t, r.file, i); break; case B9: let o = e.program.getTypeChecker(), s = EEe(o, i.prop); if (!s) return; bEe(t, r.file, i.prop, s); break; default: L.fail(JSON.stringify(e.fixId)) } }) }) } }); function SEe(e, t, r) { let { allowSyntheticDefaults: i, defaultImportName: o, namedImports: s, statement: l, required: f } = r; e.replaceNode(t, l, o && !i ? D.createImportEqualsDeclaration(void 0, !1, o, D.createExternalModuleReference(f)) : D.createImportDeclaration(void 0, D.createImportClause(!1, o, s), f, void 0)) } function xEe(e, t, r) { let { parent: i } = Vi(e, r); if (!qu(i, !0)) throw L.failBadSyntaxKind(i); let o = Ga(i.parent, wi), s = zr(o.name, Re), l = cm(o.name) ? H9e(o.name) : void 0; if (s || l) return { allowSyntheticDefaults: wT(t.getCompilerOptions()), defaultImportName: s, namedImports: l, statement: Ga(o.parent.parent, Bc), required: Vo(i.arguments) } } function H9e(e) { let t = []; for (let r of e.elements) { if (!Re(r.name) || r.initializer) return; t.push(D.createImportSpecifier(!1, zr(r.propertyName, Re), r.name)) } if (t.length) return D.createNamedImports(t) } var U9, yZ, W9e = gt({ "src/services/codefixes/requireInTs.ts"() { "use strict"; Fr(), Qa(), U9 = "requireInTs", yZ = [_.require_call_may_be_converted_to_an_import.code], za({ errorCodes: yZ, getCodeActions(e) { let t = xEe(e.sourceFile, e.program, e.span.start); if (!t) return; let r = nr.ChangeTracker.with(e, i => SEe(i, e.sourceFile, t)); return [Ma(U9, r, _.Convert_require_to_import, U9, _.Convert_all_require_to_import)] }, fixIds: [U9], getAllCodeActions: e => ns(e, yZ, (t, r) => { let i = xEe(r.file, e.program, r.start); i && SEe(t, e.sourceFile, i) }) }) } }); function AEe(e, t) { let r = Vi(e, t); if (!Re(r)) return; let { parent: i } = r; if (Nl(i) && um(i.moduleReference)) return { importNode: i, name: r, moduleSpecifier: i.moduleReference.expression }; if (nv(i)) { let o = i.parent.parent; return { importNode: o, name: r, moduleSpecifier: o.moduleSpecifier } } } function CEe(e, t, r, i) { e.replaceNode(t, r.importNode, Xg(r.name, void 0, r.moduleSpecifier, J_(t, i))) } var V9, vZ, z9e = gt({ "src/services/codefixes/useDefaultImport.ts"() { "use strict"; Fr(), Qa(), V9 = "useDefaultImport", vZ = [_.Import_may_be_converted_to_a_default_import.code], za({ errorCodes: vZ, getCodeActions(e) { let { sourceFile: t, span: { start: r } } = e, i = AEe(t, r); if (!i) return; let o = nr.ChangeTracker.with(e, s => CEe(s, t, i, e.preferences)); return [Ma(V9, o, _.Convert_to_default_import, V9, _.Convert_all_to_default_imports)] }, fixIds: [V9], getAllCodeActions: e => ns(e, vZ, (t, r) => { let i = AEe(r.file, r.start); i && CEe(t, r.file, i, e.preferences) }) }) } }); function IEe(e, t, r) { let i = zr(Vi(t, r.start), Vf); if (!i) return; let o = i.getText(t) + "n"; e.replaceNode(t, i, D.createBigIntLiteral(o)) } var j9, bZ, J9e = gt({ "src/services/codefixes/useBigintLiteral.ts"() { "use strict"; Fr(), Qa(), j9 = "useBigintLiteral", bZ = [_.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code], za({ errorCodes: bZ, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => IEe(i, t.sourceFile, t.span)); if (r.length > 0) return [Ma(j9, r, _.Convert_to_a_bigint_numeric_literal, j9, _.Convert_all_to_bigint_numeric_literals)] }, fixIds: [j9], getAllCodeActions: e => ns(e, bZ, (t, r) => IEe(t, r.file, r)) }) } }); function LEe(e, t) { let r = Vi(e, t); return L.assert(r.kind === 100, "This token should be an ImportKeyword"), L.assert(r.parent.kind === 202, "Token parent should be an ImportType"), r.parent } function kEe(e, t, r) { let i = D.updateImportTypeNode(r, r.argument, r.assertions, r.qualifier, r.typeArguments, !0); e.replaceNode(t, r, i) } var DEe, H9, EZ, K9e = gt({ "src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts"() { "use strict"; Fr(), Qa(), DEe = "fixAddModuleReferTypeMissingTypeof", H9 = DEe, EZ = [_.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code], za({ errorCodes: EZ, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = LEe(r, i.start), s = nr.ChangeTracker.with(t, l => kEe(l, r, o)); return [Ma(H9, s, _.Add_missing_typeof, H9, _.Add_missing_typeof)] }, fixIds: [H9], getAllCodeActions: e => ns(e, EZ, (t, r) => kEe(t, e.sourceFile, LEe(r.file, r.start))) }) } }); function wEe(e, t) { let o = Vi(e, t).parent.parent; if (!(!ar(o) && (o = o.parent, !ar(o))) && rc(o.operatorToken)) return o } function REe(e, t, r) { let i = q9e(r); i && e.replaceNode(t, r, D.createJsxFragment(D.createJsxOpeningFragment(), i, D.createJsxJsxClosingFragment())) } function q9e(e) { let t = [], r = e; for (; ;)if (ar(r) && rc(r.operatorToken) && r.operatorToken.kind === 27) { if (t.push(r.left), Pw(r.right)) return t.push(r.right), t; if (ar(r.right)) { r = r.right; continue } else return } else return } var W9, TZ, X9e = gt({ "src/services/codefixes/wrapJsxInFragment.ts"() { "use strict"; Fr(), Qa(), W9 = "wrapJsxInFragment", TZ = [_.JSX_expressions_must_have_one_parent_element.code], za({ errorCodes: TZ, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = wEe(r, i.start); if (!o) return; let s = nr.ChangeTracker.with(t, l => REe(l, r, o)); return [Ma(W9, s, _.Wrap_in_JSX_fragment, W9, _.Wrap_all_unparented_JSX_in_JSX_fragment)] }, fixIds: [W9], getAllCodeActions: e => ns(e, TZ, (t, r) => { let i = wEe(e.sourceFile, r.start); i && REe(t, e.sourceFile, i) }) }) } }); function OEe(e, t) { let r = Vi(e, t), i = zr(r.parent.parent, kS); if (!i) return; let o = ku(i.parent) ? i.parent : zr(i.parent.parent, Ep); if (o) return { indexSignature: i, container: o } } function Y9e(e, t) { return D.createTypeAliasDeclaration(e.modifiers, e.name, e.typeParameters, t) } function NEe(e, t, { indexSignature: r, container: i }) { let s = (ku(i) ? i.members : i.type.members).filter(m => !kS(m)), l = Vo(r.parameters), f = D.createTypeParameterDeclaration(void 0, Ga(l.name, Re), l.type), d = D.createMappedTypeNode(jI(r) ? D.createModifier(146) : void 0, f, void 0, r.questionToken, r.type, void 0), g = D.createIntersectionTypeNode([...NI(i), d, ...s.length ? [D.createTypeLiteralNode(s)] : Je]); e.replaceNode(t, i, Y9e(i, g)) } var z9, SZ, $9e = gt({ "src/services/codefixes/convertToMappedObjectType.ts"() { "use strict"; Fr(), Qa(), z9 = "fixConvertToMappedObjectType", SZ = [_.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code], za({ errorCodes: SZ, getCodeActions: function (t) { let { sourceFile: r, span: i } = t, o = OEe(r, i.start); if (!o) return; let s = nr.ChangeTracker.with(t, f => NEe(f, r, o)), l = vr(o.container.name); return [Ma(z9, s, [_.Convert_0_to_mapped_object_type, l], z9, [_.Convert_0_to_mapped_object_type, l])] }, fixIds: [z9], getAllCodeActions: e => ns(e, SZ, (t, r) => { let i = OEe(r.file, r.start); i && NEe(t, r.file, i) }) }) } }), xZ, PEe, Q9e = gt({ "src/services/codefixes/removeAccidentalCallParentheses.ts"() { "use strict"; Fr(), Qa(), xZ = "removeAccidentalCallParentheses", PEe = [_.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code], za({ errorCodes: PEe, getCodeActions(e) { let t = jn(Vi(e.sourceFile, e.span.start), Pa); if (!t) return; let r = nr.ChangeTracker.with(e, i => { i.deleteRange(e.sourceFile, { pos: t.expression.end, end: t.end }) }); return [K_(xZ, r, _.Remove_parentheses)] }, fixIds: [xZ] }) } }); function MEe(e, t, r) { let i = zr(Vi(t, r.start), f => f.kind === 133), o = i && zr(i.parent, v2); if (!o) return; let s = o; if (ud(o.parent)) { let f = QI(o.expression, !1); if (Re(f)) { let d = el(o.parent.pos, t); d && d.kind !== 103 && (s = o.parent) } } e.replaceNode(t, s, o.expression) } var J9, AZ, Z9e = gt({ "src/services/codefixes/removeUnnecessaryAwait.ts"() { "use strict"; Fr(), Qa(), J9 = "removeUnnecessaryAwait", AZ = [_.await_has_no_effect_on_the_type_of_this_expression.code], za({ errorCodes: AZ, getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => MEe(i, t.sourceFile, t.span)); if (r.length > 0) return [Ma(J9, r, _.Remove_unnecessary_await, J9, _.Remove_all_unnecessary_uses_of_await)] }, fixIds: [J9], getAllCodeActions: e => ns(e, AZ, (t, r) => MEe(t, r.file, r)) }) } }); function FEe(e, t) { return jn(Vi(e, t.start), gl) } function GEe(e, t, r) { if (!t) return; let i = L.checkDefined(t.importClause); e.replaceNode(r.sourceFile, t, D.updateImportDeclaration(t, t.modifiers, D.updateImportClause(i, i.isTypeOnly, i.name, void 0), t.moduleSpecifier, t.assertClause)), e.insertNodeAfter(r.sourceFile, t, D.createImportDeclaration(void 0, D.updateImportClause(i, i.isTypeOnly, void 0, i.namedBindings), t.moduleSpecifier, t.assertClause)) } var CZ, K9, eGe = gt({ "src/services/codefixes/splitTypeOnlyImport.ts"() { "use strict"; Fr(), Qa(), CZ = [_.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code], K9 = "splitTypeOnlyImport", za({ errorCodes: CZ, fixIds: [K9], getCodeActions: function (t) { let r = nr.ChangeTracker.with(t, i => GEe(i, FEe(t.sourceFile, t.span), t)); if (r.length) return [Ma(K9, r, _.Split_into_two_separate_import_declarations, K9, _.Split_all_invalid_type_only_imports)] }, getAllCodeActions: e => ns(e, CZ, (t, r) => { GEe(t, FEe(e.sourceFile, r), e) }) }) } }); function BEe(e, t, r) { var i; let s = r.getTypeChecker().getSymbolAtLocation(Vi(e, t)); if (s === void 0) return; let l = zr((i = s?.valueDeclaration) == null ? void 0 : i.parent, pu); if (l === void 0) return; let f = Yo(l, 85, e); if (f !== void 0) return { symbol: s, token: f } } function UEe(e, t, r) { e.replaceNode(t, r, D.createToken(119)) } var q9, IZ, tGe = gt({ "src/services/codefixes/convertConstToLet.ts"() { "use strict"; Fr(), Qa(), q9 = "fixConvertConstToLet", IZ = [_.Cannot_assign_to_0_because_it_is_a_constant.code], za({ errorCodes: IZ, getCodeActions: function (t) { let { sourceFile: r, span: i, program: o } = t, s = BEe(r, i.start, o); if (s === void 0) return; let l = nr.ChangeTracker.with(t, f => UEe(f, r, s.token)); return [D$(q9, l, _.Convert_const_to_let, q9, _.Convert_all_const_to_let)] }, getAllCodeActions: e => { let { program: t } = e, r = new Map; return ix(nr.ChangeTracker.with(e, i => { ax(e, IZ, o => { let s = BEe(o.file, o.start, t); if (s && V_(r, $a(s.symbol))) return UEe(i, o.file, s.token) }) })) }, fixIds: [q9] }) } }); function VEe(e, t, r) { let i = Vi(e, t); return i.kind === 26 && i.parent && (rs(i.parent) || fu(i.parent)) ? { node: i } : void 0 } function jEe(e, t, { node: r }) { let i = D.createToken(27); e.replaceNode(t, r, i) } var X9, HEe, LZ, nGe = gt({ "src/services/codefixes/fixExpectedComma.ts"() { "use strict"; Fr(), Qa(), X9 = "fixExpectedComma", HEe = _._0_expected.code, LZ = [HEe], za({ errorCodes: LZ, getCodeActions(e) { let { sourceFile: t } = e, r = VEe(t, e.span.start, e.errorCode); if (!r) return; let i = nr.ChangeTracker.with(e, o => jEe(o, t, r)); return [Ma(X9, i, [_.Change_0_to_1, ";", ","], X9, [_.Change_0_to_1, ";", ","])] }, fixIds: [X9], getAllCodeActions: e => ns(e, LZ, (t, r) => { let i = VEe(r.file, r.start, r.code); i && jEe(t, e.sourceFile, i) }) }) } }); function WEe(e, t, r, i, o) { let s = Vi(t, r.start); if (!Re(s) || !Pa(s.parent) || s.parent.expression !== s || s.parent.arguments.length !== 0) return; let l = i.getTypeChecker(), f = l.getSymbolAtLocation(s), d = f?.valueDeclaration; if (!d || !ha(d) || !z0(d.parent.parent) || o?.has(d)) return; o?.add(d); let g = rGe(d.parent.parent); if (vt(g)) { let m = g[0], v = !DS(m) && !wS(m) && wS(D.createUnionTypeNode([m, D.createKeywordTypeNode(114)]).types[0]); v && e.insertText(t, m.pos, "("), e.insertText(t, m.end, v ? ") | void" : " | void") } else { let m = l.getResolvedSignature(s.parent), v = m?.parameters[0], S = v && l.getTypeOfSymbolAtLocation(v, d.parent.parent); Yn(d) ? (!S || S.flags & 3) && (e.insertText(t, d.parent.parent.end, ")"), e.insertText(t, xo(t.text, d.parent.parent.pos), "/** @type {Promise<void>} */(")) : (!S || S.flags & 2) && e.insertText(t, d.parent.parent.expression.end, "<void>") } } function rGe(e) { var t; if (Yn(e)) { if (ud(e.parent)) { let r = (t = x0(e.parent)) == null ? void 0 : t.typeExpression.type; if (r && m_(r) && Re(r.typeName) && vr(r.typeName) === "Promise") return r.typeArguments } } else return e.typeArguments } var zEe, kZ, DZ, iGe = gt({ "src/services/codefixes/fixAddVoidToPromise.ts"() { "use strict"; Fr(), Qa(), zEe = "addVoidToPromise", kZ = "addVoidToPromise", DZ = [_.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code, _.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code], za({ errorCodes: DZ, fixIds: [kZ], getCodeActions(e) { let t = nr.ChangeTracker.with(e, r => WEe(r, e.sourceFile, e.span, e.program)); if (t.length > 0) return [Ma(zEe, t, _.Add_void_to_Promise_resolved_without_a_value, kZ, _.Add_void_to_all_Promises_resolved_without_a_value)] }, getAllCodeActions(e) { return ns(e, DZ, (t, r) => WEe(t, r.file, r, e.program, new Set)) } }) } }), gu = {}; Mo(gu, { PreserveOptionalFlags: () => pZ, addNewNodeForMemberSymbol: () => iEe, codeFixAll: () => ns, createCodeFixAction: () => Ma, createCodeFixActionMaybeFixAll: () => D$, createCodeFixActionWithoutFixAll: () => K_, createCombinedCodeActions: () => ix, createFileTextChanges: () => _ve, createImportAdder: () => s1, createImportSpecifierResolver: () => v7e, createJsonPropertyAssignment: () => P9, createMissingMemberNodes: () => oZ, createSignatureDeclarationFromCallExpression: () => sZ, createSignatureDeclarationFromSignature: () => O9, createStubbedBody: () => fP, eachDiagnostic: () => ax, findAncestorMatchingSpan: () => _Z, findJsonProperty: () => fZ, generateAccessorFromProperty: () => uEe, getAccessorConvertiblePropertyAtPosition: () => _Ee, getAllFixes: () => nFe, getAllSupers: () => mZ, getArgumentTypesAndTypeParameters: () => sEe, getFixes: () => tFe, getImportCompletionAction: () => b7e, getImportKind: () => rQ, getNoopSymbolTrackerWithResolver: () => sx, getPromoteTypeOnlyCompletionAction: () => E7e, getSupportedErrorCodes: () => Z3e, importFixName: () => lQ, importSymbols: () => cx, moduleSpecifierToValidIdentifier: () => cQ, moduleSymbolToValidIdentifier: () => sQ, parameterShouldGetTypeFromJSDoc: () => Rve, registerCodeFix: () => za, setJsonCompilerOptionValue: () => dZ, setJsonCompilerOptionValues: () => uZ, tryGetAutoImportableReferenceFromTypeNode: () => l1, typeToAutoImportableTypeNode: () => N9 }); var Qa = gt({ "src/services/_namespaces/ts.codefix.ts"() { "use strict"; rFe(), iFe(), aFe(), cFe(), _Fe(), gFe(), yFe(), vFe(), bFe(), xFe(), NFe(), MFe(), KFe(), d7e(), f7e(), p7e(), m7e(), h7e(), y7e(), V7e(), W7e(), K7e(), q7e(), X7e(), Q7e(), t5e(), i5e(), l5e(), v5e(), E5e(), T5e(), x5e(), A5e(), C5e(), I5e(), k5e(), D5e(), w5e(), R5e(), O5e(), P5e(), G5e(), j5e(), Y5e(), Q5e(), Z5e(), n9e(), r9e(), a9e(), o9e(), p9e(), m9e(), h9e(), T9e(), N9e(), G9e(), j9e(), W9e(), z9e(), J9e(), K9e(), X9e(), $9e(), Q9e(), Z9e(), eGe(), tGe(), nGe(), iGe() } }); function aGe(e) { return !!(e.kind & 1) } function oGe(e) { return !!(e.kind & 2) } function _P(e) { return !!(e && e.kind & 4) } function eC(e) { return !!(e && e.kind === 32) } function sGe(e) { return _P(e) || eC(e) || wZ(e) } function cGe(e) { return (_P(e) || eC(e)) && !!e.isFromPackageJson } function lGe(e) { return !!(e.kind & 8) } function uGe(e) { return !!(e.kind & 16) } function JEe(e) { return !!(e && e.kind & 64) } function KEe(e) { return !!(e && e.kind & 128) } function dGe(e) { return !!(e && e.kind & 256) } function wZ(e) { return !!(e && e.kind & 512) } function qEe(e, t, r, i, o, s, l, f, d) { var g, m, v; let S = Ms(), x = l || bS($s(i.getCompilerOptions())), A = !1, w = 0, C = 0, P = 0, F = 0, B = d({ tryResolve: W, skippedAny: () => A, resolvedAny: () => C > 0, resolvedBeyondLimit: () => C > iG }), q = F ? ` (${(P / F * 100).toFixed(1)}% hit rate)` : ""; return (g = t.log) == null || g.call(t, `${e}: resolved ${C} module specifiers, plus ${w} ambient and ${P} from cache${q}`), (m = t.log) == null || m.call(t, `${e}: response is ${A ? "incomplete" : "complete"}`), (v = t.log) == null || v.call(t, `${e}: ${Ms() - S}`), B; function W(Y, R) { if (R) { let Z = r.getModuleSpecifierForBestExportInfo(Y, o, f); return Z && w++, Z || "failed" } let ie = x || s.allowIncompleteCompletions && C < iG, $ = !ie && s.allowIncompleteCompletions && F < jZ, fe = ie || $ ? r.getModuleSpecifierForBestExportInfo(Y, o, f, $) : void 0; return (!ie && !$ || $ && !fe) && (A = !0), C += fe?.computedWithoutCacheCount || 0, P += Y.length - (fe?.computedWithoutCacheCount || 0), $ && F++, fe || (x ? "failed" : "skipped") } } function fGe(e, t, r, i, o, s, l, f, d, g, m = !1) { var v; let { previousToken: S } = Q9(o, i); if (l && !n1(i, o, S) && !JGe(i, l, S, o)) return; if (l === " ") return s.includeCompletionsForImportStatements && s.includeCompletionsWithInsertText ? { isGlobalCompletion: !0, isMemberCompletion: !1, isNewIdentifierLocation: !0, isIncomplete: !0, entries: [] } : void 0; let x = t.getCompilerOptions(), A = s.allowIncompleteCompletions ? (v = e.getIncompleteCompletionsCache) == null ? void 0 : v.call(e) : void 0; if (A && f === 3 && S && Re(S)) { let P = _Ge(A, i, S, t, e, s, d, o); if (P) return P } else A?.clear(); let w = aG.getStringLiteralCompletions(i, o, S, x, e, t, r, s, m); if (w) return w; if (S && hI(S.parent) && (S.kind === 81 || S.kind === 86 || S.kind === 79)) return wGe(S.parent); let C = iTe(t, r, i, x, o, s, void 0, e, g, d); if (C) switch (C.kind) { case 0: let P = gGe(i, e, t, x, r, C, s, g, o, m); return P?.isIncomplete && A?.set(P), P; case 1: return RZ(xb.getJSDocTagNameCompletions()); case 2: return RZ(xb.getJSDocTagCompletions()); case 3: return RZ(xb.getJSDocParameterNameCompletions(C.tag)); case 4: return mGe(C.keywordCompletions, C.isNewIdentifierLocation); default: return L.assertNever(C) } } function pP(e, t) { var r, i; let o = XD(e.sortText, t.sortText); return o === 0 && (o = XD(e.name, t.name)), o === 0 && ((r = e.data) != null && r.moduleSpecifier) && ((i = t.data) != null && i.moduleSpecifier) && (o = BR(e.data.moduleSpecifier, t.data.moduleSpecifier)), o === 0 ? -1 : o } function XEe(e) { return !!e?.moduleSpecifier } function _Ge(e, t, r, i, o, s, l, f) { let d = e.get(); if (!d) return; let g = ef(t, f), m = r.text.toLowerCase(), v = YN(t, o, i, s, l), S = qEe("continuePreviousIncompleteResponse", o, gu.createImportSpecifierResolver(t, i, o, s), i, r.getStart(), s, !1, TS(r), x => { let A = Zi(d.entries, w => { var C; if (!w.hasAction || !w.source || !w.data || XEe(w.data)) return w; if (!gTe(w.name, m)) return; let { origin: P } = L.checkDefined(aTe(w.name, w.data, i, o)), F = v.get(t.path, w.data.exportMapKey), B = F && x.tryResolve(F, !fl(u_(P.moduleSymbol.name))); if (B === "skipped") return w; if (!B || B === "failed") { (C = o.log) == null || C.call(o, `Unexpected failure resolving auto import for '${w.name}' from '${w.source}'`); return } let q = { ...P, kind: 32, moduleSpecifier: B.moduleSpecifier }; return w.data = tTe(q), w.source = PZ(q), w.sourceDisplay = [tf(q.moduleSpecifier)], w }); return x.skippedAny() || (d.isIncomplete = void 0), A }); return d.entries = S, d.flags = (d.flags || 0) | 4, d.optionalReplacementSpan = $Ee(g), d } function RZ(e) { return { isGlobalCompletion: !1, isMemberCompletion: !1, isNewIdentifierLocation: !1, entries: e } } function pGe(e) { return { name: Xa(e), kind: "keyword", kindModifiers: "", sortText: Pl.GlobalsOrKeywords } } function mGe(e, t) { return { isGlobalCompletion: !1, isMemberCompletion: !1, isNewIdentifierLocation: t, entries: e.slice() } } function YEe(e, t, r) { return { kind: 4, keywordCompletions: oTe(e, t), isNewIdentifierLocation: r } } function hGe(e) { switch (e) { case 154: return 8; default: L.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters") } } function $Ee(e) { return e?.kind === 79 ? Du(e) : void 0 } function gGe(e, t, r, i, o, s, l, f, d, g) { let { symbols: m, contextToken: v, completionKind: S, isInSnippetScope: x, isNewIdentifierLocation: A, location: w, propertyAccessToConvert: C, keywordFilters: P, symbolToOriginInfoMap: F, recommendedCompletion: B, isJsxInitializer: q, isTypeOnlyLocation: W, isJsxIdentifierExpected: Y, isRightOfOpenTag: R, isRightOfDotOrQuestionDot: ie, importStatementCompletion: $, insideJsDocTagTypeExpression: fe, symbolToSortTextMap: Z, hasUnresolvedAutoImports: U } = s, re = s.literals, le = r.getTypeChecker(); if (RR(e.scriptKind) === 1) { let ke = vGe(w, e); if (ke) return ke } let _e = jn(v, CL); if (_e && (Pue(v) || AT(v, _e.expression))) { let ke = J7(le, _e.parent.clauses); re = re.filter(Pe => !ke.hasValue(Pe)), m.forEach((Pe, Ce) => { if (Pe.valueDeclaration && q0(Pe.valueDeclaration)) { let Ie = le.getConstantValue(Pe.valueDeclaration); Ie !== void 0 && ke.hasValue(Ie) && (F[Ce] = { kind: 256 }) } }) } let ge = MU(), X = QEe(e, i); if (X && !A && (!m || m.length === 0) && P === 0) return; let Ve = MZ(m, ge, void 0, v, w, d, e, t, r, Do(i), o, S, l, i, f, W, C, Y, q, $, B, F, Z, Y, R, g); if (P !== 0) for (let ke of oTe(P, !fe && Cu(e))) (W && ik(lT(ke.name)) || !Ve.has(ke.name)) && (Ve.add(ke.name), Ny(ge, ke, pP, !0)); for (let ke of VGe(v, d)) Ve.has(ke.name) || (Ve.add(ke.name), Ny(ge, ke, pP, !0)); for (let ke of re) { let Pe = EGe(e, l, ke); Ve.add(Pe.name), Ny(ge, Pe, pP, !0) } X || bGe(e, w.pos, Ve, Do(i), ge); let we; if (l.includeCompletionsWithInsertText && v && !R && !ie && (we = jn(v, hO))) { let ke = ZEe(we, e, l, i, t, r, f); ke && ge.push(ke.entry) } return { flags: s.flags, isGlobalCompletion: x, isIncomplete: l.allowIncompleteCompletions && U ? !0 : void 0, isMemberCompletion: yGe(S), isNewIdentifierLocation: A, optionalReplacementSpan: $Ee(w), entries: ge } } function QEe(e, t) { return !Cu(e) || !!HR(e, t) } function ZEe(e, t, r, i, o, s, l) { let f = e.clauses, d = s.getTypeChecker(), g = d.getTypeAtLocation(e.parent.expression); if (g && g.isUnion() && Ji(g.types, m => m.isLiteral())) { let m = J7(d, f), v = Do(i), S = J_(t, r), x = gu.createImportAdder(t, s, r, o), A = []; for (let W of g.types) if (W.flags & 1024) { L.assert(W.symbol, "An enum member type should have a symbol"), L.assert(W.symbol.parent, "An enum member type should have a parent symbol (the enum symbol)"); let Y = W.symbol.valueDeclaration && d.getConstantValue(W.symbol.valueDeclaration); if (Y !== void 0) { if (m.hasValue(Y)) continue; m.addValue(Y) } let R = gu.typeToAutoImportableTypeNode(d, x, W, e, v); if (!R) return; let ie = Y9(R, v, S); if (!ie) return; A.push(ie) } else if (!m.hasValue(W.value)) switch (typeof W.value) { case "object": A.push(W.value.negative ? D.createPrefixUnaryExpression(40, D.createBigIntLiteral({ negative: !1, base10Value: W.value.base10Value })) : D.createBigIntLiteral(W.value)); break; case "number": A.push(W.value < 0 ? D.createPrefixUnaryExpression(40, D.createNumericLiteral(-W.value)) : D.createNumericLiteral(W.value)); break; case "string": A.push(D.createStringLiteral(W.value, S === 0)); break }if (A.length === 0) return; let w = on(A, W => D.createCaseClause(W, [])), C = bb(o, l?.options), P = NZ({ removeComments: !0, module: i.module, target: i.target, newLine: XN(C) }), F = l ? W => P.printAndFormatNode(4, W, t, l) : W => P.printNode(4, W, t), B = on(w, (W, Y) => r.includeCompletionsWithSnippetText ? `${F(W)}$${Y + 1}` : `${F(W)}`).join(C); return { entry: { name: `${P.printNode(4, w[0], t)} ...`, kind: "", sortText: Pl.GlobalsOrKeywords, insertText: B, hasAction: x.hasFixes() || void 0, source: "SwitchCases/", isSnippet: r.includeCompletionsWithSnippetText ? !0 : void 0 }, importAdder: x } } } function Y9(e, t, r) { switch (e.kind) { case 180: let i = e.typeName; return $9(i, t, r); case 196: let o = Y9(e.objectType, t, r), s = Y9(e.indexType, t, r); return o && s && D.createElementAccessExpression(o, s); case 198: let l = e.literal; switch (l.kind) { case 10: return D.createStringLiteral(l.text, r === 0); case 8: return D.createNumericLiteral(l.text, l.numericLiteralFlags) }return; case 193: let f = Y9(e.type, t, r); return f && (Re(f) ? f : D.createParenthesizedExpression(f)); case 183: return $9(e.exprName, t, r); case 202: L.fail("We should not get an import type after calling 'codefix.typeToAutoImportableTypeNode'.") } } function $9(e, t, r) { if (Re(e)) return e; let i = Gi(e.right.escapedText); return HW(i, t) ? D.createPropertyAccessExpression($9(e.left, t, r), i) : D.createElementAccessExpression($9(e.left, t, r), D.createStringLiteral(i, r === 0)) } function yGe(e) { switch (e) { case 0: case 3: case 2: return !0; default: return !1 } } function vGe(e, t) { let r = jn(e, i => { switch (i.kind) { case 284: return !0; case 43: case 31: case 79: case 208: return !1; default: return "quit" } }); if (r) { let i = !!Yo(r, 31, t), l = r.parent.openingElement.tagName.getText(t) + (i ? "" : ">"), f = Du(r.tagName), d = { name: l, kind: "class", kindModifiers: void 0, sortText: Pl.LocationPriority }; return { isGlobalCompletion: !1, isMemberCompletion: !0, isNewIdentifierLocation: !1, optionalReplacementSpan: f, entries: [d] } } } function bGe(e, t, r, i, o) { p$(e).forEach((s, l) => { if (s === t) return; let f = Gi(l); !r.has(f) && i_(f, i) && (r.add(f), Ny(o, { name: f, kind: "warning", kindModifiers: "", sortText: Pl.JavascriptIdentifiers, isFromUncheckedFile: !0 }, pP)) }) } function OZ(e, t, r) { return typeof r == "object" ? j0(r) + "n" : Ta(r) ? ck(e, t, r) : JSON.stringify(r) } function EGe(e, t, r) { return { name: OZ(e, t, r), kind: "string", kindModifiers: "", sortText: Pl.LocationPriority } } function TGe(e, t, r, i, o, s, l, f, d, g, m, v, S, x, A, w, C, P, F, B, q, W, Y, R) { let ie, $ = eY(r), fe, Z, U = PZ(v), re, le, _e, ge = d.getTypeChecker(), X = v && uGe(v), Ve = v && oGe(v) || m; if (v && aGe(v)) ie = m ? `this${X ? "?." : ""}[${nTe(l, F, g)}]` : `this${X ? "?." : "."}${g}`; else if ((Ve || X) && x) { ie = Ve ? m ? `[${nTe(l, F, g)}]` : `[${g}]` : g, (X || x.questionDotToken) && (ie = `?.${ie}`); let we = Yo(x, 24, l) || Yo(x, 28, l); if (!we) return; let ke = na(g, x.name.text) ? x.name.end : we.end; $ = Wc(we.getStart(l), ke) } if (A && (ie === void 0 && (ie = g), ie = `{${ie}}`, typeof A != "boolean" && ($ = Du(A, l))), v && lGe(v) && x) { ie === void 0 && (ie = g); let we = el(x.pos, l), ke = ""; we && N7(we.end, we.parent, l) && (ke = ";"), ke += `(await ${x.expression.getText()})`, ie = m ? `${ke}${ie}` : `${ke}${X ? "?." : "."}${ie}`; let Ce = zr(x.parent, v2) ? x.parent : x.expression; $ = Wc(Ce.getStart(l), x.end) } if (eC(v) && (re = [tf(v.moduleSpecifier)], w && ({ insertText: ie, replacementSpan: $ } = kGe(g, w, v, C, l, P, F), Z = F.includeCompletionsWithSnippetText ? !0 : void 0)), v?.kind === 64 && (le = !0), F.includeCompletionsWithClassMemberSnippets && F.includeCompletionsWithInsertText && B === 3 && SGe(e, o, l)) { let we; ({ insertText: ie, isSnippet: Z, importAdder: we, replacementSpan: $ } = eTe(f, d, P, F, g, e, o, s, i, q)), t = Pl.ClassMemberSnippets, we?.hasFixes() && (le = !0, U = "ClassMemberSnippet/") } if (v && KEe(v) && ({ insertText: ie, isSnippet: Z, labelDetails: _e } = v, F.useLabelDetailsInCompletionEntries || (g = g + _e.detail, _e = void 0), U = "ObjectLiteralMethodSnippet/", t = Pl.SortBelow(t)), W && !Y && F.includeCompletionsWithSnippetText && F.jsxAttributeCompletionStyle && F.jsxAttributeCompletionStyle !== "none" && !(Sp(o.parent) && o.parent.initializer)) { let we = F.jsxAttributeCompletionStyle === "braces", ke = ge.getTypeOfSymbolAtLocation(e, o); F.jsxAttributeCompletionStyle === "auto" && !(ke.flags & 528) && !(ke.flags & 1048576 && wr(ke.types, Pe => !!(Pe.flags & 528))) && (ke.flags & 402653316 || ke.flags & 1048576 && Ji(ke.types, Pe => !!(Pe.flags & 402686084 || Nhe(Pe))) ? (ie = `${OT(g)}=${ck(l, F, "$1")}`, Z = !0) : we = !0), we && (ie = `${OT(g)}={$1}`, Z = !0) } if (!(ie !== void 0 && !F.includeCompletionsWithInsertText)) return (_P(v) || eC(v)) && (fe = tTe(v), le = !w), { name: g, kind: $g.getSymbolKind(ge, e, o), kindModifiers: $g.getSymbolModifiers(ge, e), sortText: t, source: U, hasAction: le ? !0 : void 0, isRecommended: DGe(e, S, ge) || void 0, insertText: ie, replacementSpan: $, sourceDisplay: re, labelDetails: _e, isSnippet: Z, isPackageJsonImport: cGe(v) || void 0, isImportStatementCompletion: !!w || void 0, data: fe, ...R ? { symbol: e } : void 0 } } function SGe(e, t, r) { return Yn(t) ? !1 : !!(e.flags & 106500) && (Yr(t) || t.parent && t.parent.parent && _l(t.parent) && t === t.parent.name && t.parent.getLastToken(r) === t.parent.name && Yr(t.parent.parent) || t.parent && A2(t) && Yr(t.parent)) } function eTe(e, t, r, i, o, s, l, f, d, g) { let m = jn(l, Yr); if (!m) return { insertText: o }; let v, S, x = o, A = t.getTypeChecker(), w = l.getSourceFile(), C = NZ({ removeComments: !0, module: r.module, target: r.target, omitTrailingSemicolon: !1, newLine: XN(bb(e, g?.options)) }), P = gu.createImportAdder(w, t, i, e), F; if (i.includeCompletionsWithSnippetText) { v = !0; let ie = D.createEmptyStatement(); F = D.createBlock([ie], !0), Ez(ie, { kind: 0, order: 0 }) } else F = D.createBlock([], !0); let B = 0, { modifiers: q, span: W } = xGe(d, w, f), Y = !!(q & 256), R = []; return gu.addNewNodeForMemberSymbol(s, m, w, { program: t, host: e }, i, P, ie => { let $ = 0; Y && ($ |= 256), _l(ie) && A.getMemberOverrideModifierStatus(m, ie, s) === 1 && ($ |= 16384), R.length || (B = ie.modifierFlagsCache | $ | q), ie = D.updateModifiers(ie, B), R.push(ie) }, F, gu.PreserveOptionalFlags.Property, Y), R.length && (S = W, g ? x = C.printAndFormatSnippetList(131073, D.createNodeArray(R), w, g) : x = C.printSnippetList(131073, D.createNodeArray(R), w)), { insertText: x, isSnippet: v, importAdder: P, replacementSpan: S } } function xGe(e, t, r) { if (!e || Gs(t, r).line > Gs(t, e.getEnd()).line) return { modifiers: 0 }; let i = 0, o, s; return (s = AGe(e)) && (i |= gS(s), o = Du(e)), Na(e.parent) && (i |= im(e.parent.modifiers) & 126975, o = Du(e.parent)), { modifiers: i, span: o } } function AGe(e) { if (Ha(e)) return e.kind; if (Re(e)) { let t = nb(e); if (t && Rg(t)) return t } } function CGe(e, t, r, i, o, s, l, f) { let d = l.includeCompletionsWithSnippetText || void 0, g = t, m = r.getSourceFile(), v = IGe(e, r, m, i, o, l); if (!v) return; let S = NZ({ removeComments: !0, module: s.module, target: s.target, omitTrailingSemicolon: !1, newLine: XN(bb(o, f?.options)) }); f ? g = S.printAndFormatSnippetList(80, D.createNodeArray([v], !0), m, f) : g = S.printSnippetList(80, D.createNodeArray([v], !0), m); let x = nE({ removeComments: !0, module: s.module, target: s.target, omitTrailingSemicolon: !0 }), A = D.createMethodSignature(void 0, "", v.questionToken, v.typeParameters, v.parameters, v.type), w = { detail: x.printNode(4, A, m) }; return { isSnippet: d, insertText: g, labelDetails: w } } function IGe(e, t, r, i, o, s) { let l = e.getDeclarations(); if (!(l && l.length)) return; let f = i.getTypeChecker(), d = l[0], g = cc(sa(d), !1), m = f.getWidenedType(f.getTypeOfSymbolAtLocation(e, t)), S = 33554432 | (J_(r, s) === 0 ? 268435456 : 0); switch (d.kind) { case 168: case 169: case 170: case 171: { let x = m.flags & 1048576 && m.types.length < 10 ? f.getUnionType(m.types, 2) : m; if (x.flags & 1048576) { let F = Pr(x.types, B => f.getSignaturesOfType(B, 0).length > 0); if (F.length === 1) x = F[0]; else return } if (f.getSignaturesOfType(x, 0).length !== 1) return; let w = f.typeToTypeNode(x, t, S, gu.getNoopSymbolTrackerWithResolver({ program: i, host: o })); if (!w || !Jm(w)) return; let C; if (s.includeCompletionsWithSnippetText) { let F = D.createEmptyStatement(); C = D.createBlock([F], !0), Ez(F, { kind: 0, order: 0 }) } else C = D.createBlock([], !0); let P = w.parameters.map(F => D.createParameterDeclaration(void 0, F.dotDotDotToken, F.name, void 0, void 0, F.initializer)); return D.createMethodDeclaration(void 0, void 0, g, void 0, void 0, P, void 0, C) } default: return } } function NZ(e) { let t, r = nr.createWriter(db(e)), i = nE(e, r), o = { ...r, write: S => s(S, () => r.write(S)), nonEscapingWrite: r.write, writeLiteral: S => s(S, () => r.writeLiteral(S)), writeStringLiteral: S => s(S, () => r.writeStringLiteral(S)), writeSymbol: (S, x) => s(S, () => r.writeSymbol(S, x)), writeParameter: S => s(S, () => r.writeParameter(S)), writeComment: S => s(S, () => r.writeComment(S)), writeProperty: S => s(S, () => r.writeProperty(S)) }; return { printSnippetList: l, printAndFormatSnippetList: d, printNode: g, printAndFormatNode: v }; function s(S, x) { let A = OT(S); if (A !== S) { let w = r.getTextPos(); x(); let C = r.getTextPos(); t = Sn(t || (t = []), { newText: A, span: { start: w, length: C - w } }) } else x() } function l(S, x, A) { let w = f(S, x, A); return t ? nr.applyChanges(w, t) : w } function f(S, x, A) { return t = void 0, o.clear(), i.writeList(S, x, A, o), o.getText() } function d(S, x, A, w) { let C = { text: f(S, x, A), getLineAndCharacterOfPosition(q) { return Gs(this, q) } }, P = z7(w, A), F = Uo(x, q => { let W = nr.assignPositionsToNode(q); return tl.formatNodeGivenIndentation(W, C, A.languageVariant, 0, 0, { ...w, options: P }) }), B = t ? Ag(Qi(F, t), (q, W) => f8(q.span, W.span)) : F; return nr.applyChanges(C.text, B) } function g(S, x, A) { let w = m(S, x, A); return t ? nr.applyChanges(w, t) : w } function m(S, x, A) { return t = void 0, o.clear(), i.writeNode(S, x, A, o), o.getText() } function v(S, x, A, w) { let C = { text: m(S, x, A), getLineAndCharacterOfPosition(W) { return Gs(this, W) } }, P = z7(w, A), F = nr.assignPositionsToNode(x), B = tl.formatNodeGivenIndentation(F, C, A.languageVariant, 0, 0, { ...w, options: P }), q = t ? Ag(Qi(B, t), (W, Y) => f8(W.span, Y.span)) : B; return nr.applyChanges(C.text, q) } } function tTe(e) { let t = e.fileName ? void 0 : u_(e.moduleSymbol.name), r = e.isFromPackageJson ? !0 : void 0; return eC(e) ? { exportName: e.exportName, exportMapKey: e.exportMapKey, moduleSpecifier: e.moduleSpecifier, ambientModuleName: t, fileName: e.fileName, isPackageJsonImport: r } : { exportName: e.exportName, exportMapKey: e.exportMapKey, fileName: e.fileName, ambientModuleName: e.fileName ? void 0 : u_(e.moduleSymbol.name), isPackageJsonImport: e.isFromPackageJson ? !0 : void 0 } } function LGe(e, t, r) { let i = e.exportName === "default", o = !!e.isPackageJsonImport; return XEe(e) ? { kind: 32, exportName: e.exportName, exportMapKey: e.exportMapKey, moduleSpecifier: e.moduleSpecifier, symbolName: t, fileName: e.fileName, moduleSymbol: r, isDefaultExport: i, isFromPackageJson: o } : { kind: 4, exportName: e.exportName, exportMapKey: e.exportMapKey, symbolName: t, fileName: e.fileName, moduleSymbol: r, isDefaultExport: i, isFromPackageJson: o } } function kGe(e, t, r, i, o, s, l) { let f = t.replacementSpan, d = ck(o, l, OT(r.moduleSpecifier)), g = r.isDefaultExport ? 1 : r.exportName === "export=" ? 2 : 0, m = l.includeCompletionsWithSnippetText ? "$1" : "", v = gu.getImportKind(o, g, s, !0), S = t.couldBeTypeOnlyImportSpecifier, x = t.isTopLevelTypeOnly ? ` ${Xa(154)} ` : " ", A = S ? `${Xa(154)} ` : "", w = i ? ";" : ""; switch (v) { case 3: return { replacementSpan: f, insertText: `import${x}${OT(e)}${m} = require(${d})${w}` }; case 1: return { replacementSpan: f, insertText: `import${x}${OT(e)}${m} from ${d}${w}` }; case 2: return { replacementSpan: f, insertText: `import${x}* as ${OT(e)} from ${d}${w}` }; case 0: return { replacementSpan: f, insertText: `import${x}{ ${A}${OT(e)}${m} } from ${d}${w}` } } } function nTe(e, t, r) { return /^\d+$/.test(r) ? r : ck(e, t, r) } function DGe(e, t, r) { return e === t || !!(e.flags & 1048576) && r.getExportSymbolOfSymbol(e) === t } function PZ(e) { if (_P(e)) return u_(e.moduleSymbol.name); if (eC(e)) return e.moduleSpecifier; if (e?.kind === 1) return "ThisProperty/"; if (e?.kind === 64) return "TypeOnlyAlias/" } function MZ(e, t, r, i, o, s, l, f, d, g, m, v, S, x, A, w, C, P, F, B, q, W, Y, R, ie, $ = !1) { var fe; let Z = Ms(), U = $Ge(o), re = P7(l), le = d.getTypeChecker(), _e = new Map; for (let X = 0; X < e.length; X++) { let Ve = e[X], we = W?.[X], ke = Z9(Ve, g, we, v, !!P); if (!ke || _e.get(ke.name) && (!we || !KEe(we)) || v === 1 && Y && !ge(Ve, Y)) continue; let { name: Pe, needsConvertPropertyAccess: Ce } = ke, Ie = (fe = Y?.[$a(Ve)]) != null ? fe : Pl.LocationPriority, Be = ZGe(Ve, le) ? Pl.Deprecated(Ie) : Ie, Ne = TGe(Ve, Be, r, i, o, s, l, f, d, Pe, Ce, we, q, C, F, B, re, x, S, v, A, R, ie, $); if (!Ne) continue; let Le = (!we || JEe(we)) && !(Ve.parent === void 0 && !vt(Ve.declarations, Ye => Ye.getSourceFile() === o.getSourceFile())); _e.set(Pe, Le), Ny(t, Ne, pP, !0) } return m("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (Ms() - Z)), { has: X => _e.has(X), add: X => _e.set(X, !0) }; function ge(X, Ve) { let we = X.flags; if (!Li(o)) { if (pc(o.parent)) return !0; if (U && X.valueDeclaration === U) return !1; let ke = wd(X, le); if (l.externalModuleIndicator && !x.allowUmdGlobalAccess && Ve[$a(X)] === Pl.GlobalsOrKeywords && (Ve[$a(ke)] === Pl.AutoImportSuggestions || Ve[$a(ke)] === Pl.LocationPriority)) return !1; if (we |= XI(ke), i7(o)) return !!(we & 1920); if (w) return VZ(X, le) } return !!(we & 111551) } } function wGe(e) { let t = RGe(e); if (t.length) return { isGlobalCompletion: !1, isMemberCompletion: !1, isNewIdentifierLocation: !1, entries: t } } function RGe(e) { let t = [], r = new Map, i = e; for (; i && !Ia(i);) { if (J0(i)) { let o = i.label.text; r.has(o) || (r.set(o, !0), t.push({ name: o, kindModifiers: "", kind: "label", sortText: Pl.LocationPriority })) } i = i.parent } return t } function rTe(e, t, r, i, o, s, l) { if (o.source === "SwitchCases/") return { type: "cases" }; if (o.data) { let B = aTe(o.name, o.data, e, s); if (B) { let { contextToken: q, previousToken: W } = Q9(i, r); return { type: "symbol", symbol: B.symbol, location: ef(r, i), previousToken: W, contextToken: q, isJsxInitializer: !1, isTypeOnlyLocation: !1, origin: B.origin } } } let f = e.getCompilerOptions(), d = iTe(e, t, r, f, i, { includeCompletionsForModuleExports: !0, includeCompletionsWithInsertText: !0 }, o, s, void 0); if (!d) return { type: "none" }; if (d.kind !== 0) return { type: "request", request: d }; let { symbols: g, literals: m, location: v, completionKind: S, symbolToOriginInfoMap: x, contextToken: A, previousToken: w, isJsxInitializer: C, isTypeOnlyLocation: P } = d, F = wr(m, B => OZ(r, l, B) === o.name); return F !== void 0 ? { type: "literal", literal: F } : ks(g, (B, q) => { let W = x[q], Y = Z9(B, Do(f), W, S, d.isJsxIdentifierExpected); return Y && Y.name === o.name && (o.source === "ClassMemberSnippet/" && B.flags & 106500 || o.source === "ObjectLiteralMethodSnippet/" && B.flags & 8196 || PZ(W) === o.source) ? { type: "symbol", symbol: B, location: v, origin: W, contextToken: A, previousToken: w, isJsxInitializer: C, isTypeOnlyLocation: P } : void 0 }) || { type: "none" } } function OGe(e, t, r, i, o, s, l, f, d) { let g = e.getTypeChecker(), m = e.getCompilerOptions(), { name: v, source: S, data: x } = o, { previousToken: A, contextToken: w } = Q9(i, r); if (n1(r, i, A)) return aG.getStringLiteralCompletionDetails(v, r, i, A, g, m, s, d, f); let C = rTe(e, t, r, i, o, s, f); switch (C.type) { case "request": { let { request: P } = C; switch (P.kind) { case 1: return xb.getJSDocTagNameCompletionDetails(v); case 2: return xb.getJSDocTagCompletionDetails(v); case 3: return xb.getJSDocParameterNameCompletionDetails(v); case 4: return vt(P.keywordCompletions, F => F.name === v) ? FZ(v, "keyword", 5) : void 0; default: return L.assertNever(P) } } case "symbol": { let { symbol: P, location: F, contextToken: B, origin: q, previousToken: W } = C, { codeActions: Y, sourceDisplay: R } = NGe(v, F, B, q, P, e, s, m, r, i, W, l, f, x, S, d), ie = wZ(q) ? q.symbolName : P.name; return GZ(P, ie, g, r, F, d, Y, R) } case "literal": { let { literal: P } = C; return FZ(OZ(r, f, P), "string", typeof P == "string" ? 8 : 7) } case "cases": { let { entry: P, importAdder: F } = ZEe(w.parent, r, f, e.getCompilerOptions(), s, e, void 0); if (F.hasFixes()) { let B = nr.ChangeTracker.with({ host: s, formatContext: l, preferences: f }, F.writeFixes); return { name: P.name, kind: "", kindModifiers: "", displayParts: [], sourceDisplay: void 0, codeActions: [{ changes: B, description: ZS([_.Includes_imports_of_types_referenced_by_0, v]) }] } } return { name: P.name, kind: "", kindModifiers: "", displayParts: [], sourceDisplay: void 0 } } case "none": return JZ().some(P => P.name === v) ? FZ(v, "keyword", 5) : void 0; default: L.assertNever(C) } } function FZ(e, t, r) { return mP(e, "", t, [Qu(e, r)]) } function GZ(e, t, r, i, o, s, l, f) { let { displayParts: d, documentation: g, symbolKind: m, tags: v } = r.runWithCancellationToken(s, S => $g.getSymbolDisplayPartsDocumentationAndSymbolKind(S, e, i, o, o, 7)); return mP(t, $g.getSymbolModifiers(r, e), m, d, g, v, l, f) } function mP(e, t, r, i, o, s, l, f) { return { name: e, kindModifiers: t, kind: r, displayParts: i, documentation: o, tags: s, codeActions: l, source: f, sourceDisplay: f } } function NGe(e, t, r, i, o, s, l, f, d, g, m, v, S, x, A, w) { if (x?.moduleSpecifier && m && _Te(r || m).replacementSpan) return { codeActions: void 0, sourceDisplay: [tf(x.moduleSpecifier)] }; if (A === "ClassMemberSnippet/") { let { importAdder: Y } = eTe(l, s, f, S, e, o, t, g, r, v); if (Y) return { sourceDisplay: void 0, codeActions: [{ changes: nr.ChangeTracker.with({ host: l, formatContext: v, preferences: S }, Y.writeFixes), description: ZS([_.Includes_imports_of_types_referenced_by_0, e]) }] } } if (JEe(i)) { let Y = gu.getPromoteTypeOnlyCompletionAction(d, i.declaration.name, s, l, v, S); return L.assertIsDefined(Y, "Expected to have a code action for promoting type-only alias"), { codeActions: [Y], sourceDisplay: void 0 } } if (!i || !(_P(i) || eC(i))) return { codeActions: void 0, sourceDisplay: void 0 }; let C = i.isFromPackageJson ? l.getPackageJsonAutoImportProvider().getTypeChecker() : s.getTypeChecker(), { moduleSymbol: P } = i, F = C.getMergedSymbol(wd(o.exportSymbol || o, C)), B = r?.kind === 29 && Au(r.parent), { moduleSpecifier: q, codeAction: W } = gu.getImportCompletionAction(F, P, x?.exportMapKey, d, e, B, l, s, v, m && Re(m) ? m.getStart(d) : g, S, w); return L.assert(!x?.moduleSpecifier || q === x.moduleSpecifier), { sourceDisplay: [tf(q)], codeActions: [W] } } function PGe(e, t, r, i, o, s, l) { let f = rTe(e, t, r, i, o, s, l); return f.type === "symbol" ? f.symbol : void 0 } function MGe(e, t, r) { return ks(t && (t.isUnion() ? t.types : [t]), i => { let o = i && i.symbol; return o && o.flags & 424 && !cle(o) ? BZ(o, e, r) : void 0 }) } function FGe(e, t, r, i) { let { parent: o } = e; switch (e.kind) { case 79: return w7(e, i); case 63: switch (o.kind) { case 257: return i.getContextualType(o.initializer); case 223: return i.getTypeAtLocation(o.left); case 288: return i.getContextualTypeForJsxAttribute(o); default: return }case 103: return i.getContextualType(o); case 82: let s = zr(o, CL); return s ? TY(s, i) : void 0; case 18: return AL(o) && !Hg(o.parent) && !BS(o.parent) ? i.getContextualTypeForJsxAttribute(o.parent) : void 0; default: let l = BP.getArgumentInfoForCompletions(e, t, r); return l ? i.getContextualTypeForArgumentAtIndex(l.invocation, l.argumentIndex + (e.kind === 27 ? 1 : 0)) : R7(e.kind) && ar(o) && R7(o.operatorToken.kind) ? i.getTypeAtLocation(o.left) : i.getContextualType(e) } } function BZ(e, t, r) { let i = r.getAccessibleSymbolChain(e, t, 67108863, !1); return i ? Vo(i) : e.parent && (GGe(e.parent) ? e : BZ(e.parent, t, r)) } function GGe(e) { var t; return !!((t = e.declarations) != null && t.some(r => r.kind === 308)) } function iTe(e, t, r, i, o, s, l, f, d, g) { let m = e.getTypeChecker(), v = QEe(r, i), S = Ms(), x = Vi(r, o); t("getCompletionData: Get current token: " + (Ms() - S)), S = Ms(); let A = Kg(r, o, x); t("getCompletionData: Is inside comment: " + (Ms() - S)); let w = !1, C = !1; if (A) { if (Rhe(r, o)) { if (r.text.charCodeAt(o - 1) === 64) return { kind: 1 }; { let Te = Wf(o, r); if (!/[^\*|\s(/)]/.test(r.text.substring(Te, o))) return { kind: 2 } } } let z = jGe(x, o); if (z) { if (z.tagName.pos <= o && o <= z.tagName.end) return { kind: 1 }; let Te = zt(z); if (Te && (x = Vi(r, o), (!x || !Rh(x) && (x.parent.kind !== 351 || x.parent.name !== x)) && (w = pe(Te))), !w && xp(z) && (rc(z.name) || z.name.pos <= o && o <= z.name.end)) return { kind: 3, tag: z } } if (!w) { t("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment."); return } } S = Ms(); let P = !w && Cu(r), F = Q9(o, r), B = F.previousToken, q = F.contextToken; t("getCompletionData: Get previous token: " + (Ms() - S)); let W = x, Y, R = !1, ie = !1, $ = !1, fe = !1, Z = !1, U = !1, re, le = ef(r, o), _e = 0, ge = !1, X = 0; if (q) { let z = _Te(q); if (z.keywordCompletion) { if (z.isKeywordOnlyCompletion) return { kind: 4, keywordCompletions: [pGe(z.keywordCompletion)], isNewIdentifierLocation: z.isNewIdentifierLocation }; _e = hGe(z.keywordCompletion) } if (z.replacementSpan && s.includeCompletionsForImportStatements && s.includeCompletionsWithInsertText && (X |= 2, re = z, ge = z.isNewIdentifierLocation), !z.replacementSpan && Ht(q)) return t("Returning an empty list because completion was requested in an invalid position."), _e ? YEe(_e, P, dr()) : void 0; let Te = q.parent; if (q.kind === 24 || q.kind === 28) switch (R = q.kind === 24, ie = q.kind === 28, Te.kind) { case 208: Y = Te, W = Y.expression; let j = $I(Y); if (rc(j) || (Pa(W) || Ia(W)) && W.end === q.pos && W.getChildCount(r) && To(W.getChildren(r)).kind !== 21) return; break; case 163: W = Te.left; break; case 264: W = Te.name; break; case 202: W = Te; break; case 233: W = Te.getFirstToken(r), L.assert(W.kind === 100 || W.kind === 103); break; default: return } else if (!re) { if (Te && Te.kind === 208 && (q = Te, Te = Te.parent), x.parent === le) switch (x.kind) { case 31: (x.parent.kind === 281 || x.parent.kind === 283) && (le = x); break; case 43: x.parent.kind === 282 && (le = x); break }switch (Te.kind) { case 284: q.kind === 43 && (fe = !0, le = q); break; case 223: if (!fTe(Te)) break; case 282: case 281: case 283: U = !0, q.kind === 29 && ($ = !0, le = q); break; case 291: case 290: (B.kind === 19 || B.kind === 79 && B.parent.kind === 288) && (U = !0); break; case 288: if (Te.initializer === B && B.end < o) { U = !0; break } switch (B.kind) { case 63: Z = !0; break; case 79: U = !0, Te !== B.parent && !Te.initializer && Yo(Te, 63, r) && (Z = B) }break } } } let Ve = Ms(), we = 5, ke = !1, Pe = !1, Ce = [], Ie, Be = [], Ne = [], Le = new Map, Ye = nn(), _t = Jp(z => $S(z ? f.getPackageJsonAutoImportProvider() : e, f)); if (R || ie) Qt(); else if ($) Ce = m.getJsxIntrinsicTagNamesAt(le), L.assertEachIsDefined(Ce, "getJsxIntrinsicTagNames() should all be defined"), Gt(), we = 1, _e = 0; else if (fe) { let z = q.parent.parent.openingElement.tagName, Te = m.getSymbolAtLocation(z); Te && (Ce = [Te]), we = 1, _e = 0 } else if (!Gt()) return _e ? YEe(_e, P, ge) : void 0; t("getCompletionData: Semantic work: " + (Ms() - Ve)); let ct = B && FGe(B, o, r, m), Rt = Zi(ct && (ct.isUnion() ? ct.types : [ct]), z => z.isLiteral() && !(z.flags & 1024) ? z.value : void 0), We = B && ct && MGe(B, ct, m); return { kind: 0, symbols: Ce, completionKind: we, isInSnippetScope: C, propertyAccessToConvert: Y, isNewIdentifierLocation: ge, location: le, keywordFilters: _e, literals: Rt, symbolToOriginInfoMap: Be, recommendedCompletion: We, previousToken: B, contextToken: q, isJsxInitializer: Z, insideJsDocTagTypeExpression: w, symbolToSortTextMap: Ne, isTypeOnlyLocation: Ye, isJsxIdentifierExpected: U, isRightOfOpenTag: $, isRightOfDotOrQuestionDot: R || ie, importStatementCompletion: re, hasUnresolvedAutoImports: Pe, flags: X }; function qe(z) { switch (z.kind) { case 344: case 351: case 345: case 347: case 349: case 352: case 353: return !0; case 348: return !!z.constraint; default: return !1 } } function zt(z) { if (qe(z)) { let Te = H_(z) ? z.constraint : z.typeExpression; return Te && Te.kind === 312 ? Te : void 0 } if (x2(z) || qz(z)) return z.class } function Qt() { we = 2; let z = ib(W), Te = w || z && !W.isTypeOf || Gm(W.parent) || MN(q, r, m), j = i7(W); if (Cd(W) || z || br(W)) { let yt = Tc(W.parent); yt && (ge = !0); let lt = m.getSymbolAtLocation(W); if (lt && (lt = wd(lt, m), lt.flags & 1920)) { let Qe = m.getExportsOfModule(lt); L.assertEachIsDefined(Qe, "getExportsOfModule() should all be defined"); let Vt = ei => m.isValidPropertyAccess(z ? W : W.parent, ei.name), Hn = ei => VZ(ei, m), jr = yt ? ei => { var Kr; return !!(ei.flags & 1920) && !((Kr = ei.declarations) != null && Kr.every(Si => Si.parent === W.parent)) } : j ? ei => Hn(ei) || Vt(ei) : Te ? Hn : Vt; for (let ei of Qe) jr(ei) && Ce.push(ei); if (!Te && lt.declarations && lt.declarations.some(ei => ei.kind !== 308 && ei.kind !== 264 && ei.kind !== 263)) { let ei = m.getTypeOfSymbolAtLocation(lt, W).getNonOptionalType(), Kr = !1; if (ei.isNullableType()) { let Si = R && !ie && s.includeAutomaticOptionalChainCompletions !== !1; (Si || ie) && (ei = ei.getNonNullableType(), Si && (Kr = !0)) } tn(ei, !!(W.flags & 32768), Kr) } return } } if (!Te) { m.tryGetThisTypeAt(W, !1); let yt = m.getTypeAtLocation(W).getNonOptionalType(), lt = !1; if (yt.isNullableType()) { let Qe = R && !ie && s.includeAutomaticOptionalChainCompletions !== !1; (Qe || ie) && (yt = yt.getNonNullableType(), Qe && (lt = !0)) } tn(yt, !!(W.flags & 32768), lt) } } function tn(z, Te, j) { ge = !!z.getStringIndexType(), ie && vt(z.getCallSignatures()) && (ge = !0); let yt = W.kind === 202 ? W : W.parent; if (v) for (let lt of z.getApparentProperties()) m.isValidPropertyAccessForCompletions(yt, z, lt) && kn(lt, !1, j); else Ce.push(...Pr(nG(z, m), lt => m.isValidPropertyAccessForCompletions(yt, z, lt))); if (Te && s.includeCompletionsWithInsertText) { let lt = m.getPromisedTypeOfPromise(z); if (lt) for (let Qe of lt.getApparentProperties()) m.isValidPropertyAccessForCompletions(yt, lt, Qe) && kn(Qe, !0, j) } } function kn(z, Te, j) { var yt; let lt = ks(z.declarations, jr => zr(sa(jr), ts)); if (lt) { let jr = _n(lt.expression), ei = jr && m.getSymbolAtLocation(jr), Kr = ei && BZ(ei, q, m); if (Kr && V_(Le, $a(Kr))) { let Si = Ce.length; Ce.push(Kr); let Ja = Kr.parent; if (!Ja || !BN(Ja) || m.tryGetMemberInModuleExportsAndProperties(Kr.name, Ja) !== Kr) Be[Si] = { kind: Hn(2) }; else { let Za = fl(u_(Ja.name)) ? (yt = m6(Ja)) == null ? void 0 : yt.fileName : void 0, { moduleSpecifier: Fa } = (Ie || (Ie = gu.createImportSpecifierResolver(r, e, f, s))).getModuleSpecifierForBestExportInfo([{ exportKind: 0, moduleFileName: Za, isFromPackageJson: !1, moduleSymbol: Ja, symbol: Kr, targetFlags: wd(Kr, m).flags }], o, TS(le)) || {}; if (Fa) { let Hi = { kind: Hn(6), moduleSymbol: Ja, isDefaultExport: !1, symbolName: Kr.name, exportName: Kr.name, fileName: Za, moduleSpecifier: Fa }; Be[Si] = Hi } } } else s.includeCompletionsWithInsertText && (Vt(z), Qe(z), Ce.push(z)) } else Vt(z), Qe(z), Ce.push(z); function Qe(jr) { qGe(jr) && (Ne[$a(jr)] = Pl.LocalDeclarationPriority) } function Vt(jr) { s.includeCompletionsWithInsertText && (Te && V_(Le, $a(jr)) ? Be[Ce.length] = { kind: Hn(8) } : j && (Be[Ce.length] = { kind: 16 })) } function Hn(jr) { return j ? jr | 16 : jr } } function _n(z) { return Re(z) ? z : br(z) ? _n(z.expression) : void 0 } function Gt() { return (Se() || at() || Ni() || Tt() || ve() || $n() || nt() || ui() || (Pi(), 1)) === 1 } function $n() { return Q(q) ? (we = 5, ge = !0, _e = 4, 1) : 0 } function ui() { let z = G(q), Te = z && m.getContextualType(z.attributes); if (!Te) return 0; let j = z && m.getContextualType(z.attributes, 4); return Ce = Qi(Ce, oe(tG(Te, j, z.attributes, m), z.attributes.properties)), ae(), we = 3, ge = !1, 1 } function Ni() { return re ? (ge = !0, An(), 1) : 0 } function Pi() { _e = ue(q) ? 5 : 1, we = 1, ge = dr(), B !== q && L.assert(!!B, "Expected 'contextToken' to be defined when different from 'previousToken'."); let z = B !== q ? B.getStart() : o, Te = vn(q, z, r) || r; C = pt(Te); let j = (Ye ? 0 : 111551) | 788968 | 1920 | 2097152, yt = B && !TS(B); Ce = Qi(Ce, m.getSymbolsInScope(Te, j)), L.assertEachIsDefined(Ce, "getSymbolsInScope() should all be defined"); for (let lt = 0; lt < Ce.length; lt++) { let Qe = Ce[lt]; if (!m.isArgumentsSymbol(Qe) && !vt(Qe.declarations, Vt => Vt.getSourceFile() === r) && (Ne[$a(Qe)] = Pl.GlobalsOrKeywords), yt && !(Qe.flags & 111551)) { let Vt = Qe.declarations && wr(Qe.declarations, Mj); if (Vt) { let Hn = { kind: 64, declaration: Vt }; Be[lt] = Hn } } } if (s.includeCompletionsWithInsertText && Te.kind !== 308) { let lt = m.tryGetThisTypeAt(Te, !1, Yr(Te.parent) ? Te : void 0); if (lt && !KGe(lt, r, m)) for (let Qe of nG(lt, m)) Be[Ce.length] = { kind: 1 }, Ce.push(Qe), Ne[$a(Qe)] = Pl.SuggestedClassMembers } An(), Ye && (_e = q && pT(q.parent) ? 6 : 7) } function gr() { return re ? !0 : ke || !s.includeCompletionsForModuleExports ? !1 : r.externalModuleIndicator || r.commonJsModuleIndicator || aY(e.getCompilerOptions()) ? !0 : Uhe(e) } function pt(z) { switch (z.kind) { case 308: case 225: case 291: case 238: return !0; default: return ca(z) } } function nn() { return w || !!re && I0(le.parent) || !Dt(q) && (MN(q, r, m) || Gm(le) || pn(q)) } function Dt(z) { return z && (z.kind === 112 && (z.parent.kind === 183 || y2(z.parent)) || z.kind === 129 && z.parent.kind === 179) } function pn(z) { if (z) { let Te = z.parent.kind; switch (z.kind) { case 58: return Te === 169 || Te === 168 || Te === 166 || Te === 257 || nS(Te); case 63: return Te === 262; case 128: return Te === 231; case 29: return Te === 180 || Te === 213; case 94: return Te === 165; case 150: return Te === 235 } } return !1 } function An() { var z, Te; if (!gr() || (L.assert(!l?.data, "Should not run 'collectAutoImports' when faster path is available via `data`"), l && !l.source)) return; X |= 1; let yt = B === q && re ? "" : B && Re(B) ? B.text.toLowerCase() : "", lt = (z = f.getModuleSpecifierCache) == null ? void 0 : z.call(f), Qe = YN(r, f, e, s, g), Vt = (Te = f.getPackageJsonAutoImportProvider) == null ? void 0 : Te.call(f), Hn = l ? void 0 : uk(r, s, f); qEe("collectAutoImports", f, Ie || (Ie = gu.createImportSpecifierResolver(r, e, f, s)), e, o, s, !!re, TS(le), ei => { Qe.search(r.path, $, (Kr, Si) => { if (!i_(Kr, Do(f.getCompilationSettings())) || !l && fS(Kr) || !Ye && !re && !(Si & 111551) || Ye && !(Si & 790504)) return !1; let Ja = Kr.charCodeAt(0); return $ && (Ja < 65 || Ja > 90) ? !1 : l ? !0 : gTe(Kr, yt) }, (Kr, Si, Ja, Za) => { if (l && !vt(Kr, Qr => l.source === u_(Qr.moduleSymbol.name)) || (Kr = Pr(Kr, jr), !Kr.length)) return; let Fa = ei.tryResolve(Kr, Ja) || {}; if (Fa === "failed") return; let Hi = Kr[0], xi; Fa !== "skipped" && ({ exportInfo: Hi = Kr[0], moduleSpecifier: xi } = Fa); let Nr = Hi.exportKind === 1, Fo = Nr && QA(Hi.symbol) || Hi.symbol; Kn(Fo, { kind: xi ? 32 : 4, moduleSpecifier: xi, symbolName: Si, exportMapKey: Za, exportName: Hi.exportKind === 2 ? "export=" : Hi.symbol.name, fileName: Hi.moduleFileName, isDefaultExport: Nr, moduleSymbol: Hi.moduleSymbol, isFromPackageJson: Hi.isFromPackageJson }) }), Pe = ei.skippedAny(), X |= ei.resolvedAny() ? 8 : 0, X |= ei.resolvedBeyondLimit() ? 16 : 0 }); function jr(ei) { let Kr = zr(ei.moduleSymbol.valueDeclaration, Li); if (!Kr) { let Si = u_(ei.moduleSymbol.name); return QT.nodeCoreModules.has(Si) && na(Si, "node:") !== W7(r, e) ? !1 : Hn ? Hn.allowsImportingAmbientModule(ei.moduleSymbol, _t(ei.isFromPackageJson)) : !0 } return PY(ei.isFromPackageJson ? Vt : e, r, Kr, s, Hn, _t(ei.isFromPackageJson), lt) } } function Kn(z, Te) { let j = $a(z); Ne[j] !== Pl.GlobalsOrKeywords && (Be[Ce.length] = Te, Ne[j] = re ? Pl.LocationPriority : Pl.AutoImportSuggestions, Ce.push(z)) } function hi(z, Te) { Yn(le) || z.forEach(j => { if (!ri(j)) return; let yt = Z9(j, Do(i), void 0, 0, !1); if (!yt) return; let { name: lt } = yt, Qe = CGe(j, lt, Te, e, f, i, s, d); if (!Qe) return; let Vt = { kind: 128, ...Qe }; X |= 32, Be[Ce.length] = Vt, Ce.push(j) }) } function ri(z) { return !!(z.flags & 8196) } function vn(z, Te, j) { let yt = z; for (; yt && !WX(yt, Te, j);)yt = yt.parent; return yt } function Ht(z) { let Te = Ms(), j = Cr(z) || Oe(z) || kt(z) || En(z) || a3(z); return t("getCompletionsAtPosition: isCompletionListBlocker: " + (Ms() - Te)), j } function En(z) { if (z.kind === 11) return !0; if (z.kind === 31 && z.parent) { if (le === z.parent && (le.kind === 283 || le.kind === 282)) return !1; if (z.parent.kind === 283) return le.parent.kind !== 283; if (z.parent.kind === 284 || z.parent.kind === 282) return !!z.parent.parent && z.parent.parent.kind === 281 } return !1 } function dr() { if (q) { let z = q.parent.kind, Te = eG(q); switch (Te) { case 27: return z === 210 || z === 173 || z === 211 || z === 206 || z === 223 || z === 181 || z === 207; case 20: return z === 210 || z === 173 || z === 211 || z === 214 || z === 193; case 22: return z === 206 || z === 178 || z === 164; case 142: case 143: case 100: return !0; case 24: return z === 264; case 18: return z === 260 || z === 207; case 63: return z === 257 || z === 223; case 15: return z === 225; case 16: return z === 236; case 132: return z === 171 || z === 300; case 41: return z === 171 }if (hP(Te)) return !0 } return !1 } function Cr(z) { return (Cz(z) || Fj(z)) && (RN(z, o) || o === z.end && (!!z.isUnterminated || Cz(z))) } function Se() { let z = zGe(q); if (!z) return 0; let j = (dO(z.parent) ? z.parent : void 0) || z, yt = dTe(j, m); if (!yt) return 0; let lt = m.getTypeFromTypeNode(j), Qe = nG(yt, m), Vt = nG(lt, m), Hn = new Set; return Vt.forEach(jr => Hn.add(jr.escapedName)), Ce = Qi(Ce, Pr(Qe, jr => !Hn.has(jr.escapedName))), we = 0, ge = !0, 1 } function at() { let z = Ce.length, Te = BGe(q); if (!Te) return 0; we = 0; let j, yt; if (Te.kind === 207) { let lt = XGe(Te, m); if (lt === void 0) return Te.flags & 33554432 ? 2 : (ke = !0, 0); let Qe = m.getContextualType(Te, 4), Vt = (Qe || lt).getStringIndexType(), Hn = (Qe || lt).getNumberIndexType(); if (ge = !!Vt || !!Hn, j = tG(lt, Qe, Te, m), yt = Te.properties, j.length === 0 && !Hn) return ke = !0, 0 } else { L.assert(Te.kind === 203), ge = !1; let lt = nm(Te.parent); if (!PA(lt)) return L.fail("Root declaration is not variable-like."); let Qe = Jy(lt) || !!Cl(lt) || lt.parent.parent.kind === 247; if (!Qe && lt.kind === 166 && (ot(lt.parent) ? Qe = !!m.getContextualType(lt.parent) : (lt.parent.kind === 171 || lt.parent.kind === 175) && (Qe = ot(lt.parent.parent) && !!m.getContextualType(lt.parent.parent))), Qe) { let Vt = m.getTypeAtLocation(Te); if (!Vt) return 2; j = m.getPropertiesOfType(Vt).filter(Hn => m.isPropertyAccessible(Te, !1, !1, Vt, Hn)), yt = Te.elements } } if (j && j.length > 0) { let lt = ln(j, L.checkDefined(yt)); Ce = Qi(Ce, lt), ae(), Te.kind === 207 && s.includeCompletionsWithObjectLiteralMethodSnippets && s.includeCompletionsWithInsertText && (Ot(z), hi(lt, Te)) } return 1 } function Tt() { if (!q) return 0; let z = q.kind === 18 || q.kind === 27 ? zr(q.parent, bW) : b7(q) ? zr(q.parent.parent, bW) : void 0; if (!z) return 0; b7(q) || (_e = 8); let { moduleSpecifier: Te } = z.kind === 272 ? z.parent.parent : z.parent; if (!Te) return ge = !0, z.kind === 272 ? 2 : 0; let j = m.getSymbolAtLocation(Te); if (!j) return ge = !0, 2; we = 3, ge = !1; let yt = m.getExportsAndPropertiesOfModule(j), lt = new Set(z.elements.filter(Vt => !pe(Vt)).map(Vt => (Vt.propertyName || Vt.name).escapedText)), Qe = yt.filter(Vt => Vt.escapedName !== "default" && !lt.has(Vt.escapedName)); return Ce = Qi(Ce, Qe), Qe.length || (_e = 0), 1 } function ve() { var z; let Te = q && (q.kind === 18 || q.kind === 27) ? zr(q.parent, h_) : void 0; if (!Te) return 0; let j = jn(Te, Kp(Li, Tc)); return we = 5, ge = !1, (z = j.locals) == null || z.forEach((yt, lt) => { var Qe, Vt; Ce.push(yt), (Vt = (Qe = j.symbol) == null ? void 0 : Qe.exports) != null && Vt.has(lt) && (Ne[$a(yt)] = Pl.OptionalMember) }), 1 } function nt() { let z = WGe(r, q, le, o); if (!z) return 0; if (we = 3, ge = !0, _e = q.kind === 41 ? 0 : Yr(z) ? 2 : 3, !Yr(z)) return 1; let Te = q.kind === 26 ? q.parent.parent : q.parent, j = _l(Te) ? uu(Te) : 0; if (q.kind === 79 && !pe(q)) switch (q.getText()) { case "private": j = j | 8; break; case "static": j = j | 32; break; case "override": j = j | 16384; break }if (oc(Te) && (j |= 32), !(j & 8)) { let yt = Yr(z) && j & 16384 ? aT(hp(z)) : NI(z), lt = Uo(yt, Qe => { let Vt = m.getTypeAtLocation(Qe); return j & 32 ? Vt?.symbol && m.getPropertiesOfType(m.getTypeOfSymbolAtLocation(Vt.symbol, z)) : Vt && m.getPropertiesOfType(Vt) }); Ce = Qi(Ce, Ke(lt, z.members, j)), mn(Ce, (Qe, Vt) => { let Hn = Qe?.valueDeclaration; if (Hn && _l(Hn) && Hn.name && ts(Hn.name)) { let jr = { kind: 512, symbolName: m.symbolToString(Qe) }; Be[Vt] = jr } }) } return 1 } function ce(z) { return !!z.parent && ha(z.parent) && Ec(z.parent.parent) && (yI(z.kind) || Rh(z)) } function Q(z) { if (z) { let Te = z.parent; switch (z.kind) { case 20: case 27: return Ec(z.parent) ? z.parent : void 0; default: if (ce(z)) return Te.parent } } } function ue(z) { if (z) { let Te, j = jn(z.parent, yt => Yr(yt) ? "quit" : Ds(yt) && Te === yt.body ? !0 : (Te = yt, !1)); return j && j } } function G(z) { if (z) { let Te = z.parent; switch (z.kind) { case 31: case 30: case 43: case 79: case 208: case 289: case 288: case 290: if (Te && (Te.kind === 282 || Te.kind === 283)) { if (z.kind === 31) { let j = el(z.pos, r, void 0); if (!Te.typeArguments || j && j.kind === 43) break } return Te } else if (Te.kind === 288) return Te.parent.parent; break; case 10: if (Te && (Te.kind === 288 || Te.kind === 290)) return Te.parent.parent; break; case 19: if (Te && Te.kind === 291 && Te.parent && Te.parent.kind === 288) return Te.parent.parent.parent; if (Te && Te.kind === 290) return Te.parent.parent; break } } } function Oe(z) { let Te = z.parent, j = Te.kind; switch (z.kind) { case 27: return j === 257 || Kt(z) || j === 240 || j === 263 || Ge(j) || j === 261 || j === 204 || j === 262 || Yr(Te) && !!Te.typeParameters && Te.typeParameters.end >= z.pos; case 24: return j === 204; case 58: return j === 205; case 22: return j === 204; case 20: return j === 295 || Ge(j); case 18: return j === 263; case 29: return j === 260 || j === 228 || j === 261 || j === 262 || nS(j); case 124: return j === 169 && !Yr(Te.parent); case 25: return j === 166 || !!Te.parent && Te.parent.kind === 204; case 123: case 121: case 122: return j === 166 && !Ec(Te.parent); case 128: return j === 273 || j === 278 || j === 271; case 137: case 151: return !rG(z); case 79: if (j === 273 && z === Te.name && z.text === "type") return !1; break; case 84: case 92: case 118: case 98: case 113: case 100: case 119: case 85: case 138: return !0; case 154: return j !== 273; case 41: return Ia(z.parent) && !Nc(z.parent) }if (hP(eG(z)) && rG(z) || ce(z) && (!Re(z) || yI(eG(z)) || pe(z))) return !1; switch (eG(z)) { case 126: case 84: case 85: case 136: case 92: case 98: case 118: case 119: case 121: case 122: case 123: case 124: case 113: return !0; case 132: return Na(z.parent) }if (jn(z.parent, Yr) && z === B && je(z, o)) return !1; let lt = cb(z.parent, 169); if (lt && z !== B && Yr(B.parent.parent) && o <= B.end) { if (je(z, B.end)) return !1; if (z.kind !== 63 && (sN(lt) || f6(lt))) return !0 } return Rh(z) && !xf(z.parent) && !Sp(z.parent) && !(Yr(z.parent) && (z !== B || o > B.end)) } function je(z, Te) { return z.kind !== 63 && (z.kind === 26 || !Bf(z.end, Te, r)) } function Ge(z) { return nS(z) && z !== 173 } function kt(z) { if (z.kind === 8) { let Te = z.getFullText(); return Te.charAt(Te.length - 1) === "." } return !1 } function Kt(z) { return z.parent.kind === 258 && !MN(z, r, m) } function ln(z, Te) { if (Te.length === 0) return z; let j = new Set, yt = new Set; for (let Qe of Te) { if (Qe.kind !== 299 && Qe.kind !== 300 && Qe.kind !== 205 && Qe.kind !== 171 && Qe.kind !== 174 && Qe.kind !== 175 && Qe.kind !== 301 || pe(Qe)) continue; let Vt; if (VS(Qe)) ir(Qe, j); else if (Wo(Qe) && Qe.propertyName) Qe.propertyName.kind === 79 && (Vt = Qe.propertyName.escapedText); else { let Hn = sa(Qe); Vt = Hn && c_(Hn) ? MI(Hn) : void 0 } Vt !== void 0 && yt.add(Vt) } let lt = z.filter(Qe => !yt.has(Qe.escapedName)); return rt(j, lt), lt } function ir(z, Te) { let j = z.expression, yt = m.getSymbolAtLocation(j), lt = yt && m.getTypeOfSymbolAtLocation(yt, j), Qe = lt && lt.properties; Qe && Qe.forEach(Vt => { Te.add(Vt.name) }) } function ae() { Ce.forEach(z => { var Te; if (z.flags & 16777216) { let j = $a(z); Ne[j] = (Te = Ne[j]) != null ? Te : Pl.OptionalMember } }) } function rt(z, Te) { if (z.size !== 0) for (let j of Te) z.has(j.name) && (Ne[$a(j)] = Pl.MemberDeclaredBySpreadAssignment) } function Ot(z) { var Te; for (let j = z; j < Ce.length; j++) { let yt = Ce[j], lt = $a(yt), Qe = Be?.[j], Vt = Do(i), Hn = Z9(yt, Vt, Qe, 0, !1); if (Hn) { let jr = (Te = Ne[lt]) != null ? Te : Pl.LocationPriority, { name: ei } = Hn; Ne[lt] = Pl.ObjectLiteralProperty(jr, ei) } } } function Ke(z, Te, j) { let yt = new Set; for (let lt of Te) { if (lt.kind !== 169 && lt.kind !== 171 && lt.kind !== 174 && lt.kind !== 175 || pe(lt) || cd(lt, 8) || Ca(lt) !== !!(j & 32)) continue; let Qe = M0(lt.name); Qe && yt.add(Qe) } return z.filter(lt => !yt.has(lt.escapedName) && !!lt.declarations && !(Ef(lt) & 8) && !(lt.valueDeclaration && xu(lt.valueDeclaration))) } function oe(z, Te) { let j = new Set, yt = new Set; for (let Qe of Te) pe(Qe) || (Qe.kind === 288 ? j.add(Qe.name.escapedText) : GT(Qe) && ir(Qe, yt)); let lt = z.filter(Qe => !j.has(Qe.escapedName)); return rt(yt, lt), lt } function pe(z) { return z.getStart(r) <= o && o <= z.getEnd() } } function BGe(e) { if (e) { let { parent: t } = e; switch (e.kind) { case 18: case 27: if (rs(t) || cm(t)) return t; break; case 41: return Nc(t) ? zr(t.parent, rs) : void 0; case 79: return e.text === "async" && xf(e.parent) ? e.parent.parent : void 0 } } } function Q9(e, t) { let r = el(e, t); return r && e <= r.end && (Ah(r) || Xu(r.kind)) ? { contextToken: el(r.getFullStart(), t, void 0), previousToken: r } : { contextToken: r, previousToken: r } } function aTe(e, t, r, i) { let o = t.isPackageJsonImport ? i.getPackageJsonAutoImportProvider() : r, s = o.getTypeChecker(), l = t.ambientModuleName ? s.tryFindAmbientModule(t.ambientModuleName) : t.fileName ? s.getMergedSymbol(L.checkDefined(o.getSourceFile(t.fileName)).symbol) : void 0; if (!l) return; let f = t.exportName === "export=" ? s.resolveExternalModuleSymbol(l) : s.tryGetMemberInModuleExportsAndProperties(t.exportName, l); return f ? (f = t.exportName === "default" && QA(f) || f, { symbol: f, origin: LGe(t, e, l) }) : void 0 } function Z9(e, t, r, i, o) { if (dGe(r)) return; let s = sGe(r) ? r.symbolName : e.name; if (s === void 0 || e.flags & 1536 && Xw(s.charCodeAt(0)) || gR(e)) return; let l = { name: s, needsConvertPropertyAccess: !1 }; if (i_(s, t, o ? 1 : 0) || e.valueDeclaration && xu(e.valueDeclaration)) return l; switch (i) { case 3: return wZ(r) ? { name: r.symbolName, needsConvertPropertyAccess: !1 } : void 0; case 0: return { name: JSON.stringify(s), needsConvertPropertyAccess: !1 }; case 2: case 1: return s.charCodeAt(0) === 32 ? void 0 : { name: s, needsConvertPropertyAccess: !0 }; case 5: case 4: return l; default: L.assertNever(i) } } function oTe(e, t) { if (!t) return sTe(e); let r = e + 8 + 1; return gP[r] || (gP[r] = sTe(e).filter(i => !UGe(lT(i.name)))) } function sTe(e) { return gP[e] || (gP[e] = JZ().filter(t => { let r = lT(t.name); switch (e) { case 0: return !1; case 1: return lTe(r) || r === 136 || r === 142 || r === 154 || r === 143 || r === 126 || ik(r) && r !== 155; case 5: return lTe(r); case 2: return hP(r); case 3: return cTe(r); case 4: return yI(r); case 6: return ik(r) || r === 85; case 7: return ik(r); case 8: return r === 154; default: return L.assertNever(e) } })) } function UGe(e) { switch (e) { case 126: case 131: case 160: case 134: case 136: case 92: case 159: case 117: case 138: case 118: case 140: case 141: case 142: case 143: case 144: case 148: case 149: case 161: case 121: case 122: case 123: case 146: case 152: case 153: case 154: case 156: case 157: return !0; default: return !1 } } function cTe(e) { return e === 146 } function hP(e) { switch (e) { case 126: case 127: case 135: case 137: case 151: case 132: case 136: case 161: return !0; default: return Gj(e) } } function lTe(e) { return e === 132 || e === 133 || e === 128 || e === 150 || e === 154 || !K6(e) && !hP(e) } function eG(e) { var t; return Re(e) ? (t = nb(e)) != null ? t : 0 : e.kind } function VGe(e, t) { let r = []; if (e) { let i = e.getSourceFile(), o = e.parent, s = i.getLineAndCharacterOfPosition(e.end).line, l = i.getLineAndCharacterOfPosition(t).line; (gl(o) || Il(o) && o.moduleSpecifier) && e === o.moduleSpecifier && s === l && r.push({ name: Xa(130), kind: "keyword", kindModifiers: "", sortText: Pl.GlobalsOrKeywords }) } return r } function jGe(e, t) { return jn(e, r => EI(r) && wN(r, t) ? !0 : dm(r) ? "quit" : !1) } function tG(e, t, r, i) { let o = t && t !== e, s = o && !(t.flags & 3) ? i.getUnionType([e, t]) : e, l = HGe(s, r, i); return s.isClass() && uTe(l) ? [] : o ? Pr(l, f) : l; function f(d) { return Fn(d.declarations) ? vt(d.declarations, g => g.parent !== r) : !0 } } function HGe(e, t, r) { return e.isUnion() ? r.getAllPossiblePropertiesOfTypes(Pr(e.types, i => !(i.flags & 134348796 || r.isArrayLikeType(i) || r.isTypeInvalidDueToUnionDiscriminant(i, t) || r.typeHasCallOrConstructSignatures(i) || i.isClass() && uTe(i.getApparentProperties())))) : e.getApparentProperties() } function uTe(e) { return vt(e, t => !!(Ef(t) & 24)) } function nG(e, t) { return e.isUnion() ? L.checkEachDefined(t.getAllPossiblePropertiesOfTypes(e.types), "getAllPossiblePropertiesOfTypes() should all be defined") : L.checkEachDefined(e.getApparentProperties(), "getApparentProperties() should all be defined") } function WGe(e, t, r, i) { var o; switch (r.kind) { case 354: return zr(r.parent, yS); case 1: let s = zr(Os(Ga(r.parent, Li).statements), yS); if (s && !Yo(s, 19, e)) return s; break; case 79: { if (nb(r) || Na(r.parent) && r.parent.initializer === r) return; if (rG(r)) return jn(r, yS) } }if (t) { if (r.kind === 135 || Re(t) && Na(t.parent) && Yr(r)) return jn(t, Yr); switch (t.kind) { case 63: return; case 26: case 19: return rG(r) && r.parent.name === r ? r.parent.parent : zr(r, yS); case 18: case 27: return zr(t.parent, yS); default: if (yS(r)) { if (Gs(e, t.getEnd()).line !== Gs(e, i).line) return r; let s = Yr(t.parent.parent) ? hP : cTe; return s(t.kind) || t.kind === 41 || Re(t) && s((o = nb(t)) != null ? o : 0) ? t.parent.parent : void 0 } return } } } function zGe(e) { if (!e) return; let t = e.parent; switch (e.kind) { case 18: if (Rd(t)) return t; break; case 26: case 27: case 79: if (t.kind === 168 && Rd(t.parent)) return t.parent; break } } function dTe(e, t) { if (!e) return; if (bi(e) && _6(e.parent)) return t.getTypeArgumentConstraint(e); let r = dTe(e.parent, t); if (r) switch (e.kind) { case 168: return t.getTypeOfPropertyOfContextualType(r, e.symbol.escapedName); case 190: case 184: case 189: return r } } function rG(e) { return e.parent && s6(e.parent) && yS(e.parent.parent) } function JGe(e, t, r, i) { switch (t) { case ".": case "@": return !0; case '"': case "'": case "`": return !!r && age(r) && i === r.getStart(e) + 1; case "#": return !!r && pi(r) && !!Zc(r); case "<": return !!r && r.kind === 29 && (!ar(r.parent) || fTe(r.parent)); case "/": return !!r && (es(r) ? !!oR(r) : r.kind === 43 && GS(r.parent)); case " ": return !!r && gL(r) && r.parent.kind === 308; default: return L.assertNever(t) } } function fTe({ left: e }) { return rc(e) } function KGe(e, t, r) { let i = r.resolveName("self", void 0, 111551, !1); if (i && r.getTypeOfSymbolAtLocation(i, t) === e) return !0; let o = r.resolveName("global", void 0, 111551, !1); if (o && r.getTypeOfSymbolAtLocation(o, t) === e) return !0; let s = r.resolveName("globalThis", void 0, 111551, !1); return !!(s && r.getTypeOfSymbolAtLocation(s, t) === e) } function qGe(e) { return !!(e.valueDeclaration && uu(e.valueDeclaration) & 32 && Yr(e.valueDeclaration.parent)) } function XGe(e, t) { let r = t.getContextualType(e); if (r) return r; let i = qy(e.parent); if (ar(i) && i.operatorToken.kind === 63 && e === i.left) return t.getTypeAtLocation(i); if (ot(i)) return t.getContextualType(i) } function _Te(e) { var t, r, i; let o, s = !1, l = f(); return { isKeywordOnlyCompletion: s, keywordCompletion: o, isNewIdentifierLocation: !!(l || o === 154), isTopLevelTypeOnly: !!((r = (t = zr(l, gl)) == null ? void 0 : t.importClause) != null && r.isTypeOnly) || !!((i = zr(l, Nl)) != null && i.isTypeOnly), couldBeTypeOnlyImportSpecifier: !!l && mTe(l, e), replacementSpan: YGe(l) }; function f() { let d = e.parent; if (Nl(d)) return o = e.kind === 154 ? void 0 : 154, UZ(d.moduleReference) ? d : void 0; if (mTe(d, e) && hTe(d.parent)) return d; if (jg(d) || nv(d)) { if (!d.parent.isTypeOnly && (e.kind === 18 || e.kind === 100 || e.kind === 27) && (o = 154), hTe(d)) if (e.kind === 19 || e.kind === 79) s = !0, o = 158; else return d.parent.parent; return } if (gL(e) && Li(d)) return o = 154, e; if (gL(e) && gl(d)) return o = 154, UZ(d.moduleSpecifier) ? d : void 0 } } function YGe(e) { var t, r, i; if (!e) return; let o = (t = jn(e, Kp(gl, Nl))) != null ? t : e, s = o.getSourceFile(); if (DT(o, s)) return Du(o, s); L.assert(o.kind !== 100 && o.kind !== 273); let l = o.kind === 269 ? (i = pTe((r = o.importClause) == null ? void 0 : r.namedBindings)) != null ? i : o.moduleSpecifier : o.moduleReference, f = { pos: o.getFirstToken().getStart(), end: l.pos }; if (DT(f, s)) return lv(f) } function pTe(e) { var t; return wr((t = zr(e, jg)) == null ? void 0 : t.elements, r => { var i; return !r.propertyName && fS(r.name.text) && ((i = el(r.name.pos, e.getSourceFile(), e)) == null ? void 0 : i.kind) !== 27 }) } function mTe(e, t) { return $u(e) && (e.isTypeOnly || t === e.name && b7(t)) } function hTe(e) { if (!UZ(e.parent.parent.moduleSpecifier) || e.parent.name) return !1; if (jg(e)) { let t = pTe(e); return (t ? e.elements.indexOf(t) : e.elements.length) < 2 } return !0 } function UZ(e) { var t; return rc(e) ? !0 : !((t = zr(um(e) ? e.expression : e, es)) != null && t.text) } function $Ge(e) { return jn(e, r => bT(r) || QGe(r) || La(r) ? "quit" : wi(r)) } function QGe(e) { return e.parent && xs(e.parent) && e.parent.body === e } function VZ(e, t, r = new Map) { return i(e) || i(wd(e.exportSymbol || e, t)); function i(o) { return !!(o.flags & 788968) || t.isUnknownSymbol(o) || !!(o.flags & 1536) && V_(r, $a(o)) && t.getExportsOfModule(o).some(s => VZ(s, t, r)) } } function ZGe(e, t) { let r = wd(e, t).declarations; return !!Fn(r) && Ji(r, H7) } function gTe(e, t) { if (t.length === 0) return !0; let r = !1, i, o = 0, s = e.length; for (let l = 0; l < s; l++) { let f = e.charCodeAt(l), d = t.charCodeAt(o); if ((f === d || f === eBe(d)) && (r || (r = i === void 0 || 97 <= i && i <= 122 && 65 <= f && f <= 90 || i === 95 && f !== 95), r && o++, o === t.length)) return !0; i = f } return !1 } function eBe(e) { return 97 <= e && e <= 122 ? e - 32 : e } var iG, jZ, Pl, HZ, WZ, zZ, gP, JZ, tBe = gt({ "src/services/completions.ts"() { "use strict"; Fr(), QZ(), iG = 100, jZ = 1e3, Pl = { LocalDeclarationPriority: "10", LocationPriority: "11", OptionalMember: "12", MemberDeclaredBySpreadAssignment: "13", SuggestedClassMembers: "14", GlobalsOrKeywords: "15", AutoImportSuggestions: "16", ClassMemberSnippets: "17", JavascriptIdentifiers: "18", Deprecated(e) { return "z" + e }, ObjectLiteralProperty(e, t) { return `${e}\0${t}\0` }, SortBelow(e) { return e + "1" } }, HZ = (e => (e.ThisProperty = "ThisProperty/", e.ClassMemberSnippet = "ClassMemberSnippet/", e.TypeOnlyAlias = "TypeOnlyAlias/", e.ObjectLiteralMethodSnippet = "ObjectLiteralMethodSnippet/", e.SwitchCases = "SwitchCases/", e))(HZ || {}), WZ = (e => (e[e.ThisType = 1] = "ThisType", e[e.SymbolMember = 2] = "SymbolMember", e[e.Export = 4] = "Export", e[e.Promise = 8] = "Promise", e[e.Nullable = 16] = "Nullable", e[e.ResolvedExport = 32] = "ResolvedExport", e[e.TypeOnlyAlias = 64] = "TypeOnlyAlias", e[e.ObjectLiteralMethod = 128] = "ObjectLiteralMethod", e[e.Ignore = 256] = "Ignore", e[e.ComputedPropertyName = 512] = "ComputedPropertyName", e[e.SymbolMemberNoExport = 2] = "SymbolMemberNoExport", e[e.SymbolMemberExport = 6] = "SymbolMemberExport", e))(WZ || {}), zZ = (e => (e[e.ObjectPropertyDeclaration = 0] = "ObjectPropertyDeclaration", e[e.Global = 1] = "Global", e[e.PropertyAccess = 2] = "PropertyAccess", e[e.MemberLike = 3] = "MemberLike", e[e.String = 4] = "String", e[e.None = 5] = "None", e))(zZ || {}), gP = [], JZ = zu(() => { let e = []; for (let t = 81; t <= 162; t++)e.push({ name: Xa(t), kind: "keyword", kindModifiers: "", sortText: Pl.GlobalsOrKeywords }); return e }) } }); function KZ() { let e = new Map; function t(r) { let i = e.get(r.name); (!i || $Z[i.kind] < $Z[r.kind]) && e.set(r.name, r) } return { add: t, has: e.has.bind(e), values: e.values.bind(e) } } function nBe(e, t, r, i, o, s, l, f, d) { if (Fhe(e, t)) { let g = yBe(e, t, i, o); return g && yTe(g) } if (n1(e, t, r)) { if (!r || !es(r)) return; let g = bTe(e, r, t, s.getTypeChecker(), i, o, f); return rBe(g, r, e, o, s, l, i, f, t, d) } } function rBe(e, t, r, i, o, s, l, f, d, g) { if (e === void 0) return; let m = tY(t); switch (e.kind) { case 0: return yTe(e.paths); case 1: { let v = MU(); return MZ(e.symbols, v, t, t, r, d, r, i, o, 99, s, 4, f, l, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, g), { isGlobalCompletion: !1, isMemberCompletion: !0, isNewIdentifierLocation: e.hasIndexSignature, optionalReplacementSpan: m, entries: v } } case 2: { let v = e.types.map(S => ({ name: S.value, kindModifiers: "", kind: "string", sortText: Pl.LocationPriority, replacementSpan: eY(t) })); return { isGlobalCompletion: !1, isMemberCompletion: !1, isNewIdentifierLocation: e.isNewIdentifier, optionalReplacementSpan: m, entries: v } } default: return L.assertNever(e) } } function iBe(e, t, r, i, o, s, l, f, d) { if (!i || !es(i)) return; let g = bTe(t, i, r, o, s, l, d); return g && aBe(e, i, g, t, o, f) } function aBe(e, t, r, i, o, s) { switch (r.kind) { case 0: { let l = wr(r.paths, f => f.name === e); return l && mP(e, vTe(l.extension), l.kind, [tf(e)]) } case 1: { let l = wr(r.symbols, f => f.name === e); return l && GZ(l, l.name, o, i, t, s) } case 2: return wr(r.types, l => l.value === e) ? mP(e, "", "string", [tf(e)]) : void 0; default: return L.assertNever(r) } } function yTe(e) { return { isGlobalCompletion: !1, isMemberCompletion: !1, isNewIdentifierLocation: !0, entries: e.map(({ name: o, kind: s, span: l, extension: f }) => ({ name: o, kind: s, kindModifiers: vTe(f), sortText: Pl.LocationPriority, replacementSpan: l })) } } function vTe(e) { switch (e) { case ".d.ts": return ".d.ts"; case ".js": return ".js"; case ".json": return ".json"; case ".jsx": return ".jsx"; case ".ts": return ".ts"; case ".tsx": return ".tsx"; case ".d.mts": return ".d.mts"; case ".mjs": return ".mjs"; case ".mts": return ".mts"; case ".d.cts": return ".d.cts"; case ".cjs": return ".cjs"; case ".cts": return ".cts"; case ".tsbuildinfo": return L.fail("Extension .tsbuildinfo is unsupported."); case void 0: return ""; default: return L.assertNever(e) } } function bTe(e, t, r, i, o, s, l) { let f = ETe(t.parent); switch (f.kind) { case 198: { let S = ETe(f.parent); switch (S.kind) { case 230: case 180: { let w = jn(f, C => C.parent === S); return w ? { kind: 2, types: yP(i.getTypeArgumentConstraint(w)), isNewIdentifier: !1 } : void 0 } case 196: let { indexType: x, objectType: A } = S; return wN(x, r) ? TTe(i.getTypeFromTypeNode(A)) : void 0; case 202: return { kind: 0, paths: xTe(e, t, o, s, i, l) }; case 189: { if (!m_(S.parent)) return; let w = oBe(S, f); return { kind: 2, types: yP(i.getTypeArgumentConstraint(S)).filter(P => !ya(w, P.value)), isNewIdentifier: !1 } } default: return } } case 299: return rs(f.parent) && f.name === t ? cBe(i, f.parent) : d() || d(0); case 209: { let { expression: S, argumentExpression: x } = f; return t === vs(x) ? TTe(i.getTypeAtLocation(S)) : void 0 } case 210: case 211: case 288: if (!TBe(t) && !Dd(f)) { let S = BP.getArgumentInfoForCompletions(f.kind === 288 ? f.parent : t, r, e); return S && sBe(S.invocation, t, S, i) || d() } case 269: case 275: case 280: return { kind: 0, paths: xTe(e, t, o, s, i, l) }; case 292: let g = J7(i, f.parent.clauses), m = d(); return m ? { kind: 2, types: m.types.filter(S => !g.hasValue(S.value)), isNewIdentifier: !1 } : void 0; default: return d() }function d(g = 4) { let m = yP(w7(t, i, g)); if (m.length) return { kind: 2, types: m, isNewIdentifier: !1 } } } function ETe(e) { switch (e.kind) { case 193: return dR(e); case 214: return qy(e); default: return e } } function oBe(e, t) { return Zi(e.types, r => r !== t && mb(r) && yo(r.literal) ? r.literal.text : void 0) } function sBe(e, t, r, i) { let o = !1, s = new Map, l = [], f = Au(e) ? L.checkDefined(jn(t.parent, Sp)) : t; i.getResolvedSignatureForStringLiteralCompletions(e, f, l); let d = Uo(l, g => { if (!Xl(g) && r.argumentCount > g.parameters.length) return; let m = g.getTypeParameterAtPosition(r.argumentIndex); if (Au(e)) { let v = i.getTypeOfPropertyOfType(m, f.name.text); v && (m = v) } return o = o || !!(m.flags & 4), yP(m, s) }); return Fn(d) ? { kind: 2, types: d, isNewIdentifier: o } : void 0 } function TTe(e) { return e && { kind: 1, symbols: Pr(e.getApparentProperties(), t => !(t.valueDeclaration && xu(t.valueDeclaration))), hasIndexSignature: EY(e) } } function cBe(e, t) { let r = e.getContextualType(t); if (!r) return; let i = e.getContextualType(t, 4); return { kind: 1, symbols: tG(r, i, t, e), hasIndexSignature: EY(r) } } function yP(e, t = new Map) { return e ? (e = iY(e), e.isUnion() ? Uo(e.types, r => yP(r, t)) : e.isStringLiteral() && !(e.flags & 1024) && V_(t, e.value) ? [e] : Je) : Je } function tC(e, t, r) { return { name: e, kind: t, extension: r } } function qZ(e) { return tC(e, "directory", void 0) } function STe(e, t, r) { let i = bBe(e, t), o = e.length === 0 ? void 0 : il(t, e.length); return r.map(({ name: s, kind: l, extension: f }) => Math.max(s.indexOf(_s), s.indexOf(pw)) !== -1 ? { name: s, kind: l, extension: f, span: o } : { name: s, kind: l, extension: f, span: i }) } function xTe(e, t, r, i, o, s) { return STe(t.text, t.getStart(e) + 1, lBe(e, t, r, i, o, s)) } function lBe(e, t, r, i, o, s) { let l = Al(t.text), f = es(t) ? W_(e, t) : void 0, d = e.path, g = ni(d), m = XZ(r, 1, e, o, s, f); return EBe(l) || !r.baseUrl && (qp(l) || doe(l)) ? uBe(l, g, r, i, d, m) : pBe(l, g, f, r, i, m, o) } function XZ(e, t, r, i, o, s) { return { extensionsToSearch: t_(dBe(e, i)), referenceKind: t, importingSourceFile: r, endingPreference: o?.importModuleSpecifierEnding, resolutionMode: s } } function uBe(e, t, r, i, o, s) { return r.rootDirs ? _Be(r.rootDirs, e, t, s, r, i, o) : lo(Tk(e, t, s, i, !1, o).values()) } function dBe(e, t) { let r = t ? Zi(t.getAmbientModules(), s => { let l = s.name.slice(1, -1); if (!(!l.startsWith("*.") || l.includes("/"))) return l.slice(1) }) : [], i = [...nL(e), r], o = $s(e); return T7(o) ? FR(e, i) : i } function fBe(e, t, r, i) { e = e.map(s => So(qp(s) ? s : vi(t, s))); let o = ks(e, s => Gy(s, r, t, i) ? r.substr(s.length) : void 0); return fA([...e.map(s => vi(s, o)), r], z1, su) } function _Be(e, t, r, i, o, s, l) { let f = o.project || s.getCurrentDirectory(), d = !(s.useCaseSensitiveFileNames && s.useCaseSensitiveFileNames()), g = fBe(e, f, r, d); return Uo(g, m => lo(Tk(t, m, i, s, !0, l).values())) } function Tk(e, t, r, i, o, s, l = KZ()) { var f; e === void 0 && (e = ""), e = Al(e), My(e) || (e = ni(e)), e === "" && (e = "." + _s), e = cu(e); let d = Fy(t, e), g = My(d) ? d : ni(d); if (!o) { let x = cge(g, i); if (x) { let w = JI(x, i).typesVersions; if (typeof w == "object") { let C = (f = q3(w)) == null ? void 0 : f.paths; if (C) { let P = ni(x), F = d.slice(cu(P).length); if (CTe(l, F, P, r, i, C)) return l } } } } let m = !(i.useCaseSensitiveFileNames && i.useCaseSensitiveFileNames()); if (!G7(i, g)) return l; let v = xY(i, g, r.extensionsToSearch, void 0, ["./*"]); if (v) for (let x of v) { if (x = So(x), s && cT(x, s, t, m) === 0) continue; let { name: A, extension: w } = ATe(Hl(x), i.getCompilationSettings(), r); l.add(tC(A, "script", w)) } let S = M7(i, g); if (S) for (let x of S) { let A = Hl(So(x)); A !== "@types" && l.add(qZ(A)) } return l } function ATe(e, t, r) { let i = Q0.tryGetRealFileNameForNonJsDeclarationFileName(e); if (i) return { name: i, extension: Hm(i) }; if (r.referenceKind === 0) return { name: e, extension: Hm(e) }; let o = OW(r.endingPreference, r.resolutionMode, t, r.importingSourceFile); if (o === 3) { if ($c(e, L4)) return { name: e, extension: Hm(e) }; let l = Q0.tryGetJSExtensionForFile(e, t); return l ? { name: V0(e, l), extension: l } : { name: e, extension: Hm(e) } } if ((o === 0 || o === 1) && $c(e, [".js", ".jsx", ".ts", ".tsx", ".d.ts"])) return { name: ld(e), extension: Hm(e) }; let s = Q0.tryGetJSExtensionForFile(e, t); return s ? { name: V0(e, s), extension: s } : { name: e, extension: Hm(e) } } function CTe(e, t, r, i, o, s) { let l = d => s[d], f = (d, g) => { let m = n2(d), v = n2(g), S = typeof m == "object" ? m.prefix.length : d.length, x = typeof v == "object" ? v.prefix.length : g.length; return Es(x, S) }; return ITe(e, t, r, i, o, bh(s), l, f) } function ITe(e, t, r, i, o, s, l, f) { let d = [], g; for (let m of s) { if (m === ".") continue; let v = m.replace(/^\.\//, ""), S = l(m); if (S) { let x = n2(v); if (!x) continue; let A = typeof x == "object" && h8(x, t); A && (g === void 0 || f(m, g) === -1) && (g = m, d = d.filter(C => !C.matchedPattern)), (typeof x == "string" || g === void 0 || f(m, g) !== 1) && d.push({ matchedPattern: A, results: mBe(v, S, t, r, i, o).map(({ name: C, kind: P, extension: F }) => tC(C, P, F)) }) } } return d.forEach(m => m.results.forEach(v => e.add(v))), g !== void 0 } function pBe(e, t, r, i, o, s, l) { let { baseUrl: f, paths: d } = i, g = KZ(), m = $s(i); if (f) { let S = i.project || o.getCurrentDirectory(), x = So(vi(S, f)); Tk(e, x, s, o, !1, void 0, g), d && CTe(g, e, x, s, o, d) } let v = kTe(e); for (let S of gBe(e, v, l)) g.add(tC(S, "external module name", void 0)); if (RTe(o, i, t, v, s, g), T7(m)) { let S = !1; if (v === void 0) for (let x of vBe(o, t)) { let A = tC(x, "external module name", void 0); g.has(A.name) || (S = !0, g.add(A)) } if (!S) { let x = A => { let w = vi(A, "node_modules"); G7(o, w) && Tk(e, w, s, o, !1, void 0, g) }; if (v && xW(i)) { let A = x; x = w => { let C = Ou(e); C.shift(); let P = C.shift(); if (!P) return A(w); if (na(P, "@")) { let q = C.shift(); if (!q) return A(w); P = vi(P, q) } let F = vi(w, "node_modules", P), B = vi(F, "package.json"); if (F7(o, B)) { let W = JI(B, o).exports; if (W) { if (typeof W != "object" || W === null) return; let Y = bh(W), R = C.join("/") + (C.length && My(e) ? "/" : ""), ie = r === 99 ? ["node", "import", "types"] : ["node", "require", "types"]; ITe(g, R, F, s, o, Y, $ => aT(LTe(W[$], ie)), tK); return } } return A(w) } } Th(t, x) } } return lo(g.values()) } function LTe(e, t) { if (typeof e == "string") return e; if (e && typeof e == "object" && !ba(e)) { for (let r in e) if (r === "default" || t.indexOf(r) > -1 || QO(t, r)) { let i = e[r]; return LTe(i, t) } } } function kTe(e) { return YZ(e) ? My(e) ? e : ni(e) : void 0 } function mBe(e, t, r, i, o, s) { if (!Oc(e, "*")) return jl(e, "*") ? Je : d(e, "script"); let l = e.slice(0, e.length - 1), f = KU(r, l); if (f === void 0) return e[e.length - 2] === "/" ? d(l, "directory") : Uo(t, m => { var v; return (v = DTe("", i, m, o, s)) == null ? void 0 : v.map(({ name: S, ...x }) => ({ name: l + S, ...x })) }); return Uo(t, g => DTe(f, i, g, o, s)); function d(g, m) { return na(g, r) ? [{ name: sT(g), kind: m, extension: void 0 }] : Je } } function DTe(e, t, r, i, o) { if (!o.readDirectory) return; let s = n2(r); if (s === void 0 || Ta(s)) return; let l = Fy(s.prefix), f = My(s.prefix) ? l : ni(l), d = My(s.prefix) ? "" : Hl(l), g = YZ(e), m = g ? My(e) ? e : ni(e) : void 0, v = g ? vi(f, d + m) : f, S = So(s.suffix), x = So(vi(t, v)), A = g ? x : cu(x) + d, w = S ? "**/*" + S : "./*", C = Zi(xY(o, x, i.extensionsToSearch, void 0, [w]), B => { let q = F(B); if (q) { if (YZ(q)) return qZ(Ou(wTe(q))[1]); let { name: W, extension: Y } = ATe(q, o.getCompilationSettings(), i); return tC(W, "script", Y) } }), P = S ? Je : Zi(M7(o, x), B => B === "node_modules" ? void 0 : qZ(B)); return [...C, ...P]; function F(B) { let q = hBe(So(B), A, S); return q === void 0 ? void 0 : wTe(q) } } function hBe(e, t, r) { return na(e, t) && Oc(e, r) ? e.slice(t.length, e.length - r.length) : void 0 } function wTe(e) { return e[0] === _s ? e.slice(1) : e } function gBe(e, t, r) { let o = r.getAmbientModules().map(s => u_(s.name)).filter(s => na(s, e) && s.indexOf("*") < 0); if (t !== void 0) { let s = cu(t); return o.map(l => QC(l, s)) } return o } function yBe(e, t, r, i) { let o = Vi(e, t), s = Nm(e.text, o.pos), l = s && wr(s, A => t >= A.pos && t <= A.end); if (!l) return; let f = e.text.slice(l.pos, t), d = OTe.exec(f); if (!d) return; let [, g, m, v] = d, S = ni(e.path), x = m === "path" ? Tk(v, S, XZ(r, 0, e), i, !0, e.path) : m === "types" ? RTe(i, r, S, kTe(v), XZ(r, 1, e)) : L.fail(); return STe(v, l.pos + g.length, lo(x.values())) } function RTe(e, t, r, i, o, s = KZ()) { let l = new Map, f = B7(() => XO(t, e)) || Je; for (let g of f) d(g); for (let g of AY(r, e)) { let m = vi(ni(g), "node_modules/@types"); d(m) } return s; function d(g) { if (G7(e, g)) for (let m of M7(e, g)) { let v = iF(m); if (!(t.types && !ya(t.types, v))) if (i === void 0) l.has(v) || (s.add(tC(v, "external module name", void 0)), l.set(v, !0)); else { let S = vi(g, m), x = IW(i, v, lb(e)); x !== void 0 && Tk(x, S, o, e, !1, void 0, s) } } } } function vBe(e, t) { if (!e.readFile || !e.fileExists) return Je; let r = []; for (let i of AY(t, e)) { let o = JI(i, e); for (let s of NTe) { let l = o[s]; if (l) for (let f in l) fs(l, f) && !na(f, "@types/") && r.push(f) } } return r } function bBe(e, t) { let r = Math.max(e.lastIndexOf(_s), e.lastIndexOf(pw)), i = r !== -1 ? r + 1 : 0, o = e.length - i; return o === 0 || i_(e.substr(i, o), 99) ? void 0 : il(t + i, o) } function EBe(e) { if (e && e.length >= 2 && e.charCodeAt(0) === 46) { let t = e.length >= 3 && e.charCodeAt(1) === 46 ? 2 : 1, r = e.charCodeAt(t); return r === 47 || r === 92 } return !1 } function YZ(e) { return jl(e, _s) } function TBe(e) { return Pa(e.parent) && Sl(e.parent.arguments) === e && Re(e.parent.expression) && e.parent.expression.escapedText === "require" } var $Z, OTe, NTe, SBe = gt({ "src/services/stringCompletions.ts"() { "use strict"; Fr(), QZ(), $Z = { directory: 0, script: 1, "external module name": 2 }, OTe = /^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\3"]*)$/, NTe = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"] } }), aG = {}; Mo(aG, { getStringLiteralCompletionDetails: () => iBe, getStringLiteralCompletions: () => nBe }); var xBe = gt({ "src/services/_namespaces/ts.Completions.StringCompletions.ts"() { "use strict"; SBe() } }), lx = {}; Mo(lx, { CompletionKind: () => zZ, CompletionSource: () => HZ, SortText: () => Pl, StringCompletions: () => aG, SymbolOriginInfoKind: () => WZ, createCompletionDetails: () => mP, createCompletionDetailsForSymbol: () => GZ, getCompletionEntriesFromSymbols: () => MZ, getCompletionEntryDetails: () => OGe, getCompletionEntrySymbol: () => PGe, getCompletionsAtPosition: () => fGe, getPropertiesForObjectExpression: () => tG, moduleSpecifierResolutionCacheAttemptLimit: () => jZ, moduleSpecifierResolutionLimit: () => iG }); var QZ = gt({ "src/services/_namespaces/ts.Completions.ts"() { "use strict"; tBe(), xBe() } }); function ZZ(e, t, r, i) { let o = LBe(e, r, i); return (s, l, f) => { let { directImports: d, indirectUsers: g } = ABe(e, t, o, l, r, i); return { indirectUsers: g, ...CBe(d, s, l.exportKind, r, f) } } } function ABe(e, t, r, { exportingModuleSymbol: i, exportKind: o }, s, l) { let f = W2(), d = W2(), g = [], m = !!i.globalExports, v = m ? void 0 : []; return x(i), { directImports: g, indirectUsers: S() }; function S() { if (m) return e; if (i.declarations) for (let B of i.declarations) D0(B) && t.has(B.getSourceFile().fileName) && P(B); return v.map(Gn) } function x(B) { let q = F(B); if (q) { for (let W of q) if (f(W)) switch (l && l.throwIfCancellationRequested(), W.kind) { case 210: if (Dd(W)) { A(W); break } if (!m) { let R = W.parent; if (o === 2 && R.kind === 257) { let { name: ie } = R; if (ie.kind === 79) { g.push(ie); break } } } break; case 79: break; case 268: C(W, W.name, Mr(W, 1), !1); break; case 269: g.push(W); let Y = W.importClause && W.importClause.namedBindings; Y && Y.kind === 271 ? C(W, Y.name, !1, !0) : !m && lS(W) && P(vP(W)); break; case 275: W.exportClause ? W.exportClause.kind === 277 ? P(vP(W), !0) : g.push(W) : x(OBe(W, s)); break; case 202: !m && W.isTypeOf && !W.qualifier && w(W) && P(W.getSourceFile(), !0), g.push(W); break; default: L.failBadSyntaxKind(W, "Unexpected import kind.") } } } function A(B) { let q = jn(B, oG) || B.getSourceFile(); P(q, !!w(B, !0)) } function w(B, q = !1) { return jn(B, W => q && oG(W) ? "quit" : g_(W) && vt(W.modifiers, c3)) } function C(B, q, W, Y) { if (o === 2) Y || g.push(B); else if (!m) { let R = vP(B); L.assert(R.kind === 308 || R.kind === 264), W || IBe(R, q, s) ? P(R, !0) : P(R) } } function P(B, q = !1) { if (L.assert(!m), !d(B) || (v.push(B), !q)) return; let Y = s.getMergedSymbol(B.symbol); if (!Y) return; L.assert(!!(Y.flags & 1536)); let R = F(Y); if (R) for (let ie of R) Mh(ie) || P(vP(ie), !0) } function F(B) { return r.get($a(B).toString()) } } function CBe(e, t, r, i, o) { let s = [], l = []; function f(S, x) { s.push([S, x]) } if (e) for (let S of e) d(S); return { importSearches: s, singleReferences: l }; function d(S) { if (S.kind === 268) { tee(S) && g(S.name); return } if (S.kind === 79) { g(S); return } if (S.kind === 202) { if (S.qualifier) { let w = Yd(S.qualifier); w.escapedText === fc(t) && l.push(w) } else r === 2 && l.push(S.argument.literal); return } if (S.moduleSpecifier.kind !== 10) return; if (S.kind === 275) { S.exportClause && h_(S.exportClause) && m(S.exportClause); return } let { name: x, namedBindings: A } = S.importClause || { name: void 0, namedBindings: void 0 }; if (A) switch (A.kind) { case 271: g(A.name); break; case 272: (r === 0 || r === 1) && m(A); break; default: L.assertNever(A) }if (x && (r === 1 || r === 2) && (!o || x.escapedText === A7(t))) { let w = i.getSymbolAtLocation(x); f(x, w) } } function g(S) { r === 2 && (!o || v(S.escapedText)) && f(S, i.getSymbolAtLocation(S)) } function m(S) { if (S) for (let x of S.elements) { let { name: A, propertyName: w } = x; if (v((w || A).escapedText)) if (w) l.push(w), (!o || A.escapedText === t.escapedName) && f(A, i.getSymbolAtLocation(A)); else { let C = x.kind === 278 && x.propertyName ? i.getExportSpecifierLocalTargetSymbol(x) : i.getSymbolAtLocation(A); f(A, C) } } } function v(S) { return S === t.escapedName || r !== 0 && S === "default" } } function IBe(e, t, r) { let i = r.getSymbolAtLocation(t); return !!MTe(e, o => { if (!Il(o)) return; let { exportClause: s, moduleSpecifier: l } = o; return !l && s && h_(s) && s.elements.some(f => r.getExportSpecifierLocalTargetSymbol(f) === i) }) } function PTe(e, t, r) { var i; let o = [], s = e.getTypeChecker(); for (let l of t) { let f = r.valueDeclaration; if (f?.kind === 308) { for (let d of l.referencedFiles) e.getSourceFileFromReference(l, d) === f && o.push({ kind: "reference", referencingFile: l, ref: d }); for (let d of l.typeReferenceDirectives) { let g = (i = e.getResolvedTypeReferenceDirectives().get(d.fileName, d.resolutionMode || l.impliedNodeFormat)) == null ? void 0 : i.resolvedTypeReferenceDirective; g !== void 0 && g.resolvedFileName === f.fileName && o.push({ kind: "reference", referencingFile: l, ref: d }) } } FTe(l, (d, g) => { s.getSymbolAtLocation(g) === r && o.push({ kind: "import", literal: g }) }) } return o } function LBe(e, t, r) { let i = new Map; for (let o of e) r && r.throwIfCancellationRequested(), FTe(o, (s, l) => { let f = t.getSymbolAtLocation(l); if (f) { let d = $a(f).toString(), g = i.get(d); g || i.set(d, g = []), g.push(s) } }); return i } function MTe(e, t) { return mn(e.kind === 308 ? e.statements : e.body.statements, r => t(r) || oG(r) && mn(r.body && r.body.statements, t)) } function FTe(e, t) { if (e.externalModuleIndicator || e.imports !== void 0) for (let r of e.imports) t(aR(r), r); else MTe(e, r => { switch (r.kind) { case 275: case 269: { let i = r; i.moduleSpecifier && yo(i.moduleSpecifier) && t(i, i.moduleSpecifier); break } case 268: { let i = r; tee(i) && t(i, i.moduleReference.expression); break } } }) } function GTe(e, t, r, i) { return i ? o() : o() || s(); function o() { var d; let { parent: g } = e, m = g.parent; if (t.exportSymbol) return g.kind === 208 ? (d = t.declarations) != null && d.some(x => x === g) && ar(m) ? S(m, !1) : void 0 : l(t.exportSymbol, f(g)); { let x = DBe(g, e); if (x && Mr(x, 1)) return Nl(x) && x.moduleReference === e ? i ? void 0 : { kind: 0, symbol: r.getSymbolAtLocation(x.name) } : l(t, f(x)); if (qm(g)) return l(t, 0); if (pc(g)) return v(g); if (pc(m)) return v(m); if (ar(g)) return S(g, !0); if (ar(m)) return S(m, !0); if (Kz(g) || Vz(g)) return l(t, 0) } function v(x) { if (!x.symbol.parent) return; let A = x.isExportEquals ? 2 : 1; return { kind: 1, symbol: t, exportInfo: { exportingModuleSymbol: x.symbol.parent, exportKind: A } } } function S(x, A) { let w; switch (ic(x)) { case 1: w = 0; break; case 2: w = 2; break; default: return }let C = A ? r.getSymbolAtLocation(ule(Ga(x.left, Us))) : t; return C && l(C, w) } } function s() { if (!wBe(e)) return; let g = r.getImmediateAliasedSymbol(t); if (!g || (g = RBe(g, r), g.escapedName === "export=" && (g = kBe(g, r), g === void 0))) return; let m = A7(g); if (m === void 0 || m === "default" || m === t.escapedName) return { kind: 0, symbol: g } } function l(d, g) { let m = eee(d, g, r); return m && { kind: 1, symbol: d, exportInfo: m } } function f(d) { return Mr(d, 1024) ? 1 : 0 } } function kBe(e, t) { var r, i; if (e.flags & 2097152) return t.getImmediateAliasedSymbol(e); let o = L.checkDefined(e.valueDeclaration); if (pc(o)) return (r = zr(o.expression, $p)) == null ? void 0 : r.symbol; if (ar(o)) return (i = zr(o.right, $p)) == null ? void 0 : i.symbol; if (Li(o)) return o.symbol } function DBe(e, t) { let r = wi(e) ? e : Wo(e) ? bA(e) : void 0; return r ? e.name !== t || E2(r.parent) ? void 0 : Bc(r.parent.parent) ? r.parent.parent : void 0 : e } function wBe(e) { let { parent: t } = e; switch (t.kind) { case 268: return t.name === e && tee(t); case 273: return !t.propertyName; case 270: case 271: return L.assert(t.name === e), !0; case 205: return Yn(e) && N0(t.parent.parent); default: return !1 } } function eee(e, t, r) { let i = e.parent; if (!i) return; let o = r.getMergedSymbol(i); return BN(o) ? { exportingModuleSymbol: o, exportKind: t } : void 0 } function RBe(e, t) { if (e.declarations) for (let r of e.declarations) { if (Mu(r) && !r.propertyName && !r.parent.parent.moduleSpecifier) return t.getExportSpecifierLocalTargetSymbol(r) || e; if (br(r) && Bm(r.expression) && !pi(r.name)) return t.getSymbolAtLocation(r); if (xf(r) && ar(r.parent.parent) && ic(r.parent.parent) === 2) return t.getExportSpecifierLocalTargetSymbol(r.name) } return e } function OBe(e, t) { return t.getMergedSymbol(vP(e).symbol) } function vP(e) { if (e.kind === 210) return e.getSourceFile(); let { parent: t } = e; return t.kind === 308 ? t : (L.assert(t.kind === 265), Ga(t.parent, oG)) } function oG(e) { return e.kind === 264 && e.name.kind === 10 } function tee(e) { return e.moduleReference.kind === 280 && e.moduleReference.expression.kind === 10 } var nee, ree, NBe = gt({ "src/services/importTracker.ts"() { "use strict"; Fr(), nee = (e => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.ExportEquals = 2] = "ExportEquals", e))(nee || {}), ree = (e => (e[e.Import = 0] = "Import", e[e.Export = 1] = "Export", e))(ree || {}) } }); function Ym(e, t = 1) { return { kind: t, node: e.name || e, context: PBe(e) } } function BTe(e) { return e && e.kind === void 0 } function PBe(e) { if (Kl(e)) return sE(e); if (e.parent) { if (!Kl(e.parent) && !pc(e.parent)) { if (Yn(e)) { let r = ar(e.parent) ? e.parent : Us(e.parent) && ar(e.parent.parent) && e.parent.parent.left === e.parent ? e.parent.parent : void 0; if (r && ic(r) !== 0) return sE(r) } if (Xm(e.parent) || GS(e.parent)) return e.parent.parent; if (FS(e.parent) || J0(e.parent) || hI(e.parent)) return e.parent; if (es(e)) { let r = oR(e); if (r) { let i = jn(r, o => Kl(o) || ca(o) || EI(o)); return Kl(i) ? sE(i) : i } } let t = jn(e, ts); return t ? sE(t.parent) : void 0 } if (e.parent.name === e || Ec(e.parent) || pc(e.parent) || (eS(e.parent) || Wo(e.parent)) && e.parent.propertyName === e || e.kind === 88 && Mr(e.parent, 1025)) return sE(e.parent) } } function sE(e) { if (e) switch (e.kind) { case 257: return !pu(e.parent) || e.parent.declarations.length !== 1 ? e : Bc(e.parent.parent) ? e.parent.parent : CA(e.parent.parent) ? sE(e.parent.parent) : e.parent; case 205: return sE(e.parent.parent); case 273: return e.parent.parent.parent; case 278: case 271: return e.parent.parent; case 270: case 277: return e.parent; case 223: return Ol(e.parent) ? e.parent : e; case 247: case 246: return { start: e.initializer, end: e.expression }; case 299: case 300: return qg(e.parent) ? sE(jn(e.parent, t => ar(t) || CA(t))) : e; default: return e } } function iee(e, t, r) { if (!r) return; let i = BTe(r) ? EP(r.start, t, r.end) : EP(r, t); return i.start !== e.start || i.length !== e.length ? { contextSpan: i } : void 0 } function MBe(e, t, r, i, o) { let s = ef(i, o), l = { use: 1 }, f = u1.getReferencedSymbolsForNode(o, s, e, r, t, l), d = e.getTypeChecker(), g = u1.getAdjustedNode(s, l), m = FBe(g) ? d.getSymbolAtLocation(g) : void 0; return !f || !f.length ? void 0 : Zi(f, ({ definition: v, references: S }) => v && { definition: d.runWithCancellationToken(t, x => UBe(v, x, s)), references: S.map(x => jBe(x, m)) }) } function FBe(e) { return e.kind === 88 || !!fR(e) || _R(e) || e.kind === 135 && Ec(e.parent) } function GBe(e, t, r, i, o) { let s = ef(i, o), l, f = UTe(e, t, r, s, o); if (s.parent.kind === 208 || s.parent.kind === 205 || s.parent.kind === 209 || s.kind === 106) l = f && [...f]; else if (f) { let g = HU(f), m = new Map; for (; !g.isEmpty();) { let v = g.dequeue(); if (!V_(m, zo(v.node))) continue; l = Sn(l, v); let S = UTe(e, t, r, v.node, v.node.pos); S && g.enqueue(...S) } } let d = e.getTypeChecker(); return on(l, g => WBe(g, d)) } function UTe(e, t, r, i, o) { if (i.kind === 308) return; let s = e.getTypeChecker(); if (i.parent.kind === 300) { let l = []; return u1.getReferenceEntriesForShorthandPropertyAssignment(i, s, f => l.push(Ym(f))), l } else if (i.kind === 106 || Pu(i.parent)) { let l = s.getSymbolAtLocation(i); return l.valueDeclaration && [Ym(l.valueDeclaration)] } else return VTe(o, i, e, r, t, { implementations: !0, use: 1 }) } function BBe(e, t, r, i, o, s, l) { return on(jTe(u1.getReferencedSymbolsForNode(o, i, e, r, t, s)), f => l(f, i, e.getTypeChecker())) } function VTe(e, t, r, i, o, s = {}, l = new Set(i.map(f => f.fileName))) { return jTe(u1.getReferencedSymbolsForNode(e, t, r, i, o, s, l)) } function jTe(e) { return e && Uo(e, t => t.references) } function UBe(e, t, r) { let i = (() => { switch (e.type) { case 0: { let { symbol: m } = e, { displayParts: v, kind: S } = HTe(m, t, r), x = v.map(C => C.text).join(""), A = m.declarations && Sl(m.declarations), w = A ? sa(A) || A : r; return { ...bP(w), name: x, kind: S, displayParts: v, context: sE(A) } } case 1: { let { node: m } = e; return { ...bP(m), name: m.text, kind: "label", displayParts: [Qu(m.text, 17)] } } case 2: { let { node: m } = e, v = Xa(m.kind); return { ...bP(m), name: v, kind: "keyword", displayParts: [{ text: v, kind: "keyword" }] } } case 3: { let { node: m } = e, v = t.getSymbolAtLocation(m), S = v && $g.getSymbolDisplayPartsDocumentationAndSymbolKind(t, v, m.getSourceFile(), e1(m), m).displayParts || [tf("this")]; return { ...bP(m), name: "this", kind: "var", displayParts: S } } case 4: { let { node: m } = e; return { ...bP(m), name: m.text, kind: "var", displayParts: [Qu(Qc(m), 8)] } } case 5: return { textSpan: lv(e.reference), sourceFile: e.file, name: e.reference.fileName, kind: "string", displayParts: [Qu(`"${e.reference.fileName}"`, 8)] }; default: return L.assertNever(e) } })(), { sourceFile: o, textSpan: s, name: l, kind: f, displayParts: d, context: g } = i; return { containerKind: "", containerName: "", fileName: o.fileName, kind: f, name: l, textSpan: s, displayParts: d, ...iee(s, o, g) } } function bP(e) { let t = e.getSourceFile(); return { sourceFile: t, textSpan: EP(ts(e) ? e.expression : e, t) } } function HTe(e, t, r) { let i = u1.getIntersectingMeaningFromDeclarations(r, e), o = e.declarations && Sl(e.declarations) || r, { displayParts: s, symbolKind: l } = $g.getSymbolDisplayPartsDocumentationAndSymbolKind(t, e, o.getSourceFile(), o, o, i); return { displayParts: s, kind: l } } function VBe(e, t, r, i) { return { ...sG(e), ...i && HBe(e, t, r) } } function jBe(e, t) { let r = WTe(e); return t ? { ...r, isDefinition: e.kind !== 0 && JTe(e.node, t) } : r } function WTe(e) { let t = sG(e); if (e.kind === 0) return { ...t, isWriteAccess: !1 }; let { kind: r, node: i } = e; return { ...t, isWriteAccess: zTe(i), isInString: r === 2 ? !0 : void 0 } } function sG(e) { if (e.kind === 0) return { textSpan: e.textSpan, fileName: e.fileName }; { let t = e.node.getSourceFile(), r = EP(e.node, t); return { textSpan: r, fileName: t.fileName, ...iee(r, t, e.context) } } } function HBe(e, t, r) { if (e.kind !== 0 && Re(t)) { let { node: i, kind: o } = e, s = i.parent, l = t.text, f = xf(s); if (f || jN(s) && s.name === i && s.dotDotDotToken === void 0) { let d = { prefixText: l + ": " }, g = { suffixText: ": " + l }; if (o === 3) return d; if (o === 4) return g; if (f) { let m = s.parent; return rs(m) && ar(m.parent) && Bm(m.parent.left) ? d : g } else return d } else if ($u(s) && !s.propertyName) { let d = Mu(t.parent) ? r.getExportSpecifierLocalTargetSymbol(t.parent) : r.getSymbolAtLocation(t); return ya(d.declarations, s) ? { prefixText: l + " as " } : Cp } else if (Mu(s) && !s.propertyName) return t === e.node || r.getSymbolAtLocation(t) === r.getSymbolAtLocation(e.node) ? { prefixText: l + " as " } : { suffixText: " as " + l } } return Cp } function WBe(e, t) { let r = sG(e); if (e.kind !== 0) { let { node: i } = e; return { ...r, ...zBe(i, t) } } else return { ...r, kind: "", displayParts: [] } } function zBe(e, t) { let r = t.getSymbolAtLocation(Kl(e) && e.name ? e.name : e); return r ? HTe(r, t, e) : e.kind === 207 ? { kind: "interface", displayParts: [Yl(20), tf("object literal"), Yl(21)] } : e.kind === 228 ? { kind: "local class", displayParts: [Yl(20), tf("anonymous local class"), Yl(21)] } : { kind: aE(e), displayParts: [] } } function JBe(e) { let t = sG(e); if (e.kind === 0) return { fileName: t.fileName, span: { textSpan: t.textSpan, kind: "reference" } }; let r = zTe(e.node), i = { textSpan: t.textSpan, kind: r ? "writtenReference" : "reference", isInString: e.kind === 2 ? !0 : void 0, ...t.contextSpan && { contextSpan: t.contextSpan } }; return { fileName: t.fileName, span: i } } function EP(e, t, r) { let i = e.getStart(t), o = (r || e).getEnd(); return es(e) && o - i > 2 && (L.assert(r === void 0), i += 1, o -= 1), Wc(i, o) } function aee(e) { return e.kind === 0 ? e.textSpan : EP(e.node, e.node.getSourceFile()) } function zTe(e) { let t = fR(e); return !!t && KBe(t) || e.kind === 88 || YI(e) } function JTe(e, t) { var r; if (!t) return !1; let i = fR(e) || (e.kind === 88 ? e.parent : _R(e) || e.kind === 135 && Ec(e.parent) ? e.parent.parent : void 0), o = i && ar(i) ? i.left : void 0; return !!(i && ((r = t.declarations) != null && r.some(s => s === i || s === o))) } function KBe(e) { if (e.flags & 16777216) return !0; switch (e.kind) { case 223: case 205: case 260: case 228: case 88: case 263: case 302: case 278: case 270: case 268: case 273: case 261: case 341: case 349: case 288: case 264: case 267: case 271: case 277: case 166: case 300: case 262: case 165: return !0; case 299: return !qg(e.parent); case 259: case 215: case 173: case 171: case 174: case 175: return !!e.body; case 257: case 169: return !!e.initializer || E2(e.parent); case 170: case 168: case 351: case 344: return !1; default: return L.failBadSyntaxKind(e) } } var oee, see, cee, u1, qBe = gt({ "src/services/findAllReferences.ts"() { "use strict"; Fr(), KTe(), oee = (e => (e[e.Symbol = 0] = "Symbol", e[e.Label = 1] = "Label", e[e.Keyword = 2] = "Keyword", e[e.This = 3] = "This", e[e.String = 4] = "String", e[e.TripleSlashReference = 5] = "TripleSlashReference", e))(oee || {}), see = (e => (e[e.Span = 0] = "Span", e[e.Node = 1] = "Node", e[e.StringLiteral = 2] = "StringLiteral", e[e.SearchedLocalFoundProperty = 3] = "SearchedLocalFoundProperty", e[e.SearchedPropertyFoundLocal = 4] = "SearchedPropertyFoundLocal", e))(see || {}), cee = (e => (e[e.Other = 0] = "Other", e[e.References = 1] = "References", e[e.Rename = 2] = "Rename", e))(cee || {}), (e => { function t(Se, at, Tt, ve, nt, ce = {}, Q = new Set(ve.map(ue => ue.fileName))) { var ue, G, Oe; if (at = r(at, ce), Li(at)) { let ae = xk.getReferenceAtPosition(at, Se, Tt); if (!ae?.file) return; let rt = Tt.getTypeChecker().getMergedSymbol(ae.file.symbol); if (rt) return g(Tt, rt, !1, ve, Q); let Ot = Tt.getFileIncludeReasons(); return Ot ? [{ definition: { type: 5, reference: ae.reference, file: at }, references: o(ae.file, Ot, Tt) || Je }] : void 0 } if (!ce.implementations) { let ae = v(at, ve, nt); if (ae) return ae } let je = Tt.getTypeChecker(), Ge = je.getSymbolAtLocation(Ec(at) && at.parent.name || at); if (!Ge) { if (!ce.implementations && es(at)) { if (C7(at)) { let ae = Tt.getFileIncludeReasons(), rt = (Oe = (G = (ue = at.getSourceFile().resolvedModules) == null ? void 0 : ue.get(at.text, W_(at.getSourceFile(), at))) == null ? void 0 : G.resolvedModule) == null ? void 0 : Oe.resolvedFileName, Ot = rt ? Tt.getSourceFile(rt) : void 0; if (Ot) return [{ definition: { type: 4, node: at }, references: o(Ot, ae, Tt) || Je }] } return pt(at, ve, je, nt) } return } if (Ge.escapedName === "export=") return g(Tt, Ge.parent, !1, ve, Q); let kt = l(Ge, Tt, ve, nt, ce, Q); if (kt && !(Ge.flags & 33554432)) return kt; let Kt = s(at, Ge, je), ln = Kt && l(Kt, Tt, ve, nt, ce, Q), ir = S(Ge, at, ve, Q, je, nt, ce); return f(Tt, kt, ir, ln) } e.getReferencedSymbolsForNode = t; function r(Se, at) { return at.use === 1 ? Se = zX(Se) : at.use === 2 && (Se = _7(Se)), Se } e.getAdjustedNode = r; function i(Se, at, Tt, ve = new Set(Tt.map(nt => nt.fileName))) { var nt, ce; let Q = (nt = at.getSourceFile(Se)) == null ? void 0 : nt.symbol; if (Q) return ((ce = g(at, Q, !1, Tt, ve)[0]) == null ? void 0 : ce.references) || Je; let ue = at.getFileIncludeReasons(), G = at.getSourceFile(Se); return G && ue && o(G, ue, at) || Je } e.getReferencesForFileName = i; function o(Se, at, Tt) { let ve, nt = at.get(Se.path) || Je; for (let ce of nt) if (vb(ce)) { let Q = Tt.getSourceFileByPath(ce.file), ue = YL(Tt.getSourceFileByPath, ce); F2(ue) && (ve = Sn(ve, { kind: 0, fileName: Q.fileName, textSpan: lv(ue) })) } return ve } function s(Se, at, Tt) { if (Se.parent && gO(Se.parent)) { let ve = Tt.getAliasedSymbol(at), nt = Tt.getMergedSymbol(ve); if (ve !== nt) return nt } } function l(Se, at, Tt, ve, nt, ce) { let Q = Se.flags & 1536 && Se.declarations && wr(Se.declarations, Li); if (!Q) return; let ue = Se.exports.get("export="), G = g(at, Se, !!ue, Tt, ce); if (!ue || !ce.has(Q.fileName)) return G; let Oe = at.getTypeChecker(); return Se = wd(ue, Oe), f(at, G, S(Se, void 0, Tt, ce, Oe, ve, nt)) } function f(Se, ...at) { let Tt; for (let ve of at) if (!(!ve || !ve.length)) { if (!Tt) { Tt = ve; continue } for (let nt of ve) { if (!nt.definition || nt.definition.type !== 0) { Tt.push(nt); continue } let ce = nt.definition.symbol, Q = Yc(Tt, G => !!G.definition && G.definition.type === 0 && G.definition.symbol === ce); if (Q === -1) { Tt.push(nt); continue } let ue = Tt[Q]; Tt[Q] = { definition: ue.definition, references: ue.references.concat(nt.references).sort((G, Oe) => { let je = d(Se, G), Ge = d(Se, Oe); if (je !== Ge) return Es(je, Ge); let kt = aee(G), Kt = aee(Oe); return kt.start !== Kt.start ? Es(kt.start, Kt.start) : Es(kt.length, Kt.length) }) } } } return Tt } function d(Se, at) { let Tt = at.kind === 0 ? Se.getSourceFile(at.fileName) : at.node.getSourceFile(); return Se.getSourceFiles().indexOf(Tt) } function g(Se, at, Tt, ve, nt) { L.assert(!!at.valueDeclaration); let ce = Zi(PTe(Se, ve, at), ue => { if (ue.kind === "import") { let G = ue.literal.parent; if (mb(G)) { let Oe = Ga(G.parent, Mh); if (Tt && !Oe.qualifier) return } return Ym(ue.literal) } else return { kind: 0, fileName: ue.referencingFile.fileName, textSpan: lv(ue.ref) } }); if (at.declarations) for (let ue of at.declarations) switch (ue.kind) { case 308: break; case 264: nt.has(ue.getSourceFile().fileName) && ce.push(Ym(ue.name)); break; default: L.assert(!!(at.flags & 33554432), "Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.") }let Q = at.exports.get("export="); if (Q?.declarations) for (let ue of Q.declarations) { let G = ue.getSourceFile(); if (nt.has(G.fileName)) { let Oe = ar(ue) && br(ue.left) ? ue.left.expression : pc(ue) ? L.checkDefined(Yo(ue, 93, G)) : sa(ue) || ue; ce.push(Ym(Oe)) } } return ce.length ? [{ definition: { type: 0, symbol: at }, references: ce }] : Je } function m(Se) { return Se.kind === 146 && RS(Se.parent) && Se.parent.operator === 146 } function v(Se, at, Tt) { if (ik(Se.kind)) return Se.kind === 114 && NS(Se.parent) || Se.kind === 146 && !m(Se) ? void 0 : we(at, Se.kind, Tt, Se.kind === 146 ? m : void 0); if (NA(Se.parent) && Se.parent.name === Se) return Ve(at, Tt); if (LS(Se) && oc(Se.parent)) return [{ definition: { type: 2, node: Se }, references: [Ym(Se)] }]; if (DN(Se)) { let ve = s7(Se.parent, Se.text); return ve && ge(ve.parent, ve) } else if (MX(Se)) return ge(Se.parent, Se); if (H2(Se)) return gr(Se, at, Tt); if (Se.kind === 106) return Ni(Se) } function S(Se, at, Tt, ve, nt, ce, Q) { let ue = at && w(Se, at, nt, !Cr(Q)) || Se, G = at ? hi(at, ue) : 7, Oe = [], je = new F(Tt, ve, at ? A(at) : 0, nt, ce, G, Q, Oe), Ge = !Cr(Q) || !ue.declarations ? void 0 : wr(ue.declarations, Mu); if (Ge) Be(Ge.name, ue, Ge, je.createSearch(at, Se, void 0), je, !0, !0); else if (at && at.kind === 88 && ue.escapedName === "default" && ue.parent) ct(at, ue, je), B(at, ue, { exportingModuleSymbol: ue.parent, exportKind: 1 }, je); else { let kt = je.createSearch(at, ue, void 0, { allSearchSymbols: at ? nn(ue, at, nt, Q.use === 2, !!Q.providePrefixAndSuffixTextForRename, !!Q.implementations) : [ue] }); x(ue, je, kt) } return Oe } function x(Se, at, Tt) { let ve = $(Se); if (ve) Pe(ve, ve.getSourceFile(), Tt, at, !(Li(ve) && !ya(at.sourceFiles, ve))); else for (let nt of at.sourceFiles) at.cancellationToken.throwIfCancellationRequested(), R(nt, Tt, at) } function A(Se) { switch (Se.kind) { case 173: case 135: return 1; case 79: if (Yr(Se.parent)) return L.assert(Se.parent.name === Se), 2; default: return 0 } } function w(Se, at, Tt, ve) { let { parent: nt } = at; return Mu(nt) && ve ? Ne(at, Se, nt, Tt) : ks(Se.declarations, ce => { if (!ce.parent) { if (Se.flags & 33554432) return; L.fail(`Unexpected symbol at ${L.formatSyntaxKind(at.kind)}: ${L.formatSymbol(Se)}`) } return Rd(ce.parent) && DS(ce.parent.parent) ? Tt.getPropertyOfType(Tt.getTypeFromTypeNode(ce.parent.parent), Se.name) : void 0 }) } let C; (Se => { Se[Se.None = 0] = "None", Se[Se.Constructor = 1] = "Constructor", Se[Se.Class = 2] = "Class" })(C || (C = {})); function P(Se) { if (!(Se.flags & 33555968)) return; let at = Se.declarations && wr(Se.declarations, Tt => !Li(Tt) && !Tc(Tt)); return at && at.symbol } class F { constructor(at, Tt, ve, nt, ce, Q, ue, G) { this.sourceFiles = at, this.sourceFilesSet = Tt, this.specialSearchKind = ve, this.checker = nt, this.cancellationToken = ce, this.searchMeaning = Q, this.options = ue, this.result = G, this.inheritsFromCache = new Map, this.markSeenContainingTypeReference = W2(), this.markSeenReExportRHS = W2(), this.symbolIdToReferences = [], this.sourceFileToSeenSymbols = [] } includesSourceFile(at) { return this.sourceFilesSet.has(at.fileName) } getImportSearches(at, Tt) { return this.importTracker || (this.importTracker = ZZ(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken)), this.importTracker(at, Tt, this.options.use === 2) } createSearch(at, Tt, ve, nt = {}) { let { text: ce = u_(fc(QA(Tt) || P(Tt) || Tt)), allSearchSymbols: Q = [Tt] } = nt, ue = Bs(ce), G = this.options.implementations && at ? dr(at, Tt, this.checker) : void 0; return { symbol: Tt, comingFrom: ve, text: ce, escapedText: ue, parents: G, allSearchSymbols: Q, includes: Oe => ya(Q, Oe) } } referenceAdder(at) { let Tt = $a(at), ve = this.symbolIdToReferences[Tt]; return ve || (ve = this.symbolIdToReferences[Tt] = [], this.result.push({ definition: { type: 0, symbol: at }, references: ve })), (nt, ce) => ve.push(Ym(nt, ce)) } addStringOrCommentReference(at, Tt) { this.result.push({ definition: void 0, references: [{ kind: 0, fileName: at, textSpan: Tt }] }) } markSearchedSymbols(at, Tt) { let ve = zo(at), nt = this.sourceFileToSeenSymbols[ve] || (this.sourceFileToSeenSymbols[ve] = new Set), ce = !1; for (let Q of Tt) ce = _0(nt, $a(Q)) || ce; return ce } } function B(Se, at, Tt, ve) { let { importSearches: nt, singleReferences: ce, indirectUsers: Q } = ve.getImportSearches(at, Tt); if (ce.length) { let ue = ve.referenceAdder(at); for (let G of ce) W(G, ve) && ue(G) } for (let [ue, G] of nt) ke(ue.getSourceFile(), ve.createSearch(ue, G, 1), ve); if (Q.length) { let ue; switch (Tt.exportKind) { case 0: ue = ve.createSearch(Se, at, 1); break; case 1: ue = ve.options.use === 2 ? void 0 : ve.createSearch(Se, at, 1, { text: "default" }); break; case 2: break }if (ue) for (let G of Q) R(G, ue, ve) } } function q(Se, at, Tt, ve, nt, ce, Q, ue) { let G = ZZ(Se, new Set(Se.map(kt => kt.fileName)), at, Tt), { importSearches: Oe, indirectUsers: je, singleReferences: Ge } = G(ve, { exportKind: Q ? 1 : 0, exportingModuleSymbol: nt }, !1); for (let [kt] of Oe) ue(kt); for (let kt of Ge) Re(kt) && Mh(kt.parent) && ue(kt); for (let kt of je) for (let Kt of le(kt, Q ? "default" : ce)) { let ln = at.getSymbolAtLocation(Kt), ir = vt(ln?.declarations, ae => !!zr(ae, pc)); Re(Kt) && !eS(Kt.parent) && (ln === ve || ir) && ue(Kt) } } e.eachExportReference = q; function W(Se, at) { return Ce(Se, at) ? at.options.use !== 2 ? !0 : Re(Se) ? !(eS(Se.parent) && Se.escapedText === "default") : !1 : !1 } function Y(Se, at) { if (Se.declarations) for (let Tt of Se.declarations) { let ve = Tt.getSourceFile(); ke(ve, at.createSearch(Tt, Se, 0), at, at.includesSourceFile(ve)) } } function R(Se, at, Tt) { p$(Se).get(at.escapedText) !== void 0 && ke(Se, at, Tt) } function ie(Se, at) { return qg(Se.parent.parent) ? at.getPropertySymbolOfDestructuringAssignment(Se) : void 0 } function $(Se) { let { declarations: at, flags: Tt, parent: ve, valueDeclaration: nt } = Se; if (nt && (nt.kind === 215 || nt.kind === 228)) return nt; if (!at) return; if (Tt & 8196) { let ue = wr(at, G => cd(G, 8) || xu(G)); return ue ? cb(ue, 260) : void 0 } if (at.some(jN)) return; let ce = ve && !(Se.flags & 262144); if (ce && !(BN(ve) && !ve.globalExports)) return; let Q; for (let ue of at) { let G = e1(ue); if (Q && Q !== G || !G || G.kind === 308 && !kd(G)) return; if (Q = G, ms(Q)) { let Oe; for (; Oe = MH(Q);)Q = Oe } } return ce ? Q.getSourceFile() : Q } function fe(Se, at, Tt, ve = Tt) { return Z(Se, at, Tt, () => !0, ve) || !1 } e.isSymbolReferencedInFile = fe; function Z(Se, at, Tt, ve, nt = Tt) { let ce = Ad(Se.parent, Se.parent.parent) ? Vo(at.getSymbolsOfParameterPropertyDeclaration(Se.parent, Se.text)) : at.getSymbolAtLocation(Se); if (ce) for (let Q of le(Tt, ce.name, nt)) { if (!Re(Q) || Q === Se || Q.escapedText !== Se.escapedText) continue; let ue = at.getSymbolAtLocation(Q); if (ue === ce || at.getShorthandAssignmentValueSymbol(Q.parent) === ce || Mu(Q.parent) && Ne(Q, ue, Q.parent, at) === ce) { let G = ve(Q); if (G) return G } } } e.eachSymbolReferenceInFile = Z; function U(Se, at) { return Pr(le(at, Se), nt => !!fR(nt)).reduce((nt, ce) => { let Q = ve(ce); return !vt(nt.declarationNames) || Q === nt.depth ? (nt.declarationNames.push(ce), nt.depth = Q) : Q < nt.depth && (nt.declarationNames = [ce], nt.depth = Q), nt }, { depth: 1 / 0, declarationNames: [] }).declarationNames; function ve(nt) { let ce = 0; for (; nt;)nt = e1(nt), ce++; return ce } } e.getTopMostDeclarationNamesInFile = U; function re(Se, at, Tt, ve) { if (!Se.name || !Re(Se.name)) return !1; let nt = L.checkDefined(Tt.getSymbolAtLocation(Se.name)); for (let ce of at) for (let Q of le(ce, nt.name)) { if (!Re(Q) || Q === Se.name || Q.escapedText !== Se.name.escapedText) continue; let ue = o7(Q), G = Pa(ue.parent) && ue.parent.expression === ue ? ue.parent : void 0, Oe = Tt.getSymbolAtLocation(Q); if (Oe && Tt.getRootSymbols(Oe).some(je => je === nt) && ve(Q, G)) return !0 } return !1 } e.someSignatureUsage = re; function le(Se, at, Tt = Se) { return _e(Se, at, Tt).map(ve => ef(Se, ve)) } function _e(Se, at, Tt = Se) { let ve = []; if (!at || !at.length) return ve; let nt = Se.text, ce = nt.length, Q = at.length, ue = nt.indexOf(at, Tt.pos); for (; ue >= 0 && !(ue > Tt.end);) { let G = ue + Q; (ue === 0 || !tb(nt.charCodeAt(ue - 1), 99)) && (G === ce || !tb(nt.charCodeAt(G), 99)) && ve.push(ue), ue = nt.indexOf(at, ue + Q + 1) } return ve } function ge(Se, at) { let Tt = Se.getSourceFile(), ve = at.text, nt = Zi(le(Tt, ve, Se), ce => ce === at || DN(ce) && s7(ce, ve) === at ? Ym(ce) : void 0); return [{ definition: { type: 1, node: at }, references: nt }] } function X(Se, at) { switch (Se.kind) { case 80: if (gb(Se.parent)) return !0; case 79: return Se.text.length === at.length; case 14: case 10: { let Tt = Se; return (c7(Tt) || UX(Se) || vhe(Se) || Pa(Se.parent) && sS(Se.parent) && Se.parent.arguments[1] === Se) && Tt.text.length === at.length } case 8: return c7(Se) && Se.text.length === at.length; case 88: return at.length === 7; default: return !1 } } function Ve(Se, at) { let Tt = Uo(Se, ve => (at.throwIfCancellationRequested(), Zi(le(ve, "meta", ve), nt => { let ce = nt.parent; if (NA(ce)) return Ym(ce) }))); return Tt.length ? [{ definition: { type: 2, node: Tt[0].node }, references: Tt }] : void 0 } function we(Se, at, Tt, ve) { let nt = Uo(Se, ce => (Tt.throwIfCancellationRequested(), Zi(le(ce, Xa(at), ce), Q => { if (Q.kind === at && (!ve || ve(Q))) return Ym(Q) }))); return nt.length ? [{ definition: { type: 2, node: nt[0].node }, references: nt }] : void 0 } function ke(Se, at, Tt, ve = !0) { return Tt.cancellationToken.throwIfCancellationRequested(), Pe(Se, Se, at, Tt, ve) } function Pe(Se, at, Tt, ve, nt) { if (ve.markSearchedSymbols(at, Tt.allSearchSymbols)) for (let ce of _e(at, Tt.text, Se)) Ie(at, ce, Tt, ve, nt) } function Ce(Se, at) { return !!(ZT(Se) & at.searchMeaning) } function Ie(Se, at, Tt, ve, nt) { let ce = ef(Se, at); if (!X(ce, Tt.text)) { !ve.options.implementations && (ve.options.findInStrings && n1(Se, at) || ve.options.findInComments && Ghe(Se, at)) && ve.addStringOrCommentReference(Se.fileName, il(at, Tt.text.length)); return } if (!Ce(ce, ve)) return; let Q = ve.checker.getSymbolAtLocation(ce); if (!Q) return; let ue = ce.parent; if ($u(ue) && ue.propertyName === ce) return; if (Mu(ue)) { L.assert(ce.kind === 79), Be(ce, Q, ue, Tt, ve, nt); return } let G = Kn(Tt, Q, ce, ve); if (!G) { _t(Q, Tt, ve); return } switch (ve.specialSearchKind) { case 0: nt && ct(ce, G, ve); break; case 1: Rt(ce, Se, Tt, ve); break; case 2: We(ce, Tt, ve); break; default: L.assertNever(ve.specialSearchKind) }Yn(ce) && Wo(ce.parent) && N0(ce.parent.parent.parent) && (Q = ce.parent.symbol, !Q) || Ye(ce, Q, Tt, ve) } function Be(Se, at, Tt, ve, nt, ce, Q) { L.assert(!Q || !!nt.options.providePrefixAndSuffixTextForRename, "If alwaysGetReferences is true, then prefix/suffix text must be enabled"); let { parent: ue, propertyName: G, name: Oe } = Tt, je = ue.parent, Ge = Ne(Se, at, Tt, nt.checker); if (!Q && !ve.includes(Ge)) return; if (G ? Se === G ? (je.moduleSpecifier || kt(), ce && nt.options.use !== 2 && nt.markSeenReExportRHS(Oe) && ct(Oe, L.checkDefined(Tt.symbol), nt)) : nt.markSeenReExportRHS(Se) && kt() : nt.options.use === 2 && Oe.escapedText === "default" || kt(), !Cr(nt.options) || Q) { let ln = Se.escapedText === "default" || Tt.name.escapedText === "default" ? 1 : 0, ir = L.checkDefined(Tt.symbol), ae = eee(ir, ln, nt.checker); ae && B(Se, ir, ae, nt) } if (ve.comingFrom !== 1 && je.moduleSpecifier && !G && !Cr(nt.options)) { let Kt = nt.checker.getExportSpecifierLocalTargetSymbol(Tt); Kt && Y(Kt, nt) } function kt() { ce && ct(Se, Ge, nt) } } function Ne(Se, at, Tt, ve) { return Le(Se, Tt) && ve.getExportSpecifierLocalTargetSymbol(Tt) || at } function Le(Se, at) { let { parent: Tt, propertyName: ve, name: nt } = at; return L.assert(ve === Se || nt === Se), ve ? ve === Se : !Tt.parent.moduleSpecifier } function Ye(Se, at, Tt, ve) { let nt = GTe(Se, at, ve.checker, Tt.comingFrom === 1); if (!nt) return; let { symbol: ce } = nt; nt.kind === 0 ? Cr(ve.options) || Y(ce, ve) : B(Se, ce, nt.exportInfo, ve) } function _t({ flags: Se, valueDeclaration: at }, Tt, ve) { let nt = ve.checker.getShorthandAssignmentValueSymbol(at), ce = at && sa(at); !(Se & 33554432) && ce && Tt.includes(nt) && ct(ce, nt, ve) } function ct(Se, at, Tt) { let { kind: ve, symbol: nt } = "kind" in at ? at : { kind: void 0, symbol: at }; if (Tt.options.use === 2 && Se.kind === 88) return; let ce = Tt.referenceAdder(nt); Tt.options.implementations ? _n(Se, ce, Tt) : ce(Se, ve) } function Rt(Se, at, Tt, ve) { ZL(Se) && ct(Se, Tt.symbol, ve); let nt = () => ve.referenceAdder(Tt.symbol); if (Yr(Se.parent)) L.assert(Se.kind === 88 || Se.parent.name === Se), qe(Tt.symbol, at, nt()); else { let ce = En(Se); ce && (Qt(ce, nt()), kn(ce, ve)) } } function We(Se, at, Tt) { ct(Se, at.symbol, Tt); let ve = Se.parent; if (Tt.options.use === 2 || !Yr(ve)) return; L.assert(ve.name === Se); let nt = Tt.referenceAdder(at.symbol); for (let ce of ve.members) xA(ce) && Ca(ce) && ce.body && ce.body.forEachChild(function Q(ue) { ue.kind === 108 ? nt(ue) : !Ia(ue) && !Yr(ue) && ue.forEachChild(Q) }) } function qe(Se, at, Tt) { let ve = zt(Se); if (ve && ve.declarations) for (let nt of ve.declarations) { let ce = Yo(nt, 135, at); L.assert(nt.kind === 173 && !!ce), Tt(ce) } Se.exports && Se.exports.forEach(nt => { let ce = nt.valueDeclaration; if (ce && ce.kind === 171) { let Q = ce.body; Q && Ht(Q, 108, ue => { ZL(ue) && Tt(ue) }) } }) } function zt(Se) { return Se.members && Se.members.get("__constructor") } function Qt(Se, at) { let Tt = zt(Se.symbol); if (Tt && Tt.declarations) for (let ve of Tt.declarations) { L.assert(ve.kind === 173); let nt = ve.body; nt && Ht(nt, 106, ce => { NX(ce) && at(ce) }) } } function tn(Se) { return !!zt(Se.symbol) } function kn(Se, at) { if (tn(Se)) return; let Tt = Se.symbol, ve = at.createSearch(void 0, Tt, void 0); x(Tt, at, ve) } function _n(Se, at, Tt) { if (Rh(Se) && ri(Se.parent)) { at(Se); return } if (Se.kind !== 79) return; Se.parent.kind === 300 && vn(Se, Tt.checker, at); let ve = Gt(Se); if (ve) { at(ve); return } let nt = jn(Se, ue => !Yu(ue.parent) && !bi(ue.parent) && !_T(ue.parent)), ce = nt.parent; if (f6(ce) && ce.type === nt && Tt.markSeenContainingTypeReference(ce)) if (Jy(ce)) Q(ce.initializer); else if (Ia(ce) && ce.body) { let ue = ce.body; ue.kind === 238 ? vT(ue, G => { G.expression && Q(G.expression) }) : Q(ue) } else pT(ce) && Q(ce.expression); function Q(ue) { $n(ue) && at(ue) } } function Gt(Se) { return Re(Se) || br(Se) ? Gt(Se.parent) : Vg(Se) ? zr(Se.parent.parent, Yr) : void 0 } function $n(Se) { switch (Se.kind) { case 214: return $n(Se.expression); case 216: case 215: case 207: case 228: case 206: return !0; default: return !1 } } function ui(Se, at, Tt, ve) { if (Se === at) return !0; let nt = $a(Se) + "," + $a(at), ce = Tt.get(nt); if (ce !== void 0) return ce; Tt.set(nt, !1); let Q = !!Se.declarations && Se.declarations.some(ue => NI(ue).some(G => { let Oe = ve.getTypeAtLocation(G); return !!Oe && !!Oe.symbol && ui(Oe.symbol, at, Tt, ve) })); return Tt.set(nt, Q), Q } function Ni(Se) { let at = Ww(Se, !1); if (!at) return; let Tt = 32; switch (at.kind) { case 169: case 168: case 171: case 170: case 173: case 174: case 175: Tt &= Yy(at), at = at.parent; break; default: return }let ve = at.getSourceFile(), nt = Zi(le(ve, "super", at), ce => { if (ce.kind !== 106) return; let Q = Ww(ce, !1); return Q && Ca(Q) === !!Tt && Q.parent.symbol === at.symbol ? Ym(ce) : void 0 }); return [{ definition: { type: 0, symbol: at.symbol }, references: nt }] } function Pi(Se) { return Se.kind === 79 && Se.parent.kind === 166 && Se.parent.name === Se } function gr(Se, at, Tt) { let ve = Ku(Se, !1, !1), nt = 32; switch (ve.kind) { case 171: case 170: if (s_(ve)) { nt &= Yy(ve), ve = ve.parent; break } case 169: case 168: case 173: case 174: case 175: nt &= Yy(ve), ve = ve.parent; break; case 308: if (Lc(ve) || Pi(Se)) return; case 259: case 215: break; default: return }let ce = Uo(ve.kind === 308 ? at : [ve.getSourceFile()], ue => (Tt.throwIfCancellationRequested(), le(ue, "this", Li(ve) ? ue : ve).filter(G => { if (!H2(G)) return !1; let Oe = Ku(G, !1, !1); if (!$p(Oe)) return !1; switch (ve.kind) { case 215: case 259: return ve.symbol === Oe.symbol; case 171: case 170: return s_(ve) && ve.symbol === Oe.symbol; case 228: case 260: case 207: return Oe.parent && $p(Oe.parent) && ve.symbol === Oe.parent.symbol && Ca(Oe) === !!nt; case 308: return Oe.kind === 308 && !Lc(Oe) && !Pi(G) } }))).map(ue => Ym(ue)); return [{ definition: { type: 3, node: ks(ce, ue => ha(ue.node.parent) ? ue.node : void 0) || Se }, references: ce }] } function pt(Se, at, Tt, ve) { let nt = f7(Se, Tt), ce = Uo(at, Q => (ve.throwIfCancellationRequested(), Zi(le(Q, Se.text), ue => { if (es(ue) && ue.text === Se.text) if (nt) { let G = f7(ue, Tt); if (nt !== Tt.getStringType() && nt === G) return Ym(ue, 2) } else return IS(ue) && !DT(ue, Q) ? void 0 : Ym(ue, 2) }))); return [{ definition: { type: 4, node: Se }, references: ce }] } function nn(Se, at, Tt, ve, nt, ce) { let Q = []; return Dt(Se, at, Tt, ve, !(ve && nt), (ue, G, Oe) => { Oe && An(Se) !== An(Oe) && (Oe = void 0), Q.push(Oe || G || ue) }, () => !ce), Q } function Dt(Se, at, Tt, ve, nt, ce, Q) { let ue = nP(at); if (ue) { let ln = Tt.getShorthandAssignmentValueSymbol(at.parent); if (ln && ve) return ce(ln, void 0, void 0, 3); let ir = Tt.getContextualType(ue.parent), ae = ir && ks(_5(ue, Tt, ir, !0), oe => kt(oe, 4)); if (ae) return ae; let rt = ie(at, Tt), Ot = rt && ce(rt, void 0, void 0, 4); if (Ot) return Ot; let Ke = ln && ce(ln, void 0, void 0, 3); if (Ke) return Ke } let G = s(at, Se, Tt); if (G) { let ln = ce(G, void 0, void 0, 1); if (ln) return ln } let Oe = kt(Se); if (Oe) return Oe; if (Se.valueDeclaration && Ad(Se.valueDeclaration, Se.valueDeclaration.parent)) { let ln = Tt.getSymbolsOfParameterPropertyDeclaration(Ga(Se.valueDeclaration, ha), Se.name); return L.assert(ln.length === 2 && !!(ln[0].flags & 1) && !!(ln[1].flags & 4)), kt(Se.flags & 1 ? ln[1] : ln[0]) } let je = nc(Se, 278); if (!ve || je && !je.propertyName) { let ln = je && Tt.getExportSpecifierLocalTargetSymbol(je); if (ln) { let ir = ce(ln, void 0, void 0, 1); if (ir) return ir } } if (!ve) { let ln; return nt ? ln = jN(at.parent) ? I7(Tt, at.parent) : void 0 : ln = Kt(Se, Tt), ln && kt(ln, 4) } if (L.assert(ve), nt) { let ln = Kt(Se, Tt); return ln && kt(ln, 4) } function kt(ln, ir) { return ks(Tt.getRootSymbols(ln), ae => ce(ln, ae, void 0, ir) || (ae.parent && ae.parent.flags & 96 && Q(ae) ? pn(ae.parent, ae.name, Tt, rt => ce(ln, ae, rt, ir)) : void 0)) } function Kt(ln, ir) { let ae = nc(ln, 205); if (ae && jN(ae)) return I7(ir, ae) } } function pn(Se, at, Tt, ve) { let nt = new Map; return ce(Se); function ce(Q) { if (!(!(Q.flags & 96) || !V_(nt, $a(Q)))) return ks(Q.declarations, ue => ks(NI(ue), G => { let Oe = Tt.getTypeAtLocation(G), je = Oe && Oe.symbol && Tt.getPropertyOfType(Oe, at); return Oe && je && (ks(Tt.getRootSymbols(je), ve) || ce(Oe.symbol)) })) } } function An(Se) { return Se.valueDeclaration ? !!(uu(Se.valueDeclaration) & 32) : !1 } function Kn(Se, at, Tt, ve) { let { checker: nt } = ve; return Dt(at, Tt, nt, !1, ve.options.use !== 2 || !!ve.options.providePrefixAndSuffixTextForRename, (ce, Q, ue, G) => (ue && An(at) !== An(ue) && (ue = void 0), Se.includes(ue || Q || ce) ? { symbol: Q && !(ac(ce) & 6) ? Q : ce, kind: G } : void 0), ce => !(Se.parents && !Se.parents.some(Q => ui(ce.parent, Q, ve.inheritsFromCache, nt)))) } function hi(Se, at) { let Tt = ZT(Se), { declarations: ve } = at; if (ve) { let nt; do { nt = Tt; for (let ce of ve) { let Q = LN(ce); Q & Tt && (Tt |= Q) } } while (Tt !== nt) } return Tt } e.getIntersectingMeaningFromDeclarations = hi; function ri(Se) { return Se.flags & 16777216 ? !(ku(Se) || Ep(Se)) : PA(Se) ? Jy(Se) : Ds(Se) ? !!Se.body : Yr(Se) || Ow(Se) } function vn(Se, at, Tt) { let ve = at.getSymbolAtLocation(Se), nt = at.getShorthandAssignmentValueSymbol(ve.valueDeclaration); if (nt) for (let ce of nt.getDeclarations()) LN(ce) & 1 && Tt(ce) } e.getReferenceEntriesForShorthandPropertyAssignment = vn; function Ht(Se, at, Tt) { pa(Se, ve => { ve.kind === at && Tt(ve), Ht(ve, at, Tt) }) } function En(Se) { return lW(o7(Se).parent) } function dr(Se, at, Tt) { let ve = j2(Se) ? Se.parent : void 0, nt = ve && Tt.getTypeAtLocation(ve.expression), ce = Zi(nt && (nt.isUnionOrIntersection() ? nt.types : nt.symbol === at.parent ? void 0 : [nt]), Q => Q.symbol && Q.symbol.flags & 96 ? Q.symbol : void 0); return ce.length === 0 ? void 0 : ce } function Cr(Se) { return Se.use === 2 && Se.providePrefixAndSuffixTextForRename } })(u1 || (u1 = {})) } }), js = {}; Mo(js, { Core: () => u1, DefinitionKind: () => oee, EntryKind: () => see, ExportKind: () => nee, FindReferencesUse: () => cee, ImportExport: () => ree, createImportTracker: () => ZZ, findModuleReferences: () => PTe, findReferenceOrRenameEntries: () => BBe, findReferencedSymbols: () => MBe, getContextNode: () => sE, getExportInfo: () => eee, getImplementationsAtPosition: () => GBe, getImportOrExportSymbol: () => GTe, getReferenceEntriesForNode: () => VTe, getTextSpanOfEntry: () => aee, isContextWithStartAndEndNode: () => BTe, isDeclarationOfSymbol: () => JTe, nodeEntry: () => Ym, toContextSpan: () => iee, toHighlightSpan: () => JBe, toReferenceEntry: () => WTe, toRenameLocation: () => VBe }); var KTe = gt({ "src/services/_namespaces/ts.FindAllReferences.ts"() { "use strict"; NBe(), qBe() } }); function qTe(e, t, r, i, o) { var s, l; let f = YTe(t, r, e), d = f && [rUe(f.reference.fileName, f.fileName, f.unverified)] || Je; if (f?.file) return d; let g = ef(t, r); if (g === t) return; let { parent: m } = g, v = e.getTypeChecker(); if (g.kind === 161 || Re(g) && g3(m) && m.tagName === g) return YBe(v, g) || Je; if (DN(g)) { let C = s7(g.parent, g.text); return C ? [uee(v, C, "label", g.text, void 0)] : void 0 } if (g.kind === 105) { let C = jn(g.parent, P => oc(P) ? "quit" : Ds(P)); return C ? [TP(v, C)] : void 0 } if (g.kind === 133) { let C = jn(g, F => Ds(F)); return C && vt(C.modifiers, F => F.kind === 132) ? [TP(v, C)] : void 0 } if (g.kind === 125) { let C = jn(g, F => Ds(F)); return C && C.asteriskToken ? [TP(v, C)] : void 0 } if (LS(g) && oc(g.parent)) { let C = g.parent.parent, { symbol: P, failedAliasResolution: F } = cG(C, v, o), B = Pr(C.members, oc), q = P ? v.symbolToString(P, C) : "", W = g.getSourceFile(); return on(B, Y => { let { pos: R } = yp(Y); return R = xo(W.text, R), uee(v, Y, "constructor", "static {}", q, !1, F, { start: R, length: 6 }) }) } let { symbol: S, failedAliasResolution: x } = cG(g, v, o), A = g; if (i && x) { let C = mn([g, ...S?.declarations || Je], F => jn(F, Wse)), P = C && iR(C); P && ({ symbol: S, failedAliasResolution: x } = cG(P, v, o), A = P) } if (!S && C7(A)) { let C = (l = (s = t.resolvedModules) == null ? void 0 : s.get(A.text, W_(t, A))) == null ? void 0 : l.resolvedModule; if (C) return [{ name: A.text, fileName: C.resolvedFileName, containerName: void 0, containerKind: void 0, kind: "script", textSpan: il(0, 0), failedAliasResolution: x, isAmbient: Fu(C.resolvedFileName), unverified: A !== g }] } if (!S) return Qi(d, eUe(g, v)); if (i && Ji(S.declarations, C => C.getSourceFile().fileName === t.fileName)) return; let w = aUe(v, g); if (w && !(Au(g.parent) && oUe(w))) { let C = TP(v, w, x); if (v.getRootSymbols(S).some(P => XBe(P, w))) return [C]; { let P = nC(v, S, g, x, w) || Je; return g.kind === 106 ? [C, ...P] : [...P, C] } } if (g.parent.kind === 300) { let C = v.getShorthandAssignmentValueSymbol(S.valueDeclaration), P = C?.declarations ? C.declarations.map(F => Sk(F, v, C, g, !1, x)) : Je; return Qi(P, XTe(v, g) || Je) } if (Ys(g) && Wo(m) && cm(m.parent) && g === (m.propertyName || m.name)) { let C = VN(g), P = v.getTypeAtLocation(m.parent); return C === void 0 ? Je : Uo(P.isUnion() ? P.types : [P], F => { let B = F.getProperty(C); return B && nC(v, B, g) }) } return Qi(d, XTe(v, g) || nC(v, S, g, x)) } function XBe(e, t) { var r; return e === t.symbol || e === t.symbol.parent || Iu(t.parent) || !rS(t.parent) && e === ((r = zr(t.parent, $p)) == null ? void 0 : r.symbol) } function XTe(e, t) { let r = nP(t); if (r) { let i = r && e.getContextualType(r.parent); if (i) return Uo(_5(r, e, i, !1), o => nC(e, o, t)) } } function YBe(e, t) { let r = jn(t, _l); if (!(r && r.name)) return; let i = jn(r, Yr); if (!i) return; let o = hp(i); if (!o) return; let s = vs(o.expression), l = _u(s) ? s.symbol : e.getSymbolAtLocation(s); if (!l) return; let f = Gi(wA(r.name)), d = zc(r) ? e.getPropertyOfType(e.getTypeOfSymbol(l), f) : e.getPropertyOfType(e.getDeclaredTypeOfSymbol(l), f); if (d) return nC(e, d, t) } function YTe(e, t, r) { var i, o, s, l; let f = rC(e.referencedFiles, t); if (f) { let m = r.getSourceFileFromReference(e, f); return m && { reference: f, fileName: m.fileName, file: m, unverified: !1 } } let d = rC(e.typeReferenceDirectives, t); if (d) { let m = (i = r.getResolvedTypeReferenceDirectives().get(d.fileName, d.resolutionMode || e.impliedNodeFormat)) == null ? void 0 : i.resolvedTypeReferenceDirective, v = m && r.getSourceFile(m.resolvedFileName); return v && { reference: d, fileName: v.fileName, file: v, unverified: !1 } } let g = rC(e.libReferenceDirectives, t); if (g) { let m = r.getLibFileFromReference(g); return m && { reference: g, fileName: m.fileName, file: m, unverified: !1 } } if ((o = e.resolvedModules) != null && o.size()) { let m = nk(e, t); if (C7(m) && fl(m.text) && e.resolvedModules.has(m.text, W_(e, m))) { let v = (l = (s = e.resolvedModules.get(m.text, W_(e, m))) == null ? void 0 : s.resolvedModule) == null ? void 0 : l.resolvedFileName, S = v || Fy(ni(e.fileName), m.text); return { file: r.getSourceFile(S), fileName: S, reference: { pos: m.getStart(), end: m.getEnd(), fileName: m.text }, unverified: !v } } } } function $Be(e, t, r) { let i = ef(t, r); if (i === t) return; if (NA(i.parent) && i.parent.name === i) return lee(e.getTypeAtLocation(i.parent), e, i.parent, !1); let { symbol: o, failedAliasResolution: s } = cG(i, e, !1); if (!o) return; let l = e.getTypeOfSymbolAtLocation(o, i), f = QBe(o, l, e), d = f && lee(f, e, i, s), g = d && d.length !== 0 ? d : lee(l, e, i, s); return g.length ? g : !(o.flags & 111551) && o.flags & 788968 ? nC(e, wd(o, e), i, s) : void 0 } function lee(e, t, r, i) { return Uo(e.isUnion() && !(e.flags & 32) ? e.types : [e], o => o.symbol && nC(t, o.symbol, r, i)) } function QBe(e, t, r) { if (t.symbol === e || e.valueDeclaration && t.symbol && wi(e.valueDeclaration) && e.valueDeclaration.initializer === t.symbol.valueDeclaration) { let i = t.getCallSignatures(); if (i.length === 1) return r.getReturnTypeOfSignature(Vo(i)) } } function ZBe(e, t, r) { let i = qTe(e, t, r); if (!i || i.length === 0) return; let o = rC(t.referencedFiles, r) || rC(t.typeReferenceDirectives, r) || rC(t.libReferenceDirectives, r); if (o) return { definitions: i, textSpan: lv(o) }; let s = ef(t, r), l = il(s.getStart(), s.getWidth()); return { definitions: i, textSpan: l } } function eUe(e, t) { return Zi(t.getIndexInfosAtLocation(e), r => r.declaration && TP(t, r.declaration)) } function cG(e, t, r) { let i = t.getSymbolAtLocation(e), o = !1; if (i?.declarations && i.flags & 2097152 && !r && tUe(e, i.declarations[0])) { let s = t.getAliasedSymbol(i); if (s.declarations) return { symbol: s }; o = !0 } return { symbol: i, failedAliasResolution: o } } function tUe(e, t) { return e.kind !== 79 ? !1 : e.parent === t ? !0 : t.kind !== 271 } function nUe(e) { if (!RI(e)) return !1; let t = jn(e, r => Iu(r) ? !0 : RI(r) ? !1 : "quit"); return !!t && ic(t) === 5 } function nC(e, t, r, i, o) { let s = Pr(t.declarations, v => v !== o), l = Pr(s, v => !nUe(v)), f = vt(l) ? l : s; return d() || g() || on(f, v => Sk(v, e, t, r, !1, i)); function d() { if (t.flags & 32 && !(t.flags & 19) && (ZL(r) || r.kind === 135)) { let v = wr(s, Yr) || L.fail("Expected declaration to have at least one class-like declaration"); return m(v.members, !0) } } function g() { return PX(r) || VX(r) ? m(s, !1) : void 0 } function m(v, S) { if (!v) return; let x = v.filter(S ? Ec : Ia), A = x.filter(w => !!w.body); return x.length ? A.length !== 0 ? A.map(w => Sk(w, e, t, r)) : [Sk(To(x), e, t, r, !1, i)] : void 0 } } function Sk(e, t, r, i, o, s) { let l = t.symbolToString(r), f = $g.getSymbolKind(t, r, i), d = r.parent ? t.symbolToString(r.parent, i) : ""; return uee(t, e, f, l, d, o, s) } function uee(e, t, r, i, o, s, l, f) { let d = t.getSourceFile(); if (!f) { let g = sa(t) || t; f = Du(g, d) } return { fileName: d.fileName, textSpan: f, kind: r, name: i, containerKind: void 0, containerName: o, ...js.toContextSpan(f, d, js.getContextNode(t)), isLocal: !dee(e, t), isAmbient: !!(t.flags & 16777216), unverified: s, failedAliasResolution: l } } function dee(e, t) { if (e.isDeclarationVisible(t)) return !0; if (!t.parent) return !1; if (Jy(t.parent) && t.parent.initializer === t) return dee(e, t.parent); switch (t.kind) { case 169: case 174: case 175: case 171: if (cd(t, 8)) return !1; case 173: case 299: case 300: case 207: case 228: case 216: case 215: return dee(e, t.parent); default: return !1 } } function TP(e, t, r) { return Sk(t, e, t.symbol, t, !1, r) } function rC(e, t) { return wr(e, r => Y8(r, t)) } function rUe(e, t, r) { return { fileName: t, textSpan: Wc(0, 0), kind: "script", name: e, containerName: void 0, containerKind: void 0, unverified: r } } function iUe(e) { let t = jn(e, i => !j2(i)), r = t?.parent; return r && rS(r) && P6(r) === t ? r : void 0 } function aUe(e, t) { let r = iUe(t), i = r && e.getResolvedSignature(r); return zr(i && i.declaration, o => Ia(o) && !Jm(o)) } function oUe(e) { switch (e.kind) { case 173: case 182: case 177: return !0; default: return !1 } } var sUe = gt({ "src/services/goToDefinition.ts"() { "use strict"; Fr() } }), xk = {}; Mo(xk, { createDefinitionInfo: () => Sk, findReferenceInPosition: () => rC, getDefinitionAndBoundSpan: () => ZBe, getDefinitionAtPosition: () => qTe, getReferenceAtPosition: () => YTe, getTypeDefinitionAtPosition: () => $Be }); var cUe = gt({ "src/services/_namespaces/ts.GoToDefinition.ts"() { "use strict"; sUe() } }); function lUe(e) { return e.includeInlayParameterNameHints === "literals" || e.includeInlayParameterNameHints === "all" } function uUe(e) { return e.includeInlayParameterNameHints === "literals" } function dUe(e) { let { file: t, program: r, span: i, cancellationToken: o, preferences: s } = e, l = t.text, f = r.getCompilerOptions(), d = r.getTypeChecker(), g = []; return m(t), g; function m(le) { if (!(!le || le.getFullWidth() === 0)) { switch (le.kind) { case 264: case 260: case 261: case 259: case 228: case 215: case 171: case 216: o.throwIfCancellationRequested() }if ($8(i, le.pos, le.getFullWidth()) && !(bi(le) && !Vg(le))) return s.includeInlayVariableTypeHints && wi(le) || s.includeInlayPropertyDeclarationTypeHints && Na(le) ? P(le) : s.includeInlayEnumMemberValueHints && q0(le) ? w(le) : lUe(s) && (Pa(le) || z0(le)) ? F(le) : (s.includeInlayFunctionParameterTypeHints && Ds(le) && b4(le) && ie(le), s.includeInlayFunctionLikeReturnTypeHints && v(le) && Y(le)), pa(le, m) } } function v(le) { return xs(le) || ms(le) || Jc(le) || Nc(le) || p_(le) } function S(le, _e, ge) { g.push({ text: `${ge ? "..." : ""}${fe(le, lG)}:`, position: _e, kind: "Parameter", whitespaceAfter: !0 }) } function x(le, _e) { g.push({ text: `: ${fe(le, lG)}`, position: _e, kind: "Type", whitespaceBefore: !0 }) } function A(le, _e) { g.push({ text: `= ${fe(le, lG)}`, position: _e, kind: "Enum", whitespaceBefore: !0 }) } function w(le) { if (le.initializer) return; let _e = d.getConstantValue(le); _e !== void 0 && A(_e.toString(), le.end) } function C(le) { return le.symbol && le.symbol.flags & 1536 } function P(le) { if (!le.initializer || La(le.name) || wi(le) && !re(le) || Cl(le)) return; let ge = d.getTypeAtLocation(le); if (C(ge)) return; let X = Z(ge); if (X) { if (s.includeInlayVariableTypeHintsWhenTypeMatchesName === !1 && W1(le.name.getText(), X)) return; x(X, le.name.end) } } function F(le) { let _e = le.arguments; if (!_e || !_e.length) return; let ge = [], X = d.getResolvedSignatureForSignatureHelp(le, ge); if (!(!X || !ge.length)) for (let Ve = 0; Ve < _e.length; ++Ve) { let we = _e[Ve], ke = vs(we); if (uUe(s) && !W(ke)) continue; let Pe = d.getParameterIdentifierNameAtPosition(X, Ve); if (Pe) { let [Ce, Ie] = Pe; if (!(s.includeInlayParameterNameHintsWhenArgumentMatchesName || !B(ke, Ce)) && !Ie) continue; let Ne = Gi(Ce); if (q(ke, Ne)) continue; S(Ne, we.getStart(), Ie) } } } function B(le, _e) { return Re(le) ? le.text === _e : br(le) ? le.name.text === _e : !1 } function q(le, _e) { if (!i_(_e, f.target, RR(t.scriptKind))) return !1; let ge = Nm(l, le.pos); if (!ge?.length) return !1; let X = $Te(_e); return vt(ge, Ve => X.test(l.substring(Ve.pos, Ve.end))) } function W(le) { switch (le.kind) { case 221: { let _e = le.operand; return fT(_e) || Re(_e) && cL(_e.escapedText) } case 110: case 95: case 104: case 14: case 225: return !0; case 79: { let _e = le.escapedText; return U(_e) || cL(_e) } }return fT(le) } function Y(le) { if (xs(le) && !Yo(le, 20, t) || U_(le) || !le.body) return; let ge = d.getSignatureFromDeclaration(le); if (!ge) return; let X = d.getReturnTypeOfSignature(ge); if (C(X)) return; let Ve = Z(X); Ve && x(Ve, R(le)) } function R(le) { let _e = Yo(le, 21, t); return _e ? _e.end : le.parameters.end } function ie(le) { let _e = d.getSignatureFromDeclaration(le); if (_e) for (let ge = 0; ge < le.parameters.length && ge < _e.parameters.length; ++ge) { let X = le.parameters[ge]; if (!re(X) || Cl(X)) continue; let we = $(_e.parameters[ge]); we && x(we, X.questionToken ? X.questionToken.end : X.name.end) } } function $(le) { let _e = le.valueDeclaration; if (!_e || !ha(_e)) return; let ge = d.getTypeOfSymbolAtLocation(le, _e); if (!C(ge)) return Z(ge) } function fe(le, _e) { return le.length > _e ? le.substr(0, _e - 3) + "..." : le } function Z(le) { let ge = rE(); return SI(X => { let Ve = d.typeToTypeNode(le, void 0, 71286784); L.assertIsDefined(Ve, "should always get typenode"), ge.writeNode(4, Ve, t, X) }) } function U(le) { return le === "undefined" } function re(le) { if ((CT(le) || wi(le) && kh(le)) && le.initializer) { let _e = vs(le.initializer); return !(W(_e) || z0(_e) || rs(_e) || pT(_e)) } return !0 } } var lG, $Te, fUe = gt({ "src/services/inlayHints.ts"() { "use strict"; Fr(), lG = 30, $Te = e => new RegExp(`^\\s?/\\*\\*?\\s?${e}\\s?\\*\\/\\s?$`) } }), fee = {}; Mo(fee, { provideInlayHints: () => dUe }); var _Ue = gt({ "src/services/_namespaces/ts.InlayHints.ts"() { "use strict"; fUe() } }); function pUe(e, t) { let r = []; return lY(e, i => { for (let o of hUe(i)) { let s = dm(o) && o.tags && wr(o.tags, f => f.kind === 330 && (f.tagName.escapedText === "inheritDoc" || f.tagName.escapedText === "inheritdoc")); if (o.comment === void 0 && !s || dm(o) && i.kind !== 349 && i.kind !== 341 && o.tags && o.tags.some(f => f.kind === 349 || f.kind === 341) && !o.tags.some(f => f.kind === 344 || f.kind === 345)) continue; let l = o.comment ? ux(o.comment, t) : []; s && s.comment && (l = l.concat(ux(s.comment, t))), ya(r, l, mUe) || r.push(l) } }), t_(DU(r, [K2()])) } function mUe(e, t) { return GD(e, t, (r, i) => r.kind === i.kind && r.text === i.text) } function hUe(e) { switch (e.kind) { case 344: case 351: return [e]; case 341: case 349: return [e, e.parent]; default: return PH(e) } } function gUe(e, t) { let r = []; return lY(e, i => { let o = A0(i); if (!(o.some(s => s.kind === 349 || s.kind === 341) && !o.some(s => s.kind === 344 || s.kind === 345))) for (let s of o) r.push({ name: s.tagName.text, text: yUe(s, t) }) }), r } function ux(e, t) { return typeof e == "string" ? [tf(e)] : Uo(e, r => r.kind === 324 ? [tf(r.text)] : Qhe(r, t)) } function yUe(e, t) { let { comment: r, kind: i } = e, o = vUe(i); switch (i) { case 352: let f = e.typeExpression; return f ? s(f) : r === void 0 ? void 0 : ux(r, t); case 332: return s(e.class); case 331: return s(e.class); case 348: let d = e, g = []; if (d.constraint && g.push(tf(d.constraint.getText())), Fn(d.typeParameters)) { Fn(g) && g.push(Qs()); let v = d.typeParameters[d.typeParameters.length - 1]; mn(d.typeParameters, S => { g.push(o(S.getText())), v !== S && g.push(Yl(27), Qs()) }) } return r && g.push(Qs(), ...ux(r, t)), g; case 347: case 353: return s(e.typeExpression); case 349: case 341: case 351: case 344: case 350: let { name: m } = e; return m ? s(m) : r === void 0 ? void 0 : ux(r, t); default: return r === void 0 ? void 0 : ux(r, t) }function s(f) { return l(f.getText()) } function l(f) { return r ? f.match(/^https?$/) ? [tf(f), ...ux(r, t)] : [o(f), Qs(), ...ux(r, t)] : [tf(f)] } } function vUe(e) { switch (e) { case 344: return Khe; case 351: return qhe; case 348: return Yhe; case 349: case 341: return Xhe; default: return tf } } function bUe() { return ZTe || (ZTe = on(pee, e => ({ name: e, kind: "keyword", kindModifiers: "", sortText: lx.SortText.LocationPriority }))) } function EUe() { return e1e || (e1e = on(pee, e => ({ name: `@${e}`, kind: "keyword", kindModifiers: "", sortText: lx.SortText.LocationPriority }))) } function QTe(e) { return { name: e, kind: "", kindModifiers: "", displayParts: [tf(e)], documentation: Je, tags: void 0, codeActions: void 0 } } function TUe(e) { if (!Re(e.name)) return Je; let t = e.name.text, r = e.parent, i = r.parent; return Ia(i) ? Zi(i.parameters, o => { if (!Re(o.name)) return; let s = o.name.text; if (!(r.tags.some(l => l !== e && xp(l) && Re(l.name) && l.name.escapedText === s) || t !== void 0 && !na(s, t))) return { name: s, kind: "parameter", kindModifiers: "", sortText: lx.SortText.LocationPriority } }) : [] } function SUe(e) { return { name: e, kind: "parameter", kindModifiers: "", displayParts: [tf(e)], documentation: Je, tags: void 0, codeActions: void 0 } } function xUe(e, t, r, i) { let o = Vi(t, r), s = jn(o, dm); if (s && (s.comment !== void 0 || Fn(s.tags))) return; let l = o.getStart(t); if (!s && l < r) return; let f = LUe(o, i); if (!f) return; let { commentOwner: d, parameters: g, hasReturn: m } = f, v = Kd(d) && d.jsDoc ? d.jsDoc : void 0, S = Os(v); if (d.getStart(t) < r || S && s && S !== s) return; let x = AUe(t, r), A = ES(t.fileName), w = (g ? CUe(g || [], A, x, e) : "") + (m ? IUe(x, e) : ""), C = "/**", P = " */", F = (v || []).some(B => !!B.tags); if (w && !F) { let B = C + e + x + " * ", q = l === r ? e + x : ""; return { newText: B + e + w + x + P + q, caretOffset: B.length } } return { newText: C + P, caretOffset: 3 } } function AUe(e, t) { let { text: r } = e, i = Wf(t, e), o = i; for (; o <= t && Yp(r.charCodeAt(o)); o++); return r.slice(i, o) } function CUe(e, t, r, i) { return e.map(({ name: o, dotDotDotToken: s }, l) => { let f = o.kind === 79 ? o.text : "param" + l; return `${r} * @param ${t ? s ? "{...any} " : "{any} " : ""}${f}${i}` }).join("") } function IUe(e, t) { return `${e} * @returns${t}` } function LUe(e, t) { return Lse(e, r => _ee(r, t)) } function _ee(e, t) { switch (e.kind) { case 259: case 215: case 171: case 173: case 170: case 216: let r = e; return { commentOwner: e, parameters: r.parameters, hasReturn: SP(r, t) }; case 299: return _ee(e.initializer, t); case 260: case 261: case 263: case 302: case 262: return { commentOwner: e }; case 168: { let o = e; return o.type && Jm(o.type) ? { commentOwner: e, parameters: o.type.parameters, hasReturn: SP(o.type, t) } : { commentOwner: e } } case 240: { let s = e.declarationList.declarations, l = s.length === 1 && s[0].initializer ? kUe(s[0].initializer) : void 0; return l ? { commentOwner: e, parameters: l.parameters, hasReturn: SP(l, t) } : { commentOwner: e } } case 308: return "quit"; case 264: return e.parent.kind === 264 ? void 0 : { commentOwner: e }; case 241: return _ee(e.expression, t); case 223: { let o = e; return ic(o) === 0 ? "quit" : Ia(o.right) ? { commentOwner: e, parameters: o.right.parameters, hasReturn: SP(o.right, t) } : { commentOwner: e } } case 169: let i = e.initializer; if (i && (ms(i) || xs(i))) return { commentOwner: e, parameters: i.parameters, hasReturn: SP(i, t) } } } function SP(e, t) { return !!t?.generateReturnInDocTemplate && (Jm(e) || xs(e) && ot(e.body) || Ds(e) && e.body && Va(e.body) && !!vT(e.body, r => r)) } function kUe(e) { for (; e.kind === 214;)e = e.expression; switch (e.kind) { case 215: case 216: return e; case 228: return wr(e.members, Ec) } } var pee, ZTe, e1e, t1e, DUe = gt({ "src/services/jsDoc.ts"() { "use strict"; Fr(), pee = ["abstract", "access", "alias", "argument", "async", "augments", "author", "borrows", "callback", "class", "classdesc", "constant", "constructor", "constructs", "copyright", "default", "deprecated", "description", "emits", "enum", "event", "example", "exports", "extends", "external", "field", "file", "fileoverview", "fires", "function", "generator", "global", "hideconstructor", "host", "ignore", "implements", "inheritdoc", "inner", "instance", "interface", "kind", "lends", "license", "link", "linkcode", "linkplain", "listens", "member", "memberof", "method", "mixes", "module", "name", "namespace", "overload", "override", "package", "param", "private", "prop", "property", "protected", "public", "readonly", "requires", "returns", "satisfies", "see", "since", "static", "summary", "template", "this", "throws", "todo", "tutorial", "type", "typedef", "var", "variation", "version", "virtual", "yields"], t1e = QTe } }), xb = {}; Mo(xb, { getDocCommentTemplateAtPosition: () => xUe, getJSDocParameterNameCompletionDetails: () => SUe, getJSDocParameterNameCompletions: () => TUe, getJSDocTagCompletionDetails: () => QTe, getJSDocTagCompletions: () => EUe, getJSDocTagNameCompletionDetails: () => t1e, getJSDocTagNameCompletions: () => bUe, getJsDocCommentsFromDeclarations: () => pUe, getJsDocTagsFromDeclarations: () => gUe }); var wUe = gt({ "src/services/_namespaces/ts.JsDoc.ts"() { "use strict"; DUe() } }); function RUe(e, t, r, i, o, s) { let l = nr.ChangeTracker.fromContext({ host: r, formatContext: t, preferences: o }), f = s === "SortAndCombine" || s === "All", d = f, g = s === "RemoveUnused" || s === "All", m = mee(e, e.statements.filter(gl)), v = XUe(o, f ? () => i1e(m, o) === 2 : void 0), S = A => (g && (A = NUe(A, e, i)), d && (A = n1e(A, v, e)), f && (A = Ag(A, (w, C) => bee(w, C, v))), A); if (m.forEach(A => x(A, S)), s !== "RemoveUnused") { let A = e.statements.filter(Il); x(A, w => hee(w, v)) } for (let A of e.statements.filter(lu)) { if (!A.body) continue; if (mee(e, A.body.statements.filter(gl)).forEach(C => x(C, S)), s !== "RemoveUnused") { let C = A.body.statements.filter(Il); x(C, P => hee(P, v)) } } return l.getChanges(); function x(A, w) { if (Fn(A) === 0) return; D7(A[0]); let C = d ? YC(A, B => xP(B.moduleSpecifier)) : [A], P = f ? Ag(C, (B, q) => yee(B[0].moduleSpecifier, q[0].moduleSpecifier, v)) : C, F = Uo(P, B => xP(B[0].moduleSpecifier) ? w(B) : B); if (F.length === 0) l.deleteNodes(e, A, { leadingTriviaOption: nr.LeadingTriviaOption.Exclude, trailingTriviaOption: nr.TrailingTriviaOption.Include }, !0); else { let B = { leadingTriviaOption: nr.LeadingTriviaOption.Exclude, trailingTriviaOption: nr.TrailingTriviaOption.Include, suffix: bb(r, t.options) }; l.replaceNodeWithNodes(e, A[0], F, B); let q = l.nodeHasTrailingComment(e, A[0], B); l.deleteNodes(e, A.slice(1), { trailingTriviaOption: nr.TrailingTriviaOption.Include }, q) } } } function mee(e, t) { let r = kg(e.languageVersion, !1, e.languageVariant), i = [], o = 0; for (let s of t) i[o] && OUe(e, s, r) && o++, i[o] || (i[o] = []), i[o].push(s); return i } function OUe(e, t, r) { let i = t.getFullStart(), o = t.getStart(); r.setText(e.text, i, o - i); let s = 0; for (; r.getTokenPos() < o;)if (r.scan() === 4 && (s++, s >= 2)) return !0; return !1 } function NUe(e, t, r) { let i = r.getTypeChecker(), o = r.getCompilerOptions(), s = i.getJsxNamespace(t), l = i.getJsxFragmentFactory(t), f = !!(t.transformFlags & 2), d = []; for (let m of e) { let { importClause: v, moduleSpecifier: S } = m; if (!v) { d.push(m); continue } let { name: x, namedBindings: A } = v; if (x && !g(x) && (x = void 0), A) if (nv(A)) g(A.name) || (A = void 0); else { let w = A.elements.filter(C => g(C.name)); w.length < A.elements.length && (A = w.length ? D.updateNamedImports(A, w) : void 0) } x || A ? d.push(Ak(m, x, A)) : PUe(t, S) && (t.isDeclarationFile ? d.push(D.createImportDeclaration(m.modifiers, void 0, S, void 0)) : d.push(m)) } return d; function g(m) { return f && (m.text === s || l && m.text === l) && wY(o.jsx) || js.Core.isSymbolReferencedInFile(m, i, t) } } function PUe(e, t) { let r = yo(t) && t.text; return Ta(r) && vt(e.moduleAugmentations, i => yo(i) && i.text === r) } function xP(e) { return e !== void 0 && es(e) ? e.text : void 0 } function MUe(e, t, r) { let i = uG(t); return n1e(e, i, r) } function n1e(e, t, r) { if (e.length === 0) return e; let { importWithoutClause: i, typeOnlyImports: o, regularImports: s } = FUe(e), l = []; i && l.push(i); for (let f of [s, o]) { let d = f === o, { defaultImports: g, namespaceImports: m, namedImports: v } = f; if (!d && g.length === 1 && m.length === 1 && v.length === 0) { let q = g[0]; l.push(Ak(q, q.importClause.name, m[0].importClause.namedBindings)); continue } let S = Ag(m, (q, W) => t(q.importClause.namedBindings.name.text, W.importClause.namedBindings.name.text)); for (let q of S) l.push(Ak(q, void 0, q.importClause.namedBindings)); let x = Sl(g), A = Sl(v), w = x ?? A; if (!w) continue; let C, P = []; if (g.length === 1) C = g[0].importClause.name; else for (let q of g) P.push(D.createImportSpecifier(!1, D.createIdentifier("default"), q.importClause.name)); P.push(...zUe(v)); let F = D.createNodeArray(r1e(P, t), A?.importClause.namedBindings.elements.hasTrailingComma), B = F.length === 0 ? C ? void 0 : D.createNamedImports(Je) : A ? D.updateNamedImports(A.importClause.namedBindings, F) : D.createNamedImports(F); r && B && A?.importClause.namedBindings && !DT(A.importClause.namedBindings, r) && Jn(B, 2), d && C && B ? (l.push(Ak(w, C, void 0)), l.push(Ak(A ?? w, void 0, B))) : l.push(Ak(w, C, B)) } return l } function FUe(e) { let t, r = { defaultImports: [], namespaceImports: [], namedImports: [] }, i = { defaultImports: [], namespaceImports: [], namedImports: [] }; for (let o of e) { if (o.importClause === void 0) { t = t || o; continue } let s = o.importClause.isTypeOnly ? r : i, { name: l, namedBindings: f } = o.importClause; l && s.defaultImports.push(o), f && (nv(f) ? s.namespaceImports.push(o) : s.namedImports.push(o)) } return { importWithoutClause: t, typeOnlyImports: r, regularImports: i } } function GUe(e, t) { let r = uG(t); return hee(e, r) } function hee(e, t) { if (e.length === 0) return e; let { exportWithoutClause: r, namedExports: i, typeOnlyExports: o } = l(e), s = []; r && s.push(r); for (let f of [i, o]) { if (f.length === 0) continue; let d = []; d.push(...Uo(f, v => v.exportClause && h_(v.exportClause) ? v.exportClause.elements : Je)); let g = r1e(d, t), m = f[0]; s.push(D.updateExportDeclaration(m, m.modifiers, m.isTypeOnly, m.exportClause && (h_(m.exportClause) ? D.updateNamedExports(m.exportClause, g) : D.updateNamespaceExport(m.exportClause, m.exportClause.name)), m.moduleSpecifier, m.assertClause)) } return s; function l(f) { let d, g = [], m = []; for (let v of f) v.exportClause === void 0 ? d = d || v : v.isTypeOnly ? m.push(v) : g.push(v); return { exportWithoutClause: d, namedExports: g, typeOnlyExports: m } } } function Ak(e, t, r) { return D.updateImportDeclaration(e, e.modifiers, D.updateImportClause(e.importClause, e.importClause.isTypeOnly, t, r), e.moduleSpecifier, e.assertClause) } function r1e(e, t) { return Ag(e, (r, i) => gee(r, i, t)) } function gee(e, t, r) { return g0(e.isTypeOnly, t.isTypeOnly) || r(e.name.text, t.name.text) } function BUe(e, t, r) { let i = uG(!!r); return yee(e, t, i) } function yee(e, t, r) { let i = e === void 0 ? void 0 : xP(e), o = t === void 0 ? void 0 : xP(t); return g0(i === void 0, o === void 0) || g0(fl(i), fl(o)) || r(i, o) } function vee(e) { var t; switch (e.kind) { case 268: return (t = zr(e.moduleReference, um)) == null ? void 0 : t.expression; case 269: return e.moduleSpecifier; case 240: return e.declarationList.declarations[0].initializer.arguments[0] } } function UUe(e, t) { return i1e(mee(e, e.statements.filter(gl)), t) } function i1e(e, t) { let r = dx(t, !1), i = dx(t, !0), o = 3, s = !1; for (let l of e) { if (l.length > 1) { let d = l8(l, g => { var m, v; return (v = (m = zr(g.moduleSpecifier, yo)) == null ? void 0 : m.text) != null ? v : "" }, r, i); if (d && (o &= d, s = !0), !o) return o } let f = wr(l, d => { var g, m; return ((m = zr((g = d.importClause) == null ? void 0 : g.namedBindings, jg)) == null ? void 0 : m.elements.length) > 1 }); if (f) { let d = Eee(f.importClause.namedBindings.elements, t); if (d && (o &= d, s = !0), !o) return o } if (o !== 3) return o } return s ? 0 : o } function VUe(e, t) { let r = dx(t, !1), i = dx(t, !0); return l8(e, o => xP(vee(o)) || "", r, i) } function jUe(e, t, r) { let i = Py(e, t, Ks, (o, s) => bee(o, s, r)); return i < 0 ? ~i : i } function HUe(e, t, r) { let i = Py(e, t, Ks, (o, s) => gee(o, s, r)); return i < 0 ? ~i : i } function bee(e, t, r) { return yee(vee(e), vee(t), r) || WUe(e, t) } function WUe(e, t) { return Es(a1e(e), a1e(t)) } function a1e(e) { var t; switch (e.kind) { case 269: return e.importClause ? e.importClause.isTypeOnly ? 1 : ((t = e.importClause.namedBindings) == null ? void 0 : t.kind) === 271 ? 2 : e.importClause.name ? 3 : 4 : 0; case 268: return 5; case 240: return 6 } } function zUe(e) { return Uo(e, t => on(JUe(t), r => r.name && r.propertyName && r.name.escapedText === r.propertyName.escapedText ? D.updateImportSpecifier(r, r.isTypeOnly, void 0, r.name) : r)) } function JUe(e) { var t; return (t = e.importClause) != null && t.namedBindings && jg(e.importClause.namedBindings) ? e.importClause.namedBindings.elements : void 0 } function uG(e) { return e ? Sae : su } function KUe(e, t) { var r, i, o; let s = qUe(t), l = (r = t.organizeImportsCaseFirst) != null ? r : !1, f = (i = t.organizeImportsNumericCollation) != null ? i : !1, d = (o = t.organizeImportsAccentCollation) != null ? o : !0, g = e ? d ? "accent" : "base" : d ? "variant" : "case"; return new Intl.Collator(s, { usage: "sort", caseFirst: l || "false", sensitivity: g, numeric: f }).compare } function qUe(e) { let t = e.organizeImportsLocale; t === "auto" && (t = xae()), t === void 0 && (t = "en"); let r = Intl.Collator.supportedLocalesOf(t); return r.length ? r[0] : "en" } function dx(e, t) { var r; return ((r = e.organizeImportsCollation) != null ? r : "ordinal") === "unicode" ? KUe(t, e) : uG(t) } function XUe(e, t) { var r; let i = typeof e.organizeImportsIgnoreCase == "boolean" ? e.organizeImportsIgnoreCase : (r = t?.()) != null ? r : !1; return dx(e, i) } var o1e, Eee, YUe = gt({ "src/services/organizeImports.ts"() { "use strict"; Fr(), o1e = class { has([e, t]) { return this._lastPreferences !== t || !this._cache ? !1 : this._cache.has(e) } get([e, t]) { if (!(this._lastPreferences !== t || !this._cache)) return this._cache.get(e) } set([e, t], r) { var i; this._lastPreferences !== t && (this._lastPreferences = t, this._cache = void 0), (i = this._cache) != null || (this._cache = new WeakMap), this._cache.set(e, r) } }, Eee = Eae((e, t) => { if (!dae(e, (o, s) => g0(o.isTypeOnly, s.isTypeOnly))) return 0; let r = dx(t, !1), i = dx(t, !0); return l8(e, o => o.name.text, r, i) }, new o1e) } }), b_ = {}; Mo(b_, { coalesceExports: () => GUe, coalesceImports: () => MUe, compareImportOrExportSpecifiers: () => gee, compareImportsOrRequireStatements: () => bee, compareModuleSpecifiers: () => BUe, detectImportDeclarationSorting: () => VUe, detectImportSpecifierSorting: () => Eee, detectSorting: () => UUe, getImportDeclarationInsertionIndex: () => jUe, getImportSpecifierInsertionIndex: () => HUe, getOrganizeImportsComparer: () => dx, organizeImports: () => RUe }); var $Ue = gt({ "src/services/_namespaces/ts.OrganizeImports.ts"() { "use strict"; YUe() } }); function QUe(e, t) { let r = []; return ZUe(e, t, r), eVe(e, r), r.sort((i, o) => i.textSpan.start - o.textSpan.start) } function ZUe(e, t, r) { let i = 40, o = 0, s = [...e.statements, e.endOfFileToken], l = s.length; for (; o < l;) { for (; o < l && !yT(s[o]);)f(s[o]), o++; if (o === l) break; let d = o; for (; o < l && yT(s[o]);)f(s[o]), o++; let g = o - 1; g !== d && r.push(AP(Yo(s[d], 100, e).getStart(e), s[g].getEnd(), "imports")) } function f(d) { var g; if (i === 0) return; t.throwIfCancellationRequested(), (Kl(d) || Bc(d) || j_(d) || Ih(d) || d.kind === 1) && c1e(d, e, t, r), Ia(d) && ar(d.parent) && br(d.parent.left) && c1e(d.parent.left, e, t, r), (Va(d) || Tp(d)) && Tee(d.statements.end, e, t, r), (Yr(d) || ku(d)) && Tee(d.members.end, e, t, r); let m = tVe(d, e); m && r.push(m), i--, Pa(d) ? (i++, f(d.expression), i--, d.arguments.forEach(f), (g = d.typeArguments) == null || g.forEach(f)) : MT(d) && d.elseStatement && MT(d.elseStatement) ? (f(d.expression), f(d.thenStatement), i++, f(d.elseStatement), i--) : d.forEachChild(f), i++ } } function eVe(e, t) { let r = [], i = e.getLineStarts(); for (let o of i) { let s = e.getLineEndOfPosition(o), l = e.text.substring(o, s), f = s1e(l); if (!(!f || Kg(e, o))) if (f[1]) { let d = r.pop(); d && (d.textSpan.length = s - d.textSpan.start, d.hintSpan.length = s - d.textSpan.start, t.push(d)) } else { let d = Wc(e.text.indexOf("//", o), s); r.push(d1(d, "region", d, !1, f[2] || "#region")) } } } function s1e(e) { return e = ZC(e), na(e, "//") ? (e = v0(e.slice(2)), l1e.exec(e)) : null } function Tee(e, t, r, i) { let o = Nm(t.text, e); if (!o) return; let s = -1, l = -1, f = 0, d = t.getFullText(); for (let { kind: m, pos: v, end: S } of o) switch (r.throwIfCancellationRequested(), m) { case 2: let x = d.slice(v, S); if (s1e(x)) { g(), f = 0; break } f === 0 && (s = v), l = S, f++; break; case 3: g(), i.push(AP(v, S, "comment")), f = 0; break; default: L.assertNever(m) }g(); function g() { f > 1 && i.push(AP(s, l, "comment")) } } function c1e(e, t, r, i) { CS(e) || Tee(e.pos, t, r, i) } function AP(e, t, r) { return d1(Wc(e, t), r) } function tVe(e, t) { switch (e.kind) { case 238: if (Ia(e.parent)) return nVe(e.parent, e, t); switch (e.parent.kind) { case 243: case 246: case 247: case 245: case 242: case 244: case 251: case 295: return m(e.parent); case 255: let x = e.parent; if (x.tryBlock === e) return m(e.parent); if (x.finallyBlock === e) { let A = Yo(x, 96, t); if (A) return m(A) } default: return d1(Du(e, t), "code") }case 265: return m(e.parent); case 260: case 228: case 261: case 263: case 266: case 184: case 203: return m(e); case 186: return m(e, !1, !p2(e.parent), 22); case 292: case 293: return v(e.statements); case 207: return g(e); case 206: return g(e, 22); case 281: return s(e); case 285: return l(e); case 282: case 283: return f(e.attributes); case 225: case 14: return d(e); case 204: return m(e, !1, !Wo(e.parent), 22); case 216: return o(e); case 210: return i(e); case 214: return S(e); case 272: case 276: case 296: return r(e) }function r(x) { if (!x.elements.length) return; let A = Yo(x, 18, t), w = Yo(x, 19, t); if (!(!A || !w || Bf(A.pos, w.pos, t))) return dG(A, w, x, t, !1, !1) } function i(x) { if (!x.arguments.length) return; let A = Yo(x, 20, t), w = Yo(x, 21, t); if (!(!A || !w || Bf(A.pos, w.pos, t))) return dG(A, w, x, t, !1, !0) } function o(x) { if (Va(x.body) || ud(x.body) || Bf(x.body.getFullStart(), x.body.getEnd(), t)) return; let A = Wc(x.body.getFullStart(), x.body.getEnd()); return d1(A, "code", Du(x)) } function s(x) { let A = Wc(x.openingElement.getStart(t), x.closingElement.getEnd()), w = x.openingElement.tagName.getText(t), C = "<" + w + ">...</" + w + ">"; return d1(A, "code", A, !1, C) } function l(x) { let A = Wc(x.openingFragment.getStart(t), x.closingFragment.getEnd()); return d1(A, "code", A, !1, "<>...</>") } function f(x) { if (x.properties.length !== 0) return AP(x.getStart(t), x.getEnd(), "code") } function d(x) { if (!(x.kind === 14 && x.text.length === 0)) return AP(x.getStart(t), x.getEnd(), "code") } function g(x, A = 18) { return m(x, !1, !fu(x.parent) && !Pa(x.parent), A) } function m(x, A = !1, w = !0, C = 18, P = C === 18 ? 19 : 23) { let F = Yo(e, C, t), B = Yo(e, P, t); return F && B && dG(F, B, x, t, A, w) } function v(x) { return x.length ? d1(lv(x), "code") : void 0 } function S(x) { if (Bf(x.getStart(), x.getEnd(), t)) return; let A = Wc(x.getStart(), x.getEnd()); return d1(A, "code", Du(x)) } } function nVe(e, t, r) { let i = rVe(e, t, r), o = Yo(t, 19, r); return i && o && dG(i, o, e, r, e.kind !== 216) } function dG(e, t, r, i, o = !1, s = !0) { let l = Wc(s ? e.getFullStart() : e.getStart(i), t.getEnd()); return d1(l, "code", Du(r, i), o) } function d1(e, t, r = e, i = !1, o = "...") { return { textSpan: e, kind: t, hintSpan: r, bannerText: o, autoCollapse: i } } function rVe(e, t, r) { if (ale(e.parameters, r)) { let i = Yo(e, 20, r); if (i) return i } return Yo(t, 18, r) } var l1e, iVe = gt({ "src/services/outliningElementsCollector.ts"() { "use strict"; Fr(), l1e = /^#(end)?region(?:\s+(.*))?(?:\r)?$/ } }), See = {}; Mo(See, { collectElements: () => QUe }); var aVe = gt({ "src/services/_namespaces/ts.OutliningElementsCollector.ts"() { "use strict"; iVe() } }); function Vh(e, t) { fG.set(e, t) } function oVe(e) { return lo(OU(fG.values(), t => { var r; return e.cancellationToken && e.cancellationToken.isCancellationRequested() || !((r = t.kinds) != null && r.some(i => pv(i, e.kind))) ? void 0 : t.getAvailableActions(e) })) } function sVe(e, t, r) { let i = fG.get(t); return i && i.getEditsForAction(e, r) } var fG, cVe = gt({ "src/services/refactorProvider.ts"() { "use strict"; Fr(), Qm(), fG = new Map } }); function u1e(e, t = !0) { let { file: r, program: i } = e, o = QS(e), s = Vi(r, o.start), l = s.parent && Yy(s.parent) & 1 && t ? s.parent : HN(s, r, o); if (!l || !Li(l.parent) && !(Tp(l.parent) && lu(l.parent.parent))) return { error: uo(_.Could_not_find_export_statement) }; let f = i.getTypeChecker(), d = pVe(l.parent, f), g = Yy(l) || (pc(l) && !l.isExportEquals ? 1025 : 0), m = !!(g & 1024); if (!(g & 1) || !m && d.exports.has("default")) return { error: uo(_.This_file_already_has_a_default_export) }; let v = S => Re(S) && f.getSymbolAtLocation(S) ? void 0 : { error: uo(_.Can_only_convert_named_export) }; switch (l.kind) { case 259: case 260: case 261: case 263: case 262: case 264: { let S = l; return S.name ? v(S.name) || { exportNode: S, exportName: S.name, wasDefault: m, exportingModuleSymbol: d } : void 0 } case 240: { let S = l; if (!(S.declarationList.flags & 2) || S.declarationList.declarations.length !== 1) return; let x = Vo(S.declarationList.declarations); return x.initializer ? (L.assert(!m, "Can't have a default flag here"), v(x.name) || { exportNode: S, exportName: x.name, wasDefault: m, exportingModuleSymbol: d }) : void 0 } case 274: { let S = l; return S.isExportEquals ? void 0 : v(S.expression) || { exportNode: S, exportName: S.expression, wasDefault: m, exportingModuleSymbol: d } } default: return } } function lVe(e, t, r, i, o) { uVe(e, r, i, t.getTypeChecker()), dVe(t, r, i, o) } function uVe(e, { wasDefault: t, exportNode: r, exportName: i }, o, s) { if (t) if (pc(r) && !r.isExportEquals) { let l = r.expression, f = d1e(l.text, l.text); o.replaceNode(e, r, D.createExportDeclaration(void 0, !1, D.createNamedExports([f]))) } else o.delete(e, L.checkDefined(z2(r, 88), "Should find a default keyword in modifier list")); else { let l = L.checkDefined(z2(r, 93), "Should find an export keyword in modifier list"); switch (r.kind) { case 259: case 260: case 261: o.insertNodeAfter(e, l, D.createToken(88)); break; case 240: let f = Vo(r.declarationList.declarations); if (!js.Core.isSymbolReferencedInFile(i, s, e) && !f.type) { o.replaceNode(e, r, D.createExportDefault(L.checkDefined(f.initializer, "Initializer was previously known to be present"))); break } case 263: case 262: case 264: o.deleteModifier(e, l), o.insertNodeAfter(e, r, D.createExportDefault(D.createIdentifier(i.text))); break; default: L.fail(`Unexpected exportNode kind ${r.kind}`) } } } function dVe(e, { wasDefault: t, exportName: r, exportingModuleSymbol: i }, o, s) { let l = e.getTypeChecker(), f = L.checkDefined(l.getSymbolAtLocation(r), "Export name should resolve to a symbol"); js.Core.eachExportReference(e.getSourceFiles(), l, s, f, i, r.text, t, d => { if (r === d) return; let g = d.getSourceFile(); t ? fVe(g, d, o, r.text) : _Ve(g, d, o) }) } function fVe(e, t, r, i) { let { parent: o } = t; switch (o.kind) { case 208: r.replaceNode(e, t, D.createIdentifier(i)); break; case 273: case 278: { let l = o; r.replaceNode(e, l, xee(i, l.name.text)); break } case 270: { let l = o; L.assert(l.name === t, "Import clause name should match provided ref"); let f = xee(i, t.text), { namedBindings: d } = l; if (!d) r.replaceNode(e, t, D.createNamedImports([f])); else if (d.kind === 271) { r.deleteRange(e, { pos: t.getStart(e), end: d.getStart(e) }); let g = yo(l.parent.moduleSpecifier) ? sY(l.parent.moduleSpecifier, e) : 1, m = Xg(void 0, [xee(i, t.text)], l.parent.moduleSpecifier, g); r.insertNodeAfter(e, l.parent, m) } else r.delete(e, t), r.insertNodeAtEndOfList(e, d.elements, f); break } case 202: let s = o; r.replaceNode(e, o, D.createImportTypeNode(s.argument, s.assertions, D.createIdentifier(i), s.typeArguments, s.isTypeOf)); break; default: L.failBadSyntaxKind(o) } } function _Ve(e, t, r) { let i = t.parent; switch (i.kind) { case 208: r.replaceNode(e, t, D.createIdentifier("default")); break; case 273: { let o = D.createIdentifier(i.name.text); i.parent.elements.length === 1 ? r.replaceNode(e, i.parent, o) : (r.delete(e, i), r.insertNodeBefore(e, i.parent, o)); break } case 278: { r.replaceNode(e, i, d1e("default", i.name.text)); break } default: L.assertNever(i, `Unexpected parent kind ${i.kind}`) } } function xee(e, t) { return D.createImportSpecifier(!1, e === t ? void 0 : D.createIdentifier(e), D.createIdentifier(t)) } function d1e(e, t) { return D.createExportSpecifier(!1, e === t ? void 0 : D.createIdentifier(e), D.createIdentifier(t)) } function pVe(e, t) { if (Li(e)) return e.symbol; let r = e.parent.symbol; return r.valueDeclaration && D0(r.valueDeclaration) ? t.getMergedSymbol(r) : r } var _G, CP, IP, mVe = gt({ "src/services/refactors/convertExport.ts"() { "use strict"; Fr(), Qm(), _G = "Convert export", CP = { name: "Convert default export to named export", description: _.Convert_default_export_to_named_export.message, kind: "refactor.rewrite.export.named" }, IP = { name: "Convert named export to default export", description: _.Convert_named_export_to_default_export.message, kind: "refactor.rewrite.export.default" }, Vh(_G, { kinds: [CP.kind, IP.kind], getAvailableActions: function (t) { let r = u1e(t, t.triggerReason === "invoked"); if (!r) return Je; if (!$m(r)) { let i = r.wasDefault ? CP : IP; return [{ name: _G, description: i.description, actions: [i] }] } return t.preferences.provideRefactorNotApplicableReason ? [{ name: _G, description: _.Convert_default_export_to_named_export.message, actions: [{ ...CP, notApplicableReason: r.error }, { ...IP, notApplicableReason: r.error }] }] : Je }, getEditsForAction: function (t, r) { L.assert(r === CP.name || r === IP.name, "Unexpected action name"); let i = u1e(t); return L.assert(i && !$m(i), "Expected applicable refactor info"), { edits: nr.ChangeTracker.with(t, s => lVe(t.file, t.program, i, s, t.cancellationToken)), renameFilename: void 0, renameLocation: void 0 } } }) } }); function f1e(e, t = !0) { let { file: r } = e, i = QS(e), o = Vi(r, i.start), s = t ? jn(o, gl) : HN(o, r, i); if (!s || !gl(s)) return { error: "Selection is not an import declaration." }; let l = i.start + i.length, f = t1(s, s.parent, r); if (f && l > f.getStart()) return; let { importClause: d } = s; return d ? d.namedBindings ? d.namedBindings.kind === 271 ? { convertTo: 0, import: d.namedBindings } : _1e(e.program, d) ? { convertTo: 1, import: d.namedBindings } : { convertTo: 2, import: d.namedBindings } : { error: uo(_.Could_not_find_namespace_import_or_named_imports) } : { error: uo(_.Could_not_find_import_clause) } } function _1e(e, t) { return wT(e.getCompilerOptions()) && vVe(t.parent.moduleSpecifier, e.getTypeChecker()) } function hVe(e, t, r, i) { let o = t.getTypeChecker(); i.convertTo === 0 ? gVe(e, o, r, i.import, wT(t.getCompilerOptions())) : m1e(e, t, r, i.import, i.convertTo === 1) } function gVe(e, t, r, i, o) { let s = !1, l = [], f = new Map; js.Core.eachSymbolReferenceInFile(i.name, t, e, v => { if (!fse(v.parent)) s = !0; else { let S = p1e(v.parent).text; t.resolveName(S, v, 67108863, !0) && f.set(S, !0), L.assert(yVe(v.parent) === v, "Parent expression should match id"), l.push(v.parent) } }); let d = new Map; for (let v of l) { let S = p1e(v).text, x = d.get(S); x === void 0 && d.set(S, x = f.has(S) ? i1(S, e) : S), r.replaceNode(e, v, D.createIdentifier(x)) } let g = []; d.forEach((v, S) => { g.push(D.createImportSpecifier(!1, v === S ? void 0 : D.createIdentifier(S), D.createIdentifier(v))) }); let m = i.parent.parent; s && !o ? r.insertNodeAfter(e, m, Aee(m, void 0, g)) : r.replaceNode(e, m, Aee(m, s ? D.createIdentifier(i.name.text) : void 0, g)) } function p1e(e) { return br(e) ? e.name : e.right } function yVe(e) { return br(e) ? e.expression : e.left } function m1e(e, t, r, i, o = _1e(t, i.parent)) { let s = t.getTypeChecker(), l = i.parent.parent, { moduleSpecifier: f } = l, d = new Set; i.elements.forEach(A => { let w = s.getSymbolAtLocation(A.name); w && d.add(w) }); let g = f && yo(f) ? gu.moduleSpecifierToValidIdentifier(f.text, 99) : "module"; function m(A) { return !!js.Core.eachSymbolReferenceInFile(A.name, s, e, w => { let C = s.resolveName(g, w, 67108863, !0); return C ? d.has(C) ? Mu(w.parent) : !0 : !1 }) } let S = i.elements.some(m) ? i1(g, e) : g, x = new Set; for (let A of i.elements) { let w = (A.propertyName || A.name).text; js.Core.eachSymbolReferenceInFile(A.name, s, e, C => { let P = D.createPropertyAccessExpression(D.createIdentifier(S), w); xf(C.parent) ? r.replaceNode(e, C.parent, D.createPropertyAssignment(C.text, P)) : Mu(C.parent) ? x.add(A) : r.replaceNode(e, C, P) }) } if (r.replaceNode(e, i, o ? D.createIdentifier(S) : D.createNamespaceImport(D.createIdentifier(S))), x.size) { let A = lo(x.values(), w => D.createImportSpecifier(w.isTypeOnly, w.propertyName && D.createIdentifier(w.propertyName.text), D.createIdentifier(w.name.text))); r.insertNodeAfter(e, i.parent.parent, Aee(l, void 0, A)) } } function vVe(e, t) { let r = t.resolveExternalModuleName(e); if (!r) return !1; let i = t.resolveExternalModuleSymbol(r); return r !== i } function Aee(e, t, r) { return D.createImportDeclaration(void 0, D.createImportClause(!1, t, r && r.length ? D.createNamedImports(r) : void 0), e.moduleSpecifier, void 0) } var pG, LP, bVe = gt({ "src/services/refactors/convertImport.ts"() { "use strict"; Fr(), Qm(), pG = "Convert import", LP = { 0: { name: "Convert namespace import to named imports", description: _.Convert_namespace_import_to_named_imports.message, kind: "refactor.rewrite.import.named" }, 2: { name: "Convert named imports to namespace import", description: _.Convert_named_imports_to_namespace_import.message, kind: "refactor.rewrite.import.namespace" }, 1: { name: "Convert named imports to default import", description: _.Convert_named_imports_to_default_import.message, kind: "refactor.rewrite.import.default" } }, Vh(pG, { kinds: H1(LP).map(e => e.kind), getAvailableActions: function (t) { let r = f1e(t, t.triggerReason === "invoked"); if (!r) return Je; if (!$m(r)) { let i = LP[r.convertTo]; return [{ name: pG, description: i.description, actions: [i] }] } return t.preferences.provideRefactorNotApplicableReason ? H1(LP).map(i => ({ name: pG, description: i.description, actions: [{ ...i, notApplicableReason: r.error }] })) : Je }, getEditsForAction: function (t, r) { L.assert(vt(H1(LP), s => s.name === r), "Unexpected action name"); let i = f1e(t); return L.assert(i && !$m(i), "Expected applicable refactor info"), { edits: nr.ChangeTracker.with(t, s => hVe(t.file, t.program, s, i)), renameFilename: void 0, renameLocation: void 0 } } }) } }); function h1e(e, t = !0) { let { file: r, startPosition: i } = e, o = Cu(r), s = Vi(r, i), l = y7(QS(e)), f = l.pos === l.end && t, d = jn(s, x => x.parent && bi(x) && !Ab(l, x.parent, r) && (f || HX(s, r, l.pos, l.end))); if (!d || !bi(d)) return { error: uo(_.Selection_is_not_a_valid_type_node) }; let g = e.program.getTypeChecker(), m = AVe(d, o); if (m === void 0) return { error: uo(_.No_type_could_be_extracted_from_this_type_node) }; let v = EVe(g, d, m, r); if (!v) return { error: uo(_.No_type_could_be_extracted_from_this_type_node) }; let S = Cee(g, d); return { isJS: o, selection: d, enclosingNode: m, typeParameters: v, typeElements: S } } function Cee(e, t) { if (t) if (dO(t)) { let r = [], i = new Map; for (let o of t.types) { let s = Cee(e, o); if (!s || !s.every(l => l.name && V_(i, VN(l.name)))) return; si(r, s) } return r } else { if (wS(t)) return Cee(e, t.type); if (Rd(t)) return t.members } } function Ab(e, t, r) { return ON(e, xo(r.text, t.pos), t.end) } function EVe(e, t, r, i) { let o = []; return s(t) ? void 0 : o; function s(l) { if (m_(l)) { if (Re(l.typeName)) { let f = l.typeName, d = e.resolveName(f.text, f, 262144, !0); for (let g of d?.declarations || Je) if (_c(g) && g.getSourceFile() === i) { if (g.name.escapedText === f.escapedText && Ab(g, t, i)) return !0; if (Ab(r, g, i) && !Ab(t, g, i)) { Of(o, g); break } } } } else if (h2(l)) { let f = jn(l, d => m2(d) && Ab(d.extendsType, l, i)); if (!f || !Ab(t, f, i)) return !0 } else if (l3(l) || u3(l)) { let f = jn(l.parent, Ia); if (f && f.type && Ab(f.type, l, i) && !Ab(t, f, i)) return !0 } else if (vL(l)) { if (Re(l.exprName)) { let f = e.resolveName(l.exprName.text, l.exprName, 111551, !1); if (f?.valueDeclaration && Ab(r, f.valueDeclaration, i) && !Ab(t, f.valueDeclaration, i)) return !0 } else if (LT(l.exprName.left) && !Ab(t, l.parent, i)) return !0 } return i && p2(l) && Gs(i, l.pos).line === Gs(i, l.end).line && Jn(l, 1), pa(l, s) } } function TVe(e, t, r, i) { let { enclosingNode: o, selection: s, typeParameters: l } = i, f = D.createTypeAliasDeclaration(void 0, r, l.map(d => D.updateTypeParameterDeclaration(d, d.modifiers, d.name, d.constraint, void 0)), s); e.insertNodeBefore(t, o, Tz(f), !0), e.replaceNode(t, s, D.createTypeReferenceNode(r, l.map(d => D.createTypeReferenceNode(d.name, void 0))), { leadingTriviaOption: nr.LeadingTriviaOption.Exclude, trailingTriviaOption: nr.TrailingTriviaOption.ExcludeWhitespace }) } function SVe(e, t, r, i) { var o; let { enclosingNode: s, selection: l, typeParameters: f, typeElements: d } = i, g = D.createInterfaceDeclaration(void 0, r, f, void 0, d); it(g, (o = d[0]) == null ? void 0 : o.parent), e.insertNodeBefore(t, s, Tz(g), !0), e.replaceNode(t, l, D.createTypeReferenceNode(r, f.map(m => D.createTypeReferenceNode(m.name, void 0))), { leadingTriviaOption: nr.LeadingTriviaOption.Exclude, trailingTriviaOption: nr.TrailingTriviaOption.ExcludeWhitespace }) } function xVe(e, t, r, i, o) { var s; let { enclosingNode: l, selection: f, typeParameters: d } = o; Jn(f, 7168); let g = D.createJSDocTypedefTag(D.createIdentifier("typedef"), D.createJSDocTypeExpression(f), D.createIdentifier(i)), m = []; mn(d, S => { let x = EA(S), A = D.createTypeParameterDeclaration(void 0, S.name), w = D.createJSDocTemplateTag(D.createIdentifier("template"), x && Ga(x, UT), [A]); m.push(w) }); let v = D.createJSDocComment(void 0, D.createNodeArray(Qi(m, [g]))); if (dm(l)) { let S = l.getStart(r), x = bb(t.host, (s = t.formatContext) == null ? void 0 : s.options); e.insertNodeAt(r, l.getStart(r), v, { suffix: x + x + r.text.slice(hY(r.text, S - 1), S) }) } else e.insertNodeBefore(r, l, v, !0); e.replaceNode(r, f, D.createTypeReferenceNode(i, d.map(S => D.createTypeReferenceNode(S.name, void 0)))) } function AVe(e, t) { return jn(e, ca) || (t ? jn(e, dm) : void 0) } var mG, kP, DP, wP, CVe = gt({ "src/services/refactors/extractType.ts"() { "use strict"; Fr(), Qm(), mG = "Extract type", kP = { name: "Extract to type alias", description: uo(_.Extract_to_type_alias), kind: "refactor.extract.type" }, DP = { name: "Extract to interface", description: uo(_.Extract_to_interface), kind: "refactor.extract.interface" }, wP = { name: "Extract to typedef", description: uo(_.Extract_to_typedef), kind: "refactor.extract.typedef" }, Vh(mG, { kinds: [kP.kind, DP.kind, wP.kind], getAvailableActions: function (t) { let r = h1e(t, t.triggerReason === "invoked"); return r ? $m(r) ? t.preferences.provideRefactorNotApplicableReason ? [{ name: mG, description: uo(_.Extract_type), actions: [{ ...wP, notApplicableReason: r.error }, { ...kP, notApplicableReason: r.error }, { ...DP, notApplicableReason: r.error }] }] : Je : [{ name: mG, description: uo(_.Extract_type), actions: r.isJS ? [wP] : Sn([kP], r.typeElements && DP) }] : Je }, getEditsForAction: function (t, r) { let { file: i } = t, o = h1e(t); L.assert(o && !$m(o), "Expected to find a range to extract"); let s = i1("NewType", i), l = nr.ChangeTracker.with(t, g => { switch (r) { case kP.name: return L.assert(!o.isJS, "Invalid actionName/JS combo"), TVe(g, i, s, o); case wP.name: return L.assert(o.isJS, "Invalid actionName/JS combo"), xVe(g, t, i, s, o); case DP.name: return L.assert(!o.isJS && !!o.typeElements, "Invalid actionName/JS combo"), SVe(g, i, s, o); default: L.fail("Unexpected action name") } }), f = i.fileName, d = KN(l, f, s, !1); return { edits: l, renameFilename: f, renameLocation: d } } }) } }); function $m(e) { return e.error !== void 0 } function pv(e, t) { return t ? e.substr(0, t.length) === t : !0 } var IVe = gt({ "src/services/refactors/helpers.ts"() { "use strict" } }); function LVe(e) { let { file: t } = e, r = y7(QS(e)), { statements: i } = t, o = Yc(i, f => f.end > r.pos); if (o === -1) return; let s = i[o]; if (zl(s) && s.name && Od(s.name, r)) return { toMove: [i[o]], afterLast: i[o + 1] }; if (r.pos > s.getStart(t)) return; let l = Yc(i, f => f.end > r.end, o); if (!(l !== -1 && (l === 0 || i[l].getStart(t) < r.end))) return { toMove: i.slice(o, l === -1 ? i.length : l), afterLast: l === -1 ? void 0 : i[l] } } function kVe(e, t, r, i, o, s) { let l = t.getTypeChecker(), f = JVe(e, r.all, l), d = ni(e.fileName), g = jR(e.fileName), m = vi(d, WVe(zVe(f.oldFileImportsFromNewFile, f.movedSymbols), g, d, o)) + g; i.createNewFile(e, m, OVe(e, f, i, r, t, o, m, s)), RVe(t, i, e.fileName, m, lb(o)) } function g1e(e) { let t = LVe(e); if (t === void 0) return; let r = [], i = [], { toMove: o, afterLast: s } = t; return PU(o, DVe, (l, f) => { for (let d = l; d < f; d++)r.push(o[d]); i.push({ first: o[l], afterLast: s }) }), r.length === 0 ? void 0 : { all: r, ranges: i } } function DVe(e) { return !wVe(e) && !B_(e) } function wVe(e) { switch (e.kind) { case 269: return !0; case 268: return !Mr(e, 1); case 240: return e.declarationList.declarations.every(t => !!t.initializer && qu(t.initializer, !0)); default: return !1 } } function RVe(e, t, r, i, o) { let s = e.getCompilerOptions().configFile; if (!s) return; let l = So(vi(r, "..", i)), f = _w(s.fileName, l, o), d = s.statements[0] && zr(s.statements[0].expression, rs), g = d && wr(d.properties, m => yl(m) && yo(m.name) && m.name.text === "files"); g && fu(g.initializer) && t.insertNodeInListAfter(s, To(g.initializer.elements), D.createStringLiteral(f), g.initializer.elements) } function OVe(e, t, r, i, o, s, l, f) { let d = o.getTypeChecker(), g = v8(e.statements, B_); if (e.externalModuleIndicator === void 0 && e.commonJsModuleIndicator === void 0 && t.oldImportsNeededByNewFile.size() === 0) return y1e(e, i.ranges, r), [...g, ...i.all]; let m = !!e.externalModuleIndicator, v = J_(e, f), S = BVe(e, t.oldFileImportsFromNewFile, l, o, s, m, v); S && L7(r, e, S, !0, f), NVe(e, i.all, r, t.unusedImportsFromOldFile, d), y1e(e, i.ranges, r), PVe(r, o, s, e, t.movedSymbols, l); let x = HVe(e, t.oldImportsNeededByNewFile, t.newFileImportsFromOldFile, r, d, o, s, m, v), A = UVe(e, i.all, t.oldFileImportsFromNewFile, m); return x.length && A.length ? [...g, ...x, 4, ...A] : [...g, ...x, ...A] } function y1e(e, t, r) { for (let { first: i, afterLast: o } of t) r.deleteNodeRangeExcludingEnd(e, i, o) } function NVe(e, t, r, i, o) { for (let s of e.statements) ya(t, s) || Iee(s, l => T1e(e, l, r, f => i.has(o.getSymbolAtLocation(f)))) } function PVe(e, t, r, i, o, s) { let l = t.getTypeChecker(); for (let f of t.getSourceFiles()) if (f !== i) for (let d of f.statements) Iee(d, g => { if (l.getSymbolAtLocation(v1e(g)) !== i.symbol) return; let m = w => { let C = Wo(w.parent) ? I7(l, w.parent) : wd(l.getSymbolAtLocation(w), l); return !!C && o.has(C) }; T1e(f, g, e, m); let v = Fy(ni(i.path), s), S = sF(t.getCompilerOptions(), f, f.path, v, $S(t, r)), x = A1e(g, D.createStringLiteral(S), m); x && e.insertNodeAfter(f, d, x); let A = MVe(g); A && FVe(e, f, l, o, S, A, g) }) } function MVe(e) { switch (e.kind) { case 269: return e.importClause && e.importClause.namedBindings && e.importClause.namedBindings.kind === 271 ? e.importClause.namedBindings.name : void 0; case 268: return e.name; case 257: return zr(e.name, Re); default: return L.assertNever(e, `Unexpected node kind ${e.kind}`) } } function FVe(e, t, r, i, o, s, l) { let f = gu.moduleSpecifierToValidIdentifier(o, 99), d = !1, g = []; if (js.Core.eachSymbolReferenceInFile(s, r, t, m => { br(m.parent) && (d = d || !!r.resolveName(f, m, 67108863, !0), i.has(r.getSymbolAtLocation(m.parent.name)) && g.push(m)) }), g.length) { let m = d ? i1(f, t) : f; for (let v of g) e.replaceNode(t, v, D.createIdentifier(m)); e.insertNodeAfter(t, l, GVe(l, f, o)) } } function GVe(e, t, r) { let i = D.createIdentifier(t), o = D.createStringLiteral(r); switch (e.kind) { case 269: return D.createImportDeclaration(void 0, D.createImportClause(!1, void 0, D.createNamespaceImport(i)), o, void 0); case 268: return D.createImportEqualsDeclaration(void 0, !1, i, D.createExternalModuleReference(o)); case 257: return D.createVariableDeclaration(i, void 0, void 0, Lee(o)); default: return L.assertNever(e, `Unexpected node kind ${e.kind}`) } } function v1e(e) { return e.kind === 269 ? e.moduleSpecifier : e.kind === 268 ? e.moduleReference.expression : e.initializer.arguments[0] } function Iee(e, t) { if (gl(e)) yo(e.moduleSpecifier) && t(e); else if (Nl(e)) um(e.moduleReference) && es(e.moduleReference.expression) && t(e); else if (Bc(e)) for (let r of e.declarationList.declarations) r.initializer && qu(r.initializer, !0) && t(r) } function BVe(e, t, r, i, o, s, l) { let f, d = []; return t.forEach(g => { g.escapedName === "default" ? f = D.createIdentifier(x7(g)) : d.push(g.name) }), b1e(e, f, d, r, i, o, s, l) } function b1e(e, t, r, i, o, s, l, f) { let d = Fy(ni(e.path), i), g = sF(o.getCompilerOptions(), e, e.path, d, $S(o, s)); if (l) { let m = r.map(v => D.createImportSpecifier(!1, void 0, D.createIdentifier(v))); return jhe(t, m, g, f) } else { L.assert(!t, "No default import should exist"); let m = r.map(v => D.createBindingElement(void 0, void 0, v)); return m.length ? E1e(D.createObjectBindingPattern(m), void 0, Lee(D.createStringLiteral(g))) : void 0 } } function E1e(e, t, r, i = 2) { return D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(e, void 0, t, r)], i)) } function Lee(e) { return D.createCallExpression(D.createIdentifier("require"), void 0, [e]) } function UVe(e, t, r, i) { return Uo(t, o => { if (YVe(o) && !R1e(e, o, i) && k1e(o, s => { var l; return r.has(L.checkDefined((l = zr(s, $p)) == null ? void 0 : l.symbol)) })) { let s = ZVe(o, i); if (s) return s } return o }) } function T1e(e, t, r, i) { switch (t.kind) { case 269: VVe(e, t, r, i); break; case 268: i(t.name) && r.delete(e, t); break; case 257: jVe(e, t, r, i); break; default: L.assertNever(t, `Unexpected import decl kind ${t.kind}`) } } function VVe(e, t, r, i) { if (!t.importClause) return; let { name: o, namedBindings: s } = t.importClause, l = !o || i(o), f = !s || (s.kind === 271 ? i(s.name) : s.elements.length !== 0 && s.elements.every(d => i(d.name))); if (l && f) r.delete(e, t); else if (o && l && r.delete(e, o), s) { if (f) r.replaceNode(e, t.importClause, D.updateImportClause(t.importClause, t.importClause.isTypeOnly, o, void 0)); else if (s.kind === 272) for (let d of s.elements) i(d.name) && r.delete(e, d) } } function jVe(e, t, r, i) { let { name: o } = t; switch (o.kind) { case 79: i(o) && (t.initializer && qu(t.initializer, !0) ? r.delete(e, pu(t.parent) && Fn(t.parent.declarations) === 1 ? t.parent.parent : t) : r.delete(e, o)); break; case 204: break; case 203: if (o.elements.every(s => Re(s.name) && i(s.name))) r.delete(e, pu(t.parent) && t.parent.declarations.length === 1 ? t.parent.parent : t); else for (let s of o.elements) Re(s.name) && i(s.name) && r.delete(e, s.name); break } } function HVe(e, t, r, i, o, s, l, f, d) { let g = []; for (let x of e.statements) Iee(x, A => { Sn(g, A1e(A, v1e(A), w => t.has(o.getSymbolAtLocation(w)))) }); let m, v = [], S = W2(); return r.forEach(x => { if (x.declarations) for (let A of x.declarations) { if (!I1e(A)) continue; let w = $Ve(A); if (!w) continue; let C = w1e(A); S(C) && QVe(e, C, w, i, f), Mr(A, 1024) ? m = w : v.push(w.text) } }), Sn(g, b1e(e, m, v, Hl(e.fileName), s, l, f, d)), g } function WVe(e, t, r, i) { let o = e; for (let s = 1; ; s++) { let l = vi(r, o + t); if (!i.fileExists(l)) return o; o = `${e}.${s}` } } function zVe(e, t) { return e.forEachEntry(x7) || t.forEachEntry(x7) || "newFile" } function JVe(e, t, r) { let i = new Ik, o = new Ik, s = new Ik, l = wr(t, v => !!(v.transformFlags & 2)), f = m(l); f && o.add(f); for (let v of t) k1e(v, S => { i.add(L.checkDefined(Ol(S) ? r.getSymbolAtLocation(S.expression.left) : S.symbol, "Need a symbol here")) }); for (let v of t) C1e(v, r, S => { if (S.declarations) for (let x of S.declarations) S1e(x) ? o.add(S) : I1e(x) && XVe(x) === e && !i.has(S) && s.add(S) }); let d = o.clone(), g = new Ik; for (let v of e.statements) ya(t, v) || (f && v.transformFlags & 2 && d.delete(f), C1e(v, r, S => { i.has(S) && g.add(S), d.delete(S) })); return { movedSymbols: i, newFileImportsFromOldFile: s, oldFileImportsFromNewFile: g, oldImportsNeededByNewFile: o, unusedImportsFromOldFile: d }; function m(v) { if (v === void 0) return; let S = r.getJsxNamespace(v), x = r.resolveName(S, v, 1920, !0); return x && vt(x.declarations, S1e) ? x : void 0 } } function S1e(e) { switch (e.kind) { case 268: case 273: case 270: case 271: return !0; case 257: return x1e(e); case 205: return wi(e.parent.parent) && x1e(e.parent.parent); default: return !1 } } function x1e(e) { return Li(e.parent.parent.parent) && !!e.initializer && qu(e.initializer, !0) } function A1e(e, t, r) { switch (e.kind) { case 269: { let i = e.importClause; if (!i) return; let o = i.name && r(i.name) ? i.name : void 0, s = i.namedBindings && KVe(i.namedBindings, r); return o || s ? D.createImportDeclaration(void 0, D.createImportClause(i.isTypeOnly, o, s), t, void 0) : void 0 } case 268: return r(e.name) ? e : void 0; case 257: { let i = qVe(e.name, r); return i ? E1e(i, e.type, Lee(t), e.parent.flags) : void 0 } default: return L.assertNever(e, `Unexpected import kind ${e.kind}`) } } function KVe(e, t) { if (e.kind === 271) return t(e.name) ? e : void 0; { let r = e.elements.filter(i => t(i.name)); return r.length ? D.createNamedImports(r) : void 0 } } function qVe(e, t) { switch (e.kind) { case 79: return t(e) ? e : void 0; case 204: return e; case 203: { let r = e.elements.filter(i => i.propertyName || !Re(i.name) || t(i.name)); return r.length ? D.createObjectBindingPattern(r) : void 0 } } } function C1e(e, t, r) { e.forEachChild(function i(o) { if (Re(o) && !Rh(o)) { let s = t.getSymbolAtLocation(o); s && r(s) } else o.forEachChild(i) }) } function I1e(e) { return L1e(e) && Li(e.parent) || wi(e) && Li(e.parent.parent.parent) } function XVe(e) { return wi(e) ? e.parent.parent.parent : e.parent } function YVe(e) { return L.assert(Li(e.parent), "Node parent should be a SourceFile"), L1e(e) || Bc(e) } function L1e(e) { switch (e.kind) { case 259: case 260: case 264: case 263: case 262: case 261: case 268: return !0; default: return !1 } } function k1e(e, t) { switch (e.kind) { case 259: case 260: case 264: case 263: case 262: case 261: case 268: return t(e); case 240: return ks(e.declarationList.declarations, r => D1e(r.name, t)); case 241: { let { expression: r } = e; return ar(r) && ic(r) === 1 ? t(e) : void 0 } } } function D1e(e, t) { switch (e.kind) { case 79: return t(Ga(e.parent, r => wi(r) || Wo(r))); case 204: case 203: return ks(e.elements, r => ol(r) ? void 0 : D1e(r.name, t)); default: return L.assertNever(e, `Unexpected name kind ${e.kind}`) } } function $Ve(e) { return Ol(e) ? zr(e.expression.left.name, Re) : zr(e.name, Re) } function w1e(e) { switch (e.kind) { case 257: return e.parent.parent; case 205: return w1e(Ga(e.parent.parent, t => wi(t) || Wo(t))); default: return e } } function QVe(e, t, r, i, o) { if (!R1e(e, t, o, r)) if (o) Ol(t) || i.insertExportModifier(e, t); else { let s = kee(t); s.length !== 0 && i.insertNodesAfter(e, t, s.map(O1e)) } } function R1e(e, t, r, i) { var o; return r ? !Ol(t) && Mr(t, 1) || !!(i && ((o = e.symbol.exports) != null && o.has(i.escapedText))) : !!e.symbol && !!e.symbol.exports && kee(t).some(s => e.symbol.exports.has(Bs(s))) } function ZVe(e, t) { return t ? [eje(e)] : tje(e) } function eje(e) { let t = g_(e) ? Qi([D.createModifier(93)], uT(e)) : void 0; switch (e.kind) { case 259: return D.updateFunctionDeclaration(e, t, e.asteriskToken, e.name, e.typeParameters, e.parameters, e.type, e.body); case 260: let r = HS(e) ? Uy(e) : void 0; return D.updateClassDeclaration(e, Qi(r, t), e.name, e.typeParameters, e.heritageClauses, e.members); case 240: return D.updateVariableStatement(e, t, e.declarationList); case 264: return D.updateModuleDeclaration(e, t, e.name, e.body); case 263: return D.updateEnumDeclaration(e, t, e.name, e.members); case 262: return D.updateTypeAliasDeclaration(e, t, e.name, e.typeParameters, e.type); case 261: return D.updateInterfaceDeclaration(e, t, e.name, e.typeParameters, e.heritageClauses, e.members); case 268: return D.updateImportEqualsDeclaration(e, t, e.isTypeOnly, e.name, e.moduleReference); case 241: return L.fail(); default: return L.assertNever(e, `Unexpected declaration kind ${e.kind}`) } } function tje(e) { return [e, ...kee(e).map(O1e)] } function kee(e) { switch (e.kind) { case 259: case 260: return [e.name.text]; case 240: return Zi(e.declarationList.declarations, t => Re(t.name) ? t.name.text : void 0); case 264: case 263: case 262: case 261: case 268: return Je; case 241: return L.fail("Can't export an ExpressionStatement"); default: return L.assertNever(e, `Unexpected decl kind ${e.kind}`) } } function O1e(e) { return D.createExpressionStatement(D.createBinaryExpression(D.createPropertyAccessExpression(D.createIdentifier("exports"), D.createIdentifier(e)), 63, D.createIdentifier(e))) } var Ck, hG, gG, Ik, nje = gt({ "src/services/refactors/moveToNewFile.ts"() { "use strict"; L_e(), Fr(), Qm(), Ck = "Move to a new file", hG = uo(_.Move_to_a_new_file), gG = { name: Ck, description: hG, kind: "refactor.move.newFile" }, Vh(Ck, { kinds: [gG.kind], getAvailableActions: function (t) { let r = g1e(t); return t.preferences.allowTextChangesInNewFiles && r ? [{ name: Ck, description: hG, actions: [gG] }] : t.preferences.provideRefactorNotApplicableReason ? [{ name: Ck, description: hG, actions: [{ ...gG, notApplicableReason: uo(_.Selection_is_not_a_valid_statement_or_statements) }] }] : Je }, getEditsForAction: function (t, r) { L.assert(r === Ck, "Wrong refactor invoked"); let i = L.checkDefined(g1e(t)); return { edits: nr.ChangeTracker.with(t, s => kVe(t.file, t.program, i, s, t.host, t.preferences)), renameFilename: void 0, renameLocation: void 0 } } }), Ik = class { constructor() { this.map = new Map } add(e) { this.map.set(String($a(e)), e) } has(e) { return this.map.has(String($a(e))) } delete(e) { this.map.delete(String($a(e))) } forEach(e) { this.map.forEach(e) } forEachEntry(e) { return Ld(this.map, e) } clone() { let e = new Ik; return Mw(this.map, e.map), e } size() { return this.map.size } } } }); function rje(e) { let { file: t, startPosition: r, program: i } = e; return P1e(t, r, i) ? [{ name: yG, description: Dee, actions: [wee] }] : Je } function ije(e) {
-                let { file: t, startPosition: r, program: i } = e, o = P1e(t, r, i); if (!o) return; let s = i.getTypeChecker(), l = o[o.length - 1], f = l; switch (l.kind) { case 170: { f = D.updateMethodSignature(l, l.modifiers, l.name, l.questionToken, l.typeParameters, g(o), l.type); break } case 171: { f = D.updateMethodDeclaration(l, l.modifiers, l.asteriskToken, l.name, l.questionToken, l.typeParameters, g(o), l.type, l.body); break } case 176: { f = D.updateCallSignature(l, l.typeParameters, g(o), l.type); break } case 173: { f = D.updateConstructorDeclaration(l, l.modifiers, g(o), l.body); break } case 177: { f = D.updateConstructSignature(l, l.typeParameters, g(o), l.type); break } case 259: { f = D.updateFunctionDeclaration(l, l.modifiers, l.asteriskToken, l.name, l.typeParameters, g(o), l.type, l.body); break } default: return L.failBadSyntaxKind(l, "Unhandled signature kind in overload list conversion refactoring") }if (f === l) return; return { renameFilename: void 0, renameLocation: void 0, edits: nr.ChangeTracker.with(e, S => { S.replaceNodeRange(t, o[0], o[o.length - 1], f) }) }; function g(S) { let x = S[S.length - 1]; return Ds(x) && x.body && (S = S.slice(0, S.length - 1)), D.createNodeArray([D.createParameterDeclaration(void 0, D.createToken(25), "args", void 0, D.createUnionTypeNode(on(S, m)))]) } function m(S) { let x = on(S.parameters, v); return Jn(D.createTupleTypeNode(x), vt(x, A => !!Fn(l2(A))) ? 0 : 1) } function v(S) {
-                    L.assert(Re(S.name)); let x = it(D.createNamedTupleMember(S.dotDotDotToken, S.name, S.questionToken, S.type || D.createKeywordTypeNode(131)), S), A = S.symbol && S.symbol.getDocumentationComment(s); if (A) {
-                        let w = Mye(A); w.length && W0(x, [{
-                            text: `*
+            })(name => super[name], (name, value) => super[name] = value);`}}});function Vf(e){return e.kind===8}function a3(e){return e.kind===9}function yo(e){return e.kind===10}function CS(e){return e.kind===11}function Cz(e){return e.kind===13}function IS(e){return e.kind===14}function f2(e){return e.kind===15}function Aue(e){return e.kind===16}function Iz(e){return e.kind===17}function o3(e){return e.kind===25}function Cue(e){return e.kind===27}function Lz(e){return e.kind===39}function kz(e){return e.kind===40}function cO(e){return e.kind===41}function lO(e){return e.kind===53}function ev(e){return e.kind===57}function Iue(e){return e.kind===58}function s3(e){return e.kind===28}function Lue(e){return e.kind===38}function Re(e){return e.kind===79}function pi(e){return e.kind===80}function c3(e){return e.kind===93}function kue(e){return e.kind===88}function mL(e){return e.kind===132}function Due(e){return e.kind===129}function Dz(e){return e.kind===133}function wue(e){return e.kind===146}function LS(e){return e.kind===124}function Rue(e){return e.kind===126}function Oue(e){return e.kind===161}function Nue(e){return e.kind===127}function hL(e){return e.kind===106}function gL(e){return e.kind===100}function Pue(e){return e.kind===82}function Yu(e){return e.kind===163}function ts(e){return e.kind===164}function _c(e){return e.kind===165}function ha(e){return e.kind===166}function du(e){return e.kind===167}function $d(e){return e.kind===168}function Na(e){return e.kind===169}function zm(e){return e.kind===170}function Nc(e){return e.kind===171}function oc(e){return e.kind===172}function Ec(e){return e.kind===173}function p_(e){return e.kind===174}function Sf(e){return e.kind===175}function _2(e){return e.kind===176}function uO(e){return e.kind===177}function kS(e){return e.kind===178}function l3(e){return e.kind===179}function m_(e){return e.kind===180}function Jm(e){return e.kind===181}function yL(e){return e.kind===182}function vL(e){return e.kind===183}function Rd(e){return e.kind===184}function wz(e){return e.kind===185}function p2(e){return e.kind===186}function bL(e){return e.kind===199}function Rz(e){return e.kind===187}function Oz(e){return e.kind===188}function DS(e){return e.kind===189}function dO(e){return e.kind===190}function m2(e){return e.kind===191}function h2(e){return e.kind===192}function wS(e){return e.kind===193}function u3(e){return e.kind===194}function RS(e){return e.kind===195}function OS(e){return e.kind===196}function EL(e){return e.kind===197}function mb(e){return e.kind===198}function Mh(e){return e.kind===202}function Mue(e){return e.kind===201}function jRe(e){return e.kind===200}function cm(e){return e.kind===203}function g2(e){return e.kind===204}function Wo(e){return e.kind===205}function fu(e){return e.kind===206}function rs(e){return e.kind===207}function br(e){return e.kind===208}function Vs(e){return e.kind===209}function Pa(e){return e.kind===210}function z0(e){return e.kind===211}function PT(e){return e.kind===212}function Fue(e){return e.kind===213}function ud(e){return e.kind===214}function ms(e){return e.kind===215}function xs(e){return e.kind===216}function Gue(e){return e.kind===217}function y2(e){return e.kind===218}function NS(e){return e.kind===219}function v2(e){return e.kind===220}function tv(e){return e.kind===221}function Nz(e){return e.kind===222}function ar(e){return e.kind===223}function b2(e){return e.kind===224}function d3(e){return e.kind===225}function f3(e){return e.kind===226}function Km(e){return e.kind===227}function _u(e){return e.kind===228}function ol(e){return e.kind===229}function Vg(e){return e.kind===230}function fO(e){return e.kind===231}function HRe(e){return e.kind===235}function PS(e){return e.kind===232}function TL(e){return e.kind===233}function WRe(e){return e.kind===234}function _3(e){return e.kind===356}function SL(e){return e.kind===357}function xL(e){return e.kind===236}function Bue(e){return e.kind===237}function Va(e){return e.kind===238}function Bc(e){return e.kind===240}function Pz(e){return e.kind===239}function Ol(e){return e.kind===241}function MT(e){return e.kind===242}function zRe(e){return e.kind===243}function JRe(e){return e.kind===244}function FT(e){return e.kind===245}function Mz(e){return e.kind===246}function _O(e){return e.kind===247}function KRe(e){return e.kind===248}function qRe(e){return e.kind===249}function j_(e){return e.kind===250}function Uue(e){return e.kind===251}function pO(e){return e.kind===252}function J0(e){return e.kind===253}function Fz(e){return e.kind===254}function mO(e){return e.kind===255}function XRe(e){return e.kind===256}function wi(e){return e.kind===257}function pu(e){return e.kind===258}function Jc(e){return e.kind===259}function sl(e){return e.kind===260}function ku(e){return e.kind===261}function Ep(e){return e.kind===262}function hb(e){return e.kind===263}function Tc(e){return e.kind===264}function Tp(e){return e.kind===265}function hO(e){return e.kind===266}function gO(e){return e.kind===267}function Nl(e){return e.kind===268}function gl(e){return e.kind===269}function lm(e){return e.kind===270}function Vue(e){return e.kind===298}function p3(e){return e.kind===296}function jue(e){return e.kind===297}function nv(e){return e.kind===271}function qm(e){return e.kind===277}function jg(e){return e.kind===272}function $u(e){return e.kind===273}function pc(e){return e.kind===274}function Il(e){return e.kind===275}function h_(e){return e.kind===276}function Mu(e){return e.kind===278}function YRe(e){return e.kind===279}function Gz(e){return e.kind===355}function MS(e){return e.kind===360}function $Re(e){return e.kind===358}function QRe(e){return e.kind===359}function um(e){return e.kind===280}function Hg(e){return e.kind===281}function FS(e){return e.kind===282}function Xm(e){return e.kind===283}function GS(e){return e.kind===284}function BS(e){return e.kind===285}function US(e){return e.kind===286}function Hue(e){return e.kind===287}function Sp(e){return e.kind===288}function K0(e){return e.kind===289}function GT(e){return e.kind===290}function AL(e){return e.kind===291}function CL(e){return e.kind===292}function yO(e){return e.kind===293}function dd(e){return e.kind===294}function E2(e){return e.kind===295}function yl(e){return e.kind===299}function xf(e){return e.kind===300}function VS(e){return e.kind===301}function q0(e){return e.kind===302}function Wue(e){return e.kind===304}function Li(e){return e.kind===308}function Bz(e){return e.kind===309}function BT(e){return e.kind===310}function UT(e){return e.kind===312}function IL(e){return e.kind===313}function gb(e){return e.kind===314}function zue(e){return e.kind===327}function Jue(e){return e.kind===328}function ZRe(e){return e.kind===329}function Kue(e){return e.kind===315}function que(e){return e.kind===316}function T2(e){return e.kind===317}function m3(e){return e.kind===318}function Uz(e){return e.kind===319}function S2(e){return e.kind===320}function h3(e){return e.kind===321}function eOe(e){return e.kind===322}function dm(e){return e.kind===323}function LL(e){return e.kind===325}function X0(e){return e.kind===326}function x2(e){return e.kind===331}function tOe(e){return e.kind===333}function Xue(e){return e.kind===335}function Vz(e){return e.kind===341}function jz(e){return e.kind===336}function Hz(e){return e.kind===337}function Wz(e){return e.kind===338}function zz(e){return e.kind===339}function g3(e){return e.kind===340}function kL(e){return e.kind===342}function Jz(e){return e.kind===334}function nOe(e){return e.kind===350}function vO(e){return e.kind===343}function xp(e){return e.kind===344}function y3(e){return e.kind===345}function Yue(e){return e.kind===346}function DL(e){return e.kind===347}function H_(e){return e.kind===348}function Kz(e){return e.kind===349}function rOe(e){return e.kind===330}function $ue(e){return e.kind===351}function qz(e){return e.kind===332}function v3(e){return e.kind===353}function iOe(e){return e.kind===352}function A2(e){return e.kind===354}var aOe=gt({"src/compiler/factory/nodeTests.ts"(){"use strict";fa()}});function bO(e){return e.createExportDeclaration(void 0,!1,e.createNamedExports([]),void 0)}function VT(e,t,r,i){if(ts(r))return it(e.createElementAccessExpression(t,r.expression),i);{let o=it(Ah(r)?e.createPropertyAccessExpression(t,r):e.createElementAccessExpression(t,r),r);return bp(o,128),o}}function Xz(e,t){let r=fm.createIdentifier(e||"React");return go(r,ea(t)),r}function Yz(e,t,r){if(Yu(t)){let i=Yz(e,t.left,r),o=e.createIdentifier(vr(t.right));return o.escapedText=t.right.escapedText,e.createPropertyAccessExpression(i,o)}else return Xz(vr(t),r)}function $z(e,t,r,i){return t?Yz(e,t,i):e.createPropertyAccessExpression(Xz(r,i),"createElement")}function oOe(e,t,r,i){return t?Yz(e,t,i):e.createPropertyAccessExpression(Xz(r,i),"Fragment")}function Que(e,t,r,i,o,s){let l=[r];if(i&&l.push(i),o&&o.length>0)if(i||l.push(e.createNull()),o.length>1)for(let f of o)mu(f),l.push(f);else l.push(o[0]);return it(e.createCallExpression(t,void 0,l),s)}function Zue(e,t,r,i,o,s,l){let d=[oOe(e,r,i,s),e.createNull()];if(o&&o.length>0)if(o.length>1)for(let g of o)mu(g),d.push(g);else d.push(o[0]);return it(e.createCallExpression($z(e,t,i,s),void 0,d),l)}function Qz(e,t,r){if(pu(t)){let i=Vo(t.declarations),o=e.updateVariableDeclaration(i,i.name,void 0,void 0,r);return it(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[o])),t)}else{let i=it(e.createAssignment(t,r),t);return it(e.createExpressionStatement(i),t)}}function sOe(e,t,r){return Va(t)?e.updateBlock(t,it(e.createNodeArray([r,...t.statements]),t.statements)):e.createBlock(e.createNodeArray([t,r]),!0)}function EO(e,t){if(Yu(t)){let r=EO(e,t.left),i=go(it(e.cloneNode(t.right),t.right),t.right.parent);return it(e.createPropertyAccessExpression(r,i),t)}else return go(it(e.cloneNode(t),t),t.parent)}function Zz(e,t){return Re(t)?e.createStringLiteralFromNode(t):ts(t)?go(it(e.cloneNode(t.expression),t.expression),t.expression.parent):go(it(e.cloneNode(t),t),t.parent)}function cOe(e,t,r,i,o){let{firstAccessor:s,getAccessor:l,setAccessor:f}=kT(t,r);if(r===s)return it(e.createObjectDefinePropertyCall(i,Zz(e,r.name),e.createPropertyDescriptor({enumerable:e.createFalse(),configurable:!0,get:l&&it(Ir(e.createFunctionExpression(uT(l),void 0,void 0,void 0,l.parameters,void 0,l.body),l),l),set:f&&it(Ir(e.createFunctionExpression(uT(f),void 0,void 0,void 0,f.parameters,void 0,f.body),f),f)},!o)),s)}function lOe(e,t,r){return Ir(it(e.createAssignment(VT(e,r,t.name,t.name),t.initializer),t),t)}function uOe(e,t,r){return Ir(it(e.createAssignment(VT(e,r,t.name,t.name),e.cloneNode(t.name)),t),t)}function dOe(e,t,r){return Ir(it(e.createAssignment(VT(e,r,t.name,t.name),Ir(it(e.createFunctionExpression(uT(t),t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t)}function ede(e,t,r,i){switch(r.name&&pi(r.name)&&L.failBadSyntaxKind(r.name,"Private identifiers are not allowed in object literals."),r.kind){case 174:case 175:return cOe(e,t.properties,r,i,!!t.multiLine);case 299:return lOe(e,r,i);case 300:return uOe(e,r,i);case 171:return dOe(e,r,i)}}function b3(e,t,r,i,o){let s=t.operator;L.assert(s===45||s===46,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");let l=e.createTempVariable(i);r=e.createAssignment(l,r),it(r,t.operand);let f=tv(t)?e.createPrefixUnaryExpression(s,l):e.createPostfixUnaryExpression(l,s);return it(f,t),o&&(f=e.createAssignment(o,f),it(f,t)),r=e.createComma(r,f),it(r,t),Nz(t)&&(r=e.createComma(r,l),it(r,t)),r}function eJ(e){return(Ya(e)&65536)!==0}function rv(e){return(Ya(e)&32768)!==0}function E3(e){return(Ya(e)&16384)!==0}function tde(e){return yo(e.expression)&&e.expression.text==="use strict"}function tJ(e){for(let t of e)if(B_(t)){if(tde(t))return t}else break}function nde(e){let t=Sl(e);return t!==void 0&&B_(t)&&tde(t)}function TO(e){return e.kind===223&&e.operatorToken.kind===27}function wL(e){return TO(e)||SL(e)}function RL(e){return ud(e)&&Yn(e)&&!!x0(e)}function T3(e){let t=Vy(e);return L.assertIsDefined(t),t}function S3(e,t=15){switch(e.kind){case 214:return t&16&&RL(e)?!1:(t&1)!==0;case 213:case 231:case 230:case 235:return(t&2)!==0;case 232:return(t&4)!==0;case 356:return(t&8)!==0}return!1}function ql(e,t=15){for(;S3(e,t);)e=e.expression;return e}function rde(e,t=15){let r=e.parent;for(;S3(r,t);)r=r.parent,L.assert(r);return r}function fOe(e){return ql(e,6)}function mu(e){return vz(e,!0)}function SO(e){let t=ec(e,Li),r=t&&t.emitNode;return r&&r.externalHelpersModuleName}function ide(e){let t=ec(e,Li),r=t&&t.emitNode;return!!r&&(!!r.externalHelpersModuleName||!!r.externalHelpers)}function nJ(e,t,r,i,o,s,l){if(i.importHelpers&&aS(r,i)){let f,d=Rl(i);if(d>=5&&d<=99||r.impliedNodeFormat===99){let g=O4(r);if(g){let m=[];for(let v of g)if(!v.scoped){let S=v.importName;S&&Of(m,S)}if(vt(m)){m.sort(su),f=e.createNamedImports(on(m,x=>g6(r,x)?e.createImportSpecifier(!1,void 0,e.createIdentifier(x)):e.createImportSpecifier(!1,e.createIdentifier(x),t.getUnscopedHelperName(x))));let v=ec(r,Li),S=Lu(v);S.externalHelpers=!0}}}else{let g=ade(e,r,i,o,s||l);g&&(f=e.createNamespaceImport(g))}if(f){let g=e.createImportDeclaration(void 0,e.createImportClause(!1,void 0,f),e.createStringLiteral(_b),void 0);return SS(g,2),g}}}function ade(e,t,r,i,o){if(r.importHelpers&&aS(t,r)){let s=SO(t);if(s)return s;let l=Rl(r),f=(i||f_(r)&&o)&&l!==4&&(l<5||t.impliedNodeFormat===1);if(!f){let d=O4(t);if(d){for(let g of d)if(!g.scoped){f=!0;break}}}if(f){let d=ec(t,Li),g=Lu(d);return g.externalHelpersModuleName||(g.externalHelpersModuleName=e.createUniqueName(_b))}}}function C2(e,t,r){let i=VA(t);if(i&&!lS(t)&&!v6(t)){let o=i.name;return tc(o)?o:e.createIdentifier(k0(r,o)||vr(o))}if(t.kind===269&&t.importClause||t.kind===275&&t.moduleSpecifier)return e.getGeneratedNameForNode(t)}function jS(e,t,r,i,o,s){let l=UA(t);if(l&&yo(l))return pOe(t,i,e,o,s)||_Oe(e,l,r)||e.cloneNode(l)}function _Oe(e,t,r){let i=r.renamedDependencies&&r.renamedDependencies.get(t.text);return i?e.createStringLiteral(i):void 0}function xO(e,t,r,i){if(t){if(t.moduleName)return e.createStringLiteral(t.moduleName);if(!t.isDeclarationFile&&Ss(i))return e.createStringLiteral(YH(r,t.fileName))}}function pOe(e,t,r,i,o){return xO(r,i.getExternalModuleFileFromDeclaration(e),t,o)}function AO(e){if(Lw(e))return e.initializer;if(yl(e)){let t=e.initializer;return Iu(t,!0)?t.right:void 0}if(xf(e))return e.objectAssignmentInitializer;if(Iu(e,!0))return e.right;if(Km(e))return AO(e.expression)}function iv(e){if(Lw(e))return e.name;if(Og(e)){switch(e.kind){case 299:return iv(e.initializer);case 300:return e.name;case 301:return iv(e.expression)}return}return Iu(e,!0)?iv(e.left):Km(e)?iv(e.expression):e}function x3(e){switch(e.kind){case 166:case 205:return e.dotDotDotToken;case 227:case 301:return e}}function rJ(e){let t=A3(e);return L.assert(!!t||VS(e),"Invalid property name for binding element."),t}function A3(e){switch(e.kind){case 205:if(e.propertyName){let r=e.propertyName;return pi(r)?L.failBadSyntaxKind(r):ts(r)&&ode(r.expression)?r.expression:r}break;case 299:if(e.name){let r=e.name;return pi(r)?L.failBadSyntaxKind(r):ts(r)&&ode(r.expression)?r.expression:r}break;case 301:return e.name&&pi(e.name)?L.failBadSyntaxKind(e.name):e.name}let t=iv(e);if(t&&Ys(t))return t}function ode(e){let t=e.kind;return t===10||t===8}function I2(e){switch(e.kind){case 203:case 204:case 206:return e.elements;case 207:return e.properties}}function iJ(e){if(e){let t=e;for(;;){if(Re(t)||!t.body)return Re(t)?t:t.name;t=t.body}}}function mOe(e){let t=e.kind;return t===173||t===175}function sde(e){let t=e.kind;return t===173||t===174||t===175}function aJ(e){let t=e.kind;return t===299||t===300||t===259||t===173||t===178||t===172||t===279||t===240||t===261||t===262||t===263||t===264||t===268||t===269||t===267||t===275||t===274}function cde(e){let t=e.kind;return t===172||t===299||t===300||t===279||t===267}function lde(e){return ev(e)||lO(e)}function ude(e){return Re(e)||u3(e)}function dde(e){return wue(e)||Lz(e)||kz(e)}function fde(e){return ev(e)||Lz(e)||kz(e)}function _de(e){return Re(e)||yo(e)}function hOe(e){let t=e.kind;return t===104||t===110||t===95||fT(e)||tv(e)}function gOe(e){return e===42}function yOe(e){return e===41||e===43||e===44}function vOe(e){return gOe(e)||yOe(e)}function bOe(e){return e===39||e===40}function EOe(e){return bOe(e)||vOe(e)}function TOe(e){return e===47||e===48||e===49}function SOe(e){return TOe(e)||EOe(e)}function xOe(e){return e===29||e===32||e===31||e===33||e===102||e===101}function AOe(e){return xOe(e)||SOe(e)}function COe(e){return e===34||e===36||e===35||e===37}function IOe(e){return COe(e)||AOe(e)}function LOe(e){return e===50||e===51||e===52}function kOe(e){return LOe(e)||IOe(e)}function DOe(e){return e===55||e===56}function wOe(e){return DOe(e)||kOe(e)}function ROe(e){return e===60||wOe(e)||Mg(e)}function OOe(e){return ROe(e)||e===27}function pde(e){return OOe(e.kind)}function C3(e,t,r,i,o,s){let l=new bde(e,t,r,i,o,s);return f;function f(d,g){let m={value:void 0},v=[k3.enter],S=[d],x=[void 0],A=0;for(;v[A]!==k3.done;)A=v[A](l,A,v,S,x,m,g);return L.assertEqual(A,0),m.value}}function mde(e){return e===93||e===88}function oJ(e){let t=e.kind;return mde(t)}function NOe(e){let t=e.kind;return Rg(t)&&!mde(t)}function hde(e,t){if(t!==void 0)return t.length===0?t:it(e.createNodeArray([],t.hasTrailingComma),t)}function I3(e){var t;let r=e.emitNode.autoGenerate;if(r.flags&4){let i=r.id,o=e,s=o.original;for(;s;){o=s;let l=(t=o.emitNode)==null?void 0:t.autoGenerate;if(Ah(o)&&(l===void 0||l.flags&4&&l.id!==i))break;s=o.original}return o}return e}function L2(e,t){return typeof e=="object"?jT(!1,e.prefix,e.node,e.suffix,t):typeof e=="string"?e.length>0&&e.charCodeAt(0)===35?e.slice(1):e:""}function POe(e,t){return typeof e=="string"?e:MOe(e,L.checkDefined(t))}function MOe(e,t){return tS(e)?t(e).slice(1):tc(e)?t(e):pi(e)?e.escapedText.slice(1):vr(e)}function jT(e,t,r,i,o){return t=L2(t,o),i=L2(i,o),r=POe(r,o),`${e?"#":""}${t}${r}${i}`}function sJ(e,t,r,i){return e.updatePropertyDeclaration(t,r,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage"),void 0,void 0,i)}function gde(e,t,r,i){return e.createGetAccessorDeclaration(r,i,[],void 0,e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")))]))}function yde(e,t,r,i){return e.createSetAccessorDeclaration(r,i,[e.createParameterDeclaration(void 0,void 0,"value")],e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")),e.createIdentifier("value")))]))}function L3(e){let t=e.expression;for(;;){if(t=ql(t),SL(t)){t=To(t.elements);continue}if(TO(t)){t=t.right;continue}if(Iu(t,!0)&&tc(t.left))return t;break}}function FOe(e){return ud(e)&&ws(e)&&!e.emitNode}function CO(e,t){if(FOe(e))CO(e.expression,t);else if(TO(e))CO(e.left,t),CO(e.right,t);else if(SL(e))for(let r of e.elements)CO(r,t);else t.push(e)}function vde(e){let t=[];return CO(e,t),t}function IO(e){if(e.transformFlags&65536)return!0;if(e.transformFlags&128)for(let t of I2(e)){let r=iv(t);if(r&&vI(r)&&(r.transformFlags&65536||r.transformFlags&128&&IO(r)))return!0}return!1}var k3,bde,GOe=gt({"src/compiler/factory/utilities.ts"(){"use strict";fa(),(e=>{function t(m,v,S,x,A,w,C){let P=v>0?A[v-1]:void 0;return L.assertEqual(S[v],t),A[v]=m.onEnter(x[v],P,C),S[v]=f(m,t),v}e.enter=t;function r(m,v,S,x,A,w,C){L.assertEqual(S[v],r),L.assertIsDefined(m.onLeft),S[v]=f(m,r);let P=m.onLeft(x[v].left,A[v],x[v]);return P?(g(v,x,P),d(v,S,x,A,P)):v}e.left=r;function i(m,v,S,x,A,w,C){return L.assertEqual(S[v],i),L.assertIsDefined(m.onOperator),S[v]=f(m,i),m.onOperator(x[v].operatorToken,A[v],x[v]),v}e.operator=i;function o(m,v,S,x,A,w,C){L.assertEqual(S[v],o),L.assertIsDefined(m.onRight),S[v]=f(m,o);let P=m.onRight(x[v].right,A[v],x[v]);return P?(g(v,x,P),d(v,S,x,A,P)):v}e.right=o;function s(m,v,S,x,A,w,C){L.assertEqual(S[v],s),S[v]=f(m,s);let P=m.onExit(x[v],A[v]);if(v>0){if(v--,m.foldState){let F=S[v]===s?"right":"left";A[v]=m.foldState(A[v],P,F)}}else w.value=P;return v}e.exit=s;function l(m,v,S,x,A,w,C){return L.assertEqual(S[v],l),v}e.done=l;function f(m,v){switch(v){case t:if(m.onLeft)return r;case r:if(m.onOperator)return i;case i:if(m.onRight)return o;case o:return s;case s:return l;case l:return l;default:L.fail("Invalid state")}}e.nextState=f;function d(m,v,S,x,A){return m++,v[m]=t,S[m]=A,x[m]=void 0,m}function g(m,v,S){if(L.shouldAssert(2))for(;m>=0;)L.assert(v[m]!==S,"Circular traversal detected."),m--}})(k3||(k3={})),bde=class{constructor(e,t,r,i,o,s){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=i,this.onExit=o,this.foldState=s}}}});function it(e,t){return t?om(e,t.pos,t.end):e}function g_(e){let t=e.kind;return t===165||t===166||t===168||t===169||t===170||t===171||t===173||t===174||t===175||t===178||t===182||t===215||t===216||t===228||t===240||t===259||t===260||t===261||t===262||t===263||t===264||t===268||t===269||t===274||t===275}function HS(e){let t=e.kind;return t===166||t===169||t===171||t===174||t===175||t===228||t===260}var BOe=gt({"src/compiler/factory/utilitiesPublic.ts"(){"use strict";fa()}});function Mt(e,t){return t&&e(t)}function fi(e,t,r){if(r){if(t)return t(r);for(let i of r){let o=e(i);if(o)return o}}}function cJ(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===42&&e.charCodeAt(t+3)!==47}function LO(e){return mn(e.statements,UOe)||VOe(e)}function UOe(e){return g_(e)&&jOe(e,93)||Nl(e)&&um(e.moduleReference)||gl(e)||pc(e)||Il(e)?e:void 0}function VOe(e){return e.flags&4194304?Ede(e):void 0}function Ede(e){return HOe(e)?e:pa(e,Ede)}function jOe(e,t){return vt(e.modifiers,r=>r.kind===t)}function HOe(e){return TL(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function Tde(e,t,r){return fi(t,r,e.typeParameters)||fi(t,r,e.parameters)||Mt(t,e.type)}function Sde(e,t,r){return fi(t,r,e.types)}function xde(e,t,r){return Mt(t,e.type)}function Ade(e,t,r){return fi(t,r,e.elements)}function Cde(e,t,r){return Mt(t,e.expression)||Mt(t,e.questionDotToken)||fi(t,r,e.typeArguments)||fi(t,r,e.arguments)}function Ide(e,t,r){return fi(t,r,e.statements)}function Lde(e,t,r){return Mt(t,e.label)}function kde(e,t,r){return fi(t,r,e.modifiers)||Mt(t,e.name)||fi(t,r,e.typeParameters)||fi(t,r,e.heritageClauses)||fi(t,r,e.members)}function Dde(e,t,r){return fi(t,r,e.elements)}function wde(e,t,r){return Mt(t,e.propertyName)||Mt(t,e.name)}function Rde(e,t,r){return Mt(t,e.tagName)||fi(t,r,e.typeArguments)||Mt(t,e.attributes)}function k2(e,t,r){return Mt(t,e.type)}function Ode(e,t,r){return Mt(t,e.tagName)||(e.isNameFirst?Mt(t,e.name)||Mt(t,e.typeExpression):Mt(t,e.typeExpression)||Mt(t,e.name))||(typeof e.comment=="string"?void 0:fi(t,r,e.comment))}function D2(e,t,r){return Mt(t,e.tagName)||Mt(t,e.typeExpression)||(typeof e.comment=="string"?void 0:fi(t,r,e.comment))}function lJ(e,t,r){return Mt(t,e.name)}function WS(e,t,r){return Mt(t,e.tagName)||(typeof e.comment=="string"?void 0:fi(t,r,e.comment))}function WOe(e,t,r){return Mt(t,e.expression)}function pa(e,t,r){if(e===void 0||e.kind<=162)return;let i=Hde[e.kind];return i===void 0?void 0:i(e,t,r)}function kO(e,t,r){let i=Nde(e),o=[];for(;o.length<i.length;)o.push(e);for(;i.length!==0;){let s=i.pop(),l=o.pop();if(ba(s)){if(r){let f=r(s,l);if(f){if(f==="skip")continue;return f}}for(let f=s.length-1;f>=0;--f)i.push(s[f]),o.push(l)}else{let f=t(s,l);if(f){if(f==="skip")continue;return f}if(s.kind>=163)for(let d of Nde(s))i.push(d),o.push(s)}}}function Nde(e){let t=[];return pa(e,r,r),t;function r(i){t.unshift(i)}}function Pde(e){e.externalModuleIndicator=LO(e)}function DO(e,t,r,i=!1,o){var s,l;(s=ai)==null||s.push(ai.Phase.Parse,"createSourceFile",{path:e},!0),Fs("beforeParse");let f;fp.logStartParseSourceFile(e);let{languageVersion:d,setExternalModuleIndicator:g,impliedNodeFormat:m}=typeof r=="object"?r:{languageVersion:r};if(d===100)f=av.parseSourceFile(e,t,d,void 0,i,6,Ba);else{let v=m===void 0?g:S=>(S.impliedNodeFormat=m,(g||Pde)(S));f=av.parseSourceFile(e,t,d,void 0,i,o,v)}return fp.logStopParseSourceFile(),Fs("afterParse"),hf("Parse","beforeParse","afterParse"),(l=ai)==null||l.pop(),f}function zS(e,t){return av.parseIsolatedEntityName(e,t)}function wO(e,t){return av.parseJsonText(e,t)}function Lc(e){return e.externalModuleIndicator!==void 0}function uJ(e,t,r,i=!1){let o=D3.updateSourceFile(e,t,r,i);return o.flags|=e.flags&6291456,o}function Mde(e,t,r){let i=av.JSDocParser.parseIsolatedJSDocComment(e,t,r);return i&&i.jsDoc&&av.fixupParentReferences(i.jsDoc),i}function zOe(e,t,r){return av.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)}function Fu(e){return $c(e,I4)||Gc(e,".ts")&&jl(Hl(e),".d.")}function JOe(e,t,r,i){if(e){if(e==="import")return 99;if(e==="require")return 1;i(t,r-t,_.resolution_mode_should_be_either_require_or_import)}}function dJ(e,t){let r=[];for(let i of Nm(t,0)||Je){let o=t.substring(i.pos,i.end);qOe(r,i,o)}e.pragmas=new Map;for(let i of r){if(e.pragmas.has(i.name)){let o=e.pragmas.get(i.name);o instanceof Array?o.push(i.args):e.pragmas.set(i.name,[o,i.args]);continue}e.pragmas.set(i.name,i.args)}}function fJ(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((r,i)=>{switch(i){case"reference":{let o=e.referencedFiles,s=e.typeReferenceDirectives,l=e.libReferenceDirectives;mn(qD(r),f=>{let{types:d,lib:g,path:m,["resolution-mode"]:v}=f.arguments;if(f.arguments["no-default-lib"])e.hasNoDefaultLib=!0;else if(d){let S=JOe(v,d.pos,d.end,t);s.push({pos:d.pos,end:d.end,fileName:d.value,...S?{resolutionMode:S}:{}})}else g?l.push({pos:g.pos,end:g.end,fileName:g.value}):m?o.push({pos:m.pos,end:m.end,fileName:m.value}):t(f.range.pos,f.range.end-f.range.pos,_.Invalid_reference_directive_syntax)});break}case"amd-dependency":{e.amdDependencies=on(qD(r),o=>({name:o.arguments.name,path:o.arguments.path}));break}case"amd-module":{if(r instanceof Array)for(let o of r)e.moduleName&&t(o.range.pos,o.range.end-o.range.pos,_.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=o.arguments.name;else e.moduleName=r.arguments.name;break}case"ts-nocheck":case"ts-check":{mn(qD(r),o=>{(!e.checkJsDirective||o.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:i==="ts-check",end:o.range.end,pos:o.range.pos})});break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:L.fail("Unhandled pragma kind")}})}function KOe(e){if(w3.has(e))return w3.get(e);let t=new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return w3.set(e,t),t}function qOe(e,t,r){let i=t.kind===2&&Wde.exec(r);if(i){let s=i[1].toLowerCase(),l=iw[s];if(!l||!(l.kind&1))return;if(l.args){let f={};for(let d of l.args){let m=KOe(d.name).exec(r);if(!m&&!d.optional)return;if(m){let v=m[2]||m[3];if(d.captureSpan){let S=t.pos+m.index+m[1].length+1;f[d.name]={value:v,pos:S,end:S+v.length}}else f[d.name]=v}}e.push({name:s,args:{arguments:f,range:t}})}else e.push({name:s,args:{arguments:{},range:t}});return}let o=t.kind===2&&zde.exec(r);if(o)return Fde(e,t,2,o);if(t.kind===3){let s=/@(\S+)(\s+.*)?$/gim,l;for(;l=s.exec(r);)Fde(e,t,4,l)}}function Fde(e,t,r,i){if(!i)return;let o=i[1].toLowerCase(),s=iw[o];if(!s||!(s.kind&r))return;let l=i[2],f=XOe(s,l);f!=="fail"&&e.push({name:o,args:{arguments:f,range:t}})}function XOe(e,t){if(!t)return{};if(!e.args)return{};let r=v0(t).split(/\s+/),i={};for(let o=0;o<e.args.length;o++){let s=e.args[o];if(!r[o]&&!s.optional)return"fail";if(s.captureSpan)return L.fail("Capture spans not yet implemented for non-xml pragmas");i[s.name]=r[o]}return i}function yb(e,t){return e.kind!==t.kind?!1:e.kind===79?e.escapedText===t.escapedText:e.kind===108?!0:e.name.escapedText===t.name.escapedText&&yb(e.expression,t.expression)}var Gde,Bde,Ude,Vde,jde,_J,fm,Hde,av,D3,w3,Wde,zde,YOe=gt({"src/compiler/parser.ts"(){"use strict";fa(),fa(),E0(),_J={createBaseSourceFileNode:e=>new(jde||(jde=ml.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(Ude||(Ude=ml.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(Vde||(Vde=ml.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(Bde||(Bde=ml.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(Gde||(Gde=ml.getNodeConstructor()))(e,-1,-1)},fm=YR(1,_J),Hde={163:function(t,r,i){return Mt(r,t.left)||Mt(r,t.right)},165:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.constraint)||Mt(r,t.default)||Mt(r,t.expression)},300:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.exclamationToken)||Mt(r,t.equalsToken)||Mt(r,t.objectAssignmentInitializer)},301:function(t,r,i){return Mt(r,t.expression)},166:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.dotDotDotToken)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.type)||Mt(r,t.initializer)},169:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.exclamationToken)||Mt(r,t.type)||Mt(r,t.initializer)},168:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.type)||Mt(r,t.initializer)},299:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.exclamationToken)||Mt(r,t.initializer)},257:function(t,r,i){return Mt(r,t.name)||Mt(r,t.exclamationToken)||Mt(r,t.type)||Mt(r,t.initializer)},205:function(t,r,i){return Mt(r,t.dotDotDotToken)||Mt(r,t.propertyName)||Mt(r,t.name)||Mt(r,t.initializer)},178:function(t,r,i){return fi(r,i,t.modifiers)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)},182:function(t,r,i){return fi(r,i,t.modifiers)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)},181:function(t,r,i){return fi(r,i,t.modifiers)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)},176:Tde,177:Tde,171:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.asteriskToken)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.exclamationToken)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.body)},170:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.questionToken)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)},173:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.body)},174:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.body)},175:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.body)},259:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.asteriskToken)||Mt(r,t.name)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.body)},215:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.asteriskToken)||Mt(r,t.name)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.body)},216:function(t,r,i){return fi(r,i,t.modifiers)||fi(r,i,t.typeParameters)||fi(r,i,t.parameters)||Mt(r,t.type)||Mt(r,t.equalsGreaterThanToken)||Mt(r,t.body)},172:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.body)},180:function(t,r,i){return Mt(r,t.typeName)||fi(r,i,t.typeArguments)},179:function(t,r,i){return Mt(r,t.assertsModifier)||Mt(r,t.parameterName)||Mt(r,t.type)},183:function(t,r,i){return Mt(r,t.exprName)||fi(r,i,t.typeArguments)},184:function(t,r,i){return fi(r,i,t.members)},185:function(t,r,i){return Mt(r,t.elementType)},186:function(t,r,i){return fi(r,i,t.elements)},189:Sde,190:Sde,191:function(t,r,i){return Mt(r,t.checkType)||Mt(r,t.extendsType)||Mt(r,t.trueType)||Mt(r,t.falseType)},192:function(t,r,i){return Mt(r,t.typeParameter)},202:function(t,r,i){return Mt(r,t.argument)||Mt(r,t.assertions)||Mt(r,t.qualifier)||fi(r,i,t.typeArguments)},298:function(t,r,i){return Mt(r,t.assertClause)},193:xde,195:xde,196:function(t,r,i){return Mt(r,t.objectType)||Mt(r,t.indexType)},197:function(t,r,i){return Mt(r,t.readonlyToken)||Mt(r,t.typeParameter)||Mt(r,t.nameType)||Mt(r,t.questionToken)||Mt(r,t.type)||fi(r,i,t.members)},198:function(t,r,i){return Mt(r,t.literal)},199:function(t,r,i){return Mt(r,t.dotDotDotToken)||Mt(r,t.name)||Mt(r,t.questionToken)||Mt(r,t.type)},203:Ade,204:Ade,206:function(t,r,i){return fi(r,i,t.elements)},207:function(t,r,i){return fi(r,i,t.properties)},208:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.questionDotToken)||Mt(r,t.name)},209:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.questionDotToken)||Mt(r,t.argumentExpression)},210:Cde,211:Cde,212:function(t,r,i){return Mt(r,t.tag)||Mt(r,t.questionDotToken)||fi(r,i,t.typeArguments)||Mt(r,t.template)},213:function(t,r,i){return Mt(r,t.type)||Mt(r,t.expression)},214:function(t,r,i){return Mt(r,t.expression)},217:function(t,r,i){return Mt(r,t.expression)},218:function(t,r,i){return Mt(r,t.expression)},219:function(t,r,i){return Mt(r,t.expression)},221:function(t,r,i){return Mt(r,t.operand)},226:function(t,r,i){return Mt(r,t.asteriskToken)||Mt(r,t.expression)},220:function(t,r,i){return Mt(r,t.expression)},222:function(t,r,i){return Mt(r,t.operand)},223:function(t,r,i){return Mt(r,t.left)||Mt(r,t.operatorToken)||Mt(r,t.right)},231:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.type)},232:function(t,r,i){return Mt(r,t.expression)},235:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.type)},233:function(t,r,i){return Mt(r,t.name)},224:function(t,r,i){return Mt(r,t.condition)||Mt(r,t.questionToken)||Mt(r,t.whenTrue)||Mt(r,t.colonToken)||Mt(r,t.whenFalse)},227:function(t,r,i){return Mt(r,t.expression)},238:Ide,265:Ide,308:function(t,r,i){return fi(r,i,t.statements)||Mt(r,t.endOfFileToken)},240:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.declarationList)},258:function(t,r,i){return fi(r,i,t.declarations)},241:function(t,r,i){return Mt(r,t.expression)},242:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.thenStatement)||Mt(r,t.elseStatement)},243:function(t,r,i){return Mt(r,t.statement)||Mt(r,t.expression)},244:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.statement)},245:function(t,r,i){return Mt(r,t.initializer)||Mt(r,t.condition)||Mt(r,t.incrementor)||Mt(r,t.statement)},246:function(t,r,i){return Mt(r,t.initializer)||Mt(r,t.expression)||Mt(r,t.statement)},247:function(t,r,i){return Mt(r,t.awaitModifier)||Mt(r,t.initializer)||Mt(r,t.expression)||Mt(r,t.statement)},248:Lde,249:Lde,250:function(t,r,i){return Mt(r,t.expression)},251:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.statement)},252:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.caseBlock)},266:function(t,r,i){return fi(r,i,t.clauses)},292:function(t,r,i){return Mt(r,t.expression)||fi(r,i,t.statements)},293:function(t,r,i){return fi(r,i,t.statements)},253:function(t,r,i){return Mt(r,t.label)||Mt(r,t.statement)},254:function(t,r,i){return Mt(r,t.expression)},255:function(t,r,i){return Mt(r,t.tryBlock)||Mt(r,t.catchClause)||Mt(r,t.finallyBlock)},295:function(t,r,i){return Mt(r,t.variableDeclaration)||Mt(r,t.block)},167:function(t,r,i){return Mt(r,t.expression)},260:kde,228:kde,261:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||fi(r,i,t.typeParameters)||fi(r,i,t.heritageClauses)||fi(r,i,t.members)},262:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||fi(r,i,t.typeParameters)||Mt(r,t.type)},263:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||fi(r,i,t.members)},302:function(t,r,i){return Mt(r,t.name)||Mt(r,t.initializer)},264:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.body)},268:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)||Mt(r,t.moduleReference)},269:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.importClause)||Mt(r,t.moduleSpecifier)||Mt(r,t.assertClause)},270:function(t,r,i){return Mt(r,t.name)||Mt(r,t.namedBindings)},296:function(t,r,i){return fi(r,i,t.elements)},297:function(t,r,i){return Mt(r,t.name)||Mt(r,t.value)},267:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.name)},271:function(t,r,i){return Mt(r,t.name)},277:function(t,r,i){return Mt(r,t.name)},272:Dde,276:Dde,275:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.exportClause)||Mt(r,t.moduleSpecifier)||Mt(r,t.assertClause)},273:wde,278:wde,274:function(t,r,i){return fi(r,i,t.modifiers)||Mt(r,t.expression)},225:function(t,r,i){return Mt(r,t.head)||fi(r,i,t.templateSpans)},236:function(t,r,i){return Mt(r,t.expression)||Mt(r,t.literal)},200:function(t,r,i){return Mt(r,t.head)||fi(r,i,t.templateSpans)},201:function(t,r,i){return Mt(r,t.type)||Mt(r,t.literal)},164:function(t,r,i){return Mt(r,t.expression)},294:function(t,r,i){return fi(r,i,t.types)},230:function(t,r,i){return Mt(r,t.expression)||fi(r,i,t.typeArguments)},280:function(t,r,i){return Mt(r,t.expression)},279:function(t,r,i){return fi(r,i,t.modifiers)},357:function(t,r,i){return fi(r,i,t.elements)},281:function(t,r,i){return Mt(r,t.openingElement)||fi(r,i,t.children)||Mt(r,t.closingElement)},285:function(t,r,i){return Mt(r,t.openingFragment)||fi(r,i,t.children)||Mt(r,t.closingFragment)},282:Rde,283:Rde,289:function(t,r,i){return fi(r,i,t.properties)},288:function(t,r,i){return Mt(r,t.name)||Mt(r,t.initializer)},290:function(t,r,i){return Mt(r,t.expression)},291:function(t,r,i){return Mt(r,t.dotDotDotToken)||Mt(r,t.expression)},284:function(t,r,i){return Mt(r,t.tagName)},187:k2,188:k2,312:k2,318:k2,317:k2,319:k2,321:k2,320:function(t,r,i){return fi(r,i,t.parameters)||Mt(r,t.type)},323:function(t,r,i){return(typeof t.comment=="string"?void 0:fi(r,i,t.comment))||fi(r,i,t.tags)},350:function(t,r,i){return Mt(r,t.tagName)||Mt(r,t.name)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment))},313:function(t,r,i){return Mt(r,t.name)},314:function(t,r,i){return Mt(r,t.left)||Mt(r,t.right)},344:Ode,351:Ode,333:function(t,r,i){return Mt(r,t.tagName)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment))},332:function(t,r,i){return Mt(r,t.tagName)||Mt(r,t.class)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment))},331:function(t,r,i){return Mt(r,t.tagName)||Mt(r,t.class)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment))},348:function(t,r,i){return Mt(r,t.tagName)||Mt(r,t.constraint)||fi(r,i,t.typeParameters)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment))},349:function(t,r,i){return Mt(r,t.tagName)||(t.typeExpression&&t.typeExpression.kind===312?Mt(r,t.typeExpression)||Mt(r,t.fullName)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment)):Mt(r,t.fullName)||Mt(r,t.typeExpression)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment)))},341:function(t,r,i){return Mt(r,t.tagName)||Mt(r,t.fullName)||Mt(r,t.typeExpression)||(typeof t.comment=="string"?void 0:fi(r,i,t.comment))},345:D2,347:D2,346:D2,343:D2,353:D2,352:D2,342:D2,326:function(t,r,i){return mn(t.typeParameters,r)||mn(t.parameters,r)||Mt(r,t.type)},327:lJ,328:lJ,329:lJ,325:function(t,r,i){return mn(t.jsDocPropertyTags,r)},330:WS,335:WS,336:WS,337:WS,338:WS,339:WS,334:WS,340:WS,356:WOe},(e=>{var t=kg(99,!0),r=20480,i,o,s,l,f;function d(V){return We++,V}var g={createBaseSourceFileNode:V=>d(new f(V,0,0)),createBaseIdentifierNode:V=>d(new s(V,0,0)),createBasePrivateIdentifierNode:V=>d(new l(V,0,0)),createBaseTokenNode:V=>d(new o(V,0,0)),createBaseNode:V=>d(new i(V,0,0))},m=YR(11,g),{createNodeArray:v,createNumericLiteral:S,createStringLiteral:x,createLiteralLikeNode:A,createIdentifier:w,createPrivateIdentifier:C,createToken:P,createArrayLiteralExpression:F,createObjectLiteralExpression:B,createPropertyAccessExpression:q,createPropertyAccessChain:W,createElementAccessExpression:Y,createElementAccessChain:R,createCallExpression:ie,createCallChain:$,createNewExpression:fe,createParenthesizedExpression:Z,createBlock:U,createVariableStatement:re,createExpressionStatement:le,createIfStatement:_e,createWhileStatement:ge,createForStatement:X,createForOfStatement:Ve,createVariableDeclaration:we,createVariableDeclarationList:ke}=m,Pe,Ce,Ie,Be,Ne,Le,Ye,_t,ct,Rt,We,qe,zt,Qt,tn,kn,_n=!0,Gt=!1;function $n(V,me,Ue,ut,Lt=!1,dn,Er){var ii;if(dn=h4(V,dn),dn===6){let di=Ni(V,me,Ue,ut,Lt);return PO(di,(ii=di.statements[0])==null?void 0:ii.expression,di.parseDiagnostics,!1,void 0,void 0),di.referencedFiles=Je,di.typeReferenceDirectives=Je,di.libReferenceDirectives=Je,di.amdDependencies=Je,di.hasNoDefaultLib=!1,di.pragmas=b8,di}Pi(V,me,Ue,ut,dn);let li=pt(Ue,Lt,dn,Er||Pde);return gr(),li}e.parseSourceFile=$n;function ui(V,me){Pi("",V,me,void 0,1),Qe();let Ue=Io(!0),ut=j()===1&&!Ye.length;return gr(),ut?Ue:void 0}e.parseIsolatedEntityName=ui;function Ni(V,me,Ue=2,ut,Lt=!1){Pi(V,me,Ue,ut,6),Ce=kn,Qe();let dn=z(),Er,ii;if(j()===1)Er=As([],dn,dn),ii=Pc();else{let ma;for(;j()!==1;){let Oo;switch(j()){case 22:Oo=ay();break;case 110:case 95:case 104:Oo=Pc();break;case 40:Nr(()=>Qe()===8&&Qe()!==58)?Oo=T1():Oo=wc();break;case 8:case 10:if(Nr(()=>Qe()!==58)){Oo=oa();break}default:Oo=wc();break}ma&&ba(ma)?ma.push(Oo):ma?ma=[ma,Oo]:(ma=Oo,j()!==1&&rt(_.Unexpected_token))}let is=ba(ma)?jt(F(ma),dn):L.checkDefined(ma),ao=le(is);jt(ao,dn),Er=As([ao],dn),ii=Ll(1,_.Unexpected_token)}let li=hi(V,2,6,!1,Er,ii,Ce,Ba);Lt&&Kn(li),li.nodeCount=We,li.identifierCount=zt,li.identifiers=qe,li.parseDiagnostics=vS(Ye,li),_t&&(li.jsDocDiagnostics=vS(_t,li));let di=li;return gr(),di}e.parseJsonText=Ni;function Pi(V,me,Ue,ut,Lt){switch(i=ml.getNodeConstructor(),o=ml.getTokenConstructor(),s=ml.getIdentifierConstructor(),l=ml.getPrivateIdentifierConstructor(),f=ml.getSourceFileConstructor(),Pe=So(V),Ie=me,Be=Ue,ct=ut,Ne=Lt,Le=RR(Lt),Ye=[],Qt=0,qe=new Map,zt=0,We=0,Ce=0,_n=!0,Ne){case 1:case 2:kn=262144;break;case 6:kn=67371008;break;default:kn=0;break}Gt=!1,t.setText(Ie),t.setOnError(pe),t.setScriptTarget(Be),t.setLanguageVariant(Le)}function gr(){t.clearCommentDirectives(),t.setText(""),t.setOnError(void 0),Ie=void 0,Be=void 0,ct=void 0,Ne=void 0,Le=void 0,Ce=0,Ye=void 0,_t=void 0,Qt=0,qe=void 0,tn=void 0,_n=!0}function pt(V,me,Ue,ut){let Lt=Fu(Pe);Lt&&(kn|=16777216),Ce=kn,Qe();let dn=ee(0,of);L.assert(j()===1);let Er=pn(Pc()),ii=hi(Pe,V,Ue,Lt,dn,Er,Ce,ut);return dJ(ii,Ie),fJ(ii,li),ii.commentDirectives=t.getCommentDirectives(),ii.nodeCount=We,ii.identifierCount=zt,ii.identifiers=qe,ii.parseDiagnostics=vS(Ye,ii),_t&&(ii.jsDocDiagnostics=vS(_t,ii)),me&&Kn(ii),ii;function li(di,ma,is){Ye.push(t2(Pe,di,ma,is))}}function nn(V,me){return me?pn(V):V}let Dt=!1;function pn(V){L.assert(!V.jsDoc);let me=Zi(EH(V,Ie),Ue=>Mx.parseJSDocComment(V,Ue.pos,Ue.end-Ue.pos));return me.length&&(V.jsDoc=me),Dt&&(Dt=!1,V.flags|=268435456),V}function An(V){let me=ct,Ue=D3.createSyntaxCursor(V);ct={currentNode:ma};let ut=[],Lt=Ye;Ye=[];let dn=0,Er=li(V.statements,0);for(;Er!==-1;){let is=V.statements[dn],ao=V.statements[Er];si(ut,V.statements,dn,Er),dn=di(V.statements,Er);let Oo=Yc(Lt,np=>np.start>=is.pos),id=Oo>=0?Yc(Lt,np=>np.start>=ao.pos,Oo):-1;Oo>=0&&si(Ye,Lt,Oo,id>=0?id:void 0),xi(()=>{let np=kn;for(kn|=32768,t.setTextPos(ao.pos),Qe();j()!==1;){let Op=t.getStartPos(),cg=Ze(0,of);if(ut.push(cg),Op===t.getStartPos()&&Qe(),dn>=0){let Yf=V.statements[dn];if(cg.end===Yf.pos)break;cg.end>Yf.pos&&(dn=di(V.statements,dn+1))}}kn=np},2),Er=dn>=0?li(V.statements,dn):-1}if(dn>=0){let is=V.statements[dn];si(ut,V.statements,dn);let ao=Yc(Lt,Oo=>Oo.start>=is.pos);ao>=0&&si(Ye,Lt,ao)}return ct=me,m.updateSourceFile(V,it(v(ut),V.statements));function ii(is){return!(is.flags&32768)&&!!(is.transformFlags&67108864)}function li(is,ao){for(let Oo=ao;Oo<is.length;Oo++)if(ii(is[Oo]))return Oo;return-1}function di(is,ao){for(let Oo=ao;Oo<is.length;Oo++)if(!ii(is[Oo]))return Oo;return-1}function ma(is){let ao=Ue.currentNode(is);return _n&&ao&&ii(ao)&&(ao.intersectsChange=!0),ao}}function Kn(V){Zy(V,!0)}e.fixupParentReferences=Kn;function hi(V,me,Ue,ut,Lt,dn,Er,ii){let li=m.createSourceFile(Lt,dn,Er);return oL(li,0,Ie.length),di(li),!ut&&Lc(li)&&li.transformFlags&67108864&&(li=An(li),di(li)),li;function di(ma){ma.text=Ie,ma.bindDiagnostics=[],ma.bindSuggestionDiagnostics=void 0,ma.languageVersion=me,ma.fileName=V,ma.languageVariant=RR(Ue),ma.isDeclarationFile=ut,ma.scriptKind=Ue,ii(ma),ma.setExternalModuleIndicator=ii}}function ri(V,me){V?kn|=me:kn&=~me}function vn(V){ri(V,4096)}function Ht(V){ri(V,8192)}function En(V){ri(V,16384)}function dr(V){ri(V,32768)}function Cr(V,me){let Ue=V&kn;if(Ue){ri(!1,Ue);let ut=me();return ri(!0,Ue),ut}return me()}function Se(V,me){let Ue=V&~kn;if(Ue){ri(!0,Ue);let ut=me();return ri(!1,Ue),ut}return me()}function at(V){return Cr(4096,V)}function Tt(V){return Se(4096,V)}function ve(V){return Cr(65536,V)}function nt(V){return Se(65536,V)}function ce(V){return Se(8192,V)}function Q(V){return Se(16384,V)}function ue(V){return Se(32768,V)}function G(V){return Cr(32768,V)}function Oe(V){return Se(40960,V)}function je(V){return Cr(40960,V)}function Ge(V){return(kn&V)!==0}function kt(){return Ge(8192)}function Kt(){return Ge(4096)}function ln(){return Ge(65536)}function ir(){return Ge(16384)}function ae(){return Ge(32768)}function rt(V,me){return Ke(t.getTokenPos(),t.getTextPos(),V,me)}function Ot(V,me,Ue,ut){let Lt=Os(Ye),dn;return(!Lt||V!==Lt.start)&&(dn=t2(Pe,V,me,Ue,ut),Ye.push(dn)),Gt=!0,dn}function Ke(V,me,Ue,ut){return Ot(V,me-V,Ue,ut)}function oe(V,me,Ue){Ke(V.pos,V.end,me,Ue)}function pe(V,me){Ot(t.getTextPos(),me,V)}function z(){return t.getStartPos()}function Te(){return t.hasPrecedingJSDocComment()}function j(){return Rt}function yt(){return Rt=t.scan()}function lt(V){return Qe(),V()}function Qe(){return Xu(Rt)&&(t.hasUnicodeEscape()||t.hasExtendedUnicodeEscape())&&Ke(t.getTokenPos(),t.getTextPos(),_.Keywords_cannot_contain_escape_characters),yt()}function Vt(){return Rt=t.scanJsDocToken()}function Hn(){return Rt=t.reScanGreaterToken()}function jr(){return Rt=t.reScanSlashToken()}function ei(V){return Rt=t.reScanTemplateToken(V)}function Kr(){return Rt=t.reScanTemplateHeadOrNoSubstitutionTemplate()}function Si(){return Rt=t.reScanLessThanToken()}function Ja(){return Rt=t.reScanHashToken()}function Za(){return Rt=t.scanJsxIdentifier()}function Fa(){return Rt=t.scanJsxToken()}function Hi(){return Rt=t.scanJsxAttributeValue()}function xi(V,me){let Ue=Rt,ut=Ye.length,Lt=Gt,dn=kn,Er=me!==0?t.lookAhead(V):t.tryScan(V);return L.assert(dn===kn),(!Er||me!==0)&&(Rt=Ue,me!==2&&(Ye.length=ut),Gt=Lt),Er}function Nr(V){return xi(V,1)}function Fo(V){return xi(V,0)}function Qr(){return j()===79?!0:j()>116}function Wi(){return j()===79?!0:j()===125&&kt()||j()===133&&ae()?!1:j()>116}function gn(V,me,Ue=!0){return j()===V?(Ue&&Qe(),!0):(me?rt(me):rt(_._0_expected,Xa(V)),!1)}let Ki=Object.keys(Ew).filter(V=>V.length>2);function kc(V){var me;if(PT(V)){Ke(xo(Ie,V.template.pos),V.template.end,_.Module_declaration_names_may_only_use_or_quoted_strings);return}let Ue=Re(V)?vr(V):void 0;if(!Ue||!i_(Ue,Be)){rt(_._0_expected,Xa(26));return}let ut=xo(Ie,V.pos);switch(Ue){case"const":case"let":case"var":Ke(ut,V.end,_.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Ps(_.Interface_name_cannot_be_0,_.Interface_must_be_given_a_name,18);return;case"is":Ke(ut,t.getTextPos(),_.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Ps(_.Namespace_name_cannot_be_0,_.Namespace_must_be_given_a_name,18);return;case"type":Ps(_.Type_alias_name_cannot_be_0,_.Type_alias_must_be_given_a_name,63);return}let Lt=(me=$C(Ue,Ki,dn=>dn))!=null?me:mc(Ue);if(Lt){Ke(ut,V.end,_.Unknown_keyword_or_identifier_Did_you_mean_0,Lt);return}j()!==0&&Ke(ut,V.end,_.Unexpected_keyword_or_identifier)}function Ps(V,me,Ue){j()===Ue?rt(me):rt(V,t.getTokenValue())}function mc(V){for(let me of Ki)if(V.length>me.length+2&&na(V,me))return`${me} ${V.slice(me.length)}`}function xc(V,me,Ue){if(j()===59&&!t.hasPrecedingLineBreak()){rt(_.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(j()===20){rt(_.Cannot_start_a_function_call_in_a_type_annotation),Qe();return}if(me&&!ss()){Ue?rt(_._0_expected,Xa(26)):rt(_.Expected_for_property_initializer);return}if(!qs()){if(Ue){rt(_._0_expected,Xa(26));return}kc(V)}}function hc(V){return j()===V?(Vt(),!0):(rt(_._0_expected,Xa(V)),!1)}function ro(V,me,Ue,ut){if(j()===me){Qe();return}let Lt=rt(_._0_expected,Xa(me));Ue&&Lt&&Ao(Lt,t2(Pe,ut,1,_.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Xa(V),Xa(me)))}function aa(V){return j()===V?(Qe(),!0):!1}function Co(V){if(j()===V)return Pc()}function gc(V){if(j()===V)return bl()}function Ll(V,me,Ue){return Co(V)||yc(V,!1,me||_._0_expected,Ue||Xa(V))}function md(V){return gc(V)||yc(V,!1,_._0_expected,Xa(V))}function Pc(){let V=z(),me=j();return Qe(),jt(P(me),V)}function bl(){let V=z(),me=j();return Vt(),jt(P(me),V)}function ss(){return j()===26?!0:j()===19||j()===1||t.hasPrecedingLineBreak()}function qs(){return ss()?(j()===26&&Qe(),!0):!1}function Rs(){return qs()||gn(26)}function As(V,me,Ue,ut){let Lt=v(V,ut);return om(Lt,me,Ue??t.getStartPos()),Lt}function jt(V,me,Ue){return om(V,me,Ue??t.getStartPos()),kn&&(V.flags|=kn),Gt&&(Gt=!1,V.flags|=131072),V}function yc(V,me,Ue,ut){me?Ot(t.getStartPos(),0,Ue,ut):Ue&&rt(Ue,ut);let Lt=z(),dn=V===79?w("",void 0):Hy(V)?m.createTemplateLiteralLikeNode(V,"","",void 0):V===8?S("",void 0):V===10?x("",void 0):V===279?m.createMissingDeclaration():P(V);return jt(dn,Lt)}function Ql(V){let me=qe.get(V);return me===void 0&&qe.set(V,me=V),me}function yu(V,me,Ue){if(V){zt++;let ii=z(),li=j(),di=Ql(t.getTokenValue()),ma=t.hasExtendedUnicodeEscape();return yt(),jt(w(di,li,ma),ii)}if(j()===80)return rt(Ue||_.Private_identifiers_are_not_allowed_outside_class_bodies),yu(!0);if(j()===0&&t.tryScan(()=>t.reScanInvalidIdentifier()===79))return yu(!0);zt++;let ut=j()===1,Lt=t.isReservedWord(),dn=t.getTokenText(),Er=Lt?_.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:_.Identifier_expected;return yc(79,ut,me||Er,dn)}function se(V){return yu(Qr(),void 0,V)}function ht(V,me){return yu(Wi(),V,me)}function wt(V){return yu(Su(j()),V)}function K(){return Su(j())||j()===10||j()===8}function Xe(){return Su(j())||j()===10}function ft(V){if(j()===10||j()===8){let me=oa();return me.text=Ql(me.text),me}return V&&j()===22?pr():j()===80?yr():wt()}function Yt(){return ft(!0)}function pr(){let V=z();gn(22);let me=at(Ml);return gn(23),jt(m.createComputedPropertyName(me),V)}function yr(){let V=z(),me=C(Ql(t.getTokenValue()));return Qe(),jt(me,V)}function ta(V){return j()===V&&Fo(Ka)}function Go(){return Qe(),t.hasPrecedingLineBreak()?!1:Uc()}function Ka(){switch(j()){case 85:return Qe()===92;case 93:return Qe(),j()===88?Nr(Gu):j()===154?Nr(ka):vo();case 88:return Gu();case 124:case 137:case 151:return Qe(),Uc();default:return Go()}}function vo(){return j()===59||j()!==41&&j()!==128&&j()!==18&&Uc()}function ka(){return Qe(),vo()}function Hs(){return Rg(j())&&Fo(Ka)}function Uc(){return j()===22||j()===18||j()===41||j()===25||K()}function Gu(){return Qe(),j()===84||j()===98||j()===118||j()===59||j()===126&&Nr(Em)||j()===132&&Nr(Jb)}function $o(V,me){if(At(V))return!0;switch(V){case 0:case 1:case 3:return!(j()===26&&me)&&C1();case 2:return j()===82||j()===88;case 4:return Nr(dE);case 5:return Nr(rd)||j()===26&&!me;case 6:return j()===22||K();case 12:switch(j()){case 22:case 41:case 25:case 24:return!0;default:return K()}case 18:return K();case 9:return j()===22||j()===25||K();case 24:return Xe();case 7:return j()===18?Nr(jo):me?Wi()&&!nf():Pb()&&!nf();case 8:return IE();case 10:return j()===27||j()===25||IE();case 19:return j()===101||j()===85||Wi();case 15:switch(j()){case 27:case 24:return!0}case 11:return j()===25||C_();case 16:return Cb(!1);case 17:return Cb(!0);case 20:case 21:return j()===27||qh();case 22:return lh();case 23:return Su(j());case 13:return Su(j())||j()===18;case 14:return!0}return L.fail("Non-exhaustive case in 'isListElement'.")}function jo(){if(L.assert(j()===18),Qe()===19){let V=Qe();return V===27||V===18||V===94||V===117}return!0}function Ws(){return Qe(),Wi()}function hd(){return Qe(),Su(j())}function vc(){return Qe(),moe(j())}function nf(){return j()===117||j()===94?Nr(ye):!1}function ye(){return Qe(),C_()}function Et(){return Qe(),qh()}function bn(V){if(j()===1)return!0;switch(V){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return j()===19;case 3:return j()===19||j()===82||j()===88;case 7:return j()===18||j()===94||j()===117;case 8:return Ri();case 19:return j()===31||j()===20||j()===18||j()===94||j()===117;case 11:return j()===21||j()===26;case 15:case 21:case 10:return j()===23;case 17:case 16:case 18:return j()===21||j()===23;case 20:return j()!==27;case 22:return j()===18||j()===19;case 13:return j()===31||j()===43;case 14:return j()===29&&Nr(Wa);default:return!1}}function Ri(){return!!(ss()||b1(j())||j()===38)}function io(){for(let V=0;V<25;V++)if(Qt&1<<V&&($o(V,!0)||bn(V)))return!0;return!1}function ee(V,me){let Ue=Qt;Qt|=1<<V;let ut=[],Lt=z();for(;!bn(V);){if($o(V,!1)){ut.push(Ze(V,me));continue}if(Bu(V))break}return Qt=Ue,As(ut,Lt)}function Ze(V,me){let Ue=At(V);return Ue?xt(Ue):me()}function At(V,me){var Ue;if(!ct||!qt(V)||Gt)return;let ut=ct.currentNode(me??t.getStartPos());if(!(rc(ut)||ut.intersectsChange||Gw(ut)||(ut.flags&50720768)!==kn)&&Ln(ut,V))return lR(ut)&&((Ue=ut.jsDoc)!=null&&Ue.jsDocCache)&&(ut.jsDoc.jsDocCache=void 0),ut}function xt(V){return t.setTextPos(V.end),Qe(),V}function qt(V){switch(V){case 5:case 2:case 0:case 1:case 3:case 6:case 4:case 8:case 17:case 16:return!0}return!1}function Ln(V,me){switch(me){case 5:return mr(V);case 2:return Vr(V);case 0:case 1:case 3:return gi(V);case 6:return Ea(V);case 4:return bo(V);case 8:return Qo(V);case 17:case 16:return Cs(V)}return!1}function mr(V){if(V)switch(V.kind){case 173:case 178:case 174:case 175:case 169:case 237:return!0;case 171:let me=V;return!(me.name.kind===79&&me.name.escapedText==="constructor")}return!1}function Vr(V){if(V)switch(V.kind){case 292:case 293:return!0}return!1}function gi(V){if(V)switch(V.kind){case 259:case 240:case 238:case 242:case 241:case 254:case 250:case 252:case 249:case 248:case 246:case 247:case 245:case 244:case 251:case 239:case 255:case 253:case 243:case 256:case 269:case 268:case 275:case 274:case 264:case 260:case 261:case 263:case 262:return!0}return!1}function Ea(V){return V.kind===302}function bo(V){if(V)switch(V.kind){case 177:case 170:case 178:case 168:case 176:return!0}return!1}function Qo(V){return V.kind!==257?!1:V.initializer===void 0}function Cs(V){return V.kind!==166?!1:V.initializer===void 0}function Bu(V){return Pd(V),io()?!0:(Qe(),!1)}function Pd(V){switch(V){case 0:return j()===88?rt(_._0_expected,Xa(93)):rt(_.Declaration_or_statement_expected);case 1:return rt(_.Declaration_or_statement_expected);case 2:return rt(_.case_or_default_expected);case 3:return rt(_.Statement_expected);case 18:case 4:return rt(_.Property_or_signature_expected);case 5:return rt(_.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);case 6:return rt(_.Enum_member_expected);case 7:return rt(_.Expression_expected);case 8:return Xu(j())?rt(_._0_is_not_allowed_as_a_variable_declaration_name,Xa(j())):rt(_.Variable_declaration_expected);case 9:return rt(_.Property_destructuring_pattern_expected);case 10:return rt(_.Array_element_destructuring_pattern_expected);case 11:return rt(_.Argument_expression_expected);case 12:return rt(_.Property_assignment_expected);case 15:return rt(_.Expression_or_comma_expected);case 17:return rt(_.Parameter_declaration_expected);case 16:return Xu(j())?rt(_._0_is_not_allowed_as_a_parameter_name,Xa(j())):rt(_.Parameter_declaration_expected);case 19:return rt(_.Type_parameter_declaration_expected);case 20:return rt(_.Type_argument_expected);case 21:return rt(_.Type_expected);case 22:return rt(_.Unexpected_token_expected);case 23:return rt(_.Identifier_expected);case 13:return rt(_.Identifier_expected);case 14:return rt(_.Identifier_expected);case 24:return rt(_.Identifier_or_string_literal_expected);case 25:return L.fail("ParsingContext.Count used as a context");default:L.assertNever(V)}}function Dc(V,me,Ue){let ut=Qt;Qt|=1<<V;let Lt=[],dn=z(),Er=-1;for(;;){if($o(V,!1)){let ii=t.getStartPos(),li=Ze(V,me);if(!li){Qt=ut;return}if(Lt.push(li),Er=t.getTokenPos(),aa(27))continue;if(Er=-1,bn(V))break;gn(27,gd(V)),Ue&&j()===26&&!t.hasPrecedingLineBreak()&&Qe(),ii===t.getStartPos()&&Qe();continue}if(bn(V)||Bu(V))break}return Qt=ut,As(Lt,dn,void 0,Er>=0)}function gd(V){return V===6?_.An_enum_member_name_must_be_followed_by_a_or:void 0}function Zl(){let V=As([],z());return V.isMissingList=!0,V}function Md(V){return!!V.isMissingList}function zf(V,me,Ue,ut){if(gn(Ue)){let Lt=Dc(V,me);return gn(ut),Lt}return Zl()}function Io(V,me){let Ue=z(),ut=V?wt(me):ht(me);for(;aa(24)&&j()!==29;)ut=jt(m.createQualifiedName(ut,Fd(V,!1)),Ue);return ut}function Jf(V,me){return jt(m.createQualifiedName(V,me),V.pos)}function Fd(V,me){if(t.hasPrecedingLineBreak()&&Su(j())&&Nr(Vu))return yc(79,!0,_.Identifier_expected);if(j()===80){let Ue=yr();return me?Ue:yc(79,!0,_.Identifier_expected)}return V?wt():ht()}function E_(V){let me=z(),Ue=[],ut;do ut=la(V),Ue.push(ut);while(ut.literal.kind===16);return As(Ue,me)}function Y_(V){let me=z();return jt(m.createTemplateExpression(be(V),E_(V)),me)}function M(){let V=z();return jt(m.createTemplateLiteralType(be(!1),He()),V)}function He(){let V=z(),me=[],Ue;do Ue=Nt(),me.push(Ue);while(Ue.literal.kind===16);return As(me,V)}function Nt(){let V=z();return jt(m.createTemplateLiteralTypeSpan(Kc(),Pn(!1)),V)}function Pn(V){return j()===19?(ei(V),De()):Ll(17,_._0_expected,Xa(19))}function la(V){let me=z();return jt(m.createTemplateSpan(at(Ml),Pn(V)),me)}function oa(){return St(j())}function be(V){V&&Kr();let me=St(j());return L.assert(me.kind===15,"Template head has wrong token kind"),me}function De(){let V=St(j());return L.assert(V.kind===16||V.kind===17,"Template fragment has wrong token kind"),V}function mt(V){let me=V===14||V===17,Ue=t.getTokenText();return Ue.substring(1,Ue.length-(t.isUnterminated()?0:me?1:2))}function St(V){let me=z(),Ue=Hy(V)?m.createTemplateLiteralLikeNode(V,t.getTokenValue(),mt(V),t.getTokenFlags()&2048):V===8?S(t.getTokenValue(),t.getNumericLiteralFlags()):V===10?x(t.getTokenValue(),void 0,t.hasExtendedUnicodeEscape()):gI(V)?A(V,t.getTokenValue()):L.fail();return t.hasExtendedUnicodeEscape()&&(Ue.hasExtendedUnicodeEscape=!0),t.isUnterminated()&&(Ue.isUnterminated=!0),Qe(),jt(Ue,me)}function Zt(){return Io(!0,_.Type_expected)}function rn(){if(!t.hasPrecedingLineBreak()&&Si()===29)return zf(20,Kc,29,31)}function sn(){let V=z();return jt(m.createTypeReferenceNode(Zt(),rn()),V)}function Dn(V){switch(V.kind){case 180:return rc(V.typeName);case 181:case 182:{let{parameters:me,type:Ue}=V;return Md(me)||Dn(Ue)}case 193:return Dn(V.type);default:return!1}}function kr(V){return Qe(),jt(m.createTypePredicateNode(void 0,V,Kc()),V.pos)}function ki(){let V=z();return Qe(),jt(m.createThisTypeNode(),V)}function Vn(){let V=z();return Qe(),jt(m.createJSDocAllType(),V)}function $t(){let V=z();return Qe(),jt(m.createJSDocNonNullableType(wb(),!1),V)}function Xn(){let V=z();return Qe(),j()===27||j()===19||j()===21||j()===31||j()===63||j()===51?jt(m.createJSDocUnknownType(),V):jt(m.createJSDocNullableType(Kc(),!1),V)}function ra(){let V=z(),me=Te();if(Nr(qr)){Qe();let Ue=$_(36),ut=S_(58,!1);return nn(jt(m.createJSDocFunctionType(Ue,ut),V),me)}return jt(m.createTypeReferenceNode(wt(),void 0),V)}function Is(){let V=z(),me;return(j()===108||j()===103)&&(me=wt(),gn(58)),jt(m.createParameterDeclaration(void 0,void 0,me,void 0,Mc(),void 0),V)}function Mc(){t.setInJSDocType(!0);let V=z();if(aa(142)){let ut=m.createJSDocNamepathType(void 0);e:for(;;)switch(j()){case 19:case 1:case 27:case 5:break e;default:Vt()}return t.setInJSDocType(!1),jt(ut,V)}let me=aa(25),Ue=wo();return t.setInJSDocType(!1),me&&(Ue=jt(m.createJSDocVariadicType(Ue),V)),j()===63?(Qe(),jt(m.createJSDocOptionalType(Ue),V)):Ue}function mm(){let V=z();gn(112);let me=Io(!0),Ue=t.hasPrecedingLineBreak()?void 0:bd();return jt(m.createTypeQueryNode(me,Ue),V)}function Hh(){let V=z(),me=ls(!1,!0),Ue=ht(),ut,Lt;aa(94)&&(qh()||!C_()?ut=Kc():Lt=Q_());let dn=aa(63)?Kc():void 0,Er=m.createTypeParameterDeclaration(me,Ue,ut,dn);return Er.expression=Lt,jt(Er,V)}function T_(){if(j()===29)return zf(19,Hh,29,31)}function Cb(V){return j()===25||IE()||Rg(j())||j()===59||qh(!V)}function mv(V){let me=cy(_.Private_identifiers_cannot_be_used_as_parameters);return Fw(me)===0&&!vt(V)&&Rg(j())&&Qe(),me}function gx(){return Qr()||j()===22||j()===18}function _1(V){return Wh(V)}function yx(V){return Wh(V,!1)}function Wh(V,me=!0){let Ue=z(),ut=Te(),Lt=V?ue(()=>ls(!0)):G(()=>ls(!0));if(j()===108){let li=m.createParameterDeclaration(Lt,void 0,yu(!0),void 0,th(),void 0),di=Sl(Lt);return di&&oe(di,_.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),nn(jt(li,Ue),ut)}let dn=_n;_n=!1;let Er=Co(25);if(!me&&!gx())return;let ii=nn(jt(m.createParameterDeclaration(Lt,Er,mv(Lt),Co(57),th(),Yh()),Ue),ut);return _n=dn,ii}function S_(V,me){if(hv(V,me))return ve(wo)}function hv(V,me){return V===38?(gn(V),!0):aa(58)?!0:me&&j()===38?(rt(_._0_expected,Xa(58)),Qe(),!0):!1}function eh(V,me){let Ue=kt(),ut=ae();Ht(!!(V&1)),dr(!!(V&2));let Lt=V&32?Dc(17,Is):Dc(16,()=>me?_1(ut):yx(ut));return Ht(Ue),dr(ut),Lt}function $_(V){if(!gn(20))return Zl();let me=eh(V,!0);return gn(21),me}function gv(){aa(27)||Rs()}function lE(V){let me=z(),Ue=Te();V===177&&gn(103);let ut=T_(),Lt=$_(4),dn=S_(58,!0);gv();let Er=V===176?m.createCallSignature(ut,Lt,dn):m.createConstructSignature(ut,Lt,dn);return nn(jt(Er,me),Ue)}function Ib(){return j()===22&&Nr(zh)}function zh(){if(Qe(),j()===25||j()===23)return!0;if(Rg(j())){if(Qe(),Wi())return!0}else if(Wi())Qe();else return!1;return j()===58||j()===27?!0:j()!==57?!1:(Qe(),j()===58||j()===27||j()===23)}function p1(V,me,Ue){let ut=zf(16,()=>_1(!1),22,23),Lt=th();gv();let dn=m.createIndexSignature(Ue,ut,Lt);return nn(jt(dn,V),me)}function uE(V,me,Ue){let ut=Yt(),Lt=Co(57),dn;if(j()===20||j()===29){let Er=T_(),ii=$_(4),li=S_(58,!0);dn=m.createMethodSignature(Ue,ut,Lt,Er,ii,li)}else{let Er=th();dn=m.createPropertySignature(Ue,ut,Lt,Er),j()===63&&(dn.initializer=Yh())}return gv(),nn(jt(dn,V),me)}function dE(){if(j()===20||j()===29||j()===137||j()===151)return!0;let V=!1;for(;Rg(j());)V=!0,Qe();return j()===22?!0:(K()&&(V=!0,Qe()),V?j()===20||j()===29||j()===57||j()===58||j()===27||ss():!1)}function fE(){if(j()===20||j()===29)return lE(176);if(j()===103&&Nr(yv))return lE(177);let V=z(),me=Te(),Ue=ls(!1);return ta(137)?Tm(V,me,Ue,174,4):ta(151)?Tm(V,me,Ue,175,4):Ib()?p1(V,me,Ue):uE(V,me,Ue)}function yv(){return Qe(),j()===20||j()===29}function vx(){return Qe()===24}function _E(){switch(Qe()){case 20:case 29:case 24:return!0}return!1}function pE(){let V=z();return jt(m.createTypeLiteralNode(vv()),V)}function vv(){let V;return gn(18)?(V=ee(4,fE),gn(19)):V=Zl(),V}function Lb(){return Qe(),j()===39||j()===40?Qe()===146:(j()===146&&Qe(),j()===22&&Ws()&&Qe()===101)}function bv(){let V=z(),me=wt();gn(101);let Ue=Kc();return jt(m.createTypeParameterDeclaration(void 0,me,Ue,void 0),V)}function m1(){let V=z();gn(18);let me;(j()===146||j()===39||j()===40)&&(me=Pc(),me.kind!==146&&gn(146)),gn(22);let Ue=bv(),ut=aa(128)?Kc():void 0;gn(23);let Lt;(j()===57||j()===39||j()===40)&&(Lt=Pc(),Lt.kind!==57&&gn(57));let dn=th();Rs();let Er=ee(4,fE);return gn(19),jt(m.createMappedTypeNode(me,Ue,ut,Lt,dn,Er),V)}function Jh(){let V=z();if(aa(25))return jt(m.createRestTypeNode(Kc()),V);let me=Kc();if(T2(me)&&me.pos===me.type.pos){let Ue=m.createOptionalTypeNode(me.type);return it(Ue,me),Ue.flags=me.flags,Ue}return me}function Lo(){return Qe()===58||j()===57&&Qe()===58}function mE(){return j()===25?Su(Qe())&&Lo():Su(j())&&Lo()}function sC(){if(Nr(mE)){let V=z(),me=Te(),Ue=Co(25),ut=wt(),Lt=Co(57);gn(58);let dn=Jh(),Er=m.createNamedTupleMember(Ue,ut,Lt,dn);return nn(jt(Er,V),me)}return Jh()}function Zg(){let V=z();return jt(m.createTupleTypeNode(zf(21,sC,22,23)),V)}function Kh(){let V=z();gn(20);let me=Kc();return gn(21),jt(m.createParenthesizedType(me),V)}function hm(){let V;if(j()===126){let me=z();Qe();let Ue=jt(P(126),me);V=As([Ue],me)}return V}function x_(){let V=z(),me=Te(),Ue=hm(),ut=aa(103);L.assert(!Ue||ut,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let Lt=T_(),dn=$_(4),Er=S_(38,!1),ii=ut?m.createConstructorTypeNode(Ue,Lt,dn,Er):m.createFunctionTypeNode(Lt,dn,Er);return nn(jt(ii,V),me)}function Zu(){let V=Pc();return j()===24?void 0:V}function ed(V){let me=z();V&&Qe();let Ue=j()===110||j()===95||j()===104?Pc():St(j());return V&&(Ue=jt(m.createPrefixUnaryExpression(40,Ue),me)),jt(m.createLiteralTypeNode(Ue),me)}function td(){return Qe(),j()===100}function kb(){let V=z(),me=t.getTokenPos();gn(18);let Ue=t.hasPrecedingLineBreak();gn(130),gn(58);let ut=fy(!0);if(!gn(19)){let Lt=Os(Ye);Lt&&Lt.code===_._0_expected.code&&Ao(Lt,t2(Pe,me,1,_.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return jt(m.createImportTypeAssertionContainer(ut,Ue),V)}function Db(){Ce|=2097152;let V=z(),me=aa(112);gn(100),gn(20);let Ue=Kc(),ut;aa(27)&&(ut=kb()),gn(21);let Lt=aa(24)?Zt():void 0,dn=rn();return jt(m.createImportTypeNode(Ue,ut,Lt,dn,me),V)}function bx(){return Qe(),j()===8||j()===9}function wb(){switch(j()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Fo(Zu)||sn();case 66:t.reScanAsteriskEqualsToken();case 41:return Vn();case 60:t.reScanQuestionToken();case 57:return Xn();case 98:return ra();case 53:return $t();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return ed();case 40:return Nr(bx)?ed(!0):sn();case 114:return Pc();case 108:{let V=ki();return j()===140&&!t.hasPrecedingLineBreak()?kr(V):V}case 112:return Nr(td)?Db():mm();case 18:return Nr(Lb)?m1():pE();case 22:return Zg();case 20:return Kh();case 100:return Db();case 129:return Nr(Vu)?gE():sn();case 15:return M();default:return sn()}}function qh(V){switch(j()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!V;case 40:return!V&&Nr(bx);case 20:return!V&&Nr(Rb);default:return Wi()}}function Rb(){return Qe(),j()===21||Cb(!1)||qh()}function h1(){let V=z(),me=wb();for(;!t.hasPrecedingLineBreak();)switch(j()){case 53:Qe(),me=jt(m.createJSDocNonNullableType(me,!0),V);break;case 57:if(Nr(Et))return me;Qe(),me=jt(m.createJSDocNullableType(me,!0),V);break;case 22:if(gn(22),qh()){let Ue=Kc();gn(23),me=jt(m.createIndexedAccessTypeNode(me,Ue),V)}else gn(23),me=jt(m.createArrayTypeNode(me),V);break;default:return me}return me}function Ob(V){let me=z();return gn(V),jt(m.createTypeOperatorNode(V,hE()),me)}function cC(){if(aa(94)){let V=nt(Kc);if(ln()||j()!==57)return V}}function Ex(){let V=z(),me=ht(),Ue=Fo(cC),ut=m.createTypeParameterDeclaration(void 0,me,Ue);return jt(ut,V)}function Ev(){let V=z();return gn(138),jt(m.createInferTypeNode(Ex()),V)}function hE(){let V=j();switch(V){case 141:case 156:case 146:return Ob(V);case 138:return Ev()}return ve(h1)}function Fe(V){if(Sv()){let me=x_(),Ue;return Jm(me)?Ue=V?_.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:_.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:Ue=V?_.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:_.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,oe(me,Ue),me}}function ey(V,me,Ue){let ut=z(),Lt=V===51,dn=aa(V),Er=dn&&Fe(Lt)||me();if(j()===V||dn){let ii=[Er];for(;aa(V);)ii.push(Fe(Lt)||me());Er=jt(Ue(As(ii,ut)),ut)}return Er}function Ip(){return ey(50,hE,m.createIntersectionTypeNode)}function Tv(){return ey(51,Ip,m.createUnionTypeNode)}function Nb(){return Qe(),j()===103}function Sv(){return j()===29||j()===20&&Nr(g1)?!0:j()===103||j()===126&&Nr(Nb)}function Xh(){if(Rg(j())&&ls(!1),Wi()||j()===108)return Qe(),!0;if(j()===22||j()===18){let V=Ye.length;return cy(),V===Ye.length}return!1}function g1(){return Qe(),!!(j()===21||j()===25||Xh()&&(j()===58||j()===27||j()===57||j()===63||j()===21&&(Qe(),j()===38)))}function wo(){let V=z(),me=Wi()&&Fo(A_),Ue=Kc();return me?jt(m.createTypePredicateNode(void 0,me,Ue),V):Ue}function A_(){let V=ht();if(j()===140&&!t.hasPrecedingLineBreak())return Qe(),V}function gE(){let V=z(),me=Ll(129),Ue=j()===108?ki():ht(),ut=aa(140)?Kc():void 0;return jt(m.createTypePredicateNode(me,Ue,ut),V)}function Kc(){if(kn&40960)return Cr(40960,Kc);if(Sv())return x_();let V=z(),me=Tv();if(!ln()&&!t.hasPrecedingLineBreak()&&aa(94)){let Ue=nt(Kc);gn(57);let ut=ve(Kc);gn(58);let Lt=ve(Kc);return jt(m.createConditionalTypeNode(me,Ue,ut,Lt),V)}return me}function th(){return aa(58)?Kc():void 0}function Pb(){switch(j()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return Nr(_E);default:return Wi()}}function C_(){if(Pb())return!0;switch(j()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:case 59:return!0;default:return Tx()?!0:Wi()}}function Mb(){return j()!==18&&j()!==98&&j()!==84&&j()!==59&&C_()}function Ml(){let V=ir();V&&En(!1);let me=z(),Ue=ll(!0),ut;for(;ut=Co(27);)Ue=xv(Ue,ut,ll(!0),me);return V&&En(!0),Ue}function Yh(){return aa(63)?ll(!0):void 0}function ll(V){if(y1())return Ai();let me=gm(V)||nh(V);if(me)return me;let Ue=z(),ut=Gb(0);return ut.kind===79&&j()===38?Rr(Ue,ut,V,void 0):Ju(ut)&&Mg(Hn())?xv(ut,Pc(),ll(V),Ue):v1(ut,Ue,V)}function y1(){return j()===125?kt()?!0:Nr(Lv):!1}function lC(){return Qe(),!t.hasPrecedingLineBreak()&&Wi()}function Ai(){let V=z();return Qe(),!t.hasPrecedingLineBreak()&&(j()===41||C_())?jt(m.createYieldExpression(Co(41),ll(!0)),V):jt(m.createYieldExpression(void 0,void 0),V)}function Rr(V,me,Ue,ut){L.assert(j()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let Lt=m.createParameterDeclaration(void 0,void 0,me,void 0,void 0,void 0);jt(Lt,me.pos);let dn=As([Lt],Lt.pos,Lt.end),Er=Ll(38),ii=Fb(!!ut,Ue),li=m.createArrowFunction(ut,void 0,dn,void 0,Er,ii);return pn(jt(li,V))}function gm(V){let me=yd();if(me!==0)return me===1?zs(!0,!0):Fo(()=>$h(V))}function yd(){return j()===20||j()===29||j()===132?Nr(yE):j()===38?1:0}function yE(){if(j()===132&&(Qe(),t.hasPrecedingLineBreak()||j()!==20&&j()!==29))return 0;let V=j(),me=Qe();if(V===20){if(me===21)switch(Qe()){case 38:case 58:case 18:return 1;default:return 0}if(me===22||me===18)return 2;if(me===25)return 1;if(Rg(me)&&me!==132&&Nr(Ws))return Qe()===128?0:1;if(!Wi()&&me!==108)return 0;switch(Qe()){case 58:return 1;case 57:return Qe(),j()===58||j()===27||j()===63||j()===21?1:0;case 27:case 63:case 21:return 2}return 0}else return L.assert(V===29),!Wi()&&j()!==85?0:Le===1?Nr(()=>{aa(85);let ut=Qe();if(ut===94)switch(Qe()){case 63:case 31:case 43:return!1;default:return!0}else if(ut===27||ut===63)return!0;return!1})?1:0:2}function $h(V){let me=t.getTokenPos();if(tn?.has(me))return;let Ue=zs(!1,V);return Ue||(tn||(tn=new Set)).add(me),Ue}function nh(V){if(j()===132&&Nr(ym)===1){let me=z(),Ue=kE(),ut=Gb(0);return Rr(me,ut,V,Ue)}}function ym(){if(j()===132){if(Qe(),t.hasPrecedingLineBreak()||j()===38)return 0;let V=Gb(0);if(!t.hasPrecedingLineBreak()&&V.kind===79&&j()===38)return 1}return 0}function zs(V,me){let Ue=z(),ut=Te(),Lt=kE(),dn=vt(Lt,mL)?2:0,Er=T_(),ii;if(gn(20)){if(V)ii=eh(dn,V);else{let Op=eh(dn,V);if(!Op)return;ii=Op}if(!gn(21)&&!V)return}else{if(!V)return;ii=Zl()}let li=j()===58,di=S_(58,!1);if(di&&!V&&Dn(di))return;let ma=di;for(;ma?.kind===193;)ma=ma.type;let is=ma&&S2(ma);if(!V&&j()!==38&&(is||j()!==18))return;let ao=j(),Oo=Ll(38),id=ao===38||ao===18?Fb(vt(Lt,mL),me):ht();if(!me&&li&&j()!==58)return;let np=m.createArrowFunction(Lt,Er,ii,di,Oo,id);return nn(jt(np,Ue),ut)}function Fb(V,me){if(j()===18)return nd(V?2:0);if(j()!==26&&j()!==98&&j()!==84&&C1()&&!Mb())return nd(16|(V?2:0));let Ue=_n;_n=!1;let ut=V?ue(()=>ll(me)):G(()=>ll(me));return _n=Ue,ut}function v1(V,me,Ue){let ut=Co(57);if(!ut)return V;let Lt;return jt(m.createConditionalExpression(V,ut,Cr(r,()=>ll(!1)),Lt=Ll(58),Pf(Lt)?ll(Ue):yc(79,!1,_._0_expected,Xa(58))),me)}function Gb(V){let me=z(),Ue=Q_();return Cf(V,Ue,me)}function b1(V){return V===101||V===162}function Cf(V,me,Ue){for(;;){Hn();let ut=vR(j());if(!(j()===42?ut>=V:ut>V)||j()===101&&Kt())break;if(j()===128||j()===150){if(t.hasPrecedingLineBreak())break;{let dn=j();Qe(),me=dn===150?Sx(me,Kc()):E1(me,Kc())}}else me=xv(me,Pc(),Gb(ut),Ue)}return me}function Tx(){return Kt()&&j()===101?!1:vR(j())>0}function Sx(V,me){return jt(m.createSatisfiesExpression(V,me),V.pos)}function xv(V,me,Ue,ut){return jt(m.createBinaryExpression(V,me,Ue),ut)}function E1(V,me){return jt(m.createAsExpression(V,me),V.pos)}function T1(){let V=z();return jt(m.createPrefixUnaryExpression(j(),lt(I_)),V)}function xx(){let V=z();return jt(m.createDeleteExpression(lt(I_)),V)}function Bb(){let V=z();return jt(m.createTypeOfExpression(lt(I_)),V)}function S1(){let V=z();return jt(m.createVoidExpression(lt(I_)),V)}function rf(){return j()===133?ae()?!0:Nr(Lv):!1}function Qh(){let V=z();return jt(m.createAwaitExpression(lt(I_)),V)}function Q_(){if(Ax()){let Ue=z(),ut=Ub();return j()===42?Cf(vR(j()),ut,Ue):ut}let V=j(),me=I_();if(j()===42){let Ue=xo(Ie,me.pos),{end:ut}=me;me.kind===213?Ke(Ue,ut,_.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Ke(Ue,ut,_.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Xa(V))}return me}function I_(){switch(j()){case 39:case 40:case 54:case 53:return T1();case 89:return xx();case 112:return Bb();case 114:return S1();case 29:return Le===1?Zh(!0):Ix();case 133:if(rf())return Qh();default:return Ub()}}function Ax(){switch(j()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(Le!==1)return!1;default:return!0}}function Ub(){if(j()===45||j()===46){let me=z();return jt(m.createPrefixUnaryExpression(j(),lt(Lp)),me)}else if(Le===1&&j()===29&&Nr(vc))return Zh(!0);let V=Lp();if(L.assert(Ju(V)),(j()===45||j()===46)&&!t.hasPrecedingLineBreak()){let me=j();return Qe(),jt(m.createPostfixUnaryExpression(V,me),V.pos)}return V}function Lp(){let V=z(),me;return j()===100?Nr(yv)?(Ce|=2097152,me=Pc()):Nr(vx)?(Qe(),Qe(),me=jt(m.createMetaProperty(100,wt()),V),Ce|=4194304):me=x1():me=j()===106?Uu():x1(),Wn(V,me)}function x1(){let V=z(),me=Kf();return af(V,me,!0)}function Uu(){let V=z(),me=Pc();if(j()===29){let Ue=z(),ut=Fo(ry);ut!==void 0&&(Ke(Ue,z(),_.super_may_not_use_type_arguments),Av()||(me=m.createExpressionWithTypeArguments(me,ut)))}return j()===20||j()===24||j()===22?me:(Ll(24,_.super_must_be_followed_by_an_argument_list_or_member_access),jt(q(me,Fd(!0,!0)),V))}function Zh(V,me,Ue){let ut=z(),Lt=A1(V),dn;if(Lt.kind===283){let Er=eg(Lt),ii,li=Er[Er.length-1];if(li?.kind===281&&!yb(li.openingElement.tagName,li.closingElement.tagName)&&yb(Lt.tagName,li.closingElement.tagName)){let di=li.children.end,ma=jt(m.createJsxElement(li.openingElement,li.children,jt(m.createJsxClosingElement(jt(w(""),di,di)),di,di)),li.openingElement.pos,di);Er=As([...Er.slice(0,Er.length-1),ma],Er.pos,di),ii=li.closingElement}else ii=Vb(Lt,V),yb(Lt.tagName,ii.tagName)||(Ue&&Xm(Ue)&&yb(ii.tagName,Ue.tagName)?oe(Lt.tagName,_.JSX_element_0_has_no_corresponding_closing_tag,AI(Ie,Lt.tagName)):oe(ii.tagName,_.Expected_corresponding_JSX_closing_tag_for_0,AI(Ie,Lt.tagName)));dn=jt(m.createJsxElement(Lt,Er,ii),ut)}else Lt.kind===286?dn=jt(m.createJsxFragment(Lt,eg(Lt),jb(V)),ut):(L.assert(Lt.kind===282),dn=Lt);if(V&&j()===29){let Er=typeof me>"u"?dn.pos:me,ii=Fo(()=>Zh(!0,Er));if(ii){let li=yc(27,!1);return oL(li,ii.pos,0),Ke(xo(Ie,Er),ii.end,_.JSX_expressions_must_have_one_parent_element),jt(m.createBinaryExpression(dn,li,ii),ut)}}return dn}function kp(){let V=z(),me=m.createJsxText(t.getTokenValue(),Rt===12);return Rt=t.scanJsxToken(),jt(me,V)}function Dp(V,me){switch(me){case 1:if(US(V))oe(V,_.JSX_fragment_has_no_corresponding_closing_tag);else{let Ue=V.tagName,ut=xo(Ie,Ue.pos);Ke(ut,Ue.end,_.JSX_element_0_has_no_corresponding_closing_tag,AI(Ie,V.tagName))}return;case 30:case 7:return;case 11:case 12:return kp();case 18:return bE(!1);case 29:return Zh(!1,void 0,V);default:return L.assertNever(me)}}function eg(V){let me=[],Ue=z(),ut=Qt;for(Qt|=16384;;){let Lt=Dp(V,Rt=t.reScanJsxToken());if(!Lt||(me.push(Lt),Xm(V)&&Lt?.kind===281&&!yb(Lt.openingElement.tagName,Lt.closingElement.tagName)&&yb(V.tagName,Lt.closingElement.tagName)))break}return Qt=ut,As(me,Ue)}function vE(){let V=z();return jt(m.createJsxAttributes(ee(13,cs)),V)}function A1(V){let me=z();if(gn(29),j()===31)return Fa(),jt(m.createJsxOpeningFragment(),me);let Ue=ty(),ut=kn&262144?void 0:bd(),Lt=vE(),dn;return j()===31?(Fa(),dn=m.createJsxOpeningElement(Ue,ut,Lt)):(gn(43),gn(31,void 0,!1)&&(V?Qe():Fa()),dn=m.createJsxSelfClosingElement(Ue,ut,Lt)),jt(dn,me)}function ty(){let V=z();Za();let me=j()===108?Pc():wt();for(;aa(24);)me=jt(q(me,Fd(!0,!1)),V);return me}function bE(V){let me=z();if(!gn(18))return;let Ue,ut;return j()!==19&&(Ue=Co(25),ut=Ml()),V?gn(19):gn(19,void 0,!1)&&Fa(),jt(m.createJsxExpression(Ue,ut),me)}function cs(){if(j()===18)return Cx();Za();let V=z();return jt(m.createJsxAttribute(wt(),ny()),V)}function ny(){if(j()===63){if(Hi()===10)return oa();if(j()===18)return bE(!0);if(j()===29)return Zh(!0);rt(_.or_JSX_element_expected)}}function Cx(){let V=z();gn(18),gn(25);let me=Ml();return gn(19),jt(m.createJsxSpreadAttribute(me),V)}function Vb(V,me){let Ue=z();gn(30);let ut=ty();return gn(31,void 0,!1)&&(me||!yb(V.tagName,ut)?Qe():Fa()),jt(m.createJsxClosingElement(ut),Ue)}function jb(V){let me=z();return gn(30),gn(31,_.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(V?Qe():Fa()),jt(m.createJsxJsxClosingFragment(),me)}function Ix(){L.assert(Le!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let V=z();gn(29);let me=Kc();gn(31);let Ue=I_();return jt(m.createTypeAssertion(me,Ue),V)}function uC(){return Qe(),Su(j())||j()===22||Av()}function Lx(){return j()===28&&Nr(uC)}function Qn(V){if(V.flags&32)return!0;if(PS(V)){let me=V.expression;for(;PS(me)&&!(me.flags&32);)me=me.expression;if(me.flags&32){for(;PS(V);)V.flags|=32,V=V.expression;return!0}}return!1}function lc(V,me,Ue){let ut=Fd(!0,!0),Lt=Ue||Qn(me),dn=Lt?W(me,Ue,ut):q(me,ut);if(Lt&&pi(dn.name)&&oe(dn.name,_.An_optional_chain_cannot_contain_private_identifiers),Vg(me)&&me.typeArguments){let Er=me.typeArguments.pos-1,ii=xo(Ie,me.typeArguments.end)+1;Ke(Er,ii,_.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return jt(dn,V)}function zi(V,me,Ue){let ut;if(j()===23)ut=yc(79,!0,_.An_element_access_expression_should_take_an_argument);else{let dn=at(Ml);yf(dn)&&(dn.text=Ql(dn.text)),ut=dn}gn(23);let Lt=Ue||Qn(me)?R(me,Ue,ut):Y(me,ut);return jt(Lt,V)}function af(V,me,Ue){for(;;){let ut,Lt=!1;if(Ue&&Lx()?(ut=Ll(28),Lt=Su(j())):Lt=aa(24),Lt){me=lc(V,me,ut);continue}if((ut||!ir())&&aa(22)){me=zi(V,me,ut);continue}if(Av()){me=!ut&&me.kind===230?vm(V,me.expression,ut,me.typeArguments):vm(V,me,ut,void 0);continue}if(!ut){if(j()===53&&!t.hasPrecedingLineBreak()){Qe(),me=jt(m.createNonNullExpression(me),V);continue}let dn=Fo(ry);if(dn){me=jt(m.createExpressionWithTypeArguments(me,dn),V);continue}}return me}}function Av(){return j()===14||j()===15}function vm(V,me,Ue,ut){let Lt=m.createTaggedTemplateExpression(me,ut,j()===14?(Kr(),oa()):Y_(!0));return(Ue||me.flags&32)&&(Lt.flags|=32),Lt.questionDotToken=Ue,jt(Lt,V)}function Wn(V,me){for(;;){me=af(V,me,!0);let Ue,ut=Co(28);if(ut&&(Ue=Fo(ry),Av())){me=vm(V,me,ut,Ue);continue}if(Ue||j()===20){!ut&&me.kind===230&&(Ue=me.typeArguments,me=me.expression);let Lt=kx(),dn=ut||Qn(me)?$(me,ut,Ue,Lt):ie(me,Ue,Lt);me=jt(dn,V);continue}if(ut){let Lt=yc(79,!1,_.Identifier_expected);me=jt(W(me,ut,Lt),V)}break}return me}function kx(){gn(20);let V=Dc(11,L_);return gn(21),V}function ry(){if(kn&262144||Si()!==29)return;Qe();let V=Dc(20,Kc);if(Hn()===31)return Qe(),V&&nl()?V:void 0}function nl(){switch(j()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return t.hasPrecedingLineBreak()||Tx()||!C_()}function Kf(){switch(j()){case 8:case 9:case 10:case 14:return oa();case 108:case 106:case 104:case 110:case 95:return Pc();case 20:return Z_();case 22:return ay();case 18:return wc();case 132:if(!Nr(Jb))break;return tg();case 59:return og();case 84:return Rv();case 98:return tg();case 103:return qf();case 43:case 68:if(jr()===13)return oa();break;case 15:return Y_(!1);case 80:return yr()}return ht(_.Expression_expected)}function Z_(){let V=z(),me=Te();gn(20);let Ue=at(Ml);return gn(21),nn(jt(Z(Ue),V),me)}function iy(){let V=z();gn(25);let me=ll(!0);return jt(m.createSpreadElement(me),V)}function EE(){return j()===25?iy():j()===27?jt(m.createOmittedExpression(),z()):ll(!0)}function L_(){return Cr(r,EE)}function ay(){let V=z(),me=t.getTokenPos(),Ue=gn(22),ut=t.hasPrecedingLineBreak(),Lt=Dc(15,EE);return ro(22,23,Ue,me),jt(F(Lt,ut),V)}function Ac(){let V=z(),me=Te();if(Co(25)){let ma=ll(!0);return nn(jt(m.createSpreadAssignment(ma),V),me)}let Ue=ls(!0);if(ta(137))return Tm(V,me,Ue,174,0);if(ta(151))return Tm(V,me,Ue,175,0);let ut=Co(41),Lt=Wi(),dn=Yt(),Er=Co(57),ii=Co(53);if(ut||j()===20||j()===29)return L1(V,me,Ue,ut,dn,Er,ii);let li;if(Lt&&j()!==58){let ma=Co(63),is=ma?at(()=>ll(!0)):void 0;li=m.createShorthandPropertyAssignment(dn,is),li.equalsToken=ma}else{gn(58);let ma=at(()=>ll(!0));li=m.createPropertyAssignment(dn,ma)}return li.modifiers=Ue,li.questionToken=Er,li.exclamationToken=ii,nn(jt(li,V),me)}function wc(){let V=z(),me=t.getTokenPos(),Ue=gn(18),ut=t.hasPrecedingLineBreak(),Lt=Dc(12,Ac,!0);return ro(18,19,Ue,me),jt(B(Lt,ut),V)}function tg(){let V=ir();En(!1);let me=z(),Ue=Te(),ut=ls(!1);gn(98);let Lt=Co(41),dn=Lt?1:0,Er=vt(ut,mL)?2:0,ii=dn&&Er?Oe(Fl):dn?ce(Fl):Er?ue(Fl):Fl(),li=T_(),di=$_(dn|Er),ma=S_(58,!1),is=nd(dn|Er);En(V);let ao=m.createFunctionExpression(ut,Lt,ii,li,di,ma,is);return nn(jt(ao,me),Ue)}function Fl(){return Qr()?se():void 0}function qf(){let V=z();if(gn(103),aa(24)){let dn=wt();return jt(m.createMetaProperty(103,dn),V)}let me=z(),Ue=af(me,Kf(),!1),ut;Ue.kind===230&&(ut=Ue.typeArguments,Ue=Ue.expression),j()===28&&rt(_.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,AI(Ie,Ue));let Lt=j()===20?kx():void 0;return jt(fe(Ue,ut,Lt),V)}function bm(V,me){let Ue=z(),ut=Te(),Lt=t.getTokenPos(),dn=gn(18,me);if(dn||V){let Er=t.hasPrecedingLineBreak(),ii=ee(1,of);ro(18,19,dn,Lt);let li=nn(jt(U(ii,Er),Ue),ut);return j()===63&&(rt(_.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),Qe()),li}else{let Er=Zl();return nn(jt(U(Er,void 0),Ue),ut)}}function nd(V,me){let Ue=kt();Ht(!!(V&1));let ut=ae();dr(!!(V&2));let Lt=_n;_n=!1;let dn=ir();dn&&En(!1);let Er=bm(!!(V&16),me);return dn&&En(!0),_n=Lt,Ht(Ue),dr(ut),Er}function TE(){let V=z(),me=Te();return gn(26),nn(jt(m.createEmptyStatement(),V),me)}function Hb(){let V=z(),me=Te();gn(99);let Ue=t.getTokenPos(),ut=gn(20),Lt=at(Ml);ro(20,21,ut,Ue);let dn=of(),Er=aa(91)?of():void 0;return nn(jt(_e(Lt,dn,Er),V),me)}function Wb(){let V=z(),me=Te();gn(90);let Ue=of();gn(115);let ut=t.getTokenPos(),Lt=gn(20),dn=at(Ml);return ro(20,21,Lt,ut),aa(26),nn(jt(m.createDoStatement(Ue,dn),V),me)}function ep(){let V=z(),me=Te();gn(115);let Ue=t.getTokenPos(),ut=gn(20),Lt=at(Ml);ro(20,21,ut,Ue);let dn=of();return nn(jt(ge(Lt,dn),V),me)}function rh(){let V=z(),me=Te();gn(97);let Ue=Co(133);gn(20);let ut;j()!==26&&(j()===113||j()===119||j()===85?ut=wp(!0):ut=Tt(Ml));let Lt;if(Ue?gn(162):aa(162)){let dn=at(()=>ll(!0));gn(21),Lt=Ve(Ue,ut,dn,of())}else if(aa(101)){let dn=at(Ml);gn(21),Lt=m.createForInStatement(ut,dn,of())}else{gn(26);let dn=j()!==26&&j()!==21?at(Ml):void 0;gn(26);let Er=j()!==21?at(Ml):void 0;gn(21),Lt=X(ut,dn,Er,of())}return nn(jt(Lt,V),me)}function SE(V){let me=z(),Ue=Te();gn(V===249?81:86);let ut=ss()?void 0:ht();Rs();let Lt=V===249?m.createBreakStatement(ut):m.createContinueStatement(ut);return nn(jt(Lt,me),Ue)}function oy(){let V=z(),me=Te();gn(105);let Ue=ss()?void 0:at(Ml);return Rs(),nn(jt(m.createReturnStatement(Ue),V),me)}function uc(){let V=z(),me=Te();gn(116);let Ue=t.getTokenPos(),ut=gn(20),Lt=at(Ml);ro(20,21,ut,Ue);let dn=Se(33554432,of);return nn(jt(m.createWithStatement(Lt,dn),V),me)}function ng(){let V=z(),me=Te();gn(82);let Ue=at(Ml);gn(58);let ut=ee(3,of);return nn(jt(m.createCaseClause(Ue,ut),V),me)}function ih(){let V=z();gn(88),gn(58);let me=ee(3,of);return jt(m.createDefaultClause(me),V)}function Cv(){return j()===82?ng():ih()}function Iv(){let V=z();gn(18);let me=ee(2,Cv);return gn(19),jt(m.createCaseBlock(me),V)}function Gl(){let V=z(),me=Te();gn(107),gn(20);let Ue=at(Ml);gn(21);let ut=Iv();return nn(jt(m.createSwitchStatement(Ue,ut),V),me)}function ah(){let V=z(),me=Te();gn(109);let Ue=t.hasPrecedingLineBreak()?void 0:at(Ml);return Ue===void 0&&(zt++,Ue=jt(w(""),z())),qs()||kc(Ue),nn(jt(m.createThrowStatement(Ue),V),me)}function qc(){let V=z(),me=Te();gn(111);let Ue=bm(!1),ut=j()===83?xE():void 0,Lt;return(!ut||j()===96)&&(gn(96,_.catch_or_finally_expected),Lt=bm(!1)),nn(jt(m.createTryStatement(Ue,ut,Lt),V),me)}function xE(){let V=z();gn(83);let me;aa(20)?(me=ly(),gn(21)):me=void 0;let Ue=bm(!1);return jt(m.createCatchClause(me,Ue),V)}function oh(){let V=z(),me=Te();return gn(87),Rs(),nn(jt(m.createDebuggerStatement(),V),me)}function zb(){let V=z(),me=Te(),Ue,ut=j()===20,Lt=at(Ml);return Re(Lt)&&aa(58)?Ue=m.createLabeledStatement(Lt,of()):(qs()||kc(Lt),Ue=le(Lt),ut&&(me=!1)),nn(jt(Ue,V),me)}function Vu(){return Qe(),Su(j())&&!t.hasPrecedingLineBreak()}function Em(){return Qe(),j()===84&&!t.hasPrecedingLineBreak()}function Jb(){return Qe(),j()===98&&!t.hasPrecedingLineBreak()}function Lv(){return Qe(),(Su(j())||j()===8||j()===9||j()===10)&&!t.hasPrecedingLineBreak()}function AE(){for(;;)switch(j()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return lC();case 142:case 143:return Dx();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(Qe(),t.hasPrecedingLineBreak())return!1;continue;case 159:return Qe(),j()===18||j()===79||j()===93;case 100:return Qe(),j()===10||j()===41||j()===18||Su(j());case 93:let V=Qe();if(V===154&&(V=Nr(Qe)),V===63||V===41||V===18||V===88||V===128||V===59)return!0;continue;case 124:Qe();continue;default:return!1}}function sy(){return Nr(AE)}function C1(){switch(j()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return sy()||Nr(_E);case 85:case 93:return sy();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return sy()||!Nr(Vu);default:return C_()}}function kv(){return Qe(),Qr()||j()===18||j()===22}function rg(){return Nr(kv)}function of(){switch(j()){case 26:return TE();case 18:return bm(!1);case 113:return ig(z(),Te(),void 0);case 119:if(rg())return ig(z(),Te(),void 0);break;case 98:return wv(z(),Te(),void 0);case 84:return k1(z(),Te(),void 0);case 99:return Hb();case 90:return Wb();case 115:return ep();case 97:return rh();case 86:return SE(248);case 81:return SE(249);case 105:return oy();case 116:return uc();case 107:return Gl();case 109:return ah();case 111:case 83:case 96:return qc();case 87:return oh();case 59:return Gd();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(sy())return Gd();break}return zb()}function CE(V){return V.kind===136}function Gd(){let V=z(),me=Te(),Ue=ls(!0);if(vt(Ue,CE)){let Lt=sh(V);if(Lt)return Lt;for(let dn of Ue)dn.flags|=16777216;return Se(16777216,()=>Dv(V,me,Ue))}else return Dv(V,me,Ue)}function sh(V){return Se(16777216,()=>{let me=At(Qt,V);if(me)return xt(me)})}function Dv(V,me,Ue){switch(j()){case 113:case 119:case 85:return ig(V,me,Ue);case 98:return wv(V,me,Ue);case 84:return k1(V,me,Ue);case 118:return sg(V,me,Ue);case 154:return Ox(V,me,Ue);case 92:return E(V,me,Ue);case 159:case 142:case 143:return lr(V,me,Ue);case 100:return Ed(V,me,Ue);case 93:switch(Qe(),j()){case 88:case 63:return Zo(V,me,Ue);case 128:return kl(V,me,Ue);default:return KP(V,me,Ue)}default:if(Ue){let ut=yc(279,!0,_.Declaration_expected);return aL(ut,V),ut.modifiers=Ue,ut}return}}function Dx(){return Qe(),!t.hasPrecedingLineBreak()&&(Wi()||j()===10)}function No(V,me){if(j()!==18){if(V&4){gv();return}if(ss()){Rs();return}}return nd(V,me)}function fr(){let V=z();if(j()===27)return jt(m.createOmittedExpression(),V);let me=Co(25),Ue=cy(),ut=Yh();return jt(m.createBindingElement(me,void 0,Ue,ut),V)}function vd(){let V=z(),me=Co(25),Ue=Qr(),ut=Yt(),Lt;Ue&&j()!==58?(Lt=ut,ut=void 0):(gn(58),Lt=cy());let dn=Yh();return jt(m.createBindingElement(me,ut,Lt,dn),V)}function ju(){let V=z();gn(18);let me=Dc(9,vd);return gn(19),jt(m.createObjectBindingPattern(me),V)}function I1(){let V=z();gn(22);let me=Dc(10,fr);return gn(23),jt(m.createArrayBindingPattern(me),V)}function IE(){return j()===18||j()===22||j()===80||Qr()}function cy(V){return j()===22?I1():j()===18?ju():se(V)}function wx(){return ly(!0)}function ly(V){let me=z(),Ue=Te(),ut=cy(_.Private_identifiers_are_not_allowed_in_variable_declarations),Lt;V&&ut.kind===79&&j()===53&&!t.hasPrecedingLineBreak()&&(Lt=Pc());let dn=th(),Er=b1(j())?void 0:Yh(),ii=we(ut,Lt,dn,Er);return nn(jt(ii,me),Ue)}function wp(V){let me=z(),Ue=0;switch(j()){case 113:break;case 119:Ue|=1;break;case 85:Ue|=2;break;default:L.fail()}Qe();let ut;if(j()===162&&Nr(tp))ut=Zl();else{let Lt=Kt();vn(V),ut=Dc(8,V?ly:wx),vn(Lt)}return jt(ke(ut,Ue),me)}function tp(){return Ws()&&Qe()===21}function ig(V,me,Ue){let ut=wp(!1);Rs();let Lt=re(Ue,ut);return nn(jt(Lt,V),me)}function wv(V,me,Ue){let ut=ae(),Lt=im(Ue);gn(98);let dn=Co(41),Er=Lt&1024?Fl():se(),ii=dn?1:0,li=Lt&512?2:0,di=T_();Lt&1&&dr(!0);let ma=$_(ii|li),is=S_(58,!1),ao=No(ii|li,_.or_expected);dr(ut);let Oo=m.createFunctionDeclaration(Ue,dn,Er,di,ma,is,ao);return nn(jt(Oo,V),me)}function ch(){if(j()===135)return gn(135);if(j()===10&&Nr(Qe)===20)return Fo(()=>{let V=oa();return V.text==="constructor"?V:void 0})}function Rp(V,me,Ue){return Fo(()=>{if(ch()){let ut=T_(),Lt=$_(0),dn=S_(58,!1),Er=No(0,_.or_expected),ii=m.createConstructorDeclaration(Ue,Lt,Er);return ii.typeParameters=ut,ii.type=dn,nn(jt(ii,V),me)}})}function L1(V,me,Ue,ut,Lt,dn,Er,ii){let li=ut?1:0,di=vt(Ue,mL)?2:0,ma=T_(),is=$_(li|di),ao=S_(58,!1),Oo=No(li|di,ii),id=m.createMethodDeclaration(Ue,ut,Lt,dn,ma,is,ao,Oo);return id.exclamationToken=Er,nn(jt(id,V),me)}function Cc(V,me,Ue,ut,Lt){let dn=!Lt&&!t.hasPrecedingLineBreak()?Co(53):void 0,Er=th(),ii=Cr(45056,Yh);xc(ut,Er,ii);let li=m.createPropertyDeclaration(Ue,ut,Lt||dn,Er,ii);return nn(jt(li,V),me)}function Bd(V,me,Ue){let ut=Co(41),Lt=Yt(),dn=Co(57);return ut||j()===20||j()===29?L1(V,me,Ue,ut,Lt,dn,void 0,_.or_expected):Cc(V,me,Ue,Lt,dn)}function Tm(V,me,Ue,ut,Lt){let dn=Yt(),Er=T_(),ii=$_(0),li=S_(58,!1),di=No(Lt),ma=ut===174?m.createGetAccessorDeclaration(Ue,dn,ii,li,di):m.createSetAccessorDeclaration(Ue,dn,ii,di);return ma.typeParameters=Er,Sf(ma)&&(ma.type=li),nn(jt(ma,V),me)}function rd(){let V;if(j()===59)return!0;for(;Rg(j());){if(V=j(),Gj(V))return!0;Qe()}if(j()===41||(K()&&(V=j(),Qe()),j()===22))return!0;if(V!==void 0){if(!Xu(V)||V===151||V===137)return!0;switch(j()){case 20:case 29:case 53:case 58:case 63:case 57:return!0;default:return ss()}}return!1}function LE(V,me,Ue){Ll(124);let ut=uy(),Lt=nn(jt(m.createClassStaticBlockDeclaration(ut),V),me);return Lt.modifiers=Ue,Lt}function uy(){let V=kt(),me=ae();Ht(!1),dr(!0);let Ue=bm(!1);return Ht(V),dr(me),Ue}function ag(){if(ae()&&j()===133){let V=z(),me=ht(_.Expression_expected);Qe();let Ue=af(V,me,!0);return Wn(V,Ue)}return Lp()}function Rx(){let V=z();if(!aa(59))return;let me=Q(ag);return jt(m.createDecorator(me),V)}function sf(V,me,Ue){let ut=z(),Lt=j();if(j()===85&&me){if(!Fo(Go))return}else{if(Ue&&j()===124&&Nr(Ti))return;if(V&&j()===124)return;if(!Hs())return}return jt(P(Lt),ut)}function ls(V,me,Ue){let ut=z(),Lt,dn,Er,ii=!1,li=!1,di=!1;if(V&&j()===59)for(;dn=Rx();)Lt=Sn(Lt,dn);for(;Er=sf(ii,me,Ue);)Er.kind===124&&(ii=!0),Lt=Sn(Lt,Er),li=!0;if(li&&V&&j()===59)for(;dn=Rx();)Lt=Sn(Lt,dn),di=!0;if(di)for(;Er=sf(ii,me,Ue);)Er.kind===124&&(ii=!0),Lt=Sn(Lt,Er);return Lt&&As(Lt,ut)}function kE(){let V;if(j()===132){let me=z();Qe();let Ue=jt(P(132),me);V=As([Ue],me)}return V}function DE(){let V=z();if(j()===26)return Qe(),jt(m.createSemicolonClassElement(),V);let me=Te(),Ue=ls(!0,!0,!0);if(j()===124&&Nr(Ti))return LE(V,me,Ue);if(ta(137))return Tm(V,me,Ue,174,0);if(ta(151))return Tm(V,me,Ue,175,0);if(j()===135||j()===10){let ut=Rp(V,me,Ue);if(ut)return ut}if(Ib())return p1(V,me,Ue);if(Su(j())||j()===10||j()===8||j()===41||j()===22)if(vt(Ue,CE)){for(let Lt of Ue)Lt.flags|=16777216;return Se(16777216,()=>Bd(V,me,Ue))}else return Bd(V,me,Ue);if(Ue){let ut=yc(79,!0,_.Declaration_expected);return Cc(V,me,Ue,ut,void 0)}return L.fail("Should not have attempted to parse class member declaration.")}function og(){let V=z(),me=Te(),Ue=ls(!0);if(j()===84)return wE(V,me,Ue,228);let ut=yc(279,!0,_.Expression_expected);return aL(ut,V),ut.modifiers=Ue,ut}function Rv(){return wE(z(),Te(),void 0,228)}function k1(V,me,Ue){return wE(V,me,Ue,260)}function wE(V,me,Ue,ut){let Lt=ae();gn(84);let dn=RE(),Er=T_();vt(Ue,c3)&&dr(!0);let ii=NE(),li;gn(18)?(li=dC(),gn(19)):li=Zl(),dr(Lt);let di=ut===260?m.createClassDeclaration(Ue,dn,Er,ii,li):m.createClassExpression(Ue,dn,Er,ii,li);return nn(jt(di,V),me)}function RE(){return Qr()&&!OE()?yu(Qr()):void 0}function OE(){return j()===117&&Nr(hd)}function NE(){if(lh())return ee(22,PE)}function PE(){let V=z(),me=j();L.assert(me===94||me===117),Qe();let Ue=Dc(7,dy);return jt(m.createHeritageClause(me,Ue),V)}function dy(){let V=z(),me=Lp();if(me.kind===230)return me;let Ue=bd();return jt(m.createExpressionWithTypeArguments(me,Ue),V)}function bd(){return j()===29?zf(20,Kc,29,31):void 0}function lh(){return j()===94||j()===117}function dC(){return ee(5,DE)}function sg(V,me,Ue){gn(118);let ut=ht(),Lt=T_(),dn=NE(),Er=vv(),ii=m.createInterfaceDeclaration(Ue,ut,Lt,dn,Er);return nn(jt(ii,V),me)}function Ox(V,me,Ue){gn(154);let ut=ht(),Lt=T_();gn(63);let dn=j()===139&&Fo(Zu)||Kc();Rs();let Er=m.createTypeAliasDeclaration(Ue,ut,Lt,dn);return nn(jt(Er,V),me)}function Nx(){let V=z(),me=Te(),Ue=Yt(),ut=at(Yh);return nn(jt(m.createEnumMember(Ue,ut),V),me)}function E(V,me,Ue){gn(92);let ut=ht(),Lt;gn(18)?(Lt=je(()=>Dc(6,Nx)),gn(19)):Lt=Zl();let dn=m.createEnumDeclaration(Ue,ut,Lt);return nn(jt(dn,V),me)}function ne(){let V=z(),me;return gn(18)?(me=ee(1,of),gn(19)):me=Zl(),jt(m.createModuleBlock(me),V)}function Ee(V,me,Ue,ut){let Lt=ut&16,dn=ht(),Er=aa(24)?Ee(z(),!1,void 0,4|Lt):ne(),ii=m.createModuleDeclaration(Ue,dn,Er,ut);return nn(jt(ii,V),me)}function Wt(V,me,Ue){let ut=0,Lt;j()===159?(Lt=ht(),ut|=1024):(Lt=oa(),Lt.text=Ql(Lt.text));let dn;j()===18?dn=ne():Rs();let Er=m.createModuleDeclaration(Ue,Lt,dn,ut);return nn(jt(Er,V),me)}function lr(V,me,Ue){let ut=0;if(j()===159)return Wt(V,me,Ue);if(aa(143))ut|=16;else if(gn(142),j()===10)return Wt(V,me,Ue);return Ee(V,me,Ue,ut)}function ci(){return j()===147&&Nr(qr)}function qr(){return Qe()===20}function Ti(){return Qe()===18}function Wa(){return Qe()===43}function kl(V,me,Ue){gn(128),gn(143);let ut=ht();Rs();let Lt=m.createNamespaceExportDeclaration(ut);return Lt.modifiers=Ue,nn(jt(Lt,V),me)}function Ed(V,me,Ue){gn(100);let ut=t.getStartPos(),Lt;Wi()&&(Lt=ht());let dn=!1;if(j()!==158&&Lt?.escapedText==="type"&&(Wi()||Td())&&(dn=!0,Lt=Wi()?ht():void 0),Lt&&!Ov())return Nv(V,me,Ue,Lt,dn);let Er;(Lt||j()===41||j()===18)&&(Er=_y(Lt,ut,dn),gn(158));let ii=cf(),li;j()===130&&!t.hasPrecedingLineBreak()&&(li=fy()),Rs();let di=m.createImportDeclaration(Ue,Er,ii,li);return nn(jt(di,V),me)}function Ud(){let V=z(),me=Su(j())?wt():St(10);gn(58);let Ue=ll(!0);return jt(m.createAssertEntry(me,Ue),V)}function fy(V){let me=z();V||gn(130);let Ue=t.getTokenPos();if(gn(18)){let ut=t.hasPrecedingLineBreak(),Lt=Dc(24,Ud,!0);if(!gn(19)){let dn=Os(Ye);dn&&dn.code===_._0_expected.code&&Ao(dn,t2(Pe,Ue,1,_.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return jt(m.createAssertClause(Lt,ut),me)}else{let ut=As([],z(),void 0,!1);return jt(m.createAssertClause(ut,!1),me)}}function Td(){return j()===41||j()===18}function Ov(){return j()===27||j()===158}function Nv(V,me,Ue,ut,Lt){gn(63);let dn=Xf();Rs();let Er=m.createImportEqualsDeclaration(Ue,Lt,ut,dn);return nn(jt(Er,V),me)}function _y(V,me,Ue){let ut;return(!V||aa(27))&&(ut=j()===41?Sm():py(272)),jt(m.createImportClause(Ue,V,ut),me)}function Xf(){return ci()?ME():Io(!1)}function ME(){let V=z();gn(147),gn(20);let me=cf();return gn(21),jt(m.createExternalModuleReference(me),V)}function cf(){if(j()===10){let V=oa();return V.text=Ql(V.text),V}else return Ml()}function Sm(){let V=z();gn(41),gn(128);let me=ht();return jt(m.createNamespaceImport(me),V)}function py(V){let me=z(),Ue=V===272?m.createNamedImports(zf(23,FE,18,19)):m.createNamedExports(zf(23,If,18,19));return jt(Ue,me)}function If(){let V=Te();return nn(Pv(278),V)}function FE(){return Pv(273)}function Pv(V){let me=z(),Ue=Xu(j())&&!Wi(),ut=t.getTokenPos(),Lt=t.getTextPos(),dn=!1,Er,ii=!0,li=wt();if(li.escapedText==="type")if(j()===128){let is=wt();if(j()===128){let ao=wt();Su(j())?(dn=!0,Er=is,li=ma(),ii=!1):(Er=li,li=ao,ii=!1)}else Su(j())?(Er=li,ii=!1,li=ma()):(dn=!0,li=is)}else Su(j())&&(dn=!0,li=ma());ii&&j()===128&&(Er=li,gn(128),li=ma()),V===273&&Ue&&Ke(ut,Lt,_.Identifier_expected);let di=V===273?m.createImportSpecifier(dn,Er,li):m.createExportSpecifier(dn,Er,li);return jt(di,me);function ma(){return Ue=Xu(j())&&!Wi(),ut=t.getTokenPos(),Lt=t.getTextPos(),wt()}}function Vc(V){return jt(m.createNamespaceExport(wt()),V)}function KP(V,me,Ue){let ut=ae();dr(!0);let Lt,dn,Er,ii=aa(154),li=z();aa(41)?(aa(128)&&(Lt=Vc(li)),gn(158),dn=cf()):(Lt=py(276),(j()===158||j()===10&&!t.hasPrecedingLineBreak())&&(gn(158),dn=cf())),dn&&j()===130&&!t.hasPrecedingLineBreak()&&(Er=fy()),Rs(),dr(ut);let di=m.createExportDeclaration(Ue,ii,Lt,dn,Er);return nn(jt(di,V),me)}function Zo(V,me,Ue){let ut=ae();dr(!0);let Lt;aa(63)?Lt=!0:gn(88);let dn=ll(!0);Rs(),dr(ut);let Er=m.createExportAssignment(Ue,Lt,dn);return nn(jt(Er,V),me)}let Ro;(V=>{V[V.SourceElements=0]="SourceElements",V[V.BlockStatements=1]="BlockStatements",V[V.SwitchClauses=2]="SwitchClauses",V[V.SwitchClauseStatements=3]="SwitchClauseStatements",V[V.TypeMembers=4]="TypeMembers",V[V.ClassMembers=5]="ClassMembers",V[V.EnumMembers=6]="EnumMembers",V[V.HeritageClauseElement=7]="HeritageClauseElement",V[V.VariableDeclarations=8]="VariableDeclarations",V[V.ObjectBindingElements=9]="ObjectBindingElements",V[V.ArrayBindingElements=10]="ArrayBindingElements",V[V.ArgumentExpressions=11]="ArgumentExpressions",V[V.ObjectLiteralMembers=12]="ObjectLiteralMembers",V[V.JsxAttributes=13]="JsxAttributes",V[V.JsxChildren=14]="JsxChildren",V[V.ArrayLiteralMembers=15]="ArrayLiteralMembers",V[V.Parameters=16]="Parameters",V[V.JSDocParameters=17]="JSDocParameters",V[V.RestProperties=18]="RestProperties",V[V.TypeParameters=19]="TypeParameters",V[V.TypeArguments=20]="TypeArguments",V[V.TupleElementTypes=21]="TupleElementTypes",V[V.HeritageClauses=22]="HeritageClauses",V[V.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",V[V.AssertEntries=24]="AssertEntries",V[V.Count=25]="Count"})(Ro||(Ro={}));let Px;(V=>{V[V.False=0]="False",V[V.True=1]="True",V[V.Unknown=2]="Unknown"})(Px||(Px={}));let Mx;(V=>{function me(di,ma,is){Pi("file.js",di,99,void 0,1),t.setText(di,ma,is),Rt=t.scan();let ao=Ue(),Oo=hi("file.js",99,1,!1,[],P(1),0,Ba),id=vS(Ye,Oo);return _t&&(Oo.jsDocDiagnostics=vS(_t,Oo)),gr(),ao?{jsDocTypeExpression:ao,diagnostics:id}:void 0}V.parseJSDocTypeExpressionForTests=me;function Ue(di){let ma=z(),is=(di?aa:gn)(18),ao=Se(8388608,Mc);(!di||is)&&hc(19);let Oo=m.createJSDocTypeExpression(ao);return Kn(Oo),jt(Oo,ma)}V.parseJSDocTypeExpression=Ue;function ut(){let di=z(),ma=aa(18),is=z(),ao=Io(!1);for(;j()===80;)Ja(),Vt(),ao=jt(m.createJSDocMemberName(ao,ht()),is);ma&&hc(19);let Oo=m.createJSDocNameReference(ao);return Kn(Oo),jt(Oo,di)}V.parseJSDocNameReference=ut;function Lt(di,ma,is){Pi("",di,99,void 0,1);let ao=Se(8388608,()=>li(ma,is)),id=vS(Ye,{languageVariant:0,text:di});return gr(),ao?{jsDoc:ao,diagnostics:id}:void 0}V.parseIsolatedJSDocComment=Lt;function dn(di,ma,is){let ao=Rt,Oo=Ye.length,id=Gt,np=Se(8388608,()=>li(ma,is));return go(np,di),kn&262144&&(_t||(_t=[]),_t.push(...Ye)),Rt=ao,Ye.length=Oo,Gt=id,np}V.parseJSDocComment=dn;let Er;(di=>{di[di.BeginningOfLine=0]="BeginningOfLine",di[di.SawAsterisk=1]="SawAsterisk",di[di.SavingComments=2]="SavingComments",di[di.SavingBackticks=3]="SavingBackticks"})(Er||(Er={}));let ii;(di=>{di[di.Property=1]="Property",di[di.Parameter=2]="Parameter",di[di.CallbackParameter=4]="CallbackParameter"})(ii||(ii={}));function li(di=0,ma){let is=Ie,ao=ma===void 0?is.length:di+ma;if(ma=ao-di,L.assert(di>=0),L.assert(di<=ao),L.assert(ao<=is.length),!cJ(is,di))return;let Oo,id,np,Op,cg,Yf=[],my=[];return t.scanRange(di+3,ma-5,()=>{let yn=1,Or,xr=di-(is.lastIndexOf(`
+`,di)+1)+4;function Wr(eo){Or||(Or=xr),Yf.push(eo),xr+=eo.length}for(Vt();D1(5););D1(4)&&(yn=0,xr=0);e:for(;;){switch(j()){case 59:yn===0||yn===1?(GE(Yf),cg||(cg=z()),Fv(_C(xr)),yn=0,Or=void 0):Wr(t.getTokenText());break;case 4:Yf.push(t.getTokenText()),yn=0,xr=0;break;case 41:let eo=t.getTokenText();yn===1||yn===2?(yn=2,Wr(eo)):(yn=1,xr+=eo.length);break;case 5:let _o=t.getTokenText();yn===2?Yf.push(_o):Or!==void 0&&xr+_o.length>Or&&Yf.push(_o.slice(Or-xr)),xr+=_o.length;break;case 1:break e;case 18:yn=2;let jd=t.getStartPos(),D_=t.getTextPos()-1,uh=jk(D_);if(uh){Op||Fx(Yf),my.push(jt(m.createJSDocText(Yf.join("")),Op??di,jd)),my.push(uh),Yf=[],Op=t.getTextPos();break}default:yn=2,Wr(t.getTokenText());break}Vt()}GE(Yf),my.length&&Yf.length&&my.push(jt(m.createJSDocText(Yf.join("")),Op??di,cg)),my.length&&Oo&&L.assertIsDefined(cg,"having parsed tags implies that the end of the comment span should be set");let Ci=Oo&&As(Oo,id,np);return jt(m.createJSDocComment(my.length?As(my,di,cg):Yf.length?Yf.join(""):void 0,Ci),di,ao)});function Fx(yn){for(;yn.length&&(yn[0]===`
+`||yn[0]==="\r");)yn.shift()}function GE(yn){for(;yn.length&&yn[yn.length-1].trim()==="";)yn.pop()}function fC(){for(;;){if(Vt(),j()===1)return!0;if(!(j()===5||j()===4))return!1}}function k_(){if(!((j()===5||j()===4)&&Nr(fC)))for(;j()===5||j()===4;)Vt()}function Mv(){if((j()===5||j()===4)&&Nr(fC))return"";let yn=t.hasPrecedingLineBreak(),Or=!1,xr="";for(;yn&&j()===41||j()===5||j()===4;)xr+=t.getTokenText(),j()===4?(yn=!0,Or=!0,xr=""):j()===41&&(yn=!1),Vt();return Or?xr:""}function _C(yn){L.assert(j()===59);let Or=t.getTokenPos();Vt();let xr=Uv(void 0),Wr=Mv(),Ci;switch(xr.escapedText){case"author":Ci=Pt(Or,xr,yn,Wr);break;case"implements":Ci=Fi(Or,xr,yn,Wr);break;case"augments":case"extends":Ci=Da(Or,xr,yn,Wr);break;case"class":case"constructor":Ci=dg(Or,m.createJSDocClassTag,xr,yn,Wr);break;case"public":Ci=dg(Or,m.createJSDocPublicTag,xr,yn,Wr);break;case"private":Ci=dg(Or,m.createJSDocPrivateTag,xr,yn,Wr);break;case"protected":Ci=dg(Or,m.createJSDocProtectedTag,xr,yn,Wr);break;case"readonly":Ci=dg(Or,m.createJSDocReadonlyTag,xr,yn,Wr);break;case"override":Ci=dg(Or,m.createJSDocOverrideTag,xr,yn,Wr);break;case"deprecated":Dt=!0,Ci=dg(Or,m.createJSDocDeprecatedTag,xr,yn,Wr);break;case"this":Ci=wte(Or,xr,yn,Wr);break;case"enum":Ci=Rte(Or,xr,yn,Wr);break;case"arg":case"argument":case"param":return zk(Or,xr,2,yn);case"return":case"returns":Ci=I(Or,xr,yn,Wr);break;case"template":Ci=yy(Or,xr,yn,Wr);break;case"type":Ci=N(Or,xr,yn,Wr);break;case"typedef":Ci=pC(Or,xr,yn,Wr);break;case"callback":Ci=zn(Or,xr,yn,Wr);break;case"overload":Ci=Gv(Or,xr,yn,Wr);break;case"satisfies":Ci=Vd(Or,xr,yn,Wr);break;case"see":Ci=te(Or,xr,yn,Wr);break;case"exception":case"throws":Ci=Me(Or,xr,yn,Wr);break;default:Ci=Zs(Or,xr,yn,Wr);break}return Ci}function lf(yn,Or,xr,Wr){return Wr||(xr+=Or-yn),Gx(xr,Wr.slice(xr))}function Gx(yn,Or){let xr=z(),Wr=[],Ci=[],eo,_o=0,jd=!0,D_;function uh(dh){D_||(D_=yn),Wr.push(dh),yn+=dh.length}Or!==void 0&&(Or!==""&&uh(Or),_o=1);let xm=j();e:for(;;){switch(xm){case 4:_o=0,Wr.push(t.getTokenText()),yn=0;break;case 59:if(_o===3||_o===2&&(!jd||Nr(hy))){Wr.push(t.getTokenText());break}t.setTextPos(t.getTextPos()-1);case 1:break e;case 5:if(_o===2||_o===3)uh(t.getTokenText());else{let Kb=t.getTokenText();D_!==void 0&&yn+Kb.length>D_&&Wr.push(Kb.slice(D_-yn)),yn+=Kb.length}break;case 18:_o=2;let dh=t.getStartPos(),gC=t.getTextPos()-1,vu=jk(gC);vu?(Ci.push(jt(m.createJSDocText(Wr.join("")),eo??xr,dh)),Ci.push(vu),Wr=[],eo=t.getTextPos()):uh(t.getTokenText());break;case 61:_o===3?_o=2:_o=3,uh(t.getTokenText());break;case 41:if(_o===0){_o=1,yn+=1;break}default:_o!==3&&(_o=2),uh(t.getTokenText());break}jd=j()===5,xm=Vt()}if(Fx(Wr),GE(Wr),Ci.length)return Wr.length&&Ci.push(jt(m.createJSDocText(Wr.join("")),eo??xr)),As(Ci,xr,t.getTextPos());if(Wr.length)return Wr.join("")}function hy(){let yn=Vt();return yn===5||yn===4}function jk(yn){let Or=Fo(Hk);if(!Or)return;Vt(),k_();let xr=z(),Wr=Su(j())?Io(!0):void 0;if(Wr)for(;j()===80;)Ja(),Vt(),Wr=jt(m.createJSDocMemberName(Wr,ht()),xr);let Ci=[];for(;j()!==19&&j()!==4&&j()!==1;)Ci.push(t.getTokenText()),Vt();let eo=Or==="link"?m.createJSDocLink:Or==="linkcode"?m.createJSDocLinkCode:m.createJSDocLinkPlain;return jt(eo(Wr,Ci.join("")),yn,t.getTextPos())}function Hk(){if(Mv(),j()===18&&Vt()===59&&Su(Vt())){let yn=t.getTokenValue();if(oo(yn))return yn}}function oo(yn){return yn==="link"||yn==="linkcode"||yn==="linkplain"}function Zs(yn,Or,xr,Wr){return jt(m.createJSDocUnknownTag(Or,lf(yn,z(),xr,Wr)),yn)}function Fv(yn){yn&&(Oo?Oo.push(yn):(Oo=[yn],id=yn.pos),np=yn.end)}function gy(){return Mv(),j()===18?Ue():void 0}function Wk(){let yn=D1(22);yn&&k_();let Or=D1(61),xr=XP();return Or&&md(61),yn&&(k_(),Co(63)&&Ml(),gn(23)),{name:xr,isBracketed:yn}}function ad(yn){switch(yn.kind){case 149:return!0;case 185:return ad(yn.elementType);default:return m_(yn)&&Re(yn.typeName)&&yn.typeName.escapedText==="Object"&&!yn.typeArguments}}function zk(yn,Or,xr,Wr){let Ci=gy(),eo=!Ci;Mv();let{name:_o,isBracketed:jd}=Wk(),D_=Mv();eo&&!Nr(Hk)&&(Ci=gy());let uh=lf(yn,z(),Wr,D_),xm=xr!==4&&y(Ci,_o,xr,Wr);xm&&(Ci=xm,eo=!0);let dh=xr===1?m.createJSDocPropertyTag(Or,_o,jd,Ci,eo,uh):m.createJSDocParameterTag(Or,_o,jd,Ci,eo,uh);return jt(dh,yn)}function y(yn,Or,xr,Wr){if(yn&&ad(yn.type)){let Ci=z(),eo,_o;for(;eo=Fo(()=>BE(xr,Wr,Or));)(eo.kind===344||eo.kind===351)&&(_o=Sn(_o,eo));if(_o){let jd=jt(m.createJSDocTypeLiteral(_o,yn.type.kind===185),Ci);return jt(m.createJSDocTypeExpression(jd),Ci)}}}function I(yn,Or,xr,Wr){vt(Oo,y3)&&Ke(Or.pos,t.getTokenPos(),_._0_tag_already_specified,Or.escapedText);let Ci=gy();return jt(m.createJSDocReturnTag(Or,Ci,lf(yn,z(),xr,Wr)),yn)}function N(yn,Or,xr,Wr){vt(Oo,DL)&&Ke(Or.pos,t.getTokenPos(),_._0_tag_already_specified,Or.escapedText);let Ci=Ue(!0),eo=xr!==void 0&&Wr!==void 0?lf(yn,z(),xr,Wr):void 0;return jt(m.createJSDocTypeTag(Or,Ci,eo),yn)}function te(yn,Or,xr,Wr){let eo=j()===22||Nr(()=>Vt()===59&&Su(Vt())&&oo(t.getTokenValue()))?void 0:ut(),_o=xr!==void 0&&Wr!==void 0?lf(yn,z(),xr,Wr):void 0;return jt(m.createJSDocSeeTag(Or,eo,_o),yn)}function Me(yn,Or,xr,Wr){let Ci=gy(),eo=lf(yn,z(),xr,Wr);return jt(m.createJSDocThrowsTag(Or,Ci,eo),yn)}function Pt(yn,Or,xr,Wr){let Ci=z(),eo=Tr(),_o=t.getStartPos(),jd=lf(yn,_o,xr,Wr);jd||(_o=t.getStartPos());let D_=typeof jd!="string"?As(Qi([jt(eo,Ci,_o)],jd),Ci):eo.text+jd;return jt(m.createJSDocAuthorTag(Or,D_),yn)}function Tr(){let yn=[],Or=!1,xr=t.getToken();for(;xr!==1&&xr!==4;){if(xr===29)Or=!0;else{if(xr===59&&!Or)break;if(xr===31&&Or){yn.push(t.getTokenText()),t.setTextPos(t.getTokenPos()+1);break}}yn.push(t.getTokenText()),xr=Vt()}return m.createJSDocText(yn.join(""))}function Fi(yn,Or,xr,Wr){let Ci=lg();return jt(m.createJSDocImplementsTag(Or,Ci,lf(yn,z(),xr,Wr)),yn)}function Da(yn,Or,xr,Wr){let Ci=lg();return jt(m.createJSDocAugmentsTag(Or,Ci,lf(yn,z(),xr,Wr)),yn)}function Vd(yn,Or,xr,Wr){let Ci=Ue(!1),eo=xr!==void 0&&Wr!==void 0?lf(yn,z(),xr,Wr):void 0;return jt(m.createJSDocSatisfiesTag(Or,Ci,eo),yn)}function lg(){let yn=aa(18),Or=z(),xr=ug(),Wr=bd(),Ci=m.createExpressionWithTypeArguments(xr,Wr),eo=jt(Ci,Or);return yn&&gn(19),eo}function ug(){let yn=z(),Or=Uv();for(;aa(24);){let xr=Uv();Or=jt(q(Or,xr),yn)}return Or}function dg(yn,Or,xr,Wr,Ci){return jt(Or(xr,lf(yn,z(),Wr,Ci)),yn)}function wte(yn,Or,xr,Wr){let Ci=Ue(!0);return k_(),jt(m.createJSDocThisTag(Or,Ci,lf(yn,z(),xr,Wr)),yn)}function Rte(yn,Or,xr,Wr){let Ci=Ue(!0);return k_(),jt(m.createJSDocEnumTag(Or,Ci,lf(yn,z(),xr,Wr)),yn)}function pC(yn,Or,xr,Wr){var Ci;let eo=gy();Mv();let _o=Jk();k_();let jd=Gx(xr),D_;if(!eo||ad(eo.type)){let xm,dh,gC,vu=!1;for(;xm=Fo(()=>Bx(xr));)if(vu=!0,xm.kind===347)if(dh){let Kb=rt(_.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);Kb&&Ao(Kb,t2(Pe,0,0,_.The_tag_was_first_specified_here));break}else dh=xm;else gC=Sn(gC,xm);if(vu){let Kb=eo&&eo.type.kind===185,Kk=m.createJSDocTypeLiteral(gC,Kb);eo=dh&&dh.typeExpression&&!ad(dh.typeExpression.type)?dh.typeExpression:jt(Kk,yn),D_=eo.end}}D_=D_||jd!==void 0?z():((Ci=_o??eo)!=null?Ci:Or).end,jd||(jd=lf(yn,D_,xr,Wr));let uh=m.createJSDocTypedefTag(Or,eo,_o,jd);return jt(uh,yn,D_)}function Jk(yn){let Or=t.getTokenPos();if(!Su(j()))return;let xr=Uv();if(aa(24)){let Wr=Jk(!0),Ci=m.createModuleDeclaration(void 0,xr,Wr,yn?4:void 0);return jt(Ci,Or)}return yn&&(xr.flags|=2048),xr}function Ote(yn){let Or=z(),xr,Wr;for(;xr=Fo(()=>BE(4,yn));)Wr=Sn(Wr,xr);return As(Wr||[],Or)}function mC(yn,Or){let xr=Ote(Or),Wr=Fo(()=>{if(D1(59)){let Ci=_C(Or);if(Ci&&Ci.kind===345)return Ci}});return jt(m.createJSDocSignature(void 0,xr,Wr),yn)}function zn(yn,Or,xr,Wr){let Ci=Jk();k_();let eo=Gx(xr),_o=mC(yn,xr);eo||(eo=lf(yn,z(),xr,Wr));let jd=eo!==void 0?z():_o.end;return jt(m.createJSDocCallbackTag(Or,_o,Ci,eo),yn,jd)}function Gv(yn,Or,xr,Wr){k_();let Ci=Gx(xr),eo=mC(yn,xr);Ci||(Ci=lf(yn,z(),xr,Wr));let _o=Ci!==void 0?z():eo.end;return jt(m.createJSDocOverloadTag(Or,eo,Ci),yn,_o)}function Bv(yn,Or){for(;!Re(yn)||!Re(Or);)if(!Re(yn)&&!Re(Or)&&yn.right.escapedText===Or.right.escapedText)yn=yn.left,Or=Or.left;else return!1;return yn.escapedText===Or.escapedText}function Bx(yn){return BE(1,yn)}function BE(yn,Or,xr){let Wr=!0,Ci=!1;for(;;)switch(Vt()){case 59:if(Wr){let eo=qP(yn,Or);return eo&&(eo.kind===344||eo.kind===351)&&yn!==4&&xr&&(Re(eo.name)||!Bv(xr,eo.name.left))?!1:eo}Ci=!1;break;case 4:Wr=!0,Ci=!1;break;case 41:Ci&&(Wr=!1),Ci=!0;break;case 79:Wr=!1;break;case 1:return!1}}function qP(yn,Or){L.assert(j()===59);let xr=t.getStartPos();Vt();let Wr=Uv();k_();let Ci;switch(Wr.escapedText){case"type":return yn===1&&N(xr,Wr);case"prop":case"property":Ci=1;break;case"arg":case"argument":case"param":Ci=6;break;default:return!1}return yn&Ci?zk(xr,Wr,yn,Or):!1}function hC(){let yn=z(),Or=D1(22);Or&&k_();let xr=Uv(_.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),Wr;if(Or&&(k_(),gn(63),Wr=Se(8388608,Mc),gn(23)),!rc(xr))return jt(m.createTypeParameterDeclaration(void 0,xr,void 0,Wr),yn)}function WG(){let yn=z(),Or=[];do{k_();let xr=hC();xr!==void 0&&Or.push(xr),Mv()}while(D1(27));return As(Or,yn)}function yy(yn,Or,xr,Wr){let Ci=j()===18?Ue():void 0,eo=WG();return jt(m.createJSDocTemplateTag(Or,Ci,eo,lf(yn,z(),xr,Wr)),yn)}function D1(yn){return j()===yn?(Vt(),!0):!1}function XP(){let yn=Uv();for(aa(22)&&gn(23);aa(24);){let Or=Uv();aa(22)&&gn(23),yn=Jf(yn,Or)}return yn}function Uv(yn){if(!Su(j()))return yc(79,!yn,yn||_.Identifier_expected);zt++;let Or=t.getTokenPos(),xr=t.getTextPos(),Wr=j(),Ci=Ql(t.getTokenValue()),eo=jt(w(Ci,Wr),Or,xr);return Vt(),eo}}})(Mx=e.JSDocParser||(e.JSDocParser={}))})(av||(av={})),(e=>{function t(x,A,w,C){if(C=C||L.shouldAssert(2),m(x,A,w,C),Moe(w))return x;if(x.statements.length===0)return av.parseSourceFile(x.fileName,A,x.languageVersion,void 0,!0,x.scriptKind,x.setExternalModuleIndicator);let P=x;L.assert(!P.hasBeenIncrementallyParsed),P.hasBeenIncrementallyParsed=!0,av.fixupParentReferences(P);let F=x.text,B=v(x),q=d(x,w);m(x,A,q,C),L.assert(q.span.start<=w.span.start),L.assert(wl(q.span)===wl(w.span)),L.assert(wl(uI(q))===wl(uI(w)));let W=uI(q).length-q.span.length;f(P,q.span.start,wl(q.span),wl(uI(q)),W,F,A,C);let Y=av.parseSourceFile(x.fileName,A,x.languageVersion,B,!0,x.scriptKind,x.setExternalModuleIndicator);return Y.commentDirectives=r(x.commentDirectives,Y.commentDirectives,q.span.start,wl(q.span),W,F,A,C),Y.impliedNodeFormat=x.impliedNodeFormat,Y}e.updateSourceFile=t;function r(x,A,w,C,P,F,B,q){if(!x)return A;let W,Y=!1;for(let ie of x){let{range:$,type:fe}=ie;if($.end<w)W=Sn(W,ie);else if($.pos>C){R();let Z={range:{pos:$.pos+P,end:$.end+P},type:fe};W=Sn(W,Z),q&&L.assert(F.substring($.pos,$.end)===B.substring(Z.range.pos,Z.range.end))}}return R(),W;function R(){Y||(Y=!0,W?A&&W.push(...A):W=A)}}function i(x,A,w,C,P,F){A?q(x):B(x);return;function B(W){let Y="";if(F&&o(W)&&(Y=C.substring(W.pos,W.end)),W._children&&(W._children=void 0),om(W,W.pos+w,W.end+w),F&&o(W)&&L.assert(Y===P.substring(W.pos,W.end)),pa(W,B,q),Kd(W))for(let R of W.jsDoc)B(R);l(W,F)}function q(W){W._children=void 0,om(W,W.pos+w,W.end+w);for(let Y of W)B(Y)}}function o(x){switch(x.kind){case 10:case 8:case 79:return!0}return!1}function s(x,A,w,C,P){L.assert(x.end>=A,"Adjusting an element that was entirely before the change range"),L.assert(x.pos<=w,"Adjusting an element that was entirely after the change range"),L.assert(x.pos<=x.end);let F=Math.min(x.pos,C),B=x.end>=w?x.end+P:Math.min(x.end,C);L.assert(F<=B),x.parent&&(L.assertGreaterThanOrEqual(F,x.parent.pos),L.assertLessThanOrEqual(B,x.parent.end)),om(x,F,B)}function l(x,A){if(A){let w=x.pos,C=P=>{L.assert(P.pos>=w),w=P.end};if(Kd(x))for(let P of x.jsDoc)C(P);pa(x,C),L.assert(w<=x.end)}}function f(x,A,w,C,P,F,B,q){W(x);return;function W(R){if(L.assert(R.pos<=R.end),R.pos>w){i(R,!1,P,F,B,q);return}let ie=R.end;if(ie>=A){if(R.intersectsChange=!0,R._children=void 0,s(R,A,w,C,P),pa(R,W,Y),Kd(R))for(let $ of R.jsDoc)W($);l(R,q);return}L.assert(ie<A)}function Y(R){if(L.assert(R.pos<=R.end),R.pos>w){i(R,!0,P,F,B,q);return}let ie=R.end;if(ie>=A){R.intersectsChange=!0,R._children=void 0,s(R,A,w,C,P);for(let $ of R)W($);return}L.assert(ie<A)}}function d(x,A){let C=A.span.start;for(let B=0;C>0&&B<=1;B++){let q=g(x,C);L.assert(q.pos<=C);let W=q.pos;C=Math.max(0,W-1)}let P=Wc(C,wl(A.span)),F=A.newLength+(A.span.start-C);return Sw(P,F)}function g(x,A){let w=x,C;if(pa(x,F),C){let B=P(C);B.pos>w.pos&&(w=B)}return w;function P(B){for(;;){let q=yW(B);if(q)B=q;else return B}}function F(B){if(!rc(B))if(B.pos<=A){if(B.pos>=w.pos&&(w=B),A<B.end)return pa(B,F),!0;L.assert(B.end<=A),C=B}else return L.assert(B.pos>A),!0}}function m(x,A,w,C){let P=x.text;if(w&&(L.assert(P.length-w.span.length+w.newLength===A.length),C||L.shouldAssert(3))){let F=P.substr(0,w.span.start),B=A.substr(0,w.span.start);L.assert(F===B);let q=P.substring(wl(w.span),P.length),W=A.substring(wl(uI(w)),A.length);L.assert(q===W)}}function v(x){let A=x.statements,w=0;L.assert(w<A.length);let C=A[w],P=-1;return{currentNode(B){return B!==P&&(C&&C.end===B&&w<A.length-1&&(w++,C=A[w]),(!C||C.pos!==B)&&F(B)),P=B,L.assert(!C||C.pos===B),C}};function F(B){A=void 0,w=-1,C=void 0,pa(x,q,W);return;function q(Y){return B>=Y.pos&&B<Y.end?(pa(Y,q,W),!0):!1}function W(Y){if(B>=Y.pos&&B<Y.end)for(let R=0;R<Y.length;R++){let ie=Y[R];if(ie){if(ie.pos===B)return A=Y,w=R,C=ie,!0;if(ie.pos<B&&B<ie.end)return pa(ie,q,W),!0}}return!1}}}e.createSyntaxCursor=v;let S;(x=>{x[x.Value=-1]="Value"})(S||(S={}))})(D3||(D3={})),w3=new Map,Wde=/^\/\/\/\s*<(\S+)\s.*?\/>/im,zde=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im}});function R3(e){let t=new Map,r=new Map;return mn(e,i=>{t.set(i.name.toLowerCase(),i),i.shortName&&r.set(i.shortName,i.name)}),{optionsNameMap:t,shortOptionNames:r}}function w2(){return Efe||(Efe=R3(Fh))}function pJ(e){return Jde(e,ps)}function Jde(e,t){let r=lo(e.type.keys()),i=(e.deprecatedKeys?r.filter(o=>!e.deprecatedKeys.has(o)):r).map(o=>`'${o}'`).join(", ");return t(_.Argument_for_0_option_must_be_Colon_1,`--${e.name}`,i)}function O3(e,t,r){return mfe(e,v0(t||""),r)}function Kde(e,t="",r){if(t=v0(t),na(t,"-"))return;if(e.type==="listOrElement"&&!jl(t,","))return HT(e,t,r);if(t==="")return[];let i=t.split(",");switch(e.element.type){case"number":return Zi(i,o=>HT(e.element,parseInt(o),r));case"string":return Zi(i,o=>HT(e.element,o||"",r));case"boolean":case"object":return L.fail(`List of ${e.element.type} is not yet supported.`);default:return Zi(i,o=>O3(e.element,o,r))}}function qde(e){return e.name}function mJ(e,t,r,i){var o;if((o=t.alternateMode)!=null&&o.getOptionsNameMap().optionsNameMap.has(e.toLowerCase()))return r(t.alternateMode.diagnostic,e);let s=$C(e,t.optionDeclarations,qde);return s?r(t.unknownDidYouMeanDiagnostic,i||e,s.name):r(t.unknownOptionDiagnostic,i||e)}function hJ(e,t,r){let i={},o,s=[],l=[];return f(t),{options:i,watchOptions:o,fileNames:s,errors:l};function f(g){let m=0;for(;m<g.length;){let v=g[m];if(m++,v.charCodeAt(0)===64)d(v.slice(1));else if(v.charCodeAt(0)===45){let S=v.slice(v.charCodeAt(1)===45?2:1),x=yJ(e.getOptionsNameMap,S,!0);if(x)m=Xde(g,m,e,x,i,l);else{let A=yJ(KO.getOptionsNameMap,S,!0);A?m=Xde(g,m,KO,A,o||(o={}),l):l.push(mJ(S,e,ps,v))}}else s.push(v)}}function d(g){let m=NO(g,r||(x=>xl.readFile(x)));if(!Ta(m)){l.push(m);return}let v=[],S=0;for(;;){for(;S<m.length&&m.charCodeAt(S)<=32;)S++;if(S>=m.length)break;let x=S;if(m.charCodeAt(x)===34){for(S++;S<m.length&&m.charCodeAt(S)!==34;)S++;S<m.length?(v.push(m.substring(x+1,S)),S++):l.push(ps(_.Unterminated_quoted_string_in_response_file_0,g))}else{for(;m.charCodeAt(S)>32;)S++;v.push(m.substring(x,S))}}f(v)}}function Xde(e,t,r,i,o,s){if(i.isTSConfigOnly){let l=e[t];l==="null"?(o[i.name]=void 0,t++):i.type==="boolean"?l==="false"?(o[i.name]=HT(i,!1,s),t++):(l==="true"&&t++,s.push(ps(_.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(s.push(ps(_.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),l&&!na(l,"-")&&t++)}else if(!e[t]&&i.type!=="boolean"&&s.push(ps(r.optionTypeMismatchDiagnostic,i.name,OL(i))),e[t]!=="null")switch(i.type){case"number":o[i.name]=HT(i,parseInt(e[t]),s),t++;break;case"boolean":let l=e[t];o[i.name]=HT(i,l!=="false",s),(l==="false"||l==="true")&&t++;break;case"string":o[i.name]=HT(i,e[t]||"",s),t++;break;case"list":let f=Kde(i,e[t],s);o[i.name]=f||[],f&&t++;break;case"listOrElement":L.fail("listOrElement not supported here");break;default:o[i.name]=O3(i,e[t],s),t++;break}else o[i.name]=void 0,t++;return t}function $Oe(e,t){return hJ(JO,e,t)}function gJ(e,t){return yJ(w2,e,t)}function yJ(e,t,r=!1){t=t.toLowerCase();let{optionsNameMap:i,shortOptionNames:o}=e();if(r){let s=o.get(t);s!==void 0&&(t=s)}return i.get(t)}function Yde(){return Sfe||(Sfe=R3(j3))}function QOe(e){let{options:t,watchOptions:r,fileNames:i,errors:o}=hJ(Afe,e),s=t;return i.length===0&&i.push("."),s.clean&&s.force&&o.push(ps(_.Options_0_and_1_cannot_be_combined,"clean","force")),s.clean&&s.verbose&&o.push(ps(_.Options_0_and_1_cannot_be_combined,"clean","verbose")),s.clean&&s.watch&&o.push(ps(_.Options_0_and_1_cannot_be_combined,"clean","watch")),s.watch&&s.dry&&o.push(ps(_.Options_0_and_1_cannot_be_combined,"watch","dry")),{buildOptions:s,watchOptions:r,projects:i,errors:o}}function ZOe(e,...t){return ps.apply(void 0,arguments).messageText}function RO(e,t,r,i,o,s){let l=NO(e,g=>r.readFile(g));if(!Ta(l)){r.onUnRecoverableConfigFileDiagnostic(l);return}let f=wO(e,l),d=r.getCurrentDirectory();return f.path=Ts(e,d,Dl(r.useCaseSensitiveFileNames)),f.resolvedPath=f.path,f.originalFileName=f.fileName,MO(f,r,_a(ni(e),d),t,_a(e,d),void 0,s,i,o)}function OO(e,t){let r=NO(e,t);return Ta(r)?vJ(e,r):{config:{},error:r}}function vJ(e,t){let r=wO(e,t);return{config:nfe(r,r.parseDiagnostics,!1,void 0),error:r.parseDiagnostics.length?r.parseDiagnostics[0]:void 0}}function $de(e,t){let r=NO(e,t);return Ta(r)?wO(e,r):{fileName:e,parseDiagnostics:[r]}}function NO(e,t){let r;try{r=t(e)}catch(i){return ps(_.Cannot_read_file_0_Colon_1,e,i.message)}return r===void 0?ps(_.Cannot_read_file_0,e):r}function N3(e){return p0(e,qde)}function Qde(){return Cfe||(Cfe=R3(HO))}function Zde(){return Ife||(Ife=N3(Fh))}function efe(){return Lfe||(Lfe=N3(HO))}function tfe(){return kfe||(kfe=N3(H3))}function eNe(){return jJ===void 0&&(jJ={name:void 0,type:"object",elementOptions:N3([{name:"compilerOptions",type:"object",elementOptions:Zde(),extraKeyDiagnostics:JO},{name:"watchOptions",type:"object",elementOptions:efe(),extraKeyDiagnostics:KO},{name:"typeAcquisition",type:"object",elementOptions:tfe(),extraKeyDiagnostics:VJ},qO,{name:"references",type:"list",element:{name:"references",type:"object"},category:_.Projects},{name:"files",type:"list",element:{name:"files",type:"string"},category:_.File_Management},{name:"include",type:"list",element:{name:"include",type:"string"},category:_.File_Management,defaultValueDescription:_.if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk},{name:"exclude",type:"list",element:{name:"exclude",type:"string"},category:_.File_Management,defaultValueDescription:_.node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified},UO])}),jJ}function nfe(e,t,r,i){var o;let s=(o=e.statements[0])==null?void 0:o.expression,l=r?eNe():void 0;if(s&&s.kind!==207){if(t.push(Nu(e,s,_.The_root_value_of_a_0_file_must_be_an_object,Hl(e.fileName)==="jsconfig.json"?"jsconfig.json":"tsconfig.json")),fu(s)){let f=wr(s.elements,rs);if(f)return PO(e,f,t,!0,l,i)}return{}}return PO(e,s,t,!0,l,i)}function rfe(e,t){var r;return PO(e,(r=e.statements[0])==null?void 0:r.expression,t,!0,void 0,void 0)}function PO(e,t,r,i,o,s){if(!t)return i?{}:void 0;return g(t,o);function l(v){return o&&o.elementOptions===v}function f(v,S,x,A){let w=i?{}:void 0;for(let C of v.properties){if(C.kind!==299){r.push(Nu(e,C,_.Property_assignment_expected));continue}C.questionToken&&r.push(Nu(e,C.questionToken,_.The_0_modifier_can_only_be_used_in_TypeScript_files,"?")),m(C.name)||r.push(Nu(e,C.name,_.String_literal_with_double_quotes_expected));let P=Vw(C.name)?void 0:wA(C.name),F=P&&Gi(P),B=F&&S?S.get(F):void 0;F&&x&&!B&&(S?r.push(mJ(F,x,(W,Y,R)=>Nu(e,C.name,W,Y,R))):r.push(Nu(e,C.name,x.unknownOptionDiagnostic,F)));let q=g(C.initializer,B);if(typeof F<"u"&&(i&&(w[F]=q),s&&(A||l(S)))){let W=P3(B,q);A?W&&s.onSetValidOptionKeyValueInParent(A,B,q):l(S)&&(W?s.onSetValidOptionKeyValueInRoot(F,C.name,q,C.initializer):B||s.onSetUnknownOptionKeyValueInRoot(F,C.name,q,C.initializer))}}return w}function d(v,S){if(!i){v.forEach(x=>g(x,S));return}return Pr(v.map(x=>g(x,S)),x=>x!==void 0)}function g(v,S){let x;switch(v.kind){case 110:return w(S&&S.type!=="boolean"&&(S.type!=="listOrElement"||S.element.type!=="boolean")),A(!0);case 95:return w(S&&S.type!=="boolean"&&(S.type!=="listOrElement"||S.element.type!=="boolean")),A(!1);case 104:return w(S&&S.name==="extends"),A(null);case 10:m(v)||r.push(Nu(e,v,_.String_literal_with_double_quotes_expected)),w(S&&Ta(S.type)&&S.type!=="string"&&(S.type!=="listOrElement"||Ta(S.element.type)&&S.element.type!=="string"));let C=v.text;if(S&&L.assert(S.type!=="listOrElement"||S.element.type==="string","Only string or array of string is handled for now"),S&&!Ta(S.type)){let F=S;F.type.has(C.toLowerCase())||(r.push(Jde(F,(B,q,W)=>Nu(e,v,B,q,W))),x=!0)}return A(C);case 8:return w(S&&S.type!=="number"&&(S.type!=="listOrElement"||S.element.type!=="number")),A(Number(v.text));case 221:if(v.operator!==40||v.operand.kind!==8)break;return w(S&&S.type!=="number"&&(S.type!=="listOrElement"||S.element.type!=="number")),A(-Number(v.operand.text));case 207:w(S&&S.type!=="object"&&(S.type!=="listOrElement"||S.element.type!=="object"));let P=v;if(S){let{elementOptions:F,extraKeyDiagnostics:B,name:q}=S;return A(f(P,F,B,q))}else return A(f(P,void 0,void 0,void 0));case 206:return w(S&&S.type!=="list"&&S.type!=="listOrElement"),A(d(v.elements,S&&S.element))}S?w(!0):r.push(Nu(e,v,_.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal));return;function A(C){var P;if(!x){let F=(P=S?.extraValidation)==null?void 0:P.call(S,C);if(F){r.push(Nu(e,v,...F));return}}return C}function w(C){C&&(r.push(Nu(e,v,_.Compiler_option_0_requires_a_value_of_type_1,S.name,OL(S))),x=!0)}}function m(v){return yo(v)&&V6(v,e)}}function OL(e){return e.type==="listOrElement"?`${OL(e.element)} or Array`:e.type==="list"?"Array":Ta(e.type)?e.type:"string"}function P3(e,t){if(e){if(R2(t))return!0;if(e.type==="list")return ba(t);if(e.type==="listOrElement")return ba(t)||P3(e.element,t);let r=Ta(e.type)?e.type:"string";return typeof t===r}return!1}function tNe(e,t,r){var i,o,s;let l=Dl(r.useCaseSensitiveFileNames),f=on(Pr(e.fileNames,(o=(i=e.options.configFile)==null?void 0:i.configFileSpecs)!=null&&o.validatedIncludeSpecs?rNe(t,e.options.configFile.configFileSpecs.validatedIncludeSpecs,e.options.configFile.configFileSpecs.validatedExcludeSpecs,r):h0),v=>_w(_a(t,r.getCurrentDirectory()),_a(v,r.getCurrentDirectory()),l)),d=TJ(e.options,{configFilePath:_a(t,r.getCurrentDirectory()),useCaseSensitiveFileNames:r.useCaseSensitiveFileNames}),g=e.watchOptions&&iNe(e.watchOptions);return{compilerOptions:{...bJ(d),showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0},watchOptions:g&&bJ(g),references:on(e.projectReferences,v=>({...v,path:v.originalPath?v.originalPath:"",originalPath:void 0})),files:Fn(f)?f:void 0,...(s=e.options.configFile)!=null&&s.configFileSpecs?{include:nNe(e.options.configFile.configFileSpecs.validatedIncludeSpecs),exclude:e.options.configFile.configFileSpecs.validatedExcludeSpecs}:{},compileOnSave:e.compileOnSave?!0:void 0}}function bJ(e){return{...lo(e.entries()).reduce((t,r)=>({...t,[r[0]]:r[1]}),{})}}function nNe(e){if(Fn(e)){if(Fn(e)!==1)return e;if(e[0]!==z3)return e}}function rNe(e,t,r,i){if(!t)return h0;let o=tL(e,r,t,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),s=o.excludePattern&&Qy(o.excludePattern,i.useCaseSensitiveFileNames),l=o.includeFilePattern&&Qy(o.includeFilePattern,i.useCaseSensitiveFileNames);return l?s?f=>!(l.test(f)&&!s.test(f)):f=>!l.test(f):s?f=>s.test(f):h0}function ife(e){switch(e.type){case"string":case"number":case"boolean":case"object":return;case"list":case"listOrElement":return ife(e.element);default:return e.type}}function EJ(e,t){return Ld(t,(r,i)=>{if(r===e)return i})}function TJ(e,t){return afe(e,w2(),t)}function iNe(e){return afe(e,Qde())}function afe(e,{optionsNameMap:t},r){let i=new Map,o=r&&Dl(r.useCaseSensitiveFileNames);for(let s in e)if(fs(e,s)){if(t.has(s)&&(t.get(s).category===_.Command_line_Options||t.get(s).category===_.Output_Formatting))continue;let l=e[s],f=t.get(s.toLowerCase());if(f){L.assert(f.type!=="listOrElement");let d=ife(f);d?f.type==="list"?i.set(s,l.map(g=>EJ(g,d))):i.set(s,EJ(l,d)):r&&f.isFilePath?i.set(s,_w(r.configFilePath,_a(l,ni(r.configFilePath)),o)):i.set(s,l)}}return i}function aNe(e,t){let r=ofe(e);return o();function i(s){return Array(s+1).join(" ")}function o(){let s=[],l=i(2);return B3.forEach(f=>{if(!r.has(f.name))return;let d=r.get(f.name),g=wJ(f);d!==g?s.push(`${l}${f.name}: ${d}`):fs(W3,f.name)&&s.push(`${l}${f.name}: ${g}`)}),s.join(t)+t}}function ofe(e){let t=d8(e,W3);return TJ(t)}function oNe(e,t,r){let i=ofe(e);return l();function o(f){return Array(f+1).join(" ")}function s({category:f,name:d,isCommandLineOnly:g}){let m=[_.Command_line_Options,_.Editor_Support,_.Compiler_Diagnostics,_.Backwards_Compatibility,_.Watch_and_Build_Modes,_.Output_Formatting];return!g&&f!==void 0&&(!m.includes(f)||i.has(d))}function l(){let f=new Map;f.set(_.Projects,[]),f.set(_.Language_and_Environment,[]),f.set(_.Modules,[]),f.set(_.JavaScript_Support,[]),f.set(_.Emit,[]),f.set(_.Interop_Constraints,[]),f.set(_.Type_Checking,[]),f.set(_.Completeness,[]);for(let x of Fh)if(s(x)){let A=f.get(x.category);A||f.set(x.category,A=[]),A.push(x)}let d=0,g=0,m=[];f.forEach((x,A)=>{m.length!==0&&m.push({value:""}),m.push({value:`/* ${uo(A)} */`});for(let w of x){let C;i.has(w.name)?C=`"${w.name}": ${JSON.stringify(i.get(w.name))}${(g+=1)===i.size?"":","}`:C=`// "${w.name}": ${JSON.stringify(wJ(w))},`,m.push({value:C,description:`/* ${w.description&&uo(w.description)||w.name} */`}),d=Math.max(C.length,d)}});let v=o(2),S=[];S.push("{"),S.push(`${v}"compilerOptions": {`),S.push(`${v}${v}/* ${uo(_.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file)} */`),S.push("");for(let x of m){let{value:A,description:w=""}=x;S.push(A&&`${v}${v}${A}${w&&o(d-A.length+2)+w}`)}if(t.length){S.push(`${v}},`),S.push(`${v}"files": [`);for(let x=0;x<t.length;x++)S.push(`${v}${v}${JSON.stringify(t[x])}${x===t.length-1?"":","}`);S.push(`${v}]`)}else S.push(`${v}}`);return S.push("}"),S.join(r)+r}}function SJ(e,t){let r={},i=w2().optionsNameMap;for(let o in e)fs(e,o)&&(r[o]=sNe(i.get(o.toLowerCase()),e[o],t));return r.configFilePath&&(r.configFilePath=t(r.configFilePath)),r}function sNe(e,t,r){if(e&&!R2(t)){if(e.type==="list"){let i=t;if(e.element.isFilePath&&i.length)return i.map(r)}else if(e.isFilePath)return r(t);L.assert(e.type!=="listOrElement")}return t}function cNe(e,t,r,i,o,s,l,f,d){return sfe(e,void 0,t,r,i,d,o,s,l,f)}function MO(e,t,r,i,o,s,l,f,d){var g,m;(g=ai)==null||g.push(ai.Phase.Parse,"parseJsonSourceFileConfigFileContent",{path:e.fileName});let v=sfe(void 0,e,t,r,i,d,o,s,l,f);return(m=ai)==null||m.pop(),v}function xJ(e,t){t&&Object.defineProperty(e,"configFile",{enumerable:!1,writable:!1,value:t})}function R2(e){return e==null}function AJ(e,t){return ni(_a(e,t))}function sfe(e,t,r,i,o={},s,l,f=[],d=[],g){L.assert(e===void 0&&t!==void 0||e!==void 0&&t===void 0);let m=[],v=ufe(e,t,r,i,l,f,m,g),{raw:S}=v,x=d8(o,v.options||{}),A=s&&v.watchOptions?d8(s,v.watchOptions):v.watchOptions||s;x.configFilePath=l&&Al(l);let w=P();t&&(t.configFileSpecs=w),xJ(x,t);let C=So(l?AJ(l,i):i);return{options:x,watchOptions:A,fileNames:F(C),projectReferences:B(C),typeAcquisition:v.typeAcquisition||F3(),raw:S,errors:m,wildcardDirectories:yNe(w,C,r.useCaseSensitiveFileNames),compileOnSave:!!S.compileOnSave};function P(){let ie=Y("references",ge=>typeof ge=="object","object"),$=q(W("files"));if($){let ge=ie==="no-prop"||ba(ie)&&ie.length===0,X=fs(S,"extends");if($.length===0&&ge&&!X)if(t){let Ve=l||"tsconfig.json",we=_.The_files_list_in_config_file_0_is_empty,ke=ks(Hw(t,"files"),Ce=>Ce.initializer),Pe=ke?Nu(t,ke,we,Ve):ps(we,Ve);m.push(Pe)}else R(_.The_files_list_in_config_file_0_is_empty,l||"tsconfig.json")}let fe=q(W("include")),Z=W("exclude"),U=!1,re=q(Z);if(Z==="no-prop"&&S.compilerOptions){let ge=S.compilerOptions.outDir,X=S.compilerOptions.declarationDir;(ge||X)&&(re=[ge,X].filter(Ve=>!!Ve))}$===void 0&&fe===void 0&&(fe=[z3],U=!0);let le,_e;return fe&&(le=bfe(fe,m,!0,t,"include")),re&&(_e=bfe(re,m,!1,t,"exclude")),{filesSpecs:$,includeSpecs:fe,excludeSpecs:re,validatedFilesSpec:Pr($,Ta),validatedIncludeSpecs:le,validatedExcludeSpecs:_e,pathPatterns:void 0,isDefaultIncludeSpec:U}}function F(ie){let $=BO(w,ie,x,r,d);return lfe($,FO(S),f)&&m.push(cfe(w,l)),$}function B(ie){let $,fe=Y("references",Z=>typeof Z=="object","object");if(ba(fe))for(let Z of fe)typeof Z.path!="string"?R(_.Compiler_option_0_requires_a_value_of_type_1,"reference.path","string"):($||($=[])).push({path:_a(Z.path,ie),originalPath:Z.path,prepend:Z.prepend,circular:Z.circular});return $}function q(ie){return ba(ie)?ie:void 0}function W(ie){return Y(ie,Ta,"string")}function Y(ie,$,fe){if(fs(S,ie)&&!R2(S[ie]))if(ba(S[ie])){let Z=S[ie];return!t&&!Ji(Z,$)&&m.push(ps(_.Compiler_option_0_requires_a_value_of_type_1,ie,fe)),Z}else return R(_.Compiler_option_0_requires_a_value_of_type_1,ie,"Array"),"not-array";return"no-prop"}function R(ie,$,fe){t||m.push(ps(ie,$,fe))}}function lNe(e){return e.code===_.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2.code}function cfe({includeSpecs:e,excludeSpecs:t},r){return ps(_.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,r||"tsconfig.json",JSON.stringify(e||[]),JSON.stringify(t||[]))}function lfe(e,t,r){return e.length===0&&t&&(!r||r.length===0)}function FO(e){return!fs(e,"files")&&!fs(e,"references")}function CJ(e,t,r,i,o){let s=i.length;return lfe(e,o)?i.push(cfe(r,t)):wU(i,l=>!lNe(l)),s!==i.length}function uNe(e){return!!e.options}function ufe(e,t,r,i,o,s,l,f){var d;i=Al(i);let g=_a(o||"",i);if(s.indexOf(g)>=0)return l.push(ps(_.Circularity_detected_while_resolving_configuration_Colon_0,[...s,g].join(" -> "))),{raw:e||rfe(t,l)};let m=e?dNe(e,r,i,o,l):fNe(t,r,i,o,l);if((d=m.options)!=null&&d.paths&&(m.options.pathsBasePath=i),m.extendedConfigPath){s=s.concat([g]);let S={options:{}};Ta(m.extendedConfigPath)?v(S,m.extendedConfigPath):m.extendedConfigPath.forEach(x=>v(S,x)),!m.raw.include&&S.include&&(m.raw.include=S.include),!m.raw.exclude&&S.exclude&&(m.raw.exclude=S.exclude),!m.raw.files&&S.files&&(m.raw.files=S.files),m.raw.compileOnSave===void 0&&S.compileOnSave&&(m.raw.compileOnSave=S.compileOnSave),t&&S.extendedSourceFiles&&(t.extendedSourceFiles=lo(S.extendedSourceFiles.keys())),m.options=JD(S.options,m.options),m.watchOptions=m.watchOptions&&S.watchOptions?JD(S.watchOptions,m.watchOptions):m.watchOptions||S.watchOptions}return m;function v(S,x){let A=_Ne(t,x,r,s,l,f,S);if(A&&uNe(A)){let w=A.raw,C,P=F=>{w[F]&&(S[F]=on(w[F],B=>qp(B)?B:vi(C||(C=rI(ni(x),i,Dl(r.useCaseSensitiveFileNames))),B)))};P("include"),P("exclude"),P("files"),w.compileOnSave!==void 0&&(S.compileOnSave=w.compileOnSave),JD(S.options,A.options),S.watchOptions=S.watchOptions&&A.watchOptions?JD({},S.watchOptions,A.watchOptions):S.watchOptions||A.watchOptions}}}function dNe(e,t,r,i,o){fs(e,"excludes")&&o.push(ps(_.Unknown_option_excludes_Did_you_mean_exclude));let s=ffe(e.compilerOptions,r,o,i),l=_fe(e.typeAcquisition,r,o,i),f=gNe(e.watchOptions,r,o);e.compileOnSave=pNe(e,r,o);let d;if(e.extends||e.extends==="")if(!P3(qO,e.extends))o.push(ps(_.Compiler_option_0_requires_a_value_of_type_1,"extends",OL(qO)));else{let g=i?AJ(i,r):r;if(Ta(e.extends))d=M3(e.extends,t,g,o,ps);else{d=[];for(let m of e.extends)Ta(m)?d=Sn(d,M3(m,t,g,o,ps)):o.push(ps(_.Compiler_option_0_requires_a_value_of_type_1,"extends",OL(qO.element)))}}return{raw:e,options:s,watchOptions:f,typeAcquisition:l,extendedConfigPath:d}}function fNe(e,t,r,i,o){let s=dfe(i),l,f,d,g,v=nfe(e,o,!0,{onSetValidOptionKeyValueInParent(S,x,A){let w;switch(S){case"compilerOptions":w=s;break;case"watchOptions":w=f||(f={});break;case"typeAcquisition":w=l||(l=F3(i));break;default:L.fail("Unknown option")}w[x.name]=LJ(x,r,A)},onSetValidOptionKeyValueInRoot(S,x,A,w){switch(S){case"extends":let C=i?AJ(i,r):r;if(Ta(A))d=M3(A,t,C,o,(P,F)=>Nu(e,w,P,F));else{d=[];for(let P=0;P<A.length;P++){let F=A[P];Ta(F)&&(d=Sn(d,M3(F,t,C,o,(B,q)=>Nu(e,w.elements[P],B,q))))}}return}},onSetUnknownOptionKeyValueInRoot(S,x,A,w){S==="excludes"&&o.push(Nu(e,x,_.Unknown_option_excludes_Did_you_mean_exclude)),wr(B3,C=>C.name===S)&&(g=Sn(g,x))}});return l||(l=F3(i)),g&&v&&v.compilerOptions===void 0&&o.push(Nu(e,g[0],_._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file,wA(g[0]))),{raw:v,options:s,watchOptions:f,typeAcquisition:l,extendedConfigPath:d}}function M3(e,t,r,i,o){if(e=Al(e),qp(e)||na(e,"./")||na(e,"../")){let l=_a(e,r);if(!t.fileExists(l)&&!Oc(l,".json")&&(l=`${l}.json`,!t.fileExists(l))){i.push(o(_.File_0_not_found,e));return}return l}let s=Jfe(e,vi(r,"tsconfig.json"),t);if(s.resolvedModule)return s.resolvedModule.resolvedFileName;e===""?i.push(o(_.Compiler_option_0_cannot_be_given_an_empty_string,"extends")):i.push(o(_.File_0_not_found,e))}function _Ne(e,t,r,i,o,s,l){var f;let d=r.useCaseSensitiveFileNames?t:n_(t),g,m,v;if(s&&(g=s.get(d))?{extendedResult:m,extendedConfig:v}=g:(m=$de(t,S=>r.readFile(S)),m.parseDiagnostics.length||(v=ufe(void 0,m,r,ni(t),Hl(t),i,o,s)),s&&s.set(d,{extendedResult:m,extendedConfig:v})),e&&(((f=l.extendedSourceFiles)!=null?f:l.extendedSourceFiles=new Set).add(m.fileName),m.extendedSourceFiles))for(let S of m.extendedSourceFiles)l.extendedSourceFiles.add(S);if(m.parseDiagnostics.length){o.push(...m.parseDiagnostics);return}return v}function pNe(e,t,r){if(!fs(e,UO.name))return!1;let i=GO(UO,e.compileOnSave,t,r);return typeof i=="boolean"&&i}function mNe(e,t,r){let i=[];return{options:ffe(e,t,i,r),errors:i}}function hNe(e,t,r){let i=[];return{options:_fe(e,t,i,r),errors:i}}function dfe(e){return e&&Hl(e)==="jsconfig.json"?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ffe(e,t,r,i){let o=dfe(i);return IJ(Zde(),e,t,o,JO,r),i&&(o.configFilePath=Al(i)),o}function F3(e){return{enable:!!e&&Hl(e)==="jsconfig.json",include:[],exclude:[]}}function _fe(e,t,r,i){let o=F3(i);return IJ(tfe(),e,t,o,VJ,r),o}function gNe(e,t,r){return IJ(efe(),e,t,void 0,KO,r)}function IJ(e,t,r,i,o,s){if(t){for(let l in t){let f=e.get(l);f?(i||(i={}))[f.name]=GO(f,t[l],r,s):s.push(mJ(l,o,ps))}return i}}function GO(e,t,r,i){if(P3(e,t)){let o=e.type;if(o==="list"&&ba(t))return hfe(e,t,r,i);if(o==="listOrElement")return ba(t)?hfe(e,t,r,i):GO(e.element,t,r,i);if(!Ta(e.type))return mfe(e,t,i);let s=HT(e,t,i);return R2(s)?s:pfe(e,r,s)}else i.push(ps(_.Compiler_option_0_requires_a_value_of_type_1,e.name,OL(e)))}function LJ(e,t,r){if(!R2(r)){if(e.type==="listOrElement"&&!ba(r))return LJ(e.element,t,r);if(e.type==="list"||e.type==="listOrElement"){let i=e;return i.element.isFilePath||!Ta(i.element.type)?Pr(on(r,o=>LJ(i.element,t,o)),o=>i.listPreserveFalsyValues?!0:!!o):r}else if(!Ta(e.type))return e.type.get(Ta(r)?r.toLowerCase():r);return pfe(e,t,r)}}function pfe(e,t,r){return e.isFilePath&&(r=_a(r,t),r===""&&(r=".")),r}function HT(e,t,r){var i;if(R2(t))return;let o=(i=e.extraValidation)==null?void 0:i.call(e,t);if(!o)return t;r.push(ps(...o))}function mfe(e,t,r){if(R2(t))return;let i=t.toLowerCase(),o=e.type.get(i);if(o!==void 0)return HT(e,o,r);r.push(pJ(e))}function hfe(e,t,r,i){return Pr(on(t,o=>GO(e.element,o,r,i)),o=>e.listPreserveFalsyValues?!0:!!o)}function BO(e,t,r,i,o=Je){t=So(t);let s=Dl(i.useCaseSensitiveFileNames),l=new Map,f=new Map,d=new Map,{validatedFilesSpec:g,validatedIncludeSpecs:m,validatedExcludeSpecs:v}=e,S=nL(r,o),x=FR(r,S);if(g)for(let P of g){let F=_a(P,t);l.set(s(F),F)}let A;if(m&&m.length>0)for(let P of i.readDirectory(t,t_(x),v,m,void 0)){if(Gc(P,".json")){if(!A){let q=m.filter(Y=>Oc(Y,".json")),W=on(m4(q,t,"files"),Y=>`^${Y}$`);A=W?W.map(Y=>Qy(Y,i.useCaseSensitiveFileNames)):Je}if(Yc(A,q=>q.test(P))!==-1){let q=s(P);!l.has(q)&&!d.has(q)&&d.set(q,P)}continue}if(bNe(P,l,f,S,s))continue;ENe(P,f,S,s);let F=s(P);!l.has(F)&&!f.has(F)&&f.set(F,P)}let w=lo(l.values()),C=lo(f.values());return w.concat(C,lo(d.values()))}function gfe(e,t,r,i,o){let{validatedFilesSpec:s,validatedIncludeSpecs:l,validatedExcludeSpecs:f}=t;if(!Fn(l)||!Fn(f))return!1;r=So(r);let d=Dl(i);if(s){for(let g of s)if(d(_a(g,r))===e)return!1}return vfe(e,f,i,o,r)}function yfe(e){let t=na(e,"**/")?0:e.indexOf("/**/");return t===-1?!1:(Oc(e,"/..")?e.length:e.lastIndexOf("/../"))>t}function G3(e,t,r,i){return vfe(e,Pr(t,o=>!yfe(o)),r,i)}function vfe(e,t,r,i,o){let s=eL(t,vi(So(i),o),"exclude"),l=s&&Qy(s,r);return l?l.test(e)?!0:!gA(e)&&l.test(cu(e)):!1}function bfe(e,t,r,i,o){return e.filter(l=>{if(!Ta(l))return!1;let f=kJ(l,r);return f!==void 0&&t.push(s(...f)),f===void 0});function s(l,f){let d=w6(i,o,f);return d?Nu(i,d,l,f):ps(l,f)}}function kJ(e,t){if(L.assert(typeof e=="string"),t&&Dfe.test(e))return[_.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,e];if(yfe(e))return[_.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,e]}function yNe({validatedIncludeSpecs:e,validatedExcludeSpecs:t},r,i){let o=eL(t,r,"exclude"),s=o&&new RegExp(o,i?"":"i"),l={};if(e!==void 0){let f=[];for(let d of e){let g=So(vi(r,d));if(s&&s.test(g))continue;let m=vNe(g,i);if(m){let{key:v,flags:S}=m,x=l[v];(x===void 0||x<S)&&(l[v]=S,S===1&&f.push(v))}}for(let d in l)if(fs(l,d))for(let g of f)d!==g&&Gy(g,d,r,!i)&&delete l[d]}return l}function vNe(e,t){let r=wfe.exec(e);if(r){let i=e.indexOf("?"),o=e.indexOf("*"),s=e.lastIndexOf(_s);return{key:t?r[0]:n_(r[0]),flags:i!==-1&&i<s||o!==-1&&o<s?1:0}}if(LW(e.substring(e.lastIndexOf(_s)+1)))return{key:sT(t?e:n_(e)),flags:1}}function bNe(e,t,r,i,o){let s=mn(i,l=>$c(e,l)?l:void 0);if(!s)return!1;for(let l of s){if(Gc(e,l))return!1;let f=o(V0(e,l));if(t.has(f)||r.has(f)){if(l===".d.ts"&&(Gc(e,".js")||Gc(e,".jsx")))continue;return!0}}return!1}function ENe(e,t,r,i){let o=mn(r,s=>$c(e,s)?s:void 0);if(o)for(let s=o.length-1;s>=0;s--){let l=o[s];if(Gc(e,l))return;let f=i(V0(e,l));t.delete(f)}}function TNe(e){let t={};for(let r in e)if(fs(e,r)){let i=gJ(r);i!==void 0&&(t[r]=DJ(e[r],i))}return t}function DJ(e,t){switch(t.type){case"object":return"";case"string":return"";case"number":return typeof e=="number"?e:"";case"boolean":return typeof e=="boolean"?e:"";case"listOrElement":if(!ba(e))return DJ(e,t.element);case"list":let r=t.element;return ba(e)?e.map(i=>DJ(i,r)):"";default:return Ld(t.type,(i,o)=>{if(i===e)return o})}}function wJ(e){switch(e.type){case"number":return 1;case"boolean":return!0;case"string":let t=e.defaultValueDescription;return e.isFilePath?`./${t&&typeof t=="string"?t:""}`:"";case"list":return[];case"listOrElement":return wJ(e.element);case"object":return{};default:let r=u8(e.type.keys());return r!==void 0?r:L.fail("Expected 'option.type' to have entries.")}}var UO,RJ,NL,OJ,VO,jO,HO,WO,zO,NJ,B3,Fh,PJ,MJ,FJ,U3,V3,GJ,BJ,UJ,j3,H3,Efe,Tfe,W3,JO,Sfe,xfe,Afe,VJ,Cfe,KO,Ife,Lfe,kfe,qO,jJ,z3,Dfe,wfe,SNe=gt({"src/compiler/commandLineParser.ts"(){"use strict";fa(),UO={name:"compileOnSave",type:"boolean",defaultValueDescription:!1},RJ=new Map(Object.entries({preserve:1,"react-native":3,react:2,"react-jsx":4,"react-jsxdev":5})),NL=new Map(RU(RJ.entries(),([e,t])=>[""+t,e])),OJ=[["es5","lib.es5.d.ts"],["es6","lib.es2015.d.ts"],["es2015","lib.es2015.d.ts"],["es7","lib.es2016.d.ts"],["es2016","lib.es2016.d.ts"],["es2017","lib.es2017.d.ts"],["es2018","lib.es2018.d.ts"],["es2019","lib.es2019.d.ts"],["es2020","lib.es2020.d.ts"],["es2021","lib.es2021.d.ts"],["es2022","lib.es2022.d.ts"],["es2023","lib.es2023.d.ts"],["esnext","lib.esnext.d.ts"],["dom","lib.dom.d.ts"],["dom.iterable","lib.dom.iterable.d.ts"],["webworker","lib.webworker.d.ts"],["webworker.importscripts","lib.webworker.importscripts.d.ts"],["webworker.iterable","lib.webworker.iterable.d.ts"],["scripthost","lib.scripthost.d.ts"],["es2015.core","lib.es2015.core.d.ts"],["es2015.collection","lib.es2015.collection.d.ts"],["es2015.generator","lib.es2015.generator.d.ts"],["es2015.iterable","lib.es2015.iterable.d.ts"],["es2015.promise","lib.es2015.promise.d.ts"],["es2015.proxy","lib.es2015.proxy.d.ts"],["es2015.reflect","lib.es2015.reflect.d.ts"],["es2015.symbol","lib.es2015.symbol.d.ts"],["es2015.symbol.wellknown","lib.es2015.symbol.wellknown.d.ts"],["es2016.array.include","lib.es2016.array.include.d.ts"],["es2017.object","lib.es2017.object.d.ts"],["es2017.sharedmemory","lib.es2017.sharedmemory.d.ts"],["es2017.string","lib.es2017.string.d.ts"],["es2017.intl","lib.es2017.intl.d.ts"],["es2017.typedarrays","lib.es2017.typedarrays.d.ts"],["es2018.asyncgenerator","lib.es2018.asyncgenerator.d.ts"],["es2018.asynciterable","lib.es2018.asynciterable.d.ts"],["es2018.intl","lib.es2018.intl.d.ts"],["es2018.promise","lib.es2018.promise.d.ts"],["es2018.regexp","lib.es2018.regexp.d.ts"],["es2019.array","lib.es2019.array.d.ts"],["es2019.object","lib.es2019.object.d.ts"],["es2019.string","lib.es2019.string.d.ts"],["es2019.symbol","lib.es2019.symbol.d.ts"],["es2019.intl","lib.es2019.intl.d.ts"],["es2020.bigint","lib.es2020.bigint.d.ts"],["es2020.date","lib.es2020.date.d.ts"],["es2020.promise","lib.es2020.promise.d.ts"],["es2020.sharedmemory","lib.es2020.sharedmemory.d.ts"],["es2020.string","lib.es2020.string.d.ts"],["es2020.symbol.wellknown","lib.es2020.symbol.wellknown.d.ts"],["es2020.intl","lib.es2020.intl.d.ts"],["es2020.number","lib.es2020.number.d.ts"],["es2021.promise","lib.es2021.promise.d.ts"],["es2021.string","lib.es2021.string.d.ts"],["es2021.weakref","lib.es2021.weakref.d.ts"],["es2021.intl","lib.es2021.intl.d.ts"],["es2022.array","lib.es2022.array.d.ts"],["es2022.error","lib.es2022.error.d.ts"],["es2022.intl","lib.es2022.intl.d.ts"],["es2022.object","lib.es2022.object.d.ts"],["es2022.sharedmemory","lib.es2022.sharedmemory.d.ts"],["es2022.string","lib.es2022.string.d.ts"],["es2022.regexp","lib.es2022.regexp.d.ts"],["es2023.array","lib.es2023.array.d.ts"],["esnext.array","lib.es2023.array.d.ts"],["esnext.symbol","lib.es2019.symbol.d.ts"],["esnext.asynciterable","lib.es2018.asynciterable.d.ts"],["esnext.intl","lib.esnext.intl.d.ts"],["esnext.bigint","lib.es2020.bigint.d.ts"],["esnext.string","lib.es2022.string.d.ts"],["esnext.promise","lib.es2021.promise.d.ts"],["esnext.weakref","lib.es2021.weakref.d.ts"],["decorators","lib.decorators.d.ts"],["decorators.legacy","lib.decorators.legacy.d.ts"]],VO=OJ.map(e=>e[0]),jO=new Map(OJ),HO=[{name:"watchFile",type:new Map(Object.entries({fixedpollinginterval:0,prioritypollinginterval:1,dynamicprioritypolling:2,fixedchunksizepolling:3,usefsevents:4,usefseventsonparentdirectory:5})),category:_.Watch_and_Build_Modes,description:_.Specify_how_the_TypeScript_watch_mode_works,defaultValueDescription:4},{name:"watchDirectory",type:new Map(Object.entries({usefsevents:0,fixedpollinginterval:1,dynamicprioritypolling:2,fixedchunksizepolling:3})),category:_.Watch_and_Build_Modes,description:_.Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality,defaultValueDescription:0},{name:"fallbackPolling",type:new Map(Object.entries({fixedinterval:0,priorityinterval:1,dynamicpriority:2,fixedchunksize:3})),category:_.Watch_and_Build_Modes,description:_.Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers,defaultValueDescription:1},{name:"synchronousWatchDirectory",type:"boolean",category:_.Watch_and_Build_Modes,description:_.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively,defaultValueDescription:!1},{name:"excludeDirectories",type:"list",element:{name:"excludeDirectory",type:"string",isFilePath:!0,extraValidation:kJ},category:_.Watch_and_Build_Modes,description:_.Remove_a_list_of_directories_from_the_watch_process},{name:"excludeFiles",type:"list",element:{name:"excludeFile",type:"string",isFilePath:!0,extraValidation:kJ},category:_.Watch_and_Build_Modes,description:_.Remove_a_list_of_files_from_the_watch_mode_s_processing}],WO=[{name:"help",shortName:"h",type:"boolean",showInSimplifiedHelpView:!0,isCommandLineOnly:!0,category:_.Command_line_Options,description:_.Print_this_message,defaultValueDescription:!1},{name:"help",shortName:"?",type:"boolean",isCommandLineOnly:!0,category:_.Command_line_Options,defaultValueDescription:!1},{name:"watch",shortName:"w",type:"boolean",showInSimplifiedHelpView:!0,isCommandLineOnly:!0,category:_.Command_line_Options,description:_.Watch_input_files,defaultValueDescription:!1},{name:"preserveWatchOutput",type:"boolean",showInSimplifiedHelpView:!1,category:_.Output_Formatting,description:_.Disable_wiping_the_console_in_watch_mode,defaultValueDescription:!1},{name:"listFiles",type:"boolean",category:_.Compiler_Diagnostics,description:_.Print_all_of_the_files_read_during_the_compilation,defaultValueDescription:!1},{name:"explainFiles",type:"boolean",category:_.Compiler_Diagnostics,description:_.Print_files_read_during_the_compilation_including_why_it_was_included,defaultValueDescription:!1},{name:"listEmittedFiles",type:"boolean",category:_.Compiler_Diagnostics,description:_.Print_the_names_of_emitted_files_after_a_compilation,defaultValueDescription:!1},{name:"pretty",type:"boolean",showInSimplifiedHelpView:!0,category:_.Output_Formatting,description:_.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read,defaultValueDescription:!0},{name:"traceResolution",type:"boolean",category:_.Compiler_Diagnostics,description:_.Log_paths_used_during_the_moduleResolution_process,defaultValueDescription:!1},{name:"diagnostics",type:"boolean",category:_.Compiler_Diagnostics,description:_.Output_compiler_performance_information_after_building,defaultValueDescription:!1},{name:"extendedDiagnostics",type:"boolean",category:_.Compiler_Diagnostics,description:_.Output_more_detailed_compiler_performance_information_after_building,defaultValueDescription:!1},{name:"generateCpuProfile",type:"string",isFilePath:!0,paramType:_.FILE_OR_DIRECTORY,category:_.Compiler_Diagnostics,description:_.Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging,defaultValueDescription:"profile.cpuprofile"},{name:"generateTrace",type:"string",isFilePath:!0,isCommandLineOnly:!0,paramType:_.DIRECTORY,category:_.Compiler_Diagnostics,description:_.Generates_an_event_trace_and_a_list_of_types},{name:"incremental",shortName:"i",type:"boolean",category:_.Projects,description:_.Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects,transpileOptionValue:void 0,defaultValueDescription:_.false_unless_composite_is_set},{name:"declaration",shortName:"d",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Emit,transpileOptionValue:void 0,description:_.Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project,defaultValueDescription:_.false_unless_composite_is_set},{name:"declarationMap",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Emit,transpileOptionValue:void 0,defaultValueDescription:!1,description:_.Create_sourcemaps_for_d_ts_files},{name:"emitDeclarationOnly",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Emit,description:_.Only_output_d_ts_files_and_not_JavaScript_files,transpileOptionValue:void 0,defaultValueDescription:!1},{name:"sourceMap",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Emit,defaultValueDescription:!1,description:_.Create_source_map_files_for_emitted_JavaScript_files},{name:"inlineSourceMap",type:"boolean",affectsBuildInfo:!0,category:_.Emit,description:_.Include_sourcemap_files_inside_the_emitted_JavaScript,defaultValueDescription:!1},{name:"assumeChangesOnlyAffectDirectDependencies",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:_.Watch_and_Build_Modes,description:_.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it,defaultValueDescription:!1},{name:"locale",type:"string",category:_.Command_line_Options,isCommandLineOnly:!0,description:_.Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit,defaultValueDescription:_.Platform_specific}],zO={name:"target",shortName:"t",type:new Map(Object.entries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,es2021:8,es2022:9,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,affectsBuildInfo:!0,paramType:_.VERSION,showInSimplifiedHelpView:!0,category:_.Language_and_Environment,description:_.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations,defaultValueDescription:1},NJ={name:"module",shortName:"m",type:new Map(Object.entries({none:0,commonjs:1,amd:2,system:4,umd:3,es6:5,es2015:5,es2020:6,es2022:7,esnext:99,node16:100,nodenext:199})),affectsModuleResolution:!0,affectsEmit:!0,affectsBuildInfo:!0,paramType:_.KIND,showInSimplifiedHelpView:!0,category:_.Modules,description:_.Specify_what_module_code_is_generated,defaultValueDescription:void 0},B3=[{name:"all",type:"boolean",showInSimplifiedHelpView:!0,category:_.Command_line_Options,description:_.Show_all_compiler_options,defaultValueDescription:!1},{name:"version",shortName:"v",type:"boolean",showInSimplifiedHelpView:!0,category:_.Command_line_Options,description:_.Print_the_compiler_s_version,defaultValueDescription:!1},{name:"init",type:"boolean",showInSimplifiedHelpView:!0,category:_.Command_line_Options,description:_.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file,defaultValueDescription:!1},{name:"project",shortName:"p",type:"string",isFilePath:!0,showInSimplifiedHelpView:!0,category:_.Command_line_Options,paramType:_.FILE_OR_DIRECTORY,description:_.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:"build",type:"boolean",shortName:"b",showInSimplifiedHelpView:!0,category:_.Command_line_Options,description:_.Build_one_or_more_projects_and_their_dependencies_if_out_of_date,defaultValueDescription:!1},{name:"showConfig",type:"boolean",showInSimplifiedHelpView:!0,category:_.Command_line_Options,isCommandLineOnly:!0,description:_.Print_the_final_configuration_instead_of_building,defaultValueDescription:!1},{name:"listFilesOnly",type:"boolean",category:_.Command_line_Options,isCommandLineOnly:!0,description:_.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing,defaultValueDescription:!1},zO,NJ,{name:"lib",type:"list",element:{name:"lib",type:jO,defaultValueDescription:void 0},affectsProgramStructure:!0,showInSimplifiedHelpView:!0,category:_.Language_and_Environment,description:_.Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment,transpileOptionValue:void 0},{name:"allowJs",type:"boolean",affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:_.JavaScript_Support,description:_.Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files,defaultValueDescription:!1},{name:"checkJs",type:"boolean",showInSimplifiedHelpView:!0,category:_.JavaScript_Support,description:_.Enable_error_reporting_in_type_checked_JavaScript_files,defaultValueDescription:!1},{name:"jsx",type:RJ,affectsSourceFile:!0,affectsEmit:!0,affectsBuildInfo:!0,affectsModuleResolution:!0,paramType:_.KIND,showInSimplifiedHelpView:!0,category:_.Language_and_Environment,description:_.Specify_what_JSX_code_is_generated,defaultValueDescription:void 0},{name:"outFile",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:_.FILE,showInSimplifiedHelpView:!0,category:_.Emit,description:_.Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output,transpileOptionValue:void 0},{name:"outDir",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:_.DIRECTORY,showInSimplifiedHelpView:!0,category:_.Emit,description:_.Specify_an_output_folder_for_all_emitted_files},{name:"rootDir",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:_.LOCATION,category:_.Modules,description:_.Specify_the_root_folder_within_your_source_files,defaultValueDescription:_.Computed_from_the_list_of_input_files},{name:"composite",type:"boolean",affectsBuildInfo:!0,isTSConfigOnly:!0,category:_.Projects,transpileOptionValue:void 0,defaultValueDescription:!1,description:_.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references},{name:"tsBuildInfoFile",type:"string",affectsEmit:!0,affectsBuildInfo:!0,isFilePath:!0,paramType:_.FILE,category:_.Projects,transpileOptionValue:void 0,defaultValueDescription:".tsbuildinfo",description:_.Specify_the_path_to_tsbuildinfo_incremental_compilation_file},{name:"removeComments",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Emit,defaultValueDescription:!1,description:_.Disable_emitting_comments},{name:"noEmit",type:"boolean",showInSimplifiedHelpView:!0,category:_.Emit,description:_.Disable_emitting_files_from_a_compilation,transpileOptionValue:void 0,defaultValueDescription:!1},{name:"importHelpers",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,defaultValueDescription:!1},{name:"importsNotUsedAsValues",type:new Map(Object.entries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types,defaultValueDescription:0},{name:"downlevelIteration",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration,defaultValueDescription:!1},{name:"isolatedModules",type:"boolean",category:_.Interop_Constraints,description:_.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports,transpileOptionValue:!0,defaultValueDescription:!1},{name:"verbatimModuleSyntax",type:"boolean",category:_.Interop_Constraints,description:_.Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting,defaultValueDescription:!1},{name:"strict",type:"boolean",affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Type_Checking,description:_.Enable_all_strict_type_checking_options,defaultValueDescription:!1},{name:"noImplicitAny",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type,defaultValueDescription:_.false_unless_strict_is_set},{name:"strictNullChecks",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.When_type_checking_take_into_account_null_and_undefined,defaultValueDescription:_.false_unless_strict_is_set},{name:"strictFunctionTypes",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible,defaultValueDescription:_.false_unless_strict_is_set},{name:"strictBindCallApply",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function,defaultValueDescription:_.false_unless_strict_is_set},{name:"strictPropertyInitialization",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor,defaultValueDescription:_.false_unless_strict_is_set},{name:"noImplicitThis",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.Enable_error_reporting_when_this_is_given_the_type_any,defaultValueDescription:_.false_unless_strict_is_set},{name:"useUnknownInCatchVariables",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.Default_catch_clause_variables_as_unknown_instead_of_any,defaultValueDescription:!1},{name:"alwaysStrict",type:"boolean",affectsSourceFile:!0,affectsEmit:!0,affectsBuildInfo:!0,strictFlag:!0,category:_.Type_Checking,description:_.Ensure_use_strict_is_always_emitted,defaultValueDescription:_.false_unless_strict_is_set},{name:"noUnusedLocals",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Enable_error_reporting_when_local_variables_aren_t_read,defaultValueDescription:!1},{name:"noUnusedParameters",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Raise_an_error_when_a_function_parameter_isn_t_read,defaultValueDescription:!1},{name:"exactOptionalPropertyTypes",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Interpret_optional_property_types_as_written_rather_than_adding_undefined,defaultValueDescription:!1},{name:"noImplicitReturns",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function,defaultValueDescription:!1},{name:"noFallthroughCasesInSwitch",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Enable_error_reporting_for_fallthrough_cases_in_switch_statements,defaultValueDescription:!1},{name:"noUncheckedIndexedAccess",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Add_undefined_to_a_type_when_accessed_using_an_index,defaultValueDescription:!1},{name:"noImplicitOverride",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier,defaultValueDescription:!1},{name:"noPropertyAccessFromIndexSignature",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!1,category:_.Type_Checking,description:_.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type,defaultValueDescription:!1},{name:"moduleResolution",type:new Map(Object.entries({node10:2,node:2,classic:1,node16:3,nodenext:99,bundler:100})),deprecatedKeys:new Set(["node"]),affectsModuleResolution:!0,paramType:_.STRATEGY,category:_.Modules,description:_.Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier,defaultValueDescription:_.module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node},{name:"baseUrl",type:"string",affectsModuleResolution:!0,isFilePath:!0,category:_.Modules,description:_.Specify_the_base_directory_to_resolve_non_relative_module_names},{name:"paths",type:"object",affectsModuleResolution:!0,isTSConfigOnly:!0,category:_.Modules,description:_.Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations,transpileOptionValue:void 0},{name:"rootDirs",type:"list",isTSConfigOnly:!0,element:{name:"rootDirs",type:"string",isFilePath:!0},affectsModuleResolution:!0,category:_.Modules,description:_.Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules,transpileOptionValue:void 0,defaultValueDescription:_.Computed_from_the_list_of_input_files},{name:"typeRoots",type:"list",element:{name:"typeRoots",type:"string",isFilePath:!0},affectsModuleResolution:!0,category:_.Modules,description:_.Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types},{name:"types",type:"list",element:{name:"types",type:"string"},affectsProgramStructure:!0,showInSimplifiedHelpView:!0,category:_.Modules,description:_.Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file,transpileOptionValue:void 0},{name:"allowSyntheticDefaultImports",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Interop_Constraints,description:_.Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export,defaultValueDescription:_.module_system_or_esModuleInterop},{name:"esModuleInterop",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,showInSimplifiedHelpView:!0,category:_.Interop_Constraints,description:_.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility,defaultValueDescription:!1},{name:"preserveSymlinks",type:"boolean",category:_.Interop_Constraints,description:_.Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node,defaultValueDescription:!1},{name:"allowUmdGlobalAccess",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Modules,description:_.Allow_accessing_UMD_globals_from_modules,defaultValueDescription:!1},{name:"moduleSuffixes",type:"list",element:{name:"suffix",type:"string"},listPreserveFalsyValues:!0,affectsModuleResolution:!0,category:_.Modules,description:_.List_of_file_name_suffixes_to_search_when_resolving_a_module},{name:"allowImportingTsExtensions",type:"boolean",affectsSemanticDiagnostics:!0,category:_.Modules,description:_.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set,defaultValueDescription:!1},{name:"resolvePackageJsonExports",type:"boolean",affectsModuleResolution:!0,category:_.Modules,description:_.Use_the_package_json_exports_field_when_resolving_package_imports,defaultValueDescription:_.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false},{name:"resolvePackageJsonImports",type:"boolean",affectsModuleResolution:!0,category:_.Modules,description:_.Use_the_package_json_imports_field_when_resolving_imports,defaultValueDescription:_.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false},{name:"customConditions",type:"list",element:{name:"condition",type:"string"},affectsModuleResolution:!0,category:_.Modules,description:_.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports},{name:"sourceRoot",type:"string",affectsEmit:!0,affectsBuildInfo:!0,paramType:_.LOCATION,category:_.Emit,description:_.Specify_the_root_path_for_debuggers_to_find_the_reference_source_code},{name:"mapRoot",type:"string",affectsEmit:!0,affectsBuildInfo:!0,paramType:_.LOCATION,category:_.Emit,description:_.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:"inlineSources",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript,defaultValueDescription:!1},{name:"experimentalDecorators",type:"boolean",affectsEmit:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Language_and_Environment,description:_.Enable_experimental_support_for_legacy_experimental_decorators,defaultValueDescription:!1},{name:"emitDecoratorMetadata",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:_.Language_and_Environment,description:_.Emit_design_type_metadata_for_decorated_declarations_in_source_files,defaultValueDescription:!1},{name:"jsxFactory",type:"string",category:_.Language_and_Environment,description:_.Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h,defaultValueDescription:"`React.createElement`"},{name:"jsxFragmentFactory",type:"string",category:_.Language_and_Environment,description:_.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment,defaultValueDescription:"React.Fragment"},{name:"jsxImportSource",type:"string",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,affectsModuleResolution:!0,category:_.Language_and_Environment,description:_.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk,defaultValueDescription:"react"},{name:"resolveJsonModule",type:"boolean",affectsModuleResolution:!0,category:_.Modules,description:_.Enable_importing_json_files,defaultValueDescription:!1},{name:"allowArbitraryExtensions",type:"boolean",affectsProgramStructure:!0,category:_.Modules,description:_.Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present,defaultValueDescription:!1},{name:"out",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!1,category:_.Backwards_Compatibility,paramType:_.FILE,transpileOptionValue:void 0,description:_.Deprecated_setting_Use_outFile_instead},{name:"reactNamespace",type:"string",affectsEmit:!0,affectsBuildInfo:!0,category:_.Language_and_Environment,description:_.Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit,defaultValueDescription:"`React`"},{name:"skipDefaultLibCheck",type:"boolean",affectsBuildInfo:!0,category:_.Completeness,description:_.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript,defaultValueDescription:!1},{name:"charset",type:"string",category:_.Backwards_Compatibility,description:_.No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files,defaultValueDescription:"utf8"},{name:"emitBOM",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files,defaultValueDescription:!1},{name:"newLine",type:new Map(Object.entries({crlf:0,lf:1})),affectsEmit:!0,affectsBuildInfo:!0,paramType:_.NEWLINE,category:_.Emit,description:_.Set_the_newline_character_for_emitting_files,defaultValueDescription:"lf"},{name:"noErrorTruncation",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Output_Formatting,description:_.Disable_truncating_types_in_error_messages,defaultValueDescription:!1},{name:"noLib",type:"boolean",category:_.Language_and_Environment,affectsProgramStructure:!0,description:_.Disable_including_any_library_files_including_the_default_lib_d_ts,transpileOptionValue:!0,defaultValueDescription:!1},{name:"noResolve",type:"boolean",affectsModuleResolution:!0,category:_.Modules,description:_.Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project,transpileOptionValue:!0,defaultValueDescription:!1},{name:"stripInternal",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments,defaultValueDescription:!1},{name:"disableSizeLimit",type:"boolean",affectsProgramStructure:!0,category:_.Editor_Support,description:_.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server,defaultValueDescription:!1},{name:"disableSourceOfProjectReferenceRedirect",type:"boolean",isTSConfigOnly:!0,category:_.Projects,description:_.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects,defaultValueDescription:!1},{name:"disableSolutionSearching",type:"boolean",isTSConfigOnly:!0,category:_.Projects,description:_.Opt_a_project_out_of_multi_project_reference_checking_when_editing,defaultValueDescription:!1},{name:"disableReferencedProjectLoad",type:"boolean",isTSConfigOnly:!0,category:_.Projects,description:_.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript,defaultValueDescription:!1},{name:"noImplicitUseStrict",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Backwards_Compatibility,description:_.Disable_adding_use_strict_directives_in_emitted_JavaScript_files,defaultValueDescription:!1},{name:"noEmitHelpers",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Disable_generating_custom_helper_functions_like_extends_in_compiled_output,defaultValueDescription:!1},{name:"noEmitOnError",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,transpileOptionValue:void 0,description:_.Disable_emitting_files_if_any_type_checking_errors_are_reported,defaultValueDescription:!1},{name:"preserveConstEnums",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Disable_erasing_const_enum_declarations_in_generated_code,defaultValueDescription:!1},{name:"declarationDir",type:"string",affectsEmit:!0,affectsBuildInfo:!0,affectsDeclarationPath:!0,isFilePath:!0,paramType:_.DIRECTORY,category:_.Emit,transpileOptionValue:void 0,description:_.Specify_the_output_directory_for_generated_declaration_files},{name:"skipLibCheck",type:"boolean",affectsBuildInfo:!0,category:_.Completeness,description:_.Skip_type_checking_all_d_ts_files,defaultValueDescription:!1},{name:"allowUnusedLabels",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Disable_error_reporting_for_unused_labels,defaultValueDescription:void 0},{name:"allowUnreachableCode",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Type_Checking,description:_.Disable_error_reporting_for_unreachable_code,defaultValueDescription:void 0},{name:"suppressExcessPropertyErrors",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Backwards_Compatibility,description:_.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals,defaultValueDescription:!1},{name:"suppressImplicitAnyIndexErrors",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Backwards_Compatibility,description:_.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures,defaultValueDescription:!1},{name:"forceConsistentCasingInFileNames",type:"boolean",affectsModuleResolution:!0,category:_.Interop_Constraints,description:_.Ensure_that_casing_is_correct_in_imports,defaultValueDescription:!0},{name:"maxNodeModuleJsDepth",type:"number",affectsModuleResolution:!0,category:_.JavaScript_Support,description:_.Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs,defaultValueDescription:0},{name:"noStrictGenericChecks",type:"boolean",affectsSemanticDiagnostics:!0,affectsBuildInfo:!0,category:_.Backwards_Compatibility,description:_.Disable_strict_checking_of_generic_signatures_in_function_types,defaultValueDescription:!1},{name:"useDefineForClassFields",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsBuildInfo:!0,category:_.Language_and_Environment,description:_.Emit_ECMAScript_standard_compliant_class_fields,defaultValueDescription:_.true_for_ES2022_and_above_including_ESNext},{name:"preserveValueImports",type:"boolean",affectsEmit:!0,affectsBuildInfo:!0,category:_.Emit,description:_.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed,defaultValueDescription:!1},{name:"keyofStringsOnly",type:"boolean",category:_.Backwards_Compatibility,description:_.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option,defaultValueDescription:!1},{name:"plugins",type:"list",isTSConfigOnly:!0,element:{name:"plugin",type:"object"},description:_.Specify_a_list_of_language_service_plugins_to_include,category:_.Editor_Support},{name:"moduleDetection",type:new Map(Object.entries({auto:2,legacy:1,force:3})),affectsModuleResolution:!0,description:_.Control_what_method_is_used_to_detect_module_format_JS_files,category:_.Language_and_Environment,defaultValueDescription:_.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules},{name:"ignoreDeprecations",type:"string",defaultValueDescription:void 0}],Fh=[...WO,...B3],PJ=Fh.filter(e=>!!e.affectsSemanticDiagnostics),MJ=Fh.filter(e=>!!e.affectsEmit),FJ=Fh.filter(e=>!!e.affectsDeclarationPath),U3=Fh.filter(e=>!!e.affectsModuleResolution),V3=Fh.filter(e=>!!e.affectsSourceFile||!!e.affectsModuleResolution||!!e.affectsBindDiagnostics),GJ=Fh.filter(e=>!!e.affectsProgramStructure),BJ=Fh.filter(e=>fs(e,"transpileOptionValue")),UJ=[{name:"verbose",shortName:"v",category:_.Command_line_Options,description:_.Enable_verbose_logging,type:"boolean",defaultValueDescription:!1},{name:"dry",shortName:"d",category:_.Command_line_Options,description:_.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:"boolean",defaultValueDescription:!1},{name:"force",shortName:"f",category:_.Command_line_Options,description:_.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:"boolean",defaultValueDescription:!1},{name:"clean",category:_.Command_line_Options,description:_.Delete_the_outputs_of_all_projects,type:"boolean",defaultValueDescription:!1}],j3=[...WO,...UJ],H3=[{name:"enable",type:"boolean",defaultValueDescription:!1},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}},{name:"disableFilenameBasedTypeAcquisition",type:"boolean",defaultValueDescription:!1}],Tfe={diagnostic:_.Compiler_option_0_may_only_be_used_with_build,getOptionsNameMap:Yde},W3={module:1,target:3,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},JO={alternateMode:Tfe,getOptionsNameMap:w2,optionDeclarations:Fh,unknownOptionDiagnostic:_.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:_.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:_.Compiler_option_0_expects_an_argument},xfe={diagnostic:_.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap:w2},Afe={alternateMode:xfe,getOptionsNameMap:Yde,optionDeclarations:j3,unknownOptionDiagnostic:_.Unknown_build_option_0,unknownDidYouMeanDiagnostic:_.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:_.Build_option_0_requires_a_value_of_type_1},VJ={optionDeclarations:H3,unknownOptionDiagnostic:_.Unknown_type_acquisition_option_0,unknownDidYouMeanDiagnostic:_.Unknown_type_acquisition_option_0_Did_you_mean_1},KO={getOptionsNameMap:Qde,optionDeclarations:HO,unknownOptionDiagnostic:_.Unknown_watch_option_0,unknownDidYouMeanDiagnostic:_.Unknown_watch_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:_.Watch_option_0_requires_a_value_of_type_1},qO={name:"extends",type:"listOrElement",element:{name:"extends",type:"string"},category:_.File_Management},z3="**/*",Dfe=/(^|\/)\*\*\/?$/,wfe=/^[^*?]*(?=\/[^/]*[*?])/}});function Xi(e){e.trace(TW.apply(void 0,arguments))}function ov(e,t){return!!e.traceResolution&&t.trace!==void 0}function O2(e,t){let r;if(t&&e){let i=e.contents.packageJsonContent;typeof i.name=="string"&&typeof i.version=="string"&&(r={name:i.name,subModuleName:t.path.slice(e.packageDirectory.length+_s.length),version:i.version})}return t&&{path:t.path,extension:t.ext,packageId:r,resolvedUsingTsExtension:t.resolvedUsingTsExtension}}function J3(e){return O2(void 0,e)}function Rfe(e){if(e)return L.assert(e.packageId===void 0),{path:e.path,ext:e.extension,resolvedUsingTsExtension:e.resolvedUsingTsExtension}}function Ofe(e){let t=[];return e&1&&t.push("TypeScript"),e&2&&t.push("JavaScript"),e&4&&t.push("Declaration"),e&8&&t.push("JSON"),t.join(", ")}function Nfe(e){if(e)return L.assert(y4(e.extension)),{fileName:e.path,packageId:e.packageId}}function Pfe(e,t,r,i,o,s,l,f){if(!l.resultFromCache&&!l.compilerOptions.preserveSymlinks&&t&&r&&!t.originalPath&&!fl(e)){let{resolvedFileName:d,originalPath:g}=Gfe(t.path,l.host,l.traceEnabled);g&&(t={...t,path:d,originalPath:g})}return Mfe(t,r,i,o,s,l.resultFromCache,f)}function Mfe(e,t,r,i,o,s,l){return s?(s.failedLookupLocations=N2(s.failedLookupLocations,r),s.affectingLocations=N2(s.affectingLocations,i),s.resolutionDiagnostics=N2(s.resolutionDiagnostics,o),s):{resolvedModule:e&&{resolvedFileName:e.path,originalPath:e.originalPath===!0?void 0:e.originalPath,extension:e.extension,isExternalLibraryImport:t,packageId:e.packageId,resolvedUsingTsExtension:!!e.resolvedUsingTsExtension},failedLookupLocations:PL(r),affectingLocations:PL(i),resolutionDiagnostics:PL(o),node10Result:l}}function PL(e){return e.length?e:void 0}function N2(e,t){return t?.length?e?.length?(e.push(...t),e):t:e}function Ffe(e,t,r,i){if(!fs(e,t)){i.traceEnabled&&Xi(i.host,_.package_json_does_not_have_a_0_field,t);return}let o=e[t];if(typeof o!==r||o===null){i.traceEnabled&&Xi(i.host,_.Expected_type_of_0_field_in_package_json_to_be_1_got_2,t,r,o===null?"null":typeof o);return}return o}function K3(e,t,r,i){let o=Ffe(e,t,"string",i);if(o===void 0)return;if(!o){i.traceEnabled&&Xi(i.host,_.package_json_had_a_falsy_0_field,t);return}let s=So(vi(r,o));return i.traceEnabled&&Xi(i.host,_.package_json_has_0_field_1_that_references_2,t,o,s),s}function xNe(e,t,r){return K3(e,"typings",t,r)||K3(e,"types",t,r)}function ANe(e,t,r){return K3(e,"tsconfig",t,r)}function CNe(e,t,r){return K3(e,"main",t,r)}function INe(e,t){let r=Ffe(e,"typesVersions","object",t);if(r!==void 0)return t.traceEnabled&&Xi(t.host,_.package_json_has_a_typesVersions_field_with_version_specific_path_mappings),r}function LNe(e,t){let r=INe(e,t);if(r===void 0)return;if(t.traceEnabled)for(let l in r)fs(r,l)&&!mA.tryParse(l)&&Xi(t.host,_.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range,l);let i=q3(r);if(!i){t.traceEnabled&&Xi(t.host,_.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0,Sg);return}let{version:o,paths:s}=i;if(typeof s!="object"){t.traceEnabled&&Xi(t.host,_.Expected_type_of_0_field_in_package_json_to_be_1_got_2,`typesVersions['${o}']`,"object",typeof s);return}return i}function q3(e){rK||(rK=new r_(Rf));for(let t in e){if(!fs(e,t))continue;let r=mA.tryParse(t);if(r!==void 0&&r.test(rK))return{version:t,paths:e[t]}}}function XO(e,t){if(e.typeRoots)return e.typeRoots;let r;if(e.configFilePath?r=ni(e.configFilePath):t.getCurrentDirectory&&(r=t.getCurrentDirectory()),r!==void 0)return kNe(r,t)}function kNe(e,t){if(!t.directoryExists)return[vi(e,iK)];let r;return Th(So(e),i=>{let o=vi(i,iK);t.directoryExists(o)&&(r||(r=[])).push(o)}),r}function DNe(e,t,r){let i=typeof r.useCaseSensitiveFileNames=="function"?r.useCaseSensitiveFileNames():r.useCaseSensitiveFileNames;return cT(e,t,!i)===0}function Gfe(e,t,r){let i=WNe(e,t,r),o=DNe(e,i,t);return{resolvedFileName:o?e:i,originalPath:o?void 0:e}}function HJ(e,t,r,i,o,s,l){L.assert(typeof e=="string","Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself.");let f=ov(r,i);o&&(r=o.commandLine.options);let d=t?ni(t):void 0,g=d?s?.getFromDirectoryCache(e,l,d,o):void 0;if(!g&&d&&!fl(e)&&(g=s?.getFromNonRelativeNameCache(e,l,d,o)),g)return f&&(Xi(i,_.Resolving_type_reference_directive_0_containing_file_1,e,t),o&&Xi(i,_.Using_compiler_options_of_project_reference_redirect_0,o.sourceFile.fileName),Xi(i,_.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1,e,d),q(g)),g;let m=XO(r,i);f&&(t===void 0?m===void 0?Xi(i,_.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,e):Xi(i,_.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,e,m):m===void 0?Xi(i,_.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,e,t):Xi(i,_.Resolving_type_reference_directive_0_containing_file_1_root_directory_2,e,t,m),o&&Xi(i,_.Using_compiler_options_of_project_reference_redirect_0,o.sourceFile.fileName));let v=[],S=[],x=WJ(r);l===99&&($s(r)===3||$s(r)===99)&&(x|=32);let A=x&8?P2(r,!!(x&32)):[],w=[],C={compilerOptions:r,host:i,traceEnabled:f,failedLookupLocations:v,affectingLocations:S,packageJsonInfoCache:s,features:x,conditions:A,requestContainingDirectory:d,reportDiagnostic:R=>void w.push(R),isConfigLookup:!1,candidateIsFromPackageJsonField:!1},P=W(),F=!0;P||(P=Y(),F=!1);let B;if(P){let{fileName:R,packageId:ie}=P,$=R,fe;r.preserveSymlinks||({resolvedFileName:$,originalPath:fe}=Gfe(R,i,f)),B={primary:F,resolvedFileName:$,originalPath:fe,packageId:ie,isExternalLibraryImport:JS(R)}}return g={resolvedTypeReferenceDirective:B,failedLookupLocations:PL(v),affectingLocations:PL(S),resolutionDiagnostics:PL(w)},d&&(s?.getOrCreateCacheForDirectory(d,o).set(e,l,g),fl(e)||s?.getOrCreateCacheForNonRelativeName(e,l,o).set(d,g)),f&&q(g),g;function q(R){var ie;(ie=R.resolvedTypeReferenceDirective)!=null&&ie.resolvedFileName?R.resolvedTypeReferenceDirective.packageId?Xi(i,_.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3,e,R.resolvedTypeReferenceDirective.resolvedFileName,hT(R.resolvedTypeReferenceDirective.packageId),R.resolvedTypeReferenceDirective.primary):Xi(i,_.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,e,R.resolvedTypeReferenceDirective.resolvedFileName,R.resolvedTypeReferenceDirective.primary):Xi(i,_.Type_reference_directive_0_was_not_resolved,e)}function W(){if(m&&m.length)return f&&Xi(i,_.Resolving_with_primary_search_path_0,m.join(", ")),ks(m,R=>{let ie=vi(R,e),$=ni(ie),fe=gp($,i);return!fe&&f&&Xi(i,_.Directory_0_does_not_exist_skipping_all_lookups_in_it,$),Nfe(Qfe(4,ie,!fe,C))});f&&Xi(i,_.Root_directory_cannot_be_determined_skipping_primary_search_paths)}function Y(){let R=t&&ni(t);if(R!==void 0){f&&Xi(i,_.Looking_up_in_node_modules_folder_initial_location_0,R);let ie;if(fl(e)){let{path:$}=Kfe(R,e);ie=Q3(4,$,!1,C,!0)}else{let $=t_e(4,e,R,C,void 0,void 0);ie=$&&$.value}return Nfe(ie)}else f&&Xi(i,_.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder)}}function WJ(e){let t=0;switch($s(e)){case 3:t=30;break;case 99:t=30;break;case 100:t=30;break}return e.resolvePackageJsonExports?t|=8:e.resolvePackageJsonExports===!1&&(t&=-9),e.resolvePackageJsonImports?t|=2:e.resolvePackageJsonImports===!1&&(t&=-3),t}function P2(e,t){let r=t||$s(e)===100?["import"]:["require"];return e.noDtsResolution||r.push("types"),$s(e)!==100&&r.push("node"),Qi(r,e.customConditions)}function wNe(e,t,r,i,o){let s=Z3(o?.getPackageJsonInfoCache(),i,r);return Th(t,l=>{if(Hl(l)!=="node_modules"){let f=vi(l,"node_modules"),d=vi(f,e);return KS(d,!1,s)}})}function X3(e,t){if(e.types)return e.types;let r=[];if(t.directoryExists&&t.getDirectories){let i=XO(e,t);if(i){for(let o of i)if(t.directoryExists(o))for(let s of t.getDirectories(o)){let l=So(s),f=vi(o,l,"package.json");if(!(t.fileExists(f)&&JI(f,t).typings===null)){let g=Hl(l);g.charCodeAt(0)!==46&&r.push(g)}}}}return r}function zJ(e){var t;if(e===null||typeof e!="object")return""+e;if(ba(e))return`[${(t=e.map(i=>zJ(i)))==null?void 0:t.join(",")}]`;let r="{";for(let i in e)fs(e,i)&&(r+=`${i}: ${zJ(e[i])}`);return r+"}"}function JJ(e,t){return t.map(r=>zJ(f4(e,r))).join("|")+(e.pathsBasePath?`|${e.pathsBasePath}`:void 0)}function KJ(e){let t=new Map,r=new Map,i=new Map,o=new Map;return e&&t.set(e,o),{getMapOfCacheRedirects:s,getOrCreateMapOfCacheRedirects:l,update:f,clear:g};function s(v){return v?d(v.commandLine.options,!1):o}function l(v){return v?d(v.commandLine.options,!0):o}function f(v){e!==v&&(e?o=d(v,!0):t.set(v,o),e=v)}function d(v,S){let x=t.get(v);if(x)return x;let A=m(v);if(x=i.get(A),!x){if(e){let w=m(e);w===A?x=o:i.has(w)||i.set(w,o)}S&&(x??(x=new Map)),x&&i.set(A,x)}return x&&t.set(v,x),x}function g(){let v=e&&r.get(e);o.clear(),t.clear(),r.clear(),i.clear(),e&&(v&&r.set(e,v),t.set(e,o))}function m(v){let S=r.get(v);return S||r.set(v,S=JJ(v,U3)),S}}function RNe(e,t){let r;return{getPackageJsonInfo:i,setPackageJsonInfo:o,clear:s,entries:l,getInternalMap:f};function i(d){return r?.get(Ts(d,e,t))}function o(d,g){(r||(r=new Map)).set(Ts(d,e,t),g)}function s(){r=void 0}function l(){let d=r?.entries();return d?lo(d):[]}function f(){return r}}function Bfe(e,t,r,i){let o=e.getOrCreateMapOfCacheRedirects(t),s=o.get(r);return s||(s=i(),o.set(r,s)),s}function ONe(e,t,r){let i=KJ(r);return{getFromDirectoryCache:f,getOrCreateCacheForDirectory:l,clear:o,update:s};function o(){i.clear()}function s(d){i.update(d)}function l(d,g){let m=Ts(d,e,t);return Bfe(i,g,m,()=>WT())}function f(d,g,m,v){var S,x;let A=Ts(m,e,t);return(x=(S=i.getMapOfCacheRedirects(v))==null?void 0:S.get(A))==null?void 0:x.get(d,g)}}function ML(e,t){return t===void 0?e:`${t}|${e}`}function WT(){let e=new Map,t=new Map,r={get(o,s){return e.get(i(o,s))},set(o,s,l){return e.set(i(o,s),l),r},delete(o,s){return e.delete(i(o,s)),r},has(o,s){return e.has(i(o,s))},forEach(o){return e.forEach((s,l)=>{let[f,d]=t.get(l);return o(s,f,d)})},size(){return e.size}};return r;function i(o,s){let l=ML(o,s);return t.set(l,[o,s]),l}}function qJ(e,t,r,i){L.assert(t.length===r.length);let o=WT();for(let s=0;s<t.length;++s){let l=t[s];o.set(i.getName(l),i.getMode(l,e),r[s])}return o}function NNe(e){return e.resolvedModule&&(e.resolvedModule.originalPath||e.resolvedModule.resolvedFileName)}function PNe(e){return e.resolvedTypeReferenceDirective&&(e.resolvedTypeReferenceDirective.originalPath||e.resolvedTypeReferenceDirective.resolvedFileName)}function MNe(e,t,r,i){let o=KJ(r);return{getFromNonRelativeNameCache:f,getOrCreateCacheForNonRelativeName:d,clear:s,update:l};function s(){o.clear()}function l(m){o.update(m)}function f(m,v,S,x){var A,w;return L.assert(!fl(m)),(w=(A=o.getMapOfCacheRedirects(x))==null?void 0:A.get(ML(m,v)))==null?void 0:w.get(S)}function d(m,v,S){return L.assert(!fl(m)),Bfe(o,S,ML(m,v),g)}function g(){let m=new Map;return{get:v,set:S};function v(A){return m.get(Ts(A,e,t))}function S(A,w){let C=Ts(A,e,t);if(m.has(C))return;m.set(C,w);let P=i(w),F=P&&x(C,P),B=C;for(;B!==F;){let q=ni(B);if(q===B||m.has(q))break;m.set(q,w),B=q}}function x(A,w){let C=Ts(ni(w),e,t),P=0,F=Math.min(A.length,C.length);for(;P<F&&A.charCodeAt(P)===C.charCodeAt(P);)P++;if(P===A.length&&(C.length===P||C[P]===_s))return A;let B=_p(A);if(P<B)return;let q=A.lastIndexOf(_s,P-1);if(q!==-1)return A.substr(0,Math.max(q,B))}}}function Ufe(e,t,r,i,o){let s=ONe(e,t,r),l=MNe(e,t,r,o);return i??(i=RNe(e,t)),{...i,...s,...l,clear:f,update:g,getPackageJsonInfoCache:()=>i,clearAllExceptPackageJsonInfoCache:d};function f(){d(),i.clear()}function d(){s.clear(),l.clear()}function g(m){s.update(m),l.update(m)}}function Y3(e,t,r){let i=Ufe(e,t,r,void 0,NNe);return i.getOrCreateCacheForModuleName=(o,s,l)=>i.getOrCreateCacheForNonRelativeName(o,s,l),i}function $3(e,t,r,i){return Ufe(e,t,r,i,PNe)}function FNe(e,t,r,i){let o=ni(t);return r.getFromDirectoryCache(e,i,o,void 0)}function FL(e,t,r,i,o,s,l){let f=ov(r,i);s&&(r=s.commandLine.options),f&&(Xi(i,_.Resolving_module_0_from_1,e,t),s&&Xi(i,_.Using_compiler_options_of_project_reference_redirect_0,s.sourceFile.fileName));let d=ni(t),g=o?.getFromDirectoryCache(e,l,d,s);if(g)f&&Xi(i,_.Resolution_for_module_0_was_found_in_cache_from_location_1,e,d);else{let m=r.moduleResolution;if(m===void 0){switch(Rl(r)){case 1:m=2;break;case 100:m=3;break;case 199:m=99;break;default:m=1;break}f&&Xi(i,_.Module_resolution_kind_is_not_specified_using_0,rw[m])}else f&&Xi(i,_.Explicitly_specified_module_resolution_kind_Colon_0,rw[m]);switch(fp.logStartResolveModule(e),m){case 3:g=VNe(e,t,r,i,o,s,l);break;case 99:g=jNe(e,t,r,i,o,s,l);break;case 2:g=zfe(e,t,r,i,o,s);break;case 1:g=o_e(e,t,r,i,o,s);break;case 100:g=Wfe(e,t,r,i,o,s);break;default:return L.fail(`Unexpected moduleResolution: ${m}`)}g&&g.resolvedModule&&fp.logInfoEvent(`Module "${e}" resolved to "${g.resolvedModule.resolvedFileName}"`),fp.logStopResolveModule(g&&g.resolvedModule?""+g.resolvedModule.resolvedFileName:"null"),o?.getOrCreateCacheForDirectory(d,s).set(e,l,g),fl(e)||o?.getOrCreateCacheForNonRelativeName(e,l,s).set(d,g)}return f&&(g.resolvedModule?g.resolvedModule.packageId?Xi(i,_.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2,e,g.resolvedModule.resolvedFileName,hT(g.resolvedModule.packageId)):Xi(i,_.Module_name_0_was_successfully_resolved_to_1,e,g.resolvedModule.resolvedFileName):Xi(i,_.Module_name_0_was_not_resolved,e)),g}function Vfe(e,t,r,i,o){let s=GNe(e,t,i,o);return s?s.value:fl(t)?BNe(e,t,r,i,o):UNe(e,t,i,o)}function GNe(e,t,r,i){var o;let{baseUrl:s,paths:l,configFile:f}=i.compilerOptions;if(l&&!Jd(t)){i.traceEnabled&&(s&&Xi(i.host,_.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,s,t),Xi(i.host,_.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,t));let d=ZH(i.compilerOptions,i.host),g=f?.configFileSpecs?(o=f.configFileSpecs).pathPatterns||(o.pathPatterns=g4(l)):void 0;return nK(e,t,d,l,g,r,!1,i)}}function BNe(e,t,r,i,o){if(!o.compilerOptions.rootDirs)return;o.traceEnabled&&Xi(o.host,_.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,t);let s=So(vi(r,t)),l,f;for(let d of o.compilerOptions.rootDirs){let g=So(d);Oc(g,_s)||(g+=_s);let m=na(s,g)&&(f===void 0||f.length<g.length);o.traceEnabled&&Xi(o.host,_.Checking_if_0_is_the_longest_matching_prefix_for_1_2,g,s,m),m&&(f=g,l=d)}if(f){o.traceEnabled&&Xi(o.host,_.Longest_matching_prefix_for_0_is_1,s,f);let d=s.substr(f.length);o.traceEnabled&&Xi(o.host,_.Loading_0_from_the_root_dir_1_candidate_location_2,d,f,s);let g=i(e,s,!gp(r,o.host),o);if(g)return g;o.traceEnabled&&Xi(o.host,_.Trying_other_entries_in_rootDirs);for(let m of o.compilerOptions.rootDirs){if(m===l)continue;let v=vi(So(m),d);o.traceEnabled&&Xi(o.host,_.Loading_0_from_the_root_dir_1_candidate_location_2,d,m,v);let S=ni(v),x=i(e,v,!gp(S,o.host),o);if(x)return x}o.traceEnabled&&Xi(o.host,_.Module_resolution_using_rootDirs_has_failed)}}function UNe(e,t,r,i){let{baseUrl:o}=i.compilerOptions;if(!o)return;i.traceEnabled&&Xi(i.host,_.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,o,t);let s=So(vi(o,t));return i.traceEnabled&&Xi(i.host,_.Resolving_module_name_0_relative_to_base_url_1_2,t,o,s),r(e,s,!gp(ni(s),i.host),i)}function jfe(e,t,r){let{resolvedModule:i,failedLookupLocations:o}=HNe(e,t,r);if(!i)throw new Error(`Could not resolve JS module '${e}' starting at '${t}'. Looked in: ${o?.join(", ")}`);return i.resolvedFileName}function VNe(e,t,r,i,o,s,l){return Hfe(30,e,t,r,i,o,s,l)}function jNe(e,t,r,i,o,s,l){return Hfe(30,e,t,r,i,o,s,l)}function Hfe(e,t,r,i,o,s,l,f){let d=ni(r),g=f===99?32:0,m=i.noDtsResolution?3:7;return RT(i)&&(m|=8),GL(e|g,t,d,i,o,s,m,!1,l)}function HNe(e,t,r){return GL(0,e,t,{moduleResolution:2,allowJs:!0},r,void 0,2,!1,void 0)}function Wfe(e,t,r,i,o,s){let l=ni(t),f=r.noDtsResolution?3:7;return RT(r)&&(f|=8),GL(WJ(r),e,l,r,i,o,f,!1,s)}function zfe(e,t,r,i,o,s,l){let f;return l?f=8:r.noDtsResolution?(f=3,RT(r)&&(f|=8)):f=RT(r)?15:7,GL(0,e,ni(t),r,i,o,f,!!l,s)}function Jfe(e,t,r){return GL(8,e,ni(t),{moduleResolution:99},r,void 0,8,!0,void 0)}function GL(e,t,r,i,o,s,l,f,d){var g,m,v,S;let x=ov(i,o),A=[],w=[],C=P2(i,!!(e&32)),P=[],F={compilerOptions:i,host:o,traceEnabled:x,failedLookupLocations:A,affectingLocations:w,packageJsonInfoCache:s,features:e,conditions:C,requestContainingDirectory:r,reportDiagnostic:Y=>void P.push(Y),isConfigLookup:f,candidateIsFromPackageJsonField:!1};x&&bS($s(i))&&Xi(o,_.Resolving_in_0_mode_with_conditions_1,e&32?"ESM":"CJS",C.map(Y=>`'${Y}'`).join(", "));let B;if($s(i)===2){let Y=l&5,R=l&-6;B=Y&&W(Y,F)||R&&W(R,F)||void 0}else B=W(l,F);let q;if((g=B?.value)!=null&&g.isExternalLibraryImport&&!f&&l&5&&e&8&&!fl(t)&&!QJ(5,B.value.resolved.extension)&&C.indexOf("import")>-1){Y0(F,_.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);let Y={...F,features:F.features&-9,failedLookupLocations:[],affectingLocations:[],reportDiagnostic:Ba},R=W(l&5,Y);(m=R?.value)!=null&&m.isExternalLibraryImport&&(q=R.value.resolved.path)}return Pfe(t,(v=B?.value)==null?void 0:v.resolved,(S=B?.value)==null?void 0:S.isExternalLibraryImport,A,w,P,F,q);function W(Y,R){let $=Vfe(Y,t,r,(fe,Z,U,re)=>Q3(fe,Z,U,re,!0),R);if($)return Af({resolved:$,isExternalLibraryImport:JS($.path)});if(fl(t)){let{path:fe,parts:Z}=Kfe(r,t),U=Q3(Y,fe,!1,R,!0);return U&&Af({resolved:U,isExternalLibraryImport:ya(Z,"node_modules")})}else{let fe;return e&2&&na(t,"#")&&(fe=YNe(Y,t,r,R,s,d)),!fe&&e&4&&(fe=XNe(Y,t,r,R,s,d)),fe||(x&&Xi(o,_.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1,t,Ofe(Y)),fe=t_e(Y,t,r,R,s,d)),fe&&{value:fe.value&&{resolved:fe.value,isExternalLibraryImport:!0}}}}}function Kfe(e,t){let r=vi(e,t),i=Ou(r),o=Os(i);return{path:o==="."||o===".."?cu(So(r)):So(r),parts:i}}function WNe(e,t,r){if(!t.realpath)return e;let i=So(t.realpath(e));return r&&Xi(t,_.Resolving_real_path_for_0_result_1,e,i),L.assert(t.fileExists(i),`${e} linked to nonexistent file ${i}`),i}function Q3(e,t,r,i,o){if(i.traceEnabled&&Xi(i.host,_.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1,t,Ofe(e)),!My(t)){if(!r){let l=ni(t);gp(l,i.host)||(i.traceEnabled&&Xi(i.host,_.Directory_0_does_not_exist_skipping_all_lookups_in_it,l),r=!0)}let s=BL(e,t,r,i);if(s){let l=o?XJ(s.path):void 0,f=l?KS(l,!1,i):void 0;return O2(f,s)}}if(r||gp(t,i.host)||(i.traceEnabled&&Xi(i.host,_.Directory_0_does_not_exist_skipping_all_lookups_in_it,t),r=!0),!(i.features&32))return Qfe(e,t,r,i,o)}function JS(e){return jl(e,Wg)}function XJ(e){let t=So(e),r=t.lastIndexOf(Wg);if(r===-1)return;let i=r+Wg.length,o=qfe(t,i);return t.charCodeAt(i)===64&&(o=qfe(t,o)),t.slice(0,o)}function qfe(e,t){let r=e.indexOf(_s,t+1);return r===-1?t:r}function YJ(e,t,r,i){return J3(BL(e,t,r,i))}function BL(e,t,r,i){let o=Xfe(e,t,r,i);if(o)return o;if(!(i.features&32)){let s=Yfe(t,e,"",r,i);if(s)return s}}function Xfe(e,t,r,i){if(Hl(t).indexOf(".")===-1)return;let s=ld(t);s===t&&(s=t.substring(0,t.lastIndexOf(".")));let l=t.substring(s.length);return i.traceEnabled&&Xi(i.host,_.File_name_0_has_a_1_extension_stripping_it,t,l),Yfe(s,e,l,r,i)}function $J(e,t,r,i){return e&1&&$c(t,L4)||e&4&&$c(t,I4)?YO(t,r,i)!==void 0?{path:t,ext:r4(t),resolvedUsingTsExtension:void 0}:void 0:i.isConfigLookup&&e===8&&Gc(t,".json")?YO(t,r,i)!==void 0?{path:t,ext:".json",resolvedUsingTsExtension:void 0}:void 0:Xfe(e,t,r,i)}function Yfe(e,t,r,i,o){if(!i){let l=ni(e);l&&(i=!gp(l,o.host))}switch(r){case".mjs":case".mts":case".d.mts":return t&1&&s(".mts",r===".mts"||r===".d.mts")||t&4&&s(".d.mts",r===".mts"||r===".d.mts")||t&2&&s(".mjs")||void 0;case".cjs":case".cts":case".d.cts":return t&1&&s(".cts",r===".cts"||r===".d.cts")||t&4&&s(".d.cts",r===".cts"||r===".d.cts")||t&2&&s(".cjs")||void 0;case".json":return t&4&&s(".d.json.ts")||t&8&&s(".json")||void 0;case".tsx":case".jsx":return t&1&&(s(".tsx",r===".tsx")||s(".ts",r===".tsx"))||t&4&&s(".d.ts",r===".tsx")||t&2&&(s(".jsx")||s(".js"))||void 0;case".ts":case".d.ts":case".js":case"":return t&1&&(s(".ts",r===".ts"||r===".d.ts")||s(".tsx",r===".ts"||r===".d.ts"))||t&4&&s(".d.ts",r===".ts"||r===".d.ts")||t&2&&(s(".js")||s(".jsx"))||o.isConfigLookup&&s(".json")||void 0;default:return t&4&&!Fu(e+r)&&s(`.d${r}.ts`)||void 0}function s(l,f){let d=YO(e+l,i,o);return d===void 0?void 0:{path:d,ext:l,resolvedUsingTsExtension:!o.candidateIsFromPackageJsonField&&f}}}function YO(e,t,r){var i,o;if(!((i=r.compilerOptions.moduleSuffixes)!=null&&i.length))return $fe(e,t,r);let s=(o=Hm(e))!=null?o:"",l=s?UR(e,s):e;return mn(r.compilerOptions.moduleSuffixes,f=>$fe(l+f+s,t,r))}function $fe(e,t,r){if(!t){if(r.host.fileExists(e))return r.traceEnabled&&Xi(r.host,_.File_0_exists_use_it_as_a_name_resolution_result,e),e;r.traceEnabled&&Xi(r.host,_.File_0_does_not_exist,e)}r.failedLookupLocations.push(e)}function Qfe(e,t,r,i,o=!0){let s=o?KS(t,r,i):void 0,l=s&&s.contents.packageJsonContent,f=s&&$O(s,i);return O2(s,tF(e,t,r,i,l,f))}function zNe(e,t,r,i,o){if(!o&&e.contents.resolvedEntrypoints!==void 0)return e.contents.resolvedEntrypoints;let s,l=5|(o?2:0),f=WJ(t),d=Z3(i?.getPackageJsonInfoCache(),r,t);d.conditions=P2(t),d.requestContainingDirectory=e.packageDirectory;let g=tF(l,e.packageDirectory,!1,d,e.contents.packageJsonContent,$O(e,d));if(s=Sn(s,g?.path),f&8&&e.contents.packageJsonContent.exports){let m=fA([P2(t,!0),P2(t,!1)],up);for(let v of m){let S={...d,failedLookupLocations:[],conditions:v},x=JNe(e,e.contents.packageJsonContent.exports,S,l);if(x)for(let A of x)s=xg(s,A.path)}}return e.contents.resolvedEntrypoints=s||!1}function JNe(e,t,r,i){let o;if(ba(t))for(let l of t)s(l);else if(typeof t=="object"&&t!==null&&nF(t))for(let l in t)s(t[l]);else s(t);return o;function s(l){var f,d;if(typeof l=="string"&&na(l,"./")&&l.indexOf("*")===-1){let g=Ou(l).slice(2);if(g.indexOf("..")>=0||g.indexOf(".")>=0||g.indexOf("node_modules")>=0)return!1;let m=vi(e.packageDirectory,l),v=_a(m,(d=(f=r.host).getCurrentDirectory)==null?void 0:d.call(f)),S=$J(i,v,!1,r);if(S)return o=xg(o,S,(x,A)=>x.path===A.path),!0}else if(Array.isArray(l)){for(let g of l)if(s(g))return!0}else if(typeof l=="object"&&l!==null)return mn(bh(l),g=>{if(g==="default"||ya(r.conditions,g)||QO(r.conditions,g))return s(l[g]),!0})}}function Z3(e,t,r){return{host:t,compilerOptions:r,traceEnabled:ov(r,t),failedLookupLocations:E8,affectingLocations:E8,packageJsonInfoCache:e,features:0,conditions:Je,requestContainingDirectory:void 0,reportDiagnostic:Ba,isConfigLookup:!1,candidateIsFromPackageJsonField:!1}}function eF(e,t){let r=Ou(e);for(r.pop();r.length>0;){let i=KS(T0(r),!1,t);if(i)return i;r.pop()}}function $O(e,t){return e.contents.versionPaths===void 0&&(e.contents.versionPaths=LNe(e.contents.packageJsonContent,t)||!1),e.contents.versionPaths||void 0}function KS(e,t,r){var i,o,s;let{host:l,traceEnabled:f}=r,d=vi(e,"package.json");if(t){r.failedLookupLocations.push(d);return}let g=(i=r.packageJsonInfoCache)==null?void 0:i.getPackageJsonInfo(d);if(g!==void 0){if(typeof g!="boolean")return f&&Xi(l,_.File_0_exists_according_to_earlier_cached_lookups,d),r.affectingLocations.push(d),g.packageDirectory===e?g:{packageDirectory:e,contents:g.contents};g&&f&&Xi(l,_.File_0_does_not_exist_according_to_earlier_cached_lookups,d),r.failedLookupLocations.push(d);return}let m=gp(e,l);if(m&&l.fileExists(d)){let v=JI(d,l);f&&Xi(l,_.Found_package_json_at_0,d);let S={packageDirectory:e,contents:{packageJsonContent:v,versionPaths:void 0,resolvedEntrypoints:void 0}};return(o=r.packageJsonInfoCache)==null||o.setPackageJsonInfo(d,S),r.affectingLocations.push(d),S}else m&&f&&Xi(l,_.File_0_does_not_exist,d),(s=r.packageJsonInfoCache)==null||s.setPackageJsonInfo(d,m),r.failedLookupLocations.push(d)}function tF(e,t,r,i,o,s){let l;o&&(i.isConfigLookup?l=ANe(o,t,i):l=e&4&&xNe(o,t,i)||e&7&&CNe(o,t,i)||void 0);let f=(S,x,A,w)=>{let C=YO(x,A,w);if(C){let W=KNe(S,C);if(W)return J3(W);w.traceEnabled&&Xi(w.host,_.File_0_has_an_unsupported_extension_so_skipping_it,C)}let P=S===4?5:S,F=w.features,B=w.candidateIsFromPackageJsonField;w.candidateIsFromPackageJsonField=!0,o?.type!=="module"&&(w.features&=-33);let q=Q3(P,x,A,w,!1);return w.features=F,w.candidateIsFromPackageJsonField=B,q},d=l?!gp(ni(l),i.host):void 0,g=r||!gp(t,i.host),m=vi(t,i.isConfigLookup?"tsconfig":"index");if(s&&(!l||Gy(t,l))){let S=Xp(t,l||m,!1);i.traceEnabled&&Xi(i.host,_.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,s.version,Rf,S);let x=nK(e,S,t,s.paths,void 0,f,d||g,i);if(x)return Rfe(x.value)}let v=l&&Rfe(f(e,l,d,i));if(v)return v;if(!(i.features&32))return BL(e,m,g,i)}function KNe(e,t,r){let i=Hm(t);return i!==void 0&&QJ(e,i)?{path:t,ext:i,resolvedUsingTsExtension:r}:void 0}function QJ(e,t){return e&2&&(t===".js"||t===".jsx"||t===".mjs"||t===".cjs")||e&1&&(t===".ts"||t===".tsx"||t===".mts"||t===".cts")||e&4&&(t===".d.ts"||t===".d.mts"||t===".d.cts")||e&8&&t===".json"||!1}function ZJ(e){let t=e.indexOf(_s);return e[0]==="@"&&(t=e.indexOf(_s,t+1)),t===-1?{packageName:e,rest:""}:{packageName:e.slice(0,t),rest:e.slice(t+1)}}function nF(e){return Ji(bh(e),t=>na(t,"."))}function qNe(e){return!vt(bh(e),t=>na(t,"."))}function XNe(e,t,r,i,o,s){var l,f;let d=_a(vi(r,"dummy"),(f=(l=i.host).getCurrentDirectory)==null?void 0:f.call(l)),g=eF(d,i);if(!g||!g.contents.packageJsonContent.exports||typeof g.contents.packageJsonContent.name!="string")return;let m=Ou(t),v=Ou(g.contents.packageJsonContent.name);if(!Ji(v,(C,P)=>m[P]===C))return;let S=m.slice(v.length),x=Fn(S)?`.${_s}${S.join(_s)}`:".",A=e&5,w=e&-6;return eK(g,A,x,i,o,s)||eK(g,w,x,i,o,s)}function eK(e,t,r,i,o,s){if(e.contents.packageJsonContent.exports){if(r==="."){let l;if(typeof e.contents.packageJsonContent.exports=="string"||Array.isArray(e.contents.packageJsonContent.exports)||typeof e.contents.packageJsonContent.exports=="object"&&qNe(e.contents.packageJsonContent.exports)?l=e.contents.packageJsonContent.exports:fs(e.contents.packageJsonContent.exports,".")&&(l=e.contents.packageJsonContent.exports["."]),l)return e_e(t,i,o,s,r,e,!1)(l,"",!1,".")}else if(nF(e.contents.packageJsonContent.exports)){if(typeof e.contents.packageJsonContent.exports!="object")return i.traceEnabled&&Xi(i.host,_.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,r,e.packageDirectory),Af(void 0);let l=Zfe(t,i,o,s,r,e.contents.packageJsonContent.exports,e,!1);if(l)return l}return i.traceEnabled&&Xi(i.host,_.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1,r,e.packageDirectory),Af(void 0)}}function YNe(e,t,r,i,o,s){var l,f;if(t==="#"||na(t,"#/"))return i.traceEnabled&&Xi(i.host,_.Invalid_import_specifier_0_has_no_possible_resolutions,t),Af(void 0);let d=_a(vi(r,"dummy"),(f=(l=i.host).getCurrentDirectory)==null?void 0:f.call(l)),g=eF(d,i);if(!g)return i.traceEnabled&&Xi(i.host,_.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve,d),Af(void 0);if(!g.contents.packageJsonContent.imports)return i.traceEnabled&&Xi(i.host,_.package_json_scope_0_has_no_imports_defined,g.packageDirectory),Af(void 0);let m=Zfe(e,i,o,s,t,g.contents.packageJsonContent.imports,g,!0);return m||(i.traceEnabled&&Xi(i.host,_.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1,t,g.packageDirectory),Af(void 0))}function tK(e,t){let r=e.indexOf("*"),i=t.indexOf("*"),o=r===-1?e.length:r+1,s=i===-1?t.length:i+1;return o>s?-1:s>o||r===-1?1:i===-1||e.length>t.length?-1:t.length>e.length?1:0}function Zfe(e,t,r,i,o,s,l,f){let d=e_e(e,t,r,i,o,l,f);if(!Oc(o,_s)&&o.indexOf("*")===-1&&fs(s,o)){let v=s[o];return d(v,"",!1,o)}let g=XC(Pr(bh(s),v=>v.indexOf("*")!==-1||Oc(v,"/")),tK);for(let v of g)if(t.features&16&&m(v,o)){let S=s[v],x=v.indexOf("*"),A=o.substring(v.substring(0,x).length,o.length-(v.length-1-x));return d(S,A,!0,v)}else if(Oc(v,"*")&&na(o,v.substring(0,v.length-1))){let S=s[v],x=o.substring(v.length-1);return d(S,x,!0,v)}else if(na(o,v)){let S=s[v],x=o.substring(v.length);return d(S,x,!1,v)}function m(v,S){if(Oc(v,"*"))return!1;let x=v.indexOf("*");return x===-1?!1:na(S,v.substring(0,x))&&Oc(S,v.substring(x+1))}}function e_e(e,t,r,i,o,s,l){return f;function f(d,g,m,v){if(typeof d=="string"){if(!m&&g.length>0&&!Oc(d,"/"))return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Af(void 0);if(!na(d,"./")){if(l&&!na(d,"../")&&!na(d,"/")&&!qp(d)){let Y=m?d.replace(/\*/g,g):d+g;Y0(t,_.Using_0_subpath_1_with_target_2,"imports",v,Y),Y0(t,_.Resolving_module_0_from_1,Y,s.packageDirectory+"/");let R=GL(t.features,Y,s.packageDirectory+"/",t.compilerOptions,t.host,r,e,!1,i);return Af(R.resolvedModule?{path:R.resolvedModule.resolvedFileName,extension:R.resolvedModule.extension,packageId:R.resolvedModule.packageId,originalPath:R.resolvedModule.originalPath,resolvedUsingTsExtension:R.resolvedModule.resolvedUsingTsExtension}:void 0)}return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Af(void 0)}let P=(Jd(d)?Ou(d).slice(1):Ou(d)).slice(1);if(P.indexOf("..")>=0||P.indexOf(".")>=0||P.indexOf("node_modules")>=0)return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Af(void 0);let F=vi(s.packageDirectory,d),B=Ou(g);if(B.indexOf("..")>=0||B.indexOf(".")>=0||B.indexOf("node_modules")>=0)return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Af(void 0);t.traceEnabled&&Xi(t.host,_.Using_0_subpath_1_with_target_2,l?"imports":"exports",v,m?d.replace(/\*/g,g):d+g);let q=S(m?F.replace(/\*/g,g):F+g),W=w(q,g,vi(s.packageDirectory,"package.json"),l);return W||Af(O2(s,$J(e,q,!1,t)))}else if(typeof d=="object"&&d!==null)if(Array.isArray(d)){if(!Fn(d))return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Af(void 0);for(let C of d){let P=f(C,g,m,v);if(P)return P}}else{Y0(t,_.Entering_conditional_exports);for(let C of bh(d))if(C==="default"||t.conditions.indexOf(C)>=0||QO(t.conditions,C)){Y0(t,_.Matched_0_condition_1,l?"imports":"exports",C);let P=d[C],F=f(P,g,m,v);if(F)return Y0(t,_.Resolved_under_condition_0,C),Y0(t,_.Exiting_conditional_exports),F;Y0(t,_.Failed_to_resolve_under_condition_0,C)}else Y0(t,_.Saw_non_matching_condition_0,C);Y0(t,_.Exiting_conditional_exports);return}else if(d===null)return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_explicitly_maps_specifier_1_to_null,s.packageDirectory,o),Af(void 0);return t.traceEnabled&&Xi(t.host,_.package_json_scope_0_has_invalid_type_for_target_of_specifier_1,s.packageDirectory,o),Af(void 0);function S(C){var P,F;return C===void 0?C:_a(C,(F=(P=t.host).getCurrentDirectory)==null?void 0:F.call(P))}function x(C,P){return cu(vi(C,P))}function A(){return t.host.useCaseSensitiveFileNames?typeof t.host.useCaseSensitiveFileNames=="boolean"?t.host.useCaseSensitiveFileNames:t.host.useCaseSensitiveFileNames():!0}function w(C,P,F,B){var q,W,Y,R;if(!t.isConfigLookup&&(t.compilerOptions.declarationDir||t.compilerOptions.outDir)&&C.indexOf("/node_modules/")===-1&&(!t.compilerOptions.configFile||Gy(s.packageDirectory,S(t.compilerOptions.configFile.fileName),!A()))){let $=lb({useCaseSensitiveFileNames:A}),fe=[];if(t.compilerOptions.rootDir||t.compilerOptions.composite&&t.compilerOptions.configFilePath){let Z=S(uN(t.compilerOptions,()=>[],((W=(q=t.host).getCurrentDirectory)==null?void 0:W.call(q))||"",$));fe.push(Z)}else if(t.requestContainingDirectory){let Z=S(vi(t.requestContainingDirectory,"index.ts")),U=S(uN(t.compilerOptions,()=>[Z,S(F)],((R=(Y=t.host).getCurrentDirectory)==null?void 0:R.call(Y))||"",$));fe.push(U);let re=cu(U);for(;re&&re.length>1;){let le=Ou(re);le.pop();let _e=T0(le);fe.unshift(_e),re=cu(_e)}}fe.length>1&&t.reportDiagnostic(ps(B?_.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:_.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate,P===""?".":P,F));for(let Z of fe){let U=ie(Z);for(let re of U)if(Gy(re,C,!A())){let le=C.slice(re.length+1),_e=vi(Z,le),ge=[".mjs",".cjs",".js",".json",".d.mts",".d.cts",".d.ts"];for(let X of ge)if(Gc(_e,X)){let Ve=Oce(_e);for(let we of Ve){if(!QJ(e,we))continue;let ke=uj(_e,we,X,!A());if(t.host.fileExists(ke))return Af(O2(s,$J(e,ke,!1,t)))}}}}}return;function ie($){var fe,Z;let U=t.compilerOptions.configFile?((Z=(fe=t.host).getCurrentDirectory)==null?void 0:Z.call(fe))||"":$,re=[];return t.compilerOptions.declarationDir&&re.push(S(x(U,t.compilerOptions.declarationDir))),t.compilerOptions.outDir&&t.compilerOptions.outDir!==t.compilerOptions.declarationDir&&re.push(S(x(U,t.compilerOptions.outDir))),re}}}}function QO(e,t){if(e.indexOf("types")===-1||!na(t,"types@"))return!1;let r=mA.tryParse(t.substring(6));return r?r.test(Rf):!1}function t_e(e,t,r,i,o,s){return n_e(e,t,r,i,!1,o,s)}function $Ne(e,t,r){return n_e(4,e,t,r,!0,void 0,void 0)}function n_e(e,t,r,i,o,s,l){let f=i.features===0?void 0:i.features&32?99:1,d=e&5,g=e&-6;if(d){let v=m(d);if(v)return v}if(g&&!o)return m(g);function m(v){return Th(Al(r),S=>{if(Hl(S)!=="node_modules"){let x=a_e(s,t,f,S,l,i);return x||Af(r_e(v,t,S,i,o,s,l))}})}}function r_e(e,t,r,i,o,s,l){let f=vi(r,"node_modules"),d=gp(f,i.host);if(!d&&i.traceEnabled&&Xi(i.host,_.Directory_0_does_not_exist_skipping_all_lookups_in_it,f),!o){let g=i_e(e,t,f,d,i,s,l);if(g)return g}if(e&4){let g=vi(f,"@types"),m=d;return d&&!gp(g,i.host)&&(i.traceEnabled&&Xi(i.host,_.Directory_0_does_not_exist_skipping_all_lookups_in_it,g),m=!1),i_e(4,QNe(t,i),g,m,i,s,l)}}function i_e(e,t,r,i,o,s,l){var f,d,g;let m=So(vi(r,t)),{packageName:v,rest:S}=ZJ(t),x=vi(r,v),A,w=KS(m,!i,o);if(S!==""&&w&&(!(o.features&8)||!fs((d=(f=A=KS(x,!i,o))==null?void 0:f.contents.packageJsonContent)!=null?d:Je,"exports"))){let F=BL(e,m,!i,o);if(F)return J3(F);let B=tF(e,m,!i,o,w.contents.packageJsonContent,$O(w,o));return O2(w,B)}let C=(F,B,q,W)=>{let Y=BL(F,B,q,W)||tF(F,B,q,W,w&&w.contents.packageJsonContent,w&&$O(w,W));return!Y&&w&&(w.contents.packageJsonContent.exports===void 0||w.contents.packageJsonContent.exports===null)&&W.features&32&&(Y=BL(F,vi(B,"index.js"),q,W)),O2(w,Y)};if(S!==""&&(w=A??KS(x,!i,o)),w&&w.contents.packageJsonContent.exports&&o.features&8)return(g=eK(w,e,vi(".",S),o,s,l))==null?void 0:g.value;let P=S!==""&&w?$O(w,o):void 0;if(P){o.traceEnabled&&Xi(o.host,_.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,P.version,Rf,S);let F=i&&gp(x,o.host),B=nK(e,S,x,P.paths,void 0,C,!F,o);if(B)return B.value}return C(e,m,!i,o)}function nK(e,t,r,i,o,s,l,f){o||(o=g4(i));let d=NW(o,t);if(d){let g=Ta(d)?void 0:Dae(d,t),m=Ta(d)?d:kae(d);return f.traceEnabled&&Xi(f.host,_.Module_name_0_matched_pattern_1,t,m),{value:mn(i[m],S=>{let x=g?S.replace("*",g):S,A=So(vi(r,x));f.traceEnabled&&Xi(f.host,_.Trying_substitution_0_candidate_module_location_Colon_1,S,x);let w=Hm(S);if(w!==void 0){let C=YO(A,l,f);if(C!==void 0)return J3({path:C,ext:w,resolvedUsingTsExtension:void 0})}return s(e,A,l||!gp(ni(A),f.host),f)})}}}function QNe(e,t){let r=UL(e);return t.traceEnabled&&r!==e&&Xi(t.host,_.Scoped_package_detected_looking_in_0,r),r}function rF(e){return`@types/${UL(e)}`}function UL(e){if(na(e,"@")){let t=e.replace(_s,aF);if(t!==e)return t.slice(1)}return e}function ZO(e){let t=QC(e,"@types/");return t!==e?iF(t):e}function iF(e){return jl(e,aF)?"@"+e.replace(aF,_s):e}function a_e(e,t,r,i,o,s){let l=e&&e.getFromNonRelativeNameCache(t,r,i,o);if(l)return s.traceEnabled&&Xi(s.host,_.Resolution_for_module_0_was_found_in_cache_from_location_1,t,i),s.resultFromCache=l,{value:l.resolvedModule&&{path:l.resolvedModule.resolvedFileName,originalPath:l.resolvedModule.originalPath||!0,extension:l.resolvedModule.extension,packageId:l.resolvedModule.packageId,resolvedUsingTsExtension:l.resolvedModule.resolvedUsingTsExtension}}}function o_e(e,t,r,i,o,s){let l=ov(r,i),f=[],d=[],g=ni(t),m=[],v={compilerOptions:r,host:i,traceEnabled:l,failedLookupLocations:f,affectingLocations:d,packageJsonInfoCache:o,features:0,conditions:[],requestContainingDirectory:g,reportDiagnostic:A=>void m.push(A),isConfigLookup:!1,candidateIsFromPackageJsonField:!1},S=x(5)||x(2|(r.resolveJsonModule?8:0));return Pfe(e,S&&S.value,S?.value&&JS(S.value.path),f,d,m,v);function x(A){let w=Vfe(A,e,g,YJ,v);if(w)return{value:w};if(fl(e)){let C=So(vi(g,e));return Af(YJ(A,C,!1,v))}else{let C=Th(g,P=>{let F=a_e(o,e,void 0,P,s,v);if(F)return F;let B=So(vi(P,e));return Af(YJ(A,B,!1,v))});if(C)return C;if(A&5)return $Ne(e,g,v)}}}function VL(e,t){return!!e.allowImportingTsExtensions||t&&Fu(t)}function s_e(e,t,r,i,o,s){let l=ov(r,i);l&&Xi(i,_.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,t,e,o);let f=[],d=[],g=[],m={compilerOptions:r,host:i,traceEnabled:l,failedLookupLocations:f,affectingLocations:d,packageJsonInfoCache:s,features:0,conditions:[],requestContainingDirectory:void 0,reportDiagnostic:S=>void g.push(S),isConfigLookup:!1,candidateIsFromPackageJsonField:!1},v=r_e(4,e,o,m,!1,void 0,void 0);return Mfe(v,!0,f,d,g,m.resultFromCache)}function Af(e){return e!==void 0?{value:e}:void 0}function Y0(e,t,...r){e.traceEnabled&&Xi(e.host,t,...r)}var rK,iK,aK,Wg,aF,ZNe=gt({"src/compiler/moduleNameResolver.ts"(){"use strict";fa(),iK=vi("node_modules","@types"),aK=(e=>(e[e.None=0]="None",e[e.Imports=2]="Imports",e[e.SelfName=4]="SelfName",e[e.Exports=8]="Exports",e[e.ExportsPatternTrailers=16]="ExportsPatternTrailers",e[e.AllFeatures=30]="AllFeatures",e[e.Node16Default=30]="Node16Default",e[e.NodeNextDefault=30]="NodeNextDefault",e[e.BundlerDefault=30]="BundlerDefault",e[e.EsmMode=32]="EsmMode",e))(aK||{}),Wg="/node_modules/",aF="__"}});function Gh(e,t){return e.body&&!e.body.parent&&(go(e.body,e),Zy(e.body,!1)),e.body?oK(e.body,t):1}function oK(e,t=new Map){let r=zo(e);if(t.has(r))return t.get(r)||0;t.set(r,void 0);let i=ePe(e,t);return t.set(r,i),i}function ePe(e,t){switch(e.kind){case 261:case 262:return 0;case 263:if(R0(e))return 2;break;case 269:case 268:if(!Mr(e,1))return 0;break;case 275:let r=e;if(!r.moduleSpecifier&&r.exportClause&&r.exportClause.kind===276){let i=0;for(let o of r.exportClause.elements){let s=tPe(o,t);if(s>i&&(i=s),i===1)return i}return i}break;case 265:{let i=0;return pa(e,o=>{let s=oK(o,t);switch(s){case 0:return;case 2:i=2;return;case 1:return i=1,!0;default:L.assertNever(s)}}),i}case 264:return Gh(e,t);case 79:if(e.flags&2048)return 0}return 1}function tPe(e,t){let r=e.propertyName||e.name,i=e.parent;for(;i;){if(Va(i)||Tp(i)||Li(i)){let o=i.statements,s;for(let l of o)if(xw(l,r)){l.parent||(go(l,i),Zy(l,!1));let f=oK(l,t);if((s===void 0||f>s)&&(s=f),s===1)return s}if(s!==void 0)return s}i=i.parent}return 1}function zT(e){return L.attachFlowNodeDebugInfo(e),e}function c_e(e,t){Fs("beforeBind"),fp.logStartBindFile(""+e.fileName),d_e(e,t),fp.logStopBindFile(),Fs("afterBind"),hf("Bind","beforeBind","afterBind")}function nPe(){var e,t,r,i,o,s,l,f,d,g,m,v,S,x,A,w,C,P,F,B,q,W,Y=!1,R=0,ie,$,fe={flags:1},Z={flags:1},U=Ot();return le;function re(M,He,Nt,Pn,la){return Nu(Gn(M)||e,M,He,Nt,Pn,la)}function le(M,He){var Nt,Pn;e=M,t=He,r=Do(t),W=_e(e,He),$=new Set,R=0,ie=ml.getSymbolConstructor(),L.attachFlowNodeDebugInfo(fe),L.attachFlowNodeDebugInfo(Z),e.locals||((Nt=ai)==null||Nt.push(ai.Phase.Bind,"bindSourceFile",{path:e.path},!0),ft(e),(Pn=ai)==null||Pn.pop(),e.symbolCount=R,e.classifiableNames=$,hc()),e=void 0,t=void 0,r=void 0,i=void 0,o=void 0,s=void 0,l=void 0,f=void 0,d=void 0,g=!1,m=void 0,v=void 0,S=void 0,x=void 0,A=void 0,w=void 0,C=void 0,F=void 0,B=!1,Y=!1,q=0}function _e(M,He){return Uf(He,"alwaysStrict")&&!M.isDeclarationFile?!0:!!M.externalModuleIndicator}function ge(M,He){return R++,new ie(M,He)}function X(M,He,Nt){M.flags|=Nt,He.symbol=M,M.declarations=xg(M.declarations,He),Nt&1955&&!M.exports&&(M.exports=Ua()),Nt&6240&&!M.members&&(M.members=Ua()),M.constEnumOnlyModule&&M.flags&304&&(M.constEnumOnlyModule=!1),Nt&111551&&rR(M,He)}function Ve(M){if(M.kind===274)return M.isExportEquals?"export=":"default";let He=sa(M);if(He){if(lu(M)){let Nt=l_(He);return mp(M)?"__global":`"${Nt}"`}if(He.kind===164){let Nt=He.expression;if(yf(Nt))return Bs(Nt.text);if(X6(Nt))return Xa(Nt.operator)+Nt.operand.text;L.fail("Only computed properties with literal names have declaration names")}if(pi(He)){let Nt=Zc(M);if(!Nt)return;let Pn=Nt.symbol;return hR(Pn,He.escapedText)}return c_(He)?MI(He):void 0}switch(M.kind){case 173:return"__constructor";case 181:case 176:case 326:return"__call";case 182:case 177:return"__new";case 178:return"__index";case 275:return"__export";case 308:return"export=";case 223:if(ic(M)===2)return"export=";L.fail("Unknown binary declaration kind");break;case 320:return jA(M)?"__new":"__call";case 166:return L.assert(M.parent.kind===320,"Impossible parameter parent kind",()=>`parent is: ${L.formatSyntaxKind(M.parent.kind)}, expected JSDocFunctionType`),"arg"+M.parent.parameters.indexOf(M)}}function we(M){return zl(M)?os(M.name):Gi(L.checkDefined(Ve(M)))}function ke(M,He,Nt,Pn,la,oa,be){L.assert(be||!Xy(Nt));let De=Mr(Nt,1024)||Mu(Nt)&&Nt.name.escapedText==="default",mt=be?"__computed":De&&He?"default":Ve(Nt),St;if(mt===void 0)St=ge(0,"__missing");else if(St=M.get(mt),Pn&2885600&&$.add(mt),!St)M.set(mt,St=ge(0,mt)),oa&&(St.isReplaceableByMethod=!0);else{if(oa&&!St.isReplaceableByMethod)return St;if(St.flags&la){if(St.isReplaceableByMethod)M.set(mt,St=ge(0,mt));else if(!(Pn&3&&St.flags&67108864)){zl(Nt)&&go(Nt.name,Nt);let Zt=St.flags&2?_.Cannot_redeclare_block_scoped_variable_0:_.Duplicate_identifier_0,rn=!0;(St.flags&384||Pn&384)&&(Zt=_.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,rn=!1);let sn=!1;Fn(St.declarations)&&(De||St.declarations&&St.declarations.length&&Nt.kind===274&&!Nt.isExportEquals)&&(Zt=_.A_module_cannot_have_multiple_default_exports,rn=!1,sn=!0);let Dn=[];Ep(Nt)&&rc(Nt.type)&&Mr(Nt,1)&&St.flags&2887656&&Dn.push(re(Nt,_.Did_you_mean_0,`export type { ${Gi(Nt.name.escapedText)} }`));let kr=sa(Nt)||Nt;mn(St.declarations,(Vn,$t)=>{let Xn=sa(Vn)||Vn,ra=re(Xn,Zt,rn?we(Vn):void 0);e.bindDiagnostics.push(sn?Ao(ra,re(kr,$t===0?_.Another_export_default_is_here:_.and_here)):ra),sn&&Dn.push(re(Xn,_.The_first_export_default_is_here))});let ki=re(kr,Zt,rn?we(Nt):void 0);e.bindDiagnostics.push(Ao(ki,...Dn)),St=ge(0,mt)}}}return X(St,Nt,Pn),St.parent?L.assert(St.parent===He,"Existing symbol parent should match new one"):St.parent=He,St}function Pe(M,He,Nt){let Pn=!!(wg(M)&1)||Ce(M);if(He&2097152)return M.kind===278||M.kind===268&&Pn?ke(o.symbol.exports,o.symbol,M,He,Nt):(L.assertNode(o,Qp),ke(o.locals,void 0,M,He,Nt));if(Ff(M)&&L.assert(Yn(M)),!lu(M)&&(Pn||o.flags&64)){if(!Qp(o)||!o.locals||Mr(M,1024)&&!Ve(M))return ke(o.symbol.exports,o.symbol,M,He,Nt);let la=He&111551?1048576:0,oa=ke(o.locals,void 0,M,la,Nt);return oa.exportSymbol=ke(o.symbol.exports,o.symbol,M,He,Nt),M.localSymbol=oa,oa}else return L.assertNode(o,Qp),ke(o.locals,void 0,M,He,Nt)}function Ce(M){if(M.parent&&Tc(M)&&(M=M.parent),!Ff(M))return!1;if(!vO(M)&&M.fullName)return!0;let He=sa(M);return He?!!(LR(He.parent)&&Vr(He.parent)||Kl(He.parent)&&wg(He.parent)&1):!1}function Ie(M,He){let Nt=o,Pn=s,la=l;if(He&1?(M.kind!==216&&(s=o),o=l=M,He&32&&(o.locals=Ua(),Za(o))):He&2&&(l=M,He&32&&(l.locals=void 0)),He&4){let oa=m,be=v,De=S,mt=x,St=C,Zt=F,rn=B,sn=He&16&&!Mr(M,512)&&!M.asteriskToken&&!!ET(M)||M.kind===172;sn||(m=zT({flags:2}),He&144&&(m.node=M)),x=sn||M.kind===173||Yn(M)&&(M.kind===259||M.kind===215)?tn():void 0,C=void 0,v=void 0,S=void 0,F=void 0,B=!1,Ye(M),M.flags&=-2817,!(m.flags&1)&&He&8&&Pf(M.body)&&(M.flags|=256,B&&(M.flags|=512),M.endFlowNode=m),M.kind===308&&(M.flags|=q,M.endFlowNode=m),x&&($n(x,m),m=pt(x),(M.kind===173||M.kind===172||Yn(M)&&(M.kind===259||M.kind===215))&&(M.returnFlowNode=m)),sn||(m=oa),v=be,S=De,x=mt,C=St,F=Zt,B=rn}else He&64?(g=!1,Ye(M),L.assertNotNode(M,Re),M.flags=g?M.flags|128:M.flags&-129):Ye(M);o=Nt,s=Pn,l=la}function Be(M){Ne(M,He=>He.kind===259?ft(He):void 0),Ne(M,He=>He.kind!==259?ft(He):void 0)}function Ne(M,He=ft){M!==void 0&&mn(M,He)}function Le(M){pa(M,ft,Ne)}function Ye(M){let He=Y;if(Y=!1,Y_(M)){Le(M),Yt(M),Y=He;return}switch(M.kind>=240&&M.kind<=256&&!t.allowUnreachableCode&&(M.flowNode=m),M.kind){case 244:Ht(M);break;case 243:En(M);break;case 245:dr(M);break;case 246:case 247:Cr(M);break;case 242:Se(M);break;case 250:case 254:at(M);break;case 249:case 248:nt(M);break;case 255:ce(M);break;case 252:Q(M);break;case 266:ue(M);break;case 292:G(M);break;case 241:Oe(M);break;case 253:Ge(M);break;case 221:ir(M);break;case 222:ae(M);break;case 223:if(Fg(M)){Y=He,rt(M);return}U(M);break;case 217:Ke(M);break;case 224:oe(M);break;case 257:z(M);break;case 208:case 209:Si(M);break;case 210:Ja(M);break;case 232:Kr(M);break;case 349:case 341:case 343:lt(M);break;case 308:{Be(M.statements),ft(M.endOfFileToken);break}case 238:case 265:Be(M.statements);break;case 205:Te(M);break;case 166:j(M);break;case 207:case 206:case 299:case 227:Y=He;default:Le(M);break}Yt(M),Y=He}function _t(M){switch(M.kind){case 79:case 80:case 108:case 208:case 209:return Rt(M);case 210:return We(M);case 214:case 232:return _t(M.expression);case 223:return zt(M);case 221:return M.operator===53&&_t(M.operand);case 218:return _t(M.expression)}return!1}function ct(M){return WI(M)||(br(M)||PS(M)||ud(M))&&ct(M.expression)||ar(M)&&M.operatorToken.kind===27&&ct(M.right)||Vs(M)&&(yf(M.argumentExpression)||bc(M.argumentExpression))&&ct(M.expression)||Iu(M)&&ct(M.left)}function Rt(M){return ct(M)||Jl(M)&&Rt(M.expression)}function We(M){if(M.arguments){for(let He of M.arguments)if(Rt(He))return!0}return!!(M.expression.kind===208&&Rt(M.expression.expression))}function qe(M,He){return y2(M)&&Qt(M.expression)&&es(He)}function zt(M){switch(M.operatorToken.kind){case 63:case 75:case 76:case 77:return Rt(M.left);case 34:case 35:case 36:case 37:return Qt(M.left)||Qt(M.right)||qe(M.right,M.left)||qe(M.left,M.right);case 102:return Qt(M.left);case 101:return _t(M.right);case 27:return _t(M.right)}return!1}function Qt(M){switch(M.kind){case 214:return Qt(M.expression);case 223:switch(M.operatorToken.kind){case 63:return Qt(M.left);case 27:return Qt(M.right)}}return Rt(M)}function tn(){return zT({flags:4,antecedents:void 0})}function kn(){return zT({flags:8,antecedents:void 0})}function _n(M,He,Nt){return zT({flags:1024,target:M,antecedents:He,antecedent:Nt})}function Gt(M){M.flags|=M.flags&2048?4096:2048}function $n(M,He){!(He.flags&1)&&!ya(M.antecedents,He)&&((M.antecedents||(M.antecedents=[])).push(He),Gt(He))}function ui(M,He,Nt){return He.flags&1?He:Nt?(Nt.kind===110&&M&64||Nt.kind===95&&M&32)&&!r6(Nt)&&!wj(Nt.parent)?fe:_t(Nt)?(Gt(He),zT({flags:M,antecedent:He,node:Nt})):He:M&32?He:fe}function Ni(M,He,Nt,Pn){return Gt(M),zT({flags:128,antecedent:M,switchStatement:He,clauseStart:Nt,clauseEnd:Pn})}function Pi(M,He,Nt){Gt(He);let Pn=zT({flags:M,antecedent:He,node:Nt});return C&&$n(C,Pn),Pn}function gr(M,He){return Gt(M),zT({flags:512,antecedent:M,node:He})}function pt(M){let He=M.antecedents;return He?He.length===1?He[0]:M:fe}function nn(M){let He=M.parent;switch(He.kind){case 242:case 244:case 243:return He.expression===M;case 245:case 224:return He.condition===M}return!1}function Dt(M){for(;;)if(M.kind===214)M=M.expression;else if(M.kind===221&&M.operator===53)M=M.operand;else return CR(M)}function pn(M){return cW(vs(M))}function An(M){for(;ud(M.parent)||tv(M.parent)&&M.parent.operator===53;)M=M.parent;return!nn(M)&&!Dt(M.parent)&&!(Jl(M.parent)&&M.parent.expression===M)}function Kn(M,He,Nt,Pn){let la=A,oa=w;A=Nt,w=Pn,M(He),A=la,w=oa}function hi(M,He,Nt){Kn(ft,M,He,Nt),(!M||!pn(M)&&!Dt(M)&&!(Jl(M)&&mI(M)))&&($n(He,ui(32,m,M)),$n(Nt,ui(64,m,M)))}function ri(M,He,Nt){let Pn=v,la=S;v=He,S=Nt,ft(M),v=Pn,S=la}function vn(M,He){let Nt=F;for(;Nt&&M.parent.kind===253;)Nt.continueTarget=He,Nt=Nt.next,M=M.parent;return He}function Ht(M){let He=vn(M,kn()),Nt=tn(),Pn=tn();$n(He,m),m=He,hi(M.expression,Nt,Pn),m=pt(Nt),ri(M.statement,Pn,He),$n(He,m),m=pt(Pn)}function En(M){let He=kn(),Nt=vn(M,tn()),Pn=tn();$n(He,m),m=He,ri(M.statement,Pn,Nt),$n(Nt,m),m=pt(Nt),hi(M.expression,He,Pn),m=pt(Pn)}function dr(M){let He=vn(M,kn()),Nt=tn(),Pn=tn();ft(M.initializer),$n(He,m),m=He,hi(M.condition,Nt,Pn),m=pt(Nt),ri(M.statement,Pn,He),ft(M.incrementor),$n(He,m),m=pt(Pn)}function Cr(M){let He=vn(M,kn()),Nt=tn();ft(M.expression),$n(He,m),m=He,M.kind===247&&ft(M.awaitModifier),$n(Nt,m),ft(M.initializer),M.initializer.kind!==258&&Kt(M.initializer),ri(M.statement,Nt,He),$n(He,m),m=pt(Nt)}function Se(M){let He=tn(),Nt=tn(),Pn=tn();hi(M.expression,He,Nt),m=pt(He),ft(M.thenStatement),$n(Pn,m),m=pt(Nt),ft(M.elseStatement),$n(Pn,m),m=pt(Pn)}function at(M){ft(M.expression),M.kind===250&&(B=!0,x&&$n(x,m)),m=fe}function Tt(M){for(let He=F;He;He=He.next)if(He.name===M)return He}function ve(M,He,Nt){let Pn=M.kind===249?He:Nt;Pn&&($n(Pn,m),m=fe)}function nt(M){if(ft(M.label),M.label){let He=Tt(M.label.escapedText);He&&(He.referenced=!0,ve(M,He.breakTarget,He.continueTarget))}else ve(M,v,S)}function ce(M){let He=x,Nt=C,Pn=tn(),la=tn(),oa=tn();if(M.finallyBlock&&(x=la),$n(oa,m),C=oa,ft(M.tryBlock),$n(Pn,m),M.catchClause&&(m=pt(oa),oa=tn(),$n(oa,m),C=oa,ft(M.catchClause),$n(Pn,m)),x=He,C=Nt,M.finallyBlock){let be=tn();be.antecedents=Qi(Qi(Pn.antecedents,oa.antecedents),la.antecedents),m=be,ft(M.finallyBlock),m.flags&1?m=fe:(x&&la.antecedents&&$n(x,_n(be,la.antecedents,m)),C&&oa.antecedents&&$n(C,_n(be,oa.antecedents,m)),m=Pn.antecedents?_n(be,Pn.antecedents,m):fe)}else m=pt(Pn)}function Q(M){let He=tn();ft(M.expression);let Nt=v,Pn=P;v=He,P=m,ft(M.caseBlock),$n(He,m);let la=mn(M.caseBlock.clauses,oa=>oa.kind===293);M.possiblyExhaustive=!la&&!He.antecedents,la||$n(He,Ni(P,M,0,0)),v=Nt,P=Pn,m=pt(He)}function ue(M){let He=M.clauses,Nt=_t(M.parent.expression),Pn=fe;for(let la=0;la<He.length;la++){let oa=la;for(;!He[la].statements.length&&la+1<He.length;)ft(He[la]),la++;let be=tn();$n(be,Nt?Ni(P,M.parent,oa,la+1):P),$n(be,Pn),m=pt(be);let De=He[la];ft(De),Pn=m,!(m.flags&1)&&la!==He.length-1&&t.noFallthroughCasesInSwitch&&(De.fallthroughFlowNode=m)}}function G(M){let He=m;m=P,ft(M.expression),m=He,Ne(M.statements)}function Oe(M){ft(M.expression),je(M.expression)}function je(M){if(M.kind===210){let He=M;He.expression.kind!==106&&WI(He.expression)&&(m=gr(m,He))}}function Ge(M){let He=tn();F={next:F,name:M.label.escapedText,breakTarget:He,continueTarget:void 0,referenced:!1},ft(M.label),ft(M.statement),!F.referenced&&!t.allowUnusedLabels&&wt(Sle(t),M.label,_.Unused_label),F=F.next,$n(He,m),m=pt(He)}function kt(M){M.kind===223&&M.operatorToken.kind===63?Kt(M.left):Kt(M)}function Kt(M){if(ct(M))m=Pi(16,m,M);else if(M.kind===206)for(let He of M.elements)He.kind===227?Kt(He.expression):kt(He);else if(M.kind===207)for(let He of M.properties)He.kind===299?kt(He.initializer):He.kind===300?Kt(He.name):He.kind===301&&Kt(He.expression)}function ln(M,He,Nt){let Pn=tn();M.operatorToken.kind===55||M.operatorToken.kind===76?hi(M.left,Pn,Nt):hi(M.left,He,Pn),m=pt(Pn),ft(M.operatorToken),HI(M.operatorToken.kind)?(Kn(ft,M.right,He,Nt),Kt(M.left),$n(He,ui(32,m,M)),$n(Nt,ui(64,m,M))):hi(M.right,He,Nt)}function ir(M){if(M.operator===53){let He=A;A=w,w=He,Le(M),w=A,A=He}else Le(M),(M.operator===45||M.operator===46)&&Kt(M.operand)}function ae(M){Le(M),(M.operator===45||M.operator===46)&&Kt(M.operand)}function rt(M){Y?(Y=!1,ft(M.operatorToken),ft(M.right),Y=!0,ft(M.left)):(Y=!0,ft(M.left),Y=!1,ft(M.operatorToken),ft(M.right)),Kt(M.left)}function Ot(){return C3(M,He,Nt,Pn,la,void 0);function M(be,De){if(De){De.stackIndex++,go(be,i);let St=W;ta(be);let Zt=i;i=be,De.skip=!1,De.inStrictModeStack[De.stackIndex]=St,De.parentStack[De.stackIndex]=Zt}else De={stackIndex:0,skip:!1,inStrictModeStack:[void 0],parentStack:[void 0]};let mt=be.operatorToken.kind;if(AR(mt)||HI(mt)){if(An(be)){let St=tn();ln(be,St,St),m=pt(St)}else ln(be,A,w);De.skip=!0}return De}function He(be,De,mt){if(!De.skip){let St=oa(be);return mt.operatorToken.kind===27&&je(be),St}}function Nt(be,De,mt){De.skip||ft(be)}function Pn(be,De,mt){if(!De.skip){let St=oa(be);return mt.operatorToken.kind===27&&je(be),St}}function la(be,De){if(!De.skip){let Zt=be.operatorToken.kind;if(Mg(Zt)&&!Um(be)&&(Kt(be.left),Zt===63&&be.left.kind===209)){let rn=be.left;Qt(rn.expression)&&(m=Pi(256,m,be))}}let mt=De.inStrictModeStack[De.stackIndex],St=De.parentStack[De.stackIndex];mt!==void 0&&(W=mt),St!==void 0&&(i=St),De.skip=!1,De.stackIndex--}function oa(be){if(be&&ar(be)&&!Fg(be))return be;ft(be)}}function Ke(M){Le(M),M.expression.kind===208&&Kt(M.expression)}function oe(M){let He=tn(),Nt=tn(),Pn=tn();hi(M.condition,He,Nt),m=pt(He),ft(M.questionToken),ft(M.whenTrue),$n(Pn,m),m=pt(Nt),ft(M.colonToken),ft(M.whenFalse),$n(Pn,m),m=pt(Pn)}function pe(M){let He=ol(M)?void 0:M.name;if(La(He))for(let Nt of He.elements)pe(Nt);else m=Pi(16,m,M)}function z(M){Le(M),(M.initializer||CA(M.parent.parent))&&pe(M)}function Te(M){ft(M.dotDotDotToken),ft(M.propertyName),yt(M.initializer),ft(M.name)}function j(M){Ne(M.modifiers),ft(M.dotDotDotToken),ft(M.questionToken),ft(M.type),yt(M.initializer),ft(M.name)}function yt(M){if(!M)return;let He=m;if(ft(M),He===fe||He===m)return;let Nt=tn();$n(Nt,He),$n(Nt,m),m=pt(Nt)}function lt(M){ft(M.tagName),M.kind!==343&&M.fullName&&(go(M.fullName,M),Zy(M.fullName,!1)),typeof M.comment!="string"&&Ne(M.comment)}function Qe(M){Le(M);let He=sb(M);He&&He.kind!==171&&X(He.symbol,He,32)}function Vt(M,He,Nt){Kn(ft,M,He,Nt),(!Jl(M)||mI(M))&&($n(He,ui(32,m,M)),$n(Nt,ui(64,m,M)))}function Hn(M){switch(M.kind){case 208:ft(M.questionDotToken),ft(M.name);break;case 209:ft(M.questionDotToken),ft(M.argumentExpression);break;case 210:ft(M.questionDotToken),Ne(M.typeArguments),Ne(M.arguments);break}}function jr(M,He,Nt){let Pn=pI(M)?tn():void 0;Vt(M.expression,Pn||He,Nt),Pn&&(m=pt(Pn)),Kn(Hn,M,He,Nt),mI(M)&&($n(He,ui(32,m,M)),$n(Nt,ui(64,m,M)))}function ei(M){if(An(M)){let He=tn();jr(M,He,He),m=pt(He)}else jr(M,A,w)}function Kr(M){Jl(M)?ei(M):Le(M)}function Si(M){Jl(M)?ei(M):Le(M)}function Ja(M){if(Jl(M))ei(M);else{let He=vs(M.expression);He.kind===215||He.kind===216?(Ne(M.typeArguments),Ne(M.arguments),ft(M.expression)):(Le(M),M.expression.kind===106&&(m=gr(m,M)))}if(M.expression.kind===208){let He=M.expression;Re(He.name)&&Qt(He.expression)&&jH(He.name)&&(m=Pi(256,m,M))}}function Za(M){f&&(f.nextContainer=M),f=M}function Fa(M,He,Nt){switch(o.kind){case 264:return Pe(M,He,Nt);case 308:return xi(M,He,Nt);case 228:case 260:return Hi(M,He,Nt);case 263:return ke(o.symbol.exports,o.symbol,M,He,Nt);case 184:case 325:case 207:case 261:case 289:return ke(o.symbol.members,o.symbol,M,He,Nt);case 181:case 182:case 176:case 177:case 326:case 178:case 171:case 170:case 173:case 174:case 175:case 259:case 215:case 216:case 320:case 172:case 262:case 197:return o.locals&&L.assertNode(o,Qp),ke(o.locals,void 0,M,He,Nt)}}function Hi(M,He,Nt){return Ca(M)?ke(o.symbol.exports,o.symbol,M,He,Nt):ke(o.symbol.members,o.symbol,M,He,Nt)}function xi(M,He,Nt){return Lc(e)?Pe(M,He,Nt):ke(e.locals,void 0,M,He,Nt)}function Nr(M){let He=Li(M)?M:zr(M.body,Tp);return!!He&&He.statements.some(Nt=>Il(Nt)||pc(Nt))}function Fo(M){M.flags&16777216&&!Nr(M)?M.flags|=64:M.flags&=-65}function Qr(M){if(Fo(M),lu(M))if(Mr(M,1)&&ht(M,_.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible),uH(M))Wi(M);else{let He;if(M.name.kind===10){let{text:Pn}=M.name;He=n2(Pn),He===void 0&&ht(M.name,_.Pattern_0_can_have_at_most_one_Asterisk_character,Pn)}let Nt=Fa(M,512,110735);e.patternAmbientModules=Sn(e.patternAmbientModules,He&&!Ta(He)?{pattern:He,symbol:Nt}:void 0)}else{let He=Wi(M);if(He!==0){let{symbol:Nt}=M;Nt.constEnumOnlyModule=!(Nt.flags&304)&&He===2&&Nt.constEnumOnlyModule!==!1}}}function Wi(M){let He=Gh(M),Nt=He!==0;return Fa(M,Nt?512:1024,Nt?110735:0),He}function gn(M){let He=ge(131072,Ve(M));X(He,M,131072);let Nt=ge(2048,"__type");X(Nt,M,2048),Nt.members=Ua(),Nt.members.set(He.escapedName,He)}function Ki(M){return mc(M,4096,"__object")}function kc(M){return mc(M,4096,"__jsxAttributes")}function Ps(M,He,Nt){return Fa(M,He,Nt)}function mc(M,He,Nt){let Pn=ge(He,Nt);return He&106508&&(Pn.parent=o.symbol),X(Pn,M,He),Pn}function xc(M,He,Nt){switch(l.kind){case 264:Pe(M,He,Nt);break;case 308:if(kd(o)){Pe(M,He,Nt);break}default:L.assertNode(l,Qp),l.locals||(l.locals=Ua(),Za(l)),ke(l.locals,void 0,M,He,Nt)}}function hc(){if(!d)return;let M=o,He=f,Nt=l,Pn=i,la=m;for(let oa of d){let be=oa.parent.parent;o=jn(be.parent,mt=>!!(u_e(mt)&1))||e,l=tm(be)||e,m=zT({flags:2}),i=oa,ft(oa.typeExpression);let De=sa(oa);if((vO(oa)||!oa.fullName)&&De&&LR(De.parent)){let mt=Vr(De.parent);if(mt){Ln(e.symbol,De.parent,mt,!!jn(De,Zt=>br(Zt)&&Zt.name.escapedText==="prototype"),!1);let St=o;switch(tR(De.parent)){case 1:case 2:kd(e)?o=e:o=void 0;break;case 4:o=De.parent.expression;break;case 3:o=De.parent.expression.name;break;case 5:o=$0(e,De.parent.expression)?e:br(De.parent.expression)?De.parent.expression.name:De.parent.expression;break;case 0:return L.fail("Shouldn't have detected typedef or enum on non-assignment declaration")}o&&Pe(oa,524288,788968),o=St}}else vO(oa)||!oa.fullName||oa.fullName.kind===79?(i=oa.parent,xc(oa,524288,788968)):ft(oa.fullName)}o=M,f=He,l=Nt,i=Pn,m=la}function ro(M){if(!e.parseDiagnostics.length&&!(M.flags&16777216)&&!(M.flags&8388608)&&!Sce(M)){let He=nb(M);if(He===void 0)return;W&&He>=117&&He<=125?e.bindDiagnostics.push(re(M,aa(M),os(M))):He===133?Lc(e)&&O6(M)?e.bindDiagnostics.push(re(M,_.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,os(M))):M.flags&32768&&e.bindDiagnostics.push(re(M,_.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,os(M))):He===125&&M.flags&8192&&e.bindDiagnostics.push(re(M,_.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,os(M)))}}function aa(M){return Zc(M)?_.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:e.externalModuleIndicator?_.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:_.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function Co(M){M.escapedText==="#constructor"&&(e.parseDiagnostics.length||e.bindDiagnostics.push(re(M,_.constructor_is_a_reserved_word,os(M))))}function gc(M){W&&Ju(M.left)&&Mg(M.operatorToken.kind)&&bl(M,M.left)}function Ll(M){W&&M.variableDeclaration&&bl(M,M.variableDeclaration.name)}function md(M){if(W&&M.expression.kind===79){let He=w0(e,M.expression);e.bindDiagnostics.push(al(e,He.start,He.length,_.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function Pc(M){return Re(M)&&(M.escapedText==="eval"||M.escapedText==="arguments")}function bl(M,He){if(He&&He.kind===79){let Nt=He;if(Pc(Nt)){let Pn=w0(e,He);e.bindDiagnostics.push(al(e,Pn.start,Pn.length,ss(M),vr(Nt)))}}}function ss(M){return Zc(M)?_.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:e.externalModuleIndicator?_.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:_.Invalid_use_of_0_in_strict_mode}function qs(M){W&&bl(M,M.name)}function Rs(M){return Zc(M)?_.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:e.externalModuleIndicator?_.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:_.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function As(M){if(r<2&&l.kind!==308&&l.kind!==264&&!SA(l)){let He=w0(e,M);e.bindDiagnostics.push(al(e,He.start,He.length,Rs(M)))}}function jt(M){r<1&&W&&M.numericLiteralFlags&32&&e.bindDiagnostics.push(re(M,_.Octal_literals_are_not_allowed_in_strict_mode))}function yc(M){W&&bl(M,M.operand)}function Ql(M){W&&(M.operator===45||M.operator===46)&&bl(M,M.operand)}function yu(M){W&&ht(M,_.with_statements_are_not_allowed_in_strict_mode)}function se(M){W&&Do(t)>=2&&(bse(M.statement)||Bc(M.statement))&&ht(M.label,_.A_label_is_not_allowed_here)}function ht(M,He,Nt,Pn,la){let oa=Pg(e,M.pos);e.bindDiagnostics.push(al(e,oa.start,oa.length,He,Nt,Pn,la))}function wt(M,He,Nt){K(M,He,He,Nt)}function K(M,He,Nt,Pn){Xe(M,{pos:gT(He,e),end:Nt.end},Pn)}function Xe(M,He,Nt){let Pn=al(e,He.pos,He.end-He.pos,Nt);M?e.bindDiagnostics.push(Pn):e.bindSuggestionDiagnostics=Sn(e.bindSuggestionDiagnostics,{...Pn,category:2})}function ft(M){if(!M)return;go(M,i),ai&&(M.tracingPath=e.path);let He=W;if(ta(M),M.kind>162){let Nt=i;i=M;let Pn=u_e(M);Pn===0?Ye(M):Ie(M,Pn),i=Nt}else{let Nt=i;M.kind===1&&(i=M),Yt(M),i=Nt}W=He}function Yt(M){if(Kd(M))if(Yn(M))for(let He of M.jsDoc)ft(He);else for(let He of M.jsDoc)go(He,M),Zy(He,!1)}function pr(M){if(!W)for(let He of M){if(!B_(He))return;if(yr(He)){W=!0;return}}}function yr(M){let He=k0(e,M.expression);return He==='"use strict"'||He==="'use strict'"}function ta(M){switch(M.kind){case 79:if(M.flags&2048){let be=M.parent;for(;be&&!Ff(be);)be=be.parent;xc(be,524288,788968);break}case 108:return m&&(ot(M)||i.kind===300)&&(M.flowNode=m),ro(M);case 163:m&&G6(M)&&(M.flowNode=m);break;case 233:case 106:M.flowNode=m;break;case 80:return Co(M);case 208:case 209:let He=M;m&&ct(He)&&(He.flowNode=m),fce(He)&&Ri(He),Yn(He)&&e.commonJsModuleIndicator&&Bm(He)&&!eN(l,"module")&&ke(e.locals,void 0,He.expression,134217729,111550);break;case 223:switch(ic(M)){case 1:hd(M);break;case 2:vc(M);break;case 3:Ze(M.left,M);break;case 6:io(M);break;case 4:ye(M);break;case 5:let be=M.left.expression;if(Yn(M)&&Re(be)){let De=eN(l,be.escapedText);if(N6(De?.valueDeclaration)){ye(M);break}}xt(M);break;case 0:break;default:L.fail("Unknown binary expression special property assignment kind")}return gc(M);case 295:return Ll(M);case 217:return md(M);case 8:return jt(M);case 222:return yc(M);case 221:return Ql(M);case 251:return yu(M);case 253:return se(M);case 194:g=!0;return;case 179:break;case 165:return Fd(M);case 166:return Zl(M);case 257:return gd(M);case 205:return M.flowNode=m,gd(M);case 169:case 168:return Go(M);case 299:case 300:return Io(M,4,0);case 302:return Io(M,8,900095);case 176:case 177:case 178:return Fa(M,131072,0);case 171:case 170:return Io(M,8192|(M.questionToken?16777216:0),s_(M)?0:103359);case 259:return Md(M);case 173:return Fa(M,16384,0);case 174:return Io(M,32768,46015);case 175:return Io(M,65536,78783);case 181:case 320:case 326:case 182:return gn(M);case 184:case 325:case 197:return Ka(M);case 335:return Qe(M);case 207:return Ki(M);case 215:case 216:return zf(M);case 210:switch(ic(M)){case 7:return At(M);case 8:return Ws(M);case 9:return ee(M);case 0:break;default:return L.fail("Unknown call expression assignment declaration kind")}Yn(M)&&Bu(M);break;case 228:case 260:return W=!0,Pd(M);case 261:return xc(M,64,788872);case 262:return xc(M,524288,788968);case 263:return Dc(M);case 264:return Qr(M);case 289:return kc(M);case 288:return Ps(M,4,0);case 268:case 271:case 273:case 278:return Fa(M,2097152,2097152);case 267:return Uc(M);case 270:return $o(M);case 275:return Gu(M);case 274:return Hs(M);case 308:return pr(M.statements),vo();case 238:if(!SA(M.parent))return;case 265:return pr(M.statements);case 344:if(M.parent.kind===326)return Zl(M);if(M.parent.kind!==325)break;case 351:let la=M,oa=la.isBracketed||la.typeExpression&&la.typeExpression.type.kind===319?16777220:4;return Fa(la,oa,0);case 349:case 341:case 343:return(d||(d=[])).push(M);case 342:return ft(M.typeExpression)}}function Go(M){let He=Id(M),Nt=He?98304:4,Pn=He?13247:0;return Io(M,Nt|(M.questionToken?16777216:0),Pn)}function Ka(M){return mc(M,2048,"__type")}function vo(){if(Fo(e),Lc(e))ka();else if(Mf(e)){ka();let M=e.symbol;ke(e.symbol.exports,e.symbol,e,4,67108863),e.symbol=M}}function ka(){mc(e,512,`"${ld(e.fileName)}"`)}function Hs(M){if(!o.symbol||!o.symbol.exports)mc(M,111551,Ve(M));else{let He=zA(M)?2097152:4,Nt=ke(o.symbol.exports,o.symbol,M,He,67108863);M.isExportEquals&&rR(Nt,M)}}function Uc(M){vt(M.modifiers)&&e.bindDiagnostics.push(re(M,_.Modifiers_cannot_appear_here));let He=Li(M.parent)?Lc(M.parent)?M.parent.isDeclarationFile?void 0:_.Global_module_exports_may_only_appear_in_declaration_files:_.Global_module_exports_may_only_appear_in_module_files:_.Global_module_exports_may_only_appear_at_top_level;He?e.bindDiagnostics.push(re(M,He)):(e.symbol.globalExports=e.symbol.globalExports||Ua(),ke(e.symbol.globalExports,e.symbol,M,2097152,2097152))}function Gu(M){!o.symbol||!o.symbol.exports?mc(M,8388608,Ve(M)):M.exportClause?qm(M.exportClause)&&(go(M.exportClause,M),ke(o.symbol.exports,o.symbol,M.exportClause,2097152,2097152)):ke(o.symbol.exports,o.symbol,M,8388608,0)}function $o(M){M.name&&Fa(M,2097152,2097152)}function jo(M){return e.externalModuleIndicator&&e.externalModuleIndicator!==!0?!1:(e.commonJsModuleIndicator||(e.commonJsModuleIndicator=M,e.externalModuleIndicator||ka()),!0)}function Ws(M){if(!jo(M))return;let He=Cs(M.arguments[0],void 0,(Nt,Pn)=>(Pn&&X(Pn,Nt,67110400),Pn));He&&ke(He.exports,He,M,1048580,0)}function hd(M){if(!jo(M))return;let He=Cs(M.left.expression,void 0,(Nt,Pn)=>(Pn&&X(Pn,Nt,67110400),Pn));if(He){let Pn=pR(M.right)&&(TT(M.left.expression)||Bm(M.left.expression))?2097152:1048580;go(M.left,M),ke(He.exports,He,M.left,Pn,0)}}function vc(M){if(!jo(M))return;let He=Qw(M.right);if(dW(He)||o===e&&$0(e,He))return;if(rs(He)&&Ji(He.properties,xf)){mn(He.properties,nf);return}let Nt=zA(M)?2097152:1049092,Pn=ke(e.symbol.exports,e.symbol,M,Nt|67108864,0);rR(Pn,M)}function nf(M){ke(e.symbol.exports,e.symbol,M,69206016,0)}function ye(M){if(L.assert(Yn(M)),ar(M)&&br(M.left)&&pi(M.left.name)||br(M)&&pi(M.name))return;let Nt=Ku(M,!1,!1);switch(Nt.kind){case 259:case 215:let Pn=Nt.symbol;if(ar(Nt.parent)&&Nt.parent.operatorToken.kind===63){let be=Nt.parent.left;ST(be)&&ub(be.expression)&&(Pn=Qo(be.expression.expression,s))}Pn&&Pn.valueDeclaration&&(Pn.members=Pn.members||Ua(),Xy(M)?Et(M,Pn,Pn.members):ke(Pn.members,Pn,M,67108868,0),X(Pn,Pn.valueDeclaration,32));break;case 173:case 169:case 171:case 174:case 175:case 172:let la=Nt.parent,oa=Ca(Nt)?la.symbol.exports:la.symbol.members;Xy(M)?Et(M,la.symbol,oa):ke(oa,la.symbol,M,67108868,0,!0);break;case 308:if(Xy(M))break;Nt.commonJsModuleIndicator?ke(Nt.symbol.exports,Nt.symbol,M,1048580,0):Fa(M,1,111550);break;default:L.failBadSyntaxKind(Nt)}}function Et(M,He,Nt){ke(Nt,He,M,4,0,!0,!0),bn(M,He)}function bn(M,He){He&&(He.assignmentDeclarationMembers||(He.assignmentDeclarationMembers=new Map)).set(zo(M),M)}function Ri(M){M.expression.kind===108?ye(M):ST(M)&&M.parent.parent.kind===308&&(ub(M.expression)?Ze(M,M.parent):qt(M))}function io(M){go(M.left,M),go(M.right,M),gi(M.left.expression,M.left,!1,!0)}function ee(M){let He=Qo(M.arguments[0].expression);He&&He.valueDeclaration&&X(He,He.valueDeclaration,32),mr(M,He,!0)}function Ze(M,He){let Nt=M.expression,Pn=Nt.expression;go(Pn,Nt),go(Nt,M),go(M,He),gi(Pn,M,!0,!0)}function At(M){let He=Qo(M.arguments[0]),Nt=M.parent.parent.kind===308;He=Ln(He,M.arguments[0],Nt,!1,!1),mr(M,He,!1)}function xt(M){var He;let Nt=Qo(M.left.expression,o)||Qo(M.left.expression,l);if(!Yn(M)&&!_ce(Nt))return;let Pn=$I(M.left);if(!(Re(Pn)&&((He=eN(o,Pn.escapedText))==null?void 0:He.flags)&2097152))if(go(M.left,M),go(M.right,M),Re(M.left.expression)&&o===e&&$0(e,M.left.expression))hd(M);else if(Xy(M)){mc(M,67108868,"__computed");let la=Ln(Nt,M.left.expression,Vr(M.left),!1,!1);bn(M,la)}else qt(Ga(M.left,cS))}function qt(M){L.assert(!Re(M)),go(M.expression,M),gi(M.expression,M,!1,!1)}function Ln(M,He,Nt,Pn,la){return M?.flags&2097152||(Nt&&!Pn&&(M=Cs(He,M,(De,mt,St)=>{if(mt)return X(mt,De,67110400),mt;{let Zt=St?St.exports:e.jsGlobalAugmentations||(e.jsGlobalAugmentations=Ua());return ke(Zt,St,De,67110400,110735)}})),la&&M&&M.valueDeclaration&&X(M,M.valueDeclaration,32)),M}function mr(M,He,Nt){if(!He||!Ea(He))return;let Pn=Nt?He.members||(He.members=Ua()):He.exports||(He.exports=Ua()),la=0,oa=0;Ds(oS(M))?(la=8192,oa=103359):Pa(M)&&sS(M)&&(vt(M.arguments[2].properties,be=>{let De=sa(be);return!!De&&Re(De)&&vr(De)==="set"})&&(la|=65540,oa|=78783),vt(M.arguments[2].properties,be=>{let De=sa(be);return!!De&&Re(De)&&vr(De)==="get"})&&(la|=32772,oa|=46015)),la===0&&(la=4,oa=0),ke(Pn,He,M,la|67108864,oa&-67108865)}function Vr(M){return ar(M.parent)?bo(M.parent).parent.kind===308:M.parent.parent.kind===308}function gi(M,He,Nt,Pn){let la=Qo(M,o)||Qo(M,l),oa=Vr(He);la=Ln(la,He.expression,oa,Nt,Pn),mr(He,la,Nt)}function Ea(M){if(M.flags&1072)return!0;let He=M.valueDeclaration;if(He&&Pa(He))return!!oS(He);let Nt=He?wi(He)?He.initializer:ar(He)?He.right:br(He)&&ar(He.parent)?He.parent.right:void 0:void 0;if(Nt=Nt&&Qw(Nt),Nt){let Pn=ub(wi(He)?He.name:ar(He)?He.left:He);return!!ob(ar(Nt)&&(Nt.operatorToken.kind===56||Nt.operatorToken.kind===60)?Nt.right:Nt,Pn)}return!1}function bo(M){for(;ar(M.parent);)M=M.parent;return M.parent}function Qo(M,He=o){if(Re(M))return eN(He,M.escapedText);{let Nt=Qo(M.expression);return Nt&&Nt.exports&&Nt.exports.get(wh(M))}}function Cs(M,He,Nt){if($0(e,M))return e.symbol;if(Re(M))return Nt(M,Qo(M),He);{let Pn=Cs(M.expression,He,Nt),la=eR(M);return pi(la)&&L.fail("unexpected PrivateIdentifier"),Nt(la,Pn&&Pn.exports&&Pn.exports.get(wh(M)),Pn)}}function Bu(M){!e.commonJsModuleIndicator&&qu(M,!1)&&jo(M)}function Pd(M){if(M.kind===260)xc(M,32,899503);else{let la=M.name?M.name.escapedText:"__class";mc(M,32,la),M.name&&$.add(M.name.escapedText)}let{symbol:He}=M,Nt=ge(4194308,"prototype"),Pn=He.exports.get(Nt.escapedName);Pn&&(M.name&&go(M.name,M),e.bindDiagnostics.push(re(Pn.declarations[0],_.Duplicate_identifier_0,fc(Nt)))),He.exports.set(Nt.escapedName,Nt),Nt.parent=He}function Dc(M){return R0(M)?xc(M,128,899967):xc(M,256,899327)}function gd(M){if(W&&bl(M,M.name),!La(M.name)){let He=M.kind===257?M:M.parent.parent;Yn(M)&&$s(t)!==100&&N0(He)&&!x0(M)&&!(wg(M)&1)?Fa(M,2097152,2097152):sH(M)?xc(M,2,111551):CT(M)?Fa(M,1,111551):Fa(M,1,111550)}}function Zl(M){if(!(M.kind===344&&o.kind!==326)&&(W&&!(M.flags&16777216)&&bl(M,M.name),La(M.name)?mc(M,1,"__"+M.parent.parameters.indexOf(M)):Fa(M,1,111551),Ad(M,M.parent))){let He=M.parent.parent;ke(He.symbol.members,He.symbol,M,4|(M.questionToken?16777216:0),0)}}function Md(M){!e.isDeclarationFile&&!(M.flags&16777216)&&qA(M)&&(q|=2048),qs(M),W?(As(M),xc(M,16,110991)):Fa(M,16,110991)}function zf(M){!e.isDeclarationFile&&!(M.flags&16777216)&&qA(M)&&(q|=2048),m&&(M.flowNode=m),qs(M);let He=M.name?M.name.escapedText:"__function";return mc(M,16,He)}function Io(M,He,Nt){return!e.isDeclarationFile&&!(M.flags&16777216)&&qA(M)&&(q|=2048),m&&D6(M)&&(M.flowNode=m),Xy(M)?mc(M,He,"__computed"):Fa(M,He,Nt)}function Jf(M){let He=jn(M,Nt=>Nt.parent&&m2(Nt.parent)&&Nt.parent.extendsType===Nt);return He&&He.parent}function Fd(M){var He,Nt;if(H_(M.parent)){let Pn=J6(M.parent);Pn?(L.assertNode(Pn,Qp),(He=Pn.locals)!=null||(Pn.locals=Ua()),ke(Pn.locals,void 0,M,262144,526824)):Fa(M,262144,526824)}else if(M.parent.kind===192){let Pn=Jf(M.parent);Pn?(L.assertNode(Pn,Qp),(Nt=Pn.locals)!=null||(Pn.locals=Ua()),ke(Pn.locals,void 0,M,262144,526824)):mc(M,262144,Ve(M))}else Fa(M,262144,526824)}function E_(M){let He=Gh(M);return He===1||He===2&&U0(t)}function Y_(M){if(!(m.flags&1))return!1;if(m===fe&&(Nw(M)&&M.kind!==239||M.kind===260||M.kind===264&&E_(M))&&(m=Z,!t.allowUnreachableCode)){let Nt=Tle(t)&&!(M.flags&16777216)&&(!Bc(M)||!!(G_(M.declarationList)&3)||M.declarationList.declarations.some(Pn=>!!Pn.initializer));rPe(M,(Pn,la)=>K(Nt,Pn,la,_.Unreachable_code_detected))}return!0}}function rPe(e,t){if(ca(e)&&l_e(e)&&Va(e.parent)){let{statements:r}=e.parent,i=PW(r,e);PU(i,l_e,(o,s)=>t(i[o],i[s-1]))}else t(e,e)}function l_e(e){return!Jc(e)&&!iPe(e)&&!hb(e)&&!(Bc(e)&&!(G_(e)&3)&&e.declarationList.declarations.some(t=>!t.initializer))}function iPe(e){switch(e.kind){case 261:case 262:return!0;case 264:return Gh(e)!==1;case 263:return Mr(e,2048);default:return!1}}function $0(e,t){let r=0,i=HU();for(i.enqueue(t);!i.isEmpty()&&r<100;){if(r++,t=i.dequeue(),TT(t)||Bm(t))return!0;if(Re(t)){let o=eN(e,t.escapedText);if(o&&o.valueDeclaration&&wi(o.valueDeclaration)&&o.valueDeclaration.initializer){let s=o.valueDeclaration.initializer;i.enqueue(s),Iu(s,!0)&&(i.enqueue(s.left),i.enqueue(s.right))}}}return!1}function u_e(e){switch(e.kind){case 228:case 260:case 263:case 207:case 184:case 325:case 289:return 1;case 261:return 65;case 264:case 262:case 197:case 178:return 33;case 308:return 37;case 174:case 175:case 171:if(D6(e))return 173;case 173:case 259:case 170:case 176:case 326:case 320:case 181:case 177:case 182:case 172:return 45;case 215:case 216:return 61;case 265:return 4;case 169:return e.initializer?4:0;case 295:case 245:case 246:case 247:case 266:return 34;case 238:return Ia(e.parent)||oc(e.parent)?0:34}return 0}function eN(e,t){var r,i,o,s,l;let f=(i=(r=zr(e,Qp))==null?void 0:r.locals)==null?void 0:i.get(t);if(f)return(o=f.exportSymbol)!=null?o:f;if(Li(e)&&e.jsGlobalAugmentations&&e.jsGlobalAugmentations.has(t))return e.jsGlobalAugmentations.get(t);if($p(e))return(l=(s=e.symbol)==null?void 0:s.exports)==null?void 0:l.get(t)}var sK,d_e,aPe=gt({"src/compiler/binder.ts"(){"use strict";fa(),E0(),sK=(e=>(e[e.NonInstantiated=0]="NonInstantiated",e[e.Instantiated=1]="Instantiated",e[e.ConstEnumOnly=2]="ConstEnumOnly",e))(sK||{}),d_e=nPe()}});function f_e(e,t,r,i,o,s,l,f,d,g){return m;function m(v=()=>!0){let S=[],x=[];return{walkType:$=>{try{return A($),{visitedTypes:H1(S),visitedSymbols:H1(x)}}finally{Om(S),Om(x)}},walkSymbol:$=>{try{return ie($),{visitedTypes:H1(S),visitedSymbols:H1(x)}}finally{Om(S),Om(x)}}};function A($){if(!(!$||S[$.id]||(S[$.id]=$,ie($.symbol)))){if($.flags&524288){let Z=$,U=Z.objectFlags;U&4&&w($),U&32&&q($),U&3&&Y($),U&24&&R(Z)}$.flags&262144&&C($),$.flags&3145728&&P($),$.flags&4194304&&F($),$.flags&8388608&&B($)}}function w($){A($.target),mn(g($),A)}function C($){A(f($))}function P($){mn($.types,A)}function F($){A($.type)}function B($){A($.objectType),A($.indexType),A($.constraint)}function q($){A($.typeParameter),A($.constraintType),A($.templateType),A($.modifiersType)}function W($){let fe=t($);fe&&A(fe.type),mn($.typeParameters,A);for(let Z of $.parameters)ie(Z);A(e($)),A(r($))}function Y($){R($),mn($.typeParameters,A),mn(i($),A),A($.thisType)}function R($){let fe=o($);for(let Z of fe.indexInfos)A(Z.keyType),A(Z.type);for(let Z of fe.callSignatures)W(Z);for(let Z of fe.constructSignatures)W(Z);for(let Z of fe.properties)ie(Z)}function ie($){if(!$)return!1;let fe=$a($);if(x[fe])return!1;if(x[fe]=$,!v($))return!0;let Z=s($);return A(Z),$.exports&&$.exports.forEach(ie),mn($.declarations,U=>{if(U.type&&U.type.kind===183){let re=U.type,le=l(d(re.exprName));ie(le)}}),!1}}}var oPe=gt({"src/compiler/symbolWalker.ts"(){"use strict";fa()}});function oF({importModuleSpecifierPreference:e,importModuleSpecifierEnding:t},r,i,o){let s=l();return{relativePreference:o!==void 0?fl(o)?0:1:e==="relative"?0:e==="non-relative"?1:e==="project-relative"?3:2,getAllowedEndingsInPreferredOrder:f=>{if((f??i.impliedNodeFormat)===99)return VL(r,i.fileName)?[3,2]:[2];if($s(r)===1)return[1,2];switch(s){case 2:return[2,0,1];case 3:return[3,0,2,1];case 1:return[1,0,2];case 0:return[0,1,2];default:L.assertNever(s)}}};function l(){if(o!==void 0){if(ES(o))return 2;if(Oc(o,"/index"))return 1}return OW(t,i.impliedNodeFormat,r,i)}}function sPe(e,t,r,i,o,s,l={}){let f=__e(e,t,r,i,o,oF({},e,t,s),{},l);if(f!==s)return f}function sF(e,t,r,i,o,s={}){return __e(e,t,r,i,o,oF({},e,t),{},s)}function cPe(e,t,r,i,o,s={}){let l=cK(t.path,i),f=E_e(t.path,r,i,o,s);return ks(f,d=>lK(d,l,t,i,e,o,!0,s.overrideImportMode))}function __e(e,t,r,i,o,s,l,f={}){let d=cK(r,o),g=E_e(r,i,o,l,f);return ks(g,m=>lK(m,d,t,o,e,l,void 0,f.overrideImportMode))||g_e(i,d,e,o,f.overrideImportMode||t.impliedNodeFormat,s)}function lPe(e,t,r,i,o={}){return p_e(e,t,r,i,o)[0]}function p_e(e,t,r,i,o={}){var s;let l=m6(e);if(!l)return Je;let f=(s=r.getModuleSpecifierCache)==null?void 0:s.call(r),d=f?.get(t.path,l.path,i,o);return[d?.moduleSpecifiers,l,d?.modulePaths,f]}function m_e(e,t,r,i,o,s,l={}){return h_e(e,t,r,i,o,s,l).moduleSpecifiers}function h_e(e,t,r,i,o,s,l={}){let f=!1,d=dPe(e,t);if(d)return{moduleSpecifiers:[d],computedWithoutCache:f};let[g,m,v,S]=p_e(e,i,o,s,l);if(g)return{moduleSpecifiers:g,computedWithoutCache:f};if(!m)return{moduleSpecifiers:Je,computedWithoutCache:f};f=!0,v||(v=T_e(i.path,m.originalFileName,o));let x=uPe(v,r,i,o,s,l);return S?.set(i.path,m.path,s,l,v,x),{moduleSpecifiers:x,computedWithoutCache:f}}function uPe(e,t,r,i,o,s={}){let l=cK(r.path,i),f=oF(o,t,r),d=mn(e,A=>mn(i.getFileIncludeReasons().get(Ts(A.path,i.getCurrentDirectory(),l.getCanonicalFileName)),w=>{if(w.kind!==3||w.file!==r.path||r.impliedNodeFormat&&r.impliedNodeFormat!==aq(r,w.index))return;let C=GF(r,w.index).text;return f.relativePreference!==1||!Jd(C)?C:void 0}));if(d)return[d];let g=vt(e,A=>A.isInNodeModules),m,v,S,x;for(let A of e){let w=A.isInNodeModules?lK(A,l,r,i,t,o,void 0,s.overrideImportMode):void 0;if(m=Sn(m,w),w&&A.isRedirect)return m;if(!w){let C=g_e(A.path,l,t,i,s.overrideImportMode||r.impliedNodeFormat,f,A.isRedirect);if(!C)continue;A.isRedirect?S=Sn(S,C):cj(C)?v=Sn(v,C):(!g||A.isInNodeModules)&&(x=Sn(x,C))}}return v?.length?v:S?.length?S:m?.length?m:L.checkDefined(x)}function cK(e,t){let r=Dl(t.useCaseSensitiveFileNames?t.useCaseSensitiveFileNames():!0),i=ni(e);return{getCanonicalFileName:r,importingSourceFileName:e,sourceDirectory:i}}function g_e(e,t,r,i,o,{getAllowedEndingsInPreferredOrder:s,relativePreference:l},f){let{baseUrl:d,paths:g,rootDirs:m}=r;if(f&&!g)return;let{sourceDirectory:v,getCanonicalFileName:S}=t,x=s(o),A=m&&fPe(m,e,v,S,x,r)||jL(S0(Xp(v,e,S)),x,r);if(!d&&!g||l===0)return f?void 0:A;let w=_a(ZH(r,i)||d,i.getCurrentDirectory()),C=C_e(e,w,S);if(!C)return f?void 0:A;let P=g&&S_e(C,g,x,i,r);if(f)return P;let F=P===void 0&&d!==void 0?jL(C,x,r):P;if(!F)return A;if(l===1&&!Jd(F))return F;if(l===3&&!Jd(F)){let B=r.configFilePath?Ts(ni(r.configFilePath),i.getCurrentDirectory(),t.getCanonicalFileName):t.getCanonicalFileName(i.getCurrentDirectory()),q=Ts(e,B,S),W=na(v,B),Y=na(q,B);if(W&&!Y||!W&&Y)return F;let R=v_e(i,ni(q));return v_e(i,v)!==R?F:A}return I_e(F)||tN(A)<tN(F)?A:F}function tN(e){let t=0;for(let r=na(e,"./")?2:0;r<e.length;r++)e.charCodeAt(r)===47&&t++;return t}function y_e(e,t){return g0(t.isRedirect,e.isRedirect)||BR(e.path,t.path)}function v_e(e,t){return e.getNearestAncestorDirectoryWithPackageJson?e.getNearestAncestorDirectoryWithPackageJson(t):!!Th(t,r=>e.fileExists(vi(r,"package.json"))?!0:void 0)}function b_e(e,t,r,i,o){var s;let l=lb(r),f=r.getCurrentDirectory(),d=r.isSourceOfProjectReferenceRedirect(t)?r.getProjectReferenceRedirect(t):void 0,g=Ts(t,f,l),m=r.redirectTargetsMap.get(g)||Je,S=[...d?[d]:Je,t,...m].map(P=>_a(P,f)),x=!Ji(S,sL);if(!i){let P=mn(S,F=>!(x&&sL(F))&&o(F,d===F));if(P)return P}let A=(s=r.getSymlinkCache)==null?void 0:s.call(r).getSymlinkedDirectoriesByRealpath(),w=_a(t,f);return A&&Th(ni(w),P=>{let F=A.get(cu(Ts(P,f,l)));if(F)return fj(e,P,l)?!1:mn(S,B=>{if(!fj(B,P,l))return;let q=Xp(P,B,l);for(let W of F){let Y=Fy(W,q),R=o(Y,B===d);if(x=!0,R)return R}})})||(i?mn(S,P=>x&&sL(P)?void 0:o(P,P===d)):void 0)}function E_e(e,t,r,i,o={}){var s;let l=Ts(t,r.getCurrentDirectory(),lb(r)),f=(s=r.getModuleSpecifierCache)==null?void 0:s.call(r);if(f){let g=f.get(e,l,i,o);if(g?.modulePaths)return g.modulePaths}let d=T_e(e,t,r);return f&&f.setModulePaths(e,l,i,o,d),d}function T_e(e,t,r){let i=lb(r),o=new Map,s=!1;b_e(e,t,r,!0,(f,d)=>{let g=JS(f);o.set(f,{path:i(f),isRedirect:d,isInNodeModules:g}),s=s||g});let l=[];for(let f=ni(e);o.size!==0;){let d=cu(f),g;o.forEach(({path:v,isRedirect:S,isInNodeModules:x},A)=>{na(v,d)&&((g||(g=[])).push({path:A,isRedirect:S,isInNodeModules:x}),o.delete(A))}),g&&(g.length>1&&g.sort(y_e),l.push(...g));let m=ni(f);if(m===f)break;f=m}if(o.size){let f=lo(o.values());f.length>1&&f.sort(y_e),l.push(...f)}return l}function dPe(e,t){var r;let i=(r=e.declarations)==null?void 0:r.find(l=>lH(l)&&(!D0(l)||!fl(l_(l.name))));if(i)return i.name.text;let s=Zi(e.declarations,l=>{var f,d,g,m;if(!Tc(l))return;let v=w(l);if(!((f=v?.parent)!=null&&f.parent&&Tp(v.parent)&&lu(v.parent.parent)&&Li(v.parent.parent.parent)))return;let S=(m=(g=(d=v.parent.parent.symbol.exports)==null?void 0:d.get("export="))==null?void 0:g.valueDeclaration)==null?void 0:m.expression;if(!S)return;let x=t.getSymbolAtLocation(S);if(!x)return;if((x?.flags&2097152?t.getAliasedSymbol(x):x)===l.symbol)return v.parent.parent;function w(C){for(;C.flags&4;)C=C.parent;return C}})[0];if(s)return s.name.text}function S_e(e,t,r,i,o){for(let l in t)for(let f of t[l]){let d=So(f),g=d.indexOf("*"),m=r.map(v=>({ending:v,value:jL(e,[v],o)}));if(Hm(d)&&m.push({ending:void 0,value:e}),g!==-1){let v=d.substring(0,g),S=d.substring(g+1);for(let{ending:x,value:A}of m)if(A.length>=v.length+S.length&&na(A,v)&&Oc(A,S)&&s({ending:x,value:A})){let w=A.substring(v.length,A.length-S.length);return l.replace("*",w)}}else if(vt(m,v=>v.ending!==0&&d===v.value)||vt(m,v=>v.ending===0&&d===v.value&&s(v)))return l}function s({ending:l,value:f}){return l!==0||f===jL(e,[l],o,i)}}function cF(e,t,r,i,o,s,l=0){if(typeof o=="string"){let f=_a(vi(r,o),void 0),d=GR(t)?ld(t)+lF(t,e):void 0;switch(l){case 0:if(cT(t,f)===0||d&&cT(d,f)===0)return{moduleFileToTry:i};break;case 1:if(Gy(f,t)){let S=Xp(f,t,!1);return{moduleFileToTry:_a(vi(vi(i,o),S),void 0)}}break;case 2:let g=f.indexOf("*"),m=f.slice(0,g),v=f.slice(g+1);if(na(t,m)&&Oc(t,v)){let S=t.slice(m.length,t.length-v.length);return{moduleFileToTry:i.replace("*",S)}}if(d&&na(d,m)&&Oc(d,v)){let S=d.slice(m.length,d.length-v.length);return{moduleFileToTry:i.replace("*",S)}}break}}else{if(Array.isArray(o))return mn(o,f=>cF(e,t,r,i,f,s));if(typeof o=="object"&&o!==null){if(nF(o))return mn(bh(o),f=>{let d=_a(vi(i,f),void 0),g=Oc(f,"/")?1:jl(f,"*")?2:0;return cF(e,t,r,d,o[f],s,g)});for(let f of bh(o))if(f==="default"||s.indexOf(f)>=0||QO(s,f)){let d=o[f],g=cF(e,t,r,i,d,s);if(g)return g}}}}function fPe(e,t,r,i,o,s){let l=x_e(t,e,i);if(l===void 0)return;let f=x_e(r,e,i),d=Uo(f,m=>on(l,v=>S0(Xp(m,v,i)))),g=WU(d,BR);if(g)return jL(g,o,s)}function lK({path:e,isRedirect:t},{getCanonicalFileName:r,sourceDirectory:i},o,s,l,f,d,g){if(!s.fileExists||!s.readFile)return;let m=jW(e);if(!m)return;let S=oF(f,l,o).getAllowedEndingsInPreferredOrder(),x=e,A=!1;if(!d){let q=m.packageRootIndex,W;for(;;){let{moduleFileToTry:Y,packageRootPath:R,blockedByExports:ie,verbatimFromExports:$}=B(q);if($s(l)!==1){if(ie)return;if($)return Y}if(R){x=R,A=!0;break}if(W||(W=Y),q=e.indexOf(_s,q+1),q===-1){x=jL(W,S,l,s);break}}}if(t&&!A)return;let w=s.getGlobalTypingsCacheLocation&&s.getGlobalTypingsCacheLocation(),C=r(x.substring(0,m.topLevelNodeModulesIndex));if(!(na(i,C)||w&&na(r(w),C)))return;let P=x.substring(m.topLevelPackageNameIndex+1),F=ZO(P);return $s(l)===1&&F===P?void 0:F;function B(q){var W,Y;let R=e.substring(0,q),ie=vi(R,"package.json"),$=e,fe=!1,Z=(Y=(W=s.getPackageJsonInfoCache)==null?void 0:W.call(s))==null?void 0:Y.getPackageJsonInfo(ie);if(typeof Z=="object"||Z===void 0&&s.fileExists(ie)){let U=Z?.contents.packageJsonContent||JSON.parse(s.readFile(ie)),re=g||o.impliedNodeFormat;if(xW(l)){let ge=R.substring(m.topLevelPackageNameIndex+1),X=ZO(ge),Ve=P2(l,re===99),we=U.exports?cF(l,e,R,X,U.exports,Ve):void 0;if(we)return{...GR(we.moduleFileToTry)?{moduleFileToTry:ld(we.moduleFileToTry)+lF(we.moduleFileToTry,l)}:we,verbatimFromExports:!0};if(U.exports)return{moduleFileToTry:e,blockedByExports:!0}}let le=U.typesVersions?q3(U.typesVersions):void 0;if(le){let ge=e.slice(R.length+1),X=S_e(ge,le.paths,S,s,l);X===void 0?fe=!0:$=vi(R,X)}let _e=U.typings||U.types||U.main||"index.js";if(Ta(_e)&&!(fe&&NW(g4(le.paths),_e))){let ge=Ts(_e,R,r);if(ld(ge)===ld(r($)))return{packageRootPath:R,moduleFileToTry:$}}}else{let U=r($.substring(m.packageRootIndex+1));if(U==="index.d.ts"||U==="index.js"||U==="index.ts"||U==="index.tsx")return{moduleFileToTry:$,packageRootPath:R}}return{moduleFileToTry:$}}}function _Pe(e,t){if(!e.fileExists)return;let r=t_(nL({allowJs:!0},[{extension:"node",isMixedContent:!1},{extension:"json",isMixedContent:!1,scriptKind:6}]));for(let i of r){let o=t+i;if(e.fileExists(o))return o}}function x_e(e,t,r){return Zi(t,i=>{let o=C_e(e,i,r);return o!==void 0&&I_e(o)?void 0:o})}function jL(e,t,r,i){if($c(e,[".json",".mjs",".cjs"]))return e;let o=ld(e);if(e===o)return e;if($c(e,[".d.mts",".mts",".d.cts",".cts"]))return o+uK(e,r);if(!$c(e,[".d.ts"])&&$c(e,[".ts"])&&jl(e,".d."))return A_e(e);switch(t[0]){case 0:let s=pA(o,"/index");return i&&s!==o&&_Pe(i,s)?o:s;case 1:return o;case 2:return o+uK(e,r);case 3:if(Fu(e)){let l=t.findIndex(d=>d===0||d===1),f=t.indexOf(2);return l!==-1&&l<f?o:o+uK(e,r)}return e;default:return L.assertNever(t[0])}}function A_e(e){let t=Hl(e);if(!Oc(e,".ts")||!jl(t,".d.")||$c(t,[".d.ts"]))return;let r=UR(e,".ts"),i=r.substring(r.lastIndexOf("."));return r.substring(0,r.indexOf(".d."))+i}function uK(e,t){var r;return(r=lF(e,t))!=null?r:L.fail(`Extension ${jR(e)} is unsupported:: FileName:: ${e}`)}function lF(e,t){let r=Hm(e);switch(r){case".ts":case".d.ts":return".js";case".tsx":return t.jsx===1?".jsx":".js";case".js":case".jsx":case".json":return r;case".d.mts":case".mts":case".mjs":return".mjs";case".d.cts":case".cts":case".cjs":return".cjs";default:return}}function C_e(e,t,r){let i=Q1(t,e,t,r,!1);return qp(i)?void 0:i}function I_e(e){return na(e,"..")}var L_e=gt({"src/compiler/moduleSpecifiers.ts"(){"use strict";fa()}}),Q0={};Mo(Q0,{countPathComponents:()=>tN,forEachFileNameOfModule:()=>b_e,getModuleSpecifier:()=>sF,getModuleSpecifiers:()=>m_e,getModuleSpecifiersWithCacheInfo:()=>h_e,getNodeModulesPackageName:()=>cPe,tryGetJSExtensionForFile:()=>lF,tryGetModuleSpecifiersFromCache:()=>lPe,tryGetRealFileNameForNonJsDeclarationFileName:()=>A_e,updateModuleSpecifier:()=>sPe});var dK=gt({"src/compiler/_namespaces/ts.moduleSpecifiers.ts"(){"use strict";L_e()}});function pPe(){this.flags=0}function zo(e){return e.id||(e.id=mK,mK++),e.id}function $a(e){return e.id||(e.id=pK,pK++),e.id}function fK(e,t){let r=Gh(e);return r===1||t&&r===2}function k_e(e){var t=zu(()=>{var n=new Map;return e.getSourceFiles().forEach(a=>{a.resolvedModules&&a.resolvedModules.forEach(({resolvedModule:c})=>{c?.packageId&&n.set(c.packageId.name,c.extension===".d.ts"||!!n.get(c.packageId.name))})}),n}),r=[],i=n=>{r.push(n)},o,s=new Set,l,f,d=ml.getSymbolConstructor(),g=ml.getTypeConstructor(),m=ml.getSignatureConstructor(),v=0,S=0,x=0,A=0,w=0,C=0,P,F,B=!1,q=Ua(),W=[1],Y=e.getCompilerOptions(),R=Do(Y),ie=Rl(Y),$=!!Y.experimentalDecorators,fe=MR(Y),Z=wT(Y),U=Uf(Y,"strictNullChecks"),re=Uf(Y,"strictFunctionTypes"),le=Uf(Y,"strictBindCallApply"),_e=Uf(Y,"strictPropertyInitialization"),ge=Uf(Y,"noImplicitAny"),X=Uf(Y,"noImplicitThis"),Ve=Uf(Y,"useUnknownInCatchVariables"),we=!!Y.keyofStringsOnly,ke=Y.suppressExcessPropertyErrors?0:8192,Pe=Y.exactOptionalPropertyTypes,Ce=FZe(),Ie=hrt(),Be=Wa(),Ne=Ua(),Le=wo(4,"undefined");Le.declarations=[];var Ye=wo(1536,"globalThis",8);Ye.exports=Ne,Ye.declarations=[],Ne.set(Ye.escapedName,Ye);var _t=wo(4,"arguments"),ct=wo(4,"require"),Rt=Y.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules",We;let qe={getNodeCount:()=>ou(e.getSourceFiles(),(n,a)=>n+a.nodeCount,0),getIdentifierCount:()=>ou(e.getSourceFiles(),(n,a)=>n+a.identifierCount,0),getSymbolCount:()=>ou(e.getSourceFiles(),(n,a)=>n+a.symbolCount,S),getTypeCount:()=>v,getInstantiationCount:()=>x,getRelationCacheSizes:()=>({assignable:Zu.size,identity:td.size,subtype:hm.size,strictSubtype:x_.size}),isUndefinedSymbol:n=>n===Le,isArgumentsSymbol:n=>n===_t,isUnknownSymbol:n=>n===Ht,getMergedSymbol:No,getDiagnostics:HLe,getGlobalDiagnostics:Nnt,getRecursionIdentity:AC,getUnmatchedProperties:lre,getTypeOfSymbolAtLocation:(n,a)=>{let c=ea(a);return c?RYe(n,c):ve},getTypeOfSymbol:zn,getSymbolsOfParameterPropertyDeclaration:(n,a)=>{let c=ea(n,ha);return c===void 0?L.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."):(L.assert(Ad(c,c.parent)),yE(c,Bs(a)))},getDeclaredTypeOfSymbol:gs,getPropertiesOfType:Jo,getPropertyOfType:(n,a)=>ja(n,Bs(a)),getPrivateIdentifierPropertyOfType:(n,a,c)=>{let u=ea(c);if(!u)return;let p=Bs(a),h=JB(p,u);return h?zre(n,h):void 0},getTypeOfPropertyOfType:(n,a)=>Vc(n,Bs(a)),getIndexInfoOfType:(n,a)=>Cm(n,a===0?ae:rt),getIndexInfosOfType:tu,getIndexInfosOfIndexSymbol:one,getSignaturesOfType:xa,getIndexTypeOfType:(n,a)=>fg(n,a===0?ae:rt),getIndexType:n=>Gp(n),getBaseTypes:_o,getBaseTypeOfLiteralType:ky,getWidenedType:Sd,getTypeFromTypeNode:n=>{let a=ea(n,bi);return a?$r(a):ve},getParameterType:P_,getParameterIdentifierNameAtPosition:ZQe,getPromisedTypeOfPromise:wD,getAwaitedType:n=>rT(n),getReturnTypeOfSignature:qo,isNullableType:zB,getNullableType:TB,getNonNullableType:yg,getNonOptionalType:ere,getTypeArguments:Ko,typeToTypeNode:Be.typeToTypeNode,indexInfoToIndexSignatureDeclaration:Be.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:Be.signatureToSignatureDeclaration,symbolToEntityName:Be.symbolToEntityName,symbolToExpression:Be.symbolToExpression,symbolToNode:Be.symbolToNode,symbolToTypeParameterDeclarations:Be.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:Be.symbolToParameterDeclaration,typeParameterToDeclaration:Be.typeParameterToDeclaration,getSymbolsInScope:(n,a)=>{let c=ea(n);return c?Pnt(c,a):[]},getSymbolAtLocation:n=>{let a=ea(n);return a?Zf(a,!0):void 0},getIndexInfosAtLocation:n=>{let a=ea(n);return a?jnt(a):void 0},getShorthandAssignmentValueSymbol:n=>{let a=ea(n);return a?Hnt(a):void 0},getExportSpecifierLocalTargetSymbol:n=>{let a=ea(n,Mu);return a?Wnt(a):void 0},getExportSymbolOfSymbol(n){return No(n.exportSymbol||n)},getTypeAtLocation:n=>{let a=ea(n);return a?G1(a):ve},getTypeOfAssignmentPattern:n=>{let a=ea(n,vI);return a&&bU(a)||ve},getPropertySymbolOfDestructuringAssignment:n=>{let a=ea(n,Re);return a?znt(a):void 0},signatureToString:(n,a,c,u)=>ne(n,ea(a),c,u),typeToString:(n,a,c)=>Ee(n,ea(a),c),symbolToString:(n,a,c,u)=>E(n,ea(a),c,u),typePredicateToString:(n,a,c)=>kl(n,ea(a),c),writeSignature:(n,a,c,u,p)=>ne(n,ea(a),c,u,p),writeType:(n,a,c,u)=>Ee(n,ea(a),c,u),writeSymbol:(n,a,c,u,p)=>E(n,ea(a),c,u,p),writeTypePredicate:(n,a,c,u)=>kl(n,ea(a),c,u),getAugmentedPropertiesOfType:Wie,getRootSymbols:YLe,getSymbolOfExpando:eU,getContextualType:(n,a)=>{let c=ea(n,ot);if(c)return a&4?Qt(c,()=>Ru(c,a)):Ru(c,a)},getContextualTypeForObjectLiteralElement:n=>{let a=ea(n,Og);return a?Rre(a,void 0):void 0},getContextualTypeForArgumentAtIndex:(n,a)=>{let c=ea(n,rS);return c&&wre(c,a)},getContextualTypeForJsxAttribute:n=>{let a=ea(n,d6);return a&&_Ce(a,void 0)},isContextSensitive:$f,getTypeOfPropertyOfContextualType:eT,getFullyQualifiedName:rh,getResolvedSignature:(n,a,c)=>tn(n,a,c,0),getResolvedSignatureForStringLiteralCompletions:(n,a,c)=>Qt(a,()=>tn(n,c,void 0,32)),getResolvedSignatureForSignatureHelp:(n,a,c)=>zt(n,()=>tn(n,a,c,16)),getExpandedParameters:Txe,hasEffectiveRestParameter:jp,containsArgumentsReference:nne,getConstantValue:n=>{let a=ea(n,tke);return a?zie(a):void 0},isValidPropertyAccess:(n,a)=>{let c=ea(n,dse);return!!c&&dQe(c,Bs(a))},isValidPropertyAccessForCompletions:(n,a,c)=>{let u=ea(n,br);return!!u&&HCe(u,a,c)},getSignatureFromDeclaration:n=>{let a=ea(n,Ia);return a?ip(a):void 0},isImplementationOfOverload:n=>{let a=ea(n,Ia);return a?ZLe(a):void 0},getImmediateAliasedSymbol:Mre,getAliasedSymbol:wc,getEmitResolver:cC,getExportsOfModule:sy,getExportsAndPropertiesOfModule:C1,forEachExportAndPropertyOfModule:kv,getSymbolWalker:f_e(tKe,Lf,qo,_o,R_,zn,Qf,eu,Yd,Ko),getAmbientModules:oit,getJsxIntrinsicTagNamesAt:W$e,isOptionalParameter:n=>{let a=ea(n,ha);return a?Qk(a):!1},tryGetMemberInModuleExports:(n,a)=>rg(Bs(n),a),tryGetMemberInModuleExportsAndProperties:(n,a)=>of(Bs(n),a),tryFindAmbientModule:n=>tne(n,!0),tryFindAmbientModuleWithoutAugmentations:n=>tne(n,!1),getApparentType:Eu,getUnionType:Gr,isTypeAssignableTo:to,createAnonymousType:ls,createSignature:Am,createSymbol:wo,createIndexInfo:Fp,getAnyType:()=>Se,getStringType:()=>ae,getNumberType:()=>rt,createPromiseType:jM,createArrayType:nu,getElementTypeOfArrayType:Xne,getBooleanType:()=>Te,getFalseType:n=>n?Ke:oe,getTrueType:n=>n?pe:z,getVoidType:()=>yt,getUndefinedType:()=>Oe,getNullType:()=>ln,getESSymbolType:()=>j,getNeverType:()=>lt,getOptionalType:()=>Kt,getPromiseType:()=>oM(!1),getPromiseLikeType:()=>aAe(!1),getAsyncIterableType:()=>{let n=ZG(!1);if(n!==ro)return n},isSymbolAccessible:dy,isArrayType:_f,isTupleType:po,isArrayLikeType:Kv,isEmptyAnonymousObjectType:hh,isTypeInvalidDueToUnionDiscriminant:FJe,getExactOptionalProperties:cXe,getAllPossiblePropertiesOfTypes:GJe,getSuggestedSymbolForNonexistentProperty:qre,getSuggestionForNonexistentProperty:Xre,getSuggestedSymbolForNonexistentJSXAttribute:VCe,getSuggestedSymbolForNonexistentSymbol:(n,a,c)=>Yre(n,Bs(a),c),getSuggestionForNonexistentSymbol:(n,a,c)=>sQe(n,Bs(a),c),getSuggestedSymbolForNonexistentModule:qB,getSuggestionForNonexistentExport:cQe,getSuggestedSymbolForNonexistentClassMember:UCe,getBaseConstraintOfType:bu,getDefaultFromTypeParameter:n=>n&&n.flags&262144?jE(n):void 0,resolveName(n,a,c,u){return zs(a,Bs(n),c,void 0,void 0,!1,u)},getJsxNamespace:n=>Gi(Rb(n)),getJsxFragmentFactory:n=>{let a=Kie(n);return a&&Gi(Yd(a).escapedText)},getAccessibleSymbolChain:Rv,getTypePredicateOfSignature:Lf,resolveExternalModuleName:n=>{let a=ea(n,ot);return a&&Gl(a,a,!0)},resolveExternalModuleSymbol:Vu,tryGetThisTypeAt:(n,a,c)=>{let u=ea(n);return u&&Cre(u,a,c)},getTypeArgumentConstraint:n=>{let a=ea(n,bi);return a&&get(a)},getSuggestionDiagnostics:(n,a)=>{let c=ea(n,Li)||L.fail("Could not determine parsed source file.");if(rL(c,Y,e))return Je;let u;try{return o=a,jie(c),L.assert(!!(Rr(c).flags&1)),u=si(u,mE.getDiagnostics(c.fileName)),rLe(jLe(c),(p,h,T)=>{!Gw(p)&&!VLe(h,!!(p.flags&16777216))&&(u||(u=[])).push({...T,category:2})}),u||Je}finally{o=void 0}},runWithCancellationToken:(n,a)=>{try{return o=n,a(qe)}finally{o=void 0}},getLocalTypeParametersOfClassOrInterfaceOrTypeAlias:yy,isDeclarationVisible:Xf,isPropertyAccessible:Qre,getTypeOnlyAliasDeclaration:nd,getMemberOverrideModifierStatus:Xtt,isTypeParameterPossiblyReferenced:fM,typeHasCallOrConstructSignatures:EU};function zt(n,a){let c=jn(n,rS),u=c&&Rr(c).resolvedSignature;c&&(Rr(c).resolvedSignature=void 0);let p=a();return c&&(Rr(c).resolvedSignature=u),p}function Qt(n,a){let c=jn(n,rS);if(c){let p=n;do Rr(p).skipDirectInference=!0,p=p.parent;while(p&&p!==c)}B=!0;let u=zt(n,a);if(B=!1,c){let p=n;do Rr(p).skipDirectInference=void 0,p=p.parent;while(p&&p!==c)}return u}function tn(n,a,c,u){let p=ea(n,rS);We=c;let h=p?MC(p,a,u):void 0;return We=void 0,h}var kn=new Map,_n=new Map,Gt=new Map,$n=new Map,ui=new Map,Ni=new Map,Pi=new Map,gr=new Map,pt=new Map,nn=new Map,Dt=new Map,pn=new Map,An=new Map,Kn=new Map,hi=[],ri=new Map,vn=new Set,Ht=wo(4,"unknown"),En=wo(0,"__resolving__"),dr=new Map,Cr=new Map,Se=Cc(1,"any"),at=Cc(1,"any",262144),Tt=Cc(1,"any"),ve=Cc(1,"error"),nt=Cc(1,"unresolved"),ce=Cc(1,"any",65536),Q=Cc(1,"intrinsic"),ue=Cc(2,"unknown"),G=Cc(2,"unknown"),Oe=Cc(32768,"undefined"),je=U?Oe:Cc(32768,"undefined",65536),Ge=Cc(32768,"undefined"),kt=Pe?Ge:Oe,Kt=Cc(32768,"undefined"),ln=Cc(65536,"null"),ir=U?ln:Cc(65536,"null",65536),ae=Cc(4,"string"),rt=Cc(8,"number"),Ot=Cc(64,"bigint"),Ke=Cc(512,"false"),oe=Cc(512,"false"),pe=Cc(512,"true"),z=Cc(512,"true");pe.regularType=z,pe.freshType=pe,z.regularType=z,z.freshType=pe,Ke.regularType=oe,Ke.freshType=Ke,oe.regularType=oe,oe.freshType=Ke;var Te=Gr([oe,z]),j=Cc(4096,"symbol"),yt=Cc(16384,"void"),lt=Cc(131072,"never"),Qe=Cc(131072,"never",262144),Vt=Cc(131072,"never"),Hn=Cc(131072,"never"),jr=Cc(67108864,"object"),ei=Gr([ae,rt]),Kr=Gr([ae,rt,j]),Si=we?ae:Kr,Ja=Gr([rt,Ot]),Za=Gr([ae,rt,Te,Ot,ln,Oe]),Fa=WE(["",""],[rt]),Hi=dM(n=>n.flags&262144?Pqe(n):n,()=>"(restrictive mapper)"),xi=dM(n=>n.flags&262144?Tt:n,()=>"(permissive mapper)"),Nr=Cc(131072,"never"),Fo=dM(n=>n.flags&262144?Nr:n,()=>"(unique literal mapper)"),Qr,Wi=dM(n=>(Qr&&(n===md||n===Pc||n===bl)&&Qr(!0),n),()=>"(unmeasurable reporter)"),gn=dM(n=>(Qr&&(n===md||n===Pc||n===bl)&&Qr(!1),n),()=>"(unreliable reporter)"),Ki=ls(void 0,q,Je,Je,Je),kc=ls(void 0,q,Je,Je,Je);kc.objectFlags|=2048;var Ps=wo(2048,"__type");Ps.members=Ua();var mc=ls(Ps,q,Je,Je,Je),xc=ls(void 0,q,Je,Je,Je),hc=U?Gr([Oe,ln,xc]):ue,ro=ls(void 0,q,Je,Je,Je);ro.instantiations=new Map;var aa=ls(void 0,q,Je,Je,Je);aa.objectFlags|=262144;var Co=ls(void 0,q,Je,Je,Je),gc=ls(void 0,q,Je,Je,Je),Ll=ls(void 0,q,Je,Je,Je),md=rd(),Pc=rd();Pc.constraint=md;var bl=rd(),ss=rd(),qs=rd();qs.constraint=ss;var Rs=iM(1,"<<unresolved>>",0,Se),As=Am(void 0,void 0,void 0,Je,Se,void 0,0,0),jt=Am(void 0,void 0,void 0,Je,ve,void 0,0,0),yc=Am(void 0,void 0,void 0,Je,Se,void 0,0,0),Ql=Am(void 0,void 0,void 0,Je,Qe,void 0,0,0),yu=Fp(rt,ae,!0),se=new Map,ht={get yieldType(){return L.fail("Not supported")},get returnType(){return L.fail("Not supported")},get nextType(){return L.fail("Not supported")}},wt=Eg(Se,Se,Se),K=Eg(Se,Se,ue),Xe=Eg(lt,Se,Oe),ft={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:hKe,getGlobalIterableType:ZG,getGlobalIterableIteratorType:gKe,getGlobalGeneratorType:yKe,resolveIterationType:rT,mustHaveANextMethodDiagnostic:_.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:_.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:_.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},Yt={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:vKe,getGlobalIterableType:pne,getGlobalIterableIteratorType:bKe,getGlobalGeneratorType:EKe,resolveIterationType:(n,a)=>n,mustHaveANextMethodDiagnostic:_.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:_.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:_.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},pr,yr=new Map,ta=!1,Go,Ka,vo,ka,Hs,Uc,Gu,$o,jo,Ws,hd,vc,nf,ye,Et,bn,Ri,io,ee,Ze,At,xt,qt,Ln,mr,Vr,gi,Ea,bo,Qo,Cs,Bu,Pd,Dc,gd,Zl,Md,zf,Io,Jf,Fd,E_,Y_,M,He,Nt,Pn,la,oa,be,De,mt,St,Zt,rn=new Map,sn=0,Dn=0,kr=0,ki=!1,Vn=0,$t,Xn,ra,Is=[],Mc=[],mm=[],Hh=0,T_=[],Cb=[],mv=0,gx=ff(""),_1=op(0),yx=aB({negative:!1,base10Value:"0"}),Wh=[],S_=[],hv=[],eh=0,$_=10,gv=[],lE=[],Ib=[],zh=[],p1=[],uE=[],dE=[],fE=[],yv=[],vx=[],_E=[],pE=[],vv=[],Lb=[],bv=[],m1=[],Jh=[],Lo=XA(),mE=XA(),sC=Tm(),Zg,Kh,hm=new Map,x_=new Map,Zu=new Map,ed=new Map,td=new Map,kb=new Map,Db=Ua();Db.set(Le.escapedName,Le);var bx=[[".mts",".mjs"],[".ts",".js"],[".cts",".cjs"],[".mjs",".mjs"],[".js",".js"],[".cjs",".cjs"],[".tsx",Y.jsx===1?".jsx":".js"],[".jsx",".jsx"],[".json",".json"]];return grt(),qe;function wb(n){return n?Kn.get(n):void 0}function qh(n,a){return n&&Kn.set(n,a),a}function Rb(n){if(n){let a=Gn(n);if(a)if(US(n)){if(a.localJsxFragmentNamespace)return a.localJsxFragmentNamespace;let c=a.pragmas.get("jsxfrag");if(c){let p=ba(c)?c[0]:c;if(a.localJsxFragmentFactory=zS(p.arguments.factory,R),$e(a.localJsxFragmentFactory,Ob,Cd),a.localJsxFragmentFactory)return a.localJsxFragmentNamespace=Yd(a.localJsxFragmentFactory).escapedText}let u=Kie(n);if(u)return a.localJsxFragmentFactory=u,a.localJsxFragmentNamespace=Yd(u).escapedText}else{let c=h1(a);if(c)return a.localJsxNamespace=c}}return Zg||(Zg="React",Y.jsxFactory?(Kh=zS(Y.jsxFactory,R),$e(Kh,Ob),Kh&&(Zg=Yd(Kh).escapedText)):Y.reactNamespace&&(Zg=Bs(Y.reactNamespace))),Kh||(Kh=D.createQualifiedName(D.createIdentifier(Gi(Zg)),"createElement")),Zg}function h1(n){if(n.localJsxNamespace)return n.localJsxNamespace;let a=n.pragmas.get("jsx");if(a){let c=ba(a)?a[0]:a;if(n.localJsxFactory=zS(c.arguments.factory,R),$e(n.localJsxFactory,Ob,Cd),n.localJsxFactory)return n.localJsxNamespace=Yd(n.localJsxFactory).escapedText}}function Ob(n){return om(n,-1,-1),xn(n,Ob,Bh)}function cC(n,a){return HLe(n,a),Ie}function Ex(n,a,c,u,p,h){let T=n?hr(n,a,c,u,p,h):ps(a,c,u,p,h),k=Lo.lookup(T);return k||(Lo.add(T),T)}function Ev(n,a,c,u,p,h,T){let k=Fe(a,c,u,p,h,T);return k.skippedOn=n,k}function hE(n,a,c,u,p,h){return n?hr(n,a,c,u,p,h):ps(a,c,u,p,h)}function Fe(n,a,c,u,p,h){let T=hE(n,a,c,u,p,h);return Lo.add(T),T}function ey(n,a){n?Lo.add(a):mE.add({...a,category:2})}function Ip(n,a,c,u,p,h,T){if(a.pos<0||a.end<0){if(!n)return;let k=Gn(a);ey(n,"message"in c?al(k,0,0,c,u,p,h,T):yH(k,c));return}ey(n,"message"in c?hr(a,c,u,p,h,T):Lh(Gn(a),a,c))}function Tv(n,a,c,u,p,h,T){let k=Fe(n,c,u,p,h,T);if(a){let O=hr(n,_.Did_you_forget_to_use_await);Ao(k,O)}return k}function Nb(n,a){let c=Array.isArray(n)?mn(n,Cj):Cj(n);return c&&Ao(a,hr(c,_.The_declaration_was_marked_as_deprecated_here)),mE.add(a),a}function Sv(n){if(Fn(n.declarations)>1){let a=ju(n);if(a&&a.flags&64)return vt(n.declarations,c=>!!(G_(c)&268435456))}return!!(WB(n)&268435456)}function Xh(n,a,c){let u=hr(n,_._0_is_deprecated,c);return Nb(a,u)}function g1(n,a,c,u){let p=c?hr(n,_.The_signature_0_of_1_is_deprecated,u,c):hr(n,_._0_is_deprecated,u);return Nb(a,p)}function wo(n,a,c){S++;let u=new d(n|33554432,a);return u.links=new yK,u.links.checkFlags=c||0,u}function A_(n,a){let c=wo(1,n);return c.links.type=a,c}function gE(n,a){let c=wo(4,n);return c.links.type=a,c}function Kc(n){let a=0;return n&2&&(a|=111551),n&1&&(a|=111550),n&4&&(a|=0),n&8&&(a|=900095),n&16&&(a|=110991),n&32&&(a|=899503),n&64&&(a|=788872),n&256&&(a|=899327),n&128&&(a|=899967),n&512&&(a|=110735),n&8192&&(a|=103359),n&32768&&(a|=46015),n&65536&&(a|=78783),n&262144&&(a|=526824),n&524288&&(a|=788968),n&2097152&&(a|=2097152),a}function th(n,a){a.mergeId||(a.mergeId=hK,hK++),gv[a.mergeId]=n}function Pb(n){let a=wo(n.flags,n.escapedName);return a.declarations=n.declarations?n.declarations.slice():[],a.parent=n.parent,n.valueDeclaration&&(a.valueDeclaration=n.valueDeclaration),n.constEnumOnlyModule&&(a.constEnumOnlyModule=!0),n.members&&(a.members=new Map(n.members)),n.exports&&(a.exports=new Map(n.exports)),th(a,n),a}function C_(n,a,c=!1){if(!(n.flags&Kc(a.flags))||(a.flags|n.flags)&67108864){if(a===n)return n;if(!(n.flags&33554432)){let p=Ac(n);if(p===Ht)return a;n=Pb(p)}a.flags&512&&n.flags&512&&n.constEnumOnlyModule&&!a.constEnumOnlyModule&&(n.constEnumOnlyModule=!1),n.flags|=a.flags,a.valueDeclaration&&rR(n,a.valueDeclaration),si(n.declarations,a.declarations),a.members&&(n.members||(n.members=Ua()),ll(n.members,a.members,c)),a.exports&&(n.exports||(n.exports=Ua()),ll(n.exports,a.exports,c)),c||th(n,a)}else if(n.flags&1024)n!==Ye&&Fe(a.declarations&&sa(a.declarations[0]),_.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,E(n));else{let p=!!(n.flags&384||a.flags&384),h=!!(n.flags&2||a.flags&2),T=p?_.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:h?_.Cannot_redeclare_block_scoped_variable_0:_.Duplicate_identifier_0,k=a.declarations&&Gn(a.declarations[0]),O=n.declarations&&Gn(n.declarations[0]),H=h6(k,Y.checkJs),J=h6(O,Y.checkJs),de=E(a);if(k&&O&&pr&&!p&&k!==O){let Ae=cT(k.path,O.path)===-1?k:O,xe=Ae===k?O:k,tt=VD(pr,`${Ae.path}|${xe.path}`,()=>({firstFile:Ae,secondFile:xe,conflictingSymbols:new Map})),It=VD(tt.conflictingSymbols,de,()=>({isBlockScoped:h,firstFileLocations:[],secondFileLocations:[]}));H||u(It.firstFileLocations,a),J||u(It.secondFileLocations,n)}else H||Mb(a,T,de,n),J||Mb(n,T,de,a)}return n;function u(p,h){if(h.declarations)for(let T of h.declarations)Of(p,T)}}function Mb(n,a,c,u){mn(n.declarations,p=>{Ml(p,a,c,u.declarations)})}function Ml(n,a,c,u){let p=(ob(n,!1)?wH(n):sa(n))||n,h=Ex(p,a,c);for(let T of u||Je){let k=(ob(T,!1)?wH(T):sa(T))||T;if(k===p)continue;h.relatedInformation=h.relatedInformation||[];let O=hr(k,_._0_was_also_declared_here,c),H=hr(k,_.and_here);Fn(h.relatedInformation)>=5||vt(h.relatedInformation,J=>ZI(J,H)===0||ZI(J,O)===0)||Ao(h,Fn(h.relatedInformation)?H:O)}}function Yh(n,a){if(!n?.size)return a;if(!a?.size)return n;let c=Ua();return ll(c,n),ll(c,a),c}function ll(n,a,c=!1){a.forEach((u,p)=>{let h=n.get(p);n.set(p,h?C_(h,u,c):No(u))})}function y1(n){var a,c,u;let p=n.parent;if(((a=p.symbol.declarations)==null?void 0:a[0])!==p){L.assert(p.symbol.declarations.length>1);return}if(mp(p))ll(Ne,p.symbol.exports);else{let h=n.parent.parent.flags&16777216?void 0:_.Invalid_module_name_in_augmentation_module_0_cannot_be_found,T=ah(n,n,h,!0);if(!T)return;if(T=Vu(T),T.flags&1920)if(vt(Ka,k=>T===k.symbol)){let k=C_(p.symbol,T,!0);vo||(vo=new Map),vo.set(n.text,k)}else{if((c=T.exports)!=null&&c.get("__export")&&((u=p.symbol.exports)!=null&&u.size)){let k=Mte(T,"resolvedExports");for(let[O,H]of lo(p.symbol.exports.entries()))k.has(O)&&!T.exports.has(O)&&C_(k.get(O),H)}C_(T,p.symbol)}else Fe(n,_.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,n.text)}}function lC(n,a,c){a.forEach((p,h)=>{let T=n.get(h);T?mn(T.declarations,u(Gi(h),c)):n.set(h,p)});function u(p,h){return T=>Lo.add(hr(T,h,p))}}function Ai(n){var a;if(n.flags&33554432)return n.links;let c=$a(n);return(a=lE[c])!=null?a:lE[c]=new yK}function Rr(n){let a=zo(n);return Ib[a]||(Ib[a]=new pPe)}function gm(n){return n.kind===308&&!kd(n)}function yd(n,a,c){if(c){let u=No(n.get(a));if(u&&(L.assert((ac(u)&1)===0,"Should never get an instantiated symbol here."),u.flags&c||u.flags&2097152&&Fl(u)&c))return u}}function yE(n,a){let c=n.parent,u=n.parent.parent,p=yd(c.locals,a,111551),h=yd(vy(u.symbol),a,111551);return p&&h?[p,h]:L.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}function $h(n,a){let c=Gn(n),u=Gn(a),p=tm(n);if(c!==u){if(ie&&(c.externalModuleIndicator||u.externalModuleIndicator)||!Ss(Y)||kC(a)||n.flags&16777216||T(a,n))return!0;let O=e.getSourceFiles();return O.indexOf(c)<=O.indexOf(u)}if(n.pos<=a.pos&&!(Na(n)&&zw(a.parent)&&!n.initializer&&!n.exclamationToken)){if(n.kind===205){let O=cb(a,205);return O?jn(O,Wo)!==jn(n,Wo)||n.pos<O.pos:$h(cb(n,257),a)}else{if(n.kind===257)return!h(n,a);if(sl(n))return!jn(a,O=>ts(O)&&O.parent.parent===n);if(Na(n))return!k(n,a,!1);if(Ad(n,n.parent))return!(Do(Y)===99&&fe&&Zc(n)===Zc(a)&&T(a,n))}return!0}if(a.parent.kind===278||a.parent.kind===274&&a.parent.isExportEquals||a.kind===274&&a.isExportEquals||a.flags&8388608||kC(a)||k2e(a))return!0;if(T(a,n))return Do(Y)===99&&fe&&Zc(n)&&(Na(n)||Ad(n,n.parent))?!k(n,a,!0):!0;return!1;function h(O,H){switch(O.parent.parent.kind){case 240:case 245:case 247:if(Lp(H,O,p))return!0;break}let J=O.parent.parent;return CA(J)&&Lp(H,J.expression,p)}function T(O,H){return!!jn(O,J=>{if(J===p)return"quit";if(Ia(J))return!0;if(oc(J))return H.pos<O.pos;let de=zr(J.parent,Na);if(de&&de.initializer===J){if(Ca(J.parent)){if(H.kind===171)return!0;if(Na(H)&&Zc(O)===Zc(H)){let xe=H.name;if(Re(xe)||pi(xe)){let tt=zn(fr(H)),It=Pr(H.parent.members,oc);if(tnt(xe,tt,It,H.parent.pos,J.pos))return!0}}}else if(!(H.kind===169&&!Ca(H))||Zc(O)!==Zc(H))return!0}return!1})}function k(O,H,J){return H.end>O.end?!1:jn(H,Ae=>{if(Ae===O)return"quit";switch(Ae.kind){case 216:return!0;case 169:return J&&(Na(O)&&Ae.parent===O.parent||Ad(O,O.parent)&&Ae.parent===O.parent.parent)?"quit":!0;case 238:switch(Ae.parent.kind){case 174:case 171:case 175:return!0;default:return!1}default:return!1}})===void 0}}function nh(n,a,c){let u=Do(Y),p=a;if(ha(c)&&p.body&&n.valueDeclaration&&n.valueDeclaration.pos>=p.body.pos&&n.valueDeclaration.end<=p.body.end&&u>=2){let k=Rr(p);return k.declarationRequiresScopeChange===void 0&&(k.declarationRequiresScopeChange=mn(p.parameters,h)||!1),!k.declarationRequiresScopeChange}return!1;function h(k){return T(k.name)||!!k.initializer&&T(k.initializer)}function T(k){switch(k.kind){case 216:case 215:case 259:case 173:return!1;case 171:case 174:case 175:case 299:return T(k.name);case 169:return zc(k)?u<99||!fe:T(k.name);default:return wj(k)||Jl(k)?u<7:Wo(k)&&k.dotDotDotToken&&cm(k.parent)?u<4:bi(k)?!1:pa(k,T)||!1}}}function ym(n){return pT(n)&&Ch(n.type)||DL(n)&&Ch(n.typeExpression)}function zs(n,a,c,u,p,h,T=!1,k=!0){return Fb(n,a,c,u,p,h,T,k,yd)}function Fb(n,a,c,u,p,h,T,k,O){var H,J,de;let Ae=n,xe,tt,It,Tn,un,Nn=!1,en=n,cn,rr=!1;e:for(;n;){if(a==="const"&&ym(n))return;if(Qp(n)&&n.locals&&!gm(n)&&(xe=O(n.locals,a,c))){let Cn=!0;if(Ia(n)&&tt&&tt!==n.body?(c&xe.flags&788968&&tt.kind!==323&&(Cn=xe.flags&262144?tt===n.type||tt.kind===166||tt.kind===344||tt.kind===345||tt.kind===165:!1),c&xe.flags&3&&(nh(xe,n,tt)?Cn=!1:xe.flags&1&&(Cn=tt.kind===166||tt===n.type&&!!jn(xe.valueDeclaration,ha)))):n.kind===191&&(Cn=tt===n.trueType),Cn)break e;xe=void 0}switch(Nn=Nn||Gb(n,tt),n.kind){case 308:if(!kd(n))break;rr=!0;case 264:let Cn=((H=fr(n))==null?void 0:H.exports)||q;if(n.kind===308||Tc(n)&&n.flags&16777216&&!mp(n)){if(xe=Cn.get("default")){let Hr=QA(xe);if(Hr&&xe.flags&c&&Hr.escapedName===a)break e;xe=void 0}let Br=Cn.get(a);if(Br&&Br.flags===2097152&&(nc(Br,278)||nc(Br,277)))break}if(a!=="default"&&(xe=O(Cn,a,c&2623475)))if(Li(n)&&n.commonJsModuleIndicator&&!((J=xe.declarations)!=null&&J.some(Ff)))xe=void 0;else break e;break;case 263:if(xe=O(((de=fr(n))==null?void 0:de.exports)||q,a,c&8)){u&&d_(Y)&&!(n.flags&16777216)&&Gn(n)!==Gn(xe.valueDeclaration)&&Fe(en,_.Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead,Gi(a),Rt,`${Gi(vd(n).escapedName)}.${Gi(a)}`);break e}break;case 169:if(!Ca(n)){let Br=wv(n.parent);Br&&Br.locals&&O(Br.locals,a,c&111551)&&(L.assertNode(n,Na),Tn=n)}break;case 260:case 228:case 261:if(xe=O(fr(n).members||q,a,c&788968)){if(!Tx(xe,n)){xe=void 0;break}if(tt&&Ca(tt)){u&&Fe(en,_.Static_members_cannot_reference_class_type_parameters);return}break e}if(_u(n)&&c&32){let Br=n.name;if(Br&&a===Br.escapedText){xe=n.symbol;break e}}break;case 230:if(tt===n.expression&&n.parent.token===94){let Br=n.parent.parent;if(Yr(Br)&&(xe=O(fr(Br).members,a,c&788968))){u&&Fe(en,_.Base_class_expressions_cannot_reference_class_type_parameters);return}}break;case 164:if(cn=n.parent.parent,(Yr(cn)||cn.kind===261)&&(xe=O(fr(cn).members,a,c&788968))){u&&Fe(en,_.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return}break;case 216:if(Do(Y)>=2)break;case 171:case 173:case 174:case 175:case 259:if(c&3&&a==="arguments"){xe=_t;break e}break;case 215:if(c&3&&a==="arguments"){xe=_t;break e}if(c&16){let Br=n.name;if(Br&&a===Br.escapedText){xe=n.symbol;break e}}break;case 167:n.parent&&n.parent.kind===166&&(n=n.parent),n.parent&&(_l(n.parent)||n.parent.kind===260)&&(n=n.parent);break;case 349:case 341:case 343:let Rn=OI(n);Rn&&(n=Rn.parent);break;case 166:tt&&(tt===n.initializer||tt===n.name&&La(tt))&&(un||(un=n));break;case 205:tt&&(tt===n.initializer||tt===n.name&&La(tt))&&CT(n)&&!un&&(un=n);break;case 192:if(c&262144){let Br=n.typeParameter.name;if(Br&&a===Br.escapedText){xe=n.typeParameter.symbol;break e}}break}b1(n)&&(It=n),tt=n,n=H_(n)?J6(n)||n.parent:(xp(n)||y3(n))&&sb(n)||n.parent}if(h&&xe&&(!It||xe!==It.symbol)&&(xe.isReferenced|=c),!xe){if(tt&&(L.assertNode(tt,Li),tt.commonJsModuleIndicator&&a==="exports"&&c&tt.symbol.flags))return tt.symbol;T||(xe=O(Ne,a,c))}if(!xe&&Ae&&Yn(Ae)&&Ae.parent&&qu(Ae.parent,!1))return ct;function Jt(){return Tn&&!(fe&&Do(Y)>=9)?(Fe(en,en&&Tn.type&&Y8(Tn.type,en.pos)?_.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:_.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,os(Tn.name),Cf(p)),!0):!1}if(xe){if(u&&Jt())return}else{u&&i(()=>{if(!en||!Sx(en,a,p)&&!Jt()&&!xv(en)&&!T1(en,a,c)&&!S1(en,a)&&!Ax(en,a,c)&&!rf(en,a,c)&&!xx(en,a,c)){let Cn,Rn;if(p&&(Rn=aQe(p),Rn&&Fe(en,u,Cf(p),Rn)),!Rn&&k&&eh<$_&&(Cn=Yre(Ae,a,c),Cn?.valueDeclaration&&lu(Cn.valueDeclaration)&&mp(Cn.valueDeclaration)&&(Cn=void 0),Cn)){let Hr=E(Cn),qi=Kre(Ae,Cn,!1),wa=c===1920||p&&typeof p!="string"&&ws(p)?_.Cannot_find_namespace_0_Did_you_mean_1:qi?_.Could_not_find_name_0_Did_you_mean_1:_.Cannot_find_name_0_Did_you_mean_1,Xc=hE(en,wa,Cf(p),Hr);ey(!qi,Xc),Cn.valueDeclaration&&Ao(Xc,hr(Cn.valueDeclaration,_._0_is_declared_here,Hr))}!Cn&&!Rn&&p&&Fe(en,u,Cf(p)),eh++}});return}return u&&i(()=>{if(en&&(c&2||(c&32||c&384)&&(c&111551)===111551)){let Cn=tp(xe);(Cn.flags&2||Cn.flags&32||Cn.flags&384)&&Ub(Cn,en)}if(xe&&rr&&(c&111551)===111551&&!(Ae.flags&8388608)){let Cn=No(xe);Fn(Cn.declarations)&&Ji(Cn.declarations,Rn=>gO(Rn)||Li(Rn)&&!!Rn.symbol.globalExports)&&Ip(!Y.allowUmdGlobalAccess,en,_._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,Gi(a))}if(xe&&un&&!Nn&&(c&111551)===111551){let Cn=No(zG(xe)),Rn=nm(un);Cn===fr(un)?Fe(en,_.Parameter_0_cannot_reference_itself,os(un.name)):Cn.valueDeclaration&&Cn.valueDeclaration.pos>un.pos&&Rn.parent.locals&&O(Rn.parent.locals,Cn.escapedName,c)===Cn&&Fe(en,_.Parameter_0_cannot_reference_identifier_1_declared_after_it,os(un.name),os(en))}if(xe&&en&&c&111551&&xe.flags&2097152&&!(xe.flags&111551)&&!TS(en)){let Cn=nd(xe,111551);if(Cn){let Rn=Cn.kind===278||Cn.kind===275||Cn.kind===277?_._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:_._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,Br=Gi(a);v1(Fe(en,Rn,Br),Cn,Br)}}}),xe}function v1(n,a,c){return a?Ao(n,hr(a,a.kind===278||a.kind===275||a.kind===277?_._0_was_exported_here:_._0_was_imported_here,c)):n}function Gb(n,a){return n.kind!==216&&n.kind!==215?vL(n)||(Ds(n)||n.kind===169&&!Ca(n))&&(!a||a!==n.name):a&&a===n.name?!1:n.asteriskToken||Mr(n,512)?!0:!ET(n)}function b1(n){switch(n.kind){case 259:case 260:case 261:case 263:case 262:case 264:return!0;default:return!1}}function Cf(n){return Ta(n)?Gi(n):os(n)}function Tx(n,a){if(n.declarations){for(let c of n.declarations)if(c.kind===165&&(H_(c.parent)?dS(c.parent):c.parent)===a)return!(H_(c.parent)&&wr(c.parent.parent.tags,Ff))}return!1}function Sx(n,a,c){if(!Re(n)||n.escapedText!==a||WLe(n)||kC(n))return!1;let u=Ku(n,!1,!1),p=u;for(;p;){if(Yr(p.parent)){let h=fr(p.parent);if(!h)break;let T=zn(h);if(ja(T,a))return Fe(n,_.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,Cf(c),E(h)),!0;if(p===u&&!Ca(p)){let k=gs(h).thisType;if(ja(k,a))return Fe(n,_.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,Cf(c)),!0}}p=p.parent}return!1}function xv(n){let a=E1(n);return a&&uc(a,64,!0)?(Fe(n,_.Cannot_extend_an_interface_0_Did_you_mean_implements,Qc(a)),!0):!1}function E1(n){switch(n.kind){case 79:case 208:return n.parent?E1(n.parent):void 0;case 230:if(bc(n.expression))return n.expression;default:return}}function T1(n,a,c){let u=1920|(Yn(n)?111551:0);if(c===u){let p=Ac(zs(n,a,788968&~u,void 0,void 0,!1)),h=n.parent;if(p){if(Yu(h)){L.assert(h.left===n,"Should only be resolving left side of qualified name as a namespace");let T=h.right.escapedText;if(ja(gs(p),T))return Fe(h,_.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,Gi(a),Gi(T)),!0}return Fe(n,_._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,Gi(a)),!0}}return!1}function xx(n,a,c){if(c&788584){let u=Ac(zs(n,a,111127,void 0,void 0,!1));if(u&&!(u.flags&1920))return Fe(n,_._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,Gi(a)),!0}return!1}function Bb(n){return n==="any"||n==="string"||n==="number"||n==="boolean"||n==="never"||n==="unknown"}function S1(n,a){return Bb(a)&&n.parent.kind===278?(Fe(n,_.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,a),!0):!1}function rf(n,a,c){if(c&111551){if(Bb(a))return Qh(n)?Fe(n,_.An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes,Gi(a)):Fe(n,_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,Gi(a)),!0;let u=Ac(zs(n,a,788544,void 0,void 0,!1)),p=u&&Fl(u);if(u&&p!==void 0&&!(p&111551)){let h=Gi(a);return I_(a)?Fe(n,_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,h):Q_(n,u)?Fe(n,_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,h,h==="K"?"P":"K"):Fe(n,_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,h),!0}}return!1}function Qh(n){let a=n.parent.parent,c=a.parent;if(a&&c){let u=dd(a)&&a.token===94,p=ku(c);return u&&p}return!1}function Q_(n,a){let c=jn(n.parent,u=>ts(u)||$d(u)?!1:Rd(u)||"quit");if(c&&c.members.length===1){let u=gs(a);return!!(u.flags&1048576)&&zM(u,384,!0)}return!1}function I_(n){switch(n){case"Promise":case"Symbol":case"Map":case"WeakMap":case"Set":case"WeakSet":return!0}return!1}function Ax(n,a,c){if(c&111127){if(Ac(zs(n,a,1024,void 0,void 0,!1)))return Fe(n,_.Cannot_use_namespace_0_as_a_value,Gi(a)),!0}else if(c&788544&&Ac(zs(n,a,1536,void 0,void 0,!1)))return Fe(n,_.Cannot_use_namespace_0_as_a_type,Gi(a)),!0;return!1}function Ub(n,a){var c;if(L.assert(!!(n.flags&2||n.flags&32||n.flags&384)),n.flags&67108881&&n.flags&32)return;let u=(c=n.declarations)==null?void 0:c.find(p=>sH(p)||Yr(p)||p.kind===263);if(u===void 0)return L.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");if(!(u.flags&16777216)&&!$h(u,a)){let p,h=os(sa(u));n.flags&2?p=Fe(a,_.Block_scoped_variable_0_used_before_its_declaration,h):n.flags&32?p=Fe(a,_.Class_0_used_before_its_declaration,h):n.flags&256?p=Fe(a,_.Enum_0_used_before_its_declaration,h):(L.assert(!!(n.flags&128)),U0(Y)&&(p=Fe(a,_.Enum_0_used_before_its_declaration,h))),p&&Ao(p,hr(u,_._0_is_declared_here,h))}}function Lp(n,a,c){return!!a&&!!jn(n,u=>u===a||(u===c||Ia(u)&&(!ET(u)||qA(u))?"quit":!1))}function x1(n){switch(n.kind){case 268:return n;case 270:return n.parent;case 271:return n.parent.parent;case 273:return n.parent.parent.parent;default:return}}function Uu(n){return n.declarations&&dA(n.declarations,Zh)}function Zh(n){return n.kind===268||n.kind===267||n.kind===270&&!!n.name||n.kind===271||n.kind===277||n.kind===273||n.kind===278||n.kind===274&&zA(n)||ar(n)&&ic(n)===2&&zA(n)||Us(n)&&ar(n.parent)&&n.parent.left===n&&n.parent.operatorToken.kind===63&&kp(n.parent.right)||n.kind===300||n.kind===299&&kp(n.initializer)||n.kind===257&&N0(n)||n.kind===205&&N0(n.parent.parent)}function kp(n){return pR(n)||ms(n)&&cp(n)}function Dp(n,a){let c=ry(n);if(c){let p=$I(c.expression).arguments[0];return Re(c.name)?Ac(ja(Fxe(p),c.name.escapedText)):void 0}if(wi(n)||n.moduleReference.kind===280){let p=Gl(n,IH(n)||wI(n)),h=Vu(p);return qf(n,p,h,!1),h}let u=ep(n.moduleReference,a);return eg(n,u),u}function eg(n,a){if(qf(n,void 0,a,!1)&&!n.isTypeOnly){let c=nd(fr(n)),u=c.kind===278||c.kind===275,p=u?_.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:_.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type,h=u?_._0_was_exported_here:_._0_was_imported_here,T=c.kind===275?"*":Gi(c.name.escapedText);Ao(Fe(n.moduleReference,p),hr(c,h,T))}}function vE(n,a,c,u){let p=n.exports.get("export="),h=p?ja(zn(p),a,!0):n.exports.get(a),T=Ac(h,u);return qf(c,h,T,!1),T}function A1(n){return pc(n)&&!n.isExportEquals||Mr(n,1024)||Mu(n)}function ty(n){return es(n)?W_(Gn(n),n):void 0}function bE(n,a){return n===99&&a===1}function cs(n){return ty(n)===99&&Oc(n.text,".json")}function ny(n,a,c,u){let p=n&&ty(u);if(n&&p!==void 0){let h=bE(p,n.impliedNodeFormat);if(p===99||h)return h}if(!Z)return!1;if(!n||n.isDeclarationFile){let h=vE(a,"default",void 0,!0);return!(h&&vt(h.declarations,A1)||vE(a,Bs("__esModule"),void 0,c))}return Cu(n)?typeof n.externalModuleIndicator!="object"&&!vE(a,Bs("__esModule"),void 0,c):AE(a)}function Cx(n,a){let c=Gl(n,n.parent.moduleSpecifier);if(c)return Vb(c,n,a)}function Vb(n,a,c){var u;let p;CI(n)?p=n:p=vE(n,"default",a,c);let h=(u=n.declarations)==null?void 0:u.find(Li),T=jb(a);if(!T)return p;let k=cs(T),O=ny(h,n,c,T);if(!p&&!O&&!k)if(AE(n)&&!(wT(Y)||f_(Y))){let H=ie>=5?"allowSyntheticDefaultImports":"esModuleInterop",de=n.exports.get("export=").valueDeclaration,Ae=Fe(a.name,_.Module_0_can_only_be_default_imported_using_the_1_flag,E(n),H);de&&Ao(Ae,hr(de,_.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,H))}else lm(a)?Ix(n,a):Av(n,n,a,eS(a)&&a.propertyName||a.name);else if(O||k){let H=Vu(n,c)||Ac(n,c);return qf(a,n,H,!1),H}return qf(a,p,void 0,!1),p}function jb(n){switch(n.kind){case 270:return n.parent.moduleSpecifier;case 268:return um(n.moduleReference)?n.moduleReference.expression:void 0;case 271:return n.parent.parent.moduleSpecifier;case 273:return n.parent.parent.parent.moduleSpecifier;case 278:return n.parent.parent.moduleSpecifier;default:return L.assertNever(n)}}function Ix(n,a){var c,u,p;if((c=n.exports)!=null&&c.has(a.symbol.escapedName))Fe(a.name,_.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,E(n),E(a.symbol));else{let h=Fe(a.name,_.Module_0_has_no_default_export,E(n)),T=(u=n.exports)==null?void 0:u.get("__export");if(T){let k=(p=T.declarations)==null?void 0:p.find(O=>{var H,J;return!!(Il(O)&&O.moduleSpecifier&&((J=(H=Gl(O,O.moduleSpecifier))==null?void 0:H.exports)!=null&&J.has("default")))});k&&Ao(h,hr(k,_.export_Asterisk_does_not_re_export_a_default))}}}function uC(n,a){let c=n.parent.parent.moduleSpecifier,u=Gl(n,c),p=Jb(u,c,a,!1);return qf(n,u,p,!1),p}function Lx(n,a){let c=n.parent.moduleSpecifier,u=c&&Gl(n,c),p=c&&Jb(u,c,a,!1);return qf(n,u,p,!1),p}function Qn(n,a){if(n===Ht&&a===Ht)return Ht;if(n.flags&790504)return n;let c=wo(n.flags|a.flags,n.escapedName);return L.assert(n.declarations||a.declarations),c.declarations=fA(Qi(n.declarations,a.declarations),Zv),c.parent=n.parent||a.parent,n.valueDeclaration&&(c.valueDeclaration=n.valueDeclaration),a.members&&(c.members=new Map(a.members)),n.exports&&(c.exports=new Map(n.exports)),c}function lc(n,a,c,u){var p;if(n.flags&1536){let h=Gd(n).get(a.escapedText),T=Ac(h,u),k=(p=Ai(n).typeOnlyExportStarMap)==null?void 0:p.get(a.escapedText);return qf(c,h,T,!1,k,a.escapedText),T}}function zi(n,a){if(n.flags&3){let c=n.valueDeclaration.type;if(c)return Ac(ja($r(c),a))}}function af(n,a,c=!1){var u;let p=IH(n)||n.moduleSpecifier,h=Gl(n,p),T=!br(a)&&a.propertyName||a.name;if(!Re(T))return;let k=T.escapedText==="default"&&!!(Y.allowSyntheticDefaultImports||f_(Y)),O=Jb(h,p,!1,k);if(O&&T.escapedText){if(CI(h))return h;let H;h&&h.exports&&h.exports.get("export=")?H=ja(zn(O),T.escapedText,!0):H=zi(O,T.escapedText),H=Ac(H,c);let J=lc(O,T,a,c);if(J===void 0&&T.escapedText==="default"){let Ae=(u=h.declarations)==null?void 0:u.find(Li);(cs(p)||ny(Ae,h,c,p))&&(J=Vu(h,c)||Ac(h,c))}let de=J&&H&&J!==H?Qn(H,J):J||H;return de||Av(h,O,n,T),de}}function Av(n,a,c,u){var p;let h=rh(n,c),T=os(u),k=qB(u,a);if(k!==void 0){let O=E(k),H=Fe(u,_._0_has_no_exported_member_named_1_Did_you_mean_2,h,T,O);k.valueDeclaration&&Ao(H,hr(k.valueDeclaration,_._0_is_declared_here,O))}else(p=n.exports)!=null&&p.has("default")?Fe(u,_.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,h,T):vm(c,u,T,n,h)}function vm(n,a,c,u,p){var h,T;let k=(T=(h=zr(u.valueDeclaration,Qp))==null?void 0:h.locals)==null?void 0:T.get(a.escapedText),O=u.exports;if(k){let H=O?.get("export=");if(H)wp(H,k)?Wn(n,a,c,p):Fe(a,_.Module_0_has_no_exported_member_1,p,c);else{let J=O?wr(ene(O),Ae=>!!wp(Ae,k)):void 0,de=J?Fe(a,_.Module_0_declares_1_locally_but_it_is_exported_as_2,p,c,E(J)):Fe(a,_.Module_0_declares_1_locally_but_it_is_not_exported,p,c);k.declarations&&Ao(de,...on(k.declarations,(Ae,xe)=>hr(Ae,xe===0?_._0_is_declared_here:_.and_here,c)))}}else Fe(a,_.Module_0_has_no_exported_member_1,p,c)}function Wn(n,a,c,u){if(ie>=5){let p=f_(Y)?_._0_can_only_be_imported_by_using_a_default_import:_._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;Fe(a,p,c)}else if(Yn(n)){let p=f_(Y)?_._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:_._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;Fe(a,p,c)}else{let p=f_(Y)?_._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:_._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;Fe(a,p,c,c,u)}}function kx(n,a){if($u(n)&&vr(n.propertyName||n.name)==="default"){let T=jb(n),k=T&&Gl(n,T);if(k)return Vb(k,n,a)}let c=Wo(n)?nm(n):n.parent.parent.parent,u=ry(c),p=af(c,u||n,a),h=n.propertyName||n.name;return u&&p&&Re(h)?Ac(ja(zn(p),h.escapedText),a):(qf(n,void 0,p,!1),p)}function ry(n){if(wi(n)&&n.initializer&&br(n.initializer))return n.initializer}function nl(n,a){if($p(n.parent)){let c=Vu(n.parent.symbol,a);return qf(n,void 0,c,!1),c}}function Kf(n,a,c){if(vr(n.propertyName||n.name)==="default"){let p=jb(n),h=p&&Gl(n,p);if(h)return Vb(h,n,!!c)}let u=n.parent.parent.moduleSpecifier?af(n.parent.parent,n,c):uc(n.propertyName||n.name,a,!1,c);return qf(n,void 0,u,!1),u}function Z_(n,a){let c=pc(n)?n.expression:n.right,u=iy(c,a);return qf(n,void 0,u,!1),u}function iy(n,a){if(_u(n))return Ic(n).symbol;if(!Cd(n)&&!bc(n))return;let c=uc(n,901119,!0,a);return c||(Ic(n),Rr(n).resolvedSymbol)}function EE(n,a){if(ar(n.parent)&&n.parent.left===n&&n.parent.operatorToken.kind===63)return iy(n.parent.right,a)}function L_(n,a=!1){switch(n.kind){case 268:case 257:return Dp(n,a);case 270:return Cx(n,a);case 271:return uC(n,a);case 277:return Lx(n,a);case 273:case 205:return kx(n,a);case 278:return Kf(n,901119,a);case 274:case 223:return Z_(n,a);case 267:return nl(n,a);case 300:return uc(n.name,901119,!0,a);case 299:return iy(n.initializer,a);case 209:case 208:return EE(n,a);default:return L.fail()}}function ay(n,a=901119){return n?(n.flags&(2097152|a))===2097152||!!(n.flags&2097152&&n.flags&67108864):!1}function Ac(n,a){return!a&&ay(n)?wc(n):n}function wc(n){L.assert((n.flags&2097152)!==0,"Should only get Alias here.");let a=Ai(n);if(a.aliasTarget)a.aliasTarget===En&&(a.aliasTarget=Ht);else{a.aliasTarget=En;let c=Uu(n);if(!c)return L.fail();let u=L_(c);a.aliasTarget===En?a.aliasTarget=u||Ht:Fe(c,_.Circular_definition_of_import_alias_0,E(n))}return a.aliasTarget}function tg(n){if(Ai(n).aliasTarget!==En)return wc(n)}function Fl(n){let a=n.flags,c;for(;n.flags&2097152;){let u=wc(n);if(u===Ht)return 67108863;if(u===n||c?.has(u))break;u.flags&2097152&&(c?c.add(u):c=new Set([n,u])),a|=u.flags,n=u}return a}function qf(n,a,c,u,p,h){if(!n||br(n))return!1;let T=fr(n);if(I0(n)){let O=Ai(T);return O.typeOnlyDeclaration=n,!0}if(p){let O=Ai(T);return O.typeOnlyDeclaration=p,T.escapedName!==h&&(O.typeOnlyExportStarName=h),!0}let k=Ai(T);return bm(k,a,u)||bm(k,c,u)}function bm(n,a,c){var u,p,h;if(a&&(n.typeOnlyDeclaration===void 0||c&&n.typeOnlyDeclaration===!1)){let T=(p=(u=a.exports)==null?void 0:u.get("export="))!=null?p:a,k=T.declarations&&wr(T.declarations,I0);n.typeOnlyDeclaration=(h=k??Ai(T).typeOnlyDeclaration)!=null?h:!1}return!!n.typeOnlyDeclaration}function nd(n,a){if(!(n.flags&2097152))return;let c=Ai(n);if(a===void 0)return c.typeOnlyDeclaration||void 0;if(c.typeOnlyDeclaration){let u=c.typeOnlyDeclaration.kind===275?Ac(sh(c.typeOnlyDeclaration.symbol.parent).get(c.typeOnlyExportStarName||n.escapedName)):wc(c.typeOnlyDeclaration.symbol);return Fl(u)&a?c.typeOnlyDeclaration:void 0}}function TE(n){if(Y.verbatimModuleSyntax)return;let a=fr(n),c=wc(a);c&&(c===Ht||Fl(c)&111551&&!MD(c)&&!nd(a,111551))&&Hb(a)}function Hb(n){L.assert(!Y.verbatimModuleSyntax);let a=Ai(n);if(!a.referenced){a.referenced=!0;let c=Uu(n);if(!c)return L.fail();GA(c)&&Fl(Ac(n))&111551&&Ic(c.moduleReference)}}function Wb(n){let a=Ai(n);a.constEnumReferenced||(a.constEnumReferenced=!0)}function ep(n,a){return n.kind===79&&zI(n)&&(n=n.parent),n.kind===79||n.parent.kind===163?uc(n,1920,!1,a):(L.assert(n.parent.kind===268),uc(n,901119,!1,a))}function rh(n,a){return n.parent?rh(n.parent,a)+"."+E(n):E(n,a,void 0,36)}function SE(n){for(;Yu(n.parent);)n=n.parent;return n}function oy(n){let a=Yd(n),c=zs(a,a.escapedText,111551,void 0,a,!0);if(c){for(;Yu(a.parent);){let u=zn(c);if(c=ja(u,a.parent.right.escapedText),!c)return;a=a.parent}return c}}function uc(n,a,c,u,p){if(rc(n))return;let h=1920|(Yn(n)?a&111551:0),T;if(n.kind===79){let k=a===h||ws(n)?_.Cannot_find_namespace_0:L2e(Yd(n)),O=Yn(n)&&!ws(n)?ng(n,a):void 0;if(T=No(zs(p||n,n.escapedText,a,c||O?void 0:k,n,!0,!1)),!T)return No(O)}else if(n.kind===163||n.kind===208){let k=n.kind===163?n.left:n.expression,O=n.kind===163?n.right:n.name,H=uc(k,h,c,!1,p);if(!H||rc(O))return;if(H===Ht)return H;if(H.valueDeclaration&&Yn(H.valueDeclaration)&&$s(Y)!==100&&wi(H.valueDeclaration)&&H.valueDeclaration.initializer&&dIe(H.valueDeclaration.initializer)){let J=H.valueDeclaration.initializer.arguments[0],de=Gl(J,J);if(de){let Ae=Vu(de);Ae&&(H=Ae)}}if(T=No(yd(Gd(H),O.escapedText,a)),!T){if(!c){let J=rh(H),de=os(O),Ae=qB(O,H);if(Ae){Fe(O,_._0_has_no_exported_member_named_1_Did_you_mean_2,J,de,E(Ae));return}let xe=Yu(n)&&SE(n);if(ka&&a&788968&&xe&&!y2(xe.parent)&&oy(xe)){Fe(xe,_._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,qd(xe));return}if(a&1920&&Yu(n.parent)){let It=No(yd(Gd(H),O.escapedText,788968));if(It){Fe(n.parent.right,_.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,E(It),Gi(n.parent.right.escapedText));return}}Fe(O,_.Namespace_0_has_no_exported_member_1,J,de)}return}}else throw L.assertNever(n,"Unknown entity name kind.");return L.assert((ac(T)&1)===0,"Should never get an instantiated symbol here."),!ws(n)&&Cd(n)&&(T.flags&2097152||n.parent.kind===274)&&qf(BH(n),T,void 0,!0),T.flags&a||u?T:wc(T)}function ng(n,a){if($G(n.parent)){let c=ih(n.parent);if(c)return zs(c,n.escapedText,a,void 0,n,!0)}}function ih(n){if(jn(n,p=>IA(p)||p.flags&8388608?Ff(p):"quit"))return;let c=dS(n);if(c&&Ol(c)&&nR(c.expression)){let p=fr(c.expression.left);if(p)return Cv(p)}if(c&&ms(c)&&nR(c.parent)&&Ol(c.parent.parent)){let p=fr(c.parent.left);if(p)return Cv(p)}if(c&&(s_(c)||yl(c))&&ar(c.parent.parent)&&ic(c.parent.parent)===6){let p=fr(c.parent.parent.left);if(p)return Cv(p)}let u=WA(n);if(u&&Ia(u)){let p=fr(u);return p&&p.valueDeclaration}}function Cv(n){let a=n.parent.valueDeclaration;return a?(RI(a)?oS(a):mT(a)?$w(a):void 0)||a:void 0}function Iv(n){let a=n.valueDeclaration;if(!a||!Yn(a)||n.flags&524288||ob(a,!1))return;let c=wi(a)?$w(a):oS(a);if(c){let u=vd(c);if(u)return oie(u,n)}}function Gl(n,a,c){let p=$s(Y)===1?_.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:_.Cannot_find_module_0_or_its_corresponding_type_declarations;return ah(n,a,c?void 0:p)}function ah(n,a,c,u=!1){return es(a)?qc(n,a.text,c,a,u):void 0}function qc(n,a,c,u,p=!1){var h,T,k,O,H,J,de,Ae,xe;if(na(a,"@types/")){let Cn=_.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,Rn=QC(a,"@types/");Fe(u,Cn,Rn,a)}let tt=tne(a,!0);if(tt)return tt;let It=Gn(n),Tn=es(n)?n:((h=jn(n,Dd))==null?void 0:h.arguments[0])||((T=jn(n,gl))==null?void 0:T.moduleSpecifier)||((k=jn(n,ab))==null?void 0:k.moduleReference.expression)||((O=jn(n,Il))==null?void 0:O.moduleSpecifier)||((H=Tc(n)?n:n.parent&&Tc(n.parent)&&n.parent.name===n?n.parent:void 0)==null?void 0:H.name)||((J=ib(n)?n:void 0)==null?void 0:J.argument.literal),un=Tn&&es(Tn)?W_(It,Tn):It.impliedNodeFormat,Nn=$s(Y),en=kA(It,a,un),cn=en&&_q(Y,en,It),rr=en&&(!cn||cn===_.Module_0_was_resolved_to_1_but_jsx_is_not_set)&&e.getSourceFile(en.resolvedFileName);if(rr){if(cn&&Fe(u,cn,a,en.resolvedFileName),en.resolvedUsingTsExtension&&Fu(a)){let Cn=((de=jn(n,gl))==null?void 0:de.importClause)||jn(n,Kp(Nl,Il));(Cn&&!Cn.isTypeOnly||jn(n,Dd))&&Fe(u,_.A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead,Jt(L.checkDefined(r4(a))))}else if(en.resolvedUsingTsExtension&&!VL(Y,It.fileName)){let Cn=L.checkDefined(r4(a));Fe(u,_.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled,Cn)}if(rr.symbol){if(en.isExternalLibraryImport&&!VR(en.extension)&&xE(!1,u,It,un,en,a),Nn===3||Nn===99){let Cn=It.impliedNodeFormat===1&&!jn(n,Dd)||!!jn(n,Nl),Rn=jn(n,Hr=>Mh(Hr)||Il(Hr)||gl(Hr)),Br=Rn&&Mh(Rn)?(Ae=Rn.assertions)==null?void 0:Ae.assertClause:Rn?.assertClause;if(Cn&&rr.impliedNodeFormat===99&&!qS(Br))if(jn(n,Nl))Fe(u,_.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead,a);else{let Hr,qi=Hm(It.fileName);if(qi===".ts"||qi===".js"||qi===".tsx"||qi===".jsx"){let wa=It.packageJsonScope,Xc=qi===".ts"?".mts":qi===".js"?".mjs":void 0;wa&&!wa.contents.packageJsonContent.type?Xc?Hr=da(void 0,_.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1,Xc,vi(wa.packageDirectory,"package.json")):Hr=da(void 0,_.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0,vi(wa.packageDirectory,"package.json")):Xc?Hr=da(void 0,_.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module,Xc):Hr=da(void 0,_.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module)}Lo.add(Lh(Gn(u),u,da(Hr,_.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead,a)))}}return No(rr.symbol)}c&&Fe(u,_.File_0_is_not_a_module,rr.fileName);return}if(Ka){let Cn=JU(Ka,Rn=>Rn.pattern,a);if(Cn){let Rn=vo&&vo.get(a);return No(Rn||Cn.symbol)}}if(en&&!VR(en.extension)&&cn===void 0||cn===_.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type){if(p){let Cn=_.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;Fe(u,Cn,a,en.resolvedFileName)}else xE(ge&&!!c,u,It,un,en,a);return}if(c){if(en){let Cn=e.getProjectReferenceRedirect(en.resolvedFileName);if(Cn){Fe(u,_.Output_file_0_has_not_been_built_from_source_file_1,Cn,en.resolvedFileName);return}}if(cn)Fe(u,cn,a,en.resolvedFileName);else{let Cn=Jd(a)&&!gA(a),Rn=Nn===3||Nn===99;if(!RT(Y)&&Gc(a,".json")&&Nn!==1&&l4(Y))Fe(u,_.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,a);else if(un===99&&Rn&&Cn){let Br=_a(a,ni(It.path)),Hr=(xe=bx.find(([qi,wa])=>e.fileExists(Br+qi)))==null?void 0:xe[1];Hr?Fe(u,_.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0,a+Hr):Fe(u,_.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path)}else Fe(u,c,a)}}return;function Jt(Cn){let Rn=UR(a,Cn);if(SW(ie)||un===99){let Br=Fu(a)&&VL(Y);return Rn+(Cn===".mts"||Cn===".d.mts"?Br?".mts":".mjs":Cn===".cts"||Cn===".d.mts"?Br?".cts":".cjs":Br?".ts":".js")}return Rn}}function xE(n,a,c,u,{packageId:p,resolvedFileName:h},T){var k,O;let H;if(!fl(T)&&p){let J=(O=(k=c.resolvedModules)==null?void 0:k.get(T,u))==null?void 0:O.node10Result;H=J?da(void 0,_.There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings,J,J.indexOf(Wg+"@types/")>-1?`@types/${UL(p.name)}`:p.name):oh(p.name)?da(void 0,_.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,p.name,UL(p.name)):zb(p.name)?da(void 0,_.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,p.name,T):da(void 0,_.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,T,UL(p.name))}Ip(n,a,da(H,_.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,T,h))}function oh(n){return t().has(rF(n))}function zb(n){return!!t().get(n)}function Vu(n,a){if(n?.exports){let c=Ac(n.exports.get("export="),a),u=Em(No(c),No(n));return No(u)||n}}function Em(n,a){if(!n||n===Ht||n===a||a.exports.size===1||n.flags&2097152)return n;let c=Ai(n);if(c.cjsExportMerged)return c.cjsExportMerged;let u=n.flags&33554432?n:Pb(n);return u.flags=u.flags|512,u.exports===void 0&&(u.exports=Ua()),a.exports.forEach((p,h)=>{h!=="export="&&u.exports.set(h,u.exports.has(h)?C_(u.exports.get(h),p):p)}),Ai(u).cjsExportMerged=u,c.cjsExportMerged=u}function Jb(n,a,c,u){var p;let h=Vu(n,c);if(!c&&h){if(!u&&!(h.flags&1539)&&!nc(h,308)){let k=ie>=5?"allowSyntheticDefaultImports":"esModuleInterop";return Fe(a,_.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,k),h}let T=a.parent;if(gl(T)&&VA(T)||Dd(T)){let k=Dd(T)?T.arguments[0]:T.moduleSpecifier,O=zn(h),H=lIe(O,h,n,k);if(H)return Lv(h,H,T);let J=(p=n?.declarations)==null?void 0:p.find(Li),de=J&&bE(ty(k),J.impliedNodeFormat);if(f_(Y)||de){let Ae=nM(O,0);if((!Ae||!Ae.length)&&(Ae=nM(O,1)),Ae&&Ae.length||ja(O,"default",!0)||de){let xe=uIe(O,h,n,k);return Lv(h,xe,T)}}}}return h}function Lv(n,a,c){let u=wo(n.flags,n.escapedName);u.declarations=n.declarations?n.declarations.slice():[],u.parent=n.parent,u.links.target=n,u.links.originatingImport=c,n.valueDeclaration&&(u.valueDeclaration=n.valueDeclaration),n.constEnumOnlyModule&&(u.constEnumOnlyModule=!0),n.members&&(u.members=new Map(n.members)),n.exports&&(u.exports=new Map(n.exports));let p=R_(a);return u.links.type=ls(u,p.members,Je,Je,p.indexInfos),u}function AE(n){return n.exports.get("export=")!==void 0}function sy(n){return ene(sh(n))}function C1(n){let a=sy(n),c=Vu(n);if(c!==n){let u=zn(c);CE(u)&&si(a,Jo(u))}return a}function kv(n,a){sh(n).forEach((p,h)=>{LE(h)||a(p,h)});let u=Vu(n);if(u!==n){let p=zn(u);CE(p)&&MJe(p,(h,T)=>{a(h,T)})}}function rg(n,a){let c=sh(a);if(c)return c.get(n)}function of(n,a){let c=rg(n,a);if(c)return c;let u=Vu(a);if(u===a)return;let p=zn(u);return CE(p)?ja(p,n):void 0}function CE(n){return!(n.flags&134348796||Ur(n)&1||_f(n)||po(n))}function Gd(n){return n.flags&6256?Mte(n,"resolvedExports"):n.flags&1536?sh(n):n.exports||q}function sh(n){let a=Ai(n);if(!a.resolvedExports){let{exports:c,typeOnlyExportStarMap:u}=Dx(n);a.resolvedExports=c,a.typeOnlyExportStarMap=u}return a.resolvedExports}function Dv(n,a,c,u){a&&a.forEach((p,h)=>{if(h==="default")return;let T=n.get(h);if(!T)n.set(h,p),c&&u&&c.set(h,{specifierText:Qc(u.moduleSpecifier)});else if(c&&u&&T&&Ac(T)!==Ac(p)){let k=c.get(h);k.exportsWithDuplicate?k.exportsWithDuplicate.push(u):k.exportsWithDuplicate=[u]}})}function Dx(n){let a=[],c,u=new Set;n=Vu(n);let p=h(n)||q;return c&&u.forEach(T=>c.delete(T)),{exports:p,typeOnlyExportStarMap:c};function h(T,k,O){if(!O&&T?.exports&&T.exports.forEach((de,Ae)=>u.add(Ae)),!(T&&T.exports&&Of(a,T)))return;let H=new Map(T.exports),J=T.exports.get("__export");if(J){let de=Ua(),Ae=new Map;if(J.declarations)for(let xe of J.declarations){let tt=Gl(xe,xe.moduleSpecifier),It=h(tt,xe,O||xe.isTypeOnly);Dv(de,It,Ae,xe)}Ae.forEach(({exportsWithDuplicate:xe},tt)=>{if(!(tt==="export="||!(xe&&xe.length)||H.has(tt)))for(let It of xe)Lo.add(hr(It,_.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,Ae.get(tt).specifierText,Gi(tt)))}),Dv(H,de)}return k?.isTypeOnly&&(c??(c=new Map),H.forEach((de,Ae)=>c.set(Ae,k))),H}}function No(n){let a;return n&&n.mergeId&&(a=gv[n.mergeId])?a:n}function fr(n){return No(n.symbol&&zG(n.symbol))}function vd(n){return $p(n)?fr(n):void 0}function ju(n){return No(n.parent&&zG(n.parent))}function I1(n,a){let c=Gn(a),u=zo(c),p=Ai(n),h;if(p.extendedContainersByFile&&(h=p.extendedContainersByFile.get(u)))return h;if(c&&c.imports){for(let k of c.imports){if(ws(k))continue;let O=Gl(a,k,!0);!O||!ly(O,n)||(h=Sn(h,O))}if(Fn(h))return(p.extendedContainersByFile||(p.extendedContainersByFile=new Map)).set(u,h),h}if(p.extendedContainers)return p.extendedContainers;let T=e.getSourceFiles();for(let k of T){if(!Lc(k))continue;let O=fr(k);ly(O,n)&&(h=Sn(h,O))}return p.extendedContainers=h||Je}function IE(n,a,c){let u=ju(n);if(u&&!(n.flags&262144)){let T=Zi(u.declarations,h),k=a&&I1(n,a),O=cy(u,c);if(a&&u.flags&og(c)&&Rv(u,a,1920,!1))return Sn(Qi(Qi([u],T),k),O);let H=!(u.flags&og(c))&&u.flags&788968&&gs(u).flags&524288&&c===111551?DE(a,de=>Ld(de,Ae=>{if(Ae.flags&og(c)&&zn(Ae)===gs(u))return Ae})):void 0,J=H?[H,...T,u]:[...T,u];return J=Sn(J,O),J=si(J,k),J}let p=Zi(n.declarations,T=>{if(!lu(T)&&T.parent){if(sg(T.parent))return fr(T.parent);if(Tp(T.parent)&&T.parent.parent&&Vu(fr(T.parent.parent))===n)return fr(T.parent.parent)}if(_u(T)&&ar(T.parent)&&T.parent.operatorToken.kind===63&&Us(T.parent.left)&&bc(T.parent.left.expression))return Bm(T.parent.left)||TT(T.parent.left.expression)?fr(Gn(T)):(Ic(T.parent.left.expression),Rr(T.parent.left.expression).resolvedSymbol)});if(!Fn(p))return;return Zi(p,T=>ly(T,n)?T:void 0);function h(T){return u&&wx(T,u)}}function cy(n,a){let c=!!Fn(n.declarations)&&Vo(n.declarations);if(a&111551&&c&&c.parent&&wi(c.parent)&&(rs(c)&&c===c.parent.initializer||Rd(c)&&c===c.parent.type))return fr(c.parent)}function wx(n,a){let c=lh(n),u=c&&c.exports&&c.exports.get("export=");return u&&wp(u,a)?c:void 0}function ly(n,a){if(n===ju(a))return a;let c=n.exports&&n.exports.get("export=");if(c&&wp(c,a))return n;let u=Gd(n),p=u.get(a.escapedName);return p&&wp(p,a)?p:Ld(u,h=>{if(wp(h,a))return h})}function wp(n,a){if(No(Ac(No(n)))===No(Ac(No(a))))return n}function tp(n){return No(n&&(n.flags&1048576)!==0&&n.exportSymbol||n)}function ig(n,a){return!!(n.flags&111551||n.flags&2097152&&Fl(n)&111551&&(a||!nd(n)))}function wv(n){let a=n.members;for(let c of a)if(c.kind===173&&Pf(c.body))return c}function ch(n){var a;let c=new g(qe,n);return v++,c.id=v,(a=ai)==null||a.recordType(c),c}function Rp(n,a){let c=ch(n);return c.symbol=a,c}function L1(n){return new g(qe,n)}function Cc(n,a,c=0){let u=ch(n);return u.intrinsicName=a,u.objectFlags=c,u}function Bd(n,a){let c=Rp(524288,a);return c.objectFlags=n,c.members=void 0,c.properties=void 0,c.callSignatures=void 0,c.constructSignatures=void 0,c.indexInfos=void 0,c}function Tm(){return Gr(lo(fF.keys(),ff))}function rd(n){return Rp(262144,n)}function LE(n){return n.charCodeAt(0)===95&&n.charCodeAt(1)===95&&n.charCodeAt(2)!==95&&n.charCodeAt(2)!==64&&n.charCodeAt(2)!==35}function uy(n){let a;return n.forEach((c,u)=>{ag(c,u)&&(a||(a=[])).push(c)}),a||Je}function ag(n,a){return!LE(a)&&ig(n)}function Rx(n){let a=uy(n),c=ane(n);return c?Qi(a,[c]):a}function sf(n,a,c,u,p){let h=n;return h.members=a,h.properties=Je,h.callSignatures=c,h.constructSignatures=u,h.indexInfos=p,a!==q&&(h.properties=uy(a)),h}function ls(n,a,c,u,p){return sf(Bd(16,n),a,c,u,p)}function kE(n){if(n.constructSignatures.length===0)return n;if(n.objectTypeWithoutAbstractConstructSignatures)return n.objectTypeWithoutAbstractConstructSignatures;let a=Pr(n.constructSignatures,u=>!(u.flags&4));if(n.constructSignatures===a)return n;let c=ls(n.symbol,n.members,n.callSignatures,vt(a)?a:Je,n.indexInfos);return n.objectTypeWithoutAbstractConstructSignatures=c,c.objectTypeWithoutAbstractConstructSignatures=c,c}function DE(n,a){let c;for(let u=n;u;u=u.parent){if(Qp(u)&&u.locals&&!gm(u)&&(c=a(u.locals,void 0,!0,u)))return c;switch(u.kind){case 308:if(!kd(u))break;case 264:let p=fr(u);if(c=a(p?.exports||q,void 0,!0,u))return c;break;case 260:case 228:case 261:let h;if((fr(u).members||q).forEach((T,k)=>{T.flags&788968&&(h||(h=Ua())).set(k,T)}),h&&(c=a(h,void 0,!1,u)))return c;break}}return a(Ne,void 0,!0)}function og(n){return n===111551?111551:1920}function Rv(n,a,c,u,p=new Map){if(!(n&&!wE(n)))return;let h=Ai(n),T=h.accessibleChainCache||(h.accessibleChainCache=new Map),k=DE(a,(un,Nn,en,cn)=>cn),O=`${u?0:1}|${k&&zo(k)}|${c}`;if(T.has(O))return T.get(O);let H=$a(n),J=p.get(H);J||p.set(H,J=[]);let de=DE(a,Ae);return T.set(O,de),de;function Ae(un,Nn,en){if(!Of(J,un))return;let cn=It(un,Nn,en);return J.pop(),cn}function xe(un,Nn){return!k1(un,a,Nn)||!!Rv(un.parent,a,og(Nn),u,p)}function tt(un,Nn,en){return(n===(Nn||un)||No(n)===No(Nn||un))&&!vt(un.declarations,sg)&&(en||xe(No(un),c))}function It(un,Nn,en){return tt(un.get(n.escapedName),void 0,Nn)?[n]:Ld(un,rr=>{if(rr.flags&2097152&&rr.escapedName!=="export="&&rr.escapedName!=="default"&&!(o4(rr)&&a&&Lc(Gn(a)))&&(!u||vt(rr.declarations,ab))&&(!en||!vt(rr.declarations,cce))&&(Nn||!nc(rr,278))){let Jt=wc(rr),Cn=Tn(rr,Jt,Nn);if(Cn)return Cn}if(rr.escapedName===n.escapedName&&rr.exportSymbol&&tt(No(rr.exportSymbol),void 0,Nn))return[n]})||(un===Ne?Tn(Ye,Ye,Nn):void 0)}function Tn(un,Nn,en){if(tt(un,Nn,en))return[un];let cn=Gd(Nn),rr=cn&&Ae(cn,!0);if(rr&&xe(un,og(c)))return[un].concat(rr)}}function k1(n,a,c){let u=!1;return DE(a,p=>{let h=No(p.get(n.escapedName));if(!h)return!1;if(h===n)return!0;let T=h.flags&2097152&&!nc(h,278);return h=T?wc(h):h,(T?Fl(h):h.flags)&c?(u=!0,!0):!1}),u}function wE(n){if(n.declarations&&n.declarations.length){for(let a of n.declarations)switch(a.kind){case 169:case 171:case 174:case 175:continue;default:return!1}return!0}return!1}function RE(n,a){return bd(n,a,788968,!1,!0).accessibility===0}function OE(n,a){return bd(n,a,111551,!1,!0).accessibility===0}function NE(n,a,c){return bd(n,a,c,!1,!1).accessibility===0}function PE(n,a,c,u,p,h){if(!Fn(n))return;let T,k=!1;for(let O of n){let H=Rv(O,a,u,!1);if(H){T=O;let Ae=Ox(H[0],p);if(Ae)return Ae}if(h&&vt(O.declarations,sg)){if(p){k=!0;continue}return{accessibility:0}}let J=IE(O,a,u),de=PE(J,a,c,c===O?og(u):u,p,h);if(de)return de}if(k)return{accessibility:0};if(T)return{accessibility:1,errorSymbolName:E(c,a,u),errorModuleName:T!==c?E(T,a,1920):void 0}}function dy(n,a,c,u){return bd(n,a,c,u,!0)}function bd(n,a,c,u,p){if(n&&a){let h=PE([n],a,n,c,u,p);if(h)return h;let T=mn(n.declarations,lh);if(T){let k=lh(a);if(T!==k)return{accessibility:2,errorSymbolName:E(n,a,c),errorModuleName:E(T),errorNode:Yn(a)?a:void 0}}return{accessibility:1,errorSymbolName:E(n,a,c)}}return{accessibility:0}}function lh(n){let a=jn(n,dC);return a&&fr(a)}function dC(n){return lu(n)||n.kind===308&&kd(n)}function sg(n){return b6(n)||n.kind===308&&kd(n)}function Ox(n,a){let c;if(!Ji(Pr(n.declarations,h=>h.kind!==79),u))return;return{accessibility:0,aliasesToMakeVisible:c};function u(h){var T,k;if(!Xf(h)){let O=x1(h);if(O&&!Mr(O,1)&&Xf(O.parent))return p(h,O);if(wi(h)&&Bc(h.parent.parent)&&!Mr(h.parent.parent,1)&&Xf(h.parent.parent.parent))return p(h,h.parent.parent);if(E6(h)&&!Mr(h,1)&&Xf(h.parent))return p(h,h);if(Wo(h)){if(n.flags&2097152&&Yn(h)&&((T=h.parent)!=null&&T.parent)&&wi(h.parent.parent)&&((k=h.parent.parent.parent)!=null&&k.parent)&&Bc(h.parent.parent.parent.parent)&&!Mr(h.parent.parent.parent.parent,1)&&h.parent.parent.parent.parent.parent&&Xf(h.parent.parent.parent.parent.parent))return p(h,h.parent.parent.parent.parent);if(n.flags&2){let H=jn(h,Bc);return Mr(H,1)?!0:Xf(H.parent)?p(h,H):!1}}return!1}return!0}function p(h,T){return a&&(Rr(h).isVisible=!0,c=xg(c,T)),!0}}function Nx(n,a){let c;n.parent.kind===183||n.parent.kind===230&&!Gm(n.parent)||n.parent.kind===164?c=1160127:n.kind===163||n.kind===208||n.parent.kind===268?c=1920:c=788968;let u=Yd(n),p=zs(a,u.escapedText,c,void 0,void 0,!1);return p&&p.flags&262144&&c&788968?{accessibility:0}:!p&&LT(u)&&dy(fr(Ku(u,!1,!1)),u,c,!1).accessibility===0?{accessibility:0}:p&&Ox(p,!0)||{accessibility:1,errorSymbolName:Qc(u),errorNode:u}}function E(n,a,c,u=4,p){let h=70221824;u&2&&(h|=128),u&1&&(h|=512),u&8&&(h|=16384),u&32&&(h|=134217728),u&16&&(h|=1073741824);let T=u&4?Be.symbolToNode:Be.symbolToEntityName;return p?k(p).getText():SI(k);function k(O){let H=T(n,c,a,h),J=a?.kind===308?XK():rE(),de=a&&Gn(a);return J.writeNode(4,H,de,O),O}}function ne(n,a,c=0,u,p){return p?h(p).getText():SI(h);function h(T){let k;c&262144?k=u===1?182:181:k=u===1?177:176;let O=Be.signatureToSignatureDeclaration(n,k,a,qr(c)|70221824|512),H=fN(),J=a&&Gn(a);return H.writeNode(4,O,J,XH(T)),T}}function Ee(n,a,c=1064960,u=SR("")){let p=Y.noErrorTruncation||c&1,h=Be.typeToTypeNode(n,a,qr(c)|70221824|(p?1:0));if(h===void 0)return L.fail("should always get typenode");let T=n!==nt?rE():qK(),k=a&&Gn(a);T.writeNode(4,h,k,u);let O=u.getText(),H=p?x4*2:KR*2;return H&&O&&O.length>=H?O.substr(0,H-3)+"...":O}function Wt(n,a){let c=ci(n.symbol)?Ee(n,n.symbol.valueDeclaration):Ee(n),u=ci(a.symbol)?Ee(a,a.symbol.valueDeclaration):Ee(a);return c===u&&(c=lr(n),u=lr(a)),[c,u]}function lr(n){return Ee(n,void 0,64)}function ci(n){return n&&!!n.valueDeclaration&&ot(n.valueDeclaration)&&!$f(n.valueDeclaration)}function qr(n=0){return n&848330091}function Ti(n){return!!n.symbol&&!!(n.symbol.flags&32)&&(n===vu(n.symbol)||!!(n.flags&524288)&&!!(Ur(n)&16777216))}function Wa(){return{typeToTypeNode:(et,he,Bn,Mn)=>a(he,Bn,Mn,or=>u(et,or)),indexInfoToIndexSignatureDeclaration:(et,he,Bn,Mn)=>a(he,Bn,Mn,or=>J(et,or,void 0)),signatureToSignatureDeclaration:(et,he,Bn,Mn,or)=>a(Bn,Mn,or,_r=>de(et,he,_r)),symbolToEntityName:(et,he,Bn,Mn,or)=>a(Bn,Mn,or,_r=>qi(et,_r,he,!1)),symbolToExpression:(et,he,Bn,Mn,or)=>a(Bn,Mn,or,_r=>wa(et,_r,he)),symbolToTypeParameterDeclarations:(et,he,Bn,Mn)=>a(he,Bn,Mn,or=>en(et,or)),symbolToParameterDeclaration:(et,he,Bn,Mn)=>a(he,Bn,Mn,or=>It(et,or)),typeParameterToDeclaration:(et,he,Bn,Mn)=>a(he,Bn,Mn,or=>tt(et,or)),symbolTableToDeclarationStatements:(et,he,Bn,Mn,or)=>a(he,Bn,Mn,_r=>Tu(et,_r,or)),symbolToNode:(et,he,Bn,Mn,or)=>a(Bn,Mn,or,_r=>n(et,_r,he))};function n(et,he,Bn){if(he.flags&1073741824){if(et.valueDeclaration){let or=sa(et.valueDeclaration);if(or&&ts(or))return or}let Mn=Ai(et).nameType;if(Mn&&Mn.flags&9216)return he.enclosingDeclaration=Mn.symbol.valueDeclaration,D.createComputedPropertyName(wa(Mn.symbol,he,Bn))}return wa(et,he,Bn)}function a(et,he,Bn,Mn){L.assert(et===void 0||(et.flags&8)===0);let or=Bn?.trackSymbol?Bn.moduleResolverHost:he&134217728?hPe(e):void 0,_r={enclosingDeclaration:et,flags:he||0,tracker:void 0,encounteredError:!1,reportedDiagnostic:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0};_r.tracker=new iN(_r,Bn,or);let ua=Mn(_r);return _r.truncating&&_r.flags&1&&_r.tracker.reportTruncationError(),_r.encounteredError?void 0:ua}function c(et){return et.truncating?et.truncating:et.truncating=et.approximateLength>(et.flags&1?x4:KR)}function u(et,he){let Bn=he.flags,Mn=p(et,he);return he.flags=Bn,Mn}function p(et,he){var Bn,Mn;o&&o.throwIfCancellationRequested&&o.throwIfCancellationRequested();let or=he.flags&8388608;if(he.flags&=-8388609,!et){if(!(he.flags&262144)){he.encounteredError=!0;return}return he.approximateLength+=3,D.createKeywordTypeNode(131)}if(he.flags&536870912||(et=O_(et)),et.flags&1)return et.aliasSymbol?D.createTypeReferenceNode(Cn(et.aliasSymbol),O(et.aliasTypeArguments,he)):et===nt?nO(D.createKeywordTypeNode(131),3,"unresolved"):(he.approximateLength+=3,D.createKeywordTypeNode(et===Q?139:131));if(et.flags&2)return D.createKeywordTypeNode(157);if(et.flags&4)return he.approximateLength+=6,D.createKeywordTypeNode(152);if(et.flags&8)return he.approximateLength+=6,D.createKeywordTypeNode(148);if(et.flags&64)return he.approximateLength+=6,D.createKeywordTypeNode(160);if(et.flags&16&&!et.aliasSymbol)return he.approximateLength+=7,D.createKeywordTypeNode(134);if(et.flags&1056){if(et.symbol.flags&8){let Xt=ju(et.symbol),er=Rn(Xt,he,788968);if(gs(Xt)===et)return er;let Sr=fc(et.symbol);return i_(Sr,0)?Un(er,D.createTypeReferenceNode(Sr,void 0)):Mh(er)?(er.isTypeOf=!0,D.createIndexedAccessTypeNode(er,D.createLiteralTypeNode(D.createStringLiteral(Sr)))):m_(er)?D.createIndexedAccessTypeNode(D.createTypeQueryNode(er.typeName),D.createLiteralTypeNode(D.createStringLiteral(Sr))):L.fail("Unhandled type node kind returned from `symbolToTypeNode`.")}return Rn(et.symbol,he,788968)}if(et.flags&128)return he.approximateLength+=et.value.length+2,D.createLiteralTypeNode(Jn(D.createStringLiteral(et.value,!!(he.flags&268435456)),33554432));if(et.flags&256){let Xt=et.value;return he.approximateLength+=(""+Xt).length,D.createLiteralTypeNode(Xt<0?D.createPrefixUnaryExpression(40,D.createNumericLiteral(-Xt)):D.createNumericLiteral(Xt))}if(et.flags&2048)return he.approximateLength+=j0(et.value).length+1,D.createLiteralTypeNode(D.createBigIntLiteral(et.value));if(et.flags&512)return he.approximateLength+=et.intrinsicName.length,D.createLiteralTypeNode(et.intrinsicName==="true"?D.createTrue():D.createFalse());if(et.flags&8192){if(!(he.flags&1048576)){if(OE(et.symbol,he.enclosingDeclaration))return he.approximateLength+=6,Rn(et.symbol,he,111551);he.tracker.reportInaccessibleUniqueSymbolError&&he.tracker.reportInaccessibleUniqueSymbolError()}return he.approximateLength+=13,D.createTypeOperatorNode(156,D.createKeywordTypeNode(153))}if(et.flags&16384)return he.approximateLength+=4,D.createKeywordTypeNode(114);if(et.flags&32768)return he.approximateLength+=9,D.createKeywordTypeNode(155);if(et.flags&65536)return he.approximateLength+=4,D.createLiteralTypeNode(D.createNull());if(et.flags&131072)return he.approximateLength+=5,D.createKeywordTypeNode(144);if(et.flags&4096)return he.approximateLength+=6,D.createKeywordTypeNode(153);if(et.flags&67108864)return he.approximateLength+=6,D.createKeywordTypeNode(149);if(lL(et))return he.flags&4194304&&(!he.encounteredError&&!(he.flags&32768)&&(he.encounteredError=!0),(Mn=(Bn=he.tracker).reportInaccessibleThisError)==null||Mn.call(Bn)),he.approximateLength+=4,D.createThisTypeNode();if(!or&&et.aliasSymbol&&(he.flags&16384||RE(et.aliasSymbol,he.enclosingDeclaration))){let Xt=O(et.aliasTypeArguments,he);return LE(et.aliasSymbol.escapedName)&&!(et.aliasSymbol.flags&32)?D.createTypeReferenceNode(D.createIdentifier(""),Xt):Fn(Xt)===1&&et.aliasSymbol===$o.symbol?D.createArrayTypeNode(Xt[0]):Rn(et.aliasSymbol,he,788968,Xt)}let _r=Ur(et);if(_r&4)return L.assert(!!(et.flags&524288)),et.node?Bt(et,hn):hn(et);if(et.flags&262144||_r&3){if(et.flags&262144&&ya(he.inferTypeParameters,et)){he.approximateLength+=fc(et.symbol).length+6;let er,Sr=eu(et);if(Sr){let Dr=jxe(et,!0);Dr&&ph(Sr,Dr)||(he.approximateLength+=9,er=Sr&&u(Sr,he))}return D.createInferTypeNode(xe(et,he,er))}if(he.flags&4&&et.flags&262144&&!RE(et.symbol,he.enclosingDeclaration)){let er=Hr(et,he);return he.approximateLength+=vr(er).length,D.createTypeReferenceNode(D.createIdentifier(vr(er)),void 0)}if(et.symbol)return Rn(et.symbol,he,788968);let Xt=(et===ss||et===qs)&&F&&F.symbol?(et===qs?"sub-":"super-")+fc(F.symbol):"?";return D.createTypeReferenceNode(D.createIdentifier(Xt),void 0)}if(et.flags&1048576&&et.origin&&(et=et.origin),et.flags&3145728){let Xt=et.flags&1048576?Ed(et.types):et.types;if(Fn(Xt)===1)return u(Xt[0],he);let er=O(Xt,he,!0);if(er&&er.length>0)return et.flags&1048576?D.createUnionTypeNode(er):D.createIntersectionTypeNode(er);!he.encounteredError&&!(he.flags&262144)&&(he.encounteredError=!0);return}if(_r&48)return L.assert(!!(et.flags&524288)),Ct(et);if(et.flags&4194304){let Xt=et.type;he.approximateLength+=6;let er=u(Xt,he);return D.createTypeOperatorNode(141,er)}if(et.flags&134217728){let Xt=et.texts,er=et.types,Sr=D.createTemplateHead(Xt[0]),Dr=D.createNodeArray(on(er,(Ii,Bo)=>D.createTemplateLiteralTypeSpan(u(Ii,he),(Bo<er.length-1?D.createTemplateMiddle:D.createTemplateTail)(Xt[Bo+1]))));return he.approximateLength+=2,D.createTemplateLiteralType(Sr,Dr)}if(et.flags&268435456){let Xt=u(et.type,he);return Rn(et.symbol,he,788968,[Xt])}if(et.flags&8388608){let Xt=u(et.objectType,he),er=u(et.indexType,he);return he.approximateLength+=2,D.createIndexedAccessTypeNode(Xt,er)}if(et.flags&16777216)return Bt(et,Xt=>ua(Xt));if(et.flags&33554432)return u(et.baseType,he);return L.fail("Should be unreachable.");function ua(Xt){let er=u(Xt.checkType,he);if(he.approximateLength+=15,he.flags&4&&Xt.root.isDistributive&&!(Xt.checkType.flags&262144)){let ys=rd(wo(262144,"T")),ds=Hr(ys,he),Bl=D.createTypeReferenceNode(ds);he.approximateLength+=37;let ze=O1(Xt.root.checkType,ys,Xt.mapper),dt=he.inferTypeParameters;he.inferTypeParameters=Xt.root.inferTypeParameters;let Ut=u(Oi(Xt.root.extendsType,ze),he);he.inferTypeParameters=dt;let wn=_i(Oi($r(Xt.root.node.trueType),ze)),Zn=_i(Oi($r(Xt.root.node.falseType),ze));return D.createConditionalTypeNode(er,D.createInferTypeNode(D.createTypeParameterDeclaration(void 0,D.cloneNode(Bl.typeName))),D.createConditionalTypeNode(D.createTypeReferenceNode(D.cloneNode(ds)),u(Xt.checkType,he),D.createConditionalTypeNode(Bl,Ut,wn,Zn),D.createKeywordTypeNode(144)),D.createKeywordTypeNode(144))}let Sr=he.inferTypeParameters;he.inferTypeParameters=Xt.root.inferTypeParameters;let Dr=u(Xt.extendsType,he);he.inferTypeParameters=Sr;let Ii=_i(Hv(Xt)),Bo=_i(Wv(Xt));return D.createConditionalTypeNode(er,Dr,Ii,Bo)}function _i(Xt){var er,Sr,Dr;return Xt.flags&1048576?(er=he.visitedTypes)!=null&&er.has(ru(Xt))?(he.flags&131072||(he.encounteredError=!0,(Dr=(Sr=he.tracker)==null?void 0:Sr.reportCyclicStructureError)==null||Dr.call(Sr)),h(he)):Bt(Xt,Ii=>u(Ii,he)):u(Xt,he)}function ur(Xt){return Yk(Xt)&&!(yC(Xt).flags&262144)}function st(Xt){L.assert(!!(Xt.flags&524288));let er=Xt.declaration.readonlyToken?D.createToken(Xt.declaration.readonlyToken.kind):void 0,Sr=Xt.declaration.questionToken?D.createToken(Xt.declaration.questionToken.kind):void 0,Dr,Ii;if(Yk(Xt)){if(ur(Xt)&&he.flags&4){let dt=rd(wo(262144,"T")),Ut=Hr(dt,he);Ii=D.createTypeReferenceNode(Ut)}Dr=D.createTypeOperatorNode(141,Ii||u(yC(Xt),he))}else Dr=u(rp(Xt),he);let Bo=xe(w_(Xt),he,Dr),ys=Xt.declaration.nameType?u(by(Xt),he):void 0,ds=u(KE(_h(Xt),!!(Pp(Xt)&4)),he),Bl=D.createMappedTypeNode(er,Bo,ys,Sr,ds,void 0);he.approximateLength+=10;let ze=Jn(Bl,1);if(ur(Xt)&&he.flags&4){let dt=Oi(eu($r(Xt.declaration.typeParameter.constraint.type))||ue,Xt.mapper);return D.createConditionalTypeNode(u(yC(Xt),he),D.createInferTypeNode(D.createTypeParameterDeclaration(void 0,D.cloneNode(Ii.typeName),dt.flags&2?void 0:u(dt,he))),ze,D.createKeywordTypeNode(144))}return ze}function Ct(Xt){var er,Sr;let Dr=Xt.id,Ii=Xt.symbol;if(Ii){let ys=Ti(Xt)?788968:111551;if(cp(Ii.valueDeclaration))return Rn(Ii,he,ys);if(Ii.flags&32&&!Da(Ii)&&!(Ii.valueDeclaration&&Yr(Ii.valueDeclaration)&&he.flags&2048&&(!sl(Ii.valueDeclaration)||dy(Ii,he.enclosingDeclaration,ys,!1).accessibility!==0))||Ii.flags&896||Bo())return Rn(Ii,he,ys);if((er=he.visitedTypes)!=null&&er.has(Dr)){let ds=fy(Xt);return ds?Rn(ds,he,788968):h(he)}else return Bt(Xt,Ft)}else{if(!!(Ur(Xt)&8388608)){let ds=Xt;if(vL(ds.node)){let Bl=no(he,ds.node);if(Bl)return Bl}return(Sr=he.visitedTypes)!=null&&Sr.has(Dr)?h(he):Bt(Xt,Ft)}return Ft(Xt)}function Bo(){var ys;let ds=!!(Ii.flags&8192)&&vt(Ii.declarations,ze=>Ca(ze)),Bl=!!(Ii.flags&16)&&(Ii.parent||mn(Ii.declarations,ze=>ze.parent.kind===308||ze.parent.kind===265));if(ds||Bl)return(!!(he.flags&4096)||((ys=he.visitedTypes)==null?void 0:ys.has(Dr)))&&(!(he.flags&8)||OE(Ii,he.enclosingDeclaration))}}function Bt(Xt,er){var Sr,Dr;let Ii=Xt.id,Bo=Ur(Xt)&16&&Xt.symbol&&Xt.symbol.flags&32,ys=Ur(Xt)&4&&Xt.node?"N"+zo(Xt.node):Xt.flags&16777216?"N"+zo(Xt.root.node):Xt.symbol?(Bo?"+":"")+$a(Xt.symbol):void 0;he.visitedTypes||(he.visitedTypes=new Set),ys&&!he.symbolDepth&&(he.symbolDepth=new Map);let ds=he.enclosingDeclaration&&Rr(he.enclosingDeclaration),Bl=`${ru(Xt)}|${he.flags}`;ds&&(ds.serializedTypes||(ds.serializedTypes=new Map));let ze=(Sr=ds?.serializedTypes)==null?void 0:Sr.get(Bl);if(ze)return ze.truncating&&(he.truncating=!0),he.approximateLength+=ze.addedLength,fn(ze.node);let dt;if(ys){if(dt=he.symbolDepth.get(ys)||0,dt>10)return h(he);he.symbolDepth.set(ys,dt+1)}he.visitedTypes.add(Ii);let Ut=he.approximateLength,wn=er(Xt),Zn=he.approximateLength-Ut;return!he.reportedDiagnostic&&!he.encounteredError&&((Dr=ds?.serializedTypes)==null||Dr.set(Bl,{node:wn,truncating:he.truncating,addedLength:Zn})),he.visitedTypes.delete(Ii),ys&&he.symbolDepth.set(ys,dt),wn;function fn(Ar){return!ws(Ar)&&ea(Ar)===Ar?Ar:it(D.cloneNode(xn(Ar,fn,Bh,sr)),Ar)}function sr(Ar,Ei,ia,Aa,Ra){return Ar&&Ar.length===0?it(D.createNodeArray(void 0,Ar.hasTrailingComma),Ar):On(Ar,Ei,ia,Aa,Ra)}}function Ft(Xt){if(df(Xt)||Xt.containsError)return st(Xt);let er=R_(Xt);if(!er.properties.length&&!er.indexInfos.length){if(!er.callSignatures.length&&!er.constructSignatures.length)return he.approximateLength+=2,Jn(D.createTypeLiteralNode(void 0),1);if(er.callSignatures.length===1&&!er.constructSignatures.length){let ys=er.callSignatures[0];return de(ys,181,he)}if(er.constructSignatures.length===1&&!er.callSignatures.length){let ys=er.constructSignatures[0];return de(ys,182,he)}}let Sr=Pr(er.constructSignatures,ys=>!!(ys.flags&4));if(vt(Sr)){let ys=on(Sr,HE);return er.callSignatures.length+(er.constructSignatures.length-Sr.length)+er.indexInfos.length+(he.flags&2048?Oy(er.properties,Bl=>!(Bl.flags&4194304)):Fn(er.properties))&&ys.push(kE(er)),u(so(ys),he)}let Dr=he.flags;he.flags|=4194304;let Ii=Di(er);he.flags=Dr;let Bo=D.createTypeLiteralNode(Ii);return he.approximateLength+=2,Jn(Bo,he.flags&1024?0:1),Bo}function hn(Xt){let er=Ko(Xt);if(Xt.target===$o||Xt.target===jo){if(he.flags&2){let Ii=u(er[0],he);return D.createTypeReferenceNode(Xt.target===$o?"Array":"ReadonlyArray",[Ii])}let Sr=u(er[0],he),Dr=D.createArrayTypeNode(Sr);return Xt.target===$o?Dr:D.createTypeOperatorNode(146,Dr)}else if(Xt.target.objectFlags&8){if(er=Tl(er,(Sr,Dr)=>KE(Sr,!!(Xt.target.elementFlags[Dr]&2))),er.length>0){let Sr=Vv(Xt),Dr=O(er.slice(0,Sr),he);if(Dr){if(Xt.target.labeledElementDeclarations)for(let Bo=0;Bo<Dr.length;Bo++){let ys=Xt.target.elementFlags[Bo];Dr[Bo]=D.createNamedTupleMember(ys&12?D.createToken(25):void 0,D.createIdentifier(Gi(nU(Xt.target.labeledElementDeclarations[Bo]))),ys&2?D.createToken(57):void 0,ys&4?D.createArrayTypeNode(Dr[Bo]):Dr[Bo])}else for(let Bo=0;Bo<Math.min(Sr,Dr.length);Bo++){let ys=Xt.target.elementFlags[Bo];Dr[Bo]=ys&12?D.createRestTypeNode(ys&4?D.createArrayTypeNode(Dr[Bo]):Dr[Bo]):ys&2?D.createOptionalTypeNode(Dr[Bo]):Dr[Bo]}let Ii=Jn(D.createTupleTypeNode(Dr),1);return Xt.target.readonly?D.createTypeOperatorNode(146,Ii):Ii}}if(he.encounteredError||he.flags&524288){let Sr=Jn(D.createTupleTypeNode([]),1);return Xt.target.readonly?D.createTypeOperatorNode(146,Sr):Sr}he.encounteredError=!0;return}else{if(he.flags&2048&&Xt.symbol.valueDeclaration&&Yr(Xt.symbol.valueDeclaration)&&!OE(Xt.symbol,he.enclosingDeclaration))return Ct(Xt);{let Sr=Xt.target.outerTypeParameters,Dr=0,Ii;if(Sr){let Bl=Sr.length;for(;Dr<Bl;){let ze=Dr,dt=Hxe(Sr[Dr]);do Dr++;while(Dr<Bl&&Hxe(Sr[Dr])===dt);if(!GU(Sr,er,ze,Dr)){let Ut=O(er.slice(ze,Dr),he),wn=he.flags;he.flags|=16;let Zn=Rn(dt,he,788968,Ut);he.flags=wn,Ii=Ii?Un(Ii,Zn):Zn}}}let Bo;if(er.length>0){let Bl=(Xt.target.typeParameters||Je).length;Bo=O(er.slice(Dr,Bl),he)}let ys=he.flags;he.flags|=16;let ds=Rn(Xt.symbol,he,788968,Bo);return he.flags=ys,Ii?Un(Ii,ds):ds}}}function Un(Xt,er){if(Mh(Xt)){let Sr=Xt.typeArguments,Dr=Xt.qualifier;Dr&&(Re(Dr)?Sr!==NT(Dr)&&(Dr=Ug(D.cloneNode(Dr),Sr)):Sr!==NT(Dr.right)&&(Dr=D.updateQualifiedName(Dr,Dr.left,Ug(D.cloneNode(Dr.right),Sr)))),Sr=er.typeArguments;let Ii=yi(er);for(let Bo of Ii)Dr=Dr?D.createQualifiedName(Dr,Bo):Bo;return D.updateImportTypeNode(Xt,Xt.argument,Xt.assertions,Dr,Sr,Xt.isTypeOf)}else{let Sr=Xt.typeArguments,Dr=Xt.typeName;Re(Dr)?Sr!==NT(Dr)&&(Dr=Ug(D.cloneNode(Dr),Sr)):Sr!==NT(Dr.right)&&(Dr=D.updateQualifiedName(Dr,Dr.left,Ug(D.cloneNode(Dr.right),Sr))),Sr=er.typeArguments;let Ii=yi(er);for(let Bo of Ii)Dr=D.createQualifiedName(Dr,Bo);return D.updateTypeReferenceNode(Xt,Dr,Sr)}}function yi(Xt){let er=Xt.typeName,Sr=[];for(;!Re(er);)Sr.unshift(er.right),er=er.left;return Sr.unshift(er),Sr}function Di(Xt){if(c(he))return[D.createPropertySignature(void 0,"...",void 0,void 0)];let er=[];for(let Ii of Xt.callSignatures)er.push(de(Ii,176,he));for(let Ii of Xt.constructSignatures)Ii.flags&4||er.push(de(Ii,177,he));for(let Ii of Xt.indexInfos)er.push(J(Ii,he,Xt.objectFlags&1024?h(he):void 0));let Sr=Xt.properties;if(!Sr)return er;let Dr=0;for(let Ii of Sr){if(Dr++,he.flags&2048){if(Ii.flags&4194304)continue;Ef(Ii)&24&&he.tracker.reportPrivateInBaseOfClassExpression&&he.tracker.reportPrivateInBaseOfClassExpression(Gi(Ii.escapedName))}if(c(he)&&Dr+2<Sr.length-1){er.push(D.createPropertySignature(void 0,`... ${Sr.length-Dr} more ...`,void 0,void 0)),k(Sr[Sr.length-1],he,er);break}k(Ii,he,er)}return er.length?er:void 0}}function h(et){return et.approximateLength+=3,et.flags&1?D.createKeywordTypeNode(131):D.createTypeReferenceNode(D.createIdentifier("..."),void 0)}function T(et,he){var Bn;return!!(ac(et)&8192)&&(ya(he.reverseMappedStack,et)||((Bn=he.reverseMappedStack)==null?void 0:Bn[0])&&!(Ur(To(he.reverseMappedStack).links.propertyType)&16))}function k(et,he,Bn){var Mn;let or=!!(ac(et)&8192),_r=T(et,he)?Se:Gv(et),ua=he.enclosingDeclaration;if(he.enclosingDeclaration=void 0,he.tracker.canTrackSymbol&&qk(et.escapedName))if(et.declarations){let Ct=Vo(et.declarations);if($P(Ct))if(ar(Ct)){let Bt=sa(Ct);Bt&&Vs(Bt)&&LR(Bt.argumentExpression)&&Tn(Bt.argumentExpression,ua,he)}else Tn(Ct.name.expression,ua,he)}else he.tracker.reportNonSerializableProperty(E(et));he.enclosingDeclaration=et.valueDeclaration||((Mn=et.declarations)==null?void 0:Mn[0])||ua;let _i=Hd(et,he);he.enclosingDeclaration=ua,he.approximateLength+=fc(et).length+1;let ur=et.flags&16777216?D.createToken(57):void 0;if(et.flags&8208&&!Ey(_r).length&&!M_(et)){let Ct=xa(jc(_r,Bt=>!(Bt.flags&32768)),0);for(let Bt of Ct){let Ft=de(Bt,170,he,{name:_i,questionToken:ur});Bn.push(st(Ft))}}else{let Ct;T(et,he)?Ct=h(he):(or&&(he.reverseMappedStack||(he.reverseMappedStack=[]),he.reverseMappedStack.push(et)),Ct=_r?Bi(he,_r,et,ua):D.createKeywordTypeNode(131),or&&he.reverseMappedStack.pop());let Bt=M_(et)?[D.createToken(146)]:void 0;Bt&&(he.approximateLength+=9);let Ft=D.createPropertySignature(Bt,_i,ur,Ct);Bn.push(st(Ft))}function st(Ct){var Bt;if(vt(et.declarations,Ft=>Ft.kind===351)){let Ft=(Bt=et.declarations)==null?void 0:Bt.find(Un=>Un.kind===351),hn=Cw(Ft.comment);hn&&W0(Ct,[{kind:3,text:`*
+ * `+hn.replace(/\n/g,`
+ * `)+`
+ `,pos:-1,end:-1,hasTrailingNewLine:!0}])}else et.valueDeclaration&&hl(Ct,et.valueDeclaration);return Ct}}function O(et,he,Bn){if(vt(et)){if(c(he))if(Bn){if(et.length>2)return[u(et[0],he),D.createTypeReferenceNode(`... ${et.length-2} more ...`,void 0),u(et[et.length-1],he)]}else return[D.createTypeReferenceNode("...",void 0)];let or=!(he.flags&64)?vae():void 0,_r=[],ua=0;for(let _i of et){if(ua++,c(he)&&ua+2<et.length-1){_r.push(D.createTypeReferenceNode(`... ${et.length-ua} more ...`,void 0));let st=u(et[et.length-1],he);st&&_r.push(st);break}he.approximateLength+=2;let ur=u(_i,he);ur&&(_r.push(ur),or&&Mle(ur)&&or.add(ur.typeName.escapedText,[_i,_r.length-1]))}if(or){let _i=he.flags;he.flags|=64,or.forEach(ur=>{if(!Fle(ur,([st],[Ct])=>H(st,Ct)))for(let[st,Ct]of ur)_r[Ct]=u(st,he)}),he.flags=_i}return _r}}function H(et,he){return et===he||!!et.symbol&&et.symbol===he.symbol||!!et.aliasSymbol&&et.aliasSymbol===he.aliasSymbol}function J(et,he,Bn){let Mn=Kse(et)||"x",or=u(et.keyType,he),_r=D.createParameterDeclaration(void 0,void 0,Mn,void 0,or,void 0);return Bn||(Bn=u(et.type||Se,he)),!et.type&&!(he.flags&2097152)&&(he.encounteredError=!0),he.approximateLength+=Mn.length+4,D.createIndexSignature(et.isReadonly?[D.createToken(146)]:void 0,[_r],Bn)}function de(et,he,Bn,Mn){var or,_r,ua,_i,ur;let st=Bn.flags&256;st&&(Bn.flags&=-257),Bn.approximateLength+=3;let Ct,Bt;Bn.flags&32&&et.target&&et.mapper&&et.target.typeParameters?Bt=et.target.typeParameters.map(Ii=>u(Oi(Ii,et.mapper),Bn)):Ct=et.typeParameters&&et.typeParameters.map(Ii=>tt(Ii,Bn));let Ft=Txe(et,!0)[0],hn;if(Bn.enclosingDeclaration&&et.declaration&&et.declaration!==Bn.enclosingDeclaration&&!Yn(et.declaration)&&vt(Ft)){let Ii=Rr(Bn.enclosingDeclaration).fakeScopeForSignatureDeclaration?Bn.enclosingDeclaration:void 0;L.assertOptionalNode(Ii,Va);let Bo=(or=Ii?.locals)!=null?or:Ua(),ys;for(let ds of Ft)Bo.has(ds.escapedName)||(ys=Sn(ys,ds.escapedName),Bo.set(ds.escapedName,ds));if(ys){let ds=function(){mn(ys,Bl=>Bo.delete(Bl))};var Un=ds;if(Ii)hn=ds;else{let Bl=fm.createBlock(Je);Rr(Bl).fakeScopeForSignatureDeclaration=!0,Bl.locals=Bo;let ze=Bn.enclosingDeclaration;go(Bl,ze),Bn.enclosingDeclaration=Bl,hn=()=>{Bn.enclosingDeclaration=ze,ds()}}}}let yi=(vt(Ft,Ii=>Ii!==Ft[Ft.length-1]&&!!(ac(Ii)&32768))?et.parameters:Ft).map(Ii=>It(Ii,Bn,he===173,Mn?.privateSymbolVisitor,Mn?.bundledImports)),Di=Bn.flags&33554432?void 0:Ae(et,Bn);Di&&yi.unshift(Di);let Xt,er=Lf(et);if(er){let Ii=er.kind===2||er.kind===3?D.createToken(129):void 0,Bo=er.kind===1||er.kind===3?Jn(D.createIdentifier(er.parameterName),33554432):D.createThisTypeNode(),ys=er.type&&u(er.type,Bn);Xt=D.createTypePredicateNode(Ii,Bo,ys)}else{let Ii=qo(et);Ii&&!(st&&Zo(Ii))?Xt=us(Bn,Ii,et,Mn?.privateSymbolVisitor,Mn?.bundledImports):st||(Xt=D.createKeywordTypeNode(131))}let Sr=Mn?.modifiers;if(he===182&&et.flags&4){let Ii=im(Sr);Sr=D.createModifiersFromModifierFlags(Ii|256)}let Dr=he===176?D.createCallSignature(Ct,yi,Xt):he===177?D.createConstructSignature(Ct,yi,Xt):he===170?D.createMethodSignature(Sr,(_r=Mn?.name)!=null?_r:D.createIdentifier(""),Mn?.questionToken,Ct,yi,Xt):he===171?D.createMethodDeclaration(Sr,void 0,(ua=Mn?.name)!=null?ua:D.createIdentifier(""),void 0,Ct,yi,Xt,void 0):he===173?D.createConstructorDeclaration(Sr,yi,void 0):he===174?D.createGetAccessorDeclaration(Sr,(_i=Mn?.name)!=null?_i:D.createIdentifier(""),yi,Xt,void 0):he===175?D.createSetAccessorDeclaration(Sr,(ur=Mn?.name)!=null?ur:D.createIdentifier(""),yi,void 0):he===178?D.createIndexSignature(Sr,yi,Xt):he===320?D.createJSDocFunctionType(yi,Xt):he===181?D.createFunctionTypeNode(Ct,yi,Xt??D.createTypeReferenceNode(D.createIdentifier(""))):he===182?D.createConstructorTypeNode(Sr,Ct,yi,Xt??D.createTypeReferenceNode(D.createIdentifier(""))):he===259?D.createFunctionDeclaration(Sr,void 0,Mn?.name?Ga(Mn.name,Re):D.createIdentifier(""),Ct,yi,Xt,void 0):he===215?D.createFunctionExpression(Sr,void 0,Mn?.name?Ga(Mn.name,Re):D.createIdentifier(""),Ct,yi,Xt,D.createBlock([])):he===216?D.createArrowFunction(Sr,Ct,yi,Xt,void 0,D.createBlock([])):L.assertNever(he);return Bt&&(Dr.typeArguments=D.createNodeArray(Bt)),hn?.(),Dr}function Ae(et,he){if(et.thisParameter)return It(et.thisParameter,he);if(et.declaration&&Yn(et.declaration)){let Bn=e6(et.declaration);if(Bn&&Bn.typeExpression)return D.createParameterDeclaration(void 0,void 0,"this",void 0,u($r(Bn.typeExpression),he))}}function xe(et,he,Bn){let Mn=he.flags;he.flags&=-513;let or=D.createModifiersFromModifierFlags(Jne(et)),_r=Hr(et,he),ua=jE(et),_i=ua&&u(ua,he);return he.flags=Mn,D.createTypeParameterDeclaration(or,_r,Bn,_i)}function tt(et,he,Bn=eu(et)){let Mn=Bn&&u(Bn,he);return xe(et,he,Mn)}function It(et,he,Bn,Mn,or){let _r=nc(et,166);!_r&&!Zp(et)&&(_r=nc(et,344));let ua=zn(et);_r&&eke(_r)&&(ua=gg(ua));let _i=Bi(he,ua,et,he.enclosingDeclaration,Mn,or),ur=!(he.flags&8192)&&Bn&&_r&&g_(_r)?on(uT(_r),D.cloneNode):void 0,Ct=_r&&Fm(_r)||ac(et)&32768?D.createToken(25):void 0,Bt=_r&&_r.name?_r.name.kind===79?Jn(D.cloneNode(_r.name),33554432):_r.name.kind===163?Jn(D.cloneNode(_r.name.right),33554432):yi(_r.name):fc(et),hn=_r&&Qk(_r)||ac(et)&16384?D.createToken(57):void 0,Un=D.createParameterDeclaration(ur,Ct,Bt,hn,_i,void 0);return he.approximateLength+=fc(et).length+3,Un;function yi(Di){return Xt(Di);function Xt(er){he.tracker.canTrackSymbol&&ts(er)&&Pte(er)&&Tn(er.expression,he.enclosingDeclaration,he);let Sr=xn(er,Xt,Bh,void 0,Xt);return Wo(Sr)&&(Sr=D.updateBindingElement(Sr,Sr.dotDotDotToken,Sr.propertyName,Sr.name,void 0)),ws(Sr)||(Sr=D.cloneNode(Sr)),Jn(Sr,33554433)}}}function Tn(et,he,Bn){if(!Bn.tracker.canTrackSymbol)return;let Mn=Yd(et),or=zs(Mn,Mn.escapedText,1160127,void 0,void 0,!0);or&&Bn.tracker.trackSymbol(or,he,111551)}function un(et,he,Bn,Mn){return he.tracker.trackSymbol(et,he.enclosingDeclaration,Bn),Nn(et,he,Bn,Mn)}function Nn(et,he,Bn,Mn){let or;return!(et.flags&262144)&&(he.enclosingDeclaration||he.flags&64)&&!(he.flags&134217728)?(or=L.checkDefined(ua(et,Bn,!0)),L.assert(or&&or.length>0)):or=[et],or;function ua(_i,ur,st){let Ct=Rv(_i,he.enclosingDeclaration,ur,!!(he.flags&128)),Bt;if(!Ct||k1(Ct[0],he.enclosingDeclaration,Ct.length===1?ur:og(ur))){let hn=IE(Ct?Ct[0]:_i,he.enclosingDeclaration,ur);if(Fn(hn)){Bt=hn.map(Di=>vt(Di.declarations,sg)?Jt(Di,he):void 0);let Un=hn.map((Di,Xt)=>Xt);Un.sort(Ft);let yi=Un.map(Di=>hn[Di]);for(let Di of yi){let Xt=ua(Di,og(ur),!1);if(Xt){if(Di.exports&&Di.exports.get("export=")&&wp(Di.exports.get("export="),_i)){Ct=Xt;break}Ct=Xt.concat(Ct||[ly(Di,_i)||_i]);break}}}}if(Ct)return Ct;if(st||!(_i.flags&6144))return!st&&!Mn&&mn(_i.declarations,sg)?void 0:[_i];function Ft(hn,Un){let yi=Bt[hn],Di=Bt[Un];if(yi&&Di){let Xt=Jd(Di);return Jd(yi)===Xt?tN(yi)-tN(Di):Xt?-1:1}return 0}}}function en(et,he){let Bn;return oA(et).flags&524384&&(Bn=D.createNodeArray(on(yy(et),or=>tt(or,he)))),Bn}function cn(et,he,Bn){var Mn;L.assert(et&&0<=he&&he<et.length);let or=et[he],_r=$a(or);if((Mn=Bn.typeParameterSymbolList)!=null&&Mn.has(_r))return;(Bn.typeParameterSymbolList||(Bn.typeParameterSymbolList=new Set)).add(_r);let ua;if(Bn.flags&512&&he<et.length-1){let _i=or,ur=et[he+1];if(ac(ur)&1){let st=D1(_i.flags&2097152?wc(_i):_i);ua=O(on(st,Ct=>zv(Ct,ur.links.mapper)),Bn)}else ua=en(or,Bn)}return ua}function rr(et){return OS(et.objectType)?rr(et.objectType):et}function Jt(et,he,Bn){var Mn;let or=nc(et,308);if(!or){let Ct=ks(et.declarations,Bt=>wx(Bt,et));Ct&&(or=nc(Ct,308))}if(or&&or.moduleName!==void 0)return or.moduleName;if(!or){if(he.tracker.trackReferencedAmbientModule){let Ct=Pr(et.declarations,lu);if(Fn(Ct))for(let Bt of Ct)he.tracker.trackReferencedAmbientModule(Bt,et)}if(uF.test(et.escapedName))return et.escapedName.substring(1,et.escapedName.length-1)}if(!he.enclosingDeclaration||!he.tracker.moduleResolverHost)return uF.test(et.escapedName)?et.escapedName.substring(1,et.escapedName.length-1):Gn(dH(et)).fileName;let _r=Gn(ec(he.enclosingDeclaration)),ua=Bn||_r?.impliedNodeFormat,_i=ML(_r.path,ua),ur=Ai(et),st=ur.specifierCache&&ur.specifierCache.get(_i);if(!st){let Ct=!!Ss(Y),{moduleResolverHost:Bt}=he.tracker,Ft=Ct?{...Y,baseUrl:Bt.getCommonSourceDirectory()}:Y;st=Vo(m_e(et,qe,Ft,_r,Bt,{importModuleSpecifierPreference:Ct?"non-relative":"project-relative",importModuleSpecifierEnding:Ct?"minimal":ua===99?"js":void 0},{overrideImportMode:Bn})),(Mn=ur.specifierCache)!=null||(ur.specifierCache=new Map),ur.specifierCache.set(_i,st)}return st}function Cn(et){let he=D.createIdentifier(Gi(et.escapedName));return et.parent?D.createQualifiedName(Cn(et.parent),he):he}function Rn(et,he,Bn,Mn){var or,_r,ua,_i;let ur=un(et,he,Bn,!(he.flags&16384)),st=Bn===111551;if(vt(ur[0].declarations,sg)){let Ft=ur.length>1?Bt(ur,ur.length-1,1):void 0,hn=Mn||cn(ur,0,he),Un=Gn(ec(he.enclosingDeclaration)),yi=m6(ur[0]),Di,Xt;if(($s(Y)===3||$s(Y)===99)&&yi?.impliedNodeFormat===99&&yi.impliedNodeFormat!==Un?.impliedNodeFormat&&(Di=Jt(ur[0],he,99),Xt=D.createImportTypeAssertionContainer(D.createAssertClause(D.createNodeArray([D.createAssertEntry(D.createStringLiteral("resolution-mode"),D.createStringLiteral("import"))]))),(_r=(or=he.tracker).reportImportTypeNodeResolutionModeOverride)==null||_r.call(or)),Di||(Di=Jt(ur[0],he)),!(he.flags&67108864)&&$s(Y)!==1&&Di.indexOf("/node_modules/")>=0){let Sr=Di;if($s(Y)===3||$s(Y)===99){let Dr=Un?.impliedNodeFormat===99?1:99;Di=Jt(ur[0],he,Dr),Di.indexOf("/node_modules/")>=0?Di=Sr:(Xt=D.createImportTypeAssertionContainer(D.createAssertClause(D.createNodeArray([D.createAssertEntry(D.createStringLiteral("resolution-mode"),D.createStringLiteral(Dr===99?"import":"require"))]))),(_i=(ua=he.tracker).reportImportTypeNodeResolutionModeOverride)==null||_i.call(ua))}Xt||(he.encounteredError=!0,he.tracker.reportLikelyUnsafeImportRequiredError&&he.tracker.reportLikelyUnsafeImportRequiredError(Sr))}let er=D.createLiteralTypeNode(D.createStringLiteral(Di));if(he.tracker.trackExternalModuleSymbolOfImportTypeNode&&he.tracker.trackExternalModuleSymbolOfImportTypeNode(ur[0]),he.approximateLength+=Di.length+10,!Ft||Cd(Ft)){if(Ft){let Sr=Re(Ft)?Ft:Ft.right;Ug(Sr,void 0)}return D.createImportTypeNode(er,Xt,Ft,hn,st)}else{let Sr=rr(Ft),Dr=Sr.objectType.typeName;return D.createIndexedAccessTypeNode(D.createImportTypeNode(er,Xt,Dr,hn,st),Sr.indexType)}}let Ct=Bt(ur,ur.length-1,0);if(OS(Ct))return Ct;if(st)return D.createTypeQueryNode(Ct);{let Ft=Re(Ct)?Ct:Ct.right,hn=NT(Ft);return Ug(Ft,void 0),D.createTypeReferenceNode(Ct,hn)}function Bt(Ft,hn,Un){let yi=hn===Ft.length-1?Mn:cn(Ft,hn,he),Di=Ft[hn],Xt=Ft[hn-1],er;if(hn===0)he.flags|=16777216,er=_y(Di,he),he.approximateLength+=(er?er.length:0)+1,he.flags^=16777216;else if(Xt&&Gd(Xt)){let Dr=Gd(Xt);Ld(Dr,(Ii,Bo)=>{if(wp(Ii,Di)&&!qk(Bo)&&Bo!=="export=")return er=Gi(Bo),!0})}if(er===void 0){let Dr=ks(Di.declarations,sa);if(Dr&&ts(Dr)&&Cd(Dr.expression)){let Ii=Bt(Ft,hn-1,Un);return Cd(Ii)?D.createIndexedAccessTypeNode(D.createParenthesizedType(D.createTypeQueryNode(Ii)),D.createTypeQueryNode(Dr.expression)):Ii}er=_y(Di,he)}if(he.approximateLength+=er.length+1,!(he.flags&16)&&Xt&&vy(Xt)&&vy(Xt).get(Di.escapedName)&&wp(vy(Xt).get(Di.escapedName),Di)){let Dr=Bt(Ft,hn-1,Un);return OS(Dr)?D.createIndexedAccessTypeNode(Dr,D.createLiteralTypeNode(D.createStringLiteral(er))):D.createIndexedAccessTypeNode(D.createTypeReferenceNode(Dr,yi),D.createLiteralTypeNode(D.createStringLiteral(er)))}let Sr=Jn(D.createIdentifier(er),33554432);if(yi&&Ug(Sr,D.createNodeArray(yi)),Sr.symbol=Di,hn>Un){let Dr=Bt(Ft,hn-1,Un);return Cd(Dr)?D.createQualifiedName(Dr,Sr):L.fail("Impossible construct - an export of an indexed access cannot be reachable")}return Sr}}function Br(et,he,Bn){let Mn=zs(he.enclosingDeclaration,et,788968,void 0,et,!1);return Mn?!(Mn.flags&262144&&Mn===Bn.symbol):!1}function Hr(et,he){var Bn,Mn;if(he.flags&4&&he.typeParameterNames){let _r=he.typeParameterNames.get(ru(et));if(_r)return _r}let or=qi(et.symbol,he,788968,!0);if(!(or.kind&79))return D.createIdentifier("(Missing type parameter)");if(he.flags&4){let _r=or.escapedText,ua=((Bn=he.typeParameterNamesByTextNextNameCount)==null?void 0:Bn.get(_r))||0,_i=_r;for(;(Mn=he.typeParameterNamesByText)!=null&&Mn.has(_i)||Br(_i,he,et);)ua++,_i=`${_r}_${ua}`;if(_i!==_r){let ur=NT(or);or=D.createIdentifier(_i),Ug(or,ur)}(he.typeParameterNamesByTextNextNameCount||(he.typeParameterNamesByTextNextNameCount=new Map)).set(_r,ua),(he.typeParameterNames||(he.typeParameterNames=new Map)).set(ru(et),or),(he.typeParameterNamesByText||(he.typeParameterNamesByText=new Set)).add(_r)}return or}function qi(et,he,Bn,Mn){let or=un(et,he,Bn);return Mn&&or.length!==1&&!he.encounteredError&&!(he.flags&65536)&&(he.encounteredError=!0),_r(or,or.length-1);function _r(ua,_i){let ur=cn(ua,_i,he),st=ua[_i];_i===0&&(he.flags|=16777216);let Ct=_y(st,he);_i===0&&(he.flags^=16777216);let Bt=Jn(D.createIdentifier(Ct),33554432);return ur&&Ug(Bt,D.createNodeArray(ur)),Bt.symbol=st,_i>0?D.createQualifiedName(_r(ua,_i-1),Bt):Bt}}function wa(et,he,Bn){let Mn=un(et,he,Bn);return or(Mn,Mn.length-1);function or(_r,ua){let _i=cn(_r,ua,he),ur=_r[ua];ua===0&&(he.flags|=16777216);let st=_y(ur,he);ua===0&&(he.flags^=16777216);let Ct=st.charCodeAt(0);if(Xw(Ct)&&vt(ur.declarations,sg))return D.createStringLiteral(Jt(ur,he));if(ua===0||HW(st,R)){let Bt=Jn(D.createIdentifier(st),33554432);return _i&&Ug(Bt,D.createNodeArray(_i)),Bt.symbol=ur,ua>0?D.createPropertyAccessExpression(or(_r,ua-1),Bt):Bt}else{Ct===91&&(st=st.substring(1,st.length-1),Ct=st.charCodeAt(0));let Bt;if(Xw(Ct)&&!(ur.flags&8)?Bt=D.createStringLiteral(u_(st).replace(/\\./g,Ft=>Ft.substring(1)),Ct===39):""+ +st===st&&(Bt=D.createNumericLiteral(+st)),!Bt){let Ft=Jn(D.createIdentifier(st),33554432);_i&&Ug(Ft,D.createNodeArray(_i)),Ft.symbol=ur,Bt=Ft}return D.createElementAccessExpression(or(_r,ua-1),Bt)}}}function Xc(et){let he=sa(et);return!!he&&yo(he)}function pf(et){let he=sa(et);return!!(he&&yo(he)&&(he.singleQuote||!ws(he)&&na(Qc(he,!1),"'")))}function Hd(et,he){let Bn=!!Fn(et.declarations)&&Ji(et.declarations,Xc),Mn=!!Fn(et.declarations)&&Ji(et.declarations,pf),or=ji(et,he,Mn,Bn);if(or)return or;let _r=Gi(et.escapedName);return E4(_r,Do(Y),Mn,Bn)}function ji(et,he,Bn,Mn){let or=Ai(et).nameType;if(or){if(or.flags&384){let _r=""+or.value;return!i_(_r,Do(Y))&&(Mn||!Wm(_r))?D.createStringLiteral(_r,!!Bn):Wm(_r)&&na(_r,"-")?D.createComputedPropertyName(D.createNumericLiteral(+_r)):E4(_r,Do(Y))}if(or.flags&8192)return D.createComputedPropertyName(wa(or.symbol,he,111551))}}function In(et){let he={...et};return he.typeParameterNames&&(he.typeParameterNames=new Map(he.typeParameterNames)),he.typeParameterNamesByText&&(he.typeParameterNamesByText=new Set(he.typeParameterNamesByText)),he.typeParameterSymbolList&&(he.typeParameterSymbolList=new Set(he.typeParameterSymbolList)),he.tracker=new iN(he,he.tracker.inner,he.tracker.moduleResolverHost),he}function qn(et,he){return et.declarations&&wr(et.declarations,Bn=>!!Cl(Bn)&&(!he||!!jn(Bn,Mn=>Mn===he)))}function Mi(et,he){return!(Ur(he)&4)||!m_(et)||Fn(et.typeArguments)>=Mp(he.target.typeParameters)}function ga(et){return Rr(et).fakeScopeForSignatureDeclaration?et.parent:et}function Bi(et,he,Bn,Mn,or,_r){if(!Ro(he)&&Mn){let ur=qn(Bn,ga(Mn));if(ur&&!Ds(ur)&&!p_(ur)){let st=Cl(ur);if(ko(st,ur,he)&&Mi(st,he)){let Ct=no(et,st,or,_r);if(Ct)return Ct}}}let ua=et.flags;he.flags&8192&&he.symbol===Bn&&(!et.enclosingDeclaration||vt(Bn.declarations,ur=>Gn(ur)===Gn(et.enclosingDeclaration)))&&(et.flags|=1048576);let _i=u(he,et);return et.flags=ua,_i}function ko(et,he,Bn){let Mn=$r(et);return Mn===Bn?!0:ha(he)&&he.questionToken?wf(Bn,524288)===Mn:!1}function us(et,he,Bn,Mn,or){if(!Ro(he)&&et.enclosingDeclaration){let _r=Bn.declaration&&U_(Bn.declaration),ua=ga(et.enclosingDeclaration);if(jn(_r,_i=>_i===ua)&&_r){let _i=$r(_r);if((_i.flags&262144&&_i.isThisType?Oi(_i,Bn.mapper):_i)===he&&Mi(_r,he)){let st=no(et,_r,Mn,or);if(st)return st}}}return u(he,et)}function Xs(et,he,Bn){let Mn=!1,or=Yd(et);if(Yn(et)&&(TT(or)||Bm(or.parent)||Yu(or.parent)&&RH(or.parent.left)&&TT(or.parent.right)))return Mn=!0,{introducesError:Mn,node:et};let _r=uc(or,67108863,!0,!0);if(_r&&(dy(_r,he.enclosingDeclaration,67108863,!1).accessibility!==0?Mn=!0:(he.tracker.trackSymbol(_r,he.enclosingDeclaration,67108863),Bn?.(_r)),Re(et))){let ua=gs(_r),_i=_r.flags&262144&&!RE(ua.symbol,he.enclosingDeclaration)?Hr(ua,he):D.cloneNode(et);return _i.symbol=_r,{introducesError:Mn,node:Jn(Ir(_i,et),33554432)}}return{introducesError:Mn,node:et}}function no(et,he,Bn,Mn){o&&o.throwIfCancellationRequested&&o.throwIfCancellationRequested();let or=!1,_r=Gn(he),ua=$e(he,_i,bi);if(or)return;return ua===he?it(D.cloneNode(he),he):ua;function _i(ur){if(Kue(ur)||ur.kind===322)return D.createKeywordTypeNode(131);if(que(ur))return D.createKeywordTypeNode(157);if(T2(ur))return D.createUnionTypeNode([$e(ur.type,_i,bi),D.createLiteralTypeNode(D.createNull())]);if(Uz(ur))return D.createUnionTypeNode([$e(ur.type,_i,bi),D.createKeywordTypeNode(155)]);if(m3(ur))return $e(ur.type,_i);if(h3(ur))return D.createArrayTypeNode($e(ur.type,_i,bi));if(LL(ur))return D.createTypeLiteralNode(on(ur.jsDocPropertyTags,Ft=>{let hn=Re(Ft.name)?Ft.name:Ft.name.right,Un=Vc($r(ur),hn.escapedText),yi=Un&&Ft.typeExpression&&$r(Ft.typeExpression.type)!==Un?u(Un,et):void 0;return D.createPropertySignature(void 0,hn,Ft.isBracketed||Ft.typeExpression&&Uz(Ft.typeExpression.type)?D.createToken(57):void 0,yi||Ft.typeExpression&&$e(Ft.typeExpression.type,_i,bi)||D.createKeywordTypeNode(131))}));if(m_(ur)&&Re(ur.typeName)&&ur.typeName.escapedText==="")return Ir(D.createKeywordTypeNode(131),ur);if((Vg(ur)||m_(ur))&&U6(ur))return D.createTypeLiteralNode([D.createIndexSignature(void 0,[D.createParameterDeclaration(void 0,void 0,"x",void 0,$e(ur.typeArguments[0],_i,bi))],$e(ur.typeArguments[1],_i,bi))]);if(S2(ur))if(jA(ur)){let Ft;return D.createConstructorTypeNode(void 0,On(ur.typeParameters,_i,_c),Zi(ur.parameters,(hn,Un)=>hn.name&&Re(hn.name)&&hn.name.escapedText==="new"?(Ft=hn.type,void 0):D.createParameterDeclaration(void 0,st(hn),Ct(hn,Un),hn.questionToken,$e(hn.type,_i,bi),void 0)),$e(Ft||ur.type,_i,bi)||D.createKeywordTypeNode(131))}else return D.createFunctionTypeNode(On(ur.typeParameters,_i,_c),on(ur.parameters,(Ft,hn)=>D.createParameterDeclaration(void 0,st(Ft),Ct(Ft,hn),Ft.questionToken,$e(Ft.type,_i,bi),void 0)),$e(ur.type,_i,bi)||D.createKeywordTypeNode(131));if(m_(ur)&&qw(ur)&&(!Mi(ur,$r(ur))||Yxe(ur)||Ht===Kx(ur,788968,!0)))return Ir(u($r(ur),et),ur);if(ib(ur)){let Ft=Rr(ur).resolvedSymbol;return qw(ur)&&Ft&&(!ur.isTypeOf&&!(Ft.flags&788968)||!(Fn(ur.typeArguments)>=Mp(yy(Ft))))?Ir(u($r(ur),et),ur):D.updateImportTypeNode(ur,D.updateLiteralTypeNode(ur.argument,Bt(ur,ur.argument.literal)),ur.assertions,ur.qualifier,On(ur.typeArguments,_i,bi),ur.isTypeOf)}if(Cd(ur)||bc(ur)){let{introducesError:Ft,node:hn}=Xs(ur,et,Bn);if(or=or||Ft,hn!==ur)return hn}return _r&&p2(ur)&&Gs(_r,ur.pos).line===Gs(_r,ur.end).line&&Jn(ur,1),xn(ur,_i,Bh);function st(Ft){return Ft.dotDotDotToken||(Ft.type&&h3(Ft.type)?D.createToken(25):void 0)}function Ct(Ft,hn){return Ft.name&&Re(Ft.name)&&Ft.name.escapedText==="this"?"this":st(Ft)?"args":`arg${hn}`}function Bt(Ft,hn){if(Mn){if(et.tracker&&et.tracker.moduleResolverHost){let Un=qie(Ft);if(Un){let Di={getCanonicalFileName:Dl(!!e.useCaseSensitiveFileNames),getCurrentDirectory:()=>et.tracker.moduleResolverHost.getCurrentDirectory(),getCommonSourceDirectory:()=>et.tracker.moduleResolverHost.getCommonSourceDirectory()},Xt=Z6(Di,Un);return D.createStringLiteral(Xt)}}}else if(et.tracker&&et.tracker.trackExternalModuleSymbolOfImportTypeNode){let Un=ah(hn,hn,void 0);Un&&et.tracker.trackExternalModuleSymbolOfImportTypeNode(Un)}return hn}}}function Tu(et,he,Bn){let Mn=F_(D.createPropertyDeclaration,171,!0),or=F_((bt,cr,oi,Jr)=>D.createPropertySignature(bt,cr,oi,Jr),170,!1),_r=he.enclosingDeclaration,ua=[],_i=new Set,ur=[],st=he;he={...st,usedSymbolNames:new Set(st.usedSymbolNames),remappedSymbolNames:new Map,tracker:void 0};let Ct={...st.tracker.inner,trackSymbol:(bt,cr,oi)=>{var Jr;if(dy(bt,cr,oi,!1).accessibility===0){let Po=Nn(bt,he,oi);bt.flags&4||ds(Po[0])}else if((Jr=st.tracker.inner)!=null&&Jr.trackSymbol)return st.tracker.inner.trackSymbol(bt,cr,oi);return!1}};he.tracker=new iN(he,Ct,st.tracker.moduleResolverHost),Ld(et,(bt,cr)=>{let oi=Gi(cr);sd(bt,oi)});let Bt=!Bn,Ft=et.get("export=");return Ft&&et.size>1&&Ft.flags&2097152&&(et=Ua(),et.set("export=",Ft)),Ii(et),er(ua);function hn(bt){return!!bt&&bt.kind===79}function Un(bt){return Bc(bt)?Pr(on(bt.declarationList.declarations,sa),hn):Pr([sa(bt)],hn)}function yi(bt){let cr=wr(bt,pc),oi=Yc(bt,Tc),Jr=oi!==-1?bt[oi]:void 0;if(Jr&&cr&&cr.isExportEquals&&Re(cr.expression)&&Re(Jr.name)&&vr(Jr.name)===vr(cr.expression)&&Jr.body&&Tp(Jr.body)){let Xr=Pr(bt,Ui=>!!(uu(Ui)&1)),Po=Jr.name,va=Jr.body;if(Fn(Xr)&&(Jr=D.updateModuleDeclaration(Jr,Jr.modifiers,Jr.name,va=D.updateModuleBlock(va,D.createNodeArray([...Jr.body.statements,D.createExportDeclaration(void 0,!1,D.createNamedExports(on(Uo(Xr,Ui=>Un(Ui)),Ui=>D.createExportSpecifier(!1,void 0,Ui))),void 0)]))),bt=[...bt.slice(0,oi),Jr,...bt.slice(oi+1)]),!wr(bt,Ui=>Ui!==Jr&&xw(Ui,Po))){ua=[];let Ui=!vt(va.statements,Eo=>Mr(Eo,1)||pc(Eo)||Il(Eo));mn(va.statements,Eo=>{ze(Eo,Ui?1:0)}),bt=[...Pr(bt,Eo=>Eo!==Jr&&Eo!==cr),...ua]}}return bt}function Di(bt){let cr=Pr(bt,Jr=>Il(Jr)&&!Jr.moduleSpecifier&&!!Jr.exportClause&&h_(Jr.exportClause));Fn(cr)>1&&(bt=[...Pr(bt,Xr=>!Il(Xr)||!!Xr.moduleSpecifier||!Xr.exportClause),D.createExportDeclaration(void 0,!1,D.createNamedExports(Uo(cr,Xr=>Ga(Xr.exportClause,h_).elements)),void 0)]);let oi=Pr(bt,Jr=>Il(Jr)&&!!Jr.moduleSpecifier&&!!Jr.exportClause&&h_(Jr.exportClause));if(Fn(oi)>1){let Jr=YC(oi,Xr=>yo(Xr.moduleSpecifier)?">"+Xr.moduleSpecifier.text:">");if(Jr.length!==oi.length)for(let Xr of Jr)Xr.length>1&&(bt=[...Pr(bt,Po=>Xr.indexOf(Po)===-1),D.createExportDeclaration(void 0,!1,D.createNamedExports(Uo(Xr,Po=>Ga(Po.exportClause,h_).elements)),Xr[0].moduleSpecifier)])}return bt}function Xt(bt){let cr=Yc(bt,oi=>Il(oi)&&!oi.moduleSpecifier&&!oi.assertClause&&!!oi.exportClause&&h_(oi.exportClause));if(cr>=0){let oi=bt[cr],Jr=Zi(oi.exportClause.elements,Xr=>{if(!Xr.propertyName){let Po=jD(bt),va=Pr(Po,Ui=>xw(bt[Ui],Xr.name));if(Fn(va)&&Ji(va,Ui=>WR(bt[Ui]))){for(let Ui of va)bt[Ui]=Sr(bt[Ui]);return}}return Xr});Fn(Jr)?bt[cr]=D.updateExportDeclaration(oi,oi.modifiers,oi.isTypeOnly,D.updateNamedExports(oi.exportClause,Jr),oi.moduleSpecifier,oi.assertClause):y0(bt,cr)}return bt}function er(bt){return bt=yi(bt),bt=Di(bt),bt=Xt(bt),_r&&(Li(_r)&&kd(_r)||Tc(_r))&&(!vt(bt,Rw)||!yse(bt)&&vt(bt,l6))&&bt.push(bO(D)),bt}function Sr(bt){let cr=(uu(bt)|1)&-3;return D.updateModifiers(bt,cr)}function Dr(bt){let cr=uu(bt)&-2;return D.updateModifiers(bt,cr)}function Ii(bt,cr,oi){cr||ur.push(new Map),bt.forEach(Jr=>{Bo(Jr,!1,!!oi)}),cr||(ur[ur.length-1].forEach(Jr=>{Bo(Jr,!0,!!oi)}),ur.pop())}function Bo(bt,cr,oi){let Jr=No(bt);if(_i.has($a(Jr)))return;if(_i.add($a(Jr)),!cr||Fn(bt.declarations)&&vt(bt.declarations,Po=>!!jn(Po,va=>va===_r))){let Po=he;he=In(he),ys(bt,cr,oi),he.reportedDiagnostic&&(st.reportedDiagnostic=he.reportedDiagnostic),he=Po}}function ys(bt,cr,oi){var Jr,Xr,Po,va;let Ui=Gi(bt.escapedName),Eo=bt.escapedName==="default";if(cr&&!(he.flags&131072)&&fS(Ui)&&!Eo){he.encounteredError=!0;return}let Xo=Eo&&!!(bt.flags&-113||bt.flags&16&&Fn(Jo(zn(bt))))&&!(bt.flags&2097152),Rc=!Xo&&!cr&&fS(Ui)&&!Eo;(Xo||Rc)&&(cr=!0);let rl=(cr?0:1)|(Eo&&!Xo?1024:0),Wd=bt.flags&1536&&bt.flags&7&&bt.escapedName!=="export=",Vl=Wd&&Ul(zn(bt),bt);if((bt.flags&8208||Vl)&&Ar(zn(bt),bt,sd(bt,Ui),rl),bt.flags&524288&&dt(bt,Ui,rl),bt.flags&7&&bt.escapedName!=="export="&&!(bt.flags&4194304)&&!(bt.flags&32)&&!(bt.flags&8192)&&!Vl)if(oi)as(bt)&&(Rc=!1,Xo=!1);else{let bs=zn(bt),dc=sd(bt,Ui);if(!(bt.flags&16)&&Ul(bs,bt))Ar(bs,bt,dc,rl);else{let Tg=bt.flags&2?wC(bt)?2:1:(Jr=bt.parent)!=null&&Jr.valueDeclaration&&Li((Xr=bt.parent)==null?void 0:Xr.valueDeclaration)?2:void 0,wm=Xo||!(bt.flags&4)?dc:lA(dc,bt),Rm=bt.declarations&&wr(bt.declarations,Ry=>wi(Ry));Rm&&pu(Rm.parent)&&Rm.parent.declarations.length===1&&(Rm=Rm.parent.parent);let V1=(Po=bt.declarations)==null?void 0:Po.find(br);if(V1&&ar(V1.parent)&&Re(V1.parent.right)&&((va=bs.symbol)!=null&&va.valueDeclaration)&&Li(bs.symbol.valueDeclaration)){let Ry=dc===V1.parent.right.escapedText?void 0:V1.parent.right;ze(D.createExportDeclaration(void 0,!1,D.createNamedExports([D.createExportSpecifier(!1,Ry,dc)])),0),he.tracker.trackSymbol(bs.symbol,he.enclosingDeclaration,111551)}else{let Ry=it(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(wm,void 0,Bi(he,bs,bt,_r,ds,Bn))],Tg)),Rm);ze(Ry,wm!==dc?rl&-2:rl),wm!==dc&&!cr&&(ze(D.createExportDeclaration(void 0,!1,D.createNamedExports([D.createExportSpecifier(!1,wm,dc)])),0),Rc=!1,Xo=!1)}}}if(bt.flags&384&&sr(bt,Ui,rl),bt.flags&32&&(bt.flags&4&&bt.valueDeclaration&&ar(bt.valueDeclaration.parent)&&_u(bt.valueDeclaration.parent.right)?mo(bt,sd(bt,Ui),rl):Zr(bt,sd(bt,Ui),rl)),(bt.flags&1536&&(!Wd||Zn(bt))||Vl)&&fn(bt,Ui,rl),bt.flags&64&&!(bt.flags&32)&&Ut(bt,Ui,rl),bt.flags&2097152&&mo(bt,sd(bt,Ui),rl),bt.flags&4&&bt.escapedName==="export="&&as(bt),bt.flags&8388608&&bt.declarations)for(let bs of bt.declarations){let dc=Gl(bs,bs.moduleSpecifier);dc&&ze(D.createExportDeclaration(void 0,bs.isTypeOnly,void 0,D.createStringLiteral(Jt(dc,he))),0)}Xo?ze(D.createExportAssignment(void 0,!1,D.createIdentifier(sd(bt,Ui))),0):Rc&&ze(D.createExportDeclaration(void 0,!1,D.createNamedExports([D.createExportSpecifier(!1,sd(bt,Ui),Ui)])),0)}function ds(bt){if(vt(bt.declarations,CT))return;L.assertIsDefined(ur[ur.length-1]),lA(Gi(bt.escapedName),bt);let cr=!!(bt.flags&2097152)&&!vt(bt.declarations,oi=>!!jn(oi,Il)||qm(oi)||Nl(oi)&&!um(oi.moduleReference));ur[cr?0:ur.length-1].set($a(bt),bt)}function Bl(bt){return Li(bt)&&(kd(bt)||Mf(bt))||lu(bt)&&!mp(bt)}function ze(bt,cr){if(g_(bt)){let oi=0,Jr=he.enclosingDeclaration&&(Ff(he.enclosingDeclaration)?Gn(he.enclosingDeclaration):he.enclosingDeclaration);cr&1&&Jr&&(Bl(Jr)||Tc(Jr))&&WR(bt)&&(oi|=1),Bt&&!(oi&1)&&(!Jr||!(Jr.flags&16777216))&&(hb(bt)||Bc(bt)||Jc(bt)||sl(bt)||Tc(bt))&&(oi|=2),cr&1024&&(sl(bt)||ku(bt)||Jc(bt))&&(oi|=1024),oi&&(bt=D.updateModifiers(bt,oi|uu(bt)))}ua.push(bt)}function dt(bt,cr,oi){var Jr;let Xr=Kb(bt),Po=Ai(bt).typeParameters,va=on(Po,Wd=>tt(Wd,he)),Ui=(Jr=bt.declarations)==null?void 0:Jr.find(Ff),Eo=Cw(Ui?Ui.comment||Ui.parent.comment:void 0),Xo=he.flags;he.flags|=8388608;let Rc=he.enclosingDeclaration;he.enclosingDeclaration=Ui;let rl=Ui&&Ui.typeExpression&&UT(Ui.typeExpression)&&no(he,Ui.typeExpression.type,ds,Bn)||u(Xr,he);ze(W0(D.createTypeAliasDeclaration(void 0,sd(bt,cr),va,rl),Eo?[{kind:3,text:`*
+ * `+Eo.replace(/\n/g,`
+ * `)+`
+ `,pos:-1,end:-1,hasTrailingNewLine:!0}]:[]),oi),he.flags=Xo,he.enclosingDeclaration=Rc}function Ut(bt,cr,oi){let Jr=vu(bt),Xr=yy(bt),Po=on(Xr,Vl=>tt(Vl,he)),va=_o(Jr),Ui=Fn(va)?so(va):void 0,Eo=Uo(Jo(Jr),Vl=>Dm(Vl,Ui)),Xo=$v(0,Jr,Ui,176),Rc=$v(1,Jr,Ui,177),rl=U1(Jr,Ui),Wd=Fn(va)?[D.createHeritageClause(94,Zi(va,Vl=>Hp(Vl,111551)))]:void 0;ze(D.createInterfaceDeclaration(void 0,sd(bt,cr),Po,Wd,[...rl,...Rc,...Xo,...Eo]),oi)}function wn(bt){return bt.exports?Pr(lo(bt.exports.values()),Aa):[]}function Zn(bt){return Ji(wn(bt),cr=>!(Fl(Ac(cr))&111551))}function fn(bt,cr,oi){let Jr=wn(bt),Xr=KD(Jr,Ui=>Ui.parent&&Ui.parent===bt?"real":"merged"),Po=Xr.get("real")||Je,va=Xr.get("merged")||Je;if(Fn(Po)){let Ui=sd(bt,cr);ia(Po,Ui,oi,!!(bt.flags&67108880))}if(Fn(va)){let Ui=Gn(he.enclosingDeclaration),Eo=sd(bt,cr),Xo=D.createModuleBlock([D.createExportDeclaration(void 0,!1,D.createNamedExports(Zi(Pr(va,Rc=>Rc.escapedName!=="export="),Rc=>{var rl,Wd;let Vl=Gi(Rc.escapedName),bs=sd(Rc,Vl),dc=Rc.declarations&&Uu(Rc);if(Ui&&(dc?Ui!==Gn(dc):!vt(Rc.declarations,Rm=>Gn(Rm)===Ui))){(Wd=(rl=he.tracker)==null?void 0:rl.reportNonlocalAugmentation)==null||Wd.call(rl,Ui,bt,Rc);return}let Tg=dc&&L_(dc,!0);ds(Tg||Rc);let wm=Tg?sd(Tg,Gi(Tg.escapedName)):bs;return D.createExportSpecifier(!1,Vl===wm?void 0:wm,Vl)})))]);ze(D.createModuleDeclaration(void 0,D.createIdentifier(Eo),Xo,16),0)}}function sr(bt,cr,oi){ze(D.createEnumDeclaration(D.createModifiersFromModifierFlags(gie(bt)?2048:0),sd(bt,cr),on(Pr(Jo(zn(bt)),Jr=>!!(Jr.flags&8)),Jr=>{let Xr=Jr.declarations&&Jr.declarations[0]&&q0(Jr.declarations[0])?zie(Jr.declarations[0]):void 0;return D.createEnumMember(Gi(Jr.escapedName),Xr===void 0?void 0:typeof Xr=="string"?D.createStringLiteral(Xr):D.createNumericLiteral(Xr))})),oi)}function Ar(bt,cr,oi,Jr){let Xr=xa(bt,0);for(let Po of Xr){let va=de(Po,259,he,{name:D.createIdentifier(oi),privateSymbolVisitor:ds,bundledImports:Bn});ze(it(va,Ei(Po)),Jr)}if(!(cr.flags&1536&&cr.exports&&cr.exports.size)){let Po=Pr(Jo(bt),Aa);ia(Po,oi,Jr,!0)}}function Ei(bt){if(bt.declaration&&bt.declaration.parent){if(ar(bt.declaration.parent)&&ic(bt.declaration.parent)===5)return bt.declaration.parent;if(wi(bt.declaration.parent)&&bt.declaration.parent.parent)return bt.declaration.parent.parent}return bt.declaration}function ia(bt,cr,oi,Jr){if(Fn(bt)){let Po=KD(bt,bs=>!Fn(bs.declarations)||vt(bs.declarations,dc=>Gn(dc)===Gn(he.enclosingDeclaration))?"local":"remote").get("local")||Je,va=fm.createModuleDeclaration(void 0,D.createIdentifier(cr),D.createModuleBlock([]),16);go(va,_r),va.locals=Ua(bt),va.symbol=bt[0].parent;let Ui=ua;ua=[];let Eo=Bt;Bt=!1;let Xo={...he,enclosingDeclaration:va},Rc=he;he=Xo,Ii(Ua(Po),Jr,!0),he=Rc,Bt=Eo;let rl=ua;ua=Ui;let Wd=on(rl,bs=>pc(bs)&&!bs.isExportEquals&&Re(bs.expression)?D.createExportDeclaration(void 0,!1,D.createNamedExports([D.createExportSpecifier(!1,bs.expression,D.createIdentifier("default"))])):bs),Vl=Ji(Wd,bs=>Mr(bs,1))?on(Wd,Dr):Wd;va=D.updateModuleDeclaration(va,va.modifiers,va.name,D.createModuleBlock(Vl)),ze(va,oi)}}function Aa(bt){return!!(bt.flags&2887656)||!(bt.flags&4194304||bt.escapedName==="prototype"||bt.valueDeclaration&&Ca(bt.valueDeclaration)&&Yr(bt.valueDeclaration.parent))}function Ra(bt){let cr=Zi(bt,oi=>{let Jr=he.enclosingDeclaration;he.enclosingDeclaration=oi;let Xr=oi.expression;if(bc(Xr)){if(Re(Xr)&&vr(Xr)==="")return Po(void 0);let va;if({introducesError:va,node:Xr}=Xs(Xr,he,ds),va)return Po(void 0)}return Po(D.createExpressionWithTypeArguments(Xr,on(oi.typeArguments,va=>no(he,va,ds,Bn)||u($r(va),he))));function Po(va){return he.enclosingDeclaration=Jr,va}});if(cr.length===bt.length)return cr}function Zr(bt,cr,oi){var Jr,Xr;let Po=(Jr=bt.declarations)==null?void 0:Jr.find(Yr),va=he.enclosingDeclaration;he.enclosingDeclaration=Po||va;let Ui=yy(bt),Eo=on(Ui,lp=>tt(lp,he)),Xo=vu(bt),Rc=_o(Xo),rl=Po&&JA(Po),Wd=rl&&Ra(rl)||Zi(Ci(Xo),cA),Vl=zn(bt),bs=!!((Xr=Vl.symbol)!=null&&Xr.valueDeclaration)&&Yr(Vl.symbol.valueDeclaration),dc=bs?Wr(Vl):Se,Tg=[...Fn(Rc)?[D.createHeritageClause(94,on(Rc,lp=>KC(lp,dc,cr)))]:[],...Fn(Wd)?[D.createHeritageClause(117,Wd)]:[]],wm=Qtt(Xo,Rc,Jo(Xo)),Rm=Pr(wm,lp=>{let qC=lp.valueDeclaration;return!!qC&&!(zl(qC)&&pi(qC.name))}),Ry=vt(wm,lp=>{let qC=lp.valueDeclaration;return!!qC&&zl(qC)&&pi(qC.name)})?[D.createPropertyDeclaration(void 0,D.createPrivateIdentifier("#private"),void 0,void 0,void 0)]:Je,tae=Uo(Rm,lp=>Mn(lp,!1,Rc[0])),nae=Uo(Pr(Jo(Vl),lp=>!(lp.flags&4194304)&&lp.escapedName!=="prototype"&&!Aa(lp)),lp=>Mn(lp,!0,dc)),pit=!bs&&!!bt.valueDeclaration&&Yn(bt.valueDeclaration)&&!vt(xa(Vl,1))?[D.createConstructorDeclaration(D.createModifiersFromModifierFlags(8),[],void 0)]:$v(1,Vl,dc,173),mit=U1(Xo,Rc[0]);he.enclosingDeclaration=va,ze(it(D.createClassDeclaration(void 0,cr,Eo,Tg,[...mit,...nae,...pit,...tae,...Ry]),bt.declarations&&Pr(bt.declarations,lp=>sl(lp)||_u(lp))[0]),oi)}function Oa(bt){return ks(bt,cr=>{if($u(cr)||Mu(cr))return vr(cr.propertyName||cr.name);if(ar(cr)||pc(cr)){let oi=pc(cr)?cr.expression:cr.right;if(br(oi))return vr(oi.name)}if(Zh(cr)){let oi=sa(cr);if(oi&&Re(oi))return vr(oi)}})}function mo(bt,cr,oi){var Jr,Xr,Po,va,Ui;let Eo=Uu(bt);if(!Eo)return L.fail();let Xo=No(L_(Eo,!0));if(!Xo)return;let Rc=CI(Xo)&&Oa(bt.declarations)||Gi(Xo.escapedName);Rc==="export="&&(f_(Y)||Y.allowSyntheticDefaultImports)&&(Rc="default");let rl=sd(Xo,Rc);switch(ds(Xo),Eo.kind){case 205:if(((Xr=(Jr=Eo.parent)==null?void 0:Jr.parent)==null?void 0:Xr.kind)===257){let bs=Jt(Xo.parent||Xo,he),{propertyName:dc}=Eo;ze(D.createImportDeclaration(void 0,D.createImportClause(!1,void 0,D.createNamedImports([D.createImportSpecifier(!1,dc&&Re(dc)?D.createIdentifier(vr(dc)):void 0,D.createIdentifier(cr))])),D.createStringLiteral(bs),void 0),0);break}L.failBadSyntaxKind(((Po=Eo.parent)==null?void 0:Po.parent)||Eo,"Unhandled binding element grandparent kind in declaration serialization");break;case 300:((Ui=(va=Eo.parent)==null?void 0:va.parent)==null?void 0:Ui.kind)===223&&co(Gi(bt.escapedName),rl);break;case 257:if(br(Eo.initializer)){let bs=Eo.initializer,dc=D.createUniqueName(cr),Tg=Jt(Xo.parent||Xo,he);ze(D.createImportEqualsDeclaration(void 0,!1,dc,D.createExternalModuleReference(D.createStringLiteral(Tg))),0),ze(D.createImportEqualsDeclaration(void 0,!1,D.createIdentifier(cr),D.createQualifiedName(dc,bs.name)),oi);break}case 268:if(Xo.escapedName==="export="&&vt(Xo.declarations,bs=>Li(bs)&&Mf(bs))){as(bt);break}let Wd=!(Xo.flags&512)&&!wi(Eo);ze(D.createImportEqualsDeclaration(void 0,!1,D.createIdentifier(cr),Wd?qi(Xo,he,67108863,!1):D.createExternalModuleReference(D.createStringLiteral(Jt(Xo,he)))),Wd?oi:0);break;case 267:ze(D.createNamespaceExportDeclaration(vr(Eo.name)),0);break;case 270:{let bs=Jt(Xo.parent||Xo,he),dc=Bn?D.createStringLiteral(bs):Eo.parent.moduleSpecifier;ze(D.createImportDeclaration(void 0,D.createImportClause(!1,D.createIdentifier(cr),void 0),dc,Eo.parent.assertClause),0);break}case 271:{let bs=Jt(Xo.parent||Xo,he),dc=Bn?D.createStringLiteral(bs):Eo.parent.parent.moduleSpecifier;ze(D.createImportDeclaration(void 0,D.createImportClause(!1,void 0,D.createNamespaceImport(D.createIdentifier(cr))),dc,Eo.parent.parent.assertClause),0);break}case 277:ze(D.createExportDeclaration(void 0,!1,D.createNamespaceExport(D.createIdentifier(cr)),D.createStringLiteral(Jt(Xo,he))),0);break;case 273:{let bs=Jt(Xo.parent||Xo,he),dc=Bn?D.createStringLiteral(bs):Eo.parent.parent.parent.moduleSpecifier;ze(D.createImportDeclaration(void 0,D.createImportClause(!1,void 0,D.createNamedImports([D.createImportSpecifier(!1,cr!==Rc?D.createIdentifier(Rc):void 0,D.createIdentifier(cr))])),dc,Eo.parent.parent.parent.assertClause),0);break}case 278:let Vl=Eo.parent.parent.moduleSpecifier;co(Gi(bt.escapedName),Vl?Rc:rl,Vl&&es(Vl)?D.createStringLiteral(Vl.text):void 0);break;case 274:as(bt);break;case 223:case 208:case 209:bt.escapedName==="default"||bt.escapedName==="export="?as(bt):co(cr,rl);break;default:return L.failBadSyntaxKind(Eo,"Unhandled alias declaration kind in symbol serializer!")}}function co(bt,cr,oi){ze(D.createExportDeclaration(void 0,!1,D.createNamedExports([D.createExportSpecifier(!1,bt!==cr?cr:void 0,bt)]),oi),0)}function as(bt){if(bt.flags&4194304)return!1;let cr=Gi(bt.escapedName),oi=cr==="export=",Xr=oi||cr==="default",Po=bt.declarations&&Uu(bt),va=Po&&L_(Po,!0);if(va&&Fn(va.declarations)&&vt(va.declarations,Ui=>Gn(Ui)===Gn(_r))){let Ui=Po&&(pc(Po)||ar(Po)?UH(Po):xce(Po)),Eo=Ui&&bc(Ui)?_nt(Ui):void 0,Xo=Eo&&uc(Eo,67108863,!0,!0,_r);(Xo||va)&&ds(Xo||va);let Rc=he.tracker.disableTrackSymbol;if(he.tracker.disableTrackSymbol=!0,Xr)ua.push(D.createExportAssignment(void 0,oi,wa(va,he,67108863)));else if(Eo===Ui&&Eo)co(cr,vr(Eo));else if(Ui&&_u(Ui))co(cr,sd(va,fc(va)));else{let rl=lA(cr,bt);ze(D.createImportEqualsDeclaration(void 0,!1,D.createIdentifier(rl),qi(va,he,67108863,!1)),0),co(cr,rl)}return he.tracker.disableTrackSymbol=Rc,!0}else{let Ui=lA(cr,bt),Eo=Sd(zn(No(bt)));if(Ul(Eo,bt))Ar(Eo,bt,Ui,Xr?0:1);else{let Xo=D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(Ui,void 0,Bi(he,Eo,bt,_r,ds,Bn))],2));ze(Xo,va&&va.flags&4&&va.escapedName==="export="?2:cr===Ui?1:0)}return Xr?(ua.push(D.createExportAssignment(void 0,oi,D.createIdentifier(Ui))),!0):cr!==Ui?(co(cr,Ui),!0):!1}}function Ul(bt,cr){let oi=Gn(he.enclosingDeclaration);return Ur(bt)&48&&!Fn(tu(bt))&&!Ti(bt)&&!!(Fn(Pr(Jo(bt),Aa))||Fn(xa(bt,0)))&&!Fn(xa(bt,1))&&!qn(cr,_r)&&!(bt.symbol&&vt(bt.symbol.declarations,Jr=>Gn(Jr)!==oi))&&!vt(Jo(bt),Jr=>qk(Jr.escapedName))&&!vt(Jo(bt),Jr=>vt(Jr.declarations,Xr=>Gn(Xr)!==oi))&&Ji(Jo(bt),Jr=>i_(fc(Jr),R))}function F_(bt,cr,oi){return function(Xr,Po,va){var Ui,Eo,Xo,Rc,rl;let Wd=Ef(Xr),Vl=!!(Wd&8);if(Po&&Xr.flags&2887656)return[];if(Xr.flags&4194304||va&&ja(va,Xr.escapedName)&&M_(ja(va,Xr.escapedName))===M_(Xr)&&(Xr.flags&16777216)===(ja(va,Xr.escapedName).flags&16777216)&&ph(zn(Xr),Vc(va,Xr.escapedName)))return[];let bs=Wd&-513|(Po?32:0),dc=Hd(Xr,he),Tg=(Ui=Xr.declarations)==null?void 0:Ui.find(Kp(Na,rb,wi,$d,ar,br));if(Xr.flags&98304&&oi){let wm=[];if(Xr.flags&65536&&wm.push(it(D.createSetAccessorDeclaration(D.createModifiersFromModifierFlags(bs),dc,[D.createParameterDeclaration(void 0,void 0,"arg",void 0,Vl?void 0:Bi(he,zn(Xr),Xr,_r,ds,Bn))],void 0),((Eo=Xr.declarations)==null?void 0:Eo.find(Ng))||Tg)),Xr.flags&32768){let Rm=Wd&8;wm.push(it(D.createGetAccessorDeclaration(D.createModifiersFromModifierFlags(bs),dc,[],Rm?void 0:Bi(he,zn(Xr),Xr,_r,ds,Bn),void 0),((Xo=Xr.declarations)==null?void 0:Xo.find(zy))||Tg))}return wm}else if(Xr.flags&98311)return it(bt(D.createModifiersFromModifierFlags((M_(Xr)?64:0)|bs),dc,Xr.flags&16777216?D.createToken(57):void 0,Vl?void 0:Bi(he,mC(Xr),Xr,_r,ds,Bn),void 0),((Rc=Xr.declarations)==null?void 0:Rc.find(Kp(Na,wi)))||Tg);if(Xr.flags&8208){let wm=zn(Xr),Rm=xa(wm,0);if(bs&8)return it(bt(D.createModifiersFromModifierFlags((M_(Xr)?64:0)|bs),dc,Xr.flags&16777216?D.createToken(57):void 0,void 0,void 0),((rl=Xr.declarations)==null?void 0:rl.find(Ds))||Rm[0]&&Rm[0].declaration||Xr.declarations&&Xr.declarations[0]);let V1=[];for(let Ry of Rm){let tae=de(Ry,cr,he,{name:dc,questionToken:Xr.flags&16777216?D.createToken(57):void 0,modifiers:bs?D.createModifiersFromModifierFlags(bs):void 0}),nae=Ry.declaration&&nR(Ry.declaration.parent)?Ry.declaration.parent:Ry.declaration;V1.push(it(tae,nae))}return V1}return L.fail(`Unhandled class member kind! ${Xr.__debugFlags||Xr.flags}`)}}function Dm(bt,cr){return or(bt,!1,cr)}function $v(bt,cr,oi,Jr){let Xr=xa(cr,bt);if(bt===1){if(!oi&&Ji(Xr,Ui=>Fn(Ui.parameters)===0))return[];if(oi){let Ui=xa(oi,1);if(!Fn(Ui)&&Ji(Xr,Eo=>Fn(Eo.parameters)===0))return[];if(Ui.length===Xr.length){let Eo=!1;for(let Xo=0;Xo<Ui.length;Xo++)if(!vM(Xr[Xo],Ui[Xo],!1,!1,!0,sD)){Eo=!0;break}if(!Eo)return[]}}let va=0;for(let Ui of Xr)Ui.declaration&&(va|=hS(Ui.declaration,24));if(va)return[it(D.createConstructorDeclaration(D.createModifiersFromModifierFlags(va),[],void 0),Xr[0].declaration)]}let Po=[];for(let va of Xr){let Ui=de(va,Jr,he);Po.push(it(Ui,va.declaration))}return Po}function U1(bt,cr){let oi=[];for(let Jr of tu(bt)){if(cr){let Xr=Cm(cr,Jr.keyType);if(Xr&&ph(Jr.type,Xr.type))continue}oi.push(J(Jr,he,void 0))}return oi}function KC(bt,cr,oi){let Jr=Hp(bt,111551);if(Jr)return Jr;let Xr=lA(`${oi}_base`),Po=D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(Xr,void 0,u(cr,he))],2));return ze(Po,0),D.createExpressionWithTypeArguments(D.createIdentifier(Xr),void 0)}function Hp(bt,cr){let oi,Jr;if(bt.target&&NE(bt.target.symbol,_r,cr)?(oi=on(Ko(bt),Xr=>u(Xr,he)),Jr=wa(bt.target.symbol,he,788968)):bt.symbol&&NE(bt.symbol,_r,cr)&&(Jr=wa(bt.symbol,he,788968)),Jr)return D.createExpressionWithTypeArguments(Jr,oi)}function cA(bt){let cr=Hp(bt,788968);if(cr)return cr;if(bt.symbol)return D.createExpressionWithTypeArguments(wa(bt.symbol,he,788968),void 0)}function lA(bt,cr){var oi,Jr;let Xr=cr?$a(cr):void 0;if(Xr&&he.remappedSymbolNames.has(Xr))return he.remappedSymbolNames.get(Xr);cr&&(bt=iT(cr,bt));let Po=0,va=bt;for(;(oi=he.usedSymbolNames)!=null&&oi.has(bt);)Po++,bt=`${va}_${Po}`;return(Jr=he.usedSymbolNames)==null||Jr.add(bt),Xr&&he.remappedSymbolNames.set(Xr,bt),bt}function iT(bt,cr){if(cr==="default"||cr==="__class"||cr==="__function"){let oi=he.flags;he.flags|=16777216;let Jr=_y(bt,he);he.flags=oi,cr=Jr.length>0&&Xw(Jr.charCodeAt(0))?u_(Jr):Jr}return cr==="default"?cr="_default":cr==="export="&&(cr="_exports"),cr=i_(cr,R)&&!fS(cr)?cr:"_"+cr.replace(/[^a-zA-Z0-9]/g,"_"),cr}function sd(bt,cr){let oi=$a(bt);return he.remappedSymbolNames.has(oi)?he.remappedSymbolNames.get(oi):(cr=iT(bt,cr),he.remappedSymbolNames.set(oi,cr),cr)}}}function kl(n,a,c=16384,u){return u?p(u).getText():SI(p);function p(h){let T=D.createTypePredicateNode(n.kind===2||n.kind===3?D.createToken(129):void 0,n.kind===1||n.kind===3?D.createIdentifier(n.parameterName):D.createThisTypeNode(),n.type&&Be.typeToTypeNode(n.type,a,qr(c)|70221824|512)),k=rE(),O=a&&Gn(a);return k.writeNode(4,T,O,h),h}}function Ed(n){let a=[],c=0;for(let u=0;u<n.length;u++){let p=n[u];if(c|=p.flags,!(p.flags&98304)){if(p.flags&1568){let h=p.flags&512?Te:Kk(p);if(h.flags&1048576){let T=h.types.length;if(u+T<=n.length&&Hu(n[u+T-1])===Hu(h.types[T-1])){a.push(h),u+=T-1;continue}}}a.push(p)}}return c&65536&&a.push(ln),c&32768&&a.push(Oe),a||n}function Ud(n){return n===8?"private":n===16?"protected":"public"}function fy(n){if(n.symbol&&n.symbol.flags&2048&&n.symbol.declarations){let a=dR(n.symbol.declarations[0].parent);if(Ep(a))return fr(a)}}function Td(n){return n&&n.parent&&n.parent.kind===265&&D0(n.parent.parent)}function Ov(n){return n.kind===308||lu(n)}function Nv(n,a){let c=Ai(n).nameType;if(c){if(c.flags&384){let u=""+c.value;return!i_(u,Do(Y))&&!Wm(u)?`"${_S(u,34)}"`:Wm(u)&&na(u,"-")?`[${u}]`:u}if(c.flags&8192)return`[${_y(c.symbol,a)}]`}}function _y(n,a){if(a&&n.escapedName==="default"&&!(a.flags&16384)&&(!(a.flags&16777216)||!n.declarations||a.enclosingDeclaration&&jn(n.declarations[0],Ov)!==jn(a.enclosingDeclaration,Ov)))return"default";if(n.declarations&&n.declarations.length){let u=ks(n.declarations,h=>sa(h)?h:void 0),p=u&&sa(u);if(u&&p){if(Pa(u)&&sS(u))return fc(n);if(ts(p)&&!(ac(n)&4096)){let h=Ai(n).nameType;if(h&&h.flags&384){let T=Nv(n,a);if(T!==void 0)return T}}return os(p)}if(u||(u=n.declarations[0]),u.parent&&u.parent.kind===257)return os(u.parent.name);switch(u.kind){case 228:case 215:case 216:return a&&!a.encounteredError&&!(a.flags&131072)&&(a.encounteredError=!0),u.kind===228?"(Anonymous class)":"(Anonymous function)"}}let c=Nv(n,a);return c!==void 0?c:fc(n)}function Xf(n){if(n){let c=Rr(n);return c.isVisible===void 0&&(c.isVisible=!!a()),c.isVisible}return!1;function a(){switch(n.kind){case 341:case 349:case 343:return!!(n.parent&&n.parent.parent&&n.parent.parent.parent&&Li(n.parent.parent.parent));case 205:return Xf(n.parent.parent);case 257:if(La(n.name)&&!n.name.elements.length)return!1;case 264:case 260:case 261:case 262:case 259:case 263:case 268:if(D0(n))return!0;let c=FE(n);return!(wg(n)&1)&&!(n.kind!==268&&c.kind!==308&&c.flags&16777216)?gm(c):Xf(c);case 169:case 168:case 174:case 175:case 171:case 170:if(cd(n,24))return!1;case 173:case 177:case 176:case 178:case 166:case 265:case 181:case 182:case 184:case 180:case 185:case 186:case 189:case 190:case 193:case 199:return Xf(n.parent);case 270:case 271:case 273:return!1;case 165:case 308:case 267:return!0;case 274:return!1;default:return!1}}}function ME(n,a){let c;n.parent&&n.parent.kind===274?c=zs(n,n.escapedText,2998271,void 0,n,!1):n.parent.kind===278&&(c=Kf(n.parent,2998271));let u,p;return c&&(p=new Set,p.add($a(c)),h(c.declarations)),u;function h(T){mn(T,k=>{let O=x1(k)||k;if(a?Rr(k).isVisible=!0:(u=u||[],Of(u,O)),GA(k)){let H=k.moduleReference,J=Yd(H),de=zs(k,J.escapedText,901119,void 0,void 0,!1);de&&p&&_0(p,$a(de))&&h(de.declarations)}})}}function cf(n,a){let c=Sm(n,a);if(c>=0){let{length:u}=Wh;for(let p=c;p<u;p++)S_[p]=!1;return!1}return Wh.push(n),S_.push(!0),hv.push(a),!0}function Sm(n,a){for(let c=Wh.length-1;c>=0;c--){if(py(Wh[c],hv[c]))return-1;if(Wh[c]===n&&hv[c]===a)return c}return-1}function py(n,a){switch(a){case 0:return!!Ai(n).type;case 5:return!!Rr(n).resolvedEnumType;case 2:return!!Ai(n).declaredType;case 1:return!!n.resolvedBaseConstructorType;case 3:return!!n.resolvedReturnType;case 4:return!!n.immediateBaseConstraint;case 6:return!!n.resolvedTypeArguments;case 7:return!!n.baseTypesResolved;case 8:return!!Ai(n).writeType;case 9:return Rr(n).parameterInitializerContainsUndefined!==void 0}return L.assertNever(a)}function If(){return Wh.pop(),hv.pop(),S_.pop()}function FE(n){return jn(nm(n),a=>{switch(a.kind){case 257:case 258:case 273:case 272:case 271:case 270:return!1;default:return!0}}).parent}function Pv(n){let a=gs(ju(n));return a.typeParameters?_g(a,on(a.typeParameters,c=>Se)):a}function Vc(n,a){let c=ja(n,a);return c?zn(c):void 0}function KP(n,a){var c;return Vc(n,a)||((c=jx(n,a))==null?void 0:c.type)||ue}function Zo(n){return n&&(n.flags&1)!==0}function Ro(n){return n===ve||!!(n.flags&1&&n.aliasSymbol)}function Px(n,a){if(a!==0)return Oo(n,!1,a);let c=fr(n);return c&&Ai(c).type||Oo(n,!1,a)}function Mx(n,a,c){if(n=jc(n,O=>!(O.flags&98304)),n.flags&131072)return Ki;if(n.flags&1048576)return Ls(n,O=>Mx(O,a,c));let u=Gr(on(a,pg)),p=[],h=[];for(let O of Jo(n)){let H=TC(O,8576);!to(H,u)&&!(Ef(O)&24)&&iB(O)?p.push(O):h.push(H)}if(Zb(n)||jv(u)){if(h.length&&(u=Gr([u,...h])),u.flags&131072)return n;let O=AKe();return O?Jx(O,[n,u]):ve}let T=Ua();for(let O of p)T.set(O.escapedName,Dne(O,!1));let k=ls(c,T,Je,Je,tu(n));return k.objectFlags|=4194304,k}function V(n){return!!(n.flags&465829888)&&Js(bu(n)||ue,32768)}function me(n){let a=yh(n,V)?Ls(n,c=>c.flags&465829888?Ty(c):c):n;return wf(a,524288)}function Ue(n,a){let c=ut(n);return c?Yv(c,a):a}function ut(n){let a=Lt(n);if(a&&cR(a)&&a.flowNode){let c=dn(n);if(c){let u=it(fm.createStringLiteral(c),n),p=Ju(a)?a:fm.createParenthesizedExpression(a),h=it(fm.createElementAccessExpression(p,u),n);return go(u,h),go(h,n),p!==a&&go(p,h),h.flowNode=a.flowNode,h}}}function Lt(n){let a=n.parent.parent;switch(a.kind){case 205:case 299:return ut(a);case 206:return ut(n.parent);case 257:return a.initializer;case 223:return a.right}}function dn(n){let a=n.parent;return n.kind===205&&a.kind===203?Er(n.propertyName||n.name):n.kind===299||n.kind===300?Er(n.name):""+a.elements.indexOf(n)}function Er(n){let a=pg(n);return a.flags&384?""+a.value:void 0}function ii(n){let a=n.dotDotDotToken?64:0,c=Px(n.parent.parent,a);return c&&li(n,c)}function li(n,a){if(Zo(a))return a;let c=n.parent;U&&n.flags&16777216&&CT(n)?a=yg(a):U&&c.parent.initializer&&!(iu(V2e(c.parent.initializer))&65536)&&(a=wf(a,524288));let u;if(c.kind===203)if(n.dotDotDotToken){if(a=O_(a),a.flags&2||!RM(a))return Fe(n,_.Rest_types_may_only_be_created_from_object_types),ve;let p=[];for(let h of c.elements)h.dotDotDotToken||p.push(h.propertyName||h.name);u=Mx(a,p,n.symbol)}else{let p=n.propertyName||n.name,h=pg(p),T=od(a,h,32,p);u=Ue(n,T)}else{let p=wy(65|(n.dotDotDotToken?0:128),a,Oe,c),h=c.elements.indexOf(n);if(n.dotDotDotToken){let T=Ty(a);u=Im(T,po)?Ls(T,k=>EC(k,h)):nu(p)}else if(Kv(a)){let T=op(h),k=32|(RC(n)?16:0),O=Ay(a,T,k,n.name)||ve;u=Ue(n,O)}else u=p}return n.initializer?Cl(bA(n))?U&&!(iu(ID(n,0))&16777216)?me(u):u:vie(n,Gr([me(u),ID(n,0)],2)):u}function di(n){let a=Vy(n);if(a)return $r(a)}function ma(n){let a=vs(n,!0);return a.kind===104||a.kind===79&&Qf(a)===Le}function is(n){let a=vs(n,!0);return a.kind===206&&a.elements.length===0}function ao(n,a=!1,c=!0){return U&&c?gg(n,a):n}function Oo(n,a,c){if(wi(n)&&n.parent.parent.kind===246){let T=Gp(Wre(Yi(n.parent.parent.expression,c)));return T.flags&4456448?AAe(T):ae}if(wi(n)&&n.parent.parent.kind===247){let T=n.parent.parent;return e8(T)||Se}if(La(n.parent))return ii(n);let u=Na(n)&&!rm(n)||$d(n)||$ue(n),p=a&&WW(n),h=ad(n);if(cH(n))return h?Zo(h)||h===ue?h:ve:Ve?ue:Se;if(h)return ao(h,u,p);if((ge||Yn(n))&&wi(n)&&!La(n.name)&&!(wg(n)&1)&&!(n.flags&16777216)){if(!(G_(n)&2)&&(!n.initializer||ma(n.initializer)))return at;if(n.initializer&&is(n.initializer))return bn}if(ha(n)){let T=n.parent;if(T.kind===175&&Ux(T)){let H=nc(fr(n.parent),174);if(H){let J=ip(H),de=Qie(T);return de&&n===de?(L.assert(!de.type),zn(J.thisParameter)):qo(J)}}let k=QJe(T,n);if(k)return k;let O=n.symbol.escapedName==="this"?oCe(T):sCe(n);if(O)return ao(O,!1,p)}if(mT(n)&&n.initializer){if(Yn(n)&&!ha(n)){let k=fC(n,fr(n),$w(n));if(k)return k}let T=vie(n,ID(n,c));return ao(T,u,p)}if(Na(n)&&(ge||Yn(n)))if(zc(n)){let T=Pr(n.parent.members,oc),k=T.length?Yf(n.symbol,T):uu(n)&2?yB(n.symbol):void 0;return k&&ao(k,!0,p)}else{let T=wv(n.parent),k=T?my(n.symbol,T):uu(n)&2?yB(n.symbol):void 0;return k&&ao(k,!0,p)}if(Sp(n))return pe;if(La(n.name))return oo(n.name,!1,!0)}function id(n){if(n.valueDeclaration&&ar(n.valueDeclaration)){let a=Ai(n);return a.isConstructorDeclaredProperty===void 0&&(a.isConstructorDeclaredProperty=!1,a.isConstructorDeclaredProperty=!!Op(n)&&Ji(n.declarations,c=>ar(c)&&GB(c)&&(c.left.kind!==209||yf(c.left.argumentExpression))&&!k_(void 0,c,n,c))),a.isConstructorDeclaredProperty}return!1}function np(n){let a=n.valueDeclaration;return a&&Na(a)&&!Cl(a)&&!a.initializer&&(ge||Yn(a))}function Op(n){if(n.declarations)for(let a of n.declarations){let c=Ku(a,!1,!1);if(c&&(c.kind===173||cp(c)))return c}}function cg(n){let a=Gn(n.declarations[0]),c=Gi(n.escapedName),u=n.declarations.every(h=>Yn(h)&&Us(h)&&Bm(h.expression)),p=u?D.createPropertyAccessExpression(D.createPropertyAccessExpression(D.createIdentifier("module"),D.createIdentifier("exports")),c):D.createPropertyAccessExpression(D.createIdentifier("exports"),c);return u&&go(p.expression.expression,p.expression),go(p.expression,p),go(p,a),p.flowNode=a.endFlowNode,Yv(p,at,Oe)}function Yf(n,a){let c=na(n.escapedName,"__#")?D.createPrivateIdentifier(n.escapedName.split("@")[1]):Gi(n.escapedName);for(let u of a){let p=D.createPropertyAccessExpression(D.createThis(),c);go(p.expression,p),go(p,u),p.flowNode=u.returnFlowNode;let h=Fx(p,n);if(ge&&(h===at||h===bn)&&Fe(n.valueDeclaration,_.Member_0_implicitly_has_an_1_type,E(n),Ee(h)),!Im(h,zB))return PD(h)}}function my(n,a){let c=na(n.escapedName,"__#")?D.createPrivateIdentifier(n.escapedName.split("@")[1]):Gi(n.escapedName),u=D.createPropertyAccessExpression(D.createThis(),c);go(u.expression,u),go(u,a),u.flowNode=a.returnFlowNode;let p=Fx(u,n);return ge&&(p===at||p===bn)&&Fe(n.valueDeclaration,_.Member_0_implicitly_has_an_1_type,E(n),Ee(p)),Im(p,zB)?void 0:PD(p)}function Fx(n,a){let c=a?.valueDeclaration&&(!np(a)||uu(a.valueDeclaration)&2)&&yB(a)||Oe;return Yv(n,at,c)}function GE(n,a){let c=oS(n.valueDeclaration);if(c){let k=Yn(c)?x0(c):void 0;return k&&k.typeExpression?$r(k.typeExpression):n.valueDeclaration&&fC(n.valueDeclaration,n,c)||i0(Ic(c))}let u,p=!1,h=!1;if(id(n)&&(u=my(n,Op(n))),!u){let k;if(n.declarations){let O;for(let H of n.declarations){let J=ar(H)||Pa(H)?H:Us(H)?ar(H.parent)?H.parent:H:void 0;if(!J)continue;let de=Us(J)?tR(J):ic(J);(de===4||ar(J)&&GB(J,de))&&(lf(J)?p=!0:h=!0),Pa(J)||(O=k_(O,J,n,H)),O||(k||(k=[])).push(ar(J)||Pa(J)?Mv(n,a,J,de):lt)}u=O}if(!u){if(!Fn(k))return ve;let O=p&&n.declarations?Gx(k,n.declarations):void 0;if(h){let J=yB(n);J&&((O||(O=[])).push(J),p=!0)}let H=vt(O,J=>!!(J.flags&-98305))?O:k;u=Gr(H)}}let T=Sd(ao(u,!1,h&&!p));return n.valueDeclaration&&jc(T,k=>!!(k.flags&-98305))===lt?(qv(n.valueDeclaration,Se),Se):T}function fC(n,a,c){var u,p;if(!Yn(n)||!c||!rs(c)||c.properties.length)return;let h=Ua();for(;ar(n)||br(n);){let O=vd(n);(u=O?.exports)!=null&&u.size&&ll(h,O.exports),n=ar(n)?n.parent:n.parent.parent}let T=vd(n);(p=T?.exports)!=null&&p.size&&ll(h,T.exports);let k=ls(a,h,Je,Je,Je);return k.objectFlags|=4096,k}function k_(n,a,c,u){var p;let h=Cl(a.parent);if(h){let T=Sd($r(h));if(n)!Ro(n)&&!Ro(T)&&!ph(n,T)&&cLe(void 0,n,u,T);else return T}if((p=c.parent)!=null&&p.valueDeclaration){let T=Cl(c.parent.valueDeclaration);if(T){let k=ja($r(T),c.escapedName);if(k)return Gv(k)}}return n}function Mv(n,a,c,u){if(Pa(c)){if(a)return zn(a);let T=Ic(c.arguments[2]),k=Vc(T,"value");if(k)return k;let O=Vc(T,"get");if(O){let J=F1(O);if(J)return qo(J)}let H=Vc(T,"set");if(H){let J=F1(H);if(J)return uie(J)}return Se}if(_C(c.left,c.right))return Se;let p=u===1&&(br(c.left)||Vs(c.left))&&(Bm(c.left.expression)||Re(c.left.expression)&&TT(c.left.expression)),h=a?zn(a):p?Hu(Ic(c.right)):i0(Ic(c.right));if(h.flags&524288&&u===2&&n.escapedName==="export="){let T=R_(h),k=Ua();Mw(T.members,k);let O=k.size;a&&!a.exports&&(a.exports=Ua()),(a||n).exports.forEach((J,de)=>{var Ae;let xe=k.get(de);if(xe&&xe!==J&&!(J.flags&2097152))if(J.flags&111551&&xe.flags&111551){if(J.valueDeclaration&&xe.valueDeclaration&&Gn(J.valueDeclaration)!==Gn(xe.valueDeclaration)){let It=Gi(J.escapedName),Tn=((Ae=zr(xe.valueDeclaration,zl))==null?void 0:Ae.name)||xe.valueDeclaration;Ao(Fe(J.valueDeclaration,_.Duplicate_identifier_0,It),hr(Tn,_._0_was_also_declared_here,It)),Ao(Fe(Tn,_.Duplicate_identifier_0,It),hr(J.valueDeclaration,_._0_was_also_declared_here,It))}let tt=wo(J.flags|xe.flags,de);tt.links.type=Gr([zn(J),zn(xe)]),tt.valueDeclaration=xe.valueDeclaration,tt.declarations=Qi(xe.declarations,J.declarations),k.set(de,tt)}else k.set(de,C_(J,xe));else k.set(de,J)});let H=ls(O!==k.size?void 0:T.symbol,k,T.callSignatures,T.constructSignatures,T.indexInfos);if(O===k.size&&(h.aliasSymbol&&(H.aliasSymbol=h.aliasSymbol,H.aliasTypeArguments=h.aliasTypeArguments),Ur(h)&4)){H.aliasSymbol=h.symbol;let J=Ko(h);H.aliasTypeArguments=Fn(J)?J:void 0}return H.objectFlags|=Ur(h)&4096,H.symbol&&H.symbol.flags&32&&h===vu(H.symbol)&&(H.objectFlags|=16777216),H}return bB(h)?(qv(c,Et),Et):h}function _C(n,a){return br(n)&&n.expression.kind===108&&kO(a,c=>El(n,c))}function lf(n){let a=Ku(n,!1,!1);return a.kind===173||a.kind===259||a.kind===215&&!nR(a.parent)}function Gx(n,a){return L.assert(n.length===a.length),n.filter((c,u)=>{let p=a[u],h=ar(p)?p:ar(p.parent)?p.parent:void 0;return h&&lf(h)})}function hy(n,a,c){if(n.initializer){let u=La(n.name)?oo(n.name,!0,!1):ue;return ao(vie(n,ID(n,0,u)))}return La(n.name)?oo(n.name,a,c):(c&&!Wk(n)&&qv(n,Se),a?ce:Se)}function jk(n,a,c){let u=Ua(),p,h=131200;mn(n.elements,k=>{let O=k.propertyName||k.name;if(k.dotDotDotToken){p=Fp(ae,Se,!1);return}let H=pg(O);if(!fh(H)){h|=512;return}let J=Np(H),de=4|(k.initializer?16777216:0),Ae=wo(de,J);Ae.links.type=hy(k,a,c),Ae.links.bindingElement=k,u.set(Ae.escapedName,Ae)});let T=ls(void 0,u,Je,Je,p?[p]:Je);return T.objectFlags|=h,a&&(T.pattern=n,T.objectFlags|=131072),T}function Hk(n,a,c){let u=n.elements,p=Os(u),h=p&&p.kind===205&&p.dotDotDotToken?p:void 0;if(u.length===0||u.length===1&&h)return R>=2?cAe(Se):Et;let T=on(u,J=>ol(J)?Se:hy(J,a,c)),k=s8(u,J=>!(J===h||ol(J)||RC(J)),u.length-1)+1,O=on(u,(J,de)=>J===h?4:de>=k?2:1),H=ap(T,O);return a&&(H=Wxe(H),H.pattern=n,H.objectFlags|=131072),H}function oo(n,a=!1,c=!1){return n.kind===203?jk(n,a,c):Hk(n,a,c)}function Zs(n,a){return gy(Oo(n,!0,0),n,a)}function Fv(n){let a=vd(n),c=pKe(!1);return c&&a&&a===c}function gy(n,a,c){return n?(n.flags&4096&&Fv(a.parent)&&(n=wne(a)),c&&CB(a,n),n.flags&8192&&(Wo(a)||!a.type)&&n.symbol!==fr(a)&&(n=j),Sd(n)):(n=ha(a)&&a.dotDotDotToken?Et:Se,c&&(Wk(a)||qv(a,n)),n)}function Wk(n){let a=nm(n),c=a.kind===166?a.parent:a;return qM(c)}function ad(n){let a=Cl(n);if(a)return $r(a)}function zk(n){let a=n.valueDeclaration;return a?(Wo(a)&&(a=bA(a)),ha(a)?fB(a.parent):!1):!1}function y(n){let a=Ai(n);if(!a.type){let c=I(n);return!a.type&&!zk(n)&&(a.type=c),c}return a.type}function I(n){if(n.flags&4194304)return Pv(n);if(n===ct)return Se;if(n.flags&134217728&&n.valueDeclaration){let u=fr(Gn(n.valueDeclaration)),p=wo(u.flags,"exports");p.declarations=u.declarations?u.declarations.slice():[],p.parent=n,p.links.target=u,u.valueDeclaration&&(p.valueDeclaration=u.valueDeclaration),u.members&&(p.members=new Map(u.members)),u.exports&&(p.exports=new Map(u.exports));let h=Ua();return h.set("exports",p),ls(n,h,Je,Je,Je)}L.assertIsDefined(n.valueDeclaration);let a=n.valueDeclaration;if(Li(a)&&Mf(a))return a.statements.length?Sd(i0(Yi(a.statements[0].expression))):Ki;if(rb(a))return Tr(n);if(!cf(n,0))return n.flags&512&&!(n.flags&67108864)?Vd(n):pC(n);let c;if(a.kind===274)c=gy(ad(a)||Ic(a.expression),a);else if(ar(a)||Yn(a)&&(Pa(a)||(br(a)||H6(a))&&ar(a.parent)))c=GE(n);else if(br(a)||Vs(a)||Re(a)||es(a)||Vf(a)||sl(a)||Jc(a)||Nc(a)&&!s_(a)||zm(a)||Li(a)){if(n.flags&9136)return Vd(n);c=ar(a.parent)?GE(n):ad(a)||Se}else if(yl(a))c=ad(a)||NIe(a);else if(Sp(a))c=ad(a)||bCe(a);else if(xf(a))c=ad(a)||BC(a.name,0);else if(s_(a))c=ad(a)||PIe(a,0);else if(ha(a)||Na(a)||$d(a)||wi(a)||Wo(a)||a6(a))c=Zs(a,!0);else if(hb(a))c=Vd(n);else if(q0(a))c=ug(n);else return L.fail("Unhandled declaration kind! "+L.formatSyntaxKind(a.kind)+" for "+L.formatSymbol(n));return If()?c:n.flags&512&&!(n.flags&67108864)?Vd(n):pC(n)}function N(n){if(n)switch(n.kind){case 174:return U_(n);case 175:return Fce(n);case 169:return L.assert(rm(n)),Cl(n)}}function te(n){let a=N(n);return a&&$r(a)}function Me(n){let a=Qie(n);return a&&a.symbol}function Pt(n){return Yb(ip(n))}function Tr(n){let a=Ai(n);if(!a.type){if(!cf(n,0))return ve;let c=nc(n,174),u=nc(n,175),p=zr(nc(n,169),Id),h=c&&Yn(c)&&di(c)||te(c)||te(u)||te(p)||c&&c.body&&rU(c)||p&&p.initializer&&Zs(p,!0);h||(u&&!qM(u)?Ip(ge,u,_.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,E(n)):c&&!qM(c)?Ip(ge,c,_.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,E(n)):p&&!qM(p)&&Ip(ge,p,_.Member_0_implicitly_has_an_1_type,E(n),"any"),h=Se),If()||(N(c)?Fe(c,_._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,E(n)):N(u)||N(p)?Fe(u,_._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,E(n)):c&&ge&&Fe(c,_._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,E(n)),h=Se),a.type=h}return a.type}function Fi(n){var a;let c=Ai(n);if(!c.writeType){if(!cf(n,8))return ve;let u=(a=nc(n,175))!=null?a:zr(nc(n,169),Id),p=te(u);If()||(N(u)&&Fe(u,_._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,E(n)),p=Se),c.writeType=p||Tr(n)}return c.writeType}function Da(n){let a=Wr(vu(n));return a.flags&8650752?a:a.flags&2097152?wr(a.types,c=>!!(c.flags&8650752)):void 0}function Vd(n){let a=Ai(n),c=a;if(!a.type){let u=n.valueDeclaration&&eU(n.valueDeclaration,!1);if(u){let p=oie(n,u);p&&(n=p,a=p.links)}c.type=a.type=lg(n)}return a.type}function lg(n){let a=n.valueDeclaration;if(n.flags&1536&&CI(n))return Se;if(a&&(a.kind===223||Us(a)&&a.parent.kind===223))return GE(n);if(n.flags&512&&a&&Li(a)&&a.commonJsModuleIndicator){let u=Vu(n);if(u!==n){if(!cf(n,0))return ve;let p=No(n.exports.get("export=")),h=GE(p,p===u?void 0:u);return If()?h:pC(n)}}let c=Bd(16,n);if(n.flags&32){let u=Da(n);return u?so([c,u]):c}else return U&&n.flags&16777216?gg(c):c}function ug(n){let a=Ai(n);return a.type||(a.type=_xe(n))}function dg(n){let a=Ai(n);if(!a.type){let c=wc(n),u=n.declarations&&L_(Uu(n),!0),p=ks(u?.declarations,h=>pc(h)?ad(h):void 0);a.type=u?.declarations&&yU(u.declarations)&&n.declarations.length?cg(u):yU(n.declarations)?at:p||(Fl(c)&111551?zn(c):ve)}return a.type}function wte(n){let a=Ai(n);return a.type||(a.type=Oi(zn(a.target),a.mapper))}function Rte(n){let a=Ai(n);return a.writeType||(a.writeType=Oi(mC(a.target),a.mapper))}function pC(n){let a=n.valueDeclaration;return Cl(a)?(Fe(n.valueDeclaration,_._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,E(n)),ve):(ge&&(a.kind!==166||a.initializer)&&Fe(n.valueDeclaration,_._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,E(n)),Se)}function Jk(n){let a=Ai(n);return a.type||(L.assertIsDefined(a.deferralParent),L.assertIsDefined(a.deferralConstituents),a.type=a.deferralParent.flags&1048576?Gr(a.deferralConstituents):so(a.deferralConstituents)),a.type}function Ote(n){let a=Ai(n);return!a.writeType&&a.deferralWriteConstituents&&(L.assertIsDefined(a.deferralParent),L.assertIsDefined(a.deferralConstituents),a.writeType=a.deferralParent.flags&1048576?Gr(a.deferralWriteConstituents):so(a.deferralWriteConstituents)),a.writeType}function mC(n){let a=ac(n);return n.flags&4?a&2?a&65536?Ote(n)||Jk(n):n.links.writeType||n.links.type:zn(n):n.flags&98304?a&1?Rte(n):Fi(n):zn(n)}function zn(n){let a=ac(n);return a&65536?Jk(n):a&1?wte(n):a&262144?NJe(n):a&8192?JXe(n):n.flags&7?y(n):n.flags&9136?Vd(n):n.flags&8?ug(n):n.flags&98304?Tr(n):n.flags&2097152?dg(n):ve}function Gv(n){return KE(zn(n),!!(n.flags&16777216))}function Bv(n,a){return n!==void 0&&a!==void 0&&(Ur(n)&4)!==0&&n.target===a}function Bx(n){return Ur(n)&4?n.target:n}function BE(n,a){return c(n);function c(u){if(Ur(u)&7){let p=Bx(u);return p===a||vt(_o(p),c)}else if(u.flags&2097152)return vt(u.types,c);return!1}}function qP(n,a){for(let c of a)n=xg(n,UE(fr(c)));return n}function hC(n,a){for(;;){if(n=n.parent,n&&ar(n)){let c=ic(n);if(c===6||c===3){let u=fr(n.left);u&&u.parent&&!jn(u.parent.valueDeclaration,p=>n===p)&&(n=u.parent.valueDeclaration)}}if(!n)return;switch(n.kind){case 260:case 228:case 261:case 176:case 177:case 170:case 181:case 182:case 320:case 259:case 171:case 215:case 216:case 262:case 348:case 349:case 343:case 341:case 197:case 191:{let u=hC(n,a);if(n.kind===197)return Sn(u,UE(fr(n.typeParameter)));if(n.kind===191)return Qi(u,PAe(n));let p=qP(u,jy(n)),h=a&&(n.kind===260||n.kind===228||n.kind===261||cp(n))&&vu(fr(n)).thisType;return h?Sn(p,h):p}case 344:let c=uR(n);c&&(n=c.valueDeclaration);break;case 323:{let u=hC(n,a);return n.tags?qP(u,Uo(n.tags,p=>H_(p)?p.typeParameters:void 0)):u}}}}function WG(n){var a;let c=n.flags&32||n.flags&16?n.valueDeclaration:(a=n.declarations)==null?void 0:a.find(u=>{if(u.kind===261)return!0;if(u.kind!==257)return!1;let p=u.initializer;return!!p&&(p.kind===215||p.kind===216)});return L.assert(!!c,"Class was missing valueDeclaration -OR- non-class had no interface declarations"),hC(c)}function yy(n){if(!n.declarations)return;let a;for(let c of n.declarations)(c.kind===261||c.kind===260||c.kind===228||cp(c)||sR(c))&&(a=qP(a,jy(c)));return a}function D1(n){return Qi(WG(n),yy(n))}function XP(n){let a=xa(n,1);if(a.length===1){let c=a[0];if(!c.typeParameters&&c.parameters.length===1&&Xl(c)){let u=UM(c.parameters[0]);return Zo(u)||Xne(u)===Se}}return!1}function Uv(n){if(xa(n,1).length>0)return!0;if(n.flags&8650752){let a=bu(n);return!!a&&XP(a)}return!1}function yn(n){let a=Nh(n.symbol);return a&&hp(a)}function Or(n,a,c){let u=Fn(a),p=Yn(c);return Pr(xa(n,1),h=>(p||u>=Mp(h.typeParameters))&&u<=Fn(h.typeParameters))}function xr(n,a,c){let u=Or(n,a,c),p=on(a,$r);return Tl(u,h=>vt(h.typeParameters)?eD(h,p,Yn(c)):h)}function Wr(n){if(!n.resolvedBaseConstructorType){let a=Nh(n.symbol),c=a&&hp(a),u=yn(n);if(!u)return n.resolvedBaseConstructorType=Oe;if(!cf(n,1))return ve;let p=Yi(u.expression);if(c&&u!==c&&(L.assert(!c.typeArguments),Yi(c.expression)),p.flags&2621440&&R_(p),!If())return Fe(n.symbol.valueDeclaration,_._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,E(n.symbol)),n.resolvedBaseConstructorType=ve;if(!(p.flags&1)&&p!==ir&&!Uv(p)){let h=Fe(u.expression,_.Type_0_is_not_a_constructor_function_type,Ee(p));if(p.flags&262144){let T=bC(p),k=ue;if(T){let O=xa(T,1);O[0]&&(k=qo(O[0]))}p.symbol.declarations&&Ao(h,hr(p.symbol.declarations[0],_.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,E(p.symbol),Ee(k)))}return n.resolvedBaseConstructorType=ve}n.resolvedBaseConstructorType=p}return n.resolvedBaseConstructorType}function Ci(n){let a=Je;if(n.symbol.declarations)for(let c of n.symbol.declarations){let u=JA(c);if(u)for(let p of u){let h=$r(p);Ro(h)||(a===Je?a=[h]:a.push(h))}}return a}function eo(n,a){Fe(n,_.Type_0_recursively_references_itself_as_a_base_type,Ee(a,void 0,2))}function _o(n){if(!n.baseTypesResolved){if(cf(n,7)&&(n.objectFlags&8?n.resolvedBaseTypes=[jd(n)]:n.symbol.flags&96?(n.symbol.flags&32&&D_(n),n.symbol.flags&64&&dh(n)):L.fail("type must be class or interface"),!If()&&n.symbol.declarations))for(let a of n.symbol.declarations)(a.kind===260||a.kind===261)&&eo(a,n);n.baseTypesResolved=!0}return n.resolvedBaseTypes}function jd(n){let a=Tl(n.typeParameters,(c,u)=>n.elementFlags[u]&8?od(c,rt):c);return nu(Gr(a||Je),n.readonly)}function D_(n){n.resolvedBaseTypes=S4;let a=Eu(Wr(n));if(!(a.flags&2621441))return n.resolvedBaseTypes=Je;let c=yn(n),u,p=a.symbol?gs(a.symbol):void 0;if(a.symbol&&a.symbol.flags&32&&uh(p))u=zxe(c,a.symbol);else if(a.flags&1)u=a;else{let T=xr(a,c.typeArguments,c);if(!T.length)return Fe(c.expression,_.No_base_constructor_has_the_specified_number_of_type_arguments),n.resolvedBaseTypes=Je;u=qo(T[0])}if(Ro(u))return n.resolvedBaseTypes=Je;let h=O_(u);if(!xm(h)){let T=Xte(void 0,u),k=da(T,_.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,Ee(h));return Lo.add(Lh(Gn(c.expression),c.expression,k)),n.resolvedBaseTypes=Je}return n===h||BE(h,n)?(Fe(n.symbol.valueDeclaration,_.Type_0_recursively_references_itself_as_a_base_type,Ee(n,void 0,2)),n.resolvedBaseTypes=Je):(n.resolvedBaseTypes===S4&&(n.members=void 0),n.resolvedBaseTypes=[h])}function uh(n){let a=n.outerTypeParameters;if(a){let c=a.length-1,u=Ko(n);return a[c].symbol!==u[c].symbol}return!0}function xm(n){if(n.flags&262144){let a=bu(n);if(a)return xm(a)}return!!(n.flags&67633153&&!df(n)||n.flags&2097152&&Ji(n.types,xm))}function dh(n){if(n.resolvedBaseTypes=n.resolvedBaseTypes||Je,n.symbol.declarations){for(let a of n.symbol.declarations)if(a.kind===261&&PI(a))for(let c of PI(a)){let u=O_($r(c));Ro(u)||(xm(u)?n!==u&&!BE(u,n)?n.resolvedBaseTypes===Je?n.resolvedBaseTypes=[u]:n.resolvedBaseTypes.push(u):eo(a,n):Fe(c,_.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members))}}}function gC(n){if(!n.declarations)return!0;for(let a of n.declarations)if(a.kind===261){if(a.flags&128)return!1;let c=PI(a);if(c){for(let u of c)if(bc(u.expression)){let p=uc(u.expression,788968,!0);if(!p||!(p.flags&64)||vu(p).thisType)return!1}}}return!0}function vu(n){let a=Ai(n),c=a;if(!a.declaredType){let u=n.flags&32?1:2,p=oie(n,n.valueDeclaration&&jQe(n.valueDeclaration));p&&(n=p,a=p.links);let h=c.declaredType=a.declaredType=Bd(u,n),T=WG(n),k=yy(n);(T||k||u===1||!gC(n))&&(h.objectFlags|=4,h.typeParameters=Qi(T,k),h.outerTypeParameters=T,h.localTypeParameters=k,h.instantiations=new Map,h.instantiations.set(kf(h.typeParameters),h),h.target=h,h.resolvedTypeArguments=h.typeParameters,h.thisType=rd(n),h.thisType.isThisType=!0,h.thisType.constraint=h)}return a.declaredType}function Kb(n){var a;let c=Ai(n);if(!c.declaredType){if(!cf(n,2))return ve;let u=L.checkDefined((a=n.declarations)==null?void 0:a.find(sR),"Type alias symbol with no valid declaration found"),p=Ff(u)?u.typeExpression:u.type,h=p?$r(p):ve;if(If()){let T=yy(n);T&&(c.typeParameters=T,c.instantiations=new Map,c.instantiations.set(kf(T),h))}else h=ve,u.kind===343?Fe(u.typeExpression.type,_.Type_alias_0_circularly_references_itself,E(n)):Fe(zl(u)&&u.name||u,_.Type_alias_0_circularly_references_itself,E(n));c.declaredType=h}return c.declaredType}function Kk(n){return n.flags&1056&&n.symbol.flags&8?gs(ju(n.symbol)):n}function dxe(n){let a=Ai(n);if(!a.declaredType){let c=[];if(n.declarations){for(let p of n.declarations)if(p.kind===263){for(let h of p.members)if(Ux(h)){let T=fr(h),k=xU(h),O=Yx(k!==void 0?Iqe(k,$a(n),T):fxe(T));Ai(T).declaredType=O,c.push(Hu(O))}}}let u=c.length?Gr(c,1,n,void 0):fxe(n);u.flags&1048576&&(u.flags|=1024,u.symbol=n),a.declaredType=u}return a.declaredType}function fxe(n){let a=Rp(32,n),c=Rp(32,n);return a.regularType=a,a.freshType=c,c.regularType=a,c.freshType=c,a}function _xe(n){let a=Ai(n);if(!a.declaredType){let c=dxe(ju(n));a.declaredType||(a.declaredType=c)}return a.declaredType}function UE(n){let a=Ai(n);return a.declaredType||(a.declaredType=rd(n))}function fJe(n){let a=Ai(n);return a.declaredType||(a.declaredType=gs(wc(n)))}function gs(n){return pxe(n)||ve}function pxe(n){if(n.flags&96)return vu(n);if(n.flags&524288)return Kb(n);if(n.flags&262144)return UE(n);if(n.flags&384)return dxe(n);if(n.flags&8)return _xe(n);if(n.flags&2097152)return fJe(n)}function YP(n){switch(n.kind){case 131:case 157:case 152:case 148:case 160:case 134:case 153:case 149:case 114:case 155:case 144:case 198:return!0;case 185:return YP(n.elementType);case 180:return!n.typeArguments||n.typeArguments.every(YP)}return!1}function _Je(n){let a=EA(n);return!a||YP(a)}function mxe(n){let a=Cl(n);return a?YP(a):!Jy(n)}function pJe(n){let a=U_(n),c=jy(n);return(n.kind===173||!!a&&YP(a))&&n.parameters.every(mxe)&&c.every(_Je)}function mJe(n){if(n.declarations&&n.declarations.length===1){let a=n.declarations[0];if(a)switch(a.kind){case 169:case 168:return mxe(a);case 171:case 170:case 173:case 174:case 175:return pJe(a)}}return!1}function hxe(n,a,c){let u=Ua();for(let p of n)u.set(p.escapedName,c&&mJe(p)?p:One(p,a));return u}function gxe(n,a){for(let c of a)!n.has(c.escapedName)&&!yxe(c)&&n.set(c.escapedName,c)}function yxe(n){return!!n.valueDeclaration&&xu(n.valueDeclaration)&&Ca(n.valueDeclaration)}function Nte(n){if(!n.declaredProperties){let a=n.symbol,c=vy(a);n.declaredProperties=uy(c),n.declaredCallSignatures=Je,n.declaredConstructSignatures=Je,n.declaredIndexInfos=Je,n.declaredCallSignatures=Xb(c.get("__call")),n.declaredConstructSignatures=Xb(c.get("__new")),n.declaredIndexInfos=Vxe(a)}return n}function fh(n){return!!(n.flags&8576)}function Pte(n){if(!ts(n)&&!Vs(n))return!1;let a=ts(n)?n.expression:n.argumentExpression;return bc(a)&&fh(ts(n)?vg(n):Ic(a))}function qk(n){return n.charCodeAt(0)===95&&n.charCodeAt(1)===95&&n.charCodeAt(2)===64}function $P(n){let a=sa(n);return!!a&&Pte(a)}function Ux(n){return!Xy(n)||$P(n)}function hJe(n){return Y6(n)&&!Pte(n)}function Np(n){return n.flags&8192?n.escapedName:n.flags&384?Bs(""+n.value):L.fail()}function gJe(n,a,c){L.assert(!!(ac(n)&4096),"Expected a late-bound symbol."),n.flags|=c,Ai(a.symbol).lateSymbol=n,n.declarations?a.symbol.isReplaceableByMethod||n.declarations.push(a):n.declarations=[a],c&111551&&(!n.valueDeclaration||n.valueDeclaration.kind!==a.kind)&&(n.valueDeclaration=a)}function vxe(n,a,c,u){L.assert(!!u.symbol,"The member is expected to have a symbol.");let p=Rr(u);if(!p.resolvedSymbol){p.resolvedSymbol=u.symbol;let h=ar(u)?u.left:u.name,T=Vs(h)?Ic(h.argumentExpression):vg(h);if(fh(T)){let k=Np(T),O=u.symbol.flags,H=c.get(k);H||c.set(k,H=wo(0,k,4096));let J=a&&a.get(k);if(H.flags&Kc(O)||J){let de=J?Qi(J.declarations,H.declarations):H.declarations,Ae=!(T.flags&8192)&&Gi(k)||os(h);mn(de,xe=>Fe(sa(xe)||xe,_.Property_0_was_also_declared_here,Ae)),Fe(h||u,_.Duplicate_property_0,Ae),H=wo(0,k,4096)}return H.links.nameType=T,gJe(H,u,O),H.parent?L.assert(H.parent===n,"Existing symbol parent should match new one"):H.parent=n,p.resolvedSymbol=H}}return p.resolvedSymbol}function Mte(n,a){let c=Ai(n);if(!c[a]){let u=a==="resolvedExports",p=u?n.flags&1536?Dx(n).exports:n.exports:n.members;c[a]=p||q;let h=Ua();for(let k of n.declarations||Je){let O=$se(k);if(O)for(let H of O)u===zc(H)&&$P(H)&&vxe(n,p,h,H)}let T=n.assignmentDeclarationMembers;if(T){let k=lo(T.values());for(let O of k){let H=ic(O),J=H===3||ar(O)&&GB(O,H)||H===9||H===6;u===!J&&$P(O)&&vxe(n,p,h,O)}}c[a]=Yh(p,h)||q}return c[a]}function vy(n){return n.flags&6256?Mte(n,"resolvedMembers"):n.members||q}function zG(n){if(n.flags&106500&&n.escapedName==="__computed"){let a=Ai(n);if(!a.lateSymbol&&vt(n.declarations,$P)){let c=No(n.parent);vt(n.declarations,zc)?Gd(c):vy(c)}return a.lateSymbol||(a.lateSymbol=n)}return n}function uf(n,a,c){if(Ur(n)&4){let u=n.target,p=Ko(n);if(Fn(u.typeParameters)===Fn(p)){let h=_g(u,Qi(p,[a||u.thisType]));return c?Eu(h):h}}else if(n.flags&2097152){let u=Tl(n.types,p=>uf(p,a,c));return u!==n.types?so(u):n}return c?Eu(n):n}function bxe(n,a,c,u){let p,h,T,k,O;GU(c,u,0,c.length)?(h=a.symbol?vy(a.symbol):Ua(a.declaredProperties),T=a.declaredCallSignatures,k=a.declaredConstructSignatures,O=a.declaredIndexInfos):(p=Wu(c,u),h=hxe(a.declaredProperties,p,c.length===1),T=cB(a.declaredCallSignatures,p),k=cB(a.declaredConstructSignatures,p),O=VAe(a.declaredIndexInfos,p));let H=_o(a);if(H.length){a.symbol&&h===vy(a.symbol)&&(h=Ua(a.declaredProperties)),sf(n,h,T,k,O);let J=Os(u);for(let de of H){let Ae=J?uf(Oi(de,p),J):de;gxe(h,Jo(Ae)),T=Qi(T,xa(Ae,0)),k=Qi(k,xa(Ae,1));let xe=Ae!==Se?tu(Ae):[Fp(ae,Se,!1)];O=Qi(O,Pr(xe,tt=>!Yte(O,tt.keyType)))}}sf(n,h,T,k,O)}function yJe(n){bxe(n,Nte(n),Je,Je)}function vJe(n){let a=Nte(n.target),c=Qi(a.typeParameters,[a.thisType]),u=Ko(n),p=u.length===c.length?u:Qi(u,[n]);bxe(n,a,c,p)}function Am(n,a,c,u,p,h,T,k){let O=new m(qe,k);return O.declaration=n,O.typeParameters=a,O.parameters=u,O.thisParameter=c,O.resolvedReturnType=p,O.resolvedTypePredicate=h,O.minArgumentCount=T,O.resolvedMinArgumentCount=void 0,O.target=void 0,O.mapper=void 0,O.compositeSignatures=void 0,O.compositeKind=void 0,O}function Xk(n){let a=Am(n.declaration,n.typeParameters,n.thisParameter,n.parameters,void 0,void 0,n.minArgumentCount,n.flags&39);return a.target=n.target,a.mapper=n.mapper,a.compositeSignatures=n.compositeSignatures,a.compositeKind=n.compositeKind,a}function Exe(n,a){let c=Xk(n);return c.compositeSignatures=a,c.compositeKind=1048576,c.target=void 0,c.mapper=void 0,c}function bJe(n,a){if((n.flags&24)===a)return n;n.optionalCallSignatureCache||(n.optionalCallSignatureCache={});let c=a===8?"inner":"outer";return n.optionalCallSignatureCache[c]||(n.optionalCallSignatureCache[c]=EJe(n,a))}function EJe(n,a){L.assert(a===8||a===16,"An optional call signature can either be for an inner call chain or an outer call chain, but not both.");let c=Xk(n);return c.flags|=a,c}function Txe(n,a){if(Xl(n)){let u=n.parameters.length-1,p=zn(n.parameters[u]);if(po(p))return[c(p,u)];if(!a&&p.flags&1048576&&Ji(p.types,po))return on(p.types,h=>c(h,u))}return[n.parameters];function c(u,p){let h=Ko(u),T=u.target.labeledElementDeclarations,k=on(h,(O,H)=>{let de=!!T&&nU(T[H])||FC(n,p+H,u),Ae=u.target.elementFlags[H],xe=Ae&12?32768:Ae&2?16384:0,tt=wo(1,de,xe);return tt.links.type=Ae&4?nu(O):O,tt});return Qi(n.parameters.slice(0,p),k)}}function TJe(n){let a=Wr(n),c=xa(a,1),u=Nh(n.symbol),p=!!u&&Mr(u,256);if(c.length===0)return[Am(void 0,n.localTypeParameters,void 0,Je,n,void 0,0,p?4:0)];let h=yn(n),T=Yn(h),k=aM(h),O=Fn(k),H=[];for(let J of c){let de=Mp(J.typeParameters),Ae=Fn(J.typeParameters);if(T||O>=de&&O<=Ae){let xe=Ae?JG(J,Sy(k,J.typeParameters,de,T)):Xk(J);xe.typeParameters=n.localTypeParameters,xe.resolvedReturnType=n,xe.flags=p?xe.flags|4:xe.flags&-5,H.push(xe)}}return H}function Fte(n,a,c,u,p){for(let h of n)if(vM(h,a,c,u,p,c?Kqe:sD))return h}function SJe(n,a,c){if(a.typeParameters){if(c>0)return;for(let p=1;p<n.length;p++)if(!Fte(n[p],a,!1,!1,!1))return;return[a]}let u;for(let p=0;p<n.length;p++){let h=p===c?a:Fte(n[p],a,!0,!1,!0);if(!h)return;u=xg(u,h)}return u}function Gte(n){let a,c;for(let u=0;u<n.length;u++){if(n[u].length===0)return Je;n[u].length>1&&(c=c===void 0?u:-1);for(let p of n[u])if(!a||!Fte(a,p,!1,!1,!0)){let h=SJe(n,p,u);if(h){let T=p;if(h.length>1){let k=p.thisParameter,O=mn(h,H=>H.thisParameter);if(O){let H=so(Zi(h,J=>J.thisParameter&&zn(J.thisParameter)));k=qE(O,H)}T=Exe(p,h),T.thisParameter=k}(a||(a=[])).push(T)}}}if(!Fn(a)&&c!==-1){let u=n[c!==void 0?c:0],p=u.slice();for(let h of n)if(h!==u){let T=h[0];if(L.assert(!!T,"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"),p=T.typeParameters&&vt(p,k=>!!k.typeParameters&&!Sxe(T.typeParameters,k.typeParameters))?void 0:on(p,k=>CJe(k,T)),!p)break}a=p}return a||Je}function Sxe(n,a){if(Fn(n)!==Fn(a))return!1;if(!n||!a)return!0;let c=Wu(a,n);for(let u=0;u<n.length;u++){let p=n[u],h=a[u];if(p!==h&&!ph(bC(p)||ue,Oi(bC(h)||ue,c)))return!1}return!0}function xJe(n,a,c){if(!n||!a)return n||a;let u=so([zn(n),Oi(zn(a),c)]);return qE(n,u)}function AJe(n,a,c){let u=xd(n),p=xd(a),h=u>=p?n:a,T=h===n?a:n,k=h===n?u:p,O=jp(n)||jp(a),H=O&&!jp(h),J=new Array(k+(H?1:0));for(let de=0;de<k;de++){let Ae=tT(h,de);h===a&&(Ae=Oi(Ae,c));let xe=tT(T,de)||ue;T===a&&(xe=Oi(xe,c));let tt=so([Ae,xe]),It=O&&!H&&de===k-1,Tn=de>=Vp(h)&&de>=Vp(T),un=de>=u?void 0:FC(n,de),Nn=de>=p?void 0:FC(a,de),en=un===Nn?un:un?Nn?void 0:un:Nn,cn=wo(1|(Tn&&!It?16777216:0),en||`arg${de}`);cn.links.type=It?nu(tt):tt,J[de]=cn}if(H){let de=wo(1,"args");de.links.type=nu(P_(T,k)),T===a&&(de.links.type=Oi(de.links.type,c)),J[k]=de}return J}function CJe(n,a){let c=n.typeParameters||a.typeParameters,u;n.typeParameters&&a.typeParameters&&(u=Wu(a.typeParameters,n.typeParameters));let p=n.declaration,h=AJe(n,a,u),T=xJe(n.thisParameter,a.thisParameter,u),k=Math.max(n.minArgumentCount,a.minArgumentCount),O=Am(p,c,T,h,void 0,void 0,k,(n.flags|a.flags)&39);return O.compositeKind=1048576,O.compositeSignatures=Qi(n.compositeKind!==2097152&&n.compositeSignatures||[n],[a]),u&&(O.mapper=n.compositeKind!==2097152&&n.mapper&&n.compositeSignatures?Jv(n.mapper,u):u),O}function xxe(n){let a=tu(n[0]);if(a){let c=[];for(let u of a){let p=u.keyType;Ji(n,h=>!!Cm(h,p))&&c.push(Fp(p,Gr(on(n,h=>fg(h,p))),vt(n,h=>Cm(h,p).isReadonly)))}return c}return Je}function IJe(n){let a=Gte(on(n.types,p=>p===Hs?[jt]:xa(p,0))),c=Gte(on(n.types,p=>xa(p,1))),u=xxe(n.types);sf(n,q,a,c,u)}function QP(n,a){return n?a?so([n,a]):n:a}function Axe(n){let a=Oy(n,u=>xa(u,1).length>0),c=on(n,XP);if(a>0&&a===Oy(c,u=>u)){let u=c.indexOf(!0);c[u]=!1}return c}function LJe(n,a,c,u){let p=[];for(let h=0;h<a.length;h++)h===u?p.push(n):c[h]&&p.push(qo(xa(a[h],1)[0]));return so(p)}function kJe(n){let a,c,u,p=n.types,h=Axe(p),T=Oy(h,k=>k);for(let k=0;k<p.length;k++){let O=n.types[k];if(!h[k]){let H=xa(O,1);H.length&&T>0&&(H=on(H,J=>{let de=Xk(J);return de.resolvedReturnType=LJe(qo(J),p,h,k),de})),c=Cxe(c,H)}a=Cxe(a,xa(O,0)),u=ou(tu(O),(H,J)=>Ixe(H,J,!1),u)}sf(n,q,a||Je,c||Je,u||Je)}function Cxe(n,a){for(let c of a)(!n||Ji(n,u=>!vM(u,c,!1,!1,!1,sD)))&&(n=Sn(n,c));return n}function Ixe(n,a,c){if(n)for(let u=0;u<n.length;u++){let p=n[u];if(p.keyType===a.keyType)return n[u]=Fp(p.keyType,c?Gr([p.type,a.type]):so([p.type,a.type]),c?p.isReadonly||a.isReadonly:p.isReadonly&&a.isReadonly),n}return Sn(n,a)}function DJe(n){if(n.target){sf(n,q,Je,Je,Je);let T=hxe(Ey(n.target),n.mapper,!1),k=cB(xa(n.target,0),n.mapper),O=cB(xa(n.target,1),n.mapper),H=VAe(tu(n.target),n.mapper);sf(n,T,k,O,H);return}let a=No(n.symbol);if(a.flags&2048){sf(n,q,Je,Je,Je);let T=vy(a),k=Xb(T.get("__call")),O=Xb(T.get("__new")),H=Vxe(a);sf(n,T,k,O,H);return}let c=q,u;if(a.exports&&(c=Gd(a),a===Ye)){let T=new Map;c.forEach(k=>{var O;!(k.flags&418)&&!(k.flags&512&&((O=k.declarations)!=null&&O.length)&&Ji(k.declarations,lu))&&T.set(k.escapedName,k)}),c=T}let p;if(sf(n,c,Je,Je,Je),a.flags&32){let T=vu(a),k=Wr(T);k.flags&11272192?(c=Ua(Rx(c)),gxe(c,Jo(k))):k===Se&&(p=Fp(ae,Se,!1))}let h=ane(c);if(h?u=one(h):(p&&(u=Sn(u,p)),a.flags&384&&(gs(a).flags&32||vt(n.properties,T=>!!(zn(T).flags&296)))&&(u=Sn(u,yu))),sf(n,c,Je,Je,u||Je),a.flags&8208&&(n.callSignatures=Xb(a)),a.flags&32){let T=vu(a),k=a.members?Xb(a.members.get("__constructor")):Je;a.flags&16&&(k=si(k.slice(),Zi(n.callSignatures,O=>cp(O.declaration)?Am(O.declaration,O.typeParameters,O.thisParameter,O.parameters,T,void 0,O.minArgumentCount,O.flags&39):void 0))),k.length||(k=TJe(T)),n.constructSignatures=k}}function wJe(n,a,c){return Oi(n,Wu([a.indexType,a.objectType],[op(0),ap([c])]))}function RJe(n){let a=Cm(n.source,ae),c=Pp(n.mappedType),u=!(c&1),p=c&4?0:16777216,h=a?[Fp(ae,LB(a.type,n.mappedType,n.constraintType),u&&a.isReadonly)]:Je,T=Ua();for(let k of Jo(n.source)){let O=8192|(u&&M_(k)?8:0),H=wo(4|k.flags&p,k.escapedName,O);if(H.declarations=k.declarations,H.links.nameType=Ai(k).nameType,H.links.propertyType=zn(k),n.constraintType.type.flags&8388608&&n.constraintType.type.objectType.flags&262144&&n.constraintType.type.indexType.flags&262144){let J=n.constraintType.type.objectType,de=wJe(n.mappedType,n.constraintType.type,J);H.links.mappedType=de,H.links.constraintType=Gp(J)}else H.links.mappedType=n.mappedType,H.links.constraintType=n.constraintType;T.set(k.escapedName,H)}sf(n,T,Je,Je,h)}function ZP(n){if(n.flags&4194304){let a=Eu(n.type);return Qx(a)?_Ae(a):Gp(a)}if(n.flags&16777216){if(n.root.isDistributive){let a=n.checkType,c=ZP(a);if(c!==a)return Fne(n,O1(n.root.checkType,c,n.mapper))}return n}if(n.flags&1048576)return Ls(n,ZP,!0);if(n.flags&2097152){let a=n.types;return a.length===2&&a[0].flags&76&&a[1]===mc?n:so(Tl(n.types,ZP))}return n}function Bte(n){return ac(n)&4096}function Ute(n,a,c,u){for(let p of Jo(n))u(TC(p,a));if(n.flags&1)u(ae);else for(let p of tu(n))(!c||p.keyType.flags&134217732)&&u(p.keyType)}function OJe(n){let a=Ua(),c;sf(n,q,Je,Je,Je);let u=w_(n),p=rp(n),h=by(n.target||n),T=h&&to(h,u),k=_h(n.target||n),O=Eu(yC(n)),H=Pp(n),J=we?128:8576;Yk(n)?Ute(O,J,we,de):QE(ZP(p),de),sf(n,a,Je,Je,c||Je);function de(xe){let tt=h?Oi(h,oD(n.mapper,u,xe)):xe;QE(tt,It=>Ae(xe,It))}function Ae(xe,tt){if(fh(tt)){let It=Np(tt),Tn=a.get(It);if(Tn)Tn.links.nameType=Gr([Tn.links.nameType,tt]),Tn.links.keyType=Gr([Tn.links.keyType,xe]);else{let un=fh(xe)?ja(O,Np(xe)):void 0,Nn=!!(H&4||!(H&8)&&un&&un.flags&16777216),en=!!(H&1||!(H&2)&&un&&M_(un)),cn=U&&!Nn&&un&&un.flags&16777216,rr=un?Bte(un):0,Jt=wo(4|(Nn?16777216:0),It,rr|262144|(en?8:0)|(cn?524288:0));Jt.links.mappedType=n,Jt.links.nameType=tt,Jt.links.keyType=xe,un&&(Jt.links.syntheticOrigin=un,Jt.declarations=!h||T?un.declarations:void 0),a.set(It,Jt)}}else if(KG(tt)||tt.flags&33){let It=tt.flags&5?ae:tt.flags&40?rt:tt,Tn=Oi(k,oD(n.mapper,u,xe)),un=Fp(It,Tn,!!(H&1));c=Ixe(c,un,!0)}}}function NJe(n){if(!n.links.type){let a=n.links.mappedType;if(!cf(n,0))return a.containsError=!0,ve;let c=_h(a.target||a),u=oD(a.mapper,w_(a),n.links.keyType),p=Oi(c,u),h=U&&n.flags&16777216&&!Js(p,49152)?gg(p,!0):n.links.checkFlags&524288?tre(p):p;If()||(Fe(P,_.Type_of_property_0_circularly_references_itself_in_mapped_type_1,E(n),Ee(a)),h=ve),n.links.type=h}return n.links.type}function w_(n){return n.typeParameter||(n.typeParameter=UE(fr(n.declaration.typeParameter)))}function rp(n){return n.constraintType||(n.constraintType=eu(w_(n))||ve)}function by(n){return n.declaration.nameType?n.nameType||(n.nameType=Oi($r(n.declaration.nameType),n.mapper)):void 0}function _h(n){return n.templateType||(n.templateType=n.declaration.type?Oi(ao($r(n.declaration.type),!0,!!(Pp(n)&4)),n.mapper):ve)}function Lxe(n){return EA(n.declaration.typeParameter)}function Yk(n){let a=Lxe(n);return a.kind===195&&a.operator===141}function yC(n){if(!n.modifiersType)if(Yk(n))n.modifiersType=Oi($r(Lxe(n).type),n.mapper);else{let a=Cne(n.declaration),c=rp(a),u=c&&c.flags&262144?eu(c):c;n.modifiersType=u&&u.flags&4194304?Oi(u.type,n.mapper):ue}return n.modifiersType}function Pp(n){let a=n.declaration;return(a.readonlyToken?a.readonlyToken.kind===40?2:1:0)|(a.questionToken?a.questionToken.kind===40?8:4:0)}function kxe(n){let a=Pp(n);return a&8?-1:a&4?1:0}function Vte(n){let a=kxe(n),c=yC(n);return a||(df(c)?kxe(c):0)}function PJe(n){return!!(Ur(n)&32&&Pp(n)&4)}function df(n){if(Ur(n)&32){let a=rp(n);if(jv(a))return!0;let c=by(n);if(c&&jv(Oi(c,n0(w_(n),a))))return!0}return!1}function R_(n){return n.members||(n.flags&524288?n.objectFlags&4?vJe(n):n.objectFlags&3?yJe(n):n.objectFlags&1024?RJe(n):n.objectFlags&16?DJe(n):n.objectFlags&32?OJe(n):L.fail("Unhandled object type "+L.formatObjectFlags(n.objectFlags)):n.flags&1048576?IJe(n):n.flags&2097152?kJe(n):L.fail("Unhandled type "+L.formatTypeFlags(n.flags))),n}function Ey(n){return n.flags&524288?R_(n).properties:Je}function qb(n,a){if(n.flags&524288){let u=R_(n).members.get(a);if(u&&ig(u))return u}}function eM(n){if(!n.resolvedProperties){let a=Ua();for(let c of n.types){for(let u of Jo(c))if(!a.has(u.escapedName)){let p=qte(n,u.escapedName);p&&a.set(u.escapedName,p)}if(n.flags&1048576&&tu(c).length===0)break}n.resolvedProperties=uy(a)}return n.resolvedProperties}function Jo(n){return n=vC(n),n.flags&3145728?eM(n):Ey(n)}function MJe(n,a){n=vC(n),n.flags&3670016&&R_(n).members.forEach((c,u)=>{ag(c,u)&&a(c,u)})}function FJe(n,a){return a.properties.some(u=>{let p=u.name&&pg(u.name),h=p&&fh(p)?Np(p):void 0,T=h===void 0?void 0:Vc(n,h);return!!T&&uD(T)&&!to(G1(u),T)})}function GJe(n){let a=Gr(n);if(!(a.flags&1048576))return Wie(a);let c=Ua();for(let u of n)for(let{escapedName:p}of Wie(u))if(!c.has(p)){let h=Oxe(a,p);h&&c.set(p,h)}return lo(c.values())}function VE(n){return n.flags&262144?eu(n):n.flags&8388608?BJe(n):n.flags&16777216?VJe(n):bu(n)}function eu(n){return $k(n)?bC(n):void 0}function tM(n){var a;return!!(n.flags&262144&&vt((a=n.symbol)==null?void 0:a.declarations,c=>Mr(c,2048))||Qx(n)&&Yc(Ko(n),(c,u)=>!!(n.target.elementFlags[u]&8)&&tM(c))>=0||n.flags&8388608&&tM(n.objectType))}function BJe(n){return $k(n)?UJe(n):void 0}function jte(n){let a=mg(n,!1);return a!==n?a:VE(n)}function UJe(n){if(Jte(n))return nB(n.objectType,n.indexType);let a=jte(n.indexType);if(a&&a!==n.indexType){let u=Ay(n.objectType,a,n.accessFlags);if(u)return u}let c=jte(n.objectType);if(c&&c!==n.objectType)return Ay(c,n.indexType,n.accessFlags)}function Hte(n){if(!n.resolvedDefaultConstraint){let a=Eqe(n),c=Wv(n);n.resolvedDefaultConstraint=Zo(a)?c:Zo(c)?a:Gr([a,c])}return n.resolvedDefaultConstraint}function Dxe(n){if(n.root.isDistributive&&n.restrictiveInstantiation!==n){let a=mg(n.checkType,!1),c=a===n.checkType?VE(a):a;if(c&&c!==n.checkType){let u=Fne(n,O1(n.root.checkType,c,n.mapper));if(!(u.flags&131072))return u}}}function wxe(n){return Dxe(n)||Hte(n)}function VJe(n){return $k(n)?wxe(n):void 0}function jJe(n,a){let c,u=!1;for(let p of n)if(p.flags&465829888){let h=VE(p);for(;h&&h.flags&21233664;)h=VE(h);h&&(c=Sn(c,h),a&&(c=Sn(c,p)))}else(p.flags&469892092||hh(p))&&(u=!0);if(c&&(a||u)){if(u)for(let p of n)(p.flags&469892092||hh(p))&&(c=Sn(c,p));return mM(so(c),!1)}}function bu(n){if(n.flags&464781312){let a=Wte(n);return a!==Co&&a!==gc?a:void 0}return n.flags&4194304?Si:void 0}function Ty(n){return bu(n)||n}function $k(n){return Wte(n)!==gc}function Wte(n){if(n.resolvedBaseConstraint)return n.resolvedBaseConstraint;let a=[];return n.resolvedBaseConstraint=uf(c(n),n);function c(h){if(!h.immediateBaseConstraint){if(!cf(h,4))return gc;let T,k=AC(h);if((a.length<10||a.length<50&&!ya(a,k))&&(a.push(k),T=p(mg(h,!1)),a.pop()),!If()){if(h.flags&262144){let O=sne(h);if(O){let H=Fe(O,_.Type_parameter_0_has_a_circular_constraint,Ee(h));P&&!AT(O,P)&&!AT(P,O)&&Ao(H,hr(P,_.Circularity_originates_in_type_at_this_location))}}T=gc}h.immediateBaseConstraint=T||Co}return h.immediateBaseConstraint}function u(h){let T=c(h);return T!==Co&&T!==gc?T:void 0}function p(h){if(h.flags&262144){let T=bC(h);return h.isThisType||!T?T:u(T)}if(h.flags&3145728){let T=h.types,k=[],O=!1;for(let H of T){let J=u(H);J?(J!==H&&(O=!0),k.push(J)):O=!0}return O?h.flags&1048576&&k.length===T.length?Gr(k):h.flags&2097152&&k.length?so(k):void 0:h}if(h.flags&4194304)return Si;if(h.flags&134217728){let T=h.types,k=Zi(T,u);return k.length===T.length?WE(h.texts,k):ae}if(h.flags&268435456){let T=u(h.type);return T&&T!==h.type?w1(h.symbol,T):ae}if(h.flags&8388608){if(Jte(h))return u(nB(h.objectType,h.indexType));let T=u(h.objectType),k=u(h.indexType),O=T&&k&&Ay(T,k,h.accessFlags);return O&&u(O)}if(h.flags&16777216){let T=wxe(h);return T&&u(T)}return h.flags&33554432?u(une(h)):h}}function HJe(n){return n.resolvedApparentType||(n.resolvedApparentType=uf(n,n,!0))}function zte(n){if(n.default)n.default===Ll&&(n.default=gc);else if(n.target){let a=zte(n.target);n.default=a?Oi(a,n.mapper):Co}else{n.default=Ll;let a=n.symbol&&mn(n.symbol.declarations,u=>_c(u)&&u.default),c=a?$r(a):Co;n.default===Ll&&(n.default=c)}return n.default}function jE(n){let a=zte(n);return a!==Co&&a!==gc?a:void 0}function WJe(n){return zte(n)!==gc}function Rxe(n){return!!(n.symbol&&mn(n.symbol.declarations,a=>_c(a)&&a.default))}function zJe(n){return n.resolvedApparentType||(n.resolvedApparentType=JJe(n))}function JJe(n){let a=Nne(n);if(a&&!n.declaration.nameType){let c=eu(a);if(c&&JE(c))return Oi(n,O1(a,c,n.mapper))}return n}function Jte(n){let a;return!!(n.flags&8388608&&Ur(a=n.objectType)&32&&!df(a)&&jv(n.indexType)&&!(Pp(a)&8)&&!a.declaration.nameType)}function Eu(n){let a=n.flags&465829888?bu(n)||ue:n;return Ur(a)&32?zJe(a):a.flags&2097152?HJe(a):a.flags&402653316?Ws:a.flags&296?hd:a.flags&2112?CKe():a.flags&528?vc:a.flags&12288?iAe():a.flags&67108864?Ki:a.flags&4194304?Si:a.flags&2&&!U?Ki:a}function vC(n){return O_(Eu(O_(n)))}function Oxe(n,a,c){var u,p,h;let T,k,O,H=n.flags&1048576,J,de=4,Ae=H?0:8,xe=!1;for(let Cn of n.types){let Rn=Eu(Cn);if(!(Ro(Rn)||Rn.flags&131072)){let Br=ja(Rn,a,c),Hr=Br?Ef(Br):0;if(Br){if(Br.flags&106500&&(J??(J=H?0:16777216),H?J|=Br.flags&16777216:J&=Br.flags),!T)T=Br;else if(Br!==T)if((oA(Br)||Br)===(oA(T)||T)&&qne(T,Br,(wa,Xc)=>wa===Xc?-1:0)===-1)xe=!!T.parent&&!!Fn(yy(T.parent));else{k||(k=new Map,k.set($a(T),T));let wa=$a(Br);k.has(wa)||k.set(wa,Br)}H&&M_(Br)?Ae|=8:!H&&!M_(Br)&&(Ae&=-9),Ae|=(Hr&24?0:256)|(Hr&16?512:0)|(Hr&8?1024:0)|(Hr&32?2048:0),jre(Br)||(de=2)}else if(H){let qi=!qk(a)&&jx(Rn,a);qi?(Ae|=32|(qi.isReadonly?8:0),O=Sn(O,po(Rn)?bM(Rn)||Oe:qi.type)):Xv(Rn)&&!(Ur(Rn)&2097152)?(Ae|=32,O=Sn(O,Oe)):Ae|=16}}}if(!T||H&&(k||Ae&48)&&Ae&1536&&!(k&&KJe(k.values())))return;if(!k&&!(Ae&16)&&!O)if(xe){let Cn=(u=zr(T,Zp))==null?void 0:u.links,Rn=qE(T,Cn?.type);return Rn.parent=(h=(p=T.valueDeclaration)==null?void 0:p.symbol)==null?void 0:h.parent,Rn.links.containingType=n,Rn.links.mapper=Cn?.mapper,Rn}else return T;let tt=k?lo(k.values()):[T],It,Tn,un,Nn=[],en,cn,rr=!1;for(let Cn of tt){cn?Cn.valueDeclaration&&Cn.valueDeclaration!==cn&&(rr=!0):cn=Cn.valueDeclaration,It=si(It,Cn.declarations);let Rn=zn(Cn);Tn||(Tn=Rn,un=Ai(Cn).nameType);let Br=mC(Cn);en||Br!==Rn?en=Sn(en||Nn.slice(),Br):Rn!==Tn&&(Ae|=64),(uD(Rn)||qx(Rn)||Rn===Nr)&&(Ae|=128),Rn.flags&131072&&Rn!==Nr&&(Ae|=131072),Nn.push(Rn)}si(Nn,O);let Jt=wo(4|(J??0),a,de|Ae);return Jt.links.containingType=n,!rr&&cn&&(Jt.valueDeclaration=cn,cn.symbol.parent&&(Jt.parent=cn.symbol.parent)),Jt.declarations=It,Jt.links.nameType=un,Nn.length>2?(Jt.links.checkFlags|=65536,Jt.links.deferralParent=n,Jt.links.deferralConstituents=Nn,Jt.links.deferralWriteConstituents=en):(Jt.links.type=H?Gr(Nn):so(Nn),en&&(Jt.links.writeType=H?Gr(en):so(en))),Jt}function Kte(n,a,c){var u,p;let h=(u=n.propertyCacheWithoutObjectFunctionPropertyAugment)!=null&&u.get(a)||!c?(p=n.propertyCache)==null?void 0:p.get(a):void 0;return h||(h=Oxe(n,a,c),h&&(c?n.propertyCacheWithoutObjectFunctionPropertyAugment||(n.propertyCacheWithoutObjectFunctionPropertyAugment=Ua()):n.propertyCache||(n.propertyCache=Ua())).set(a,h)),h}function KJe(n){let a;for(let c of n){if(!c.declarations)return;if(!a){a=new Set(c.declarations);continue}if(a.forEach(u=>{ya(c.declarations,u)||a.delete(u)}),a.size===0)return}return a}function qte(n,a,c){let u=Kte(n,a,c);return u&&!(ac(u)&16)?u:void 0}function O_(n){return n.flags&1048576&&n.objectFlags&16777216?n.resolvedReducedType||(n.resolvedReducedType=qJe(n)):n.flags&2097152?(n.objectFlags&16777216||(n.objectFlags|=16777216|(vt(eM(n),XJe)?33554432:0)),n.objectFlags&33554432?lt:n):n}function qJe(n){let a=Tl(n.types,O_);if(a===n.types)return n;let c=Gr(a);return c.flags&1048576&&(c.resolvedReducedType=c),c}function XJe(n){return Nxe(n)||Pxe(n)}function Nxe(n){return!(n.flags&16777216)&&(ac(n)&131264)===192&&!!(zn(n).flags&131072)}function Pxe(n){return!n.valueDeclaration&&!!(ac(n)&1024)}function Xte(n,a){if(a.flags&2097152&&Ur(a)&33554432){let c=wr(eM(a),Nxe);if(c)return da(n,_.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,Ee(a,void 0,536870912),E(c));let u=wr(eM(a),Pxe);if(u)return da(n,_.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,Ee(a,void 0,536870912),E(u))}return n}function ja(n,a,c,u){if(n=vC(n),n.flags&524288){let p=R_(n),h=p.members.get(a);if(h&&ig(h,u))return h;if(c)return;let T=p===aa?Hs:p.callSignatures.length?Uc:p.constructSignatures.length?Gu:void 0;if(T){let k=qb(T,a);if(k)return k}return qb(ka,a)}if(n.flags&3145728)return qte(n,a,c)}function nM(n,a){if(n.flags&3670016){let c=R_(n);return a===0?c.callSignatures:c.constructSignatures}return Je}function xa(n,a){return nM(vC(n),a)}function Yte(n,a){return wr(n,c=>c.keyType===a)}function $te(n,a){let c,u,p;for(let h of n)h.keyType===ae?c=h:Vx(a,h.keyType)&&(u?(p||(p=[u])).push(h):u=h);return p?Fp(ue,so(on(p,h=>h.type)),ou(p,(h,T)=>h&&T.isReadonly,!0)):u||(c&&Vx(a,ae)?c:void 0)}function Vx(n,a){return to(n,a)||a===ae&&to(n,rt)||a===rt&&(n===Fa||!!(n.flags&128)&&Wm(n.value))}function Qte(n){return n.flags&3670016?R_(n).indexInfos:Je}function tu(n){return Qte(vC(n))}function Cm(n,a){return Yte(tu(n),a)}function fg(n,a){var c;return(c=Cm(n,a))==null?void 0:c.type}function Zte(n,a){return tu(n).filter(c=>Vx(a,c.keyType))}function rM(n,a){return $te(tu(n),a)}function jx(n,a){return rM(n,qk(a)?j:ff(Gi(a)))}function Mxe(n){var a;let c;for(let u of jy(n))c=xg(c,UE(u.symbol));return c?.length?c:Jc(n)?(a=Zk(n))==null?void 0:a.typeParameters:void 0}function ene(n){let a=[];return n.forEach((c,u)=>{LE(u)||a.push(c)}),a}function tne(n,a){if(fl(n))return;let c=yd(Ne,'"'+n+'"',512);return c&&a?No(c):c}function Qk(n){if(uS(n)||zR(n)||JR(n))return!0;if(n.initializer){let c=ip(n.parent),u=n.parent.parameters.indexOf(n);return L.assert(u>=0),u>=Vp(c,3)}let a=ET(n.parent);return a?!n.type&&!n.dotDotDotToken&&n.parent.parameters.indexOf(n)>=a.arguments.length:!1}function YJe(n){return Na(n)&&!rm(n)&&n.questionToken}function iM(n,a,c,u){return{kind:n,parameterName:a,parameterIndex:c,type:u}}function Mp(n){let a=0;if(n)for(let c=0;c<n.length;c++)Rxe(n[c])||(a=c+1);return a}function Sy(n,a,c,u){let p=Fn(a);if(!p)return[];let h=Fn(n);if(u||h>=c&&h<=p){let T=n?n.slice():[];for(let O=h;O<p;O++)T[O]=ve;let k=hre(u);for(let O=h;O<p;O++){let H=jE(a[O]);u&&H&&(ph(H,ue)||ph(H,Ki))&&(H=Se),T[O]=H?Oi(H,Wu(a,T)):k}return T.length=a.length,T}return n&&n.slice()}function ip(n){let a=Rr(n);if(!a.resolvedSignature){let c=[],u=0,p=0,h,T=!1,k=ET(n),O=jA(n);!k&&Yn(n)&&bce(n)&&!Joe(n)&&!Vy(n)&&(u|=32);for(let Ae=O?1:0;Ae<n.parameters.length;Ae++){let xe=n.parameters[Ae],tt=xe.symbol,It=xp(xe)?xe.typeExpression&&xe.typeExpression.type:xe.type;tt&&tt.flags&4&&!La(xe.name)&&(tt=zs(xe,tt.escapedName,111551,void 0,void 0,!1)),Ae===0&&tt.escapedName==="this"?(T=!0,h=xe.symbol):c.push(tt),It&&It.kind===198&&(u|=2),zR(xe)||xe.initializer||xe.questionToken||Fm(xe)||k&&c.length>k.arguments.length&&!It||JR(xe)||(p=c.length)}if((n.kind===174||n.kind===175)&&Ux(n)&&(!T||!h)){let Ae=n.kind===174?175:174,xe=nc(fr(n),Ae);xe&&(h=Me(xe))}if(Yn(n)){let Ae=e6(n);Ae&&Ae.typeExpression&&(h=qE(wo(1,"this"),$r(Ae.typeExpression)))}let J=n.kind===173?vu(No(n.parent.symbol)):void 0,de=J?J.localTypeParameters:Mxe(n);(Yj(n)||Yn(n)&&$Je(n,c))&&(u|=1),(yL(n)&&Mr(n,256)||Ec(n)&&Mr(n.parent,256))&&(u|=4),a.resolvedSignature=Am(n,de,h,c,void 0,void 0,p,u)}return a.resolvedSignature}function $Je(n,a){if(X0(n)||!nne(n))return!1;let c=Os(n.parameters),u=c?fI(c):A0(n).filter(xp),p=ks(u,T=>T.typeExpression&&h3(T.typeExpression.type)?T.typeExpression.type:void 0),h=wo(3,"args",32768);return p?h.links.type=nu($r(p.type)):(h.links.checkFlags|=65536,h.links.deferralParent=lt,h.links.deferralConstituents=[Et],h.links.deferralWriteConstituents=[Et]),p&&a.pop(),a.push(h),!0}function Zk(n){if(!(Yn(n)&&Ds(n)))return;let a=x0(n);return a?.typeExpression&&F1($r(a.typeExpression))}function QJe(n,a){let c=Zk(n);if(!c)return;let u=n.parameters.indexOf(a);return a.dotDotDotToken?SD(c,u):P_(c,u)}function ZJe(n){let a=Zk(n);return a&&qo(a)}function nne(n){let a=Rr(n);return a.containsArgumentsReference===void 0&&(a.flags&512?a.containsArgumentsReference=!0:a.containsArgumentsReference=c(n.body)),a.containsArgumentsReference;function c(u){if(!u)return!1;switch(u.kind){case 79:return u.escapedText===_t.escapedName&&i8(u)===_t;case 169:case 171:case 174:case 175:return u.name.kind===164&&c(u.name);case 208:case 209:return c(u.expression);case 299:return c(u.initializer);default:return!HH(u)&&!Gm(u)&&!!pa(u,c)}}}function Xb(n){if(!n||!n.declarations)return Je;let a=[];for(let c=0;c<n.declarations.length;c++){let u=n.declarations[c];if(Ia(u)){if(c>0&&u.body){let p=n.declarations[c-1];if(u.parent===p.parent&&u.kind===p.kind&&u.pos===p.end)continue}if(Yn(u)&&u.jsDoc){let p=!1;for(let h of u.jsDoc)if(h.tags){for(let T of h.tags)if(kL(T)){let k=T.typeExpression;k.type===void 0&&!Ec(u)&&qv(k,Se),a.push(ip(k)),p=!0}}if(p)continue}a.push(!a2(u)&&!s_(u)&&Zk(u)||ip(u))}}return a}function Fxe(n){let a=Gl(n,n);if(a){let c=Vu(a);if(c)return zn(c)}return Se}function Yb(n){if(n.thisParameter)return zn(n.thisParameter)}function Lf(n){if(!n.resolvedTypePredicate){if(n.target){let a=Lf(n.target);n.resolvedTypePredicate=a?Mqe(a,n.mapper):Rs}else if(n.compositeSignatures)n.resolvedTypePredicate=qKe(n.compositeSignatures,n.compositeKind)||Rs;else{let a=n.declaration&&U_(n.declaration),c;if(!a){let u=Zk(n.declaration);u&&n!==u&&(c=Lf(u))}n.resolvedTypePredicate=a&&l3(a)?eKe(a,n):c||Rs}L.assert(!!n.resolvedTypePredicate)}return n.resolvedTypePredicate===Rs?void 0:n.resolvedTypePredicate}function eKe(n,a){let c=n.parameterName,u=n.type&&$r(n.type);return c.kind===194?iM(n.assertsModifier?2:0,void 0,void 0,u):iM(n.assertsModifier?3:1,c.escapedText,Yc(a.parameters,p=>p.escapedName===c.escapedText),u)}function Gxe(n,a,c){return a!==2097152?Gr(n,c):so(n)}function qo(n){if(!n.resolvedReturnType){if(!cf(n,3))return ve;let a=n.target?Oi(qo(n.target),n.mapper):n.compositeSignatures?Oi(Gxe(on(n.compositeSignatures,qo),n.compositeKind,2),n.mapper):Hx(n.declaration)||(rc(n.declaration.body)?Se:rU(n.declaration));if(n.flags&8?a=h2e(a):n.flags&16&&(a=gg(a)),!If()){if(n.declaration){let c=U_(n.declaration);if(c)Fe(c,_.Return_type_annotation_circularly_references_itself);else if(ge){let u=n.declaration,p=sa(u);p?Fe(p,_._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,os(p)):Fe(u,_.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}a=Se}n.resolvedReturnType=a}return n.resolvedReturnType}function Hx(n){if(n.kind===173)return vu(No(n.parent.symbol));if(X0(n)){let c=OI(n);if(c&&Ec(c.parent))return vu(No(c.parent.parent.symbol))}if(jA(n))return $r(n.parameters[0].type);let a=U_(n);if(a)return $r(a);if(n.kind===174&&Ux(n)){let c=Yn(n)&&di(n);if(c)return c;let u=nc(fr(n),175),p=te(u);if(p)return p}return ZJe(n)}function rne(n){return!n.resolvedReturnType&&Sm(n,3)>=0}function tKe(n){return Bxe(n)||Se}function Bxe(n){if(Xl(n)){let a=zn(n.parameters[n.parameters.length-1]),c=po(a)?bM(a):a;return c&&fg(c,rt)}}function eD(n,a,c,u){let p=ine(n,Sy(a,n.typeParameters,Mp(n.typeParameters),c));if(u){let h=KCe(qo(p));if(h){let T=Xk(h);T.typeParameters=u;let k=Xk(p);return k.resolvedReturnType=HE(T),k}}return p}function ine(n,a){let c=n.instantiations||(n.instantiations=new Map),u=kf(a),p=c.get(u);return p||c.set(u,p=JG(n,a)),p}function JG(n,a){return $x(n,nKe(n,a),!0)}function nKe(n,a){return Wu(n.typeParameters,a)}function tD(n){return n.typeParameters?n.erasedSignatureCache||(n.erasedSignatureCache=rKe(n)):n}function rKe(n){return $x(n,jAe(n.typeParameters),!0)}function iKe(n){return n.typeParameters?n.canonicalSignatureCache||(n.canonicalSignatureCache=aKe(n)):n}function aKe(n){return eD(n,on(n.typeParameters,a=>a.target&&!eu(a.target)?a.target:a),Yn(n.declaration))}function oKe(n){let a=n.typeParameters;if(a){if(n.baseSignatureCache)return n.baseSignatureCache;let c=jAe(a),u=Wu(a,on(a,h=>eu(h)||ue)),p=on(a,h=>Oi(h,u)||ue);for(let h=0;h<a.length-1;h++)p=hg(p,u);return p=hg(p,c),n.baseSignatureCache=$x(n,Wu(a,p),!0)}return n}function HE(n){var a;if(!n.isolatedSignatureType){let c=(a=n.declaration)==null?void 0:a.kind,u=c===void 0||c===173||c===177||c===182,p=Bd(16);p.members=q,p.properties=Je,p.callSignatures=u?Je:[n],p.constructSignatures=u?[n]:Je,p.indexInfos=Je,n.isolatedSignatureType=p}return n.isolatedSignatureType}function Uxe(n){return n.members?ane(n.members):void 0}function ane(n){return n.get("__index")}function Fp(n,a,c,u){return{keyType:n,type:a,isReadonly:c,declaration:u}}function Vxe(n){let a=Uxe(n);return a?one(a):Je}function one(n){if(n.declarations){let a=[];for(let c of n.declarations)if(c.parameters.length===1){let u=c.parameters[0];u.type&&QE($r(u.type),p=>{KG(p)&&!Yte(a,p)&&a.push(Fp(p,c.type?$r(c.type):Se,cd(c,64),c))})}return a}return Je}function KG(n){return!!(n.flags&4108)||qx(n)||!!(n.flags&2097152)&&!SC(n)&&vt(n.types,KG)}function sne(n){return Zi(Pr(n.symbol&&n.symbol.declarations,_c),EA)[0]}function jxe(n,a){var c;let u;if((c=n.symbol)!=null&&c.declarations){for(let p of n.symbol.declarations)if(p.parent.kind===192){let[h=p.parent,T]=Tce(p.parent.parent);if(T.kind===180&&!a){let k=T,O=xie(k);if(O){let H=k.typeArguments.indexOf(h);if(H<O.length){let J=eu(O[H]);if(J){let de=Rne(O,O.map((xe,tt)=>()=>met(k,O,tt))),Ae=Oi(J,de);Ae!==n&&(u=Sn(u,Ae))}}}}else if(T.kind===166&&T.dotDotDotToken||T.kind===188||T.kind===199&&T.dotDotDotToken)u=Sn(u,nu(ue));else if(T.kind===201)u=Sn(u,ae);else if(T.kind===165&&T.parent.kind===197)u=Sn(u,Si);else if(T.kind===197&&T.type&&vs(T.type)===p.parent&&T.parent.kind===191&&T.parent.extendsType===T&&T.parent.checkType.kind===197&&T.parent.checkType.type){let k=T.parent.checkType,O=$r(k.type);u=Sn(u,Oi(O,n0(UE(fr(k.typeParameter)),k.typeParameter.constraint?$r(k.typeParameter.constraint):Si)))}}}return u&&so(u)}function bC(n){if(!n.constraint)if(n.target){let a=eu(n.target);n.constraint=a?Oi(a,n.mapper):Co}else{let a=sne(n);if(!a)n.constraint=jxe(n)||Co;else{let c=$r(a);c.flags&1&&!Ro(c)&&(c=a.parent.parent.kind===197?Si:ue),n.constraint=c}}return n.constraint===Co?void 0:n.constraint}function Hxe(n){let a=nc(n.symbol,165),c=H_(a.parent)?J6(a.parent):a.parent;return c&&vd(c)}function kf(n){let a="";if(n){let c=n.length,u=0;for(;u<c;){let p=n[u].id,h=1;for(;u+h<c&&n[u+h].id===p+h;)h++;a.length&&(a+=","),a+=p,h>1&&(a+=":"+h),u+=h}}return a}function Wx(n,a){return n?`@${$a(n)}`+(a?`:${kf(a)}`:""):""}function qG(n,a){let c=0;for(let u of n)(a===void 0||!(u.flags&a))&&(c|=Ur(u));return c&458752}function zx(n,a){return vt(a)&&n===ro?ue:_g(n,a)}function _g(n,a){let c=kf(a),u=n.instantiations.get(c);return u||(u=Bd(4,n.symbol),n.instantiations.set(c,u),u.objectFlags|=a?qG(a):0,u.target=n,u.resolvedTypeArguments=a),u}function Wxe(n){let a=Rp(n.flags,n.symbol);return a.objectFlags=n.objectFlags,a.target=n.target,a.resolvedTypeArguments=n.resolvedTypeArguments,a}function cne(n,a,c,u,p){if(!u){u=R1(a);let T=Xx(u);p=c?hg(T,c):T}let h=Bd(4,n.symbol);return h.target=n,h.node=a,h.mapper=c,h.aliasSymbol=u,h.aliasTypeArguments=p,h}function Ko(n){var a,c;if(!n.resolvedTypeArguments){if(!cf(n,6))return((a=n.target.localTypeParameters)==null?void 0:a.map(()=>ve))||Je;let u=n.node,p=u?u.kind===180?Qi(n.target.outerTypeParameters,oU(u,n.target.localTypeParameters)):u.kind===185?[$r(u.elementType)]:on(u.elements,$r):Je;If()?n.resolvedTypeArguments=n.mapper?hg(p,n.mapper):p:(n.resolvedTypeArguments=((c=n.target.localTypeParameters)==null?void 0:c.map(()=>ve))||Je,Fe(n.node||P,n.target.symbol?_.Type_arguments_for_0_circularly_reference_themselves:_.Tuple_type_arguments_circularly_reference_themselves,n.target.symbol&&E(n.target.symbol)))}return n.resolvedTypeArguments}function Vv(n){return Fn(n.target.typeParameters)}function zxe(n,a){let c=gs(No(a)),u=c.localTypeParameters;if(u){let p=Fn(n.typeArguments),h=Mp(u),T=Yn(n);if(!(!ge&&T)&&(p<h||p>u.length)){let H=T&&Vg(n)&&!x2(n.parent),J=h===u.length?H?_.Expected_0_type_arguments_provide_these_with_an_extends_tag:_.Generic_type_0_requires_1_type_argument_s:H?_.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:_.Generic_type_0_requires_between_1_and_2_type_arguments,de=Ee(c,void 0,2);if(Fe(n,J,de,h,u.length),!T)return ve}if(n.kind===180&&uAe(n,Fn(n.typeArguments)!==u.length))return cne(c,n,void 0);let O=Qi(c.outerTypeParameters,Sy(aM(n),u,h,T));return _g(c,O)}return $b(n,a)?c:ve}function Jx(n,a,c,u){let p=gs(n);if(p===Q&&rN.has(n.escapedName)&&a&&a.length===1)return w1(n,a[0]);let h=Ai(n),T=h.typeParameters,k=kf(a)+Wx(c,u),O=h.instantiations.get(k);return O||h.instantiations.set(k,O=zAe(p,Wu(T,Sy(a,T,Mp(T),Yn(n.valueDeclaration))),c,u)),O}function sKe(n,a){if(ac(a)&1048576){let p=aM(n),h=Wx(a,p),T=Cr.get(h);return T||(T=Cc(1,"error"),T.aliasSymbol=a,T.aliasTypeArguments=p,Cr.set(h,T)),T}let c=gs(a),u=Ai(a).typeParameters;if(u){let p=Fn(n.typeArguments),h=Mp(u);if(p<h||p>u.length)return Fe(n,h===u.length?_.Generic_type_0_requires_1_type_argument_s:_.Generic_type_0_requires_between_1_and_2_type_arguments,E(a),h,u.length),ve;let T=R1(n),k=T&&(Jxe(a)||!Jxe(T))?T:void 0,O;if(k)O=Xx(k);else if(_6(n)){let H=Kx(n,2097152,!0);if(H&&H!==Ht){let J=wc(H);J&&J.flags&524288&&(k=J,O=aM(n)||(u?[]:void 0))}}return Jx(a,aM(n),k,O)}return $b(n,a)?c:ve}function Jxe(n){var a;let c=(a=n.declarations)==null?void 0:a.find(sR);return!!(c&&Xd(c))}function cKe(n){switch(n.kind){case 180:return n.typeName;case 230:let a=n.expression;if(bc(a))return a}}function Kxe(n){return n.parent?`${Kxe(n.parent)}.${n.escapedName}`:n.escapedName}function XG(n){let c=(n.kind===163?n.right:n.kind===208?n.name:n).escapedText;if(c){let u=n.kind===163?XG(n.left):n.kind===208?XG(n.expression):void 0,p=u?`${Kxe(u)}.${c}`:c,h=dr.get(p);return h||(dr.set(p,h=wo(524288,c,1048576)),h.parent=u,h.links.declaredType=nt),h}return Ht}function Kx(n,a,c){let u=cKe(n);if(!u)return Ht;let p=uc(u,a,c);return p&&p!==Ht?p:c?Ht:XG(u)}function YG(n,a){if(a===Ht)return ve;if(a=Iv(a)||a,a.flags&96)return zxe(n,a);if(a.flags&524288)return sKe(n,a);let c=pxe(a);if(c)return $b(n,a)?Hu(c):ve;if(a.flags&111551&&$G(n)){let u=lKe(n,a);return u||(Kx(n,788968),zn(a))}return ve}function lKe(n,a){let c=Rr(n);if(!c.resolvedJSDocType){let u=zn(a),p=u;if(a.valueDeclaration){let h=n.kind===202&&n.qualifier;u.symbol&&u.symbol!==a&&h&&(p=YG(n,u.symbol))}c.resolvedJSDocType=p}return c.resolvedJSDocType}function lne(n,a){if(a.flags&3||a===n||n.flags&1)return n;let c=`${ru(n)}>${ru(a)}`,u=Dt.get(c);if(u)return u;let p=ch(33554432);return p.baseType=n,p.constraint=a,Dt.set(c,p),p}function une(n){return so([n.constraint,n.baseType])}function qxe(n){return n.kind===186&&n.elements.length===1}function Xxe(n,a,c){return qxe(a)&&qxe(c)?Xxe(n,a.elements[0],c.elements[0]):Cy($r(a))===Cy(n)?$r(c):void 0}function uKe(n,a){let c,u=!0;for(;a&&!ca(a)&&a.kind!==323;){let p=a.parent;if(p.kind===166&&(u=!u),(u||n.flags&8650752)&&p.kind===191&&a===p.trueType){let h=Xxe(n,p.checkType,p.extendsType);h&&(c=Sn(c,h))}else if(n.flags&262144&&p.kind===197&&a===p.type){let h=$r(p);if(w_(h)===Cy(n)){let T=Nne(h);if(T){let k=eu(T);k&&Im(k,JE)&&(c=Sn(c,Gr([rt,Fa])))}}}a=p}return c?lne(n,so(c)):n}function $G(n){return!!(n.flags&8388608)&&(n.kind===180||n.kind===202)}function $b(n,a){return n.typeArguments?(Fe(n,_.Type_0_is_not_generic,a?E(a):n.typeName?os(n.typeName):nN),!1):!0}function Yxe(n){if(Re(n.typeName)){let a=n.typeArguments;switch(n.typeName.escapedText){case"String":return $b(n),ae;case"Number":return $b(n),rt;case"Boolean":return $b(n),Te;case"Void":return $b(n),yt;case"Undefined":return $b(n),Oe;case"Null":return $b(n),ln;case"Function":case"function":return $b(n),Hs;case"array":return(!a||!a.length)&&!ge?Et:void 0;case"promise":return(!a||!a.length)&&!ge?jM(Se):void 0;case"Object":if(a&&a.length===2){if(U6(n)){let c=$r(a[0]),u=$r(a[1]),p=c===ae||c===rt?[Fp(c,u,!1)]:Je;return ls(void 0,q,Je,Je,p)}return Se}return $b(n),ge?void 0:Se}}}function dKe(n){let a=$r(n.type);return U?TB(a,65536):a}function dne(n){let a=Rr(n);if(!a.resolvedType){if(Ch(n)&&pT(n.parent))return a.resolvedSymbol=Ht,a.resolvedType=Ic(n.parent.expression);let c,u,p=788968;$G(n)&&(u=Yxe(n),u||(c=Kx(n,p,!0),c===Ht?c=Kx(n,p|111551):Kx(n,p),u=YG(n,c))),u||(c=Kx(n,p),u=YG(n,c)),a.resolvedSymbol=c,a.resolvedType=u}return a.resolvedType}function aM(n){return on(n.typeArguments,$r)}function $xe(n){let a=Rr(n);if(!a.resolvedType){let c=_Ie(n);a.resolvedType=Hu(Sd(c))}return a.resolvedType}function Qxe(n,a){function c(p){let h=p.declarations;if(h)for(let T of h)switch(T.kind){case 260:case 261:case 263:return T}}if(!n)return a?ro:Ki;let u=gs(n);return u.flags&524288?Fn(u.typeParameters)!==a?(Fe(c(n),_.Global_type_0_must_have_1_type_parameter_s,fc(n),a),a?ro:Ki):u:(Fe(c(n),_.Global_type_0_must_be_a_class_or_interface_type,fc(n)),a?ro:Ki)}function fne(n,a){return nD(n,111551,a?_.Cannot_find_global_value_0:void 0)}function Zxe(n,a){return nD(n,788968,a?_.Cannot_find_global_type_0:void 0)}function QG(n,a,c){let u=nD(n,788968,c?_.Cannot_find_global_type_0:void 0);if(u&&(gs(u),Fn(Ai(u).typeParameters)!==a)){let p=u.declarations&&wr(u.declarations,Ep);Fe(p,_.Global_type_0_must_have_1_type_parameter_s,fc(u),a);return}return u}function nD(n,a,c){return zs(void 0,n,a,c,n,!1,!1,!1)}function Fc(n,a,c){let u=Zxe(n,c);return u||c?Qxe(u,a):void 0}function fKe(){return xt||(xt=Fc("TypedPropertyDescriptor",1,!0)||ro)}function _Ke(){return Md||(Md=Fc("TemplateStringsArray",0,!0)||Ki)}function eAe(){return zf||(zf=Fc("ImportMeta",0,!0)||Ki)}function tAe(){if(!Io){let n=wo(0,"ImportMetaExpression"),a=eAe(),c=wo(4,"meta",8);c.parent=n,c.links.type=a;let u=Ua([c]);n.members=u,Io=ls(n,u,Je,Je,Je)}return Io}function nAe(n){return Jf||(Jf=Fc("ImportCallOptions",0,n))||Ki}function rAe(n){return ee||(ee=fne("Symbol",n))}function pKe(n){return Ze||(Ze=Zxe("SymbolConstructor",n))}function iAe(){return At||(At=Fc("Symbol",0,!1))||Ki}function oM(n){return qt||(qt=Fc("Promise",1,n))||ro}function aAe(n){return Ln||(Ln=Fc("PromiseLike",1,n))||ro}function _ne(n){return mr||(mr=fne("Promise",n))}function mKe(n){return Vr||(Vr=Fc("PromiseConstructorLike",0,n))||Ki}function ZG(n){return Pd||(Pd=Fc("AsyncIterable",1,n))||ro}function hKe(n){return Dc||(Dc=Fc("AsyncIterator",3,n))||ro}function gKe(n){return gd||(gd=Fc("AsyncIterableIterator",1,n))||ro}function yKe(n){return Zl||(Zl=Fc("AsyncGenerator",3,n))||ro}function pne(n){return gi||(gi=Fc("Iterable",1,n))||ro}function vKe(n){return Ea||(Ea=Fc("Iterator",3,n))||ro}function bKe(n){return bo||(bo=Fc("IterableIterator",1,n))||ro}function EKe(n){return Qo||(Qo=Fc("Generator",3,n))||ro}function TKe(n){return Cs||(Cs=Fc("IteratorYieldResult",1,n))||ro}function SKe(n){return Bu||(Bu=Fc("IteratorReturnResult",1,n))||ro}function oAe(n,a=0){let c=nD(n,788968,void 0);return c&&Qxe(c,a)}function xKe(){return Fd||(Fd=QG("Extract",2,!0)||Ht),Fd===Ht?void 0:Fd}function AKe(){return E_||(E_=QG("Omit",2,!0)||Ht),E_===Ht?void 0:E_}function mne(n){return Y_||(Y_=QG("Awaited",1,n)||(n?Ht:void 0)),Y_===Ht?void 0:Y_}function CKe(){return M||(M=Fc("BigInt",0,!1))||Ki}function IKe(n){var a;return(a=Pn??(Pn=Fc("ClassDecoratorContext",1,n)))!=null?a:ro}function LKe(n){var a;return(a=la??(la=Fc("ClassMethodDecoratorContext",2,n)))!=null?a:ro}function kKe(n){var a;return(a=oa??(oa=Fc("ClassGetterDecoratorContext",2,n)))!=null?a:ro}function DKe(n){var a;return(a=be??(be=Fc("ClassSetterDecoratorContext",2,n)))!=null?a:ro}function wKe(n){var a;return(a=De??(De=Fc("ClassAccessorDecoratorContext",2,n)))!=null?a:ro}function RKe(n){var a;return(a=mt??(mt=Fc("ClassAccessorDecoratorTarget",2,n)))!=null?a:ro}function OKe(n){var a;return(a=St??(St=Fc("ClassAccessorDecoratorResult",2,n)))!=null?a:ro}function NKe(n){var a;return(a=Zt??(Zt=Fc("ClassFieldDecoratorContext",2,n)))!=null?a:ro}function PKe(){return He||(He=fne("NaN",!1))}function MKe(){return Nt||(Nt=QG("Record",2,!0)||Ht),Nt===Ht?void 0:Nt}function rD(n,a){return n!==ro?_g(n,a):Ki}function sAe(n){return rD(fKe(),[n])}function cAe(n){return rD(pne(!0),[n])}function nu(n,a){return rD(a?jo:$o,[n])}function hne(n){switch(n.kind){case 187:return 2;case 188:return lAe(n);case 199:return n.questionToken?2:n.dotDotDotToken?lAe(n):1;default:return 1}}function lAe(n){return uM(n.type)?4:8}function FKe(n){let a=BKe(n.parent);if(uM(n))return a?jo:$o;let u=on(n.elements,hne),p=vt(n.elements,h=>h.kind!==199);return gne(u,a,p?void 0:n.elements)}function uAe(n,a){return!!R1(n)||dAe(n)&&(n.kind===185?xy(n.elementType):n.kind===186?vt(n.elements,xy):a||vt(n.typeArguments,xy))}function dAe(n){let a=n.parent;switch(a.kind){case 193:case 199:case 180:case 189:case 190:case 196:case 191:case 195:case 185:case 186:return dAe(a);case 262:return!0}return!1}function xy(n){switch(n.kind){case 180:return $G(n)||!!(Kx(n,788968).flags&524288);case 183:return!0;case 195:return n.operator!==156&&xy(n.type);case 193:case 187:case 199:case 319:case 317:case 318:case 312:return xy(n.type);case 188:return n.type.kind!==185||xy(n.type.elementType);case 189:case 190:return vt(n.types,xy);case 196:return xy(n.objectType)||xy(n.indexType);case 191:return xy(n.checkType)||xy(n.extendsType)||xy(n.trueType)||xy(n.falseType)}return!1}function GKe(n){let a=Rr(n);if(!a.resolvedType){let c=FKe(n);if(c===ro)a.resolvedType=Ki;else if(!(n.kind===186&&vt(n.elements,u=>!!(hne(u)&8)))&&uAe(n))a.resolvedType=n.kind===186&&n.elements.length===0?c:cne(c,n,void 0);else{let u=n.kind===185?[$r(n.elementType)]:on(n.elements,$r);a.resolvedType=yne(c,u)}}return a.resolvedType}function BKe(n){return RS(n)&&n.operator===146}function ap(n,a,c=!1,u){let p=gne(a||on(n,h=>1),c,u);return p===ro?Ki:n.length?yne(p,n):p}function gne(n,a,c){if(n.length===1&&n[0]&4)return a?jo:$o;let u=on(n,h=>h&1?"#":h&2?"?":h&4?".":"*").join()+(a?"R":"")+(c&&c.length?","+on(c,zo).join(","):""),p=kn.get(u);return p||kn.set(u,p=UKe(n,a,c)),p}function UKe(n,a,c){let u=n.length,p=Oy(n,de=>!!(de&9)),h,T=[],k=0;if(u){h=new Array(u);for(let de=0;de<u;de++){let Ae=h[de]=rd(),xe=n[de];if(k|=xe,!(k&12)){let tt=wo(4|(xe&2?16777216:0),""+de,a?8:0);tt.links.tupleLabelDeclaration=c?.[de],tt.links.type=Ae,T.push(tt)}}}let O=T.length,H=wo(4,"length",a?8:0);if(k&12)H.links.type=rt;else{let de=[];for(let Ae=p;Ae<=u;Ae++)de.push(op(Ae));H.links.type=Gr(de)}T.push(H);let J=Bd(12);return J.typeParameters=h,J.outerTypeParameters=void 0,J.localTypeParameters=h,J.instantiations=new Map,J.instantiations.set(kf(J.typeParameters),J),J.target=J,J.resolvedTypeArguments=J.typeParameters,J.thisType=rd(),J.thisType.isThisType=!0,J.thisType.constraint=J,J.declaredProperties=T,J.declaredCallSignatures=Je,J.declaredConstructSignatures=Je,J.declaredIndexInfos=Je,J.elementFlags=n,J.minLength=p,J.fixedLength=O,J.hasRestElement=!!(k&12),J.combinedFlags=k,J.readonly=a,J.labeledElementDeclarations=c,J}function yne(n,a){return n.objectFlags&8?fAe(n,a):_g(n,a)}function fAe(n,a){var c,u,p;if(!(n.combinedFlags&14))return _g(n,a);if(n.combinedFlags&8){let xe=Yc(a,(tt,It)=>!!(n.elementFlags[It]&8&&tt.flags&1179648));if(xe>=0)return cM(on(a,(tt,It)=>n.elementFlags[It]&8?tt:ue))?Ls(a[xe],tt=>fAe(n,UU(a,xe,tt))):ve}let h=[],T=[],k=[],O=-1,H=-1,J=-1;for(let xe=0;xe<a.length;xe++){let tt=a[xe],It=n.elementFlags[xe];if(It&8)if(tt.flags&58982400||df(tt))Ae(tt,8,(c=n.labeledElementDeclarations)==null?void 0:c[xe]);else if(po(tt)){let Tn=Ko(tt);if(Tn.length+h.length>=1e4)return Fe(P,Gm(P)?_.Type_produces_a_tuple_type_that_is_too_large_to_represent:_.Expression_produces_a_tuple_type_that_is_too_large_to_represent),ve;mn(Tn,(un,Nn)=>{var en;return Ae(un,tt.target.elementFlags[Nn],(en=tt.target.labeledElementDeclarations)==null?void 0:en[Nn])})}else Ae(Kv(tt)&&fg(tt,rt)||ve,4,(u=n.labeledElementDeclarations)==null?void 0:u[xe]);else Ae(tt,It,(p=n.labeledElementDeclarations)==null?void 0:p[xe])}for(let xe=0;xe<O;xe++)T[xe]&2&&(T[xe]=1);H>=0&&H<J&&(h[H]=Gr(Tl(h.slice(H,J+1),(xe,tt)=>T[H+tt]&8?od(xe,rt):xe)),h.splice(H+1,J-H),T.splice(H+1,J-H),k?.splice(H+1,J-H));let de=gne(T,n.readonly,k);return de===ro?Ki:T.length?_g(de,h):de;function Ae(xe,tt,It){tt&1&&(O=T.length),tt&4&&H<0&&(H=T.length),tt&6&&(J=T.length),h.push(tt&2?ao(xe,!0):xe),T.push(tt),k&&It?k.push(It):k=void 0}}function EC(n,a,c=0){let u=n.target,p=Vv(n)-c;return a>u.fixedLength?IXe(n)||ap(Je):ap(Ko(n).slice(a,p),u.elementFlags.slice(a,p),!1,u.labeledElementDeclarations&&u.labeledElementDeclarations.slice(a,p))}function _Ae(n){return Gr(Sn(mae(n.target.fixedLength,a=>ff(""+a)),Gp(n.target.readonly?jo:$o)))}function VKe(n,a){let c=Yc(n.elementFlags,u=>!(u&a));return c>=0?c:n.elementFlags.length}function sM(n,a){return n.elementFlags.length-s8(n.elementFlags,c=>!(c&a))-1}function jKe(n){return ao($r(n.type),!0)}function ru(n){return n.id}function Qb(n,a){return Py(n,a,ru,Es)>=0}function vne(n,a){let c=Py(n,a,ru,Es);return c<0?(n.splice(~c,0,a),!0):!1}function HKe(n,a,c){let u=c.flags;if(u&1048576)return pAe(n,a|(KKe(c)?1048576:0),c.types);if(!(u&131072))if(a|=u&205258751,u&465829888&&(a|=33554432),c===Tt&&(a|=8388608),!U&&u&98304)Ur(c)&65536||(a|=4194304);else{let p=n.length,h=p&&c.id>n[p-1].id?~p:Py(n,c,ru,Es);h<0&&n.splice(~h,0,c)}return a}function pAe(n,a,c){for(let u of c)a=HKe(n,a,u);return a}function WKe(n,a){var c;if(n.length<2)return n;let u=kf(n),p=pn.get(u);if(p)return p;let h=a&&vt(n,H=>!!(H.flags&524288)&&!df(H)&&Vne(R_(H))),T=n.length,k=T,O=0;for(;k>0;){k--;let H=n[k];if(h||H.flags&469499904){let J=H.flags&61603840?wr(Jo(H),Ae=>N_(zn(Ae))):void 0,de=J&&Hu(zn(J));for(let Ae of n)if(H!==Ae){if(O===1e5&&O/(T-k)*T>1e6){(c=ai)==null||c.instant(ai.Phase.CheckTypes,"removeSubtypes_DepthLimit",{typeIds:n.map(tt=>tt.id)}),Fe(P,_.Expression_produces_a_union_type_that_is_too_complex_to_represent);return}if(O++,J&&Ae.flags&61603840){let xe=Vc(Ae,J.escapedName);if(xe&&N_(xe)&&Hu(xe)!==de)continue}if(Bp(H,Ae,x_)&&(!(Ur(Bx(H))&1)||!(Ur(Bx(Ae))&1)||r0(H,Ae))){y0(n,k);break}}}}return pn.set(u,n),n}function zKe(n,a,c){let u=n.length;for(;u>0;){u--;let p=n[u],h=p.flags;(h&402653312&&a&4||h&256&&a&8||h&2048&&a&64||h&8192&&a&4096||c&&h&32768&&a&16384||t0(p)&&Qb(n,p.regularType))&&y0(n,u)}}function JKe(n){let a=Pr(n,c=>!!(c.flags&134217728)&&qx(c));if(a.length){let c=n.length;for(;c>0;){c--;let u=n[c];u.flags&128&&vt(a,p=>_re(u,p))&&y0(n,c)}}}function KKe(n){return!!(n.flags&1048576&&(n.aliasSymbol||n.origin))}function mAe(n,a){for(let c of a)if(c.flags&1048576){let u=c.origin;c.aliasSymbol||u&&!(u.flags&1048576)?Of(n,c):u&&u.flags&1048576&&mAe(n,u.types)}}function bne(n,a){let c=L1(n);return c.types=a,c}function Gr(n,a=1,c,u,p){if(n.length===0)return lt;if(n.length===1)return n[0];let h=[],T=pAe(h,0,n);if(a!==0){if(T&3)return T&1?T&8388608?Tt:Se:T&65536||Qb(h,ue)?ue:G;if(T&32768&&h.length>=2&&h[0]===Oe&&h[1]===Ge&&y0(h,1),(T&402664352||T&16384&&T&32768)&&zKe(h,T,!!(a&2)),T&128&&T&134217728&&JKe(h),a===2&&(h=WKe(h,!!(T&524288)),!h))return ve;if(h.length===0)return T&65536?T&4194304?ln:ir:T&32768?T&4194304?Oe:je:lt}if(!p&&T&1048576){let O=[];mAe(O,n);let H=[];for(let de of h)vt(O,Ae=>Qb(Ae.types,de))||H.push(de);if(!c&&O.length===1&&H.length===0)return O[0];if(ou(O,(de,Ae)=>de+Ae.types.length,0)+H.length===h.length){for(let de of O)vne(H,de);p=bne(1048576,H)}}let k=(T&36323363?0:32768)|(T&2097152?16777216:0);return Tne(h,k,c,u,p)}function qKe(n,a){let c,u=[];for(let h of n){let T=Lf(h);if(!T||T.kind===2||T.kind===3){if(a!==2097152)continue;return}if(c){if(!Ene(c,T))return}else c=T;u.push(T.type)}if(!c)return;let p=Gxe(u,a);return iM(c.kind,c.parameterName,c.parameterIndex,p)}function Ene(n,a){return n.kind===a.kind&&n.parameterIndex===a.parameterIndex}function Tne(n,a,c,u,p){if(n.length===0)return lt;if(n.length===1)return n[0];let T=(p?p.flags&1048576?`|${kf(p.types)}`:p.flags&2097152?`&${kf(p.types)}`:`#${p.type.id}|${kf(n)}`:kf(n))+Wx(c,u),k=_n.get(T);return k||(k=ch(1048576),k.objectFlags=a|qG(n,98304),k.types=n,k.origin=p,k.aliasSymbol=c,k.aliasTypeArguments=u,n.length===2&&n[0].flags&512&&n[1].flags&512&&(k.flags|=16,k.intrinsicName="boolean"),_n.set(T,k)),k}function XKe(n){let a=Rr(n);if(!a.resolvedType){let c=R1(n);a.resolvedType=Gr(on(n.types,$r),1,c,Xx(c))}return a.resolvedType}function YKe(n,a,c){let u=c.flags;return u&2097152?hAe(n,a,c.types):(hh(c)?a&16777216||(a|=16777216,n.set(c.id.toString(),c)):(u&3?c===Tt&&(a|=8388608):(U||!(u&98304))&&(c===Ge&&(a|=262144,c=Oe),n.has(c.id.toString())||(c.flags&109472&&a&109472&&(a|=67108864),n.set(c.id.toString(),c))),a|=u&205258751),a)}function hAe(n,a,c){for(let u of c)a=YKe(n,a,Hu(u));return a}function $Ke(n,a){let c=n.length;for(;c>0;){c--;let u=n[c];(u.flags&4&&a&402653312||u.flags&8&&a&256||u.flags&64&&a&2048||u.flags&4096&&a&8192||u.flags&16384&&a&32768||hh(u)&&a&470302716)&&y0(n,c)}}function QKe(n,a){for(let c of n)if(!Qb(c.types,a)){let u=a.flags&128?ae:a.flags&256?rt:a.flags&2048?Ot:a.flags&8192?j:void 0;if(!u||!Qb(c.types,u))return!1}return!0}function ZKe(n){let a=n.length,c=Pr(n,u=>!!(u.flags&128));for(;a>0;){a--;let u=n[a];if(u.flags&134217728){for(let p of c)if(Iy(p,u)){y0(n,a);break}else if(qx(u))return!0}}return!1}function gAe(n,a){return Ji(n,c=>!!(c.flags&1048576)&&vt(c.types,u=>!!(u.flags&a)))}function yAe(n,a){for(let c=0;c<n.length;c++)n[c]=jc(n[c],u=>!(u.flags&a))}function eqe(n){let a,c=Yc(n,T=>!!(Ur(T)&32768));if(c<0)return!1;let u=c+1;for(;u<n.length;){let T=n[u];Ur(T)&32768?((a||(a=[n[c]])).push(T),y0(n,u)):u++}if(!a)return!1;let p=[],h=[];for(let T of a)for(let k of T.types)vne(p,k)&&QKe(a,k)&&vne(h,k);return n[c]=Tne(h,32768),!0}function tqe(n,a,c){let u=ch(2097152);return u.objectFlags=qG(n,98304),u.types=n,u.aliasSymbol=a,u.aliasTypeArguments=c,u}function so(n,a,c,u){let p=new Map,h=hAe(p,0,n),T=lo(p.values());if(h&131072)return ya(T,Qe)?Qe:lt;if(U&&h&98304&&h&84410368||h&67108864&&h&402783228||h&402653316&&h&67238776||h&296&&h&469891796||h&2112&&h&469889980||h&12288&&h&469879804||h&49152&&h&469842940||h&134217728&&h&128&&ZKe(T))return lt;if(h&1)return h&8388608?Tt:Se;if(!U&&h&98304)return h&16777216?lt:h&32768?Oe:ln;if((h&4&&h&402653312||h&8&&h&256||h&64&&h&2048||h&4096&&h&8192||h&16384&&h&32768||h&16777216&&h&470302716)&&(u||$Ke(T,h)),h&262144&&(T[T.indexOf(Oe)]=Ge),T.length===0)return ue;if(T.length===1)return T[0];let k=kf(T)+Wx(a,c),O=Gt.get(k);if(!O){if(h&1048576)if(eqe(T))O=so(T,a,c);else if(gAe(T,32768)){let H=vt(T,fD)?Ge:Oe;yAe(T,32768),O=Gr([so(T),H],1,a,c)}else if(gAe(T,65536))yAe(T,65536),O=Gr([so(T),ln],1,a,c);else{if(!cM(T))return ve;let H=nqe(T),J=vt(H,de=>!!(de.flags&2097152))&&Sne(H)>Sne(T)?bne(2097152,T):void 0;O=Gr(H,1,a,c,J)}else O=tqe(T,a,c);Gt.set(k,O)}return O}function vAe(n){return ou(n,(a,c)=>c.flags&1048576?a*c.types.length:c.flags&131072?0:a,1)}function cM(n){var a;let c=vAe(n);return c>=1e5?((a=ai)==null||a.instant(ai.Phase.CheckTypes,"checkCrossProductUnion_DepthLimit",{typeIds:n.map(u=>u.id),size:c}),Fe(P,_.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1):!0}function nqe(n){let a=vAe(n),c=[];for(let u=0;u<a;u++){let p=n.slice(),h=u;for(let k=n.length-1;k>=0;k--)if(n[k].flags&1048576){let O=n[k].types,H=O.length;p[k]=O[h%H],h=Math.floor(h/H)}let T=so(p);T.flags&131072||c.push(T)}return c}function bAe(n){return!(n.flags&3145728)||n.aliasSymbol?1:n.flags&1048576&&n.origin?bAe(n.origin):Sne(n.types)}function Sne(n){return ou(n,(a,c)=>a+bAe(c),0)}function rqe(n){let a=Rr(n);if(!a.resolvedType){let c=R1(n),u=on(n.types,$r),p=u.length===2&&!!(u[0].flags&76)&&u[1]===mc;a.resolvedType=so(u,c,Xx(c),p)}return a.resolvedType}function EAe(n,a){let c=ch(4194304);return c.type=n,c.stringsOnly=a,c}function iqe(n){let a=L1(4194304);return a.type=n,a}function TAe(n,a){return a?n.resolvedStringIndexType||(n.resolvedStringIndexType=EAe(n,!0)):n.resolvedIndexType||(n.resolvedIndexType=EAe(n,!1))}function aqe(n,a,c){let u=w_(n),p=rp(n),h=by(n.target||n);if(!h&&!c)return p;let T=[];if(Yk(n)){if(jv(p))return TAe(n,a);{let H=Eu(yC(n));Ute(H,8576,a,O)}}else QE(ZP(p),O);jv(p)&&QE(p,O);let k=c?jc(Gr(T),H=>!(H.flags&5)):Gr(T);if(k.flags&1048576&&p.flags&1048576&&kf(k.types)===kf(p.types))return p;return k;function O(H){let J=h?Oi(h,oD(n.mapper,u,H)):H;T.push(J===ae?ei:J)}}function oqe(n){let a=w_(n);return c(by(n)||a);function c(u){return u.flags&202375167?!0:u.flags&16777216?u.root.isDistributive&&u.checkType===a:u.flags&137363456?Ji(u.types,c):u.flags&8388608?c(u.objectType)&&c(u.indexType):u.flags&33554432?c(u.baseType)&&c(u.constraint):u.flags&268435456?c(u.type):!1}}function pg(n){return pi(n)?lt:Re(n)?ff(Gi(n.escapedText)):Hu(ts(n)?vg(n):Yi(n))}function TC(n,a,c){if(c||!(Ef(n)&24)){let u=Ai(zG(n)).nameType;if(!u){let p=sa(n.valueDeclaration);u=n.escapedName==="default"?ff("default"):p&&pg(p)||(gR(n)?void 0:ff(fc(n)))}if(u&&u.flags&a)return u}return lt}function SAe(n,a){return!!(n.flags&a||n.flags&2097152&&vt(n.types,c=>SAe(c,a)))}function sqe(n,a,c){let u=c&&(Ur(n)&7||n.aliasSymbol)?iqe(n):void 0,p=on(Jo(n),T=>TC(T,a)),h=on(tu(n),T=>T!==yu&&SAe(T.keyType,a)?T.keyType===ae&&a&8?ei:T.keyType:lt);return Gr(Qi(p,h),1,void 0,void 0,u)}function cqe(n){let a=Wqe(n);return O_(a)!==a}function xAe(n){return!!(n.flags&58982400||Qx(n)||df(n)&&!oqe(n)||n.flags&1048576&&vt(n.types,cqe)||n.flags&2097152&&Js(n,465829888)&&vt(n.types,hh))}function Gp(n,a=we,c){return n=O_(n),xAe(n)?TAe(n,a):n.flags&1048576?so(on(n.types,u=>Gp(u,a,c))):n.flags&2097152?Gr(on(n.types,u=>Gp(u,a,c))):Ur(n)&32?aqe(n,a,c):n===Tt?Tt:n.flags&2?lt:n.flags&131073?Si:sqe(n,(c?128:402653316)|(a?0:12584),a===we&&!c)}function AAe(n){if(we)return n;let a=xKe();return a?Jx(a,[n,ae]):ae}function lqe(n){let a=AAe(Gp(n));return a.flags&131072?ae:a}function uqe(n){let a=Rr(n);if(!a.resolvedType)switch(n.operator){case 141:a.resolvedType=Gp($r(n.type));break;case 156:a.resolvedType=n.type.kind===153?wne(dR(n.parent)):ve;break;case 146:a.resolvedType=$r(n.type);break;default:throw L.assertNever(n.operator)}return a.resolvedType}function dqe(n){let a=Rr(n);return a.resolvedType||(a.resolvedType=WE([n.head.text,...on(n.templateSpans,c=>c.literal.text)],on(n.templateSpans,c=>$r(c.type)))),a.resolvedType}function WE(n,a){let c=Yc(a,H=>!!(H.flags&1179648));if(c>=0)return cM(a)?Ls(a[c],H=>WE(n,UU(a,c,H))):ve;if(ya(a,Tt))return Tt;let u=[],p=[],h=n[0];if(!O(n,a))return ae;if(u.length===0)return ff(h);if(p.push(h),Ji(p,H=>H==="")){if(Ji(u,H=>!!(H.flags&4)))return ae;if(u.length===1&&qx(u[0]))return u[0]}let T=`${kf(u)}|${on(p,H=>H.length).join(",")}|${p.join("")}`,k=pt.get(T);return k||pt.set(T,k=_qe(p,u)),k;function O(H,J){let de=ba(H);for(let Ae=0;Ae<J.length;Ae++){let xe=J[Ae],tt=de?H[Ae+1]:H;if(xe.flags&101248){if(h+=fqe(xe)||"",h+=tt,!de)return!0}else if(xe.flags&134217728){if(h+=xe.texts[0],!O(xe.texts,xe.types))return!1;if(h+=tt,!de)return!0}else if(jv(xe)||tB(xe))u.push(xe),p.push(h),h=tt;else if(xe.flags&2097152){if(!O(H[Ae+1],xe.types))return!1}else if(de)return!1}return!0}}function fqe(n){return n.flags&128?n.value:n.flags&256?""+n.value:n.flags&2048?j0(n.value):n.flags&98816?n.intrinsicName:void 0}function _qe(n,a){let c=ch(134217728);return c.texts=n,c.types=a,c}function w1(n,a){return a.flags&1179648?Ls(a,c=>w1(n,c)):a.flags&128?ff(CAe(n,a.value)):a.flags&134217728?WE(...pqe(n,a.texts,a.types)):a.flags&268435456&&n===a.symbol?a:a.flags&268435461||jv(a)?IAe(n,a):tB(a)?IAe(n,WE(["",""],[a])):a}function CAe(n,a){switch(rN.get(n.escapedName)){case 0:return a.toUpperCase();case 1:return a.toLowerCase();case 2:return a.charAt(0).toUpperCase()+a.slice(1);case 3:return a.charAt(0).toLowerCase()+a.slice(1)}return a}function pqe(n,a,c){switch(rN.get(n.escapedName)){case 0:return[a.map(u=>u.toUpperCase()),c.map(u=>w1(n,u))];case 1:return[a.map(u=>u.toLowerCase()),c.map(u=>w1(n,u))];case 2:return[a[0]===""?a:[a[0].charAt(0).toUpperCase()+a[0].slice(1),...a.slice(1)],a[0]===""?[w1(n,c[0]),...c.slice(1)]:c];case 3:return[a[0]===""?a:[a[0].charAt(0).toLowerCase()+a[0].slice(1),...a.slice(1)],a[0]===""?[w1(n,c[0]),...c.slice(1)]:c]}return[a,c]}function IAe(n,a){let c=`${$a(n)},${ru(a)}`,u=nn.get(c);return u||nn.set(c,u=mqe(n,a)),u}function mqe(n,a){let c=Rp(268435456,n);return c.type=a,c}function hqe(n,a,c,u,p){let h=ch(8388608);return h.objectType=n,h.indexType=a,h.accessFlags=c,h.aliasSymbol=u,h.aliasTypeArguments=p,h}function iD(n){if(ge)return!1;if(Ur(n)&4096)return!0;if(n.flags&1048576)return Ji(n.types,iD);if(n.flags&2097152)return vt(n.types,iD);if(n.flags&465829888){let a=Wte(n);return a!==n&&iD(a)}return!1}function eB(n,a){return fh(n)?Np(n):a&&Ys(a)?M0(a):void 0}function xne(n,a){if(a.flags&8208){let c=jn(n.parent,u=>!Us(u))||n.parent;return rS(c)?Ih(c)&&Re(n)&&P2e(c,n):Ji(a.declarations,u=>!Ia(u)||!!(G_(u)&268435456))}return!0}function LAe(n,a,c,u,p,h){var T;let k=p&&p.kind===209?p:void 0,O=p&&pi(p)?void 0:eB(c,p);if(O!==void 0){if(h&256)return eT(a,O)||Se;let J=ja(a,O);if(J){if(h&64&&p&&J.declarations&&Sv(J)&&xne(p,J)){let Ae=(T=k?.argumentExpression)!=null?T:OS(p)?p.indexType:p;Xh(Ae,J.declarations,O)}if(k){if(MM(J,k,jCe(k.expression,a.symbol)),LIe(k,J,xT(k))){Fe(k.argumentExpression,_.Cannot_assign_to_0_because_it_is_a_read_only_property,E(J));return}if(h&8&&(Rr(p).resolvedSymbol=J),PCe(k,J))return at}let de=zn(J);return k&&xT(k)!==1?Yv(k,de):p&&OS(p)&&fD(de)?Gr([de,Oe]):de}if(Im(a,po)&&Wm(O)){let de=+O;if(p&&Im(a,Ae=>!Ae.target.hasRestElement)&&!(h&16)){let Ae=Ane(p);if(po(a)){if(de<0)return Fe(Ae,_.A_tuple_type_cannot_be_indexed_with_a_negative_value),Oe;Fe(Ae,_.Tuple_type_0_of_length_1_has_no_element_at_index_2,Ee(a),Vv(a),Gi(O))}else Fe(Ae,_.Property_0_does_not_exist_on_type_1,Gi(O),Ee(a))}if(de>=0)return H(Cm(a,rt)),Ls(a,Ae=>{let xe=bM(Ae)||Oe;return h&1?Gr([xe,Ge]):xe})}}if(!(c.flags&98304)&&ul(c,402665900)){if(a.flags&131073)return a;let J=rM(a,c)||Cm(a,ae);if(J){if(h&2&&J.keyType!==rt){k&&Fe(k,_.Type_0_cannot_be_used_to_index_type_1,Ee(c),Ee(n));return}if(p&&J.keyType===ae&&!ul(c,12)){let de=Ane(p);return Fe(de,_.Type_0_cannot_be_used_as_an_index_type,Ee(c)),h&1?Gr([J.type,Ge]):J.type}return H(J),h&1&&!(a.symbol&&a.symbol.flags&384&&c.symbol&&c.flags&1024&&ju(c.symbol)===a.symbol)?Gr([J.type,Ge]):J.type}if(c.flags&131072)return lt;if(iD(a))return Se;if(k&&!hie(a)){if(Xv(a)){if(ge&&c.flags&384)return Lo.add(hr(k,_.Property_0_does_not_exist_on_type_1,c.value,Ee(a))),Oe;if(c.flags&12){let de=on(a.properties,Ae=>zn(Ae));return Gr(Sn(de,Oe))}}if(a.symbol===Ye&&O!==void 0&&Ye.exports.has(O)&&Ye.exports.get(O).flags&418)Fe(k,_.Property_0_does_not_exist_on_type_1,Gi(O),Ee(a));else if(ge&&!Y.suppressImplicitAnyIndexErrors&&!(h&128))if(O!==void 0&&BCe(O,a)){let de=Ee(a);Fe(k,_.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,O,de,de+"["+Qc(k.argumentExpression)+"]")}else if(fg(a,rt))Fe(k.argumentExpression,_.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{let de;if(O!==void 0&&(de=Xre(O,a)))de!==void 0&&Fe(k.argumentExpression,_.Property_0_does_not_exist_on_type_1_Did_you_mean_2,O,Ee(a),de);else{let Ae=lQe(a,k,c);if(Ae!==void 0)Fe(k,_.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,Ee(a),Ae);else{let xe;if(c.flags&1024)xe=da(void 0,_.Property_0_does_not_exist_on_type_1,"["+Ee(c)+"]",Ee(a));else if(c.flags&8192){let tt=rh(c.symbol,k);xe=da(void 0,_.Property_0_does_not_exist_on_type_1,"["+tt+"]",Ee(a))}else c.flags&128||c.flags&256?xe=da(void 0,_.Property_0_does_not_exist_on_type_1,c.value,Ee(a)):c.flags&12&&(xe=da(void 0,_.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,Ee(c),Ee(a)));xe=da(xe,_.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,Ee(u),Ee(a)),Lo.add(Lh(Gn(k),k,xe))}}}return}}if(iD(a))return Se;if(p){let J=Ane(p);c.flags&384?Fe(J,_.Property_0_does_not_exist_on_type_1,""+c.value,Ee(a)):c.flags&12?Fe(J,_.Type_0_has_no_matching_index_signature_for_type_1,Ee(a),Ee(c)):Fe(J,_.Type_0_cannot_be_used_as_an_index_type,Ee(c))}if(Zo(c))return c;return;function H(J){J&&J.isReadonly&&k&&(Um(k)||GH(k))&&Fe(k,_.Index_signature_in_type_0_only_permits_reading,Ee(a))}}function Ane(n){return n.kind===209?n.argumentExpression:n.kind===196?n.indexType:n.kind===164?n.expression:n}function tB(n){return!!(n.flags&77)||qx(n)}function qx(n){return!!(n.flags&134217728)&&Ji(n.types,tB)||!!(n.flags&268435456)&&tB(n.type)}function SC(n){return!!aD(n)}function Zb(n){return!!(aD(n)&4194304)}function jv(n){return!!(aD(n)&8388608)}function aD(n){return n.flags&3145728?(n.objectFlags&2097152||(n.objectFlags|=2097152|ou(n.types,(a,c)=>a|aD(c),0)),n.objectFlags&12582912):n.flags&33554432?(n.objectFlags&2097152||(n.objectFlags|=2097152|aD(n.baseType)|aD(n.constraint)),n.objectFlags&12582912):(n.flags&58982400||df(n)||Qx(n)?4194304:0)|(n.flags&465829888&&!qx(n)?8388608:0)}function mg(n,a){return n.flags&8388608?yqe(n,a):n.flags&16777216?vqe(n,a):n}function kAe(n,a,c){if(n.flags&1048576||n.flags&2097152&&!xAe(n)){let u=on(n.types,p=>mg(od(p,a),c));return n.flags&2097152||c?so(u):Gr(u)}}function gqe(n,a,c){if(a.flags&1048576){let u=on(a.types,p=>mg(od(n,p),c));return c?so(u):Gr(u)}}function yqe(n,a){let c=a?"simplifiedForWriting":"simplifiedForReading";if(n[c])return n[c]===gc?n:n[c];n[c]=gc;let u=mg(n.objectType,a),p=mg(n.indexType,a),h=gqe(u,p,a);if(h)return n[c]=h;if(!(p.flags&465829888)){let T=kAe(u,p,a);if(T)return n[c]=T}if(Qx(u)&&p.flags&296){let T=LC(u,p.flags&8?0:u.target.fixedLength,0,a);if(T)return n[c]=T}if(df(u)){let T=by(u);if(!T||to(T,w_(u)))return n[c]=Ls(nB(u,n.indexType),k=>mg(k,a))}return n[c]=n}function vqe(n,a){let c=n.checkType,u=n.extendsType,p=Hv(n),h=Wv(n);if(h.flags&131072&&Cy(p)===Cy(c)){if(c.flags&1||to(zE(c),zE(u)))return mg(p,a);if(DAe(c,u))return lt}else if(p.flags&131072&&Cy(h)===Cy(c)){if(!(c.flags&1)&&to(zE(c),zE(u)))return lt;if(c.flags&1||DAe(c,u))return mg(h,a)}return n}function DAe(n,a){return!!(Gr([QP(n,a),lt]).flags&131072)}function nB(n,a){let c=Wu([w_(n)],[a]),u=Jv(n.mapper,c);return Oi(_h(n.target||n),u)}function od(n,a,c=0,u,p,h){return Ay(n,a,c,u,p,h)||(u?ve:ue)}function wAe(n,a){return Im(n,c=>{if(c.flags&384){let u=Np(c);if(Wm(u)){let p=+u;return p>=0&&p<a}}return!1})}function Ay(n,a,c=0,u,p,h){if(n===Tt||a===Tt)return Tt;if(t2e(n)&&!(a.flags&98304)&&ul(a,12)&&(a=ae),Y.noUncheckedIndexedAccess&&c&32&&(c|=1),jv(a)||(u&&u.kind!==196?Qx(n)&&!wAe(a,n.target.fixedLength):Zb(n)&&!(po(n)&&wAe(a,n.target.fixedLength)))){if(n.flags&3)return n;let k=c&1,O=n.id+","+a.id+","+k+Wx(p,h),H=gr.get(O);return H||gr.set(O,H=hqe(n,a,k,p,h)),H}let T=vC(n);if(a.flags&1048576&&!(a.flags&16)){let k=[],O=!1;for(let H of a.types){let J=LAe(n,T,H,a,u,c|(O?128:0));if(J)k.push(J);else if(u)O=!0;else return}return O?void 0:c&4?so(k,p,h):Gr(k,1,p,h)}return LAe(n,T,a,a,u,c|8|64)}function RAe(n){let a=Rr(n);if(!a.resolvedType){let c=$r(n.objectType),u=$r(n.indexType),p=R1(n);a.resolvedType=od(c,u,0,n,p,Xx(p))}return a.resolvedType}function Cne(n){let a=Rr(n);if(!a.resolvedType){let c=Bd(32,n.symbol);c.declaration=n,c.aliasSymbol=R1(n),c.aliasTypeArguments=Xx(c.aliasSymbol),a.resolvedType=c,rp(c)}return a.resolvedType}function Cy(n){return n.flags&33554432?Cy(n.baseType):n.flags&8388608&&(n.objectType.flags&33554432||n.indexType.flags&33554432)?od(Cy(n.objectType),Cy(n.indexType)):n}function bqe(n){let a=eu(n);return a&&(Zb(a)||jv(a))?uB(n):n}function OAe(n){return p2(n)&&Fn(n.elements)>0&&!vt(n.elements,a=>Rz(a)||Oz(a)||bL(a)&&!!(a.questionToken||a.dotDotDotToken))}function NAe(n,a){return SC(n)||a&&po(n)&&vt(Ko(n),SC)}function Ine(n,a,c,u){let p,h,T=0;for(;;){if(T===1e3){Fe(P,_.Type_instantiation_is_excessively_deep_and_possibly_infinite),p=ve;break}let O=OAe(n.node.checkType)&&OAe(n.node.extendsType)&&Fn(n.node.checkType.elements)===Fn(n.node.extendsType.elements),H=Oi(Cy(n.checkType),a),J=NAe(H,O),de=Oi(n.extendsType,a);if(H===Tt||de===Tt)return Tt;let Ae;if(n.inferTypeParameters){let tt=Tl(n.inferTypeParameters,bqe),It=tt!==n.inferTypeParameters?Wu(n.inferTypeParameters,tt):void 0,Tn=_D(tt,void 0,0);if(It){let Nn=Jv(a,It);for(let en of tt)n.inferTypeParameters.indexOf(en)===-1&&(en.mapper=Nn)}J||gh(Tn.inferences,H,Oi(de,It),1536);let un=Jv(It,Tn.mapper);Ae=a?Jv(un,a):un}let xe=Ae?Oi(n.extendsType,Ae):de;if(!J&&!NAe(xe,O)){if(!(xe.flags&3)&&(H.flags&1||!to(dB(H),dB(xe)))){H.flags&1&&(h||(h=[])).push(Oi($r(n.node.trueType),Ae||a));let tt=$r(n.node.falseType);if(tt.flags&16777216){let It=tt.root;if(It.node.parent===n.node&&(!It.isDistributive||It.checkType===n.checkType)){n=It;continue}if(k(tt,a))continue}p=Oi(tt,a);break}if(xe.flags&3||to(zE(H),zE(xe))){let tt=$r(n.node.trueType),It=Ae||a;if(k(tt,It))continue;p=Oi(tt,It);break}}p=ch(16777216),p.root=n,p.checkType=Oi(n.checkType,a),p.extendsType=Oi(n.extendsType,a),p.mapper=a,p.combinedMapper=Ae,p.aliasSymbol=c||n.aliasSymbol,p.aliasTypeArguments=c?u:hg(n.aliasTypeArguments,a);break}return h?Gr(Sn(h,p)):p;function k(O,H){if(O.flags&16777216&&H){let J=O.root;if(J.outerTypeParameters){let de=Jv(O.mapper,H),Ae=on(J.outerTypeParameters,It=>zv(It,de)),xe=Wu(J.outerTypeParameters,Ae),tt=J.isDistributive?zv(J.checkType,xe):void 0;if(!tt||tt===J.checkType||!(tt.flags&1179648))return n=J,a=xe,c=void 0,u=void 0,J.aliasSymbol&&T++,!0}}return!1}}function Hv(n){return n.resolvedTrueType||(n.resolvedTrueType=Oi($r(n.root.node.trueType),n.mapper))}function Wv(n){return n.resolvedFalseType||(n.resolvedFalseType=Oi($r(n.root.node.falseType),n.mapper))}function Eqe(n){return n.resolvedInferredTrueType||(n.resolvedInferredTrueType=n.combinedMapper?Oi($r(n.root.node.trueType),n.combinedMapper):Hv(n))}function PAe(n){let a;return n.locals&&n.locals.forEach(c=>{c.flags&262144&&(a=Sn(a,gs(c)))}),a}function Tqe(n){return n.isDistributive&&(fM(n.checkType,n.node.trueType)||fM(n.checkType,n.node.falseType))}function Sqe(n){let a=Rr(n);if(!a.resolvedType){let c=$r(n.checkType),u=R1(n),p=Xx(u),h=hC(n,!0),T=p?h:Pr(h,O=>fM(O,n)),k={node:n,checkType:c,extendsType:$r(n.extendsType),isDistributive:!!(c.flags&262144),inferTypeParameters:PAe(n),outerTypeParameters:T,instantiations:void 0,aliasSymbol:u,aliasTypeArguments:p};a.resolvedType=Ine(k,void 0),T&&(k.instantiations=new Map,k.instantiations.set(kf(T),a.resolvedType))}return a.resolvedType}function xqe(n){let a=Rr(n);return a.resolvedType||(a.resolvedType=UE(fr(n.typeParameter))),a.resolvedType}function MAe(n){return Re(n)?[n]:Sn(MAe(n.left),n.right)}function Aqe(n){var a;let c=Rr(n);if(!c.resolvedType){if(!ib(n))return Fe(n.argument,_.String_literal_expected),c.resolvedSymbol=Ht,c.resolvedType=ve;let u=n.isTypeOf?111551:n.flags&8388608?900095:788968,p=Gl(n,n.argument.literal);if(!p)return c.resolvedSymbol=Ht,c.resolvedType=ve;let h=!!((a=p.exports)!=null&&a.get("export=")),T=Vu(p,!1);if(rc(n.qualifier))if(T.flags&u)c.resolvedType=FAe(n,c,T,u);else{let k=u===111551?_.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:_.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0;Fe(n,k,n.argument.literal.text),c.resolvedSymbol=Ht,c.resolvedType=ve}else{let k=MAe(n.qualifier),O=T,H;for(;H=k.shift();){let J=k.length?1920:u,de=No(Ac(O)),Ae=n.isTypeOf||Yn(n)&&h?ja(zn(de),H.escapedText,!1,!0):void 0,xe=n.isTypeOf?void 0:yd(Gd(de),H.escapedText,J),tt=xe??Ae;if(!tt)return Fe(H,_.Namespace_0_has_no_exported_member_1,rh(O),os(H)),c.resolvedType=ve;Rr(H).resolvedSymbol=tt,Rr(H.parent).resolvedSymbol=tt,O=tt}c.resolvedType=FAe(n,c,O,u)}}return c.resolvedType}function FAe(n,a,c,u){let p=Ac(c);return a.resolvedSymbol=p,u===111551?pIe(zn(c),n):YG(n,p)}function GAe(n){let a=Rr(n);if(!a.resolvedType){let c=R1(n);if(vy(n.symbol).size===0&&!c)a.resolvedType=mc;else{let u=Bd(16,n.symbol);u.aliasSymbol=c,u.aliasTypeArguments=Xx(c),LL(n)&&n.isArrayType&&(u=nu(u)),a.resolvedType=u}}return a.resolvedType}function R1(n){let a=n.parent;for(;wS(a)||UT(a)||RS(a)&&a.operator===146;)a=a.parent;return sR(a)?fr(a):void 0}function Xx(n){return n?yy(n):void 0}function rB(n){return!!(n.flags&524288)&&!df(n)}function Lne(n){return mh(n)||!!(n.flags&474058748)}function kne(n,a){if(!(n.flags&1048576))return n;if(Ji(n.types,Lne))return wr(n.types,mh)||Ki;let c=wr(n.types,h=>!Lne(h));if(!c||wr(n.types,h=>h!==c&&!Lne(h)))return n;return p(c);function p(h){let T=Ua();for(let O of Jo(h))if(!(Ef(O)&24)){if(iB(O)){let H=O.flags&65536&&!(O.flags&32768),de=wo(16777220,O.escapedName,Bte(O)|(a?8:0));de.links.type=H?Oe:ao(zn(O),!0),de.declarations=O.declarations,de.links.nameType=Ai(O).nameType,de.links.syntheticOrigin=O,T.set(O.escapedName,de)}}let k=ls(h.symbol,T,Je,Je,tu(h));return k.objectFlags|=131200,k}}function e0(n,a,c,u,p){if(n.flags&1||a.flags&1)return Se;if(n.flags&2||a.flags&2)return ue;if(n.flags&131072)return a;if(a.flags&131072)return n;if(n=kne(n,p),n.flags&1048576)return cM([n,a])?Ls(n,H=>e0(H,a,c,u,p)):ve;if(a=kne(a,p),a.flags&1048576)return cM([n,a])?Ls(a,H=>e0(n,H,c,u,p)):ve;if(a.flags&473960444)return n;if(Zb(n)||Zb(a)){if(mh(n))return a;if(n.flags&2097152){let H=n.types,J=H[H.length-1];if(rB(J)&&rB(a))return so(Qi(H.slice(0,H.length-1),[e0(J,a,c,u,p)]))}return so([n,a])}let h=Ua(),T=new Set,k=n===Ki?tu(a):xxe([n,a]);for(let H of Jo(a))Ef(H)&24?T.add(H.escapedName):iB(H)&&h.set(H.escapedName,Dne(H,p));for(let H of Jo(n))if(!(T.has(H.escapedName)||!iB(H)))if(h.has(H.escapedName)){let J=h.get(H.escapedName),de=zn(J);if(J.flags&16777216){let Ae=Qi(H.declarations,J.declarations),xe=4|H.flags&16777216,tt=wo(xe,H.escapedName);tt.links.type=Gr([zn(H),tre(de)],2),tt.links.leftSpread=H,tt.links.rightSpread=J,tt.declarations=Ae,tt.links.nameType=Ai(H).nameType,h.set(H.escapedName,tt)}}else h.set(H.escapedName,Dne(H,p));let O=ls(c,h,Je,Je,Tl(k,H=>Cqe(H,p)));return O.objectFlags|=2228352|u,O}function iB(n){var a;return!vt(n.declarations,xu)&&(!(n.flags&106496)||!((a=n.declarations)!=null&&a.some(c=>Yr(c.parent))))}function Dne(n,a){let c=n.flags&65536&&!(n.flags&32768);if(!c&&a===M_(n))return n;let u=4|n.flags&16777216,p=wo(u,n.escapedName,Bte(n)|(a?8:0));return p.links.type=c?Oe:zn(n),p.declarations=n.declarations,p.links.nameType=Ai(n).nameType,p.links.syntheticOrigin=n,p}function Cqe(n,a){return n.isReadonly!==a?Fp(n.keyType,n.type,a,n.declaration):n}function lM(n,a,c,u){let p=Rp(n,c);return p.value=a,p.regularType=u||p,p}function Yx(n){if(n.flags&2976){if(!n.freshType){let a=lM(n.flags,n.value,n.symbol,n);a.freshType=a,n.freshType=a}return n.freshType}return n}function Hu(n){return n.flags&2976?n.regularType:n.flags&1048576?n.regularType||(n.regularType=Ls(n,Hu)):n}function t0(n){return!!(n.flags&2976)&&n.freshType===n}function ff(n){let a;return $n.get(n)||($n.set(n,a=lM(128,n)),a)}function op(n){let a;return ui.get(n)||(ui.set(n,a=lM(256,n)),a)}function aB(n){let a,c=j0(n);return Ni.get(c)||(Ni.set(c,a=lM(2048,n)),a)}function Iqe(n,a,c){let u,p=`${a}${typeof n=="string"?"@":"#"}${n}`,h=1024|(typeof n=="string"?128:256);return Pi.get(p)||(Pi.set(p,u=lM(h,n,c)),u)}function Lqe(n){if(n.literal.kind===104)return ln;let a=Rr(n);return a.resolvedType||(a.resolvedType=Hu(Yi(n.literal))),a.resolvedType}function kqe(n){let a=Rp(8192,n);return a.escapedName=`__@${a.symbol.escapedName}@${$a(a.symbol)}`,a}function wne(n){if(ece(n)){let a=k6(n)?vd(n.left):vd(n);if(a){let c=Ai(a);return c.uniqueESSymbolType||(c.uniqueESSymbolType=kqe(a))}}return j}function Dqe(n){let a=Ku(n,!1,!1),c=a&&a.parent;if(c&&(Yr(c)||c.kind===261)&&!Ca(a)&&(!Ec(a)||AT(n,a.body)))return vu(fr(c)).thisType;if(c&&rs(c)&&ar(c.parent)&&ic(c.parent)===6)return vu(vd(c.parent.left).parent).thisType;let u=n.flags&8388608?sb(n):void 0;return u&&ms(u)&&ar(u.parent)&&ic(u.parent)===3?vu(vd(u.parent.left).parent).thisType:cp(a)&&AT(n,a.body)?vu(fr(a)).thisType:(Fe(n,_.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface),ve)}function oB(n){let a=Rr(n);return a.resolvedType||(a.resolvedType=Dqe(n)),a.resolvedType}function BAe(n){return $r(uM(n.type)||n.type)}function uM(n){switch(n.kind){case 193:return uM(n.type);case 186:if(n.elements.length===1&&(n=n.elements[0],n.kind===188||n.kind===199&&n.dotDotDotToken))return uM(n.type);break;case 185:return n.elementType}}function wqe(n){let a=Rr(n);return a.resolvedType||(a.resolvedType=n.dotDotDotToken?BAe(n):ao($r(n.type),!0,!!n.questionToken))}function $r(n){return uKe(UAe(n),n)}function UAe(n){switch(n.kind){case 131:case 315:case 316:return Se;case 157:return ue;case 152:return ae;case 148:return rt;case 160:return Ot;case 134:return Te;case 153:return j;case 114:return yt;case 155:return Oe;case 104:return ln;case 144:return lt;case 149:return n.flags&262144&&!ge?Se:jr;case 139:return Q;case 194:case 108:return oB(n);case 198:return Lqe(n);case 180:return dne(n);case 179:return n.assertsModifier?yt:Te;case 230:return dne(n);case 183:return $xe(n);case 185:case 186:return GKe(n);case 187:return jKe(n);case 189:return XKe(n);case 190:return rqe(n);case 317:return dKe(n);case 319:return ao($r(n.type));case 199:return wqe(n);case 193:case 318:case 312:return $r(n.type);case 188:return BAe(n);case 321:return Lnt(n);case 181:case 182:case 184:case 325:case 320:case 326:return GAe(n);case 195:return uqe(n);case 196:return RAe(n);case 197:return Cne(n);case 191:return Sqe(n);case 192:return xqe(n);case 200:return dqe(n);case 202:return Aqe(n);case 79:case 163:case 208:let a=Zf(n);return a?gs(a):ve;default:return ve}}function sB(n,a,c){if(n&&n.length)for(let u=0;u<n.length;u++){let p=n[u],h=c(p,a);if(p!==h){let T=u===0?[]:n.slice(0,u);for(T.push(h),u++;u<n.length;u++)T.push(c(n[u],a));return T}}return n}function hg(n,a){return sB(n,a,Oi)}function cB(n,a){return sB(n,a,$x)}function VAe(n,a){return sB(n,a,zqe)}function Wu(n,a){return n.length===1?n0(n[0],a?a[0]:Se):Rqe(n,a)}function zv(n,a){switch(a.kind){case 0:return n===a.source?a.target:n;case 1:{let u=a.sources,p=a.targets;for(let h=0;h<u.length;h++)if(n===u[h])return p?p[h]:Se;return n}case 2:{let u=a.sources,p=a.targets;for(let h=0;h<u.length;h++)if(n===u[h])return p[h]();return n}case 3:return a.func(n);case 4:case 5:let c=zv(n,a.mapper1);return c!==n&&a.kind===4?Oi(c,a.mapper2):zv(c,a.mapper2)}}function n0(n,a){return L.attachDebugPrototypeIfDebug({kind:0,source:n,target:a})}function Rqe(n,a){return L.attachDebugPrototypeIfDebug({kind:1,sources:n,targets:a})}function dM(n,a){return L.attachDebugPrototypeIfDebug({kind:3,func:n,debugInfo:L.isDebugging?a:void 0})}function Rne(n,a){return L.attachDebugPrototypeIfDebug({kind:2,sources:n,targets:a})}function lB(n,a,c){return L.attachDebugPrototypeIfDebug({kind:n,mapper1:a,mapper2:c})}function jAe(n){return Wu(n,void 0)}function Oqe(n,a){let c=n.inferences.slice(a);return Wu(on(c,u=>u.typeParameter),on(c,()=>ue))}function Jv(n,a){return n?lB(4,n,a):a}function Nqe(n,a){return n?lB(5,n,a):a}function O1(n,a,c){return c?lB(5,n0(n,a),c):n0(n,a)}function oD(n,a,c){return n?lB(5,n,n0(a,c)):n0(a,c)}function Pqe(n){return!n.constraint&&!sne(n)||n.constraint===Co?n:n.restrictiveInstantiation||(n.restrictiveInstantiation=rd(n.symbol),n.restrictiveInstantiation.constraint=Co,n.restrictiveInstantiation)}function uB(n){let a=rd(n.symbol);return a.target=n,a}function Mqe(n,a){return iM(n.kind,n.parameterName,n.parameterIndex,Oi(n.type,a))}function $x(n,a,c){let u;if(n.typeParameters&&!c){u=on(n.typeParameters,uB),a=Jv(Wu(n.typeParameters,u),a);for(let h of u)h.mapper=a}let p=Am(n.declaration,u,n.thisParameter&&One(n.thisParameter,a),sB(n.parameters,a,One),void 0,void 0,n.minArgumentCount,n.flags&39);return p.target=n,p.mapper=a,p}function One(n,a){let c=Ai(n);if(c.type&&!XE(c.type))return n;ac(n)&1&&(n=c.target,a=Jv(c.mapper,a));let u=wo(n.flags,n.escapedName,1|ac(n)&53256);return u.declarations=n.declarations,u.parent=n.parent,u.links.target=n,u.links.mapper=a,n.valueDeclaration&&(u.valueDeclaration=n.valueDeclaration),c.nameType&&(u.links.nameType=c.nameType),u}function Fqe(n,a,c,u){let p=n.objectFlags&4||n.objectFlags&8388608?n.node:n.symbol.declarations[0],h=Rr(p),T=n.objectFlags&4?h.resolvedType:n.objectFlags&64?n.target:n,k=h.outerTypeParameters;if(!k){let O=hC(p,!0);if(cp(p)){let J=Mxe(p);O=si(O,J)}k=O||Je;let H=n.objectFlags&8388612?[p]:n.symbol.declarations;k=(T.objectFlags&8388612||T.symbol.flags&8192||T.symbol.flags&2048)&&!T.aliasTypeArguments?Pr(k,J=>vt(H,de=>fM(J,de))):k,h.outerTypeParameters=k}if(k.length){let O=Jv(n.mapper,a),H=on(k,tt=>zv(tt,O)),J=c||n.aliasSymbol,de=c?u:hg(n.aliasTypeArguments,a),Ae=kf(H)+Wx(J,de);T.instantiations||(T.instantiations=new Map,T.instantiations.set(kf(k)+Wx(T.aliasSymbol,T.aliasTypeArguments),T));let xe=T.instantiations.get(Ae);if(!xe){let tt=Wu(k,H);xe=T.objectFlags&4?cne(n.target,n.node,tt,J,de):T.objectFlags&32?HAe(T,tt,J,de):Mne(T,tt,J,de),T.instantiations.set(Ae,xe)}return xe}return n}function Gqe(n){return!(n.parent.kind===180&&n.parent.typeArguments&&n===n.parent.typeName||n.parent.kind===202&&n.parent.typeArguments&&n===n.parent.qualifier)}function fM(n,a){if(n.symbol&&n.symbol.declarations&&n.symbol.declarations.length===1){let u=n.symbol.declarations[0].parent;for(let p=a;p!==u;p=p.parent)if(!p||p.kind===238||p.kind===191&&pa(p.extendsType,c))return!0;return c(a)}return!0;function c(u){switch(u.kind){case 194:return!!n.isThisType;case 79:return!n.isThisType&&Gm(u)&&Gqe(u)&&UAe(u)===n;case 183:let p=u.exprName,h=Yd(p),T=Qf(h),k=n.symbol.declarations[0],O;if(k.kind===165)O=k.parent;else if(n.isThisType)O=k;else return!0;return T.declarations?vt(T.declarations,H=>AT(H,O))||vt(u.typeArguments,c):!0;case 171:case 170:return!u.type&&!!u.body||vt(u.typeParameters,c)||vt(u.parameters,c)||!!u.type&&c(u.type)}return!!pa(u,c)}}function Nne(n){let a=rp(n);if(a.flags&4194304){let c=Cy(a.type);if(c.flags&262144)return c}}function HAe(n,a,c,u){let p=Nne(n);if(p){let h=Oi(p,a);if(p!==h)return z2e(O_(h),T=>{if(T.flags&61603843&&T!==Tt&&!Ro(T)){if(!n.declaration.nameType){let k;if(_f(T)||T.flags&1&&Sm(p,4)<0&&(k=eu(p))&&Im(k,JE))return Uqe(T,n,O1(p,T,a));if(Qx(T))return Bqe(T,n,p,a);if(po(T))return Vqe(T,n,O1(p,T,a))}return Mne(n,O1(p,T,a))}return T},c,u)}return Oi(rp(n),a)===Tt?Tt:Mne(n,a,c,u)}function Pne(n,a){return a&1?!0:a&2?!1:n}function Bqe(n,a,c,u){let p=n.target.elementFlags,h=on(Ko(n),(k,O)=>{let H=p[O]&8?k:p[O]&4?nu(k):ap([k],[p[O]]);return HAe(a,O1(c,H,u))}),T=Pne(n.target.readonly,Pp(a));return ap(h,on(h,k=>8),T)}function Uqe(n,a,c){let u=WAe(a,rt,!0,c);return Ro(u)?ve:nu(u,Pne(CC(n),Pp(a)))}function Vqe(n,a,c){let u=n.target.elementFlags,p=on(Ko(n),(O,H)=>WAe(a,ff(""+H),!!(u[H]&2),c)),h=Pp(a),T=h&4?on(u,O=>O&1?2:O):h&8?on(u,O=>O&2?1:O):u,k=Pne(n.target.readonly,h);return ya(p,ve)?ve:ap(p,T,k,n.target.labeledElementDeclarations)}function WAe(n,a,c,u){let p=oD(u,w_(n),a),h=Oi(_h(n.target||n),p),T=Pp(n);return U&&T&4&&!Js(h,49152)?gg(h,!0):U&&T&8&&c?wf(h,524288):h}function Mne(n,a,c,u){let p=Bd(n.objectFlags|64,n.symbol);if(n.objectFlags&32){p.declaration=n.declaration;let h=w_(n),T=uB(h);p.typeParameter=T,a=Jv(n0(h,T),a),T.mapper=a}return n.objectFlags&8388608&&(p.node=n.node),p.target=n,p.mapper=a,p.aliasSymbol=c||n.aliasSymbol,p.aliasTypeArguments=c?u:hg(n.aliasTypeArguments,a),p.objectFlags|=p.aliasTypeArguments?qG(p.aliasTypeArguments):0,p}function Fne(n,a,c,u){let p=n.root;if(p.outerTypeParameters){let h=on(p.outerTypeParameters,O=>zv(O,a)),T=kf(h)+Wx(c,u),k=p.instantiations.get(T);if(!k){let O=Wu(p.outerTypeParameters,h),H=p.checkType,J=p.isDistributive?zv(H,O):void 0;k=J&&H!==J&&J.flags&1179648?z2e(O_(J),de=>Ine(p,O1(H,de,O)),c,u):Ine(p,O,c,u),p.instantiations.set(T,k)}return k}return n}function Oi(n,a){return n&&a?zAe(n,a,void 0,void 0):n}function zAe(n,a,c,u){var p;if(!XE(n))return n;if(w===100||A>=5e6)return(p=ai)==null||p.instant(ai.Phase.CheckTypes,"instantiateType_DepthLimit",{typeId:n.id,instantiationDepth:w,instantiationCount:A}),Fe(P,_.Type_instantiation_is_excessively_deep_and_possibly_infinite),ve;x++,A++,w++;let h=jqe(n,a,c,u);return w--,h}function jqe(n,a,c,u){let p=n.flags;if(p&262144)return zv(n,a);if(p&524288){let h=n.objectFlags;if(h&52){if(h&4&&!n.node){let T=n.resolvedTypeArguments,k=hg(T,a);return k!==T?yne(n.target,k):n}return h&1024?Hqe(n,a):Fqe(n,a,c,u)}return n}if(p&3145728){let h=n.flags&1048576?n.origin:void 0,T=h&&h.flags&3145728?h.types:n.types,k=hg(T,a);if(k===T&&c===n.aliasSymbol)return n;let O=c||n.aliasSymbol,H=c?u:hg(n.aliasTypeArguments,a);return p&2097152||h&&h.flags&2097152?so(k,O,H):Gr(k,1,O,H)}if(p&4194304)return Gp(Oi(n.type,a));if(p&134217728)return WE(n.texts,hg(n.types,a));if(p&268435456)return w1(n.symbol,Oi(n.type,a));if(p&8388608){let h=c||n.aliasSymbol,T=c?u:hg(n.aliasTypeArguments,a);return od(Oi(n.objectType,a),Oi(n.indexType,a),n.accessFlags,void 0,h,T)}if(p&16777216)return Fne(n,Jv(n.mapper,a),c,u);if(p&33554432){let h=Oi(n.baseType,a),T=Oi(n.constraint,a);return h.flags&8650752&&SC(T)?lne(h,T):T.flags&3||to(zE(h),zE(T))?h:h.flags&8650752?lne(h,T):so([T,h])}return n}function Hqe(n,a){let c=Oi(n.mappedType,a);if(!(Ur(c)&32))return n;let u=Oi(n.constraintType,a);if(!(u.flags&4194304))return n;let p=T2e(Oi(n.source,a),c,u);return p||n}function Wqe(n){return n.flags&134479871?n:n.uniqueLiteralFilledInstantiation||(n.uniqueLiteralFilledInstantiation=Oi(n,Fo))}function dB(n){return n.flags&134479871?n:n.permissiveInstantiation||(n.permissiveInstantiation=Oi(n,xi))}function zE(n){return n.flags&134479871?n:(n.restrictiveInstantiation||(n.restrictiveInstantiation=Oi(n,Hi),n.restrictiveInstantiation.restrictiveInstantiation=n.restrictiveInstantiation),n.restrictiveInstantiation)}function zqe(n,a){return Fp(n.keyType,Oi(n.type,a),n.isReadonly,n.declaration)}function $f(n){switch(L.assert(n.kind!==171||s_(n)),n.kind){case 215:case 216:case 171:case 259:return JAe(n);case 207:return vt(n.properties,$f);case 206:return vt(n.elements,$f);case 224:return $f(n.whenTrue)||$f(n.whenFalse);case 223:return(n.operatorToken.kind===56||n.operatorToken.kind===60)&&($f(n.left)||$f(n.right));case 299:return $f(n.initializer);case 214:return $f(n.expression);case 289:return vt(n.properties,$f)||Xm(n.parent)&&vt(n.parent.parent.children,$f);case 288:{let{initializer:a}=n;return!!a&&$f(a)}case 291:{let{expression:a}=n;return!!a&&$f(a)}}return!1}function JAe(n){return b4(n)||Jqe(n)}function Jqe(n){return!n.typeParameters&&!U_(n)&&!!n.body&&n.body.kind!==238&&$f(n.body)}function fB(n){return(a2(n)||s_(n))&&JAe(n)}function KAe(n){if(n.flags&524288){let a=R_(n);if(a.constructSignatures.length||a.callSignatures.length){let c=Bd(16,n.symbol);return c.members=a.members,c.properties=a.properties,c.callSignatures=Je,c.constructSignatures=Je,c.indexInfos=Je,c}}else if(n.flags&2097152)return so(on(n.types,KAe));return n}function ph(n,a){return Bp(n,a,td)}function sD(n,a){return Bp(n,a,td)?-1:0}function Gne(n,a){return Bp(n,a,Zu)?-1:0}function Kqe(n,a){return Bp(n,a,hm)?-1:0}function Iy(n,a){return Bp(n,a,hm)}function qAe(n,a){return Bp(n,a,x_)}function to(n,a){return Bp(n,a,Zu)}function r0(n,a){return n.flags&1048576?Ji(n.types,c=>r0(c,a)):a.flags&1048576?vt(a.types,c=>r0(n,c)):n.flags&2097152?vt(n.types,c=>r0(c,a)):n.flags&58982400?r0(bu(n)||ue,a):hh(a)?!!(n.flags&67633152):a===ka?!!(n.flags&67633152)&&!hh(n):a===Hs?!!(n.flags&524288)&&vre(n):BE(n,Bx(a))||_f(a)&&!CC(a)&&r0(n,jo)}function _B(n,a){return Bp(n,a,ed)}function _M(n,a){return _B(n,a)||_B(a,n)}function wu(n,a,c,u,p,h){return Df(n,a,Zu,c,u,p,h)}function Ly(n,a,c,u,p,h){return Bne(n,a,Zu,c,u,p,h,void 0)}function Bne(n,a,c,u,p,h,T,k){return Bp(n,a,c)?!0:!u||!cD(p,n,a,c,h,T,k)?Df(n,a,c,u,h,T,k):!1}function XAe(n){return!!(n.flags&16777216||n.flags&2097152&&vt(n.types,XAe))}function cD(n,a,c,u,p,h,T){if(!n||XAe(c))return!1;if(!Df(a,c,u,void 0)&&qqe(n,a,c,u,p,h,T))return!0;switch(n.kind){case 291:case 214:return cD(n.expression,a,c,u,p,h,T);case 223:switch(n.operatorToken.kind){case 63:case 27:return cD(n.right,a,c,u,p,h,T)}break;case 207:return nXe(n,a,c,u,h,T);case 206:return eXe(n,a,c,u,h,T);case 289:return Zqe(n,a,c,u,h,T);case 216:return Xqe(n,a,c,u,h,T)}return!1}function qqe(n,a,c,u,p,h,T){let k=xa(a,0),O=xa(a,1);for(let H of[O,k])if(vt(H,J=>{let de=qo(J);return!(de.flags&131073)&&Df(de,c,u,void 0)})){let J=T||{};wu(a,c,n,p,h,J);let de=J.errors[J.errors.length-1];return Ao(de,hr(n,H===O?_.Did_you_mean_to_use_new_with_this_expression:_.Did_you_mean_to_call_this_expression)),!0}return!1}function Xqe(n,a,c,u,p,h){if(Va(n.body)||vt(n.parameters,f6))return!1;let T=F1(a);if(!T)return!1;let k=xa(c,0);if(!Fn(k))return!1;let O=n.body,H=qo(T),J=Gr(on(k,qo));if(!Df(H,J,u,void 0)){let de=O&&cD(O,H,J,u,void 0,p,h);if(de)return de;let Ae=h||{};if(Df(H,J,u,O,void 0,p,Ae),Ae.errors)return c.symbol&&Fn(c.symbol.declarations)&&Ao(Ae.errors[Ae.errors.length-1],hr(c.symbol.declarations[0],_.The_expected_type_comes_from_the_return_type_of_this_signature)),!(pl(n)&2)&&!Vc(H,"then")&&Df(jM(H),J,u,void 0)&&Ao(Ae.errors[Ae.errors.length-1],hr(n,_.Did_you_mean_to_mark_this_function_as_async)),!0}return!1}function YAe(n,a,c){let u=Ay(a,c);if(u)return u;if(a.flags&1048576){let p=i2e(n,a);if(p)return Ay(p,c)}}function $Ae(n,a){wM(n,a,!1);let c=BC(n,1);return vD(),c}function pM(n,a,c,u,p,h){let T=!1;for(let k of n){let{errorNode:O,innerExpression:H,nameType:J,errorMessage:de}=k,Ae=YAe(a,c,J);if(!Ae||Ae.flags&8388608)continue;let xe=Ay(a,J);if(!xe)continue;let tt=eB(J,void 0);if(!Df(xe,Ae,u,void 0)){let It=H&&cD(H,xe,Ae,u,void 0,p,h);if(T=!0,!It){let Tn=h||{},un=H?$Ae(H,xe):xe;if(Pe&&mB(un,Ae)){let Nn=hr(O,_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target,Ee(un),Ee(Ae));Lo.add(Nn),Tn.errors=[Nn]}else{let Nn=!!(tt&&(ja(c,tt)||Ht).flags&16777216),en=!!(tt&&(ja(a,tt)||Ht).flags&16777216);Ae=KE(Ae,Nn),xe=KE(xe,Nn&&en),Df(un,Ae,u,O,de,p,Tn)&&un!==xe&&Df(xe,Ae,u,O,de,p,Tn)}if(Tn.errors){let Nn=Tn.errors[Tn.errors.length-1],en=fh(J)?Np(J):void 0,cn=en!==void 0?ja(c,en):void 0,rr=!1;if(!cn){let Jt=rM(c,J);Jt&&Jt.declaration&&!Gn(Jt.declaration).hasNoDefaultLib&&(rr=!0,Ao(Nn,hr(Jt.declaration,_.The_expected_type_comes_from_this_index_signature)))}if(!rr&&(cn&&Fn(cn.declarations)||c.symbol&&Fn(c.symbol.declarations))){let Jt=cn&&Fn(cn.declarations)?cn.declarations[0]:c.symbol.declarations[0];Gn(Jt).hasNoDefaultLib||Ao(Nn,hr(Jt,_.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1,en&&!(J.flags&8192)?Gi(en):Ee(J),Ee(c)))}}}}}return T}function Yqe(n,a,c,u,p,h){let T=jc(c,EB),k=jc(c,J=>!EB(J)),O=k!==lt?Oie(13,0,k,void 0):void 0,H=!1;for(let J=n.next();!J.done;J=n.next()){let{errorNode:de,innerExpression:Ae,nameType:xe,errorMessage:tt}=J.value,It=O,Tn=T!==lt?YAe(a,T,xe):void 0;if(Tn&&!(Tn.flags&8388608)&&(It=O?Gr([O,Tn]):Tn),!It)continue;let un=Ay(a,xe);if(!un)continue;let Nn=eB(xe,void 0);if(!Df(un,It,u,void 0)){let en=Ae&&cD(Ae,un,It,u,void 0,p,h);if(H=!0,!en){let cn=h||{},rr=Ae?$Ae(Ae,un):un;if(Pe&&mB(rr,It)){let Jt=hr(de,_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target,Ee(rr),Ee(It));Lo.add(Jt),cn.errors=[Jt]}else{let Jt=!!(Nn&&(ja(T,Nn)||Ht).flags&16777216),Cn=!!(Nn&&(ja(a,Nn)||Ht).flags&16777216);It=KE(It,Jt),un=KE(un,Jt&&Cn),Df(rr,It,u,de,tt,p,cn)&&rr!==un&&Df(un,It,u,de,tt,p,cn)}}}}return H}function*$qe(n){if(Fn(n.properties))for(let a of n.properties)GT(a)||Fre(vr(a.name))||(yield{errorNode:a.name,innerExpression:a.initializer,nameType:ff(vr(a.name))})}function*Qqe(n,a){if(!Fn(n.children))return;let c=0;for(let u=0;u<n.children.length;u++){let p=n.children[u],h=op(u-c),T=QAe(p,h,a);T?yield T:c++}}function QAe(n,a,c){switch(n.kind){case 291:return{errorNode:n,innerExpression:n.expression,nameType:a};case 11:if(n.containsOnlyTriviaWhiteSpaces)break;return{errorNode:n,innerExpression:void 0,nameType:a,errorMessage:c()};case 281:case 282:case 285:return{errorNode:n,innerExpression:n,nameType:a};default:return L.assertNever(n,"Found invalid jsx child")}}function Zqe(n,a,c,u,p,h){let T=pM($qe(n),a,c,u,p,h),k;if(Xm(n.parent)&&Hg(n.parent.parent)){let H=n.parent.parent,J=HB(tA(n)),de=J===void 0?"children":Gi(J),Ae=ff(de),xe=od(c,Ae),tt=bR(H.children);if(!Fn(tt))return T;let It=Fn(tt)>1,Tn,un;if(pne(!1)!==ro){let en=cAe(Se);Tn=jc(xe,cn=>to(cn,en)),un=jc(xe,cn=>!to(cn,en))}else Tn=jc(xe,EB),un=jc(xe,en=>!EB(en));if(It){if(Tn!==lt){let en=ap(jB(H,0)),cn=Qqe(H,O);T=Yqe(cn,en,Tn,u,p,h)||T}else if(!Bp(od(a,Ae),xe,u)){T=!0;let en=Fe(H.openingElement.tagName,_.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,de,Ee(xe));h&&h.skipLogging&&(h.errors||(h.errors=[])).push(en)}}else if(un!==lt){let en=tt[0],cn=QAe(en,Ae,O);cn&&(T=pM(function*(){yield cn}(),a,c,u,p,h)||T)}else if(!Bp(od(a,Ae),xe,u)){T=!0;let en=Fe(H.openingElement.tagName,_.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,de,Ee(xe));h&&h.skipLogging&&(h.errors||(h.errors=[])).push(en)}}return T;function O(){if(!k){let H=Qc(n.parent.tagName),J=HB(tA(n)),de=J===void 0?"children":Gi(J),Ae=od(c,ff(de)),xe=_._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2;k={...xe,key:"!!ALREADY FORMATTED!!",message:TW(void 0,xe,H,de,Ee(Ae))}}return k}}function*ZAe(n,a){let c=Fn(n.elements);if(c)for(let u=0;u<c;u++){if(IC(a)&&!ja(a,""+u))continue;let p=n.elements[u];if(ol(p))continue;let h=op(u);yield{errorNode:p,innerExpression:p,nameType:h}}}function eXe(n,a,c,u,p,h){if(c.flags&134479868)return!1;if(IC(a))return pM(ZAe(n,c),a,c,u,p,h);wM(n,c,!1);let T=gCe(n,1,!0);return vD(),IC(T)?pM(ZAe(n,c),T,c,u,p,h):!1}function*tXe(n){if(Fn(n.properties))for(let a of n.properties){if(VS(a))continue;let c=TC(fr(a),8576);if(!(!c||c.flags&131072))switch(a.kind){case 175:case 174:case 171:case 300:yield{errorNode:a.name,innerExpression:void 0,nameType:c};break;case 299:yield{errorNode:a.name,innerExpression:a.initializer,nameType:c,errorMessage:Vw(a.name)?_.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:void 0};break;default:L.assertNever(a)}}}function nXe(n,a,c,u,p,h){return c.flags&134479868?!1:pM(tXe(n),a,c,u,p,h)}function e2e(n,a,c,u,p){return Df(n,a,ed,c,u,p)}function rXe(n,a,c){return Une(n,a,c?4:0,!1,void 0,void 0,Gne,void 0)!==0}function pB(n){if(!n.typeParameters&&(!n.thisParameter||Zo(UM(n.thisParameter)))&&n.parameters.length===1&&Xl(n)){let a=UM(n.parameters[0]);return!!((_f(a)?Ko(a)[0]:a).flags&131073&&qo(n).flags&3)}return!1}function Une(n,a,c,u,p,h,T,k){if(n===a||!(c&16&&pB(n))&&pB(a))return-1;if(c&16&&pB(n)&&!pB(a))return 0;let O=xd(a);if(!jp(a)&&(c&8?jp(n)||xd(n)>O:Vp(n)>O))return 0;n.typeParameters&&n.typeParameters!==a.typeParameters&&(a=iKe(a),n=qCe(n,a,void 0,T));let J=xd(n),de=AD(n),Ae=AD(a);(de||Ae)&&Oi(de||Ae,k);let xe=a.declaration?a.declaration.kind:0,tt=!(c&3)&&re&&xe!==171&&xe!==170&&xe!==173,It=-1,Tn=Yb(n);if(Tn&&Tn!==yt){let en=Yb(a);if(en){let cn=!tt&&T(Tn,en,!1)||T(en,Tn,u);if(!cn)return u&&p(_.The_this_types_of_each_signature_are_incompatible),0;It&=cn}}let un=de||Ae?Math.min(J,O):Math.max(J,O),Nn=de||Ae?un-1:-1;for(let en=0;en<un;en++){let cn=en===Nn?SD(n,en):tT(n,en),rr=en===Nn?SD(a,en):tT(a,en);if(cn&&rr){let Jt=c&3?void 0:F1(yg(cn)),Cn=c&3?void 0:F1(yg(rr)),Br=Jt&&Cn&&!Lf(Jt)&&!Lf(Cn)&&(iu(cn)&50331648)===(iu(rr)&50331648)?Une(Cn,Jt,c&8|(tt?2:1),u,p,h,T,k):!(c&3)&&!tt&&T(cn,rr,!1)||T(rr,cn,u);if(Br&&c&8&&en>=Vp(n)&&en<Vp(a)&&T(cn,rr,!1)&&(Br=0),!Br)return u&&p(_.Types_of_parameters_0_and_1_are_incompatible,Gi(FC(n,en)),Gi(FC(a,en))),0;It&=Br}}if(!(c&4)){let en=rne(a)?Se:a.declaration&&cp(a.declaration)?vu(No(a.declaration.symbol)):qo(a);if(en===yt||en===Se)return It;let cn=rne(n)?Se:n.declaration&&cp(n.declaration)?vu(No(n.declaration.symbol)):qo(n),rr=Lf(a);if(rr){let Jt=Lf(n);if(Jt)It&=iXe(Jt,rr,u,p,T);else if(nce(rr))return u&&p(_.Signature_0_must_be_a_type_predicate,ne(n)),0}else It&=c&1&&T(en,cn,!1)||T(cn,en,u),!It&&u&&h&&h(cn,en)}return It}function iXe(n,a,c,u,p){if(n.kind!==a.kind)return c&&(u(_.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard),u(_.Type_predicate_0_is_not_assignable_to_1,kl(n),kl(a))),0;if((n.kind===1||n.kind===3)&&n.parameterIndex!==a.parameterIndex)return c&&(u(_.Parameter_0_is_not_in_the_same_position_as_parameter_1,n.parameterName,a.parameterName),u(_.Type_predicate_0_is_not_assignable_to_1,kl(n),kl(a))),0;let h=n.type===a.type?-1:n.type&&a.type?p(n.type,a.type,c):0;return h===0&&c&&u(_.Type_predicate_0_is_not_assignable_to_1,kl(n),kl(a)),h}function aXe(n,a){let c=tD(n),u=tD(a),p=qo(c),h=qo(u);return h===yt||Bp(h,p,Zu)||Bp(p,h,Zu)?rXe(c,u,!0):!1}function Vne(n){return n!==aa&&n.properties.length===0&&n.callSignatures.length===0&&n.constructSignatures.length===0&&n.indexInfos.length===0}function mh(n){return n.flags&524288?!df(n)&&Vne(R_(n)):n.flags&67108864?!0:n.flags&1048576?vt(n.types,mh):n.flags&2097152?Ji(n.types,mh):!1}function hh(n){return!!(Ur(n)&16&&(n.members&&Vne(n)||n.symbol&&n.symbol.flags&2048&&vy(n.symbol).size===0))}function oXe(n){if(U&&n.flags&1048576){if(!(n.objectFlags&33554432)){let a=n.types;n.objectFlags|=33554432|(a.length>=3&&a[0].flags&32768&&a[1].flags&65536&&vt(a,hh)?67108864:0)}return!!(n.objectFlags&67108864)}return!1}function xC(n){return!!((n.flags&1048576?n.types[0]:n).flags&32768)}function t2e(n){return n.flags&524288&&!df(n)&&Jo(n).length===0&&tu(n).length===1&&!!Cm(n,ae)||n.flags&3145728&&Ji(n.types,t2e)||!1}function jne(n,a,c){let u=n.flags&8?ju(n):n,p=a.flags&8?ju(a):a;if(u===p)return!0;if(u.escapedName!==p.escapedName||!(u.flags&256)||!(p.flags&256))return!1;let h=$a(u)+","+$a(p),T=kb.get(h);if(T!==void 0&&!(!(T&4)&&T&2&&c))return!!(T&1);let k=zn(p);for(let O of Jo(zn(u)))if(O.flags&8){let H=ja(k,O.escapedName);if(!H||!(H.flags&8))return c?(c(_.Property_0_is_missing_in_type_1,fc(O),Ee(gs(p),void 0,64)),kb.set(h,6)):kb.set(h,2),!1}return kb.set(h,1),!0}function lD(n,a,c,u){let p=n.flags,h=a.flags;return h&1||p&131072||n===Tt||h&2&&!(c===x_&&p&1)?!0:h&131072?!1:!!(p&402653316&&h&4||p&128&&p&1024&&h&128&&!(h&1024)&&n.value===a.value||p&296&&h&8||p&256&&p&1024&&h&256&&!(h&1024)&&n.value===a.value||p&2112&&h&64||p&528&&h&16||p&12288&&h&4096||p&32&&h&32&&n.symbol.escapedName===a.symbol.escapedName&&jne(n.symbol,a.symbol,u)||p&1024&&h&1024&&(p&1048576&&h&1048576&&jne(n.symbol,a.symbol,u)||p&2944&&h&2944&&n.value===a.value&&jne(n.symbol,a.symbol,u))||p&32768&&(!U&&!(h&3145728)||h&49152)||p&65536&&(!U&&!(h&3145728)||h&65536)||p&524288&&h&67108864&&!(c===x_&&hh(n)&&!(Ur(n)&8192))||(c===Zu||c===ed)&&(p&1||p&8&&(h&32||h&256&&h&1024)||p&256&&!(p&1024)&&(h&32||h&256&&h&1024&&n.value===a.value)||oXe(a)))}function Bp(n,a,c){if(t0(n)&&(n=n.regularType),t0(a)&&(a=a.regularType),n===a)return!0;if(c!==td){if(c===ed&&!(a.flags&131072)&&lD(a,n,c)||lD(n,a,c))return!0}else if(!((n.flags|a.flags)&61865984)){if(n.flags!==a.flags)return!1;if(n.flags&67358815)return!0}if(n.flags&524288&&a.flags&524288){let u=c.get(Kne(n,a,0,c,!1));if(u!==void 0)return!!(u&1)}return n.flags&469499904||a.flags&469499904?Df(n,a,c,void 0):!1}function n2e(n,a){return Ur(n)&2048&&Fre(a.escapedName)}function mM(n,a){for(;;){let c=t0(n)?n.regularType:Ur(n)&4?n.node?_g(n.target,Ko(n)):Yne(n)||n:n.flags&3145728?sXe(n,a):n.flags&33554432?a?n.baseType:une(n):n.flags&25165824?mg(n,a):n;if(c===n)return c;n=c}}function sXe(n,a){let c=O_(n);if(c!==n)return c;if(n.flags&2097152&&vt(n.types,hh)){let u=Tl(n.types,p=>mM(p,a));if(u!==n.types)return so(u)}return n}function Df(n,a,c,u,p,h,T){var k;let O,H,J,de,Ae,xe=0,tt=0,It=0,Tn=0,un=!1,Nn=0,en,cn;L.assert(c!==td||!u,"no error reporting in identity checking");let rr=ji(n,a,3,!!u,p);if(cn&&Br(),un){(k=ai)==null||k.instant(ai.Phase.CheckTypes,"checkTypeRelatedTo_DepthLimit",{sourceId:n.id,targetId:a.id,depth:tt,targetDepth:It});let ze=Fe(u||P,_.Excessive_stack_depth_comparing_types_0_and_1,Ee(n),Ee(a));T&&(T.errors||(T.errors=[])).push(ze)}else if(O){if(h){let Ut=h();Ut&&(gle(Ut,O),O=Ut)}let ze;if(p&&u&&!rr&&n.symbol){let Ut=Ai(n.symbol);if(Ut.originatingImport&&!Dd(Ut.originatingImport)&&Df(zn(Ut.target),a,c,void 0)){let Zn=hr(Ut.originatingImport,_.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead);ze=Sn(ze,Zn)}}let dt=Lh(Gn(u),u,O,ze);H&&Ao(dt,...H),T&&(T.errors||(T.errors=[])).push(dt),(!T||!T.skipLogging)&&Lo.add(dt)}return u&&T&&T.skipLogging&&rr===0&&L.assert(!!T.errors,"missed opportunity to interact with error."),rr!==0;function Jt(ze){O=ze.errorInfo,en=ze.lastSkippedInfo,cn=ze.incompatibleStack,Nn=ze.overrideNextErrorInfo,H=ze.relatedInfo}function Cn(){return{errorInfo:O,lastSkippedInfo:en,incompatibleStack:cn?.slice(),overrideNextErrorInfo:Nn,relatedInfo:H?.slice()}}function Rn(ze,dt,Ut,wn,Zn){Nn++,en=void 0,(cn||(cn=[])).push([ze,dt,Ut,wn,Zn])}function Br(){let ze=cn||[];cn=void 0;let dt=en;if(en=void 0,ze.length===1){Hr(...ze[0]),dt&&wa(void 0,...dt);return}let Ut="",wn=[];for(;ze.length;){let[Zn,...fn]=ze.pop();switch(Zn.code){case _.Types_of_property_0_are_incompatible.code:{Ut.indexOf("new ")===0&&(Ut=`(${Ut})`);let sr=""+fn[0];Ut.length===0?Ut=`${sr}`:i_(sr,Do(Y))?Ut=`${Ut}.${sr}`:sr[0]==="["&&sr[sr.length-1]==="]"?Ut=`${Ut}${sr}`:Ut=`${Ut}[${sr}]`;break}case _.Call_signature_return_types_0_and_1_are_incompatible.code:case _.Construct_signature_return_types_0_and_1_are_incompatible.code:case _.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:case _.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:{if(Ut.length===0){let sr=Zn;Zn.code===_.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?sr=_.Call_signature_return_types_0_and_1_are_incompatible:Zn.code===_.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code&&(sr=_.Construct_signature_return_types_0_and_1_are_incompatible),wn.unshift([sr,fn[0],fn[1]])}else{let sr=Zn.code===_.Construct_signature_return_types_0_and_1_are_incompatible.code||Zn.code===_.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?"new ":"",Ar=Zn.code===_.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code||Zn.code===_.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?"":"...";Ut=`${sr}${Ut}(${Ar})`}break}case _.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code:{wn.unshift([_.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,fn[0],fn[1]]);break}case _.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code:{wn.unshift([_.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,fn[0],fn[1],fn[2]]);break}default:return L.fail(`Unhandled Diagnostic: ${Zn.code}`)}}Ut?Hr(Ut[Ut.length-1]===")"?_.The_types_returned_by_0_are_incompatible_between_these_types:_.The_types_of_0_are_incompatible_between_these_types,Ut):wn.shift();for(let[Zn,...fn]of wn){let sr=Zn.elidedInCompatabilityPyramid;Zn.elidedInCompatabilityPyramid=!1,Hr(Zn,...fn),Zn.elidedInCompatabilityPyramid=sr}dt&&wa(void 0,...dt)}function Hr(ze,dt,Ut,wn,Zn){L.assert(!!u),cn&&Br(),!ze.elidedInCompatabilityPyramid&&(O=da(O,ze,dt,Ut,wn,Zn))}function qi(ze){L.assert(!!O),H?H.push(ze):H=[ze]}function wa(ze,dt,Ut){cn&&Br();let[wn,Zn]=Wt(dt,Ut),fn=dt,sr=wn;if(uD(dt)&&!Hne(Ut)&&(fn=ky(dt),L.assert(!to(fn,Ut),"generalized source shouldn't be assignable"),sr=lr(fn)),(Ut.flags&8388608&&!(dt.flags&8388608)?Ut.objectType.flags:Ut.flags)&262144&&Ut!==ss&&Ut!==qs){let Ei=bu(Ut),ia;Ei&&(to(fn,Ei)||(ia=to(dt,Ei)))?Hr(_._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2,ia?wn:sr,Zn,Ee(Ei)):(O=void 0,Hr(_._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,Zn,sr))}if(ze)ze===_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1&&Pe&&r2e(dt,Ut).length&&(ze=_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties);else if(c===ed)ze=_.Type_0_is_not_comparable_to_type_1;else if(wn===Zn)ze=_.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated;else if(Pe&&r2e(dt,Ut).length)ze=_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties;else{if(dt.flags&128&&Ut.flags&1048576){let Ei=uQe(dt,Ut);if(Ei){Hr(_.Type_0_is_not_assignable_to_type_1_Did_you_mean_2,sr,Zn,Ee(Ei));return}}ze=_.Type_0_is_not_assignable_to_type_1}Hr(ze,sr,Zn)}function Xc(ze,dt){let Ut=ci(ze.symbol)?Ee(ze,ze.symbol.valueDeclaration):Ee(ze),wn=ci(dt.symbol)?Ee(dt,dt.symbol.valueDeclaration):Ee(dt);(Ws===ze&&ae===dt||hd===ze&&rt===dt||vc===ze&&Te===dt||iAe()===ze&&j===dt)&&Hr(_._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,wn,Ut)}function pf(ze,dt,Ut){return po(ze)?ze.target.readonly&&vB(dt)?(Ut&&Hr(_.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,Ee(ze),Ee(dt)),!1):JE(dt):CC(ze)&&vB(dt)?(Ut&&Hr(_.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,Ee(ze),Ee(dt)),!1):po(dt)?_f(ze):!0}function Hd(ze,dt,Ut){return ji(ze,dt,3,Ut)}function ji(ze,dt,Ut=3,wn=!1,Zn,fn=0){if(ze.flags&524288&&dt.flags&134348796)return c===ed&&!(dt.flags&131072)&&lD(dt,ze,c)||lD(ze,dt,c,wn?Hr:void 0)?-1:(wn&&In(ze,dt,ze,dt,Zn),0);let sr=mM(ze,!1),Ar=mM(dt,!0);if(sr===Ar)return-1;if(c===td)return sr.flags!==Ar.flags?0:sr.flags&67358815?-1:(qn(sr,Ar),Mn(sr,Ar,!1,0,Ut));if(sr.flags&262144&&VE(sr)===Ar)return-1;if(sr.flags&470302716&&Ar.flags&1048576){let Ei=Ar.types,ia=Ei.length===2&&Ei[0].flags&98304?Ei[1]:Ei.length===3&&Ei[0].flags&98304&&Ei[1].flags&98304?Ei[2]:void 0;if(ia&&!(ia.flags&98304)&&(Ar=mM(ia,!0),sr===Ar))return-1}if(c===ed&&!(Ar.flags&131072)&&lD(Ar,sr,c)||lD(sr,Ar,c,wn?Hr:void 0))return-1;if(sr.flags&469499904||Ar.flags&469499904){if(!(fn&2)&&Xv(sr)&&Ur(sr)&8192&&ga(sr,Ar,wn))return wn&&wa(Zn,sr,dt.aliasSymbol?dt:Ar),0;let ia=(c!==ed||N_(sr))&&!(fn&2)&&sr.flags&136970236&&sr!==ka&&Ar.flags&2621440&&a2e(Ar)&&(Jo(sr).length>0||EU(sr)),Aa=!!(Ur(sr)&2048);if(ia&&!lXe(sr,Ar,Aa)){if(wn){let Oa=Ee(ze.aliasSymbol?ze:sr),mo=Ee(dt.aliasSymbol?dt:Ar),co=xa(sr,0),as=xa(sr,1);co.length>0&&ji(qo(co[0]),Ar,1,!1)||as.length>0&&ji(qo(as[0]),Ar,1,!1)?Hr(_.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,Oa,mo):Hr(_.Type_0_has_no_properties_in_common_with_type_1,Oa,mo)}return 0}qn(sr,Ar);let Zr=sr.flags&1048576&&sr.types.length<4&&!(Ar.flags&1048576)||Ar.flags&1048576&&Ar.types.length<4&&!(sr.flags&469499904)?ko(sr,Ar,wn,fn):Mn(sr,Ar,wn,fn,Ut);if(Zr)return Zr}return wn&&In(ze,dt,sr,Ar,Zn),0}function In(ze,dt,Ut,wn,Zn){var fn,sr;let Ar=!!Yne(ze),Ei=!!Yne(dt);Ut=ze.aliasSymbol||Ar?ze:Ut,wn=dt.aliasSymbol||Ei?dt:wn;let ia=Nn>0;if(ia&&Nn--,Ut.flags&524288&&wn.flags&524288){let Aa=O;pf(Ut,wn,!0),O!==Aa&&(ia=!!O)}if(Ut.flags&524288&&wn.flags&134348796)Xc(Ut,wn);else if(Ut.symbol&&Ut.flags&524288&&ka===Ut)Hr(_.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(Ur(Ut)&2048&&wn.flags&2097152){let Aa=wn.types,Ra=s0(Qd.IntrinsicAttributes,u),Zr=s0(Qd.IntrinsicClassAttributes,u);if(!Ro(Ra)&&!Ro(Zr)&&(ya(Aa,Ra)||ya(Aa,Zr)))return}else O=Xte(O,dt);if(!Zn&&ia){en=[Ut,wn];return}if(wa(Zn,Ut,wn),Ut.flags&262144&&((sr=(fn=Ut.symbol)==null?void 0:fn.declarations)!=null&&sr[0])&&!VE(Ut)){let Aa=uB(Ut);if(Aa.constraint=Oi(wn,n0(Ut,Aa)),$k(Aa)){let Ra=Ee(wn,Ut.symbol.declarations[0]);qi(hr(Ut.symbol.declarations[0],_.This_type_parameter_might_need_an_extends_0_constraint,Ra))}}}function qn(ze,dt){if(ai&&ze.flags&3145728&&dt.flags&3145728){let Ut=ze,wn=dt;if(Ut.objectFlags&wn.objectFlags&32768)return;let Zn=Ut.types.length,fn=wn.types.length;Zn*fn>1e6&&ai.instant(ai.Phase.CheckTypes,"traceUnionsOrIntersectionsTooLarge_DepthLimit",{sourceId:ze.id,sourceSize:Zn,targetId:dt.id,targetSize:fn,pos:u?.pos,end:u?.end})}}function Mi(ze,dt){return Gr(ou(ze,(wn,Zn)=>{var fn;Zn=Eu(Zn);let sr=Zn.flags&3145728?qte(Zn,dt):qb(Zn,dt),Ar=sr&&zn(sr)||((fn=jx(Zn,dt))==null?void 0:fn.type)||Oe;return Sn(wn,Ar)},void 0)||Je)}function ga(ze,dt,Ut){var wn;if(!NM(dt)||!ge&&Ur(dt)&4096)return!1;let Zn=!!(Ur(ze)&2048);if((c===Zu||c===ed)&&(gD(ka,dt)||!Zn&&mh(dt)))return!1;let fn=dt,sr;dt.flags&1048576&&(fn=mke(ze,dt,ji)||_it(dt),sr=fn.flags&1048576?fn.types:[fn]);for(let Ar of Jo(ze))if(Bi(Ar,ze.symbol)&&!n2e(ze,Ar)){if(!Vre(fn,Ar.escapedName,Zn)){if(Ut){let Ei=jc(fn,NM);if(!u)return L.fail();if(K0(u)||Au(u)||Au(u.parent)){Ar.valueDeclaration&&Sp(Ar.valueDeclaration)&&Gn(u)===Gn(Ar.valueDeclaration.name)&&(u=Ar.valueDeclaration.name);let ia=E(Ar),Aa=VCe(ia,Ei),Ra=Aa?E(Aa):void 0;Ra?Hr(_.Property_0_does_not_exist_on_type_1_Did_you_mean_2,ia,Ee(Ei),Ra):Hr(_.Property_0_does_not_exist_on_type_1,ia,Ee(Ei))}else{let ia=((wn=ze.symbol)==null?void 0:wn.declarations)&&Sl(ze.symbol.declarations),Aa;if(Ar.valueDeclaration&&jn(Ar.valueDeclaration,Ra=>Ra===ia)&&Gn(ia)===Gn(u)){let Ra=Ar.valueDeclaration;L.assertNode(Ra,Og),u=Ra;let Zr=Ra.name;Re(Zr)&&(Aa=Xre(Zr,Ei))}Aa!==void 0?Hr(_.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,E(Ar),Ee(Ei),Aa):Hr(_.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,E(Ar),Ee(Ei))}}return!0}if(sr&&!ji(zn(Ar),Mi(sr,Ar.escapedName),3,Ut))return Ut&&Rn(_.Types_of_property_0_are_incompatible,E(Ar)),!0}return!1}function Bi(ze,dt){return ze.valueDeclaration&&dt.valueDeclaration&&ze.valueDeclaration.parent===dt.valueDeclaration}function ko(ze,dt,Ut,wn){if(ze.flags&1048576)return c===ed?Tu(ze,dt,Ut&&!(ze.flags&134348796),wn):he(ze,dt,Ut&&!(ze.flags&134348796),wn);if(dt.flags&1048576)return Xs(EM(ze),dt,Ut&&!(ze.flags&134348796)&&!(dt.flags&134348796));if(dt.flags&2097152)return no(ze,dt,Ut,2);if(c===ed&&dt.flags&134348796){let Zn=Tl(ze.types,fn=>fn.flags&465829888?bu(fn)||ue:fn);if(Zn!==ze.types){if(ze=so(Zn),ze.flags&131072)return 0;if(!(ze.flags&2097152))return ji(ze,dt,1,!1)||ji(dt,ze,1,!1)}}return Tu(ze,dt,!1,1)}function us(ze,dt){let Ut=-1,wn=ze.types;for(let Zn of wn){let fn=Xs(Zn,dt,!1);if(!fn)return 0;Ut&=fn}return Ut}function Xs(ze,dt,Ut){let wn=dt.types;if(dt.flags&1048576){if(Qb(wn,ze))return-1;let Zn=O2e(dt,ze);if(Zn){let fn=ji(ze,Zn,2,!1);if(fn)return fn}}for(let Zn of wn){let fn=ji(ze,Zn,2,!1);if(fn)return fn}if(Ut){let Zn=i2e(ze,dt,ji);Zn&&ji(ze,Zn,2,!0)}return 0}function no(ze,dt,Ut,wn){let Zn=-1,fn=dt.types;for(let sr of fn){let Ar=ji(ze,sr,2,Ut,void 0,wn);if(!Ar)return 0;Zn&=Ar}return Zn}function Tu(ze,dt,Ut,wn){let Zn=ze.types;if(ze.flags&1048576&&Qb(Zn,dt))return-1;let fn=Zn.length;for(let sr=0;sr<fn;sr++){let Ar=ji(Zn[sr],dt,1,Ut&&sr===fn-1,void 0,wn);if(Ar)return Ar}return 0}function et(ze,dt){return ze.flags&1048576&&dt.flags&1048576&&!(ze.types[0].flags&32768)&&dt.types[0].flags&32768?DC(dt,-32769):dt}function he(ze,dt,Ut,wn){let Zn=-1,fn=ze.types,sr=et(ze,dt);for(let Ar=0;Ar<fn.length;Ar++){let Ei=fn[Ar];if(sr.flags&1048576&&fn.length>=sr.types.length&&fn.length%sr.types.length===0){let Aa=ji(Ei,sr.types[Ar%sr.types.length],3,!1,void 0,wn);if(Aa){Zn&=Aa;continue}}let ia=ji(Ei,dt,1,Ut,void 0,wn);if(!ia)return 0;Zn&=ia}return Zn}function Bn(ze=Je,dt=Je,Ut=Je,wn,Zn){if(ze.length!==dt.length&&c===td)return 0;let fn=ze.length<=dt.length?ze.length:dt.length,sr=-1;for(let Ar=0;Ar<fn;Ar++){let Ei=Ar<Ut.length?Ut[Ar]:1,ia=Ei&7;if(ia!==4){let Aa=ze[Ar],Ra=dt[Ar],Zr=-1;if(Ei&8?Zr=c===td?ji(Aa,Ra,3,!1):sD(Aa,Ra):ia===1?Zr=ji(Aa,Ra,3,wn,void 0,Zn):ia===2?Zr=ji(Ra,Aa,3,wn,void 0,Zn):ia===3?(Zr=ji(Ra,Aa,3,!1),Zr||(Zr=ji(Aa,Ra,3,wn,void 0,Zn))):(Zr=ji(Aa,Ra,3,wn,void 0,Zn),Zr&&(Zr&=ji(Ra,Aa,3,wn,void 0,Zn))),!Zr)return 0;sr&=Zr}}return sr}function Mn(ze,dt,Ut,wn,Zn){var fn,sr,Ar;if(un)return 0;let Ei=Kne(ze,dt,wn,c,!1),ia=c.get(Ei);if(ia!==void 0&&!(Ut&&ia&2&&!(ia&4))){if(Qr){let co=ia&24;co&8&&Oi(ze,gn),co&16&&Oi(ze,Wi)}return ia&1?-1:0}if(!J)J=[],de=[],Ae=[];else{let co=Ei.startsWith("*")?Kne(ze,dt,wn,c,!0):void 0;for(let as=0;as<xe;as++)if(Ei===J[as]||co&&co===J[as])return 3;if(tt===100||It===100)return un=!0,0}let Aa=xe;J[xe]=Ei,xe++;let Ra=Tn;Zn&1&&(de[tt]=ze,tt++,!(Tn&1)&&yM(ze,de,tt)&&(Tn|=1)),Zn&2&&(Ae[It]=dt,It++,!(Tn&2)&&yM(dt,Ae,It)&&(Tn|=2));let Zr,Oa=0;Qr&&(Zr=Qr,Qr=co=>(Oa|=co?16:8,Zr(co)));let mo;if(Tn===3?((fn=ai)==null||fn.instant(ai.Phase.CheckTypes,"recursiveTypeRelatedTo_DepthLimit",{sourceId:ze.id,sourceIdStack:de.map(co=>co.id),targetId:dt.id,targetIdStack:Ae.map(co=>co.id),depth:tt,targetDepth:It}),mo=3):((sr=ai)==null||sr.push(ai.Phase.CheckTypes,"structuredTypeRelatedTo",{sourceId:ze.id,targetId:dt.id}),mo=or(ze,dt,Ut,wn),(Ar=ai)==null||Ar.pop()),Qr&&(Qr=Zr),Zn&1&&tt--,Zn&2&&It--,Tn=Ra,mo){if(mo===-1||tt===0&&It===0){if(mo===-1||mo===3)for(let co=Aa;co<xe;co++)c.set(J[co],1|Oa);xe=Aa}}else c.set(Ei,(Ut?4:0)|2|Oa),xe=Aa;return mo}function or(ze,dt,Ut,wn){let Zn=Cn(),fn=_r(ze,dt,Ut,wn,Zn);if(c!==td){if(!fn&&(ze.flags&2097152||ze.flags&262144&&dt.flags&1048576)){let sr=jJe(ze.flags&2097152?ze.types:[ze],!!(dt.flags&1048576));sr&&Im(sr,Ar=>Ar!==ze)&&(fn=ji(sr,dt,1,!1,void 0,wn))}fn&&!(wn&2)&&dt.flags&2097152&&!Zb(dt)&&ze.flags&2621440?(fn&=Ft(ze,dt,Ut,void 0,!1,0),fn&&Xv(ze)&&Ur(ze)&8192&&(fn&=Bo(ze,dt,!1,Ut,0))):fn&&rB(dt)&&!JE(dt)&&ze.flags&2097152&&Eu(ze).flags&3670016&&!vt(ze.types,sr=>sr===dt||!!(Ur(sr)&262144))&&(fn&=Ft(ze,dt,Ut,void 0,!0,wn))}return fn&&Jt(Zn),fn}function _r(ze,dt,Ut,wn,Zn){let fn,sr,Ar=!1,Ei=ze.flags,ia=dt.flags;if(c===td){if(Ei&3145728){let Zr=us(ze,dt);return Zr&&(Zr&=us(dt,ze)),Zr}if(Ei&4194304)return ji(ze.type,dt.type,3,!1);if(Ei&8388608&&(fn=ji(ze.objectType,dt.objectType,3,!1))&&(fn&=ji(ze.indexType,dt.indexType,3,!1))||Ei&16777216&&ze.root.isDistributive===dt.root.isDistributive&&(fn=ji(ze.checkType,dt.checkType,3,!1))&&(fn&=ji(ze.extendsType,dt.extendsType,3,!1))&&(fn&=ji(Hv(ze),Hv(dt),3,!1))&&(fn&=ji(Wv(ze),Wv(dt),3,!1))||Ei&33554432&&(fn=ji(ze.baseType,dt.baseType,3,!1))&&(fn&=ji(ze.constraint,dt.constraint,3,!1)))return fn;if(!(Ei&524288))return 0}else if(Ei&3145728||ia&3145728){if(fn=ko(ze,dt,Ut,wn))return fn;if(!(Ei&465829888||Ei&524288&&ia&1048576||Ei&2097152&&ia&467402752))return 0}if(Ei&17301504&&ze.aliasSymbol&&ze.aliasTypeArguments&&ze.aliasSymbol===dt.aliasSymbol&&!(hB(ze)||hB(dt))){let Zr=o2e(ze.aliasSymbol);if(Zr===Je)return 1;let Oa=Ai(ze.aliasSymbol).typeParameters,mo=Mp(Oa),co=Sy(ze.aliasTypeArguments,Oa,mo,Yn(ze.aliasSymbol.valueDeclaration)),as=Sy(dt.aliasTypeArguments,Oa,mo,Yn(ze.aliasSymbol.valueDeclaration)),Ul=Ra(co,as,Zr,wn);if(Ul!==void 0)return Ul}if(_2e(ze)&&!ze.target.readonly&&(fn=ji(Ko(ze)[0],dt,1))||_2e(dt)&&(dt.target.readonly||vB(bu(ze)||ze))&&(fn=ji(ze,Ko(dt)[0],2)))return fn;if(ia&262144){if(Ur(ze)&32&&!ze.declaration.nameType&&ji(Gp(dt),rp(ze),3)&&!(Pp(ze)&4)){let Zr=_h(ze),Oa=od(dt,w_(ze));if(fn=ji(Zr,Oa,3,Ut))return fn}if(c===ed&&Ei&262144){let Zr=eu(ze);if(Zr&&$k(ze))for(;Zr&&yh(Zr,Oa=>!!(Oa.flags&262144));){if(fn=ji(Zr,dt,1,!1))return fn;Zr=eu(Zr)}return 0}}else if(ia&4194304){let Zr=dt.type;if(Ei&4194304&&(fn=ji(Zr,ze.type,3,!1)))return fn;if(po(Zr)){if(fn=ji(ze,_Ae(Zr),2,Ut))return fn}else{let Oa=jte(Zr);if(Oa){if(ji(ze,Gp(Oa,dt.stringsOnly),2,Ut)===-1)return-1}else if(df(Zr)){let mo=by(Zr),co=rp(Zr),as;if(mo&&Yk(Zr)){let Ul=Eu(yC(Zr)),F_=[];Ute(Ul,8576,!1,Dm=>void F_.push(Oi(mo,oD(Zr.mapper,w_(Zr),Dm)))),as=Gr([...F_,mo])}else as=mo||co;if(ji(ze,as,2,Ut)===-1)return-1}}}else if(ia&8388608){if(Ei&8388608){if((fn=ji(ze.objectType,dt.objectType,3,Ut))&&(fn&=ji(ze.indexType,dt.indexType,3,Ut)),fn)return fn;Ut&&(sr=O)}if(c===Zu||c===ed){let Zr=dt.objectType,Oa=dt.indexType,mo=bu(Zr)||Zr,co=bu(Oa)||Oa;if(!Zb(mo)&&!jv(co)){let as=4|(mo!==Zr?2:0),Ul=Ay(mo,co,as);if(Ul){if(Ut&&sr&&Jt(Zn),fn=ji(ze,Ul,2,Ut,void 0,wn))return fn;Ut&&sr&&O&&(O=Aa([sr])<=Aa([O])?sr:O)}}}Ut&&(sr=void 0)}else if(df(dt)&&c!==td){let Zr=!!dt.declaration.nameType,Oa=_h(dt),mo=Pp(dt);if(!(mo&8)){if(!Zr&&Oa.flags&8388608&&Oa.objectType===ze&&Oa.indexType===w_(dt))return-1;if(!df(ze)){let co=Zr?by(dt):rp(dt),as=Gp(ze,void 0,!0),Ul=mo&4,F_=Ul?QP(co,as):void 0;if(Ul?!(F_.flags&131072):ji(co,as,3)){let Dm=_h(dt),$v=w_(dt),U1=DC(Dm,-98305);if(!Zr&&U1.flags&8388608&&U1.indexType===$v){if(fn=ji(ze,U1.objectType,2,Ut))return fn}else{let KC=Zr?F_||co:F_?so([F_,$v]):$v,Hp=od(ze,KC);if(fn=ji(Hp,Dm,3,Ut))return fn}}sr=O,Jt(Zn)}}}else if(ia&16777216){if(yM(dt,Ae,It,10))return 3;let Zr=dt;if(!Zr.root.inferTypeParameters&&!Tqe(Zr.root)){let Oa=!to(dB(Zr.checkType),dB(Zr.extendsType)),mo=!Oa&&to(zE(Zr.checkType),zE(Zr.extendsType));if((fn=Oa?-1:ji(ze,Hv(Zr),2,!1,void 0,wn))&&(fn&=mo?-1:ji(ze,Wv(Zr),2,!1,void 0,wn),fn))return fn}}else if(ia&134217728){if(Ei&134217728){if(c===ed)return XXe(ze,dt)?0:-1;Oi(ze,Wi)}if(_re(ze,dt))return-1}else if(dt.flags&268435456&&!(ze.flags&268435456)&&fre(ze,dt))return-1;if(Ei&8650752){if(!(Ei&8388608&&ia&8388608)){let Zr=VE(ze)||ue;if(fn=ji(Zr,dt,1,!1,void 0,wn))return fn;if(fn=ji(uf(Zr,ze),dt,1,Ut&&Zr!==ue&&!(ia&Ei&262144),void 0,wn))return fn;if(Jte(ze)){let Oa=VE(ze.indexType);if(Oa&&(fn=ji(od(ze.objectType,Oa),dt,1,Ut)))return fn}}}else if(Ei&4194304){if(fn=ji(Si,dt,1,Ut))return fn}else if(Ei&134217728&&!(ia&524288)){if(!(ia&134217728)){let Zr=bu(ze);if(Zr&&Zr!==ze&&(fn=ji(Zr,dt,1,Ut)))return fn}}else if(Ei&268435456)if(ia&268435456){if(ze.symbol!==dt.symbol)return 0;if(fn=ji(ze.type,dt.type,3,Ut))return fn}else{let Zr=bu(ze);if(Zr&&(fn=ji(Zr,dt,1,Ut)))return fn}else if(Ei&16777216){if(yM(ze,de,tt,10))return 3;if(ia&16777216){let Oa=ze.root.inferTypeParameters,mo=ze.extendsType,co;if(Oa){let as=_D(Oa,void 0,0,Hd);gh(as.inferences,dt.extendsType,mo,1536),mo=Oi(mo,as.mapper),co=as.mapper}if(ph(mo,dt.extendsType)&&(ji(ze.checkType,dt.checkType,3)||ji(dt.checkType,ze.checkType,3))&&((fn=ji(Oi(Hv(ze),co),Hv(dt),3,Ut))&&(fn&=ji(Wv(ze),Wv(dt),3,Ut)),fn))return fn}else{let Oa=$k(ze)?Dxe(ze):void 0;if(Oa&&(fn=ji(Oa,dt,1,Ut)))return fn}let Zr=Hte(ze);if(Zr&&(fn=ji(Zr,dt,1,Ut)))return fn}else{if(c!==hm&&c!==x_&&PJe(dt)&&mh(ze))return-1;if(df(dt))return df(ze)&&(fn=ua(ze,dt,Ut))?fn:0;let Zr=!!(Ei&134348796);if(c!==td)ze=Eu(ze),Ei=ze.flags;else if(df(ze))return 0;if(Ur(ze)&4&&Ur(dt)&4&&ze.target===dt.target&&!po(ze)&&!(hB(ze)||hB(dt))){if(bB(ze))return-1;let Oa=zne(ze.target);if(Oa===Je)return 1;let mo=Ra(Ko(ze),Ko(dt),Oa,wn);if(mo!==void 0)return mo}else{if(CC(dt)?JE(ze):_f(dt)&&po(ze)&&!ze.target.readonly)return c!==td?ji(fg(ze,rt)||Se,fg(dt,rt)||Se,3,Ut):0;if((c===hm||c===x_)&&mh(dt)&&Ur(dt)&8192&&!mh(ze))return 0}if(Ei&2621440&&ia&524288){let Oa=Ut&&O===Zn.errorInfo&&!Zr;if(fn=Ft(ze,dt,Oa,void 0,!1,wn),fn&&(fn&=Un(ze,dt,0,Oa,wn),fn&&(fn&=Un(ze,dt,1,Oa,wn),fn&&(fn&=Bo(ze,dt,Zr,Oa,wn)))),Ar&&fn)O=sr||O||Zn.errorInfo;else if(fn)return fn}if(Ei&2621440&&ia&1048576){let Oa=DC(dt,36175872);if(Oa.flags&1048576){let mo=_i(ze,Oa);if(mo)return mo}}}return 0;function Aa(Zr){return Zr?ou(Zr,(Oa,mo)=>Oa+1+Aa(mo.next),0):0}function Ra(Zr,Oa,mo,co){if(fn=Bn(Zr,Oa,mo,Ut,co))return fn;if(vt(mo,Ul=>!!(Ul&24))){sr=void 0,Jt(Zn);return}let as=Oa&&uXe(Oa,mo);if(Ar=!as,mo!==Je&&!as){if(Ar&&!(Ut&&vt(mo,Ul=>(Ul&7)===0)))return 0;sr=O,Jt(Zn)}}}function ua(ze,dt,Ut){if(c===ed||(c===td?Pp(ze)===Pp(dt):Vte(ze)<=Vte(dt))){let Zn,fn=rp(dt),sr=Oi(rp(ze),Vte(ze)<0?gn:Wi);if(Zn=ji(fn,sr,3,Ut)){let Ar=Wu([w_(ze)],[w_(dt)]);if(Oi(by(ze),Ar)===Oi(by(dt),Ar))return Zn&ji(Oi(_h(ze),Ar),_h(dt),3,Ut)}}return 0}function _i(ze,dt){var Ut;let wn=Jo(ze),Zn=R2e(wn,dt);if(!Zn)return 0;let fn=1;for(let Ra of Zn)if(fn*=SYe(Gv(Ra)),fn>25)return(Ut=ai)==null||Ut.instant(ai.Phase.CheckTypes,"typeRelatedToDiscriminatedType_DepthLimit",{sourceId:ze.id,targetId:dt.id,numCombinations:fn}),0;let sr=new Array(Zn.length),Ar=new Set;for(let Ra=0;Ra<Zn.length;Ra++){let Zr=Zn[Ra],Oa=Gv(Zr);sr[Ra]=Oa.flags&1048576?Oa.types:[Oa],Ar.add(Zr.escapedName)}let Ei=Rae(sr),ia=[];for(let Ra of Ei){let Zr=!1;e:for(let Oa of dt.types){for(let mo=0;mo<Zn.length;mo++){let co=Zn[mo],as=ja(Oa,co.escapedName);if(!as)continue e;if(co===as)continue;if(!Ct(ze,dt,co,as,F_=>Ra[mo],!1,0,U||c===ed))continue e}Of(ia,Oa,Zv),Zr=!0}if(!Zr)return 0}let Aa=-1;for(let Ra of ia)if(Aa&=Ft(ze,Ra,!1,Ar,!1,0),Aa&&(Aa&=Un(ze,Ra,0,!1,0),Aa&&(Aa&=Un(ze,Ra,1,!1,0),Aa&&!(po(ze)&&po(Ra))&&(Aa&=Bo(ze,Ra,!1,!1,0)))),!Aa)return Aa;return Aa}function ur(ze,dt){if(!dt||ze.length===0)return ze;let Ut;for(let wn=0;wn<ze.length;wn++)dt.has(ze[wn].escapedName)?Ut||(Ut=ze.slice(0,wn)):Ut&&Ut.push(ze[wn]);return Ut||ze}function st(ze,dt,Ut,wn,Zn){let fn=U&&!!(ac(dt)&48),sr=ao(Gv(dt),!1,fn),Ar=Ut(ze);return ji(Ar,sr,3,wn,void 0,Zn)}function Ct(ze,dt,Ut,wn,Zn,fn,sr,Ar){let Ei=Ef(Ut),ia=Ef(wn);if(Ei&8||ia&8){if(Ut.valueDeclaration!==wn.valueDeclaration)return fn&&(Ei&8&&ia&8?Hr(_.Types_have_separate_declarations_of_a_private_property_0,E(wn)):Hr(_.Property_0_is_private_in_type_1_but_not_in_type_2,E(wn),Ee(Ei&8?ze:dt),Ee(Ei&8?dt:ze))),0}else if(ia&16){if(!mXe(Ut,wn))return fn&&Hr(_.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2,E(wn),Ee(N1(Ut)||ze),Ee(N1(wn)||dt)),0}else if(Ei&16)return fn&&Hr(_.Property_0_is_protected_in_type_1_but_public_in_type_2,E(wn),Ee(ze),Ee(dt)),0;if(c===x_&&M_(Ut)&&!M_(wn))return 0;let Aa=st(Ut,wn,Zn,fn,sr);return Aa?!Ar&&Ut.flags&16777216&&wn.flags&106500&&!(wn.flags&16777216)?(fn&&Hr(_.Property_0_is_optional_in_type_1_but_required_in_type_2,E(wn),Ee(ze),Ee(dt)),0):Aa:(fn&&Rn(_.Types_of_property_0_are_incompatible,E(wn)),0)}function Bt(ze,dt,Ut,wn){let Zn=!1;if(Ut.valueDeclaration&&zl(Ut.valueDeclaration)&&pi(Ut.valueDeclaration.name)&&ze.symbol&&ze.symbol.flags&32){let sr=Ut.valueDeclaration.name.escapedText,Ar=hR(ze.symbol,sr);if(Ar&&ja(ze,Ar)){let Ei=D.getDeclarationName(ze.symbol.valueDeclaration),ia=D.getDeclarationName(dt.symbol.valueDeclaration);Hr(_.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,Cf(sr),Cf(Ei.escapedText===""?nN:Ei),Cf(ia.escapedText===""?nN:ia));return}}let fn=lo(lre(ze,dt,wn,!1));if((!p||p.code!==_.Class_0_incorrectly_implements_interface_1.code&&p.code!==_.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code)&&(Zn=!0),fn.length===1){let sr=E(Ut,void 0,0,20);Hr(_.Property_0_is_missing_in_type_1_but_required_in_type_2,sr,...Wt(ze,dt)),Fn(Ut.declarations)&&qi(hr(Ut.declarations[0],_._0_is_declared_here,sr)),Zn&&O&&Nn++}else pf(ze,dt,!1)&&(fn.length>5?Hr(_.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,Ee(ze),Ee(dt),on(fn.slice(0,4),sr=>E(sr)).join(", "),fn.length-4):Hr(_.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,Ee(ze),Ee(dt),on(fn,sr=>E(sr)).join(", ")),Zn&&O&&Nn++)}function Ft(ze,dt,Ut,wn,Zn,fn){if(c===td)return hn(ze,dt,wn);let sr=-1;if(po(dt)){if(JE(ze)){if(!dt.target.readonly&&(CC(ze)||po(ze)&&ze.target.readonly))return 0;let Ra=Vv(ze),Zr=Vv(dt),Oa=po(ze)?ze.target.combinedFlags&4:4,mo=dt.target.combinedFlags&4,co=po(ze)?ze.target.minLength:0,as=dt.target.minLength;if(!Oa&&Ra<as)return Ut&&Hr(_.Source_has_0_element_s_but_target_requires_1,Ra,as),0;if(!mo&&Zr<co)return Ut&&Hr(_.Source_has_0_element_s_but_target_allows_only_1,co,Zr),0;if(!mo&&(Oa||Zr<Ra))return Ut&&(co<as?Hr(_.Target_requires_0_element_s_but_source_may_have_fewer,as):Hr(_.Target_allows_only_0_element_s_but_source_may_have_more,Zr)),0;let Ul=Ko(ze),F_=Ko(dt),Dm=VKe(dt.target,11),$v=sM(dt.target,11),U1=dt.target.hasRestElement,KC=!!wn;for(let Hp=0;Hp<Ra;Hp++){let cA=po(ze)?ze.target.elementFlags[Hp]:4,lA=Ra-1-Hp,iT=U1&&Hp>=Dm?Zr-1-Math.min(lA,$v):Hp,sd=dt.target.elementFlags[iT];if(sd&8&&!(cA&8))return Ut&&Hr(_.Source_provides_no_match_for_variadic_element_at_position_0_in_target,iT),0;if(cA&8&&!(sd&12))return Ut&&Hr(_.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,Hp,iT),0;if(sd&1&&!(cA&1))return Ut&&Hr(_.Source_provides_no_match_for_required_element_at_position_0_in_target,iT),0;if(KC&&((cA&12||sd&12)&&(KC=!1),KC&&wn?.has(""+Hp)))continue;let bt=KE(Ul[Hp],!!(cA&sd&2)),cr=F_[iT],oi=cA&8&&sd&4?nu(cr):KE(cr,!!(sd&2)),Jr=ji(bt,oi,3,Ut,void 0,fn);if(!Jr)return Ut&&(Zr>1||Ra>1)&&(U1&&Hp>=Dm&&lA>=$v&&Dm!==Ra-$v-1?Rn(_.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,Dm,Ra-$v-1,iT):Rn(_.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,Hp,iT)),0;sr&=Jr}return sr}if(dt.target.combinedFlags&12)return 0}let Ar=(c===hm||c===x_)&&!Xv(ze)&&!bB(ze)&&!po(ze),Ei=ure(ze,dt,Ar,!1);if(Ei)return Ut&&yi(ze,dt)&&Bt(ze,dt,Ei,Ar),0;if(Xv(dt)){for(let Ra of ur(Jo(ze),wn))if(!qb(dt,Ra.escapedName)&&!(zn(Ra).flags&32768))return Ut&&Hr(_.Property_0_does_not_exist_on_type_1,E(Ra),Ee(dt)),0}let ia=Jo(dt),Aa=po(ze)&&po(dt);for(let Ra of ur(ia,wn)){let Zr=Ra.escapedName;if(!(Ra.flags&4194304)&&(!Aa||Wm(Zr)||Zr==="length")&&(!Zn||Ra.flags&16777216)){let Oa=ja(ze,Zr);if(Oa&&Oa!==Ra){let mo=Ct(ze,dt,Oa,Ra,Gv,Ut,fn,c===ed);if(!mo)return 0;sr&=mo}}}return sr}function hn(ze,dt,Ut){if(!(ze.flags&524288&&dt.flags&524288))return 0;let wn=ur(Ey(ze),Ut),Zn=ur(Ey(dt),Ut);if(wn.length!==Zn.length)return 0;let fn=-1;for(let sr of wn){let Ar=qb(dt,sr.escapedName);if(!Ar)return 0;let Ei=qne(sr,Ar,ji);if(!Ei)return 0;fn&=Ei}return fn}function Un(ze,dt,Ut,wn,Zn){var fn,sr;if(c===td)return Sr(ze,dt,Ut);if(dt===aa||ze===aa)return-1;let Ar=ze.symbol&&cp(ze.symbol.valueDeclaration),Ei=dt.symbol&&cp(dt.symbol.valueDeclaration),ia=xa(ze,Ar&&Ut===1?0:Ut),Aa=xa(dt,Ei&&Ut===1?0:Ut);if(Ut===1&&ia.length&&Aa.length){let co=!!(ia[0].flags&4),as=!!(Aa[0].flags&4);if(co&&!as)return wn&&Hr(_.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type),0;if(!Bl(ia[0],Aa[0],wn))return 0}let Ra=-1,Zr=Ut===1?Xt:Di,Oa=Ur(ze),mo=Ur(dt);if(Oa&64&&mo&64&&ze.symbol===dt.symbol||Oa&4&&mo&4&&ze.target===dt.target)for(let co=0;co<Aa.length;co++){let as=er(ia[co],Aa[co],!0,wn,Zn,Zr(ia[co],Aa[co]));if(!as)return 0;Ra&=as}else if(ia.length===1&&Aa.length===1){let co=c===ed||!!Y.noStrictGenericChecks,as=Vo(ia),Ul=Vo(Aa);if(Ra=er(as,Ul,co,wn,Zn,Zr(as,Ul)),!Ra&&wn&&Ut===1&&Oa&mo&&(((fn=Ul.declaration)==null?void 0:fn.kind)===173||((sr=as.declaration)==null?void 0:sr.kind)===173)){let F_=Dm=>ne(Dm,void 0,262144,Ut);return Hr(_.Type_0_is_not_assignable_to_type_1,F_(as),F_(Ul)),Hr(_.Types_of_construct_signatures_are_incompatible),Ra}}else e:for(let co of Aa){let as=Cn(),Ul=wn;for(let F_ of ia){let Dm=er(F_,co,!0,Ul,Zn,Zr(F_,co));if(Dm){Ra&=Dm,Jt(as);continue e}Ul=!1}return Ul&&Hr(_.Type_0_provides_no_match_for_the_signature_1,Ee(ze),ne(co,void 0,void 0,Ut)),0}return Ra}function yi(ze,dt){let Ut=nM(ze,0),wn=nM(ze,1),Zn=Ey(ze);return(Ut.length||wn.length)&&!Zn.length?!!(xa(dt,0).length&&Ut.length||xa(dt,1).length&&wn.length):!0}function Di(ze,dt){return ze.parameters.length===0&&dt.parameters.length===0?(Ut,wn)=>Rn(_.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,Ee(Ut),Ee(wn)):(Ut,wn)=>Rn(_.Call_signature_return_types_0_and_1_are_incompatible,Ee(Ut),Ee(wn))}function Xt(ze,dt){return ze.parameters.length===0&&dt.parameters.length===0?(Ut,wn)=>Rn(_.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,Ee(Ut),Ee(wn)):(Ut,wn)=>Rn(_.Construct_signature_return_types_0_and_1_are_incompatible,Ee(Ut),Ee(wn))}function er(ze,dt,Ut,wn,Zn,fn){let sr=c===hm?16:c===x_?24:0;return Une(Ut?tD(ze):ze,Ut?tD(dt):dt,sr,wn,Hr,fn,Ar,Wi);function Ar(Ei,ia,Aa){return ji(Ei,ia,3,Aa,void 0,Zn)}}function Sr(ze,dt,Ut){let wn=xa(ze,Ut),Zn=xa(dt,Ut);if(wn.length!==Zn.length)return 0;let fn=-1;for(let sr=0;sr<wn.length;sr++){let Ar=vM(wn[sr],Zn[sr],!1,!1,!1,ji);if(!Ar)return 0;fn&=Ar}return fn}function Dr(ze,dt,Ut,wn){let Zn=-1,fn=dt.keyType,sr=ze.flags&2097152?eM(ze):Ey(ze);for(let Ar of sr)if(!n2e(ze,Ar)&&Vx(TC(Ar,8576),fn)){let Ei=Gv(Ar),ia=Pe||Ei.flags&32768||fn===rt||!(Ar.flags&16777216)?Ei:wf(Ei,524288),Aa=ji(ia,dt.type,3,Ut,void 0,wn);if(!Aa)return Ut&&Hr(_.Property_0_is_incompatible_with_index_signature,E(Ar)),0;Zn&=Aa}for(let Ar of tu(ze))if(Vx(Ar.keyType,fn)){let Ei=Ii(Ar,dt,Ut,wn);if(!Ei)return 0;Zn&=Ei}return Zn}function Ii(ze,dt,Ut,wn){let Zn=ji(ze.type,dt.type,3,Ut,void 0,wn);return!Zn&&Ut&&(ze.keyType===dt.keyType?Hr(_._0_index_signatures_are_incompatible,Ee(ze.keyType)):Hr(_._0_and_1_index_signatures_are_incompatible,Ee(ze.keyType),Ee(dt.keyType))),Zn}function Bo(ze,dt,Ut,wn,Zn){if(c===td)return ds(ze,dt);let fn=tu(dt),sr=vt(fn,Ei=>Ei.keyType===ae),Ar=-1;for(let Ei of fn){let ia=!Ut&&sr&&Ei.type.flags&1?-1:df(ze)&&sr?ji(_h(ze),Ei.type,3,wn):ys(ze,Ei,wn,Zn);if(!ia)return 0;Ar&=ia}return Ar}function ys(ze,dt,Ut,wn){let Zn=rM(ze,dt.keyType);return Zn?Ii(Zn,dt,Ut,wn):!(wn&1)&&(c!==x_||Ur(ze)&8192)&&xB(ze)?Dr(ze,dt,Ut,wn):(Ut&&Hr(_.Index_signature_for_type_0_is_missing_in_type_1,Ee(dt.keyType),Ee(ze)),0)}function ds(ze,dt){let Ut=tu(ze),wn=tu(dt);if(Ut.length!==wn.length)return 0;for(let Zn of wn){let fn=Cm(ze,Zn.keyType);if(!(fn&&ji(fn.type,Zn.type,3)&&fn.isReadonly===Zn.isReadonly))return 0}return-1}function Bl(ze,dt,Ut){if(!ze.declaration||!dt.declaration)return!0;let wn=hS(ze.declaration,24),Zn=hS(dt.declaration,24);return Zn===8||Zn===16&&wn!==8||Zn!==16&&!wn?!0:(Ut&&Hr(_.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type,Ud(wn),Ud(Zn)),!1)}}function Hne(n){if(n.flags&16)return!1;if(n.flags&3145728)return!!mn(n.types,Hne);if(n.flags&465829888){let a=VE(n);if(a&&a!==n)return Hne(a)}return N_(n)||!!(n.flags&134217728)||!!(n.flags&268435456)}function r2e(n,a){return po(n)&&po(a)?Je:Jo(a).filter(c=>mB(Vc(n,c.escapedName),zn(c)))}function mB(n,a){return!!n&&!!a&&Js(n,32768)&&!!fD(a)}function cXe(n){return Jo(n).filter(a=>fD(zn(a)))}function i2e(n,a,c=Gne){return mke(n,a,c,!0)||lit(n,a)||uit(n,a)||dit(n,a)||fit(n,a)}function Wne(n,a,c,u,p){let h=n.types.map(O=>{});for(let[O,H]of a){let J=Kte(n,H);if(p&&J&&ac(J)&16)continue;let de=0;for(let Ae of n.types){let xe=Vc(Ae,H);xe&&c(O(),xe)?h[de]=h[de]===void 0?!0:h[de]:h[de]=!1,de++}}let T=h.indexOf(!0);if(T===-1)return u;let k=h.indexOf(!0,T+1);for(;k!==-1;){if(!ph(n.types[T],n.types[k]))return u;k=h.indexOf(!0,k+1)}return n.types[T]}function a2e(n){if(n.flags&524288){let a=R_(n);return a.callSignatures.length===0&&a.constructSignatures.length===0&&a.indexInfos.length===0&&a.properties.length>0&&Ji(a.properties,c=>!!(c.flags&16777216))}return n.flags&2097152?Ji(n.types,a2e):!1}function lXe(n,a,c){for(let u of Jo(n))if(Vre(a,u.escapedName,c))return!0;return!1}function zne(n){return n===$o||n===jo||n.objectFlags&8?W:s2e(n.symbol,n.typeParameters)}function o2e(n){return s2e(n,Ai(n).typeParameters)}function s2e(n,a=Je){var c,u;let p=Ai(n);if(!p.variances){(c=ai)==null||c.push(ai.Phase.CheckTypes,"getVariancesWorker",{arity:a.length,id:ru(gs(n))}),p.variances=Je;let h=[];for(let T of a){let k=Jne(T),O=k&65536?k&32768?0:1:k&32768?2:void 0;if(O===void 0){let H=!1,J=!1,de=Qr;Qr=tt=>tt?J=!0:H=!0;let Ae=hM(n,T,md),xe=hM(n,T,Pc);O=(to(xe,Ae)?1:0)|(to(Ae,xe)?2:0),O===3&&to(hM(n,T,bl),Ae)&&(O=4),Qr=de,(H||J)&&(H&&(O|=8),J&&(O|=16))}h.push(O)}p.variances=h,(u=ai)==null||u.pop({variances:h.map(L.formatVariance)})}return p.variances}function hM(n,a,c){let u=n0(a,c),p=gs(n);if(Ro(p))return p;let h=n.flags&524288?Jx(n,hg(Ai(n).typeParameters,u)):_g(p,hg(p.typeParameters,u));return vn.add(ru(h)),h}function hB(n){return vn.has(ru(n))}function Jne(n){var a;return ou((a=n.symbol)==null?void 0:a.declarations,(c,u)=>c|uu(u),0)&100352}function uXe(n,a){for(let c=0;c<a.length;c++)if((a[c]&7)===1&&n[c].flags&16384)return!0;return!1}function dXe(n){return n.flags&262144&&!eu(n)}function fXe(n){return!!(Ur(n)&4)&&!n.node}function gB(n){return fXe(n)&&vt(Ko(n),a=>!!(a.flags&262144)||gB(a))}function _Xe(n,a,c,u){let p=[],h="",T=O(n,0),k=O(a,0);return`${h}${T},${k}${c}`;function O(H,J=0){let de=""+H.target.id;for(let Ae of Ko(H)){if(Ae.flags&262144){if(u||dXe(Ae)){let xe=p.indexOf(Ae);xe<0&&(xe=p.length,p.push(Ae)),de+="="+xe;continue}h="*"}else if(J<4&&gB(Ae)){de+="<"+O(Ae,J+1)+">";continue}de+="-"+Ae.id}return de}}function Kne(n,a,c,u,p){if(u===td&&n.id>a.id){let T=n;n=a,a=T}let h=c?":"+c:"";return gB(n)&&gB(a)?_Xe(n,a,h,p):`${n.id},${a.id}${h}`}function gM(n,a){if(ac(n)&6){for(let c of n.links.containingType.types){let u=ja(c,n.escapedName),p=u&&gM(u,a);if(p)return p}return}return a(n)}function N1(n){return n.parent&&n.parent.flags&32?gs(ju(n)):void 0}function yB(n){let a=N1(n),c=a&&_o(a)[0];return c&&Vc(c,n.escapedName)}function pXe(n,a){return gM(n,c=>{let u=N1(c);return u?BE(u,a):!1})}function mXe(n,a){return!gM(a,c=>Ef(c)&16?!pXe(n,N1(c)):!1)}function c2e(n,a,c){return gM(a,u=>Ef(u,c)&16?!BE(n,N1(u)):!1)?void 0:n}function yM(n,a,c,u=3){if(c>=u){if(n.flags&2097152)return vt(n.types,k=>yM(k,a,c,u));let p=AC(n),h=0,T=0;for(let k=0;k<c;k++){let O=a[k];if(O.flags&2097152?vt(O.types,H=>AC(H)===p):AC(O)===p){if(O.id>=T&&(h++,h>=u))return!0;T=O.id}}}return!1}function AC(n){if(n.flags&524288&&!pre(n)){if(Ur(n)&&n.node)return n.node;if(n.symbol&&!(Ur(n)&16&&n.symbol.flags&32))return n.symbol;if(po(n))return n.target}if(n.flags&262144)return n.symbol;if(n.flags&8388608){do n=n.objectType;while(n.flags&8388608);return n}return n.flags&16777216?n.root:n}function hXe(n,a){return qne(n,a,sD)!==0}function qne(n,a,c){if(n===a)return-1;let u=Ef(n)&24,p=Ef(a)&24;if(u!==p)return 0;if(u){if(oA(n)!==oA(a))return 0}else if((n.flags&16777216)!==(a.flags&16777216))return 0;return M_(n)!==M_(a)?0:c(zn(n),zn(a))}function gXe(n,a,c){let u=xd(n),p=xd(a),h=Vp(n),T=Vp(a),k=jp(n),O=jp(a);return!!(u===p&&h===T&&k===O||c&&h<=T)}function vM(n,a,c,u,p,h){if(n===a)return-1;if(!gXe(n,a,c)||Fn(n.typeParameters)!==Fn(a.typeParameters))return 0;if(a.typeParameters){let O=Wu(n.typeParameters,a.typeParameters);for(let H=0;H<a.typeParameters.length;H++){let J=n.typeParameters[H],de=a.typeParameters[H];if(!(J===de||h(Oi(bC(J),O)||ue,bC(de)||ue)&&h(Oi(jE(J),O)||ue,jE(de)||ue)))return 0}n=$x(n,O,!0)}let T=-1;if(!u){let O=Yb(n);if(O){let H=Yb(a);if(H){let J=h(O,H);if(!J)return 0;T&=J}}}let k=xd(a);for(let O=0;O<k;O++){let H=P_(n,O),J=P_(a,O),de=h(J,H);if(!de)return 0;T&=de}if(!p){let O=Lf(n),H=Lf(a);T&=O||H?yXe(O,H,h):h(qo(n),qo(a))}return T}function yXe(n,a,c){return n&&a&&Ene(n,a)?n.type===a.type?-1:n.type&&a.type?c(n.type,a.type):0:0}function vXe(n){let a;for(let c of n)if(!(c.flags&131072)){let u=ky(c);if(a??(a=u),u===c||u!==a)return!1}return!0}function l2e(n){return ou(n,(a,c)=>a|(c.flags&1048576?l2e(c.types):c.flags),0)}function bXe(n){if(n.length===1)return n[0];let a=U?Tl(n,u=>jc(u,p=>!(p.flags&98304))):n,c=vXe(a)?Gr(a):ou(a,(u,p)=>Iy(u,p)?p:u);return a===n?c:TB(c,l2e(n)&98304)}function EXe(n){return ou(n,(a,c)=>Iy(c,a)?c:a)}function _f(n){return!!(Ur(n)&4)&&(n.target===$o||n.target===jo)}function CC(n){return!!(Ur(n)&4)&&n.target===jo}function JE(n){return _f(n)||po(n)}function vB(n){return _f(n)&&!CC(n)||po(n)&&!n.target.readonly}function Xne(n){return _f(n)?Ko(n)[0]:void 0}function Kv(n){return _f(n)||!(n.flags&98304)&&to(n,Ri)}function Yne(n){if(!(Ur(n)&4)||!(Ur(n.target)&3))return;if(Ur(n)&33554432)return Ur(n)&67108864?n.cachedEquivalentBaseType:void 0;n.objectFlags|=33554432;let a=n.target;if(Ur(a)&1){let p=yn(a);if(p&&p.expression.kind!==79&&p.expression.kind!==208)return}let c=_o(a);if(c.length!==1||vy(n.symbol).size)return;let u=Fn(a.typeParameters)?Oi(c[0],Wu(a.typeParameters,Ko(n).slice(0,a.typeParameters.length))):c[0];return Fn(Ko(n))>Fn(a.typeParameters)&&(u=uf(u,To(Ko(n)))),n.objectFlags|=67108864,n.cachedEquivalentBaseType=u}function u2e(n){return U?n===Vt:n===je}function bB(n){let a=Xne(n);return!!a&&u2e(a)}function IC(n){return po(n)||!!ja(n,"0")}function EB(n){return Kv(n)||IC(n)}function TXe(n,a){let c=Vc(n,""+a);if(c)return c;if(Im(n,po))return Ls(n,u=>{let p=u,h=bM(p);return h?Y.noUncheckedIndexedAccess&&a>=p.target.fixedLength+sM(p.target,3)?Gr([h,Oe]):h:Oe})}function SXe(n){return!(n.flags&240544)}function N_(n){return!!(n.flags&109472)}function d2e(n){let a=Ty(n);return a.flags&2097152?vt(a.types,N_):N_(a)}function xXe(n){return n.flags&2097152&&wr(n.types,N_)||n}function uD(n){return n.flags&16?!0:n.flags&1048576?n.flags&1024?!0:Ji(n.types,N_):N_(n)}function ky(n){return n.flags&1056?Kk(n):n.flags&402653312?ae:n.flags&256?rt:n.flags&2048?Ot:n.flags&512?Te:n.flags&1048576?AXe(n):n}function AXe(n){var a;let c=`B${ru(n)}`;return(a=wb(c))!=null?a:qh(c,Ls(n,ky))}function $ne(n){return n.flags&402653312?ae:n.flags&288?rt:n.flags&2048?Ot:n.flags&512?Te:n.flags&1048576?Ls(n,$ne):n}function i0(n){return n.flags&1056&&t0(n)?Kk(n):n.flags&128&&t0(n)?ae:n.flags&256&&t0(n)?rt:n.flags&2048&&t0(n)?Ot:n.flags&512&&t0(n)?Te:n.flags&1048576?Ls(n,i0):n}function f2e(n){return n.flags&8192?j:n.flags&1048576?Ls(n,f2e):n}function Qne(n,a){return aU(n,a)||(n=f2e(i0(n))),Hu(n)}function CXe(n,a,c){if(n&&N_(n)){let u=a?c?wD(a):a:void 0;n=Qne(n,u)}return n}function Zne(n,a,c,u){if(n&&N_(n)){let p=a?c0(c,a,u):void 0;n=Qne(n,p)}return n}function po(n){return!!(Ur(n)&4&&n.target.objectFlags&8)}function Qx(n){return po(n)&&!!(n.target.combinedFlags&8)}function _2e(n){return Qx(n)&&n.target.elementFlags.length===1}function bM(n){return LC(n,n.target.fixedLength)}function IXe(n){let a=bM(n);return a&&nu(a)}function LC(n,a,c=0,u=!1,p=!1){let h=Vv(n)-c;if(a<h){let T=Ko(n),k=[];for(let O=a;O<h;O++){let H=T[O];k.push(n.target.elementFlags[O]&8?od(H,rt):H)}return u?so(k):Gr(k,p?0:1)}}function LXe(n,a){return Vv(n)===Vv(a)&&Ji(n.target.elementFlags,(c,u)=>(c&12)===(a.target.elementFlags[u]&12))}function p2e({value:n}){return n.base10Value==="0"}function m2e(n){return jc(n,a=>!!(iu(a)&4194304))}function kXe(n){return Ls(n,DXe)}function DXe(n){return n.flags&4?gx:n.flags&8?_1:n.flags&64?yx:n===oe||n===Ke||n.flags&114691||n.flags&128&&n.value===""||n.flags&256&&n.value===0||n.flags&2048&&p2e(n)?n:lt}function TB(n,a){let c=a&~n.flags&98304;return c===0?n:Gr(c===32768?[n,Oe]:c===65536?[n,ln]:[n,Oe,ln])}function gg(n,a=!1){L.assert(U);let c=a?kt:Oe;return n===c||n.flags&1048576&&n.types[0]===c?n:Gr([n,c])}function wXe(n){return io||(io=nD("NonNullable",524288,void 0)||Ht),io!==Ht?Jx(io,[n]):so([n,Ki])}function yg(n){return U?$E(n,2097152):n}function h2e(n){return U?Gr([n,Kt]):n}function ere(n){return U?wB(n,Kt):n}function SB(n,a,c){return c?mI(a)?gg(n):h2e(n):n}function dD(n,a){return r6(a)?yg(n):Jl(a)?ere(n):n}function KE(n,a){return Pe&&a?wB(n,Ge):n}function fD(n){return n===Ge||!!(n.flags&1048576)&&n.types[0]===Ge}function tre(n){return Pe?wB(n,Ge):wf(n,524288)}function RXe(n,a){return(n.flags&524)!==0&&(a.flags&28)!==0}function xB(n){let a=Ur(n);return n.flags&2097152?Ji(n.types,xB):!!(n.symbol&&n.symbol.flags&7040&&!(n.symbol.flags&32)&&!EU(n))||!!(a&4194304)||!!(a&1024&&xB(n.source))}function qE(n,a){let c=wo(n.flags,n.escapedName,ac(n)&8);c.declarations=n.declarations,c.parent=n.parent,c.links.type=a,c.links.target=n,n.valueDeclaration&&(c.valueDeclaration=n.valueDeclaration);let u=Ai(n).nameType;return u&&(c.links.nameType=u),c}function OXe(n,a){let c=Ua();for(let u of Ey(n)){let p=zn(u),h=a(p);c.set(u.escapedName,h===p?u:qE(u,h))}return c}function EM(n){if(!(Xv(n)&&Ur(n)&8192))return n;let a=n.regularType;if(a)return a;let c=n,u=OXe(n,EM),p=ls(c.symbol,u,c.callSignatures,c.constructSignatures,c.indexInfos);return p.flags=c.flags,p.objectFlags|=c.objectFlags&-8193,n.regularType=p,p}function g2e(n,a,c){return{parent:n,propertyName:a,siblings:c,resolvedProperties:void 0}}function y2e(n){if(!n.siblings){let a=[];for(let c of y2e(n.parent))if(Xv(c)){let u=qb(c,n.propertyName);u&&QE(zn(u),p=>{a.push(p)})}n.siblings=a}return n.siblings}function NXe(n){if(!n.resolvedProperties){let a=new Map;for(let c of y2e(n))if(Xv(c)&&!(Ur(c)&2097152))for(let u of Jo(c))a.set(u.escapedName,u);n.resolvedProperties=lo(a.values())}return n.resolvedProperties}function PXe(n,a){if(!(n.flags&4))return n;let c=zn(n),u=a&&g2e(a,n.escapedName,void 0),p=nre(c,u);return p===c?n:qE(n,p)}function MXe(n){let a=ri.get(n.escapedName);if(a)return a;let c=qE(n,kt);return c.flags|=16777216,ri.set(n.escapedName,c),c}function FXe(n,a){let c=Ua();for(let p of Ey(n))c.set(p.escapedName,PXe(p,a));if(a)for(let p of NXe(a))c.has(p.escapedName)||c.set(p.escapedName,MXe(p));let u=ls(n.symbol,c,Je,Je,Tl(tu(n),p=>Fp(p.keyType,Sd(p.type),p.isReadonly)));return u.objectFlags|=Ur(n)&266240,u}function Sd(n){return nre(n,void 0)}function nre(n,a){if(Ur(n)&196608){if(a===void 0&&n.widened)return n.widened;let c;if(n.flags&98305)c=Se;else if(Xv(n))c=FXe(n,a);else if(n.flags&1048576){let u=a||g2e(void 0,void 0,n.types),p=Tl(n.types,h=>h.flags&98304?h:nre(h,u));c=Gr(p,vt(p,mh)?2:1)}else n.flags&2097152?c=so(Tl(n.types,Sd)):JE(n)&&(c=_g(n.target,Tl(Ko(n),Sd)));return c&&a===void 0&&(n.widened=c),c||n}return n}function AB(n){let a=!1;if(Ur(n)&65536){if(n.flags&1048576)if(vt(n.types,mh))a=!0;else for(let c of n.types)AB(c)&&(a=!0);if(JE(n))for(let c of Ko(n))AB(c)&&(a=!0);if(Xv(n))for(let c of Ey(n)){let u=zn(c);Ur(u)&65536&&(AB(u)||Fe(c.valueDeclaration,_.Object_literal_s_property_0_implicitly_has_an_1_type,E(c),Ee(Sd(u))),a=!0)}}return a}function qv(n,a,c){let u=Ee(Sd(a));if(Yn(n)&&!HR(Gn(n),Y))return;let p;switch(n.kind){case 223:case 169:case 168:p=ge?_.Member_0_implicitly_has_an_1_type:_.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 166:let h=n;if(Re(h.name)){let T=nb(h.name);if((_2(h.parent)||zm(h.parent)||Jm(h.parent))&&h.parent.parameters.indexOf(h)>-1&&(zs(h,h.name.escapedText,788968,void 0,h.name.escapedText,!0)||T&&vW(T))){let k="arg"+h.parent.parameters.indexOf(h),O=os(h.name)+(h.dotDotDotToken?"[]":"");Ip(ge,n,_.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,k,O);return}}p=n.dotDotDotToken?ge?_.Rest_parameter_0_implicitly_has_an_any_type:_.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:ge?_.Parameter_0_implicitly_has_an_1_type:_.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 205:if(p=_.Binding_element_0_implicitly_has_an_1_type,!ge)return;break;case 320:Fe(n,_.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,u);return;case 326:ge&&kL(n.parent)&&Fe(n.parent.tagName,_.This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation,u);return;case 259:case 171:case 170:case 174:case 175:case 215:case 216:if(ge&&!n.name){c===3?Fe(n,_.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation,u):Fe(n,_.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,u);return}p=ge?c===3?_._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:_._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:_._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 197:ge&&Fe(n,_.Mapped_object_type_implicitly_has_an_any_template_type);return;default:p=ge?_.Variable_0_implicitly_has_an_1_type:_.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}Ip(ge,n,p,os(sa(n)),u)}function CB(n,a,c){i(()=>{ge&&Ur(a)&65536&&(!c||!Nre(n))&&(AB(a)||qv(n,a,c))})}function rre(n,a,c){let u=xd(n),p=xd(a),h=xD(n),T=xD(a),k=T?p-1:p,O=h?k:Math.min(u,k),H=Yb(n);if(H){let J=Yb(a);J&&c(H,J)}for(let J=0;J<O;J++)c(P_(n,J),P_(a,J));T&&c(SD(n,O),T)}function ire(n,a,c){let u=Lf(n),p=Lf(a);u&&p&&Ene(u,p)&&u.type&&p.type?c(u.type,p.type):c(qo(n),qo(a))}function _D(n,a,c,u){return are(n.map(ore),a,c,u||Gne)}function GXe(n,a=0){return n&&are(on(n.inferences,b2e),n.signature,n.flags|a,n.compareTypes)}function are(n,a,c,u){let p={inferences:n,signature:a,flags:c,compareTypes:u,mapper:gn,nonFixingMapper:gn};return p.mapper=BXe(p),p.nonFixingMapper=UXe(p),p}function BXe(n){return Rne(on(n.inferences,a=>a.typeParameter),on(n.inferences,(a,c)=>()=>(a.isFixed||(VXe(n),IB(n.inferences),a.isFixed=!0),mre(n,c))))}function UXe(n){return Rne(on(n.inferences,a=>a.typeParameter),on(n.inferences,(a,c)=>()=>mre(n,c)))}function IB(n){for(let a of n)a.isFixed||(a.inferredType=void 0)}function v2e(n,a,c){var u;((u=n.intraExpressionInferenceSites)!=null?u:n.intraExpressionInferenceSites=[]).push({node:a,type:c})}function VXe(n){if(n.intraExpressionInferenceSites){for(let{node:a,type:c}of n.intraExpressionInferenceSites){let u=a.kind===171?dCe(a,2):Ru(a,2);u&&gh(n.inferences,c,u)}n.intraExpressionInferenceSites=void 0}}function ore(n){return{typeParameter:n,candidates:void 0,contraCandidates:void 0,inferredType:void 0,priority:void 0,topLevel:!0,isFixed:!1,impliedArity:void 0}}function b2e(n){return{typeParameter:n.typeParameter,candidates:n.candidates&&n.candidates.slice(),contraCandidates:n.contraCandidates&&n.contraCandidates.slice(),inferredType:n.inferredType,priority:n.priority,topLevel:n.topLevel,isFixed:n.isFixed,impliedArity:n.impliedArity}}function jXe(n){let a=Pr(n.inferences,iA);return a.length?are(on(a,b2e),n.signature,n.flags,n.compareTypes):void 0}function sre(n){return n&&n.mapper}function XE(n){let a=Ur(n);if(a&524288)return!!(a&1048576);let c=!!(n.flags&465829888||n.flags&524288&&!E2e(n)&&(a&4&&(n.node||mn(Ko(n),XE))||a&16&&n.symbol&&n.symbol.flags&14384&&n.symbol.declarations||a&12583968)||n.flags&3145728&&!(n.flags&1024)&&!E2e(n)&&vt(n.types,XE));return n.flags&3899393&&(n.objectFlags|=524288|(c?1048576:0)),c}function E2e(n){if(n.aliasSymbol&&!n.aliasTypeArguments){let a=nc(n.aliasSymbol,262);return!!(a&&jn(a.parent,c=>c.kind===308?!0:c.kind===264?!1:"quit"))}return!1}function pD(n,a,c=0){return!!(n===a||n.flags&3145728&&vt(n.types,u=>pD(u,a,c))||c<3&&n.flags&16777216&&(pD(Hv(n),a,c+1)||pD(Wv(n),a,c+1)))}function HXe(n,a){let c=Lf(n);return c?!!c.type&&pD(c.type,a):pD(qo(n),a)}function WXe(n){let a=Ua();QE(n,u=>{if(!(u.flags&128))return;let p=Bs(u.value),h=wo(4,p);h.links.type=Se,u.symbol&&(h.declarations=u.symbol.declarations,h.valueDeclaration=u.symbol.valueDeclaration),a.set(p,h)});let c=n.flags&4?[Fp(ae,Ki,!1)]:Je;return ls(void 0,a,Je,Je,c)}function T2e(n,a,c){if(ta)return;let u=n.id+","+a.id+","+c.id;if(yr.has(u))return yr.get(u);ta=!0;let p=zXe(n,a,c);return ta=!1,yr.set(u,p),p}function cre(n){return!(Ur(n)&262144)||Xv(n)&&vt(Jo(n),a=>cre(zn(a)))||po(n)&&vt(Ko(n),cre)}function zXe(n,a,c){if(!(Cm(n,ae)||Jo(n).length!==0&&cre(n)))return;if(_f(n))return nu(LB(Ko(n)[0],a,c),CC(n));if(po(n)){let p=on(Ko(n),T=>LB(T,a,c)),h=Pp(a)&4?Tl(n.target.elementFlags,T=>T&2?1:T):n.target.elementFlags;return ap(p,h,n.target.readonly,n.target.labeledElementDeclarations)}let u=Bd(1040,void 0);return u.source=n,u.mappedType=a,u.constraintType=c,u}function JXe(n){let a=Ai(n);return a.type||(a.type=LB(n.links.propertyType,n.links.mappedType,n.links.constraintType)),a.type}function LB(n,a,c){let u=od(c.type,w_(a)),p=_h(a),h=ore(u);return gh([h],n,p),S2e(h)||ue}function*lre(n,a,c,u){let p=Jo(a);for(let h of p)if(!yxe(h)&&(c||!(h.flags&16777216||ac(h)&48))){let T=ja(n,h.escapedName);if(!T)yield h;else if(u){let k=zn(h);if(k.flags&109472){let O=zn(T);O.flags&1||Hu(O)===Hu(k)||(yield h)}}}}function ure(n,a,c,u){return u8(lre(n,a,c,u))}function KXe(n,a){return!(a.target.combinedFlags&8)&&a.target.minLength>n.target.minLength||!a.target.hasRestElement&&(n.target.hasRestElement||a.target.fixedLength<n.target.fixedLength)}function qXe(n,a){return po(n)&&po(a)?KXe(n,a):!!ure(n,a,!1,!0)&&!!ure(a,n,!1,!1)}function S2e(n){return n.candidates?Gr(n.candidates,2):n.contraCandidates?so(n.contraCandidates):void 0}function dre(n){return!!Rr(n).skipDirectInference}function x2e(n){return!!(n.symbol&&vt(n.symbol.declarations,dre))}function XXe(n,a){let c=n.texts[0],u=a.texts[0],p=n.texts[n.texts.length-1],h=a.texts[a.texts.length-1],T=Math.min(c.length,u.length),k=Math.min(p.length,h.length);return c.slice(0,T)!==u.slice(0,T)||p.slice(p.length-k)!==h.slice(h.length-k)}function A2e(n,a){if(n==="")return!1;let c=+n;return isFinite(c)&&(!a||""+c===n)}function YXe(n){return aB(BW(n))}function fre(n,a){if(a.flags&1)return!0;if(a.flags&134217732)return to(n,a);if(a.flags&268435456){let c=[];for(;a.flags&268435456;)c.unshift(a.symbol),a=a.type;return ou(c,(p,h)=>w1(h,p),n)===n&&fre(n,a)}return!1}function $Xe(n,a){if(n===a||a.flags&5)return!0;if(n.flags&128){let c=n.value;return!!(a.flags&8&&A2e(c,!1)||a.flags&64&&v4(c,!1)||a.flags&98816&&c===a.intrinsicName||a.flags&268435456&&fre(ff(c),a))}if(n.flags&134217728){let c=n.texts;return c.length===2&&c[0]===""&&c[1]===""&&to(n.types[0],a)}return to(n,a)}function C2e(n,a){return n.flags&128?I2e([n.value],Je,a):n.flags&134217728?GD(n.texts,a.texts)?on(n.types,QXe):I2e(n.texts,n.types,a):void 0}function _re(n,a){let c=C2e(n,a);return!!c&&Ji(c,(u,p)=>$Xe(u,a.types[p]))}function QXe(n){return n.flags&402653317?n:WE(["",""],[n])}function I2e(n,a,c){let u=n.length-1,p=n[0],h=n[u],T=c.texts,k=T.length-1,O=T[0],H=T[k];if(u===0&&p.length<O.length+H.length||!p.startsWith(O)||!h.endsWith(H))return;let J=h.slice(0,h.length-H.length),de=[],Ae=0,xe=O.length;for(let Tn=1;Tn<k;Tn++){let un=T[Tn];if(un.length>0){let Nn=Ae,en=xe;for(;en=tt(Nn).indexOf(un,en),!(en>=0);){if(Nn++,Nn===n.length)return;en=0}It(Nn,en),xe+=un.length}else if(xe<tt(Ae).length)It(Ae,xe+1);else if(Ae<u)It(Ae+1,0);else return}return It(u,tt(u).length),de;function tt(Tn){return Tn<u?n[Tn]:J}function It(Tn,un){let Nn=Tn===Ae?ff(tt(Tn).slice(xe,un)):WE([n[Ae].slice(xe),...n.slice(Ae+1,Tn),tt(Tn).slice(0,un)],a.slice(Ae,Tn));de.push(Nn),Ae=Tn,xe=un}}function gh(n,a,c,u=0,p=!1){let h=!1,T,k=2048,O=!0,H,J,de,Ae=0;xe(a,c);function xe(In,qn){if(XE(qn)){if(In===Tt){let Mi=T;T=In,xe(qn,qn),T=Mi;return}if(In.aliasSymbol&&In.aliasSymbol===qn.aliasSymbol){if(In.aliasTypeArguments){let Mi=Ai(In.aliasSymbol).typeParameters,ga=Mp(Mi),Bi=Sy(In.aliasTypeArguments,Mi,ga,Yn(In.aliasSymbol.valueDeclaration)),ko=Sy(qn.aliasTypeArguments,Mi,ga,Yn(In.aliasSymbol.valueDeclaration));en(Bi,ko,o2e(In.aliasSymbol))}return}if(In===qn&&In.flags&3145728){for(let Mi of In.types)xe(Mi,Mi);return}if(qn.flags&1048576){let[Mi,ga]=Nn(In.flags&1048576?In.types:[In],qn.types,ZXe),[Bi,ko]=Nn(Mi,ga,eYe);if(ko.length===0)return;if(qn=Gr(ko),Bi.length===0){tt(In,qn,1);return}In=Gr(Bi)}else if(qn.flags&2097152&&!Ji(qn.types,rB)){if(!(In.flags&1048576)){let[Mi,ga]=Nn(In.flags&2097152?In.types:[In],qn.types,ph);if(Mi.length===0||ga.length===0)return;In=so(Mi),qn=so(ga)}}else qn.flags&41943040&&(qn=Cy(qn));if(qn.flags&8650752){if(x2e(In))return;let Mi=Jt(qn);if(Mi){if(Ur(In)&262144||In===ce)return;if(!Mi.isFixed){if((Mi.priority===void 0||u<Mi.priority)&&(Mi.candidates=void 0,Mi.contraCandidates=void 0,Mi.topLevel=!0,Mi.priority=u),u===Mi.priority){let Bi=T||In;p&&!h?ya(Mi.contraCandidates,Bi)||(Mi.contraCandidates=Sn(Mi.contraCandidates,Bi),IB(n)):ya(Mi.candidates,Bi)||(Mi.candidates=Sn(Mi.candidates,Bi),IB(n))}!(u&128)&&qn.flags&262144&&Mi.topLevel&&!pD(c,qn)&&(Mi.topLevel=!1,IB(n))}k=Math.min(k,u);return}let ga=mg(qn,!1);if(ga!==qn)xe(In,ga);else if(qn.flags&8388608){let Bi=mg(qn.indexType,!1);if(Bi.flags&465829888){let ko=kAe(mg(qn.objectType,!1),Bi,!1);ko&&ko!==qn&&xe(In,ko)}}}if(Ur(In)&4&&Ur(qn)&4&&(In.target===qn.target||_f(In)&&_f(qn))&&!(In.node&&qn.node))en(Ko(In),Ko(qn),zne(In.target));else if(In.flags&4194304&&qn.flags&4194304)cn(In.type,qn.type);else if((uD(In)||In.flags&4)&&qn.flags&4194304){let Mi=WXe(In);It(Mi,qn.type,256)}else if(In.flags&8388608&&qn.flags&8388608)xe(In.objectType,qn.objectType),xe(In.indexType,qn.indexType);else if(In.flags&268435456&&qn.flags&268435456)In.symbol===qn.symbol&&xe(In.type,qn.type);else if(In.flags&33554432)xe(In.baseType,qn),tt(une(In),qn,4);else if(qn.flags&16777216)un(In,qn,Hr);else if(qn.flags&3145728)Rn(In,qn.types,qn.flags);else if(In.flags&1048576){let Mi=In.types;for(let ga of Mi)xe(ga,qn)}else if(qn.flags&134217728)qi(In,qn);else{if(In=O_(In),!(u&512&&In.flags&467927040)){let Mi=Eu(In);if(Mi!==In&&O&&!(Mi.flags&2621440))return O=!1,xe(Mi,qn);In=Mi}In.flags&2621440&&un(In,qn,wa)}}}function tt(In,qn,Mi){let ga=u;u|=Mi,xe(In,qn),u=ga}function It(In,qn,Mi){let ga=u;u|=Mi,cn(In,qn),u=ga}function Tn(In,qn,Mi,ga){let Bi=u;u|=ga,Rn(In,qn,Mi),u=Bi}function un(In,qn,Mi){let ga=In.id+","+qn.id,Bi=H&&H.get(ga);if(Bi!==void 0){k=Math.min(k,Bi);return}(H||(H=new Map)).set(ga,-1);let ko=k;k=2048;let us=Ae,Xs=AC(In),no=AC(qn);ya(J,Xs)&&(Ae|=1),ya(de,no)&&(Ae|=2),Ae!==3?((J||(J=[])).push(Xs),(de||(de=[])).push(no),Mi(In,qn),de.pop(),J.pop()):k=-1,Ae=us,H.set(ga,k),k=Math.min(k,ko)}function Nn(In,qn,Mi){let ga,Bi;for(let ko of qn)for(let us of In)Mi(us,ko)&&(xe(us,ko),ga=xg(ga,us),Bi=xg(Bi,ko));return[ga?Pr(In,ko=>!ya(ga,ko)):In,Bi?Pr(qn,ko=>!ya(Bi,ko)):qn]}function en(In,qn,Mi){let ga=In.length<qn.length?In.length:qn.length;for(let Bi=0;Bi<ga;Bi++)Bi<Mi.length&&(Mi[Bi]&7)===2?cn(In[Bi],qn[Bi]):xe(In[Bi],qn[Bi])}function cn(In,qn){p=!p,xe(In,qn),p=!p}function rr(In,qn){re||u&1024?cn(In,qn):xe(In,qn)}function Jt(In){if(In.flags&8650752){for(let qn of n)if(In===qn.typeParameter)return qn}}function Cn(In){let qn;for(let Mi of In){let ga=Mi.flags&2097152&&wr(Mi.types,Bi=>!!Jt(Bi));if(!ga||qn&&ga!==qn)return;qn=ga}return qn}function Rn(In,qn,Mi){let ga=0;if(Mi&1048576){let Bi,ko=In.flags&1048576?In.types:[In],us=new Array(ko.length),Xs=!1;for(let no of qn)if(Jt(no))Bi=no,ga++;else for(let Tu=0;Tu<ko.length;Tu++){let et=k;k=2048,xe(ko[Tu],no),k===u&&(us[Tu]=!0),Xs=Xs||k===-1,k=Math.min(k,et)}if(ga===0){let no=Cn(qn);no&&tt(In,no,1);return}if(ga===1&&!Xs){let no=Uo(ko,(Tu,et)=>us[et]?void 0:Tu);if(no.length){xe(Gr(no),Bi);return}}}else for(let Bi of qn)Jt(Bi)?ga++:xe(In,Bi);if(Mi&2097152?ga===1:ga>0)for(let Bi of qn)Jt(Bi)&&tt(In,Bi,1)}function Br(In,qn,Mi){if(Mi.flags&1048576){let ga=!1;for(let Bi of Mi.types)ga=Br(In,qn,Bi)||ga;return ga}if(Mi.flags&4194304){let ga=Jt(Mi.type);if(ga&&!ga.isFixed&&!x2e(In)){let Bi=T2e(In,qn,Mi);Bi&&tt(Bi,ga.typeParameter,Ur(In)&262144?16:8)}return!0}if(Mi.flags&262144){tt(Gp(In),Mi,32);let ga=VE(Mi);if(ga&&Br(In,qn,ga))return!0;let Bi=on(Jo(In),zn),ko=on(tu(In),us=>us!==yu?us.type:lt);return xe(Gr(Qi(Bi,ko)),_h(qn)),!0}return!1}function Hr(In,qn){if(In.flags&16777216)xe(In.checkType,qn.checkType),xe(In.extendsType,qn.extendsType),xe(Hv(In),Hv(qn)),xe(Wv(In),Wv(qn));else{let Mi=[Hv(qn),Wv(qn)];Tn(In,Mi,qn.flags,p?64:0)}}function qi(In,qn){let Mi=C2e(In,qn),ga=qn.types;if(Mi||Ji(qn.texts,Bi=>Bi.length===0))for(let Bi=0;Bi<ga.length;Bi++){let ko=Mi?Mi[Bi]:lt,us=ga[Bi];if(ko.flags&128&&us.flags&8650752){let Xs=Jt(us),no=Xs?bu(Xs.typeParameter):void 0;if(no&&!Zo(no)){let Tu=no.flags&1048576?no.types:[no],et=ou(Tu,(he,Bn)=>he|Bn.flags,0);if(!(et&4)){let he=ko.value;et&296&&!A2e(he,!0)&&(et&=-297),et&2112&&!v4(he,!0)&&(et&=-2113);let Bn=ou(Tu,(Mn,or)=>or.flags&et?Mn.flags&4?Mn:or.flags&4?ko:Mn.flags&134217728?Mn:or.flags&134217728&&_re(ko,or)?ko:Mn.flags&268435456?Mn:or.flags&268435456&&he===CAe(or.symbol,he)?ko:Mn.flags&128?Mn:or.flags&128&&or.value===he?or:Mn.flags&8?Mn:or.flags&8?op(+he):Mn.flags&32?Mn:or.flags&32?op(+he):Mn.flags&256?Mn:or.flags&256&&or.value===+he?or:Mn.flags&64?Mn:or.flags&64?YXe(he):Mn.flags&2048?Mn:or.flags&2048&&j0(or.value)===he?or:Mn.flags&16?Mn:or.flags&16?he==="true"?pe:he==="false"?Ke:Te:Mn.flags&512?Mn:or.flags&512&&or.intrinsicName===he?or:Mn.flags&32768?Mn:or.flags&32768&&or.intrinsicName===he?or:Mn.flags&65536?Mn:or.flags&65536&&or.intrinsicName===he?or:Mn:Mn,lt);if(!(Bn.flags&131072)){xe(Bn,us);continue}}}}xe(ko,us)}}function wa(In,qn){var Mi,ga;if(Ur(In)&4&&Ur(qn)&4&&(In.target===qn.target||_f(In)&&_f(qn))){en(Ko(In),Ko(qn),zne(In.target));return}if(df(In)&&df(qn)){xe(rp(In),rp(qn)),xe(_h(In),_h(qn));let Bi=by(In),ko=by(qn);Bi&&ko&&xe(Bi,ko)}if(Ur(qn)&32&&!qn.declaration.nameType){let Bi=rp(qn);if(Br(In,qn,Bi))return}if(!qXe(In,qn)){if(JE(In)){if(po(qn)){let Bi=Vv(In),ko=Vv(qn),us=Ko(qn),Xs=qn.target.elementFlags;if(po(In)&&LXe(In,qn)){for(let et=0;et<ko;et++)xe(Ko(In)[et],us[et]);return}let no=po(In)?Math.min(In.target.fixedLength,qn.target.fixedLength):0,Tu=Math.min(po(In)?sM(In.target,3):0,qn.target.hasRestElement?sM(qn.target,3):0);for(let et=0;et<no;et++)xe(Ko(In)[et],us[et]);if(!po(In)||Bi-no-Tu===1&&In.target.elementFlags[no]&4){let et=Ko(In)[no];for(let he=no;he<ko-Tu;he++)xe(Xs[he]&8?nu(et):et,us[he])}else{let et=ko-no-Tu;if(et===2){if(Xs[no]&Xs[no+1]&8){let he=Jt(us[no]);he&&he.impliedArity!==void 0&&(xe(EC(In,no,Tu+Bi-he.impliedArity),us[no]),xe(EC(In,no+he.impliedArity,Tu),us[no+1]))}else if(Xs[no]&8&&Xs[no+1]&4){let he=(Mi=Jt(us[no]))==null?void 0:Mi.typeParameter,Bn=he&&bu(he);if(Bn&&po(Bn)&&!Bn.target.hasRestElement){let Mn=Bn.target.fixedLength;xe(EC(In,no,Bi-(no+Mn)),us[no]),xe(LC(In,no+Mn,Tu),us[no+1])}}else if(Xs[no]&4&&Xs[no+1]&8){let he=(ga=Jt(us[no+1]))==null?void 0:ga.typeParameter,Bn=he&&bu(he);if(Bn&&po(Bn)&&!Bn.target.hasRestElement){let Mn=Bn.target.fixedLength,or=Bi-sM(qn.target,3),_r=or-Mn,ua=ap(Ko(In).slice(_r,or),In.target.elementFlags.slice(_r,or),!1,In.target.labeledElementDeclarations&&In.target.labeledElementDeclarations.slice(_r,or));xe(LC(In,no,Tu+Mn),us[no]),xe(ua,us[no+1])}}}else if(et===1&&Xs[no]&8){let he=qn.target.elementFlags[ko-1]&2,Bn=EC(In,no,Tu);tt(Bn,us[no],he?2:0)}else if(et===1&&Xs[no]&4){let he=LC(In,no,Tu);he&&xe(he,us[no])}}for(let et=0;et<Tu;et++)xe(Ko(In)[Bi-et-1],us[ko-et-1]);return}if(_f(qn)){ji(In,qn);return}}Xc(In,qn),pf(In,qn,0),pf(In,qn,1),ji(In,qn)}}function Xc(In,qn){let Mi=Ey(qn);for(let ga of Mi){let Bi=ja(In,ga.escapedName);Bi&&!vt(Bi.declarations,dre)&&xe(zn(Bi),zn(ga))}}function pf(In,qn,Mi){let ga=xa(In,Mi),Bi=xa(qn,Mi),ko=ga.length,us=Bi.length,Xs=ko<us?ko:us;for(let no=0;no<Xs;no++)Hd(oKe(ga[ko-Xs+no]),tD(Bi[us-Xs+no]))}function Hd(In,qn){let Mi=h,ga=qn.declaration?qn.declaration.kind:0;h=h||ga===171||ga===170||ga===173,rre(In,qn,rr),h=Mi,ire(In,qn,xe)}function ji(In,qn){let Mi=Ur(In)&Ur(qn)&32?8:0,ga=tu(qn);if(xB(In))for(let Bi of ga){let ko=[];for(let us of Jo(In))if(Vx(TC(us,8576),Bi.keyType)){let Xs=zn(us);ko.push(us.flags&16777216?tre(Xs):Xs)}for(let us of tu(In))Vx(us.keyType,Bi.keyType)&&ko.push(us.type);ko.length&&tt(Gr(ko),Bi.type,Mi)}for(let Bi of ga){let ko=rM(In,Bi.keyType);ko&&tt(ko.type,Bi.type,Mi)}}}function ZXe(n,a){return a===Ge?n===a:ph(n,a)||!!(a.flags&4&&n.flags&128||a.flags&8&&n.flags&256)}function eYe(n,a){return!!(n.flags&524288&&a.flags&524288&&n.symbol&&n.symbol===a.symbol||n.aliasSymbol&&n.aliasTypeArguments&&n.aliasSymbol===a.aliasSymbol)}function tYe(n){let a=eu(n);return!!a&&Js(a.flags&16777216?Hte(a):a,406978556)}function Xv(n){return!!(Ur(n)&128)}function pre(n){return!!(Ur(n)&16512)}function nYe(n){if(n.length>1){let a=Pr(n,pre);if(a.length){let c=Gr(a,2);return Qi(Pr(n,u=>!pre(u)),[c])}}return n}function rYe(n){return n.priority&416?so(n.contraCandidates):EXe(n.contraCandidates)}function iYe(n,a){let c=nYe(n.candidates),u=tYe(n.typeParameter)||tM(n.typeParameter),p=!u&&n.topLevel&&(n.isFixed||!HXe(a,n.typeParameter)),h=u?Tl(c,Hu):p?Tl(c,i0):c,T=n.priority&416?Gr(h,2):bXe(h);return Sd(T)}function mre(n,a){let c=n.inferences[a];if(!c.inferredType){let u,p=n.signature;if(p){let T=c.candidates?iYe(c,p):void 0;if(c.contraCandidates)u=T&&!(T.flags&131072)&&vt(c.contraCandidates,O=>Iy(T,O))&&Ji(n.inferences,O=>O!==c&&eu(O.typeParameter)!==c.typeParameter||Ji(O.candidates,H=>Iy(H,T)))?T:rYe(c);else if(T)u=T;else if(n.flags&1)u=Qe;else{let k=jE(c.typeParameter);k&&(u=Oi(k,Nqe(Oqe(n,a),n.nonFixingMapper)))}}else u=S2e(c);c.inferredType=u||hre(!!(n.flags&2));let h=eu(c.typeParameter);if(h){let T=Oi(h,n.nonFixingMapper);(!u||!n.compareTypes(u,uf(T,u)))&&(c.inferredType=u=T)}}return c.inferredType}function hre(n){return n?Se:ue}function gre(n){let a=[];for(let c=0;c<n.inferences.length;c++)a.push(mre(n,c));return a}function L2e(n){switch(n.escapedText){case"document":case"console":return _.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom;case"$":return Y.types?_.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:_.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery;case"describe":case"suite":case"it":case"test":return Y.types?_.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:_.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha;case"process":case"require":case"Buffer":case"module":return Y.types?_.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:_.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode;case"Map":case"Set":case"Promise":case"Symbol":case"WeakMap":case"WeakSet":case"Iterator":case"AsyncIterator":case"SharedArrayBuffer":case"Atomics":case"AsyncIterable":case"AsyncIterableIterator":case"AsyncGenerator":case"AsyncGeneratorFunction":case"BigInt":case"Reflect":case"BigInt64Array":case"BigUint64Array":return _.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later;case"await":if(Pa(n.parent))return _.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function;default:return n.parent.kind===300?_.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:_.Cannot_find_name_0}}function Qf(n){let a=Rr(n);return a.resolvedSymbol||(a.resolvedSymbol=!rc(n)&&zs(n,n.escapedText,1160127,L2e(n),n,!hW(n),!1)||Ht),a.resolvedSymbol}function kC(n){return!!jn(n,a=>a.kind===183?!0:a.kind===79||a.kind===163?!1:"quit")}function k2e(n){return!!(n.flags&16777216||jn(n,a=>ku(a)||Rd(a)))}function kB(n,a,c,u){switch(n.kind){case 79:if(!mS(n)){let T=Qf(n);return T!==Ht?`${u?zo(u):"-1"}|${ru(a)}|${ru(c)}|${$a(T)}`:void 0}case 108:return`0|${u?zo(u):"-1"}|${ru(a)}|${ru(c)}`;case 232:case 214:return kB(n.expression,a,c,u);case 163:let p=kB(n.left,a,c,u);return p&&p+"."+n.right.escapedText;case 208:case 209:let h=YE(n);if(h!==void 0){let T=kB(n.expression,a,c,u);return T&&T+"."+h}break;case 203:case 204:case 259:case 215:case 216:case 171:return`${zo(n)}#${ru(a)}`}}function El(n,a){switch(a.kind){case 214:case 232:return El(n,a.expression);case 223:return Iu(a)&&El(n,a.left)||ar(a)&&a.operatorToken.kind===27&&El(n,a.right)}switch(n.kind){case 233:return a.kind===233&&n.keywordToken===a.keywordToken&&n.name.escapedText===a.name.escapedText;case 79:case 80:return mS(n)?a.kind===108:a.kind===79&&Qf(n)===Qf(a)||(wi(a)||Wo(a))&&tp(Qf(n))===fr(a);case 108:return a.kind===108;case 106:return a.kind===106;case 232:case 214:return El(n.expression,a);case 208:case 209:let c=YE(n),u=Us(a)?YE(a):void 0;return c!==void 0&&u!==void 0&&u===c&&El(n.expression,a.expression);case 163:return Us(a)&&n.right.escapedText===YE(a)&&El(n.left,a.expression);case 223:return ar(n)&&n.operatorToken.kind===27&&El(n.right,a)}return!1}function YE(n){if(br(n))return n.name.escapedText;if(Vs(n))return aYe(n);if(Wo(n)){let a=dn(n);return a?Bs(a):void 0}if(ha(n))return""+n.parent.parameters.indexOf(n)}function D2e(n){return n.flags&8192?n.escapedName:n.flags&384?Bs(""+n.value):void 0}function aYe(n){if(yf(n.argumentExpression))return Bs(n.argumentExpression.text);if(bc(n.argumentExpression)){let a=uc(n.argumentExpression,111551,!0);if(!a||!(wC(a)||a.flags&8))return;let c=a.valueDeclaration;if(c===void 0)return;let u=ad(c);if(u){let p=D2e(u);if(p!==void 0)return p}if(mT(c)&&$h(c,n.argumentExpression)){let p=Yw(c);if(p)return D2e(au(p));if(q0(c))return wA(c.name)}}}function w2e(n,a){for(;Us(n);)if(n=n.expression,El(n,a))return!0;return!1}function P1(n,a){for(;Jl(n);)if(n=n.expression,El(n,a))return!0;return!1}function mD(n,a){if(n&&n.flags&1048576){let c=Kte(n,a);if(c&&ac(c)&2)return c.links.isDiscriminantProperty===void 0&&(c.links.isDiscriminantProperty=(c.links.checkFlags&192)===192&&!SC(zn(c))),!!c.links.isDiscriminantProperty}return!1}function R2e(n,a){let c;for(let u of n)if(mD(a,u.escapedName)){if(c){c.push(u);continue}c=[u]}return c}function oYe(n,a){let c=new Map,u=0;for(let p of n)if(p.flags&61603840){let h=Vc(p,a);if(h){if(!uD(h))return;let T=!1;QE(h,k=>{let O=ru(Hu(k)),H=c.get(O);H?H!==ue&&(c.set(O,ue),T=!0):c.set(O,p)}),T||u++}}return u>=10&&u*2>=n.length?c:void 0}function TM(n){let a=n.types;if(!(a.length<10||Ur(n)&32768||Oy(a,c=>!!(c.flags&59506688))<10)){if(n.keyPropertyName===void 0){let c=mn(a,p=>p.flags&59506688?mn(Jo(p),h=>N_(zn(h))?h.escapedName:void 0):void 0),u=c&&oYe(a,c);n.keyPropertyName=u?c:"",n.constituentMap=u}return n.keyPropertyName.length?n.keyPropertyName:void 0}}function SM(n,a){var c;let u=(c=n.constituentMap)==null?void 0:c.get(ru(Hu(a)));return u!==ue?u:void 0}function O2e(n,a){let c=TM(n),u=c&&Vc(a,c);return u&&SM(n,u)}function sYe(n,a){let c=TM(n),u=c&&wr(a.properties,h=>h.symbol&&h.kind===299&&h.symbol.escapedName===c&&DM(h.initializer)),p=u&&KM(u.initializer);return p&&SM(n,p)}function N2e(n,a){return El(n,a)||w2e(n,a)}function P2e(n,a){if(n.arguments){for(let c of n.arguments)if(N2e(a,c))return!0}return!!(n.expression.kind===208&&N2e(a,n.expression.expression))}function yre(n){return(!n.id||n.id<0)&&(n.id=gK,gK++),n.id}function cYe(n,a){if(!(n.flags&1048576))return to(n,a);for(let c of n.types)if(to(c,a))return!0;return!1}function lYe(n,a){var c;if(n===a)return n;if(a.flags&131072)return a;let u=`A${ru(n)},${ru(a)}`;return(c=wb(u))!=null?c:qh(u,uYe(n,a))}function uYe(n,a){let c=jc(n,p=>cYe(a,p)),u=a.flags&512&&t0(a)?Ls(c,Yx):c;return to(a,u)?u:n}function vre(n){let a=R_(n);return!!(a.callSignatures.length||a.constructSignatures.length||a.members.get("bind")&&Iy(n,Hs))}function iu(n){n.flags&467927040&&(n=bu(n)||ue);let a=n.flags;if(a&268435460)return U?16317953:16776705;if(a&134217856){let c=a&128&&n.value==="";return U?c?12123649:7929345:c?12582401:16776705}if(a&40)return U?16317698:16776450;if(a&256){let c=n.value===0;return U?c?12123394:7929090:c?12582146:16776450}if(a&64)return U?16317188:16775940;if(a&2048){let c=p2e(n);return U?c?12122884:7928580:c?12581636:16775940}return a&16?U?16316168:16774920:a&528?U?n===Ke||n===oe?12121864:7927560:n===Ke||n===oe?12580616:16774920:a&524288?Ur(n)&16&&mh(n)?U?83427327:83886079:vre(n)?U?7880640:16728e3:U?7888800:16736160:a&16384?9830144:a&32768?26607360:a&65536?42917664:a&12288?U?7925520:16772880:a&67108864?U?7888800:16736160:a&131072?0:a&1048576?ou(n.types,(c,u)=>c|iu(u),0):a&2097152?dYe(n):83886079}function dYe(n){let a=Js(n,134348796),c=0,u=134217727;for(let p of n.types)if(!(a&&p.flags&524288)){let h=iu(p);c|=h,u&=h}return c&8256|u&134209471}function wf(n,a){return jc(n,c=>(iu(c)&a)!==0)}function $E(n,a){let c=M2e(wf(U&&n.flags&2?hc:n,a));if(U)switch(a){case 524288:return Ls(c,u=>iu(u)&65536?so([u,iu(u)&131072&&!Js(c,65536)?Gr([Ki,ln]):Ki]):u);case 1048576:return Ls(c,u=>iu(u)&131072?so([u,iu(u)&65536&&!Js(c,32768)?Gr([Ki,Oe]):Ki]):u);case 2097152:case 4194304:return Ls(c,u=>iu(u)&262144?wXe(u):u)}return c}function M2e(n){return n===hc?ue:n}function bre(n,a){return a?Gr([me(n),au(a)]):n}function F2e(n,a){var c;let u=pg(a);if(!fh(u))return ve;let p=Np(u);return Vc(n,p)||hD((c=jx(n,p))==null?void 0:c.type)||ve}function G2e(n,a){return Im(n,IC)&&TXe(n,a)||hD(wy(65,n,Oe,void 0))||ve}function hD(n){return n&&(Y.noUncheckedIndexedAccess?Gr([n,Ge]):n)}function B2e(n){return nu(wy(65,n,Oe,void 0)||ve)}function fYe(n){return n.parent.kind===206&&Ere(n.parent)||n.parent.kind===299&&Ere(n.parent.parent)?bre(xM(n),n.right):au(n.right)}function Ere(n){return n.parent.kind===223&&n.parent.left===n||n.parent.kind===247&&n.parent.initializer===n}function _Ye(n,a){return G2e(xM(n),n.elements.indexOf(a))}function pYe(n){return B2e(xM(n.parent))}function U2e(n){return F2e(xM(n.parent),n.name)}function mYe(n){return bre(U2e(n),n.objectAssignmentInitializer)}function xM(n){let{parent:a}=n;switch(a.kind){case 246:return ae;case 247:return e8(a)||ve;case 223:return fYe(a);case 217:return Oe;case 206:return _Ye(a,n);case 227:return pYe(a);case 299:return U2e(a);case 300:return mYe(a)}return ve}function hYe(n){let a=n.parent,c=j2e(a.parent),u=a.kind===203?F2e(c,n.propertyName||n.name):n.dotDotDotToken?B2e(c):G2e(c,a.elements.indexOf(n));return bre(u,n.initializer)}function V2e(n){return Rr(n).resolvedType||au(n)}function gYe(n){return n.initializer?V2e(n.initializer):n.parent.parent.kind===246?ae:n.parent.parent.kind===247&&e8(n.parent.parent)||ve}function j2e(n){return n.kind===257?gYe(n):hYe(n)}function yYe(n){return n.kind===257&&n.initializer&&is(n.initializer)||n.kind!==205&&n.parent.kind===223&&is(n.parent.right)}function a0(n){switch(n.kind){case 214:return a0(n.expression);case 223:switch(n.operatorToken.kind){case 63:case 75:case 76:case 77:return a0(n.left);case 27:return a0(n.right)}}return n}function H2e(n){let{parent:a}=n;return a.kind===214||a.kind===223&&a.operatorToken.kind===63&&a.left===n||a.kind===223&&a.operatorToken.kind===27&&a.right===n?H2e(a):n}function vYe(n){return n.kind===292?Hu(au(n.expression)):lt}function DB(n){let a=Rr(n);if(!a.switchTypes){a.switchTypes=[];for(let c of n.caseBlock.clauses)a.switchTypes.push(vYe(c))}return a.switchTypes}function W2e(n){if(vt(n.caseBlock.clauses,c=>c.kind===292&&!es(c.expression)))return;let a=[];for(let c of n.caseBlock.clauses){let u=c.kind===292?c.expression.text:void 0;a.push(u&&!ya(a,u)?u:void 0)}return a}function bYe(n,a){return n.flags&1048576?!mn(n.types,c=>!ya(a,c)):ya(a,n)}function gD(n,a){return n===a||a.flags&1048576&&EYe(n,a)}function EYe(n,a){if(n.flags&1048576){for(let c of n.types)if(!Qb(a.types,c))return!1;return!0}return n.flags&1056&&Kk(n)===a?!0:Qb(a.types,n)}function QE(n,a){return n.flags&1048576?mn(n.types,a):a(n)}function yh(n,a){return n.flags&1048576?vt(n.types,a):a(n)}function Im(n,a){return n.flags&1048576?Ji(n.types,a):a(n)}function TYe(n,a){return n.flags&3145728?Ji(n.types,a):a(n)}function jc(n,a){if(n.flags&1048576){let c=n.types,u=Pr(c,a);if(u===c)return n;let p=n.origin,h;if(p&&p.flags&1048576){let T=p.types,k=Pr(T,O=>!!(O.flags&1048576)||a(O));if(T.length-k.length===c.length-u.length){if(k.length===1)return k[0];h=bne(1048576,k)}}return Tne(u,n.objectFlags&16809984,void 0,void 0,h)}return n.flags&131072||a(n)?n:lt}function wB(n,a){return jc(n,c=>c!==a)}function SYe(n){return n.flags&1048576?n.types.length:1}function Ls(n,a,c){if(n.flags&131072)return n;if(!(n.flags&1048576))return a(n);let u=n.origin,p=u&&u.flags&1048576?u.types:n.types,h,T=!1;for(let k of p){let O=k.flags&1048576?Ls(k,a,c):a(k);T||(T=k!==O),O&&(h?h.push(O):h=[O])}return T?h&&Gr(h,c?0:1):n}function z2e(n,a,c,u){return n.flags&1048576&&c?Gr(on(n.types,a),1,c,u):Ls(n,a)}function DC(n,a){return jc(n,c=>(c.flags&a)!==0)}function J2e(n,a){return Js(n,134217804)&&Js(a,402655616)?Ls(n,c=>c.flags&4?DC(a,402653316):qx(c)&&!Js(a,402653188)?DC(a,128):c.flags&8?DC(a,264):c.flags&64?DC(a,2112):c):n}function Zx(n){return n.flags===0}function ZE(n){return n.flags===0?n.type:n}function eA(n,a){return a?{flags:0,type:n.flags&131072?Qe:n}:n}function xYe(n){let a=Bd(256);return a.elementType=n,a}function Tre(n){return hi[n.id]||(hi[n.id]=xYe(n))}function K2e(n,a){let c=EM(ky(KM(a)));return gD(c,n.elementType)?n:Tre(Gr([n.elementType,c]))}function AYe(n){return n.flags&131072?bn:nu(n.flags&1048576?Gr(n.types,2):n)}function CYe(n){return n.finalArrayType||(n.finalArrayType=AYe(n.elementType))}function AM(n){return Ur(n)&256?CYe(n):n}function IYe(n){return Ur(n)&256?n.elementType:lt}function LYe(n){let a=!1;for(let c of n)if(!(c.flags&131072)){if(!(Ur(c)&256))return!1;a=!0}return a}function q2e(n){let a=H2e(n),c=a.parent,u=br(c)&&(c.name.escapedText==="length"||c.parent.kind===210&&Re(c.name)&&jH(c.name)),p=c.kind===209&&c.expression===a&&c.parent.kind===223&&c.parent.operatorToken.kind===63&&c.parent.left===c&&!Um(c.parent)&&ul(au(c.argumentExpression),296);return u||p}function kYe(n){return(wi(n)||Na(n)||$d(n)||ha(n))&&!!(Cl(n)||Yn(n)&&Jy(n)&&n.initializer&&a2(n.initializer)&&U_(n.initializer))}function RB(n,a){if(n=Ac(n),n.flags&8752)return zn(n);if(n.flags&7){if(ac(n)&262144){let u=n.links.syntheticOrigin;if(u&&RB(u))return zn(n)}let c=n.valueDeclaration;if(c){if(kYe(c))return zn(n);if(wi(c)&&c.parent.parent.kind===247){let u=c.parent.parent,p=CM(u.expression,void 0);if(p){let h=u.awaitModifier?15:13;return wy(h,p,Oe,void 0)}}a&&Ao(a,hr(c,_._0_needs_an_explicit_type_annotation,E(n)))}}}function CM(n,a){if(!(n.flags&33554432))switch(n.kind){case 79:let c=tp(Qf(n));return RB(c,a);case 108:return qYe(n);case 106:return Ire(n);case 208:{let u=CM(n.expression,a);if(u){let p=n.name,h;if(pi(p)){if(!u.symbol)return;h=ja(u,hR(u.symbol,p.escapedText))}else h=ja(u,p.escapedText);return h&&RB(h,a)}return}case 214:return CM(n.expression,a)}}function OB(n){let a=Rr(n),c=a.effectsSignature;if(c===void 0){let u;n.parent.kind===241?u=CM(n.expression,void 0):n.expression.kind!==106&&(Jl(n)?u=sp(dD(Yi(n.expression),n.expression),n.expression):u=NC(n.expression));let p=xa(u&&Eu(u)||ue,0),h=p.length===1&&!p[0].typeParameters?p[0]:vt(p,X2e)?MC(n):void 0;c=a.effectsSignature=h&&X2e(h)?h:jt}return c===jt?void 0:c}function X2e(n){return!!(Lf(n)||n.declaration&&(Hx(n.declaration)||ue).flags&131072)}function DYe(n,a){if(n.kind===1||n.kind===3)return a.arguments[n.parameterIndex];let c=vs(a.expression);return Us(c)?vs(c.expression):void 0}function wYe(n){let a=jn(n,Bj),c=Gn(n),u=Pg(c,a.statements.pos);Lo.add(al(c,u.start,u.length,_.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis))}function IM(n){let a=NB(n,!1);return $t=n,Xn=a,a}function LM(n){let a=vs(n,!0);return a.kind===95||a.kind===223&&(a.operatorToken.kind===55&&(LM(a.left)||LM(a.right))||a.operatorToken.kind===56&&LM(a.left)&&LM(a.right))}function NB(n,a){for(;;){if(n===$t)return Xn;let c=n.flags;if(c&4096){if(!a){let u=yre(n),p=vx[u];return p!==void 0?p:vx[u]=NB(n,!0)}a=!1}if(c&368)n=n.antecedent;else if(c&512){let u=OB(n.node);if(u){let p=Lf(u);if(p&&p.kind===3&&!p.type){let h=n.node.arguments[p.parameterIndex];if(h&&LM(h))return!1}if(qo(u).flags&131072)return!1}n=n.antecedent}else{if(c&4)return vt(n.antecedents,u=>NB(u,!1));if(c&8){let u=n.antecedents;if(u===void 0||u.length===0)return!1;n=u[0]}else if(c&128){if(n.clauseStart===n.clauseEnd&&xIe(n.switchStatement))return!1;n=n.antecedent}else if(c&1024){$t=void 0;let u=n.target,p=u.antecedents;u.antecedents=n.antecedents;let h=NB(n.antecedent,!1);return u.antecedents=p,h}else return!(c&1)}}}function PB(n,a){for(;;){let c=n.flags;if(c&4096){if(!a){let u=yre(n),p=_E[u];return p!==void 0?p:_E[u]=PB(n,!0)}a=!1}if(c&496)n=n.antecedent;else if(c&512){if(n.node.expression.kind===106)return!0;n=n.antecedent}else{if(c&4)return Ji(n.antecedents,u=>PB(u,!1));if(c&8)n=n.antecedents[0];else if(c&1024){let u=n.target,p=u.antecedents;u.antecedents=n.antecedents;let h=PB(n.antecedent,!1);return u.antecedents=p,h}else return!!(c&1)}}}function Y2e(n){switch(n.kind){case 79:if(!mS(n)){let a=Qf(n);return wC(a)||VW(a)&&!MB(a)}break;case 208:case 209:return Y2e(n.expression)&&M_(Rr(n).resolvedSymbol||Ht)}return!1}function Yv(n,a,c=a,u,p=(h=>(h=zr(n,cR))==null?void 0:h.flowNode)()){let h,T=!1,k=0;if(ki)return ve;if(!p)return a;Vn++;let O=kr,H=ZE(Ae(p));kr=O;let J=Ur(H)&256&&q2e(n)?bn:AM(H);if(J===Hn||n.parent&&n.parent.kind===232&&!(J.flags&131072)&&wf(J,2097152).flags&131072)return a;return J===G?ue:J;function de(){return T?h:(T=!0,h=kB(n,a,c,u))}function Ae(st){var Ct;if(k===2e3)return(Ct=ai)==null||Ct.instant(ai.Phase.CheckTypes,"getTypeAtFlowNode_DepthLimit",{flowId:st.id}),ki=!0,wYe(n),ve;k++;let Bt;for(;;){let Ft=st.flags;if(Ft&4096){for(let Un=O;Un<kr;Un++)if(fE[Un]===st)return k--,yv[Un];Bt=st}let hn;if(Ft&16){if(hn=tt(st),!hn){st=st.antecedent;continue}}else if(Ft&512){if(hn=Tn(st),!hn){st=st.antecedent;continue}}else if(Ft&96)hn=Nn(st);else if(Ft&128)hn=en(st);else if(Ft&12){if(st.antecedents.length===1){st=st.antecedents[0];continue}hn=Ft&4?cn(st):rr(st)}else if(Ft&256){if(hn=un(st),!hn){st=st.antecedent;continue}}else if(Ft&1024){let Un=st.target,yi=Un.antecedents;Un.antecedents=st.antecedents,hn=Ae(st.antecedent),Un.antecedents=yi}else if(Ft&2){let Un=st.node;if(Un&&Un!==u&&n.kind!==208&&n.kind!==209&&n.kind!==108){st=Un.flowNode;continue}hn=c}else hn=PD(a);return Bt&&(fE[kr]=Bt,yv[kr]=hn,kr++),k--,hn}}function xe(st){let Ct=st.node;return Sre(Ct.kind===257||Ct.kind===205?j2e(Ct):xM(Ct),n)}function tt(st){let Ct=st.node;if(El(n,Ct)){if(!IM(st))return Hn;if(xT(Ct)===2){let Bt=Ae(st.antecedent);return eA(ky(ZE(Bt)),Zx(Bt))}if(a===at||a===bn){if(yYe(Ct))return Tre(lt);let Bt=i0(xe(st));return to(Bt,a)?Bt:Et}return a.flags&1048576?lYe(a,xe(st)):a}if(w2e(n,Ct)){if(!IM(st))return Hn;if(wi(Ct)&&(Yn(Ct)||kh(Ct))){let Bt=$w(Ct);if(Bt&&(Bt.kind===215||Bt.kind===216))return Ae(st.antecedent)}return a}if(wi(Ct)&&Ct.parent.parent.kind===246&&(El(n,Ct.parent.parent.expression)||P1(Ct.parent.parent.expression,n)))return Wre(AM(ZE(Ae(st.antecedent))))}function It(st,Ct){let Bt=vs(Ct,!0);if(Bt.kind===95)return Hn;if(Bt.kind===223){if(Bt.operatorToken.kind===55)return It(It(st,Bt.left),Bt.right);if(Bt.operatorToken.kind===56)return Gr([It(st,Bt.left),It(st,Bt.right)])}return _i(st,Bt,!0)}function Tn(st){let Ct=OB(st.node);if(Ct){let Bt=Lf(Ct);if(Bt&&(Bt.kind===2||Bt.kind===3)){let Ft=Ae(st.antecedent),hn=AM(ZE(Ft)),Un=Bt.type?ua(hn,Bt,st.node,!0):Bt.kind===3&&Bt.parameterIndex>=0&&Bt.parameterIndex<st.node.arguments.length?It(hn,st.node.arguments[Bt.parameterIndex]):hn;return Un===hn?Ft:eA(Un,Zx(Ft))}if(qo(Ct).flags&131072)return Hn}}function un(st){if(a===at||a===bn){let Ct=st.node,Bt=Ct.kind===210?Ct.expression.expression:Ct.left.expression;if(El(n,a0(Bt))){let Ft=Ae(st.antecedent),hn=ZE(Ft);if(Ur(hn)&256){let Un=hn;if(Ct.kind===210)for(let yi of Ct.arguments)Un=K2e(Un,yi);else{let yi=KM(Ct.left.argumentExpression);ul(yi,296)&&(Un=K2e(Un,Ct.right))}return Un===hn?Ft:eA(Un,Zx(Ft))}return Ft}}}function Nn(st){let Ct=Ae(st.antecedent),Bt=ZE(Ct);if(Bt.flags&131072)return Ct;let Ft=(st.flags&32)!==0,hn=AM(Bt),Un=_i(hn,st.node,Ft);return Un===hn?Ct:eA(Un,Zx(Ct))}function en(st){let Ct=st.switchStatement.expression,Bt=Ae(st.antecedent),Ft=ZE(Bt);if(El(n,Ct))Ft=ko(Ft,st.switchStatement,st.clauseStart,st.clauseEnd);else if(Ct.kind===218&&El(n,Ct.expression))Ft=no(Ft,st.switchStatement,st.clauseStart,st.clauseEnd);else{U&&(P1(Ct,n)?Ft=Bi(Ft,st.switchStatement,st.clauseStart,st.clauseEnd,Un=>!(Un.flags&163840)):Ct.kind===218&&P1(Ct.expression,n)&&(Ft=Bi(Ft,st.switchStatement,st.clauseStart,st.clauseEnd,Un=>!(Un.flags&131072||Un.flags&128&&Un.value==="undefined"))));let hn=Rn(Ct,Ft);hn&&(Ft=qi(Ft,hn,st.switchStatement,st.clauseStart,st.clauseEnd))}return eA(Ft,Zx(Bt))}function cn(st){let Ct=[],Bt=!1,Ft=!1,hn;for(let Un of st.antecedents){if(!hn&&Un.flags&128&&Un.clauseStart===Un.clauseEnd){hn=Un;continue}let yi=Ae(Un),Di=ZE(yi);if(Di===a&&a===c)return Di;Of(Ct,Di),gD(Di,a)||(Bt=!0),Zx(yi)&&(Ft=!0)}if(hn){let Un=Ae(hn),yi=ZE(Un);if(!(yi.flags&131072)&&!ya(Ct,yi)&&!xIe(hn.switchStatement)){if(yi===a&&a===c)return yi;Ct.push(yi),gD(yi,a)||(Bt=!0),Zx(Un)&&(Ft=!0)}}return eA(Jt(Ct,Bt?2:1),Ft)}function rr(st){let Ct=yre(st),Bt=zh[Ct]||(zh[Ct]=new Map),Ft=de();if(!Ft)return a;let hn=Bt.get(Ft);if(hn)return hn;for(let er=sn;er<Dn;er++)if(p1[er]===st&&uE[er]===Ft&&dE[er].length)return eA(Jt(dE[er],1),!0);let Un=[],yi=!1,Di;for(let er of st.antecedents){let Sr;if(!Di)Sr=Di=Ae(er);else{p1[Dn]=st,uE[Dn]=Ft,dE[Dn]=Un,Dn++;let Ii=ra;ra=void 0,Sr=Ae(er),ra=Ii,Dn--;let Bo=Bt.get(Ft);if(Bo)return Bo}let Dr=ZE(Sr);if(Of(Un,Dr),gD(Dr,a)||(yi=!0),Dr===a)break}let Xt=Jt(Un,yi?2:1);return Zx(Di)?eA(Xt,!0):(Bt.set(Ft,Xt),Xt)}function Jt(st,Ct){if(LYe(st))return Tre(Gr(on(st,IYe)));let Bt=M2e(Gr(Tl(st,AM),Ct));return Bt!==a&&Bt.flags&a.flags&1048576&&GD(Bt.types,a.types)?a:Bt}function Cn(st){if(La(n)||a2(n)||s_(n)){if(Re(st)){let Bt=Qf(st).valueDeclaration;if(Bt&&(Wo(Bt)||ha(Bt))&&n===Bt.parent&&!Bt.initializer&&!Bt.dotDotDotToken)return Bt}}else if(Us(st)){if(El(n,st.expression))return st}else if(Re(st)){let Ct=Qf(st);if(wC(Ct)){let Bt=Ct.valueDeclaration;if(wi(Bt)&&!Bt.type&&Bt.initializer&&Us(Bt.initializer)&&El(n,Bt.initializer.expression))return Bt.initializer;if(Wo(Bt)&&!Bt.initializer){let Ft=Bt.parent.parent;if(wi(Ft)&&!Ft.type&&Ft.initializer&&(Re(Ft.initializer)||Us(Ft.initializer))&&El(n,Ft.initializer))return Bt}}}}function Rn(st,Ct){let Bt=a.flags&1048576?a:Ct;if(Bt.flags&1048576){let Ft=Cn(st);if(Ft){let hn=YE(Ft);if(hn&&mD(Bt,hn))return Ft}}}function Br(st,Ct,Bt){let Ft=YE(Ct);if(Ft===void 0)return st;let hn=Jl(Ct),Un=U&&(hn||Hle(Ct))&&Js(st,98304),yi=Vc(Un?wf(st,2097152):st,Ft);if(!yi)return st;yi=Un&&hn?gg(yi):yi;let Di=Bt(yi);return jc(st,Xt=>{let er=KP(Xt,Ft);return!(er.flags&131072)&&!(Di.flags&131072)&&_M(Di,er)})}function Hr(st,Ct,Bt,Ft,hn){if((Bt===36||Bt===37)&&st.flags&1048576){let Un=TM(st);if(Un&&Un===YE(Ct)){let yi=SM(st,au(Ft));if(yi)return Bt===(hn?36:37)?yi:N_(Vc(yi,Un)||ue)?wB(st,yi):st}}return Br(st,Ct,Un=>qn(Un,Bt,Ft,hn))}function qi(st,Ct,Bt,Ft,hn){if(Ft<hn&&st.flags&1048576&&TM(st)===YE(Ct)){let Un=DB(Bt).slice(Ft,hn),yi=Gr(on(Un,Di=>SM(st,Di)||ue));if(yi!==ue)return yi}return Br(st,Ct,Un=>ko(Un,Bt,Ft,hn))}function wa(st,Ct,Bt){if(El(n,Ct))return $E(st,Bt?4194304:8388608);U&&Bt&&P1(Ct,n)&&(st=$E(st,2097152));let Ft=Rn(Ct,st);return Ft?Br(st,Ft,hn=>wf(hn,Bt?4194304:8388608)):st}function Xc(st,Ct,Bt){let Ft=ja(st,Ct);return Ft?!!(Ft.flags&16777216)||Bt:!!jx(st,Ct)||!Bt}function pf(st,Ct,Bt){let Ft=Np(Ct);if(yh(st,Un=>Xc(Un,Ft,!0)))return jc(st,Un=>Xc(Un,Ft,Bt));if(Bt){let Un=MKe();if(Un)return so([st,Jx(Un,[Ct,ue])])}return st}function Hd(st,Ct,Bt){switch(Ct.operatorToken.kind){case 63:case 75:case 76:case 77:return wa(_i(st,Ct.right,Bt),Ct.left,Bt);case 34:case 35:case 36:case 37:let Ft=Ct.operatorToken.kind,hn=a0(Ct.left),Un=a0(Ct.right);if(hn.kind===218&&es(Un))return Mi(st,hn,Ft,Un,Bt);if(Un.kind===218&&es(hn))return Mi(st,Un,Ft,hn,Bt);if(El(n,hn))return qn(st,Ft,Un,Bt);if(El(n,Un))return qn(st,Ft,hn,Bt);U&&(P1(hn,n)?st=In(st,Ft,Un,Bt):P1(Un,n)&&(st=In(st,Ft,hn,Bt)));let yi=Rn(hn,st);if(yi)return Hr(st,yi,Ft,Un,Bt);let Di=Rn(Un,st);if(Di)return Hr(st,Di,Ft,hn,Bt);if(Tu(hn))return et(st,Ft,Un,Bt);if(Tu(Un))return et(st,Ft,hn,Bt);break;case 102:return he(st,Ct,Bt);case 101:if(pi(Ct.left))return ji(st,Ct,Bt);let Xt=a0(Ct.right),er=au(Ct.left);if(er.flags&8576){if(fD(st)&&Us(n)&&El(n.expression,Xt)&&YE(n)===Np(er))return wf(st,Bt?524288:65536);if(El(n,Xt))return pf(st,er,Bt)}break;case 27:return _i(st,Ct.right,Bt);case 55:return Bt?_i(_i(st,Ct.left,!0),Ct.right,!0):Gr([_i(st,Ct.left,!1),_i(st,Ct.right,!1)]);case 56:return Bt?Gr([_i(st,Ct.left,!0),_i(st,Ct.right,!0)]):_i(_i(st,Ct.left,!1),Ct.right,!1)}return st}function ji(st,Ct,Bt){let Ft=a0(Ct.right);if(!El(n,Ft))return st;L.assertNode(Ct.left,pi);let hn=KB(Ct.left);if(hn===void 0)return st;let Un=hn.parent,yi=zc(L.checkDefined(hn.valueDeclaration,"should always have a declaration"))?zn(Un):gs(Un);return Mn(st,yi,Bt,!0)}function In(st,Ct,Bt,Ft){let hn=Ct===34||Ct===36,Un=Ct===34||Ct===35?98304:32768,yi=au(Bt);return hn!==Ft&&Im(yi,Xt=>!!(Xt.flags&Un))||hn===Ft&&Im(yi,Xt=>!(Xt.flags&(3|Un)))?$E(st,2097152):st}function qn(st,Ct,Bt,Ft){if(st.flags&1)return st;(Ct===35||Ct===37)&&(Ft=!Ft);let hn=au(Bt),Un=Ct===34||Ct===35;if(hn.flags&98304){if(!U)return st;let yi=Un?Ft?262144:2097152:hn.flags&65536?Ft?131072:1048576:Ft?65536:524288;return $E(st,yi)}if(Ft){if(!Un&&(st.flags&2||yh(st,hh))){if(hn.flags&201457660||hh(hn))return hn;if(hn.flags&524288)return jr}let yi=jc(st,Di=>_M(Di,hn)||Un&&RXe(Di,hn));return J2e(yi,hn)}return N_(hn)?jc(st,yi=>!(d2e(yi)&&_M(yi,hn))):st}function Mi(st,Ct,Bt,Ft,hn){(Bt===35||Bt===37)&&(hn=!hn);let Un=a0(Ct.expression);if(!El(n,Un)){U&&P1(Un,n)&&hn===(Ft.text!=="undefined")&&(st=$E(st,2097152));let yi=Rn(Un,st);return yi?Br(st,yi,Di=>ga(Di,Ft,hn)):st}return ga(st,Ft,hn)}function ga(st,Ct,Bt){return Bt?us(st,Ct.text):$E(st,fF.get(Ct.text)||32768)}function Bi(st,Ct,Bt,Ft,hn){return Bt!==Ft&&Ji(DB(Ct).slice(Bt,Ft),hn)?wf(st,2097152):st}function ko(st,Ct,Bt,Ft){let hn=DB(Ct);if(!hn.length)return st;let Un=hn.slice(Bt,Ft),yi=Bt===Ft||ya(Un,lt);if(st.flags&2&&!yi){let Sr;for(let Dr=0;Dr<Un.length;Dr+=1){let Ii=Un[Dr];if(Ii.flags&201457660)Sr!==void 0&&Sr.push(Ii);else if(Ii.flags&524288)Sr===void 0&&(Sr=Un.slice(0,Dr)),Sr.push(jr);else return st}return Gr(Sr===void 0?Un:Sr)}let Di=Gr(Un),Xt=Di.flags&131072?lt:J2e(jc(st,Sr=>_M(Di,Sr)),Di);if(!yi)return Xt;let er=jc(st,Sr=>!(d2e(Sr)&&ya(hn,Hu(xXe(Sr)))));return Xt.flags&131072?er:Gr([Xt,er])}function us(st,Ct){switch(Ct){case"string":return Xs(st,ae,1);case"number":return Xs(st,rt,2);case"bigint":return Xs(st,Ot,4);case"boolean":return Xs(st,Te,8);case"symbol":return Xs(st,j,16);case"object":return st.flags&1?st:Gr([Xs(st,jr,32),Xs(st,ln,131072)]);case"function":return st.flags&1?st:Xs(st,Hs,64);case"undefined":return Xs(st,Oe,65536)}return Xs(st,jr,128)}function Xs(st,Ct,Bt){return Ls(st,Ft=>Bp(Ft,Ct,x_)?iu(Ft)&Bt?Ft:lt:Iy(Ct,Ft)?Ct:iu(Ft)&Bt?so([Ft,Ct]):lt)}function no(st,Ct,Bt,Ft){let hn=W2e(Ct);if(!hn)return st;let Un=Yc(Ct.caseBlock.clauses,Xt=>Xt.kind===293);if(Bt===Ft||Un>=Bt&&Un<Ft){let Xt=SIe(Bt,Ft,hn);return jc(st,er=>(iu(er)&Xt)===Xt)}let Di=hn.slice(Bt,Ft);return Gr(on(Di,Xt=>Xt?us(st,Xt):lt))}function Tu(st){return(br(st)&&vr(st.name)==="constructor"||Vs(st)&&es(st.argumentExpression)&&st.argumentExpression.text==="constructor")&&El(n,st.expression)}function et(st,Ct,Bt,Ft){if(Ft?Ct!==34&&Ct!==36:Ct!==35&&Ct!==37)return st;let hn=au(Bt);if(!Jie(hn)&&!Uv(hn))return st;let Un=ja(hn,"prototype");if(!Un)return st;let yi=zn(Un),Di=Zo(yi)?void 0:yi;if(!Di||Di===ka||Di===Hs)return st;if(Zo(st))return Di;return jc(st,er=>Xt(er,Di));function Xt(er,Sr){return er.flags&524288&&Ur(er)&1||Sr.flags&524288&&Ur(Sr)&1?er.symbol===Sr.symbol:Iy(er,Sr)}}function he(st,Ct,Bt){let Ft=a0(Ct.left);if(!El(n,Ft))return Bt&&U&&P1(Ft,n)?$E(st,2097152):st;let hn=au(Ct.right);if(!r0(hn,Hs))return st;let Un=Ls(hn,Bn);return Zo(st)&&(Un===ka||Un===Hs)||!Bt&&!(Un.flags&524288&&!hh(Un))?st:Mn(st,Un,Bt,!0)}function Bn(st){let Ct=Vc(st,"prototype");if(Ct&&!Zo(Ct))return Ct;let Bt=xa(st,1);return Bt.length?Gr(on(Bt,Ft=>qo(tD(Ft)))):Ki}function Mn(st,Ct,Bt,Ft){var hn;let Un=st.flags&1048576?`N${ru(st)},${ru(Ct)},${(Bt?1:0)|(Ft?2:0)}`:void 0;return(hn=wb(Un))!=null?hn:qh(Un,or(st,Ct,Bt,Ft))}function or(st,Ct,Bt,Ft){if(!Bt){if(Ft)return jc(st,Xt=>!r0(Xt,Ct));let Di=Mn(st,Ct,!0,!1);return jc(st,Xt=>!gD(Xt,Di))}if(st.flags&3)return Ct;let hn=Ft?r0:Iy,Un=st.flags&1048576?TM(st):void 0,yi=Ls(Ct,Di=>{let Xt=Un&&Vc(Di,Un),er=Xt&&SM(st,Xt),Sr=Ls(er||st,Ft?Dr=>r0(Dr,Di)?Dr:r0(Di,Dr)?Di:lt:Dr=>qAe(Dr,Di)?Dr:qAe(Di,Dr)?Di:Iy(Dr,Di)?Dr:Iy(Di,Dr)?Di:lt);return Sr.flags&131072?Ls(st,Dr=>Js(Dr,465829888)&&hn(Di,bu(Dr)||ue)?so([Dr,Di]):lt):Sr});return yi.flags&131072?Iy(Ct,st)?Ct:to(st,Ct)?st:to(Ct,st)?Ct:so([st,Ct]):yi}function _r(st,Ct,Bt){if(P2e(Ct,n)){let Ft=Bt||!dT(Ct)?OB(Ct):void 0,hn=Ft&&Lf(Ft);if(hn&&(hn.kind===0||hn.kind===1))return ua(st,hn,Ct,Bt)}if(fD(st)&&Us(n)&&br(Ct.expression)){let Ft=Ct.expression;if(El(n.expression,a0(Ft.expression))&&Re(Ft.name)&&Ft.name.escapedText==="hasOwnProperty"&&Ct.arguments.length===1){let hn=Ct.arguments[0];if(es(hn)&&YE(n)===Bs(hn.text))return wf(st,Bt?524288:65536)}}return st}function ua(st,Ct,Bt,Ft){if(Ct.type&&!(Zo(st)&&(Ct.type===ka||Ct.type===Hs))){let hn=DYe(Ct,Bt);if(hn){if(El(n,hn))return Mn(st,Ct.type,Ft,!1);U&&Ft&&P1(hn,n)&&!(iu(Ct.type)&65536)&&(st=$E(st,2097152));let Un=Rn(hn,st);if(Un)return Br(st,Un,yi=>Mn(yi,Ct.type,Ft,!1))}}return st}function _i(st,Ct,Bt){if(r6(Ct)||ar(Ct.parent)&&(Ct.parent.operatorToken.kind===60||Ct.parent.operatorToken.kind===77)&&Ct.parent.left===Ct)return ur(st,Ct,Bt);switch(Ct.kind){case 79:if(!El(n,Ct)&&C<5){let Ft=Qf(Ct);if(wC(Ft)){let hn=Ft.valueDeclaration;if(hn&&wi(hn)&&!hn.type&&hn.initializer&&Y2e(n)){C++;let Un=_i(st,hn.initializer,Bt);return C--,Un}}}case 108:case 106:case 208:case 209:return wa(st,Ct,Bt);case 210:return _r(st,Ct,Bt);case 214:case 232:return _i(st,Ct.expression,Bt);case 223:return Hd(st,Ct,Bt);case 221:if(Ct.operator===53)return _i(st,Ct.operand,!Bt);break}return st}function ur(st,Ct,Bt){if(El(n,Ct))return $E(st,Bt?2097152:262144);let Ft=Rn(Ct,st);return Ft?Br(st,Ft,hn=>wf(hn,Bt?2097152:262144)):st}}function RYe(n,a){if(n=tp(n),(a.kind===79||a.kind===80)&&(zI(a)&&(a=a.parent),Dh(a)&&(!Um(a)||YI(a)))){let c=au(a);if(tp(Rr(a).resolvedSymbol)===n)return c}return Rh(a)&&Ng(a.parent)&&N(a.parent)?Fi(a.parent.symbol):Gv(n)}function yD(n){return jn(n.parent,a=>Ia(a)&&!ET(a)||a.kind===265||a.kind===308||a.kind===169)}function MB(n){if(!n.valueDeclaration)return!1;let a=nm(n.valueDeclaration).parent,c=Rr(a);return c.flags&524288||(c.flags|=524288,OYe(a)||$2e(a)),n.isAssigned||!1}function OYe(n){return!!jn(n.parent,a=>(Ia(a)||E2(a))&&!!(Rr(a).flags&524288))}function $2e(n){if(n.kind===79){if(Um(n)){let a=Qf(n);VW(a)&&(a.isAssigned=!0)}}else pa(n,$2e)}function wC(n){return n.flags&3&&(WB(n)&2)!==0}function NYe(n){let a=Rr(n);if(a.parameterInitializerContainsUndefined===void 0){if(!cf(n,9))return pC(n.symbol),!0;let c=!!(iu(ID(n,0))&16777216);if(!If())return pC(n.symbol),!0;a.parameterInitializerContainsUndefined=c}return a.parameterInitializerContainsUndefined}function PYe(n,a){return U&&a.kind===166&&a.initializer&&iu(n)&16777216&&!NYe(a)?wf(n,524288):n}function MYe(n,a){let c=a.parent;return c.kind===208||c.kind===163||c.kind===210&&c.expression===a||c.kind===209&&c.expression===a&&!(yh(n,Z2e)&&jv(au(c.argumentExpression)))}function Q2e(n){return n.flags&2097152?vt(n.types,Q2e):!!(n.flags&465829888&&Ty(n).flags&1146880)}function Z2e(n){return n.flags&2097152?vt(n.types,Z2e):!!(n.flags&465829888&&!Js(Ty(n),98304))}function FYe(n,a){let c=(Re(n)||br(n)||Vs(n))&&!((Xm(n.parent)||FS(n.parent))&&n.parent.tagName===n)&&(a&&a&64?Ru(n,8):Ru(n,void 0));return c&&!SC(c)}function Sre(n,a,c){return!(c&&c&2)&&yh(n,Q2e)&&(MYe(n,a)||FYe(a,c))?Ls(n,Ty):n}function eCe(n){return!!jn(n,a=>{let c=a.parent;return c===void 0?"quit":pc(c)?c.expression===a&&bc(a):Mu(c)?c.name===a||c.propertyName===a:!1})}function FB(n,a){if(!Y.verbatimModuleSyntax&&ay(n,111551)&&!kC(a)&&!nd(n,111551)){let c=wc(n);Fl(c)&1160127&&(d_(Y)||U0(Y)&&eCe(a)||!MD(tp(c))?Hb(n):Wb(n))}}function GYe(n,a){var c;let u=zn(n),p=n.valueDeclaration;if(p){if(Wo(p)&&!p.initializer&&!p.dotDotDotToken&&p.parent.elements.length>=2){let h=p.parent.parent;if(h.kind===257&&G_(p)&2||h.kind===166){let T=Rr(h);if(!(T.flags&16777216)){T.flags|=16777216;let k=Px(h,0),O=k&&Ls(k,Ty);if(T.flags&=-16777217,O&&O.flags&1048576&&!(h.kind===166&&MB(n))){let H=p.parent,J=Yv(H,O,O,void 0,a.flowNode);return J.flags&131072?lt:li(p,J)}}}}if(ha(p)&&!p.type&&!p.initializer&&!p.dotDotDotToken){let h=p.parent;if(h.parameters.length>=2&&fB(h)){let T=bD(h);if(T&&T.parameters.length===1&&Xl(T)){let k=vC(Oi(zn(T.parameters[0]),(c=M1(h))==null?void 0:c.nonFixingMapper));if(k.flags&1048576&&Im(k,po)&&!MB(n)){let O=Yv(h,k,k,void 0,a.flowNode),H=h.parameters.indexOf(p)-(F0(h)?1:0);return od(O,op(H))}}}}}return u}function BYe(n,a){if(mS(n))return kM(n);let c=Qf(n);if(c===Ht)return ve;if(c===_t){if(FCe(n))return Fe(n,_.arguments_cannot_be_referenced_in_property_initializers),ve;let Nn=Xd(n);return R<2&&(Nn.kind===216?Fe(n,_.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression):Mr(Nn,512)&&Fe(n,_.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method)),Rr(Nn).flags|=512,zn(c)}VYe(n)&&FB(c,n);let u=tp(c),p=MLe(u,n);Sv(p)&&xne(n,p)&&p.declarations&&Xh(n,p.declarations,n.escapedText);let h=u.valueDeclaration;if(h&&u.flags&32){if(h.kind===260&&FA($,h)){let Nn=Zc(n);for(;Nn!==void 0;){if(Nn===h&&Nn.name!==n){Rr(h).flags|=1048576,Rr(n).flags|=2097152;break}Nn=Zc(Nn)}}else if(h.kind===228){let Nn=Ku(n,!1,!1);for(;Nn.kind!==308;){if(Nn.parent===h){(Na(Nn)&&Ca(Nn)||oc(Nn))&&(Rr(h).flags|=1048576,Rr(n).flags|=2097152);break}Nn=Ku(Nn,!1,!1)}}}WYe(n,c);let T=GYe(u,n),k=xT(n);if(k){if(!(u.flags&3)&&!(Yn(n)&&u.flags&512)){let Nn=u.flags&384?_.Cannot_assign_to_0_because_it_is_an_enum:u.flags&32?_.Cannot_assign_to_0_because_it_is_a_class:u.flags&1536?_.Cannot_assign_to_0_because_it_is_a_namespace:u.flags&16?_.Cannot_assign_to_0_because_it_is_a_function:u.flags&2097152?_.Cannot_assign_to_0_because_it_is_an_import:_.Cannot_assign_to_0_because_it_is_not_a_variable;return Fe(n,Nn,E(c)),ve}if(M_(u))return u.flags&3?Fe(n,_.Cannot_assign_to_0_because_it_is_a_constant,E(c)):Fe(n,_.Cannot_assign_to_0_because_it_is_a_read_only_property,E(c)),ve}let O=u.flags&2097152;if(u.flags&3){if(k===1)return T}else if(O)h=Uu(c);else return T;if(!h)return T;T=Sre(T,n,a);let H=nm(h).kind===166,J=yD(h),de=yD(n),Ae=de!==J,xe=n.parent&&n.parent.parent&&VS(n.parent)&&Ere(n.parent.parent),tt=c.flags&134217728;for(;de!==J&&(de.kind===215||de.kind===216||D6(de))&&(wC(u)&&T!==bn||H&&!MB(u));)de=yD(de);let It=H||O||Ae||xe||tt||UYe(n,h)||T!==at&&T!==bn&&(!U||(T.flags&16387)!==0||kC(n)||k2e(n)||n.parent.kind===278)||n.parent.kind===232||h.kind===257&&h.exclamationToken||h.flags&16777216,Tn=It?H?PYe(T,h):T:T===at||T===bn?Oe:gg(T),un=Yv(n,T,Tn,de);if(!q2e(n)&&(T===at||T===bn)){if(un===at||un===bn)return ge&&(Fe(sa(h),_.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,E(c),Ee(un)),Fe(n,_.Variable_0_implicitly_has_an_1_type,E(c),Ee(un))),PD(un)}else if(!It&&!xC(T)&&xC(un))return Fe(n,_.Variable_0_is_used_before_being_assigned,E(c)),T;return k?ky(un):un}function UYe(n,a){if(Wo(a)){let c=jn(n,Wo);return c&&nm(c)===nm(a)}}function VYe(n){var a;let c=n.parent;if(c){if(br(c)&&c.expression===n||Mu(c)&&c.isTypeOnly)return!1;let u=(a=c.parent)==null?void 0:a.parent;if(u&&Il(u)&&u.isTypeOnly)return!1}return!0}function jYe(n,a){return!!jn(n,c=>c===a?"quit":Ia(c)||c.parent&&Na(c.parent)&&!zc(c.parent)&&c.parent.initializer===c)}function HYe(n,a){return jn(n,c=>c===a?"quit":c===a.initializer||c===a.condition||c===a.incrementor||c===a.statement)}function xre(n){return jn(n,a=>!a||HH(a)?"quit":Wy(a,!1))}function WYe(n,a){if(R>=2||!(a.flags&34)||!a.valueDeclaration||Li(a.valueDeclaration)||a.valueDeclaration.parent.kind===295)return;let c=tm(a.valueDeclaration),u=jYe(n,c),p=xre(c);if(p){if(u){let h=!0;if(FT(c)){let T=cb(a.valueDeclaration,258);if(T&&T.parent===c){let k=HYe(n.parent,c);if(k){let O=Rr(k);O.flags|=8192;let H=O.capturedBlockScopeBindings||(O.capturedBlockScopeBindings=[]);Of(H,a),k===c.initializer&&(h=!1)}}}h&&(Rr(p).flags|=4096)}if(FT(c)){let h=cb(a.valueDeclaration,258);h&&h.parent===c&&JYe(n,c)&&(Rr(a.valueDeclaration).flags|=262144)}Rr(a.valueDeclaration).flags|=32768}u&&(Rr(a.valueDeclaration).flags|=16384)}function zYe(n,a){let c=Rr(n);return!!c&&ya(c.capturedBlockScopeBindings,fr(a))}function JYe(n,a){let c=n;for(;c.parent.kind===214;)c=c.parent;let u=!1;if(Um(c))u=!0;else if(c.parent.kind===221||c.parent.kind===222){let p=c.parent;u=p.operator===45||p.operator===46}return u?!!jn(c,p=>p===a?"quit":p===a.statement):!1}function Are(n,a){if(Rr(n).flags|=2,a.kind===169||a.kind===173){let c=a.parent;Rr(c).flags|=4}else Rr(a).flags|=4}function tCe(n){return OA(n)?n:Ia(n)?void 0:pa(n,tCe)}function nCe(n){let a=fr(n),c=gs(a);return Wr(c)===ir}function rCe(n,a,c){let u=a.parent;P0(u)&&!nCe(u)&&cR(n)&&n.flowNode&&!PB(n.flowNode,!1)&&Fe(n,c)}function KYe(n,a){Na(a)&&zc(a)&&$&&a.initializer&&Y8(a.initializer,n.pos)&&bf(a.parent)&&Fe(n,_.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class)}function kM(n){let a=kC(n),c=Ku(n,!0,!0),u=!1,p=!1;for(c.kind===173&&rCe(n,c,_.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class);;){if(c.kind===216&&(c=Ku(c,!1,!p),u=!0),c.kind===164){c=Ku(c,!u,!1),p=!0;continue}break}if(KYe(n,c),p)Fe(n,_.this_cannot_be_referenced_in_a_computed_property_name);else switch(c.kind){case 264:Fe(n,_.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 263:Fe(n,_.this_cannot_be_referenced_in_current_location);break;case 173:iCe(n,c)&&Fe(n,_.this_cannot_be_referenced_in_constructor_arguments);break}!a&&u&&R<2&&Are(n,c);let h=Cre(n,!0,c);if(X){let T=zn(Ye);if(h===T&&u)Fe(n,_.The_containing_arrow_function_captures_the_global_value_of_this);else if(!h){let k=Fe(n,_.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!Li(c)){let O=Cre(c);O&&O!==T&&Ao(k,hr(c,_.An_outer_value_of_this_is_shadowed_by_this_container))}}}return h||Se}function Cre(n,a=!0,c=Ku(n,!1,!1)){let u=Yn(n);if(Ia(c)&&(!kre(n)||F0(c))){let p=Pt(c)||u&&YYe(c);if(!p){let h=XYe(c);if(u&&h){let T=Yi(h).symbol;T&&T.members&&T.flags&16&&(p=gs(T).thisType)}else cp(c)&&(p=gs(No(c.symbol)).thisType);p||(p=oCe(c))}if(p)return Yv(n,p)}if(Yr(c.parent)){let p=fr(c.parent),h=Ca(c)?zn(p):gs(p).thisType;return Yv(n,h)}if(Li(c))if(c.commonJsModuleIndicator){let p=fr(c);return p&&zn(p)}else{if(c.externalModuleIndicator)return Oe;if(a)return zn(Ye)}}function qYe(n){let a=Ku(n,!1,!1);if(Ia(a)){let c=ip(a);if(c.thisParameter)return RB(c.thisParameter)}if(Yr(a.parent)){let c=fr(a.parent);return Ca(a)?zn(c):gs(c).thisType}}function XYe(n){if(n.kind===215&&ar(n.parent)&&ic(n.parent)===3)return n.parent.left.expression.expression;if(n.kind===171&&n.parent.kind===207&&ar(n.parent.parent)&&ic(n.parent.parent)===6)return n.parent.parent.left.expression;if(n.kind===215&&n.parent.kind===299&&n.parent.parent.kind===207&&ar(n.parent.parent.parent)&&ic(n.parent.parent.parent)===6)return n.parent.parent.parent.left.expression;if(n.kind===215&&yl(n.parent)&&Re(n.parent.name)&&(n.parent.name.escapedText==="value"||n.parent.name.escapedText==="get"||n.parent.name.escapedText==="set")&&rs(n.parent.parent)&&Pa(n.parent.parent.parent)&&n.parent.parent.parent.arguments[2]===n.parent.parent&&ic(n.parent.parent.parent)===9)return n.parent.parent.parent.arguments[0].expression;if(Nc(n)&&Re(n.name)&&(n.name.escapedText==="value"||n.name.escapedText==="get"||n.name.escapedText==="set")&&rs(n.parent)&&Pa(n.parent.parent)&&n.parent.parent.arguments[2]===n.parent&&ic(n.parent.parent)===9)return n.parent.parent.arguments[0].expression}function YYe(n){let a=Vy(n);if(a&&a.kind===320){let u=a;if(u.parameters.length>0&&u.parameters[0].name&&u.parameters[0].name.escapedText==="this")return $r(u.parameters[0].type)}let c=e6(n);if(c&&c.typeExpression)return $r(c.typeExpression)}function iCe(n,a){return!!jn(n,c=>Ds(c)?"quit":c.kind===166&&c.parent===a)}function Ire(n){let a=n.parent.kind===210&&n.parent.expression===n,c=Ww(n,!0),u=c,p=!1,h=!1;if(!a){for(;u&&u.kind===216;)Mr(u,512)&&(h=!0),u=Ww(u,!0),p=R<2;u&&Mr(u,512)&&(h=!0)}let T=0;if(!u||!J(u)){let de=jn(n,Ae=>Ae===u?"quit":Ae.kind===164);return de&&de.kind===164?Fe(n,_.super_cannot_be_referenced_in_a_computed_property_name):a?Fe(n,_.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):!u||!u.parent||!(Yr(u.parent)||u.parent.kind===207)?Fe(n,_.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions):Fe(n,_.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class),ve}if(!a&&c.kind===173&&rCe(n,u,_.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),Ca(u)||a?(T=32,!a&&R>=2&&R<=8&&(Na(u)||oc(u))&&Jse(n.parent,de=>{(!Li(de)||kd(de))&&(Rr(de).flags|=8388608)})):T=16,Rr(n).flags|=T,u.kind===171&&h&&(Pu(n.parent)&&Um(n.parent)?Rr(u).flags|=256:Rr(u).flags|=128),p&&Are(n.parent,u),u.parent.kind===207)return R<2?(Fe(n,_.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ve):Se;let k=u.parent;if(!P0(k))return Fe(n,_.super_can_only_be_referenced_in_a_derived_class),ve;let O=gs(fr(k)),H=O&&_o(O)[0];if(!H)return ve;if(u.kind===173&&iCe(n,u))return Fe(n,_.super_cannot_be_referenced_in_constructor_arguments),ve;return T===32?Wr(O):uf(H,O.thisType);function J(de){return a?de.kind===173:Yr(de.parent)||de.parent.kind===207?Ca(de)?de.kind===171||de.kind===170||de.kind===174||de.kind===175||de.kind===169||de.kind===172:de.kind===171||de.kind===170||de.kind===174||de.kind===175||de.kind===169||de.kind===168||de.kind===173:!1}}function $Ye(n){return(n.kind===171||n.kind===174||n.kind===175)&&n.parent.kind===207?n.parent:n.kind===215&&n.parent.kind===299?n.parent.parent:void 0}function aCe(n){return Ur(n)&4&&n.target===ye?Ko(n)[0]:void 0}function QYe(n){return Ls(n,a=>a.flags&2097152?mn(a.types,aCe):aCe(a))}function oCe(n){if(n.kind===216)return;if(fB(n)){let c=bD(n);if(c){let u=c.thisParameter;if(u)return zn(u)}}let a=Yn(n);if(X||a){let c=$Ye(n);if(c){let p=o0(c,void 0),h=c,T=p;for(;T;){let k=QYe(T);if(k)return Oi(k,sre(M1(c)));if(h.parent.kind!==299)break;h=h.parent.parent,T=o0(h,void 0)}return Sd(p?yg(p):Ic(c))}let u=qy(n.parent);if(u.kind===223&&u.operatorToken.kind===63){let p=u.left;if(Us(p)){let{expression:h}=p;if(a&&Re(h)){let T=Gn(u);if(T.commonJsModuleIndicator&&Qf(h)===T.symbol)return}return Sd(Ic(h))}}}}function sCe(n){let a=n.parent;if(!fB(a))return;let c=ET(a);if(c&&c.arguments){let p=rie(c),h=a.parameters.indexOf(n);if(n.dotDotDotToken)return tie(p,h,p.length,Se,void 0,0);let T=Rr(c),k=T.resolvedSignature;T.resolvedSignature=As;let O=h<p.length?i0(Yi(p[h])):n.initializer?void 0:je;return T.resolvedSignature=k,O}let u=bD(a);if(u){let p=a.parameters.indexOf(n)-(F0(a)?1:0);return n.dotDotDotToken&&Os(a.parameters)===n?SD(u,p):tT(u,p)}}function Lre(n,a){let c=Cl(n)||(Yn(n)?T4(n):void 0);if(c)return $r(c);switch(n.kind){case 166:return sCe(n);case 205:return ZYe(n,a);case 169:if(Ca(n))return e$e(n,a)}}function ZYe(n,a){let c=n.parent.parent,u=n.propertyName||n.name,p=Lre(c,a)||c.kind!==205&&c.initializer&&ID(c,n.dotDotDotToken?64:0);if(!p||La(u)||Vw(u))return;if(c.name.kind===204){let T=DA(n.parent.elements,n);return T<0?void 0:fCe(p,T)}let h=pg(u);if(fh(h)){let T=Np(h);return Vc(p,T)}}function e$e(n,a){let c=ot(n.parent)&&Ru(n.parent,a);if(c)return eT(c,fr(n).escapedName)}function t$e(n,a){let c=n.parent;if(Jy(c)&&n===c.initializer){let u=Lre(c,a);if(u)return u;if(!(a&8)&&La(c.name)&&c.name.elements.length>0)return oo(c.name,!0,!1)}}function n$e(n,a){let c=Xd(n);if(c){let u=Dre(c,a);if(u){let p=pl(c);if(p&1){let h=(p&2)!==0;u.flags&1048576&&(u=jc(u,k=>!!c0(1,k,h)));let T=c0(1,u,(p&2)!==0);if(!T)return;u=T}if(p&2){let h=Ls(u,bg);return h&&Gr([h,bIe(h)])}return u}}}function r$e(n,a){let c=Ru(n,a);if(c){let u=bg(c);return u&&Gr([u,bIe(u)])}}function i$e(n,a){let c=Xd(n);if(c){let u=pl(c),p=Dre(c,a);if(p){let h=(u&2)!==0;return!n.asteriskToken&&p.flags&1048576&&(p=jc(p,T=>!!c0(1,T,h))),n.asteriskToken?p:c0(0,p,h)}}}function kre(n){let a=!1;for(;n.parent&&!Ia(n.parent);){if(ha(n.parent)&&(a||n.parent.initializer===n))return!0;Wo(n.parent)&&n.parent.initializer===n&&(a=!0),n=n.parent}return!1}function cCe(n,a){let c=!!(pl(a)&2),u=Dre(a,void 0);if(u)return c0(n,u,c)||void 0}function Dre(n,a){let c=Hx(n);if(c)return c;let u=Nre(n);if(u&&!rne(u))return qo(u);let p=ET(n);if(p)return Ru(p,a)}function lCe(n,a){let u=rie(n).indexOf(a);return u===-1?void 0:wre(n,u)}function wre(n,a){if(Dd(n))return a===0?ae:a===1?nAe(!1):Se;let c=Rr(n).resolvedSignature===yc?yc:MC(n);if(Au(n)&&a===0)return VB(c,n);let u=c.parameters.length-1;return Xl(c)&&a>=u?od(zn(c.parameters[u]),op(a-u),256):P_(c,a)}function a$e(n){let a=_ie(n);return a?HE(a):void 0}function o$e(n,a){if(n.parent.kind===212)return lCe(n.parent,a)}function s$e(n,a){let c=n.parent,{left:u,operatorToken:p,right:h}=c;switch(p.kind){case 63:case 76:case 75:case 77:return n===h?l$e(c):void 0;case 56:case 60:let T=Ru(c,a);return n===h&&(T&&T.pattern||!T&&!dce(c))?au(u):T;case 55:case 27:return n===h?Ru(c,a):void 0;default:return}}function c$e(n){if($p(n)&&n.symbol)return n.symbol;if(Re(n))return Qf(n);if(br(n)){let c=au(n.expression);return pi(n.name)?a(c,n.name):ja(c,n.name.escapedText)}if(Vs(n)){let c=Ic(n.argumentExpression);if(!fh(c))return;let u=au(n.expression);return ja(u,Np(c))}return;function a(c,u){let p=JB(u.escapedText,u);return p&&zre(c,p)}}function l$e(n){var a,c;let u=ic(n);switch(u){case 0:case 4:let p=c$e(n.left),h=p&&p.valueDeclaration;if(h&&(Na(h)||$d(h))){let O=Cl(h);return O&&Oi($r(O),Ai(p).mapper)||(Na(h)?h.initializer&&au(n.left):void 0)}return u===0?au(n.left):uCe(n);case 5:if(GB(n,u))return uCe(n);if(!$p(n.left)||!n.left.symbol)return au(n.left);{let O=n.left.symbol.valueDeclaration;if(!O)return;let H=Ga(n.left,Us),J=Cl(O);if(J)return $r(J);if(Re(H.expression)){let de=H.expression,Ae=zs(de,de.escapedText,111551,void 0,de.escapedText,!0);if(Ae){let xe=Ae.valueDeclaration&&Cl(Ae.valueDeclaration);if(xe){let tt=wh(H);if(tt!==void 0)return eT($r(xe),tt)}return}}return Yn(O)?void 0:au(n.left)}case 1:case 6:case 3:case 2:let T;u!==2&&(T=$p(n.left)?(a=n.left.symbol)==null?void 0:a.valueDeclaration:void 0),T||(T=(c=n.symbol)==null?void 0:c.valueDeclaration);let k=T&&Cl(T);return k?$r(k):void 0;case 7:case 8:case 9:return L.fail("Does not apply");default:return L.assertNever(u)}}function GB(n,a=ic(n)){if(a===4)return!0;if(!Yn(n)||a!==5||!Re(n.left.expression))return!1;let c=n.left.expression.escapedText,u=zs(n.left,c,111551,void 0,void 0,!0,!0);return N6(u?.valueDeclaration)}function uCe(n){if(!n.symbol)return au(n.left);if(n.symbol.valueDeclaration){let p=Cl(n.symbol.valueDeclaration);if(p){let h=$r(p);if(h)return h}}let a=Ga(n.left,Us);if(!s_(Ku(a.expression,!1,!1)))return;let c=kM(a.expression),u=wh(a);return u!==void 0&&eT(c,u)||void 0}function u$e(n){return!!(ac(n)&262144&&!n.links.type&&Sm(n,0)>=0)}function eT(n,a,c){return Ls(n,u=>{var p;if(df(u)&&!u.declaration.nameType){let h=rp(u),T=bu(h)||h,k=c||ff(Gi(a));if(to(k,T))return nB(u,k)}else if(u.flags&3670016){let h=ja(u,a);if(h)return u$e(h)?void 0:zn(h);if(po(u)&&Wm(a)&&+a>=0){let T=LC(u,u.target.fixedLength,0,!1,!0);if(T)return T}return(p=$te(Qte(u),c||ff(Gi(a))))==null?void 0:p.type}},!0)}function dCe(n,a){if(L.assert(s_(n)),!(n.flags&33554432))return Rre(n,a)}function Rre(n,a){let c=n.parent,u=yl(n)&&Lre(n,a);if(u)return u;let p=o0(c,a);if(p){if(Ux(n)){let h=fr(n);return eT(p,h.escapedName,Ai(h).nameType)}if(n.name){let h=pg(n.name);return Ls(p,T=>{var k;return(k=$te(Qte(T),h))==null?void 0:k.type},!0)}}}function fCe(n,a){return n&&(a>=0&&eT(n,""+a)||Ls(n,c=>po(c)?LC(c,0,0,!1,!0):Rie(1,c,Oe,void 0,!1),!0))}function d$e(n,a){let c=n.parent;return n===c.whenTrue||n===c.whenFalse?Ru(c,a):void 0}function f$e(n,a,c){let u=o0(n.openingElement.tagName,c),p=HB(tA(n));if(!(u&&!Zo(u)&&p&&p!==""))return;let h=bR(n.children),T=h.indexOf(a),k=eT(u,p);return k&&(h.length===1?k:Ls(k,O=>Kv(O)?od(O,op(T)):O,!0))}function _$e(n,a){let c=n.parent;return d6(c)?Ru(n,a):Hg(c)?f$e(c,n,a):void 0}function _Ce(n,a){if(Sp(n)){let c=o0(n.parent,a);return!c||Zo(c)?void 0:eT(c,n.name.escapedText)}else return Ru(n.parent,a)}function DM(n){switch(n.kind){case 10:case 8:case 9:case 14:case 110:case 95:case 104:case 79:case 155:return!0;case 208:case 214:return DM(n.expression);case 291:return!n.expression||DM(n.expression)}return!1}function p$e(n,a){return sYe(a,n)||Wne(a,Qi(on(Pr(n.properties,c=>!!c.symbol&&c.kind===299&&DM(c.initializer)&&mD(a,c.symbol.escapedName)),c=>[()=>KM(c.initializer),c.symbol.escapedName]),on(Pr(Jo(a),c=>{var u;return!!(c.flags&16777216)&&!!((u=n?.symbol)!=null&&u.members)&&!n.symbol.members.has(c.escapedName)&&mD(a,c.escapedName)}),c=>[()=>Oe,c.escapedName])),to,a)}function m$e(n,a){return Wne(a,Qi(on(Pr(n.properties,c=>!!c.symbol&&c.kind===288&&mD(a,c.symbol.escapedName)&&(!c.initializer||DM(c.initializer))),c=>[c.initializer?()=>KM(c.initializer):()=>pe,c.symbol.escapedName]),on(Pr(Jo(a),c=>{var u;return!!(c.flags&16777216)&&!!((u=n?.symbol)!=null&&u.members)&&!n.symbol.members.has(c.escapedName)&&mD(a,c.escapedName)}),c=>[()=>Oe,c.escapedName])),to,a)}function o0(n,a){let c=s_(n)?dCe(n,a):Ru(n,a),u=BB(c,n,a);if(u&&!(a&&a&2&&u.flags&8650752)){let p=Ls(u,Eu,!0);return p.flags&1048576&&rs(n)?p$e(n,p):p.flags&1048576&&K0(n)?m$e(n,p):p}}function BB(n,a,c){if(n&&Js(n,465829888)){let u=M1(a);if(u&&c&1&&vt(u.inferences,qZe))return UB(n,u.nonFixingMapper);if(u?.returnMapper){let p=UB(n,u.returnMapper);return p.flags&1048576&&Qb(p.types,oe)&&Qb(p.types,z)?jc(p,h=>h!==oe&&h!==z):p}}return n}function UB(n,a){return n.flags&465829888?Oi(n,a):n.flags&1048576?Gr(on(n.types,c=>UB(c,a)),0):n.flags&2097152?so(on(n.types,c=>UB(c,a))):n}function Ru(n,a){var c,u;if(n.flags&33554432)return;let p=mCe(n,!a);if(p>=0)return Mc[p];let{parent:h}=n;switch(h.kind){case 257:case 166:case 169:case 168:case 205:return t$e(n,a);case 216:case 250:return n$e(n,a);case 226:return i$e(h,a);case 220:return r$e(h,a);case 210:case 211:return lCe(h,n);case 167:return a$e(h);case 213:case 231:return Ch(h.type)?Ru(h,a):$r(h.type);case 223:return s$e(n,a);case 299:case 300:return Rre(h,a);case 301:return Ru(h.parent,a);case 206:{let T=h,k=o0(T,a),O=(u=(c=Rr(T)).firstSpreadIndex)!=null?u:c.firstSpreadIndex=Yc(T.elements,Km),H=DA(T.elements,n);return fCe(k,O<0||H<O?H:-1)}case 224:return d$e(n,a);case 236:return L.assert(h.parent.kind===225),o$e(h.parent,n);case 214:{if(Yn(h)){if(zW(h))return $r(JW(h));let T=x0(h);if(T&&!Ch(T.typeExpression.type))return $r(T.typeExpression.type)}return Ru(h,a)}case 232:return Ru(h,a);case 235:return $r(h.type);case 274:return ad(h);case 291:return _$e(h,a);case 288:case 290:return _Ce(h,a);case 283:case 282:return y$e(h,a)}}function pCe(n){wM(n,Ru(n,void 0),!0)}function wM(n,a,c){Is[Hh]=n,Mc[Hh]=a,mm[Hh]=c,Hh++}function vD(){Hh--}function mCe(n,a){for(let c=Hh-1;c>=0;c--)if(n===Is[c]&&(a||!mm[c]))return c;return-1}function h$e(n,a){T_[mv]=n,Cb[mv]=a,mv++}function g$e(){mv--}function M1(n){for(let a=mv-1;a>=0;a--)if(AT(n,T_[a]))return Cb[a]}function y$e(n,a){if(Xm(n)&&a!==4){let c=mCe(n.parent,!a);if(c>=0)return Mc[c]}return wre(n,0)}function VB(n,a){return $Ce(a)!==0?v$e(n,a):T$e(n,a)}function v$e(n,a){let c=die(n,ue);c=hCe(a,tA(a),c);let u=s0(Qd.IntrinsicAttributes,a);return Ro(u)||(c=QP(u,c)),c}function b$e(n,a){if(n.compositeSignatures){let u=[];for(let p of n.compositeSignatures){let h=qo(p);if(Zo(h))return h;let T=Vc(h,a);if(!T)return;u.push(T)}return so(u)}let c=qo(n);return Zo(c)?c:Vc(c,a)}function E$e(n){if(OC(n.tagName)){let c=ACe(n),u=ZB(n,c);return HE(u)}let a=Ic(n.tagName);if(a.flags&128){let c=xCe(a,n);if(!c)return ve;let u=ZB(n,c);return HE(u)}return a}function hCe(n,a,c){let u=V$e(a);if(u){let p=gs(u),h=E$e(n);if(u.flags&524288){let T=Ai(u).typeParameters;if(Fn(T)>=2){let k=Sy([h,c],T,2,Yn(n));return Jx(u,k)}}if(Fn(p.typeParameters)>=2){let T=Sy([h,c],p.typeParameters,2,Yn(n));return _g(p,T)}}return c}function T$e(n,a){let c=tA(a),u=j$e(c),p=u===void 0?die(n,ue):u===""?qo(n):b$e(n,u);if(!p)return u&&Fn(a.attributes.properties)&&Fe(a,_.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,Gi(u)),ue;if(p=hCe(a,c,p),Zo(p))return p;{let h=p,T=s0(Qd.IntrinsicClassAttributes,a);if(!Ro(T)){let O=yy(T.symbol),H=qo(n),J;if(O){let de=Sy([H],O,Mp(O),Yn(a));J=Oi(T,Wu(O,de))}else J=T;h=QP(J,h)}let k=s0(Qd.IntrinsicAttributes,a);return Ro(k)||(h=QP(k,h)),h}}function S$e(n){return Uf(Y,"noImplicitAny")?ou(n,(a,c)=>a===c||!a?a:Sxe(a.typeParameters,c.typeParameters)?C$e(a,c):void 0):void 0}function x$e(n,a,c){if(!n||!a)return n||a;let u=Gr([zn(n),Oi(zn(a),c)]);return qE(n,u)}function A$e(n,a,c){let u=xd(n),p=xd(a),h=u>=p?n:a,T=h===n?a:n,k=h===n?u:p,O=jp(n)||jp(a),H=O&&!jp(h),J=new Array(k+(H?1:0));for(let de=0;de<k;de++){let Ae=tT(h,de);h===a&&(Ae=Oi(Ae,c));let xe=tT(T,de)||ue;T===a&&(xe=Oi(xe,c));let tt=Gr([Ae,xe]),It=O&&!H&&de===k-1,Tn=de>=Vp(h)&&de>=Vp(T),un=de>=u?void 0:FC(n,de),Nn=de>=p?void 0:FC(a,de),en=un===Nn?un:un?Nn?void 0:un:Nn,cn=wo(1|(Tn&&!It?16777216:0),en||`arg${de}`);cn.links.type=It?nu(tt):tt,J[de]=cn}if(H){let de=wo(1,"args");de.links.type=nu(P_(T,k)),T===a&&(de.links.type=Oi(de.links.type,c)),J[k]=de}return J}function C$e(n,a){let c=n.typeParameters||a.typeParameters,u;n.typeParameters&&a.typeParameters&&(u=Wu(a.typeParameters,n.typeParameters));let p=n.declaration,h=A$e(n,a,u),T=x$e(n.thisParameter,a.thisParameter,u),k=Math.max(n.minArgumentCount,a.minArgumentCount),O=Am(p,c,T,h,void 0,void 0,k,(n.flags|a.flags)&39);return O.compositeKind=2097152,O.compositeSignatures=Qi(n.compositeKind===2097152&&n.compositeSignatures||[n],[a]),u&&(O.mapper=n.compositeKind===2097152&&n.mapper&&n.compositeSignatures?Jv(n.mapper,u):u),O}function Ore(n,a){let c=xa(n,0),u=Pr(c,p=>!I$e(p,a));return u.length===1?u[0]:S$e(u)}function I$e(n,a){let c=0;for(;c<a.parameters.length;c++){let u=a.parameters[c];if(u.initializer||u.questionToken||u.dotDotDotToken||JR(u))break}return a.parameters.length&&G0(a.parameters[0])&&c--,!jp(n)&&xd(n)<c}function Nre(n){return a2(n)||s_(n)?bD(n):void 0}function bD(n){L.assert(n.kind!==171||s_(n));let a=Zk(n);if(a)return a;let c=o0(n,1);if(!c)return;if(!(c.flags&1048576))return Ore(c,n);let u,p=c.types;for(let h of p){let T=Ore(h,n);if(T)if(!u)u=[T];else if(vM(u[0],T,!1,!0,!0,sD))u.push(T);else return}if(u)return u.length===1?u[0]:Exe(u[0],u)}function L$e(n,a){R<2&&Hc(n,Y.downlevelIteration?1536:1024);let c=Yi(n.expression,a);return wy(33,c,Oe,n.expression)}function k$e(n){return n.isSpread?od(n.type,rt):n.type}function RC(n){return n.kind===205&&!!n.initializer||n.kind===223&&n.operatorToken.kind===63}function gCe(n,a,c){let u=n.elements,p=u.length,h=[],T=[];pCe(n);let k=Um(n),O=GC(n),H=o0(n,void 0),J=!!H&&yh(H,IC),de=!1;for(let Ae=0;Ae<p;Ae++){let xe=u[Ae];if(xe.kind===227){R<2&&Hc(xe,Y.downlevelIteration?1536:1024);let tt=Yi(xe.expression,a,c);if(Kv(tt))h.push(tt),T.push(8);else if(k){let It=fg(tt,rt)||Rie(65,tt,Oe,void 0,!1)||ue;h.push(It),T.push(4)}else h.push(wy(33,tt,Oe,xe.expression)),T.push(4)}else if(Pe&&xe.kind===229)de=!0,h.push(kt),T.push(2);else{let tt=BC(xe,a,c);if(h.push(ao(tt,!0,de)),T.push(de?2:1),J&&a&&a&2&&!(a&4)&&$f(xe)){let It=M1(n);L.assert(It),v2e(It,xe,tt)}}}return vD(),k?ap(h,T):yCe(c||O||J?ap(h,T,O):nu(h.length?Gr(Tl(h,(Ae,xe)=>T[xe]&8?Ay(Ae,rt)||Se:Ae),2):U?Vt:je,O))}function yCe(n){if(!(Ur(n)&4))return n;let a=n.literalType;return a||(a=n.literalType=Wxe(n),a.objectFlags|=147456),a}function D$e(n){switch(n.kind){case 164:return w$e(n);case 79:return Wm(n.escapedText);case 8:case 10:return Wm(n.text);default:return!1}}function w$e(n){return ul(vg(n),296)}function vg(n){let a=Rr(n.expression);if(!a.resolvedType){if((Rd(n.parent.parent)||Yr(n.parent.parent)||ku(n.parent.parent))&&ar(n.expression)&&n.expression.operatorToken.kind===101&&n.parent.kind!==174&&n.parent.kind!==175)return a.resolvedType=ve;if(a.resolvedType=Yi(n.expression),Na(n.parent)&&!zc(n.parent)&&_u(n.parent.parent)){let c=tm(n.parent.parent),u=xre(c);u&&(Rr(u).flags|=4096,Rr(n).flags|=32768,Rr(n.parent.parent).flags|=32768)}(a.resolvedType.flags&98304||!ul(a.resolvedType,402665900)&&!to(a.resolvedType,Kr))&&Fe(n,_.A_computed_property_name_must_be_of_type_string_number_symbol_or_any)}return a.resolvedType}function R$e(n){var a;let c=(a=n.declarations)==null?void 0:a[0];return Wm(n.escapedName)||c&&zl(c)&&D$e(c.name)}function vCe(n){var a;let c=(a=n.declarations)==null?void 0:a[0];return gR(n)||c&&zl(c)&&ts(c.name)&&ul(vg(c.name),4096)}function Pre(n,a,c,u){let p=[];for(let T=a;T<c.length;T++){let k=c[T];(u===ae&&!vCe(k)||u===rt&&R$e(k)||u===j&&vCe(k))&&p.push(zn(c[T]))}let h=p.length?Gr(p,2):Oe;return Fp(u,h,GC(n))}function Mre(n){L.assert((n.flags&2097152)!==0,"Should only get Alias here.");let a=Ai(n);if(!a.immediateTarget){let c=Uu(n);if(!c)return L.fail();a.immediateTarget=L_(c,!0)}return a.immediateTarget}function O$e(n,a){var c;let u=Um(n);Mrt(n,u);let p=U?Ua():void 0,h=Ua(),T=[],k=Ki;pCe(n);let O=o0(n,void 0),H=O&&O.pattern&&(O.pattern.kind===203||O.pattern.kind===207),J=GC(n),de=J?8:0,Ae=Yn(n)&&!B6(n),xe=Ij(n),tt=!O&&Ae&&!xe,It=ke,Tn=!1,un=!1,Nn=!1,en=!1;for(let Jt of n.properties)Jt.name&&ts(Jt.name)&&vg(Jt.name);let cn=0;for(let Jt of n.properties){let Cn=fr(Jt),Rn=Jt.name&&Jt.name.kind===164?vg(Jt.name):void 0;if(Jt.kind===299||Jt.kind===300||s_(Jt)){let Br=Jt.kind===299?NIe(Jt,a):Jt.kind===300?BC(!u&&Jt.objectAssignmentInitializer?Jt.objectAssignmentInitializer:Jt.name,a):PIe(Jt,a);if(Ae){let wa=di(Jt);wa?(wu(Br,wa,Jt),Br=wa):xe&&xe.typeExpression&&wu(Br,$r(xe.typeExpression),Jt)}It|=Ur(Br)&458752;let Hr=Rn&&fh(Rn)?Rn:void 0,qi=Hr?wo(4|Cn.flags,Np(Hr),de|4096):wo(4|Cn.flags,Cn.escapedName,de);if(Hr&&(qi.links.nameType=Hr),u)(Jt.kind===299&&RC(Jt.initializer)||Jt.kind===300&&Jt.objectAssignmentInitializer)&&(qi.flags|=16777216);else if(H&&!(Ur(O)&512)){let wa=ja(O,Cn.escapedName);wa?qi.flags|=wa.flags&16777216:!Y.suppressExcessPropertyErrors&&!Cm(O,ae)&&Fe(Jt.name,_.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,E(Cn),Ee(O))}if(qi.declarations=Cn.declarations,qi.parent=Cn.parent,Cn.valueDeclaration&&(qi.valueDeclaration=Cn.valueDeclaration),qi.links.type=Br,qi.links.target=Cn,Cn=qi,p?.set(qi.escapedName,qi),O&&a&&a&2&&!(a&4)&&(Jt.kind===299||Jt.kind===171)&&$f(Jt)){let wa=M1(n);L.assert(wa);let Xc=Jt.kind===299?Jt.initializer:Jt;v2e(wa,Xc,Br)}}else if(Jt.kind===301){R<2&&Hc(Jt,2),T.length>0&&(k=e0(k,rr(),n.symbol,It,J),T=[],h=Ua(),un=!1,Nn=!1,en=!1);let Br=O_(Yi(Jt.expression));if(RM(Br)){let Hr=kne(Br,J);if(p&&ECe(Hr,p,Jt),cn=T.length,Ro(k))continue;k=e0(k,Hr,n.symbol,It,J)}else Fe(Jt,_.Spread_types_may_only_be_created_from_object_types),k=ve;continue}else L.assert(Jt.kind===174||Jt.kind===175),zC(Jt);Rn&&!(Rn.flags&8576)?to(Rn,Kr)&&(to(Rn,rt)?Nn=!0:to(Rn,j)?en=!0:un=!0,u&&(Tn=!0)):h.set(Cn.escapedName,Cn),T.push(Cn)}if(vD(),H){let Jt=jn(O.pattern.parent,Rn=>Rn.kind===257||Rn.kind===223||Rn.kind===166);if(jn(n,Rn=>Rn===Jt||Rn.kind===301).kind!==301)for(let Rn of Jo(O))!h.get(Rn.escapedName)&&!ja(k,Rn.escapedName)&&(Rn.flags&16777216||Fe(Rn.valueDeclaration||((c=zr(Rn,Zp))==null?void 0:c.links.bindingElement),_.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value),h.set(Rn.escapedName,Rn),T.push(Rn))}if(Ro(k))return ve;if(k!==Ki)return T.length>0&&(k=e0(k,rr(),n.symbol,It,J),T=[],h=Ua(),un=!1,Nn=!1),Ls(k,Jt=>Jt===Ki?rr():Jt);return rr();function rr(){let Jt=[];un&&Jt.push(Pre(n,cn,T,ae)),Nn&&Jt.push(Pre(n,cn,T,rt)),en&&Jt.push(Pre(n,cn,T,j));let Cn=ls(n.symbol,h,Je,Je,Jt);return Cn.objectFlags|=It|128|131072,tt&&(Cn.objectFlags|=4096),Tn&&(Cn.objectFlags|=512),u&&(Cn.pattern=n),Cn}}function RM(n){let a=m2e(Ls(n,Ty));return!!(a.flags&126615553||a.flags&3145728&&Ji(a.types,RM))}function N$e(n){Ure(n)}function P$e(n,a){return zC(n),OM(n)||Se}function M$e(n){Ure(n.openingElement),OC(n.closingElement.tagName)?Gre(n.closingElement):Yi(n.closingElement.tagName),jB(n)}function F$e(n,a){return zC(n),OM(n)||Se}function G$e(n){Ure(n.openingFragment);let a=Gn(n);return AW(Y)&&(Y.jsxFactory||a.pragmas.has("jsx"))&&!Y.jsxFragmentFactory&&!a.pragmas.has("jsxfrag")&&Fe(n,Y.jsxFactory?_.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:_.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments),jB(n),OM(n)||Se}function Fre(n){return jl(n,"-")}function OC(n){return n.kind===79&&GI(n.escapedText)}function bCe(n,a){return n.initializer?BC(n.initializer,a):pe}function B$e(n,a){let c=n.attributes,u=Ru(c,0),p=U?Ua():void 0,h=Ua(),T=kc,k=!1,O,H=!1,J=2048,de=HB(tA(n));for(let tt of c.properties){let It=tt.symbol;if(Sp(tt)){let Tn=bCe(tt,a);J|=Ur(Tn)&458752;let un=wo(4|It.flags,It.escapedName);if(un.declarations=It.declarations,un.parent=It.parent,It.valueDeclaration&&(un.valueDeclaration=It.valueDeclaration),un.links.type=Tn,un.links.target=It,h.set(un.escapedName,un),p?.set(un.escapedName,un),tt.name.escapedText===de&&(H=!0),u){let Nn=ja(u,It.escapedName);Nn&&Nn.declarations&&Sv(Nn)&&Xh(tt.name,Nn.declarations,tt.name.escapedText)}}else{L.assert(tt.kind===290),h.size>0&&(T=e0(T,xe(),c.symbol,J,!1),h=Ua());let Tn=O_(Ic(tt.expression,a));Zo(Tn)&&(k=!0),RM(Tn)?(T=e0(T,Tn,c.symbol,J,!1),p&&ECe(Tn,p,tt)):(Fe(tt.expression,_.Spread_types_may_only_be_created_from_object_types),O=O?so([O,Tn]):Tn)}}k||h.size>0&&(T=e0(T,xe(),c.symbol,J,!1));let Ae=n.parent.kind===281?n.parent:void 0;if(Ae&&Ae.openingElement===n&&Ae.children.length>0){let tt=jB(Ae,a);if(!k&&de&&de!==""){H&&Fe(c,_._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,Gi(de));let It=o0(n.attributes,void 0),Tn=It&&eT(It,de),un=wo(4,de);un.links.type=tt.length===1?tt[0]:Tn&&yh(Tn,IC)?ap(tt):nu(Gr(tt)),un.valueDeclaration=D.createPropertySignature(void 0,Gi(de),void 0,void 0),go(un.valueDeclaration,c),un.valueDeclaration.symbol=un;let Nn=Ua();Nn.set(de,un),T=e0(T,ls(c.symbol,Nn,Je,Je,Je),c.symbol,J,!1)}}if(k)return Se;if(O&&T!==kc)return so([O,T]);return O||(T===kc?xe():T);function xe(){J|=ke;let tt=ls(c.symbol,h,Je,Je,Je);return tt.objectFlags|=J|128|131072,tt}}function jB(n,a){let c=[];for(let u of n.children)if(u.kind===11)u.containsOnlyTriviaWhiteSpaces||c.push(ae);else{if(u.kind===291&&!u.expression)continue;c.push(BC(u,a))}return c}function ECe(n,a,c){for(let u of Jo(n))if(!(u.flags&16777216)){let p=a.get(u.escapedName);if(p){let h=Fe(p.valueDeclaration,_._0_is_specified_more_than_once_so_this_usage_will_be_overwritten,Gi(p.escapedName));Ao(h,hr(c,_.This_spread_always_overwrites_this_property))}}}function U$e(n,a){return B$e(n.parent,a)}function s0(n,a){let c=tA(a),u=c&&Gd(c),p=u&&yd(u,n,788968);return p?gs(p):ve}function Gre(n){let a=Rr(n);if(!a.resolvedSymbol){let c=s0(Qd.IntrinsicElements,n);if(Ro(c))return ge&&Fe(n,_.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,Gi(Qd.IntrinsicElements)),a.resolvedSymbol=Ht;{if(!Re(n.tagName))return L.fail();let u=ja(c,n.tagName.escapedText);return u?(a.jsxFlags|=1,a.resolvedSymbol=u):fg(c,ae)?(a.jsxFlags|=2,a.resolvedSymbol=c.symbol):(Fe(n,_.Property_0_does_not_exist_on_type_1,vr(n.tagName),"JSX."+Qd.IntrinsicElements),a.resolvedSymbol=Ht)}}return a.resolvedSymbol}function Bre(n){let a=n&&Gn(n),c=a&&Rr(a);if(c&&c.jsxImplicitImportContainer===!1)return;if(c&&c.jsxImplicitImportContainer)return c.jsxImplicitImportContainer;let u=p4(_4(Y,a),Y);if(!u)return;let h=$s(Y)===1?_.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:_.Cannot_find_module_0_or_its_corresponding_type_declarations,T=qc(n,u,h,n),k=T&&T!==Ht?No(Ac(T)):void 0;return c&&(c.jsxImplicitImportContainer=k||!1),k}function tA(n){let a=n&&Rr(n);if(a&&a.jsxNamespace)return a.jsxNamespace;if(!a||a.jsxNamespace!==!1){let u=Bre(n);if(!u||u===Ht){let p=Rb(n);u=zs(n,p,1920,void 0,p,!1)}if(u){let p=Ac(yd(Gd(Ac(u)),Qd.JSX,1920));if(p&&p!==Ht)return a&&(a.jsxNamespace=p),p}a&&(a.jsxNamespace=!1)}let c=Ac(nD(Qd.JSX,1920,void 0));if(c!==Ht)return c}function TCe(n,a){let c=a&&yd(a.exports,n,788968),u=c&&gs(c),p=u&&Jo(u);if(p){if(p.length===0)return"";if(p.length===1)return p[0].escapedName;p.length>1&&c.declarations&&Fe(c.declarations[0],_.The_global_type_JSX_0_may_not_have_more_than_one_property,Gi(n))}}function V$e(n){return n&&yd(n.exports,Qd.LibraryManagedAttributes,788968)}function j$e(n){return TCe(Qd.ElementAttributesPropertyNameContainer,n)}function HB(n){return TCe(Qd.ElementChildrenAttributeNameContainer,n)}function SCe(n,a){if(n.flags&4)return[As];if(n.flags&128){let p=xCe(n,a);return p?[ZB(a,p)]:(Fe(a,_.Property_0_does_not_exist_on_type_1,n.value,"JSX."+Qd.IntrinsicElements),Je)}let c=Eu(n),u=xa(c,1);return u.length===0&&(u=xa(c,0)),u.length===0&&c.flags&1048576&&(u=Gte(on(c.types,p=>SCe(p,a)))),u}function xCe(n,a){let c=s0(Qd.IntrinsicElements,a);if(!Ro(c)){let u=n.value,p=ja(c,Bs(u));if(p)return zn(p);let h=fg(c,ae);return h||void 0}return Se}function H$e(n,a,c){if(n===1){let p=ICe(c);p&&Df(a,p,Zu,c.tagName,_.Its_return_type_0_is_not_a_valid_JSX_element,u)}else if(n===0){let p=CCe(c);p&&Df(a,p,Zu,c.tagName,_.Its_instance_type_0_is_not_a_valid_JSX_element,u)}else{let p=ICe(c),h=CCe(c);if(!p||!h)return;let T=Gr([p,h]);Df(a,T,Zu,c.tagName,_.Its_element_type_0_is_not_a_valid_JSX_element,u)}function u(){let p=Qc(c.tagName);return da(void 0,_._0_cannot_be_used_as_a_JSX_component,p)}}function ACe(n){L.assert(OC(n.tagName));let a=Rr(n);if(!a.resolvedJsxElementAttributesType){let c=Gre(n);return a.jsxFlags&1?a.resolvedJsxElementAttributesType=zn(c)||ve:a.jsxFlags&2?a.resolvedJsxElementAttributesType=fg(s0(Qd.IntrinsicElements,n),ae)||ve:a.resolvedJsxElementAttributesType=ve}return a.resolvedJsxElementAttributesType}function CCe(n){let a=s0(Qd.ElementClass,n);if(!Ro(a))return a}function OM(n){return s0(Qd.Element,n)}function ICe(n){let a=OM(n);if(a)return Gr([a,ln])}function W$e(n){let a=s0(Qd.IntrinsicElements,n);return a?Jo(a):Je}function z$e(n){(Y.jsx||0)===0&&Fe(n,_.Cannot_use_JSX_unless_the_jsx_flag_is_provided),OM(n)===void 0&&ge&&Fe(n,_.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}function Ure(n){let a=Au(n);if(a&&Frt(n),z$e(n),!Bre(n)){let c=Lo&&Y.jsx===2?_.Cannot_find_name_0:void 0,u=Rb(n),p=a?n.tagName:n,h;if(US(n)&&u==="null"||(h=zs(p,u,111551,c,u,!0)),h&&(h.isReferenced=67108863,!Y.verbatimModuleSyntax&&h.flags&2097152&&!nd(h)&&Hb(h)),US(n)){let T=Gn(n),k=h1(T);k&&zs(p,k,111551,c,k,!0)}}if(a){let c=n,u=MC(c);tU(u,n),H$e($Ce(c),qo(u),c)}}function Vre(n,a,c){if(n.flags&524288){if(qb(n,a)||jx(n,a)||qk(a)&&Cm(n,ae)||c&&Fre(a))return!0}else if(n.flags&3145728&&NM(n)){for(let u of n.types)if(Vre(u,a,c))return!0}return!1}function NM(n){return!!(n.flags&524288&&!(Ur(n)&512)||n.flags&67108864||n.flags&1048576&&vt(n.types,NM)||n.flags&2097152&&Ji(n.types,NM))}function J$e(n,a){if(Brt(n),n.expression){let c=Yi(n.expression,a);return n.dotDotDotToken&&c!==Se&&!_f(c)&&Fe(n,_.JSX_spread_child_must_be_an_array_type),c}else return ve}function WB(n){return n.valueDeclaration?G_(n.valueDeclaration):0}function jre(n){if(n.flags&8192||ac(n)&4)return!0;if(Yn(n.valueDeclaration)){let a=n.valueDeclaration.parent;return a&&ar(a)&&ic(a)===3}}function Hre(n,a,c,u,p,h=!0){let T=h?n.kind===163?n.right:n.kind===202?n:n.kind===205&&n.propertyName?n.propertyName:n.name:void 0;return LCe(n,a,c,u,p,T)}function LCe(n,a,c,u,p,h){let T=Ef(p,c);if(a){if(R<2&&kCe(p))return h&&Fe(h,_.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword),!1;if(T&256)return h&&Fe(h,_.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression,E(p),Ee(N1(p))),!1}if(T&256&&kCe(p)&&(zw(n)||sce(n)||cm(n.parent)&&N6(n.parent.parent))){let O=Nh(ju(p));if(O&&Gnt(n))return h&&Fe(h,_.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor,E(p),l_(O.name)),!1}if(!(T&24))return!0;if(T&8){let O=Nh(ju(p));return Hie(n,O)?!0:(h&&Fe(h,_.Property_0_is_private_and_only_accessible_within_class_1,E(p),Ee(N1(p))),!1)}if(a)return!0;let k=zLe(n,O=>{let H=gs(fr(O));return c2e(H,p,c)});return!k&&(k=K$e(n),k=k&&c2e(k,p,c),T&32||!k)?(h&&Fe(h,_.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,E(p),Ee(N1(p)||u)),!1):T&32?!0:(u.flags&262144&&(u=u.isThisType?eu(u):bu(u)),!u||!BE(u,k)?(h&&Fe(h,_.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2,E(p),Ee(k),Ee(u)),!1):!0)}function K$e(n){let a=q$e(n),c=a?.type&&$r(a.type);if(c&&c.flags&262144&&(c=eu(c)),c&&Ur(c)&7)return Bx(c)}function q$e(n){let a=Ku(n,!1,!1);return a&&Ia(a)?F0(a):void 0}function kCe(n){return!!gM(n,a=>!(a.flags&8192))}function NC(n){return sp(Yi(n),n)}function zB(n){return!!(iu(n)&50331648)}function Wre(n){return zB(n)?yg(n):n}function X$e(n,a){let c=bc(n)?qd(n):void 0;if(n.kind===104){Fe(n,_.The_value_0_cannot_be_used_here,"null");return}if(c!==void 0&&c.length<100){if(Re(n)&&c==="undefined"){Fe(n,_.The_value_0_cannot_be_used_here,"undefined");return}Fe(n,a&16777216?a&33554432?_._0_is_possibly_null_or_undefined:_._0_is_possibly_undefined:_._0_is_possibly_null,c)}else Fe(n,a&16777216?a&33554432?_.Object_is_possibly_null_or_undefined:_.Object_is_possibly_undefined:_.Object_is_possibly_null)}function Y$e(n,a){Fe(n,a&16777216?a&33554432?_.Cannot_invoke_an_object_which_is_possibly_null_or_undefined:_.Cannot_invoke_an_object_which_is_possibly_undefined:_.Cannot_invoke_an_object_which_is_possibly_null)}function DCe(n,a,c){if(U&&n.flags&2){if(bc(a)){let p=qd(a);if(p.length<100)return Fe(a,_._0_is_of_type_unknown,p),ve}return Fe(a,_.Object_is_of_type_unknown),ve}let u=iu(n);if(u&50331648){c(a,u);let p=yg(n);return p.flags&229376?ve:p}return n}function sp(n,a){return DCe(n,a,X$e)}function wCe(n,a){let c=sp(n,a);if(c.flags&16384){if(bc(a)){let u=qd(a);if(Re(a)&&u==="undefined")return Fe(a,_.The_value_0_cannot_be_used_here,u),c;if(u.length<100)return Fe(a,_._0_is_possibly_undefined,u),c}Fe(a,_.Object_is_possibly_undefined)}return c}function RCe(n,a){return n.flags&32?$$e(n,a):Jre(n,n.expression,NC(n.expression),n.name,a)}function $$e(n,a){let c=Yi(n.expression),u=dD(c,n.expression);return SB(Jre(n,n.expression,sp(u,n.expression),n.name,a),n,u!==c)}function OCe(n,a){let c=G6(n)&&LT(n.left)?sp(kM(n.left),n.left):NC(n.left);return Jre(n,n.left,c,n.right,a)}function NCe(n){for(;n.parent.kind===214;)n=n.parent;return Ih(n.parent)&&n.parent.expression===n}function JB(n,a){for(let c=Zc(a);c;c=Zc(c)){let{symbol:u}=c,p=hR(u,n),h=u.members&&u.members.get(p)||u.exports&&u.exports.get(p);if(h)return h}}function Q$e(n){if(!Zc(n))return an(n,_.Private_identifiers_are_not_allowed_outside_class_bodies);if(!Mz(n.parent)){if(!Dh(n))return an(n,_.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression);let a=ar(n.parent)&&n.parent.operatorToken.kind===101;if(!KB(n)&&!a)return an(n,_.Cannot_find_name_0,vr(n))}return!1}function Z$e(n){Q$e(n);let a=KB(n);return a&&MM(a,void 0,!1),Se}function KB(n){if(!Dh(n))return;let a=Rr(n);return a.resolvedSymbol===void 0&&(a.resolvedSymbol=JB(n.escapedText,n)),a.resolvedSymbol}function zre(n,a){return ja(n,a.escapedName)}function eQe(n,a,c){let u,p=Jo(n);p&&mn(p,T=>{let k=T.valueDeclaration;if(k&&zl(k)&&pi(k.name)&&k.name.escapedText===a.escapedText)return u=T,!0});let h=Cf(a);if(u){let T=L.checkDefined(u.valueDeclaration),k=L.checkDefined(Zc(T));if(c?.valueDeclaration){let O=c.valueDeclaration,H=Zc(O);if(L.assert(!!H),jn(H,J=>k===J)){let J=Fe(a,_.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling,h,Ee(n));return Ao(J,hr(O,_.The_shadowing_declaration_of_0_is_defined_here,h),hr(T,_.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,h)),!0}}return Fe(a,_.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,h,Cf(k.name||nN)),!0}return!1}function PCe(n,a){return(id(a)||zw(n)&&np(a))&&Ku(n,!0,!1)===Op(a)}function Jre(n,a,c,u,p){let h=Rr(a).resolvedSymbol,T=xT(n),k=Eu(T!==0||NCe(n)?Sd(c):c),O=Zo(k)||k===Qe,H;if(pi(u)){R<99&&(T!==0&&Hc(n,1048576),T!==1&&Hc(n,524288));let de=JB(u.escapedText,u);if(T&&de&&de.valueDeclaration&&Nc(de.valueDeclaration)&&an(u,_.Cannot_assign_to_private_method_0_Private_methods_are_not_writable,vr(u)),O){if(de)return Ro(k)?ve:k;if(!Zc(u))return an(u,_.Private_identifiers_are_not_allowed_outside_class_bodies),Se}if(H=de?zre(c,de):void 0,!H&&eQe(c,u,de))return ve;H&&H.flags&65536&&!(H.flags&32768)&&T!==1&&Fe(n,_.Private_accessor_was_defined_without_a_getter)}else{if(O)return Re(a)&&h&&FB(h,n),Ro(k)?ve:k;H=ja(k,u.escapedText,!1,n.kind===163)}Re(a)&&h&&(d_(Y)||!(H&&(MD(H)||H.flags&8&&n.parent.kind===302))||U0(Y)&&eCe(n))&&FB(h,n);let J;if(H){Sv(H)&&xne(n,H)&&H.declarations&&Xh(u,H.declarations,u.escapedText),tQe(H,n,u),MM(H,n,jCe(a,h)),Rr(n).resolvedSymbol=H;let de=YI(n);if(Hre(n,a.kind===106,de,k,H),LIe(n,H,T))return Fe(u,_.Cannot_assign_to_0_because_it_is_a_read_only_property,vr(u)),ve;J=PCe(n,H)?at:de?mC(H):zn(H)}else{let de=!pi(u)&&(T===0||!Zb(c)||lL(c))?jx(k,u.escapedText):void 0;if(!(de&&de.type)){let Ae=Kre(n,c.symbol,!0);return!Ae&&iD(c)?Se:c.symbol===Ye?(Ye.exports.has(u.escapedText)&&Ye.exports.get(u.escapedText).flags&418?Fe(u,_.Property_0_does_not_exist_on_type_1,Gi(u.escapedText),Ee(c)):ge&&Fe(u,_.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,Ee(c)),Se):(u.escapedText&&!xv(n)&&GCe(u,lL(c)?k:c,Ae),ve)}de.isReadonly&&(Um(n)||GH(n))&&Fe(n,_.Index_signature_in_type_0_only_permits_reading,Ee(k)),J=Y.noUncheckedIndexedAccess&&!Um(n)?Gr([de.type,Ge]):de.type,Y.noPropertyAccessFromIndexSignature&&br(n)&&Fe(u,_.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0,Gi(u.escapedText)),de.declaration&&G_(de.declaration)&268435456&&Xh(u,[de.declaration],u.escapedText)}return MCe(n,H,J,u,p)}function Kre(n,a,c){let u=Gn(n);if(u&&Y.checkJs===void 0&&u.checkJsDirective===void 0&&(u.scriptKind===1||u.scriptKind===2)){let p=mn(a?.declarations,Gn);return!(u!==p&&p&&gm(p))&&!(c&&a&&a.flags&32)&&!(n&&c&&br(n)&&n.expression.kind===108)}return!1}function MCe(n,a,c,u,p){let h=xT(n);if(h===1)return KE(c,!!(a&&a.flags&16777216));if(a&&!(a.flags&98311)&&!(a.flags&8192&&c.flags&1048576)&&!yU(a.declarations))return c;if(c===at)return Fx(n,a);c=Sre(c,n,p);let T=!1;if(U&&_e&&Us(n)&&n.expression.kind===108){let O=a&&a.valueDeclaration;if(O&&wLe(O)&&!Ca(O)){let H=yD(n);H.kind===173&&H.parent===O.parent&&!(O.flags&16777216)&&(T=!0)}}else U&&a&&a.valueDeclaration&&br(a.valueDeclaration)&&tR(a.valueDeclaration)&&yD(n)===yD(a.valueDeclaration)&&(T=!0);let k=Yv(n,c,T?gg(c):c);return T&&!xC(c)&&xC(k)?(Fe(u,_.Property_0_is_used_before_being_assigned,E(a)),c):h?ky(k):k}function tQe(n,a,c){let{valueDeclaration:u}=n;if(!u||Gn(a).isDeclarationFile)return;let p,h=vr(c);FCe(a)&&!YJe(u)&&!(Us(a)&&Us(a.expression))&&!$h(u,c)&&!(Nc(u)&&wg(u)&32)&&(Y.useDefineForClassFields||!nQe(n))?p=Fe(c,_.Property_0_is_used_before_its_initialization,h):u.kind===260&&a.parent.kind!==180&&!(u.flags&16777216)&&!$h(u,c)&&(p=Fe(c,_.Class_0_used_before_its_declaration,h)),p&&Ao(p,hr(u,_._0_is_declared_here,h))}function FCe(n){return!!jn(n,a=>{switch(a.kind){case 169:return!0;case 299:case 171:case 174:case 175:case 301:case 164:case 236:case 291:case 288:case 289:case 290:case 283:case 230:case 294:return!1;case 216:case 241:return Va(a.parent)&&oc(a.parent.parent)?!0:"quit";default:return Dh(a)?!1:"quit"}})}function nQe(n){if(!(n.parent.flags&32))return!1;let a=zn(n.parent);for(;;){if(a=a.symbol&&rQe(a),!a)return!1;let c=ja(a,n.escapedName);if(c&&c.valueDeclaration)return!0}}function rQe(n){let a=_o(n);if(a.length!==0)return so(a)}function GCe(n,a,c){let u,p;if(!pi(n)&&a.flags&1048576&&!(a.flags&134348796)){for(let T of a.types)if(!ja(T,n.escapedText)&&!jx(T,n.escapedText)){u=da(u,_.Property_0_does_not_exist_on_type_1,os(n),Ee(T));break}}if(BCe(n.escapedText,a)){let T=os(n),k=Ee(a);u=da(u,_.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,T,k,k+"."+T)}else{let T=wD(a);if(T&&ja(T,n.escapedText))u=da(u,_.Property_0_does_not_exist_on_type_1,os(n),Ee(a)),p=hr(n,_.Did_you_forget_to_use_await);else{let k=os(n),O=Ee(a),H=oQe(k,a);if(H!==void 0)u=da(u,_.Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later,k,O,H);else{let J=qre(n,a);if(J!==void 0){let de=fc(J),Ae=c?_.Property_0_may_not_exist_on_type_1_Did_you_mean_2:_.Property_0_does_not_exist_on_type_1_Did_you_mean_2;u=da(u,Ae,k,O,de),p=J.valueDeclaration&&hr(J.valueDeclaration,_._0_is_declared_here,de)}else{let de=iQe(a)?_.Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:_.Property_0_does_not_exist_on_type_1;u=da(Xte(u,a),de,k,O)}}}}let h=Lh(Gn(n),n,u);p&&Ao(h,p),ey(!c||u.code!==_.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,h)}function iQe(n){return Y.lib&&!Y.lib.includes("dom")&&TYe(n,a=>a.symbol&&/^(EventTarget|Node|((HTML[a-zA-Z]*)?Element))$/.test(Gi(a.symbol.escapedName)))&&mh(n)}function BCe(n,a){let c=a.symbol&&ja(zn(a.symbol),n);return c!==void 0&&!!c.valueDeclaration&&Ca(c.valueDeclaration)}function aQe(n){let a=Cf(n),u=oH().get(a);return u&&pae(u.keys())}function oQe(n,a){let c=Eu(a).symbol;if(!c)return;let u=fc(c),h=oH().get(u);if(h){for(let[T,k]of h)if(ya(k,n))return T}}function UCe(n,a){return PM(n,Jo(a),106500)}function qre(n,a){let c=Jo(a);if(typeof n!="string"){let u=n.parent;br(u)&&(c=Pr(c,p=>HCe(u,a,p))),n=vr(n)}return PM(n,c,111551)}function VCe(n,a){let c=Ta(n)?n:vr(n),u=Jo(a),p=c==="for"?wr(u,h=>fc(h)==="htmlFor"):c==="class"?wr(u,h=>fc(h)==="className"):void 0;return p??PM(c,u,111551)}function Xre(n,a){let c=qre(n,a);return c&&fc(c)}function Yre(n,a,c){return L.assert(a!==void 0,"outername should always be defined"),Fb(n,a,c,void 0,a,!1,!1,!0,(p,h,T)=>{L.assertEqual(a,h,"name should equal outerName");let k=yd(p,h,T);if(k)return k;let O;return p===Ne?O=Zi(["string","number","boolean","object","bigint","symbol"],J=>p.has(J.charAt(0).toUpperCase()+J.slice(1))?wo(524288,J):void 0).concat(lo(p.values())):O=lo(p.values()),PM(Gi(h),O,T)})}function sQe(n,a,c){let u=Yre(n,a,c);return u&&fc(u)}function qB(n,a){return a.exports&&PM(vr(n),sy(a),2623475)}function cQe(n,a){let c=qB(n,a);return c&&fc(c)}function lQe(n,a,c){function u(T){let k=qb(n,T);if(k){let O=F1(zn(k));return!!O&&Vp(O)>=1&&to(c,P_(O,0))}return!1}let p=Um(a)?"set":"get";if(!u(p))return;let h=kR(a.expression);return h===void 0?h=p:h+="."+p,h}function uQe(n,a){let c=a.types.filter(u=>!!(u.flags&128));return $C(n.value,c,u=>u.value)}function PM(n,a,c){return $C(n,a,u);function u(p){let h=fc(p);if(!na(h,'"')){if(p.flags&c)return h;if(p.flags&2097152){let T=tg(p);if(T&&T.flags&c)return h}}}}function MM(n,a,c){let u=n&&n.flags&106500&&n.valueDeclaration;if(!u)return;let p=cd(u,8),h=n.valueDeclaration&&zl(n.valueDeclaration)&&pi(n.valueDeclaration.name);if(!(!p&&!h)&&!(a&&hW(a)&&!(n.flags&65536))){if(c){let T=jn(a,Ds);if(T&&T.symbol===n)return}(ac(n)&1?Ai(n).target:n).isReferenced=67108863}}function jCe(n,a){return n.kind===108||!!a&&bc(n)&&a===Qf(Yd(n))}function dQe(n,a){switch(n.kind){case 208:return $re(n,n.expression.kind===106,a,Sd(Yi(n.expression)));case 163:return $re(n,!1,a,Sd(Yi(n.left)));case 202:return $re(n,!1,a,$r(n))}}function HCe(n,a,c){return Qre(n,n.kind===208&&n.expression.kind===106,!1,a,c)}function $re(n,a,c,u){if(Zo(u))return!0;let p=ja(u,c);return!!p&&Qre(n,a,!1,u,p)}function Qre(n,a,c,u,p){if(Zo(u))return!0;if(p.valueDeclaration&&xu(p.valueDeclaration)){let h=Zc(p.valueDeclaration);return!Jl(n)&&!!jn(n,T=>T===h)}return LCe(n,a,c,u,p)}function fQe(n){let a=n.initializer;if(a.kind===258){let c=a.declarations[0];if(c&&!La(c.name))return fr(c)}else if(a.kind===79)return Qf(a)}function _Qe(n){return tu(n).length===1&&!!Cm(n,rt)}function pQe(n){let a=vs(n);if(a.kind===79){let c=Qf(a);if(c.flags&3){let u=n,p=n.parent;for(;p;){if(p.kind===246&&u===p.statement&&fQe(p)===c&&_Qe(au(p.expression)))return!0;u=p,p=p.parent}}}return!1}function mQe(n,a){return n.flags&32?hQe(n,a):WCe(n,NC(n.expression),a)}function hQe(n,a){let c=Yi(n.expression),u=dD(c,n.expression);return SB(WCe(n,sp(u,n.expression),a),n,u!==c)}function WCe(n,a,c){let u=xT(n)!==0||NCe(n)?Sd(a):a,p=n.argumentExpression,h=Yi(p);if(Ro(u)||u===Qe)return u;if(hie(u)&&!es(p))return Fe(p,_.A_const_enum_member_can_only_be_accessed_using_a_string_literal),ve;let T=pQe(p)?rt:h,k=Um(n)?4|(Zb(u)&&!lL(u)?2:0):32,O=Ay(u,T,k,n)||ve;return qIe(MCe(n,Rr(n).resolvedSymbol,O,p,c),n)}function zCe(n){return Ih(n)||PT(n)||Au(n)}function nA(n){return zCe(n)&&mn(n.typeArguments,qa),n.kind===212?Yi(n.template):Au(n)?Yi(n.attributes):n.kind!==167&&mn(n.arguments,a=>{Yi(a)}),As}function Up(n){return nA(n),jt}function gQe(n,a,c){let u,p,h=0,T,k=-1,O;L.assert(!a.length);for(let H of n){let J=H.declaration&&fr(H.declaration),de=H.declaration&&H.declaration.parent;!p||J===p?u&&de===u?T=T+1:(u=de,T=h):(T=h=a.length,u=de),p=J,_K(H)?(k++,O=k,h++):O=T,a.splice(O,0,c?bJe(H,c):H)}}function XB(n){return!!n&&(n.kind===227||n.kind===234&&n.isSpread)}function YB(n){return Yc(n,XB)}function JCe(n){return!!(n.flags&16384)}function yQe(n){return!!(n.flags&49155)}function $B(n,a,c,u=!1){let p,h=!1,T=xd(c),k=Vp(c);if(n.kind===212)if(p=a.length,n.template.kind===225){let O=To(n.template.templateSpans);h=rc(O.literal)||!!O.literal.isUnterminated}else{let O=n.template;L.assert(O.kind===14),h=!!O.isUnterminated}else if(n.kind===167)p=ZCe(n,c);else if(Au(n)){if(h=n.attributes.end===n.end,h)return!0;p=k===0?a.length:1,T=a.length===0?T:1,k=Math.min(k,1)}else if(n.arguments){p=u?a.length+1:a.length,h=n.arguments.end===n.end;let O=YB(a);if(O>=0)return O>=Vp(c)&&(jp(c)||O<xd(c))}else return L.assert(n.kind===211),Vp(c)===0;if(!jp(c)&&p>T)return!1;if(h||p>=k)return!0;for(let O=p;O<k;O++){let H=P_(c,O);if(jc(H,Yn(n)&&!U?yQe:JCe).flags&131072)return!1}return!0}function Zre(n,a){let c=Fn(n.typeParameters),u=Mp(n.typeParameters);return!vt(a)||a.length>=u&&a.length<=c}function F1(n){return ED(n,0,!1)}function KCe(n){return ED(n,0,!1)||ED(n,1,!1)}function ED(n,a,c){if(n.flags&524288){let u=R_(n);if(c||u.properties.length===0&&u.indexInfos.length===0){if(a===0&&u.callSignatures.length===1&&u.constructSignatures.length===0)return u.callSignatures[0];if(a===1&&u.constructSignatures.length===1&&u.callSignatures.length===0)return u.constructSignatures[0]}}}function qCe(n,a,c,u){let p=_D(n.typeParameters,n,0,u),h=xD(a),T=c&&(h&&h.flags&262144?c.nonFixingMapper:c.mapper),k=T?$x(a,T):a;return rre(k,n,(O,H)=>{gh(p.inferences,O,H)}),c||ire(a,n,(O,H)=>{gh(p.inferences,O,H,128)}),eD(n,gre(p),Yn(a.declaration))}function vQe(n,a,c,u){let p=VB(a,n),h=rA(n.attributes,p,u,c);return gh(u.inferences,h,p),gre(u)}function XCe(n){if(!n)return yt;let a=Yi(n);return pI(n.parent)?yg(a):Jl(n.parent)?ere(a):a}function eie(n,a,c,u,p){if(Au(n))return vQe(n,a,u,p);if(n.kind!==167){let O=Ji(a.typeParameters,J=>!!jE(J)),H=Ru(n,O?8:0);if(H){let J=qo(a);if(XE(J)){let de=M1(n);if(!(!O&&Ru(n,8)!==H)){let It=sre(GXe(de,1)),Tn=Oi(H,It),un=F1(Tn),Nn=un&&un.typeParameters?HE(ine(un,un.typeParameters)):Tn;gh(p.inferences,Nn,J,128)}let xe=_D(a.typeParameters,a,p.flags),tt=Oi(H,de&&de.returnMapper);gh(xe.inferences,tt,J),p.returnMapper=vt(xe.inferences,iA)?sre(jXe(xe)):void 0}}}let h=AD(a),T=h?Math.min(xd(a)-1,c.length):c.length;if(h&&h.flags&262144){let O=wr(p.inferences,H=>H.typeParameter===h);O&&(O.impliedArity=Yc(c,XB,T)<0?c.length-T:void 0)}let k=Yb(a);if(k&&XE(k)){let O=QCe(n);gh(p.inferences,XCe(O),k)}for(let O=0;O<T;O++){let H=c[O];if(H.kind!==229&&!(u&32&&dre(H))){let J=P_(a,O);if(XE(J)){let de=rA(H,J,p,u);gh(p.inferences,de,J)}}}if(h&&XE(h)){let O=tie(c,T,c.length,h,p,u);gh(p.inferences,O,h)}return gre(p)}function YCe(n){return n.flags&1048576?Ls(n,YCe):n.flags&1||vB(bu(n)||n)?n:po(n)?ap(Ko(n),n.target.elementFlags,!1,n.target.labeledElementDeclarations):ap([n],[8])}function tie(n,a,c,u,p,h){if(a>=c-1){let J=n[c-1];if(XB(J))return YCe(J.kind===234?J.type:rA(J.expression,u,p,h))}let T=[],k=[],O=[],H=tM(u);for(let J=a;J<c;J++){let de=n[J];if(XB(de)){let Ae=de.kind===234?de.type:Yi(de.expression);Kv(Ae)?(T.push(Ae),k.push(8)):(T.push(wy(33,Ae,Oe,de.kind===227?de.expression:de)),k.push(4))}else{let Ae=od(u,op(J-a),256),xe=rA(de,Ae,p,h),tt=H||Js(Ae,406978556);T.push(tt?Hu(xe):i0(xe)),k.push(1)}de.kind===234&&de.tupleNameSource&&O.push(de.tupleNameSource)}return ap(T,k,H,Fn(O)===Fn(T)?O:void 0)}function nie(n,a,c,u){let p=Yn(n.declaration),h=n.typeParameters,T=Sy(on(a,$r),h,Mp(h),p),k;for(let O=0;O<a.length;O++){L.assert(h[O]!==void 0,"Should not call checkTypeArguments with too many type arguments");let H=eu(h[O]);if(H){let J=c&&u?()=>da(void 0,_.Type_0_does_not_satisfy_the_constraint_1):void 0,de=u||_.Type_0_does_not_satisfy_the_constraint_1;k||(k=Wu(h,T));let Ae=T[O];if(!wu(Ae,uf(Oi(H,k),Ae),c?a[O]:void 0,de,J))return}}return T}function $Ce(n){if(OC(n.tagName))return 2;let a=Eu(Yi(n.tagName));return Fn(xa(a,1))?0:Fn(xa(a,0))?1:2}function bQe(n,a,c,u,p,h,T){let k=VB(a,n),O=rA(n.attributes,k,void 0,u);return H()&&Bne(O,k,c,p?n.tagName:void 0,n.attributes,void 0,h,T);function H(){var J;if(Bre(n))return!0;let de=Xm(n)||FS(n)&&!OC(n.tagName)?Yi(n.tagName):void 0;if(!de)return!0;let Ae=xa(de,0);if(!Fn(Ae))return!0;let xe=nke(n);if(!xe)return!0;let tt=uc(xe,111551,!0,!1,n);if(!tt)return!0;let It=zn(tt),Tn=xa(It,0);if(!Fn(Tn))return!0;let un=!1,Nn=0;for(let cn of Tn){let rr=P_(cn,0),Jt=xa(rr,0);if(Fn(Jt))for(let Cn of Jt){if(un=!0,jp(Cn))return!0;let Rn=xd(Cn);Rn>Nn&&(Nn=Rn)}}if(!un)return!0;let en=1/0;for(let cn of Ae){let rr=Vp(cn);rr<en&&(en=rr)}if(en<=Nn)return!0;if(p){let cn=hr(n.tagName,_.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3,qd(n.tagName),en,qd(xe),Nn),rr=(J=Zf(n.tagName))==null?void 0:J.valueDeclaration;rr&&Ao(cn,hr(rr,_._0_is_declared_here,qd(n.tagName))),T&&T.skipLogging&&(T.errors||(T.errors=[])).push(cn),T.skipLogging||Lo.add(cn)}return!1}}function FM(n,a,c,u,p,h,T){let k={errors:void 0,skipLogging:!0};if(Au(n))return bQe(n,c,u,p,h,T,k)?void 0:(L.assert(!h||!!k.errors,"jsx should have errors when reporting errors"),k.errors||Je);let O=Yb(c);if(O&&O!==yt&&!(z0(n)||Pa(n)&&Pu(n.expression))){let xe=QCe(n),tt=XCe(xe),It=h?xe||n:void 0,Tn=_.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;if(!Df(tt,O,u,It,Tn,T,k))return L.assert(!h||!!k.errors,"this parameter should have errors when reporting errors"),k.errors||Je}let H=_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1,J=AD(c),de=J?Math.min(xd(c)-1,a.length):a.length;for(let xe=0;xe<de;xe++){let tt=a[xe];if(tt.kind!==229){let It=P_(c,xe),Tn=rA(tt,It,void 0,p),un=p&4?EM(Tn):Tn;if(!Bne(un,It,u,h?tt:void 0,tt,H,T,k))return L.assert(!h||!!k.errors,"parameter should have errors when reporting errors"),Ae(tt,un,It),k.errors||Je}}if(J){let xe=tie(a,de,a.length,J,void 0,p),tt=a.length-de,It=h?tt===0?n:tt===1?a[de]:om(GM(n,xe),a[de].pos,a[a.length-1].end):void 0;if(!Df(xe,J,u,It,H,void 0,k))return L.assert(!h||!!k.errors,"rest parameter should have errors when reporting errors"),Ae(It,xe,J),k.errors||Je}return;function Ae(xe,tt,It){if(xe&&h&&k.errors&&k.errors.length){if(DD(It))return;let Tn=DD(tt);Tn&&Bp(Tn,It,u)&&Ao(k.errors[0],hr(xe,_.Did_you_forget_to_use_await))}}}function QCe(n){let a=n.kind===210?n.expression:n.kind===212?n.tag:void 0;if(a){let c=ql(a);if(Us(c))return c.expression}}function GM(n,a,c,u){let p=fm.createSyntheticExpression(a,c,u);return it(p,n),go(p,n),p}function rie(n){if(n.kind===212){let u=n.template,p=[GM(u,_Ke())];return u.kind===225&&mn(u.templateSpans,h=>{p.push(h.expression)}),p}if(n.kind===167)return EQe(n);if(Au(n))return n.attributes.properties.length>0||Xm(n)&&n.parent.children.length>0?[n.attributes]:Je;let a=n.arguments||Je,c=YB(a);if(c>=0){let u=a.slice(0,c);for(let p=c;p<a.length;p++){let h=a[p],T=h.kind===227&&(Dn?Yi(h.expression):Ic(h.expression));T&&po(T)?mn(Ko(T),(k,O)=>{var H;let J=T.target.elementFlags[O],de=GM(h,J&4?nu(k):k,!!(J&12),(H=T.target.labeledElementDeclarations)==null?void 0:H[O]);u.push(de)}):u.push(h)}return u}return a}function EQe(n){let a=n.expression,c=_ie(n);if(c){let u=[];for(let p of c.parameters){let h=zn(p);u.push(GM(a,h))}return u}return L.fail()}function ZCe(n,a){return Y.experimentalDecorators?TQe(n,a):2}function TQe(n,a){switch(n.parent.kind){case 260:case 228:return 1;case 169:return rm(n.parent)?3:2;case 171:case 174:case 175:return R===0||a.parameters.length<=2?2:3;case 166:return 3;default:return L.fail()}}function eIe(n,a){let c,u,p=Gn(n);if(br(n.expression)){let h=w0(p,n.expression.name);c=h.start,u=a?h.length:n.end-c}else{let h=w0(p,n.expression);c=h.start,u=a?h.length:n.end-c}return{start:c,length:u,sourceFile:p}}function TD(n,a,c,u,p,h){if(Pa(n)){let{sourceFile:T,start:k,length:O}=eIe(n);return"message"in a?al(T,k,O,a,c,u,p,h):yH(T,a)}else return"message"in a?hr(n,a,c,u,p,h):Lh(Gn(n),n,a)}function SQe(n){if(!Pa(n)||!Re(n.expression))return!1;let a=zs(n.expression,n.expression.escapedText,111551,void 0,void 0,!1),c=a?.valueDeclaration;if(!c||!ha(c)||!a2(c.parent)||!z0(c.parent.parent)||!Re(c.parent.parent.expression))return!1;let u=_ne(!1);return u?Zf(c.parent.parent.expression,!0)===u:!1}function tIe(n,a,c,u){var p;let h=YB(c);if(h>-1)return hr(c[h],_.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);let T=Number.POSITIVE_INFINITY,k=Number.NEGATIVE_INFINITY,O=Number.NEGATIVE_INFINITY,H=Number.POSITIVE_INFINITY,J;for(let It of a){let Tn=Vp(It),un=xd(It);Tn<T&&(T=Tn,J=It),k=Math.max(k,un),Tn<c.length&&Tn>O&&(O=Tn),c.length<un&&un<H&&(H=un)}let de=vt(a,jp),Ae=de?T:T<k?T+"-"+k:T,xe=!de&&Ae===1&&c.length===0&&SQe(n);if(xe&&Yn(n))return TD(n,_.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments);let tt=du(n)?de?_.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:_.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:de?_.Expected_at_least_0_arguments_but_got_1:xe?_.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:_.Expected_0_arguments_but_got_1;if(T<c.length&&c.length<k){if(u){let It=da(void 0,_.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,c.length,O,H);return It=da(It,u),TD(n,It)}return TD(n,_.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,c.length,O,H)}else if(c.length<T){let It;if(u){let un=da(void 0,tt,Ae,c.length);un=da(un,u),It=TD(n,un)}else It=TD(n,tt,Ae,c.length);let Tn=(p=J?.declaration)==null?void 0:p.parameters[J.thisParameter?c.length+1:c.length];if(Tn){let un=hr(Tn,La(Tn.name)?_.An_argument_matching_this_binding_pattern_was_not_provided:Fm(Tn)?_.Arguments_for_the_rest_parameter_0_were_not_provided:_.An_argument_for_0_was_not_provided,Tn.name?La(Tn.name)?void 0:vr(Yd(Tn.name)):c.length);return Ao(It,un)}return It}else{let It=D.createNodeArray(c.slice(k)),Tn=Vo(It).pos,un=To(It).end;if(un===Tn&&un++,om(It,Tn,un),u){let Nn=da(void 0,tt,Ae,c.length);return Nn=da(Nn,u),jw(Gn(n),It,Nn)}return RA(Gn(n),It,tt,Ae,c.length)}}function xQe(n,a,c,u){let p=c.length;if(a.length===1){let k=a[0],O=Mp(k.typeParameters),H=Fn(k.typeParameters);if(u){let J=da(void 0,_.Expected_0_type_arguments_but_got_1,O<H?O+"-"+H:O,p);return J=da(J,u),jw(Gn(n),c,J)}return RA(Gn(n),c,_.Expected_0_type_arguments_but_got_1,O<H?O+"-"+H:O,p)}let h=-1/0,T=1/0;for(let k of a){let O=Mp(k.typeParameters),H=Fn(k.typeParameters);O>p?T=Math.min(T,O):H<p&&(h=Math.max(h,H))}if(h!==-1/0&&T!==1/0){if(u){let k=da(void 0,_.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,p,h,T);return k=da(k,u),jw(Gn(n),c,k)}return RA(Gn(n),c,_.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,p,h,T)}if(u){let k=da(void 0,_.Expected_0_type_arguments_but_got_1,h===-1/0?T:h,p);return k=da(k,u),jw(Gn(n),c,k)}return RA(Gn(n),c,_.Expected_0_type_arguments_but_got_1,h===-1/0?T:h,p)}function PC(n,a,c,u,p,h){let T=n.kind===212,k=n.kind===167,O=Au(n),H=!B&&!c,J;!k&&!OA(n)&&(J=n.typeArguments,(T||O||n.expression.kind!==106)&&mn(J,qa));let de=c||[];if(gQe(a,de,p),!de.length)return H&&Lo.add(TD(n,_.Call_target_does_not_contain_any_signatures)),Up(n);let Ae=rie(n),xe=de.length===1&&!de[0].typeParameters,tt=!k&&!xe&&vt(Ae,$f)?4:0;tt|=u&32;let It,Tn,un,Nn,en=!!(u&16)&&n.kind===210&&n.arguments.hasTrailingComma;if(de.length>1&&(Nn=rr(de,hm,xe,en)),Nn||(Nn=rr(de,Zu,xe,en)),Nn)return Nn;if(Nn=AQe(n,de,Ae,!!c,u),Rr(n).resolvedSignature=Nn,H)if(It)if(It.length===1||It.length>3){let Jt=It[It.length-1],Cn;It.length>3&&(Cn=da(Cn,_.The_last_overload_gave_the_following_error),Cn=da(Cn,_.No_overload_matches_this_call)),h&&(Cn=da(Cn,h));let Rn=FM(n,Ae,Jt,Zu,0,!0,()=>Cn);if(Rn)for(let Br of Rn)Jt.declaration&&It.length>3&&Ao(Br,hr(Jt.declaration,_.The_last_overload_is_declared_here)),cn(Jt,Br),Lo.add(Br);else L.fail("No error for last overload signature")}else{let Jt=[],Cn=0,Rn=Number.MAX_VALUE,Br=0,Hr=0;for(let Hd of It){let In=FM(n,Ae,Hd,Zu,0,!0,()=>da(void 0,_.Overload_0_of_1_2_gave_the_following_error,Hr+1,de.length,ne(Hd)));In?(In.length<=Rn&&(Rn=In.length,Br=Hr),Cn=Math.max(Cn,In.length),Jt.push(In)):L.fail("No error for 3 or fewer overload signatures"),Hr++}let qi=Cn>1?Jt[Br]:t_(Jt);L.assert(qi.length>0,"No errors reported for 3 or fewer overload signatures");let wa=da(on(qi,qse),_.No_overload_matches_this_call);h&&(wa=da(wa,h));let Xc=[...Uo(qi,Hd=>Hd.relatedInformation)],pf;if(Ji(qi,Hd=>Hd.start===qi[0].start&&Hd.length===qi[0].length&&Hd.file===qi[0].file)){let{file:Hd,start:ji,length:In}=qi[0];pf={file:Hd,start:ji,length:In,code:wa.code,category:wa.category,messageText:wa,relatedInformation:Xc}}else pf=Lh(Gn(n),n,wa,Xc);cn(It[0],pf),Lo.add(pf)}else if(Tn)Lo.add(tIe(n,[Tn],Ae,h));else if(un)nie(un,n.typeArguments,!0,h);else{let Jt=Pr(a,Cn=>Zre(Cn,J));Jt.length===0?Lo.add(xQe(n,a,J,h)):Lo.add(tIe(n,Jt,Ae,h))}return Nn;function cn(Jt,Cn){var Rn,Br;let Hr=It,qi=Tn,wa=un,Xc=((Br=(Rn=Jt.declaration)==null?void 0:Rn.symbol)==null?void 0:Br.declarations)||Je,Hd=Xc.length>1?wr(Xc,ji=>Ds(ji)&&Pf(ji.body)):void 0;if(Hd){let ji=ip(Hd),In=!ji.typeParameters;rr([ji],Zu,In)&&Ao(Cn,hr(Hd,_.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}It=Hr,Tn=qi,un=wa}function rr(Jt,Cn,Rn,Br=!1){if(It=void 0,Tn=void 0,un=void 0,Rn){let Hr=Jt[0];if(vt(J)||!$B(n,Ae,Hr,Br))return;if(FM(n,Ae,Hr,Cn,0,!1,void 0)){It=[Hr];return}return Hr}for(let Hr=0;Hr<Jt.length;Hr++){let qi=Jt[Hr];if(!Zre(qi,J)||!$B(n,Ae,qi,Br))continue;let wa,Xc;if(qi.typeParameters){let pf;if(vt(J)){if(pf=nie(qi,J,!1),!pf){un=qi;continue}}else Xc=_D(qi.typeParameters,qi,Yn(n)?2:0),pf=eie(n,qi,Ae,tt|8,Xc),tt|=Xc.flags&4?8:0;if(wa=eD(qi,pf,Yn(qi.declaration),Xc&&Xc.inferredTypeParameters),AD(qi)&&!$B(n,Ae,wa,Br)){Tn=wa;continue}}else wa=qi;if(FM(n,Ae,wa,Cn,tt,!1,void 0)){(It||(It=[])).push(wa);continue}if(tt){if(tt=u&32,Xc){let pf=eie(n,qi,Ae,tt,Xc);if(wa=eD(qi,pf,Yn(qi.declaration),Xc.inferredTypeParameters),AD(qi)&&!$B(n,Ae,wa,Br)){Tn=wa;continue}}if(FM(n,Ae,wa,Cn,tt,!1,void 0)){(It||(It=[])).push(wa);continue}}return Jt[Hr]=wa,wa}}}function AQe(n,a,c,u,p){return L.assert(a.length>0),zC(n),u||a.length===1||a.some(h=>!!h.typeParameters)?LQe(n,a,c,p):CQe(a)}function CQe(n){let a=Zi(n,O=>O.thisParameter),c;a.length&&(c=nIe(a,a.map(UM)));let{min:u,max:p}=Nle(n,IQe),h=[];for(let O=0;O<p;O++){let H=Zi(n,J=>Xl(J)?O<J.parameters.length-1?J.parameters[O]:To(J.parameters):O<J.parameters.length?J.parameters[O]:void 0);L.assert(H.length!==0),h.push(nIe(H,Zi(n,J=>tT(J,O))))}let T=Zi(n,O=>Xl(O)?To(O.parameters):void 0),k=0;if(T.length!==0){let O=nu(Gr(Zi(n,Bxe),2));h.push(rIe(T,O)),k|=1}return n.some(_K)&&(k|=2),Am(n[0].declaration,void 0,c,h,so(n.map(qo)),void 0,u,k)}function IQe(n){let a=n.parameters.length;return Xl(n)?a-1:a}function nIe(n,a){return rIe(n,Gr(a,2))}function rIe(n,a){return qE(Vo(n),a)}function LQe(n,a,c,u){let p=wQe(a,We===void 0?c.length:We),h=a[p],{typeParameters:T}=h;if(!T)return h;let k=zCe(n)?n.typeArguments:void 0,O=k?JG(h,kQe(k,T,Yn(n))):DQe(n,T,h,c,u);return a[p]=O,O}function kQe(n,a,c){let u=n.map(G1);for(;u.length>a.length;)u.pop();for(;u.length<a.length;)u.push(jE(a[u.length])||eu(a[u.length])||hre(c));return u}function DQe(n,a,c,u,p){let h=_D(a,c,Yn(n)?2:0),T=eie(n,c,u,p|4|8,h);return JG(c,T)}function wQe(n,a){let c=-1,u=-1;for(let p=0;p<n.length;p++){let h=n[p],T=xd(h);if(jp(h)||T>=a)return p;T>u&&(u=T,c=p)}return c}function RQe(n,a,c){if(n.expression.kind===106){let O=Ire(n.expression);if(Zo(O)){for(let H of n.arguments)Yi(H);return As}if(!Ro(O)){let H=hp(Zc(n));if(H){let J=xr(O,H.typeArguments,H);return PC(n,J,a,c,0)}}return nA(n)}let u,p=Yi(n.expression);if(dT(n)){let O=dD(p,n.expression);u=O===p?0:mI(n)?16:8,p=O}else u=0;if(p=DCe(p,n.expression,Y$e),p===Qe)return Ql;let h=Eu(p);if(Ro(h))return Up(n);let T=xa(h,0),k=xa(h,1).length;if(QB(p,h,T.length,k))return!Ro(p)&&n.typeArguments&&Fe(n,_.Untyped_function_calls_may_not_accept_type_arguments),nA(n);if(!T.length){if(k)Fe(n,_.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,Ee(p));else{let O;if(n.arguments.length===1){let H=Gn(n).text;Wl(H.charCodeAt(xo(H,n.expression.end,!0)-1))&&(O=hr(n.expression,_.Are_you_missing_a_semicolon))}aie(n.expression,h,0,O)}return Up(n)}return c&8&&!n.typeArguments&&T.some(OQe)?(FIe(n,c),yc):T.some(O=>Yn(O.declaration)&&!!Aj(O.declaration))?(Fe(n,_.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,Ee(p)),Up(n)):PC(n,T,a,c,u)}function OQe(n){return!!(n.typeParameters&&Jie(qo(n)))}function QB(n,a,c,u){return Zo(n)||Zo(a)&&!!(n.flags&262144)||!c&&!u&&!(a.flags&1048576)&&!(O_(a).flags&131072)&&to(n,Hs)}function NQe(n,a,c){if(n.arguments&&R<1){let T=YB(n.arguments);T>=0&&Fe(n.arguments[T],_.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}let u=NC(n.expression);if(u===Qe)return Ql;if(u=Eu(u),Ro(u))return Up(n);if(Zo(u))return n.typeArguments&&Fe(n,_.Untyped_function_calls_may_not_accept_type_arguments),nA(n);let p=xa(u,1);if(p.length){if(!PQe(n,p[0]))return Up(n);if(iIe(p,k=>!!(k.flags&4)))return Fe(n,_.Cannot_create_an_instance_of_an_abstract_class),Up(n);let T=u.symbol&&Nh(u.symbol);return T&&Mr(T,256)?(Fe(n,_.Cannot_create_an_instance_of_an_abstract_class),Up(n)):PC(n,p,a,c,0)}let h=xa(u,0);if(h.length){let T=PC(n,h,a,c,0);return ge||(T.declaration&&!cp(T.declaration)&&qo(T)!==yt&&Fe(n,_.Only_a_void_function_can_be_called_with_the_new_keyword),Yb(T)===yt&&Fe(n,_.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),T}return aie(n.expression,u,1),Up(n)}function iIe(n,a){return ba(n)?vt(n,c=>iIe(c,a)):n.compositeKind===1048576?vt(n.compositeSignatures,a):a(n)}function iie(n,a){let c=_o(a);if(!Fn(c))return!1;let u=c[0];if(u.flags&2097152){let p=u.types,h=Axe(p),T=0;for(let k of u.types){if(!h[T]&&Ur(k)&3&&(k.symbol===n||iie(n,k)))return!0;T++}return!1}return u.symbol===n?!0:iie(n,u)}function PQe(n,a){if(!a||!a.declaration)return!0;let c=a.declaration,u=hS(c,24);if(!u||c.kind!==173)return!0;let p=Nh(c.parent.symbol),h=gs(c.parent.symbol);if(!Hie(n,p)){let T=Zc(n);if(T&&u&16){let k=G1(T);if(iie(c.parent.symbol,k))return!0}return u&8&&Fe(n,_.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,Ee(h)),u&16&&Fe(n,_.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,Ee(h)),!1}return!0}function aIe(n,a,c){let u,p=c===0,h=rT(a),T=h&&xa(h,c).length>0;if(a.flags&1048576){let O=a.types,H=!1;for(let J of O)if(xa(J,c).length!==0){if(H=!0,u)break}else if(u||(u=da(u,p?_.Type_0_has_no_call_signatures:_.Type_0_has_no_construct_signatures,Ee(J)),u=da(u,p?_.Not_all_constituents_of_type_0_are_callable:_.Not_all_constituents_of_type_0_are_constructable,Ee(a))),H)break;H||(u=da(void 0,p?_.No_constituent_of_type_0_is_callable:_.No_constituent_of_type_0_is_constructable,Ee(a))),u||(u=da(u,p?_.Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:_.Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other,Ee(a)))}else u=da(u,p?_.Type_0_has_no_call_signatures:_.Type_0_has_no_construct_signatures,Ee(a));let k=p?_.This_expression_is_not_callable:_.This_expression_is_not_constructable;if(Pa(n.parent)&&n.parent.arguments.length===0){let{resolvedSymbol:O}=Rr(n);O&&O.flags&32768&&(k=_.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without)}return{messageChain:da(u,k),relatedMessage:T?_.Did_you_forget_to_use_await:void 0}}function aie(n,a,c,u){let{messageChain:p,relatedMessage:h}=aIe(n,a,c),T=Lh(Gn(n),n,p);if(h&&Ao(T,hr(n,h)),Pa(n.parent)){let{start:k,length:O}=eIe(n.parent,!0);T.start=k,T.length=O}Lo.add(T),oIe(a,c,u?Ao(T,u):T)}function oIe(n,a,c){if(!n.symbol)return;let u=Ai(n.symbol).originatingImport;if(u&&!Dd(u)){let p=xa(zn(Ai(n.symbol).target),a);if(!p||!p.length)return;Ao(c,hr(u,_.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead))}}function MQe(n,a,c){let u=Yi(n.tag),p=Eu(u);if(Ro(p))return Up(n);let h=xa(p,0),T=xa(p,1).length;if(QB(u,p,h.length,T))return nA(n);if(!h.length){if(fu(n.parent)){let k=hr(n.tag,_.It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked);return Lo.add(k),Up(n)}return aie(n.tag,p,0),Up(n)}return PC(n,h,a,c,0)}function FQe(n){switch(n.parent.kind){case 260:case 228:return _.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 166:return _.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 169:return _.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 171:case 174:case 175:return _.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression;default:return L.fail()}}function GQe(n,a,c){let u=Yi(n.expression),p=Eu(u);if(Ro(p))return Up(n);let h=xa(p,0),T=xa(p,1).length;if(QB(u,p,h.length,T))return nA(n);if(UQe(n,h)&&!ud(n.expression)){let O=Qc(n.expression,!1);return Fe(n,_._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0,O),Up(n)}let k=FQe(n);if(!h.length){let O=aIe(n.expression,p,0),H=da(O.messageChain,k),J=Lh(Gn(n.expression),n.expression,H);return O.relatedMessage&&Ao(J,hr(n.expression,O.relatedMessage)),Lo.add(J),oIe(p,0,J),Up(n)}return PC(n,h,a,c,0,k)}function ZB(n,a){let c=tA(n),u=c&&Gd(c),p=u&&yd(u,Qd.Element,788968),h=p&&Be.symbolToEntityName(p,788968,n),T=D.createFunctionTypeNode(void 0,[D.createParameterDeclaration(void 0,void 0,"props",void 0,Be.typeToTypeNode(a,n))],h?D.createTypeReferenceNode(h,void 0):D.createKeywordTypeNode(131)),k=wo(1,"props");return k.links.type=a,Am(T,void 0,void 0,[k],p?gs(p):ve,void 0,1,0)}function BQe(n,a,c){if(OC(n.tagName)){let T=ACe(n),k=ZB(n,T);return Ly(rA(n.attributes,VB(k,n),void 0,0),T,n.tagName,n.attributes),Fn(n.typeArguments)&&(mn(n.typeArguments,qa),Lo.add(RA(Gn(n),n.typeArguments,_.Expected_0_type_arguments_but_got_1,0,Fn(n.typeArguments)))),k}let u=Yi(n.tagName),p=Eu(u);if(Ro(p))return Up(n);let h=SCe(u,n);return QB(u,p,h.length,0)?nA(n):h.length===0?(Fe(n.tagName,_.JSX_element_type_0_does_not_have_any_construct_or_call_signatures,Qc(n.tagName)),Up(n)):PC(n,h,a,c,0)}function UQe(n,a){return a.length&&Ji(a,c=>c.minArgumentCount===0&&!Xl(c)&&c.parameters.length<ZCe(n,c))}function VQe(n,a,c){switch(n.kind){case 210:return RQe(n,a,c);case 211:return NQe(n,a,c);case 212:return MQe(n,a,c);case 167:return GQe(n,a,c);case 283:case 282:return BQe(n,a,c)}throw L.assertNever(n,"Branch in 'resolveSignature' should be unreachable.")}function MC(n,a,c){let u=Rr(n),p=u.resolvedSignature;if(p&&p!==yc&&!a)return p;u.resolvedSignature=yc;let h=VQe(n,a,c||0);return h!==yc&&(u.resolvedSignature=sn===Dn?h:p),h}function cp(n){var a;if(!n||!Yn(n))return!1;let c=Jc(n)||ms(n)?n:(wi(n)||yl(n))&&n.initializer&&ms(n.initializer)?n.initializer:void 0;if(c){if(Aj(n))return!0;if(yl(qy(c.parent)))return!1;let u=fr(c);return!!((a=u?.members)!=null&&a.size)}return!1}function oie(n,a){var c,u;if(a){let p=Ai(a);if(!p.inferredClassSymbol||!p.inferredClassSymbol.has($a(n))){let h=Zp(n)?n:Pb(n);return h.exports=h.exports||Ua(),h.members=h.members||Ua(),h.flags|=a.flags&32,(c=a.exports)!=null&&c.size&&ll(h.exports,a.exports),(u=a.members)!=null&&u.size&&ll(h.members,a.members),(p.inferredClassSymbol||(p.inferredClassSymbol=new Map)).set($a(h),h),h}return p.inferredClassSymbol.get($a(n))}}function jQe(n){var a;let c=n&&eU(n,!0),u=(a=c?.exports)==null?void 0:a.get("prototype"),p=u?.valueDeclaration&&HQe(u.valueDeclaration);return p?fr(p):void 0}function eU(n,a){if(!n.parent)return;let c,u;if(wi(n.parent)&&n.parent.initializer===n){if(!Yn(n)&&!(kh(n.parent)&&Ds(n)))return;c=n.parent.name,u=n.parent}else if(ar(n.parent)){let p=n.parent,h=n.parent.operatorToken.kind;if(h===63&&(a||p.right===n))c=p.left,u=c;else if((h===56||h===60)&&(wi(p.parent)&&p.parent.initializer===p?(c=p.parent.name,u=p.parent):ar(p.parent)&&p.parent.operatorToken.kind===63&&(a||p.parent.right===p)&&(c=p.parent.left,u=c),!c||!cS(c)||!BA(c,p.left)))return}else a&&Jc(n)&&(c=n.name,u=n);if(!(!u||!c||!a&&!ob(n,ub(c))))return vd(u)}function HQe(n){if(!n.parent)return!1;let a=n.parent;for(;a&&a.kind===208;)a=a.parent;if(a&&ar(a)&&ub(a.left)&&a.operatorToken.kind===63){let c=OH(a);return rs(c)&&c}}function WQe(n,a){var c,u,p;a8(n,n.typeArguments);let h=MC(n,void 0,a);if(h===yc)return Qe;if(tU(h,n),n.expression.kind===106)return yt;if(n.kind===211){let k=h.declaration;if(k&&k.kind!==173&&k.kind!==177&&k.kind!==182&&!(X0(k)&&((u=(c=OI(k))==null?void 0:c.parent)==null?void 0:u.kind)===173)&&!jA(k)&&!cp(k))return ge&&Fe(n,_.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),Se}if(Yn(n)&&$s(Y)!==100&&dIe(n))return Fxe(n.arguments[0]);let T=qo(h);if(T.flags&12288&&sIe(n))return wne(qy(n.parent));if(n.kind===210&&!n.questionDotToken&&n.parent.kind===241&&T.flags&16384&&Lf(h)){if(!WI(n.expression))Fe(n.expression,_.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);else if(!OB(n)){let k=Fe(n.expression,_.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);CM(n.expression,k)}}if(Yn(n)){let k=eU(n,!1);if((p=k?.exports)!=null&&p.size){let O=ls(k,k.exports,Je,Je,Je);return O.objectFlags|=4096,so([T,O])}}return T}function tU(n,a){if(n.declaration&&n.declaration.flags&268435456){let c=BM(a),u=kR(P6(a));g1(c,n.declaration,u,ne(n))}}function BM(n){switch(n=vs(n),n.kind){case 210:case 167:case 211:return BM(n.expression);case 212:return BM(n.tag);case 283:case 282:return BM(n.tagName);case 209:return n.argumentExpression;case 208:return n.name;case 180:let a=n;return Yu(a.typeName)?a.typeName.right:a;default:return n}}function sIe(n){if(!Pa(n))return!1;let a=n.expression;if(br(a)&&a.name.escapedText==="for"&&(a=a.expression),!Re(a)||a.escapedText!=="Symbol")return!1;let c=rAe(!1);return c?c===zs(a,"Symbol",111551,void 0,void 0,!1):!1}function zQe(n){if(cit(n),n.arguments.length===0)return HM(n,Se);let a=n.arguments[0],c=Ic(a),u=n.arguments.length>1?Ic(n.arguments[1]):void 0;for(let h=2;h<n.arguments.length;++h)Ic(n.arguments[h]);if((c.flags&32768||c.flags&65536||!to(c,ae))&&Fe(a,_.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0,Ee(c)),u){let h=nAe(!0);h!==Ki&&wu(u,TB(h,32768),n.arguments[1])}let p=Gl(n,a);if(p){let h=Jb(p,a,!0,!1);if(h)return HM(n,lIe(zn(h),h,p,a)||uIe(zn(h),h,p,a))}return HM(n,Se)}function cIe(n,a,c){let u=Ua(),p=wo(2097152,"default");return p.parent=a,p.links.nameType=ff("default"),p.links.aliasTarget=Ac(n),u.set("default",p),ls(c,u,Je,Je,Je)}function lIe(n,a,c,u){if(cs(u)&&n&&!Ro(n)){let h=n;if(!h.defaultOnlyType){let T=cIe(a,c);h.defaultOnlyType=T}return h.defaultOnlyType}}function uIe(n,a,c,u){var p;if(Z&&n&&!Ro(n)){let h=n;if(!h.syntheticType){let T=(p=c.declarations)==null?void 0:p.find(Li);if(ny(T,c,!1,u)){let O=wo(2048,"__type"),H=cIe(a,c,O);O.links.type=H,h.syntheticType=RM(n)?e0(n,H,O,0,!1):H}else h.syntheticType=n}return h.syntheticType}return n}function dIe(n){if(!qu(n,!0))return!1;if(!Re(n.expression))return L.fail();let a=zs(n.expression,n.expression.escapedText,111551,void 0,void 0,!0);if(a===ct)return!0;if(a.flags&2097152)return!1;let c=a.flags&16?259:a.flags&3?257:0;if(c!==0){let u=nc(a,c);return!!u&&!!(u.flags&16777216)}return!1}function JQe(n){Ort(n)||a8(n,n.typeArguments),R<2&&Hc(n,262144);let a=MC(n);return tU(a,n),qo(a)}function KQe(n){if(n.kind===213){let a=Gn(n);a&&$c(a.fileName,[".cts",".mts"])&&an(n,_.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead)}return fIe(n,n.type,n.expression)}function sie(n){switch(n.kind){case 10:case 14:case 8:case 9:case 110:case 95:case 206:case 207:case 225:return!0;case 214:return sie(n.expression);case 221:let a=n.operator,c=n.operand;return a===40&&(c.kind===8||c.kind===9)||a===39&&c.kind===8;case 208:case 209:let u=vs(n.expression),p=bc(u)?uc(u,111551,!0):void 0;return!!(p&&p.flags&384)}return!1}function fIe(n,a,c,u){let p=Yi(c,u);if(Ch(a))return sie(c)||Fe(c,_.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals),Hu(p);qa(a),p=EM(ky(p));let h=$r(a);return Ro(h)||i(()=>{let T=Sd(p);_B(h,T)||e2e(p,h,n,_.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first)}),h}function qQe(n){let a=Yi(n.expression),c=dD(a,n.expression);return SB(yg(c),n,c!==a)}function XQe(n){return n.flags&32?qQe(n):yg(Yi(n.expression))}function _Ie(n){ake(n),mn(n.typeArguments,qa);let a=n.kind===230?Yi(n.expression):LT(n.exprName)?kM(n.exprName):Yi(n.exprName);return pIe(a,n)}function pIe(n,a){let c=a.typeArguments;if(n===Qe||Ro(n)||!vt(c))return n;let u=!1,p,h=k(n),T=u?p:n;return T&&Lo.add(RA(Gn(a),c,_.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable,Ee(T))),h;function k(H){let J=!1,de=!1,Ae=xe(H);return u||(u=de),J&&!de&&(p??(p=H)),Ae;function xe(tt){if(tt.flags&524288){let It=R_(tt),Tn=O(It.callSignatures),un=O(It.constructSignatures);if(J||(J=It.callSignatures.length!==0||It.constructSignatures.length!==0),de||(de=Tn.length!==0||un.length!==0),Tn!==It.callSignatures||un!==It.constructSignatures){let Nn=ls(void 0,It.members,Tn,un,It.indexInfos);return Nn.objectFlags|=8388608,Nn.node=a,Nn}}else if(tt.flags&58982400){let It=bu(tt);if(It){let Tn=xe(It);if(Tn!==It)return Tn}}else{if(tt.flags&1048576)return Ls(tt,k);if(tt.flags&2097152)return so(Tl(tt.types,xe))}return tt}}function O(H){let J=Pr(H,de=>!!de.typeParameters&&Zre(de,c));return Tl(J,de=>{let Ae=nie(de,c,!0);return Ae?eD(de,Ae,Yn(de.declaration)):de})}}function YQe(n){return qa(n.type),cie(n.expression,n.type)}function cie(n,a,c){let u=Yi(n,c),p=$r(a);return Ro(p)?p:(Ly(u,p,a,n,_.Type_0_does_not_satisfy_the_expected_type_1),u)}function $Qe(n){return Xrt(n),n.keywordToken===103?lie(n):n.keywordToken===100?QQe(n):L.assertNever(n.keywordToken)}function mIe(n){switch(n.keywordToken){case 100:return tAe();case 103:let a=lie(n);return Ro(a)?ve:hZe(a);default:L.assertNever(n.keywordToken)}}function lie(n){let a=oce(n);if(a)if(a.kind===173){let c=fr(a.parent);return zn(c)}else{let c=fr(a);return zn(c)}else return Fe(n,_.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,"new.target"),ve}function QQe(n){ie===100||ie===199?Gn(n).impliedNodeFormat!==99&&Fe(n,_.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output):ie<6&&ie!==4&&Fe(n,_.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext);let a=Gn(n);return L.assert(!!(a.flags&4194304),"Containing file is missing import meta node flag."),n.name.escapedText==="meta"?eAe():ve}function UM(n){let a=zn(n);if(U){let c=n.valueDeclaration;if(c&&Jy(c))return gg(a)}return a}function nU(n){return L.assert(Re(n.name)),n.name.escapedText}function FC(n,a,c){let u=n.parameters.length-(Xl(n)?1:0);if(a<u)return n.parameters[a].escapedName;let p=n.parameters[u]||Ht,h=c||zn(p);if(po(h)){let T=h.target.labeledElementDeclarations,k=a-u;return T&&nU(T[k])||p.escapedName+"_"+k}return p.escapedName}function ZQe(n,a){var c;if(((c=n.declaration)==null?void 0:c.kind)===320)return;let u=n.parameters.length-(Xl(n)?1:0);if(a<u){let T=n.parameters[a];return hIe(T)?[T.escapedName,!1]:void 0}let p=n.parameters[u]||Ht;if(!hIe(p))return;let h=zn(p);if(po(h)){let T=h.target.labeledElementDeclarations,k=a-u,O=T?.[k],H=!!O?.dotDotDotToken;return O?[nU(O),H]:void 0}if(a===u)return[p.escapedName,!0]}function hIe(n){return n.valueDeclaration&&ha(n.valueDeclaration)&&Re(n.valueDeclaration.name)}function gIe(n){return n.kind===199||ha(n)&&n.name&&Re(n.name)}function eZe(n,a){let c=n.parameters.length-(Xl(n)?1:0);if(a<c){let h=n.parameters[a].valueDeclaration;return h&&gIe(h)?h:void 0}let u=n.parameters[c]||Ht,p=zn(u);if(po(p)){let h=p.target.labeledElementDeclarations,T=a-c;return h&&h[T]}return u.valueDeclaration&&gIe(u.valueDeclaration)?u.valueDeclaration:void 0}function P_(n,a){return tT(n,a)||Se}function tT(n,a){let c=n.parameters.length-(Xl(n)?1:0);if(a<c)return UM(n.parameters[a]);if(Xl(n)){let u=zn(n.parameters[c]),p=a-c;if(!po(u)||u.target.hasRestElement||p<u.target.fixedLength)return od(u,op(p))}}function SD(n,a){let c=xd(n),u=Vp(n),p=xD(n);if(p&&a>=c-1)return a===c-1?p:nu(od(p,rt));let h=[],T=[],k=[];for(let O=a;O<c;O++){!p||O<c-1?(h.push(P_(n,O)),T.push(O<u?1:2)):(h.push(p),T.push(8));let H=eZe(n,O);H&&k.push(H)}return ap(h,T,!1,Fn(k)===Fn(h)?k:void 0)}function xd(n){let a=n.parameters.length;if(Xl(n)){let c=zn(n.parameters[a-1]);if(po(c))return a+c.target.fixedLength-(c.target.hasRestElement?0:1)}return a}function Vp(n,a){let c=a&1,u=a&2;if(u||n.resolvedMinArgumentCount===void 0){let p;if(Xl(n)){let h=zn(n.parameters[n.parameters.length-1]);if(po(h)){let T=Yc(h.target.elementFlags,O=>!(O&1)),k=T<0?h.target.fixedLength:T;k>0&&(p=n.parameters.length-1+k)}}if(p===void 0){if(!c&&n.flags&32)return 0;p=n.minArgumentCount}if(u)return p;for(let h=p-1;h>=0;h--){let T=P_(n,h);if(jc(T,JCe).flags&131072)break;p=h}n.resolvedMinArgumentCount=p}return n.resolvedMinArgumentCount}function jp(n){if(Xl(n)){let a=zn(n.parameters[n.parameters.length-1]);return!po(a)||a.target.hasRestElement}return!1}function xD(n){if(Xl(n)){let a=zn(n.parameters[n.parameters.length-1]);if(!po(a))return a;if(a.target.hasRestElement)return EC(a,a.target.fixedLength)}}function AD(n){let a=xD(n);return a&&!_f(a)&&!Zo(a)&&!(O_(a).flags&131072)?a:void 0}function uie(n){return die(n,lt)}function die(n,a){return n.parameters.length>0?P_(n,0):a}function tZe(n,a,c){let u=n.parameters.length-(Xl(n)?1:0);for(let p=0;p<u;p++){let h=n.parameters[p].valueDeclaration;if(h.type){let T=Cl(h);T&&gh(c.inferences,$r(T),P_(a,p))}}}function nZe(n,a){if(a.typeParameters)if(!n.typeParameters)n.typeParameters=a.typeParameters;else return;if(a.thisParameter){let u=n.thisParameter;(!u||u.valueDeclaration&&!u.valueDeclaration.type)&&(u||(n.thisParameter=qE(a.thisParameter,void 0)),VM(n.thisParameter,zn(a.thisParameter)))}let c=n.parameters.length-(Xl(n)?1:0);for(let u=0;u<c;u++){let p=n.parameters[u];if(!Cl(p.valueDeclaration)){let h=tT(a,u);VM(p,h)}}if(Xl(n)){let u=To(n.parameters);if(u.valueDeclaration?!Cl(u.valueDeclaration):ac(u)&65536){let p=SD(a,c);VM(u,p)}}}function rZe(n){n.thisParameter&&VM(n.thisParameter);for(let a of n.parameters)VM(a)}function VM(n,a){let c=Ai(n);if(c.type)a&&L.assertEqual(c.type,a,"Parameter symbol already has a cached type which differs from newly assigned type");else{let u=n.valueDeclaration;c.type=a||(u?Zs(u,!0):zn(n)),u&&u.name.kind!==79&&(c.type===ue&&(c.type=oo(u.name)),yIe(u.name,c.type))}}function yIe(n,a){for(let c of n.elements)if(!ol(c)){let u=li(c,a);c.name.kind===79?Ai(fr(c)).type=u:yIe(c.name,u)}}function iZe(n){return zx(IKe(!0),[n])}function aZe(n,a){return zx(LKe(!0),[n,a])}function oZe(n,a){return zx(kKe(!0),[n,a])}function sZe(n,a){return zx(DKe(!0),[n,a])}function cZe(n,a){return zx(wKe(!0),[n,a])}function lZe(n,a){return zx(NKe(!0),[n,a])}function uZe(n,a,c){let u=`${a?"p":"P"}${c?"s":"S"}${n.id}`,p=An.get(u);if(!p){let h=Ua();h.set("name",gE("name",n)),h.set("private",gE("private",a?pe:Ke)),h.set("static",gE("static",c?pe:Ke)),p=ls(void 0,h,Je,Je,Je),An.set(u,p)}return p}function vIe(n,a,c){let u=zc(n),p=pi(n.name),h=p?ff(vr(n.name)):pg(n.name),T=Nc(n)?aZe(a,c):p_(n)?oZe(a,c):Sf(n)?sZe(a,c):Id(n)?cZe(a,c):Na(n)?lZe(a,c):L.failBadSyntaxKind(n),k=uZe(h,p,u);return so([T,k])}function dZe(n,a){return zx(RKe(!0),[n,a])}function fZe(n,a){return zx(OKe(!0),[n,a])}function _Ze(n,a){let c=A_("this",n),u=A_("value",a);return Cie(void 0,c,[u],a,void 0,1)}function fie(n,a,c){let u=A_("target",n),p=A_("context",a),h=Gr([c,yt]);return OD(void 0,void 0,[u,p],h)}function pZe(n){let{parent:a}=n,c=Rr(a);if(!c.decoratorSignature)switch(c.decoratorSignature=As,a.kind){case 260:case 228:{let p=zn(fr(a)),h=iZe(p);c.decoratorSignature=fie(p,h,p);break}case 171:case 174:case 175:{let u=a;if(!Yr(u.parent))break;let p=Nc(u)?HE(ip(u)):G1(u),h=zc(u)?zn(fr(u.parent)):vu(fr(u.parent)),T=p_(u)?$Ie(p):Sf(u)?QIe(p):p,k=vIe(u,h,p),O=p_(u)?$Ie(p):Sf(u)?QIe(p):p;c.decoratorSignature=fie(T,k,O);break}case 169:{let u=a;if(!Yr(u.parent))break;let p=G1(u),h=zc(u)?zn(fr(u.parent)):vu(fr(u.parent)),T=rm(u)?dZe(h,p):Oe,k=vIe(u,h,p),O=rm(u)?fZe(h,p):_Ze(h,p);c.decoratorSignature=fie(T,k,O);break}}return c.decoratorSignature===As?void 0:c.decoratorSignature}function mZe(n){let{parent:a}=n,c=Rr(a);if(!c.decoratorSignature)switch(c.decoratorSignature=As,a.kind){case 260:case 228:{let p=zn(fr(a)),h=A_("target",p);c.decoratorSignature=OD(void 0,void 0,[h],Gr([p,yt]));break}case 166:{let u=a;if(!Ec(u.parent)&&!(Nc(u.parent)||Sf(u.parent)&&Yr(u.parent.parent))||F0(u.parent)===u)break;let p=F0(u.parent)?u.parent.parameters.indexOf(u)-1:u.parent.parameters.indexOf(u);L.assert(p>=0);let h=Ec(u.parent)?zn(fr(u.parent.parent)):qLe(u.parent),T=Ec(u.parent)?Oe:XLe(u.parent),k=op(p),O=A_("target",h),H=A_("propertyKey",T),J=A_("parameterIndex",k);c.decoratorSignature=OD(void 0,void 0,[O,H,J],yt);break}case 171:case 174:case 175:case 169:{let u=a;if(!Yr(u.parent))break;let p=qLe(u),h=A_("target",p),T=XLe(u),k=A_("propertyKey",T),O=Na(u)?yt:sAe(G1(u));if(R!==0&&(!Na(a)||rm(a))){let J=sAe(G1(u)),de=A_("descriptor",J);c.decoratorSignature=OD(void 0,void 0,[h,k,de],Gr([O,yt]))}else c.decoratorSignature=OD(void 0,void 0,[h,k],Gr([O,yt]));break}}return c.decoratorSignature===As?void 0:c.decoratorSignature}function _ie(n){return $?mZe(n):pZe(n)}function jM(n){let a=oM(!0);return a!==ro?(n=bg(UC(n))||ue,_g(a,[n])):ue}function bIe(n){let a=aAe(!0);return a!==ro?(n=bg(UC(n))||ue,_g(a,[n])):ue}function HM(n,a){let c=jM(a);return c===ue?(Fe(n,Dd(n)?_.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:_.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option),ve):(_ne(!0)||Fe(n,Dd(n)?_.A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:_.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option),c)}function hZe(n){let a=wo(0,"NewTargetExpression"),c=wo(4,"target",8);c.parent=a,c.links.type=n;let u=Ua([c]);return a.members=u,ls(a,u,Je,Je,Je)}function rU(n,a){if(!n.body)return ve;let c=pl(n),u=(c&2)!==0,p=(c&1)!==0,h,T,k,O=yt;if(n.body.kind!==238)h=Ic(n.body,a&&a&-9),u&&(h=UC(RD(h,!1,n,_.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)));else if(p){let H=CIe(n,a);H?H.length>0&&(h=Gr(H,2)):O=lt;let{yieldTypes:J,nextTypes:de}=gZe(n,a);T=vt(J)?Gr(J,2):void 0,k=vt(de)?so(de):void 0}else{let H=CIe(n,a);if(!H)return c&2?HM(n,lt):lt;if(H.length===0)return c&2?HM(n,yt):yt;h=Gr(H,2)}if(h||T||k){if(T&&CB(n,T,3),h&&CB(n,h,1),k&&CB(n,k,2),h&&N_(h)||T&&N_(T)||k&&N_(k)){let H=Nre(n),J=H?H===ip(n)?p?void 0:h:BB(qo(H),n,void 0):void 0;p?(T=Zne(T,J,0,u),h=Zne(h,J,1,u),k=Zne(k,J,2,u)):h=CXe(h,J,u)}T&&(T=Sd(T)),h&&(h=Sd(h)),k&&(k=Sd(k))}return p?EIe(T||lt,h||O,k||cCe(2,n)||ue,u):u?jM(h||O):h||O}function EIe(n,a,c,u){let p=u?ft:Yt,h=p.getGlobalGeneratorType(!1);if(n=p.resolveIterationType(n,void 0)||ue,a=p.resolveIterationType(a,void 0)||ue,c=p.resolveIterationType(c,void 0)||ue,h===ro){let T=p.getGlobalIterableIteratorType(!1),k=T!==ro?pLe(T,p):void 0,O=k?k.returnType:Se,H=k?k.nextType:Oe;return to(a,O)&&to(H,c)?T!==ro?rD(T,[n]):(p.getGlobalIterableIteratorType(!0),Ki):(p.getGlobalGeneratorType(!0),Ki)}return rD(h,[n,a,c])}function gZe(n,a){let c=[],u=[],p=(pl(n)&2)!==0;return Yse(n.body,h=>{let T=h.expression?Yi(h.expression,a):je;Of(c,TIe(h,T,Se,p));let k;if(h.asteriskToken){let O=_U(T,p?19:17,h.expression);k=O&&O.nextType}else k=Ru(h,void 0);k&&Of(u,k)}),{yieldTypes:c,nextTypes:u}}function TIe(n,a,c,u){let p=n.expression||n,h=n.asteriskToken?wy(u?19:17,a,c,p):a;return u?rT(h,p,n.asteriskToken?_.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:_.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):h}function SIe(n,a,c){let u=0;for(let p=0;p<c.length;p++){let h=p<n||p>=a?c[p]:void 0;u|=h!==void 0?fF.get(h)||32768:0}return u}function xIe(n){let a=Rr(n);if(a.isExhaustive===void 0){a.isExhaustive=0;let c=yZe(n);a.isExhaustive===0&&(a.isExhaustive=c)}else a.isExhaustive===0&&(a.isExhaustive=!1);return a.isExhaustive}function yZe(n){if(n.expression.kind===218){let u=W2e(n);if(!u)return!1;let p=Ty(Ic(n.expression.expression)),h=SIe(0,0,u);return p.flags&3?(556800&h)===556800:!yh(p,T=>(iu(T)&h)===h)}let a=Ic(n.expression);if(!uD(a))return!1;let c=DB(n);return!c.length||vt(c,SXe)?!1:bYe(Ls(a,Hu),c)}function AIe(n){return n.endFlowNode&&IM(n.endFlowNode)}function CIe(n,a){let c=pl(n),u=[],p=AIe(n),h=!1;if(vT(n.body,T=>{let k=T.expression;if(k){let O=Ic(k,a&&a&-9);c&2&&(O=UC(RD(O,!1,n,_.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member))),O.flags&131072&&(h=!0),Of(u,O)}else p=!0}),!(u.length===0&&!p&&(h||vZe(n))))return U&&u.length&&p&&!(cp(n)&&u.some(T=>T.symbol===n.symbol))&&Of(u,Oe),u}function vZe(n){switch(n.kind){case 215:case 216:return!0;case 171:return n.parent.kind===207;default:return!1}}function pie(n,a){i(c);return;function c(){let u=pl(n),p=a&&pU(a,u);if(p&&Js(p,16385)||n.kind===170||rc(n.body)||n.body.kind!==238||!AIe(n))return;let h=n.flags&512,T=U_(n)||n;if(p&&p.flags&131072)Fe(T,_.A_function_returning_never_cannot_have_a_reachable_end_point);else if(p&&!h)Fe(T,_.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value);else if(p&&U&&!to(Oe,p))Fe(T,_.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined);else if(Y.noImplicitReturns){if(!p){if(!h)return;let k=qo(ip(n));if(ELe(n,k))return}Fe(T,_.Not_all_code_paths_return_a_value)}}}function IIe(n,a){if(L.assert(n.kind!==171||s_(n)),zC(n),ms(n)&&jC(n,n.name),a&&a&4&&$f(n)){if(!U_(n)&&!b4(n)){let u=bD(n);if(u&&XE(qo(u))){let p=Rr(n);if(p.contextFreeType)return p.contextFreeType;let h=rU(n,a),T=Am(void 0,void 0,void 0,Je,h,void 0,0,0),k=ls(n.symbol,q,[T],Je,Je);return k.objectFlags|=262144,p.contextFreeType=k}}return aa}return!AU(n)&&n.kind===215&&Yie(n),bZe(n,a),zn(fr(n))}function bZe(n,a){let c=Rr(n);if(!(c.flags&64)){let u=bD(n);if(!(c.flags&64)){c.flags|=64;let p=Sl(xa(zn(fr(n)),0));if(!p)return;if($f(n))if(u){let h=M1(n),T;if(a&&a&2){tZe(p,u,h);let k=xD(u);k&&k.flags&262144&&(T=$x(u,h.nonFixingMapper))}T||(T=h?$x(u,h.mapper):u),nZe(p,T)}else rZe(p);if(u&&!Hx(n)&&!p.resolvedReturnType){let h=rU(n,a);p.resolvedReturnType||(p.resolvedReturnType=h)}LD(n)}}}function EZe(n){L.assert(n.kind!==171||s_(n));let a=pl(n),c=Hx(n);if(pie(n,c),n.body)if(U_(n)||qo(ip(n)),n.body.kind===238)qa(n.body);else{let u=Yi(n.body),p=c&&pU(c,a);if(p)if((a&3)===2){let h=RD(u,!1,n.body,_.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);Ly(h,p,n.body,n.body)}else Ly(u,p,n.body,n.body)}}function iU(n,a,c,u=!1){if(!to(a,Ja)){let p=u&&DD(a);return Tv(n,!!p&&to(p,Ja),c),!1}return!0}function TZe(n){if(!Pa(n)||!sS(n))return!1;let a=Ic(n.arguments[2]);if(Vc(a,"value")){let p=ja(a,"writable"),h=p&&zn(p);if(!h||h===Ke||h===oe)return!0;if(p&&p.valueDeclaration&&yl(p.valueDeclaration)){let T=p.valueDeclaration.initializer,k=Yi(T);if(k===Ke||k===oe)return!0}return!1}return!ja(a,"set")}function M_(n){return!!(ac(n)&8||n.flags&4&&Ef(n)&64||n.flags&3&&WB(n)&2||n.flags&98304&&!(n.flags&65536)||n.flags&8||vt(n.declarations,TZe))}function LIe(n,a,c){var u,p;if(c===0)return!1;if(M_(a)){if(a.flags&4&&Us(n)&&n.expression.kind===108){let h=Xd(n);if(!(h&&(h.kind===173||cp(h))))return!0;if(a.valueDeclaration){let T=ar(a.valueDeclaration),k=h.parent===a.valueDeclaration.parent,O=h===a.valueDeclaration.parent,H=T&&((u=a.parent)==null?void 0:u.valueDeclaration)===h.parent,J=T&&((p=a.parent)==null?void 0:p.valueDeclaration)===h;return!(k||O||H||J)}}return!0}if(Us(n)){let h=vs(n.expression);if(h.kind===79){let T=Rr(h).resolvedSymbol;if(T.flags&2097152){let k=Uu(T);return!!k&&k.kind===271}}}return!1}function CD(n,a,c){let u=ql(n,7);return u.kind!==79&&!Us(u)?(Fe(n,a),!1):u.flags&32?(Fe(n,c),!1):!0}function SZe(n){Yi(n.expression);let a=vs(n.expression);if(!Us(a))return Fe(a,_.The_operand_of_a_delete_operator_must_be_a_property_reference),Te;br(a)&&pi(a.name)&&Fe(a,_.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);let c=Rr(a),u=tp(c.resolvedSymbol);return u&&(M_(u)&&Fe(a,_.The_operand_of_a_delete_operator_cannot_be_a_read_only_property),xZe(a,u)),Te}function xZe(n,a){let c=zn(a);U&&!(c.flags&131075)&&!(Pe?a.flags&16777216:iu(c)&16777216)&&Fe(n,_.The_operand_of_a_delete_operator_must_be_optional)}function AZe(n){return Yi(n.expression),sC}function CZe(n){return Yi(n.expression),je}function IZe(n){let a=R6(n);if(a&&oc(a))Fe(n,_.Await_expression_cannot_be_used_inside_a_class_static_block);else if(!(n.flags&32768))if(O6(n)){let c=Gn(n);if(!l0(c)){let u;if(!aS(c,Y)){u??(u=Pg(c,n.pos));let p=al(c,u.start,u.length,_.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module);Lo.add(p)}switch(ie){case 100:case 199:if(c.impliedNodeFormat===1){u??(u=Pg(c,n.pos)),Lo.add(al(c,u.start,u.length,_.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level));break}case 7:case 99:case 4:if(R>=4)break;default:u??(u=Pg(c,n.pos)),Lo.add(al(c,u.start,u.length,_.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher));break}}}else{let c=Gn(n);if(!l0(c)){let u=Pg(c,n.pos),p=al(c,u.start,u.length,_.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules);if(a&&a.kind!==173&&!(pl(a)&2)){let h=hr(a,_.Did_you_mean_to_mark_this_function_as_async);Ao(p,h)}Lo.add(p)}}kre(n)&&Fe(n,_.await_expressions_cannot_be_used_in_a_parameter_initializer)}function LZe(n){i(()=>IZe(n));let a=Yi(n.expression),c=RD(a,!0,n,_.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);return c===a&&!Ro(c)&&!(a.flags&3)&&ey(!1,hr(n,_.await_has_no_effect_on_the_type_of_this_expression)),c}function kZe(n){let a=Yi(n.operand);if(a===Qe)return Qe;switch(n.operand.kind){case 8:switch(n.operator){case 40:return Yx(op(-n.operand.text));case 39:return Yx(op(+n.operand.text))}break;case 9:if(n.operator===40)return Yx(aB({negative:!0,base10Value:iL(n.operand.text)}))}switch(n.operator){case 39:case 40:case 54:return sp(a,n.operand),WM(a,12288)&&Fe(n.operand,_.The_0_operator_cannot_be_applied_to_type_symbol,Xa(n.operator)),n.operator===39?(WM(a,2112)&&Fe(n.operand,_.Operator_0_cannot_be_applied_to_type_1,Xa(n.operator),Ee(ky(a))),rt):mie(a);case 53:aA(n.operand);let c=iu(a)&12582912;return c===4194304?Ke:c===8388608?pe:Te;case 45:case 46:return iU(n.operand,sp(a,n.operand),_.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&CD(n.operand,_.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,_.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),mie(a)}return ve}function DZe(n){let a=Yi(n.operand);return a===Qe?Qe:(iU(n.operand,sp(a,n.operand),_.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&CD(n.operand,_.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,_.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),mie(a))}function mie(n){return Js(n,2112)?ul(n,3)||Js(n,296)?Ja:Ot:rt}function WM(n,a){if(Js(n,a))return!0;let c=Ty(n);return!!c&&Js(c,a)}function Js(n,a){if(n.flags&a)return!0;if(n.flags&3145728){let c=n.types;for(let u of c)if(Js(u,a))return!0}return!1}function ul(n,a,c){return n.flags&a?!0:c&&n.flags&114691?!1:!!(a&296)&&to(n,rt)||!!(a&2112)&&to(n,Ot)||!!(a&402653316)&&to(n,ae)||!!(a&528)&&to(n,Te)||!!(a&16384)&&to(n,yt)||!!(a&131072)&&to(n,lt)||!!(a&65536)&&to(n,ln)||!!(a&32768)&&to(n,Oe)||!!(a&4096)&&to(n,j)||!!(a&67108864)&&to(n,jr)}function zM(n,a,c){return n.flags&1048576?Ji(n.types,u=>zM(u,a,c)):ul(n,a,c)}function hie(n){return!!(Ur(n)&16)&&!!n.symbol&&gie(n.symbol)}function gie(n){return(n.flags&128)!==0}function wZe(n,a,c,u){return c===Qe||u===Qe?Qe:(!Zo(c)&&zM(c,134348796)&&Fe(n,_.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Zo(u)||EU(u)||Iy(u,Hs)||Fe(a,_.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type),Te)}function RZe(n){return yh(n,a=>a===xc||!!(a.flags&2097152)&&hh(Ty(a)))}function OZe(n,a,c,u){if(c===Qe||u===Qe)return Qe;if(pi(n)){if(R<99&&Hc(n,2097152),!Rr(n).resolvedSymbol&&Zc(n)){let p=Kre(n,u.symbol,!0);GCe(n,u,p)}}else wu(sp(c,n),Kr,n);return wu(sp(u,a),jr,a)&&RZe(u)&&Fe(a,_.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator,Ee(u)),Te}function NZe(n,a,c){let u=n.properties;if(U&&u.length===0)return sp(a,n);for(let p=0;p<u.length;p++)kIe(n,a,p,u,c);return a}function kIe(n,a,c,u,p=!1){let h=n.properties,T=h[c];if(T.kind===299||T.kind===300){let k=T.name,O=pg(k);if(fh(O)){let de=Np(O),Ae=ja(a,de);Ae&&(MM(Ae,T,p),Hre(T,!1,!0,a,Ae))}let H=od(a,O,32,k),J=Ue(T,H);return nT(T.kind===300?T:T.initializer,J)}else if(T.kind===301)if(c<h.length-1)Fe(T,_.A_rest_element_must_be_last_in_a_destructuring_pattern);else{R<99&&Hc(T,4);let k=[];if(u)for(let H of u)VS(H)||k.push(H.name);let O=Mx(a,k,a.symbol);return B1(u,_.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),nT(T.expression,O)}else Fe(T,_.Property_assignment_expected)}function PZe(n,a,c){let u=n.elements;R<2&&Y.downlevelIteration&&Hc(n,512);let p=wy(193,a,Oe,n)||ve,h=Y.noUncheckedIndexedAccess?void 0:p;for(let T=0;T<u.length;T++){let k=p;n.elements[T].kind===227&&(k=h=h??(wy(65,a,Oe,n)||ve)),DIe(n,a,T,k,c)}return a}function DIe(n,a,c,u,p){let h=n.elements,T=h[c];if(T.kind!==229){if(T.kind!==227){let k=op(c);if(Kv(a)){let O=32|(RC(T)?16:0),H=Ay(a,k,O,GM(T,k))||ve,J=RC(T)?wf(H,524288):H,de=Ue(T,J);return nT(T,de,p)}return nT(T,u,p)}if(c<h.length-1)Fe(T,_.A_rest_element_must_be_last_in_a_destructuring_pattern);else{let k=T.expression;if(k.kind===223&&k.operatorToken.kind===63)Fe(k.operatorToken,_.A_rest_element_cannot_have_an_initializer);else{B1(n.elements,_.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);let O=Im(a,po)?Ls(a,H=>EC(H,c)):nu(u);return nT(k,O,p)}}}}function nT(n,a,c,u){let p;if(n.kind===300){let h=n;h.objectAssignmentInitializer&&(U&&!(iu(Yi(h.objectAssignmentInitializer))&16777216)&&(a=wf(a,524288)),BZe(h.name,h.equalsToken,h.objectAssignmentInitializer,c)),p=n.name}else p=n;return p.kind===223&&p.operatorToken.kind===63&&(Ce(p,c),p=p.left,U&&(a=wf(a,524288))),p.kind===207?NZe(p,a,u):p.kind===206?PZe(p,a,c):MZe(p,a,c)}function MZe(n,a,c){let u=Yi(n,c),p=n.parent.kind===301?_.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:_.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,h=n.parent.kind===301?_.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:_.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access;return CD(n,p,h)&&Ly(a,u,n,n),TA(n)&&Hc(n.parent,1048576),a}function JM(n){switch(n=vs(n),n.kind){case 79:case 10:case 13:case 212:case 225:case 14:case 8:case 9:case 110:case 95:case 104:case 155:case 215:case 228:case 216:case 206:case 207:case 218:case 232:case 282:case 281:return!0;case 224:return JM(n.whenTrue)&&JM(n.whenFalse);case 223:return Mg(n.operatorToken.kind)?!1:JM(n.left)&&JM(n.right);case 221:case 222:switch(n.operator){case 53:case 39:case 40:case 54:return!0}return!1;case 219:case 213:case 231:default:return!1}}function yie(n,a){return(a.flags&98304)!==0||_B(n,a)}function FZe(){let n=C3(a,c,u,p,h,T);return(Ae,xe)=>{let tt=n(Ae,xe);return L.assertIsDefined(tt),tt};function a(Ae,xe,tt){return xe?(xe.stackIndex++,xe.skip=!1,H(xe,void 0),de(xe,void 0)):xe={checkMode:tt,skip:!1,stackIndex:0,typeStack:[void 0,void 0]},Yn(Ae)&&oS(Ae)?(xe.skip=!0,de(xe,Yi(Ae.right,tt)),xe):(GZe(Ae),Ae.operatorToken.kind===63&&(Ae.left.kind===207||Ae.left.kind===206)&&(xe.skip=!0,de(xe,nT(Ae.left,Yi(Ae.right,tt),tt,Ae.right.kind===108))),xe)}function c(Ae,xe,tt){if(!xe.skip)return k(xe,Ae)}function u(Ae,xe,tt){if(!xe.skip){let It=J(xe);L.assertIsDefined(It),H(xe,It),de(xe,void 0);let Tn=Ae.kind;if(AR(Tn)){let un=tt.parent;for(;un.kind===214||CR(un);)un=un.parent;(Tn===55||MT(un))&&wie(tt.left,It,MT(un)?un.thenStatement:void 0),uLe(It,tt.left)}}}function p(Ae,xe,tt){if(!xe.skip)return k(xe,Ae)}function h(Ae,xe){let tt;if(xe.skip)tt=J(xe);else{let It=O(xe);L.assertIsDefined(It);let Tn=J(xe);L.assertIsDefined(Tn),tt=wIe(Ae.left,Ae.operatorToken,Ae.right,It,Tn,Ae)}return xe.skip=!1,H(xe,void 0),de(xe,void 0),xe.stackIndex--,tt}function T(Ae,xe,tt){return de(Ae,xe),Ae}function k(Ae,xe){if(ar(xe))return xe;de(Ae,Yi(xe,Ae.checkMode))}function O(Ae){return Ae.typeStack[Ae.stackIndex]}function H(Ae,xe){Ae.typeStack[Ae.stackIndex]=xe}function J(Ae){return Ae.typeStack[Ae.stackIndex+1]}function de(Ae,xe){Ae.typeStack[Ae.stackIndex+1]=xe}}function GZe(n){let{left:a,operatorToken:c,right:u}=n;c.kind===60&&(ar(a)&&(a.operatorToken.kind===56||a.operatorToken.kind===55)&&an(a,_._0_and_1_operations_cannot_be_mixed_without_parentheses,Xa(a.operatorToken.kind),Xa(c.kind)),ar(u)&&(u.operatorToken.kind===56||u.operatorToken.kind===55)&&an(u,_._0_and_1_operations_cannot_be_mixed_without_parentheses,Xa(u.operatorToken.kind),Xa(c.kind)))}function BZe(n,a,c,u,p){let h=a.kind;if(h===63&&(n.kind===207||n.kind===206))return nT(n,Yi(c,u),u,c.kind===108);let T;AR(h)?T=aA(n,u):T=Yi(n,u);let k=Yi(c,u);return wIe(n,a,c,T,k,p)}function wIe(n,a,c,u,p,h){let T=a.kind;switch(T){case 41:case 42:case 66:case 67:case 43:case 68:case 44:case 69:case 40:case 65:case 47:case 70:case 48:case 71:case 49:case 72:case 51:case 74:case 52:case 78:case 50:case 73:if(u===Qe||p===Qe)return Qe;u=sp(u,n),p=sp(p,c);let en;if(u.flags&528&&p.flags&528&&(en=de(a.kind))!==void 0)return Fe(h||a,_.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,Xa(a.kind),Xa(en)),rt;{let Jt=iU(n,u,_.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),Cn=iU(c,p,_.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),Rn;if(ul(u,3)&&ul(p,3)||!(Js(u,2112)||Js(p,2112)))Rn=rt;else if(k(u,p)){switch(T){case 49:case 72:It();break;case 42:case 67:R<3&&Fe(h,_.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}Rn=Ot}else It(k),Rn=ve;return Jt&&Cn&&Ae(Rn),Rn}case 39:case 64:if(u===Qe||p===Qe)return Qe;!ul(u,402653316)&&!ul(p,402653316)&&(u=sp(u,n),p=sp(p,c));let cn;return ul(u,296,!0)&&ul(p,296,!0)?cn=rt:ul(u,2112,!0)&&ul(p,2112,!0)?cn=Ot:ul(u,402653316,!0)||ul(p,402653316,!0)?cn=ae:(Zo(u)||Zo(p))&&(cn=Ro(u)||Ro(p)?ve:Se),cn&&!J(T)?cn:cn?(T===64&&Ae(cn),cn):(It((Cn,Rn)=>ul(Cn,402655727)&&ul(Rn,402655727)),Se);case 29:case 31:case 32:case 33:return J(T)&&(u=$ne(sp(u,n)),p=$ne(sp(p,c)),tt((Jt,Cn)=>{if(Zo(Jt)||Zo(Cn))return!0;let Rn=to(Jt,Ja),Br=to(Cn,Ja);return Rn&&Br||!Rn&&!Br&&_M(Jt,Cn)})),Te;case 34:case 35:case 36:case 37:if(Pj(n)||Pj(c)){let Jt=T===34||T===36;Fe(h,_.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value,Jt?"false":"true")}return un(h,T,n,c),tt((Jt,Cn)=>yie(Jt,Cn)||yie(Cn,Jt)),Te;case 102:return wZe(n,c,u,p);case 101:return OZe(n,c,u,p);case 55:case 76:{let Jt=iu(u)&4194304?Gr([kXe(U?u:ky(p)),p]):u;return T===76&&Ae(p),Jt}case 56:case 75:{let Jt=iu(u)&8388608?Gr([yg(m2e(u)),p],2):u;return T===75&&Ae(p),Jt}case 60:case 77:{let Jt=iu(u)&262144?Gr([yg(u),p],2):u;return T===77&&Ae(p),Jt}case 63:let rr=ar(n.parent)?ic(n.parent):0;return O(rr,p),xe(rr)?((!(p.flags&524288)||rr!==2&&rr!==6&&!mh(p)&&!vre(p)&&!(Ur(p)&1))&&Ae(p),u):(Ae(p),p);case 27:if(!Y.allowUnreachableCode&&JM(n)&&!H(n.parent)){let Jt=Gn(n),Cn=Jt.text,Rn=xo(Cn,n.pos);Jt.parseDiagnostics.some(Hr=>Hr.code!==_.JSX_expressions_must_have_one_parent_element.code?!1:bj(Hr,Rn))||Fe(n,_.Left_side_of_comma_operator_is_unused_and_has_no_side_effects)}return p;default:return L.fail()}function k(en,cn){return ul(en,2112)&&ul(cn,2112)}function O(en,cn){if(en===2)for(let rr of Ey(cn)){let Jt=zn(rr);if(Jt.symbol&&Jt.symbol.flags&32){let Cn=rr.escapedName,Rn=zs(rr.valueDeclaration,Cn,788968,void 0,Cn,!1);Rn?.declarations&&Rn.declarations.some(Kz)&&(Mb(Rn,_.Duplicate_identifier_0,Gi(Cn),rr),Mb(rr,_.Duplicate_identifier_0,Gi(Cn),Rn))}}}function H(en){return en.parent.kind===214&&Vf(en.left)&&en.left.text==="0"&&(Pa(en.parent.parent)&&en.parent.parent.expression===en.parent||en.parent.parent.kind===212)&&(Us(en.right)||Re(en.right)&&en.right.escapedText==="eval")}function J(en){let cn=WM(u,12288)?n:WM(p,12288)?c:void 0;return cn?(Fe(cn,_.The_0_operator_cannot_be_applied_to_type_symbol,Xa(en)),!1):!0}function de(en){switch(en){case 51:case 74:return 56;case 52:case 78:return 37;case 50:case 73:return 55;default:return}}function Ae(en){Mg(T)&&i(cn);function cn(){if(CD(n,_.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,_.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)){let rr;if(Pe&&br(n)&&Js(en,32768)){let Jt=Vc(au(n.expression),n.name.escapedText);mB(en,Jt)&&(rr=_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target)}Ly(en,u,n,c,rr)}}}function xe(en){var cn;switch(en){case 2:return!0;case 1:case 5:case 6:case 3:case 4:let rr=vd(n),Jt=oS(c);return!!Jt&&rs(Jt)&&!!((cn=rr?.exports)!=null&&cn.size);default:return!1}}function tt(en){return en(u,p)?!1:(It(en),!0)}function It(en){let cn=!1,rr=h||a;if(en){let Hr=bg(u),qi=bg(p);cn=!(Hr===u&&qi===p)&&!!(Hr&&qi)&&en(Hr,qi)}let Jt=u,Cn=p;!cn&&en&&([Jt,Cn]=UZe(u,p,en));let[Rn,Br]=Wt(Jt,Cn);Tn(rr,cn,Rn,Br)||Tv(rr,cn,_.Operator_0_cannot_be_applied_to_types_1_and_2,Xa(a.kind),Rn,Br)}function Tn(en,cn,rr,Jt){switch(a.kind){case 36:case 34:case 37:case 35:return Tv(en,cn,_.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap,rr,Jt);default:return}}function un(en,cn,rr,Jt){let Cn=Nn(vs(rr)),Rn=Nn(vs(Jt));if(Cn||Rn){let Br=Fe(en,_.This_condition_will_always_return_0,Xa(cn===36||cn===34?95:110));if(Cn&&Rn)return;let Hr=cn===37||cn===35?Xa(53):"",qi=Cn?Jt:rr,wa=vs(qi);Ao(Br,hr(qi,_.Did_you_mean_0,`${Hr}Number.isNaN(${bc(wa)?qd(wa):"..."})`))}}function Nn(en){if(Re(en)&&en.escapedText==="NaN"){let cn=PKe();return!!cn&&cn===Qf(en)}return!1}}function UZe(n,a,c){let u=n,p=a,h=ky(n),T=ky(a);return c(h,T)||(u=h,p=T),[u,p]}function VZe(n){i(Ae);let a=Xd(n);if(!a)return Se;let c=pl(a);if(!(c&1))return Se;let u=(c&2)!==0;n.asteriskToken&&(u&&R<99&&Hc(n,26624),!u&&R<2&&Y.downlevelIteration&&Hc(n,256));let p=Hx(a),h=p&&bLe(p,u),T=h&&h.yieldType||Se,k=h&&h.nextType||Se,O=u?rT(k)||Se:k,H=n.expression?Yi(n.expression):je,J=TIe(n,H,O,u);if(p&&J&&Ly(J,T,n.expression||n,n.expression),n.asteriskToken)return Oie(u?19:17,1,H,n.expression)||Se;if(p)return c0(2,p,u)||Se;let de=cCe(2,a);return de||(de=Se,i(()=>{if(ge&&!Ble(n)){let xe=Ru(n,void 0);(!xe||Zo(xe))&&Fe(n,_.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation)}})),de;function Ae(){n.flags&8192||dl(n,_.A_yield_expression_is_only_allowed_in_a_generator_body),kre(n)&&Fe(n,_.yield_expressions_cannot_be_used_in_a_parameter_initializer)}}function jZe(n,a){let c=aA(n.condition);wie(n.condition,c,n.whenTrue);let u=Yi(n.whenTrue,a),p=Yi(n.whenFalse,a);return Gr([u,p],2)}function RIe(n){let a=n.parent;return ud(a)&&RIe(a)||Vs(a)&&a.argumentExpression===n}function HZe(n){let a=[n.head.text],c=[];for(let u of n.templateSpans){let p=Yi(u.expression);WM(p,12288)&&Fe(u.expression,_.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String),a.push(u.literal.text),c.push(to(p,Za)?p:ae)}return GC(n)||RIe(n)||yh(Ru(n,void 0)||ue,WZe)?WE(a,c):ae}function WZe(n){return!!(n.flags&134217856||n.flags&58982400&&Js(bu(n)||ue,402653316))}function zZe(n){return K0(n)&&!FS(n.parent)?n.parent.parent:n}function rA(n,a,c,u){let p=zZe(n);wM(p,a,!1),h$e(p,c);let h=Yi(n,u|1|(c?2:0));c&&c.intraExpressionInferenceSites&&(c.intraExpressionInferenceSites=void 0);let T=Js(h,2944)&&aU(h,BB(a,n,void 0))?Hu(h):h;return g$e(),vD(),T}function Ic(n,a){if(a)return Yi(n,a);let c=Rr(n);if(!c.resolvedType){let u=sn,p=ra;sn=Dn,ra=void 0,c.resolvedType=Yi(n,a),ra=p,sn=u}return c.resolvedType}function OIe(n){return n=vs(n,!0),n.kind===213||n.kind===231||RL(n)}function ID(n,a,c){let u=Yw(n);if(Yn(n)){let h=T4(n);if(h)return cie(u,h,a)}let p=Eie(u)||(c?rA(u,c,void 0,a||0):Ic(u,a));return ha(n)&&n.name.kind===204&&po(p)&&!p.target.hasRestElement&&Vv(p)<n.name.elements.length?JZe(p,n.name):p}function JZe(n,a){let c=a.elements,u=Ko(n).slice(),p=n.target.elementFlags.slice();for(let h=Vv(n);h<c.length;h++){let T=c[h];(h<c.length-1||!(T.kind===205&&T.dotDotDotToken))&&(u.push(!ol(T)&&RC(T)?hy(T,!1,!1):Se),p.push(2),!ol(T)&&!RC(T)&&qv(T,Se))}return ap(u,p,n.target.readonly)}function vie(n,a){let c=G_(n)&2||x6(n)?a:i0(a);if(Yn(n)){if(u2e(c))return qv(n,Se),Se;if(bB(c))return qv(n,Et),Et}return c}function aU(n,a){if(a){if(a.flags&3145728){let c=a.types;return vt(c,u=>aU(n,u))}if(a.flags&58982400){let c=bu(a)||ue;return Js(c,4)&&Js(n,128)||Js(c,8)&&Js(n,256)||Js(c,64)&&Js(n,2048)||Js(c,4096)&&Js(n,8192)||aU(n,c)}return!!(a.flags&406847616&&Js(n,128)||a.flags&256&&Js(n,256)||a.flags&2048&&Js(n,2048)||a.flags&512&&Js(n,512)||a.flags&8192&&Js(n,8192))}return!1}function GC(n){let a=n.parent;return pT(a)&&Ch(a.type)||RL(a)&&Ch(T3(a))||sie(n)&&KZe(n)||(ud(a)||fu(a)||Km(a))&&GC(a)||(yl(a)||xf(a)||xL(a))&&GC(a.parent)}function KZe(n){let a=Ru(n,0);return!!a&&yh(a,tM)}function BC(n,a,c){let u=Yi(n,a,c);return GC(n)||Zse(n)?Hu(u):OIe(n)?u:Qne(u,BB(Ru(n,void 0),n,void 0))}function NIe(n,a){return n.name.kind===164&&vg(n.name),BC(n.initializer,a)}function PIe(n,a){cke(n),n.name.kind===164&&vg(n.name);let c=IIe(n,a);return MIe(n,c,a)}function MIe(n,a,c){if(c&&c&10){let u=ED(a,0,!0),p=ED(a,1,!0),h=u||p;if(h&&h.typeParameters){let T=o0(n,2);if(T){let k=ED(yg(T),u?0:1,!1);if(k&&!k.typeParameters){if(c&8)return FIe(n,c),aa;let O=M1(n),H=O.signature&&qo(O.signature),J=H&&KCe(H);if(J&&!J.typeParameters&&!Ji(O.inferences,iA)){let de=$Ze(O,h.typeParameters),Ae=ine(h,de),xe=on(O.inferences,tt=>ore(tt.typeParameter));if(rre(Ae,k,(tt,It)=>{gh(xe,tt,It,0,!0)}),vt(xe,iA)&&(ire(Ae,k,(tt,It)=>{gh(xe,tt,It)}),!XZe(O.inferences,xe)))return YZe(O.inferences,xe),O.inferredTypeParameters=Qi(O.inferredTypeParameters,de),HE(Ae)}return HE(qCe(h,k,O))}}}}return a}function FIe(n,a){if(a&2){let c=M1(n);c.flags|=4}}function iA(n){return!!(n.candidates||n.contraCandidates)}function qZe(n){return!!(n.candidates||n.contraCandidates||Rxe(n.typeParameter))}function XZe(n,a){for(let c=0;c<n.length;c++)if(iA(n[c])&&iA(a[c]))return!0;return!1}function YZe(n,a){for(let c=0;c<n.length;c++)!iA(n[c])&&iA(a[c])&&(n[c]=a[c])}function $Ze(n,a){let c=[],u,p;for(let h of a){let T=h.symbol.escapedName;if(bie(n.inferredTypeParameters,T)||bie(c,T)){let k=QZe(Qi(n.inferredTypeParameters,c),T),O=wo(262144,k),H=rd(O);H.target=h,u=Sn(u,h),p=Sn(p,H),c.push(H)}else c.push(h)}if(p){let h=Wu(u,p);for(let T of p)T.mapper=h}return c}function bie(n,a){return vt(n,c=>c.symbol.escapedName===a)}function QZe(n,a){let c=a.length;for(;c>1&&a.charCodeAt(c-1)>=48&&a.charCodeAt(c-1)<=57;)c--;let u=a.slice(0,c);for(let p=1;;p++){let h=u+p;if(!bie(n,h))return h}}function GIe(n){let a=F1(n);if(a&&!a.typeParameters)return qo(a)}function ZZe(n){let a=Yi(n.expression),c=dD(a,n.expression),u=GIe(a);return u&&SB(u,n,c!==a)}function au(n){let a=Eie(n);if(a)return a;if(n.flags&134217728&&ra){let p=ra[zo(n)];if(p)return p}let c=Vn,u=Yi(n);if(Vn!==c){let p=ra||(ra=[]);p[zo(n)]=u,Gle(n,n.flags|134217728)}return u}function Eie(n){let a=vs(n,!0);if(RL(a)){let c=T3(a);if(!Ch(c))return $r(c)}if(a=vs(n),v2(a)){let c=Eie(a.expression);return c?rT(c):void 0}if(Pa(a)&&a.expression.kind!==106&&!qu(a,!0)&&!sIe(a))return dT(a)?ZZe(a):GIe(NC(a.expression));if(pT(a)&&!Ch(a.type))return $r(a.type);if(fT(n)||ose(n))return Yi(n)}function KM(n){let a=Rr(n);if(a.contextFreeType)return a.contextFreeType;wM(n,Se,!1);let c=a.contextFreeType=Yi(n,4);return vD(),c}function Yi(n,a,c){var u,p;(u=ai)==null||u.push(ai.Phase.Check,"checkExpression",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath});let h=P;P=n,A=0;let T=net(n,a,c),k=MIe(n,T,a);return hie(k)&&eet(n,k),P=h,(p=ai)==null||p.pop(),k}function eet(n,a){n.parent.kind===208&&n.parent.expression===n||n.parent.kind===209&&n.parent.expression===n||(n.kind===79||n.kind===163)&&vU(n)||n.parent.kind===183&&n.parent.exprName===n||n.parent.kind===278||Fe(n,_.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query),d_(Y)&&(L.assert(!!(a.symbol.flags&128)),a.symbol.valueDeclaration.flags&16777216&&Fe(n,_.Cannot_access_ambient_const_enums_when_0_is_enabled,Rt))}function tet(n,a){if(Kd(n)){if(zW(n))return cie(n.expression,JW(n),a);if(RL(n)){let c=T3(n);return fIe(c,c,n.expression,a)}}return Yi(n.expression,a)}function net(n,a,c){let u=n.kind;if(o)switch(u){case 228:case 215:case 216:o.throwIfCancellationRequested()}switch(u){case 79:return BYe(n,a);case 80:return Z$e(n);case 108:return kM(n);case 106:return Ire(n);case 104:return ir;case 14:case 10:return Yx(ff(n.text));case 8:return eae(n),Yx(op(+n.text));case 9:return iit(n),Yx(aB({negative:!1,base10Value:iL(n.text)}));case 110:return pe;case 95:return Ke;case 225:return HZe(n);case 13:return nf;case 206:return gCe(n,a,c);case 207:return O$e(n,a);case 208:return RCe(n,a);case 163:return OCe(n,a);case 209:return mQe(n,a);case 210:if(n.expression.kind===100)return zQe(n);case 211:return WQe(n,a);case 212:return JQe(n);case 214:return tet(n,a);case 228:return Wtt(n);case 215:case 216:return IIe(n,a);case 218:return AZe(n);case 213:case 231:return KQe(n);case 232:return XQe(n);case 230:return _Ie(n);case 235:return YQe(n);case 233:return $Qe(n);case 217:return SZe(n);case 219:return CZe(n);case 220:return LZe(n);case 221:return kZe(n);case 222:return DZe(n);case 223:return Ce(n,a);case 224:return jZe(n,a);case 227:return L$e(n,a);case 229:return je;case 226:return VZe(n);case 234:return k$e(n);case 291:return J$e(n,a);case 281:return F$e(n,a);case 282:return P$e(n,a);case 285:return G$e(n);case 289:return U$e(n,a);case 283:L.fail("Shouldn't ever directly check a JsxOpeningElement")}return ve}function BIe(n){km(n),n.expression&&dl(n.expression,_.Type_expected),qa(n.constraint),qa(n.default);let a=UE(fr(n));bu(a),WJe(a)||Fe(n.default,_.Type_parameter_0_has_a_circular_default,Ee(a));let c=eu(a),u=jE(a);c&&u&&wu(u,uf(Oi(c,n0(a,u)),u),n.default,_.Type_0_does_not_satisfy_the_constraint_1),zC(n),i(()=>HC(n.name,_.Type_parameter_name_cannot_be_0))}function ret(n){var a,c;if(ku(n.parent)||Yr(n.parent)||Ep(n.parent)){let u=UE(fr(n)),p=Jne(u)&98304;if(p){let h=fr(n.parent);if(Ep(n.parent)&&!(Ur(gs(h))&48))Fe(n,_.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types);else if(p===32768||p===65536){(a=ai)==null||a.push(ai.Phase.CheckTypes,"checkTypeParameterDeferred",{parent:ru(gs(h)),id:ru(u)});let T=hM(h,u,p===65536?qs:ss),k=hM(h,u,p===65536?ss:qs),O=u;F=u,wu(T,k,n,_.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation),F=O,(c=ai)==null||c.pop()}}}}function UIe(n){km(n),ZM(n);let a=Xd(n);Mr(n,16476)&&(a.kind===173&&Pf(a.body)||Fe(n,_.A_parameter_property_is_only_allowed_in_a_constructor_implementation),a.kind===173&&Re(n.name)&&n.name.escapedText==="constructor"&&Fe(n.name,_.constructor_cannot_be_used_as_a_parameter_property_name)),!n.initializer&&WW(n)&&La(n.name)&&a.body&&Fe(n,_.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),n.name&&Re(n.name)&&(n.name.escapedText==="this"||n.name.escapedText==="new")&&(a.parameters.indexOf(n)!==0&&Fe(n,_.A_0_parameter_must_be_the_first_parameter,n.name.escapedText),(a.kind===173||a.kind===177||a.kind===182)&&Fe(n,_.A_constructor_cannot_have_a_this_parameter),a.kind===216&&Fe(n,_.An_arrow_function_cannot_have_a_this_parameter),(a.kind===174||a.kind===175)&&Fe(n,_.get_and_set_accessors_cannot_declare_this_parameters)),n.dotDotDotToken&&!La(n.name)&&!to(O_(zn(n.symbol)),Ri)&&Fe(n,_.A_rest_parameter_must_be_of_an_array_type)}function iet(n){let a=aet(n);if(!a){Fe(n,_.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return}let c=ip(a),u=Lf(c);if(!u)return;qa(n.type);let{parameterName:p}=n;if(u.kind===0||u.kind===2)oB(p);else if(u.parameterIndex>=0){if(Xl(c)&&u.parameterIndex===c.parameters.length-1)Fe(p,_.A_type_predicate_cannot_reference_a_rest_parameter);else if(u.type){let h=()=>da(void 0,_.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);wu(u.type,zn(c.parameters[u.parameterIndex]),n.type,void 0,h)}}else if(p){let h=!1;for(let{name:T}of a.parameters)if(La(T)&&VIe(T,p,u.parameterName)){h=!0;break}h||Fe(n.parameterName,_.Cannot_find_parameter_0,u.parameterName)}}function aet(n){switch(n.parent.kind){case 216:case 176:case 259:case 215:case 181:case 171:case 170:let a=n.parent;if(n===a.type)return a}}function VIe(n,a,c){for(let u of n.elements){if(ol(u))continue;let p=u.name;if(p.kind===79&&p.escapedText===c)return Fe(a,_.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern,c),!0;if((p.kind===204||p.kind===203)&&VIe(p,a,c))return!0}}function LD(n){n.kind===178?wrt(n):(n.kind===181||n.kind===259||n.kind===182||n.kind===176||n.kind===173||n.kind===177)&&AU(n);let a=pl(n);a&4||((a&3)===3&&R<99&&Hc(n,6144),(a&3)===2&&R<4&&Hc(n,64),a&3&&R<2&&Hc(n,128)),t8(jy(n)),Vtt(n),mn(n.parameters,UIe),n.type&&qa(n.type),i(c);function c(){itt(n);let u=U_(n);if(ge&&!u)switch(n.kind){case 177:Fe(n,_.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 176:Fe(n,_.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break}if(u){let p=pl(n);if((p&5)===1){let h=$r(u);if(h===yt)Fe(u,_.A_generator_cannot_have_a_void_type_annotation);else{let T=c0(0,h,(p&2)!==0)||Se,k=c0(1,h,(p&2)!==0)||T,O=c0(2,h,(p&2)!==0)||ue,H=EIe(T,k,O,!!(p&2));wu(H,h,u)}}else(p&3)===2&&Get(n,u)}n.kind!==178&&n.kind!==320&&Dy(n)}}function oet(n){let a=new Map,c=new Map,u=new Map;for(let h of n.members)if(h.kind===173)for(let T of h.parameters)Ad(T,h)&&!La(T.name)&&p(a,T.name,T.name.escapedText,3);else{let T=Ca(h),k=h.name;if(!k)continue;let O=pi(k),H=O&&T?16:0,J=O?u:T?c:a,de=k&&M0(k);if(de)switch(h.kind){case 174:p(J,k,de,1|H);break;case 175:p(J,k,de,2|H);break;case 169:p(J,k,de,3|H);break;case 171:p(J,k,de,8|H);break}}function p(h,T,k,O){let H=h.get(k);if(H)if((H&16)!==(O&16))Fe(T,_.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name,Qc(T));else{let J=!!(H&8),de=!!(O&8);J||de?J!==de&&Fe(T,_.Duplicate_identifier_0,Qc(T)):H&O&-17?Fe(T,_.Duplicate_identifier_0,Qc(T)):h.set(k,H|O)}else h.set(k,O)}}function set(n){for(let a of n.members){let c=a.name;if(Ca(a)&&c){let p=M0(c);switch(p){case"name":case"length":case"caller":case"arguments":case"prototype":let h=_.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1,T=_y(fr(n));Fe(c,h,p,T);break}}}}function jIe(n){let a=new Map;for(let c of n.members)if(c.kind===168){let u,p=c.name;switch(p.kind){case 10:case 8:u=p.text;break;case 79:u=vr(p);break;default:continue}a.get(u)?(Fe(sa(c.symbol.valueDeclaration),_.Duplicate_identifier_0,u),Fe(c.name,_.Duplicate_identifier_0,u)):a.set(u,!0)}}function Tie(n){if(n.kind===261){let c=fr(n);if(c.declarations&&c.declarations.length>0&&c.declarations[0]!==n)return}let a=Uxe(fr(n));if(a?.declarations){let c=new Map;for(let u of a.declarations)u.parameters.length===1&&u.parameters[0].type&&QE($r(u.parameters[0].type),p=>{let h=c.get(ru(p));h?h.declarations.push(u):c.set(ru(p),{type:p,declarations:[u]})});c.forEach(u=>{if(u.declarations.length>1)for(let p of u.declarations)Fe(p,_.Duplicate_index_signature_for_type_0,Ee(u.type))})}}function HIe(n){!km(n)&&!Zrt(n)&&CU(n.name),ZM(n),Sie(n),Mr(n,256)&&n.kind===169&&n.initializer&&Fe(n,_.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract,os(n.name))}function cet(n){return pi(n.name)&&Fe(n,_.Private_identifiers_are_not_allowed_outside_class_bodies),HIe(n)}function uet(n){cke(n)||CU(n.name),Nc(n)&&n.asteriskToken&&Re(n.name)&&vr(n.name)==="constructor"&&Fe(n.name,_.Class_constructor_may_not_be_a_generator),nLe(n),Mr(n,256)&&n.kind===171&&n.body&&Fe(n,_.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,os(n.name)),pi(n.name)&&!Zc(n)&&Fe(n,_.Private_identifiers_are_not_allowed_outside_class_bodies),Sie(n)}function Sie(n){if(pi(n.name)&&R<99){for(let a=tm(n);a;a=tm(a))Rr(a).flags|=4194304;if(_u(n.parent)){let a=xre(n.parent);a&&(Rr(n.name).flags|=32768,Rr(a).flags|=4096)}}}function det(n){km(n),pa(n,qa)}function fet(n){LD(n),$rt(n)||Qrt(n),qa(n.body);let a=fr(n),c=nc(a,n.kind);if(n===c&&cU(a),rc(n.body))return;i(p);return;function u(h){return xu(h)?!0:h.kind===169&&!Ca(h)&&!!h.initializer}function p(){let h=n.parent;if(P0(h)){Are(n.parent,h);let T=nCe(h),k=tCe(n.body);if(k){if(T&&Fe(k,_.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null),(Do(Y)!==99||!fe)&&(vt(n.parent.members,u)||vt(n.parameters,H=>Mr(H,16476))))if(!_et(k,n.body))Fe(k,_.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers);else{let H;for(let J of n.body.statements){if(Ol(J)&&OA(ql(J.expression))){H=J;break}if(WIe(J))break}H===void 0&&Fe(n,_.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers)}}else T||Fe(n,_.Constructors_for_derived_classes_must_contain_a_super_call)}}}function _et(n,a){let c=qy(n.parent);return Ol(c)&&c.parent===a}function WIe(n){return n.kind===106||n.kind===108?!0:ace(n)?!1:!!pa(n,WIe)}function zIe(n){Re(n.name)&&vr(n.name)==="constructor"&&Fe(n.name,_.Class_constructor_may_not_be_an_accessor),i(a),qa(n.body),Sie(n);function a(){if(!AU(n)&&!Urt(n)&&CU(n.name),XM(n),LD(n),n.kind===174&&!(n.flags&16777216)&&Pf(n.body)&&n.flags&256&&(n.flags&512||Fe(n.name,_.A_get_accessor_must_return_a_value)),n.name.kind===164&&vg(n.name),Ux(n)){let u=fr(n),p=nc(u,174),h=nc(u,175);if(p&&h&&!(sA(p)&1)){Rr(p).flags|=1;let T=uu(p),k=uu(h);(T&256)!==(k&256)&&(Fe(p.name,_.Accessors_must_both_be_abstract_or_non_abstract),Fe(h.name,_.Accessors_must_both_be_abstract_or_non_abstract)),(T&16&&!(k&24)||T&8&&!(k&8))&&(Fe(p.name,_.A_get_accessor_must_be_at_least_as_accessible_as_the_setter),Fe(h.name,_.A_get_accessor_must_be_at_least_as_accessible_as_the_setter));let O=te(p),H=te(h);O&&H&&wu(O,H,p,_.The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type)}}let c=Tr(fr(n));n.kind===174&&pie(n,c)}}function pet(n){XM(n)}function met(n,a,c){return n.typeArguments&&c<n.typeArguments.length?$r(n.typeArguments[c]):oU(n,a)[c]}function oU(n,a){return Sy(on(n.typeArguments,$r),a,Mp(a),Yn(n))}function JIe(n,a){let c,u,p=!0;for(let h=0;h<a.length;h++){let T=eu(a[h]);T&&(c||(c=oU(n,a),u=Wu(a,c)),p=p&&wu(c[h],Oi(T,u),n.typeArguments[h],_.Type_0_does_not_satisfy_the_constraint_1))}return p}function het(n,a){if(!Ro(n))return a.flags&524288&&Ai(a).typeParameters||(Ur(n)&4?n.target.localTypeParameters:void 0)}function xie(n){let a=$r(n);if(!Ro(a)){let c=Rr(n).resolvedSymbol;if(c)return het(a,c)}}function Aie(n){if(a8(n,n.typeArguments),n.kind===180&&!Yn(n)&&!qw(n)&&n.typeArguments&&n.typeName.end!==n.typeArguments.pos){let a=Gn(n);Xse(a,n.typeName.end)===24&&u0(n,xo(a.text,n.typeName.end),1,_.JSDoc_types_can_only_be_used_inside_documentation_comments)}mn(n.typeArguments,qa),KIe(n)}function KIe(n){let a=$r(n);if(!Ro(a)){n.typeArguments&&i(()=>{let u=xie(n);u&&JIe(n,u)});let c=Rr(n).resolvedSymbol;c&&vt(c.declarations,u=>o2(u)&&!!(u.flags&268435456))&&Xh(BM(n),c.declarations,c.escapedName)}}function get(n){let a=zr(n.parent,_6);if(!a)return;let c=xie(a);if(!c)return;let u=eu(c[a.typeArguments.indexOf(n)]);return u&&Oi(u,Wu(c,oU(a,c)))}function yet(n){$xe(n)}function vet(n){mn(n.members,qa),i(a);function a(){let c=GAe(n);mU(c,c.symbol),Tie(n),jIe(n)}}function bet(n){qa(n.elementType)}function Eet(n){let a=n.elements,c=!1,u=!1,p=vt(a,bL);for(let h of a){if(h.kind!==199&&p){an(h,_.Tuple_members_must_all_have_names_or_all_not_have_names);break}let T=hne(h);if(T&8){let k=$r(h.type);if(!Kv(k)){Fe(h,_.A_rest_element_type_must_be_an_array_type);break}(_f(k)||po(k)&&k.target.combinedFlags&4)&&(u=!0)}else if(T&4){if(u){an(h,_.A_rest_element_cannot_follow_another_rest_element);break}u=!0}else if(T&2){if(u){an(h,_.An_optional_element_cannot_follow_a_rest_element);break}c=!0}else if(c){an(h,_.A_required_element_cannot_follow_an_optional_element);break}}mn(n.elements,qa),$r(n)}function Tet(n){mn(n.types,qa),$r(n)}function qIe(n,a){if(!(n.flags&8388608))return n;let c=n.objectType,u=n.indexType;if(to(u,Gp(c,!1)))return a.kind===209&&Um(a)&&Ur(c)&32&&Pp(c)&1&&Fe(a,_.Index_signature_in_type_0_only_permits_reading,Ee(c)),n;let p=Eu(c);if(Cm(p,rt)&&ul(u,296))return n;if(Zb(c)){let h=eB(u,a);if(h){let T=QE(p,k=>ja(k,h));if(T&&Ef(T)&24)return Fe(a,_.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter,Gi(h)),ve}}return Fe(a,_.Type_0_cannot_be_used_to_index_type_1,Ee(u),Ee(c)),ve}function xet(n){qa(n.objectType),qa(n.indexType),qIe(RAe(n),n)}function Aet(n){Cet(n),qa(n.typeParameter),qa(n.nameType),qa(n.type),n.type||qv(n,Se);let a=Cne(n),c=by(a);if(c)wu(c,Si,n.nameType);else{let u=rp(a);wu(u,Si,EA(n.typeParameter))}}function Cet(n){var a;if((a=n.members)!=null&&a.length)return an(n.members[0],_.A_mapped_type_may_not_declare_properties_or_methods)}function Iet(n){oB(n)}function Let(n){jrt(n),qa(n.type)}function ket(n){pa(n,qa)}function Det(n){jn(n,c=>c.parent&&c.parent.kind===191&&c.parent.extendsType===c)||an(n,_.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type),qa(n.typeParameter);let a=fr(n.typeParameter);if(a.declarations&&a.declarations.length>1){let c=Ai(a);if(!c.typeParametersChecked){c.typeParametersChecked=!0;let u=UE(a),p=Ase(a,165);if(!xLe(p,[u],h=>[h])){let h=E(a);for(let T of p)Fe(T.name,_.All_declarations_of_0_must_have_identical_constraints,h)}}}Dy(n)}function wet(n){for(let a of n.templateSpans){qa(a.type);let c=$r(a.type);wu(c,Za,a.type)}$r(n)}function Ret(n){qa(n.argument),n.assertions&&qS(n.assertions.assertClause,an)&&(TR()||an(n.assertions.assertClause,_.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next),$s(Y)!==3&&$s(Y)!==99&&an(n.assertions.assertClause,_.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext)),KIe(n)}function Oet(n){n.dotDotDotToken&&n.questionToken&&an(n,_.A_tuple_member_cannot_be_both_optional_and_rest),n.type.kind===187&&an(n.type,_.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type),n.type.kind===188&&an(n.type,_.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type),qa(n.type),$r(n)}function qM(n){return(cd(n,8)||xu(n))&&!!(n.flags&16777216)}function sU(n,a){let c=wg(n);return n.parent.kind!==261&&n.parent.kind!==260&&n.parent.kind!==228&&n.flags&16777216&&(!(c&2)&&!(Tp(n.parent)&&Tc(n.parent.parent)&&mp(n.parent.parent))&&(c|=1),c|=2),c&a}function cU(n){i(()=>Net(n))}function Net(n){function a(cn,rr){return rr!==void 0&&rr.parent===cn[0].parent?rr:cn[0]}function c(cn,rr,Jt,Cn,Rn){if((Cn^Rn)!==0){let Hr=sU(a(cn,rr),Jt);mn(cn,qi=>{let wa=sU(qi,Jt)^Hr;wa&1?Fe(sa(qi),_.Overload_signatures_must_all_be_exported_or_non_exported):wa&2?Fe(sa(qi),_.Overload_signatures_must_all_be_ambient_or_non_ambient):wa&24?Fe(sa(qi)||qi,_.Overload_signatures_must_all_be_public_private_or_protected):wa&256&&Fe(sa(qi),_.Overload_signatures_must_all_be_abstract_or_non_abstract)})}}function u(cn,rr,Jt,Cn){if(Jt!==Cn){let Rn=uS(a(cn,rr));mn(cn,Br=>{uS(Br)!==Rn&&Fe(sa(Br),_.Overload_signatures_must_all_be_optional_or_required)})}}let p=283,h=0,T=p,k=!1,O=!0,H=!1,J,de,Ae,xe=n.declarations,tt=(n.flags&16384)!==0;function It(cn){if(cn.name&&rc(cn.name))return;let rr=!1,Jt=pa(cn.parent,Rn=>{if(rr)return Rn;rr=Rn===cn});if(Jt&&Jt.pos===cn.end&&Jt.kind===cn.kind){let Rn=Jt.name||Jt,Br=Jt.name;if(cn.name&&Br&&(pi(cn.name)&&pi(Br)&&cn.name.escapedText===Br.escapedText||ts(cn.name)&&ts(Br)||c_(cn.name)&&c_(Br)&&MI(cn.name)===MI(Br))){if((cn.kind===171||cn.kind===170)&&Ca(cn)!==Ca(Jt)){let qi=Ca(cn)?_.Function_overload_must_be_static:_.Function_overload_must_not_be_static;Fe(Rn,qi)}return}if(Pf(Jt.body)){Fe(Rn,_.Function_implementation_name_must_be_0,os(cn.name));return}}let Cn=cn.name||cn;tt?Fe(Cn,_.Constructor_implementation_is_missing):Mr(cn,256)?Fe(Cn,_.All_declarations_of_an_abstract_method_must_be_consecutive):Fe(Cn,_.Function_implementation_is_missing_or_not_immediately_following_the_declaration)}let Tn=!1,un=!1,Nn=!1,en=[];if(xe)for(let cn of xe){let rr=cn,Jt=rr.flags&16777216,Cn=rr.parent&&(rr.parent.kind===261||rr.parent.kind===184)||Jt;if(Cn&&(Ae=void 0),(rr.kind===260||rr.kind===228)&&!Jt&&(Nn=!0),rr.kind===259||rr.kind===171||rr.kind===170||rr.kind===173){en.push(rr);let Rn=sU(rr,p);h|=Rn,T&=Rn,k=k||uS(rr),O=O&&uS(rr);let Br=Pf(rr.body);Br&&J?tt?un=!0:Tn=!0:Ae?.parent===rr.parent&&Ae.end!==rr.pos&&It(Ae),Br?J||(J=rr):H=!0,Ae=rr,Cn||(de=rr)}if(Yn(cn)&&Ia(cn)&&cn.jsDoc){for(let Rn of cn.jsDoc)if(Rn.tags)for(let Br of Rn.tags)kL(Br)&&(H=!0)}}if(un&&mn(en,cn=>{Fe(cn,_.Multiple_constructor_implementations_are_not_allowed)}),Tn&&mn(en,cn=>{Fe(sa(cn)||cn,_.Duplicate_function_implementation)}),Nn&&!tt&&n.flags&16&&xe){let cn=Pr(xe,rr=>rr.kind===260).map(rr=>hr(rr,_.Consider_adding_a_declare_modifier_to_this_class));mn(xe,rr=>{let Jt=rr.kind===260?_.Class_declaration_cannot_implement_overload_list_for_0:rr.kind===259?_.Function_with_bodies_can_only_merge_with_classes_that_are_ambient:void 0;Jt&&Ao(Fe(sa(rr)||rr,Jt,fc(n)),...cn)})}if(de&&!de.body&&!Mr(de,256)&&!de.questionToken&&It(de),H&&(xe&&(c(xe,J,p,h,T),u(xe,J,k,O)),J)){let cn=Xb(n),rr=ip(J);for(let Jt of cn)if(!aXe(rr,Jt)){let Cn=Jt.declaration&&X0(Jt.declaration)?Jt.declaration.parent.tagName:Jt.declaration;Ao(Fe(Cn,_.This_overload_signature_is_not_compatible_with_its_implementation_signature),hr(J,_.The_implementation_signature_is_declared_here));break}}}function kD(n){i(()=>Pet(n))}function Pet(n){let a=n.localSymbol;if(!a&&(a=fr(n),!a.exportSymbol)||nc(a,n.kind)!==n)return;let c=0,u=0,p=0;for(let H of a.declarations){let J=O(H),de=sU(H,1025);de&1?de&1024?p|=J:c|=J:u|=J}let h=c|u,T=c&u,k=p&h;if(T||k)for(let H of a.declarations){let J=O(H),de=sa(H);J&k?Fe(de,_.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead,os(de)):J&T&&Fe(de,_.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,os(de))}function O(H){let J=H;switch(J.kind){case 261:case 262:case 349:case 341:case 343:return 2;case 264:return lu(J)||Gh(J)!==0?5:4;case 260:case 263:case 302:return 3;case 308:return 7;case 274:case 223:let de=J,Ae=pc(de)?de.expression:de.right;if(!bc(Ae))return 1;J=Ae;case 268:case 271:case 270:let xe=0,tt=wc(fr(J));return mn(tt.declarations,It=>{xe|=O(It)}),xe;case 257:case 205:case 259:case 273:case 79:return 1;case 170:case 168:return 2;default:return L.failBadSyntaxKind(J)}}}function DD(n,a,c,u){let p=wD(n,a);return p&&rT(p,a,c,u)}function wD(n,a,c){if(Zo(n))return;let u=n;if(u.promisedTypeOfPromise)return u.promisedTypeOfPromise;if(Bv(n,oM(!1)))return u.promisedTypeOfPromise=Ko(n)[0];if(zM(Ty(n),134479868))return;let p=Vc(n,"then");if(Zo(p))return;let h=p?xa(p,0):Je;if(h.length===0){a&&Fe(a,_.A_promise_must_have_a_then_method);return}let T,k;for(let J of h){let de=Yb(J);de&&de!==yt&&!Bp(n,de,hm)?T=de:k=Sn(k,J)}if(!k){L.assertIsDefined(T),c&&(c.value=T),a&&Fe(a,_.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,Ee(n),Ee(T));return}let O=wf(Gr(on(k,uie)),2097152);if(Zo(O))return;let H=xa(O,0);if(H.length===0){a&&Fe(a,_.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback);return}return u.promisedTypeOfPromise=Gr(on(H,uie),2)}function RD(n,a,c,u,p){return(a?rT(n,c,u,p):bg(n,c,u,p))||ve}function XIe(n){if(zM(Ty(n),134479868))return!1;let a=Vc(n,"then");return!!a&&xa(wf(a,2097152),0).length>0}function lU(n){var a;if(n.flags&16777216){let c=mne(!1);return!!c&&n.aliasSymbol===c&&((a=n.aliasTypeArguments)==null?void 0:a.length)===1}return!1}function UC(n){return n.flags&1048576?Ls(n,UC):lU(n)?n.aliasTypeArguments[0]:n}function YIe(n){if(Zo(n)||lU(n))return!1;if(Zb(n)){let a=bu(n);if(a?a.flags&3||mh(a)||yh(a,XIe):Js(n,8650752))return!0}return!1}function Met(n){let a=mne(!0);if(a)return Jx(a,[UC(n)])}function Fet(n){if(YIe(n)){let a=Met(n);if(a)return a}return L.assert(lU(n)||wD(n)===void 0,"type provided should not be a non-generic 'promise'-like."),n}function rT(n,a,c,u){let p=bg(n,a,c,u);return p&&Fet(p)}function bg(n,a,c,u){if(Zo(n)||lU(n))return n;let p=n;if(p.awaitedTypeOfType)return p.awaitedTypeOfType;if(n.flags&1048576){if(Jh.lastIndexOf(n.id)>=0){a&&Fe(a,_.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);return}let k=a?H=>bg(H,a,c,u):bg;Jh.push(n.id);let O=Ls(n,k);return Jh.pop(),p.awaitedTypeOfType=O}if(YIe(n))return p.awaitedTypeOfType=n;let h={value:void 0},T=wD(n,void 0,h);if(T){if(n.id===T.id||Jh.lastIndexOf(T.id)>=0){a&&Fe(a,_.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);return}Jh.push(n.id);let k=bg(T,a,c,u);return Jh.pop(),k?p.awaitedTypeOfType=k:void 0}if(XIe(n)){if(a){L.assertIsDefined(c);let k;h.value&&(k=da(k,_.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1,Ee(n),Ee(h.value))),k=da(k,c,u),Lo.add(Lh(Gn(a),a,k))}return}return p.awaitedTypeOfType=n}function Get(n,a){let c=$r(a);if(R>=2){if(Ro(c))return;let u=oM(!0);if(u!==ro&&!Bv(c,u)){Fe(a,_.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,Ee(bg(c)||yt));return}}else{if(Uet(a),Ro(c))return;let u=Jw(a);if(u===void 0){Fe(a,_.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,Ee(c));return}let p=uc(u,111551,!0),h=p?zn(p):ve;if(Ro(h)){u.kind===79&&u.escapedText==="Promise"&&Bx(c)===oM(!1)?Fe(a,_.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):Fe(a,_.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,qd(u));return}let T=mKe(!0);if(T===Ki){Fe(a,_.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,qd(u));return}if(!wu(h,T,a,_.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;let k=u&&Yd(u),O=yd(n.locals,k.escapedText,111551);if(O){Fe(O.valueDeclaration,_.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,vr(k),qd(u));return}}RD(c,!1,n,_.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function Bet(n){let a=MC(n);tU(a,n);let c=qo(a);if(c.flags&1)return;let u=_ie(n);if(!u?.resolvedReturnType)return;let p,h=u.resolvedReturnType;switch(n.parent.kind){case 260:case 228:p=_.Decorator_function_return_type_0_is_not_assignable_to_type_1;break;case 169:if(!$){p=_.Decorator_function_return_type_0_is_not_assignable_to_type_1;break}case 166:p=_.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any;break;case 171:case 174:case 175:p=_.Decorator_function_return_type_0_is_not_assignable_to_type_1;break;default:return L.failBadSyntaxKind(n.parent)}wu(c,h,n.expression,p)}function OD(n,a,c,u,p,h=c.length,T=0){let k=D.createFunctionTypeNode(void 0,Je,D.createKeywordTypeNode(131));return Am(k,n,a,c,u,p,h,T)}function Cie(n,a,c,u,p,h,T){let k=OD(n,a,c,u,p,h,T);return HE(k)}function $Ie(n){return Cie(void 0,void 0,Je,n)}function QIe(n){let a=A_("value",n);return Cie(void 0,void 0,[a],yt)}function Uet(n){ZIe(n&&Jw(n),!1)}function ZIe(n,a){if(!n)return;let c=Yd(n),u=(n.kind===79?788968:1920)|2097152,p=zs(c,c.escapedText,u,void 0,void 0,!0);if(p&&p.flags&2097152){if(!Y.verbatimModuleSyntax&&ig(p)&&!MD(wc(p))&&!nd(p))Hb(p);else if(a&&d_(Y)&&Rl(Y)>=5&&!ig(p)&&!vt(p.declarations,I0)){let h=Fe(n,_.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled),T=wr(p.declarations||Je,Zh);T&&Ao(h,hr(T,_._0_was_imported_here,vr(c)))}}}function VC(n){let a=Iie(n);a&&Cd(a)&&ZIe(a,!0)}function Iie(n){if(n)switch(n.kind){case 190:case 189:return eLe(n.types);case 191:return eLe([n.trueType,n.falseType]);case 193:case 199:return Iie(n.type);case 180:return n.typeName}}function eLe(n){let a;for(let c of n){for(;c.kind===193||c.kind===199;)c=c.type;if(c.kind===144||!U&&(c.kind===198&&c.literal.kind===104||c.kind===155))continue;let u=Iie(c);if(!u)return;if(a){if(!Re(a)||!Re(u)||a.escapedText!==u.escapedText)return}else a=u}return a}function uU(n){let a=Cl(n);return Fm(n)?SH(a):a}function XM(n){if(!HS(n)||!bf(n)||!n.modifiers||!M6($,n,n.parent,n.parent.parent))return;let a=wr(n.modifiers,du);if(a){if($?(Hc(a,8),n.kind===166&&Hc(a,32)):R<99&&(Hc(a,8),sl(n)?n.name?ALe(n)&&Hc(a,8388608):Hc(a,8388608):_u(n)||(pi(n.name)&&(Nc(n)||rb(n)||Id(n))&&Hc(a,8388608),ts(n.name)&&Hc(a,16777216))),Y.emitDecoratorMetadata)switch(Hc(a,16),n.kind){case 260:let c=Vm(n);if(c)for(let T of c.parameters)VC(uU(T));break;case 174:case 175:let u=n.kind===174?175:174,p=nc(fr(n),u);VC(N(n)||p&&N(p));break;case 171:for(let T of n.parameters)VC(uU(T));VC(U_(n));break;case 169:VC(Cl(n));break;case 166:VC(uU(n));let h=n.parent;for(let T of h.parameters)VC(uU(T));break}for(let c of n.modifiers)du(c)&&Bet(c)}}function Vet(n){i(a);function a(){nLe(n),Yie(n),jC(n,n.name)}}function jet(n){n.typeExpression||Fe(n.name,_.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),n.name&&HC(n.name,_.Type_alias_name_cannot_be_0),qa(n.typeExpression),t8(jy(n))}function Het(n){qa(n.constraint);for(let a of n.typeParameters)qa(a)}function Wet(n){qa(n.typeExpression)}function zet(n){qa(n.typeExpression);let a=WA(n);if(a){let c=kj(a,v3);if(Fn(c)>1)for(let u=1;u<Fn(c);u++){let p=c[u].tagName;Fe(p,_._0_tag_already_specified,vr(p))}}}function Jet(n){n.name&&r8(n.name,!0)}function Ket(n){qa(n.typeExpression)}function qet(n){qa(n.typeExpression)}function Xet(n){i(a),LD(n);function a(){!n.type&&!jA(n)&&qv(n,Se)}}function Yet(n){let a=WA(n);(!a||!sl(a)&&!_u(a))&&Fe(a,_.JSDoc_0_is_not_attached_to_a_class,vr(n.tagName))}function $et(n){let a=WA(n);if(!a||!sl(a)&&!_u(a)){Fe(a,_.JSDoc_0_is_not_attached_to_a_class,vr(n.tagName));return}let c=A0(a).filter(x2);L.assert(c.length>0),c.length>1&&Fe(c[1],_.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);let u=tLe(n.class.expression),p=P0(a);if(p){let h=tLe(p.expression);h&&u.escapedText!==h.escapedText&&Fe(u,_.JSDoc_0_1_does_not_match_the_extends_2_clause,vr(n.tagName),vr(u),vr(h))}}function Qet(n){let a=dS(n);a&&xu(a)&&Fe(n,_.An_accessibility_modifier_cannot_be_used_with_a_private_identifier)}function tLe(n){switch(n.kind){case 79:return n;case 208:return n.name;default:return}}function nLe(n){var a;XM(n),LD(n);let c=pl(n);if(n.name&&n.name.kind===164&&vg(n.name),Ux(n)){let h=fr(n),T=n.localSymbol||h,k=(a=T.declarations)==null?void 0:a.find(O=>O.kind===n.kind&&!(O.flags&262144));n===k&&cU(T),h.parent&&cU(h)}let u=n.kind===170?void 0:n.body;if(qa(u),pie(n,Hx(n)),i(p),Yn(n)){let h=x0(n);h&&h.typeExpression&&!Ore($r(h.typeExpression),n)&&Fe(h.typeExpression.type,_.The_type_of_a_function_declaration_must_match_the_function_s_signature)}function p(){U_(n)||(rc(u)&&!qM(n)&&qv(n,Se),c&1&&Pf(u)&&qo(ip(n)))}}function Dy(n){i(a);function a(){let c=Gn(n),u=rn.get(c.path);u||(u=[],rn.set(c.path,u)),u.push(n)}}function rLe(n,a){for(let c of n)switch(c.kind){case 260:case 228:Zet(c,a),Lie(c,a);break;case 308:case 264:case 238:case 266:case 245:case 246:case 247:oLe(c,a);break;case 173:case 215:case 259:case 216:case 171:case 174:case 175:c.body&&oLe(c,a),Lie(c,a);break;case 170:case 176:case 177:case 181:case 182:case 262:case 261:Lie(c,a);break;case 192:ett(c,a);break;default:L.assertNever(c,"Node should not have been registered for unused identifiers check")}}function iLe(n,a,c){let u=sa(n)||n,p=o2(n)?_._0_is_declared_but_never_used:_._0_is_declared_but_its_value_is_never_read;c(n,0,hr(u,p,a))}function YM(n){return Re(n)&&vr(n).charCodeAt(0)===95}function Zet(n,a){for(let c of n.members)switch(c.kind){case 171:case 169:case 174:case 175:if(c.kind===175&&c.symbol.flags&32768)break;let u=fr(c);!u.isReferenced&&(cd(c,8)||zl(c)&&pi(c.name))&&!(c.flags&16777216)&&a(c,0,hr(c.name,_._0_is_declared_but_its_value_is_never_read,E(u)));break;case 173:for(let p of c.parameters)!p.symbol.isReferenced&&Mr(p,8)&&a(p,0,hr(p.name,_.Property_0_is_declared_but_its_value_is_never_read,fc(p.symbol)));break;case 178:case 237:case 172:break;default:L.fail("Unexpected class member")}}function ett(n,a){let{typeParameter:c}=n;kie(c)&&a(n,1,hr(n,_._0_is_declared_but_its_value_is_never_read,vr(c.name)))}function Lie(n,a){let c=fr(n).declarations;if(!c||To(c)!==n)return;let u=jy(n),p=new Set;for(let h of u){if(!kie(h))continue;let T=vr(h.name),{parent:k}=h;if(k.kind!==192&&k.typeParameters.every(kie)){if(_0(p,k)){let O=Gn(k),H=H_(k)?MW(k):FW(O,k.typeParameters),J=k.typeParameters.length===1,de=J?_._0_is_declared_but_its_value_is_never_read:_.All_type_parameters_are_unused,Ae=J?T:void 0;a(h,1,al(O,H.pos,H.end-H.pos,de,Ae))}}else a(h,1,hr(h,_._0_is_declared_but_its_value_is_never_read,T))}}function kie(n){return!(No(n.symbol).isReferenced&262144)&&!YM(n.name)}function $M(n,a,c,u){let p=String(u(a)),h=n.get(p);h?h[1].push(c):n.set(p,[a,[c]])}function aLe(n){return zr(nm(n),ha)}function ttt(n){return Wo(n)?cm(n.parent)?!!(n.propertyName&&YM(n.name)):YM(n.name):lu(n)||(wi(n)&&CA(n.parent.parent)||sLe(n))&&YM(n.name)}function oLe(n,a){let c=new Map,u=new Map,p=new Map;n.locals.forEach(h=>{if(!(h.flags&262144?!(h.flags&3&&!(h.isReferenced&3)):h.isReferenced||h.exportSymbol)&&h.declarations){for(let T of h.declarations)if(!ttt(T))if(sLe(T))$M(c,rtt(T),T,zo);else if(Wo(T)&&cm(T.parent)){let k=To(T.parent.elements);(T===k||!To(T.parent.elements).dotDotDotToken)&&$M(u,T.parent,T,zo)}else if(wi(T))$M(p,T.parent,T,zo);else{let k=h.valueDeclaration&&aLe(h.valueDeclaration),O=h.valueDeclaration&&sa(h.valueDeclaration);k&&O?!Ad(k,k.parent)&&!G0(k)&&!YM(O)&&(Wo(T)&&g2(T.parent)?$M(u,T.parent,T,zo):a(k,1,hr(O,_._0_is_declared_but_its_value_is_never_read,fc(h)))):iLe(T,fc(h),a)}}}),c.forEach(([h,T])=>{let k=h.parent;if((h.name?1:0)+(h.namedBindings?h.namedBindings.kind===271?1:h.namedBindings.elements.length:0)===T.length)a(k,0,T.length===1?hr(k,_._0_is_declared_but_its_value_is_never_read,vr(Vo(T).name)):hr(k,_.All_imports_in_import_declaration_are_unused));else for(let H of T)iLe(H,vr(H.name),a)}),u.forEach(([h,T])=>{let k=aLe(h.parent)?1:0;if(h.elements.length===T.length)T.length===1&&h.parent.kind===257&&h.parent.parent.kind===258?$M(p,h.parent.parent,h.parent,zo):a(h,k,T.length===1?hr(h,_._0_is_declared_but_its_value_is_never_read,QM(Vo(T).name)):hr(h,_.All_destructured_elements_are_unused));else for(let O of T)a(O,k,hr(O,_._0_is_declared_but_its_value_is_never_read,QM(O.name)))}),p.forEach(([h,T])=>{if(h.declarations.length===T.length)a(h,0,T.length===1?hr(Vo(T).name,_._0_is_declared_but_its_value_is_never_read,QM(Vo(T).name)):hr(h.parent.kind===240?h.parent:h,_.All_variables_are_unused));else for(let k of T)a(k,0,hr(k,_._0_is_declared_but_its_value_is_never_read,QM(k.name)))})}function ntt(){var n;for(let a of m1)if(!((n=fr(a))!=null&&n.isReferenced)){let c=bA(a);L.assert(CT(c),"Only parameter declaration should be checked here");let u=hr(a.name,_._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation,os(a.name),os(a.propertyName));c.type||Ao(u,al(Gn(c),c.end,1,_.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here,os(a.propertyName))),Lo.add(u)}}function QM(n){switch(n.kind){case 79:return vr(n);case 204:case 203:return QM(Ga(Vo(n.elements),Wo).name);default:return L.assertNever(n)}}function sLe(n){return n.kind===270||n.kind===273||n.kind===271}function rtt(n){return n.kind===270?n:n.kind===271?n.parent:n.parent.parent}function dU(n){if(n.kind===238&&vh(n),Bj(n)){let a=ki;mn(n.statements,qa),ki=a}else mn(n.statements,qa);n.locals&&Dy(n)}function itt(n){R>=2||!Yj(n)||n.flags&16777216||rc(n.body)||mn(n.parameters,a=>{a.name&&!La(a.name)&&a.name.escapedText===_t.escapedName&&Ev("noEmit",a,_.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)})}function ND(n,a,c){if(a?.escapedText!==c||n.kind===169||n.kind===168||n.kind===171||n.kind===170||n.kind===174||n.kind===175||n.kind===299||n.flags&16777216||(lm(n)||Nl(n)||$u(n))&&I0(n))return!1;let u=nm(n);return!(ha(u)&&rc(u.parent.body))}function att(n){jn(n,a=>sA(a)&4?(n.kind!==79?Fe(sa(n),_.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference):Fe(n,_.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference),!0):!1)}function ott(n){jn(n,a=>sA(a)&8?(n.kind!==79?Fe(sa(n),_.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference):Fe(n,_.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference),!0):!1)}function stt(n,a){if(ie>=5&&!(ie>=100&&Gn(n).impliedNodeFormat===1)||!a||!ND(n,a,"require")&&!ND(n,a,"exports")||Tc(n)&&Gh(n)!==1)return;let c=FE(n);c.kind===308&&kd(c)&&Ev("noEmit",a,_.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,os(a),os(a))}function ctt(n,a){if(!a||R>=4||!ND(n,a,"Promise")||Tc(n)&&Gh(n)!==1)return;let c=FE(n);c.kind===308&&kd(c)&&c.flags&2048&&Ev("noEmit",a,_.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,os(a),os(a))}function ltt(n,a){R<=8&&(ND(n,a,"WeakMap")||ND(n,a,"WeakSet"))&&Lb.push(n)}function utt(n){let a=tm(n);sA(a)&4194304&&(L.assert(zl(n)&&Re(n.name)&&typeof n.name.escapedText=="string","The target of a WeakMap/WeakSet collision check should be an identifier"),Ev("noEmit",n,_.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel,n.name.escapedText))}function dtt(n,a){a&&R>=2&&R<=8&&ND(n,a,"Reflect")&&bv.push(n)}function ftt(n){let a=!1;if(_u(n)){for(let c of n.members)if(sA(c)&8388608){a=!0;break}}else if(ms(n))sA(n)&8388608&&(a=!0);else{let c=tm(n);c&&sA(c)&8388608&&(a=!0)}a&&(L.assert(zl(n)&&Re(n.name),"The target of a Reflect collision check should be an identifier"),Ev("noEmit",n,_.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers,os(n.name),"Reflect"))}function jC(n,a){a&&(stt(n,a),ctt(n,a),ltt(n,a),dtt(n,a),Yr(n)?(HC(a,_.Class_name_cannot_be_0),n.flags&16777216||Utt(a)):hb(n)&&HC(a,_.Enum_name_cannot_be_0))}function _tt(n){if(G_(n)&3||CT(n)||n.kind===257&&!n.initializer)return;let a=fr(n);if(a.flags&1){if(!Re(n.name))return L.fail();let c=zs(n,n.name.escapedText,3,void 0,void 0,!1);if(c&&c!==a&&c.flags&2&&WB(c)&3){let u=cb(c.valueDeclaration,258),p=u.parent.kind===240&&u.parent.parent?u.parent.parent:void 0;if(!(p&&(p.kind===238&&Ia(p.parent)||p.kind===265||p.kind===264||p.kind===308))){let T=E(c);Fe(n,_.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,T,T)}}}}function PD(n){return n===at?Se:n===bn?Et:n}function ZM(n){var a;if(XM(n),Wo(n)||qa(n.type),!n.name)return;if(n.name.kind===164&&(vg(n.name),mT(n)&&n.initializer&&Ic(n.initializer)),Wo(n)){if(n.propertyName&&Re(n.name)&&CT(n)&&rc(Xd(n).body)){m1.push(n);return}cm(n.parent)&&n.dotDotDotToken&&R<5&&Hc(n,4),n.propertyName&&n.propertyName.kind===164&&vg(n.propertyName);let p=n.parent.parent,h=n.dotDotDotToken?64:0,T=Px(p,h),k=n.propertyName||n.name;if(T&&!La(k)){let O=pg(k);if(fh(O)){let H=Np(O),J=ja(T,H);J&&(MM(J,void 0,!1),Hre(n,!!p.initializer&&p.initializer.kind===106,!1,T,J))}}}if(La(n.name)&&(n.name.kind===204&&R<2&&Y.downlevelIteration&&Hc(n,512),mn(n.name.elements,qa)),ha(n)&&n.initializer&&rc(Xd(n).body)){Fe(n,_.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);return}if(La(n.name)){let p=mT(n)&&n.initializer&&n.parent.parent.kind!==246,h=!vt(n.name.elements,y8(ol));if(p||h){let T=Zs(n);if(p){let k=Ic(n.initializer);U&&h?wCe(k,n):Ly(k,Zs(n),n,n.initializer)}h&&(g2(n.name)?wy(65,T,Oe,n):U&&wCe(T,n))}return}let c=fr(n);if(c.flags&2097152&&(N0(n)||lce(n))){hU(n);return}let u=PD(zn(c));if(n===c.valueDeclaration){let p=mT(n)&&Yw(n);p&&!(Yn(n)&&rs(p)&&(p.properties.length===0||ub(n.name))&&((a=c.exports)!=null&&a.size))&&n.parent.parent.kind!==246&&Ly(Ic(p),u,n,p,void 0),c.declarations&&c.declarations.length>1&&vt(c.declarations,h=>h!==n&&PA(h)&&!lLe(h,n))&&Fe(n.name,_.All_declarations_of_0_must_have_identical_modifiers,os(n.name))}else{let p=PD(Zs(n));!Ro(u)&&!Ro(p)&&!ph(u,p)&&!(c.flags&67108864)&&cLe(c.valueDeclaration,u,n,p),mT(n)&&n.initializer&&Ly(Ic(n.initializer),p,n,n.initializer,void 0),c.valueDeclaration&&!lLe(n,c.valueDeclaration)&&Fe(n.name,_.All_declarations_of_0_must_have_identical_modifiers,os(n.name))}n.kind!==169&&n.kind!==168&&(kD(n),(n.kind===257||n.kind===205)&&_tt(n),jC(n,n.name))}function cLe(n,a,c,u){let p=sa(c),h=c.kind===169||c.kind===168?_.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:_.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,T=os(p),k=Fe(p,h,T,Ee(a),Ee(u));n&&Ao(k,hr(n,_._0_was_also_declared_here,T))}function lLe(n,a){if(n.kind===166&&a.kind===257||n.kind===257&&a.kind===166)return!0;if(uS(n)!==uS(a))return!1;let c=888;return hS(n,c)===hS(a,c)}function Die(n){var a,c;(a=ai)==null||a.push(ai.Phase.Check,"checkVariableDeclaration",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath}),Krt(n),ZM(n),(c=ai)==null||c.pop()}function ptt(n){return Wrt(n),ZM(n)}function mtt(n){!km(n)&&!Zie(n.declarationList)&&qrt(n),mn(n.declarationList.declarations,qa)}function htt(n){vh(n),Yi(n.expression)}function gtt(n){vh(n);let a=aA(n.expression);wie(n.expression,a,n.thenStatement),qa(n.thenStatement),n.thenStatement.kind===239&&Fe(n.thenStatement,_.The_body_of_an_if_statement_cannot_be_the_empty_statement),qa(n.elseStatement)}function wie(n,a,c){if(!U)return;u(n,c);function u(h,T){for(h=vs(h),p(h,T);ar(h)&&(h.operatorToken.kind===56||h.operatorToken.kind===60);)h=vs(h.left),p(h,T)}function p(h,T){let k=CR(h)?vs(h.right):h;if(Bm(k))return;if(CR(k)){u(k,T);return}let O=k===h?a:aA(k),H=br(k)&&OIe(k.expression);if(!(iu(O)&4194304)||H)return;let J=xa(O,0),de=!!DD(O);if(J.length===0&&!de)return;let Ae=Re(k)?k:br(k)?k.name:void 0,xe=Ae&&Zf(Ae);if(!xe&&!de)return;xe&&ar(h.parent)&&vtt(h.parent,xe)||xe&&T&&ytt(h,T,Ae,xe)||(de?Tv(k,!0,_.This_condition_will_always_return_true_since_this_0_is_always_defined,lr(O)):Fe(k,_.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead))}}function ytt(n,a,c,u){return!!pa(a,function p(h){if(Re(h)){let T=Zf(h);if(T&&T===u){if(Re(n)||Re(c)&&ar(c.parent))return!0;let k=c.parent,O=h.parent;for(;k&&O;){if(Re(k)&&Re(O)||k.kind===108&&O.kind===108)return Zf(k)===Zf(O);if(br(k)&&br(O)){if(Zf(k.name)!==Zf(O.name))return!1;O=O.expression,k=k.expression}else if(Pa(k)&&Pa(O))O=O.expression,k=k.expression;else return!1}}}return pa(h,p)})}function vtt(n,a){for(;ar(n)&&n.operatorToken.kind===55;){if(pa(n.right,function u(p){if(Re(p)){let h=Zf(p);if(h&&h===a)return!0}return pa(p,u)}))return!0;n=n.parent}return!1}function btt(n){vh(n),qa(n.statement),aA(n.expression)}function Ett(n){vh(n),aA(n.expression),qa(n.statement)}function uLe(n,a){return n.flags&16384&&Fe(a,_.An_expression_of_type_void_cannot_be_tested_for_truthiness),n}function aA(n,a){return uLe(Yi(n,a),n)}function Ttt(n){vh(n)||n.initializer&&n.initializer.kind===258&&Zie(n.initializer),n.initializer&&(n.initializer.kind===258?mn(n.initializer.declarations,Die):Yi(n.initializer)),n.condition&&aA(n.condition),n.incrementor&&Yi(n.incrementor),qa(n.statement),n.locals&&Dy(n)}function Stt(n){ske(n);let a=R6(n);if(n.awaitModifier?a&&oc(a)?an(n.awaitModifier,_.For_await_loops_cannot_be_used_inside_a_class_static_block):(pl(a)&6)===2&&R<99&&Hc(n,16384):Y.downlevelIteration&&R<2&&Hc(n,256),n.initializer.kind===258)dLe(n);else{let c=n.initializer,u=e8(n);if(c.kind===206||c.kind===207)nT(c,u||ve);else{let p=Yi(c);CD(c,_.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access,_.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access),u&&Ly(u,p,c,n.expression)}}qa(n.statement),n.locals&&Dy(n)}function xtt(n){ske(n);let a=Wre(Yi(n.expression));if(n.initializer.kind===258){let c=n.initializer.declarations[0];c&&La(c.name)&&Fe(c.name,_.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),dLe(n)}else{let c=n.initializer,u=Yi(c);c.kind===206||c.kind===207?Fe(c,_.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):to(lqe(a),u)?CD(c,_.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access,_.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access):Fe(c,_.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}(a===lt||!ul(a,126091264))&&Fe(n.expression,_.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,Ee(a)),qa(n.statement),n.locals&&Dy(n)}function dLe(n){let a=n.initializer;if(a.declarations.length>=1){let c=a.declarations[0];Die(c)}}function e8(n){let a=n.awaitModifier?15:13;return wy(a,NC(n.expression),Oe,n.expression)}function wy(n,a,c,u){return Zo(a)?a:Rie(n,a,c,u,!0)||Se}function Rie(n,a,c,u,p){let h=(n&2)!==0;if(a===lt){Fie(u,a,h);return}let T=R>=2,k=!T&&Y.downlevelIteration,O=Y.noUncheckedIndexedAccess&&!!(n&128);if(T||k||h){let tt=_U(a,n,T?u:void 0);if(p&&tt){let It=n&8?_.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:n&32?_.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:n&64?_.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:n&16?_.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;It&&wu(c,tt.nextType,u,It)}if(tt||T)return O?hD(tt&&tt.yieldType):tt&&tt.yieldType}let H=a,J=!1,de=!1;if(n&4){if(H.flags&1048576){let tt=a.types,It=Pr(tt,Tn=>!(Tn.flags&402653316));It!==tt&&(H=Gr(It,2))}else H.flags&402653316&&(H=lt);if(de=H!==a,de&&(R<1&&u&&(Fe(u,_.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),J=!0),H.flags&131072))return O?hD(ae):ae}if(!Kv(H)){if(u&&!J){let tt=!!(n&4)&&!de,[It,Tn]=xe(tt,k);Tv(u,Tn&&!!DD(H),It,Ee(H))}return de?O?hD(ae):ae:void 0}let Ae=fg(H,rt);if(de&&Ae)return Ae.flags&402653316&&!Y.noUncheckedIndexedAccess?ae:Gr(O?[Ae,ae,Oe]:[Ae,ae],2);return n&128?hD(Ae):Ae;function xe(tt,It){var Tn;return It?tt?[_.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[_.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:Oie(n,0,a,void 0)?[_.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!1]:Att((Tn=a.symbol)==null?void 0:Tn.escapedName)?[_.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0]:tt?[_.Type_0_is_not_an_array_type_or_a_string_type,!0]:[_.Type_0_is_not_an_array_type,!0]}}function Att(n){switch(n){case"Float32Array":case"Float64Array":case"Int16Array":case"Int32Array":case"Int8Array":case"NodeList":case"Uint16Array":case"Uint32Array":case"Uint8Array":case"Uint8ClampedArray":return!0}return!1}function Oie(n,a,c,u){if(Zo(c))return;let p=_U(c,n,u);return p&&p[R_e(a)]}function Eg(n=lt,a=lt,c=ue){if(n.flags&67359327&&a.flags&180227&&c.flags&180227){let u=kf([n,a,c]),p=se.get(u);return p||(p={yieldType:n,returnType:a,nextType:c},se.set(u,p)),p}return{yieldType:n,returnType:a,nextType:c}}function fLe(n){let a,c,u;for(let p of n)if(!(p===void 0||p===ht)){if(p===wt)return wt;a=Sn(a,p.yieldType),c=Sn(c,p.returnType),u=Sn(u,p.nextType)}return a||c||u?Eg(a&&Gr(a),c&&Gr(c),u&&so(u)):ht}function fU(n,a){return n[a]}function Lm(n,a,c){return n[a]=c}function _U(n,a,c){var u,p;if(Zo(n))return wt;if(!(n.flags&1048576)){let H=c?{errors:void 0}:void 0,J=_Le(n,a,c,H);if(J===ht){if(c){let de=Fie(c,n,!!(a&2));H?.errors&&Ao(de,...H.errors)}return}else if((u=H?.errors)!=null&&u.length)for(let de of H.errors)Lo.add(de);return J}let h=a&2?"iterationTypesOfAsyncIterable":"iterationTypesOfIterable",T=fU(n,h);if(T)return T===ht?void 0:T;let k;for(let H of n.types){let J=c?{errors:void 0}:void 0,de=_Le(H,a,c,J);if(de===ht){if(c){let Ae=Fie(c,n,!!(a&2));J?.errors&&Ao(Ae,...J.errors)}Lm(n,h,ht);return}else if((p=J?.errors)!=null&&p.length)for(let Ae of J.errors)Lo.add(Ae);k=Sn(k,de)}let O=k?fLe(k):ht;return Lm(n,h,O),O===ht?void 0:O}function Nie(n,a){if(n===ht)return ht;if(n===wt)return wt;let{yieldType:c,returnType:u,nextType:p}=n;return a&&mne(!0),Eg(rT(c,a)||Se,rT(u,a)||Se,p)}function _Le(n,a,c,u){if(Zo(n))return wt;let p=!1;if(a&2){let h=Pie(n,ft)||mLe(n,ft);if(h)if(h===ht&&c)p=!0;else return a&8?Nie(h,c):h}if(a&1){let h=Pie(n,Yt)||mLe(n,Yt);if(h)if(h===ht&&c)p=!0;else if(a&2){if(h!==ht)return h=Nie(h,c),p?h:Lm(n,"iterationTypesOfAsyncIterable",h)}else return h}if(a&2){let h=Mie(n,ft,c,u,p);if(h!==ht)return h}if(a&1){let h=Mie(n,Yt,c,u,p);if(h!==ht)return a&2?(h=Nie(h,c),p?h:Lm(n,"iterationTypesOfAsyncIterable",h)):h}return ht}function Pie(n,a){return fU(n,a.iterableCacheKey)}function pLe(n,a){let c=Pie(n,a)||Mie(n,a,void 0,void 0,!1);return c===ht?Xe:c}function mLe(n,a){let c;if(Bv(n,c=a.getGlobalIterableType(!1))||Bv(n,c=a.getGlobalIterableIteratorType(!1))){let[u]=Ko(n),{returnType:p,nextType:h}=pLe(c,a);return Lm(n,a.iterableCacheKey,Eg(a.resolveIterationType(u,void 0)||u,a.resolveIterationType(p,void 0)||p,h))}if(Bv(n,a.getGlobalGeneratorType(!1))){let[u,p,h]=Ko(n);return Lm(n,a.iterableCacheKey,Eg(a.resolveIterationType(u,void 0)||u,a.resolveIterationType(p,void 0)||p,h))}}function Ctt(n){let a=rAe(!1),c=a&&Vc(zn(a),Bs(n));return c&&fh(c)?Np(c):`__@${n}`}function Mie(n,a,c,u,p){var h;let T=ja(n,Ctt(a.iteratorSymbolName)),k=T&&!(T.flags&16777216)?zn(T):void 0;if(Zo(k))return p?wt:Lm(n,a.iterableCacheKey,wt);let O=k?xa(k,0):void 0;if(!vt(O))return p?ht:Lm(n,a.iterableCacheKey,ht);let H=so(on(O,qo)),J=(h=hLe(H,a,c,u,p))!=null?h:ht;return p?J:Lm(n,a.iterableCacheKey,J)}function Fie(n,a,c){let u=c?_.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:_.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator,p=!!DD(a)||!c&&_O(n.parent)&&n.parent.expression===n&&ZG(!1)!==ro&&to(a,ZG(!1));return Tv(n,p,u,Ee(a))}function Itt(n,a,c,u){return hLe(n,a,c,u,!1)}function hLe(n,a,c,u,p){if(Zo(n))return wt;let h=gLe(n,a)||Ltt(n,a);return h===ht&&c&&(h=void 0,p=!0),h??(h=vLe(n,a,c,u,p)),h===ht?void 0:h}function gLe(n,a){return fU(n,a.iteratorCacheKey)}function Ltt(n,a){let c=a.getGlobalIterableIteratorType(!1);if(Bv(n,c)){let[u]=Ko(n),p=gLe(c,a)||vLe(c,a,void 0,void 0,!1),{returnType:h,nextType:T}=p===ht?Xe:p;return Lm(n,a.iteratorCacheKey,Eg(u,h,T))}if(Bv(n,a.getGlobalIteratorType(!1))||Bv(n,a.getGlobalGeneratorType(!1))){let[u,p,h]=Ko(n);return Lm(n,a.iteratorCacheKey,Eg(u,p,h))}}function yLe(n,a){let c=Vc(n,"done")||Ke;return to(a===0?Ke:pe,c)}function ktt(n){return yLe(n,0)}function Dtt(n){return yLe(n,1)}function wtt(n){if(Zo(n))return wt;let a=fU(n,"iterationTypesOfIteratorResult");if(a)return a;if(Bv(n,TKe(!1))){let T=Ko(n)[0];return Lm(n,"iterationTypesOfIteratorResult",Eg(T,void 0,void 0))}if(Bv(n,SKe(!1))){let T=Ko(n)[0];return Lm(n,"iterationTypesOfIteratorResult",Eg(void 0,T,void 0))}let c=jc(n,ktt),u=c!==lt?Vc(c,"value"):void 0,p=jc(n,Dtt),h=p!==lt?Vc(p,"value"):void 0;return!u&&!h?Lm(n,"iterationTypesOfIteratorResult",ht):Lm(n,"iterationTypesOfIteratorResult",Eg(u,h||yt,void 0))}function Gie(n,a,c,u,p){var h,T,k,O,H,J;let de=ja(n,c);if(!de&&c!=="next")return;let Ae=de&&!(c==="next"&&de.flags&16777216)?c==="next"?zn(de):wf(zn(de),2097152):void 0;if(Zo(Ae))return c==="next"?wt:K;let xe=Ae?xa(Ae,0):Je;if(xe.length===0){if(u){let Jt=c==="next"?a.mustHaveANextMethodDiagnostic:a.mustBeAMethodDiagnostic;p?((h=p.errors)!=null||(p.errors=[]),p.errors.push(hr(u,Jt,c))):Fe(u,Jt,c)}return c==="next"?ht:void 0}if(Ae?.symbol&&xe.length===1){let Jt=a.getGlobalGeneratorType(!1),Cn=a.getGlobalIteratorType(!1),Rn=((k=(T=Jt.symbol)==null?void 0:T.members)==null?void 0:k.get(c))===Ae.symbol,Br=!Rn&&((H=(O=Cn.symbol)==null?void 0:O.members)==null?void 0:H.get(c))===Ae.symbol;if(Rn||Br){let Hr=Rn?Jt:Cn,{mapper:qi}=Ae;return Eg(zv(Hr.typeParameters[0],qi),zv(Hr.typeParameters[1],qi),c==="next"?zv(Hr.typeParameters[2],qi):void 0)}}let tt,It;for(let Jt of xe)c!=="throw"&&vt(Jt.parameters)&&(tt=Sn(tt,P_(Jt,0))),It=Sn(It,qo(Jt));let Tn,un;if(c!=="throw"){let Jt=tt?Gr(tt):ue;if(c==="next")un=Jt;else if(c==="return"){let Cn=a.resolveIterationType(Jt,u)||Se;Tn=Sn(Tn,Cn)}}let Nn,en=It?so(It):lt,cn=a.resolveIterationType(en,u)||Se,rr=wtt(cn);return rr===ht?(u&&(p?((J=p.errors)!=null||(p.errors=[]),p.errors.push(hr(u,a.mustHaveAValueDiagnostic,c))):Fe(u,a.mustHaveAValueDiagnostic,c)),Nn=Se,Tn=Sn(Tn,Se)):(Nn=rr.yieldType,Tn=Sn(Tn,rr.returnType)),Eg(Nn,Gr(Tn),un)}function vLe(n,a,c,u,p){let h=fLe([Gie(n,a,"next",c,u),Gie(n,a,"return",c,u),Gie(n,a,"throw",c,u)]);return p?h:Lm(n,a.iteratorCacheKey,h)}function c0(n,a,c){if(Zo(a))return;let u=bLe(a,c);return u&&u[R_e(n)]}function bLe(n,a){if(Zo(n))return wt;let c=a?2:1,u=a?ft:Yt;return _U(n,c,void 0)||Itt(n,u,void 0,void 0)}function Rtt(n){vh(n)||Hrt(n)}function pU(n,a){let c=!!(a&1),u=!!(a&2);if(c){let p=c0(1,n,u);return p?u?bg(UC(p)):p:ve}return u?bg(n)||ve:n}function ELe(n,a){let c=pU(a,pl(n));return!!c&&Js(c,16387)}function Ott(n){var a;if(vh(n))return;let c=R6(n);if(c&&oc(c)){dl(n,_.A_return_statement_cannot_be_used_inside_a_class_static_block);return}if(!c){dl(n,_.A_return_statement_can_only_be_used_within_a_function_body);return}let u=ip(c),p=qo(u),h=pl(c);if(U||n.expression||p.flags&131072){let T=n.expression?Ic(n.expression):Oe;if(c.kind===175)n.expression&&Fe(n,_.Setters_cannot_return_a_value);else if(c.kind===173)n.expression&&!Ly(T,p,n,n.expression)&&Fe(n,_.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(Hx(c)){let k=(a=pU(p,h))!=null?a:p,O=h&2?RD(T,!1,n,_.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):T;k&&Ly(O,k,n,n.expression)}}else c.kind!==173&&Y.noImplicitReturns&&!ELe(c,p)&&Fe(n,_.Not_all_code_paths_return_a_value)}function Ntt(n){vh(n)||n.flags&32768&&dl(n,_.with_statements_are_not_allowed_in_an_async_function_block),Yi(n.expression);let a=Gn(n);if(!l0(a)){let c=Pg(a,n.pos).start,u=n.statement.pos;u0(a,c,u-c,_.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}function Ptt(n){vh(n);let a,c=!1,u=Yi(n.expression);mn(n.caseBlock.clauses,p=>{p.kind===293&&!c&&(a===void 0?a=p:(an(p,_.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),c=!0)),p.kind===292&&i(h(p)),mn(p.statements,qa),Y.noFallthroughCasesInSwitch&&p.fallthroughFlowNode&&IM(p.fallthroughFlowNode)&&Fe(p,_.Fallthrough_case_in_switch);function h(T){return()=>{let k=Yi(T.expression);yie(u,k)||e2e(k,u,T.expression,void 0)}}}),n.caseBlock.locals&&Dy(n.caseBlock)}function Mtt(n){vh(n)||jn(n.parent,a=>Ia(a)?"quit":a.kind===253&&a.label.escapedText===n.label.escapedText?(an(n.label,_.Duplicate_label_0,Qc(n.label)),!0):!1),qa(n.statement)}function Ftt(n){vh(n)||Re(n.expression)&&!n.expression.escapedText&&ait(n,_.Line_break_not_permitted_here),n.expression&&Yi(n.expression)}function Gtt(n){vh(n),dU(n.tryBlock);let a=n.catchClause;if(a){if(a.variableDeclaration){let c=a.variableDeclaration;ZM(c);let u=Cl(c);if(u){let p=$r(u);p&&!(p.flags&3)&&dl(u,_.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified)}else if(c.initializer)dl(c.initializer,_.Catch_clause_variable_cannot_have_an_initializer);else{let p=a.block.locals;p&&TI(a.locals,h=>{let T=p.get(h);T?.valueDeclaration&&T.flags&2&&an(T.valueDeclaration,_.Cannot_redeclare_identifier_0_in_catch_clause,h)})}}dU(a.block)}n.finallyBlock&&dU(n.finallyBlock)}function mU(n,a,c){let u=tu(n);if(u.length===0)return;for(let h of Ey(n))c&&h.flags&4194304||TLe(n,h,TC(h,8576,!0),Gv(h));let p=a.valueDeclaration;if(p&&Yr(p)){for(let h of p.members)if(!Ca(h)&&!Ux(h)){let T=fr(h);TLe(n,T,au(h.name.expression),Gv(T))}}if(u.length>1)for(let h of u)Btt(n,h)}function TLe(n,a,c,u){let p=a.valueDeclaration,h=sa(p);if(h&&pi(h))return;let T=Zte(n,c),k=Ur(n)&2?nc(n.symbol,261):void 0,O=p&&p.kind===223||h&&h.kind===164?p:void 0,H=ju(a)===n.symbol?p:void 0;for(let J of T){let de=J.declaration&&ju(fr(J.declaration))===n.symbol?J.declaration:void 0,Ae=H||de||(k&&!vt(_o(n),xe=>!!qb(xe,a.escapedName)&&!!fg(xe,J.keyType))?k:void 0);if(Ae&&!to(u,J.type)){let xe=hE(Ae,_.Property_0_of_type_1_is_not_assignable_to_2_index_type_3,E(a),Ee(u),Ee(J.keyType),Ee(J.type));O&&Ae!==O&&Ao(xe,hr(O,_._0_is_declared_here,E(a))),Lo.add(xe)}}}function Btt(n,a){let c=a.declaration,u=Zte(n,a.keyType),p=Ur(n)&2?nc(n.symbol,261):void 0,h=c&&ju(fr(c))===n.symbol?c:void 0;for(let T of u){if(T===a)continue;let k=T.declaration&&ju(fr(T.declaration))===n.symbol?T.declaration:void 0,O=h||k||(p&&!vt(_o(n),H=>!!Cm(H,a.keyType)&&!!fg(H,T.keyType))?p:void 0);O&&!to(a.type,T.type)&&Fe(O,_._0_index_type_1_is_not_assignable_to_2_index_type_3,Ee(a.keyType),Ee(a.type),Ee(T.keyType),Ee(T.type))}}function HC(n,a){switch(n.escapedText){case"any":case"unknown":case"never":case"number":case"bigint":case"boolean":case"string":case"symbol":case"void":case"object":Fe(n,a,n.escapedText)}}function Utt(n){R>=1&&n.escapedText==="Object"&&(ie<5||Gn(n).impliedNodeFormat===1)&&Fe(n,_.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0,F8[ie])}function Vtt(n){let a=Pr(A0(n),xp);if(!Fn(a))return;let c=Yn(n),u=new Set,p=new Set;if(mn(n.parameters,({name:T},k)=>{Re(T)&&u.add(T.escapedText),La(T)&&p.add(k)}),nne(n)){let T=a.length-1,k=a[T];c&&k&&Re(k.name)&&k.typeExpression&&k.typeExpression.type&&!u.has(k.name.escapedText)&&!p.has(T)&&!_f($r(k.typeExpression.type))&&Fe(k.name,_.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type,vr(k.name))}else mn(a,({name:T,isNameFirst:k},O)=>{p.has(O)||Re(T)&&u.has(T.escapedText)||(Yu(T)?c&&Fe(T,_.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1,qd(T),qd(T.left)):k||Ip(c,T,_.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name,vr(T)))})}function t8(n){let a=!1;if(n)for(let u=0;u<n.length;u++){let p=n[u];BIe(p),i(c(p,u))}function c(u,p){return()=>{u.default?(a=!0,jtt(u.default,n,p)):a&&Fe(u,_.Required_type_parameters_may_not_follow_optional_type_parameters);for(let h=0;h<p;h++)n[h].symbol===u.symbol&&Fe(u.name,_.Duplicate_identifier_0,os(u.name))}}}function jtt(n,a,c){u(n);function u(p){if(p.kind===180){let h=dne(p);if(h.flags&262144)for(let T=c;T<a.length;T++)h.symbol===fr(a[T])&&Fe(p,_.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters)}pa(p,u)}}function SLe(n){if(n.declarations&&n.declarations.length===1)return;let a=Ai(n);if(!a.typeParametersChecked){a.typeParametersChecked=!0;let c=Ytt(n);if(!c||c.length<=1)return;let u=gs(n);if(!xLe(c,u.localTypeParameters,jy)){let p=E(n);for(let h of c)Fe(h.name,_.All_declarations_of_0_must_have_identical_type_parameters,p)}}}function xLe(n,a,c){let u=Fn(a),p=Mp(a);for(let h of n){let T=c(h),k=T.length;if(k<p||k>u)return!1;for(let O=0;O<k;O++){let H=T[O],J=a[O];if(H.name.escapedText!==J.symbol.escapedName)return!1;let de=EA(H),Ae=de&&$r(de),xe=eu(J);if(Ae&&xe&&!ph(Ae,xe))return!1;let tt=H.default&&$r(H.default),It=jE(J);if(tt&&It&&!ph(tt,It))return!1}}return!0}function ALe(n){var a;let c=!$&&R<99&&O0(!1,n),u=R<=9,p=!fe||R<9;if(c||u)for(let h of n.members){if(c&&AH(!1,h,n))return(a=Sl(Uy(n)))!=null?a:n;if(u){if(oc(h))return h;if(Ca(h)&&(xu(h)||p&&sN(h)))return h}}}function Htt(n){var a;if(n.name)return;let c=rde(n);if(!VH(c))return;let u=!$&&R<99,p;u&&O0(!1,n)?p=(a=Sl(Uy(n)))!=null?a:n:p=ALe(n),p&&(Hc(p,8388608),(yl(c)||Na(c)||Wo(c))&&ts(c.name)&&Hc(p,16777216))}function Wtt(n){return CLe(n),zC(n),Htt(n),zn(fr(n))}function ztt(n){mn(n.members,qa),Dy(n)}function Jtt(n){let a=wr(n.modifiers,du);$&&a&&vt(n.members,c=>zc(c)&&xu(c))&&an(a,_.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator),!n.name&&!Mr(n,1024)&&dl(n,_.A_class_declaration_without_the_default_modifier_must_have_a_name),CLe(n),mn(n.members,qa),Dy(n)}function CLe(n){Lrt(n),XM(n),jC(n,n.name),t8(jy(n)),kD(n);let a=fr(n),c=gs(a),u=uf(c),p=zn(a);SLe(a),cU(a),oet(n),!!(n.flags&16777216)||set(n);let T=hp(n);if(T){mn(T.typeArguments,qa),R<2&&Hc(T.parent,1);let H=P0(n);H&&H!==T&&Yi(H.expression);let J=_o(c);J.length&&i(()=>{let de=J[0],Ae=Wr(c),xe=Eu(Ae);if(qtt(xe,T),qa(T.expression),vt(T.typeArguments)){mn(T.typeArguments,qa);for(let It of Or(xe,T.typeArguments,T))if(!JIe(T,It.typeParameters))break}let tt=uf(de,c.thisType);if(wu(u,tt,void 0)?wu(p,KAe(xe),n.name||n,_.Class_static_side_0_incorrectly_extends_base_class_static_side_1):kLe(n,u,tt,_.Class_0_incorrectly_extends_base_class_1),Ae.flags&8650752&&(XP(p)?xa(Ae,1).some(Tn=>Tn.flags&4)&&!Mr(n,256)&&Fe(n.name||n,_.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract):Fe(n.name||n,_.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any)),!(xe.symbol&&xe.symbol.flags&32)&&!(Ae.flags&8650752)){let It=xr(xe,T.typeArguments,T);mn(It,Tn=>!cp(Tn.declaration)&&!ph(qo(Tn),de))&&Fe(T.expression,_.Base_constructors_must_all_have_the_same_return_type)}$tt(c,de)})}Ktt(n,c,u,p);let k=JA(n);if(k)for(let H of k)(!bc(H.expression)||Jl(H.expression))&&Fe(H.expression,_.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments),Aie(H),i(O(H));i(()=>{mU(c,a),mU(p,a,!0),Tie(n),ent(n)});function O(H){return()=>{let J=O_($r(H));if(!Ro(J))if(xm(J)){let de=J.symbol&&J.symbol.flags&32?_.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:_.Class_0_incorrectly_implements_interface_1,Ae=uf(J,c.thisType);wu(u,Ae,void 0)||kLe(n,u,Ae,de)}else Fe(H,_.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members)}}}function Ktt(n,a,c,u){let h=hp(n)&&_o(a),T=h?.length?uf(Vo(h),a.thisType):void 0,k=Wr(a);for(let O of n.members)aW(O)||(Ec(O)&&mn(O.parameters,H=>{Ad(H,O)&&ILe(n,u,k,T,a,c,H,!0)}),ILe(n,u,k,T,a,c,O,!1))}function ILe(n,a,c,u,p,h,T,k,O=!0){let H=T.name&&Zf(T.name)||Zf(T);return H?LLe(n,a,c,u,p,h,iW(T),B0(T),Ca(T),k,fc(H),O?T:void 0):0}function LLe(n,a,c,u,p,h,T,k,O,H,J,de){let Ae=Yn(n),xe=!!(n.flags&16777216);if(u&&(T||Y.noImplicitOverride)){let tt=Bs(J),It=O?a:h,Tn=O?c:u,un=ja(It,tt),Nn=ja(Tn,tt),en=Ee(u);if(un&&!Nn&&T){if(de){let cn=UCe(J,Tn);cn?Fe(de,Ae?_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1,en,E(cn)):Fe(de,Ae?_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,en)}return 2}else if(un&&Nn?.declarations&&Y.noImplicitOverride&&!xe){let cn=vt(Nn.declarations,B0);if(T)return 0;if(cn){if(k&&cn)return de&&Fe(de,_.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0,en),1}else{if(de){let rr=H?Ae?_.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:_.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:Ae?_.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:_.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0;Fe(de,rr,en)}return 1}}}else if(T){if(de){let tt=Ee(p);Fe(de,Ae?_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:_.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class,tt)}return 2}return 0}function kLe(n,a,c,u){let p=!1;for(let h of n.members){if(Ca(h))continue;let T=h.name&&Zf(h.name)||Zf(h);if(T){let k=ja(a,T.escapedName),O=ja(c,T.escapedName);if(k&&O){let H=()=>da(void 0,_.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,E(T),Ee(a),Ee(c));wu(zn(k),zn(O),h.name||h,void 0,H)||(p=!0)}}}p||wu(a,c,n.name||n,u)}function qtt(n,a){let c=xa(n,1);if(c.length){let u=c[0].declaration;if(u&&cd(u,8)){let p=Nh(n.symbol);Hie(a,p)||Fe(a,_.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,rh(n.symbol))}}}function Xtt(n,a,c){if(!a.name)return 0;let u=fr(n),p=gs(u),h=uf(p),T=zn(u),O=hp(n)&&_o(p),H=O?.length?uf(Vo(O),p.thisType):void 0,J=Wr(p),de=a.parent?iW(a):Mr(a,16384);return LLe(n,T,J,H,p,h,de,B0(a),Ca(a),!1,fc(c))}function oA(n){return ac(n)&1?n.links.target:n}function Ytt(n){return Pr(n.declarations,a=>a.kind===260||a.kind===261)}function $tt(n,a){var c,u,p,h;let T=Jo(a);e:for(let k of T){let O=oA(k);if(O.flags&4194304)continue;let H=qb(n,O.escapedName);if(!H)continue;let J=oA(H),de=Ef(O);if(L.assert(!!J,"derived should point to something, even if it is the base class' declaration."),J===O){let Ae=Nh(n.symbol);if(de&256&&(!Ae||!Mr(Ae,256))){for(let xe of _o(n)){if(xe===a)continue;let tt=qb(xe,O.escapedName),It=tt&&oA(tt);if(It&&It!==O)continue e}Ae.kind===228?Fe(Ae,_.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1,E(k),Ee(a)):Fe(Ae,_.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2,Ee(n),E(k),Ee(a))}}else{let Ae=Ef(J);if(de&8||Ae&8)continue;let xe,tt=O.flags&98308,It=J.flags&98308;if(tt&&It){if((ac(O)&6?(c=O.declarations)!=null&&c.some(Nn=>DLe(Nn,de)):(u=O.declarations)!=null&&u.every(Nn=>DLe(Nn,de)))||ac(O)&262144||J.valueDeclaration&&ar(J.valueDeclaration))continue;let Tn=tt!==4&&It===4;if(Tn||tt===4&&It!==4){let Nn=Tn?_._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:_._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor;Fe(sa(J.valueDeclaration)||J.valueDeclaration,Nn,E(O),Ee(a),Ee(n))}else if(fe){let Nn=(p=J.declarations)==null?void 0:p.find(en=>en.kind===169&&!en.initializer);if(Nn&&!(J.flags&33554432)&&!(de&256)&&!(Ae&256)&&!((h=J.declarations)!=null&&h.some(en=>!!(en.flags&16777216)))){let en=wv(Nh(n.symbol)),cn=Nn.name;if(Nn.exclamationToken||!en||!Re(cn)||!U||!RLe(cn,n,en)){let rr=_.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration;Fe(sa(J.valueDeclaration)||J.valueDeclaration,rr,E(O),Ee(a))}}}continue}else if(jre(O)){if(jre(J)||J.flags&4)continue;L.assert(!!(J.flags&98304)),xe=_.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor}else O.flags&98304?xe=_.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:xe=_.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function;Fe(sa(J.valueDeclaration)||J.valueDeclaration,xe,Ee(a),E(O),Ee(n))}}}function DLe(n,a){return a&256&&(!Na(n)||!n.initializer)||ku(n.parent)}function Qtt(n,a,c){if(!Fn(a))return c;let u=new Map;mn(c,p=>{u.set(p.escapedName,p)});for(let p of a){let h=Jo(uf(p,n.thisType));for(let T of h){let k=u.get(T.escapedName);k&&T.parent===k.parent&&u.delete(T.escapedName)}}return lo(u.values())}function Ztt(n,a){let c=_o(n);if(c.length<2)return!0;let u=new Map;mn(Nte(n).declaredProperties,h=>{u.set(h.escapedName,{prop:h,containingType:n})});let p=!0;for(let h of c){let T=Jo(uf(h,n.thisType));for(let k of T){let O=u.get(k.escapedName);if(!O)u.set(k.escapedName,{prop:k,containingType:h});else if(O.containingType!==n&&!hXe(O.prop,k)){p=!1;let J=Ee(O.containingType),de=Ee(h),Ae=da(void 0,_.Named_property_0_of_types_1_and_2_are_not_identical,E(k),J,de);Ae=da(Ae,_.Interface_0_cannot_simultaneously_extend_types_1_and_2,Ee(n),J,de),Lo.add(Lh(Gn(a),a,Ae))}}}return p}function ent(n){if(!U||!_e||n.flags&16777216)return;let a=wv(n);for(let c of n.members)if(!(uu(c)&2)&&!Ca(c)&&wLe(c)){let u=c.name;if(Re(u)||pi(u)||ts(u)){let p=zn(fr(c));p.flags&3||xC(p)||(!a||!RLe(u,p,a))&&Fe(c.name,_.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor,os(u))}}}function wLe(n){return n.kind===169&&!B0(n)&&!n.exclamationToken&&!n.initializer}function tnt(n,a,c,u,p){for(let h of c)if(h.pos>=u&&h.pos<=p){let T=D.createPropertyAccessExpression(D.createThis(),n);go(T.expression,T),go(T,h),T.flowNode=h.returnFlowNode;let k=Yv(T,a,gg(a));if(!xC(k))return!0}return!1}function RLe(n,a,c){let u=ts(n)?D.createElementAccessExpression(D.createThis(),n.expression):D.createPropertyAccessExpression(D.createThis(),n);go(u.expression,u),go(u,c),u.flowNode=c.returnFlowNode;let p=Yv(u,a,gg(a));return!xC(p)}function nnt(n){km(n)||Prt(n),t8(n.typeParameters),i(()=>{HC(n.name,_.Interface_name_cannot_be_0),kD(n);let a=fr(n);SLe(a);let c=nc(a,261);if(n===c){let u=gs(a),p=uf(u);if(Ztt(u,n.name)){for(let h of _o(u))wu(p,uf(h,u.thisType),n.name,_.Interface_0_incorrectly_extends_interface_1);mU(u,a)}}jIe(n)}),mn(PI(n),a=>{(!bc(a.expression)||Jl(a.expression))&&Fe(a.expression,_.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments),Aie(a)}),mn(n.members,qa),i(()=>{Tie(n),Dy(n)})}function rnt(n){km(n),HC(n.name,_.Type_alias_name_cannot_be_0),kD(n),t8(n.typeParameters),n.type.kind===139?(!rN.has(n.name.escapedText)||Fn(n.typeParameters)!==1)&&Fe(n.type,_.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types):(qa(n.type),Dy(n))}function OLe(n){let a=Rr(n);if(!(a.flags&1024)){a.flags|=1024;let c=0;for(let u of n.members){let p=int(u,c);Rr(u).enumMemberValue=p,c=typeof p=="number"?p+1:void 0}}}function int(n,a){if(Vw(n.name))Fe(n.name,_.Computed_property_names_are_not_allowed_in_enums);else{let c=wA(n.name);Wm(c)&&!cL(c)&&Fe(n.name,_.An_enum_member_cannot_have_a_numeric_name)}if(n.initializer)return ant(n);if(!(n.parent.flags&16777216&&!R0(n.parent))){if(a!==void 0)return a;Fe(n.name,_.Enum_member_must_have_initializer)}}function ant(n){let a=R0(n.parent),c=n.initializer,u=WC(c,n);return u!==void 0?a&&typeof u=="number"&&!isFinite(u)&&Fe(c,isNaN(u)?_.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:_.const_enum_member_initializer_was_evaluated_to_a_non_finite_value):a?Fe(c,_.const_enum_member_initializers_must_be_constant_expressions):n.parent.flags&16777216?Fe(c,_.In_ambient_enum_declarations_member_initializer_must_be_constant_expression):wu(Yi(c),rt,c,_.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values),u}function WC(n,a){switch(n.kind){case 221:let c=WC(n.operand,a);if(typeof c=="number")switch(n.operator){case 39:return c;case 40:return-c;case 54:return~c}break;case 223:let u=WC(n.left,a),p=WC(n.right,a);if(typeof u=="number"&&typeof p=="number")switch(n.operatorToken.kind){case 51:return u|p;case 50:return u&p;case 48:return u>>p;case 49:return u>>>p;case 47:return u<<p;case 52:return u^p;case 41:return u*p;case 43:return u/p;case 39:return u+p;case 40:return u-p;case 44:return u%p;case 42:return u**p}else if((typeof u=="string"||typeof u=="number")&&(typeof p=="string"||typeof p=="number")&&n.operatorToken.kind===39)return""+u+p;break;case 10:case 14:return n.text;case 225:return ont(n,a);case 8:return eae(n),+n.text;case 214:return WC(n.expression,a);case 79:if(cL(n.escapedText))return+n.escapedText;case 208:if(bc(n)){let T=uc(n,111551,!0);if(T){if(T.flags&8)return NLe(n,T,a);if(wC(T)){let k=T.valueDeclaration;if(k&&!k.type&&k.initializer&&k!==a&&$h(k,a))return WC(k.initializer,k)}}}break;case 209:let h=n.expression;if(bc(h)&&es(n.argumentExpression)){let T=uc(h,111551,!0);if(T&&T.flags&384){let k=Bs(n.argumentExpression.text),O=T.exports.get(k);if(O)return NLe(n,O,a)}}break}}function NLe(n,a,c){let u=a.valueDeclaration;if(!u||u===c){Fe(n,_.Property_0_is_used_before_being_assigned,E(a));return}return $h(u,c)?xU(u):(Fe(n,_.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums),0)}function ont(n,a){let c=n.head.text;for(let u of n.templateSpans){let p=WC(u.expression,a);if(p===void 0)return;c+=p,c+=u.literal.text}return c}function snt(n){i(()=>cnt(n))}function cnt(n){km(n),jC(n,n.name),kD(n),n.members.forEach(lnt),OLe(n);let a=fr(n),c=nc(a,n.kind);if(n===c){if(a.declarations&&a.declarations.length>1){let p=R0(n);mn(a.declarations,h=>{hb(h)&&R0(h)!==p&&Fe(sa(h),_.Enum_declarations_must_all_be_const_or_non_const)})}let u=!1;mn(a.declarations,p=>{if(p.kind!==263)return!1;let h=p;if(!h.members.length)return!1;let T=h.members[0];T.initializer||(u?Fe(T.name,_.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):u=!0)})}}function lnt(n){pi(n.name)&&Fe(n,_.An_enum_member_cannot_be_named_with_a_private_identifier),n.initializer&&Yi(n.initializer)}function unt(n){let a=n.declarations;if(a){for(let c of a)if((c.kind===260||c.kind===259&&Pf(c.body))&&!(c.flags&16777216))return c}}function dnt(n,a){let c=tm(n),u=tm(a);return gm(c)?gm(u):gm(u)?!1:c===u}function fnt(n){n.body&&(qa(n.body),mp(n)||Dy(n)),i(a);function a(){var c,u;let p=mp(n),h=n.flags&16777216;p&&!h&&Fe(n.name,_.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);let T=lu(n),k=T?_.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:_.A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module;if(n8(n,k))return;km(n)||!h&&n.name.kind===10&&an(n.name,_.Only_ambient_modules_can_use_quoted_names),Re(n.name)&&jC(n,n.name),kD(n);let O=fr(n);if(O.flags&512&&!h&&fK(n,U0(Y))){if(d_(Y)&&!Gn(n).externalModuleIndicator&&Fe(n.name,_.Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement,Rt),((c=O.declarations)==null?void 0:c.length)>1){let H=unt(O);H&&(Gn(n)!==Gn(H)?Fe(n.name,_.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):n.pos<H.pos&&Fe(n.name,_.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged));let J=nc(O,260);J&&dnt(n,J)&&(Rr(n).flags|=2048)}if(Y.verbatimModuleSyntax&&n.parent.kind===308&&(ie===1||n.parent.impliedNodeFormat===1)){let H=(u=n.modifiers)==null?void 0:u.find(J=>J.kind===93);H&&Fe(H,_.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled)}}if(T)if(D0(n)){if((p||fr(n).flags&33554432)&&n.body)for(let J of n.body.statements)Bie(J,p)}else gm(n.parent)?p?Fe(n.name,_.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations):fl(l_(n.name))&&Fe(n.name,_.Ambient_module_declaration_cannot_specify_relative_module_name):p?Fe(n.name,_.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations):Fe(n.name,_.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces)}}function Bie(n,a){switch(n.kind){case 240:for(let u of n.declarationList.declarations)Bie(u,a);break;case 274:case 275:dl(n,_.Exports_and_export_assignments_are_not_permitted_in_module_augmentations);break;case 268:case 269:dl(n,_.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module);break;case 205:case 257:let c=n.name;if(La(c)){for(let u of c.elements)Bie(u,a);break}case 260:case 263:case 259:case 261:case 264:case 262:if(a)return;break}}function _nt(n){switch(n.kind){case 79:return n;case 163:do n=n.left;while(n.kind!==79);return n;case 208:do{if(Bm(n.expression)&&!pi(n.name))return n.name;n=n.expression}while(n.kind!==79);return n}}function Uie(n){let a=UA(n);if(!a||rc(a))return!1;if(!yo(a))return Fe(a,_.String_literal_expected),!1;let c=n.parent.kind===265&&lu(n.parent.parent);if(n.parent.kind!==308&&!c)return Fe(a,n.kind===275?_.Export_declarations_are_not_permitted_in_a_namespace:_.Import_declarations_in_a_namespace_cannot_reference_a_module),!1;if(c&&fl(a.text)&&!Td(n))return Fe(n,_.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name),!1;if(!Nl(n)&&n.assertClause){let u=!1;for(let p of n.assertClause.elements)yo(p.value)||(u=!0,Fe(p.value,_.Import_assertion_values_must_be_string_literal_expressions));return!u}return!0}function hU(n){var a,c,u,p,h;let T=fr(n),k=wc(T);if(k!==Ht){if(T=No(T.exportSymbol||T),Yn(n)&&!(k.flags&111551)&&!I0(n)){let J=eS(n)?n.propertyName||n.name:zl(n)?n.name:n;if(L.assert(n.kind!==277),n.kind===278){let de=Fe(J,_.Types_cannot_appear_in_export_declarations_in_JavaScript_files),Ae=(c=(a=Gn(n).symbol)==null?void 0:a.exports)==null?void 0:c.get((n.propertyName||n.name).escapedText);if(Ae===k){let xe=(u=Ae.declarations)==null?void 0:u.find(IA);xe&&Ao(de,hr(xe,_._0_is_automatically_exported_here,Gi(Ae.escapedName)))}}else{L.assert(n.kind!==257);let de=jn(n,Kp(gl,Nl)),Ae=(h=de&&((p=iR(de))==null?void 0:p.text))!=null?h:"...",xe=Gi(Re(J)?J.escapedText:T.escapedName);Fe(J,_._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation,xe,`import("${Ae}").${xe}`)}return}let O=Fl(k),H=(T.flags&1160127?111551:0)|(T.flags&788968?788968:0)|(T.flags&1920?1920:0);if(O&H){let J=n.kind===278?_.Export_declaration_conflicts_with_exported_declaration_of_0:_.Import_declaration_conflicts_with_local_declaration_of_0;Fe(n,J,E(T))}if(d_(Y)&&!I0(n)&&!(n.flags&16777216)){let J=nd(T),de=!(O&111551);if(de||J)switch(n.kind){case 270:case 273:case 268:{if(Y.preserveValueImports||Y.verbatimModuleSyntax){L.assertIsDefined(n.name,"An ImportClause with a symbol should have a name");let Ae=Y.verbatimModuleSyntax&&GA(n)?_.An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:de?Y.verbatimModuleSyntax?_._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:_._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:Y.verbatimModuleSyntax?_._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:_._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled,xe=vr(n.kind===273&&n.propertyName||n.name);v1(Fe(n,Ae,xe),de?void 0:J,xe)}de&&n.kind===268&&cd(n,1)&&Fe(n,_.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled,Rt);break}case 278:if(Y.verbatimModuleSyntax||Gn(J)!==Gn(n)){let Ae=vr(n.propertyName||n.name),xe=de?Fe(n,_.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type,Rt):Fe(n,_._0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled,Ae,Rt);v1(xe,de?void 0:J,Ae);break}}Y.verbatimModuleSyntax&&n.kind!==268&&!Yn(n)&&(ie===1||Gn(n).impliedNodeFormat===1)&&Fe(n,_.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled)}if($u(n)){let J=MLe(T,n);PLe(J)&&J.declarations&&Xh(n,J.declarations,J.escapedName)}}}function PLe(n){return!!n.declarations&&Ji(n.declarations,a=>!!(G_(a)&268435456))}function MLe(n,a){if(!(n.flags&2097152))return n;let c=wc(n);if(c===Ht)return c;for(;n.flags&2097152;){let u=Mre(n);if(u){if(u===c)break;if(u.declarations&&Fn(u.declarations))if(PLe(u)){Xh(a,u.declarations,u.escapedName);break}else{if(n===c)break;n=u}}else break}return c}function gU(n){jC(n,n.name),hU(n),n.kind===273&&vr(n.propertyName||n.name)==="default"&&f_(Y)&&ie!==4&&(ie<5||Gn(n).impliedNodeFormat===1)&&Hc(n,131072)}function FLe(n){var a;if(n.assertClause){let c=oq(n),u=qS(n.assertClause,c?an:void 0);if(c&&u)return TR()||an(n.assertClause,_.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next),$s(Y)!==3&&$s(Y)!==99?an(n.assertClause,_.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext):void 0;if((ie===199&&n.moduleSpecifier&&ty(n.moduleSpecifier))!==99&&ie!==99)return an(n.assertClause,ie===199?_.Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:_.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext);if(gl(n)?(a=n.importClause)!=null&&a.isTypeOnly:n.isTypeOnly)return an(n.assertClause,_.Import_assertions_cannot_be_used_with_type_only_imports_or_exports);if(u)return an(n.assertClause,_.resolution_mode_can_only_be_set_for_type_only_imports)}}function pnt(n){if(!n8(n,Yn(n)?_.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:_.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!km(n)&&n4(n)&&dl(n,_.An_import_declaration_cannot_have_modifiers),Uie(n)){let a=n.importClause;a&&!sit(a)&&(a.name&&gU(a),a.namedBindings&&(a.namedBindings.kind===271?(gU(a.namedBindings),ie!==4&&(ie<5||Gn(n).impliedNodeFormat===1)&&f_(Y)&&Hc(n,65536)):Gl(n,n.moduleSpecifier)&&mn(a.namedBindings.elements,gU)))}FLe(n)}}function mnt(n){if(!n8(n,Yn(n)?_.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:_.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)&&(km(n),GA(n)||Uie(n)))if(gU(n),Mr(n,1)&&TE(n),n.moduleReference.kind!==280){let a=wc(fr(n));if(a!==Ht){let c=Fl(a);if(c&111551){let u=Yd(n.moduleReference);uc(u,112575).flags&1920||Fe(u,_.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,os(u))}c&788968&&HC(n.name,_.Import_name_cannot_be_0)}n.isTypeOnly&&an(n,_.An_import_alias_cannot_use_import_type)}else ie>=5&&Gn(n).impliedNodeFormat===void 0&&!n.isTypeOnly&&!(n.flags&16777216)&&an(n,_.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}function hnt(n){if(!n8(n,Yn(n)?_.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:_.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)){if(!km(n)&&Wce(n)&&dl(n,_.An_export_declaration_cannot_have_modifiers),n.moduleSpecifier&&n.exportClause&&h_(n.exportClause)&&Fn(n.exportClause.elements)&&R===0&&Hc(n,4194304),gnt(n),!n.moduleSpecifier||Uie(n))if(n.exportClause&&!qm(n.exportClause)){mn(n.exportClause.elements,Snt);let a=n.parent.kind===265&&lu(n.parent.parent),c=!a&&n.parent.kind===265&&!n.moduleSpecifier&&n.flags&16777216;n.parent.kind!==308&&!a&&!c&&Fe(n,_.Export_declarations_are_not_permitted_in_a_namespace)}else{let a=Gl(n,n.moduleSpecifier);a&&AE(a)?Fe(n.moduleSpecifier,_.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,E(a)):n.exportClause&&hU(n.exportClause),ie!==4&&(ie<5||Gn(n).impliedNodeFormat===1)&&(n.exportClause?f_(Y)&&Hc(n,65536):Hc(n,32768))}FLe(n)}}function gnt(n){var a;return n.isTypeOnly&&((a=n.exportClause)==null?void 0:a.kind)===276?pke(n.exportClause):!1}function n8(n,a){let c=n.parent.kind===308||n.parent.kind===265||n.parent.kind===264;return c||dl(n,a),!c}function ynt(n){return z6(n,a=>!!fr(a).isReferenced)}function vnt(n){return z6(n,a=>!!Ai(fr(a)).constEnumReferenced)}function bnt(n){return gl(n)&&n.importClause&&!n.importClause.isTypeOnly&&ynt(n.importClause)&&!SU(n.importClause,!0)&&!vnt(n.importClause)}function Ent(n){return Nl(n)&&um(n.moduleReference)&&!n.isTypeOnly&&fr(n).isReferenced&&!SU(n,!1)&&!Ai(fr(n)).constEnumReferenced}function Tnt(n){for(let a of n.statements)(bnt(a)||Ent(a))&&Fe(a,_.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error)}function Snt(n){if(hU(n),__(Y)&&ME(n.propertyName||n.name,!0),n.parent.parent.moduleSpecifier)f_(Y)&&ie!==4&&(ie<5||Gn(n).impliedNodeFormat===1)&&vr(n.propertyName||n.name)==="default"&&Hc(n,131072);else{let a=n.propertyName||n.name,c=zs(a,a.escapedText,2998271,void 0,void 0,!0);if(c&&(c===Le||c===Ye||c.declarations&&gm(FE(c.declarations[0]))))Fe(a,_.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,vr(a));else{!n.isTypeOnly&&!n.parent.parent.isTypeOnly&&TE(n);let u=c&&(c.flags&2097152?wc(c):c);(!u||Fl(u)&111551)&&Ic(n.propertyName||n.name)}}}function xnt(n){let a=n.isExportEquals?_.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:_.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration;if(n8(n,a))return;let c=n.parent.kind===308?n.parent:n.parent.parent;if(c.kind===264&&!lu(c)){n.isExportEquals?Fe(n,_.An_export_assignment_cannot_be_used_in_a_namespace):Fe(n,_.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);return}!km(n)&&n4(n)&&dl(n,_.An_export_assignment_cannot_have_modifiers);let u=Cl(n);u&&wu(Ic(n.expression),$r(u),n.expression);let p=!n.isExportEquals&&!(n.flags&16777216)&&Y.verbatimModuleSyntax&&(ie===1||Gn(n).impliedNodeFormat===1);if(n.expression.kind===79){let h=n.expression,T=tp(uc(h,67108863,!0,!0,n));T?(FB(T,h),Fl(T)&111551?(Ic(h),!p&&Y.verbatimModuleSyntax&&nd(T,111551)&&Fe(h,n.isExportEquals?_.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:_.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,vr(h))):!p&&Y.verbatimModuleSyntax&&Fe(h,n.isExportEquals?_.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:_.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,vr(h))):Ic(h),__(Y)&&ME(h,!0)}else Ic(n.expression);p&&Fe(n,_.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled),GLe(c),n.flags&16777216&&!bc(n.expression)&&an(n.expression,_.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),n.isExportEquals&&(ie>=5&&(n.flags&16777216&&Gn(n).impliedNodeFormat===99||!(n.flags&16777216)&&Gn(n).impliedNodeFormat!==1)?an(n,_.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):ie===4&&!(n.flags&16777216)&&an(n,_.Export_assignment_is_not_supported_when_module_flag_is_system))}function Ant(n){return Ld(n.exports,(a,c)=>c!=="export=")}function GLe(n){let a=fr(n),c=Ai(a);if(!c.exportsChecked){let u=a.exports.get("export=");if(u&&Ant(a)){let h=Uu(u)||u.valueDeclaration;h&&!Td(h)&&!Yn(h)&&Fe(h,_.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}let p=sh(a);p&&p.forEach(({declarations:h,flags:T},k)=>{if(k==="__export"||T&1920)return;let O=Oy(h,g8(O_e,y8(ku)));if(!(T&524288&&O<=2)&&O>1&&!yU(h))for(let H of h)D_e(H)&&Lo.add(hr(H,_.Cannot_redeclare_exported_variable_0,Gi(k)))}),c.exportsChecked=!0}}function yU(n){return n&&n.length>1&&n.every(a=>Yn(a)&&Us(a)&&(TT(a.expression)||Bm(a.expression)))}function qa(n){if(n){let a=P;P=n,A=0,Cnt(n),P=a}}function Cnt(n){lR(n)&&mn(n.jsDoc,({comment:c,tags:u})=>{BLe(c),mn(u,p=>{BLe(p.comment),Yn(n)&&qa(p)})});let a=n.kind;if(o)switch(a){case 264:case 260:case 261:case 259:o.throwIfCancellationRequested()}switch(a>=240&&a<=256&&cR(n)&&n.flowNode&&!IM(n.flowNode)&&Ip(Y.allowUnreachableCode===!1,n,_.Unreachable_code_detected),a){case 165:return BIe(n);case 166:return UIe(n);case 169:return HIe(n);case 168:return cet(n);case 182:case 181:case 176:case 177:case 178:return LD(n);case 171:case 170:return uet(n);case 172:return det(n);case 173:return fet(n);case 174:case 175:return zIe(n);case 180:return Aie(n);case 179:return iet(n);case 183:return yet(n);case 184:return vet(n);case 185:return bet(n);case 186:return Eet(n);case 189:case 190:return Tet(n);case 193:case 187:case 188:return qa(n.type);case 194:return Iet(n);case 195:return Let(n);case 191:return ket(n);case 192:return Det(n);case 200:return wet(n);case 202:return Ret(n);case 199:return Oet(n);case 331:return $et(n);case 332:return Yet(n);case 349:case 341:case 343:return jet(n);case 348:return Het(n);case 347:return Wet(n);case 327:case 328:case 329:return Jet(n);case 344:return Ket(n);case 351:return qet(n);case 320:Xet(n);case 318:case 317:case 315:case 316:case 325:ULe(n),pa(n,qa);return;case 321:Int(n);return;case 312:return qa(n.type);case 336:case 338:case 337:return Qet(n);case 353:return zet(n);case 196:return xet(n);case 197:return Aet(n);case 259:return Vet(n);case 238:case 265:return dU(n);case 240:return mtt(n);case 241:return htt(n);case 242:return gtt(n);case 243:return btt(n);case 244:return Ett(n);case 245:return Ttt(n);case 246:return xtt(n);case 247:return Stt(n);case 248:case 249:return Rtt(n);case 250:return Ott(n);case 251:return Ntt(n);case 252:return Ptt(n);case 253:return Mtt(n);case 254:return Ftt(n);case 255:return Gtt(n);case 257:return Die(n);case 205:return ptt(n);case 260:return Jtt(n);case 261:return nnt(n);case 262:return rnt(n);case 263:return snt(n);case 264:return fnt(n);case 269:return pnt(n);case 268:return mnt(n);case 275:return hnt(n);case 274:return xnt(n);case 239:case 256:vh(n);return;case 279:return pet(n)}}function BLe(n){ba(n)&&mn(n,a=>{iS(a)&&qa(a)})}function ULe(n){if(!Yn(n))if(m3(n)||T2(n)){let a=Xa(m3(n)?53:57),c=n.postfix?_._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:_._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1,u=n.type,p=$r(u);an(n,c,a,Ee(T2(n)&&!(p===lt||p===yt)?Gr(Sn([p,Oe],n.postfix?void 0:ln)):p))}else an(n,_.JSDoc_types_can_only_be_used_inside_documentation_comments)}function Int(n){ULe(n),qa(n.type);let{parent:a}=n;if(ha(a)&&S2(a.parent)){To(a.parent.parameters)!==a&&Fe(n,_.A_rest_parameter_must_be_last_in_a_parameter_list);return}UT(a)||Fe(n,_.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);let c=n.parent.parent;if(!xp(c)){Fe(n,_.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);return}let u=uR(c);if(!u)return;let p=sb(c);(!p||To(p.parameters).symbol!==u)&&Fe(n,_.A_rest_parameter_must_be_last_in_a_parameter_list)}function Lnt(n){let a=$r(n.type),{parent:c}=n,u=n.parent.parent;if(UT(n.parent)&&xp(u)){let p=sb(u),h=Vz(u.parent.parent);if(p||h){let T=Os(h?u.parent.parent.typeExpression.parameters:p.parameters),k=uR(u);if(!T||k&&T.symbol===k&&Fm(T))return nu(a)}}return ha(c)&&S2(c.parent)?nu(a):ao(a)}function zC(n){let a=Gn(n),c=Rr(a);c.flags&1?L.assert(!c.deferredNodes,"A type-checked file should have no deferred nodes."):(c.deferredNodes||(c.deferredNodes=new Set),c.deferredNodes.add(n))}function knt(n){let a=Rr(n);a.deferredNodes&&a.deferredNodes.forEach(Dnt),a.deferredNodes=void 0}function Dnt(n){var a,c;(a=ai)==null||a.push(ai.Phase.Check,"checkDeferredNode",{kind:n.kind,pos:n.pos,end:n.end,path:n.tracingPath});let u=P;switch(P=n,A=0,n.kind){case 210:case 211:case 212:case 167:case 283:nA(n);break;case 215:case 216:case 171:case 170:EZe(n);break;case 174:case 175:zIe(n);break;case 228:ztt(n);break;case 165:ret(n);break;case 282:N$e(n);break;case 281:M$e(n);break}P=u,(c=ai)==null||c.pop()}function wnt(n){var a,c;(a=ai)==null||a.push(ai.Phase.Check,"checkSourceFile",{path:n.path},!0),Fs("beforeCheck"),Rnt(n),Fs("afterCheck"),hf("Check","beforeCheck","afterCheck"),(c=ai)==null||c.pop()}function VLe(n,a){if(a)return!1;switch(n){case 0:return!!Y.noUnusedLocals;case 1:return!!Y.noUnusedParameters;default:return L.assertNever(n)}}function jLe(n){return rn.get(n.path)||Je}function Rnt(n){let a=Rr(n);if(!(a.flags&1)){if(rL(n,Y,e))return;nit(n),Om(pE),Om(vv),Om(Lb),Om(bv),Om(m1),mn(n.statements,qa),qa(n.endOfFileToken),knt(n),kd(n)&&Dy(n),i(()=>{!n.isDeclarationFile&&(Y.noUnusedLocals||Y.noUnusedParameters)&&rLe(jLe(n),(c,u,p)=>{!Gw(c)&&VLe(u,!!(c.flags&16777216))&&Lo.add(p)}),n.isDeclarationFile||ntt()}),Y.importsNotUsedAsValues===2&&!n.isDeclarationFile&&Lc(n)&&Tnt(n),kd(n)&&GLe(n),pE.length&&(mn(pE,att),Om(pE)),vv.length&&(mn(vv,ott),Om(vv)),Lb.length&&(mn(Lb,utt),Om(Lb)),bv.length&&(mn(bv,ftt),Om(bv)),a.flags|=1}}function HLe(n,a){try{return o=a,Ont(n)}finally{o=void 0}}function Vie(){for(let n of r)n();r=[]}function jie(n){Vie();let a=i;i=c=>c(),wnt(n),i=a}function Ont(n){if(n){Vie();let a=Lo.getGlobalDiagnostics(),c=a.length;jie(n);let u=Lo.getDiagnostics(n.fileName),p=Lo.getGlobalDiagnostics();if(p!==a){let h=fae(a,p,ZI);return Qi(h,u)}else if(c===0&&p.length>0)return Qi(p,u);return u}return mn(e.getSourceFiles(),jie),Lo.getDiagnostics()}function Nnt(){return Vie(),Lo.getGlobalDiagnostics()}function Pnt(n,a){if(n.flags&33554432)return[];let c=Ua(),u=!1;return p(),c.delete("this"),ene(c);function p(){for(;n;){switch(Qp(n)&&n.locals&&!gm(n)&&T(n.locals,a),n.kind){case 308:if(!Lc(n))break;case 264:k(fr(n).exports,a&2623475);break;case 263:T(fr(n).exports,a&8);break;case 228:n.name&&h(n.symbol,a);case 260:case 261:u||T(vy(fr(n)),a&788968);break;case 215:n.name&&h(n.symbol,a);break}tce(n)&&h(_t,a),u=Ca(n),n=n.parent}T(Ne,a)}function h(O,H){if(XI(O)&H){let J=O.escapedName;c.has(J)||c.set(J,O)}}function T(O,H){H&&O.forEach(J=>{h(J,H)})}function k(O,H){H&&O.forEach(J=>{!nc(J,278)&&!nc(J,277)&&h(J,H)})}}function Mnt(n){return n.kind===79&&o2(n.parent)&&sa(n.parent)===n}function WLe(n){for(;n.parent.kind===163;)n=n.parent;return n.parent.kind===180}function Fnt(n){for(;n.parent.kind===208;)n=n.parent;return n.parent.kind===230}function zLe(n,a){let c,u=Zc(n);for(;u&&!(c=a(u));)u=Zc(u);return c}function Gnt(n){return!!jn(n,a=>Ec(a)&&Pf(a.body)||Na(a)?!0:Yr(a)||Ds(a)?"quit":!1)}function Hie(n,a){return!!zLe(n,c=>c===a)}function Bnt(n){for(;n.parent.kind===163;)n=n.parent;if(n.parent.kind===268)return n.parent.moduleReference===n?n.parent:void 0;if(n.parent.kind===274)return n.parent.expression===n?n.parent:void 0}function vU(n){return Bnt(n)!==void 0}function Unt(n){switch(ic(n.parent.parent)){case 1:case 3:return vd(n.parent);case 4:case 2:case 5:return fr(n.parent.parent)}}function Vnt(n){let a=n.parent;for(;Yu(a);)n=a,a=a.parent;if(a&&a.kind===202&&a.qualifier===n)return a}function JLe(n){if(Rh(n))return vd(n.parent);if(Yn(n)&&n.parent.kind===208&&n.parent===n.parent.parent.left&&!pi(n)&&!gb(n)){let a=Unt(n);if(a)return a}if(n.parent.kind===274&&bc(n)){let a=uc(n,2998271,!0);if(a&&a!==Ht)return a}else if(Cd(n)&&vU(n)){let a=cb(n,268);return L.assert(a!==void 0),ep(n,!0)}if(Cd(n)){let a=Vnt(n);if(a){$r(a);let c=Rr(n).resolvedSymbol;return c===Ht?void 0:c}}for(;Qce(n);)n=n.parent;if(Fnt(n)){let a=0;n.parent.kind===230?(a=Gm(n)?788968:111551,IR(n.parent)&&(a|=111551)):a=1920,a|=2097152;let c=bc(n)?uc(n,a):void 0;if(c)return c}if(n.parent.kind===344)return uR(n.parent);if(n.parent.kind===165&&n.parent.parent.kind===348){L.assert(!Yn(n));let a=yce(n.parent);return a&&a.symbol}if(Dh(n)){if(rc(n))return;let a=jn(n,Kp(iS,IL,gb)),c=a?901119:111551;if(n.kind===79){if(DI(n)&&OC(n)){let p=Gre(n.parent);return p===Ht?void 0:p}let u=uc(n,c,!1,!0,sb(n));if(!u&&a){let p=jn(n,Kp(Yr,ku));if(p)return r8(n,!1,fr(p))}if(u&&a){let p=dS(n);if(p&&q0(p)&&p===u.valueDeclaration)return uc(n,c,!0,!0,Gn(p))||u}return u}else{if(pi(n))return KB(n);if(n.kind===208||n.kind===163){let u=Rr(n);if(u.resolvedSymbol)return u.resolvedSymbol;if(n.kind===208){if(RCe(n,0),!u.resolvedSymbol){let p=Ic(n.expression),h=Zte(p,pg(n.name));if(h.length&&p.members){let k=R_(p).members.get("__index");if(h===tu(p))u.resolvedSymbol=k;else if(k){let O=Ai(k),H=Zi(h,de=>de.declaration),J=on(H,zo).join(",");if(O.filteredIndexSymbolCache||(O.filteredIndexSymbolCache=new Map),O.filteredIndexSymbolCache.has(J))u.resolvedSymbol=O.filteredIndexSymbolCache.get(J);else{let de=wo(131072,"__index");de.declarations=Zi(h,Ae=>Ae.declaration),de.parent=p.aliasSymbol?p.aliasSymbol:p.symbol?p.symbol:Zf(de.declarations[0].parent),O.filteredIndexSymbolCache.set(J,de),u.resolvedSymbol=O.filteredIndexSymbolCache.get(J)}}}}}else OCe(n,0);return!u.resolvedSymbol&&a&&Yu(n)?r8(n):u.resolvedSymbol}else if(gb(n))return r8(n)}}else if(WLe(n)){let a=n.parent.kind===180?788968:1920,c=uc(n,a,!1,!0);return c&&c!==Ht?c:XG(n)}if(n.parent.kind===179)return uc(n,1)}function r8(n,a,c){if(Cd(n)){let T=uc(n,901119,a,!0,sb(n));if(!T&&Re(n)&&c&&(T=No(yd(Gd(c),n.escapedText,901119))),T)return T}let u=Re(n)?c:r8(n.left,a,c),p=Re(n)?n.escapedText:n.right.escapedText;if(u){let h=u.flags&111551&&ja(zn(u),"prototype"),T=h?zn(h):gs(u);return ja(T,p)}}function Zf(n,a){if(Li(n))return Lc(n)?No(n.symbol):void 0;let{parent:c}=n,u=c.parent;if(!(n.flags&33554432)){if(w_e(n)){let p=fr(c);return eS(n.parent)&&n.parent.propertyName===n?Mre(p):p}else if(_R(n))return fr(c.parent);if(n.kind===79){if(vU(n))return JLe(n);if(c.kind===205&&u.kind===203&&n===c.propertyName){let p=G1(u),h=ja(p,n.escapedText);if(h)return h}else if(TL(c)&&c.name===n)return c.keywordToken===103&&vr(n)==="target"?lie(c).symbol:c.keywordToken===100&&vr(n)==="meta"?tAe().members.get("meta"):void 0}switch(n.kind){case 79:case 80:case 208:case 163:if(!mS(n))return JLe(n);case 108:let p=Ku(n,!1,!1);if(Ia(p)){let k=ip(p);if(k.thisParameter)return k.thisParameter}if(F6(n))return Yi(n).symbol;case 194:return oB(n).symbol;case 106:return Yi(n).symbol;case 135:let h=n.parent;return h&&h.kind===173?h.parent.symbol:void 0;case 10:case 14:if(ab(n.parent.parent)&&wI(n.parent.parent)===n||(n.parent.kind===269||n.parent.kind===275)&&n.parent.moduleSpecifier===n||Yn(n)&&$s(Y)!==100&&qu(n.parent,!1)||Dd(n.parent)||mb(n.parent)&&ib(n.parent.parent)&&n.parent.parent.argument===n.parent)return Gl(n,n,a);if(Pa(c)&&sS(c)&&c.arguments[1]===n)return fr(c);case 8:let T=Vs(c)?c.argumentExpression===n?au(c.expression):void 0:mb(c)&&OS(u)?$r(u.objectType):void 0;return T&&ja(T,Bs(n.text));case 88:case 98:case 38:case 84:return vd(n.parent);case 202:return ib(n)?Zf(n.argument.literal,a):void 0;case 93:return pc(n.parent)?L.checkDefined(n.parent.symbol):void 0;case 100:case 103:return TL(n.parent)?mIe(n.parent).symbol:void 0;case 233:return Yi(n).symbol;default:return}}}function jnt(n){if(Re(n)&&br(n.parent)&&n.parent.name===n){let a=pg(n),c=au(n.parent.expression),u=c.flags&1048576?c.types:[c];return Uo(u,p=>Pr(tu(p),h=>Vx(a,h.keyType)))}}function Hnt(n){if(n&&n.kind===300)return uc(n.name,2208703)}function Wnt(n){return Mu(n)?n.parent.parent.moduleSpecifier?af(n.parent.parent,n):uc(n.propertyName||n.name,2998271):uc(n,2998271)}function G1(n){if(Li(n)&&!Lc(n)||n.flags&33554432)return ve;let a=uW(n),c=a&&vu(fr(a.class));if(Gm(n)){let u=$r(n);return c?uf(u,c.thisType):u}if(Dh(n))return KLe(n);if(c&&!a.isImplements){let u=Sl(_o(c));return u?uf(u,c.thisType):ve}if(o2(n)){let u=fr(n);return gs(u)}if(Mnt(n)){let u=Zf(n);return u?gs(u):ve}if(Kl(n)){let u=fr(n);return u?zn(u):ve}if(w_e(n)){let u=Zf(n);return u?zn(u):ve}if(La(n))return Oo(n.parent,!0,0)||ve;if(vU(n)){let u=Zf(n);if(u){let p=gs(u);return Ro(p)?zn(u):p}}return TL(n.parent)&&n.parent.keywordToken===n.kind?mIe(n.parent):ve}function bU(n){if(L.assert(n.kind===207||n.kind===206),n.parent.kind===247){let p=e8(n.parent);return nT(n,p||ve)}if(n.parent.kind===223){let p=au(n.parent.right);return nT(n,p||ve)}if(n.parent.kind===299){let p=Ga(n.parent.parent,rs),h=bU(p)||ve,T=DA(p.properties,n.parent);return kIe(p,h,T)}let a=Ga(n.parent,fu),c=bU(a)||ve,u=wy(65,c,Oe,n.parent)||ve;return DIe(a,c,a.elements.indexOf(n),u)}function znt(n){let a=bU(Ga(n.parent.parent,vI));return a&&ja(a,n.escapedText)}function KLe(n){return zI(n)&&(n=n.parent),Hu(au(n))}function qLe(n){let a=vd(n.parent);return Ca(n)?zn(a):gs(a)}function XLe(n){let a=n.name;switch(a.kind){case 79:return ff(vr(a));case 8:case 10:return ff(a.text);case 164:let c=vg(a);return ul(c,12288)?c:ae;default:return L.fail("Unsupported property name.")}}function Wie(n){n=Eu(n);let a=Ua(Jo(n)),c=xa(n,0).length?Uc:xa(n,1).length?Gu:void 0;return c&&mn(Jo(c),u=>{a.has(u.escapedName)||a.set(u.escapedName,u)}),uy(a)}function EU(n){return xa(n,0).length!==0||xa(n,1).length!==0}function YLe(n){let a=Jnt(n);return a?Uo(a,YLe):[n]}function Jnt(n){if(ac(n)&6)return Zi(Ai(n).containingType.types,a=>ja(a,n.escapedName));if(n.flags&33554432){let{links:{leftSpread:a,rightSpread:c,syntheticOrigin:u}}=n;return a?[a,c]:u?[u]:aT(Knt(n))}}function Knt(n){let a,c=n;for(;c=Ai(c).target;)a=c;return a}function qnt(n){if(tc(n))return!1;let a=ea(n,Re);if(!a)return!1;let c=a.parent;return c?!((br(c)||yl(c))&&c.name===a)&&i8(a)===_t:!1}function Xnt(n){let a=Gl(n.parent,n);if(!a||CI(a))return!0;let c=AE(a);a=Vu(a);let u=Ai(a);return u.exportsSomeValue===void 0&&(u.exportsSomeValue=c?!!(a.flags&111551):Ld(sh(a),p)),u.exportsSomeValue;function p(h){return h=Ac(h),h&&!!(Fl(h)&111551)}}function Ynt(n){return Ow(n.parent)&&n===n.parent.name}function $nt(n,a){var c;let u=ea(n,Re);if(u){let p=i8(u,Ynt(u));if(p){if(p.flags&1048576){let T=No(p.exportSymbol);if(!a&&T.flags&944&&!(T.flags&3))return;p=T}let h=ju(p);if(h){if(h.flags&512&&((c=h.valueDeclaration)==null?void 0:c.kind)===308){let T=h.valueDeclaration,k=Gn(u);return T!==k?void 0:T}return jn(u.parent,T=>Ow(T)&&fr(T)===h)}}}}function Qnt(n){let a=Eue(n);if(a)return a;let c=ea(n,Re);if(c){let u=drt(c);if(ay(u,111551)&&!nd(u,111551))return Uu(u)}}function Znt(n){return n.valueDeclaration&&Wo(n.valueDeclaration)&&bA(n.valueDeclaration).parent.kind===295}function $Le(n){if(n.flags&418&&n.valueDeclaration&&!Li(n.valueDeclaration)){let a=Ai(n);if(a.isDeclarationWithCollidingName===void 0){let c=tm(n.valueDeclaration);if(Ose(c)||Znt(n)){let u=Rr(n.valueDeclaration);if(zs(c.parent,n.escapedName,111551,void 0,void 0,!1))a.isDeclarationWithCollidingName=!0;else if(u.flags&16384){let p=u.flags&32768,h=Wy(c,!1),T=c.kind===238&&Wy(c.parent,!1);a.isDeclarationWithCollidingName=!Hse(c)&&(!p||!h&&!T)}else a.isDeclarationWithCollidingName=!1}}return a.isDeclarationWithCollidingName}return!1}function ert(n){if(!tc(n)){let a=ea(n,Re);if(a){let c=i8(a);if(c&&$Le(c))return c.valueDeclaration}}}function trt(n){let a=ea(n,Kl);if(a){let c=fr(a);if(c)return $Le(c)}return!1}function QLe(n){switch(L.assert(!Y.verbatimModuleSyntax),n.kind){case 268:return TU(fr(n));case 270:case 271:case 273:case 278:let a=fr(n);return!!a&&TU(a)&&!nd(a,111551);case 275:let c=n.exportClause;return!!c&&(qm(c)||vt(c.elements,QLe));case 274:return n.expression&&n.expression.kind===79?TU(fr(n)):!0}return!1}function nrt(n){let a=ea(n,Nl);return a===void 0||a.parent.kind!==308||!GA(a)?!1:TU(fr(a))&&a.moduleReference&&!rc(a.moduleReference)}function TU(n){var a;if(!n)return!1;let c=tp(wc(n));return c===Ht?!0:!!(((a=Fl(c))!=null?a:-1)&111551)&&(U0(Y)||!MD(c))}function MD(n){return gie(n)||!!n.constEnumOnlyModule}function SU(n,a){if(L.assert(!Y.verbatimModuleSyntax),Zh(n)){let c=fr(n),u=c&&Ai(c);if(u?.referenced)return!0;let p=Ai(c).aliasTarget;if(p&&uu(n)&1&&Fl(p)&111551&&(U0(Y)||!MD(p)))return!0}return a?!!pa(n,c=>SU(c,a)):!1}function ZLe(n){if(Pf(n.body)){if(zy(n)||Ng(n))return!1;let a=fr(n),c=Xb(a);return c.length>1||c.length===1&&c[0].declaration!==n}return!1}function eke(n){return!!U&&!Qk(n)&&!xp(n)&&!!n.initializer&&!Mr(n,16476)}function rrt(n){return U&&Qk(n)&&!n.initializer&&Mr(n,16476)}function irt(n){let a=ea(n,Jc);if(!a)return!1;let c=fr(a);return!c||!(c.flags&16)?!1:!!Ld(Gd(c),u=>u.flags&111551&&u.valueDeclaration&&br(u.valueDeclaration))}function art(n){let a=ea(n,Jc);if(!a)return Je;let c=fr(a);return c&&Jo(zn(c))||Je}function sA(n){var a;let c=n.id||0;return c<0||c>=Ib.length?0:((a=Ib[c])==null?void 0:a.flags)||0}function xU(n){return OLe(n.parent),Rr(n).enumMemberValue}function tke(n){switch(n.kind){case 302:case 208:case 209:return!0}return!1}function zie(n){if(n.kind===302)return xU(n);let a=Rr(n).resolvedSymbol;if(a&&a.flags&8){let c=a.valueDeclaration;if(R0(c.parent))return xU(c)}}function Jie(n){return!!(n.flags&524288)&&xa(n,0).length>0}function ort(n,a){var c;let u=ea(n,Cd);if(!u||a&&(a=ea(a),!a))return 0;let p=!1;if(Yu(u)){let H=uc(Yd(u),111551,!0,!0,a);p=!!((c=H?.declarations)!=null&&c.every(I0))}let h=uc(u,111551,!0,!0,a),T=h&&h.flags&2097152?wc(h):h;p||(p=!!(h&&nd(h,111551)));let k=uc(u,788968,!0,!1,a);if(T&&T===k){let H=_ne(!1);if(H&&T===H)return 9;let J=zn(T);if(J&&Uv(J))return p?10:1}if(!k)return p?11:0;let O=gs(k);return Ro(O)?p?11:0:O.flags&3?11:ul(O,245760)?2:ul(O,528)?6:ul(O,296)?3:ul(O,2112)?4:ul(O,402653316)?5:po(O)?7:ul(O,12288)?8:Jie(O)?10:_f(O)?7:11}function srt(n,a,c,u,p){let h=ea(n,Qse);if(!h)return D.createToken(131);let T=fr(h),k=T&&!(T.flags&133120)?i0(zn(T)):ve;return k.flags&8192&&k.symbol===T&&(c|=1048576),p&&(k=gg(k)),Be.typeToTypeNode(k,a,c|1024,u)}function crt(n,a,c,u){let p=ea(n,Ia);if(!p)return D.createToken(131);let h=ip(p);return Be.typeToTypeNode(qo(h),a,c|1024,u)}function lrt(n,a,c,u){let p=ea(n,ot);if(!p)return D.createToken(131);let h=Sd(KLe(p));return Be.typeToTypeNode(h,a,c|1024,u)}function urt(n){return Ne.has(Bs(n))}function i8(n,a){let c=Rr(n).resolvedSymbol;if(c)return c;let u=n;if(a){let p=n.parent;Kl(p)&&n===p.name&&(u=FE(p))}return zs(u,n.escapedText,3257279,void 0,void 0,!0)}function drt(n){let a=Rr(n).resolvedSymbol;return a&&a!==Ht?a:zs(n,n.escapedText,3257279,void 0,void 0,!0,void 0,void 0)}function frt(n){if(!tc(n)){let a=ea(n,Re);if(a){let c=i8(a);if(c)return tp(c).valueDeclaration}}}function _rt(n){return x6(n)||wi(n)&&kh(n)?t0(zn(fr(n))):!1}function prt(n,a,c){let u=n.flags&1056?Be.symbolToExpression(n.symbol,111551,a,void 0,c):n===pe?D.createTrue():n===Ke&&D.createFalse();if(u)return u;let p=n.value;return typeof p=="object"?D.createBigIntLiteral(p):typeof p=="number"?D.createNumericLiteral(p):D.createStringLiteral(p)}function mrt(n,a){let c=zn(fr(n));return prt(c,n,a)}function nke(n){return n?(Rb(n),Gn(n).localJsxFactory||Kh):Kh}function Kie(n){if(n){let a=Gn(n);if(a){if(a.localJsxFragmentFactory)return a.localJsxFragmentFactory;let c=a.pragmas.get("jsxfrag"),u=ba(c)?c[0]:c;if(u)return a.localJsxFragmentFactory=zS(u.arguments.factory,R),a.localJsxFragmentFactory}}if(Y.jsxFragmentFactory)return zS(Y.jsxFragmentFactory,R)}function hrt(){let n=e.getResolvedTypeReferenceDirectives(),a;return n&&(a=new Map,n.forEach(({resolvedTypeReferenceDirective:O},H,J)=>{if(!O?.resolvedFileName)return;let de=e.getSourceFile(O.resolvedFileName);de&&k(de,H,J)})),{getReferencedExportContainer:$nt,getReferencedImportDeclaration:Qnt,getReferencedDeclarationWithCollidingName:ert,isDeclarationWithCollidingName:trt,isValueAliasDeclaration:O=>{let H=ea(O);return H?QLe(H):!0},hasGlobalName:urt,isReferencedAliasDeclaration:(O,H)=>{let J=ea(O);return J?SU(J,H):!0},getNodeCheckFlags:O=>{let H=ea(O);return H?sA(H):0},isTopLevelValueImportEqualsWithEntityName:nrt,isDeclarationVisible:Xf,isImplementationOfOverload:ZLe,isRequiredInitializedParameter:eke,isOptionalUninitializedParameterProperty:rrt,isExpandoFunctionDeclaration:irt,getPropertiesOfContainerFunction:art,createTypeOfDeclaration:srt,createReturnTypeOfSignatureDeclaration:crt,createTypeOfExpression:lrt,createLiteralConstValue:mrt,isSymbolAccessible:dy,isEntityNameVisible:Nx,getConstantValue:O=>{let H=ea(O,tke);return H?zie(H):void 0},collectLinkedAliases:ME,getReferencedValueDeclaration:frt,getTypeReferenceSerializationKind:ort,isOptionalParameter:Qk,moduleExportsSomeValue:Xnt,isArgumentsLocalBinding:qnt,getExternalModuleFileFromDeclaration:O=>{let H=ea(O,zse);return H&&qie(H)},getTypeReferenceDirectivesForEntityName:p,getTypeReferenceDirectivesForSymbol:h,isLiteralConstDeclaration:_rt,isLateBound:O=>{let H=ea(O,Kl),J=H&&fr(H);return!!(J&&ac(J)&4096)},getJsxFactoryEntity:nke,getJsxFragmentFactoryEntity:Kie,getAllAccessorDeclarations(O){O=ea(O,t6);let H=O.kind===175?174:175,J=nc(fr(O),H),de=J&&J.pos<O.pos?J:O,Ae=J&&J.pos<O.pos?O:J,xe=O.kind===175?O:J,tt=O.kind===174?O:J;return{firstAccessor:de,secondAccessor:Ae,setAccessor:xe,getAccessor:tt}},getSymbolOfExternalModuleSpecifier:O=>ah(O,O,void 0),isBindingCapturedByNode:(O,H)=>{let J=ea(O),de=ea(H);return!!J&&!!de&&(wi(de)||Wo(de))&&zYe(J,de)},getDeclarationStatementsForSourceFile:(O,H,J,de)=>{let Ae=ea(O);L.assert(Ae&&Ae.kind===308,"Non-sourcefile node passed into getDeclarationsForSourceFile");let xe=fr(O);return xe?xe.exports?Be.symbolTableToDeclarationStatements(xe.exports,O,H,J,de):[]:O.locals?Be.symbolTableToDeclarationStatements(O.locals,O,H,J,de):[]},isImportRequiredByAugmentation:c};function c(O){let H=Gn(O);if(!H.symbol)return!1;let J=qie(O);if(!J||J===H)return!1;let de=sh(H.symbol);for(let Ae of lo(de.values()))if(Ae.mergeId){let xe=No(Ae);if(xe.declarations){for(let tt of xe.declarations)if(Gn(tt)===J)return!0}}return!1}function u(O){return O.parent&&O.parent.kind===230&&O.parent.parent&&O.parent.parent.kind===294}function p(O){if(!a)return;let H;O.parent.kind===164?H=1160127:(H=790504,(O.kind===79&&kC(O)||O.kind===208&&!u(O))&&(H=1160127));let J=uc(O,H,!0);return J&&J!==Ht?h(J,H):void 0}function h(O,H){if(!a||!T(O))return;let J;for(let de of O.declarations)if(de.symbol&&de.symbol.flags&H){let Ae=Gn(de),xe=a.get(Ae.path);if(xe)(J||(J=[])).push(xe);else return}return J}function T(O){if(!O.declarations)return!1;let H=O;for(;;){let J=ju(H);if(J)H=J;else break}if(H.valueDeclaration&&H.valueDeclaration.kind===308&&H.flags&512)return!1;for(let J of O.declarations){let de=Gn(J);if(a.has(de.path))return!0}return!1}function k(O,H,J){if(!a.has(O.path)){a.set(O.path,[H,J]);for(let{fileName:de,resolutionMode:Ae}of O.referencedFiles){let xe=wF(de,O.fileName),tt=e.getSourceFile(xe);tt&&k(tt,H,Ae||O.impliedNodeFormat)}}}}function qie(n){let a=n.kind===264?zr(n.name,yo):UA(n),c=ah(a,a,void 0);if(c)return nc(c,308)}function grt(){for(let a of e.getSourceFiles())c_e(a,Y);pr=new Map;let n;for(let a of e.getSourceFiles())if(!a.redirectInfo){if(!kd(a)){let c=a.locals.get("globalThis");if(c?.declarations)for(let u of c.declarations)Lo.add(hr(u,_.Declaration_name_conflicts_with_built_in_global_identifier_0,"globalThis"));ll(Ne,a.locals)}a.jsGlobalAugmentations&&ll(Ne,a.jsGlobalAugmentations),a.patternAmbientModules&&a.patternAmbientModules.length&&(Ka=Qi(Ka,a.patternAmbientModules)),a.moduleAugmentations.length&&(n||(n=[])).push(a.moduleAugmentations),a.symbol&&a.symbol.globalExports&&a.symbol.globalExports.forEach((u,p)=>{Ne.has(p)||Ne.set(p,u)})}if(n)for(let a of n)for(let c of a)mp(c.parent)&&y1(c);if(lC(Ne,Db,_.Declaration_name_conflicts_with_built_in_global_identifier_0),Ai(Le).type=je,Ai(_t).type=Fc("IArguments",0,!0),Ai(Ht).type=ve,Ai(Ye).type=Bd(16,Ye),$o=Fc("Array",1,!0),ka=Fc("Object",0,!0),Hs=Fc("Function",0,!0),Uc=le&&Fc("CallableFunction",0,!0)||Hs,Gu=le&&Fc("NewableFunction",0,!0)||Hs,Ws=Fc("String",0,!0),hd=Fc("Number",0,!0),vc=Fc("Boolean",0,!0),nf=Fc("RegExp",0,!0),Et=nu(Se),bn=nu(at),bn===Ki&&(bn=ls(void 0,q,Je,Je,Je)),jo=oAe("ReadonlyArray",1)||$o,Ri=jo?rD(jo,[Se]):Et,ye=oAe("ThisType",1),n)for(let a of n)for(let c of a)mp(c.parent)||y1(c);pr.forEach(({firstFile:a,secondFile:c,conflictingSymbols:u})=>{if(u.size<8)u.forEach(({isBlockScoped:p,firstFileLocations:h,secondFileLocations:T},k)=>{let O=p?_.Cannot_redeclare_block_scoped_variable_0:_.Duplicate_identifier_0;for(let H of h)Ml(H,O,k,T);for(let H of T)Ml(H,O,k,h)});else{let p=lo(u.keys()).join(", ");Lo.add(Ao(hr(a,_.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,p),hr(c,_.Conflicts_are_in_this_file))),Lo.add(Ao(hr(c,_.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,p),hr(a,_.Conflicts_are_in_this_file)))}}),pr=void 0}function Hc(n,a){if((l&a)!==a&&Y.importHelpers){let c=Gn(n);if(aS(c,Y)&&!(n.flags&16777216)){let u=vrt(c,n);if(u!==Ht){let p=a&~l;for(let h=1;h<=16777216;h<<=1)if(p&h)for(let T of yrt(h)){if(s.has(T))continue;s.add(T);let k=yd(u.exports,Bs(T),111551);k?h&524288?vt(Xb(k),O=>xd(O)>3)||Fe(n,_.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,_b,T,4):h&1048576?vt(Xb(k),O=>xd(O)>4)||Fe(n,_.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,_b,T,5):h&1024&&(vt(Xb(k),O=>xd(O)>2)||Fe(n,_.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,_b,T,3)):Fe(n,_.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,_b,T)}}l|=a}}}function yrt(n){switch(n){case 1:return["__extends"];case 2:return["__assign"];case 4:return["__rest"];case 8:return $?["__decorate"]:["__esDecorate","__runInitializers"];case 16:return["__metadata"];case 32:return["__param"];case 64:return["__awaiter"];case 128:return["__generator"];case 256:return["__values"];case 512:return["__read"];case 1024:return["__spreadArray"];case 2048:return["__await"];case 4096:return["__asyncGenerator"];case 8192:return["__asyncDelegator"];case 16384:return["__asyncValues"];case 32768:return["__exportStar"];case 65536:return["__importStar"];case 131072:return["__importDefault"];case 262144:return["__makeTemplateObject"];case 524288:return["__classPrivateFieldGet"];case 1048576:return["__classPrivateFieldSet"];case 2097152:return["__classPrivateFieldIn"];case 4194304:return["__createBinding"];case 8388608:return["__setFunctionName"];case 16777216:return["__propKey"];default:return L.fail("Unrecognized helper")}}function vrt(n,a){return f||(f=qc(n,_b,_.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,a)||Ht),f}function km(n){let a=Trt(n)||brt(n);if(a!==void 0)return a;if(ha(n)&&G0(n))return dl(n,_.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters);let c,u,p,h,T,k=0,O=!1,H=!1;for(let J of n.modifiers)if(du(J)){if(M6($,n,n.parent,n.parent.parent)){if($&&(n.kind===174||n.kind===175)){let de=kT(n.parent.members,n);if(bf(de.firstAccessor)&&n===de.secondAccessor)return dl(n,_.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}}else return n.kind===171&&!Pf(n.body)?dl(n,_.A_decorator_can_only_decorate_a_method_implementation_not_an_overload):dl(n,_.Decorators_are_not_valid_here);if(k&-132098)return an(J,_.Decorators_are_not_valid_here);if(H&&k&126975){L.assertIsDefined(T);let de=Gn(J);return l0(de)?!1:(Ao(Fe(J,_.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),hr(T,_.Decorator_used_before_export_here)),!0)}k|=131072,k&126975?k&1&&(O=!0):H=!0,T??(T=J)}else{if(J.kind!==146){if(n.kind===168||n.kind===170)return an(J,_._0_modifier_cannot_appear_on_a_type_member,Xa(J.kind));if(n.kind===178&&(J.kind!==124||!Yr(n.parent)))return an(J,_._0_modifier_cannot_appear_on_an_index_signature,Xa(J.kind))}if(J.kind!==101&&J.kind!==145&&J.kind!==85&&n.kind===165)return an(J,_._0_modifier_cannot_appear_on_a_type_parameter,Xa(J.kind));switch(J.kind){case 85:if(n.kind!==263&&n.kind!==165)return an(n,_.A_class_member_cannot_have_the_0_keyword,Xa(85));let de=n.parent;if(n.kind===165&&!(Ds(de)||Yr(de)||Jm(de)||yL(de)||_2(de)||uO(de)||zm(de)))return an(J,_._0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class,Xa(J.kind));break;case 161:if(k&16384)return an(J,_._0_modifier_already_seen,"override");if(k&2)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"override","declare");if(k&64)return an(J,_._0_modifier_must_precede_1_modifier,"override","readonly");if(k&128)return an(J,_._0_modifier_must_precede_1_modifier,"override","accessor");if(k&512)return an(J,_._0_modifier_must_precede_1_modifier,"override","async");k|=16384,h=J;break;case 123:case 122:case 121:let Ae=Ud(gS(J.kind));if(k&28)return an(J,_.Accessibility_modifier_already_seen);if(k&16384)return an(J,_._0_modifier_must_precede_1_modifier,Ae,"override");if(k&32)return an(J,_._0_modifier_must_precede_1_modifier,Ae,"static");if(k&128)return an(J,_._0_modifier_must_precede_1_modifier,Ae,"accessor");if(k&64)return an(J,_._0_modifier_must_precede_1_modifier,Ae,"readonly");if(k&512)return an(J,_._0_modifier_must_precede_1_modifier,Ae,"async");if(n.parent.kind===265||n.parent.kind===308)return an(J,_._0_modifier_cannot_appear_on_a_module_or_namespace_element,Ae);if(k&256)return J.kind===121?an(J,_._0_modifier_cannot_be_used_with_1_modifier,Ae,"abstract"):an(J,_._0_modifier_must_precede_1_modifier,Ae,"abstract");if(xu(n))return an(J,_.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);k|=gS(J.kind);break;case 124:if(k&32)return an(J,_._0_modifier_already_seen,"static");if(k&64)return an(J,_._0_modifier_must_precede_1_modifier,"static","readonly");if(k&512)return an(J,_._0_modifier_must_precede_1_modifier,"static","async");if(k&128)return an(J,_._0_modifier_must_precede_1_modifier,"static","accessor");if(n.parent.kind===265||n.parent.kind===308)return an(J,_._0_modifier_cannot_appear_on_a_module_or_namespace_element,"static");if(n.kind===166)return an(J,_._0_modifier_cannot_appear_on_a_parameter,"static");if(k&256)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"static","abstract");if(k&16384)return an(J,_._0_modifier_must_precede_1_modifier,"static","override");k|=32,c=J;break;case 127:if(k&128)return an(J,_._0_modifier_already_seen,"accessor");if(k&64)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"accessor","readonly");if(k&2)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"accessor","declare");if(n.kind!==169)return an(J,_.accessor_modifier_can_only_appear_on_a_property_declaration);k|=128;break;case 146:if(k&64)return an(J,_._0_modifier_already_seen,"readonly");if(n.kind!==169&&n.kind!==168&&n.kind!==178&&n.kind!==166)return an(J,_.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);if(k&128)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"readonly","accessor");k|=64;break;case 93:if(Y.verbatimModuleSyntax&&!(n.flags&16777216)&&n.kind!==262&&n.kind!==261&&n.kind!==264&&n.parent.kind===308&&(ie===1||Gn(n).impliedNodeFormat===1))return an(J,_.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);if(k&1)return an(J,_._0_modifier_already_seen,"export");if(k&2)return an(J,_._0_modifier_must_precede_1_modifier,"export","declare");if(k&256)return an(J,_._0_modifier_must_precede_1_modifier,"export","abstract");if(k&512)return an(J,_._0_modifier_must_precede_1_modifier,"export","async");if(Yr(n.parent))return an(J,_._0_modifier_cannot_appear_on_class_elements_of_this_kind,"export");if(n.kind===166)return an(J,_._0_modifier_cannot_appear_on_a_parameter,"export");k|=1;break;case 88:let xe=n.parent.kind===308?n.parent:n.parent.parent;if(xe.kind===264&&!lu(xe))return an(J,_.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);if(k&1){if(O)return an(T,_.Decorators_are_not_valid_here)}else return an(J,_._0_modifier_must_precede_1_modifier,"export","default");k|=1024;break;case 136:if(k&2)return an(J,_._0_modifier_already_seen,"declare");if(k&512)return an(J,_._0_modifier_cannot_be_used_in_an_ambient_context,"async");if(k&16384)return an(J,_._0_modifier_cannot_be_used_in_an_ambient_context,"override");if(Yr(n.parent)&&!Na(n))return an(J,_._0_modifier_cannot_appear_on_class_elements_of_this_kind,"declare");if(n.kind===166)return an(J,_._0_modifier_cannot_appear_on_a_parameter,"declare");if(n.parent.flags&16777216&&n.parent.kind===265)return an(J,_.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);if(xu(n))return an(J,_._0_modifier_cannot_be_used_with_a_private_identifier,"declare");if(k&128)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"declare","accessor");k|=2,u=J;break;case 126:if(k&256)return an(J,_._0_modifier_already_seen,"abstract");if(n.kind!==260&&n.kind!==182){if(n.kind!==171&&n.kind!==169&&n.kind!==174&&n.kind!==175)return an(J,_.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);if(!(n.parent.kind===260&&Mr(n.parent,256)))return an(J,_.Abstract_methods_can_only_appear_within_an_abstract_class);if(k&32)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"static","abstract");if(k&8)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"private","abstract");if(k&512&&p)return an(p,_._0_modifier_cannot_be_used_with_1_modifier,"async","abstract");if(k&16384)return an(J,_._0_modifier_must_precede_1_modifier,"abstract","override");if(k&128)return an(J,_._0_modifier_must_precede_1_modifier,"abstract","accessor")}if(zl(n)&&n.name.kind===80)return an(J,_._0_modifier_cannot_be_used_with_a_private_identifier,"abstract");k|=256;break;case 132:if(k&512)return an(J,_._0_modifier_already_seen,"async");if(k&2||n.parent.flags&16777216)return an(J,_._0_modifier_cannot_be_used_in_an_ambient_context,"async");if(n.kind===166)return an(J,_._0_modifier_cannot_appear_on_a_parameter,"async");if(k&256)return an(J,_._0_modifier_cannot_be_used_with_1_modifier,"async","abstract");k|=512,p=J;break;case 101:case 145:let tt=J.kind===101?32768:65536,It=J.kind===101?"in":"out";if(n.kind!==165||!(ku(n.parent)||Yr(n.parent)||Ep(n.parent)))return an(J,_._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias,It);if(k&tt)return an(J,_._0_modifier_already_seen,It);if(tt&32768&&k&65536)return an(J,_._0_modifier_must_precede_1_modifier,"in","out");k|=tt;break}}return n.kind===173?k&32?an(c,_._0_modifier_cannot_appear_on_a_constructor_declaration,"static"):k&16384?an(h,_._0_modifier_cannot_appear_on_a_constructor_declaration,"override"):k&512?an(p,_._0_modifier_cannot_appear_on_a_constructor_declaration,"async"):!1:(n.kind===269||n.kind===268)&&k&2?an(u,_.A_0_modifier_cannot_be_used_with_an_import_declaration,"declare"):n.kind===166&&k&16476&&La(n.name)?an(n,_.A_parameter_property_may_not_be_declared_using_a_binding_pattern):n.kind===166&&k&16476&&n.dotDotDotToken?an(n,_.A_parameter_property_cannot_be_declared_using_a_rest_parameter):k&512?xrt(n,p):!1}function brt(n){if(!n.modifiers)return!1;let a=Ert(n);return a&&dl(a,_.Modifiers_cannot_appear_here)}function Xie(n,a){let c=wr(n.modifiers,Ha);return c&&c.kind!==a?c:void 0}function Ert(n){switch(n.kind){case 174:case 175:case 173:case 169:case 168:case 171:case 170:case 178:case 264:case 269:case 268:case 275:case 274:case 215:case 216:case 166:case 165:return;case 172:case 299:case 300:case 267:case 279:return wr(n.modifiers,Ha);default:if(n.parent.kind===265||n.parent.kind===308)return;switch(n.kind){case 259:return Xie(n,132);case 260:case 182:return Xie(n,126);case 228:case 261:case 240:case 262:return wr(n.modifiers,Ha);case 263:return Xie(n,85);default:L.assertNever(n)}}}function Trt(n){let a=Srt(n);return a&&dl(a,_.Decorators_are_not_valid_here)}function Srt(n){return aJ(n)?wr(n.modifiers,du):void 0}function xrt(n,a){switch(n.kind){case 171:case 259:case 215:case 216:return!1}return an(a,_._0_modifier_cannot_be_used_here,"async")}function B1(n,a=_.Trailing_comma_not_allowed){return n&&n.hasTrailingComma?u0(n[0],n.end-1,1,a):!1}function rke(n,a){if(n&&n.length===0){let c=n.pos-1,u=xo(a.text,n.end)+1;return u0(a,c,u-c,_.Type_parameter_list_cannot_be_empty)}return!1}function Art(n){let a=!1,c=n.length;for(let u=0;u<c;u++){let p=n[u];if(p.dotDotDotToken){if(u!==c-1)return an(p.dotDotDotToken,_.A_rest_parameter_must_be_last_in_a_parameter_list);if(p.flags&16777216||B1(n,_.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),p.questionToken)return an(p.questionToken,_.A_rest_parameter_cannot_be_optional);if(p.initializer)return an(p.name,_.A_rest_parameter_cannot_have_an_initializer)}else if(Qk(p)){if(a=!0,p.questionToken&&p.initializer)return an(p.name,_.Parameter_cannot_have_question_mark_and_initializer)}else if(a&&!p.initializer)return an(p.name,_.A_required_parameter_cannot_follow_an_optional_parameter)}}function Crt(n){return Pr(n,a=>!!a.initializer||La(a.name)||Fm(a))}function Irt(n){if(R>=3){let a=n.body&&Va(n.body)&&tJ(n.body.statements);if(a){let c=Crt(n.parameters);if(Fn(c)){mn(c,p=>{Ao(Fe(p,_.This_parameter_is_not_allowed_with_use_strict_directive),hr(a,_.use_strict_directive_used_here))});let u=c.map((p,h)=>h===0?hr(p,_.Non_simple_parameter_declared_here):hr(p,_.and_here));return Ao(Fe(a,_.use_strict_directive_cannot_be_used_with_non_simple_parameter_list),...u),!0}}}return!1}function AU(n){let a=Gn(n);return km(n)||rke(n.typeParameters,a)||Art(n.parameters)||krt(n,a)||Ds(n)&&Irt(n)}function Lrt(n){let a=Gn(n);return Nrt(n)||rke(n.typeParameters,a)}function krt(n,a){if(!xs(n))return!1;n.typeParameters&&!(Fn(n.typeParameters)>1||n.typeParameters.hasTrailingComma||n.typeParameters[0].constraint)&&a&&$c(a.fileName,[".mts",".cts"])&&an(n.typeParameters[0],_.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);let{equalsGreaterThanToken:c}=n,u=Gs(a,c.pos).line,p=Gs(a,c.end).line;return u!==p&&an(c,_.Line_terminator_not_permitted_before_arrow)}function Drt(n){let a=n.parameters[0];if(n.parameters.length!==1)return an(a?a.name:n,_.An_index_signature_must_have_exactly_one_parameter);if(B1(n.parameters,_.An_index_signature_cannot_have_a_trailing_comma),a.dotDotDotToken)return an(a.dotDotDotToken,_.An_index_signature_cannot_have_a_rest_parameter);if(n4(a))return an(a.name,_.An_index_signature_parameter_cannot_have_an_accessibility_modifier);if(a.questionToken)return an(a.questionToken,_.An_index_signature_parameter_cannot_have_a_question_mark);if(a.initializer)return an(a.name,_.An_index_signature_parameter_cannot_have_an_initializer);if(!a.type)return an(a.name,_.An_index_signature_parameter_must_have_a_type_annotation);let c=$r(a.type);return yh(c,u=>!!(u.flags&8576))||SC(c)?an(a.name,_.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead):Im(c,KG)?n.type?!1:an(n,_.An_index_signature_must_have_a_type_annotation):an(a.name,_.An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type)}function wrt(n){return km(n)||Drt(n)}function Rrt(n,a){if(a&&a.length===0){let c=Gn(n),u=a.pos-1,p=xo(c.text,a.end)+1;return u0(c,u,p-u,_.Type_argument_list_cannot_be_empty)}return!1}function a8(n,a){return B1(a)||Rrt(n,a)}function Ort(n){return n.questionDotToken||n.flags&32?an(n.template,_.Tagged_template_expressions_are_not_permitted_in_an_optional_chain):!1}function ike(n){let a=n.types;if(B1(a))return!0;if(a&&a.length===0){let c=Xa(n.token);return u0(n,a.pos,0,_._0_list_cannot_be_empty,c)}return vt(a,ake)}function ake(n){return Vg(n)&&gL(n.expression)&&n.typeArguments?an(n,_.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments):a8(n,n.typeArguments)}function Nrt(n){let a=!1,c=!1;if(!km(n)&&n.heritageClauses)for(let u of n.heritageClauses){if(u.token===94){if(a)return dl(u,_.extends_clause_already_seen);if(c)return dl(u,_.extends_clause_must_precede_implements_clause);if(u.types.length>1)return dl(u.types[1],_.Classes_can_only_extend_a_single_class);a=!0}else{if(L.assert(u.token===117),c)return dl(u,_.implements_clause_already_seen);c=!0}ike(u)}}function Prt(n){let a=!1;if(n.heritageClauses)for(let c of n.heritageClauses){if(c.token===94){if(a)return dl(c,_.extends_clause_already_seen);a=!0}else return L.assert(c.token===117),dl(c,_.Interface_declaration_cannot_have_implements_clause);ike(c)}return!1}function CU(n){if(n.kind!==164)return!1;let a=n;return a.expression.kind===223&&a.expression.operatorToken.kind===27?an(a.expression,_.A_comma_expression_is_not_allowed_in_a_computed_property_name):!1}function Yie(n){if(n.asteriskToken){if(L.assert(n.kind===259||n.kind===215||n.kind===171),n.flags&16777216)return an(n.asteriskToken,_.Generators_are_not_allowed_in_an_ambient_context);if(!n.body)return an(n.asteriskToken,_.An_overload_signature_cannot_be_declared_as_a_generator)}}function $ie(n,a){return!!n&&an(n,a)}function oke(n,a){return!!n&&an(n,a)}function Mrt(n,a){let c=new Map;for(let u of n.properties){if(u.kind===301){if(a){let T=vs(u.expression);if(fu(T)||rs(T))return an(u.expression,_.A_rest_element_cannot_contain_a_binding_pattern)}continue}let p=u.name;if(p.kind===164&&CU(p),u.kind===300&&!a&&u.objectAssignmentInitializer&&an(u.equalsToken,_.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern),p.kind===80&&an(p,_.Private_identifiers_are_not_allowed_outside_class_bodies),g_(u)&&u.modifiers)for(let T of u.modifiers)Ha(T)&&(T.kind!==132||u.kind!==171)&&an(T,_._0_modifier_cannot_be_used_here,Qc(T));else if(cde(u)&&u.modifiers)for(let T of u.modifiers)Ha(T)&&an(T,_._0_modifier_cannot_be_used_here,Qc(T));let h;switch(u.kind){case 300:case 299:oke(u.exclamationToken,_.A_definite_assignment_assertion_is_not_permitted_in_this_context),$ie(u.questionToken,_.An_object_member_cannot_be_declared_optional),p.kind===8&&eae(p),h=4;break;case 171:h=8;break;case 174:h=1;break;case 175:h=2;break;default:throw L.assertNever(u,"Unexpected syntax kind:"+u.kind)}if(!a){let T=M0(p);if(T===void 0)continue;let k=c.get(T);if(!k)c.set(T,h);else if(h&8&&k&8)an(p,_.Duplicate_identifier_0,Qc(p));else if(h&4&&k&4)an(p,_.An_object_literal_cannot_have_multiple_properties_with_the_same_name,Qc(p));else if(h&3&&k&3)if(k!==3&&h!==k)c.set(T,h|k);else return an(p,_.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);else return an(p,_.An_object_literal_cannot_have_property_and_accessor_with_the_same_name)}}}function Frt(n){Grt(n.tagName),a8(n,n.typeArguments);let a=new Map;for(let c of n.attributes.properties){if(c.kind===290)continue;let{name:u,initializer:p}=c;if(!a.get(u.escapedText))a.set(u.escapedText,!0);else return an(u,_.JSX_elements_cannot_have_multiple_attributes_with_the_same_name);if(p&&p.kind===291&&!p.expression)return an(p,_.JSX_attributes_must_only_be_assigned_a_non_empty_expression)}}function Grt(n){if(br(n)){let c=n;do{let p=a(c.name);if(p)return p;c=c.expression}while(br(c));let u=a(c);if(u)return u}function a(c){if(Re(c)&&vr(c).indexOf(":")!==-1)return an(c,_.JSX_property_access_expressions_cannot_include_JSX_namespace_names)}}function Brt(n){if(n.expression&&wL(n.expression))return an(n.expression,_.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array)}function ske(n){if(vh(n))return!0;if(n.kind===247&&n.awaitModifier&&!(n.flags&32768)){let a=Gn(n);if(O6(n)){if(!l0(a))switch(aS(a,Y)||Lo.add(hr(n.awaitModifier,_.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)),ie){case 100:case 199:if(a.impliedNodeFormat===1){Lo.add(hr(n.awaitModifier,_.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level));break}case 7:case 99:case 4:if(R>=4)break;default:Lo.add(hr(n.awaitModifier,_.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher));break}}else if(!l0(a)){let c=hr(n.awaitModifier,_.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules),u=Xd(n);if(u&&u.kind!==173){L.assert((pl(u)&2)===0,"Enclosing function should never be an async function.");let p=hr(u,_.Did_you_mean_to_mark_this_function_as_async);Ao(c,p)}return Lo.add(c),!0}return!1}if(_O(n)&&!(n.flags&32768)&&Re(n.initializer)&&n.initializer.escapedText==="async")return an(n.initializer,_.The_left_hand_side_of_a_for_of_statement_may_not_be_async),!1;if(n.initializer.kind===258){let a=n.initializer;if(!Zie(a)){let c=a.declarations;if(!c.length)return!1;if(c.length>1){let p=n.kind===246?_.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:_.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return dl(a.declarations[1],p)}let u=c[0];if(u.initializer){let p=n.kind===246?_.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:_.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return an(u.name,p)}if(u.type){let p=n.kind===246?_.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:_.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return an(u,p)}}}return!1}function Urt(n){if(!(n.flags&16777216)&&n.parent.kind!==184&&n.parent.kind!==261){if(R<1)return an(n.name,_.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(R<2&&pi(n.name))return an(n.name,_.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(n.body===void 0&&!Mr(n,256))return u0(n,n.end-1,1,_._0_expected,"{")}if(n.body){if(Mr(n,256))return an(n,_.An_abstract_accessor_cannot_have_an_implementation);if(n.parent.kind===184||n.parent.kind===261)return an(n.body,_.An_implementation_cannot_be_declared_in_ambient_contexts)}if(n.typeParameters)return an(n.name,_.An_accessor_cannot_have_type_parameters);if(!Vrt(n))return an(n.name,n.kind===174?_.A_get_accessor_cannot_have_parameters:_.A_set_accessor_must_have_exactly_one_parameter);if(n.kind===175){if(n.type)return an(n.name,_.A_set_accessor_cannot_have_a_return_type_annotation);let a=L.checkDefined(VI(n),"Return value does not match parameter count assertion.");if(a.dotDotDotToken)return an(a.dotDotDotToken,_.A_set_accessor_cannot_have_rest_parameter);if(a.questionToken)return an(a.questionToken,_.A_set_accessor_cannot_have_an_optional_parameter);if(a.initializer)return an(n.name,_.A_set_accessor_parameter_cannot_have_an_initializer)}return!1}function Vrt(n){return Qie(n)||n.parameters.length===(n.kind===174?0:1)}function Qie(n){if(n.parameters.length===(n.kind===174?1:2))return F0(n)}function jrt(n){if(n.operator===156){if(n.type.kind!==153)return an(n.type,_._0_expected,Xa(153));let a=dR(n.parent);if(Yn(a)&&UT(a)){let c=dS(a);c&&(a=HA(c)||c)}switch(a.kind){case 257:let c=a;if(c.name.kind!==79)return an(n,_.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);if(!L6(c))return an(n,_.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);if(!(c.parent.flags&2))return an(a.name,_.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);break;case 169:if(!Ca(a)||!jI(a))return an(a.name,_.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);break;case 168:if(!Mr(a,64))return an(a.name,_.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);break;default:return an(n,_.unique_symbol_types_are_not_allowed_here)}}else if(n.operator===146&&n.type.kind!==185&&n.type.kind!==186)return dl(n,_.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types,Xa(153))}function JC(n,a){if(hJe(n))return an(n,a)}function cke(n){if(AU(n))return!0;if(n.kind===171){if(n.parent.kind===207){if(n.modifiers&&!(n.modifiers.length===1&&Vo(n.modifiers).kind===132))return dl(n,_.Modifiers_cannot_appear_here);if($ie(n.questionToken,_.An_object_member_cannot_be_declared_optional))return!0;if(oke(n.exclamationToken,_.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(n.body===void 0)return u0(n,n.end-1,1,_._0_expected,"{")}if(Yie(n))return!0}if(Yr(n.parent)){if(R<2&&pi(n.name))return an(n.name,_.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(n.flags&16777216)return JC(n.name,_.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(n.kind===171&&!n.body)return JC(n.name,_.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(n.parent.kind===261)return JC(n.name,_.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(n.parent.kind===184)return JC(n.name,_.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function Hrt(n){let a=n;for(;a;){if(SA(a))return an(n,_.Jump_target_cannot_cross_function_boundary);switch(a.kind){case 253:if(n.label&&a.label.escapedText===n.label.escapedText)return n.kind===248&&!Wy(a.statement,!0)?an(n,_.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement):!1;break;case 252:if(n.kind===249&&!n.label)return!1;break;default:if(Wy(a,!1)&&!n.label)return!1;break}a=a.parent}if(n.label){let c=n.kind===249?_.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:_.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return an(n,c)}else{let c=n.kind===249?_.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:_.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return an(n,c)}}function Wrt(n){if(n.dotDotDotToken){let a=n.parent.elements;if(n!==To(a))return an(n,_.A_rest_element_must_be_last_in_a_destructuring_pattern);if(B1(a,_.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),n.propertyName)return an(n.name,_.A_rest_element_cannot_have_a_property_name)}if(n.dotDotDotToken&&n.initializer)return u0(n,n.initializer.pos-1,1,_.A_rest_element_cannot_have_an_initializer)}function lke(n){return yf(n)||n.kind===221&&n.operator===40&&n.operand.kind===8}function zrt(n){return n.kind===9||n.kind===221&&n.operator===40&&n.operand.kind===9}function Jrt(n){if((br(n)||Vs(n)&&lke(n.argumentExpression))&&bc(n.expression))return!!(Ic(n).flags&1056)}function uke(n){let a=n.initializer;if(a){let c=!(lke(a)||Jrt(a)||a.kind===110||a.kind===95||zrt(a));if((x6(n)||wi(n)&&kh(n))&&!n.type){if(c)return an(a,_.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference)}else return an(a,_.Initializers_are_not_allowed_in_ambient_contexts)}}function Krt(n){if(n.parent.parent.kind!==246&&n.parent.parent.kind!==247){if(n.flags&16777216)uke(n);else if(!n.initializer){if(La(n.name)&&!La(n.parent))return an(n,_.A_destructuring_declaration_must_have_an_initializer);if(kh(n))return an(n,_.const_declarations_must_be_initialized)}}if(n.exclamationToken&&(n.parent.parent.kind!==240||!n.type||n.initializer||n.flags&16777216)){let c=n.initializer?_.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:n.type?_.A_definite_assignment_assertion_is_not_permitted_in_this_context:_.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return an(n.exclamationToken,c)}return(ie<5||Gn(n).impliedNodeFormat===1)&&ie!==4&&!(n.parent.parent.flags&16777216)&&Mr(n.parent.parent,1)&&dke(n.name),(II(n)||kh(n))&&fke(n.name)}function dke(n){if(n.kind===79){if(vr(n)==="__esModule")return Yrt("noEmit",n,_.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else{let a=n.elements;for(let c of a)if(!ol(c))return dke(c.name)}return!1}function fke(n){if(n.kind===79){if(n.escapedText==="let")return an(n,_.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else{let a=n.elements;for(let c of a)ol(c)||fke(c.name)}return!1}function Zie(n){let a=n.declarations;return B1(n.declarations)?!0:n.declarations.length?!1:u0(n,a.pos,a.end-a.pos,_.Variable_declaration_list_cannot_be_empty)}function _ke(n){switch(n.kind){case 242:case 243:case 244:case 251:case 245:case 246:case 247:return!1;case 253:return _ke(n.parent)}return!0}function qrt(n){if(!_ke(n.parent)){if(II(n.declarationList))return an(n,_.let_declarations_can_only_be_declared_inside_a_block);if(kh(n.declarationList))return an(n,_.const_declarations_can_only_be_declared_inside_a_block)}}function Xrt(n){let a=n.name.escapedText;switch(n.keywordToken){case 103:if(a!=="target")return an(n.name,_._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,n.name.escapedText,Xa(n.keywordToken),"target");break;case 100:if(a!=="meta")return an(n.name,_._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,n.name.escapedText,Xa(n.keywordToken),"meta");break}}function l0(n){return n.parseDiagnostics.length>0}function dl(n,a,c,u,p){let h=Gn(n);if(!l0(h)){let T=Pg(h,n.pos);return Lo.add(al(h,T.start,T.length,a,c,u,p)),!0}return!1}function u0(n,a,c,u,p,h,T){let k=Gn(n);return l0(k)?!1:(Lo.add(al(k,a,c,u,p,h,T)),!0)}function Yrt(n,a,c,u,p,h){let T=Gn(a);return l0(T)?!1:(Ev(n,a,c,u,p,h),!0)}function an(n,a,c,u,p){let h=Gn(n);return l0(h)?!1:(Lo.add(hr(n,a,c,u,p)),!0)}function $rt(n){let a=Yn(n)?t4(n):void 0,c=n.typeParameters||a&&Sl(a);if(c){let u=c.pos===c.end?c.pos:xo(Gn(n).text,c.pos);return u0(n,u,c.end-u,_.Type_parameters_cannot_appear_on_a_constructor_declaration)}}function Qrt(n){let a=n.type||U_(n);if(a)return an(a,_.Type_annotation_cannot_appear_on_a_constructor_declaration)}function Zrt(n){if(ts(n.name)&&ar(n.name.expression)&&n.name.expression.operatorToken.kind===101)return an(n.parent.members[0],_.A_mapped_type_may_not_declare_properties_or_methods);if(Yr(n.parent)){if(yo(n.name)&&n.name.text==="constructor")return an(n.name,_.Classes_may_not_have_a_field_named_constructor);if(JC(n.name,_.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))return!0;if(R<2&&pi(n.name))return an(n.name,_.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(R<2&&Id(n))return an(n.name,_.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(Id(n)&&$ie(n.questionToken,_.An_accessor_property_cannot_be_declared_optional))return!0}else if(n.parent.kind===261){if(JC(n.name,_.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(L.assertNode(n,$d),n.initializer)return an(n.initializer,_.An_interface_property_cannot_have_an_initializer)}else if(Rd(n.parent)){if(JC(n.name,_.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(L.assertNode(n,$d),n.initializer)return an(n.initializer,_.A_type_literal_property_cannot_have_an_initializer)}if(n.flags&16777216&&uke(n),Na(n)&&n.exclamationToken&&(!Yr(n.parent)||!n.type||n.initializer||n.flags&16777216||Ca(n)||B0(n))){let a=n.initializer?_.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:n.type?_.A_definite_assignment_assertion_is_not_permitted_in_this_context:_.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return an(n.exclamationToken,a)}}function eit(n){return n.kind===261||n.kind===262||n.kind===269||n.kind===268||n.kind===275||n.kind===274||n.kind===267||Mr(n,1027)?!1:dl(n,_.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function tit(n){for(let a of n.statements)if((Kl(a)||a.kind===240)&&eit(a))return!0;return!1}function nit(n){return!!(n.flags&16777216)&&tit(n)}function vh(n){if(n.flags&16777216){if(!Rr(n).hasReportedStatementInAmbientContext&&(Ia(n.parent)||rb(n.parent)))return Rr(n).hasReportedStatementInAmbientContext=dl(n,_.An_implementation_cannot_be_declared_in_ambient_contexts);if(n.parent.kind===238||n.parent.kind===265||n.parent.kind===308){let c=Rr(n.parent);if(!c.hasReportedStatementInAmbientContext)return c.hasReportedStatementInAmbientContext=dl(n,_.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function eae(n){if(n.numericLiteralFlags&32){let a;if(R>=1?a=_.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:TH(n,198)?a=_.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:TH(n,302)&&(a=_.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),a){let c=tv(n.parent)&&n.parent.operator===40,u=(c?"-":"")+"0o"+n.text;return an(c?n.parent:n,a,u)}}return rit(n),!1}function rit(n){let a=Qc(n).indexOf(".")!==-1,c=n.numericLiteralFlags&16;a||c||+n.text<=2**53-1||ey(!1,hr(n,_.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}function iit(n){return!!(!(mb(n.parent)||tv(n.parent)&&mb(n.parent.parent))&&R<7&&an(n,_.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))}function ait(n,a,c,u,p){let h=Gn(n);if(!l0(h)){let T=Pg(h,n.pos);return Lo.add(al(h,wl(T),0,a,c,u,p)),!0}return!1}function oit(){return Go||(Go=[],Ne.forEach((n,a)=>{uF.test(a)&&Go.push(n)})),Go}function sit(n){var a;return n.isTypeOnly&&n.name&&n.namedBindings?an(n,_.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both):n.isTypeOnly&&((a=n.namedBindings)==null?void 0:a.kind)===272?pke(n.namedBindings):!1}function pke(n){return!!mn(n.elements,a=>{if(a.isTypeOnly)return dl(a,a.kind===273?_.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:_.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement)})}function cit(n){if(Y.verbatimModuleSyntax&&ie===1)return an(n,_.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);if(ie===5)return an(n,_.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext);if(n.typeArguments)return an(n,_.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);let a=n.arguments;if(ie!==99&&ie!==199&&ie!==100&&(B1(a),a.length>1)){let u=a[1];return an(u,_.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext)}if(a.length===0||a.length>2)return an(n,_.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments);let c=wr(a,Km);return c?an(c,_.Argument_of_dynamic_import_cannot_be_spread_element):!1}function lit(n,a){let c=Ur(n);if(c&20&&a.flags&1048576)return wr(a.types,u=>{if(u.flags&524288){let p=c&Ur(u);if(p&4)return n.target===u.target;if(p&16)return!!n.aliasSymbol&&n.aliasSymbol===u.aliasSymbol}return!1})}function uit(n,a){if(Ur(n)&128&&yh(a,Kv))return wr(a.types,c=>!Kv(c))}function dit(n,a){let c=0;if(xa(n,c).length>0||(c=1,xa(n,c).length>0))return wr(a.types,p=>xa(p,c).length>0)}function fit(n,a){let c;if(!(n.flags&406978556)){let u=0;for(let p of a.types)if(!(p.flags&406978556)){let h=so([Gp(n),Gp(p)]);if(h.flags&4194304)return p;if(N_(h)||h.flags&1048576){let T=h.flags&1048576?Oy(h.types,N_):1;T>=u&&(c=p,u=T)}}}return c}function _it(n){if(Js(n,67108864)){let a=jc(n,c=>!(c.flags&134348796));if(!(a.flags&131072))return a}return n}function mke(n,a,c,u){if(a.flags&1048576&&n.flags&2621440){let p=O2e(a,n);if(p)return p;let h=Jo(n);if(h){let T=R2e(h,a);if(T)return Wne(a,on(T,k=>[()=>zn(k),k.escapedName]),c,void 0,u)}}}}function mPe(e){return!rb(e)}function D_e(e){return e.kind!==259&&e.kind!==171||!!e.body}function w_e(e){switch(e.parent.kind){case 273:case 278:return Re(e);default:return Rh(e)}}function R_e(e){switch(e){case 0:return"yieldType";case 1:return"returnType";case 2:return"nextType"}}function Xl(e){return!!(e.flags&1)}function _K(e){return!!(e.flags&2)}function hPe(e){return{getCommonSourceDirectory:e.getCommonSourceDirectory?()=>e.getCommonSourceDirectory():()=>"",getCurrentDirectory:()=>e.getCurrentDirectory(),getSymlinkCache:ho(e,e.getSymlinkCache),getPackageJsonInfoCache:()=>{var t;return(t=e.getPackageJsonInfoCache)==null?void 0:t.call(e)},useCaseSensitiveFileNames:ho(e,e.useCaseSensitiveFileNames),redirectTargetsMap:e.redirectTargetsMap,getProjectReferenceRedirect:t=>e.getProjectReferenceRedirect(t),isSourceOfProjectReferenceRedirect:t=>e.isSourceOfProjectReferenceRedirect(t),fileExists:t=>e.fileExists(t),getFileIncludeReasons:()=>e.getFileIncludeReasons(),readFile:e.readFile?t=>e.readFile(t):void 0}}var uF,nN,pK,mK,hK,gK,dF,fF,_F,pF,O_e,rN,yK,Qd,iN,gPe=gt({"src/compiler/checker.ts"(){"use strict";fa(),dK(),E0(),uF=/^".+"$/,nN="(anonymous)",pK=1,mK=1,hK=1,gK=1,dF=(e=>(e[e.None=0]="None",e[e.TypeofEQString=1]="TypeofEQString",e[e.TypeofEQNumber=2]="TypeofEQNumber",e[e.TypeofEQBigInt=4]="TypeofEQBigInt",e[e.TypeofEQBoolean=8]="TypeofEQBoolean",e[e.TypeofEQSymbol=16]="TypeofEQSymbol",e[e.TypeofEQObject=32]="TypeofEQObject",e[e.TypeofEQFunction=64]="TypeofEQFunction",e[e.TypeofEQHostObject=128]="TypeofEQHostObject",e[e.TypeofNEString=256]="TypeofNEString",e[e.TypeofNENumber=512]="TypeofNENumber",e[e.TypeofNEBigInt=1024]="TypeofNEBigInt",e[e.TypeofNEBoolean=2048]="TypeofNEBoolean",e[e.TypeofNESymbol=4096]="TypeofNESymbol",e[e.TypeofNEObject=8192]="TypeofNEObject",e[e.TypeofNEFunction=16384]="TypeofNEFunction",e[e.TypeofNEHostObject=32768]="TypeofNEHostObject",e[e.EQUndefined=65536]="EQUndefined",e[e.EQNull=131072]="EQNull",e[e.EQUndefinedOrNull=262144]="EQUndefinedOrNull",e[e.NEUndefined=524288]="NEUndefined",e[e.NENull=1048576]="NENull",e[e.NEUndefinedOrNull=2097152]="NEUndefinedOrNull",e[e.Truthy=4194304]="Truthy",e[e.Falsy=8388608]="Falsy",e[e.IsUndefined=16777216]="IsUndefined",e[e.IsNull=33554432]="IsNull",e[e.IsUndefinedOrNull=50331648]="IsUndefinedOrNull",e[e.All=134217727]="All",e[e.BaseStringStrictFacts=3735041]="BaseStringStrictFacts",e[e.BaseStringFacts=12582401]="BaseStringFacts",e[e.StringStrictFacts=16317953]="StringStrictFacts",e[e.StringFacts=16776705]="StringFacts",e[e.EmptyStringStrictFacts=12123649]="EmptyStringStrictFacts",e[e.EmptyStringFacts=12582401]="EmptyStringFacts",e[e.NonEmptyStringStrictFacts=7929345]="NonEmptyStringStrictFacts",e[e.NonEmptyStringFacts=16776705]="NonEmptyStringFacts",e[e.BaseNumberStrictFacts=3734786]="BaseNumberStrictFacts",e[e.BaseNumberFacts=12582146]="BaseNumberFacts",e[e.NumberStrictFacts=16317698]="NumberStrictFacts",e[e.NumberFacts=16776450]="NumberFacts",e[e.ZeroNumberStrictFacts=12123394]="ZeroNumberStrictFacts",e[e.ZeroNumberFacts=12582146]="ZeroNumberFacts",e[e.NonZeroNumberStrictFacts=7929090]="NonZeroNumberStrictFacts",e[e.NonZeroNumberFacts=16776450]="NonZeroNumberFacts",e[e.BaseBigIntStrictFacts=3734276]="BaseBigIntStrictFacts",e[e.BaseBigIntFacts=12581636]="BaseBigIntFacts",e[e.BigIntStrictFacts=16317188]="BigIntStrictFacts",e[e.BigIntFacts=16775940]="BigIntFacts",e[e.ZeroBigIntStrictFacts=12122884]="ZeroBigIntStrictFacts",e[e.ZeroBigIntFacts=12581636]="ZeroBigIntFacts",e[e.NonZeroBigIntStrictFacts=7928580]="NonZeroBigIntStrictFacts",e[e.NonZeroBigIntFacts=16775940]="NonZeroBigIntFacts",e[e.BaseBooleanStrictFacts=3733256]="BaseBooleanStrictFacts",e[e.BaseBooleanFacts=12580616]="BaseBooleanFacts",e[e.BooleanStrictFacts=16316168]="BooleanStrictFacts",e[e.BooleanFacts=16774920]="BooleanFacts",e[e.FalseStrictFacts=12121864]="FalseStrictFacts",e[e.FalseFacts=12580616]="FalseFacts",e[e.TrueStrictFacts=7927560]="TrueStrictFacts",e[e.TrueFacts=16774920]="TrueFacts",e[e.SymbolStrictFacts=7925520]="SymbolStrictFacts",e[e.SymbolFacts=16772880]="SymbolFacts",e[e.ObjectStrictFacts=7888800]="ObjectStrictFacts",e[e.ObjectFacts=16736160]="ObjectFacts",e[e.FunctionStrictFacts=7880640]="FunctionStrictFacts",e[e.FunctionFacts=16728e3]="FunctionFacts",e[e.VoidFacts=9830144]="VoidFacts",e[e.UndefinedFacts=26607360]="UndefinedFacts",e[e.NullFacts=42917664]="NullFacts",e[e.EmptyObjectStrictFacts=83427327]="EmptyObjectStrictFacts",e[e.EmptyObjectFacts=83886079]="EmptyObjectFacts",e[e.UnknownFacts=83886079]="UnknownFacts",e[e.AllTypeofNE=556800]="AllTypeofNE",e[e.OrFactsMask=8256]="OrFactsMask",e[e.AndFactsMask=134209471]="AndFactsMask",e))(dF||{}),fF=new Map(Object.entries({string:256,number:512,bigint:1024,boolean:2048,symbol:4096,undefined:524288,object:8192,function:16384})),_F=(e=>(e[e.Normal=0]="Normal",e[e.Contextual=1]="Contextual",e[e.Inferential=2]="Inferential",e[e.SkipContextSensitive=4]="SkipContextSensitive",e[e.SkipGenericFunctions=8]="SkipGenericFunctions",e[e.IsForSignatureHelp=16]="IsForSignatureHelp",e[e.IsForStringLiteralArgumentCompletions=32]="IsForStringLiteralArgumentCompletions",e[e.RestBindingElement=64]="RestBindingElement",e))(_F||{}),pF=(e=>(e[e.None=0]="None",e[e.BivariantCallback=1]="BivariantCallback",e[e.StrictCallback=2]="StrictCallback",e[e.IgnoreReturnTypes=4]="IgnoreReturnTypes",e[e.StrictArity=8]="StrictArity",e[e.StrictTopSignature=16]="StrictTopSignature",e[e.Callback=3]="Callback",e))(pF||{}),O_e=g8(D_e,mPe),rN=new Map(Object.entries({Uppercase:0,Lowercase:1,Capitalize:2,Uncapitalize:3})),yK=class{},(e=>{e.JSX="JSX",e.IntrinsicElements="IntrinsicElements",e.ElementClass="ElementClass",e.ElementAttributesPropertyNameContainer="ElementAttributesProperty",e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",e.Element="Element",e.IntrinsicAttributes="IntrinsicAttributes",e.IntrinsicClassAttributes="IntrinsicClassAttributes",e.LibraryManagedAttributes="LibraryManagedAttributes"})(Qd||(Qd={})),iN=class{constructor(e,t,r){this.moduleResolverHost=void 0,this.inner=void 0,this.disableTrackSymbol=!1;for(var i;t instanceof iN;)t=t.inner;this.inner=t,this.moduleResolverHost=r,this.context=e,this.canTrackSymbol=!!((i=this.inner)!=null&&i.trackSymbol)}trackSymbol(e,t,r){var i;return(i=this.inner)!=null&&i.trackSymbol&&!this.disableTrackSymbol&&this.inner.trackSymbol(e,t,r)?(this.onDiagnosticReported(),!0):!1}reportInaccessibleThisError(){var e;(e=this.inner)!=null&&e.reportInaccessibleThisError&&(this.onDiagnosticReported(),this.inner.reportInaccessibleThisError())}reportPrivateInBaseOfClassExpression(e){var t;(t=this.inner)!=null&&t.reportPrivateInBaseOfClassExpression&&(this.onDiagnosticReported(),this.inner.reportPrivateInBaseOfClassExpression(e))}reportInaccessibleUniqueSymbolError(){var e;(e=this.inner)!=null&&e.reportInaccessibleUniqueSymbolError&&(this.onDiagnosticReported(),this.inner.reportInaccessibleUniqueSymbolError())}reportCyclicStructureError(){var e;(e=this.inner)!=null&&e.reportCyclicStructureError&&(this.onDiagnosticReported(),this.inner.reportCyclicStructureError())}reportLikelyUnsafeImportRequiredError(e){var t;(t=this.inner)!=null&&t.reportLikelyUnsafeImportRequiredError&&(this.onDiagnosticReported(),this.inner.reportLikelyUnsafeImportRequiredError(e))}reportTruncationError(){var e;(e=this.inner)!=null&&e.reportTruncationError&&(this.onDiagnosticReported(),this.inner.reportTruncationError())}trackReferencedAmbientModule(e,t){var r;(r=this.inner)!=null&&r.trackReferencedAmbientModule&&(this.onDiagnosticReported(),this.inner.trackReferencedAmbientModule(e,t))}trackExternalModuleSymbolOfImportTypeNode(e){var t;(t=this.inner)!=null&&t.trackExternalModuleSymbolOfImportTypeNode&&(this.onDiagnosticReported(),this.inner.trackExternalModuleSymbolOfImportTypeNode(e))}reportNonlocalAugmentation(e,t,r){var i;(i=this.inner)!=null&&i.reportNonlocalAugmentation&&(this.onDiagnosticReported(),this.inner.reportNonlocalAugmentation(e,t,r))}reportNonSerializableProperty(e){var t;(t=this.inner)!=null&&t.reportNonSerializableProperty&&(this.onDiagnosticReported(),this.inner.reportNonSerializableProperty(e))}reportImportTypeNodeResolutionModeOverride(){var e;(e=this.inner)!=null&&e.reportImportTypeNodeResolutionModeOverride&&(this.onDiagnosticReported(),this.inner.reportImportTypeNodeResolutionModeOverride())}onDiagnosticReported(){this.context.reportedDiagnostic=!0}}}});function $e(e,t,r,i){if(e===void 0)return e;let o=t(e),s;if(o!==void 0)return ba(o)?s=(i||TPe)(o):s=o,L.assertNode(s,r),s}function On(e,t,r,i,o){if(e===void 0)return e;let s=e.length;(i===void 0||i<0)&&(i=0),(o===void 0||o>s-i)&&(o=s-i);let l,f=-1,d=-1;i>0||o<s?l=e.hasTrailingComma&&i+o===s:(f=e.pos,d=e.end,l=e.hasTrailingComma);let g=N_e(e,t,r,i,o);if(g!==e){let m=D.createNodeArray(g,l);return om(m,f,d),m}return e}function vK(e,t,r,i,o){if(e===void 0)return e;let s=e.length;return(i===void 0||i<0)&&(i=0),(o===void 0||o>s-i)&&(o=s-i),N_e(e,t,r,i,o)}function N_e(e,t,r,i,o){let s,l=e.length;(i>0||o<l)&&(s=[]);for(let f=0;f<o;f++){let d=e[f+i],g=d!==void 0?t?t(d):d:void 0;if((s!==void 0||g===void 0||g!==d)&&(s===void 0&&(s=e.slice(0,f),L.assertEachNode(s,r)),g))if(ba(g))for(let m of g)L.assertNode(m,r),s.push(m);else L.assertNode(g,r),s.push(g)}return s||(L.assertEachNode(e,r),e)}function mF(e,t,r,i,o,s=On){return r.startLexicalEnvironment(),e=s(e,t,ca,i),o&&(e=r.factory.ensureUseStrict(e)),D.mergeLexicalEnvironment(e,r.endLexicalEnvironment())}function Sc(e,t,r,i=On){let o;return r.startLexicalEnvironment(),e&&(r.setLexicalEnvironmentFlags(1,!0),o=i(e,t,ha),r.getLexicalEnvironmentFlags()&2&&Do(r.getCompilerOptions())>=2&&(o=yPe(o,r)),r.setLexicalEnvironmentFlags(1,!1)),r.suspendLexicalEnvironment(),o}function yPe(e,t){let r;for(let i=0;i<e.length;i++){let o=e[i],s=vPe(o,t);(r||s!==o)&&(r||(r=e.slice(0,i)),r[i]=s)}return r?it(t.factory.createNodeArray(r,e.hasTrailingComma),e):e}function vPe(e,t){return e.dotDotDotToken?e:La(e.name)?bPe(e,t):e.initializer?EPe(e,e.name,e.initializer,t):e}function bPe(e,t){let{factory:r}=t;return t.addInitializationStatement(r.createVariableStatement(void 0,r.createVariableDeclarationList([r.createVariableDeclaration(e.name,void 0,e.type,e.initializer?r.createConditionalExpression(r.createStrictEquality(r.getGeneratedNameForNode(e),r.createVoidZero()),void 0,e.initializer,void 0,r.getGeneratedNameForNode(e)):r.getGeneratedNameForNode(e))]))),r.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,r.getGeneratedNameForNode(e),e.questionToken,e.type,void 0)}function EPe(e,t,r,i){let o=i.factory;return i.addInitializationStatement(o.createIfStatement(o.createTypeCheck(o.cloneNode(t),"undefined"),Jn(it(o.createBlock([o.createExpressionStatement(Jn(it(o.createAssignment(Jn(o.cloneNode(t),96),Jn(r,96|Ya(r)|3072)),e),3072))]),e),3905))),o.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,e.name,e.questionToken,e.type,void 0)}function Zd(e,t,r,i=$e){r.resumeLexicalEnvironment();let o=i(e,t,u6),s=r.endLexicalEnvironment();if(vt(s)){if(!o)return r.factory.createBlock(s);let l=r.factory.converters.convertToFunctionBlock(o),f=D.mergeLexicalEnvironment(l.statements,s);return r.factory.updateBlock(l,f)}return o}function jf(e,t,r,i=$e){r.startBlockScope();let o=i(e,t,ca,r.factory.liftToBlock);L.assert(o);let s=r.endBlockScope();return vt(s)?Va(o)?(s.push(...o.statements),r.factory.updateBlock(o,s)):(s.push(o),r.factory.createBlock(s)):o}function aN(e,t,r=t){if(r===t||e.length<=1)return On(e,t,ot);let i=0,o=e.length;return On(e,s=>{let l=i<o-1;return i++,l?r(s):t(s)},ot)}function xn(e,t,r,i=On,o,s=$e){if(e===void 0)return;let l=P_e[e.kind];return l===void 0?e:l(e,t,r,i,s,o)}function TPe(e){return L.assert(e.length<=1,"Too many nodes written to output."),Wp(e)}var P_e,SPe=gt({"src/compiler/visitorPublic.ts"(){"use strict";fa(),P_e={163:function(t,r,i,o,s,l){return i.factory.updateQualifiedName(t,L.checkDefined(s(t.left,r,Cd)),L.checkDefined(s(t.right,r,Re)))},164:function(t,r,i,o,s,l){return i.factory.updateComputedPropertyName(t,L.checkDefined(s(t.expression,r,ot)))},165:function(t,r,i,o,s,l){return i.factory.updateTypeParameterDeclaration(t,o(t.modifiers,r,Ha),L.checkDefined(s(t.name,r,Re)),s(t.constraint,r,bi),s(t.default,r,bi))},166:function(t,r,i,o,s,l){return i.factory.updateParameterDeclaration(t,o(t.modifiers,r,Ns),l?s(t.dotDotDotToken,l,o3):t.dotDotDotToken,L.checkDefined(s(t.name,r,Mm)),l?s(t.questionToken,l,ev):t.questionToken,s(t.type,r,bi),s(t.initializer,r,ot))},167:function(t,r,i,o,s,l){return i.factory.updateDecorator(t,L.checkDefined(s(t.expression,r,ot)))},168:function(t,r,i,o,s,l){return i.factory.updatePropertySignature(t,o(t.modifiers,r,Ha),L.checkDefined(s(t.name,r,Ys)),l?s(t.questionToken,l,ev):t.questionToken,s(t.type,r,bi))},169:function(t,r,i,o,s,l){var f,d;return i.factory.updatePropertyDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,Ys)),l?s((f=t.questionToken)!=null?f:t.exclamationToken,l,lde):(d=t.questionToken)!=null?d:t.exclamationToken,s(t.type,r,bi),s(t.initializer,r,ot))},170:function(t,r,i,o,s,l){return i.factory.updateMethodSignature(t,o(t.modifiers,r,Ha),L.checkDefined(s(t.name,r,Ys)),l?s(t.questionToken,l,ev):t.questionToken,o(t.typeParameters,r,_c),o(t.parameters,r,ha),s(t.type,r,bi))},171:function(t,r,i,o,s,l){return i.factory.updateMethodDeclaration(t,o(t.modifiers,r,Ns),l?s(t.asteriskToken,l,cO):t.asteriskToken,L.checkDefined(s(t.name,r,Ys)),l?s(t.questionToken,l,ev):t.questionToken,o(t.typeParameters,r,_c),Sc(t.parameters,r,i,o),s(t.type,r,bi),Zd(t.body,r,i,s))},173:function(t,r,i,o,s,l){return i.factory.updateConstructorDeclaration(t,o(t.modifiers,r,Ns),Sc(t.parameters,r,i,o),Zd(t.body,r,i,s))},174:function(t,r,i,o,s,l){return i.factory.updateGetAccessorDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,Ys)),Sc(t.parameters,r,i,o),s(t.type,r,bi),Zd(t.body,r,i,s))},175:function(t,r,i,o,s,l){return i.factory.updateSetAccessorDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,Ys)),Sc(t.parameters,r,i,o),Zd(t.body,r,i,s))},172:function(t,r,i,o,s,l){return i.startLexicalEnvironment(),i.suspendLexicalEnvironment(),i.factory.updateClassStaticBlockDeclaration(t,Zd(t.body,r,i,s))},176:function(t,r,i,o,s,l){return i.factory.updateCallSignature(t,o(t.typeParameters,r,_c),o(t.parameters,r,ha),s(t.type,r,bi))},177:function(t,r,i,o,s,l){return i.factory.updateConstructSignature(t,o(t.typeParameters,r,_c),o(t.parameters,r,ha),s(t.type,r,bi))},178:function(t,r,i,o,s,l){return i.factory.updateIndexSignature(t,o(t.modifiers,r,Ns),o(t.parameters,r,ha),L.checkDefined(s(t.type,r,bi)))},179:function(t,r,i,o,s,l){return i.factory.updateTypePredicateNode(t,s(t.assertsModifier,r,Due),L.checkDefined(s(t.parameterName,r,ude)),s(t.type,r,bi))},180:function(t,r,i,o,s,l){return i.factory.updateTypeReferenceNode(t,L.checkDefined(s(t.typeName,r,Cd)),o(t.typeArguments,r,bi))},181:function(t,r,i,o,s,l){return i.factory.updateFunctionTypeNode(t,o(t.typeParameters,r,_c),o(t.parameters,r,ha),L.checkDefined(s(t.type,r,bi)))},182:function(t,r,i,o,s,l){return i.factory.updateConstructorTypeNode(t,o(t.modifiers,r,Ha),o(t.typeParameters,r,_c),o(t.parameters,r,ha),L.checkDefined(s(t.type,r,bi)))},183:function(t,r,i,o,s,l){return i.factory.updateTypeQueryNode(t,L.checkDefined(s(t.exprName,r,Cd)),o(t.typeArguments,r,bi))},184:function(t,r,i,o,s,l){return i.factory.updateTypeLiteralNode(t,o(t.members,r,_T))},185:function(t,r,i,o,s,l){return i.factory.updateArrayTypeNode(t,L.checkDefined(s(t.elementType,r,bi)))},186:function(t,r,i,o,s,l){return i.factory.updateTupleTypeNode(t,o(t.elements,r,bi))},187:function(t,r,i,o,s,l){return i.factory.updateOptionalTypeNode(t,L.checkDefined(s(t.type,r,bi)))},188:function(t,r,i,o,s,l){return i.factory.updateRestTypeNode(t,L.checkDefined(s(t.type,r,bi)))},189:function(t,r,i,o,s,l){return i.factory.updateUnionTypeNode(t,o(t.types,r,bi))},190:function(t,r,i,o,s,l){return i.factory.updateIntersectionTypeNode(t,o(t.types,r,bi))},191:function(t,r,i,o,s,l){return i.factory.updateConditionalTypeNode(t,L.checkDefined(s(t.checkType,r,bi)),L.checkDefined(s(t.extendsType,r,bi)),L.checkDefined(s(t.trueType,r,bi)),L.checkDefined(s(t.falseType,r,bi)))},192:function(t,r,i,o,s,l){return i.factory.updateInferTypeNode(t,L.checkDefined(s(t.typeParameter,r,_c)))},202:function(t,r,i,o,s,l){return i.factory.updateImportTypeNode(t,L.checkDefined(s(t.argument,r,bi)),s(t.assertions,r,Vue),s(t.qualifier,r,Cd),o(t.typeArguments,r,bi),t.isTypeOf)},298:function(t,r,i,o,s,l){return i.factory.updateImportTypeAssertionContainer(t,L.checkDefined(s(t.assertClause,r,p3)),t.multiLine)},199:function(t,r,i,o,s,l){return i.factory.updateNamedTupleMember(t,l?s(t.dotDotDotToken,l,o3):t.dotDotDotToken,L.checkDefined(s(t.name,r,Re)),l?s(t.questionToken,l,ev):t.questionToken,L.checkDefined(s(t.type,r,bi)))},193:function(t,r,i,o,s,l){return i.factory.updateParenthesizedType(t,L.checkDefined(s(t.type,r,bi)))},195:function(t,r,i,o,s,l){return i.factory.updateTypeOperatorNode(t,L.checkDefined(s(t.type,r,bi)))},196:function(t,r,i,o,s,l){return i.factory.updateIndexedAccessTypeNode(t,L.checkDefined(s(t.objectType,r,bi)),L.checkDefined(s(t.indexType,r,bi)))},197:function(t,r,i,o,s,l){return i.factory.updateMappedTypeNode(t,l?s(t.readonlyToken,l,dde):t.readonlyToken,L.checkDefined(s(t.typeParameter,r,_c)),s(t.nameType,r,bi),l?s(t.questionToken,l,fde):t.questionToken,s(t.type,r,bi),o(t.members,r,_T))},198:function(t,r,i,o,s,l){return i.factory.updateLiteralTypeNode(t,L.checkDefined(s(t.literal,r,hse)))},200:function(t,r,i,o,s,l){return i.factory.updateTemplateLiteralType(t,L.checkDefined(s(t.head,r,f2)),o(t.templateSpans,r,Mue))},201:function(t,r,i,o,s,l){return i.factory.updateTemplateLiteralTypeSpan(t,L.checkDefined(s(t.type,r,bi)),L.checkDefined(s(t.literal,r,o6)))},203:function(t,r,i,o,s,l){return i.factory.updateObjectBindingPattern(t,o(t.elements,r,Wo))},204:function(t,r,i,o,s,l){return i.factory.updateArrayBindingPattern(t,o(t.elements,r,c6))},205:function(t,r,i,o,s,l){return i.factory.updateBindingElement(t,l?s(t.dotDotDotToken,l,o3):t.dotDotDotToken,s(t.propertyName,r,Ys),L.checkDefined(s(t.name,r,Mm)),s(t.initializer,r,ot))},206:function(t,r,i,o,s,l){return i.factory.updateArrayLiteralExpression(t,o(t.elements,r,ot))},207:function(t,r,i,o,s,l){return i.factory.updateObjectLiteralExpression(t,o(t.properties,r,Og))},208:function(t,r,i,o,s,l){return n6(t)?i.factory.updatePropertyAccessChain(t,L.checkDefined(s(t.expression,r,ot)),l?s(t.questionDotToken,l,s3):t.questionDotToken,L.checkDefined(s(t.name,r,Ah))):i.factory.updatePropertyAccessExpression(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.name,r,Ah)))},209:function(t,r,i,o,s,l){return Dj(t)?i.factory.updateElementAccessChain(t,L.checkDefined(s(t.expression,r,ot)),l?s(t.questionDotToken,l,s3):t.questionDotToken,L.checkDefined(s(t.argumentExpression,r,ot))):i.factory.updateElementAccessExpression(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.argumentExpression,r,ot)))},210:function(t,r,i,o,s,l){return dT(t)?i.factory.updateCallChain(t,L.checkDefined(s(t.expression,r,ot)),l?s(t.questionDotToken,l,s3):t.questionDotToken,o(t.typeArguments,r,bi),o(t.arguments,r,ot)):i.factory.updateCallExpression(t,L.checkDefined(s(t.expression,r,ot)),o(t.typeArguments,r,bi),o(t.arguments,r,ot))},211:function(t,r,i,o,s,l){return i.factory.updateNewExpression(t,L.checkDefined(s(t.expression,r,ot)),o(t.typeArguments,r,bi),o(t.arguments,r,ot))},212:function(t,r,i,o,s,l){return i.factory.updateTaggedTemplateExpression(t,L.checkDefined(s(t.tag,r,ot)),o(t.typeArguments,r,bi),L.checkDefined(s(t.template,r,AA)))},213:function(t,r,i,o,s,l){return i.factory.updateTypeAssertion(t,L.checkDefined(s(t.type,r,bi)),L.checkDefined(s(t.expression,r,ot)))},214:function(t,r,i,o,s,l){return i.factory.updateParenthesizedExpression(t,L.checkDefined(s(t.expression,r,ot)))},215:function(t,r,i,o,s,l){return i.factory.updateFunctionExpression(t,o(t.modifiers,r,Ha),l?s(t.asteriskToken,l,cO):t.asteriskToken,s(t.name,r,Re),o(t.typeParameters,r,_c),Sc(t.parameters,r,i,o),s(t.type,r,bi),Zd(t.body,r,i,s))},216:function(t,r,i,o,s,l){return i.factory.updateArrowFunction(t,o(t.modifiers,r,Ha),o(t.typeParameters,r,_c),Sc(t.parameters,r,i,o),s(t.type,r,bi),l?L.checkDefined(s(t.equalsGreaterThanToken,l,Lue)):t.equalsGreaterThanToken,Zd(t.body,r,i,s))},217:function(t,r,i,o,s,l){return i.factory.updateDeleteExpression(t,L.checkDefined(s(t.expression,r,ot)))},218:function(t,r,i,o,s,l){return i.factory.updateTypeOfExpression(t,L.checkDefined(s(t.expression,r,ot)))},219:function(t,r,i,o,s,l){return i.factory.updateVoidExpression(t,L.checkDefined(s(t.expression,r,ot)))},220:function(t,r,i,o,s,l){return i.factory.updateAwaitExpression(t,L.checkDefined(s(t.expression,r,ot)))},221:function(t,r,i,o,s,l){return i.factory.updatePrefixUnaryExpression(t,L.checkDefined(s(t.operand,r,ot)))},222:function(t,r,i,o,s,l){return i.factory.updatePostfixUnaryExpression(t,L.checkDefined(s(t.operand,r,ot)))},223:function(t,r,i,o,s,l){return i.factory.updateBinaryExpression(t,L.checkDefined(s(t.left,r,ot)),l?L.checkDefined(s(t.operatorToken,l,pde)):t.operatorToken,L.checkDefined(s(t.right,r,ot)))},224:function(t,r,i,o,s,l){return i.factory.updateConditionalExpression(t,L.checkDefined(s(t.condition,r,ot)),l?L.checkDefined(s(t.questionToken,l,ev)):t.questionToken,L.checkDefined(s(t.whenTrue,r,ot)),l?L.checkDefined(s(t.colonToken,l,Iue)):t.colonToken,L.checkDefined(s(t.whenFalse,r,ot)))},225:function(t,r,i,o,s,l){return i.factory.updateTemplateExpression(t,L.checkDefined(s(t.head,r,f2)),o(t.templateSpans,r,xL))},226:function(t,r,i,o,s,l){return i.factory.updateYieldExpression(t,l?s(t.asteriskToken,l,cO):t.asteriskToken,s(t.expression,r,ot))},227:function(t,r,i,o,s,l){return i.factory.updateSpreadElement(t,L.checkDefined(s(t.expression,r,ot)))},228:function(t,r,i,o,s,l){return i.factory.updateClassExpression(t,o(t.modifiers,r,Ns),s(t.name,r,Re),o(t.typeParameters,r,_c),o(t.heritageClauses,r,dd),o(t.members,r,_l))},230:function(t,r,i,o,s,l){return i.factory.updateExpressionWithTypeArguments(t,L.checkDefined(s(t.expression,r,ot)),o(t.typeArguments,r,bi))},231:function(t,r,i,o,s,l){return i.factory.updateAsExpression(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.type,r,bi)))},235:function(t,r,i,o,s,l){return i.factory.updateSatisfiesExpression(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.type,r,bi)))},232:function(t,r,i,o,s,l){return Jl(t)?i.factory.updateNonNullChain(t,L.checkDefined(s(t.expression,r,ot))):i.factory.updateNonNullExpression(t,L.checkDefined(s(t.expression,r,ot)))},233:function(t,r,i,o,s,l){return i.factory.updateMetaProperty(t,L.checkDefined(s(t.name,r,Re)))},236:function(t,r,i,o,s,l){return i.factory.updateTemplateSpan(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.literal,r,o6)))},238:function(t,r,i,o,s,l){return i.factory.updateBlock(t,o(t.statements,r,ca))},240:function(t,r,i,o,s,l){return i.factory.updateVariableStatement(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.declarationList,r,pu)))},241:function(t,r,i,o,s,l){return i.factory.updateExpressionStatement(t,L.checkDefined(s(t.expression,r,ot)))},242:function(t,r,i,o,s,l){return i.factory.updateIfStatement(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.thenStatement,r,ca,i.factory.liftToBlock)),s(t.elseStatement,r,ca,i.factory.liftToBlock))},243:function(t,r,i,o,s,l){return i.factory.updateDoStatement(t,jf(t.statement,r,i,s),L.checkDefined(s(t.expression,r,ot)))},244:function(t,r,i,o,s,l){return i.factory.updateWhileStatement(t,L.checkDefined(s(t.expression,r,ot)),jf(t.statement,r,i,s))},245:function(t,r,i,o,s,l){return i.factory.updateForStatement(t,s(t.initializer,r,pp),s(t.condition,r,ot),s(t.incrementor,r,ot),jf(t.statement,r,i,s))},246:function(t,r,i,o,s,l){return i.factory.updateForInStatement(t,L.checkDefined(s(t.initializer,r,pp)),L.checkDefined(s(t.expression,r,ot)),jf(t.statement,r,i,s))},247:function(t,r,i,o,s,l){return i.factory.updateForOfStatement(t,l?s(t.awaitModifier,l,Dz):t.awaitModifier,L.checkDefined(s(t.initializer,r,pp)),L.checkDefined(s(t.expression,r,ot)),jf(t.statement,r,i,s))},248:function(t,r,i,o,s,l){return i.factory.updateContinueStatement(t,s(t.label,r,Re))},249:function(t,r,i,o,s,l){return i.factory.updateBreakStatement(t,s(t.label,r,Re))},250:function(t,r,i,o,s,l){return i.factory.updateReturnStatement(t,s(t.expression,r,ot))},251:function(t,r,i,o,s,l){return i.factory.updateWithStatement(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.statement,r,ca,i.factory.liftToBlock)))},252:function(t,r,i,o,s,l){return i.factory.updateSwitchStatement(t,L.checkDefined(s(t.expression,r,ot)),L.checkDefined(s(t.caseBlock,r,hO)))},253:function(t,r,i,o,s,l){return i.factory.updateLabeledStatement(t,L.checkDefined(s(t.label,r,Re)),L.checkDefined(s(t.statement,r,ca,i.factory.liftToBlock)))},254:function(t,r,i,o,s,l){return i.factory.updateThrowStatement(t,L.checkDefined(s(t.expression,r,ot)))},255:function(t,r,i,o,s,l){return i.factory.updateTryStatement(t,L.checkDefined(s(t.tryBlock,r,Va)),s(t.catchClause,r,E2),s(t.finallyBlock,r,Va))},257:function(t,r,i,o,s,l){return i.factory.updateVariableDeclaration(t,L.checkDefined(s(t.name,r,Mm)),l?s(t.exclamationToken,l,lO):t.exclamationToken,s(t.type,r,bi),s(t.initializer,r,ot))},258:function(t,r,i,o,s,l){return i.factory.updateVariableDeclarationList(t,o(t.declarations,r,wi))},259:function(t,r,i,o,s,l){return i.factory.updateFunctionDeclaration(t,o(t.modifiers,r,Ha),l?s(t.asteriskToken,l,cO):t.asteriskToken,s(t.name,r,Re),o(t.typeParameters,r,_c),Sc(t.parameters,r,i,o),s(t.type,r,bi),Zd(t.body,r,i,s))},260:function(t,r,i,o,s,l){return i.factory.updateClassDeclaration(t,o(t.modifiers,r,Ns),s(t.name,r,Re),o(t.typeParameters,r,_c),o(t.heritageClauses,r,dd),o(t.members,r,_l))},261:function(t,r,i,o,s,l){return i.factory.updateInterfaceDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,Re)),o(t.typeParameters,r,_c),o(t.heritageClauses,r,dd),o(t.members,r,_T))},262:function(t,r,i,o,s,l){return i.factory.updateTypeAliasDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,Re)),o(t.typeParameters,r,_c),L.checkDefined(s(t.type,r,bi)))},263:function(t,r,i,o,s,l){return i.factory.updateEnumDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,Re)),o(t.members,r,q0))},264:function(t,r,i,o,s,l){return i.factory.updateModuleDeclaration(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.name,r,_de)),s(t.body,r,vse))},265:function(t,r,i,o,s,l){return i.factory.updateModuleBlock(t,o(t.statements,r,ca))},266:function(t,r,i,o,s,l){return i.factory.updateCaseBlock(t,o(t.clauses,r,Kj))},267:function(t,r,i,o,s,l){return i.factory.updateNamespaceExportDeclaration(t,L.checkDefined(s(t.name,r,Re)))},268:function(t,r,i,o,s,l){return i.factory.updateImportEqualsDeclaration(t,o(t.modifiers,r,Ns),t.isTypeOnly,L.checkDefined(s(t.name,r,Re)),L.checkDefined(s(t.moduleReference,r,Tse)))},269:function(t,r,i,o,s,l){return i.factory.updateImportDeclaration(t,o(t.modifiers,r,Ns),s(t.importClause,r,lm),L.checkDefined(s(t.moduleSpecifier,r,ot)),s(t.assertClause,r,p3))},296:function(t,r,i,o,s,l){return i.factory.updateAssertClause(t,o(t.elements,r,jue),t.multiLine)},297:function(t,r,i,o,s,l){return i.factory.updateAssertEntry(t,L.checkDefined(s(t.name,r,ase)),L.checkDefined(s(t.value,r,ot)))},270:function(t,r,i,o,s,l){return i.factory.updateImportClause(t,t.isTypeOnly,s(t.name,r,Re),s(t.namedBindings,r,Wj))},271:function(t,r,i,o,s,l){return i.factory.updateNamespaceImport(t,L.checkDefined(s(t.name,r,Re)))},277:function(t,r,i,o,s,l){return i.factory.updateNamespaceExport(t,L.checkDefined(s(t.name,r,Re)))},272:function(t,r,i,o,s,l){return i.factory.updateNamedImports(t,o(t.elements,r,$u))},273:function(t,r,i,o,s,l){return i.factory.updateImportSpecifier(t,t.isTypeOnly,s(t.propertyName,r,Re),L.checkDefined(s(t.name,r,Re)))},274:function(t,r,i,o,s,l){return i.factory.updateExportAssignment(t,o(t.modifiers,r,Ns),L.checkDefined(s(t.expression,r,ot)))},275:function(t,r,i,o,s,l){return i.factory.updateExportDeclaration(t,o(t.modifiers,r,Ns),t.isTypeOnly,s(t.exportClause,r,Rj),s(t.moduleSpecifier,r,ot),s(t.assertClause,r,p3))},276:function(t,r,i,o,s,l){return i.factory.updateNamedExports(t,o(t.elements,r,Mu))},278:function(t,r,i,o,s,l){return i.factory.updateExportSpecifier(t,t.isTypeOnly,s(t.propertyName,r,Re),L.checkDefined(s(t.name,r,Re)))},280:function(t,r,i,o,s,l){return i.factory.updateExternalModuleReference(t,L.checkDefined(s(t.expression,r,ot)))},281:function(t,r,i,o,s,l){return i.factory.updateJsxElement(t,L.checkDefined(s(t.openingElement,r,Xm)),o(t.children,r,Pw),L.checkDefined(s(t.closingElement,r,GS)))},282:function(t,r,i,o,s,l){return i.factory.updateJsxSelfClosingElement(t,L.checkDefined(s(t.tagName,r,bI)),o(t.typeArguments,r,bi),L.checkDefined(s(t.attributes,r,K0)))},283:function(t,r,i,o,s,l){return i.factory.updateJsxOpeningElement(t,L.checkDefined(s(t.tagName,r,bI)),o(t.typeArguments,r,bi),L.checkDefined(s(t.attributes,r,K0)))},284:function(t,r,i,o,s,l){return i.factory.updateJsxClosingElement(t,L.checkDefined(s(t.tagName,r,bI)))},285:function(t,r,i,o,s,l){return i.factory.updateJsxFragment(t,L.checkDefined(s(t.openingFragment,r,US)),o(t.children,r,Pw),L.checkDefined(s(t.closingFragment,r,Hue)))},288:function(t,r,i,o,s,l){return i.factory.updateJsxAttribute(t,L.checkDefined(s(t.name,r,Re)),s(t.initializer,r,Sse))},289:function(t,r,i,o,s,l){return i.factory.updateJsxAttributes(t,o(t.properties,r,d6))},290:function(t,r,i,o,s,l){return i.factory.updateJsxSpreadAttribute(t,L.checkDefined(s(t.expression,r,ot)))},291:function(t,r,i,o,s,l){return i.factory.updateJsxExpression(t,s(t.expression,r,ot))},292:function(t,r,i,o,s,l){return i.factory.updateCaseClause(t,L.checkDefined(s(t.expression,r,ot)),o(t.statements,r,ca))},293:function(t,r,i,o,s,l){return i.factory.updateDefaultClause(t,o(t.statements,r,ca))},294:function(t,r,i,o,s,l){return i.factory.updateHeritageClause(t,o(t.types,r,Vg))},295:function(t,r,i,o,s,l){return i.factory.updateCatchClause(t,s(t.variableDeclaration,r,wi),L.checkDefined(s(t.block,r,Va)))},299:function(t,r,i,o,s,l){return i.factory.updatePropertyAssignment(t,L.checkDefined(s(t.name,r,Ys)),L.checkDefined(s(t.initializer,r,ot)))},300:function(t,r,i,o,s,l){return i.factory.updateShorthandPropertyAssignment(t,L.checkDefined(s(t.name,r,Re)),s(t.objectAssignmentInitializer,r,ot))},301:function(t,r,i,o,s,l){return i.factory.updateSpreadAssignment(t,L.checkDefined(s(t.expression,r,ot)))},302:function(t,r,i,o,s,l){return i.factory.updateEnumMember(t,L.checkDefined(s(t.name,r,Ys)),s(t.initializer,r,ot))},308:function(t,r,i,o,s,l){return i.factory.updateSourceFile(t,mF(t.statements,r,i))},356:function(t,r,i,o,s,l){return i.factory.updatePartiallyEmittedExpression(t,L.checkDefined(s(t.expression,r,ot)))},357:function(t,r,i,o,s,l){return i.factory.updateCommaListExpression(t,o(t.elements,r,ot))}}}});function M_e(e,t,r,i,o){var{enter:s,exit:l}=o.extendedDiagnostics?x8("Source Map","beforeSourcemap","afterSourcemap"):A8,f=[],d=[],g=new Map,m,v=[],S,x=[],A="",w=0,C=0,P=0,F=0,B=0,q=0,W=!1,Y=0,R=0,ie=0,$=0,fe=0,Z=0,U=!1,re=!1,le=!1;return{getSources:()=>f,addSource:_e,setSourceContent:ge,addName:X,addMapping:ke,appendSourceMap:Pe,toJSON:Le,toString:()=>JSON.stringify(Le())};function _e(_t){s();let ct=Q1(i,_t,e.getCurrentDirectory(),e.getCanonicalFileName,!0),Rt=g.get(ct);return Rt===void 0&&(Rt=d.length,d.push(ct),f.push(_t),g.set(ct,Rt)),l(),Rt}function ge(_t,ct){if(s(),ct!==null){for(m||(m=[]);m.length<_t;)m.push(null);m[_t]=ct}l()}function X(_t){s(),S||(S=new Map);let ct=S.get(_t);return ct===void 0&&(ct=v.length,v.push(_t),S.set(_t,ct)),l(),ct}function Ve(_t,ct){return!U||Y!==_t||R!==ct}function we(_t,ct,Rt){return _t!==void 0&&ct!==void 0&&Rt!==void 0&&ie===_t&&($>ct||$===ct&&fe>Rt)}function ke(_t,ct,Rt,We,qe,zt){L.assert(_t>=Y,"generatedLine cannot backtrack"),L.assert(ct>=0,"generatedCharacter cannot be negative"),L.assert(Rt===void 0||Rt>=0,"sourceIndex cannot be negative"),L.assert(We===void 0||We>=0,"sourceLine cannot be negative"),L.assert(qe===void 0||qe>=0,"sourceCharacter cannot be negative"),s(),(Ve(_t,ct)||we(Rt,We,qe))&&(Be(),Y=_t,R=ct,re=!1,le=!1,U=!0),Rt!==void 0&&We!==void 0&&qe!==void 0&&(ie=Rt,$=We,fe=qe,re=!0,zt!==void 0&&(Z=zt,le=!0)),l()}function Pe(_t,ct,Rt,We,qe,zt){L.assert(_t>=Y,"generatedLine cannot backtrack"),L.assert(ct>=0,"generatedCharacter cannot be negative"),s();let Qt=[],tn,kn=EK(Rt.mappings);for(let _n of kn){if(zt&&(_n.generatedLine>zt.line||_n.generatedLine===zt.line&&_n.generatedCharacter>zt.character))break;if(qe&&(_n.generatedLine<qe.line||qe.line===_n.generatedLine&&_n.generatedCharacter<qe.character))continue;let Gt,$n,ui,Ni;if(_n.sourceIndex!==void 0){if(Gt=Qt[_n.sourceIndex],Gt===void 0){let Dt=Rt.sources[_n.sourceIndex],pn=Rt.sourceRoot?vi(Rt.sourceRoot,Dt):Dt,An=vi(ni(We),pn);Qt[_n.sourceIndex]=Gt=_e(An),Rt.sourcesContent&&typeof Rt.sourcesContent[_n.sourceIndex]=="string"&&ge(Gt,Rt.sourcesContent[_n.sourceIndex])}$n=_n.sourceLine,ui=_n.sourceCharacter,Rt.names&&_n.nameIndex!==void 0&&(tn||(tn=[]),Ni=tn[_n.nameIndex],Ni===void 0&&(tn[_n.nameIndex]=Ni=X(Rt.names[_n.nameIndex])))}let Pi=_n.generatedLine-(qe?qe.line:0),gr=Pi+_t,pt=qe&&qe.line===_n.generatedLine?_n.generatedCharacter-qe.character:_n.generatedCharacter,nn=Pi===0?pt+ct:pt;ke(gr,nn,Gt,$n,ui,Ni)}l()}function Ce(){return!W||w!==Y||C!==R||P!==ie||F!==$||B!==fe||q!==Z}function Ie(_t){x.push(_t),x.length>=1024&&Ne()}function Be(){if(!(!U||!Ce())){if(s(),w<Y){do Ie(59),w++;while(w<Y);C=0}else L.assertEqual(w,Y,"generatedLine cannot backtrack"),W&&Ie(44);Ye(R-C),C=R,re&&(Ye(ie-P),P=ie,Ye($-F),F=$,Ye(fe-B),B=fe,le&&(Ye(Z-q),q=Z)),W=!0,l()}}function Ne(){x.length>0&&(A+=String.fromCharCode.apply(void 0,x),x.length=0)}function Le(){return Be(),Ne(),{version:3,file:t,sourceRoot:r,sources:d,names:v,mappings:A,sourcesContent:m}}function Ye(_t){_t<0?_t=(-_t<<1)+1:_t=_t<<1;do{let ct=_t&31;_t=_t>>5,_t>0&&(ct=ct|32),Ie(CPe(ct))}while(_t>0)}}function F_e(e,t){return{getLineCount:()=>t.length,getLineText:r=>e.substring(t[r],t[r+1])}}function G_e(e){for(let t=e.getLineCount()-1;t>=0;t--){let r=e.getLineText(t),i=hF.exec(r);if(i)return $D(i[1]);if(!r.match(gF))break}}function xPe(e){return typeof e=="string"||e===null}function B_e(e){return e!==null&&typeof e=="object"&&e.version===3&&typeof e.file=="string"&&typeof e.mappings=="string"&&ba(e.sources)&&Ji(e.sources,Ta)&&(e.sourceRoot===void 0||e.sourceRoot===null||typeof e.sourceRoot=="string")&&(e.sourcesContent===void 0||e.sourcesContent===null||ba(e.sourcesContent)&&Ji(e.sourcesContent,xPe))&&(e.names===void 0||e.names===null||ba(e.names)&&Ji(e.names,Ta))}function bK(e){try{let t=JSON.parse(e);if(B_e(t))return t}catch{}}function EK(e){let t=!1,r=0,i=0,o=0,s=0,l=0,f=0,d=0,g;return{get pos(){return r},get error(){return g},get state(){return m(!0,!0)},next(){for(;!t&&r<e.length;){let P=e.charCodeAt(r);if(P===59){i++,o=0,r++;continue}if(P===44){r++;continue}let F=!1,B=!1;if(o+=C(),A())return v();if(o<0)return x("Invalid generatedCharacter found");if(!w()){if(F=!0,s+=C(),A())return v();if(s<0)return x("Invalid sourceIndex found");if(w())return x("Unsupported Format: No entries after sourceIndex");if(l+=C(),A())return v();if(l<0)return x("Invalid sourceLine found");if(w())return x("Unsupported Format: No entries after sourceLine");if(f+=C(),A())return v();if(f<0)return x("Invalid sourceCharacter found");if(!w()){if(B=!0,d+=C(),A())return v();if(d<0)return x("Invalid nameIndex found");if(!w())return x("Unsupported Error Format: Entries after nameIndex")}}return{value:m(F,B),done:t}}return v()},[Symbol.iterator](){return this}};function m(P,F){return{generatedLine:i,generatedCharacter:o,sourceIndex:P?s:void 0,sourceLine:P?l:void 0,sourceCharacter:P?f:void 0,nameIndex:F?d:void 0}}function v(){return t=!0,{value:void 0,done:!0}}function S(P){g===void 0&&(g=P)}function x(P){return S(P),v()}function A(){return g!==void 0}function w(){return r===e.length||e.charCodeAt(r)===44||e.charCodeAt(r)===59}function C(){let P=!0,F=0,B=0;for(;P;r++){if(r>=e.length)return S("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;let q=IPe(e.charCodeAt(r));if(q===-1)return S("Invalid character in VLQ"),-1;P=(q&32)!==0,B=B|(q&31)<<F,F+=5}return B&1?(B=B>>1,B=-B):B=B>>1,B}}function APe(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex}function U_e(e){return e.sourceIndex!==void 0&&e.sourceLine!==void 0&&e.sourceCharacter!==void 0}function CPe(e){return e>=0&&e<26?65+e:e>=26&&e<52?97+e-26:e>=52&&e<62?48+e-52:e===62?43:e===63?47:L.fail(`${e}: not a base64 value`)}function IPe(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:e===43?62:e===47?63:-1}function V_e(e){return e.sourceIndex!==void 0&&e.sourcePosition!==void 0}function j_e(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function LPe(e,t){return L.assert(e.sourceIndex===t.sourceIndex),Es(e.sourcePosition,t.sourcePosition)}function kPe(e,t){return Es(e.generatedPosition,t.generatedPosition)}function DPe(e){return e.sourcePosition}function wPe(e){return e.generatedPosition}function H_e(e,t,r){let i=ni(r),o=t.sourceRoot?_a(t.sourceRoot,i):i,s=_a(t.file,i),l=e.getSourceFileLike(s),f=t.sources.map(F=>_a(F,o)),d=new Map(f.map((F,B)=>[e.getCanonicalFileName(F),B])),g,m,v;return{getSourcePosition:P,getGeneratedPosition:C};function S(F){let B=l!==void 0?gw(l,F.generatedLine,F.generatedCharacter,!0):-1,q,W;if(U_e(F)){let Y=e.getSourceFileLike(f[F.sourceIndex]);q=t.sources[F.sourceIndex],W=Y!==void 0?gw(Y,F.sourceLine,F.sourceCharacter,!0):-1}return{generatedPosition:B,source:q,sourceIndex:F.sourceIndex,sourcePosition:W,nameIndex:F.nameIndex}}function x(){if(g===void 0){let F=EK(t.mappings),B=lo(F,S);F.error!==void 0?(e.log&&e.log(`Encountered error while decoding sourcemap: ${F.error}`),g=Je):g=B}return g}function A(F){if(v===void 0){let B=[];for(let q of x()){if(!V_e(q))continue;let W=B[q.sourceIndex];W||(B[q.sourceIndex]=W=[]),W.push(q)}v=B.map(q=>HD(q,LPe,j_e))}return v[F]}function w(){if(m===void 0){let F=[];for(let B of x())F.push(B);m=HD(F,kPe,j_e)}return m}function C(F){let B=d.get(e.getCanonicalFileName(F.fileName));if(B===void 0)return F;let q=A(B);if(!vt(q))return F;let W=j1(q,F.pos,DPe,Es);W<0&&(W=~W);let Y=q[W];return Y===void 0||Y.sourceIndex!==B?F:{fileName:s,pos:Y.generatedPosition}}function P(F){let B=w();if(!vt(B))return F;let q=j1(B,F.pos,wPe,Es);q<0&&(q=~q);let W=B[q];return W===void 0||!V_e(W)?F:{fileName:f[W.sourceIndex],pos:W.sourcePosition}}}var TK,hF,gF,yF,RPe=gt({"src/compiler/sourcemap.ts"(){"use strict";fa(),E0(),TK=/\/\/[@#] source[M]appingURL=(.+)\r?\n?$/,hF=/^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/,gF=/^\s*(\/\/[@#] .*)?$/,yF={getSourcePosition:Ks,getGeneratedPosition:Ks}}});function sc(e){return e=ec(e),e?zo(e):0}function OPe(e){return!e||!jg(e)?!1:vt(e.elements,W_e)}function W_e(e){return e.propertyName!==void 0&&e.propertyName.escapedText==="default"}function y_(e,t){return r;function r(o){return o.kind===308?t(o):i(o)}function i(o){return e.factory.createBundle(on(o.sourceFiles,t),o.prepends)}}function z_e(e){return!!VA(e)}function vF(e){if(VA(e))return!0;let t=e.importClause&&e.importClause.namedBindings;if(!t||!jg(t))return!1;let r=0;for(let i of t.elements)W_e(i)&&r++;return r>0&&r!==t.elements.length||!!(t.elements.length-r)&&lS(e)}function SK(e){return!vF(e)&&(lS(e)||!!e.importClause&&jg(e.importClause.namedBindings)&&OPe(e.importClause.namedBindings))}function xK(e,t,r,i){let o=[],s=Nf(),l=[],f=new Map,d,g=!1,m,v=!1,S=!1,x=!1;for(let C of t.statements)switch(C.kind){case 269:o.push(C),!S&&vF(C)&&(S=!0),!x&&SK(C)&&(x=!0);break;case 268:C.moduleReference.kind===280&&o.push(C);break;case 275:if(C.moduleSpecifier)if(!C.exportClause)o.push(C),v=!0;else if(o.push(C),h_(C.exportClause))w(C);else{let P=C.exportClause.name;f.get(vr(P))||(HL(l,sc(C),P),f.set(vr(P),!0),d=Sn(d,P)),S=!0}else w(C);break;case 274:C.isExportEquals&&!m&&(m=C);break;case 240:if(Mr(C,1))for(let P of C.declarationList.declarations)d=J_e(P,f,d);break;case 259:if(Mr(C,1))if(Mr(C,1024))g||(HL(l,sc(C),e.factory.getDeclarationName(C)),g=!0);else{let P=C.name;f.get(vr(P))||(HL(l,sc(C),P),f.set(vr(P),!0),d=Sn(d,P))}break;case 260:if(Mr(C,1))if(Mr(C,1024))g||(HL(l,sc(C),e.factory.getDeclarationName(C)),g=!0);else{let P=C.name;P&&!f.get(vr(P))&&(HL(l,sc(C),P),f.set(vr(P),!0),d=Sn(d,P))}break}let A=nJ(e.factory,e.getEmitHelperFactory(),t,i,v,S,x);return A&&o.unshift(A),{externalImports:o,exportSpecifiers:s,exportEquals:m,hasExportStarsToExportValues:v,exportedBindings:l,exportedNames:d,externalHelpersImportDeclaration:A};function w(C){for(let P of Ga(C.exportClause,h_).elements)if(!f.get(vr(P.name))){let F=P.propertyName||P.name;C.moduleSpecifier||s.add(vr(F),P);let B=r.getReferencedImportDeclaration(F)||r.getReferencedValueDeclaration(F);B&&HL(l,sc(B),P.name),f.set(vr(P.name),!0),d=Sn(d,P.name)}}}function J_e(e,t,r){if(La(e.name))for(let i of e.name.elements)ol(i)||(r=J_e(i,t,r));else if(!tc(e.name)){let i=vr(e.name);t.get(i)||(t.set(i,!0),r=Sn(r,e.name))}return r}function HL(e,t,r){let i=e[t];return i?i.push(r):e[t]=i=[r],i}function Z0(e){return es(e)||e.kind===8||Xu(e.kind)||Re(e)}function Ap(e){return!Re(e)&&Z0(e)}function oN(e){return e>=64&&e<=78}function WL(e){switch(e){case 64:return 39;case 65:return 40;case 66:return 41;case 67:return 42;case 68:return 43;case 69:return 44;case 70:return 47;case 71:return 48;case 72:return 49;case 73:return 50;case 74:return 51;case 78:return 52;case 75:return 56;case 76:return 55;case 77:return 60}}function AK(e){if(!Ol(e))return;let t=vs(e.expression);return OA(t)?t:void 0}function bF(e,t){for(let r=t;r<e.length;r+=1){let i=e[r];if(AK(i))return r}return-1}function CK(e,t,r){return Pr(e.members,i=>PPe(i,t,r))}function NPe(e){return MPe(e)||oc(e)}function EF(e){return Pr(e.members,NPe)}function PPe(e,t,r){return Na(e)&&(!!e.initializer||!t)&&zc(e)===r}function MPe(e){return Na(e)&&zc(e)}function sN(e){return e.kind===169&&e.initializer!==void 0}function K_e(e){return!Ca(e)&&(xA(e)||Id(e))&&pi(e.name)}function IK(e){let t;if(e){let r=e.parameters,i=r.length>0&&G0(r[0]),o=i?1:0,s=i?r.length-1:r.length;for(let l=0;l<s;l++){let f=r[l+o];(t||bf(f))&&(t||(t=new Array(s)),t[l]=Uy(f))}}return t}function LK(e){let t=Uy(e),r=IK(Vm(e));if(!(!vt(t)&&!vt(r)))return{decorators:t,parameters:r}}function TF(e,t,r){switch(e.kind){case 174:case 175:return r?FPe(e,t):q_e(e);case 171:return q_e(e);case 169:return GPe(e);default:return}}function FPe(e,t){if(!e.body)return;let{firstAccessor:r,secondAccessor:i,getAccessor:o,setAccessor:s}=kT(t.members,e),l=bf(r)?r:i&&bf(i)?i:void 0;if(!l||e!==l)return;let f=Uy(l),d=IK(s);if(!(!vt(f)&&!vt(d)))return{decorators:f,parameters:d,getDecorators:o&&Uy(o),setDecorators:s&&Uy(s)}}function q_e(e){if(!e.body)return;let t=Uy(e),r=IK(e);if(!(!vt(t)&&!vt(r)))return{decorators:t,parameters:r}}function GPe(e){let t=Uy(e);if(vt(t))return{decorators:t}}function X_e(e,t){for(;e;){let r=t(e);if(r!==void 0)return r;e=e.previous}}function Y_e(e){return{data:e}}function kK(e,t){var r,i;return tS(t)?(r=e?.generatedIdentifiers)==null?void 0:r.get(I3(t)):(i=e?.identifiers)==null?void 0:i.get(t.escapedText)}function JT(e,t,r){var i,o;tS(t)?((i=e.generatedIdentifiers)!=null||(e.generatedIdentifiers=new Map),e.generatedIdentifiers.set(I3(t),r)):((o=e.identifiers)!=null||(e.identifiers=new Map),e.identifiers.set(t.escapedText,r))}function $_e(e,t){return X_e(e,r=>kK(r.privateEnv,t))}var BPe=gt({"src/compiler/transformers/utilities.ts"(){"use strict";fa()}});function KT(e,t,r,i,o,s){let l=e,f;if(Fg(e))for(f=e.right;Zce(e.left)||dW(e.left);)if(Fg(f))l=e=f,f=e.right;else return L.checkDefined($e(f,t,ot));let d,g={context:r,level:i,downlevelIteration:!!r.getCompilerOptions().downlevelIteration,hoistTempVariables:!0,emitExpression:m,emitBindingOrAssignment:v,createArrayBindingOrAssignmentPattern:S=>KPe(r.factory,S),createObjectBindingOrAssignmentPattern:S=>XPe(r.factory,S),createArrayBindingOrAssignmentElement:$Pe,visitor:t};if(f&&(f=$e(f,t,ot),L.assert(f),Re(f)&&DK(e,f.escapedText)||wK(e)?f=qT(g,f,!1,l):o?f=qT(g,f,!0,l):ws(e)&&(l=f)),M2(g,e,f,l,Fg(e)),f&&o){if(!vt(d))return f;d.push(f)}return r.factory.inlineExpressions(d)||r.factory.createOmittedExpression();function m(S){d=Sn(d,S)}function v(S,x,A,w){L.assertNode(S,s?Re:ot);let C=s?s(S,x,A):it(r.factory.createAssignment(L.checkDefined($e(S,t,ot)),x),A);C.original=w,m(C)}}function DK(e,t){let r=iv(e);return kw(r)?UPe(r,t):Re(r)?r.escapedText===t:!1}function UPe(e,t){let r=I2(e);for(let i of r)if(DK(i,t))return!0;return!1}function wK(e){let t=A3(e);if(t&&ts(t)&&!fT(t.expression))return!0;let r=iv(e);return!!r&&kw(r)&&VPe(r)}function VPe(e){return!!mn(I2(e),wK)}function eE(e,t,r,i,o,s=!1,l){let f,d=[],g=[],m={context:r,level:i,downlevelIteration:!!r.getCompilerOptions().downlevelIteration,hoistTempVariables:s,emitExpression:v,emitBindingOrAssignment:S,createArrayBindingOrAssignmentPattern:x=>JPe(r.factory,x),createObjectBindingOrAssignmentPattern:x=>qPe(r.factory,x),createArrayBindingOrAssignmentElement:x=>YPe(r.factory,x),visitor:t};if(wi(e)){let x=AO(e);x&&(Re(x)&&DK(e,x.escapedText)||wK(e))&&(x=qT(m,L.checkDefined($e(x,m.visitor,ot)),!1,x),e=r.factory.updateVariableDeclaration(e,e.name,void 0,void 0,x))}if(M2(m,e,o,e,l),f){let x=r.factory.createTempVariable(void 0);if(s){let A=r.factory.inlineExpressions(f);f=void 0,S(x,A,void 0,void 0)}else{r.hoistVariableDeclaration(x);let A=To(d);A.pendingExpressions=Sn(A.pendingExpressions,r.factory.createAssignment(x,A.value)),si(A.pendingExpressions,f),A.value=x}}for(let{pendingExpressions:x,name:A,value:w,location:C,original:P}of d){let F=r.factory.createVariableDeclaration(A,void 0,void 0,x?r.factory.inlineExpressions(Sn(x,w)):w);F.original=P,it(F,C),g.push(F)}return g;function v(x){f=Sn(f,x)}function S(x,A,w,C){L.assertNode(x,Mm),f&&(A=r.factory.inlineExpressions(Sn(f,A)),f=void 0),d.push({pendingExpressions:f,name:x,value:A,location:w,original:C})}}function M2(e,t,r,i,o){let s=iv(t);if(!o){let l=$e(AO(t),e.visitor,ot);l?r?(r=WPe(e,r,l,i),!Ap(l)&&kw(s)&&(r=qT(e,r,!0,i))):r=l:r||(r=e.context.factory.createVoidZero())}Uj(s)?jPe(e,t,s,r,i):Vj(s)?HPe(e,t,s,r,i):e.emitBindingOrAssignment(s,r,i,t)}function jPe(e,t,r,i,o){let s=I2(r),l=s.length;if(l!==1){let g=!Lw(t)||l!==0;i=qT(e,i,g,o)}let f,d;for(let g=0;g<l;g++){let m=s[g];if(x3(m)){if(g===l-1){f&&(e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(f),i,o,r),f=void 0);let v=e.context.getEmitHelperFactory().createRestHelper(i,s,d,r);M2(e,m,v,m)}}else{let v=rJ(m);if(e.level>=1&&!(m.transformFlags&98304)&&!(iv(m).transformFlags&98304)&&!ts(v))f=Sn(f,$e(m,e.visitor,use));else{f&&(e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(f),i,o,r),f=void 0);let S=zPe(e,i,v);ts(v)&&(d=Sn(d,S.argumentExpression)),M2(e,m,S,m)}}}f&&e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(f),i,o,r)}function HPe(e,t,r,i,o){let s=I2(r),l=s.length;if(e.level<1&&e.downlevelIteration)i=qT(e,it(e.context.getEmitHelperFactory().createReadHelper(i,l>0&&x3(s[l-1])?void 0:l),o),!1,o);else if(l!==1&&(e.level<1||l===0)||Ji(s,ol)){let g=!Lw(t)||l!==0;i=qT(e,i,g,o)}let f,d;for(let g=0;g<l;g++){let m=s[g];if(e.level>=1)if(m.transformFlags&65536||e.hasTransformedPriorElement&&!Q_e(m)){e.hasTransformedPriorElement=!0;let v=e.context.factory.createTempVariable(void 0);e.hoistTempVariables&&e.context.hoistVariableDeclaration(v),d=Sn(d,[v,m]),f=Sn(f,e.createArrayBindingOrAssignmentElement(v))}else f=Sn(f,m);else{if(ol(m))continue;if(x3(m)){if(g===l-1){let v=e.context.factory.createArraySliceCall(i,g);M2(e,m,v,m)}}else{let v=e.context.factory.createElementAccessExpression(i,g);M2(e,m,v,m)}}}if(f&&e.emitBindingOrAssignment(e.createArrayBindingOrAssignmentPattern(f),i,o,r),d)for(let[g,m]of d)M2(e,m,g,m)}function Q_e(e){let t=iv(e);if(!t||ol(t))return!0;let r=A3(e);if(r&&!c_(r))return!1;let i=AO(e);return i&&!Ap(i)?!1:kw(t)?Ji(I2(t),Q_e):Re(t)}function WPe(e,t,r,i){return t=qT(e,t,!0,i),e.context.factory.createConditionalExpression(e.context.factory.createTypeCheck(t,"undefined"),void 0,r,void 0,t)}function zPe(e,t,r){if(ts(r)){let i=qT(e,L.checkDefined($e(r.expression,e.visitor,ot)),!1,r);return e.context.factory.createElementAccessExpression(t,i)}else if(yf(r)){let i=D.cloneNode(r);return e.context.factory.createElementAccessExpression(t,i)}else{let i=e.context.factory.createIdentifier(vr(r));return e.context.factory.createPropertyAccessExpression(t,i)}}function qT(e,t,r,i){if(Re(t)&&r)return t;{let o=e.context.factory.createTempVariable(void 0);return e.hoistTempVariables?(e.context.hoistVariableDeclaration(o),e.emitExpression(it(e.context.factory.createAssignment(o,t),i))):e.emitBindingOrAssignment(o,t,i,void 0),o}}function JPe(e,t){return L.assertEachNode(t,c6),e.createArrayBindingPattern(t)}function KPe(e,t){return L.assertEachNode(t,ww),e.createArrayLiteralExpression(on(t,e.converters.convertToArrayAssignmentElement))}function qPe(e,t){return L.assertEachNode(t,Wo),e.createObjectBindingPattern(t)}function XPe(e,t){return L.assertEachNode(t,Dw),e.createObjectLiteralExpression(on(t,e.converters.convertToObjectAssignmentElement))}function YPe(e,t){return e.createBindingElement(void 0,void 0,t)}function $Pe(e){return e}var RK,QPe=gt({"src/compiler/transformers/destructuring.ts"(){"use strict";fa(),RK=(e=>(e[e.All=0]="All",e[e.ObjectRest=1]="ObjectRest",e))(RK||{})}});function OK(e,t,r,i,o,s){let l=$e(t.tag,r,ot);L.assert(l);let f=[void 0],d=[],g=[],m=t.template;if(s===0&&!KH(m))return xn(t,r,e);if(IS(m))d.push(NK(m)),g.push(PK(m,i));else{d.push(NK(m.head)),g.push(PK(m.head,i));for(let S of m.templateSpans)d.push(NK(S.literal)),g.push(PK(S.literal,i)),f.push(L.checkDefined($e(S.expression,r,ot)))}let v=e.getEmitHelperFactory().createTemplateObjectHelper(D.createArrayLiteralExpression(d),D.createArrayLiteralExpression(g));if(Lc(i)){let S=D.createUniqueName("templateObject");o(S),f[0]=D.createLogicalOr(S,D.createAssignment(S,v))}else f[0]=v;return D.createCallExpression(l,void 0,f)}function NK(e){return e.templateFlags?D.createVoidZero():D.createStringLiteral(e.text)}function PK(e,t){let r=e.rawText;if(r===void 0){L.assertIsDefined(t,"Template literal node is missing 'rawText' and does not have a source file. Possibly bad transform."),r=k0(t,e);let i=e.kind===14||e.kind===17;r=r.substring(1,r.length-(i?1:2))}return r=r.replace(/\r\n?/g,`
+`),it(D.createStringLiteral(r),e)}var MK,ZPe=gt({"src/compiler/transformers/taggedTemplate.ts"(){"use strict";fa(),MK=(e=>(e[e.LiftRestriction=0]="LiftRestriction",e[e.All=1]="All",e))(MK||{})}});function Z_e(e){let{factory:t,getEmitHelperFactory:r,startLexicalEnvironment:i,resumeLexicalEnvironment:o,endLexicalEnvironment:s,hoistVariableDeclaration:l}=e,f=e.getEmitResolver(),d=e.getCompilerOptions(),g=Do(d),m=Rl(d),v=!!d.experimentalDecorators,S=d.emitDecoratorMetadata?npe(e):void 0,x=e.onEmitNode,A=e.onSubstituteNode;e.onEmitNode=bl,e.onSubstituteNode=ss,e.enableSubstitution(208),e.enableSubstitution(209);let w,C,P,F,B,q,W,Y;return R;function R(K){return K.kind===309?ie(K):$(K)}function ie(K){return t.createBundle(K.sourceFiles.map($),Zi(K.prepends,Xe=>Xe.kind===311?fz(Xe,"js"):Xe))}function $(K){if(K.isDeclarationFile)return K;w=K;let Xe=fe(K,Ye);return Bg(Xe,e.readEmitHelpers()),w=void 0,Xe}function fe(K,Xe){let ft=F,Yt=B,pr=q;Z(K);let yr=Xe(K);return F!==ft&&(B=Yt),F=ft,q=pr,yr}function Z(K){switch(K.kind){case 308:case 266:case 265:case 238:F=K,B=void 0;break;case 260:case 259:if(Mr(K,2))break;K.name?Te(K):L.assert(K.kind===260||Mr(K,1024));break}}function U(K){return fe(K,re)}function re(K){return K.transformFlags&1?Le(K):K}function le(K){return fe(K,_e)}function _e(K){switch(K.kind){case 269:case 268:case 274:case 275:return ge(K);default:return re(K)}}function ge(K){if(ea(K)!==K)return K.transformFlags&1?xn(K,U,e):K;switch(K.kind){case 269:return jr(K);case 268:return Qr(K);case 274:return Ja(K);case 275:return Za(K);default:L.fail("Unhandled ellided statement")}}function X(K){return fe(K,Ve)}function Ve(K){if(!(K.kind===275||K.kind===269||K.kind===270||K.kind===268&&K.moduleReference.kind===280))return K.transformFlags&1||Mr(K,1)?Le(K):K}function we(K){return Xe=>fe(Xe,ft=>ke(ft,K))}function ke(K,Xe){switch(K.kind){case 173:return hi(K);case 169:return Kn(K,Xe);case 174:return dr(K,Xe);case 175:return Cr(K,Xe);case 171:return Ht(K,Xe);case 172:return xn(K,U,e);case 237:return K;case 178:return;default:return L.failBadSyntaxKind(K)}}function Pe(K){return Xe=>fe(Xe,ft=>Ce(ft,K))}function Ce(K,Xe){switch(K.kind){case 299:case 300:case 301:return U(K);case 174:return dr(K,Xe);case 175:return Cr(K,Xe);case 171:return Ht(K,Xe);default:return L.failBadSyntaxKind(K)}}function Ie(K){return du(K)?void 0:U(K)}function Be(K){return Ha(K)?void 0:U(K)}function Ne(K){if(!du(K)&&!(gS(K.kind)&117086)&&!(C&&K.kind===93))return K}function Le(K){if(ca(K)&&Mr(K,2))return t.createNotEmittedStatement(K);switch(K.kind){case 93:case 88:return C?void 0:K;case 123:case 121:case 122:case 126:case 161:case 85:case 136:case 146:case 101:case 145:case 185:case 186:case 187:case 188:case 184:case 179:case 165:case 131:case 157:case 134:case 152:case 148:case 144:case 114:case 153:case 182:case 181:case 183:case 180:case 189:case 190:case 191:case 193:case 194:case 195:case 196:case 197:case 198:case 178:return;case 262:return t.createNotEmittedStatement(K);case 267:return;case 261:return t.createNotEmittedStatement(K);case 260:return qe(K);case 228:return Qt(K);case 294:return Dt(K);case 230:return pn(K);case 207:return _t(K);case 173:case 169:case 171:case 174:case 175:case 172:return L.fail("Class and object literal elements must be visited with their respective visitors");case 259:return Se(K);case 215:return at(K);case 216:return Tt(K);case 166:return ve(K);case 214:return ue(K);case 213:case 231:return G(K);case 235:return je(K);case 210:return Ge(K);case 211:return kt(K);case 212:return Kt(K);case 232:return Oe(K);case 263:return rt(K);case 240:return nt(K);case 257:return Q(K);case 264:return Qe(K);case 268:return Qr(K);case 282:return ln(K);case 283:return ir(K);default:return xn(K,U,e)}}function Ye(K){let Xe=Uf(d,"alwaysStrict")&&!(Lc(K)&&m>=5)&&!Mf(K);return t.updateSourceFile(K,mF(K.statements,le,e,0,Xe))}function _t(K){return t.updateObjectLiteralExpression(K,On(K.properties,Pe(K),Og))}function ct(K){let Xe=0;vt(CK(K,!0,!0))&&(Xe|=1);let ft=hp(K);return ft&&ql(ft.expression).kind!==104&&(Xe|=64),O0(v,K)&&(Xe|=2),kI(v,K)&&(Xe|=4),Wi(K)?Xe|=8:kc(K)?Xe|=32:Ki(K)&&(Xe|=16),Xe}function Rt(K){return!!(K.transformFlags&8192)}function We(K){return bf(K)||vt(K.typeParameters)||vt(K.heritageClauses,Rt)||vt(K.members,Rt)}function qe(K){var Xe;let ft=ct(K),Yt=g<=1&&!!(ft&7);if(!We(K)&&!O0(v,K)&&!Wi(K))return t.updateClassDeclaration(K,On(K.modifiers,Ne,Ha),K.name,void 0,On(K.heritageClauses,U,dd),On(K.members,we(K),_l));Yt&&e.startLexicalEnvironment();let pr=Yt||ft&8||ft&2&&v||ft&1,yr=pr?On(K.modifiers,Be,Ns):On(K.modifiers,U,Ns);ft&2&&(yr=kn(yr,K));let Go=pr&&!K.name||ft&4||ft&1?(Xe=K.name)!=null?Xe:t.getGeneratedNameForNode(K):K.name,Ka=t.updateClassDeclaration(K,yr,Go,void 0,On(K.heritageClauses,U,dd),tn(K)),vo=Ya(K);ft&1&&(vo|=64),Jn(Ka,vo);let ka;if(Yt){let Hs=[Ka],Uc=_W(xo(w.text,K.members.end),19),Gu=t.getInternalName(K),$o=t.createPartiallyEmittedExpression(Gu);r2($o,Uc.end),Jn($o,3072);let jo=t.createReturnStatement($o);aL(jo,Uc.pos),Jn(jo,3840),Hs.push(jo),em(Hs,e.endLexicalEnvironment());let Ws=t.createImmediatelyInvokedArrowFunction(Hs);eO(Ws,1);let hd=ft&16?t.createModifiersFromModifierFlags(1):void 0,vc=t.createVariableStatement(hd,t.createVariableDeclarationList([t.createVariableDeclaration(t.getLocalName(K,!1,!1),void 0,void 0,Ws)],1));Ir(vc,K),hl(vc,K),Ho(vc,$y(K)),mu(vc),ka=vc}else ka=Ka;if(pr){if(ft&8)return zt(ka,Ps(K));if(ft&32)return zt(ka,t.createExportDefault(t.getLocalName(K,!1,!0)));if(ft&16&&!Yt)return zt(ka,t.createExternalModuleExport(t.getLocalName(K,!1,!0)))}return ka}function zt(K,Xe){return bp(K,8388608),[K,Xe,t.createEndOfDeclarationMarker(K)]}function Qt(K){let Xe=On(K.modifiers,Be,Ns);return O0(v,K)&&(Xe=kn(Xe,K)),t.updateClassExpression(K,Xe,K.name,void 0,On(K.heritageClauses,U,dd),tn(K))}function tn(K){let Xe=On(K.members,we(K),_l),ft,Yt=Vm(K),pr=Yt&&Pr(Yt.parameters,yr=>Ad(yr,Yt));if(pr)for(let yr of pr){let ta=t.createPropertyDeclaration(void 0,yr.name,void 0,void 0,void 0);Ir(ta,yr),ft=Sn(ft,ta)}return ft?(ft=si(ft,Xe),it(t.createNodeArray(ft),K.members)):Xe}function kn(K,Xe){let ft=Gt(Xe,Xe);if(vt(ft)){let Yt=[];si(Yt,v8(K,oJ)),si(Yt,Pr(K,du)),si(Yt,ft),si(Yt,Pr(Nae(K,oJ),Ha)),K=it(t.createNodeArray(Yt),K)}return K}function _n(K,Xe,ft){if(Yr(ft)&&AH(v,Xe,ft)){let Yt=Gt(Xe,ft);if(vt(Yt)){let pr=[];si(pr,Pr(K,du)),si(pr,Yt),si(pr,Pr(K,Ha)),K=it(t.createNodeArray(pr),K)}}return K}function Gt(K,Xe){if(v)return epe?ui(K,Xe):$n(K,Xe)}function $n(K,Xe){if(S){let ft;if(Ni(K)){let Yt=r().createMetadataHelper("design:type",S.serializeTypeOfNode({currentLexicalScope:F,currentNameScope:Xe},K));ft=Sn(ft,t.createDecorator(Yt))}if(gr(K)){let Yt=r().createMetadataHelper("design:paramtypes",S.serializeParameterTypesOfNode({currentLexicalScope:F,currentNameScope:Xe},K,Xe));ft=Sn(ft,t.createDecorator(Yt))}if(Pi(K)){let Yt=r().createMetadataHelper("design:returntype",S.serializeReturnTypeOfNode({currentLexicalScope:F,currentNameScope:Xe},K));ft=Sn(ft,t.createDecorator(Yt))}return ft}}function ui(K,Xe){if(S){let ft;if(Ni(K)){let Yt=t.createPropertyAssignment("type",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(38),S.serializeTypeOfNode({currentLexicalScope:F,currentNameScope:Xe},K)));ft=Sn(ft,Yt)}if(gr(K)){let Yt=t.createPropertyAssignment("paramTypes",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(38),S.serializeParameterTypesOfNode({currentLexicalScope:F,currentNameScope:Xe},K,Xe)));ft=Sn(ft,Yt)}if(Pi(K)){let Yt=t.createPropertyAssignment("returnType",t.createArrowFunction(void 0,void 0,[],void 0,t.createToken(38),S.serializeReturnTypeOfNode({currentLexicalScope:F,currentNameScope:Xe},K)));ft=Sn(ft,Yt)}if(ft){let Yt=r().createMetadataHelper("design:typeinfo",t.createObjectLiteralExpression(ft,!0));return[t.createDecorator(Yt)]}}}function Ni(K){let Xe=K.kind;return Xe===171||Xe===174||Xe===175||Xe===169}function Pi(K){return K.kind===171}function gr(K){switch(K.kind){case 260:case 228:return Vm(K)!==void 0;case 171:case 174:case 175:return!0}return!1}function pt(K,Xe){let ft=K.name;return pi(ft)?t.createIdentifier(""):ts(ft)?Xe&&!Ap(ft.expression)?t.getGeneratedNameForNode(ft):ft.expression:Re(ft)?t.createStringLiteral(vr(ft)):t.cloneNode(ft)}function nn(K){let Xe=K.name;if(ts(Xe)&&(!zc(K)&&q||bf(K)&&v)){let ft=$e(Xe.expression,U,ot);L.assert(ft);let Yt=a_(ft);if(!Ap(Yt)){let pr=t.getGeneratedNameForNode(Xe);return l(pr),t.updateComputedPropertyName(Xe,t.createAssignment(pr,ft))}}return L.checkDefined($e(Xe,U,Ys))}function Dt(K){if(K.token!==117)return xn(K,U,e)}function pn(K){return t.updateExpressionWithTypeArguments(K,L.checkDefined($e(K.expression,U,Ju)),void 0)}function An(K){return!rc(K.body)}function Kn(K,Xe){let ft=K.flags&16777216||Mr(K,256);if(ft&&!(v&&bf(K)))return;let Yt=Yr(Xe)?ft?On(K.modifiers,Be,Ns):On(K.modifiers,U,Ns):On(K.modifiers,Ie,Ns);return Yt=_n(Yt,K,Xe),ft?t.updatePropertyDeclaration(K,Qi(Yt,t.createModifiersFromModifierFlags(2)),L.checkDefined($e(K.name,U,Ys)),void 0,void 0,void 0):t.updatePropertyDeclaration(K,Yt,nn(K),void 0,void 0,$e(K.initializer,U,ot))}function hi(K){if(An(K))return t.updateConstructorDeclaration(K,void 0,Sc(K.parameters,U,e),ri(K.body,K))}function ri(K,Xe){let ft=Xe&&Pr(Xe.parameters,vo=>Ad(vo,Xe));if(!vt(ft))return Zd(K,U,e);let Yt=[];o();let pr=t.copyPrologue(K.statements,Yt,!1,U),yr=bF(K.statements,pr);yr>=0&&si(Yt,On(K.statements,U,ca,pr,yr+1-pr));let ta=Zi(ft,vn);yr>=0?si(Yt,ta):Yt=[...Yt.slice(0,pr),...ta,...Yt.slice(pr)];let Go=yr>=0?yr+1:pr;si(Yt,On(K.statements,U,ca,Go)),Yt=t.mergeLexicalEnvironment(Yt,s());let Ka=t.createBlock(it(t.createNodeArray(Yt),K.statements),!0);return it(Ka,K),Ir(Ka,K),Ka}function vn(K){let Xe=K.name;if(!Re(Xe))return;let ft=go(it(t.cloneNode(Xe),Xe),Xe.parent);Jn(ft,3168);let Yt=go(it(t.cloneNode(Xe),Xe),Xe.parent);return Jn(Yt,3072),mu(ZR(it(Ir(t.createExpressionStatement(t.createAssignment(it(t.createPropertyAccessExpression(t.createThis(),ft),K.name),Yt)),K),fb(K,-1))))}function Ht(K,Xe){if(!(K.transformFlags&1))return K;if(!An(K))return;let ft=Yr(Xe)?On(K.modifiers,U,Ns):On(K.modifiers,Ie,Ns);return ft=_n(ft,K,Xe),t.updateMethodDeclaration(K,ft,K.asteriskToken,nn(K),void 0,void 0,Sc(K.parameters,U,e),void 0,Zd(K.body,U,e))}function En(K){return!(rc(K.body)&&Mr(K,256))}function dr(K,Xe){if(!(K.transformFlags&1))return K;if(!En(K))return;let ft=Yr(Xe)?On(K.modifiers,U,Ns):On(K.modifiers,Ie,Ns);return ft=_n(ft,K,Xe),t.updateGetAccessorDeclaration(K,ft,nn(K),Sc(K.parameters,U,e),void 0,Zd(K.body,U,e)||t.createBlock([]))}function Cr(K,Xe){if(!(K.transformFlags&1))return K;if(!En(K))return;let ft=Yr(Xe)?On(K.modifiers,U,Ns):On(K.modifiers,Ie,Ns);return ft=_n(ft,K,Xe),t.updateSetAccessorDeclaration(K,ft,nn(K),Sc(K.parameters,U,e),Zd(K.body,U,e)||t.createBlock([]))}function Se(K){if(!An(K))return t.createNotEmittedStatement(K);let Xe=t.updateFunctionDeclaration(K,On(K.modifiers,Ne,Ha),K.asteriskToken,K.name,void 0,Sc(K.parameters,U,e),void 0,Zd(K.body,U,e)||t.createBlock([]));if(Wi(K)){let ft=[Xe];return mc(ft,K),ft}return Xe}function at(K){return An(K)?t.updateFunctionExpression(K,On(K.modifiers,Ne,Ha),K.asteriskToken,K.name,void 0,Sc(K.parameters,U,e),void 0,Zd(K.body,U,e)||t.createBlock([])):t.createOmittedExpression()}function Tt(K){return t.updateArrowFunction(K,On(K.modifiers,Ne,Ha),void 0,Sc(K.parameters,U,e),void 0,K.equalsGreaterThanToken,Zd(K.body,U,e))}function ve(K){if(G0(K))return;let Xe=t.updateParameterDeclaration(K,On(K.modifiers,ft=>du(ft)?U(ft):void 0,Ns),K.dotDotDotToken,L.checkDefined($e(K.name,U,Mm)),void 0,void 0,$e(K.initializer,U,ot));return Xe!==K&&(hl(Xe,K),it(Xe,yp(K)),Ho(Xe,yp(K)),Jn(Xe.name,64)),Xe}function nt(K){if(Wi(K)){let Xe=qI(K.declarationList);return Xe.length===0?void 0:it(t.createExpressionStatement(t.inlineExpressions(on(Xe,ce))),K)}else return xn(K,U,e)}function ce(K){let Xe=K.name;return La(Xe)?KT(K,U,e,0,!1,hc):it(t.createAssignment(ro(Xe),L.checkDefined($e(K.initializer,U,ot))),K)}function Q(K){let Xe=t.updateVariableDeclaration(K,L.checkDefined($e(K.name,U,Mm)),void 0,void 0,$e(K.initializer,U,ot));return K.type&&yue(Xe.name,K.type),Xe}function ue(K){let Xe=ql(K.expression,-7);if(pT(Xe)){let ft=$e(K.expression,U,ot);return L.assert(ft),t.createPartiallyEmittedExpression(ft,K)}return xn(K,U,e)}function G(K){let Xe=$e(K.expression,U,ot);return L.assert(Xe),t.createPartiallyEmittedExpression(Xe,K)}function Oe(K){let Xe=$e(K.expression,U,Ju);return L.assert(Xe),t.createPartiallyEmittedExpression(Xe,K)}function je(K){let Xe=$e(K.expression,U,ot);return L.assert(Xe),t.createPartiallyEmittedExpression(Xe,K)}function Ge(K){return t.updateCallExpression(K,L.checkDefined($e(K.expression,U,ot)),void 0,On(K.arguments,U,ot))}function kt(K){return t.updateNewExpression(K,L.checkDefined($e(K.expression,U,ot)),void 0,On(K.arguments,U,ot))}function Kt(K){return t.updateTaggedTemplateExpression(K,L.checkDefined($e(K.tag,U,ot)),void 0,L.checkDefined($e(K.template,U,AA)))}function ln(K){return t.updateJsxSelfClosingElement(K,L.checkDefined($e(K.tagName,U,bI)),void 0,L.checkDefined($e(K.attributes,U,K0)))}function ir(K){return t.updateJsxOpeningElement(K,L.checkDefined($e(K.tagName,U,bI)),void 0,L.checkDefined($e(K.attributes,U,K0)))}function ae(K){return!R0(K)||U0(d)}function rt(K){if(!ae(K))return t.createNotEmittedStatement(K);let Xe=[],ft=4,Yt=lt(Xe,K);Yt&&(m!==4||F!==w)&&(ft|=1024);let pr=aa(K),yr=Co(K),ta=Mr(K,1)?t.getExternalModuleOrNamespaceExportName(P,K,!1,!0):t.getLocalName(K,!1,!0),Go=t.createLogicalOr(ta,t.createAssignment(ta,t.createObjectLiteralExpression()));if(z(K)){let vo=t.getLocalName(K,!1,!0);Go=t.createAssignment(vo,Go)}let Ka=t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,pr)],void 0,Ot(K,yr)),void 0,[Go]));return Ir(Ka,K),Yt&&(W0(Ka,void 0),u2(Ka,void 0)),it(Ka,K),bp(Ka,ft),Xe.push(Ka),Xe.push(t.createEndOfDeclarationMarker(K)),Xe}function Ot(K,Xe){let ft=P;P=Xe;let Yt=[];i();let pr=on(K.members,Ke);return em(Yt,s()),si(Yt,pr),P=ft,t.createBlock(it(t.createNodeArray(Yt),K.members),!0)}function Ke(K){let Xe=pt(K,!1),ft=oe(K),Yt=t.createAssignment(t.createElementAccessExpression(P,Xe),ft),pr=ft.kind===10?Yt:t.createAssignment(t.createElementAccessExpression(P,Yt),Xe);return it(t.createExpressionStatement(it(pr,K)),K)}function oe(K){let Xe=f.getConstantValue(K);return Xe!==void 0?typeof Xe=="string"?t.createStringLiteral(Xe):t.createNumericLiteral(Xe):(gc(),K.initializer?L.checkDefined($e(K.initializer,U,ot)):t.createVoidZero())}function pe(K){let Xe=ea(K,Tc);return Xe?fK(Xe,U0(d)):!0}function z(K){return Wi(K)||gn(K)&&m!==5&&m!==6&&m!==7&&m!==99&&m!==4}function Te(K){B||(B=new Map);let Xe=yt(K);B.has(Xe)||B.set(Xe,K)}function j(K){if(B){let Xe=yt(K);return B.get(Xe)===K}return!0}function yt(K){return L.assertNode(K.name,Re),K.name.escapedText}function lt(K,Xe){let ft=t.createVariableStatement(On(Xe.modifiers,Ne,Ha),t.createVariableDeclarationList([t.createVariableDeclaration(t.getLocalName(Xe,!1,!0))],F.kind===308?0:1));if(Ir(ft,Xe),Te(Xe),j(Xe))return Xe.kind===263?Ho(ft.declarationList,Xe):Ho(ft,Xe),hl(ft,Xe),bp(ft,8390656),K.push(ft),!0;{let Yt=t.createMergeDeclarationMarker(ft);return Jn(Yt,8391680),K.push(Yt),!1}}function Qe(K){if(!pe(K))return t.createNotEmittedStatement(K);L.assertNode(K.name,Re,"A TypeScript namespace should have an Identifier name."),Ll();let Xe=[],ft=4,Yt=lt(Xe,K);Yt&&(m!==4||F!==w)&&(ft|=1024);let pr=aa(K),yr=Co(K),ta=Mr(K,1)?t.getExternalModuleOrNamespaceExportName(P,K,!1,!0):t.getLocalName(K,!1,!0),Go=t.createLogicalOr(ta,t.createAssignment(ta,t.createObjectLiteralExpression()));if(z(K)){let vo=t.getLocalName(K,!1,!0);Go=t.createAssignment(vo,Go)}let Ka=t.createExpressionStatement(t.createCallExpression(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,pr)],void 0,Vt(K,yr)),void 0,[Go]));return Ir(Ka,K),Yt&&(W0(Ka,void 0),u2(Ka,void 0)),it(Ka,K),bp(Ka,ft),Xe.push(Ka),Xe.push(t.createEndOfDeclarationMarker(K)),Xe}function Vt(K,Xe){let ft=P,Yt=C,pr=B;P=Xe,C=K,B=void 0;let yr=[];i();let ta,Go;if(K.body)if(K.body.kind===265)fe(K.body,vo=>si(yr,On(vo.statements,X,ca))),ta=K.body.statements,Go=K.body;else{let vo=Qe(K.body);vo&&(ba(vo)?si(yr,vo):yr.push(vo));let ka=Hn(K).body;ta=fb(ka.statements,-1)}em(yr,s()),P=ft,C=Yt,B=pr;let Ka=t.createBlock(it(t.createNodeArray(yr),ta),!0);return it(Ka,Go),(!K.body||K.body.kind!==265)&&Jn(Ka,Ya(Ka)|3072),Ka}function Hn(K){if(K.body.kind===264)return Hn(K.body)||K.body}function jr(K){if(!K.importClause)return K;if(K.importClause.isTypeOnly)return;let Xe=$e(K.importClause,ei,lm);return Xe||d.importsNotUsedAsValues===1||d.importsNotUsedAsValues===2?t.updateImportDeclaration(K,void 0,Xe,K.moduleSpecifier,K.assertClause):void 0}function ei(K){L.assert(!K.isTypeOnly);let Xe=wt(K)?K.name:void 0,ft=$e(K.namedBindings,Kr,Wj);return Xe||ft?t.updateImportClause(K,!1,Xe,ft):void 0}function Kr(K){if(K.kind===271)return wt(K)?K:void 0;{let Xe=d.verbatimModuleSyntax||d.preserveValueImports&&(d.importsNotUsedAsValues===1||d.importsNotUsedAsValues===2),ft=On(K.elements,Si,$u);return Xe||vt(ft)?t.updateNamedImports(K,ft):void 0}}function Si(K){return!K.isTypeOnly&&wt(K)?K:void 0}function Ja(K){return d.verbatimModuleSyntax||f.isValueAliasDeclaration(K)?xn(K,U,e):void 0}function Za(K){if(K.isTypeOnly)return;if(!K.exportClause||qm(K.exportClause))return K;let Xe=d.verbatimModuleSyntax||!!K.moduleSpecifier&&(d.importsNotUsedAsValues===1||d.importsNotUsedAsValues===2),ft=$e(K.exportClause,Yt=>xi(Yt,Xe),Rj);return ft?t.updateExportDeclaration(K,void 0,K.isTypeOnly,ft,K.moduleSpecifier,K.assertClause):void 0}function Fa(K,Xe){let ft=On(K.elements,Nr,Mu);return Xe||vt(ft)?t.updateNamedExports(K,ft):void 0}function Hi(K){return t.updateNamespaceExport(K,L.checkDefined($e(K.name,U,Re)))}function xi(K,Xe){return qm(K)?Hi(K):Fa(K,Xe)}function Nr(K){return!K.isTypeOnly&&(d.verbatimModuleSyntax||f.isValueAliasDeclaration(K))?K:void 0}function Fo(K){return wt(K)||!Lc(w)&&f.isTopLevelValueImportEqualsWithEntityName(K)}function Qr(K){if(K.isTypeOnly)return;if(ab(K)){let ft=wt(K);return!ft&&d.importsNotUsedAsValues===1?Ir(it(t.createImportDeclaration(void 0,void 0,K.moduleReference.expression,void 0),K),K):ft?xn(K,U,e):void 0}if(!Fo(K))return;let Xe=EO(t,K.moduleReference);return Jn(Xe,7168),Ki(K)||!Wi(K)?Ir(it(t.createVariableStatement(On(K.modifiers,Ne,Ha),t.createVariableDeclarationList([Ir(t.createVariableDeclaration(K.name,void 0,void 0,Xe),K)])),K),K):Ir(xc(K.name,Xe,K),K)}function Wi(K){return C!==void 0&&Mr(K,1)}function gn(K){return C===void 0&&Mr(K,1)}function Ki(K){return gn(K)&&!Mr(K,1024)}function kc(K){return gn(K)&&Mr(K,1024)}function Ps(K){let Xe=t.createAssignment(t.getExternalModuleOrNamespaceExportName(P,K,!1,!0),t.getLocalName(K));Ho(Xe,Gf(K.name?K.name.pos:K.pos,K.end));let ft=t.createExpressionStatement(Xe);return Ho(ft,Gf(-1,K.end)),ft}function mc(K,Xe){K.push(Ps(Xe))}function xc(K,Xe,ft){return it(t.createExpressionStatement(t.createAssignment(t.getNamespaceMemberName(P,K,!1,!0),Xe)),ft)}function hc(K,Xe,ft){return it(t.createAssignment(ro(K),Xe),ft)}function ro(K){return t.getNamespaceMemberName(P,K,!1,!0)}function aa(K){let Xe=t.getGeneratedNameForNode(K);return Ho(Xe,K.name),Xe}function Co(K){return t.getGeneratedNameForNode(K)}function gc(){W&8||(W|=8,e.enableSubstitution(79))}function Ll(){W&2||(W|=2,e.enableSubstitution(79),e.enableSubstitution(300),e.enableEmitNotification(264))}function md(K){return ec(K).kind===264}function Pc(K){return ec(K).kind===263}function bl(K,Xe,ft){let Yt=Y,pr=w;Li(Xe)&&(w=Xe),W&2&&md(Xe)&&(Y|=2),W&8&&Pc(Xe)&&(Y|=8),x(K,Xe,ft),Y=Yt,w=pr}function ss(K,Xe){return Xe=A(K,Xe),K===1?Rs(Xe):xf(Xe)?qs(Xe):Xe}function qs(K){if(W&2){let Xe=K.name,ft=jt(Xe);if(ft){if(K.objectAssignmentInitializer){let Yt=t.createAssignment(ft,K.objectAssignmentInitializer);return it(t.createPropertyAssignment(Xe,Yt),K)}return it(t.createPropertyAssignment(Xe,ft),K)}}return K}function Rs(K){switch(K.kind){case 79:return As(K);case 208:return yc(K);case 209:return Ql(K)}return K}function As(K){return jt(K)||K}function jt(K){if(W&Y&&!tc(K)&&!rv(K)){let Xe=f.getReferencedExportContainer(K,!1);if(Xe&&Xe.kind!==308&&(Y&2&&Xe.kind===264||Y&8&&Xe.kind===263))return it(t.createPropertyAccessExpression(t.getGeneratedNameForNode(Xe),K),K)}}function yc(K){return se(K)}function Ql(K){return se(K)}function yu(K){return K.replace(/\*\//g,"*_/")}function se(K){let Xe=ht(K);if(Xe!==void 0){hue(K,Xe);let ft=typeof Xe=="string"?t.createStringLiteral(Xe):t.createNumericLiteral(Xe);if(!d.removeComments){let Yt=ec(K,Us);R4(ft,3,` ${yu(Qc(Yt))} `)}return ft}return K}function ht(K){if(!d_(d))return br(K)||Vs(K)?f.getConstantValue(K):void 0}function wt(K){return d.verbatimModuleSyntax||Yn(K)||(d.preserveValueImports?f.isValueAliasDeclaration(K):f.isReferencedAliasDeclaration(K))}}var epe,eMe=gt({"src/compiler/transformers/ts.ts"(){"use strict";fa(),epe=!1}});function tpe(e){let{factory:t,getEmitHelperFactory:r,hoistVariableDeclaration:i,endLexicalEnvironment:o,startLexicalEnvironment:s,resumeLexicalEnvironment:l,addBlockScopedVariable:f}=e,d=e.getEmitResolver(),g=e.getCompilerOptions(),m=Do(g),v=MR(g),S=!!g.experimentalDecorators,x=!v,A=v&&m<9,w=x||A,C=m<9,P=m<99?-1:v?0:3,F=m<9,B=F&&m>=2,q=w||C||P===-1,W=e.onSubstituteNode;e.onSubstituteNode=As;let Y=e.onEmitNode;e.onEmitNode=Rs;let R=!1,ie,$,fe,Z,U,re=new Map,le,_e,ge=!1,X=!1;return y_(e,Ve);function Ve(se){if(se.isDeclarationFile||(U=void 0,R=!!(o_(se)&32),!q&&!R))return se;let ht=xn(se,ke,e);return Bg(ht,e.readEmitHelpers()),ht}function we(se){switch(se.kind){case 127:return Kn()?void 0:se;default:return zr(se,Ha)}}function ke(se){if(!(se.transformFlags&16777216)&&!(se.transformFlags&134234112))return se;switch(se.kind){case 127:return L.fail("Use `modifierVisitor` instead.");case 260:return ae(se);case 228:return Ot(se,void 0);case 172:case 169:return L.fail("Use `classElementVisitor` instead.");case 299:return We(se);case 240:return qe(se);case 257:return Qt(se);case 166:return tn(se);case 205:return kn(se);case 274:return _n(se);case 80:return ct(se);case 208:return Ht(se);case 209:return En(se);case 221:case 222:return dr(se,!1);case 223:return Q(se,!1);case 214:return G(se,!1,void 0);case 210:return Tt(se);case 241:return Se(se);case 212:return ve(se);case 245:return Cr(se);case 259:case 215:case 173:case 171:case 174:case 175:return gr(void 0,Pe,se);default:return Pe(se)}}function Pe(se){return xn(se,ke,e)}function Ce(se,ht){switch(se.kind){case 356:return Oe(se,!1,ht);case 214:return G(se,!1,ht);case 228:return Ot(se,ht);default:return ke(se)}}function Ie(se){switch(se.kind){case 221:case 222:return dr(se,!0);case 223:return Q(se,!0);case 357:return ue(se,!0);case 214:return G(se,!0,void 0);default:return ke(se)}}function Be(se){switch(se.kind){case 294:return xn(se,Be,e);case 230:return ln(se);default:return ke(se)}}function Ne(se){switch(se.kind){case 207:case 206:return qs(se);default:return ke(se)}}function Le(se){switch(se.kind){case 173:return ui(se);case 174:case 175:case 171:return gr(void 0,Pi,se);case 169:return gr(void 0,hi,se);case 172:return oe(se);case 164:return $n(se);case 237:return se;default:return Ns(se)?we(se):ke(se)}}function Ye(se){switch(se.kind){case 164:return $n(se);default:return ke(se)}}function _t(se){switch(se.kind){case 169:return An(se);case 174:case 175:return Le(se);default:L.assertMissingNode(se,"Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration");break}}function ct(se){return!C||ca(se.parent)?se:Ir(t.createIdentifier(""),se)}function Rt(se){let ht=hc(se.left);if(ht){let wt=$e(se.right,ke,ot);return Ir(r().createClassPrivateFieldInHelper(ht.brandCheckIdentifier,wt),se)}return xn(se,ke,e)}function We(se){if(vf(se,ce)){let{referencedName:ht,name:wt}=je(se.name),K=$e(se.initializer,Xe=>Ce(Xe,ht),ot);return t.updatePropertyAssignment(se,wt,K)}return xn(se,ke,e)}function qe(se){let ht=Z;Z=[];let wt=xn(se,ke,e),K=vt(Z)?[wt,...Z]:wt;return Z=ht,K}function zt(se,ht){let wt=ec(ht,Yr);return wt&&!wt.name&&Mr(wt,1024)?t.createStringLiteral("default"):t.createStringLiteralFromNode(se)}function Qt(se){if(vf(se,ce)){let ht=zt(se.name,se.initializer),wt=$e(se.name,ke,Mm),K=$e(se.initializer,Xe=>Ce(Xe,ht),ot);return t.updateVariableDeclaration(se,wt,void 0,void 0,K)}return xn(se,ke,e)}function tn(se){if(vf(se,ce)){let ht=zt(se.name,se.initializer),wt=$e(se.name,ke,Mm),K=$e(se.initializer,Xe=>Ce(Xe,ht),ot);return t.updateParameterDeclaration(se,void 0,void 0,wt,void 0,void 0,K)}return xn(se,ke,e)}function kn(se){if(vf(se,ce)){let ht=zt(se.name,se.initializer),wt=$e(se.propertyName,ke,Ys),K=$e(se.name,ke,Mm),Xe=$e(se.initializer,ft=>Ce(ft,ht),ot);return t.updateBindingElement(se,void 0,wt,K,Xe)}return xn(se,ke,e)}function _n(se){if(vf(se,ce)){let ht=t.createStringLiteral(se.isExportEquals?"":"default"),wt=On(se.modifiers,we,Ha),K=$e(se.expression,Xe=>Ce(Xe,ht),ot);return t.updateExportAssignment(se,wt,K)}return xn(se,ke,e)}function Gt(se){return vt(fe)&&(ud(se)?(fe.push(se.expression),se=t.updateParenthesizedExpression(se,t.inlineExpressions(fe))):(fe.push(se),se=t.inlineExpressions(fe)),fe=void 0),se}function $n(se){let ht=$e(se.expression,ke,ot);return t.updateComputedPropertyName(se,Gt(ht))}function ui(se){return le?Te(se,le):Pe(se)}function Ni(se){return!!(C||zc(se)&&o_(se)&32)}function Pi(se){if(L.assert(!bf(se)),!xu(se)||!Ni(se))return xn(se,Le,e);let ht=hc(se.name);if(L.assert(ht,"Undeclared private name for property declaration."),!ht.isValid)return se;let wt=pt(se);wt&&Nr().push(t.createAssignment(wt,t.createFunctionExpression(Pr(se.modifiers,K=>Ha(K)&&!LS(K)&&!Nue(K)),se.asteriskToken,wt,void 0,Sc(se.parameters,ke,e),void 0,Zd(se.body,ke,e))))}function gr(se,ht,wt){let K=_e;_e=se;let Xe=ht(wt);return _e=K,Xe}function pt(se){L.assert(pi(se.name));let ht=hc(se.name);if(L.assert(ht,"Undeclared private name for property declaration."),ht.kind==="m")return ht.methodName;if(ht.kind==="a"){if(zy(se))return ht.getterName;if(Ng(se))return ht.setterName}}function nn(se){let ht=sm(se),wt=pb(se),K=se.name,Xe=K,ft=K;if(ts(K)&&!Ap(K.expression)){let Go=L3(K);if(Go)Xe=t.updateComputedPropertyName(K,$e(K.expression,ke,ot)),ft=t.updateComputedPropertyName(K,Go.left);else{let Ka=t.createTempVariable(i);Ho(Ka,K.expression);let vo=$e(K.expression,ke,ot),ka=t.createAssignment(Ka,vo);Ho(ka,K.expression),Xe=t.updateComputedPropertyName(K,ka),ft=t.updateComputedPropertyName(K,Ka)}}let Yt=On(se.modifiers,we,Ha),pr=sJ(t,se,Yt,se.initializer);Ir(pr,se),Jn(pr,3072),Ho(pr,wt);let yr=gde(t,se,Yt,Xe);Ir(yr,se),hl(yr,ht),Ho(yr,wt);let ta=yde(t,se,Yt,ft);return Ir(ta,se),Jn(ta,3072),Ho(ta,wt),vK([pr,yr,ta],_t,_l)}function Dt(se){if(Ni(se)){let ht=hc(se.name);if(L.assert(ht,"Undeclared private name for property declaration."),!ht.isValid)return se;if(ht.isStatic&&!C){let wt=lt(se,t.createThis());if(wt)return t.createClassStaticBlockDeclaration(t.createBlock([wt],!0))}return}if(x&&!Ca(se)&&U?.data&&U.data.facts&16)return t.updatePropertyDeclaration(se,On(se.modifiers,ke,Ns),se.name,void 0,void 0,void 0);if(vf(se,ce)){let{referencedName:ht,name:wt}=je(se.name);return t.updatePropertyDeclaration(se,On(se.modifiers,we,Ha),wt,void 0,void 0,$e(se.initializer,K=>Ce(K,ht),ot))}return t.updatePropertyDeclaration(se,On(se.modifiers,we,Ha),$e(se.name,Ye,Ys),void 0,void 0,$e(se.initializer,ke,ot))}function pn(se){if(w&&!Id(se)){let ht=Ja(se.name,!!se.initializer||v,vf(se,ce));if(ht&&Nr().push(...vde(ht)),Ca(se)&&!C){let wt=lt(se,t.createThis());if(wt){let K=t.createClassStaticBlockDeclaration(t.createBlock([wt]));return Ir(K,se),hl(K,se),hl(wt,{pos:-1,end:-1}),W0(wt,void 0),u2(wt,void 0),K}}return}return t.updatePropertyDeclaration(se,On(se.modifiers,we,Ha),$e(se.name,Ye,Ys),void 0,void 0,$e(se.initializer,ke,ot))}function An(se){return L.assert(!bf(se),"Decorators should already have been transformed and elided."),xu(se)?Dt(se):pn(se)}function Kn(){return P===-1||P===3&&!!U?.data&&!!(U.data.facts&16)}function hi(se){return Id(se)&&(Kn()||zc(se)&&o_(se)&32)?nn(se):An(se)}function ri(se,ht){return vn(se,$e(ht,ke,ot))}function vn(se,ht){switch(hl(ht,fb(ht,-1)),se.kind){case"a":return r().createClassPrivateFieldGetHelper(ht,se.brandCheckIdentifier,se.kind,se.getterName);case"m":return r().createClassPrivateFieldGetHelper(ht,se.brandCheckIdentifier,se.kind,se.methodName);case"f":return r().createClassPrivateFieldGetHelper(ht,se.brandCheckIdentifier,se.kind,se.isStatic?se.variableName:void 0);case"untransformed":return L.fail("Access helpers should not be created for untransformed private elements");default:L.assertNever(se,"Unknown private element type")}}function Ht(se){if(pi(se.name)){let ht=hc(se.name);if(ht)return it(Ir(ri(ht,se.expression),se),se)}if(B&&Pu(se)&&Re(se.name)&&_e&&U?.data){let{classConstructor:ht,superClassReference:wt,facts:K}=U.data;if(K&1)return Si(se);if(ht&&wt){let Xe=t.createReflectGetCall(wt,t.createStringLiteralFromNode(se.name),ht);return Ir(Xe,se.expression),it(Xe,se.expression),Xe}}return xn(se,ke,e)}function En(se){if(B&&Pu(se)&&_e&&U?.data){let{classConstructor:ht,superClassReference:wt,facts:K}=U.data;if(K&1)return Si(se);if(ht&&wt){let Xe=t.createReflectGetCall(wt,$e(se.argumentExpression,ke,ot),ht);return Ir(Xe,se.expression),it(Xe,se.expression),Xe}}return xn(se,ke,e)}function dr(se,ht){if(se.operator===45||se.operator===46){let wt=vs(se.operand);if(TA(wt)){let K;if(K=hc(wt.name)){let Xe=$e(wt.expression,ke,ot),{readExpression:ft,initializeExpression:Yt}=at(Xe),pr=ri(K,ft),yr=tv(se)||ht?void 0:t.createTempVariable(i);return pr=b3(t,se,pr,i,yr),pr=Ge(K,Yt||ft,pr,63),Ir(pr,se),it(pr,se),yr&&(pr=t.createComma(pr,yr),it(pr,se)),pr}}else if(B&&Pu(wt)&&_e&&U?.data){let{classConstructor:K,superClassReference:Xe,facts:ft}=U.data;if(ft&1){let Yt=Si(wt);return tv(se)?t.updatePrefixUnaryExpression(se,Yt):t.updatePostfixUnaryExpression(se,Yt)}if(K&&Xe){let Yt,pr;if(br(wt)?Re(wt.name)&&(pr=Yt=t.createStringLiteralFromNode(wt.name)):Ap(wt.argumentExpression)?pr=Yt=wt.argumentExpression:(pr=t.createTempVariable(i),Yt=t.createAssignment(pr,$e(wt.argumentExpression,ke,ot))),Yt&&pr){let yr=t.createReflectGetCall(Xe,pr,K);it(yr,wt);let ta=ht?void 0:t.createTempVariable(i);return yr=b3(t,se,yr,i,ta),yr=t.createReflectSetCall(Xe,Yt,yr,K),Ir(yr,se),it(yr,se),ta&&(yr=t.createComma(yr,ta),it(yr,se)),yr}}}}return xn(se,ke,e)}function Cr(se){return t.updateForStatement(se,$e(se.initializer,Ie,pp),$e(se.condition,ke,ot),$e(se.incrementor,Ie,ot),jf(se.statement,ke,e))}function Se(se){return t.updateExpressionStatement(se,$e(se.expression,Ie,ot))}function at(se){let ht=ws(se)?se:t.cloneNode(se);if(Ap(se))return{readExpression:ht,initializeExpression:void 0};let wt=t.createTempVariable(i),K=t.createAssignment(wt,ht);return{readExpression:wt,initializeExpression:K}}function Tt(se){var ht;if(TA(se.expression)&&hc(se.expression.name)){let{thisArg:wt,target:K}=t.createCallBinding(se.expression,i,m);return dT(se)?t.updateCallChain(se,t.createPropertyAccessChain($e(K,ke,ot),se.questionDotToken,"call"),void 0,void 0,[$e(wt,ke,ot),...On(se.arguments,ke,ot)]):t.updateCallExpression(se,t.createPropertyAccessExpression($e(K,ke,ot),"call"),void 0,[$e(wt,ke,ot),...On(se.arguments,ke,ot)])}if(B&&Pu(se.expression)&&_e&&((ht=U?.data)!=null&&ht.classConstructor)){let wt=t.createFunctionCallCall($e(se.expression,ke,ot),U.data.classConstructor,On(se.arguments,ke,ot));return Ir(wt,se),it(wt,se),wt}return xn(se,ke,e)}function ve(se){var ht;if(TA(se.tag)&&hc(se.tag.name)){let{thisArg:wt,target:K}=t.createCallBinding(se.tag,i,m);return t.updateTaggedTemplateExpression(se,t.createCallExpression(t.createPropertyAccessExpression($e(K,ke,ot),"bind"),void 0,[$e(wt,ke,ot)]),void 0,$e(se.template,ke,AA))}if(B&&Pu(se.tag)&&_e&&((ht=U?.data)!=null&&ht.classConstructor)){let wt=t.createFunctionBindCall($e(se.tag,ke,ot),U.data.classConstructor,[]);return Ir(wt,se),it(wt,se),t.updateTaggedTemplateExpression(se,wt,void 0,$e(se.template,ke,AA))}return xn(se,ke,e)}function nt(se){if(U&&re.set(ec(se),U),C){s();let ht=gr(se,K=>On(K,ke,ca),se.body.statements);ht=t.mergeLexicalEnvironment(ht,o());let wt=t.createImmediatelyInvokedArrowFunction(ht);return Ir(wt,se),it(wt,se),bp(wt,4),wt}}function ce(se){if(_u(se)&&!se.name){let ht=EF(se),wt=wr(ht,oc);if(wt){for(let Xe of wt.body.statements)if(Ol(Xe)&&pL(Xe.expression,"___setFunctionName"))return!1}return(C||!!o_(se))&&vt(ht,Xe=>oc(Xe)||xu(Xe)||w&&sN(Xe))}return!1}function Q(se,ht){if(Fg(se)){let wt=fe;fe=void 0,se=t.updateBinaryExpression(se,$e(se.left,Ne,ot),se.operatorToken,$e(se.right,ke,ot));let K=vt(fe)?t.inlineExpressions(WD([...fe,se])):se;return fe=wt,K}if(Iu(se)){if(vf(se,ce)){let wt=zt(se.left,se.right),K=$e(se.left,ke,ot),Xe=$e(se.right,ft=>Ce(ft,wt),ot);return t.updateBinaryExpression(se,K,se.operatorToken,Xe)}if(TA(se.left)){let wt=hc(se.left.name);if(wt)return it(Ir(Ge(wt,se.left.expression,se.right,se.operatorToken.kind),se),se)}else if(B&&Pu(se.left)&&_e&&U?.data){let{classConstructor:wt,superClassReference:K,facts:Xe}=U.data;if(Xe&1)return t.updateBinaryExpression(se,Si(se.left),se.operatorToken,$e(se.right,ke,ot));if(wt&&K){let ft=Vs(se.left)?$e(se.left.argumentExpression,ke,ot):Re(se.left.name)?t.createStringLiteralFromNode(se.left.name):void 0;if(ft){let Yt=$e(se.right,ke,ot);if(oN(se.operatorToken.kind)){let yr=ft;Ap(ft)||(yr=t.createTempVariable(i),ft=t.createAssignment(yr,ft));let ta=t.createReflectGetCall(K,yr,wt);Ir(ta,se.left),it(ta,se.left),Yt=t.createBinaryExpression(ta,WL(se.operatorToken.kind),Yt),it(Yt,se)}let pr=ht?void 0:t.createTempVariable(i);return pr&&(Yt=t.createAssignment(pr,Yt),it(pr,se)),Yt=t.createReflectSetCall(K,ft,Yt,wt),Ir(Yt,se),it(Yt,se),pr&&(Yt=t.createComma(Yt,pr),it(Yt,se)),Yt}}}}return aMe(se)?Rt(se):xn(se,ke,e)}function ue(se,ht){let wt=ht?aN(se.elements,Ie):aN(se.elements,ke,Ie);return t.updateCommaListExpression(se,wt)}function G(se,ht,wt){let K=ht?Ie:wt?ft=>Ce(ft,wt):ke,Xe=$e(se.expression,K,ot);return t.updateParenthesizedExpression(se,Xe)}function Oe(se,ht,wt){let K=ht?Ie:wt?ft=>Ce(ft,wt):ke,Xe=$e(se.expression,K,ot);return t.updatePartiallyEmittedExpression(se,Xe)}function je(se){if(c_(se)||pi(se)){let ft=t.createStringLiteralFromNode(se),Yt=$e(se,ke,Ys);return{referencedName:ft,name:Yt}}if(c_(se.expression)&&!Re(se.expression)){let ft=t.createStringLiteralFromNode(se.expression),Yt=$e(se,ke,Ys);return{referencedName:ft,name:Yt}}let ht=t.createTempVariable(i),wt=r().createPropKeyHelper($e(se.expression,ke,ot)),K=t.createAssignment(ht,wt),Xe=t.updateComputedPropertyName(se,Gt(K));return{referencedName:ht,name:Xe}}function Ge(se,ht,wt,K){if(ht=$e(ht,ke,ot),wt=$e(wt,ke,ot),oN(K)){let{readExpression:Xe,initializeExpression:ft}=at(ht);ht=ft||Xe,wt=t.createBinaryExpression(vn(se,Xe),WL(K),wt)}switch(hl(ht,fb(ht,-1)),se.kind){case"a":return r().createClassPrivateFieldSetHelper(ht,se.brandCheckIdentifier,wt,se.kind,se.setterName);case"m":return r().createClassPrivateFieldSetHelper(ht,se.brandCheckIdentifier,wt,se.kind,void 0);case"f":return r().createClassPrivateFieldSetHelper(ht,se.brandCheckIdentifier,wt,se.kind,se.isStatic?se.variableName:void 0);case"untransformed":return L.fail("Access helpers should not be created for untransformed private elements");default:L.assertNever(se,"Unknown private element type")}}function kt(se){return Pr(se.members,K_e)}function Kt(se){let ht=0,wt=ec(se);sl(wt)&&O0(S,wt)&&(ht|=1);let K=!1,Xe=!1,ft=!1,Yt=!1;for(let yr of se.members)Ca(yr)?(yr.name&&(pi(yr.name)||Id(yr))&&C&&(ht|=2),(Na(yr)||oc(yr))&&(F&&yr.transformFlags&16384&&(ht|=8,ht&1||(ht|=2)),B&&yr.transformFlags&134217728&&(ht&1||(ht|=6)))):B0(ec(yr))||(Id(yr)?(Yt=!0,ft||(ft=xu(yr))):xu(yr)?ft=!0:Na(yr)&&(K=!0,Xe||(Xe=!!yr.initializer)));return(A&&K||x&&Xe||C&&ft||C&&Yt&&P===-1)&&(ht|=16),ht}function ln(se){var ht;if((((ht=U?.data)==null?void 0:ht.facts)||0)&4){let K=t.createTempVariable(i,!0);return Hi().superClassReference=K,t.updateExpressionWithTypeArguments(se,t.createAssignment(K,$e(se.expression,ke,ot)),void 0)}return xn(se,ke,e)}function ir(se,ht,wt){let K=le,Xe=fe,ft=U;le=se,fe=void 0,Za();let Yt=o_(se)&32;if(C||Yt){let ta=sa(se);ta&&Re(ta)&&(xi().data.className=ta)}if(C){let ta=kt(se);vt(ta)&&(xi().data.weakSetName=mc("instances",ta[0].name))}let pr=Kt(se);pr&&(Hi().facts=pr),pr&8&&ei();let yr=wt(se,pr,ht);return Fa(),L.assert(U===ft),le=K,fe=Xe,yr}function ae(se){return ir(se,void 0,rt)}function rt(se,ht){var wt,K;let Xe;if(ht&2){if(C&&((wt=se.emitNode)!=null&&wt.classThis))Hi().classConstructor=se.emitNode.classThis,Xe=t.createAssignment(se.emitNode.classThis,t.getInternalName(se));else{let Ka=t.createTempVariable(i,!0);Hi().classConstructor=t.cloneNode(Ka),Xe=t.createAssignment(Ka,t.getInternalName(se))}(K=se.emitNode)!=null&&K.classThis&&(Hi().classThis=se.emitNode.classThis)}let ft=On(se.modifiers,we,Ha),Yt=On(se.heritageClauses,Be,dd),{members:pr,prologue:yr}=pe(se),ta=t.updateClassDeclaration(se,ft,se.name,void 0,Yt,pr),Go=[];if(yr&&Go.push(t.createExpressionStatement(yr)),Go.push(ta),Xe&&Nr().unshift(Xe),vt(fe)&&Go.push(t.createExpressionStatement(t.inlineExpressions(fe))),x||C||o_(se)&32){let Ka=EF(se);vt(Ka)&&yt(Go,Ka,t.getInternalName(se))}return Go}function Ot(se,ht){return ir(se,ht,Ke)}function Ke(se,ht,wt){var K,Xe,ft,Yt,pr,yr;let ta=!!(ht&1),Go=EF(se),Ka=d.getNodeCheckFlags(se)&1048576,vo;function ka(){var vc;if(C&&((vc=se.emitNode)!=null&&vc.classThis))return Hi().classConstructor=se.emitNode.classThis;let nf=d.getNodeCheckFlags(se),ye=nf&1048576,Et=nf&32768,bn=t.createTempVariable(Et?f:i,!!ye);return Hi().classConstructor=t.cloneNode(bn),bn}(K=se.emitNode)!=null&&K.classThis&&(Hi().classThis=se.emitNode.classThis),ht&2&&(vo??(vo=ka()));let Hs=On(se.modifiers,we,Ha),Uc=On(se.heritageClauses,Be,dd),{members:Gu,prologue:$o}=pe(se),jo=t.updateClassExpression(se,Hs,se.name,void 0,Uc,Gu),Ws=[];if($o&&Ws.push($o),(C||o_(se)&32)&&vt(Go,vc=>oc(vc)||xu(vc)||w&&sN(vc))||vt(fe)||wt)if(ta){if(L.assertIsDefined(Z,"Decorated classes transformed by TypeScript are expected to be within a variable declaration."),vt(fe)&&si(Z,on(fe,t.createExpressionStatement)),wt)if(C){let vc=r().createSetFunctionNameHelper((ft=vo??((Xe=se.emitNode)==null?void 0:Xe.classThis))!=null?ft:t.getInternalName(se),wt);Z.push(t.createExpressionStatement(vc))}else{let vc=r().createSetFunctionNameHelper(t.createThis(),wt);jo=t.updateClassExpression(jo,jo.modifiers,jo.name,jo.typeParameters,jo.heritageClauses,[t.createClassStaticBlockDeclaration(t.createBlock([t.createExpressionStatement(vc)])),...jo.members])}vt(Go)&&yt(Z,Go,(pr=(Yt=se.emitNode)==null?void 0:Yt.classThis)!=null?pr:t.getInternalName(se)),vo?Ws.push(t.createAssignment(vo,jo)):C&&((yr=se.emitNode)!=null&&yr.classThis)?Ws.push(t.createAssignment(se.emitNode.classThis,jo)):Ws.push(jo)}else{if(vo??(vo=ka()),Ka){jr();let vc=t.cloneNode(vo);vc.emitNode.autoGenerate.flags&=-9,$[sc(se)]=vc}Ws.push(t.createAssignment(vo,jo)),si(Ws,fe),wt&&Ws.push(r().createSetFunctionNameHelper(vo,wt)),si(Ws,Qe(Go,vo)),Ws.push(t.cloneNode(vo))}else Ws.push(jo);return Ws.length>1&&(bp(jo,131072),Ws.forEach(mu)),t.inlineExpressions(Ws)}function oe(se){if(!C)return xn(se,ke,e)}function pe(se){let ht=!!(o_(se)&32);if(C||R){for(let Yt of se.members)if(xu(Yt))if(Ni(Yt))Ps(Yt,Yt.name,Fo);else{let pr=xi();JT(pr,Yt.name,{kind:"untransformed"})}if(C&&vt(kt(se))&&z(),Kn()){for(let Yt of se.members)if(Id(Yt)){let pr=t.getGeneratedPrivateNameForNode(Yt.name,void 0,"_accessor_storage");if(C||ht&&zc(Yt))Ps(Yt,pr,Qr);else{let yr=xi();JT(yr,pr,{kind:"untransformed"})}}}}let wt=On(se.members,Le,_l),K;vt(wt,Ec)||(K=Te(void 0,se));let Xe,ft;if(!C&&vt(fe)){let Yt=t.createExpressionStatement(t.inlineExpressions(fe));if(Yt.transformFlags&134234112){let yr=t.createTempVariable(i),ta=t.createArrowFunction(void 0,void 0,[],void 0,void 0,t.createBlock([Yt]));Xe=t.createAssignment(yr,ta),Yt=t.createExpressionStatement(t.createCallExpression(yr,void 0,[]))}let pr=t.createBlock([Yt]);ft=t.createClassStaticBlockDeclaration(pr),fe=void 0}if(K||ft){let Yt;Yt=Sn(Yt,K),Yt=Sn(Yt,ft),Yt=si(Yt,wt),wt=it(t.createNodeArray(Yt),se.members)}return{members:wt,prologue:Xe}}function z(){let{weakSetName:se}=xi().data;L.assert(se,"weakSetName should be set in private identifier environment"),Nr().push(t.createAssignment(se,t.createNewExpression(t.createIdentifier("WeakSet"),void 0,[])))}function Te(se,ht){if(se=$e(se,ke,Ec),!U?.data||!(U.data.facts&16))return se;let wt=hp(ht),K=!!(wt&&ql(wt.expression).kind!==104),Xe=Sc(se?se.parameters:void 0,ke,e),ft=j(ht,se,K);return ft?se?(L.assert(Xe),t.updateConstructorDeclaration(se,void 0,Xe,ft)):mu(Ir(it(t.createConstructorDeclaration(void 0,Xe??[],ft),se||ht),se)):se}function j(se,ht,wt){var K,Xe;let ft=CK(se,!1,!1),Yt=ft;v||(Yt=Pr(Yt,$o=>!!$o.initializer||pi($o.name)||rm($o)));let pr=kt(se),yr=vt(Yt)||vt(pr);if(!ht&&!yr)return Zd(void 0,ke,e);l();let ta=!ht&&wt,Go=0,Ka=0,vo=-1,ka=[];(K=ht?.body)!=null&&K.statements&&(Ka=t.copyPrologue(ht.body.statements,ka,!1,ke),vo=bF(ht.body.statements,Ka),vo>=0?(Go=vo+1,ka=[...ka.slice(0,Ka),...On(ht.body.statements,ke,ca,Ka,Go-Ka),...ka.slice(Ka)]):Ka>=0&&(Go=Ka)),ta&&ka.push(t.createExpressionStatement(t.createCallExpression(t.createSuper(),void 0,[t.createSpreadElement(t.createIdentifier("arguments"))])));let Hs=0;if(ht?.body){for(let $o=Go;$o<ht.body.statements.length;$o++){let jo=ht.body.statements[$o];if(Ad(ec(jo),ht))Hs++;else break}Hs>0&&(Go+=Hs)}let Uc=t.createThis();if(Kr(ka,pr,Uc),ht){let $o=Pr(ft,Ws=>Ad(ec(Ws),ht)),jo=Pr(Yt,Ws=>!Ad(ec(Ws),ht));yt(ka,$o,Uc),yt(ka,jo,Uc)}else yt(ka,Yt,Uc);if(ht&&si(ka,On(ht.body.statements,ke,ca,Go)),ka=t.mergeLexicalEnvironment(ka,o()),ka.length===0&&!ht)return;let Gu=ht?.body&&ht.body.statements.length>=ka.length&&(Xe=ht.body.multiLine)!=null?Xe:ka.length>0;return it(t.createBlock(it(t.createNodeArray(ka),ht?ht.body.statements:se.members),Gu),ht?ht.body:void 0)}function yt(se,ht,wt){for(let K of ht){if(Ca(K)&&!C)continue;let Xe=lt(K,wt);Xe&&se.push(Xe)}}function lt(se,ht){let wt=oc(se)?nt(se):Vt(se,ht);if(!wt)return;let K=t.createExpressionStatement(wt);Ir(K,se),bp(K,Ya(se)&3072),hl(K,se);let Xe=ec(se);return ha(Xe)?(Ho(K,Xe),ZR(K)):Ho(K,yp(se)),W0(wt,void 0),u2(wt,void 0),rm(Xe)&&bp(K,3072),K}function Qe(se,ht){let wt=[];for(let K of se){let Xe=oc(K)?nt(K):Vt(K,ht);Xe&&(mu(Xe),Ir(Xe,K),bp(Xe,Ya(K)&3072),Ho(Xe,yp(K)),hl(Xe,K),wt.push(Xe))}return wt}function Vt(se,ht){var wt;let K=_e,Xe=Hn(se,ht);return Xe&&zc(se)&&((wt=U?.data)!=null&&wt.facts)&&(Ir(Xe,se),bp(Xe,4),Ho(Xe,pb(se.name)),re.set(ec(se),U)),_e=K,Xe}function Hn(se,ht){let wt=!v,K;vf(se,ce)&&(c_(se.name)||pi(se.name)?K=t.createStringLiteralFromNode(se.name):c_(se.name.expression)&&!Re(se.name.expression)?K=t.createStringLiteralFromNode(se.name.expression):K=t.getGeneratedNameForNode(se.name));let Xe=rm(se)?t.getGeneratedPrivateNameForNode(se.name):ts(se.name)&&!Ap(se.name.expression)?t.updateComputedPropertyName(se.name,t.getGeneratedNameForNode(se.name)):se.name;zc(se)&&(_e=se);let ft=K?yr=>Ce(yr,K):ke;if(pi(Xe)&&Ni(se)){let yr=hc(Xe);if(yr)return yr.kind==="f"?yr.isStatic?tMe(yr.variableName,$e(se.initializer,ft,ot)):nMe(ht,$e(se.initializer,ft,ot),yr.brandCheckIdentifier):void 0;L.fail("Undeclared private name for property declaration.")}if((pi(Xe)||zc(se))&&!se.initializer)return;let Yt=ec(se);if(Mr(Yt,256))return;let pr=$e(se.initializer,ft,ot);if(Ad(Yt,Yt.parent)&&Re(Xe)){let yr=t.cloneNode(Xe);pr?(ud(pr)&&TO(pr.expression)&&pL(pr.expression.left,"___runInitializers")&&NS(pr.expression.right)&&Vf(pr.expression.right.expression)&&(pr=pr.expression.left),pr=t.inlineExpressions([pr,yr])):pr=yr,Jn(Xe,3168),Ho(yr,Yt.name),Jn(yr,3072)}else pr??(pr=t.createVoidZero());if(wt||pi(Xe)){let yr=VT(t,ht,Xe,Xe);return bp(yr,1024),t.createAssignment(yr,pr)}else{let yr=ts(Xe)?Xe.expression:Re(Xe)?t.createStringLiteral(Gi(Xe.escapedText)):Xe,ta=t.createPropertyDescriptor({value:pr,configurable:!0,writable:!0,enumerable:!0});return t.createObjectDefinePropertyCall(ht,yr,ta)}}function jr(){ie&1||(ie|=1,e.enableSubstitution(79),$=[])}function ei(){ie&2||(ie|=2,e.enableSubstitution(108),e.enableEmitNotification(259),e.enableEmitNotification(215),e.enableEmitNotification(173),e.enableEmitNotification(174),e.enableEmitNotification(175),e.enableEmitNotification(171),e.enableEmitNotification(169),e.enableEmitNotification(164))}function Kr(se,ht,wt){if(!C||!vt(ht))return;let{weakSetName:K}=xi().data;L.assert(K,"weakSetName should be set in private identifier environment"),se.push(t.createExpressionStatement(rMe(wt,K)))}function Si(se){return br(se)?t.updatePropertyAccessExpression(se,t.createVoidZero(),se.name):t.updateElementAccessExpression(se,t.createVoidZero(),$e(se.argumentExpression,ke,ot))}function Ja(se,ht,wt){if(ts(se)){let K=L3(se),Xe=$e(se.expression,ke,ot),ft=a_(Xe),Yt=Ap(ft);if(!(!!K||Iu(ft)&&tc(ft.left))&&!Yt&&ht){let yr=t.getGeneratedNameForNode(se);return d.getNodeCheckFlags(se)&32768?f(yr):i(yr),wt&&(Xe=r().createPropKeyHelper(Xe)),t.createAssignment(yr,Xe)}return Yt||Re(ft)?void 0:Xe}}function Za(){U={previous:U,data:void 0}}function Fa(){U=U?.previous}function Hi(){var se;return L.assert(U),(se=U.data)!=null?se:U.data={facts:0,classConstructor:void 0,classThis:void 0,superClassReference:void 0}}function xi(){var se;return L.assert(U),(se=U.privateEnv)!=null?se:U.privateEnv=Y_e({className:void 0,weakSetName:void 0})}function Nr(){return fe??(fe=[])}function Fo(se,ht,wt,K,Xe,ft,Yt){Id(se)?kc(se,ht,wt,K,Xe,ft,Yt):Na(se)?Qr(se,ht,wt,K,Xe,ft,Yt):Nc(se)?Wi(se,ht,wt,K,Xe,ft,Yt):p_(se)?gn(se,ht,wt,K,Xe,ft,Yt):Sf(se)&&Ki(se,ht,wt,K,Xe,ft,Yt)}function Qr(se,ht,wt,K,Xe,ft,Yt){var pr;if(Xe){let yr=L.checkDefined((pr=wt.classThis)!=null?pr:wt.classConstructor,"classConstructor should be set in private identifier environment"),ta=xc(ht);JT(K,ht,{kind:"f",isStatic:!0,brandCheckIdentifier:yr,variableName:ta,isValid:ft})}else{let yr=xc(ht);JT(K,ht,{kind:"f",isStatic:!1,brandCheckIdentifier:yr,isValid:ft}),Nr().push(t.createAssignment(yr,t.createNewExpression(t.createIdentifier("WeakMap"),void 0,[])))}}function Wi(se,ht,wt,K,Xe,ft,Yt){var pr;let yr=xc(ht),ta=Xe?L.checkDefined((pr=wt.classThis)!=null?pr:wt.classConstructor,"classConstructor should be set in private identifier environment"):L.checkDefined(K.data.weakSetName,"weakSetName should be set in private identifier environment");JT(K,ht,{kind:"m",methodName:yr,brandCheckIdentifier:ta,isStatic:Xe,isValid:ft})}function gn(se,ht,wt,K,Xe,ft,Yt){var pr;let yr=xc(ht,"_get"),ta=Xe?L.checkDefined((pr=wt.classThis)!=null?pr:wt.classConstructor,"classConstructor should be set in private identifier environment"):L.checkDefined(K.data.weakSetName,"weakSetName should be set in private identifier environment");Yt?.kind==="a"&&Yt.isStatic===Xe&&!Yt.getterName?Yt.getterName=yr:JT(K,ht,{kind:"a",getterName:yr,setterName:void 0,brandCheckIdentifier:ta,isStatic:Xe,isValid:ft})}function Ki(se,ht,wt,K,Xe,ft,Yt){var pr;let yr=xc(ht,"_set"),ta=Xe?L.checkDefined((pr=wt.classThis)!=null?pr:wt.classConstructor,"classConstructor should be set in private identifier environment"):L.checkDefined(K.data.weakSetName,"weakSetName should be set in private identifier environment");Yt?.kind==="a"&&Yt.isStatic===Xe&&!Yt.setterName?Yt.setterName=yr:JT(K,ht,{kind:"a",getterName:void 0,setterName:yr,brandCheckIdentifier:ta,isStatic:Xe,isValid:ft})}function kc(se,ht,wt,K,Xe,ft,Yt){var pr;let yr=xc(ht,"_get"),ta=xc(ht,"_set"),Go=Xe?L.checkDefined((pr=wt.classThis)!=null?pr:wt.classConstructor,"classConstructor should be set in private identifier environment"):L.checkDefined(K.data.weakSetName,"weakSetName should be set in private identifier environment");JT(K,ht,{kind:"a",getterName:yr,setterName:ta,brandCheckIdentifier:Go,isStatic:Xe,isValid:ft})}function Ps(se,ht,wt){let K=Hi(),Xe=xi(),ft=kK(Xe,ht),Yt=zc(se),pr=!iMe(ht)&&ft===void 0;wt(se,ht,K,Xe,Yt,pr,ft)}function mc(se,ht,wt){let{className:K}=xi().data,Xe=K?{prefix:"_",node:K,suffix:"_"}:"_",ft=typeof se=="object"?t.getGeneratedNameForNode(se,24,Xe,wt):typeof se=="string"?t.createUniqueName(se,16,Xe,wt):t.createTempVariable(void 0,!0,Xe,wt);return d.getNodeCheckFlags(ht)&32768?f(ft):i(ft),ft}function xc(se,ht){var wt;let K=T6(se);return mc((wt=K?.substring(1))!=null?wt:se,se,ht)}function hc(se){let ht=$_e(U,se);return ht?.kind==="untransformed"?void 0:ht}function ro(se){let ht=t.getGeneratedNameForNode(se),wt=hc(se.name);if(!wt)return xn(se,ke,e);let K=se.expression;return(zw(se)||Pu(se)||!Z0(se.expression))&&(K=t.createTempVariable(i,!0),Nr().push(t.createBinaryExpression(K,63,$e(se.expression,ke,ot)))),t.createAssignmentTargetWrapper(ht,Ge(wt,K,ht,63))}function aa(se){if(rs(se)||fu(se))return qs(se);if(TA(se))return ro(se);if(B&&Pu(se)&&_e&&U?.data){let{classConstructor:ht,superClassReference:wt,facts:K}=U.data;if(K&1)return Si(se);if(ht&&wt){let Xe=Vs(se)?$e(se.argumentExpression,ke,ot):Re(se.name)?t.createStringLiteralFromNode(se.name):void 0;if(Xe){let ft=t.createTempVariable(void 0);return t.createAssignmentTargetWrapper(ft,t.createReflectSetCall(wt,Xe,ft,ht))}}}return xn(se,ke,e)}function Co(se){if(vf(se,ce)){let ht=aa(se.left),wt=zt(se.left,se.right),K=$e(se.right,Xe=>Ce(Xe,wt),ot);return t.updateBinaryExpression(se,ht,se.operatorToken,K)}if(Iu(se,!0)){let ht=aa(se.left),wt=$e(se.right,ke,ot);return t.updateBinaryExpression(se,ht,se.operatorToken,wt)}return aa(se)}function gc(se){if(Ju(se.expression)){let ht=aa(se.expression);return t.updateSpreadElement(se,ht)}return xn(se,ke,e)}function Ll(se){return L.assertNode(se,ww),Km(se)?gc(se):ol(se)?xn(se,ke,e):Co(se)}function md(se){let ht=$e(se.name,ke,Ys);if(Iu(se.initializer,!0)){let wt=Co(se.initializer);return t.updatePropertyAssignment(se,ht,wt)}if(Ju(se.initializer)){let wt=aa(se.initializer);return t.updatePropertyAssignment(se,ht,wt)}return xn(se,ke,e)}function Pc(se){if(vf(se,ce)){let ht=zt(se.name,se.objectAssignmentInitializer),wt=$e(se.objectAssignmentInitializer,K=>Ce(K,ht),ot);return t.updateShorthandPropertyAssignment(se,se.name,wt)}return xn(se,ke,e)}function bl(se){if(Ju(se.expression)){let ht=aa(se.expression);return t.updateSpreadAssignment(se,ht)}return xn(se,ke,e)}function ss(se){return L.assertNode(se,Dw),VS(se)?bl(se):xf(se)?Pc(se):yl(se)?md(se):xn(se,ke,e)}function qs(se){return fu(se)?t.updateArrayLiteralExpression(se,On(se.elements,Ll,ot)):t.updateObjectLiteralExpression(se,On(se.properties,ss,Og))}function Rs(se,ht,wt){let K=ec(ht),Xe=re.get(K);if(Xe){let ft=U,Yt=X;U=Xe,X=ge,ge=!oc(K)||!(o_(K)&32),Y(se,ht,wt),ge=X,X=Yt,U=ft;return}switch(ht.kind){case 215:if(xs(K)||Ya(ht)&524288)break;case 259:case 173:case 174:case 175:case 171:case 169:{let ft=U,Yt=X;U=void 0,X=ge,ge=!1,Y(se,ht,wt),ge=X,X=Yt,U=ft;return}case 164:{let ft=U,Yt=ge;U=U?.previous,ge=X,Y(se,ht,wt),ge=Yt,U=ft;return}}Y(se,ht,wt)}function As(se,ht){return ht=W(se,ht),se===1?jt(ht):ht}function jt(se){switch(se.kind){case 79:return Ql(se);case 108:return yc(se)}return se}function yc(se){if(ie&2&&U?.data){let{facts:ht,classConstructor:wt,classThis:K}=U.data;if(ht&1&&S)return t.createParenthesizedExpression(t.createVoidZero());let Xe=ge?K??wt:wt;if(Xe)return it(Ir(t.cloneNode(Xe),se),se)}return se}function Ql(se){return yu(se)||se}function yu(se){if(ie&1&&d.getNodeCheckFlags(se)&2097152){let ht=d.getReferencedValueDeclaration(se);if(ht){let wt=$[ht.id];if(wt){let K=t.cloneNode(wt);return Ho(K,se),hl(K,se),K}}}}}function tMe(e,t){return D.createAssignment(e,D.createObjectLiteralExpression([D.createPropertyAssignment("value",t||D.createVoidZero())]))}function nMe(e,t,r){return D.createCallExpression(D.createPropertyAccessExpression(r,"set"),void 0,[e,t||D.createVoidZero()])}function rMe(e,t){return D.createCallExpression(D.createPropertyAccessExpression(t,"add"),void 0,[e])}function iMe(e){return!tS(e)&&e.escapedText==="#constructor"}function aMe(e){return pi(e.left)&&e.operatorToken.kind===101}var oMe=gt({"src/compiler/transformers/classFields.ts"(){"use strict";fa()}});function npe(e){let{hoistVariableDeclaration:t}=e,r=e.getEmitResolver(),i=e.getCompilerOptions(),o=Do(i),s=Uf(i,"strictNullChecks"),l,f;return{serializeTypeNode:($,fe)=>d($,A,fe),serializeTypeOfNode:($,fe)=>d($,m,fe),serializeParameterTypesOfNode:($,fe,Z)=>d($,v,fe,Z),serializeReturnTypeOfNode:($,fe)=>d($,x,fe)};function d($,fe,Z,U){let re=l,le=f;l=$.currentLexicalScope,f=$.currentNameScope;let _e=U===void 0?fe(Z):fe(Z,U);return l=re,f=le,_e}function g($){let fe=r.getAllAccessorDeclarations($);return fe.setAccessor&&Pce(fe.setAccessor)||fe.getAccessor&&U_(fe.getAccessor)}function m($){switch($.kind){case 169:case 166:return A($.type);case 175:case 174:return A(g($));case 260:case 228:case 171:return D.createIdentifier("Function");default:return D.createVoidZero()}}function v($,fe){let Z=Yr($)?Vm($):Ia($)&&Pf($.body)?$:void 0,U=[];if(Z){let re=S(Z,fe),le=re.length;for(let _e=0;_e<le;_e++){let ge=re[_e];_e===0&&Re(ge.name)&&ge.name.escapedText==="this"||(ge.dotDotDotToken?U.push(A(SH(ge.type))):U.push(m(ge)))}}return D.createArrayLiteralExpression(U)}function S($,fe){if(fe&&$.kind===174){let{setAccessor:Z}=kT(fe.members,$);if(Z)return Z.parameters}return $.parameters}function x($){return Ia($)&&$.type?A($.type):qA($)?D.createIdentifier("Promise"):D.createVoidZero()}function A($){if($===void 0)return D.createIdentifier("Object");switch($=FH($),$.kind){case 114:case 155:case 144:return D.createVoidZero();case 181:case 182:return D.createIdentifier("Function");case 185:case 186:return D.createIdentifier("Array");case 179:return $.assertsModifier?D.createVoidZero():D.createIdentifier("Boolean");case 134:return D.createIdentifier("Boolean");case 200:case 152:return D.createIdentifier("String");case 149:return D.createIdentifier("Object");case 198:return w($.literal);case 148:return D.createIdentifier("Number");case 160:return ie("BigInt",7);case 153:return ie("Symbol",2);case 180:return F($);case 190:return C($.types,!0);case 189:return C($.types,!1);case 191:return C([$.trueType,$.falseType],!1);case 195:if($.operator===146)return A($.type);break;case 183:case 196:case 197:case 184:case 131:case 157:case 194:case 202:break;case 315:case 316:case 320:case 321:case 322:break;case 317:case 318:case 319:return A($.type);default:return L.failBadSyntaxKind($)}return D.createIdentifier("Object")}function w($){switch($.kind){case 10:case 14:return D.createIdentifier("String");case 221:{let fe=$.operand;switch(fe.kind){case 8:case 9:return w(fe);default:return L.failBadSyntaxKind(fe)}}case 8:return D.createIdentifier("Number");case 9:return ie("BigInt",7);case 110:case 95:return D.createIdentifier("Boolean");case 104:return D.createVoidZero();default:return L.failBadSyntaxKind($)}}function C($,fe){let Z;for(let U of $){if(U=FH(U),U.kind===144){if(fe)return D.createVoidZero();continue}if(U.kind===157){if(!fe)return D.createIdentifier("Object");continue}if(U.kind===131)return D.createIdentifier("Object");if(!s&&(mb(U)&&U.literal.kind===104||U.kind===155))continue;let re=A(U);if(Re(re)&&re.escapedText==="Object")return re;if(Z){if(!P(Z,re))return D.createIdentifier("Object")}else Z=re}return Z??D.createVoidZero()}function P($,fe){return tc($)?tc(fe):Re($)?Re(fe)&&$.escapedText===fe.escapedText:br($)?br(fe)&&P($.expression,fe.expression)&&P($.name,fe.name):NS($)?NS(fe)&&Vf($.expression)&&$.expression.text==="0"&&Vf(fe.expression)&&fe.expression.text==="0":yo($)?yo(fe)&&$.text===fe.text:y2($)?y2(fe)&&P($.expression,fe.expression):ud($)?ud(fe)&&P($.expression,fe.expression):b2($)?b2(fe)&&P($.condition,fe.condition)&&P($.whenTrue,fe.whenTrue)&&P($.whenFalse,fe.whenFalse):ar($)?ar(fe)&&$.operatorToken.kind===fe.operatorToken.kind&&P($.left,fe.left)&&P($.right,fe.right):!1}function F($){let fe=r.getTypeReferenceSerializationKind($.typeName,f??l);switch(fe){case 0:if(jn($,re=>re.parent&&m2(re.parent)&&(re.parent.trueType===re||re.parent.falseType===re)))return D.createIdentifier("Object");let Z=q($.typeName),U=D.createTempVariable(t);return D.createConditionalExpression(D.createTypeCheck(D.createAssignment(U,Z),"function"),void 0,U,void 0,D.createIdentifier("Object"));case 1:return W($.typeName);case 2:return D.createVoidZero();case 4:return ie("BigInt",7);case 6:return D.createIdentifier("Boolean");case 3:return D.createIdentifier("Number");case 5:return D.createIdentifier("String");case 7:return D.createIdentifier("Array");case 8:return ie("Symbol",2);case 10:return D.createIdentifier("Function");case 9:return D.createIdentifier("Promise");case 11:return D.createIdentifier("Object");default:return L.assertNever(fe)}}function B($,fe){return D.createLogicalAnd(D.createStrictInequality(D.createTypeOfExpression($),D.createStringLiteral("undefined")),fe)}function q($){if($.kind===79){let U=W($);return B(U,U)}if($.left.kind===79)return B(W($.left),W($));let fe=q($.left),Z=D.createTempVariable(t);return D.createLogicalAnd(D.createLogicalAnd(fe.left,D.createStrictInequality(D.createAssignment(Z,fe.right),D.createVoidZero())),D.createPropertyAccessExpression(Z,$.right))}function W($){switch($.kind){case 79:let fe=go(it(fm.cloneNode($),$),$.parent);return fe.original=void 0,go(fe,ea(l)),fe;case 163:return Y($)}}function Y($){return D.createPropertyAccessExpression(W($.left),$.right)}function R($){return D.createConditionalExpression(D.createTypeCheck(D.createIdentifier($),"function"),void 0,D.createIdentifier($),void 0,D.createIdentifier("Object"))}function ie($,fe){return o<fe?R($):D.createIdentifier($)}}var sMe=gt({"src/compiler/transformers/typeSerializer.ts"(){"use strict";fa()}});function rpe(e){let{factory:t,getEmitHelperFactory:r,hoistVariableDeclaration:i}=e,o=e.getEmitResolver(),s=e.getCompilerOptions(),l=Do(s),f=e.onSubstituteNode;e.onSubstituteNode=Ye;let d;return y_(e,g);function g(We){let qe=xn(We,v,e);return Bg(qe,e.readEmitHelpers()),qe}function m(We){return du(We)?void 0:We}function v(We){if(!(We.transformFlags&33554432))return We;switch(We.kind){case 167:return;case 260:return S(We);case 228:return B(We);case 173:return q(We);case 171:return Y(We);case 175:return ie(We);case 174:return R(We);case 169:return $(We);case 166:return fe(We);default:return xn(We,v,e)}}function S(We){if(!(O0(!0,We)||kI(!0,We)))return xn(We,v,e);let qe=O0(!0,We)?F(We,We.name):P(We,We.name);return qe.length>1&&(qe.push(t.createEndOfDeclarationMarker(We)),Jn(qe[0],Ya(qe[0])|8388608)),zp(qe)}function x(We){return!!(We.transformFlags&536870912)}function A(We){return vt(We,x)}function w(We){for(let qe of We.members){if(!HS(qe))continue;let zt=TF(qe,We,!0);if(vt(zt?.decorators,x)||vt(zt?.parameters,A))return!0}return!1}function C(We,qe){let zt=[];return re(zt,We,!1),re(zt,We,!0),w(We)&&(qe=it(t.createNodeArray([...qe,t.createClassStaticBlockDeclaration(t.createBlock(zt,!0))]),qe),zt=void 0),{decorationStatements:zt,members:qe}}function P(We,qe){let zt=On(We.modifiers,m,Ha),Qt=On(We.heritageClauses,v,dd),tn=On(We.members,v,_l),kn=[];({members:tn,decorationStatements:kn}=C(We,tn));let _n=t.updateClassDeclaration(We,zt,qe,void 0,Qt,tn);return si([_n],kn)}function F(We,qe){let zt=yp(We),Qt=Be(We),tn=l<=2?t.getInternalName(We,!1,!0):t.getLocalName(We,!1,!0),kn=On(We.heritageClauses,v,dd),_n=On(We.members,v,_l),Gt=[];({members:_n,decorationStatements:Gt}=C(We,_n));let $n=t.createClassExpression(void 0,qe&&tc(qe)?void 0:qe,void 0,kn,_n);Ir($n,We),it($n,zt);let ui=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(tn,void 0,void 0,Qt?t.createAssignment(Qt,$n):$n)],1));Ir(ui,We),it(ui,zt),hl(ui,We);let Ni=[ui];return si(Ni,Gt),Ve(Ni,We),Ni}function B(We){return t.updateClassExpression(We,On(We.modifiers,m,Ha),We.name,void 0,On(We.heritageClauses,v,dd),On(We.members,v,_l))}function q(We){return t.updateConstructorDeclaration(We,On(We.modifiers,m,Ha),On(We.parameters,v,ha),$e(We.body,v,Va))}function W(We,qe){return We!==qe&&(hl(We,qe),Ho(We,yp(qe))),We}function Y(We){return W(t.updateMethodDeclaration(We,On(We.modifiers,m,Ha),We.asteriskToken,L.checkDefined($e(We.name,v,Ys)),void 0,void 0,On(We.parameters,v,ha),void 0,$e(We.body,v,Va)),We)}function R(We){return W(t.updateGetAccessorDeclaration(We,On(We.modifiers,m,Ha),L.checkDefined($e(We.name,v,Ys)),On(We.parameters,v,ha),void 0,$e(We.body,v,Va)),We)}function ie(We){return W(t.updateSetAccessorDeclaration(We,On(We.modifiers,m,Ha),L.checkDefined($e(We.name,v,Ys)),On(We.parameters,v,ha),$e(We.body,v,Va)),We)}function $(We){if(!(We.flags&16777216||Mr(We,2)))return W(t.updatePropertyDeclaration(We,On(We.modifiers,m,Ha),L.checkDefined($e(We.name,v,Ys)),void 0,void 0,$e(We.initializer,v,ot)),We)}function fe(We){let qe=t.updateParameterDeclaration(We,hde(t,We.modifiers),We.dotDotDotToken,L.checkDefined($e(We.name,v,Mm)),void 0,void 0,$e(We.initializer,v,ot));return qe!==We&&(hl(qe,We),it(qe,yp(We)),Ho(qe,yp(We)),Jn(qe.name,64)),qe}function Z(We){return pL(We.expression,"___metadata")}function U(We){if(!We)return;let{false:qe,true:zt}=yae(We.decorators,Z),Qt=[];return si(Qt,on(qe,ke)),si(Qt,Uo(We.parameters,Pe)),si(Qt,on(zt,ke)),Qt}function re(We,qe,zt){si(We,on(ge(qe,zt),Qt=>t.createExpressionStatement(Qt)))}function le(We,qe,zt){return Kw(!0,We,zt)&&qe===Ca(We)}function _e(We,qe){return Pr(We.members,zt=>le(zt,qe,We))}function ge(We,qe){let zt=_e(We,qe),Qt;for(let tn of zt)Qt=Sn(Qt,X(We,tn));return Qt}function X(We,qe){let zt=TF(qe,We,!0),Qt=U(zt);if(!Qt)return;let tn=Le(We,qe),kn=Ce(qe,!Mr(qe,2)),_n=l>0?Na(qe)&&!rm(qe)?t.createVoidZero():t.createNull():void 0,Gt=r().createDecorateHelper(Qt,tn,kn,_n);return Jn(Gt,3072),Ho(Gt,yp(qe)),Gt}function Ve(We,qe){let zt=we(qe);zt&&We.push(Ir(t.createExpressionStatement(zt),qe))}function we(We){let qe=LK(We),zt=U(qe);if(!zt)return;let Qt=d&&d[sc(We)],tn=l<=2?t.getInternalName(We,!1,!0):t.getLocalName(We,!1,!0),kn=r().createDecorateHelper(zt,tn),_n=t.createAssignment(tn,Qt?t.createAssignment(Qt,kn):kn);return Jn(_n,3072),Ho(_n,yp(We)),_n}function ke(We){return L.checkDefined($e(We.expression,v,ot))}function Pe(We,qe){let zt;if(We){zt=[];for(let Qt of We){let tn=r().createParamHelper(ke(Qt),qe);it(tn,Qt.expression),Jn(tn,3072),zt.push(tn)}}return zt}function Ce(We,qe){let zt=We.name;return pi(zt)?t.createIdentifier(""):ts(zt)?qe&&!Ap(zt.expression)?t.getGeneratedNameForNode(zt):zt.expression:Re(zt)?t.createStringLiteral(vr(zt)):t.cloneNode(zt)}function Ie(){d||(e.enableSubstitution(79),d=[])}function Be(We){if(o.getNodeCheckFlags(We)&1048576){Ie();let qe=t.createUniqueName(We.name&&!tc(We.name)?vr(We.name):"default");return d[sc(We)]=qe,i(qe),qe}}function Ne(We){return t.createPropertyAccessExpression(t.getDeclarationName(We),"prototype")}function Le(We,qe){return Ca(qe)?t.getDeclarationName(We):Ne(We)}function Ye(We,qe){return qe=f(We,qe),We===1?_t(qe):qe}function _t(We){switch(We.kind){case 79:return ct(We)}return We}function ct(We){var qe;return(qe=Rt(We))!=null?qe:We}function Rt(We){if(d&&o.getNodeCheckFlags(We)&2097152){let qe=o.getReferencedValueDeclaration(We);if(qe){let zt=d[qe.id];if(zt){let Qt=t.cloneNode(zt);return Ho(Qt,We),hl(Qt,We),Qt}}}}}var cMe=gt({"src/compiler/transformers/legacyDecorators.ts"(){"use strict";fa()}});function ipe(e){let{factory:t,getEmitHelperFactory:r,startLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:s}=e,l,f,d,g,m,v;return y_(e,S);function S(ae){l=void 0,v=!1;let rt=xn(ae,R,e);return Bg(rt,e.readEmitHelpers()),v&&(SS(rt,32),v=!1),rt}function x(){switch(f=void 0,d=void 0,g=void 0,l?.kind){case"class":f=l.classInfo;break;case"class-element":f=l.next.classInfo,d=l.classThis,g=l.classSuper;break;case"name":let ae=l.next.next.next;ae?.kind==="class-element"&&(f=ae.next.classInfo,d=ae.classThis,g=ae.classSuper);break}}function A(ae){l={kind:"class",next:l,classInfo:ae,savedPendingExpressions:m},m=void 0,x()}function w(){L.assert(l?.kind==="class","Incorrect value for top.kind.",()=>`Expected top.kind to be 'class' but got '${l?.kind}' instead.`),m=l.savedPendingExpressions,l=l.next,x()}function C(ae){var rt,Ot;L.assert(l?.kind==="class","Incorrect value for top.kind.",()=>`Expected top.kind to be 'class' but got '${l?.kind}' instead.`),l={kind:"class-element",next:l},(oc(ae)||Na(ae)&&zc(ae))&&(l.classThis=(rt=l.next.classInfo)==null?void 0:rt.classThis,l.classSuper=(Ot=l.next.classInfo)==null?void 0:Ot.classSuper),x()}function P(){var ae;L.assert(l?.kind==="class-element","Incorrect value for top.kind.",()=>`Expected top.kind to be 'class-element' but got '${l?.kind}' instead.`),L.assert(((ae=l.next)==null?void 0:ae.kind)==="class","Incorrect value for top.next.kind.",()=>{var rt;return`Expected top.next.kind to be 'class' but got '${(rt=l.next)==null?void 0:rt.kind}' instead.`}),l=l.next,x()}function F(){L.assert(l?.kind==="class-element","Incorrect value for top.kind.",()=>`Expected top.kind to be 'class-element' but got '${l?.kind}' instead.`),l={kind:"name",next:l},x()}function B(){L.assert(l?.kind==="name","Incorrect value for top.kind.",()=>`Expected top.kind to be 'name' but got '${l?.kind}' instead.`),l=l.next,x()}function q(){l?.kind==="other"?(L.assert(!m),l.depth++):(l={kind:"other",next:l,depth:0,savedPendingExpressions:m},m=void 0,x())}function W(){L.assert(l?.kind==="other","Incorrect value for top.kind.",()=>`Expected top.kind to be 'other' but got '${l?.kind}' instead.`),l.depth>0?(L.assert(!m),l.depth--):(m=l.savedPendingExpressions,l=l.next,x())}function Y(ae){return!!(ae.transformFlags&33554432)||!!d&&!!(ae.transformFlags&16384)||!!d&&!!g&&!!(ae.transformFlags&134217728)}function R(ae){if(!Y(ae))return ae;switch(ae.kind){case 167:return L.fail("Use `modifierVisitor` instead.");case 260:return ke(ae);case 228:return Pe(ae,void 0);case 173:case 169:case 172:return L.fail("Not supported outside of a class. Use 'classElementVisitor' instead.");case 166:return kn(ae);case 223:return ui(ae,!1);case 299:return Dt(ae);case 257:return pn(ae);case 205:return An(ae);case 274:return at(ae);case 108:return We(ae);case 245:return Gt(ae);case 241:return $n(ae);case 357:return Pi(ae,!1);case 214:return Tt(ae,!1,void 0);case 356:return ve(ae,!1,void 0);case 210:return qe(ae);case 212:return zt(ae);case 221:case 222:return Ni(ae,!1);case 208:return Qt(ae);case 209:return tn(ae);case 164:return nn(ae);case 171:case 175:case 174:case 215:case 259:{q();let rt=xn(ae,ie,e);return W(),rt}default:return xn(ae,ie,e)}}function ie(ae){switch(ae.kind){case 167:return;default:return R(ae)}}function $(ae){switch(ae.kind){case 167:return;default:return ae}}function fe(ae){switch(ae.kind){case 173:return Ie(ae);case 171:return Le(ae);case 174:return Ye(ae);case 175:return _t(ae);case 169:return Rt(ae);case 172:return ct(ae);default:return R(ae)}}function Z(ae,rt){switch(ae.kind){case 356:return ve(ae,!1,rt);case 214:return Tt(ae,!1,rt);case 228:return Pe(ae,rt);default:return R(ae)}}function U(ae){switch(ae.kind){case 221:case 222:return Ni(ae,!0);case 223:return ui(ae,!0);case 357:return Pi(ae,!0);case 214:return Tt(ae,!0,void 0);default:return R(ae)}}function re(ae){let rt=ae.name&&Re(ae.name)&&!tc(ae.name)?vr(ae.name):ae.name&&pi(ae.name)&&!tc(ae.name)?vr(ae.name).slice(1):ae.name&&yo(ae.name)&&i_(ae.name.text,99)?ae.name.text:Yr(ae)?"class":"member";return zy(ae)&&(rt=`get_${rt}`),Ng(ae)&&(rt=`set_${rt}`),ae.name&&pi(ae.name)&&(rt=`private_${rt}`),Ca(ae)&&(rt=`static_${rt}`),"_"+rt}function le(ae,rt){return t.createUniqueName(`${re(ae)}_${rt}`,24)}function _e(ae,rt){return t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(ae,void 0,void 0,rt)],1))}function ge(ae){let rt,Ot,Ke=!1,oe=!1,pe=!1;for(let z of ae.members)if(cse(z)&&Kw(!1,z,ae)&&(zc(z)?Ot??(Ot=t.createUniqueName("_staticExtraInitializers",16)):rt??(rt=t.createUniqueName("_instanceExtraInitializers",16))),oc(z)?Ke=!0:Na(z)&&(zc(z)?Ke||(Ke=!!z.initializer||bf(z)):oe||(oe=!_H(z))),(xu(z)||Id(z))&&zc(z)&&(pe=!0),Ot&&rt&&Ke&&oe&&pe)break;return{class:ae,instanceExtraInitializersName:rt,staticExtraInitializersName:Ot,hasStaticInitializers:Ke,hasNonAmbientInstanceFields:oe,hasStaticPrivateClassElements:pe}}function X(ae){for(let rt of ae.members)if((oc(rt)||Na(rt)&&zc(rt))&&rt.transformFlags&134217728)return!0;return!1}function Ve(ae,rt){var Ot,Ke,oe,pe,z;i();let Te=(Ot=ae.name)!=null?Ot:t.getGeneratedNameForNode(ae),j=ge(ae),yt=[],lt,Qe,Vt,Hn,jr=!1,ei=ce(LK(ae));if(ei&&(j.classDecoratorsName=t.createUniqueName("_classDecorators",16),j.classDescriptorName=t.createUniqueName("_classDescriptor",16),j.classExtraInitializersName=t.createUniqueName("_classExtraInitializers",16),j.classThis=t.createUniqueName("_classThis",16),yt.push(_e(j.classDecoratorsName,t.createArrayLiteralExpression(ei)),_e(j.classDescriptorName),_e(j.classExtraInitializersName,t.createArrayLiteralExpression()),_e(j.classThis)),j.hasStaticPrivateClassElements&&(jr=!0,v=!0)),ei&&X(ae)){let xi=mR(ae.heritageClauses,94),Nr=xi&&Sl(xi.types),Fo=Nr&&$e(Nr.expression,R,ot);if(Fo){j.classSuper=t.createUniqueName("_classSuper",16);let Qr=ql(Fo),Wi=_u(Qr)&&!Qr.name||ms(Qr)&&!Qr.name||xs(Qr)?t.createComma(t.createNumericLiteral(0),Fo):Fo;yt.push(_e(j.classSuper,Wi));let gn=t.updateExpressionWithTypeArguments(Nr,j.classSuper,void 0),Ki=t.updateHeritageClause(xi,[gn]);Hn=t.createNodeArray([Ki])}}else Hn=On(ae.heritageClauses,R,dd);let Kr=(Ke=j.classThis)!=null?Ke:t.createThis();if(!((oe=ec(ae,Yr))!=null&&oe.name)&&(ei||!yo(rt)||!CH(rt))){let xi=r().createSetFunctionNameHelper(t.createThis(),rt);lt=Sn(lt,t.createExpressionStatement(xi))}A(j);let Ja=On(ae.members,fe,_l);if(m){let xi;for(let Nr of m){Nr=$e(Nr,function Qr(Wi){if(!(Wi.transformFlags&16384))return Wi;switch(Wi.kind){case 108:return xi||(xi=t.createUniqueName("_outerThis",16),yt.unshift(_e(xi,t.createThis()))),xi;default:return xn(Wi,Qr,e)}},ot);let Fo=t.createExpressionStatement(Nr);lt=Sn(lt,Fo)}m=void 0}if(w(),j.instanceExtraInitializersName&&!Vm(ae)){let xi=Ce(ae,j);if(xi){let Nr=hp(ae),Fo=!!(Nr&&ql(Nr.expression).kind!==104),Qr=[];if(Fo){let gn=t.createSpreadElement(t.createIdentifier("arguments")),Ki=t.createCallExpression(t.createSuper(),void 0,[gn]);Qr.push(t.createExpressionStatement(Ki))}si(Qr,xi);let Wi=t.createBlock(Qr,!0);Vt=t.createConstructorDeclaration(void 0,[],Wi)}}if(j.staticExtraInitializersName&&yt.push(_e(j.staticExtraInitializersName,t.createArrayLiteralExpression())),j.instanceExtraInitializersName&&yt.push(_e(j.instanceExtraInitializersName,t.createArrayLiteralExpression())),j.memberInfos&&Ld(j.memberInfos,(xi,Nr)=>{Ca(Nr)&&(yt.push(_e(xi.memberDecoratorsName)),xi.memberInitializersName&&yt.push(_e(xi.memberInitializersName,t.createArrayLiteralExpression())),xi.memberDescriptorName&&yt.push(_e(xi.memberDescriptorName)))}),j.memberInfos&&Ld(j.memberInfos,(xi,Nr)=>{Ca(Nr)||(yt.push(_e(xi.memberDecoratorsName)),xi.memberInitializersName&&yt.push(_e(xi.memberInitializersName,t.createArrayLiteralExpression())),xi.memberDescriptorName&&yt.push(_e(xi.memberDescriptorName)))}),lt=si(lt,j.staticNonFieldDecorationStatements),lt=si(lt,j.nonStaticNonFieldDecorationStatements),lt=si(lt,j.staticFieldDecorationStatements),lt=si(lt,j.nonStaticFieldDecorationStatements),j.classDescriptorName&&j.classDecoratorsName&&j.classExtraInitializersName&&j.classThis){lt??(lt=[]);let xi=t.createPropertyAssignment("value",t.createThis()),Nr=t.createObjectLiteralExpression([xi]),Fo=t.createAssignment(j.classDescriptorName,Nr),Qr=t.createPropertyAccessExpression(t.createThis(),"name"),Wi=r().createESDecorateHelper(t.createNull(),Fo,j.classDecoratorsName,{kind:"class",name:Qr},t.createNull(),j.classExtraInitializersName),gn=t.createExpressionStatement(Wi);Ho(gn,$y(ae)),lt.push(gn);let Ki=t.createPropertyAccessExpression(j.classDescriptorName,"value"),kc=t.createAssignment(j.classThis,Ki),Ps=t.createAssignment(Te,kc);lt.push(t.createExpressionStatement(Ps))}if(j.staticExtraInitializersName){let xi=r().createRunInitializersHelper(Kr,j.staticExtraInitializersName),Nr=t.createExpressionStatement(xi);Ho(Nr,(pe=ae.name)!=null?pe:$y(ae)),lt=Sn(lt,Nr)}if(j.classExtraInitializersName){let xi=r().createRunInitializersHelper(Kr,j.classExtraInitializersName),Nr=t.createExpressionStatement(xi);Ho(Nr,(z=ae.name)!=null?z:$y(ae)),Qe=Sn(Qe,Nr)}lt&&Qe&&!j.hasStaticInitializers&&(si(lt,Qe),Qe=void 0);let Za=Ja;if(lt){let xi=t.createBlock(lt,!0),Nr=t.createClassStaticBlockDeclaration(xi);jr&&eO(Nr,32),Za=[Nr,...Za]}if(Vt&&(Za=[...Za,Vt]),Qe){let xi=t.createBlock(Qe,!0),Nr=t.createClassStaticBlockDeclaration(xi);Za=[...Za,Nr]}Za!==Ja&&(Ja=it(t.createNodeArray(Za),Ja));let Fa=o(),Hi;if(ei){Hi=t.createClassExpression(void 0,void 0,void 0,Hn,Ja);let xi=t.createVariableDeclaration(Te,void 0,void 0,Hi),Nr=t.createVariableDeclarationList([xi]),Fo=j.classThis?t.createAssignment(Te,j.classThis):Te;yt.push(t.createVariableStatement(void 0,Nr),t.createReturnStatement(Fo))}else Hi=t.createClassExpression(void 0,ae.name,void 0,Hn,Ja),yt.push(t.createReturnStatement(Hi));if(jr){SS(Hi,32);for(let xi of Hi.members)(xu(xi)||Id(xi))&&zc(xi)&&SS(xi,32)}return Ir(Hi,ae),Lu(Hi).classThis=j.classThis,t.createImmediatelyInvokedArrowFunction(t.mergeLexicalEnvironment(yt,Fa))}function we(ae){return O0(!1,ae)||kI(!1,ae)}function ke(ae){var rt;if(we(ae))if(Mr(ae,1)&&Mr(ae,1024)){let Ot=(rt=ec(ae,Yr))!=null?rt:ae,Ke=Ot.name?t.createStringLiteralFromNode(Ot.name):t.createStringLiteral("default"),oe=Ve(ae,Ke),pe=t.createExportDefault(oe);return Ir(pe,ae),hl(pe,sm(ae)),Ho(pe,$y(ae)),pe}else{L.assertIsDefined(ae.name,"A class declaration that is not a default export must have a name.");let Ot=Ve(ae,t.createStringLiteralFromNode(ae.name)),Ke=On(ae.modifiers,$,Ha),oe=t.createVariableDeclaration(ae.name,void 0,void 0,Ot),pe=t.createVariableDeclarationList([oe],1),z=t.createVariableStatement(Ke,pe);return Ir(z,ae),hl(z,sm(ae)),z}else{let Ot=On(ae.modifiers,$,Ha),Ke=On(ae.heritageClauses,R,dd);A(void 0);let oe=On(ae.members,fe,_l);return w(),t.updateClassDeclaration(ae,Ot,ae.name,void 0,Ke,oe)}}function Pe(ae,rt){if(we(ae)){let Ot=ae.name?t.createStringLiteralFromNode(ae.name):rt??t.createStringLiteral(""),Ke=Ve(ae,Ot);return Ir(Ke,ae),Ke}else{let Ot=On(ae.modifiers,$,Ha),Ke=On(ae.heritageClauses,R,dd);A(void 0);let oe=On(ae.members,fe,_l);return w(),t.updateClassExpression(ae,Ot,ae.name,void 0,Ke,oe)}}function Ce(ae,rt){if(rt.instanceExtraInitializersName&&!rt.hasNonAmbientInstanceFields){let Ot=[];return Ot.push(t.createExpressionStatement(r().createRunInitializersHelper(t.createThis(),rt.instanceExtraInitializersName))),Ot}}function Ie(ae){C(ae);let rt=On(ae.modifiers,$,Ha),Ot=On(ae.parameters,R,ha),Ke;if(ae.body&&f){let oe=Ce(f.class,f);if(oe){let pe=[],z=t.copyPrologue(ae.body.statements,pe,!1,R),Te=bF(ae.body.statements,z),j=Te>=0?Te+1:void 0;si(pe,On(ae.body.statements,R,ca,z,j?j-z:void 0)),si(pe,oe),si(pe,On(ae.body.statements,R,ca,j)),Ke=t.createBlock(pe,!0),Ir(Ke,ae.body),it(Ke,ae.body)}}return Ke??(Ke=$e(ae.body,R,Va)),P(),t.updateConstructorDeclaration(ae,rt,Ot,Ke)}function Be(ae,rt){return ae!==rt&&(hl(ae,rt),Ho(ae,$y(rt))),ae}function Ne(ae,rt,Ot,Ke){var oe,pe,z,Te,j,yt,lt,Qe;let Vt,Hn,jr,ei,Kr;if(!Ot){let Za=On(ae.modifiers,$,Ha);return F(),rt?{referencedName:Vt,name:Hn}=gr(ae.name):Hn=pt(ae.name),B(),{modifiers:Za,referencedName:Vt,name:Hn,initializersName:jr,descriptorName:Kr,thisArg:ei}}let Si=ce(TF(ae,Ot.class,!1)),Ja=On(ae.modifiers,$,Ha);if(Si){let Za=le(ae,"decorators"),Fa=t.createArrayLiteralExpression(Si),Hi=t.createAssignment(Za,Fa),xi={memberDecoratorsName:Za};(oe=Ot.memberInfos)!=null||(Ot.memberInfos=new Map),Ot.memberInfos.set(ae,xi),m??(m=[]),m.push(Hi);let Nr=xA(ae)||Id(ae)?Ca(ae)?(pe=Ot.staticNonFieldDecorationStatements)!=null?pe:Ot.staticNonFieldDecorationStatements=[]:(z=Ot.nonStaticNonFieldDecorationStatements)!=null?z:Ot.nonStaticNonFieldDecorationStatements=[]:Na(ae)&&!Id(ae)?Ca(ae)?(Te=Ot.staticFieldDecorationStatements)!=null?Te:Ot.staticFieldDecorationStatements=[]:(j=Ot.nonStaticFieldDecorationStatements)!=null?j:Ot.nonStaticFieldDecorationStatements=[]:L.fail(),Fo=p_(ae)?"getter":Sf(ae)?"setter":Nc(ae)?"method":Id(ae)?"accessor":Na(ae)?"field":L.fail(),Qr;if(Re(ae.name)||pi(ae.name))Qr={computed:!1,name:ae.name};else if(c_(ae.name))Qr={computed:!0,name:t.createStringLiteralFromNode(ae.name)};else{let Ki=ae.name.expression;c_(Ki)&&!Re(Ki)?Qr={computed:!0,name:t.createStringLiteralFromNode(Ki)}:(F(),{referencedName:Vt,name:Hn}=gr(ae.name),Qr={computed:!0,name:Vt},B())}let Wi={kind:Fo,name:Qr,static:Ca(ae),private:pi(ae.name),access:{get:Na(ae)||p_(ae)||Nc(ae),set:Na(ae)||Sf(ae)}},gn=Ca(ae)?(yt=Ot.staticExtraInitializersName)!=null?yt:Ot.staticExtraInitializersName=t.createUniqueName("_staticExtraInitializers",16):(lt=Ot.instanceExtraInitializersName)!=null?lt:Ot.instanceExtraInitializersName=t.createUniqueName("_instanceExtraInitializers",16);if(xA(ae)){let Ki;xu(ae)&&Ke&&(Ki=Ke(ae,On(Ja,mc=>zr(mc,mL),Ha)),xi.memberDescriptorName=Kr=le(ae,"descriptor"),Ki=t.createAssignment(Kr,Ki));let kc=r().createESDecorateHelper(t.createThis(),Ki??t.createNull(),Za,Wi,t.createNull(),gn),Ps=t.createExpressionStatement(kc);Ho(Ps,$y(ae)),Nr.push(Ps)}else if(Na(ae)){jr=(Qe=xi.memberInitializersName)!=null?Qe:xi.memberInitializersName=le(ae,"initializers"),Ca(ae)&&(ei=Ot.classThis);let Ki;xu(ae)&&rm(ae)&&Ke&&(Ki=Ke(ae,void 0),xi.memberDescriptorName=Kr=le(ae,"descriptor"),Ki=t.createAssignment(Kr,Ki));let kc=r().createESDecorateHelper(Id(ae)?t.createThis():t.createNull(),Ki??t.createNull(),Za,Wi,jr,gn),Ps=t.createExpressionStatement(kc);Ho(Ps,$y(ae)),Nr.push(Ps)}}return Hn===void 0&&(F(),rt?{referencedName:Vt,name:Hn}=gr(ae.name):Hn=pt(ae.name),B()),!vt(Ja)&&(Nc(ae)||Na(ae))&&Jn(Hn,1024),{modifiers:Ja,referencedName:Vt,name:Hn,initializersName:jr,descriptorName:Kr,thisArg:ei}}function Le(ae){C(ae);let{modifiers:rt,name:Ot,descriptorName:Ke}=Ne(ae,!1,f,G);if(Ke)return P(),Be(kt(rt,Ot,Ke),ae);{let oe=On(ae.parameters,R,ha),pe=$e(ae.body,R,Va);return P(),Be(t.updateMethodDeclaration(ae,rt,ae.asteriskToken,Ot,void 0,void 0,oe,void 0,pe),ae)}}function Ye(ae){C(ae);let{modifiers:rt,name:Ot,descriptorName:Ke}=Ne(ae,!1,f,Oe);if(Ke)return P(),Be(Kt(rt,Ot,Ke),ae);{let oe=On(ae.parameters,R,ha),pe=$e(ae.body,R,Va);return P(),Be(t.updateGetAccessorDeclaration(ae,rt,Ot,oe,void 0,pe),ae)}}function _t(ae){C(ae);let{modifiers:rt,name:Ot,descriptorName:Ke}=Ne(ae,!1,f,je);if(Ke)return P(),Be(ln(rt,Ot,Ke),ae);{let oe=On(ae.parameters,R,ha),pe=$e(ae.body,R,Va);return P(),Be(t.updateSetAccessorDeclaration(ae,rt,Ot,oe,pe),ae)}}function ct(ae){C(ae),f&&(f.hasStaticInitializers=!0);let rt=xn(ae,R,e);return P(),rt}function Rt(ae){C(ae),L.assert(!_H(ae),"Not yet implemented.");let rt=vf(ae,_n),{modifiers:Ot,name:Ke,referencedName:oe,initializersName:pe,descriptorName:z,thisArg:Te}=Ne(ae,rt,f,rm(ae)?Ge:void 0);i();let j=oe?$e(ae.initializer,lt=>Z(lt,oe),ot):$e(ae.initializer,R,ot);pe&&(j=r().createRunInitializersHelper(Te??t.createThis(),pe,j??t.createVoidZero())),!Ca(ae)&&f?.instanceExtraInitializersName&&!f?.hasInjectedInstanceInitializers&&(f.hasInjectedInstanceInitializers=!0,j??(j=t.createVoidZero()),j=t.createParenthesizedExpression(t.createComma(r().createRunInitializersHelper(t.createThis(),f.instanceExtraInitializersName),j))),Ca(ae)&&f&&j&&(f.hasStaticInitializers=!0);let yt=o();if(vt(yt)&&(j=t.createImmediatelyInvokedArrowFunction([...yt,t.createReturnStatement(j)])),P(),rm(ae)&&z){let lt=sm(ae),Qe=pb(ae),Vt=ae.name,Hn=Vt,jr=Vt;if(ts(Vt)&&!Ap(Vt.expression)){let Za=L3(Vt);if(Za)Hn=t.updateComputedPropertyName(Vt,$e(Vt.expression,R,ot)),jr=t.updateComputedPropertyName(Vt,Za.left);else{let Fa=t.createTempVariable(s);Ho(Fa,Vt.expression);let Hi=$e(Vt.expression,R,ot),xi=t.createAssignment(Fa,Hi);Ho(xi,Vt.expression),Hn=t.updateComputedPropertyName(Vt,xi),jr=t.updateComputedPropertyName(Vt,Fa)}}let ei=On(Ot,Za=>Za.kind!==127?Za:void 0,Ha),Kr=sJ(t,ae,ei,j);Ir(Kr,ae),Jn(Kr,3072),Ho(Kr,Qe),Ho(Kr.name,ae.name);let Si=Kt(ei,Hn,z);Ir(Si,ae),hl(Si,lt),Ho(Si,Qe);let Ja=ln(ei,jr,z);return Ir(Ja,ae),Jn(Ja,3072),Ho(Ja,Qe),[Kr,Si,Ja]}return Be(t.updatePropertyDeclaration(ae,Ot,Ke,void 0,void 0,j),ae)}function We(ae){return d??ae}function qe(ae){if(Pu(ae.expression)&&d){let rt=$e(ae.expression,R,ot),Ot=On(ae.arguments,R,ot),Ke=t.createFunctionCallCall(rt,d,Ot);return Ir(Ke,ae),it(Ke,ae),Ke}return xn(ae,R,e)}function zt(ae){if(Pu(ae.tag)&&d){let rt=$e(ae.tag,R,ot),Ot=t.createFunctionBindCall(rt,d,[]);Ir(Ot,ae),it(Ot,ae);let Ke=$e(ae.template,R,AA);return t.updateTaggedTemplateExpression(ae,Ot,void 0,Ke)}return xn(ae,R,e)}function Qt(ae){if(Pu(ae)&&Re(ae.name)&&d&&g){let rt=t.createStringLiteralFromNode(ae.name),Ot=t.createReflectGetCall(g,rt,d);return Ir(Ot,ae.expression),it(Ot,ae.expression),Ot}return xn(ae,R,e)}function tn(ae){if(Pu(ae)&&d&&g){let rt=$e(ae.argumentExpression,R,ot),Ot=t.createReflectGetCall(g,rt,d);return Ir(Ot,ae.expression),it(Ot,ae.expression),Ot}return xn(ae,R,e)}function kn(ae){let rt;if(vf(ae,_n)){let Ot=ir(ae.name,ae.initializer),Ke=$e(ae.name,R,Mm),oe=$e(ae.initializer,pe=>Z(pe,Ot),ot);rt=t.updateParameterDeclaration(ae,void 0,void 0,Ke,void 0,void 0,oe)}else rt=t.updateParameterDeclaration(ae,void 0,ae.dotDotDotToken,$e(ae.name,R,Mm),void 0,void 0,$e(ae.initializer,R,ot));return rt!==ae&&(hl(rt,ae),it(rt,yp(ae)),Ho(rt,yp(ae)),Jn(rt.name,64)),rt}function _n(ae){return _u(ae)&&!ae.name&&we(ae)}function Gt(ae){return t.updateForStatement(ae,$e(ae.initializer,U,pp),$e(ae.condition,R,ot),$e(ae.incrementor,U,ot),jf(ae.statement,R,e))}function $n(ae){return xn(ae,U,e)}function ui(ae,rt){if(Fg(ae)){let Ot=Se(ae.left),Ke=$e(ae.right,R,ot);return t.updateBinaryExpression(ae,Ot,ae.operatorToken,Ke)}if(Iu(ae)){if(vf(ae,_n)){let Ot=ir(ae.left,ae.right),Ke=$e(ae.left,R,ot),oe=$e(ae.right,pe=>Z(pe,Ot),ot);return t.updateBinaryExpression(ae,Ke,ae.operatorToken,oe)}if(Pu(ae.left)&&d&&g){let Ot=Vs(ae.left)?$e(ae.left.argumentExpression,R,ot):Re(ae.left.name)?t.createStringLiteralFromNode(ae.left.name):void 0;if(Ot){let Ke=$e(ae.right,R,ot);if(oN(ae.operatorToken.kind)){let pe=Ot;Ap(Ot)||(pe=t.createTempVariable(s),Ot=t.createAssignment(pe,Ot));let z=t.createReflectGetCall(g,pe,d);Ir(z,ae.left),it(z,ae.left),Ke=t.createBinaryExpression(z,WL(ae.operatorToken.kind),Ke),it(Ke,ae)}let oe=rt?void 0:t.createTempVariable(s);return oe&&(Ke=t.createAssignment(oe,Ke),it(oe,ae)),Ke=t.createReflectSetCall(g,Ot,Ke,d),Ir(Ke,ae),it(Ke,ae),oe&&(Ke=t.createComma(Ke,oe),it(Ke,ae)),Ke}}}if(ae.operatorToken.kind===27){let Ot=$e(ae.left,U,ot),Ke=$e(ae.right,rt?U:R,ot);return t.updateBinaryExpression(ae,Ot,ae.operatorToken,Ke)}return xn(ae,R,e)}function Ni(ae,rt){if(ae.operator===45||ae.operator===46){let Ot=vs(ae.operand);if(Pu(Ot)&&d&&g){let Ke=Vs(Ot)?$e(Ot.argumentExpression,R,ot):Re(Ot.name)?t.createStringLiteralFromNode(Ot.name):void 0;if(Ke){let oe=Ke;Ap(Ke)||(oe=t.createTempVariable(s),Ke=t.createAssignment(oe,Ke));let pe=t.createReflectGetCall(g,oe,d);Ir(pe,ae),it(pe,ae);let z=rt?void 0:t.createTempVariable(s);return pe=b3(t,ae,pe,s,z),pe=t.createReflectSetCall(g,Ke,pe,d),Ir(pe,ae),it(pe,ae),z&&(pe=t.createComma(pe,z),it(pe,ae)),pe}}}return xn(ae,R,e)}function Pi(ae,rt){let Ot=rt?aN(ae.elements,U):aN(ae.elements,R,U);return t.updateCommaListExpression(ae,Ot)}function gr(ae){if(c_(ae)||pi(ae)){let pe=t.createStringLiteralFromNode(ae),z=$e(ae,R,Ys);return{referencedName:pe,name:z}}if(c_(ae.expression)&&!Re(ae.expression)){let pe=t.createStringLiteralFromNode(ae.expression),z=$e(ae,R,Ys);return{referencedName:pe,name:z}}let rt=t.getGeneratedNameForNode(ae);s(rt);let Ot=r().createPropKeyHelper($e(ae.expression,R,ot)),Ke=t.createAssignment(rt,Ot),oe=t.updateComputedPropertyName(ae,nt(Ke));return{referencedName:rt,name:oe}}function pt(ae){return ts(ae)?nn(ae):$e(ae,R,Ys)}function nn(ae){let rt=$e(ae.expression,R,ot);return Ap(rt)||(rt=nt(rt)),t.updateComputedPropertyName(ae,rt)}function Dt(ae){if(vf(ae,_n)){let{referencedName:rt,name:Ot}=gr(ae.name),Ke=$e(ae.initializer,oe=>Z(oe,rt),ot);return t.updatePropertyAssignment(ae,Ot,Ke)}return xn(ae,R,e)}function pn(ae){if(vf(ae,_n)){let rt=ir(ae.name,ae.initializer),Ot=$e(ae.name,R,Mm),Ke=$e(ae.initializer,oe=>Z(oe,rt),ot);return t.updateVariableDeclaration(ae,Ot,void 0,void 0,Ke)}return xn(ae,R,e)}function An(ae){if(vf(ae,_n)){let rt=ir(ae.name,ae.initializer),Ot=$e(ae.propertyName,R,Ys),Ke=$e(ae.name,R,Mm),oe=$e(ae.initializer,pe=>Z(pe,rt),ot);return t.updateBindingElement(ae,void 0,Ot,Ke,oe)}return xn(ae,R,e)}function Kn(ae){if(rs(ae)||fu(ae))return Se(ae);if(Pu(ae)&&d&&g){let rt=Vs(ae)?$e(ae.argumentExpression,R,ot):Re(ae.name)?t.createStringLiteralFromNode(ae.name):void 0;if(rt){let Ot=t.createTempVariable(void 0),Ke=t.createAssignmentTargetWrapper(Ot,t.createReflectSetCall(g,rt,Ot,d));return Ir(Ke,ae),it(Ke,ae),Ke}}return xn(ae,R,e)}function hi(ae){if(Iu(ae,!0)){let rt=Kn(ae.left),Ot;if(vf(ae,_n)){let Ke=ir(ae.left,ae.right);Ot=$e(ae.right,oe=>Z(oe,Ke),ot)}else Ot=$e(ae.right,R,ot);return t.updateBinaryExpression(ae,rt,ae.operatorToken,Ot)}else return Kn(ae)}function ri(ae){if(Ju(ae.expression)){let rt=Kn(ae.expression);return t.updateSpreadElement(ae,rt)}return xn(ae,R,e)}function vn(ae){return L.assertNode(ae,ww),Km(ae)?ri(ae):ol(ae)?xn(ae,R,e):hi(ae)}function Ht(ae){let rt=$e(ae.name,R,Ys);if(Iu(ae.initializer,!0)){let Ot=hi(ae.initializer);return t.updatePropertyAssignment(ae,rt,Ot)}if(Ju(ae.initializer)){let Ot=Kn(ae.initializer);return t.updatePropertyAssignment(ae,rt,Ot)}return xn(ae,R,e)}function En(ae){if(vf(ae,_n)){let rt=ir(ae.name,ae.objectAssignmentInitializer),Ot=$e(ae.name,R,Re),Ke=$e(ae.objectAssignmentInitializer,oe=>Z(oe,rt),ot);return t.updateShorthandPropertyAssignment(ae,Ot,Ke)}return xn(ae,R,e)}function dr(ae){if(Ju(ae.expression)){let rt=Kn(ae.expression);return t.updateSpreadAssignment(ae,rt)}return xn(ae,R,e)}function Cr(ae){return L.assertNode(ae,Dw),VS(ae)?dr(ae):xf(ae)?En(ae):yl(ae)?Ht(ae):xn(ae,R,e)}function Se(ae){if(fu(ae)){let rt=On(ae.elements,vn,ot);return t.updateArrayLiteralExpression(ae,rt)}else{let rt=On(ae.properties,Cr,Og);return t.updateObjectLiteralExpression(ae,rt)}}function at(ae){if(vf(ae,_n)){let rt=t.createStringLiteral(ae.isExportEquals?"":"default"),Ot=On(ae.modifiers,$,Ha),Ke=$e(ae.expression,oe=>Z(oe,rt),ot);return t.updateExportAssignment(ae,Ot,Ke)}return xn(ae,R,e)}function Tt(ae,rt,Ot){let Ke=rt?U:Ot?pe=>Z(pe,Ot):R,oe=$e(ae.expression,Ke,ot);return t.updateParenthesizedExpression(ae,oe)}function ve(ae,rt,Ot){let Ke=rt?U:Ot?pe=>Z(pe,Ot):R,oe=$e(ae.expression,Ke,ot);return t.updatePartiallyEmittedExpression(ae,oe)}function nt(ae){return vt(m)&&(ud(ae)?(m.push(ae.expression),ae=t.updateParenthesizedExpression(ae,t.inlineExpressions(m))):(m.push(ae),ae=t.inlineExpressions(m)),m=void 0),ae}function ce(ae){if(!ae)return;let rt=[];return si(rt,on(ae.decorators,Q)),rt}function Q(ae){let rt=$e(ae.expression,R,ot);return Jn(rt,3072),rt}function ue(ae,rt,Ot,Ke,oe,pe,z){let Te=t.createFunctionExpression(Ot,Ke,void 0,void 0,pe,void 0,z??t.createBlock([]));Ir(Te,ae),Ho(Te,$y(ae)),Jn(Te,3072);let j=oe==="get"||oe==="set"?oe:void 0,yt=t.createStringLiteralFromNode(rt,void 0),lt=r().createSetFunctionNameHelper(Te,yt,j),Qe=t.createPropertyAssignment(t.createIdentifier(oe),lt);return Ir(Qe,ae),Ho(Qe,$y(ae)),Jn(Qe,3072),Qe}function G(ae,rt){return t.createObjectLiteralExpression([ue(ae,ae.name,rt,ae.asteriskToken,"value",On(ae.parameters,R,ha),$e(ae.body,R,Va))])}function Oe(ae,rt){return t.createObjectLiteralExpression([ue(ae,ae.name,rt,void 0,"get",[],$e(ae.body,R,Va))])}function je(ae,rt){return t.createObjectLiteralExpression([ue(ae,ae.name,rt,void 0,"set",On(ae.parameters,R,ha),$e(ae.body,R,Va))])}function Ge(ae,rt){return t.createObjectLiteralExpression([ue(ae,ae.name,rt,void 0,"get",[],t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(t.createThis(),t.getGeneratedPrivateNameForNode(ae.name)))])),ue(ae,ae.name,rt,void 0,"set",[t.createParameterDeclaration(void 0,void 0,"value")],t.createBlock([t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression(t.createThis(),t.getGeneratedPrivateNameForNode(ae.name)),t.createIdentifier("value")))]))])}function kt(ae,rt,Ot){return ae=On(ae,Ke=>LS(Ke)?Ke:void 0,Ha),t.createGetAccessorDeclaration(ae,rt,[],void 0,t.createBlock([t.createReturnStatement(t.createPropertyAccessExpression(Ot,t.createIdentifier("value")))]))}function Kt(ae,rt,Ot){return ae=On(ae,Ke=>LS(Ke)?Ke:void 0,Ha),t.createGetAccessorDeclaration(ae,rt,[],void 0,t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(Ot,t.createIdentifier("get")),t.createThis(),[]))]))}function ln(ae,rt,Ot){return ae=On(ae,Ke=>LS(Ke)?Ke:void 0,Ha),t.createSetAccessorDeclaration(ae,rt,[t.createParameterDeclaration(void 0,void 0,"value")],t.createBlock([t.createReturnStatement(t.createFunctionCallCall(t.createPropertyAccessExpression(Ot,t.createIdentifier("set")),t.createThis(),[t.createIdentifier("value")]))]))}function ir(ae,rt){let Ot=ec(rt,Yr);return Ot&&!Ot.name&&Mr(Ot,1024)?t.createStringLiteral("default"):t.createStringLiteralFromNode(ae)}}var lMe=gt({"src/compiler/transformers/esDecorators.ts"(){"use strict";fa()}});function ape(e){let{factory:t,getEmitHelperFactory:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:s}=e,l=e.getEmitResolver(),f=e.getCompilerOptions(),d=Do(f),g,m=0,v,S,x,A=[],w=0,C=e.onEmitNode,P=e.onSubstituteNode;return e.onEmitNode=kn,e.onSubstituteNode=_n,y_(e,F);function F(pt){if(pt.isDeclarationFile)return pt;B(1,!1),B(2,!fH(pt,f));let nn=xn(pt,$,e);return Bg(nn,e.readEmitHelpers()),nn}function B(pt,nn){w=nn?w|pt:w&~pt}function q(pt){return(w&pt)!==0}function W(){return!q(1)}function Y(){return q(2)}function R(pt,nn,Dt){let pn=pt&~w;if(pn){B(pn,!0);let An=nn(Dt);return B(pn,!1),An}return nn(Dt)}function ie(pt){return xn(pt,$,e)}function $(pt){if(!(pt.transformFlags&256))return pt;switch(pt.kind){case 132:return;case 220:return ge(pt);case 171:return R(3,Ve,pt);case 259:return R(3,Pe,pt);case 215:return R(3,Ce,pt);case 216:return R(1,Ie,pt);case 208:return S&&br(pt)&&pt.expression.kind===106&&S.add(pt.name.escapedText),xn(pt,$,e);case 209:return S&&pt.expression.kind===106&&(x=!0),xn(pt,$,e);case 174:return R(3,we,pt);case 175:return R(3,ke,pt);case 173:return R(3,X,pt);case 260:case 228:return R(3,ie,pt);default:return xn(pt,$,e)}}function fe(pt){if(vce(pt))switch(pt.kind){case 240:return U(pt);case 245:return _e(pt);case 246:return re(pt);case 247:return le(pt);case 295:return Z(pt);case 238:case 252:case 266:case 292:case 293:case 255:case 243:case 244:case 242:case 251:case 253:return xn(pt,fe,e);default:return L.assertNever(pt,"Unhandled node.")}return $(pt)}function Z(pt){let nn=new Set;Be(pt.variableDeclaration,nn);let Dt;if(nn.forEach((pn,An)=>{v.has(An)&&(Dt||(Dt=new Set(v)),Dt.delete(An))}),Dt){let pn=v;v=Dt;let An=xn(pt,fe,e);return v=pn,An}else return xn(pt,fe,e)}function U(pt){if(Ne(pt.declarationList)){let nn=Le(pt.declarationList,!1);return nn?t.createExpressionStatement(nn):void 0}return xn(pt,$,e)}function re(pt){return t.updateForInStatement(pt,Ne(pt.initializer)?Le(pt.initializer,!0):L.checkDefined($e(pt.initializer,$,pp)),L.checkDefined($e(pt.expression,$,ot)),jf(pt.statement,fe,e))}function le(pt){return t.updateForOfStatement(pt,$e(pt.awaitModifier,$,Dz),Ne(pt.initializer)?Le(pt.initializer,!0):L.checkDefined($e(pt.initializer,$,pp)),L.checkDefined($e(pt.expression,$,ot)),jf(pt.statement,fe,e))}function _e(pt){let nn=pt.initializer;return t.updateForStatement(pt,Ne(nn)?Le(nn,!1):$e(pt.initializer,$,pp),$e(pt.condition,$,ot),$e(pt.incrementor,$,ot),jf(pt.statement,fe,e))}function ge(pt){return W()?xn(pt,$,e):Ir(it(t.createYieldExpression(void 0,$e(pt.expression,$,ot)),pt),pt)}function X(pt){return t.updateConstructorDeclaration(pt,On(pt.modifiers,$,Ha),Sc(pt.parameters,$,e),We(pt))}function Ve(pt){return t.updateMethodDeclaration(pt,On(pt.modifiers,$,Ns),pt.asteriskToken,pt.name,void 0,void 0,Sc(pt.parameters,$,e),void 0,pl(pt)&2?qe(pt):We(pt))}function we(pt){return t.updateGetAccessorDeclaration(pt,On(pt.modifiers,$,Ns),pt.name,Sc(pt.parameters,$,e),void 0,We(pt))}function ke(pt){return t.updateSetAccessorDeclaration(pt,On(pt.modifiers,$,Ns),pt.name,Sc(pt.parameters,$,e),We(pt))}function Pe(pt){return t.updateFunctionDeclaration(pt,On(pt.modifiers,$,Ns),pt.asteriskToken,pt.name,void 0,Sc(pt.parameters,$,e),void 0,pl(pt)&2?qe(pt):Zd(pt.body,$,e))}function Ce(pt){return t.updateFunctionExpression(pt,On(pt.modifiers,$,Ha),pt.asteriskToken,pt.name,void 0,Sc(pt.parameters,$,e),void 0,pl(pt)&2?qe(pt):Zd(pt.body,$,e))}function Ie(pt){return t.updateArrowFunction(pt,On(pt.modifiers,$,Ha),void 0,Sc(pt.parameters,$,e),void 0,pt.equalsGreaterThanToken,pl(pt)&2?qe(pt):Zd(pt.body,$,e))}function Be({name:pt},nn){if(Re(pt))nn.add(pt.escapedText);else for(let Dt of pt.elements)ol(Dt)||Be(Dt,nn)}function Ne(pt){return!!pt&&pu(pt)&&!(pt.flags&3)&&pt.declarations.some(Rt)}function Le(pt,nn){Ye(pt);let Dt=qI(pt);return Dt.length===0?nn?$e(t.converters.convertToAssignmentElementTarget(pt.declarations[0].name),$,ot):void 0:t.inlineExpressions(on(Dt,ct))}function Ye(pt){mn(pt.declarations,_t)}function _t({name:pt}){if(Re(pt))s(pt);else for(let nn of pt.elements)ol(nn)||_t(nn)}function ct(pt){let nn=Ho(t.createAssignment(t.converters.convertToAssignmentElementTarget(pt.name),pt.initializer),pt);return L.checkDefined($e(nn,$,ot))}function Rt({name:pt}){if(Re(pt))return v.has(pt.escapedText);for(let nn of pt.elements)if(!ol(nn)&&Rt(nn))return!0;return!1}function We(pt){L.assertIsDefined(pt.body);let nn=S,Dt=x;S=new Set,x=!1;let pn=Zd(pt.body,$,e),An=ec(pt,Ds);if(d>=2&&l.getNodeCheckFlags(pt)&384&&(pl(An)&3)!==3){if(tn(),S.size){let hi=SF(t,l,pt,S);A[zo(hi)]=!0;let ri=pn.statements.slice();em(ri,[hi]),pn=t.updateBlock(pn,ri)}x&&(l.getNodeCheckFlags(pt)&256?xS(pn,sO):l.getNodeCheckFlags(pt)&128&&xS(pn,oO))}return S=nn,x=Dt,pn}function qe(pt){i();let Dt=ec(pt,Ia).type,pn=d<2?Qt(Dt):void 0,An=pt.kind===216,Kn=(l.getNodeCheckFlags(pt)&512)!==0,hi=v;v=new Set;for(let En of pt.parameters)Be(En,v);let ri=S,vn=x;An||(S=new Set,x=!1);let Ht;if(An){let En=r().createAwaiterHelper(Y(),Kn,pn,zt(pt.body)),dr=o();if(vt(dr)){let Cr=t.converters.convertToFunctionBlock(En);Ht=t.updateBlock(Cr,it(t.createNodeArray(Qi(dr,Cr.statements)),Cr.statements))}else Ht=En}else{let En=[],dr=t.copyPrologue(pt.body.statements,En,!1,$);En.push(t.createReturnStatement(r().createAwaiterHelper(Y(),Kn,pn,zt(pt.body,dr)))),em(En,o());let Cr=d>=2&&l.getNodeCheckFlags(pt)&384;if(Cr&&(tn(),S.size)){let at=SF(t,l,pt,S);A[zo(at)]=!0,em(En,[at])}let Se=t.createBlock(En,!0);it(Se,pt.body),Cr&&x&&(l.getNodeCheckFlags(pt)&256?xS(Se,sO):l.getNodeCheckFlags(pt)&128&&xS(Se,oO)),Ht=Se}return v=hi,An||(S=ri,x=vn),Ht}function zt(pt,nn){return Va(pt)?t.updateBlock(pt,On(pt.statements,fe,ca,nn)):t.converters.convertToFunctionBlock(L.checkDefined($e(pt,fe,u6)))}function Qt(pt){let nn=pt&&Jw(pt);if(nn&&Cd(nn)){let Dt=l.getTypeReferenceSerializationKind(nn);if(Dt===1||Dt===0)return nn}}function tn(){g&1||(g|=1,e.enableSubstitution(210),e.enableSubstitution(208),e.enableSubstitution(209),e.enableEmitNotification(260),e.enableEmitNotification(171),e.enableEmitNotification(174),e.enableEmitNotification(175),e.enableEmitNotification(173),e.enableEmitNotification(240))}function kn(pt,nn,Dt){if(g&1&&Pi(nn)){let pn=l.getNodeCheckFlags(nn)&384;if(pn!==m){let An=m;m=pn,C(pt,nn,Dt),m=An;return}}else if(g&&A[zo(nn)]){let pn=m;m=0,C(pt,nn,Dt),m=pn;return}C(pt,nn,Dt)}function _n(pt,nn){return nn=P(pt,nn),pt===1&&m?Gt(nn):nn}function Gt(pt){switch(pt.kind){case 208:return $n(pt);case 209:return ui(pt);case 210:return Ni(pt)}return pt}function $n(pt){return pt.expression.kind===106?it(t.createPropertyAccessExpression(t.createUniqueName("_super",48),pt.name),pt):pt}function ui(pt){return pt.expression.kind===106?gr(pt.argumentExpression,pt):pt}function Ni(pt){let nn=pt.expression;if(Pu(nn)){let Dt=br(nn)?$n(nn):ui(nn);return t.createCallExpression(t.createPropertyAccessExpression(Dt,"call"),void 0,[t.createThis(),...pt.arguments])}return pt}function Pi(pt){let nn=pt.kind;return nn===260||nn===173||nn===171||nn===174||nn===175}function gr(pt,nn){return m&256?it(t.createPropertyAccessExpression(t.createCallExpression(t.createUniqueName("_superIndex",48),void 0,[pt]),"value"),nn):it(t.createCallExpression(t.createUniqueName("_superIndex",48),void 0,[pt]),nn)}}function SF(e,t,r,i){let o=(t.getNodeCheckFlags(r)&256)!==0,s=[];return i.forEach((l,f)=>{let d=Gi(f),g=[];g.push(e.createPropertyAssignment("get",e.createArrowFunction(void 0,void 0,[],void 0,void 0,Jn(e.createPropertyAccessExpression(Jn(e.createSuper(),8),d),8)))),o&&g.push(e.createPropertyAssignment("set",e.createArrowFunction(void 0,void 0,[e.createParameterDeclaration(void 0,void 0,"v",void 0,void 0,void 0)],void 0,void 0,e.createAssignment(Jn(e.createPropertyAccessExpression(Jn(e.createSuper(),8),d),8),e.createIdentifier("v"))))),s.push(e.createPropertyAssignment(d,e.createObjectLiteralExpression(g)))}),e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.createUniqueName("_super",48),void 0,void 0,e.createCallExpression(e.createPropertyAccessExpression(e.createIdentifier("Object"),"create"),void 0,[e.createNull(),e.createObjectLiteralExpression(s,!0)]))],2))}var uMe=gt({"src/compiler/transformers/es2017.ts"(){"use strict";fa()}});function ope(e){let{factory:t,getEmitHelperFactory:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistVariableDeclaration:s}=e,l=e.getEmitResolver(),f=e.getCompilerOptions(),d=Do(f),g=e.onEmitNode;e.onEmitNode=En;let m=e.onSubstituteNode;e.onSubstituteNode=dr;let v=!1,S,x,A,w=0,C=0,P,F,B,q,W=[];return y_(e,fe);function Y(ce,Q){return C!==(C&~ce|Q)}function R(ce,Q){let ue=C;return C=(C&~ce|Q)&3,ue}function ie(ce){C=ce}function $(ce){F=Sn(F,t.createVariableDeclaration(ce))}function fe(ce){if(ce.isDeclarationFile)return ce;P=ce;let Q=Ne(ce);return Bg(Q,e.readEmitHelpers()),P=void 0,F=void 0,Q}function Z(ce){return ge(ce,!1)}function U(ce){return ge(ce,!0)}function re(ce){if(ce.kind!==132)return ce}function le(ce,Q,ue,G){if(Y(ue,G)){let Oe=R(ue,G),je=ce(Q);return ie(Oe),je}return ce(Q)}function _e(ce){return xn(ce,Z,e)}function ge(ce,Q){if(!(ce.transformFlags&128))return ce;switch(ce.kind){case 220:return X(ce);case 226:return Ve(ce);case 250:return we(ce);case 253:return ke(ce);case 207:return Ce(ce);case 223:return Ye(ce,Q);case 357:return _t(ce,Q);case 295:return ct(ce);case 240:return Rt(ce);case 257:return We(ce);case 243:case 244:case 246:return le(_e,ce,0,2);case 247:return tn(ce,void 0);case 245:return le(zt,ce,0,2);case 219:return Qt(ce);case 173:return le(gr,ce,2,1);case 171:return le(Dt,ce,2,1);case 174:return le(pt,ce,2,1);case 175:return le(nn,ce,2,1);case 259:return le(pn,ce,2,1);case 215:return le(Kn,ce,2,1);case 216:return le(An,ce,2,0);case 166:return Ni(ce);case 241:return Ie(ce);case 214:return Be(ce,Q);case 212:return Le(ce);case 208:return B&&br(ce)&&ce.expression.kind===106&&B.add(ce.name.escapedText),xn(ce,Z,e);case 209:return B&&ce.expression.kind===106&&(q=!0),xn(ce,Z,e);case 260:case 228:return le(_e,ce,2,1);default:return xn(ce,Z,e)}}function X(ce){return x&2&&x&1?Ir(it(t.createYieldExpression(void 0,r().createAwaitHelper($e(ce.expression,Z,ot))),ce),ce):xn(ce,Z,e)}function Ve(ce){if(x&2&&x&1){if(ce.asteriskToken){let Q=$e(L.checkDefined(ce.expression),Z,ot);return Ir(it(t.createYieldExpression(void 0,r().createAwaitHelper(t.updateYieldExpression(ce,ce.asteriskToken,it(r().createAsyncDelegatorHelper(it(r().createAsyncValuesHelper(Q),Q)),Q)))),ce),ce)}return Ir(it(t.createYieldExpression(void 0,Gt(ce.expression?$e(ce.expression,Z,ot):t.createVoidZero())),ce),ce)}return xn(ce,Z,e)}function we(ce){return x&2&&x&1?t.updateReturnStatement(ce,Gt(ce.expression?$e(ce.expression,Z,ot):t.createVoidZero())):xn(ce,Z,e)}function ke(ce){if(x&2){let Q=xH(ce);return Q.kind===247&&Q.awaitModifier?tn(Q,ce):t.restoreEnclosingLabel($e(Q,Z,ca,t.liftToBlock),ce)}return xn(ce,Z,e)}function Pe(ce){let Q,ue=[];for(let G of ce)if(G.kind===301){Q&&(ue.push(t.createObjectLiteralExpression(Q)),Q=void 0);let Oe=G.expression;ue.push($e(Oe,Z,ot))}else Q=Sn(Q,G.kind===299?t.createPropertyAssignment(G.name,$e(G.initializer,Z,ot)):$e(G,Z,Og));return Q&&ue.push(t.createObjectLiteralExpression(Q)),ue}function Ce(ce){if(ce.transformFlags&65536){let Q=Pe(ce.properties);Q.length&&Q[0].kind!==207&&Q.unshift(t.createObjectLiteralExpression());let ue=Q[0];if(Q.length>1){for(let G=1;G<Q.length;G++)ue=r().createAssignHelper([ue,Q[G]]);return ue}else return r().createAssignHelper(Q)}return xn(ce,Z,e)}function Ie(ce){return xn(ce,U,e)}function Be(ce,Q){return xn(ce,Q?U:Z,e)}function Ne(ce){let Q=R(2,fH(ce,f)?0:1);v=!1;let ue=xn(ce,Z,e),G=Qi(ue.statements,F&&[t.createVariableStatement(void 0,t.createVariableDeclarationList(F))]),Oe=t.updateSourceFile(ue,it(t.createNodeArray(G),ce.statements));return ie(Q),Oe}function Le(ce){return OK(e,ce,Z,P,$,0)}function Ye(ce,Q){return Fg(ce)&&IO(ce.left)?KT(ce,Z,e,1,!Q):ce.operatorToken.kind===27?t.updateBinaryExpression(ce,$e(ce.left,U,ot),ce.operatorToken,$e(ce.right,Q?U:Z,ot)):xn(ce,Z,e)}function _t(ce,Q){if(Q)return xn(ce,U,e);let ue;for(let Oe=0;Oe<ce.elements.length;Oe++){let je=ce.elements[Oe],Ge=$e(je,Oe<ce.elements.length-1?U:Z,ot);(ue||Ge!==je)&&(ue||(ue=ce.elements.slice(0,Oe)),ue.push(Ge))}let G=ue?it(t.createNodeArray(ue),ce.elements):ce.elements;return t.updateCommaListExpression(ce,G)}function ct(ce){if(ce.variableDeclaration&&La(ce.variableDeclaration.name)&&ce.variableDeclaration.name.transformFlags&65536){let Q=t.getGeneratedNameForNode(ce.variableDeclaration.name),ue=t.updateVariableDeclaration(ce.variableDeclaration,ce.variableDeclaration.name,void 0,void 0,Q),G=eE(ue,Z,e,1),Oe=$e(ce.block,Z,Va);return vt(G)&&(Oe=t.updateBlock(Oe,[t.createVariableStatement(void 0,G),...Oe.statements])),t.updateCatchClause(ce,t.updateVariableDeclaration(ce.variableDeclaration,Q,void 0,void 0,void 0),Oe)}return xn(ce,Z,e)}function Rt(ce){if(Mr(ce,1)){let Q=v;v=!0;let ue=xn(ce,Z,e);return v=Q,ue}return xn(ce,Z,e)}function We(ce){if(v){let Q=v;v=!1;let ue=qe(ce,!0);return v=Q,ue}return qe(ce,!1)}function qe(ce,Q){return La(ce.name)&&ce.name.transformFlags&65536?eE(ce,Z,e,1,void 0,Q):xn(ce,Z,e)}function zt(ce){return t.updateForStatement(ce,$e(ce.initializer,U,pp),$e(ce.condition,Z,ot),$e(ce.incrementor,U,ot),jf(ce.statement,Z,e))}function Qt(ce){return xn(ce,U,e)}function tn(ce,Q){let ue=R(0,2);(ce.initializer.transformFlags&65536||vI(ce.initializer)&&IO(ce.initializer))&&(ce=kn(ce));let G=ce.awaitModifier?$n(ce,Q,ue):t.restoreEnclosingLabel(xn(ce,Z,e),Q);return ie(ue),G}function kn(ce){let Q=vs(ce.initializer);if(pu(Q)||vI(Q)){let ue,G,Oe=t.createTempVariable(void 0),je=[Qz(t,Q,Oe)];return Va(ce.statement)?(si(je,ce.statement.statements),ue=ce.statement,G=ce.statement.statements):ce.statement&&(Sn(je,ce.statement),ue=ce.statement,G=ce.statement),t.updateForOfStatement(ce,ce.awaitModifier,it(t.createVariableDeclarationList([it(t.createVariableDeclaration(Oe),ce.initializer)],1),ce.initializer),ce.expression,it(t.createBlock(it(t.createNodeArray(je),G),!0),ue))}return ce}function _n(ce,Q,ue){let G=t.createTempVariable(s),Oe=t.createAssignment(G,Q),je=t.createExpressionStatement(Oe);Ho(je,ce.expression);let Ge=t.createAssignment(ue,t.createFalse()),kt=t.createExpressionStatement(Ge);Ho(kt,ce.expression);let Kt=t.createAssignment(ue,t.createTrue()),ln=t.createExpressionStatement(Kt);Ho(kt,ce.expression);let ir=[],ae=Qz(t,ce.initializer,G);ir.push($e(ae,Z,ca));let rt,Ot,Ke=jf(ce.statement,Z,e);Va(Ke)?(si(ir,Ke.statements),rt=Ke,Ot=Ke.statements):ir.push(Ke);let oe=Jn(it(t.createBlock(it(t.createNodeArray(ir),Ot),!0),rt),864);return t.createBlock([je,kt,t.createTryStatement(oe,void 0,t.createBlock([ln]))])}function Gt(ce){return x&1?t.createYieldExpression(void 0,r().createAwaitHelper(ce)):t.createAwaitExpression(ce)}function $n(ce,Q,ue){let G=$e(ce.expression,Z,ot),Oe=Re(G)?t.getGeneratedNameForNode(G):t.createTempVariable(void 0),je=Re(G)?t.getGeneratedNameForNode(Oe):t.createTempVariable(void 0),Ge=t.createTempVariable(void 0),kt=t.createTempVariable(s),Kt=t.createUniqueName("e"),ln=t.getGeneratedNameForNode(Kt),ir=t.createTempVariable(void 0),ae=it(r().createAsyncValuesHelper(G),ce.expression),rt=t.createCallExpression(t.createPropertyAccessExpression(Oe,"next"),void 0,[]),Ot=t.createPropertyAccessExpression(je,"done"),Ke=t.createPropertyAccessExpression(je,"value"),oe=t.createFunctionCallCall(ir,Oe,[]);s(Kt),s(ir);let pe=ue&2?t.inlineExpressions([t.createAssignment(Kt,t.createVoidZero()),ae]):ae,z=Jn(it(t.createForStatement(Jn(it(t.createVariableDeclarationList([t.createVariableDeclaration(Ge,void 0,void 0,t.createTrue()),it(t.createVariableDeclaration(Oe,void 0,void 0,pe),ce.expression),t.createVariableDeclaration(je)]),ce.expression),4194304),t.inlineExpressions([t.createAssignment(je,Gt(rt)),t.createAssignment(kt,Ot),t.createLogicalNot(kt)]),void 0,_n(ce,Ke,Ge)),ce),512);return Ir(z,ce),t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(z,Q)]),t.createCatchClause(t.createVariableDeclaration(ln),Jn(t.createBlock([t.createExpressionStatement(t.createAssignment(Kt,t.createObjectLiteralExpression([t.createPropertyAssignment("error",ln)])))]),1)),t.createBlock([t.createTryStatement(t.createBlock([Jn(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(t.createLogicalNot(Ge),t.createLogicalNot(kt)),t.createAssignment(ir,t.createPropertyAccessExpression(Oe,"return"))),t.createExpressionStatement(Gt(oe))),1)]),void 0,Jn(t.createBlock([Jn(t.createIfStatement(Kt,t.createThrowStatement(t.createPropertyAccessExpression(Kt,"error"))),1)]),1))]))}function ui(ce){return L.assertNode(ce,ha),Ni(ce)}function Ni(ce){return A?.has(ce)?t.updateParameterDeclaration(ce,void 0,ce.dotDotDotToken,La(ce.name)?t.getGeneratedNameForNode(ce):ce.name,void 0,void 0,void 0):ce.transformFlags&65536?t.updateParameterDeclaration(ce,void 0,ce.dotDotDotToken,t.getGeneratedNameForNode(ce),void 0,void 0,$e(ce.initializer,Z,ot)):xn(ce,Z,e)}function Pi(ce){let Q;for(let ue of ce.parameters)Q?Q.add(ue):ue.transformFlags&65536&&(Q=new Set);return Q}function gr(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateConstructorDeclaration(ce,ce.modifiers,Sc(ce.parameters,ui,e),ri(ce));return x=Q,A=ue,G}function pt(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateGetAccessorDeclaration(ce,ce.modifiers,$e(ce.name,Z,Ys),Sc(ce.parameters,ui,e),void 0,ri(ce));return x=Q,A=ue,G}function nn(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateSetAccessorDeclaration(ce,ce.modifiers,$e(ce.name,Z,Ys),Sc(ce.parameters,ui,e),ri(ce));return x=Q,A=ue,G}function Dt(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateMethodDeclaration(ce,x&1?On(ce.modifiers,re,Ns):ce.modifiers,x&2?void 0:ce.asteriskToken,$e(ce.name,Z,Ys),$e(void 0,Z,ev),void 0,Sc(ce.parameters,ui,e),void 0,x&2&&x&1?hi(ce):ri(ce));return x=Q,A=ue,G}function pn(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateFunctionDeclaration(ce,x&1?On(ce.modifiers,re,Ha):ce.modifiers,x&2?void 0:ce.asteriskToken,ce.name,void 0,Sc(ce.parameters,ui,e),void 0,x&2&&x&1?hi(ce):ri(ce));return x=Q,A=ue,G}function An(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateArrowFunction(ce,ce.modifiers,void 0,Sc(ce.parameters,ui,e),void 0,ce.equalsGreaterThanToken,ri(ce));return x=Q,A=ue,G}function Kn(ce){let Q=x,ue=A;x=pl(ce),A=Pi(ce);let G=t.updateFunctionExpression(ce,x&1?On(ce.modifiers,re,Ha):ce.modifiers,x&2?void 0:ce.asteriskToken,ce.name,void 0,Sc(ce.parameters,ui,e),void 0,x&2&&x&1?hi(ce):ri(ce));return x=Q,A=ue,G}function hi(ce){i();let Q=[],ue=t.copyPrologue(ce.body.statements,Q,!1,Z);vn(Q,ce);let G=B,Oe=q;B=new Set,q=!1;let je=t.createReturnStatement(r().createAsyncGeneratorHelper(t.createFunctionExpression(void 0,t.createToken(41),ce.name&&t.getGeneratedNameForNode(ce.name),void 0,[],void 0,t.updateBlock(ce.body,mF(ce.body.statements,Z,e,ue))),!!(C&1))),Ge=d>=2&&l.getNodeCheckFlags(ce)&384;if(Ge){Ht();let Kt=SF(t,l,ce,B);W[zo(Kt)]=!0,em(Q,[Kt])}Q.push(je),em(Q,o());let kt=t.updateBlock(ce.body,Q);return Ge&&q&&(l.getNodeCheckFlags(ce)&256?xS(kt,sO):l.getNodeCheckFlags(ce)&128&&xS(kt,oO)),B=G,q=Oe,kt}function ri(ce){var Q;i();let ue=0,G=[],Oe=(Q=$e(ce.body,Z,u6))!=null?Q:t.createBlock([]);Va(Oe)&&(ue=t.copyPrologue(Oe.statements,G,!1,Z)),si(G,vn(void 0,ce));let je=o();if(ue>0||vt(G)||vt(je)){let Ge=t.converters.convertToFunctionBlock(Oe,!0);return em(G,je),si(G,Ge.statements.slice(ue)),t.updateBlock(Ge,it(t.createNodeArray(G),Ge.statements))}return Oe}function vn(ce,Q){let ue=!1;for(let G of Q.parameters)if(ue){if(La(G.name)){if(G.name.elements.length>0){let Oe=eE(G,Z,e,0,t.getGeneratedNameForNode(G));if(vt(Oe)){let je=t.createVariableDeclarationList(Oe),Ge=t.createVariableStatement(void 0,je);Jn(Ge,2097152),ce=Sn(ce,Ge)}}else if(G.initializer){let Oe=t.getGeneratedNameForNode(G),je=$e(G.initializer,Z,ot),Ge=t.createAssignment(Oe,je),kt=t.createExpressionStatement(Ge);Jn(kt,2097152),ce=Sn(ce,kt)}}else if(G.initializer){let Oe=t.cloneNode(G.name);it(Oe,G.name),Jn(Oe,96);let je=$e(G.initializer,Z,ot);bp(je,3168);let Ge=t.createAssignment(Oe,je);it(Ge,G),Jn(Ge,3072);let kt=t.createBlock([t.createExpressionStatement(Ge)]);it(kt,G),Jn(kt,3905);let Kt=t.createTypeCheck(t.cloneNode(G.name),"undefined"),ln=t.createIfStatement(Kt,kt);mu(ln),it(ln,G),Jn(ln,2101056),ce=Sn(ce,ln)}}else if(G.transformFlags&65536){ue=!0;let Oe=eE(G,Z,e,1,t.getGeneratedNameForNode(G),!1,!0);if(vt(Oe)){let je=t.createVariableDeclarationList(Oe),Ge=t.createVariableStatement(void 0,je);Jn(Ge,2097152),ce=Sn(ce,Ge)}}return ce}function Ht(){S&1||(S|=1,e.enableSubstitution(210),e.enableSubstitution(208),e.enableSubstitution(209),e.enableEmitNotification(260),e.enableEmitNotification(171),e.enableEmitNotification(174),e.enableEmitNotification(175),e.enableEmitNotification(173),e.enableEmitNotification(240))}function En(ce,Q,ue){if(S&1&&ve(Q)){let G=l.getNodeCheckFlags(Q)&384;if(G!==w){let Oe=w;w=G,g(ce,Q,ue),w=Oe;return}}else if(S&&W[zo(Q)]){let G=w;w=0,g(ce,Q,ue),w=G;return}g(ce,Q,ue)}function dr(ce,Q){return Q=m(ce,Q),ce===1&&w?Cr(Q):Q}function Cr(ce){switch(ce.kind){case 208:return Se(ce);case 209:return at(ce);case 210:return Tt(ce)}return ce}function Se(ce){return ce.expression.kind===106?it(t.createPropertyAccessExpression(t.createUniqueName("_super",48),ce.name),ce):ce}function at(ce){return ce.expression.kind===106?nt(ce.argumentExpression,ce):ce}function Tt(ce){let Q=ce.expression;if(Pu(Q)){let ue=br(Q)?Se(Q):at(Q);return t.createCallExpression(t.createPropertyAccessExpression(ue,"call"),void 0,[t.createThis(),...ce.arguments])}return ce}function ve(ce){let Q=ce.kind;return Q===260||Q===173||Q===171||Q===174||Q===175}function nt(ce,Q){return w&256?it(t.createPropertyAccessExpression(t.createCallExpression(t.createIdentifier("_superIndex"),void 0,[ce]),"value"),Q):it(t.createCallExpression(t.createIdentifier("_superIndex"),void 0,[ce]),Q)}}var dMe=gt({"src/compiler/transformers/es2018.ts"(){"use strict";fa()}});function spe(e){let t=e.factory;return y_(e,r);function r(s){return s.isDeclarationFile?s:xn(s,i,e)}function i(s){if(!(s.transformFlags&64))return s;switch(s.kind){case 295:return o(s);default:return xn(s,i,e)}}function o(s){return s.variableDeclaration?xn(s,i,e):t.updateCatchClause(s,t.createVariableDeclaration(t.createTempVariable(void 0)),$e(s.block,i,Va))}}var fMe=gt({"src/compiler/transformers/es2019.ts"(){"use strict";fa()}});function cpe(e){let{factory:t,hoistVariableDeclaration:r}=e;return y_(e,i);function i(A){return A.isDeclarationFile?A:xn(A,o,e)}function o(A){if(!(A.transformFlags&32))return A;switch(A.kind){case 210:{let w=d(A,!1);return L.assertNotNode(w,MS),w}case 208:case 209:if(Jl(A)){let w=m(A,!1,!1);return L.assertNotNode(w,MS),w}return xn(A,o,e);case 223:return A.operatorToken.kind===60?S(A):xn(A,o,e);case 217:return x(A);default:return xn(A,o,e)}}function s(A){L.assertNotNode(A,i6);let w=[A];for(;!A.questionDotToken&&!PT(A);)A=Ga(a_(A.expression),Jl),L.assertNotNode(A,i6),w.unshift(A);return{expression:A.expression,chain:w}}function l(A,w,C){let P=g(A.expression,w,C);return MS(P)?t.createSyntheticReferenceExpression(t.updateParenthesizedExpression(A,P.expression),P.thisArg):t.updateParenthesizedExpression(A,P)}function f(A,w,C){if(Jl(A))return m(A,w,C);let P=$e(A.expression,o,ot);L.assertNotNode(P,MS);let F;return w&&(Z0(P)?F=P:(F=t.createTempVariable(r),P=t.createAssignment(F,P))),P=A.kind===208?t.updatePropertyAccessExpression(A,P,$e(A.name,o,Re)):t.updateElementAccessExpression(A,P,$e(A.argumentExpression,o,ot)),F?t.createSyntheticReferenceExpression(P,F):P}function d(A,w){if(Jl(A))return m(A,w,!1);if(ud(A.expression)&&Jl(vs(A.expression))){let C=l(A.expression,!0,!1),P=On(A.arguments,o,ot);return MS(C)?it(t.createFunctionCallCall(C.expression,C.thisArg,P),A):t.updateCallExpression(A,C,void 0,P)}return xn(A,o,e)}function g(A,w,C){switch(A.kind){case 214:return l(A,w,C);case 208:case 209:return f(A,w,C);case 210:return d(A,w);default:return $e(A,o,ot)}}function m(A,w,C){let{expression:P,chain:F}=s(A),B=g(a_(P),dT(F[0]),!1),q=MS(B)?B.thisArg:void 0,W=MS(B)?B.expression:B,Y=t.restoreOuterExpressions(P,W,8);Z0(W)||(W=t.createTempVariable(r),Y=t.createAssignment(W,Y));let R=W,ie;for(let fe=0;fe<F.length;fe++){let Z=F[fe];switch(Z.kind){case 208:case 209:fe===F.length-1&&w&&(Z0(R)?ie=R:(ie=t.createTempVariable(r),R=t.createAssignment(ie,R))),R=Z.kind===208?t.createPropertyAccessExpression(R,$e(Z.name,o,Re)):t.createElementAccessExpression(R,$e(Z.argumentExpression,o,ot));break;case 210:fe===0&&q?(tc(q)||(q=t.cloneNode(q),bp(q,3072)),R=t.createFunctionCallCall(R,q.kind===106?t.createThis():q,On(Z.arguments,o,ot))):R=t.createCallExpression(R,void 0,On(Z.arguments,o,ot));break}Ir(R,Z)}let $=C?t.createConditionalExpression(v(Y,W,!0),void 0,t.createTrue(),void 0,t.createDeleteExpression(R)):t.createConditionalExpression(v(Y,W,!0),void 0,t.createVoidZero(),void 0,R);return it($,A),ie?t.createSyntheticReferenceExpression($,ie):$}function v(A,w,C){return t.createBinaryExpression(t.createBinaryExpression(A,t.createToken(C?36:37),t.createNull()),t.createToken(C?56:55),t.createBinaryExpression(w,t.createToken(C?36:37),t.createVoidZero()))}function S(A){let w=$e(A.left,o,ot),C=w;return Z0(w)||(C=t.createTempVariable(r),w=t.createAssignment(C,w)),it(t.createConditionalExpression(v(w,C),void 0,C,void 0,$e(A.right,o,ot)),A)}function x(A){return Jl(vs(A.expression))?Ir(g(A.expression,!1,!0),A):t.updateDeleteExpression(A,$e(A.expression,o,ot))}}var _Me=gt({"src/compiler/transformers/es2020.ts"(){"use strict";fa()}});function lpe(e){let{hoistVariableDeclaration:t,factory:r}=e;return y_(e,i);function i(l){return l.isDeclarationFile?l:xn(l,o,e)}function o(l){return l.transformFlags&16?cW(l)?s(l):xn(l,o,e):l}function s(l){let f=l.operatorToken,d=WL(f.kind),g=vs($e(l.left,o,Ju)),m=g,v=vs($e(l.right,o,ot));if(Us(g)){let S=Z0(g.expression),x=S?g.expression:r.createTempVariable(t),A=S?g.expression:r.createAssignment(x,g.expression);if(br(g))m=r.createPropertyAccessExpression(x,g.name),g=r.createPropertyAccessExpression(A,g.name);else{let w=Z0(g.argumentExpression),C=w?g.argumentExpression:r.createTempVariable(t);m=r.createElementAccessExpression(x,C),g=r.createElementAccessExpression(A,w?g.argumentExpression:r.createAssignment(C,g.argumentExpression))}}return r.createBinaryExpression(g,d,r.createParenthesizedExpression(r.createAssignment(m,v)))}}var pMe=gt({"src/compiler/transformers/es2021.ts"(){"use strict";fa()}});function upe(e){return y_(e,t);function t(i){return i.isDeclarationFile?i:xn(i,r,e)}function r(i){if(!(i.transformFlags&4))return i;switch(i.kind){default:return xn(i,r,e)}}}var mMe=gt({"src/compiler/transformers/esnext.ts"(){"use strict";fa()}});function dpe(e){let{factory:t,getEmitHelperFactory:r}=e,i=e.getCompilerOptions(),o,s;return y_(e,v);function l(){if(s.filenameDeclaration)return s.filenameDeclaration.name;let Le=t.createVariableDeclaration(t.createUniqueName("_jsxFileName",48),void 0,void 0,t.createStringLiteral(o.fileName));return s.filenameDeclaration=Le,s.filenameDeclaration.name}function f(Le){return i.jsx===5?"jsxDEV":Le?"jsxs":"jsx"}function d(Le){let Ye=f(Le);return m(Ye)}function g(){return m("Fragment")}function m(Le){var Ye,_t;let ct=Le==="createElement"?s.importSpecifier:p4(s.importSpecifier,i),Rt=(_t=(Ye=s.utilizedImplicitRuntimeImports)==null?void 0:Ye.get(ct))==null?void 0:_t.get(Le);if(Rt)return Rt.name;s.utilizedImplicitRuntimeImports||(s.utilizedImplicitRuntimeImports=new Map);let We=s.utilizedImplicitRuntimeImports.get(ct);We||(We=new Map,s.utilizedImplicitRuntimeImports.set(ct,We));let qe=t.createUniqueName(`_${Le}`,112),zt=t.createImportSpecifier(!1,t.createIdentifier(Le),qe);return bue(qe,zt),We.set(Le,zt),qe}function v(Le){if(Le.isDeclarationFile)return Le;o=Le,s={},s.importSpecifier=_4(i,Le);let Ye=xn(Le,S,e);Bg(Ye,e.readEmitHelpers());let _t=Ye.statements;if(s.filenameDeclaration&&(_t=L0(_t.slice(),t.createVariableStatement(void 0,t.createVariableDeclarationList([s.filenameDeclaration],2)))),s.utilizedImplicitRuntimeImports){for(let[ct,Rt]of lo(s.utilizedImplicitRuntimeImports.entries()))if(Lc(Le)){let We=t.createImportDeclaration(void 0,t.createImportClause(!1,void 0,t.createNamedImports(lo(Rt.values()))),t.createStringLiteral(ct),void 0);Zy(We,!1),_t=L0(_t.slice(),We)}else if(kd(Le)){let We=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createObjectBindingPattern(lo(Rt.values(),qe=>t.createBindingElement(void 0,qe.propertyName,qe.name))),void 0,void 0,t.createCallExpression(t.createIdentifier("require"),void 0,[t.createStringLiteral(ct)]))],2));Zy(We,!1),_t=L0(_t.slice(),We)}}return _t!==Ye.statements&&(Ye=t.updateSourceFile(Ye,_t)),s=void 0,Ye}function S(Le){return Le.transformFlags&2?x(Le):Le}function x(Le){switch(Le.kind){case 281:return P(Le,!1);case 282:return F(Le,!1);case 285:return B(Le,!1);case 291:return Ne(Le);default:return xn(Le,S,e)}}function A(Le){switch(Le.kind){case 11:return Ve(Le);case 291:return Ne(Le);case 281:return P(Le,!0);case 282:return F(Le,!0);case 285:return B(Le,!0);default:return L.failBadSyntaxKind(Le)}}function w(Le){let Ye=!1;for(let _t of Le.attributes.properties)if(GT(_t))Ye=!0;else if(Ye&&Sp(_t)&&_t.name.escapedText==="key")return!0;return!1}function C(Le){return s.importSpecifier===void 0||w(Le)}function P(Le,Ye){return(C(Le.openingElement)?ie:Y)(Le.openingElement,Le.children,Ye,Le)}function F(Le,Ye){return(C(Le)?ie:Y)(Le,void 0,Ye,Le)}function B(Le,Ye){return(s.importSpecifier===void 0?fe:$)(Le.openingFragment,Le.children,Ye,Le)}function q(Le){let Ye=W(Le);return Ye&&t.createObjectLiteralExpression([Ye])}function W(Le){let Ye=bR(Le);if(Fn(Ye)===1&&!Ye[0].dotDotDotToken){let ct=A(Ye[0]);return ct&&t.createPropertyAssignment("children",ct)}let _t=Zi(Le,A);return Fn(_t)?t.createPropertyAssignment("children",t.createArrayLiteralExpression(_t)):void 0}function Y(Le,Ye,_t,ct){let Rt=Ie(Le),We=Ye&&Ye.length?W(Ye):void 0,qe=wr(Le.attributes.properties,tn=>!!tn.name&&Re(tn.name)&&tn.name.escapedText==="key"),zt=qe?Pr(Le.attributes.properties,tn=>tn!==qe):Le.attributes.properties,Qt=Fn(zt)?U(zt,We):t.createObjectLiteralExpression(We?[We]:Je);return R(Rt,Qt,qe,Ye||Je,_t,ct)}function R(Le,Ye,_t,ct,Rt,We){var qe;let zt=bR(ct),Qt=Fn(zt)>1||!!((qe=zt[0])!=null&&qe.dotDotDotToken),tn=[Le,Ye];if(_t&&tn.push(X(_t.initializer)),i.jsx===5){let _n=ec(o);if(_n&&Li(_n)){_t===void 0&&tn.push(t.createVoidZero()),tn.push(Qt?t.createTrue():t.createFalse());let Gt=Gs(_n,We.pos);tn.push(t.createObjectLiteralExpression([t.createPropertyAssignment("fileName",l()),t.createPropertyAssignment("lineNumber",t.createNumericLiteral(Gt.line+1)),t.createPropertyAssignment("columnNumber",t.createNumericLiteral(Gt.character+1))])),tn.push(t.createThis())}}let kn=it(t.createCallExpression(d(Qt),void 0,tn),We);return Rt&&mu(kn),kn}function ie(Le,Ye,_t,ct){let Rt=Ie(Le),We=Le.attributes.properties,qe=Fn(We)?U(We):t.createNull(),zt=s.importSpecifier===void 0?$z(t,e.getEmitResolver().getJsxFactoryEntity(o),i.reactNamespace,Le):m("createElement"),Qt=Que(t,zt,Rt,qe,Zi(Ye,A),ct);return _t&&mu(Qt),Qt}function $(Le,Ye,_t,ct){let Rt;if(Ye&&Ye.length){let We=q(Ye);We&&(Rt=We)}return R(g(),Rt||t.createObjectLiteralExpression([]),void 0,Ye,_t,ct)}function fe(Le,Ye,_t,ct){let Rt=Zue(t,e.getEmitResolver().getJsxFactoryEntity(o),e.getEmitResolver().getJsxFragmentFactoryEntity(o),i.reactNamespace,Zi(Ye,A),Le,ct);return _t&&mu(Rt),Rt}function Z(Le){return t.createSpreadAssignment(L.checkDefined($e(Le.expression,S,ot)))}function U(Le,Ye){let _t=Do(i);return _t&&_t>=5?t.createObjectLiteralExpression(re(Le,Ye)):le(Le,Ye)}function re(Le,Ye){let _t=t_(c8(Le,GT,(ct,Rt)=>on(ct,We=>Rt?Z(We):ge(We))));return Ye&&_t.push(Ye),_t}function le(Le,Ye){let _t=t_(c8(Le,GT,(ct,Rt)=>Rt?on(ct,_e):t.createObjectLiteralExpression(on(ct,ge))));return GT(Le[0])&&_t.unshift(t.createObjectLiteralExpression()),Ye&&_t.push(t.createObjectLiteralExpression([Ye])),Wp(_t)||r().createAssignHelper(_t)}function _e(Le){return L.checkDefined($e(Le.expression,S,ot))}function ge(Le){let Ye=Be(Le),_t=X(Le.initializer);return t.createPropertyAssignment(Ye,_t)}function X(Le){if(Le===void 0)return t.createTrue();if(Le.kind===10){let Ye=Le.singleQuote!==void 0?Le.singleQuote:!V6(Le,o),_t=t.createStringLiteral(Ce(Le.text)||Le.text,Ye);return it(_t,Le)}return Le.kind===291?Le.expression===void 0?t.createTrue():L.checkDefined($e(Le.expression,S,ot)):Hg(Le)?P(Le,!1):FS(Le)?F(Le,!1):BS(Le)?B(Le,!1):L.failBadSyntaxKind(Le)}function Ve(Le){let Ye=we(Le.text);return Ye===void 0?void 0:t.createStringLiteral(Ye)}function we(Le){let Ye,_t=0,ct=-1;for(let Rt=0;Rt<Le.length;Rt++){let We=Le.charCodeAt(Rt);Wl(We)?(_t!==-1&&ct!==-1&&(Ye=ke(Ye,Le.substr(_t,ct-_t+1))),_t=-1):Yp(We)||(ct=Rt,_t===-1&&(_t=Rt))}return _t!==-1?ke(Ye,Le.substr(_t)):Ye}function ke(Le,Ye){let _t=Pe(Ye);return Le===void 0?_t:Le+" "+_t}function Pe(Le){return Le.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,(Ye,_t,ct,Rt,We,qe,zt)=>{if(We)return lI(parseInt(We,10));if(qe)return lI(parseInt(qe,16));{let Qt=fpe.get(zt);return Qt?lI(Qt):Ye}})}function Ce(Le){let Ye=Pe(Le);return Ye===Le?void 0:Ye}function Ie(Le){if(Le.kind===281)return Ie(Le.openingElement);{let Ye=Le.tagName;return Re(Ye)&&GI(Ye.escapedText)?t.createStringLiteral(vr(Ye)):EO(t,Ye)}}function Be(Le){let Ye=Le.name,_t=vr(Ye);return/^[A-Za-z_]\w*$/.test(_t)?Ye:t.createStringLiteral(_t)}function Ne(Le){let Ye=$e(Le.expression,S,ot);return Le.dotDotDotToken?t.createSpreadElement(Ye):Ye}}var fpe,hMe=gt({"src/compiler/transformers/jsx.ts"(){"use strict";fa(),fpe=new Map(Object.entries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}});function _pe(e){let{factory:t,hoistVariableDeclaration:r}=e;return y_(e,i);function i(d){return d.isDeclarationFile?d:xn(d,o,e)}function o(d){if(!(d.transformFlags&512))return d;switch(d.kind){case 223:return s(d);default:return xn(d,o,e)}}function s(d){switch(d.operatorToken.kind){case 67:return l(d);case 42:return f(d);default:return xn(d,o,e)}}function l(d){let g,m,v=$e(d.left,o,ot),S=$e(d.right,o,ot);if(Vs(v)){let x=t.createTempVariable(r),A=t.createTempVariable(r);g=it(t.createElementAccessExpression(it(t.createAssignment(x,v.expression),v.expression),it(t.createAssignment(A,v.argumentExpression),v.argumentExpression)),v),m=it(t.createElementAccessExpression(x,A),v)}else if(br(v)){let x=t.createTempVariable(r);g=it(t.createPropertyAccessExpression(it(t.createAssignment(x,v.expression),v.expression),v.name),v),m=it(t.createPropertyAccessExpression(x,v.name),v)}else g=v,m=v;return it(t.createAssignment(g,it(t.createGlobalMethodCall("Math","pow",[m,S]),d)),d)}function f(d){let g=$e(d.left,o,ot),m=$e(d.right,o,ot);return it(t.createGlobalMethodCall("Math","pow",[g,m]),d)}}var gMe=gt({"src/compiler/transformers/es2016.ts"(){"use strict";fa()}});function ppe(e,t){return{kind:e,expression:t}}function mpe(e){let{factory:t,getEmitHelperFactory:r,startLexicalEnvironment:i,resumeLexicalEnvironment:o,endLexicalEnvironment:s,hoistVariableDeclaration:l}=e,f=e.getCompilerOptions(),d=e.getEmitResolver(),g=e.onSubstituteNode,m=e.onEmitNode;e.onEmitNode=Gu,e.onSubstituteNode=Ws;let v,S,x,A;function w(ee){A=Sn(A,t.createVariableDeclaration(ee))}let C,P;return y_(e,F);function F(ee){if(ee.isDeclarationFile)return ee;v=ee,S=ee.text;let Ze=re(ee);return Bg(Ze,e.readEmitHelpers()),v=void 0,S=void 0,A=void 0,x=0,Ze}function B(ee,Ze){let At=x;return x=(x&~ee|Ze)&32767,At}function q(ee,Ze,At){x=(x&~Ze|At)&-32768|ee}function W(ee){return(x&8192)!==0&&ee.kind===250&&!ee.expression}function Y(ee){return ee.transformFlags&4194304&&(j_(ee)||MT(ee)||Uue(ee)||pO(ee)||hO(ee)||CL(ee)||yO(ee)||mO(ee)||E2(ee)||J0(ee)||Wy(ee,!1)||Va(ee))}function R(ee){return(ee.transformFlags&1024)!==0||C!==void 0||x&8192&&Y(ee)||Wy(ee,!1)&&jr(ee)||(o_(ee)&1)!==0}function ie(ee){return R(ee)?U(ee,!1):ee}function $(ee){return R(ee)?U(ee,!0):ee}function fe(ee){if(R(ee)){let Ze=ec(ee);if(Na(Ze)&&zc(Ze)){let At=B(32670,16449),xt=U(ee,!1);return q(At,98304,0),xt}return U(ee,!1)}return ee}function Z(ee){return ee.kind===106?Hs(!0):ie(ee)}function U(ee,Ze){switch(ee.kind){case 124:return;case 260:return Ce(ee);case 228:return Ie(ee);case 166:return tn(ee);case 259:return Ht(ee);case 216:return ri(ee);case 215:return vn(ee);case 257:return je(ee);case 79:return ke(ee);case 258:return Q(ee);case 252:return le(ee);case 266:return _e(ee);case 238:return Cr(ee,!1);case 249:case 248:return Pe(ee);case 253:return Kt(ee);case 243:case 244:return ae(ee,void 0);case 245:return rt(ee,void 0);case 246:return Ke(ee,void 0);case 247:return oe(ee,void 0);case 241:return Se(ee);case 207:return yt(ee);case 295:return Pc(ee);case 300:return Rs(ee);case 164:return As(ee);case 206:return yc(ee);case 210:return Ql(ee);case 211:return wt(ee);case 214:return at(ee,Ze);case 223:return Tt(ee,Ze);case 357:return ve(ee,Ze);case 14:case 15:case 16:case 17:return ta(ee);case 10:return Go(ee);case 8:return Ka(ee);case 212:return vo(ee);case 225:return ka(ee);case 226:return jt(ee);case 227:return yr(ee);case 106:return Hs(!1);case 108:return Ve(ee);case 233:return Uc(ee);case 171:return ss(ee);case 174:case 175:return qs(ee);case 240:return ce(ee);case 250:return X(ee);case 219:return we(ee);default:return xn(ee,ie,e)}}function re(ee){let Ze=B(8064,64),At=[],xt=[];i();let qt=t.copyPrologue(ee.statements,At,!1,ie);return si(xt,On(ee.statements,ie,ca,qt)),A&&xt.push(t.createVariableStatement(void 0,t.createVariableDeclarationList(A))),t.mergeLexicalEnvironment(At,s()),Pi(At,ee),q(Ze,0,0),t.updateSourceFile(ee,it(t.createNodeArray(Qi(At,xt)),ee.statements))}function le(ee){if(C!==void 0){let Ze=C.allowedNonLabeledJumps;C.allowedNonLabeledJumps|=2;let At=xn(ee,ie,e);return C.allowedNonLabeledJumps=Ze,At}return xn(ee,ie,e)}function _e(ee){let Ze=B(7104,0),At=xn(ee,ie,e);return q(Ze,0,0),At}function ge(ee){return Ir(t.createReturnStatement(t.createUniqueName("_this",48)),ee)}function X(ee){return C?(C.nonLocalJumps|=8,W(ee)&&(ee=ge(ee)),t.createReturnStatement(t.createObjectLiteralExpression([t.createPropertyAssignment(t.createIdentifier("value"),ee.expression?L.checkDefined($e(ee.expression,ie,ot)):t.createVoidZero())]))):W(ee)?ge(ee):xn(ee,ie,e)}function Ve(ee){return x&2&&!(x&16384)&&(x|=65536),C?x&2?(C.containsLexicalThis=!0,ee):C.thisName||(C.thisName=t.createUniqueName("this")):ee}function we(ee){return xn(ee,$,e)}function ke(ee){return C&&d.isArgumentsLocalBinding(ee)?C.argumentsName||(C.argumentsName=t.createUniqueName("arguments")):ee.flags&128?Ir(it(t.createIdentifier(Gi(ee.escapedText)),ee),ee):ee}function Pe(ee){if(C){let Ze=ee.kind===249?2:4;if(!(ee.label&&C.labels&&C.labels.get(vr(ee.label))||!ee.label&&C.allowedNonLabeledJumps&Ze)){let xt,qt=ee.label;qt?ee.kind===249?(xt=`break-${qt.escapedText}`,hc(C,!0,vr(qt),xt)):(xt=`continue-${qt.escapedText}`,hc(C,!1,vr(qt),xt)):ee.kind===249?(C.nonLocalJumps|=2,xt="break"):(C.nonLocalJumps|=4,xt="continue");let Ln=t.createStringLiteral(xt);if(C.loopOutParameters.length){let mr=C.loopOutParameters,Vr;for(let gi=0;gi<mr.length;gi++){let Ea=kc(mr[gi],1);gi===0?Vr=Ea:Vr=t.createBinaryExpression(Vr,27,Ea)}Ln=t.createBinaryExpression(Vr,27,Ln)}return t.createReturnStatement(Ln)}}return xn(ee,ie,e)}function Ce(ee){let Ze=t.createVariableDeclaration(t.getLocalName(ee,!0),void 0,void 0,Be(ee));Ir(Ze,ee);let At=[],xt=t.createVariableStatement(void 0,t.createVariableDeclarationList([Ze]));if(Ir(xt,ee),it(xt,ee),mu(xt),At.push(xt),Mr(ee,1)){let Ln=Mr(ee,1024)?t.createExportDefault(t.getLocalName(ee)):t.createExternalModuleExport(t.getLocalName(ee));Ir(Ln,xt),At.push(Ln)}let qt=Ya(ee);return qt&8388608||(At.push(t.createEndOfDeclarationMarker(ee)),Jn(xt,qt|8388608)),zp(At)}function Ie(ee){return Be(ee)}function Be(ee){ee.name&&$o();let Ze=P0(ee),At=t.createFunctionExpression(void 0,void 0,void 0,void 0,Ze?[t.createParameterDeclaration(void 0,void 0,t.createUniqueName("_super",48))]:[],void 0,Ne(ee,Ze));Jn(At,Ya(ee)&131072|1048576);let xt=t.createPartiallyEmittedExpression(At);r2(xt,ee.end),Jn(xt,3072);let qt=t.createPartiallyEmittedExpression(xt);r2(qt,xo(S,ee.pos)),Jn(qt,3072);let Ln=t.createParenthesizedExpression(t.createCallExpression(qt,void 0,Ze?[L.checkDefined($e(Ze.expression,ie,ot))]:[]));return nO(Ln,3,"* @class "),Ln}function Ne(ee,Ze){let At=[],xt=t.getInternalName(ee),qt=q6(xt)?t.getGeneratedNameForNode(xt):xt;i(),Le(At,ee,Ze),Ye(At,ee,qt,Ze),Dt(At,ee);let Ln=_W(xo(S,ee.members.end),19),mr=t.createPartiallyEmittedExpression(qt);r2(mr,Ln.end),Jn(mr,3072);let Vr=t.createReturnStatement(mr);aL(Vr,Ln.pos),Jn(Vr,3840),At.push(Vr),em(At,s());let gi=t.createBlock(it(t.createNodeArray(At),ee.members),!0);return Jn(gi,3072),gi}function Le(ee,Ze,At){At&&ee.push(it(t.createExpressionStatement(r().createExtendsHelper(t.getInternalName(Ze))),At))}function Ye(ee,Ze,At,xt){let qt=C;C=void 0;let Ln=B(32662,73),mr=Vm(Ze),Vr=io(mr,xt!==void 0),gi=t.createFunctionDeclaration(void 0,void 0,At,void 0,_t(mr,Vr),void 0,Rt(mr,Ze,xt,Vr));it(gi,mr||Ze),xt&&Jn(gi,16),ee.push(gi),q(Ln,98304,0),C=qt}function _t(ee,Ze){return Sc(ee&&!Ze?ee.parameters:void 0,ie,e)||[]}function ct(ee,Ze){let At=[];o(),t.mergeLexicalEnvironment(At,s()),Ze&&At.push(t.createReturnStatement(Qt()));let xt=t.createNodeArray(At);it(xt,ee.members);let qt=t.createBlock(xt,!0);return it(qt,ee),Jn(qt,3072),qt}function Rt(ee,Ze,At,xt){let qt=!!At&&ql(At.expression).kind!==104;if(!ee)return ct(Ze,qt);let Ln=[],mr=[];o();let Vr=v8(ee.body.statements,B_),{superCall:gi,superStatementIndex:Ea}=We(ee.body.statements,Vr),bo=Ea===-1?Vr.length:Ea+1,Qo=bo;xt||(Qo=t.copyStandardPrologue(ee.body.statements,Ln,Qo,!1)),xt||(Qo=t.copyCustomPrologue(ee.body.statements,mr,Qo,ie,void 0));let Cs;if(xt?Cs=Qt():gi&&(Cs=se(gi)),Cs&&(x|=8192),_n(Ln,ee),Ni(Ln,ee,xt),si(mr,On(ee.body.statements,ie,ca,Qo)),t.mergeLexicalEnvironment(Ln,s()),nn(Ln,ee,!1),qt||Cs)if(Cs&&bo===ee.body.statements.length&&!(ee.body.transformFlags&16384)){let Pd=Ga(Ga(Cs,ar).left,Pa),Dc=t.createReturnStatement(Cs);hl(Dc,sm(Pd)),Jn(Pd,3072),mr.push(Dc)}else Ea<=Vr.length?pt(mr,ee,Cs||zt()):(pt(Ln,ee,zt()),Cs&&gr(mr,Cs)),qe(ee.body)||mr.push(t.createReturnStatement(t.createUniqueName("_this",48)));else Pi(Ln,ee);let Bu=t.createBlock(it(t.createNodeArray([...Vr,...Ln,...Ea<=Vr.length?Je:On(ee.body.statements,ie,ca,Vr.length,Ea-Vr.length),...mr]),ee.body.statements),!0);return it(Bu,ee.body),Bu}function We(ee,Ze){for(let At=Ze.length;At<ee.length;At+=1){let xt=AK(ee[At]);if(xt)return{superCall:xt,superStatementIndex:At}}return{superStatementIndex:-1}}function qe(ee){if(ee.kind===250)return!0;if(ee.kind===242){let Ze=ee;if(Ze.elseStatement)return qe(Ze.thenStatement)&&qe(Ze.elseStatement)}else if(ee.kind===238){let Ze=Os(ee.statements);if(Ze&&qe(Ze))return!0}return!1}function zt(){return Jn(t.createThis(),8)}function Qt(){return t.createLogicalOr(t.createLogicalAnd(t.createStrictInequality(t.createUniqueName("_super",48),t.createNull()),t.createFunctionApplyCall(t.createUniqueName("_super",48),zt(),t.createIdentifier("arguments"))),zt())}function tn(ee){if(!ee.dotDotDotToken)return La(ee.name)?Ir(it(t.createParameterDeclaration(void 0,void 0,t.getGeneratedNameForNode(ee),void 0,void 0,void 0),ee),ee):ee.initializer?Ir(it(t.createParameterDeclaration(void 0,void 0,ee.name,void 0,void 0,void 0),ee),ee):ee}function kn(ee){return ee.initializer!==void 0||La(ee.name)}function _n(ee,Ze){if(!vt(Ze.parameters,kn))return!1;let At=!1;for(let xt of Ze.parameters){let{name:qt,initializer:Ln,dotDotDotToken:mr}=xt;mr||(La(qt)?At=Gt(ee,xt,qt,Ln)||At:Ln&&($n(ee,xt,qt,Ln),At=!0))}return At}function Gt(ee,Ze,At,xt){return At.elements.length>0?(L0(ee,Jn(t.createVariableStatement(void 0,t.createVariableDeclarationList(eE(Ze,ie,e,0,t.getGeneratedNameForNode(Ze)))),2097152)),!0):xt?(L0(ee,Jn(t.createExpressionStatement(t.createAssignment(t.getGeneratedNameForNode(Ze),L.checkDefined($e(xt,ie,ot)))),2097152)),!0):!1}function $n(ee,Ze,At,xt){xt=L.checkDefined($e(xt,ie,ot));let qt=t.createIfStatement(t.createTypeCheck(t.cloneNode(At),"undefined"),Jn(it(t.createBlock([t.createExpressionStatement(Jn(it(t.createAssignment(Jn(go(it(t.cloneNode(At),At),At.parent),96),Jn(xt,96|Ya(xt)|3072)),Ze),3072))]),Ze),3905));mu(qt),it(qt,Ze),Jn(qt,2101056),L0(ee,qt)}function ui(ee,Ze){return!!(ee&&ee.dotDotDotToken&&!Ze)}function Ni(ee,Ze,At){let xt=[],qt=Os(Ze.parameters);if(!ui(qt,At))return!1;let Ln=qt.name.kind===79?go(it(t.cloneNode(qt.name),qt.name),qt.name.parent):t.createTempVariable(void 0);Jn(Ln,96);let mr=qt.name.kind===79?t.cloneNode(qt.name):Ln,Vr=Ze.parameters.length-1,gi=t.createLoopVariable();xt.push(Jn(it(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(Ln,void 0,void 0,t.createArrayLiteralExpression([]))])),qt),2097152));let Ea=t.createForStatement(it(t.createVariableDeclarationList([t.createVariableDeclaration(gi,void 0,void 0,t.createNumericLiteral(Vr))]),qt),it(t.createLessThan(gi,t.createPropertyAccessExpression(t.createIdentifier("arguments"),"length")),qt),it(t.createPostfixIncrement(gi),qt),t.createBlock([mu(it(t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(mr,Vr===0?gi:t.createSubtract(gi,t.createNumericLiteral(Vr))),t.createElementAccessExpression(t.createIdentifier("arguments"),gi))),qt))]));return Jn(Ea,2097152),mu(Ea),xt.push(Ea),qt.name.kind!==79&&xt.push(Jn(it(t.createVariableStatement(void 0,t.createVariableDeclarationList(eE(qt,ie,e,0,mr))),qt),2097152)),rH(ee,xt),!0}function Pi(ee,Ze){return x&65536&&Ze.kind!==216?(pt(ee,Ze,t.createThis()),!0):!1}function gr(ee,Ze){jo();let At=t.createExpressionStatement(t.createBinaryExpression(t.createThis(),63,Ze));L0(ee,At),hl(At,ec(Ze).parent)}function pt(ee,Ze,At){jo();let xt=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_this",48),void 0,void 0,At)]));Jn(xt,2100224),Ho(xt,Ze),L0(ee,xt)}function nn(ee,Ze,At){if(x&32768){let xt;switch(Ze.kind){case 216:return ee;case 171:case 174:case 175:xt=t.createVoidZero();break;case 173:xt=t.createPropertyAccessExpression(Jn(t.createThis(),8),"constructor");break;case 259:case 215:xt=t.createConditionalExpression(t.createLogicalAnd(Jn(t.createThis(),8),t.createBinaryExpression(Jn(t.createThis(),8),102,t.getLocalName(Ze))),void 0,t.createPropertyAccessExpression(Jn(t.createThis(),8),"constructor"),void 0,t.createVoidZero());break;default:return L.failBadSyntaxKind(Ze)}let qt=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_newTarget",48),void 0,void 0,xt)]));Jn(qt,2100224),At&&(ee=ee.slice()),L0(ee,qt)}return ee}function Dt(ee,Ze){for(let At of Ze.members)switch(At.kind){case 237:ee.push(pn(At));break;case 171:ee.push(An(Ri(Ze,At),At,Ze));break;case 174:case 175:let xt=kT(Ze.members,At);At===xt.firstAccessor&&ee.push(Kn(Ri(Ze,At),xt,Ze));break;case 173:case 172:break;default:L.failBadSyntaxKind(At,v&&v.fileName);break}}function pn(ee){return it(t.createEmptyStatement(),ee)}function An(ee,Ze,At){let xt=sm(Ze),qt=pb(Ze),Ln=En(Ze,Ze,void 0,At),mr=$e(Ze.name,ie,Ys);L.assert(mr);let Vr;if(!pi(mr)&&MR(e.getCompilerOptions())){let Ea=ts(mr)?mr.expression:Re(mr)?t.createStringLiteral(Gi(mr.escapedText)):mr;Vr=t.createObjectDefinePropertyCall(ee,Ea,t.createPropertyDescriptor({value:Ln,enumerable:!1,writable:!0,configurable:!0}))}else{let Ea=VT(t,ee,mr,Ze.name);Vr=t.createAssignment(Ea,Ln)}Jn(Ln,3072),Ho(Ln,qt);let gi=it(t.createExpressionStatement(Vr),Ze);return Ir(gi,Ze),hl(gi,xt),Jn(gi,96),gi}function Kn(ee,Ze,At){let xt=t.createExpressionStatement(hi(ee,Ze,At,!1));return Jn(xt,3072),Ho(xt,pb(Ze.firstAccessor)),xt}function hi(ee,{firstAccessor:Ze,getAccessor:At,setAccessor:xt},qt,Ln){let mr=go(it(t.cloneNode(ee),ee),ee.parent);Jn(mr,3136),Ho(mr,Ze.name);let Vr=$e(Ze.name,ie,Ys);if(L.assert(Vr),pi(Vr))return L.failBadSyntaxKind(Vr,"Encountered unhandled private identifier while transforming ES2015.");let gi=Zz(t,Vr);Jn(gi,3104),Ho(gi,Ze.name);let Ea=[];if(At){let Qo=En(At,void 0,void 0,qt);Ho(Qo,pb(At)),Jn(Qo,1024);let Cs=t.createPropertyAssignment("get",Qo);hl(Cs,sm(At)),Ea.push(Cs)}if(xt){let Qo=En(xt,void 0,void 0,qt);Ho(Qo,pb(xt)),Jn(Qo,1024);let Cs=t.createPropertyAssignment("set",Qo);hl(Cs,sm(xt)),Ea.push(Cs)}Ea.push(t.createPropertyAssignment("enumerable",At||xt?t.createFalse():t.createTrue()),t.createPropertyAssignment("configurable",t.createTrue()));let bo=t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"defineProperty"),void 0,[mr,gi,t.createObjectLiteralExpression(Ea,!0)]);return Ln&&mu(bo),bo}function ri(ee){ee.transformFlags&16384&&!(x&16384)&&(x|=65536);let Ze=C;C=void 0;let At=B(15232,66),xt=t.createFunctionExpression(void 0,void 0,void 0,void 0,Sc(ee.parameters,ie,e),void 0,dr(ee));return it(xt,ee),Ir(xt,ee),Jn(xt,16),q(At,0,0),C=Ze,xt}function vn(ee){let Ze=Ya(ee)&524288?B(32662,69):B(32670,65),At=C;C=void 0;let xt=Sc(ee.parameters,ie,e),qt=dr(ee),Ln=x&32768?t.getLocalName(ee):ee.name;return q(Ze,98304,0),C=At,t.updateFunctionExpression(ee,void 0,ee.asteriskToken,Ln,void 0,xt,void 0,qt)}function Ht(ee){let Ze=C;C=void 0;let At=B(32670,65),xt=Sc(ee.parameters,ie,e),qt=dr(ee),Ln=x&32768?t.getLocalName(ee):ee.name;return q(At,98304,0),C=Ze,t.updateFunctionDeclaration(ee,On(ee.modifiers,ie,Ha),ee.asteriskToken,Ln,void 0,xt,void 0,qt)}function En(ee,Ze,At,xt){let qt=C;C=void 0;let Ln=xt&&Yr(xt)&&!Ca(ee)?B(32670,73):B(32670,65),mr=Sc(ee.parameters,ie,e),Vr=dr(ee);return x&32768&&!At&&(ee.kind===259||ee.kind===215)&&(At=t.getGeneratedNameForNode(ee)),q(Ln,98304,0),C=qt,Ir(it(t.createFunctionExpression(void 0,ee.asteriskToken,At,void 0,mr,void 0,Vr),Ze),ee)}function dr(ee){let Ze=!1,At=!1,xt,qt,Ln=[],mr=[],Vr=ee.body,gi;if(o(),Va(Vr)&&(gi=t.copyStandardPrologue(Vr.statements,Ln,0,!1),gi=t.copyCustomPrologue(Vr.statements,mr,gi,ie,C6),gi=t.copyCustomPrologue(Vr.statements,mr,gi,ie,I6)),Ze=_n(mr,ee)||Ze,Ze=Ni(mr,ee,!1)||Ze,Va(Vr))gi=t.copyCustomPrologue(Vr.statements,mr,gi,ie),xt=Vr.statements,si(mr,On(Vr.statements,ie,ca,gi)),!Ze&&Vr.multiLine&&(Ze=!0);else{L.assert(ee.kind===216),xt=i4(Vr,-1);let bo=ee.equalsGreaterThanToken;!ws(bo)&&!ws(Vr)&&(DR(bo,Vr,v)?At=!0:Ze=!0);let Qo=$e(Vr,ie,ot),Cs=t.createReturnStatement(Qo);it(Cs,Vr),pue(Cs,Vr),Jn(Cs,2880),mr.push(Cs),qt=Vr}if(t.mergeLexicalEnvironment(Ln,s()),nn(Ln,ee,!1),Pi(Ln,ee),vt(Ln)&&(Ze=!0),mr.unshift(...Ln),Va(Vr)&&up(mr,Vr.statements))return Vr;let Ea=t.createBlock(it(t.createNodeArray(mr),xt),Ze);return it(Ea,ee.body),!Ze&&At&&Jn(Ea,1),qt&&_ue(Ea,19,qt),Ir(Ea,ee.body),Ea}function Cr(ee,Ze){if(Ze)return xn(ee,ie,e);let At=x&256?B(7104,512):B(6976,128),xt=xn(ee,ie,e);return q(At,0,0),xt}function Se(ee){return xn(ee,$,e)}function at(ee,Ze){return xn(ee,Ze?$:ie,e)}function Tt(ee,Ze){return Fg(ee)?KT(ee,ie,e,0,!Ze):ee.operatorToken.kind===27?t.updateBinaryExpression(ee,L.checkDefined($e(ee.left,$,ot)),ee.operatorToken,L.checkDefined($e(ee.right,Ze?$:ie,ot))):xn(ee,ie,e)}function ve(ee,Ze){if(Ze)return xn(ee,$,e);let At;for(let qt=0;qt<ee.elements.length;qt++){let Ln=ee.elements[qt],mr=$e(Ln,qt<ee.elements.length-1?$:ie,ot);(At||mr!==Ln)&&(At||(At=ee.elements.slice(0,qt)),L.assert(mr),At.push(mr))}let xt=At?it(t.createNodeArray(At),ee.elements):ee.elements;return t.updateCommaListExpression(ee,xt)}function nt(ee){return ee.declarationList.declarations.length===1&&!!ee.declarationList.declarations[0].initializer&&!!(o_(ee.declarationList.declarations[0].initializer)&1)}function ce(ee){let Ze=B(0,Mr(ee,1)?32:0),At;if(C&&!(ee.declarationList.flags&3)&&!nt(ee)){let xt;for(let qt of ee.declarationList.declarations)if(Kr(C,qt),qt.initializer){let Ln;La(qt.name)?Ln=KT(qt,ie,e,0):(Ln=t.createBinaryExpression(qt.name,63,L.checkDefined($e(qt.initializer,ie,ot))),it(Ln,qt)),xt=Sn(xt,Ln)}xt?At=it(t.createExpressionStatement(t.inlineExpressions(xt)),ee):At=void 0}else At=xn(ee,ie,e);return q(Ze,0,0),At}function Q(ee){if(ee.flags&3||ee.transformFlags&524288){ee.flags&3&&$o();let Ze=On(ee.declarations,ee.flags&1?Oe:je,wi),At=t.createVariableDeclarationList(Ze);return Ir(At,ee),it(At,ee),hl(At,ee),ee.transformFlags&524288&&(La(ee.declarations[0].name)||La(To(ee.declarations).name))&&Ho(At,ue(Ze)),At}return xn(ee,ie,e)}function ue(ee){let Ze=-1,At=-1;for(let xt of ee)Ze=Ze===-1?xt.pos:xt.pos===-1?Ze:Math.min(Ze,xt.pos),At=Math.max(At,xt.end);return Gf(Ze,At)}function G(ee){let Ze=d.getNodeCheckFlags(ee),At=Ze&16384,xt=Ze&32768;return!((x&64)!==0||At&&xt&&(x&512)!==0)&&(x&4096)===0&&(!d.isDeclarationWithCollidingName(ee)||xt&&!At&&(x&6144)===0)}function Oe(ee){let Ze=ee.name;return La(Ze)?je(ee):!ee.initializer&&G(ee)?t.updateVariableDeclaration(ee,ee.name,void 0,void 0,t.createVoidZero()):xn(ee,ie,e)}function je(ee){let Ze=B(32,0),At;return La(ee.name)?At=eE(ee,ie,e,0,void 0,(Ze&32)!==0):At=xn(ee,ie,e),q(Ze,0,0),At}function Ge(ee){C.labels.set(vr(ee.label),!0)}function kt(ee){C.labels.set(vr(ee.label),!1)}function Kt(ee){C&&!C.labels&&(C.labels=new Map);let Ze=xH(ee,C&&Ge);return Wy(Ze,!1)?ln(Ze,ee):t.restoreEnclosingLabel(L.checkDefined($e(Ze,ie,ca,t.liftToBlock)),ee,C&&kt)}function ln(ee,Ze){switch(ee.kind){case 243:case 244:return ae(ee,Ze);case 245:return rt(ee,Ze);case 246:return Ke(ee,Ze);case 247:return oe(ee,Ze)}}function ir(ee,Ze,At,xt,qt){let Ln=B(ee,Ze),mr=Si(At,xt,Ln,qt);return q(Ln,0,0),mr}function ae(ee,Ze){return ir(0,1280,ee,Ze)}function rt(ee,Ze){return ir(5056,3328,ee,Ze)}function Ot(ee){return t.updateForStatement(ee,$e(ee.initializer,$,pp),$e(ee.condition,ie,ot),$e(ee.incrementor,$,ot),L.checkDefined($e(ee.statement,ie,ca,t.liftToBlock)))}function Ke(ee,Ze){return ir(3008,5376,ee,Ze)}function oe(ee,Ze){return ir(3008,5376,ee,Ze,f.downlevelIteration?j:Te)}function pe(ee,Ze,At){let xt=[],qt=ee.initializer;if(pu(qt)){ee.initializer.flags&3&&$o();let Ln=Sl(qt.declarations);if(Ln&&La(Ln.name)){let mr=eE(Ln,ie,e,0,Ze),Vr=it(t.createVariableDeclarationList(mr),ee.initializer);Ir(Vr,ee.initializer),Ho(Vr,Gf(mr[0].pos,To(mr).end)),xt.push(t.createVariableStatement(void 0,Vr))}else xt.push(it(t.createVariableStatement(void 0,Ir(it(t.createVariableDeclarationList([t.createVariableDeclaration(Ln?Ln.name:t.createTempVariable(void 0),void 0,void 0,Ze)]),fb(qt,-1)),qt)),i4(qt,-1)))}else{let Ln=t.createAssignment(qt,Ze);Fg(Ln)?xt.push(t.createExpressionStatement(Tt(Ln,!0))):(r2(Ln,qt.end),xt.push(it(t.createExpressionStatement(L.checkDefined($e(Ln,ie,ot))),i4(qt,-1))))}if(At)return z(si(xt,At));{let Ln=$e(ee.statement,ie,ca,t.liftToBlock);return L.assert(Ln),Va(Ln)?t.updateBlock(Ln,it(t.createNodeArray(Qi(xt,Ln.statements)),Ln.statements)):(xt.push(Ln),z(xt))}}function z(ee){return Jn(t.createBlock(t.createNodeArray(ee),!0),864)}function Te(ee,Ze,At){let xt=$e(ee.expression,ie,ot);L.assert(xt);let qt=t.createLoopVariable(),Ln=Re(xt)?t.getGeneratedNameForNode(xt):t.createTempVariable(void 0);Jn(xt,96|Ya(xt));let mr=it(t.createForStatement(Jn(it(t.createVariableDeclarationList([it(t.createVariableDeclaration(qt,void 0,void 0,t.createNumericLiteral(0)),fb(ee.expression,-1)),it(t.createVariableDeclaration(Ln,void 0,void 0,xt),ee.expression)]),ee.expression),4194304),it(t.createLessThan(qt,t.createPropertyAccessExpression(Ln,"length")),ee.expression),it(t.createPostfixIncrement(qt),ee.expression),pe(ee,t.createElementAccessExpression(Ln,qt),At)),ee);return Jn(mr,512),it(mr,ee),t.restoreEnclosingLabel(mr,Ze,C&&kt)}function j(ee,Ze,At,xt){let qt=$e(ee.expression,ie,ot);L.assert(qt);let Ln=Re(qt)?t.getGeneratedNameForNode(qt):t.createTempVariable(void 0),mr=Re(qt)?t.getGeneratedNameForNode(Ln):t.createTempVariable(void 0),Vr=t.createUniqueName("e"),gi=t.getGeneratedNameForNode(Vr),Ea=t.createTempVariable(void 0),bo=it(r().createValuesHelper(qt),ee.expression),Qo=t.createCallExpression(t.createPropertyAccessExpression(Ln,"next"),void 0,[]);l(Vr),l(Ea);let Cs=xt&1024?t.inlineExpressions([t.createAssignment(Vr,t.createVoidZero()),bo]):bo,Bu=Jn(it(t.createForStatement(Jn(it(t.createVariableDeclarationList([it(t.createVariableDeclaration(Ln,void 0,void 0,Cs),ee.expression),t.createVariableDeclaration(mr,void 0,void 0,Qo)]),ee.expression),4194304),t.createLogicalNot(t.createPropertyAccessExpression(mr,"done")),t.createAssignment(mr,Qo),pe(ee,t.createPropertyAccessExpression(mr,"value"),At)),ee),512);return t.createTryStatement(t.createBlock([t.restoreEnclosingLabel(Bu,Ze,C&&kt)]),t.createCatchClause(t.createVariableDeclaration(gi),Jn(t.createBlock([t.createExpressionStatement(t.createAssignment(Vr,t.createObjectLiteralExpression([t.createPropertyAssignment("error",gi)])))]),1)),t.createBlock([t.createTryStatement(t.createBlock([Jn(t.createIfStatement(t.createLogicalAnd(t.createLogicalAnd(mr,t.createLogicalNot(t.createPropertyAccessExpression(mr,"done"))),t.createAssignment(Ea,t.createPropertyAccessExpression(Ln,"return"))),t.createExpressionStatement(t.createFunctionCallCall(Ea,Ln,[]))),1)]),void 0,Jn(t.createBlock([Jn(t.createIfStatement(Vr,t.createThrowStatement(t.createPropertyAccessExpression(Vr,"error"))),1)]),1))]))}function yt(ee){let Ze=ee.properties,At=-1,xt=!1;for(let Vr=0;Vr<Ze.length;Vr++){let gi=Ze[Vr];if(gi.transformFlags&1048576&&x&4||(xt=L.checkDefined(gi.name).kind===164)){At=Vr;break}}if(At<0)return xn(ee,ie,e);let qt=t.createTempVariable(l),Ln=[],mr=t.createAssignment(qt,Jn(t.createObjectLiteralExpression(On(Ze,ie,Og,0,At),ee.multiLine),xt?131072:0));return ee.multiLine&&mu(mr),Ln.push(mr),Co(Ln,ee,qt,At),Ln.push(ee.multiLine?mu(go(it(t.cloneNode(qt),qt),qt.parent)):qt),t.inlineExpressions(Ln)}function lt(ee){return(d.getNodeCheckFlags(ee)&8192)!==0}function Qe(ee){return FT(ee)&&!!ee.initializer&&lt(ee.initializer)}function Vt(ee){return FT(ee)&&!!ee.condition&&lt(ee.condition)}function Hn(ee){return FT(ee)&&!!ee.incrementor&&lt(ee.incrementor)}function jr(ee){return ei(ee)||Qe(ee)}function ei(ee){return(d.getNodeCheckFlags(ee)&4096)!==0}function Kr(ee,Ze){ee.hoistedLocalVariables||(ee.hoistedLocalVariables=[]),At(Ze.name);function At(xt){if(xt.kind===79)ee.hoistedLocalVariables.push(xt);else for(let qt of xt.elements)ol(qt)||At(qt.name)}}function Si(ee,Ze,At,xt){if(!jr(ee)){let bo;C&&(bo=C.allowedNonLabeledJumps,C.allowedNonLabeledJumps=6);let Qo=xt?xt(ee,Ze,void 0,At):t.restoreEnclosingLabel(FT(ee)?Ot(ee):xn(ee,ie,e),Ze,C&&kt);return C&&(C.allowedNonLabeledJumps=bo),Qo}let qt=Fo(ee),Ln=[],mr=C;C=qt;let Vr=Qe(ee)?gn(ee,qt):void 0,gi=ei(ee)?Ki(ee,qt,mr):void 0;C=mr,Vr&&Ln.push(Vr.functionDeclaration),gi&&Ln.push(gi.functionDeclaration),Qr(Ln,qt,mr),Vr&&Ln.push(mc(Vr.functionName,Vr.containsYield));let Ea;if(gi)if(xt)Ea=xt(ee,Ze,gi.part,At);else{let bo=Ja(ee,Vr,t.createBlock(gi.part,!0));Ea=t.restoreEnclosingLabel(bo,Ze,C&&kt)}else{let bo=Ja(ee,Vr,L.checkDefined($e(ee.statement,ie,ca,t.liftToBlock)));Ea=t.restoreEnclosingLabel(bo,Ze,C&&kt)}return Ln.push(Ea),Ln}function Ja(ee,Ze,At){switch(ee.kind){case 245:return Za(ee,Ze,At);case 246:return Hi(ee,At);case 247:return Fa(ee,At);case 243:return xi(ee,At);case 244:return Nr(ee,At);default:return L.failBadSyntaxKind(ee,"IterationStatement expected")}}function Za(ee,Ze,At){let xt=ee.condition&&lt(ee.condition),qt=xt||ee.incrementor&&lt(ee.incrementor);return t.updateForStatement(ee,$e(Ze?Ze.part:ee.initializer,$,pp),$e(xt?void 0:ee.condition,ie,ot),$e(qt?void 0:ee.incrementor,$,ot),At)}function Fa(ee,Ze){return t.updateForOfStatement(ee,void 0,L.checkDefined($e(ee.initializer,ie,pp)),L.checkDefined($e(ee.expression,ie,ot)),Ze)}function Hi(ee,Ze){return t.updateForInStatement(ee,L.checkDefined($e(ee.initializer,ie,pp)),L.checkDefined($e(ee.expression,ie,ot)),Ze)}function xi(ee,Ze){return t.updateDoStatement(ee,Ze,L.checkDefined($e(ee.expression,ie,ot)))}function Nr(ee,Ze){return t.updateWhileStatement(ee,L.checkDefined($e(ee.expression,ie,ot)),Ze)}function Fo(ee){let Ze;switch(ee.kind){case 245:case 246:case 247:let Ln=ee.initializer;Ln&&Ln.kind===258&&(Ze=Ln);break}let At=[],xt=[];if(Ze&&G_(Ze)&3){let Ln=Qe(ee)||Vt(ee)||Hn(ee);for(let mr of Ze.declarations)aa(ee,mr,At,xt,Ln)}let qt={loopParameters:At,loopOutParameters:xt};return C&&(C.argumentsName&&(qt.argumentsName=C.argumentsName),C.thisName&&(qt.thisName=C.thisName),C.hoistedLocalVariables&&(qt.hoistedLocalVariables=C.hoistedLocalVariables)),qt}function Qr(ee,Ze,At){let xt;if(Ze.argumentsName&&(At?At.argumentsName=Ze.argumentsName:(xt||(xt=[])).push(t.createVariableDeclaration(Ze.argumentsName,void 0,void 0,t.createIdentifier("arguments")))),Ze.thisName&&(At?At.thisName=Ze.thisName:(xt||(xt=[])).push(t.createVariableDeclaration(Ze.thisName,void 0,void 0,t.createIdentifier("this")))),Ze.hoistedLocalVariables)if(At)At.hoistedLocalVariables=Ze.hoistedLocalVariables;else{xt||(xt=[]);for(let qt of Ze.hoistedLocalVariables)xt.push(t.createVariableDeclaration(qt))}if(Ze.loopOutParameters.length){xt||(xt=[]);for(let qt of Ze.loopOutParameters)xt.push(t.createVariableDeclaration(qt.outParamName))}Ze.conditionVariable&&(xt||(xt=[]),xt.push(t.createVariableDeclaration(Ze.conditionVariable,void 0,void 0,t.createFalse()))),xt&&ee.push(t.createVariableStatement(void 0,t.createVariableDeclarationList(xt)))}function Wi(ee){return t.createVariableDeclaration(ee.originalName,void 0,void 0,ee.outParamName)}function gn(ee,Ze){let At=t.createUniqueName("_loop_init"),xt=(ee.initializer.transformFlags&1048576)!==0,qt=0;Ze.containsLexicalThis&&(qt|=16),xt&&x&4&&(qt|=524288);let Ln=[];Ln.push(t.createVariableStatement(void 0,ee.initializer)),Ps(Ze.loopOutParameters,2,1,Ln);let mr=t.createVariableStatement(void 0,Jn(t.createVariableDeclarationList([t.createVariableDeclaration(At,void 0,void 0,Jn(t.createFunctionExpression(void 0,xt?t.createToken(41):void 0,void 0,void 0,void 0,void 0,L.checkDefined($e(t.createBlock(Ln,!0),ie,Va))),qt))]),4194304)),Vr=t.createVariableDeclarationList(on(Ze.loopOutParameters,Wi));return{functionName:At,containsYield:xt,functionDeclaration:mr,part:Vr}}function Ki(ee,Ze,At){let xt=t.createUniqueName("_loop");i();let qt=$e(ee.statement,ie,ca,t.liftToBlock),Ln=s(),mr=[];(Vt(ee)||Hn(ee))&&(Ze.conditionVariable=t.createUniqueName("inc"),ee.incrementor?mr.push(t.createIfStatement(Ze.conditionVariable,t.createExpressionStatement(L.checkDefined($e(ee.incrementor,ie,ot))),t.createExpressionStatement(t.createAssignment(Ze.conditionVariable,t.createTrue())))):mr.push(t.createIfStatement(t.createLogicalNot(Ze.conditionVariable),t.createExpressionStatement(t.createAssignment(Ze.conditionVariable,t.createTrue())))),Vt(ee)&&mr.push(t.createIfStatement(t.createPrefixUnaryExpression(53,L.checkDefined($e(ee.condition,ie,ot))),L.checkDefined($e(t.createBreakStatement(),ie,ca))))),L.assert(qt),Va(qt)?si(mr,qt.statements):mr.push(qt),Ps(Ze.loopOutParameters,1,1,mr),em(mr,Ln);let Vr=t.createBlock(mr,!0);Va(qt)&&Ir(Vr,qt);let gi=(ee.statement.transformFlags&1048576)!==0,Ea=1048576;Ze.containsLexicalThis&&(Ea|=16),gi&&x&4&&(Ea|=524288);let bo=t.createVariableStatement(void 0,Jn(t.createVariableDeclarationList([t.createVariableDeclaration(xt,void 0,void 0,Jn(t.createFunctionExpression(void 0,gi?t.createToken(41):void 0,void 0,void 0,Ze.loopParameters,void 0,Vr),Ea))]),4194304)),Qo=xc(xt,Ze,At,gi);return{functionName:xt,containsYield:gi,functionDeclaration:bo,part:Qo}}function kc(ee,Ze){let At=Ze===0?ee.outParamName:ee.originalName,xt=Ze===0?ee.originalName:ee.outParamName;return t.createBinaryExpression(xt,63,At)}function Ps(ee,Ze,At,xt){for(let qt of ee)qt.flags&Ze&&xt.push(t.createExpressionStatement(kc(qt,At)))}function mc(ee,Ze){let At=t.createCallExpression(ee,void 0,[]),xt=Ze?t.createYieldExpression(t.createToken(41),Jn(At,16777216)):At;return t.createExpressionStatement(xt)}function xc(ee,Ze,At,xt){let qt=[],Ln=!(Ze.nonLocalJumps&-5)&&!Ze.labeledNonLocalBreaks&&!Ze.labeledNonLocalContinues,mr=t.createCallExpression(ee,void 0,on(Ze.loopParameters,gi=>gi.name)),Vr=xt?t.createYieldExpression(t.createToken(41),Jn(mr,16777216)):mr;if(Ln)qt.push(t.createExpressionStatement(Vr)),Ps(Ze.loopOutParameters,1,0,qt);else{let gi=t.createUniqueName("state"),Ea=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(gi,void 0,void 0,Vr)]));if(qt.push(Ea),Ps(Ze.loopOutParameters,1,0,qt),Ze.nonLocalJumps&8){let bo;At?(At.nonLocalJumps|=8,bo=t.createReturnStatement(gi)):bo=t.createReturnStatement(t.createPropertyAccessExpression(gi,"value")),qt.push(t.createIfStatement(t.createTypeCheck(gi,"object"),bo))}if(Ze.nonLocalJumps&2&&qt.push(t.createIfStatement(t.createStrictEquality(gi,t.createStringLiteral("break")),t.createBreakStatement())),Ze.labeledNonLocalBreaks||Ze.labeledNonLocalContinues){let bo=[];ro(Ze.labeledNonLocalBreaks,!0,gi,At,bo),ro(Ze.labeledNonLocalContinues,!1,gi,At,bo),qt.push(t.createSwitchStatement(gi,t.createCaseBlock(bo)))}}return qt}function hc(ee,Ze,At,xt){Ze?(ee.labeledNonLocalBreaks||(ee.labeledNonLocalBreaks=new Map),ee.labeledNonLocalBreaks.set(At,xt)):(ee.labeledNonLocalContinues||(ee.labeledNonLocalContinues=new Map),ee.labeledNonLocalContinues.set(At,xt))}function ro(ee,Ze,At,xt,qt){ee&&ee.forEach((Ln,mr)=>{let Vr=[];if(!xt||xt.labels&&xt.labels.get(mr)){let gi=t.createIdentifier(mr);Vr.push(Ze?t.createBreakStatement(gi):t.createContinueStatement(gi))}else hc(xt,Ze,mr,Ln),Vr.push(t.createReturnStatement(At));qt.push(t.createCaseClause(t.createStringLiteral(Ln),Vr))})}function aa(ee,Ze,At,xt,qt){let Ln=Ze.name;if(La(Ln))for(let mr of Ln.elements)ol(mr)||aa(ee,mr,At,xt,qt);else{At.push(t.createParameterDeclaration(void 0,void 0,Ln));let mr=d.getNodeCheckFlags(Ze);if(mr&262144||qt){let Vr=t.createUniqueName("out_"+vr(Ln)),gi=0;mr&262144&&(gi|=1),FT(ee)&&(ee.initializer&&d.isBindingCapturedByNode(ee.initializer,Ze)&&(gi|=2),(ee.condition&&d.isBindingCapturedByNode(ee.condition,Ze)||ee.incrementor&&d.isBindingCapturedByNode(ee.incrementor,Ze))&&(gi|=1)),xt.push({flags:gi,originalName:Ln,outParamName:Vr})}}}function Co(ee,Ze,At,xt){let qt=Ze.properties,Ln=qt.length;for(let mr=xt;mr<Ln;mr++){let Vr=qt[mr];switch(Vr.kind){case 174:case 175:let gi=kT(Ze.properties,Vr);Vr===gi.firstAccessor&&ee.push(hi(At,gi,Ze,!!Ze.multiLine));break;case 171:ee.push(md(Vr,At,Ze,Ze.multiLine));break;case 299:ee.push(gc(Vr,At,Ze.multiLine));break;case 300:ee.push(Ll(Vr,At,Ze.multiLine));break;default:L.failBadSyntaxKind(Ze);break}}}function gc(ee,Ze,At){let xt=t.createAssignment(VT(t,Ze,L.checkDefined($e(ee.name,ie,Ys))),L.checkDefined($e(ee.initializer,ie,ot)));return it(xt,ee),At&&mu(xt),xt}function Ll(ee,Ze,At){let xt=t.createAssignment(VT(t,Ze,L.checkDefined($e(ee.name,ie,Ys))),t.cloneNode(ee.name));return it(xt,ee),At&&mu(xt),xt}function md(ee,Ze,At,xt){let qt=t.createAssignment(VT(t,Ze,L.checkDefined($e(ee.name,ie,Ys))),En(ee,ee,void 0,At));return it(qt,ee),xt&&mu(qt),qt}function Pc(ee){let Ze=B(7104,0),At;if(L.assert(!!ee.variableDeclaration,"Catch clause variable should always be present when downleveling ES2015."),La(ee.variableDeclaration.name)){let xt=t.createTempVariable(void 0),qt=t.createVariableDeclaration(xt);it(qt,ee.variableDeclaration);let Ln=eE(ee.variableDeclaration,ie,e,0,xt),mr=t.createVariableDeclarationList(Ln);it(mr,ee.variableDeclaration);let Vr=t.createVariableStatement(void 0,mr);At=t.updateCatchClause(ee,qt,bl(ee.block,Vr))}else At=xn(ee,ie,e);return q(Ze,0,0),At}function bl(ee,Ze){let At=On(ee.statements,ie,ca);return t.updateBlock(ee,[Ze,...At])}function ss(ee){L.assert(!ts(ee.name));let Ze=En(ee,fb(ee,-1),void 0,void 0);return Jn(Ze,1024|Ya(Ze)),it(t.createPropertyAssignment(ee.name,Ze),ee)}function qs(ee){L.assert(!ts(ee.name));let Ze=C;C=void 0;let At=B(32670,65),xt,qt=Sc(ee.parameters,ie,e),Ln=dr(ee);return ee.kind===174?xt=t.updateGetAccessorDeclaration(ee,ee.modifiers,ee.name,qt,ee.type,Ln):xt=t.updateSetAccessorDeclaration(ee,ee.modifiers,ee.name,qt,Ln),q(At,98304,0),C=Ze,xt}function Rs(ee){return it(t.createPropertyAssignment(ee.name,ke(t.cloneNode(ee.name))),ee)}function As(ee){return xn(ee,ie,e)}function jt(ee){return xn(ee,ie,e)}function yc(ee){return vt(ee.elements,Km)?K(ee.elements,!1,!!ee.multiLine,!!ee.elements.hasTrailingComma):xn(ee,ie,e)}function Ql(ee){if(o_(ee)&1)return yu(ee);let Ze=ql(ee.expression);return Ze.kind===106||Pu(Ze)||vt(ee.arguments,Km)?ht(ee,!0):t.updateCallExpression(ee,L.checkDefined($e(ee.expression,Z,ot)),void 0,On(ee.arguments,ie,ot))}function yu(ee){let Ze=Ga(Ga(ql(ee.expression),xs).body,Va),At=Md=>Bc(Md)&&!!Vo(Md.declarationList.declarations).initializer,xt=C;C=void 0;let qt=On(Ze.statements,fe,ca);C=xt;let Ln=Pr(qt,At),mr=Pr(qt,Md=>!At(Md)),gi=Ga(Vo(Ln),Bc).declarationList.declarations[0],Ea=ql(gi.initializer),bo=zr(Ea,Iu);!bo&&ar(Ea)&&Ea.operatorToken.kind===27&&(bo=zr(Ea.left,Iu));let Qo=Ga(bo?ql(bo.right):Ea,Pa),Cs=Ga(ql(Qo.expression),ms),Bu=Cs.body.statements,Pd=0,Dc=-1,gd=[];if(bo){let Md=zr(Bu[Pd],Ol);Md&&(gd.push(Md),Pd++),gd.push(Bu[Pd]),Pd++,gd.push(t.createExpressionStatement(t.createAssignment(bo.left,Ga(gi.name,Re))))}for(;!j_(Ig(Bu,Dc));)Dc--;si(gd,Bu,Pd,Dc),Dc<-1&&si(gd,Bu,Dc+1);let Zl=zr(Ig(Bu,Dc),j_);for(let Md of mr)j_(Md)&&Zl?.expression&&!Re(Zl.expression)?gd.push(Zl):gd.push(Md);return si(gd,Ln,1),t.restoreOuterExpressions(ee.expression,t.restoreOuterExpressions(gi.initializer,t.restoreOuterExpressions(bo&&bo.right,t.updateCallExpression(Qo,t.restoreOuterExpressions(Qo.expression,t.updateFunctionExpression(Cs,void 0,void 0,void 0,void 0,Cs.parameters,void 0,t.updateBlock(Cs.body,gd))),void 0,Qo.arguments))))}function se(ee){return ht(ee,!1)}function ht(ee,Ze){if(ee.transformFlags&32768||ee.expression.kind===106||Pu(ql(ee.expression))){let{target:At,thisArg:xt}=t.createCallBinding(ee.expression,l);ee.expression.kind===106&&Jn(xt,8);let qt;if(ee.transformFlags&32768?qt=t.createFunctionApplyCall(L.checkDefined($e(At,Z,ot)),ee.expression.kind===106?xt:L.checkDefined($e(xt,ie,ot)),K(ee.arguments,!0,!1,!1)):qt=it(t.createFunctionCallCall(L.checkDefined($e(At,Z,ot)),ee.expression.kind===106?xt:L.checkDefined($e(xt,ie,ot)),On(ee.arguments,ie,ot)),ee),ee.expression.kind===106){let Ln=t.createLogicalOr(qt,zt());qt=Ze?t.createAssignment(t.createUniqueName("_this",48),Ln):Ln}return Ir(qt,ee)}return xn(ee,ie,e)}function wt(ee){if(vt(ee.arguments,Km)){let{target:Ze,thisArg:At}=t.createCallBinding(t.createPropertyAccessExpression(ee.expression,"bind"),l);return t.createNewExpression(t.createFunctionApplyCall(L.checkDefined($e(Ze,ie,ot)),At,K(t.createNodeArray([t.createVoidZero(),...ee.arguments]),!0,!1,!1)),void 0,[])}return xn(ee,ie,e)}function K(ee,Ze,At,xt){let qt=ee.length,Ln=t_(c8(ee,Xe,(Ea,bo,Qo,Cs)=>bo(Ea,At,xt&&Cs===qt)));if(Ln.length===1){let Ea=Ln[0];if(Ze&&!f.downlevelIteration||UW(Ea.expression)||pL(Ea.expression,"___spreadArray"))return Ea.expression}let mr=r(),Vr=Ln[0].kind!==0,gi=Vr?t.createArrayLiteralExpression():Ln[0].expression;for(let Ea=Vr?0:1;Ea<Ln.length;Ea++){let bo=Ln[Ea];gi=mr.createSpreadArrayHelper(gi,bo.expression,bo.kind===1&&!Ze)}return gi}function Xe(ee){return Km(ee)?ft:pr}function ft(ee){return on(ee,Yt)}function Yt(ee){L.assertNode(ee,Km);let Ze=$e(ee.expression,ie,ot);L.assert(Ze);let At=pL(Ze,"___read"),xt=At||UW(Ze)?2:1;return f.downlevelIteration&&xt===1&&!fu(Ze)&&!At&&(Ze=r().createReadHelper(Ze,void 0),xt=2),ppe(xt,Ze)}function pr(ee,Ze,At){let xt=t.createArrayLiteralExpression(On(t.createNodeArray(ee,At),ie,ot),Ze);return ppe(0,xt)}function yr(ee){return $e(ee.expression,ie,ot)}function ta(ee){return it(t.createStringLiteral(ee.text),ee)}function Go(ee){return ee.hasExtendedUnicodeEscape?it(t.createStringLiteral(ee.text),ee):ee}function Ka(ee){return ee.numericLiteralFlags&384?it(t.createNumericLiteral(ee.text),ee):ee}function vo(ee){return OK(e,ee,ie,v,w,1)}function ka(ee){let Ze=t.createStringLiteral(ee.head.text);for(let At of ee.templateSpans){let xt=[L.checkDefined($e(At.expression,ie,ot))];At.literal.text.length>0&&xt.push(t.createStringLiteral(At.literal.text)),Ze=t.createCallExpression(t.createPropertyAccessExpression(Ze,"concat"),void 0,xt)}return it(Ze,ee)}function Hs(ee){return x&8&&!ee?t.createPropertyAccessExpression(t.createUniqueName("_super",48),"prototype"):t.createUniqueName("_super",48)}function Uc(ee){return ee.keywordToken===103&&ee.name.escapedText==="target"?(x|=32768,t.createUniqueName("_newTarget",48)):ee}function Gu(ee,Ze,At){if(P&1&&Ia(Ze)){let xt=B(32670,Ya(Ze)&16?81:65);m(ee,Ze,At),q(xt,0,0);return}m(ee,Ze,At)}function $o(){P&2||(P|=2,e.enableSubstitution(79))}function jo(){P&1||(P|=1,e.enableSubstitution(108),e.enableEmitNotification(173),e.enableEmitNotification(171),e.enableEmitNotification(174),e.enableEmitNotification(175),e.enableEmitNotification(216),e.enableEmitNotification(215),e.enableEmitNotification(259))}function Ws(ee,Ze){return Ze=g(ee,Ze),ee===1?nf(Ze):Re(Ze)?hd(Ze):Ze}function hd(ee){if(P&2&&!eJ(ee)){let Ze=ea(ee,Re);if(Ze&&vc(Ze))return it(t.getGeneratedNameForNode(Ze),ee)}return ee}function vc(ee){switch(ee.parent.kind){case 205:case 260:case 263:case 257:return ee.parent.name===ee&&d.isDeclarationWithCollidingName(ee.parent)}return!1}function nf(ee){switch(ee.kind){case 79:return ye(ee);case 108:return bn(ee)}return ee}function ye(ee){if(P&2&&!eJ(ee)){let Ze=d.getReferencedDeclarationWithCollidingName(ee);if(Ze&&!(Yr(Ze)&&Et(Ze,ee)))return it(t.getGeneratedNameForNode(sa(Ze)),ee)}return ee}function Et(ee,Ze){let At=ea(Ze);if(!At||At===ee||At.end<=ee.pos||At.pos>=ee.end)return!1;let xt=tm(ee);for(;At;){if(At===xt||At===ee)return!1;if(_l(At)&&At.parent===ee)return!0;At=At.parent}return!1}function bn(ee){return P&1&&x&16?it(t.createUniqueName("_this",48),ee):ee}function Ri(ee,Ze){return Ca(Ze)?t.getInternalName(ee):t.createPropertyAccessExpression(t.getInternalName(ee),"prototype")}function io(ee,Ze){if(!ee||!Ze||vt(ee.parameters))return!1;let At=Sl(ee.body.statements);if(!At||!ws(At)||At.kind!==241)return!1;let xt=At.expression;if(!ws(xt)||xt.kind!==210)return!1;let qt=xt.expression;if(!ws(qt)||qt.kind!==106)return!1;let Ln=Wp(xt.arguments);if(!Ln||!ws(Ln)||Ln.kind!==227)return!1;let mr=Ln.expression;return Re(mr)&&mr.escapedText==="arguments"}}var yMe=gt({"src/compiler/transformers/es2015.ts"(){"use strict";fa()}});function hpe(e){let{factory:t}=e,r=e.getCompilerOptions(),i,o;(r.jsx===1||r.jsx===3)&&(i=e.onEmitNode,e.onEmitNode=f,e.enableEmitNotification(283),e.enableEmitNotification(284),e.enableEmitNotification(282),o=[]);let s=e.onSubstituteNode;return e.onSubstituteNode=d,e.enableSubstitution(208),e.enableSubstitution(299),y_(e,l);function l(S){return S}function f(S,x,A){switch(x.kind){case 283:case 284:case 282:let w=x.tagName;o[sc(w)]=!0;break}i(S,x,A)}function d(S,x){return x.id&&o&&o[x.id]?s(S,x):(x=s(S,x),br(x)?g(x):yl(x)?m(x):x)}function g(S){if(pi(S.name))return S;let x=v(S.name);return x?it(t.createElementAccessExpression(S.expression,x),S):S}function m(S){let x=Re(S.name)&&v(S.name);return x?t.updatePropertyAssignment(S,x,S.initializer):S}function v(S){let x=nb(S);if(x!==void 0&&x>=81&&x<=116)return it(t.createStringLiteralFromNode(S),S)}}var vMe=gt({"src/compiler/transformers/es5.ts"(){"use strict";fa()}});function bMe(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return}}function gpe(e){let{factory:t,getEmitHelperFactory:r,resumeLexicalEnvironment:i,endLexicalEnvironment:o,hoistFunctionDeclaration:s,hoistVariableDeclaration:l}=e,f=e.getCompilerOptions(),d=Do(f),g=e.getEmitResolver(),m=e.onSubstituteNode;e.onSubstituteNode=oe;let v,S,x,A,w,C,P,F,B,q,W=1,Y,R,ie,$,fe=0,Z=0,U,re,le,_e,ge,X,Ve,we;return y_(e,ke);function ke(ye){if(ye.isDeclarationFile||!(ye.transformFlags&2048))return ye;let Et=xn(ye,Pe,e);return Bg(Et,e.readEmitHelpers()),Et}function Pe(ye){let Et=ye.transformFlags;return A?Ce(ye):x?Ie(ye):Ds(ye)&&ye.asteriskToken?Ne(ye):Et&2048?xn(ye,Pe,e):ye}function Ce(ye){switch(ye.kind){case 243:return dr(ye);case 244:return Se(ye);case 252:return Kt(ye);case 253:return ir(ye);default:return Ie(ye)}}function Ie(ye){switch(ye.kind){case 259:return Le(ye);case 215:return Ye(ye);case 174:case 175:return _t(ye);case 240:return Rt(ye);case 245:return Tt(ye);case 246:return nt(ye);case 249:return G(ye);case 248:return Q(ye);case 250:return je(ye);default:return ye.transformFlags&1048576?Be(ye):ye.transformFlags&4196352?xn(ye,Pe,e):ye}}function Be(ye){switch(ye.kind){case 223:return We(ye);case 357:return tn(ye);case 224:return _n(ye);case 226:return Gt(ye);case 206:return $n(ye);case 207:return Ni(ye);case 209:return Pi(ye);case 210:return gr(ye);case 211:return pt(ye);default:return xn(ye,Pe,e)}}function Ne(ye){switch(ye.kind){case 259:return Le(ye);case 215:return Ye(ye);default:return L.failBadSyntaxKind(ye)}}function Le(ye){if(ye.asteriskToken)ye=Ir(it(t.createFunctionDeclaration(ye.modifiers,void 0,ye.name,void 0,Sc(ye.parameters,Pe,e),void 0,ct(ye.body)),ye),ye);else{let Et=x,bn=A;x=!1,A=!1,ye=xn(ye,Pe,e),x=Et,A=bn}if(x){s(ye);return}else return ye}function Ye(ye){if(ye.asteriskToken)ye=Ir(it(t.createFunctionExpression(void 0,void 0,ye.name,void 0,Sc(ye.parameters,Pe,e),void 0,ct(ye.body)),ye),ye);else{let Et=x,bn=A;x=!1,A=!1,ye=xn(ye,Pe,e),x=Et,A=bn}return ye}function _t(ye){let Et=x,bn=A;return x=!1,A=!1,ye=xn(ye,Pe,e),x=Et,A=bn,ye}function ct(ye){let Et=[],bn=x,Ri=A,io=w,ee=C,Ze=P,At=F,xt=B,qt=q,Ln=W,mr=Y,Vr=R,gi=ie,Ea=$;x=!0,A=!1,w=void 0,C=void 0,P=void 0,F=void 0,B=void 0,q=void 0,W=1,Y=void 0,R=void 0,ie=void 0,$=t.createTempVariable(void 0),i();let bo=t.copyPrologue(ye.statements,Et,!1,Pe);nn(ye.statements,bo);let Qo=K();return em(Et,o()),Et.push(t.createReturnStatement(Qo)),x=bn,A=Ri,w=io,C=ee,P=Ze,F=At,B=xt,q=qt,W=Ln,Y=mr,R=Vr,ie=gi,$=Ea,it(t.createBlock(Et,ye.multiLine),ye)}function Rt(ye){if(ye.transformFlags&1048576){ri(ye.declarationList);return}else{if(Ya(ye)&2097152)return ye;for(let bn of ye.declarationList.declarations)l(bn.name);let Et=qI(ye.declarationList);return Et.length===0?void 0:Ho(t.createExpressionStatement(t.inlineExpressions(on(Et,vn))),ye)}}function We(ye){let Et=WH(ye);switch(Et){case 0:return zt(ye);case 1:return qe(ye);default:return L.assertNever(Et)}}function qe(ye){let{left:Et,right:bn}=ye;if(Ot(bn)){let Ri;switch(Et.kind){case 208:Ri=t.updatePropertyAccessExpression(Et,Te(L.checkDefined($e(Et.expression,Pe,Ju))),Et.name);break;case 209:Ri=t.updateElementAccessExpression(Et,Te(L.checkDefined($e(Et.expression,Pe,Ju))),Te(L.checkDefined($e(Et.argumentExpression,Pe,ot))));break;default:Ri=L.checkDefined($e(Et,Pe,ot));break}let io=ye.operatorToken.kind;return oN(io)?it(t.createAssignment(Ri,it(t.createBinaryExpression(Te(Ri),WL(io),L.checkDefined($e(bn,Pe,ot))),ye)),ye):t.updateBinaryExpression(ye,Ri,ye.operatorToken,L.checkDefined($e(bn,Pe,ot)))}return xn(ye,Pe,e)}function zt(ye){return Ot(ye.right)?Yce(ye.operatorToken.kind)?kn(ye):ye.operatorToken.kind===27?Qt(ye):t.updateBinaryExpression(ye,Te(L.checkDefined($e(ye.left,Pe,ot))),ye.operatorToken,L.checkDefined($e(ye.right,Pe,ot))):xn(ye,Pe,e)}function Qt(ye){let Et=[];return bn(ye.left),bn(ye.right),t.inlineExpressions(Et);function bn(Ri){ar(Ri)&&Ri.operatorToken.kind===27?(bn(Ri.left),bn(Ri.right)):(Ot(Ri)&&Et.length>0&&(wt(1,[t.createExpressionStatement(t.inlineExpressions(Et))]),Et=[]),Et.push(L.checkDefined($e(Ri,Pe,ot))))}}function tn(ye){let Et=[];for(let bn of ye.elements)ar(bn)&&bn.operatorToken.kind===27?Et.push(Qt(bn)):(Ot(bn)&&Et.length>0&&(wt(1,[t.createExpressionStatement(t.inlineExpressions(Et))]),Et=[]),Et.push(L.checkDefined($e(bn,Pe,ot))));return t.inlineExpressions(Et)}function kn(ye){let Et=yt(),bn=j();return qs(bn,L.checkDefined($e(ye.left,Pe,ot)),ye.left),ye.operatorToken.kind===55?jt(Et,bn,ye.left):As(Et,bn,ye.left),qs(bn,L.checkDefined($e(ye.right,Pe,ot)),ye.right),lt(Et),bn}function _n(ye){if(Ot(ye.whenTrue)||Ot(ye.whenFalse)){let Et=yt(),bn=yt(),Ri=j();return jt(Et,L.checkDefined($e(ye.condition,Pe,ot)),ye.condition),qs(Ri,L.checkDefined($e(ye.whenTrue,Pe,ot)),ye.whenTrue),Rs(bn),lt(Et),qs(Ri,L.checkDefined($e(ye.whenFalse,Pe,ot)),ye.whenFalse),lt(bn),Ri}return xn(ye,Pe,e)}function Gt(ye){let Et=yt(),bn=$e(ye.expression,Pe,ot);if(ye.asteriskToken){let Ri=Ya(ye.expression)&16777216?bn:it(r().createValuesHelper(bn),ye);yc(Ri,ye)}else Ql(bn,ye);return lt(Et),Pc(ye)}function $n(ye){return ui(ye.elements,void 0,void 0,ye.multiLine)}function ui(ye,Et,bn,Ri){let io=Ke(ye),ee;if(io>0){ee=j();let xt=On(ye,Pe,ot,0,io);qs(ee,t.createArrayLiteralExpression(Et?[Et,...xt]:xt)),Et=void 0}let Ze=ou(ye,At,[],io);return ee?t.createArrayConcatCall(ee,[t.createArrayLiteralExpression(Ze,Ri)]):it(t.createArrayLiteralExpression(Et?[Et,...Ze]:Ze,Ri),bn);function At(xt,qt){if(Ot(qt)&&xt.length>0){let Ln=ee!==void 0;ee||(ee=j()),qs(ee,Ln?t.createArrayConcatCall(ee,[t.createArrayLiteralExpression(xt,Ri)]):t.createArrayLiteralExpression(Et?[Et,...xt]:xt,Ri)),Et=void 0,xt=[]}return xt.push(L.checkDefined($e(qt,Pe,ot))),xt}}function Ni(ye){let Et=ye.properties,bn=ye.multiLine,Ri=Ke(Et),io=j();qs(io,t.createObjectLiteralExpression(On(Et,Pe,Og,0,Ri),bn));let ee=ou(Et,Ze,[],Ri);return ee.push(bn?mu(go(it(t.cloneNode(io),io),io.parent)):io),t.inlineExpressions(ee);function Ze(At,xt){Ot(xt)&&At.length>0&&(ss(t.createExpressionStatement(t.inlineExpressions(At))),At=[]);let qt=ede(t,ye,xt,io),Ln=$e(qt,Pe,ot);return Ln&&(bn&&mu(Ln),At.push(Ln)),At}}function Pi(ye){return Ot(ye.argumentExpression)?t.updateElementAccessExpression(ye,Te(L.checkDefined($e(ye.expression,Pe,Ju))),L.checkDefined($e(ye.argumentExpression,Pe,ot))):xn(ye,Pe,e)}function gr(ye){if(!Dd(ye)&&mn(ye.arguments,Ot)){let{target:Et,thisArg:bn}=t.createCallBinding(ye.expression,l,d,!0);return Ir(it(t.createFunctionApplyCall(Te(L.checkDefined($e(Et,Pe,Ju))),bn,ui(ye.arguments)),ye),ye)}return xn(ye,Pe,e)}function pt(ye){if(mn(ye.arguments,Ot)){let{target:Et,thisArg:bn}=t.createCallBinding(t.createPropertyAccessExpression(ye.expression,"bind"),l);return Ir(it(t.createNewExpression(t.createFunctionApplyCall(Te(L.checkDefined($e(Et,Pe,ot))),bn,ui(ye.arguments,t.createVoidZero())),void 0,[]),ye),ye)}return xn(ye,Pe,e)}function nn(ye,Et=0){let bn=ye.length;for(let Ri=Et;Ri<bn;Ri++)pn(ye[Ri])}function Dt(ye){Va(ye)?nn(ye.statements):pn(ye)}function pn(ye){let Et=A;A||(A=Ot(ye)),An(ye),A=Et}function An(ye){switch(ye.kind){case 238:return Kn(ye);case 241:return hi(ye);case 242:return Ht(ye);case 243:return En(ye);case 244:return Cr(ye);case 245:return at(ye);case 246:return ve(ye);case 248:return ce(ye);case 249:return ue(ye);case 250:return Oe(ye);case 251:return Ge(ye);case 252:return kt(ye);case 253:return ln(ye);case 254:return ae(ye);case 255:return rt(ye);default:return ss($e(ye,Pe,ca))}}function Kn(ye){Ot(ye)?nn(ye.statements):ss($e(ye,Pe,ca))}function hi(ye){ss($e(ye,Pe,ca))}function ri(ye){for(let ee of ye.declarations){let Ze=t.cloneNode(ee.name);hl(Ze,ee.name),l(Ze)}let Et=qI(ye),bn=Et.length,Ri=0,io=[];for(;Ri<bn;){for(let ee=Ri;ee<bn;ee++){let Ze=Et[ee];if(Ot(Ze.initializer)&&io.length>0)break;io.push(vn(Ze))}io.length&&(ss(t.createExpressionStatement(t.inlineExpressions(io))),Ri+=io.length,io=[])}}function vn(ye){return Ho(t.createAssignment(Ho(t.cloneNode(ye.name),ye.name),L.checkDefined($e(ye.initializer,Pe,ot))),ye)}function Ht(ye){if(Ot(ye))if(Ot(ye.thenStatement)||Ot(ye.elseStatement)){let Et=yt(),bn=ye.elseStatement?yt():void 0;jt(ye.elseStatement?bn:Et,L.checkDefined($e(ye.expression,Pe,ot)),ye.expression),Dt(ye.thenStatement),ye.elseStatement&&(Rs(Et),lt(bn),Dt(ye.elseStatement)),lt(Et)}else ss($e(ye,Pe,ca));else ss($e(ye,Pe,ca))}function En(ye){if(Ot(ye)){let Et=yt(),bn=yt();xi(Et),lt(bn),Dt(ye.statement),lt(Et),As(bn,L.checkDefined($e(ye.expression,Pe,ot))),Nr()}else ss($e(ye,Pe,ca))}function dr(ye){return A?(Hi(),ye=xn(ye,Pe,e),Nr(),ye):xn(ye,Pe,e)}function Cr(ye){if(Ot(ye)){let Et=yt(),bn=xi(Et);lt(Et),jt(bn,L.checkDefined($e(ye.expression,Pe,ot))),Dt(ye.statement),Rs(Et),Nr()}else ss($e(ye,Pe,ca))}function Se(ye){return A?(Hi(),ye=xn(ye,Pe,e),Nr(),ye):xn(ye,Pe,e)}function at(ye){if(Ot(ye)){let Et=yt(),bn=yt(),Ri=xi(bn);if(ye.initializer){let io=ye.initializer;pu(io)?ri(io):ss(it(t.createExpressionStatement(L.checkDefined($e(io,Pe,ot))),io))}lt(Et),ye.condition&&jt(Ri,L.checkDefined($e(ye.condition,Pe,ot))),Dt(ye.statement),lt(bn),ye.incrementor&&ss(it(t.createExpressionStatement(L.checkDefined($e(ye.incrementor,Pe,ot))),ye.incrementor)),Rs(Et),Nr()}else ss($e(ye,Pe,ca))}function Tt(ye){A&&Hi();let Et=ye.initializer;if(Et&&pu(Et)){for(let Ri of Et.declarations)l(Ri.name);let bn=qI(Et);ye=t.updateForStatement(ye,bn.length>0?t.inlineExpressions(on(bn,vn)):void 0,$e(ye.condition,Pe,ot),$e(ye.incrementor,Pe,ot),jf(ye.statement,Pe,e))}else ye=xn(ye,Pe,e);return A&&Nr(),ye}function ve(ye){if(Ot(ye)){let Et=j(),bn=j(),Ri=j(),io=t.createLoopVariable(),ee=ye.initializer;l(io),qs(Et,L.checkDefined($e(ye.expression,Pe,ot))),qs(bn,t.createArrayLiteralExpression()),ss(t.createForInStatement(Ri,Et,t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(bn,"push"),void 0,[Ri])))),qs(io,t.createNumericLiteral(0));let Ze=yt(),At=yt(),xt=xi(At);lt(Ze),jt(xt,t.createLessThan(io,t.createPropertyAccessExpression(bn,"length"))),qs(Ri,t.createElementAccessExpression(bn,io)),jt(At,t.createBinaryExpression(Ri,101,Et));let qt;if(pu(ee)){for(let Ln of ee.declarations)l(Ln.name);qt=t.cloneNode(ee.declarations[0].name)}else qt=L.checkDefined($e(ee,Pe,ot)),L.assert(Ju(qt));qs(qt,Ri),Dt(ye.statement),lt(At),ss(t.createExpressionStatement(t.createPostfixIncrement(io))),Rs(Ze),Nr()}else ss($e(ye,Pe,ca))}function nt(ye){A&&Hi();let Et=ye.initializer;if(pu(Et)){for(let bn of Et.declarations)l(bn.name);ye=t.updateForInStatement(ye,Et.declarations[0].name,L.checkDefined($e(ye.expression,Pe,ot)),L.checkDefined($e(ye.statement,Pe,ca,t.liftToBlock)))}else ye=xn(ye,Pe,e);return A&&Nr(),ye}function ce(ye){let Et=aa(ye.label?vr(ye.label):void 0);Et>0?Rs(Et,ye):ss(ye)}function Q(ye){if(A){let Et=aa(ye.label&&vr(ye.label));if(Et>0)return Ll(Et,ye)}return xn(ye,Pe,e)}function ue(ye){let Et=ro(ye.label?vr(ye.label):void 0);Et>0?Rs(Et,ye):ss(ye)}function G(ye){if(A){let Et=ro(ye.label&&vr(ye.label));if(Et>0)return Ll(Et,ye)}return xn(ye,Pe,e)}function Oe(ye){yu($e(ye.expression,Pe,ot),ye)}function je(ye){return md($e(ye.expression,Pe,ot),ye)}function Ge(ye){Ot(ye)?(ei(Te(L.checkDefined($e(ye.expression,Pe,ot)))),Dt(ye.statement),Kr()):ss($e(ye,Pe,ca))}function kt(ye){if(Ot(ye.caseBlock)){let Et=ye.caseBlock,bn=Et.clauses.length,Ri=Qr(),io=Te(L.checkDefined($e(ye.expression,Pe,ot))),ee=[],Ze=-1;for(let qt=0;qt<bn;qt++){let Ln=Et.clauses[qt];ee.push(yt()),Ln.kind===293&&Ze===-1&&(Ze=qt)}let At=0,xt=[];for(;At<bn;){let qt=0;for(let Ln=At;Ln<bn;Ln++){let mr=Et.clauses[Ln];if(mr.kind===292){if(Ot(mr.expression)&&xt.length>0)break;xt.push(t.createCaseClause(L.checkDefined($e(mr.expression,Pe,ot)),[Ll(ee[Ln],mr.expression)]))}else qt++}xt.length&&(ss(t.createSwitchStatement(io,t.createCaseBlock(xt))),At+=xt.length,xt=[]),qt>0&&(At+=qt,qt=0)}Ze>=0?Rs(ee[Ze]):Rs(Ri);for(let qt=0;qt<bn;qt++)lt(ee[qt]),nn(Et.clauses[qt].statements);Wi()}else ss($e(ye,Pe,ca))}function Kt(ye){return A&&Fo(),ye=xn(ye,Pe,e),A&&Wi(),ye}function ln(ye){Ot(ye)?(Ki(vr(ye.label)),Dt(ye.statement),kc()):ss($e(ye,Pe,ca))}function ir(ye){return A&&gn(vr(ye.label)),ye=xn(ye,Pe,e),A&&kc(),ye}function ae(ye){var Et;se(L.checkDefined($e((Et=ye.expression)!=null?Et:t.createVoidZero(),Pe,ot)),ye)}function rt(ye){Ot(ye)?(Si(),Dt(ye.tryBlock),ye.catchClause&&(Ja(ye.catchClause.variableDeclaration),Dt(ye.catchClause.block)),ye.finallyBlock&&(Za(),Dt(ye.finallyBlock)),Fa()):ss(xn(ye,Pe,e))}function Ot(ye){return!!ye&&(ye.transformFlags&1048576)!==0}function Ke(ye){let Et=ye.length;for(let bn=0;bn<Et;bn++)if(Ot(ye[bn]))return bn;return-1}function oe(ye,Et){return Et=m(ye,Et),ye===1?pe(Et):Et}function pe(ye){return Re(ye)?z(ye):ye}function z(ye){if(!tc(ye)&&v&&v.has(vr(ye))){let Et=ec(ye);if(Re(Et)&&Et.parent){let bn=g.getReferencedValueDeclaration(Et);if(bn){let Ri=S[sc(bn)];if(Ri){let io=go(it(t.cloneNode(Ri),Ri),Ri.parent);return Ho(io,ye),hl(io,ye),io}}}}return ye}function Te(ye){if(tc(ye)||Ya(ye)&8192)return ye;let Et=t.createTempVariable(l);return qs(Et,ye,ye),Et}function j(ye){let Et=ye?t.createUniqueName(ye):t.createTempVariable(void 0);return l(Et),Et}function yt(){B||(B=[]);let ye=W;return W++,B[ye]=-1,ye}function lt(ye){L.assert(B!==void 0,"No labels were defined."),B[ye]=Y?Y.length:0}function Qe(ye){w||(w=[],P=[],C=[],F=[]);let Et=P.length;return P[Et]=0,C[Et]=Y?Y.length:0,w[Et]=ye,F.push(ye),Et}function Vt(){let ye=Hn();if(ye===void 0)return L.fail("beginBlock was never called.");let Et=P.length;return P[Et]=1,C[Et]=Y?Y.length:0,w[Et]=ye,F.pop(),ye}function Hn(){return Os(F)}function jr(){let ye=Hn();return ye&&ye.kind}function ei(ye){let Et=yt(),bn=yt();lt(Et),Qe({kind:1,expression:ye,startLabel:Et,endLabel:bn})}function Kr(){L.assert(jr()===1);let ye=Vt();lt(ye.endLabel)}function Si(){let ye=yt(),Et=yt();return lt(ye),Qe({kind:0,state:0,startLabel:ye,endLabel:Et}),bl(),Et}function Ja(ye){L.assert(jr()===0);let Et;if(tc(ye.name))Et=ye.name,l(ye.name);else{let ee=vr(ye.name);Et=j(ee),v||(v=new Map,S=[],e.enableSubstitution(79)),v.set(ee,!0),S[sc(ye)]=Et}let bn=Hn();L.assert(bn.state<1);let Ri=bn.endLabel;Rs(Ri);let io=yt();lt(io),bn.state=1,bn.catchVariable=Et,bn.catchLabel=io,qs(Et,t.createCallExpression(t.createPropertyAccessExpression($,"sent"),void 0,[])),bl()}function Za(){L.assert(jr()===0);let ye=Hn();L.assert(ye.state<2);let Et=ye.endLabel;Rs(Et);let bn=yt();lt(bn),ye.state=2,ye.finallyLabel=bn}function Fa(){L.assert(jr()===0);let ye=Vt();ye.state<2?Rs(ye.endLabel):ht(),lt(ye.endLabel),bl(),ye.state=3}function Hi(){Qe({kind:3,isScript:!0,breakLabel:-1,continueLabel:-1})}function xi(ye){let Et=yt();return Qe({kind:3,isScript:!1,breakLabel:Et,continueLabel:ye}),Et}function Nr(){L.assert(jr()===3);let ye=Vt(),Et=ye.breakLabel;ye.isScript||lt(Et)}function Fo(){Qe({kind:2,isScript:!0,breakLabel:-1})}function Qr(){let ye=yt();return Qe({kind:2,isScript:!1,breakLabel:ye}),ye}function Wi(){L.assert(jr()===2);let ye=Vt(),Et=ye.breakLabel;ye.isScript||lt(Et)}function gn(ye){Qe({kind:4,isScript:!0,labelText:ye,breakLabel:-1})}function Ki(ye){let Et=yt();Qe({kind:4,isScript:!1,labelText:ye,breakLabel:Et})}function kc(){L.assert(jr()===4);let ye=Vt();ye.isScript||lt(ye.breakLabel)}function Ps(ye){return ye.kind===2||ye.kind===3}function mc(ye){return ye.kind===4}function xc(ye){return ye.kind===3}function hc(ye,Et){for(let bn=Et;bn>=0;bn--){let Ri=F[bn];if(mc(Ri)){if(Ri.labelText===ye)return!0}else break}return!1}function ro(ye){if(F)if(ye)for(let Et=F.length-1;Et>=0;Et--){let bn=F[Et];if(mc(bn)&&bn.labelText===ye)return bn.breakLabel;if(Ps(bn)&&hc(ye,Et-1))return bn.breakLabel}else for(let Et=F.length-1;Et>=0;Et--){let bn=F[Et];if(Ps(bn))return bn.breakLabel}return 0}function aa(ye){if(F)if(ye)for(let Et=F.length-1;Et>=0;Et--){let bn=F[Et];if(xc(bn)&&hc(ye,Et-1))return bn.continueLabel}else for(let Et=F.length-1;Et>=0;Et--){let bn=F[Et];if(xc(bn))return bn.continueLabel}return 0}function Co(ye){if(ye!==void 0&&ye>0){q===void 0&&(q=[]);let Et=t.createNumericLiteral(-1);return q[ye]===void 0?q[ye]=[Et]:q[ye].push(Et),Et}return t.createOmittedExpression()}function gc(ye){let Et=t.createNumericLiteral(ye);return R4(Et,3,bMe(ye)),Et}function Ll(ye,Et){return L.assertLessThan(0,ye,"Invalid label"),it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3),Co(ye)])),Et)}function md(ye,Et){return it(t.createReturnStatement(t.createArrayLiteralExpression(ye?[gc(2),ye]:[gc(2)])),Et)}function Pc(ye){return it(t.createCallExpression(t.createPropertyAccessExpression($,"sent"),void 0,[]),ye)}function bl(){wt(0)}function ss(ye){ye?wt(1,[ye]):bl()}function qs(ye,Et,bn){wt(2,[ye,Et],bn)}function Rs(ye,Et){wt(3,[ye],Et)}function As(ye,Et,bn){wt(4,[ye,Et],bn)}function jt(ye,Et,bn){wt(5,[ye,Et],bn)}function yc(ye,Et){wt(7,[ye],Et)}function Ql(ye,Et){wt(6,[ye],Et)}function yu(ye,Et){wt(8,[ye],Et)}function se(ye,Et){wt(9,[ye],Et)}function ht(){wt(10)}function wt(ye,Et,bn){Y===void 0&&(Y=[],R=[],ie=[]),B===void 0&&lt(yt());let Ri=Y.length;Y[Ri]=ye,R[Ri]=Et,ie[Ri]=bn}function K(){fe=0,Z=0,U=void 0,re=!1,le=!1,_e=void 0,ge=void 0,X=void 0,Ve=void 0,we=void 0;let ye=Xe();return r().createGeneratorHelper(Jn(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,$)],void 0,t.createBlock(ye,ye.length>0)),1048576))}function Xe(){if(Y){for(let ye=0;ye<Y.length;ye++)vo(ye);Yt(Y.length)}else Yt(0);if(_e){let ye=t.createPropertyAccessExpression($,"label"),Et=t.createSwitchStatement(ye,t.createCaseBlock(_e));return[mu(Et)]}return ge||[]}function ft(){ge&&(yr(!re),re=!1,le=!1,Z++)}function Yt(ye){pr(ye)&&(ta(ye),we=void 0,Gu(void 0,void 0)),ge&&_e&&yr(!1),Go()}function pr(ye){if(!le)return!0;if(!B||!q)return!1;for(let Et=0;Et<B.length;Et++)if(B[Et]===ye&&q[Et])return!0;return!1}function yr(ye){if(_e||(_e=[]),ge){if(we)for(let Et=we.length-1;Et>=0;Et--){let bn=we[Et];ge=[t.createWithStatement(bn.expression,t.createBlock(ge))]}if(Ve){let{startLabel:Et,catchLabel:bn,finallyLabel:Ri,endLabel:io}=Ve;ge.unshift(t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createPropertyAccessExpression($,"trys"),"push"),void 0,[t.createArrayLiteralExpression([Co(Et),Co(bn),Co(Ri),Co(io)])]))),Ve=void 0}ye&&ge.push(t.createExpressionStatement(t.createAssignment(t.createPropertyAccessExpression($,"label"),t.createNumericLiteral(Z+1))))}_e.push(t.createCaseClause(t.createNumericLiteral(Z),ge||[])),ge=void 0}function ta(ye){if(B)for(let Et=0;Et<B.length;Et++)B[Et]===ye&&(ft(),U===void 0&&(U=[]),U[Z]===void 0?U[Z]=[Et]:U[Z].push(Et))}function Go(){if(q!==void 0&&U!==void 0)for(let ye=0;ye<U.length;ye++){let Et=U[ye];if(Et!==void 0)for(let bn of Et){let Ri=q[bn];if(Ri!==void 0)for(let io of Ri)io.text=String(ye)}}}function Ka(ye){if(w)for(;fe<P.length&&C[fe]<=ye;fe++){let Et=w[fe],bn=P[fe];switch(Et.kind){case 0:bn===0?(X||(X=[]),ge||(ge=[]),X.push(Ve),Ve=Et):bn===1&&(Ve=X.pop());break;case 1:bn===0?(we||(we=[]),we.push(Et)):bn===1&&we.pop();break}}}function vo(ye){if(ta(ye),Ka(ye),re)return;re=!1,le=!1;let Et=Y[ye];if(Et===0)return;if(Et===10)return nf();let bn=R[ye];if(Et===1)return ka(bn[0]);let Ri=ie[ye];switch(Et){case 2:return Hs(bn[0],bn[1],Ri);case 3:return $o(bn[0],Ri);case 4:return jo(bn[0],bn[1],Ri);case 5:return Ws(bn[0],bn[1],Ri);case 6:return hd(bn[0],Ri);case 7:return vc(bn[0],Ri);case 8:return Gu(bn[0],Ri);case 9:return Uc(bn[0],Ri)}}function ka(ye){ye&&(ge?ge.push(ye):ge=[ye])}function Hs(ye,Et,bn){ka(it(t.createExpressionStatement(t.createAssignment(ye,Et)),bn))}function Uc(ye,Et){re=!0,le=!0,ka(it(t.createThrowStatement(ye),Et))}function Gu(ye,Et){re=!0,le=!0,ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression(ye?[gc(2),ye]:[gc(2)])),Et),768))}function $o(ye,Et){re=!0,ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3),Co(ye)])),Et),768))}function jo(ye,Et,bn){ka(Jn(t.createIfStatement(Et,Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3),Co(ye)])),bn),768)),1))}function Ws(ye,Et,bn){ka(Jn(t.createIfStatement(t.createLogicalNot(Et),Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(3),Co(ye)])),bn),768)),1))}function hd(ye,Et){re=!0,ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression(ye?[gc(4),ye]:[gc(4)])),Et),768))}function vc(ye,Et){re=!0,ka(Jn(it(t.createReturnStatement(t.createArrayLiteralExpression([gc(5),ye])),Et),768))}function nf(){re=!0,ka(t.createReturnStatement(t.createArrayLiteralExpression([gc(7)])))}}var EMe=gt({"src/compiler/transformers/generators.ts"(){"use strict";fa()}});function FK(e){function t(Q){switch(Q){case 2:return R;case 3:return ie;default:return Y}}let{factory:r,getEmitHelperFactory:i,startLexicalEnvironment:o,endLexicalEnvironment:s,hoistVariableDeclaration:l}=e,f=e.getCompilerOptions(),d=e.getEmitResolver(),g=e.getEmitHost(),m=Do(f),v=Rl(f),S=e.onSubstituteNode,x=e.onEmitNode;e.onSubstituteNode=dr,e.onEmitNode=En,e.enableSubstitution(210),e.enableSubstitution(212),e.enableSubstitution(79),e.enableSubstitution(223),e.enableSubstitution(300),e.enableEmitNotification(308);let A=[],w=[],C,P,F=[],B;return y_(e,q);function q(Q){if(Q.isDeclarationFile||!(aS(Q,f)||Q.transformFlags&8388608||Mf(Q)&&l4(f)&&Ss(f)))return Q;C=Q,P=xK(e,Q,d,f),A[sc(Q)]=P;let G=t(v)(Q);return C=void 0,P=void 0,B=!1,G}function W(){return!!(!P.exportEquals&&Lc(C))}function Y(Q){o();let ue=[],G=Uf(f,"alwaysStrict")||!f.noImplicitUseStrict&&Lc(C),Oe=r.copyPrologue(Q.statements,ue,G&&!Mf(Q),re);if(W()&&Sn(ue,hi()),Fn(P.exportedNames))for(let kt=0;kt<P.exportedNames.length;kt+=50)Sn(ue,r.createExpressionStatement(ou(P.exportedNames.slice(kt,kt+50),(Kt,ln)=>r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("exports"),r.createIdentifier(vr(ln))),Kt),r.createVoidZero())));Sn(ue,$e(P.externalHelpersImportDeclaration,re,ca)),si(ue,On(Q.statements,re,ca,Oe)),U(ue,!1),em(ue,s());let je=r.updateSourceFile(Q,it(r.createNodeArray(ue),Q.statements));return Bg(je,e.readEmitHelpers()),je}function R(Q){let ue=r.createIdentifier("define"),G=xO(r,Q,g,f),Oe=Mf(Q)&&Q,{aliasedModuleNames:je,unaliasedModuleNames:Ge,importAliasNames:kt}=$(Q,!0),Kt=r.updateSourceFile(Q,it(r.createNodeArray([r.createExpressionStatement(r.createCallExpression(ue,void 0,[...G?[G]:[],r.createArrayLiteralExpression(Oe?Je:[r.createStringLiteral("require"),r.createStringLiteral("exports"),...je,...Ge]),Oe?Oe.statements.length?Oe.statements[0].expression:r.createObjectLiteralExpression():r.createFunctionExpression(void 0,void 0,void 0,void 0,[r.createParameterDeclaration(void 0,void 0,"require"),r.createParameterDeclaration(void 0,void 0,"exports"),...kt],void 0,Z(Q))]))]),Q.statements));return Bg(Kt,e.readEmitHelpers()),Kt}function ie(Q){let{aliasedModuleNames:ue,unaliasedModuleNames:G,importAliasNames:Oe}=$(Q,!1),je=xO(r,Q,g,f),Ge=r.createFunctionExpression(void 0,void 0,void 0,void 0,[r.createParameterDeclaration(void 0,void 0,"factory")],void 0,it(r.createBlock([r.createIfStatement(r.createLogicalAnd(r.createTypeCheck(r.createIdentifier("module"),"object"),r.createTypeCheck(r.createPropertyAccessExpression(r.createIdentifier("module"),"exports"),"object")),r.createBlock([r.createVariableStatement(void 0,[r.createVariableDeclaration("v",void 0,void 0,r.createCallExpression(r.createIdentifier("factory"),void 0,[r.createIdentifier("require"),r.createIdentifier("exports")]))]),Jn(r.createIfStatement(r.createStrictInequality(r.createIdentifier("v"),r.createIdentifier("undefined")),r.createExpressionStatement(r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("module"),"exports"),r.createIdentifier("v")))),1)]),r.createIfStatement(r.createLogicalAnd(r.createTypeCheck(r.createIdentifier("define"),"function"),r.createPropertyAccessExpression(r.createIdentifier("define"),"amd")),r.createBlock([r.createExpressionStatement(r.createCallExpression(r.createIdentifier("define"),void 0,[...je?[je]:[],r.createArrayLiteralExpression([r.createStringLiteral("require"),r.createStringLiteral("exports"),...ue,...G]),r.createIdentifier("factory")]))])))],!0),void 0)),kt=r.updateSourceFile(Q,it(r.createNodeArray([r.createExpressionStatement(r.createCallExpression(Ge,void 0,[r.createFunctionExpression(void 0,void 0,void 0,void 0,[r.createParameterDeclaration(void 0,void 0,"require"),r.createParameterDeclaration(void 0,void 0,"exports"),...Oe],void 0,Z(Q))]))]),Q.statements));return Bg(kt,e.readEmitHelpers()),kt}function $(Q,ue){let G=[],Oe=[],je=[];for(let Ge of Q.amdDependencies)Ge.name?(G.push(r.createStringLiteral(Ge.path)),je.push(r.createParameterDeclaration(void 0,void 0,Ge.name))):Oe.push(r.createStringLiteral(Ge.path));for(let Ge of P.externalImports){let kt=jS(r,Ge,C,g,d,f),Kt=C2(r,Ge,C);kt&&(ue&&Kt?(Jn(Kt,8),G.push(kt),je.push(r.createParameterDeclaration(void 0,void 0,Kt))):Oe.push(kt))}return{aliasedModuleNames:G,unaliasedModuleNames:Oe,importAliasNames:je}}function fe(Q){if(Nl(Q)||Il(Q)||!jS(r,Q,C,g,d,f))return;let ue=C2(r,Q,C),G=ct(Q,ue);if(G!==ue)return r.createExpressionStatement(r.createAssignment(ue,G))}function Z(Q){o();let ue=[],G=r.copyPrologue(Q.statements,ue,!f.noImplicitUseStrict,re);W()&&Sn(ue,hi()),Fn(P.exportedNames)&&Sn(ue,r.createExpressionStatement(ou(P.exportedNames,(je,Ge)=>r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("exports"),r.createIdentifier(vr(Ge))),je),r.createVoidZero()))),Sn(ue,$e(P.externalHelpersImportDeclaration,re,ca)),v===2&&si(ue,Zi(P.externalImports,fe)),si(ue,On(Q.statements,re,ca,G)),U(ue,!0),em(ue,s());let Oe=r.createBlock(ue,!0);return B&&xS(Oe,ype),Oe}function U(Q,ue){if(P.exportEquals){let G=$e(P.exportEquals.expression,_e,ot);if(G)if(ue){let Oe=r.createReturnStatement(G);it(Oe,P.exportEquals),Jn(Oe,3840),Q.push(Oe)}else{let Oe=r.createExpressionStatement(r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("module"),"exports"),G));it(Oe,P.exportEquals),Jn(Oe,3072),Q.push(Oe)}}}function re(Q){switch(Q.kind){case 269:return Rt(Q);case 268:return qe(Q);case 275:return zt(Q);case 274:return Qt(Q);case 240:return _n(Q);case 259:return tn(Q);case 260:return kn(Q);case 358:return ui(Q);case 359:return Pi(Q);default:return _e(Q)}}function le(Q,ue){if(!(Q.transformFlags&276828160))return Q;switch(Q.kind){case 245:return we(Q);case 241:return ke(Q);case 214:return Pe(Q,ue);case 356:return Ce(Q,ue);case 210:if(Dd(Q)&&C.impliedNodeFormat===void 0)return Be(Q);break;case 223:if(Fg(Q))return Ve(Q,ue);break;case 221:case 222:return Ie(Q,ue)}return xn(Q,_e,e)}function _e(Q){return le(Q,!1)}function ge(Q){return le(Q,!0)}function X(Q){if(rs(Q))for(let ue of Q.properties)switch(ue.kind){case 299:if(X(ue.initializer))return!0;break;case 300:if(X(ue.name))return!0;break;case 301:if(X(ue.expression))return!0;break;case 171:case 174:case 175:return!1;default:L.assertNever(ue,"Unhandled object member kind")}else if(fu(Q)){for(let ue of Q.elements)if(Km(ue)){if(X(ue.expression))return!0}else if(X(ue))return!0}else if(Re(Q))return Fn(ce(Q))>(E3(Q)?1:0);return!1}function Ve(Q,ue){return X(Q.left)?KT(Q,_e,e,0,!ue,Gt):xn(Q,_e,e)}function we(Q){return r.updateForStatement(Q,$e(Q.initializer,ge,pp),$e(Q.condition,_e,ot),$e(Q.incrementor,ge,ot),jf(Q.statement,_e,e))}function ke(Q){return r.updateExpressionStatement(Q,$e(Q.expression,ge,ot))}function Pe(Q,ue){return r.updateParenthesizedExpression(Q,$e(Q.expression,ue?ge:_e,ot))}function Ce(Q,ue){return r.updatePartiallyEmittedExpression(Q,$e(Q.expression,ue?ge:_e,ot))}function Ie(Q,ue){if((Q.operator===45||Q.operator===46)&&Re(Q.operand)&&!tc(Q.operand)&&!rv(Q.operand)&&!wR(Q.operand)){let G=ce(Q.operand);if(G){let Oe,je=$e(Q.operand,_e,ot);tv(Q)?je=r.updatePrefixUnaryExpression(Q,je):(je=r.updatePostfixUnaryExpression(Q,je),ue||(Oe=r.createTempVariable(l),je=r.createAssignment(Oe,je),it(je,Q)),je=r.createComma(je,r.cloneNode(Q.operand)),it(je,Q));for(let Ge of G)F[zo(je)]=!0,je=vn(Ge,je),it(je,Q);return Oe&&(F[zo(je)]=!0,je=r.createComma(je,Oe),it(je,Q)),je}}return xn(Q,_e,e)}function Be(Q){if(v===0&&m>=7)return xn(Q,_e,e);let ue=jS(r,Q,C,g,d,f),G=$e(Sl(Q.arguments),_e,ot),Oe=ue&&(!G||!yo(G)||G.text!==ue.text)?ue:G,je=!!(Q.transformFlags&16384);switch(f.module){case 2:return Le(Oe,je);case 3:return Ne(Oe??r.createVoidZero(),je);case 1:default:return Ye(Oe)}}function Ne(Q,ue){if(B=!0,Z0(Q)){let G=tc(Q)?Q:yo(Q)?r.createStringLiteralFromNode(Q):Jn(it(r.cloneNode(Q),Q),3072);return r.createConditionalExpression(r.createIdentifier("__syncRequire"),void 0,Ye(Q),void 0,Le(G,ue))}else{let G=r.createTempVariable(l);return r.createComma(r.createAssignment(G,Q),r.createConditionalExpression(r.createIdentifier("__syncRequire"),void 0,Ye(G,!0),void 0,Le(G,ue)))}}function Le(Q,ue){let G=r.createUniqueName("resolve"),Oe=r.createUniqueName("reject"),je=[r.createParameterDeclaration(void 0,void 0,G),r.createParameterDeclaration(void 0,void 0,Oe)],Ge=r.createBlock([r.createExpressionStatement(r.createCallExpression(r.createIdentifier("require"),void 0,[r.createArrayLiteralExpression([Q||r.createOmittedExpression()]),G,Oe]))]),kt;m>=2?kt=r.createArrowFunction(void 0,void 0,je,void 0,void 0,Ge):(kt=r.createFunctionExpression(void 0,void 0,void 0,void 0,je,void 0,Ge),ue&&Jn(kt,16));let Kt=r.createNewExpression(r.createIdentifier("Promise"),void 0,[kt]);return f_(f)?r.createCallExpression(r.createPropertyAccessExpression(Kt,r.createIdentifier("then")),void 0,[i().createImportStarCallbackHelper()]):Kt}function Ye(Q,ue){let G=Q&&!Ap(Q)&&!ue,Oe=r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier("Promise"),"resolve"),void 0,G?m>=2?[r.createTemplateExpression(r.createTemplateHead(""),[r.createTemplateSpan(Q,r.createTemplateTail(""))])]:[r.createCallExpression(r.createPropertyAccessExpression(r.createStringLiteral(""),"concat"),void 0,[Q])]:[]),je=r.createCallExpression(r.createIdentifier("require"),void 0,G?[r.createIdentifier("s")]:Q?[Q]:[]);f_(f)&&(je=i().createImportStarHelper(je));let Ge=G?[r.createParameterDeclaration(void 0,void 0,"s")]:[],kt;return m>=2?kt=r.createArrowFunction(void 0,void 0,Ge,void 0,void 0,je):kt=r.createFunctionExpression(void 0,void 0,void 0,void 0,Ge,void 0,r.createBlock([r.createReturnStatement(je)])),r.createCallExpression(r.createPropertyAccessExpression(Oe,"then"),void 0,[kt])}function _t(Q,ue){return!f_(f)||o_(Q)&2?ue:z_e(Q)?i().createImportStarHelper(ue):ue}function ct(Q,ue){return!f_(f)||o_(Q)&2?ue:vF(Q)?i().createImportStarHelper(ue):SK(Q)?i().createImportDefaultHelper(ue):ue}function Rt(Q){let ue,G=VA(Q);if(v!==2)if(Q.importClause){let Oe=[];G&&!lS(Q)?Oe.push(r.createVariableDeclaration(r.cloneNode(G.name),void 0,void 0,ct(Q,We(Q)))):(Oe.push(r.createVariableDeclaration(r.getGeneratedNameForNode(Q),void 0,void 0,ct(Q,We(Q)))),G&&lS(Q)&&Oe.push(r.createVariableDeclaration(r.cloneNode(G.name),void 0,void 0,r.getGeneratedNameForNode(Q)))),ue=Sn(ue,Ir(it(r.createVariableStatement(void 0,r.createVariableDeclarationList(Oe,m>=2?2:0)),Q),Q))}else return Ir(it(r.createExpressionStatement(We(Q)),Q),Q);else G&&lS(Q)&&(ue=Sn(ue,r.createVariableStatement(void 0,r.createVariableDeclarationList([Ir(it(r.createVariableDeclaration(r.cloneNode(G.name),void 0,void 0,r.getGeneratedNameForNode(Q)),Q),Q)],m>=2?2:0))));if(Ni(Q)){let Oe=sc(Q);w[Oe]=gr(w[Oe],Q)}else ue=gr(ue,Q);return zp(ue)}function We(Q){let ue=jS(r,Q,C,g,d,f),G=[];return ue&&G.push(ue),r.createCallExpression(r.createIdentifier("require"),void 0,G)}function qe(Q){L.assert(ab(Q),"import= for internal module references should be handled in an earlier transformer.");let ue;if(v!==2?Mr(Q,1)?ue=Sn(ue,Ir(it(r.createExpressionStatement(vn(Q.name,We(Q))),Q),Q)):ue=Sn(ue,Ir(it(r.createVariableStatement(void 0,r.createVariableDeclarationList([r.createVariableDeclaration(r.cloneNode(Q.name),void 0,void 0,We(Q))],m>=2?2:0)),Q),Q)):Mr(Q,1)&&(ue=Sn(ue,Ir(it(r.createExpressionStatement(vn(r.getExportName(Q),r.getLocalName(Q))),Q),Q))),Ni(Q)){let G=sc(Q);w[G]=pt(w[G],Q)}else ue=pt(ue,Q);return zp(ue)}function zt(Q){if(!Q.moduleSpecifier)return;let ue=r.getGeneratedNameForNode(Q);if(Q.exportClause&&h_(Q.exportClause)){let G=[];v!==2&&G.push(Ir(it(r.createVariableStatement(void 0,r.createVariableDeclarationList([r.createVariableDeclaration(ue,void 0,void 0,We(Q))])),Q),Q));for(let Oe of Q.exportClause.elements)if(m===0)G.push(Ir(it(r.createExpressionStatement(i().createCreateBindingHelper(ue,r.createStringLiteralFromNode(Oe.propertyName||Oe.name),Oe.propertyName?r.createStringLiteralFromNode(Oe.name):void 0)),Oe),Oe));else{let je=!!f_(f)&&!(o_(Q)&2)&&vr(Oe.propertyName||Oe.name)==="default",Ge=r.createPropertyAccessExpression(je?i().createImportDefaultHelper(ue):ue,Oe.propertyName||Oe.name);G.push(Ir(it(r.createExpressionStatement(vn(r.getExportName(Oe),Ge,void 0,!0)),Oe),Oe))}return zp(G)}else if(Q.exportClause){let G=[];return G.push(Ir(it(r.createExpressionStatement(vn(r.cloneNode(Q.exportClause.name),_t(Q,v!==2?We(Q):v6(Q)?ue:r.createIdentifier(vr(Q.exportClause.name))))),Q),Q)),zp(G)}else return Ir(it(r.createExpressionStatement(i().createExportStarHelper(v!==2?We(Q):ue)),Q),Q)}function Qt(Q){if(Q.isExportEquals)return;let ue,G=Q.original;if(G&&Ni(G)){let Oe=sc(Q);w[Oe]=Kn(w[Oe],r.createIdentifier("default"),$e(Q.expression,_e,ot),Q,!0)}else ue=Kn(ue,r.createIdentifier("default"),$e(Q.expression,_e,ot),Q,!0);return zp(ue)}function tn(Q){let ue;if(Mr(Q,1)?ue=Sn(ue,Ir(it(r.createFunctionDeclaration(On(Q.modifiers,Ht,Ha),Q.asteriskToken,r.getDeclarationName(Q,!0,!0),void 0,On(Q.parameters,_e,ha),void 0,xn(Q.body,_e,e)),Q),Q)):ue=Sn(ue,xn(Q,_e,e)),Ni(Q)){let G=sc(Q);w[G]=pn(w[G],Q)}else ue=pn(ue,Q);return zp(ue)}function kn(Q){let ue;if(Mr(Q,1)?ue=Sn(ue,Ir(it(r.createClassDeclaration(On(Q.modifiers,Ht,Ns),r.getDeclarationName(Q,!0,!0),void 0,On(Q.heritageClauses,_e,dd),On(Q.members,_e,_l)),Q),Q)):ue=Sn(ue,xn(Q,_e,e)),Ni(Q)){let G=sc(Q);w[G]=pn(w[G],Q)}else ue=pn(ue,Q);return zp(ue)}function _n(Q){let ue,G,Oe;if(Mr(Q,1)){let je,Ge=!1;for(let kt of Q.declarationList.declarations)if(Re(kt.name)&&rv(kt.name))if(je||(je=On(Q.modifiers,Ht,Ha)),kt.initializer){let Kt=r.updateVariableDeclaration(kt,kt.name,void 0,void 0,vn(kt.name,$e(kt.initializer,_e,ot)));G=Sn(G,Kt)}else G=Sn(G,kt);else if(kt.initializer)if(!La(kt.name)&&(xs(kt.initializer)||ms(kt.initializer)||_u(kt.initializer))){let Kt=r.createAssignment(it(r.createPropertyAccessExpression(r.createIdentifier("exports"),kt.name),kt.name),r.createIdentifier(l_(kt.name))),ln=r.createVariableDeclaration(kt.name,kt.exclamationToken,kt.type,$e(kt.initializer,_e,ot));G=Sn(G,ln),Oe=Sn(Oe,Kt),Ge=!0}else Oe=Sn(Oe,$n(kt));if(G&&(ue=Sn(ue,r.updateVariableStatement(Q,je,r.updateVariableDeclarationList(Q.declarationList,G)))),Oe){let kt=Ir(it(r.createExpressionStatement(r.inlineExpressions(Oe)),Q),Q);Ge&&ZR(kt),ue=Sn(ue,kt)}}else ue=Sn(ue,xn(Q,_e,e));if(Ni(Q)){let je=sc(Q);w[je]=nn(w[je],Q)}else ue=nn(ue,Q);return zp(ue)}function Gt(Q,ue,G){let Oe=ce(Q);if(Oe){let je=E3(Q)?ue:r.createAssignment(Q,ue);for(let Ge of Oe)Jn(je,8),je=vn(Ge,je,G);return je}return r.createAssignment(Q,ue)}function $n(Q){return La(Q.name)?KT($e(Q,_e,mW),_e,e,0,!1,Gt):r.createAssignment(it(r.createPropertyAccessExpression(r.createIdentifier("exports"),Q.name),Q.name),Q.initializer?$e(Q.initializer,_e,ot):r.createVoidZero())}function ui(Q){if(Ni(Q)&&Q.original.kind===240){let ue=sc(Q);w[ue]=nn(w[ue],Q.original)}return Q}function Ni(Q){return(Ya(Q)&8388608)!==0}function Pi(Q){let ue=sc(Q),G=w[ue];return G?(delete w[ue],Sn(G,Q)):Q}function gr(Q,ue){if(P.exportEquals)return Q;let G=ue.importClause;if(!G)return Q;G.name&&(Q=An(Q,G));let Oe=G.namedBindings;if(Oe)switch(Oe.kind){case 271:Q=An(Q,Oe);break;case 272:for(let je of Oe.elements)Q=An(Q,je,!0);break}return Q}function pt(Q,ue){return P.exportEquals?Q:An(Q,ue)}function nn(Q,ue){if(P.exportEquals)return Q;for(let G of ue.declarationList.declarations)Q=Dt(Q,G);return Q}function Dt(Q,ue){if(P.exportEquals)return Q;if(La(ue.name))for(let G of ue.name.elements)ol(G)||(Q=Dt(Q,G));else tc(ue.name)||(Q=An(Q,ue));return Q}function pn(Q,ue){if(P.exportEquals)return Q;if(Mr(ue,1)){let G=Mr(ue,1024)?r.createIdentifier("default"):r.getDeclarationName(ue);Q=Kn(Q,G,r.getLocalName(ue),ue)}return ue.name&&(Q=An(Q,ue)),Q}function An(Q,ue,G){let Oe=r.getDeclarationName(ue),je=P.exportSpecifiers.get(vr(Oe));if(je)for(let Ge of je)Q=Kn(Q,Ge.name,Oe,Ge.name,void 0,G);return Q}function Kn(Q,ue,G,Oe,je,Ge){return Q=Sn(Q,ri(ue,G,Oe,je,Ge)),Q}function hi(){let Q;return m===0?Q=r.createExpressionStatement(vn(r.createIdentifier("__esModule"),r.createTrue())):Q=r.createExpressionStatement(r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier("Object"),"defineProperty"),void 0,[r.createIdentifier("exports"),r.createStringLiteral("__esModule"),r.createObjectLiteralExpression([r.createPropertyAssignment("value",r.createTrue())])])),Jn(Q,2097152),Q}function ri(Q,ue,G,Oe,je){let Ge=it(r.createExpressionStatement(vn(Q,ue,void 0,je)),G);return mu(Ge),Oe||Jn(Ge,3072),Ge}function vn(Q,ue,G,Oe){return it(Oe&&m!==0?r.createCallExpression(r.createPropertyAccessExpression(r.createIdentifier("Object"),"defineProperty"),void 0,[r.createIdentifier("exports"),r.createStringLiteralFromNode(Q),r.createObjectLiteralExpression([r.createPropertyAssignment("enumerable",r.createTrue()),r.createPropertyAssignment("get",r.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,r.createBlock([r.createReturnStatement(ue)])))])]):r.createAssignment(r.createPropertyAccessExpression(r.createIdentifier("exports"),r.cloneNode(Q)),ue),G)}function Ht(Q){switch(Q.kind){case 93:case 88:return}return Q}function En(Q,ue,G){ue.kind===308?(C=ue,P=A[sc(C)],x(Q,ue,G),C=void 0,P=void 0):x(Q,ue,G)}function dr(Q,ue){return ue=S(Q,ue),ue.id&&F[ue.id]?ue:Q===1?Se(ue):xf(ue)?Cr(ue):ue}function Cr(Q){let ue=Q.name,G=ve(ue);if(G!==ue){if(Q.objectAssignmentInitializer){let Oe=r.createAssignment(G,Q.objectAssignmentInitializer);return it(r.createPropertyAssignment(ue,Oe),Q)}return it(r.createPropertyAssignment(ue,G),Q)}return Q}function Se(Q){switch(Q.kind){case 79:return ve(Q);case 210:return at(Q);case 212:return Tt(Q);case 223:return nt(Q)}return Q}function at(Q){if(Re(Q.expression)){let ue=ve(Q.expression);if(F[zo(ue)]=!0,!Re(ue)&&!(Ya(Q.expression)&8192))return SS(r.updateCallExpression(Q,ue,void 0,Q.arguments),16)}return Q}function Tt(Q){if(Re(Q.tag)){let ue=ve(Q.tag);if(F[zo(ue)]=!0,!Re(ue)&&!(Ya(Q.tag)&8192))return SS(r.updateTaggedTemplateExpression(Q,ue,void 0,Q.template),16)}return Q}function ve(Q){var ue,G;if(Ya(Q)&8192){let Oe=SO(C);return Oe?r.createPropertyAccessExpression(Oe,Q):Q}else if(!(tc(Q)&&!(Q.emitNode.autoGenerate.flags&64))&&!rv(Q)){let Oe=d.getReferencedExportContainer(Q,E3(Q));if(Oe&&Oe.kind===308)return it(r.createPropertyAccessExpression(r.createIdentifier("exports"),r.cloneNode(Q)),Q);let je=d.getReferencedImportDeclaration(Q);if(je){if(lm(je))return it(r.createPropertyAccessExpression(r.getGeneratedNameForNode(je.parent),r.createIdentifier("default")),Q);if($u(je)){let Ge=je.propertyName||je.name;return it(r.createPropertyAccessExpression(r.getGeneratedNameForNode(((G=(ue=je.parent)==null?void 0:ue.parent)==null?void 0:G.parent)||je),r.cloneNode(Ge)),Q)}}}return Q}function nt(Q){if(Mg(Q.operatorToken.kind)&&Re(Q.left)&&!tc(Q.left)&&!rv(Q.left)&&!wR(Q.left)){let ue=ce(Q.left);if(ue){let G=Q;for(let Oe of ue)F[zo(G)]=!0,G=vn(Oe,G,Q);return G}}return Q}function ce(Q){if(!tc(Q)){let ue=d.getReferencedImportDeclaration(Q)||d.getReferencedValueDeclaration(Q);if(ue)return P&&P.exportedBindings[sc(ue)]}}}var ype,TMe=gt({"src/compiler/transformers/module/module.ts"(){"use strict";fa(),ype={name:"typescript:dynamicimport-sync-require",scoped:!0,text:`
+            var __syncRequire = typeof module === "object" && typeof module.exports === "object";`}}});function vpe(e){let{factory:t,startLexicalEnvironment:r,endLexicalEnvironment:i,hoistVariableDeclaration:o}=e,s=e.getCompilerOptions(),l=e.getEmitResolver(),f=e.getEmitHost(),d=e.onSubstituteNode,g=e.onEmitNode;e.onSubstituteNode=je,e.onEmitNode=Oe,e.enableSubstitution(79),e.enableSubstitution(300),e.enableSubstitution(223),e.enableSubstitution(233),e.enableEmitNotification(308);let m=[],v=[],S=[],x=[],A=[],w,C,P,F,B,q,W;return y_(e,Y);function Y(oe){if(oe.isDeclarationFile||!(aS(oe,s)||oe.transformFlags&8388608))return oe;let pe=sc(oe);w=oe,q=oe,C=m[pe]=xK(e,oe,l,s),P=t.createUniqueName("exports"),S[pe]=P,F=A[pe]=t.createUniqueName("context");let z=R(C.externalImports),Te=ie(oe,z),j=t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,P),t.createParameterDeclaration(void 0,void 0,F)],void 0,Te),yt=xO(t,oe,f,s),lt=t.createArrayLiteralExpression(on(z,Vt=>Vt.name)),Qe=Jn(t.updateSourceFile(oe,it(t.createNodeArray([t.createExpressionStatement(t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("System"),"register"),void 0,yt?[yt,lt,j]:[lt,j]))]),oe.statements)),2048);return Ss(s)||gue(Qe,Te,Vt=>!Vt.scoped),W&&(x[pe]=W,W=void 0),w=void 0,C=void 0,P=void 0,F=void 0,B=void 0,q=void 0,Qe}function R(oe){let pe=new Map,z=[];for(let Te of oe){let j=jS(t,Te,w,f,l,s);if(j){let yt=j.text,lt=pe.get(yt);lt!==void 0?z[lt].externalImports.push(Te):(pe.set(yt,z.length),z.push({name:j,externalImports:[Te]}))}}return z}function ie(oe,pe){let z=[];r();let Te=Uf(s,"alwaysStrict")||!s.noImplicitUseStrict&&Lc(w),j=t.copyPrologue(oe.statements,z,Te,U);z.push(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration("__moduleName",void 0,void 0,t.createLogicalAnd(F,t.createPropertyAccessExpression(F,"id")))]))),$e(C.externalHelpersImportDeclaration,U,ca);let yt=On(oe.statements,U,ca,j);si(z,B),em(z,i());let lt=$(z),Qe=oe.transformFlags&2097152?t.createModifiersFromModifierFlags(512):void 0,Vt=t.createObjectLiteralExpression([t.createPropertyAssignment("setters",Z(lt,pe)),t.createPropertyAssignment("execute",t.createFunctionExpression(Qe,void 0,void 0,void 0,[],void 0,t.createBlock(yt,!0)))],!0);return z.push(t.createReturnStatement(Vt)),t.createBlock(z,!0)}function $(oe){if(!C.hasExportStarsToExportValues)return;if(!C.exportedNames&&C.exportSpecifiers.size===0){let j=!1;for(let yt of C.externalImports)if(yt.kind===275&&yt.exportClause){j=!0;break}if(!j){let yt=fe(void 0);return oe.push(yt),yt.name}}let pe=[];if(C.exportedNames)for(let j of C.exportedNames)j.escapedText!=="default"&&pe.push(t.createPropertyAssignment(t.createStringLiteralFromNode(j),t.createTrue()));let z=t.createUniqueName("exportedNames");oe.push(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(z,void 0,void 0,t.createObjectLiteralExpression(pe,!0))])));let Te=fe(z);return oe.push(Te),Te.name}function fe(oe){let pe=t.createUniqueName("exportStar"),z=t.createIdentifier("m"),Te=t.createIdentifier("n"),j=t.createIdentifier("exports"),yt=t.createStrictInequality(Te,t.createStringLiteral("default"));return oe&&(yt=t.createLogicalAnd(yt,t.createLogicalNot(t.createCallExpression(t.createPropertyAccessExpression(oe,"hasOwnProperty"),void 0,[Te])))),t.createFunctionDeclaration(void 0,void 0,pe,void 0,[t.createParameterDeclaration(void 0,void 0,z)],void 0,t.createBlock([t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(j,void 0,void 0,t.createObjectLiteralExpression([]))])),t.createForInStatement(t.createVariableDeclarationList([t.createVariableDeclaration(Te)]),z,t.createBlock([Jn(t.createIfStatement(yt,t.createExpressionStatement(t.createAssignment(t.createElementAccessExpression(j,Te),t.createElementAccessExpression(z,Te)))),1)])),t.createExpressionStatement(t.createCallExpression(P,void 0,[j]))],!0))}function Z(oe,pe){let z=[];for(let Te of pe){let j=mn(Te.externalImports,Qe=>C2(t,Qe,w)),yt=j?t.getGeneratedNameForNode(j):t.createUniqueName(""),lt=[];for(let Qe of Te.externalImports){let Vt=C2(t,Qe,w);switch(Qe.kind){case 269:if(!Qe.importClause)break;case 268:L.assert(Vt!==void 0),lt.push(t.createExpressionStatement(t.createAssignment(Vt,yt))),Mr(Qe,1)&&lt.push(t.createExpressionStatement(t.createCallExpression(P,void 0,[t.createStringLiteral(vr(Vt)),yt])));break;case 275:if(L.assert(Vt!==void 0),Qe.exportClause)if(h_(Qe.exportClause)){let Hn=[];for(let jr of Qe.exportClause.elements)Hn.push(t.createPropertyAssignment(t.createStringLiteral(vr(jr.name)),t.createElementAccessExpression(yt,t.createStringLiteral(vr(jr.propertyName||jr.name)))));lt.push(t.createExpressionStatement(t.createCallExpression(P,void 0,[t.createObjectLiteralExpression(Hn,!0)])))}else lt.push(t.createExpressionStatement(t.createCallExpression(P,void 0,[t.createStringLiteral(vr(Qe.exportClause.name)),yt])));else lt.push(t.createExpressionStatement(t.createCallExpression(oe,void 0,[yt])));break}}z.push(t.createFunctionExpression(void 0,void 0,void 0,void 0,[t.createParameterDeclaration(void 0,void 0,yt)],void 0,t.createBlock(lt,!0)))}return t.createArrayLiteralExpression(z,!0)}function U(oe){switch(oe.kind){case 269:return re(oe);case 268:return _e(oe);case 275:return le(oe);case 274:return ge(oe);default:return Gt(oe)}}function re(oe){let pe;if(oe.importClause&&o(C2(t,oe,w)),Ye(oe)){let z=sc(oe);v[z]=ct(v[z],oe)}else pe=ct(pe,oe);return zp(pe)}function le(oe){L.assertIsDefined(oe)}function _e(oe){L.assert(ab(oe),"import= for internal module references should be handled in an earlier transformer.");let pe;if(o(C2(t,oe,w)),Ye(oe)){let z=sc(oe);v[z]=Rt(v[z],oe)}else pe=Rt(pe,oe);return zp(pe)}function ge(oe){if(oe.isExportEquals)return;let pe=$e(oe.expression,Cr,ot),z=oe.original;if(z&&Ye(z)){let Te=sc(oe);v[Te]=tn(v[Te],t.createIdentifier("default"),pe,!0)}else return kn(t.createIdentifier("default"),pe,!0)}function X(oe){if(Mr(oe,1)?B=Sn(B,t.updateFunctionDeclaration(oe,On(oe.modifiers,G,Ns),oe.asteriskToken,t.getDeclarationName(oe,!0,!0),void 0,On(oe.parameters,Cr,ha),void 0,$e(oe.body,Cr,Va))):B=Sn(B,xn(oe,Cr,e)),Ye(oe)){let pe=sc(oe);v[pe]=zt(v[pe],oe)}else B=zt(B,oe)}function Ve(oe){let pe,z=t.getLocalName(oe);if(o(z),pe=Sn(pe,it(t.createExpressionStatement(t.createAssignment(z,it(t.createClassExpression(On(oe.modifiers,G,Ns),oe.name,void 0,On(oe.heritageClauses,Cr,dd),On(oe.members,Cr,_l)),oe))),oe)),Ye(oe)){let Te=sc(oe);v[Te]=zt(v[Te],oe)}else pe=zt(pe,oe);return zp(pe)}function we(oe){if(!Pe(oe.declarationList))return $e(oe,Cr,ca);let pe,z=Mr(oe,1),Te=Ye(oe);for(let yt of oe.declarationList.declarations)yt.initializer?pe=Sn(pe,Ce(yt,z&&!Te)):ke(yt);let j;if(pe&&(j=Sn(j,it(t.createExpressionStatement(t.inlineExpressions(pe)),oe))),Te){let yt=sc(oe);v[yt]=We(v[yt],oe,z)}else j=We(j,oe,!1);return zp(j)}function ke(oe){if(La(oe.name))for(let pe of oe.name.elements)ol(pe)||ke(pe);else o(t.cloneNode(oe.name))}function Pe(oe){return(Ya(oe)&4194304)===0&&(q.kind===308||(ec(oe).flags&3)===0)}function Ce(oe,pe){let z=pe?Ie:Be;return La(oe.name)?KT(oe,Cr,e,0,!1,z):oe.initializer?z(oe.name,$e(oe.initializer,Cr,ot)):oe.name}function Ie(oe,pe,z){return Ne(oe,pe,z,!0)}function Be(oe,pe,z){return Ne(oe,pe,z,!1)}function Ne(oe,pe,z,Te){return o(t.cloneNode(oe)),Te?_n(oe,Ot(it(t.createAssignment(oe,pe),z))):Ot(it(t.createAssignment(oe,pe),z))}function Le(oe){if(Ye(oe)&&oe.original.kind===240){let pe=sc(oe),z=Mr(oe.original,1);v[pe]=We(v[pe],oe.original,z)}return oe}function Ye(oe){return(Ya(oe)&8388608)!==0}function _t(oe){let pe=sc(oe),z=v[pe];if(z)return delete v[pe],Sn(z,oe);{let Te=ec(oe);if(Ow(Te))return Sn(Qt(z,Te),oe)}return oe}function ct(oe,pe){if(C.exportEquals)return oe;let z=pe.importClause;if(!z)return oe;z.name&&(oe=Qt(oe,z));let Te=z.namedBindings;if(Te)switch(Te.kind){case 271:oe=Qt(oe,Te);break;case 272:for(let j of Te.elements)oe=Qt(oe,j);break}return oe}function Rt(oe,pe){return C.exportEquals?oe:Qt(oe,pe)}function We(oe,pe,z){if(C.exportEquals)return oe;for(let Te of pe.declarationList.declarations)(Te.initializer||z)&&(oe=qe(oe,Te,z));return oe}function qe(oe,pe,z){if(C.exportEquals)return oe;if(La(pe.name))for(let Te of pe.name.elements)ol(Te)||(oe=qe(oe,Te,z));else if(!tc(pe.name)){let Te;z&&(oe=tn(oe,pe.name,t.getLocalName(pe)),Te=vr(pe.name)),oe=Qt(oe,pe,Te)}return oe}function zt(oe,pe){if(C.exportEquals)return oe;let z;if(Mr(pe,1)){let Te=Mr(pe,1024)?t.createStringLiteral("default"):pe.name;oe=tn(oe,Te,t.getLocalName(pe)),z=l_(Te)}return pe.name&&(oe=Qt(oe,pe,z)),oe}function Qt(oe,pe,z){if(C.exportEquals)return oe;let Te=t.getDeclarationName(pe),j=C.exportSpecifiers.get(vr(Te));if(j)for(let yt of j)yt.name.escapedText!==z&&(oe=tn(oe,yt.name,Te));return oe}function tn(oe,pe,z,Te){return oe=Sn(oe,kn(pe,z,Te)),oe}function kn(oe,pe,z){let Te=t.createExpressionStatement(_n(oe,pe));return mu(Te),z||Jn(Te,3072),Te}function _n(oe,pe){let z=Re(oe)?t.createStringLiteralFromNode(oe):oe;return Jn(pe,Ya(pe)|3072),hl(t.createCallExpression(P,void 0,[z,pe]),pe)}function Gt(oe){switch(oe.kind){case 240:return we(oe);case 259:return X(oe);case 260:return Ve(oe);case 245:return $n(oe,!0);case 246:return ui(oe);case 247:return Ni(oe);case 243:return pt(oe);case 244:return nn(oe);case 253:return Dt(oe);case 251:return pn(oe);case 252:return An(oe);case 266:return Kn(oe);case 292:return hi(oe);case 293:return ri(oe);case 255:return vn(oe);case 295:return Ht(oe);case 238:return En(oe);case 358:return Le(oe);case 359:return _t(oe);default:return Cr(oe)}}function $n(oe,pe){let z=q;return q=oe,oe=t.updateForStatement(oe,$e(oe.initializer,pe?gr:Se,pp),$e(oe.condition,Cr,ot),$e(oe.incrementor,Se,ot),jf(oe.statement,pe?Gt:Cr,e)),q=z,oe}function ui(oe){let pe=q;return q=oe,oe=t.updateForInStatement(oe,gr(oe.initializer),$e(oe.expression,Cr,ot),jf(oe.statement,Gt,e)),q=pe,oe}function Ni(oe){let pe=q;return q=oe,oe=t.updateForOfStatement(oe,oe.awaitModifier,gr(oe.initializer),$e(oe.expression,Cr,ot),jf(oe.statement,Gt,e)),q=pe,oe}function Pi(oe){return pu(oe)&&Pe(oe)}function gr(oe){if(Pi(oe)){let pe;for(let z of oe.declarations)pe=Sn(pe,Ce(z,!1)),z.initializer||ke(z);return pe?t.inlineExpressions(pe):t.createOmittedExpression()}else return $e(oe,Se,pp)}function pt(oe){return t.updateDoStatement(oe,jf(oe.statement,Gt,e),$e(oe.expression,Cr,ot))}function nn(oe){return t.updateWhileStatement(oe,$e(oe.expression,Cr,ot),jf(oe.statement,Gt,e))}function Dt(oe){return t.updateLabeledStatement(oe,oe.label,L.checkDefined($e(oe.statement,Gt,ca,t.liftToBlock)))}function pn(oe){return t.updateWithStatement(oe,$e(oe.expression,Cr,ot),L.checkDefined($e(oe.statement,Gt,ca,t.liftToBlock)))}function An(oe){return t.updateSwitchStatement(oe,$e(oe.expression,Cr,ot),L.checkDefined($e(oe.caseBlock,Gt,hO)))}function Kn(oe){let pe=q;return q=oe,oe=t.updateCaseBlock(oe,On(oe.clauses,Gt,Kj)),q=pe,oe}function hi(oe){return t.updateCaseClause(oe,$e(oe.expression,Cr,ot),On(oe.statements,Gt,ca))}function ri(oe){return xn(oe,Gt,e)}function vn(oe){return xn(oe,Gt,e)}function Ht(oe){let pe=q;return q=oe,oe=t.updateCatchClause(oe,oe.variableDeclaration,L.checkDefined($e(oe.block,Gt,Va))),q=pe,oe}function En(oe){let pe=q;return q=oe,oe=xn(oe,Gt,e),q=pe,oe}function dr(oe,pe){if(!(oe.transformFlags&276828160))return oe;switch(oe.kind){case 245:return $n(oe,!1);case 241:return at(oe);case 214:return Tt(oe,pe);case 356:return ve(oe,pe);case 223:if(Fg(oe))return ce(oe,pe);break;case 210:if(Dd(oe))return nt(oe);break;case 221:case 222:return ue(oe,pe)}return xn(oe,Cr,e)}function Cr(oe){return dr(oe,!1)}function Se(oe){return dr(oe,!0)}function at(oe){return t.updateExpressionStatement(oe,$e(oe.expression,Se,ot))}function Tt(oe,pe){return t.updateParenthesizedExpression(oe,$e(oe.expression,pe?Se:Cr,ot))}function ve(oe,pe){return t.updatePartiallyEmittedExpression(oe,$e(oe.expression,pe?Se:Cr,ot))}function nt(oe){let pe=jS(t,oe,w,f,l,s),z=$e(Sl(oe.arguments),Cr,ot),Te=pe&&(!z||!yo(z)||z.text!==pe.text)?pe:z;return t.createCallExpression(t.createPropertyAccessExpression(F,t.createIdentifier("import")),void 0,Te?[Te]:[])}function ce(oe,pe){return Q(oe.left)?KT(oe,Cr,e,0,!pe):xn(oe,Cr,e)}function Q(oe){if(Iu(oe,!0))return Q(oe.left);if(Km(oe))return Q(oe.expression);if(rs(oe))return vt(oe.properties,Q);if(fu(oe))return vt(oe.elements,Q);if(xf(oe))return Q(oe.name);if(yl(oe))return Q(oe.initializer);if(Re(oe)){let pe=l.getReferencedExportContainer(oe);return pe!==void 0&&pe.kind===308}else return!1}function ue(oe,pe){if((oe.operator===45||oe.operator===46)&&Re(oe.operand)&&!tc(oe.operand)&&!rv(oe.operand)&&!wR(oe.operand)){let z=rt(oe.operand);if(z){let Te,j=$e(oe.operand,Cr,ot);tv(oe)?j=t.updatePrefixUnaryExpression(oe,j):(j=t.updatePostfixUnaryExpression(oe,j),pe||(Te=t.createTempVariable(o),j=t.createAssignment(Te,j),it(j,oe)),j=t.createComma(j,t.cloneNode(oe.operand)),it(j,oe));for(let yt of z)j=_n(yt,Ot(j));return Te&&(j=t.createComma(j,Te),it(j,oe)),j}}return xn(oe,Cr,e)}function G(oe){switch(oe.kind){case 93:case 88:return}return oe}function Oe(oe,pe,z){if(pe.kind===308){let Te=sc(pe);w=pe,C=m[Te],P=S[Te],W=x[Te],F=A[Te],W&&delete x[Te],g(oe,pe,z),w=void 0,C=void 0,P=void 0,F=void 0,W=void 0}else g(oe,pe,z)}function je(oe,pe){return pe=d(oe,pe),Ke(pe)?pe:oe===1?Kt(pe):oe===4?Ge(pe):pe}function Ge(oe){switch(oe.kind){case 300:return kt(oe)}return oe}function kt(oe){var pe,z;let Te=oe.name;if(!tc(Te)&&!rv(Te)){let j=l.getReferencedImportDeclaration(Te);if(j){if(lm(j))return it(t.createPropertyAssignment(t.cloneNode(Te),t.createPropertyAccessExpression(t.getGeneratedNameForNode(j.parent),t.createIdentifier("default"))),oe);if($u(j))return it(t.createPropertyAssignment(t.cloneNode(Te),t.createPropertyAccessExpression(t.getGeneratedNameForNode(((z=(pe=j.parent)==null?void 0:pe.parent)==null?void 0:z.parent)||j),t.cloneNode(j.propertyName||j.name))),oe)}}return oe}function Kt(oe){switch(oe.kind){case 79:return ln(oe);case 223:return ir(oe);case 233:return ae(oe)}return oe}function ln(oe){var pe,z;if(Ya(oe)&8192){let Te=SO(w);return Te?t.createPropertyAccessExpression(Te,oe):oe}if(!tc(oe)&&!rv(oe)){let Te=l.getReferencedImportDeclaration(oe);if(Te){if(lm(Te))return it(t.createPropertyAccessExpression(t.getGeneratedNameForNode(Te.parent),t.createIdentifier("default")),oe);if($u(Te))return it(t.createPropertyAccessExpression(t.getGeneratedNameForNode(((z=(pe=Te.parent)==null?void 0:pe.parent)==null?void 0:z.parent)||Te),t.cloneNode(Te.propertyName||Te.name)),oe)}}return oe}function ir(oe){if(Mg(oe.operatorToken.kind)&&Re(oe.left)&&!tc(oe.left)&&!rv(oe.left)&&!wR(oe.left)){let pe=rt(oe.left);if(pe){let z=oe;for(let Te of pe)z=_n(Te,Ot(z));return z}}return oe}function ae(oe){return NA(oe)?t.createPropertyAccessExpression(F,t.createIdentifier("meta")):oe}function rt(oe){let pe;if(!tc(oe)){let z=l.getReferencedImportDeclaration(oe)||l.getReferencedValueDeclaration(oe);if(z){let Te=l.getReferencedExportContainer(oe,!1);Te&&Te.kind===308&&(pe=Sn(pe,t.getDeclarationName(z))),pe=si(pe,C&&C.exportedBindings[sc(z)])}}return pe}function Ot(oe){return W===void 0&&(W=[]),W[zo(oe)]=!0,oe}function Ke(oe){return W&&oe.id&&W[oe.id]}}var SMe=gt({"src/compiler/transformers/module/system.ts"(){"use strict";fa()}});function GK(e){let{factory:t,getEmitHelperFactory:r}=e,i=e.getEmitHost(),o=e.getEmitResolver(),s=e.getCompilerOptions(),l=Do(s),f=e.onEmitNode,d=e.onSubstituteNode;e.onEmitNode=q,e.onSubstituteNode=W,e.enableEmitNotification(308),e.enableSubstitution(79);let g,m,v;return y_(e,S);function S(R){if(R.isDeclarationFile)return R;if(Lc(R)||d_(s)){m=R,v=void 0;let ie=x(R);return m=void 0,v&&(ie=t.updateSourceFile(ie,it(t.createNodeArray(rH(ie.statements.slice(),v)),ie.statements))),!Lc(R)||vt(ie.statements,Rw)?ie:t.updateSourceFile(ie,it(t.createNodeArray([...ie.statements,bO(t)]),ie.statements))}return R}function x(R){let ie=nJ(t,r(),R,s);if(ie){let $=[],fe=t.copyPrologue(R.statements,$);return Sn($,ie),si($,On(R.statements,A,ca,fe)),t.updateSourceFile(R,it(t.createNodeArray($),R.statements))}else return xn(R,A,e)}function A(R){switch(R.kind){case 268:return Rl(s)>=100?C(R):void 0;case 274:return F(R);case 275:return B(R)}return R}function w(R){let ie=jS(t,R,L.checkDefined(m),i,o,s),$=[];if(ie&&$.push(ie),!v){let Z=t.createUniqueName("_createRequire",48),U=t.createImportDeclaration(void 0,t.createImportClause(!1,void 0,t.createNamedImports([t.createImportSpecifier(!1,t.createIdentifier("createRequire"),Z)])),t.createStringLiteral("module")),re=t.createUniqueName("__require",48),le=t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(re,void 0,void 0,t.createCallExpression(t.cloneNode(Z),void 0,[t.createPropertyAccessExpression(t.createMetaProperty(100,t.createIdentifier("meta")),t.createIdentifier("url"))]))],l>=2?2:0));v=[U,le]}let fe=v[1].declarationList.declarations[0].name;return L.assertNode(fe,Re),t.createCallExpression(t.cloneNode(fe),void 0,$)}function C(R){L.assert(ab(R),"import= for internal module references should be handled in an earlier transformer.");let ie;return ie=Sn(ie,Ir(it(t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.cloneNode(R.name),void 0,void 0,w(R))],l>=2?2:0)),R),R)),ie=P(ie,R),zp(ie)}function P(R,ie){return Mr(ie,1)&&(R=Sn(R,t.createExportDeclaration(void 0,ie.isTypeOnly,t.createNamedExports([t.createExportSpecifier(!1,void 0,vr(ie.name))])))),R}function F(R){return R.isExportEquals?void 0:R}function B(R){if(s.module!==void 0&&s.module>5||!R.exportClause||!qm(R.exportClause)||!R.moduleSpecifier)return R;let ie=R.exportClause.name,$=t.getGeneratedNameForNode(ie),fe=t.createImportDeclaration(void 0,t.createImportClause(!1,void 0,t.createNamespaceImport($)),R.moduleSpecifier,R.assertClause);Ir(fe,R.exportClause);let Z=v6(R)?t.createExportDefault($):t.createExportDeclaration(void 0,!1,t.createNamedExports([t.createExportSpecifier(!1,$,ie)]));return Ir(Z,R),[fe,Z]}function q(R,ie,$){Li(ie)?((Lc(ie)||d_(s))&&s.importHelpers&&(g=new Map),f(R,ie,$),g=void 0):f(R,ie,$)}function W(R,ie){return ie=d(R,ie),g&&Re(ie)&&Ya(ie)&8192?Y(ie):ie}function Y(R){let ie=vr(R),$=g.get(ie);return $||g.set(ie,$=t.createUniqueName(ie,48)),$}}var xMe=gt({"src/compiler/transformers/module/esnextAnd2015.ts"(){"use strict";fa()}});function bpe(e){let t=e.onSubstituteNode,r=e.onEmitNode,i=GK(e),o=e.onSubstituteNode,s=e.onEmitNode;e.onSubstituteNode=t,e.onEmitNode=r;let l=FK(e),f=e.onSubstituteNode,d=e.onEmitNode;e.onSubstituteNode=m,e.onEmitNode=v,e.enableSubstitution(308),e.enableEmitNotification(308);let g;return A;function m(C,P){return Li(P)?(g=P,t(C,P)):g?g.impliedNodeFormat===99?o(C,P):f(C,P):t(C,P)}function v(C,P,F){return Li(P)&&(g=P),g?g.impliedNodeFormat===99?s(C,P,F):d(C,P,F):r(C,P,F)}function S(C){return C.impliedNodeFormat===99?i:l}function x(C){if(C.isDeclarationFile)return C;g=C;let P=S(C)(C);return g=void 0,L.assert(Li(P)),P}function A(C){return C.kind===308?x(C):w(C)}function w(C){return e.factory.createBundle(on(C.sourceFiles,x),C.prepends)}}var AMe=gt({"src/compiler/transformers/module/node.ts"(){"use strict";fa()}});function xF(e){return wi(e)||Na(e)||$d(e)||Wo(e)||Ng(e)||zy(e)||uO(e)||_2(e)||Nc(e)||zm(e)||Jc(e)||ha(e)||_c(e)||Vg(e)||Nl(e)||Ep(e)||Ec(e)||kS(e)||br(e)||Ff(e)}function Epe(e){if(Ng(e)||zy(e))return t;return zm(e)||Nc(e)?i:zg(e);function t(s){let l=r(s);return l!==void 0?{diagnosticMessage:l,errorNode:e,typeName:e.name}:void 0}function r(s){return Ca(e)?s.errorModuleName?s.accessibility===2?_.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:_.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:e.parent.kind===260?s.errorModuleName?s.accessibility===2?_.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:_.Public_property_0_of_exported_class_has_or_is_using_private_name_1:s.errorModuleName?_.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Property_0_of_exported_interface_has_or_is_using_private_name_1}function i(s){let l=o(s);return l!==void 0?{diagnosticMessage:l,errorNode:e,typeName:e.name}:void 0}function o(s){return Ca(e)?s.errorModuleName?s.accessibility===2?_.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:_.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:e.parent.kind===260?s.errorModuleName?s.accessibility===2?_.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:_.Public_method_0_of_exported_class_has_or_is_using_private_name_1:s.errorModuleName?_.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Method_0_of_exported_interface_has_or_is_using_private_name_1}}function zg(e){if(wi(e)||Na(e)||$d(e)||br(e)||Wo(e)||Ec(e))return r;return Ng(e)||zy(e)?i:uO(e)||_2(e)||Nc(e)||zm(e)||Jc(e)||kS(e)?o:ha(e)?Ad(e,e.parent)&&Mr(e.parent,8)?r:s:_c(e)?f:Vg(e)?d:Nl(e)?g:Ep(e)||Ff(e)?m:L.assertNever(e,`Attempted to set a declaration diagnostic context for unhandled node kind: ${L.formatSyntaxKind(e.kind)}`);function t(v){if(e.kind===257||e.kind===205)return v.errorModuleName?v.accessibility===2?_.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:_.Exported_variable_0_has_or_is_using_private_name_1;if(e.kind===169||e.kind===208||e.kind===168||e.kind===166&&Mr(e.parent,8))return Ca(e)?v.errorModuleName?v.accessibility===2?_.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:_.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:e.parent.kind===260||e.kind===166?v.errorModuleName?v.accessibility===2?_.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:_.Public_property_0_of_exported_class_has_or_is_using_private_name_1:v.errorModuleName?_.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Property_0_of_exported_interface_has_or_is_using_private_name_1}function r(v){let S=t(v);return S!==void 0?{diagnosticMessage:S,errorNode:e,typeName:e.name}:void 0}function i(v){let S;return e.kind===175?Ca(e)?S=v.errorModuleName?_.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:S=v.errorModuleName?_.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:Ca(e)?S=v.errorModuleName?v.accessibility===2?_.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:S=v.errorModuleName?v.accessibility===2?_.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:S,errorNode:e.name,typeName:e.name}}function o(v){let S;switch(e.kind){case 177:S=v.errorModuleName?_.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 176:S=v.errorModuleName?_.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 178:S=v.errorModuleName?_.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 171:case 170:Ca(e)?S=v.errorModuleName?v.accessibility===2?_.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:_.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:e.parent.kind===260?S=v.errorModuleName?v.accessibility===2?_.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:_.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:S=v.errorModuleName?_.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 259:S=v.errorModuleName?v.accessibility===2?_.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:_.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:_.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return L.fail("This is unknown kind for signature: "+e.kind)}return{diagnosticMessage:S,errorNode:e.name||e}}function s(v){let S=l(v);return S!==void 0?{diagnosticMessage:S,errorNode:e,typeName:e.name}:void 0}function l(v){switch(e.parent.kind){case 173:return v.errorModuleName?v.accessibility===2?_.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 177:case 182:return v.errorModuleName?_.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 176:return v.errorModuleName?_.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 178:return v.errorModuleName?_.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 171:case 170:return Ca(e.parent)?v.errorModuleName?v.accessibility===2?_.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:e.parent.parent.kind===260?v.errorModuleName?v.accessibility===2?_.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:v.errorModuleName?_.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 259:case 181:return v.errorModuleName?v.accessibility===2?_.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 175:case 174:return v.errorModuleName?v.accessibility===2?_.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:_.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:_.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return L.fail(`Unknown parent for parameter: ${L.formatSyntaxKind(e.parent.kind)}`)}}function f(){let v;switch(e.parent.kind){case 260:v=_.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 261:v=_.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 197:v=_.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 182:case 177:v=_.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 176:v=_.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 171:case 170:Ca(e.parent)?v=_.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:e.parent.parent.kind===260?v=_.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:v=_.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 181:case 259:v=_.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 192:v=_.Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1;break;case 262:v=_.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return L.fail("This is unknown parent for type parameter: "+e.parent.kind)}return{diagnosticMessage:v,errorNode:e,typeName:e.name}}function d(){let v;return sl(e.parent.parent)?v=dd(e.parent)&&e.parent.token===117?_.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.parent.parent.name?_.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:_.extends_clause_of_exported_class_has_or_is_using_private_name_0:v=_.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:v,errorNode:e,typeName:sa(e.parent.parent)}}function g(){return{diagnosticMessage:_.Import_declaration_0_is_using_private_name_1,errorNode:e,typeName:e.name}}function m(v){return{diagnosticMessage:v.errorModuleName?_.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:_.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:Ff(e)?L.checkDefined(e.typeExpression):e.type,typeName:Ff(e)?sa(e):e.name}}}var CMe=gt({"src/compiler/transformers/declarations/diagnostics.ts"(){"use strict";fa()}});function Tpe(e,t,r){let i=e.getCompilerOptions();return lN(t,e,D,i,r?[r]:Pr(e.getSourceFiles(),LH),[UK],!1).diagnostics}function Spe(e,t){let r=t.text.substring(e.pos,e.end);return jl(r,"@internal")}function BK(e,t){let r=ea(e);if(r&&r.kind===166){let o=r.parent.parameters.indexOf(r),s=o>0?r.parent.parameters[o-1]:void 0,l=t.text,f=s?Qi(eb(l,xo(l,s.end+1,!1,!0)),Nm(l,e.pos)):eb(l,xo(l,e.pos,!1,!0));return f&&f.length&&Spe(To(f),t)}let i=r&&bH(r,t);return!!mn(i,o=>Spe(o,t))}function UK(e){let t=()=>L.fail("Diagnostic emitted without context"),r=t,i=!0,o=!1,s=!1,l=!1,f=!1,d,g,m,v,S,x,{factory:A}=e,w=e.getEmitHost(),C={trackSymbol:_e,reportInaccessibleThisError:ke,reportInaccessibleUniqueSymbolError:Ve,reportCyclicStructureError:we,reportPrivateInBaseOfClassExpression:ge,reportLikelyUnsafeImportRequiredError:Pe,reportTruncationError:Ce,moduleResolverHost:w,trackReferencedAmbientModule:U,trackExternalModuleSymbolOfImportTypeNode:le,reportNonlocalAugmentation:Ie,reportNonSerializableProperty:Be,reportImportTypeNodeResolutionModeOverride:Ne},P,F,B,q,W,Y,R=e.getEmitResolver(),ie=e.getCompilerOptions(),{noResolve:$,stripInternal:fe}=ie;return Ye;function Z(G){if(G){g=g||new Set;for(let Oe of G)g.add(Oe)}}function U(G,Oe){let je=R.getTypeReferenceDirectivesForSymbol(Oe,67108863);if(Fn(je))return Z(je);let Ge=Gn(G);q.set(sc(Ge),Ge)}function re(G){if(G.accessibility===0){if(G&&G.aliasesToMakeVisible)if(!m)m=G.aliasesToMakeVisible;else for(let Oe of G.aliasesToMakeVisible)Of(m,Oe)}else{let Oe=r(G);if(Oe)return Oe.typeName?e.addDiagnostic(hr(G.errorNode||Oe.errorNode,Oe.diagnosticMessage,Qc(Oe.typeName),G.errorSymbolName,G.errorModuleName)):e.addDiagnostic(hr(G.errorNode||Oe.errorNode,Oe.diagnosticMessage,G.errorSymbolName,G.errorModuleName)),!0}return!1}function le(G){o||(x||(x=[])).push(G)}function _e(G,Oe,je){if(G.flags&262144)return!1;let Ge=re(R.isSymbolAccessible(G,Oe,je,!0));return Z(R.getTypeReferenceDirectivesForSymbol(G,je)),Ge}function ge(G){(P||F)&&e.addDiagnostic(hr(P||F,_.Property_0_of_exported_class_expression_may_not_be_private_or_protected,G))}function X(){return P?os(P):F&&sa(F)?os(sa(F)):F&&pc(F)?F.isExportEquals?"export=":"default":"(Missing)"}function Ve(){(P||F)&&e.addDiagnostic(hr(P||F,_.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,X(),"unique symbol"))}function we(){(P||F)&&e.addDiagnostic(hr(P||F,_.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,X()))}function ke(){(P||F)&&e.addDiagnostic(hr(P||F,_.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,X(),"this"))}function Pe(G){(P||F)&&e.addDiagnostic(hr(P||F,_.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,X(),G))}function Ce(){(P||F)&&e.addDiagnostic(hr(P||F,_.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))}function Ie(G,Oe,je){var Ge;let kt=(Ge=Oe.declarations)==null?void 0:Ge.find(ln=>Gn(ln)===G),Kt=Pr(je.declarations,ln=>Gn(ln)!==G);if(kt&&Kt)for(let ln of Kt)e.addDiagnostic(Ao(hr(ln,_.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized),hr(kt,_.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file)))}function Be(G){(P||F)&&e.addDiagnostic(hr(P||F,_.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized,G))}function Ne(){!TR()&&(P||F)&&e.addDiagnostic(hr(P||F,_.The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next))}function Le(G,Oe){let je=r;r=kt=>kt.errorNode&&xF(kt.errorNode)?zg(kt.errorNode)(kt):{diagnosticMessage:kt.errorModuleName?_.Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:_.Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit,errorNode:kt.errorNode||G};let Ge=R.getDeclarationStatementsForSourceFile(G,tE,C,Oe);return r=je,Ge}function Ye(G){if(G.kind===308&&G.isDeclarationFile)return G;if(G.kind===309){o=!0,q=new Map,W=new Map;let Ot=!1,Ke=A.createBundle(on(G.sourceFiles,z=>{if(z.isDeclarationFile)return;if(Ot=Ot||z.hasNoDefaultLib,B=z,d=z,m=void 0,S=!1,v=new Map,r=t,l=!1,f=!1,_t(z,q),ct(z,W),kd(z)||Mf(z)){s=!1,i=!1;let j=Cu(z)?A.createNodeArray(Le(z,!0)):On(z.statements,ri,ca);return A.updateSourceFile(z,[A.createModuleDeclaration([A.createModifier(136)],A.createStringLiteral(Z6(e.getEmitHost(),z)),A.createModuleBlock(it(A.createNodeArray(An(j)),z.statements)))],!0,[],[],!1,[])}i=!0;let Te=Cu(z)?A.createNodeArray(Le(z)):On(z.statements,ri,ca);return A.updateSourceFile(z,An(Te),!0,[],[],!1,[])}),Zi(G.prepends,z=>{if(z.kind===311){let Te=fz(z,"dts",fe);return Ot=Ot||!!Te.hasNoDefaultLib,_t(Te,q),Z(on(Te.typeReferenceDirectives,j=>[j.fileName,j.resolutionMode])),ct(Te,W),Te}return z}));Ke.syntheticFileReferences=[],Ke.syntheticTypeReferences=ir(),Ke.syntheticLibReferences=ln(),Ke.hasNoDefaultLib=Ot;let oe=ni(Al(KL(G,w,!0).declarationFilePath)),pe=rt(Ke.syntheticFileReferences,oe);return q.forEach(pe),Ke}i=!0,l=!1,f=!1,d=G,B=G,r=t,o=!1,s=!1,S=!1,m=void 0,v=new Map,g=void 0,q=_t(B,new Map),W=ct(B,new Map);let Oe=[],je=ni(Al(KL(G,w,!0).declarationFilePath)),Ge=rt(Oe,je),kt;if(Cu(B))kt=A.createNodeArray(Le(G)),q.forEach(Ge),Y=Pr(kt,yT);else{let Ot=On(G.statements,ri,ca);kt=it(A.createNodeArray(An(Ot)),G.statements),q.forEach(Ge),Y=Pr(kt,yT),Lc(G)&&(!s||l&&!f)&&(kt=it(A.createNodeArray([...kt,bO(A)]),kt))}let Kt=A.updateSourceFile(G,kt,!0,Oe,ir(),G.hasNoDefaultLib,ln());return Kt.exportedModulesFromDeclarationEmit=x,Kt;function ln(){return lo(W.keys(),Ot=>({fileName:Ot,pos:-1,end:-1}))}function ir(){return g?Zi(lo(g.keys()),ae):[]}function ae([Ot,Ke]){if(Y){for(let oe of Y)if(Nl(oe)&&um(oe.moduleReference)){let pe=oe.moduleReference.expression;if(es(pe)&&pe.text===Ot)return}else if(gl(oe)&&yo(oe.moduleSpecifier)&&oe.moduleSpecifier.text===Ot)return}return{fileName:Ot,pos:-1,end:-1,...Ke?{resolutionMode:Ke}:void 0}}function rt(Ot,Ke){return oe=>{let pe;if(oe.isDeclarationFile)pe=oe.fileName;else{if(o&&ya(G.sourceFiles,oe))return;let z=KL(oe,w,!0);pe=z.declarationFilePath||z.jsFilePath||oe.fileName}if(pe){let z=sF(ie,B,Ts(Ke,w.getCurrentDirectory(),w.getCanonicalFileName),Ts(pe,w.getCurrentDirectory(),w.getCanonicalFileName),w);if(!Jd(z)){Z([[z,void 0]]);return}let Te=Q1(Ke,pe,w.getCurrentDirectory(),w.getCanonicalFileName,!1);if(na(Te,"./")&&gA(Te)&&(Te=Te.substring(2)),na(Te,"node_modules/")||JS(Te))return;Ot.push({pos:-1,end:-1,fileName:Te})}}}}function _t(G,Oe){return $||!BT(G)&&Cu(G)||mn(G.referencedFiles,je=>{let Ge=w.getSourceFileFromReference(G,je);Ge&&Oe.set(sc(Ge),Ge)}),Oe}function ct(G,Oe){return mn(G.libReferenceDirectives,je=>{w.getLibFileFromReference(je)&&Oe.set(n_(je.fileName),!0)}),Oe}function Rt(G){if(G.kind===79)return G;return G.kind===204?A.updateArrayBindingPattern(G,On(G.elements,Oe,c6)):A.updateObjectBindingPattern(G,On(G.elements,Oe,Wo));function Oe(je){return je.kind===229?je:je.propertyName&&Re(je.propertyName)&&Re(je.name)&&!je.symbol.isReferenced&&!q6(je.propertyName)?A.updateBindingElement(je,je.dotDotDotToken,void 0,je.propertyName,qe(je)?je.initializer:void 0):A.updateBindingElement(je,je.dotDotDotToken,je.propertyName,Rt(je.name),qe(je)?je.initializer:void 0)}}function We(G,Oe,je){let Ge;S||(Ge=r,r=zg(G));let kt=A.updateParameterDeclaration(G,LMe(G,Oe),G.dotDotDotToken,Rt(G.name),R.isOptionalParameter(G)?G.questionToken||A.createToken(57):void 0,Qt(G,je||G.type,!0),zt(G));return S||(r=Ge),kt}function qe(G){return kMe(G)&&R.isLiteralConstDeclaration(ea(G))}function zt(G){if(qe(G))return R.createLiteralConstValue(ea(G),C)}function Qt(G,Oe,je){if(!je&&cd(G,8)||qe(G))return;let Ge=G.kind===166&&(R.isRequiredInitializedParameter(G)||R.isOptionalUninitializedParameterProperty(G));if(Oe&&!Ge)return $e(Oe,Kn,bi);if(!ea(G))return Oe?$e(Oe,Kn,bi):A.createKeywordTypeNode(131);if(G.kind===175)return A.createKeywordTypeNode(131);P=G.name;let kt;if(S||(kt=r,r=zg(G)),G.kind===257||G.kind===205)return Kt(R.createTypeOfDeclaration(G,d,tE,C));if(G.kind===166||G.kind===169||G.kind===168)return $d(G)||!G.initializer?Kt(R.createTypeOfDeclaration(G,d,tE,C,Ge)):Kt(R.createTypeOfDeclaration(G,d,tE,C,Ge)||R.createTypeOfExpression(G.initializer,d,tE,C));return Kt(R.createReturnTypeOfSignatureDeclaration(G,d,tE,C));function Kt(ln){return P=void 0,S||(r=kt),ln||A.createKeywordTypeNode(131)}}function tn(G){switch(G=ea(G),G.kind){case 259:case 264:case 261:case 260:case 262:case 263:return!R.isDeclarationVisible(G);case 257:return!_n(G);case 268:case 269:case 275:case 274:return!1;case 172:return!0}return!1}function kn(G){var Oe;if(G.body)return!0;let je=(Oe=G.symbol.declarations)==null?void 0:Oe.filter(Ge=>Jc(Ge)&&!Ge.body);return!je||je.indexOf(G)===je.length-1}function _n(G){return ol(G)?!1:La(G.name)?vt(G.name.elements,_n):R.isDeclarationVisible(G)}function Gt(G,Oe,je){if(cd(G,8))return A.createNodeArray();let Ge=on(Oe,kt=>We(kt,je));return Ge?A.createNodeArray(Ge,Oe.hasTrailingComma):A.createNodeArray()}function $n(G,Oe){let je;if(!Oe){let Ge=F0(G);Ge&&(je=[We(Ge)])}if(Sf(G)){let Ge;if(!Oe){let kt=VI(G);if(kt){let Kt=Q(G,R.getAllAccessorDeclarations(G));Ge=We(kt,void 0,Kt)}}Ge||(Ge=A.createParameterDeclaration(void 0,void 0,"value")),je=Sn(je,Ge)}return A.createNodeArray(je||Je)}function ui(G,Oe){return cd(G,8)?void 0:On(Oe,Kn,_c)}function Ni(G){return Li(G)||Ep(G)||Tc(G)||sl(G)||ku(G)||Ia(G)||kS(G)||EL(G)}function Pi(G,Oe){let je=R.isEntityNameVisible(G,Oe);re(je),Z(R.getTypeReferenceDirectivesForEntityName(G))}function gr(G,Oe){return Kd(G)&&Kd(Oe)&&(G.jsDoc=Oe.jsDoc),hl(G,sm(Oe))}function pt(G,Oe){if(Oe){if(s=s||G.kind!==264&&G.kind!==202,es(Oe))if(o){let je=Dce(e.getEmitHost(),R,G);if(je)return A.createStringLiteral(je)}else{let je=R.getSymbolOfExternalModuleSpecifier(Oe);je&&(x||(x=[])).push(je)}return Oe}}function nn(G){if(R.isDeclarationVisible(G))if(G.moduleReference.kind===280){let Oe=wI(G);return A.updateImportEqualsDeclaration(G,G.modifiers,G.isTypeOnly,G.name,A.updateExternalModuleReference(G.moduleReference,pt(G,Oe)))}else{let Oe=r;return r=zg(G),Pi(G.moduleReference,d),r=Oe,G}}function Dt(G){if(!G.importClause)return A.updateImportDeclaration(G,G.modifiers,G.importClause,pt(G,G.moduleSpecifier),pn(G.assertClause));let Oe=G.importClause&&G.importClause.name&&R.isDeclarationVisible(G.importClause)?G.importClause.name:void 0;if(!G.importClause.namedBindings)return Oe&&A.updateImportDeclaration(G,G.modifiers,A.updateImportClause(G.importClause,G.importClause.isTypeOnly,Oe,void 0),pt(G,G.moduleSpecifier),pn(G.assertClause));if(G.importClause.namedBindings.kind===271){let Ge=R.isDeclarationVisible(G.importClause.namedBindings)?G.importClause.namedBindings:void 0;return Oe||Ge?A.updateImportDeclaration(G,G.modifiers,A.updateImportClause(G.importClause,G.importClause.isTypeOnly,Oe,Ge),pt(G,G.moduleSpecifier),pn(G.assertClause)):void 0}let je=Zi(G.importClause.namedBindings.elements,Ge=>R.isDeclarationVisible(Ge)?Ge:void 0);if(je&&je.length||Oe)return A.updateImportDeclaration(G,G.modifiers,A.updateImportClause(G.importClause,G.importClause.isTypeOnly,Oe,je&&je.length?A.updateNamedImports(G.importClause.namedBindings,je):void 0),pt(G,G.moduleSpecifier),pn(G.assertClause));if(R.isImportRequiredByAugmentation(G))return A.updateImportDeclaration(G,G.modifiers,void 0,pt(G,G.moduleSpecifier),pn(G.assertClause))}function pn(G){if(qS(G)!==void 0)return TR()||e.addDiagnostic(hr(G,_.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)),G}function An(G){for(;Fn(m);){let je=m.shift();if(!E6(je))return L.fail(`Late replaced statement was found which is not handled by the declaration transformer!: ${L.formatSyntaxKind(je.kind)}`);let Ge=i;i=je.parent&&Li(je.parent)&&!(Lc(je.parent)&&o);let kt=Ht(je);i=Ge,v.set(sc(je),kt)}return On(G,Oe,ca);function Oe(je){if(E6(je)){let Ge=sc(je);if(v.has(Ge)){let kt=v.get(Ge);return v.delete(Ge),kt&&((ba(kt)?vt(kt,l6):l6(kt))&&(l=!0),Li(je.parent)&&(ba(kt)?vt(kt,Rw):Rw(kt))&&(s=!0)),kt}}return je}}function Kn(G){if(at(G)||Kl(G)&&(tn(G)||Xy(G)&&!R.isLateBound(ea(G)))||Ia(G)&&R.isImplementationOfOverload(G)||Bue(G))return;let Oe;Ni(G)&&(Oe=d,d=G);let je=r,Ge=xF(G),kt=S,Kt=(G.kind===184||G.kind===197)&&G.parent.kind!==262;if((Nc(G)||zm(G))&&cd(G,8))return G.symbol&&G.symbol.declarations&&G.symbol.declarations[0]!==G?void 0:ln(A.createPropertyDeclaration(nt(G),G.name,void 0,void 0,void 0));if(Ge&&!S&&(r=zg(G)),vL(G)&&Pi(G.exprName,d),Kt&&(S=!0),wMe(G))switch(G.kind){case 230:{(Cd(G.expression)||bc(G.expression))&&Pi(G.expression,d);let ir=xn(G,Kn,e);return ln(A.updateExpressionWithTypeArguments(ir,ir.expression,ir.typeArguments))}case 180:{Pi(G.typeName,d);let ir=xn(G,Kn,e);return ln(A.updateTypeReferenceNode(ir,ir.typeName,ir.typeArguments))}case 177:return ln(A.updateConstructSignature(G,ui(G,G.typeParameters),Gt(G,G.parameters),Qt(G,G.type)));case 173:{let ir=A.createConstructorDeclaration(nt(G),Gt(G,G.parameters,0),void 0);return ln(ir)}case 171:{if(pi(G.name))return ln(void 0);let ir=A.createMethodDeclaration(nt(G),void 0,G.name,G.questionToken,ui(G,G.typeParameters),Gt(G,G.parameters),Qt(G,G.type),void 0);return ln(ir)}case 174:{if(pi(G.name))return ln(void 0);let ir=Q(G,R.getAllAccessorDeclarations(G));return ln(A.updateGetAccessorDeclaration(G,nt(G),G.name,$n(G,cd(G,8)),Qt(G,ir),void 0))}case 175:return pi(G.name)?ln(void 0):ln(A.updateSetAccessorDeclaration(G,nt(G),G.name,$n(G,cd(G,8)),void 0));case 169:return pi(G.name)?ln(void 0):ln(A.updatePropertyDeclaration(G,nt(G),G.name,G.questionToken,Qt(G,G.type),zt(G)));case 168:return pi(G.name)?ln(void 0):ln(A.updatePropertySignature(G,nt(G),G.name,G.questionToken,Qt(G,G.type)));case 170:return pi(G.name)?ln(void 0):ln(A.updateMethodSignature(G,nt(G),G.name,G.questionToken,ui(G,G.typeParameters),Gt(G,G.parameters),Qt(G,G.type)));case 176:return ln(A.updateCallSignature(G,ui(G,G.typeParameters),Gt(G,G.parameters),Qt(G,G.type)));case 178:return ln(A.updateIndexSignature(G,nt(G),Gt(G,G.parameters),$e(G.type,Kn,bi)||A.createKeywordTypeNode(131)));case 257:return La(G.name)?dr(G.name):(Kt=!0,S=!0,ln(A.updateVariableDeclaration(G,G.name,void 0,Qt(G,G.type),zt(G))));case 165:return hi(G)&&(G.default||G.constraint)?ln(A.updateTypeParameterDeclaration(G,G.modifiers,G.name,void 0,void 0)):ln(xn(G,Kn,e));case 191:{let ir=$e(G.checkType,Kn,bi),ae=$e(G.extendsType,Kn,bi),rt=d;d=G.trueType;let Ot=$e(G.trueType,Kn,bi);d=rt;let Ke=$e(G.falseType,Kn,bi);return L.assert(ir),L.assert(ae),L.assert(Ot),L.assert(Ke),ln(A.updateConditionalTypeNode(G,ir,ae,Ot,Ke))}case 181:return ln(A.updateFunctionTypeNode(G,On(G.typeParameters,Kn,_c),Gt(G,G.parameters),L.checkDefined($e(G.type,Kn,bi))));case 182:return ln(A.updateConstructorTypeNode(G,nt(G),On(G.typeParameters,Kn,_c),Gt(G,G.parameters),L.checkDefined($e(G.type,Kn,bi))));case 202:return ib(G)?ln(A.updateImportTypeNode(G,A.updateLiteralTypeNode(G.argument,pt(G,G.argument.literal)),G.assertions,G.qualifier,On(G.typeArguments,Kn,bi),G.isTypeOf)):ln(G);default:L.assertNever(G,`Attempted to process unhandled node kind: ${L.formatSyntaxKind(G.kind)}`)}return p2(G)&&Gs(B,G.pos).line===Gs(B,G.end).line&&Jn(G,1),ln(xn(G,Kn,e));function ln(ir){return ir&&Ge&&Xy(G)&&Se(G),Ni(G)&&(d=Oe),Ge&&!S&&(r=je),Kt&&(S=kt),ir===G?ir:ir&&Ir(gr(ir,G),G)}}function hi(G){return G.parent.kind===171&&cd(G.parent,8)}function ri(G){if(!DMe(G)||at(G))return;switch(G.kind){case 275:return Li(G.parent)&&(s=!0),f=!0,A.updateExportDeclaration(G,G.modifiers,G.isTypeOnly,G.exportClause,pt(G,G.moduleSpecifier),qS(G.assertClause)?G.assertClause:void 0);case 274:{if(Li(G.parent)&&(s=!0),f=!0,G.expression.kind===79)return G;{let je=A.createUniqueName("_default",16);r=()=>({diagnosticMessage:_.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:G}),F=G;let Ge=A.createVariableDeclaration(je,void 0,R.createTypeOfExpression(G.expression,G,tE,C),void 0);F=void 0;let kt=A.createVariableStatement(i?[A.createModifier(136)]:[],A.createVariableDeclarationList([Ge],2));return gr(kt,G),ZR(G),[kt,A.updateExportAssignment(G,G.modifiers,je)]}}}let Oe=Ht(G);return v.set(sc(G),Oe),G}function vn(G){if(Nl(G)||cd(G,1024)||!g_(G))return G;let Oe=A.createModifiersFromModifierFlags(uu(G)&258046);return A.updateModifiers(G,Oe)}function Ht(G){if(m)for(;m8(m,G););if(at(G))return;switch(G.kind){case 268:return nn(G);case 269:return Dt(G)}if(Kl(G)&&tn(G)||Ia(G)&&R.isImplementationOfOverload(G))return;let Oe;Ni(G)&&(Oe=d,d=G);let je=xF(G),Ge=r;je&&(r=zg(G));let kt=i;switch(G.kind){case 262:{i=!1;let ln=Kt(A.updateTypeAliasDeclaration(G,nt(G),G.name,On(G.typeParameters,Kn,_c),L.checkDefined($e(G.type,Kn,bi))));return i=kt,ln}case 261:return Kt(A.updateInterfaceDeclaration(G,nt(G),G.name,ui(G,G.typeParameters),ue(G.heritageClauses),On(G.members,Kn,_T)));case 259:{let ln=Kt(A.updateFunctionDeclaration(G,nt(G),void 0,G.name,ui(G,G.typeParameters),Gt(G,G.parameters),Qt(G,G.type),void 0));if(ln&&R.isExpandoFunctionDeclaration(G)&&kn(G)){let ir=R.getPropertiesOfContainerFunction(G),ae=fm.createModuleDeclaration(void 0,ln.name||A.createIdentifier("_default"),A.createModuleBlock([]),16);go(ae,d),ae.locals=Ua(ir),ae.symbol=ir[0].parent;let rt=[],Ot=Zi(ir,j=>{if(!j.valueDeclaration||!br(j.valueDeclaration))return;r=zg(j.valueDeclaration);let yt=R.createTypeOfDeclaration(j.valueDeclaration,ae,tE,C);r=Ge;let lt=Gi(j.escapedName),Qe=fS(lt),Vt=Qe?A.getGeneratedNameForNode(j.valueDeclaration):A.createIdentifier(lt);Qe&&rt.push([Vt,lt]);let Hn=A.createVariableDeclaration(Vt,void 0,yt,void 0);return A.createVariableStatement(Qe?void 0:[A.createToken(93)],A.createVariableDeclarationList([Hn]))});rt.length?Ot.push(A.createExportDeclaration(void 0,!1,A.createNamedExports(on(rt,([j,yt])=>A.createExportSpecifier(!1,j,yt))))):Ot=Zi(Ot,j=>A.updateModifiers(j,0));let Ke=A.createModuleDeclaration(nt(G),G.name,A.createModuleBlock(Ot),16);if(!cd(ln,1024))return[ln,Ke];let oe=A.createModifiersFromModifierFlags(uu(ln)&-1026|2),pe=A.updateFunctionDeclaration(ln,oe,void 0,ln.name,ln.typeParameters,ln.parameters,ln.type,void 0),z=A.updateModuleDeclaration(Ke,oe,Ke.name,Ke.body),Te=A.createExportAssignment(void 0,!1,Ke.name);return Li(G.parent)&&(s=!0),f=!0,[pe,z,Te]}else return ln}case 264:{i=!1;let ln=G.body;if(ln&&ln.kind===265){let ir=l,ae=f;f=!1,l=!1;let rt=On(ln.statements,ri,ca),Ot=An(rt);G.flags&16777216&&(l=!1),!mp(G)&&!ve(Ot)&&!f&&(l?Ot=A.createNodeArray([...Ot,bO(A)]):Ot=On(Ot,vn,ca));let Ke=A.updateModuleBlock(ln,Ot);i=kt,l=ir,f=ae;let oe=nt(G);return Kt(A.updateModuleDeclaration(G,oe,D0(G)?pt(G,G.name):G.name,Ke))}else{i=kt;let ir=nt(G);i=!1,$e(ln,ri);let ae=sc(ln),rt=v.get(ae);return v.delete(ae),Kt(A.updateModuleDeclaration(G,ir,G.name,rt))}}case 260:{P=G.name,F=G;let ln=A.createNodeArray(nt(G)),ir=ui(G,G.typeParameters),ae=Vm(G),rt;if(ae){let Te=r;rt=WD(Uo(ae.parameters,j=>{if(!Mr(j,16476)||at(j))return;if(r=zg(j),j.name.kind===79)return gr(A.createPropertyDeclaration(nt(j),j.name,j.questionToken,Qt(j,j.type),zt(j)),j);return yt(j.name);function yt(lt){let Qe;for(let Vt of lt.elements)ol(Vt)||(La(Vt.name)&&(Qe=Qi(Qe,yt(Vt.name))),Qe=Qe||[],Qe.push(A.createPropertyDeclaration(nt(j),Vt.name,void 0,Qt(Vt,void 0),void 0)));return Qe}})),r=Te}let Ke=vt(G.members,Te=>!!Te.name&&pi(Te.name))?[A.createPropertyDeclaration(void 0,A.createPrivateIdentifier("#private"),void 0,void 0,void 0)]:void 0,oe=Qi(Qi(Ke,rt),On(G.members,Kn,_l)),pe=A.createNodeArray(oe),z=hp(G);if(z&&!bc(z.expression)&&z.expression.kind!==104){let Te=G.name?Gi(G.name.escapedText):"default",j=A.createUniqueName(`${Te}_base`,16);r=()=>({diagnosticMessage:_.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,errorNode:z,typeName:G.name});let yt=A.createVariableDeclaration(j,void 0,R.createTypeOfExpression(z.expression,G,tE,C),void 0),lt=A.createVariableStatement(i?[A.createModifier(136)]:[],A.createVariableDeclarationList([yt],2)),Qe=A.createNodeArray(on(G.heritageClauses,Vt=>{if(Vt.token===94){let Hn=r;r=zg(Vt.types[0]);let jr=A.updateHeritageClause(Vt,on(Vt.types,ei=>A.updateExpressionWithTypeArguments(ei,j,On(ei.typeArguments,Kn,bi))));return r=Hn,jr}return A.updateHeritageClause(Vt,On(A.createNodeArray(Pr(Vt.types,Hn=>bc(Hn.expression)||Hn.expression.kind===104)),Kn,Vg))}));return[lt,Kt(A.updateClassDeclaration(G,ln,G.name,ir,Qe,pe))]}else{let Te=ue(G.heritageClauses);return Kt(A.updateClassDeclaration(G,ln,G.name,ir,Te,pe))}}case 240:return Kt(En(G));case 263:return Kt(A.updateEnumDeclaration(G,A.createNodeArray(nt(G)),G.name,A.createNodeArray(Zi(G.members,ln=>{if(at(ln))return;let ir=R.getConstantValue(ln);return gr(A.updateEnumMember(ln,ln.name,ir!==void 0?typeof ir=="string"?A.createStringLiteral(ir):A.createNumericLiteral(ir):void 0),ln)}))))}return L.assertNever(G,`Unhandled top-level node in declaration emit: ${L.formatSyntaxKind(G.kind)}`);function Kt(ln){return Ni(G)&&(d=Oe),je&&(r=Ge),G.kind===264&&(i=kt),ln===G?ln:(F=void 0,P=void 0,ln&&Ir(gr(ln,G),G))}}function En(G){if(!mn(G.declarationList.declarations,_n))return;let Oe=On(G.declarationList.declarations,Kn,wi);if(Fn(Oe))return A.updateVariableStatement(G,A.createNodeArray(nt(G)),A.updateVariableDeclarationList(G.declarationList,Oe))}function dr(G){return t_(Zi(G.elements,Oe=>Cr(Oe)))}function Cr(G){if(G.kind!==229&&G.name)return _n(G)?La(G.name)?dr(G.name):A.createVariableDeclaration(G.name,void 0,Qt(G,void 0),void 0):void 0}function Se(G){let Oe;S||(Oe=r,r=Epe(G)),P=G.name,L.assert(R.isLateBound(ea(G)));let Ge=G.name.expression;Pi(Ge,d),S||(r=Oe),P=void 0}function at(G){return!!fe&&!!G&&BK(G,B)}function Tt(G){return pc(G)||Il(G)}function ve(G){return vt(G,Tt)}function nt(G){let Oe=uu(G),je=ce(G);return Oe===je?vK(G.modifiers,Ge=>zr(Ge,Ha),Ha):A.createModifiersFromModifierFlags(je)}function ce(G){let Oe=241147,je=i&&!IMe(G)?2:0,Ge=G.parent.kind===308;return(!Ge||o&&Ge&&Lc(G.parent))&&(Oe^=2,je=0),xpe(G,Oe,je)}function Q(G,Oe){let je=VK(G);return!je&&G!==Oe.firstAccessor&&(je=VK(Oe.firstAccessor),r=zg(Oe.firstAccessor)),!je&&Oe.secondAccessor&&G!==Oe.secondAccessor&&(je=VK(Oe.secondAccessor),r=zg(Oe.secondAccessor)),je}function ue(G){return A.createNodeArray(Pr(on(G,Oe=>A.updateHeritageClause(Oe,On(A.createNodeArray(Pr(Oe.types,je=>bc(je.expression)||Oe.token===94&&je.expression.kind===104)),Kn,Vg))),Oe=>Oe.types&&!!Oe.types.length))}}function IMe(e){return e.kind===261}function LMe(e,t,r){return D.createModifiersFromModifierFlags(xpe(e,t,r))}function xpe(e,t=258043,r=0){let i=uu(e)&t|r;return i&1024&&!(i&1)&&(i^=1),i&1024&&i&2&&(i^=2),i}function VK(e){if(e)return e.kind===174?e.type:e.parameters.length>0?e.parameters[0].type:void 0}function kMe(e){switch(e.kind){case 169:case 168:return!cd(e,8);case 166:case 257:return!0}return!1}function DMe(e){switch(e.kind){case 259:case 264:case 268:case 261:case 260:case 262:case 263:case 240:case 269:case 275:case 274:return!0}return!1}function wMe(e){switch(e.kind){case 177:case 173:case 171:case 174:case 175:case 169:case 168:case 170:case 176:case 178:case 257:case 165:case 230:case 180:case 191:case 181:case 182:case 202:return!0}return!1}var tE,RMe=gt({"src/compiler/transformers/declarations.ts"(){"use strict";fa(),dK(),tE=531469}});function OMe(e){switch(e){case 99:case 7:case 6:case 5:return GK;case 4:return vpe;case 100:case 199:return bpe;default:return FK}}function jK(e,t,r){return{scriptTransformers:NMe(e,t,r),declarationTransformers:PMe(t)}}function NMe(e,t,r){if(r)return Je;let i=Do(e),o=Rl(e),s=MR(e),l=[];return si(l,t&&on(t.before,Cpe)),l.push(Z_e),e.experimentalDecorators?l.push(rpe):(i<99||!s)&&l.push(ipe),l.push(tpe),AW(e)&&l.push(dpe),i<99&&l.push(upe),i<8&&l.push(lpe),i<7&&l.push(cpe),i<6&&l.push(spe),i<5&&l.push(ope),i<4&&l.push(ape),i<3&&l.push(_pe),i<2&&(l.push(mpe),l.push(gpe)),l.push(OMe(o)),i<1&&l.push(hpe),si(l,t&&on(t.after,Cpe)),l}function PMe(e){let t=[];return t.push(UK),si(t,e&&on(e.afterDeclarations,FMe)),t}function MMe(e){return t=>Bz(t)?e.transformBundle(t):e.transformSourceFile(t)}function Ape(e,t){return r=>{let i=e(r);return typeof i=="function"?t(r,i):MMe(i)}}function Cpe(e){return Ape(e,y_)}function FMe(e){return Ape(e,(t,r)=>r)}function zL(e,t){return t}function cN(e,t,r){r(e,t)}function lN(e,t,r,i,o,s,l){var f,d;let g=new Array(361),m,v,S,x=0,A=[],w=[],C=[],P=[],F=0,B=!1,q=[],W=0,Y,R,ie=zL,$=cN,fe=0,Z=[],U={factory:r,getCompilerOptions:()=>i,getEmitResolver:()=>e,getEmitHost:()=>t,getEmitHelperFactory:zu(()=>Tue(U)),startLexicalEnvironment:Le,suspendLexicalEnvironment:Ye,resumeLexicalEnvironment:_t,endLexicalEnvironment:ct,setLexicalEnvironmentFlags:Rt,getLexicalEnvironmentFlags:We,hoistVariableDeclaration:Ie,hoistFunctionDeclaration:Be,addInitializationStatement:Ne,startBlockScope:qe,endBlockScope:zt,addBlockScopedVariable:Qt,requestEmitHelper:tn,readEmitHelpers:kn,enableSubstitution:X,enableEmitNotification:ke,isSubstitutionEnabled:Ve,isEmitNotificationEnabled:Pe,get onSubstituteNode(){return ie},set onSubstituteNode(Gt){L.assert(fe<1,"Cannot modify transformation hooks after initialization has completed."),L.assert(Gt!==void 0,"Value must not be 'undefined'"),ie=Gt},get onEmitNode(){return $},set onEmitNode(Gt){L.assert(fe<1,"Cannot modify transformation hooks after initialization has completed."),L.assert(Gt!==void 0,"Value must not be 'undefined'"),$=Gt},addDiagnostic(Gt){Z.push(Gt)}};for(let Gt of o)yz(Gn(ea(Gt)));Fs("beforeTransform");let re=s.map(Gt=>Gt(U)),le=Gt=>{for(let $n of re)Gt=$n(Gt);return Gt};fe=1;let _e=[];for(let Gt of o)(f=ai)==null||f.push(ai.Phase.Emit,"transformNodes",Gt.kind===308?{path:Gt.path}:{kind:Gt.kind,pos:Gt.pos,end:Gt.end}),_e.push((l?le:ge)(Gt)),(d=ai)==null||d.pop();return fe=2,Fs("afterTransform"),hf("transformTime","beforeTransform","afterTransform"),{transformed:_e,substituteNode:we,emitNodeWithNotification:Ce,isEmitNotificationEnabled:Pe,dispose:_n,diagnostics:Z};function ge(Gt){return Gt&&(!Li(Gt)||!Gt.isDeclarationFile)?le(Gt):Gt}function X(Gt){L.assert(fe<2,"Cannot modify the transformation context after transformation has completed."),g[Gt]|=1}function Ve(Gt){return(g[Gt.kind]&1)!==0&&(Ya(Gt)&8)===0}function we(Gt,$n){return L.assert(fe<3,"Cannot substitute a node after the result is disposed."),$n&&Ve($n)&&ie(Gt,$n)||$n}function ke(Gt){L.assert(fe<2,"Cannot modify the transformation context after transformation has completed."),g[Gt]|=2}function Pe(Gt){return(g[Gt.kind]&2)!==0||(Ya(Gt)&4)!==0}function Ce(Gt,$n,ui){L.assert(fe<3,"Cannot invoke TransformationResult callbacks after the result is disposed."),$n&&(Pe($n)?$(Gt,$n,ui):ui(Gt,$n))}function Ie(Gt){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed.");let $n=Jn(r.createVariableDeclaration(Gt),128);m?m.push($n):m=[$n],x&1&&(x|=2)}function Be(Gt){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed."),Jn(Gt,2097152),v?v.push(Gt):v=[Gt]}function Ne(Gt){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed."),Jn(Gt,2097152),S?S.push(Gt):S=[Gt]}function Le(){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed."),L.assert(!B,"Lexical environment is suspended."),A[F]=m,w[F]=v,C[F]=S,P[F]=x,F++,m=void 0,v=void 0,S=void 0,x=0}function Ye(){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed."),L.assert(!B,"Lexical environment is already suspended."),B=!0}function _t(){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed."),L.assert(B,"Lexical environment is not suspended."),B=!1}function ct(){L.assert(fe>0,"Cannot modify the lexical environment during initialization."),L.assert(fe<2,"Cannot modify the lexical environment after transformation has completed."),L.assert(!B,"Lexical environment is suspended.");let Gt;if(m||v||S){if(v&&(Gt=[...v]),m){let $n=r.createVariableStatement(void 0,r.createVariableDeclarationList(m));Jn($n,2097152),Gt?Gt.push($n):Gt=[$n]}S&&(Gt?Gt=[...Gt,...S]:Gt=[...S])}return F--,m=A[F],v=w[F],S=C[F],x=P[F],F===0&&(A=[],w=[],C=[],P=[]),Gt}function Rt(Gt,$n){x=$n?x|Gt:x&~Gt}function We(){return x}function qe(){L.assert(fe>0,"Cannot start a block scope during initialization."),L.assert(fe<2,"Cannot start a block scope after transformation has completed."),q[W]=Y,W++,Y=void 0}function zt(){L.assert(fe>0,"Cannot end a block scope during initialization."),L.assert(fe<2,"Cannot end a block scope after transformation has completed.");let Gt=vt(Y)?[r.createVariableStatement(void 0,r.createVariableDeclarationList(Y.map($n=>r.createVariableDeclaration($n)),1))]:void 0;return W--,Y=q[W],W===0&&(q=[]),Gt}function Qt(Gt){L.assert(W>0,"Cannot add a block scoped variable outside of an iteration body."),(Y||(Y=[])).push(Gt)}function tn(Gt){if(L.assert(fe>0,"Cannot modify the transformation context during initialization."),L.assert(fe<2,"Cannot modify the transformation context after transformation has completed."),L.assert(!Gt.scoped,"Cannot request a scoped emit helper."),Gt.dependencies)for(let $n of Gt.dependencies)tn($n);R=Sn(R,Gt)}function kn(){L.assert(fe>0,"Cannot modify the transformation context during initialization."),L.assert(fe<2,"Cannot modify the transformation context after transformation has completed.");let Gt=R;return R=void 0,Gt}function _n(){if(fe<3){for(let Gt of o)yz(Gn(ea(Gt)));m=void 0,A=void 0,v=void 0,w=void 0,ie=void 0,$=void 0,R=void 0,fe=3}}}var HK,Bh,GMe=gt({"src/compiler/transformer.ts"(){"use strict";fa(),E0(),HK={scriptTransformers:Je,declarationTransformers:Je},Bh={factory:D,getCompilerOptions:()=>({}),getEmitResolver:Sa,getEmitHost:Sa,getEmitHelperFactory:Sa,startLexicalEnvironment:Ba,resumeLexicalEnvironment:Ba,suspendLexicalEnvironment:Ba,endLexicalEnvironment:Qv,setLexicalEnvironmentFlags:Ba,getLexicalEnvironmentFlags:()=>0,hoistVariableDeclaration:Ba,hoistFunctionDeclaration:Ba,addInitializationStatement:Ba,startBlockScope:Ba,endBlockScope:Qv,addBlockScopedVariable:Ba,requestEmitHelper:Ba,readEmitHelpers:Sa,enableSubstitution:Ba,enableEmitNotification:Ba,isSubstitutionEnabled:Sa,isEmitNotificationEnabled:Sa,onSubstituteNode:zL,onEmitNode:cN,addDiagnostic:Ba}}});function Ipe(e){return Gc(e,".tsbuildinfo")}function WK(e,t,r,i=!1,o,s){let l=ba(r)?r:eW(e,r,i),f=e.getCompilerOptions();if(Ss(f)){let d=e.getPrependNodes();if(l.length||d.length){let g=D.createBundle(l,d),m=t(KL(g,e,i),g);if(m)return m}}else{if(!o)for(let d of l){let g=t(KL(d,e,i),d);if(g)return g}if(s){let d=Jg(f);if(d)return t({buildInfoPath:d},void 0)}}}function Jg(e){let t=e.configFilePath;if(!NR(e))return;if(e.tsBuildInfoFile)return e.tsBuildInfoFile;let r=Ss(e),i;if(r)i=ld(r);else{if(!t)return;let o=ld(t);i=e.outDir?e.rootDir?Fy(e.outDir,Xp(e.rootDir,o,!0)):vi(e.outDir,Hl(o)):o}return i+".tsbuildinfo"}function JL(e,t){let r=Ss(e),i=e.emitDeclarationOnly?void 0:r,o=i&&Lpe(i,e),s=t||__(e)?ld(r)+".d.ts":void 0,l=s&&d4(e)?s+".map":void 0,f=Jg(e);return{jsFilePath:i,sourceMapFilePath:o,declarationFilePath:s,declarationMapPath:l,buildInfoPath:f}}function KL(e,t,r){let i=t.getCompilerOptions();if(e.kind===309)return JL(i,r);{let o=wce(e.fileName,t,zK(e.fileName,i)),s=Mf(e),l=s&&cT(e.fileName,o,t.getCurrentDirectory(),!t.useCaseSensitiveFileNames())===0,f=i.emitDeclarationOnly||l?void 0:o,d=!f||Mf(e)?void 0:Lpe(f,i),g=r||__(i)&&!s?Rce(e.fileName,t):void 0,m=g&&d4(i)?g+".map":void 0;return{jsFilePath:f,sourceMapFilePath:d,declarationFilePath:g,declarationMapPath:m,buildInfoPath:void 0}}}function Lpe(e,t){return t.sourceMap&&!t.inlineSourceMap?e+".map":void 0}function zK(e,t){return Gc(e,".json")?".json":t.jsx===1&&$c(e,[".jsx",".tsx"])?".jsx":$c(e,[".mts",".mjs"])?".mjs":$c(e,[".cts",".cjs"])?".cjs":".js"}function kpe(e,t,r,i,o){return i?Fy(i,Xp(o?o():XL(t,r),e,r)):e}function qL(e,t,r,i){return V0(kpe(e,t,r,t.options.declarationDir||t.options.outDir,i),QH(e))}function Dpe(e,t,r,i){if(t.options.emitDeclarationOnly)return;let o=Gc(e,".json"),s=V0(kpe(e,t,r,t.options.outDir,i),zK(e,t.options));return!o||cT(e,s,L.checkDefined(t.options.configFilePath),r)!==0?s:void 0}function wpe(){let e;return{addOutput:t,getOutputs:r};function t(i){i&&(e||(e=[])).push(i)}function r(){return e||Je}}function Rpe(e,t){let{jsFilePath:r,sourceMapFilePath:i,declarationFilePath:o,declarationMapPath:s,buildInfoPath:l}=JL(e.options,!1);t(r),t(i),t(o),t(s),t(l)}function Ope(e,t,r,i,o){if(Fu(t))return;let s=Dpe(t,e,r,o);if(i(s),!Gc(t,".json")&&(s&&e.options.sourceMap&&i(`${s}.map`),__(e.options))){let l=qL(t,e,r,o);i(l),e.options.declarationMap&&i(`${l}.map`)}}function uN(e,t,r,i,o){let s;return e.rootDir?(s=_a(e.rootDir,r),o?.(e.rootDir)):e.composite&&e.configFilePath?(s=ni(Al(e.configFilePath)),o?.(s)):s=jpe(t(),r,i),s&&s[s.length-1]!==_s&&(s+=_s),s}function XL({options:e,fileNames:t},r){return uN(e,()=>Pr(t,i=>!(e.noEmitForJsFiles&&$c(i,dL))&&!Fu(i)),ni(Al(L.checkDefined(e.configFilePath))),Dl(!r))}function AF(e,t){let{addOutput:r,getOutputs:i}=wpe();if(Ss(e.options))Rpe(e,r);else{let o=zu(()=>XL(e,t));for(let s of e.fileNames)Ope(e,s,t,r,o);r(Jg(e.options))}return i()}function BMe(e,t,r){t=So(t),L.assert(ya(e.fileNames,t),"Expected fileName to be present in command line");let{addOutput:i,getOutputs:o}=wpe();return Ss(e.options)?Rpe(e,i):Ope(e,t,r,i),o()}function JK(e,t){if(Ss(e.options)){let{jsFilePath:o,declarationFilePath:s}=JL(e.options,!1);return L.checkDefined(o||s,`project ${e.options.configFilePath} expected to have at least one output`)}let r=zu(()=>XL(e,t));for(let o of e.fileNames){if(Fu(o))continue;let s=Dpe(o,e,t,r);if(s)return s;if(!Gc(o,".json")&&__(e.options))return qL(o,e,t,r)}let i=Jg(e.options);return i||L.fail(`project ${e.options.configFilePath} expected to have at least one output`)}function CF(e,t,r,{scriptTransformers:i,declarationTransformers:o},s,l,f){var d=t.getCompilerOptions(),g=d.sourceMap||d.inlineSourceMap||d4(d)?[]:void 0,m=d.listEmittedFiles?[]:void 0,v=XA(),S=db(d),x=SR(S),{enter:A,exit:w}=x8("printTime","beforePrint","afterPrint"),C,P=!1;return A(),WK(t,F,eW(t,r,f),f,l,!r),w(),{emitSkipped:P,diagnostics:v.getDiagnostics(),emittedFiles:m,sourceMaps:g};function F({jsFilePath:U,sourceMapFilePath:re,declarationFilePath:le,declarationMapPath:_e,buildInfoPath:ge},X){var Ve,we,ke,Pe,Ce,Ie;let Be;ge&&X&&Bz(X)&&(Be=ni(_a(ge,t.getCurrentDirectory())),C={commonSourceDirectory:Ne(t.getCommonSourceDirectory()),sourceFiles:X.sourceFiles.map(Le=>Ne(_a(Le.fileName,t.getCurrentDirectory())))}),(Ve=ai)==null||Ve.push(ai.Phase.Emit,"emitJsFileOrBundle",{jsFilePath:U}),q(X,U,re,Ne),(we=ai)==null||we.pop(),(ke=ai)==null||ke.push(ai.Phase.Emit,"emitDeclarationFileOrBundle",{declarationFilePath:le}),W(X,le,_e,Ne),(Pe=ai)==null||Pe.pop(),(Ce=ai)==null||Ce.push(ai.Phase.Emit,"emitBuildInfo",{buildInfoPath:ge}),B(C,ge),(Ie=ai)==null||Ie.pop(),!P&&m&&(s||(U&&m.push(U),re&&m.push(re),ge&&m.push(ge)),s!==0&&(le&&m.push(le),_e&&m.push(_e)));function Ne(Le){return S0(Xp(Be,Le,t.getCanonicalFileName))}}function B(U,re){if(!re||r||P)return;if(t.isEmitBlocked(re)){P=!0;return}let le=t.getBuildInfo(U)||dN(void 0,U);BI(t,v,re,Npe(le),!1,void 0,{buildInfo:le})}function q(U,re,le,_e){if(!U||s||!re)return;if(t.isEmitBlocked(re)||d.noEmit){P=!0;return}let ge=lN(e,t,D,d,[U],i,!1),X={removeComments:d.removeComments,newLine:d.newLine,noEmitHelpers:d.noEmitHelpers,module:d.module,target:d.target,sourceMap:d.sourceMap,inlineSourceMap:d.inlineSourceMap,inlineSources:d.inlineSources,extendedDiagnostics:d.extendedDiagnostics,writeBundleFileInfo:!!C,relativeToBuildInfo:_e},Ve=nE(X,{hasGlobalName:e.hasGlobalName,onEmitNode:ge.emitNodeWithNotification,isEmitNotificationEnabled:ge.isEmitNotificationEnabled,substituteNode:ge.substituteNode});L.assert(ge.transformed.length===1,"Should only see one output from the transform"),R(re,le,ge,Ve,d),ge.dispose(),C&&(C.js=Ve.bundleFileInfo)}function W(U,re,le,_e){if(!U||s===0)return;if(!re){(s||d.emitDeclarationOnly)&&(P=!0);return}let ge=Li(U)?[U]:U.sourceFiles,X=f?ge:Pr(ge,LH),Ve=Ss(d)?[D.createBundle(X,Li(U)?void 0:U.prepends)]:X;s&&!__(d)&&X.forEach(Y);let we=lN(e,t,D,d,Ve,o,!1);if(Fn(we.diagnostics))for(let Ie of we.diagnostics)v.add(Ie);let ke={removeComments:d.removeComments,newLine:d.newLine,noEmitHelpers:!0,module:d.module,target:d.target,sourceMap:!f&&d.declarationMap,inlineSourceMap:d.inlineSourceMap,extendedDiagnostics:d.extendedDiagnostics,onlyPrintJsDocStyle:!0,writeBundleFileInfo:!!C,recordInternalSection:!!C,relativeToBuildInfo:_e},Pe=nE(ke,{hasGlobalName:e.hasGlobalName,onEmitNode:we.emitNodeWithNotification,isEmitNotificationEnabled:we.isEmitNotificationEnabled,substituteNode:we.substituteNode}),Ce=!!we.diagnostics&&!!we.diagnostics.length||!!t.isEmitBlocked(re)||!!d.noEmit;P=P||Ce,(!Ce||f)&&(L.assert(we.transformed.length===1,"Should only see one output from the decl transform"),R(re,le,we,Pe,{sourceMap:ke.sourceMap,sourceRoot:d.sourceRoot,mapRoot:d.mapRoot,extendedDiagnostics:d.extendedDiagnostics})),we.dispose(),C&&(C.dts=Pe.bundleFileInfo)}function Y(U){if(pc(U)){U.expression.kind===79&&e.collectLinkedAliases(U.expression,!0);return}else if(Mu(U)){e.collectLinkedAliases(U.propertyName||U.name,!0);return}pa(U,Y)}function R(U,re,le,_e,ge){let X=le.transformed[0],Ve=X.kind===309?X:void 0,we=X.kind===308?X:void 0,ke=Ve?Ve.sourceFiles:[we],Pe;ie(ge,X)&&(Pe=M_e(t,Hl(Al(U)),$(ge),fe(ge,U,we),ge)),Ve?_e.writeBundle(Ve,x,Pe):_e.writeFile(we,x,Pe);let Ce;if(Pe){g&&g.push({inputSourceFileNames:Pe.getSources(),sourceMap:Pe.toJSON()});let Be=Z(ge,Pe,U,re,we);if(Be&&(x.isAtStartOfLine()||x.rawWrite(S),Ce=x.getTextPos(),x.writeComment(`//# sourceMappingURL=${Be}`)),re){let Ne=Pe.toString();BI(t,v,re,Ne,!1,ke),_e.bundleFileInfo&&(_e.bundleFileInfo.mapHash=YT(Ne,t))}}else x.writeLine();let Ie=x.getText();BI(t,v,U,Ie,!!d.emitBOM,ke,{sourceMapUrlPos:Ce,diagnostics:le.diagnostics}),_e.bundleFileInfo&&(_e.bundleFileInfo.hash=YT(Ie,t)),x.clear()}function ie(U,re){return(U.sourceMap||U.inlineSourceMap)&&(re.kind!==308||!Gc(re.fileName,".json"))}function $(U){let re=Al(U.sourceRoot||"");return re&&cu(re)}function fe(U,re,le){if(U.sourceRoot)return t.getCommonSourceDirectory();if(U.mapRoot){let _e=Al(U.mapRoot);return le&&(_e=ni(e4(le.fileName,t,_e))),_p(_e)===0&&(_e=vi(t.getCommonSourceDirectory(),_e)),_e}return ni(So(re))}function Z(U,re,le,_e,ge){if(U.inlineSourceMap){let Ve=re.toString();return`data:application/json;base64,${tle(xl,Ve)}`}let X=Hl(Al(L.checkDefined(_e)));if(U.mapRoot){let Ve=Al(U.mapRoot);return ge&&(Ve=ni(e4(ge.fileName,t,Ve))),_p(Ve)===0?(Ve=vi(t.getCommonSourceDirectory(),Ve),encodeURI(Q1(ni(So(le)),vi(Ve,X),t.getCurrentDirectory(),t.getCanonicalFileName,!0))):encodeURI(vi(Ve,X))}return encodeURI(X)}}function dN(e,t){return{bundle:t,program:e,version:Rf}}function Npe(e){return JSON.stringify(e)}function IF(e,t){return fW(e,t)}function UMe(e,t,r){var i;let o=L.checkDefined(e.js),s=((i=o.sources)==null?void 0:i.prologues)&&p0(o.sources.prologues,l=>l.file);return e.sourceFiles.map((l,f)=>{var d,g;let m=s?.get(f),v=m?.directives.map(A=>{let w=it(D.createStringLiteral(A.expression.text),A.expression),C=it(D.createExpressionStatement(w),A);return go(w,C),C}),S=D.createToken(1),x=D.createSourceFile(v??[],S,0);return x.fileName=Xp(r.getCurrentDirectory(),_a(l,t),!r.useCaseSensitiveFileNames()),x.text=(d=m?.text)!=null?d:"",oL(x,0,(g=m?.text.length)!=null?g:0),i2(x.statements,x),oL(S,x.end,0),go(S,x),x})}function Ppe(e,t,r,i){var o,s;(o=ai)==null||o.push(ai.Phase.Emit,"emitUsingBuildInfo",{},!0),ZD.mark("beforeEmit");let l=VMe(e,t,r,i);return ZD.mark("afterEmit"),ZD.measure("Emit","beforeEmit","afterEmit"),(s=ai)==null||s.pop(),l}function VMe(e,t,r,i){let{buildInfoPath:o,jsFilePath:s,sourceMapFilePath:l,declarationFilePath:f,declarationMapPath:d}=JL(e.options,!1),g=t.getBuildInfo(o,e.options.configFilePath);if(!g||!g.bundle||!g.bundle.js||f&&!g.bundle.dts)return o;let m=t.readFile(L.checkDefined(s));if(!m||YT(m,t)!==g.bundle.js.hash)return s;let v=l&&t.readFile(l);if(l&&!v||e.options.inlineSourceMap)return l||"inline sourcemap decoding";if(l&&YT(v,t)!==g.bundle.js.mapHash)return l;let S=f&&t.readFile(f);if(f&&!S||f&&YT(S,t)!==g.bundle.dts.hash)return f;let x=d&&t.readFile(d);if(d&&!x||e.options.inlineSourceMap)return d||"inline sourcemap decoding";if(d&&YT(x,t)!==g.bundle.dts.mapHash)return d;let A=ni(_a(o,t.getCurrentDirectory())),w=pz(s,m,l,v,f,S,d,x,o,g,!0),C=[],P=fq(e.projectReferences,r,Y=>t.readFile(Y),t),F=UMe(g.bundle,A,t),B,q,W={getPrependNodes:zu(()=>[...P,w]),getCanonicalFileName:t.getCanonicalFileName,getCommonSourceDirectory:()=>_a(g.bundle.commonSourceDirectory,A),getCompilerOptions:()=>e.options,getCurrentDirectory:()=>t.getCurrentDirectory(),getSourceFile:Qv,getSourceFileByPath:Qv,getSourceFiles:()=>F,getLibFileFromReference:Sa,isSourceFileFromExternalLibrary:m0,getResolvedProjectReferenceToRedirect:Qv,getProjectReferenceRedirect:Qv,isSourceOfProjectReferenceRedirect:m0,writeFile:(Y,R,ie,$,fe,Z)=>{switch(Y){case s:if(m===R)return;break;case l:if(v===R)return;break;case o:break;case f:if(S===R)return;B=R,q=Z;break;case d:if(x===R)return;break;default:L.fail(`Unexpected path: ${Y}`)}C.push({name:Y,text:R,writeByteOrderMark:ie,data:Z})},isEmitBlocked:m0,readFile:Y=>t.readFile(Y),fileExists:Y=>t.fileExists(Y),useCaseSensitiveFileNames:()=>t.useCaseSensitiveFileNames(),getBuildInfo:Y=>{let R=g.program;R&&B!==void 0&&e.options.composite&&(R.outSignature=YT(B,t,q));let{js:ie,dts:$,sourceFiles:fe}=g.bundle;return Y.js.sources=ie.sources,$&&(Y.dts.sources=$.sources),Y.sourceFiles=fe,dN(R,Y)},getSourceFileFromReference:Qv,redirectTargetsMap:Nf(),getFileIncludeReasons:Sa,createHash:ho(t,t.createHash)};return CF(LF,W,void 0,jK(e.options,i)),C}function nE(e={},t={}){var{hasGlobalName:r,onEmitNode:i=cN,isEmitNotificationEnabled:o,substituteNode:s=zL,onBeforeEmitNode:l,onAfterEmitNode:f,onBeforeEmitNodeArray:d,onAfterEmitNodeArray:g,onBeforeEmitToken:m,onAfterEmitToken:v}=t,S=!!e.extendedDiagnostics,x=db(e),A=Rl(e),w=new Map,C,P,F,B,q,W,Y,R,ie,$,fe,Z,U,re,le,_e=e.preserveSourceNewlines,ge,X,Ve,we=uC,ke,Pe=e.writeBundleFileInfo?{sections:[]}:void 0,Ce=Pe?L.checkDefined(e.relativeToBuildInfo):void 0,Ie=e.recordInternalSection,Be=0,Ne="text",Le=!0,Ye,_t,ct=-1,Rt,We=-1,qe=-1,zt=-1,Qt=-1,tn,kn,_n=!1,Gt=!!e.removeComments,$n,ui,{enter:Ni,exit:Pi}=Zae(S,"commentTime","beforeComment","afterComment"),gr=D.parenthesizer,pt={select:E=>E===0?gr.parenthesizeLeadingTypeArgument:void 0},nn=Dc();return Oe(),{printNode:Dt,printList:pn,printFile:Kn,printBundle:An,writeNode:ri,writeList:vn,writeFile:ve,writeBundle:at,bundleFileInfo:Pe};function Dt(E,ne,Ee){switch(E){case 0:L.assert(Li(ne),"Expected a SourceFile node.");break;case 2:L.assert(Re(ne),"Expected an Identifier node.");break;case 1:L.assert(ot(ne),"Expected an Expression node.");break}switch(ne.kind){case 308:return Kn(ne);case 309:return An(ne);case 310:return hi(ne)}return ri(E,ne,Ee,nt()),ce()}function pn(E,ne,Ee){return vn(E,ne,Ee,nt()),ce()}function An(E){return at(E,nt(),void 0),ce()}function Kn(E){return ve(E,nt(),void 0),ce()}function hi(E){return Tt(E,nt()),ce()}function ri(E,ne,Ee,Wt){let lr=X;G(Wt,void 0),Q(E,ne,Ee),Oe(),X=lr}function vn(E,ne,Ee,Wt){let lr=X;G(Wt,void 0),Ee&&ue(Ee),cs(void 0,ne,E),Oe(),X=lr}function Ht(){return X.getTextPosWithWriteLine?X.getTextPosWithWriteLine():X.getTextPos()}function En(E,ne,Ee){let Wt=Os(Pe.sections);Wt&&Wt.kind===Ee?Wt.end=ne:Pe.sections.push({pos:E,end:ne,kind:Ee})}function dr(E){if(Ie&&Pe&&C&&(Kl(E)||Bc(E))&&BK(E,C)&&Ne!=="internal"){let ne=Ne;return Se(X.getTextPos()),Be=Ht(),Ne="internal",ne}}function Cr(E){E&&(Se(X.getTextPos()),Be=Ht(),Ne=E)}function Se(E){return Be<E?(En(Be,E,Ne),!0):!1}function at(E,ne,Ee){ke=!1;let Wt=X;G(ne,Ee),Bb(E),T1(E),Vt(E),v1(E);for(let lr of E.prepends){nl();let ci=X.getTextPos(),qr=Pe&&Pe.sections;if(qr&&(Pe.sections=[]),Q(4,lr,void 0),Pe){let Ti=Pe.sections;Pe.sections=qr,lr.oldFileOfCurrentEmit?Pe.sections.push(...Ti):(Ti.forEach(Wa=>L.assert(dle(Wa))),Pe.sections.push({pos:ci,end:X.getTextPos(),kind:"prepend",data:Ce(lr.fileName),texts:Ti}))}}Be=Ht();for(let lr of E.sourceFiles)Q(0,lr,lr);if(Pe&&E.sourceFiles.length){let lr=X.getTextPos();if(Se(lr)){let ci=xx(E);ci&&(Pe.sources||(Pe.sources={}),Pe.sources.prologues=ci);let qr=Qe(E);qr&&(Pe.sources||(Pe.sources={}),Pe.sources.helpers=qr)}}Oe(),X=Wt}function Tt(E,ne){let Ee=X;G(ne,void 0),Q(4,E,void 0),Oe(),X=Ee}function ve(E,ne,Ee){ke=!0;let Wt=X;G(ne,Ee),Bb(E),T1(E),Q(0,E,E),Oe(),X=Wt}function nt(){return Ve||(Ve=SR(x))}function ce(){let E=Ve.getText();return Ve.clear(),E}function Q(E,ne,Ee){Ee&&ue(Ee),rt(E,ne,void 0)}function ue(E){C=E,tn=void 0,kn=void 0,E&&sg(E)}function G(E,ne){E&&e.omitTrailingSemicolon&&(E=XH(E)),X=E,Ye=ne,Le=!X||!Ye}function Oe(){P=[],F=[],B=[],q=new Set,W=[],Y=new Map,R=[],ie=0,$=[],fe=0,Z=[],U=void 0,re=[],le=void 0,C=void 0,tn=void 0,kn=void 0,G(void 0,void 0)}function je(){return tn||(tn=Sh(L.checkDefined(C)))}function Ge(E,ne){if(E===void 0)return;let Ee=dr(E);rt(4,E,ne),Cr(Ee)}function kt(E){E!==void 0&&rt(2,E,void 0)}function Kt(E,ne){E!==void 0&&rt(1,E,ne)}function ln(E){rt(yo(E)?6:4,E)}function ir(E){_e&&o_(E)&4&&(_e=!1)}function ae(E){_e=E}function rt(E,ne,Ee){ui=Ee,oe(0,E,ne)(E,ne),ui=void 0}function Ot(E){return!Gt&&!Li(E)}function Ke(E){return!Le&&!Li(E)&&!B6(E)&&!BT(E)&&!Wue(E)}function oe(E,ne,Ee){switch(E){case 0:if(i!==cN&&(!o||o(Ee)))return z;case 1:if(s!==zL&&($n=s(ne,Ee)||Ee)!==Ee)return ui&&($n=ui($n)),lt;case 2:if(Ot(Ee))return vd;case 3:if(Ke(Ee))return OE;case 4:return Te;default:return L.assertNever(E)}}function pe(E,ne,Ee){return oe(E+1,ne,Ee)}function z(E,ne){let Ee=pe(0,E,ne);i(E,ne,Ee)}function Te(E,ne){if(l?.(ne),_e){let Ee=_e;ir(ne),j(E,ne),ae(Ee)}else j(E,ne);f?.(ne),ui=void 0}function j(E,ne,Ee=!0){if(Ee){let Wt=bz(ne);if(Wt)return Fa(E,ne,Wt)}if(E===0)return Fb(Ga(ne,Li));if(E===2)return Nr(Ga(ne,Re));if(E===6)return ei(Ga(ne,yo),!0);if(E===3)return yt(Ga(ne,_c));if(E===5)return L.assertNode(ne,Pz),oa(!0);if(E===4){switch(ne.kind){case 15:case 16:case 17:return ei(ne,!1);case 79:return Nr(ne);case 80:return Fo(ne);case 163:return Qr(ne);case 164:return gn(ne);case 165:return Ki(ne);case 166:return kc(ne);case 167:return Ps(ne);case 168:return mc(ne);case 169:return xc(ne);case 170:return hc(ne);case 171:return ro(ne);case 172:return aa(ne);case 173:return Co(ne);case 174:case 175:return gc(ne);case 176:return Ll(ne);case 177:return md(ne);case 178:return Pc(ne);case 179:return qs(ne);case 180:return Rs(ne);case 181:return As(ne);case 182:return se(ne);case 183:return ht(ne);case 184:return wt(ne);case 185:return K(ne);case 186:return ft(ne);case 187:return pr(ne);case 189:return yr(ne);case 190:return ta(ne);case 191:return Go(ne);case 192:return Ka(ne);case 193:return vo(ne);case 230:return Jf(ne);case 194:return ka();case 195:return Hs(ne);case 196:return Uc(ne);case 197:return Gu(ne);case 198:return $o(ne);case 199:return Yt(ne);case 200:return jo(ne);case 201:return bl(ne);case 202:return Ws(ne);case 203:return hd(ne);case 204:return vc(ne);case 205:return nf(ne);case 236:return He(ne);case 237:return ss();case 238:return Nt(ne);case 240:return la(ne);case 239:return oa(!1);case 241:return be(ne);case 242:return De(ne);case 243:return St(ne);case 244:return Zt(ne);case 245:return rn(ne);case 246:return sn(ne);case 247:return Dn(ne);case 248:return ki(ne);case 249:return Vn(ne);case 250:return mm(ne);case 251:return Hh(ne);case 252:return T_(ne);case 253:return Cb(ne);case 254:return mv(ne);case 255:return gx(ne);case 256:return _1(ne);case 257:return yx(ne);case 258:return Wh(ne);case 259:return S_(ne);case 260:return p1(ne);case 261:return dE(ne);case 262:return fE(ne);case 263:return yv(ne);case 264:return vx(ne);case 265:return _E(ne);case 266:return pE(ne);case 267:return x_(ne);case 268:return vv(ne);case 269:return bv(ne);case 270:return m1(ne);case 271:return Jh(ne);case 277:return Zu(ne);case 272:return Lo(ne);case 273:return mE(ne);case 274:return sC(ne);case 275:return Zg(ne);case 276:return ed(ne);case 278:return td(ne);case 296:return Kh(ne);case 297:return hm(ne);case 279:return;case 280:return bx(ne);case 11:return Ob(ne);case 283:case 286:return h1(ne);case 284:case 287:return cC(ne);case 288:return Ev(ne);case 289:return Ex(ne);case 290:return hE(ne);case 291:return Tv(ne);case 292:return Sv(ne);case 293:return Xh(ne);case 294:return wo(ne);case 295:return A_(ne);case 299:return gE(ne);case 300:return Kc(ne);case 301:return th(ne);case 302:return Pb(ne);case 303:return Si(ne);case 310:case 304:return Kr(ne);case 305:case 306:return Ja(ne);case 307:return Za(ne);case 308:return Fb(ne);case 309:return L.fail("Bundles should be printed using printBundle");case 311:return L.fail("InputFiles should not be printed");case 312:return zs(ne);case 313:return Yh(ne);case 315:return Qn("*");case 316:return Qn("?");case 317:return yc(ne);case 318:return Ql(ne);case 319:return yu(ne);case 320:return jt(ne);case 188:case 321:return Xe(ne);case 322:return;case 323:return C_(ne);case 325:return yd(ne);case 326:return yE(ne);case 330:case 335:case 340:return gm(ne);case 331:case 332:return ll(ne);case 333:case 334:return;case 336:case 337:case 338:case 339:return;case 341:return Ai(ne);case 342:return Rr(ne);case 344:case 351:return $h(ne);case 343:case 345:case 346:case 347:case 352:case 353:return Mb(ne);case 348:return y1(ne);case 349:return lC(ne);case 350:return Ml(ne);case 355:case 359:case 358:return}if(ot(ne)&&(E=1,s!==zL)){let Wt=s(E,ne)||ne;Wt!==ne&&(ne=Wt,ui&&(ne=ui(ne)))}}if(E===1)switch(ne.kind){case 8:case 9:return jr(ne);case 10:case 13:case 14:return ei(ne,!1);case 79:return Nr(ne);case 80:return Fo(ne);case 206:return ye(ne);case 207:return Et(ne);case 208:return bn(ne);case 209:return io(ne);case 210:return ee(ne);case 211:return Ze(ne);case 212:return At(ne);case 213:return xt(ne);case 214:return qt(ne);case 215:return Ln(ne);case 216:return mr(ne);case 217:return gi(ne);case 218:return Ea(ne);case 219:return bo(ne);case 220:return Qo(ne);case 221:return Cs(ne);case 222:return Pd(ne);case 223:return nn(ne);case 224:return gd(ne);case 225:return Zl(ne);case 226:return Md(ne);case 227:return zf(ne);case 228:return Io(ne);case 229:return;case 231:return Fd(ne);case 232:return E_(ne);case 230:return Jf(ne);case 235:return Y_(ne);case 233:return M(ne);case 234:return L.fail("SyntheticExpression should never be printed.");case 279:return;case 281:return wb(ne);case 282:return qh(ne);case 285:return Rb(ne);case 354:return L.fail("SyntaxList should not be printed");case 355:return;case 356:return Tx(ne);case 357:return Sx(ne);case 358:case 359:return;case 360:return L.fail("SyntheticReferenceExpression should not be printed")}if(Xu(ne.kind))return EE(ne,zi);if(Nj(ne.kind))return EE(ne,Qn);L.fail(`Unhandled SyntaxKind: ${L.formatSyntaxKind(ne.kind)}.`)}function yt(E){Ge(E.name),Wn(),zi("in"),Wn(),Ge(E.constraint)}function lt(E,ne){let Ee=pe(1,E,ne);L.assertIsDefined($n),ne=$n,$n=void 0,Ee(E,ne)}function Qe(E){let ne;if(A===0||e.noEmitHelpers)return;let Ee=new Map;for(let Wt of E.sourceFiles){let lr=SO(Wt)!==void 0,ci=Hn(Wt);if(ci)for(let qr of ci)!qr.scoped&&!lr&&!Ee.get(qr.name)&&(Ee.set(qr.name,!0),(ne||(ne=[])).push(qr.name))}return ne}function Vt(E){let ne=!1,Ee=E.kind===309?E:void 0;if(Ee&&A===0)return;let Wt=Ee?Ee.prepends.length:0,lr=Ee?Ee.sourceFiles.length+Wt:1;for(let ci=0;ci<lr;ci++){let qr=Ee?ci<Wt?Ee.prepends[ci]:Ee.sourceFiles[ci-Wt]:E,Ti=Li(qr)?qr:BT(qr)?void 0:C,Wa=e.noEmitHelpers||!!Ti&&ide(Ti),kl=(Li(qr)||BT(qr))&&!ke,Ed=BT(qr)?qr.helpers:Hn(qr);if(Ed)for(let Ud of Ed){if(Ud.scoped){if(Ee)continue}else{if(Wa)continue;if(kl){if(w.get(Ud.name))continue;w.set(Ud.name,!0)}}let fy=Ht();typeof Ud.text=="string"?Ac(Ud.text):Ac(Ud.text(of)),Pe&&Pe.sections.push({pos:fy,end:X.getTextPos(),kind:"emitHelpers",data:Ud.name}),ne=!0}}return ne}function Hn(E){let ne=O4(E);return ne&&Ag(ne,Sue)}function jr(E){ei(E,!1)}function ei(E,ne){let Ee=uc(E,e.neverAsciiEscape,ne);(e.sourceMap||e.inlineSourceMap)&&(E.kind===10||Hy(E.kind))?jb(Ee):Ix(Ee)}function Kr(E){for(let ne of E.texts)nl(),Ge(ne)}function Si(E){X.rawWrite(E.parent.text.substring(E.pos,E.end))}function Ja(E){let ne=Ht();Si(E),Pe&&En(ne,X.getTextPos(),E.kind===305?"text":"internal")}function Za(E){let ne=Ht();if(Si(E),Pe){let Ee=VU(E.section);Ee.pos=ne,Ee.end=X.getTextPos(),Pe.sections.push(Ee)}}function Fa(E,ne,Ee){switch(Ee.kind){case 1:Hi(E,ne,Ee);break;case 0:xi(E,ne,Ee);break}}function Hi(E,ne,Ee){ry(`\${${Ee.order}:`),j(E,ne,!1),ry("}")}function xi(E,ne,Ee){L.assert(ne.kind===239,`A tab stop cannot be attached to a node of kind ${L.formatSyntaxKind(ne.kind)}.`),L.assert(E!==5,"A tab stop cannot be attached to an embedded statement."),ry(`$${Ee.order}`)}function Nr(E){(E.symbol?Lx:we)(oy(E,!1),E.symbol),cs(E,NT(E),53776)}function Fo(E){we(oy(E,!1))}function Qr(E){Wi(E.left),Qn("."),Ge(E.right)}function Wi(E){E.kind===79?Kt(E):Ge(E)}function gn(E){let ne=ie,Ee=le;Gl(),Qn("["),Kt(E.expression,gr.parenthesizeExpressionOfComputedPropertyName),Qn("]"),Iv(ne,Ee)}function Ki(E){Qh(E,E.modifiers),Ge(E.name),E.constraint&&(Wn(),zi("extends"),Wn(),Ge(E.constraint)),E.default&&(Wn(),af("="),Wn(),Ge(E.default))}function kc(E){rf(E,E.modifiers,!0),Ge(E.dotDotDotToken),S1(E.name,Av),Ge(E.questionToken),E.parent&&E.parent.kind===320&&!E.name?Ge(E.type):Q_(E.type),I_(E.initializer,E.type?E.type.end:E.questionToken?E.questionToken.end:E.name?E.name.end:E.modifiers?E.modifiers.end:E.pos,E,gr.parenthesizeExpressionForDisallowedComma)}function Ps(E){Qn("@"),Kt(E.expression,gr.parenthesizeLeftSideOfAccess)}function mc(E){Qh(E,E.modifiers),S1(E.name,kx),Ge(E.questionToken),Q_(E.type),lc()}function xc(E){rf(E,E.modifiers,!0),Ge(E.name),Ge(E.questionToken),Ge(E.exclamationToken),Q_(E.type),I_(E.initializer,E.type?E.type.end:E.questionToken?E.questionToken.end:E.name.end,E),lc()}function hc(E){ng(E),Qh(E,E.modifiers),Ge(E.name),Ge(E.questionToken),Dp(E,E.typeParameters),eg(E,E.parameters),Q_(E.type),lc(),ih(E)}function ro(E){rf(E,E.modifiers,!0),Ge(E.asteriskToken),Ge(E.name),Ge(E.questionToken),eh(E,$_)}function aa(E){zi("static"),lE(E.body)}function Co(E){rf(E,E.modifiers,!1),zi("constructor"),eh(E,$_)}function gc(E){let ne=rf(E,E.modifiers,!0),Ee=E.kind===174?137:151;$t(Ee,ne,zi,E),Wn(),Ge(E.name),eh(E,$_)}function Ll(E){ng(E),Dp(E,E.typeParameters),eg(E,E.parameters),Q_(E.type),lc(),ih(E)}function md(E){ng(E),zi("new"),Wn(),Dp(E,E.typeParameters),eg(E,E.parameters),Q_(E.type),lc(),ih(E)}function Pc(E){rf(E,E.modifiers,!1),ty(E,E.parameters),Q_(E.type),lc()}function bl(E){Ge(E.type),Ge(E.literal)}function ss(){lc()}function qs(E){E.assertsModifier&&(Ge(E.assertsModifier),Wn()),Ge(E.parameterName),E.type&&(Wn(),zi("is"),Wn(),Ge(E.type))}function Rs(E){Ge(E.typeName),kp(E,E.typeArguments)}function As(E){ng(E),Dp(E,E.typeParameters),A1(E,E.parameters),Wn(),Qn("=>"),Wn(),Ge(E.type),ih(E)}function jt(E){zi("function"),eg(E,E.parameters),Qn(":"),Ge(E.type)}function yc(E){Qn("?"),Ge(E.type)}function Ql(E){Qn("!"),Ge(E.type)}function yu(E){Ge(E.type),Qn("=")}function se(E){ng(E),Qh(E,E.modifiers),zi("new"),Wn(),Dp(E,E.typeParameters),eg(E,E.parameters),Wn(),Qn("=>"),Wn(),Ge(E.type),ih(E)}function ht(E){zi("typeof"),Wn(),Ge(E.exprName),kp(E,E.typeArguments)}function wt(E){Iv(0,void 0),Qn("{");let ne=Ya(E)&1?768:32897;cs(E,E.members,ne|524288),Qn("}"),Gl()}function K(E){Ge(E.elementType,gr.parenthesizeNonArrayTypeOfPostfixType),Qn("["),Qn("]")}function Xe(E){Qn("..."),Ge(E.type)}function ft(E){$t(22,E.pos,Qn,E);let ne=Ya(E)&1?528:657;cs(E,E.elements,ne|524288,gr.parenthesizeElementTypeOfTupleType),$t(23,E.elements.end,Qn,E)}function Yt(E){Ge(E.dotDotDotToken),Ge(E.name),Ge(E.questionToken),$t(58,E.name.end,Qn,E),Wn(),Ge(E.type)}function pr(E){Ge(E.type,gr.parenthesizeTypeOfOptionalType),Qn("?")}function yr(E){cs(E,E.types,516,gr.parenthesizeConstituentTypeOfUnionType)}function ta(E){cs(E,E.types,520,gr.parenthesizeConstituentTypeOfIntersectionType)}function Go(E){Ge(E.checkType,gr.parenthesizeCheckTypeOfConditionalType),Wn(),zi("extends"),Wn(),Ge(E.extendsType,gr.parenthesizeExtendsTypeOfConditionalType),Wn(),Qn("?"),Wn(),Ge(E.trueType),Wn(),Qn(":"),Wn(),Ge(E.falseType)}function Ka(E){zi("infer"),Wn(),Ge(E.typeParameter)}function vo(E){Qn("("),Ge(E.type),Qn(")")}function ka(){zi("this")}function Hs(E){L_(E.operator,zi),Wn();let ne=E.operator===146?gr.parenthesizeOperandOfReadonlyTypeOperator:gr.parenthesizeOperandOfTypeOperator;Ge(E.type,ne)}function Uc(E){Ge(E.objectType,gr.parenthesizeNonArrayTypeOfPostfixType),Qn("["),Ge(E.indexType),Qn("]")}function Gu(E){let ne=Ya(E);Qn("{"),ne&1?Wn():(nl(),Kf()),E.readonlyToken&&(Ge(E.readonlyToken),E.readonlyToken.kind!==146&&zi("readonly"),Wn()),Qn("["),rt(3,E.typeParameter),E.nameType&&(Wn(),zi("as"),Wn(),Ge(E.nameType)),Qn("]"),E.questionToken&&(Ge(E.questionToken),E.questionToken.kind!==57&&Qn("?")),Qn(":"),Wn(),Ge(E.type),lc(),ne&1?Wn():(nl(),Z_()),cs(E,E.members,2),Qn("}")}function $o(E){Kt(E.literal)}function jo(E){Ge(E.head),cs(E,E.templateSpans,262144)}function Ws(E){if(E.isTypeOf&&(zi("typeof"),Wn()),zi("import"),Qn("("),Ge(E.argument),E.assertions){Qn(","),Wn(),Qn("{"),Wn(),zi("assert"),Qn(":"),Wn();let ne=E.assertions.assertClause.elements;cs(E.assertions.assertClause,ne,526226),Wn(),Qn("}")}Qn(")"),E.qualifier&&(Qn("."),Ge(E.qualifier)),kp(E,E.typeArguments)}function hd(E){Qn("{"),cs(E,E.elements,525136),Qn("}")}function vc(E){Qn("["),cs(E,E.elements,524880),Qn("]")}function nf(E){Ge(E.dotDotDotToken),E.propertyName&&(Ge(E.propertyName),Qn(":"),Wn()),Ge(E.name),I_(E.initializer,E.name.end,E,gr.parenthesizeExpressionForDisallowedComma)}function ye(E){let ne=E.elements,Ee=E.multiLine?65536:0;ny(E,ne,8914|Ee,gr.parenthesizeExpressionForDisallowedComma)}function Et(E){Iv(0,void 0),mn(E.properties,xE);let ne=Ya(E)&131072;ne&&Kf();let Ee=E.multiLine?65536:0,Wt=C&&C.languageVersion>=1&&!Mf(C)?64:0;cs(E,E.properties,526226|Wt|Ee),ne&&Z_(),Gl()}function bn(E){Kt(E.expression,gr.parenthesizeLeftSideOfAccess);let ne=E.questionDotToken||om(D.createToken(24),E.expression.end,E.name.pos),Ee=ep(E,E.expression,ne),Wt=ep(E,ne,E.name);wc(Ee,!1),ne.kind!==28&&Ri(E.expression)&&!X.hasTrailingComment()&&!X.hasTrailingWhitespace()&&Qn("."),E.questionDotToken?Ge(ne):$t(ne.kind,E.expression.end,Qn,E),wc(Wt,!1),Ge(E.name),tg(Ee,Wt)}function Ri(E){if(E=a_(E),Vf(E)){let ne=uc(E,!0,!1);return!E.numericLiteralFlags&&!jl(ne,Xa(24))}else if(Us(E)){let ne=mue(E);return typeof ne=="number"&&isFinite(ne)&&Math.floor(ne)===ne}}function io(E){Kt(E.expression,gr.parenthesizeLeftSideOfAccess),Ge(E.questionDotToken),$t(22,E.expression.end,Qn,E),Kt(E.argumentExpression),$t(23,E.argumentExpression.end,Qn,E)}function ee(E){let ne=o_(E)&16;ne&&(Qn("("),jb("0"),Qn(","),Wn()),Kt(E.expression,gr.parenthesizeLeftSideOfAccess),ne&&Qn(")"),Ge(E.questionDotToken),kp(E,E.typeArguments),ny(E,E.arguments,2576,gr.parenthesizeExpressionForDisallowedComma)}function Ze(E){$t(103,E.pos,zi,E),Wn(),Kt(E.expression,gr.parenthesizeExpressionOfNew),kp(E,E.typeArguments),ny(E,E.arguments,18960,gr.parenthesizeExpressionForDisallowedComma)}function At(E){let ne=o_(E)&16;ne&&(Qn("("),jb("0"),Qn(","),Wn()),Kt(E.tag,gr.parenthesizeLeftSideOfAccess),ne&&Qn(")"),kp(E,E.typeArguments),Wn(),Kt(E.template)}function xt(E){Qn("<"),Ge(E.type),Qn(">"),Kt(E.expression,gr.parenthesizeOperandOfPrefixUnary)}function qt(E){let ne=$t(20,E.pos,Qn,E),Ee=TE(E.expression,E);Kt(E.expression,void 0),Hb(E.expression,E),tg(Ee),$t(21,E.expression?E.expression.end:ne,Qn,E)}function Ln(E){oh(E.name),hv(E)}function mr(E){Qh(E,E.modifiers),eh(E,Vr)}function Vr(E){Dp(E,E.typeParameters),A1(E,E.parameters),Q_(E.type),Wn(),Ge(E.equalsGreaterThanToken)}function gi(E){$t(89,E.pos,zi,E),Wn(),Kt(E.expression,gr.parenthesizeOperandOfPrefixUnary)}function Ea(E){$t(112,E.pos,zi,E),Wn(),Kt(E.expression,gr.parenthesizeOperandOfPrefixUnary)}function bo(E){$t(114,E.pos,zi,E),Wn(),Kt(E.expression,gr.parenthesizeOperandOfPrefixUnary)}function Qo(E){$t(133,E.pos,zi,E),Wn(),Kt(E.expression,gr.parenthesizeOperandOfPrefixUnary)}function Cs(E){L_(E.operator,af),Bu(E)&&Wn(),Kt(E.operand,gr.parenthesizeOperandOfPrefixUnary)}function Bu(E){let ne=E.operand;return ne.kind===221&&(E.operator===39&&(ne.operator===39||ne.operator===45)||E.operator===40&&(ne.operator===40||ne.operator===46))}function Pd(E){Kt(E.operand,gr.parenthesizeOperandOfPostfixUnary),L_(E.operator,af)}function Dc(){return C3(E,ne,Ee,Wt,lr,void 0);function E(qr,Ti){if(Ti){Ti.stackIndex++,Ti.preserveSourceNewlinesStack[Ti.stackIndex]=_e,Ti.containerPosStack[Ti.stackIndex]=qe,Ti.containerEndStack[Ti.stackIndex]=zt,Ti.declarationListContainerEndStack[Ti.stackIndex]=Qt;let Wa=Ti.shouldEmitCommentsStack[Ti.stackIndex]=Ot(qr),kl=Ti.shouldEmitSourceMapsStack[Ti.stackIndex]=Ke(qr);l?.(qr),Wa&&ju(qr),kl&&NE(qr),ir(qr)}else Ti={stackIndex:0,preserveSourceNewlinesStack:[void 0],containerPosStack:[-1],containerEndStack:[-1],declarationListContainerEndStack:[-1],shouldEmitCommentsStack:[!1],shouldEmitSourceMapsStack:[!1]};return Ti}function ne(qr,Ti,Wa){return ci(qr,Wa,"left")}function Ee(qr,Ti,Wa){let kl=qr.kind!==27,Ed=ep(Wa,Wa.left,qr),Ud=ep(Wa,qr,Wa.right);wc(Ed,kl),rd(qr.pos),EE(qr,qr.kind===101?zi:af),ag(qr.end,!0),wc(Ud,!0)}function Wt(qr,Ti,Wa){return ci(qr,Wa,"right")}function lr(qr,Ti){let Wa=ep(qr,qr.left,qr.operatorToken),kl=ep(qr,qr.operatorToken,qr.right);if(tg(Wa,kl),Ti.stackIndex>0){let Ed=Ti.preserveSourceNewlinesStack[Ti.stackIndex],Ud=Ti.containerPosStack[Ti.stackIndex],fy=Ti.containerEndStack[Ti.stackIndex],Td=Ti.declarationListContainerEndStack[Ti.stackIndex],Ov=Ti.shouldEmitCommentsStack[Ti.stackIndex],Nv=Ti.shouldEmitSourceMapsStack[Ti.stackIndex];ae(Ed),Nv&&PE(qr),Ov&&I1(qr,Ud,fy,Td),f?.(qr),Ti.stackIndex--}}function ci(qr,Ti,Wa){let kl=Wa==="left"?gr.getParenthesizeLeftSideOfBinaryForOperator(Ti.operatorToken.kind):gr.getParenthesizeRightSideOfBinaryForOperator(Ti.operatorToken.kind),Ed=oe(0,1,qr);if(Ed===lt&&(L.assertIsDefined($n),qr=kl(Ga($n,ot)),Ed=pe(1,1,qr),$n=void 0),(Ed===vd||Ed===OE||Ed===Te)&&ar(qr))return qr;ui=kl,Ed(1,qr)}}function gd(E){let ne=ep(E,E.condition,E.questionToken),Ee=ep(E,E.questionToken,E.whenTrue),Wt=ep(E,E.whenTrue,E.colonToken),lr=ep(E,E.colonToken,E.whenFalse);Kt(E.condition,gr.parenthesizeConditionOfConditionalExpression),wc(ne,!0),Ge(E.questionToken),wc(Ee,!0),Kt(E.whenTrue,gr.parenthesizeBranchOfConditionalExpression),tg(ne,Ee),wc(Wt,!0),Ge(E.colonToken),wc(lr,!0),Kt(E.whenFalse,gr.parenthesizeBranchOfConditionalExpression),tg(Wt,lr)}function Zl(E){Ge(E.head),cs(E,E.templateSpans,262144)}function Md(E){$t(125,E.pos,zi,E),Ge(E.asteriskToken),Lp(E.expression&&Is(E.expression),Mc)}function zf(E){$t(25,E.pos,Qn,E),Kt(E.expression,gr.parenthesizeExpressionForDisallowedComma)}function Io(E){oh(E.name),uE(E)}function Jf(E){Kt(E.expression,gr.parenthesizeLeftSideOfAccess),kp(E,E.typeArguments)}function Fd(E){Kt(E.expression,void 0),E.type&&(Wn(),zi("as"),Wn(),Ge(E.type))}function E_(E){Kt(E.expression,gr.parenthesizeLeftSideOfAccess),af("!")}function Y_(E){Kt(E.expression,void 0),E.type&&(Wn(),zi("satisfies"),Wn(),Ge(E.type))}function M(E){iy(E.keywordToken,E.pos,Qn),Qn("."),Ge(E.name)}function He(E){Kt(E.expression),Ge(E.literal)}function Nt(E){Pn(E,!E.multiLine&&rh(E))}function Pn(E,ne){$t(18,E.pos,Qn,E);let Ee=ne||Ya(E)&1?768:129;cs(E,E.statements,Ee),$t(19,E.statements.end,Qn,E,!!(Ee&1))}function la(E){rf(E,E.modifiers,!1),Ge(E.declarationList),lc()}function oa(E){E?Qn(";"):lc()}function be(E){Kt(E.expression,gr.parenthesizeExpressionOfExpressionStatement),(!C||!Mf(C)||ws(E.expression))&&lc()}function De(E){let ne=$t(99,E.pos,zi,E);Wn(),$t(20,ne,Qn,E),Kt(E.expression),$t(21,E.expression.end,Qn,E),Uu(E,E.thenStatement),E.elseStatement&&(ay(E,E.thenStatement,E.elseStatement),$t(91,E.thenStatement.end,zi,E),E.elseStatement.kind===242?(Wn(),Ge(E.elseStatement)):Uu(E,E.elseStatement))}function mt(E,ne){let Ee=$t(115,ne,zi,E);Wn(),$t(20,Ee,Qn,E),Kt(E.expression),$t(21,E.expression.end,Qn,E)}function St(E){$t(90,E.pos,zi,E),Uu(E,E.statement),Va(E.statement)&&!_e?Wn():ay(E,E.statement,E.expression),mt(E,E.statement.end),lc()}function Zt(E){mt(E,E.pos),Uu(E,E.statement)}function rn(E){let ne=$t(97,E.pos,zi,E);Wn();let Ee=$t(20,ne,Qn,E);kr(E.initializer),Ee=$t(26,E.initializer?E.initializer.end:Ee,Qn,E),Lp(E.condition),Ee=$t(26,E.condition?E.condition.end:Ee,Qn,E),Lp(E.incrementor),$t(21,E.incrementor?E.incrementor.end:Ee,Qn,E),Uu(E,E.statement)}function sn(E){let ne=$t(97,E.pos,zi,E);Wn(),$t(20,ne,Qn,E),kr(E.initializer),Wn(),$t(101,E.initializer.end,zi,E),Wn(),Kt(E.expression),$t(21,E.expression.end,Qn,E),Uu(E,E.statement)}function Dn(E){let ne=$t(97,E.pos,zi,E);Wn(),x1(E.awaitModifier),$t(20,ne,Qn,E),kr(E.initializer),Wn(),$t(162,E.initializer.end,zi,E),Wn(),Kt(E.expression),$t(21,E.expression.end,Qn,E),Uu(E,E.statement)}function kr(E){E!==void 0&&(E.kind===258?Ge(E):Kt(E))}function ki(E){$t(86,E.pos,zi,E),Ub(E.label),lc()}function Vn(E){$t(81,E.pos,zi,E),Ub(E.label),lc()}function $t(E,ne,Ee,Wt,lr){let ci=ea(Wt),qr=ci&&ci.kind===Wt.kind,Ti=ne;if(qr&&C&&(ne=xo(C.text,ne)),qr&&Wt.pos!==Ti){let Wa=lr&&C&&!Bf(Ti,ne,C);Wa&&Kf(),rd(Ti),Wa&&Z_()}if(ne=L_(E,Ee,ne),qr&&Wt.end!==ne){let Wa=Wt.kind===291;ag(ne,!Wa,Wa)}return ne}function Xn(E){return E.kind===2||!!E.hasTrailingNewLine}function ra(E){return C?vt(Nm(C.text,E.pos),Xn)||vt(l2(E),Xn)?!0:_3(E)?E.pos!==E.expression.pos&&vt(eb(C.text,E.expression.pos),Xn)?!0:ra(E.expression):!1:!1}function Is(E){if(!Gt&&_3(E)&&ra(E)){let ne=ea(E);if(ne&&ud(ne)){let Ee=D.createParenthesizedExpression(E.expression);return Ir(Ee,E),it(Ee,ne),Ee}return D.createParenthesizedExpression(E)}return E}function Mc(E){return Is(gr.parenthesizeExpressionForDisallowedComma(E))}function mm(E){$t(105,E.pos,zi,E),Lp(E.expression&&Is(E.expression),Is),lc()}function Hh(E){let ne=$t(116,E.pos,zi,E);Wn(),$t(20,ne,Qn,E),Kt(E.expression),$t(21,E.expression.end,Qn,E),Uu(E,E.statement)}function T_(E){let ne=$t(107,E.pos,zi,E);Wn(),$t(20,ne,Qn,E),Kt(E.expression),$t(21,E.expression.end,Qn,E),Wn(),Ge(E.caseBlock)}function Cb(E){Ge(E.label),$t(58,E.label.end,Qn,E),Wn(),Ge(E.statement)}function mv(E){$t(109,E.pos,zi,E),Lp(Is(E.expression),Is),lc()}function gx(E){$t(111,E.pos,zi,E),Wn(),Ge(E.tryBlock),E.catchClause&&(ay(E,E.tryBlock,E.catchClause),Ge(E.catchClause)),E.finallyBlock&&(ay(E,E.catchClause||E.tryBlock,E.finallyBlock),$t(96,(E.catchClause||E.tryBlock).end,zi,E),Wn(),Ge(E.finallyBlock))}function _1(E){iy(87,E.pos,zi),lc()}function yx(E){var ne,Ee,Wt,lr,ci;Ge(E.name),Ge(E.exclamationToken),Q_(E.type),I_(E.initializer,(ci=(lr=(ne=E.type)==null?void 0:ne.end)!=null?lr:(Wt=(Ee=E.name.emitNode)==null?void 0:Ee.typeNode)==null?void 0:Wt.end)!=null?ci:E.name.end,E,gr.parenthesizeExpressionForDisallowedComma)}function Wh(E){zi(II(E)?"let":kh(E)?"const":"var"),Wn(),cs(E,E.declarations,528)}function S_(E){hv(E)}function hv(E){rf(E,E.modifiers,!1),zi("function"),Ge(E.asteriskToken),Wn(),kt(E.name),eh(E,$_)}function eh(E,ne){let Ee=E.body;if(Ee)if(Va(Ee)){let Wt=Ya(E)&131072;Wt&&Kf(),ng(E),mn(E.parameters,qc),qc(E.body),ne(E),lE(Ee),ih(E),Wt&&Z_()}else ne(E),Wn(),Kt(Ee,gr.parenthesizeConciseBodyOfArrowFunction);else ne(E),lc()}function $_(E){Dp(E,E.typeParameters),eg(E,E.parameters),Q_(E.type)}function gv(E){if(Ya(E)&1)return!0;if(E.multiLine||!ws(E)&&C&&!DT(E,C)||Fl(E,Sl(E.statements),2)||bm(E,Os(E.statements),2,E.statements))return!1;let ne;for(let Ee of E.statements){if(qf(ne,Ee,2)>0)return!1;ne=Ee}return!0}function lE(E){l?.(E),Wn(),Qn("{"),Kf();let ne=gv(E)?Ib:zh;ig(E,E.statements,ne),Z_(),iy(19,E.statements.end,Qn,E),f?.(E)}function Ib(E){zh(E,!0)}function zh(E,ne){let Ee=xv(E.statements),Wt=X.getTextPos();Vt(E),Ee===0&&Wt===X.getTextPos()&&ne?(Z_(),cs(E,E.statements,768),Kf()):cs(E,E.statements,1,void 0,Ee)}function p1(E){uE(E)}function uE(E){Iv(0,void 0),mn(E.members,xE),rf(E,E.modifiers,!0),$t(84,yp(E).pos,zi,E),E.name&&(Wn(),kt(E.name));let ne=Ya(E)&131072;ne&&Kf(),Dp(E,E.typeParameters),cs(E,E.heritageClauses,0),Wn(),Qn("{"),cs(E,E.members,129),Qn("}"),ne&&Z_(),Gl()}function dE(E){Iv(0,void 0),rf(E,E.modifiers,!1),zi("interface"),Wn(),Ge(E.name),Dp(E,E.typeParameters),cs(E,E.heritageClauses,512),Wn(),Qn("{"),cs(E,E.members,129),Qn("}"),Gl()}function fE(E){rf(E,E.modifiers,!1),zi("type"),Wn(),Ge(E.name),Dp(E,E.typeParameters),Wn(),Qn("="),Wn(),Ge(E.type),lc()}function yv(E){rf(E,E.modifiers,!1),zi("enum"),Wn(),Ge(E.name),Wn(),Qn("{"),cs(E,E.members,145),Qn("}")}function vx(E){rf(E,E.modifiers,!1),~E.flags&1024&&(zi(E.flags&16?"namespace":"module"),Wn()),Ge(E.name);let ne=E.body;if(!ne)return lc();for(;ne&&Tc(ne);)Qn("."),Ge(ne.name),ne=ne.body;Wn(),Ge(ne)}function _E(E){ng(E),mn(E.statements,qc),Pn(E,rh(E)),ih(E)}function pE(E){$t(18,E.pos,Qn,E),cs(E,E.clauses,129),$t(19,E.clauses.end,Qn,E,!0)}function vv(E){rf(E,E.modifiers,!1),$t(100,E.modifiers?E.modifiers.end:E.pos,zi,E),Wn(),E.isTypeOnly&&($t(154,E.pos,zi,E),Wn()),Ge(E.name),Wn(),$t(63,E.name.end,Qn,E),Wn(),Lb(E.moduleReference),lc()}function Lb(E){E.kind===79?Kt(E):Ge(E)}function bv(E){rf(E,E.modifiers,!1),$t(100,E.modifiers?E.modifiers.end:E.pos,zi,E),Wn(),E.importClause&&(Ge(E.importClause),Wn(),$t(158,E.importClause.end,zi,E),Wn()),Kt(E.moduleSpecifier),E.assertClause&&Ub(E.assertClause),lc()}function m1(E){E.isTypeOnly&&($t(154,E.pos,zi,E),Wn()),Ge(E.name),E.name&&E.namedBindings&&($t(27,E.name.end,Qn,E),Wn()),Ge(E.namedBindings)}function Jh(E){let ne=$t(41,E.pos,Qn,E);Wn(),$t(128,ne,zi,E),Wn(),Ge(E.name)}function Lo(E){kb(E)}function mE(E){Db(E)}function sC(E){let ne=$t(93,E.pos,zi,E);Wn(),E.isExportEquals?$t(63,ne,af,E):$t(88,ne,zi,E),Wn(),Kt(E.expression,E.isExportEquals?gr.getParenthesizeRightSideOfBinaryForOperator(63):gr.parenthesizeExpressionOfExportDefault),lc()}function Zg(E){rf(E,E.modifiers,!1);let ne=$t(93,E.pos,zi,E);if(Wn(),E.isTypeOnly&&(ne=$t(154,ne,zi,E),Wn()),E.exportClause?Ge(E.exportClause):ne=$t(41,ne,Qn,E),E.moduleSpecifier){Wn();let Ee=E.exportClause?E.exportClause.end:ne;$t(158,Ee,zi,E),Wn(),Kt(E.moduleSpecifier)}E.assertClause&&Ub(E.assertClause),lc()}function Kh(E){$t(130,E.pos,zi,E),Wn();let ne=E.elements;cs(E,ne,526226)}function hm(E){Ge(E.name),Qn(":"),Wn();let ne=E.value;if(!(Ya(ne)&1024)){let Ee=sm(ne);ag(Ee.pos)}Ge(ne)}function x_(E){let ne=$t(93,E.pos,zi,E);Wn(),ne=$t(128,ne,zi,E),Wn(),ne=$t(143,ne,zi,E),Wn(),Ge(E.name),lc()}function Zu(E){let ne=$t(41,E.pos,Qn,E);Wn(),$t(128,ne,zi,E),Wn(),Ge(E.name)}function ed(E){kb(E)}function td(E){Db(E)}function kb(E){Qn("{"),cs(E,E.elements,525136),Qn("}")}function Db(E){E.isTypeOnly&&(zi("type"),Wn()),E.propertyName&&(Ge(E.propertyName),Wn(),$t(128,E.propertyName.end,zi,E),Wn()),Ge(E.name)}function bx(E){zi("require"),Qn("("),Kt(E.expression),Qn(")")}function wb(E){Ge(E.openingElement),cs(E,E.children,262144),Ge(E.closingElement)}function qh(E){Qn("<"),Nb(E.tagName),kp(E,E.typeArguments),Wn(),Ge(E.attributes),Qn("/>")}function Rb(E){Ge(E.openingFragment),cs(E,E.children,262144),Ge(E.closingFragment)}function h1(E){if(Qn("<"),Xm(E)){let ne=TE(E.tagName,E);Nb(E.tagName),kp(E,E.typeArguments),E.attributes.properties&&E.attributes.properties.length>0&&Wn(),Ge(E.attributes),Hb(E.attributes,E),tg(ne)}Qn(">")}function Ob(E){X.writeLiteral(E.text)}function cC(E){Qn("</"),GS(E)&&Nb(E.tagName),Qn(">")}function Ex(E){cs(E,E.properties,262656)}function Ev(E){Ge(E.name),Ax("=",Qn,E.initializer,ln)}function hE(E){Qn("{..."),Kt(E.expression),Qn("}")}function Fe(E){let ne=!1;return bw(C?.text||"",E+1,()=>ne=!0),ne}function ey(E){let ne=!1;return vw(C?.text||"",E+1,()=>ne=!0),ne}function Ip(E){return Fe(E)||ey(E)}function Tv(E){var ne;if(E.expression||!Gt&&!ws(E)&&Ip(E.pos)){let Ee=C&&!ws(E)&&Gs(C,E.pos).line!==Gs(C,E.end).line;Ee&&X.increaseIndent();let Wt=$t(18,E.pos,Qn,E);Ge(E.dotDotDotToken),Kt(E.expression),$t(19,((ne=E.expression)==null?void 0:ne.end)||Wt,Qn,E),Ee&&X.decreaseIndent()}}function Nb(E){E.kind===79?Kt(E):Ge(E)}function Sv(E){$t(82,E.pos,zi,E),Wn(),Kt(E.expression,gr.parenthesizeExpressionForDisallowedComma),g1(E,E.statements,E.expression.end)}function Xh(E){let ne=$t(88,E.pos,zi,E);g1(E,E.statements,ne)}function g1(E,ne,Ee){let Wt=ne.length===1&&(!C||ws(E)||ws(ne[0])||a4(E,ne[0],C)),lr=163969;Wt?(iy(58,Ee,Qn,E),Wn(),lr&=-130):$t(58,Ee,Qn,E),cs(E,ne,lr)}function wo(E){Wn(),L_(E.token,zi),Wn(),cs(E,E.types,528)}function A_(E){let ne=$t(83,E.pos,zi,E);Wn(),E.variableDeclaration&&($t(20,ne,Qn,E),Ge(E.variableDeclaration),$t(21,E.variableDeclaration.end,Qn,E),Wn()),Ge(E.block)}function gE(E){Ge(E.name),Qn(":"),Wn();let ne=E.initializer;if(!(Ya(ne)&1024)){let Ee=sm(ne);ag(Ee.pos)}Kt(ne,gr.parenthesizeExpressionForDisallowedComma)}function Kc(E){Ge(E.name),E.objectAssignmentInitializer&&(Wn(),Qn("="),Wn(),Kt(E.objectAssignmentInitializer,gr.parenthesizeExpressionForDisallowedComma))}function th(E){E.expression&&($t(25,E.pos,Qn,E),Kt(E.expression,gr.parenthesizeExpressionForDisallowedComma))}function Pb(E){Ge(E.name),I_(E.initializer,E.name.end,E,gr.parenthesizeExpressionForDisallowedComma)}function C_(E){if(we("/**"),E.comment){let ne=Cw(E.comment);if(ne){let Ee=ne.split(/\r\n?|\n/g);for(let Wt of Ee)nl(),Wn(),Qn("*"),Wn(),we(Wt)}}E.tags&&(E.tags.length===1&&E.tags[0].kind===347&&!E.comment?(Wn(),Ge(E.tags[0])):cs(E,E.tags,33)),Wn(),we("*/")}function Mb(E){nh(E.tagName),zs(E.typeExpression),ym(E.comment)}function Ml(E){nh(E.tagName),Ge(E.name),ym(E.comment)}function Yh(E){Wn(),Qn("{"),Ge(E.name),Qn("}")}function ll(E){nh(E.tagName),Wn(),Qn("{"),Ge(E.class),Qn("}"),ym(E.comment)}function y1(E){nh(E.tagName),zs(E.constraint),Wn(),cs(E,E.typeParameters,528),ym(E.comment)}function lC(E){nh(E.tagName),E.typeExpression&&(E.typeExpression.kind===312?zs(E.typeExpression):(Wn(),Qn("{"),we("Object"),E.typeExpression.isArrayType&&(Qn("["),Qn("]")),Qn("}"))),E.fullName&&(Wn(),Ge(E.fullName)),ym(E.comment),E.typeExpression&&E.typeExpression.kind===325&&yd(E.typeExpression)}function Ai(E){nh(E.tagName),E.name&&(Wn(),Ge(E.name)),ym(E.comment),yE(E.typeExpression)}function Rr(E){ym(E.comment),yE(E.typeExpression)}function gm(E){nh(E.tagName),ym(E.comment)}function yd(E){cs(E,D.createNodeArray(E.jsDocPropertyTags),33)}function yE(E){E.typeParameters&&cs(E,D.createNodeArray(E.typeParameters),33),E.parameters&&cs(E,D.createNodeArray(E.parameters),33),E.type&&(nl(),Wn(),Qn("*"),Wn(),Ge(E.type))}function $h(E){nh(E.tagName),zs(E.typeExpression),Wn(),E.isBracketed&&Qn("["),Ge(E.name),E.isBracketed&&Qn("]"),ym(E.comment)}function nh(E){Qn("@"),Ge(E)}function ym(E){let ne=Cw(E);ne&&(Wn(),we(ne))}function zs(E){E&&(Wn(),Qn("{"),Ge(E.type),Qn("}"))}function Fb(E){nl();let ne=E.statements;if(ne.length===0||!B_(ne[0])||ws(ne[0])){ig(E,ne,Cf);return}Cf(E)}function v1(E){b1(!!E.hasNoDefaultLib,E.syntheticFileReferences||[],E.syntheticTypeReferences||[],E.syntheticLibReferences||[]);for(let ne of E.prepends)if(BT(ne)&&ne.syntheticReferences)for(let Ee of ne.syntheticReferences)Ge(Ee),nl()}function Gb(E){E.isDeclarationFile&&b1(E.hasNoDefaultLib,E.referencedFiles,E.typeReferenceDirectives,E.libReferenceDirectives)}function b1(E,ne,Ee,Wt){if(E){let lr=X.getTextPos();vm('/// <reference no-default-lib="true"/>'),Pe&&Pe.sections.push({pos:lr,end:X.getTextPos(),kind:"no-default-lib"}),nl()}if(C&&C.moduleName&&(vm(`/// <amd-module name="${C.moduleName}" />`),nl()),C&&C.amdDependencies)for(let lr of C.amdDependencies)lr.name?vm(`/// <amd-dependency name="${lr.name}" path="${lr.path}" />`):vm(`/// <amd-dependency path="${lr.path}" />`),nl();for(let lr of ne){let ci=X.getTextPos();vm(`/// <reference path="${lr.fileName}" />`),Pe&&Pe.sections.push({pos:ci,end:X.getTextPos(),kind:"reference",data:lr.fileName}),nl()}for(let lr of Ee){let ci=X.getTextPos(),qr=lr.resolutionMode&&lr.resolutionMode!==C?.impliedNodeFormat?`resolution-mode="${lr.resolutionMode===99?"import":"require"}"`:"";vm(`/// <reference types="${lr.fileName}" ${qr}/>`),Pe&&Pe.sections.push({pos:ci,end:X.getTextPos(),kind:lr.resolutionMode?lr.resolutionMode===99?"type-import":"type-require":"type",data:lr.fileName}),nl()}for(let lr of Wt){let ci=X.getTextPos();vm(`/// <reference lib="${lr.fileName}" />`),Pe&&Pe.sections.push({pos:ci,end:X.getTextPos(),kind:"lib",data:lr.fileName}),nl()}}function Cf(E){let ne=E.statements;ng(E),mn(E.statements,qc),Vt(E);let Ee=Yc(ne,Wt=>!B_(Wt));Gb(E),cs(E,ne,1,void 0,Ee===-1?ne.length:Ee),ih(E)}function Tx(E){let ne=Ya(E);!(ne&1024)&&E.pos!==E.expression.pos&&ag(E.expression.pos),Kt(E.expression),!(ne&2048)&&E.end!==E.expression.end&&rd(E.expression.end)}function Sx(E){ny(E,E.elements,528,void 0)}function xv(E,ne,Ee,Wt){let lr=!!ne;for(let ci=0;ci<E.length;ci++){let qr=E[ci];if(B_(qr)){if(Ee?!Ee.has(qr.expression.text):!0){lr&&(lr=!1,ue(ne)),nl();let Wa=X.getTextPos();Ge(qr),Wt&&Pe&&Pe.sections.push({pos:Wa,end:X.getTextPos(),kind:"prologue",data:qr.expression.text}),Ee&&Ee.add(qr.expression.text)}}else return ci}return E.length}function E1(E,ne){for(let Ee of E)if(!ne.has(Ee.data)){nl();let Wt=X.getTextPos();Ge(Ee),Pe&&Pe.sections.push({pos:Wt,end:X.getTextPos(),kind:"prologue",data:Ee.data}),ne&&ne.add(Ee.data)}}function T1(E){if(Li(E))xv(E.statements,E);else{let ne=new Set;for(let Ee of E.prepends)E1(Ee.prologues,ne);for(let Ee of E.sourceFiles)xv(Ee.statements,Ee,ne,!0);ue(void 0)}}function xx(E){let ne=new Set,Ee;for(let Wt=0;Wt<E.sourceFiles.length;Wt++){let lr=E.sourceFiles[Wt],ci,qr=0;for(let Ti of lr.statements){if(!B_(Ti))break;ne.has(Ti.expression.text)||(ne.add(Ti.expression.text),(ci||(ci=[])).push({pos:Ti.pos,end:Ti.end,expression:{pos:Ti.expression.pos,end:Ti.expression.end,text:Ti.expression.text}}),qr=qr<Ti.end?Ti.end:qr)}ci&&(Ee||(Ee=[])).push({file:Wt,text:lr.text.substring(0,qr),directives:ci})}return Ee}function Bb(E){if(Li(E)||BT(E)){let ne=K8(E.text);if(ne)return vm(ne),nl(),!0}else{for(let ne of E.prepends)if(L.assertNode(ne,BT),Bb(ne))return!0;for(let ne of E.sourceFiles)if(Bb(ne))return!0}}function S1(E,ne){if(!E)return;let Ee=we;we=ne,Ge(E),we=Ee}function rf(E,ne,Ee){if(ne?.length){if(Ji(ne,Ha))return Qh(E,ne);if(Ji(ne,du))return Ee?Zh(E,ne):E.pos;d?.(ne);let Wt,lr,ci=0,qr=0,Ti;for(;ci<ne.length;){for(;qr<ne.length;){if(Ti=ne[qr],lr=du(Ti)?"decorators":"modifiers",Wt===void 0)Wt=lr;else if(lr!==Wt)break;qr++}let Wa={pos:-1,end:-1};ci===0&&(Wa.pos=ne.pos),qr===ne.length-1&&(Wa.end=ne.end),(Wt==="modifiers"||Ee)&&Vb(Ge,E,ne,Wt==="modifiers"?2359808:2146305,void 0,ci,qr-ci,!1,Wa),ci=qr,Wt=lr,qr++}if(g?.(ne),Ti&&!vp(Ti.end))return Ti.end}return E.pos}function Qh(E,ne){cs(E,ne,2359808);let Ee=Os(ne);return Ee&&!vp(Ee.end)?Ee.end:E.pos}function Q_(E){E&&(Qn(":"),Wn(),Ge(E))}function I_(E,ne,Ee,Wt){E&&(Wn(),$t(63,ne,af,Ee),Wn(),Kt(E,Wt))}function Ax(E,ne,Ee,Wt){Ee&&(ne(E),Wt(Ee))}function Ub(E){E&&(Wn(),Ge(E))}function Lp(E,ne){E&&(Wn(),Kt(E,ne))}function x1(E){E&&(Ge(E),Wn())}function Uu(E,ne){Va(ne)||Ya(E)&1?(Wn(),Ge(ne)):(nl(),Kf(),Pz(ne)?rt(5,ne):Ge(ne),Z_())}function Zh(E,ne){cs(E,ne,2146305);let Ee=Os(ne);return Ee&&!vp(Ee.end)?Ee.end:E.pos}function kp(E,ne){cs(E,ne,53776,pt)}function Dp(E,ne){if(Ia(E)&&E.typeArguments)return kp(E,E.typeArguments);cs(E,ne,53776)}function eg(E,ne){cs(E,ne,2576)}function vE(E,ne){let Ee=Wp(ne);return Ee&&Ee.pos===E.pos&&xs(E)&&!E.type&&!vt(E.modifiers)&&!vt(E.typeParameters)&&!vt(Ee.modifiers)&&!Ee.dotDotDotToken&&!Ee.questionToken&&!Ee.type&&!Ee.initializer&&Re(Ee.name)}function A1(E,ne){vE(E,ne)?cs(E,ne,528):eg(E,ne)}function ty(E,ne){cs(E,ne,8848)}function bE(E){switch(E&60){case 0:break;case 16:Qn(",");break;case 4:Wn(),Qn("|");break;case 32:Wn(),Qn("*"),Wn();break;case 8:Wn(),Qn("&");break}}function cs(E,ne,Ee,Wt,lr,ci){Cx(Ge,E,ne,Ee|(E&&Ya(E)&2?65536:0),Wt,lr,ci)}function ny(E,ne,Ee,Wt,lr,ci){Cx(Kt,E,ne,Ee,Wt,lr,ci)}function Cx(E,ne,Ee,Wt,lr,ci=0,qr=Ee?Ee.length-ci:0){if(Ee===void 0&&Wt&16384)return;let Wa=Ee===void 0||ci>=Ee.length||qr===0;if(Wa&&Wt&32768){d?.(Ee),g?.(Ee);return}Wt&15360&&(Qn(HMe(Wt)),Wa&&Ee&&ag(Ee.pos,!0)),d?.(Ee),Wa?Wt&1&&!(_e&&(!ne||C&&DT(ne,C)))?nl():Wt&256&&!(Wt&524288)&&Wn():Vb(E,ne,Ee,Wt,lr,ci,qr,Ee.hasTrailingComma,Ee),g?.(Ee),Wt&15360&&(Wa&&Ee&&rd(Ee.end),Qn(WMe(Wt)))}function Vb(E,ne,Ee,Wt,lr,ci,qr,Ti,Wa){let kl=(Wt&262144)===0,Ed=kl,Ud=Fl(ne,Ee[ci],Wt);Ud?(nl(Ud),Ed=!1):Wt&256&&Wn(),Wt&128&&Kf();let fy=qMe(E,lr),Td,Ov,Nv=!1;for(let Sm=0;Sm<qr;Sm++){let py=Ee[ci+Sm];if(Wt&32)nl(),bE(Wt);else if(Td){Wt&60&&Td.end!==(ne?ne.end:-1)&&(Ya(Td)&2048||rd(Td.end)),bE(Wt),Cr(Ov);let If=qf(Td,py,Wt);If>0?(Wt&131||(Kf(),Nv=!0),nl(If),Ed=!1):Td&&Wt&512&&Wn()}if(Ov=dr(py),Ed){let If=sm(py);ag(If.pos)}else Ed=kl;ge=py.pos,fy(py,E,lr,Sm),Nv&&(Z_(),Nv=!1),Td=py}let _y=Td?Ya(Td):0,Xf=Gt||!!(_y&2048),ME=Ti&&Wt&64&&Wt&16;ME&&(Td&&!Xf?$t(27,Td.end,Qn,Td):Qn(",")),Td&&(ne?ne.end:-1)!==Td.end&&Wt&60&&!Xf&&rd(ME&&Wa?.end?Wa.end:Td.end),Wt&128&&Z_(),Cr(Ov);let cf=bm(ne,Ee[ci+qr-1],Wt,Wa);cf?nl(cf):Wt&2097408&&Wn()}function jb(E){X.writeLiteral(E)}function Ix(E){X.writeStringLiteral(E)}function uC(E){X.write(E)}function Lx(E,ne){X.writeSymbol(E,ne)}function Qn(E){X.writePunctuation(E)}function lc(){X.writeTrailingSemicolon(";")}function zi(E){X.writeKeyword(E)}function af(E){X.writeOperator(E)}function Av(E){X.writeParameter(E)}function vm(E){X.writeComment(E)}function Wn(){X.writeSpace(" ")}function kx(E){X.writeProperty(E)}function ry(E){X.nonEscapingWrite?X.nonEscapingWrite(E):X.write(E)}function nl(E=1){for(let ne=0;ne<E;ne++)X.writeLine(ne>0)}function Kf(){X.increaseIndent()}function Z_(){X.decreaseIndent()}function iy(E,ne,Ee,Wt){return Le?L_(E,Ee,ne):dC(Wt,E,Ee,ne,L_)}function EE(E,ne){m&&m(E),ne(Xa(E.kind)),v&&v(E)}function L_(E,ne,Ee){let Wt=Xa(E);return ne(Wt),Ee<0?Ee:Ee+Wt.length}function ay(E,ne,Ee){if(Ya(E)&1)Wn();else if(_e){let Wt=ep(E,ne,Ee);Wt?nl(Wt):Wn()}else nl()}function Ac(E){let ne=E.split(/\r\n?|\n/g),Ee=xse(ne);for(let Wt of ne){let lr=Ee?Wt.slice(Ee):Wt;lr.length&&(nl(),we(lr))}}function wc(E,ne){E?(Kf(),nl(E)):ne&&Wn()}function tg(E,ne){E&&Z_(),ne&&Z_()}function Fl(E,ne,Ee){if(Ee&2||_e){if(Ee&65536)return 1;if(ne===void 0)return!E||C&&DT(E,C)?0:1;if(ne.pos===ge||ne.kind===11)return 0;if(C&&E&&!vp(E.pos)&&!ws(ne)&&(!ne.parent||ec(ne.parent)===ec(E)))return _e?nd(Wt=>ole(ne.pos,E.pos,C,Wt)):a4(E,ne,C)?0:1;if(Wb(ne,Ee))return 1}return Ee&1?1:0}function qf(E,ne,Ee){if(Ee&2||_e){if(E===void 0||ne===void 0||ne.kind===11)return 0;if(C&&!ws(E)&&!ws(ne))return _e&&ch(E,ne)?nd(Wt=>pW(E,ne,C,Wt)):!_e&&wv(E,ne)?DR(E,ne,C)?0:1:Ee&65536?1:0;if(Wb(E,Ee)||Wb(ne,Ee))return 1}else if(tO(ne))return 1;return Ee&1?1:0}function bm(E,ne,Ee,Wt){if(Ee&2||_e){if(Ee&65536)return 1;if(ne===void 0)return!E||C&&DT(E,C)?0:1;if(C&&E&&!vp(E.pos)&&!ws(ne)&&(!ne.parent||ne.parent===E)){if(_e){let lr=Wt&&!vp(Wt.end)?Wt.end:ne.end;return nd(ci=>sle(lr,E.end,C,ci))}return rle(E,ne,C)?0:1}if(Wb(ne,Ee))return 1}return Ee&1&&!(Ee&131072)?1:0}function nd(E){L.assert(!!_e);let ne=E(!0);return ne===0?E(!1):ne}function TE(E,ne){let Ee=_e&&Fl(ne,E,0);return Ee&&wc(Ee,!1),!!Ee}function Hb(E,ne){let Ee=_e&&bm(ne,E,0,void 0);Ee&&nl(Ee)}function Wb(E,ne){if(ws(E)){let Ee=tO(E);return Ee===void 0?(ne&65536)!==0:Ee}return(ne&65536)!==0}function ep(E,ne,Ee){return Ya(E)&262144?0:(E=SE(E),ne=SE(ne),Ee=SE(Ee),tO(Ee)?1:C&&!ws(E)&&!ws(ne)&&!ws(Ee)?_e?nd(Wt=>pW(ne,Ee,C,Wt)):DR(ne,Ee,C)?0:1:0)}function rh(E){return E.statements.length===0&&(!C||DR(E,E,C))}function SE(E){for(;E.kind===214&&ws(E);)E=E.expression;return E}function oy(E,ne){if(tc(E)||tS(E))return zb(E);if(yo(E)&&E.textSourceNode)return oy(E.textSourceNode,ne);let Ee=C,Wt=!!Ee&&!!E.parent&&!ws(E);if(Ah(E)){if(!Wt||Gn(E)!==ec(Ee))return vr(E)}else if(L.assertNode(E,fT),!Wt)return E.text;return k0(Ee,E,ne)}function uc(E,ne,Ee){if(E.kind===10&&E.textSourceNode){let lr=E.textSourceNode;if(Re(lr)||pi(lr)||Vf(lr)){let ci=Vf(lr)?lr.text:oy(lr);return Ee?`"${qH(ci)}"`:ne||Ya(E)&33554432?`"${_S(ci)}"`:`"${ER(ci)}"`}else return uc(lr,ne,Ee)}let Wt=(ne?1:0)|(Ee?2:0)|(e.terminateUnterminatedLiterals?4:0)|(e.target&&e.target===99?8:0);return Bse(E,C,Wt)}function ng(E){E&&Ya(E)&1048576||($.push(fe),fe=0,W.push(Y),Y=void 0,Z.push(U))}function ih(E){E&&Ya(E)&1048576||(fe=$.pop(),Y=W.pop(),U=Z.pop())}function Cv(E){(!U||U===Os(Z))&&(U=new Set),U.add(E)}function Iv(E,ne){R.push(ie),ie=E,re.push(U),le=ne}function Gl(){ie=R.pop(),le=re.pop()}function ah(E){(!le||le===Os(re))&&(le=new Set),le.add(E)}function qc(E){if(E)switch(E.kind){case 238:mn(E.statements,qc);break;case 253:case 251:case 243:case 244:qc(E.statement);break;case 242:qc(E.thenStatement),qc(E.elseStatement);break;case 245:case 247:case 246:qc(E.initializer),qc(E.statement);break;case 252:qc(E.caseBlock);break;case 266:mn(E.clauses,qc);break;case 292:case 293:mn(E.statements,qc);break;case 255:qc(E.tryBlock),qc(E.catchClause),qc(E.finallyBlock);break;case 295:qc(E.variableDeclaration),qc(E.block);break;case 240:qc(E.declarationList);break;case 258:mn(E.declarations,qc);break;case 257:case 166:case 205:case 260:oh(E.name);break;case 259:oh(E.name),Ya(E)&1048576&&(mn(E.parameters,qc),qc(E.body));break;case 203:case 204:mn(E.elements,qc);break;case 269:qc(E.importClause);break;case 270:oh(E.name),qc(E.namedBindings);break;case 271:oh(E.name);break;case 277:oh(E.name);break;case 272:mn(E.elements,qc);break;case 273:oh(E.propertyName||E.name);break}}function xE(E){if(E)switch(E.kind){case 299:case 300:case 169:case 171:case 174:case 175:oh(E.name);break}}function oh(E){E&&(tc(E)||tS(E)?zb(E):La(E)&&qc(E))}function zb(E){let ne=E.emitNode.autoGenerate;if((ne.flags&7)===4)return Vu(I3(E),pi(E),ne.flags,ne.prefix,ne.suffix);{let Ee=ne.id;return B[Ee]||(B[Ee]=fr(E))}}function Vu(E,ne,Ee,Wt,lr){let ci=zo(E),qr=ne?F:P;return qr[ci]||(qr[ci]=No(E,ne,Ee??0,L2(Wt,zb),L2(lr)))}function Em(E,ne){return Lv(E,ne)&&!Jb(E,ne)&&!q.has(E)}function Jb(E,ne){return ne?!!le?.has(E):!!U?.has(E)}function Lv(E,ne){return C?g6(C,E,r):!0}function AE(E,ne){for(let Ee=ne;Ee&&AT(Ee,ne);Ee=Ee.nextContainer)if(Qp(Ee)&&Ee.locals){let Wt=Ee.locals.get(Bs(E));if(Wt&&Wt.flags&3257279)return!1}return!0}function sy(E){var ne;switch(E){case"":return fe;case"#":return ie;default:return(ne=Y?.get(E))!=null?ne:0}}function C1(E,ne){switch(E){case"":fe=ne;break;case"#":ie=ne;break;default:Y??(Y=new Map),Y.set(E,ne);break}}function kv(E,ne,Ee,Wt,lr){Wt.length>0&&Wt.charCodeAt(0)===35&&(Wt=Wt.slice(1));let ci=jT(Ee,Wt,"",lr),qr=sy(ci);if(E&&!(qr&E)){let Wa=jT(Ee,Wt,E===268435456?"_i":"_n",lr);if(Em(Wa,Ee))return qr|=E,Ee?ah(Wa):ne&&Cv(Wa),C1(ci,qr),Wa}for(;;){let Ti=qr&268435455;if(qr++,Ti!==8&&Ti!==13){let Wa=Ti<26?"_"+String.fromCharCode(97+Ti):"_"+(Ti-26),kl=jT(Ee,Wt,Wa,lr);if(Em(kl,Ee))return Ee?ah(kl):ne&&Cv(kl),C1(ci,qr),kl}}}function rg(E,ne=Em,Ee,Wt,lr,ci,qr){if(E.length>0&&E.charCodeAt(0)===35&&(E=E.slice(1)),ci.length>0&&ci.charCodeAt(0)===35&&(ci=ci.slice(1)),Ee){let Wa=jT(lr,ci,E,qr);if(ne(Wa,lr))return lr?ah(Wa):Wt?Cv(Wa):q.add(Wa),Wa}E.charCodeAt(E.length-1)!==95&&(E+="_");let Ti=1;for(;;){let Wa=jT(lr,ci,E+Ti,qr);if(ne(Wa,lr))return lr?ah(Wa):Wt?Cv(Wa):q.add(Wa),Wa;Ti++}}function of(E){return rg(E,Lv,!0,!1,!1,"","")}function CE(E){let ne=oy(E.name);return AE(ne,zr(E,Qp))?ne:rg(ne,Em,!1,!1,!1,"","")}function Gd(E){let ne=UA(E),Ee=yo(ne)?Vse(ne.text):"module";return rg(Ee,Em,!1,!1,!1,"","")}function sh(){return rg("default",Em,!1,!1,!1,"","")}function Dv(){return rg("class",Em,!1,!1,!1,"","")}function Dx(E,ne,Ee,Wt){return Re(E.name)?Vu(E.name,ne):kv(0,!1,ne,Ee,Wt)}function No(E,ne,Ee,Wt,lr){switch(E.kind){case 79:case 80:return rg(oy(E),Em,!!(Ee&16),!!(Ee&8),ne,Wt,lr);case 264:case 263:return L.assert(!Wt&&!lr&&!ne),CE(E);case 269:case 275:return L.assert(!Wt&&!lr&&!ne),Gd(E);case 259:case 260:{L.assert(!Wt&&!lr&&!ne);let ci=E.name;return ci&&!tc(ci)?No(ci,!1,Ee,Wt,lr):sh()}case 274:return L.assert(!Wt&&!lr&&!ne),sh();case 228:return L.assert(!Wt&&!lr&&!ne),Dv();case 171:case 174:case 175:return Dx(E,ne,Wt,lr);case 164:return kv(0,!0,ne,Wt,lr);default:return kv(0,!1,ne,Wt,lr)}}function fr(E){let ne=E.emitNode.autoGenerate,Ee=L2(ne.prefix,zb),Wt=L2(ne.suffix);switch(ne.flags&7){case 1:return kv(0,!!(ne.flags&8),pi(E),Ee,Wt);case 2:return L.assertNode(E,Re),kv(268435456,!!(ne.flags&8),!1,Ee,Wt);case 3:return rg(vr(E),ne.flags&32?Lv:Em,!!(ne.flags&16),!!(ne.flags&8),pi(E),Ee,Wt)}return L.fail(`Unsupported GeneratedIdentifierKind: ${L.formatEnum(ne.flags&7,w8,!0)}.`)}function vd(E,ne){let Ee=pe(2,E,ne),Wt=qe,lr=zt,ci=Qt;ju(ne),Ee(E,ne),I1(ne,Wt,lr,ci)}function ju(E){let ne=Ya(E),Ee=sm(E);IE(E,ne,Ee.pos,Ee.end),ne&4096&&(Gt=!0)}function I1(E,ne,Ee,Wt){let lr=Ya(E),ci=sm(E);lr&4096&&(Gt=!1),cy(E,lr,ci.pos,ci.end,ne,Ee,Wt);let qr=vue(E);qr&&cy(E,lr,qr.pos,qr.end,ne,Ee,Wt)}function IE(E,ne,Ee,Wt){Ni(),_n=!1;let lr=Ee<0||(ne&1024)!==0||E.kind===11,ci=Wt<0||(ne&2048)!==0||E.kind===11;(Ee>0||Wt>0)&&Ee!==Wt&&(lr||Rp(Ee,E.kind!==355),(!lr||Ee>=0&&ne&1024)&&(qe=Ee),(!ci||Wt>=0&&ne&2048)&&(zt=Wt,E.kind===258&&(Qt=Wt))),mn(l2(E),wx),Pi()}function cy(E,ne,Ee,Wt,lr,ci,qr){Ni();let Ti=Wt<0||(ne&2048)!==0||E.kind===11;mn(rO(E),ly),(Ee>0||Wt>0)&&Ee!==Wt&&(qe=lr,zt=ci,Qt=qr,!Ti&&E.kind!==355&&LE(Wt)),Pi()}function wx(E){(E.hasLeadingNewline||E.kind===2)&&X.writeLine(),wp(E),E.hasTrailingNewLine||E.kind===2?X.writeLine():X.writeSpace(" ")}function ly(E){X.isAtStartOfLine()||X.writeSpace(" "),wp(E),E.hasTrailingNewLine&&X.writeLine()}function wp(E){let ne=tp(E),Ee=E.kind===3?hw(ne):void 0;$A(ne,Ee,X,0,ne.length,x)}function tp(E){return E.kind===3?`/*${E.text}*/`:`//${E.text}`}function ig(E,ne,Ee){Ni();let{pos:Wt,end:lr}=ne,ci=Ya(E),qr=Wt<0||(ci&1024)!==0,Ti=Gt||lr<0||(ci&2048)!==0;qr||Rv(ne),Pi(),ci&4096&&!Gt?(Gt=!0,Ee(E),Gt=!1):Ee(E),Ni(),Ti||(Rp(ne.end,!0),_n&&!X.isAtStartOfLine()&&X.writeLine()),Pi()}function wv(E,ne){return E=ec(E),E.parent&&E.parent===ec(ne).parent}function ch(E,ne){if(ne.pos<E.end)return!1;E=ec(E),ne=ec(ne);let Ee=E.parent;if(!Ee||Ee!==ne.parent)return!1;let Wt=Ule(E),lr=Wt?.indexOf(E);return lr!==void 0&&lr>-1&&Wt.indexOf(ne)===lr+1}function Rp(E,ne){_n=!1,ne?E===0&&C?.isDeclarationFile?ls(E,Cc):ls(E,Tm):E===0&&ls(E,L1)}function L1(E,ne,Ee,Wt,lr){wE(E,ne)&&Tm(E,ne,Ee,Wt,lr)}function Cc(E,ne,Ee,Wt,lr){wE(E,ne)||Tm(E,ne,Ee,Wt,lr)}function Bd(E,ne){return e.onlyPrintJsDocStyle?cJ(E,ne)||y6(E,ne):!0}function Tm(E,ne,Ee,Wt,lr){!C||!Bd(C.text,E)||(_n||(Uce(je(),X,lr,E),_n=!0),bd(E),$A(C.text,je(),X,E,ne,x),bd(ne),Wt?X.writeLine():Ee===3&&X.writeSpace(" "))}function rd(E){Gt||E===-1||Rp(E,!0)}function LE(E){kE(E,uy)}function uy(E,ne,Ee,Wt){!C||!Bd(C.text,E)||(X.isAtStartOfLine()||X.writeSpace(" "),bd(E),$A(C.text,je(),X,E,ne,x),bd(ne),Wt&&X.writeLine())}function ag(E,ne,Ee){Gt||(Ni(),kE(E,ne?uy:Ee?Rx:sf),Pi())}function Rx(E,ne,Ee){C&&(bd(E),$A(C.text,je(),X,E,ne,x),bd(ne),Ee===2&&X.writeLine())}function sf(E,ne,Ee,Wt){C&&(bd(E),$A(C.text,je(),X,E,ne,x),bd(ne),Wt?X.writeLine():X.writeSpace(" "))}function ls(E,ne){C&&(qe===-1||E!==qe)&&(DE(E)?og(ne):vw(C.text,E,ne,E))}function kE(E,ne){C&&(zt===-1||E!==zt&&E!==Qt)&&bw(C.text,E,ne)}function DE(E){return kn!==void 0&&To(kn).nodePos===E}function og(E){if(!C)return;let ne=To(kn).detachedCommentEndPos;kn.length-1?kn.pop():kn=void 0,vw(C.text,ne,E,ne)}function Rv(E){let ne=C&&jce(C.text,je(),X,k1,E,x,Gt);ne&&(kn?kn.push(ne):kn=[ne])}function k1(E,ne,Ee,Wt,lr,ci){!C||!Bd(C.text,Wt)||(bd(Wt),$A(E,ne,Ee,Wt,lr,ci),bd(lr))}function wE(E,ne){return!!C&&iH(C.text,E,ne)}function RE(E){return E.parsedSourceMap===void 0&&E.sourceMapText!==void 0&&(E.parsedSourceMap=bK(E.sourceMapText)||!1),E.parsedSourceMap||void 0}function OE(E,ne){let Ee=pe(3,E,ne);NE(ne),Ee(E,ne),PE(ne)}function NE(E){let ne=Ya(E),Ee=pb(E);if(Oj(E)){L.assertIsDefined(E.parent,"UnparsedNodes must have parent pointers");let Wt=RE(E.parent);Wt&&Ye&&Ye.appendSourceMap(X.getLine(),X.getColumn(),Wt,E.parent.sourceMapPath,E.parent.getLineAndCharacterOfPosition(E.pos),E.parent.getLineAndCharacterOfPosition(E.end))}else{let Wt=Ee.source||_t;E.kind!==355&&!(ne&32)&&Ee.pos>=0&&lh(Ee.source||_t,dy(Wt,Ee.pos)),ne&128&&(Le=!0)}}function PE(E){let ne=Ya(E),Ee=pb(E);Oj(E)||(ne&128&&(Le=!1),E.kind!==355&&!(ne&64)&&Ee.end>=0&&lh(Ee.source||_t,Ee.end))}function dy(E,ne){return E.skipTrivia?E.skipTrivia(ne):xo(E.text,ne)}function bd(E){if(Le||vp(E)||Nx(_t))return;let{line:ne,character:Ee}=Gs(_t,E);Ye.addMapping(X.getLine(),X.getColumn(),ct,ne,Ee,void 0)}function lh(E,ne){if(E!==_t){let Ee=_t,Wt=ct;sg(E),bd(ne),Ox(Ee,Wt)}else bd(ne)}function dC(E,ne,Ee,Wt,lr){if(Le||E&&B6(E))return lr(ne,Ee,Wt);let ci=E&&E.emitNode,qr=ci&&ci.flags||0,Ti=ci&&ci.tokenSourceMapRanges&&ci.tokenSourceMapRanges[ne],Wa=Ti&&Ti.source||_t;return Wt=dy(Wa,Ti?Ti.pos:Wt),!(qr&256)&&Wt>=0&&lh(Wa,Wt),Wt=lr(ne,Ee,Wt),Ti&&(Wt=Ti.end),!(qr&512)&&Wt>=0&&lh(Wa,Wt),Wt}function sg(E){if(!Le){if(_t=E,E===Rt){ct=We;return}Nx(E)||(ct=Ye.addSource(E.fileName),e.inlineSources&&Ye.setSourceContent(ct,E.text),Rt=E,We=ct)}}function Ox(E,ne){_t=E,ct=ne}function Nx(E){return Gc(E.fileName,".json")}}function jMe(){let e=[];return e[1024]=["{","}"],e[2048]=["(",")"],e[4096]=["<",">"],e[8192]=["[","]"],e}function HMe(e){return KK[e&15360][0]}function WMe(e){return KK[e&15360][1]}function zMe(e,t,r,i){t(e)}function JMe(e,t,r,i){t(e,r.select(i))}function KMe(e,t,r,i){t(e,r)}function qMe(e,t){return e.length===1?zMe:typeof t=="object"?JMe:KMe}var KK,LF,qK,rE,XK,fN,XMe=gt({"src/compiler/emitter.ts"(){"use strict";fa(),fa(),E0(),KK=jMe(),LF={hasGlobalName:Sa,getReferencedExportContainer:Sa,getReferencedImportDeclaration:Sa,getReferencedDeclarationWithCollidingName:Sa,isDeclarationWithCollidingName:Sa,isValueAliasDeclaration:Sa,isReferencedAliasDeclaration:Sa,isTopLevelValueImportEqualsWithEntityName:Sa,getNodeCheckFlags:Sa,isDeclarationVisible:Sa,isLateBound:e=>!1,collectLinkedAliases:Sa,isImplementationOfOverload:Sa,isRequiredInitializedParameter:Sa,isOptionalUninitializedParameterProperty:Sa,isExpandoFunctionDeclaration:Sa,getPropertiesOfContainerFunction:Sa,createTypeOfDeclaration:Sa,createReturnTypeOfSignatureDeclaration:Sa,createTypeOfExpression:Sa,createLiteralConstValue:Sa,isSymbolAccessible:Sa,isEntityNameVisible:Sa,getConstantValue:Sa,getReferencedValueDeclaration:Sa,getTypeReferenceSerializationKind:Sa,isOptionalParameter:Sa,moduleExportsSomeValue:Sa,isArgumentsLocalBinding:Sa,getExternalModuleFileFromDeclaration:Sa,getTypeReferenceDirectivesForEntityName:Sa,getTypeReferenceDirectivesForSymbol:Sa,isLiteralConstDeclaration:Sa,getJsxFactoryEntity:Sa,getJsxFragmentFactoryEntity:Sa,getAllAccessorDeclarations:Sa,getSymbolOfExternalModuleSpecifier:Sa,isBindingCapturedByNode:Sa,getDeclarationStatementsForSourceFile:Sa,isImportRequiredByAugmentation:Sa},qK=zu(()=>nE({})),rE=zu(()=>nE({removeComments:!0})),XK=zu(()=>nE({removeComments:!0,neverAsciiEscape:!0})),fN=zu(()=>nE({removeComments:!0,omitTrailingSemicolon:!0}))}});function Mpe(e,t,r){if(!e.getDirectories||!e.readDirectory)return;let i=new Map,o=Dl(r);return{useCaseSensitiveFileNames:r,fileExists:x,readFile:(R,ie)=>e.readFile(R,ie),directoryExists:e.directoryExists&&A,getDirectories:C,readDirectory:P,createDirectory:e.createDirectory&&w,writeFile:e.writeFile&&S,addOrDeleteFileOrDirectory:B,addOrDeleteFile:q,clearCache:Y,realpath:e.realpath&&F};function s(R){return Ts(R,t,o)}function l(R){return i.get(cu(R))}function f(R){let ie=l(ni(R));return ie&&(ie.sortedAndCanonicalizedFiles||(ie.sortedAndCanonicalizedFiles=ie.files.map(o).sort(),ie.sortedAndCanonicalizedDirectories=ie.directories.map(o).sort()),ie)}function d(R){return Hl(So(R))}function g(R,ie){var $;if(!e.realpath||cu(s(e.realpath(R)))===ie){let fe={files:on(e.readDirectory(R,void 0,void 0,["*.*"]),d)||[],directories:e.getDirectories(R)||[]};return i.set(cu(ie),fe),fe}if(($=e.directoryExists)!=null&&$.call(e,R))return i.set(ie,!1),!1}function m(R,ie){ie=cu(ie);let $=l(ie);if($)return $;try{return g(R,ie)}catch{L.assert(!i.has(cu(ie)));return}}function v(R,ie){return Py(R,ie,Ks,su)>=0}function S(R,ie,$){let fe=s(R),Z=f(fe);return Z&&W(Z,d(R),!0),e.writeFile(R,ie,$)}function x(R){let ie=s(R),$=f(ie);return $&&v($.sortedAndCanonicalizedFiles,o(d(R)))||e.fileExists(R)}function A(R){let ie=s(R);return i.has(cu(ie))||e.directoryExists(R)}function w(R){let ie=s(R),$=f(ie);if($){let fe=d(R),Z=o(fe),U=$.sortedAndCanonicalizedDirectories;Ny(U,Z,su)&&$.directories.push(fe)}e.createDirectory(R)}function C(R){let ie=s(R),$=m(R,ie);return $?$.directories.slice():e.getDirectories(R)}function P(R,ie,$,fe,Z){let U=s(R),re=m(R,U),le;if(re!==void 0)return wW(R,ie,$,fe,r,t,Z,_e,F);return e.readDirectory(R,ie,$,fe,Z);function _e(X){let Ve=s(X);if(Ve===U)return re||ge(X,Ve);let we=m(X,Ve);return we!==void 0?we||ge(X,Ve):D4}function ge(X,Ve){if(le&&Ve===U)return le;let we={files:on(e.readDirectory(X,void 0,void 0,["*.*"]),d)||Je,directories:e.getDirectories(X)||Je};return Ve===U&&(le=we),we}}function F(R){return e.realpath?e.realpath(R):R}function B(R,ie){if(l(ie)!==void 0){Y();return}let fe=f(ie);if(!fe)return;if(!e.directoryExists){Y();return}let Z=d(R),U={fileExists:e.fileExists(ie),directoryExists:e.directoryExists(ie)};return U.directoryExists||v(fe.sortedAndCanonicalizedDirectories,o(Z))?Y():W(fe,Z,U.fileExists),U}function q(R,ie,$){if($===1)return;let fe=f(ie);fe&&W(fe,d(R),$===0)}function W(R,ie,$){let fe=R.sortedAndCanonicalizedFiles,Z=o(ie);if($)Ny(fe,Z,su)&&R.files.push(ie);else{let U=Py(fe,Z,Ks,su);if(U>=0){fe.splice(U,1);let re=R.files.findIndex(le=>o(le)===Z);R.files.splice(re,1)}}}function Y(){i.clear()}}function YK(e,t,r,i,o){var s;let l=p0(((s=t?.configFile)==null?void 0:s.extendedSourceFiles)||Je,o);r.forEach((f,d)=>{l.has(d)||(f.projects.delete(e),f.close())}),l.forEach((f,d)=>{let g=r.get(d);g?g.projects.add(e):r.set(d,{projects:new Set([e]),watcher:i(f,d),close:()=>{let m=r.get(d);!m||m.projects.size!==0||(m.watcher.close(),r.delete(d))}})})}function Fpe(e,t){t.forEach(r=>{r.projects.delete(e)&&r.close()})}function $K(e,t,r){e.delete(t)&&e.forEach(({extendedResult:i},o)=>{var s;(s=i.extendedSourceFiles)!=null&&s.some(l=>r(l)===t)&&$K(e,o,r)})}function YMe(e,t,r){let i=new Map(e);e2(t,i,{createNewValue:r,onDeleteValue:am})}function Gpe(e,t,r){let i=e.getMissingFilePaths(),o=p0(i,Ks,h0);e2(t,o,{createNewValue:r,onDeleteValue:am})}function kF(e,t,r){e2(e,t,{createNewValue:i,onDeleteValue:_m,onExistingValue:o});function i(s,l){return{watcher:r(s,l),flags:l}}function o(s,l,f){s.flags!==l&&(s.watcher.close(),e.set(f,i(f,l)))}}function DF({watchedDirPath:e,fileOrDirectory:t,fileOrDirectoryPath:r,configFileName:i,options:o,program:s,extraFileExtensions:l,currentDirectory:f,useCaseSensitiveFileNames:d,writeLog:g,toPath:m}){let v=Dq(r);if(!v)return g(`Project: ${i} Detected ignored path: ${t}`),!0;if(r=v,r===e)return!1;if(gA(r)&&!wle(t,o,l))return g(`Project: ${i} Detected file add/remove of non supported extension: ${t}`),!0;if(gfe(t,o.configFile.configFileSpecs,_a(ni(i),f),d,f))return g(`Project: ${i} Detected excluded file: ${t}`),!0;if(!s||Ss(o)||o.outDir)return!1;if(Fu(r)){if(o.declarationDir)return!1}else if(!$c(r,dL))return!1;let S=ld(r),x=ba(s)?void 0:$Me(s)?s.getProgramOrUndefined():s,A=!x&&!ba(s)?s:void 0;if(w(S+".ts")||w(S+".tsx"))return g(`Project: ${i} Detected output file: ${t}`),!0;return!1;function w(C){return x?!!x.getSourceFileByPath(C):A?A.getState().fileInfos.has(C):!!wr(s,P=>m(P)===C)}}function $Me(e){return!!e.getState}function Bpe(e,t){return e?e.isEmittedFile(t):!1}function Upe(e,t,r,i){ooe(t===2?r:Ba);let o={watchFile:(w,C,P,F)=>e.watchFile(w,C,P,F),watchDirectory:(w,C,P,F)=>e.watchDirectory(w,C,(P&1)!==0,F)},s=t!==0?{watchFile:x("watchFile"),watchDirectory:x("watchDirectory")}:void 0,l=t===2?{watchFile:v,watchDirectory:S}:s||o,f=t===2?m:TN;return{watchFile:d("watchFile"),watchDirectory:d("watchDirectory")};function d(w){return(C,P,F,B,q,W)=>{var Y;return G3(C,w==="watchFile"?B?.excludeFiles:B?.excludeDirectories,g(),((Y=e.getCurrentDirectory)==null?void 0:Y.call(e))||"")?f(C,F,B,q,W):l[w].call(void 0,C,P,F,B,q,W)}}function g(){return typeof e.useCaseSensitiveFileNames=="boolean"?e.useCaseSensitiveFileNames:e.useCaseSensitiveFileNames()}function m(w,C,P,F,B){return r(`ExcludeWatcher:: Added:: ${A(w,C,P,F,B,i)}`),{close:()=>r(`ExcludeWatcher:: Close:: ${A(w,C,P,F,B,i)}`)}}function v(w,C,P,F,B,q){r(`FileWatcher:: Added:: ${A(w,P,F,B,q,i)}`);let W=s.watchFile(w,C,P,F,B,q);return{close:()=>{r(`FileWatcher:: Close:: ${A(w,P,F,B,q,i)}`),W.close()}}}function S(w,C,P,F,B,q){let W=`DirectoryWatcher:: Added:: ${A(w,P,F,B,q,i)}`;r(W);let Y=Ms(),R=s.watchDirectory(w,C,P,F,B,q),ie=Ms()-Y;return r(`Elapsed:: ${ie}ms ${W}`),{close:()=>{let $=`DirectoryWatcher:: Close:: ${A(w,P,F,B,q,i)}`;r($);let fe=Ms();R.close();let Z=Ms()-fe;r(`Elapsed:: ${Z}ms ${$}`)}}}function x(w){return(C,P,F,B,q,W)=>o[w].call(void 0,C,(...Y)=>{let R=`${w==="watchFile"?"FileWatcher":"DirectoryWatcher"}:: Triggered with ${Y[0]} ${Y[1]!==void 0?Y[1]:""}:: ${A(C,F,B,q,W,i)}`;r(R);let ie=Ms();P.call(void 0,...Y);let $=Ms()-ie;r(`Elapsed:: ${$}ms ${R}`)},F,B,q,W)}function A(w,C,P,F,B,q){return`WatchInfo: ${w} ${C} ${JSON.stringify(P)} ${q?q(F,B):B===void 0?F:`${F} ${B}`}`}}function _N(e){let t=e?.fallbackPolling;return{watchFile:t!==void 0?t:1}}function _m(e){e.watcher.close()}var QK,ZK,QMe=gt({"src/compiler/watchUtilities.ts"(){"use strict";fa(),fa(),QK=(e=>(e[e.None=0]="None",e[e.Partial=1]="Partial",e[e.Full=2]="Full",e))(QK||{}),ZK=(e=>(e[e.None=0]="None",e[e.TriggerOnly=1]="TriggerOnly",e[e.Verbose=2]="Verbose",e))(ZK||{})}});function Vpe(e,t,r="tsconfig.json"){return Th(e,i=>{let o=vi(i,r);return t(o)?o:void 0})}function wF(e,t){let r=ni(t),i=qp(e)?e:vi(r,e);return So(i)}function jpe(e,t,r){let i;return mn(e,s=>{let l=fw(s,t);if(l.pop(),!i){i=l;return}let f=Math.min(i.length,l.length);for(let d=0;d<f;d++)if(r(i[d])!==r(l[d])){if(d===0)return!0;i.length=d;break}l.length<i.length&&(i.length=l.length)})?"":i?T0(i):t}function Hpe(e,t){return nq(e,t)}function eq(e,t,r){return(i,o,s)=>{let l;try{Fs("beforeIORead"),l=e(i,t().charset),Fs("afterIORead"),hf("I/O Read","beforeIORead","afterIORead")}catch(f){s&&s(f.message),l=""}return l!==void 0?DO(i,l,o,r):void 0}}function tq(e,t,r){return(i,o,s,l)=>{try{Fs("beforeIOWrite"),nW(i,o,s,e,t,r),Fs("afterIOWrite"),hf("I/O Write","beforeIOWrite","afterIOWrite")}catch(f){l&&l(f.message)}}}function nq(e,t,r=xl){let i=new Map,o=Dl(r.useCaseSensitiveFileNames);function s(m){return i.has(m)?!0:(g.directoryExists||r.directoryExists)(m)?(i.set(m,!0),!0):!1}function l(){return ni(So(r.getExecutingFilePath()))}let f=db(e),d=r.realpath&&(m=>r.realpath(m)),g={getSourceFile:eq(m=>g.readFile(m),()=>e,t),getDefaultLibLocation:l,getDefaultLibFileName:m=>vi(l(),X8(m)),writeFile:tq((m,v,S)=>r.writeFile(m,v,S),m=>(g.createDirectory||r.createDirectory)(m),m=>s(m)),getCurrentDirectory:zu(()=>r.getCurrentDirectory()),useCaseSensitiveFileNames:()=>r.useCaseSensitiveFileNames,getCanonicalFileName:o,getNewLine:()=>f,fileExists:m=>r.fileExists(m),readFile:m=>r.readFile(m),trace:m=>r.write(m+f),directoryExists:m=>r.directoryExists(m),getEnvironmentVariable:m=>r.getEnvironmentVariable?r.getEnvironmentVariable(m):"",getDirectories:m=>r.getDirectories(m),realpath:d,readDirectory:(m,v,S,x,A)=>r.readDirectory(m,v,S,x,A),createDirectory:m=>r.createDirectory(m),createHash:ho(r,r.createHash)};return g}function pN(e,t,r){let i=e.readFile,o=e.fileExists,s=e.directoryExists,l=e.createDirectory,f=e.writeFile,d=new Map,g=new Map,m=new Map,v=new Map,S=w=>{let C=t(w),P=d.get(C);return P!==void 0?P!==!1?P:void 0:x(C,w)},x=(w,C)=>{let P=i.call(e,C);return d.set(w,P!==void 0?P:!1),P};e.readFile=w=>{let C=t(w),P=d.get(C);return P!==void 0?P!==!1?P:void 0:!Gc(w,".json")&&!Ipe(w)?i.call(e,w):x(C,w)};let A=r?(w,C,P,F)=>{let B=t(w),q=typeof C=="object"?C.impliedNodeFormat:void 0,W=v.get(q),Y=W?.get(B);if(Y)return Y;let R=r(w,C,P,F);return R&&(Fu(w)||Gc(w,".json"))&&v.set(q,(W||new Map).set(B,R)),R}:void 0;return e.fileExists=w=>{let C=t(w),P=g.get(C);if(P!==void 0)return P;let F=o.call(e,w);return g.set(C,!!F),F},f&&(e.writeFile=(w,C,...P)=>{let F=t(w);g.delete(F);let B=d.get(F);B!==void 0&&B!==C?(d.delete(F),v.forEach(q=>q.delete(F))):A&&v.forEach(q=>{let W=q.get(F);W&&W.text!==C&&q.delete(F)}),f.call(e,w,C,...P)}),s&&(e.directoryExists=w=>{let C=t(w),P=m.get(C);if(P!==void 0)return P;let F=s.call(e,w);return m.set(C,!!F),F},l&&(e.createDirectory=w=>{let C=t(w);m.delete(C),l.call(e,w)})),{originalReadFile:i,originalFileExists:o,originalDirectoryExists:s,originalCreateDirectory:l,originalWriteFile:f,getSourceFileWithCache:A,readFileWithCache:S}}function ZMe(e,t,r){let i;return i=si(i,e.getConfigFileParsingDiagnostics()),i=si(i,e.getOptionsDiagnostics(r)),i=si(i,e.getSyntacticDiagnostics(t,r)),i=si(i,e.getGlobalDiagnostics(r)),i=si(i,e.getSemanticDiagnostics(t,r)),__(e.getCompilerOptions())&&(i=si(i,e.getDeclarationDiagnostics(t,r))),vA(i||Je)}function e8e(e,t){let r="";for(let i of e)r+=rq(i,t);return r}function rq(e,t){let r=`${C8(e)} TS${e.code}: ${sv(e.messageText,t.getNewLine())}${t.getNewLine()}`;if(e.file){let{line:i,character:o}=Gs(e.file,e.start),s=e.file.fileName;return`${rI(s,t.getCurrentDirectory(),f=>t.getCanonicalFileName(f))}(${i+1},${o+1}): `+r}return r}function Wpe(e){switch(e){case 1:return"\x1B[91m";case 0:return"\x1B[93m";case 2:return L.fail("Should never get an Info diagnostic on the command line.");case 3:return"\x1B[94m"}}function iE(e,t){return t+e+mq}function zpe(e,t,r,i,o,s){let{line:l,character:f}=Gs(e,t),{line:d,character:g}=Gs(e,t+r),m=Gs(e,e.text.length).line,v=d-l>=4,S=(d+1+"").length;v&&(S=Math.max(hq.length,S));let x="";for(let A=l;A<=d;A++){x+=s.getNewLine(),v&&l+1<A&&A<d-1&&(x+=i+iE(J1(hq,S),BF)+UF+s.getNewLine(),A=d-1);let w=gw(e,A,0),C=A<m?gw(e,A+1,0):e.text.length,P=e.text.slice(w,C);if(P=$D(P),P=P.replace(/\t/g," "),x+=i+iE(J1(A+1+"",S),BF)+UF,x+=P+s.getNewLine(),x+=i+iE(J1("",S),BF)+UF,x+=o,A===l){let F=A===d?g:void 0;x+=P.slice(0,f).replace(/\S/g," "),x+=P.slice(f,F).replace(/./g,"~")}else A===d?x+=P.slice(0,g).replace(/./g,"~"):x+=P.replace(/./g,"~");x+=mq}return x}function iq(e,t,r,i=iE){let{line:o,character:s}=Gs(e,t),l=r?rI(e.fileName,r.getCurrentDirectory(),d=>r.getCanonicalFileName(d)):e.fileName,f="";return f+=i(l,"\x1B[96m"),f+=":",f+=i(`${o+1}`,"\x1B[93m"),f+=":",f+=i(`${s+1}`,"\x1B[93m"),f}function Jpe(e,t){let r="";for(let i of e){if(i.file){let{file:o,start:s}=i;r+=iq(o,s,t),r+=" - "}if(r+=iE(C8(i),Wpe(i.category)),r+=iE(` TS${i.code}: `,"\x1B[90m"),r+=sv(i.messageText,t.getNewLine()),i.file&&(r+=t.getNewLine(),r+=zpe(i.file,i.start,i.length,"",Wpe(i.category),t)),i.relatedInformation){r+=t.getNewLine();for(let{file:o,start:s,length:l,messageText:f}of i.relatedInformation)o&&(r+=t.getNewLine(),r+=Xpe+iq(o,s,t),r+=zpe(o,s,l,gq,"\x1B[96m",t)),r+=t.getNewLine(),r+=gq+sv(f,t.getNewLine())}r+=t.getNewLine()}return r}function sv(e,t,r=0){if(Ta(e))return e;if(e===void 0)return"";let i="";if(r){i+=t;for(let o=0;o<r;o++)i+="  "}if(i+=e.messageText,r++,e.next)for(let o of e.next)i+=sv(o,t,r);return i}function mN(e,t){return(Ta(e)?t:e.resolutionMode)||t}function aq(e,t){if(e.impliedNodeFormat!==void 0)return W_(e,GF(e,t))}function oq(e){var t;return Il(e)?e.isTypeOnly:!!((t=e.importClause)!=null&&t.isTypeOnly)}function W_(e,t){var r,i;if(e.impliedNodeFormat===void 0)return;if((gl(t.parent)||Il(t.parent))&&oq(t.parent)){let l=qS(t.parent.assertClause);if(l)return l}if(t.parent.parent&&Mh(t.parent.parent)){let s=qS((r=t.parent.parent.assertions)==null?void 0:r.assertClause);if(s)return s}if(e.impliedNodeFormat!==99)return Dd(qy(t.parent))?99:1;let o=(i=qy(t.parent))==null?void 0:i.parent;return o&&Nl(o)?1:99}function qS(e,t){if(!e)return;if(Fn(e.elements)!==1){t?.(e,_.Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require);return}let r=e.elements[0];if(es(r.name)){if(r.name.text!=="resolution-mode"){t?.(r.name,_.resolution_mode_is_the_only_valid_key_for_type_import_assertions);return}if(es(r.value)){if(r.value.text!=="import"&&r.value.text!=="require"){t?.(r.value,_.resolution_mode_should_be_either_require_or_import);return}return r.value.text==="import"?99:1}}}function sq(e){return e.text}function cq(e,t,r,i,o){return{nameAndMode:QL,resolve:(s,l)=>FL(s,e,r,i,o,t,l)}}function RF(e){return Ta(e)?e:n_(e.fileName)}function OF(e,t,r,i,o){return{nameAndMode:yN,resolve:(s,l)=>HJ(s,e,r,i,t,o,l)}}function hN(e,t,r,i,o,s,l,f){if(e.length===0)return Je;let d=[],g=new Map,m=f(t,r,i,s,l);for(let v of e){let S=m.nameAndMode.getName(v),x=m.nameAndMode.getMode(v,o),A=ML(S,x),w=g.get(A);w||g.set(A,w=m.resolve(S,x)),d.push(w)}return d}function Kpe(e,t){return gN(void 0,e,(r,i)=>r&&t(r,i))}function gN(e,t,r,i){let o;return s(e,t,void 0);function s(l,f,d){if(i){let g=i(l,d);if(g)return g}return mn(f,(g,m)=>{if(g&&o?.has(g.sourceFile.path))return;let v=r(g,d,m);return v||!g?v:((o||(o=new Set)).add(g.sourceFile.path),s(g.commandLine.projectReferences,g.references,g))})}}function vb(e){switch(e?.kind){case 3:case 4:case 5:case 7:return!0;default:return!1}}function F2(e){return e.pos!==void 0}function YL(e,t){var r,i,o,s,l,f;let d=L.checkDefined(e(t.file)),{kind:g,index:m}=t,v,S,x,A;switch(g){case 3:let w=GF(d,m);if(x=(o=(i=(r=d.resolvedModules)==null?void 0:r.get(w.text,aq(d,m)))==null?void 0:i.resolvedModule)==null?void 0:o.packageId,w.pos===-1)return{file:d,packageId:x,text:w.text};v=xo(d.text,w.pos),S=w.end;break;case 4:({pos:v,end:S}=d.referencedFiles[m]);break;case 5:({pos:v,end:S,resolutionMode:A}=d.typeReferenceDirectives[m]),x=(f=(l=(s=d.resolvedTypeReferenceDirectiveNames)==null?void 0:s.get(n_(d.typeReferenceDirectives[m].fileName),A||d.impliedNodeFormat))==null?void 0:l.resolvedTypeReferenceDirective)==null?void 0:f.packageId;break;case 7:({pos:v,end:S}=d.libReferenceDirectives[m]);break;default:return L.assertNever(g)}return{file:d,pos:v,end:S,packageId:x}}function lq(e,t,r,i,o,s,l,f,d){if(!e||l?.()||!up(e.getRootFileNames(),t))return!1;let g;if(!up(e.getProjectReferences(),d,x)||e.getSourceFiles().some(v)||e.getMissingFilePaths().some(o))return!1;let m=e.getCompilerOptions();if(!gW(m,r))return!1;if(m.configFile&&r.configFile)return m.configFile.text===r.configFile.text;return!0;function v(w){return!S(w)||s(w.path)}function S(w){return w.version===i(w.resolvedPath,w.fileName)}function x(w,C,P){return tH(w,C)&&A(e.getResolvedProjectReferences()[P],w)}function A(w,C){if(w){if(ya(g,w))return!0;let F=$L(C),B=f(F);return!B||w.commandLine.options.configFile!==B.options.configFile||!up(w.commandLine.fileNames,B.fileNames)?!1:((g||(g=[])).push(w),!mn(w.references,(q,W)=>!A(q,w.commandLine.projectReferences[W])))}let P=$L(C);return!f(P)}}function XT(e){return e.options.configFile?[...e.options.configFile.parseDiagnostics,...e.errors]:e.errors}function NF(e,t,r,i){let o=uq(e,t,r,i);return typeof o=="object"?o.impliedNodeFormat:o}function uq(e,t,r,i){switch($s(i)){case 3:case 99:return $c(e,[".d.mts",".mts",".mjs"])?99:$c(e,[".d.cts",".cts",".cjs"])?1:$c(e,[".d.ts",".ts",".tsx",".js",".jsx"])?o():void 0;default:return}function o(){let s=Z3(t,r,i),l=[];s.failedLookupLocations=l,s.affectingLocations=l;let f=eF(e,s);return{impliedNodeFormat:f?.contents.packageJsonContent.type==="module"?99:1,packageJsonLocations:l,packageJsonScope:f}}}function t8e(e,t){return e?LA(e.getCompilerOptions(),t,V3):!1}function n8e(e,t,r,i,o,s){return{rootNames:e,options:t,host:r,oldProgram:i,configFileParsingDiagnostics:o,typeScriptVersion:s}}function PF(e,t,r,i,o){var s,l,f,d,g,m,v,S,x,A,w,C,P,F,B,q;let W=ba(e)?n8e(e,t,r,i,o):e,{rootNames:Y,options:R,configFileParsingDiagnostics:ie,projectReferences:$,typeScriptVersion:fe}=W,{oldProgram:Z}=W,U=zu(()=>Jf("ignoreDeprecations",_.Invalid_value_for_ignoreDeprecations)),re,le,_e,ge,X,Ve,we,ke=new Map,Pe=Nf(),Ce={},Ie={},Be=WT(),Ne,Le,Ye,_t=typeof R.maxNodeModuleJsDepth=="number"?R.maxNodeModuleJsDepth:0,ct=0,Rt=new Map,We=new Map;(s=ai)==null||s.push(ai.Phase.Program,"createProgram",{configFilePath:R.configFilePath,rootDir:R.rootDir},!0),Fs("beforeProgram");let qe=W.host||Hpe(R),zt=FF(qe),Qt=R.noLib,tn=zu(()=>qe.getDefaultLibFileName(R)),kn=qe.getDefaultLibLocation?qe.getDefaultLibLocation():ni(tn()),_n=XA(),Gt=qe.getCurrentDirectory(),$n=nL(R),ui=FR(R,$n),Ni=new Map,Pi,gr,pt,nn=qe.hasInvalidatedResolutions||m0;qe.resolveModuleNameLiterals?(pt=qe.resolveModuleNameLiterals.bind(qe),gr=(l=qe.getModuleResolutionCache)==null?void 0:l.call(qe)):qe.resolveModuleNames?(pt=(be,De,mt,St,Zt,rn)=>qe.resolveModuleNames(be.map(sq),De,rn?.map(sq),mt,St,Zt).map(sn=>sn?sn.extension!==void 0?{resolvedModule:sn}:{resolvedModule:{...sn,extension:jR(sn.resolvedFileName)}}:yq),gr=(f=qe.getModuleResolutionCache)==null?void 0:f.call(qe)):(gr=Y3(Gt,ee,R),pt=(be,De,mt,St,Zt)=>hN(be,De,mt,St,Zt,qe,gr,cq));let Dt;if(qe.resolveTypeReferenceDirectiveReferences)Dt=qe.resolveTypeReferenceDirectiveReferences.bind(qe);else if(qe.resolveTypeReferenceDirectives)Dt=(be,De,mt,St,Zt)=>qe.resolveTypeReferenceDirectives(be.map(RF),De,mt,St,Zt?.impliedNodeFormat).map(rn=>({resolvedTypeReferenceDirective:rn}));else{let be=$3(Gt,ee,void 0,gr?.getPackageJsonInfoCache());Dt=(De,mt,St,Zt,rn)=>hN(De,mt,St,Zt,rn,qe,be,OF)}let pn=new Map,An=new Map,Kn=Nf(),hi=!1,ri=new Map,vn,Ht=qe.useCaseSensitiveFileNames()?new Map:void 0,En,dr,Cr,Se,at=!!((d=qe.useSourceOfProjectReferenceRedirect)!=null&&d.call(qe))&&!R.disableSourceOfProjectReferenceRedirect,{onProgramCreateComplete:Tt,fileExists:ve,directoryExists:nt}=r8e({compilerHost:qe,getSymlinkCache:oa,useSourceOfProjectReferenceRedirect:at,toPath:rt,getResolvedProjectReferences:Qe,getSourceOfProjectReferenceRedirect:Ws,forEachResolvedProjectReference:jo}),ce=qe.readFile.bind(qe);(g=ai)==null||g.push(ai.Phase.Program,"shouldProgramCreateNewSourceFiles",{hasOldProgram:!!Z});let Q=t8e(Z,R);(m=ai)==null||m.pop();let ue;if((v=ai)==null||v.push(ai.Phase.Program,"tryReuseStructureFromOldProgram",{}),ue=Te(),(S=ai)==null||S.pop(),ue!==2){if(re=[],le=[],$&&(En||(En=$.map(xt)),Y.length&&En?.forEach((be,De)=>{if(!be)return;let mt=Ss(be.commandLine.options);if(at){if(mt||Rl(be.commandLine.options)===0)for(let St of be.commandLine.fileNames)Yt(St,{kind:1,index:De})}else if(mt)Yt(V0(mt,".d.ts"),{kind:2,index:De});else if(Rl(be.commandLine.options)===0){let St=zu(()=>XL(be.commandLine,!qe.useCaseSensitiveFileNames()));for(let Zt of be.commandLine.fileNames)!Fu(Zt)&&!Gc(Zt,".json")&&Yt(qL(Zt,be.commandLine,!qe.useCaseSensitiveFileNames(),St),{kind:2,index:De})}})),(x=ai)==null||x.push(ai.Phase.Program,"processRootFiles",{count:Y.length}),mn(Y,(be,De)=>yc(be,!1,!1,{kind:0,index:De})),(A=ai)==null||A.pop(),Le??(Le=Y.length?X3(R,qe):Je),Ye=WT(),Le.length){(w=ai)==null||w.push(ai.Phase.Program,"processTypeReferences",{count:Le.length});let be=R.configFilePath?ni(R.configFilePath):qe.getCurrentDirectory(),De=vi(be,VF),mt=pe(Le,De);for(let St=0;St<Le.length;St++)Ye.set(Le[St],void 0,mt[St]),Et(Le[St],void 0,mt[St],{kind:8,typeReference:Le[St],packageId:(P=(C=mt[St])==null?void 0:C.resolvedTypeReferenceDirective)==null?void 0:P.packageId});(F=ai)==null||F.pop()}if(Y.length&&!Qt){let be=tn();!R.lib&&be?yc(be,!0,!1,{kind:6}):mn(R.lib,(De,mt)=>{yc(Ri(De),!0,!1,{kind:6,index:mt})})}vn=lo(UD(ri.entries(),([be,De])=>De===void 0?be:void 0)),_e=Ag(re,ir).concat(le),re=void 0,le=void 0}if(L.assert(!!vn),Z&&qe.onReleaseOldSourceFile){let be=Z.getSourceFiles();for(let De of be){let mt=Hi(De.resolvedPath);(Q||!mt||mt.impliedNodeFormat!==De.impliedNodeFormat||De.resolvedPath===De.path&&mt.resolvedPath!==De.path)&&qe.onReleaseOldSourceFile(De,Z.getCompilerOptions(),!!Hi(De.path))}qe.getParsedCommandLine||Z.forEachResolvedProjectReference(De=>{vc(De.sourceFile.path)||qe.onReleaseOldSourceFile(De.sourceFile,Z.getCompilerOptions(),!1)})}Z&&qe.onReleaseParsedCommandLine&&gN(Z.getProjectReferences(),Z.getResolvedProjectReferences(),(be,De,mt)=>{let St=De?.commandLine.projectReferences[mt]||Z.getProjectReferences()[mt],Zt=$L(St);dr?.has(rt(Zt))||qe.onReleaseParsedCommandLine(Zt,be,Z.getCompilerOptions())}),Z=void 0;let G={getRootFileNames:()=>Y,getSourceFile:Fa,getSourceFileByPath:Hi,getSourceFiles:()=>_e,getMissingFilePaths:()=>vn,getModuleResolutionCache:()=>gr,getFilesByNameMap:()=>ri,getCompilerOptions:()=>R,getSyntacticDiagnostics:Nr,getOptionsDiagnostics:qs,getGlobalDiagnostics:As,getSemanticDiagnostics:Fo,getCachedSemanticDiagnostics:Qr,getSuggestionDiagnostics:Co,getDeclarationDiagnostics:Ki,getBindAndCheckDiagnostics:Wi,getProgramDiagnostics:gn,getTypeChecker:Kr,getClassifiableNames:Ke,getCommonSourceDirectory:Ot,emit:Si,getCurrentDirectory:()=>Gt,getNodeCount:()=>Kr().getNodeCount(),getIdentifierCount:()=>Kr().getIdentifierCount(),getSymbolCount:()=>Kr().getSymbolCount(),getTypeCount:()=>Kr().getTypeCount(),getInstantiationCount:()=>Kr().getInstantiationCount(),getRelationCacheSizes:()=>Kr().getRelationCacheSizes(),getFileProcessingDiagnostics:()=>Ne,getResolvedTypeReferenceDirectives:()=>Be,getAutomaticTypeDirectiveNames:()=>Le,getAutomaticTypeDirectiveResolutions:()=>Ye,isSourceFileFromExternalLibrary:jr,isSourceFileDefaultLibrary:ei,getSourceFileFromReference:K,getLibFileFromReference:wt,sourceFileToPackageName:An,redirectTargetsMap:Kn,usesUriStyleNodeCoreModules:hi,isEmittedFile:Pn,getConfigFileParsingDiagnostics:jt,getProjectReferences:Vt,getResolvedProjectReferences:Qe,getProjectReferenceRedirect:Hs,getResolvedProjectReferenceToRedirect:$o,getResolvedProjectReferenceByPath:vc,forEachResolvedProjectReference:jo,isSourceOfProjectReferenceRedirect:hd,emitBuildInfo:lt,fileExists:ve,readFile:ce,directoryExists:nt,getSymlinkCache:oa,realpath:(B=qe.realpath)==null?void 0:B.bind(qe),useCaseSensitiveFileNames:()=>qe.useCaseSensitiveFileNames(),getCanonicalFileName:ee,getFileIncludeReasons:()=>Pe,structureIsReused:ue,writeFile:yt};return Tt(),Ne?.forEach(be=>{switch(be.kind){case 1:return _n.add(Ea(be.file&&Hi(be.file),be.fileProcessingReason,be.diagnostic,be.args||Je));case 0:let{file:De,pos:mt,end:St}=YL(Hi,be.reason);return _n.add(al(De,L.checkDefined(mt),L.checkDefined(St)-mt,be.diagnostic,...be.args||Je));case 2:return be.diagnostics.forEach(Zt=>_n.add(Zt));default:L.assertNever(be)}}),qt(),Fs("afterProgram"),hf("Program","beforeProgram","afterProgram"),(q=ai)==null||q.pop(),G;function Oe(be){var De;(De=be.resolutionDiagnostics)!=null&&De.length&&(Ne??(Ne=[])).push({kind:2,diagnostics:be.resolutionDiagnostics})}function je(be,De,mt,St){if(qe.resolveModuleNameLiterals||!qe.resolveModuleNames)return Oe(mt);if(!gr||fl(De))return;let Zt=_a(be.originalFileName,Gt),rn=ni(Zt),sn=Kt(be),Dn=gr.getFromNonRelativeNameCache(De,St,rn,sn);Dn&&Oe(Dn)}function Ge(be,De,mt){var St,Zt;if(!be.length)return Je;let rn=_a(De.originalFileName,Gt),sn=Kt(De);(St=ai)==null||St.push(ai.Phase.Program,"resolveModuleNamesWorker",{containingFileName:rn}),Fs("beforeResolveModule");let Dn=pt(be,rn,sn,R,De,mt);return Fs("afterResolveModule"),hf("ResolveModule","beforeResolveModule","afterResolveModule"),(Zt=ai)==null||Zt.pop(),Dn}function kt(be,De,mt){var St,Zt;if(!be.length)return[];let rn=Ta(De)?void 0:De,sn=Ta(De)?De:_a(De.originalFileName,Gt),Dn=rn&&Kt(rn);(St=ai)==null||St.push(ai.Phase.Program,"resolveTypeReferenceDirectiveNamesWorker",{containingFileName:sn}),Fs("beforeResolveTypeReference");let kr=Dt(be,sn,Dn,R,rn,mt);return Fs("afterResolveTypeReference"),hf("ResolveTypeReference","beforeResolveTypeReference","afterResolveTypeReference"),(Zt=ai)==null||Zt.pop(),kr}function Kt(be){let De=$o(be.originalFileName);if(De||!Fu(be.originalFileName))return De;let mt=ln(be.path);if(mt)return mt;if(!qe.realpath||!R.preserveSymlinks||!jl(be.originalFileName,Wg))return;let St=rt(qe.realpath(be.originalFileName));return St===be.path?void 0:ln(St)}function ln(be){let De=Ws(be);if(Ta(De))return $o(De);if(De)return jo(mt=>{let St=Ss(mt.commandLine.options);if(St)return rt(St)===be?mt:void 0})}function ir(be,De){return Es(ae(be),ae(De))}function ae(be){if(Gy(kn,be.fileName,!1)){let De=Hl(be.fileName);if(De==="lib.d.ts"||De==="lib.es6.d.ts")return 0;let mt=pA(QC(De,"lib."),".d.ts"),St=VO.indexOf(mt);if(St!==-1)return St+1}return VO.length+2}function rt(be){return Ts(be,Gt,ee)}function Ot(){if(X===void 0){let be=Pr(_e,De=>pS(De,G));X=uN(R,()=>Zi(be,De=>De.isDeclarationFile?void 0:De.fileName),Gt,ee,De=>At(be,De))}return X}function Ke(){var be;if(!we){Kr(),we=new Set;for(let De of _e)(be=De.classifiableNames)==null||be.forEach(mt=>we.add(mt))}return we}function oe(be,De){var mt;if(ue===0&&!De.ambientModuleNames.length)return Ge(be,De,void 0);let St=Z&&Z.getSourceFile(De.fileName);if(St!==De&&De.resolvedModules){let $t=[];for(let Xn of be){let ra=De.resolvedModules.get(Xn.text,W_(De,Xn));$t.push(ra)}return $t}let Zt,rn,sn,Dn=yq;for(let $t=0;$t<be.length;$t++){let Xn=be[$t];if(De===St&&!nn(St.path)){let Is=W_(De,Xn),Mc=(mt=St.resolvedModules)==null?void 0:mt.get(Xn.text,Is);if(Mc?.resolvedModule){ov(R,qe)&&Xi(qe,Mc.resolvedModule.packageId?_.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:_.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2,Xn.text,_a(De.originalFileName,Gt),Mc.resolvedModule.resolvedFileName,Mc.resolvedModule.packageId&&hT(Mc.resolvedModule.packageId)),(rn??(rn=new Array(be.length)))[$t]=Mc,(sn??(sn=[])).push(Xn);continue}}let ra=!1;ya(De.ambientModuleNames,Xn.text)?(ra=!0,ov(R,qe)&&Xi(qe,_.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,Xn.text,_a(De.originalFileName,Gt))):ra=Vn(Xn),ra?(rn||(rn=new Array(be.length)))[$t]=Dn:(Zt??(Zt=[])).push(Xn)}let kr=Zt&&Zt.length?Ge(Zt,De,sn):Je;if(!rn)return L.assert(kr.length===be.length),kr;let ki=0;for(let $t=0;$t<rn.length;$t++)rn[$t]||(rn[$t]=kr[ki],ki++);return L.assert(ki===kr.length),rn;function Vn($t){let Xn=kA(St,$t.text,W_(De,$t)),ra=Xn&&Z.getSourceFile(Xn.resolvedFileName);if(Xn&&ra)return!1;let Is=ke.get($t.text);return Is?(ov(R,qe)&&Xi(qe,_.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified,$t.text,Is),!0):!1}}function pe(be,De){var mt;if(ue===0)return kt(be,De,void 0);let St=Ta(De)?void 0:Z&&Z.getSourceFile(De.fileName);if(!Ta(De)&&St!==De&&De.resolvedTypeReferenceDirectiveNames){let $t=[];for(let Xn of be){let ra=De.resolvedTypeReferenceDirectiveNames.get(RF(Xn),mN(Xn,De.impliedNodeFormat));$t.push(ra)}return $t}let Zt,rn,sn,Dn=Ta(De)?void 0:De,kr=Ta(De)?!nn(rt(De)):De===St&&!nn(St.path);for(let $t=0;$t<be.length;$t++){let Xn=be[$t];if(kr){let ra=RF(Xn),Is=mN(Xn,Dn?.impliedNodeFormat),Mc=(mt=Ta(De)?Z?.getAutomaticTypeDirectiveResolutions():St?.resolvedTypeReferenceDirectiveNames)==null?void 0:mt.get(ra,Is);if(Mc?.resolvedTypeReferenceDirective){ov(R,qe)&&Xi(qe,Mc.resolvedTypeReferenceDirective.packageId?_.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:_.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2,ra,Ta(De)?De:_a(De.originalFileName,Gt),Mc.resolvedTypeReferenceDirective.resolvedFileName,Mc.resolvedTypeReferenceDirective.packageId&&hT(Mc.resolvedTypeReferenceDirective.packageId)),(rn??(rn=new Array(be.length)))[$t]=Mc,(sn??(sn=[])).push(Xn);continue}}(Zt??(Zt=[])).push(Xn)}if(!Zt)return rn||Je;let ki=kt(Zt,De,sn);if(!rn)return L.assert(ki.length===be.length),ki;let Vn=0;for(let $t=0;$t<rn.length;$t++)rn[$t]||(rn[$t]=ki[Vn],Vn++);return L.assert(Vn===ki.length),rn}function z(){return!gN(Z.getProjectReferences(),Z.getResolvedProjectReferences(),(be,De,mt)=>{let St=(De?De.commandLine.projectReferences:$)[mt],Zt=xt(St);return be?!Zt||Zt.sourceFile!==be.sourceFile||!up(be.commandLine.fileNames,Zt.commandLine.fileNames):Zt!==void 0},(be,De)=>{let mt=De?vc(De.sourceFile.path).commandLine.projectReferences:$;return!up(be,mt,tH)})}function Te(){var be;if(!Z)return 0;let De=Z.getCompilerOptions();if(eH(De,R))return 0;let mt=Z.getRootFileNames();if(!up(mt,Y)||!z())return 0;$&&(En=$.map(xt));let St=[],Zt=[];if(ue=2,Z.getMissingFilePaths().some(Vn=>qe.fileExists(Vn)))return 0;let rn=Z.getSourceFiles(),sn;(Vn=>{Vn[Vn.Exists=0]="Exists",Vn[Vn.Modified=1]="Modified"})(sn||(sn={}));let Dn=new Map;for(let Vn of rn){let $t=Go(Vn.fileName,gr,qe,R),Xn=qe.getSourceFileByPath?qe.getSourceFileByPath(Vn.fileName,Vn.resolvedPath,$t,void 0,Q||$t.impliedNodeFormat!==Vn.impliedNodeFormat):qe.getSourceFile(Vn.fileName,$t,void 0,Q||$t.impliedNodeFormat!==Vn.impliedNodeFormat);if(!Xn)return 0;Xn.packageJsonLocations=(be=$t.packageJsonLocations)!=null&&be.length?$t.packageJsonLocations:void 0,Xn.packageJsonScope=$t.packageJsonScope,L.assert(!Xn.redirectInfo,"Host should not return a redirect source file from `getSourceFile`");let ra;if(Vn.redirectInfo){if(Xn!==Vn.redirectInfo.unredirected)return 0;ra=!1,Xn=Vn}else if(Z.redirectTargetsMap.has(Vn.path)){if(Xn!==Vn)return 0;ra=!1}else ra=Xn!==Vn;Xn.path=Vn.path,Xn.originalFileName=Vn.originalFileName,Xn.resolvedPath=Vn.resolvedPath,Xn.fileName=Vn.fileName;let Is=Z.sourceFileToPackageName.get(Vn.path);if(Is!==void 0){let Mc=Dn.get(Is),mm=ra?1:0;if(Mc!==void 0&&mm===1||Mc===1)return 0;Dn.set(Is,mm)}ra?(Vn.impliedNodeFormat!==Xn.impliedNodeFormat?ue=1:up(Vn.libReferenceDirectives,Xn.libReferenceDirectives,Ql)?Vn.hasNoDefaultLib!==Xn.hasNoDefaultLib?ue=1:up(Vn.referencedFiles,Xn.referencedFiles,Ql)?(ht(Xn),up(Vn.imports,Xn.imports,yu)&&up(Vn.moduleAugmentations,Xn.moduleAugmentations,yu)?(Vn.flags&6291456)!==(Xn.flags&6291456)?ue=1:up(Vn.typeReferenceDirectives,Xn.typeReferenceDirectives,Ql)||(ue=1):ue=1):ue=1:ue=1,Zt.push({oldFile:Vn,newFile:Xn})):nn(Vn.path)&&(ue=1,Zt.push({oldFile:Vn,newFile:Xn})),St.push(Xn)}if(ue!==2)return ue;let kr=Zt.map(Vn=>Vn.oldFile);for(let Vn of rn)if(!ya(kr,Vn))for(let $t of Vn.ambientModuleNames)ke.set($t,Vn.fileName);for(let{oldFile:Vn,newFile:$t}of Zt){let Xn=qpe($t),ra=oe(Xn,$t);nH(Xn,$t,ra,Vn.resolvedModules,wse,QL)?(ue=1,$t.resolvedModules=qJ($t,Xn,ra,QL)):$t.resolvedModules=Vn.resolvedModules;let Mc=$t.typeReferenceDirectives,mm=pe(Mc,$t);nH(Mc,$t,mm,Vn.resolvedTypeReferenceDirectiveNames,Rse,yN)?(ue=1,$t.resolvedTypeReferenceDirectiveNames=qJ($t,Mc,mm,yN)):$t.resolvedTypeReferenceDirectiveNames=Vn.resolvedTypeReferenceDirectiveNames}if(ue!==2)return ue;if(Ise(De,R))return 1;if(qe.hasChangedAutomaticTypeDirectiveNames){if(qe.hasChangedAutomaticTypeDirectiveNames())return 1}else if(Le=X3(R,qe),!up(Z.getAutomaticTypeDirectiveNames(),Le))return 1;vn=Z.getMissingFilePaths(),L.assert(St.length===Z.getSourceFiles().length);for(let Vn of St)ri.set(Vn.path,Vn);return Z.getFilesByNameMap().forEach((Vn,$t)=>{if(!Vn){ri.set($t,Vn);return}if(Vn.path===$t){Z.isSourceFileFromExternalLibrary(Vn)&&We.set(Vn.path,!0);return}ri.set($t,ri.get(Vn.path))}),_e=St,Pe=Z.getFileIncludeReasons(),Ne=Z.getFileProcessingDiagnostics(),Be=Z.getResolvedTypeReferenceDirectives(),Le=Z.getAutomaticTypeDirectiveNames(),Ye=Z.getAutomaticTypeDirectiveResolutions(),An=Z.sourceFileToPackageName,Kn=Z.redirectTargetsMap,hi=Z.usesUriStyleNodeCoreModules,2}function j(be){return{getPrependNodes:Hn,getCanonicalFileName:ee,getCommonSourceDirectory:G.getCommonSourceDirectory,getCompilerOptions:G.getCompilerOptions,getCurrentDirectory:()=>Gt,getSourceFile:G.getSourceFile,getSourceFileByPath:G.getSourceFileByPath,getSourceFiles:G.getSourceFiles,getLibFileFromReference:G.getLibFileFromReference,isSourceFileFromExternalLibrary:jr,getResolvedProjectReferenceToRedirect:$o,getProjectReferenceRedirect:Hs,isSourceOfProjectReferenceRedirect:hd,getSymlinkCache:oa,writeFile:be||yt,isEmitBlocked:Ja,readFile:De=>qe.readFile(De),fileExists:De=>{let mt=rt(De);return Hi(mt)?!0:ya(vn,mt)?!1:qe.fileExists(De)},useCaseSensitiveFileNames:()=>qe.useCaseSensitiveFileNames(),getBuildInfo:De=>{var mt;return(mt=G.getBuildInfo)==null?void 0:mt.call(G,De)},getSourceFileFromReference:(De,mt)=>G.getSourceFileFromReference(De,mt),redirectTargetsMap:Kn,getFileIncludeReasons:G.getFileIncludeReasons,createHash:ho(qe,qe.createHash)}}function yt(be,De,mt,St,Zt,rn){qe.writeFile(be,De,mt,St,Zt,rn)}function lt(be){var De,mt;L.assert(!Ss(R)),(De=ai)==null||De.push(ai.Phase.Emit,"emitBuildInfo",{},!0),Fs("beforeEmit");let St=CF(LF,j(be),void 0,HK,!1,!0);return Fs("afterEmit"),hf("Emit","beforeEmit","afterEmit"),(mt=ai)==null||mt.pop(),St}function Qe(){return En}function Vt(){return $}function Hn(){return fq($,(be,De)=>{var mt;return(mt=En[De])==null?void 0:mt.commandLine},be=>{let De=rt(be),mt=Hi(De);return mt?mt.text:ri.has(De)?void 0:qe.readFile(De)},qe)}function jr(be){return!!We.get(be.path)}function ei(be){if(!be.isDeclarationFile)return!1;if(be.hasNoDefaultLib)return!0;if(!R.noLib)return!1;let De=qe.useCaseSensitiveFileNames()?z1:W1;return R.lib?vt(R.lib,mt=>De(be.fileName,Ri(mt))):De(be.fileName,tn())}function Kr(){return Ve||(Ve=k_e(G))}function Si(be,De,mt,St,Zt,rn){var sn,Dn;(sn=ai)==null||sn.push(ai.Phase.Emit,"emit",{path:be?.path},!0);let kr=Ps(()=>Za(G,be,De,mt,St,Zt,rn));return(Dn=ai)==null||Dn.pop(),kr}function Ja(be){return Ni.has(rt(be))}function Za(be,De,mt,St,Zt,rn,sn){if(!sn){let ki=dq(be,De,mt,St);if(ki)return ki}let Dn=Kr().getEmitResolver(Ss(R)?void 0:De,St);Fs("beforeEmit");let kr=CF(Dn,j(mt),De,jK(R,rn,Zt),Zt,!1,sn);return Fs("afterEmit"),hf("Emit","beforeEmit","afterEmit"),kr}function Fa(be){return Hi(rt(be))}function Hi(be){return ri.get(be)||void 0}function xi(be,De,mt){return vA(be?De(be,mt):Uo(G.getSourceFiles(),St=>(mt&&mt.throwIfCancellationRequested(),De(St,mt))))}function Nr(be,De){return xi(be,kc,De)}function Fo(be,De){return xi(be,mc,De)}function Qr(be){var De;return be?(De=Ce.perFile)==null?void 0:De.get(be.path):Ce.allDiagnostics}function Wi(be,De){return xc(be,De)}function gn(be){var De;if(rL(be,R,G))return Je;let mt=_n.getDiagnostics(be.fileName);return(De=be.commentDirectives)!=null&&De.length?aa(be,be.commentDirectives,mt).diagnostics:mt}function Ki(be,De){let mt=G.getCompilerOptions();return!be||Ss(mt)?md(be,De):xi(be,ss,De)}function kc(be){return Cu(be)?(be.additionalSyntacticDiagnostics||(be.additionalSyntacticDiagnostics=Ll(be)),Qi(be.additionalSyntacticDiagnostics,be.parseDiagnostics)):be.parseDiagnostics}function Ps(be){try{return be()}catch(De){throw De instanceof tI&&(Ve=void 0),De}}function mc(be,De){return Qi(MF(xc(be,De),R),gn(be))}function xc(be,De){return bl(be,De,Ce,hc)}function hc(be,De){return Ps(()=>{if(rL(be,R,G))return Je;let mt=Kr();L.assert(!!be.bindDiagnostics);let Zt=(be.scriptKind===1||be.scriptKind===2)&&HR(be,R),rn=h6(be,R.checkJs),Dn=!(!!be.checkJsDirective&&be.checkJsDirective.enabled===!1)&&(be.scriptKind===3||be.scriptKind===4||be.scriptKind===5||rn||Zt||be.scriptKind===7),kr=Dn?be.bindDiagnostics:Je,ki=Dn?mt.getDiagnostics(be,De):Je;return rn&&(kr=Pr(kr,Vn=>jF.has(Vn.code)),ki=Pr(ki,Vn=>jF.has(Vn.code))),ro(be,Dn&&!rn,kr,ki,Zt?be.jsDocDiagnostics:void 0)})}function ro(be,De,...mt){var St;let Zt=t_(mt);if(!De||!((St=be.commentDirectives)!=null&&St.length))return Zt;let{diagnostics:rn,directives:sn}=aa(be,be.commentDirectives,Zt);for(let Dn of sn.getUnusedExpectations())rn.push(vH(be,Dn.range,_.Unused_ts_expect_error_directive));return rn}function aa(be,De,mt){let St=Gse(be,De);return{diagnostics:mt.filter(rn=>gc(rn,St)===-1),directives:St}}function Co(be,De){return Ps(()=>Kr().getSuggestionDiagnostics(be,De))}function gc(be,De){let{file:mt,start:St}=be;if(!mt)return-1;let Zt=Sh(mt),rn=yw(Zt,St).line-1;for(;rn>=0;){if(De.markUsed(rn))return rn;let sn=mt.text.slice(Zt[rn],Zt[rn+1]).trim();if(sn!==""&&!/^(\s*)\/\/(.*)$/.test(sn))return-1;rn--}return-1}function Ll(be){return Ps(()=>{let De=[];return mt(be,be),kO(be,mt,St),De;function mt(Dn,kr){switch(kr.kind){case 166:case 169:case 171:if(kr.questionToken===Dn)return De.push(sn(Dn,_.The_0_modifier_can_only_be_used_in_TypeScript_files,"?")),"skip";case 170:case 173:case 174:case 175:case 215:case 259:case 216:case 257:if(kr.type===Dn)return De.push(sn(Dn,_.Type_annotations_can_only_be_used_in_TypeScript_files)),"skip"}switch(Dn.kind){case 270:if(Dn.isTypeOnly)return De.push(sn(kr,_._0_declarations_can_only_be_used_in_TypeScript_files,"import type")),"skip";break;case 275:if(Dn.isTypeOnly)return De.push(sn(Dn,_._0_declarations_can_only_be_used_in_TypeScript_files,"export type")),"skip";break;case 273:case 278:if(Dn.isTypeOnly)return De.push(sn(Dn,_._0_declarations_can_only_be_used_in_TypeScript_files,$u(Dn)?"import...type":"export...type")),"skip";break;case 268:return De.push(sn(Dn,_.import_can_only_be_used_in_TypeScript_files)),"skip";case 274:if(Dn.isExportEquals)return De.push(sn(Dn,_.export_can_only_be_used_in_TypeScript_files)),"skip";break;case 294:if(Dn.token===117)return De.push(sn(Dn,_.implements_clauses_can_only_be_used_in_TypeScript_files)),"skip";break;case 261:let Vn=Xa(118);return L.assertIsDefined(Vn),De.push(sn(Dn,_._0_declarations_can_only_be_used_in_TypeScript_files,Vn)),"skip";case 264:let $t=Dn.flags&16?Xa(143):Xa(142);return L.assertIsDefined($t),De.push(sn(Dn,_._0_declarations_can_only_be_used_in_TypeScript_files,$t)),"skip";case 262:return De.push(sn(Dn,_.Type_aliases_can_only_be_used_in_TypeScript_files)),"skip";case 263:let Xn=L.checkDefined(Xa(92));return De.push(sn(Dn,_._0_declarations_can_only_be_used_in_TypeScript_files,Xn)),"skip";case 232:return De.push(sn(Dn,_.Non_null_assertions_can_only_be_used_in_TypeScript_files)),"skip";case 231:return De.push(sn(Dn.type,_.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 235:return De.push(sn(Dn.type,_.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)),"skip";case 213:L.fail()}}function St(Dn,kr){if(aJ(kr)){let ki=wr(kr.modifiers,du);ki&&De.push(sn(ki,_.Decorators_are_not_valid_here))}else if(HS(kr)&&kr.modifiers){let ki=Yc(kr.modifiers,du);if(ki>=0){if(ha(kr)&&!R.experimentalDecorators)De.push(sn(kr.modifiers[ki],_.Decorators_are_not_valid_here));else if(sl(kr)){let Vn=Yc(kr.modifiers,c3);if(Vn>=0){let $t=Yc(kr.modifiers,kue);if(ki>Vn&&$t>=0&&ki<$t)De.push(sn(kr.modifiers[ki],_.Decorators_are_not_valid_here));else if(Vn>=0&&ki<Vn){let Xn=Yc(kr.modifiers,du,Vn);Xn>=0&&De.push(Ao(sn(kr.modifiers[Xn],_.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),sn(kr.modifiers[ki],_.Decorator_used_before_export_here)))}}}}}switch(kr.kind){case 260:case 228:case 171:case 173:case 174:case 175:case 215:case 259:case 216:if(Dn===kr.typeParameters)return De.push(rn(Dn,_.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)),"skip";case 240:if(Dn===kr.modifiers)return Zt(kr.modifiers,kr.kind===240),"skip";break;case 169:if(Dn===kr.modifiers){for(let ki of Dn)Ha(ki)&&ki.kind!==124&&ki.kind!==127&&De.push(sn(ki,_.The_0_modifier_can_only_be_used_in_TypeScript_files,Xa(ki.kind)));return"skip"}break;case 166:if(Dn===kr.modifiers&&vt(Dn,Ha))return De.push(rn(Dn,_.Parameter_modifiers_can_only_be_used_in_TypeScript_files)),"skip";break;case 210:case 211:case 230:case 282:case 283:case 212:if(Dn===kr.typeArguments)return De.push(rn(Dn,_.Type_arguments_can_only_be_used_in_TypeScript_files)),"skip";break}}function Zt(Dn,kr){for(let ki of Dn)switch(ki.kind){case 85:if(kr)continue;case 123:case 121:case 122:case 146:case 136:case 126:case 161:case 101:case 145:De.push(sn(ki,_.The_0_modifier_can_only_be_used_in_TypeScript_files,Xa(ki.kind)));break;case 124:case 93:case 88:case 127:}}function rn(Dn,kr,ki,Vn,$t){let Xn=Dn.pos;return al(be,Xn,Dn.end-Xn,kr,ki,Vn,$t)}function sn(Dn,kr,ki,Vn,$t){return Nu(be,Dn,kr,ki,Vn,$t)}})}function md(be,De){return bl(be,De,Ie,Pc)}function Pc(be,De){return Ps(()=>{let mt=Kr().getEmitResolver(be,De);return Tpe(j(Ba),mt,be)||Je})}function bl(be,De,mt,St){var Zt;let rn=be?(Zt=mt.perFile)==null?void 0:Zt.get(be.path):mt.allDiagnostics;if(rn)return rn;let sn=St(be,De);return be?(mt.perFile||(mt.perFile=new Map)).set(be.path,sn):mt.allDiagnostics=sn,sn}function ss(be,De){return be.isDeclarationFile?[]:md(be,De)}function qs(){return vA(Qi(_n.getGlobalDiagnostics(),Rs()))}function Rs(){if(!R.configFile)return Je;let be=_n.getDiagnostics(R.configFile.fileName);return jo(De=>{be=Qi(be,_n.getDiagnostics(De.sourceFile.fileName))}),be}function As(){return Y.length?vA(Kr().getGlobalDiagnostics().slice()):Je}function jt(){return ie||Je}function yc(be,De,mt,St){ft(So(be),De,mt,void 0,St)}function Ql(be,De){return be.fileName===De.fileName}function yu(be,De){return be.kind===79?De.kind===79&&be.escapedText===De.escapedText:De.kind===10&&be.text===De.text}function se(be,De){let mt=D.createStringLiteral(be),St=D.createImportDeclaration(void 0,void 0,mt,void 0);return SS(St,2),go(mt,St),go(St,De),mt.flags&=-9,St.flags&=-9,mt}function ht(be){if(be.imports)return;let De=Cu(be),mt=Lc(be),St,Zt,rn;if((d_(R)||mt)&&!be.isDeclarationFile){R.importHelpers&&(St=[se(_b,be)]);let Vn=p4(_4(R,be),R);Vn&&(St||(St=[])).push(se(Vn,be))}for(let Vn of be.statements)Dn(Vn,!1);let sn=De&&$s(R)!==100;(be.flags&2097152||sn)&&kr(be),be.imports=St||Je,be.moduleAugmentations=Zt||Je,be.ambientModuleNames=rn||Je;return;function Dn(Vn,$t){if(Uw(Vn)){let Xn=UA(Vn);Xn&&yo(Xn)&&Xn.text&&(!$t||!fl(Xn.text))&&(Zy(Vn,!1),St=Sn(St,Xn),!hi&&ct===0&&!be.isDeclarationFile&&(hi=na(Xn.text,"node:")))}else if(Tc(Vn)&&lu(Vn)&&($t||Mr(Vn,2)||be.isDeclarationFile)){Vn.name.parent=Vn;let Xn=l_(Vn.name);if(mt||$t&&!fl(Xn))(Zt||(Zt=[])).push(Vn.name);else if(!$t){be.isDeclarationFile&&(rn||(rn=[])).push(Xn);let ra=Vn.body;if(ra)for(let Is of ra.statements)Dn(Is,!0)}}}function kr(Vn){let $t=/import|require/g;for(;$t.exec(Vn.text)!==null;){let Xn=ki(Vn,$t.lastIndex);sn&&qu(Xn,!0)||Dd(Xn)&&Xn.arguments.length>=1&&es(Xn.arguments[0])?(Zy(Xn,!1),St=Sn(St,Xn.arguments[0])):ib(Xn)&&(Zy(Xn,!1),St=Sn(St,Xn.argument.literal))}}function ki(Vn,$t){let Xn=Vn,ra=Is=>{if(Is.pos<=$t&&($t<Is.end||$t===Is.end&&Is.kind===1))return Is};for(;;){let Is=De&&Kd(Xn)&&mn(Xn.jsDoc,ra)||pa(Xn,ra);if(!Is)return Xn;Xn=Is}}}function wt(be){let De=n_(be.fileName),mt=jO.get(De);if(mt)return Fa(Ri(mt))}function K(be,De){return Xe(wF(De.fileName,be.fileName),Fa)}function Xe(be,De,mt,St){if(gA(be)){let Zt=qe.getCanonicalFileName(be);if(!R.allowNonTsExtensions&&!mn(t_(ui),sn=>Gc(Zt,sn))){mt&&(ES(Zt)?mt(_.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option,be):mt(_.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1,be,"'"+t_($n).join("', '")+"'"));return}let rn=De(be);if(mt)if(rn)vb(St)&&Zt===qe.getCanonicalFileName(Hi(St.file).fileName)&&mt(_.A_file_cannot_have_a_reference_to_itself);else{let sn=Hs(be);sn?mt(_.Output_file_0_has_not_been_built_from_source_file_1,sn,be):mt(_.File_0_not_found,be)}return rn}else{let Zt=R.allowNonTsExtensions&&De(be);if(Zt)return Zt;if(mt&&R.allowNonTsExtensions){mt(_.File_0_not_found,be);return}let rn=mn($n[0],sn=>De(be+sn));return mt&&!rn&&mt(_.Could_not_resolve_the_path_0_with_the_extensions_Colon_1,be,"'"+t_($n).join("', '")+"'"),rn}}function ft(be,De,mt,St,Zt){Xe(be,rn=>ta(rn,De,mt,Zt,St),(rn,...sn)=>bo(void 0,Zt,rn,sn),Zt)}function Yt(be,De){return ft(be,!1,!1,void 0,De)}function pr(be,De,mt){!vb(mt)&&vt(Pe.get(De.path),vb)?bo(De,mt,_.Already_included_file_name_0_differs_from_file_name_1_only_in_casing,[De.fileName,be]):bo(De,mt,_.File_name_0_differs_from_already_included_file_name_1_only_in_casing,[be,De.fileName])}function yr(be,De,mt,St,Zt,rn,sn){var Dn;let kr=fm.createRedirectedSourceFile({redirectTarget:be,unredirected:De});return kr.fileName=mt,kr.path=St,kr.resolvedPath=Zt,kr.originalFileName=rn,kr.packageJsonLocations=(Dn=sn.packageJsonLocations)!=null&&Dn.length?sn.packageJsonLocations:void 0,kr.packageJsonScope=sn.packageJsonScope,We.set(St,ct>0),kr}function ta(be,De,mt,St,Zt){var rn,sn;(rn=ai)==null||rn.push(ai.Phase.Program,"findSourceFile",{fileName:be,isDefaultLib:De||void 0,fileIncludeKind:R8[St.kind]});let Dn=Ka(be,De,mt,St,Zt);return(sn=ai)==null||sn.pop(),Dn}function Go(be,De,mt,St){let Zt=uq(_a(be,Gt),De?.getPackageJsonInfoCache(),mt,St),rn=Do(St),sn=OR(St);return typeof Zt=="object"?{...Zt,languageVersion:rn,setExternalModuleIndicator:sn}:{languageVersion:rn,impliedNodeFormat:Zt,setExternalModuleIndicator:sn}}function Ka(be,De,mt,St,Zt){var rn,sn;let Dn=rt(be);if(at){let Xn=Ws(Dn);if(!Xn&&qe.realpath&&R.preserveSymlinks&&Fu(be)&&jl(be,Wg)){let ra=rt(qe.realpath(be));ra!==Dn&&(Xn=Ws(ra))}if(Xn){let ra=Ta(Xn)?ta(Xn,De,mt,St,Zt):void 0;return ra&&ka(ra,Dn,void 0),ra}}let kr=be;if(ri.has(Dn)){let Xn=ri.get(Dn);if(vo(Xn||void 0,St),Xn&&R.forceConsistentCasingInFileNames!==!1){let ra=Xn.fileName;rt(ra)!==rt(be)&&(be=Hs(be)||be);let Mc=lj(ra,Gt),mm=lj(be,Gt);Mc!==mm&&pr(be,Xn,St)}return Xn&&We.get(Xn.path)&&ct===0?(We.set(Xn.path,!1),R.noResolve||(nf(Xn,De),ye(Xn)),R.noLib||io(Xn),Rt.set(Xn.path,!1),Ze(Xn)):Xn&&Rt.get(Xn.path)&&ct<_t&&(Rt.set(Xn.path,!1),Ze(Xn)),Xn||void 0}let ki;if(vb(St)&&!at){let Xn=Uc(be);if(Xn){if(Ss(Xn.commandLine.options))return;let ra=Gu(Xn,be);be=ra,ki=rt(ra)}}let Vn=Go(be,gr,qe,R),$t=qe.getSourceFile(be,Vn,Xn=>bo(void 0,St,_.Cannot_read_file_0_Colon_1,[be,Xn]),Q||((rn=Z?.getSourceFileByPath(rt(be)))==null?void 0:rn.impliedNodeFormat)!==Vn.impliedNodeFormat);if(Zt){let Xn=hT(Zt),ra=pn.get(Xn);if(ra){let Is=yr(ra,$t,be,Dn,rt(be),kr,Vn);return Kn.add(ra.path,be),ka(Is,Dn,ki),vo(Is,St),An.set(Dn,p6(Zt)),le.push(Is),Is}else $t&&(pn.set(Xn,$t),An.set(Dn,p6(Zt)))}if(ka($t,Dn,ki),$t){if(We.set(Dn,ct>0),$t.fileName=be,$t.path=Dn,$t.resolvedPath=rt(be),$t.originalFileName=kr,$t.packageJsonLocations=(sn=Vn.packageJsonLocations)!=null&&sn.length?Vn.packageJsonLocations:void 0,$t.packageJsonScope=Vn.packageJsonScope,vo($t,St),qe.useCaseSensitiveFileNames()){let Xn=n_(Dn),ra=Ht.get(Xn);ra?pr(be,ra,St):Ht.set(Xn,$t)}Qt=Qt||$t.hasNoDefaultLib&&!mt,R.noResolve||(nf($t,De),ye($t)),R.noLib||io($t),Ze($t),De?re.push($t):le.push($t)}return $t}function vo(be,De){be&&Pe.add(be.path,De)}function ka(be,De,mt){mt?(ri.set(mt,be),ri.set(De,be||!1)):ri.set(De,be)}function Hs(be){let De=Uc(be);return De&&Gu(De,be)}function Uc(be){if(!(!En||!En.length||Fu(be)||Gc(be,".json")))return $o(be)}function Gu(be,De){let mt=Ss(be.commandLine.options);return mt?V0(mt,".d.ts"):qL(De,be.commandLine,!qe.useCaseSensitiveFileNames())}function $o(be){Cr===void 0&&(Cr=new Map,jo(mt=>{rt(R.configFilePath)!==mt.sourceFile.path&&mt.commandLine.fileNames.forEach(St=>Cr.set(rt(St),mt.sourceFile.path))}));let De=Cr.get(rt(be));return De&&vc(De)}function jo(be){return Kpe(En,be)}function Ws(be){if(Fu(be))return Se===void 0&&(Se=new Map,jo(De=>{let mt=Ss(De.commandLine.options);if(mt){let St=V0(mt,".d.ts");Se.set(rt(St),!0)}else{let St=zu(()=>XL(De.commandLine,!qe.useCaseSensitiveFileNames()));mn(De.commandLine.fileNames,Zt=>{if(!Fu(Zt)&&!Gc(Zt,".json")){let rn=qL(Zt,De.commandLine,!qe.useCaseSensitiveFileNames(),St);Se.set(rt(rn),Zt)}})}})),Se.get(be)}function hd(be){return at&&!!$o(be)}function vc(be){if(dr)return dr.get(be)||void 0}function nf(be,De){mn(be.referencedFiles,(mt,St)=>{ft(wF(mt.fileName,be.fileName),De,!1,void 0,{kind:4,file:be.path,index:St})})}function ye(be){let De=be.typeReferenceDirectives;if(!De.length){be.resolvedTypeReferenceDirectiveNames=void 0;return}let mt=pe(De,be);for(let St=0;St<De.length;St++){let Zt=be.typeReferenceDirectives[St],rn=mt[St],sn=n_(Zt.fileName);Dse(be,sn,rn,mN(Zt,be.impliedNodeFormat));let Dn=Zt.resolutionMode||be.impliedNodeFormat;Dn&&$s(R)!==3&&$s(R)!==99&&(Ne??(Ne=[])).push({kind:2,diagnostics:[vH(be,Zt,_.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext)]}),Et(sn,Dn,rn,{kind:5,file:be.path,index:St})}}function Et(be,De,mt,St){var Zt,rn;(Zt=ai)==null||Zt.push(ai.Phase.Program,"processTypeReferenceDirective",{directive:be,hasResolved:!!mt.resolvedTypeReferenceDirective,refKind:St.kind,refPath:vb(St)?St.file:void 0}),bn(be,De,mt,St),(rn=ai)==null||rn.pop()}function bn(be,De,mt,St){var Zt;Oe(mt);let rn=(Zt=Be.get(be,De))==null?void 0:Zt.resolvedTypeReferenceDirective;if(rn&&rn.primary)return;let sn=!0,{resolvedTypeReferenceDirective:Dn}=mt;if(Dn){if(Dn.isExternalLibraryImport&&ct++,Dn.primary)ft(Dn.resolvedFileName,!1,!1,Dn.packageId,St);else if(rn){if(Dn.resolvedFileName!==rn.resolvedFileName){let kr=qe.readFile(Dn.resolvedFileName),ki=Fa(rn.resolvedFileName);kr!==ki.text&&bo(ki,St,_.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict,[be,Dn.resolvedFileName,rn.resolvedFileName])}sn=!1}else ft(Dn.resolvedFileName,!1,!1,Dn.packageId,St);Dn.isExternalLibraryImport&&ct--}else bo(void 0,St,_.Cannot_find_type_definition_file_for_0,[be]);sn&&Be.set(be,De,mt)}function Ri(be){let De=be.split("."),mt=De[1],St=2;for(;De[St]&&De[St]!=="d";)mt+=(St===2?"/":"-")+De[St],St++;let Zt=vi(Gt,`__lib_node_modules_lookup_${be}__.ts`),rn=FL("@typescript/lib-"+mt,Zt,{moduleResolution:2},qe,gr);return rn?.resolvedModule?rn.resolvedModule.resolvedFileName:vi(kn,be)}function io(be){mn(be.libReferenceDirectives,(De,mt)=>{let St=n_(De.fileName),Zt=jO.get(St);if(Zt)yc(Ri(Zt),!0,!0,{kind:7,file:be.path,index:mt});else{let rn=pA(QC(St,"lib."),".d.ts"),sn=$C(rn,VO,Ks),Dn=sn?_.Cannot_find_lib_definition_for_0_Did_you_mean_1:_.Cannot_find_lib_definition_for_0;(Ne||(Ne=[])).push({kind:0,reason:{kind:7,file:be.path,index:mt},diagnostic:Dn,args:[St,sn]})}})}function ee(be){return qe.getCanonicalFileName(be)}function Ze(be){var De;if(ht(be),be.imports.length||be.moduleAugmentations.length){let mt=qpe(be),St=oe(mt,be);L.assert(St.length===mt.length);let Zt=(at?(De=Kt(be))==null?void 0:De.commandLine.options:void 0)||R;for(let rn=0;rn<mt.length;rn++){let sn=St[rn].resolvedModule,Dn=mt[rn].text,kr=W_(be,mt[rn]);if(kse(be,Dn,St[rn],kr),je(be,Dn,St[rn],kr),!sn)continue;let ki=sn.isExternalLibraryImport,Vn=!VR(sn.extension),$t=ki&&Vn,Xn=sn.resolvedFileName;ki&&ct++;let ra=$t&&ct>_t,Is=Xn&&!_q(Zt,sn,be)&&!Zt.noResolve&&rn<be.imports.length&&!ra&&!(Vn&&!PR(Zt))&&(Yn(be.imports[rn])||!(be.imports[rn].flags&8388608));ra?Rt.set(be.path,!0):Is&&ta(Xn,!1,!1,{kind:3,file:be.path,index:rn},sn.packageId),ki&&ct--}}else be.resolvedModules=void 0}function At(be,De){let mt=!0,St=qe.getCanonicalFileName(_a(De,Gt));for(let Zt of be)Zt.isDeclarationFile||qe.getCanonicalFileName(_a(Zt.fileName,Gt)).indexOf(St)!==0&&(Qo(Zt,_.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,[Zt.fileName,De]),mt=!1);return mt}function xt(be){dr||(dr=new Map);let De=$L(be),mt=rt(De),St=dr.get(mt);if(St!==void 0)return St||void 0;let Zt,rn;if(qe.getParsedCommandLine){if(Zt=qe.getParsedCommandLine(De),!Zt){ka(void 0,mt,void 0),dr.set(mt,!1);return}rn=L.checkDefined(Zt.options.configFile),L.assert(!rn.path||rn.path===mt),ka(rn,mt,void 0)}else{let Dn=_a(ni(De),qe.getCurrentDirectory());if(rn=qe.getSourceFile(De,100),ka(rn,mt,void 0),rn===void 0){dr.set(mt,!1);return}Zt=MO(rn,zt,Dn,void 0,De)}rn.fileName=De,rn.path=mt,rn.resolvedPath=mt,rn.originalFileName=De;let sn={commandLine:Zt,sourceFile:rn};return dr.set(mt,sn),Zt.projectReferences&&(sn.references=Zt.projectReferences.map(xt)),sn}function qt(){R.strictPropertyInitialization&&!Uf(R,"strictNullChecks")&&Io(_.Option_0_cannot_be_specified_without_specifying_option_1,"strictPropertyInitialization","strictNullChecks"),R.exactOptionalPropertyTypes&&!Uf(R,"strictNullChecks")&&Io(_.Option_0_cannot_be_specified_without_specifying_option_1,"exactOptionalPropertyTypes","strictNullChecks"),(R.isolatedModules||R.verbatimModuleSyntax)&&(R.out&&Io(_.Option_0_cannot_be_specified_with_option_1,"out",R.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules"),R.outFile&&Io(_.Option_0_cannot_be_specified_with_option_1,"outFile",R.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules")),R.inlineSourceMap&&(R.sourceMap&&Io(_.Option_0_cannot_be_specified_with_option_1,"sourceMap","inlineSourceMap"),R.mapRoot&&Io(_.Option_0_cannot_be_specified_with_option_1,"mapRoot","inlineSourceMap")),R.composite&&(R.declaration===!1&&Io(_.Composite_projects_may_not_disable_declaration_emit,"declaration"),R.incremental===!1&&Io(_.Composite_projects_may_not_disable_incremental_compilation,"declaration"));let be=Ss(R);if(R.tsBuildInfoFile?NR(R)||Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"tsBuildInfoFile","incremental","composite"):R.incremental&&!be&&!R.configFilePath&&_n.add(ps(_.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified)),Vr(),Bu(),R.composite){let sn=new Set(Y.map(rt));for(let Dn of _e)pS(Dn,G)&&!sn.has(Dn.path)&&Qo(Dn,_.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern,[Dn.fileName,R.configFilePath||""])}if(R.paths){for(let sn in R.paths)if(fs(R.paths,sn))if(CW(sn)||Dc(!0,sn,_.Pattern_0_can_have_at_most_one_Asterisk_character,sn),ba(R.paths[sn])){let Dn=R.paths[sn].length;Dn===0&&Dc(!1,sn,_.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,sn);for(let kr=0;kr<Dn;kr++){let ki=R.paths[sn][kr],Vn=typeof ki;Vn==="string"?(CW(ki)||Pd(sn,kr,_.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character,ki,sn),!R.baseUrl&&!Jd(ki)&&!nI(ki)&&Pd(sn,kr,_.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)):Pd(sn,kr,_.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2,ki,sn,Vn)}}else Dc(!1,sn,_.Substitutions_for_pattern_0_should_be_an_array,sn)}!R.sourceMap&&!R.inlineSourceMap&&(R.inlineSources&&Io(_.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,"inlineSources"),R.sourceRoot&&Io(_.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,"sourceRoot")),R.out&&R.outFile&&Io(_.Option_0_cannot_be_specified_with_option_1,"out","outFile"),R.mapRoot&&!(R.sourceMap||R.declarationMap)&&Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"mapRoot","sourceMap","declarationMap"),R.declarationDir&&(__(R)||Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"declarationDir","declaration","composite"),be&&Io(_.Option_0_cannot_be_specified_with_option_1,"declarationDir",R.out?"out":"outFile")),R.declarationMap&&!__(R)&&Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"declarationMap","declaration","composite"),R.lib&&R.noLib&&Io(_.Option_0_cannot_be_specified_with_option_1,"lib","noLib"),R.noImplicitUseStrict&&Uf(R,"alwaysStrict")&&Io(_.Option_0_cannot_be_specified_with_option_1,"noImplicitUseStrict","alwaysStrict");let De=Do(R),mt=wr(_e,sn=>Lc(sn)&&!sn.isDeclarationFile);if(R.isolatedModules||R.verbatimModuleSyntax)R.module===0&&De<2&&R.isolatedModules&&Io(_.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher,"isolatedModules","target"),R.preserveConstEnums===!1&&Io(_.Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled,R.verbatimModuleSyntax?"verbatimModuleSyntax":"isolatedModules","preserveConstEnums");else if(mt&&De<2&&R.module===0){let sn=w0(mt,typeof mt.externalModuleIndicator=="boolean"?mt:mt.externalModuleIndicator);_n.add(al(mt,sn.start,sn.length,_.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none))}if(be&&!R.emitDeclarationOnly){if(R.module&&!(R.module===2||R.module===4))Io(_.Only_amd_and_system_modules_are_supported_alongside_0,R.out?"out":"outFile","module");else if(R.module===void 0&&mt){let sn=w0(mt,typeof mt.externalModuleIndicator=="boolean"?mt:mt.externalModuleIndicator);_n.add(al(mt,sn.start,sn.length,_.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system,R.out?"out":"outFile"))}}if(RT(R)&&($s(R)===1?Io(_.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic,"resolveJsonModule"):l4(R)||Io(_.Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext,"resolveJsonModule","module")),R.outDir||R.rootDir||R.sourceRoot||R.mapRoot){let sn=Ot();R.outDir&&sn===""&&_e.some(Dn=>_p(Dn.fileName)>1)&&Io(_.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}R.useDefineForClassFields&&De===0&&Io(_.Option_0_cannot_be_specified_when_option_target_is_ES3,"useDefineForClassFields"),R.checkJs&&!PR(R)&&_n.add(ps(_.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs")),R.emitDeclarationOnly&&(__(R)||Io(_.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite"),R.noEmit&&Io(_.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit")),R.emitDecoratorMetadata&&!R.experimentalDecorators&&Io(_.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators"),R.jsxFactory?(R.reactNamespace&&Io(_.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),(R.jsx===4||R.jsx===5)&&Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFactory",NL.get(""+R.jsx)),zS(R.jsxFactory,De)||Jf("jsxFactory",_.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,R.jsxFactory)):R.reactNamespace&&!i_(R.reactNamespace,De)&&Jf("reactNamespace",_.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,R.reactNamespace),R.jsxFragmentFactory&&(R.jsxFactory||Io(_.Option_0_cannot_be_specified_without_specifying_option_1,"jsxFragmentFactory","jsxFactory"),(R.jsx===4||R.jsx===5)&&Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFragmentFactory",NL.get(""+R.jsx)),zS(R.jsxFragmentFactory,De)||Jf("jsxFragmentFactory",_.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,R.jsxFragmentFactory)),R.reactNamespace&&(R.jsx===4||R.jsx===5)&&Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1,"reactNamespace",NL.get(""+R.jsx)),R.jsxImportSource&&R.jsx===2&&Io(_.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxImportSource",NL.get(""+R.jsx)),R.preserveValueImports&&Rl(R)<5&&Io(_.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later,"preserveValueImports");let St=Rl(R);R.verbatimModuleSyntax&&((St===2||St===3||St===4)&&Io(_.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System,"verbatimModuleSyntax"),R.isolatedModules&&He("isolatedModules","verbatimModuleSyntax"),R.preserveValueImports&&He("preserveValueImports","verbatimModuleSyntax"),R.importsNotUsedAsValues&&He("importsNotUsedAsValues","verbatimModuleSyntax")),R.allowImportingTsExtensions&&!(R.noEmit||R.emitDeclarationOnly)&&Jf("allowImportingTsExtensions",_.Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set);let Zt=$s(R);if(R.resolvePackageJsonExports&&!bS(Zt)&&Io(_.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,"resolvePackageJsonExports"),R.resolvePackageJsonImports&&!bS(Zt)&&Io(_.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,"resolvePackageJsonImports"),R.customConditions&&!bS(Zt)&&Io(_.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler,"customConditions"),Zt===100&&!SW(St)&&Jf("moduleResolution",_.Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later,"bundler"),!R.noEmit&&!R.suppressOutputPathCheck){let sn=j(),Dn=new Set;WK(sn,kr=>{R.emitDeclarationOnly||rn(kr.jsFilePath,Dn),rn(kr.declarationFilePath,Dn)})}function rn(sn,Dn){if(sn){let kr=rt(sn);if(ri.has(kr)){let Vn;R.configFilePath||(Vn=da(void 0,_.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),Vn=da(Vn,_.Cannot_write_file_0_because_it_would_overwrite_input_file,sn),Nt(sn,s4(Vn))}let ki=qe.useCaseSensitiveFileNames()?kr:n_(kr);Dn.has(ki)?Nt(sn,ps(_.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,sn)):Dn.add(ki)}}}function Ln(){let be=R.ignoreDeprecations;if(be){if(be==="5.0")return new r_(be);U()}return r_.zero}function mr(be,De,mt,St){let Zt=new r_(be),rn=new r_(De),sn=new r_(fe||Sg),Dn=Ln(),kr=rn.compareTo(sn)!==1,ki=!kr&&Dn.compareTo(Zt)===-1;(kr||ki)&&St((Vn,$t,Xn)=>{kr?$t===void 0?mt(Vn,$t,Xn,_.Option_0_has_been_removed_Please_remove_it_from_your_configuration,Vn):mt(Vn,$t,Xn,_.Option_0_1_has_been_removed_Please_remove_it_from_your_configuration,Vn,$t):$t===void 0?mt(Vn,$t,Xn,_.Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error,Vn,De,be):mt(Vn,$t,Xn,_.Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error,Vn,$t,De,be)})}function Vr(){function be(De,mt,St,Zt,rn,sn,Dn,kr){if(St){let ki=da(void 0,_.Use_0_instead,St),Vn=da(ki,Zt,rn,sn,Dn,kr);E_(!mt,De,void 0,Vn)}else E_(!mt,De,void 0,Zt,rn,sn,Dn,kr)}mr("5.0","5.5",be,De=>{R.target===0&&De("target","ES3"),R.noImplicitUseStrict&&De("noImplicitUseStrict"),R.keyofStringsOnly&&De("keyofStringsOnly"),R.suppressExcessPropertyErrors&&De("suppressExcessPropertyErrors"),R.suppressImplicitAnyIndexErrors&&De("suppressImplicitAnyIndexErrors"),R.noStrictGenericChecks&&De("noStrictGenericChecks"),R.charset&&De("charset"),R.out&&De("out",void 0,"outFile"),R.importsNotUsedAsValues&&De("importsNotUsedAsValues",void 0,"verbatimModuleSyntax"),R.preserveValueImports&&De("preserveValueImports",void 0,"verbatimModuleSyntax")})}function gi(be,De,mt){function St(Zt,rn,sn,Dn,kr,ki,Vn,$t){Fd(De,mt,Dn,kr,ki,Vn,$t)}mr("5.0","5.5",St,Zt=>{be.prepend&&Zt("prepend")})}function Ea(be,De,mt,St){var Zt;let rn,sn,Dn=vb(De)?De:void 0;be&&((Zt=Pe.get(be.path))==null||Zt.forEach(Xn)),De&&Xn(De),Dn&&rn?.length===1&&(rn=void 0);let kr=Dn&&YL(Hi,Dn),ki=rn&&da(rn,_.The_file_is_in_the_program_because_Colon),Vn=be&&Oq(be),$t=da(Vn?ki?[ki,...Vn]:Vn:ki,mt,...St||Je);return kr&&F2(kr)?S6(kr.file,kr.pos,kr.end-kr.pos,$t,sn):s4($t,sn);function Xn(ra){(rn||(rn=[])).push(Mq(G,ra)),!Dn&&vb(ra)?Dn=ra:Dn!==ra&&(sn=Sn(sn,Cs(ra))),ra===De&&(De=void 0)}}function bo(be,De,mt,St){(Ne||(Ne=[])).push({kind:1,file:be&&be.path,fileProcessingReason:De,diagnostic:mt,args:St})}function Qo(be,De,mt){_n.add(Ea(be,void 0,De,mt))}function Cs(be){if(vb(be)){let St=YL(Hi,be),Zt;switch(be.kind){case 3:Zt=_.File_is_included_via_import_here;break;case 4:Zt=_.File_is_included_via_reference_here;break;case 5:Zt=_.File_is_included_via_type_library_reference_here;break;case 7:Zt=_.File_is_included_via_library_reference_here;break;default:L.assertNever(be)}return F2(St)?al(St.file,St.pos,St.end-St.pos,Zt):void 0}if(!R.configFile)return;let De,mt;switch(be.kind){case 0:if(!R.configFile.configFileSpecs)return;let St=_a(Y[be.index],Gt),Zt=Nq(G,St);if(Zt){De=w6(R.configFile,"files",Zt),mt=_.File_is_matched_by_files_list_specified_here;break}let rn=Pq(G,St);if(!rn||!Ta(rn))return;De=w6(R.configFile,"include",rn),mt=_.File_is_matched_by_include_pattern_specified_here;break;case 1:case 2:let sn=L.checkDefined(En?.[be.index]),Dn=gN($,En,(Xn,ra,Is)=>Xn===sn?{sourceFile:ra?.sourceFile||R.configFile,index:Is}:void 0);if(!Dn)return;let{sourceFile:kr,index:ki}=Dn,Vn=ks(Hw(kr,"references"),Xn=>fu(Xn.initializer)?Xn.initializer:void 0);return Vn&&Vn.elements.length>ki?Nu(kr,Vn.elements[ki],be.kind===2?_.File_is_output_from_referenced_project_specified_here:_.File_is_source_from_referenced_project_specified_here):void 0;case 8:if(!R.types)return;De=zf("types",be.typeReference),mt=_.File_is_entry_point_of_type_library_specified_here;break;case 6:if(be.index!==void 0){De=zf("lib",R.lib[be.index]),mt=_.File_is_library_specified_here;break}let $t=Ld(zO.type,(Xn,ra)=>Xn===Do(R)?ra:void 0);De=$t?Md("target",$t):void 0,mt=_.File_is_default_library_for_target_specified_here;break;default:L.assertNever(be)}return De&&Nu(R.configFile,De,mt)}function Bu(){let be=R.suppressOutputPathCheck?void 0:Jg(R);gN($,En,(De,mt,St)=>{let Zt=(mt?mt.commandLine.projectReferences:$)[St],rn=mt&&mt.sourceFile;if(gi(Zt,rn,St),!De){Fd(rn,St,_.File_0_not_found,Zt.path);return}let sn=De.commandLine.options;if((!sn.composite||sn.noEmit)&&(mt?mt.commandLine.fileNames:Y).length&&(sn.composite||Fd(rn,St,_.Referenced_project_0_must_have_setting_composite_Colon_true,Zt.path),sn.noEmit&&Fd(rn,St,_.Referenced_project_0_may_not_disable_emit,Zt.path)),Zt.prepend){let Dn=Ss(sn);Dn?qe.fileExists(Dn)||Fd(rn,St,_.Output_file_0_from_project_1_does_not_exist,Dn,Zt.path):Fd(rn,St,_.Cannot_prepend_project_0_because_it_does_not_have_outFile_set,Zt.path)}!mt&&be&&be===Jg(sn)&&(Fd(rn,St,_.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1,be,Zt.path),Ni.set(rt(be),!0))})}function Pd(be,De,mt,St,Zt,rn){let sn=!0,Dn=Zl();for(let kr of Dn)if(rs(kr.initializer))for(let ki of MA(kr.initializer,be)){let Vn=ki.initializer;fu(Vn)&&Vn.elements.length>De&&(_n.add(Nu(R.configFile,Vn.elements[De],mt,St,Zt,rn)),sn=!1)}sn&&_n.add(ps(mt,St,Zt,rn))}function Dc(be,De,mt,St){let Zt=!0,rn=Zl();for(let sn of rn)rs(sn.initializer)&&M(sn.initializer,be,De,void 0,mt,St)&&(Zt=!1);Zt&&_n.add(ps(mt,St))}function gd(be){let De=Y_();return De&&MA(De,be)}function Zl(){return gd("paths")||Je}function Md(be,De){let mt=gd(be);return mt&&ks(mt,St=>yo(St.initializer)&&St.initializer.text===De?St.initializer:void 0)}function zf(be,De){let mt=Y_();return mt&&rce(mt,be,De)}function Io(be,De,mt,St){E_(!0,De,mt,be,De,mt,St)}function Jf(be,De,mt,St){E_(!1,be,void 0,De,mt,St)}function Fd(be,De,mt,St,Zt,rn,sn){let Dn=ks(Hw(be||R.configFile,"references"),kr=>fu(kr.initializer)?kr.initializer:void 0);Dn&&Dn.elements.length>De?_n.add(Nu(be||R.configFile,Dn.elements[De],mt,St,Zt,rn,sn)):_n.add(ps(mt,St,Zt,rn,sn))}function E_(be,De,mt,St,Zt,rn,sn,Dn){let kr=Y_();(!kr||!M(kr,be,De,mt,St,Zt,rn,sn,Dn))&&("messageText"in St?_n.add(s4(St)):_n.add(ps(St,Zt,rn,sn,Dn)))}function Y_(){if(Pi===void 0){Pi=!1;let be=LI(R.configFile);if(be){for(let De of MA(be,"compilerOptions"))if(rs(De.initializer)){Pi=De.initializer;break}}}return Pi||void 0}function M(be,De,mt,St,Zt,rn,sn,Dn,kr){let ki=MA(be,mt,St);for(let Vn of ki)"messageText"in Zt?_n.add(Lh(R.configFile,De?Vn.name:Vn.initializer,Zt)):_n.add(Nu(R.configFile,De?Vn.name:Vn.initializer,Zt,rn,sn,Dn,kr));return!!ki.length}function He(be,De){let mt=Y_();mt?M(mt,!0,be,void 0,_.Option_0_is_redundant_and_cannot_be_specified_with_option_1,be,De):Io(_.Option_0_is_redundant_and_cannot_be_specified_with_option_1,be,De)}function Nt(be,De){Ni.set(rt(be),!0),_n.add(De)}function Pn(be){if(R.noEmit)return!1;let De=rt(be);if(Hi(De))return!1;let mt=Ss(R);if(mt)return la(De,mt)||la(De,ld(mt)+".d.ts");if(R.declarationDir&&Gy(R.declarationDir,De,Gt,!qe.useCaseSensitiveFileNames()))return!0;if(R.outDir)return Gy(R.outDir,De,Gt,!qe.useCaseSensitiveFileNames());if($c(De,dL)||Fu(De)){let St=ld(De);return!!Hi(St+".ts")||!!Hi(St+".tsx")}return!1}function la(be,De){return cT(be,De,Gt,!qe.useCaseSensitiveFileNames())===0}function oa(){return qe.getSymlinkCache?qe.getSymlinkCache():(ge||(ge=Ile(Gt,ee)),_e&&Ye&&!ge.hasProcessedResolutions()&&ge.setSymlinksFromResolutions(_e,Ye),ge)}}function r8e(e){let t,r=e.compilerHost.fileExists,i=e.compilerHost.directoryExists,o=e.compilerHost.getDirectories,s=e.compilerHost.realpath;if(!e.useSourceOfProjectReferenceRedirect)return{onProgramCreateComplete:Ba,fileExists:d};e.compilerHost.fileExists=d;let l;return i&&(l=e.compilerHost.directoryExists=x=>i.call(e.compilerHost,x)?(v(x),!0):e.getResolvedProjectReferences()?(t||(t=new Set,e.forEachResolvedProjectReference(A=>{let w=Ss(A.commandLine.options);if(w)t.add(ni(e.toPath(w)));else{let C=A.commandLine.options.declarationDir||A.commandLine.options.outDir;C&&t.add(e.toPath(C))}})),S(x,!1)):!1),o&&(e.compilerHost.getDirectories=x=>!e.getResolvedProjectReferences()||i&&i.call(e.compilerHost,x)?o.call(e.compilerHost,x):[]),s&&(e.compilerHost.realpath=x=>{var A;return((A=e.getSymlinkCache().getSymlinkedFiles())==null?void 0:A.get(e.toPath(x)))||s.call(e.compilerHost,x)}),{onProgramCreateComplete:f,fileExists:d,directoryExists:l};function f(){e.compilerHost.fileExists=r,e.compilerHost.directoryExists=i,e.compilerHost.getDirectories=o}function d(x){return r.call(e.compilerHost,x)?!0:!e.getResolvedProjectReferences()||!Fu(x)?!1:S(x,!0)}function g(x){let A=e.getSourceOfProjectReferenceRedirect(e.toPath(x));return A!==void 0?Ta(A)?r.call(e.compilerHost,A):!0:void 0}function m(x){let A=e.toPath(x),w=`${A}${_s}`;return TI(t,C=>A===C||na(C,w)||na(A,`${C}/`))}function v(x){var A;if(!e.getResolvedProjectReferences()||sL(x)||!s||!jl(x,Wg))return;let w=e.getSymlinkCache(),C=cu(e.toPath(x));if((A=w.getSymlinkedDirectories())!=null&&A.has(C))return;let P=So(s.call(e.compilerHost,x)),F;if(P===x||(F=cu(e.toPath(P)))===C){w.setSymlinkedDirectory(C,!1);return}w.setSymlinkedDirectory(x,{real:cu(P),realPath:F})}function S(x,A){var w;let C=A?W=>g(W):W=>m(W),P=C(x);if(P!==void 0)return P;let F=e.getSymlinkCache(),B=F.getSymlinkedDirectories();if(!B)return!1;let q=e.toPath(x);return jl(q,Wg)?A&&((w=F.getSymlinkedFiles())!=null&&w.has(q))?!0:FD(B.entries(),([W,Y])=>{if(!Y||!na(q,W))return;let R=C(q.replace(W,Y.realPath));if(A&&R){let ie=_a(x,e.compilerHost.getCurrentDirectory());F.setSymlinkedFile(q,`${Y.real}${ie.replace(new RegExp(W,"i"),"")}`)}return R})||!1:!1}}function dq(e,t,r,i){let o=e.getCompilerOptions();if(o.noEmit)return e.getSemanticDiagnostics(t,i),t||Ss(o)?HF:e.emitBuildInfo(r,i);if(!o.noEmitOnError)return;let s=[...e.getOptionsDiagnostics(i),...e.getSyntacticDiagnostics(t,i),...e.getGlobalDiagnostics(i),...e.getSemanticDiagnostics(t,i)];if(s.length===0&&__(e.getCompilerOptions())&&(s=e.getDeclarationDiagnostics(void 0,i)),!s.length)return;let l;if(!t&&!Ss(o)){let f=e.emitBuildInfo(r,i);f.diagnostics&&(s=[...s,...f.diagnostics]),l=f.emittedFiles}return{diagnostics:s,sourceMaps:void 0,emittedFiles:l,emitSkipped:!0}}function MF(e,t){return Pr(e,r=>!r.skippedOn||!t[r.skippedOn])}function FF(e,t=e){return{fileExists:r=>t.fileExists(r),readDirectory(r,i,o,s,l){return L.assertIsDefined(t.readDirectory,"'CompilerHost.readDirectory' must be implemented to correctly process 'projectReferences'"),t.readDirectory(r,i,o,s,l)},readFile:r=>t.readFile(r),useCaseSensitiveFileNames:e.useCaseSensitiveFileNames(),getCurrentDirectory:()=>e.getCurrentDirectory(),onUnRecoverableConfigFileDiagnostic:e.onUnRecoverableConfigFileDiagnostic||Qv,trace:e.trace?r=>e.trace(r):void 0}}function fq(e,t,r,i){if(!e)return Je;let o;for(let s=0;s<e.length;s++){let l=e[s],f=t(l,s);if(l.prepend&&f&&f.options){if(!Ss(f.options))continue;let{jsFilePath:g,sourceMapFilePath:m,declarationFilePath:v,declarationMapPath:S,buildInfoPath:x}=JL(f.options,!0),A=_z(r,g,m,v,S,x,i,f.options);(o||(o=[])).push(A)}}return o||Je}function $L(e){return Hq(e.path)}function _q(e,{extension:t},{isDeclarationFile:r}){switch(t){case".ts":case".d.ts":case".mts":case".d.mts":case".cts":case".d.cts":return;case".tsx":return i();case".jsx":return i()||o();case".js":case".mjs":case".cjs":return o();case".json":return s();default:return l()}function i(){return e.jsx?void 0:_.Module_0_was_resolved_to_1_but_jsx_is_not_set}function o(){return PR(e)||!Uf(e,"noImplicitAny")?void 0:_.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type}function s(){return RT(e)?void 0:_.Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used}function l(){return r||e.allowArbitraryExtensions?void 0:_.Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set}}function qpe({imports:e,moduleAugmentations:t}){let r=e.map(i=>i);for(let i of t)i.kind===10&&r.push(i);return r}function GF({imports:e,moduleAugmentations:t},r){if(r<e.length)return e[r];let i=e.length;for(let o of t)if(o.kind===10){if(r===i)return o;i++}L.fail("should never ask for module name at index higher than possible module name")}var pq,BF,UF,mq,hq,Xpe,gq,yq,QL,yN,VF,jF,HF,i8e=gt({"src/compiler/program.ts"(){"use strict";fa(),fa(),E0(),pq=(e=>(e.Grey="\x1B[90m",e.Red="\x1B[91m",e.Yellow="\x1B[93m",e.Blue="\x1B[94m",e.Cyan="\x1B[96m",e))(pq||{}),BF="\x1B[7m",UF=" ",mq="\x1B[0m",hq="...",Xpe="  ",gq="    ",yq={resolvedModule:void 0,resolvedTypeReferenceDirective:void 0},QL={getName:sq,getMode:(e,t)=>W_(t,e)},yN={getName:RF,getMode:(e,t)=>mN(e,t?.impliedNodeFormat)},VF="__inferred type names__.ts",jF=new Set([_.Cannot_redeclare_block_scoped_variable_0.code,_.A_module_cannot_have_multiple_default_exports.code,_.Another_export_default_is_here.code,_.The_first_export_default_is_here.code,_.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code,_.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code,_.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code,_.constructor_is_a_reserved_word.code,_.delete_cannot_be_called_on_an_identifier_in_strict_mode.code,_.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode.code,_.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code,_.Invalid_use_of_0_in_strict_mode.code,_.A_label_is_not_allowed_here.code,_.Octal_literals_are_not_allowed_in_strict_mode.code,_.with_statements_are_not_allowed_in_strict_mode.code,_.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,_.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code,_.A_class_declaration_without_the_default_modifier_must_have_a_name.code,_.A_class_member_cannot_have_the_0_keyword.code,_.A_comma_expression_is_not_allowed_in_a_computed_property_name.code,_.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code,_.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,_.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,_.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code,_.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code,_.A_definite_assignment_assertion_is_not_permitted_in_this_context.code,_.A_destructuring_declaration_must_have_an_initializer.code,_.A_get_accessor_cannot_have_parameters.code,_.A_rest_element_cannot_contain_a_binding_pattern.code,_.A_rest_element_cannot_have_a_property_name.code,_.A_rest_element_cannot_have_an_initializer.code,_.A_rest_element_must_be_last_in_a_destructuring_pattern.code,_.A_rest_parameter_cannot_have_an_initializer.code,_.A_rest_parameter_must_be_last_in_a_parameter_list.code,_.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,_.A_return_statement_cannot_be_used_inside_a_class_static_block.code,_.A_set_accessor_cannot_have_rest_parameter.code,_.A_set_accessor_must_have_exactly_one_parameter.code,_.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module.code,_.An_export_declaration_cannot_have_modifiers.code,_.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module.code,_.An_import_declaration_cannot_have_modifiers.code,_.An_object_member_cannot_be_declared_optional.code,_.Argument_of_dynamic_import_cannot_be_spread_element.code,_.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code,_.Cannot_redeclare_identifier_0_in_catch_clause.code,_.Catch_clause_variable_cannot_have_an_initializer.code,_.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code,_.Classes_can_only_extend_a_single_class.code,_.Classes_may_not_have_a_field_named_constructor.code,_.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code,_.Duplicate_label_0.code,_.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments.code,_.For_await_loops_cannot_be_used_inside_a_class_static_block.code,_.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code,_.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code,_.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code,_.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code,_.Jump_target_cannot_cross_function_boundary.code,_.Line_terminator_not_permitted_before_arrow.code,_.Modifiers_cannot_appear_here.code,_.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code,_.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code,_.Private_identifiers_are_not_allowed_outside_class_bodies.code,_.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,_.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code,_.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code,_.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code,_.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code,_.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code,_.Trailing_comma_not_allowed.code,_.Variable_declaration_list_cannot_be_empty.code,_._0_and_1_operations_cannot_be_mixed_without_parentheses.code,_._0_expected.code,_._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code,_._0_list_cannot_be_empty.code,_._0_modifier_already_seen.code,_._0_modifier_cannot_appear_on_a_constructor_declaration.code,_._0_modifier_cannot_appear_on_a_module_or_namespace_element.code,_._0_modifier_cannot_appear_on_a_parameter.code,_._0_modifier_cannot_appear_on_class_elements_of_this_kind.code,_._0_modifier_cannot_be_used_here.code,_._0_modifier_must_precede_1_modifier.code,_.const_declarations_can_only_be_declared_inside_a_block.code,_.const_declarations_must_be_initialized.code,_.extends_clause_already_seen.code,_.let_declarations_can_only_be_declared_inside_a_block.code,_.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code,_.Class_constructor_may_not_be_a_generator.code,_.Class_constructor_may_not_be_an_accessor.code,_.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code]),HF={diagnostics:Je,sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0}}}),a8e=gt({"src/compiler/builderStatePublic.ts"(){"use strict"}});function Ype(e,t,r,i,o,s){let l=[],{emitSkipped:f,diagnostics:d}=e.emit(t,g,i,r,o,s);return{outputFiles:l,emitSkipped:f,diagnostics:d};function g(m,v,S){l.push({name:m,writeByteOrderMark:S,text:v})}}var pm,o8e=gt({"src/compiler/builderState.ts"(){"use strict";fa(),(e=>{function t(){function Z(U,re,le){let _e={getKeys:ge=>re.get(ge),getValues:ge=>U.get(ge),keys:()=>U.keys(),deleteKey:ge=>{(le||(le=new Set)).add(ge);let X=U.get(ge);return X?(X.forEach(Ve=>i(re,Ve,ge)),U.delete(ge),!0):!1},set:(ge,X)=>{le?.delete(ge);let Ve=U.get(ge);return U.set(ge,X),Ve?.forEach(we=>{X.has(we)||i(re,we,ge)}),X.forEach(we=>{Ve?.has(we)||r(re,we,ge)}),_e}};return _e}return Z(new Map,new Map,void 0)}e.createManyToManyPathMap=t;function r(Z,U,re){let le=Z.get(U);le||(le=new Set,Z.set(U,le)),le.add(re)}function i(Z,U,re){let le=Z.get(U);return le?.delete(re)?(le.size||Z.delete(U),!0):!1}function o(Z){return Zi(Z.declarations,U=>{var re;return(re=Gn(U))==null?void 0:re.resolvedPath})}function s(Z,U){let re=Z.getSymbolAtLocation(U);return re&&o(re)}function l(Z,U,re,le){return Ts(Z.getProjectReferenceRedirect(U)||U,re,le)}function f(Z,U,re){let le;if(U.imports&&U.imports.length>0){let Ve=Z.getTypeChecker();for(let we of U.imports){let ke=s(Ve,we);ke?.forEach(X)}}let _e=ni(U.resolvedPath);if(U.referencedFiles&&U.referencedFiles.length>0)for(let Ve of U.referencedFiles){let we=l(Z,Ve.fileName,_e,re);X(we)}if(U.resolvedTypeReferenceDirectiveNames&&U.resolvedTypeReferenceDirectiveNames.forEach(({resolvedTypeReferenceDirective:Ve})=>{if(!Ve)return;let we=Ve.resolvedFileName,ke=l(Z,we,_e,re);X(ke)}),U.moduleAugmentations.length){let Ve=Z.getTypeChecker();for(let we of U.moduleAugmentations){if(!yo(we))continue;let ke=Ve.getSymbolAtLocation(we);ke&&ge(ke)}}for(let Ve of Z.getTypeChecker().getAmbientModules())Ve.declarations&&Ve.declarations.length>1&&ge(Ve);return le;function ge(Ve){if(Ve.declarations)for(let we of Ve.declarations){let ke=Gn(we);ke&&ke!==U&&X(ke.resolvedPath)}}function X(Ve){(le||(le=new Set)).add(Ve)}}function d(Z,U){return U&&!U.referencedMap==!Z}e.canReuseOldState=d;function g(Z,U,re){var le,_e,ge;let X=new Map,Ve=Z.getCompilerOptions(),we=Ss(Ve),ke=Ve.module!==0&&!we?t():void 0,Pe=ke?t():void 0,Ce=d(ke,U);Z.getTypeChecker();for(let Ie of Z.getSourceFiles()){let Be=L.checkDefined(Ie.version,"Program intended to be used with Builder should have source files with versions set"),Ne=Ce?(le=U.oldSignatures)==null?void 0:le.get(Ie.resolvedPath):void 0,Le=Ne===void 0?Ce?(_e=U.fileInfos.get(Ie.resolvedPath))==null?void 0:_e.signature:void 0:Ne||void 0;if(ke){let Ye=f(Z,Ie,Z.getCanonicalFileName);if(Ye&&ke.set(Ie.resolvedPath,Ye),Ce){let _t=(ge=U.oldExportedModulesMap)==null?void 0:ge.get(Ie.resolvedPath),ct=_t===void 0?U.exportedModulesMap.getValues(Ie.resolvedPath):_t||void 0;ct&&Pe.set(Ie.resolvedPath,ct)}}X.set(Ie.resolvedPath,{version:Be,signature:Le,affectsGlobalScope:we?void 0:R(Ie)||void 0,impliedFormat:Ie.impliedNodeFormat})}return{fileInfos:X,referencedMap:ke,exportedModulesMap:Pe,useFileVersionAsSignature:!re&&!Ce}}e.create=g;function m(Z){Z.allFilesExcludingDefaultLibraryFile=void 0,Z.allFileNames=void 0}e.releaseCache=m;function v(Z,U,re,le,_e){var ge,X;let Ve=S(Z,U,re,le,_e);return(ge=Z.oldSignatures)==null||ge.clear(),(X=Z.oldExportedModulesMap)==null||X.clear(),Ve}e.getFilesAffectedBy=v;function S(Z,U,re,le,_e){let ge=U.getSourceFileByPath(re);return ge?w(Z,U,ge,le,_e)?(Z.referencedMap?fe:$)(Z,U,ge,le,_e):[ge]:Je}e.getFilesAffectedByWithOldState=S;function x(Z,U,re){Z.fileInfos.get(re).signature=U,(Z.hasCalledUpdateShapeSignature||(Z.hasCalledUpdateShapeSignature=new Set)).add(re)}e.updateSignatureOfFile=x;function A(Z,U,re,le,_e){Z.emit(U,(ge,X,Ve,we,ke,Pe)=>{L.assert(Fu(ge),`File extension for signature expected to be dts: Got:: ${ge}`),_e(Tq(Z,U,X,le,Pe),ke)},re,!0,void 0,!0)}e.computeDtsSignature=A;function w(Z,U,re,le,_e,ge=Z.useFileVersionAsSignature){var X;if((X=Z.hasCalledUpdateShapeSignature)!=null&&X.has(re.resolvedPath))return!1;let Ve=Z.fileInfos.get(re.resolvedPath),we=Ve.signature,ke;if(!re.isDeclarationFile&&!ge&&A(U,re,le,_e,(Pe,Ce)=>{ke=Pe,ke!==we&&C(Z,re,Ce[0].exportedModulesFromDeclarationEmit)}),ke===void 0&&(ke=re.version,Z.exportedModulesMap&&ke!==we)){(Z.oldExportedModulesMap||(Z.oldExportedModulesMap=new Map)).set(re.resolvedPath,Z.exportedModulesMap.getValues(re.resolvedPath)||!1);let Pe=Z.referencedMap?Z.referencedMap.getValues(re.resolvedPath):void 0;Pe?Z.exportedModulesMap.set(re.resolvedPath,Pe):Z.exportedModulesMap.deleteKey(re.resolvedPath)}return(Z.oldSignatures||(Z.oldSignatures=new Map)).set(re.resolvedPath,we||!1),(Z.hasCalledUpdateShapeSignature||(Z.hasCalledUpdateShapeSignature=new Set)).add(re.resolvedPath),Ve.signature=ke,ke!==we}e.updateShapeSignature=w;function C(Z,U,re){if(!Z.exportedModulesMap)return;(Z.oldExportedModulesMap||(Z.oldExportedModulesMap=new Map)).set(U.resolvedPath,Z.exportedModulesMap.getValues(U.resolvedPath)||!1);let le=P(re);le?Z.exportedModulesMap.set(U.resolvedPath,le):Z.exportedModulesMap.deleteKey(U.resolvedPath)}e.updateExportedModules=C;function P(Z){let U;return Z?.forEach(re=>o(re).forEach(le=>(U??(U=new Set)).add(le))),U}e.getExportedModules=P;function F(Z,U,re){let le=U.getCompilerOptions();if(Ss(le)||!Z.referencedMap||R(re))return B(Z,U);let _e=new Set,ge=[re.resolvedPath];for(;ge.length;){let X=ge.pop();if(!_e.has(X)){_e.add(X);let Ve=Z.referencedMap.getValues(X);if(Ve)for(let we of Ve.keys())ge.push(we)}}return lo(UD(_e.keys(),X=>{var Ve,we;return(we=(Ve=U.getSourceFileByPath(X))==null?void 0:Ve.fileName)!=null?we:X}))}e.getAllDependencies=F;function B(Z,U){if(!Z.allFileNames){let re=U.getSourceFiles();Z.allFileNames=re===Je?Je:re.map(le=>le.fileName)}return Z.allFileNames}function q(Z,U){let re=Z.referencedMap.getKeys(U);return re?lo(re.keys()):[]}e.getReferencedByPaths=q;function W(Z){for(let U of Z.statements)if(!b6(U))return!1;return!0}function Y(Z){return vt(Z.moduleAugmentations,U=>mp(U.parent))}function R(Z){return Y(Z)||!kd(Z)&&!Mf(Z)&&!W(Z)}function ie(Z,U,re){if(Z.allFilesExcludingDefaultLibraryFile)return Z.allFilesExcludingDefaultLibraryFile;let le;re&&_e(re);for(let ge of U.getSourceFiles())ge!==re&&_e(ge);return Z.allFilesExcludingDefaultLibraryFile=le||Je,Z.allFilesExcludingDefaultLibraryFile;function _e(ge){U.isSourceFileDefaultLibrary(ge)||(le||(le=[])).push(ge)}}e.getAllFilesExcludingDefaultLibraryFile=ie;function $(Z,U,re){let le=U.getCompilerOptions();return le&&Ss(le)?[re]:ie(Z,U,re)}function fe(Z,U,re,le,_e){if(R(re))return ie(Z,U,re);let ge=U.getCompilerOptions();if(ge&&(d_(ge)||Ss(ge)))return[re];let X=new Map;X.set(re.resolvedPath,re);let Ve=q(Z,re.resolvedPath);for(;Ve.length>0;){let we=Ve.pop();if(!X.has(we)){let ke=U.getSourceFileByPath(we);X.set(we,ke),ke&&w(Z,U,ke,le,_e)&&Ve.push(...q(Z,ke.resolvedPath))}}return lo(UD(X.values(),we=>we))}})(pm||(pm={}))}});function cv(e){let t=1;return e.sourceMap&&(t=t|2),e.inlineSourceMap&&(t=t|4),__(e)&&(t=t|8),e.declarationMap&&(t=t|16),e.emitDeclarationOnly&&(t=t&24),t}function G2(e,t){let r=t&&(Cg(t)?t:cv(t)),i=Cg(e)?e:cv(e);if(r===i)return 0;if(!r||!i)return i;let o=r^i,s=0;return o&7&&(s=i&7),o&24&&(s=s|i&24),s}function s8e(e,t){return e===t||e!==void 0&&t!==void 0&&e.size===t.size&&!TI(e,r=>!t.has(r))}function c8e(e,t){var r,i;let o=pm.create(e,t,!1);o.program=e;let s=e.getCompilerOptions();o.compilerOptions=s;let l=Ss(s);l?s.composite&&t?.outSignature&&l===Ss(t?.compilerOptions)&&(o.outSignature=t.outSignature&&Qpe(s,t.compilerOptions,t.outSignature)):o.semanticDiagnosticsPerFile=new Map,o.changedFilesSet=new Set,o.latestChangedDtsFile=s.composite?t?.latestChangedDtsFile:void 0;let f=pm.canReuseOldState(o.referencedMap,t),d=f?t.compilerOptions:void 0,g=f&&t.semanticDiagnosticsPerFile&&!!o.semanticDiagnosticsPerFile&&!xle(s,d),m=s.composite&&t?.emitSignatures&&!l&&!Cle(s,t.compilerOptions);f?((r=t.changedFilesSet)==null||r.forEach(w=>o.changedFilesSet.add(w)),!l&&((i=t.affectedFilesPendingEmit)!=null&&i.size)&&(o.affectedFilesPendingEmit=new Map(t.affectedFilesPendingEmit),o.seenAffectedFiles=new Set),o.programEmitPending=t.programEmitPending):o.buildInfoEmitPending=!0;let v=o.referencedMap,S=f?t.referencedMap:void 0,x=g&&!s.skipLibCheck==!d.skipLibCheck,A=x&&!s.skipDefaultLibCheck==!d.skipDefaultLibCheck;if(o.fileInfos.forEach((w,C)=>{var P;let F,B;if(!f||!(F=t.fileInfos.get(C))||F.version!==w.version||F.impliedFormat!==w.impliedFormat||!s8e(B=v&&v.getValues(C),S&&S.getValues(C))||B&&TI(B,q=>!o.fileInfos.has(q)&&t.fileInfos.has(q)))$pe(o,C);else if(g){let q=e.getSourceFileByPath(C);if(q.isDeclarationFile&&!x||q.hasNoDefaultLib&&!A)return;let W=t.semanticDiagnosticsPerFile.get(C);W&&(o.semanticDiagnosticsPerFile.set(C,t.hasReusableDiagnostic?l8e(W,e):W),o.semanticDiagnosticsFromOldState||(o.semanticDiagnosticsFromOldState=new Set),o.semanticDiagnosticsFromOldState.add(C))}if(m){let q=t.emitSignatures.get(C);q&&((P=o.emitSignatures)!=null?P:o.emitSignatures=new Map).set(C,Qpe(s,t.compilerOptions,q))}}),f&&Ld(t.fileInfos,(w,C)=>o.fileInfos.has(C)?!1:l||w.affectsGlobalScope?!0:(o.buildInfoEmitPending=!0,!1)))pm.getAllFilesExcludingDefaultLibraryFile(o,e,void 0).forEach(w=>$pe(o,w.resolvedPath));else if(d){let w=Ale(s,d)?cv(s):G2(s,d);w!==0&&(l?o.programEmitPending=o.programEmitPending?o.programEmitPending|w:w:(e.getSourceFiles().forEach(C=>{o.changedFilesSet.has(C.resolvedPath)||xq(o,C.resolvedPath,w)}),L.assert(!o.seenAffectedFiles||!o.seenAffectedFiles.size),o.seenAffectedFiles=o.seenAffectedFiles||new Set,o.buildInfoEmitPending=!0))}return l&&!o.changedFilesSet.size&&(f&&(o.bundle=t.bundle),vt(e.getProjectReferences(),w=>!!w.prepend)&&(o.programEmitPending=cv(s))),o}function $pe(e,t){e.changedFilesSet.add(t),e.buildInfoEmitPending=!0,e.programEmitPending=void 0}function Qpe(e,t,r){return!!e.declarationMap==!!t.declarationMap?r:Ta(r)?[r]:r[0]}function l8e(e,t){if(!e.length)return Je;let r;return e.map(o=>{let s=Zpe(o,t,i);s.reportsUnnecessary=o.reportsUnnecessary,s.reportsDeprecated=o.reportDeprecated,s.source=o.source,s.skippedOn=o.skippedOn;let{relatedInformation:l}=o;return s.relatedInformation=l?l.length?l.map(f=>Zpe(f,t,i)):[]:void 0,s});function i(o){return r??(r=ni(_a(Jg(t.getCompilerOptions()),t.getCurrentDirectory()))),Ts(o,r,t.getCanonicalFileName)}}function Zpe(e,t,r){let{file:i}=e;return{...e,file:i?t.getSourceFileByPath(r(i)):void 0}}function u8e(e){pm.releaseCache(e),e.program=void 0}function d8e(e){let t=Ss(e.compilerOptions);return L.assert(!e.changedFilesSet.size||t),{affectedFilesPendingEmit:e.affectedFilesPendingEmit&&new Map(e.affectedFilesPendingEmit),seenEmittedFiles:e.seenEmittedFiles&&new Map(e.seenEmittedFiles),programEmitPending:e.programEmitPending,emitSignatures:e.emitSignatures&&new Map(e.emitSignatures),outSignature:e.outSignature,latestChangedDtsFile:e.latestChangedDtsFile,hasChangedEmitSignature:e.hasChangedEmitSignature,changedFilesSet:t?new Set(e.changedFilesSet):void 0}}function f8e(e,t){e.affectedFilesPendingEmit=t.affectedFilesPendingEmit,e.seenEmittedFiles=t.seenEmittedFiles,e.programEmitPending=t.programEmitPending,e.emitSignatures=t.emitSignatures,e.outSignature=t.outSignature,e.latestChangedDtsFile=t.latestChangedDtsFile,e.hasChangedEmitSignature=t.hasChangedEmitSignature,t.changedFilesSet&&(e.changedFilesSet=t.changedFilesSet)}function eme(e,t){L.assert(!t||!e.affectedFiles||e.affectedFiles[e.affectedFilesIndex-1]!==t||!e.semanticDiagnosticsPerFile.has(t.resolvedPath))}function tme(e,t,r){for(var i,o;;){let{affectedFiles:s}=e;if(s){let g=e.seenAffectedFiles,m=e.affectedFilesIndex;for(;m<s.length;){let v=s[m];if(!g.has(v.resolvedPath))return e.affectedFilesIndex=m,xq(e,v.resolvedPath,cv(e.compilerOptions)),m8e(e,v,t,r),v;m++}e.changedFilesSet.delete(e.currentChangedFilePath),e.currentChangedFilePath=void 0,(i=e.oldSignatures)==null||i.clear(),(o=e.oldExportedModulesMap)==null||o.clear(),e.affectedFiles=void 0}let l=e.changedFilesSet.keys().next();if(l.done)return;let f=L.checkDefined(e.program),d=f.getCompilerOptions();if(Ss(d))return L.assert(!e.semanticDiagnosticsPerFile),f;e.affectedFiles=pm.getFilesAffectedByWithOldState(e,f,l.value,t,r),e.currentChangedFilePath=l.value,e.affectedFilesIndex=0,e.seenAffectedFiles||(e.seenAffectedFiles=new Set)}}function _8e(e,t){var r;if((r=e.affectedFilesPendingEmit)!=null&&r.size){if(!t)return e.affectedFilesPendingEmit=void 0;e.affectedFilesPendingEmit.forEach((i,o)=>{let s=i&7;s?e.affectedFilesPendingEmit.set(o,s):e.affectedFilesPendingEmit.delete(o)})}}function p8e(e,t){var r;if((r=e.affectedFilesPendingEmit)!=null&&r.size)return Ld(e.affectedFilesPendingEmit,(i,o)=>{var s;let l=e.program.getSourceFileByPath(o);if(!l||!pS(l,e.program)){e.affectedFilesPendingEmit.delete(o);return}let f=(s=e.seenEmittedFiles)==null?void 0:s.get(l.resolvedPath),d=G2(i,f);if(t&&(d=d&24),d)return{affectedFile:l,emitKind:d}})}function nme(e){if(!e.cleanedDiagnosticsOfLibFiles){e.cleanedDiagnosticsOfLibFiles=!0;let t=L.checkDefined(e.program),r=t.getCompilerOptions();mn(t.getSourceFiles(),i=>t.isSourceFileDefaultLibrary(i)&&!rL(i,r,t)&&vq(e,i.resolvedPath))}}function m8e(e,t,r,i){if(vq(e,t.resolvedPath),e.allFilesExcludingDefaultLibraryFile===e.affectedFiles){nme(e),pm.updateShapeSignature(e,L.checkDefined(e.program),t,r,i);return}e.compilerOptions.assumeChangesOnlyAffectDirectDependencies||h8e(e,t,r,i)}function WF(e,t,r,i){if(vq(e,t),!e.changedFilesSet.has(t)){let o=L.checkDefined(e.program),s=o.getSourceFileByPath(t);s&&(pm.updateShapeSignature(e,o,s,r,i,!0),__(e.compilerOptions)&&xq(e,t,e.compilerOptions.declarationMap?24:8))}}function vq(e,t){return e.semanticDiagnosticsFromOldState?(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size):!0}function rme(e,t){let r=L.checkDefined(e.oldSignatures).get(t)||void 0;return L.checkDefined(e.fileInfos.get(t)).signature!==r}function bq(e,t,r,i){var o;return(o=e.fileInfos.get(t))!=null&&o.affectsGlobalScope?(pm.getAllFilesExcludingDefaultLibraryFile(e,e.program,void 0).forEach(s=>WF(e,s.resolvedPath,r,i)),nme(e),!0):!1}function h8e(e,t,r,i){var o;if(!e.exportedModulesMap||!e.changedFilesSet.has(t.resolvedPath)||!rme(e,t.resolvedPath))return;if(d_(e.compilerOptions)){let l=new Map;l.set(t.resolvedPath,!0);let f=pm.getReferencedByPaths(e,t.resolvedPath);for(;f.length>0;){let d=f.pop();if(!l.has(d)){if(l.set(d,!0),bq(e,d,r,i))return;if(WF(e,d,r,i),rme(e,d)){let g=L.checkDefined(e.program).getSourceFileByPath(d);f.push(...pm.getReferencedByPaths(e,g.resolvedPath))}}}}let s=new Set;(o=e.exportedModulesMap.getKeys(t.resolvedPath))==null||o.forEach(l=>{if(bq(e,l,r,i))return!0;let f=e.referencedMap.getKeys(l);return f&&TI(f,d=>ime(e,d,s,r,i))})}function ime(e,t,r,i,o){var s,l;if(_0(r,t)){if(bq(e,t,i,o))return!0;WF(e,t,i,o),(s=e.exportedModulesMap.getKeys(t))==null||s.forEach(f=>ime(e,f,r,i,o)),(l=e.referencedMap.getKeys(t))==null||l.forEach(f=>!r.has(f)&&WF(e,f,i,o))}}function Eq(e,t,r){return Qi(g8e(e,t,r),L.checkDefined(e.program).getProgramDiagnostics(t))}function g8e(e,t,r){let i=t.resolvedPath;if(e.semanticDiagnosticsPerFile){let s=e.semanticDiagnosticsPerFile.get(i);if(s)return MF(s,e.compilerOptions)}let o=L.checkDefined(e.program).getBindAndCheckDiagnostics(t,r);return e.semanticDiagnosticsPerFile&&e.semanticDiagnosticsPerFile.set(i,o),MF(o,e.compilerOptions)}function ame(e){return!!Ss(e.options||{})}function y8e(e,t){var r,i,o;let s=L.checkDefined(e.program).getCurrentDirectory(),l=ni(_a(Jg(e.compilerOptions),s)),f=e.latestChangedDtsFile?W(e.latestChangedDtsFile):void 0,d=[],g=new Map,m=[];if(Ss(e.compilerOptions)){let Z=lo(e.fileInfos.entries(),([X,Ve])=>{let we=R(X);return $(X,we),Ve.impliedFormat?{version:Ve.version,impliedFormat:Ve.impliedFormat,signature:void 0,affectsGlobalScope:void 0}:Ve.version}),U={fileNames:d,fileInfos:Z,root:m,options:fe(e.compilerOptions),outSignature:e.outSignature,latestChangedDtsFile:f,pendingEmit:e.programEmitPending?e.programEmitPending===cv(e.compilerOptions)?!1:e.programEmitPending:void 0},{js:re,dts:le,commonSourceDirectory:_e,sourceFiles:ge}=t;return e.bundle=t={commonSourceDirectory:_e,sourceFiles:ge,js:re||(e.compilerOptions.emitDeclarationOnly||(r=e.bundle)==null?void 0:r.js),dts:le||(__(e.compilerOptions)?(i=e.bundle)==null?void 0:i.dts:void 0)},dN(U,t)}let v,S,x,A=lo(e.fileInfos.entries(),([Z,U])=>{var re,le;let _e=R(Z);$(Z,_e),L.assert(d[_e-1]===Y(Z));let ge=(re=e.oldSignatures)==null?void 0:re.get(Z),X=ge!==void 0?ge||void 0:U.signature;if(e.compilerOptions.composite){let Ve=e.program.getSourceFileByPath(Z);if(!Mf(Ve)&&pS(Ve,e.program)){let we=(le=e.emitSignatures)==null?void 0:le.get(Z);we!==X&&(x||(x=[])).push(we===void 0?_e:[_e,!Ta(we)&&we[0]===X?Je:we])}}return U.version===X?U.affectsGlobalScope||U.impliedFormat?{version:U.version,signature:void 0,affectsGlobalScope:U.affectsGlobalScope,impliedFormat:U.impliedFormat}:U.version:X!==void 0?ge===void 0?U:{version:U.version,signature:X,affectsGlobalScope:U.affectsGlobalScope,impliedFormat:U.impliedFormat}:{version:U.version,signature:!1,affectsGlobalScope:U.affectsGlobalScope,impliedFormat:U.impliedFormat}}),w;e.referencedMap&&(w=lo(e.referencedMap.keys()).sort(su).map(Z=>[R(Z),ie(e.referencedMap.getValues(Z))]));let C;e.exportedModulesMap&&(C=Zi(lo(e.exportedModulesMap.keys()).sort(su),Z=>{var U;let re=(U=e.oldExportedModulesMap)==null?void 0:U.get(Z);if(re===void 0)return[R(Z),ie(e.exportedModulesMap.getValues(Z))];if(re)return[R(Z),ie(re)]}));let P;if(e.semanticDiagnosticsPerFile)for(let Z of lo(e.semanticDiagnosticsPerFile.keys()).sort(su)){let U=e.semanticDiagnosticsPerFile.get(Z);(P||(P=[])).push(U.length?[R(Z),b8e(U,Y)]:R(Z))}let F;if((o=e.affectedFilesPendingEmit)!=null&&o.size){let Z=cv(e.compilerOptions),U=new Set;for(let re of lo(e.affectedFilesPendingEmit.keys()).sort(su))if(_0(U,re)){let le=e.program.getSourceFileByPath(re);if(!le||!pS(le,e.program))continue;let _e=R(re),ge=e.affectedFilesPendingEmit.get(re);(F||(F=[])).push(ge===Z?_e:ge===8?[_e]:[_e,ge])}}let B;if(e.changedFilesSet.size)for(let Z of lo(e.changedFilesSet.keys()).sort(su))(B||(B=[])).push(R(Z));let q={fileNames:d,fileInfos:A,root:m,options:fe(e.compilerOptions),fileIdsList:v,referencedMap:w,exportedModulesMap:C,semanticDiagnosticsPerFile:P,affectedFilesPendingEmit:F,changeFileSet:B,emitSignatures:x,latestChangedDtsFile:f};return dN(q,t);function W(Z){return Y(_a(Z,s))}function Y(Z){return S0(Xp(l,Z,e.program.getCanonicalFileName))}function R(Z){let U=g.get(Z);return U===void 0&&(d.push(Y(Z)),g.set(Z,U=d.length)),U}function ie(Z){let U=lo(Z.keys(),R).sort(Es),re=U.join(),le=S?.get(re);return le===void 0&&((v||(v=[])).push(U),(S||(S=new Map)).set(re,le=v.length)),le}function $(Z,U){let re=e.program.getSourceFile(Z);if(!e.program.getFileIncludeReasons().get(re.path).some(X=>X.kind===0))return;if(!m.length)return m.push(U);let le=m[m.length-1],_e=ba(le);if(_e&&le[1]===U-1)return le[1]=U;if(_e||m.length===1||le!==U-1)return m.push(U);let ge=m[m.length-2];return!Cg(ge)||ge!==le-1?m.push(U):(m[m.length-2]=[ge,U],m.length=m.length-1)}function fe(Z){let U,{optionsNameMap:re}=w2();for(let le of bh(Z).sort(su)){let _e=re.get(le.toLowerCase());_e?.affectsBuildInfo&&((U||(U={}))[le]=v8e(_e,Z[le],W))}return U}}function v8e(e,t,r){if(e){if(L.assert(e.type!=="listOrElement"),e.type==="list"){let i=t;if(e.element.isFilePath&&i.length)return i.map(r)}else if(e.isFilePath)return r(t)}return t}function b8e(e,t){return L.assert(!!e.length),e.map(r=>{let i=ome(r,t);i.reportsUnnecessary=r.reportsUnnecessary,i.reportDeprecated=r.reportsDeprecated,i.source=r.source,i.skippedOn=r.skippedOn;let{relatedInformation:o}=r;return i.relatedInformation=o?o.length?o.map(s=>ome(s,t)):[]:void 0,i})}function ome(e,t){let{file:r}=e;return{...e,file:r?t(r.resolvedPath):void 0}}function zF(e,t,r,i,o,s){let l,f,d;return e===void 0?(L.assert(t===void 0),l=r,d=i,L.assert(!!d),f=d.getProgram()):ba(e)?(d=i,f=PF({rootNames:e,options:t,host:r,oldProgram:d&&d.getProgramOrUndefined(),configFileParsingDiagnostics:o,projectReferences:s}),l=r):(f=e,l=t,d=r,o=i),{host:l,newProgram:f,oldProgram:d,configFileParsingDiagnostics:o||Je}}function sme(e,t){return t?.sourceMapUrlPos!==void 0?e.substring(0,t.sourceMapUrlPos):e}function Tq(e,t,r,i,o){var s,l;r=sme(r,o);let f;return(s=o?.diagnostics)!=null&&s.length&&(r+=o.diagnostics.map(m=>`${g(m)}${nw[m.category]}${m.code}: ${d(m.messageText)}`).join(`
+`)),((l=i.createHash)!=null?l:aw)(r);function d(m){return Ta(m)?m:m===void 0?"":m.next?m.messageText+m.next.map(d).join(`
+`):m.messageText}function g(m){return m.file.resolvedPath===t.resolvedPath?`(${m.start},${m.length})`:(f===void 0&&(f=ni(t.resolvedPath)),`${S0(Xp(f,m.file.resolvedPath,e.getCanonicalFileName))}(${m.start},${m.length})`)}}function YT(e,t,r){var i;return((i=t.createHash)!=null?i:aw)(sme(e,r))}function Sq(e,{newProgram:t,host:r,oldProgram:i,configFileParsingDiagnostics:o}){let s=i&&i.getState();if(s&&t===s.program&&o===t.getConfigFileParsingDiagnostics())return t=void 0,s=void 0,i;let l=c8e(t,s);t.getBuildInfo=w=>y8e(l,w),t=void 0,i=void 0,s=void 0;let f=()=>l,d=Cq(f,o);return d.getState=f,d.saveEmitState=()=>d8e(l),d.restoreEmitState=w=>f8e(l,w),d.hasChangedEmitSignature=()=>!!l.hasChangedEmitSignature,d.getAllDependencies=w=>pm.getAllDependencies(l,L.checkDefined(l.program),w),d.getSemanticDiagnostics=A,d.emit=S,d.releaseProgram=()=>u8e(l),e===0?d.getSemanticDiagnosticsOfNextAffectedFile=x:e===1?(d.getSemanticDiagnosticsOfNextAffectedFile=x,d.emitNextAffectedFile=m,d.emitBuildInfo=g):Sa(),d;function g(w,C){if(l.buildInfoEmitPending){let P=L.checkDefined(l.program).emitBuildInfo(w||ho(r,r.writeFile),C);return l.buildInfoEmitPending=!1,P}return HF}function m(w,C,P,F){var B,q,W,Y,R;let ie=tme(l,C,r),$=cv(l.compilerOptions),fe=P?$&24:$;if(!ie)if(Ss(l.compilerOptions)){if(!l.programEmitPending||(fe=l.programEmitPending,P&&(fe=fe&24),!fe))return;ie=l.program}else{let re=p8e(l,P);if(!re){if(!l.buildInfoEmitPending)return;let le=l.program,_e=le.emitBuildInfo(w||ho(r,r.writeFile),C);return l.buildInfoEmitPending=!1,{result:_e,affected:le}}({affectedFile:ie,emitKind:fe}=re)}let Z;fe&7&&(Z=0),fe&24&&(Z=Z===void 0?1:void 0),ie===l.program&&(l.programEmitPending=l.changedFilesSet.size?G2($,fe):l.programEmitPending?G2(l.programEmitPending,fe):void 0);let U=l.program.emit(ie===l.program?void 0:ie,v(w,F),C,Z,F);if(ie!==l.program){let re=ie;l.seenAffectedFiles.add(re.resolvedPath),l.affectedFilesIndex!==void 0&&l.affectedFilesIndex++,l.buildInfoEmitPending=!0;let le=((B=l.seenEmittedFiles)==null?void 0:B.get(re.resolvedPath))||0;((q=l.seenEmittedFiles)!=null?q:l.seenEmittedFiles=new Map).set(re.resolvedPath,fe|le);let _e=((W=l.affectedFilesPendingEmit)==null?void 0:W.get(re.resolvedPath))||$,ge=G2(_e,fe|le);ge?((Y=l.affectedFilesPendingEmit)!=null?Y:l.affectedFilesPendingEmit=new Map).set(re.resolvedPath,ge):(R=l.affectedFilesPendingEmit)==null||R.delete(re.resolvedPath)}else l.changedFilesSet.clear();return{result:U,affected:ie}}function v(w,C){return __(l.compilerOptions)?(P,F,B,q,W,Y)=>{var R,ie,$,fe,Z,U,re;if(Fu(P))if(Ss(l.compilerOptions)){if(l.compilerOptions.composite){let _e=le(l.outSignature,void 0);if(!_e)return;l.outSignature=_e}}else{L.assert(W?.length===1);let _e;if(!C){let ge=W[0],X=l.fileInfos.get(ge.resolvedPath);if(X.signature===ge.version){let Ve=Tq(l.program,ge,F,r,Y);(R=Y?.diagnostics)!=null&&R.length||(_e=Ve),Ve!==ge.version&&(r.storeFilesChangingSignatureDuringEmit&&((ie=l.filesChangingSignature)!=null?ie:l.filesChangingSignature=new Set).add(ge.resolvedPath),l.exportedModulesMap&&pm.updateExportedModules(l,ge,ge.exportedModulesFromDeclarationEmit),l.affectedFiles?((($=l.oldSignatures)==null?void 0:$.get(ge.resolvedPath))===void 0&&((fe=l.oldSignatures)!=null?fe:l.oldSignatures=new Map).set(ge.resolvedPath,X.signature||!1),X.signature=Ve):(X.signature=Ve,(Z=l.oldExportedModulesMap)==null||Z.clear()))}}if(l.compilerOptions.composite){let ge=W[0].resolvedPath;if(_e=le((U=l.emitSignatures)==null?void 0:U.get(ge),_e),!_e)return;((re=l.emitSignatures)!=null?re:l.emitSignatures=new Map).set(ge,_e)}}w?w(P,F,B,q,W,Y):r.writeFile?r.writeFile(P,F,B,q,W,Y):l.program.writeFile(P,F,B,q,W,Y);function le(_e,ge){let X=!_e||Ta(_e)?_e:_e[0];if(ge??(ge=YT(F,r,Y)),ge===X){if(_e===X)return;Y?Y.differsOnlyInMap=!0:Y={differsOnlyInMap:!0}}else l.hasChangedEmitSignature=!0,l.latestChangedDtsFile=P;return ge}}:w||ho(r,r.writeFile)}function S(w,C,P,F,B){e===1&&eme(l,w);let q=dq(d,w,C,P);if(q)return q;if(!w)if(e===1){let W=[],Y=!1,R,ie=[],$;for(;$=m(C,P,F,B);)Y=Y||$.result.emitSkipped,R=si(R,$.result.diagnostics),ie=si(ie,$.result.emittedFiles),W=si(W,$.result.sourceMaps);return{emitSkipped:Y,diagnostics:R||Je,emittedFiles:ie,sourceMaps:W}}else _8e(l,F);return L.checkDefined(l.program).emit(w,v(C,B),P,F,B)}function x(w,C){for(;;){let P=tme(l,w,r),F;if(P)if(P!==l.program){let B=P;if((!C||!C(B))&&(F=Eq(l,B,w)),l.seenAffectedFiles.add(B.resolvedPath),l.affectedFilesIndex++,l.buildInfoEmitPending=!0,!F)continue}else F=l.program.getSemanticDiagnostics(void 0,w),l.changedFilesSet.clear(),l.programEmitPending=cv(l.compilerOptions);else return;return{result:F,affected:P}}}function A(w,C){eme(l,w);let P=L.checkDefined(l.program).getCompilerOptions();if(Ss(P))return L.assert(!l.semanticDiagnosticsPerFile),L.checkDefined(l.program).getSemanticDiagnostics(w,C);if(w)return Eq(l,w,C);for(;x(C););let F;for(let B of L.checkDefined(l.program).getSourceFiles())F=si(F,Eq(l,B,C));return F||Je}}function xq(e,t,r){var i,o;let s=((i=e.affectedFilesPendingEmit)==null?void 0:i.get(t))||0;((o=e.affectedFilesPendingEmit)!=null?o:e.affectedFilesPendingEmit=new Map).set(t,s|r)}function cme(e){return Ta(e)?{version:e,signature:e,affectsGlobalScope:void 0,impliedFormat:void 0}:Ta(e.signature)?e:{version:e.version,signature:e.signature===!1?void 0:e.version,affectsGlobalScope:e.affectsGlobalScope,impliedFormat:e.impliedFormat}}function lme(e,t){return Cg(e)?t:e[1]||8}function ume(e,t){return e||cv(t||{})}function dme(e,t,r){var i,o,s,l;let f=e.program,d=ni(_a(t,r.getCurrentDirectory())),g=Dl(r.useCaseSensitiveFileNames()),m,v=(i=f.fileNames)==null?void 0:i.map(A),S,x=f.latestChangedDtsFile?w(f.latestChangedDtsFile):void 0;if(ame(f)){let B=new Map;f.fileInfos.forEach((q,W)=>{let Y=C(W+1);B.set(Y,Ta(q)?{version:q,signature:void 0,affectsGlobalScope:void 0,impliedFormat:void 0}:q)}),m={fileInfos:B,compilerOptions:f.options?SJ(f.options,w):{},latestChangedDtsFile:x,outSignature:f.outSignature,programEmitPending:f.pendingEmit===void 0?void 0:ume(f.pendingEmit,f.options),bundle:e.bundle}}else{S=(o=f.fileIdsList)==null?void 0:o.map(Y=>new Set(Y.map(C)));let B=new Map,q=(s=f.options)!=null&&s.composite&&!Ss(f.options)?new Map:void 0;f.fileInfos.forEach((Y,R)=>{let ie=C(R+1),$=cme(Y);B.set(ie,$),q&&$.signature&&q.set(ie,$.signature)}),(l=f.emitSignatures)==null||l.forEach(Y=>{if(Cg(Y))q.delete(C(Y));else{let R=C(Y[0]);q.set(R,!Ta(Y[1])&&!Y[1].length?[q.get(R)]:Y[1])}});let W=f.affectedFilesPendingEmit?cv(f.options||{}):void 0;m={fileInfos:B,compilerOptions:f.options?SJ(f.options,w):{},referencedMap:F(f.referencedMap),exportedModulesMap:F(f.exportedModulesMap),semanticDiagnosticsPerFile:f.semanticDiagnosticsPerFile&&p0(f.semanticDiagnosticsPerFile,Y=>C(Cg(Y)?Y:Y[0]),Y=>Cg(Y)?Je:Y[1]),hasReusableDiagnostic:!0,affectedFilesPendingEmit:f.affectedFilesPendingEmit&&p0(f.affectedFilesPendingEmit,Y=>C(Cg(Y)?Y:Y[0]),Y=>lme(Y,W)),changedFilesSet:new Set(on(f.changeFileSet,C)),latestChangedDtsFile:x,emitSignatures:q?.size?q:void 0}}return{getState:()=>m,saveEmitState:Ba,restoreEmitState:Ba,getProgram:Sa,getProgramOrUndefined:Qv,releaseProgram:Ba,getCompilerOptions:()=>m.compilerOptions,getSourceFile:Sa,getSourceFiles:Sa,getOptionsDiagnostics:Sa,getGlobalDiagnostics:Sa,getConfigFileParsingDiagnostics:Sa,getSyntacticDiagnostics:Sa,getDeclarationDiagnostics:Sa,getSemanticDiagnostics:Sa,emit:Sa,getAllDependencies:Sa,getCurrentDirectory:Sa,emitNextAffectedFile:Sa,getSemanticDiagnosticsOfNextAffectedFile:Sa,emitBuildInfo:Sa,close:Ba,hasChangedEmitSignature:m0};function A(B){return Ts(B,d,g)}function w(B){return _a(B,d)}function C(B){return v[B-1]}function P(B){return S[B-1]}function F(B){if(!B)return;let q=pm.createManyToManyPathMap();return B.forEach(([W,Y])=>q.set(C(W),P(Y))),q}}function Aq(e,t,r){let i=ni(_a(t,r.getCurrentDirectory())),o=Dl(r.useCaseSensitiveFileNames()),s=new Map,l=0,f=[];return e.fileInfos.forEach((d,g)=>{let m=Ts(e.fileNames[g],i,o),v=Ta(d)?d:d.version;if(s.set(m,v),l<e.root.length){let S=e.root[l],x=g+1;ba(S)?S[0]<=x&&x<=S[1]&&(f.push(m),S[1]===x&&l++):S===x&&(f.push(m),l++)}}),{fileInfos:s,roots:f}}function Cq(e,t){return{getState:Sa,saveEmitState:Ba,restoreEmitState:Ba,getProgram:r,getProgramOrUndefined:()=>e().program,releaseProgram:()=>e().program=void 0,getCompilerOptions:()=>e().compilerOptions,getSourceFile:i=>r().getSourceFile(i),getSourceFiles:()=>r().getSourceFiles(),getOptionsDiagnostics:i=>r().getOptionsDiagnostics(i),getGlobalDiagnostics:i=>r().getGlobalDiagnostics(i),getConfigFileParsingDiagnostics:()=>t,getSyntacticDiagnostics:(i,o)=>r().getSyntacticDiagnostics(i,o),getDeclarationDiagnostics:(i,o)=>r().getDeclarationDiagnostics(i,o),getSemanticDiagnostics:(i,o)=>r().getSemanticDiagnostics(i,o),emit:(i,o,s,l,f)=>r().emit(i,o,s,l,f),emitBuildInfo:(i,o)=>r().emitBuildInfo(i,o),getAllDependencies:Sa,getCurrentDirectory:()=>r().getCurrentDirectory(),close:Ba};function r(){return L.checkDefined(e().program)}}var Iq,Lq,E8e=gt({"src/compiler/builder.ts"(){"use strict";fa(),fa(),Iq=(e=>(e[e.None=0]="None",e[e.Js=1]="Js",e[e.JsMap=2]="JsMap",e[e.JsInlineMap=4]="JsInlineMap",e[e.Dts=8]="Dts",e[e.DtsMap=16]="DtsMap",e[e.AllJs=7]="AllJs",e[e.AllDts=24]="AllDts",e[e.All=31]="All",e))(Iq||{}),Lq=(e=>(e[e.SemanticDiagnosticsBuilderProgram=0]="SemanticDiagnosticsBuilderProgram",e[e.EmitAndSemanticDiagnosticsBuilderProgram=1]="EmitAndSemanticDiagnosticsBuilderProgram",e))(Lq||{})}});function T8e(e,t,r,i,o,s){return Sq(0,zF(e,t,r,i,o,s))}function kq(e,t,r,i,o,s){return Sq(1,zF(e,t,r,i,o,s))}function S8e(e,t,r,i,o,s){let{newProgram:l,configFileParsingDiagnostics:f}=zF(e,t,r,i,o,s);return Cq(()=>({program:l,compilerOptions:l.getCompilerOptions()}),f)}var x8e=gt({"src/compiler/builderPublic.ts"(){"use strict";fa()}});function Dq(e){return Oc(e,"/node_modules/.staging")?pA(e,"/.staging"):vt(uw,t=>jl(e,t))?void 0:e}function vN(e){let t=_p(e);if(e.length===t)return!1;let r=e.indexOf(_s,t);if(r===-1)return!1;let i=e.substring(t,r+1),o=t>1||e.charCodeAt(0)!==47;if(o&&e.search(/[a-zA-Z]:/)!==0&&i.search(/[a-zA-Z]\$\//)===0){if(r=e.indexOf(_s,r+1),r===-1)return!1;i=e.substring(t+i.length,r+1)}if(o&&i.search(/users\//i)!==0)return!0;for(let s=r+1,l=2;l>0;l--)if(s=e.indexOf(_s,s)+1,s===0)return!1;return!0}function fme(e,t,r){let i,o,s,l=Nf(),f=new Set,d=new Set,g=new Map,m=new Map,v=!1,S,x,A,w,C,P=zu(()=>e.getCurrentDirectory()),F=e.getCachedDirectoryStructureHost(),B=new Map,q=Y3(P(),e.getCanonicalFileName,e.getCompilationSettings()),W=new Map,Y=$3(P(),e.getCanonicalFileName,e.getCompilationSettings(),q.getPackageJsonInfoCache()),R=[".ts",".tsx",".js",".jsx",".json"],ie=new Map,$=new Map,fe=new Map,Z=t&&sT(_a(t,P())),U=Z&&e.toPath(Z),re=U!==void 0?U.split(_s).length:0,le=new Map;return{getModuleResolutionCache:()=>q,startRecordingFilesWithChangedResolutions:we,finishRecordingFilesWithChangedResolutions:ke,startCachingPerDirectoryResolution:Ie,finishCachingPerDirectoryResolution:Be,resolveModuleNameLiterals:ct,resolveTypeReferenceDirectiveReferences:_t,resolveSingleModuleNameWithoutWatching:Rt,removeResolutionsFromProjectReferenceRedirects:nn,removeResolutionsOfFile:Dt,hasChangedAutomaticTypeDirectiveNames:()=>v,invalidateResolutionOfFile:An,invalidateResolutionsOfFailedLookupLocations:ri,setFilesWithInvalidatedNonRelativeUnresolvedImports:Kn,createHasInvalidatedResolutions:Ce,isFileWithInvalidatedNonRelativeUnresolvedImports:Pe,updateTypeRootsWatch:at,closeTypeRootsWatch:dr,clear:Ve};function _e(ve){return ve.resolvedModule}function ge(ve){return ve.resolvedTypeReferenceDirective}function X(ve,nt){return ve===void 0||nt.length<=ve.length?!1:na(nt,ve)&&nt[ve.length]===_s}function Ve(){Tf($,_m),Tf(fe,_m),ie.clear(),l.clear(),dr(),B.clear(),W.clear(),g.clear(),f.clear(),d.clear(),A=void 0,w=void 0,C=void 0,x=void 0,S=void 0,q.clear(),Y.clear(),q.update(e.getCompilationSettings()),Y.update(e.getCompilationSettings()),m.clear(),v=!1}function we(){i=[]}function ke(){let ve=i;return i=void 0,ve}function Pe(ve){if(!s)return!1;let nt=s.get(ve);return!!nt&&!!nt.length}function Ce(ve){ri();let nt=o;return o=void 0,ce=>ve(ce)||!!nt?.has(ce)||Pe(ce)}function Ie(){q.clearAllExceptPackageJsonInfoCache(),Y.clearAllExceptPackageJsonInfoCache(),l.forEach($n),l.clear()}function Be(ve,nt){s=void 0,l.forEach($n),l.clear(),ve!==nt&&(ve?.getSourceFiles().forEach(ce=>{var Q,ue,G;let Oe=kd(ce)&&(ue=(Q=ce.packageJsonLocations)==null?void 0:Q.length)!=null?ue:0,je=(G=m.get(ce.path))!=null?G:Je;for(let Ge=je.length;Ge<Oe;Ge++)Gt(ce.packageJsonLocations[Ge],!1);if(je.length>Oe)for(let Ge=Oe;Ge<je.length;Ge++)fe.get(je[Ge]).files--;Oe?m.set(ce.path,ce.packageJsonLocations):m.delete(ce.path)}),m.forEach((ce,Q)=>{ve?.getSourceFileByPath(Q)||(ce.forEach(ue=>fe.get(ue).files--),m.delete(Q))})),$.forEach((ce,Q)=>{ce.refCount===0&&($.delete(Q),ce.watcher.close())}),fe.forEach((ce,Q)=>{ce.files===0&&ce.resolutions===0&&(fe.delete(Q),ce.watcher.close())}),v=!1}function Ne(ve,nt,ce,Q,ue){var G;let Oe=((G=e.getCompilerHost)==null?void 0:G.call(e))||e,je=FL(ve,nt,ce,Oe,q,Q,ue);if(!e.getGlobalCache)return je;let Ge=e.getGlobalCache();if(Ge!==void 0&&!fl(ve)&&!(je.resolvedModule&&y4(je.resolvedModule.extension))){let{resolvedModule:kt,failedLookupLocations:Kt,affectingLocations:ln,resolutionDiagnostics:ir}=s_e(L.checkDefined(e.globalCacheResolutionModuleName)(ve),e.projectName,ce,Oe,Ge,q);if(kt)return je.resolvedModule=kt,je.failedLookupLocations=N2(je.failedLookupLocations,Kt),je.affectingLocations=N2(je.affectingLocations,ln),je.resolutionDiagnostics=N2(je.resolutionDiagnostics,ir),je}return je}function Le(ve,nt,ce){return{nameAndMode:QL,resolve:(Q,ue)=>Ne(Q,ve,ce,nt,ue)}}function Ye({entries:ve,containingFile:nt,containingSourceFile:ce,redirectedReference:Q,options:ue,perFileCache:G,reusedNames:Oe,loader:je,getResolutionWithResolvedFileName:Ge,shouldRetryResolution:kt,logChanges:Kt}){var ln;let ir=e.toPath(nt),ae=G.get(ir)||G.set(ir,WT()).get(ir),rt=[],Ot=Kt&&Pe(ir),Ke=e.getCurrentProgram(),oe=Ke&&Ke.getResolvedProjectReferenceToRedirect(nt),pe=oe?!Q||Q.sourceFile.path!==oe.sourceFile.path:!!Q,z=WT();for(let j of ve){let yt=je.nameAndMode.getName(j),lt=je.nameAndMode.getMode(j,ce),Qe=ae.get(yt,lt);if(!z.has(yt,lt)&&pe||!Qe||Qe.isInvalidated||Ot&&!fl(yt)&&kt(Qe)){let Vt=Qe;Qe=je.resolve(yt,lt),e.onDiscoveredSymlink&&A8e(Qe)&&e.onDiscoveredSymlink(),ae.set(yt,lt,Qe),tn(yt,Qe,ir,Ge),Vt&&Ni(Vt,ir,Ge),Kt&&i&&!Te(Vt,Qe)&&(i.push(ir),Kt=!1)}else{let Vt=((ln=e.getCompilerHost)==null?void 0:ln.call(e))||e;if(ov(ue,Vt)&&!z.has(yt,lt)){let Hn=Ge(Qe);Xi(Vt,G===B?Hn?.resolvedFileName?Hn.packageId?_.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:_.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:_.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:Hn?.resolvedFileName?Hn.packageId?_.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:_.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:_.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved,yt,nt,Hn?.resolvedFileName,Hn?.packageId&&hT(Hn.packageId))}}L.assert(Qe!==void 0&&!Qe.isInvalidated),z.set(yt,lt,!0),rt.push(Qe)}return Oe?.forEach(j=>z.set(je.nameAndMode.getName(j),je.nameAndMode.getMode(j,ce),!0)),ae.size()!==z.size()&&ae.forEach((j,yt,lt)=>{z.has(yt,lt)||(Ni(j,ir,Ge),ae.delete(yt,lt))}),rt;function Te(j,yt){if(j===yt)return!0;if(!j||!yt)return!1;let lt=Ge(j),Qe=Ge(yt);return lt===Qe?!0:!lt||!Qe?!1:lt.resolvedFileName===Qe.resolvedFileName}}function _t(ve,nt,ce,Q,ue,G){var Oe;return Ye({entries:ve,containingFile:nt,containingSourceFile:ue,redirectedReference:ce,options:Q,reusedNames:G,perFileCache:W,loader:OF(nt,ce,Q,((Oe=e.getCompilerHost)==null?void 0:Oe.call(e))||e,Y),getResolutionWithResolvedFileName:ge,shouldRetryResolution:je=>je.resolvedTypeReferenceDirective===void 0})}function ct(ve,nt,ce,Q,ue,G){return Ye({entries:ve,containingFile:nt,containingSourceFile:ue,redirectedReference:ce,options:Q,reusedNames:G,perFileCache:B,loader:Le(nt,ce,Q),getResolutionWithResolvedFileName:_e,shouldRetryResolution:Oe=>!Oe.resolvedModule||!VR(Oe.resolvedModule.extension),logChanges:r})}function Rt(ve,nt){let ce=e.toPath(nt),Q=B.get(ce),ue=Q?.get(ve,void 0);return ue&&!ue.isInvalidated?ue:Ne(ve,nt,e.getCompilationSettings())}function We(ve){return Oc(ve,"/node_modules/@types")}function qe(ve,nt){if(X(U,nt)){ve=qp(ve)?So(ve):_a(ve,P());let ce=nt.split(_s),Q=ve.split(_s);return L.assert(Q.length===ce.length,`FailedLookup: ${ve} failedLookupLocationPath: ${nt}`),ce.length>re+1?{dir:Q.slice(0,re+1).join(_s),dirPath:ce.slice(0,re+1).join(_s)}:{dir:Z,dirPath:U,nonRecursive:!1}}return zt(ni(_a(ve,P())),ni(nt))}function zt(ve,nt){for(;JS(nt);)ve=ni(ve),nt=ni(nt);if(H8(nt))return vN(ni(nt))?{dir:ve,dirPath:nt}:void 0;let ce=!0,Q,ue;if(U!==void 0)for(;!X(nt,U);){let G=ni(nt);if(G===nt)break;ce=!1,Q=nt,ue=ve,nt=G,ve=ni(ve)}return vN(nt)?{dir:ue||ve,dirPath:Q||nt,nonRecursive:ce}:void 0}function Qt(ve){return $c(ve,R)}function tn(ve,nt,ce,Q){var ue,G;if(nt.refCount)nt.refCount++,L.assertIsDefined(nt.files);else{nt.refCount=1,L.assert(!((ue=nt.files)!=null&&ue.size)),fl(ve)?kn(nt):l.add(ve,nt);let Oe=Q(nt);if(Oe&&Oe.resolvedFileName){let je=e.toPath(Oe.resolvedFileName),Ge=g.get(je);Ge||g.set(je,Ge=new Set),Ge.add(nt)}}((G=nt.files)!=null?G:nt.files=new Set).add(ce)}function kn(ve){L.assert(!!ve.refCount);let{failedLookupLocations:nt,affectingLocations:ce}=ve;if(!nt?.length&&!ce?.length)return;nt?.length&&f.add(ve);let Q=!1;if(nt){for(let ue of nt){let G=e.toPath(ue),Oe=qe(ue,G);if(Oe){let{dir:je,dirPath:Ge,nonRecursive:kt}=Oe;if(!Qt(G)){let Kt=ie.get(G)||0;ie.set(G,Kt+1)}Ge===U?(L.assert(!kt),Q=!0):ui(je,Ge,kt)}}Q&&ui(Z,U,!0)}_n(ve,!nt?.length)}function _n(ve,nt){L.assert(!!ve.refCount);let{affectingLocations:ce}=ve;if(ce?.length){nt&&d.add(ve);for(let Q of ce)Gt(Q,!0)}}function Gt(ve,nt){let ce=fe.get(ve);if(ce){nt?ce.resolutions++:ce.files++;return}let Q=ve;if(e.realpath&&(Q=e.realpath(ve),ve!==Q)){let je=fe.get(Q);if(je){nt?je.resolutions++:je.files++,je.paths.add(ve),fe.set(ve,je);return}}let ue=new Set;ue.add(Q);let G=vN(e.toPath(Q))?e.watchAffectingFileLocation(Q,(je,Ge)=>{F?.addOrDeleteFile(je,e.toPath(Q),Ge);let kt=q.getPackageJsonInfoCache().getInternalMap();ue.forEach(Kt=>{Oe.resolutions&&(x??(x=new Set)).add(Kt),Oe.files&&(S??(S=new Set)).add(Kt),kt?.delete(e.toPath(Kt))}),e.scheduleInvalidateResolutionsOfFailedLookupLocations()}):B2,Oe={watcher:G!==B2?{close:()=>{G.close(),G=B2}}:G,resolutions:nt?1:0,files:nt?0:1,paths:ue};fe.set(Q,Oe),ve!==Q&&(fe.set(ve,Oe),ue.add(ve))}function $n(ve,nt){let ce=e.getCurrentProgram();!ce||!ce.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(nt)?ve.forEach(kn):ve.forEach(Q=>_n(Q,!0))}function ui(ve,nt,ce){let Q=$.get(nt);Q?(L.assert(!!ce==!!Q.nonRecursive),Q.refCount++):$.set(nt,{watcher:gr(ve,nt,ce),refCount:1,nonRecursive:ce})}function Ni(ve,nt,ce){if(L.checkDefined(ve.files).delete(nt),ve.refCount--,ve.refCount)return;let Q=ce(ve);if(Q&&Q.resolvedFileName){let Oe=e.toPath(Q.resolvedFileName),je=g.get(Oe);je?.delete(ve)&&!je.size&&g.delete(Oe)}let{failedLookupLocations:ue,affectingLocations:G}=ve;if(f.delete(ve)){let Oe=!1;for(let je of ue){let Ge=e.toPath(je),kt=qe(je,Ge);if(kt){let{dirPath:Kt}=kt,ln=ie.get(Ge);ln&&(ln===1?ie.delete(Ge):(L.assert(ln>1),ie.set(Ge,ln-1))),Kt===U?Oe=!0:Pi(Kt)}}Oe&&Pi(U)}else G?.length&&d.delete(ve);if(G)for(let Oe of G){let je=fe.get(Oe);je.resolutions--}}function Pi(ve){let nt=$.get(ve);nt.refCount--}function gr(ve,nt,ce){return e.watchDirectoryOfFailedLookupLocation(ve,Q=>{let ue=e.toPath(Q);F&&F.addOrDeleteFileOrDirectory(Q,ue),hi(ue,nt===ue)},ce?0:1)}function pt(ve,nt,ce){let Q=ve.get(nt);Q&&(Q.forEach(ue=>Ni(ue,nt,ce)),ve.delete(nt))}function nn(ve){if(!Gc(ve,".json"))return;let nt=e.getCurrentProgram();if(!nt)return;let ce=nt.getResolvedProjectReferenceByPath(ve);ce&&ce.commandLine.fileNames.forEach(Q=>Dt(e.toPath(Q)))}function Dt(ve){pt(B,ve,_e),pt(W,ve,ge)}function pn(ve,nt){if(!ve)return!1;let ce=!1;return ve.forEach(Q=>{if(!(Q.isInvalidated||!nt(Q))){Q.isInvalidated=ce=!0;for(let ue of L.checkDefined(Q.files))(o??(o=new Set)).add(ue),v=v||Oc(ue,VF)}}),ce}function An(ve){Dt(ve);let nt=v;pn(g.get(ve),h0)&&v&&!nt&&e.onChangedAutomaticTypeDirectiveNames()}function Kn(ve){L.assert(s===ve||s===void 0),s=ve}function hi(ve,nt){if(nt)(C||(C=new Set)).add(ve);else{let ce=Dq(ve);if(!ce||(ve=ce,e.fileIsOpen(ve)))return!1;let Q=ni(ve);if(We(ve)||H8(ve)||We(Q)||H8(Q))(A||(A=new Set)).add(ve),(w||(w=new Set)).add(ve);else{if(!Qt(ve)&&!ie.has(ve)||Bpe(e.getCurrentProgram(),ve))return!1;(A||(A=new Set)).add(ve);let ue=XJ(ve);ue&&(w||(w=new Set)).add(ue)}}e.scheduleInvalidateResolutionsOfFailedLookupLocations()}function ri(){var ve;let nt=!1;if(S&&((ve=e.getCurrentProgram())==null||ve.getSourceFiles().forEach(Q=>{vt(Q.packageJsonLocations,ue=>S.has(ue))&&((o??(o=new Set)).add(Q.path),nt=!0)}),S=void 0),!A&&!w&&!C&&!x)return nt;nt=pn(f,vn)||nt;let ce=q.getPackageJsonInfoCache().getInternalMap();return ce&&(A||w||C)&&ce.forEach((Q,ue)=>Ht(ue)?ce.delete(ue):void 0),A=void 0,w=void 0,C=void 0,nt=pn(d,En)||nt,x=void 0,nt}function vn(ve){var nt;return En(ve)?!0:!A&&!w&&!C?!1:(nt=ve.failedLookupLocations)==null?void 0:nt.some(ce=>Ht(e.toPath(ce)))}function Ht(ve){return A?.has(ve)||FD(w?.keys()||[],nt=>na(ve,nt)?!0:void 0)||FD(C?.keys()||[],nt=>X(nt,ve)?!0:void 0)}function En(ve){var nt;return!!x&&((nt=ve.affectingLocations)==null?void 0:nt.some(ce=>x.has(ce)))}function dr(){Tf(le,am)}function Cr(ve,nt){if(X(U,nt))return U;let ce=zt(ve,nt);return ce&&$.has(ce.dirPath)?ce.dirPath:void 0}function Se(ve,nt){return e.watchTypeRootsDirectory(nt,ce=>{let Q=e.toPath(ce);F&&F.addOrDeleteFileOrDirectory(ce,Q),v=!0,e.onChangedAutomaticTypeDirectiveNames();let ue=Cr(nt,ve);ue&&hi(Q,ue===Q)},1)}function at(){let ve=e.getCompilationSettings();if(ve.types){dr();return}let nt=XO(ve,{directoryExists:Tt,getCurrentDirectory:P});nt?e2(le,p0(nt,ce=>e.toPath(ce)),{createNewValue:Se,onDeleteValue:am}):dr()}function Tt(ve){let nt=ni(ni(ve)),ce=e.toPath(nt);return ce===U||vN(ce)}}function A8e(e){var t,r;return!!((t=e.resolvedModule)!=null&&t.originalPath||(r=e.resolvedTypeReferenceDirective)!=null&&r.originalPath)}var C8e=gt({"src/compiler/resolutionCache.ts"(){"use strict";fa(),fa()}});function bN(e,t){let r=e===xl&&Vq?Vq:{getCurrentDirectory:()=>e.getCurrentDirectory(),getNewLine:()=>e.newLine,getCanonicalFileName:Dl(e.useCaseSensitiveFileNames)};if(!t)return o=>e.write(rq(o,r));let i=new Array(1);return o=>{i[0]=o,e.write(Jpe(i,r)+r.getNewLine()),i[0]=void 0}}function _me(e,t,r){return e.clearScreen&&!r.preserveWatchOutput&&!r.extendedDiagnostics&&!r.diagnostics&&ya($F,t.code)?(e.clearScreen(),!0):!1}function I8e(e,t){return ya($F,e.code)?t+t:t}function EN(e){return e.now?e.now().toLocaleTimeString("en-US",{timeZone:"UTC"}).replace("\u202F"," "):new Date().toLocaleTimeString()}function pme(e,t){return t?(r,i,o)=>{_me(e,r,o);let s=`[${iE(EN(e),"\x1B[90m")}] `;s+=`${sv(r.messageText,e.newLine)}${i+i}`,e.write(s)}:(r,i,o)=>{let s="";_me(e,r,o)||(s+=i),s+=`${EN(e)} - `,s+=`${sv(r.messageText,e.newLine)}${I8e(r,i)}`,e.write(s)}}function L8e(e,t,r,i,o,s){let l=o;l.onUnRecoverableConfigFileDiagnostic=d=>Eme(o,s,d);let f=RO(e,t,l,r,i);return l.onUnRecoverableConfigFileDiagnostic=void 0,f}function JF(e){return Oy(e,t=>t.category===1)}function KF(e){return Pr(e,r=>r.category===1).map(r=>{if(r.file!==void 0)return`${r.file.fileName}`}).map(r=>{if(r===void 0)return;let i=wr(e,o=>o.file!==void 0&&o.file.fileName===r);if(i!==void 0){let{line:o}=Gs(i.file,i.start);return{fileName:r,line:o+1}}})}function wq(e){return e===1?_.Found_1_error_Watching_for_file_changes:_.Found_0_errors_Watching_for_file_changes}function mme(e,t){let r=iE(":"+e.line,"\x1B[90m");return nI(e.fileName)&&nI(t)?Xp(t,e.fileName,!1)+r:e.fileName+r}function hme(e,t,r,i){if(e===0)return"";let o=t.filter(g=>g!==void 0),s=o.map(g=>`${g.fileName}:${g.line}`).filter((g,m,v)=>v.indexOf(g)===m),l=o[0]&&mme(o[0],i.getCurrentDirectory()),f=e===1?ps(t[0]!==void 0?_.Found_1_error_in_1:_.Found_1_error,e,l):ps(s.length===0?_.Found_0_errors:s.length===1?_.Found_0_errors_in_the_same_file_starting_at_Colon_1:_.Found_0_errors_in_1_files,e,s.length===1?l:s.length),d=s.length>1?k8e(o,i):"";return`${r}${sv(f.messageText,r)}${r}${r}${d}`}function k8e(e,t){let r=e.filter((v,S,x)=>S===x.findIndex(A=>A?.fileName===v?.fileName));if(r.length===0)return"";let i=v=>Math.log(v)*Math.LOG10E+1,o=r.map(v=>[v,Oy(e,S=>S.fileName===v.fileName)]),s=o.reduce((v,S)=>Math.max(v,S[1]||0),0),l=_.Errors_Files.message,f=l.split(" ")[0].length,d=Math.max(f,i(s)),g=Math.max(i(s)-f,0),m="";return m+=" ".repeat(g)+l+`
+`,o.forEach(v=>{let[S,x]=v,A=Math.log(x)*Math.LOG10E+1|0,w=A<d?" ".repeat(d-A):"",C=mme(S,t.getCurrentDirectory());m+=`${w}${x}  ${C}
+`}),m}function gme(e){return!!e.getState}function Rq(e,t){let r=e.getCompilerOptions();r.explainFiles?yme(gme(e)?e.getProgram():e,t):(r.listFiles||r.listFilesOnly)&&mn(e.getSourceFiles(),i=>{t(i.fileName)})}function yme(e,t){var r,i;let o=e.getFileIncludeReasons(),s=l=>rI(l,e.getCurrentDirectory(),e.getCanonicalFileName);for(let l of e.getSourceFiles())t(`${XS(l,s)}`),(r=o.get(l.path))==null||r.forEach(f=>t(`  ${Mq(e,f,s).messageText}`)),(i=Oq(l,s))==null||i.forEach(f=>t(`  ${f.messageText}`))}function Oq(e,t){var r;let i;if(e.path!==e.resolvedPath&&(i??(i=[])).push(da(void 0,_.File_is_output_of_project_reference_source_0,XS(e.originalFileName,t))),e.redirectInfo&&(i??(i=[])).push(da(void 0,_.File_redirects_to_file_0,XS(e.redirectInfo.redirectTarget,t))),kd(e))switch(e.impliedNodeFormat){case 99:e.packageJsonScope&&(i??(i=[])).push(da(void 0,_.File_is_ECMAScript_module_because_0_has_field_type_with_value_module,XS(To(e.packageJsonLocations),t)));break;case 1:e.packageJsonScope?(i??(i=[])).push(da(void 0,e.packageJsonScope.contents.packageJsonContent.type?_.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:_.File_is_CommonJS_module_because_0_does_not_have_field_type,XS(To(e.packageJsonLocations),t))):(r=e.packageJsonLocations)!=null&&r.length&&(i??(i=[])).push(da(void 0,_.File_is_CommonJS_module_because_package_json_was_not_found));break}return i}function Nq(e,t){var r;let i=e.getCompilerOptions().configFile;if(!((r=i?.configFileSpecs)!=null&&r.validatedFilesSpec))return;let o=e.getCanonicalFileName(t),s=ni(_a(i.fileName,e.getCurrentDirectory()));return wr(i.configFileSpecs.validatedFilesSpec,l=>e.getCanonicalFileName(_a(l,s))===o)}function Pq(e,t){var r,i;let o=e.getCompilerOptions().configFile;if(!((r=o?.configFileSpecs)!=null&&r.validatedIncludeSpecs))return;if(o.configFileSpecs.isDefaultIncludeSpec)return!0;let s=Gc(t,".json"),l=ni(_a(o.fileName,e.getCurrentDirectory())),f=e.useCaseSensitiveFileNames();return wr((i=o?.configFileSpecs)==null?void 0:i.validatedIncludeSpecs,d=>{if(s&&!Oc(d,".json"))return!1;let g=kW(d,l,"files");return!!g&&Qy(`(${g})$`,f).test(t)})}function Mq(e,t,r){var i,o;let s=e.getCompilerOptions();if(vb(t)){let l=YL(g=>e.getSourceFileByPath(g),t),f=F2(l)?l.file.text.substring(l.pos,l.end):`"${l.text}"`,d;switch(L.assert(F2(l)||t.kind===3,"Only synthetic references are imports"),t.kind){case 3:F2(l)?d=l.packageId?_.Imported_via_0_from_file_1_with_packageId_2:_.Imported_via_0_from_file_1:l.text===_b?d=l.packageId?_.Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:_.Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:d=l.packageId?_.Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:_.Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions;break;case 4:L.assert(!l.packageId),d=_.Referenced_via_0_from_file_1;break;case 5:d=l.packageId?_.Type_library_referenced_via_0_from_file_1_with_packageId_2:_.Type_library_referenced_via_0_from_file_1;break;case 7:L.assert(!l.packageId),d=_.Library_referenced_via_0_from_file_1;break;default:L.assertNever(t)}return da(void 0,d,f,XS(l.file,r),l.packageId&&hT(l.packageId))}switch(t.kind){case 0:if(!((i=s.configFile)!=null&&i.configFileSpecs))return da(void 0,_.Root_file_specified_for_compilation);let l=_a(e.getRootFileNames()[t.index],e.getCurrentDirectory());if(Nq(e,l))return da(void 0,_.Part_of_files_list_in_tsconfig_json);let d=Pq(e,l);return Ta(d)?da(void 0,_.Matched_by_include_pattern_0_in_1,d,XS(s.configFile,r)):da(void 0,d?_.Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:_.Root_file_specified_for_compilation);case 1:case 2:let g=t.kind===2,m=L.checkDefined((o=e.getResolvedProjectReferences())==null?void 0:o[t.index]);return da(void 0,Ss(s)?g?_.Output_from_referenced_project_0_included_because_1_specified:_.Source_from_referenced_project_0_included_because_1_specified:g?_.Output_from_referenced_project_0_included_because_module_is_specified_as_none:_.Source_from_referenced_project_0_included_because_module_is_specified_as_none,XS(m.sourceFile.fileName,r),s.outFile?"--outFile":"--out");case 8:return da(void 0,s.types?t.packageId?_.Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:_.Entry_point_of_type_library_0_specified_in_compilerOptions:t.packageId?_.Entry_point_for_implicit_type_library_0_with_packageId_1:_.Entry_point_for_implicit_type_library_0,t.typeReference,t.packageId&&hT(t.packageId));case 6:if(t.index!==void 0)return da(void 0,_.Library_0_specified_in_compilerOptions,s.lib[t.index]);let v=Ld(zO.type,(S,x)=>S===Do(s)?x:void 0);return da(void 0,v?_.Default_library_for_target_0:_.Default_library,v);default:L.assertNever(t)}}function XS(e,t){let r=Ta(e)?e:e.fileName;return t?t(r):r}function qF(e,t,r,i,o,s,l,f){let d=!!e.getCompilerOptions().listFilesOnly,g=e.getConfigFileParsingDiagnostics().slice(),m=g.length;si(g,e.getSyntacticDiagnostics(void 0,s)),g.length===m&&(si(g,e.getOptionsDiagnostics(s)),d||(si(g,e.getGlobalDiagnostics(s)),g.length===m&&si(g,e.getSemanticDiagnostics(void 0,s))));let v=d?{emitSkipped:!0,diagnostics:Je}:e.emit(void 0,o,s,l,f),{emittedFiles:S,diagnostics:x}=v;si(g,x);let A=vA(g);if(A.forEach(t),r){let w=e.getCurrentDirectory();mn(S,C=>{let P=_a(C,w);r(`TSFILE: ${P}`)}),Rq(e,r)}return i&&i(JF(A),KF(A)),{emitResult:v,diagnostics:A}}function vme(e,t,r,i,o,s,l,f){let{emitResult:d,diagnostics:g}=qF(e,t,r,i,o,s,l,f);return d.emitSkipped&&g.length>0?1:g.length>0?2:0}function Fq(e=xl,t){return{onWatchStatusChange:t||pme(e),watchFile:ho(e,e.watchFile)||TN,watchDirectory:ho(e,e.watchDirectory)||TN,setTimeout:ho(e,e.setTimeout)||Ba,clearTimeout:ho(e,e.clearTimeout)||Ba}}function Gq(e,t){let r=e.trace?t.extendedDiagnostics?2:t.diagnostics?1:0:0,i=r!==0?s=>e.trace(s):Ba,o=Upe(e,r,i);return o.writeLog=i,o}function Bq(e,t,r=e){let i=e.useCaseSensitiveFileNames(),o={getSourceFile:eq((s,l)=>l?e.readFile(s,l):o.readFile(s),t,void 0),getDefaultLibLocation:ho(e,e.getDefaultLibLocation),getDefaultLibFileName:s=>e.getDefaultLibFileName(s),writeFile:tq((s,l,f)=>e.writeFile(s,l,f),s=>e.createDirectory(s),s=>e.directoryExists(s)),getCurrentDirectory:zu(()=>e.getCurrentDirectory()),useCaseSensitiveFileNames:()=>i,getCanonicalFileName:Dl(i),getNewLine:()=>db(t()),fileExists:s=>e.fileExists(s),readFile:s=>e.readFile(s),trace:ho(e,e.trace),directoryExists:ho(r,r.directoryExists),getDirectories:ho(r,r.getDirectories),realpath:ho(e,e.realpath),getEnvironmentVariable:ho(e,e.getEnvironmentVariable)||(()=>""),createHash:ho(e,e.createHash),readDirectory:ho(e,e.readDirectory),storeFilesChangingSignatureDuringEmit:e.storeFilesChangingSignatureDuringEmit};return o}function XF(e,t){if(t.match(TK)){let r=t.length,i=r;for(let o=r-1;o>=0;o--){let s=t.charCodeAt(o);switch(s){case 10:o&&t.charCodeAt(o-1)===13&&o--;case 13:break;default:if(s<127||!Wl(s)){i=o;continue}break}let l=t.substring(i,r);if(l.match(hF)){t=t.substring(0,i);break}else if(!l.match(gF))break;r=i}}return(e.createHash||aw)(t)}function YF(e){let t=e.getSourceFile;e.getSourceFile=(...r)=>{let i=t.call(e,...r);return i&&(i.version=XF(e,i.text)),i}}function Uq(e,t){let r=zu(()=>ni(So(e.getExecutingFilePath())));return{useCaseSensitiveFileNames:()=>e.useCaseSensitiveFileNames,getNewLine:()=>e.newLine,getCurrentDirectory:zu(()=>e.getCurrentDirectory()),getDefaultLibLocation:r,getDefaultLibFileName:i=>vi(r(),X8(i)),fileExists:i=>e.fileExists(i),readFile:(i,o)=>e.readFile(i,o),directoryExists:i=>e.directoryExists(i),getDirectories:i=>e.getDirectories(i),readDirectory:(i,o,s,l,f)=>e.readDirectory(i,o,s,l,f),realpath:ho(e,e.realpath),getEnvironmentVariable:ho(e,e.getEnvironmentVariable),trace:i=>e.write(i+e.newLine),createDirectory:i=>e.createDirectory(i),writeFile:(i,o,s)=>e.writeFile(i,o,s),createHash:ho(e,e.createHash),createProgram:t||kq,storeFilesChangingSignatureDuringEmit:e.storeFilesChangingSignatureDuringEmit,now:ho(e,e.now)}}function bme(e=xl,t,r,i){let o=l=>e.write(l+e.newLine),s=Uq(e,t);return jU(s,Fq(e,i)),s.afterProgramCreate=l=>{let f=l.getCompilerOptions(),d=db(f);qF(l,r,o,g=>s.onWatchStatusChange(ps(wq(g),g),d,f,g))},s}function Eme(e,t,r){t(r),e.exit(1)}function Tme({configFileName:e,optionsToExtend:t,watchOptionsToExtend:r,extraFileExtensions:i,system:o,createProgram:s,reportDiagnostic:l,reportWatchStatus:f}){let d=l||bN(o),g=bme(o,s,d,f);return g.onUnRecoverableConfigFileDiagnostic=m=>Eme(o,d,m),g.configFileName=e,g.optionsToExtend=t,g.watchOptionsToExtend=r,g.extraFileExtensions=i,g}function Sme({rootFiles:e,options:t,watchOptions:r,projectReferences:i,system:o,createProgram:s,reportDiagnostic:l,reportWatchStatus:f}){let d=bme(o,s,l||bN(o),f);return d.rootFiles=e,d.options=t,d.watchOptions=r,d.projectReferences=i,d}function D8e(e){let t=e.system||xl,r=e.host||(e.host=jq(e.options,t)),i=xme(e),o=vme(i,e.reportDiagnostic||bN(t),s=>r.trace&&r.trace(s),e.reportErrorSummary||e.options.pretty?(s,l)=>t.write(hme(s,l,t.newLine,r)):void 0);return e.afterProgramEmitAndDiagnostics&&e.afterProgramEmitAndDiagnostics(i),o}var Vq,$F,B2,TN,Hf,w8e=gt({"src/compiler/watch.ts"(){"use strict";fa(),Vq=xl?{getCurrentDirectory:()=>xl.getCurrentDirectory(),getNewLine:()=>xl.newLine,getCanonicalFileName:Dl(xl.useCaseSensitiveFileNames)}:void 0,$F=[_.Starting_compilation_in_watch_mode.code,_.File_change_detected_Starting_incremental_compilation.code],B2={close:Ba},TN=()=>B2,Hf={ConfigFile:"Config file",ExtendedConfigFile:"Extended config file",SourceFile:"Source file",MissingFile:"Missing file",WildcardDirectory:"Wild card directory",FailedLookupLocations:"Failed Lookup Locations",AffectingFileLocation:"File location affecting resolution",TypeRoots:"Type roots",ConfigFileOfReferencedProject:"Config file of referened project",ExtendedConfigOfReferencedProject:"Extended config file of referenced project",WildcardDirectoryOfReferencedProject:"Wild card directory of referenced project",PackageJson:"package.json file",ClosedScriptInfo:"Closed Script info",ConfigFileForInferredRoot:"Config file for the inferred project root",NodeModules:"node_modules for closed script infos and package.jsons affecting module specifier cache",MissingSourceMapFile:"Missing source map file",NoopConfigFileForInferredRoot:"Noop Config file for the inferred project root",MissingGeneratedFile:"Missing generated file",NodeModulesForModuleSpecifierCache:"node_modules for module specifier cache invalidation"}}});function QF(e,t){let r=Jg(e);if(!r)return;let i;if(t.getBuildInfo)i=t.getBuildInfo(r,e.configFilePath);else{let o=t.readFile(r);if(!o)return;i=IF(r,o)}if(!(!i||i.version!==Rf||!i.program))return dme(i,r,t)}function jq(e,t=xl){let r=nq(e,void 0,t);return r.createHash=ho(t,t.createHash),r.storeFilesChangingSignatureDuringEmit=t.storeFilesChangingSignatureDuringEmit,YF(r),pN(r,i=>Ts(i,r.getCurrentDirectory(),r.getCanonicalFileName)),r}function xme({rootNames:e,options:t,configFileParsingDiagnostics:r,projectReferences:i,host:o,createProgram:s}){o=o||jq(t),s=s||kq;let l=QF(t,o);return s(e,t,o,l,r,i)}function R8e(e,t,r,i,o,s,l,f){return ba(e)?Sme({rootFiles:e,options:t,watchOptions:f,projectReferences:l,system:r,createProgram:i,reportDiagnostic:o,reportWatchStatus:s}):Tme({configFileName:e,optionsToExtend:t,watchOptionsToExtend:l,extraFileExtensions:f,system:r,createProgram:i,reportDiagnostic:o,reportWatchStatus:s})}function O8e(e){let t,r,i,o,s,l,f,d,g=e.extendedConfigCache,m=!1,v=new Map,S,x=!1,A=e.useCaseSensitiveFileNames(),w=e.getCurrentDirectory(),{configFileName:C,optionsToExtend:P={},watchOptionsToExtend:F,extraFileExtensions:B,createProgram:q}=e,{rootFiles:W,options:Y,watchOptions:R,projectReferences:ie}=e,$,fe,Z=!1,U=!1,re=C===void 0?void 0:Mpe(e,w,A),le=re||e,_e=FF(e,le),ge=zt();C&&e.configFileParsingResult&&(En(e.configFileParsingResult),ge=zt()),Pi(_.Starting_compilation_in_watch_mode),C&&!e.configFileParsingResult&&(ge=db(P),L.assert(!W),Ht(),ge=zt()),L.assert(Y),L.assert(W);let{watchFile:X,watchDirectory:Ve,writeLog:we}=Gq(e,Y),ke=Dl(A);we(`Current directory: ${w} CaseSensitiveFileNames: ${A}`);let Pe;C&&(Pe=X(C,An,2e3,R,Hf.ConfigFile));let Ce=Bq(e,()=>Y,le);YF(Ce);let Ie=Ce.getSourceFile;Ce.getSourceFile=(je,...Ge)=>Gt(je,Qt(je),...Ge),Ce.getSourceFileByPath=Gt,Ce.getNewLine=()=>ge,Ce.fileExists=_n,Ce.onReleaseOldSourceFile=Ni,Ce.onReleaseParsedCommandLine=Se,Ce.toPath=Qt,Ce.getCompilationSettings=()=>Y,Ce.useSourceOfProjectReferenceRedirect=ho(e,e.useSourceOfProjectReferenceRedirect),Ce.watchDirectoryOfFailedLookupLocation=(je,Ge,kt)=>Ve(je,Ge,kt,R,Hf.FailedLookupLocations),Ce.watchAffectingFileLocation=(je,Ge)=>X(je,Ge,2e3,R,Hf.AffectingFileLocation),Ce.watchTypeRootsDirectory=(je,Ge,kt)=>Ve(je,Ge,kt,R,Hf.TypeRoots),Ce.getCachedDirectoryStructureHost=()=>re,Ce.scheduleInvalidateResolutionsOfFailedLookupLocations=nn,Ce.onInvalidatedResolution=pn,Ce.onChangedAutomaticTypeDirectiveNames=pn,Ce.fileIsOpen=m0,Ce.getCurrentProgram=ct,Ce.writeLog=we,Ce.getParsedCommandLine=dr;let Be=fme(Ce,C?ni(_a(C,w)):w,!1);Ce.resolveModuleNameLiterals=ho(e,e.resolveModuleNameLiterals),Ce.resolveModuleNames=ho(e,e.resolveModuleNames),!Ce.resolveModuleNameLiterals&&!Ce.resolveModuleNames&&(Ce.resolveModuleNameLiterals=Be.resolveModuleNameLiterals.bind(Be)),Ce.resolveTypeReferenceDirectiveReferences=ho(e,e.resolveTypeReferenceDirectiveReferences),Ce.resolveTypeReferenceDirectives=ho(e,e.resolveTypeReferenceDirectives),!Ce.resolveTypeReferenceDirectiveReferences&&!Ce.resolveTypeReferenceDirectives&&(Ce.resolveTypeReferenceDirectiveReferences=Be.resolveTypeReferenceDirectiveReferences.bind(Be)),Ce.getModuleResolutionCache=e.resolveModuleNameLiterals||e.resolveModuleNames?ho(e,e.getModuleResolutionCache):()=>Be.getModuleResolutionCache();let Le=!!e.resolveModuleNameLiterals||!!e.resolveTypeReferenceDirectiveReferences||!!e.resolveModuleNames||!!e.resolveTypeReferenceDirectives?ho(e,e.hasInvalidatedResolutions)||h0:m0;return t=QF(Y,Ce),Rt(),Q(),C&&G(Qt(C),Y,R,Hf.ExtendedConfigFile),C?{getCurrentProgram:_t,getProgram:hi,close:Ye}:{getCurrentProgram:_t,getProgram:hi,updateRootFileNames:qe,close:Ye};function Ye(){pt(),Be.clear(),Tf(v,je=>{je&&je.fileWatcher&&(je.fileWatcher.close(),je.fileWatcher=void 0)}),Pe&&(Pe.close(),Pe=void 0),g?.clear(),g=void 0,d&&(Tf(d,_m),d=void 0),o&&(Tf(o,_m),o=void 0),i&&(Tf(i,am),i=void 0),f&&(Tf(f,je=>{var Ge;(Ge=je.watcher)==null||Ge.close(),je.watcher=void 0,je.watchedDirectories&&Tf(je.watchedDirectories,_m),je.watchedDirectories=void 0}),f=void 0)}function _t(){return t}function ct(){return t&&t.getProgramOrUndefined()}function Rt(){we("Synchronizing program"),L.assert(Y),L.assert(W),pt();let je=_t();x&&(ge=zt(),je&&eH(je.getCompilerOptions(),Y)&&Be.clear());let Ge=Be.createHasInvalidatedResolutions(Le),{originalReadFile:kt,originalFileExists:Kt,originalDirectoryExists:ln,originalCreateDirectory:ir,originalWriteFile:ae,readFileWithCache:rt}=pN(Ce,Qt);return lq(ct(),W,Y,Ot=>ui(Ot,rt),Ot=>Ce.fileExists(Ot),Ge,gr,dr,ie)?U&&(m&&Pi(_.File_change_detected_Starting_incremental_compilation),t=q(void 0,void 0,Ce,t,fe,ie),U=!1):(m&&Pi(_.File_change_detected_Starting_incremental_compilation),We(Ge)),m=!1,e.afterProgramCreate&&je!==t&&e.afterProgramCreate(t),Ce.readFile=kt,Ce.fileExists=Kt,Ce.directoryExists=ln,Ce.createDirectory=ir,Ce.writeFile=ae,t}function We(je){we("CreatingProgramWith::"),we(`  roots: ${JSON.stringify(W)}`),we(`  options: ${JSON.stringify(Y)}`),ie&&we(`  projectReferences: ${JSON.stringify(ie)}`);let Ge=x||!ct();x=!1,U=!1,Be.startCachingPerDirectoryResolution(),Ce.hasInvalidatedResolutions=je,Ce.hasChangedAutomaticTypeDirectiveNames=gr;let kt=ct();if(t=q(W,Y,Ce,t,fe,ie),Be.finishCachingPerDirectoryResolution(t.getProgram(),kt),Gpe(t.getProgram(),i||(i=new Map),nt),Ge&&Be.updateTypeRootsWatch(),S){for(let Kt of S)i.has(Kt)||v.delete(Kt);S=void 0}}function qe(je){L.assert(!C,"Cannot update root file names with config file watch mode"),W=je,pn()}function zt(){return db(Y||P)}function Qt(je){return Ts(je,w,ke)}function tn(je){return typeof je=="boolean"}function kn(je){return typeof je.version=="boolean"}function _n(je){let Ge=Qt(je);return tn(v.get(Ge))?!1:le.fileExists(je)}function Gt(je,Ge,kt,Kt,ln){let ir=v.get(Ge);if(!tn(ir)){if(ir===void 0||ln||kn(ir)){let ae=Ie(je,kt,Kt);if(ir)ae?(ir.sourceFile=ae,ir.version=ae.version,ir.fileWatcher||(ir.fileWatcher=at(Ge,je,Tt,250,R,Hf.SourceFile))):(ir.fileWatcher&&ir.fileWatcher.close(),v.set(Ge,!1));else if(ae){let rt=at(Ge,je,Tt,250,R,Hf.SourceFile);v.set(Ge,{sourceFile:ae,version:ae.version,fileWatcher:rt})}else v.set(Ge,!1);return ae}return ir.sourceFile}}function $n(je){let Ge=v.get(je);Ge!==void 0&&(tn(Ge)?v.set(je,{version:!1}):Ge.version=!1)}function ui(je,Ge){let kt=v.get(je);if(!kt)return;if(kt.version)return kt.version;let Kt=Ge(je);return Kt!==void 0?XF(Ce,Kt):void 0}function Ni(je,Ge,kt){let Kt=v.get(je.resolvedPath);Kt!==void 0&&(tn(Kt)?(S||(S=[])).push(je.path):Kt.sourceFile===je&&(Kt.fileWatcher&&Kt.fileWatcher.close(),v.delete(je.resolvedPath),kt||Be.removeResolutionsOfFile(je.path)))}function Pi(je){e.onWatchStatusChange&&e.onWatchStatusChange(ps(je),ge,Y||P)}function gr(){return Be.hasChangedAutomaticTypeDirectiveNames()}function pt(){return l?(e.clearTimeout(l),l=void 0,!0):!1}function nn(){if(!e.setTimeout||!e.clearTimeout)return Be.invalidateResolutionsOfFailedLookupLocations();let je=pt();we(`Scheduling invalidateFailedLookup${je?", Cancelled earlier one":""}`),l=e.setTimeout(Dt,250)}function Dt(){l=void 0,Be.invalidateResolutionsOfFailedLookupLocations()&&pn()}function pn(){!e.setTimeout||!e.clearTimeout||(s&&e.clearTimeout(s),we("Scheduling update"),s=e.setTimeout(Kn,250))}function An(){L.assert(!!C),r=2,pn()}function Kn(){s=void 0,m=!0,hi()}function hi(){switch(r){case 1:fp.logStartUpdateProgram("PartialConfigReload"),ri();break;case 2:fp.logStartUpdateProgram("FullConfigReload"),vn();break;default:fp.logStartUpdateProgram("SynchronizeProgram"),Rt();break}return fp.logStopUpdateProgram("Done"),_t()}function ri(){we("Reloading new file names and options"),L.assert(Y),L.assert(C),r=0,W=BO(Y.configFile.configFileSpecs,_a(ni(C),w),Y,_e,B),CJ(W,_a(C,w),Y.configFile.configFileSpecs,fe,Z)&&(U=!0),Rt()}function vn(){L.assert(C),we(`Reloading config file: ${C}`),r=0,re&&re.clearCache(),Ht(),x=!0,Rt(),Q(),G(Qt(C),Y,R,Hf.ExtendedConfigFile)}function Ht(){L.assert(C),En(RO(C,P,_e,g||(g=new Map),F,B))}function En(je){W=je.fileNames,Y=je.options,R=je.watchOptions,ie=je.projectReferences,$=je.wildcardDirectories,fe=XT(je).slice(),Z=FO(je.raw),U=!0}function dr(je){let Ge=Qt(je),kt=f?.get(Ge);if(kt){if(!kt.reloadLevel)return kt.parsedCommandLine;if(kt.parsedCommandLine&&kt.reloadLevel===1&&!e.getParsedCommandLine){we("Reloading new file names and options"),L.assert(Y);let ln=BO(kt.parsedCommandLine.options.configFile.configFileSpecs,_a(ni(je),w),Y,_e);return kt.parsedCommandLine={...kt.parsedCommandLine,fileNames:ln},kt.reloadLevel=void 0,kt.parsedCommandLine}}we(`Loading config file: ${je}`);let Kt=e.getParsedCommandLine?e.getParsedCommandLine(je):Cr(je);return kt?(kt.parsedCommandLine=Kt,kt.reloadLevel=void 0):(f||(f=new Map)).set(Ge,kt={parsedCommandLine:Kt}),Oe(je,Ge,kt),Kt}function Cr(je){let Ge=_e.onUnRecoverableConfigFileDiagnostic;_e.onUnRecoverableConfigFileDiagnostic=Ba;let kt=RO(je,void 0,_e,g||(g=new Map),F);return _e.onUnRecoverableConfigFileDiagnostic=Ge,kt}function Se(je){var Ge;let kt=Qt(je),Kt=f?.get(kt);Kt&&(f.delete(kt),Kt.watchedDirectories&&Tf(Kt.watchedDirectories,_m),(Ge=Kt.watcher)==null||Ge.close(),Fpe(kt,d))}function at(je,Ge,kt,Kt,ln,ir){return X(Ge,(ae,rt)=>kt(ae,rt,je),Kt,ln,ir)}function Tt(je,Ge,kt){ve(je,kt,Ge),Ge===2&&v.has(kt)&&Be.invalidateResolutionOfFile(kt),$n(kt),pn()}function ve(je,Ge,kt){re&&re.addOrDeleteFile(je,Ge,kt)}function nt(je){return f?.has(je)?B2:at(je,je,ce,500,R,Hf.MissingFile)}function ce(je,Ge,kt){ve(je,kt,Ge),Ge===0&&i.has(kt)&&(i.get(kt).close(),i.delete(kt),$n(kt),pn())}function Q(){$?kF(o||(o=new Map),new Map(Object.entries($)),ue):o&&Tf(o,_m)}function ue(je,Ge){return Ve(je,kt=>{L.assert(C),L.assert(Y);let Kt=Qt(kt);re&&re.addOrDeleteFileOrDirectory(kt,Kt),$n(Kt),!DF({watchedDirPath:Qt(je),fileOrDirectory:kt,fileOrDirectoryPath:Kt,configFileName:C,extraFileExtensions:B,options:Y,program:_t()||W,currentDirectory:w,useCaseSensitiveFileNames:A,writeLog:we,toPath:Qt})&&r!==2&&(r=1,pn())},Ge,R,Hf.WildcardDirectory)}function G(je,Ge,kt,Kt){L.assert(C),YK(je,Ge,d||(d=new Map),(ln,ir)=>X(ln,(ae,rt)=>{var Ot;ve(ln,ir,rt),g&&$K(g,ir,Qt);let Ke=(Ot=d.get(ir))==null?void 0:Ot.projects;Ke?.size&&Ke.forEach(oe=>{if(Qt(C)===oe)r=2;else{let pe=f?.get(oe);pe&&(pe.reloadLevel=2),Be.removeResolutionsFromProjectReferenceRedirects(oe)}pn()})},2e3,kt,Kt),Qt)}function Oe(je,Ge,kt){var Kt,ln,ir,ae,rt;kt.watcher||(kt.watcher=X(je,(Ot,Ke)=>{ve(je,Ge,Ke);let oe=f?.get(Ge);oe&&(oe.reloadLevel=2),Be.removeResolutionsFromProjectReferenceRedirects(Ge),pn()},2e3,((Kt=kt.parsedCommandLine)==null?void 0:Kt.watchOptions)||R,Hf.ConfigFileOfReferencedProject)),(ln=kt.parsedCommandLine)!=null&&ln.wildcardDirectories?kF(kt.watchedDirectories||(kt.watchedDirectories=new Map),new Map(Object.entries((ir=kt.parsedCommandLine)==null?void 0:ir.wildcardDirectories)),(Ot,Ke)=>{var oe;return Ve(Ot,pe=>{let z=Qt(pe);re&&re.addOrDeleteFileOrDirectory(pe,z),$n(z);let Te=f?.get(Ge);Te?.parsedCommandLine&&(DF({watchedDirPath:Qt(Ot),fileOrDirectory:pe,fileOrDirectoryPath:z,configFileName:je,options:Te.parsedCommandLine.options,program:Te.parsedCommandLine.fileNames,currentDirectory:w,useCaseSensitiveFileNames:A,writeLog:we,toPath:Qt})||Te.reloadLevel!==2&&(Te.reloadLevel=1,pn()))},Ke,((oe=kt.parsedCommandLine)==null?void 0:oe.watchOptions)||R,Hf.WildcardDirectoryOfReferencedProject)}):kt.watchedDirectories&&(Tf(kt.watchedDirectories,_m),kt.watchedDirectories=void 0),G(Ge,(ae=kt.parsedCommandLine)==null?void 0:ae.options,((rt=kt.parsedCommandLine)==null?void 0:rt.watchOptions)||R,Hf.ExtendedConfigOfReferencedProject)}}var N8e=gt({"src/compiler/watchPublic.ts"(){"use strict";fa(),fa()}});function Hq(e){return Gc(e,".json")?e:vi(e,"tsconfig.json")}var Wq,P8e=gt({"src/compiler/tsbuild.ts"(){"use strict";fa(),Wq=(e=>(e[e.Unbuildable=0]="Unbuildable",e[e.UpToDate=1]="UpToDate",e[e.UpToDateWithUpstreamTypes=2]="UpToDateWithUpstreamTypes",e[e.OutOfDateWithPrepend=3]="OutOfDateWithPrepend",e[e.OutputMissing=4]="OutputMissing",e[e.ErrorReadingFile=5]="ErrorReadingFile",e[e.OutOfDateWithSelf=6]="OutOfDateWithSelf",e[e.OutOfDateWithUpstream=7]="OutOfDateWithUpstream",e[e.OutOfDateBuildInfo=8]="OutOfDateBuildInfo",e[e.OutOfDateOptions=9]="OutOfDateOptions",e[e.OutOfDateRoots=10]="OutOfDateRoots",e[e.UpstreamOutOfDate=11]="UpstreamOutOfDate",e[e.UpstreamBlocked=12]="UpstreamBlocked",e[e.ComputingUpstream=13]="ComputingUpstream",e[e.TsVersionOutputOfDate=14]="TsVersionOutputOfDate",e[e.UpToDateWithInputFileText=15]="UpToDateWithInputFileText",e[e.ContainerOnly=16]="ContainerOnly",e[e.ForceBuild=17]="ForceBuild",e))(Wq||{})}});function M8e(e,t,r){let i=e.get(t),o;return i||(o=r(),e.set(t,o)),i||o}function zq(e,t){return M8e(e,t,()=>new Map)}function SN(e){return e.now?e.now():new Date}function YS(e){return!!e&&!!e.buildOrder}function ZF(e){return YS(e)?e.buildOrder:e}function Ame(e,t){return r=>{let i=t?`[${iE(EN(e),"\x1B[90m")}] `:`${EN(e)} - `;i+=`${sv(r.messageText,e.newLine)}${e.newLine+e.newLine}`,e.write(i)}}function Cme(e,t,r,i){let o=Uq(e,t);return o.getModifiedTime=e.getModifiedTime?s=>e.getModifiedTime(s):Qv,o.setModifiedTime=e.setModifiedTime?(s,l)=>e.setModifiedTime(s,l):Ba,o.deleteFile=e.deleteFile?s=>e.deleteFile(s):Ba,o.reportDiagnostic=r||bN(e),o.reportSolutionBuilderStatus=i||Ame(e),o.now=ho(e,e.now),o}function F8e(e=xl,t,r,i,o){let s=Cme(e,t,r,i);return s.reportErrorSummary=o,s}function G8e(e=xl,t,r,i,o){let s=Cme(e,t,r,i),l=Fq(e,o);return jU(s,l),s}function B8e(e){let t={};return WO.forEach(r=>{fs(e,r.name)&&(t[r.name]=e[r.name])}),t}function U8e(e,t,r){return Xme(!1,e,t,r)}function V8e(e,t,r,i){return Xme(!0,e,t,r,i)}function j8e(e,t,r,i,o){let s=t,l=t,f=B8e(i),d=Bq(s,()=>A.projectCompilerOptions);YF(d),d.getParsedCommandLine=w=>$T(A,w,z_(A,w)),d.resolveModuleNameLiterals=ho(s,s.resolveModuleNameLiterals),d.resolveTypeReferenceDirectiveReferences=ho(s,s.resolveTypeReferenceDirectiveReferences),d.resolveModuleNames=ho(s,s.resolveModuleNames),d.resolveTypeReferenceDirectives=ho(s,s.resolveTypeReferenceDirectives),d.getModuleResolutionCache=ho(s,s.getModuleResolutionCache);let g,m;!d.resolveModuleNameLiterals&&!d.resolveModuleNames&&(g=Y3(d.getCurrentDirectory(),d.getCanonicalFileName),d.resolveModuleNameLiterals=(w,C,P,F,B)=>hN(w,C,P,F,B,s,g,cq),d.getModuleResolutionCache=()=>g),!d.resolveTypeReferenceDirectiveReferences&&!d.resolveTypeReferenceDirectives&&(m=$3(d.getCurrentDirectory(),d.getCanonicalFileName,void 0,g?.getPackageJsonInfoCache()),d.resolveTypeReferenceDirectiveReferences=(w,C,P,F,B)=>hN(w,C,P,F,B,s,m,OF)),d.getBuildInfo=(w,C)=>Ume(A,w,z_(A,C),void 0);let{watchFile:v,watchDirectory:S,writeLog:x}=Gq(l,i),A={host:s,hostWithWatch:l,parseConfigFileHost:FF(s),write:ho(s,s.trace),options:i,baseCompilerOptions:f,rootNames:r,baseWatchOptions:o,resolvedConfigFilePaths:new Map,configFileCache:new Map,projectStatus:new Map,extendedConfigCache:new Map,buildInfoCache:new Map,outputTimeStamps:new Map,builderPrograms:new Map,diagnostics:new Map,projectPendingBuild:new Map,projectErrorsReported:new Map,compilerHost:d,moduleResolutionCache:g,typeReferenceDirectiveResolutionCache:m,buildOrder:void 0,readFileWithCache:w=>s.readFile(w),projectCompilerOptions:f,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:e,watch:e,allWatchedWildcardDirectories:new Map,allWatchedInputFiles:new Map,allWatchedConfigFiles:new Map,allWatchedExtendedConfigFiles:new Map,allWatchedPackageJsonFiles:new Map,filesWatched:new Map,lastCachedPackageJsonLookups:new Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:v,watchDirectory:S,writeLog:x};return A}function fd(e,t){return Ts(t,e.compilerHost.getCurrentDirectory(),e.compilerHost.getCanonicalFileName)}function z_(e,t){let{resolvedConfigFilePaths:r}=e,i=r.get(t);if(i!==void 0)return i;let o=fd(e,t);return r.set(t,o),o}function Ime(e){return!!e.options}function H8e(e,t){let r=e.configFileCache.get(t);return r&&Ime(r)?r:void 0}function $T(e,t,r){let{configFileCache:i}=e,o=i.get(r);if(o)return Ime(o)?o:void 0;Fs("SolutionBuilder::beforeConfigFileParsing");let s,{parseConfigFileHost:l,baseCompilerOptions:f,baseWatchOptions:d,extendedConfigCache:g,host:m}=e,v;return m.getParsedCommandLine?(v=m.getParsedCommandLine(t),v||(s=ps(_.File_0_not_found,t))):(l.onUnRecoverableConfigFileDiagnostic=S=>s=S,v=RO(t,f,l,g,d),l.onUnRecoverableConfigFileDiagnostic=Ba),i.set(r,v||s),Fs("SolutionBuilder::afterConfigFileParsing"),hf("SolutionBuilder::Config file parsing","SolutionBuilder::beforeConfigFileParsing","SolutionBuilder::afterConfigFileParsing"),v}function U2(e,t){return Hq(Fy(e.compilerHost.getCurrentDirectory(),t))}function Lme(e,t){let r=new Map,i=new Map,o=[],s,l;for(let d of t)f(d);return l?{buildOrder:s||Je,circularDiagnostics:l}:s||Je;function f(d,g){let m=z_(e,d);if(i.has(m))return;if(r.has(m)){g||(l||(l=[])).push(ps(_.Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0,o.join(`\r
+`)));return}r.set(m,!0),o.push(d);let v=$T(e,d,m);if(v&&v.projectReferences)for(let S of v.projectReferences){let x=U2(e,S.path);f(x,g||S.circular)}o.pop(),i.set(m,!0),(s||(s=[])).push(d)}}function xN(e){return e.buildOrder||W8e(e)}function W8e(e){let t=Lme(e,e.rootNames.map(o=>U2(e,o)));e.resolvedConfigFilePaths.clear();let r=new Map(ZF(t).map(o=>[z_(e,o),!0])),i={onDeleteValue:Ba};return Oh(e.configFileCache,r,i),Oh(e.projectStatus,r,i),Oh(e.builderPrograms,r,i),Oh(e.diagnostics,r,i),Oh(e.projectPendingBuild,r,i),Oh(e.projectErrorsReported,r,i),Oh(e.buildInfoCache,r,i),Oh(e.outputTimeStamps,r,i),e.watch&&(Oh(e.allWatchedConfigFiles,r,{onDeleteValue:am}),e.allWatchedExtendedConfigFiles.forEach(o=>{o.projects.forEach(s=>{r.has(s)||o.projects.delete(s)}),o.close()}),Oh(e.allWatchedWildcardDirectories,r,{onDeleteValue:o=>o.forEach(_m)}),Oh(e.allWatchedInputFiles,r,{onDeleteValue:o=>o.forEach(am)}),Oh(e.allWatchedPackageJsonFiles,r,{onDeleteValue:o=>o.forEach(am)})),e.buildOrder=t}function kme(e,t,r){let i=t&&U2(e,t),o=xN(e);if(YS(o))return o;if(i){let l=z_(e,i);if(Yc(o,d=>z_(e,d)===l)===-1)return}let s=i?Lme(e,[i]):o;return L.assert(!YS(s)),L.assert(!r||i!==void 0),L.assert(!r||s[s.length-1]===i),r?s.slice(0,s.length-1):s}function Dme(e){e.cache&&Jq(e);let{compilerHost:t,host:r}=e,i=e.readFileWithCache,o=t.getSourceFile,{originalReadFile:s,originalFileExists:l,originalDirectoryExists:f,originalCreateDirectory:d,originalWriteFile:g,getSourceFileWithCache:m,readFileWithCache:v}=pN(r,S=>fd(e,S),(...S)=>o.call(t,...S));e.readFileWithCache=v,t.getSourceFile=m,e.cache={originalReadFile:s,originalFileExists:l,originalDirectoryExists:f,originalCreateDirectory:d,originalWriteFile:g,originalReadFileWithCache:i,originalGetSourceFile:o}}function Jq(e){if(!e.cache)return;let{cache:t,host:r,compilerHost:i,extendedConfigCache:o,moduleResolutionCache:s,typeReferenceDirectiveResolutionCache:l}=e;r.readFile=t.originalReadFile,r.fileExists=t.originalFileExists,r.directoryExists=t.originalDirectoryExists,r.createDirectory=t.originalCreateDirectory,r.writeFile=t.originalWriteFile,i.getSourceFile=t.originalGetSourceFile,e.readFileWithCache=t.originalReadFileWithCache,o.clear(),s?.clear(),l?.clear(),e.cache=void 0}function wme(e,t){e.projectStatus.delete(t),e.diagnostics.delete(t)}function Rme({projectPendingBuild:e},t,r){let i=e.get(t);(i===void 0||i<r)&&e.set(t,r)}function Ome(e,t){if(!e.allProjectBuildPending)return;e.allProjectBuildPending=!1,e.options.watch&&iX(e,_.Starting_compilation_in_watch_mode),Dme(e),ZF(xN(e)).forEach(i=>e.projectPendingBuild.set(z_(e,i),0)),t&&t.throwIfCancellationRequested()}function Nme(e,t){return e.projectPendingBuild.delete(t),e.diagnostics.has(t)?1:0}function z8e(e,t,r,i,o){let s=!0;return{kind:2,project:t,projectPath:r,buildOrder:o,getCompilerOptions:()=>i.options,getCurrentDirectory:()=>e.compilerHost.getCurrentDirectory(),updateOutputFileStatmps:()=>{jme(e,i,r),s=!1},done:()=>(s&&jme(e,i,r),Fs("SolutionBuilder::Timestamps only updates"),Nme(e,r))}}function Pme(e,t,r,i,o,s,l){let f=e===0?0:4,d,g,m;return e===0?{kind:e,project:r,projectPath:i,buildOrder:l,getCompilerOptions:()=>s.options,getCurrentDirectory:()=>t.compilerHost.getCurrentDirectory(),getBuilderProgram:()=>S(Ks),getProgram:()=>S(R=>R.getProgramOrUndefined()),getSourceFile:R=>S(ie=>ie.getSourceFile(R)),getSourceFiles:()=>x(R=>R.getSourceFiles()),getOptionsDiagnostics:R=>x(ie=>ie.getOptionsDiagnostics(R)),getGlobalDiagnostics:R=>x(ie=>ie.getGlobalDiagnostics(R)),getConfigFileParsingDiagnostics:()=>x(R=>R.getConfigFileParsingDiagnostics()),getSyntacticDiagnostics:(R,ie)=>x($=>$.getSyntacticDiagnostics(R,ie)),getAllDependencies:R=>x(ie=>ie.getAllDependencies(R)),getSemanticDiagnostics:(R,ie)=>x($=>$.getSemanticDiagnostics(R,ie)),getSemanticDiagnosticsOfNextAffectedFile:(R,ie)=>S($=>$.getSemanticDiagnosticsOfNextAffectedFile&&$.getSemanticDiagnosticsOfNextAffectedFile(R,ie)),emit:(R,ie,$,fe,Z)=>{if(R||fe)return S(U=>{var re,le;return U.emit(R,ie,$,fe,Z||((le=(re=t.host).getCustomTransformers)==null?void 0:le.call(re,r)))});if(Y(2,$),f===5)return B(ie,$);if(f===3)return F(ie,$,Z)},done:v}:{kind:e,project:r,projectPath:i,buildOrder:l,getCompilerOptions:()=>s.options,getCurrentDirectory:()=>t.compilerHost.getCurrentDirectory(),emit:(R,ie)=>f!==4?m:W(R,ie),done:v};function v(R,ie,$){return Y(8,R,ie,$),Fs(e===0?"SolutionBuilder::Projects built":"SolutionBuilder::Bundles updated"),Nme(t,i)}function S(R){return Y(0),d&&R(d)}function x(R){return S(R)||Je}function A(){var R,ie;if(L.assert(d===void 0),t.options.dry){hu(t,_.A_non_dry_build_would_build_project_0,r),g=1,f=7;return}if(t.options.verbose&&hu(t,_.Building_project_0,r),s.fileNames.length===0){V2(t,i,XT(s)),g=0,f=7;return}let{host:$,compilerHost:fe}=t;t.projectCompilerOptions=s.options,(R=t.moduleResolutionCache)==null||R.update(s.options),(ie=t.typeReferenceDirectiveResolutionCache)==null||ie.update(s.options),d=$.createProgram(s.fileNames,s.options,fe,K8e(t,i,s),XT(s),s.projectReferences),t.watch&&(t.lastCachedPackageJsonLookups.set(i,t.moduleResolutionCache&&on(t.moduleResolutionCache.getPackageJsonInfoCache().entries(),([Z,U])=>[t.host.realpath&&U?fd(t,t.host.realpath(Z)):Z,U])),t.builderPrograms.set(i,d)),f++}function w(R,ie,$){R.length?{buildResult:g,step:f}=Xq(t,i,d,s,R,ie,$):f++}function C(R){L.assertIsDefined(d),w([...d.getConfigFileParsingDiagnostics(),...d.getOptionsDiagnostics(R),...d.getGlobalDiagnostics(R),...d.getSyntacticDiagnostics(void 0,R)],8,"Syntactic")}function P(R){w(L.checkDefined(d).getSemanticDiagnostics(void 0,R),16,"Semantic")}function F(R,ie,$){var fe,Z,U;L.assertIsDefined(d),L.assert(f===3);let re=d.saveEmitState(),le,_e=Ye=>(le||(le=[])).push(Ye),ge=[],{emitResult:X}=qF(d,_e,void 0,void 0,(Ye,_t,ct,Rt,We,qe)=>ge.push({name:Ye,text:_t,writeByteOrderMark:ct,data:qe}),ie,!1,$||((Z=(fe=t.host).getCustomTransformers)==null?void 0:Z.call(fe,r)));if(le)return d.restoreEmitState(re),{buildResult:g,step:f}=Xq(t,i,d,s,le,32,"Declaration file"),{emitSkipped:!0,diagnostics:X.diagnostics};let{host:Ve,compilerHost:we}=t,ke=(U=d.hasChangedEmitSignature)!=null&&U.call(d)?0:2,Pe=XA(),Ce=new Map,Ie=d.getCompilerOptions(),Be=NR(Ie),Ne,Le;return ge.forEach(({name:Ye,text:_t,writeByteOrderMark:ct,data:Rt})=>{let We=fd(t,Ye);Ce.set(fd(t,Ye),Ye),Rt?.buildInfo&&$q(t,Rt.buildInfo,i,Ie,ke);let qe=Rt?.differsOnlyInMap?$1(t.host,Ye):void 0;BI(R?{writeFile:R}:we,Pe,Ye,_t,ct),Rt?.differsOnlyInMap?t.host.setModifiedTime(Ye,qe):!Be&&t.watch&&(Ne||(Ne=Yq(t,i))).set(We,Le||(Le=SN(t.host)))}),q(Pe,Ce,ge.length?ge[0].name:JK(s,!Ve.useCaseSensitiveFileNames()),ke),X}function B(R,ie){L.assertIsDefined(d),L.assert(f===5);let $=d.emitBuildInfo((fe,Z,U,re,le,_e)=>{_e?.buildInfo&&$q(t,_e.buildInfo,i,d.getCompilerOptions(),2),R?R(fe,Z,U,re,le,_e):t.compilerHost.writeFile(fe,Z,U,re,le,_e)},ie);return $.diagnostics.length&&(CN(t,$.diagnostics),t.diagnostics.set(i,[...t.diagnostics.get(i),...$.diagnostics]),g=64&g),$.emittedFiles&&t.write&&$.emittedFiles.forEach(fe=>Gme(t,s,fe)),qq(t,d,s),f=7,$}function q(R,ie,$,fe){let Z=R.getDiagnostics();return Z.length?({buildResult:g,step:f}=Xq(t,i,d,s,Z,64,"Emit"),Z):(t.write&&ie.forEach(U=>Gme(t,s,U)),Vme(t,s,i,_.Updating_unchanged_output_timestamps_of_project_0,ie),t.diagnostics.delete(i),t.projectStatus.set(i,{type:1,oldestOutputFileName:$}),qq(t,d,s),f=7,g=fe,Z)}function W(R,ie){var $,fe,Z,U;if(L.assert(e===1),t.options.dry){hu(t,_.A_non_dry_build_would_update_output_of_project_0,r),g=1,f=7;return}t.options.verbose&&hu(t,_.Updating_output_of_project_0,r);let{compilerHost:re}=t;t.projectCompilerOptions=s.options,(fe=($=t.host).beforeEmitBundle)==null||fe.call($,s);let le=Ppe(s,re,ke=>{let Pe=U2(t,ke.path);return $T(t,Pe,z_(t,Pe))},ie||((U=(Z=t.host).getCustomTransformers)==null?void 0:U.call(Z,r)));if(Ta(le))return hu(t,_.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1,r,cl(t,le)),f=6,m=Pme(0,t,r,i,o,s,l);L.assert(!!le.length);let _e=XA(),ge=new Map,X=2,Ve=t.buildInfoCache.get(i).buildInfo||void 0;return le.forEach(({name:ke,text:Pe,writeByteOrderMark:Ce,data:Ie})=>{var Be,Ne;ge.set(fd(t,ke),ke),Ie?.buildInfo&&(((Be=Ie.buildInfo.program)==null?void 0:Be.outSignature)!==((Ne=Ve?.program)==null?void 0:Ne.outSignature)&&(X&=-3),$q(t,Ie.buildInfo,i,s.options,X)),BI(R?{writeFile:R}:re,_e,ke,Pe,Ce)}),{emitSkipped:!1,diagnostics:q(_e,ge,le[0].name,X)}}function Y(R,ie,$,fe){for(;f<=R&&f<8;){let Z=f;switch(f){case 0:A();break;case 1:C(ie);break;case 2:P(ie);break;case 3:F($,ie,fe);break;case 5:B($,ie);break;case 4:W($,fe);break;case 6:L.checkDefined(m).done(ie,$,fe),f=8;break;case 7:$8e(t,r,i,o,s,l,L.checkDefined(g)),f++;break;case 8:default:}L.assert(f>Z)}}}function J8e({options:e},t,r){return t.type!==3||e.force?!0:r.fileNames.length===0||!!XT(r).length||!NR(r.options)}function Mme(e,t,r){if(!e.projectPendingBuild.size||YS(t))return;let{options:i,projectPendingBuild:o}=e;for(let s=0;s<t.length;s++){let l=t[s],f=z_(e,l),d=e.projectPendingBuild.get(f);if(d===void 0)continue;r&&(r=!1,Qme(e,t));let g=$T(e,l,f);if(!g){Yme(e,f),o.delete(f);continue}d===2?(Jme(e,l,f,g),Kme(e,f,g),qme(e,l,f,g),nX(e,l,f,g),rX(e,l,f,g)):d===1&&(g.fileNames=BO(g.options.configFile.configFileSpecs,ni(l),g.options,e.parseConfigFileHost),CJ(g.fileNames,l,g.options.configFile.configFileSpecs,g.errors,FO(g.raw)),nX(e,l,f,g),rX(e,l,f,g));let m=eX(e,g,f);if(!i.force){if(m.type===1){n7(e,l,m),V2(e,f,XT(g)),o.delete(f),i.dry&&hu(e,_.Project_0_is_up_to_date,l);continue}if(m.type===2||m.type===15)return V2(e,f,XT(g)),{kind:2,status:m,project:l,projectPath:f,projectIndex:s,config:g}}if(m.type===12){n7(e,l,m),V2(e,f,XT(g)),o.delete(f),i.verbose&&hu(e,m.upstreamProjectBlocked?_.Skipping_build_of_project_0_because_its_dependency_1_was_not_built:_.Skipping_build_of_project_0_because_its_dependency_1_has_errors,l,m.upstreamProjectName);continue}if(m.type===16){n7(e,l,m),V2(e,f,XT(g)),o.delete(f);continue}return{kind:J8e(e,m,g)?0:1,status:m,project:l,projectPath:f,projectIndex:s,config:g}}}function Fme(e,t,r){return n7(e,t.project,t.status),t.kind!==2?Pme(t.kind,e,t.project,t.projectPath,t.projectIndex,t.config,r):z8e(e,t.project,t.projectPath,t.config,r)}function Kq(e,t,r){let i=Mme(e,t,r);return i&&Fme(e,i,t)}function Gme({write:e},t,r){e&&t.options.listEmittedFiles&&e(`TSFILE: ${r}`)}function K8e({options:e,builderPrograms:t,compilerHost:r},i,o){if(e.force)return;let s=t.get(i);return s||QF(o.options,r)}function qq(e,t,r){t?(e.write&&Rq(t,e.write),e.host.afterProgramEmitAndDiagnostics&&e.host.afterProgramEmitAndDiagnostics(t),t.releaseProgram()):e.host.afterEmitBundle&&e.host.afterEmitBundle(r),e.projectCompilerOptions=e.baseCompilerOptions}function Xq(e,t,r,i,o,s,l){let f=r&&!Ss(r.getCompilerOptions());return V2(e,t,o),e.projectStatus.set(t,{type:0,reason:`${l} errors`}),f?{buildResult:s,step:5}:(qq(e,r,i),{buildResult:s,step:7})}function e7(e){return!!e.watcher}function Bme(e,t){let r=fd(e,t),i=e.filesWatched.get(r);if(e.watch&&i){if(!e7(i))return i;if(i.modifiedTime)return i.modifiedTime}let o=$1(e.host,t);return e.watch&&(i?i.modifiedTime=o:e.filesWatched.set(r,o)),o}function t7(e,t,r,i,o,s,l){let f=fd(e,t),d=e.filesWatched.get(f);if(d&&e7(d))d.callbacks.push(r);else{let g=e.watchFile(t,(m,v,S)=>{let x=L.checkDefined(e.filesWatched.get(f));L.assert(e7(x)),x.modifiedTime=S,x.callbacks.forEach(A=>A(m,v,S))},i,o,s,l);e.filesWatched.set(f,{callbacks:[r],watcher:g,modifiedTime:d})}return{close:()=>{let g=L.checkDefined(e.filesWatched.get(f));L.assert(e7(g)),g.callbacks.length===1?(e.filesWatched.delete(f),_m(g)):YD(g.callbacks,r)}}}function Yq(e,t){if(!e.watch)return;let r=e.outputTimeStamps.get(t);return r||e.outputTimeStamps.set(t,r=new Map),r}function $q(e,t,r,i,o){let s=Jg(i),l=Qq(e,s,r),f=SN(e.host);l?(l.buildInfo=t,l.modifiedTime=f,o&2||(l.latestChangedDtsTime=f)):e.buildInfoCache.set(r,{path:fd(e,s),buildInfo:t,modifiedTime:f,latestChangedDtsTime:o&2?void 0:f})}function Qq(e,t,r){let i=fd(e,t),o=e.buildInfoCache.get(r);return o?.path===i?o:void 0}function Ume(e,t,r,i){let o=fd(e,t),s=e.buildInfoCache.get(r);if(s!==void 0&&s.path===o)return s.buildInfo||void 0;let l=e.readFileWithCache(t),f=l?IF(t,l):void 0;return e.buildInfoCache.set(r,{path:o,buildInfo:f||!1,modifiedTime:i||Eh}),f}function Zq(e,t,r,i){let o=Bme(e,t);if(r<o)return{type:6,outOfDateOutputFileName:i,newerInputFileName:t}}function q8e(e,t,r){var i,o;if(!t.fileNames.length&&!FO(t.raw))return{type:16};let s,l=!!e.options.force;if(t.projectReferences){e.projectStatus.set(r,{type:13});for(let $ of t.projectReferences){let fe=$L($),Z=z_(e,fe),U=$T(e,fe,Z),re=eX(e,U,Z);if(!(re.type===13||re.type===16)){if(re.type===0||re.type===12)return{type:12,upstreamProjectName:$.path,upstreamProjectBlocked:re.type===12};if(re.type!==1)return{type:11,upstreamProjectName:$.path};l||(s||(s=[])).push({ref:$,refStatus:re,resolvedRefPath:Z,resolvedConfig:U})}}}if(l)return{type:17};let{host:f}=e,d=Jg(t.options),g,m=ehe,v,S,x;if(d){let $=Qq(e,d,r);if(v=$?.modifiedTime||$1(f,d),v===Eh)return $||e.buildInfoCache.set(r,{path:fd(e,d),buildInfo:!1,modifiedTime:v}),{type:4,missingOutputFileName:d};let fe=Ume(e,d,r,v);if(!fe)return{type:5,fileName:d};if((fe.bundle||fe.program)&&fe.version!==Rf)return{type:14,version:fe.version};if(fe.program){if((i=fe.program.changeFileSet)!=null&&i.length||(t.options.noEmit?vt(fe.program.semanticDiagnosticsPerFile,ba):(o=fe.program.affectedFilesPendingEmit)!=null&&o.length))return{type:8,buildInfoFile:d};if(!t.options.noEmit&&G2(t.options,fe.program.options||{}))return{type:9,buildInfoFile:d};S=fe.program}m=v,g=d}let A,w=Zme,C=!1,P=new Set;for(let $ of t.fileNames){let fe=Bme(e,$);if(fe===Eh)return{type:0,reason:`${$} does not exist`};if(v&&v<fe){let Z,U;if(S){x||(x=Aq(S,d,f)),Z=x.fileInfos.get(fd(e,$));let re=Z?e.readFileWithCache($):void 0;U=re!==void 0?XF(f,re):void 0,Z&&Z===U&&(C=!0)}if(!Z||Z!==U)return{type:6,outOfDateOutputFileName:d,newerInputFileName:$}}fe>w&&(A=$,w=fe),S&&P.add(fd(e,$))}if(S){x||(x=Aq(S,d,f));for(let $ of x.roots)if(!P.has($))return{type:10,buildInfoFile:d,inputFile:$}}if(!d){let $=AF(t,!f.useCaseSensitiveFileNames()),fe=Yq(e,r);for(let Z of $){let U=fd(e,Z),re=fe?.get(U);if(re||(re=$1(e.host,Z),fe?.set(U,re)),re===Eh)return{type:4,missingOutputFileName:Z};if(re<w)return{type:6,outOfDateOutputFileName:Z,newerInputFileName:A};re<m&&(m=re,g=Z)}}let F=e.buildInfoCache.get(r),B=!1,q=!1,W;if(s)for(let{ref:$,refStatus:fe,resolvedConfig:Z,resolvedRefPath:U}of s){if(q=q||!!$.prepend,fe.newestInputFileTime&&fe.newestInputFileTime<=m)continue;if(F&&X8e(e,F,U))return{type:7,outOfDateOutputFileName:d,newerProjectName:$.path};let re=Y8e(e,Z.options,U);if(re&&re<=m){B=!0,W=$.path;continue}return L.assert(g!==void 0,"Should have an oldest output filename here"),{type:7,outOfDateOutputFileName:g,newerProjectName:$.path}}let Y=Zq(e,t.options.configFilePath,m,g);if(Y)return Y;let R=mn(t.options.configFile.extendedSourceFiles||Je,$=>Zq(e,$,m,g));if(R)return R;let ie=mn(e.lastCachedPackageJsonLookups.get(r)||Je,([$])=>Zq(e,$,m,g));return ie||(q&&B?{type:3,outOfDateOutputFileName:g,newerProjectName:W}:{type:B?2:C?15:1,newestInputFileTime:w,newestInputFileName:A,oldestOutputFileName:g})}function X8e(e,t,r){return e.buildInfoCache.get(r).path===t.path}function eX(e,t,r){if(t===void 0)return{type:0,reason:"File deleted mid-build"};let i=e.projectStatus.get(r);if(i!==void 0)return i;Fs("SolutionBuilder::beforeUpToDateCheck");let o=q8e(e,t,r);return Fs("SolutionBuilder::afterUpToDateCheck"),hf("SolutionBuilder::Up-to-date check","SolutionBuilder::beforeUpToDateCheck","SolutionBuilder::afterUpToDateCheck"),e.projectStatus.set(r,o),o}function Vme(e,t,r,i,o){if(t.options.noEmit)return;let s,l=Jg(t.options);if(l){o?.has(fd(e,l))||(e.options.verbose&&hu(e,i,t.options.configFilePath),e.host.setModifiedTime(l,s=SN(e.host)),Qq(e,l,r).modifiedTime=s),e.outputTimeStamps.delete(r);return}let{host:f}=e,d=AF(t,!f.useCaseSensitiveFileNames()),g=Yq(e,r),m=g?new Set:void 0;if(!o||d.length!==o.size){let v=!!e.options.verbose;for(let S of d){let x=fd(e,S);o?.has(x)||(v&&(v=!1,hu(e,i,t.options.configFilePath)),f.setModifiedTime(S,s||(s=SN(e.host))),g&&(g.set(x,s),m.add(x)))}}g?.forEach((v,S)=>{!o?.has(S)&&!m.has(S)&&g.delete(S)})}function Y8e(e,t,r){if(!t.composite)return;let i=L.checkDefined(e.buildInfoCache.get(r));if(i.latestChangedDtsTime!==void 0)return i.latestChangedDtsTime||void 0;let o=i.buildInfo&&i.buildInfo.program&&i.buildInfo.program.latestChangedDtsFile?e.host.getModifiedTime(_a(i.buildInfo.program.latestChangedDtsFile,ni(i.path))):void 0;return i.latestChangedDtsTime=o||!1,o}function jme(e,t,r){if(e.options.dry)return hu(e,_.A_non_dry_build_would_update_timestamps_for_output_of_project_0,t.options.configFilePath);Vme(e,t,r,_.Updating_output_timestamps_of_project_0),e.projectStatus.set(r,{type:1,oldestOutputFileName:JK(t,!e.host.useCaseSensitiveFileNames())})}function $8e(e,t,r,i,o,s,l){if(!(l&124)&&o.options.composite)for(let f=i+1;f<s.length;f++){let d=s[f],g=z_(e,d);if(e.projectPendingBuild.has(g))continue;let m=$T(e,d,g);if(!(!m||!m.projectReferences))for(let v of m.projectReferences){let S=U2(e,v.path);if(z_(e,S)!==r)continue;let x=e.projectStatus.get(g);if(x)switch(x.type){case 1:if(l&2){v.prepend?e.projectStatus.set(g,{type:3,outOfDateOutputFileName:x.oldestOutputFileName,newerProjectName:t}):x.type=2;break}case 15:case 2:case 3:l&2||e.projectStatus.set(g,{type:7,outOfDateOutputFileName:x.type===3?x.outOfDateOutputFileName:x.oldestOutputFileName,newerProjectName:t});break;case 12:z_(e,U2(e,x.upstreamProjectName))===r&&wme(e,g);break}Rme(e,g,0);break}}}function Hme(e,t,r,i,o,s){Fs("SolutionBuilder::beforeBuild");let l=Q8e(e,t,r,i,o,s);return Fs("SolutionBuilder::afterBuild"),hf("SolutionBuilder::Build","SolutionBuilder::beforeBuild","SolutionBuilder::afterBuild"),l}function Q8e(e,t,r,i,o,s){let l=kme(e,t,s);if(!l)return 3;Ome(e,r);let f=!0,d=0;for(;;){let g=Kq(e,l,f);if(!g)break;f=!1,g.done(r,i,o?.(g.project)),e.diagnostics.has(g.projectPath)||d++}return Jq(e),$me(e,l),n6e(e,l),YS(l)?4:l.some(g=>e.diagnostics.has(z_(e,g)))?d?2:1:0}function Wme(e,t,r){Fs("SolutionBuilder::beforeClean");let i=Z8e(e,t,r);return Fs("SolutionBuilder::afterClean"),hf("SolutionBuilder::Clean","SolutionBuilder::beforeClean","SolutionBuilder::afterClean"),i}function Z8e(e,t,r){let i=kme(e,t,r);if(!i)return 3;if(YS(i))return CN(e,i.circularDiagnostics),4;let{options:o,host:s}=e,l=o.dry?[]:void 0;for(let f of i){let d=z_(e,f),g=$T(e,f,d);if(g===void 0){Yme(e,d);continue}let m=AF(g,!s.useCaseSensitiveFileNames());if(!m.length)continue;let v=new Set(g.fileNames.map(S=>fd(e,S)));for(let S of m)v.has(fd(e,S))||s.fileExists(S)&&(l?l.push(S):(s.deleteFile(S),tX(e,d,0)))}return l&&hu(e,_.A_non_dry_build_would_delete_the_following_files_Colon_0,l.map(f=>`\r
+ * ${f}`).join("")),0}function tX(e,t,r){e.host.getParsedCommandLine&&r===1&&(r=2),r===2&&(e.configFileCache.delete(t),e.buildOrder=void 0),e.needsSummary=!0,wme(e,t),Rme(e,t,r),Dme(e)}function AN(e,t,r){e.reportFileChangeDetected=!0,tX(e,t,r),zme(e,250,!0)}function zme(e,t,r){let{hostWithWatch:i}=e;!i.setTimeout||!i.clearTimeout||(e.timerToBuildInvalidatedProject&&i.clearTimeout(e.timerToBuildInvalidatedProject),e.timerToBuildInvalidatedProject=i.setTimeout(e6e,t,e,r))}function e6e(e,t){Fs("SolutionBuilder::beforeBuild");let r=t6e(e,t);Fs("SolutionBuilder::afterBuild"),hf("SolutionBuilder::Build","SolutionBuilder::beforeBuild","SolutionBuilder::afterBuild"),r&&$me(e,r)}function t6e(e,t){e.timerToBuildInvalidatedProject=void 0,e.reportFileChangeDetected&&(e.reportFileChangeDetected=!1,e.projectErrorsReported.clear(),iX(e,_.File_change_detected_Starting_incremental_compilation));let r=0,i=xN(e),o=Kq(e,i,!1);if(o)for(o.done(),r++;e.projectPendingBuild.size;){if(e.timerToBuildInvalidatedProject)return;let s=Mme(e,i,!1);if(!s)break;if(s.kind!==2&&(t||r===5)){zme(e,100,!1);return}Fme(e,s,i).done(),s.kind!==2&&r++}return Jq(e),i}function Jme(e,t,r,i){!e.watch||e.allWatchedConfigFiles.has(r)||e.allWatchedConfigFiles.set(r,t7(e,t,()=>AN(e,r,2),2e3,i?.watchOptions,Hf.ConfigFile,t))}function Kme(e,t,r){YK(t,r?.options,e.allWatchedExtendedConfigFiles,(i,o)=>t7(e,i,()=>{var s;return(s=e.allWatchedExtendedConfigFiles.get(o))==null?void 0:s.projects.forEach(l=>AN(e,l,2))},2e3,r?.watchOptions,Hf.ExtendedConfigFile),i=>fd(e,i))}function qme(e,t,r,i){e.watch&&kF(zq(e.allWatchedWildcardDirectories,r),new Map(Object.entries(i.wildcardDirectories)),(o,s)=>e.watchDirectory(o,l=>{var f;DF({watchedDirPath:fd(e,o),fileOrDirectory:l,fileOrDirectoryPath:fd(e,l),configFileName:t,currentDirectory:e.compilerHost.getCurrentDirectory(),options:i.options,program:e.builderPrograms.get(r)||((f=H8e(e,r))==null?void 0:f.fileNames),useCaseSensitiveFileNames:e.parseConfigFileHost.useCaseSensitiveFileNames,writeLog:d=>e.writeLog(d),toPath:d=>fd(e,d)})||AN(e,r,1)},s,i?.watchOptions,Hf.WildcardDirectory,t))}function nX(e,t,r,i){e.watch&&e2(zq(e.allWatchedInputFiles,r),p0(i.fileNames,o=>fd(e,o)),{createNewValue:(o,s)=>t7(e,s,()=>AN(e,r,0),250,i?.watchOptions,Hf.SourceFile,t),onDeleteValue:am})}function rX(e,t,r,i){!e.watch||!e.lastCachedPackageJsonLookups||e2(zq(e.allWatchedPackageJsonFiles,r),new Map(e.lastCachedPackageJsonLookups.get(r)),{createNewValue:(o,s)=>t7(e,o,()=>AN(e,r,0),2e3,i?.watchOptions,Hf.PackageJson,t),onDeleteValue:am})}function n6e(e,t){if(e.watchAllProjectsPending){Fs("SolutionBuilder::beforeWatcherCreation"),e.watchAllProjectsPending=!1;for(let r of ZF(t)){let i=z_(e,r),o=$T(e,r,i);Jme(e,r,i,o),Kme(e,i,o),o&&(qme(e,r,i,o),nX(e,r,i,o),rX(e,r,i,o))}Fs("SolutionBuilder::afterWatcherCreation"),hf("SolutionBuilder::Watcher creation","SolutionBuilder::beforeWatcherCreation","SolutionBuilder::afterWatcherCreation")}}function r6e(e){Tf(e.allWatchedConfigFiles,am),Tf(e.allWatchedExtendedConfigFiles,_m),Tf(e.allWatchedWildcardDirectories,t=>Tf(t,_m)),Tf(e.allWatchedInputFiles,t=>Tf(t,am)),Tf(e.allWatchedPackageJsonFiles,t=>Tf(t,am))}function Xme(e,t,r,i,o){let s=j8e(e,t,r,i,o);return{build:(l,f,d,g)=>Hme(s,l,f,d,g),clean:l=>Wme(s,l),buildReferences:(l,f,d,g)=>Hme(s,l,f,d,g,!0),cleanReferences:l=>Wme(s,l,!0),getNextInvalidatedProject:l=>(Ome(s,l),Kq(s,xN(s),!1)),getBuildOrder:()=>xN(s),getUpToDateStatusOfProject:l=>{let f=U2(s,l),d=z_(s,f);return eX(s,$T(s,f,d),d)},invalidateProject:(l,f)=>tX(s,l,f||0),close:()=>r6e(s)}}function cl(e,t){return rI(t,e.compilerHost.getCurrentDirectory(),e.compilerHost.getCanonicalFileName)}function hu(e,t,...r){e.host.reportSolutionBuilderStatus(ps(t,...r))}function iX(e,t,...r){var i,o;(o=(i=e.hostWithWatch).onWatchStatusChange)==null||o.call(i,ps(t,...r),e.host.getNewLine(),e.baseCompilerOptions)}function CN({host:e},t){t.forEach(r=>e.reportDiagnostic(r))}function V2(e,t,r){CN(e,r),e.projectErrorsReported.set(t,!0),r.length&&e.diagnostics.set(t,r)}function Yme(e,t){V2(e,t,[e.configFileCache.get(t)])}function $me(e,t){if(!e.needsSummary)return;e.needsSummary=!1;let r=e.watch||!!e.host.reportErrorSummary,{diagnostics:i}=e,o=0,s=[];YS(t)?(Qme(e,t.buildOrder),CN(e,t.circularDiagnostics),r&&(o+=JF(t.circularDiagnostics)),r&&(s=[...s,...KF(t.circularDiagnostics)])):(t.forEach(l=>{let f=z_(e,l);e.projectErrorsReported.has(f)||CN(e,i.get(f)||Je)}),r&&i.forEach(l=>o+=JF(l)),r&&i.forEach(l=>[...s,...KF(l)])),e.watch?iX(e,wq(o),o):e.host.reportErrorSummary&&e.host.reportErrorSummary(o,s)}function Qme(e,t){e.options.verbose&&hu(e,_.Projects_in_this_build_Colon_0,t.map(r=>`\r
+    * `+cl(e,r)).join(""))}function i6e(e,t,r){switch(r.type){case 6:return hu(e,_.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,cl(e,t),cl(e,r.outOfDateOutputFileName),cl(e,r.newerInputFileName));case 7:return hu(e,_.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,cl(e,t),cl(e,r.outOfDateOutputFileName),cl(e,r.newerProjectName));case 4:return hu(e,_.Project_0_is_out_of_date_because_output_file_1_does_not_exist,cl(e,t),cl(e,r.missingOutputFileName));case 5:return hu(e,_.Project_0_is_out_of_date_because_there_was_error_reading_file_1,cl(e,t),cl(e,r.fileName));case 8:return hu(e,_.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted,cl(e,t),cl(e,r.buildInfoFile));case 9:return hu(e,_.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions,cl(e,t),cl(e,r.buildInfoFile));case 10:return hu(e,_.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more,cl(e,t),cl(e,r.buildInfoFile),cl(e,r.inputFile));case 1:if(r.newestInputFileTime!==void 0)return hu(e,_.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2,cl(e,t),cl(e,r.newestInputFileName||""),cl(e,r.oldestOutputFileName||""));break;case 3:return hu(e,_.Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed,cl(e,t),cl(e,r.newerProjectName));case 2:return hu(e,_.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies,cl(e,t));case 15:return hu(e,_.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files,cl(e,t));case 11:return hu(e,_.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date,cl(e,t),cl(e,r.upstreamProjectName));case 12:return hu(e,r.upstreamProjectBlocked?_.Project_0_can_t_be_built_because_its_dependency_1_was_not_built:_.Project_0_can_t_be_built_because_its_dependency_1_has_errors,cl(e,t),cl(e,r.upstreamProjectName));case 0:return hu(e,_.Failed_to_parse_file_0_Colon_1,cl(e,t),r.reason);case 14:return hu(e,_.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2,cl(e,t),r.version,Rf);case 17:return hu(e,_.Project_0_is_being_forcibly_rebuilt,cl(e,t));case 16:case 13:break;default:}}function n7(e,t,r){e.options.verbose&&i6e(e,t,r)}var Zme,ehe,aX,a6e=gt({"src/compiler/tsbuildPublic.ts"(){"use strict";fa(),fa(),E0(),Zme=new Date(-864e13),ehe=new Date(864e13),aX=(e=>(e[e.Build=0]="Build",e[e.UpdateBundle=1]="UpdateBundle",e[e.UpdateOutputFileStamps=2]="UpdateOutputFileStamps",e))(aX||{})}}),fa=gt({"src/compiler/_namespaces/ts.ts"(){"use strict";gke(),Gke(),Bke(),Xke(),Qke(),Zke(),uDe(),noe(),EDe(),kDe(),DDe(),PDe(),nwe(),ERe(),TRe(),SRe(),xRe(),MRe(),URe(),VRe(),aOe(),GOe(),BOe(),YOe(),SNe(),ZNe(),aPe(),oPe(),gPe(),SPe(),RPe(),BPe(),QPe(),ZPe(),eMe(),oMe(),sMe(),cMe(),lMe(),uMe(),dMe(),fMe(),_Me(),pMe(),mMe(),hMe(),gMe(),yMe(),vMe(),EMe(),TMe(),SMe(),xMe(),AMe(),CMe(),RMe(),GMe(),XMe(),QMe(),i8e(),a8e(),o8e(),E8e(),x8e(),C8e(),w8e(),N8e(),P8e(),a6e(),dK(),E0()}});function the(e,t){return new r_(zD(t,`ts${Sg}`)||zD(t,"latest")).compareTo(e.version)<=0}function nhe(e){return uX.has(e)?"node":e}function o6e(e,t){let r=OO(t,i=>e.readFile(i));return new Map(Object.entries(r.config))}function s6e(e,t){var r;let i=OO(t,o=>e.readFile(o));if((r=i.config)!=null&&r.simpleMap)return new Map(Object.entries(i.config.simpleMap))}function c6e(e,t,r,i,o,s,l,f,d,g){if(!l||!l.enable)return{cachedTypingPaths:[],newTypingNames:[],filesToWatch:[]};let m=new Map;r=Zi(r,q=>{let W=So(q);if(ES(W))return W});let v=[];l.include&&P(l.include,"Explicitly included types");let S=l.exclude||[];if(!g.types){let q=new Set(r.map(ni));q.add(i),q.forEach(W=>{F(W,"bower.json","bower_components",v),F(W,"package.json","node_modules",v)})}if(l.disableFilenameBasedTypeAcquisition||B(r),f){let q=fA(f.map(nhe),z1,su);P(q,"Inferred typings from unresolved imports")}s.forEach((q,W)=>{let Y=d.get(W);m.has(W)&&m.get(W)===void 0&&Y!==void 0&&the(q,Y)&&m.set(W,q.typingLocation)});for(let q of S)m.delete(q)&&t&&t(`Typing for ${q} is in exclude list, will be ignored.`);let x=[],A=[];m.forEach((q,W)=>{q!==void 0?A.push(q):x.push(W)});let w={cachedTypingPaths:A,newTypingNames:x,filesToWatch:v};return t&&t(`Result: ${JSON.stringify(w)}`),w;function C(q){m.has(q)||m.set(q,void 0)}function P(q,W){t&&t(`${W}: ${JSON.stringify(q)}`),mn(q,C)}function F(q,W,Y,R){let ie=vi(q,W),$,fe;e.fileExists(ie)&&(R.push(ie),$=OO(ie,le=>e.readFile(le)).config,fe=Uo([$.dependencies,$.devDependencies,$.optionalDependencies,$.peerDependencies],bh),P(fe,`Typing names in '${ie}' dependencies`));let Z=vi(q,Y);if(R.push(Z),!e.directoryExists(Z))return;let U=[],re=fe?fe.map(le=>vi(Z,le,W)):e.readDirectory(Z,[".json"],void 0,void 0,3).filter(le=>{if(Hl(le)!==W)return!1;let _e=Ou(So(le)),ge=_e[_e.length-3][0]==="@";return ge&&n_(_e[_e.length-4])===Y||!ge&&n_(_e[_e.length-3])===Y});t&&t(`Searching for typing names in ${Z}; all files: ${JSON.stringify(re)}`);for(let le of re){let _e=So(le),X=OO(_e,we=>e.readFile(we)).config;if(!X.name)continue;let Ve=X.types||X.typings;if(Ve){let we=_a(Ve,ni(_e));e.fileExists(we)?(t&&t(`    Package '${X.name}' provides its own types.`),m.set(X.name,we)):t&&t(`    Package '${X.name}' provides its own types but they are missing.`)}else U.push(X.name)}P(U,"    Found package names")}function B(q){let W=Zi(q,R=>{if(!ES(R))return;let ie=ld(n_(Hl(R))),$=Lae(ie);return o.get($)});W.length&&P(W,"Inferred typings from file names"),vt(q,R=>Gc(R,".jsx"))&&(t&&t("Inferred 'react' typings due to presence of '.jsx' extension"),C("react"))}}function l6e(e){return oX(e,!0)}function oX(e,t){if(!e)return 1;if(e.length>fX)return 2;if(e.charCodeAt(0)===46)return 3;if(e.charCodeAt(0)===95)return 4;if(t){let r=/^@([^/]+)\/([^/]+)$/.exec(e);if(r){let i=oX(r[1],!1);if(i!==0)return{name:r[1],isScopeName:!0,result:i};let o=oX(r[2],!1);return o!==0?{name:r[2],isScopeName:!1,result:o}:0}}return encodeURIComponent(e)!==e?5:0}function u6e(e,t){return typeof e=="object"?rhe(t,e.result,e.name,e.isScopeName):rhe(t,e,t,!1)}function rhe(e,t,r,i){let o=i?"Scope":"Package";switch(t){case 1:return`'${e}':: ${o} name '${r}' cannot be empty`;case 2:return`'${e}':: ${o} name '${r}' should be less than ${fX} characters`;case 3:return`'${e}':: ${o} name '${r}' cannot start with '.'`;case 4:return`'${e}':: ${o} name '${r}' cannot start with '_'`;case 5:return`'${e}':: ${o} name '${r}' contains non URI safe characters`;case 0:return L.fail();default:throw L.assertNever(t)}}var sX,cX,lX,uX,dX,fX,d6e=gt({"src/jsTyping/jsTyping.ts"(){"use strict";r7(),sX=["assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","https","http2","inspector","module","net","os","path","perf_hooks","process","punycode","querystring","readline","repl","stream","stream/promises","string_decoder","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib"],cX=sX.map(e=>`node:${e}`),lX=[...sX,...cX],uX=new Set(lX),dX=(e=>(e[e.Ok=0]="Ok",e[e.EmptyName=1]="EmptyName",e[e.NameTooLong=2]="NameTooLong",e[e.NameStartsWithDot=3]="NameStartsWithDot",e[e.NameStartsWithUnderscore=4]="NameStartsWithUnderscore",e[e.NameContainsNonURISafeCharacters=5]="NameContainsNonURISafeCharacters",e))(dX||{}),fX=214}}),QT={};Mo(QT,{NameValidationResult:()=>dX,discoverTypings:()=>c6e,isTypingUpToDate:()=>the,loadSafeList:()=>o6e,loadTypesMap:()=>s6e,nodeCoreModuleList:()=>lX,nodeCoreModules:()=>uX,nonRelativeModuleNameForTypingCache:()=>nhe,prefixedNodeCoreModuleList:()=>cX,renderPackageNameValidationFailure:()=>u6e,validatePackageName:()=>l6e});var f6e=gt({"src/jsTyping/_namespaces/ts.JsTyping.ts"(){"use strict";d6e()}});function _6e(e){return xl.args.indexOf(e)>=0}function p6e(e){let t=xl.args.indexOf(e);return t>=0&&t<xl.args.length-1?xl.args[t+1]:void 0}function m6e(){let e=new Date;return`${J1(e.getHours().toString(),2,"0")}:${J1(e.getMinutes().toString(),2,"0")}:${J1(e.getSeconds().toString(),2,"0")}.${J1(e.getMilliseconds().toString(),3,"0")}`}var ihe,ahe,ohe,she,che,lhe,uhe,_X,h6e=gt({"src/jsTyping/shared.ts"(){"use strict";r7(),ihe="action::set",ahe="action::invalidate",ohe="action::packageInstalled",she="event::typesRegistry",che="event::beginInstallTypes",lhe="event::endInstallTypes",uhe="event::initializationFailed",(e=>{e.GlobalCacheLocation="--globalTypingsCacheLocation",e.LogFile="--logFile",e.EnableTelemetry="--enableTelemetry",e.TypingSafeListLocation="--typingSafeListLocation",e.TypesMapLocation="--typesMapLocation",e.NpmLocation="--npmLocation",e.ValidateDefaultNpmLocation="--validateDefaultNpmLocation"})(_X||(_X={}))}}),g6e=gt({"src/jsTyping/types.ts"(){"use strict"}}),dhe={};Mo(dhe,{ActionInvalidate:()=>ahe,ActionPackageInstalled:()=>ohe,ActionSet:()=>ihe,Arguments:()=>_X,EventBeginInstallTypes:()=>che,EventEndInstallTypes:()=>lhe,EventInitializationFailed:()=>uhe,EventTypesRegistry:()=>she,findArgument:()=>p6e,hasArgument:()=>_6e,nowString:()=>m6e});var y6e=gt({"src/jsTyping/_namespaces/ts.server.ts"(){"use strict";h6e(),g6e()}}),r7=gt({"src/jsTyping/_namespaces/ts.ts"(){"use strict";fa(),f6e(),y6e()}});function fhe(e){return{indentSize:4,tabSize:4,newLineCharacter:e||`
+`,convertTabsToSpaces:!0,indentStyle:2,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:"ignore",trimTrailingWhitespace:!0}}var pX,mX,hX,gX,Cp,yX,vX,bX,EX,TX,SX,xX,_he,IN,AX,CX,IX,LX,kX,DX,wX,RX,OX,v6e=gt({"src/services/types.ts"(){"use strict";(e=>{class t{constructor(o){this.text=o}getText(o,s){return o===0&&s===this.text.length?this.text:this.text.substring(o,s)}getLength(){return this.text.length}getChangeRange(){}}function r(i){return new t(i)}e.fromString=r})(pX||(pX={})),mX=(e=>(e[e.Dependencies=1]="Dependencies",e[e.DevDependencies=2]="DevDependencies",e[e.PeerDependencies=4]="PeerDependencies",e[e.OptionalDependencies=8]="OptionalDependencies",e[e.All=15]="All",e))(mX||{}),hX=(e=>(e[e.Off=0]="Off",e[e.On=1]="On",e[e.Auto=2]="Auto",e))(hX||{}),gX=(e=>(e[e.Semantic=0]="Semantic",e[e.PartialSemantic=1]="PartialSemantic",e[e.Syntactic=2]="Syntactic",e))(gX||{}),Cp={},yX=(e=>(e.Original="original",e.TwentyTwenty="2020",e))(yX||{}),vX=(e=>(e.All="All",e.SortAndCombine="SortAndCombine",e.RemoveUnused="RemoveUnused",e))(vX||{}),bX=(e=>(e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions",e))(bX||{}),EX=(e=>(e.Type="Type",e.Parameter="Parameter",e.Enum="Enum",e))(EX||{}),TX=(e=>(e.none="none",e.definition="definition",e.reference="reference",e.writtenReference="writtenReference",e))(TX||{}),SX=(e=>(e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart",e))(SX||{}),xX=(e=>(e.Ignore="ignore",e.Insert="insert",e.Remove="remove",e))(xX||{}),_he=fhe(`
+`),IN=(e=>(e[e.aliasName=0]="aliasName",e[e.className=1]="className",e[e.enumName=2]="enumName",e[e.fieldName=3]="fieldName",e[e.interfaceName=4]="interfaceName",e[e.keyword=5]="keyword",e[e.lineBreak=6]="lineBreak",e[e.numericLiteral=7]="numericLiteral",e[e.stringLiteral=8]="stringLiteral",e[e.localName=9]="localName",e[e.methodName=10]="methodName",e[e.moduleName=11]="moduleName",e[e.operator=12]="operator",e[e.parameterName=13]="parameterName",e[e.propertyName=14]="propertyName",e[e.punctuation=15]="punctuation",e[e.space=16]="space",e[e.text=17]="text",e[e.typeParameterName=18]="typeParameterName",e[e.enumMemberName=19]="enumMemberName",e[e.functionName=20]="functionName",e[e.regularExpressionLiteral=21]="regularExpressionLiteral",e[e.link=22]="link",e[e.linkName=23]="linkName",e[e.linkText=24]="linkText",e))(IN||{}),AX=(e=>(e[e.None=0]="None",e[e.MayIncludeAutoImports=1]="MayIncludeAutoImports",e[e.IsImportStatementCompletion=2]="IsImportStatementCompletion",e[e.IsContinuation=4]="IsContinuation",e[e.ResolvedModuleSpecifiers=8]="ResolvedModuleSpecifiers",e[e.ResolvedModuleSpecifiersBeyondLimit=16]="ResolvedModuleSpecifiersBeyondLimit",e[e.MayIncludeMethodSnippets=32]="MayIncludeMethodSnippets",e))(AX||{}),CX=(e=>(e.Comment="comment",e.Region="region",e.Code="code",e.Imports="imports",e))(CX||{}),IX=(e=>(e[e.JavaScript=0]="JavaScript",e[e.SourceMap=1]="SourceMap",e[e.Declaration=2]="Declaration",e))(IX||{}),LX=(e=>(e[e.None=0]="None",e[e.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",e[e.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",e[e.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",e[e.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",e[e.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",e[e.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition",e))(LX||{}),kX=(e=>(e[e.Punctuation=0]="Punctuation",e[e.Keyword=1]="Keyword",e[e.Operator=2]="Operator",e[e.Comment=3]="Comment",e[e.Whitespace=4]="Whitespace",e[e.Identifier=5]="Identifier",e[e.NumberLiteral=6]="NumberLiteral",e[e.BigIntLiteral=7]="BigIntLiteral",e[e.StringLiteral=8]="StringLiteral",e[e.RegExpLiteral=9]="RegExpLiteral",e))(kX||{}),DX=(e=>(e.unknown="",e.warning="warning",e.keyword="keyword",e.scriptElement="script",e.moduleElement="module",e.classElement="class",e.localClassElement="local class",e.interfaceElement="interface",e.typeElement="type",e.enumElement="enum",e.enumMemberElement="enum member",e.variableElement="var",e.localVariableElement="local var",e.functionElement="function",e.localFunctionElement="local function",e.memberFunctionElement="method",e.memberGetAccessorElement="getter",e.memberSetAccessorElement="setter",e.memberVariableElement="property",e.memberAccessorVariableElement="accessor",e.constructorImplementationElement="constructor",e.callSignatureElement="call",e.indexSignatureElement="index",e.constructSignatureElement="construct",e.parameterElement="parameter",e.typeParameterElement="type parameter",e.primitiveType="primitive type",e.label="label",e.alias="alias",e.constElement="const",e.letElement="let",e.directory="directory",e.externalModuleName="external module name",e.jsxAttribute="JSX attribute",e.string="string",e.link="link",e.linkName="link name",e.linkText="link text",e))(DX||{}),wX=(e=>(e.none="",e.publicMemberModifier="public",e.privateMemberModifier="private",e.protectedMemberModifier="protected",e.exportedModifier="export",e.ambientModifier="declare",e.staticModifier="static",e.abstractModifier="abstract",e.optionalModifier="optional",e.deprecatedModifier="deprecated",e.dtsModifier=".d.ts",e.tsModifier=".ts",e.tsxModifier=".tsx",e.jsModifier=".js",e.jsxModifier=".jsx",e.jsonModifier=".json",e.dmtsModifier=".d.mts",e.mtsModifier=".mts",e.mjsModifier=".mjs",e.dctsModifier=".d.cts",e.ctsModifier=".cts",e.cjsModifier=".cjs",e))(wX||{}),RX=(e=>(e.comment="comment",e.identifier="identifier",e.keyword="keyword",e.numericLiteral="number",e.bigintLiteral="bigint",e.operator="operator",e.stringLiteral="string",e.whiteSpace="whitespace",e.text="text",e.punctuation="punctuation",e.className="class name",e.enumName="enum name",e.interfaceName="interface name",e.moduleName="module name",e.typeParameterName="type parameter name",e.typeAliasName="type alias name",e.parameterName="parameter name",e.docCommentTagName="doc comment tag name",e.jsxOpenTagName="jsx open tag name",e.jsxCloseTagName="jsx close tag name",e.jsxSelfClosingTagName="jsx self closing tag name",e.jsxAttribute="jsx attribute",e.jsxText="jsx text",e.jsxAttributeStringLiteralValue="jsx attribute string literal value",e))(RX||{}),OX=(e=>(e[e.comment=1]="comment",e[e.identifier=2]="identifier",e[e.keyword=3]="keyword",e[e.numericLiteral=4]="numericLiteral",e[e.operator=5]="operator",e[e.stringLiteral=6]="stringLiteral",e[e.regularExpressionLiteral=7]="regularExpressionLiteral",e[e.whiteSpace=8]="whiteSpace",e[e.text=9]="text",e[e.punctuation=10]="punctuation",e[e.className=11]="className",e[e.enumName=12]="enumName",e[e.interfaceName=13]="interfaceName",e[e.moduleName=14]="moduleName",e[e.typeParameterName=15]="typeParameterName",e[e.typeAliasName=16]="typeAliasName",e[e.parameterName=17]="parameterName",e[e.docCommentTagName=18]="docCommentTagName",e[e.jsxOpenTagName=19]="jsxOpenTagName",e[e.jsxCloseTagName=20]="jsxCloseTagName",e[e.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",e[e.jsxAttribute=22]="jsxAttribute",e[e.jsxText=23]="jsxText",e[e.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",e[e.bigintLiteral=25]="bigintLiteral",e))(OX||{})}});function LN(e){switch(e.kind){case 257:return Yn(e)&&Ij(e)?7:1;case 166:case 205:case 169:case 168:case 299:case 300:case 171:case 170:case 173:case 174:case 175:case 259:case 215:case 216:case 295:case 288:return 1;case 165:case 261:case 262:case 184:return 2;case 349:return e.name===void 0?3:2;case 302:case 260:return 3;case 264:return lu(e)||Gh(e)===1?5:4;case 263:case 272:case 273:case 268:case 269:case 274:case 275:return 7;case 308:return 5}return 7}function ZT(e){e=zX(e);let t=e.parent;return e.kind===308?1:pc(t)||Mu(t)||um(t)||$u(t)||lm(t)||Nl(t)&&e===t.name?7:i7(e)?b6e(e):Rh(e)?LN(t):Cd(e)&&jn(e,Kp(IL,iS,gb))?7:x6e(e)?2:E6e(e)?4:_c(t)?(L.assert(H_(t.parent)),2):mb(t)?3:1}function b6e(e){let t=e.kind===163?e:Yu(e.parent)&&e.parent.right===e?e.parent:void 0;return t&&t.parent.kind===268?7:4}function i7(e){for(;e.parent.kind===163;)e=e.parent;return GA(e.parent)&&e.parent.moduleReference===e}function E6e(e){return T6e(e)||S6e(e)}function T6e(e){let t=e,r=!0;if(t.parent.kind===163){for(;t.parent&&t.parent.kind===163;)t=t.parent;r=t.right===e}return t.parent.kind===180&&!r}function S6e(e){let t=e,r=!0;if(t.parent.kind===208){for(;t.parent&&t.parent.kind===208;)t=t.parent;r=t.name===e}if(!r&&t.parent.kind===230&&t.parent.parent.kind===294){let i=t.parent.parent.parent;return i.kind===260&&t.parent.parent.token===117||i.kind===261&&t.parent.parent.token===94}return!1}function x6e(e){switch(zI(e)&&(e=e.parent),e.kind){case 108:return!Dh(e);case 194:return!0}switch(e.parent.kind){case 180:return!0;case 202:return!e.parent.isTypeOf;case 230:return Gm(e.parent)}return!1}function NX(e,t=!1,r=!1){return ek(e,Pa,a7,t,r)}function ZL(e,t=!1,r=!1){return ek(e,z0,a7,t,r)}function PX(e,t=!1,r=!1){return ek(e,Ih,a7,t,r)}function phe(e,t=!1,r=!1){return ek(e,PT,A6e,t,r)}function mhe(e,t=!1,r=!1){return ek(e,du,a7,t,r)}function hhe(e,t=!1,r=!1){return ek(e,Au,C6e,t,r)}function a7(e){return e.expression}function A6e(e){return e.tag}function C6e(e){return e.tagName}function ek(e,t,r,i,o){let s=i?ghe(e):o7(e);return o&&(s=ql(s)),!!s&&!!s.parent&&t(s.parent)&&r(s.parent)===s}function o7(e){return j2(e)?e.parent:e}function ghe(e){return j2(e)||BX(e)?e.parent:e}function s7(e,t){for(;e;){if(e.kind===253&&e.label.escapedText===t)return e.label;e=e.parent}}function kN(e,t){return br(e.expression)?e.expression.name.text===t:!1}function DN(e){var t;return Re(e)&&((t=zr(e.parent,hI))==null?void 0:t.label)===e}function MX(e){var t;return Re(e)&&((t=zr(e.parent,J0))==null?void 0:t.label)===e}function FX(e){return MX(e)||DN(e)}function GX(e){var t;return((t=zr(e.parent,EI))==null?void 0:t.tagName)===e}function yhe(e){var t;return((t=zr(e.parent,Yu))==null?void 0:t.right)===e}function j2(e){var t;return((t=zr(e.parent,br))==null?void 0:t.name)===e}function BX(e){var t;return((t=zr(e.parent,Vs))==null?void 0:t.argumentExpression)===e}function UX(e){var t;return((t=zr(e.parent,Tc))==null?void 0:t.name)===e}function VX(e){var t;return Re(e)&&((t=zr(e.parent,Ia))==null?void 0:t.name)===e}function c7(e){switch(e.parent.kind){case 169:case 168:case 299:case 302:case 171:case 170:case 174:case 175:case 264:return sa(e.parent)===e;case 209:return e.parent.argumentExpression===e;case 164:return!0;case 198:return e.parent.parent.kind===196;default:return!1}}function vhe(e){return ab(e.parent.parent)&&wI(e.parent.parent)===e}function e1(e){for(Ff(e)&&(e=e.parent.parent);;){if(e=e.parent,!e)return;switch(e.kind){case 308:case 171:case 170:case 259:case 215:case 174:case 175:case 260:case 261:case 263:case 264:return e}}}function aE(e){switch(e.kind){case 308:return Lc(e)?"module":"script";case 264:return"module";case 260:case 228:return"class";case 261:return"interface";case 262:case 341:case 349:return"type";case 263:return"enum";case 257:return t(e);case 205:return t(nm(e));case 216:case 259:case 215:return"function";case 174:return"getter";case 175:return"setter";case 171:case 170:return"method";case 299:let{initializer:r}=e;return Ia(r)?"method":"property";case 169:case 168:case 300:case 301:return"property";case 178:return"index";case 177:return"construct";case 176:return"call";case 173:case 172:return"constructor";case 165:return"type parameter";case 302:return"enum member";case 166:return Mr(e,16476)?"property":"parameter";case 268:case 273:case 278:case 271:case 277:return"alias";case 223:let i=ic(e),{right:o}=e;switch(i){case 7:case 8:case 9:case 0:return"";case 1:case 2:let l=aE(o);return l===""?"const":l;case 3:return ms(o)?"method":"property";case 4:return"property";case 5:return ms(o)?"method":"property";case 6:return"local class";default:return""}case 79:return lm(e.parent)?"alias":"";case 274:let s=aE(e.expression);return s===""?"const":s;default:return""}function t(r){return kh(r)?"const":II(r)?"let":"var"}}function H2(e){switch(e.kind){case 108:return!0;case 79:return rW(e)&&e.parent.kind===166;default:return!1}}function Wf(e,t){let r=Sh(t),i=t.getLineAndCharacterOfPosition(e).line;return r[i]}function Od(e,t){return jX(e.pos,e.end,t)}function bhe(e,t){return RN(e,t.pos)&&RN(e,t.end)}function wN(e,t){return e.pos<=t&&t<=e.end}function RN(e,t){return e.pos<t&&t<e.end}function jX(e,t,r){return e<=r.pos&&t>=r.end}function ON(e,t,r){return e.pos<=t&&e.end>=r}function tk(e,t,r){return l7(e.pos,e.end,t,r)}function HX(e,t,r,i){return l7(e.getStart(t),e.end,r,i)}function l7(e,t,r,i){let o=Math.max(e,r),s=Math.min(t,i);return o<s}function WX(e,t,r){return L.assert(e.pos<=t),t<e.end||!v_(e,r)}function v_(e,t){if(e===void 0||rc(e))return!1;switch(e.kind){case 260:case 261:case 263:case 207:case 203:case 184:case 238:case 265:case 266:case 272:case 276:return u7(e,19,t);case 295:return v_(e.block,t);case 211:if(!e.arguments)return!0;case 210:case 214:case 193:return u7(e,21,t);case 181:case 182:return v_(e.type,t);case 173:case 174:case 175:case 259:case 215:case 171:case 170:case 177:case 176:case 216:return e.body?v_(e.body,t):e.type?v_(e.type,t):NN(e,21,t);case 264:return!!e.body&&v_(e.body,t);case 242:return e.elseStatement?v_(e.elseStatement,t):v_(e.thenStatement,t);case 241:return v_(e.expression,t)||NN(e,26,t);case 206:case 204:case 209:case 164:case 186:return u7(e,23,t);case 178:return e.type?v_(e.type,t):NN(e,23,t);case 292:case 293:return!1;case 245:case 246:case 247:case 244:return v_(e.statement,t);case 243:return NN(e,115,t)?u7(e,21,t):v_(e.statement,t);case 183:return v_(e.exprName,t);case 218:case 217:case 219:case 226:case 227:return v_(e.expression,t);case 212:return v_(e.template,t);case 225:let i=Os(e.templateSpans);return v_(i,t);case 236:return Pf(e.literal);case 275:case 269:return Pf(e.moduleSpecifier);case 221:return v_(e.operand,t);case 223:return v_(e.right,t);case 224:return v_(e.whenFalse,t);default:return!0}}function u7(e,t,r){let i=e.getChildren(r);if(i.length){let o=To(i);if(o.kind===t)return!0;if(o.kind===26&&i.length!==1)return i[i.length-2].kind===t}return!1}function Ehe(e){let t=d7(e);if(!t)return;let r=t.getChildren();return{listItemIndex:DA(r,e),list:t}}function NN(e,t,r){return!!Yo(e,t,r)}function Yo(e,t,r){return wr(e.getChildren(r),i=>i.kind===t)}function d7(e){let t=wr(e.parent.getChildren(),r=>A2(r)&&Od(r,e));return L.assert(!t||ya(t.getChildren(),e)),t}function The(e){return e.kind===88}function I6e(e){return e.kind===84}function L6e(e){return e.kind===98}function k6e(e){if(zl(e))return e.name;if(sl(e)){let t=e.modifiers&&wr(e.modifiers,The);if(t)return t}if(_u(e)){let t=wr(e.getChildren(),I6e);if(t)return t}}function D6e(e){if(zl(e))return e.name;if(Jc(e)){let t=wr(e.modifiers,The);if(t)return t}if(ms(e)){let t=wr(e.getChildren(),L6e);if(t)return t}}function w6e(e){let t;return jn(e,r=>(bi(r)&&(t=r),!Yu(r.parent)&&!bi(r.parent)&&!_T(r.parent))),t}function f7(e,t){if(e.flags&8388608)return;let r=w7(e,t);if(r)return r;let i=w6e(e);return i&&t.getTypeAtLocation(i)}function R6e(e,t){if(!t)switch(e.kind){case 260:case 228:return k6e(e);case 259:case 215:return D6e(e);case 173:return e}if(zl(e))return e.name}function She(e,t){if(e.importClause){if(e.importClause.name&&e.importClause.namedBindings)return;if(e.importClause.name)return e.importClause.name;if(e.importClause.namedBindings){if(jg(e.importClause.namedBindings)){let r=Wp(e.importClause.namedBindings.elements);return r?r.name:void 0}else if(nv(e.importClause.namedBindings))return e.importClause.namedBindings.name}}if(!t)return e.moduleSpecifier}function xhe(e,t){if(e.exportClause){if(h_(e.exportClause))return Wp(e.exportClause.elements)?e.exportClause.elements[0].name:void 0;if(qm(e.exportClause))return e.exportClause.name}if(!t)return e.moduleSpecifier}function O6e(e){if(e.types.length===1)return e.types[0].expression}function Ahe(e,t){let{parent:r}=e;if(Ha(e)&&(t||e.kind!==88)?g_(r)&&ya(r.modifiers,e):e.kind===84?sl(r)||_u(e):e.kind===98?Jc(r)||ms(e):e.kind===118?ku(r):e.kind===92?hb(r):e.kind===154?Ep(r):e.kind===143||e.kind===142?Tc(r):e.kind===100?Nl(r):e.kind===137?p_(r):e.kind===151&&Sf(r)){let i=R6e(r,t);if(i)return i}if((e.kind===113||e.kind===85||e.kind===119)&&pu(r)&&r.declarations.length===1){let i=r.declarations[0];if(Re(i.name))return i.name}if(e.kind===154){if(lm(r)&&r.isTypeOnly){let i=She(r.parent,t);if(i)return i}if(Il(r)&&r.isTypeOnly){let i=xhe(r,t);if(i)return i}}if(e.kind===128){if($u(r)&&r.propertyName||Mu(r)&&r.propertyName||nv(r)||qm(r))return r.name;if(Il(r)&&r.exportClause&&qm(r.exportClause))return r.exportClause.name}if(e.kind===100&&gl(r)){let i=She(r,t);if(i)return i}if(e.kind===93){if(Il(r)){let i=xhe(r,t);if(i)return i}if(pc(r))return ql(r.expression)}if(e.kind===147&&um(r))return r.expression;if(e.kind===158&&(gl(r)||Il(r))&&r.moduleSpecifier)return r.moduleSpecifier;if((e.kind===94||e.kind===117)&&dd(r)&&r.token===e.kind){let i=O6e(r);if(i)return i}if(e.kind===94){if(_c(r)&&r.constraint&&m_(r.constraint))return r.constraint.typeName;if(m2(r)&&m_(r.extendsType))return r.extendsType.typeName}if(e.kind===138&&h2(r))return r.typeParameter.name;if(e.kind===101&&_c(r)&&EL(r.parent))return r.name;if(e.kind===141&&RS(r)&&r.operator===141&&m_(r.type))return r.type.typeName;if(e.kind===146&&RS(r)&&r.operator===146&&wz(r.type)&&m_(r.type.elementType))return r.type.elementType.typeName;if(!t){if((e.kind===103&&z0(r)||e.kind===114&&NS(r)||e.kind===112&&y2(r)||e.kind===133&&v2(r)||e.kind===125&&f3(r)||e.kind===89&&Gue(r))&&r.expression)return ql(r.expression);if((e.kind===101||e.kind===102)&&ar(r)&&r.operatorToken===e)return ql(r.right);if(e.kind===128&&fO(r)&&m_(r.type))return r.type.typeName;if(e.kind===101&&Mz(r)||e.kind===162&&_O(r))return ql(r.expression)}return e}function zX(e){return Ahe(e,!1)}function _7(e){return Ahe(e,!0)}function ef(e,t){return nk(e,t,r=>c_(r)||Xu(r.kind)||pi(r))}function nk(e,t,r){return Che(e,t,!1,r,!1)}function Vi(e,t){return Che(e,t,!0,void 0,!1)}function Che(e,t,r,i,o){let s=e,l;e:for(;;){let d=s.getChildren(e),g=j1(d,t,(m,v)=>v,(m,v)=>{let S=d[m].getEnd();if(S<t)return-1;let x=r?d[m].getFullStart():d[m].getStart(e,!0);return x>t?1:f(d[m],x,S)?d[m-1]&&f(d[m-1])?1:0:i&&x===t&&d[m-1]&&d[m-1].getEnd()===t&&f(d[m-1])?1:-1});if(l)return l;if(g>=0&&d[g]){s=d[g];continue e}return s}function f(d,g,m){if(m??(m=d.getEnd()),m<t||(g??(g=r?d.getFullStart():d.getStart(e,!0)),g>t))return!1;if(t<m||t===m&&(d.kind===1||o))return!0;if(i&&m===t){let v=el(t,e,d);if(v&&i(v))return l=v,!0}return!1}}function Ihe(e,t){let r=Vi(e,t);for(;PN(r);){let i=t1(r,r.parent,e);if(!i)return;r=i}return r}function p7(e,t){let r=Vi(e,t);return Z1(r)&&t>r.getStart(e)&&t<r.getEnd()?r:el(t,e)}function t1(e,t,r){return i(t);function i(o){return Z1(o)&&o.pos===e.end?o:ks(o.getChildren(r),s=>(s.pos<=e.pos&&s.end>e.end||s.pos===e.end)&&$X(s,r)?i(s):void 0)}}function el(e,t,r,i){let o=s(r||t);return L.assert(!(o&&PN(o))),o;function s(l){if(Lhe(l)&&l.kind!==1)return l;let f=l.getChildren(t),d=j1(f,e,(m,v)=>v,(m,v)=>e<f[m].end?!f[m-1]||e>=f[m-1].end?0:1:-1);if(d>=0&&f[d]){let m=f[d];if(e<m.end)if(m.getStart(t,!i)>=e||!$X(m,t)||PN(m)){let x=KX(f,d,t,l.kind);return x&&JX(x,t)}else return s(m)}L.assert(r!==void 0||l.kind===308||l.kind===1||qj(l));let g=KX(f,f.length,t,l.kind);return g&&JX(g,t)}}function Lhe(e){return Z1(e)&&!PN(e)}function JX(e,t){if(Lhe(e))return e;let r=e.getChildren(t);if(r.length===0)return e;let i=KX(r,r.length,t,e.kind);return i&&JX(i,t)}function KX(e,t,r,i){for(let o=t-1;o>=0;o--){let s=e[o];if(PN(s))o===0&&(i===11||i===282)&&L.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if($X(e[o],r))return e[o]}}function n1(e,t,r=el(t,e)){if(r&&Fj(r)){let i=r.getStart(e),o=r.getEnd();if(i<t&&t<o)return!0;if(t===o)return!!r.isUnterminated}return!1}function khe(e,t){let r=Vi(e,t);return r?!!(r.kind===11||r.kind===29&&r.parent.kind===11||r.kind===29&&r.parent.kind===291||r&&r.kind===19&&r.parent.kind===291||r.kind===29&&r.parent.kind===284):!1}function PN(e){return CS(e)&&e.containsOnlyTriviaWhiteSpaces}function qX(e,t){let r=Vi(e,t);return Hy(r.kind)&&t>r.getStart(e)}function Dhe(e,t){let r=Vi(e,t);return!!(CS(r)||r.kind===18&&AL(r.parent)&&Hg(r.parent.parent)||r.kind===29&&Au(r.parent)&&Hg(r.parent.parent))}function m7(e,t){function r(i){for(;i;)if(i.kind>=282&&i.kind<=291||i.kind===11||i.kind===29||i.kind===31||i.kind===79||i.kind===19||i.kind===18||i.kind===43)i=i.parent;else if(i.kind===281){if(t>i.getStart(e))return!0;i=i.parent}else return!1;return!1}return r(Vi(e,t))}function h7(e,t,r){let i=Xa(e.kind),o=Xa(t),s=e.getFullStart(),l=r.text.lastIndexOf(o,s);if(l===-1)return;if(r.text.lastIndexOf(i,s-1)<l){let g=el(l+1,r);if(g&&g.kind===t)return g}let f=e.kind,d=0;for(;;){let g=el(e.getFullStart(),r);if(!g)return;if(e=g,e.kind===t){if(d===0)return e;d--}else e.kind===f&&d++}}function whe(e,t,r){return t?e.getNonNullableType():r?e.getNonOptionalType():e}function MN(e,t,r){let i=YX(e,t);return i!==void 0&&(Gm(i.called)||XX(i.called,i.nTypeArguments,r).length!==0||MN(i.called,t,r))}function XX(e,t,r){let i=r.getTypeAtLocation(e);return Jl(e.parent)&&(i=whe(i,pI(e.parent),!0)),(z0(e.parent)?i.getConstructSignatures():i.getCallSignatures()).filter(s=>!!s.typeParameters&&s.typeParameters.length>=t)}function YX(e,t){if(t.text.lastIndexOf("<",e?e.pos:t.text.length)===-1)return;let r=e,i=0,o=0;for(;r;){switch(r.kind){case 29:if(r=el(r.getFullStart(),t),r&&r.kind===28&&(r=el(r.getFullStart(),t)),!r||!Re(r))return;if(!i)return Rh(r)?void 0:{called:r,nTypeArguments:o};i--;break;case 49:i=3;break;case 48:i=2;break;case 31:i++;break;case 19:if(r=h7(r,18,t),!r)return;break;case 21:if(r=h7(r,20,t),!r)return;break;case 23:if(r=h7(r,22,t),!r)return;break;case 27:o++;break;case 38:case 79:case 10:case 8:case 9:case 110:case 95:case 112:case 94:case 141:case 24:case 51:case 57:case 58:break;default:if(bi(r))break;return}r=el(r.getFullStart(),t)}}function Kg(e,t,r){return tl.getRangeOfEnclosingComment(e,t,void 0,r)}function Rhe(e,t){let r=Vi(e,t);return!!jn(r,dm)}function $X(e,t){return e.kind===1?!!e.jsDoc:e.getWidth(t)!==0}function rk(e,t=0){let r=[],i=Kl(e)?Tj(e)&~t:0;return i&8&&r.push("private"),i&16&&r.push("protected"),i&4&&r.push("public"),(i&32||oc(e))&&r.push("static"),i&256&&r.push("abstract"),i&1&&r.push("export"),i&8192&&r.push("deprecated"),e.flags&16777216&&r.push("declare"),e.kind===274&&r.push("export"),r.length>0?r.join(","):""}function Ohe(e){if(e.kind===180||e.kind===210)return e.typeArguments;if(Ia(e)||e.kind===260||e.kind===261)return e.typeParameters}function g7(e){return e===2||e===3}function QX(e){return!!(e===10||e===13||Hy(e))}function Nhe(e){if(!e.isIntersection())return!1;let{types:t,checker:r}=e;return t.length===2&&t[0].flags&4&&r.isEmptyAnonymousObjectType(t[1])}function Phe(e){return 18<=e&&e<=78}function FN(e,t,r){return Hy(e.kind)&&e.getStart(r)<t&&t<e.end||!!e.isUnterminated&&t===e.end}function ZX(e){switch(e){case 123:case 121:case 122:return!0}return!1}function Mhe(e){let t=VU(e);return xJ(t,e&&e.configFile),t}function qg(e){return!!((e.kind===206||e.kind===207)&&(e.parent.kind===223&&e.parent.left===e&&e.parent.operatorToken.kind===63||e.parent.kind===247&&e.parent.initializer===e||qg(e.parent.kind===299?e.parent.parent:e.parent)))}function Fhe(e,t){return Bhe(e,t,!0)}function Ghe(e,t){return Bhe(e,t,!1)}function Bhe(e,t,r){let i=Kg(e,t,void 0);return!!i&&r===bge.test(e.text.substring(i.pos,i.end))}function eY(e){if(e)switch(e.kind){case 10:case 14:return tY(e);default:return Du(e)}}function Du(e,t,r){return Wc(e.getStart(t),(r||e).getEnd())}function tY(e){if(!e.isUnterminated)return Wc(e.getStart()+1,e.getEnd()-1)}function nY(e,t){return Gf(e.getStart(t),e.end)}function lv(e){return Wc(e.pos,e.end)}function y7(e){return Gf(e.start,e.start+e.length)}function v7(e,t,r){return GN(il(e,t),r)}function GN(e,t){return{span:e,newText:t}}function ik(e){return ya(K7,e)}function rY(e){return e.kind===154}function b7(e){return rY(e)||Re(e)&&e.text==="type"}function BN(e){return!!(e.flags&1536)&&e.name.charCodeAt(0)===34}function W2(){let e=[];return t=>{let r=zo(t);return!e[r]&&(e[r]=!0)}}function E7(e){return e.getText(0,e.getLength())}function UN(e,t){let r="";for(let i=0;i<t;i++)r+=e;return r}function iY(e){return e.isTypeParameter()&&e.getConstraint()||e}function VN(e){return e.kind===164?yf(e.expression)?e.expression.text:void 0:pi(e)?vr(e):l_(e)}function Uhe(e){return e.getSourceFiles().some(t=>!t.isDeclarationFile&&!e.isSourceFileFromExternalLibrary(t)&&!!(t.externalModuleIndicator||t.commonJsModuleIndicator))}function Vhe(e){return e.getSourceFiles().some(t=>!t.isDeclarationFile&&!e.isSourceFileFromExternalLibrary(t)&&!!t.externalModuleIndicator)}function aY(e){return!!e.module||Do(e)>=2||!!e.noEmit}function $S(e,t){return{fileExists:r=>e.fileExists(r),getCurrentDirectory:()=>t.getCurrentDirectory(),readFile:ho(t,t.readFile),useCaseSensitiveFileNames:ho(t,t.useCaseSensitiveFileNames),getSymlinkCache:ho(t,t.getSymlinkCache)||e.getSymlinkCache,getModuleSpecifierCache:ho(t,t.getModuleSpecifierCache),getPackageJsonInfoCache:()=>{var r;return(r=e.getModuleResolutionCache())==null?void 0:r.getPackageJsonInfoCache()},getGlobalTypingsCacheLocation:ho(t,t.getGlobalTypingsCacheLocation),redirectTargetsMap:e.redirectTargetsMap,getProjectReferenceRedirect:r=>e.getProjectReferenceRedirect(r),isSourceOfProjectReferenceRedirect:r=>e.isSourceOfProjectReferenceRedirect(r),getNearestAncestorDirectoryWithPackageJson:ho(t,t.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:()=>e.getFileIncludeReasons()}}function oY(e,t){return{...$S(e,t),getCommonSourceDirectory:()=>e.getCommonSourceDirectory()}}function T7(e){return e===2||e>=3&&e<=99||e===100}function jhe(e,t,r,i){return e||t&&t.length?Xg(e,t,r,i):void 0}function Xg(e,t,r,i,o){return D.createImportDeclaration(void 0,e||t?D.createImportClause(!!o,e,t&&t.length?D.createNamedImports(t):void 0):void 0,typeof r=="string"?S7(r,i):r,void 0)}function S7(e,t){return D.createStringLiteral(e,t===0)}function sY(e,t){return V6(e,t)?1:0}function J_(e,t){if(t.quotePreference&&t.quotePreference!=="auto")return t.quotePreference==="single"?0:1;{let r=e.imports&&wr(e.imports,i=>yo(i)&&!ws(i.parent));return r?sY(r,e):1}}function Hhe(e){switch(e){case 0:return"'";case 1:return'"';default:return L.assertNever(e)}}function x7(e){let t=A7(e);return t===void 0?void 0:Gi(t)}function A7(e){return e.escapedName!=="default"?e.escapedName:ks(e.declarations,t=>{let r=sa(t);return r&&r.kind===79?r.escapedText:void 0})}function C7(e){return es(e)&&(um(e.parent)||gl(e.parent)||qu(e.parent,!1)&&e.parent.arguments[0]===e||Dd(e.parent)&&e.parent.arguments[0]===e)}function jN(e){return Wo(e)&&cm(e.parent)&&Re(e.name)&&!e.propertyName}function I7(e,t){let r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)}function HN(e,t,r){if(e)for(;e.parent;){if(Li(e.parent)||!N6e(r,e.parent,t))return e;e=e.parent}}function N6e(e,t,r){return bj(e,t.getStart(r))&&t.getEnd()<=wl(e)}function z2(e,t){return g_(e)?wr(e.modifiers,r=>r.kind===t):void 0}function L7(e,t,r,i,o){let l=(ba(r)?r[0]:r).kind===240?DH:yT,f=Pr(t.statements,l),d=ba(r)?b_.detectImportDeclarationSorting(r,o):3,g=b_.getOrganizeImportsComparer(o,d===2),m=ba(r)?Ag(r,(v,S)=>b_.compareImportsOrRequireStatements(v,S,g)):[r];if(!f.length)e.insertNodesAtTopOfFile(t,m,i);else if(f&&(d=b_.detectImportDeclarationSorting(f,o))){let v=b_.getOrganizeImportsComparer(o,d===2);for(let S of m){let x=b_.getImportDeclarationInsertionIndex(f,S,v);if(x===0){let A=f[0]===t.statements[0]?{leadingTriviaOption:nr.LeadingTriviaOption.Exclude}:{};e.insertNodeBefore(t,f[0],S,!1,A)}else{let A=f[x-1];e.insertNodeAfter(t,A,S)}}}else{let v=Os(f);v?e.insertNodesAfter(t,v,m):e.insertNodesAtTopOfFile(t,m,i)}}function cY(e,t){return L.assert(e.isTypeOnly),Ga(e.getChildAt(0,t),rY)}function J2(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function P6e(e,t){return e.fileName===t.fileName&&J2(e.textSpan,t.textSpan)}function lY(e,t){if(e){for(let r=0;r<e.length;r++)if(e.indexOf(e[r])===r){let i=t(e[r],r);if(i)return i}}}function Whe(e,t,r){for(let i=t;i<r;i++)if(!xh(e.charCodeAt(i)))return!1;return!0}function WN(e,t,r){let i=t.tryGetSourcePosition(e);return i&&(!r||r(So(i.fileName))?i:void 0)}function uY(e,t,r){let{fileName:i,textSpan:o}=e,s=WN({fileName:i,pos:o.start},t,r);if(!s)return;let l=WN({fileName:i,pos:o.start+o.length},t,r),f=l?l.pos-s.pos:o.length;return{fileName:s.fileName,textSpan:{start:s.pos,length:f},originalFileName:e.fileName,originalTextSpan:e.textSpan,contextSpan:zhe(e,t,r),originalContextSpan:e.contextSpan}}function zhe(e,t,r){let i=e.contextSpan&&WN({fileName:e.fileName,pos:e.contextSpan.start},t,r),o=e.contextSpan&&WN({fileName:e.fileName,pos:e.contextSpan.start+e.contextSpan.length},t,r);return i&&o?{start:i.pos,length:o.pos-i.pos}:void 0}function dY(e){let t=e.declarations?Sl(e.declarations):void 0;return!!jn(t,r=>ha(r)?!0:Wo(r)||cm(r)||g2(r)?!1:"quit")}function M6e(){let e=KR*10,t,r,i,o;m();let s=v=>f(v,17);return{displayParts:()=>{let v=t.length&&t[t.length-1].text;return o>e&&v&&v!=="..."&&(xh(v.charCodeAt(v.length-1))||t.push(Qu(" ",16)),t.push(Qu("...",15))),t},writeKeyword:v=>f(v,5),writeOperator:v=>f(v,12),writePunctuation:v=>f(v,15),writeTrailingSemicolon:v=>f(v,15),writeSpace:v=>f(v,16),writeStringLiteral:v=>f(v,8),writeParameter:v=>f(v,13),writeProperty:v=>f(v,14),writeLiteral:v=>f(v,8),writeSymbol:d,writeLine:g,write:s,writeComment:s,getText:()=>"",getTextPos:()=>0,getColumn:()=>0,getLine:()=>0,isAtStartOfLine:()=>!1,hasTrailingWhitespace:()=>!1,hasTrailingComment:()=>!1,rawWrite:Sa,getIndent:()=>i,increaseIndent:()=>{i++},decreaseIndent:()=>{i--},clear:m};function l(){if(!(o>e)&&r){let v=Q6(i);v&&(o+=v.length,t.push(Qu(v,16))),r=!1}}function f(v,S){o>e||(l(),o+=v.length,t.push(Qu(v,S)))}function d(v,S){o>e||(l(),o+=v.length,t.push(Jhe(v,S)))}function g(){o>e||(o+=1,t.push(K2()),r=!0)}function m(){t=[],r=!0,i=0,o=0}}function Jhe(e,t){return Qu(e,r(t));function r(i){let o=i.flags;return o&3?dY(i)?13:9:o&4||o&32768||o&65536?14:o&8?19:o&16?20:o&32?1:o&64?4:o&384?2:o&1536?11:o&8192?10:o&262144?18:o&524288||o&2097152?0:17}}function Qu(e,t){return{text:e,kind:IN[t]}}function Qs(){return Qu(" ",16)}function _d(e){return Qu(Xa(e),5)}function Yl(e){return Qu(Xa(e),15)}function ak(e){return Qu(Xa(e),12)}function Khe(e){return Qu(e,13)}function qhe(e){return Qu(e,14)}function fY(e){let t=lT(e);return t===void 0?tf(e):_d(t)}function tf(e){return Qu(e,17)}function Xhe(e){return Qu(e,0)}function Yhe(e){return Qu(e,18)}function k7(e){return Qu(e,24)}function $he(e,t){return{text:e,kind:IN[23],target:{fileName:Gn(t).fileName,textSpan:Du(t)}}}function _Y(e){return Qu(e,22)}function Qhe(e,t){var r;let i=zue(e)?"link":Jue(e)?"linkcode":"linkplain",o=[_Y(`{@${i} `)];if(!e.name)e.text&&o.push(k7(e.text));else{let s=t?.getSymbolAtLocation(e.name),l=G6e(e.text),f=Qc(e.name)+e.text.slice(0,l),d=F6e(e.text.slice(l)),g=s?.valueDeclaration||((r=s?.declarations)==null?void 0:r[0]);g?(o.push($he(f,g)),d&&o.push(k7(d))):o.push(k7(f+(l?"":" ")+d))}return o.push(_Y("}")),o}function F6e(e){let t=0;if(e.charCodeAt(t++)===124){for(;t<e.length&&e.charCodeAt(t)===32;)t++;return e.slice(t)}return e}function G6e(e){let t=e.indexOf("://");if(t===0){for(;t<e.length&&e.charCodeAt(t)!==124;)t++;return t}if(e.indexOf("()")===0)return 2;if(e.charAt(0)==="<"){let r=0,i=0;for(;i<e.length;)if(e[i]==="<"&&r++,e[i]===">"&&r--,i++,!r)return i}return 0}function bb(e,t){var r;return t?.newLineCharacter||((r=e.getNewLine)==null?void 0:r.call(e))||Ege}function K2(){return Qu(`
+`,6)}function uv(e){try{return e(q7),q7.displayParts()}finally{q7.clear()}}function zN(e,t,r,i=0){return uv(o=>{e.writeType(t,r,i|1024|16384,o)})}function ok(e,t,r,i,o=0){return uv(s=>{e.writeSymbol(t,r,i,o|8,s)})}function pY(e,t,r,i=0){return i|=25632,uv(o=>{e.writeSignature(t,r,i,void 0,o)})}function B6e(e,t){let r=t.getSourceFile();return uv(i=>{fN().writeNode(4,e,r,i)})}function Zhe(e){return!!e.parent&&eS(e.parent)&&e.parent.propertyName===e}function mY(e,t){return h4(e,t.getScriptKind&&t.getScriptKind(e))}function ege(e,t){let r=e;for(;U6e(r)||Zp(r)&&r.links.target;)Zp(r)&&r.links.target?r=r.links.target:r=wd(r,t);return r}function U6e(e){return(e.flags&2097152)!==0}function tge(e,t){return $a(wd(e,t))}function nge(e,t){for(;xh(e.charCodeAt(t));)t+=1;return t}function hY(e,t){for(;t>-1&&Yp(e.charCodeAt(t));)t-=1;return t+1}function cc(e,t=!0){let r=e&&rge(e);return r&&!t&&pd(r),r}function JN(e,t,r){let i=r(e);return i?Ir(i,e):i=rge(e,r),i&&!t&&pd(i),i}function rge(e,t){let r=t?s=>JN(s,!0,t):cc,o=xn(e,r,Bh,t?s=>s&&gY(s,!0,t):s=>s&&oE(s),r);if(o===e){let s=yo(e)?Ir(D.createStringLiteralFromNode(e),e):Vf(e)?Ir(D.createNumericLiteral(e.text,e.numericLiteralFlags),e):D.cloneNode(e);return it(s,e)}return o.parent=void 0,o}function oE(e,t=!0){return e&&D.createNodeArray(e.map(r=>cc(r,t)),e.hasTrailingComma)}function gY(e,t,r){return D.createNodeArray(e.map(i=>JN(i,t,r)),e.hasTrailingComma)}function pd(e){D7(e),ige(e)}function D7(e){yY(e,1024,j6e)}function ige(e){yY(e,2048,yW)}function r1(e,t){let r=e.getSourceFile(),i=r.text;V6e(e,i)?q2(e,t,r):qN(e,t,r),sk(e,t,r)}function V6e(e,t){let r=e.getFullStart(),i=e.getStart();for(let o=r;o<i;o++)if(t.charCodeAt(o)===10)return!0;return!1}function yY(e,t,r){bp(e,t);let i=r(e);i&&yY(i,t,r)}function j6e(e){return e.forEachChild(t=>t)}function i1(e,t){let r=e;for(let i=1;!g6(t,r);i++)r=`${e}_${i}`;return r}function KN(e,t,r,i){let o=0,s=-1;for(let{fileName:l,textChanges:f}of e){L.assert(l===t);for(let d of f){let{span:g,newText:m}=d,v=H6e(m,_S(r));if(v!==-1&&(s=g.start+o+v,!i))return s;o+=m.length-g.length}}return L.assert(i),L.assert(s>=0),s}function q2(e,t,r,i,o){vw(r.text,e.pos,vY(t,r,i,o,nO))}function sk(e,t,r,i,o){bw(r.text,e.end,vY(t,r,i,o,R4))}function qN(e,t,r,i,o){bw(r.text,e.pos,vY(t,r,i,o,nO))}function vY(e,t,r,i,o){return(s,l,f,d)=>{f===3?(s+=2,l-=2):s+=2,o(e,r||f,t.text.slice(s,l),i!==void 0?i:d)}}function H6e(e,t){if(na(e,t))return 0;let r=e.indexOf(" "+t);return r===-1&&(r=e.indexOf("."+t)),r===-1&&(r=e.indexOf('"'+t)),r===-1?-1:r+1}function bY(e){return ar(e)&&e.operatorToken.kind===27||rs(e)||fO(e)&&rs(e.expression)}function w7(e,t,r){let i=qy(e.parent);switch(i.kind){case 211:return t.getContextualType(i,r);case 223:{let{left:o,operatorToken:s,right:l}=i;return R7(s.kind)?t.getTypeAtLocation(e===l?o:l):t.getContextualType(e,r)}case 292:return TY(i,t);default:return t.getContextualType(e,r)}}function ck(e,t,r){let i=J_(e,t),o=JSON.stringify(r);return i===0?`'${u_(o).replace(/'/g,"\\'").replace(/\\"/g,'"')}'`:o}function R7(e){switch(e){case 36:case 34:case 37:case 35:return!0;default:return!1}}function age(e){switch(e.kind){case 10:case 14:case 225:case 212:return!0;default:return!1}}function EY(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()}function TY(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function lk(e,t,r,i){let o=r.getTypeChecker(),s=!0,l=()=>s=!1,f=o.typeToTypeNode(e,t,1,{trackSymbol:(d,g,m)=>(s=s&&o.isSymbolAccessible(d,g,m,!1).accessibility===0,!s),reportInaccessibleThisError:l,reportPrivateInBaseOfClassExpression:l,reportInaccessibleUniqueSymbolError:l,moduleResolverHost:oY(r,i)});return s?f:void 0}function SY(e){return e===176||e===177||e===178||e===168||e===170}function oge(e){return e===259||e===173||e===171||e===174||e===175}function sge(e){return e===264}function O7(e){return e===240||e===241||e===243||e===248||e===249||e===250||e===254||e===256||e===169||e===262||e===269||e===268||e===275||e===267||e===274}function W6e(e,t){let r=e.getLastToken(t);if(r&&r.kind===26)return!1;if(SY(e.kind)){if(r&&r.kind===27)return!1}else if(sge(e.kind)){let f=To(e.getChildren(t));if(f&&Tp(f))return!1}else if(oge(e.kind)){let f=To(e.getChildren(t));if(f&&bT(f))return!1}else if(!O7(e.kind))return!1;if(e.kind===243)return!0;let i=jn(e,f=>!f.parent),o=t1(e,i,t);if(!o||o.kind===19)return!0;let s=t.getLineAndCharacterOfPosition(e.getEnd()).line,l=t.getLineAndCharacterOfPosition(o.getStart(t)).line;return s!==l}function N7(e,t,r){let i=jn(t,o=>o.end!==e?"quit":NY(o.kind));return!!i&&W6e(i,r)}function P7(e){let t=0,r=0,i=5;return pa(e,function o(s){if(O7(s.kind)){let l=s.getLastToken(e);l?.kind===26?t++:r++}else if(SY(s.kind)){let l=s.getLastToken(e);if(l?.kind===26)t++;else if(l&&l.kind!==27){let f=Gs(e,l.getStart(e)).line,d=Gs(e,Pg(e,l.end).start).line;f!==d&&r++}}return t+r>=i?!0:pa(s,o)}),t===0&&r<=1?!0:t/r>1/i}function M7(e,t){return U7(e,e.getDirectories,t)||[]}function xY(e,t,r,i,o){return U7(e,e.readDirectory,t,r,i,o)||Je}function F7(e,t){return U7(e,e.fileExists,t)}function G7(e,t){return B7(()=>gp(t,e))||!1}function B7(e){try{return e()}catch{return}}function U7(e,t,...r){return B7(()=>t&&t.apply(e,r))}function AY(e,t,r){let i=[];return Th(e,o=>{if(o===r)return!0;let s=vi(o,"package.json");F7(t,s)&&i.push(s)}),i}function cge(e,t){let r;return Th(e,i=>{if(i==="node_modules"||(r=Vpe(i,o=>F7(t,o),"package.json"),r))return!0}),r}function lge(e,t){if(!t.fileExists)return[];let r=[];return Th(ni(e),i=>{let o=vi(i,"package.json");if(t.fileExists(o)){let s=uge(o,t);s&&r.push(s)}}),r}function uge(e,t){if(!t.readFile)return;let r=["dependencies","devDependencies","optionalDependencies","peerDependencies"],i=t.readFile(e)||"",o=z6e(i),s={};if(o)for(let d of r){let g=o[d];if(!g)continue;let m=new Map;for(let v in g)m.set(v,g[v]);s[d]=m}let l=[[1,s.dependencies],[2,s.devDependencies],[8,s.optionalDependencies],[4,s.peerDependencies]];return{...s,parseable:!!o,fileName:e,get:f,has(d,g){return!!f(d,g)}};function f(d,g=15){for(let[m,v]of l)if(v&&g&m){let S=v.get(d);if(S!==void 0)return S}}}function uk(e,t,r){let i=(r.getPackageJsonsVisibleToFile&&r.getPackageJsonsVisibleToFile(e.fileName)||lge(e.fileName,r)).filter(A=>A.parseable),o,s,l;return{allowsImportingAmbientModule:d,allowsImportingSourceFile:g,allowsImportingSpecifier:m};function f(A){let w=x(A);for(let C of i)if(C.has(w)||C.has(rF(w)))return!0;return!1}function d(A,w){if(!i.length||!A.valueDeclaration)return!0;if(!s)s=new Map;else{let q=s.get(A);if(q!==void 0)return q}let C=u_(A.getName());if(v(C))return s.set(A,!0),!0;let P=A.valueDeclaration.getSourceFile(),F=S(P.fileName,w);if(typeof F>"u")return s.set(A,!0),!0;let B=f(F)||f(C);return s.set(A,B),B}function g(A,w){if(!i.length)return!0;if(!l)l=new Map;else{let F=l.get(A);if(F!==void 0)return F}let C=S(A.fileName,w);if(!C)return l.set(A,!0),!0;let P=f(C);return l.set(A,P),P}function m(A){return!i.length||v(A)||Jd(A)||qp(A)?!0:f(A)}function v(A){return!!(Cu(e)&&QT.nodeCoreModules.has(A)&&(o===void 0&&(o=V7(e)),o))}function S(A,w){if(!jl(A,"node_modules"))return;let C=Q0.getNodeModulesPackageName(r.getCompilationSettings(),e,A,w,t);if(C&&!Jd(C)&&!qp(C))return x(C)}function x(A){let w=Ou(ZO(A)).slice(1);return na(w[0],"@")?`${w[0]}/${w[1]}`:w[0]}}function z6e(e){try{return JSON.parse(e)}catch{return}}function V7(e){return vt(e.imports,({text:t})=>QT.nodeCoreModules.has(t))}function dge(e){return ya(Ou(e),"node_modules")}function CY(e){return e.file!==void 0&&e.start!==void 0&&e.length!==void 0}function fge(e,t){let r=Du(e),i=j1(t,r,Ks,f8);if(i>=0){let o=t[i];return L.assertEqual(o.file,e.getSourceFile(),"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"),Ga(o,CY)}}function _ge(e,t){var r;let i=j1(t,e.start,l=>l.start,Es);for(i<0&&(i=~i);((r=t[i-1])==null?void 0:r.start)===e.start;)i--;let o=[],s=wl(e);for(;;){let l=zr(t[i],CY);if(!l||l.start>s)break;Roe(e,l)&&o.push(l),i++}return o}function QS({startPosition:e,endPosition:t}){return Wc(e,t===void 0?e:t)}function IY(e,t){let r=Vi(e,t.start);return jn(r,o=>o.getStart(e)<t.start||o.getEnd()>wl(t)?"quit":ot(o)&&J2(t,Du(o,e)))}function pge(e,t,r=Ks){return e?ba(e)?r(on(e,t)):t(e,0):void 0}function LY(e){return ba(e)?Vo(e):e}function mge(e,t){if(hge(e)){let r=gge(e);if(r)return r;let i=gu.moduleSymbolToValidIdentifier(kY(e),t,!1),o=gu.moduleSymbolToValidIdentifier(kY(e),t,!0);return i===o?i:[i,o]}return e.name}function j7(e,t,r){return hge(e)?gge(e)||gu.moduleSymbolToValidIdentifier(kY(e),t,!!r):e.name}function hge(e){return!(e.flags&33554432)&&(e.escapedName==="export="||e.escapedName==="default")}function gge(e){return ks(e.declarations,t=>{var r,i;return pc(t)?(r=zr(ql(t.expression),Re))==null?void 0:r.text:(i=zr(sa(t),Re))==null?void 0:i.text})}function kY(e){var t;return L.checkDefined(e.parent,`Symbol parent was undefined. Flags: ${L.formatSymbolFlags(e.flags)}. Declarations: ${(t=e.declarations)==null?void 0:t.map(r=>{let i=L.formatSyntaxKind(r.kind),o=Yn(r),{expression:s}=r;return(o?"[JS]":"")+i+(s?` (expression: ${L.formatSyntaxKind(s.kind)})`:"")}).join(", ")}.`)}function yge(e,t,r){let i=t.length;if(i+r>e.length)return!1;for(let o=0;o<i;o++)if(t.charCodeAt(o)!==e.charCodeAt(o+r))return!1;return!0}function DY(e){return e.charCodeAt(0)===95}function J6e(e){return!vge(e)}function vge(e){let t=e.getSourceFile();return!t.externalModuleIndicator&&!t.commonJsModuleIndicator?!1:Yn(e)||!jn(e,r=>Tc(r)&&mp(r))}function H7(e){return!!(Tj(e)&8192)}function W7(e,t){let r=ks(e.imports,i=>{if(QT.nodeCoreModules.has(i.text))return na(i.text,"node:")});return r??t.usesUriStyleNodeCoreModules}function XN(e){return e===`
+`?1:0}function ZS(e){return ba(e)?jm(uo(e[0]),e.slice(1)):uo(e)}function z7({options:e},t){let r=!e.semicolons||e.semicolons==="ignore",i=e.semicolons==="remove"||r&&!P7(t);return{...e,semicolons:i?"remove":"ignore"}}function wY(e){return e===2||e===3}function dk(e,t){return e.isSourceFileFromExternalLibrary(t)||e.isSourceFileDefaultLibrary(t)}function J7(e,t){let r=new Set,i=new Set,o=new Set;for(let f of t)if(!yO(f)){let d=vs(f.expression);if(fT(d))switch(d.kind){case 14:case 10:r.add(d.text);break;case 8:i.add(parseInt(d.text));break;case 9:let g=Ple(Oc(d.text,"n")?d.text.slice(0,-1):d.text);g&&o.add(j0(g));break}else{let g=e.getSymbolAtLocation(f.expression);if(g&&g.valueDeclaration&&q0(g.valueDeclaration)){let m=e.getConstantValue(g.valueDeclaration);m!==void 0&&s(m)}}}return{addValue:s,hasValue:l};function s(f){switch(typeof f){case"string":r.add(f);break;case"number":i.add(f)}}function l(f){switch(typeof f){case"string":return r.has(f);case"number":return i.has(f);case"object":return o.has(j0(f))}}}var $l,RY,bge,K7,OY,q7,Ege,X7,NY,K6e=gt({"src/services/utilities.ts"(){"use strict";Fr(),$l=kg(99,!0),RY=(e=>(e[e.None=0]="None",e[e.Value=1]="Value",e[e.Type=2]="Type",e[e.Namespace=4]="Namespace",e[e.All=7]="All",e))(RY||{}),bge=/^\/\/\/\s*</,K7=[131,129,160,134,95,138,141,144,104,148,149,146,152,153,110,114,155,156,157],OY=(e=>(e[e.Single=0]="Single",e[e.Double=1]="Double",e))(OY||{}),q7=M6e(),Ege=`
+`,X7="anonymous function",NY=Kp(SY,oge,sge,O7)}});function Tge(e){let t=1,r=Nf(),i=new Map,o=new Map,s,l={isUsableByFile:x=>x===s,isEmpty:()=>!r.size,clear:()=>{r.clear(),i.clear(),s=void 0},add:(x,A,w,C,P,F,B,q)=>{x!==s&&(l.clear(),s=x);let W;if(P){let ge=jW(P.fileName);if(ge){let{topLevelNodeModulesIndex:X,topLevelPackageNameIndex:Ve,packageRootIndex:we}=ge;if(W=iF(ZO(P.fileName.substring(Ve+1,we))),na(x,P.path.substring(0,X))){let ke=o.get(W),Pe=P.fileName.substring(0,Ve+1);if(ke){let Ce=ke.indexOf(Wg);X>Ce&&o.set(W,Pe)}else o.set(W,Pe)}}}let R=F===1&&QA(A)||A,ie=F===0||BN(R)?Gi(w):mge(R,void 0),$=typeof ie=="string"?ie:ie[0],fe=typeof ie=="string"?void 0:ie[1],Z=u_(C.name),U=t++,re=wd(A,q),le=A.flags&33554432?void 0:A,_e=C.flags&33554432?void 0:C;(!le||!_e)&&i.set(U,[A,C]),r.add(d($,A,fl(Z)?void 0:Z,q),{id:U,symbolTableKey:w,symbolName:$,capitalizedSymbolName:fe,moduleName:Z,moduleFile:P,moduleFileName:P?.fileName,packageName:W,exportKind:F,targetFlags:re.flags,isFromPackageJson:B,symbol:le,moduleSymbol:_e})},get:(x,A)=>{if(x!==s)return;let w=r.get(A);return w?.map(f)},search:(x,A,w,C)=>{if(x===s)return Ld(r,(P,F)=>{let{symbolName:B,ambientModuleName:q}=g(F),W=A&&P[0].capitalizedSymbolName||B;if(w(W,P[0].targetFlags)){let R=P.map(f).filter((ie,$)=>S(ie,P[$].packageName));if(R.length){let ie=C(R,W,!!q,F);if(ie!==void 0)return ie}}})},releaseSymbols:()=>{i.clear()},onFileChanged:(x,A,w)=>m(x)&&m(A)?!1:s&&s!==A.path||w&&V7(x)!==V7(A)||!up(x.moduleAugmentations,A.moduleAugmentations)||!v(x,A)?(l.clear(),!0):(s=A.path,!1)};return L.isDebugging&&Object.defineProperty(l,"__cache",{get:()=>r}),l;function f(x){if(x.symbol&&x.moduleSymbol)return x;let{id:A,exportKind:w,targetFlags:C,isFromPackageJson:P,moduleFileName:F}=x,[B,q]=i.get(A)||Je;if(B&&q)return{symbol:B,moduleSymbol:q,moduleFileName:F,exportKind:w,targetFlags:C,isFromPackageJson:P};let W=(P?e.getPackageJsonAutoImportProvider():e.getCurrentProgram()).getTypeChecker(),Y=x.moduleSymbol||q||L.checkDefined(x.moduleFile?W.getMergedSymbol(x.moduleFile.symbol):W.tryFindAmbientModule(x.moduleName)),R=x.symbol||B||L.checkDefined(w===2?W.resolveExternalModuleSymbol(Y):W.tryGetMemberInModuleExportsAndProperties(Gi(x.symbolTableKey),Y),`Could not find symbol '${x.symbolName}' by key '${x.symbolTableKey}' in module ${Y.name}`);return i.set(A,[R,Y]),{symbol:R,moduleSymbol:Y,moduleFileName:F,exportKind:w,targetFlags:C,isFromPackageJson:P}}function d(x,A,w,C){let P=w||"";return`${x}|${$a(wd(A,C))}|${P}`}function g(x){let A=x.substring(0,x.indexOf("|")),w=x.substring(x.lastIndexOf("|")+1);return{symbolName:A,ambientModuleName:w===""?void 0:w}}function m(x){return!x.commonJsModuleIndicator&&!x.externalModuleIndicator&&!x.moduleAugmentations&&!x.ambientModuleNames}function v(x,A){if(!up(x.ambientModuleNames,A.ambientModuleNames))return!1;let w=-1,C=-1;for(let P of A.ambientModuleNames){let F=B=>lH(B)&&B.name.text===P;if(w=Yc(x.statements,F,w+1),C=Yc(A.statements,F,C+1),x.statements[w]!==A.statements[C])return!1}return!0}function S(x,A){if(!A||!x.moduleFileName)return!0;let w=e.getGlobalTypingsCacheLocation();if(w&&na(x.moduleFileName,w))return!0;let C=o.get(A);return!C||na(x.moduleFileName,C)}}function PY(e,t,r,i,o,s,l){var f;if(t===r)return!1;let d=l?.get(t.path,r.path,i,{});if(d?.isBlockedByPackageJsonDependencies!==void 0)return!d.isBlockedByPackageJsonDependencies;let g=lb(s),m=(f=s.getGlobalTypingsCacheLocation)==null?void 0:f.call(s),v=!!Q0.forEachFileNameOfModule(t.fileName,r.fileName,s,!1,S=>{let x=e.getSourceFile(S);return(x===r||!x)&&q6e(t.fileName,S,g,m)});if(o){let S=v&&o.allowsImportingSourceFile(r,s);return l?.setBlockedByPackageJsonDependencies(t.path,r.path,i,{},!S),S}return v}function q6e(e,t,r,i){let o=Th(t,l=>Hl(l)==="node_modules"?l:void 0),s=o&&ni(r(o));return s===void 0||na(r(e),s)||!!i&&na(r(i),s)}function MY(e,t,r,i,o){var s,l;let f=xR(t),d=r.autoImportFileExcludePatterns&&Zi(r.autoImportFileExcludePatterns,m=>{let v=kW(m,"","exclude");return v?Qy(v,f):void 0});Sge(e.getTypeChecker(),e.getSourceFiles(),d,(m,v)=>o(m,v,e,!1));let g=i&&((s=t.getPackageJsonAutoImportProvider)==null?void 0:s.call(t));if(g){let m=Ms(),v=e.getTypeChecker();Sge(g.getTypeChecker(),g.getSourceFiles(),d,(S,x)=>{(x&&!e.getSourceFile(x.fileName)||!x&&!v.resolveName(S.name,void 0,1536,!1))&&o(S,x,g,!0)}),(l=t.log)==null||l.call(t,`forEachExternalModuleToImportFrom autoImportProvider: ${Ms()-m}`)}}function Sge(e,t,r,i){var o;let s=r&&(l=>r.some(f=>f.test(l)));for(let l of e.getAmbientModules())!jl(l.name,"*")&&!(r&&((o=l.declarations)!=null&&o.every(f=>s(f.getSourceFile().fileName))))&&i(l,void 0);for(let l of t)kd(l)&&!s?.(l.fileName)&&i(e.getMergedSymbol(l.symbol),l)}function YN(e,t,r,i,o){var s,l,f,d,g;let m=Ms();(s=t.getPackageJsonAutoImportProvider)==null||s.call(t);let v=((l=t.getCachedExportInfoMap)==null?void 0:l.call(t))||Tge({getCurrentProgram:()=>r,getPackageJsonAutoImportProvider:()=>{var A;return(A=t.getPackageJsonAutoImportProvider)==null?void 0:A.call(t)},getGlobalTypingsCacheLocation:()=>{var A;return(A=t.getGlobalTypingsCacheLocation)==null?void 0:A.call(t)}});if(v.isUsableByFile(e.path))return(f=t.log)==null||f.call(t,"getExportInfoMap: cache hit"),v;(d=t.log)==null||d.call(t,"getExportInfoMap: cache miss or empty; calculating new results");let S=r.getCompilerOptions(),x=0;try{MY(r,t,i,!0,(A,w,C,P)=>{++x%100===0&&o?.throwIfCancellationRequested();let F=new Map,B=C.getTypeChecker(),q=Y7(A,B,S);q&&xge(q.symbol,B)&&v.add(e.path,q.symbol,q.exportKind===1?"default":"export=",A,w,q.exportKind,P,B),B.forEachExportAndPropertyOfModule(A,(W,Y)=>{W!==q?.symbol&&xge(W,B)&&V_(F,Y)&&v.add(e.path,W,Y,A,w,0,P,B)})})}catch(A){throw v.clear(),A}return(g=t.log)==null||g.call(t,`getExportInfoMap: done in ${Ms()-m} ms`),v}function Y7(e,t,r){let i=X6e(e,t);if(!i)return;let{symbol:o,exportKind:s}=i,l=$7(o,t,r);return l&&{symbol:o,exportKind:s,...l}}function xge(e,t){return!t.isUndefinedSymbol(e)&&!t.isUnknownSymbol(e)&&!gR(e)&&!Cce(e)}function X6e(e,t){let r=t.resolveExternalModuleSymbol(e);if(r!==e)return{symbol:r,exportKind:2};let i=t.tryGetMemberInModuleExports("default",e);if(i)return{symbol:i,exportKind:1}}function $7(e,t,r){let i=QA(e);if(i)return{resolvedSymbol:i,name:i.name};let o=Y6e(e);if(o!==void 0)return{resolvedSymbol:e,name:o};if(e.flags&2097152){let s=t.getImmediateAliasedSymbol(e);if(s&&s.parent)return $7(s,t,r)}return e.escapedName!=="default"&&e.escapedName!=="export="?{resolvedSymbol:e,name:e.getName()}:{resolvedSymbol:e,name:j7(e,r.target)}}function Y6e(e){return e.declarations&&ks(e.declarations,t=>{var r;if(pc(t))return(r=zr(ql(t.expression),Re))==null?void 0:r.text;if(Mu(t))return L.assert(t.name.text==="default","Expected the specifier to be a default export"),t.propertyName&&t.propertyName.text})}var FY,GY,$6e=gt({"src/services/exportInfoMap.ts"(){"use strict";Fr(),FY=(e=>(e[e.Named=0]="Named",e[e.Default=1]="Default",e[e.Namespace=2]="Namespace",e[e.CommonJS=3]="CommonJS",e))(FY||{}),GY=(e=>(e[e.Named=0]="Named",e[e.Default=1]="Default",e[e.ExportEquals=2]="ExportEquals",e[e.UMD=3]="UMD",e))(GY||{})}});function Age(){let e=kg(99,!1);function t(i,o,s){return e4e(r(i,o,s),i)}function r(i,o,s){let l=0,f=0,d=[],{prefix:g,pushTemplate:m}=r4e(o);i=g+i;let v=g.length;m&&d.push(15),e.setText(i);let S=0,x=[],A=0;do{l=e.scan(),KA(l)||(w(),f=l);let C=e.getTextPos();if(Z6e(e.getTokenPos(),C,v,o4e(l),x),C>=i.length){let P=Q6e(e,l,Os(d));P!==void 0&&(S=P)}}while(l!==1);function w(){switch(l){case 43:case 68:!wge[f]&&e.reScanSlashToken()===13&&(l=13);break;case 29:f===79&&A++;break;case 31:A>0&&A--;break;case 131:case 152:case 148:case 134:case 153:A>0&&!s&&(l=79);break;case 15:d.push(l);break;case 18:d.length>0&&d.push(l);break;case 19:if(d.length>0){let C=Os(d);C===15?(l=e.reScanTemplateToken(!1),l===17?d.pop():L.assertEqual(l,16,"Should have been a template middle.")):(L.assertEqual(C,18,"Should have been an open brace"),d.pop())}break;default:if(!Xu(l))break;(f===24||Xu(f)&&Xu(l)&&!n4e(f,l))&&(l=79)}}return{endOfLineState:S,spans:x}}return{getClassificationsForLine:t,getEncodedLexicalClassifications:r}}function Q6e(e,t,r){switch(t){case 10:{if(!e.isUnterminated())return;let i=e.getTokenText(),o=i.length-1,s=0;for(;i.charCodeAt(o-s)===92;)s++;return s&1?i.charCodeAt(0)===34?3:2:void 0}case 3:return e.isUnterminated()?1:void 0;default:if(Hy(t)){if(!e.isUnterminated())return;switch(t){case 17:return 5;case 14:return 4;default:return L.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+t)}}return r===15?6:void 0}}function Z6e(e,t,r,i,o){if(i===8)return;e===0&&r>0&&(e+=r);let s=t-e;s>0&&o.push(e-r,s,i)}function e4e(e,t){let r=[],i=e.spans,o=0;for(let l=0;l<i.length;l+=3){let f=i[l],d=i[l+1],g=i[l+2];if(o>=0){let m=f-o;m>0&&r.push({length:m,classification:4})}r.push({length:d,classification:t4e(g)}),o=f+d}let s=t.length-o;return s>0&&r.push({length:s,classification:4}),{entries:r,finalLexState:e.endOfLineState}}function t4e(e){switch(e){case 1:return 3;case 3:return 1;case 4:return 6;case 25:return 7;case 5:return 2;case 6:return 8;case 8:return 4;case 10:return 0;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return 5;default:return}}function n4e(e,t){if(!ZX(e))return!0;switch(t){case 137:case 151:case 135:case 124:case 127:return!0;default:return!1}}function r4e(e){switch(e){case 3:return{prefix:`"\\
+`};case 2:return{prefix:`'\\
+`};case 1:return{prefix:`/*
+`};case 4:return{prefix:"`\n"};case 5:return{prefix:`}
+`,pushTemplate:!0};case 6:return{prefix:"",pushTemplate:!0};case 0:return{prefix:""};default:return L.assertNever(e)}}function i4e(e){switch(e){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 74:case 73:case 78:case 70:case 71:case 72:case 64:case 65:case 66:case 68:case 69:case 63:case 27:case 60:case 75:case 76:case 77:return!0;default:return!1}}function a4e(e){switch(e){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}function o4e(e){if(Xu(e))return 3;if(i4e(e)||a4e(e))return 5;if(e>=18&&e<=78)return 10;switch(e){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 79:default:return Hy(e)?6:2}}function Cge(e,t,r,i,o){return kge(BY(e,t,r,i,o))}function Ige(e,t){switch(t){case 264:case 260:case 261:case 259:case 228:case 215:case 216:e.throwIfCancellationRequested()}}function BY(e,t,r,i,o){let s=[];return r.forEachChild(function f(d){if(!(!d||!$8(o,d.pos,d.getFullWidth()))){if(Ige(t,d.kind),Re(d)&&!rc(d)&&i.has(d.escapedText)){let g=e.getSymbolAtLocation(d),m=g&&Lge(g,ZT(d),e);m&&l(d.getStart(r),d.getEnd(),m)}d.forEachChild(f)}}),{spans:s,endOfLineState:0};function l(f,d,g){let m=d-f;L.assert(m>0,`Classification had non-positive length of ${m}`),s.push(f),s.push(m),s.push(g)}}function Lge(e,t,r){let i=e.getFlags();if(i&2885600)return i&32?11:i&384?12:i&524288?16:i&1536?t&4||t&1&&s4e(e)?14:void 0:i&2097152?Lge(r.getAliasedSymbol(e),t,r):t&2?i&64?13:i&262144?15:void 0:void 0}function s4e(e){return vt(e.declarations,t=>Tc(t)&&Gh(t)===1)}function c4e(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return}}function kge(e){L.assert(e.spans.length%3===0);let t=e.spans,r=[];for(let i=0;i<t.length;i+=3)r.push({textSpan:il(t[i],t[i+1]),classificationType:c4e(t[i+2])});return r}function Dge(e,t,r){return kge(UY(e,t,r))}function UY(e,t,r){let i=r.start,o=r.length,s=kg(99,!1,t.languageVariant,t.text),l=kg(99,!1,t.languageVariant,t.text),f=[];return q(t),{spans:f,endOfLineState:0};function d(W,Y,R){f.push(W),f.push(Y),f.push(R)}function g(W){for(s.setTextPos(W.pos);;){let Y=s.getTextPos();if(!hoe(t.text,Y))return Y;let R=s.scan(),ie=s.getTextPos(),$=ie-Y;if(!KA(R))return Y;switch(R){case 4:case 5:continue;case 2:case 3:m(W,R,Y,$),s.setTextPos(ie);continue;case 7:let fe=t.text,Z=fe.charCodeAt(Y);if(Z===60||Z===62){d(Y,$,1);continue}L.assert(Z===124||Z===61),w(fe,Y,ie);break;case 6:break;default:L.assertNever(R)}}}function m(W,Y,R,ie){if(Y===3){let $=Mde(t.text,R,ie);if($&&$.jsDoc){go($.jsDoc,W),S($.jsDoc);return}}else if(Y===2&&x(R,ie))return;v(R,ie)}function v(W,Y){d(W,Y,1)}function S(W){var Y,R,ie,$,fe,Z,U,re;let le=W.pos;if(W.tags)for(let ge of W.tags){ge.pos!==le&&v(le,ge.pos-le),d(ge.pos,1,10),d(ge.tagName.pos,ge.tagName.end-ge.tagName.pos,18),le=ge.tagName.end;let X=ge.tagName.end;switch(ge.kind){case 344:let Ve=ge;_e(Ve),X=Ve.isNameFirst&&((Y=Ve.typeExpression)==null?void 0:Y.end)||Ve.name.end;break;case 351:let we=ge;X=we.isNameFirst&&((R=we.typeExpression)==null?void 0:R.end)||we.name.end;break;case 348:A(ge),le=ge.end,X=ge.typeParameters.end;break;case 349:let ke=ge;X=((ie=ke.typeExpression)==null?void 0:ie.kind)===312&&(($=ke.fullName)==null?void 0:$.end)||((fe=ke.typeExpression)==null?void 0:fe.end)||X;break;case 341:X=ge.typeExpression.end;break;case 347:q(ge.typeExpression),le=ge.end,X=ge.typeExpression.end;break;case 346:case 343:X=ge.typeExpression.end;break;case 345:q(ge.typeExpression),le=ge.end,X=((Z=ge.typeExpression)==null?void 0:Z.end)||X;break;case 350:X=((U=ge.name)==null?void 0:U.end)||X;break;case 331:case 332:X=ge.class.end;break;case 352:q(ge.typeExpression),le=ge.end,X=((re=ge.typeExpression)==null?void 0:re.end)||X;break}typeof ge.comment=="object"?v(ge.comment.pos,ge.comment.end-ge.comment.pos):typeof ge.comment=="string"&&v(X,ge.end-X)}le!==W.end&&v(le,W.end-le);return;function _e(ge){ge.isNameFirst&&(v(le,ge.name.pos-le),d(ge.name.pos,ge.name.end-ge.name.pos,17),le=ge.name.end),ge.typeExpression&&(v(le,ge.typeExpression.pos-le),q(ge.typeExpression),le=ge.typeExpression.end),ge.isNameFirst||(v(le,ge.name.pos-le),d(ge.name.pos,ge.name.end-ge.name.pos,17),le=ge.name.end)}}function x(W,Y){let R=/^(\/\/\/\s*)(<)(?:(\S+)((?:[^/]|\/[^>])*)(\/>)?)?/im,ie=/(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/img,$=t.text.substr(W,Y),fe=R.exec($);if(!fe||!fe[3]||!(fe[3]in iw))return!1;let Z=W;v(Z,fe[1].length),Z+=fe[1].length,d(Z,fe[2].length,10),Z+=fe[2].length,d(Z,fe[3].length,21),Z+=fe[3].length;let U=fe[4],re=Z;for(;;){let _e=ie.exec(U);if(!_e)break;let ge=Z+_e.index+_e[1].length;ge>re&&(v(re,ge-re),re=ge),d(re,_e[2].length,22),re+=_e[2].length,_e[3].length&&(v(re,_e[3].length),re+=_e[3].length),d(re,_e[4].length,5),re+=_e[4].length,_e[5].length&&(v(re,_e[5].length),re+=_e[5].length),d(re,_e[6].length,24),re+=_e[6].length}Z+=fe[4].length,Z>re&&v(re,Z-re),fe[5]&&(d(Z,fe[5].length,10),Z+=fe[5].length);let le=W+Y;return Z<le&&v(Z,le-Z),!0}function A(W){for(let Y of W.getChildren())q(Y)}function w(W,Y,R){let ie;for(ie=Y;ie<R&&!Wl(W.charCodeAt(ie));ie++);for(d(Y,ie-Y,1),l.setTextPos(ie);l.getTextPos()<R;)C()}function C(){let W=l.getTextPos(),Y=l.scan(),R=l.getTextPos(),ie=B(Y);ie&&d(W,R-W,ie)}function P(W){if(dm(W)||rc(W))return!0;let Y=F(W);if(!Z1(W)&&W.kind!==11&&Y===void 0)return!1;let R=W.kind===11?W.pos:g(W),ie=W.end-R;if(L.assert(ie>=0),ie>0){let $=Y||B(W.kind,W);$&&d(R,ie,$)}return!0}function F(W){switch(W.parent&&W.parent.kind){case 283:if(W.parent.tagName===W)return 19;break;case 284:if(W.parent.tagName===W)return 20;break;case 282:if(W.parent.tagName===W)return 21;break;case 288:if(W.parent.name===W)return 22;break}}function B(W,Y){if(Xu(W))return 3;if((W===29||W===31)&&Y&&Ohe(Y.parent))return 10;if(Phe(W)){if(Y){let R=Y.parent;if(W===63&&(R.kind===257||R.kind===169||R.kind===166||R.kind===288)||R.kind===223||R.kind===221||R.kind===222||R.kind===224)return 5}return 10}else{if(W===8)return 4;if(W===9)return 25;if(W===10)return Y&&Y.parent.kind===288?24:6;if(W===13)return 6;if(Hy(W))return 6;if(W===11)return 23;if(W===79){if(Y){switch(Y.parent.kind){case 260:return Y.parent.name===Y?11:void 0;case 165:return Y.parent.name===Y?15:void 0;case 261:return Y.parent.name===Y?13:void 0;case 263:return Y.parent.name===Y?12:void 0;case 264:return Y.parent.name===Y?14:void 0;case 166:return Y.parent.name===Y?LT(Y)?3:17:void 0}if(Ch(Y.parent))return 3}return 2}}}function q(W){if(W&&Q8(i,o,W.pos,W.getFullWidth())){Ige(e,W.kind);for(let Y of W.getChildren(t))P(Y)||q(Y)}}}var wge,l4e=gt({"src/services/classifier.ts"(){"use strict";Fr(),wge=gae([79,10,8,9,13,108,45,46,21,23,19,110,95],e=>e,()=>!0)}}),Q7,u4e=gt({"src/services/documentHighlights.ts"(){"use strict";Fr(),(e=>{function t(Z,U,re,le,_e){let ge=ef(re,le);if(ge.parent&&(Xm(ge.parent)&&ge.parent.tagName===ge||GS(ge.parent))){let{openingElement:X,closingElement:Ve}=ge.parent.parent,we=[X,Ve].map(({tagName:ke})=>r(ke,re));return[{fileName:re.fileName,highlightSpans:we}]}return i(le,ge,Z,U,_e)||o(ge,re)}e.getDocumentHighlights=t;function r(Z,U){return{fileName:U.fileName,textSpan:Du(Z,U),kind:"none"}}function i(Z,U,re,le,_e){let ge=new Set(_e.map(ke=>ke.fileName)),X=js.getReferenceEntriesForNode(Z,U,re,_e,le,void 0,ge);if(!X)return;let Ve=KD(X.map(js.toHighlightSpan),ke=>ke.fileName,ke=>ke.span),we=Dl(re.useCaseSensitiveFileNames());return lo(UD(Ve.entries(),([ke,Pe])=>{if(!ge.has(ke)){if(!re.redirectTargetsMap.has(Ts(ke,re.getCurrentDirectory(),we)))return;let Ce=re.getSourceFile(ke);ke=wr(_e,Be=>!!Be.redirectInfo&&Be.redirectInfo.redirectTarget===Ce).fileName,L.assert(ge.has(ke))}return{fileName:ke,highlightSpans:Pe}}))}function o(Z,U){let re=s(Z,U);return re&&[{fileName:U.fileName,highlightSpans:re}]}function s(Z,U){switch(Z.kind){case 99:case 91:return MT(Z.parent)?ie(Z.parent,U):void 0;case 105:return le(Z.parent,j_,q);case 109:return le(Z.parent,Fz,B);case 111:case 83:case 96:let ge=Z.kind===83?Z.parent.parent:Z.parent;return le(ge,mO,F);case 107:return le(Z.parent,pO,P);case 82:case 88:return yO(Z.parent)||CL(Z.parent)?le(Z.parent.parent.parent,pO,P):void 0;case 81:case 86:return le(Z.parent,hI,C);case 97:case 115:case 90:return le(Z.parent,X=>Wy(X,!0),w);case 135:return re(Ec,[135]);case 137:case 151:return re(rb,[137,151]);case 133:return le(Z.parent,v2,W);case 132:return _e(W(Z));case 125:return _e(Y(Z));case 101:return;default:return Rg(Z.kind)&&(Kl(Z.parent)||Bc(Z.parent))?_e(S(Z.kind,Z.parent)):void 0}function re(ge,X){return le(Z.parent,ge,Ve=>{var we;return Zi((we=zr(Ve,$p))==null?void 0:we.symbol.declarations,ke=>ge(ke)?wr(ke.getChildren(U),Pe=>ya(X,Pe.kind)):void 0)})}function le(ge,X,Ve){return X(ge)?_e(Ve(ge,U)):void 0}function _e(ge){return ge&&ge.map(X=>r(X,U))}}function l(Z){return Fz(Z)?[Z]:mO(Z)?Qi(Z.catchClause?l(Z.catchClause):Z.tryBlock&&l(Z.tryBlock),Z.finallyBlock&&l(Z.finallyBlock)):Ia(Z)?void 0:g(Z,l)}function f(Z){let U=Z;for(;U.parent;){let re=U.parent;if(bT(re)||re.kind===308)return re;if(mO(re)&&re.tryBlock===U&&re.catchClause)return U;U=re}}function d(Z){return hI(Z)?[Z]:Ia(Z)?void 0:g(Z,d)}function g(Z,U){let re=[];return Z.forEachChild(le=>{let _e=U(le);_e!==void 0&&re.push(...qD(_e))}),re}function m(Z,U){let re=v(U);return!!re&&re===Z}function v(Z){return jn(Z,U=>{switch(U.kind){case 252:if(Z.kind===248)return!1;case 245:case 246:case 247:case 244:case 243:return!Z.label||fe(U,Z.label.escapedText);default:return Ia(U)&&"quit"}})}function S(Z,U){return Zi(x(U,gS(Z)),re=>z2(re,Z))}function x(Z,U){let re=Z.parent;switch(re.kind){case 265:case 308:case 238:case 292:case 293:return U&256&&sl(Z)?[...Z.members,Z]:re.statements;case 173:case 171:case 259:return[...re.parameters,...Yr(re.parent)?re.parent.members:[]];case 260:case 228:case 261:case 184:let le=re.members;if(U&92){let _e=wr(re.members,Ec);if(_e)return[...le,..._e.parameters]}else if(U&256)return[...le,re];return le;case 207:return;default:L.assertNever(re,"Invalid container kind.")}}function A(Z,U,...re){return U&&ya(re,U.kind)?(Z.push(U),!0):!1}function w(Z){let U=[];if(A(U,Z.getFirstToken(),97,115,90)&&Z.kind===243){let re=Z.getChildren();for(let le=re.length-1;le>=0&&!A(U,re[le],115);le--);}return mn(d(Z.statement),re=>{m(Z,re)&&A(U,re.getFirstToken(),81,86)}),U}function C(Z){let U=v(Z);if(U)switch(U.kind){case 245:case 246:case 247:case 243:case 244:return w(U);case 252:return P(U)}}function P(Z){let U=[];return A(U,Z.getFirstToken(),107),mn(Z.caseBlock.clauses,re=>{A(U,re.getFirstToken(),82,88),mn(d(re),le=>{m(Z,le)&&A(U,le.getFirstToken(),81)})}),U}function F(Z,U){let re=[];if(A(re,Z.getFirstToken(),111),Z.catchClause&&A(re,Z.catchClause.getFirstToken(),83),Z.finallyBlock){let le=Yo(Z,96,U);A(re,le,96)}return re}function B(Z,U){let re=f(Z);if(!re)return;let le=[];return mn(l(re),_e=>{le.push(Yo(_e,109,U))}),bT(re)&&vT(re,_e=>{le.push(Yo(_e,105,U))}),le}function q(Z,U){let re=Xd(Z);if(!re)return;let le=[];return vT(Ga(re.body,Va),_e=>{le.push(Yo(_e,105,U))}),mn(l(re.body),_e=>{le.push(Yo(_e,109,U))}),le}function W(Z){let U=Xd(Z);if(!U)return;let re=[];return U.modifiers&&U.modifiers.forEach(le=>{A(re,le,132)}),pa(U,le=>{R(le,_e=>{v2(_e)&&A(re,_e.getFirstToken(),133)})}),re}function Y(Z){let U=Xd(Z);if(!U)return;let re=[];return pa(U,le=>{R(le,_e=>{f3(_e)&&A(re,_e.getFirstToken(),125)})}),re}function R(Z,U){U(Z),!Ia(Z)&&!Yr(Z)&&!ku(Z)&&!Tc(Z)&&!Ep(Z)&&!bi(Z)&&pa(Z,re=>R(re,U))}function ie(Z,U){let re=$(Z,U),le=[];for(let _e=0;_e<re.length;_e++){if(re[_e].kind===91&&_e<re.length-1){let ge=re[_e],X=re[_e+1],Ve=!0;for(let we=X.getStart(U)-1;we>=ge.end;we--)if(!Yp(U.text.charCodeAt(we))){Ve=!1;break}if(Ve){le.push({fileName:U.fileName,textSpan:Wc(ge.getStart(),X.end),kind:"reference"}),_e++;continue}}le.push(r(re[_e],U))}return le}function $(Z,U){let re=[];for(;MT(Z.parent)&&Z.parent.elseStatement===Z;)Z=Z.parent;for(;;){let le=Z.getChildren(U);A(re,le[0],99);for(let _e=le.length-1;_e>=0&&!A(re,le[_e],91);_e--);if(!Z.elseStatement||!MT(Z.elseStatement))break;Z=Z.elseStatement}return re}function fe(Z,U){return!!jn(Z.parent,re=>J0(re)?re.label.escapedText===U:"quit")}})(Q7||(Q7={}))}});function Z7(e){return!!e.sourceFile}function VY(e,t){return Rge(e,t)}function Rge(e,t="",r){let i=new Map,o=Dl(!!e);function s(){let C=lo(i.keys()).filter(P=>P&&P.charAt(0)==="_").map(P=>{let F=i.get(P),B=[];return F.forEach((q,W)=>{Z7(q)?B.push({name:W,scriptKind:q.sourceFile.scriptKind,refCount:q.languageServiceRefCount}):q.forEach((Y,R)=>B.push({name:W,scriptKind:R,refCount:Y.languageServiceRefCount}))}),B.sort((q,W)=>W.refCount-q.refCount),{bucket:P,sourceFiles:B}});return JSON.stringify(C,void 0,2)}function l(C){return typeof C.getCompilationSettings=="function"?C.getCompilationSettings():C}function f(C,P,F,B,q,W){let Y=Ts(C,t,o),R=e5(l(P));return d(C,Y,P,R,F,B,q,W)}function d(C,P,F,B,q,W,Y,R){return S(C,P,F,B,q,W,!0,Y,R)}function g(C,P,F,B,q,W){let Y=Ts(C,t,o),R=e5(l(P));return m(C,Y,P,R,F,B,q,W)}function m(C,P,F,B,q,W,Y,R){return S(C,P,l(F),B,q,W,!1,Y,R)}function v(C,P){let F=Z7(C)?C:C.get(L.checkDefined(P,"If there are more than one scriptKind's for same document the scriptKind should be provided"));return L.assert(P===void 0||!F||F.sourceFile.scriptKind===P,`Script kind should match provided ScriptKind:${P} and sourceFile.scriptKind: ${F?.sourceFile.scriptKind}, !entry: ${!F}`),F}function S(C,P,F,B,q,W,Y,R,ie){var $,fe,Z,U;R=h4(C,R);let re=l(F),le=F===re?void 0:F,_e=R===6?100:Do(re),ge=typeof ie=="object"?ie:{languageVersion:_e,impliedNodeFormat:le&&NF(P,(U=(Z=(fe=($=le.getCompilerHost)==null?void 0:$.call(le))==null?void 0:fe.getModuleResolutionCache)==null?void 0:Z.call(fe))==null?void 0:U.getPackageJsonInfoCache(),le,re),setExternalModuleIndicator:OR(re)};ge.languageVersion=_e;let X=i.size,Ve=Oge(B,ge.impliedNodeFormat),we=VD(i,Ve,()=>new Map);if(ai){i.size>X&&ai.instant(ai.Phase.Session,"createdDocumentRegistryBucket",{configFilePath:re.configFilePath,key:Ve});let Ie=!Fu(P)&&Ld(i,(Be,Ne)=>Ne!==Ve&&Be.has(P)&&Ne);Ie&&ai.instant(ai.Phase.Session,"documentRegistryBucketOverlap",{path:P,key1:Ie,key2:Ve})}let ke=we.get(P),Pe=ke&&v(ke,R);if(!Pe&&r){let Ie=r.getDocument(Ve,P);Ie&&(L.assert(Y),Pe={sourceFile:Ie,languageServiceRefCount:0},Ce())}if(Pe)Pe.sourceFile.version!==W&&(Pe.sourceFile=_$(Pe.sourceFile,q,W,q.getChangeRange(Pe.sourceFile.scriptSnapshot)),r&&r.setDocument(Ve,P,Pe.sourceFile)),Y&&Pe.languageServiceRefCount++;else{let Ie=f5(C,q,ge,W,!1,R);r&&r.setDocument(Ve,P,Ie),Pe={sourceFile:Ie,languageServiceRefCount:1},Ce()}return L.assert(Pe.languageServiceRefCount!==0),Pe.sourceFile;function Ce(){if(!ke)we.set(P,Pe);else if(Z7(ke)){let Ie=new Map;Ie.set(ke.sourceFile.scriptKind,ke),Ie.set(R,Pe),we.set(P,Ie)}else ke.set(R,Pe)}}function x(C,P,F,B){let q=Ts(C,t,o),W=e5(P);return A(q,W,F,B)}function A(C,P,F,B){let q=L.checkDefined(i.get(Oge(P,B))),W=q.get(C),Y=v(W,F);Y.languageServiceRefCount--,L.assert(Y.languageServiceRefCount>=0),Y.languageServiceRefCount===0&&(Z7(W)?q.delete(C):(W.delete(F),W.size===1&&q.set(C,FD(W.values(),Ks))))}function w(C,P){return lo(i.entries(),([F,B])=>{let q=B.get(C),W=q&&v(q,P);return[F,W&&W.languageServiceRefCount]})}return{acquireDocument:f,acquireDocumentWithKey:d,updateDocument:g,updateDocumentWithKey:m,releaseDocument:x,releaseDocumentWithKey:A,getLanguageServiceRefCounts:w,reportStats:s,getKeyForCompilationSettings:e5}}function e5(e){return JJ(e,V3)}function Oge(e,t){return t?`${e}|${t}`:e}var d4e=gt({"src/services/documentRegistry.ts"(){"use strict";Fr()}});function Nge(e,t,r,i,o,s,l){let f=xR(i),d=Dl(f),g=jY(t,r,d,l),m=jY(r,t,d,l);return nr.ChangeTracker.with({host:i,formatContext:o,preferences:s},v=>{_4e(e,v,g,t,r,i.getCurrentDirectory(),f),p4e(e,v,g,m,i,d)})}function jY(e,t,r,i){let o=r(e);return l=>{let f=i&&i.tryGetSourcePosition({fileName:l,pos:0}),d=s(f?f.fileName:l);return f?d===void 0?void 0:f4e(f.fileName,d,l,r):d};function s(l){if(r(l)===o)return t;let f=IW(l,o,r);return f===void 0?void 0:t+"/"+f}}function f4e(e,t,r,i){let o=_w(e,t,i);return HY(ni(r),o)}function _4e(e,t,r,i,o,s,l){let{configFile:f}=e.getCompilerOptions();if(!f)return;let d=ni(f.fileName),g=LI(f);if(!g)return;WY(g,(x,A)=>{switch(A){case"files":case"include":case"exclude":{if(m(x)||A!=="include"||!fu(x.initializer))return;let C=Zi(x.initializer.elements,F=>yo(F)?F.text:void 0);if(C.length===0)return;let P=tL(d,[],C,l,s);Qy(L.checkDefined(P.includeFilePattern),l).test(i)&&!Qy(L.checkDefined(P.includeFilePattern),l).test(o)&&t.insertNodeAfter(f,To(x.initializer.elements),D.createStringLiteral(S(o)));return}case"compilerOptions":WY(x.initializer,(w,C)=>{let P=gJ(C);L.assert(P?.type!=="listOrElement"),P&&(P.isFilePath||P.type==="list"&&P.element.isFilePath)?m(w):C==="paths"&&WY(w.initializer,F=>{if(fu(F.initializer))for(let B of F.initializer.elements)v(B)})});return}});function m(x){let A=fu(x.initializer)?x.initializer.elements:[x.initializer],w=!1;for(let C of A)w=v(C)||w;return w}function v(x){if(!yo(x))return!1;let A=HY(d,x.text),w=r(A);return w!==void 0?(t.replaceRangeWithText(f,Mge(x,f),S(w)),!0):!1}function S(x){return Xp(d,x,!l)}}function p4e(e,t,r,i,o,s){let l=e.getSourceFiles();for(let f of l){let d=r(f.fileName),g=d??f.fileName,m=ni(g),v=i(f.fileName),S=v||f.fileName,x=ni(S),A=d!==void 0||v!==void 0;g4e(f,t,w=>{if(!Jd(w))return;let C=HY(x,w),P=r(C);return P===void 0?void 0:S0(Xp(m,P,s))},w=>{let C=e.getTypeChecker().getSymbolAtLocation(w);if(C?.declarations&&C.declarations.some(F=>lu(F)))return;let P=v!==void 0?Pge(w,FL(w.text,S,e.getCompilerOptions(),o),r,l):h4e(C,w,f,e,o,r);return P!==void 0&&(P.updated||A&&Jd(w.text))?Q0.updateModuleSpecifier(e.getCompilerOptions(),f,s(g),P.newFileName,$S(e,o),w.text):void 0})}}function m4e(e,t){return So(vi(e,t))}function HY(e,t){return S0(m4e(e,t))}function h4e(e,t,r,i,o,s){var l;if(e){let f=wr(e.declarations,Li).fileName,d=s(f);return d===void 0?{newFileName:f,updated:!1}:{newFileName:d,updated:!0}}else{let f=W_(r,t),d=o.resolveModuleNameLiterals||!o.resolveModuleNames?(l=r.resolvedModules)==null?void 0:l.get(t.text,f):o.getResolvedModuleWithFailedLookupLocationsFromCache&&o.getResolvedModuleWithFailedLookupLocationsFromCache(t.text,r.fileName,f);return Pge(t,d,s,i.getSourceFiles())}}function Pge(e,t,r,i){if(!t)return;if(t.resolvedModule){let d=f(t.resolvedModule.resolvedFileName);if(d)return d}let o=mn(t.failedLookupLocations,s)||Jd(e.text)&&mn(t.failedLookupLocations,l);if(o)return o;return t.resolvedModule&&{newFileName:t.resolvedModule.resolvedFileName,updated:!1};function s(d){let g=r(d);return g&&wr(i,m=>m.fileName===g)?l(d):void 0}function l(d){return Oc(d,"/package.json")?void 0:f(d)}function f(d){let g=r(d);return g&&{newFileName:g,updated:!0}}}function g4e(e,t,r,i){for(let o of e.referencedFiles||Je){let s=r(o.fileName);s!==void 0&&s!==e.text.slice(o.pos,o.end)&&t.replaceRangeWithText(e,o,s)}for(let o of e.imports){let s=i(o);s!==void 0&&s!==o.text&&t.replaceRangeWithText(e,Mge(o,e),s)}}function Mge(e,t){return Gf(e.getStart(t)+1,e.end-1)}function WY(e,t){if(rs(e))for(let r of e.properties)yl(r)&&yo(r.name)&&t(r,r.name.text)}var y4e=gt({"src/services/getEditsForFileRename.ts"(){"use strict";Fr()}});function $N(e,t){return{kind:e,isCaseSensitive:t}}function Fge(e){let t=new Map,r=e.trim().split(".").map(i=>T4e(i.trim()));if(!r.some(i=>!i.subWordTextChunks.length))return{getFullMatch:(i,o)=>v4e(i,o,r,t),getMatchForLastSegmentOfPattern:i=>zY(i,To(r),t),patternContainsDots:r.length>1}}function v4e(e,t,r,i){if(!zY(t,To(r),i)||r.length-1>e.length)return;let s;for(let l=r.length-2,f=e.length-1;l>=0;l-=1,f-=1)s=Uge(s,zY(e[f],r[l],i));return s}function Gge(e,t){let r=t.get(e);return r||t.set(e,r=Wge(e)),r}function Bge(e,t,r){let i=S4e(e,t.textLowerCase);if(i===0)return $N(t.text.length===e.length?0:1,na(e,t.text));if(t.isLowerCase){if(i===-1)return;let o=Gge(e,r);for(let s of o)if(JY(e,s,t.text,!0))return $N(2,JY(e,s,t.text,!1));if(t.text.length<e.length&&ex(e.charCodeAt(i)))return $N(2,!1)}else{if(e.indexOf(t.text)>0)return $N(2,!0);if(t.characterSpans.length>0){let o=Gge(e,r),s=Vge(e,o,t,!1)?!0:Vge(e,o,t,!0)?!1:void 0;if(s!==void 0)return $N(3,s)}}}function zY(e,t,r){if(t5(t.totalTextChunk.text,s=>s!==32&&s!==42)){let s=Bge(e,t.totalTextChunk,r);if(s)return s}let i=t.subWordTextChunks,o;for(let s of i)o=Uge(o,Bge(e,s,r));return o}function Uge(e,t){return WU([e,t],b4e)}function b4e(e,t){return e===void 0?1:t===void 0?-1:Es(e.kind,t.kind)||g0(!e.isCaseSensitive,!t.isCaseSensitive)}function JY(e,t,r,i,o={start:0,length:r.length}){return o.length<=t.length&&Kge(0,o.length,s=>E4e(r.charCodeAt(o.start+s),e.charCodeAt(t.start+s),i))}function E4e(e,t,r){return r?KY(e)===KY(t):e===t}function Vge(e,t,r,i){let o=r.characterSpans,s=0,l=0,f,d;for(;;){if(l===o.length)return!0;if(s===t.length)return!1;let g=t[s],m=!1;for(;l<o.length;l++){let v=o[l];if(m&&(!ex(r.text.charCodeAt(o[l-1].start))||!ex(r.text.charCodeAt(o[l].start)))||!JY(e,g,r.text,i,v))break;m=!0,f=f===void 0?s:f,d=d===void 0?!0:d,g=il(g.start+v.length,g.length-v.length)}!m&&d!==void 0&&(d=!1),s++}}function T4e(e){return{totalTextChunk:XY(e),subWordTextChunks:A4e(e)}}function ex(e){if(e>=65&&e<=90)return!0;if(e<127||!W8(e,99))return!1;let t=String.fromCharCode(e);return t===t.toUpperCase()}function jge(e){if(e>=97&&e<=122)return!0;if(e<127||!W8(e,99))return!1;let t=String.fromCharCode(e);return t===t.toLowerCase()}function S4e(e,t){let r=e.length-t.length;for(let i=0;i<=r;i++)if(t5(t,(o,s)=>KY(e.charCodeAt(s+i))===o))return i;return-1}function KY(e){return e>=65&&e<=90?97+(e-65):e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function qY(e){return e>=48&&e<=57}function x4e(e){return ex(e)||jge(e)||qY(e)||e===95||e===36}function A4e(e){let t=[],r=0,i=0;for(let o=0;o<e.length;o++){let s=e.charCodeAt(o);x4e(s)?(i===0&&(r=o),i++):i>0&&(t.push(XY(e.substr(r,i))),i=0)}return i>0&&t.push(XY(e.substr(r,i))),t}function XY(e){let t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:Hge(e)}}function Hge(e){return zge(e,!1)}function Wge(e){return zge(e,!0)}function zge(e,t){let r=[],i=0;for(let o=1;o<e.length;o++){let s=qY(e.charCodeAt(o-1)),l=qY(e.charCodeAt(o)),f=I4e(e,t,o),d=t&&C4e(e,o,i);(YY(e.charCodeAt(o-1))||YY(e.charCodeAt(o))||s!==l||f||d)&&(Jge(e,i,o)||r.push(il(i,o-i)),i=o)}return Jge(e,i,e.length)||r.push(il(i,e.length-i)),r}function YY(e){switch(e){case 33:case 34:case 35:case 37:case 38:case 39:case 40:case 41:case 42:case 44:case 45:case 46:case 47:case 58:case 59:case 63:case 64:case 91:case 92:case 93:case 95:case 123:case 125:return!0}return!1}function Jge(e,t,r){return t5(e,i=>YY(i)&&i!==95,t,r)}function C4e(e,t,r){return t!==r&&t+1<e.length&&ex(e.charCodeAt(t))&&jge(e.charCodeAt(t+1))&&t5(e,ex,r,t)}function I4e(e,t,r){let i=ex(e.charCodeAt(r-1));return ex(e.charCodeAt(r))&&(!t||!i)}function Kge(e,t,r){for(let i=e;i<t;i++)if(!r(i))return!1;return!0}function t5(e,t,r=0,i=e.length){return Kge(r,i,o=>t(e.charCodeAt(o),o))}var n5,L4e=gt({"src/services/patternMatcher.ts"(){"use strict";Fr(),n5=(e=>(e[e.exact=0]="exact",e[e.prefix=1]="prefix",e[e.substring=2]="substring",e[e.camelCase=3]="camelCase",e))(n5||{})}});function qge(e,t=!0,r=!1){let i={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},o=[],s,l,f,d=0,g=!1;function m(){return l=f,f=$l.scan(),f===18?d++:f===19&&d--,f}function v(){let W=$l.getTokenValue(),Y=$l.getTokenPos();return{fileName:W,pos:Y,end:Y+W.length}}function S(){s||(s=[]),s.push({ref:v(),depth:d})}function x(){o.push(v()),A()}function A(){d===0&&(g=!0)}function w(){let W=$l.getToken();return W===136?(W=m(),W===142&&(W=m(),W===10&&S()),!0):!1}function C(){if(l===24)return!1;let W=$l.getToken();if(W===100){if(W=m(),W===20){if(W=m(),W===10||W===14)return x(),!0}else{if(W===10)return x(),!0;if(W===154&&$l.lookAhead(()=>{let R=$l.scan();return R!==158&&(R===41||R===18||R===79||Xu(R))})&&(W=m()),W===79||Xu(W))if(W=m(),W===158){if(W=m(),W===10)return x(),!0}else if(W===63){if(F(!0))return!0}else if(W===27)W=m();else return!0;if(W===18){for(W=m();W!==19&&W!==1;)W=m();W===19&&(W=m(),W===158&&(W=m(),W===10&&x()))}else W===41&&(W=m(),W===128&&(W=m(),(W===79||Xu(W))&&(W=m(),W===158&&(W=m(),W===10&&x()))))}return!0}return!1}function P(){let W=$l.getToken();if(W===93){if(A(),W=m(),W===154&&$l.lookAhead(()=>{let R=$l.scan();return R===41||R===18})&&(W=m()),W===18){for(W=m();W!==19&&W!==1;)W=m();W===19&&(W=m(),W===158&&(W=m(),W===10&&x()))}else if(W===41)W=m(),W===158&&(W=m(),W===10&&x());else if(W===100&&(W=m(),W===154&&$l.lookAhead(()=>{let R=$l.scan();return R===79||Xu(R)})&&(W=m()),(W===79||Xu(W))&&(W=m(),W===63&&F(!0))))return!0;return!0}return!1}function F(W,Y=!1){let R=W?m():$l.getToken();return R===147?(R=m(),R===20&&(R=m(),(R===10||Y&&R===14)&&x()),!0):!1}function B(){let W=$l.getToken();if(W===79&&$l.getTokenValue()==="define"){if(W=m(),W!==20)return!0;if(W=m(),W===10||W===14)if(W=m(),W===27)W=m();else return!0;if(W!==22)return!0;for(W=m();W!==23&&W!==1;)(W===10||W===14)&&x(),W=m();return!0}return!1}function q(){for($l.setText(e),m();$l.getToken()!==1;){if($l.getToken()===15){let W=[$l.getToken()];e:for(;Fn(W);){let Y=$l.scan();switch(Y){case 1:break e;case 100:C();break;case 15:W.push(Y);break;case 18:Fn(W)&&W.push(Y);break;case 19:Fn(W)&&(Os(W)===15?$l.reScanTemplateToken(!1)===17&&W.pop():W.pop());break}}m()}w()||C()||P()||r&&(F(!1,!0)||B())||m()}$l.setText(void 0)}if(t&&q(),dJ(i,e),fJ(i,Ba),g){if(s)for(let W of s)o.push(W.ref);return{referencedFiles:i.referencedFiles,typeReferenceDirectives:i.typeReferenceDirectives,libReferenceDirectives:i.libReferenceDirectives,importedFiles:o,isLibFile:!!i.hasNoDefaultLib,ambientExternalModules:void 0}}else{let W;if(s)for(let Y of s)Y.depth===0?(W||(W=[]),W.push(Y.ref.fileName)):o.push(Y.ref);return{referencedFiles:i.referencedFiles,typeReferenceDirectives:i.typeReferenceDirectives,libReferenceDirectives:i.libReferenceDirectives,importedFiles:o,isLibFile:!!i.hasNoDefaultLib,ambientExternalModules:W}}}var k4e=gt({"src/services/preProcess.ts"(){"use strict";Fr()}});function Xge(e){let t=Dl(e.useCaseSensitiveFileNames()),r=e.getCurrentDirectory(),i=new Map,o=new Map;return{tryGetSourcePosition:f,tryGetGeneratedPosition:d,toLineColumnOffset:S,clearCache:x};function s(A){return Ts(A,r,t)}function l(A,w){let C=s(A),P=o.get(C);if(P)return P;let F;if(e.getDocumentPositionMapper)F=e.getDocumentPositionMapper(A,w);else if(e.readFile){let B=v(A);F=B&&Yge({getSourceFileLike:v,getCanonicalFileName:t,log:q=>e.log(q)},A,F_e(B.text,Sh(B)),q=>!e.fileExists||e.fileExists(q)?e.readFile(q):void 0)}return o.set(C,F||yF),F||yF}function f(A){if(!Fu(A.fileName)||!g(A.fileName))return;let C=l(A.fileName).getSourcePosition(A);return!C||C===A?void 0:f(C)||C}function d(A){if(Fu(A.fileName))return;let w=g(A.fileName);if(!w)return;let C=e.getProgram();if(C.isSourceOfProjectReferenceRedirect(w.fileName))return;let P=C.getCompilerOptions(),F=Ss(P),B=F?ld(F)+".d.ts":$H(A.fileName,C.getCompilerOptions(),r,C.getCommonSourceDirectory(),t);if(B===void 0)return;let q=l(B,A.fileName).getGeneratedPosition(A);return q===A?void 0:q}function g(A){let w=e.getProgram();if(!w)return;let C=s(A),P=w.getSourceFileByPath(C);return P&&P.resolvedPath===C?P:void 0}function m(A){let w=s(A),C=i.get(w);if(C!==void 0)return C||void 0;if(!e.readFile||e.fileExists&&!e.fileExists(w)){i.set(w,!1);return}let P=e.readFile(w),F=P?D4e(P):!1;return i.set(w,F),F||void 0}function v(A){return e.getSourceFileLike?e.getSourceFileLike(A):g(A)||m(A)}function S(A,w){return v(A).getLineAndCharacterOfPosition(w)}function x(){i.clear(),o.clear()}}function Yge(e,t,r,i){let o=G_e(r);if(o){let f=Qge.exec(o);if(f){if(f[1]){let d=f[1];return $ge(e,nle(xl,d),t)}o=void 0}}let s=[];o&&s.push(o),s.push(t+".map");let l=o&&_a(o,ni(t));for(let f of s){let d=_a(f,ni(t)),g=i(d,l);if(Ta(g))return $ge(e,g,d);if(g!==void 0)return g||void 0}}function $ge(e,t,r){let i=bK(t);if(!(!i||!i.sources||!i.file||!i.mappings)&&!(i.sourcesContent&&i.sourcesContent.some(Ta)))return H_e(e,i,r)}function D4e(e,t){return{text:e,lineMap:t,getLineAndCharacterOfPosition(r){return yw(Sh(this),r)}}}var Qge,w4e=gt({"src/services/sourcemaps.ts"(){"use strict";Fr(),Fr(),Qge=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/}});function $Y(e,t,r){t.getSemanticDiagnostics(e,r);let i=[],o=t.getTypeChecker();!(e.impliedNodeFormat===1||$c(e.fileName,[".cts",".cjs"]))&&e.commonJsModuleIndicator&&(Vhe(t)||aY(t.getCompilerOptions()))&&R4e(e)&&i.push(hr(M4e(e.commonJsModuleIndicator),_.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module));let l=Cu(e);if(i5.clear(),f(e),wT(t.getCompilerOptions()))for(let d of e.imports){let g=aR(d),m=O4e(g);if(!m)continue;let v=kA(e,d.text,W_(e,d)),S=v&&t.getSourceFile(v.resolvedFileName);S&&S.externalModuleIndicator&&S.externalModuleIndicator!==!0&&pc(S.externalModuleIndicator)&&S.externalModuleIndicator.isExportEquals&&i.push(hr(m,_.Import_may_be_converted_to_a_default_import))}return si(i,e.bindSuggestionDiagnostics),si(i,t.getSuggestionDiagnostics(e,r)),i.sort((d,g)=>d.start-g.start);function f(d){if(l)G4e(d,o)&&i.push(hr(wi(d.parent)?d.parent.name:d,_.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(Bc(d)&&d.parent===e&&d.declarationList.flags&2&&d.declarationList.declarations.length===1){let g=d.declarationList.declarations[0].initializer;g&&qu(g,!0)&&i.push(hr(g,_.require_call_may_be_converted_to_an_import))}gu.parameterShouldGetTypeFromJSDoc(d)&&i.push(hr(d.name||d,_.JSDoc_types_may_be_moved_to_TypeScript_types))}e$(d)&&N4e(d,o,i),d.forEachChild(f)}}function R4e(e){return e.statements.some(t=>{switch(t.kind){case 240:return t.declarationList.declarations.some(r=>!!r.initializer&&qu(Zge(r.initializer),!0));case 241:{let{expression:r}=t;if(!ar(r))return qu(r,!0);let i=ic(r);return i===1||i===2}default:return!1}})}function Zge(e){return br(e)?Zge(e.expression):e}function O4e(e){switch(e.kind){case 269:let{importClause:t,moduleSpecifier:r}=e;return t&&!t.name&&t.namedBindings&&t.namedBindings.kind===271&&yo(r)?t.namedBindings.name:void 0;case 268:return e.name;default:return}}function N4e(e,t,r){P4e(e,t)&&!i5.has(rye(e))&&r.push(hr(!e.name&&wi(e.parent)&&Re(e.parent.name)?e.parent.name:e,_.This_may_be_converted_to_an_async_function))}function P4e(e,t){return!qA(e)&&e.body&&Va(e.body)&&F4e(e.body,t)&&QY(e,t)}function QY(e,t){let r=t.getSignatureFromDeclaration(e),i=r?t.getReturnTypeOfSignature(r):void 0;return!!i&&!!t.getPromisedTypeOfPromise(i)}function M4e(e){return ar(e)?e.left:e}function F4e(e,t){return!!vT(e,r=>r5(r,t))}function r5(e,t){return j_(e)&&!!e.expression&&ZY(e.expression,t)}function ZY(e,t){if(!eye(e)||!tye(e)||!e.arguments.every(i=>nye(i,t)))return!1;let r=e.expression.expression;for(;eye(r)||br(r);)if(Pa(r)){if(!tye(r)||!r.arguments.every(i=>nye(i,t)))return!1;r=r.expression.expression}else r=r.expression;return!0}function eye(e){return Pa(e)&&(kN(e,"then")||kN(e,"catch")||kN(e,"finally"))}function tye(e){let t=e.expression.name.text,r=t==="then"?2:t==="catch"||t==="finally"?1:0;return e.arguments.length>r?!1:e.arguments.length<r?!0:r===1||vt(e.arguments,i=>i.kind===104||Re(i)&&i.text==="undefined")}function nye(e,t){switch(e.kind){case 259:case 215:if(pl(e)&1)return!1;case 216:i5.set(rye(e),!0);case 104:return!0;case 79:case 208:{let i=t.getSymbolAtLocation(e);return i?t.isUndefinedSymbol(i)||vt(wd(i,t).declarations,o=>Ia(o)||Jy(o)&&!!o.initializer&&Ia(o.initializer)):!1}default:return!1}}function rye(e){return`${e.pos.toString()}:${e.end.toString()}`}function G4e(e,t){var r,i,o,s;if(ms(e)){if(wi(e.parent)&&((r=e.symbol.members)!=null&&r.size))return!0;let l=t.getSymbolOfExpando(e,!1);return!!(l&&((i=l.exports)!=null&&i.size||(o=l.members)!=null&&o.size))}return Jc(e)?!!((s=e.symbol.members)!=null&&s.size):!1}function e$(e){switch(e.kind){case 259:case 171:case 215:case 216:return!0;default:return!1}}var i5,B4e=gt({"src/services/suggestionDiagnostics.ts"(){"use strict";Fr(),i5=new Map}});function iye(e,t){let r=[],i=t.compilerOptions?t$(t.compilerOptions,r):{},o=d5();for(let S in o)fs(o,S)&&i[S]===void 0&&(i[S]=o[S]);for(let S of BJ)i.verbatimModuleSyntax&&aye.has(S.name)||(i[S.name]=S.transpileOptionValue);i.suppressOutputPathCheck=!0,i.allowNonTsExtensions=!0;let s=db(i),l={getSourceFile:S=>S===So(f)?d:void 0,writeFile:(S,x)=>{Gc(S,".map")?(L.assertEqual(m,void 0,"Unexpected multiple source map outputs, file:",S),m=x):(L.assertEqual(g,void 0,"Unexpected multiple outputs, file:",S),g=x)},getDefaultLibFileName:()=>"lib.d.ts",useCaseSensitiveFileNames:()=>!1,getCanonicalFileName:S=>S,getCurrentDirectory:()=>"",getNewLine:()=>s,fileExists:S=>S===f,readFile:()=>"",directoryExists:()=>!0,getDirectories:()=>[]},f=t.fileName||(t.compilerOptions&&t.compilerOptions.jsx?"module.tsx":"module.ts"),d=DO(f,e,{languageVersion:Do(i),impliedNodeFormat:NF(Ts(f,"",l.getCanonicalFileName),void 0,l,i),setExternalModuleIndicator:OR(i)});t.moduleName&&(d.moduleName=t.moduleName),t.renamedDependencies&&(d.renamedDependencies=new Map(Object.entries(t.renamedDependencies)));let g,m,v=PF([f],i,l);return t.reportDiagnostics&&(si(r,v.getSyntacticDiagnostics(d)),si(r,v.getOptionsDiagnostics())),v.emit(void 0,void 0,void 0,void 0,t.transformers),g===void 0?L.fail("Output generation failed"):{outputText:g,diagnostics:r,sourceMapText:m}}function U4e(e,t,r,i,o){let s=iye(e,{compilerOptions:t,fileName:r,reportDiagnostics:!!i,moduleName:o});return si(i,s.diagnostics),s.outputText}function t$(e,t){n$=n$||Pr(Fh,r=>typeof r.type=="object"&&!Ld(r.type,i=>typeof i!="number")),e=Mhe(e);for(let r of n$){if(!fs(e,r.name))continue;let i=e[r.name];Ta(i)?e[r.name]=O3(r,i,t):Ld(r.type,o=>o===i)||t.push(pJ(r))}return e}var aye,n$,V4e=gt({"src/services/transpile.ts"(){"use strict";Fr(),aye=new Set(["isolatedModules","preserveValueImports","importsNotUsedAsValues"])}});function oye(e,t,r,i,o,s){let l=Fge(i);if(!l)return Je;let f=[];for(let d of e)r.throwIfCancellationRequested(),!(s&&d.isDeclarationFile)&&d.getNamedDeclarations().forEach((g,m)=>{j4e(l,m,g,t,d.fileName,f)});return f.sort(J4e),(o===void 0?f:f.slice(0,o)).map(K4e)}function j4e(e,t,r,i,o,s){let l=e.getMatchForLastSegmentOfPattern(t);if(l){for(let f of r)if(H4e(f,i))if(e.patternContainsDots){let d=e.getFullMatch(z4e(f),t);d&&s.push({name:t,fileName:o,matchKind:d.kind,isCaseSensitive:d.isCaseSensitive,declaration:f})}else s.push({name:t,fileName:o,matchKind:l.kind,isCaseSensitive:l.isCaseSensitive,declaration:f})}}function H4e(e,t){switch(e.kind){case 270:case 273:case 268:let r=t.getSymbolAtLocation(e.name),i=t.getAliasedSymbol(r);return r.escapedName!==i.escapedName;default:return!0}}function W4e(e,t){let r=sa(e);return!!r&&(sye(r,t)||r.kind===164&&r$(r.expression,t))}function r$(e,t){return sye(e,t)||br(e)&&(t.push(e.name.text),!0)&&r$(e.expression,t)}function sye(e,t){return c_(e)&&(t.push(l_(e)),!0)}function z4e(e){let t=[],r=sa(e);if(r&&r.kind===164&&!r$(r.expression,t))return Je;t.shift();let i=e1(e);for(;i;){if(!W4e(i,t))return Je;i=e1(i)}return t.reverse()}function J4e(e,t){return Es(e.matchKind,t.matchKind)||XD(e.name,t.name)}function K4e(e){let t=e.declaration,r=e1(t),i=r&&sa(r);return{name:e.name,kind:aE(t),kindModifiers:rk(t),matchKind:n5[e.matchKind],isCaseSensitive:e.isCaseSensitive,fileName:e.fileName,textSpan:Du(t),containerName:i?i.text:"",containerKind:i?aE(r):""}}var q4e=gt({"src/services/navigateTo.ts"(){"use strict";Fr()}}),cye={};Mo(cye,{getNavigateToItems:()=>oye});var lye=gt({"src/services/_namespaces/ts.NavigateTo.ts"(){"use strict";q4e()}});function uye(e,t){c5=t,fk=e;try{return on(Z4e(pye(e)),e3e)}finally{fye()}}function dye(e,t){c5=t,fk=e;try{return Sye(pye(e))}finally{fye()}}function fye(){fk=void 0,c5=void 0,_k=[],Uh=void 0,l5=[]}function QN(e){return X2(e.getText(fk))}function a5(e){return e.node.kind}function _ye(e,t){e.children?e.children.push(t):e.children=[t]}function pye(e){L.assert(!_k.length);let t={node:e,name:void 0,additionalNodes:void 0,parent:void 0,children:void 0,indent:0};Uh=t;for(let r of e.statements)a1(r);return dv(),L.assert(!Uh&&!_k.length),t}function Eb(e,t){_ye(Uh,i$(e,t))}function i$(e,t){return{node:e,name:t||(Kl(e)||ot(e)?sa(e):void 0),additionalNodes:void 0,parent:Uh,children:void 0,indent:Uh.indent+1}}function mye(e){tx||(tx=new Map),tx.set(e,!0)}function hye(e){for(let t=0;t<e;t++)dv()}function gye(e,t){let r=[];for(;!c_(t);){let i=eR(t),o=wh(t);t=t.expression,!(o==="prototype"||pi(i))&&r.push(i)}r.push(t);for(let i=r.length-1;i>0;i--){let o=r[i];Tb(e,o)}return[r.length-1,r[0]]}function Tb(e,t){let r=i$(e,t);_ye(Uh,r),_k.push(Uh),f$.push(tx),tx=void 0,Uh=r}function dv(){Uh.children&&(o5(Uh.children,Uh),s$(Uh.children)),Uh=_k.pop(),tx=f$.pop()}function fv(e,t,r){Tb(e,r),a1(t),dv()}function yye(e){e.initializer&&n3e(e.initializer)?(Tb(e),pa(e.initializer,a1),dv()):fv(e,e.initializer)}function a$(e){return!Xy(e)||e.kind!==223&&br(e.name.expression)&&Re(e.name.expression.expression)&&vr(e.name.expression.expression)==="Symbol"}function a1(e){if(c5.throwIfCancellationRequested(),!(!e||Z1(e)))switch(e.kind){case 173:let t=e;fv(t,t.body);for(let l of t.parameters)Ad(l,t)&&Eb(l);break;case 171:case 174:case 175:case 170:a$(e)&&fv(e,e.body);break;case 169:a$(e)&&yye(e);break;case 168:a$(e)&&Eb(e);break;case 270:let r=e;r.name&&Eb(r.name);let{namedBindings:i}=r;if(i)if(i.kind===271)Eb(i);else for(let l of i.elements)Eb(l);break;case 300:fv(e,e.name);break;case 301:let{expression:o}=e;Re(o)?Eb(e,o):Eb(e);break;case 205:case 299:case 257:{let l=e;La(l.name)?a1(l.name):yye(l);break}case 259:let s=e.name;s&&Re(s)&&mye(s.text),fv(e,e.body);break;case 216:case 215:fv(e,e.body);break;case 263:Tb(e);for(let l of e.members)t3e(l)||Eb(l);dv();break;case 260:case 228:case 261:Tb(e);for(let l of e.members)a1(l);dv();break;case 264:fv(e,Aye(e).body);break;case 274:{let l=e.expression,f=rs(l)||Pa(l)?l:xs(l)||ms(l)?l.body:void 0;f?(Tb(e),a1(f),dv()):Eb(e);break}case 278:case 268:case 178:case 176:case 177:case 262:Eb(e);break;case 210:case 223:{let l=ic(e);switch(l){case 1:case 2:fv(e,e.right);return;case 6:case 3:{let f=e,d=f.left,g=l===3?d.expression:d,m=0,v;Re(g.expression)?(mye(g.expression.text),v=g.expression):[m,v]=gye(f,g.expression),l===6?rs(f.right)&&f.right.properties.length>0&&(Tb(f,v),pa(f.right,a1),dv()):ms(f.right)||xs(f.right)?fv(e,f.right,v):(Tb(f,v),fv(e,f.right,d.name),dv()),hye(m);return}case 7:case 9:{let f=e,d=l===7?f.arguments[0]:f.arguments[0].expression,g=f.arguments[1],[m,v]=gye(e,d);Tb(e,v),Tb(e,it(D.createIdentifier(g.text),g)),a1(e.arguments[2]),dv(),dv(),hye(m);return}case 5:{let f=e,d=f.left,g=d.expression;if(Re(g)&&wh(d)!=="prototype"&&tx&&tx.has(g.text)){ms(f.right)||xs(f.right)?fv(e,f.right,g):ST(d)&&(Tb(f,g),fv(f.left,f.right,eR(d)),dv());return}break}case 4:case 0:case 8:break;default:L.assertNever(l)}}default:Kd(e)&&mn(e.jsDoc,l=>{mn(l.tags,f=>{Ff(f)&&Eb(f)})}),pa(e,a1)}}function o5(e,t){let r=new Map;wU(e,(i,o)=>{let s=i.name||sa(i.node),l=s&&QN(s);if(!l)return!0;let f=r.get(l);if(!f)return r.set(l,i),!0;if(f instanceof Array){for(let d of f)if(vye(d,i,o,t))return!1;return f.push(i),!0}else{let d=f;return vye(d,i,o,t)?!1:(r.set(l,[d,i]),!0)}})}function X4e(e,t,r,i){function o(f){return ms(f)||Jc(f)||wi(f)}let s=ar(t.node)||Pa(t.node)?ic(t.node):0,l=ar(e.node)||Pa(e.node)?ic(e.node):0;if(Y2[s]&&Y2[l]||o(e.node)&&Y2[s]||o(t.node)&&Y2[l]||sl(e.node)&&o$(e.node)&&Y2[s]||sl(t.node)&&Y2[l]||sl(e.node)&&o$(e.node)&&o(t.node)||sl(t.node)&&o(e.node)&&o$(e.node)){let f=e.additionalNodes&&Os(e.additionalNodes)||e.node;if(!sl(e.node)&&!sl(t.node)||o(e.node)||o(t.node)){let g=o(e.node)?e.node:o(t.node)?t.node:void 0;if(g!==void 0){let m=it(D.createConstructorDeclaration(void 0,[],void 0),g),v=i$(m);v.indent=e.indent+1,v.children=e.node===g?e.children:t.children,e.children=e.node===g?Qi([v],t.children||[t]):Qi(e.children||[{...e}],[v])}else(e.children||t.children)&&(e.children=Qi(e.children||[{...e}],t.children||[t]),e.children&&(o5(e.children,e),s$(e.children)));f=e.node=it(D.createClassDeclaration(void 0,e.name||D.createIdentifier("__class__"),void 0,void 0,[]),e.node)}else e.children=Qi(e.children,t.children),e.children&&o5(e.children,e);let d=t.node;return i.children[r-1].node.end===f.end?it(f,{pos:f.pos,end:d.end}):(e.additionalNodes||(e.additionalNodes=[]),e.additionalNodes.push(it(D.createClassDeclaration(void 0,e.name||D.createIdentifier("__class__"),void 0,void 0,[]),t.node))),!0}return s!==0}function vye(e,t,r,i){return X4e(e,t,r,i)?!0:Y4e(e.node,t.node,i)?($4e(e,t),!0):!1}function Y4e(e,t,r){if(e.kind!==t.kind||e.parent!==t.parent&&!(bye(e,r)&&bye(t,r)))return!1;switch(e.kind){case 169:case 171:case 174:case 175:return Ca(e)===Ca(t);case 264:return Eye(e,t)&&u$(e)===u$(t);default:return!0}}function o$(e){return!!(e.flags&8)}function bye(e,t){let r=Tp(e.parent)?e.parent.parent:e.parent;return r===t.node||ya(t.additionalNodes,r)}function Eye(e,t){return!e.body||!t.body?e.body===t.body:e.body.kind===t.body.kind&&(e.body.kind!==264||Eye(e.body,t.body))}function $4e(e,t){e.additionalNodes=e.additionalNodes||[],e.additionalNodes.push(t.node),t.additionalNodes&&e.additionalNodes.push(...t.additionalNodes),e.children=Qi(e.children,t.children),e.children&&(o5(e.children,e),s$(e.children))}function s$(e){e.sort(Q4e)}function Q4e(e,t){return XD(Tye(e.node),Tye(t.node))||Es(a5(e),a5(t))}function Tye(e){if(e.kind===264)return xye(e);let t=sa(e);if(t&&Ys(t)){let r=M0(t);return r&&Gi(r)}switch(e.kind){case 215:case 216:case 228:return Iye(e);default:return}}function c$(e,t){if(e.kind===264)return X2(xye(e));if(t){let r=Re(t)?t.text:Vs(t)?`[${QN(t.argumentExpression)}]`:QN(t);if(r.length>0)return X2(r)}switch(e.kind){case 308:let r=e;return Lc(r)?`"${_S(Hl(ld(So(r.fileName))))}"`:"<global>";case 274:return pc(e)&&e.isExportEquals?"export=":"default";case 216:case 259:case 215:case 260:case 228:return Yy(e)&1024?"default":Iye(e);case 173:return"constructor";case 177:return"new()";case 176:return"()";case 178:return"[]";default:return"<unknown>"}}function Z4e(e){let t=[];function r(o){if(i(o)&&(t.push(o),o.children))for(let s of o.children)r(s)}return r(e),t;function i(o){if(o.children)return!0;switch(a5(o)){case 260:case 228:case 263:case 261:case 264:case 308:case 262:case 349:case 341:return!0;case 216:case 259:case 215:return s(o);default:return!1}function s(l){if(!l.node.body)return!1;switch(a5(l.parent)){case 265:case 308:case 171:case 173:return!0;default:return!1}}}}function Sye(e){return{text:c$(e.node,e.name),kind:aE(e.node),kindModifiers:Cye(e.node),spans:l$(e),nameSpan:e.name&&d$(e.name),childItems:on(e.children,Sye)}}function e3e(e){return{text:c$(e.node,e.name),kind:aE(e.node),kindModifiers:Cye(e.node),spans:l$(e),childItems:on(e.children,t)||l5,indent:e.indent,bolded:!1,grayed:!1};function t(r){return{text:c$(r.node,r.name),kind:aE(r.node),kindModifiers:rk(r.node),spans:l$(r),childItems:l5,indent:0,bolded:!1,grayed:!1}}}function l$(e){let t=[d$(e.node)];if(e.additionalNodes)for(let r of e.additionalNodes)t.push(d$(r));return t}function xye(e){return lu(e)?Qc(e.name):u$(e)}function u$(e){let t=[l_(e.name)];for(;e.body&&e.body.kind===264;)e=e.body,t.push(l_(e.name));return t.join(".")}function Aye(e){return e.body&&Tc(e.body)?Aye(e.body):e}function t3e(e){return!e.name||e.name.kind===164}function d$(e){return e.kind===308?lv(e):Du(e,fk)}function Cye(e){return e.parent&&e.parent.kind===257&&(e=e.parent),rk(e)}function Iye(e){let{parent:t}=e;if(e.name&&Fw(e.name)>0)return X2(os(e.name));if(wi(t))return X2(os(t.name));if(ar(t)&&t.operatorToken.kind===63)return QN(t.left).replace(kye,"");if(yl(t))return QN(t.name);if(Yy(e)&1024)return"default";if(Yr(e))return"<class>";if(Pa(t)){let r=Lye(t.expression);if(r!==void 0){if(r=X2(r),r.length>s5)return`${r} callback`;let i=X2(Zi(t.arguments,o=>es(o)?o.getText(fk):void 0).join(", "));return`${r}(${i}) callback`}}return"<function>"}function Lye(e){if(Re(e))return e.text;if(br(e)){let t=Lye(e.expression),r=e.name.text;return t===void 0?r:`${t}.${r}`}else return}function n3e(e){switch(e.kind){case 216:case 215:case 228:return!0;default:return!1}}function X2(e){return e=e.length>s5?e.substring(0,s5)+"...":e,e.replace(/\\?(\r?\n|\r|\u2028|\u2029)/g,"")}var kye,s5,c5,fk,_k,Uh,f$,tx,l5,Y2,r3e=gt({"src/services/navigationBar.ts"(){"use strict";Fr(),kye=/\s+/g,s5=150,_k=[],f$=[],l5=[],Y2={5:!0,3:!0,7:!0,9:!0,0:!1,1:!1,2:!1,8:!1,6:!0,4:!1}}}),Dye={};Mo(Dye,{getNavigationBarItems:()=>uye,getNavigationTree:()=>dye});var wye=gt({"src/services/_namespaces/ts.NavigationBar.ts"(){"use strict";r3e()}});function Rye(e,t,r,i){let o=Iw(e)?new p5(e,t,r):e===79?new h5(79,t,r):e===80?new g5(80,t,r):new h$(e,t,r);return o.parent=i,o.flags=i.flags&50720768,o}function i3e(e,t){if(!Iw(e.kind))return Je;let r=[];if(qj(e))return e.forEachChild(l=>{r.push(l)}),r;$l.setText((t||e.getSourceFile()).text);let i=e.pos,o=l=>{ZN(r,i,l.pos,e),r.push(l),i=l.end},s=l=>{ZN(r,i,l.pos,e),r.push(a3e(l,e)),i=l.end};return mn(e.jsDoc,o),i=e.pos,e.forEachChild(o,s),ZN(r,i,e.end,e),$l.setText(void 0),r}function ZN(e,t,r,i){for($l.setTextPos(t);t<r;){let o=$l.scan(),s=$l.getTextPos();if(s<=r){if(o===79){if(jle(i))continue;L.fail(`Did not expect ${L.formatSyntaxKind(i.kind)} to have an Identifier in its trivia`)}e.push(Rye(o,t,s,i))}if(t=s,o===1)break}}function a3e(e,t){let r=Rye(354,e.pos,e.end,t);r._children=[];let i=e.pos;for(let o of e)ZN(r._children,i,o.pos,t),r._children.push(o),i=o.end;return ZN(r._children,i,e.end,t),r}function Oye(e){return A0(e).some(t=>t.tagName.text==="inheritDoc"||t.tagName.text==="inheritdoc")}function u5(e,t){if(!e)return Je;let r=xb.getJsDocTagsFromDeclarations(e,t);if(t&&(r.length===0||e.some(Oye))){let i=new Set;for(let o of e){let s=Nye(t,o,l=>{var f;if(!i.has(l))return i.add(l),o.kind===174||o.kind===175?l.getContextualJsDocTags(o,t):((f=l.declarations)==null?void 0:f.length)===1?l.getJsDocTags():void 0});s&&(r=[...s,...r])}}return r}function eP(e,t){if(!e)return Je;let r=xb.getJsDocCommentsFromDeclarations(e,t);if(t&&(r.length===0||e.some(Oye))){let i=new Set;for(let o of e){let s=Nye(t,o,l=>{if(!i.has(l))return i.add(l),o.kind===174||o.kind===175?l.getContextualDocumentationComment(o,t):l.getDocumentationComment(t)});s&&(r=r.length===0?s.slice():s.concat(K2(),r))}}return r}function Nye(e,t,r){var i;let o=((i=t.parent)==null?void 0:i.kind)===173?t.parent.parent:t.parent;if(!o)return;let s=zc(t);return ks(NI(o),l=>{let f=e.getTypeAtLocation(l),d=s&&f.symbol?e.getTypeOfSymbol(f.symbol):f,g=e.getPropertyOfType(d,t.symbol.name);return g?r(g):void 0})}function o3e(){return{getNodeConstructor:()=>p5,getTokenConstructor:()=>h$,getIdentifierConstructor:()=>h5,getPrivateIdentifierConstructor:()=>g5,getSourceFileConstructor:()=>Hye,getSymbolConstructor:()=>Uye,getTypeConstructor:()=>Vye,getSignatureConstructor:()=>jye,getSourceMapSourceConstructor:()=>Wye}}function tP(e){let t=!0;for(let i in e)if(fs(e,i)&&!Pye(i)){t=!1;break}if(t)return e;let r={};for(let i in e)if(fs(e,i)){let o=Pye(i)?i:i.charAt(0).toLowerCase()+i.substr(1);r[o]=e[i]}return r}function Pye(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function Mye(e){return e?on(e,t=>t.text).join(""):""}function d5(){return{target:1,jsx:1}}function Fye(){return gu.getSupportedErrorCodes()}function Gye(e,t,r){e.version=r,e.scriptSnapshot=t}function f5(e,t,r,i,o,s){let l=DO(e,E7(t),r,o,s);return Gye(l,t,i),l}function _$(e,t,r,i,o){if(i&&r!==e.version){let l,f=i.span.start!==0?e.text.substr(0,i.span.start):"",d=wl(i.span)!==e.text.length?e.text.substr(wl(i.span)):"";if(i.newLength===0)l=f&&d?f+d:f||d;else{let m=t.getText(i.span.start,i.span.start+i.newLength);l=f&&d?f+m+d:f?f+m:m+d}let g=uJ(e,l,i,o);return Gye(g,t,r),g.nameTable=void 0,e!==g&&e.scriptSnapshot&&(e.scriptSnapshot.dispose&&e.scriptSnapshot.dispose(),e.scriptSnapshot=void 0),g}let s={languageVersion:e.languageVersion,impliedNodeFormat:e.impliedNodeFormat,setExternalModuleIndicator:e.setExternalModuleIndicator};return f5(e.fileName,t,s,r,!0,e.scriptKind)}function Bye(e,t=VY(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory()),r){var i;let o;r===void 0?o=0:typeof r=="boolean"?o=r?2:0:o=r;let s=new zye(e),l,f,d=0,g=e.getCancellationToken?new Kye(e.getCancellationToken()):Jye,m=e.getCurrentDirectory();mle((i=e.getLocalizedDiagnosticMessages)==null?void 0:i.bind(e));function v(Ke){e.log&&e.log(Ke)}let S=xR(e),x=Dl(S),A=Xge({useCaseSensitiveFileNames:()=>S,getCurrentDirectory:()=>m,getProgram:P,fileExists:ho(e,e.fileExists),readFile:ho(e,e.readFile),getDocumentPositionMapper:ho(e,e.getDocumentPositionMapper),getSourceFileLike:ho(e,e.getSourceFileLike),log:v});function w(Ke){let oe=l.getSourceFile(Ke);if(!oe){let pe=new Error(`Could not find source file: '${Ke}'.`);throw pe.ProgramFiles=l.getSourceFiles().map(z=>z.fileName),pe}return oe}function C(){var Ke,oe,pe;if(L.assert(o!==2),e.getProjectVersion){let Qr=e.getProjectVersion();if(Qr){if(f===Qr&&!((Ke=e.hasChangedAutomaticTypeDirectiveNames)!=null&&Ke.call(e)))return;f=Qr}}let z=e.getTypeRootsVersion?e.getTypeRootsVersion():0;d!==z&&(v("TypeRoots version has changed; provide new program"),l=void 0,d=z);let Te=e.getScriptFileNames().slice(),j=e.getCompilationSettings()||d5(),yt=e.hasInvalidatedResolutions||m0,lt=ho(e,e.hasChangedAutomaticTypeDirectiveNames),Qe=(oe=e.getProjectReferences)==null?void 0:oe.call(e),Vt,Hn={getSourceFile:Nr,getSourceFileByPath:Fo,getCancellationToken:()=>g,getCanonicalFileName:x,useCaseSensitiveFileNames:()=>S,getNewLine:()=>db(j),getDefaultLibFileName:Qr=>e.getDefaultLibFileName(Qr),writeFile:Ba,getCurrentDirectory:()=>m,fileExists:Qr=>e.fileExists(Qr),readFile:Qr=>e.readFile&&e.readFile(Qr),getSymlinkCache:ho(e,e.getSymlinkCache),realpath:ho(e,e.realpath),directoryExists:Qr=>gp(Qr,e),getDirectories:Qr=>e.getDirectories?e.getDirectories(Qr):[],readDirectory:(Qr,Wi,gn,Ki,kc)=>(L.checkDefined(e.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),e.readDirectory(Qr,Wi,gn,Ki,kc)),onReleaseOldSourceFile:xi,onReleaseParsedCommandLine:Hi,hasInvalidatedResolutions:yt,hasChangedAutomaticTypeDirectiveNames:lt,trace:ho(e,e.trace),resolveModuleNames:ho(e,e.resolveModuleNames),getModuleResolutionCache:ho(e,e.getModuleResolutionCache),createHash:ho(e,e.createHash),resolveTypeReferenceDirectives:ho(e,e.resolveTypeReferenceDirectives),resolveModuleNameLiterals:ho(e,e.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:ho(e,e.resolveTypeReferenceDirectiveReferences),useSourceOfProjectReferenceRedirect:ho(e,e.useSourceOfProjectReferenceRedirect),getParsedCommandLine:Za},jr=Hn.getSourceFile,{getSourceFileWithCache:ei}=pN(Hn,Qr=>Ts(Qr,m,x),(...Qr)=>jr.call(Hn,...Qr));Hn.getSourceFile=ei,(pe=e.setCompilerHost)==null||pe.call(e,Hn);let Kr={useCaseSensitiveFileNames:S,fileExists:Qr=>Hn.fileExists(Qr),readFile:Qr=>Hn.readFile(Qr),readDirectory:(...Qr)=>Hn.readDirectory(...Qr),trace:Hn.trace,getCurrentDirectory:Hn.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:Ba},Si=t.getKeyForCompilationSettings(j);if(lq(l,Te,j,(Qr,Wi)=>e.getScriptVersion(Wi),Qr=>Hn.fileExists(Qr),yt,lt,Za,Qe))return;l=PF({rootNames:Te,options:j,host:Hn,oldProgram:l,projectReferences:Qe}),Hn=void 0,Vt=void 0,A.clearCache(),l.getTypeChecker();return;function Za(Qr){let Wi=Ts(Qr,m,x),gn=Vt?.get(Wi);if(gn!==void 0)return gn||void 0;let Ki=e.getParsedCommandLine?e.getParsedCommandLine(Qr):Fa(Qr);return(Vt||(Vt=new Map)).set(Wi,Ki||!1),Ki}function Fa(Qr){let Wi=Nr(Qr,100);if(Wi)return Wi.path=Ts(Qr,m,x),Wi.resolvedPath=Wi.path,Wi.originalFileName=Wi.fileName,MO(Wi,Kr,_a(ni(Qr),m),void 0,_a(Qr,m))}function Hi(Qr,Wi,gn){var Ki;e.getParsedCommandLine?(Ki=e.onReleaseParsedCommandLine)==null||Ki.call(e,Qr,Wi,gn):Wi&&xi(Wi.sourceFile,gn)}function xi(Qr,Wi){let gn=t.getKeyForCompilationSettings(Wi);t.releaseDocumentWithKey(Qr.resolvedPath,gn,Qr.scriptKind,Qr.impliedNodeFormat)}function Nr(Qr,Wi,gn,Ki){return Fo(Qr,Ts(Qr,m,x),Wi,gn,Ki)}function Fo(Qr,Wi,gn,Ki,kc){L.assert(Hn,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");let Ps=e.getScriptSnapshot(Qr);if(!Ps)return;let mc=mY(Qr,e),xc=e.getScriptVersion(Qr);if(!kc){let hc=l&&l.getSourceFileByPath(Wi);if(hc){if(mc===hc.scriptKind)return t.updateDocumentWithKey(Qr,Wi,e,Si,Ps,xc,mc,gn);t.releaseDocumentWithKey(hc.resolvedPath,t.getKeyForCompilationSettings(l.getCompilerOptions()),hc.scriptKind,hc.impliedNodeFormat)}}return t.acquireDocumentWithKey(Qr,Wi,e,Si,Ps,xc,mc,gn)}}function P(){if(o===2){L.assert(l===void 0);return}return C(),l}function F(){var Ke;return(Ke=e.getPackageJsonAutoImportProvider)==null?void 0:Ke.call(e)}function B(Ke,oe){let pe=l.getTypeChecker(),z=Te();if(!z)return!1;for(let yt of Ke)for(let lt of yt.references){let Qe=j(lt);if(L.assertIsDefined(Qe),oe.has(lt)||js.isDeclarationOfSymbol(Qe,z)){oe.add(lt),lt.isDefinition=!0;let Vt=uY(lt,A,ho(e,e.fileExists));Vt&&oe.add(Vt)}else lt.isDefinition=!1}return!0;function Te(){for(let yt of Ke)for(let lt of yt.references){if(oe.has(lt)){let Vt=j(lt);return L.assertIsDefined(Vt),pe.getSymbolAtLocation(Vt)}let Qe=uY(lt,A,ho(e,e.fileExists));if(Qe&&oe.has(Qe)){let Vt=j(Qe);if(Vt)return pe.getSymbolAtLocation(Vt)}}}function j(yt){let lt=l.getSourceFile(yt.fileName);if(!lt)return;let Qe=ef(lt,yt.textSpan.start);return js.Core.getAdjustedNode(Qe,{use:js.FindReferencesUse.References})}}function q(){l=void 0}function W(){if(l){let Ke=t.getKeyForCompilationSettings(l.getCompilerOptions());mn(l.getSourceFiles(),oe=>t.releaseDocumentWithKey(oe.resolvedPath,Ke,oe.scriptKind,oe.impliedNodeFormat)),l=void 0}e=void 0}function Y(Ke){return C(),l.getSyntacticDiagnostics(w(Ke),g).slice()}function R(Ke){C();let oe=w(Ke),pe=l.getSemanticDiagnostics(oe,g);if(!__(l.getCompilerOptions()))return pe.slice();let z=l.getDeclarationDiagnostics(oe,g);return[...pe,...z]}function ie(Ke){return C(),$Y(w(Ke),l,g)}function $(){return C(),[...l.getOptionsDiagnostics(g),...l.getGlobalDiagnostics(g)]}function fe(Ke,oe,pe=Cp,z){let Te={...pe,includeCompletionsForModuleExports:pe.includeCompletionsForModuleExports||pe.includeExternalModuleExports,includeCompletionsWithInsertText:pe.includeCompletionsWithInsertText||pe.includeInsertTextCompletions};return C(),lx.getCompletionsAtPosition(e,l,v,w(Ke),oe,Te,pe.triggerCharacter,pe.triggerKind,g,z&&tl.getFormatContext(z,e),pe.includeSymbol)}function Z(Ke,oe,pe,z,Te,j=Cp,yt){return C(),lx.getCompletionEntryDetails(l,v,w(Ke),oe,{name:pe,source:Te,data:yt},e,z&&tl.getFormatContext(z,e),j,g)}function U(Ke,oe,pe,z,Te=Cp){return C(),lx.getCompletionEntrySymbol(l,v,w(Ke),oe,{name:pe,source:z},e,Te)}function re(Ke,oe){C();let pe=w(Ke),z=ef(pe,oe);if(z===pe)return;let Te=l.getTypeChecker(),j=le(z),yt=u3e(j,Te);if(!yt||Te.isUnknownSymbol(yt)){let jr=_e(pe,j,oe)?Te.getTypeAtLocation(j):void 0;return jr&&{kind:"",kindModifiers:"",textSpan:Du(j,pe),displayParts:Te.runWithCancellationToken(g,ei=>zN(ei,jr,e1(j))),documentation:jr.symbol?jr.symbol.getDocumentationComment(Te):void 0,tags:jr.symbol?jr.symbol.getJsDocTags(Te):void 0}}let{symbolKind:lt,displayParts:Qe,documentation:Vt,tags:Hn}=Te.runWithCancellationToken(g,jr=>$g.getSymbolDisplayPartsDocumentationAndSymbolKind(jr,yt,pe,e1(j),j));return{kind:lt,kindModifiers:$g.getSymbolModifiers(Te,yt),textSpan:Du(j,pe),displayParts:Qe,documentation:Vt,tags:Hn}}function le(Ke){return z0(Ke.parent)&&Ke.pos===Ke.parent.pos?Ke.parent.expression:bL(Ke.parent)&&Ke.pos===Ke.parent.pos||NA(Ke.parent)&&Ke.parent.name===Ke?Ke.parent:Ke}function _e(Ke,oe,pe){switch(oe.kind){case 79:return!FX(oe)&&!GX(oe)&&!Ch(oe.parent);case 208:case 163:return!Kg(Ke,pe);case 108:case 194:case 106:case 199:return!0;case 233:return NA(oe);default:return!1}}function ge(Ke,oe,pe,z){return C(),xk.getDefinitionAtPosition(l,w(Ke),oe,pe,z)}function X(Ke,oe){return C(),xk.getDefinitionAndBoundSpan(l,w(Ke),oe)}function Ve(Ke,oe){return C(),xk.getTypeDefinitionAtPosition(l.getTypeChecker(),w(Ke),oe)}function we(Ke,oe){return C(),js.getImplementationsAtPosition(l,g,l.getSourceFiles(),w(Ke),oe)}function ke(Ke,oe){return Uo(Pe(Ke,oe,[Ke]),pe=>pe.highlightSpans.map(z=>({fileName:pe.fileName,textSpan:z.textSpan,isWriteAccess:z.kind==="writtenReference",...z.isInString&&{isInString:!0},...z.contextSpan&&{contextSpan:z.contextSpan}})))}function Pe(Ke,oe,pe){let z=So(Ke);L.assert(pe.some(yt=>So(yt)===z)),C();let Te=Zi(pe,yt=>l.getSourceFile(yt)),j=w(Ke);return Q7.getDocumentHighlights(l,g,j,oe,Te)}function Ce(Ke,oe,pe,z,Te){C();let j=w(Ke),yt=_7(ef(j,oe));if(RG.nodeIsEligibleForRename(yt))if(Re(yt)&&(Xm(yt.parent)||GS(yt.parent))&&GI(yt.escapedText)){let{openingElement:lt,closingElement:Qe}=yt.parent.parent;return[lt,Qe].map(Vt=>{let Hn=Du(Vt.tagName,j);return{fileName:j.fileName,textSpan:Hn,...js.toContextSpan(Hn,j,Vt.parent)}})}else return Be(yt,oe,{findInStrings:pe,findInComments:z,providePrefixAndSuffixTextForRename:Te,use:js.FindReferencesUse.Rename},(lt,Qe,Vt)=>js.toRenameLocation(lt,Qe,Vt,Te||!1))}function Ie(Ke,oe){return C(),Be(ef(w(Ke),oe),oe,{use:js.FindReferencesUse.References},js.toReferenceEntry)}function Be(Ke,oe,pe,z){C();let Te=pe&&pe.use===js.FindReferencesUse.Rename?l.getSourceFiles().filter(j=>!l.isSourceFileDefaultLibrary(j)):l.getSourceFiles();return js.findReferenceOrRenameEntries(l,g,Te,Ke,oe,pe,z)}function Ne(Ke,oe){return C(),js.findReferencedSymbols(l,g,l.getSourceFiles(),w(Ke),oe)}function Le(Ke){return C(),js.Core.getReferencesForFileName(Ke,l,l.getSourceFiles()).map(js.toReferenceEntry)}function Ye(Ke,oe,pe,z=!1){C();let Te=pe?[w(pe)]:l.getSourceFiles();return oye(Te,l.getTypeChecker(),g,Ke,oe,z)}function _t(Ke,oe,pe){C();let z=w(Ke),Te=e.getCustomTransformers&&e.getCustomTransformers();return Ype(l,z,!!oe,g,Te,pe)}function ct(Ke,oe,{triggerReason:pe}=Cp){C();let z=w(Ke);return BP.getSignatureHelpItems(l,z,oe,pe,g)}function Rt(Ke){return s.getCurrentSourceFile(Ke)}function We(Ke,oe,pe){let z=s.getCurrentSourceFile(Ke),Te=ef(z,oe);if(Te===z)return;switch(Te.kind){case 208:case 163:case 10:case 95:case 110:case 104:case 106:case 108:case 194:case 79:break;default:return}let j=Te;for(;;)if(j2(j)||yhe(j))j=j.parent;else if(UX(j))if(j.parent.parent.kind===264&&j.parent.parent.body===j.parent)j=j.parent.parent.name;else break;else break;return Wc(j.getStart(),Te.getEnd())}function qe(Ke,oe){let pe=s.getCurrentSourceFile(Ke);return x$.spanInSourceFileAtLocation(pe,oe)}function zt(Ke){return uye(s.getCurrentSourceFile(Ke),g)}function Qt(Ke){return dye(s.getCurrentSourceFile(Ke),g)}function tn(Ke,oe,pe){return C(),(pe||"original")==="2020"?T5.v2020.getSemanticClassifications(l,g,w(Ke),oe):Cge(l.getTypeChecker(),g,w(Ke),l.getClassifiableNames(),oe)}function kn(Ke,oe,pe){return C(),(pe||"original")==="original"?BY(l.getTypeChecker(),g,w(Ke),l.getClassifiableNames(),oe):T5.v2020.getEncodedSemanticClassifications(l,g,w(Ke),oe)}function _n(Ke,oe){return Dge(g,s.getCurrentSourceFile(Ke),oe)}function Gt(Ke,oe){return UY(g,s.getCurrentSourceFile(Ke),oe)}function $n(Ke){let oe=s.getCurrentSourceFile(Ke);return See.collectElements(oe,g)}let ui=new Map(Object.entries({18:19,20:21,22:23,31:29}));ui.forEach((Ke,oe)=>ui.set(Ke.toString(),Number(oe)));function Ni(Ke,oe){let pe=s.getCurrentSourceFile(Ke),z=nk(pe,oe),Te=z.getStart(pe)===oe?ui.get(z.kind.toString()):void 0,j=Te&&Yo(z.parent,Te,pe);return j?[Du(z,pe),Du(j,pe)].sort((yt,lt)=>yt.start-lt.start):Je}function Pi(Ke,oe,pe){let z=Ms(),Te=tP(pe),j=s.getCurrentSourceFile(Ke);v("getIndentationAtPosition: getCurrentSourceFile: "+(Ms()-z)),z=Ms();let yt=tl.SmartIndenter.getIndentation(oe,j,Te);return v("getIndentationAtPosition: computeIndentation  : "+(Ms()-z)),yt}function gr(Ke,oe,pe,z){let Te=s.getCurrentSourceFile(Ke);return tl.formatSelection(oe,pe,Te,tl.getFormatContext(tP(z),e))}function pt(Ke,oe){return tl.formatDocument(s.getCurrentSourceFile(Ke),tl.getFormatContext(tP(oe),e))}function nn(Ke,oe,pe,z){let Te=s.getCurrentSourceFile(Ke),j=tl.getFormatContext(tP(z),e);if(!Kg(Te,oe))switch(pe){case"{":return tl.formatOnOpeningCurly(oe,Te,j);case"}":return tl.formatOnClosingCurly(oe,Te,j);case";":return tl.formatOnSemicolon(oe,Te,j);case`
+`:return tl.formatOnEnter(oe,Te,j)}return[]}function Dt(Ke,oe,pe,z,Te,j=Cp){C();let yt=w(Ke),lt=Wc(oe,pe),Qe=tl.getFormatContext(Te,e);return Uo(fA(z,Zv,Es),Vt=>(g.throwIfCancellationRequested(),gu.getFixes({errorCode:Vt,sourceFile:yt,span:lt,program:l,host:e,cancellationToken:g,formatContext:Qe,preferences:j})))}function pn(Ke,oe,pe,z=Cp){C(),L.assert(Ke.type==="file");let Te=w(Ke.fileName),j=tl.getFormatContext(pe,e);return gu.getAllFixes({fixId:oe,sourceFile:Te,program:l,host:e,cancellationToken:g,formatContext:j,preferences:z})}function An(Ke,oe,pe=Cp){var z;C(),L.assert(Ke.type==="file");let Te=w(Ke.fileName),j=tl.getFormatContext(oe,e),yt=(z=Ke.mode)!=null?z:Ke.skipDestructiveCodeActions?"SortAndCombine":"All";return b_.organizeImports(Te,j,e,l,pe,yt)}function Kn(Ke,oe,pe,z=Cp){return Nge(P(),Ke,oe,e,tl.getFormatContext(pe,e),z,A)}function hi(Ke,oe){let pe=typeof Ke=="string"?oe:Ke;return ba(pe)?Promise.all(pe.map(z=>ri(z))):ri(pe)}function ri(Ke){let oe=pe=>Ts(pe,m,x);return L.assertEqual(Ke.type,"install package"),e.installPackage?e.installPackage({fileName:oe(Ke.file),packageName:Ke.packageName}):Promise.reject("Host does not implement `installPackage`")}function vn(Ke,oe,pe,z){let Te=z?tl.getFormatContext(z,e).options:void 0;return xb.getDocCommentTemplateAtPosition(bb(e,Te),s.getCurrentSourceFile(Ke),oe,pe)}function Ht(Ke,oe,pe){if(pe===60)return!1;let z=s.getCurrentSourceFile(Ke);if(n1(z,oe))return!1;if(khe(z,oe))return pe===123;if(qX(z,oe))return!1;switch(pe){case 39:case 34:case 96:return!Kg(z,oe)}return!0}function En(Ke,oe){let pe=s.getCurrentSourceFile(Ke),z=el(oe,pe);if(!z)return;let Te=z.kind===31&&Xm(z.parent)?z.parent.parent:CS(z)&&Hg(z.parent)?z.parent:void 0;if(Te&&ve(Te))return{newText:`</${Te.openingElement.tagName.getText(pe)}>`};let j=z.kind===31&&US(z.parent)?z.parent.parent:CS(z)&&BS(z.parent)?z.parent:void 0;if(j&&nt(j))return{newText:"</>"}}function dr(Ke,oe){return{lineStarts:Ke.getLineStarts(),firstLine:Ke.getLineAndCharacterOfPosition(oe.pos).line,lastLine:Ke.getLineAndCharacterOfPosition(oe.end).line}}function Cr(Ke,oe,pe){let z=s.getCurrentSourceFile(Ke),Te=[],{lineStarts:j,firstLine:yt,lastLine:lt}=dr(z,oe),Qe=pe||!1,Vt=Number.MAX_VALUE,Hn=new Map,jr=new RegExp(/\S/),ei=m7(z,j[yt]),Kr=ei?"{/*":"//";for(let Si=yt;Si<=lt;Si++){let Ja=z.text.substring(j[Si],z.getLineEndOfPosition(j[Si])),Za=jr.exec(Ja);Za&&(Vt=Math.min(Vt,Za.index),Hn.set(Si.toString(),Za.index),Ja.substr(Za.index,Kr.length)!==Kr&&(Qe=pe===void 0||pe))}for(let Si=yt;Si<=lt;Si++){if(yt!==lt&&j[Si]===oe.end)continue;let Ja=Hn.get(Si.toString());Ja!==void 0&&(ei?Te.push.apply(Te,Se(Ke,{pos:j[Si]+Vt,end:z.getLineEndOfPosition(j[Si])},Qe,ei)):Qe?Te.push({newText:Kr,span:{length:0,start:j[Si]+Vt}}):z.text.substr(j[Si]+Ja,Kr.length)===Kr&&Te.push({newText:"",span:{length:Kr.length,start:j[Si]+Ja}}))}return Te}function Se(Ke,oe,pe,z){var Te;let j=s.getCurrentSourceFile(Ke),yt=[],{text:lt}=j,Qe=!1,Vt=pe||!1,Hn=[],{pos:jr}=oe,ei=z!==void 0?z:m7(j,jr),Kr=ei?"{/*":"/*",Si=ei?"*/}":"*/",Ja=ei?"\\{\\/\\*":"\\/\\*",Za=ei?"\\*\\/\\}":"\\*\\/";for(;jr<=oe.end;){let Fa=lt.substr(jr,Kr.length)===Kr?Kr.length:0,Hi=Kg(j,jr+Fa);if(Hi)ei&&(Hi.pos--,Hi.end++),Hn.push(Hi.pos),Hi.kind===3&&Hn.push(Hi.end),Qe=!0,jr=Hi.end+1;else{let xi=lt.substring(jr,oe.end).search(`(${Ja})|(${Za})`);Vt=pe!==void 0?pe:Vt||!Whe(lt,jr,xi===-1?oe.end:jr+xi),jr=xi===-1?oe.end+1:jr+xi+Si.length}}if(Vt||!Qe){((Te=Kg(j,oe.pos))==null?void 0:Te.kind)!==2&&Ny(Hn,oe.pos,Es),Ny(Hn,oe.end,Es);let Fa=Hn[0];lt.substr(Fa,Kr.length)!==Kr&&yt.push({newText:Kr,span:{length:0,start:Fa}});for(let Hi=1;Hi<Hn.length-1;Hi++)lt.substr(Hn[Hi]-Si.length,Si.length)!==Si&&yt.push({newText:Si,span:{length:0,start:Hn[Hi]}}),lt.substr(Hn[Hi],Kr.length)!==Kr&&yt.push({newText:Kr,span:{length:0,start:Hn[Hi]}});yt.length%2!==0&&yt.push({newText:Si,span:{length:0,start:Hn[Hn.length-1]}})}else for(let Fa of Hn){let Hi=Fa-Si.length>0?Fa-Si.length:0,xi=lt.substr(Hi,Si.length)===Si?Si.length:0;yt.push({newText:"",span:{length:Kr.length,start:Fa-xi}})}return yt}function at(Ke,oe){let pe=s.getCurrentSourceFile(Ke),{firstLine:z,lastLine:Te}=dr(pe,oe);return z===Te&&oe.pos!==oe.end?Se(Ke,oe,!0):Cr(Ke,oe,!0)}function Tt(Ke,oe){let pe=s.getCurrentSourceFile(Ke),z=[],{pos:Te}=oe,{end:j}=oe;Te===j&&(j+=m7(pe,Te)?2:1);for(let yt=Te;yt<=j;yt++){let lt=Kg(pe,yt);if(lt){switch(lt.kind){case 2:z.push.apply(z,Cr(Ke,{end:lt.end,pos:lt.pos+1},!1));break;case 3:z.push.apply(z,Se(Ke,{end:lt.end,pos:lt.pos+1},!1))}yt=lt.end+1}}return z}function ve({openingElement:Ke,closingElement:oe,parent:pe}){return!yb(Ke.tagName,oe.tagName)||Hg(pe)&&yb(Ke.tagName,pe.openingElement.tagName)&&ve(pe)}function nt({closingFragment:Ke,parent:oe}){return!!(Ke.flags&131072)||BS(oe)&&nt(oe)}function ce(Ke,oe,pe){let z=s.getCurrentSourceFile(Ke),Te=tl.getRangeOfEnclosingComment(z,oe);return Te&&(!pe||Te.kind===3)?lv(Te):void 0}function Q(Ke,oe){C();let pe=w(Ke);g.throwIfCancellationRequested();let z=pe.text,Te=[];if(oe.length>0&&!Qe(pe.fileName)){let Vt=yt(),Hn;for(;Hn=Vt.exec(z);){g.throwIfCancellationRequested();let jr=3;L.assert(Hn.length===oe.length+jr);let ei=Hn[1],Kr=Hn.index+ei.length;if(!Kg(pe,Kr))continue;let Si;for(let Za=0;Za<oe.length;Za++)Hn[Za+jr]&&(Si=oe[Za]);if(Si===void 0)return L.fail();if(lt(z.charCodeAt(Kr+Si.text.length)))continue;let Ja=Hn[2];Te.push({descriptor:Si,message:Ja,position:Kr})}}return Te;function j(Vt){return Vt.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function yt(){let Vt=/(?:\/\/+\s*)/.source,Hn=/(?:\/\*+\s*)/.source,ei="("+/(?:^(?:\s|\*)*)/.source+"|"+Vt+"|"+Hn+")",Kr="(?:"+on(oe,Hi=>"("+j(Hi.text)+")").join("|")+")",Si=/(?:$|\*\/)/.source,Ja=/(?:.*?)/.source,Za="("+Kr+Ja+")",Fa=ei+Za+Si;return new RegExp(Fa,"gim")}function lt(Vt){return Vt>=97&&Vt<=122||Vt>=65&&Vt<=90||Vt>=48&&Vt<=57}function Qe(Vt){return jl(Vt,"/node_modules/")}}function ue(Ke,oe,pe){return C(),RG.getRenameInfo(l,w(Ke),oe,pe||{})}function G(Ke,oe,pe,z,Te,j){let[yt,lt]=typeof oe=="number"?[oe,void 0]:[oe.pos,oe.end];return{file:Ke,startPosition:yt,endPosition:lt,program:P(),host:e,formatContext:tl.getFormatContext(z,e),cancellationToken:g,preferences:pe,triggerReason:Te,kind:j}}function Oe(Ke,oe,pe){return{file:Ke,program:P(),host:e,span:oe,preferences:pe,cancellationToken:g}}function je(Ke,oe){return ete.getSmartSelectionRange(oe,s.getCurrentSourceFile(Ke))}function Ge(Ke,oe,pe=Cp,z,Te){C();let j=w(Ke);return Ok.getApplicableRefactors(G(j,oe,pe,Cp,z,Te))}function kt(Ke,oe,pe,z,Te,j=Cp){C();let yt=w(Ke);return Ok.getEditsForRefactor(G(yt,pe,j,oe),z,Te)}function Kt(Ke,oe){return oe===0?{line:0,character:0}:A.toLineColumnOffset(Ke,oe)}function ln(Ke,oe){C();let pe=rx.resolveCallHierarchyDeclaration(l,ef(w(Ke),oe));return pe&&pge(pe,z=>rx.createCallHierarchyItem(l,z))}function ir(Ke,oe){C();let pe=w(Ke),z=LY(rx.resolveCallHierarchyDeclaration(l,oe===0?pe:ef(pe,oe)));return z?rx.getIncomingCalls(l,z,g):[]}function ae(Ke,oe){C();let pe=w(Ke),z=LY(rx.resolveCallHierarchyDeclaration(l,oe===0?pe:ef(pe,oe)));return z?rx.getOutgoingCalls(l,z):[]}function rt(Ke,oe,pe=Cp){C();let z=w(Ke);return fee.provideInlayHints(Oe(z,oe,pe))}let Ot={dispose:W,cleanupSemanticCache:q,getSyntacticDiagnostics:Y,getSemanticDiagnostics:R,getSuggestionDiagnostics:ie,getCompilerOptionsDiagnostics:$,getSyntacticClassifications:_n,getSemanticClassifications:tn,getEncodedSyntacticClassifications:Gt,getEncodedSemanticClassifications:kn,getCompletionsAtPosition:fe,getCompletionEntryDetails:Z,getCompletionEntrySymbol:U,getSignatureHelpItems:ct,getQuickInfoAtPosition:re,getDefinitionAtPosition:ge,getDefinitionAndBoundSpan:X,getImplementationAtPosition:we,getTypeDefinitionAtPosition:Ve,getReferencesAtPosition:Ie,findReferences:Ne,getFileReferences:Le,getOccurrencesAtPosition:ke,getDocumentHighlights:Pe,getNameOrDottedNameSpan:We,getBreakpointStatementAtPosition:qe,getNavigateToItems:Ye,getRenameInfo:ue,getSmartSelectionRange:je,findRenameLocations:Ce,getNavigationBarItems:zt,getNavigationTree:Qt,getOutliningSpans:$n,getTodoComments:Q,getBraceMatchingAtPosition:Ni,getIndentationAtPosition:Pi,getFormattingEditsForRange:gr,getFormattingEditsForDocument:pt,getFormattingEditsAfterKeystroke:nn,getDocCommentTemplateAtPosition:vn,isValidBraceCompletionAtPosition:Ht,getJsxClosingTagAtPosition:En,getSpanOfEnclosingComment:ce,getCodeFixesAtPosition:Dt,getCombinedCodeFix:pn,applyCodeActionCommand:hi,organizeImports:An,getEditsForFileRename:Kn,getEmitOutput:_t,getNonBoundSourceFile:Rt,getProgram:P,getCurrentProgram:()=>l,getAutoImportProvider:F,updateIsDefinitionOfReferencedSymbols:B,getApplicableRefactors:Ge,getEditsForRefactor:kt,toLineColumnOffset:Kt,getSourceMapper:()=>A,clearSourceMapperCache:()=>A.clearCache(),prepareCallHierarchy:ln,provideCallHierarchyIncomingCalls:ir,provideCallHierarchyOutgoingCalls:ae,toggleLineComment:Cr,toggleMultilineComment:Se,commentSelection:at,uncommentSelection:Tt,provideInlayHints:rt,getSupportedCodeFixes:Fye};switch(o){case 0:break;case 1:y$.forEach(Ke=>Ot[Ke]=()=>{throw new Error(`LanguageService Operation: ${Ke} not allowed in LanguageServiceMode.PartialSemantic`)});break;case 2:qye.forEach(Ke=>Ot[Ke]=()=>{throw new Error(`LanguageService Operation: ${Ke} not allowed in LanguageServiceMode.Syntactic`)});break;default:L.assertNever(o)}return Ot}function p$(e){return e.nameTable||s3e(e),e.nameTable}function s3e(e){let t=e.nameTable=new Map;e.forEachChild(function r(i){if(Re(i)&&!GX(i)&&i.escapedText||yf(i)&&c3e(i)){let o=MI(i);t.set(o,t.get(o)===void 0?i.pos:-1)}else if(pi(i)){let o=i.escapedText;t.set(o,t.get(o)===void 0?i.pos:-1)}if(pa(i,r),Kd(i))for(let o of i.jsDoc)pa(o,r)})}function c3e(e){return Rh(e)||e.parent.kind===280||d3e(e)||_R(e)}function nP(e){let t=l3e(e);return t&&(rs(t.parent)||K0(t.parent))?t:void 0}function l3e(e){switch(e.kind){case 10:case 14:case 8:if(e.parent.kind===164)return Xj(e.parent.parent)?e.parent.parent:void 0;case 79:return Xj(e.parent)&&(e.parent.parent.kind===207||e.parent.parent.kind===289)&&e.parent.name===e?e.parent:void 0}}function u3e(e,t){let r=nP(e);if(r){let i=t.getContextualType(r.parent),o=i&&_5(r,t,i,!1);if(o&&o.length===1)return Vo(o)}return t.getSymbolAtLocation(e)}function _5(e,t,r,i){let o=VN(e.name);if(!o)return Je;if(!r.isUnion()){let l=r.getProperty(o);return l?[l]:Je}let s=Zi(r.types,l=>(rs(e.parent)||K0(e.parent))&&t.isTypeInvalidDueToUnionDiscriminant(l,e.parent)?void 0:l.getProperty(o));if(i&&(s.length===0||s.length===r.types.length)){let l=r.getProperty(o);if(l)return[l]}return s.length===0?Zi(r.types,l=>l.getProperty(o)):s}function d3e(e){return e&&e.parent&&e.parent.kind===209&&e.parent.argumentExpression===e}function f3e(e){if(xl)return vi(ni(So(xl.getExecutingFilePath())),X8(e));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}var m$,p5,m5,Uye,h$,h5,g5,Vye,jye,Hye,Wye,zye,Jye,Kye,g$,y$,qye,_3e=gt({"src/services/services.ts"(){"use strict";Fr(),Fr(),lye(),wye(),m$="0.8",p5=class{constructor(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}assertHasRealPosition(e){L.assert(!vp(this.pos)&&!vp(this.end),e||"Node must have a real position for this operation")}getSourceFile(){return Gn(this)}getStart(e,t){return this.assertHasRealPosition(),gT(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=i3e(this,e))}getFirstToken(e){this.assertHasRealPosition();let t=this.getChildren(e);if(!t.length)return;let r=wr(t,i=>i.kind<312||i.kind>353);return r.kind<163?r:r.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();let t=this.getChildren(e),r=Os(t);if(r)return r.kind<163?r:r.getLastToken(e)}forEachChild(e,t){return pa(this,e,t)}},m5=class{constructor(e,t){this.pos=e,this.end=t,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Gn(this)}getStart(e,t){return gT(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return this.kind===1&&this.jsDoc||Je}getFirstToken(){}getLastToken(){}forEachChild(){}},Uye=class{constructor(e,t){this.id=0,this.mergeId=0,this.flags=e,this.escapedName=t}getFlags(){return this.flags}get name(){return fc(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=Je,!this.declarations&&Zp(this)&&this.links.target&&Zp(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=eP([t],e)}else this.documentationComment=eP(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(zy(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=eP(Pr(this.declarations,zy),t)),Fn(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(Ng(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=eP(Pr(this.declarations,Ng),t)),Fn(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return this.tags===void 0&&(this.tags=u5(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(zy(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=u5(Pr(this.declarations,zy),t)),Fn(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(Ng(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=u5(Pr(this.declarations,Ng),t)),Fn(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},h$=class extends m5{constructor(e,t,r){super(t,r),this.kind=e}},h5=class extends m5{constructor(e,t,r){super(t,r),this.kind=79}get text(){return vr(this)}},h5.prototype.kind=79,g5=class extends m5{constructor(e,t,r){super(t,r),this.kind=80}get text(){return vr(this)}},g5.prototype.kind=80,Vye=class{constructor(e,t){this.checker=e,this.flags=t}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(Ur(this)&3)}isClass(){return!!(Ur(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(Ur(this)&4)return this.checker.getTypeArguments(this)}},jye=class{constructor(e,t){this.checker=e,this.flags=t}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){let t=this.checker.getParameterType(this,e);if(t.isIndexType()&&lL(t.type)){let r=t.type.getConstraint();if(r)return this.checker.getIndexType(r)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=eP(aT(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=u5(aT(this.declaration),this.checker))}},Hye=class extends p5{constructor(e,t,r){super(e,t,r),this.kind=308}update(e,t){return uJ(this,e,t)}getLineAndCharacterOfPosition(e){return Gs(this,e)}getLineStarts(){return Sh(this)}getPositionOfLineAndCharacter(e,t,r){return mj(Sh(this),e,t,this.text,r)}getLineEndOfPosition(e){let{line:t}=this.getLineAndCharacterOfPosition(e),r=this.getLineStarts(),i;t+1>=r.length&&(i=this.getEnd()),i||(i=r[t+1]-1);let o=this.getFullText();return o[i]===`
+`&&o[i-1]==="\r"?i-1:i}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let e=Nf();return this.forEachChild(o),e;function t(s){let l=i(s);l&&e.add(l,s)}function r(s){let l=e.get(s);return l||e.set(s,l=[]),l}function i(s){let l=Sj(s);return l&&(ts(l)&&br(l.expression)?l.expression.name.text:Ys(l)?VN(l):void 0)}function o(s){switch(s.kind){case 259:case 215:case 171:case 170:let l=s,f=i(l);if(f){let m=r(f),v=Os(m);v&&l.parent===v.parent&&l.symbol===v.symbol?l.body&&!v.body&&(m[m.length-1]=l):m.push(l)}pa(s,o);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:t(s),pa(s,o);break;case 166:if(!Mr(s,16476))break;case 257:case 205:{let m=s;if(La(m.name)){pa(m.name,o);break}m.initializer&&o(m.initializer)}case 302:case 169:case 168:t(s);break;case 275:let d=s;d.exportClause&&(h_(d.exportClause)?mn(d.exportClause.elements,o):o(d.exportClause.name));break;case 269:let g=s.importClause;g&&(g.name&&t(g.name),g.namedBindings&&(g.namedBindings.kind===271?t(g.namedBindings):mn(g.namedBindings.elements,o)));break;case 223:ic(s)!==0&&t(s);default:pa(s,o)}}}},Wye=class{constructor(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}getLineAndCharacterOfPosition(e){return Gs(this,e)}},zye=class{constructor(e){this.host=e}getCurrentSourceFile(e){var t,r,i,o,s,l,f,d;let g=this.host.getScriptSnapshot(e);if(!g)throw new Error("Could not find file: '"+e+"'.");let m=mY(e,this.host),v=this.host.getScriptVersion(e),S;if(this.currentFileName!==e){let x={languageVersion:99,impliedNodeFormat:NF(Ts(e,this.host.getCurrentDirectory(),((i=(r=(t=this.host).getCompilerHost)==null?void 0:r.call(t))==null?void 0:i.getCanonicalFileName)||lb(this.host)),(d=(f=(l=(s=(o=this.host).getCompilerHost)==null?void 0:s.call(o))==null?void 0:l.getModuleResolutionCache)==null?void 0:f.call(l))==null?void 0:d.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:OR(this.host.getCompilationSettings())};S=f5(e,g,x,v,!0,m)}else if(this.currentFileVersion!==v){let x=g.getChangeRange(this.currentFileScriptSnapshot);S=_$(this.currentSourceFile,g,v,x)}return S&&(this.currentFileVersion=v,this.currentFileName=e,this.currentFileScriptSnapshot=g,this.currentSourceFile=S),this.currentSourceFile}},Jye={isCancellationRequested:m0,throwIfCancellationRequested:Ba},Kye=class{constructor(e){this.cancellationToken=e}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=ai)==null||e.instant(ai.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new tI}},g$=class{constructor(e,t=20){this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}isCancellationRequested(){let e=Ms();return Math.abs(e-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=ai)==null||e.instant(ai.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new tI}},y$=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes"],qye=[...y$,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],_le(o3e())}});function p3e(e,t,r){let i=[];r=t$(r,i);let o=ba(e)?e:[e],s=lN(void 0,void 0,D,r,o,t,!0);return s.diagnostics=Qi(s.diagnostics,i),s}var m3e=gt({"src/services/transform.ts"(){"use strict";Fr()}});function y5(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}function h3e(e,t,r,i){let o;i&&(e.log(t),o=Ms());let s=r();if(i){let l=Ms();if(e.log(`${t} completed in ${l-o} msec`),Ta(s)){let f=s;f.length>128&&(f=f.substring(0,128)+"..."),e.log(`  result.length=${f.length}, result='${JSON.stringify(f)}'`)}}return s}function v$(e,t,r,i){return Xye(e,t,!0,r,i)}function Xye(e,t,r,i,o){try{let s=h3e(e,t,i,o);return r?JSON.stringify({result:s}):s}catch(s){return s instanceof tI?JSON.stringify({canceled:!0}):(y5(e,s),s.description=t,JSON.stringify({error:s}))}}function b$(e,t){return e.map(r=>g3e(r,t))}function g3e(e,t){return{message:sv(e.messageText,t),start:e.start,length:e.length,category:C8(e),code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function E$(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var v5,Yye,T$,S$,b5,$ye,Qye,Zye,eve,y3e=gt({"src/services/shims.ts"(){"use strict";Fr(),v5=function(){return this}(),Yye=class{constructor(e){this.scriptSnapshotShim=e}getText(e,t){return this.scriptSnapshotShim.getText(e,t)}getLength(){return this.scriptSnapshotShim.getLength()}getChangeRange(e){let t=e,r=this.scriptSnapshotShim.getChangeRange(t.scriptSnapshotShim);if(r===null)return null;let i=JSON.parse(r);return Sw(il(i.span.start,i.span.length),i.newLength)}dispose(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()}},T$=class{constructor(e){this.shimHost=e,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=(t,r)=>{let i=JSON.parse(this.shimHost.getModuleResolutionsForFile(r));return on(t,o=>{let s=zD(i,o);return s?{resolvedFileName:s,extension:jR(s),isExternalLibraryImport:!1}:void 0})}),"directoryExists"in this.shimHost&&(this.directoryExists=t=>this.shimHost.directoryExists(t)),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=(t,r)=>{let i=JSON.parse(this.shimHost.getTypeReferenceDirectiveResolutionsForFile(r));return on(t,o=>zD(i,Ta(o)?o:n_(o.fileName)))})}log(e){this.loggingEnabled&&this.shimHost.log(e)}trace(e){this.tracingEnabled&&this.shimHost.trace(e)}error(e){this.shimHost.error(e)}getProjectVersion(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()}getTypeRootsVersion(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0}useCaseSensitiveFileNames(){return this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():!1}getCompilationSettings(){let e=this.shimHost.getCompilationSettings();if(e===null||e==="")throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");let t=JSON.parse(e);return t.allowNonTsExtensions=!0,t}getScriptFileNames(){let e=this.shimHost.getScriptFileNames();return JSON.parse(e)}getScriptSnapshot(e){let t=this.shimHost.getScriptSnapshot(e);return t&&new Yye(t)}getScriptKind(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0}getScriptVersion(e){return this.shimHost.getScriptVersion(e)}getLocalizedDiagnosticMessages(){let e=this.shimHost.getLocalizedDiagnosticMessages();if(e===null||e==="")return null;try{return JSON.parse(e)}catch(t){return this.log(t.description||"diagnosticMessages.generated.json has invalid JSON format"),null}}getCancellationToken(){let e=this.shimHost.getCancellationToken();return new g$(e)}getCurrentDirectory(){return this.shimHost.getCurrentDirectory()}getDirectories(e){return JSON.parse(this.shimHost.getDirectories(e))}getDefaultLibFileName(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))}readDirectory(e,t,r,i,o){let s=tL(e,r,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(t),JSON.stringify(s.basePaths),s.excludePattern,s.includeFilePattern,s.includeDirectoryPattern,o))}readFile(e,t){return this.shimHost.readFile(e,t)}fileExists(e){return this.shimHost.fileExists(e)}},S$=class{constructor(e){this.shimHost=e,this.useCaseSensitiveFileNames=this.shimHost.useCaseSensitiveFileNames?this.shimHost.useCaseSensitiveFileNames():!1,"directoryExists"in this.shimHost?this.directoryExists=t=>this.shimHost.directoryExists(t):this.directoryExists=void 0,"realpath"in this.shimHost?this.realpath=t=>this.shimHost.realpath(t):this.realpath=void 0}readDirectory(e,t,r,i,o){let s=tL(e,r,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(t),JSON.stringify(s.basePaths),s.excludePattern,s.includeFilePattern,s.includeDirectoryPattern,o))}fileExists(e){return this.shimHost.fileExists(e)}readFile(e){return this.shimHost.readFile(e)}getDirectories(e){return JSON.parse(this.shimHost.getDirectories(e))}},b5=class{constructor(e){this.factory=e,e.registerShim(this)}dispose(e){this.factory.unregisterShim(this)}},$ye=class extends b5{constructor(e,t,r){super(e),this.host=t,this.languageService=r,this.logPerformance=!1,this.logger=this.host}forwardJSONCall(e,t){return v$(this.logger,e,t,this.logPerformance)}dispose(e){this.logger.log("dispose()"),this.languageService.dispose(),this.languageService=null,v5&&v5.CollectGarbage&&(v5.CollectGarbage(),this.logger.log("CollectGarbage()")),this.logger=null,super.dispose(e)}refresh(e){this.forwardJSONCall(`refresh(${e})`,()=>null)}cleanupSemanticCache(){this.forwardJSONCall("cleanupSemanticCache()",()=>(this.languageService.cleanupSemanticCache(),null))}realizeDiagnostics(e){let t=bb(this.host,void 0);return b$(e,t)}getSyntacticClassifications(e,t,r){return this.forwardJSONCall(`getSyntacticClassifications('${e}', ${t}, ${r})`,()=>this.languageService.getSyntacticClassifications(e,il(t,r)))}getSemanticClassifications(e,t,r){return this.forwardJSONCall(`getSemanticClassifications('${e}', ${t}, ${r})`,()=>this.languageService.getSemanticClassifications(e,il(t,r)))}getEncodedSyntacticClassifications(e,t,r){return this.forwardJSONCall(`getEncodedSyntacticClassifications('${e}', ${t}, ${r})`,()=>E$(this.languageService.getEncodedSyntacticClassifications(e,il(t,r))))}getEncodedSemanticClassifications(e,t,r){return this.forwardJSONCall(`getEncodedSemanticClassifications('${e}', ${t}, ${r})`,()=>E$(this.languageService.getEncodedSemanticClassifications(e,il(t,r))))}getSyntacticDiagnostics(e){return this.forwardJSONCall(`getSyntacticDiagnostics('${e}')`,()=>{let t=this.languageService.getSyntacticDiagnostics(e);return this.realizeDiagnostics(t)})}getSemanticDiagnostics(e){return this.forwardJSONCall(`getSemanticDiagnostics('${e}')`,()=>{let t=this.languageService.getSemanticDiagnostics(e);return this.realizeDiagnostics(t)})}getSuggestionDiagnostics(e){return this.forwardJSONCall(`getSuggestionDiagnostics('${e}')`,()=>this.realizeDiagnostics(this.languageService.getSuggestionDiagnostics(e)))}getCompilerOptionsDiagnostics(){return this.forwardJSONCall("getCompilerOptionsDiagnostics()",()=>{let e=this.languageService.getCompilerOptionsDiagnostics();return this.realizeDiagnostics(e)})}getQuickInfoAtPosition(e,t){return this.forwardJSONCall(`getQuickInfoAtPosition('${e}', ${t})`,()=>this.languageService.getQuickInfoAtPosition(e,t))}getNameOrDottedNameSpan(e,t,r){return this.forwardJSONCall(`getNameOrDottedNameSpan('${e}', ${t}, ${r})`,()=>this.languageService.getNameOrDottedNameSpan(e,t,r))}getBreakpointStatementAtPosition(e,t){return this.forwardJSONCall(`getBreakpointStatementAtPosition('${e}', ${t})`,()=>this.languageService.getBreakpointStatementAtPosition(e,t))}getSignatureHelpItems(e,t,r){return this.forwardJSONCall(`getSignatureHelpItems('${e}', ${t})`,()=>this.languageService.getSignatureHelpItems(e,t,r))}getDefinitionAtPosition(e,t){return this.forwardJSONCall(`getDefinitionAtPosition('${e}', ${t})`,()=>this.languageService.getDefinitionAtPosition(e,t))}getDefinitionAndBoundSpan(e,t){return this.forwardJSONCall(`getDefinitionAndBoundSpan('${e}', ${t})`,()=>this.languageService.getDefinitionAndBoundSpan(e,t))}getTypeDefinitionAtPosition(e,t){return this.forwardJSONCall(`getTypeDefinitionAtPosition('${e}', ${t})`,()=>this.languageService.getTypeDefinitionAtPosition(e,t))}getImplementationAtPosition(e,t){return this.forwardJSONCall(`getImplementationAtPosition('${e}', ${t})`,()=>this.languageService.getImplementationAtPosition(e,t))}getRenameInfo(e,t,r){return this.forwardJSONCall(`getRenameInfo('${e}', ${t})`,()=>this.languageService.getRenameInfo(e,t,r))}getSmartSelectionRange(e,t){return this.forwardJSONCall(`getSmartSelectionRange('${e}', ${t})`,()=>this.languageService.getSmartSelectionRange(e,t))}findRenameLocations(e,t,r,i,o){return this.forwardJSONCall(`findRenameLocations('${e}', ${t}, ${r}, ${i}, ${o})`,()=>this.languageService.findRenameLocations(e,t,r,i,o))}getBraceMatchingAtPosition(e,t){return this.forwardJSONCall(`getBraceMatchingAtPosition('${e}', ${t})`,()=>this.languageService.getBraceMatchingAtPosition(e,t))}isValidBraceCompletionAtPosition(e,t,r){return this.forwardJSONCall(`isValidBraceCompletionAtPosition('${e}', ${t}, ${r})`,()=>this.languageService.isValidBraceCompletionAtPosition(e,t,r))}getSpanOfEnclosingComment(e,t,r){return this.forwardJSONCall(`getSpanOfEnclosingComment('${e}', ${t})`,()=>this.languageService.getSpanOfEnclosingComment(e,t,r))}getIndentationAtPosition(e,t,r){return this.forwardJSONCall(`getIndentationAtPosition('${e}', ${t})`,()=>{let i=JSON.parse(r);return this.languageService.getIndentationAtPosition(e,t,i)})}getReferencesAtPosition(e,t){return this.forwardJSONCall(`getReferencesAtPosition('${e}', ${t})`,()=>this.languageService.getReferencesAtPosition(e,t))}findReferences(e,t){return this.forwardJSONCall(`findReferences('${e}', ${t})`,()=>this.languageService.findReferences(e,t))}getFileReferences(e){return this.forwardJSONCall(`getFileReferences('${e})`,()=>this.languageService.getFileReferences(e))}getOccurrencesAtPosition(e,t){return this.forwardJSONCall(`getOccurrencesAtPosition('${e}', ${t})`,()=>this.languageService.getOccurrencesAtPosition(e,t))}getDocumentHighlights(e,t,r){return this.forwardJSONCall(`getDocumentHighlights('${e}', ${t})`,()=>{let i=this.languageService.getDocumentHighlights(e,t,JSON.parse(r)),o=n_(Al(e));return Pr(i,s=>n_(Al(s.fileName))===o)})}getCompletionsAtPosition(e,t,r,i){return this.forwardJSONCall(`getCompletionsAtPosition('${e}', ${t}, ${r}, ${i})`,()=>this.languageService.getCompletionsAtPosition(e,t,r,i))}getCompletionEntryDetails(e,t,r,i,o,s,l){return this.forwardJSONCall(`getCompletionEntryDetails('${e}', ${t}, '${r}')`,()=>{let f=i===void 0?void 0:JSON.parse(i);return this.languageService.getCompletionEntryDetails(e,t,r,f,o,s,l)})}getFormattingEditsForRange(e,t,r,i){return this.forwardJSONCall(`getFormattingEditsForRange('${e}', ${t}, ${r})`,()=>{let o=JSON.parse(i);return this.languageService.getFormattingEditsForRange(e,t,r,o)})}getFormattingEditsForDocument(e,t){return this.forwardJSONCall(`getFormattingEditsForDocument('${e}')`,()=>{let r=JSON.parse(t);return this.languageService.getFormattingEditsForDocument(e,r)})}getFormattingEditsAfterKeystroke(e,t,r,i){return this.forwardJSONCall(`getFormattingEditsAfterKeystroke('${e}', ${t}, '${r}')`,()=>{let o=JSON.parse(i);return this.languageService.getFormattingEditsAfterKeystroke(e,t,r,o)})}getDocCommentTemplateAtPosition(e,t,r,i){return this.forwardJSONCall(`getDocCommentTemplateAtPosition('${e}', ${t})`,()=>this.languageService.getDocCommentTemplateAtPosition(e,t,r,i))}getNavigateToItems(e,t,r){return this.forwardJSONCall(`getNavigateToItems('${e}', ${t}, ${r})`,()=>this.languageService.getNavigateToItems(e,t,r))}getNavigationBarItems(e){return this.forwardJSONCall(`getNavigationBarItems('${e}')`,()=>this.languageService.getNavigationBarItems(e))}getNavigationTree(e){return this.forwardJSONCall(`getNavigationTree('${e}')`,()=>this.languageService.getNavigationTree(e))}getOutliningSpans(e){return this.forwardJSONCall(`getOutliningSpans('${e}')`,()=>this.languageService.getOutliningSpans(e))}getTodoComments(e,t){return this.forwardJSONCall(`getTodoComments('${e}')`,()=>this.languageService.getTodoComments(e,JSON.parse(t)))}prepareCallHierarchy(e,t){return this.forwardJSONCall(`prepareCallHierarchy('${e}', ${t})`,()=>this.languageService.prepareCallHierarchy(e,t))}provideCallHierarchyIncomingCalls(e,t){return this.forwardJSONCall(`provideCallHierarchyIncomingCalls('${e}', ${t})`,()=>this.languageService.provideCallHierarchyIncomingCalls(e,t))}provideCallHierarchyOutgoingCalls(e,t){return this.forwardJSONCall(`provideCallHierarchyOutgoingCalls('${e}', ${t})`,()=>this.languageService.provideCallHierarchyOutgoingCalls(e,t))}provideInlayHints(e,t,r){return this.forwardJSONCall(`provideInlayHints('${e}', '${JSON.stringify(t)}', ${JSON.stringify(r)})`,()=>this.languageService.provideInlayHints(e,t,r))}getEmitOutput(e){return this.forwardJSONCall(`getEmitOutput('${e}')`,()=>{let{diagnostics:t,...r}=this.languageService.getEmitOutput(e);return{...r,diagnostics:this.realizeDiagnostics(t)}})}getEmitOutputObject(e){return Xye(this.logger,`getEmitOutput('${e}')`,!1,()=>this.languageService.getEmitOutput(e),this.logPerformance)}toggleLineComment(e,t){return this.forwardJSONCall(`toggleLineComment('${e}', '${JSON.stringify(t)}')`,()=>this.languageService.toggleLineComment(e,t))}toggleMultilineComment(e,t){return this.forwardJSONCall(`toggleMultilineComment('${e}', '${JSON.stringify(t)}')`,()=>this.languageService.toggleMultilineComment(e,t))}commentSelection(e,t){return this.forwardJSONCall(`commentSelection('${e}', '${JSON.stringify(t)}')`,()=>this.languageService.commentSelection(e,t))}uncommentSelection(e,t){return this.forwardJSONCall(`uncommentSelection('${e}', '${JSON.stringify(t)}')`,()=>this.languageService.uncommentSelection(e,t))}},Qye=class extends b5{constructor(e,t){super(e),this.logger=t,this.logPerformance=!1,this.classifier=Age()}getEncodedLexicalClassifications(e,t,r=!1){return v$(this.logger,"getEncodedLexicalClassifications",()=>E$(this.classifier.getEncodedLexicalClassifications(e,t,r)),this.logPerformance)}getClassificationsForLine(e,t,r=!1){let i=this.classifier.getClassificationsForLine(e,t,r),o="";for(let s of i.entries)o+=s.length+`
+`,o+=s.classification+`
+`;return o+=i.finalLexState,o}},Zye=class extends b5{constructor(e,t,r){super(e),this.logger=t,this.host=r,this.logPerformance=!1}forwardJSONCall(e,t){return v$(this.logger,e,t,this.logPerformance)}resolveModuleName(e,t,r){return this.forwardJSONCall(`resolveModuleName('${e}')`,()=>{let i=JSON.parse(r),o=FL(t,Al(e),i,this.host),s=o.resolvedModule?o.resolvedModule.resolvedFileName:void 0;return o.resolvedModule&&o.resolvedModule.extension!==".ts"&&o.resolvedModule.extension!==".tsx"&&o.resolvedModule.extension!==".d.ts"&&(s=void 0),{resolvedFileName:s,failedLookupLocations:o.failedLookupLocations,affectingLocations:o.affectingLocations}})}resolveTypeReferenceDirective(e,t,r){return this.forwardJSONCall(`resolveTypeReferenceDirective(${e})`,()=>{let i=JSON.parse(r),o=HJ(t,Al(e),i,this.host);return{resolvedFileName:o.resolvedTypeReferenceDirective?o.resolvedTypeReferenceDirective.resolvedFileName:void 0,primary:o.resolvedTypeReferenceDirective?o.resolvedTypeReferenceDirective.primary:!0,failedLookupLocations:o.failedLookupLocations}})}getPreProcessedFileInfo(e,t){return this.forwardJSONCall(`getPreProcessedFileInfo('${e}')`,()=>{let r=qge(E7(t),!0,!0);return{referencedFiles:this.convertFileReferences(r.referencedFiles),importedFiles:this.convertFileReferences(r.importedFiles),ambientExternalModules:r.ambientExternalModules,isLibFile:r.isLibFile,typeReferenceDirectives:this.convertFileReferences(r.typeReferenceDirectives),libReferenceDirectives:this.convertFileReferences(r.libReferenceDirectives)}})}getAutomaticTypeDirectiveNames(e){return this.forwardJSONCall(`getAutomaticTypeDirectiveNames('${e}')`,()=>{let t=JSON.parse(e);return X3(t,this.host)})}convertFileReferences(e){if(!e)return;let t=[];for(let r of e)t.push({path:Al(r.fileName),position:r.pos,length:r.end-r.pos});return t}getTSConfigFileInfo(e,t){return this.forwardJSONCall(`getTSConfigFileInfo('${e}')`,()=>{let r=wO(e,E7(t)),i=Al(e),o=MO(r,this.host,ni(i),{},i);return{options:o.options,typeAcquisition:o.typeAcquisition,files:o.fileNames,raw:o.raw,errors:b$([...r.parseDiagnostics,...o.errors],`\r
+`)}})}getDefaultCompilationSettings(){return this.forwardJSONCall("getDefaultCompilationSettings()",()=>d5())}discoverTypings(e){let t=Dl(!1);return this.forwardJSONCall("discoverTypings()",()=>{let r=JSON.parse(e);return this.safeList===void 0&&(this.safeList=QT.loadSafeList(this.host,Ts(r.safeListPath,r.safeListPath,t))),QT.discoverTypings(this.host,i=>this.logger.log(i),r.fileNames,Ts(r.projectRootPath,r.projectRootPath,t),this.safeList,r.packageNameToTypingLocation,r.typeAcquisition,r.unresolvedImports,r.typesRegistry,Cp)})}},eve=class{constructor(){this._shims=[]}getServicesVersion(){return m$}createLanguageServiceShim(e){try{this.documentRegistry===void 0&&(this.documentRegistry=VY(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory()));let t=new T$(e),r=Bye(t,this.documentRegistry,!1);return new $ye(this,e,r)}catch(t){throw y5(e,t),t}}createClassifierShim(e){try{return new Qye(this,e)}catch(t){throw y5(e,t),t}}createCoreServicesShim(e){try{let t=new S$(e);return new Zye(this,e,t)}catch(t){throw y5(e,t),t}}close(){Om(this._shims),this.documentRegistry=void 0}registerShim(e){this._shims.push(e)}unregisterShim(e){for(let t=0;t<this._shims.length;t++)if(this._shims[t]===e){delete this._shims[t];return}throw new Error("Invalid operation")}}}});function v3e(e,t){if(e.isDeclarationFile)return;let r=Vi(e,t),i=e.getLineAndCharacterOfPosition(t).line;if(e.getLineAndCharacterOfPosition(r.getStart(e)).line>i){let v=el(r.pos,e);if(!v||e.getLineAndCharacterOfPosition(v.getEnd()).line!==i)return;r=v}if(r.flags&16777216)return;return m(r);function o(v,S){let x=HS(v)?dA(v.modifiers,du):void 0,A=x?xo(e.text,x.end):v.getStart(e);return Wc(A,(S||v).getEnd())}function s(v,S){return o(v,t1(S,S.parent,e))}function l(v,S){return v&&i===e.getLineAndCharacterOfPosition(v.getStart(e)).line?m(v):m(S)}function f(v,S,x){if(v){let A=v.indexOf(S);if(A>=0){let w=A,C=A+1;for(;w>0&&x(v[w-1]);)w--;for(;C<v.length&&x(v[C]);)C++;return Wc(xo(e.text,v[w].pos),v[C-1].end)}}return o(S)}function d(v){return m(el(v.pos,e))}function g(v){return m(t1(v,v.parent,e))}function m(v){if(v){let{parent:X}=v;switch(v.kind){case 240:return x(v.declarationList.declarations[0]);case 257:case 169:case 168:return x(v);case 166:return w(v);case 259:case 171:case 170:case 174:case 175:case 173:case 215:case 216:return P(v);case 238:if(bT(v))return F(v);case 265:return B(v);case 295:return B(v.block);case 241:return o(v.expression);case 250:return o(v.getChildAt(0),v.expression);case 244:return s(v,v.expression);case 243:return m(v.statement);case 256:return o(v.getChildAt(0));case 242:return s(v,v.expression);case 253:return m(v.statement);case 249:case 248:return o(v.getChildAt(0),v.label);case 245:return W(v);case 246:return s(v,v.expression);case 247:return q(v);case 252:return s(v,v.expression);case 292:case 293:return m(v.statements[0]);case 255:return B(v.tryBlock);case 254:return o(v,v.expression);case 274:return o(v,v.expression);case 268:return o(v,v.moduleReference);case 269:return o(v,v.moduleSpecifier);case 275:return o(v,v.moduleSpecifier);case 264:if(Gh(v)!==1)return;case 260:case 263:case 302:case 205:return o(v);case 251:return m(v.statement);case 167:return f(X.modifiers,v,du);case 203:case 204:return Y(v);case 261:case 262:return;case 26:case 1:return l(el(v.pos,e));case 27:return d(v);case 18:return ie(v);case 19:return $(v);case 23:return fe(v);case 20:return Z(v);case 21:return U(v);case 58:return re(v);case 31:case 29:return le(v);case 115:return _e(v);case 91:case 83:case 96:return g(v);case 162:return ge(v);default:if(qg(v))return R(v);if((v.kind===79||v.kind===227||v.kind===299||v.kind===300)&&qg(X))return o(v);if(v.kind===223){let{left:Ve,operatorToken:we}=v;if(qg(Ve))return R(Ve);if(we.kind===63&&qg(v.parent))return o(v);if(we.kind===27)return m(Ve)}if(Dh(v))switch(X.kind){case 243:return d(v);case 167:return m(v.parent);case 245:case 247:return o(v);case 223:if(v.parent.operatorToken.kind===27)return o(v);break;case 216:if(v.parent.body===v)return o(v);break}switch(v.parent.kind){case 299:if(v.parent.name===v&&!qg(v.parent.parent))return m(v.parent.initializer);break;case 213:if(v.parent.type===v)return g(v.parent.type);break;case 257:case 166:{let{initializer:Ve,type:we}=v.parent;if(Ve===v||we===v||Mg(v.kind))return d(v);break}case 223:{let{left:Ve}=v.parent;if(qg(Ve)&&v!==Ve)return d(v);break}default:if(Ia(v.parent)&&v.parent.type===v)return d(v)}return m(v.parent)}}function S(X){return pu(X.parent)&&X.parent.declarations[0]===X?o(el(X.pos,e,X.parent),X):o(X)}function x(X){if(X.parent.parent.kind===246)return m(X.parent.parent);let Ve=X.parent;if(La(X.name))return Y(X.name);if(mT(X)&&X.initializer||Mr(X,1)||Ve.parent.kind===247)return S(X);if(pu(X.parent)&&X.parent.declarations[0]!==X)return m(el(X.pos,e,X.parent))}function A(X){return!!X.initializer||X.dotDotDotToken!==void 0||Mr(X,12)}function w(X){if(La(X.name))return Y(X.name);if(A(X))return o(X);{let Ve=X.parent,we=Ve.parameters.indexOf(X);return L.assert(we!==-1),we!==0?w(Ve.parameters[we-1]):m(Ve.body)}}function C(X){return Mr(X,1)||X.parent.kind===260&&X.kind!==173}function P(X){if(X.body)return C(X)?o(X):m(X.body)}function F(X){let Ve=X.statements.length?X.statements[0]:X.getLastToken();return C(X.parent)?l(X.parent,Ve):m(Ve)}function B(X){switch(X.parent.kind){case 264:if(Gh(X.parent)!==1)return;case 244:case 242:case 246:return l(X.parent,X.statements[0]);case 245:case 247:return l(el(X.pos,e,X.parent),X.statements[0])}return m(X.statements[0])}function q(X){if(X.initializer.kind===258){let Ve=X.initializer;if(Ve.declarations.length>0)return m(Ve.declarations[0])}else return m(X.initializer)}function W(X){if(X.initializer)return q(X);if(X.condition)return o(X.condition);if(X.incrementor)return o(X.incrementor)}function Y(X){let Ve=mn(X.elements,we=>we.kind!==229?we:void 0);return Ve?m(Ve):X.parent.kind===205?o(X.parent):S(X.parent)}function R(X){L.assert(X.kind!==204&&X.kind!==203);let Ve=X.kind===206?X.elements:X.properties,we=mn(Ve,ke=>ke.kind!==229?ke:void 0);return we?m(we):o(X.parent.kind===223?X.parent:X)}function ie(X){switch(X.parent.kind){case 263:let Ve=X.parent;return l(el(X.pos,e,X.parent),Ve.members.length?Ve.members[0]:Ve.getLastToken(e));case 260:let we=X.parent;return l(el(X.pos,e,X.parent),we.members.length?we.members[0]:we.getLastToken(e));case 266:return l(X.parent.parent,X.parent.clauses[0])}return m(X.parent)}function $(X){switch(X.parent.kind){case 265:if(Gh(X.parent.parent)!==1)return;case 263:case 260:return o(X);case 238:if(bT(X.parent))return o(X);case 295:return m(Os(X.parent.statements));case 266:let Ve=X.parent,we=Os(Ve.clauses);return we?m(Os(we.statements)):void 0;case 203:let ke=X.parent;return m(Os(ke.elements)||ke);default:if(qg(X.parent)){let Pe=X.parent;return o(Os(Pe.properties)||Pe)}return m(X.parent)}}function fe(X){switch(X.parent.kind){case 204:let Ve=X.parent;return o(Os(Ve.elements)||Ve);default:if(qg(X.parent)){let we=X.parent;return o(Os(we.elements)||we)}return m(X.parent)}}function Z(X){return X.parent.kind===243||X.parent.kind===210||X.parent.kind===211?d(X):X.parent.kind===214?g(X):m(X.parent)}function U(X){switch(X.parent.kind){case 215:case 259:case 216:case 171:case 170:case 174:case 175:case 173:case 244:case 243:case 245:case 247:case 210:case 211:case 214:return d(X);default:return m(X.parent)}}function re(X){return Ia(X.parent)||X.parent.kind===299||X.parent.kind===166?d(X):m(X.parent)}function le(X){return X.parent.kind===213?g(X):m(X.parent)}function _e(X){return X.parent.kind===243?s(X,X.parent.expression):m(X.parent)}function ge(X){return X.parent.kind===247?g(X):m(X.parent)}}}var b3e=gt({"src/services/breakpoints.ts"(){"use strict";Fr()}}),x$={};Mo(x$,{spanInSourceFileAtLocation:()=>v3e});var E3e=gt({"src/services/_namespaces/ts.BreakpointResolver.ts"(){"use strict";b3e()}});function T3e(e){return(ms(e)||_u(e))&&zl(e)}function pk(e){return(ms(e)||xs(e)||_u(e))&&wi(e.parent)&&e===e.parent.initializer&&Re(e.parent.name)&&!!(G_(e.parent)&2)}function tve(e){return Li(e)||Tc(e)||Jc(e)||ms(e)||sl(e)||_u(e)||oc(e)||Nc(e)||zm(e)||p_(e)||Sf(e)}function nx(e){return Li(e)||Tc(e)&&Re(e.name)||Jc(e)||sl(e)||oc(e)||Nc(e)||zm(e)||p_(e)||Sf(e)||T3e(e)||pk(e)}function nve(e){return Li(e)?e:zl(e)?e.name:pk(e)?e.parent.name:L.checkDefined(e.modifiers&&wr(e.modifiers,rve))}function rve(e){return e.kind===88}function ive(e,t){let r=nve(t);return r&&e.getSymbolAtLocation(r)}function S3e(e,t){if(Li(t))return{text:t.fileName,pos:0,end:0};if((Jc(t)||sl(t))&&!zl(t)){let o=t.modifiers&&wr(t.modifiers,rve);if(o)return{text:"default",pos:o.getStart(),end:o.getEnd()}}if(oc(t)){let o=t.getSourceFile(),s=xo(o.text,yp(t).pos),l=s+6,f=e.getTypeChecker(),d=f.getSymbolAtLocation(t.parent);return{text:`${d?`${f.symbolToString(d,t.parent)} `:""}static {}`,pos:s,end:l}}let r=pk(t)?t.parent.name:L.checkDefined(sa(t),"Expected call hierarchy item to have a name"),i=Re(r)?vr(r):yf(r)?r.text:ts(r)&&yf(r.expression)?r.expression.text:void 0;if(i===void 0){let o=e.getTypeChecker(),s=o.getSymbolAtLocation(r);s&&(i=o.symbolToString(s,t))}if(i===void 0){let o=fN();i=SI(s=>o.writeNode(4,t,t.getSourceFile(),s))}return{text:i,pos:r.getStart(),end:r.getEnd()}}function x3e(e){var t,r;if(pk(e))return Tp(e.parent.parent.parent.parent)&&Re(e.parent.parent.parent.parent.parent.name)?e.parent.parent.parent.parent.parent.name.getText():void 0;switch(e.kind){case 174:case 175:case 171:return e.parent.kind===207?(t=xj(e.parent))==null?void 0:t.getText():(r=sa(e.parent))==null?void 0:r.getText();case 259:case 260:case 264:if(Tp(e.parent)&&Re(e.parent.parent.name))return e.parent.parent.name.getText()}}function ave(e,t){if(t.body)return t;if(Ec(t))return Vm(t.parent);if(Jc(t)||Nc(t)){let r=ive(e,t);return r&&r.valueDeclaration&&Ds(r.valueDeclaration)&&r.valueDeclaration.body?r.valueDeclaration:void 0}return t}function ove(e,t){let r=ive(e,t),i;if(r&&r.declarations){let o=jD(r.declarations),s=on(r.declarations,d=>({file:d.getSourceFile().fileName,pos:d.pos}));o.sort((d,g)=>su(s[d].file,s[g].file)||s[d].pos-s[g].pos);let l=on(o,d=>r.declarations[d]),f;for(let d of l)nx(d)&&((!f||f.parent!==d.parent||f.end!==d.pos)&&(i=Sn(i,d)),f=d)}return i}function E5(e,t){var r,i,o;return oc(t)?t:Ds(t)?(i=(r=ave(e,t))!=null?r:ove(e,t))!=null?i:t:(o=ove(e,t))!=null?o:t}function sve(e,t){let r=e.getTypeChecker(),i=!1;for(;;){if(nx(t))return E5(r,t);if(tve(t)){let o=jn(t,nx);return o&&E5(r,o)}if(Rh(t)){if(nx(t.parent))return E5(r,t.parent);if(tve(t.parent)){let o=jn(t.parent,nx);return o&&E5(r,o)}return wi(t.parent)&&t.parent.initializer&&pk(t.parent.initializer)?t.parent.initializer:void 0}if(Ec(t))return nx(t.parent)?t.parent:void 0;if(t.kind===124&&oc(t.parent)){t=t.parent;continue}if(wi(t)&&t.initializer&&pk(t.initializer))return t.initializer;if(!i){let o=r.getSymbolAtLocation(t);if(o&&(o.flags&2097152&&(o=r.getAliasedSymbol(o)),o.valueDeclaration)){i=!0,t=o.valueDeclaration;continue}}return}}function A$(e,t){let r=t.getSourceFile(),i=S3e(e,t),o=x3e(t),s=aE(t),l=rk(t),f=Wc(xo(r.text,t.getFullStart(),!1,!0),t.getEnd()),d=Wc(i.pos,i.end);return{file:r.fileName,kind:s,kindModifiers:l,name:i.text,containerName:o,span:f,selectionSpan:d}}function A3e(e){return e!==void 0}function C3e(e){if(e.kind===js.EntryKind.Node){let{node:t}=e;if(PX(t,!0,!0)||phe(t,!0,!0)||mhe(t,!0,!0)||hhe(t,!0,!0)||j2(t)||BX(t)){let r=t.getSourceFile();return{declaration:jn(t,nx)||r,range:nY(t,r)}}}}function cve(e){return zo(e.declaration)}function I3e(e,t){return{from:e,fromSpans:t}}function L3e(e,t){return I3e(A$(e,t[0].declaration),on(t,r=>lv(r.range)))}function k3e(e,t,r){if(Li(t)||Tc(t)||oc(t))return[];let i=nve(t),o=Pr(js.findReferenceOrRenameEntries(e,r,e.getSourceFiles(),i,0,{use:js.FindReferencesUse.References},C3e),A3e);return o?YC(o,cve,s=>L3e(e,s)):[]}function D3e(e,t){function r(o){let s=PT(o)?o.tag:Au(o)?o.tagName:Us(o)||oc(o)?o:o.expression,l=sve(e,s);if(l){let f=nY(s,o.getSourceFile());if(ba(l))for(let d of l)t.push({declaration:d,range:f});else t.push({declaration:l,range:f})}}function i(o){if(o&&!(o.flags&16777216)){if(nx(o)){if(Yr(o))for(let s of o.members)s.name&&ts(s.name)&&i(s.name.expression);return}switch(o.kind){case 79:case 268:case 269:case 275:case 261:case 262:return;case 172:r(o);return;case 213:case 231:i(o.expression);return;case 257:case 166:i(o.name),i(o.initializer);return;case 210:r(o),i(o.expression),mn(o.arguments,i);return;case 211:r(o),i(o.expression),mn(o.arguments,i);return;case 212:r(o),i(o.tag),i(o.template);return;case 283:case 282:r(o),i(o.tagName),i(o.attributes);return;case 167:r(o),i(o.expression);return;case 208:case 209:r(o),pa(o,i);break;case 235:i(o.expression);return}Gm(o)||pa(o,i)}}return i}function w3e(e,t){mn(e.statements,t)}function R3e(e,t){!Mr(e,2)&&e.body&&Tp(e.body)&&mn(e.body.statements,t)}function O3e(e,t,r){let i=ave(e,t);i&&(mn(i.parameters,r),r(i.body))}function N3e(e,t){t(e.body)}function P3e(e,t){mn(e.modifiers,t);let r=P0(e);r&&t(r.expression);for(let i of e.members)g_(i)&&mn(i.modifiers,t),Na(i)?t(i.initializer):Ec(i)&&i.body?(mn(i.parameters,t),t(i.body)):oc(i)&&t(i)}function M3e(e,t){let r=[],i=D3e(e,r);switch(t.kind){case 308:w3e(t,i);break;case 264:R3e(t,i);break;case 259:case 215:case 216:case 171:case 174:case 175:O3e(e.getTypeChecker(),t,i);break;case 260:case 228:P3e(t,i);break;case 172:N3e(t,i);break;default:L.assertNever(t)}return r}function F3e(e,t){return{to:e,fromSpans:t}}function G3e(e,t){return F3e(A$(e,t[0].declaration),on(t,r=>lv(r.range)))}function B3e(e,t){return t.flags&16777216||zm(t)?[]:YC(M3e(e,t),cve,r=>G3e(e,r))}var U3e=gt({"src/services/callHierarchy.ts"(){"use strict";Fr()}}),rx={};Mo(rx,{createCallHierarchyItem:()=>A$,getIncomingCalls:()=>k3e,getOutgoingCalls:()=>B3e,resolveCallHierarchyDeclaration:()=>sve});var V3e=gt({"src/services/_namespaces/ts.CallHierarchy.ts"(){"use strict";U3e()}});function j3e(e,t,r,i){let o=lve(e,t,r,i);L.assert(o.spans.length%3===0);let s=o.spans,l=[];for(let f=0;f<s.length;f+=3)l.push({textSpan:il(s[f],s[f+1]),classificationType:s[f+2]});return l}function lve(e,t,r,i){return{spans:H3e(e,r,i,t),endOfLineState:0}}function H3e(e,t,r,i){let o=[];return e&&t&&W3e(e,t,r,(l,f,d)=>{o.push(l.getStart(t),l.getWidth(t),(f+1<<8)+d)},i),o}function W3e(e,t,r,i,o){let s=e.getTypeChecker(),l=!1;function f(d){switch(d.kind){case 264:case 260:case 261:case 259:case 228:case 215:case 216:o.throwIfCancellationRequested()}if(!d||!$8(r,d.pos,d.getFullWidth())||d.getFullWidth()===0)return;let g=l;if((Hg(d)||FS(d))&&(l=!0),AL(d)&&(l=!1),Re(d)&&!l&&!q3e(d)&&!cL(d.escapedText)){let m=s.getSymbolAtLocation(d);if(m){m.flags&2097152&&(m=s.getAliasedSymbol(m));let v=z3e(m,ZT(d));if(v!==void 0){let S=0;d.parent&&(Wo(d.parent)||k$.get(d.parent.kind)===v)&&d.parent.name===d&&(S=1),v===6&&dve(d)&&(v=9),v=J3e(s,d,v);let x=m.valueDeclaration;if(x){let A=wg(x),w=G_(x);A&32&&(S|=2),A&512&&(S|=4),v!==0&&v!==2&&(A&64||w&2||m.getFlags()&8)&&(S|=8),(v===7||v===10)&&K3e(x,t)&&(S|=32),e.isSourceFileDefaultLibrary(x.getSourceFile())&&(S|=16)}else m.declarations&&m.declarations.some(A=>e.isSourceFileDefaultLibrary(A.getSourceFile()))&&(S|=16);i(d,v,S)}}}pa(d,f),l=g}f(t)}function z3e(e,t){let r=e.getFlags();if(r&32)return 0;if(r&384)return 1;if(r&524288)return 5;if(r&64){if(t&2)return 2}else if(r&262144)return 4;let i=e.valueDeclaration||e.declarations&&e.declarations[0];return i&&Wo(i)&&(i=uve(i)),i&&k$.get(i.kind)}function J3e(e,t,r){if(r===7||r===9||r===6){let i=e.getTypeAtLocation(t);if(i){let o=s=>s(i)||i.isUnion()&&i.types.some(s);if(r!==6&&o(s=>s.getConstructSignatures().length>0))return 0;if(o(s=>s.getCallSignatures().length>0)&&!o(s=>s.getProperties().length>0)||X3e(t))return r===9?11:10}}return r}function K3e(e,t){return Wo(e)&&(e=uve(e)),wi(e)?(!Li(e.parent.parent.parent)||E2(e.parent))&&e.getSourceFile()===t:Jc(e)?!Li(e.parent)&&e.getSourceFile()===t:!1}function uve(e){for(;;)if(Wo(e.parent.parent))e=e.parent.parent;else return e.parent.parent}function q3e(e){let t=e.parent;return t&&(lm(t)||$u(t)||nv(t))}function X3e(e){for(;dve(e);)e=e.parent;return Pa(e.parent)&&e.parent.expression===e}function dve(e){return Yu(e.parent)&&e.parent.right===e||br(e.parent)&&e.parent.name===e}var C$,I$,L$,k$,Y3e=gt({"src/services/classifier2020.ts"(){"use strict";Fr(),C$=(e=>(e[e.typeOffset=8]="typeOffset",e[e.modifierMask=255]="modifierMask",e))(C$||{}),I$=(e=>(e[e.class=0]="class",e[e.enum=1]="enum",e[e.interface=2]="interface",e[e.namespace=3]="namespace",e[e.typeParameter=4]="typeParameter",e[e.type=5]="type",e[e.parameter=6]="parameter",e[e.variable=7]="variable",e[e.enumMember=8]="enumMember",e[e.property=9]="property",e[e.function=10]="function",e[e.member=11]="member",e))(I$||{}),L$=(e=>(e[e.declaration=0]="declaration",e[e.static=1]="static",e[e.async=2]="async",e[e.readonly=3]="readonly",e[e.defaultLibrary=4]="defaultLibrary",e[e.local=5]="local",e))(L$||{}),k$=new Map([[257,7],[166,6],[169,9],[264,3],[263,1],[302,8],[260,0],[171,11],[259,10],[215,10],[170,11],[174,9],[175,9],[168,9],[261,2],[262,5],[165,4],[299,9],[300,9]])}}),fve={};Mo(fve,{TokenEncodingConsts:()=>C$,TokenModifier:()=>L$,TokenType:()=>I$,getEncodedSemanticClassifications:()=>lve,getSemanticClassifications:()=>j3e});var $3e=gt({"src/services/_namespaces/ts.classifier.v2020.ts"(){"use strict";Y3e()}}),T5={};Mo(T5,{v2020:()=>fve});var Q3e=gt({"src/services/_namespaces/ts.classifier.ts"(){"use strict";$3e()}});function K_(e,t,r){return w$(e,ZS(r),t,void 0,void 0)}function Ma(e,t,r,i,o,s){return w$(e,ZS(r),t,i,ZS(o),s)}function D$(e,t,r,i,o,s){return w$(e,ZS(r),t,i,o&&ZS(o),s)}function w$(e,t,r,i,o,s){return{fixName:e,description:t,changes:r,fixId:i,fixAllDescription:o,commands:s?[s]:void 0}}function za(e){for(let t of e.errorCodes)S5.add(String(t),e);if(e.fixIds)for(let t of e.fixIds)L.assert(!x5.has(t)),x5.set(t,e)}function Z3e(){return lo(S5.keys())}function eFe(e,t){let{errorCodes:r}=e,i=0;for(let s of t)if(ya(r,s.code)&&i++,i>1)break;let o=i<2;return({fixId:s,fixAllDescription:l,...f})=>o?f:{...f,fixId:s,fixAllDescription:l}}function tFe(e){let t=pve(e),r=S5.get(String(e.errorCode));return Uo(r,i=>on(i.getCodeActions(e),eFe(i,t)))}function nFe(e){return x5.get(Ga(e.fixId,Ta)).getAllCodeActions(e)}function ix(e,t){return{changes:e,commands:t}}function _ve(e,t){return{fileName:e,textChanges:t}}function ns(e,t,r){let i=[],o=nr.ChangeTracker.with(e,s=>ax(e,t,l=>r(s,l,i)));return ix(o,i.length===0?void 0:i)}function ax(e,t,r){for(let i of pve(e))ya(t,i.code)&&r(i)}function pve({program:e,sourceFile:t,cancellationToken:r}){return[...e.getSemanticDiagnostics(t,r),...e.getSyntacticDiagnostics(t,r),...$Y(t,e,r)]}var S5,x5,rFe=gt({"src/services/codeFixProvider.ts"(){"use strict";Fr(),S5=Nf(),x5=new Map}});function mve(e,t,r){let i=fO(r)?D.createAsExpression(r.expression,D.createKeywordTypeNode(157)):D.createTypeAssertion(D.createKeywordTypeNode(157),r.expression);e.replaceNode(t,r.expression,i)}function hve(e,t){if(!Yn(e))return jn(Vi(e,t),r=>fO(r)||Fue(r))}var A5,R$,iFe=gt({"src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts"(){"use strict";Fr(),Qa(),A5="addConvertToUnknownForNonOverlappingTypes",R$=[_.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code],za({errorCodes:R$,getCodeActions:function(t){let r=hve(t.sourceFile,t.span.start);if(r===void 0)return;let i=nr.ChangeTracker.with(t,o=>mve(o,t.sourceFile,r));return[Ma(A5,i,_.Add_unknown_conversion_for_non_overlapping_types,A5,_.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[A5],getAllCodeActions:e=>ns(e,R$,(t,r)=>{let i=hve(r.file,r.start);i&&mve(t,r.file,i)})})}}),aFe=gt({"src/services/codefixes/addEmptyExportDeclaration.ts"(){"use strict";Fr(),Qa(),za({errorCodes:[_.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,_.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(t){let{sourceFile:r}=t,i=nr.ChangeTracker.with(t,o=>{let s=D.createExportDeclaration(void 0,!1,D.createNamedExports([]),void 0);o.insertNodeAtEndOfScope(r,r,s)});return[K_("addEmptyExportDeclaration",i,_.Add_export_to_make_this_file_into_a_module)]}})}});function gve(e,t,r,i){let o=r(s=>oFe(s,e.sourceFile,t,i));return Ma(C5,o,_.Add_async_modifier_to_containing_function,C5,_.Add_all_missing_async_modifiers)}function oFe(e,t,r,i){if(i&&i.has(zo(r)))return;i?.add(zo(r));let o=D.updateModifiers(cc(r,!0),D.createNodeArray(D.createModifiersFromModifierFlags(Yy(r)|512)));e.replaceNode(t,r,o)}function yve(e,t){if(!t)return;let r=Vi(e,t.start);return jn(r,o=>o.getStart(e)<t.start||o.getEnd()>wl(t)?"quit":(xs(o)||Nc(o)||ms(o)||Jc(o))&&J2(t,Du(o,e)))}function sFe(e,t){return({start:r,length:i,relatedInformation:o,code:s})=>Cg(r)&&Cg(i)&&J2({start:r,length:i},e)&&s===t&&!!o&&vt(o,l=>l.code===_.Did_you_mean_to_mark_this_function_as_async.code)}var C5,O$,cFe=gt({"src/services/codefixes/addMissingAsync.ts"(){"use strict";Fr(),Qa(),C5="addMissingAsync",O$=[_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,_.Type_0_is_not_assignable_to_type_1.code,_.Type_0_is_not_comparable_to_type_1.code],za({fixIds:[C5],errorCodes:O$,getCodeActions:function(t){let{sourceFile:r,errorCode:i,cancellationToken:o,program:s,span:l}=t,f=wr(s.getTypeChecker().getDiagnostics(r,o),sFe(l,i)),d=f&&f.relatedInformation&&wr(f.relatedInformation,v=>v.code===_.Did_you_mean_to_mark_this_function_as_async.code),g=yve(r,d);return g?[gve(t,g,v=>nr.ChangeTracker.with(t,v))]:void 0},getAllCodeActions:e=>{let{sourceFile:t}=e,r=new Set;return ns(e,O$,(i,o)=>{let s=o.relatedInformation&&wr(o.relatedInformation,d=>d.code===_.Did_you_mean_to_mark_this_function_as_async.code),l=yve(t,s);return l?gve(e,l,d=>(d(i),[]),r):void 0})}})}});function vve(e,t,r,i,o){let s=IY(e,r);return s&&lFe(e,t,r,i,o)&&Tve(s)?s:void 0}function bve(e,t,r,i,o,s){let{sourceFile:l,program:f,cancellationToken:d}=e,g=uFe(t,l,d,f,i);if(g){let m=o(v=>{mn(g.initializers,({expression:S})=>N$(v,r,l,i,S,s)),s&&g.needsSecondPassForFixAll&&N$(v,r,l,i,t,s)});return K_("addMissingAwaitToInitializer",m,g.initializers.length===1?[_.Add_await_to_initializer_for_0,g.initializers[0].declarationSymbol.name]:_.Add_await_to_initializers)}}function Eve(e,t,r,i,o,s){let l=o(f=>N$(f,r,e.sourceFile,i,t,s));return Ma(I5,l,_.Add_await,I5,_.Fix_all_expressions_possibly_missing_await)}function lFe(e,t,r,i,o){let l=o.getTypeChecker().getDiagnostics(e,i);return vt(l,({start:f,length:d,relatedInformation:g,code:m})=>Cg(f)&&Cg(d)&&J2({start:f,length:d},r)&&m===t&&!!g&&vt(g,v=>v.code===_.Did_you_forget_to_use_await.code))}function uFe(e,t,r,i,o){let s=dFe(e,o);if(!s)return;let l=s.isCompleteFix,f;for(let d of s.identifiers){let g=o.getSymbolAtLocation(d);if(!g)continue;let m=zr(g.valueDeclaration,wi),v=m&&zr(m.name,Re),S=cb(m,240);if(!m||!S||m.type||!m.initializer||S.getSourceFile()!==t||Mr(S,1)||!v||!Tve(m.initializer)){l=!1;continue}let x=i.getSemanticDiagnostics(t,r);if(js.Core.eachSymbolReferenceInFile(v,o,t,w=>d!==w&&!fFe(w,x,t,o))){l=!1;continue}(f||(f=[])).push({expression:m.initializer,declarationSymbol:g})}return f&&{initializers:f,needsSecondPassForFixAll:!l}}function dFe(e,t){if(br(e.parent)&&Re(e.parent.expression))return{identifiers:[e.parent.expression],isCompleteFix:!0};if(Re(e))return{identifiers:[e],isCompleteFix:!0};if(ar(e)){let r,i=!0;for(let o of[e.left,e.right]){let s=t.getTypeAtLocation(o);if(t.getPromisedTypeOfPromise(s)){if(!Re(o)){i=!1;continue}(r||(r=[])).push(o)}}return r&&{identifiers:r,isCompleteFix:i}}}function fFe(e,t,r,i){let o=br(e.parent)?e.parent.name:ar(e.parent)?e.parent:e,s=wr(t,l=>l.start===o.getStart(r)&&l.start+l.length===o.getEnd());return s&&ya(L5,s.code)||i.getTypeAtLocation(o).flags&1}function Tve(e){return e.kind&32768||!!jn(e,t=>t.parent&&xs(t.parent)&&t.parent.body===t||Va(t)&&(t.parent.kind===259||t.parent.kind===215||t.parent.kind===216||t.parent.kind===171))}function N$(e,t,r,i,o,s){if(_O(o.parent)&&!o.parent.awaitModifier){let l=i.getTypeAtLocation(o),f=i.getAsyncIterableType();if(f&&i.isTypeAssignableTo(l,f)){let d=o.parent;e.replaceNode(r,d,D.updateForOfStatement(d,D.createToken(133),d.initializer,d.expression,d.statement));return}}if(ar(o))for(let l of[o.left,o.right]){if(s&&Re(l)){let g=i.getSymbolAtLocation(l);if(g&&s.has($a(g)))continue}let f=i.getTypeAtLocation(l),d=i.getPromisedTypeOfPromise(f)?D.createAwaitExpression(l):l;e.replaceNode(r,l,d)}else if(t===P$&&br(o.parent)){if(s&&Re(o.parent.expression)){let l=i.getSymbolAtLocation(o.parent.expression);if(l&&s.has($a(l)))return}e.replaceNode(r,o.parent.expression,D.createParenthesizedExpression(D.createAwaitExpression(o.parent.expression))),Sve(e,o.parent.expression,r)}else if(ya(M$,t)&&Ih(o.parent)){if(s&&Re(o)){let l=i.getSymbolAtLocation(o);if(l&&s.has($a(l)))return}e.replaceNode(r,o,D.createParenthesizedExpression(D.createAwaitExpression(o))),Sve(e,o,r)}else{if(s&&wi(o.parent)&&Re(o.parent.name)){let l=i.getSymbolAtLocation(o.parent.name);if(l&&!_0(s,$a(l)))return}e.replaceNode(r,o,D.createAwaitExpression(o))}}function Sve(e,t,r){let i=el(t.pos,r);i&&N7(i.end,i.parent,r)&&e.insertText(r,t.getStart(r),";")}var I5,P$,M$,L5,_Fe=gt({"src/services/codefixes/addMissingAwait.ts"(){"use strict";Fr(),Qa(),I5="addMissingAwait",P$=_.Property_0_does_not_exist_on_type_1.code,M$=[_.This_expression_is_not_callable.code,_.This_expression_is_not_constructable.code],L5=[_.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,_.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,_.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,_.Operator_0_cannot_be_applied_to_type_1.code,_.Operator_0_cannot_be_applied_to_types_1_and_2.code,_.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code,_.This_condition_will_always_return_true_since_this_0_is_always_defined.code,_.Type_0_is_not_an_array_type.code,_.Type_0_is_not_an_array_type_or_a_string_type.code,_.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code,_.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,_.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,_.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,_.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,P$,...M$],za({fixIds:[I5],errorCodes:L5,getCodeActions:function(t){let{sourceFile:r,errorCode:i,span:o,cancellationToken:s,program:l}=t,f=vve(r,i,o,s,l);if(!f)return;let d=t.program.getTypeChecker(),g=m=>nr.ChangeTracker.with(t,m);return WD([bve(t,f,i,d,g),Eve(t,f,i,d,g)])},getAllCodeActions:e=>{let{sourceFile:t,program:r,cancellationToken:i}=e,o=e.program.getTypeChecker(),s=new Set;return ns(e,L5,(l,f)=>{let d=vve(t,f.code,f,i,r);if(!d)return;let g=m=>(m(l),[]);return bve(e,d,f.code,o,g,s)||Eve(e,d,f.code,o,g,s)})}})}});function xve(e,t,r,i,o){let s=Vi(t,r),l=jn(s,g=>CA(g.parent)?g.parent.initializer===g:pFe(g)?!1:"quit");if(l)return k5(e,l,t,o);let f=s.parent;if(ar(f)&&f.operatorToken.kind===63&&Ol(f.parent))return k5(e,s,t,o);if(fu(f)){let g=i.getTypeChecker();return Ji(f.elements,m=>mFe(m,g))?k5(e,f,t,o):void 0}let d=jn(s,g=>Ol(g.parent)?!0:hFe(g)?!1:"quit");if(d){let g=i.getTypeChecker();return Ave(d,g)?k5(e,d,t,o):void 0}}function k5(e,t,r,i){(!i||_0(i,t))&&e.insertModifierBefore(r,85,t)}function pFe(e){switch(e.kind){case 79:case 206:case 207:case 299:case 300:return!0;default:return!1}}function mFe(e,t){let r=Re(e)?e:Iu(e,!0)&&Re(e.left)?e.left:void 0;return!!r&&!t.getSymbolAtLocation(r)}function hFe(e){switch(e.kind){case 79:case 223:case 27:return!0;default:return!1}}function Ave(e,t){return ar(e)?e.operatorToken.kind===27?Ji([e.left,e.right],r=>Ave(r,t)):e.operatorToken.kind===63&&Re(e.left)&&!t.getSymbolAtLocation(e.left):!1}var D5,F$,gFe=gt({"src/services/codefixes/addMissingConst.ts"(){"use strict";Fr(),Qa(),D5="addMissingConst",F$=[_.Cannot_find_name_0.code,_.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code],za({errorCodes:F$,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>xve(i,t.sourceFile,t.span.start,t.program));if(r.length>0)return[Ma(D5,r,_.Add_const_to_unresolved_variable,D5,_.Add_const_to_all_unresolved_variables)]},fixIds:[D5],getAllCodeActions:e=>{let t=new Set;return ns(e,F$,(r,i)=>xve(r,i.file,i.start,e.program,t))}})}});function Cve(e,t,r,i){let o=Vi(t,r);if(!Re(o))return;let s=o.parent;s.kind===169&&(!i||_0(i,s))&&e.insertModifierBefore(t,136,s)}var w5,G$,yFe=gt({"src/services/codefixes/addMissingDeclareProperty.ts"(){"use strict";Fr(),Qa(),w5="addMissingDeclareProperty",G$=[_.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code],za({errorCodes:G$,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>Cve(i,t.sourceFile,t.span.start));if(r.length>0)return[Ma(w5,r,_.Prefix_with_declare,w5,_.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[w5],getAllCodeActions:e=>{let t=new Set;return ns(e,G$,(r,i)=>Cve(r,i.file,i.start,t))}})}});function Ive(e,t,r){let i=Vi(t,r),o=jn(i,du);L.assert(!!o,"Expected position to be owned by a decorator.");let s=D.createCallExpression(o.expression,void 0,void 0);e.replaceNode(t,o.expression,s)}var R5,B$,vFe=gt({"src/services/codefixes/addMissingInvocationForDecorator.ts"(){"use strict";Fr(),Qa(),R5="addMissingInvocationForDecorator",B$=[_._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code],za({errorCodes:B$,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>Ive(i,t.sourceFile,t.span.start));return[Ma(R5,r,_.Call_decorator_expression,R5,_.Add_to_all_uncalled_decorators)]},fixIds:[R5],getAllCodeActions:e=>ns(e,B$,(t,r)=>Ive(t,r.file,r.start))})}});function Lve(e,t,r){let i=Vi(t,r),o=i.parent;if(!ha(o))return L.fail("Tried to add a parameter name to a non-parameter: "+L.formatSyntaxKind(i.kind));let s=o.parent.parameters.indexOf(o);L.assert(!o.type,"Tried to add a parameter name to a parameter that already had one."),L.assert(s>-1,"Parameter not found in parent parameter list.");let l=D.createTypeReferenceNode(o.name,void 0),f=D.createParameterDeclaration(o.modifiers,o.dotDotDotToken,"arg"+s,o.questionToken,o.dotDotDotToken?D.createArrayTypeNode(l):l,o.initializer);e.replaceNode(t,o,f)}var O5,U$,bFe=gt({"src/services/codefixes/addNameToNamelessParameter.ts"(){"use strict";Fr(),Qa(),O5="addNameToNamelessParameter",U$=[_.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code],za({errorCodes:U$,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>Lve(i,t.sourceFile,t.span.start));return[Ma(O5,r,_.Add_parameter_name,O5,_.Add_names_to_all_parameters_without_names)]},fixIds:[O5],getAllCodeActions:e=>ns(e,U$,(t,r)=>Lve(t,r.file,r.start))})}});function EFe(e,t,r){var i,o;let s=kve(IY(e,t),r);if(!s)return Je;let{source:l,target:f}=s,d=TFe(l,f,r)?r.getTypeAtLocation(f.expression):r.getTypeAtLocation(f);return(o=(i=d.symbol)==null?void 0:i.declarations)!=null&&o.some(g=>Gn(g).fileName.match(/\.d\.ts$/))?Je:r.getExactOptionalProperties(d)}function TFe(e,t,r){return br(t)&&!!r.getExactOptionalProperties(r.getTypeAtLocation(t.expression)).length&&r.getTypeAtLocation(e)===r.getUndefinedType()}function kve(e,t){var r;if(e){if(ar(e.parent)&&e.parent.operatorToken.kind===63)return{source:e.parent.right,target:e.parent.left};if(wi(e.parent)&&e.parent.initializer)return{source:e.parent.initializer,target:e.parent.name};if(Pa(e.parent)){let i=t.getSymbolAtLocation(e.parent.expression);if(!i?.valueDeclaration||!nS(i.valueDeclaration.kind)||!ot(e))return;let o=e.parent.arguments.indexOf(e);if(o===-1)return;let s=i.valueDeclaration.parameters[o].name;if(Re(s))return{source:e,target:s}}else if(yl(e.parent)&&Re(e.parent.name)||xf(e.parent)){let i=kve(e.parent.parent,t);if(!i)return;let o=t.getPropertyOfType(t.getTypeAtLocation(i.target),e.parent.name.text),s=(r=o?.declarations)==null?void 0:r[0];return s?{source:yl(e.parent)?e.parent.initializer:e.parent.name,target:s}:void 0}}else return}function SFe(e,t){for(let r of t){let i=r.valueDeclaration;if(i&&($d(i)||Na(i))&&i.type){let o=D.createUnionTypeNode([...i.type.kind===189?i.type.types:[i.type],D.createTypeReferenceNode("undefined")]);e.replaceNode(i.getSourceFile(),i.type,o)}}}var V$,Dve,xFe=gt({"src/services/codefixes/addOptionalPropertyUndefined.ts"(){"use strict";Fr(),Qa(),V$="addOptionalPropertyUndefined",Dve=[_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code,_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code],za({errorCodes:Dve,getCodeActions(e){let t=e.program.getTypeChecker(),r=EFe(e.sourceFile,e.span,t);if(!r.length)return;let i=nr.ChangeTracker.with(e,o=>SFe(o,r));return[K_(V$,i,_.Add_undefined_to_optional_property_type)]},fixIds:[V$]})}});function wve(e,t){let r=Vi(e,t);return zr(ha(r.parent)?r.parent.parent:r.parent,Rve)}function Rve(e){return AFe(e)&&Ove(e)}function Ove(e){return Ds(e)?e.parameters.some(Ove)||!e.type&&!!Aw(e):!e.type&&!!Vy(e)}function Nve(e,t,r){if(Ds(r)&&(Aw(r)||r.parameters.some(i=>!!Vy(i)))){if(!r.typeParameters){let o=t4(r);o.length&&e.insertTypeParameters(t,r,o)}let i=xs(r)&&!Yo(r,20,t);i&&e.insertNodeBefore(t,Vo(r.parameters),D.createToken(20));for(let o of r.parameters)if(!o.type){let s=Vy(o);s&&e.tryInsertTypeAnnotation(t,o,$e(s,Sb,bi))}if(i&&e.insertNodeAfter(t,To(r.parameters),D.createToken(21)),!r.type){let o=Aw(r);o&&e.tryInsertTypeAnnotation(t,r,$e(o,Sb,bi))}}else{let i=L.checkDefined(Vy(r),"A JSDocType for this declaration should exist");L.assert(!r.type,"The JSDocType decl should have a type"),e.tryInsertTypeAnnotation(t,r,$e(i,Sb,bi))}}function AFe(e){return Ds(e)||e.kind===257||e.kind===168||e.kind===169}function Sb(e){switch(e.kind){case 315:case 316:return D.createTypeReferenceNode("any",Je);case 319:return IFe(e);case 318:return Sb(e.type);case 317:return LFe(e);case 321:return kFe(e);case 320:return DFe(e);case 180:return RFe(e);case 325:return CFe(e);default:let t=xn(e,Sb,Bh);return Jn(t,1),t}}function CFe(e){let t=D.createTypeLiteralNode(on(e.jsDocPropertyTags,r=>D.createPropertySignature(void 0,Re(r.name)?r.name:r.name.right,zR(r)?D.createToken(57):void 0,r.typeExpression&&$e(r.typeExpression.type,Sb,bi)||D.createKeywordTypeNode(131))));return Jn(t,1),t}function IFe(e){return D.createUnionTypeNode([$e(e.type,Sb,bi),D.createTypeReferenceNode("undefined",Je)])}function LFe(e){return D.createUnionTypeNode([$e(e.type,Sb,bi),D.createTypeReferenceNode("null",Je)])}function kFe(e){return D.createArrayTypeNode($e(e.type,Sb,bi))}function DFe(e){var t;return D.createFunctionTypeNode(Je,e.parameters.map(wFe),(t=e.type)!=null?t:D.createKeywordTypeNode(131))}function wFe(e){let t=e.parent.parameters.indexOf(e),r=e.type.kind===321&&t===e.parent.parameters.length-1,i=e.name||(r?"rest":"arg"+t),o=r?D.createToken(25):e.dotDotDotToken;return D.createParameterDeclaration(e.modifiers,o,i,e.questionToken,$e(e.type,Sb,bi),e.initializer)}function RFe(e){let t=e.typeName,r=e.typeArguments;if(Re(e.typeName)){if(U6(e))return OFe(e);let i=e.typeName.text;switch(e.typeName.text){case"String":case"Boolean":case"Object":case"Number":i=i.toLowerCase();break;case"array":case"date":case"promise":i=i[0].toUpperCase()+i.slice(1);break}t=D.createIdentifier(i),(i==="Array"||i==="Promise")&&!e.typeArguments?r=D.createNodeArray([D.createTypeReferenceNode("any",Je)]):r=On(e.typeArguments,Sb,bi)}return D.createTypeReferenceNode(t,r)}function OFe(e){let t=D.createParameterDeclaration(void 0,void 0,e.typeArguments[0].kind===148?"n":"s",void 0,D.createTypeReferenceNode(e.typeArguments[0].kind===148?"number":"string",[]),void 0),r=D.createTypeLiteralNode([D.createIndexSignature(void 0,[t],e.typeArguments[1])]);return Jn(r,1),r}var N5,j$,NFe=gt({"src/services/codefixes/annotateWithTypeFromJSDoc.ts"(){"use strict";Fr(),Qa(),N5="annotateWithTypeFromJSDoc",j$=[_.JSDoc_types_may_be_moved_to_TypeScript_types.code],za({errorCodes:j$,getCodeActions(e){let t=wve(e.sourceFile,e.span.start);if(!t)return;let r=nr.ChangeTracker.with(e,i=>Nve(i,e.sourceFile,t));return[Ma(N5,r,_.Annotate_with_type_from_JSDoc,N5,_.Annotate_everything_with_types_from_JSDoc)]},fixIds:[N5],getAllCodeActions:e=>ns(e,j$,(t,r)=>{let i=wve(r.file,r.start);i&&Nve(t,r.file,i)})})}});function Pve(e,t,r,i,o,s){let l=i.getSymbolAtLocation(Vi(t,r));if(!l||!l.valueDeclaration||!(l.flags&19))return;let f=l.valueDeclaration;if(Jc(f)||ms(f))e.replaceNode(t,f,m(f));else if(wi(f)){let v=g(f);if(!v)return;let S=f.parent.parent;pu(f.parent)&&f.parent.declarations.length>1?(e.delete(t,f),e.insertNodeAfter(t,S,v)):e.replaceNode(t,S,v)}function d(v){let S=[];return v.exports&&v.exports.forEach(w=>{if(w.name==="prototype"&&w.declarations){let C=w.declarations[0];if(w.declarations.length===1&&br(C)&&ar(C.parent)&&C.parent.operatorToken.kind===63&&rs(C.parent.right)){let P=C.parent.right;A(P.symbol,void 0,S)}}else A(w,[D.createToken(124)],S)}),v.members&&v.members.forEach((w,C)=>{var P,F,B,q;if(C==="constructor"&&w.valueDeclaration){let W=(q=(B=(F=(P=v.exports)==null?void 0:P.get("prototype"))==null?void 0:F.declarations)==null?void 0:B[0])==null?void 0:q.parent;W&&ar(W)&&rs(W.right)&&vt(W.right.properties,M5)||e.delete(t,w.valueDeclaration.parent);return}A(w,void 0,S)}),S;function x(w,C){return Us(w)?br(w)&&M5(w)?!0:Ia(C):Ji(w.properties,P=>!!(Nc(P)||t6(P)||yl(P)&&ms(P.initializer)&&P.name||M5(P)))}function A(w,C,P){if(!(w.flags&8192)&&!(w.flags&4096))return;let F=w.valueDeclaration,B=F.parent,q=B.right;if(!x(F,q)||vt(P,$=>{let fe=sa($);return!!(fe&&Re(fe)&&vr(fe)===fc(w))}))return;let W=B.parent&&B.parent.kind===241?B.parent:B;if(e.delete(t,W),!q){P.push(D.createPropertyDeclaration(C,w.name,void 0,void 0,void 0));return}if(Us(F)&&(ms(q)||xs(q))){let $=J_(t,o),fe=PFe(F,s,$);fe&&Y(P,q,fe);return}else if(rs(q)){mn(q.properties,$=>{(Nc($)||t6($))&&P.push($),yl($)&&ms($.initializer)&&Y(P,$.initializer,$.name),M5($)});return}else{if(Cu(t)||!br(F))return;let $=D.createPropertyDeclaration(C,F.name,void 0,void 0,q);q2(B.parent,$,t),P.push($);return}function Y($,fe,Z){return ms(fe)?R($,fe,Z):ie($,fe,Z)}function R($,fe,Z){let U=Qi(C,P5(fe,132)),re=D.createMethodDeclaration(U,void 0,Z,void 0,void 0,fe.parameters,void 0,fe.body);q2(B,re,t),$.push(re)}function ie($,fe,Z){let U=fe.body,re;U.kind===238?re=U:re=D.createBlock([D.createReturnStatement(U)]);let le=Qi(C,P5(fe,132)),_e=D.createMethodDeclaration(le,void 0,Z,void 0,void 0,fe.parameters,void 0,re);q2(B,_e,t),$.push(_e)}}}function g(v){let S=v.initializer;if(!S||!ms(S)||!Re(v.name))return;let x=d(v.symbol);S.body&&x.unshift(D.createConstructorDeclaration(void 0,S.parameters,S.body));let A=P5(v.parent.parent,93);return D.createClassDeclaration(A,v.name,void 0,void 0,x)}function m(v){let S=d(l);v.body&&S.unshift(D.createConstructorDeclaration(void 0,v.parameters,v.body));let x=P5(v,93);return D.createClassDeclaration(x,v.name,void 0,void 0,S)}}function P5(e,t){return g_(e)?Pr(e.modifiers,r=>r.kind===t):void 0}function M5(e){return e.name?!!(Re(e.name)&&e.name.text==="constructor"):!1}function PFe(e,t,r){if(br(e))return e.name;let i=e.argumentExpression;if(Vf(i))return i;if(es(i))return i_(i.text,Do(t))?D.createIdentifier(i.text):IS(i)?D.createStringLiteral(i.text,r===0):i}var F5,H$,MFe=gt({"src/services/codefixes/convertFunctionToEs6Class.ts"(){"use strict";Fr(),Qa(),F5="convertFunctionToEs6Class",H$=[_.This_constructor_function_may_be_converted_to_a_class_declaration.code],za({errorCodes:H$,getCodeActions(e){let t=nr.ChangeTracker.with(e,r=>Pve(r,e.sourceFile,e.span.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions()));return[Ma(F5,t,_.Convert_function_to_an_ES2015_class,F5,_.Convert_all_constructor_functions_to_classes)]},fixIds:[F5],getAllCodeActions:e=>ns(e,H$,(t,r)=>Pve(t,r.file,r.start,e.program.getTypeChecker(),e.preferences,e.program.getCompilerOptions()))})}});function Mve(e,t,r,i){let o=Vi(t,r),s;if(Re(o)&&wi(o.parent)&&o.parent.initializer&&Ds(o.parent.initializer)?s=o.parent.initializer:s=zr(Xd(Vi(t,r)),e$),!s)return;let l=new Map,f=Yn(s),d=GFe(s,i),g=BFe(s,i,l);if(!QY(g,i))return;let m=g.body&&Va(g.body)?FFe(g.body,i):Je,v={checker:i,synthNamesMap:l,setOfExpressionsToReturn:d,isInJSFile:f};if(!m.length)return;let S=xo(t.text,yp(s).pos);e.insertModifierAt(t,S,132,{suffix:" "});for(let x of m)if(pa(x,function A(w){if(Pa(w)){let C=ox(w,w,v,!1);if(o1())return!0;e.replaceNodeWithNodes(t,x,C)}else if(!Ia(w)&&(pa(w,A),o1()))return!0}),o1())return}function FFe(e,t){let r=[];return vT(e,i=>{r5(i,t)&&r.push(i)}),r}function GFe(e,t){if(!e.body)return new Set;let r=new Set;return pa(e.body,function i(o){mk(o,t,"then")?(r.add(zo(o)),mn(o.arguments,i)):mk(o,t,"catch")||mk(o,t,"finally")?(r.add(zo(o)),pa(o,i)):Gve(o,t)?r.add(zo(o)):pa(o,i)}),r}function mk(e,t,r){if(!Pa(e))return!1;let o=kN(e,r)&&t.getTypeAtLocation(e);return!!(o&&t.getPromisedTypeOfPromise(o))}function Fve(e,t){return(Ur(e)&4)!==0&&e.target===t}function G5(e,t,r){if(e.expression.name.escapedText==="finally")return;let i=r.getTypeAtLocation(e.expression.expression);if(Fve(i,r.getPromiseType())||Fve(i,r.getPromiseLikeType()))if(e.expression.name.escapedText==="then"){if(t===Ig(e.arguments,0))return Ig(e.typeArguments,0);if(t===Ig(e.arguments,1))return Ig(e.typeArguments,1)}else return Ig(e.typeArguments,0)}function Gve(e,t){return ot(e)?!!t.getPromisedTypeOfPromise(t.getTypeAtLocation(e)):!1}function BFe(e,t,r){let i=new Map,o=Nf();return pa(e,function s(l){if(!Re(l)){pa(l,s);return}let f=t.getSymbolAtLocation(l);if(f){let d=t.getTypeAtLocation(l),g=Wve(d,t),m=$a(f).toString();if(g&&!ha(l.parent)&&!Ds(l.parent)&&!r.has(m)){let v=Sl(g.parameters),S=v?.valueDeclaration&&ha(v.valueDeclaration)&&zr(v.valueDeclaration.name,Re)||D.createUniqueName("result",16),x=Bve(S,o);r.set(m,x),o.add(S.text,f)}else if(l.parent&&(ha(l.parent)||wi(l.parent)||Wo(l.parent))){let v=l.text,S=o.get(v);if(S&&S.some(x=>x!==f)){let x=Bve(l,o);i.set(m,x.identifier),r.set(m,x),o.add(v,f)}else{let x=cc(l);r.set(m,$2(x)),o.add(v,f)}}}}),JN(e,!0,s=>{if(Wo(s)&&Re(s.name)&&cm(s.parent)){let l=t.getSymbolAtLocation(s.name),f=l&&i.get(String($a(l)));if(f&&f.text!==(s.name||s.propertyName).getText())return D.createBindingElement(s.dotDotDotToken,s.propertyName||s.name,f,s.initializer)}else if(Re(s)){let l=t.getSymbolAtLocation(s),f=l&&i.get(String($a(l)));if(f)return D.createIdentifier(f.text)}})}function Bve(e,t){let r=(t.get(e.text)||Je).length,i=r===0?e:D.createIdentifier(e.text+"_"+r);return $2(i)}function o1(){return!iP}function _v(){return iP=!1,Je}function ox(e,t,r,i,o){if(mk(t,r.checker,"then"))return jFe(t,Ig(t.arguments,0),Ig(t.arguments,1),r,i,o);if(mk(t,r.checker,"catch"))return jve(t,Ig(t.arguments,0),r,i,o);if(mk(t,r.checker,"finally"))return VFe(t,Ig(t.arguments,0),r,i,o);if(br(t))return ox(e,t.expression,r,i,o);let s=r.checker.getTypeAtLocation(t);return s&&r.checker.getPromisedTypeOfPromise(s)?(L.assertNode(ec(t).parent,br),HFe(e,t,r,i,o)):_v()}function B5({checker:e},t){if(t.kind===104)return!0;if(Re(t)&&!tc(t)&&vr(t)==="undefined"){let r=e.getSymbolAtLocation(t);return!r||e.isUndefinedSymbol(r)}return!1}function UFe(e){let t=D.createUniqueName(e.identifier.text,16);return $2(t)}function Uve(e,t,r){let i;return r&&!gk(e,t)&&(hk(r)?(i=r,t.synthNamesMap.forEach((o,s)=>{if(o.identifier.text===r.identifier.text){let l=UFe(r);t.synthNamesMap.set(s,l)}})):i=$2(D.createUniqueName("result",16),r.types),K$(i)),i}function Vve(e,t,r,i,o){let s=[],l;if(i&&!gk(e,t)){l=cc(K$(i));let f=i.types,d=t.checker.getUnionType(f,2),g=t.isInJSFile?void 0:t.checker.typeToTypeNode(d,void 0,void 0),m=[D.createVariableDeclaration(l,void 0,g)],v=D.createVariableStatement(void 0,D.createVariableDeclarationList(m,1));s.push(v)}return s.push(r),o&&l&&JFe(o)&&s.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(cc(qve(o)),void 0,void 0,l)],2))),s}function VFe(e,t,r,i,o){if(!t||B5(r,t))return ox(e,e.expression.expression,r,i,o);let s=Uve(e,r,o),l=ox(e,e.expression.expression,r,!0,s);if(o1())return _v();let f=z$(t,i,void 0,void 0,e,r);if(o1())return _v();let d=D.createBlock(l),g=D.createBlock(f),m=D.createTryStatement(d,void 0,g);return Vve(e,r,m,s,o)}function jve(e,t,r,i,o){if(!t||B5(r,t))return ox(e,e.expression.expression,r,i,o);let s=Jve(t,r),l=Uve(e,r,o),f=ox(e,e.expression.expression,r,!0,l);if(o1())return _v();let d=z$(t,i,l,s,e,r);if(o1())return _v();let g=D.createBlock(f),m=D.createCatchClause(s&&cc(rP(s)),D.createBlock(d)),v=D.createTryStatement(g,m,void 0);return Vve(e,r,v,l,o)}function jFe(e,t,r,i,o,s){if(!t||B5(i,t))return jve(e,r,i,o,s);if(r&&!B5(i,r))return _v();let l=Jve(t,i),f=ox(e.expression.expression,e.expression.expression,i,!0,l);if(o1())return _v();let d=z$(t,o,s,l,e,i);return o1()?_v():Qi(f,d)}function HFe(e,t,r,i,o){if(gk(e,r)){let s=cc(t);return i&&(s=D.createAwaitExpression(s)),[D.createReturnStatement(s)]}return U5(o,D.createAwaitExpression(t),void 0)}function U5(e,t,r){return!e||Kve(e)?[D.createExpressionStatement(t)]:hk(e)&&e.hasBeenDeclared?[D.createExpressionStatement(D.createAssignment(cc(J$(e)),t))]:[D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(cc(rP(e)),void 0,r,t)],2))]}function W$(e,t){if(t&&e){let r=D.createUniqueName("result",16);return[...U5($2(r),e,t),D.createReturnStatement(r)]}return[D.createReturnStatement(e)]}function z$(e,t,r,i,o,s){var l;switch(e.kind){case 104:break;case 208:case 79:if(!i)break;let f=D.createCallExpression(cc(e),void 0,hk(i)?[J$(i)]:[]);if(gk(o,s))return W$(f,G5(o,e,s.checker));let d=s.checker.getTypeAtLocation(e),g=s.checker.getSignaturesOfType(d,0);if(!g.length)return _v();let m=g[0].getReturnType(),v=U5(r,D.createAwaitExpression(f),G5(o,e,s.checker));return r&&r.types.push(s.checker.getAwaitedType(m)||m),v;case 215:case 216:{let S=e.body,x=(l=Wve(s.checker.getTypeAtLocation(e),s.checker))==null?void 0:l.getReturnType();if(Va(S)){let A=[],w=!1;for(let C of S.statements)if(j_(C))if(w=!0,r5(C,s.checker))A=A.concat(zve(s,C,t,r));else{let P=x&&C.expression?Hve(s.checker,x,C.expression):C.expression;A.push(...W$(P,G5(o,e,s.checker)))}else{if(t&&vT(C,h0))return _v();A.push(C)}return gk(o,s)?A.map(C=>cc(C)):WFe(A,r,s,w)}else{let A=ZY(S,s.checker)?zve(s,D.createReturnStatement(S),t,r):Je;if(A.length>0)return A;if(x){let w=Hve(s.checker,x,S);if(gk(o,s))return W$(w,G5(o,e,s.checker));{let C=U5(r,w,void 0);return r&&r.types.push(s.checker.getAwaitedType(x)||x),C}}else return _v()}}default:return _v()}return Je}function Hve(e,t,r){let i=cc(r);return e.getPromisedTypeOfPromise(t)?D.createAwaitExpression(i):i}function Wve(e,t){let r=t.getSignaturesOfType(e,0);return Os(r)}function WFe(e,t,r,i){let o=[];for(let s of e)if(j_(s)){if(s.expression){let l=Gve(s.expression,r.checker)?D.createAwaitExpression(s.expression):s.expression;t===void 0?o.push(D.createExpressionStatement(l)):hk(t)&&t.hasBeenDeclared?o.push(D.createExpressionStatement(D.createAssignment(J$(t),l))):o.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(rP(t),void 0,void 0,l)],2)))}}else o.push(cc(s));return!i&&t!==void 0&&o.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(rP(t),void 0,void 0,D.createIdentifier("undefined"))],2))),o}function zve(e,t,r,i){let o=[];return pa(t,function s(l){if(Pa(l)){let f=ox(l,l,e,r,i);if(o=o.concat(f),o.length>0)return}else Ia(l)||pa(l,s)}),o}function Jve(e,t){let r=[],i;if(Ds(e)){if(e.parameters.length>0){let d=e.parameters[0].name;i=o(d)}}else Re(e)?i=s(e):br(e)&&Re(e.name)&&(i=s(e.name));if(!i||"identifier"in i&&i.identifier.text==="undefined")return;return i;function o(d){if(Re(d))return s(d);let g=Uo(d.elements,m=>ol(m)?[]:[o(m.name)]);return zFe(d,g)}function s(d){let g=f(d),m=l(g);return m&&t.synthNamesMap.get($a(m).toString())||$2(d,r)}function l(d){var g,m;return(m=(g=zr(d,$p))==null?void 0:g.symbol)!=null?m:t.checker.getSymbolAtLocation(d)}function f(d){return d.original?d.original:d}}function Kve(e){return e?hk(e)?!e.identifier.text:Ji(e.elements,Kve):!0}function $2(e,t=[]){return{kind:0,identifier:e,types:t,hasBeenDeclared:!1,hasBeenReferenced:!1}}function zFe(e,t=Je,r=[]){return{kind:1,bindingPattern:e,elements:t,types:r}}function J$(e){return e.hasBeenReferenced=!0,e.identifier}function rP(e){return hk(e)?K$(e):qve(e)}function qve(e){for(let t of e.elements)rP(t);return e.bindingPattern}function K$(e){return e.hasBeenDeclared=!0,e.identifier}function hk(e){return e.kind===0}function JFe(e){return e.kind===1}function gk(e,t){return!!e.original&&t.setOfExpressionsToReturn.has(zo(e.original))}var V5,q$,iP,KFe=gt({"src/services/codefixes/convertToAsyncFunction.ts"(){"use strict";Fr(),Qa(),V5="convertToAsyncFunction",q$=[_.This_may_be_converted_to_an_async_function.code],iP=!0,za({errorCodes:q$,getCodeActions(e){iP=!0;let t=nr.ChangeTracker.with(e,r=>Mve(r,e.sourceFile,e.span.start,e.program.getTypeChecker()));return iP?[Ma(V5,t,_.Convert_to_async_function,V5,_.Convert_all_to_async_functions)]:[]},fixIds:[V5],getAllCodeActions:e=>ns(e,q$,(t,r)=>Mve(t,r.file,r.start,e.program.getTypeChecker()))})}});function qFe(e,t,r,i){for(let o of e.imports){let s=kA(e,o.text,W_(e,o));if(!s||s.resolvedFileName!==t.fileName)continue;let l=aR(o);switch(l.kind){case 268:r.replaceNode(e,l,Xg(l.name,void 0,o,i));break;case 210:qu(l,!1)&&r.replaceNode(e,l,D.createPropertyAccessExpression(cc(l),"default"));break}}}function XFe(e,t,r,i,o){let s={original:c7e(e),additional:new Set},l=YFe(e,t,s);$Fe(e,l,r);let f=!1,d;for(let g of Pr(e.statements,Bc)){let m=Yve(e,g,r,t,s,i,o);m&&Mw(m,d??(d=new Map))}for(let g of Pr(e.statements,m=>!Bc(m))){let m=QFe(e,g,t,r,s,i,l,d,o);f=f||m}return d?.forEach((g,m)=>{r.replaceNode(e,m,g)}),f}function YFe(e,t,r){let i=new Map;return Xve(e,o=>{let{text:s}=o.name;!i.has(s)&&(q6(o.name)||t.resolveName(s,o,111551,!0))&&i.set(s,j5(`_${s}`,r))}),i}function $Fe(e,t,r){Xve(e,(i,o)=>{if(o)return;let{text:s}=i.name;r.replaceNode(e,i,D.createIdentifier(t.get(s)||s))})}function Xve(e,t){e.forEachChild(function r(i){if(br(i)&&$0(e,i.expression)&&Re(i.name)){let{parent:o}=i;t(i,ar(o)&&o.left===i&&o.operatorToken.kind===63)}i.forEachChild(r)})}function QFe(e,t,r,i,o,s,l,f,d){switch(t.kind){case 240:return Yve(e,t,i,r,o,s,d),!1;case 241:{let{expression:g}=t;switch(g.kind){case 210:return qu(g,!0)&&i.replaceNode(e,t,Xg(void 0,void 0,g.arguments[0],d)),!1;case 223:{let{operatorToken:m}=g;return m.kind===63&&e7e(e,r,g,i,l,f)}}}default:return!1}}function Yve(e,t,r,i,o,s,l){let{declarationList:f}=t,d=!1,g=on(f.declarations,m=>{let{name:v,initializer:S}=m;if(S){if($0(e,S))return d=!0,Q2([]);if(qu(S,!0))return d=!0,o7e(v,S.arguments[0],i,o,s,l);if(br(S)&&qu(S.expression,!0))return d=!0,ZFe(v,S.name.text,S.expression.arguments[0],o,l)}return Q2([D.createVariableStatement(void 0,D.createVariableDeclarationList([m],f.flags))])});if(d){r.replaceNodeWithNodes(e,t,Uo(g,v=>v.newImports));let m;return mn(g,v=>{v.useSitesToUnqualify&&Mw(v.useSitesToUnqualify,m??(m=new Map))}),m}}function ZFe(e,t,r,i,o){switch(e.kind){case 203:case 204:{let s=j5(t,i);return Q2([ebe(s,t,r,o),H5(void 0,e,D.createIdentifier(s))])}case 79:return Q2([ebe(e.text,t,r,o)]);default:return L.assertNever(e,`Convert to ES module got invalid syntax form ${e.kind}`)}}function e7e(e,t,r,i,o,s){let{left:l,right:f}=r;if(!br(l))return!1;if($0(e,l))if($0(e,f))i.delete(e,r.parent);else{let d=rs(f)?t7e(f,s):qu(f,!0)?r7e(f.arguments[0],t):void 0;return d?(i.replaceNodeWithNodes(e,r.parent,d[0]),d[1]):(i.replaceRangeWithText(e,Gf(l.getStart(e),f.pos),"export default"),!0)}else $0(e,l.expression)&&n7e(e,r,i,o);return!1}function t7e(e,t){let r=NU(e.properties,i=>{switch(i.kind){case 174:case 175:case 300:case 301:return;case 299:return Re(i.name)?a7e(i.name.text,i.initializer,t):void 0;case 171:return Re(i.name)?Zve(i.name.text,[D.createToken(93)],i,t):void 0;default:L.assertNever(i,`Convert to ES6 got invalid prop kind ${i.kind}`)}});return r&&[r,!1]}function n7e(e,t,r,i){let{text:o}=t.left.name,s=i.get(o);if(s!==void 0){let l=[H5(void 0,s,t.right),$$([D.createExportSpecifier(!1,s,o)])];r.replaceNodeWithNodes(e,t.parent,l)}else i7e(t,e,r)}function r7e(e,t){let r=e.text,i=t.getSymbolAtLocation(e),o=i?i.exports:b8;return o.has("export=")?[[X$(r)],!0]:o.has("default")?o.size>1?[[$ve(r),X$(r)],!0]:[[X$(r)],!0]:[[$ve(r)],!1]}function $ve(e){return $$(void 0,e)}function X$(e){return $$([D.createExportSpecifier(!1,void 0,"default")],e)}function i7e({left:e,right:t,parent:r},i,o){let s=e.name.text;if((ms(t)||xs(t)||_u(t))&&(!t.name||t.name.text===s)){o.replaceRange(i,{pos:e.getStart(i),end:t.getStart(i)},D.createToken(93),{suffix:" "}),t.name||o.insertName(i,t,s);let l=Yo(r,26,i);l&&o.delete(i,l)}else o.replaceNodeRangeWithNodes(i,e.expression,Yo(e,24,i),[D.createToken(93),D.createToken(85)],{joiner:" ",suffix:" "})}function a7e(e,t,r){let i=[D.createToken(93)];switch(t.kind){case 215:{let{name:s}=t;if(s&&s.text!==e)return o()}case 216:return Zve(e,i,t,r);case 228:return u7e(e,i,t,r);default:return o()}function o(){return H5(i,D.createIdentifier(e),Y$(t,r))}}function Y$(e,t){if(!t||!vt(lo(t.keys()),i=>Od(e,i)))return e;return ba(e)?gY(e,!0,r):JN(e,!0,r);function r(i){if(i.kind===208){let o=t.get(i);return t.delete(i),o}}}function o7e(e,t,r,i,o,s){switch(e.kind){case 203:{let l=NU(e.elements,f=>f.dotDotDotToken||f.initializer||f.propertyName&&!Re(f.propertyName)||!Re(f.name)?void 0:tbe(f.propertyName&&f.propertyName.text,f.name.text));if(l)return Q2([Xg(void 0,l,t,s)])}case 204:{let l=j5(cQ(t.text,o),i);return Q2([Xg(D.createIdentifier(l),void 0,t,s),H5(void 0,cc(e),D.createIdentifier(l))])}case 79:return s7e(e,t,r,i,s);default:return L.assertNever(e,`Convert to ES module got invalid name kind ${e.kind}`)}}function s7e(e,t,r,i,o){let s=r.getSymbolAtLocation(e),l=new Map,f=!1,d;for(let m of i.original.get(e.text)){if(r.getSymbolAtLocation(m)!==s||m===e)continue;let{parent:v}=m;if(br(v)){let{name:{text:S}}=v;if(S==="default"){f=!0;let x=m.getText();(d??(d=new Map)).set(v,D.createIdentifier(x))}else{L.assert(v.expression===m,"Didn't expect expression === use");let x=l.get(S);x===void 0&&(x=j5(S,i),l.set(S,x)),(d??(d=new Map)).set(v,D.createIdentifier(x))}}else f=!0}let g=l.size===0?void 0:lo(RU(l.entries(),([m,v])=>D.createImportSpecifier(!1,m===v?void 0:D.createIdentifier(m),D.createIdentifier(v))));return g||(f=!0),Q2([Xg(f?cc(e):void 0,g,t,o)],d)}function j5(e,t){for(;t.original.has(e)||t.additional.has(e);)e=`_${e}`;return t.additional.add(e),e}function c7e(e){let t=Nf();return Qve(e,r=>t.add(r.text,r)),t}function Qve(e,t){Re(e)&&l7e(e)&&t(e),e.forEachChild(r=>Qve(r,t))}function l7e(e){let{parent:t}=e;switch(t.kind){case 208:return t.name!==e;case 205:return t.propertyName!==e;case 273:return t.propertyName!==e;default:return!0}}function Zve(e,t,r,i){return D.createFunctionDeclaration(Qi(t,oE(r.modifiers)),cc(r.asteriskToken),e,oE(r.typeParameters),oE(r.parameters),cc(r.type),D.converters.convertToFunctionBlock(Y$(r.body,i)))}function u7e(e,t,r,i){return D.createClassDeclaration(Qi(t,oE(r.modifiers)),e,oE(r.typeParameters),oE(r.heritageClauses),Y$(r.members,i))}function ebe(e,t,r,i){return t==="default"?Xg(D.createIdentifier(e),void 0,r,i):Xg(void 0,[tbe(t,e)],r,i)}function tbe(e,t){return D.createImportSpecifier(!1,e!==void 0&&e!==t?D.createIdentifier(e):void 0,D.createIdentifier(t))}function H5(e,t,r){return D.createVariableStatement(e,D.createVariableDeclarationList([D.createVariableDeclaration(t,void 0,void 0,r)],2))}function $$(e,t){return D.createExportDeclaration(void 0,!1,e&&D.createNamedExports(e),t===void 0?void 0:D.createStringLiteral(t))}function Q2(e,t){return{newImports:e,useSitesToUnqualify:t}}var d7e=gt({"src/services/codefixes/convertToEsModule.ts"(){"use strict";Fr(),Qa(),za({errorCodes:[_.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code],getCodeActions(e){let{sourceFile:t,program:r,preferences:i}=e,o=nr.ChangeTracker.with(e,s=>{if(XFe(t,r.getTypeChecker(),s,Do(r.getCompilerOptions()),J_(t,i)))for(let f of r.getSourceFiles())qFe(f,t,s,J_(f,i))});return[K_("convertToEsModule",o,_.Convert_to_ES_module)]}})}});function nbe(e,t){let r=jn(Vi(e,t),Yu);return L.assert(!!r,"Expected position to be owned by a qualified name."),Re(r.left)?r:void 0}function rbe(e,t,r){let i=r.right.text,o=D.createIndexedAccessTypeNode(D.createTypeReferenceNode(r.left,void 0),D.createLiteralTypeNode(D.createStringLiteral(i)));e.replaceNode(t,r,o)}var W5,Q$,f7e=gt({"src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts"(){"use strict";Fr(),Qa(),W5="correctQualifiedNameToIndexedAccessType",Q$=[_.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code],za({errorCodes:Q$,getCodeActions(e){let t=nbe(e.sourceFile,e.span.start);if(!t)return;let r=nr.ChangeTracker.with(e,o=>rbe(o,e.sourceFile,t)),i=`${t.left.text}["${t.right.text}"]`;return[Ma(W5,r,[_.Rewrite_as_the_indexed_access_type_0,i],W5,_.Rewrite_all_as_indexed_access_types)]},fixIds:[W5],getAllCodeActions:e=>ns(e,Q$,(t,r)=>{let i=nbe(r.file,r.start);i&&rbe(t,r.file,i)})})}});function ibe(e,t){return zr(Vi(t,e.start).parent,Mu)}function abe(e,t,r){if(!t)return;let i=t.parent,o=i.parent,s=_7e(t,r);if(s.length===i.elements.length)e.insertModifierBefore(r.sourceFile,154,i);else{let l=D.updateExportDeclaration(o,o.modifiers,!1,D.updateNamedExports(i,Pr(i.elements,d=>!ya(s,d))),o.moduleSpecifier,void 0),f=D.createExportDeclaration(void 0,!0,D.createNamedExports(s),o.moduleSpecifier,void 0);e.replaceNode(r.sourceFile,o,l,{leadingTriviaOption:nr.LeadingTriviaOption.IncludeAll,trailingTriviaOption:nr.TrailingTriviaOption.Exclude}),e.insertNodeAfter(r.sourceFile,o,f)}}function _7e(e,t){let r=e.parent;if(r.elements.length===1)return r.elements;let i=_ge(Du(r),t.program.getSemanticDiagnostics(t.sourceFile,t.cancellationToken));return Pr(r.elements,o=>{var s;return o===e||((s=fge(o,i))==null?void 0:s.code)===z5[0]})}var z5,J5,p7e=gt({"src/services/codefixes/convertToTypeOnlyExport.ts"(){"use strict";Fr(),Qa(),z5=[_.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code],J5="convertToTypeOnlyExport",za({errorCodes:z5,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>abe(i,ibe(t.span,t.sourceFile),t));if(r.length)return[Ma(J5,r,_.Convert_to_type_only_export,J5,_.Convert_all_re_exported_types_to_type_only_exports)]},fixIds:[J5],getAllCodeActions:function(t){let r=new Map;return ns(t,z5,(i,o)=>{let s=ibe(o,t.sourceFile);s&&V_(r,zo(s.parent.parent))&&abe(i,s,t)})}})}});function obe(e,t){let{parent:r}=Vi(e,t);return $u(r)||gl(r)&&r.importClause?r:void 0}function sbe(e,t,r){if($u(r))e.replaceNode(t,r,D.updateImportSpecifier(r,!0,r.propertyName,r.name));else{let i=r.importClause;if(i.name&&i.namedBindings)e.replaceNodeWithNodes(t,r,[D.createImportDeclaration(oE(r.modifiers,!0),D.createImportClause(!0,cc(i.name,!0),void 0),cc(r.moduleSpecifier,!0),cc(r.assertClause,!0)),D.createImportDeclaration(oE(r.modifiers,!0),D.createImportClause(!0,void 0,cc(i.namedBindings,!0)),cc(r.moduleSpecifier,!0),cc(r.assertClause,!0))]);else{let o=D.updateImportDeclaration(r,r.modifiers,D.updateImportClause(i,!0,i.name,i.namedBindings),r.moduleSpecifier,r.assertClause);e.replaceNode(t,r,o)}}}var Z$,K5,m7e=gt({"src/services/codefixes/convertToTypeOnlyImport.ts"(){"use strict";Fr(),Qa(),Z$=[_.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error.code,_._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code],K5="convertToTypeOnlyImport",za({errorCodes:Z$,getCodeActions:function(t){let r=obe(t.sourceFile,t.span.start);if(r){let i=nr.ChangeTracker.with(t,o=>sbe(o,t.sourceFile,r));return[Ma(K5,i,_.Convert_to_type_only_import,K5,_.Convert_all_imports_not_used_as_a_value_to_type_only_imports)]}},fixIds:[K5],getAllCodeActions:function(t){return ns(t,Z$,(r,i)=>{let o=obe(i.file,i.start);o&&sbe(r,i.file,o)})}})}});function cbe(e,t){let r=Vi(e,t);if(Re(r)){let i=Ga(r.parent.parent,$d),o=r.getText(e);return{container:Ga(i.parent,Rd),typeNode:i.type,constraint:o,name:o==="K"?"P":"K"}}}function lbe(e,t,{container:r,typeNode:i,constraint:o,name:s}){e.replaceNode(t,r,D.createMappedTypeNode(void 0,D.createTypeParameterDeclaration(void 0,s,D.createTypeReferenceNode(o)),void 0,void 0,i,void 0))}var q5,eQ,h7e=gt({"src/services/codefixes/convertLiteralTypeToMappedType.ts"(){"use strict";Fr(),Qa(),q5="convertLiteralTypeToMappedType",eQ=[_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code],za({errorCodes:eQ,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=cbe(r,i.start);if(!o)return;let{name:s,constraint:l}=o,f=nr.ChangeTracker.with(t,d=>lbe(d,r,o));return[Ma(q5,f,[_.Convert_0_to_1_in_0,l,s],q5,_.Convert_all_type_literals_to_mapped_type)]},fixIds:[q5],getAllCodeActions:e=>ns(e,eQ,(t,r)=>{let i=cbe(r.file,r.start);i&&lbe(t,r.file,i)})})}});function ube(e,t){return L.checkDefined(Zc(Vi(e,t)),"There should be a containing class")}function dbe(e){return!e.valueDeclaration||!(uu(e.valueDeclaration)&8)}function fbe(e,t,r,i,o,s){let l=e.program.getTypeChecker(),f=g7e(i,l),d=l.getTypeAtLocation(t),m=l.getPropertiesOfType(d).filter(g8(dbe,C=>!f.has(C.escapedName))),v=l.getTypeAtLocation(i),S=wr(i.members,C=>Ec(C));v.getNumberIndexType()||A(d,1),v.getStringIndexType()||A(d,0);let x=s1(r,e.program,s,e.host);oZ(i,m,r,e,s,x,C=>w(r,i,C)),x.writeFixes(o);function A(C,P){let F=l.getIndexInfoOfType(C,P);F&&w(r,i,l.indexInfoToIndexSignatureDeclaration(F,i,void 0,sx(e)))}function w(C,P,F){S?o.insertNodeAfter(C,S,F):o.insertMemberAtStart(C,P,F)}}function g7e(e,t){let r=hp(e);if(!r)return Ua();let i=t.getTypeAtLocation(r),o=t.getPropertiesOfType(i);return Ua(o.filter(dbe))}var tQ,X5,y7e=gt({"src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts"(){"use strict";Fr(),Qa(),tQ=[_.Class_0_incorrectly_implements_interface_1.code,_.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code],X5="fixClassIncorrectlyImplementsInterface",za({errorCodes:tQ,getCodeActions(e){let{sourceFile:t,span:r}=e,i=ube(t,r.start);return Zi(JA(i),o=>{let s=nr.ChangeTracker.with(e,l=>fbe(e,o,t,i,l,e.preferences));return s.length===0?void 0:Ma(X5,s,[_.Implement_interface_0,o.getText(t)],X5,_.Implement_all_unimplemented_interfaces)})},fixIds:[X5],getAllCodeActions(e){let t=new Map;return ns(e,tQ,(r,i)=>{let o=ube(i.file,i.start);if(V_(t,zo(o)))for(let s of JA(o))fbe(e,s,i.file,o,r,e.preferences)})}})}});function s1(e,t,r,i,o){return _be(e,t,!1,r,i,o)}function _be(e,t,r,i,o,s){let l=t.getCompilerOptions(),f=[],d=[],g=new Map,m=new Map;return{addImportFromDiagnostic:v,addImportFromExportedSymbol:S,writeFixes:A,hasFixes:w};function v(C,P){let F=vbe(P,C.code,C.start,r);!F||!F.length||x(Vo(F))}function S(C,P){let F=L.checkDefined(C.parent),B=j7(C,Do(l)),q=t.getTypeChecker(),W=q.getMergedSymbol(wd(C,q)),Y=hbe(e,W,B,F,!1,t,o,i,s),R=$5(e,t),ie=pbe(e,L.checkDefined(Y),t,void 0,!!P,R,o,i);ie&&x({fix:ie,symbolName:B,errorIdentifierText:void 0})}function x(C){var P,F;let{fix:B,symbolName:q}=C;switch(B.kind){case 0:f.push(B);break;case 1:d.push(B);break;case 2:{let{importClauseOrBindingPattern:ie,importKind:$,addAsTypeOnly:fe}=B,Z=String(zo(ie)),U=g.get(Z);if(U||g.set(Z,U={importClauseOrBindingPattern:ie,defaultImport:void 0,namedImports:new Map}),$===0){let re=U?.namedImports.get(q);U.namedImports.set(q,W(re,fe))}else L.assert(U.defaultImport===void 0||U.defaultImport.name===q,"(Add to Existing) Default import should be missing or match symbolName"),U.defaultImport={name:q,addAsTypeOnly:W((P=U.defaultImport)==null?void 0:P.addAsTypeOnly,fe)};break}case 3:{let{moduleSpecifier:ie,importKind:$,useRequire:fe,addAsTypeOnly:Z}=B,U=Y(ie,$,fe,Z);switch(L.assert(U.useRequire===fe,"(Add new) Tried to add an `import` and a `require` for the same module"),$){case 1:L.assert(U.defaultImport===void 0||U.defaultImport.name===q,"(Add new) Default import should be missing or match symbolName"),U.defaultImport={name:q,addAsTypeOnly:W((F=U.defaultImport)==null?void 0:F.addAsTypeOnly,Z)};break;case 0:let re=(U.namedImports||(U.namedImports=new Map)).get(q);U.namedImports.set(q,W(re,Z));break;case 3:case 2:L.assert(U.namespaceLikeImport===void 0||U.namespaceLikeImport.name===q,"Namespacelike import shoudl be missing or match symbolName"),U.namespaceLikeImport={importKind:$,name:q,addAsTypeOnly:Z};break}break}case 4:break;default:L.assertNever(B,`fix wasn't never - got kind ${B.kind}`)}function W(ie,$){return Math.max(ie??0,$)}function Y(ie,$,fe,Z){let U=R(ie,!0),re=R(ie,!1),le=m.get(U),_e=m.get(re),ge={defaultImport:void 0,namedImports:void 0,namespaceLikeImport:void 0,useRequire:fe};return $===1&&Z===2?le||(m.set(U,ge),ge):Z===1&&(le||_e)?le||_e:_e||(m.set(re,ge),ge)}function R(ie,$){return`${$?1:0}|${ie}`}}function A(C){let P=J_(e,i);for(let B of f)oQ(C,e,B);for(let B of d)Cbe(C,e,B,P);g.forEach(({importClauseOrBindingPattern:B,defaultImport:q,namedImports:W})=>{Abe(C,e,B,q,lo(W.entries(),([Y,R])=>({addAsTypeOnly:R,name:Y})),l,i)});let F;m.forEach(({useRequire:B,defaultImport:q,namedImports:W,namespaceLikeImport:Y},R)=>{let ie=R.slice(2),fe=(B?kbe:Lbe)(ie,P,q,W&&lo(W.entries(),([Z,U])=>({addAsTypeOnly:U,name:Z})),Y,l);F=_A(F,fe)}),F&&L7(C,e,F,!0,i)}function w(){return f.length>0||d.length>0||g.size>0||m.size>0}}function v7e(e,t,r,i){let o=uk(e,i,r),s=gbe(t.getTypeChecker(),e,t.getCompilerOptions());return{getModuleSpecifierForBestExportInfo:l};function l(f,d,g,m){let{fixes:v,computedWithoutCacheCount:S}=Y5(f,d,g,!1,t,e,r,i,s,m),x=bbe(v,e,t,o,r);return x&&{...x,computedWithoutCacheCount:S}}}function b7e(e,t,r,i,o,s,l,f,d,g,m,v){let S=f.getCompilerOptions(),x;r?(x=YN(i,l,f,m,v).get(i.path,r),L.assertIsDefined(x,"Some exportInfo should match the specified exportMapKey")):(x=cj(u_(t.name))?[T7e(e,o,t,f,l)]:hbe(i,e,o,t,s,f,l,m,v),L.assertIsDefined(x,"Some exportInfo should match the specified symbol / moduleSymbol"));let A=$5(i,f),w=TS(Vi(i,g)),C=L.checkDefined(pbe(i,x,f,g,w,A,l,m));return{moduleSpecifier:C.moduleSpecifier,codeAction:mbe(aQ({host:l,formatContext:d,preferences:m},i,o,C,!1,S,m))}}function E7e(e,t,r,i,o,s){let l=r.getCompilerOptions(),f=BU(iQ(e,r.getTypeChecker(),t,l)),d=Sbe(e,t,f,r),g=f!==t.text;return d&&mbe(aQ({host:i,formatContext:o,preferences:s},e,f,d,g,l,s))}function pbe(e,t,r,i,o,s,l,f){let d=uk(e,f,l);return bbe(Y5(t,i,o,s,r,e,l,f).fixes,e,r,d,l)}function mbe({description:e,changes:t,commands:r}){return{description:e,changes:t,commands:r}}function hbe(e,t,r,i,o,s,l,f,d){let g=ybe(s,l);return YN(e,l,s,f,d).search(e.path,o,m=>m===r,m=>{if(wd(m[0].symbol,g(m[0].isFromPackageJson))===t&&m.some(v=>v.moduleSymbol===i||v.symbol.parent===i))return m})}function T7e(e,t,r,i,o){var s,l;let f=i.getCompilerOptions(),d=m(i.getTypeChecker(),!1);if(d)return d;let g=(l=(s=o.getPackageJsonAutoImportProvider)==null?void 0:s.call(o))==null?void 0:l.getTypeChecker();return L.checkDefined(g&&m(g,!0),"Could not find symbol in specified module for code actions");function m(v,S){let x=Y7(r,v,f);if(x&&wd(x.symbol,v)===e)return{symbol:x.symbol,moduleSymbol:r,moduleFileName:void 0,exportKind:x.exportKind,targetFlags:wd(e,v).flags,isFromPackageJson:S};let A=v.tryGetMemberInModuleExportsAndProperties(t,r);if(A&&wd(A,v)===e)return{symbol:A,moduleSymbol:r,moduleFileName:void 0,exportKind:0,targetFlags:wd(e,v).flags,isFromPackageJson:S}}}function Y5(e,t,r,i,o,s,l,f,d=gbe(o.getTypeChecker(),s,o.getCompilerOptions()),g){let m=o.getTypeChecker(),v=Uo(e,d.getImportsForExportInfo),S=t!==void 0&&S7e(v,t),x=A7e(v,r,m,o.getCompilerOptions());if(x)return{computedWithoutCacheCount:0,fixes:[...S?[S]:Je,x]};let{fixes:A,computedWithoutCacheCount:w=0}=I7e(e,v,o,s,t,r,i,l,f,g);return{computedWithoutCacheCount:w,fixes:[...S?[S]:Je,...A]}}function S7e(e,t){return ks(e,({declaration:r,importKind:i})=>{var o;if(i!==0)return;let s=x7e(r),l=s&&((o=iR(r))==null?void 0:o.text);if(l)return{kind:0,namespacePrefix:s,usagePosition:t,moduleSpecifier:l}})}function x7e(e){var t,r,i;switch(e.kind){case 257:return(t=zr(e.name,Re))==null?void 0:t.text;case 268:return e.name.text;case 269:return(i=zr((r=e.importClause)==null?void 0:r.namedBindings,nv))==null?void 0:i.name.text;default:return L.assertNever(e)}}function nQ(e,t,r,i,o,s){return e?t&&s.importsNotUsedAsValues===2||u4(s)&&(!(i&111551)||o.getTypeOnlyAliasDeclaration(r))?2:1:4}function A7e(e,t,r,i){return ks(e,({declaration:o,importKind:s,symbol:l,targetFlags:f})=>{if(s===3||s===2||o.kind===268)return;if(o.kind===257)return(s===0||s===1)&&o.name.kind===203?{kind:2,importClauseOrBindingPattern:o.name,importKind:s,moduleSpecifier:o.initializer.arguments[0].text,addAsTypeOnly:4}:void 0;let{importClause:d}=o;if(!d||!es(o.moduleSpecifier))return;let{name:g,namedBindings:m}=d;if(d.isTypeOnly&&!(s===0&&m))return;let v=nQ(t,!1,l,f,r,i);if(!(s===1&&(g||v===2&&m))&&!(s===0&&m?.kind===271))return{kind:2,importClauseOrBindingPattern:d,importKind:s,moduleSpecifier:o.moduleSpecifier.text,addAsTypeOnly:v}})}function gbe(e,t,r){let i;for(let o of t.imports){let s=aR(o);if(kH(s.parent)){let l=e.resolveExternalModuleName(o);l&&(i||(i=Nf())).add($a(l),s.parent)}else if(s.kind===269||s.kind===268){let l=e.getSymbolAtLocation(o);l&&(i||(i=Nf())).add($a(l),s)}}return{getImportsForExportInfo:({moduleSymbol:o,exportKind:s,targetFlags:l,symbol:f})=>{if(!(l&111551)&&Cu(t))return Je;let d=i?.get($a(o));if(!d)return Je;let g=rQ(t,s,r);return d.map(m=>({declaration:m,importKind:g,symbol:f,targetFlags:l}))}}}function $5(e,t){if(!Cu(e))return!1;if(e.commonJsModuleIndicator&&!e.externalModuleIndicator)return!0;if(e.externalModuleIndicator&&!e.commonJsModuleIndicator)return!1;let r=t.getCompilerOptions();if(r.configFile)return Rl(r)<5;for(let i of t.getSourceFiles())if(!(i===e||!Cu(i)||t.isSourceFileFromExternalLibrary(i))){if(i.commonJsModuleIndicator&&!i.externalModuleIndicator)return!0;if(i.externalModuleIndicator&&!i.commonJsModuleIndicator)return!1}return!0}function ybe(e,t){return Jp(r=>r?t.getPackageJsonAutoImportProvider().getTypeChecker():e.getTypeChecker())}function C7e(e,t,r,i,o,s,l,f,d){let g=Cu(t),m=e.getCompilerOptions(),v=$S(e,l),S=ybe(e,l),x=$s(m),A=T7(x),w=d?F=>({moduleSpecifiers:Q0.tryGetModuleSpecifiersFromCache(F,t,v,f),computedWithoutCache:!1}):(F,B)=>Q0.getModuleSpecifiersWithCacheInfo(F,B,m,t,v,f),C=0,P=Uo(s,(F,B)=>{let q=S(F.isFromPackageJson),{computedWithoutCache:W,moduleSpecifiers:Y}=w(F.moduleSymbol,q),R=!!(F.targetFlags&111551),ie=nQ(i,!0,F.symbol,F.targetFlags,q,m);return C+=W?1:0,Zi(Y,$=>{var fe;if(A&&JS($))return;if(!R&&g&&r!==void 0)return{kind:1,moduleSpecifier:$,usagePosition:r,exportInfo:F,isReExport:B>0};let Z=rQ(t,F.exportKind,m),U;if(r!==void 0&&Z===3&&F.exportKind===0){let re=q.resolveExternalModuleSymbol(F.moduleSymbol),le;re!==F.moduleSymbol&&(le=(fe=$7(re,q,m))==null?void 0:fe.name),le||(le=sQ(F.moduleSymbol,Do(m),!1)),U={namespacePrefix:le,usagePosition:r}}return{kind:3,moduleSpecifier:$,importKind:Z,useRequire:o,addAsTypeOnly:ie,exportInfo:F,isReExport:B>0,qualification:U}})});return{computedWithoutCacheCount:C,fixes:P}}function I7e(e,t,r,i,o,s,l,f,d,g){let m=ks(t,v=>L7e(v,s,l,r.getTypeChecker(),r.getCompilerOptions()));return m?{fixes:[m]}:C7e(r,i,o,s,l,e,f,d,g)}function L7e({declaration:e,importKind:t,symbol:r,targetFlags:i},o,s,l,f){var d;let g=(d=iR(e))==null?void 0:d.text;if(g){let m=s?4:nQ(o,!0,r,i,l,f);return{kind:3,moduleSpecifier:g,importKind:t,addAsTypeOnly:m,useRequire:s}}}function vbe(e,t,r,i){let o=Vi(e.sourceFile,r),s;if(t===_._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code)s=R7e(e,o);else if(Re(o))if(t===_._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code){let f=BU(iQ(e.sourceFile,e.program.getTypeChecker(),o,e.program.getCompilerOptions())),d=Sbe(e.sourceFile,o,f,e.program);return d&&[{fix:d,symbolName:f,errorIdentifierText:o.text}]}else s=P7e(e,o,i);else return;let l=uk(e.sourceFile,e.preferences,e.host);return s&&k7e(s,e.sourceFile,e.program,l,e.host)}function k7e(e,t,r,i,o){let s=l=>Ts(l,o.getCurrentDirectory(),lb(o));return XC(e,(l,f)=>g0(!!l.isJsxNamespaceFix,!!f.isJsxNamespaceFix)||Es(l.fix.kind,f.fix.kind)||Ebe(l.fix,f.fix,t,r,i.allowsImportingSpecifier,s))}function bbe(e,t,r,i,o){if(vt(e))return e[0].kind===0||e[0].kind===2?e[0]:e.reduce((s,l)=>Ebe(l,s,t,r,i.allowsImportingSpecifier,f=>Ts(f,o.getCurrentDirectory(),lb(o)))===-1?l:s)}function Ebe(e,t,r,i,o,s){return e.kind!==0&&t.kind!==0?g0(o(t.moduleSpecifier),o(e.moduleSpecifier))||w7e(e.moduleSpecifier,t.moduleSpecifier,r,i)||g0(Tbe(e,r,i.getCompilerOptions(),s),Tbe(t,r,i.getCompilerOptions(),s))||BR(e.moduleSpecifier,t.moduleSpecifier):0}function Tbe(e,t,r,i){var o;if(e.isReExport&&((o=e.exportInfo)!=null&&o.moduleFileName)&&$s(r)===2&&D7e(e.exportInfo.moduleFileName)){let s=i(ni(e.exportInfo.moduleFileName));return na(t.path,s)}return!1}function D7e(e){return Hl(e,[".js",".jsx",".d.ts",".ts",".tsx"],!0)==="index"}function w7e(e,t,r,i){return na(e,"node:")&&!na(t,"node:")?W7(r,i)?-1:1:na(t,"node:")&&!na(e,"node:")?W7(r,i)?1:-1:0}function R7e({sourceFile:e,program:t,host:r,preferences:i},o){let s=t.getTypeChecker(),l=O7e(o,s);if(!l)return;let f=s.getAliasedSymbol(l),d=l.name,g=[{symbol:l,moduleSymbol:f,moduleFileName:void 0,exportKind:3,targetFlags:f.flags,isFromPackageJson:!1}],m=$5(e,t);return Y5(g,void 0,!1,m,t,e,r,i).fixes.map(S=>{var x;return{fix:S,symbolName:d,errorIdentifierText:(x=zr(o,Re))==null?void 0:x.text}})}function O7e(e,t){let r=Re(e)?t.getSymbolAtLocation(e):void 0;if(o4(r))return r;let{parent:i}=e;if(Au(i)&&i.tagName===e||US(i)){let o=t.resolveName(t.getJsxNamespace(i),Au(i)?e:i,111551,!1);if(o4(o))return o}}function rQ(e,t,r,i){if(r.verbatimModuleSyntax&&(Rl(r)===1||e.impliedNodeFormat===1))return 3;switch(t){case 0:return 0;case 1:return 1;case 2:return G7e(e,r,!!i);case 3:return N7e(e,r,!!i);default:return L.assertNever(t)}}function N7e(e,t,r){if(wT(t))return 1;let i=Rl(t);switch(i){case 2:case 1:case 3:return Yn(e)&&(Lc(e)||r)?2:3;case 4:case 5:case 6:case 7:case 99:case 0:return 2;case 100:case 199:return e.impliedNodeFormat===99?2:3;default:return L.assertNever(i,`Unexpected moduleKind ${i}`)}}function P7e({sourceFile:e,program:t,cancellationToken:r,host:i,preferences:o},s,l){let f=t.getTypeChecker(),d=t.getCompilerOptions();return Uo(iQ(e,f,s,d),g=>{if(g==="default")return;let m=TS(s),v=$5(e,t),S=F7e(g,DI(s),ZT(s),r,e,t,l,i,o);return lo(OU(S.values(),x=>Y5(x,s.getStart(e),m,v,t,e,i,o).fixes),x=>({fix:x,symbolName:g,errorIdentifierText:s.text,isJsxNamespaceFix:g!==s.text}))})}function Sbe(e,t,r,i){let o=i.getTypeChecker(),s=o.resolveName(r,t,111551,!0);if(!s)return;let l=o.getTypeOnlyAliasDeclaration(s);if(!(!l||Gn(l)!==e))return{kind:4,typeOnlyAliasDeclaration:l}}function iQ(e,t,r,i){let o=r.parent;if((Au(o)||GS(o))&&o.tagName===r&&wY(i.jsx)){let s=t.getJsxNamespace(e);if(M7e(s,r,t))return!GI(r.text)&&!t.resolveName(r.text,r,111551,!1)?[r.text,s]:[s]}return[r.text]}function M7e(e,t,r){if(GI(t.text))return!0;let i=r.resolveName(e,t,111551,!0);return!i||vt(i.declarations,I0)&&!(i.flags&111551)}function F7e(e,t,r,i,o,s,l,f,d){var g;let m=Nf(),v=uk(o,d,f),S=(g=f.getModuleSpecifierCache)==null?void 0:g.call(f),x=Jp(w=>$S(w?f.getPackageJsonAutoImportProvider():s,f));function A(w,C,P,F,B,q){let W=x(q);if(C&&PY(B,o,C,d,v,W,S)||!C&&v.allowsImportingAmbientModule(w,W)){let Y=B.getTypeChecker();m.add(tge(P,Y).toString(),{symbol:P,moduleSymbol:w,moduleFileName:C?.fileName,exportKind:F,targetFlags:wd(P,Y).flags,isFromPackageJson:q})}}return MY(s,f,d,l,(w,C,P,F)=>{let B=P.getTypeChecker();i.throwIfCancellationRequested();let q=P.getCompilerOptions(),W=Y7(w,B,q);W&&(W.name===e||sQ(w,Do(q),t)===e)&&wbe(W.resolvedSymbol,r)&&A(w,C,W.symbol,W.exportKind,P,F);let Y=B.tryGetMemberInModuleExportsAndProperties(e,w);Y&&wbe(Y,r)&&A(w,C,Y,0,P,F)}),m}function G7e(e,t,r){let i=wT(t),o=Yn(e);if(!o&&Rl(t)>=5)return i?1:2;if(o)return Lc(e)||r?i?1:2:3;for(let s of e.statements)if(Nl(s)&&!rc(s.moduleReference))return 3;return i?1:3}function aQ(e,t,r,i,o,s,l){let f,d=nr.ChangeTracker.with(e,g=>{f=B7e(g,t,r,i,o,s,l)});return Ma(lQ,d,f,uQ,_.Add_all_missing_imports)}function B7e(e,t,r,i,o,s,l){let f=J_(t,l);switch(i.kind){case 0:return oQ(e,t,i),[_.Change_0_to_1,r,`${i.namespacePrefix}.${r}`];case 1:return Cbe(e,t,i,f),[_.Change_0_to_1,r,Ibe(i.moduleSpecifier,f)+r];case 2:{let{importClauseOrBindingPattern:d,importKind:g,addAsTypeOnly:m,moduleSpecifier:v}=i;Abe(e,t,d,g===1?{name:r,addAsTypeOnly:m}:void 0,g===0?[{name:r,addAsTypeOnly:m}]:Je,s,l);let S=u_(v);return o?[_.Import_0_from_1,r,S]:[_.Update_import_from_0,S]}case 3:{let{importKind:d,moduleSpecifier:g,addAsTypeOnly:m,useRequire:v,qualification:S}=i,x=v?kbe:Lbe,A=d===1?{name:r,addAsTypeOnly:m}:void 0,w=d===0?[{name:r,addAsTypeOnly:m}]:void 0,C=d===2||d===3?{importKind:d,name:S?.namespacePrefix||r,addAsTypeOnly:m}:void 0;return L7(e,t,x(g,f,A,w,C,s),!0,l),S&&oQ(e,t,S),o?[_.Import_0_from_1,r,g]:[_.Add_import_from_0,g]}case 4:{let{typeOnlyAliasDeclaration:d}=i,g=U7e(e,d,s,t,l);return g.kind===273?[_.Remove_type_from_import_of_0_from_1,r,xbe(g.parent.parent)]:[_.Remove_type_from_import_declaration_from_0,xbe(g)]}default:return L.assertNever(i,`Unexpected fix kind ${i.kind}`)}}function xbe(e){var t,r;return e.kind===268?((r=zr((t=zr(e.moduleReference,um))==null?void 0:t.expression,es))==null?void 0:r.text)||e.moduleReference.getText():Ga(e.parent.moduleSpecifier,yo).text}function U7e(e,t,r,i,o){let s=u4(r);switch(t.kind){case 273:if(t.isTypeOnly){let f=b_.detectImportSpecifierSorting(t.parent.elements,o);if(t.parent.elements.length>1&&f){e.delete(i,t);let d=D.updateImportSpecifier(t,!1,t.propertyName,t.name),g=b_.getOrganizeImportsComparer(o,f===2),m=b_.getImportSpecifierInsertionIndex(t.parent.elements,d,g);e.insertImportSpecifierAtIndex(i,d,t.parent,m)}else e.deleteRange(i,t.getFirstToken());return t}else return L.assert(t.parent.parent.isTypeOnly),l(t.parent.parent),t.parent.parent;case 270:return l(t),t;case 271:return l(t.parent),t.parent;case 268:return e.deleteRange(i,t.getChildAt(1)),t;default:L.failBadSyntaxKind(t)}function l(f){if(e.delete(i,cY(f,i)),s){let d=zr(f.namedBindings,jg);if(d&&d.elements.length>1){b_.detectImportSpecifierSorting(d.elements,o)&&t.kind===273&&d.elements.indexOf(t)!==0&&(e.delete(i,t),e.insertImportSpecifierAtIndex(i,t,d,0));for(let g of d.elements)g!==t&&!g.isTypeOnly&&e.insertModifierBefore(i,154,g)}}}}function Abe(e,t,r,i,o,s,l){var f;if(r.kind===203){i&&v(r,i.name,"default");for(let S of o)v(r,S.name,void 0);return}let d=r.isTypeOnly&&vt([i,...o],S=>S?.addAsTypeOnly===4),g=r.namedBindings&&((f=zr(r.namedBindings,jg))==null?void 0:f.elements),m=d&&u4(s);if(i&&(L.assert(!r.name,"Cannot add a default import to an import clause that already has one"),e.insertNodeAt(t,r.getStart(t),D.createIdentifier(i.name),{suffix:", "})),o.length){let S;if(typeof l.organizeImportsIgnoreCase=="boolean")S=l.organizeImportsIgnoreCase;else if(g){let C=b_.detectImportSpecifierSorting(g,l);C!==3&&(S=C===2)}S===void 0&&(S=b_.detectSorting(t,l)===2);let x=b_.getOrganizeImportsComparer(l,S),A=Ag(o.map(C=>D.createImportSpecifier((!r.isTypeOnly||d)&&aP(C),void 0,D.createIdentifier(C.name))),(C,P)=>b_.compareImportOrExportSpecifiers(C,P,x)),w=g?.length&&b_.detectImportSpecifierSorting(g,l);if(w&&!(S&&w===1))for(let C of A){let P=m&&!C.isTypeOnly?0:b_.getImportSpecifierInsertionIndex(g,C,x);e.insertImportSpecifierAtIndex(t,C,r.namedBindings,P)}else if(g?.length)for(let C of A)e.insertNodeInListAfter(t,To(g),C,g);else if(A.length){let C=D.createNamedImports(A);r.namedBindings?e.replaceNode(t,r.namedBindings,C):e.insertNodeAfter(t,L.checkDefined(r.name,"Import clause must have either named imports or a default import"),C)}}if(d&&(e.delete(t,cY(r,t)),m&&g))for(let S of g)e.insertModifierBefore(t,154,S);function v(S,x,A){let w=D.createBindingElement(void 0,A,x);S.elements.length?e.insertNodeInListAfter(t,To(S.elements),w):e.replaceNode(t,S,D.createObjectBindingPattern([w]))}}function oQ(e,t,{namespacePrefix:r,usagePosition:i}){e.insertText(t,i,r+".")}function Cbe(e,t,{moduleSpecifier:r,usagePosition:i},o){e.insertText(t,i,Ibe(r,o))}function Ibe(e,t){let r=Hhe(t);return`import(${r}${e}${r}).`}function aP({addAsTypeOnly:e}){return e===2}function Lbe(e,t,r,i,o,s){let l=S7(e,t),f;if(r!==void 0||i?.length){let d=(!r||aP(r))&&Ji(i,aP)||s.verbatimModuleSyntax&&r?.addAsTypeOnly!==4&&!vt(i,g=>g.addAsTypeOnly===4);f=_A(f,Xg(r&&D.createIdentifier(r.name),i?.map(({addAsTypeOnly:g,name:m})=>D.createImportSpecifier(!d&&g===2,void 0,D.createIdentifier(m))),e,t,d))}if(o){let d=o.importKind===3?D.createImportEqualsDeclaration(void 0,aP(o),D.createIdentifier(o.name),D.createExternalModuleReference(l)):D.createImportDeclaration(void 0,D.createImportClause(aP(o),void 0,D.createNamespaceImport(D.createIdentifier(o.name))),l,void 0);f=_A(f,d)}return L.checkDefined(f)}function kbe(e,t,r,i,o){let s=S7(e,t),l;if(r||i?.length){let f=i?.map(({name:g})=>D.createBindingElement(void 0,void 0,g))||[];r&&f.unshift(D.createBindingElement(void 0,"default",r.name));let d=Dbe(D.createObjectBindingPattern(f),s);l=_A(l,d)}if(o){let f=Dbe(o.name,s);l=_A(l,f)}return L.checkDefined(l)}function Dbe(e,t){return D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(typeof e=="string"?D.createIdentifier(e):e,void 0,void 0,D.createCallExpression(D.createIdentifier("require"),void 0,[t]))],2))}function wbe({declarations:e},t){return vt(e,r=>!!(LN(r)&t))}function sQ(e,t,r){return cQ(ld(u_(e.name)),t,r)}function cQ(e,t,r){let i=Hl(pA(e,"/index")),o="",s=!0,l=i.charCodeAt(0);Pm(l,t)?(o+=String.fromCharCode(l),r&&(o=o.toUpperCase())):s=!1;for(let f=1;f<i.length;f++){let d=i.charCodeAt(f),g=tb(d,t);if(g){let m=String.fromCharCode(d);s||(m=m.toUpperCase()),o+=m}s=g}return fS(o)?`_${o}`:o||"_"}var lQ,uQ,dQ,V7e=gt({"src/services/codefixes/importFixes.ts"(){"use strict";Fr(),Qa(),lQ="import",uQ="fixMissingImport",dQ=[_.Cannot_find_name_0.code,_.Cannot_find_name_0_Did_you_mean_1.code,_.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,_.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,_.Cannot_find_namespace_0.code,_._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code,_._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code,_.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code,_._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code],za({errorCodes:dQ,getCodeActions(e){let{errorCode:t,preferences:r,sourceFile:i,span:o,program:s}=e,l=vbe(e,t,o.start,!0);if(l)return l.map(({fix:f,symbolName:d,errorIdentifierText:g})=>aQ(e,i,d,f,d!==g,s.getCompilerOptions(),r))},fixIds:[uQ],getAllCodeActions:e=>{let{sourceFile:t,program:r,preferences:i,host:o,cancellationToken:s}=e,l=_be(t,r,!0,i,o,s);return ax(e,dQ,f=>l.addImportFromDiagnostic(f,e)),ix(nr.ChangeTracker.with(e,l.writeFixes))}})}});function Rbe(e,t,r){let i=wr(e.getSemanticDiagnostics(t),l=>l.start===r.start&&l.length===r.length);if(i===void 0||i.relatedInformation===void 0)return;let o=wr(i.relatedInformation,l=>l.code===_.This_type_parameter_might_need_an_extends_0_constraint.code);if(o===void 0||o.file===void 0||o.start===void 0||o.length===void 0)return;let s=_Z(o.file,il(o.start,o.length));if(s!==void 0&&(Re(s)&&_c(s.parent)&&(s=s.parent),_c(s))){if(EL(s.parent))return;let l=Vi(t,r.start),f=e.getTypeChecker();return{constraint:H7e(f,l)||j7e(o.messageText),declaration:s,token:l}}}function Obe(e,t,r,i,o,s){let{declaration:l,constraint:f}=s,d=t.getTypeChecker();if(Ta(f))e.insertText(o,l.name.end,` extends ${f}`);else{let g=Do(t.getCompilerOptions()),m=sx({program:t,host:i}),v=s1(o,t,r,i),S=N9(d,v,f,void 0,g,void 0,m);S&&(e.replaceNode(o,l,D.updateTypeParameterDeclaration(l,void 0,l.name,S,l.default)),v.writeFixes(e))}}function j7e(e){let[t,r]=sv(e,`
+`,0).match(/`extends (.*)`/)||[];return r}function H7e(e,t){return bi(t.parent)?e.getTypeArgumentConstraint(t.parent):(ot(t)?e.getContextualType(t):void 0)||e.getTypeAtLocation(t)}var Q5,fQ,W7e=gt({"src/services/codefixes/fixAddMissingConstraint.ts"(){"use strict";Fr(),Qa(),Q5="addMissingConstraint",fQ=[_.Type_0_is_not_comparable_to_type_1.code,_.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,_.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,_.Type_0_is_not_assignable_to_type_1.code,_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,_.Property_0_is_incompatible_with_index_signature.code,_.Property_0_in_type_1_is_not_assignable_to_type_2.code,_.Type_0_does_not_satisfy_the_constraint_1.code],za({errorCodes:fQ,getCodeActions(e){let{sourceFile:t,span:r,program:i,preferences:o,host:s}=e,l=Rbe(i,t,r);if(l===void 0)return;let f=nr.ChangeTracker.with(e,d=>Obe(d,i,o,s,t,l));return[Ma(Q5,f,_.Add_extends_constraint,Q5,_.Add_extends_constraint_to_all_type_parameters)]},fixIds:[Q5],getAllCodeActions:e=>{let{program:t,preferences:r,host:i}=e,o=new Map;return ix(nr.ChangeTracker.with(e,s=>{ax(e,fQ,l=>{let f=Rbe(t,l.file,il(l.start,l.length));if(f&&V_(o,zo(f.declaration)))return Obe(s,t,r,i,l.file,f)})}))}})}});function Nbe(e,t,r,i){switch(r){case _.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:case _.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:case _.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code:case _.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:case _.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:return z7e(e,t.sourceFile,i);case _.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:case _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code:case _.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:case _.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code:return J7e(e,t.sourceFile,i);default:L.fail("Unexpected error code: "+r)}}function z7e(e,t,r){let i=Mbe(t,r);if(Cu(t)){e.addJSDocTags(t,i,[D.createJSDocOverrideTag(D.createIdentifier("override"))]);return}let o=i.modifiers||Je,s=wr(o,LS),l=wr(o,Rue),f=wr(o,v=>ZX(v.kind)),d=dA(o,du),g=l?l.end:s?s.end:f?f.end:d?xo(t.text,d.end):i.getStart(t),m=f||s||l?{prefix:" "}:{suffix:" "};e.insertModifierAt(t,g,161,m)}function J7e(e,t,r){let i=Mbe(t,r);if(Cu(t)){e.filterJSDocTags(t,i,y8(g3));return}let o=wr(i.modifiers,Oue);L.assertIsDefined(o),e.deleteModifier(t,o)}function Pbe(e){switch(e.kind){case 173:case 169:case 171:case 174:case 175:return!0;case 166:return Ad(e,e.parent);default:return!1}}function Mbe(e,t){let r=Vi(e,t),i=jn(r,o=>Yr(o)?"quit":Pbe(o));return L.assert(i&&Pbe(i)),i}var _Q,Z2,yk,pQ,mQ,K7e=gt({"src/services/codefixes/fixOverrideModifier.ts"(){"use strict";Fr(),Qa(),_Q="fixOverrideModifier",Z2="fixAddOverrideModifier",yk="fixRemoveOverrideModifier",pQ=[_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code,_.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,_.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,_.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,_.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,_.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,_.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code],mQ={[_.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:_.Add_override_modifier,fixId:Z2,fixAllDescriptions:_.Add_all_missing_override_modifiers},[_.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:_.Add_override_modifier,fixId:Z2,fixAllDescriptions:_.Add_all_missing_override_modifiers},[_.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code]:{descriptions:_.Remove_override_modifier,fixId:yk,fixAllDescriptions:_.Remove_all_unnecessary_override_modifiers},[_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code]:{descriptions:_.Remove_override_modifier,fixId:yk,fixAllDescriptions:_.Remove_override_modifier},[_.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code]:{descriptions:_.Add_override_modifier,fixId:Z2,fixAllDescriptions:_.Add_all_missing_override_modifiers},[_.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]:{descriptions:_.Add_override_modifier,fixId:Z2,fixAllDescriptions:_.Add_all_missing_override_modifiers},[_.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code]:{descriptions:_.Add_override_modifier,fixId:Z2,fixAllDescriptions:_.Remove_all_unnecessary_override_modifiers},[_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code]:{descriptions:_.Remove_override_modifier,fixId:yk,fixAllDescriptions:_.Remove_all_unnecessary_override_modifiers},[_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code]:{descriptions:_.Remove_override_modifier,fixId:yk,fixAllDescriptions:_.Remove_all_unnecessary_override_modifiers}},za({errorCodes:pQ,getCodeActions:function(t){let{errorCode:r,span:i}=t,o=mQ[r];if(!o)return Je;let{descriptions:s,fixId:l,fixAllDescriptions:f}=o,d=nr.ChangeTracker.with(t,g=>Nbe(g,t,r,i.start));return[D$(_Q,d,s,l,f)]},fixIds:[_Q,Z2,yk],getAllCodeActions:e=>ns(e,pQ,(t,r)=>{let{code:i,start:o}=r,s=mQ[i];!s||s.fixId!==e.fixId||Nbe(t,e,i,o)})})}});function Fbe(e,t,r,i){let o=J_(t,i),s=D.createStringLiteral(r.name.text,o===0);e.replaceNode(t,r,n6(r)?D.createElementAccessChain(r.expression,r.questionDotToken,s):D.createElementAccessExpression(r.expression,s))}function Gbe(e,t){return Ga(Vi(e,t).parent,br)}var Z5,hQ,q7e=gt({"src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts"(){"use strict";Fr(),Qa(),Z5="fixNoPropertyAccessFromIndexSignature",hQ=[_.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code],za({errorCodes:hQ,fixIds:[Z5],getCodeActions(e){let{sourceFile:t,span:r,preferences:i}=e,o=Gbe(t,r.start),s=nr.ChangeTracker.with(e,l=>Fbe(l,e.sourceFile,o,i));return[Ma(Z5,s,[_.Use_element_access_for_0,o.name.text],Z5,_.Use_element_access_for_all_undeclared_properties)]},getAllCodeActions:e=>ns(e,hQ,(t,r)=>Fbe(t,r.file,Gbe(r.file,r.start),e.preferences))})}});function Bbe(e,t,r,i){let o=Vi(t,r);if(!H2(o))return;let s=Ku(o,!1,!1);if(!(!Jc(s)&&!ms(s))&&!Li(Ku(s,!1,!1))){let l=L.checkDefined(Yo(s,98,t)),{name:f}=s,d=L.checkDefined(s.body);return ms(s)?f&&js.Core.isSymbolReferencedInFile(f,i,t,d)?void 0:(e.delete(t,l),f&&e.delete(t,f),e.insertText(t,d.pos," =>"),[_.Convert_function_expression_0_to_arrow_function,f?f.text:X7]):(e.replaceNode(t,l,D.createToken(85)),e.insertText(t,f.end," = "),e.insertText(t,d.pos," =>"),[_.Convert_function_declaration_0_to_arrow_function,f.text])}}var e9,gQ,X7e=gt({"src/services/codefixes/fixImplicitThis.ts"(){"use strict";Fr(),Qa(),e9="fixImplicitThis",gQ=[_.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code],za({errorCodes:gQ,getCodeActions:function(t){let{sourceFile:r,program:i,span:o}=t,s,l=nr.ChangeTracker.with(t,f=>{s=Bbe(f,r,o.start,i.getTypeChecker())});return s?[Ma(e9,l,s,e9,_.Fix_all_implicit_this_errors)]:Je},fixIds:[e9],getAllCodeActions:e=>ns(e,gQ,(t,r)=>{Bbe(t,r.file,r.start,e.program.getTypeChecker())})})}});function Ube(e,t,r){var i;let o=Vi(e,t);if(Re(o)){let s=jn(o,gl);if(s===void 0)return;let l=yo(s.moduleSpecifier)?s.moduleSpecifier.text:void 0;if(l===void 0)return;let f=kA(e,l,void 0);if(f===void 0)return;let d=r.getSourceFile(f.resolvedFileName);if(d===void 0||dk(r,d))return;let g=d.symbol,m=(i=zr(g.valueDeclaration,Qp))==null?void 0:i.locals;if(m===void 0)return;let v=m.get(o.escapedText);if(v===void 0)return;let S=$7e(v);return S===void 0?void 0:{exportName:{node:o,isTypeOnly:o2(S)},node:S,moduleSourceFile:d,moduleSpecifier:l}}}function Y7e(e,t,{exportName:r,node:i,moduleSourceFile:o}){let s=t9(o,r.isTypeOnly);s?Vbe(e,t,o,s,[r]):WR(i)?e.insertExportModifier(o,i):jbe(e,t,o,[r])}function yQ(e,t,r,i,o){Fn(i)&&(o?Vbe(e,t,r,o,i):jbe(e,t,r,i))}function t9(e,t){let r=i=>Il(i)&&(t&&i.isTypeOnly||!i.isTypeOnly);return dA(e.statements,r)}function Vbe(e,t,r,i,o){let s=i.exportClause&&h_(i.exportClause)?i.exportClause.elements:D.createNodeArray([]),l=!i.isTypeOnly&&!!(d_(t.getCompilerOptions())||wr(s,f=>f.isTypeOnly));e.replaceNode(r,i,D.updateExportDeclaration(i,i.modifiers,i.isTypeOnly,D.createNamedExports(D.createNodeArray([...s,...Hbe(o,l)],s.hasTrailingComma)),i.moduleSpecifier,i.assertClause))}function jbe(e,t,r,i){e.insertNodeAtEndOfScope(r,r,D.createExportDeclaration(void 0,!1,D.createNamedExports(Hbe(i,d_(t.getCompilerOptions()))),void 0,void 0))}function Hbe(e,t){return D.createNodeArray(on(e,r=>D.createExportSpecifier(t&&r.isTypeOnly,void 0,r.node)))}function $7e(e){if(e.valueDeclaration===void 0)return Sl(e.declarations);let t=e.valueDeclaration,r=wi(t)?zr(t.parent.parent,Bc):void 0;return r&&Fn(r.declarationList.declarations)===1?r:t}var n9,vQ,Q7e=gt({"src/services/codefixes/fixImportNonExportedMember.ts"(){"use strict";Fr(),Qa(),n9="fixImportNonExportedMember",vQ=[_.Module_0_declares_1_locally_but_it_is_not_exported.code],za({errorCodes:vQ,fixIds:[n9],getCodeActions(e){let{sourceFile:t,span:r,program:i}=e,o=Ube(t,r.start,i);if(o===void 0)return;let s=nr.ChangeTracker.with(e,l=>Y7e(l,i,o));return[Ma(n9,s,[_.Export_0_from_module_1,o.exportName.node.text,o.moduleSpecifier],n9,_.Export_all_referenced_locals)]},getAllCodeActions(e){let{program:t}=e;return ix(nr.ChangeTracker.with(e,r=>{let i=new Map;ax(e,vQ,o=>{let s=Ube(o.file,o.start,t);if(s===void 0)return;let{exportName:l,node:f,moduleSourceFile:d}=s;if(t9(d,l.isTypeOnly)===void 0&&WR(f))r.insertExportModifier(d,f);else{let g=i.get(d)||{typeOnlyExports:[],exports:[]};l.isTypeOnly?g.typeOnlyExports.push(l):g.exports.push(l),i.set(d,g)}}),i.forEach((o,s)=>{let l=t9(s,!0);l&&l.isTypeOnly?(yQ(r,t,s,o.typeOnlyExports,l),yQ(r,t,s,o.exports,t9(s,!1))):yQ(r,t,s,[...o.exports,...o.typeOnlyExports],l)})}))}})}});function Z7e(e,t){let r=Vi(e,t);return jn(r,i=>i.kind===199)}function e5e(e,t,r){if(!r)return;let i=r.type,o=!1,s=!1;for(;i.kind===187||i.kind===188||i.kind===193;)i.kind===187?o=!0:i.kind===188&&(s=!0),i=i.type;let l=D.updateNamedTupleMember(r,r.dotDotDotToken||(s?D.createToken(25):void 0),r.name,r.questionToken||(o?D.createToken(57):void 0),i);l!==r&&e.replaceNode(t,r,l)}var r9,Wbe,t5e=gt({"src/services/codefixes/fixIncorrectNamedTupleSyntax.ts"(){"use strict";Fr(),Qa(),r9="fixIncorrectNamedTupleSyntax",Wbe=[_.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,_.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],za({errorCodes:Wbe,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=Z7e(r,i.start),s=nr.ChangeTracker.with(t,l=>e5e(l,r,o));return[Ma(r9,s,_.Move_labeled_tuple_element_modifiers_to_labels,r9,_.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[r9]})}});function zbe(e,t,r,i){let o=Vi(e,t),s=o.parent;if((i===_.No_overload_matches_this_call.code||i===_.Type_0_is_not_assignable_to_type_1.code)&&!Sp(s))return;let l=r.program.getTypeChecker(),f;if(br(s)&&s.name===o){L.assert(Ah(o),"Expected an identifier for spelling (property access)");let d=l.getTypeAtLocation(s.expression);s.flags&32&&(d=l.getNonNullableType(d)),f=l.getSuggestedSymbolForNonexistentProperty(o,d)}else if(ar(s)&&s.operatorToken.kind===101&&s.left===o&&pi(o)){let d=l.getTypeAtLocation(s.right);f=l.getSuggestedSymbolForNonexistentProperty(o,d)}else if(Yu(s)&&s.right===o){let d=l.getSymbolAtLocation(s.left);d&&d.flags&1536&&(f=l.getSuggestedSymbolForNonexistentModule(s.right,d))}else if($u(s)&&s.name===o){L.assertNode(o,Re,"Expected an identifier for spelling (import)");let d=jn(o,gl),g=r5e(e,r,d);g&&g.symbol&&(f=l.getSuggestedSymbolForNonexistentModule(o,g.symbol))}else if(Sp(s)&&s.name===o){L.assertNode(o,Re,"Expected an identifier for JSX attribute");let d=jn(o,Au),g=l.getContextualTypeForArgumentAtIndex(d,0);f=l.getSuggestedSymbolForNonexistentJSXAttribute(o,g)}else if(Mr(s,16384)&&_l(s)&&s.name===o){let d=jn(o,Yr),g=d?hp(d):void 0,m=g?l.getTypeAtLocation(g):void 0;m&&(f=l.getSuggestedSymbolForNonexistentClassMember(Qc(o),m))}else{let d=ZT(o),g=Qc(o);L.assert(g!==void 0,"name should be defined"),f=l.getSuggestedSymbolForNonexistentSymbol(o,g,n5e(d))}return f===void 0?void 0:{node:o,suggestedSymbol:f}}function Jbe(e,t,r,i,o){let s=fc(i);if(!i_(s,o)&&br(r.parent)){let l=i.valueDeclaration;l&&zl(l)&&pi(l.name)?e.replaceNode(t,r,D.createIdentifier(s)):e.replaceNode(t,r.parent,D.createElementAccessExpression(r.parent.expression,D.createStringLiteral(s)))}else e.replaceNode(t,r,D.createIdentifier(s))}function n5e(e){let t=0;return e&4&&(t|=1920),e&2&&(t|=788968),e&1&&(t|=111551),t}function r5e(e,t,r){if(!r||!es(r.moduleSpecifier))return;let i=kA(e,r.moduleSpecifier.text,W_(e,r.moduleSpecifier));if(i)return t.program.getSourceFile(i.resolvedFileName)}var bQ,EQ,i5e=gt({"src/services/codefixes/fixSpelling.ts"(){"use strict";Fr(),Qa(),bQ="fixSpelling",EQ=[_.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,_.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,_.Cannot_find_name_0_Did_you_mean_1.code,_.Could_not_find_name_0_Did_you_mean_1.code,_.Cannot_find_namespace_0_Did_you_mean_1.code,_.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,_.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,_._0_has_no_exported_member_named_1_Did_you_mean_2.code,_.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,_.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,_.No_overload_matches_this_call.code,_.Type_0_is_not_assignable_to_type_1.code],za({errorCodes:EQ,getCodeActions(e){let{sourceFile:t,errorCode:r}=e,i=zbe(t,e.span.start,e,r);if(!i)return;let{node:o,suggestedSymbol:s}=i,l=Do(e.host.getCompilationSettings()),f=nr.ChangeTracker.with(e,d=>Jbe(d,t,o,s,l));return[Ma("spelling",f,[_.Change_spelling_to_0,fc(s)],bQ,_.Fix_all_detected_spelling_errors)]},fixIds:[bQ],getAllCodeActions:e=>ns(e,EQ,(t,r)=>{let i=zbe(r.file,r.start,e,r.code),o=Do(e.host.getCompilationSettings());i&&Jbe(t,e.sourceFile,i.node,i.suggestedSymbol,o)})})}});function Kbe(e,t,r){let i=e.createSymbol(4,t.escapedText);i.links.type=e.getTypeAtLocation(r);let o=Ua([i]);return e.createAnonymousType(void 0,o,[],[],[])}function TQ(e,t,r,i){if(!t.body||!Va(t.body)||Fn(t.body.statements)!==1)return;let o=Vo(t.body.statements);if(Ol(o)&&SQ(e,t,e.getTypeAtLocation(o.expression),r,i))return{declaration:t,kind:0,expression:o.expression,statement:o,commentSource:o.expression};if(J0(o)&&Ol(o.statement)){let s=D.createObjectLiteralExpression([D.createPropertyAssignment(o.label,o.statement.expression)]),l=Kbe(e,o.label,o.statement.expression);if(SQ(e,t,l,r,i))return xs(t)?{declaration:t,kind:1,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:t,kind:0,expression:s,statement:o,commentSource:o.statement.expression}}else if(Va(o)&&Fn(o.statements)===1){let s=Vo(o.statements);if(J0(s)&&Ol(s.statement)){let l=D.createObjectLiteralExpression([D.createPropertyAssignment(s.label,s.statement.expression)]),f=Kbe(e,s.label,s.statement.expression);if(SQ(e,t,f,r,i))return{declaration:t,kind:0,expression:l,statement:o,commentSource:s}}}}function SQ(e,t,r,i,o){if(o){let s=e.getSignatureFromDeclaration(t);if(s){Mr(t,512)&&(r=e.createPromiseType(r));let l=e.createSignature(t,s.typeParameters,s.thisParameter,s.parameters,r,void 0,s.minArgumentCount,s.flags);r=e.createAnonymousType(void 0,Ua(),[l],[],[])}else r=e.getAnyType()}return e.isTypeAssignableTo(r,i)}function qbe(e,t,r,i){let o=Vi(t,r);if(!o.parent)return;let s=jn(o.parent,Ds);switch(i){case _.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:return!s||!s.body||!s.type||!Od(s.type,o)?void 0:TQ(e,s,e.getTypeFromTypeNode(s.type),!1);case _.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!s||!Pa(s.parent)||!s.body)return;let l=s.parent.arguments.indexOf(s),f=e.getContextualTypeForArgumentAtIndex(s.parent,l);return f?TQ(e,s,f,!0):void 0;case _.Type_0_is_not_assignable_to_type_1.code:if(!Rh(o)||!PA(o.parent)&&!Sp(o.parent))return;let d=a5e(o.parent);return!d||!Ds(d)||!d.body?void 0:TQ(e,d,e.getTypeAtLocation(o.parent),!0)}}function a5e(e){switch(e.kind){case 257:case 166:case 205:case 169:case 299:return e.initializer;case 288:return e.initializer&&(AL(e.initializer)?e.initializer.expression:void 0);case 300:case 168:case 302:case 351:case 344:return}}function Xbe(e,t,r,i){pd(r);let o=P7(t);e.replaceNode(t,i,D.createReturnStatement(r),{leadingTriviaOption:nr.LeadingTriviaOption.Exclude,trailingTriviaOption:nr.TrailingTriviaOption.Exclude,suffix:o?";":void 0})}function Ybe(e,t,r,i,o,s){let l=s||bY(i)?D.createParenthesizedExpression(i):i;pd(o),r1(o,l),e.replaceNode(t,r.body,l)}function $be(e,t,r,i){e.replaceNode(t,r.body,D.createParenthesizedExpression(i))}function o5e(e,t,r){let i=nr.ChangeTracker.with(e,o=>Xbe(o,e.sourceFile,t,r));return Ma(i9,i,_.Add_a_return_statement,a9,_.Add_all_missing_return_statement)}function s5e(e,t,r,i){let o=nr.ChangeTracker.with(e,s=>Ybe(s,e.sourceFile,t,r,i,!1));return Ma(i9,o,_.Remove_braces_from_arrow_function_body,o9,_.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}function c5e(e,t,r){let i=nr.ChangeTracker.with(e,o=>$be(o,e.sourceFile,t,r));return Ma(i9,i,_.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,s9,_.Wrap_all_object_literal_with_parentheses)}var i9,a9,o9,s9,xQ,l5e=gt({"src/services/codefixes/returnValueCorrect.ts"(){"use strict";Fr(),Qa(),i9="returnValueCorrect",a9="fixAddReturnStatement",o9="fixRemoveBracesFromArrowFunctionBody",s9="fixWrapTheBlockWithParen",xQ=[_.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,_.Type_0_is_not_assignable_to_type_1.code,_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code],za({errorCodes:xQ,fixIds:[a9,o9,s9],getCodeActions:function(t){let{program:r,sourceFile:i,span:{start:o},errorCode:s}=t,l=qbe(r.getTypeChecker(),i,o,s);if(l)return l.kind===0?Sn([o5e(t,l.expression,l.statement)],xs(l.declaration)?s5e(t,l.declaration,l.expression,l.commentSource):void 0):[c5e(t,l.declaration,l.expression)]},getAllCodeActions:e=>ns(e,xQ,(t,r)=>{let i=qbe(e.program.getTypeChecker(),r.file,r.start,r.code);if(i)switch(e.fixId){case a9:Xbe(t,r.file,i.expression,i.statement);break;case o9:if(!xs(i.declaration))return;Ybe(t,r.file,i.declaration,i.expression,i.commentSource,!1);break;case s9:if(!xs(i.declaration))return;$be(t,r.file,i.declaration,i.expression);break;default:L.fail(JSON.stringify(e.fixId))}})})}});function Qbe(e,t,r,i,o){var s;let l=Vi(e,t),f=l.parent;if(r===_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code){if(!(l.kind===18&&rs(f)&&Pa(f.parent)))return;let x=Yc(f.parent.arguments,P=>P===f);if(x<0)return;let A=i.getResolvedSignature(f.parent);if(!(A&&A.declaration&&A.parameters[x]))return;let w=A.parameters[x].valueDeclaration;if(!(w&&ha(w)&&Re(w.name)))return;let C=lo(i.getUnmatchedProperties(i.getTypeAtLocation(f),i.getParameterType(A,x),!1,!1));return Fn(C)?{kind:3,token:w.name,properties:C,parentDeclaration:f}:void 0}if(!Ah(l))return;if(Re(l)&&Jy(f)&&f.initializer&&rs(f.initializer)){let x=lo(i.getUnmatchedProperties(i.getTypeAtLocation(f.initializer),i.getTypeAtLocation(l),!1,!1));return Fn(x)?{kind:3,token:l,properties:x,parentDeclaration:f.initializer}:void 0}if(Re(l)&&Au(l.parent)){let x=Do(o.getCompilerOptions()),A=h5e(i,x,l.parent);return Fn(A)?{kind:4,token:l,attributes:A,parentDeclaration:l.parent}:void 0}if(Re(l)){let x=(s=i.getContextualType(l))==null?void 0:s.getNonNullableType();if(x&&Ur(x)&16){let A=Sl(i.getSignaturesOfType(x,0));return A===void 0?void 0:{kind:5,token:l,signature:A,sourceFile:e,parentDeclaration:l0e(l)}}if(Pa(f)&&f.expression===l)return{kind:2,token:l,call:f,sourceFile:e,modifierFlags:0,parentDeclaration:l0e(l)}}if(!br(f))return;let d=iY(i.getTypeAtLocation(f.expression)),g=d.symbol;if(!g||!g.declarations)return;if(Re(l)&&Pa(f.parent)){let x=wr(g.declarations,Tc),A=x?.getSourceFile();if(x&&A&&!dk(o,A))return{kind:2,token:l,call:f.parent,sourceFile:e,modifierFlags:1,parentDeclaration:x};let w=wr(g.declarations,Li);if(e.commonJsModuleIndicator)return;if(w&&!dk(o,w))return{kind:2,token:l,call:f.parent,sourceFile:w,modifierFlags:1,parentDeclaration:w}}let m=wr(g.declarations,Yr);if(!m&&pi(l))return;let v=m||wr(g.declarations,x=>ku(x)||Rd(x));if(v&&!dk(o,v.getSourceFile())){let x=!Rd(v)&&(d.target||d)!==i.getDeclaredTypeOfSymbol(g);if(x&&(pi(l)||ku(v)))return;let A=v.getSourceFile(),w=Rd(v)?0:(x?32:0)|(DY(l.text)?8:0),C=Cu(A),P=zr(f.parent,Pa);return{kind:0,token:l,call:P,modifierFlags:w,parentDeclaration:v,declSourceFile:A,isJSFile:C}}let S=wr(g.declarations,hb);if(S&&!(d.flags&1056)&&!pi(l)&&!dk(o,S.getSourceFile()))return{kind:1,token:l,parentDeclaration:S}}function u5e(e,t){return t.isJSFile?aT(d5e(e,t)):f5e(e,t)}function d5e(e,{parentDeclaration:t,declSourceFile:r,modifierFlags:i,token:o}){if(ku(t)||Rd(t))return;let s=nr.ChangeTracker.with(e,f=>Zbe(f,r,t,o,!!(i&32)));if(s.length===0)return;let l=i&32?_.Initialize_static_property_0:pi(o)?_.Declare_a_private_field_named_0:_.Initialize_property_0_in_the_constructor;return Ma(Yg,s,[l,o.text],Yg,_.Add_all_missing_members)}function Zbe(e,t,r,i,o){let s=i.text;if(o){if(r.kind===228)return;let l=r.name.getText(),f=e0e(D.createIdentifier(l),s);e.insertNodeAfter(t,r,f)}else if(pi(i)){let l=D.createPropertyDeclaration(void 0,s,void 0,void 0,void 0),f=r0e(r);f?e.insertNodeAfter(t,f,l):e.insertMemberAtStart(t,r,l)}else{let l=Vm(r);if(!l)return;let f=e0e(D.createThis(),s);e.insertNodeAtConstructorEnd(t,l,f)}}function e0e(e,t){return D.createExpressionStatement(D.createAssignment(D.createPropertyAccessExpression(e,t),c1()))}function f5e(e,{parentDeclaration:t,declSourceFile:r,modifierFlags:i,token:o}){let s=o.text,l=i&32,f=t0e(e.program.getTypeChecker(),t,o),d=m=>nr.ChangeTracker.with(e,v=>n0e(v,r,t,s,f,m)),g=[Ma(Yg,d(i&32),[l?_.Declare_static_property_0:_.Declare_property_0,s],Yg,_.Add_all_missing_members)];return l||pi(o)||(i&8&&g.unshift(K_(Yg,d(8),[_.Declare_private_property_0,s])),g.push(_5e(e,r,t,o.text,f))),g}function t0e(e,t,r){let i;if(r.parent.parent.kind===223){let o=r.parent.parent,s=r.parent===o.left?o.right:o.left,l=e.getWidenedType(e.getBaseTypeOfLiteralType(e.getTypeAtLocation(s)));i=e.typeToTypeNode(l,t,1)}else{let o=e.getContextualType(r.parent);i=o?e.typeToTypeNode(o,void 0,1):void 0}return i||D.createKeywordTypeNode(131)}function n0e(e,t,r,i,o,s){let l=s?D.createNodeArray(D.createModifiersFromModifierFlags(s)):void 0,f=Yr(r)?D.createPropertyDeclaration(l,i,void 0,o,void 0):D.createPropertySignature(void 0,i,void 0,o),d=r0e(r);d?e.insertNodeAfter(t,d,f):e.insertMemberAtStart(t,r,f)}function r0e(e){let t;for(let r of e.members){if(!Na(r))break;t=r}return t}function _5e(e,t,r,i,o){let s=D.createKeywordTypeNode(152),l=D.createParameterDeclaration(void 0,void 0,"x",void 0,s,void 0),f=D.createIndexSignature(void 0,[l],o),d=nr.ChangeTracker.with(e,g=>g.insertMemberAtStart(t,r,f));return K_(Yg,d,[_.Add_index_signature_for_property_0,i])}function p5e(e,t){let{parentDeclaration:r,declSourceFile:i,modifierFlags:o,token:s,call:l}=t;if(l===void 0||pi(s))return;let f=s.text,d=m=>nr.ChangeTracker.with(e,v=>i0e(e,v,l,s,m,r,i)),g=[Ma(Yg,d(o&32),[o&32?_.Declare_static_method_0:_.Declare_method_0,f],Yg,_.Add_all_missing_members)];return o&8&&g.unshift(K_(Yg,d(8),[_.Declare_private_method_0,f])),g}function i0e(e,t,r,i,o,s,l){let f=s1(l,e.program,e.preferences,e.host),d=Yr(s)?171:170,g=sZ(d,e,f,r,i,o,s),m=g5e(s,r);m?t.insertNodeAfter(l,m,g):t.insertMemberAtStart(l,s,g),f.writeFixes(t)}function a0e(e,t,{token:r,parentDeclaration:i}){let o=vt(i.members,l=>{let f=t.getTypeAtLocation(l);return!!(f&&f.flags&402653316)}),s=D.createEnumMember(r,o?D.createStringLiteral(r.text):void 0);e.replaceNode(i.getSourceFile(),i,D.updateEnumDeclaration(i,i.modifiers,i.name,Qi(i.members,aT(s))),{leadingTriviaOption:nr.LeadingTriviaOption.IncludeAll,trailingTriviaOption:nr.TrailingTriviaOption.Exclude})}function o0e(e,t,r){let i=J_(t.sourceFile,t.preferences),o=s1(t.sourceFile,t.program,t.preferences,t.host),s=r.kind===2?sZ(259,t,o,r.call,vr(r.token),r.modifierFlags,r.parentDeclaration):O9(259,t,i,r.signature,fP(_.Function_not_implemented.message,i),r.token,void 0,void 0,void 0,o);s===void 0&&L.fail("fixMissingFunctionDeclaration codefix got unexpected error."),j_(r.parentDeclaration)?e.insertNodeBefore(r.sourceFile,r.parentDeclaration,s,!0):e.insertNodeAtEndOfScope(r.sourceFile,r.parentDeclaration,s),o.writeFixes(e)}function s0e(e,t,r){let i=s1(t.sourceFile,t.program,t.preferences,t.host),o=J_(t.sourceFile,t.preferences),s=t.program.getTypeChecker(),l=r.parentDeclaration.attributes,f=vt(l.properties,GT),d=on(r.attributes,v=>{let S=c9(t,s,i,o,s.getTypeOfSymbol(v),r.parentDeclaration),x=D.createIdentifier(v.name),A=D.createJsxAttribute(x,D.createJsxExpression(void 0,S));return go(x,A),A}),g=D.createJsxAttributes(f?[...d,...l.properties]:[...l.properties,...d]),m={prefix:l.pos===l.end?" ":void 0};e.replaceNode(t.sourceFile,l,g,m),i.writeFixes(e)}function c0e(e,t,r){let i=s1(t.sourceFile,t.program,t.preferences,t.host),o=J_(t.sourceFile,t.preferences),s=Do(t.program.getCompilerOptions()),l=t.program.getTypeChecker(),f=on(r.properties,g=>{let m=c9(t,l,i,o,l.getTypeOfSymbol(g),r.parentDeclaration);return D.createPropertyAssignment(y5e(g,s,o,l),m)}),d={leadingTriviaOption:nr.LeadingTriviaOption.Exclude,trailingTriviaOption:nr.TrailingTriviaOption.Exclude,indentation:r.indentation};e.replaceNode(t.sourceFile,r.parentDeclaration,D.createObjectLiteralExpression([...r.parentDeclaration.properties,...f],!0),d),i.writeFixes(e)}function c9(e,t,r,i,o,s){if(o.flags&3)return c1();if(o.flags&134217732)return D.createStringLiteral("",i===0);if(o.flags&8)return D.createNumericLiteral(0);if(o.flags&64)return D.createBigIntLiteral("0n");if(o.flags&16)return D.createFalse();if(o.flags&1056){let l=o.symbol.exports?u8(o.symbol.exports.values()):o.symbol,f=t.symbolToExpression(o.symbol.parent?o.symbol.parent:o.symbol,111551,void 0,void 0);return l===void 0||f===void 0?D.createNumericLiteral(0):D.createPropertyAccessExpression(f,t.symbolToString(l))}if(o.flags&256)return D.createNumericLiteral(o.value);if(o.flags&2048)return D.createBigIntLiteral(o.value);if(o.flags&128)return D.createStringLiteral(o.value,i===0);if(o.flags&512)return o===t.getFalseType()||o===t.getFalseType(!0)?D.createFalse():D.createTrue();if(o.flags&65536)return D.createNull();if(o.flags&1048576){let l=ks(o.types,f=>c9(e,t,r,i,f,s));return l??c1()}if(t.isArrayLikeType(o))return D.createArrayLiteralExpression();if(m5e(o)){let l=on(t.getPropertiesOfType(o),f=>{let d=c9(e,t,r,i,t.getTypeOfSymbol(f),s);return D.createPropertyAssignment(f.name,d)});return D.createObjectLiteralExpression(l,!0)}if(Ur(o)&16){if(wr(o.symbol.declarations||Je,Kp(Jm,zm,Nc))===void 0)return c1();let f=t.getSignaturesOfType(o,0);if(f===void 0)return c1();let d=O9(215,e,i,f[0],fP(_.Function_not_implemented.message,i),void 0,void 0,void 0,s,r);return d??c1()}if(Ur(o)&1){let l=Nh(o.symbol);if(l===void 0||B0(l))return c1();let f=Vm(l);return f&&Fn(f.parameters)?c1():D.createNewExpression(D.createIdentifier(o.symbol.name),void 0,void 0)}return c1()}function c1(){return D.createIdentifier("undefined")}function m5e(e){return e.flags&524288&&(Ur(e)&128||e.symbol&&zr(Wp(e.symbol.declarations),Rd))}function h5e(e,t,r){let i=e.getContextualType(r.attributes);if(i===void 0)return Je;let o=i.getProperties();if(!Fn(o))return Je;let s=new Set;for(let l of r.attributes.properties)if(Sp(l)&&s.add(l.name.escapedText),GT(l)){let f=e.getTypeAtLocation(l.expression);for(let d of f.getProperties())s.add(d.escapedName)}return Pr(o,l=>i_(l.name,t,1)&&!(l.flags&16777216||ac(l)&48||s.has(l.escapedName)))}function g5e(e,t){if(Rd(e))return;let r=jn(t,i=>Nc(i)||Ec(i));return r&&r.parent===e?r:void 0}function y5e(e,t,r,i){if(Zp(e)){let o=i.symbolToNode(e,111551,void 0,1073741824);if(o&&ts(o))return o}return E4(e.name,t,r===0)}function l0e(e){if(jn(e,AL)){let t=jn(e.parent,j_);if(t)return t}return Gn(e)}var Yg,oP,sP,cP,AQ,v5e=gt({"src/services/codefixes/fixAddMissingMember.ts"(){"use strict";Fr(),Qa(),Yg="fixMissingMember",oP="fixMissingProperties",sP="fixMissingAttributes",cP="fixMissingFunctionDeclaration",AQ=[_.Property_0_does_not_exist_on_type_1.code,_.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,_.Property_0_is_missing_in_type_1_but_required_in_type_2.code,_.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,_.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,_.Cannot_find_name_0.code],za({errorCodes:AQ,getCodeActions(e){let t=e.program.getTypeChecker(),r=Qbe(e.sourceFile,e.span.start,e.errorCode,t,e.program);if(r){if(r.kind===3){let i=nr.ChangeTracker.with(e,o=>c0e(o,e,r));return[Ma(oP,i,_.Add_missing_properties,oP,_.Add_all_missing_properties)]}if(r.kind===4){let i=nr.ChangeTracker.with(e,o=>s0e(o,e,r));return[Ma(sP,i,_.Add_missing_attributes,sP,_.Add_all_missing_attributes)]}if(r.kind===2||r.kind===5){let i=nr.ChangeTracker.with(e,o=>o0e(o,e,r));return[Ma(cP,i,[_.Add_missing_function_declaration_0,r.token.text],cP,_.Add_all_missing_function_declarations)]}if(r.kind===1){let i=nr.ChangeTracker.with(e,o=>a0e(o,e.program.getTypeChecker(),r));return[Ma(Yg,i,[_.Add_missing_enum_member_0,r.token.text],Yg,_.Add_all_missing_members)]}return Qi(p5e(e,r),u5e(e,r))}},fixIds:[Yg,cP,oP,sP],getAllCodeActions:e=>{let{program:t,fixId:r}=e,i=t.getTypeChecker(),o=new Map,s=new Map;return ix(nr.ChangeTracker.with(e,l=>{ax(e,AQ,f=>{let d=Qbe(f.file,f.start,f.code,i,e.program);if(!(!d||!V_(o,zo(d.parentDeclaration)+"#"+d.token.text))){if(r===cP&&(d.kind===2||d.kind===5))o0e(l,e,d);else if(r===oP&&d.kind===3)c0e(l,e,d);else if(r===sP&&d.kind===4)s0e(l,e,d);else if(d.kind===1&&a0e(l,i,d),d.kind===0){let{parentDeclaration:g,token:m}=d,v=VD(s,g,()=>[]);v.some(S=>S.token.text===m.text)||v.push(d)}}}),s.forEach((f,d)=>{let g=Rd(d)?void 0:mZ(d,i);for(let m of f){if(g?.some(P=>{let F=s.get(P);return!!F&&F.some(({token:B})=>B.text===m.token.text)}))continue;let{parentDeclaration:v,declSourceFile:S,modifierFlags:x,token:A,call:w,isJSFile:C}=m;if(w&&!pi(A))i0e(e,l,w,A,x&32,v,S);else if(C&&!ku(v)&&!Rd(v))Zbe(l,S,v,A,!!(x&32));else{let P=t0e(i,v,A);n0e(l,S,v,A.text,P,x&32)}}})}))}})}});function u0e(e,t,r){let i=Ga(b5e(t,r),Pa),o=D.createNewExpression(i.expression,i.typeArguments,i.arguments);e.replaceNode(t,i,o)}function b5e(e,t){let r=Vi(e,t.start),i=wl(t);for(;r.end<i;)r=r.parent;return r}var l9,CQ,E5e=gt({"src/services/codefixes/fixAddMissingNewOperator.ts"(){"use strict";Fr(),Qa(),l9="addMissingNewOperator",CQ=[_.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code],za({errorCodes:CQ,getCodeActions(e){let{sourceFile:t,span:r}=e,i=nr.ChangeTracker.with(e,o=>u0e(o,t,r));return[Ma(l9,i,_.Add_missing_new_operator_to_call,l9,_.Add_missing_new_operator_to_all_calls)]},fixIds:[l9],getAllCodeActions:e=>ns(e,CQ,(t,r)=>u0e(t,e.sourceFile,r))})}});function d0e(e,t){return{type:"install package",file:e,packageName:t}}function f0e(e,t){let r=zr(Vi(e,t),yo);if(!r)return;let i=r.text,{packageName:o}=ZJ(i);return fl(o)?void 0:o}function _0e(e,t,r){var i;return r===IQ?QT.nodeCoreModules.has(e)?"@types/node":void 0:(i=t.isKnownTypesPackageName)!=null&&i.call(t,e)?rF(e):void 0}var p0e,u9,IQ,LQ,T5e=gt({"src/services/codefixes/fixCannotFindModule.ts"(){"use strict";Fr(),Qa(),p0e="fixCannotFindModule",u9="installTypesPackage",IQ=_.Cannot_find_module_0_or_its_corresponding_type_declarations.code,LQ=[IQ,_.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code],za({errorCodes:LQ,getCodeActions:function(t){let{host:r,sourceFile:i,span:{start:o}}=t,s=f0e(i,o);if(s===void 0)return;let l=_0e(s,r,t.errorCode);return l===void 0?[]:[Ma(p0e,[],[_.Install_0,l],u9,_.Install_all_missing_types_packages,d0e(i.fileName,l))]},fixIds:[u9],getAllCodeActions:e=>ns(e,LQ,(t,r,i)=>{let o=f0e(r.file,r.start);if(o!==void 0)switch(e.fixId){case u9:{let s=_0e(o,e.host,r.code);s&&i.push(d0e(r.file.fileName,s));break}default:L.fail(`Bad fixId: ${e.fixId}`)}})})}});function m0e(e,t){let r=Vi(e,t);return Ga(r.parent,Yr)}function h0e(e,t,r,i,o){let s=hp(e),l=r.program.getTypeChecker(),f=l.getTypeAtLocation(s),d=l.getPropertiesOfType(f).filter(S5e),g=s1(t,r.program,o,r.host);oZ(e,d,t,r,o,g,m=>i.insertMemberAtStart(t,e,m)),g.writeFixes(i)}function S5e(e){let t=Yy(Vo(e.getDeclarations()));return!(t&8)&&!!(t&256)}var kQ,d9,x5e=gt({"src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts"(){"use strict";Fr(),Qa(),kQ=[_.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code,_.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code],d9="fixClassDoesntImplementInheritedAbstractMember",za({errorCodes:kQ,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=nr.ChangeTracker.with(t,s=>h0e(m0e(r,i.start),r,t,s,t.preferences));return o.length===0?void 0:[Ma(d9,o,_.Implement_inherited_abstract_class,d9,_.Implement_all_inherited_abstract_classes)]},fixIds:[d9],getAllCodeActions:function(t){let r=new Map;return ns(t,kQ,(i,o)=>{let s=m0e(o.file,o.start);V_(r,zo(s))&&h0e(s,t.sourceFile,t,i,t.preferences)})}})}});function g0e(e,t,r,i){e.insertNodeAtConstructorStart(t,r,i),e.delete(t,i)}function y0e(e,t){let r=Vi(e,t);if(r.kind!==108)return;let i=Xd(r),o=v0e(i.body);return o&&!o.expression.arguments.some(s=>br(s)&&s.expression===r)?{constructor:i,superCall:o}:void 0}function v0e(e){return Ol(e)&&OA(e.expression)?e:Ia(e)?void 0:pa(e,v0e)}var f9,DQ,A5e=gt({"src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts"(){"use strict";Fr(),Qa(),f9="classSuperMustPrecedeThisAccess",DQ=[_.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code],za({errorCodes:DQ,getCodeActions(e){let{sourceFile:t,span:r}=e,i=y0e(t,r.start);if(!i)return;let{constructor:o,superCall:s}=i,l=nr.ChangeTracker.with(e,f=>g0e(f,t,o,s));return[Ma(f9,l,_.Make_super_call_the_first_statement_in_the_constructor,f9,_.Make_all_super_calls_the_first_statement_in_their_constructor)]},fixIds:[f9],getAllCodeActions(e){let{sourceFile:t}=e,r=new Map;return ns(e,DQ,(i,o)=>{let s=y0e(o.file,o.start);if(!s)return;let{constructor:l,superCall:f}=s;V_(r,zo(l.parent))&&g0e(i,t,l,f)})}})}});function b0e(e,t){let r=Vi(e,t);return L.assert(Ec(r.parent),"token should be at the constructor declaration"),r.parent}function E0e(e,t,r){let i=D.createExpressionStatement(D.createCallExpression(D.createSuper(),void 0,Je));e.insertNodeAtConstructorStart(t,r,i)}var _9,wQ,C5e=gt({"src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts"(){"use strict";Fr(),Qa(),_9="constructorForDerivedNeedSuperCall",wQ=[_.Constructors_for_derived_classes_must_contain_a_super_call.code],za({errorCodes:wQ,getCodeActions(e){let{sourceFile:t,span:r}=e,i=b0e(t,r.start),o=nr.ChangeTracker.with(e,s=>E0e(s,t,i));return[Ma(_9,o,_.Add_missing_super_call,_9,_.Add_all_missing_super_calls)]},fixIds:[_9],getAllCodeActions:e=>ns(e,wQ,(t,r)=>E0e(t,e.sourceFile,b0e(r.file,r.start)))})}});function T0e(e,t){dZ(e,t,"jsx",D.createStringLiteral("react"))}var RQ,OQ,I5e=gt({"src/services/codefixes/fixEnableJsxFlag.ts"(){"use strict";Fr(),Qa(),RQ="fixEnableJsxFlag",OQ=[_.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code],za({errorCodes:OQ,getCodeActions:function(t){let{configFile:r}=t.program.getCompilerOptions();if(r===void 0)return;let i=nr.ChangeTracker.with(t,o=>T0e(o,r));return[K_(RQ,i,_.Enable_the_jsx_flag_in_your_configuration_file)]},fixIds:[RQ],getAllCodeActions:e=>ns(e,OQ,t=>{let{configFile:r}=e.program.getCompilerOptions();r!==void 0&&T0e(t,r)})})}});function S0e(e,t,r){let i=wr(e.getSemanticDiagnostics(t),l=>l.start===r.start&&l.length===r.length);if(i===void 0||i.relatedInformation===void 0)return;let o=wr(i.relatedInformation,l=>l.code===_.Did_you_mean_0.code);if(o===void 0||o.file===void 0||o.start===void 0||o.length===void 0)return;let s=_Z(o.file,il(o.start,o.length));if(s!==void 0&&ot(s)&&ar(s.parent))return{suggestion:L5e(o.messageText),expression:s.parent,arg:s}}function x0e(e,t,r,i){let o=D.createCallExpression(D.createPropertyAccessExpression(D.createIdentifier("Number"),D.createIdentifier("isNaN")),void 0,[r]),s=i.operatorToken.kind;e.replaceNode(t,i,s===37||s===35?D.createPrefixUnaryExpression(53,o):o)}function L5e(e){let[t,r]=sv(e,`
+`,0).match(/\'(.*)\'/)||[];return r}var p9,NQ,k5e=gt({"src/services/codefixes/fixNaNEquality.ts"(){"use strict";Fr(),Qa(),p9="fixNaNEquality",NQ=[_.This_condition_will_always_return_0.code],za({errorCodes:NQ,getCodeActions(e){let{sourceFile:t,span:r,program:i}=e,o=S0e(i,t,r);if(o===void 0)return;let{suggestion:s,expression:l,arg:f}=o,d=nr.ChangeTracker.with(e,g=>x0e(g,t,f,l));return[Ma(p9,d,[_.Use_0,s],p9,_.Use_Number_isNaN_in_all_conditions)]},fixIds:[p9],getAllCodeActions:e=>ns(e,NQ,(t,r)=>{let i=S0e(e.program,r.file,il(r.start,r.length));i&&x0e(t,r.file,i.arg,i.expression)})})}}),D5e=gt({"src/services/codefixes/fixModuleAndTargetOptions.ts"(){"use strict";Fr(),Qa(),za({errorCodes:[_.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code,_.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code],getCodeActions:function(t){let r=t.program.getCompilerOptions(),{configFile:i}=r;if(i===void 0)return;let o=[],s=Rl(r);if(s>=5&&s<99){let g=nr.ChangeTracker.with(t,m=>{dZ(m,i,"module",D.createStringLiteral("esnext"))});o.push(K_("fixModuleOption",g,[_.Set_the_module_option_in_your_configuration_file_to_0,"esnext"]))}let f=Do(r);if(f<4||f>99){let g=nr.ChangeTracker.with(t,m=>{if(!LI(i))return;let S=[["target",D.createStringLiteral("es2017")]];s===1&&S.push(["module",D.createStringLiteral("commonjs")]),uZ(m,i,S)});o.push(K_("fixTargetOption",g,[_.Set_the_target_option_in_your_configuration_file_to_0,"es2017"]))}return o.length?o:void 0}})}});function A0e(e,t,r){e.replaceNode(t,r,D.createPropertyAssignment(r.name,r.objectAssignmentInitializer))}function C0e(e,t){return Ga(Vi(e,t).parent,xf)}var m9,PQ,w5e=gt({"src/services/codefixes/fixPropertyAssignment.ts"(){"use strict";Fr(),Qa(),m9="fixPropertyAssignment",PQ=[_.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code],za({errorCodes:PQ,fixIds:[m9],getCodeActions(e){let{sourceFile:t,span:r}=e,i=C0e(t,r.start),o=nr.ChangeTracker.with(e,s=>A0e(s,e.sourceFile,i));return[Ma(m9,o,[_.Change_0_to_1,"=",":"],m9,[_.Switch_each_misused_0_to_1,"=",":"])]},getAllCodeActions:e=>ns(e,PQ,(t,r)=>A0e(t,r.file,C0e(r.file,r.start)))})}});function I0e(e,t){let r=Vi(e,t),i=Zc(r).heritageClauses,o=i[0].getFirstToken();return o.kind===94?{extendsToken:o,heritageClauses:i}:void 0}function L0e(e,t,r,i){if(e.replaceNode(t,r,D.createToken(117)),i.length===2&&i[0].token===94&&i[1].token===117){let o=i[1].getFirstToken(),s=o.getFullStart();e.replaceRange(t,{pos:s,end:s},D.createToken(27));let l=t.text,f=o.end;for(;f<l.length&&Yp(l.charCodeAt(f));)f++;e.deleteRange(t,{pos:o.getStart(),end:f})}}var h9,MQ,R5e=gt({"src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts"(){"use strict";Fr(),Qa(),h9="extendsInterfaceBecomesImplements",MQ=[_.Cannot_extend_an_interface_0_Did_you_mean_implements.code],za({errorCodes:MQ,getCodeActions(e){let{sourceFile:t}=e,r=I0e(t,e.span.start);if(!r)return;let{extendsToken:i,heritageClauses:o}=r,s=nr.ChangeTracker.with(e,l=>L0e(l,t,i,o));return[Ma(h9,s,_.Change_extends_to_implements,h9,_.Change_all_extended_interfaces_to_implements)]},fixIds:[h9],getAllCodeActions:e=>ns(e,MQ,(t,r)=>{let i=I0e(r.file,r.start);i&&L0e(t,r.file,i.extendsToken,i.heritageClauses)})})}});function k0e(e,t,r){let i=Vi(e,t);if(Re(i)||pi(i))return{node:i,className:r===FQ?Zc(i).name.text:void 0}}function D0e(e,t,{node:r,className:i}){pd(r),e.replaceNode(t,r,D.createPropertyAccessExpression(i?D.createIdentifier(i):D.createThis(),r))}var g9,FQ,GQ,O5e=gt({"src/services/codefixes/fixForgottenThisPropertyAccess.ts"(){"use strict";Fr(),Qa(),g9="forgottenThisPropertyAccess",FQ=_.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,GQ=[_.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,_.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,FQ],za({errorCodes:GQ,getCodeActions(e){let{sourceFile:t}=e,r=k0e(t,e.span.start,e.errorCode);if(!r)return;let i=nr.ChangeTracker.with(e,o=>D0e(o,t,r));return[Ma(g9,i,[_.Add_0_to_unresolved_variable,r.className||"this"],g9,_.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)]},fixIds:[g9],getAllCodeActions:e=>ns(e,GQ,(t,r)=>{let i=k0e(r.file,r.start,r.code);i&&D0e(t,e.sourceFile,i)})})}});function N5e(e){return fs(VQ,e)}function BQ(e,t,r,i,o){let s=r.getText()[i];if(!N5e(s))return;let l=o?VQ[s]:`{${ck(r,t,s)}}`;e.replaceRangeWithText(r,{pos:i,end:i+1},l)}var y9,lP,UQ,VQ,P5e=gt({"src/services/codefixes/fixInvalidJsxCharacters.ts"(){"use strict";Fr(),Qa(),y9="fixInvalidJsxCharacters_expression",lP="fixInvalidJsxCharacters_htmlEntity",UQ=[_.Unexpected_token_Did_you_mean_or_gt.code,_.Unexpected_token_Did_you_mean_or_rbrace.code],za({errorCodes:UQ,fixIds:[y9,lP],getCodeActions(e){let{sourceFile:t,preferences:r,span:i}=e,o=nr.ChangeTracker.with(e,l=>BQ(l,r,t,i.start,!1)),s=nr.ChangeTracker.with(e,l=>BQ(l,r,t,i.start,!0));return[Ma(y9,o,_.Wrap_invalid_character_in_an_expression_container,y9,_.Wrap_all_invalid_characters_in_an_expression_container),Ma(lP,s,_.Convert_invalid_character_to_its_html_entity_code,lP,_.Convert_all_invalid_characters_to_HTML_entity_code)]},getAllCodeActions(e){return ns(e,UQ,(t,r)=>BQ(t,e.preferences,r.file,r.start,e.fixId===lP))}}),VQ={">":"&gt;","}":"&rbrace;"}}});function M5e(e,{name:t,jsDocHost:r,jsDocParameterTag:i}){let o=nr.ChangeTracker.with(e,s=>s.filterJSDocTags(e.sourceFile,r,l=>l!==i));return Ma(uP,o,[_.Delete_unused_param_tag_0,t.getText(e.sourceFile)],uP,_.Delete_all_unused_param_tags)}function F5e(e,{name:t,jsDocHost:r,signature:i,jsDocParameterTag:o}){if(!Fn(i.parameters))return;let s=e.sourceFile,l=A0(i),f=new Set;for(let v of l)xp(v)&&Re(v.name)&&f.add(v.name.escapedText);let d=ks(i.parameters,v=>Re(v.name)&&!f.has(v.name.escapedText)?v.name.getText(s):void 0);if(d===void 0)return;let g=D.updateJSDocParameterTag(o,o.tagName,D.createIdentifier(d),o.isBracketed,o.typeExpression,o.isNameFirst,o.comment),m=nr.ChangeTracker.with(e,v=>v.replaceJSDocComment(s,r,on(l,S=>S===o?g:S)));return K_(jQ,m,[_.Rename_param_tag_name_0_to_1,t.getText(s),d])}function w0e(e,t){let r=Vi(e,t);if(r.parent&&xp(r.parent)&&Re(r.parent.name)){let i=r.parent,o=dS(i),s=sb(i);if(o&&s)return{jsDocHost:o,signature:s,name:r.parent.name,jsDocParameterTag:i}}}var uP,jQ,HQ,G5e=gt({"src/services/codefixes/fixUnmatchedParameter.ts"(){"use strict";Fr(),Qa(),uP="deleteUnmatchedParameter",jQ="renameUnmatchedParameter",HQ=[_.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code],za({fixIds:[uP,jQ],errorCodes:HQ,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=[],s=w0e(r,i.start);if(s)return Sn(o,M5e(t,s)),Sn(o,F5e(t,s)),o},getAllCodeActions:function(t){let r=new Map;return ix(nr.ChangeTracker.with(t,i=>{ax(t,HQ,({file:o,start:s})=>{let l=w0e(o,s);l&&r.set(l.signature,Sn(r.get(l.signature),l.jsDocParameterTag))}),r.forEach((o,s)=>{if(t.fixId===uP){let l=new Set(o);i.filterJSDocTags(s.getSourceFile(),s,f=>!l.has(f))}})}))}})}});function B5e(e,t,r){let i=zr(Vi(e,r),Re);if(!i||i.parent.kind!==180)return;let s=t.getTypeChecker().getSymbolAtLocation(i);return wr(s?.declarations||Je,Kp(lm,$u,Nl))}function U5e(e,t,r,i){if(r.kind===268){e.insertModifierBefore(t,154,r.name);return}let o=r.kind===270?r:r.parent.parent;if(o.name&&o.namedBindings)return;let s=i.getTypeChecker();z6(o,f=>{if(wd(f.symbol,s).flags&111551)return!0})||e.insertModifierBefore(t,154,o)}function V5e(e,t,r,i){Ok.doChangeNamedToNamespaceOrDefault(t,i,e,r.parent)}var v9,R0e,j5e=gt({"src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts"(){"use strict";Fr(),Qa(),v9="fixUnreferenceableDecoratorMetadata",R0e=[_.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code],za({errorCodes:R0e,getCodeActions:e=>{let t=B5e(e.sourceFile,e.program,e.span.start);if(!t)return;let r=nr.ChangeTracker.with(e,s=>t.kind===273&&V5e(s,e.sourceFile,t,e.program)),i=nr.ChangeTracker.with(e,s=>U5e(s,e.sourceFile,t,e.program)),o;return r.length&&(o=Sn(o,K_(v9,r,_.Convert_named_imports_to_namespace_import))),i.length&&(o=Sn(o,K_(v9,i,_.Convert_to_type_only_import))),o},fixIds:[v9]})}});function O0e(e,t,r){e.replaceNode(t,r.parent,D.createKeywordTypeNode(157))}function vk(e,t){return Ma(bk,e,t,T9,_.Delete_all_unused_declarations)}function N0e(e,t,r){e.delete(t,L.checkDefined(Ga(r.parent,hH).typeParameters,"The type parameter to delete should exist"))}function WQ(e){return e.kind===100||e.kind===79&&(e.parent.kind===273||e.parent.kind===270)}function P0e(e){return e.kind===100?zr(e.parent,gl):void 0}function M0e(e,t){return pu(t.parent)&&Vo(t.parent.getChildren(e))===t}function F0e(e,t,r){e.delete(t,r.parent.kind===240?r.parent:r)}function H5e(e,t,r){mn(r.elements,i=>e.delete(t,i))}function G0e(e,t,r,i){t!==_.Property_0_is_declared_but_its_value_is_never_read.code&&(i.kind===138&&(i=Ga(i.parent,h2).typeParameter.name),Re(i)&&W5e(i)&&(e.replaceNode(r,i,D.createIdentifier(`_${i.text}`)),ha(i.parent)&&fI(i.parent).forEach(o=>{Re(o.name)&&e.replaceNode(r,o.name,D.createIdentifier(`_${o.name.text}`))})))}function W5e(e){switch(e.parent.kind){case 166:case 165:return!0;case 257:switch(e.parent.parent.parent.kind){case 247:case 246:return!0}}return!1}function b9(e,t,r,i,o,s,l,f){z5e(t,r,e,i,o,s,l,f),Re(t)&&js.Core.eachSymbolReferenceInFile(t,i,e,d=>{br(d.parent)&&d.parent.name===d&&(d=d.parent),!f&&X5e(d)&&r.delete(e,d.parent.parent)})}function z5e(e,t,r,i,o,s,l,f){let{parent:d}=e;if(ha(d))J5e(t,r,d,i,o,s,l,f);else if(!(f&&Re(e)&&js.Core.isSymbolReferencedInFile(e,i,r))){let g=lm(d)?e:ts(d)?d.parent:d;L.assert(g!==r,"should not delete whole source file"),t.delete(r,g)}}function J5e(e,t,r,i,o,s,l,f=!1){if(K5e(i,t,r,o,s,l,f))if(r.modifiers&&r.modifiers.length>0&&(!Re(r.name)||js.Core.isSymbolReferencedInFile(r.name,i,t)))for(let d of r.modifiers)Ha(d)&&e.deleteModifier(t,d);else!r.initializer&&B0e(r,i,o)&&e.delete(t,r)}function B0e(e,t,r){let i=e.parent.parameters.indexOf(e);return!js.Core.someSignatureUsage(e.parent,r,t,(o,s)=>!s||s.arguments.length>i)}function K5e(e,t,r,i,o,s,l){let{parent:f}=r;switch(f.kind){case 171:case 173:let d=f.parameters.indexOf(r),g=Nc(f)?f.name:f,m=js.Core.getReferencedSymbolsForNode(f.pos,g,o,i,s);if(m){for(let v of m)for(let S of v.references)if(S.kind===js.EntryKind.Node){let x=hL(S.node)&&Pa(S.node.parent)&&S.node.parent.arguments.length>d,A=br(S.node.parent)&&hL(S.node.parent.expression)&&Pa(S.node.parent.parent)&&S.node.parent.parent.arguments.length>d,w=(Nc(S.node.parent)||zm(S.node.parent))&&S.node.parent!==r.parent&&S.node.parent.parameters.length>d;if(x||A||w)return!1}}return!0;case 259:return f.name&&q5e(e,t,f.name)?U0e(f,r,l):!0;case 215:case 216:return U0e(f,r,l);case 175:return!1;case 174:return!0;default:return L.failBadSyntaxKind(f)}}function q5e(e,t,r){return!!js.Core.eachSymbolReferenceInFile(r,e,t,i=>Re(i)&&Pa(i.parent)&&i.parent.arguments.indexOf(i)>=0)}function U0e(e,t,r){let i=e.parameters,o=i.indexOf(t);return L.assert(o!==-1,"The parameter should already be in the list"),r?i.slice(o+1).every(s=>Re(s.name)&&!s.symbol.isReferenced):o===i.length-1}function X5e(e){return(ar(e.parent)&&e.parent.left===e||(Nz(e.parent)||tv(e.parent))&&e.parent.operand===e)&&Ol(e.parent.parent)}var bk,E9,T9,dP,S9,zQ,Y5e=gt({"src/services/codefixes/fixUnusedIdentifier.ts"(){"use strict";Fr(),Qa(),bk="unusedIdentifier",E9="unusedIdentifier_prefix",T9="unusedIdentifier_delete",dP="unusedIdentifier_deleteImports",S9="unusedIdentifier_infer",zQ=[_._0_is_declared_but_its_value_is_never_read.code,_._0_is_declared_but_never_used.code,_.Property_0_is_declared_but_its_value_is_never_read.code,_.All_imports_in_import_declaration_are_unused.code,_.All_destructured_elements_are_unused.code,_.All_variables_are_unused.code,_.All_type_parameters_are_unused.code],za({errorCodes:zQ,getCodeActions(e){let{errorCode:t,sourceFile:r,program:i,cancellationToken:o}=e,s=i.getTypeChecker(),l=i.getSourceFiles(),f=Vi(r,e.span.start);if(H_(f))return[vk(nr.ChangeTracker.with(e,v=>v.delete(r,f)),_.Remove_template_tag)];if(f.kind===29){let v=nr.ChangeTracker.with(e,S=>N0e(S,r,f));return[vk(v,_.Remove_type_parameters)]}let d=P0e(f);if(d){let v=nr.ChangeTracker.with(e,S=>S.delete(r,d));return[Ma(bk,v,[_.Remove_import_from_0,lle(d)],dP,_.Delete_all_unused_imports)]}else if(WQ(f)){let v=nr.ChangeTracker.with(e,S=>b9(r,f,S,s,l,i,o,!1));if(v.length)return[Ma(bk,v,[_.Remove_unused_declaration_for_Colon_0,f.getText(r)],dP,_.Delete_all_unused_imports)]}if(cm(f.parent)||g2(f.parent)){if(ha(f.parent.parent)){let v=f.parent.elements,S=[v.length>1?_.Remove_unused_declarations_for_Colon_0:_.Remove_unused_declaration_for_Colon_0,on(v,x=>x.getText(r)).join(", ")];return[vk(nr.ChangeTracker.with(e,x=>H5e(x,r,f.parent)),S)]}return[vk(nr.ChangeTracker.with(e,v=>v.delete(r,f.parent.parent)),_.Remove_unused_destructuring_declaration)]}if(M0e(r,f))return[vk(nr.ChangeTracker.with(e,v=>F0e(v,r,f.parent)),_.Remove_variable_statement)];let g=[];if(f.kind===138){let v=nr.ChangeTracker.with(e,x=>O0e(x,r,f)),S=Ga(f.parent,h2).typeParameter.name.text;g.push(Ma(bk,v,[_.Replace_infer_0_with_unknown,S],S9,_.Replace_all_unused_infer_with_unknown))}else{let v=nr.ChangeTracker.with(e,S=>b9(r,f,S,s,l,i,o,!1));if(v.length){let S=ts(f.parent)?f.parent:f;g.push(vk(v,[_.Remove_unused_declaration_for_Colon_0,S.getText(r)]))}}let m=nr.ChangeTracker.with(e,v=>G0e(v,t,r,f));return m.length&&g.push(Ma(bk,m,[_.Prefix_0_with_an_underscore,f.getText(r)],E9,_.Prefix_all_unused_declarations_with_where_possible)),g},fixIds:[E9,T9,dP,S9],getAllCodeActions:e=>{let{sourceFile:t,program:r,cancellationToken:i}=e,o=r.getTypeChecker(),s=r.getSourceFiles();return ns(e,zQ,(l,f)=>{let d=Vi(t,f.start);switch(e.fixId){case E9:G0e(l,f.code,t,d);break;case dP:{let g=P0e(d);g?l.delete(t,g):WQ(d)&&b9(t,d,l,o,s,r,i,!0);break}case T9:{if(d.kind===138||WQ(d))break;if(H_(d))l.delete(t,d);else if(d.kind===29)N0e(l,t,d);else if(cm(d.parent)){if(d.parent.parent.initializer)break;(!ha(d.parent.parent)||B0e(d.parent.parent,o,s))&&l.delete(t,d.parent.parent)}else{if(g2(d.parent.parent)&&d.parent.parent.parent.initializer)break;M0e(t,d)?F0e(l,t,d.parent):b9(t,d,l,o,s,r,i,!0)}break}case S9:d.kind===138&&O0e(l,t,d);break;default:L.fail(JSON.stringify(e.fixId))}})}})}});function V0e(e,t,r,i,o){let s=Vi(t,r),l=jn(s,ca);if(l.getStart(t)!==s.getStart(t)){let d=JSON.stringify({statementKind:L.formatSyntaxKind(l.kind),tokenKind:L.formatSyntaxKind(s.kind),errorCode:o,start:r,length:i});L.fail("Token and statement should start at the same point. "+d)}let f=(Va(l.parent)?l.parent:l).parent;if(!Va(l.parent)||l===Vo(l.parent.statements))switch(f.kind){case 242:if(f.elseStatement){if(Va(l.parent))break;e.replaceNode(t,l,D.createBlock(Je));return}case 244:case 245:e.delete(t,f);return}if(Va(l.parent)){let d=r+i,g=L.checkDefined($5e(PW(l.parent.statements,l),m=>m.pos<d),"Some statement should be last");e.deleteNodeRange(t,l,g)}else e.delete(t,l)}function $5e(e,t){let r;for(let i of e){if(!t(i))break;r=i}return r}var x9,JQ,Q5e=gt({"src/services/codefixes/fixUnreachableCode.ts"(){"use strict";Fr(),Qa(),x9="fixUnreachableCode",JQ=[_.Unreachable_code_detected.code],za({errorCodes:JQ,getCodeActions(e){if(e.program.getSyntacticDiagnostics(e.sourceFile,e.cancellationToken).length)return;let r=nr.ChangeTracker.with(e,i=>V0e(i,e.sourceFile,e.span.start,e.span.length,e.errorCode));return[Ma(x9,r,_.Remove_unreachable_code,x9,_.Remove_all_unreachable_code)]},fixIds:[x9],getAllCodeActions:e=>ns(e,JQ,(t,r)=>V0e(t,r.file,r.start,r.length,r.code))})}});function j0e(e,t,r){let i=Vi(t,r),o=Ga(i.parent,J0),s=i.getStart(t),l=o.statement.getStart(t),f=Bf(s,l,t)?l:xo(t.text,Yo(o,58,t).end,!0);e.deleteRange(t,{pos:s,end:f})}var A9,KQ,Z5e=gt({"src/services/codefixes/fixUnusedLabel.ts"(){"use strict";Fr(),Qa(),A9="fixUnusedLabel",KQ=[_.Unused_label.code],za({errorCodes:KQ,getCodeActions(e){let t=nr.ChangeTracker.with(e,r=>j0e(r,e.sourceFile,e.span.start));return[Ma(A9,t,_.Remove_unused_label,A9,_.Remove_all_unused_labels)]},fixIds:[A9],getAllCodeActions:e=>ns(e,KQ,(t,r)=>j0e(t,r.file,r.start))})}});function H0e(e,t,r,i,o){e.replaceNode(t,r,o.typeToTypeNode(i,r,void 0))}function W0e(e,t,r){let i=jn(Vi(e,t),e9e),o=i&&i.type;return o&&{typeNode:o,type:t9e(r,o)}}function e9e(e){switch(e.kind){case 231:case 176:case 177:case 259:case 174:case 178:case 197:case 171:case 170:case 166:case 169:case 168:case 175:case 262:case 213:case 257:return!0;default:return!1}}function t9e(e,t){if(T2(t)){let r=e.getTypeFromTypeNode(t.type);return r===e.getNeverType()||r===e.getVoidType()?r:e.getUnionType(Sn([r,e.getUndefinedType()],t.postfix?void 0:e.getNullType()))}return e.getTypeFromTypeNode(t)}var qQ,C9,XQ,n9e=gt({"src/services/codefixes/fixJSDocTypes.ts"(){"use strict";Fr(),Qa(),qQ="fixJSDocTypes_plain",C9="fixJSDocTypes_nullable",XQ=[_.JSDoc_types_can_only_be_used_inside_documentation_comments.code,_._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code,_._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code],za({errorCodes:XQ,getCodeActions(e){let{sourceFile:t}=e,r=e.program.getTypeChecker(),i=W0e(t,e.span.start,r);if(!i)return;let{typeNode:o,type:s}=i,l=o.getText(t),f=[d(s,qQ,_.Change_all_jsdoc_style_types_to_TypeScript)];return o.kind===317&&f.push(d(s,C9,_.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)),f;function d(g,m,v){let S=nr.ChangeTracker.with(e,x=>H0e(x,t,o,g,r));return Ma("jdocTypes",S,[_.Change_0_to_1,l,r.typeToString(g)],m,v)}},fixIds:[qQ,C9],getAllCodeActions(e){let{fixId:t,program:r,sourceFile:i}=e,o=r.getTypeChecker();return ns(e,XQ,(s,l)=>{let f=W0e(l.file,l.start,o);if(!f)return;let{typeNode:d,type:g}=f,m=d.kind===317&&t===C9?o.getNullableType(g,32768):g;H0e(s,i,d,m,o)})}})}});function z0e(e,t,r){e.replaceNodeWithText(t,r,`${r.text}()`)}function J0e(e,t){let r=Vi(e,t);if(br(r.parent)){let i=r.parent;for(;br(i.parent);)i=i.parent;return i.name}if(Re(r))return r}var I9,YQ,r9e=gt({"src/services/codefixes/fixMissingCallParentheses.ts"(){"use strict";Fr(),Qa(),I9="fixMissingCallParentheses",YQ=[_.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code],za({errorCodes:YQ,fixIds:[I9],getCodeActions(e){let{sourceFile:t,span:r}=e,i=J0e(t,r.start);if(!i)return;let o=nr.ChangeTracker.with(e,s=>z0e(s,e.sourceFile,i));return[Ma(I9,o,_.Add_missing_call_parentheses,I9,_.Add_all_missing_call_parentheses)]},getAllCodeActions:e=>ns(e,YQ,(t,r)=>{let i=J0e(r.file,r.start);i&&z0e(t,r.file,i)})})}});function i9e(e){if(e.type)return e.type;if(wi(e.parent)&&e.parent.type&&Jm(e.parent.type))return e.parent.type.type}function K0e(e,t){let r=Vi(e,t),i=Xd(r);if(!i)return;let o;switch(i.kind){case 171:o=i.name;break;case 259:case 215:o=Yo(i,98,e);break;case 216:let s=i.typeParameters?29:20;o=Yo(i,s,e)||Vo(i.parameters);break;default:return}return o&&{insertBefore:o,returnType:i9e(i)}}function q0e(e,t,{insertBefore:r,returnType:i}){if(i){let o=Jw(i);(!o||o.kind!==79||o.text!=="Promise")&&e.replaceNode(t,i,D.createTypeReferenceNode("Promise",D.createNodeArray([i])))}e.insertModifierBefore(t,132,r)}var L9,$Q,a9e=gt({"src/services/codefixes/fixAwaitInSyncFunction.ts"(){"use strict";Fr(),Qa(),L9="fixAwaitInSyncFunction",$Q=[_.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,_.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,_.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code],za({errorCodes:$Q,getCodeActions(e){let{sourceFile:t,span:r}=e,i=K0e(t,r.start);if(!i)return;let o=nr.ChangeTracker.with(e,s=>q0e(s,t,i));return[Ma(L9,o,_.Add_async_modifier_to_containing_function,L9,_.Add_all_missing_async_modifiers)]},fixIds:[L9],getAllCodeActions:function(t){let r=new Map;return ns(t,$Q,(i,o)=>{let s=K0e(o.file,o.start);!s||!V_(r,zo(s.insertBefore))||q0e(i,t.sourceFile,s)})}})}});function X0e(e,t,r,i,o){let s,l;if(i===_._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code)s=t,l=t+r;else if(i===_._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code){let f=o.program.getTypeChecker(),d=Vi(e,t).parent;L.assert(rb(d),"error span of fixPropertyOverrideAccessor should only be on an accessor");let g=d.parent;L.assert(Yr(g),"erroneous accessors should only be inside classes");let m=Wp(mZ(g,f));if(!m)return[];let v=Gi(wA(d.name)),S=f.getPropertyOfType(f.getTypeAtLocation(m),v);if(!S||!S.valueDeclaration)return[];s=S.valueDeclaration.pos,l=S.valueDeclaration.end,e=Gn(S.valueDeclaration)}else L.fail("fixPropertyOverrideAccessor codefix got unexpected error code "+i);return uEe(e,o.program,s,l,o,_.Generate_get_and_set_accessors.message)}var QQ,k9,o9e=gt({"src/services/codefixes/fixPropertyOverrideAccessor.ts"(){"use strict";Fr(),Qa(),QQ=[_._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code,_._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code],k9="fixPropertyOverrideAccessor",za({errorCodes:QQ,getCodeActions(e){let t=X0e(e.sourceFile,e.span.start,e.span.length,e.errorCode,e);if(t)return[Ma(k9,t,_.Generate_get_and_set_accessors,k9,_.Generate_get_and_set_accessors_for_all_overriding_properties)]},fixIds:[k9],getAllCodeActions:e=>ns(e,QQ,(t,r)=>{let i=X0e(r.file,r.start,r.length,r.code,e);if(i)for(let o of i)t.pushRaw(e.sourceFile,o)})})}});function s9e(e,t){switch(e){case _.Parameter_0_implicitly_has_an_1_type.code:case _.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return Sf(Xd(t))?_.Infer_type_of_0_from_usage:_.Infer_parameter_types_from_usage;case _.Rest_parameter_0_implicitly_has_an_any_type.code:case _.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return _.Infer_parameter_types_from_usage;case _.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:return _.Infer_this_type_of_0_from_usage;default:return _.Infer_type_of_0_from_usage}}function c9e(e){switch(e){case _.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code:return _.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code;case _.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return _.Variable_0_implicitly_has_an_1_type.code;case _.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return _.Parameter_0_implicitly_has_an_1_type.code;case _.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return _.Rest_parameter_0_implicitly_has_an_any_type.code;case _.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code:return _.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code;case _._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code:return _._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code;case _.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code:return _.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code;case _.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return _.Member_0_implicitly_has_an_1_type.code}return e}function Y0e(e,t,r,i,o,s,l,f,d){if(!yI(r.kind)&&r.kind!==79&&r.kind!==25&&r.kind!==108)return;let{parent:g}=r,m=s1(t,o,d,f);switch(i=c9e(i),i){case _.Member_0_implicitly_has_an_1_type.code:case _.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code:if(wi(g)&&l(g)||Na(g)||$d(g))return $0e(e,m,t,g,o,f,s),m.writeFixes(e),g;if(br(g)){let x=Ek(g.name,o,s),A=lk(x,g,o,f);if(A){let w=D.createJSDocTypeTag(void 0,D.createJSDocTypeExpression(A),void 0);e.addJSDocTags(t,Ga(g.parent.parent,Ol),[w])}return m.writeFixes(e),g}return;case _.Variable_0_implicitly_has_an_1_type.code:{let x=o.getTypeChecker().getSymbolAtLocation(r);return x&&x.valueDeclaration&&wi(x.valueDeclaration)&&l(x.valueDeclaration)?($0e(e,m,Gn(x.valueDeclaration),x.valueDeclaration,o,f,s),m.writeFixes(e),x.valueDeclaration):void 0}}let v=Xd(r);if(v===void 0)return;let S;switch(i){case _.Parameter_0_implicitly_has_an_1_type.code:if(Sf(v)){Q0e(e,m,t,v,o,f,s),S=v;break}case _.Rest_parameter_0_implicitly_has_an_any_type.code:if(l(v)){let x=Ga(g,ha);l9e(e,m,t,x,v,o,f,s),S=x}break;case _.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code:case _._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code:p_(v)&&Re(v.name)&&(D9(e,m,t,v,Ek(v.name,o,s),o,f),S=v);break;case _.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code:Sf(v)&&(Q0e(e,m,t,v,o,f,s),S=v);break;case _.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:nr.isThisTypeAnnotatable(v)&&l(v)&&(u9e(e,t,v,o,f,s),S=v);break;default:return L.fail(String(i))}return m.writeFixes(e),S}function $0e(e,t,r,i,o,s,l){Re(i.name)&&D9(e,t,r,i,Ek(i.name,o,l),o,s)}function l9e(e,t,r,i,o,s,l,f){if(!Re(i.name))return;let d=_9e(o,r,s,f);if(L.assert(o.parameters.length===d.length,"Parameter count and inference count should match"),Yn(o))Z0e(e,r,d,s,l);else{let g=xs(o)&&!Yo(o,20,r);g&&e.insertNodeBefore(r,Vo(o.parameters),D.createToken(20));for(let{declaration:m,type:v}of d)m&&!m.type&&!m.initializer&&D9(e,t,r,m,v,s,l);g&&e.insertNodeAfter(r,To(o.parameters),D.createToken(21))}}function u9e(e,t,r,i,o,s){let l=eEe(r,t,i,s);if(!l||!l.length)return;let f=eZ(i,l,s).thisParameter(),d=lk(f,r,i,o);d&&(Yn(r)?d9e(e,t,r,d):e.tryInsertThisTypeAnnotation(t,r,d))}function d9e(e,t,r,i){e.addJSDocTags(t,r,[D.createJSDocThisTag(void 0,D.createJSDocTypeExpression(i))])}function Q0e(e,t,r,i,o,s,l){let f=Sl(i.parameters);if(f&&Re(i.name)&&Re(f.name)){let d=Ek(i.name,o,l);d===o.getTypeChecker().getAnyType()&&(d=Ek(f.name,o,l)),Yn(i)?Z0e(e,r,[{declaration:f,type:d}],o,s):D9(e,t,r,f,d,o,s)}}function D9(e,t,r,i,o,s,l){let f=lk(o,i,s,l);if(f)if(Yn(r)&&i.kind!==168){let d=wi(i)?zr(i.parent.parent,Bc):i;if(!d)return;let g=D.createJSDocTypeExpression(f),m=p_(i)?D.createJSDocReturnTag(void 0,g,void 0):D.createJSDocTypeTag(void 0,g,void 0);e.addJSDocTags(r,d,[m])}else f9e(f,i,r,e,t,Do(s.getCompilerOptions()))||e.tryInsertTypeAnnotation(r,i,f)}function f9e(e,t,r,i,o,s){let l=l1(e,s);return l&&i.tryInsertTypeAnnotation(r,t,l.typeNode)?(mn(l.symbols,f=>o.addImportFromExportedSymbol(f,!0)),!0):!1}function Z0e(e,t,r,i,o){let s=r.length&&r[0].declaration.parent;if(!s)return;let l=Zi(r,f=>{let d=f.declaration;if(d.initializer||Vy(d)||!Re(d.name))return;let g=f.type&&lk(f.type,d,i,o);if(g){let m=D.cloneNode(d.name);return Jn(m,7168),{name:D.cloneNode(d.name),param:d,isOptional:!!f.isOptional,typeNode:g}}});if(l.length)if(xs(s)||ms(s)){let f=xs(s)&&!Yo(s,20,t);f&&e.insertNodeBefore(t,Vo(s.parameters),D.createToken(20)),mn(l,({typeNode:d,param:g})=>{let m=D.createJSDocTypeTag(void 0,D.createJSDocTypeExpression(d)),v=D.createJSDocComment(void 0,[m]);e.insertNodeAt(t,g.getStart(t),v,{suffix:" "})}),f&&e.insertNodeAfter(t,To(s.parameters),D.createToken(21))}else{let f=on(l,({name:d,typeNode:g,isOptional:m})=>D.createJSDocParameterTag(void 0,d,!!m,D.createJSDocTypeExpression(g),!1,void 0));e.addJSDocTags(t,s,f)}}function ZQ(e,t,r){return Zi(js.getReferenceEntriesForNode(-1,e,t,t.getSourceFiles(),r),i=>i.kind!==js.EntryKind.Span?zr(i.node,Re):void 0)}function Ek(e,t,r){let i=ZQ(e,t,r);return eZ(t,i,r).single()}function _9e(e,t,r,i){let o=eEe(e,t,r,i);return o&&eZ(r,o,i).parameters(e)||e.parameters.map(s=>({declaration:s,type:Re(s.name)?Ek(s.name,r,i):r.getTypeChecker().getAnyType()}))}function eEe(e,t,r,i){let o;switch(e.kind){case 173:o=Yo(e,135,t);break;case 216:case 215:let s=e.parent;o=(wi(s)||Na(s))&&Re(s.name)?s.name:e.name;break;case 259:case 171:case 170:o=e.name;break}if(o)return ZQ(o,r,i)}function eZ(e,t,r){let i=e.getTypeChecker(),o={string:()=>i.getStringType(),number:()=>i.getNumberType(),Array:Ce=>i.createArrayType(Ce),Promise:Ce=>i.createPromiseType(Ce)},s=[i.getStringType(),i.getNumberType(),i.createArrayType(i.getAnyType()),i.createPromiseType(i.getAnyType())];return{single:d,parameters:g,thisParameter:m};function l(){return{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0}}function f(Ce){let Ie=new Map;for(let Ne of Ce)Ne.properties&&Ne.properties.forEach((Le,Ye)=>{Ie.has(Ye)||Ie.set(Ye,[]),Ie.get(Ye).push(Le)});let Be=new Map;return Ie.forEach((Ne,Le)=>{Be.set(Le,f(Ne))}),{isNumber:Ce.some(Ne=>Ne.isNumber),isString:Ce.some(Ne=>Ne.isString),isNumberOrString:Ce.some(Ne=>Ne.isNumberOrString),candidateTypes:Uo(Ce,Ne=>Ne.candidateTypes),properties:Be,calls:Uo(Ce,Ne=>Ne.calls),constructs:Uo(Ce,Ne=>Ne.constructs),numberIndex:mn(Ce,Ne=>Ne.numberIndex),stringIndex:mn(Ce,Ne=>Ne.stringIndex),candidateThisTypes:Uo(Ce,Ne=>Ne.candidateThisTypes),inferredTypes:void 0}}function d(){return $(v(t))}function g(Ce){if(t.length===0||!Ce.parameters)return;let Ie=l();for(let Ne of t)r.throwIfCancellationRequested(),S(Ne,Ie);let Be=[...Ie.constructs||[],...Ie.calls||[]];return Ce.parameters.map((Ne,Le)=>{let Ye=[],_t=Fm(Ne),ct=!1;for(let We of Be)if(We.argumentTypes.length<=Le)ct=Yn(Ce),Ye.push(i.getUndefinedType());else if(_t)for(let qe=Le;qe<We.argumentTypes.length;qe++)Ye.push(i.getBaseTypeOfLiteralType(We.argumentTypes[qe]));else Ye.push(i.getBaseTypeOfLiteralType(We.argumentTypes[Le]));if(Re(Ne.name)){let We=v(ZQ(Ne.name,e,r));Ye.push(..._t?Zi(We,i.getElementTypeOfArrayType):We)}let Rt=$(Ye);return{type:_t?i.createArrayType(Rt):Rt,isOptional:ct&&!_t,declaration:Ne}})}function m(){let Ce=l();for(let Ie of t)r.throwIfCancellationRequested(),S(Ie,Ce);return $(Ce.candidateThisTypes||Je)}function v(Ce){let Ie=l();for(let Be of Ce)r.throwIfCancellationRequested(),S(Be,Ie);return Z(Ie)}function S(Ce,Ie){for(;zI(Ce);)Ce=Ce.parent;switch(Ce.parent.kind){case 241:A(Ce,Ie);break;case 222:Ie.isNumber=!0;break;case 221:w(Ce.parent,Ie);break;case 223:C(Ce,Ce.parent,Ie);break;case 292:case 293:P(Ce.parent,Ie);break;case 210:case 211:Ce.parent.expression===Ce?F(Ce.parent,Ie):x(Ce,Ie);break;case 208:B(Ce.parent,Ie);break;case 209:q(Ce.parent,Ce,Ie);break;case 299:case 300:W(Ce.parent,Ie);break;case 169:Y(Ce.parent,Ie);break;case 257:{let{name:Be,initializer:Ne}=Ce.parent;if(Ce===Be){Ne&&ke(Ie,i.getTypeAtLocation(Ne));break}}default:return x(Ce,Ie)}}function x(Ce,Ie){Dh(Ce)&&ke(Ie,i.getContextualType(Ce))}function A(Ce,Ie){ke(Ie,Pa(Ce)?i.getVoidType():i.getAnyType())}function w(Ce,Ie){switch(Ce.operator){case 45:case 46:case 40:case 54:Ie.isNumber=!0;break;case 39:Ie.isNumberOrString=!0;break}}function C(Ce,Ie,Be){switch(Ie.operatorToken.kind){case 42:case 41:case 43:case 44:case 47:case 48:case 49:case 50:case 51:case 52:case 65:case 67:case 66:case 68:case 69:case 73:case 74:case 78:case 70:case 72:case 71:case 40:case 29:case 32:case 31:case 33:let Ne=i.getTypeAtLocation(Ie.left===Ce?Ie.right:Ie.left);Ne.flags&1056?ke(Be,Ne):Be.isNumber=!0;break;case 64:case 39:let Le=i.getTypeAtLocation(Ie.left===Ce?Ie.right:Ie.left);Le.flags&1056?ke(Be,Le):Le.flags&296?Be.isNumber=!0:Le.flags&402653316?Be.isString=!0:Le.flags&1||(Be.isNumberOrString=!0);break;case 63:case 34:case 36:case 37:case 35:ke(Be,i.getTypeAtLocation(Ie.left===Ce?Ie.right:Ie.left));break;case 101:Ce===Ie.left&&(Be.isString=!0);break;case 56:case 60:Ce===Ie.left&&(Ce.parent.parent.kind===257||Iu(Ce.parent.parent,!0))&&ke(Be,i.getTypeAtLocation(Ie.right));break;case 55:case 27:case 102:break}}function P(Ce,Ie){ke(Ie,i.getTypeAtLocation(Ce.parent.parent.expression))}function F(Ce,Ie){let Be={argumentTypes:[],return_:l()};if(Ce.arguments)for(let Ne of Ce.arguments)Be.argumentTypes.push(i.getTypeAtLocation(Ne));S(Ce,Be.return_),Ce.kind===210?(Ie.calls||(Ie.calls=[])).push(Be):(Ie.constructs||(Ie.constructs=[])).push(Be)}function B(Ce,Ie){let Be=Bs(Ce.name.text);Ie.properties||(Ie.properties=new Map);let Ne=Ie.properties.get(Be)||l();S(Ce,Ne),Ie.properties.set(Be,Ne)}function q(Ce,Ie,Be){if(Ie===Ce.argumentExpression){Be.isNumberOrString=!0;return}else{let Ne=i.getTypeAtLocation(Ce.argumentExpression),Le=l();S(Ce,Le),Ne.flags&296?Be.numberIndex=Le:Be.stringIndex=Le}}function W(Ce,Ie){let Be=wi(Ce.parent.parent)?Ce.parent.parent:Ce.parent;Pe(Ie,i.getTypeAtLocation(Be))}function Y(Ce,Ie){Pe(Ie,i.getTypeAtLocation(Ce.parent))}function R(Ce,Ie){let Be=[];for(let Ne of Ce)for(let{high:Le,low:Ye}of Ie)Le(Ne)&&(L.assert(!Ye(Ne),"Priority can't have both low and high"),Be.push(Ye));return Ce.filter(Ne=>Be.every(Le=>!Le(Ne)))}function ie(Ce){return $(Z(Ce))}function $(Ce){if(!Ce.length)return i.getAnyType();let Ie=i.getUnionType([i.getStringType(),i.getNumberType()]),Ne=R(Ce,[{high:Ye=>Ye===i.getStringType()||Ye===i.getNumberType(),low:Ye=>Ye===Ie},{high:Ye=>!(Ye.flags&16385),low:Ye=>!!(Ye.flags&16385)},{high:Ye=>!(Ye.flags&114689)&&!(Ur(Ye)&16),low:Ye=>!!(Ur(Ye)&16)}]),Le=Ne.filter(Ye=>Ur(Ye)&16);return Le.length&&(Ne=Ne.filter(Ye=>!(Ur(Ye)&16)),Ne.push(fe(Le))),i.getWidenedType(i.getUnionType(Ne.map(i.getBaseTypeOfLiteralType),2))}function fe(Ce){if(Ce.length===1)return Ce[0];let Ie=[],Be=[],Ne=[],Le=[],Ye=!1,_t=!1,ct=Nf();for(let qe of Ce){for(let tn of i.getPropertiesOfType(qe))ct.add(tn.name,tn.valueDeclaration?i.getTypeOfSymbolAtLocation(tn,tn.valueDeclaration):i.getAnyType());Ie.push(...i.getSignaturesOfType(qe,0)),Be.push(...i.getSignaturesOfType(qe,1));let zt=i.getIndexInfoOfType(qe,0);zt&&(Ne.push(zt.type),Ye=Ye||zt.isReadonly);let Qt=i.getIndexInfoOfType(qe,1);Qt&&(Le.push(Qt.type),_t=_t||Qt.isReadonly)}let Rt=uae(ct,(qe,zt)=>{let Qt=zt.length<Ce.length?16777216:0,tn=i.createSymbol(4|Qt,qe);return tn.links.type=i.getUnionType(zt),[qe,tn]}),We=[];return Ne.length&&We.push(i.createIndexInfo(i.getStringType(),i.getUnionType(Ne),Ye)),Le.length&&We.push(i.createIndexInfo(i.getNumberType(),i.getUnionType(Le),_t)),i.createAnonymousType(Ce[0].symbol,Rt,Ie,Be,We)}function Z(Ce){var Ie,Be,Ne;let Le=[];Ce.isNumber&&Le.push(i.getNumberType()),Ce.isString&&Le.push(i.getStringType()),Ce.isNumberOrString&&Le.push(i.getUnionType([i.getStringType(),i.getNumberType()])),Ce.numberIndex&&Le.push(i.createArrayType(ie(Ce.numberIndex))),((Ie=Ce.properties)!=null&&Ie.size||(Be=Ce.constructs)!=null&&Be.length||Ce.stringIndex)&&Le.push(U(Ce));let Ye=(Ce.candidateTypes||[]).map(ct=>i.getBaseTypeOfLiteralType(ct)),_t=(Ne=Ce.calls)!=null&&Ne.length?U(Ce):void 0;return _t&&Ye?Le.push(i.getUnionType([_t,...Ye],2)):(_t&&Le.push(_t),Fn(Ye)&&Le.push(...Ye)),Le.push(...re(Ce)),Le}function U(Ce){let Ie=new Map;Ce.properties&&Ce.properties.forEach((Ye,_t)=>{let ct=i.createSymbol(4,_t);ct.links.type=ie(Ye),Ie.set(_t,ct)});let Be=Ce.calls?[we(Ce.calls)]:[],Ne=Ce.constructs?[we(Ce.constructs)]:[],Le=Ce.stringIndex?[i.createIndexInfo(i.getStringType(),ie(Ce.stringIndex),!1)]:[];return i.createAnonymousType(void 0,Ie,Be,Ne,Le)}function re(Ce){if(!Ce.properties||!Ce.properties.size)return[];let Ie=s.filter(Be=>le(Be,Ce));return 0<Ie.length&&Ie.length<3?Ie.map(Be=>_e(Be,Ce)):[]}function le(Ce,Ie){return Ie.properties?!Ld(Ie.properties,(Be,Ne)=>{let Le=i.getTypeOfPropertyOfType(Ce,Ne);return Le?Be.calls?!i.getSignaturesOfType(Le,0).length||!i.isTypeAssignableTo(Le,Ve(Be.calls)):!i.isTypeAssignableTo(Le,ie(Be)):!0}):!1}function _e(Ce,Ie){if(!(Ur(Ce)&4)||!Ie.properties)return Ce;let Be=Ce.target,Ne=Wp(Be.typeParameters);if(!Ne)return Ce;let Le=[];return Ie.properties.forEach((Ye,_t)=>{let ct=i.getTypeOfPropertyOfType(Be,_t);L.assert(!!ct,"generic should have all the properties of its reference."),Le.push(...ge(ct,ie(Ye),Ne))}),o[Ce.symbol.escapedName]($(Le))}function ge(Ce,Ie,Be){if(Ce===Be)return[Ie];if(Ce.flags&3145728)return Uo(Ce.types,Ye=>ge(Ye,Ie,Be));if(Ur(Ce)&4&&Ur(Ie)&4){let Ye=i.getTypeArguments(Ce),_t=i.getTypeArguments(Ie),ct=[];if(Ye&&_t)for(let Rt=0;Rt<Ye.length;Rt++)_t[Rt]&&ct.push(...ge(Ye[Rt],_t[Rt],Be));return ct}let Ne=i.getSignaturesOfType(Ce,0),Le=i.getSignaturesOfType(Ie,0);return Ne.length===1&&Le.length===1?X(Ne[0],Le[0],Be):[]}function X(Ce,Ie,Be){var Ne;let Le=[];for(let ct=0;ct<Ce.parameters.length;ct++){let Rt=Ce.parameters[ct],We=Ie.parameters[ct],qe=Ce.declaration&&Fm(Ce.declaration.parameters[ct]);if(!We)break;let zt=Rt.valueDeclaration?i.getTypeOfSymbolAtLocation(Rt,Rt.valueDeclaration):i.getAnyType(),Qt=qe&&i.getElementTypeOfArrayType(zt);Qt&&(zt=Qt);let tn=((Ne=zr(We,Zp))==null?void 0:Ne.links.type)||(We.valueDeclaration?i.getTypeOfSymbolAtLocation(We,We.valueDeclaration):i.getAnyType());Le.push(...ge(zt,tn,Be))}let Ye=i.getReturnTypeOfSignature(Ce),_t=i.getReturnTypeOfSignature(Ie);return Le.push(...ge(Ye,_t,Be)),Le}function Ve(Ce){return i.createAnonymousType(void 0,Ua(),[we(Ce)],Je,Je)}function we(Ce){let Ie=[],Be=Math.max(...Ce.map(Le=>Le.argumentTypes.length));for(let Le=0;Le<Be;Le++){let Ye=i.createSymbol(1,Bs(`arg${Le}`));Ye.links.type=$(Ce.map(_t=>_t.argumentTypes[Le]||i.getUndefinedType())),Ce.some(_t=>_t.argumentTypes[Le]===void 0)&&(Ye.flags|=16777216),Ie.push(Ye)}let Ne=ie(f(Ce.map(Le=>Le.return_)));return i.createSignature(void 0,void 0,void 0,Ie,Ne,void 0,Be,0)}function ke(Ce,Ie){Ie&&!(Ie.flags&1)&&!(Ie.flags&131072)&&(Ce.candidateTypes||(Ce.candidateTypes=[])).push(Ie)}function Pe(Ce,Ie){Ie&&!(Ie.flags&1)&&!(Ie.flags&131072)&&(Ce.candidateThisTypes||(Ce.candidateThisTypes=[])).push(Ie)}}var w9,tZ,p9e=gt({"src/services/codefixes/inferFromUsage.ts"(){"use strict";Fr(),Qa(),w9="inferFromUsage",tZ=[_.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code,_.Variable_0_implicitly_has_an_1_type.code,_.Parameter_0_implicitly_has_an_1_type.code,_.Rest_parameter_0_implicitly_has_an_any_type.code,_.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code,_._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code,_.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code,_.Member_0_implicitly_has_an_1_type.code,_.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code,_.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,_.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,_.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code,_.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code,_._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code,_.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code,_.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,_.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code],za({errorCodes:tZ,getCodeActions(e){let{sourceFile:t,program:r,span:{start:i},errorCode:o,cancellationToken:s,host:l,preferences:f}=e,d=Vi(t,i),g,m=nr.ChangeTracker.with(e,S=>{g=Y0e(S,t,d,o,r,s,h0,l,f)}),v=g&&sa(g);return!v||m.length===0?void 0:[Ma(w9,m,[s9e(o,d),Qc(v)],w9,_.Infer_all_types_from_usage)]},fixIds:[w9],getAllCodeActions(e){let{sourceFile:t,program:r,cancellationToken:i,host:o,preferences:s}=e,l=W2();return ns(e,tZ,(f,d)=>{Y0e(f,t,Vi(d.file,d.start),d.code,r,i,l,o,s)})}})}});function tEe(e,t,r){if(Yn(e))return;let i=Vi(e,r),o=jn(i,Ds),s=o?.type;if(!s)return;let l=t.getTypeFromTypeNode(s),f=t.getAwaitedType(l)||t.getVoidType(),d=t.typeToTypeNode(f,s,void 0);if(d)return{returnTypeNode:s,returnType:l,promisedTypeNode:d,promisedType:f}}function nEe(e,t,r,i){e.replaceNode(t,r,D.createTypeReferenceNode("Promise",[i]))}var R9,nZ,m9e=gt({"src/services/codefixes/fixReturnTypeInAsyncFunction.ts"(){"use strict";Fr(),Qa(),R9="fixReturnTypeInAsyncFunction",nZ=[_.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0.code],za({errorCodes:nZ,fixIds:[R9],getCodeActions:function(t){let{sourceFile:r,program:i,span:o}=t,s=i.getTypeChecker(),l=tEe(r,i.getTypeChecker(),o.start);if(!l)return;let{returnTypeNode:f,returnType:d,promisedTypeNode:g,promisedType:m}=l,v=nr.ChangeTracker.with(t,S=>nEe(S,r,f,g));return[Ma(R9,v,[_.Replace_0_with_Promise_1,s.typeToString(d),s.typeToString(m)],R9,_.Fix_all_incorrect_return_type_of_an_async_functions)]},getAllCodeActions:e=>ns(e,nZ,(t,r)=>{let i=tEe(r.file,e.program.getTypeChecker(),r.start);i&&nEe(t,r.file,i.returnTypeNode,i.promisedTypeNode)})})}});function rEe(e,t,r,i){let{line:o}=Gs(t,r);(!i||_0(i,o))&&e.insertCommentBeforeLine(t,o,r," @ts-ignore")}var rZ,iZ,aZ,h9e=gt({"src/services/codefixes/disableJsDiagnostics.ts"(){"use strict";Fr(),Qa(),rZ="disableJsDiagnostics",iZ="disableJsDiagnostics",aZ=Zi(Object.keys(_),e=>{let t=_[e];return t.category===1?t.code:void 0}),za({errorCodes:aZ,getCodeActions:function(t){let{sourceFile:r,program:i,span:o,host:s,formatContext:l}=t;if(!Yn(r)||!HR(r,i.getCompilerOptions()))return;let f=r.checkJsDirective?"":bb(s,l.options),d=[K_(rZ,[_ve(r.fileName,[GN(r.checkJsDirective?Wc(r.checkJsDirective.pos,r.checkJsDirective.end):il(0,0),`// @ts-nocheck${f}`)])],_.Disable_checking_for_this_file)];return nr.isValidLocationToAddComment(r,o.start)&&d.unshift(Ma(rZ,nr.ChangeTracker.with(t,g=>rEe(g,r,o.start)),_.Ignore_this_error_message,iZ,_.Add_ts_ignore_to_all_error_messages)),d},fixIds:[iZ],getAllCodeActions:e=>{let t=new Set;return ns(e,aZ,(r,i)=>{nr.isValidLocationToAddComment(i.file,i.start)&&rEe(r,i.file,i.start,t)})}})}});function oZ(e,t,r,i,o,s,l){let f=e.symbol.members;for(let d of t)f.has(d.escapedName)||iEe(d,e,r,i,o,s,l,void 0)}function sx(e){return{trackSymbol:()=>!1,moduleResolverHost:oY(e.program,e.host)}}function iEe(e,t,r,i,o,s,l,f,d=3,g=!1){var m;let v=e.getDeclarations(),S=v?.[0],x=i.program.getTypeChecker(),A=Do(i.program.getCompilerOptions()),w=(m=S?.kind)!=null?m:168,C=cc(sa(S),!1),P=S?uu(S):0,F=P&4?4:P&16?16:0;S&&Id(S)&&(F|=128);let B=$(),q=x.getWidenedType(x.getTypeOfSymbolAtLocation(e,t)),W=!!(e.flags&16777216),Y=!!(t.flags&16777216)||g,R=J_(r,o);switch(w){case 168:case 169:let le=R===0?268435456:void 0,_e=x.typeToTypeNode(q,t,le,sx(i));if(s){let X=l1(_e,A);X&&(_e=X.typeNode,cx(s,X.symbols))}l(D.createPropertyDeclaration(B,S?Z(C):e.getName(),W&&d&2?D.createToken(57):void 0,_e,void 0));break;case 174:case 175:{L.assertIsDefined(v);let X=x.typeToTypeNode(q,t,void 0,sx(i)),Ve=kT(v,S),we=Ve.secondAccessor?[Ve.firstAccessor,Ve.secondAccessor]:[Ve.firstAccessor];if(s){let ke=l1(X,A);ke&&(X=ke.typeNode,cx(s,ke.symbols))}for(let ke of we)if(p_(ke))l(D.createGetAccessorDeclaration(B,Z(C),Je,re(X),U(f,R,Y)));else{L.assertNode(ke,Sf,"The counterpart to a getter should be a setter");let Pe=VI(ke),Ce=Pe&&Re(Pe.name)?vr(Pe.name):void 0;l(D.createSetAccessorDeclaration(B,Z(C),cZ(1,[Ce],[re(X)],1,!1),U(f,R,Y)))}break}case 170:case 171:L.assertIsDefined(v);let ge=q.isUnion()?Uo(q.types,X=>X.getCallSignatures()):q.getCallSignatures();if(!vt(ge))break;if(v.length===1){L.assert(ge.length===1,"One declaration implies one signature");let X=ge[0];ie(R,X,B,Z(C),U(f,R,Y));break}for(let X of ge)ie(R,X,B,Z(C));if(!Y)if(v.length>ge.length){let X=x.getSignatureFromDeclaration(v[v.length-1]);ie(R,X,B,Z(C),U(f,R))}else L.assert(v.length===ge.length,"Declarations and signatures should match count"),l(v9e(x,i,t,ge,Z(C),W&&!!(d&1),B,R,f));break}function ie(le,_e,ge,X,Ve){let we=O9(171,i,le,_e,Ve,X,ge,W&&!!(d&1),t,s);we&&l(we)}function $(){let le;return F&&(le=_A(le,D.createModifiersFromModifierFlags(F))),fe()&&(le=Sn(le,D.createToken(161))),le&&D.createNodeArray(le)}function fe(){return!!(i.program.getCompilerOptions().noImplicitOverride&&S&&B0(S))}function Z(le){return Re(le)&&le.escapedText==="constructor"?D.createComputedPropertyName(D.createStringLiteral(vr(le),R===0)):cc(le,!1)}function U(le,_e,ge){return ge?void 0:cc(le,!1)||lZ(_e)}function re(le){return cc(le,!1)}}function O9(e,t,r,i,o,s,l,f,d,g){let m=t.program,v=m.getTypeChecker(),S=Do(m.getCompilerOptions()),x=Yn(d),A=524545|(r===0?268435456:0),w=v.signatureToSignatureDeclaration(i,e,d,A,sx(t));if(!w)return;let C=x?void 0:w.typeParameters,P=w.parameters,F=x?void 0:w.type;if(g){if(C){let Y=Tl(C,R=>{let ie=R.constraint,$=R.default;if(ie){let fe=l1(ie,S);fe&&(ie=fe.typeNode,cx(g,fe.symbols))}if($){let fe=l1($,S);fe&&($=fe.typeNode,cx(g,fe.symbols))}return D.updateTypeParameterDeclaration(R,R.modifiers,R.name,ie,$)});C!==Y&&(C=it(D.createNodeArray(Y,C.hasTrailingComma),C))}let W=Tl(P,Y=>{let R=x?void 0:Y.type;if(R){let ie=l1(R,S);ie&&(R=ie.typeNode,cx(g,ie.symbols))}return D.updateParameterDeclaration(Y,Y.modifiers,Y.dotDotDotToken,Y.name,x?void 0:Y.questionToken,R,Y.initializer)});if(P!==W&&(P=it(D.createNodeArray(W,P.hasTrailingComma),P)),F){let Y=l1(F,S);Y&&(F=Y.typeNode,cx(g,Y.symbols))}}let B=f?D.createToken(57):void 0,q=w.asteriskToken;if(ms(w))return D.updateFunctionExpression(w,l,w.asteriskToken,zr(s,Re),C,P,F,o??w.body);if(xs(w))return D.updateArrowFunction(w,l,C,P,F,w.equalsGreaterThanToken,o??w.body);if(Nc(w))return D.updateMethodDeclaration(w,l,q,s??D.createIdentifier(""),B,C,P,F,o);if(Jc(w))return D.updateFunctionDeclaration(w,l,w.asteriskToken,zr(s,Re),C,P,F,o??w.body)}function sZ(e,t,r,i,o,s,l){let f=J_(t.sourceFile,t.preferences),d=Do(t.program.getCompilerOptions()),g=sx(t),m=t.program.getTypeChecker(),v=Yn(l),{typeArguments:S,arguments:x,parent:A}=i,w=v?void 0:m.getContextualType(i),C=on(x,$=>Re($)?$.text:br($)&&Re($.name)?$.name.text:void 0),P=v?[]:on(x,$=>m.getTypeAtLocation($)),{argumentTypeNodes:F,argumentTypeParameters:B}=sEe(m,r,P,l,d,void 0,g),q=s?D.createNodeArray(D.createModifiersFromModifierFlags(s)):void 0,W=f3(A)?D.createToken(41):void 0,Y=v?void 0:g9e(m,B,S),R=cZ(x.length,C,F,void 0,v),ie=v||w===void 0?void 0:m.typeToTypeNode(w,l,void 0,g);switch(e){case 171:return D.createMethodDeclaration(q,W,o,void 0,Y,R,ie,lZ(f));case 170:return D.createMethodSignature(q,o,void 0,Y,R,ie===void 0?D.createKeywordTypeNode(157):ie);case 259:return D.createFunctionDeclaration(q,W,o,Y,R,ie,fP(_.Function_not_implemented.message,f));default:L.fail("Unexpected kind")}}function g9e(e,t,r){let i=new Set(t.map(s=>s[0])),o=new Map(t);if(r){let s=r.filter(f=>!t.some(d=>{var g;return e.getTypeAtLocation(f)===((g=d[1])==null?void 0:g.argumentType)})),l=i.size+s.length;for(let f=0;i.size<l;f+=1)i.add(aEe(f))}return lo(i.values(),s=>{var l;return D.createTypeParameterDeclaration(void 0,s,(l=o.get(s))==null?void 0:l.constraint)})}function aEe(e){return 84+e<=90?String.fromCharCode(84+e):`T${e}`}function N9(e,t,r,i,o,s,l){let f=e.typeToTypeNode(r,i,s,l);if(f&&Mh(f)){let d=l1(f,o);d&&(cx(t,d.symbols),f=d.typeNode)}return cc(f)}function oEe(e){return e.isUnionOrIntersection()?e.types.some(oEe):e.flags&262144}function sEe(e,t,r,i,o,s,l){let f=[],d=new Map;for(let g=0;g<r.length;g+=1){let m=r[g];if(m.isUnionOrIntersection()&&m.types.some(oEe)){let w=aEe(g);f.push(D.createTypeReferenceNode(w)),d.set(w,void 0);continue}let v=e.getBaseTypeOfLiteralType(m),S=N9(e,t,v,i,o,s,l);if(!S)continue;f.push(S);let x=cEe(m),A=m.isTypeParameter()&&m.constraint&&!y9e(m.constraint)?N9(e,t,m.constraint,i,o,s,l):void 0;x&&d.set(x,{argumentType:m,constraint:A})}return{argumentTypeNodes:f,argumentTypeParameters:lo(d.entries())}}function y9e(e){return e.flags&524288&&e.objectFlags===16}function cEe(e){var t;if(e.flags&3145728)for(let r of e.types){let i=cEe(r);if(i)return i}return e.flags&262144?(t=e.getSymbol())==null?void 0:t.getName():void 0}function cZ(e,t,r,i,o){let s=[],l=new Map;for(let f=0;f<e;f++){let d=t?.[f]||`arg${f}`,g=l.get(d);l.set(d,(g||0)+1);let m=D.createParameterDeclaration(void 0,void 0,d+(g||""),i!==void 0&&f>=i?D.createToken(57):void 0,o?void 0:r?.[f]||D.createKeywordTypeNode(157),void 0);s.push(m)}return s}function v9e(e,t,r,i,o,s,l,f,d){let g=i[0],m=i[0].minArgumentCount,v=!1;for(let w of i)m=Math.min(w.minArgumentCount,m),Xl(w)&&(v=!0),w.parameters.length>=g.parameters.length&&(!Xl(w)||Xl(g))&&(g=w);let S=g.parameters.length-(Xl(g)?1:0),x=g.parameters.map(w=>w.name),A=cZ(S,x,void 0,m,!1);if(v){let w=D.createParameterDeclaration(void 0,D.createToken(25),x[S]||"rest",S>=m?D.createToken(57):void 0,D.createArrayTypeNode(D.createKeywordTypeNode(157)),void 0);A.push(w)}return E9e(l,o,s,void 0,A,b9e(i,e,t,r),f,d)}function b9e(e,t,r,i){if(Fn(e)){let o=t.getUnionType(on(e,t.getReturnTypeOfSignature));return t.typeToTypeNode(o,i,1,sx(r))}}function E9e(e,t,r,i,o,s,l,f){return D.createMethodDeclaration(e,void 0,t,r?D.createToken(57):void 0,i,o,s,f||lZ(l))}function lZ(e){return fP(_.Method_not_implemented.message,e)}function fP(e,t){return D.createBlock([D.createThrowStatement(D.createNewExpression(D.createIdentifier("Error"),void 0,[D.createStringLiteral(e,t===0)]))],!0)}function uZ(e,t,r){let i=LI(t);if(!i)return;let o=fZ(i,"compilerOptions");if(o===void 0){e.insertNodeAtObjectStart(t,i,P9("compilerOptions",D.createObjectLiteralExpression(r.map(([l,f])=>P9(l,f)),!0)));return}let s=o.initializer;if(rs(s))for(let[l,f]of r){let d=fZ(s,l);d===void 0?e.insertNodeAtObjectStart(t,s,P9(l,f)):e.replaceNode(t,d.initializer,f)}}function dZ(e,t,r,i){uZ(e,t,[[r,i]])}function P9(e,t){return D.createPropertyAssignment(D.createStringLiteral(e),t)}function fZ(e,t){return wr(e.properties,r=>yl(r)&&!!r.name&&yo(r.name)&&r.name.text===t)}function l1(e,t){let r,i=$e(e,o,bi);if(r&&i)return{typeNode:i,symbols:r};function o(s){if(ib(s)&&s.qualifier){let l=Yd(s.qualifier),f=j7(l.symbol,t),d=f!==l.text?lEe(s.qualifier,D.createIdentifier(f)):s.qualifier;r=Sn(r,l.symbol);let g=On(s.typeArguments,o,bi);return D.createTypeReferenceNode(d,g)}return xn(s,o,Bh)}}function lEe(e,t){return e.kind===79?t:D.createQualifiedName(lEe(e.left,t),e.right)}function cx(e,t){t.forEach(r=>e.addImportFromExportedSymbol(r,!0))}function _Z(e,t){let r=wl(t),i=Vi(e,t.start);for(;i.end<r;)i=i.parent;return i}var pZ,T9e=gt({"src/services/codefixes/helpers.ts"(){"use strict";Fr(),pZ=(e=>(e[e.Method=1]="Method",e[e.Property=2]="Property",e[e.All=3]="All",e))(pZ||{})}});function uEe(e,t,r,i,o,s){let l=_Ee(e,t,r,i);if(!l||Ok.isRefactorErrorInfo(l))return;let f=nr.ChangeTracker.fromContext(o),{isStatic:d,isReadonly:g,fieldName:m,accessorName:v,originalName:S,type:x,container:A,declaration:w}=l;pd(m),pd(v),pd(w),pd(A);let C,P;if(Yr(A)){let B=uu(w);if(Cu(e)){let q=D.createModifiersFromModifierFlags(B);C=q,P=q}else C=D.createModifiersFromModifierFlags(A9e(B)),P=D.createModifiersFromModifierFlags(C9e(B));HS(w)&&(P=Qi(Uy(w),P))}w9e(f,e,w,x,m,P);let F=I9e(m,v,x,C,d,A);if(pd(F),pEe(f,e,F,w,A),g){let B=Vm(A);B&&R9e(f,e,B,m.text,S)}else{let B=L9e(m,v,x,C,d,A);pd(B),pEe(f,e,B,w,A)}return f.getChanges()}function S9e(e){return Re(e)||yo(e)}function x9e(e){return Ad(e,e.parent)||Na(e)||yl(e)}function dEe(e,t){return Re(t)?D.createIdentifier(e):D.createStringLiteral(e)}function fEe(e,t,r){let i=t?r.name:D.createThis();return Re(e)?D.createPropertyAccessExpression(i,e):D.createElementAccessExpression(i,D.createStringLiteralFromNode(e))}function A9e(e){return e&=-65,e&=-9,e&16||(e|=4),e}function C9e(e){return e&=-5,e&=-17,e|=8,e}function _Ee(e,t,r,i,o=!0){let s=Vi(e,r),l=r===i&&o,f=jn(s.parent,x9e),d=124;if(!f||!(HX(f.name,e,r,i)||l))return{error:uo(_.Could_not_find_property_for_which_to_generate_accessor)};if(!S9e(f.name))return{error:uo(_.Name_is_not_valid)};if((uu(f)&126975|d)!==d)return{error:uo(_.Can_only_convert_property_with_modifier)};let g=f.name.text,m=DY(g),v=dEe(m?g:i1(`_${g}`,e),f.name),S=dEe(m?i1(g.substring(1),e):g,f.name);return{isStatic:zc(f),isReadonly:jI(f),type:O9e(f,t),container:f.kind===166?f.parent.parent:f.parent,originalName:f.name.text,declaration:f,fieldName:v,accessorName:S,renameAccessor:m}}function I9e(e,t,r,i,o,s){return D.createGetAccessorDeclaration(i,t,[],r,D.createBlock([D.createReturnStatement(fEe(e,o,s))],!0))}function L9e(e,t,r,i,o,s){return D.createSetAccessorDeclaration(i,t,[D.createParameterDeclaration(void 0,void 0,D.createIdentifier("value"),void 0,r)],D.createBlock([D.createExpressionStatement(D.createAssignment(fEe(e,o,s),D.createIdentifier("value")))],!0))}function k9e(e,t,r,i,o,s){let l=D.updatePropertyDeclaration(r,s,o,r.questionToken||r.exclamationToken,i,r.initializer);e.replaceNode(t,r,l)}function D9e(e,t,r,i){let o=D.updatePropertyAssignment(r,i,r.initializer);(o.modifiers||o.questionToken||o.exclamationToken)&&(o===r&&(o=D.cloneNode(o)),o.modifiers=void 0,o.questionToken=void 0,o.exclamationToken=void 0),e.replacePropertyAssignment(t,r,o)}function w9e(e,t,r,i,o,s){Na(r)?k9e(e,t,r,i,o,s):yl(r)?D9e(e,t,r,o):e.replaceNode(t,r,D.updateParameterDeclaration(r,s,r.dotDotDotToken,Ga(o,Re),r.questionToken,r.type,r.initializer))}function pEe(e,t,r,i,o){Ad(i,i.parent)?e.insertMemberAtStart(t,o,r):yl(i)?e.insertNodeAfterComma(t,i,r):e.insertNodeAfter(t,i,r)}function R9e(e,t,r,i,o){r.body&&r.body.forEachChild(function s(l){Vs(l)&&l.expression.kind===108&&yo(l.argumentExpression)&&l.argumentExpression.text===o&&YI(l)&&e.replaceNode(t,l.argumentExpression,D.createStringLiteral(i)),br(l)&&l.expression.kind===108&&l.name.text===o&&YI(l)&&e.replaceNode(t,l.name,D.createIdentifier(i)),!Ia(l)&&!Yr(l)&&l.forEachChild(s)})}function O9e(e,t){let r=Mce(e);if(Na(e)&&r&&e.questionToken){let i=t.getTypeChecker(),o=i.getTypeFromTypeNode(r);if(!i.isTypeAssignableTo(i.getUndefinedType(),o)){let s=DS(r)?r.types:[r];return D.createUnionTypeNode([...s,D.createKeywordTypeNode(155)])}}return r}function mZ(e,t){let r=[];for(;e;){let i=P0(e),o=i&&t.getSymbolAtLocation(i.expression);if(!o)break;let s=o.flags&2097152?t.getAliasedSymbol(o):o,l=s.declarations&&wr(s.declarations,Yr);if(!l)break;r.push(l),e=l}return r}var N9e=gt({"src/services/codefixes/generateAccessors.ts"(){"use strict";Fr()}});function P9e(e,t){let r=Gn(t),i=VA(t),o=e.program.getCompilerOptions(),s=[];return s.push(mEe(e,r,t,Xg(i.name,void 0,t.moduleSpecifier,J_(r,e.preferences)))),Rl(o)===1&&s.push(mEe(e,r,t,D.createImportEqualsDeclaration(void 0,!1,i.name,D.createExternalModuleReference(t.moduleSpecifier)))),s}function mEe(e,t,r,i){let o=nr.ChangeTracker.with(e,s=>s.replaceNode(t,r,i));return K_(hZ,o,[_.Replace_import_with_0,o[0].textChanges[0].newText])}function M9e(e){let t=e.sourceFile,r=_.This_expression_is_not_callable.code===e.errorCode?210:211,i=jn(Vi(t,e.span.start),s=>s.kind===r);if(!i)return[];let o=i.expression;return hEe(e,o)}function F9e(e){let t=e.sourceFile,r=jn(Vi(t,e.span.start),i=>i.getStart()===e.span.start&&i.getEnd()===e.span.start+e.span.length);return r?hEe(e,r):[]}function hEe(e,t){let r=e.program.getTypeChecker().getTypeAtLocation(t);if(!(r.symbol&&Zp(r.symbol)&&r.symbol.links.originatingImport))return[];let i=[],o=r.symbol.links.originatingImport;if(Dd(o)||si(i,P9e(e,o)),ot(t)&&!(zl(t.parent)&&t.parent.name===t)){let s=e.sourceFile,l=nr.ChangeTracker.with(e,f=>f.replaceNode(s,t,D.createPropertyAccessExpression(t,"default"),{}));i.push(K_(hZ,l,_.Use_synthetic_default_member))}return i}var hZ,G9e=gt({"src/services/codefixes/fixInvalidImportSyntax.ts"(){"use strict";Fr(),Qa(),hZ="invalidImportSyntax",za({errorCodes:[_.This_expression_is_not_callable.code,_.This_expression_is_not_constructable.code],getCodeActions:M9e}),za({errorCodes:[_.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,_.Type_0_does_not_satisfy_the_constraint_1.code,_.Type_0_is_not_assignable_to_type_1.code,_.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,_.Type_predicate_0_is_not_assignable_to_1.code,_.Property_0_of_type_1_is_not_assignable_to_2_index_type_3.code,_._0_index_type_1_is_not_assignable_to_2_index_type_3.code,_.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,_.Property_0_in_type_1_is_not_assignable_to_type_2.code,_.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,_.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code],getCodeActions:F9e})}});function gEe(e,t){let r=Vi(e,t);if(Re(r)&&Na(r.parent)){let i=Cl(r.parent);if(i)return{type:i,prop:r.parent,isJs:Yn(r.parent)}}}function B9e(e,t){if(t.isJs)return;let r=nr.ChangeTracker.with(e,i=>yEe(i,e.sourceFile,t.prop));return Ma(M9,r,[_.Add_definite_assignment_assertion_to_property_0,t.prop.getText()],F9,_.Add_definite_assignment_assertions_to_all_uninitialized_properties)}function yEe(e,t,r){pd(r);let i=D.updatePropertyDeclaration(r,r.modifiers,r.name,D.createToken(53),r.type,r.initializer);e.replaceNode(t,r,i)}function U9e(e,t){let r=nr.ChangeTracker.with(e,i=>vEe(i,e.sourceFile,t));return Ma(M9,r,[_.Add_undefined_type_to_property_0,t.prop.name.getText()],G9,_.Add_undefined_type_to_all_uninitialized_properties)}function vEe(e,t,r){let i=D.createKeywordTypeNode(155),o=DS(r.type)?r.type.types.concat(i):[r.type,i],s=D.createUnionTypeNode(o);r.isJs?e.addJSDocTags(t,r.prop,[D.createJSDocTypeTag(void 0,D.createJSDocTypeExpression(s))]):e.replaceNode(t,r.type,s)}function V9e(e,t){if(t.isJs)return;let r=e.program.getTypeChecker(),i=EEe(r,t.prop);if(!i)return;let o=nr.ChangeTracker.with(e,s=>bEe(s,e.sourceFile,t.prop,i));return Ma(M9,o,[_.Add_initializer_to_property_0,t.prop.name.getText()],B9,_.Add_initializers_to_all_uninitialized_properties)}function bEe(e,t,r,i){pd(r);let o=D.updatePropertyDeclaration(r,r.modifiers,r.name,r.questionToken,r.type,i);e.replaceNode(t,r,o)}function EEe(e,t){return TEe(e,e.getTypeFromTypeNode(t.type))}function TEe(e,t){if(t.flags&512)return t===e.getFalseType()||t===e.getFalseType(!0)?D.createFalse():D.createTrue();if(t.isStringLiteral())return D.createStringLiteral(t.value);if(t.isNumberLiteral())return D.createNumericLiteral(t.value);if(t.flags&2048)return D.createBigIntLiteral(t.value);if(t.isUnion())return ks(t.types,r=>TEe(e,r));if(t.isClass()){let r=Nh(t.symbol);if(!r||Mr(r,256))return;let i=Vm(r);return i&&i.parameters.length?void 0:D.createNewExpression(D.createIdentifier(t.symbol.name),void 0,void 0)}else if(e.isArrayLikeType(t))return D.createArrayLiteralExpression()}var M9,F9,G9,B9,gZ,j9e=gt({"src/services/codefixes/fixStrictClassInitialization.ts"(){"use strict";Fr(),Qa(),M9="strictClassInitialization",F9="addMissingPropertyDefiniteAssignmentAssertions",G9="addMissingPropertyUndefinedType",B9="addMissingPropertyInitializer",gZ=[_.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code],za({errorCodes:gZ,getCodeActions:function(t){let r=gEe(t.sourceFile,t.span.start);if(!r)return;let i=[];return Sn(i,U9e(t,r)),Sn(i,B9e(t,r)),Sn(i,V9e(t,r)),i},fixIds:[F9,G9,B9],getAllCodeActions:e=>ns(e,gZ,(t,r)=>{let i=gEe(r.file,r.start);if(i)switch(e.fixId){case F9:yEe(t,r.file,i.prop);break;case G9:vEe(t,r.file,i);break;case B9:let o=e.program.getTypeChecker(),s=EEe(o,i.prop);if(!s)return;bEe(t,r.file,i.prop,s);break;default:L.fail(JSON.stringify(e.fixId))}})})}});function SEe(e,t,r){let{allowSyntheticDefaults:i,defaultImportName:o,namedImports:s,statement:l,required:f}=r;e.replaceNode(t,l,o&&!i?D.createImportEqualsDeclaration(void 0,!1,o,D.createExternalModuleReference(f)):D.createImportDeclaration(void 0,D.createImportClause(!1,o,s),f,void 0))}function xEe(e,t,r){let{parent:i}=Vi(e,r);if(!qu(i,!0))throw L.failBadSyntaxKind(i);let o=Ga(i.parent,wi),s=zr(o.name,Re),l=cm(o.name)?H9e(o.name):void 0;if(s||l)return{allowSyntheticDefaults:wT(t.getCompilerOptions()),defaultImportName:s,namedImports:l,statement:Ga(o.parent.parent,Bc),required:Vo(i.arguments)}}function H9e(e){let t=[];for(let r of e.elements){if(!Re(r.name)||r.initializer)return;t.push(D.createImportSpecifier(!1,zr(r.propertyName,Re),r.name))}if(t.length)return D.createNamedImports(t)}var U9,yZ,W9e=gt({"src/services/codefixes/requireInTs.ts"(){"use strict";Fr(),Qa(),U9="requireInTs",yZ=[_.require_call_may_be_converted_to_an_import.code],za({errorCodes:yZ,getCodeActions(e){let t=xEe(e.sourceFile,e.program,e.span.start);if(!t)return;let r=nr.ChangeTracker.with(e,i=>SEe(i,e.sourceFile,t));return[Ma(U9,r,_.Convert_require_to_import,U9,_.Convert_all_require_to_import)]},fixIds:[U9],getAllCodeActions:e=>ns(e,yZ,(t,r)=>{let i=xEe(r.file,e.program,r.start);i&&SEe(t,e.sourceFile,i)})})}});function AEe(e,t){let r=Vi(e,t);if(!Re(r))return;let{parent:i}=r;if(Nl(i)&&um(i.moduleReference))return{importNode:i,name:r,moduleSpecifier:i.moduleReference.expression};if(nv(i)){let o=i.parent.parent;return{importNode:o,name:r,moduleSpecifier:o.moduleSpecifier}}}function CEe(e,t,r,i){e.replaceNode(t,r.importNode,Xg(r.name,void 0,r.moduleSpecifier,J_(t,i)))}var V9,vZ,z9e=gt({"src/services/codefixes/useDefaultImport.ts"(){"use strict";Fr(),Qa(),V9="useDefaultImport",vZ=[_.Import_may_be_converted_to_a_default_import.code],za({errorCodes:vZ,getCodeActions(e){let{sourceFile:t,span:{start:r}}=e,i=AEe(t,r);if(!i)return;let o=nr.ChangeTracker.with(e,s=>CEe(s,t,i,e.preferences));return[Ma(V9,o,_.Convert_to_default_import,V9,_.Convert_all_to_default_imports)]},fixIds:[V9],getAllCodeActions:e=>ns(e,vZ,(t,r)=>{let i=AEe(r.file,r.start);i&&CEe(t,r.file,i,e.preferences)})})}});function IEe(e,t,r){let i=zr(Vi(t,r.start),Vf);if(!i)return;let o=i.getText(t)+"n";e.replaceNode(t,i,D.createBigIntLiteral(o))}var j9,bZ,J9e=gt({"src/services/codefixes/useBigintLiteral.ts"(){"use strict";Fr(),Qa(),j9="useBigintLiteral",bZ=[_.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code],za({errorCodes:bZ,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>IEe(i,t.sourceFile,t.span));if(r.length>0)return[Ma(j9,r,_.Convert_to_a_bigint_numeric_literal,j9,_.Convert_all_to_bigint_numeric_literals)]},fixIds:[j9],getAllCodeActions:e=>ns(e,bZ,(t,r)=>IEe(t,r.file,r))})}});function LEe(e,t){let r=Vi(e,t);return L.assert(r.kind===100,"This token should be an ImportKeyword"),L.assert(r.parent.kind===202,"Token parent should be an ImportType"),r.parent}function kEe(e,t,r){let i=D.updateImportTypeNode(r,r.argument,r.assertions,r.qualifier,r.typeArguments,!0);e.replaceNode(t,r,i)}var DEe,H9,EZ,K9e=gt({"src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts"(){"use strict";Fr(),Qa(),DEe="fixAddModuleReferTypeMissingTypeof",H9=DEe,EZ=[_.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code],za({errorCodes:EZ,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=LEe(r,i.start),s=nr.ChangeTracker.with(t,l=>kEe(l,r,o));return[Ma(H9,s,_.Add_missing_typeof,H9,_.Add_missing_typeof)]},fixIds:[H9],getAllCodeActions:e=>ns(e,EZ,(t,r)=>kEe(t,e.sourceFile,LEe(r.file,r.start)))})}});function wEe(e,t){let o=Vi(e,t).parent.parent;if(!(!ar(o)&&(o=o.parent,!ar(o)))&&rc(o.operatorToken))return o}function REe(e,t,r){let i=q9e(r);i&&e.replaceNode(t,r,D.createJsxFragment(D.createJsxOpeningFragment(),i,D.createJsxJsxClosingFragment()))}function q9e(e){let t=[],r=e;for(;;)if(ar(r)&&rc(r.operatorToken)&&r.operatorToken.kind===27){if(t.push(r.left),Pw(r.right))return t.push(r.right),t;if(ar(r.right)){r=r.right;continue}else return}else return}var W9,TZ,X9e=gt({"src/services/codefixes/wrapJsxInFragment.ts"(){"use strict";Fr(),Qa(),W9="wrapJsxInFragment",TZ=[_.JSX_expressions_must_have_one_parent_element.code],za({errorCodes:TZ,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=wEe(r,i.start);if(!o)return;let s=nr.ChangeTracker.with(t,l=>REe(l,r,o));return[Ma(W9,s,_.Wrap_in_JSX_fragment,W9,_.Wrap_all_unparented_JSX_in_JSX_fragment)]},fixIds:[W9],getAllCodeActions:e=>ns(e,TZ,(t,r)=>{let i=wEe(e.sourceFile,r.start);i&&REe(t,e.sourceFile,i)})})}});function OEe(e,t){let r=Vi(e,t),i=zr(r.parent.parent,kS);if(!i)return;let o=ku(i.parent)?i.parent:zr(i.parent.parent,Ep);if(o)return{indexSignature:i,container:o}}function Y9e(e,t){return D.createTypeAliasDeclaration(e.modifiers,e.name,e.typeParameters,t)}function NEe(e,t,{indexSignature:r,container:i}){let s=(ku(i)?i.members:i.type.members).filter(m=>!kS(m)),l=Vo(r.parameters),f=D.createTypeParameterDeclaration(void 0,Ga(l.name,Re),l.type),d=D.createMappedTypeNode(jI(r)?D.createModifier(146):void 0,f,void 0,r.questionToken,r.type,void 0),g=D.createIntersectionTypeNode([...NI(i),d,...s.length?[D.createTypeLiteralNode(s)]:Je]);e.replaceNode(t,i,Y9e(i,g))}var z9,SZ,$9e=gt({"src/services/codefixes/convertToMappedObjectType.ts"(){"use strict";Fr(),Qa(),z9="fixConvertToMappedObjectType",SZ=[_.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code],za({errorCodes:SZ,getCodeActions:function(t){let{sourceFile:r,span:i}=t,o=OEe(r,i.start);if(!o)return;let s=nr.ChangeTracker.with(t,f=>NEe(f,r,o)),l=vr(o.container.name);return[Ma(z9,s,[_.Convert_0_to_mapped_object_type,l],z9,[_.Convert_0_to_mapped_object_type,l])]},fixIds:[z9],getAllCodeActions:e=>ns(e,SZ,(t,r)=>{let i=OEe(r.file,r.start);i&&NEe(t,r.file,i)})})}}),xZ,PEe,Q9e=gt({"src/services/codefixes/removeAccidentalCallParentheses.ts"(){"use strict";Fr(),Qa(),xZ="removeAccidentalCallParentheses",PEe=[_.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code],za({errorCodes:PEe,getCodeActions(e){let t=jn(Vi(e.sourceFile,e.span.start),Pa);if(!t)return;let r=nr.ChangeTracker.with(e,i=>{i.deleteRange(e.sourceFile,{pos:t.expression.end,end:t.end})});return[K_(xZ,r,_.Remove_parentheses)]},fixIds:[xZ]})}});function MEe(e,t,r){let i=zr(Vi(t,r.start),f=>f.kind===133),o=i&&zr(i.parent,v2);if(!o)return;let s=o;if(ud(o.parent)){let f=QI(o.expression,!1);if(Re(f)){let d=el(o.parent.pos,t);d&&d.kind!==103&&(s=o.parent)}}e.replaceNode(t,s,o.expression)}var J9,AZ,Z9e=gt({"src/services/codefixes/removeUnnecessaryAwait.ts"(){"use strict";Fr(),Qa(),J9="removeUnnecessaryAwait",AZ=[_.await_has_no_effect_on_the_type_of_this_expression.code],za({errorCodes:AZ,getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>MEe(i,t.sourceFile,t.span));if(r.length>0)return[Ma(J9,r,_.Remove_unnecessary_await,J9,_.Remove_all_unnecessary_uses_of_await)]},fixIds:[J9],getAllCodeActions:e=>ns(e,AZ,(t,r)=>MEe(t,r.file,r))})}});function FEe(e,t){return jn(Vi(e,t.start),gl)}function GEe(e,t,r){if(!t)return;let i=L.checkDefined(t.importClause);e.replaceNode(r.sourceFile,t,D.updateImportDeclaration(t,t.modifiers,D.updateImportClause(i,i.isTypeOnly,i.name,void 0),t.moduleSpecifier,t.assertClause)),e.insertNodeAfter(r.sourceFile,t,D.createImportDeclaration(void 0,D.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),t.moduleSpecifier,t.assertClause))}var CZ,K9,eGe=gt({"src/services/codefixes/splitTypeOnlyImport.ts"(){"use strict";Fr(),Qa(),CZ=[_.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],K9="splitTypeOnlyImport",za({errorCodes:CZ,fixIds:[K9],getCodeActions:function(t){let r=nr.ChangeTracker.with(t,i=>GEe(i,FEe(t.sourceFile,t.span),t));if(r.length)return[Ma(K9,r,_.Split_into_two_separate_import_declarations,K9,_.Split_all_invalid_type_only_imports)]},getAllCodeActions:e=>ns(e,CZ,(t,r)=>{GEe(t,FEe(e.sourceFile,r),e)})})}});function BEe(e,t,r){var i;let s=r.getTypeChecker().getSymbolAtLocation(Vi(e,t));if(s===void 0)return;let l=zr((i=s?.valueDeclaration)==null?void 0:i.parent,pu);if(l===void 0)return;let f=Yo(l,85,e);if(f!==void 0)return{symbol:s,token:f}}function UEe(e,t,r){e.replaceNode(t,r,D.createToken(119))}var q9,IZ,tGe=gt({"src/services/codefixes/convertConstToLet.ts"(){"use strict";Fr(),Qa(),q9="fixConvertConstToLet",IZ=[_.Cannot_assign_to_0_because_it_is_a_constant.code],za({errorCodes:IZ,getCodeActions:function(t){let{sourceFile:r,span:i,program:o}=t,s=BEe(r,i.start,o);if(s===void 0)return;let l=nr.ChangeTracker.with(t,f=>UEe(f,r,s.token));return[D$(q9,l,_.Convert_const_to_let,q9,_.Convert_all_const_to_let)]},getAllCodeActions:e=>{let{program:t}=e,r=new Map;return ix(nr.ChangeTracker.with(e,i=>{ax(e,IZ,o=>{let s=BEe(o.file,o.start,t);if(s&&V_(r,$a(s.symbol)))return UEe(i,o.file,s.token)})}))},fixIds:[q9]})}});function VEe(e,t,r){let i=Vi(e,t);return i.kind===26&&i.parent&&(rs(i.parent)||fu(i.parent))?{node:i}:void 0}function jEe(e,t,{node:r}){let i=D.createToken(27);e.replaceNode(t,r,i)}var X9,HEe,LZ,nGe=gt({"src/services/codefixes/fixExpectedComma.ts"(){"use strict";Fr(),Qa(),X9="fixExpectedComma",HEe=_._0_expected.code,LZ=[HEe],za({errorCodes:LZ,getCodeActions(e){let{sourceFile:t}=e,r=VEe(t,e.span.start,e.errorCode);if(!r)return;let i=nr.ChangeTracker.with(e,o=>jEe(o,t,r));return[Ma(X9,i,[_.Change_0_to_1,";",","],X9,[_.Change_0_to_1,";",","])]},fixIds:[X9],getAllCodeActions:e=>ns(e,LZ,(t,r)=>{let i=VEe(r.file,r.start,r.code);i&&jEe(t,e.sourceFile,i)})})}});function WEe(e,t,r,i,o){let s=Vi(t,r.start);if(!Re(s)||!Pa(s.parent)||s.parent.expression!==s||s.parent.arguments.length!==0)return;let l=i.getTypeChecker(),f=l.getSymbolAtLocation(s),d=f?.valueDeclaration;if(!d||!ha(d)||!z0(d.parent.parent)||o?.has(d))return;o?.add(d);let g=rGe(d.parent.parent);if(vt(g)){let m=g[0],v=!DS(m)&&!wS(m)&&wS(D.createUnionTypeNode([m,D.createKeywordTypeNode(114)]).types[0]);v&&e.insertText(t,m.pos,"("),e.insertText(t,m.end,v?") | void":" | void")}else{let m=l.getResolvedSignature(s.parent),v=m?.parameters[0],S=v&&l.getTypeOfSymbolAtLocation(v,d.parent.parent);Yn(d)?(!S||S.flags&3)&&(e.insertText(t,d.parent.parent.end,")"),e.insertText(t,xo(t.text,d.parent.parent.pos),"/** @type {Promise<void>} */(")):(!S||S.flags&2)&&e.insertText(t,d.parent.parent.expression.end,"<void>")}}function rGe(e){var t;if(Yn(e)){if(ud(e.parent)){let r=(t=x0(e.parent))==null?void 0:t.typeExpression.type;if(r&&m_(r)&&Re(r.typeName)&&vr(r.typeName)==="Promise")return r.typeArguments}}else return e.typeArguments}var zEe,kZ,DZ,iGe=gt({"src/services/codefixes/fixAddVoidToPromise.ts"(){"use strict";Fr(),Qa(),zEe="addVoidToPromise",kZ="addVoidToPromise",DZ=[_.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code,_.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code],za({errorCodes:DZ,fixIds:[kZ],getCodeActions(e){let t=nr.ChangeTracker.with(e,r=>WEe(r,e.sourceFile,e.span,e.program));if(t.length>0)return[Ma(zEe,t,_.Add_void_to_Promise_resolved_without_a_value,kZ,_.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions(e){return ns(e,DZ,(t,r)=>WEe(t,r.file,r,e.program,new Set))}})}}),gu={};Mo(gu,{PreserveOptionalFlags:()=>pZ,addNewNodeForMemberSymbol:()=>iEe,codeFixAll:()=>ns,createCodeFixAction:()=>Ma,createCodeFixActionMaybeFixAll:()=>D$,createCodeFixActionWithoutFixAll:()=>K_,createCombinedCodeActions:()=>ix,createFileTextChanges:()=>_ve,createImportAdder:()=>s1,createImportSpecifierResolver:()=>v7e,createJsonPropertyAssignment:()=>P9,createMissingMemberNodes:()=>oZ,createSignatureDeclarationFromCallExpression:()=>sZ,createSignatureDeclarationFromSignature:()=>O9,createStubbedBody:()=>fP,eachDiagnostic:()=>ax,findAncestorMatchingSpan:()=>_Z,findJsonProperty:()=>fZ,generateAccessorFromProperty:()=>uEe,getAccessorConvertiblePropertyAtPosition:()=>_Ee,getAllFixes:()=>nFe,getAllSupers:()=>mZ,getArgumentTypesAndTypeParameters:()=>sEe,getFixes:()=>tFe,getImportCompletionAction:()=>b7e,getImportKind:()=>rQ,getNoopSymbolTrackerWithResolver:()=>sx,getPromoteTypeOnlyCompletionAction:()=>E7e,getSupportedErrorCodes:()=>Z3e,importFixName:()=>lQ,importSymbols:()=>cx,moduleSpecifierToValidIdentifier:()=>cQ,moduleSymbolToValidIdentifier:()=>sQ,parameterShouldGetTypeFromJSDoc:()=>Rve,registerCodeFix:()=>za,setJsonCompilerOptionValue:()=>dZ,setJsonCompilerOptionValues:()=>uZ,tryGetAutoImportableReferenceFromTypeNode:()=>l1,typeToAutoImportableTypeNode:()=>N9});var Qa=gt({"src/services/_namespaces/ts.codefix.ts"(){"use strict";rFe(),iFe(),aFe(),cFe(),_Fe(),gFe(),yFe(),vFe(),bFe(),xFe(),NFe(),MFe(),KFe(),d7e(),f7e(),p7e(),m7e(),h7e(),y7e(),V7e(),W7e(),K7e(),q7e(),X7e(),Q7e(),t5e(),i5e(),l5e(),v5e(),E5e(),T5e(),x5e(),A5e(),C5e(),I5e(),k5e(),D5e(),w5e(),R5e(),O5e(),P5e(),G5e(),j5e(),Y5e(),Q5e(),Z5e(),n9e(),r9e(),a9e(),o9e(),p9e(),m9e(),h9e(),T9e(),N9e(),G9e(),j9e(),W9e(),z9e(),J9e(),K9e(),X9e(),$9e(),Q9e(),Z9e(),eGe(),tGe(),nGe(),iGe()}});function aGe(e){return!!(e.kind&1)}function oGe(e){return!!(e.kind&2)}function _P(e){return!!(e&&e.kind&4)}function eC(e){return!!(e&&e.kind===32)}function sGe(e){return _P(e)||eC(e)||wZ(e)}function cGe(e){return(_P(e)||eC(e))&&!!e.isFromPackageJson}function lGe(e){return!!(e.kind&8)}function uGe(e){return!!(e.kind&16)}function JEe(e){return!!(e&&e.kind&64)}function KEe(e){return!!(e&&e.kind&128)}function dGe(e){return!!(e&&e.kind&256)}function wZ(e){return!!(e&&e.kind&512)}function qEe(e,t,r,i,o,s,l,f,d){var g,m,v;let S=Ms(),x=l||bS($s(i.getCompilerOptions())),A=!1,w=0,C=0,P=0,F=0,B=d({tryResolve:W,skippedAny:()=>A,resolvedAny:()=>C>0,resolvedBeyondLimit:()=>C>iG}),q=F?` (${(P/F*100).toFixed(1)}% hit rate)`:"";return(g=t.log)==null||g.call(t,`${e}: resolved ${C} module specifiers, plus ${w} ambient and ${P} from cache${q}`),(m=t.log)==null||m.call(t,`${e}: response is ${A?"incomplete":"complete"}`),(v=t.log)==null||v.call(t,`${e}: ${Ms()-S}`),B;function W(Y,R){if(R){let Z=r.getModuleSpecifierForBestExportInfo(Y,o,f);return Z&&w++,Z||"failed"}let ie=x||s.allowIncompleteCompletions&&C<iG,$=!ie&&s.allowIncompleteCompletions&&F<jZ,fe=ie||$?r.getModuleSpecifierForBestExportInfo(Y,o,f,$):void 0;return(!ie&&!$||$&&!fe)&&(A=!0),C+=fe?.computedWithoutCacheCount||0,P+=Y.length-(fe?.computedWithoutCacheCount||0),$&&F++,fe||(x?"failed":"skipped")}}function fGe(e,t,r,i,o,s,l,f,d,g,m=!1){var v;let{previousToken:S}=Q9(o,i);if(l&&!n1(i,o,S)&&!JGe(i,l,S,o))return;if(l===" ")return s.includeCompletionsForImportStatements&&s.includeCompletionsWithInsertText?{isGlobalCompletion:!0,isMemberCompletion:!1,isNewIdentifierLocation:!0,isIncomplete:!0,entries:[]}:void 0;let x=t.getCompilerOptions(),A=s.allowIncompleteCompletions?(v=e.getIncompleteCompletionsCache)==null?void 0:v.call(e):void 0;if(A&&f===3&&S&&Re(S)){let P=_Ge(A,i,S,t,e,s,d,o);if(P)return P}else A?.clear();let w=aG.getStringLiteralCompletions(i,o,S,x,e,t,r,s,m);if(w)return w;if(S&&hI(S.parent)&&(S.kind===81||S.kind===86||S.kind===79))return wGe(S.parent);let C=iTe(t,r,i,x,o,s,void 0,e,g,d);if(C)switch(C.kind){case 0:let P=gGe(i,e,t,x,r,C,s,g,o,m);return P?.isIncomplete&&A?.set(P),P;case 1:return RZ(xb.getJSDocTagNameCompletions());case 2:return RZ(xb.getJSDocTagCompletions());case 3:return RZ(xb.getJSDocParameterNameCompletions(C.tag));case 4:return mGe(C.keywordCompletions,C.isNewIdentifierLocation);default:return L.assertNever(C)}}function pP(e,t){var r,i;let o=XD(e.sortText,t.sortText);return o===0&&(o=XD(e.name,t.name)),o===0&&((r=e.data)!=null&&r.moduleSpecifier)&&((i=t.data)!=null&&i.moduleSpecifier)&&(o=BR(e.data.moduleSpecifier,t.data.moduleSpecifier)),o===0?-1:o}function XEe(e){return!!e?.moduleSpecifier}function _Ge(e,t,r,i,o,s,l,f){let d=e.get();if(!d)return;let g=ef(t,f),m=r.text.toLowerCase(),v=YN(t,o,i,s,l),S=qEe("continuePreviousIncompleteResponse",o,gu.createImportSpecifierResolver(t,i,o,s),i,r.getStart(),s,!1,TS(r),x=>{let A=Zi(d.entries,w=>{var C;if(!w.hasAction||!w.source||!w.data||XEe(w.data))return w;if(!gTe(w.name,m))return;let{origin:P}=L.checkDefined(aTe(w.name,w.data,i,o)),F=v.get(t.path,w.data.exportMapKey),B=F&&x.tryResolve(F,!fl(u_(P.moduleSymbol.name)));if(B==="skipped")return w;if(!B||B==="failed"){(C=o.log)==null||C.call(o,`Unexpected failure resolving auto import for '${w.name}' from '${w.source}'`);return}let q={...P,kind:32,moduleSpecifier:B.moduleSpecifier};return w.data=tTe(q),w.source=PZ(q),w.sourceDisplay=[tf(q.moduleSpecifier)],w});return x.skippedAny()||(d.isIncomplete=void 0),A});return d.entries=S,d.flags=(d.flags||0)|4,d.optionalReplacementSpan=$Ee(g),d}function RZ(e){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:e}}function pGe(e){return{name:Xa(e),kind:"keyword",kindModifiers:"",sortText:Pl.GlobalsOrKeywords}}function mGe(e,t){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:t,entries:e.slice()}}function YEe(e,t,r){return{kind:4,keywordCompletions:oTe(e,t),isNewIdentifierLocation:r}}function hGe(e){switch(e){case 154:return 8;default:L.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters")}}function $Ee(e){return e?.kind===79?Du(e):void 0}function gGe(e,t,r,i,o,s,l,f,d,g){let{symbols:m,contextToken:v,completionKind:S,isInSnippetScope:x,isNewIdentifierLocation:A,location:w,propertyAccessToConvert:C,keywordFilters:P,symbolToOriginInfoMap:F,recommendedCompletion:B,isJsxInitializer:q,isTypeOnlyLocation:W,isJsxIdentifierExpected:Y,isRightOfOpenTag:R,isRightOfDotOrQuestionDot:ie,importStatementCompletion:$,insideJsDocTagTypeExpression:fe,symbolToSortTextMap:Z,hasUnresolvedAutoImports:U}=s,re=s.literals,le=r.getTypeChecker();if(RR(e.scriptKind)===1){let ke=vGe(w,e);if(ke)return ke}let _e=jn(v,CL);if(_e&&(Pue(v)||AT(v,_e.expression))){let ke=J7(le,_e.parent.clauses);re=re.filter(Pe=>!ke.hasValue(Pe)),m.forEach((Pe,Ce)=>{if(Pe.valueDeclaration&&q0(Pe.valueDeclaration)){let Ie=le.getConstantValue(Pe.valueDeclaration);Ie!==void 0&&ke.hasValue(Ie)&&(F[Ce]={kind:256})}})}let ge=MU(),X=QEe(e,i);if(X&&!A&&(!m||m.length===0)&&P===0)return;let Ve=MZ(m,ge,void 0,v,w,d,e,t,r,Do(i),o,S,l,i,f,W,C,Y,q,$,B,F,Z,Y,R,g);if(P!==0)for(let ke of oTe(P,!fe&&Cu(e)))(W&&ik(lT(ke.name))||!Ve.has(ke.name))&&(Ve.add(ke.name),Ny(ge,ke,pP,!0));for(let ke of VGe(v,d))Ve.has(ke.name)||(Ve.add(ke.name),Ny(ge,ke,pP,!0));for(let ke of re){let Pe=EGe(e,l,ke);Ve.add(Pe.name),Ny(ge,Pe,pP,!0)}X||bGe(e,w.pos,Ve,Do(i),ge);let we;if(l.includeCompletionsWithInsertText&&v&&!R&&!ie&&(we=jn(v,hO))){let ke=ZEe(we,e,l,i,t,r,f);ke&&ge.push(ke.entry)}return{flags:s.flags,isGlobalCompletion:x,isIncomplete:l.allowIncompleteCompletions&&U?!0:void 0,isMemberCompletion:yGe(S),isNewIdentifierLocation:A,optionalReplacementSpan:$Ee(w),entries:ge}}function QEe(e,t){return!Cu(e)||!!HR(e,t)}function ZEe(e,t,r,i,o,s,l){let f=e.clauses,d=s.getTypeChecker(),g=d.getTypeAtLocation(e.parent.expression);if(g&&g.isUnion()&&Ji(g.types,m=>m.isLiteral())){let m=J7(d,f),v=Do(i),S=J_(t,r),x=gu.createImportAdder(t,s,r,o),A=[];for(let W of g.types)if(W.flags&1024){L.assert(W.symbol,"An enum member type should have a symbol"),L.assert(W.symbol.parent,"An enum member type should have a parent symbol (the enum symbol)");let Y=W.symbol.valueDeclaration&&d.getConstantValue(W.symbol.valueDeclaration);if(Y!==void 0){if(m.hasValue(Y))continue;m.addValue(Y)}let R=gu.typeToAutoImportableTypeNode(d,x,W,e,v);if(!R)return;let ie=Y9(R,v,S);if(!ie)return;A.push(ie)}else if(!m.hasValue(W.value))switch(typeof W.value){case"object":A.push(W.value.negative?D.createPrefixUnaryExpression(40,D.createBigIntLiteral({negative:!1,base10Value:W.value.base10Value})):D.createBigIntLiteral(W.value));break;case"number":A.push(W.value<0?D.createPrefixUnaryExpression(40,D.createNumericLiteral(-W.value)):D.createNumericLiteral(W.value));break;case"string":A.push(D.createStringLiteral(W.value,S===0));break}if(A.length===0)return;let w=on(A,W=>D.createCaseClause(W,[])),C=bb(o,l?.options),P=NZ({removeComments:!0,module:i.module,target:i.target,newLine:XN(C)}),F=l?W=>P.printAndFormatNode(4,W,t,l):W=>P.printNode(4,W,t),B=on(w,(W,Y)=>r.includeCompletionsWithSnippetText?`${F(W)}$${Y+1}`:`${F(W)}`).join(C);return{entry:{name:`${P.printNode(4,w[0],t)} ...`,kind:"",sortText:Pl.GlobalsOrKeywords,insertText:B,hasAction:x.hasFixes()||void 0,source:"SwitchCases/",isSnippet:r.includeCompletionsWithSnippetText?!0:void 0},importAdder:x}}}function Y9(e,t,r){switch(e.kind){case 180:let i=e.typeName;return $9(i,t,r);case 196:let o=Y9(e.objectType,t,r),s=Y9(e.indexType,t,r);return o&&s&&D.createElementAccessExpression(o,s);case 198:let l=e.literal;switch(l.kind){case 10:return D.createStringLiteral(l.text,r===0);case 8:return D.createNumericLiteral(l.text,l.numericLiteralFlags)}return;case 193:let f=Y9(e.type,t,r);return f&&(Re(f)?f:D.createParenthesizedExpression(f));case 183:return $9(e.exprName,t,r);case 202:L.fail("We should not get an import type after calling 'codefix.typeToAutoImportableTypeNode'.")}}function $9(e,t,r){if(Re(e))return e;let i=Gi(e.right.escapedText);return HW(i,t)?D.createPropertyAccessExpression($9(e.left,t,r),i):D.createElementAccessExpression($9(e.left,t,r),D.createStringLiteral(i,r===0))}function yGe(e){switch(e){case 0:case 3:case 2:return!0;default:return!1}}function vGe(e,t){let r=jn(e,i=>{switch(i.kind){case 284:return!0;case 43:case 31:case 79:case 208:return!1;default:return"quit"}});if(r){let i=!!Yo(r,31,t),l=r.parent.openingElement.tagName.getText(t)+(i?"":">"),f=Du(r.tagName),d={name:l,kind:"class",kindModifiers:void 0,sortText:Pl.LocationPriority};return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:f,entries:[d]}}}function bGe(e,t,r,i,o){p$(e).forEach((s,l)=>{if(s===t)return;let f=Gi(l);!r.has(f)&&i_(f,i)&&(r.add(f),Ny(o,{name:f,kind:"warning",kindModifiers:"",sortText:Pl.JavascriptIdentifiers,isFromUncheckedFile:!0},pP))})}function OZ(e,t,r){return typeof r=="object"?j0(r)+"n":Ta(r)?ck(e,t,r):JSON.stringify(r)}function EGe(e,t,r){return{name:OZ(e,t,r),kind:"string",kindModifiers:"",sortText:Pl.LocationPriority}}function TGe(e,t,r,i,o,s,l,f,d,g,m,v,S,x,A,w,C,P,F,B,q,W,Y,R){let ie,$=eY(r),fe,Z,U=PZ(v),re,le,_e,ge=d.getTypeChecker(),X=v&&uGe(v),Ve=v&&oGe(v)||m;if(v&&aGe(v))ie=m?`this${X?"?.":""}[${nTe(l,F,g)}]`:`this${X?"?.":"."}${g}`;else if((Ve||X)&&x){ie=Ve?m?`[${nTe(l,F,g)}]`:`[${g}]`:g,(X||x.questionDotToken)&&(ie=`?.${ie}`);let we=Yo(x,24,l)||Yo(x,28,l);if(!we)return;let ke=na(g,x.name.text)?x.name.end:we.end;$=Wc(we.getStart(l),ke)}if(A&&(ie===void 0&&(ie=g),ie=`{${ie}}`,typeof A!="boolean"&&($=Du(A,l))),v&&lGe(v)&&x){ie===void 0&&(ie=g);let we=el(x.pos,l),ke="";we&&N7(we.end,we.parent,l)&&(ke=";"),ke+=`(await ${x.expression.getText()})`,ie=m?`${ke}${ie}`:`${ke}${X?"?.":"."}${ie}`;let Ce=zr(x.parent,v2)?x.parent:x.expression;$=Wc(Ce.getStart(l),x.end)}if(eC(v)&&(re=[tf(v.moduleSpecifier)],w&&({insertText:ie,replacementSpan:$}=kGe(g,w,v,C,l,P,F),Z=F.includeCompletionsWithSnippetText?!0:void 0)),v?.kind===64&&(le=!0),F.includeCompletionsWithClassMemberSnippets&&F.includeCompletionsWithInsertText&&B===3&&SGe(e,o,l)){let we;({insertText:ie,isSnippet:Z,importAdder:we,replacementSpan:$}=eTe(f,d,P,F,g,e,o,s,i,q)),t=Pl.ClassMemberSnippets,we?.hasFixes()&&(le=!0,U="ClassMemberSnippet/")}if(v&&KEe(v)&&({insertText:ie,isSnippet:Z,labelDetails:_e}=v,F.useLabelDetailsInCompletionEntries||(g=g+_e.detail,_e=void 0),U="ObjectLiteralMethodSnippet/",t=Pl.SortBelow(t)),W&&!Y&&F.includeCompletionsWithSnippetText&&F.jsxAttributeCompletionStyle&&F.jsxAttributeCompletionStyle!=="none"&&!(Sp(o.parent)&&o.parent.initializer)){let we=F.jsxAttributeCompletionStyle==="braces",ke=ge.getTypeOfSymbolAtLocation(e,o);F.jsxAttributeCompletionStyle==="auto"&&!(ke.flags&528)&&!(ke.flags&1048576&&wr(ke.types,Pe=>!!(Pe.flags&528)))&&(ke.flags&402653316||ke.flags&1048576&&Ji(ke.types,Pe=>!!(Pe.flags&402686084||Nhe(Pe)))?(ie=`${OT(g)}=${ck(l,F,"$1")}`,Z=!0):we=!0),we&&(ie=`${OT(g)}={$1}`,Z=!0)}if(!(ie!==void 0&&!F.includeCompletionsWithInsertText))return(_P(v)||eC(v))&&(fe=tTe(v),le=!w),{name:g,kind:$g.getSymbolKind(ge,e,o),kindModifiers:$g.getSymbolModifiers(ge,e),sortText:t,source:U,hasAction:le?!0:void 0,isRecommended:DGe(e,S,ge)||void 0,insertText:ie,replacementSpan:$,sourceDisplay:re,labelDetails:_e,isSnippet:Z,isPackageJsonImport:cGe(v)||void 0,isImportStatementCompletion:!!w||void 0,data:fe,...R?{symbol:e}:void 0}}function SGe(e,t,r){return Yn(t)?!1:!!(e.flags&106500)&&(Yr(t)||t.parent&&t.parent.parent&&_l(t.parent)&&t===t.parent.name&&t.parent.getLastToken(r)===t.parent.name&&Yr(t.parent.parent)||t.parent&&A2(t)&&Yr(t.parent))}function eTe(e,t,r,i,o,s,l,f,d,g){let m=jn(l,Yr);if(!m)return{insertText:o};let v,S,x=o,A=t.getTypeChecker(),w=l.getSourceFile(),C=NZ({removeComments:!0,module:r.module,target:r.target,omitTrailingSemicolon:!1,newLine:XN(bb(e,g?.options))}),P=gu.createImportAdder(w,t,i,e),F;if(i.includeCompletionsWithSnippetText){v=!0;let ie=D.createEmptyStatement();F=D.createBlock([ie],!0),Ez(ie,{kind:0,order:0})}else F=D.createBlock([],!0);let B=0,{modifiers:q,span:W}=xGe(d,w,f),Y=!!(q&256),R=[];return gu.addNewNodeForMemberSymbol(s,m,w,{program:t,host:e},i,P,ie=>{let $=0;Y&&($|=256),_l(ie)&&A.getMemberOverrideModifierStatus(m,ie,s)===1&&($|=16384),R.length||(B=ie.modifierFlagsCache|$|q),ie=D.updateModifiers(ie,B),R.push(ie)},F,gu.PreserveOptionalFlags.Property,Y),R.length&&(S=W,g?x=C.printAndFormatSnippetList(131073,D.createNodeArray(R),w,g):x=C.printSnippetList(131073,D.createNodeArray(R),w)),{insertText:x,isSnippet:v,importAdder:P,replacementSpan:S}}function xGe(e,t,r){if(!e||Gs(t,r).line>Gs(t,e.getEnd()).line)return{modifiers:0};let i=0,o,s;return(s=AGe(e))&&(i|=gS(s),o=Du(e)),Na(e.parent)&&(i|=im(e.parent.modifiers)&126975,o=Du(e.parent)),{modifiers:i,span:o}}function AGe(e){if(Ha(e))return e.kind;if(Re(e)){let t=nb(e);if(t&&Rg(t))return t}}function CGe(e,t,r,i,o,s,l,f){let d=l.includeCompletionsWithSnippetText||void 0,g=t,m=r.getSourceFile(),v=IGe(e,r,m,i,o,l);if(!v)return;let S=NZ({removeComments:!0,module:s.module,target:s.target,omitTrailingSemicolon:!1,newLine:XN(bb(o,f?.options))});f?g=S.printAndFormatSnippetList(80,D.createNodeArray([v],!0),m,f):g=S.printSnippetList(80,D.createNodeArray([v],!0),m);let x=nE({removeComments:!0,module:s.module,target:s.target,omitTrailingSemicolon:!0}),A=D.createMethodSignature(void 0,"",v.questionToken,v.typeParameters,v.parameters,v.type),w={detail:x.printNode(4,A,m)};return{isSnippet:d,insertText:g,labelDetails:w}}function IGe(e,t,r,i,o,s){let l=e.getDeclarations();if(!(l&&l.length))return;let f=i.getTypeChecker(),d=l[0],g=cc(sa(d),!1),m=f.getWidenedType(f.getTypeOfSymbolAtLocation(e,t)),S=33554432|(J_(r,s)===0?268435456:0);switch(d.kind){case 168:case 169:case 170:case 171:{let x=m.flags&1048576&&m.types.length<10?f.getUnionType(m.types,2):m;if(x.flags&1048576){let F=Pr(x.types,B=>f.getSignaturesOfType(B,0).length>0);if(F.length===1)x=F[0];else return}if(f.getSignaturesOfType(x,0).length!==1)return;let w=f.typeToTypeNode(x,t,S,gu.getNoopSymbolTrackerWithResolver({program:i,host:o}));if(!w||!Jm(w))return;let C;if(s.includeCompletionsWithSnippetText){let F=D.createEmptyStatement();C=D.createBlock([F],!0),Ez(F,{kind:0,order:0})}else C=D.createBlock([],!0);let P=w.parameters.map(F=>D.createParameterDeclaration(void 0,F.dotDotDotToken,F.name,void 0,void 0,F.initializer));return D.createMethodDeclaration(void 0,void 0,g,void 0,void 0,P,void 0,C)}default:return}}function NZ(e){let t,r=nr.createWriter(db(e)),i=nE(e,r),o={...r,write:S=>s(S,()=>r.write(S)),nonEscapingWrite:r.write,writeLiteral:S=>s(S,()=>r.writeLiteral(S)),writeStringLiteral:S=>s(S,()=>r.writeStringLiteral(S)),writeSymbol:(S,x)=>s(S,()=>r.writeSymbol(S,x)),writeParameter:S=>s(S,()=>r.writeParameter(S)),writeComment:S=>s(S,()=>r.writeComment(S)),writeProperty:S=>s(S,()=>r.writeProperty(S))};return{printSnippetList:l,printAndFormatSnippetList:d,printNode:g,printAndFormatNode:v};function s(S,x){let A=OT(S);if(A!==S){let w=r.getTextPos();x();let C=r.getTextPos();t=Sn(t||(t=[]),{newText:A,span:{start:w,length:C-w}})}else x()}function l(S,x,A){let w=f(S,x,A);return t?nr.applyChanges(w,t):w}function f(S,x,A){return t=void 0,o.clear(),i.writeList(S,x,A,o),o.getText()}function d(S,x,A,w){let C={text:f(S,x,A),getLineAndCharacterOfPosition(q){return Gs(this,q)}},P=z7(w,A),F=Uo(x,q=>{let W=nr.assignPositionsToNode(q);return tl.formatNodeGivenIndentation(W,C,A.languageVariant,0,0,{...w,options:P})}),B=t?Ag(Qi(F,t),(q,W)=>f8(q.span,W.span)):F;return nr.applyChanges(C.text,B)}function g(S,x,A){let w=m(S,x,A);return t?nr.applyChanges(w,t):w}function m(S,x,A){return t=void 0,o.clear(),i.writeNode(S,x,A,o),o.getText()}function v(S,x,A,w){let C={text:m(S,x,A),getLineAndCharacterOfPosition(W){return Gs(this,W)}},P=z7(w,A),F=nr.assignPositionsToNode(x),B=tl.formatNodeGivenIndentation(F,C,A.languageVariant,0,0,{...w,options:P}),q=t?Ag(Qi(B,t),(W,Y)=>f8(W.span,Y.span)):B;return nr.applyChanges(C.text,q)}}function tTe(e){let t=e.fileName?void 0:u_(e.moduleSymbol.name),r=e.isFromPackageJson?!0:void 0;return eC(e)?{exportName:e.exportName,exportMapKey:e.exportMapKey,moduleSpecifier:e.moduleSpecifier,ambientModuleName:t,fileName:e.fileName,isPackageJsonImport:r}:{exportName:e.exportName,exportMapKey:e.exportMapKey,fileName:e.fileName,ambientModuleName:e.fileName?void 0:u_(e.moduleSymbol.name),isPackageJsonImport:e.isFromPackageJson?!0:void 0}}function LGe(e,t,r){let i=e.exportName==="default",o=!!e.isPackageJsonImport;return XEe(e)?{kind:32,exportName:e.exportName,exportMapKey:e.exportMapKey,moduleSpecifier:e.moduleSpecifier,symbolName:t,fileName:e.fileName,moduleSymbol:r,isDefaultExport:i,isFromPackageJson:o}:{kind:4,exportName:e.exportName,exportMapKey:e.exportMapKey,symbolName:t,fileName:e.fileName,moduleSymbol:r,isDefaultExport:i,isFromPackageJson:o}}function kGe(e,t,r,i,o,s,l){let f=t.replacementSpan,d=ck(o,l,OT(r.moduleSpecifier)),g=r.isDefaultExport?1:r.exportName==="export="?2:0,m=l.includeCompletionsWithSnippetText?"$1":"",v=gu.getImportKind(o,g,s,!0),S=t.couldBeTypeOnlyImportSpecifier,x=t.isTopLevelTypeOnly?` ${Xa(154)} `:" ",A=S?`${Xa(154)} `:"",w=i?";":"";switch(v){case 3:return{replacementSpan:f,insertText:`import${x}${OT(e)}${m} = require(${d})${w}`};case 1:return{replacementSpan:f,insertText:`import${x}${OT(e)}${m} from ${d}${w}`};case 2:return{replacementSpan:f,insertText:`import${x}* as ${OT(e)} from ${d}${w}`};case 0:return{replacementSpan:f,insertText:`import${x}{ ${A}${OT(e)}${m} } from ${d}${w}`}}}function nTe(e,t,r){return/^\d+$/.test(r)?r:ck(e,t,r)}function DGe(e,t,r){return e===t||!!(e.flags&1048576)&&r.getExportSymbolOfSymbol(e)===t}function PZ(e){if(_P(e))return u_(e.moduleSymbol.name);if(eC(e))return e.moduleSpecifier;if(e?.kind===1)return"ThisProperty/";if(e?.kind===64)return"TypeOnlyAlias/"}function MZ(e,t,r,i,o,s,l,f,d,g,m,v,S,x,A,w,C,P,F,B,q,W,Y,R,ie,$=!1){var fe;let Z=Ms(),U=$Ge(o),re=P7(l),le=d.getTypeChecker(),_e=new Map;for(let X=0;X<e.length;X++){let Ve=e[X],we=W?.[X],ke=Z9(Ve,g,we,v,!!P);if(!ke||_e.get(ke.name)&&(!we||!KEe(we))||v===1&&Y&&!ge(Ve,Y))continue;let{name:Pe,needsConvertPropertyAccess:Ce}=ke,Ie=(fe=Y?.[$a(Ve)])!=null?fe:Pl.LocationPriority,Be=ZGe(Ve,le)?Pl.Deprecated(Ie):Ie,Ne=TGe(Ve,Be,r,i,o,s,l,f,d,Pe,Ce,we,q,C,F,B,re,x,S,v,A,R,ie,$);if(!Ne)continue;let Le=(!we||JEe(we))&&!(Ve.parent===void 0&&!vt(Ve.declarations,Ye=>Ye.getSourceFile()===o.getSourceFile()));_e.set(Pe,Le),Ny(t,Ne,pP,!0)}return m("getCompletionsAtPosition: getCompletionEntriesFromSymbols: "+(Ms()-Z)),{has:X=>_e.has(X),add:X=>_e.set(X,!0)};function ge(X,Ve){let we=X.flags;if(!Li(o)){if(pc(o.parent))return!0;if(U&&X.valueDeclaration===U)return!1;let ke=wd(X,le);if(l.externalModuleIndicator&&!x.allowUmdGlobalAccess&&Ve[$a(X)]===Pl.GlobalsOrKeywords&&(Ve[$a(ke)]===Pl.AutoImportSuggestions||Ve[$a(ke)]===Pl.LocationPriority))return!1;if(we|=XI(ke),i7(o))return!!(we&1920);if(w)return VZ(X,le)}return!!(we&111551)}}function wGe(e){let t=RGe(e);if(t.length)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:t}}function RGe(e){let t=[],r=new Map,i=e;for(;i&&!Ia(i);){if(J0(i)){let o=i.label.text;r.has(o)||(r.set(o,!0),t.push({name:o,kindModifiers:"",kind:"label",sortText:Pl.LocationPriority}))}i=i.parent}return t}function rTe(e,t,r,i,o,s,l){if(o.source==="SwitchCases/")return{type:"cases"};if(o.data){let B=aTe(o.name,o.data,e,s);if(B){let{contextToken:q,previousToken:W}=Q9(i,r);return{type:"symbol",symbol:B.symbol,location:ef(r,i),previousToken:W,contextToken:q,isJsxInitializer:!1,isTypeOnlyLocation:!1,origin:B.origin}}}let f=e.getCompilerOptions(),d=iTe(e,t,r,f,i,{includeCompletionsForModuleExports:!0,includeCompletionsWithInsertText:!0},o,s,void 0);if(!d)return{type:"none"};if(d.kind!==0)return{type:"request",request:d};let{symbols:g,literals:m,location:v,completionKind:S,symbolToOriginInfoMap:x,contextToken:A,previousToken:w,isJsxInitializer:C,isTypeOnlyLocation:P}=d,F=wr(m,B=>OZ(r,l,B)===o.name);return F!==void 0?{type:"literal",literal:F}:ks(g,(B,q)=>{let W=x[q],Y=Z9(B,Do(f),W,S,d.isJsxIdentifierExpected);return Y&&Y.name===o.name&&(o.source==="ClassMemberSnippet/"&&B.flags&106500||o.source==="ObjectLiteralMethodSnippet/"&&B.flags&8196||PZ(W)===o.source)?{type:"symbol",symbol:B,location:v,origin:W,contextToken:A,previousToken:w,isJsxInitializer:C,isTypeOnlyLocation:P}:void 0})||{type:"none"}}function OGe(e,t,r,i,o,s,l,f,d){let g=e.getTypeChecker(),m=e.getCompilerOptions(),{name:v,source:S,data:x}=o,{previousToken:A,contextToken:w}=Q9(i,r);if(n1(r,i,A))return aG.getStringLiteralCompletionDetails(v,r,i,A,g,m,s,d,f);let C=rTe(e,t,r,i,o,s,f);switch(C.type){case"request":{let{request:P}=C;switch(P.kind){case 1:return xb.getJSDocTagNameCompletionDetails(v);case 2:return xb.getJSDocTagCompletionDetails(v);case 3:return xb.getJSDocParameterNameCompletionDetails(v);case 4:return vt(P.keywordCompletions,F=>F.name===v)?FZ(v,"keyword",5):void 0;default:return L.assertNever(P)}}case"symbol":{let{symbol:P,location:F,contextToken:B,origin:q,previousToken:W}=C,{codeActions:Y,sourceDisplay:R}=NGe(v,F,B,q,P,e,s,m,r,i,W,l,f,x,S,d),ie=wZ(q)?q.symbolName:P.name;return GZ(P,ie,g,r,F,d,Y,R)}case"literal":{let{literal:P}=C;return FZ(OZ(r,f,P),"string",typeof P=="string"?8:7)}case"cases":{let{entry:P,importAdder:F}=ZEe(w.parent,r,f,e.getCompilerOptions(),s,e,void 0);if(F.hasFixes()){let B=nr.ChangeTracker.with({host:s,formatContext:l,preferences:f},F.writeFixes);return{name:P.name,kind:"",kindModifiers:"",displayParts:[],sourceDisplay:void 0,codeActions:[{changes:B,description:ZS([_.Includes_imports_of_types_referenced_by_0,v])}]}}return{name:P.name,kind:"",kindModifiers:"",displayParts:[],sourceDisplay:void 0}}case"none":return JZ().some(P=>P.name===v)?FZ(v,"keyword",5):void 0;default:L.assertNever(C)}}function FZ(e,t,r){return mP(e,"",t,[Qu(e,r)])}function GZ(e,t,r,i,o,s,l,f){let{displayParts:d,documentation:g,symbolKind:m,tags:v}=r.runWithCancellationToken(s,S=>$g.getSymbolDisplayPartsDocumentationAndSymbolKind(S,e,i,o,o,7));return mP(t,$g.getSymbolModifiers(r,e),m,d,g,v,l,f)}function mP(e,t,r,i,o,s,l,f){return{name:e,kindModifiers:t,kind:r,displayParts:i,documentation:o,tags:s,codeActions:l,source:f,sourceDisplay:f}}function NGe(e,t,r,i,o,s,l,f,d,g,m,v,S,x,A,w){if(x?.moduleSpecifier&&m&&_Te(r||m).replacementSpan)return{codeActions:void 0,sourceDisplay:[tf(x.moduleSpecifier)]};if(A==="ClassMemberSnippet/"){let{importAdder:Y}=eTe(l,s,f,S,e,o,t,g,r,v);if(Y)return{sourceDisplay:void 0,codeActions:[{changes:nr.ChangeTracker.with({host:l,formatContext:v,preferences:S},Y.writeFixes),description:ZS([_.Includes_imports_of_types_referenced_by_0,e])}]}}if(JEe(i)){let Y=gu.getPromoteTypeOnlyCompletionAction(d,i.declaration.name,s,l,v,S);return L.assertIsDefined(Y,"Expected to have a code action for promoting type-only alias"),{codeActions:[Y],sourceDisplay:void 0}}if(!i||!(_P(i)||eC(i)))return{codeActions:void 0,sourceDisplay:void 0};let C=i.isFromPackageJson?l.getPackageJsonAutoImportProvider().getTypeChecker():s.getTypeChecker(),{moduleSymbol:P}=i,F=C.getMergedSymbol(wd(o.exportSymbol||o,C)),B=r?.kind===29&&Au(r.parent),{moduleSpecifier:q,codeAction:W}=gu.getImportCompletionAction(F,P,x?.exportMapKey,d,e,B,l,s,v,m&&Re(m)?m.getStart(d):g,S,w);return L.assert(!x?.moduleSpecifier||q===x.moduleSpecifier),{sourceDisplay:[tf(q)],codeActions:[W]}}function PGe(e,t,r,i,o,s,l){let f=rTe(e,t,r,i,o,s,l);return f.type==="symbol"?f.symbol:void 0}function MGe(e,t,r){return ks(t&&(t.isUnion()?t.types:[t]),i=>{let o=i&&i.symbol;return o&&o.flags&424&&!cle(o)?BZ(o,e,r):void 0})}function FGe(e,t,r,i){let{parent:o}=e;switch(e.kind){case 79:return w7(e,i);case 63:switch(o.kind){case 257:return i.getContextualType(o.initializer);case 223:return i.getTypeAtLocation(o.left);case 288:return i.getContextualTypeForJsxAttribute(o);default:return}case 103:return i.getContextualType(o);case 82:let s=zr(o,CL);return s?TY(s,i):void 0;case 18:return AL(o)&&!Hg(o.parent)&&!BS(o.parent)?i.getContextualTypeForJsxAttribute(o.parent):void 0;default:let l=BP.getArgumentInfoForCompletions(e,t,r);return l?i.getContextualTypeForArgumentAtIndex(l.invocation,l.argumentIndex+(e.kind===27?1:0)):R7(e.kind)&&ar(o)&&R7(o.operatorToken.kind)?i.getTypeAtLocation(o.left):i.getContextualType(e)}}function BZ(e,t,r){let i=r.getAccessibleSymbolChain(e,t,67108863,!1);return i?Vo(i):e.parent&&(GGe(e.parent)?e:BZ(e.parent,t,r))}function GGe(e){var t;return!!((t=e.declarations)!=null&&t.some(r=>r.kind===308))}function iTe(e,t,r,i,o,s,l,f,d,g){let m=e.getTypeChecker(),v=QEe(r,i),S=Ms(),x=Vi(r,o);t("getCompletionData: Get current token: "+(Ms()-S)),S=Ms();let A=Kg(r,o,x);t("getCompletionData: Is inside comment: "+(Ms()-S));let w=!1,C=!1;if(A){if(Rhe(r,o)){if(r.text.charCodeAt(o-1)===64)return{kind:1};{let Te=Wf(o,r);if(!/[^\*|\s(/)]/.test(r.text.substring(Te,o)))return{kind:2}}}let z=jGe(x,o);if(z){if(z.tagName.pos<=o&&o<=z.tagName.end)return{kind:1};let Te=zt(z);if(Te&&(x=Vi(r,o),(!x||!Rh(x)&&(x.parent.kind!==351||x.parent.name!==x))&&(w=pe(Te))),!w&&xp(z)&&(rc(z.name)||z.name.pos<=o&&o<=z.name.end))return{kind:3,tag:z}}if(!w){t("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.");return}}S=Ms();let P=!w&&Cu(r),F=Q9(o,r),B=F.previousToken,q=F.contextToken;t("getCompletionData: Get previous token: "+(Ms()-S));let W=x,Y,R=!1,ie=!1,$=!1,fe=!1,Z=!1,U=!1,re,le=ef(r,o),_e=0,ge=!1,X=0;if(q){let z=_Te(q);if(z.keywordCompletion){if(z.isKeywordOnlyCompletion)return{kind:4,keywordCompletions:[pGe(z.keywordCompletion)],isNewIdentifierLocation:z.isNewIdentifierLocation};_e=hGe(z.keywordCompletion)}if(z.replacementSpan&&s.includeCompletionsForImportStatements&&s.includeCompletionsWithInsertText&&(X|=2,re=z,ge=z.isNewIdentifierLocation),!z.replacementSpan&&Ht(q))return t("Returning an empty list because completion was requested in an invalid position."),_e?YEe(_e,P,dr()):void 0;let Te=q.parent;if(q.kind===24||q.kind===28)switch(R=q.kind===24,ie=q.kind===28,Te.kind){case 208:Y=Te,W=Y.expression;let j=$I(Y);if(rc(j)||(Pa(W)||Ia(W))&&W.end===q.pos&&W.getChildCount(r)&&To(W.getChildren(r)).kind!==21)return;break;case 163:W=Te.left;break;case 264:W=Te.name;break;case 202:W=Te;break;case 233:W=Te.getFirstToken(r),L.assert(W.kind===100||W.kind===103);break;default:return}else if(!re){if(Te&&Te.kind===208&&(q=Te,Te=Te.parent),x.parent===le)switch(x.kind){case 31:(x.parent.kind===281||x.parent.kind===283)&&(le=x);break;case 43:x.parent.kind===282&&(le=x);break}switch(Te.kind){case 284:q.kind===43&&(fe=!0,le=q);break;case 223:if(!fTe(Te))break;case 282:case 281:case 283:U=!0,q.kind===29&&($=!0,le=q);break;case 291:case 290:(B.kind===19||B.kind===79&&B.parent.kind===288)&&(U=!0);break;case 288:if(Te.initializer===B&&B.end<o){U=!0;break}switch(B.kind){case 63:Z=!0;break;case 79:U=!0,Te!==B.parent&&!Te.initializer&&Yo(Te,63,r)&&(Z=B)}break}}}let Ve=Ms(),we=5,ke=!1,Pe=!1,Ce=[],Ie,Be=[],Ne=[],Le=new Map,Ye=nn(),_t=Jp(z=>$S(z?f.getPackageJsonAutoImportProvider():e,f));if(R||ie)Qt();else if($)Ce=m.getJsxIntrinsicTagNamesAt(le),L.assertEachIsDefined(Ce,"getJsxIntrinsicTagNames() should all be defined"),Gt(),we=1,_e=0;else if(fe){let z=q.parent.parent.openingElement.tagName,Te=m.getSymbolAtLocation(z);Te&&(Ce=[Te]),we=1,_e=0}else if(!Gt())return _e?YEe(_e,P,ge):void 0;t("getCompletionData: Semantic work: "+(Ms()-Ve));let ct=B&&FGe(B,o,r,m),Rt=Zi(ct&&(ct.isUnion()?ct.types:[ct]),z=>z.isLiteral()&&!(z.flags&1024)?z.value:void 0),We=B&&ct&&MGe(B,ct,m);return{kind:0,symbols:Ce,completionKind:we,isInSnippetScope:C,propertyAccessToConvert:Y,isNewIdentifierLocation:ge,location:le,keywordFilters:_e,literals:Rt,symbolToOriginInfoMap:Be,recommendedCompletion:We,previousToken:B,contextToken:q,isJsxInitializer:Z,insideJsDocTagTypeExpression:w,symbolToSortTextMap:Ne,isTypeOnlyLocation:Ye,isJsxIdentifierExpected:U,isRightOfOpenTag:$,isRightOfDotOrQuestionDot:R||ie,importStatementCompletion:re,hasUnresolvedAutoImports:Pe,flags:X};function qe(z){switch(z.kind){case 344:case 351:case 345:case 347:case 349:case 352:case 353:return!0;case 348:return!!z.constraint;default:return!1}}function zt(z){if(qe(z)){let Te=H_(z)?z.constraint:z.typeExpression;return Te&&Te.kind===312?Te:void 0}if(x2(z)||qz(z))return z.class}function Qt(){we=2;let z=ib(W),Te=w||z&&!W.isTypeOf||Gm(W.parent)||MN(q,r,m),j=i7(W);if(Cd(W)||z||br(W)){let yt=Tc(W.parent);yt&&(ge=!0);let lt=m.getSymbolAtLocation(W);if(lt&&(lt=wd(lt,m),lt.flags&1920)){let Qe=m.getExportsOfModule(lt);L.assertEachIsDefined(Qe,"getExportsOfModule() should all be defined");let Vt=ei=>m.isValidPropertyAccess(z?W:W.parent,ei.name),Hn=ei=>VZ(ei,m),jr=yt?ei=>{var Kr;return!!(ei.flags&1920)&&!((Kr=ei.declarations)!=null&&Kr.every(Si=>Si.parent===W.parent))}:j?ei=>Hn(ei)||Vt(ei):Te?Hn:Vt;for(let ei of Qe)jr(ei)&&Ce.push(ei);if(!Te&&lt.declarations&&lt.declarations.some(ei=>ei.kind!==308&&ei.kind!==264&&ei.kind!==263)){let ei=m.getTypeOfSymbolAtLocation(lt,W).getNonOptionalType(),Kr=!1;if(ei.isNullableType()){let Si=R&&!ie&&s.includeAutomaticOptionalChainCompletions!==!1;(Si||ie)&&(ei=ei.getNonNullableType(),Si&&(Kr=!0))}tn(ei,!!(W.flags&32768),Kr)}return}}if(!Te){m.tryGetThisTypeAt(W,!1);let yt=m.getTypeAtLocation(W).getNonOptionalType(),lt=!1;if(yt.isNullableType()){let Qe=R&&!ie&&s.includeAutomaticOptionalChainCompletions!==!1;(Qe||ie)&&(yt=yt.getNonNullableType(),Qe&&(lt=!0))}tn(yt,!!(W.flags&32768),lt)}}function tn(z,Te,j){ge=!!z.getStringIndexType(),ie&&vt(z.getCallSignatures())&&(ge=!0);let yt=W.kind===202?W:W.parent;if(v)for(let lt of z.getApparentProperties())m.isValidPropertyAccessForCompletions(yt,z,lt)&&kn(lt,!1,j);else Ce.push(...Pr(nG(z,m),lt=>m.isValidPropertyAccessForCompletions(yt,z,lt)));if(Te&&s.includeCompletionsWithInsertText){let lt=m.getPromisedTypeOfPromise(z);if(lt)for(let Qe of lt.getApparentProperties())m.isValidPropertyAccessForCompletions(yt,lt,Qe)&&kn(Qe,!0,j)}}function kn(z,Te,j){var yt;let lt=ks(z.declarations,jr=>zr(sa(jr),ts));if(lt){let jr=_n(lt.expression),ei=jr&&m.getSymbolAtLocation(jr),Kr=ei&&BZ(ei,q,m);if(Kr&&V_(Le,$a(Kr))){let Si=Ce.length;Ce.push(Kr);let Ja=Kr.parent;if(!Ja||!BN(Ja)||m.tryGetMemberInModuleExportsAndProperties(Kr.name,Ja)!==Kr)Be[Si]={kind:Hn(2)};else{let Za=fl(u_(Ja.name))?(yt=m6(Ja))==null?void 0:yt.fileName:void 0,{moduleSpecifier:Fa}=(Ie||(Ie=gu.createImportSpecifierResolver(r,e,f,s))).getModuleSpecifierForBestExportInfo([{exportKind:0,moduleFileName:Za,isFromPackageJson:!1,moduleSymbol:Ja,symbol:Kr,targetFlags:wd(Kr,m).flags}],o,TS(le))||{};if(Fa){let Hi={kind:Hn(6),moduleSymbol:Ja,isDefaultExport:!1,symbolName:Kr.name,exportName:Kr.name,fileName:Za,moduleSpecifier:Fa};Be[Si]=Hi}}}else s.includeCompletionsWithInsertText&&(Vt(z),Qe(z),Ce.push(z))}else Vt(z),Qe(z),Ce.push(z);function Qe(jr){qGe(jr)&&(Ne[$a(jr)]=Pl.LocalDeclarationPriority)}function Vt(jr){s.includeCompletionsWithInsertText&&(Te&&V_(Le,$a(jr))?Be[Ce.length]={kind:Hn(8)}:j&&(Be[Ce.length]={kind:16}))}function Hn(jr){return j?jr|16:jr}}function _n(z){return Re(z)?z:br(z)?_n(z.expression):void 0}function Gt(){return(Se()||at()||Ni()||Tt()||ve()||$n()||nt()||ui()||(Pi(),1))===1}function $n(){return Q(q)?(we=5,ge=!0,_e=4,1):0}function ui(){let z=G(q),Te=z&&m.getContextualType(z.attributes);if(!Te)return 0;let j=z&&m.getContextualType(z.attributes,4);return Ce=Qi(Ce,oe(tG(Te,j,z.attributes,m),z.attributes.properties)),ae(),we=3,ge=!1,1}function Ni(){return re?(ge=!0,An(),1):0}function Pi(){_e=ue(q)?5:1,we=1,ge=dr(),B!==q&&L.assert(!!B,"Expected 'contextToken' to be defined when different from 'previousToken'.");let z=B!==q?B.getStart():o,Te=vn(q,z,r)||r;C=pt(Te);let j=(Ye?0:111551)|788968|1920|2097152,yt=B&&!TS(B);Ce=Qi(Ce,m.getSymbolsInScope(Te,j)),L.assertEachIsDefined(Ce,"getSymbolsInScope() should all be defined");for(let lt=0;lt<Ce.length;lt++){let Qe=Ce[lt];if(!m.isArgumentsSymbol(Qe)&&!vt(Qe.declarations,Vt=>Vt.getSourceFile()===r)&&(Ne[$a(Qe)]=Pl.GlobalsOrKeywords),yt&&!(Qe.flags&111551)){let Vt=Qe.declarations&&wr(Qe.declarations,Mj);if(Vt){let Hn={kind:64,declaration:Vt};Be[lt]=Hn}}}if(s.includeCompletionsWithInsertText&&Te.kind!==308){let lt=m.tryGetThisTypeAt(Te,!1,Yr(Te.parent)?Te:void 0);if(lt&&!KGe(lt,r,m))for(let Qe of nG(lt,m))Be[Ce.length]={kind:1},Ce.push(Qe),Ne[$a(Qe)]=Pl.SuggestedClassMembers}An(),Ye&&(_e=q&&pT(q.parent)?6:7)}function gr(){return re?!0:ke||!s.includeCompletionsForModuleExports?!1:r.externalModuleIndicator||r.commonJsModuleIndicator||aY(e.getCompilerOptions())?!0:Uhe(e)}function pt(z){switch(z.kind){case 308:case 225:case 291:case 238:return!0;default:return ca(z)}}function nn(){return w||!!re&&I0(le.parent)||!Dt(q)&&(MN(q,r,m)||Gm(le)||pn(q))}function Dt(z){return z&&(z.kind===112&&(z.parent.kind===183||y2(z.parent))||z.kind===129&&z.parent.kind===179)}function pn(z){if(z){let Te=z.parent.kind;switch(z.kind){case 58:return Te===169||Te===168||Te===166||Te===257||nS(Te);case 63:return Te===262;case 128:return Te===231;case 29:return Te===180||Te===213;case 94:return Te===165;case 150:return Te===235}}return!1}function An(){var z,Te;if(!gr()||(L.assert(!l?.data,"Should not run 'collectAutoImports' when faster path is available via `data`"),l&&!l.source))return;X|=1;let yt=B===q&&re?"":B&&Re(B)?B.text.toLowerCase():"",lt=(z=f.getModuleSpecifierCache)==null?void 0:z.call(f),Qe=YN(r,f,e,s,g),Vt=(Te=f.getPackageJsonAutoImportProvider)==null?void 0:Te.call(f),Hn=l?void 0:uk(r,s,f);qEe("collectAutoImports",f,Ie||(Ie=gu.createImportSpecifierResolver(r,e,f,s)),e,o,s,!!re,TS(le),ei=>{Qe.search(r.path,$,(Kr,Si)=>{if(!i_(Kr,Do(f.getCompilationSettings()))||!l&&fS(Kr)||!Ye&&!re&&!(Si&111551)||Ye&&!(Si&790504))return!1;let Ja=Kr.charCodeAt(0);return $&&(Ja<65||Ja>90)?!1:l?!0:gTe(Kr,yt)},(Kr,Si,Ja,Za)=>{if(l&&!vt(Kr,Qr=>l.source===u_(Qr.moduleSymbol.name))||(Kr=Pr(Kr,jr),!Kr.length))return;let Fa=ei.tryResolve(Kr,Ja)||{};if(Fa==="failed")return;let Hi=Kr[0],xi;Fa!=="skipped"&&({exportInfo:Hi=Kr[0],moduleSpecifier:xi}=Fa);let Nr=Hi.exportKind===1,Fo=Nr&&QA(Hi.symbol)||Hi.symbol;Kn(Fo,{kind:xi?32:4,moduleSpecifier:xi,symbolName:Si,exportMapKey:Za,exportName:Hi.exportKind===2?"export=":Hi.symbol.name,fileName:Hi.moduleFileName,isDefaultExport:Nr,moduleSymbol:Hi.moduleSymbol,isFromPackageJson:Hi.isFromPackageJson})}),Pe=ei.skippedAny(),X|=ei.resolvedAny()?8:0,X|=ei.resolvedBeyondLimit()?16:0});function jr(ei){let Kr=zr(ei.moduleSymbol.valueDeclaration,Li);if(!Kr){let Si=u_(ei.moduleSymbol.name);return QT.nodeCoreModules.has(Si)&&na(Si,"node:")!==W7(r,e)?!1:Hn?Hn.allowsImportingAmbientModule(ei.moduleSymbol,_t(ei.isFromPackageJson)):!0}return PY(ei.isFromPackageJson?Vt:e,r,Kr,s,Hn,_t(ei.isFromPackageJson),lt)}}function Kn(z,Te){let j=$a(z);Ne[j]!==Pl.GlobalsOrKeywords&&(Be[Ce.length]=Te,Ne[j]=re?Pl.LocationPriority:Pl.AutoImportSuggestions,Ce.push(z))}function hi(z,Te){Yn(le)||z.forEach(j=>{if(!ri(j))return;let yt=Z9(j,Do(i),void 0,0,!1);if(!yt)return;let{name:lt}=yt,Qe=CGe(j,lt,Te,e,f,i,s,d);if(!Qe)return;let Vt={kind:128,...Qe};X|=32,Be[Ce.length]=Vt,Ce.push(j)})}function ri(z){return!!(z.flags&8196)}function vn(z,Te,j){let yt=z;for(;yt&&!WX(yt,Te,j);)yt=yt.parent;return yt}function Ht(z){let Te=Ms(),j=Cr(z)||Oe(z)||kt(z)||En(z)||a3(z);return t("getCompletionsAtPosition: isCompletionListBlocker: "+(Ms()-Te)),j}function En(z){if(z.kind===11)return!0;if(z.kind===31&&z.parent){if(le===z.parent&&(le.kind===283||le.kind===282))return!1;if(z.parent.kind===283)return le.parent.kind!==283;if(z.parent.kind===284||z.parent.kind===282)return!!z.parent.parent&&z.parent.parent.kind===281}return!1}function dr(){if(q){let z=q.parent.kind,Te=eG(q);switch(Te){case 27:return z===210||z===173||z===211||z===206||z===223||z===181||z===207;case 20:return z===210||z===173||z===211||z===214||z===193;case 22:return z===206||z===178||z===164;case 142:case 143:case 100:return!0;case 24:return z===264;case 18:return z===260||z===207;case 63:return z===257||z===223;case 15:return z===225;case 16:return z===236;case 132:return z===171||z===300;case 41:return z===171}if(hP(Te))return!0}return!1}function Cr(z){return(Cz(z)||Fj(z))&&(RN(z,o)||o===z.end&&(!!z.isUnterminated||Cz(z)))}function Se(){let z=zGe(q);if(!z)return 0;let j=(dO(z.parent)?z.parent:void 0)||z,yt=dTe(j,m);if(!yt)return 0;let lt=m.getTypeFromTypeNode(j),Qe=nG(yt,m),Vt=nG(lt,m),Hn=new Set;return Vt.forEach(jr=>Hn.add(jr.escapedName)),Ce=Qi(Ce,Pr(Qe,jr=>!Hn.has(jr.escapedName))),we=0,ge=!0,1}function at(){let z=Ce.length,Te=BGe(q);if(!Te)return 0;we=0;let j,yt;if(Te.kind===207){let lt=XGe(Te,m);if(lt===void 0)return Te.flags&33554432?2:(ke=!0,0);let Qe=m.getContextualType(Te,4),Vt=(Qe||lt).getStringIndexType(),Hn=(Qe||lt).getNumberIndexType();if(ge=!!Vt||!!Hn,j=tG(lt,Qe,Te,m),yt=Te.properties,j.length===0&&!Hn)return ke=!0,0}else{L.assert(Te.kind===203),ge=!1;let lt=nm(Te.parent);if(!PA(lt))return L.fail("Root declaration is not variable-like.");let Qe=Jy(lt)||!!Cl(lt)||lt.parent.parent.kind===247;if(!Qe&&lt.kind===166&&(ot(lt.parent)?Qe=!!m.getContextualType(lt.parent):(lt.parent.kind===171||lt.parent.kind===175)&&(Qe=ot(lt.parent.parent)&&!!m.getContextualType(lt.parent.parent))),Qe){let Vt=m.getTypeAtLocation(Te);if(!Vt)return 2;j=m.getPropertiesOfType(Vt).filter(Hn=>m.isPropertyAccessible(Te,!1,!1,Vt,Hn)),yt=Te.elements}}if(j&&j.length>0){let lt=ln(j,L.checkDefined(yt));Ce=Qi(Ce,lt),ae(),Te.kind===207&&s.includeCompletionsWithObjectLiteralMethodSnippets&&s.includeCompletionsWithInsertText&&(Ot(z),hi(lt,Te))}return 1}function Tt(){if(!q)return 0;let z=q.kind===18||q.kind===27?zr(q.parent,bW):b7(q)?zr(q.parent.parent,bW):void 0;if(!z)return 0;b7(q)||(_e=8);let{moduleSpecifier:Te}=z.kind===272?z.parent.parent:z.parent;if(!Te)return ge=!0,z.kind===272?2:0;let j=m.getSymbolAtLocation(Te);if(!j)return ge=!0,2;we=3,ge=!1;let yt=m.getExportsAndPropertiesOfModule(j),lt=new Set(z.elements.filter(Vt=>!pe(Vt)).map(Vt=>(Vt.propertyName||Vt.name).escapedText)),Qe=yt.filter(Vt=>Vt.escapedName!=="default"&&!lt.has(Vt.escapedName));return Ce=Qi(Ce,Qe),Qe.length||(_e=0),1}function ve(){var z;let Te=q&&(q.kind===18||q.kind===27)?zr(q.parent,h_):void 0;if(!Te)return 0;let j=jn(Te,Kp(Li,Tc));return we=5,ge=!1,(z=j.locals)==null||z.forEach((yt,lt)=>{var Qe,Vt;Ce.push(yt),(Vt=(Qe=j.symbol)==null?void 0:Qe.exports)!=null&&Vt.has(lt)&&(Ne[$a(yt)]=Pl.OptionalMember)}),1}function nt(){let z=WGe(r,q,le,o);if(!z)return 0;if(we=3,ge=!0,_e=q.kind===41?0:Yr(z)?2:3,!Yr(z))return 1;let Te=q.kind===26?q.parent.parent:q.parent,j=_l(Te)?uu(Te):0;if(q.kind===79&&!pe(q))switch(q.getText()){case"private":j=j|8;break;case"static":j=j|32;break;case"override":j=j|16384;break}if(oc(Te)&&(j|=32),!(j&8)){let yt=Yr(z)&&j&16384?aT(hp(z)):NI(z),lt=Uo(yt,Qe=>{let Vt=m.getTypeAtLocation(Qe);return j&32?Vt?.symbol&&m.getPropertiesOfType(m.getTypeOfSymbolAtLocation(Vt.symbol,z)):Vt&&m.getPropertiesOfType(Vt)});Ce=Qi(Ce,Ke(lt,z.members,j)),mn(Ce,(Qe,Vt)=>{let Hn=Qe?.valueDeclaration;if(Hn&&_l(Hn)&&Hn.name&&ts(Hn.name)){let jr={kind:512,symbolName:m.symbolToString(Qe)};Be[Vt]=jr}})}return 1}function ce(z){return!!z.parent&&ha(z.parent)&&Ec(z.parent.parent)&&(yI(z.kind)||Rh(z))}function Q(z){if(z){let Te=z.parent;switch(z.kind){case 20:case 27:return Ec(z.parent)?z.parent:void 0;default:if(ce(z))return Te.parent}}}function ue(z){if(z){let Te,j=jn(z.parent,yt=>Yr(yt)?"quit":Ds(yt)&&Te===yt.body?!0:(Te=yt,!1));return j&&j}}function G(z){if(z){let Te=z.parent;switch(z.kind){case 31:case 30:case 43:case 79:case 208:case 289:case 288:case 290:if(Te&&(Te.kind===282||Te.kind===283)){if(z.kind===31){let j=el(z.pos,r,void 0);if(!Te.typeArguments||j&&j.kind===43)break}return Te}else if(Te.kind===288)return Te.parent.parent;break;case 10:if(Te&&(Te.kind===288||Te.kind===290))return Te.parent.parent;break;case 19:if(Te&&Te.kind===291&&Te.parent&&Te.parent.kind===288)return Te.parent.parent.parent;if(Te&&Te.kind===290)return Te.parent.parent;break}}}function Oe(z){let Te=z.parent,j=Te.kind;switch(z.kind){case 27:return j===257||Kt(z)||j===240||j===263||Ge(j)||j===261||j===204||j===262||Yr(Te)&&!!Te.typeParameters&&Te.typeParameters.end>=z.pos;case 24:return j===204;case 58:return j===205;case 22:return j===204;case 20:return j===295||Ge(j);case 18:return j===263;case 29:return j===260||j===228||j===261||j===262||nS(j);case 124:return j===169&&!Yr(Te.parent);case 25:return j===166||!!Te.parent&&Te.parent.kind===204;case 123:case 121:case 122:return j===166&&!Ec(Te.parent);case 128:return j===273||j===278||j===271;case 137:case 151:return!rG(z);case 79:if(j===273&&z===Te.name&&z.text==="type")return!1;break;case 84:case 92:case 118:case 98:case 113:case 100:case 119:case 85:case 138:return!0;case 154:return j!==273;case 41:return Ia(z.parent)&&!Nc(z.parent)}if(hP(eG(z))&&rG(z)||ce(z)&&(!Re(z)||yI(eG(z))||pe(z)))return!1;switch(eG(z)){case 126:case 84:case 85:case 136:case 92:case 98:case 118:case 119:case 121:case 122:case 123:case 124:case 113:return!0;case 132:return Na(z.parent)}if(jn(z.parent,Yr)&&z===B&&je(z,o))return!1;let lt=cb(z.parent,169);if(lt&&z!==B&&Yr(B.parent.parent)&&o<=B.end){if(je(z,B.end))return!1;if(z.kind!==63&&(sN(lt)||f6(lt)))return!0}return Rh(z)&&!xf(z.parent)&&!Sp(z.parent)&&!(Yr(z.parent)&&(z!==B||o>B.end))}function je(z,Te){return z.kind!==63&&(z.kind===26||!Bf(z.end,Te,r))}function Ge(z){return nS(z)&&z!==173}function kt(z){if(z.kind===8){let Te=z.getFullText();return Te.charAt(Te.length-1)==="."}return!1}function Kt(z){return z.parent.kind===258&&!MN(z,r,m)}function ln(z,Te){if(Te.length===0)return z;let j=new Set,yt=new Set;for(let Qe of Te){if(Qe.kind!==299&&Qe.kind!==300&&Qe.kind!==205&&Qe.kind!==171&&Qe.kind!==174&&Qe.kind!==175&&Qe.kind!==301||pe(Qe))continue;let Vt;if(VS(Qe))ir(Qe,j);else if(Wo(Qe)&&Qe.propertyName)Qe.propertyName.kind===79&&(Vt=Qe.propertyName.escapedText);else{let Hn=sa(Qe);Vt=Hn&&c_(Hn)?MI(Hn):void 0}Vt!==void 0&&yt.add(Vt)}let lt=z.filter(Qe=>!yt.has(Qe.escapedName));return rt(j,lt),lt}function ir(z,Te){let j=z.expression,yt=m.getSymbolAtLocation(j),lt=yt&&m.getTypeOfSymbolAtLocation(yt,j),Qe=lt&&lt.properties;Qe&&Qe.forEach(Vt=>{Te.add(Vt.name)})}function ae(){Ce.forEach(z=>{var Te;if(z.flags&16777216){let j=$a(z);Ne[j]=(Te=Ne[j])!=null?Te:Pl.OptionalMember}})}function rt(z,Te){if(z.size!==0)for(let j of Te)z.has(j.name)&&(Ne[$a(j)]=Pl.MemberDeclaredBySpreadAssignment)}function Ot(z){var Te;for(let j=z;j<Ce.length;j++){let yt=Ce[j],lt=$a(yt),Qe=Be?.[j],Vt=Do(i),Hn=Z9(yt,Vt,Qe,0,!1);if(Hn){let jr=(Te=Ne[lt])!=null?Te:Pl.LocationPriority,{name:ei}=Hn;Ne[lt]=Pl.ObjectLiteralProperty(jr,ei)}}}function Ke(z,Te,j){let yt=new Set;for(let lt of Te){if(lt.kind!==169&&lt.kind!==171&&lt.kind!==174&&lt.kind!==175||pe(lt)||cd(lt,8)||Ca(lt)!==!!(j&32))continue;let Qe=M0(lt.name);Qe&&yt.add(Qe)}return z.filter(lt=>!yt.has(lt.escapedName)&&!!lt.declarations&&!(Ef(lt)&8)&&!(lt.valueDeclaration&&xu(lt.valueDeclaration)))}function oe(z,Te){let j=new Set,yt=new Set;for(let Qe of Te)pe(Qe)||(Qe.kind===288?j.add(Qe.name.escapedText):GT(Qe)&&ir(Qe,yt));let lt=z.filter(Qe=>!j.has(Qe.escapedName));return rt(yt,lt),lt}function pe(z){return z.getStart(r)<=o&&o<=z.getEnd()}}function BGe(e){if(e){let{parent:t}=e;switch(e.kind){case 18:case 27:if(rs(t)||cm(t))return t;break;case 41:return Nc(t)?zr(t.parent,rs):void 0;case 79:return e.text==="async"&&xf(e.parent)?e.parent.parent:void 0}}}function Q9(e,t){let r=el(e,t);return r&&e<=r.end&&(Ah(r)||Xu(r.kind))?{contextToken:el(r.getFullStart(),t,void 0),previousToken:r}:{contextToken:r,previousToken:r}}function aTe(e,t,r,i){let o=t.isPackageJsonImport?i.getPackageJsonAutoImportProvider():r,s=o.getTypeChecker(),l=t.ambientModuleName?s.tryFindAmbientModule(t.ambientModuleName):t.fileName?s.getMergedSymbol(L.checkDefined(o.getSourceFile(t.fileName)).symbol):void 0;if(!l)return;let f=t.exportName==="export="?s.resolveExternalModuleSymbol(l):s.tryGetMemberInModuleExportsAndProperties(t.exportName,l);return f?(f=t.exportName==="default"&&QA(f)||f,{symbol:f,origin:LGe(t,e,l)}):void 0}function Z9(e,t,r,i,o){if(dGe(r))return;let s=sGe(r)?r.symbolName:e.name;if(s===void 0||e.flags&1536&&Xw(s.charCodeAt(0))||gR(e))return;let l={name:s,needsConvertPropertyAccess:!1};if(i_(s,t,o?1:0)||e.valueDeclaration&&xu(e.valueDeclaration))return l;switch(i){case 3:return wZ(r)?{name:r.symbolName,needsConvertPropertyAccess:!1}:void 0;case 0:return{name:JSON.stringify(s),needsConvertPropertyAccess:!1};case 2:case 1:return s.charCodeAt(0)===32?void 0:{name:s,needsConvertPropertyAccess:!0};case 5:case 4:return l;default:L.assertNever(i)}}function oTe(e,t){if(!t)return sTe(e);let r=e+8+1;return gP[r]||(gP[r]=sTe(e).filter(i=>!UGe(lT(i.name))))}function sTe(e){return gP[e]||(gP[e]=JZ().filter(t=>{let r=lT(t.name);switch(e){case 0:return!1;case 1:return lTe(r)||r===136||r===142||r===154||r===143||r===126||ik(r)&&r!==155;case 5:return lTe(r);case 2:return hP(r);case 3:return cTe(r);case 4:return yI(r);case 6:return ik(r)||r===85;case 7:return ik(r);case 8:return r===154;default:return L.assertNever(e)}}))}function UGe(e){switch(e){case 126:case 131:case 160:case 134:case 136:case 92:case 159:case 117:case 138:case 118:case 140:case 141:case 142:case 143:case 144:case 148:case 149:case 161:case 121:case 122:case 123:case 146:case 152:case 153:case 154:case 156:case 157:return!0;default:return!1}}function cTe(e){return e===146}function hP(e){switch(e){case 126:case 127:case 135:case 137:case 151:case 132:case 136:case 161:return!0;default:return Gj(e)}}function lTe(e){return e===132||e===133||e===128||e===150||e===154||!K6(e)&&!hP(e)}function eG(e){var t;return Re(e)?(t=nb(e))!=null?t:0:e.kind}function VGe(e,t){let r=[];if(e){let i=e.getSourceFile(),o=e.parent,s=i.getLineAndCharacterOfPosition(e.end).line,l=i.getLineAndCharacterOfPosition(t).line;(gl(o)||Il(o)&&o.moduleSpecifier)&&e===o.moduleSpecifier&&s===l&&r.push({name:Xa(130),kind:"keyword",kindModifiers:"",sortText:Pl.GlobalsOrKeywords})}return r}function jGe(e,t){return jn(e,r=>EI(r)&&wN(r,t)?!0:dm(r)?"quit":!1)}function tG(e,t,r,i){let o=t&&t!==e,s=o&&!(t.flags&3)?i.getUnionType([e,t]):e,l=HGe(s,r,i);return s.isClass()&&uTe(l)?[]:o?Pr(l,f):l;function f(d){return Fn(d.declarations)?vt(d.declarations,g=>g.parent!==r):!0}}function HGe(e,t,r){return e.isUnion()?r.getAllPossiblePropertiesOfTypes(Pr(e.types,i=>!(i.flags&134348796||r.isArrayLikeType(i)||r.isTypeInvalidDueToUnionDiscriminant(i,t)||r.typeHasCallOrConstructSignatures(i)||i.isClass()&&uTe(i.getApparentProperties())))):e.getApparentProperties()}function uTe(e){return vt(e,t=>!!(Ef(t)&24))}function nG(e,t){return e.isUnion()?L.checkEachDefined(t.getAllPossiblePropertiesOfTypes(e.types),"getAllPossiblePropertiesOfTypes() should all be defined"):L.checkEachDefined(e.getApparentProperties(),"getApparentProperties() should all be defined")}function WGe(e,t,r,i){var o;switch(r.kind){case 354:return zr(r.parent,yS);case 1:let s=zr(Os(Ga(r.parent,Li).statements),yS);if(s&&!Yo(s,19,e))return s;break;case 79:{if(nb(r)||Na(r.parent)&&r.parent.initializer===r)return;if(rG(r))return jn(r,yS)}}if(t){if(r.kind===135||Re(t)&&Na(t.parent)&&Yr(r))return jn(t,Yr);switch(t.kind){case 63:return;case 26:case 19:return rG(r)&&r.parent.name===r?r.parent.parent:zr(r,yS);case 18:case 27:return zr(t.parent,yS);default:if(yS(r)){if(Gs(e,t.getEnd()).line!==Gs(e,i).line)return r;let s=Yr(t.parent.parent)?hP:cTe;return s(t.kind)||t.kind===41||Re(t)&&s((o=nb(t))!=null?o:0)?t.parent.parent:void 0}return}}}function zGe(e){if(!e)return;let t=e.parent;switch(e.kind){case 18:if(Rd(t))return t;break;case 26:case 27:case 79:if(t.kind===168&&Rd(t.parent))return t.parent;break}}function dTe(e,t){if(!e)return;if(bi(e)&&_6(e.parent))return t.getTypeArgumentConstraint(e);let r=dTe(e.parent,t);if(r)switch(e.kind){case 168:return t.getTypeOfPropertyOfContextualType(r,e.symbol.escapedName);case 190:case 184:case 189:return r}}function rG(e){return e.parent&&s6(e.parent)&&yS(e.parent.parent)}function JGe(e,t,r,i){switch(t){case".":case"@":return!0;case'"':case"'":case"`":return!!r&&age(r)&&i===r.getStart(e)+1;case"#":return!!r&&pi(r)&&!!Zc(r);case"<":return!!r&&r.kind===29&&(!ar(r.parent)||fTe(r.parent));case"/":return!!r&&(es(r)?!!oR(r):r.kind===43&&GS(r.parent));case" ":return!!r&&gL(r)&&r.parent.kind===308;default:return L.assertNever(t)}}function fTe({left:e}){return rc(e)}function KGe(e,t,r){let i=r.resolveName("self",void 0,111551,!1);if(i&&r.getTypeOfSymbolAtLocation(i,t)===e)return!0;let o=r.resolveName("global",void 0,111551,!1);if(o&&r.getTypeOfSymbolAtLocation(o,t)===e)return!0;let s=r.resolveName("globalThis",void 0,111551,!1);return!!(s&&r.getTypeOfSymbolAtLocation(s,t)===e)}function qGe(e){return!!(e.valueDeclaration&&uu(e.valueDeclaration)&32&&Yr(e.valueDeclaration.parent))}function XGe(e,t){let r=t.getContextualType(e);if(r)return r;let i=qy(e.parent);if(ar(i)&&i.operatorToken.kind===63&&e===i.left)return t.getTypeAtLocation(i);if(ot(i))return t.getContextualType(i)}function _Te(e){var t,r,i;let o,s=!1,l=f();return{isKeywordOnlyCompletion:s,keywordCompletion:o,isNewIdentifierLocation:!!(l||o===154),isTopLevelTypeOnly:!!((r=(t=zr(l,gl))==null?void 0:t.importClause)!=null&&r.isTypeOnly)||!!((i=zr(l,Nl))!=null&&i.isTypeOnly),couldBeTypeOnlyImportSpecifier:!!l&&mTe(l,e),replacementSpan:YGe(l)};function f(){let d=e.parent;if(Nl(d))return o=e.kind===154?void 0:154,UZ(d.moduleReference)?d:void 0;if(mTe(d,e)&&hTe(d.parent))return d;if(jg(d)||nv(d)){if(!d.parent.isTypeOnly&&(e.kind===18||e.kind===100||e.kind===27)&&(o=154),hTe(d))if(e.kind===19||e.kind===79)s=!0,o=158;else return d.parent.parent;return}if(gL(e)&&Li(d))return o=154,e;if(gL(e)&&gl(d))return o=154,UZ(d.moduleSpecifier)?d:void 0}}function YGe(e){var t,r,i;if(!e)return;let o=(t=jn(e,Kp(gl,Nl)))!=null?t:e,s=o.getSourceFile();if(DT(o,s))return Du(o,s);L.assert(o.kind!==100&&o.kind!==273);let l=o.kind===269?(i=pTe((r=o.importClause)==null?void 0:r.namedBindings))!=null?i:o.moduleSpecifier:o.moduleReference,f={pos:o.getFirstToken().getStart(),end:l.pos};if(DT(f,s))return lv(f)}function pTe(e){var t;return wr((t=zr(e,jg))==null?void 0:t.elements,r=>{var i;return!r.propertyName&&fS(r.name.text)&&((i=el(r.name.pos,e.getSourceFile(),e))==null?void 0:i.kind)!==27})}function mTe(e,t){return $u(e)&&(e.isTypeOnly||t===e.name&&b7(t))}function hTe(e){if(!UZ(e.parent.parent.moduleSpecifier)||e.parent.name)return!1;if(jg(e)){let t=pTe(e);return(t?e.elements.indexOf(t):e.elements.length)<2}return!0}function UZ(e){var t;return rc(e)?!0:!((t=zr(um(e)?e.expression:e,es))!=null&&t.text)}function $Ge(e){return jn(e,r=>bT(r)||QGe(r)||La(r)?"quit":wi(r))}function QGe(e){return e.parent&&xs(e.parent)&&e.parent.body===e}function VZ(e,t,r=new Map){return i(e)||i(wd(e.exportSymbol||e,t));function i(o){return!!(o.flags&788968)||t.isUnknownSymbol(o)||!!(o.flags&1536)&&V_(r,$a(o))&&t.getExportsOfModule(o).some(s=>VZ(s,t,r))}}function ZGe(e,t){let r=wd(e,t).declarations;return!!Fn(r)&&Ji(r,H7)}function gTe(e,t){if(t.length===0)return!0;let r=!1,i,o=0,s=e.length;for(let l=0;l<s;l++){let f=e.charCodeAt(l),d=t.charCodeAt(o);if((f===d||f===eBe(d))&&(r||(r=i===void 0||97<=i&&i<=122&&65<=f&&f<=90||i===95&&f!==95),r&&o++,o===t.length))return!0;i=f}return!1}function eBe(e){return 97<=e&&e<=122?e-32:e}var iG,jZ,Pl,HZ,WZ,zZ,gP,JZ,tBe=gt({"src/services/completions.ts"(){"use strict";Fr(),QZ(),iG=100,jZ=1e3,Pl={LocalDeclarationPriority:"10",LocationPriority:"11",OptionalMember:"12",MemberDeclaredBySpreadAssignment:"13",SuggestedClassMembers:"14",GlobalsOrKeywords:"15",AutoImportSuggestions:"16",ClassMemberSnippets:"17",JavascriptIdentifiers:"18",Deprecated(e){return"z"+e},ObjectLiteralProperty(e,t){return`${e}\0${t}\0`},SortBelow(e){return e+"1"}},HZ=(e=>(e.ThisProperty="ThisProperty/",e.ClassMemberSnippet="ClassMemberSnippet/",e.TypeOnlyAlias="TypeOnlyAlias/",e.ObjectLiteralMethodSnippet="ObjectLiteralMethodSnippet/",e.SwitchCases="SwitchCases/",e))(HZ||{}),WZ=(e=>(e[e.ThisType=1]="ThisType",e[e.SymbolMember=2]="SymbolMember",e[e.Export=4]="Export",e[e.Promise=8]="Promise",e[e.Nullable=16]="Nullable",e[e.ResolvedExport=32]="ResolvedExport",e[e.TypeOnlyAlias=64]="TypeOnlyAlias",e[e.ObjectLiteralMethod=128]="ObjectLiteralMethod",e[e.Ignore=256]="Ignore",e[e.ComputedPropertyName=512]="ComputedPropertyName",e[e.SymbolMemberNoExport=2]="SymbolMemberNoExport",e[e.SymbolMemberExport=6]="SymbolMemberExport",e))(WZ||{}),zZ=(e=>(e[e.ObjectPropertyDeclaration=0]="ObjectPropertyDeclaration",e[e.Global=1]="Global",e[e.PropertyAccess=2]="PropertyAccess",e[e.MemberLike=3]="MemberLike",e[e.String=4]="String",e[e.None=5]="None",e))(zZ||{}),gP=[],JZ=zu(()=>{let e=[];for(let t=81;t<=162;t++)e.push({name:Xa(t),kind:"keyword",kindModifiers:"",sortText:Pl.GlobalsOrKeywords});return e})}});function KZ(){let e=new Map;function t(r){let i=e.get(r.name);(!i||$Z[i.kind]<$Z[r.kind])&&e.set(r.name,r)}return{add:t,has:e.has.bind(e),values:e.values.bind(e)}}function nBe(e,t,r,i,o,s,l,f,d){if(Fhe(e,t)){let g=yBe(e,t,i,o);return g&&yTe(g)}if(n1(e,t,r)){if(!r||!es(r))return;let g=bTe(e,r,t,s.getTypeChecker(),i,o,f);return rBe(g,r,e,o,s,l,i,f,t,d)}}function rBe(e,t,r,i,o,s,l,f,d,g){if(e===void 0)return;let m=tY(t);switch(e.kind){case 0:return yTe(e.paths);case 1:{let v=MU();return MZ(e.symbols,v,t,t,r,d,r,i,o,99,s,4,f,l,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,g),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:e.hasIndexSignature,optionalReplacementSpan:m,entries:v}}case 2:{let v=e.types.map(S=>({name:S.value,kindModifiers:"",kind:"string",sortText:Pl.LocationPriority,replacementSpan:eY(t)}));return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:e.isNewIdentifier,optionalReplacementSpan:m,entries:v}}default:return L.assertNever(e)}}function iBe(e,t,r,i,o,s,l,f,d){if(!i||!es(i))return;let g=bTe(t,i,r,o,s,l,d);return g&&aBe(e,i,g,t,o,f)}function aBe(e,t,r,i,o,s){switch(r.kind){case 0:{let l=wr(r.paths,f=>f.name===e);return l&&mP(e,vTe(l.extension),l.kind,[tf(e)])}case 1:{let l=wr(r.symbols,f=>f.name===e);return l&&GZ(l,l.name,o,i,t,s)}case 2:return wr(r.types,l=>l.value===e)?mP(e,"","string",[tf(e)]):void 0;default:return L.assertNever(r)}}function yTe(e){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:e.map(({name:o,kind:s,span:l,extension:f})=>({name:o,kind:s,kindModifiers:vTe(f),sortText:Pl.LocationPriority,replacementSpan:l}))}}function vTe(e){switch(e){case".d.ts":return".d.ts";case".js":return".js";case".json":return".json";case".jsx":return".jsx";case".ts":return".ts";case".tsx":return".tsx";case".d.mts":return".d.mts";case".mjs":return".mjs";case".mts":return".mts";case".d.cts":return".d.cts";case".cjs":return".cjs";case".cts":return".cts";case".tsbuildinfo":return L.fail("Extension .tsbuildinfo is unsupported.");case void 0:return"";default:return L.assertNever(e)}}function bTe(e,t,r,i,o,s,l){let f=ETe(t.parent);switch(f.kind){case 198:{let S=ETe(f.parent);switch(S.kind){case 230:case 180:{let w=jn(f,C=>C.parent===S);return w?{kind:2,types:yP(i.getTypeArgumentConstraint(w)),isNewIdentifier:!1}:void 0}case 196:let{indexType:x,objectType:A}=S;return wN(x,r)?TTe(i.getTypeFromTypeNode(A)):void 0;case 202:return{kind:0,paths:xTe(e,t,o,s,i,l)};case 189:{if(!m_(S.parent))return;let w=oBe(S,f);return{kind:2,types:yP(i.getTypeArgumentConstraint(S)).filter(P=>!ya(w,P.value)),isNewIdentifier:!1}}default:return}}case 299:return rs(f.parent)&&f.name===t?cBe(i,f.parent):d()||d(0);case 209:{let{expression:S,argumentExpression:x}=f;return t===vs(x)?TTe(i.getTypeAtLocation(S)):void 0}case 210:case 211:case 288:if(!TBe(t)&&!Dd(f)){let S=BP.getArgumentInfoForCompletions(f.kind===288?f.parent:t,r,e);return S&&sBe(S.invocation,t,S,i)||d()}case 269:case 275:case 280:return{kind:0,paths:xTe(e,t,o,s,i,l)};case 292:let g=J7(i,f.parent.clauses),m=d();return m?{kind:2,types:m.types.filter(S=>!g.hasValue(S.value)),isNewIdentifier:!1}:void 0;default:return d()}function d(g=4){let m=yP(w7(t,i,g));if(m.length)return{kind:2,types:m,isNewIdentifier:!1}}}function ETe(e){switch(e.kind){case 193:return dR(e);case 214:return qy(e);default:return e}}function oBe(e,t){return Zi(e.types,r=>r!==t&&mb(r)&&yo(r.literal)?r.literal.text:void 0)}function sBe(e,t,r,i){let o=!1,s=new Map,l=[],f=Au(e)?L.checkDefined(jn(t.parent,Sp)):t;i.getResolvedSignatureForStringLiteralCompletions(e,f,l);let d=Uo(l,g=>{if(!Xl(g)&&r.argumentCount>g.parameters.length)return;let m=g.getTypeParameterAtPosition(r.argumentIndex);if(Au(e)){let v=i.getTypeOfPropertyOfType(m,f.name.text);v&&(m=v)}return o=o||!!(m.flags&4),yP(m,s)});return Fn(d)?{kind:2,types:d,isNewIdentifier:o}:void 0}function TTe(e){return e&&{kind:1,symbols:Pr(e.getApparentProperties(),t=>!(t.valueDeclaration&&xu(t.valueDeclaration))),hasIndexSignature:EY(e)}}function cBe(e,t){let r=e.getContextualType(t);if(!r)return;let i=e.getContextualType(t,4);return{kind:1,symbols:tG(r,i,t,e),hasIndexSignature:EY(r)}}function yP(e,t=new Map){return e?(e=iY(e),e.isUnion()?Uo(e.types,r=>yP(r,t)):e.isStringLiteral()&&!(e.flags&1024)&&V_(t,e.value)?[e]:Je):Je}function tC(e,t,r){return{name:e,kind:t,extension:r}}function qZ(e){return tC(e,"directory",void 0)}function STe(e,t,r){let i=bBe(e,t),o=e.length===0?void 0:il(t,e.length);return r.map(({name:s,kind:l,extension:f})=>Math.max(s.indexOf(_s),s.indexOf(pw))!==-1?{name:s,kind:l,extension:f,span:o}:{name:s,kind:l,extension:f,span:i})}function xTe(e,t,r,i,o,s){return STe(t.text,t.getStart(e)+1,lBe(e,t,r,i,o,s))}function lBe(e,t,r,i,o,s){let l=Al(t.text),f=es(t)?W_(e,t):void 0,d=e.path,g=ni(d),m=XZ(r,1,e,o,s,f);return EBe(l)||!r.baseUrl&&(qp(l)||doe(l))?uBe(l,g,r,i,d,m):pBe(l,g,f,r,i,m,o)}function XZ(e,t,r,i,o,s){return{extensionsToSearch:t_(dBe(e,i)),referenceKind:t,importingSourceFile:r,endingPreference:o?.importModuleSpecifierEnding,resolutionMode:s}}function uBe(e,t,r,i,o,s){return r.rootDirs?_Be(r.rootDirs,e,t,s,r,i,o):lo(Tk(e,t,s,i,!1,o).values())}function dBe(e,t){let r=t?Zi(t.getAmbientModules(),s=>{let l=s.name.slice(1,-1);if(!(!l.startsWith("*.")||l.includes("/")))return l.slice(1)}):[],i=[...nL(e),r],o=$s(e);return T7(o)?FR(e,i):i}function fBe(e,t,r,i){e=e.map(s=>So(qp(s)?s:vi(t,s)));let o=ks(e,s=>Gy(s,r,t,i)?r.substr(s.length):void 0);return fA([...e.map(s=>vi(s,o)),r],z1,su)}function _Be(e,t,r,i,o,s,l){let f=o.project||s.getCurrentDirectory(),d=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),g=fBe(e,f,r,d);return Uo(g,m=>lo(Tk(t,m,i,s,!0,l).values()))}function Tk(e,t,r,i,o,s,l=KZ()){var f;e===void 0&&(e=""),e=Al(e),My(e)||(e=ni(e)),e===""&&(e="."+_s),e=cu(e);let d=Fy(t,e),g=My(d)?d:ni(d);if(!o){let x=cge(g,i);if(x){let w=JI(x,i).typesVersions;if(typeof w=="object"){let C=(f=q3(w))==null?void 0:f.paths;if(C){let P=ni(x),F=d.slice(cu(P).length);if(CTe(l,F,P,r,i,C))return l}}}}let m=!(i.useCaseSensitiveFileNames&&i.useCaseSensitiveFileNames());if(!G7(i,g))return l;let v=xY(i,g,r.extensionsToSearch,void 0,["./*"]);if(v)for(let x of v){if(x=So(x),s&&cT(x,s,t,m)===0)continue;let{name:A,extension:w}=ATe(Hl(x),i.getCompilationSettings(),r);l.add(tC(A,"script",w))}let S=M7(i,g);if(S)for(let x of S){let A=Hl(So(x));A!=="@types"&&l.add(qZ(A))}return l}function ATe(e,t,r){let i=Q0.tryGetRealFileNameForNonJsDeclarationFileName(e);if(i)return{name:i,extension:Hm(i)};if(r.referenceKind===0)return{name:e,extension:Hm(e)};let o=OW(r.endingPreference,r.resolutionMode,t,r.importingSourceFile);if(o===3){if($c(e,L4))return{name:e,extension:Hm(e)};let l=Q0.tryGetJSExtensionForFile(e,t);return l?{name:V0(e,l),extension:l}:{name:e,extension:Hm(e)}}if((o===0||o===1)&&$c(e,[".js",".jsx",".ts",".tsx",".d.ts"]))return{name:ld(e),extension:Hm(e)};let s=Q0.tryGetJSExtensionForFile(e,t);return s?{name:V0(e,s),extension:s}:{name:e,extension:Hm(e)}}function CTe(e,t,r,i,o,s){let l=d=>s[d],f=(d,g)=>{let m=n2(d),v=n2(g),S=typeof m=="object"?m.prefix.length:d.length,x=typeof v=="object"?v.prefix.length:g.length;return Es(x,S)};return ITe(e,t,r,i,o,bh(s),l,f)}function ITe(e,t,r,i,o,s,l,f){let d=[],g;for(let m of s){if(m===".")continue;let v=m.replace(/^\.\//,""),S=l(m);if(S){let x=n2(v);if(!x)continue;let A=typeof x=="object"&&h8(x,t);A&&(g===void 0||f(m,g)===-1)&&(g=m,d=d.filter(C=>!C.matchedPattern)),(typeof x=="string"||g===void 0||f(m,g)!==1)&&d.push({matchedPattern:A,results:mBe(v,S,t,r,i,o).map(({name:C,kind:P,extension:F})=>tC(C,P,F))})}}return d.forEach(m=>m.results.forEach(v=>e.add(v))),g!==void 0}function pBe(e,t,r,i,o,s,l){let{baseUrl:f,paths:d}=i,g=KZ(),m=$s(i);if(f){let S=i.project||o.getCurrentDirectory(),x=So(vi(S,f));Tk(e,x,s,o,!1,void 0,g),d&&CTe(g,e,x,s,o,d)}let v=kTe(e);for(let S of gBe(e,v,l))g.add(tC(S,"external module name",void 0));if(RTe(o,i,t,v,s,g),T7(m)){let S=!1;if(v===void 0)for(let x of vBe(o,t)){let A=tC(x,"external module name",void 0);g.has(A.name)||(S=!0,g.add(A))}if(!S){let x=A=>{let w=vi(A,"node_modules");G7(o,w)&&Tk(e,w,s,o,!1,void 0,g)};if(v&&xW(i)){let A=x;x=w=>{let C=Ou(e);C.shift();let P=C.shift();if(!P)return A(w);if(na(P,"@")){let q=C.shift();if(!q)return A(w);P=vi(P,q)}let F=vi(w,"node_modules",P),B=vi(F,"package.json");if(F7(o,B)){let W=JI(B,o).exports;if(W){if(typeof W!="object"||W===null)return;let Y=bh(W),R=C.join("/")+(C.length&&My(e)?"/":""),ie=r===99?["node","import","types"]:["node","require","types"];ITe(g,R,F,s,o,Y,$=>aT(LTe(W[$],ie)),tK);return}}return A(w)}}Th(t,x)}}return lo(g.values())}function LTe(e,t){if(typeof e=="string")return e;if(e&&typeof e=="object"&&!ba(e)){for(let r in e)if(r==="default"||t.indexOf(r)>-1||QO(t,r)){let i=e[r];return LTe(i,t)}}}function kTe(e){return YZ(e)?My(e)?e:ni(e):void 0}function mBe(e,t,r,i,o,s){if(!Oc(e,"*"))return jl(e,"*")?Je:d(e,"script");let l=e.slice(0,e.length-1),f=KU(r,l);if(f===void 0)return e[e.length-2]==="/"?d(l,"directory"):Uo(t,m=>{var v;return(v=DTe("",i,m,o,s))==null?void 0:v.map(({name:S,...x})=>({name:l+S,...x}))});return Uo(t,g=>DTe(f,i,g,o,s));function d(g,m){return na(g,r)?[{name:sT(g),kind:m,extension:void 0}]:Je}}function DTe(e,t,r,i,o){if(!o.readDirectory)return;let s=n2(r);if(s===void 0||Ta(s))return;let l=Fy(s.prefix),f=My(s.prefix)?l:ni(l),d=My(s.prefix)?"":Hl(l),g=YZ(e),m=g?My(e)?e:ni(e):void 0,v=g?vi(f,d+m):f,S=So(s.suffix),x=So(vi(t,v)),A=g?x:cu(x)+d,w=S?"**/*"+S:"./*",C=Zi(xY(o,x,i.extensionsToSearch,void 0,[w]),B=>{let q=F(B);if(q){if(YZ(q))return qZ(Ou(wTe(q))[1]);let{name:W,extension:Y}=ATe(q,o.getCompilationSettings(),i);return tC(W,"script",Y)}}),P=S?Je:Zi(M7(o,x),B=>B==="node_modules"?void 0:qZ(B));return[...C,...P];function F(B){let q=hBe(So(B),A,S);return q===void 0?void 0:wTe(q)}}function hBe(e,t,r){return na(e,t)&&Oc(e,r)?e.slice(t.length,e.length-r.length):void 0}function wTe(e){return e[0]===_s?e.slice(1):e}function gBe(e,t,r){let o=r.getAmbientModules().map(s=>u_(s.name)).filter(s=>na(s,e)&&s.indexOf("*")<0);if(t!==void 0){let s=cu(t);return o.map(l=>QC(l,s))}return o}function yBe(e,t,r,i){let o=Vi(e,t),s=Nm(e.text,o.pos),l=s&&wr(s,A=>t>=A.pos&&t<=A.end);if(!l)return;let f=e.text.slice(l.pos,t),d=OTe.exec(f);if(!d)return;let[,g,m,v]=d,S=ni(e.path),x=m==="path"?Tk(v,S,XZ(r,0,e),i,!0,e.path):m==="types"?RTe(i,r,S,kTe(v),XZ(r,1,e)):L.fail();return STe(v,l.pos+g.length,lo(x.values()))}function RTe(e,t,r,i,o,s=KZ()){let l=new Map,f=B7(()=>XO(t,e))||Je;for(let g of f)d(g);for(let g of AY(r,e)){let m=vi(ni(g),"node_modules/@types");d(m)}return s;function d(g){if(G7(e,g))for(let m of M7(e,g)){let v=iF(m);if(!(t.types&&!ya(t.types,v)))if(i===void 0)l.has(v)||(s.add(tC(v,"external module name",void 0)),l.set(v,!0));else{let S=vi(g,m),x=IW(i,v,lb(e));x!==void 0&&Tk(x,S,o,e,!1,void 0,s)}}}}function vBe(e,t){if(!e.readFile||!e.fileExists)return Je;let r=[];for(let i of AY(t,e)){let o=JI(i,e);for(let s of NTe){let l=o[s];if(l)for(let f in l)fs(l,f)&&!na(f,"@types/")&&r.push(f)}}return r}function bBe(e,t){let r=Math.max(e.lastIndexOf(_s),e.lastIndexOf(pw)),i=r!==-1?r+1:0,o=e.length-i;return o===0||i_(e.substr(i,o),99)?void 0:il(t+i,o)}function EBe(e){if(e&&e.length>=2&&e.charCodeAt(0)===46){let t=e.length>=3&&e.charCodeAt(1)===46?2:1,r=e.charCodeAt(t);return r===47||r===92}return!1}function YZ(e){return jl(e,_s)}function TBe(e){return Pa(e.parent)&&Sl(e.parent.arguments)===e&&Re(e.parent.expression)&&e.parent.expression.escapedText==="require"}var $Z,OTe,NTe,SBe=gt({"src/services/stringCompletions.ts"(){"use strict";Fr(),QZ(),$Z={directory:0,script:1,"external module name":2},OTe=/^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\3"]*)$/,NTe=["dependencies","devDependencies","peerDependencies","optionalDependencies"]}}),aG={};Mo(aG,{getStringLiteralCompletionDetails:()=>iBe,getStringLiteralCompletions:()=>nBe});var xBe=gt({"src/services/_namespaces/ts.Completions.StringCompletions.ts"(){"use strict";SBe()}}),lx={};Mo(lx,{CompletionKind:()=>zZ,CompletionSource:()=>HZ,SortText:()=>Pl,StringCompletions:()=>aG,SymbolOriginInfoKind:()=>WZ,createCompletionDetails:()=>mP,createCompletionDetailsForSymbol:()=>GZ,getCompletionEntriesFromSymbols:()=>MZ,getCompletionEntryDetails:()=>OGe,getCompletionEntrySymbol:()=>PGe,getCompletionsAtPosition:()=>fGe,getPropertiesForObjectExpression:()=>tG,moduleSpecifierResolutionCacheAttemptLimit:()=>jZ,moduleSpecifierResolutionLimit:()=>iG});var QZ=gt({"src/services/_namespaces/ts.Completions.ts"(){"use strict";tBe(),xBe()}});function ZZ(e,t,r,i){let o=LBe(e,r,i);return(s,l,f)=>{let{directImports:d,indirectUsers:g}=ABe(e,t,o,l,r,i);return{indirectUsers:g,...CBe(d,s,l.exportKind,r,f)}}}function ABe(e,t,r,{exportingModuleSymbol:i,exportKind:o},s,l){let f=W2(),d=W2(),g=[],m=!!i.globalExports,v=m?void 0:[];return x(i),{directImports:g,indirectUsers:S()};function S(){if(m)return e;if(i.declarations)for(let B of i.declarations)D0(B)&&t.has(B.getSourceFile().fileName)&&P(B);return v.map(Gn)}function x(B){let q=F(B);if(q){for(let W of q)if(f(W))switch(l&&l.throwIfCancellationRequested(),W.kind){case 210:if(Dd(W)){A(W);break}if(!m){let R=W.parent;if(o===2&&R.kind===257){let{name:ie}=R;if(ie.kind===79){g.push(ie);break}}}break;case 79:break;case 268:C(W,W.name,Mr(W,1),!1);break;case 269:g.push(W);let Y=W.importClause&&W.importClause.namedBindings;Y&&Y.kind===271?C(W,Y.name,!1,!0):!m&&lS(W)&&P(vP(W));break;case 275:W.exportClause?W.exportClause.kind===277?P(vP(W),!0):g.push(W):x(OBe(W,s));break;case 202:!m&&W.isTypeOf&&!W.qualifier&&w(W)&&P(W.getSourceFile(),!0),g.push(W);break;default:L.failBadSyntaxKind(W,"Unexpected import kind.")}}}function A(B){let q=jn(B,oG)||B.getSourceFile();P(q,!!w(B,!0))}function w(B,q=!1){return jn(B,W=>q&&oG(W)?"quit":g_(W)&&vt(W.modifiers,c3))}function C(B,q,W,Y){if(o===2)Y||g.push(B);else if(!m){let R=vP(B);L.assert(R.kind===308||R.kind===264),W||IBe(R,q,s)?P(R,!0):P(R)}}function P(B,q=!1){if(L.assert(!m),!d(B)||(v.push(B),!q))return;let Y=s.getMergedSymbol(B.symbol);if(!Y)return;L.assert(!!(Y.flags&1536));let R=F(Y);if(R)for(let ie of R)Mh(ie)||P(vP(ie),!0)}function F(B){return r.get($a(B).toString())}}function CBe(e,t,r,i,o){let s=[],l=[];function f(S,x){s.push([S,x])}if(e)for(let S of e)d(S);return{importSearches:s,singleReferences:l};function d(S){if(S.kind===268){tee(S)&&g(S.name);return}if(S.kind===79){g(S);return}if(S.kind===202){if(S.qualifier){let w=Yd(S.qualifier);w.escapedText===fc(t)&&l.push(w)}else r===2&&l.push(S.argument.literal);return}if(S.moduleSpecifier.kind!==10)return;if(S.kind===275){S.exportClause&&h_(S.exportClause)&&m(S.exportClause);return}let{name:x,namedBindings:A}=S.importClause||{name:void 0,namedBindings:void 0};if(A)switch(A.kind){case 271:g(A.name);break;case 272:(r===0||r===1)&&m(A);break;default:L.assertNever(A)}if(x&&(r===1||r===2)&&(!o||x.escapedText===A7(t))){let w=i.getSymbolAtLocation(x);f(x,w)}}function g(S){r===2&&(!o||v(S.escapedText))&&f(S,i.getSymbolAtLocation(S))}function m(S){if(S)for(let x of S.elements){let{name:A,propertyName:w}=x;if(v((w||A).escapedText))if(w)l.push(w),(!o||A.escapedText===t.escapedName)&&f(A,i.getSymbolAtLocation(A));else{let C=x.kind===278&&x.propertyName?i.getExportSpecifierLocalTargetSymbol(x):i.getSymbolAtLocation(A);f(A,C)}}}function v(S){return S===t.escapedName||r!==0&&S==="default"}}function IBe(e,t,r){let i=r.getSymbolAtLocation(t);return!!MTe(e,o=>{if(!Il(o))return;let{exportClause:s,moduleSpecifier:l}=o;return!l&&s&&h_(s)&&s.elements.some(f=>r.getExportSpecifierLocalTargetSymbol(f)===i)})}function PTe(e,t,r){var i;let o=[],s=e.getTypeChecker();for(let l of t){let f=r.valueDeclaration;if(f?.kind===308){for(let d of l.referencedFiles)e.getSourceFileFromReference(l,d)===f&&o.push({kind:"reference",referencingFile:l,ref:d});for(let d of l.typeReferenceDirectives){let g=(i=e.getResolvedTypeReferenceDirectives().get(d.fileName,d.resolutionMode||l.impliedNodeFormat))==null?void 0:i.resolvedTypeReferenceDirective;g!==void 0&&g.resolvedFileName===f.fileName&&o.push({kind:"reference",referencingFile:l,ref:d})}}FTe(l,(d,g)=>{s.getSymbolAtLocation(g)===r&&o.push({kind:"import",literal:g})})}return o}function LBe(e,t,r){let i=new Map;for(let o of e)r&&r.throwIfCancellationRequested(),FTe(o,(s,l)=>{let f=t.getSymbolAtLocation(l);if(f){let d=$a(f).toString(),g=i.get(d);g||i.set(d,g=[]),g.push(s)}});return i}function MTe(e,t){return mn(e.kind===308?e.statements:e.body.statements,r=>t(r)||oG(r)&&mn(r.body&&r.body.statements,t))}function FTe(e,t){if(e.externalModuleIndicator||e.imports!==void 0)for(let r of e.imports)t(aR(r),r);else MTe(e,r=>{switch(r.kind){case 275:case 269:{let i=r;i.moduleSpecifier&&yo(i.moduleSpecifier)&&t(i,i.moduleSpecifier);break}case 268:{let i=r;tee(i)&&t(i,i.moduleReference.expression);break}}})}function GTe(e,t,r,i){return i?o():o()||s();function o(){var d;let{parent:g}=e,m=g.parent;if(t.exportSymbol)return g.kind===208?(d=t.declarations)!=null&&d.some(x=>x===g)&&ar(m)?S(m,!1):void 0:l(t.exportSymbol,f(g));{let x=DBe(g,e);if(x&&Mr(x,1))return Nl(x)&&x.moduleReference===e?i?void 0:{kind:0,symbol:r.getSymbolAtLocation(x.name)}:l(t,f(x));if(qm(g))return l(t,0);if(pc(g))return v(g);if(pc(m))return v(m);if(ar(g))return S(g,!0);if(ar(m))return S(m,!0);if(Kz(g)||Vz(g))return l(t,0)}function v(x){if(!x.symbol.parent)return;let A=x.isExportEquals?2:1;return{kind:1,symbol:t,exportInfo:{exportingModuleSymbol:x.symbol.parent,exportKind:A}}}function S(x,A){let w;switch(ic(x)){case 1:w=0;break;case 2:w=2;break;default:return}let C=A?r.getSymbolAtLocation(ule(Ga(x.left,Us))):t;return C&&l(C,w)}}function s(){if(!wBe(e))return;let g=r.getImmediateAliasedSymbol(t);if(!g||(g=RBe(g,r),g.escapedName==="export="&&(g=kBe(g,r),g===void 0)))return;let m=A7(g);if(m===void 0||m==="default"||m===t.escapedName)return{kind:0,symbol:g}}function l(d,g){let m=eee(d,g,r);return m&&{kind:1,symbol:d,exportInfo:m}}function f(d){return Mr(d,1024)?1:0}}function kBe(e,t){var r,i;if(e.flags&2097152)return t.getImmediateAliasedSymbol(e);let o=L.checkDefined(e.valueDeclaration);if(pc(o))return(r=zr(o.expression,$p))==null?void 0:r.symbol;if(ar(o))return(i=zr(o.right,$p))==null?void 0:i.symbol;if(Li(o))return o.symbol}function DBe(e,t){let r=wi(e)?e:Wo(e)?bA(e):void 0;return r?e.name!==t||E2(r.parent)?void 0:Bc(r.parent.parent)?r.parent.parent:void 0:e}function wBe(e){let{parent:t}=e;switch(t.kind){case 268:return t.name===e&&tee(t);case 273:return!t.propertyName;case 270:case 271:return L.assert(t.name===e),!0;case 205:return Yn(e)&&N0(t.parent.parent);default:return!1}}function eee(e,t,r){let i=e.parent;if(!i)return;let o=r.getMergedSymbol(i);return BN(o)?{exportingModuleSymbol:o,exportKind:t}:void 0}function RBe(e,t){if(e.declarations)for(let r of e.declarations){if(Mu(r)&&!r.propertyName&&!r.parent.parent.moduleSpecifier)return t.getExportSpecifierLocalTargetSymbol(r)||e;if(br(r)&&Bm(r.expression)&&!pi(r.name))return t.getSymbolAtLocation(r);if(xf(r)&&ar(r.parent.parent)&&ic(r.parent.parent)===2)return t.getExportSpecifierLocalTargetSymbol(r.name)}return e}function OBe(e,t){return t.getMergedSymbol(vP(e).symbol)}function vP(e){if(e.kind===210)return e.getSourceFile();let{parent:t}=e;return t.kind===308?t:(L.assert(t.kind===265),Ga(t.parent,oG))}function oG(e){return e.kind===264&&e.name.kind===10}function tee(e){return e.moduleReference.kind===280&&e.moduleReference.expression.kind===10}var nee,ree,NBe=gt({"src/services/importTracker.ts"(){"use strict";Fr(),nee=(e=>(e[e.Named=0]="Named",e[e.Default=1]="Default",e[e.ExportEquals=2]="ExportEquals",e))(nee||{}),ree=(e=>(e[e.Import=0]="Import",e[e.Export=1]="Export",e))(ree||{})}});function Ym(e,t=1){return{kind:t,node:e.name||e,context:PBe(e)}}function BTe(e){return e&&e.kind===void 0}function PBe(e){if(Kl(e))return sE(e);if(e.parent){if(!Kl(e.parent)&&!pc(e.parent)){if(Yn(e)){let r=ar(e.parent)?e.parent:Us(e.parent)&&ar(e.parent.parent)&&e.parent.parent.left===e.parent?e.parent.parent:void 0;if(r&&ic(r)!==0)return sE(r)}if(Xm(e.parent)||GS(e.parent))return e.parent.parent;if(FS(e.parent)||J0(e.parent)||hI(e.parent))return e.parent;if(es(e)){let r=oR(e);if(r){let i=jn(r,o=>Kl(o)||ca(o)||EI(o));return Kl(i)?sE(i):i}}let t=jn(e,ts);return t?sE(t.parent):void 0}if(e.parent.name===e||Ec(e.parent)||pc(e.parent)||(eS(e.parent)||Wo(e.parent))&&e.parent.propertyName===e||e.kind===88&&Mr(e.parent,1025))return sE(e.parent)}}function sE(e){if(e)switch(e.kind){case 257:return!pu(e.parent)||e.parent.declarations.length!==1?e:Bc(e.parent.parent)?e.parent.parent:CA(e.parent.parent)?sE(e.parent.parent):e.parent;case 205:return sE(e.parent.parent);case 273:return e.parent.parent.parent;case 278:case 271:return e.parent.parent;case 270:case 277:return e.parent;case 223:return Ol(e.parent)?e.parent:e;case 247:case 246:return{start:e.initializer,end:e.expression};case 299:case 300:return qg(e.parent)?sE(jn(e.parent,t=>ar(t)||CA(t))):e;default:return e}}function iee(e,t,r){if(!r)return;let i=BTe(r)?EP(r.start,t,r.end):EP(r,t);return i.start!==e.start||i.length!==e.length?{contextSpan:i}:void 0}function MBe(e,t,r,i,o){let s=ef(i,o),l={use:1},f=u1.getReferencedSymbolsForNode(o,s,e,r,t,l),d=e.getTypeChecker(),g=u1.getAdjustedNode(s,l),m=FBe(g)?d.getSymbolAtLocation(g):void 0;return!f||!f.length?void 0:Zi(f,({definition:v,references:S})=>v&&{definition:d.runWithCancellationToken(t,x=>UBe(v,x,s)),references:S.map(x=>jBe(x,m))})}function FBe(e){return e.kind===88||!!fR(e)||_R(e)||e.kind===135&&Ec(e.parent)}function GBe(e,t,r,i,o){let s=ef(i,o),l,f=UTe(e,t,r,s,o);if(s.parent.kind===208||s.parent.kind===205||s.parent.kind===209||s.kind===106)l=f&&[...f];else if(f){let g=HU(f),m=new Map;for(;!g.isEmpty();){let v=g.dequeue();if(!V_(m,zo(v.node)))continue;l=Sn(l,v);let S=UTe(e,t,r,v.node,v.node.pos);S&&g.enqueue(...S)}}let d=e.getTypeChecker();return on(l,g=>WBe(g,d))}function UTe(e,t,r,i,o){if(i.kind===308)return;let s=e.getTypeChecker();if(i.parent.kind===300){let l=[];return u1.getReferenceEntriesForShorthandPropertyAssignment(i,s,f=>l.push(Ym(f))),l}else if(i.kind===106||Pu(i.parent)){let l=s.getSymbolAtLocation(i);return l.valueDeclaration&&[Ym(l.valueDeclaration)]}else return VTe(o,i,e,r,t,{implementations:!0,use:1})}function BBe(e,t,r,i,o,s,l){return on(jTe(u1.getReferencedSymbolsForNode(o,i,e,r,t,s)),f=>l(f,i,e.getTypeChecker()))}function VTe(e,t,r,i,o,s={},l=new Set(i.map(f=>f.fileName))){return jTe(u1.getReferencedSymbolsForNode(e,t,r,i,o,s,l))}function jTe(e){return e&&Uo(e,t=>t.references)}function UBe(e,t,r){let i=(()=>{switch(e.type){case 0:{let{symbol:m}=e,{displayParts:v,kind:S}=HTe(m,t,r),x=v.map(C=>C.text).join(""),A=m.declarations&&Sl(m.declarations),w=A?sa(A)||A:r;return{...bP(w),name:x,kind:S,displayParts:v,context:sE(A)}}case 1:{let{node:m}=e;return{...bP(m),name:m.text,kind:"label",displayParts:[Qu(m.text,17)]}}case 2:{let{node:m}=e,v=Xa(m.kind);return{...bP(m),name:v,kind:"keyword",displayParts:[{text:v,kind:"keyword"}]}}case 3:{let{node:m}=e,v=t.getSymbolAtLocation(m),S=v&&$g.getSymbolDisplayPartsDocumentationAndSymbolKind(t,v,m.getSourceFile(),e1(m),m).displayParts||[tf("this")];return{...bP(m),name:"this",kind:"var",displayParts:S}}case 4:{let{node:m}=e;return{...bP(m),name:m.text,kind:"var",displayParts:[Qu(Qc(m),8)]}}case 5:return{textSpan:lv(e.reference),sourceFile:e.file,name:e.reference.fileName,kind:"string",displayParts:[Qu(`"${e.reference.fileName}"`,8)]};default:return L.assertNever(e)}})(),{sourceFile:o,textSpan:s,name:l,kind:f,displayParts:d,context:g}=i;return{containerKind:"",containerName:"",fileName:o.fileName,kind:f,name:l,textSpan:s,displayParts:d,...iee(s,o,g)}}function bP(e){let t=e.getSourceFile();return{sourceFile:t,textSpan:EP(ts(e)?e.expression:e,t)}}function HTe(e,t,r){let i=u1.getIntersectingMeaningFromDeclarations(r,e),o=e.declarations&&Sl(e.declarations)||r,{displayParts:s,symbolKind:l}=$g.getSymbolDisplayPartsDocumentationAndSymbolKind(t,e,o.getSourceFile(),o,o,i);return{displayParts:s,kind:l}}function VBe(e,t,r,i){return{...sG(e),...i&&HBe(e,t,r)}}function jBe(e,t){let r=WTe(e);return t?{...r,isDefinition:e.kind!==0&&JTe(e.node,t)}:r}function WTe(e){let t=sG(e);if(e.kind===0)return{...t,isWriteAccess:!1};let{kind:r,node:i}=e;return{...t,isWriteAccess:zTe(i),isInString:r===2?!0:void 0}}function sG(e){if(e.kind===0)return{textSpan:e.textSpan,fileName:e.fileName};{let t=e.node.getSourceFile(),r=EP(e.node,t);return{textSpan:r,fileName:t.fileName,...iee(r,t,e.context)}}}function HBe(e,t,r){if(e.kind!==0&&Re(t)){let{node:i,kind:o}=e,s=i.parent,l=t.text,f=xf(s);if(f||jN(s)&&s.name===i&&s.dotDotDotToken===void 0){let d={prefixText:l+": "},g={suffixText:": "+l};if(o===3)return d;if(o===4)return g;if(f){let m=s.parent;return rs(m)&&ar(m.parent)&&Bm(m.parent.left)?d:g}else return d}else if($u(s)&&!s.propertyName){let d=Mu(t.parent)?r.getExportSpecifierLocalTargetSymbol(t.parent):r.getSymbolAtLocation(t);return ya(d.declarations,s)?{prefixText:l+" as "}:Cp}else if(Mu(s)&&!s.propertyName)return t===e.node||r.getSymbolAtLocation(t)===r.getSymbolAtLocation(e.node)?{prefixText:l+" as "}:{suffixText:" as "+l}}return Cp}function WBe(e,t){let r=sG(e);if(e.kind!==0){let{node:i}=e;return{...r,...zBe(i,t)}}else return{...r,kind:"",displayParts:[]}}function zBe(e,t){let r=t.getSymbolAtLocation(Kl(e)&&e.name?e.name:e);return r?HTe(r,t,e):e.kind===207?{kind:"interface",displayParts:[Yl(20),tf("object literal"),Yl(21)]}:e.kind===228?{kind:"local class",displayParts:[Yl(20),tf("anonymous local class"),Yl(21)]}:{kind:aE(e),displayParts:[]}}function JBe(e){let t=sG(e);if(e.kind===0)return{fileName:t.fileName,span:{textSpan:t.textSpan,kind:"reference"}};let r=zTe(e.node),i={textSpan:t.textSpan,kind:r?"writtenReference":"reference",isInString:e.kind===2?!0:void 0,...t.contextSpan&&{contextSpan:t.contextSpan}};return{fileName:t.fileName,span:i}}function EP(e,t,r){let i=e.getStart(t),o=(r||e).getEnd();return es(e)&&o-i>2&&(L.assert(r===void 0),i+=1,o-=1),Wc(i,o)}function aee(e){return e.kind===0?e.textSpan:EP(e.node,e.node.getSourceFile())}function zTe(e){let t=fR(e);return!!t&&KBe(t)||e.kind===88||YI(e)}function JTe(e,t){var r;if(!t)return!1;let i=fR(e)||(e.kind===88?e.parent:_R(e)||e.kind===135&&Ec(e.parent)?e.parent.parent:void 0),o=i&&ar(i)?i.left:void 0;return!!(i&&((r=t.declarations)!=null&&r.some(s=>s===i||s===o)))}function KBe(e){if(e.flags&16777216)return!0;switch(e.kind){case 223:case 205:case 260:case 228:case 88:case 263:case 302:case 278:case 270:case 268:case 273:case 261:case 341:case 349:case 288:case 264:case 267:case 271:case 277:case 166:case 300:case 262:case 165:return!0;case 299:return!qg(e.parent);case 259:case 215:case 173:case 171:case 174:case 175:return!!e.body;case 257:case 169:return!!e.initializer||E2(e.parent);case 170:case 168:case 351:case 344:return!1;default:return L.failBadSyntaxKind(e)}}var oee,see,cee,u1,qBe=gt({"src/services/findAllReferences.ts"(){"use strict";Fr(),KTe(),oee=(e=>(e[e.Symbol=0]="Symbol",e[e.Label=1]="Label",e[e.Keyword=2]="Keyword",e[e.This=3]="This",e[e.String=4]="String",e[e.TripleSlashReference=5]="TripleSlashReference",e))(oee||{}),see=(e=>(e[e.Span=0]="Span",e[e.Node=1]="Node",e[e.StringLiteral=2]="StringLiteral",e[e.SearchedLocalFoundProperty=3]="SearchedLocalFoundProperty",e[e.SearchedPropertyFoundLocal=4]="SearchedPropertyFoundLocal",e))(see||{}),cee=(e=>(e[e.Other=0]="Other",e[e.References=1]="References",e[e.Rename=2]="Rename",e))(cee||{}),(e=>{function t(Se,at,Tt,ve,nt,ce={},Q=new Set(ve.map(ue=>ue.fileName))){var ue,G,Oe;if(at=r(at,ce),Li(at)){let ae=xk.getReferenceAtPosition(at,Se,Tt);if(!ae?.file)return;let rt=Tt.getTypeChecker().getMergedSymbol(ae.file.symbol);if(rt)return g(Tt,rt,!1,ve,Q);let Ot=Tt.getFileIncludeReasons();return Ot?[{definition:{type:5,reference:ae.reference,file:at},references:o(ae.file,Ot,Tt)||Je}]:void 0}if(!ce.implementations){let ae=v(at,ve,nt);if(ae)return ae}let je=Tt.getTypeChecker(),Ge=je.getSymbolAtLocation(Ec(at)&&at.parent.name||at);if(!Ge){if(!ce.implementations&&es(at)){if(C7(at)){let ae=Tt.getFileIncludeReasons(),rt=(Oe=(G=(ue=at.getSourceFile().resolvedModules)==null?void 0:ue.get(at.text,W_(at.getSourceFile(),at)))==null?void 0:G.resolvedModule)==null?void 0:Oe.resolvedFileName,Ot=rt?Tt.getSourceFile(rt):void 0;if(Ot)return[{definition:{type:4,node:at},references:o(Ot,ae,Tt)||Je}]}return pt(at,ve,je,nt)}return}if(Ge.escapedName==="export=")return g(Tt,Ge.parent,!1,ve,Q);let kt=l(Ge,Tt,ve,nt,ce,Q);if(kt&&!(Ge.flags&33554432))return kt;let Kt=s(at,Ge,je),ln=Kt&&l(Kt,Tt,ve,nt,ce,Q),ir=S(Ge,at,ve,Q,je,nt,ce);return f(Tt,kt,ir,ln)}e.getReferencedSymbolsForNode=t;function r(Se,at){return at.use===1?Se=zX(Se):at.use===2&&(Se=_7(Se)),Se}e.getAdjustedNode=r;function i(Se,at,Tt,ve=new Set(Tt.map(nt=>nt.fileName))){var nt,ce;let Q=(nt=at.getSourceFile(Se))==null?void 0:nt.symbol;if(Q)return((ce=g(at,Q,!1,Tt,ve)[0])==null?void 0:ce.references)||Je;let ue=at.getFileIncludeReasons(),G=at.getSourceFile(Se);return G&&ue&&o(G,ue,at)||Je}e.getReferencesForFileName=i;function o(Se,at,Tt){let ve,nt=at.get(Se.path)||Je;for(let ce of nt)if(vb(ce)){let Q=Tt.getSourceFileByPath(ce.file),ue=YL(Tt.getSourceFileByPath,ce);F2(ue)&&(ve=Sn(ve,{kind:0,fileName:Q.fileName,textSpan:lv(ue)}))}return ve}function s(Se,at,Tt){if(Se.parent&&gO(Se.parent)){let ve=Tt.getAliasedSymbol(at),nt=Tt.getMergedSymbol(ve);if(ve!==nt)return nt}}function l(Se,at,Tt,ve,nt,ce){let Q=Se.flags&1536&&Se.declarations&&wr(Se.declarations,Li);if(!Q)return;let ue=Se.exports.get("export="),G=g(at,Se,!!ue,Tt,ce);if(!ue||!ce.has(Q.fileName))return G;let Oe=at.getTypeChecker();return Se=wd(ue,Oe),f(at,G,S(Se,void 0,Tt,ce,Oe,ve,nt))}function f(Se,...at){let Tt;for(let ve of at)if(!(!ve||!ve.length)){if(!Tt){Tt=ve;continue}for(let nt of ve){if(!nt.definition||nt.definition.type!==0){Tt.push(nt);continue}let ce=nt.definition.symbol,Q=Yc(Tt,G=>!!G.definition&&G.definition.type===0&&G.definition.symbol===ce);if(Q===-1){Tt.push(nt);continue}let ue=Tt[Q];Tt[Q]={definition:ue.definition,references:ue.references.concat(nt.references).sort((G,Oe)=>{let je=d(Se,G),Ge=d(Se,Oe);if(je!==Ge)return Es(je,Ge);let kt=aee(G),Kt=aee(Oe);return kt.start!==Kt.start?Es(kt.start,Kt.start):Es(kt.length,Kt.length)})}}}return Tt}function d(Se,at){let Tt=at.kind===0?Se.getSourceFile(at.fileName):at.node.getSourceFile();return Se.getSourceFiles().indexOf(Tt)}function g(Se,at,Tt,ve,nt){L.assert(!!at.valueDeclaration);let ce=Zi(PTe(Se,ve,at),ue=>{if(ue.kind==="import"){let G=ue.literal.parent;if(mb(G)){let Oe=Ga(G.parent,Mh);if(Tt&&!Oe.qualifier)return}return Ym(ue.literal)}else return{kind:0,fileName:ue.referencingFile.fileName,textSpan:lv(ue.ref)}});if(at.declarations)for(let ue of at.declarations)switch(ue.kind){case 308:break;case 264:nt.has(ue.getSourceFile().fileName)&&ce.push(Ym(ue.name));break;default:L.assert(!!(at.flags&33554432),"Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.")}let Q=at.exports.get("export=");if(Q?.declarations)for(let ue of Q.declarations){let G=ue.getSourceFile();if(nt.has(G.fileName)){let Oe=ar(ue)&&br(ue.left)?ue.left.expression:pc(ue)?L.checkDefined(Yo(ue,93,G)):sa(ue)||ue;ce.push(Ym(Oe))}}return ce.length?[{definition:{type:0,symbol:at},references:ce}]:Je}function m(Se){return Se.kind===146&&RS(Se.parent)&&Se.parent.operator===146}function v(Se,at,Tt){if(ik(Se.kind))return Se.kind===114&&NS(Se.parent)||Se.kind===146&&!m(Se)?void 0:we(at,Se.kind,Tt,Se.kind===146?m:void 0);if(NA(Se.parent)&&Se.parent.name===Se)return Ve(at,Tt);if(LS(Se)&&oc(Se.parent))return[{definition:{type:2,node:Se},references:[Ym(Se)]}];if(DN(Se)){let ve=s7(Se.parent,Se.text);return ve&&ge(ve.parent,ve)}else if(MX(Se))return ge(Se.parent,Se);if(H2(Se))return gr(Se,at,Tt);if(Se.kind===106)return Ni(Se)}function S(Se,at,Tt,ve,nt,ce,Q){let ue=at&&w(Se,at,nt,!Cr(Q))||Se,G=at?hi(at,ue):7,Oe=[],je=new F(Tt,ve,at?A(at):0,nt,ce,G,Q,Oe),Ge=!Cr(Q)||!ue.declarations?void 0:wr(ue.declarations,Mu);if(Ge)Be(Ge.name,ue,Ge,je.createSearch(at,Se,void 0),je,!0,!0);else if(at&&at.kind===88&&ue.escapedName==="default"&&ue.parent)ct(at,ue,je),B(at,ue,{exportingModuleSymbol:ue.parent,exportKind:1},je);else{let kt=je.createSearch(at,ue,void 0,{allSearchSymbols:at?nn(ue,at,nt,Q.use===2,!!Q.providePrefixAndSuffixTextForRename,!!Q.implementations):[ue]});x(ue,je,kt)}return Oe}function x(Se,at,Tt){let ve=$(Se);if(ve)Pe(ve,ve.getSourceFile(),Tt,at,!(Li(ve)&&!ya(at.sourceFiles,ve)));else for(let nt of at.sourceFiles)at.cancellationToken.throwIfCancellationRequested(),R(nt,Tt,at)}function A(Se){switch(Se.kind){case 173:case 135:return 1;case 79:if(Yr(Se.parent))return L.assert(Se.parent.name===Se),2;default:return 0}}function w(Se,at,Tt,ve){let{parent:nt}=at;return Mu(nt)&&ve?Ne(at,Se,nt,Tt):ks(Se.declarations,ce=>{if(!ce.parent){if(Se.flags&33554432)return;L.fail(`Unexpected symbol at ${L.formatSyntaxKind(at.kind)}: ${L.formatSymbol(Se)}`)}return Rd(ce.parent)&&DS(ce.parent.parent)?Tt.getPropertyOfType(Tt.getTypeFromTypeNode(ce.parent.parent),Se.name):void 0})}let C;(Se=>{Se[Se.None=0]="None",Se[Se.Constructor=1]="Constructor",Se[Se.Class=2]="Class"})(C||(C={}));function P(Se){if(!(Se.flags&33555968))return;let at=Se.declarations&&wr(Se.declarations,Tt=>!Li(Tt)&&!Tc(Tt));return at&&at.symbol}class F{constructor(at,Tt,ve,nt,ce,Q,ue,G){this.sourceFiles=at,this.sourceFilesSet=Tt,this.specialSearchKind=ve,this.checker=nt,this.cancellationToken=ce,this.searchMeaning=Q,this.options=ue,this.result=G,this.inheritsFromCache=new Map,this.markSeenContainingTypeReference=W2(),this.markSeenReExportRHS=W2(),this.symbolIdToReferences=[],this.sourceFileToSeenSymbols=[]}includesSourceFile(at){return this.sourceFilesSet.has(at.fileName)}getImportSearches(at,Tt){return this.importTracker||(this.importTracker=ZZ(this.sourceFiles,this.sourceFilesSet,this.checker,this.cancellationToken)),this.importTracker(at,Tt,this.options.use===2)}createSearch(at,Tt,ve,nt={}){let{text:ce=u_(fc(QA(Tt)||P(Tt)||Tt)),allSearchSymbols:Q=[Tt]}=nt,ue=Bs(ce),G=this.options.implementations&&at?dr(at,Tt,this.checker):void 0;return{symbol:Tt,comingFrom:ve,text:ce,escapedText:ue,parents:G,allSearchSymbols:Q,includes:Oe=>ya(Q,Oe)}}referenceAdder(at){let Tt=$a(at),ve=this.symbolIdToReferences[Tt];return ve||(ve=this.symbolIdToReferences[Tt]=[],this.result.push({definition:{type:0,symbol:at},references:ve})),(nt,ce)=>ve.push(Ym(nt,ce))}addStringOrCommentReference(at,Tt){this.result.push({definition:void 0,references:[{kind:0,fileName:at,textSpan:Tt}]})}markSearchedSymbols(at,Tt){let ve=zo(at),nt=this.sourceFileToSeenSymbols[ve]||(this.sourceFileToSeenSymbols[ve]=new Set),ce=!1;for(let Q of Tt)ce=_0(nt,$a(Q))||ce;return ce}}function B(Se,at,Tt,ve){let{importSearches:nt,singleReferences:ce,indirectUsers:Q}=ve.getImportSearches(at,Tt);if(ce.length){let ue=ve.referenceAdder(at);for(let G of ce)W(G,ve)&&ue(G)}for(let[ue,G]of nt)ke(ue.getSourceFile(),ve.createSearch(ue,G,1),ve);if(Q.length){let ue;switch(Tt.exportKind){case 0:ue=ve.createSearch(Se,at,1);break;case 1:ue=ve.options.use===2?void 0:ve.createSearch(Se,at,1,{text:"default"});break;case 2:break}if(ue)for(let G of Q)R(G,ue,ve)}}function q(Se,at,Tt,ve,nt,ce,Q,ue){let G=ZZ(Se,new Set(Se.map(kt=>kt.fileName)),at,Tt),{importSearches:Oe,indirectUsers:je,singleReferences:Ge}=G(ve,{exportKind:Q?1:0,exportingModuleSymbol:nt},!1);for(let[kt]of Oe)ue(kt);for(let kt of Ge)Re(kt)&&Mh(kt.parent)&&ue(kt);for(let kt of je)for(let Kt of le(kt,Q?"default":ce)){let ln=at.getSymbolAtLocation(Kt),ir=vt(ln?.declarations,ae=>!!zr(ae,pc));Re(Kt)&&!eS(Kt.parent)&&(ln===ve||ir)&&ue(Kt)}}e.eachExportReference=q;function W(Se,at){return Ce(Se,at)?at.options.use!==2?!0:Re(Se)?!(eS(Se.parent)&&Se.escapedText==="default"):!1:!1}function Y(Se,at){if(Se.declarations)for(let Tt of Se.declarations){let ve=Tt.getSourceFile();ke(ve,at.createSearch(Tt,Se,0),at,at.includesSourceFile(ve))}}function R(Se,at,Tt){p$(Se).get(at.escapedText)!==void 0&&ke(Se,at,Tt)}function ie(Se,at){return qg(Se.parent.parent)?at.getPropertySymbolOfDestructuringAssignment(Se):void 0}function $(Se){let{declarations:at,flags:Tt,parent:ve,valueDeclaration:nt}=Se;if(nt&&(nt.kind===215||nt.kind===228))return nt;if(!at)return;if(Tt&8196){let ue=wr(at,G=>cd(G,8)||xu(G));return ue?cb(ue,260):void 0}if(at.some(jN))return;let ce=ve&&!(Se.flags&262144);if(ce&&!(BN(ve)&&!ve.globalExports))return;let Q;for(let ue of at){let G=e1(ue);if(Q&&Q!==G||!G||G.kind===308&&!kd(G))return;if(Q=G,ms(Q)){let Oe;for(;Oe=MH(Q);)Q=Oe}}return ce?Q.getSourceFile():Q}function fe(Se,at,Tt,ve=Tt){return Z(Se,at,Tt,()=>!0,ve)||!1}e.isSymbolReferencedInFile=fe;function Z(Se,at,Tt,ve,nt=Tt){let ce=Ad(Se.parent,Se.parent.parent)?Vo(at.getSymbolsOfParameterPropertyDeclaration(Se.parent,Se.text)):at.getSymbolAtLocation(Se);if(ce)for(let Q of le(Tt,ce.name,nt)){if(!Re(Q)||Q===Se||Q.escapedText!==Se.escapedText)continue;let ue=at.getSymbolAtLocation(Q);if(ue===ce||at.getShorthandAssignmentValueSymbol(Q.parent)===ce||Mu(Q.parent)&&Ne(Q,ue,Q.parent,at)===ce){let G=ve(Q);if(G)return G}}}e.eachSymbolReferenceInFile=Z;function U(Se,at){return Pr(le(at,Se),nt=>!!fR(nt)).reduce((nt,ce)=>{let Q=ve(ce);return!vt(nt.declarationNames)||Q===nt.depth?(nt.declarationNames.push(ce),nt.depth=Q):Q<nt.depth&&(nt.declarationNames=[ce],nt.depth=Q),nt},{depth:1/0,declarationNames:[]}).declarationNames;function ve(nt){let ce=0;for(;nt;)nt=e1(nt),ce++;return ce}}e.getTopMostDeclarationNamesInFile=U;function re(Se,at,Tt,ve){if(!Se.name||!Re(Se.name))return!1;let nt=L.checkDefined(Tt.getSymbolAtLocation(Se.name));for(let ce of at)for(let Q of le(ce,nt.name)){if(!Re(Q)||Q===Se.name||Q.escapedText!==Se.name.escapedText)continue;let ue=o7(Q),G=Pa(ue.parent)&&ue.parent.expression===ue?ue.parent:void 0,Oe=Tt.getSymbolAtLocation(Q);if(Oe&&Tt.getRootSymbols(Oe).some(je=>je===nt)&&ve(Q,G))return!0}return!1}e.someSignatureUsage=re;function le(Se,at,Tt=Se){return _e(Se,at,Tt).map(ve=>ef(Se,ve))}function _e(Se,at,Tt=Se){let ve=[];if(!at||!at.length)return ve;let nt=Se.text,ce=nt.length,Q=at.length,ue=nt.indexOf(at,Tt.pos);for(;ue>=0&&!(ue>Tt.end);){let G=ue+Q;(ue===0||!tb(nt.charCodeAt(ue-1),99))&&(G===ce||!tb(nt.charCodeAt(G),99))&&ve.push(ue),ue=nt.indexOf(at,ue+Q+1)}return ve}function ge(Se,at){let Tt=Se.getSourceFile(),ve=at.text,nt=Zi(le(Tt,ve,Se),ce=>ce===at||DN(ce)&&s7(ce,ve)===at?Ym(ce):void 0);return[{definition:{type:1,node:at},references:nt}]}function X(Se,at){switch(Se.kind){case 80:if(gb(Se.parent))return!0;case 79:return Se.text.length===at.length;case 14:case 10:{let Tt=Se;return(c7(Tt)||UX(Se)||vhe(Se)||Pa(Se.parent)&&sS(Se.parent)&&Se.parent.arguments[1]===Se)&&Tt.text.length===at.length}case 8:return c7(Se)&&Se.text.length===at.length;case 88:return at.length===7;default:return!1}}function Ve(Se,at){let Tt=Uo(Se,ve=>(at.throwIfCancellationRequested(),Zi(le(ve,"meta",ve),nt=>{let ce=nt.parent;if(NA(ce))return Ym(ce)})));return Tt.length?[{definition:{type:2,node:Tt[0].node},references:Tt}]:void 0}function we(Se,at,Tt,ve){let nt=Uo(Se,ce=>(Tt.throwIfCancellationRequested(),Zi(le(ce,Xa(at),ce),Q=>{if(Q.kind===at&&(!ve||ve(Q)))return Ym(Q)})));return nt.length?[{definition:{type:2,node:nt[0].node},references:nt}]:void 0}function ke(Se,at,Tt,ve=!0){return Tt.cancellationToken.throwIfCancellationRequested(),Pe(Se,Se,at,Tt,ve)}function Pe(Se,at,Tt,ve,nt){if(ve.markSearchedSymbols(at,Tt.allSearchSymbols))for(let ce of _e(at,Tt.text,Se))Ie(at,ce,Tt,ve,nt)}function Ce(Se,at){return!!(ZT(Se)&at.searchMeaning)}function Ie(Se,at,Tt,ve,nt){let ce=ef(Se,at);if(!X(ce,Tt.text)){!ve.options.implementations&&(ve.options.findInStrings&&n1(Se,at)||ve.options.findInComments&&Ghe(Se,at))&&ve.addStringOrCommentReference(Se.fileName,il(at,Tt.text.length));return}if(!Ce(ce,ve))return;let Q=ve.checker.getSymbolAtLocation(ce);if(!Q)return;let ue=ce.parent;if($u(ue)&&ue.propertyName===ce)return;if(Mu(ue)){L.assert(ce.kind===79),Be(ce,Q,ue,Tt,ve,nt);return}let G=Kn(Tt,Q,ce,ve);if(!G){_t(Q,Tt,ve);return}switch(ve.specialSearchKind){case 0:nt&&ct(ce,G,ve);break;case 1:Rt(ce,Se,Tt,ve);break;case 2:We(ce,Tt,ve);break;default:L.assertNever(ve.specialSearchKind)}Yn(ce)&&Wo(ce.parent)&&N0(ce.parent.parent.parent)&&(Q=ce.parent.symbol,!Q)||Ye(ce,Q,Tt,ve)}function Be(Se,at,Tt,ve,nt,ce,Q){L.assert(!Q||!!nt.options.providePrefixAndSuffixTextForRename,"If alwaysGetReferences is true, then prefix/suffix text must be enabled");let{parent:ue,propertyName:G,name:Oe}=Tt,je=ue.parent,Ge=Ne(Se,at,Tt,nt.checker);if(!Q&&!ve.includes(Ge))return;if(G?Se===G?(je.moduleSpecifier||kt(),ce&&nt.options.use!==2&&nt.markSeenReExportRHS(Oe)&&ct(Oe,L.checkDefined(Tt.symbol),nt)):nt.markSeenReExportRHS(Se)&&kt():nt.options.use===2&&Oe.escapedText==="default"||kt(),!Cr(nt.options)||Q){let ln=Se.escapedText==="default"||Tt.name.escapedText==="default"?1:0,ir=L.checkDefined(Tt.symbol),ae=eee(ir,ln,nt.checker);ae&&B(Se,ir,ae,nt)}if(ve.comingFrom!==1&&je.moduleSpecifier&&!G&&!Cr(nt.options)){let Kt=nt.checker.getExportSpecifierLocalTargetSymbol(Tt);Kt&&Y(Kt,nt)}function kt(){ce&&ct(Se,Ge,nt)}}function Ne(Se,at,Tt,ve){return Le(Se,Tt)&&ve.getExportSpecifierLocalTargetSymbol(Tt)||at}function Le(Se,at){let{parent:Tt,propertyName:ve,name:nt}=at;return L.assert(ve===Se||nt===Se),ve?ve===Se:!Tt.parent.moduleSpecifier}function Ye(Se,at,Tt,ve){let nt=GTe(Se,at,ve.checker,Tt.comingFrom===1);if(!nt)return;let{symbol:ce}=nt;nt.kind===0?Cr(ve.options)||Y(ce,ve):B(Se,ce,nt.exportInfo,ve)}function _t({flags:Se,valueDeclaration:at},Tt,ve){let nt=ve.checker.getShorthandAssignmentValueSymbol(at),ce=at&&sa(at);!(Se&33554432)&&ce&&Tt.includes(nt)&&ct(ce,nt,ve)}function ct(Se,at,Tt){let{kind:ve,symbol:nt}="kind"in at?at:{kind:void 0,symbol:at};if(Tt.options.use===2&&Se.kind===88)return;let ce=Tt.referenceAdder(nt);Tt.options.implementations?_n(Se,ce,Tt):ce(Se,ve)}function Rt(Se,at,Tt,ve){ZL(Se)&&ct(Se,Tt.symbol,ve);let nt=()=>ve.referenceAdder(Tt.symbol);if(Yr(Se.parent))L.assert(Se.kind===88||Se.parent.name===Se),qe(Tt.symbol,at,nt());else{let ce=En(Se);ce&&(Qt(ce,nt()),kn(ce,ve))}}function We(Se,at,Tt){ct(Se,at.symbol,Tt);let ve=Se.parent;if(Tt.options.use===2||!Yr(ve))return;L.assert(ve.name===Se);let nt=Tt.referenceAdder(at.symbol);for(let ce of ve.members)xA(ce)&&Ca(ce)&&ce.body&&ce.body.forEachChild(function Q(ue){ue.kind===108?nt(ue):!Ia(ue)&&!Yr(ue)&&ue.forEachChild(Q)})}function qe(Se,at,Tt){let ve=zt(Se);if(ve&&ve.declarations)for(let nt of ve.declarations){let ce=Yo(nt,135,at);L.assert(nt.kind===173&&!!ce),Tt(ce)}Se.exports&&Se.exports.forEach(nt=>{let ce=nt.valueDeclaration;if(ce&&ce.kind===171){let Q=ce.body;Q&&Ht(Q,108,ue=>{ZL(ue)&&Tt(ue)})}})}function zt(Se){return Se.members&&Se.members.get("__constructor")}function Qt(Se,at){let Tt=zt(Se.symbol);if(Tt&&Tt.declarations)for(let ve of Tt.declarations){L.assert(ve.kind===173);let nt=ve.body;nt&&Ht(nt,106,ce=>{NX(ce)&&at(ce)})}}function tn(Se){return!!zt(Se.symbol)}function kn(Se,at){if(tn(Se))return;let Tt=Se.symbol,ve=at.createSearch(void 0,Tt,void 0);x(Tt,at,ve)}function _n(Se,at,Tt){if(Rh(Se)&&ri(Se.parent)){at(Se);return}if(Se.kind!==79)return;Se.parent.kind===300&&vn(Se,Tt.checker,at);let ve=Gt(Se);if(ve){at(ve);return}let nt=jn(Se,ue=>!Yu(ue.parent)&&!bi(ue.parent)&&!_T(ue.parent)),ce=nt.parent;if(f6(ce)&&ce.type===nt&&Tt.markSeenContainingTypeReference(ce))if(Jy(ce))Q(ce.initializer);else if(Ia(ce)&&ce.body){let ue=ce.body;ue.kind===238?vT(ue,G=>{G.expression&&Q(G.expression)}):Q(ue)}else pT(ce)&&Q(ce.expression);function Q(ue){$n(ue)&&at(ue)}}function Gt(Se){return Re(Se)||br(Se)?Gt(Se.parent):Vg(Se)?zr(Se.parent.parent,Yr):void 0}function $n(Se){switch(Se.kind){case 214:return $n(Se.expression);case 216:case 215:case 207:case 228:case 206:return!0;default:return!1}}function ui(Se,at,Tt,ve){if(Se===at)return!0;let nt=$a(Se)+","+$a(at),ce=Tt.get(nt);if(ce!==void 0)return ce;Tt.set(nt,!1);let Q=!!Se.declarations&&Se.declarations.some(ue=>NI(ue).some(G=>{let Oe=ve.getTypeAtLocation(G);return!!Oe&&!!Oe.symbol&&ui(Oe.symbol,at,Tt,ve)}));return Tt.set(nt,Q),Q}function Ni(Se){let at=Ww(Se,!1);if(!at)return;let Tt=32;switch(at.kind){case 169:case 168:case 171:case 170:case 173:case 174:case 175:Tt&=Yy(at),at=at.parent;break;default:return}let ve=at.getSourceFile(),nt=Zi(le(ve,"super",at),ce=>{if(ce.kind!==106)return;let Q=Ww(ce,!1);return Q&&Ca(Q)===!!Tt&&Q.parent.symbol===at.symbol?Ym(ce):void 0});return[{definition:{type:0,symbol:at.symbol},references:nt}]}function Pi(Se){return Se.kind===79&&Se.parent.kind===166&&Se.parent.name===Se}function gr(Se,at,Tt){let ve=Ku(Se,!1,!1),nt=32;switch(ve.kind){case 171:case 170:if(s_(ve)){nt&=Yy(ve),ve=ve.parent;break}case 169:case 168:case 173:case 174:case 175:nt&=Yy(ve),ve=ve.parent;break;case 308:if(Lc(ve)||Pi(Se))return;case 259:case 215:break;default:return}let ce=Uo(ve.kind===308?at:[ve.getSourceFile()],ue=>(Tt.throwIfCancellationRequested(),le(ue,"this",Li(ve)?ue:ve).filter(G=>{if(!H2(G))return!1;let Oe=Ku(G,!1,!1);if(!$p(Oe))return!1;switch(ve.kind){case 215:case 259:return ve.symbol===Oe.symbol;case 171:case 170:return s_(ve)&&ve.symbol===Oe.symbol;case 228:case 260:case 207:return Oe.parent&&$p(Oe.parent)&&ve.symbol===Oe.parent.symbol&&Ca(Oe)===!!nt;case 308:return Oe.kind===308&&!Lc(Oe)&&!Pi(G)}}))).map(ue=>Ym(ue));return[{definition:{type:3,node:ks(ce,ue=>ha(ue.node.parent)?ue.node:void 0)||Se},references:ce}]}function pt(Se,at,Tt,ve){let nt=f7(Se,Tt),ce=Uo(at,Q=>(ve.throwIfCancellationRequested(),Zi(le(Q,Se.text),ue=>{if(es(ue)&&ue.text===Se.text)if(nt){let G=f7(ue,Tt);if(nt!==Tt.getStringType()&&nt===G)return Ym(ue,2)}else return IS(ue)&&!DT(ue,Q)?void 0:Ym(ue,2)})));return[{definition:{type:4,node:Se},references:ce}]}function nn(Se,at,Tt,ve,nt,ce){let Q=[];return Dt(Se,at,Tt,ve,!(ve&&nt),(ue,G,Oe)=>{Oe&&An(Se)!==An(Oe)&&(Oe=void 0),Q.push(Oe||G||ue)},()=>!ce),Q}function Dt(Se,at,Tt,ve,nt,ce,Q){let ue=nP(at);if(ue){let ln=Tt.getShorthandAssignmentValueSymbol(at.parent);if(ln&&ve)return ce(ln,void 0,void 0,3);let ir=Tt.getContextualType(ue.parent),ae=ir&&ks(_5(ue,Tt,ir,!0),oe=>kt(oe,4));if(ae)return ae;let rt=ie(at,Tt),Ot=rt&&ce(rt,void 0,void 0,4);if(Ot)return Ot;let Ke=ln&&ce(ln,void 0,void 0,3);if(Ke)return Ke}let G=s(at,Se,Tt);if(G){let ln=ce(G,void 0,void 0,1);if(ln)return ln}let Oe=kt(Se);if(Oe)return Oe;if(Se.valueDeclaration&&Ad(Se.valueDeclaration,Se.valueDeclaration.parent)){let ln=Tt.getSymbolsOfParameterPropertyDeclaration(Ga(Se.valueDeclaration,ha),Se.name);return L.assert(ln.length===2&&!!(ln[0].flags&1)&&!!(ln[1].flags&4)),kt(Se.flags&1?ln[1]:ln[0])}let je=nc(Se,278);if(!ve||je&&!je.propertyName){let ln=je&&Tt.getExportSpecifierLocalTargetSymbol(je);if(ln){let ir=ce(ln,void 0,void 0,1);if(ir)return ir}}if(!ve){let ln;return nt?ln=jN(at.parent)?I7(Tt,at.parent):void 0:ln=Kt(Se,Tt),ln&&kt(ln,4)}if(L.assert(ve),nt){let ln=Kt(Se,Tt);return ln&&kt(ln,4)}function kt(ln,ir){return ks(Tt.getRootSymbols(ln),ae=>ce(ln,ae,void 0,ir)||(ae.parent&&ae.parent.flags&96&&Q(ae)?pn(ae.parent,ae.name,Tt,rt=>ce(ln,ae,rt,ir)):void 0))}function Kt(ln,ir){let ae=nc(ln,205);if(ae&&jN(ae))return I7(ir,ae)}}function pn(Se,at,Tt,ve){let nt=new Map;return ce(Se);function ce(Q){if(!(!(Q.flags&96)||!V_(nt,$a(Q))))return ks(Q.declarations,ue=>ks(NI(ue),G=>{let Oe=Tt.getTypeAtLocation(G),je=Oe&&Oe.symbol&&Tt.getPropertyOfType(Oe,at);return Oe&&je&&(ks(Tt.getRootSymbols(je),ve)||ce(Oe.symbol))}))}}function An(Se){return Se.valueDeclaration?!!(uu(Se.valueDeclaration)&32):!1}function Kn(Se,at,Tt,ve){let{checker:nt}=ve;return Dt(at,Tt,nt,!1,ve.options.use!==2||!!ve.options.providePrefixAndSuffixTextForRename,(ce,Q,ue,G)=>(ue&&An(at)!==An(ue)&&(ue=void 0),Se.includes(ue||Q||ce)?{symbol:Q&&!(ac(ce)&6)?Q:ce,kind:G}:void 0),ce=>!(Se.parents&&!Se.parents.some(Q=>ui(ce.parent,Q,ve.inheritsFromCache,nt))))}function hi(Se,at){let Tt=ZT(Se),{declarations:ve}=at;if(ve){let nt;do{nt=Tt;for(let ce of ve){let Q=LN(ce);Q&Tt&&(Tt|=Q)}}while(Tt!==nt)}return Tt}e.getIntersectingMeaningFromDeclarations=hi;function ri(Se){return Se.flags&16777216?!(ku(Se)||Ep(Se)):PA(Se)?Jy(Se):Ds(Se)?!!Se.body:Yr(Se)||Ow(Se)}function vn(Se,at,Tt){let ve=at.getSymbolAtLocation(Se),nt=at.getShorthandAssignmentValueSymbol(ve.valueDeclaration);if(nt)for(let ce of nt.getDeclarations())LN(ce)&1&&Tt(ce)}e.getReferenceEntriesForShorthandPropertyAssignment=vn;function Ht(Se,at,Tt){pa(Se,ve=>{ve.kind===at&&Tt(ve),Ht(ve,at,Tt)})}function En(Se){return lW(o7(Se).parent)}function dr(Se,at,Tt){let ve=j2(Se)?Se.parent:void 0,nt=ve&&Tt.getTypeAtLocation(ve.expression),ce=Zi(nt&&(nt.isUnionOrIntersection()?nt.types:nt.symbol===at.parent?void 0:[nt]),Q=>Q.symbol&&Q.symbol.flags&96?Q.symbol:void 0);return ce.length===0?void 0:ce}function Cr(Se){return Se.use===2&&Se.providePrefixAndSuffixTextForRename}})(u1||(u1={}))}}),js={};Mo(js,{Core:()=>u1,DefinitionKind:()=>oee,EntryKind:()=>see,ExportKind:()=>nee,FindReferencesUse:()=>cee,ImportExport:()=>ree,createImportTracker:()=>ZZ,findModuleReferences:()=>PTe,findReferenceOrRenameEntries:()=>BBe,findReferencedSymbols:()=>MBe,getContextNode:()=>sE,getExportInfo:()=>eee,getImplementationsAtPosition:()=>GBe,getImportOrExportSymbol:()=>GTe,getReferenceEntriesForNode:()=>VTe,getTextSpanOfEntry:()=>aee,isContextWithStartAndEndNode:()=>BTe,isDeclarationOfSymbol:()=>JTe,nodeEntry:()=>Ym,toContextSpan:()=>iee,toHighlightSpan:()=>JBe,toReferenceEntry:()=>WTe,toRenameLocation:()=>VBe});var KTe=gt({"src/services/_namespaces/ts.FindAllReferences.ts"(){"use strict";NBe(),qBe()}});function qTe(e,t,r,i,o){var s,l;let f=YTe(t,r,e),d=f&&[rUe(f.reference.fileName,f.fileName,f.unverified)]||Je;if(f?.file)return d;let g=ef(t,r);if(g===t)return;let{parent:m}=g,v=e.getTypeChecker();if(g.kind===161||Re(g)&&g3(m)&&m.tagName===g)return YBe(v,g)||Je;if(DN(g)){let C=s7(g.parent,g.text);return C?[uee(v,C,"label",g.text,void 0)]:void 0}if(g.kind===105){let C=jn(g.parent,P=>oc(P)?"quit":Ds(P));return C?[TP(v,C)]:void 0}if(g.kind===133){let C=jn(g,F=>Ds(F));return C&&vt(C.modifiers,F=>F.kind===132)?[TP(v,C)]:void 0}if(g.kind===125){let C=jn(g,F=>Ds(F));return C&&C.asteriskToken?[TP(v,C)]:void 0}if(LS(g)&&oc(g.parent)){let C=g.parent.parent,{symbol:P,failedAliasResolution:F}=cG(C,v,o),B=Pr(C.members,oc),q=P?v.symbolToString(P,C):"",W=g.getSourceFile();return on(B,Y=>{let{pos:R}=yp(Y);return R=xo(W.text,R),uee(v,Y,"constructor","static {}",q,!1,F,{start:R,length:6})})}let{symbol:S,failedAliasResolution:x}=cG(g,v,o),A=g;if(i&&x){let C=mn([g,...S?.declarations||Je],F=>jn(F,Wse)),P=C&&iR(C);P&&({symbol:S,failedAliasResolution:x}=cG(P,v,o),A=P)}if(!S&&C7(A)){let C=(l=(s=t.resolvedModules)==null?void 0:s.get(A.text,W_(t,A)))==null?void 0:l.resolvedModule;if(C)return[{name:A.text,fileName:C.resolvedFileName,containerName:void 0,containerKind:void 0,kind:"script",textSpan:il(0,0),failedAliasResolution:x,isAmbient:Fu(C.resolvedFileName),unverified:A!==g}]}if(!S)return Qi(d,eUe(g,v));if(i&&Ji(S.declarations,C=>C.getSourceFile().fileName===t.fileName))return;let w=aUe(v,g);if(w&&!(Au(g.parent)&&oUe(w))){let C=TP(v,w,x);if(v.getRootSymbols(S).some(P=>XBe(P,w)))return[C];{let P=nC(v,S,g,x,w)||Je;return g.kind===106?[C,...P]:[...P,C]}}if(g.parent.kind===300){let C=v.getShorthandAssignmentValueSymbol(S.valueDeclaration),P=C?.declarations?C.declarations.map(F=>Sk(F,v,C,g,!1,x)):Je;return Qi(P,XTe(v,g)||Je)}if(Ys(g)&&Wo(m)&&cm(m.parent)&&g===(m.propertyName||m.name)){let C=VN(g),P=v.getTypeAtLocation(m.parent);return C===void 0?Je:Uo(P.isUnion()?P.types:[P],F=>{let B=F.getProperty(C);return B&&nC(v,B,g)})}return Qi(d,XTe(v,g)||nC(v,S,g,x))}function XBe(e,t){var r;return e===t.symbol||e===t.symbol.parent||Iu(t.parent)||!rS(t.parent)&&e===((r=zr(t.parent,$p))==null?void 0:r.symbol)}function XTe(e,t){let r=nP(t);if(r){let i=r&&e.getContextualType(r.parent);if(i)return Uo(_5(r,e,i,!1),o=>nC(e,o,t))}}function YBe(e,t){let r=jn(t,_l);if(!(r&&r.name))return;let i=jn(r,Yr);if(!i)return;let o=hp(i);if(!o)return;let s=vs(o.expression),l=_u(s)?s.symbol:e.getSymbolAtLocation(s);if(!l)return;let f=Gi(wA(r.name)),d=zc(r)?e.getPropertyOfType(e.getTypeOfSymbol(l),f):e.getPropertyOfType(e.getDeclaredTypeOfSymbol(l),f);if(d)return nC(e,d,t)}function YTe(e,t,r){var i,o,s,l;let f=rC(e.referencedFiles,t);if(f){let m=r.getSourceFileFromReference(e,f);return m&&{reference:f,fileName:m.fileName,file:m,unverified:!1}}let d=rC(e.typeReferenceDirectives,t);if(d){let m=(i=r.getResolvedTypeReferenceDirectives().get(d.fileName,d.resolutionMode||e.impliedNodeFormat))==null?void 0:i.resolvedTypeReferenceDirective,v=m&&r.getSourceFile(m.resolvedFileName);return v&&{reference:d,fileName:v.fileName,file:v,unverified:!1}}let g=rC(e.libReferenceDirectives,t);if(g){let m=r.getLibFileFromReference(g);return m&&{reference:g,fileName:m.fileName,file:m,unverified:!1}}if((o=e.resolvedModules)!=null&&o.size()){let m=nk(e,t);if(C7(m)&&fl(m.text)&&e.resolvedModules.has(m.text,W_(e,m))){let v=(l=(s=e.resolvedModules.get(m.text,W_(e,m)))==null?void 0:s.resolvedModule)==null?void 0:l.resolvedFileName,S=v||Fy(ni(e.fileName),m.text);return{file:r.getSourceFile(S),fileName:S,reference:{pos:m.getStart(),end:m.getEnd(),fileName:m.text},unverified:!v}}}}function $Be(e,t,r){let i=ef(t,r);if(i===t)return;if(NA(i.parent)&&i.parent.name===i)return lee(e.getTypeAtLocation(i.parent),e,i.parent,!1);let{symbol:o,failedAliasResolution:s}=cG(i,e,!1);if(!o)return;let l=e.getTypeOfSymbolAtLocation(o,i),f=QBe(o,l,e),d=f&&lee(f,e,i,s),g=d&&d.length!==0?d:lee(l,e,i,s);return g.length?g:!(o.flags&111551)&&o.flags&788968?nC(e,wd(o,e),i,s):void 0}function lee(e,t,r,i){return Uo(e.isUnion()&&!(e.flags&32)?e.types:[e],o=>o.symbol&&nC(t,o.symbol,r,i))}function QBe(e,t,r){if(t.symbol===e||e.valueDeclaration&&t.symbol&&wi(e.valueDeclaration)&&e.valueDeclaration.initializer===t.symbol.valueDeclaration){let i=t.getCallSignatures();if(i.length===1)return r.getReturnTypeOfSignature(Vo(i))}}function ZBe(e,t,r){let i=qTe(e,t,r);if(!i||i.length===0)return;let o=rC(t.referencedFiles,r)||rC(t.typeReferenceDirectives,r)||rC(t.libReferenceDirectives,r);if(o)return{definitions:i,textSpan:lv(o)};let s=ef(t,r),l=il(s.getStart(),s.getWidth());return{definitions:i,textSpan:l}}function eUe(e,t){return Zi(t.getIndexInfosAtLocation(e),r=>r.declaration&&TP(t,r.declaration))}function cG(e,t,r){let i=t.getSymbolAtLocation(e),o=!1;if(i?.declarations&&i.flags&2097152&&!r&&tUe(e,i.declarations[0])){let s=t.getAliasedSymbol(i);if(s.declarations)return{symbol:s};o=!0}return{symbol:i,failedAliasResolution:o}}function tUe(e,t){return e.kind!==79?!1:e.parent===t?!0:t.kind!==271}function nUe(e){if(!RI(e))return!1;let t=jn(e,r=>Iu(r)?!0:RI(r)?!1:"quit");return!!t&&ic(t)===5}function nC(e,t,r,i,o){let s=Pr(t.declarations,v=>v!==o),l=Pr(s,v=>!nUe(v)),f=vt(l)?l:s;return d()||g()||on(f,v=>Sk(v,e,t,r,!1,i));function d(){if(t.flags&32&&!(t.flags&19)&&(ZL(r)||r.kind===135)){let v=wr(s,Yr)||L.fail("Expected declaration to have at least one class-like declaration");return m(v.members,!0)}}function g(){return PX(r)||VX(r)?m(s,!1):void 0}function m(v,S){if(!v)return;let x=v.filter(S?Ec:Ia),A=x.filter(w=>!!w.body);return x.length?A.length!==0?A.map(w=>Sk(w,e,t,r)):[Sk(To(x),e,t,r,!1,i)]:void 0}}function Sk(e,t,r,i,o,s){let l=t.symbolToString(r),f=$g.getSymbolKind(t,r,i),d=r.parent?t.symbolToString(r.parent,i):"";return uee(t,e,f,l,d,o,s)}function uee(e,t,r,i,o,s,l,f){let d=t.getSourceFile();if(!f){let g=sa(t)||t;f=Du(g,d)}return{fileName:d.fileName,textSpan:f,kind:r,name:i,containerKind:void 0,containerName:o,...js.toContextSpan(f,d,js.getContextNode(t)),isLocal:!dee(e,t),isAmbient:!!(t.flags&16777216),unverified:s,failedAliasResolution:l}}function dee(e,t){if(e.isDeclarationVisible(t))return!0;if(!t.parent)return!1;if(Jy(t.parent)&&t.parent.initializer===t)return dee(e,t.parent);switch(t.kind){case 169:case 174:case 175:case 171:if(cd(t,8))return!1;case 173:case 299:case 300:case 207:case 228:case 216:case 215:return dee(e,t.parent);default:return!1}}function TP(e,t,r){return Sk(t,e,t.symbol,t,!1,r)}function rC(e,t){return wr(e,r=>Y8(r,t))}function rUe(e,t,r){return{fileName:t,textSpan:Wc(0,0),kind:"script",name:e,containerName:void 0,containerKind:void 0,unverified:r}}function iUe(e){let t=jn(e,i=>!j2(i)),r=t?.parent;return r&&rS(r)&&P6(r)===t?r:void 0}function aUe(e,t){let r=iUe(t),i=r&&e.getResolvedSignature(r);return zr(i&&i.declaration,o=>Ia(o)&&!Jm(o))}function oUe(e){switch(e.kind){case 173:case 182:case 177:return!0;default:return!1}}var sUe=gt({"src/services/goToDefinition.ts"(){"use strict";Fr()}}),xk={};Mo(xk,{createDefinitionInfo:()=>Sk,findReferenceInPosition:()=>rC,getDefinitionAndBoundSpan:()=>ZBe,getDefinitionAtPosition:()=>qTe,getReferenceAtPosition:()=>YTe,getTypeDefinitionAtPosition:()=>$Be});var cUe=gt({"src/services/_namespaces/ts.GoToDefinition.ts"(){"use strict";sUe()}});function lUe(e){return e.includeInlayParameterNameHints==="literals"||e.includeInlayParameterNameHints==="all"}function uUe(e){return e.includeInlayParameterNameHints==="literals"}function dUe(e){let{file:t,program:r,span:i,cancellationToken:o,preferences:s}=e,l=t.text,f=r.getCompilerOptions(),d=r.getTypeChecker(),g=[];return m(t),g;function m(le){if(!(!le||le.getFullWidth()===0)){switch(le.kind){case 264:case 260:case 261:case 259:case 228:case 215:case 171:case 216:o.throwIfCancellationRequested()}if($8(i,le.pos,le.getFullWidth())&&!(bi(le)&&!Vg(le)))return s.includeInlayVariableTypeHints&&wi(le)||s.includeInlayPropertyDeclarationTypeHints&&Na(le)?P(le):s.includeInlayEnumMemberValueHints&&q0(le)?w(le):lUe(s)&&(Pa(le)||z0(le))?F(le):(s.includeInlayFunctionParameterTypeHints&&Ds(le)&&b4(le)&&ie(le),s.includeInlayFunctionLikeReturnTypeHints&&v(le)&&Y(le)),pa(le,m)}}function v(le){return xs(le)||ms(le)||Jc(le)||Nc(le)||p_(le)}function S(le,_e,ge){g.push({text:`${ge?"...":""}${fe(le,lG)}:`,position:_e,kind:"Parameter",whitespaceAfter:!0})}function x(le,_e){g.push({text:`: ${fe(le,lG)}`,position:_e,kind:"Type",whitespaceBefore:!0})}function A(le,_e){g.push({text:`= ${fe(le,lG)}`,position:_e,kind:"Enum",whitespaceBefore:!0})}function w(le){if(le.initializer)return;let _e=d.getConstantValue(le);_e!==void 0&&A(_e.toString(),le.end)}function C(le){return le.symbol&&le.symbol.flags&1536}function P(le){if(!le.initializer||La(le.name)||wi(le)&&!re(le)||Cl(le))return;let ge=d.getTypeAtLocation(le);if(C(ge))return;let X=Z(ge);if(X){if(s.includeInlayVariableTypeHintsWhenTypeMatchesName===!1&&W1(le.name.getText(),X))return;x(X,le.name.end)}}function F(le){let _e=le.arguments;if(!_e||!_e.length)return;let ge=[],X=d.getResolvedSignatureForSignatureHelp(le,ge);if(!(!X||!ge.length))for(let Ve=0;Ve<_e.length;++Ve){let we=_e[Ve],ke=vs(we);if(uUe(s)&&!W(ke))continue;let Pe=d.getParameterIdentifierNameAtPosition(X,Ve);if(Pe){let[Ce,Ie]=Pe;if(!(s.includeInlayParameterNameHintsWhenArgumentMatchesName||!B(ke,Ce))&&!Ie)continue;let Ne=Gi(Ce);if(q(ke,Ne))continue;S(Ne,we.getStart(),Ie)}}}function B(le,_e){return Re(le)?le.text===_e:br(le)?le.name.text===_e:!1}function q(le,_e){if(!i_(_e,f.target,RR(t.scriptKind)))return!1;let ge=Nm(l,le.pos);if(!ge?.length)return!1;let X=$Te(_e);return vt(ge,Ve=>X.test(l.substring(Ve.pos,Ve.end)))}function W(le){switch(le.kind){case 221:{let _e=le.operand;return fT(_e)||Re(_e)&&cL(_e.escapedText)}case 110:case 95:case 104:case 14:case 225:return!0;case 79:{let _e=le.escapedText;return U(_e)||cL(_e)}}return fT(le)}function Y(le){if(xs(le)&&!Yo(le,20,t)||U_(le)||!le.body)return;let ge=d.getSignatureFromDeclaration(le);if(!ge)return;let X=d.getReturnTypeOfSignature(ge);if(C(X))return;let Ve=Z(X);Ve&&x(Ve,R(le))}function R(le){let _e=Yo(le,21,t);return _e?_e.end:le.parameters.end}function ie(le){let _e=d.getSignatureFromDeclaration(le);if(_e)for(let ge=0;ge<le.parameters.length&&ge<_e.parameters.length;++ge){let X=le.parameters[ge];if(!re(X)||Cl(X))continue;let we=$(_e.parameters[ge]);we&&x(we,X.questionToken?X.questionToken.end:X.name.end)}}function $(le){let _e=le.valueDeclaration;if(!_e||!ha(_e))return;let ge=d.getTypeOfSymbolAtLocation(le,_e);if(!C(ge))return Z(ge)}function fe(le,_e){return le.length>_e?le.substr(0,_e-3)+"...":le}function Z(le){let ge=rE();return SI(X=>{let Ve=d.typeToTypeNode(le,void 0,71286784);L.assertIsDefined(Ve,"should always get typenode"),ge.writeNode(4,Ve,t,X)})}function U(le){return le==="undefined"}function re(le){if((CT(le)||wi(le)&&kh(le))&&le.initializer){let _e=vs(le.initializer);return!(W(_e)||z0(_e)||rs(_e)||pT(_e))}return!0}}var lG,$Te,fUe=gt({"src/services/inlayHints.ts"(){"use strict";Fr(),lG=30,$Te=e=>new RegExp(`^\\s?/\\*\\*?\\s?${e}\\s?\\*\\/\\s?$`)}}),fee={};Mo(fee,{provideInlayHints:()=>dUe});var _Ue=gt({"src/services/_namespaces/ts.InlayHints.ts"(){"use strict";fUe()}});function pUe(e,t){let r=[];return lY(e,i=>{for(let o of hUe(i)){let s=dm(o)&&o.tags&&wr(o.tags,f=>f.kind===330&&(f.tagName.escapedText==="inheritDoc"||f.tagName.escapedText==="inheritdoc"));if(o.comment===void 0&&!s||dm(o)&&i.kind!==349&&i.kind!==341&&o.tags&&o.tags.some(f=>f.kind===349||f.kind===341)&&!o.tags.some(f=>f.kind===344||f.kind===345))continue;let l=o.comment?ux(o.comment,t):[];s&&s.comment&&(l=l.concat(ux(s.comment,t))),ya(r,l,mUe)||r.push(l)}}),t_(DU(r,[K2()]))}function mUe(e,t){return GD(e,t,(r,i)=>r.kind===i.kind&&r.text===i.text)}function hUe(e){switch(e.kind){case 344:case 351:return[e];case 341:case 349:return[e,e.parent];default:return PH(e)}}function gUe(e,t){let r=[];return lY(e,i=>{let o=A0(i);if(!(o.some(s=>s.kind===349||s.kind===341)&&!o.some(s=>s.kind===344||s.kind===345)))for(let s of o)r.push({name:s.tagName.text,text:yUe(s,t)})}),r}function ux(e,t){return typeof e=="string"?[tf(e)]:Uo(e,r=>r.kind===324?[tf(r.text)]:Qhe(r,t))}function yUe(e,t){let{comment:r,kind:i}=e,o=vUe(i);switch(i){case 352:let f=e.typeExpression;return f?s(f):r===void 0?void 0:ux(r,t);case 332:return s(e.class);case 331:return s(e.class);case 348:let d=e,g=[];if(d.constraint&&g.push(tf(d.constraint.getText())),Fn(d.typeParameters)){Fn(g)&&g.push(Qs());let v=d.typeParameters[d.typeParameters.length-1];mn(d.typeParameters,S=>{g.push(o(S.getText())),v!==S&&g.push(Yl(27),Qs())})}return r&&g.push(Qs(),...ux(r,t)),g;case 347:case 353:return s(e.typeExpression);case 349:case 341:case 351:case 344:case 350:let{name:m}=e;return m?s(m):r===void 0?void 0:ux(r,t);default:return r===void 0?void 0:ux(r,t)}function s(f){return l(f.getText())}function l(f){return r?f.match(/^https?$/)?[tf(f),...ux(r,t)]:[o(f),Qs(),...ux(r,t)]:[tf(f)]}}function vUe(e){switch(e){case 344:return Khe;case 351:return qhe;case 348:return Yhe;case 349:case 341:return Xhe;default:return tf}}function bUe(){return ZTe||(ZTe=on(pee,e=>({name:e,kind:"keyword",kindModifiers:"",sortText:lx.SortText.LocationPriority})))}function EUe(){return e1e||(e1e=on(pee,e=>({name:`@${e}`,kind:"keyword",kindModifiers:"",sortText:lx.SortText.LocationPriority})))}function QTe(e){return{name:e,kind:"",kindModifiers:"",displayParts:[tf(e)],documentation:Je,tags:void 0,codeActions:void 0}}function TUe(e){if(!Re(e.name))return Je;let t=e.name.text,r=e.parent,i=r.parent;return Ia(i)?Zi(i.parameters,o=>{if(!Re(o.name))return;let s=o.name.text;if(!(r.tags.some(l=>l!==e&&xp(l)&&Re(l.name)&&l.name.escapedText===s)||t!==void 0&&!na(s,t)))return{name:s,kind:"parameter",kindModifiers:"",sortText:lx.SortText.LocationPriority}}):[]}function SUe(e){return{name:e,kind:"parameter",kindModifiers:"",displayParts:[tf(e)],documentation:Je,tags:void 0,codeActions:void 0}}function xUe(e,t,r,i){let o=Vi(t,r),s=jn(o,dm);if(s&&(s.comment!==void 0||Fn(s.tags)))return;let l=o.getStart(t);if(!s&&l<r)return;let f=LUe(o,i);if(!f)return;let{commentOwner:d,parameters:g,hasReturn:m}=f,v=Kd(d)&&d.jsDoc?d.jsDoc:void 0,S=Os(v);if(d.getStart(t)<r||S&&s&&S!==s)return;let x=AUe(t,r),A=ES(t.fileName),w=(g?CUe(g||[],A,x,e):"")+(m?IUe(x,e):""),C="/**",P=" */",F=(v||[]).some(B=>!!B.tags);if(w&&!F){let B=C+e+x+" * ",q=l===r?e+x:"";return{newText:B+e+w+x+P+q,caretOffset:B.length}}return{newText:C+P,caretOffset:3}}function AUe(e,t){let{text:r}=e,i=Wf(t,e),o=i;for(;o<=t&&Yp(r.charCodeAt(o));o++);return r.slice(i,o)}function CUe(e,t,r,i){return e.map(({name:o,dotDotDotToken:s},l)=>{let f=o.kind===79?o.text:"param"+l;return`${r} * @param ${t?s?"{...any} ":"{any} ":""}${f}${i}`}).join("")}function IUe(e,t){return`${e} * @returns${t}`}function LUe(e,t){return Lse(e,r=>_ee(r,t))}function _ee(e,t){switch(e.kind){case 259:case 215:case 171:case 173:case 170:case 216:let r=e;return{commentOwner:e,parameters:r.parameters,hasReturn:SP(r,t)};case 299:return _ee(e.initializer,t);case 260:case 261:case 263:case 302:case 262:return{commentOwner:e};case 168:{let o=e;return o.type&&Jm(o.type)?{commentOwner:e,parameters:o.type.parameters,hasReturn:SP(o.type,t)}:{commentOwner:e}}case 240:{let s=e.declarationList.declarations,l=s.length===1&&s[0].initializer?kUe(s[0].initializer):void 0;return l?{commentOwner:e,parameters:l.parameters,hasReturn:SP(l,t)}:{commentOwner:e}}case 308:return"quit";case 264:return e.parent.kind===264?void 0:{commentOwner:e};case 241:return _ee(e.expression,t);case 223:{let o=e;return ic(o)===0?"quit":Ia(o.right)?{commentOwner:e,parameters:o.right.parameters,hasReturn:SP(o.right,t)}:{commentOwner:e}}case 169:let i=e.initializer;if(i&&(ms(i)||xs(i)))return{commentOwner:e,parameters:i.parameters,hasReturn:SP(i,t)}}}function SP(e,t){return!!t?.generateReturnInDocTemplate&&(Jm(e)||xs(e)&&ot(e.body)||Ds(e)&&e.body&&Va(e.body)&&!!vT(e.body,r=>r))}function kUe(e){for(;e.kind===214;)e=e.expression;switch(e.kind){case 215:case 216:return e;case 228:return wr(e.members,Ec)}}var pee,ZTe,e1e,t1e,DUe=gt({"src/services/jsDoc.ts"(){"use strict";Fr(),pee=["abstract","access","alias","argument","async","augments","author","borrows","callback","class","classdesc","constant","constructor","constructs","copyright","default","deprecated","description","emits","enum","event","example","exports","extends","external","field","file","fileoverview","fires","function","generator","global","hideconstructor","host","ignore","implements","inheritdoc","inner","instance","interface","kind","lends","license","link","linkcode","linkplain","listens","member","memberof","method","mixes","module","name","namespace","overload","override","package","param","private","prop","property","protected","public","readonly","requires","returns","satisfies","see","since","static","summary","template","this","throws","todo","tutorial","type","typedef","var","variation","version","virtual","yields"],t1e=QTe}}),xb={};Mo(xb,{getDocCommentTemplateAtPosition:()=>xUe,getJSDocParameterNameCompletionDetails:()=>SUe,getJSDocParameterNameCompletions:()=>TUe,getJSDocTagCompletionDetails:()=>QTe,getJSDocTagCompletions:()=>EUe,getJSDocTagNameCompletionDetails:()=>t1e,getJSDocTagNameCompletions:()=>bUe,getJsDocCommentsFromDeclarations:()=>pUe,getJsDocTagsFromDeclarations:()=>gUe});var wUe=gt({"src/services/_namespaces/ts.JsDoc.ts"(){"use strict";DUe()}});function RUe(e,t,r,i,o,s){let l=nr.ChangeTracker.fromContext({host:r,formatContext:t,preferences:o}),f=s==="SortAndCombine"||s==="All",d=f,g=s==="RemoveUnused"||s==="All",m=mee(e,e.statements.filter(gl)),v=XUe(o,f?()=>i1e(m,o)===2:void 0),S=A=>(g&&(A=NUe(A,e,i)),d&&(A=n1e(A,v,e)),f&&(A=Ag(A,(w,C)=>bee(w,C,v))),A);if(m.forEach(A=>x(A,S)),s!=="RemoveUnused"){let A=e.statements.filter(Il);x(A,w=>hee(w,v))}for(let A of e.statements.filter(lu)){if(!A.body)continue;if(mee(e,A.body.statements.filter(gl)).forEach(C=>x(C,S)),s!=="RemoveUnused"){let C=A.body.statements.filter(Il);x(C,P=>hee(P,v))}}return l.getChanges();function x(A,w){if(Fn(A)===0)return;D7(A[0]);let C=d?YC(A,B=>xP(B.moduleSpecifier)):[A],P=f?Ag(C,(B,q)=>yee(B[0].moduleSpecifier,q[0].moduleSpecifier,v)):C,F=Uo(P,B=>xP(B[0].moduleSpecifier)?w(B):B);if(F.length===0)l.deleteNodes(e,A,{leadingTriviaOption:nr.LeadingTriviaOption.Exclude,trailingTriviaOption:nr.TrailingTriviaOption.Include},!0);else{let B={leadingTriviaOption:nr.LeadingTriviaOption.Exclude,trailingTriviaOption:nr.TrailingTriviaOption.Include,suffix:bb(r,t.options)};l.replaceNodeWithNodes(e,A[0],F,B);let q=l.nodeHasTrailingComment(e,A[0],B);l.deleteNodes(e,A.slice(1),{trailingTriviaOption:nr.TrailingTriviaOption.Include},q)}}}function mee(e,t){let r=kg(e.languageVersion,!1,e.languageVariant),i=[],o=0;for(let s of t)i[o]&&OUe(e,s,r)&&o++,i[o]||(i[o]=[]),i[o].push(s);return i}function OUe(e,t,r){let i=t.getFullStart(),o=t.getStart();r.setText(e.text,i,o-i);let s=0;for(;r.getTokenPos()<o;)if(r.scan()===4&&(s++,s>=2))return!0;return!1}function NUe(e,t,r){let i=r.getTypeChecker(),o=r.getCompilerOptions(),s=i.getJsxNamespace(t),l=i.getJsxFragmentFactory(t),f=!!(t.transformFlags&2),d=[];for(let m of e){let{importClause:v,moduleSpecifier:S}=m;if(!v){d.push(m);continue}let{name:x,namedBindings:A}=v;if(x&&!g(x)&&(x=void 0),A)if(nv(A))g(A.name)||(A=void 0);else{let w=A.elements.filter(C=>g(C.name));w.length<A.elements.length&&(A=w.length?D.updateNamedImports(A,w):void 0)}x||A?d.push(Ak(m,x,A)):PUe(t,S)&&(t.isDeclarationFile?d.push(D.createImportDeclaration(m.modifiers,void 0,S,void 0)):d.push(m))}return d;function g(m){return f&&(m.text===s||l&&m.text===l)&&wY(o.jsx)||js.Core.isSymbolReferencedInFile(m,i,t)}}function PUe(e,t){let r=yo(t)&&t.text;return Ta(r)&&vt(e.moduleAugmentations,i=>yo(i)&&i.text===r)}function xP(e){return e!==void 0&&es(e)?e.text:void 0}function MUe(e,t,r){let i=uG(t);return n1e(e,i,r)}function n1e(e,t,r){if(e.length===0)return e;let{importWithoutClause:i,typeOnlyImports:o,regularImports:s}=FUe(e),l=[];i&&l.push(i);for(let f of[s,o]){let d=f===o,{defaultImports:g,namespaceImports:m,namedImports:v}=f;if(!d&&g.length===1&&m.length===1&&v.length===0){let q=g[0];l.push(Ak(q,q.importClause.name,m[0].importClause.namedBindings));continue}let S=Ag(m,(q,W)=>t(q.importClause.namedBindings.name.text,W.importClause.namedBindings.name.text));for(let q of S)l.push(Ak(q,void 0,q.importClause.namedBindings));let x=Sl(g),A=Sl(v),w=x??A;if(!w)continue;let C,P=[];if(g.length===1)C=g[0].importClause.name;else for(let q of g)P.push(D.createImportSpecifier(!1,D.createIdentifier("default"),q.importClause.name));P.push(...zUe(v));let F=D.createNodeArray(r1e(P,t),A?.importClause.namedBindings.elements.hasTrailingComma),B=F.length===0?C?void 0:D.createNamedImports(Je):A?D.updateNamedImports(A.importClause.namedBindings,F):D.createNamedImports(F);r&&B&&A?.importClause.namedBindings&&!DT(A.importClause.namedBindings,r)&&Jn(B,2),d&&C&&B?(l.push(Ak(w,C,void 0)),l.push(Ak(A??w,void 0,B))):l.push(Ak(w,C,B))}return l}function FUe(e){let t,r={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]};for(let o of e){if(o.importClause===void 0){t=t||o;continue}let s=o.importClause.isTypeOnly?r:i,{name:l,namedBindings:f}=o.importClause;l&&s.defaultImports.push(o),f&&(nv(f)?s.namespaceImports.push(o):s.namedImports.push(o))}return{importWithoutClause:t,typeOnlyImports:r,regularImports:i}}function GUe(e,t){let r=uG(t);return hee(e,r)}function hee(e,t){if(e.length===0)return e;let{exportWithoutClause:r,namedExports:i,typeOnlyExports:o}=l(e),s=[];r&&s.push(r);for(let f of[i,o]){if(f.length===0)continue;let d=[];d.push(...Uo(f,v=>v.exportClause&&h_(v.exportClause)?v.exportClause.elements:Je));let g=r1e(d,t),m=f[0];s.push(D.updateExportDeclaration(m,m.modifiers,m.isTypeOnly,m.exportClause&&(h_(m.exportClause)?D.updateNamedExports(m.exportClause,g):D.updateNamespaceExport(m.exportClause,m.exportClause.name)),m.moduleSpecifier,m.assertClause))}return s;function l(f){let d,g=[],m=[];for(let v of f)v.exportClause===void 0?d=d||v:v.isTypeOnly?m.push(v):g.push(v);return{exportWithoutClause:d,namedExports:g,typeOnlyExports:m}}}function Ak(e,t,r){return D.updateImportDeclaration(e,e.modifiers,D.updateImportClause(e.importClause,e.importClause.isTypeOnly,t,r),e.moduleSpecifier,e.assertClause)}function r1e(e,t){return Ag(e,(r,i)=>gee(r,i,t))}function gee(e,t,r){return g0(e.isTypeOnly,t.isTypeOnly)||r(e.name.text,t.name.text)}function BUe(e,t,r){let i=uG(!!r);return yee(e,t,i)}function yee(e,t,r){let i=e===void 0?void 0:xP(e),o=t===void 0?void 0:xP(t);return g0(i===void 0,o===void 0)||g0(fl(i),fl(o))||r(i,o)}function vee(e){var t;switch(e.kind){case 268:return(t=zr(e.moduleReference,um))==null?void 0:t.expression;case 269:return e.moduleSpecifier;case 240:return e.declarationList.declarations[0].initializer.arguments[0]}}function UUe(e,t){return i1e(mee(e,e.statements.filter(gl)),t)}function i1e(e,t){let r=dx(t,!1),i=dx(t,!0),o=3,s=!1;for(let l of e){if(l.length>1){let d=l8(l,g=>{var m,v;return(v=(m=zr(g.moduleSpecifier,yo))==null?void 0:m.text)!=null?v:""},r,i);if(d&&(o&=d,s=!0),!o)return o}let f=wr(l,d=>{var g,m;return((m=zr((g=d.importClause)==null?void 0:g.namedBindings,jg))==null?void 0:m.elements.length)>1});if(f){let d=Eee(f.importClause.namedBindings.elements,t);if(d&&(o&=d,s=!0),!o)return o}if(o!==3)return o}return s?0:o}function VUe(e,t){let r=dx(t,!1),i=dx(t,!0);return l8(e,o=>xP(vee(o))||"",r,i)}function jUe(e,t,r){let i=Py(e,t,Ks,(o,s)=>bee(o,s,r));return i<0?~i:i}function HUe(e,t,r){let i=Py(e,t,Ks,(o,s)=>gee(o,s,r));return i<0?~i:i}function bee(e,t,r){return yee(vee(e),vee(t),r)||WUe(e,t)}function WUe(e,t){return Es(a1e(e),a1e(t))}function a1e(e){var t;switch(e.kind){case 269:return e.importClause?e.importClause.isTypeOnly?1:((t=e.importClause.namedBindings)==null?void 0:t.kind)===271?2:e.importClause.name?3:4:0;case 268:return 5;case 240:return 6}}function zUe(e){return Uo(e,t=>on(JUe(t),r=>r.name&&r.propertyName&&r.name.escapedText===r.propertyName.escapedText?D.updateImportSpecifier(r,r.isTypeOnly,void 0,r.name):r))}function JUe(e){var t;return(t=e.importClause)!=null&&t.namedBindings&&jg(e.importClause.namedBindings)?e.importClause.namedBindings.elements:void 0}function uG(e){return e?Sae:su}function KUe(e,t){var r,i,o;let s=qUe(t),l=(r=t.organizeImportsCaseFirst)!=null?r:!1,f=(i=t.organizeImportsNumericCollation)!=null?i:!1,d=(o=t.organizeImportsAccentCollation)!=null?o:!0,g=e?d?"accent":"base":d?"variant":"case";return new Intl.Collator(s,{usage:"sort",caseFirst:l||"false",sensitivity:g,numeric:f}).compare}function qUe(e){let t=e.organizeImportsLocale;t==="auto"&&(t=xae()),t===void 0&&(t="en");let r=Intl.Collator.supportedLocalesOf(t);return r.length?r[0]:"en"}function dx(e,t){var r;return((r=e.organizeImportsCollation)!=null?r:"ordinal")==="unicode"?KUe(t,e):uG(t)}function XUe(e,t){var r;let i=typeof e.organizeImportsIgnoreCase=="boolean"?e.organizeImportsIgnoreCase:(r=t?.())!=null?r:!1;return dx(e,i)}var o1e,Eee,YUe=gt({"src/services/organizeImports.ts"(){"use strict";Fr(),o1e=class{has([e,t]){return this._lastPreferences!==t||!this._cache?!1:this._cache.has(e)}get([e,t]){if(!(this._lastPreferences!==t||!this._cache))return this._cache.get(e)}set([e,t],r){var i;this._lastPreferences!==t&&(this._lastPreferences=t,this._cache=void 0),(i=this._cache)!=null||(this._cache=new WeakMap),this._cache.set(e,r)}},Eee=Eae((e,t)=>{if(!dae(e,(o,s)=>g0(o.isTypeOnly,s.isTypeOnly)))return 0;let r=dx(t,!1),i=dx(t,!0);return l8(e,o=>o.name.text,r,i)},new o1e)}}),b_={};Mo(b_,{coalesceExports:()=>GUe,coalesceImports:()=>MUe,compareImportOrExportSpecifiers:()=>gee,compareImportsOrRequireStatements:()=>bee,compareModuleSpecifiers:()=>BUe,detectImportDeclarationSorting:()=>VUe,detectImportSpecifierSorting:()=>Eee,detectSorting:()=>UUe,getImportDeclarationInsertionIndex:()=>jUe,getImportSpecifierInsertionIndex:()=>HUe,getOrganizeImportsComparer:()=>dx,organizeImports:()=>RUe});var $Ue=gt({"src/services/_namespaces/ts.OrganizeImports.ts"(){"use strict";YUe()}});function QUe(e,t){let r=[];return ZUe(e,t,r),eVe(e,r),r.sort((i,o)=>i.textSpan.start-o.textSpan.start)}function ZUe(e,t,r){let i=40,o=0,s=[...e.statements,e.endOfFileToken],l=s.length;for(;o<l;){for(;o<l&&!yT(s[o]);)f(s[o]),o++;if(o===l)break;let d=o;for(;o<l&&yT(s[o]);)f(s[o]),o++;let g=o-1;g!==d&&r.push(AP(Yo(s[d],100,e).getStart(e),s[g].getEnd(),"imports"))}function f(d){var g;if(i===0)return;t.throwIfCancellationRequested(),(Kl(d)||Bc(d)||j_(d)||Ih(d)||d.kind===1)&&c1e(d,e,t,r),Ia(d)&&ar(d.parent)&&br(d.parent.left)&&c1e(d.parent.left,e,t,r),(Va(d)||Tp(d))&&Tee(d.statements.end,e,t,r),(Yr(d)||ku(d))&&Tee(d.members.end,e,t,r);let m=tVe(d,e);m&&r.push(m),i--,Pa(d)?(i++,f(d.expression),i--,d.arguments.forEach(f),(g=d.typeArguments)==null||g.forEach(f)):MT(d)&&d.elseStatement&&MT(d.elseStatement)?(f(d.expression),f(d.thenStatement),i++,f(d.elseStatement),i--):d.forEachChild(f),i++}}function eVe(e,t){let r=[],i=e.getLineStarts();for(let o of i){let s=e.getLineEndOfPosition(o),l=e.text.substring(o,s),f=s1e(l);if(!(!f||Kg(e,o)))if(f[1]){let d=r.pop();d&&(d.textSpan.length=s-d.textSpan.start,d.hintSpan.length=s-d.textSpan.start,t.push(d))}else{let d=Wc(e.text.indexOf("//",o),s);r.push(d1(d,"region",d,!1,f[2]||"#region"))}}}function s1e(e){return e=ZC(e),na(e,"//")?(e=v0(e.slice(2)),l1e.exec(e)):null}function Tee(e,t,r,i){let o=Nm(t.text,e);if(!o)return;let s=-1,l=-1,f=0,d=t.getFullText();for(let{kind:m,pos:v,end:S}of o)switch(r.throwIfCancellationRequested(),m){case 2:let x=d.slice(v,S);if(s1e(x)){g(),f=0;break}f===0&&(s=v),l=S,f++;break;case 3:g(),i.push(AP(v,S,"comment")),f=0;break;default:L.assertNever(m)}g();function g(){f>1&&i.push(AP(s,l,"comment"))}}function c1e(e,t,r,i){CS(e)||Tee(e.pos,t,r,i)}function AP(e,t,r){return d1(Wc(e,t),r)}function tVe(e,t){switch(e.kind){case 238:if(Ia(e.parent))return nVe(e.parent,e,t);switch(e.parent.kind){case 243:case 246:case 247:case 245:case 242:case 244:case 251:case 295:return m(e.parent);case 255:let x=e.parent;if(x.tryBlock===e)return m(e.parent);if(x.finallyBlock===e){let A=Yo(x,96,t);if(A)return m(A)}default:return d1(Du(e,t),"code")}case 265:return m(e.parent);case 260:case 228:case 261:case 263:case 266:case 184:case 203:return m(e);case 186:return m(e,!1,!p2(e.parent),22);case 292:case 293:return v(e.statements);case 207:return g(e);case 206:return g(e,22);case 281:return s(e);case 285:return l(e);case 282:case 283:return f(e.attributes);case 225:case 14:return d(e);case 204:return m(e,!1,!Wo(e.parent),22);case 216:return o(e);case 210:return i(e);case 214:return S(e);case 272:case 276:case 296:return r(e)}function r(x){if(!x.elements.length)return;let A=Yo(x,18,t),w=Yo(x,19,t);if(!(!A||!w||Bf(A.pos,w.pos,t)))return dG(A,w,x,t,!1,!1)}function i(x){if(!x.arguments.length)return;let A=Yo(x,20,t),w=Yo(x,21,t);if(!(!A||!w||Bf(A.pos,w.pos,t)))return dG(A,w,x,t,!1,!0)}function o(x){if(Va(x.body)||ud(x.body)||Bf(x.body.getFullStart(),x.body.getEnd(),t))return;let A=Wc(x.body.getFullStart(),x.body.getEnd());return d1(A,"code",Du(x))}function s(x){let A=Wc(x.openingElement.getStart(t),x.closingElement.getEnd()),w=x.openingElement.tagName.getText(t),C="<"+w+">...</"+w+">";return d1(A,"code",A,!1,C)}function l(x){let A=Wc(x.openingFragment.getStart(t),x.closingFragment.getEnd());return d1(A,"code",A,!1,"<>...</>")}function f(x){if(x.properties.length!==0)return AP(x.getStart(t),x.getEnd(),"code")}function d(x){if(!(x.kind===14&&x.text.length===0))return AP(x.getStart(t),x.getEnd(),"code")}function g(x,A=18){return m(x,!1,!fu(x.parent)&&!Pa(x.parent),A)}function m(x,A=!1,w=!0,C=18,P=C===18?19:23){let F=Yo(e,C,t),B=Yo(e,P,t);return F&&B&&dG(F,B,x,t,A,w)}function v(x){return x.length?d1(lv(x),"code"):void 0}function S(x){if(Bf(x.getStart(),x.getEnd(),t))return;let A=Wc(x.getStart(),x.getEnd());return d1(A,"code",Du(x))}}function nVe(e,t,r){let i=rVe(e,t,r),o=Yo(t,19,r);return i&&o&&dG(i,o,e,r,e.kind!==216)}function dG(e,t,r,i,o=!1,s=!0){let l=Wc(s?e.getFullStart():e.getStart(i),t.getEnd());return d1(l,"code",Du(r,i),o)}function d1(e,t,r=e,i=!1,o="..."){return{textSpan:e,kind:t,hintSpan:r,bannerText:o,autoCollapse:i}}function rVe(e,t,r){if(ale(e.parameters,r)){let i=Yo(e,20,r);if(i)return i}return Yo(t,18,r)}var l1e,iVe=gt({"src/services/outliningElementsCollector.ts"(){"use strict";Fr(),l1e=/^#(end)?region(?:\s+(.*))?(?:\r)?$/}}),See={};Mo(See,{collectElements:()=>QUe});var aVe=gt({"src/services/_namespaces/ts.OutliningElementsCollector.ts"(){"use strict";iVe()}});function Vh(e,t){fG.set(e,t)}function oVe(e){return lo(OU(fG.values(),t=>{var r;return e.cancellationToken&&e.cancellationToken.isCancellationRequested()||!((r=t.kinds)!=null&&r.some(i=>pv(i,e.kind)))?void 0:t.getAvailableActions(e)}))}function sVe(e,t,r){let i=fG.get(t);return i&&i.getEditsForAction(e,r)}var fG,cVe=gt({"src/services/refactorProvider.ts"(){"use strict";Fr(),Qm(),fG=new Map}});function u1e(e,t=!0){let{file:r,program:i}=e,o=QS(e),s=Vi(r,o.start),l=s.parent&&Yy(s.parent)&1&&t?s.parent:HN(s,r,o);if(!l||!Li(l.parent)&&!(Tp(l.parent)&&lu(l.parent.parent)))return{error:uo(_.Could_not_find_export_statement)};let f=i.getTypeChecker(),d=pVe(l.parent,f),g=Yy(l)||(pc(l)&&!l.isExportEquals?1025:0),m=!!(g&1024);if(!(g&1)||!m&&d.exports.has("default"))return{error:uo(_.This_file_already_has_a_default_export)};let v=S=>Re(S)&&f.getSymbolAtLocation(S)?void 0:{error:uo(_.Can_only_convert_named_export)};switch(l.kind){case 259:case 260:case 261:case 263:case 262:case 264:{let S=l;return S.name?v(S.name)||{exportNode:S,exportName:S.name,wasDefault:m,exportingModuleSymbol:d}:void 0}case 240:{let S=l;if(!(S.declarationList.flags&2)||S.declarationList.declarations.length!==1)return;let x=Vo(S.declarationList.declarations);return x.initializer?(L.assert(!m,"Can't have a default flag here"),v(x.name)||{exportNode:S,exportName:x.name,wasDefault:m,exportingModuleSymbol:d}):void 0}case 274:{let S=l;return S.isExportEquals?void 0:v(S.expression)||{exportNode:S,exportName:S.expression,wasDefault:m,exportingModuleSymbol:d}}default:return}}function lVe(e,t,r,i,o){uVe(e,r,i,t.getTypeChecker()),dVe(t,r,i,o)}function uVe(e,{wasDefault:t,exportNode:r,exportName:i},o,s){if(t)if(pc(r)&&!r.isExportEquals){let l=r.expression,f=d1e(l.text,l.text);o.replaceNode(e,r,D.createExportDeclaration(void 0,!1,D.createNamedExports([f])))}else o.delete(e,L.checkDefined(z2(r,88),"Should find a default keyword in modifier list"));else{let l=L.checkDefined(z2(r,93),"Should find an export keyword in modifier list");switch(r.kind){case 259:case 260:case 261:o.insertNodeAfter(e,l,D.createToken(88));break;case 240:let f=Vo(r.declarationList.declarations);if(!js.Core.isSymbolReferencedInFile(i,s,e)&&!f.type){o.replaceNode(e,r,D.createExportDefault(L.checkDefined(f.initializer,"Initializer was previously known to be present")));break}case 263:case 262:case 264:o.deleteModifier(e,l),o.insertNodeAfter(e,r,D.createExportDefault(D.createIdentifier(i.text)));break;default:L.fail(`Unexpected exportNode kind ${r.kind}`)}}}function dVe(e,{wasDefault:t,exportName:r,exportingModuleSymbol:i},o,s){let l=e.getTypeChecker(),f=L.checkDefined(l.getSymbolAtLocation(r),"Export name should resolve to a symbol");js.Core.eachExportReference(e.getSourceFiles(),l,s,f,i,r.text,t,d=>{if(r===d)return;let g=d.getSourceFile();t?fVe(g,d,o,r.text):_Ve(g,d,o)})}function fVe(e,t,r,i){let{parent:o}=t;switch(o.kind){case 208:r.replaceNode(e,t,D.createIdentifier(i));break;case 273:case 278:{let l=o;r.replaceNode(e,l,xee(i,l.name.text));break}case 270:{let l=o;L.assert(l.name===t,"Import clause name should match provided ref");let f=xee(i,t.text),{namedBindings:d}=l;if(!d)r.replaceNode(e,t,D.createNamedImports([f]));else if(d.kind===271){r.deleteRange(e,{pos:t.getStart(e),end:d.getStart(e)});let g=yo(l.parent.moduleSpecifier)?sY(l.parent.moduleSpecifier,e):1,m=Xg(void 0,[xee(i,t.text)],l.parent.moduleSpecifier,g);r.insertNodeAfter(e,l.parent,m)}else r.delete(e,t),r.insertNodeAtEndOfList(e,d.elements,f);break}case 202:let s=o;r.replaceNode(e,o,D.createImportTypeNode(s.argument,s.assertions,D.createIdentifier(i),s.typeArguments,s.isTypeOf));break;default:L.failBadSyntaxKind(o)}}function _Ve(e,t,r){let i=t.parent;switch(i.kind){case 208:r.replaceNode(e,t,D.createIdentifier("default"));break;case 273:{let o=D.createIdentifier(i.name.text);i.parent.elements.length===1?r.replaceNode(e,i.parent,o):(r.delete(e,i),r.insertNodeBefore(e,i.parent,o));break}case 278:{r.replaceNode(e,i,d1e("default",i.name.text));break}default:L.assertNever(i,`Unexpected parent kind ${i.kind}`)}}function xee(e,t){return D.createImportSpecifier(!1,e===t?void 0:D.createIdentifier(e),D.createIdentifier(t))}function d1e(e,t){return D.createExportSpecifier(!1,e===t?void 0:D.createIdentifier(e),D.createIdentifier(t))}function pVe(e,t){if(Li(e))return e.symbol;let r=e.parent.symbol;return r.valueDeclaration&&D0(r.valueDeclaration)?t.getMergedSymbol(r):r}var _G,CP,IP,mVe=gt({"src/services/refactors/convertExport.ts"(){"use strict";Fr(),Qm(),_G="Convert export",CP={name:"Convert default export to named export",description:_.Convert_default_export_to_named_export.message,kind:"refactor.rewrite.export.named"},IP={name:"Convert named export to default export",description:_.Convert_named_export_to_default_export.message,kind:"refactor.rewrite.export.default"},Vh(_G,{kinds:[CP.kind,IP.kind],getAvailableActions:function(t){let r=u1e(t,t.triggerReason==="invoked");if(!r)return Je;if(!$m(r)){let i=r.wasDefault?CP:IP;return[{name:_G,description:i.description,actions:[i]}]}return t.preferences.provideRefactorNotApplicableReason?[{name:_G,description:_.Convert_default_export_to_named_export.message,actions:[{...CP,notApplicableReason:r.error},{...IP,notApplicableReason:r.error}]}]:Je},getEditsForAction:function(t,r){L.assert(r===CP.name||r===IP.name,"Unexpected action name");let i=u1e(t);return L.assert(i&&!$m(i),"Expected applicable refactor info"),{edits:nr.ChangeTracker.with(t,s=>lVe(t.file,t.program,i,s,t.cancellationToken)),renameFilename:void 0,renameLocation:void 0}}})}});function f1e(e,t=!0){let{file:r}=e,i=QS(e),o=Vi(r,i.start),s=t?jn(o,gl):HN(o,r,i);if(!s||!gl(s))return{error:"Selection is not an import declaration."};let l=i.start+i.length,f=t1(s,s.parent,r);if(f&&l>f.getStart())return;let{importClause:d}=s;return d?d.namedBindings?d.namedBindings.kind===271?{convertTo:0,import:d.namedBindings}:_1e(e.program,d)?{convertTo:1,import:d.namedBindings}:{convertTo:2,import:d.namedBindings}:{error:uo(_.Could_not_find_namespace_import_or_named_imports)}:{error:uo(_.Could_not_find_import_clause)}}function _1e(e,t){return wT(e.getCompilerOptions())&&vVe(t.parent.moduleSpecifier,e.getTypeChecker())}function hVe(e,t,r,i){let o=t.getTypeChecker();i.convertTo===0?gVe(e,o,r,i.import,wT(t.getCompilerOptions())):m1e(e,t,r,i.import,i.convertTo===1)}function gVe(e,t,r,i,o){let s=!1,l=[],f=new Map;js.Core.eachSymbolReferenceInFile(i.name,t,e,v=>{if(!fse(v.parent))s=!0;else{let S=p1e(v.parent).text;t.resolveName(S,v,67108863,!0)&&f.set(S,!0),L.assert(yVe(v.parent)===v,"Parent expression should match id"),l.push(v.parent)}});let d=new Map;for(let v of l){let S=p1e(v).text,x=d.get(S);x===void 0&&d.set(S,x=f.has(S)?i1(S,e):S),r.replaceNode(e,v,D.createIdentifier(x))}let g=[];d.forEach((v,S)=>{g.push(D.createImportSpecifier(!1,v===S?void 0:D.createIdentifier(S),D.createIdentifier(v)))});let m=i.parent.parent;s&&!o?r.insertNodeAfter(e,m,Aee(m,void 0,g)):r.replaceNode(e,m,Aee(m,s?D.createIdentifier(i.name.text):void 0,g))}function p1e(e){return br(e)?e.name:e.right}function yVe(e){return br(e)?e.expression:e.left}function m1e(e,t,r,i,o=_1e(t,i.parent)){let s=t.getTypeChecker(),l=i.parent.parent,{moduleSpecifier:f}=l,d=new Set;i.elements.forEach(A=>{let w=s.getSymbolAtLocation(A.name);w&&d.add(w)});let g=f&&yo(f)?gu.moduleSpecifierToValidIdentifier(f.text,99):"module";function m(A){return!!js.Core.eachSymbolReferenceInFile(A.name,s,e,w=>{let C=s.resolveName(g,w,67108863,!0);return C?d.has(C)?Mu(w.parent):!0:!1})}let S=i.elements.some(m)?i1(g,e):g,x=new Set;for(let A of i.elements){let w=(A.propertyName||A.name).text;js.Core.eachSymbolReferenceInFile(A.name,s,e,C=>{let P=D.createPropertyAccessExpression(D.createIdentifier(S),w);xf(C.parent)?r.replaceNode(e,C.parent,D.createPropertyAssignment(C.text,P)):Mu(C.parent)?x.add(A):r.replaceNode(e,C,P)})}if(r.replaceNode(e,i,o?D.createIdentifier(S):D.createNamespaceImport(D.createIdentifier(S))),x.size){let A=lo(x.values(),w=>D.createImportSpecifier(w.isTypeOnly,w.propertyName&&D.createIdentifier(w.propertyName.text),D.createIdentifier(w.name.text)));r.insertNodeAfter(e,i.parent.parent,Aee(l,void 0,A))}}function vVe(e,t){let r=t.resolveExternalModuleName(e);if(!r)return!1;let i=t.resolveExternalModuleSymbol(r);return r!==i}function Aee(e,t,r){return D.createImportDeclaration(void 0,D.createImportClause(!1,t,r&&r.length?D.createNamedImports(r):void 0),e.moduleSpecifier,void 0)}var pG,LP,bVe=gt({"src/services/refactors/convertImport.ts"(){"use strict";Fr(),Qm(),pG="Convert import",LP={0:{name:"Convert namespace import to named imports",description:_.Convert_namespace_import_to_named_imports.message,kind:"refactor.rewrite.import.named"},2:{name:"Convert named imports to namespace import",description:_.Convert_named_imports_to_namespace_import.message,kind:"refactor.rewrite.import.namespace"},1:{name:"Convert named imports to default import",description:_.Convert_named_imports_to_default_import.message,kind:"refactor.rewrite.import.default"}},Vh(pG,{kinds:H1(LP).map(e=>e.kind),getAvailableActions:function(t){let r=f1e(t,t.triggerReason==="invoked");if(!r)return Je;if(!$m(r)){let i=LP[r.convertTo];return[{name:pG,description:i.description,actions:[i]}]}return t.preferences.provideRefactorNotApplicableReason?H1(LP).map(i=>({name:pG,description:i.description,actions:[{...i,notApplicableReason:r.error}]})):Je},getEditsForAction:function(t,r){L.assert(vt(H1(LP),s=>s.name===r),"Unexpected action name");let i=f1e(t);return L.assert(i&&!$m(i),"Expected applicable refactor info"),{edits:nr.ChangeTracker.with(t,s=>hVe(t.file,t.program,s,i)),renameFilename:void 0,renameLocation:void 0}}})}});function h1e(e,t=!0){let{file:r,startPosition:i}=e,o=Cu(r),s=Vi(r,i),l=y7(QS(e)),f=l.pos===l.end&&t,d=jn(s,x=>x.parent&&bi(x)&&!Ab(l,x.parent,r)&&(f||HX(s,r,l.pos,l.end)));if(!d||!bi(d))return{error:uo(_.Selection_is_not_a_valid_type_node)};let g=e.program.getTypeChecker(),m=AVe(d,o);if(m===void 0)return{error:uo(_.No_type_could_be_extracted_from_this_type_node)};let v=EVe(g,d,m,r);if(!v)return{error:uo(_.No_type_could_be_extracted_from_this_type_node)};let S=Cee(g,d);return{isJS:o,selection:d,enclosingNode:m,typeParameters:v,typeElements:S}}function Cee(e,t){if(t)if(dO(t)){let r=[],i=new Map;for(let o of t.types){let s=Cee(e,o);if(!s||!s.every(l=>l.name&&V_(i,VN(l.name))))return;si(r,s)}return r}else{if(wS(t))return Cee(e,t.type);if(Rd(t))return t.members}}function Ab(e,t,r){return ON(e,xo(r.text,t.pos),t.end)}function EVe(e,t,r,i){let o=[];return s(t)?void 0:o;function s(l){if(m_(l)){if(Re(l.typeName)){let f=l.typeName,d=e.resolveName(f.text,f,262144,!0);for(let g of d?.declarations||Je)if(_c(g)&&g.getSourceFile()===i){if(g.name.escapedText===f.escapedText&&Ab(g,t,i))return!0;if(Ab(r,g,i)&&!Ab(t,g,i)){Of(o,g);break}}}}else if(h2(l)){let f=jn(l,d=>m2(d)&&Ab(d.extendsType,l,i));if(!f||!Ab(t,f,i))return!0}else if(l3(l)||u3(l)){let f=jn(l.parent,Ia);if(f&&f.type&&Ab(f.type,l,i)&&!Ab(t,f,i))return!0}else if(vL(l)){if(Re(l.exprName)){let f=e.resolveName(l.exprName.text,l.exprName,111551,!1);if(f?.valueDeclaration&&Ab(r,f.valueDeclaration,i)&&!Ab(t,f.valueDeclaration,i))return!0}else if(LT(l.exprName.left)&&!Ab(t,l.parent,i))return!0}return i&&p2(l)&&Gs(i,l.pos).line===Gs(i,l.end).line&&Jn(l,1),pa(l,s)}}function TVe(e,t,r,i){let{enclosingNode:o,selection:s,typeParameters:l}=i,f=D.createTypeAliasDeclaration(void 0,r,l.map(d=>D.updateTypeParameterDeclaration(d,d.modifiers,d.name,d.constraint,void 0)),s);e.insertNodeBefore(t,o,Tz(f),!0),e.replaceNode(t,s,D.createTypeReferenceNode(r,l.map(d=>D.createTypeReferenceNode(d.name,void 0))),{leadingTriviaOption:nr.LeadingTriviaOption.Exclude,trailingTriviaOption:nr.TrailingTriviaOption.ExcludeWhitespace})}function SVe(e,t,r,i){var o;let{enclosingNode:s,selection:l,typeParameters:f,typeElements:d}=i,g=D.createInterfaceDeclaration(void 0,r,f,void 0,d);it(g,(o=d[0])==null?void 0:o.parent),e.insertNodeBefore(t,s,Tz(g),!0),e.replaceNode(t,l,D.createTypeReferenceNode(r,f.map(m=>D.createTypeReferenceNode(m.name,void 0))),{leadingTriviaOption:nr.LeadingTriviaOption.Exclude,trailingTriviaOption:nr.TrailingTriviaOption.ExcludeWhitespace})}function xVe(e,t,r,i,o){var s;let{enclosingNode:l,selection:f,typeParameters:d}=o;Jn(f,7168);let g=D.createJSDocTypedefTag(D.createIdentifier("typedef"),D.createJSDocTypeExpression(f),D.createIdentifier(i)),m=[];mn(d,S=>{let x=EA(S),A=D.createTypeParameterDeclaration(void 0,S.name),w=D.createJSDocTemplateTag(D.createIdentifier("template"),x&&Ga(x,UT),[A]);m.push(w)});let v=D.createJSDocComment(void 0,D.createNodeArray(Qi(m,[g])));if(dm(l)){let S=l.getStart(r),x=bb(t.host,(s=t.formatContext)==null?void 0:s.options);e.insertNodeAt(r,l.getStart(r),v,{suffix:x+x+r.text.slice(hY(r.text,S-1),S)})}else e.insertNodeBefore(r,l,v,!0);e.replaceNode(r,f,D.createTypeReferenceNode(i,d.map(S=>D.createTypeReferenceNode(S.name,void 0))))}function AVe(e,t){return jn(e,ca)||(t?jn(e,dm):void 0)}var mG,kP,DP,wP,CVe=gt({"src/services/refactors/extractType.ts"(){"use strict";Fr(),Qm(),mG="Extract type",kP={name:"Extract to type alias",description:uo(_.Extract_to_type_alias),kind:"refactor.extract.type"},DP={name:"Extract to interface",description:uo(_.Extract_to_interface),kind:"refactor.extract.interface"},wP={name:"Extract to typedef",description:uo(_.Extract_to_typedef),kind:"refactor.extract.typedef"},Vh(mG,{kinds:[kP.kind,DP.kind,wP.kind],getAvailableActions:function(t){let r=h1e(t,t.triggerReason==="invoked");return r?$m(r)?t.preferences.provideRefactorNotApplicableReason?[{name:mG,description:uo(_.Extract_type),actions:[{...wP,notApplicableReason:r.error},{...kP,notApplicableReason:r.error},{...DP,notApplicableReason:r.error}]}]:Je:[{name:mG,description:uo(_.Extract_type),actions:r.isJS?[wP]:Sn([kP],r.typeElements&&DP)}]:Je},getEditsForAction:function(t,r){let{file:i}=t,o=h1e(t);L.assert(o&&!$m(o),"Expected to find a range to extract");let s=i1("NewType",i),l=nr.ChangeTracker.with(t,g=>{switch(r){case kP.name:return L.assert(!o.isJS,"Invalid actionName/JS combo"),TVe(g,i,s,o);case wP.name:return L.assert(o.isJS,"Invalid actionName/JS combo"),xVe(g,t,i,s,o);case DP.name:return L.assert(!o.isJS&&!!o.typeElements,"Invalid actionName/JS combo"),SVe(g,i,s,o);default:L.fail("Unexpected action name")}}),f=i.fileName,d=KN(l,f,s,!1);return{edits:l,renameFilename:f,renameLocation:d}}})}});function $m(e){return e.error!==void 0}function pv(e,t){return t?e.substr(0,t.length)===t:!0}var IVe=gt({"src/services/refactors/helpers.ts"(){"use strict"}});function LVe(e){let{file:t}=e,r=y7(QS(e)),{statements:i}=t,o=Yc(i,f=>f.end>r.pos);if(o===-1)return;let s=i[o];if(zl(s)&&s.name&&Od(s.name,r))return{toMove:[i[o]],afterLast:i[o+1]};if(r.pos>s.getStart(t))return;let l=Yc(i,f=>f.end>r.end,o);if(!(l!==-1&&(l===0||i[l].getStart(t)<r.end)))return{toMove:i.slice(o,l===-1?i.length:l),afterLast:l===-1?void 0:i[l]}}function kVe(e,t,r,i,o,s){let l=t.getTypeChecker(),f=JVe(e,r.all,l),d=ni(e.fileName),g=jR(e.fileName),m=vi(d,WVe(zVe(f.oldFileImportsFromNewFile,f.movedSymbols),g,d,o))+g;i.createNewFile(e,m,OVe(e,f,i,r,t,o,m,s)),RVe(t,i,e.fileName,m,lb(o))}function g1e(e){let t=LVe(e);if(t===void 0)return;let r=[],i=[],{toMove:o,afterLast:s}=t;return PU(o,DVe,(l,f)=>{for(let d=l;d<f;d++)r.push(o[d]);i.push({first:o[l],afterLast:s})}),r.length===0?void 0:{all:r,ranges:i}}function DVe(e){return!wVe(e)&&!B_(e)}function wVe(e){switch(e.kind){case 269:return!0;case 268:return!Mr(e,1);case 240:return e.declarationList.declarations.every(t=>!!t.initializer&&qu(t.initializer,!0));default:return!1}}function RVe(e,t,r,i,o){let s=e.getCompilerOptions().configFile;if(!s)return;let l=So(vi(r,"..",i)),f=_w(s.fileName,l,o),d=s.statements[0]&&zr(s.statements[0].expression,rs),g=d&&wr(d.properties,m=>yl(m)&&yo(m.name)&&m.name.text==="files");g&&fu(g.initializer)&&t.insertNodeInListAfter(s,To(g.initializer.elements),D.createStringLiteral(f),g.initializer.elements)}function OVe(e,t,r,i,o,s,l,f){let d=o.getTypeChecker(),g=v8(e.statements,B_);if(e.externalModuleIndicator===void 0&&e.commonJsModuleIndicator===void 0&&t.oldImportsNeededByNewFile.size()===0)return y1e(e,i.ranges,r),[...g,...i.all];let m=!!e.externalModuleIndicator,v=J_(e,f),S=BVe(e,t.oldFileImportsFromNewFile,l,o,s,m,v);S&&L7(r,e,S,!0,f),NVe(e,i.all,r,t.unusedImportsFromOldFile,d),y1e(e,i.ranges,r),PVe(r,o,s,e,t.movedSymbols,l);let x=HVe(e,t.oldImportsNeededByNewFile,t.newFileImportsFromOldFile,r,d,o,s,m,v),A=UVe(e,i.all,t.oldFileImportsFromNewFile,m);return x.length&&A.length?[...g,...x,4,...A]:[...g,...x,...A]}function y1e(e,t,r){for(let{first:i,afterLast:o}of t)r.deleteNodeRangeExcludingEnd(e,i,o)}function NVe(e,t,r,i,o){for(let s of e.statements)ya(t,s)||Iee(s,l=>T1e(e,l,r,f=>i.has(o.getSymbolAtLocation(f))))}function PVe(e,t,r,i,o,s){let l=t.getTypeChecker();for(let f of t.getSourceFiles())if(f!==i)for(let d of f.statements)Iee(d,g=>{if(l.getSymbolAtLocation(v1e(g))!==i.symbol)return;let m=w=>{let C=Wo(w.parent)?I7(l,w.parent):wd(l.getSymbolAtLocation(w),l);return!!C&&o.has(C)};T1e(f,g,e,m);let v=Fy(ni(i.path),s),S=sF(t.getCompilerOptions(),f,f.path,v,$S(t,r)),x=A1e(g,D.createStringLiteral(S),m);x&&e.insertNodeAfter(f,d,x);let A=MVe(g);A&&FVe(e,f,l,o,S,A,g)})}function MVe(e){switch(e.kind){case 269:return e.importClause&&e.importClause.namedBindings&&e.importClause.namedBindings.kind===271?e.importClause.namedBindings.name:void 0;case 268:return e.name;case 257:return zr(e.name,Re);default:return L.assertNever(e,`Unexpected node kind ${e.kind}`)}}function FVe(e,t,r,i,o,s,l){let f=gu.moduleSpecifierToValidIdentifier(o,99),d=!1,g=[];if(js.Core.eachSymbolReferenceInFile(s,r,t,m=>{br(m.parent)&&(d=d||!!r.resolveName(f,m,67108863,!0),i.has(r.getSymbolAtLocation(m.parent.name))&&g.push(m))}),g.length){let m=d?i1(f,t):f;for(let v of g)e.replaceNode(t,v,D.createIdentifier(m));e.insertNodeAfter(t,l,GVe(l,f,o))}}function GVe(e,t,r){let i=D.createIdentifier(t),o=D.createStringLiteral(r);switch(e.kind){case 269:return D.createImportDeclaration(void 0,D.createImportClause(!1,void 0,D.createNamespaceImport(i)),o,void 0);case 268:return D.createImportEqualsDeclaration(void 0,!1,i,D.createExternalModuleReference(o));case 257:return D.createVariableDeclaration(i,void 0,void 0,Lee(o));default:return L.assertNever(e,`Unexpected node kind ${e.kind}`)}}function v1e(e){return e.kind===269?e.moduleSpecifier:e.kind===268?e.moduleReference.expression:e.initializer.arguments[0]}function Iee(e,t){if(gl(e))yo(e.moduleSpecifier)&&t(e);else if(Nl(e))um(e.moduleReference)&&es(e.moduleReference.expression)&&t(e);else if(Bc(e))for(let r of e.declarationList.declarations)r.initializer&&qu(r.initializer,!0)&&t(r)}function BVe(e,t,r,i,o,s,l){let f,d=[];return t.forEach(g=>{g.escapedName==="default"?f=D.createIdentifier(x7(g)):d.push(g.name)}),b1e(e,f,d,r,i,o,s,l)}function b1e(e,t,r,i,o,s,l,f){let d=Fy(ni(e.path),i),g=sF(o.getCompilerOptions(),e,e.path,d,$S(o,s));if(l){let m=r.map(v=>D.createImportSpecifier(!1,void 0,D.createIdentifier(v)));return jhe(t,m,g,f)}else{L.assert(!t,"No default import should exist");let m=r.map(v=>D.createBindingElement(void 0,void 0,v));return m.length?E1e(D.createObjectBindingPattern(m),void 0,Lee(D.createStringLiteral(g))):void 0}}function E1e(e,t,r,i=2){return D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(e,void 0,t,r)],i))}function Lee(e){return D.createCallExpression(D.createIdentifier("require"),void 0,[e])}function UVe(e,t,r,i){return Uo(t,o=>{if(YVe(o)&&!R1e(e,o,i)&&k1e(o,s=>{var l;return r.has(L.checkDefined((l=zr(s,$p))==null?void 0:l.symbol))})){let s=ZVe(o,i);if(s)return s}return o})}function T1e(e,t,r,i){switch(t.kind){case 269:VVe(e,t,r,i);break;case 268:i(t.name)&&r.delete(e,t);break;case 257:jVe(e,t,r,i);break;default:L.assertNever(t,`Unexpected import decl kind ${t.kind}`)}}function VVe(e,t,r,i){if(!t.importClause)return;let{name:o,namedBindings:s}=t.importClause,l=!o||i(o),f=!s||(s.kind===271?i(s.name):s.elements.length!==0&&s.elements.every(d=>i(d.name)));if(l&&f)r.delete(e,t);else if(o&&l&&r.delete(e,o),s){if(f)r.replaceNode(e,t.importClause,D.updateImportClause(t.importClause,t.importClause.isTypeOnly,o,void 0));else if(s.kind===272)for(let d of s.elements)i(d.name)&&r.delete(e,d)}}function jVe(e,t,r,i){let{name:o}=t;switch(o.kind){case 79:i(o)&&(t.initializer&&qu(t.initializer,!0)?r.delete(e,pu(t.parent)&&Fn(t.parent.declarations)===1?t.parent.parent:t):r.delete(e,o));break;case 204:break;case 203:if(o.elements.every(s=>Re(s.name)&&i(s.name)))r.delete(e,pu(t.parent)&&t.parent.declarations.length===1?t.parent.parent:t);else for(let s of o.elements)Re(s.name)&&i(s.name)&&r.delete(e,s.name);break}}function HVe(e,t,r,i,o,s,l,f,d){let g=[];for(let x of e.statements)Iee(x,A=>{Sn(g,A1e(A,v1e(A),w=>t.has(o.getSymbolAtLocation(w))))});let m,v=[],S=W2();return r.forEach(x=>{if(x.declarations)for(let A of x.declarations){if(!I1e(A))continue;let w=$Ve(A);if(!w)continue;let C=w1e(A);S(C)&&QVe(e,C,w,i,f),Mr(A,1024)?m=w:v.push(w.text)}}),Sn(g,b1e(e,m,v,Hl(e.fileName),s,l,f,d)),g}function WVe(e,t,r,i){let o=e;for(let s=1;;s++){let l=vi(r,o+t);if(!i.fileExists(l))return o;o=`${e}.${s}`}}function zVe(e,t){return e.forEachEntry(x7)||t.forEachEntry(x7)||"newFile"}function JVe(e,t,r){let i=new Ik,o=new Ik,s=new Ik,l=wr(t,v=>!!(v.transformFlags&2)),f=m(l);f&&o.add(f);for(let v of t)k1e(v,S=>{i.add(L.checkDefined(Ol(S)?r.getSymbolAtLocation(S.expression.left):S.symbol,"Need a symbol here"))});for(let v of t)C1e(v,r,S=>{if(S.declarations)for(let x of S.declarations)S1e(x)?o.add(S):I1e(x)&&XVe(x)===e&&!i.has(S)&&s.add(S)});let d=o.clone(),g=new Ik;for(let v of e.statements)ya(t,v)||(f&&v.transformFlags&2&&d.delete(f),C1e(v,r,S=>{i.has(S)&&g.add(S),d.delete(S)}));return{movedSymbols:i,newFileImportsFromOldFile:s,oldFileImportsFromNewFile:g,oldImportsNeededByNewFile:o,unusedImportsFromOldFile:d};function m(v){if(v===void 0)return;let S=r.getJsxNamespace(v),x=r.resolveName(S,v,1920,!0);return x&&vt(x.declarations,S1e)?x:void 0}}function S1e(e){switch(e.kind){case 268:case 273:case 270:case 271:return!0;case 257:return x1e(e);case 205:return wi(e.parent.parent)&&x1e(e.parent.parent);default:return!1}}function x1e(e){return Li(e.parent.parent.parent)&&!!e.initializer&&qu(e.initializer,!0)}function A1e(e,t,r){switch(e.kind){case 269:{let i=e.importClause;if(!i)return;let o=i.name&&r(i.name)?i.name:void 0,s=i.namedBindings&&KVe(i.namedBindings,r);return o||s?D.createImportDeclaration(void 0,D.createImportClause(i.isTypeOnly,o,s),t,void 0):void 0}case 268:return r(e.name)?e:void 0;case 257:{let i=qVe(e.name,r);return i?E1e(i,e.type,Lee(t),e.parent.flags):void 0}default:return L.assertNever(e,`Unexpected import kind ${e.kind}`)}}function KVe(e,t){if(e.kind===271)return t(e.name)?e:void 0;{let r=e.elements.filter(i=>t(i.name));return r.length?D.createNamedImports(r):void 0}}function qVe(e,t){switch(e.kind){case 79:return t(e)?e:void 0;case 204:return e;case 203:{let r=e.elements.filter(i=>i.propertyName||!Re(i.name)||t(i.name));return r.length?D.createObjectBindingPattern(r):void 0}}}function C1e(e,t,r){e.forEachChild(function i(o){if(Re(o)&&!Rh(o)){let s=t.getSymbolAtLocation(o);s&&r(s)}else o.forEachChild(i)})}function I1e(e){return L1e(e)&&Li(e.parent)||wi(e)&&Li(e.parent.parent.parent)}function XVe(e){return wi(e)?e.parent.parent.parent:e.parent}function YVe(e){return L.assert(Li(e.parent),"Node parent should be a SourceFile"),L1e(e)||Bc(e)}function L1e(e){switch(e.kind){case 259:case 260:case 264:case 263:case 262:case 261:case 268:return!0;default:return!1}}function k1e(e,t){switch(e.kind){case 259:case 260:case 264:case 263:case 262:case 261:case 268:return t(e);case 240:return ks(e.declarationList.declarations,r=>D1e(r.name,t));case 241:{let{expression:r}=e;return ar(r)&&ic(r)===1?t(e):void 0}}}function D1e(e,t){switch(e.kind){case 79:return t(Ga(e.parent,r=>wi(r)||Wo(r)));case 204:case 203:return ks(e.elements,r=>ol(r)?void 0:D1e(r.name,t));default:return L.assertNever(e,`Unexpected name kind ${e.kind}`)}}function $Ve(e){return Ol(e)?zr(e.expression.left.name,Re):zr(e.name,Re)}function w1e(e){switch(e.kind){case 257:return e.parent.parent;case 205:return w1e(Ga(e.parent.parent,t=>wi(t)||Wo(t)));default:return e}}function QVe(e,t,r,i,o){if(!R1e(e,t,o,r))if(o)Ol(t)||i.insertExportModifier(e,t);else{let s=kee(t);s.length!==0&&i.insertNodesAfter(e,t,s.map(O1e))}}function R1e(e,t,r,i){var o;return r?!Ol(t)&&Mr(t,1)||!!(i&&((o=e.symbol.exports)!=null&&o.has(i.escapedText))):!!e.symbol&&!!e.symbol.exports&&kee(t).some(s=>e.symbol.exports.has(Bs(s)))}function ZVe(e,t){return t?[eje(e)]:tje(e)}function eje(e){let t=g_(e)?Qi([D.createModifier(93)],uT(e)):void 0;switch(e.kind){case 259:return D.updateFunctionDeclaration(e,t,e.asteriskToken,e.name,e.typeParameters,e.parameters,e.type,e.body);case 260:let r=HS(e)?Uy(e):void 0;return D.updateClassDeclaration(e,Qi(r,t),e.name,e.typeParameters,e.heritageClauses,e.members);case 240:return D.updateVariableStatement(e,t,e.declarationList);case 264:return D.updateModuleDeclaration(e,t,e.name,e.body);case 263:return D.updateEnumDeclaration(e,t,e.name,e.members);case 262:return D.updateTypeAliasDeclaration(e,t,e.name,e.typeParameters,e.type);case 261:return D.updateInterfaceDeclaration(e,t,e.name,e.typeParameters,e.heritageClauses,e.members);case 268:return D.updateImportEqualsDeclaration(e,t,e.isTypeOnly,e.name,e.moduleReference);case 241:return L.fail();default:return L.assertNever(e,`Unexpected declaration kind ${e.kind}`)}}function tje(e){return[e,...kee(e).map(O1e)]}function kee(e){switch(e.kind){case 259:case 260:return[e.name.text];case 240:return Zi(e.declarationList.declarations,t=>Re(t.name)?t.name.text:void 0);case 264:case 263:case 262:case 261:case 268:return Je;case 241:return L.fail("Can't export an ExpressionStatement");default:return L.assertNever(e,`Unexpected decl kind ${e.kind}`)}}function O1e(e){return D.createExpressionStatement(D.createBinaryExpression(D.createPropertyAccessExpression(D.createIdentifier("exports"),D.createIdentifier(e)),63,D.createIdentifier(e)))}var Ck,hG,gG,Ik,nje=gt({"src/services/refactors/moveToNewFile.ts"(){"use strict";L_e(),Fr(),Qm(),Ck="Move to a new file",hG=uo(_.Move_to_a_new_file),gG={name:Ck,description:hG,kind:"refactor.move.newFile"},Vh(Ck,{kinds:[gG.kind],getAvailableActions:function(t){let r=g1e(t);return t.preferences.allowTextChangesInNewFiles&&r?[{name:Ck,description:hG,actions:[gG]}]:t.preferences.provideRefactorNotApplicableReason?[{name:Ck,description:hG,actions:[{...gG,notApplicableReason:uo(_.Selection_is_not_a_valid_statement_or_statements)}]}]:Je},getEditsForAction:function(t,r){L.assert(r===Ck,"Wrong refactor invoked");let i=L.checkDefined(g1e(t));return{edits:nr.ChangeTracker.with(t,s=>kVe(t.file,t.program,i,s,t.host,t.preferences)),renameFilename:void 0,renameLocation:void 0}}}),Ik=class{constructor(){this.map=new Map}add(e){this.map.set(String($a(e)),e)}has(e){return this.map.has(String($a(e)))}delete(e){this.map.delete(String($a(e)))}forEach(e){this.map.forEach(e)}forEachEntry(e){return Ld(this.map,e)}clone(){let e=new Ik;return Mw(this.map,e.map),e}size(){return this.map.size}}}});function rje(e){let{file:t,startPosition:r,program:i}=e;return P1e(t,r,i)?[{name:yG,description:Dee,actions:[wee]}]:Je}function ije(e){let{file:t,startPosition:r,program:i}=e,o=P1e(t,r,i);if(!o)return;let s=i.getTypeChecker(),l=o[o.length-1],f=l;switch(l.kind){case 170:{f=D.updateMethodSignature(l,l.modifiers,l.name,l.questionToken,l.typeParameters,g(o),l.type);break}case 171:{f=D.updateMethodDeclaration(l,l.modifiers,l.asteriskToken,l.name,l.questionToken,l.typeParameters,g(o),l.type,l.body);break}case 176:{f=D.updateCallSignature(l,l.typeParameters,g(o),l.type);break}case 173:{f=D.updateConstructorDeclaration(l,l.modifiers,g(o),l.body);break}case 177:{f=D.updateConstructSignature(l,l.typeParameters,g(o),l.type);break}case 259:{f=D.updateFunctionDeclaration(l,l.modifiers,l.asteriskToken,l.name,l.typeParameters,g(o),l.type,l.body);break}default:return L.failBadSyntaxKind(l,"Unhandled signature kind in overload list conversion refactoring")}if(f===l)return;return{renameFilename:void 0,renameLocation:void 0,edits:nr.ChangeTracker.with(e,S=>{S.replaceNodeRange(t,o[0],o[o.length-1],f)})};function g(S){let x=S[S.length-1];return Ds(x)&&x.body&&(S=S.slice(0,S.length-1)),D.createNodeArray([D.createParameterDeclaration(void 0,D.createToken(25),"args",void 0,D.createUnionTypeNode(on(S,m)))])}function m(S){let x=on(S.parameters,v);return Jn(D.createTupleTypeNode(x),vt(x,A=>!!Fn(l2(A)))?0:1)}function v(S){L.assert(Re(S.name));let x=it(D.createNamedTupleMember(S.dotDotDotToken,S.name,S.questionToken,S.type||D.createKeywordTypeNode(131)),S),A=S.symbol&&S.symbol.getDocumentationComment(s);if(A){let w=Mye(A);w.length&&W0(x,[{text:`*
 ${w.split(`
-`).map(C => ` * ${C}`).join(`
+`).map(C=>` * ${C}`).join(`
 `)}
- `, kind: 3, pos: -1, end: -1, hasTrailingNewLine: !0, hasLeadingNewline: !0
-                        }])
-                    } return x
-                }
-            } function N1e(e) { switch (e.kind) { case 170: case 171: case 176: case 173: case 177: case 259: return !0 }return !1 } function P1e(e, t, r) { let i = Vi(e, t), o = jn(i, N1e); if (!o || Ds(o) && o.body && wN(o.body, t)) return; let s = r.getTypeChecker(), l = o.symbol; if (!l) return; let f = l.declarations; if (Fn(f) <= 1 || !Ji(f, S => Gn(S) === e) || !N1e(f[0])) return; let d = f[0].kind; if (!Ji(f, S => S.kind === d)) return; let g = f; if (vt(g, S => !!S.typeParameters || vt(S.parameters, x => !!x.modifiers || !Re(x.name)))) return; let m = Zi(g, S => s.getSignatureFromDeclaration(S)); if (Fn(m) !== Fn(f)) return; let v = s.getReturnTypeOfSignature(m[0]); if (Ji(m, S => s.getReturnTypeOfSignature(S) === v)) return g } var yG, Dee, wee, aje = gt({ "src/services/refactors/convertOverloadListToSingleSignature.ts"() { "use strict"; Fr(), Qm(), yG = "Convert overload list to single signature", Dee = _.Convert_overload_list_to_single_signature.message, wee = { name: yG, description: Dee, kind: "refactor.rewrite.function.overloadList" }, Vh(yG, { kinds: [wee.kind], getEditsForAction: ije, getAvailableActions: rje }) } }); function oje(e) { let { file: t, startPosition: r, triggerReason: i } = e, o = M1e(t, r, i === "invoked"); return o ? $m(o) ? e.preferences.provideRefactorNotApplicableReason ? [{ name: vG, description: Ree, actions: [{ ...RP, notApplicableReason: o.error }, { ...Lk, notApplicableReason: o.error }] }] : Je : [{ name: vG, description: Ree, actions: [o.addBraces ? RP : Lk] }] : Je } function sje(e, t) { let { file: r, startPosition: i } = e, o = M1e(r, i); L.assert(o && !$m(o), "Expected applicable refactor info"); let { expression: s, returnStatement: l, func: f } = o, d; if (t === RP.name) { let m = D.createReturnStatement(s); d = D.createBlock([m], !0), q2(s, m, r, 3, !0) } else if (t === Lk.name && l) { let m = s || D.createVoidZero(); d = bY(m) ? D.createParenthesizedExpression(m) : m, qN(l, d, r, 3, !1), q2(l, d, r, 3, !1), sk(l, d, r, 3, !1) } else L.fail("invalid action"); return { renameFilename: void 0, renameLocation: void 0, edits: nr.ChangeTracker.with(e, m => { m.replaceNode(r, f.body, d) }) } } function M1e(e, t, r = !0, i) { let o = Vi(e, t), s = Xd(o); if (!s) return { error: uo(_.Could_not_find_a_containing_arrow_function) }; if (!xs(s)) return { error: uo(_.Containing_function_is_not_an_arrow_function) }; if (!(!Od(s, o) || Od(s.body, o) && !r)) { if (pv(RP.kind, i) && ot(s.body)) return { func: s, addBraces: !0, expression: s.body }; if (pv(Lk.kind, i) && Va(s.body) && s.body.statements.length === 1) { let l = Vo(s.body.statements); if (j_(l)) return { func: s, addBraces: !1, expression: l.expression, returnStatement: l } } } } var vG, Ree, RP, Lk, cje = gt({ "src/services/refactors/addOrRemoveBracesToArrowFunction.ts"() { "use strict"; Fr(), Qm(), vG = "Add or remove braces in an arrow function", Ree = _.Add_or_remove_braces_in_an_arrow_function.message, RP = { name: "Add braces to arrow function", description: _.Add_braces_to_arrow_function.message, kind: "refactor.rewrite.arrow.braces.add" }, Lk = { name: "Remove braces from arrow function", description: _.Remove_braces_from_arrow_function.message, kind: "refactor.rewrite.arrow.braces.remove" }, Vh(vG, { kinds: [Lk.kind], getEditsForAction: sje, getAvailableActions: oje }) } }), lje = {}, uje = gt({ "src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts"() { "use strict"; aje(), cje() } }); function dje(e) { let { file: t, startPosition: r, program: i, kind: o } = e, s = G1e(t, r, i); if (!s) return Je; let { selectedVariableDeclaration: l, func: f } = s, d = [], g = []; if (pv(Dk.kind, o)) { let m = l || xs(f) && wi(f.parent) ? void 0 : uo(_.Could_not_convert_to_named_function); m ? g.push({ ...Dk, notApplicableReason: m }) : d.push(Dk) } if (pv(kk.kind, o)) { let m = !l && xs(f) ? void 0 : uo(_.Could_not_convert_to_anonymous_function); m ? g.push({ ...kk, notApplicableReason: m }) : d.push(kk) } if (pv(wk.kind, o)) { let m = ms(f) ? void 0 : uo(_.Could_not_convert_to_arrow_function); m ? g.push({ ...wk, notApplicableReason: m }) : d.push(wk) } return [{ name: Oee, description: V1e, actions: d.length === 0 && e.preferences.provideRefactorNotApplicableReason ? g : d }] } function fje(e, t) { let { file: r, startPosition: i, program: o } = e, s = G1e(r, i, o); if (!s) return; let { func: l } = s, f = []; switch (t) { case kk.name: f.push(...hje(e, l)); break; case Dk.name: let d = mje(l); if (!d) return; f.push(...gje(e, l, d)); break; case wk.name: if (!ms(l)) return; f.push(...yje(e, l)); break; default: return L.fail("invalid action") }return { renameFilename: void 0, renameLocation: void 0, edits: f } } function F1e(e) { let t = !1; return e.forEachChild(function r(i) { if (H2(i)) { t = !0; return } !Yr(i) && !Jc(i) && !ms(i) && pa(i, r) }), t } function G1e(e, t, r) { let i = Vi(e, t), o = r.getTypeChecker(), s = pje(e, o, i.parent); if (s && !F1e(s.body) && !o.containsArgumentsReference(s)) return { selectedVariableDeclaration: !0, func: s }; let l = Xd(i); if (l && (ms(l) || xs(l)) && !Od(l.body, i) && !F1e(l.body) && !o.containsArgumentsReference(l)) return ms(l) && U1e(e, o, l) ? void 0 : { selectedVariableDeclaration: !1, func: l } } function _je(e) { return wi(e) || pu(e) && e.declarations.length === 1 } function pje(e, t, r) { if (!_je(r)) return; let o = (wi(r) ? r : Vo(r.declarations)).initializer; if (o && (xs(o) || ms(o) && !U1e(e, t, o))) return o } function B1e(e) { if (ot(e)) { let t = D.createReturnStatement(e), r = e.getSourceFile(); return it(t, e), pd(t), qN(e, t, r, void 0, !0), D.createBlock([t], !0) } else return e } function mje(e) { let t = e.parent; if (!wi(t) || !L6(t)) return; let r = t.parent, i = r.parent; if (!(!pu(r) || !Bc(i) || !Re(t.name))) return { variableDeclaration: t, variableDeclarationList: r, statement: i, name: t.name } } function hje(e, t) { let { file: r } = e, i = B1e(t.body), o = D.createFunctionExpression(t.modifiers, t.asteriskToken, void 0, t.typeParameters, t.parameters, t.type, i); return nr.ChangeTracker.with(e, s => s.replaceNode(r, t, o)) } function gje(e, t, r) { let { file: i } = e, o = B1e(t.body), { variableDeclaration: s, variableDeclarationList: l, statement: f, name: d } = r; D7(f); let g = wg(s) & 1 | uu(t), m = D.createModifiersFromModifierFlags(g), v = D.createFunctionDeclaration(Fn(m) ? m : void 0, t.asteriskToken, d, t.typeParameters, t.parameters, t.type, o); return l.declarations.length === 1 ? nr.ChangeTracker.with(e, S => S.replaceNode(i, f, v)) : nr.ChangeTracker.with(e, S => { S.delete(i, s), S.insertNodeAfter(i, f, v) }) } function yje(e, t) { let { file: r } = e, o = t.body.statements[0], s; vje(t.body, o) ? (s = o.expression, pd(s), r1(o, s)) : s = t.body; let l = D.createArrowFunction(t.modifiers, t.typeParameters, t.parameters, t.type, D.createToken(38), s); return nr.ChangeTracker.with(e, f => f.replaceNode(r, t, l)) } function vje(e, t) { return e.statements.length === 1 && j_(t) && !!t.expression } function U1e(e, t, r) { return !!r.name && js.Core.isSymbolReferencedInFile(r.name, t, e) } var Oee, V1e, kk, Dk, wk, bje = gt({ "src/services/refactors/convertArrowFunctionOrFunctionExpression.ts"() { "use strict"; Fr(), Qm(), Oee = "Convert arrow function or function expression", V1e = uo(_.Convert_arrow_function_or_function_expression), kk = { name: "Convert to anonymous function", description: uo(_.Convert_to_anonymous_function), kind: "refactor.rewrite.function.anonymous" }, Dk = { name: "Convert to named function", description: uo(_.Convert_to_named_function), kind: "refactor.rewrite.function.named" }, wk = { name: "Convert to arrow function", description: uo(_.Convert_to_arrow_function), kind: "refactor.rewrite.function.arrow" }, Vh(Oee, { kinds: [kk.kind, Dk.kind, wk.kind], getEditsForAction: fje, getAvailableActions: dje }) } }), Eje = {}, Tje = gt({ "src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts"() { "use strict"; bje() } }); function Sje(e) { let { file: t, startPosition: r } = e; return Cu(t) || !W1e(t, r, e.program.getTypeChecker()) ? Je : [{ name: NP, description: Fee, actions: [Gee] }] } function xje(e, t) { L.assert(t === NP, "Unexpected action name"); let { file: r, startPosition: i, program: o, cancellationToken: s, host: l } = e, f = W1e(r, i, o.getTypeChecker()); if (!f || !s) return; let d = Cje(f, o, s); return d.valid ? { renameFilename: void 0, renameLocation: void 0, edits: nr.ChangeTracker.with(e, m => Aje(r, o, l, m, f, d)) } : { edits: [] } } function Aje(e, t, r, i, o, s) { let l = s.signature, f = on(q1e(o, t, r), m => cc(m)); if (l) { let m = on(q1e(l, t, r), v => cc(v)); g(l, m) } g(o, f); let d = HD(s.functionCalls, (m, v) => Es(m.pos, v.pos)); for (let m of d) if (m.arguments && m.arguments.length) { let v = cc(Mje(o, m.arguments), !0); i.replaceNodeRange(Gn(m), Vo(m.arguments), To(m.arguments), v, { leadingTriviaOption: nr.LeadingTriviaOption.IncludeAll, trailingTriviaOption: nr.TrailingTriviaOption.Include }) } function g(m, v) { i.replaceNodeRangeWithNodes(e, Vo(m.parameters), To(m.parameters), v, { joiner: ", ", indentation: 0, leadingTriviaOption: nr.LeadingTriviaOption.IncludeAll, trailingTriviaOption: nr.TrailingTriviaOption.Include }) } } function Cje(e, t, r) { let i = Gje(e), o = Ec(e) ? Fje(e) : [], s = fA([...i, ...o], Zv), l = t.getTypeChecker(), f = Uo(s, v => js.getReferenceEntriesForNode(-1, v, t, t.getSourceFiles(), r)), d = g(f); return Ji(d.declarations, v => ya(s, v)) || (d.valid = !1), d; function g(v) { let S = { accessExpressions: [], typeUsages: [] }, x = { functionCalls: [], declarations: [], classReferences: S, valid: !0 }, A = on(i, m), w = on(o, m), C = Ec(e), P = on(i, F => Nee(F, l)); for (let F of v) { if (F.kind === js.EntryKind.Span) { x.valid = !1; continue } if (ya(P, m(F.node))) { if (Dje(F.node.parent)) { x.signature = F.node.parent; continue } let q = H1e(F); if (q) { x.functionCalls.push(q); continue } } let B = Nee(F.node, l); if (B && ya(P, B)) { let q = Pee(F); if (q) { x.declarations.push(q); continue } } if (ya(A, m(F.node)) || ZL(F.node)) { if (j1e(F)) continue; let W = Pee(F); if (W) { x.declarations.push(W); continue } let Y = H1e(F); if (Y) { x.functionCalls.push(Y); continue } } if (C && ya(w, m(F.node))) { if (j1e(F)) continue; let W = Pee(F); if (W) { x.declarations.push(W); continue } let Y = Ije(F); if (Y) { S.accessExpressions.push(Y); continue } if (sl(e.parent)) { let R = Lje(F); if (R) { S.typeUsages.push(R); continue } } } x.valid = !1 } return x } function m(v) { let S = l.getSymbolAtLocation(v); return S && ege(S, l) } } function Nee(e, t) { let r = nP(e); if (r) { let i = t.getContextualTypeForObjectLiteralElement(r), o = i?.getSymbol(); if (o && !(ac(o) & 6)) return o } } function j1e(e) { let t = e.node; if ($u(t.parent) || lm(t.parent) || Nl(t.parent) || nv(t.parent) || Mu(t.parent) || pc(t.parent)) return t } function Pee(e) { if (Kl(e.node.parent)) return e.node } function H1e(e) { if (e.node.parent) { let t = e.node, r = t.parent; switch (r.kind) { case 210: case 211: let i = zr(r, Ih); if (i && i.expression === t) return i; break; case 208: let o = zr(r, br); if (o && o.parent && o.name === t) { let l = zr(o.parent, Ih); if (l && l.expression === o) return l } break; case 209: let s = zr(r, Vs); if (s && s.parent && s.argumentExpression === t) { let l = zr(s.parent, Ih); if (l && l.expression === s) return l } break } } } function Ije(e) { if (e.node.parent) { let t = e.node, r = t.parent; switch (r.kind) { case 208: let i = zr(r, br); if (i && i.expression === t) return i; break; case 209: let o = zr(r, Vs); if (o && o.expression === t) return o; break } } } function Lje(e) { let t = e.node; if (ZT(t) === 2 || IR(t.parent)) return t } function W1e(e, t, r) { let i = nk(e, t), o = ice(i); if (!kje(i) && o && wje(o, r) && Od(o, i) && !(o.body && Od(o.body, i))) return o } function kje(e) { let t = jn(e, IA); if (t) { let r = jn(t, i => !IA(i)); return !!r && Ds(r) } return !1 } function Dje(e) { return zm(e) && (ku(e.parent) || Rd(e.parent)) } function wje(e, t) { var r; if (!Rje(e.parameters, t)) return !1; switch (e.kind) { case 259: return z1e(e) && OP(e, t); case 171: if (rs(e.parent)) { let i = Nee(e.name, t); return ((r = i?.declarations) == null ? void 0 : r.length) === 1 && OP(e, t) } return OP(e, t); case 173: return sl(e.parent) ? z1e(e.parent) && OP(e, t) : J1e(e.parent.parent) && OP(e, t); case 215: case 216: return J1e(e.parent) }return !1 } function OP(e, t) { return !!e.body && !t.isImplementationOfOverload(e) } function z1e(e) { return e.name ? !0 : !!z2(e, 88) } function Rje(e, t) { return Nje(e) >= X1e && Ji(e, r => Oje(r, t)) } function Oje(e, t) { if (Fm(e)) { let r = t.getTypeAtLocation(e); if (!t.isArrayType(r) && !t.isTupleType(r)) return !1 } return !e.modifiers && Re(e.name) } function J1e(e) { return wi(e) && kh(e) && Re(e.name) && !e.type } function Mee(e) { return e.length > 0 && H2(e[0].name) } function Nje(e) { return Mee(e) ? e.length - 1 : e.length } function K1e(e) { return Mee(e) && (e = D.createNodeArray(e.slice(1), e.hasTrailingComma)), e } function Pje(e, t) { return Re(t) && l_(t) === e ? D.createShorthandPropertyAssignment(e) : D.createPropertyAssignment(e, t) } function Mje(e, t) { let r = K1e(e.parameters), i = Fm(To(r)), o = i ? t.slice(0, r.length - 1) : t, s = on(o, (f, d) => { let g = bG(r[d]), m = Pje(g, f); return pd(m.name), yl(m) && pd(m.initializer), r1(f, m), m }); if (i && t.length >= r.length) { let f = t.slice(r.length - 1), d = D.createPropertyAssignment(bG(To(r)), D.createArrayLiteralExpression(f)); s.push(d) } return D.createObjectLiteralExpression(s, !1) } function q1e(e, t, r) { let i = t.getTypeChecker(), o = K1e(e.parameters), s = on(o, m), l = D.createObjectBindingPattern(s), f = v(o), d; Ji(o, A) && (d = D.createObjectLiteralExpression()); let g = D.createParameterDeclaration(void 0, void 0, l, void 0, f, d); if (Mee(e.parameters)) { let w = e.parameters[0], C = D.createParameterDeclaration(void 0, void 0, w.name, void 0, w.type); return pd(C.name), r1(w.name, C.name), w.type && (pd(C.type), r1(w.type, C.type)), D.createNodeArray([C, g]) } return D.createNodeArray([g]); function m(w) { let C = D.createBindingElement(void 0, void 0, bG(w), Fm(w) && A(w) ? D.createArrayLiteralExpression() : w.initializer); return pd(C), w.initializer && C.initializer && r1(w.initializer, C.initializer), C } function v(w) { let C = on(w, S); return bp(D.createTypeLiteralNode(C), 1) } function S(w) { let C = w.type; !C && (w.initializer || Fm(w)) && (C = x(w)); let P = D.createPropertySignature(void 0, bG(w), A(w) ? D.createToken(57) : w.questionToken, C); return pd(P), r1(w.name, P.name), w.type && P.type && r1(w.type, P.type), P } function x(w) { let C = i.getTypeAtLocation(w); return lk(C, w, t, r) } function A(w) { if (Fm(w)) { let C = i.getTypeAtLocation(w); return !i.isTupleType(C) } return i.isOptionalParameter(w) } } function bG(e) { return l_(e.name) } function Fje(e) { switch (e.parent.kind) { case 260: let t = e.parent; return t.name ? [t.name] : [L.checkDefined(z2(t, 88), "Nameless class declaration should be a default export")]; case 228: let i = e.parent, o = e.parent.parent, s = i.name; return s ? [s, o.name] : [o.name] } } function Gje(e) { switch (e.kind) { case 259: return e.name ? [e.name] : [L.checkDefined(z2(e, 88), "Nameless function declaration should be a default export")]; case 171: return [e.name]; case 173: let r = L.checkDefined(Yo(e, 135, e.getSourceFile()), "Constructor declaration should have constructor keyword"); return e.parent.kind === 228 ? [e.parent.parent.name, r] : [r]; case 216: return [e.parent.name]; case 215: return e.name ? [e.name, e.parent.name] : [e.parent.name]; default: return L.assertNever(e, `Unexpected function declaration kind ${e.kind}`) } } var NP, X1e, Fee, Gee, Bje = gt({ "src/services/refactors/convertParamsToDestructuredObject.ts"() { "use strict"; Fr(), Qm(), NP = "Convert parameters to destructured object", X1e = 1, Fee = uo(_.Convert_parameters_to_destructured_object), Gee = { name: NP, description: Fee, kind: "refactor.rewrite.parameters.toDestructured" }, Vh(NP, { kinds: [Gee.kind], getEditsForAction: xje, getAvailableActions: Sje }) } }), Uje = {}, Vje = gt({ "src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts"() { "use strict"; Bje() } }); function jje(e) { let { file: t, startPosition: r } = e, i = Y1e(t, r), o = Bee(i), s = { name: EG, description: TG, actions: [] }; return ar(o) && Uee(o).isValidConcatenation ? (s.actions.push(SG), [s]) : e.preferences.provideRefactorNotApplicableReason ? (s.actions.push({ ...SG, notApplicableReason: uo(_.Can_only_convert_string_concatenation) }), [s]) : Je } function Y1e(e, t) { let r = Vi(e, t), i = Bee(r); return !Uee(i).isValidConcatenation && ud(i.parent) && ar(i.parent.parent) ? i.parent.parent : r } function Hje(e, t) { let { file: r, startPosition: i } = e, o = Y1e(r, i); switch (t) { case TG: return { edits: Wje(e, o) }; default: return L.fail("invalid action") } } function Wje(e, t) { let r = Bee(t), i = e.file, o = Kje(Uee(r), i), s = eb(i.text, r.end); if (s) { let l = s[s.length - 1], f = { pos: s[0].pos, end: l.end }; return nr.ChangeTracker.with(e, d => { d.deleteRange(i, f), d.replaceNode(i, r, o) }) } else return nr.ChangeTracker.with(e, l => l.replaceNode(i, r, o)) } function zje(e) { return e.operatorToken.kind !== 63 } function Bee(e) { return jn(e.parent, r => { switch (r.kind) { case 208: case 209: return !1; case 225: case 223: return !(ar(r.parent) && zje(r.parent)); default: return "quit" } }) || e } function Uee(e) { let t = l => { if (!ar(l)) return { nodes: [l], operators: [], validOperators: !0, hasString: yo(l) || IS(l) }; let { nodes: f, operators: d, hasString: g, validOperators: m } = t(l.left); if (!(g || yo(l.right) || d3(l.right))) return { nodes: [l], operators: [], hasString: !1, validOperators: !0 }; let v = l.operatorToken.kind === 39, S = m && v; return f.push(l.right), d.push(l.operatorToken), { nodes: f, operators: d, hasString: !0, validOperators: S } }, { nodes: r, operators: i, validOperators: o, hasString: s } = t(e); return { nodes: r, operators: i, isValidConcatenation: o && s } } function Jje(e) { return e.replace(/\\.|[$`]/g, t => t[0] === "\\" ? t : "\\" + t) } function $1e(e) { let t = f2(e) || Aue(e) ? -2 : -1; return Qc(e).slice(1, t) } function Q1e(e, t) { let r = [], i = "", o = ""; for (; e < t.length;) { let s = t[e]; if (es(s)) i += s.text, o += Jje(Qc(s).slice(1, -1)), r.push(e), e++; else if (d3(s)) { i += s.head.text, o += $1e(s.head); break } else break } return [e, i, o, r] } function Kje({ nodes: e, operators: t }, r) { let i = eSe(t, r), o = tSe(e, r, i), [s, l, f, d] = Q1e(0, e); if (s === e.length) { let v = D.createNoSubstitutionTemplateLiteral(l, f); return o(d, v), v } let g = [], m = D.createTemplateHead(l, f); o(d, m); for (let v = s; v < e.length; v++) { let S = qje(e[v]); i(v, S); let [x, A, w, C] = Q1e(v + 1, e); v = x - 1; let P = v === e.length - 1; if (d3(S)) { let F = on(S.templateSpans, (B, q) => { Z1e(B); let W = q === S.templateSpans.length - 1, Y = B.literal.text + (W ? A : ""), R = $1e(B.literal) + (W ? w : ""); return D.createTemplateSpan(B.expression, P && W ? D.createTemplateTail(Y, R) : D.createTemplateMiddle(Y, R)) }); g.push(...F) } else { let F = P ? D.createTemplateTail(A, w) : D.createTemplateMiddle(A, w); o(C, F), g.push(D.createTemplateSpan(S, F)) } } return D.createTemplateExpression(m, g) } function Z1e(e) { let t = e.getSourceFile(); sk(e, e.expression, t, 3, !1), qN(e.expression, e.expression, t, 3, !1) } function qje(e) { return ud(e) && (Z1e(e), e = e.expression), e } var EG, TG, SG, eSe, tSe, Xje = gt({ "src/services/refactors/convertStringOrTemplateLiteral.ts"() { "use strict"; Fr(), Qm(), EG = "Convert to template string", TG = uo(_.Convert_to_template_string), SG = { name: EG, description: TG, kind: "refactor.rewrite.string" }, Vh(EG, { kinds: [SG.kind], getEditsForAction: Hje, getAvailableActions: jje }), eSe = (e, t) => (r, i) => { r < e.length && sk(e[r], i, t, 3, !1) }, tSe = (e, t, r) => (i, o) => { for (; i.length > 0;) { let s = i.shift(); sk(e[s], o, t, 3, !1), r(s, o) } } } }), Yje = {}, $je = gt({ "src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts"() { "use strict"; Xje() } }); function Qje(e) { let t = nSe(e, e.triggerReason === "invoked"); return t ? $m(t) ? e.preferences.provideRefactorNotApplicableReason ? [{ name: PP, description: CG, actions: [{ ...IG, notApplicableReason: t.error }] }] : Je : [{ name: PP, description: CG, actions: [IG] }] : Je } function Zje(e, t) { let r = nSe(e); return L.assert(r && !$m(r), "Expected applicable refactor info"), { edits: nr.ChangeTracker.with(e, o => sHe(e.file, e.program.getTypeChecker(), o, r, t)), renameFilename: void 0, renameLocation: void 0 } } function xG(e) { return ar(e) || b2(e) } function eHe(e) { return Ol(e) || j_(e) || Bc(e) } function AG(e) { return xG(e) || eHe(e) } function nSe(e, t = !0) { let { file: r, program: i } = e, o = QS(e), s = o.length === 0; if (s && !t) return; let l = Vi(r, o.start), f = p7(r, o.start + o.length), d = Wc(l.pos, f && f.end >= l.pos ? f.getEnd() : l.getEnd()), g = s ? aHe(l) : iHe(l, d), m = g && AG(g) ? oHe(g) : void 0; if (!m) return { error: uo(_.Could_not_find_convertible_access_expression) }; let v = i.getTypeChecker(); return b2(m) ? tHe(m, v) : nHe(m) } function tHe(e, t) { let r = e.condition, i = jee(e.whenTrue); if (!i || t.isNullableType(t.getTypeAtLocation(i))) return { error: uo(_.Could_not_find_convertible_access_expression) }; if ((br(r) || Re(r)) && Vee(r, i.expression)) return { finalExpression: i, occurrences: [r], expression: e }; if (ar(r)) { let o = rSe(i.expression, r); return o ? { finalExpression: i, occurrences: o, expression: e } : { error: uo(_.Could_not_find_matching_access_expressions) } } } function nHe(e) { if (e.operatorToken.kind !== 55) return { error: uo(_.Can_only_convert_logical_AND_access_chains) }; let t = jee(e.right); if (!t) return { error: uo(_.Could_not_find_convertible_access_expression) }; let r = rSe(t.expression, e.left); return r ? { finalExpression: t, occurrences: r, expression: e } : { error: uo(_.Could_not_find_matching_access_expressions) } } function rSe(e, t) { let r = []; for (; ar(t) && t.operatorToken.kind === 55;) { let o = Vee(vs(e), vs(t.right)); if (!o) break; r.push(o), e = o, t = t.left } let i = Vee(e, t); return i && r.push(i), r.length > 0 ? r : void 0 } function Vee(e, t) { if (!(!Re(t) && !br(t) && !Vs(t))) return rHe(e, t) ? t : void 0 } function rHe(e, t) { for (; (Pa(e) || br(e) || Vs(e)) && Rk(e) !== Rk(t);)e = e.expression; for (; br(e) && br(t) || Vs(e) && Vs(t);) { if (Rk(e) !== Rk(t)) return !1; e = e.expression, t = t.expression } return Re(e) && Re(t) && e.getText() === t.getText() } function Rk(e) { if (Re(e) || yf(e)) return e.getText(); if (br(e)) return Rk(e.name); if (Vs(e)) return Rk(e.argumentExpression) } function iHe(e, t) { for (; e.parent;) { if (AG(e) && t.length !== 0 && e.end >= t.start + t.length) return e; e = e.parent } } function aHe(e) { for (; e.parent;) { if (AG(e) && !AG(e.parent)) return e; e = e.parent } } function oHe(e) { if (xG(e)) return e; if (Bc(e)) { let t = HA(e), r = t?.initializer; return r && xG(r) ? r : void 0 } return e.expression && xG(e.expression) ? e.expression : void 0 } function jee(e) { if (e = vs(e), ar(e)) return jee(e.left); if ((br(e) || Vs(e) || Pa(e)) && !Jl(e)) return e } function iSe(e, t, r) { if (br(t) || Vs(t) || Pa(t)) { let i = iSe(e, t.expression, r), o = r.length > 0 ? r[r.length - 1] : void 0, s = o?.getText() === t.expression.getText(); if (s && r.pop(), Pa(t)) return s ? D.createCallChain(i, D.createToken(28), t.typeArguments, t.arguments) : D.createCallChain(i, t.questionDotToken, t.typeArguments, t.arguments); if (br(t)) return s ? D.createPropertyAccessChain(i, D.createToken(28), t.name) : D.createPropertyAccessChain(i, t.questionDotToken, t.name); if (Vs(t)) return s ? D.createElementAccessChain(i, D.createToken(28), t.argumentExpression) : D.createElementAccessChain(i, t.questionDotToken, t.argumentExpression) } return t } function sHe(e, t, r, i, o) { let { finalExpression: s, occurrences: l, expression: f } = i, d = l[l.length - 1], g = iSe(t, s, l); g && (br(g) || Vs(g) || Pa(g)) && (ar(f) ? r.replaceNodeRange(e, d, s, g) : b2(f) && r.replaceNode(e, f, D.createBinaryExpression(g, D.createToken(60), f.whenFalse))) } var PP, CG, IG, cHe = gt({ "src/services/refactors/convertToOptionalChainExpression.ts"() { "use strict"; Fr(), Qm(), PP = "Convert to optional chain expression", CG = uo(_.Convert_to_optional_chain_expression), IG = { name: PP, description: CG, kind: "refactor.rewrite.expression.optionalChain" }, Vh(PP, { kinds: [IG.kind], getEditsForAction: Zje, getAvailableActions: Qje }) } }), lHe = {}, uHe = gt({ "src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts"() { "use strict"; cHe() } }); function aSe(e) { let t = e.kind, r = Hee(e.file, QS(e), e.triggerReason === "invoked"), i = r.targetRange; if (i === void 0) { if (!r.errors || r.errors.length === 0 || !e.preferences.provideRefactorNotApplicableReason) return Je; let A = []; return pv(px.kind, t) && A.push({ name: fx, description: px.description, actions: [{ ...px, notApplicableReason: x(r.errors) }] }), pv(_x.kind, t) && A.push({ name: fx, description: _x.description, actions: [{ ..._x, notApplicableReason: x(r.errors) }] }), A } let o = hHe(i, e); if (o === void 0) return Je; let s = [], l = new Map, f, d = [], g = new Map, m, v = 0; for (let { functionExtraction: A, constantExtraction: w } of o) { if (pv(px.kind, t)) { let C = A.description; A.errors.length === 0 ? l.has(C) || (l.set(C, !0), s.push({ description: C, name: `function_scope_${v}`, kind: px.kind })) : f || (f = { description: C, name: `function_scope_${v}`, notApplicableReason: x(A.errors), kind: px.kind }) } if (pv(_x.kind, t)) { let C = w.description; w.errors.length === 0 ? g.has(C) || (g.set(C, !0), d.push({ description: C, name: `constant_scope_${v}`, kind: _x.kind })) : m || (m = { description: C, name: `constant_scope_${v}`, notApplicableReason: x(w.errors), kind: _x.kind }) } v++ } let S = []; return s.length ? S.push({ name: fx, description: uo(_.Extract_function), actions: s }) : e.preferences.provideRefactorNotApplicableReason && f && S.push({ name: fx, description: uo(_.Extract_function), actions: [f] }), d.length ? S.push({ name: fx, description: uo(_.Extract_constant), actions: d }) : e.preferences.provideRefactorNotApplicableReason && m && S.push({ name: fx, description: uo(_.Extract_constant), actions: [m] }), S.length ? S : Je; function x(A) { let w = A[0].messageText; return typeof w != "string" && (w = w.messageText), w } } function oSe(e, t) { let i = Hee(e.file, QS(e)).targetRange, o = /^function_scope_(\d+)$/.exec(t); if (o) { let l = +o[1]; return L.assert(isFinite(l), "Expected to parse a finite number from the function scope index"), pHe(i, e, l) } let s = /^constant_scope_(\d+)$/.exec(t); if (s) { let l = +s[1]; return L.assert(isFinite(l), "Expected to parse a finite number from the constant scope index"), mHe(i, e, l) } L.fail("Unrecognized action name") } function Hee(e, t, r = !0) { let { length: i } = t; if (i === 0 && !r) return { errors: [al(e, t.start, i, vl.cannotExtractEmpty)] }; let o = i === 0 && r, s = Ihe(e, t.start), l = p7(e, wl(t)), f = s && l && r ? dHe(s, l, e) : t, d = o ? MHe(s) : HN(s, e, f), g = o ? d : HN(l, e, f), m = 0, v; if (!d || !g) return { errors: [al(e, t.start, i, vl.cannotExtractRange)] }; if (d.flags & 8388608) return { errors: [al(e, t.start, i, vl.cannotExtractJSDoc)] }; if (d.parent !== g.parent) return { errors: [al(e, t.start, i, vl.cannotExtractRange)] }; if (d !== g) { if (!cSe(d.parent)) return { errors: [al(e, t.start, i, vl.cannotExtractRange)] }; let F = []; for (let B of d.parent.statements) { if (B === d || F.length) { let q = P(B); if (q) return { errors: q }; F.push(B) } if (B === g) break } return F.length ? { targetRange: { range: F, facts: m, thisNode: v } } : { errors: [al(e, t.start, i, vl.cannotExtractRange)] } } if (j_(d) && !d.expression) return { errors: [al(e, t.start, i, vl.cannotExtractRange)] }; let S = A(d), x = w(S) || P(S); if (x) return { errors: x }; return { targetRange: { range: fHe(S), facts: m, thisNode: v } }; function A(F) { if (j_(F)) { if (F.expression) return F.expression } else if (Bc(F) || pu(F)) { let B = Bc(F) ? F.declarationList.declarations : F.declarations, q = 0, W; for (let Y of B) Y.initializer && (q++, W = Y.initializer); if (q === 1) return W } else if (wi(F) && F.initializer) return F.initializer; return F } function w(F) { if (Re(Ol(F) ? F.expression : F)) return [hr(F, vl.cannotExtractIdentifier)] } function C(F, B) { let q = F; for (; q !== B;) { if (q.kind === 169) { Ca(q) && (m |= 32); break } else if (q.kind === 166) { Xd(q).kind === 173 && (m |= 32); break } else q.kind === 171 && Ca(q) && (m |= 32); q = q.parent } } function P(F) { let B; if (($ => { $[$.None = 0] = "None", $[$.Break = 1] = "Break", $[$.Continue = 2] = "Continue", $[$.Return = 4] = "Return" })(B || (B = {})), L.assert(F.pos <= F.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)"), L.assert(!vp(F.pos), "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)"), !ca(F) && !(Dh(F) && sSe(F)) && !qee(F)) return [hr(F, vl.statementOrExpressionExpected)]; if (F.flags & 16777216) return [hr(F, vl.cannotExtractAmbientBlock)]; let q = Zc(F); q && C(F, q); let W, Y = 4, R; if (ie(F), m & 8) { let $ = Ku(F, !1, !1); ($.kind === 259 || $.kind === 171 && $.parent.kind === 207 || $.kind === 215) && (m |= 16) } return W; function ie($) { if (W) return !0; if (Kl($)) { let Z = $.kind === 257 ? $.parent.parent : $; if (Mr(Z, 1)) return (W || (W = [])).push(hr($, vl.cannotExtractExportedEntity)), !0 } switch ($.kind) { case 269: return (W || (W = [])).push(hr($, vl.cannotExtractImport)), !0; case 274: return (W || (W = [])).push(hr($, vl.cannotExtractExportedEntity)), !0; case 106: if ($.parent.kind === 210) { let Z = Zc($); if (Z === void 0 || Z.pos < t.start || Z.end >= t.start + t.length) return (W || (W = [])).push(hr($, vl.cannotExtractSuper)), !0 } else m |= 8, v = $; break; case 216: pa($, function Z(U) { if (H2(U)) m |= 8, v = $; else { if (Yr(U) || Ia(U) && !xs(U)) return !1; pa(U, Z) } }); case 260: case 259: Li($.parent) && $.parent.externalModuleIndicator === void 0 && (W || (W = [])).push(hr($, vl.functionWillNotBeVisibleInTheNewScope)); case 228: case 215: case 171: case 173: case 174: case 175: return !1 }let fe = Y; switch ($.kind) { case 242: Y &= -5; break; case 255: Y = 0; break; case 238: $.parent && $.parent.kind === 255 && $.parent.finallyBlock === $ && (Y = 4); break; case 293: case 292: Y |= 1; break; default: Wy($, !1) && (Y |= 3); break }switch ($.kind) { case 194: case 108: m |= 8, v = $; break; case 253: { let Z = $.label; (R || (R = [])).push(Z.escapedText), pa($, ie), R.pop(); break } case 249: case 248: { let Z = $.label; Z ? ya(R, Z.escapedText) || (W || (W = [])).push(hr($, vl.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)) : Y & ($.kind === 249 ? 1 : 2) || (W || (W = [])).push(hr($, vl.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); break } case 220: m |= 4; break; case 226: m |= 2; break; case 250: Y & 4 ? m |= 1 : (W || (W = [])).push(hr($, vl.cannotExtractRangeContainingConditionalReturnStatement)); break; default: pa($, ie); break }Y = fe } } } function dHe(e, t, r) { let i = e.getStart(r), o = t.getEnd(); return r.text.charCodeAt(o) === 59 && o++, { start: i, length: o - i } } function fHe(e) { if (ca(e)) return [e]; if (Dh(e)) return Ol(e.parent) ? [e.parent] : e; if (qee(e)) return e } function Wee(e) { return xs(e) ? Hj(e.body) : Ds(e) || Li(e) || Tp(e) || Yr(e) } function _He(e) { let t = jh(e.range) ? Vo(e.range) : e.range; if (e.facts & 8 && !(e.facts & 16)) { let i = Zc(t); if (i) { let o = jn(t, Ds); return o ? [o, i] : [i] } } let r = []; for (; ;)if (t = t.parent, t.kind === 166 && (t = jn(t, i => Ds(i)).parent), Wee(t) && (r.push(t), t.kind === 308)) return r } function pHe(e, t, r) { let { scopes: i, readsAndWrites: { target: o, usagesPerScope: s, functionErrorsPerScope: l, exposedVariableDeclarations: f } } = zee(e, t); return L.assert(!l[r].length, "The extraction went missing? How?"), t.cancellationToken.throwIfCancellationRequested(), THe(o, i[r], s[r], f, e, t) } function mHe(e, t, r) { let { scopes: i, readsAndWrites: { target: o, usagesPerScope: s, constantErrorsPerScope: l, exposedVariableDeclarations: f } } = zee(e, t); L.assert(!l[r].length, "The extraction went missing? How?"), L.assert(f.length === 0, "Extract constant accepted a range containing a variable declaration?"), t.cancellationToken.throwIfCancellationRequested(); let d = ot(o) ? o : o.statements[0].expression; return SHe(d, i[r], s[r], e.facts, t) } function hHe(e, t) { let { scopes: r, readsAndWrites: { functionErrorsPerScope: i, constantErrorsPerScope: o } } = zee(e, t); return r.map((l, f) => { let d = gHe(l), g = yHe(l), m = Ds(l) ? vHe(l) : Yr(l) ? bHe(l) : EHe(l), v, S; return m === 1 ? (v = jm(uo(_.Extract_to_0_in_1_scope), [d, "global"]), S = jm(uo(_.Extract_to_0_in_1_scope), [g, "global"])) : m === 0 ? (v = jm(uo(_.Extract_to_0_in_1_scope), [d, "module"]), S = jm(uo(_.Extract_to_0_in_1_scope), [g, "module"])) : (v = jm(uo(_.Extract_to_0_in_1), [d, m]), S = jm(uo(_.Extract_to_0_in_1), [g, m])), f === 0 && !Yr(l) && (S = jm(uo(_.Extract_to_0_in_enclosing_scope), [g])), { functionExtraction: { description: v, errors: i[f] }, constantExtraction: { description: S, errors: o[f] } } }) } function zee(e, t) { let { file: r } = t, i = _He(e), o = NHe(e, r), s = PHe(e, i, o, r, t.program.getTypeChecker(), t.cancellationToken); return { scopes: i, readsAndWrites: s } } function gHe(e) { return Ds(e) ? "inner function" : Yr(e) ? "method" : "function" } function yHe(e) { return Yr(e) ? "readonly field" : "constant" } function vHe(e) { switch (e.kind) { case 173: return "constructor"; case 215: case 259: return e.name ? `function '${e.name.text}'` : X7; case 216: return "arrow function"; case 171: return `method '${e.name.getText()}'`; case 174: return `'get ${e.name.getText()}'`; case 175: return `'set ${e.name.getText()}'`; default: throw L.assertNever(e, `Unexpected scope kind ${e.kind}`) } } function bHe(e) { return e.kind === 260 ? e.name ? `class '${e.name.text}'` : "anonymous class declaration" : e.name ? `class expression '${e.name.text}'` : "anonymous class expression" } function EHe(e) { return e.kind === 265 ? `namespace '${e.parent.name.getText()}'` : e.externalModuleIndicator ? 0 : 1 } function THe(e, t, { usages: r, typeParameterUsages: i, substitutions: o }, s, l, f) { let d = f.program.getTypeChecker(), g = Do(f.program.getCompilerOptions()), m = gu.createImportAdder(f.file, f.program, f.preferences, f.host), v = t.getSourceFile(), S = i1(Yr(t) ? "newMethod" : "newFunction", v), x = Yn(t), A = D.createIdentifier(S), w, C = [], P = [], F; r.forEach((Ce, Ie) => { let Be; if (!x) { let Le = d.getTypeOfSymbolAtLocation(Ce.symbol, Ce.node); Le = d.getBaseTypeOfLiteralType(Le), Be = gu.typeToAutoImportableTypeNode(d, m, Le, t, g, 1) } let Ne = D.createParameterDeclaration(void 0, void 0, Ie, void 0, Be); C.push(Ne), Ce.usage === 2 && (F || (F = [])).push(Ce), P.push(D.createIdentifier(Ie)) }); let q = lo(i.values(), Ce => ({ type: Ce, declaration: AHe(Ce) })).sort(CHe), W = q.length === 0 ? void 0 : q.map(Ce => Ce.declaration), Y = W !== void 0 ? W.map(Ce => D.createTypeReferenceNode(Ce.name, void 0)) : void 0; if (ot(e) && !x) { let Ce = d.getContextualType(e); w = d.typeToTypeNode(Ce, t, 1) } let { body: R, returnValueProperty: ie } = LHe(e, s, F, o, !!(l.facts & 1)); pd(R); let $, fe = !!(l.facts & 16); if (Yr(t)) { let Ce = x ? [] : [D.createModifier(121)]; l.facts & 32 && Ce.push(D.createModifier(124)), l.facts & 4 && Ce.push(D.createModifier(132)), $ = D.createMethodDeclaration(Ce.length ? Ce : void 0, l.facts & 2 ? D.createToken(41) : void 0, A, void 0, W, C, w, R) } else fe && C.unshift(D.createParameterDeclaration(void 0, void 0, "this", void 0, d.typeToTypeNode(d.getTypeAtLocation(l.thisNode), t, 1), void 0)), $ = D.createFunctionDeclaration(l.facts & 4 ? [D.createToken(132)] : void 0, l.facts & 2 ? D.createToken(41) : void 0, A, W, C, w, R); let Z = nr.ChangeTracker.fromContext(f), U = (jh(l.range) ? To(l.range) : l.range).end, re = wHe(U, t); re ? Z.insertNodeBefore(f.file, re, $, !0) : Z.insertNodeAtEndOfScope(f.file, t, $), m.writeFixes(Z); let le = [], _e = IHe(t, l, S); fe && P.unshift(D.createIdentifier("this")); let ge = D.createCallExpression(fe ? D.createPropertyAccessExpression(_e, "call") : _e, Y, P); if (l.facts & 2 && (ge = D.createYieldExpression(D.createToken(41), ge)), l.facts & 4 && (ge = D.createAwaitExpression(ge)), Kee(e) && (ge = D.createJsxExpression(void 0, ge)), s.length && !F) if (L.assert(!ie, "Expected no returnValueProperty"), L.assert(!(l.facts & 1), "Expected RangeFacts.HasReturn flag to be unset"), s.length === 1) { let Ce = s[0]; le.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(cc(Ce.name), void 0, cc(Ce.type), ge)], Ce.parent.flags))) } else { let Ce = [], Ie = [], Be = s[0].parent.flags, Ne = !1; for (let Ye of s) { Ce.push(D.createBindingElement(void 0, void 0, cc(Ye.name))); let _t = d.typeToTypeNode(d.getBaseTypeOfLiteralType(d.getTypeAtLocation(Ye)), t, 1); Ie.push(D.createPropertySignature(void 0, Ye.symbol.name, void 0, _t)), Ne = Ne || Ye.type !== void 0, Be = Be & Ye.parent.flags } let Le = Ne ? D.createTypeLiteralNode(Ie) : void 0; Le && Jn(Le, 1), le.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(D.createObjectBindingPattern(Ce), void 0, Le, ge)], Be))) } else if (s.length || F) { if (s.length) for (let Ie of s) { let Be = Ie.parent.flags; Be & 2 && (Be = Be & -3 | 1), le.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(Ie.symbol.name, void 0, Pe(Ie.type))], Be))) } ie && le.push(D.createVariableStatement(void 0, D.createVariableDeclarationList([D.createVariableDeclaration(ie, void 0, Pe(w))], 1))); let Ce = Jee(s, F); ie && Ce.unshift(D.createShorthandPropertyAssignment(ie)), Ce.length === 1 ? (L.assert(!ie, "Shouldn't have returnValueProperty here"), le.push(D.createExpressionStatement(D.createAssignment(Ce[0].name, ge))), l.facts & 1 && le.push(D.createReturnStatement())) : (le.push(D.createExpressionStatement(D.createAssignment(D.createObjectLiteralExpression(Ce), ge))), ie && le.push(D.createReturnStatement(D.createIdentifier(ie)))) } else l.facts & 1 ? le.push(D.createReturnStatement(ge)) : jh(l.range) ? le.push(D.createExpressionStatement(ge)) : le.push(ge); jh(l.range) ? Z.replaceNodeRangeWithNodes(f.file, Vo(l.range), To(l.range), le) : Z.replaceNodeWithNodes(f.file, l.range, le); let X = Z.getChanges(), we = (jh(l.range) ? Vo(l.range) : l.range).getSourceFile().fileName, ke = KN(X, we, S, !1); return { renameFilename: we, renameLocation: ke, edits: X }; function Pe(Ce) { if (Ce === void 0) return; let Ie = cc(Ce), Be = Ie; for (; wS(Be);)Be = Be.type; return DS(Be) && wr(Be.types, Ne => Ne.kind === 155) ? Ie : D.createUnionTypeNode([Ie, D.createKeywordTypeNode(155)]) } } function SHe(e, t, { substitutions: r }, i, o) { let s = o.program.getTypeChecker(), l = t.getSourceFile(), f = br(e) && !Yr(t) && !s.resolveName(e.name.text, e, 111551, !1) && !pi(e.name) && !nb(e.name) ? e.name.text : i1(Yr(t) ? "newProperty" : "newLocal", l), d = Yn(t), g = d || !s.isContextSensitive(e) ? void 0 : s.typeToTypeNode(s.getContextualType(e), t, 1), m = kHe(vs(e), r); ({ variableType: g, initializer: m } = w(g, m)), pd(m); let v = nr.ChangeTracker.fromContext(o); if (Yr(t)) { L.assert(!d, "Cannot extract to a JS class"); let C = []; C.push(D.createModifier(121)), i & 32 && C.push(D.createModifier(124)), C.push(D.createModifier(146)); let P = D.createPropertyDeclaration(C, f, void 0, g, m), F = D.createPropertyAccessExpression(i & 32 ? D.createIdentifier(t.name.getText()) : D.createThis(), D.createIdentifier(f)); Kee(e) && (F = D.createJsxExpression(void 0, F)); let B = e.pos, q = RHe(B, t); v.insertNodeBefore(o.file, q, P, !0), v.replaceNode(o.file, e, F) } else { let C = D.createVariableDeclaration(f, void 0, g, m), P = xHe(e, t); if (P) { v.insertNodeBefore(o.file, P, C); let F = D.createIdentifier(f); v.replaceNode(o.file, e, F) } else if (e.parent.kind === 241 && t === jn(e, Wee)) { let F = D.createVariableStatement(void 0, D.createVariableDeclarationList([C], 2)); v.replaceNode(o.file, e.parent, F) } else { let F = D.createVariableStatement(void 0, D.createVariableDeclarationList([C], 2)), B = OHe(e, t); if (B.pos === 0 ? v.insertNodeAtTopOfFile(o.file, F, !1) : v.insertNodeBefore(o.file, B, F, !1), e.parent.kind === 241) v.delete(o.file, e.parent); else { let q = D.createIdentifier(f); Kee(e) && (q = D.createJsxExpression(void 0, q)), v.replaceNode(o.file, e, q) } } } let S = v.getChanges(), x = e.getSourceFile().fileName, A = KN(S, x, f, !0); return { renameFilename: x, renameLocation: A, edits: S }; function w(C, P) { if (C === void 0) return { variableType: C, initializer: P }; if (!ms(P) && !xs(P) || P.typeParameters) return { variableType: C, initializer: P }; let F = s.getTypeAtLocation(e), B = Wp(s.getSignaturesOfType(F, 0)); if (!B) return { variableType: C, initializer: P }; if (B.getTypeParameters()) return { variableType: C, initializer: P }; let q = [], W = !1; for (let Y of P.parameters) if (Y.type) q.push(Y); else { let R = s.getTypeAtLocation(Y); R === s.getAnyType() && (W = !0), q.push(D.updateParameterDeclaration(Y, Y.modifiers, Y.dotDotDotToken, Y.name, Y.questionToken, Y.type || s.typeToTypeNode(R, t, 1), Y.initializer)) } if (W) return { variableType: C, initializer: P }; if (C = void 0, xs(P)) P = D.updateArrowFunction(P, g_(e) ? uT(e) : void 0, P.typeParameters, q, P.type || s.typeToTypeNode(B.getReturnType(), t, 1), P.equalsGreaterThanToken, P.body); else { if (B && B.thisParameter) { let Y = Sl(q); if (!Y || Re(Y.name) && Y.name.escapedText !== "this") { let R = s.getTypeOfSymbolAtLocation(B.thisParameter, e); q.splice(0, 0, D.createParameterDeclaration(void 0, void 0, "this", void 0, s.typeToTypeNode(R, t, 1))) } } P = D.updateFunctionExpression(P, g_(e) ? uT(e) : void 0, P.asteriskToken, P.name, P.typeParameters, q, P.type || s.typeToTypeNode(B.getReturnType(), t, 1), P.body) } return { variableType: C, initializer: P } } } function xHe(e, t) { let r; for (; e !== void 0 && e !== t;) { if (wi(e) && e.initializer === r && pu(e.parent) && e.parent.declarations.length > 1) return e; r = e, e = e.parent } } function AHe(e) { let t, r = e.symbol; if (r && r.declarations) for (let i of r.declarations) (t === void 0 || i.pos < t.pos) && (t = i); return t } function CHe({ type: e, declaration: t }, { type: r, declaration: i }) { return Cae(t, i, "pos", Es) || su(e.symbol ? e.symbol.getName() : "", r.symbol ? r.symbol.getName() : "") || Es(e.id, r.id) } function IHe(e, t, r) { let i = D.createIdentifier(r); if (Yr(e)) { let o = t.facts & 32 ? D.createIdentifier(e.name.text) : D.createThis(); return D.createPropertyAccessExpression(o, i) } else return i } function LHe(e, t, r, i, o) { let s = r !== void 0 || t.length > 0; if (Va(e) && !s && i.size === 0) return { body: D.createBlock(e.statements, !0), returnValueProperty: void 0 }; let l, f = !1, d = D.createNodeArray(Va(e) ? e.statements.slice(0) : [ca(e) ? e : D.createReturnStatement(vs(e))]); if (s || i.size) { let m = On(d, g, ca).slice(); if (s && !o && ca(e)) { let v = Jee(t, r); v.length === 1 ? m.push(D.createReturnStatement(v[0].name)) : m.push(D.createReturnStatement(D.createObjectLiteralExpression(v))) } return { body: D.createBlock(m, !0), returnValueProperty: l } } else return { body: D.createBlock(d, !0), returnValueProperty: void 0 }; function g(m) { if (!f && j_(m) && s) { let v = Jee(t, r); return m.expression && (l || (l = "__return"), v.unshift(D.createPropertyAssignment(l, $e(m.expression, g, ot)))), v.length === 1 ? D.createReturnStatement(v[0].name) : D.createReturnStatement(D.createObjectLiteralExpression(v)) } else { let v = f; f = f || Ds(m) || Yr(m); let S = i.get(zo(m).toString()), x = S ? cc(S) : xn(m, g, Bh); return f = v, x } } } function kHe(e, t) { return t.size ? r(e) : e; function r(i) { let o = t.get(zo(i).toString()); return o ? cc(o) : xn(i, r, Bh) } } function DHe(e) { if (Ds(e)) { let t = e.body; if (Va(t)) return t.statements } else { if (Tp(e) || Li(e)) return e.statements; if (Yr(e)) return e.members; } return Je } function wHe(e, t) { return wr(DHe(t), r => r.pos >= e && Ds(r) && !Ec(r)) } function RHe(e, t) { let r = t.members; L.assert(r.length > 0, "Found no members"); let i, o = !0; for (let s of r) { if (s.pos > e) return i || r[0]; if (o && !Na(s)) { if (i !== void 0) return s; o = !1 } i = s } return i === void 0 ? L.fail() : i } function OHe(e, t) { L.assert(!Yr(t)); let r; for (let i = e; i !== t; i = i.parent)Wee(i) && (r = i); for (let i = (r || e).parent; ; i = i.parent) { if (cSe(i)) { let o; for (let s of i.statements) { if (s.pos > e.pos) break; o = s } return !o && CL(i) ? (L.assert(pO(i.parent.parent), "Grandparent isn't a switch statement"), i.parent.parent) : L.checkDefined(o, "prevStatement failed to get set") } L.assert(i !== t, "Didn't encounter a block-like before encountering scope") } } function Jee(e, t) { let r = on(e, o => D.createShorthandPropertyAssignment(o.symbol.name)), i = on(t, o => D.createShorthandPropertyAssignment(o.symbol.name)); return r === void 0 ? i : i === void 0 ? r : r.concat(i) } function jh(e) { return ba(e) } function NHe(e, t) { return jh(e.range) ? { pos: Vo(e.range).getStart(t), end: To(e.range).getEnd() } : e.range } function PHe(e, t, r, i, o, s) { let l = new Map, f = [], d = [], g = [], m = [], v = [], S = new Map, x = [], A, w = jh(e.range) ? e.range.length === 1 && Ol(e.range[0]) ? e.range[0].expression : void 0 : e.range, C; if (w === void 0) { let re = e.range, le = Vo(re).getStart(), _e = To(re).end; C = al(i, le, _e - le, vl.expressionExpected) } else o.getTypeAtLocation(w).flags & 147456 && (C = hr(w, vl.uselessConstantType)); for (let re of t) { f.push({ usages: new Map, typeParameterUsages: new Map, substitutions: new Map }), d.push(new Map), g.push([]); let le = []; C && le.push(C), Yr(re) && Yn(re) && le.push(hr(re, vl.cannotExtractToJSClass)), xs(re) && !Va(re.body) && le.push(hr(re, vl.cannotExtractToExpressionArrowFunction)), m.push(le) } let P = new Map, F = jh(e.range) ? D.createBlock(e.range) : e.range, B = jh(e.range) ? Vo(e.range) : e.range, q = W(B); if (R(F), q && !jh(e.range) && !Sp(e.range)) { let re = o.getContextualType(e.range); Y(re) } if (l.size > 0) { let re = new Map, le = 0; for (let _e = B; _e !== void 0 && le < t.length; _e = _e.parent)if (_e === t[le] && (re.forEach((ge, X) => { f[le].typeParameterUsages.set(X, ge) }), le++), mH(_e)) for (let ge of jy(_e)) { let X = o.getTypeAtLocation(ge); l.has(X.id.toString()) && re.set(X.id.toString(), X) } L.assert(le === t.length, "Should have iterated all scopes") } if (v.length) { let re = pH(t[0], t[0].parent) ? t[0] : tm(t[0]); pa(re, fe) } for (let re = 0; re < t.length; re++) { let le = f[re]; if (re > 0 && (le.usages.size > 0 || le.typeParameterUsages.size > 0)) { let X = jh(e.range) ? e.range[0] : e.range; m[re].push(hr(X, vl.cannotAccessVariablesFromNestedScopes)) } e.facts & 16 && Yr(t[re]) && g[re].push(hr(e.thisNode, vl.cannotExtractFunctionsContainingThisToMethod)); let _e = !1, ge; if (f[re].usages.forEach(X => { X.usage === 2 && (_e = !0, X.symbol.flags & 106500 && X.symbol.valueDeclaration && cd(X.symbol.valueDeclaration, 64) && (ge = X.symbol.valueDeclaration)) }), L.assert(jh(e.range) || x.length === 0, "No variable declarations expected if something was extracted"), _e && !jh(e.range)) { let X = hr(e.range, vl.cannotWriteInExpression); g[re].push(X), m[re].push(X) } else if (ge && re > 0) { let X = hr(ge, vl.cannotExtractReadonlyPropertyInitializerOutsideConstructor); g[re].push(X), m[re].push(X) } else if (A) { let X = hr(A, vl.cannotExtractExportedEntity); g[re].push(X), m[re].push(X) } } return { target: F, usagesPerScope: f, functionErrorsPerScope: g, constantErrorsPerScope: m, exposedVariableDeclarations: x }; function W(re) { return !!jn(re, le => mH(le) && jy(le).length !== 0) } function Y(re) { let le = o.getSymbolWalker(() => (s.throwIfCancellationRequested(), !0)), { visitedTypes: _e } = le.walkType(re); for (let ge of _e) ge.isTypeParameter() && l.set(ge.id.toString(), ge) } function R(re, le = 1) { if (q) { let _e = o.getTypeAtLocation(re); Y(_e) } if (Kl(re) && re.symbol && v.push(re), Iu(re)) R(re.left, 2), R(re.right); else if (mse(re)) R(re.operand, 2); else if (br(re) || Vs(re)) pa(re, R); else if (Re(re)) { if (!re.parent || Yu(re.parent) && re !== re.parent.left || br(re.parent) && re !== re.parent.expression) return; ie(re, le, Gm(re)) } else pa(re, R) } function ie(re, le, _e) { let ge = $(re, le, _e); if (ge) for (let X = 0; X < t.length; X++) { let Ve = d[X].get(ge); Ve && f[X].substitutions.set(zo(re).toString(), Ve) } } function $(re, le, _e) { let ge = Z(re); if (!ge) return; let X = $a(ge).toString(), Ve = P.get(X); if (Ve && Ve >= le) return X; if (P.set(X, le), Ve) { for (let Pe of f) Pe.usages.get(re.text) && Pe.usages.set(re.text, { usage: le, symbol: ge, node: re }); return X } let we = ge.getDeclarations(), ke = we && wr(we, Pe => Pe.getSourceFile() === i); if (ke && !ON(r, ke.getStart(), ke.end)) { if (e.facts & 2 && le === 2) { let Pe = hr(re, vl.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators); for (let Ce of g) Ce.push(Pe); for (let Ce of m) Ce.push(Pe) } for (let Pe = 0; Pe < t.length; Pe++) { let Ce = t[Pe]; if (o.resolveName(ge.name, Ce, ge.flags, !1) !== ge && !d[Pe].has(X)) { let Be = U(ge.exportSymbol || ge, Ce, _e); if (Be) d[Pe].set(X, Be); else if (_e) { if (!(ge.flags & 262144)) { let Ne = hr(re, vl.typeWillNotBeVisibleInTheNewScope); g[Pe].push(Ne), m[Pe].push(Ne) } } else f[Pe].usages.set(re.text, { usage: le, symbol: ge, node: re }) } } return X } } function fe(re) { if (re === e.range || jh(e.range) && e.range.indexOf(re) >= 0) return; let le = Re(re) ? Z(re) : o.getSymbolAtLocation(re); if (le) { let _e = wr(v, ge => ge.symbol === le); if (_e) if (wi(_e)) { let ge = _e.symbol.id.toString(); S.has(ge) || (x.push(_e), S.set(ge, !0)) } else A = A || _e } pa(re, fe) } function Z(re) { return re.parent && xf(re.parent) && re.parent.name === re ? o.getShorthandAssignmentValueSymbol(re.parent) : o.getSymbolAtLocation(re) } function U(re, le, _e) { if (!re) return; let ge = re.getDeclarations(); if (ge && ge.some(Ve => Ve.parent === le)) return D.createIdentifier(re.name); let X = U(re.parent, le, _e); if (X !== void 0) return _e ? D.createQualifiedName(X, D.createIdentifier(re.name)) : D.createPropertyAccessExpression(X, re.name) } } function MHe(e) { return jn(e, t => t.parent && sSe(t) && !ar(t.parent)) } function sSe(e) { let { parent: t } = e; switch (t.kind) { case 302: return !1 }switch (e.kind) { case 10: return t.kind !== 269 && t.kind !== 273; case 227: case 203: case 205: return !1; case 79: return t.kind !== 205 && t.kind !== 273 && t.kind !== 278 }return !0 } function cSe(e) { switch (e.kind) { case 238: case 308: case 265: case 292: return !0; default: return !1 } } function Kee(e) { return qee(e) || (Hg(e) || FS(e) || BS(e)) && (Hg(e.parent) || BS(e.parent)) } function qee(e) { return yo(e) && e.parent && Sp(e.parent) } var fx, _x, px, vl, Xee, FHe = gt({ "src/services/refactors/extractSymbol.ts"() { "use strict"; Fr(), Qm(), fx = "Extract Symbol", _x = { name: "Extract Constant", description: uo(_.Extract_constant), kind: "refactor.extract.constant" }, px = { name: "Extract Function", description: uo(_.Extract_function), kind: "refactor.extract.function" }, Vh(fx, { kinds: [_x.kind, px.kind], getEditsForAction: oSe, getAvailableActions: aSe }), (e => { function t(r) { return { message: r, code: 0, category: 3, key: r } } e.cannotExtractRange = t("Cannot extract range."), e.cannotExtractImport = t("Cannot extract import statement."), e.cannotExtractSuper = t("Cannot extract super call."), e.cannotExtractJSDoc = t("Cannot extract JSDoc."), e.cannotExtractEmpty = t("Cannot extract empty range."), e.expressionExpected = t("expression expected."), e.uselessConstantType = t("No reason to extract constant of type."), e.statementOrExpressionExpected = t("Statement or expression expected."), e.cannotExtractRangeContainingConditionalBreakOrContinueStatements = t("Cannot extract range containing conditional break or continue statements."), e.cannotExtractRangeContainingConditionalReturnStatement = t("Cannot extract range containing conditional return statement."), e.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange = t("Cannot extract range containing labeled break or continue with target outside of the range."), e.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators = t("Cannot extract range containing writes to references located outside of the target range in generators."), e.typeWillNotBeVisibleInTheNewScope = t("Type will not visible in the new scope."), e.functionWillNotBeVisibleInTheNewScope = t("Function will not visible in the new scope."), e.cannotExtractIdentifier = t("Select more than a single identifier."), e.cannotExtractExportedEntity = t("Cannot extract exported declaration"), e.cannotWriteInExpression = t("Cannot write back side-effects when extracting an expression"), e.cannotExtractReadonlyPropertyInitializerOutsideConstructor = t("Cannot move initialization of read-only class property outside of the constructor"), e.cannotExtractAmbientBlock = t("Cannot extract code from ambient contexts"), e.cannotAccessVariablesFromNestedScopes = t("Cannot access variables from nested scopes"), e.cannotExtractToJSClass = t("Cannot extract constant to a class scope in JS"), e.cannotExtractToExpressionArrowFunction = t("Cannot extract constant to an arrow function without a block"), e.cannotExtractFunctionsContainingThisToMethod = t("Cannot extract functions containing this to method") })(vl || (vl = {})), Xee = (e => (e[e.None = 0] = "None", e[e.HasReturn = 1] = "HasReturn", e[e.IsGenerator = 2] = "IsGenerator", e[e.IsAsyncFunction = 4] = "IsAsyncFunction", e[e.UsesThis = 8] = "UsesThis", e[e.UsesThisInFunction = 16] = "UsesThisInFunction", e[e.InStaticRegion = 32] = "InStaticRegion", e))(Xee || {}) } }), lSe = {}; Mo(lSe, { Messages: () => vl, RangeFacts: () => Xee, getRangeToExtract: () => Hee, getRefactorActionsToExtractSymbol: () => aSe, getRefactorEditsToExtractSymbol: () => oSe }); var GHe = gt({ "src/services/_namespaces/ts.refactor.extractSymbol.ts"() { "use strict"; FHe() } }), MP, LG, kG, BHe = gt({ "src/services/refactors/generateGetAccessorAndSetAccessor.ts"() { "use strict"; Fr(), Qm(), MP = "Generate 'get' and 'set' accessors", LG = _.Generate_get_and_set_accessors.message, kG = { name: MP, description: LG, kind: "refactor.rewrite.property.generateAccessors" }, Vh(MP, { kinds: [kG.kind], getEditsForAction: function (t, r) { if (!t.endPosition) return; let i = gu.getAccessorConvertiblePropertyAtPosition(t.file, t.program, t.startPosition, t.endPosition); L.assert(i && !$m(i), "Expected applicable refactor info"); let o = gu.generateAccessorFromProperty(t.file, t.program, t.startPosition, t.endPosition, t, r); if (!o) return; let s = t.file.fileName, l = i.renameAccessor ? i.accessorName : i.fieldName, d = (Re(l) ? 0 : -1) + KN(o, s, l.text, ha(i.declaration)); return { renameFilename: s, renameLocation: d, edits: o } }, getAvailableActions(e) { if (!e.endPosition) return Je; let t = gu.getAccessorConvertiblePropertyAtPosition(e.file, e.program, e.startPosition, e.endPosition, e.triggerReason === "invoked"); return t ? $m(t) ? e.preferences.provideRefactorNotApplicableReason ? [{ name: MP, description: LG, actions: [{ ...kG, notApplicableReason: t.error }] }] : Je : [{ name: MP, description: LG, actions: [kG] }] : Je } }) } }), UHe = {}, VHe = gt({ "src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts"() { "use strict"; BHe() } }); function jHe(e) { let t = uSe(e); if (t && !$m(t)) return { renameFilename: void 0, renameLocation: void 0, edits: nr.ChangeTracker.with(e, i => WHe(e.file, i, t.declaration, t.returnTypeNode)) } } function HHe(e) { let t = uSe(e); return t ? $m(t) ? e.preferences.provideRefactorNotApplicableReason ? [{ name: FP, description: DG, actions: [{ ...GP, notApplicableReason: t.error }] }] : Je : [{ name: FP, description: DG, actions: [GP] }] : Je } function WHe(e, t, r, i) { let o = Yo(r, 21, e), s = xs(r) && o === void 0, l = s ? Vo(r.parameters) : o; l && (s && (t.insertNodeBefore(e, l, D.createToken(20)), t.insertNodeAfter(e, l, D.createToken(21))), t.insertNodeAt(e, l.end, i, { prefix: ": " })) } function uSe(e) { if (Yn(e.file) || !pv(GP.kind, e.kind)) return; let t = Vi(e.file, e.startPosition), r = jn(t, l => Va(l) || l.parent && xs(l.parent) && (l.kind === 38 || l.parent.body === l) ? "quit" : zHe(l)); if (!r || !r.body || r.type) return { error: uo(_.Return_type_must_be_inferred_from_a_function) }; let i = e.program.getTypeChecker(), o = JHe(i, r); if (!o) return { error: uo(_.Could_not_determine_function_return_type) }; let s = i.typeToTypeNode(o, r, 1); if (s) return { declaration: r, returnTypeNode: s } } function zHe(e) { switch (e.kind) { case 259: case 215: case 216: case 171: return !0; default: return !1 } } function JHe(e, t) { if (e.isImplementationOfOverload(t)) { let i = e.getTypeAtLocation(t).getCallSignatures(); if (i.length > 1) return e.getUnionType(Zi(i, o => o.getReturnType())) } let r = e.getSignatureFromDeclaration(t); if (r) return e.getReturnTypeOfSignature(r) } var FP, DG, GP, KHe = gt({ "src/services/refactors/inferFunctionReturnType.ts"() { "use strict"; Fr(), Qm(), FP = "Infer function return type", DG = _.Infer_function_return_type.message, GP = { name: FP, description: DG, kind: "refactor.rewrite.function.returnType" }, Vh(FP, { kinds: [GP.kind], getEditsForAction: jHe, getAvailableActions: HHe }) } }), qHe = {}, XHe = gt({ "src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts"() { "use strict"; KHe() } }), Ok = {}; Mo(Ok, { addOrRemoveBracesToArrowFunction: () => lje, convertArrowFunctionOrFunctionExpression: () => Eje, convertParamsToDestructuredObject: () => Uje, convertStringOrTemplateLiteral: () => Yje, convertToOptionalChainExpression: () => lHe, doChangeNamedToNamespaceOrDefault: () => m1e, extractSymbol: () => lSe, generateGetAccessorAndSetAccessor: () => UHe, getApplicableRefactors: () => oVe, getEditsForRefactor: () => sVe, inferFunctionReturnType: () => qHe, isRefactorErrorInfo: () => $m, refactorKindBeginsWith: () => pv, registerRefactor: () => Vh }); var Qm = gt({ "src/services/_namespaces/ts.refactor.ts"() { "use strict"; cVe(), mVe(), bVe(), CVe(), IVe(), nje(), uje(), Tje(), Vje(), $je(), uHe(), GHe(), VHe(), XHe() } }); function YHe(e, t, r, i) { let o = _7(ef(t, r)); if (fSe(o)) { let s = $He(o, e.getTypeChecker(), t, e, i); if (s) return s } return wG(_.You_cannot_rename_this_element) } function $He(e, t, r, i, o) { let s = t.getSymbolAtLocation(e); if (!s) { if (es(e)) { let S = f7(e, t); if (S && (S.flags & 128 || S.flags & 1048576 && Ji(S.types, x => !!(x.flags & 128)))) return Yee(e.text, e.text, "string", "", e, r) } else if (FX(e)) { let S = Qc(e); return Yee(S, S, "label", "", e, r) } return } let { declarations: l } = s; if (!l || l.length === 0) return; if (l.some(S => QHe(i, S))) return wG(_.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); if (Re(e) && e.escapedText === "default" && s.parent && s.parent.flags & 1536) return; if (es(e) && oR(e)) return o.allowRenameOfImportPath ? eWe(e, r, s) : void 0; let f = ZHe(r, s, t, o); if (f) return wG(f); let d = $g.getSymbolKind(t, s, e), g = Zhe(e) || yf(e) && e.parent.kind === 164 ? u_(l_(e)) : void 0, m = g || t.symbolToString(s), v = g || t.getFullyQualifiedName(s); return Yee(m, v, d, $g.getSymbolModifiers(t, s), e, r) } function QHe(e, t) { let r = t.getSourceFile(); return e.isSourceFileDefaultLibrary(r) && Gc(r.fileName, ".d.ts") } function ZHe(e, t, r, i) { if (!i.providePrefixAndSuffixTextForRename && t.flags & 2097152) { let l = t.declarations && wr(t.declarations, f => $u(f)); l && !l.propertyName && (t = r.getAliasedSymbol(t)) } let { declarations: o } = t; if (!o) return; let s = dSe(e.path); if (s === void 0) return vt(o, l => dge(l.getSourceFile().path)) ? _.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder : void 0; for (let l of o) { let f = dSe(l.getSourceFile().path); if (f) { let d = Math.min(s.length, f.length); for (let g = 0; g <= d; g++)if (su(s[g], f[g]) !== 0) return _.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder } } } function dSe(e) { let t = Ou(e), r = t.lastIndexOf("node_modules"); if (r !== -1) return t.slice(0, r + 2) } function eWe(e, t, r) { if (!fl(e.text)) return wG(_.You_cannot_rename_a_module_via_a_global_import); let i = r.declarations && wr(r.declarations, Li); if (!i) return; let o = Oc(e.text, "/index") || Oc(e.text, "/index.js") ? void 0 : Iae(ld(i.fileName), "/index"), s = o === void 0 ? i.fileName : o, l = o === void 0 ? "module" : "directory", f = e.text.lastIndexOf("/") + 1, d = il(e.getStart(t) + 1 + f, e.text.length - f); return { canRename: !0, fileToRename: s, kind: l, displayName: s, fullDisplayName: s, kindModifiers: "", triggerSpan: d } } function Yee(e, t, r, i, o, s) { return { canRename: !0, fileToRename: void 0, kind: r, displayName: e, fullDisplayName: t, kindModifiers: i, triggerSpan: tWe(o, s) } } function wG(e) { return { canRename: !1, localizedErrorMessage: uo(e) } } function tWe(e, t) { let r = e.getStart(t), i = e.getWidth(t); return es(e) && (r += 1, i -= 2), il(r, i) } function fSe(e) { switch (e.kind) { case 79: case 80: case 10: case 14: case 108: return !0; case 8: return c7(e); default: return !1 } } var nWe = gt({ "src/services/rename.ts"() { "use strict"; Fr() } }), RG = {}; Mo(RG, { getRenameInfo: () => YHe, nodeIsEligibleForRename: () => fSe }); var rWe = gt({ "src/services/_namespaces/ts.Rename.ts"() { "use strict"; nWe() } }); function iWe(e, t, r, i, o) { let s = e.getTypeChecker(), l = p7(t, r); if (!l) return; let f = !!i && i.kind === "characterTyped"; if (f && (n1(t, r, l) || Kg(t, r))) return; let d = !!i && i.kind === "invoked", g = vWe(l, r, t, s, d); if (!g) return; o.throwIfCancellationRequested(); let m = aWe(g, s, t, l, f); return o.throwIfCancellationRequested(), m ? s.runWithCancellationToken(o, v => m.kind === 0 ? vSe(m.candidates, m.resolvedSignature, g, t, v) : EWe(m.symbol, g, t, v)) : Cu(t) ? sWe(g, e, o) : void 0 } function aWe({ invocation: e, argumentCount: t }, r, i, o, s) { switch (e.kind) { case 0: { if (s && !oWe(o, e.node, i)) return; let l = [], f = r.getResolvedSignatureForSignatureHelp(e.node, l, t); return l.length === 0 ? void 0 : { kind: 0, candidates: l, resolvedSignature: f } } case 1: { let { called: l } = e; if (s && !_Se(o, i, Re(l) ? l.parent : l)) return; let f = XX(l, t, r); if (f.length !== 0) return { kind: 0, candidates: f, resolvedSignature: Vo(f) }; let d = r.getSymbolAtLocation(l); return d && { kind: 1, symbol: d } } case 2: return { kind: 0, candidates: [e.signature], resolvedSignature: e.signature }; default: return L.assertNever(e) } } function oWe(e, t, r) { if (!Ih(t)) return !1; let i = t.getChildren(r); switch (e.kind) { case 20: return ya(i, e); case 27: { let o = d7(e); return !!o && ya(i, o) } case 29: return _Se(e, r, t.expression); default: return !1 } } function sWe(e, t, r) { if (e.invocation.kind === 2) return; let i = gSe(e.invocation), o = br(i) ? i.name.text : void 0, s = t.getTypeChecker(); return o === void 0 ? void 0 : ks(t.getSourceFiles(), l => ks(l.getNamedDeclarations().get(o), f => { let d = f.symbol && s.getTypeOfSymbolAtLocation(f.symbol, f), g = d && d.getCallSignatures(); if (g && g.length) return s.runWithCancellationToken(r, m => vSe(g, g[0], e, l, m, !0)) })) } function _Se(e, t, r) { let i = e.getFullStart(), o = e.parent; for (; o;) { let s = el(i, t, o, !0); if (s) return Od(r, s); o = o.parent } return L.fail("Could not find preceding token") } function cWe(e, t, r) { let i = mSe(e, t, r); return !i || i.isTypeParameterList || i.invocation.kind !== 0 ? void 0 : { invocation: i.invocation.node, argumentCount: i.argumentCount, argumentIndex: i.argumentIndex } } function pSe(e, t, r) { let i = lWe(e, r); if (!i) return; let { list: o, argumentIndex: s } = i, l = mWe(o, n1(r, t, e)); s !== 0 && L.assertLessThan(s, l); let f = gWe(o, r); return { list: o, argumentIndex: s, argumentCount: l, argumentsSpan: f } } function lWe(e, t) { if (e.kind === 29 || e.kind === 20) return { list: bWe(e.parent, e, t), argumentIndex: 0 }; { let r = d7(e); return r && { list: r, argumentIndex: pWe(r, e) } } } function mSe(e, t, r) { let { parent: i } = e; if (Ih(i)) { let o = i, s = pSe(e, t, r); if (!s) return; let { list: l, argumentIndex: f, argumentCount: d, argumentsSpan: g } = s; return { isTypeParameterList: !!i.typeArguments && i.typeArguments.pos === l.pos, invocation: { kind: 0, node: o }, argumentsSpan: g, argumentIndex: f, argumentCount: d } } else { if (IS(e) && PT(i)) return FN(e, t, r) ? Qee(i, 0, r) : void 0; if (f2(e) && i.parent.kind === 212) { let o = i, s = o.parent; L.assert(o.kind === 225); let l = FN(e, t, r) ? 0 : 1; return Qee(s, l, r) } else if (xL(i) && PT(i.parent.parent)) { let o = i, s = i.parent.parent; if (Iz(e) && !FN(e, t, r)) return; let l = o.parent.templateSpans.indexOf(o), f = hWe(l, e, t, r); return Qee(s, f, r) } else if (Au(i)) { let o = i.attributes.pos, s = xo(r.text, i.attributes.end, !1); return { isTypeParameterList: !1, invocation: { kind: 0, node: i }, argumentsSpan: il(o, s - o), argumentIndex: 0, argumentCount: 1 } } else { let o = YX(e, r); if (o) { let { called: s, nTypeArguments: l } = o, f = { kind: 1, called: s }, d = Wc(s.getStart(r), e.end); return { isTypeParameterList: !0, invocation: f, argumentsSpan: d, argumentIndex: l, argumentCount: l + 1 } } return } } } function uWe(e, t, r, i) { return dWe(e, t, r, i) || mSe(e, t, r) } function hSe(e) { return ar(e.parent) ? hSe(e.parent) : e } function $ee(e) { return ar(e.left) ? $ee(e.left) + 1 : 2 } function dWe(e, t, r, i) { let o = fWe(e, r, t, i); if (!o) return; let { contextualType: s, argumentIndex: l, argumentCount: f, argumentsSpan: d } = o, g = s.getNonNullableType(), m = g.symbol; if (m === void 0) return; let v = Os(g.getCallSignatures()); return v === void 0 ? void 0 : { isTypeParameterList: !1, invocation: { kind: 2, signature: v, node: e, symbol: _We(m) }, argumentsSpan: d, argumentIndex: l, argumentCount: f } } function fWe(e, t, r, i) { if (e.kind !== 20 && e.kind !== 27) return; let { parent: o } = e; switch (o.kind) { case 214: case 171: case 215: case 216: let s = pSe(e, r, t); if (!s) return; let { argumentIndex: l, argumentCount: f, argumentsSpan: d } = s, g = Nc(o) ? i.getContextualTypeForObjectLiteralElement(o) : i.getContextualType(o); return g && { contextualType: g, argumentIndex: l, argumentCount: f, argumentsSpan: d }; case 223: { let m = hSe(o), v = i.getContextualType(m), S = e.kind === 20 ? 0 : $ee(o) - 1, x = $ee(m); return v && { contextualType: v, argumentIndex: S, argumentCount: x, argumentsSpan: Du(o) } } default: return } } function _We(e) { return e.name === "__type" && ks(e.declarations, t => { var r; return Jm(t) ? (r = zr(t.parent, $p)) == null ? void 0 : r.symbol : void 0 }) || e } function pWe(e, t) { let r = 0; for (let i of e.getChildren()) { if (i === t) break; i.kind !== 27 && r++ } return r } function mWe(e, t) { let r = e.getChildren(), i = Oy(r, o => o.kind !== 27); return !t && r.length > 0 && To(r).kind === 27 && i++, i } function hWe(e, t, r, i) { return L.assert(r >= t.getStart(), "Assumed 'position' could not occur before node."), rse(t) ? FN(t, r, i) ? 0 : e + 2 : e + 1 } function Qee(e, t, r) { let i = IS(e.template) ? 1 : e.template.templateSpans.length + 1; return t !== 0 && L.assertLessThan(t, i), { isTypeParameterList: !1, invocation: { kind: 0, node: e }, argumentsSpan: yWe(e, r), argumentIndex: t, argumentCount: i } } function gWe(e, t) { let r = e.getFullStart(), i = xo(t.text, e.getEnd(), !1); return il(r, i - r) } function yWe(e, t) { let r = e.template, i = r.getStart(), o = r.getEnd(); return r.kind === 225 && To(r.templateSpans).literal.getFullWidth() === 0 && (o = xo(t.text, o, !1)), il(i, o - i) } function vWe(e, t, r, i, o) { for (let s = e; !Li(s) && (o || !Va(s)); s = s.parent) { L.assert(Od(s.parent, s), "Not a subspan", () => `Child: ${L.formatSyntaxKind(s.kind)}, parent: ${L.formatSyntaxKind(s.parent.kind)}`); let l = uWe(s, t, r, i); if (l) return l } } function bWe(e, t, r) { let i = e.getChildren(r), o = i.indexOf(t); return L.assert(o >= 0 && i.length > o + 1), i[o + 1] } function gSe(e) { return e.kind === 0 ? P6(e.node) : e.called } function ySe(e) { return e.kind === 0 ? e.node : e.kind === 1 ? e.called : e.node } function vSe(e, t, { isTypeParameterList: r, argumentCount: i, argumentsSpan: o, invocation: s, argumentIndex: l }, f, d, g) { var m; let v = ySe(s), S = s.kind === 2 ? s.symbol : d.getSymbolAtLocation(gSe(s)) || g && ((m = t.declaration) == null ? void 0 : m.symbol), x = S ? ok(d, S, g ? f : void 0, void 0) : Je, A = on(e, B => SWe(B, x, r, d, v, f)); l !== 0 && L.assertLessThan(l, i); let w = 0, C = 0; for (let B = 0; B < A.length; B++) { let q = A[B]; if (e[B] === t && (w = C, q.length > 1)) { let W = 0; for (let Y of q) { if (Y.isVariadic || Y.parameters.length >= i) { w = C + W; break } W++ } } C += q.length } L.assert(w !== -1); let P = { items: BD(A, Ks), applicableSpan: o, selectedItemIndex: w, argumentIndex: l, argumentCount: i }, F = P.items[w]; if (F.isVariadic) { let B = Yc(F.parameters, q => !!q.isRest); -1 < B && B < F.parameters.length - 1 ? P.argumentIndex = F.parameters.length : P.argumentIndex = Math.min(P.argumentIndex, F.parameters.length - 1) } return P } function EWe(e, { argumentCount: t, argumentsSpan: r, invocation: i, argumentIndex: o }, s, l) { let f = l.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e); return f ? { items: [TWe(e, f, l, ySe(i), s)], applicableSpan: r, selectedItemIndex: 0, argumentIndex: o, argumentCount: t } : void 0 } function TWe(e, t, r, i, o) { let s = ok(r, e), l = rE(), f = t.map(v => bSe(v, r, i, o, l)), d = e.getDocumentationComment(r), g = e.getJsDocTags(r); return { isVariadic: !1, prefixDisplayParts: [...s, Yl(29)], suffixDisplayParts: [Yl(31)], separatorDisplayParts: Zee, parameters: f, documentation: d, tags: g } } function SWe(e, t, r, i, o, s) { let l = (r ? AWe : CWe)(e, i, o, s); return on(l, ({ isVariadic: f, parameters: d, prefix: g, suffix: m }) => { let v = [...t, ...g], S = [...m, ...xWe(e, o, i)], x = e.getDocumentationComment(i), A = e.getJsDocTags(); return { isVariadic: f, prefixDisplayParts: v, suffixDisplayParts: S, separatorDisplayParts: Zee, parameters: d, documentation: x, tags: A } }) } function xWe(e, t, r) { return uv(i => { i.writePunctuation(":"), i.writeSpace(" "); let o = r.getTypePredicateOfSignature(e); o ? r.writeTypePredicate(o, t, void 0, i) : r.writeType(r.getReturnTypeOfSignature(e), t, void 0, i) }) } function AWe(e, t, r, i) { let o = (e.target || e).typeParameters, s = rE(), l = (o || Je).map(d => bSe(d, t, r, i, s)), f = e.thisParameter ? [t.symbolToParameterDeclaration(e.thisParameter, r, Nk)] : []; return t.getExpandedParameters(e).map(d => { let g = D.createNodeArray([...f, ...on(d, v => t.symbolToParameterDeclaration(v, r, Nk))]), m = uv(v => { s.writeList(2576, g, i, v) }); return { isVariadic: !1, parameters: l, prefix: [Yl(29)], suffix: [Yl(31), ...m] } }) } function CWe(e, t, r, i) { let o = rE(), s = uv(d => { if (e.typeParameters && e.typeParameters.length) { let g = D.createNodeArray(e.typeParameters.map(m => t.typeParameterToDeclaration(m, r, Nk))); o.writeList(53776, g, i, d) } }), l = t.getExpandedParameters(e), f = t.hasEffectiveRestParameter(e) ? l.length === 1 ? d => !0 : d => { var g; return !!(d.length && ((g = zr(d[d.length - 1], Zp)) == null ? void 0 : g.links.checkFlags) & 32768) } : d => !1; return l.map(d => ({ isVariadic: f(d), parameters: d.map(g => IWe(g, t, r, i, o)), prefix: [...s, Yl(20)], suffix: [Yl(21)] })) } function IWe(e, t, r, i, o) { let s = uv(d => { let g = t.symbolToParameterDeclaration(e, r, Nk); o.writeNode(4, g, i, d) }), l = t.isOptionalParameter(e.valueDeclaration), f = Zp(e) && !!(e.links.checkFlags & 32768); return { name: e.name, documentation: e.getDocumentationComment(t), displayParts: s, isOptional: l, isRest: f } } function bSe(e, t, r, i, o) { let s = uv(l => { let f = t.typeParameterToDeclaration(e, r, Nk); o.writeNode(4, f, i, l) }); return { name: e.symbol.name, documentation: e.symbol.getDocumentationComment(t), displayParts: s, isOptional: !1, isRest: !1 } } var Nk, Zee, LWe = gt({ "src/services/signatureHelp.ts"() { "use strict"; Fr(), Nk = 70246400, Zee = [Yl(27), Qs()] } }), BP = {}; Mo(BP, { getArgumentInfoForCompletions: () => cWe, getSignatureHelpItems: () => iWe }); var kWe = gt({ "src/services/_namespaces/ts.SignatureHelp.ts"() { "use strict"; LWe() } }); function DWe(e, t) { var r, i; let o = { textSpan: Wc(t.getFullStart(), t.getEnd()) }, s = t; e: for (; ;) { let d = RWe(s); if (!d.length) break; for (let g = 0; g < d.length; g++) { let m = d[g - 1], v = d[g], S = d[g + 1]; if (gT(v, t, !0) > e) break e; let x = Wp(eb(t.text, v.end)); if (x && x.kind === 2 && f(x.pos, x.end), wWe(t, e, v)) { if (Hj(v) && Ds(s) && !Bf(v.getStart(t), v.getEnd(), t) && l(v.getStart(t), v.getEnd()), Va(v) || xL(v) || f2(v) || Iz(v) || m && f2(m) || pu(v) && Bc(s) || A2(v) && pu(s) || wi(v) && A2(s) && d.length === 1 || UT(v) || X0(v) || LL(v)) { s = v; break } if (xL(s) && S && o6(S)) { let P = v.getFullStart() - 2, F = S.getStart() + 1; l(P, F) } let A = A2(v) && OWe(m) && NWe(S) && !Bf(m.getStart(), S.getStart(), t), w = A ? m.getEnd() : v.getStart(), C = A ? S.getStart() : PWe(t, v); if (Kd(v) && ((r = v.jsDoc) != null && r.length) && l(Vo(v.jsDoc).getStart(), C), A2(v)) { let P = v.getChildren()[0]; P && Kd(P) && ((i = P.jsDoc) != null && i.length) && P.getStart() !== v.pos && (w = Math.min(w, Vo(P.jsDoc).getStart())) } l(w, C), (yo(v) || AA(v)) && l(w + 1, C - 1), s = v; break } if (g === d.length - 1) break e } } return o; function l(d, g) { if (d !== g) { let m = Wc(d, g); (!o || !J2(m, o.textSpan) && Noe(m, e)) && (o = { textSpan: m, ...o && { parent: o } }) } } function f(d, g) { l(d, g); let m = d; for (; t.text.charCodeAt(m) === 47;)m++; l(m, g) } } function wWe(e, t, r) { return L.assert(r.pos <= t), t < r.end ? !0 : r.getEnd() === t ? ef(e, t).pos < r.end : !1 } function RWe(e) { var t; if (Li(e)) return Pk(e.getChildAt(0).getChildren(), ESe); if (EL(e)) { let [r, ...i] = e.getChildren(), o = L.checkDefined(i.pop()); L.assertEqual(r.kind, 18), L.assertEqual(o.kind, 19); let s = Pk(i, f => f === e.readonlyToken || f.kind === 146 || f === e.questionToken || f.kind === 57), l = Pk(s, ({ kind: f }) => f === 22 || f === 165 || f === 23); return [r, Mk(OG(l, ({ kind: f }) => f === 58)), o] } if ($d(e)) { let r = Pk(e.getChildren(), l => l === e.name || ya(e.modifiers, l)), i = ((t = r[0]) == null ? void 0 : t.kind) === 323 ? r[0] : void 0, o = i ? r.slice(1) : r, s = OG(o, ({ kind: l }) => l === 58); return i ? [i, Mk(s)] : s } if (ha(e)) { let r = Pk(e.getChildren(), o => o === e.dotDotDotToken || o === e.name), i = Pk(r, o => o === r[0] || o === e.questionToken); return OG(i, ({ kind: o }) => o === 63) } return Wo(e) ? OG(e.getChildren(), ({ kind: r }) => r === 63) : e.getChildren() } function Pk(e, t) { let r = [], i; for (let o of e) t(o) ? (i = i || [], i.push(o)) : (i && (r.push(Mk(i)), i = void 0), r.push(o)); return i && r.push(Mk(i)), r } function OG(e, t, r = !0) { if (e.length < 2) return e; let i = Yc(e, t); if (i === -1) return e; let o = e.slice(0, i), s = e[i], l = To(e), f = r && l.kind === 26, d = e.slice(i + 1, f ? e.length - 1 : void 0), g = WD([o.length ? Mk(o) : void 0, s, d.length ? Mk(d) : void 0]); return f ? g.concat(l) : g } function Mk(e) { return L.assertGreaterThanOrEqual(e.length, 1), om(fm.createSyntaxList(e), e[0].pos, To(e).end) } function OWe(e) { let t = e && e.kind; return t === 18 || t === 22 || t === 20 || t === 283 } function NWe(e) { let t = e && e.kind; return t === 19 || t === 23 || t === 21 || t === 284 } function PWe(e, t) { switch (t.kind) { case 344: case 341: case 351: case 349: case 346: return e.getLineEndOfPosition(t.getStart()); default: return t.getEnd() } } var ESe, MWe = gt({ "src/services/smartSelection.ts"() { "use strict"; Fr(), ESe = Kp(gl, Nl) } }), ete = {}; Mo(ete, { getSmartSelectionRange: () => DWe }); var FWe = gt({ "src/services/_namespaces/ts.SmartSelectionRange.ts"() { "use strict"; MWe() } }); function TSe(e, t, r) { let i = SSe(e, t, r); if (i !== "") return i; let o = XI(t); return o & 32 ? nc(t, 228) ? "local class" : "class" : o & 384 ? "enum" : o & 524288 ? "type" : o & 64 ? "interface" : o & 262144 ? "type parameter" : o & 8 ? "enum member" : o & 2097152 ? "alias" : o & 1536 ? "module" : i } function SSe(e, t, r) { let i = e.getRootSymbols(t); if (i.length === 1 && Vo(i).flags & 8192 && e.getTypeOfSymbolAtLocation(t, r).getNonNullableType().getCallSignatures().length !== 0) return "method"; if (e.isUndefinedSymbol(t)) return "var"; if (e.isArgumentsSymbol(t)) return "local var"; if (r.kind === 108 && ot(r) || mS(r)) return "parameter"; let o = XI(t); if (o & 3) return dY(t) ? "parameter" : t.valueDeclaration && kh(t.valueDeclaration) ? "const" : mn(t.declarations, II) ? "let" : CSe(t) ? "local var" : "var"; if (o & 16) return CSe(t) ? "local function" : "function"; if (o & 32768) return "getter"; if (o & 65536) return "setter"; if (o & 8192) return "method"; if (o & 16384) return "constructor"; if (o & 131072) return "index"; if (o & 4) { if (o & 33554432 && t.links.checkFlags & 6) { let s = mn(e.getRootSymbols(t), l => { if (l.getFlags() & 98311) return "property" }); return s || (e.getTypeOfSymbolAtLocation(t, r).getCallSignatures().length ? "method" : "property") } return "property" } return "" } function xSe(e) { if (e.declarations && e.declarations.length) { let [t, ...r] = e.declarations, i = Fn(r) && H7(t) && vt(r, s => !H7(s)) ? 8192 : 0, o = rk(t, i); if (o) return o.split(",") } return [] } function GWe(e, t) { if (!t) return ""; let r = new Set(xSe(t)); if (t.flags & 2097152) { let i = e.getAliasedSymbol(t); i !== t && mn(xSe(i), o => { r.add(o) }) } return t.flags & 16777216 && r.add("optional"), r.size > 0 ? lo(r.values()).join(",") : "" } function ASe(e, t, r, i, o, s = ZT(o), l) { var f; let d = [], g = [], m = [], v = XI(t), S = s & 1 ? SSe(e, t, o) : "", x = !1, A = o.kind === 108 && F6(o) || mS(o), w, C, P, F = !1; if (o.kind === 108 && !A) return { displayParts: [_d(108)], documentation: [], symbolKind: "primitive type", tags: void 0 }; if (S !== "" || v & 32 || v & 2097152) { if (S === "getter" || S === "setter") { let le = wr(t.declarations, _e => _e.name === o); if (le) switch (le.kind) { case 174: S = "getter"; break; case 175: S = "setter"; break; case 169: S = "accessor"; break; default: L.assertNever(le) } else S = "property" } let U; if (w = A ? e.getTypeAtLocation(o) : e.getTypeOfSymbolAtLocation(t, o), o.parent && o.parent.kind === 208) { let le = o.parent.name; (le === o || le && le.getFullWidth() === 0) && (o = o.parent) } let re; if (Ih(o) ? re = o : (NX(o) || ZL(o) || o.parent && (Au(o.parent) || PT(o.parent)) && Ia(t.valueDeclaration)) && (re = o.parent), re) { U = e.getResolvedSignature(re); let le = re.kind === 211 || Pa(re) && re.expression.kind === 106, _e = le ? w.getConstructSignatures() : w.getCallSignatures(); if (U && !ya(_e, U.target) && !ya(_e, U) && (U = _e.length ? _e[0] : void 0), U) { switch (le && v & 32 ? (S = "constructor", ie(w.symbol, S)) : v & 2097152 ? (S = "alias", $(S), d.push(Qs()), le && (U.flags & 4 && (d.push(_d(126)), d.push(Qs())), d.push(_d(103)), d.push(Qs())), R(t)) : ie(t, S), S) { case "JSX attribute": case "property": case "var": case "const": case "let": case "parameter": case "local var": d.push(Yl(58)), d.push(Qs()), !(Ur(w) & 16) && w.symbol && (si(d, ok(e, w.symbol, i, void 0, 5)), d.push(K2())), le && (U.flags & 4 && (d.push(_d(126)), d.push(Qs())), d.push(_d(103)), d.push(Qs())), fe(U, _e, 262144); break; default: fe(U, _e) }x = !0, F = _e.length > 1 } } else if (VX(o) && !(v & 98304) || o.kind === 135 && o.parent.kind === 173) { let le = o.parent; if (t.declarations && wr(t.declarations, ge => ge === (o.kind === 135 ? le.parent : le))) { let ge = le.kind === 173 ? w.getNonNullableType().getConstructSignatures() : w.getNonNullableType().getCallSignatures(); e.isImplementationOfOverload(le) ? U = ge[0] : U = e.getSignatureFromDeclaration(le), le.kind === 173 ? (S = "constructor", ie(w.symbol, S)) : ie(le.kind === 176 && !(w.symbol.flags & 2048 || w.symbol.flags & 4096) ? w.symbol : t, S), U && fe(U, ge), x = !0, F = ge.length > 1 } } } if (v & 32 && !x && !A && (W(), nc(t, 228) ? $("local class") : d.push(_d(84)), d.push(Qs()), R(t), Z(t, r)), v & 64 && s & 2 && (q(), d.push(_d(118)), d.push(Qs()), R(t), Z(t, r)), v & 524288 && s & 2 && (q(), d.push(_d(154)), d.push(Qs()), R(t), Z(t, r), d.push(Qs()), d.push(ak(63)), d.push(Qs()), si(d, zN(e, Ch(o.parent) ? e.getTypeAtLocation(o.parent) : e.getDeclaredTypeOfSymbol(t), i, 8388608))), v & 384 && (q(), vt(t.declarations, U => hb(U) && R0(U)) && (d.push(_d(85)), d.push(Qs())), d.push(_d(92)), d.push(Qs()), R(t)), v & 1536 && !A) { q(); let U = nc(t, 264), re = U && U.name && U.name.kind === 79; d.push(_d(re ? 143 : 142)), d.push(Qs()), R(t) } if (v & 262144 && s & 2) if (q(), d.push(Yl(20)), d.push(tf("type parameter")), d.push(Yl(21)), d.push(Qs()), R(t), t.parent) Y(), R(t.parent, i), Z(t.parent, i); else { let U = nc(t, 165); if (U === void 0) return L.fail(); let re = U.parent; if (re) if (Ia(re)) { Y(); let le = e.getSignatureFromDeclaration(re); re.kind === 177 ? (d.push(_d(103)), d.push(Qs())) : re.kind !== 176 && re.name && R(re.symbol), si(d, pY(e, le, r, 32)) } else Ep(re) && (Y(), d.push(_d(154)), d.push(Qs()), R(re.symbol), Z(re.symbol, r)) } if (v & 8) { S = "enum member", ie(t, "enum member"); let U = (f = t.declarations) == null ? void 0 : f[0]; if (U?.kind === 302) { let re = e.getConstantValue(U); re !== void 0 && (d.push(Qs()), d.push(ak(63)), d.push(Qs()), d.push(Qu(Use(re), typeof re == "number" ? 7 : 8))) } } if (t.flags & 2097152) { if (q(), !x) { let U = e.getAliasedSymbol(t); if (U !== t && U.declarations && U.declarations.length > 0) { let re = U.declarations[0], le = sa(re); if (le) { let _e = b6(re) && Mr(re, 2), ge = t.name !== "default" && !_e, X = ASe(e, U, Gn(re), re, le, s, ge ? t : U); d.push(...X.displayParts), d.push(K2()), C = X.documentation, P = X.tags } else C = U.getContextualDocumentationComment(re, e), P = U.getJsDocTags(e) } } if (t.declarations) switch (t.declarations[0].kind) { case 267: d.push(_d(93)), d.push(Qs()), d.push(_d(143)); break; case 274: d.push(_d(93)), d.push(Qs()), d.push(_d(t.declarations[0].isExportEquals ? 63 : 88)); break; case 278: d.push(_d(93)); break; default: d.push(_d(100)) }d.push(Qs()), R(t), mn(t.declarations, U => { if (U.kind === 268) { let re = U; if (ab(re)) d.push(Qs()), d.push(ak(63)), d.push(Qs()), d.push(_d(147)), d.push(Yl(20)), d.push(Qu(Qc(wI(re)), 8)), d.push(Yl(21)); else { let le = e.getSymbolAtLocation(re.moduleReference); le && (d.push(Qs()), d.push(ak(63)), d.push(Qs()), R(le, i)) } return !0 } }) } if (!x) if (S !== "") { if (w) { if (A ? (q(), d.push(_d(108))) : ie(t, S), S === "property" || S === "accessor" || S === "getter" || S === "setter" || S === "JSX attribute" || v & 3 || S === "local var" || S === "index" || A) { if (d.push(Yl(58)), d.push(Qs()), w.symbol && w.symbol.flags & 262144 && S !== "index") { let U = uv(re => { let le = e.typeParameterToDeclaration(w, i, tte); B().writeNode(4, le, Gn(ea(i)), re) }); si(d, U) } else si(d, zN(e, w, i)); if (Zp(t) && t.links.target && Zp(t.links.target) && t.links.target.links.tupleLabelDeclaration) { let U = t.links.target.links.tupleLabelDeclaration; L.assertNode(U.name, Re), d.push(Qs()), d.push(Yl(20)), d.push(tf(vr(U.name))), d.push(Yl(21)) } } else if (v & 16 || v & 8192 || v & 16384 || v & 131072 || v & 98304 || S === "method") { let U = w.getNonNullableType().getCallSignatures(); U.length && (fe(U[0], U), F = U.length > 1) } } } else S = TSe(e, t, o); if (g.length === 0 && !F && (g = t.getContextualDocumentationComment(i, e)), g.length === 0 && v & 4 && t.parent && t.declarations && mn(t.parent.declarations, U => U.kind === 308)) for (let U of t.declarations) { if (!U.parent || U.parent.kind !== 223) continue; let re = e.getSymbolAtLocation(U.parent.right); if (re && (g = re.getDocumentationComment(e), m = re.getJsDocTags(e), g.length > 0)) break } if (g.length === 0 && Re(o) && t.valueDeclaration && Wo(t.valueDeclaration)) { let U = t.valueDeclaration, re = U.parent; if (Re(U.name) && cm(re)) { let le = l_(U.name), _e = e.getTypeAtLocation(re); g = ks(_e.isUnion() ? _e.types : [_e], ge => { let X = ge.getProperty(le); return X ? X.getDocumentationComment(e) : void 0 }) || Je } } return m.length === 0 && !F && (m = t.getContextualJsDocTags(i, e)), g.length === 0 && C && (g = C), m.length === 0 && P && (m = P), { displayParts: d, documentation: g, symbolKind: S, tags: m.length === 0 ? void 0 : m }; function B() { return rE() } function q() { d.length && d.push(K2()), W() } function W() { l && ($("alias"), d.push(Qs())) } function Y() { d.push(Qs()), d.push(_d(101)), d.push(Qs()) } function R(U, re) { let le; l && U === t && (U = l), S === "index" && (le = e.getIndexInfosOfIndexSymbol(U)); let _e = []; U.flags & 131072 && le ? (U.parent && (_e = ok(e, U.parent)), _e.push(Yl(22)), le.forEach((ge, X) => { _e.push(...zN(e, ge.keyType)), X !== le.length - 1 && (_e.push(Qs()), _e.push(Yl(51)), _e.push(Qs())) }), _e.push(Yl(23))) : _e = ok(e, U, re || r, void 0, 7), si(d, _e), t.flags & 16777216 && d.push(Yl(57)) } function ie(U, re) { q(), re && ($(re), U && !vt(U.declarations, le => xs(le) || (ms(le) || _u(le)) && !le.name) && (d.push(Qs()), R(U))) } function $(U) { switch (U) { case "var": case "function": case "let": case "const": case "constructor": d.push(fY(U)); return; default: d.push(Yl(20)), d.push(fY(U)), d.push(Yl(21)); return } } function fe(U, re, le = 0) { si(d, pY(e, U, i, le | 32)), re.length > 1 && (d.push(Qs()), d.push(Yl(20)), d.push(ak(39)), d.push(Qu((re.length - 1).toString(), 7)), d.push(Qs()), d.push(tf(re.length === 2 ? "overload" : "overloads")), d.push(Yl(21))), g = U.getDocumentationComment(e), m = U.getJsDocTags(), re.length > 1 && g.length === 0 && m.length === 0 && (g = re[0].getDocumentationComment(e), m = re[0].getJsDocTags().filter(_e => _e.name !== "deprecated")) } function Z(U, re) { let le = uv(_e => { let ge = e.symbolToTypeParameterDeclarations(U, re, tte); B().writeList(53776, ge, Gn(ea(re)), _e) }); si(d, le) } } function CSe(e) { return e.parent ? !1 : mn(e.declarations, t => { if (t.kind === 215) return !0; if (t.kind !== 257 && t.kind !== 259) return !1; for (let r = t.parent; !bT(r); r = r.parent)if (r.kind === 308 || r.kind === 265) return !1; return !0 }) } var tte, BWe = gt({ "src/services/symbolDisplay.ts"() { "use strict"; Fr(), tte = 70246400 } }), $g = {}; Mo($g, { getSymbolDisplayPartsDocumentationAndSymbolKind: () => ASe, getSymbolKind: () => TSe, getSymbolModifiers: () => GWe }); var UWe = gt({ "src/services/_namespaces/ts.SymbolDisplay.ts"() { "use strict"; BWe() } }); function ISe(e) { let t = e.__pos; return L.assert(typeof t == "number"), t } function nte(e, t) { L.assert(typeof t == "number"), e.__pos = t } function LSe(e) { let t = e.__end; return L.assert(typeof t == "number"), t } function rte(e, t) { L.assert(typeof t == "number"), e.__end = t } function kSe(e, t) { return xo(e, t, !1, !0) } function VWe(e, t) { let r = t; for (; r < e.length;) { let i = e.charCodeAt(r); if (Yp(i)) { r++; continue } return i === 47 } return !1 } function Fk(e, t, r, i) { return { pos: f1(e, t, i), end: mx(e, r, i) } } function f1(e, t, r, i = !1) { var o, s; let { leadingTriviaOption: l } = r; if (l === 0) return t.getStart(e); if (l === 3) { let x = t.getStart(e), A = Wf(x, e); return wN(t, A) ? A : x } if (l === 2) { let x = EH(t, e.text); if (x?.length) return Wf(x[0].pos, e) } let f = t.getFullStart(), d = t.getStart(e); if (f === d) return d; let g = Wf(f, e); if (Wf(d, e) === g) return l === 1 ? f : d; if (i) { let x = ((o = Nm(e.text, f)) == null ? void 0 : o[0]) || ((s = eb(e.text, f)) == null ? void 0 : s[0]); if (x) return xo(e.text, x.end, !0, !0) } let v = f > 0 ? 1 : 0, S = Ky(UI(e, g) + v, e); return S = kSe(e.text, S), Ky(UI(e, S), e) } function ite(e, t, r) { let { end: i } = t, { trailingTriviaOption: o } = r; if (o === 2) { let s = eb(e.text, i); if (s) { let l = UI(e, t.end); for (let f of s) { if (f.kind === 2 || UI(e, f.pos) > l) break; if (UI(e, f.end) > l) return xo(e.text, f.end, !0, !0) } } } } function mx(e, t, r) { var i; let { end: o } = t, { trailingTriviaOption: s } = r; if (s === 0) return o; if (s === 1) { let d = Qi(eb(e.text, o), Nm(e.text, o)), g = (i = d?.[d.length - 1]) == null ? void 0 : i.end; return g || o } let l = ite(e, t, r); if (l) return l; let f = xo(e.text, o, !0); return f !== o && (s === 2 || Wl(e.text.charCodeAt(f - 1))) ? f : o } function NG(e, t) { return !!t && !!e.parent && (t.kind === 27 || t.kind === 26 && e.parent.kind === 207) } function jWe(e) { return ms(e) || Jc(e) } function HWe(e) { if (e.kind !== 216) return e; let t = e.parent.kind === 169 ? e.parent : e.parent.parent; return t.jsDoc = e.jsDoc, t } function WWe(e, t) { if (e.kind === t.kind) switch (e.kind) { case 344: { let r = e, i = t; return Re(r.name) && Re(i.name) && r.name.escapedText === i.name.escapedText ? D.createJSDocParameterTag(void 0, i.name, !1, i.typeExpression, i.isNameFirst, r.comment) : void 0 } case 345: return D.createJSDocReturnTag(void 0, t.typeExpression, e.comment); case 347: return D.createJSDocTypeTag(void 0, t.typeExpression, e.comment) } } function ate(e, t) { return xo(e.text, f1(e, t, { leadingTriviaOption: 1 }), !1, !0) } function zWe(e, t, r, i) { let o = ate(e, i); if (r === void 0 || Bf(mx(e, t, {}), o, e)) return o; let s = el(i.getStart(e), e); if (NG(t, s)) { let l = el(t.getStart(e), e); if (NG(r, l)) { let f = xo(e.text, s.getEnd(), !0, !0); if (Bf(l.getStart(e), s.getStart(e), e)) return Wl(e.text.charCodeAt(f - 1)) ? f - 1 : f; if (Wl(e.text.charCodeAt(f))) return f } } return o } function JWe(e, t) { let r = Yo(e, 18, t), i = Yo(e, 19, t); return [r?.end, i?.end] } function PG(e) { return rs(e) ? e.properties : e.members } function KWe(e, t, r, i) { return UP.newFileChangesWorker(void 0, t, e, r, i) } function ote(e, t) { for (let r = t.length - 1; r >= 0; r--) { let { span: i, newText: o } = t[r]; e = `${e.substring(0, i.start)}${o}${e.substring(wl(i))}` } return e } function qWe(e) { return xo(e, 0) === e.length } function MG(e) { let t = xn(e, MG, RSe, XWe, MG), r = ws(t) ? t : Object.create(t); return om(r, ISe(e), LSe(e)), r } function XWe(e, t, r, i, o) { let s = On(e, t, r, i, o); if (!s) return s; L.assert(e); let l = s === e ? D.createNodeArray(s.slice(0)) : s; return om(l, ISe(e), LSe(e)), l } function DSe(e) { let t = 0, r = SR(e), i = X => { X && nte(X, t) }, o = X => { X && rte(X, t) }, s = X => { X && nte(X, t) }, l = X => { X && rte(X, t) }, f = X => { X && nte(X, t) }, d = X => { X && rte(X, t) }; function g(X, Ve) { if (Ve || !qWe(X)) { t = r.getTextPos(); let we = 0; for (; xh(X.charCodeAt(X.length - we - 1));)we++; t -= we } } function m(X) { r.write(X), g(X, !1) } function v(X) { r.writeComment(X) } function S(X) { r.writeKeyword(X), g(X, !1) } function x(X) { r.writeOperator(X), g(X, !1) } function A(X) { r.writePunctuation(X), g(X, !1) } function w(X) { r.writeTrailingSemicolon(X), g(X, !1) } function C(X) { r.writeParameter(X), g(X, !1) } function P(X) { r.writeProperty(X), g(X, !1) } function F(X) { r.writeSpace(X), g(X, !1) } function B(X) { r.writeStringLiteral(X), g(X, !1) } function q(X, Ve) { r.writeSymbol(X, Ve), g(X, !1) } function W(X) { r.writeLine(X) } function Y() { r.increaseIndent() } function R() { r.decreaseIndent() } function ie() { return r.getText() } function $(X) { r.rawWrite(X), g(X, !1) } function fe(X) { r.writeLiteral(X), g(X, !0) } function Z() { return r.getTextPos() } function U() { return r.getLine() } function re() { return r.getColumn() } function le() { return r.getIndent() } function _e() { return r.isAtStartOfLine() } function ge() { r.clear(), t = 0 } return { onBeforeEmitNode: i, onAfterEmitNode: o, onBeforeEmitNodeArray: s, onAfterEmitNodeArray: l, onBeforeEmitToken: f, onAfterEmitToken: d, write: m, writeComment: v, writeKeyword: S, writeOperator: x, writePunctuation: A, writeTrailingSemicolon: w, writeParameter: C, writeProperty: P, writeSpace: F, writeStringLiteral: B, writeSymbol: q, writeLine: W, increaseIndent: Y, decreaseIndent: R, getText: ie, rawWrite: $, writeLiteral: fe, getTextPos: Z, getLine: U, getColumn: re, getIndent: le, isAtStartOfLine: _e, hasTrailingComment: () => r.hasTrailingComment(), hasTrailingWhitespace: () => r.hasTrailingWhitespace(), clear: ge } } function YWe(e) { let t; for (let g of e.statements) if (B_(g)) t = g; else break; let r = 0, i = e.text; if (t) return r = t.end, d(), r; let o = K8(i); o !== void 0 && (r = o.length, d()); let s = Nm(i, r); if (!s) return r; let l, f; for (let g of s) { if (g.kind === 3) { if (y6(i, g.pos)) { l = { range: g, pinnedOrTripleSlash: !0 }; continue } } else if (iH(i, g.pos, g.end)) { l = { range: g, pinnedOrTripleSlash: !0 }; continue } if (l) { if (l.pinnedOrTripleSlash) break; let m = e.getLineAndCharacterOfPosition(g.pos).line, v = e.getLineAndCharacterOfPosition(l.range.end).line; if (m >= v + 2) break } if (e.statements.length) { f === void 0 && (f = e.getLineAndCharacterOfPosition(e.statements[0].getStart()).line); let m = e.getLineAndCharacterOfPosition(g.end).line; if (f < m + 2) break } l = { range: g, pinnedOrTripleSlash: !1 } } return l && (r = l.range.end, d()), r; function d() { if (r < i.length) { let g = i.charCodeAt(r); Wl(g) && (r++, r < i.length && g === 13 && i.charCodeAt(r) === 10 && r++) } } } function wSe(e, t) { return !Kg(e, t) && !n1(e, t) && !qX(e, t) && !Dhe(e, t) } function $We(e, t) { return ($d(e) || Na(e)) && s6(t) && t.name.kind === 164 || Nw(e) && Nw(t) } function Zm(e, t, r, i = { leadingTriviaOption: 1 }) { let o = f1(t, r, i), s = mx(t, r, i); e.deleteRange(t, { pos: o, end: s }) } function Gk(e, t, r, i) { let o = L.checkDefined(tl.SmartIndenter.getContainingList(i, r)), s = DA(o, i); if (L.assert(s !== -1), o.length === 1) { Zm(e, r, i); return } L.assert(!t.has(i), "Deleting a node twice"), t.add(i), e.deleteRange(r, { pos: ate(r, i), end: s === o.length - 1 ? mx(r, i, {}) : zWe(r, i, o[s - 1], o[s + 1]) }) } var ste, cte, iC, FG, UP, RSe, lte, QWe = gt({
-                "src/services/textChanges.ts"() {
-                    "use strict"; Fr(), ste = (e => (e[e.Exclude = 0] = "Exclude", e[e.IncludeAll = 1] = "IncludeAll", e[e.JSDoc = 2] = "JSDoc", e[e.StartLine = 3] = "StartLine", e))(ste || {}), cte = (e => (e[e.Exclude = 0] = "Exclude", e[e.ExcludeWhitespace = 1] = "ExcludeWhitespace", e[e.Include = 2] = "Include", e))(cte || {}), iC = { leadingTriviaOption: 0, trailingTriviaOption: 0 }, FG = class {
-                        constructor(e, t) { this.newLineCharacter = e, this.formatContext = t, this.changes = [], this.newFiles = [], this.classesWithNodesInsertedAtStart = new Map, this.deletedNodes = [] } static fromContext(e) { return new FG(bb(e.host, e.formatContext.options), e.formatContext) } static with(e, t) { let r = FG.fromContext(e); return t(r), r.getChanges() } pushRaw(e, t) { L.assertEqual(e.fileName, t.fileName); for (let r of t.textChanges) this.changes.push({ kind: 3, sourceFile: e, text: r.newText, range: y7(r.span) }) } deleteRange(e, t) { this.changes.push({ kind: 0, sourceFile: e, range: t }) } delete(e, t) { this.deletedNodes.push({ sourceFile: e, node: t }) } deleteNode(e, t, r = { leadingTriviaOption: 1 }) { this.deleteRange(e, Fk(e, t, t, r)) } deleteNodes(e, t, r = { leadingTriviaOption: 1 }, i) { for (let o of t) { let s = f1(e, o, r, i), l = mx(e, o, r); this.deleteRange(e, { pos: s, end: l }), i = !!ite(e, o, r) } } deleteModifier(e, t) { this.deleteRange(e, { pos: t.getStart(e), end: xo(e.text, t.end, !0) }) } deleteNodeRange(e, t, r, i = { leadingTriviaOption: 1 }) { let o = f1(e, t, i), s = mx(e, r, i); this.deleteRange(e, { pos: o, end: s }) } deleteNodeRangeExcludingEnd(e, t, r, i = { leadingTriviaOption: 1 }) { let o = f1(e, t, i), s = r === void 0 ? e.text.length : f1(e, r, i); this.deleteRange(e, { pos: o, end: s }) } replaceRange(e, t, r, i = {}) { this.changes.push({ kind: 1, sourceFile: e, range: t, options: i, node: r }) } replaceNode(e, t, r, i = iC) { this.replaceRange(e, Fk(e, t, t, i), r, i) } replaceNodeRange(e, t, r, i, o = iC) { this.replaceRange(e, Fk(e, t, r, o), i, o) } replaceRangeWithNodes(e, t, r, i = {}) { this.changes.push({ kind: 2, sourceFile: e, range: t, options: i, nodes: r }) } replaceNodeWithNodes(e, t, r, i = iC) { this.replaceRangeWithNodes(e, Fk(e, t, t, i), r, i) } replaceNodeWithText(e, t, r) { this.replaceRangeWithText(e, Fk(e, t, t, iC), r) } replaceNodeRangeWithNodes(e, t, r, i, o = iC) { this.replaceRangeWithNodes(e, Fk(e, t, r, o), i, o) } nodeHasTrailingComment(e, t, r = iC) { return !!ite(e, t, r) } nextCommaToken(e, t) { let r = t1(t, t.parent, e); return r && r.kind === 27 ? r : void 0 } replacePropertyAssignment(e, t, r) { let i = this.nextCommaToken(e, t) ? "" : "," + this.newLineCharacter; this.replaceNode(e, t, r, { suffix: i }) } insertNodeAt(e, t, r, i = {}) { this.replaceRange(e, Gf(t), r, i) } insertNodesAt(e, t, r, i = {}) { this.replaceRangeWithNodes(e, Gf(t), r, i) } insertNodeAtTopOfFile(e, t, r) { this.insertAtTopOfFile(e, t, r) } insertNodesAtTopOfFile(e, t, r) { this.insertAtTopOfFile(e, t, r) } insertAtTopOfFile(e, t, r) { let i = YWe(e), o = { prefix: i === 0 ? void 0 : this.newLineCharacter, suffix: (Wl(e.text.charCodeAt(i)) ? "" : this.newLineCharacter) + (r ? this.newLineCharacter : "") }; ba(t) ? this.insertNodesAt(e, i, t, o) : this.insertNodeAt(e, i, t, o) } insertFirstParameter(e, t, r) { let i = Sl(t); i ? this.insertNodeBefore(e, i, r) : this.insertNodeAt(e, t.pos, r) } insertNodeBefore(e, t, r, i = !1, o = {}) { this.insertNodeAt(e, f1(e, t, o), r, this.getOptionsForInsertNodeBefore(t, r, i)) } insertModifierAt(e, t, r, i = {}) { this.insertNodeAt(e, t, D.createToken(r), i) } insertModifierBefore(e, t, r) { return this.insertModifierAt(e, r.getStart(e), t, { suffix: " " }) } insertCommentBeforeLine(e, t, r, i) { let o = Ky(t, e), s = nge(e.text, o), l = wSe(e, s), f = nk(e, l ? s : r), d = e.text.slice(o, s), g = `${l ? "" : this.newLineCharacter}//${i}${this.newLineCharacter}${d}`; this.insertText(e, f.getStart(e), g) } insertJsdocCommentBefore(e, t, r) { let i = t.getStart(e); if (t.jsDoc) for (let l of t.jsDoc) this.deleteRange(e, { pos: Wf(l.getStart(e), e), end: mx(e, l, {}) }); let o = hY(e.text, i - 1), s = e.text.slice(o, i); this.insertNodeAt(e, i, r, { suffix: this.newLineCharacter + s }) } createJSDocText(e, t) {
-                            let r = Uo(t.jsDoc, o => Ta(o.comment) ? D.createJSDocText(o.comment) : o.comment), i = Wp(t.jsDoc); return i && Bf(i.pos, i.end, e) && Fn(r) === 0 ? void 0 : D.createNodeArray(DU(r, D.createJSDocText(`
-`)))
-                        } replaceJSDocComment(e, t, r) { this.insertJsdocCommentBefore(e, HWe(t), D.createJSDocComment(this.createJSDocText(e, t), D.createNodeArray(r))) } addJSDocTags(e, t, r) { let i = BD(t.jsDoc, s => s.tags), o = r.filter(s => !i.some((l, f) => { let d = WWe(l, s); return d && (i[f] = d), !!d })); this.replaceJSDocComment(e, t, [...i, ...o]) } filterJSDocTags(e, t, r) { this.replaceJSDocComment(e, t, Pr(BD(t.jsDoc, i => i.tags), r)) } replaceRangeWithText(e, t, r) { this.changes.push({ kind: 3, sourceFile: e, range: t, text: r }) } insertText(e, t, r) { this.replaceRangeWithText(e, Gf(t), r) } tryInsertTypeAnnotation(e, t, r) { var i; let o; if (Ia(t)) { if (o = Yo(t, 21, e), !o) { if (!xs(t)) return !1; o = Vo(t.parameters) } } else o = (i = t.kind === 257 ? t.exclamationToken : t.questionToken) != null ? i : t.name; return this.insertNodeAt(e, o.end, r, { prefix: ": " }), !0 } tryInsertThisTypeAnnotation(e, t, r) { let i = Yo(t, 20, e).getStart(e) + 1, o = t.parameters.length ? ", " : ""; this.insertNodeAt(e, i, r, { prefix: "this: ", suffix: o }) } insertTypeParameters(e, t, r) { let i = (Yo(t, 20, e) || Vo(t.parameters)).getStart(e); this.insertNodesAt(e, i, r, { prefix: "<", suffix: ">", joiner: ", " }) } getOptionsForInsertNodeBefore(e, t, r) { return ca(e) || _l(e) ? { suffix: r ? this.newLineCharacter + this.newLineCharacter : this.newLineCharacter } : wi(e) ? { suffix: ", " } : ha(e) ? ha(t) ? { suffix: ", " } : {} : yo(e) && gl(e.parent) || jg(e) ? { suffix: ", " } : $u(e) ? { suffix: "," + (r ? this.newLineCharacter : " ") } : L.failBadSyntaxKind(e) } insertNodeAtConstructorStart(e, t, r) { let i = Sl(t.body.statements); !i || !t.body.multiLine ? this.replaceConstructorBody(e, t, [r, ...t.body.statements]) : this.insertNodeBefore(e, i, r) } insertNodeAtConstructorStartAfterSuperCall(e, t, r) { let i = wr(t.body.statements, o => Ol(o) && OA(o.expression)); !i || !t.body.multiLine ? this.replaceConstructorBody(e, t, [...t.body.statements, r]) : this.insertNodeAfter(e, i, r) } insertNodeAtConstructorEnd(e, t, r) { let i = Os(t.body.statements); !i || !t.body.multiLine ? this.replaceConstructorBody(e, t, [...t.body.statements, r]) : this.insertNodeAfter(e, i, r) } replaceConstructorBody(e, t, r) { this.replaceNode(e, t.body, D.createBlock(r, !0)) } insertNodeAtEndOfScope(e, t, r) { let i = f1(e, t.getLastToken(), {}); this.insertNodeAt(e, i, r, { prefix: Wl(e.text.charCodeAt(t.getLastToken().pos)) ? this.newLineCharacter : this.newLineCharacter + this.newLineCharacter, suffix: this.newLineCharacter }) } insertMemberAtStart(e, t, r) { this.insertNodeAtStartWorker(e, t, r) } insertNodeAtObjectStart(e, t, r) { this.insertNodeAtStartWorker(e, t, r) } insertNodeAtStartWorker(e, t, r) { var i; let o = (i = this.guessIndentationFromExistingMembers(e, t)) != null ? i : this.computeIndentationForNewMember(e, t); this.insertNodeAt(e, PG(t).pos, r, this.getInsertNodeAtStartInsertOptions(e, t, o)) } guessIndentationFromExistingMembers(e, t) { let r, i = t; for (let o of PG(t)) { if (a4(i, o, e)) return; let s = o.getStart(e), l = tl.SmartIndenter.findFirstNonWhitespaceColumn(Wf(s, e), s, e, this.formatContext.options); if (r === void 0) r = l; else if (l !== r) return; i = o } return r } computeIndentationForNewMember(e, t) { var r; let i = t.getStart(e); return tl.SmartIndenter.findFirstNonWhitespaceColumn(Wf(i, e), i, e, this.formatContext.options) + ((r = this.formatContext.options.indentSize) != null ? r : 4) } getInsertNodeAtStartInsertOptions(e, t, r) { let o = PG(t).length === 0, s = V_(this.classesWithNodesInsertedAtStart, zo(t), { node: t, sourceFile: e }), l = rs(t) && (!Mf(e) || !o), f = rs(t) && Mf(e) && o && !s; return { indentation: r, prefix: (f ? "," : "") + this.newLineCharacter, suffix: l ? "," : ku(t) && o ? ";" : "" } } insertNodeAfterComma(e, t, r) { let i = this.insertNodeAfterWorker(e, this.nextCommaToken(e, t) || t, r); this.insertNodeAt(e, i, r, this.getInsertNodeAfterOptions(e, t)) } insertNodeAfter(e, t, r) { let i = this.insertNodeAfterWorker(e, t, r); this.insertNodeAt(e, i, r, this.getInsertNodeAfterOptions(e, t)) } insertNodeAtEndOfList(e, t, r) { this.insertNodeAt(e, t.end, r, { prefix: ", " }) } insertNodesAfter(e, t, r) { let i = this.insertNodeAfterWorker(e, t, Vo(r)); this.insertNodesAt(e, i, r, this.getInsertNodeAfterOptions(e, t)) } insertNodeAfterWorker(e, t, r) { return $We(t, r) && e.text.charCodeAt(t.end - 1) !== 59 && this.replaceRange(e, Gf(t.end), D.createToken(26)), mx(e, t, {}) } getInsertNodeAfterOptions(e, t) {
-                            let r = this.getInsertNodeAfterOptionsWorker(t); return {
-                                ...r, prefix: t.end === e.end && ca(t) ? r.prefix ? `
-${r.prefix}` : `
-`: r.prefix
-                            }
-                        } getInsertNodeAfterOptionsWorker(e) { switch (e.kind) { case 260: case 264: return { prefix: this.newLineCharacter, suffix: this.newLineCharacter }; case 257: case 10: case 79: return { prefix: ", " }; case 299: return { suffix: "," + this.newLineCharacter }; case 93: return { prefix: " " }; case 166: return {}; default: return L.assert(ca(e) || s6(e)), { suffix: this.newLineCharacter } } } insertName(e, t, r) { if (L.assert(!t.name), t.kind === 216) { let i = Yo(t, 38, e), o = Yo(t, 20, e); o ? (this.insertNodesAt(e, o.getStart(e), [D.createToken(98), D.createIdentifier(r)], { joiner: " " }), Zm(this, e, i)) : (this.insertText(e, Vo(t.parameters).getStart(e), `function ${r}(`), this.replaceRange(e, i, D.createToken(21))), t.body.kind !== 238 && (this.insertNodesAt(e, t.body.getStart(e), [D.createToken(18), D.createToken(105)], { joiner: " ", suffix: " " }), this.insertNodesAt(e, t.body.end, [D.createToken(26), D.createToken(19)], { joiner: " " })) } else { let i = Yo(t, t.kind === 215 ? 98 : 84, e).end; this.insertNodeAt(e, i, D.createIdentifier(r), { prefix: " " }) } } insertExportModifier(e, t) { this.insertText(e, t.getStart(e), "export ") } insertImportSpecifierAtIndex(e, t, r, i) { let o = r.elements[i - 1]; o ? this.insertNodeInListAfter(e, o, t) : this.insertNodeBefore(e, r.elements[0], t, !Bf(r.elements[0].getStart(), r.parent.parent.getStart(), e)) } insertNodeInListAfter(e, t, r, i = tl.SmartIndenter.getContainingList(t, e)) { if (!i) { L.fail("node is not a list element"); return } let o = DA(i, t); if (o < 0) return; let s = t.getEnd(); if (o !== i.length - 1) { let l = Vi(e, t.end); if (l && NG(t, l)) { let f = i[o + 1], d = kSe(e.text, f.getFullStart()), g = `${Xa(l.kind)}${e.text.substring(l.end, d)}`; this.insertNodesAt(e, d, [r], { suffix: g }) } } else { let l = t.getStart(e), f = Wf(l, e), d, g = !1; if (i.length === 1) d = 27; else { let m = el(t.pos, e); d = NG(t, m) ? m.kind : 27, g = Wf(i[o - 1].getStart(e), e) !== f } if (VWe(e.text, t.end) && (g = !0), g) { this.replaceRange(e, Gf(s), D.createToken(d)); let m = tl.SmartIndenter.findFirstNonWhitespaceColumn(f, l, e, this.formatContext.options), v = xo(e.text, s, !0, !1); for (; v !== s && Wl(e.text.charCodeAt(v - 1));)v--; this.replaceRange(e, Gf(v), r, { indentation: m, prefix: this.newLineCharacter }) } else this.replaceRange(e, Gf(s), r, { prefix: `${Xa(d)} ` }) } } parenthesizeExpression(e, t) { this.replaceRange(e, MW(t), D.createParenthesizedExpression(t)) } finishClassesWithNodesInsertedAtStart() { this.classesWithNodesInsertedAtStart.forEach(({ node: e, sourceFile: t }) => { let [r, i] = JWe(e, t); if (r !== void 0 && i !== void 0) { let o = PG(e).length === 0, s = Bf(r, i, t); o && s && r !== i - 1 && this.deleteRange(t, Gf(r, i - 1)), s && this.insertText(t, i - 1, this.newLineCharacter) } }) } finishDeleteDeclarations() { let e = new Set; for (let { sourceFile: t, node: r } of this.deletedNodes) this.deletedNodes.some(i => i.sourceFile === t && bhe(i.node, r)) || (ba(r) ? this.deleteRange(t, FW(t, r)) : lte.deleteDeclaration(this, e, t, r)); e.forEach(t => { let r = t.getSourceFile(), i = tl.SmartIndenter.getContainingList(t, r); if (t !== To(i)) return; let o = s8(i, s => !e.has(s), i.length - 2); o !== -1 && this.deleteRange(r, { pos: i[o].end, end: ate(r, i[o + 1]) }) }) } getChanges(e) { this.finishDeleteDeclarations(), this.finishClassesWithNodesInsertedAtStart(); let t = UP.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, e); for (let { oldFile: r, fileName: i, statements: o } of this.newFiles) t.push(UP.newFileChanges(r, i, o, this.newLineCharacter, this.formatContext)); return t } createNewFile(e, t, r) { this.newFiles.push({ oldFile: e, fileName: t, statements: r }) }
-                    }, (e => { function t(f, d, g, m) { return Zi(YC(f, v => v.sourceFile.path), v => { let S = v[0].sourceFile, x = Ag(v, (w, C) => w.range.pos - C.range.pos || w.range.end - C.range.end); for (let w = 0; w < x.length - 1; w++)L.assert(x[w].range.end <= x[w + 1].range.pos, "Changes overlap", () => `${JSON.stringify(x[w].range)} and ${JSON.stringify(x[w + 1].range)}`); let A = Zi(x, w => { let C = lv(w.range), P = o(w, S, d, g, m); if (!(C.length === P.length && yge(S.text, P, C.start))) return GN(C, P) }); return A.length > 0 ? { fileName: S.fileName, textChanges: A } : void 0 }) } e.getTextChangesFromChanges = t; function r(f, d, g, m, v) { let S = i(f, RW(d), g, m, v); return { fileName: d, textChanges: [GN(il(0, 0), S)], isNewFile: !0 } } e.newFileChanges = r; function i(f, d, g, m, v) { let S = g.map(w => w === 4 ? "" : l(w, f, m).text).join(m), x = DO("any file name", S, 99, !0, d), A = tl.formatDocument(x, v); return ote(S, A) + m } e.newFileChangesWorker = i; function o(f, d, g, m, v) { var S; if (f.kind === 0) return ""; if (f.kind === 3) return f.text; let { options: x = {}, range: { pos: A } } = f, w = F => s(F, d, A, x, g, m, v), C = f.kind === 2 ? f.nodes.map(F => pA(w(F), g)).join(((S = f.options) == null ? void 0 : S.joiner) || g) : w(f.node), P = x.indentation !== void 0 || Wf(A, d) === A ? C : C.replace(/^\s+/, ""); return (x.prefix || "") + P + (!x.suffix || Oc(P, x.suffix) ? "" : x.suffix) } function s(f, d, g, { indentation: m, prefix: v, delta: S }, x, A, w) { let { node: C, text: P } = l(f, d, x); w && w(C, P); let F = z7(A, d), B = m !== void 0 ? m : tl.SmartIndenter.getIndentation(g, d, F, v === x || Wf(g, d) === g); S === void 0 && (S = tl.SmartIndenter.shouldIndentChildNode(F, f) && F.indentSize || 0); let q = { text: P, getLineAndCharacterOfPosition(Y) { return Gs(this, Y) } }, W = tl.formatNodeGivenIndentation(C, q, d.languageVariant, B, S, { ...A, options: F }); return ote(P, W) } function l(f, d, g) { let m = DSe(g), v = XN(g); return nE({ newLine: v, neverAsciiEscape: !0, preserveSourceNewlines: !0, terminateUnterminatedLiterals: !0 }, m).writeNode(4, f, d, m), { text: m.getText(), node: MG(f) } } e.getNonformattedText = l })(UP || (UP = {})), RSe = { ...Bh, factory: YR(Bh.factory.flags | 1, Bh.factory.baseFactory) }, (e => { function t(s, l, f, d) { switch (d.kind) { case 166: { let x = d.parent; xs(x) && x.parameters.length === 1 && !Yo(x, 20, f) ? s.replaceNodeWithText(f, d, "()") : Gk(s, l, f, d); break } case 269: case 268: let g = f.imports.length && d === Vo(f.imports).parent || d === wr(f.statements, yT); Zm(s, f, d, { leadingTriviaOption: g ? 0 : Kd(d) ? 2 : 3 }); break; case 205: let m = d.parent; m.kind === 204 && d !== To(m.elements) ? Zm(s, f, d) : Gk(s, l, f, d); break; case 257: o(s, l, f, d); break; case 165: Gk(s, l, f, d); break; case 273: let S = d.parent; S.elements.length === 1 ? i(s, f, S) : Gk(s, l, f, d); break; case 271: i(s, f, d); break; case 26: Zm(s, f, d, { trailingTriviaOption: 0 }); break; case 98: Zm(s, f, d, { leadingTriviaOption: 0 }); break; case 260: case 259: Zm(s, f, d, { leadingTriviaOption: Kd(d) ? 2 : 3 }); break; default: d.parent ? lm(d.parent) && d.parent.name === d ? r(s, f, d.parent) : Pa(d.parent) && ya(d.parent.arguments, d) ? Gk(s, l, f, d) : Zm(s, f, d) : Zm(s, f, d) } } e.deleteDeclaration = t; function r(s, l, f) { if (!f.namedBindings) Zm(s, l, f.parent); else { let d = f.name.getStart(l), g = Vi(l, f.name.end); if (g && g.kind === 27) { let m = xo(l.text, g.end, !1, !0); s.deleteRange(l, { pos: d, end: m }) } else Zm(s, l, f.name) } } function i(s, l, f) { if (f.parent.name) { let d = L.checkDefined(Vi(l, f.pos - 1)); s.deleteRange(l, { pos: d.getStart(l), end: f.end }) } else { let d = cb(f, 269); Zm(s, l, d) } } function o(s, l, f, d) { let { parent: g } = d; if (g.kind === 295) { s.deleteNodeRange(f, Yo(g, 20, f), Yo(g, 21, f)); return } if (g.declarations.length !== 1) { Gk(s, l, f, d); return } let m = g.parent; switch (m.kind) { case 247: case 246: s.replaceNode(f, d, D.createObjectLiteralExpression()); break; case 245: Zm(s, f, g); break; case 240: Zm(s, f, m, { leadingTriviaOption: Kd(m) ? 2 : 3 }); break; default: L.assertNever(m) } } })(lte || (lte = {}))
-                }
-            }), nr = {}; Mo(nr, { ChangeTracker: () => FG, LeadingTriviaOption: () => ste, TrailingTriviaOption: () => cte, applyChanges: () => ote, assignPositionsToNode: () => MG, createWriter: () => DSe, deleteNode: () => Zm, getNewFileText: () => KWe, isThisTypeAnnotatable: () => jWe, isValidLocationToAddComment: () => wSe }); var ZWe = gt({ "src/services/_namespaces/ts.textChanges.ts"() { "use strict"; QWe() } }), ute, dte, eze = gt({ "src/services/formatting/formattingContext.ts"() { "use strict"; Fr(), ute = (e => (e[e.FormatDocument = 0] = "FormatDocument", e[e.FormatSelection = 1] = "FormatSelection", e[e.FormatOnEnter = 2] = "FormatOnEnter", e[e.FormatOnSemicolon = 3] = "FormatOnSemicolon", e[e.FormatOnOpeningCurlyBrace = 4] = "FormatOnOpeningCurlyBrace", e[e.FormatOnClosingCurlyBrace = 5] = "FormatOnClosingCurlyBrace", e))(ute || {}), dte = class { constructor(e, t, r) { this.sourceFile = e, this.formattingRequestKind = t, this.options = r } updateContext(e, t, r, i, o) { this.currentTokenSpan = L.checkDefined(e), this.currentTokenParent = L.checkDefined(t), this.nextTokenSpan = L.checkDefined(r), this.nextTokenParent = L.checkDefined(i), this.contextNode = L.checkDefined(o), this.contextNodeAllOnSameLine = void 0, this.nextNodeAllOnSameLine = void 0, this.tokensAreOnSameLine = void 0, this.contextNodeBlockIsOnOneLine = void 0, this.nextNodeBlockIsOnOneLine = void 0 } ContextNodeAllOnSameLine() { return this.contextNodeAllOnSameLine === void 0 && (this.contextNodeAllOnSameLine = this.NodeIsOnOneLine(this.contextNode)), this.contextNodeAllOnSameLine } NextNodeAllOnSameLine() { return this.nextNodeAllOnSameLine === void 0 && (this.nextNodeAllOnSameLine = this.NodeIsOnOneLine(this.nextTokenParent)), this.nextNodeAllOnSameLine } TokensAreOnSameLine() { if (this.tokensAreOnSameLine === void 0) { let e = this.sourceFile.getLineAndCharacterOfPosition(this.currentTokenSpan.pos).line, t = this.sourceFile.getLineAndCharacterOfPosition(this.nextTokenSpan.pos).line; this.tokensAreOnSameLine = e === t } return this.tokensAreOnSameLine } ContextNodeBlockIsOnOneLine() { return this.contextNodeBlockIsOnOneLine === void 0 && (this.contextNodeBlockIsOnOneLine = this.BlockIsOnOneLine(this.contextNode)), this.contextNodeBlockIsOnOneLine } NextNodeBlockIsOnOneLine() { return this.nextNodeBlockIsOnOneLine === void 0 && (this.nextNodeBlockIsOnOneLine = this.BlockIsOnOneLine(this.nextTokenParent)), this.nextNodeBlockIsOnOneLine } NodeIsOnOneLine(e) { let t = this.sourceFile.getLineAndCharacterOfPosition(e.getStart(this.sourceFile)).line, r = this.sourceFile.getLineAndCharacterOfPosition(e.getEnd()).line; return t === r } BlockIsOnOneLine(e) { let t = Yo(e, 18, this.sourceFile), r = Yo(e, 19, this.sourceFile); if (t && r) { let i = this.sourceFile.getLineAndCharacterOfPosition(t.getEnd()).line, o = this.sourceFile.getLineAndCharacterOfPosition(r.getStart(this.sourceFile)).line; return i === o } return !1 } } } }); function fte(e, t, r, i, o) { let s = t === 1 ? NSe : OSe; s.setText(e), s.setTextPos(r); let l = !0, f, d, g, m, v, S = o({ advance: x, readTokenInfo: W, readEOFTokenRange: R, isOnToken: ie, isOnEOF: $, getCurrentLeadingTrivia: () => f, lastTrailingTriviaWasNewLine: () => l, skipToEndOf: Z, skipToStartOf: U, getStartPos: () => { var re; return (re = v?.token.pos) != null ? re : s.getTokenPos() } }); return v = void 0, s.setText(void 0), S; function x() { v = void 0, s.getStartPos() !== r ? l = !!d && To(d).kind === 4 : s.scan(), f = void 0, d = void 0; let le = s.getStartPos(); for (; le < i;) { let _e = s.getToken(); if (!KA(_e)) break; s.scan(); let ge = { pos: le, end: s.getStartPos(), kind: _e }; le = s.getStartPos(), f = Sn(f, ge) } g = s.getStartPos() } function A(re) { switch (re.kind) { case 33: case 71: case 72: case 49: case 48: return !0 }return !1 } function w(re) { if (re.parent) switch (re.parent.kind) { case 288: case 283: case 284: case 282: return Xu(re.kind) || re.kind === 79 }return !1 } function C(re) { return CS(re) || Hg(re) && v?.token.kind === 11 } function P(re) { return re.kind === 13 } function F(re) { return re.kind === 16 || re.kind === 17 } function B(re) { return re.parent && Sp(re.parent) && re.parent.initializer === re } function q(re) { return re === 43 || re === 68 } function W(re) { L.assert(ie()); let le = A(re) ? 1 : P(re) ? 2 : F(re) ? 3 : w(re) ? 4 : C(re) ? 5 : B(re) ? 6 : 0; if (v && le === m) return fe(v, re); s.getStartPos() !== g && (L.assert(v !== void 0), s.setTextPos(g), s.scan()); let _e = Y(re, le), ge = VG(s.getStartPos(), s.getTextPos(), _e); for (d && (d = void 0); s.getStartPos() < i && (_e = s.scan(), !!KA(_e));) { let X = VG(s.getStartPos(), s.getTextPos(), _e); if (d || (d = []), d.push(X), _e === 4) { s.scan(); break } } return v = { leadingTrivia: f, trailingTrivia: d, token: ge }, fe(v, re) } function Y(re, le) { let _e = s.getToken(); switch (m = 0, le) { case 1: if (_e === 31) { m = 1; let ge = s.reScanGreaterToken(); return L.assert(re.kind === ge), ge } break; case 2: if (q(_e)) { m = 2; let ge = s.reScanSlashToken(); return L.assert(re.kind === ge), ge } break; case 3: if (_e === 19) return m = 3, s.reScanTemplateToken(!1); break; case 4: return m = 4, s.scanJsxIdentifier(); case 5: return m = 5, s.reScanJsxToken(!1); case 6: return m = 6, s.reScanJsxAttributeValue(); case 0: break; default: L.assertNever(le) }return _e } function R() { return L.assert($()), VG(s.getStartPos(), s.getTextPos(), 1) } function ie() { let re = v ? v.token.kind : s.getToken(); return re !== 1 && !KA(re) } function $() { return (v ? v.token.kind : s.getToken()) === 1 } function fe(re, le) { return Z1(le) && re.token.kind !== le.kind && (re.token.kind = le.kind), re } function Z(re) { s.setTextPos(re.end), g = s.getStartPos(), m = void 0, v = void 0, l = !1, f = void 0, d = void 0 } function U(re) { s.setTextPos(re.pos), g = s.getStartPos(), m = void 0, v = void 0, l = !1, f = void 0, d = void 0 } } var OSe, NSe, tze = gt({ "src/services/formatting/formattingScanner.ts"() { "use strict"; Fr(), Vk(), OSe = kg(99, !1, 0), NSe = kg(99, !1, 1) } }), VP, _te, pte, nze = gt({ "src/services/formatting/rule.ts"() { "use strict"; Fr(), VP = Je, _te = (e => (e[e.None = 0] = "None", e[e.StopProcessingSpaceActions = 1] = "StopProcessingSpaceActions", e[e.StopProcessingTokenActions = 2] = "StopProcessingTokenActions", e[e.InsertSpace = 4] = "InsertSpace", e[e.InsertNewLine = 8] = "InsertNewLine", e[e.DeleteSpace = 16] = "DeleteSpace", e[e.DeleteToken = 32] = "DeleteToken", e[e.InsertTrailingSemicolon = 64] = "InsertTrailingSemicolon", e[e.StopAction = 3] = "StopAction", e[e.ModifySpaceAction = 28] = "ModifySpaceAction", e[e.ModifyTokenAction = 96] = "ModifyTokenAction", e))(_te || {}), pte = (e => (e[e.None = 0] = "None", e[e.CanDeleteNewLines = 1] = "CanDeleteNewLines", e))(pte || {}) } }); function PSe() { let e = []; for (let Y = 0; Y <= 162; Y++)Y !== 1 && e.push(Y); function t(...Y) { return { tokens: e.filter(R => !Y.some(ie => ie === R)), isSpecific: !1 } } let r = { tokens: e, isSpecific: !1 }, i = aC([...e, 3]), o = aC([...e, 1]), s = FSe(81, 162), l = FSe(29, 78), f = [101, 102, 162, 128, 140, 150], d = [45, 46, 54, 53], g = [8, 9, 79, 20, 22, 18, 108, 103], m = [79, 20, 108, 103], v = [79, 21, 23, 103], S = [79, 20, 108, 103], x = [79, 21, 23, 103], A = [2, 3], w = [79, ...K7], C = i, P = aC([79, 3, 84, 93, 100]), F = aC([21, 3, 90, 111, 96, 91]), B = [Lr("IgnoreBeforeComment", r, A, VP, 1), Lr("IgnoreAfterLineComment", 2, r, VP, 1), Lr("NotSpaceBeforeColon", r, 58, [mi, jP, USe], 16), Lr("SpaceAfterColon", 58, r, [mi, jP], 4), Lr("NoSpaceBeforeQuestionMark", r, 57, [mi, jP, USe], 16), Lr("SpaceAfterQuestionMarkInConditionalOperator", 57, r, [mi, ize], 4), Lr("NoSpaceAfterQuestionMark", 57, r, [mi], 16), Lr("NoSpaceBeforeDot", r, [24, 28], [mi, kze], 16), Lr("NoSpaceAfterDot", [24, 28], r, [mi], 16), Lr("NoSpaceBetweenImportParenInImportType", 100, 20, [mi, mze], 16), Lr("NoSpaceAfterUnaryPrefixOperator", d, g, [mi, jP], 16), Lr("NoSpaceAfterUnaryPreincrementOperator", 45, m, [mi], 16), Lr("NoSpaceAfterUnaryPredecrementOperator", 46, S, [mi], 16), Lr("NoSpaceBeforeUnaryPostincrementOperator", v, 45, [mi, txe], 16), Lr("NoSpaceBeforeUnaryPostdecrementOperator", x, 46, [mi, txe], 16), Lr("SpaceAfterPostincrementWhenFollowedByAdd", 45, 39, [mi, Qg], 4), Lr("SpaceAfterAddWhenFollowedByUnaryPlus", 39, 39, [mi, Qg], 4), Lr("SpaceAfterAddWhenFollowedByPreincrement", 39, 45, [mi, Qg], 4), Lr("SpaceAfterPostdecrementWhenFollowedBySubtract", 46, 40, [mi, Qg], 4), Lr("SpaceAfterSubtractWhenFollowedByUnaryMinus", 40, 40, [mi, Qg], 4), Lr("SpaceAfterSubtractWhenFollowedByPredecrement", 40, 46, [mi, Qg], 4), Lr("NoSpaceAfterCloseBrace", 19, [27, 26], [mi], 16), Lr("NewLineBeforeCloseBraceInBlockContext", i, 19, [jSe], 8), Lr("SpaceAfterCloseBrace", 19, t(21), [mi, sze], 4), Lr("SpaceBetweenCloseBraceAndElse", 19, 91, [mi], 4), Lr("SpaceBetweenCloseBraceAndWhile", 19, 115, [mi], 4), Lr("NoSpaceBetweenEmptyBraceBrackets", 18, 19, [mi, qSe], 16), Lr("SpaceAfterConditionalClosingParen", 21, 22, [HP], 4), Lr("NoSpaceBetweenFunctionKeywordAndStar", 98, 41, [zSe], 16), Lr("SpaceAfterStarInGeneratorDeclaration", 41, 79, [zSe], 4), Lr("SpaceAfterFunctionInFuncDecl", 98, r, [cE], 4), Lr("NewLineAfterOpenBraceInBlockContext", 18, r, [jSe], 8), Lr("SpaceAfterGetSetInMember", [137, 151], 79, [cE], 4), Lr("NoSpaceBetweenYieldKeywordAndStar", 125, 41, [mi, exe], 16), Lr("SpaceBetweenYieldOrYieldStarAndOperand", [125, 41], r, [mi, exe], 4), Lr("NoSpaceBetweenReturnAndSemicolon", 105, 26, [mi], 16), Lr("SpaceAfterCertainKeywords", [113, 109, 103, 89, 105, 112, 133], r, [mi], 4), Lr("SpaceAfterLetConstInVariableDeclaration", [119, 85], r, [mi, vze], 4), Lr("NoSpaceBeforeOpenParenInFuncCall", r, 20, [mi, uze, dze], 16), Lr("SpaceBeforeBinaryKeywordOperator", r, f, [mi, Qg], 4), Lr("SpaceAfterBinaryKeywordOperator", f, r, [mi, Qg], 4), Lr("SpaceAfterVoidOperator", 114, r, [mi, xze], 4), Lr("SpaceBetweenAsyncAndOpenParen", 132, 20, [pze, mi], 4), Lr("SpaceBetweenAsyncAndFunctionKeyword", 132, [98, 79], [mi], 4), Lr("NoSpaceBetweenTagAndTemplateString", [79, 21], [14, 15], [mi], 16), Lr("SpaceBeforeJsxAttribute", r, 79, [hze, mi], 4), Lr("SpaceBeforeSlashInJsxOpeningElement", r, 43, [$Se, mi], 4), Lr("NoSpaceBeforeGreaterThanTokenInJsxOpeningElement", 43, 31, [$Se, mi], 16), Lr("NoSpaceBeforeEqualInJsxAttribute", r, 63, [YSe, mi], 16), Lr("NoSpaceAfterEqualInJsxAttribute", 63, r, [YSe, mi], 16), Lr("NoSpaceAfterModuleImport", [142, 147], 20, [mi], 16), Lr("SpaceAfterCertainTypeScriptKeywords", [126, 127, 84, 136, 88, 92, 93, 94, 137, 117, 100, 118, 142, 143, 121, 123, 122, 146, 151, 124, 154, 158, 141, 138], r, [mi], 4), Lr("SpaceBeforeCertainTypeScriptKeywords", r, [94, 117, 158], [mi], 4), Lr("SpaceAfterModuleName", 10, 18, [bze], 4), Lr("SpaceBeforeArrow", r, 38, [mi], 4), Lr("SpaceAfterArrow", 38, r, [mi], 4), Lr("NoSpaceAfterEllipsis", 25, 79, [mi], 16), Lr("NoSpaceAfterOptionalParameters", 57, [21, 27], [mi, jP], 16), Lr("NoSpaceBetweenEmptyInterfaceBraceBrackets", 18, 19, [mi, Eze], 16), Lr("NoSpaceBeforeOpenAngularBracket", w, 29, [mi, WP], 16), Lr("NoSpaceBetweenCloseParenAndAngularBracket", 21, 29, [mi, WP], 16), Lr("NoSpaceAfterOpenAngularBracket", 29, r, [mi, WP], 16), Lr("NoSpaceBeforeCloseAngularBracket", r, 31, [mi, WP], 16), Lr("NoSpaceAfterCloseAngularBracket", 31, [20, 22, 31, 27], [mi, WP, oze, Sze], 16), Lr("SpaceBeforeAt", [21, 79], 59, [mi], 4), Lr("NoSpaceAfterAt", 59, r, [mi], 16), Lr("SpaceAfterDecorator", r, [126, 79, 93, 88, 84, 124, 123, 121, 122, 137, 151, 22, 41], [yze], 4), Lr("NoSpaceBeforeNonNullAssertionOperator", r, 53, [mi, Aze], 16), Lr("NoSpaceAfterNewKeywordOnConstructorSignature", 103, 20, [mi, Tze], 16), Lr("SpaceLessThanAndNonJSXTypeAnnotation", 29, 29, [mi], 4)], q = [Lr("SpaceAfterConstructor", 135, 20, [Nd("insertSpaceAfterConstructor"), mi], 4), Lr("NoSpaceAfterConstructor", 135, 20, [q_("insertSpaceAfterConstructor"), mi], 16), Lr("SpaceAfterComma", 27, r, [Nd("insertSpaceAfterCommaDelimiter"), mi, Ete, fze, _ze], 4), Lr("NoSpaceAfterComma", 27, r, [q_("insertSpaceAfterCommaDelimiter"), mi, Ete], 16), Lr("SpaceAfterAnonymousFunctionKeyword", [98, 41], 20, [Nd("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), cE], 4), Lr("NoSpaceAfterAnonymousFunctionKeyword", [98, 41], 20, [q_("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), cE], 16), Lr("SpaceAfterKeywordInControl", s, 20, [Nd("insertSpaceAfterKeywordsInControlFlowStatements"), HP], 4), Lr("NoSpaceAfterKeywordInControl", s, 20, [q_("insertSpaceAfterKeywordsInControlFlowStatements"), HP], 16), Lr("SpaceAfterOpenParen", 20, r, [Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), mi], 4), Lr("SpaceBeforeCloseParen", r, 21, [Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), mi], 4), Lr("SpaceBetweenOpenParens", 20, 20, [Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), mi], 4), Lr("NoSpaceBetweenParens", 20, 21, [mi], 16), Lr("NoSpaceAfterOpenParen", 20, r, [q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), mi], 16), Lr("NoSpaceBeforeCloseParen", r, 21, [q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), mi], 16), Lr("SpaceAfterOpenBracket", 22, r, [Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), mi], 4), Lr("SpaceBeforeCloseBracket", r, 23, [Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), mi], 4), Lr("NoSpaceBetweenBrackets", 22, 23, [mi], 16), Lr("NoSpaceAfterOpenBracket", 22, r, [q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), mi], 16), Lr("NoSpaceBeforeCloseBracket", r, 23, [q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), mi], 16), Lr("SpaceAfterOpenBrace", 18, r, [BSe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), VSe], 4), Lr("SpaceBeforeCloseBrace", r, 19, [BSe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), VSe], 4), Lr("NoSpaceBetweenEmptyBraceBrackets", 18, 19, [mi, qSe], 16), Lr("NoSpaceAfterOpenBrace", 18, r, [mte("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), mi], 16), Lr("NoSpaceBeforeCloseBrace", r, 19, [mte("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), mi], 16), Lr("SpaceBetweenEmptyBraceBrackets", 18, 19, [Nd("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")], 4), Lr("NoSpaceBetweenEmptyBraceBrackets", 18, 19, [mte("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), mi], 16), Lr("SpaceAfterTemplateHeadAndMiddle", [15, 16], r, [Nd("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), XSe], 4, 1), Lr("SpaceBeforeTemplateMiddleAndTail", r, [16, 17], [Nd("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), mi], 4), Lr("NoSpaceAfterTemplateHeadAndMiddle", [15, 16], r, [q_("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), XSe], 16, 1), Lr("NoSpaceBeforeTemplateMiddleAndTail", r, [16, 17], [q_("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), mi], 16), Lr("SpaceAfterOpenBraceInJsxExpression", 18, r, [Nd("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), mi, BG], 4), Lr("SpaceBeforeCloseBraceInJsxExpression", r, 19, [Nd("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), mi, BG], 4), Lr("NoSpaceAfterOpenBraceInJsxExpression", 18, r, [q_("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), mi, BG], 16), Lr("NoSpaceBeforeCloseBraceInJsxExpression", r, 19, [q_("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), mi, BG], 16), Lr("SpaceAfterSemicolonInFor", 26, r, [Nd("insertSpaceAfterSemicolonInForStatements"), mi, gte], 4), Lr("NoSpaceAfterSemicolonInFor", 26, r, [q_("insertSpaceAfterSemicolonInForStatements"), mi, gte], 16), Lr("SpaceBeforeBinaryOperator", r, l, [Nd("insertSpaceBeforeAndAfterBinaryOperators"), mi, Qg], 4), Lr("SpaceAfterBinaryOperator", l, r, [Nd("insertSpaceBeforeAndAfterBinaryOperators"), mi, Qg], 4), Lr("NoSpaceBeforeBinaryOperator", r, l, [q_("insertSpaceBeforeAndAfterBinaryOperators"), mi, Qg], 16), Lr("NoSpaceAfterBinaryOperator", l, r, [q_("insertSpaceBeforeAndAfterBinaryOperators"), mi, Qg], 16), Lr("SpaceBeforeOpenParenInFuncDecl", r, 20, [Nd("insertSpaceBeforeFunctionParenthesis"), mi, cE], 4), Lr("NoSpaceBeforeOpenParenInFuncDecl", r, 20, [q_("insertSpaceBeforeFunctionParenthesis"), mi, cE], 16), Lr("NewLineBeforeOpenBraceInControl", F, 18, [Nd("placeOpenBraceOnNewLineForControlBlocks"), HP, bte], 8, 1), Lr("NewLineBeforeOpenBraceInFunction", C, 18, [Nd("placeOpenBraceOnNewLineForFunctions"), cE, bte], 8, 1), Lr("NewLineBeforeOpenBraceInTypeScriptDeclWithBlock", P, 18, [Nd("placeOpenBraceOnNewLineForFunctions"), JSe, bte], 8, 1), Lr("SpaceAfterTypeAssertion", 31, r, [Nd("insertSpaceAfterTypeAssertion"), mi, Ste], 4), Lr("NoSpaceAfterTypeAssertion", 31, r, [q_("insertSpaceAfterTypeAssertion"), mi, Ste], 16), Lr("SpaceBeforeTypeAnnotation", r, [57, 58], [Nd("insertSpaceBeforeTypeAnnotation"), mi, yte], 4), Lr("NoSpaceBeforeTypeAnnotation", r, [57, 58], [q_("insertSpaceBeforeTypeAnnotation"), mi, yte], 16), Lr("NoOptionalSemicolon", 26, o, [GSe("semicolons", "remove"), Ize], 32), Lr("OptionalSemicolon", r, o, [GSe("semicolons", "insert"), Lze], 64)], W = [Lr("NoSpaceBeforeSemicolon", r, 26, [mi], 16), Lr("SpaceBeforeOpenBraceInControl", F, 18, [hte("placeOpenBraceOnNewLineForControlBlocks"), HP, Tte, vte], 4, 1), Lr("SpaceBeforeOpenBraceInFunction", C, 18, [hte("placeOpenBraceOnNewLineForFunctions"), cE, GG, Tte, vte], 4, 1), Lr("SpaceBeforeOpenBraceInTypeScriptDeclWithBlock", P, 18, [hte("placeOpenBraceOnNewLineForFunctions"), JSe, Tte, vte], 4, 1), Lr("NoSpaceBeforeComma", r, 27, [mi], 16), Lr("NoSpaceBeforeOpenBracket", t(132, 82), 22, [mi], 16), Lr("NoSpaceAfterCloseBracket", 23, r, [mi, gze], 16), Lr("SpaceAfterSemicolon", 26, r, [mi], 4), Lr("SpaceBetweenForAndAwaitKeyword", 97, 133, [mi], 4), Lr("SpaceBetweenStatements", [21, 90, 91, 82], r, [mi, Ete, rze], 4), Lr("SpaceAfterTryCatchFinally", [111, 83, 96], 18, [mi], 4)]; return [...B, ...q, ...W] } function Lr(e, t, r, i, o, s = 0) { return { leftTokenRange: MSe(t), rightTokenRange: MSe(r), rule: { debugName: e, context: i, action: o, flags: s } } } function aC(e) { return { tokens: e, isSpecific: !0 } } function MSe(e) { return typeof e == "number" ? aC([e]) : ba(e) ? aC(e) : e } function FSe(e, t, r = []) { let i = []; for (let o = e; o <= t; o++)ya(r, o) || i.push(o); return aC(i) } function GSe(e, t) { return r => r.options && r.options[e] === t } function Nd(e) { return t => t.options && fs(t.options, e) && !!t.options[e] } function mte(e) { return t => t.options && fs(t.options, e) && !t.options[e] } function q_(e) { return t => !t.options || !fs(t.options, e) || !t.options[e] } function hte(e) { return t => !t.options || !fs(t.options, e) || !t.options[e] || t.TokensAreOnSameLine() } function BSe(e) { return t => !t.options || !fs(t.options, e) || !!t.options[e] } function gte(e) { return e.contextNode.kind === 245 } function rze(e) { return !gte(e) } function Qg(e) { switch (e.contextNode.kind) { case 223: return e.contextNode.operatorToken.kind !== 27; case 224: case 191: case 231: case 278: case 273: case 179: case 189: case 190: case 235: return !0; case 205: case 262: case 268: case 274: case 257: case 166: case 302: case 169: case 168: return e.currentTokenSpan.kind === 63 || e.nextTokenSpan.kind === 63; case 246: case 165: return e.currentTokenSpan.kind === 101 || e.nextTokenSpan.kind === 101 || e.currentTokenSpan.kind === 63 || e.nextTokenSpan.kind === 63; case 247: return e.currentTokenSpan.kind === 162 || e.nextTokenSpan.kind === 162 }return !1 } function jP(e) { return !Qg(e) } function USe(e) { return !yte(e) } function yte(e) { let t = e.contextNode.kind; return t === 169 || t === 168 || t === 166 || t === 257 || nS(t) } function ize(e) { return e.contextNode.kind === 224 || e.contextNode.kind === 191 } function vte(e) { return e.TokensAreOnSameLine() || GG(e) } function VSe(e) { return e.contextNode.kind === 203 || e.contextNode.kind === 197 || aze(e) } function bte(e) { return GG(e) && !(e.NextNodeAllOnSameLine() || e.NextNodeBlockIsOnOneLine()) } function jSe(e) { return HSe(e) && !(e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine()) } function aze(e) { return HSe(e) && (e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine()) } function HSe(e) { return WSe(e.contextNode) } function GG(e) { return WSe(e.nextTokenParent) } function WSe(e) { if (KSe(e)) return !0; switch (e.kind) { case 238: case 266: case 207: case 265: return !0 }return !1 } function cE(e) { switch (e.contextNode.kind) { case 259: case 171: case 170: case 174: case 175: case 176: case 215: case 173: case 216: case 261: return !0 }return !1 } function oze(e) { return !cE(e) } function zSe(e) { return e.contextNode.kind === 259 || e.contextNode.kind === 215 } function JSe(e) { return KSe(e.contextNode) } function KSe(e) { switch (e.kind) { case 260: case 228: case 261: case 263: case 184: case 264: case 275: case 276: case 269: case 272: return !0 }return !1 } function sze(e) { switch (e.currentTokenParent.kind) { case 260: case 264: case 263: case 295: case 265: case 252: return !0; case 238: { let t = e.currentTokenParent.parent; if (!t || t.kind !== 216 && t.kind !== 215) return !0 } }return !1 } function HP(e) { switch (e.contextNode.kind) { case 242: case 252: case 245: case 246: case 247: case 244: case 255: case 243: case 251: case 295: return !0; default: return !1 } } function qSe(e) { return e.contextNode.kind === 207 } function cze(e) { return e.contextNode.kind === 210 } function lze(e) { return e.contextNode.kind === 211 } function uze(e) { return cze(e) || lze(e) } function dze(e) { return e.currentTokenSpan.kind !== 27 } function fze(e) { return e.nextTokenSpan.kind !== 23 } function _ze(e) { return e.nextTokenSpan.kind !== 21 } function pze(e) { return e.contextNode.kind === 216 } function mze(e) { return e.contextNode.kind === 202 } function mi(e) { return e.TokensAreOnSameLine() && e.contextNode.kind !== 11 } function XSe(e) { return e.contextNode.kind !== 11 } function Ete(e) { return e.contextNode.kind !== 281 && e.contextNode.kind !== 285 } function BG(e) { return e.contextNode.kind === 291 || e.contextNode.kind === 290 } function hze(e) { return e.nextTokenParent.kind === 288 } function YSe(e) { return e.contextNode.kind === 288 } function $Se(e) { return e.contextNode.kind === 282 } function gze(e) { return !cE(e) && !GG(e) } function yze(e) { return e.TokensAreOnSameLine() && bf(e.contextNode) && QSe(e.currentTokenParent) && !QSe(e.nextTokenParent) } function QSe(e) { for (; e && ot(e);)e = e.parent; return e && e.kind === 167 } function vze(e) { return e.currentTokenParent.kind === 258 && e.currentTokenParent.getStart(e.sourceFile) === e.currentTokenSpan.pos } function Tte(e) { return e.formattingRequestKind !== 2 } function bze(e) { return e.contextNode.kind === 264 } function Eze(e) { return e.contextNode.kind === 184 } function Tze(e) { return e.contextNode.kind === 177 } function ZSe(e, t) { if (e.kind !== 29 && e.kind !== 31) return !1; switch (t.kind) { case 180: case 213: case 262: case 260: case 228: case 261: case 259: case 215: case 216: case 171: case 170: case 176: case 177: case 210: case 211: case 230: return !0; default: return !1 } } function WP(e) { return ZSe(e.currentTokenSpan, e.currentTokenParent) || ZSe(e.nextTokenSpan, e.nextTokenParent) } function Ste(e) { return e.contextNode.kind === 213 } function Sze(e) { return !Ste(e) } function xze(e) { return e.currentTokenSpan.kind === 114 && e.currentTokenParent.kind === 219 } function exe(e) { return e.contextNode.kind === 226 && e.contextNode.expression !== void 0 } function Aze(e) { return e.contextNode.kind === 232 } function txe(e) { return !Cze(e) } function Cze(e) { switch (e.contextNode.kind) { case 242: case 245: case 246: case 247: case 243: case 244: return !0; default: return !1 } } function Ize(e) { let t = e.nextTokenSpan.kind, r = e.nextTokenSpan.pos; if (KA(t)) { let s = e.nextTokenParent === e.currentTokenParent ? t1(e.currentTokenParent, jn(e.currentTokenParent, l => !l.parent), e.sourceFile) : e.nextTokenParent.getFirstToken(e.sourceFile); if (!s) return !0; t = s.kind, r = s.getStart(e.sourceFile) } let i = e.sourceFile.getLineAndCharacterOfPosition(e.currentTokenSpan.pos).line, o = e.sourceFile.getLineAndCharacterOfPosition(r).line; return i === o ? t === 19 || t === 1 : t === 237 || t === 26 ? !1 : e.contextNode.kind === 261 || e.contextNode.kind === 262 ? !$d(e.currentTokenParent) || !!e.currentTokenParent.type || t !== 20 : Na(e.currentTokenParent) ? !e.currentTokenParent.initializer : e.currentTokenParent.kind !== 245 && e.currentTokenParent.kind !== 239 && e.currentTokenParent.kind !== 237 && t !== 22 && t !== 20 && t !== 39 && t !== 40 && t !== 43 && t !== 13 && t !== 27 && t !== 225 && t !== 15 && t !== 14 && t !== 24 } function Lze(e) { return N7(e.currentTokenSpan.end, e.currentTokenParent, e.sourceFile) } function kze(e) { return !br(e.contextNode) || !Vf(e.contextNode.expression) || e.contextNode.expression.getText().indexOf(".") !== -1 } var Dze = gt({ "src/services/formatting/rules.ts"() { "use strict"; Fr(), Vk() } }); function wze(e, t) { return { options: e, getRules: Rze(), host: t } } function Rze() { return xte === void 0 && (xte = Nze(PSe())), xte } function Oze(e) { let t = 0; return e & 1 && (t |= 28), e & 2 && (t |= 96), e & 28 && (t |= 28), e & 96 && (t |= 96), t } function Nze(e) { let t = Pze(e); return r => { let i = t[nxe(r.currentTokenSpan.kind, r.nextTokenSpan.kind)]; if (i) { let o = [], s = 0; for (let l of i) { let f = ~Oze(s); l.action & f && Ji(l.context, d => d(r)) && (o.push(l), s |= l.action) } if (o.length) return o } } } function Pze(e) { let t = new Array(UG * UG), r = new Array(t.length); for (let i of e) { let o = i.leftTokenRange.isSpecific && i.rightTokenRange.isSpecific; for (let s of i.leftTokenRange.tokens) for (let l of i.rightTokenRange.tokens) { let f = nxe(s, l), d = t[f]; d === void 0 && (d = t[f] = []), Mze(d, i.rule, o, r, f) } } return t } function nxe(e, t) { return L.assert(e <= 162 && t <= 162, "Must compute formatting context from tokens"), e * UG + t } function Mze(e, t, r, i, o) { let s = t.action & 3 ? r ? 0 : oC.StopRulesAny : t.context !== VP ? r ? oC.ContextRulesSpecific : oC.ContextRulesAny : r ? oC.NoContextRulesSpecific : oC.NoContextRulesAny, l = i[o] || 0; e.splice(Fze(l, s), 0, t), i[o] = Gze(l, s) } function Fze(e, t) { let r = 0; for (let i = 0; i <= t; i += hx)r += e & zP, e >>= hx; return r } function Gze(e, t) { let r = (e >> t & zP) + 1; return L.assert((r & zP) === r, "Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."), e & ~(zP << t) | r << t } var xte, hx, zP, UG, oC, Bze = gt({ "src/services/formatting/rulesMap.ts"() { "use strict"; Fr(), Vk(), hx = 5, zP = 31, UG = 163, oC = (e => (e[e.StopRulesSpecific = 0] = "StopRulesSpecific", e[e.StopRulesAny = hx * 1] = "StopRulesAny", e[e.ContextRulesSpecific = hx * 2] = "ContextRulesSpecific", e[e.ContextRulesAny = hx * 3] = "ContextRulesAny", e[e.NoContextRulesSpecific = hx * 4] = "NoContextRulesSpecific", e[e.NoContextRulesAny = hx * 5] = "NoContextRulesAny", e))(oC || {}) } }); function VG(e, t, r) { let i = { pos: e, end: t, kind: r }; return L.isDebugging && Object.defineProperty(i, "__debugKind", { get: () => L.formatSyntaxKind(r) }), i } function Uze(e, t, r) { let i = t.getLineAndCharacterOfPosition(e).line; if (i === 0) return []; let o = Bw(i, t); for (; Yp(t.text.charCodeAt(o));)o--; Wl(t.text.charCodeAt(o)) && o--; let s = { pos: Ky(i - 1, t), end: o + 1 }; return JP(s, t, r, 2) } function Vze(e, t, r) { let i = Ate(e, 26, t); return rxe(Cte(i), t, r, 3) } function jze(e, t, r) { let i = Ate(e, 18, t); if (!i) return []; let o = i.parent, s = Cte(o), l = { pos: Wf(s.getStart(t), t), end: e }; return JP(l, t, r, 4) } function Hze(e, t, r) { let i = Ate(e, 19, t); return rxe(Cte(i), t, r, 5) } function Wze(e, t) { let r = { pos: 0, end: e.text.length }; return JP(r, e, t, 0) } function zze(e, t, r, i) { let o = { pos: Wf(e, r), end: t }; return JP(o, r, i, 1) } function Ate(e, t, r) { let i = el(e, r); return i && i.kind === t && e === i.getEnd() ? i : void 0 } function Cte(e) { let t = e; for (; t && t.parent && t.parent.end === e.end && !Jze(t.parent, t);)t = t.parent; return t } function Jze(e, t) { switch (e.kind) { case 260: case 261: return Od(e.members, t); case 264: let r = e.body; return !!r && r.kind === 265 && Od(r.statements, t); case 308: case 238: case 265: return Od(e.statements, t); case 295: return Od(e.block.statements, t) }return !1 } function Kze(e, t) { return r(t); function r(i) { let o = pa(i, s => jX(s.getStart(t), s.end, e) && s); if (o) { let s = r(o); if (s) return s } return i } } function qze(e, t) { if (!e.length) return o; let r = e.filter(s => tk(t, s.start, s.start + s.length)).sort((s, l) => s.start - l.start); if (!r.length) return o; let i = 0; return s => { for (; ;) { if (i >= r.length) return !1; let l = r[i]; if (s.end <= l.start) return !1; if (l7(s.pos, s.end, l.start, l.start + l.length)) return !0; i++ } }; function o() { return !1 } } function Xze(e, t, r) { let i = e.getStart(r); if (i === t.pos && e.end === t.end) return i; let o = el(t.pos, r); return !o || o.end >= t.pos ? e.pos : o.end } function Yze(e, t, r) { let i = -1, o; for (; e;) { let s = r.getLineAndCharacterOfPosition(e.getStart(r)).line; if (i !== -1 && s !== i) break; if (X_.shouldIndentChildNode(t, e, o, r)) return t.indentSize; i = s, o = e, e = e.parent } return 0 } function $ze(e, t, r, i, o, s) { let l = { pos: e.pos, end: e.end }; return fte(t.text, r, l.pos, l.end, f => ixe(l, e, i, o, f, s, 1, d => !1, t)) } function rxe(e, t, r, i) { if (!e) return []; let o = { pos: Wf(e.getStart(t), t), end: e.end }; return JP(o, t, r, i) } function JP(e, t, r, i) { let o = Kze(e, t); return fte(t.text, t.languageVariant, Xze(o, e, t), e.end, s => ixe(e, o, X_.getIndentationForNode(o, e, t, r.options), Yze(o, r.options, t), s, r, i, qze(t.parseDiagnostics, e), t)) } function ixe(e, t, r, i, o, { options: s, getRules: l, host: f }, d, g, m) { var v; let S = new dte(m, d, s), x, A, w, C, P, F = -1, B = []; if (o.advance(), o.isOnToken()) { let Ne = m.getLineAndCharacterOfPosition(t.getStart(m)).line, Le = Ne; bf(t) && (Le = m.getLineAndCharacterOfPosition(aH(t, m)).line), ie(t, t, Ne, Le, r, i) } if (!o.isOnToken()) { let Ne = X_.nodeWillIndentChild(s, t, void 0, m, !1) ? r + s.indentSize : r, Le = o.getCurrentLeadingTrivia(); Le && ($(Le, Ne, !1, Ye => Z(Ye, m.getLineAndCharacterOfPosition(Ye.pos), t, t, void 0)), s.trimTrailingWhitespace !== !1 && we(Le)) } if (A && o.getStartPos() >= e.end) { let Ne = o.isOnEOF() ? o.readEOFTokenRange() : o.isOnToken() ? o.readTokenInfo(t).token : void 0; if (Ne && Ne.pos === x) { let Le = ((v = el(Ne.end, m, t)) == null ? void 0 : v.parent) || w; U(Ne, m.getLineAndCharacterOfPosition(Ne.pos).line, Le, A, C, w, Le, void 0) } } return B; function q(Ne, Le, Ye, _t, ct) { if (tk(_t, Ne, Le) || ON(_t, Ne, Le)) { if (ct !== -1) return ct } else { let Rt = m.getLineAndCharacterOfPosition(Ne).line, We = Wf(Ne, m), qe = X_.findFirstNonWhitespaceColumn(We, Ne, m, s); if (Rt !== Ye || Ne === qe) { let zt = X_.getBaseIndentation(s); return zt > qe ? zt : qe } } return -1 } function W(Ne, Le, Ye, _t, ct, Rt) { let We = X_.shouldIndentChildNode(s, Ne) ? s.indentSize : 0; return Rt === Le ? { indentation: Le === P ? F : ct.getIndentation(), delta: Math.min(s.indentSize, ct.getDelta(Ne) + We) } : Ye === -1 ? Ne.kind === 20 && Le === P ? { indentation: F, delta: ct.getDelta(Ne) } : X_.childStartsOnTheSameLineWithElseInIfStatement(_t, Ne, Le, m) || X_.childIsUnindentedBranchOfConditionalExpression(_t, Ne, Le, m) || X_.argumentStartsOnSameLineAsPreviousArgument(_t, Ne, Le, m) ? { indentation: ct.getIndentation(), delta: We } : { indentation: ct.getIndentation() + ct.getDelta(Ne), delta: We } : { indentation: Ye, delta: We } } function Y(Ne) { if (g_(Ne)) { let Le = wr(Ne.modifiers, Ha, Yc(Ne.modifiers, du)); if (Le) return Le.kind } switch (Ne.kind) { case 260: return 84; case 261: return 118; case 259: return 98; case 263: return 263; case 174: return 137; case 175: return 151; case 171: if (Ne.asteriskToken) return 41; case 169: case 166: let Le = sa(Ne); if (Le) return Le.kind } } function R(Ne, Le, Ye, _t) { return { getIndentationForComment: (We, qe, zt) => { switch (We) { case 19: case 23: case 21: return Ye + Rt(zt) }return qe !== -1 ? qe : Ye }, getIndentationForToken: (We, qe, zt, Qt) => !Qt && ct(We, qe, zt) ? Ye + Rt(zt) : Ye, getIndentation: () => Ye, getDelta: Rt, recomputeIndentation: (We, qe) => { X_.shouldIndentChildNode(s, qe, Ne, m) && (Ye += We ? s.indentSize : -s.indentSize, _t = X_.shouldIndentChildNode(s, Ne) ? s.indentSize : 0) } }; function ct(We, qe, zt) { switch (qe) { case 18: case 19: case 21: case 91: case 115: case 59: return !1; case 43: case 31: switch (zt.kind) { case 283: case 284: case 282: return !1 }break; case 22: case 23: if (zt.kind !== 197) return !1; break }return Le !== We && !(bf(Ne) && qe === Y(Ne)) } function Rt(We) { return X_.nodeWillIndentChild(s, Ne, We, m, !0) ? _t : 0 } } function ie(Ne, Le, Ye, _t, ct, Rt) { if (!tk(e, Ne.getStart(m), Ne.getEnd())) return; let We = R(Ne, Ye, ct, Rt), qe = Le; for (pa(Ne, kn => { zt(kn, -1, Ne, We, Ye, _t, !1) }, kn => { Qt(kn, Ne, Ye, We) }); o.isOnToken() && o.getStartPos() < e.end;) { let kn = o.readTokenInfo(Ne); if (kn.token.end > Math.min(Ne.end, e.end)) break; tn(kn, Ne, We, Ne) } function zt(kn, _n, Gt, $n, ui, Ni, Pi, gr) { if (L.assert(!ws(kn)), rc(kn) || Nse(Gt, kn)) return _n; let pt = kn.getStart(m), nn = m.getLineAndCharacterOfPosition(pt).line, Dt = nn; bf(kn) && (Dt = m.getLineAndCharacterOfPosition(aH(kn, m)).line); let pn = -1; if (Pi && Od(e, Gt) && (pn = q(pt, kn.end, ui, e, _n), pn !== -1 && (_n = pn)), !tk(e, kn.pos, kn.end)) return kn.end < e.pos && o.skipToEndOf(kn), _n; if (kn.getFullWidth() === 0) return _n; for (; o.isOnToken() && o.getStartPos() < e.end;) { let hi = o.readTokenInfo(Ne); if (hi.token.end > e.end) return _n; if (hi.token.end > pt) { hi.token.pos > pt && o.skipToStartOf(kn); break } tn(hi, Ne, $n, Ne) } if (!o.isOnToken() || o.getStartPos() >= e.end) return _n; if (Z1(kn)) { let hi = o.readTokenInfo(kn); if (kn.kind !== 11) return L.assert(hi.token.end === kn.end, "Token end is child end"), tn(hi, Ne, $n, kn), _n } let An = kn.kind === 167 ? nn : Ni, Kn = W(kn, nn, pn, Ne, $n, An); return ie(kn, qe, nn, Dt, Kn.indentation, Kn.delta), qe = Ne, gr && Gt.kind === 206 && _n === -1 && (_n = Kn.indentation), _n } function Qt(kn, _n, Gt, $n) { L.assert(C0(kn)), L.assert(!ws(kn)); let ui = Qze(_n, kn), Ni = $n, Pi = Gt; if (!tk(e, kn.pos, kn.end)) { kn.end < e.pos && o.skipToEndOf(kn); return } if (ui !== 0) for (; o.isOnToken() && o.getStartPos() < e.end;) { let nn = o.readTokenInfo(_n); if (nn.token.end > kn.pos) break; if (nn.token.kind === ui) { Pi = m.getLineAndCharacterOfPosition(nn.token.pos).line, tn(nn, _n, $n, _n); let Dt; if (F !== -1) Dt = F; else { let pn = Wf(nn.token.pos, m); Dt = X_.findFirstNonWhitespaceColumn(pn, nn.token.pos, m, s) } Ni = R(_n, Gt, Dt, s.indentSize) } else tn(nn, _n, $n, _n) } let gr = -1; for (let nn = 0; nn < kn.length; nn++) { let Dt = kn[nn]; gr = zt(Dt, gr, Ne, Ni, Pi, Pi, !0, nn === 0) } let pt = Zze(ui); if (pt !== 0 && o.isOnToken() && o.getStartPos() < e.end) { let nn = o.readTokenInfo(_n); nn.token.kind === 27 && (tn(nn, _n, Ni, _n), nn = o.isOnToken() ? o.readTokenInfo(_n) : void 0), nn && nn.token.kind === pt && Od(_n, nn.token) && tn(nn, _n, Ni, _n, !0) } } function tn(kn, _n, Gt, $n, ui) { L.assert(Od(_n, kn.token)); let Ni = o.lastTrailingTriviaWasNewLine(), Pi = !1; kn.leadingTrivia && fe(kn.leadingTrivia, _n, qe, Gt); let gr = 0, pt = Od(e, kn.token), nn = m.getLineAndCharacterOfPosition(kn.token.pos); if (pt) { let Dt = g(kn.token), pn = A; if (gr = Z(kn.token, nn, _n, qe, Gt), !Dt) if (gr === 0) { let An = pn && m.getLineAndCharacterOfPosition(pn.end).line; Pi = Ni && nn.line !== An } else Pi = gr === 1 } if (kn.trailingTrivia && (x = To(kn.trailingTrivia).end, fe(kn.trailingTrivia, _n, qe, Gt)), Pi) { let Dt = pt && !g(kn.token) ? Gt.getIndentationForToken(nn.line, kn.token.kind, $n, !!ui) : -1, pn = !0; if (kn.leadingTrivia) { let An = Gt.getIndentationForComment(kn.token.kind, Dt, $n); pn = $(kn.leadingTrivia, An, pn, Kn => re(Kn.pos, An, !1)) } Dt !== -1 && pn && (re(kn.token.pos, Dt, gr === 1), P = nn.line, F = Dt) } o.advance(), qe = _n } } function $(Ne, Le, Ye, _t) { for (let ct of Ne) { let Rt = Od(e, ct); switch (ct.kind) { case 3: Rt && ge(ct, Le, !Ye), Ye = !1; break; case 2: Ye && Rt && _t(ct), Ye = !1; break; case 4: Ye = !0; break } } return Ye } function fe(Ne, Le, Ye, _t) { for (let ct of Ne) if (g7(ct.kind) && Od(e, ct)) { let Rt = m.getLineAndCharacterOfPosition(ct.pos); Z(ct, Rt, Le, Ye, _t) } } function Z(Ne, Le, Ye, _t, ct) { let Rt = g(Ne), We = 0; if (!Rt) if (A) We = U(Ne, Le.line, Ye, A, C, w, _t, ct); else { let qe = m.getLineAndCharacterOfPosition(e.pos); X(qe.line, Le.line) } return A = Ne, x = Ne.end, w = Ye, C = Le.line, We } function U(Ne, Le, Ye, _t, ct, Rt, We, qe) { S.updateContext(_t, Rt, Ne, Ye, We); let zt = l(S), Qt = S.options.trimTrailingWhitespace !== !1, tn = 0; return zt ? sae(zt, kn => { if (tn = Be(kn, _t, ct, Ne, Le), qe) switch (tn) { case 2: Ye.getStart(m) === Ne.pos && qe.recomputeIndentation(!1, We); break; case 1: Ye.getStart(m) === Ne.pos && qe.recomputeIndentation(!0, We); break; default: L.assert(tn === 0) }Qt = Qt && !(kn.action & 16) && kn.flags !== 1 }) : Qt = Qt && Ne.kind !== 1, Le !== ct && Qt && X(ct, Le, _t), tn } function re(Ne, Le, Ye) { let _t = Ite(Le, s); if (Ye) Ce(Ne, 0, _t); else { let ct = m.getLineAndCharacterOfPosition(Ne), Rt = Ky(ct.line, m); (Le !== le(Rt, ct.character) || _e(_t, Rt)) && Ce(Rt, ct.character, _t) } } function le(Ne, Le) { let Ye = 0; for (let _t = 0; _t < Le; _t++)m.text.charCodeAt(Ne + _t) === 9 ? Ye += s.tabSize - Ye % s.tabSize : Ye++; return Ye } function _e(Ne, Le) { return Ne !== m.text.substr(Le, Ne.length) } function ge(Ne, Le, Ye, _t = !0) { let ct = m.getLineAndCharacterOfPosition(Ne.pos).line, Rt = m.getLineAndCharacterOfPosition(Ne.end).line; if (ct === Rt) { Ye || re(Ne.pos, Le, !1); return } let We = [], qe = Ne.pos; for (let _n = ct; _n < Rt; _n++) { let Gt = Bw(_n, m); We.push({ pos: qe, end: Gt }), qe = Ky(_n + 1, m) } if (_t && We.push({ pos: qe, end: Ne.end }), We.length === 0) return; let zt = Ky(ct, m), Qt = X_.findFirstNonWhitespaceCharacterAndColumn(zt, We[0].pos, m, s), tn = 0; Ye && (tn = 1, ct++); let kn = Le - Qt.column; for (let _n = tn; _n < We.length; _n++, ct++) { let Gt = Ky(ct, m), $n = _n === 0 ? Qt : X_.findFirstNonWhitespaceCharacterAndColumn(We[_n].pos, We[_n].end, m, s), ui = $n.column + kn; if (ui > 0) { let Ni = Ite(ui, s); Ce(Gt, $n.character, Ni) } else Pe(Gt, $n.character) } } function X(Ne, Le, Ye) { for (let _t = Ne; _t < Le; _t++) { let ct = Ky(_t, m), Rt = Bw(_t, m); if (Ye && (g7(Ye.kind) || QX(Ye.kind)) && Ye.pos <= Rt && Ye.end > Rt) continue; let We = Ve(ct, Rt); We !== -1 && (L.assert(We === ct || !Yp(m.text.charCodeAt(We - 1))), Pe(We, Rt + 1 - We)) } } function Ve(Ne, Le) { let Ye = Le; for (; Ye >= Ne && Yp(m.text.charCodeAt(Ye));)Ye--; return Ye !== Le ? Ye + 1 : -1 } function we(Ne) { let Le = A ? A.end : e.pos; for (let Ye of Ne) g7(Ye.kind) && (Le < Ye.pos && ke(Le, Ye.pos - 1, A), Le = Ye.end + 1); Le < e.end && ke(Le, e.end, A) } function ke(Ne, Le, Ye) { let _t = m.getLineAndCharacterOfPosition(Ne).line, ct = m.getLineAndCharacterOfPosition(Le).line; X(_t, ct + 1, Ye) } function Pe(Ne, Le) { Le && B.push(v7(Ne, Le, "")) } function Ce(Ne, Le, Ye) { (Le || Ye) && B.push(v7(Ne, Le, Ye)) } function Ie(Ne, Le) { Le && B.push(v7(Ne, 0, Le)) } function Be(Ne, Le, Ye, _t, ct) { let Rt = ct !== Ye; switch (Ne.action) { case 1: return 0; case 16: if (Le.end !== _t.pos) return Pe(Le.end, _t.pos - Le.end), Rt ? 2 : 0; break; case 32: Pe(Le.pos, Le.end - Le.pos); break; case 8: if (Ne.flags !== 1 && Ye !== ct) return 0; if (ct - Ye !== 1) return Ce(Le.end, _t.pos - Le.end, bb(f, s)), Rt ? 0 : 1; break; case 4: if (Ne.flags !== 1 && Ye !== ct) return 0; if (_t.pos - Le.end !== 1 || m.text.charCodeAt(Le.end) !== 32) return Ce(Le.end, _t.pos - Le.end, " "), Rt ? 2 : 0; break; case 64: Ie(Le.end, ";") }return 0 } } function axe(e, t, r, i = Vi(e, t)) { let o = jn(i, dm); if (o && (i = o.parent), i.getStart(e) <= t && t < i.getEnd()) return; r = r === null ? void 0 : r === void 0 ? el(t, e) : r; let l = r && eb(e.text, r.end), f = bH(i, e), d = Qi(l, f); return d && wr(d, g => RN(g, t) || t === g.end && (g.kind === 2 || t === e.getFullWidth())) } function Qze(e, t) { switch (e.kind) { case 173: case 259: case 215: case 171: case 170: case 216: case 176: case 177: case 181: case 182: case 174: case 175: if (e.typeParameters === t) return 29; if (e.parameters === t) return 20; break; case 210: case 211: if (e.typeArguments === t) return 29; if (e.arguments === t) return 20; break; case 260: case 228: case 261: case 262: if (e.typeParameters === t) return 29; break; case 180: case 212: case 183: case 230: case 202: if (e.typeArguments === t) return 29; break; case 184: return 18 }return 0 } function Zze(e) { switch (e) { case 20: return 21; case 29: return 31; case 18: return 19 }return 0 } function Ite(e, t) { if ((!jG || jG.tabSize !== t.tabSize || jG.indentSize !== t.indentSize) && (jG = { tabSize: t.tabSize, indentSize: t.indentSize }, Bk = Uk = void 0), t.convertTabsToSpaces) { let i, o = Math.floor(e / t.indentSize), s = e % t.indentSize; return Uk || (Uk = []), Uk[o] === void 0 ? (i = UN(" ", t.indentSize * o), Uk[o] = i) : i = Uk[o], s ? i + UN(" ", s) : i } else { let i = Math.floor(e / t.tabSize), o = e - i * t.tabSize, s; return Bk || (Bk = []), Bk[i] === void 0 ? Bk[i] = s = UN("	", i) : s = Bk[i], o ? s + UN(" ", o) : s } } var jG, Bk, Uk, eJe = gt({ "src/services/formatting/formatting.ts"() { "use strict"; Fr(), Vk() } }), X_, tJe = gt({ "src/services/formatting/smartIndenter.ts"() { "use strict"; Fr(), Vk(), (e => { let t; (X => { X[X.Unknown = -1] = "Unknown" })(t || (t = {})); function r(X, Ve, we, ke = !1) { if (X > Ve.text.length) return f(we); if (we.indentStyle === 0) return 0; let Pe = el(X, Ve, void 0, !0), Ce = axe(Ve, X, Pe || null); if (Ce && Ce.kind === 3) return i(Ve, X, we, Ce); if (!Pe) return f(we); if (QX(Pe.kind) && Pe.getStart(Ve) <= X && X < Pe.end) return 0; let Be = Ve.getLineAndCharacterOfPosition(X).line, Ne = Vi(Ve, X), Le = Ne.kind === 18 && Ne.parent.kind === 207; if (we.indentStyle === 1 || Le) return o(Ve, X, we); if (Pe.kind === 27 && Pe.parent.kind !== 223) { let _t = m(Pe, Ve, we); if (_t !== -1) return _t } let Ye = q(X, Pe.parent, Ve); if (Ye && !Od(Ye, Pe)) { let ct = [215, 216].indexOf(Ne.parent.kind) !== -1 ? 0 : we.indentSize; return R(Ye, Ve, we) + ct } return s(Ve, X, Pe, Be, ke, we) } e.getIndentation = r; function i(X, Ve, we, ke) { let Pe = Gs(X, Ve).line - 1, Ce = Gs(X, ke.pos).line; if (L.assert(Ce >= 0), Pe <= Ce) return U(Ky(Ce, X), Ve, X, we); let Ie = Ky(Pe, X), { column: Be, character: Ne } = Z(Ie, Ve, X, we); return Be === 0 ? Be : X.text.charCodeAt(Ie + Ne) === 42 ? Be - 1 : Be } function o(X, Ve, we) { let ke = Ve; for (; ke > 0;) { let Ce = X.text.charCodeAt(ke); if (!xh(Ce)) break; ke-- } let Pe = Wf(ke, X); return U(Pe, ke, X, we) } function s(X, Ve, we, ke, Pe, Ce) { let Ie, Be = we; for (; Be;) { if (WX(Be, Ve, X) && _e(Ce, Be, Ie, X, !0)) { let Le = A(Be, X), Ye = x(we, Be, ke, X), _t = Ye !== 0 ? Pe && Ye === 2 ? Ce.indentSize : 0 : ke !== Le.line ? Ce.indentSize : 0; return d(Be, Le, void 0, _t, X, !0, Ce) } let Ne = ie(Be, X, Ce, !0); if (Ne !== -1) return Ne; Ie = Be, Be = Be.parent } return f(Ce) } function l(X, Ve, we, ke) { let Pe = we.getLineAndCharacterOfPosition(X.getStart(we)); return d(X, Pe, Ve, 0, we, !1, ke) } e.getIndentationForNode = l; function f(X) { return X.baseIndentSize || 0 } e.getBaseIndentation = f; function d(X, Ve, we, ke, Pe, Ce, Ie) { var Be; let Ne = X.parent; for (; Ne;) { let Le = !0; if (we) { let Rt = X.getStart(Pe); Le = Rt < we.pos || Rt > we.end } let Ye = g(Ne, X, Pe), _t = Ye.line === Ve.line || C(Ne, X, Ve.line, Pe); if (Le) { let Rt = (Be = B(X, Pe)) == null ? void 0 : Be[0], We = !!Rt && A(Rt, Pe).line > Ye.line, qe = ie(X, Pe, Ie, We); if (qe !== -1 || (qe = v(X, Ne, Ve, _t, Pe, Ie), qe !== -1)) return qe + ke } _e(Ie, Ne, X, Pe, Ce) && !_t && (ke += Ie.indentSize); let ct = w(Ne, X, Ve.line, Pe); X = Ne, Ne = X.parent, Ve = ct ? Pe.getLineAndCharacterOfPosition(X.getStart(Pe)) : Ye } return ke + f(Ie) } function g(X, Ve, we) { let ke = B(Ve, we), Pe = ke ? ke.pos : X.getStart(we); return we.getLineAndCharacterOfPosition(Pe) } function m(X, Ve, we) { let ke = Ehe(X); return ke && ke.listItemIndex > 0 ? $(ke.list.getChildren(), ke.listItemIndex - 1, Ve, we) : -1 } function v(X, Ve, we, ke, Pe, Ce) { return (Kl(X) || Nw(X)) && (Ve.kind === 308 || !ke) ? fe(we, Pe, Ce) : -1 } let S; (X => { X[X.Unknown = 0] = "Unknown", X[X.OpenBrace = 1] = "OpenBrace", X[X.CloseBrace = 2] = "CloseBrace" })(S || (S = {})); function x(X, Ve, we, ke) { let Pe = t1(X, Ve, ke); if (!Pe) return 0; if (Pe.kind === 18) return 1; if (Pe.kind === 19) { let Ce = A(Pe, ke).line; return we === Ce ? 2 : 0 } return 0 } function A(X, Ve) { return Ve.getLineAndCharacterOfPosition(X.getStart(Ve)) } function w(X, Ve, we, ke) { if (!(Pa(X) && ya(X.arguments, Ve))) return !1; let Pe = X.expression.getEnd(); return Gs(ke, Pe).line === we } e.isArgumentAndStartLineOverlapsExpressionBeingCalled = w; function C(X, Ve, we, ke) { if (X.kind === 242 && X.elseStatement === Ve) { let Pe = Yo(X, 91, ke); return L.assert(Pe !== void 0), A(Pe, ke).line === we } return !1 } e.childStartsOnTheSameLineWithElseInIfStatement = C; function P(X, Ve, we, ke) { if (b2(X) && (Ve === X.whenTrue || Ve === X.whenFalse)) { let Pe = Gs(ke, X.condition.end).line; if (Ve === X.whenTrue) return we === Pe; { let Ce = A(X.whenTrue, ke).line, Ie = Gs(ke, X.whenTrue.end).line; return Pe === Ce && Ie === we } } return !1 } e.childIsUnindentedBranchOfConditionalExpression = P; function F(X, Ve, we, ke) { if (Ih(X)) { if (!X.arguments) return !1; let Pe = wr(X.arguments, Ne => Ne.pos === Ve.pos); if (!Pe) return !1; let Ce = X.arguments.indexOf(Pe); if (Ce === 0) return !1; let Ie = X.arguments[Ce - 1], Be = Gs(ke, Ie.getEnd()).line; if (we === Be) return !0 } return !1 } e.argumentStartsOnSameLineAsPreviousArgument = F; function B(X, Ve) { return X.parent && W(X.getStart(Ve), X.getEnd(), X.parent, Ve) } e.getContainingList = B; function q(X, Ve, we) { return Ve && W(X, X, Ve, we) } function W(X, Ve, we, ke) { switch (we.kind) { case 180: return Pe(we.typeArguments); case 207: return Pe(we.properties); case 206: return Pe(we.elements); case 184: return Pe(we.members); case 259: case 215: case 216: case 171: case 170: case 176: case 173: case 182: case 177: return Pe(we.typeParameters) || Pe(we.parameters); case 174: return Pe(we.parameters); case 260: case 228: case 261: case 262: case 348: return Pe(we.typeParameters); case 211: case 210: return Pe(we.typeArguments) || Pe(we.arguments); case 258: return Pe(we.declarations); case 272: case 276: return Pe(we.elements); case 203: case 204: return Pe(we.elements) }function Pe(Ce) { return Ce && ON(Y(we, Ce, ke), X, Ve) ? Ce : void 0 } } function Y(X, Ve, we) { let ke = X.getChildren(we); for (let Pe = 1; Pe < ke.length - 1; Pe++)if (ke[Pe].pos === Ve.pos && ke[Pe].end === Ve.end) return { pos: ke[Pe - 1].end, end: ke[Pe + 1].getStart(we) }; return Ve } function R(X, Ve, we) { return X ? fe(Ve.getLineAndCharacterOfPosition(X.pos), Ve, we) : -1 } function ie(X, Ve, we, ke) { if (X.parent && X.parent.kind === 258) return -1; let Pe = B(X, Ve); if (Pe) { let Ce = Pe.indexOf(X); if (Ce !== -1) { let Ie = $(Pe, Ce, Ve, we); if (Ie !== -1) return Ie } return R(Pe, Ve, we) + (ke ? we.indentSize : 0) } return -1 } function $(X, Ve, we, ke) { L.assert(Ve >= 0 && Ve < X.length); let Pe = X[Ve], Ce = A(Pe, we); for (let Ie = Ve - 1; Ie >= 0; Ie--) { if (X[Ie].kind === 27) continue; if (we.getLineAndCharacterOfPosition(X[Ie].end).line !== Ce.line) return fe(Ce, we, ke); Ce = A(X[Ie], we) } return -1 } function fe(X, Ve, we) { let ke = Ve.getPositionOfLineAndCharacter(X.line, 0); return U(ke, ke + X.character, Ve, we) } function Z(X, Ve, we, ke) { let Pe = 0, Ce = 0; for (let Ie = X; Ie < Ve; Ie++) { let Be = we.text.charCodeAt(Ie); if (!Yp(Be)) break; Be === 9 ? Ce += ke.tabSize + Ce % ke.tabSize : Ce++, Pe++ } return { column: Ce, character: Pe } } e.findFirstNonWhitespaceCharacterAndColumn = Z; function U(X, Ve, we, ke) { return Z(X, Ve, we, ke).column } e.findFirstNonWhitespaceColumn = U; function re(X, Ve, we, ke, Pe) { let Ce = we ? we.kind : 0; switch (Ve.kind) { case 241: case 260: case 228: case 261: case 263: case 262: case 206: case 238: case 265: case 207: case 184: case 197: case 186: case 266: case 293: case 292: case 214: case 208: case 210: case 211: case 240: case 274: case 250: case 224: case 204: case 203: case 283: case 286: case 282: case 291: case 170: case 176: case 177: case 166: case 181: case 182: case 193: case 212: case 220: case 276: case 272: case 278: case 273: case 169: return !0; case 257: case 299: case 223: if (!X.indentMultiLineObjectLiteralBeginningOnBlankLine && ke && Ce === 207) return ge(ke, we); if (Ve.kind === 223 && ke && we && Ce === 281) { let Ie = ke.getLineAndCharacterOfPosition(xo(ke.text, Ve.pos)).line, Be = ke.getLineAndCharacterOfPosition(xo(ke.text, we.pos)).line; return Ie !== Be } if (Ve.kind !== 223) return !0; break; case 243: case 244: case 246: case 247: case 245: case 242: case 259: case 215: case 171: case 173: case 174: case 175: return Ce !== 238; case 216: return ke && Ce === 214 ? ge(ke, we) : Ce !== 238; case 275: return Ce !== 276; case 269: return Ce !== 270 || !!we.namedBindings && we.namedBindings.kind !== 272; case 281: return Ce !== 284; case 285: return Ce !== 287; case 190: case 189: if (Ce === 184 || Ce === 186) return !1; break }return Pe } e.nodeWillIndentChild = re; function le(X, Ve) { switch (X) { case 250: case 254: case 248: case 249: return Ve.kind !== 238; default: return !1 } } function _e(X, Ve, we, ke, Pe = !1) { return re(X, Ve, we, ke, !1) && !(Pe && we && le(we.kind, Ve)) } e.shouldIndentChildNode = _e; function ge(X, Ve) { let we = xo(X.text, Ve.pos), ke = X.getLineAndCharacterOfPosition(we).line, Pe = X.getLineAndCharacterOfPosition(Ve.end).line; return ke === Pe } })(X_ || (X_ = {})) } }), tl = {}; Mo(tl, { FormattingContext: () => dte, FormattingRequestKind: () => ute, RuleAction: () => _te, RuleFlags: () => pte, SmartIndenter: () => X_, anyContext: () => VP, createTextRangeWithKind: () => VG, formatDocument: () => Wze, formatNodeGivenIndentation: () => $ze, formatOnClosingCurly: () => Hze, formatOnEnter: () => Uze, formatOnOpeningCurly: () => jze, formatOnSemicolon: () => Vze, formatSelection: () => zze, getAllRules: () => PSe, getFormatContext: () => wze, getFormattingScanner: () => fte, getIndentationString: () => Ite, getRangeOfEnclosingComment: () => axe }); var Vk = gt({ "src/services/_namespaces/ts.formatting.ts"() { "use strict"; eze(), tze(), nze(), Dze(), Bze(), eJe(), tJe() } }), Fr = gt({ "src/services/_namespaces/ts.ts"() { "use strict"; fa(), r7(), v6e(), K6e(), $6e(), l4e(), u4e(), d4e(), y4e(), L4e(), k4e(), w4e(), B4e(), V4e(), _3e(), m3e(), y3e(), E3e(), V3e(), Q3e(), Qa(), QZ(), KTe(), cUe(), _Ue(), wUe(), lye(), wye(), $Ue(), aVe(), Qm(), rWe(), kWe(), FWe(), UWe(), ZWe(), Vk() } }); function nJe() { return kte ?? (kte = new r_(Rf)) } function oxe(e, t, r, i, o) { let s = t ? "DeprecationError: " : "DeprecationWarning: "; return s += `'${e}' `, s += i ? `has been deprecated since v${i}` : "is deprecated", s += t ? " and can no longer be used." : r ? ` and will no longer be usable after v${r}.` : ".", s += o ? ` ${jm(o, [e], 0)}` : "", s } function rJe(e, t, r, i) { let o = oxe(e, !0, t, r, i); return () => { throw new TypeError(o) } } function iJe(e, t, r, i) { let o = !1; return () => { sxe && !o && (L.log.warn(oxe(e, !1, t, r, i)), o = !0) } } function aJe(e, t = {}) { var r, i; let o = typeof t.typeScriptVersion == "string" ? new r_(t.typeScriptVersion) : (r = t.typeScriptVersion) != null ? r : nJe(), s = typeof t.errorAfter == "string" ? new r_(t.errorAfter) : t.errorAfter, l = typeof t.warnAfter == "string" ? new r_(t.warnAfter) : t.warnAfter, f = typeof t.since == "string" ? new r_(t.since) : (i = t.since) != null ? i : l, d = t.error || s && o.compareTo(s) >= 0, g = !l || o.compareTo(l) >= 0; return d ? rJe(e, s, f, t.message) : g ? iJe(e, s, f, t.message) : Ba } function oJe(e, t) { return function () { return e(), t.apply(this, arguments) } } function Lte(e, t) { var r; let i = aJe((r = t?.name) != null ? r : L.getFunctionName(e), t); return oJe(i, e) } var sxe, kte, cxe = gt({ "src/deprecatedCompat/deprecate.ts"() { "use strict"; HG(), sxe = !0 } }); function Dte(e, t, r, i) { if (Object.defineProperty(s, "name", { ...Object.getOwnPropertyDescriptor(s, "name"), value: e }), i) for (let l of Object.keys(i)) { let f = +l; !isNaN(f) && fs(t, `${f}`) && (t[f] = Lte(t[f], { ...i[f], name: e })) } let o = sJe(t, r); return s; function s(...l) { let f = o(l), d = f !== void 0 ? t[f] : void 0; if (typeof d == "function") return d(...l); throw new TypeError("Invalid arguments") } } function sJe(e, t) { return r => { for (let i = 0; fs(e, `${i}`) && fs(t, `${i}`); i++) { let o = t[i]; if (o(r)) return i } } } function cJe(e) { return { overload: t => ({ bind: r => ({ finish: () => Dte(e, t, r), deprecate: i => ({ finish: () => Dte(e, t, r, i) }) }) }) } } var lJe = gt({ "src/deprecatedCompat/deprecations.ts"() { "use strict"; HG(), cxe() } }), uJe = gt({ "src/deprecatedCompat/5.0/identifierProperties.ts"() { "use strict"; HG(), cxe(), fle(e => { let t = e.getIdentifierConstructor(); fs(t.prototype, "originalKeywordKind") || Object.defineProperty(t.prototype, "originalKeywordKind", { get: Lte(function () { return nb(this) }, { name: "originalKeywordKind", since: "5.0", warnAfter: "5.1", errorAfter: "5.2", message: "Use 'identifierToKeywordKind(identifier)' instead." }) }), fs(t.prototype, "isInJSDocNamespace") || Object.defineProperty(t.prototype, "isInJSDocNamespace", { get: Lte(function () { return this.flags & 2048 ? !0 : void 0 }, { name: "isInJSDocNamespace", since: "5.0", warnAfter: "5.1", errorAfter: "5.2", message: "Use '.parent' or the surrounding context to determine this instead." }) }) }) } }), HG = gt({ "src/deprecatedCompat/_namespaces/ts.ts"() { "use strict"; fa(), lJe(), uJe() } }), lxe = {}; Mo(lxe, { ANONYMOUS: () => X7, AccessFlags: () => IV, AssertionLevel: () => $U, AssignmentDeclarationKind: () => PV, AssignmentKind: () => YW, Associativity: () => QW, BreakpointResolver: () => x$, BuilderFileEmit: () => Iq, BuilderProgramKind: () => Lq, BuilderState: () => pm, BundleFileSectionKind: () => ej, CallHierarchy: () => rx, CharacterCodes: () => KV, CheckFlags: () => TV, CheckMode: () => _F, ClassificationType: () => OX, ClassificationTypeNames: () => RX, CommentDirectiveType: () => oV, Comparison: () => LU, CompletionInfoFlags: () => AX, CompletionTriggerKind: () => bX, Completions: () => lx, ConfigFileProgramReloadLevel: () => QK, ContextFlags: () => _V, CoreServicesShimHostAdapter: () => S$, Debug: () => L, DiagnosticCategory: () => nw, Diagnostics: () => _, DocumentHighlights: () => Q7, ElementFlags: () => CV, EmitFlags: () => U8, EmitHint: () => $V, EmitOnly: () => cV, EndOfLineState: () => LX, EnumKind: () => EV, ExitStatus: () => uV, ExportKind: () => GY, Extension: () => qV, ExternalEmitHelpers: () => YV, FileIncludeKind: () => R8, FilePreprocessingDiagnosticsKind: () => sV, FileSystemEntryKind: () => oj, FileWatcherEventKind: () => ij, FindAllReferences: () => js, FlattenLevel: () => RK, FlowFlags: () => tw, ForegroundColorEscapeSequences: () => pq, FunctionFlags: () => $W, GeneratedIdentifierFlags: () => w8, GetLiteralTextFlags: () => KW, GoToDefinition: () => xk, HighlightSpanKind: () => TX, ImportKind: () => FY, ImportsNotUsedAsValues: () => VV, IndentStyle: () => SX, IndexKind: () => DV, InferenceFlags: () => OV, InferencePriority: () => RV, InlayHintKind: () => EX, InlayHints: () => fee, InternalEmitFlags: () => XV, InternalSymbolName: () => SV, InvalidatedProjectKind: () => aX, JsDoc: () => xb, JsTyping: () => QT, JsxEmit: () => UV, JsxFlags: () => iV, JsxReferenceKind: () => LV, LanguageServiceMode: () => gX, LanguageServiceShimHostAdapter: () => T$, LanguageVariant: () => zV, LexicalEnvironmentFlags: () => ZV, ListFormat: () => tj, LogLevel: () => ZU, MemberOverrideStatus: () => dV, ModifierFlags: () => k8, ModuleDetectionKind: () => MV, ModuleInstanceState: () => sK, ModuleKind: () => F8, ModuleResolutionKind: () => rw, ModuleSpecifierEnding: () => lz, NavigateTo: () => cye, NavigationBar: () => Dye, NewLineKind: () => jV, NodeBuilderFlags: () => pV, NodeCheckFlags: () => xV, NodeFactoryFlags: () => mz, NodeFlags: () => L8, NodeResolutionFeatures: () => aK, ObjectFlags: () => P8, OperationCanceledException: () => tI, OperatorPrecedence: () => ZW, OrganizeImports: () => b_, OrganizeImportsMode: () => vX, OuterExpressionKinds: () => QV, OutliningElementsCollector: () => See, OutliningSpanKind: () => CX, OutputFileType: () => IX, PackageJsonAutoImportPreference: () => hX, PackageJsonDependencyGroup: () => mX, PatternMatchKind: () => n5, PollingInterval: () => V8, PollingWatchKind: () => BV, PragmaKindFlags: () => nj, PrivateIdentifierKind: () => Az, ProcessLevel: () => MK, QuotePreference: () => OY, RelationComparisonResult: () => D8, Rename: () => RG, ScriptElementKind: () => DX, ScriptElementKindModifier: () => wX, ScriptKind: () => HV, ScriptSnapshot: () => pX, ScriptTarget: () => WV, SemanticClassificationFormat: () => yX, SemanticMeaning: () => RY, SemicolonPreference: () => xX, SignatureCheckMode: () => pF, SignatureFlags: () => M8, SignatureHelp: () => BP, SignatureKind: () => kV, SmartSelectionRange: () => ete, SnippetKind: () => B8, SortKind: () => XU, StructureIsReused: () => lV, SymbolAccessibility: () => gV, SymbolDisplay: () => $g, SymbolDisplayPartKind: () => IN, SymbolFlags: () => O8, SymbolFormatFlags: () => hV, SyntaxKind: () => I8, SyntheticSymbolKind: () => yV, Ternary: () => NV, ThrottledCancellationToken: () => g$, TokenClass: () => kX, TokenFlags: () => aV, TransformFlags: () => G8, TypeFacts: () => dF, TypeFlags: () => N8, TypeFormatFlags: () => mV, TypeMapKind: () => wV, TypePredicateKind: () => vV, TypeReferenceSerializationKind: () => bV, TypeScriptServicesFactory: () => eve, UnionReduction: () => fV, UpToDateStatusType: () => Wq, VarianceFlags: () => AV, Version: () => r_, VersionRange: () => mA, WatchDirectoryFlags: () => JV, WatchDirectoryKind: () => GV, WatchFileKind: () => FV, WatchLogLevel: () => ZK, WatchType: () => Hf, accessPrivateIdentifier: () => $_e, addEmitFlags: () => bp, addEmitHelper: () => xS, addEmitHelpers: () => Bg, addInternalEmitFlags: () => SS, addNodeFactoryPatcher: () => ARe, addObjectAllocatorPatcher: () => fle, addRange: () => si, addRelatedInfo: () => Ao, addSyntheticLeadingComment: () => nO, addSyntheticTrailingComment: () => R4, addToSeen: () => V_, advancedAsyncSuperHelper: () => sO, affectsDeclarationPathOptionDeclarations: () => FJ, affectsEmitOptionDeclarations: () => MJ, allKeysStartWithDot: () => nF, altDirectorySeparator: () => pw, and: () => g8, append: () => Sn, appendIfUnique: () => xg, arrayFrom: () => lo, arrayIsEqualTo: () => up, arrayIsHomogeneous: () => Fle, arrayIsSorted: () => dae, arrayOf: () => mae, arrayReverseIterator: () => Cke, arrayToMap: () => p0, arrayToMultiMap: () => KD, arrayToNumericMap: () => gae, arraysEqual: () => GD, assertType: () => Pke, assign: () => JD, assignHelper: () => B4, asyncDelegator: () => V4, asyncGeneratorHelper: () => U4, asyncSuperHelper: () => oO, asyncValues: () => j4, attachFileToDiagnostics: () => vS, awaitHelper: () => AS, awaiterHelper: () => W4, base64decode: () => nle, base64encode: () => tle, binarySearch: () => Py, binarySearchKey: () => j1, bindSourceFile: () => c_e, breakIntoCharacterSpans: () => Hge, breakIntoWordSpans: () => Wge, buildLinkParts: () => Qhe, buildOpts: () => j3, buildOverload: () => cJe, bundlerModuleNameResolver: () => Wfe, canBeConvertedToAsync: () => e$, canHaveDecorators: () => HS, canHaveExportModifier: () => WR, canHaveFlowNode: () => cR, canHaveIllegalDecorators: () => aJ, canHaveIllegalModifiers: () => cde, canHaveIllegalType: () => mOe, canHaveIllegalTypeParameters: () => sde, canHaveJSDoc: () => lR, canHaveLocals: () => Qp, canHaveModifiers: () => g_, canHaveSymbol: () => $p, canJsonReportNoInputFiles: () => FO, canProduceDiagnostics: () => xF, canUsePropertyAccess: () => HW, canWatchDirectoryOrFile: () => vN, cartesianProduct: () => Rae, cast: () => Ga, chainBundle: () => y_, chainDiagnosticMessages: () => da, changeAnyExtension: () => uj, changeCompilerHostLikeToUseCache: () => pN, changeExtension: () => V0, changesAffectModuleResolution: () => eH, changesAffectingProgramStructure: () => Ise, childIsDecorated: () => kI, classElementOrClassElementParameterIsDecorated: () => AH, classOrConstructorParameterIsDecorated: () => O0, classPrivateFieldGetHelper: () => n3, classPrivateFieldInHelper: () => i3, classPrivateFieldSetHelper: () => r3, classicNameResolver: () => o_e, classifier: () => T5, cleanExtendedConfigCache: () => $K, clear: () => Om, clearMap: () => Tf, clearSharedExtendedConfigFileWatcher: () => Fpe, climbPastPropertyAccess: () => o7, climbPastPropertyOrElementAccess: () => ghe, clone: () => VU, cloneCompilerOptions: () => Mhe, closeFileWatcher: () => am, closeFileWatcherOf: () => _m, codefix: () => gu, collapseTextChangeRangesAcrossMultipleVersions: () => GDe, collectExternalModuleInfo: () => xK, combine: () => _A, combinePaths: () => vi, commentPragmas: () => iw, commonOptionsWithBuild: () => WO, commonPackageFolders: () => nz, compact: () => WD, compareBooleans: () => g0, compareDataObjects: () => gW, compareDiagnostics: () => ZI, compareDiagnosticsSkipRelatedInformation: () => c4, compareEmitHelpers: () => Sue, compareNumberOfDirectorySeparators: () => BR, comparePaths: () => cT, comparePathsCaseInsensitive: () => LDe, comparePathsCaseSensitive: () => IDe, comparePatternKeys: () => tK, compareProperties: () => Cae, compareStringsCaseInsensitive: () => _8, compareStringsCaseInsensitiveEslintCompatible: () => Sae, compareStringsCaseSensitive: () => su, compareStringsCaseSensitiveUI: () => XD, compareTextSpans: () => f8, compareValues: () => Es, compileOnSaveCommandLineOption: () => UO, compilerOptionsAffectDeclarationPath: () => Cle, compilerOptionsAffectEmit: () => Ale, compilerOptionsAffectSemanticDiagnostics: () => xle, compilerOptionsDidYouMeanDiagnostics: () => JO, compilerOptionsIndicateEsModules: () => aY, compose: () => Rke, computeCommonSourceDirectoryOfFilenames: () => jpe, computeLineAndCharacterOfPosition: () => yw, computeLineOfPosition: () => aI, computeLineStarts: () => hw, computePositionOfLineAndCharacter: () => mj, computeSignature: () => YT, computeSignatureWithDiagnostics: () => Tq, computeSuggestionDiagnostics: () => $Y, concatenate: () => Qi, concatenateDiagnosticMessageChains: () => gle, consumesNodeCoreModules: () => V7, contains: () => ya, containsIgnoredPath: () => sL, containsObjectRestOrSpread: () => IO, containsParseError: () => Gw, containsPath: () => Gy, convertCompilerOptionsForTelemetry: () => TNe, convertCompilerOptionsFromJson: () => mNe, convertJsonOption: () => GO, convertToBase64: () => ele, convertToObject: () => rfe, convertToObjectWorker: () => PO, convertToOptionsWithAbsolutePaths: () => SJ, convertToRelativePath: () => rI, convertToTSConfig: () => tNe, convertTypeAcquisitionFromJson: () => hNe, copyComments: () => r1, copyEntries: () => Mw, copyLeadingComments: () => q2, copyProperties: () => jU, copyTrailingAsLeadingComments: () => qN, copyTrailingComments: () => sk, couldStartTrivia: () => hoe, countWhere: () => Oy, createAbstractBuilder: () => S8e, createAccessorPropertyBackingField: () => sJ, createAccessorPropertyGetRedirector: () => gde, createAccessorPropertySetRedirector: () => yde, createBaseNodeFactory: () => oue, createBinaryExpressionTrampoline: () => C3, createBindingHelper: () => d2, createBuildInfo: () => dN, createBuilderProgram: () => Sq, createBuilderProgramUsingProgramBuildInfo: () => dme, createBuilderStatusReporter: () => Ame, createCacheWithRedirects: () => KJ, createCacheableExportInfoMap: () => Tge, createCachedDirectoryStructureHost: () => Mpe, createClassifier: () => Age, createCommentDirectivesMap: () => Gse, createCompilerDiagnostic: () => ps, createCompilerDiagnosticForInvalidCustomType: () => pJ, createCompilerDiagnosticFromMessageChain: () => s4, createCompilerHost: () => Hpe, createCompilerHostFromProgramHost: () => Bq, createCompilerHostWorker: () => nq, createDetachedDiagnostic: () => t2, createDiagnosticCollection: () => XA, createDiagnosticForFileFromMessageChain: () => yH, createDiagnosticForNode: () => hr, createDiagnosticForNodeArray: () => RA, createDiagnosticForNodeArrayFromMessageChain: () => jw, createDiagnosticForNodeFromMessageChain: () => Lh, createDiagnosticForNodeInSourceFile: () => Nu, createDiagnosticForRange: () => vH, createDiagnosticMessageChainFromDiagnostic: () => qse, createDiagnosticReporter: () => bN, createDocumentPositionMapper: () => H_e, createDocumentRegistry: () => VY, createDocumentRegistryInternal: () => Rge, createEmitAndSemanticDiagnosticsBuilderProgram: () => kq, createEmitHelperFactory: () => Tue, createEmptyExports: () => bO, createExpressionForJsxElement: () => Que, createExpressionForJsxFragment: () => Zue, createExpressionForObjectLiteralElementLike: () => ede, createExpressionForPropertyName: () => Zz, createExpressionFromEntityName: () => EO, createExternalHelpersImportDeclarationIfNeeded: () => nJ, createFileDiagnostic: () => al, createFileDiagnosticFromMessageChain: () => S6, createForOfBindingStatement: () => Qz, createGetCanonicalFileName: () => Dl, createGetSourceFile: () => eq, createGetSymbolAccessibilityDiagnosticForNode: () => zg, createGetSymbolAccessibilityDiagnosticForNodeName: () => Epe, createGetSymbolWalker: () => f_e, createIncrementalCompilerHost: () => jq, createIncrementalProgram: () => xme, createInputFiles: () => RRe, createInputFilesWithFilePaths: () => _z, createInputFilesWithFileTexts: () => pz, createJsxFactoryExpression: () => $z, createLanguageService: () => Bye, createLanguageServiceSourceFile: () => f5, createMemberAccessForPropertyName: () => VT, createModeAwareCache: () => WT, createModeAwareCacheKey: () => ML, createModuleResolutionCache: () => Y3, createModuleResolutionLoader: () => cq, createModuleSpecifierResolutionHost: () => $S, createMultiMap: () => Nf, createNodeConverters: () => cue, createNodeFactory: () => YR, createOptionNameMap: () => R3, createOverload: () => Dte, createPackageJsonImportFilter: () => uk, createPackageJsonInfo: () => uge, createParenthesizerRules: () => sue, createPatternMatcher: () => Fge, createPrependNodes: () => fq, createPrinter: () => nE, createPrinterWithDefaults: () => qK, createPrinterWithRemoveComments: () => rE, createPrinterWithRemoveCommentsNeverAsciiEscape: () => XK, createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => fN, createProgram: () => PF, createProgramHost: () => Uq, createPropertyNameNodeForIdentifierOrLiteral: () => E4, createQueue: () => HU, createRange: () => Gf, createRedirectedBuilderProgram: () => Cq, createResolutionCache: () => fme, createRuntimeTypeSerializer: () => npe, createScanner: () => kg, createSemanticDiagnosticsBuilderProgram: () => T8e, createSet: () => Dke, createSolutionBuilder: () => U8e, createSolutionBuilderHost: () => F8e, createSolutionBuilderWithWatch: () => V8e, createSolutionBuilderWithWatchHost: () => G8e, createSortedArray: () => MU, createSourceFile: () => DO, createSourceMapGenerator: () => M_e, createSourceMapSource: () => ORe, createSuperAccessVariableStatement: () => SF, createSymbolTable: () => Ua, createSymlinkCache: () => Ile, createSystemWatchFunctions: () => loe, createTextChange: () => GN, createTextChangeFromStartLength: () => v7, createTextChangeRange: () => Sw, createTextRangeFromNode: () => nY, createTextRangeFromSpan: () => y7, createTextSpan: () => il, createTextSpanFromBounds: () => Wc, createTextSpanFromNode: () => Du, createTextSpanFromRange: () => lv, createTextSpanFromStringLiteralLikeContent: () => tY, createTextWriter: () => SR, createTokenRange: () => _W, createTypeChecker: () => k_e, createTypeReferenceDirectiveResolutionCache: () => $3, createTypeReferenceResolutionLoader: () => OF, createUnderscoreEscapedMultiMap: () => vae, createUnparsedSourceFile: () => fz, createWatchCompilerHost: () => R8e, createWatchCompilerHostOfConfigFile: () => Tme, createWatchCompilerHostOfFilesAndCompilerOptions: () => Sme, createWatchFactory: () => Gq, createWatchHost: () => Fq, createWatchProgram: () => O8e, createWatchStatusReporter: () => pme, createWriteFileMeasuringIO: () => tq, declarationNameToString: () => os, decodeMappings: () => EK, decodedTextSpanIntersectsWith: () => Q8, decorateHelper: () => N4, deduplicate: () => fA, defaultIncludeSpec: () => z3, defaultInitCompilerOptions: () => W3, defaultMaximumTruncationLength: () => KR, detectSortCaseSensitivity: () => l8, diagnosticCategoryName: () => C8, diagnosticToString: () => ZS, directoryProbablyExists: () => gp, directorySeparator: () => _s, displayPart: () => Qu, displayPartsToString: () => Mye, disposeEmitNodes: () => yz, documentSpansEqual: () => P6e, dumpTracingLegend: () => toe, elementAt: () => Ig, elideNodes: () => hde, emitComments: () => Vce, emitDetachedComments: () => jce, emitFiles: () => CF, emitFilesAndReportErrors: () => qF, emitFilesAndReportErrorsAndGetExitStatus: () => vme, emitModuleKindIsNonNodeESM: () => SW, emitNewLineBeforeLeadingCommentOfPosition: () => Uce, emitNewLineBeforeLeadingComments: () => Gce, emitNewLineBeforeLeadingCommentsOfPosition: () => Bce, emitSkippedWithNoDiagnostics: () => HF, emitUsingBuildInfo: () => Ppe, emptyArray: () => Je, emptyFileSystemEntries: () => D4, emptyMap: () => b8, emptyOptions: () => Cp, emptySet: () => Pae, endsWith: () => Oc, ensurePathIsNonModuleName: () => S0, ensureScriptKind: () => h4, ensureTrailingDirectorySeparator: () => cu, entityNameToString: () => qd, enumerateInsertsAndDeletes: () => wae, equalOwnProperties: () => hae, equateStringsCaseInsensitive: () => W1, equateStringsCaseSensitive: () => z1, equateValues: () => Zv, esDecorateHelper: () => F4, escapeJsxAttributeString: () => qH, escapeLeadingUnderscores: () => Bs, escapeNonAsciiString: () => ER, escapeSnippetText: () => OT, escapeString: () => _S, every: () => Ji, expandPreOrPostfixIncrementOrDecrementExpression: () => b3, explainFiles: () => yme, explainIfFileIsRedirectAndImpliedFormat: () => Oq, exportAssignmentIsAlias: () => zA, exportStarHelper: () => t3, expressionResultIsUnused: () => Ble, extend: () => d8, extendsHelper: () => z4, extensionFromPath: () => jR, extensionIsTS: () => y4, externalHelpersModuleNameText: () => _b, factory: () => D, fileExtensionIs: () => Gc, fileExtensionIsOneOf: () => $c, fileIncludeReasonToDiagnostics: () => Mq, filter: () => Pr, filterMutate: () => wU, filterSemanticDiagnostics: () => MF, find: () => wr, findAncestor: () => jn, findBestPatternMatch: () => JU, findChildOfKind: () => Yo, findComputedPropertyNameCacheAssignment: () => L3, findConfigFile: () => Vpe, findContainingList: () => d7, findDiagnosticForNode: () => fge, findFirstNonJsxWhitespaceToken: () => Ihe, findIndex: () => Yc, findLast: () => dA, findLastIndex: () => s8, findListItemInfo: () => Ehe, findMap: () => vke, findModifier: () => z2, findNextToken: () => t1, findPackageJson: () => cge, findPackageJsons: () => AY, findPrecedingMatchingToken: () => h7, findPrecedingToken: () => el, findSuperStatementIndex: () => bF, findTokenOnLeftOfPosition: () => p7, findUseStrictPrologue: () => tJ, first: () => Vo, firstDefined: () => ks, firstDefinedIterator: () => FD, firstIterator: () => pae, firstOrOnly: () => LY, firstOrUndefined: () => Sl, firstOrUndefinedIterator: () => u8, fixupCompilerOptions: () => t$, flatMap: () => Uo, flatMapIterator: () => OU, flatMapToMutable: () => BD, flatten: () => t_, flattenCommaList: () => vde, flattenDestructuringAssignment: () => KT, flattenDestructuringBinding: () => eE, flattenDiagnosticMessageText: () => sv, forEach: () => mn, forEachAncestor: () => Lse, forEachAncestorDirectory: () => Th, forEachChild: () => pa, forEachChildRecursively: () => kO, forEachEmittedFile: () => WK, forEachEnclosingBlockScopeContainer: () => Jse, forEachEntry: () => Ld, forEachExternalModuleToImportFrom: () => MY, forEachImportClauseDeclaration: () => z6, forEachKey: () => TI, forEachLeadingCommentRange: () => vw, forEachNameInAccessChainWalkingLeft: () => Xwe, forEachResolvedProjectReference: () => Kpe, forEachReturnStatement: () => vT, forEachRight: () => sae, forEachTrailingCommentRange: () => bw, forEachUnique: () => lY, forEachYieldExpression: () => Yse, forSomeAncestorDirectory: () => qwe, formatColorAndReset: () => iE, formatDiagnostic: () => rq, formatDiagnostics: () => e8e, formatDiagnosticsWithColorAndContext: () => Jpe, formatGeneratedName: () => jT, formatGeneratedNamePart: () => L2, formatLocation: () => iq, formatMessage: () => TW, formatStringFromArgs: () => jm, formatting: () => tl, fullTripleSlashAMDReferencePathRegEx: () => XW, fullTripleSlashReferencePathRegEx: () => qW, generateDjb2Hash: () => aw, generateTSConfig: () => oNe, generatorHelper: () => Q4, getAdjustedReferenceLocation: () => zX, getAdjustedRenameLocation: () => _7, getAliasDeclarationFromName: () => BH, getAllAccessorDeclarations: () => kT, getAllDecoratorsOfClass: () => LK, getAllDecoratorsOfClassElement: () => TF, getAllJSDocTags: () => kj, getAllJSDocTagsOfKind: () => KDe, getAllKeys: () => Ike, getAllProjectOutputs: () => AF, getAllSuperTypeNodes: () => NI, getAllUnscopedEmitHelpers: () => xz, getAllowJSCompilerOption: () => PR, getAllowSyntheticDefaultImports: () => wT, getAncestor: () => cb, getAnyExtensionFromPath: () => j8, getAreDeclarationMapsEnabled: () => d4, getAssignedExpandoInitializer: () => oS, getAssignedName: () => xj, getAssignmentDeclarationKind: () => ic, getAssignmentDeclarationPropertyAccessKind: () => tR, getAssignmentTargetKind: () => xT, getAutomaticTypeDirectiveNames: () => X3, getBaseFileName: () => Hl, getBinaryOperatorPrecedence: () => vR, getBuildInfo: () => IF, getBuildInfoFileVersionMap: () => Aq, getBuildInfoText: () => Npe, getBuildOrderFromAnyBuildOrder: () => ZF, getBuilderCreationParameters: () => zF, getBuilderFileEmit: () => cv, getCheckFlags: () => ac, getClassExtendsHeritageElement: () => P0, getClassLikeDeclarationOfSymbol: () => Nh, getCombinedLocalAndExportSymbolFlags: () => XI, getCombinedModifierFlags: () => wg, getCombinedNodeFlags: () => G_, getCombinedNodeFlagsAlwaysIncludeJSDoc: () => Tj, getCommentRange: () => sm, getCommonSourceDirectory: () => uN, getCommonSourceDirectoryOfConfig: () => XL, getCompilerOptionValue: () => f4, getCompilerOptionsDiffValue: () => aNe, getConditions: () => P2, getConfigFileParsingDiagnostics: () => XT, getConstantValue: () => mue, getContainerNode: () => e1, getContainingClass: () => Zc, getContainingClassStaticBlock: () => gwe, getContainingFunction: () => Xd, getContainingFunctionDeclaration: () => ice, getContainingFunctionOrClassStaticBlock: () => R6, getContainingNodeArray: () => Ule, getContainingObjectLiteralElement: () => nP, getContextualTypeFromParent: () => w7, getContextualTypeFromParentOrAncestorTypeNode: () => f7, getCurrentTime: () => SN, getDeclarationDiagnostics: () => Tpe, getDeclarationEmitExtensionForPath: () => QH, getDeclarationEmitOutputFilePath: () => Rce, getDeclarationEmitOutputFilePathWorker: () => $H, getDeclarationFromName: () => fR, getDeclarationModifierFlagsFromSymbol: () => Ef, getDeclarationOfKind: () => nc, getDeclarationsOfKind: () => Ase, getDeclaredExpandoInitializer: () => $w, getDecorators: () => Uy, getDefaultCompilerOptions: () => d5, getDefaultExportInfoWorker: () => $7, getDefaultFormatCodeSettings: () => fhe, getDefaultLibFileName: () => X8, getDefaultLibFilePath: () => f3e, getDefaultLikeExportInfo: () => Y7, getDiagnosticText: () => ZOe, getDiagnosticsWithinSpan: () => _ge, getDirectoryPath: () => ni, getDocumentPositionMapper: () => Yge, getESModuleInterop: () => f_, getEditsForFileRename: () => Nge, getEffectiveBaseTypeNode: () => hp, getEffectiveConstraintOfTypeParameter: () => EA, getEffectiveContainerForJSDocTemplateTag: () => J6, getEffectiveImplementsTypeNodes: () => JA, getEffectiveInitializer: () => Yw, getEffectiveJSDocHost: () => WA, getEffectiveModifierFlags: () => uu, getEffectiveModifierFlagsAlwaysIncludeJSDoc: () => Jce, getEffectiveModifierFlagsNoCache: () => qce, getEffectiveReturnTypeNode: () => U_, getEffectiveSetAccessorTypeAnnotationNode: () => Fce, getEffectiveTypeAnnotationNode: () => Cl, getEffectiveTypeParameterDeclarations: () => jy, getEffectiveTypeRoots: () => XO, getElementOrPropertyAccessArgumentExpressionOrName: () => W6, getElementOrPropertyAccessName: () => wh, getElementsOfBindingOrAssignmentPattern: () => I2, getEmitDeclarations: () => __, getEmitFlags: () => Ya, getEmitHelpers: () => O4, getEmitModuleDetectionKind: () => Ele, getEmitModuleKind: () => Rl, getEmitModuleResolutionKind: () => $s, getEmitScriptTarget: () => Do, getEnclosingBlockScopeContainer: () => tm, getEncodedSemanticClassifications: () => BY, getEncodedSyntacticClassifications: () => UY, getEndLinePosition: () => Bw, getEntityNameFromTypeNode: () => Jw, getEntrypointsFromPackageJsonInfo: () => zNe, getErrorCountForSummary: () => JF, getErrorSpanForNode: () => w0, getErrorSummaryText: () => hme, getEscapedTextOfIdentifierOrLiteral: () => MI, getExpandoInitializer: () => ob, getExportAssignmentExpression: () => UH, getExportInfoMap: () => YN, getExportNeedsImportStarHelper: () => z_e, getExpressionAssociativity: () => WH, getExpressionPrecedence: () => $6, getExternalHelpersModuleName: () => SO, getExternalModuleImportEqualsDeclarationExpression: () => wI, getExternalModuleName: () => UA, getExternalModuleNameFromDeclaration: () => Dce, getExternalModuleNameFromPath: () => YH, getExternalModuleNameLiteral: () => jS, getExternalModuleRequireArgument: () => IH, getFallbackOptions: () => _N, getFileEmitOutput: () => Ype, getFileMatcherPatterns: () => tL, getFileNamesFromConfigSpecs: () => BO, getFileWatcherEventKind: () => aoe, getFilesInErrorForSummary: () => KF, getFirstConstructorWithBody: () => Vm, getFirstIdentifier: () => Yd, getFirstNonSpaceCharacterPosition: () => nge, getFirstProjectOutput: () => JK, getFixableErrorSpanExpression: () => IY, getFormatCodeSettingsForWriting: () => z7, getFullWidth: () => Fw, getFunctionFlags: () => pl, getHeritageClause: () => mR, getHostSignatureFromJSDoc: () => sb, getIdentifierAutoGenerate: () => BRe, getIdentifierGeneratedImportReference: () => Eue, getIdentifierTypeArguments: () => NT, getImmediatelyInvokedFunctionExpression: () => ET, getImpliedNodeFormatForFile: () => NF, getImpliedNodeFormatForFileWorker: () => uq, getImportNeedsImportDefaultHelper: () => SK, getImportNeedsImportStarHelper: () => vF, getIndentSize: () => YA, getIndentString: () => Q6, getInitializedVariables: () => qI, getInitializerOfBinaryExpression: () => OH, getInitializerOfBindingOrAssignmentElement: () => AO, getInterfaceBaseTypeNodes: () => PI, getInternalEmitFlags: () => o_, getInvokedExpression: () => P6, getIsolatedModules: () => d_, getJSDocAugmentsTag: () => Koe, getJSDocClassTag: () => Aj, getJSDocCommentRanges: () => EH, getJSDocCommentsAndTags: () => PH, getJSDocDeprecatedTag: () => Cj, getJSDocDeprecatedTagNoCache: () => ese, getJSDocEnumTag: () => Ij, getJSDocHost: () => dS, getJSDocImplementsTags: () => qoe, getJSDocOverrideTagNoCache: () => Zoe, getJSDocParameterTags: () => fI, getJSDocParameterTagsNoCache: () => joe, getJSDocPrivateTag: () => jDe, getJSDocPrivateTagNoCache: () => Yoe, getJSDocProtectedTag: () => HDe, getJSDocProtectedTagNoCache: () => $oe, getJSDocPublicTag: () => VDe, getJSDocPublicTagNoCache: () => Xoe, getJSDocReadonlyTag: () => WDe, getJSDocReadonlyTagNoCache: () => Qoe, getJSDocReturnTag: () => tse, getJSDocReturnType: () => Aw, getJSDocRoot: () => OI, getJSDocSatisfiesExpressionType: () => JW, getJSDocSatisfiesTag: () => Lj, getJSDocTags: () => A0, getJSDocTagsNoCache: () => JDe, getJSDocTemplateTag: () => zDe, getJSDocThisTag: () => e6, getJSDocType: () => Vy, getJSDocTypeAliasName: () => iJ, getJSDocTypeAssertionType: () => T3, getJSDocTypeParameterDeclarations: () => t4, getJSDocTypeParameterTags: () => Woe, getJSDocTypeParameterTagsNoCache: () => zoe, getJSDocTypeTag: () => x0, getJSXImplicitImportBase: () => _4, getJSXRuntimeImport: () => p4, getJSXTransformEnabled: () => AW, getKeyForCompilerOptions: () => JJ, getLanguageVariant: () => RR, getLastChild: () => yW, getLeadingCommentRanges: () => Nm, getLeadingCommentRangesOfNode: () => bH, getLeftmostAccessExpression: () => $I, getLeftmostExpression: () => QI, getLineAndCharacterOfPosition: () => Gs, getLineInfo: () => F_e, getLineOfLocalPosition: () => UI, getLineOfLocalPositionFromLineMap: () => IT, getLineStartPositionForPosition: () => Wf, getLineStarts: () => Sh, getLinesBetweenPositionAndNextNonWhitespaceCharacter: () => sle, getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter: () => ole, getLinesBetweenPositions: () => oI, getLinesBetweenRangeEndAndRangeStart: () => pW, getLinesBetweenRangeEndPositions: () => Wwe, getLiteralText: () => Bse, getLocalNameForExternalImport: () => C2, getLocalSymbolForExportDefault: () => QA, getLocaleSpecificMessage: () => uo, getLocaleTimeString: () => EN, getMappedContextSpan: () => zhe, getMappedDocumentSpan: () => uY, getMappedLocation: () => WN, getMatchedFileSpec: () => Nq, getMatchedIncludeSpec: () => Pq, getMeaningFromDeclaration: () => LN, getMeaningFromLocation: () => ZT, getMembersOfDeclaration: () => $se, getModeForFileReference: () => mN, getModeForResolutionAtIndex: () => aq, getModeForUsageLocation: () => W_, getModifiedTime: () => $1, getModifiers: () => uT, getModuleInstanceState: () => Gh, getModuleNameStringLiteralAt: () => GF, getModuleSpecifierEndingPreference: () => OW, getModuleSpecifierResolverHost: () => oY, getNameForExportedSymbol: () => j7, getNameFromIndexInfo: () => Kse, getNameFromPropertyName: () => VN, getNameOfAccessExpression: () => ule, getNameOfCompilerOptionValue: () => EJ, getNameOfDeclaration: () => sa, getNameOfExpando: () => wH, getNameOfJSDocTypedef: () => Uoe, getNameOrArgument: () => eR, getNameTable: () => p$, getNamesForExportedSymbol: () => mge, getNamespaceDeclarationNode: () => VA, getNewLineCharacter: () => db, getNewLineKind: () => XN, getNewLineOrDefaultFromHost: () => bb, getNewTargetContainer: () => oce, getNextJSDocCommentLocation: () => MH, getNodeForGeneratedName: () => I3, getNodeId: () => zo, getNodeKind: () => aE, getNodeModifiers: () => rk, getNodeModulePathParts: () => jW, getNonAssignedNameOfDeclaration: () => Sj, getNonAssignmentOperatorForCompoundAssignment: () => WL, getNonAugmentationDeclaration: () => dH, getNonDecoratorTokenPosOfNode: () => aH, getNormalizedAbsolutePath: () => _a, getNormalizedAbsolutePathWithoutRoot: () => lj, getNormalizedPathComponents: () => fw, getObjectFlags: () => Ur, getOperator: () => JH, getOperatorAssociativity: () => zH, getOperatorPrecedence: () => yR, getOptionFromName: () => gJ, getOptionsNameMap: () => w2, getOrCreateEmitNode: () => Lu, getOrCreateExternalHelpersModuleNameIfNeeded: () => ade, getOrUpdate: () => VD, getOriginalNode: () => ec, getOriginalNodeId: () => sc, getOriginalSourceFile: () => wwe, getOutputDeclarationFileName: () => qL, getOutputExtension: () => zK, getOutputFileNames: () => BMe, getOutputPathsFor: () => KL, getOutputPathsForBundle: () => JL, getOwnEmitOutputFilePath: () => wce, getOwnKeys: () => bh, getOwnValues: () => H1, getPackageJsonInfo: () => KS, getPackageJsonTypesVersionsPaths: () => q3, getPackageJsonsVisibleToFile: () => lge, getPackageNameFromTypesPackageName: () => ZO, getPackageScopeForPath: () => eF, getParameterSymbolFromJSDoc: () => uR, getParameterTypeNode: () => bRe, getParentNodeInSpan: () => HN, getParseTreeNode: () => ea, getParsedCommandLineOfConfigFile: () => RO, getPathComponents: () => Ou, getPathComponentsRelativeTo: () => _j, getPathFromPathComponents: () => T0, getPathUpdater: () => jY, getPathsBasePath: () => ZH, getPatternFromSpec: () => kW, getPendingEmitKind: () => G2, getPositionOfLineAndCharacter: () => gw, getPossibleGenericSignatures: () => XX, getPossibleOriginalInputExtensionForExtension: () => Oce, getPossibleTypeArgumentsInfo: () => YX, getPreEmitDiagnostics: () => ZMe, getPrecedingNonSpaceCharacterPosition: () => hY, getPrivateIdentifier: () => kK, getProperties: () => CK, getProperty: () => zD, getPropertyArrayElementValue: () => rce, getPropertyAssignment: () => MA, getPropertyAssignmentAliasLikeExpression: () => xce, getPropertyNameForPropertyNameNode: () => M0, getPropertyNameForUniqueESSymbol: () => kwe, getPropertyNameOfBindingOrAssignmentElement: () => rJ, getPropertySymbolFromBindingElement: () => I7, getPropertySymbolsFromContextualType: () => _5, getQuoteFromPreference: () => Hhe, getQuotePreference: () => J_, getRangesWhere: () => PU, getRefactorContextSpan: () => QS, getReferencedFileLocation: () => YL, getRegexFromPattern: () => Qy, getRegularExpressionForWildcard: () => eL, getRegularExpressionsForWildcards: () => m4, getRelativePathFromDirectory: () => Xp, getRelativePathFromFile: () => _w, getRelativePathToDirectoryOrUrl: () => Q1, getRenameLocation: () => KN, getReplacementSpanForContextToken: () => eY, getResolutionDiagnostic: () => _q, getResolutionModeOverrideForClause: () => qS, getResolveJsonModule: () => RT, getResolvePackageJsonExports: () => xW, getResolvePackageJsonImports: () => oRe, getResolvedExternalModuleName: () => Z6, getResolvedModule: () => kA, getResolvedTypeReferenceDirective: () => iwe, getRestIndicatorOfBindingOrAssignmentElement: () => x3, getRestParameterElementType: () => SH, getRightMostAssignedExpression: () => Qw, getRootDeclaration: () => nm, getRootLength: () => _p, getScriptKind: () => mY, getScriptKindFromFileName: () => RW, getScriptTargetFeatures: () => oH, getSelectedEffectiveModifierFlags: () => hS, getSelectedSyntacticModifierFlags: () => zce, getSemanticClassifications: () => Cge, getSemanticJsxChildren: () => bR, getSetAccessorTypeAnnotationNode: () => Pce, getSetAccessorValueParameter: () => VI, getSetExternalModuleIndicator: () => OR, getShebang: () => K8, getSingleInitializerOfVariableStatementOrPropertyDeclaration: () => NH, getSingleVariableOfVariableStatement: () => HA, getSnapshotText: () => E7, getSnippetElement: () => bz, getSourceFileOfModule: () => m6, getSourceFileOfNode: () => Gn, getSourceFilePathInNewDir: () => e4, getSourceFilePathInNewDirWorker: () => tW, getSourceFileVersionAsHashFromText: () => XF, getSourceFilesToEmit: () => eW, getSourceMapRange: () => pb, getSourceMapper: () => Xge, getSourceTextOfNodeFromSourceFile: () => k0, getSpanOfTokenAtPosition: () => Pg, getSpellingSuggestion: () => $C, getStartPositionOfLine: () => Ky, getStartPositionOfRange: () => KI, getStartsOnNewLine: () => tO, getStaticPropertiesAndClassStaticBlock: () => EF, getStrictOptionValue: () => Uf, getStringComparer: () => p8, getSuperCallFromStatement: () => AK, getSuperContainer: () => Ww, getSupportedCodeFixes: () => Fye, getSupportedExtensions: () => nL, getSupportedExtensionsWithJsonIfResolveJsonModule: () => FR, getSwitchedType: () => TY, getSymbolId: () => $a, getSymbolNameForPrivateIdentifier: () => hR, getSymbolTarget: () => ege, getSyntacticClassifications: () => Dge, getSyntacticModifierFlags: () => Yy, getSyntacticModifierFlagsNoCache: () => sW, getSynthesizedDeepClone: () => cc, getSynthesizedDeepCloneWithReplacements: () => JN, getSynthesizedDeepClones: () => oE, getSynthesizedDeepClonesWithReplacements: () => gY, getSyntheticLeadingComments: () => l2, getSyntheticTrailingComments: () => rO, getTargetLabel: () => s7, getTargetOfBindingOrAssignmentElement: () => iv, getTemporaryModuleResolutionState: () => Z3, getTextOfConstantValue: () => Use, getTextOfIdentifierOrLiteral: () => l_, getTextOfJSDocComment: () => Cw, getTextOfNode: () => Qc, getTextOfNodeFromSourceText: () => AI, getTextOfPropertyName: () => wA, getThisContainer: () => Ku, getThisParameter: () => F0, getTokenAtPosition: () => Vi, getTokenPosOfNode: () => gT, getTokenSourceMapRange: () => FRe, getTouchingPropertyName: () => ef, getTouchingToken: () => nk, getTrailingCommentRanges: () => eb, getTrailingSemicolonDeferringWriter: () => XH, getTransformFlagsSubtreeExclusions: () => uue, getTransformers: () => jK, getTsBuildInfoEmitOutputFilePath: () => Jg, getTsConfigObjectLiteralExpression: () => LI, getTsConfigPropArray: () => Hw, getTsConfigPropArrayElementValue: () => w6, getTypeAnnotationNode: () => Mce, getTypeArgumentOrTypeParameterList: () => Ohe, getTypeKeywordOfTypeOnlyImport: () => cY, getTypeNode: () => vue, getTypeNodeIfAccessible: () => lk, getTypeParameterFromJsDoc: () => yce, getTypeParameterOwner: () => BDe, getTypesPackageName: () => rF, getUILocale: () => xae, getUniqueName: () => i1, getUniqueSymbolId: () => tge, getUseDefineForClassFields: () => MR, getWatchErrorSummaryDiagnosticMessage: () => wq, getWatchFactory: () => Upe, group: () => YC, groupBy: () => yae, guessIndentation: () => xse, handleNoEmitOptions: () => dq, hasAbstractModifier: () => B0, hasAccessorModifier: () => rm, hasAmbientModifier: () => aW, hasChangesInResolutions: () => nH, hasChildOfKind: () => NN, hasContextSensitiveParameters: () => b4, hasDecorators: () => bf, hasDocComment: () => Rhe, hasDynamicName: () => Xy, hasEffectiveModifier: () => cd, hasEffectiveModifiers: () => n4, hasEffectiveReadonlyModifier: () => jI, hasExtension: () => gA, hasIndexSignature: () => EY, hasInitializer: () => Jy, hasInvalidEscape: () => KH, hasJSDocNodes: () => Kd, hasJSDocParameterTags: () => Joe, hasJSFileExtension: () => ES, hasJsonModuleEmitEnabled: () => l4, hasOnlyExpressionInitializer: () => mT, hasOverrideModifier: () => iW, hasPossibleExternalModuleReference: () => zse, hasProperty: () => fs, hasPropertyAccessExpressionWithName: () => kN, hasQuestionToken: () => uS, hasRecordedExternalHelpers: () => ide, hasRestParameter: () => Yj, hasScopeMarker: () => yse, hasStaticModifier: () => zc, hasSyntacticModifier: () => Mr, hasSyntacticModifiers: () => Wce, hasTSFileExtension: () => GR, hasTabstop: () => jle, hasTrailingDirectorySeparator: () => My, hasType: () => f6, hasTypeArguments: () => Awe, hasZeroOrOneAsteriskCharacter: () => CW, helperString: () => Sz, hostGetCanonicalFileName: () => lb, hostUsesCaseSensitiveFileNames: () => xR, idText: () => vr, identifierIsThisKeyword: () => rW, identifierToKeywordKind: () => nb, identity: () => Ks, identitySourceMapConsumer: () => yF, ignoreSourceNewlines: () => Tz, ignoredPaths: () => uw, importDefaultHelper: () => e3, importFromModuleSpecifier: () => aR, importNameElisionDisabled: () => u4, importStarHelper: () => aO, indexOfAnyCharCode: () => cae, indexOfNode: () => DA, indicesOf: () => jD, inferredTypesContainingFile: () => VF, insertImports: () => L7, insertLeadingStatement: () => sOe, insertSorted: () => Ny, insertStatementAfterCustomPrologue: () => L0, insertStatementAfterStandardPrologue: () => cwe, insertStatementsAfterCustomPrologue: () => rH, insertStatementsAfterStandardPrologue: () => em, intersperse: () => DU, introducesArgumentsExoticObject: () => tce, inverseJsxOptionMap: () => NL, isAbstractConstructorSymbol: () => cle, isAbstractModifier: () => Rue, isAccessExpression: () => Us, isAccessibilityModifier: () => ZX, isAccessor: () => rb, isAccessorModifier: () => Nue, isAliasSymbolDeclaration: () => Cwe, isAliasableExpression: () => pR, isAmbientModule: () => lu, isAmbientPropertyDeclaration: () => _H, isAnonymousFunctionDefinition: () => FI, isAnyDirectorySeparator: () => sj, isAnyImportOrBareOrAccessedRequire: () => Wse, isAnyImportOrReExport: () => Uw, isAnyImportSyntax: () => yT, isAnySupportedFileExtension: () => mRe, isApplicableVersionedTypesKey: () => QO, isArgumentExpressionOfElementAccess: () => BX, isArray: () => ba, isArrayBindingElement: () => c6, isArrayBindingOrAssignmentElement: () => ww, isArrayBindingOrAssignmentPattern: () => Vj, isArrayBindingPattern: () => g2, isArrayLiteralExpression: () => fu, isArrayLiteralOrObjectLiteralDestructuringPattern: () => qg, isArrayTypeNode: () => wz, isArrowFunction: () => xs, isAsExpression: () => fO, isAssertClause: () => p3, isAssertEntry: () => jue, isAssertionExpression: () => pT, isAssertionKey: () => ase, isAssertsKeyword: () => Due, isAssignmentDeclaration: () => RI, isAssignmentExpression: () => Iu, isAssignmentOperator: () => Mg, isAssignmentPattern: () => vI, isAssignmentTarget: () => Um, isAsteriskToken: () => cO, isAsyncFunction: () => qA, isAsyncModifier: () => mL, isAutoAccessorPropertyDeclaration: () => Id, isAwaitExpression: () => v2, isAwaitKeyword: () => Dz, isBigIntLiteral: () => a3, isBinaryExpression: () => ar, isBinaryOperatorToken: () => pde, isBindableObjectDefinePropertyCall: () => sS, isBindableStaticAccessExpression: () => ST, isBindableStaticElementAccessExpression: () => H6, isBindableStaticNameExpression: () => cS, isBindingElement: () => Wo, isBindingElementOfBareOrAccessedRequire: () => lce, isBindingName: () => Mm, isBindingOrAssignmentElement: () => use, isBindingOrAssignmentPattern: () => kw, isBindingPattern: () => La, isBlock: () => Va, isBlockOrCatchScoped: () => sH, isBlockScope: () => pH, isBlockScopedContainerTopLevel: () => Hse, isBooleanLiteral: () => ose, isBreakOrContinueStatement: () => hI, isBreakStatement: () => qRe, isBuildInfoFile: () => Ipe, isBuilderProgram: () => gme, isBundle: () => Bz, isBundleFileTextLike: () => dle, isCallChain: () => dT, isCallExpression: () => Pa, isCallExpressionTarget: () => NX, isCallLikeExpression: () => rS, isCallOrNewExpression: () => Ih, isCallOrNewExpressionTarget: () => PX, isCallSignatureDeclaration: () => _2, isCallToHelper: () => pL, isCaseBlock: () => hO, isCaseClause: () => CL, isCaseKeyword: () => Pue, isCaseOrDefaultClause: () => Kj, isCatchClause: () => E2, isCatchClauseVariableDeclaration: () => Vle, isCatchClauseVariableDeclarationOrBindingElement: () => cH, isCheckJsEnabledForFile: () => HR, isChildOfNodeWithKind: () => TH, isCircularBuildOrder: () => YS, isClassDeclaration: () => sl, isClassElement: () => _l, isClassExpression: () => _u, isClassLike: () => Yr, isClassMemberModifier: () => Gj, isClassOrTypeElement: () => s6, isClassStaticBlockDeclaration: () => oc, isCollapsedRange: () => Hwe, isColonToken: () => Iue, isCommaExpression: () => TO, isCommaListExpression: () => SL, isCommaSequence: () => wL, isCommaToken: () => Cue, isComment: () => g7, isCommonJsExportPropertyAssignment: () => k6, isCommonJsExportedExpression: () => Zse, isCompoundAssignment: () => oN, isComputedNonLiteralName: () => Vw, isComputedPropertyName: () => ts, isConciseBody: () => u6, isConditionalExpression: () => b2, isConditionalTypeNode: () => m2, isConstTypeReference: () => Ch, isConstructSignatureDeclaration: () => uO, isConstructorDeclaration: () => Ec, isConstructorTypeNode: () => yL, isContextualKeyword: () => K6, isContinueStatement: () => KRe, isCustomPrologue: () => A6, isDebuggerStatement: () => XRe, isDeclaration: () => Kl, isDeclarationBindingElement: () => Lw, isDeclarationFileName: () => Fu, isDeclarationName: () => Rh, isDeclarationNameOfEnumOrNamespace: () => wR, isDeclarationReadonly: () => x6, isDeclarationStatement: () => bse, isDeclarationWithTypeParameterChildren: () => hH, isDeclarationWithTypeParameters: () => mH, isDecorator: () => du, isDecoratorTarget: () => mhe, isDefaultClause: () => yO, isDefaultImport: () => lS, isDefaultModifier: () => kue, isDefaultedExpandoInitializer: () => dce, isDeleteExpression: () => Gue, isDeleteTarget: () => GH, isDeprecatedDeclaration: () => H7, isDestructuringAssignment: () => Fg, isDiagnosticWithLocation: () => CY, isDiskPathRoot: () => TDe, isDoStatement: () => zRe, isDotDotDotToken: () => o3, isDottedName: () => WI, isDynamicName: () => Y6, isESSymbolIdentifier: () => Dwe, isEffectiveExternalModule: () => aS, isEffectiveModuleDeclaration: () => jse, isEffectiveStrictModeSourceFile: () => fH, isElementAccessChain: () => Dj, isElementAccessExpression: () => Vs, isEmittedFileOfProgram: () => Bpe, isEmptyArrayLiteral: () => Zce, isEmptyBindingElement: () => Goe, isEmptyBindingPattern: () => Foe, isEmptyObjectLiteral: () => dW, isEmptyStatement: () => Pz, isEmptyStringLiteral: () => CH, isEndOfDeclarationMarker: () => QRe, isEntityName: () => Cd, isEntityNameExpression: () => bc, isEnumConst: () => R0, isEnumDeclaration: () => hb, isEnumMember: () => q0, isEqualityOperatorKind: () => R7, isEqualsGreaterThanToken: () => Lue, isExclamationToken: () => lO, isExcludedFile: () => gfe, isExclusivelyTypeOnlyImportOrExport: () => oq, isExportAssignment: () => pc, isExportDeclaration: () => Il, isExportModifier: () => c3, isExportName: () => E3, isExportNamespaceAsDefaultDeclaration: () => v6, isExportOrDefaultModifier: () => oJ, isExportSpecifier: () => Mu, isExportsIdentifier: () => TT, isExportsOrModuleExportsOrAlias: () => $0, isExpression: () => ot, isExpressionNode: () => Dh, isExpressionOfExternalModuleImportEqualsDeclaration: () => vhe, isExpressionOfOptionalChainRoot: () => r6, isExpressionStatement: () => Ol, isExpressionWithTypeArguments: () => Vg, isExpressionWithTypeArgumentsInClassExtendsClause: () => IR, isExternalModule: () => Lc, isExternalModuleAugmentation: () => D0, isExternalModuleImportEqualsDeclaration: () => ab, isExternalModuleIndicator: () => Rw, isExternalModuleNameRelative: () => fl, isExternalModuleReference: () => um, isExternalModuleSymbol: () => BN, isExternalOrCommonJsModule: () => kd, isFileLevelUniqueName: () => g6, isFileProbablyExternalModule: () => LO, isFirstDeclarationOfSymbolParameter: () => dY, isFixablePromiseHandler: () => ZY, isForInOrOfStatement: () => CA, isForInStatement: () => Mz, isForInitializer: () => pp, isForOfStatement: () => _O, isForStatement: () => FT, isFunctionBlock: () => bT, isFunctionBody: () => Hj, isFunctionDeclaration: () => Jc, isFunctionExpression: () => ms, isFunctionExpressionOrArrowFunction: () => a2, isFunctionLike: () => Ia, isFunctionLikeDeclaration: () => Ds, isFunctionLikeKind: () => nS, isFunctionLikeOrClassStaticBlockDeclaration: () => SA, isFunctionOrConstructorTypeNode: () => lse, isFunctionOrModuleBlock: () => Bj, isFunctionSymbol: () => _ce, isFunctionTypeNode: () => Jm, isFutureReservedKeyword: () => Iwe, isGeneratedIdentifier: () => tc, isGeneratedPrivateIdentifier: () => tS, isGetAccessor: () => zy, isGetAccessorDeclaration: () => p_, isGetOrSetAccessorDeclaration: () => t6, isGlobalDeclaration: () => J6e, isGlobalScopeAugmentation: () => mp, isGrammarError: () => Nse, isHeritageClause: () => dd, isHoistedFunction: () => C6, isHoistedVariableStatement: () => I6, isIdentifier: () => Re, isIdentifierANonContextualKeyword: () => q6, isIdentifierName: () => Sce, isIdentifierOrThisTypeNode: () => ude, isIdentifierPart: () => tb, isIdentifierStart: () => Pm, isIdentifierText: () => i_, isIdentifierTypePredicate: () => nce, isIdentifierTypeReference: () => Mle, isIfStatement: () => MT, isIgnoredFileFromWildCardWatching: () => DF, isImplicitGlob: () => LW, isImportCall: () => Dd, isImportClause: () => lm, isImportDeclaration: () => gl, isImportEqualsDeclaration: () => Nl, isImportKeyword: () => gL, isImportMeta: () => NA, isImportOrExportSpecifier: () => eS, isImportOrExportSpecifierName: () => Zhe, isImportSpecifier: () => $u, isImportTypeAssertionContainer: () => Vue, isImportTypeNode: () => Mh, isImportableFile: () => PY, isInComment: () => Kg, isInExpressionContext: () => F6, isInJSDoc: () => qw, isInJSFile: () => Yn, isInJSXText: () => Dhe, isInJsonFile: () => B6, isInNonReferenceComment: () => Ghe, isInReferenceComment: () => Fhe, isInRightSideOfInternalImportEqualsDeclaration: () => i7, isInString: () => n1, isInTemplateString: () => qX, isInTopLevelContext: () => O6, isIncrementalCompilation: () => NR, isIndexSignatureDeclaration: () => kS, isIndexedAccessTypeNode: () => OS, isInferTypeNode: () => h2, isInfinityOrNaNString: () => cL, isInitializedProperty: () => sN, isInitializedVariable: () => mW, isInsideJsxElement: () => m7, isInsideJsxElementOrAttribute: () => khe, isInsideNodeModules: () => dge, isInsideTemplateLiteral: () => FN, isInstantiatedModule: () => fK, isInterfaceDeclaration: () => ku, isInternalDeclaration: () => BK, isInternalModuleImportEqualsDeclaration: () => GA, isInternalName: () => eJ, isIntersectionTypeNode: () => dO, isIntrinsicJsxName: () => GI, isIterationStatement: () => Wy, isJSDoc: () => dm, isJSDocAllType: () => Kue, isJSDocAugmentsTag: () => x2, isJSDocAuthorTag: () => tOe, isJSDocCallbackTag: () => Vz, isJSDocClassTag: () => Xue, isJSDocCommentContainingNode: () => qj, isJSDocConstructSignature: () => jA, isJSDocDeprecatedTag: () => Jz, isJSDocEnumTag: () => vO, isJSDocFunctionType: () => S2, isJSDocImplementsTag: () => qz, isJSDocIndexSignature: () => U6, isJSDocLikeText: () => cJ, isJSDocLink: () => zue, isJSDocLinkCode: () => Jue, isJSDocLinkLike: () => iS, isJSDocLinkPlain: () => ZRe, isJSDocMemberName: () => gb, isJSDocNameReference: () => IL, isJSDocNamepathType: () => eOe, isJSDocNamespaceBody: () => ZDe, isJSDocNode: () => IA, isJSDocNonNullableType: () => m3, isJSDocNullableType: () => T2, isJSDocOptionalParameter: () => JR, isJSDocOptionalType: () => Uz, isJSDocOverloadTag: () => kL, isJSDocOverrideTag: () => g3, isJSDocParameterTag: () => xp, isJSDocPrivateTag: () => Hz, isJSDocPropertyLikeTag: () => a6, isJSDocPropertyTag: () => $ue, isJSDocProtectedTag: () => Wz, isJSDocPublicTag: () => jz, isJSDocReadonlyTag: () => zz, isJSDocReturnTag: () => y3, isJSDocSatisfiesExpression: () => zW, isJSDocSatisfiesTag: () => v3, isJSDocSeeTag: () => nOe, isJSDocSignature: () => X0, isJSDocTag: () => EI, isJSDocTemplateTag: () => H_, isJSDocThisTag: () => Yue, isJSDocThrowsTag: () => iOe, isJSDocTypeAlias: () => Ff, isJSDocTypeAssertion: () => RL, isJSDocTypeExpression: () => UT, isJSDocTypeLiteral: () => LL, isJSDocTypeTag: () => DL, isJSDocTypedefTag: () => Kz, isJSDocUnknownTag: () => rOe, isJSDocUnknownType: () => que, isJSDocVariadicType: () => h3, isJSXTagName: () => DI, isJsonEqual: () => GW, isJsonSourceFile: () => Mf, isJsxAttribute: () => Sp, isJsxAttributeLike: () => d6, isJsxAttributes: () => K0, isJsxChild: () => Pw, isJsxClosingElement: () => GS, isJsxClosingFragment: () => Hue, isJsxElement: () => Hg, isJsxExpression: () => AL, isJsxFragment: () => BS, isJsxOpeningElement: () => Xm, isJsxOpeningFragment: () => US, isJsxOpeningLikeElement: () => Au, isJsxOpeningLikeElementTagName: () => hhe, isJsxSelfClosingElement: () => FS, isJsxSpreadAttribute: () => GT, isJsxTagNameExpression: () => bI, isJsxText: () => CS, isJumpStatementTarget: () => DN, isKeyword: () => Xu, isKnownSymbol: () => gR, isLabelName: () => FX, isLabelOfLabeledStatement: () => MX, isLabeledStatement: () => J0, isLateVisibilityPaintedStatement: () => E6, isLeftHandSideExpression: () => Ju, isLeftHandSideOfAssignment: () => Bwe, isLet: () => II, isLineBreak: () => Wl, isLiteralComputedPropertyDeclarationName: () => _R, isLiteralExpression: () => fT, isLiteralExpressionOfObject: () => Pj, isLiteralImportTypeNode: () => ib, isLiteralKind: () => gI, isLiteralLikeAccess: () => j6, isLiteralLikeElementAccess: () => Zw, isLiteralNameOfPropertyDeclarationOrIndexAccess: () => c7, isLiteralTypeLikeExpression: () => hOe, isLiteralTypeLiteral: () => hse, isLiteralTypeNode: () => mb, isLocalName: () => rv, isLogicalOperator: () => Yce, isLogicalOrCoalescingAssignmentExpression: () => cW, isLogicalOrCoalescingAssignmentOperator: () => HI, isLogicalOrCoalescingBinaryExpression: () => CR, isLogicalOrCoalescingBinaryOperator: () => AR, isMappedTypeNode: () => EL, isMemberName: () => Ah, isMergeDeclarationMarker: () => $Re, isMetaProperty: () => TL, isMethodDeclaration: () => Nc, isMethodOrAccessor: () => xA, isMethodSignature: () => zm, isMinusToken: () => kz, isMissingDeclaration: () => YRe, isModifier: () => Ha, isModifierKind: () => Rg, isModifierLike: () => Ns, isModuleAugmentationExternal: () => uH, isModuleBlock: () => Tp, isModuleBody: () => vse, isModuleDeclaration: () => Tc, isModuleExportsAccessExpression: () => Bm, isModuleIdentifier: () => RH, isModuleName: () => _de, isModuleOrEnumDeclaration: () => Ow, isModuleReference: () => Tse, isModuleSpecifierLike: () => C7, isModuleWithStringLiteralName: () => b6, isNameOfFunctionDeclaration: () => VX, isNameOfModuleDeclaration: () => UX, isNamedClassElement: () => cse, isNamedDeclaration: () => zl, isNamedEvaluation: () => vf, isNamedEvaluationSource: () => VH, isNamedExportBindings: () => Rj, isNamedExports: () => h_, isNamedImportBindings: () => Wj, isNamedImports: () => jg, isNamedImportsOrExports: () => bW, isNamedTupleMember: () => bL, isNamespaceBody: () => QDe, isNamespaceExport: () => qm, isNamespaceExportDeclaration: () => gO, isNamespaceImport: () => nv, isNamespaceReexportDeclaration: () => cce, isNewExpression: () => z0, isNewExpressionTarget: () => ZL, isNightly: () => TR, isNoSubstitutionTemplateLiteral: () => IS, isNode: () => XDe, isNodeArray: () => C0, isNodeArrayMultiLine: () => ale, isNodeDescendantOf: () => AT, isNodeKind: () => Iw, isNodeLikeSystem: () => qU, isNodeModulesDirectory: () => H8, isNodeWithPossibleHoistedDeclaration: () => vce, isNonContextualKeyword: () => Ace, isNonExportDefaultModifier: () => NOe, isNonGlobalAmbientModule: () => lH, isNonGlobalDeclaration: () => vge, isNonNullAccess: () => Hle, isNonNullChain: () => i6, isNonNullExpression: () => PS, isNonStaticMethodOrAccessorWithPrivateName: () => K_e, isNotEmittedOrPartiallyEmittedNode: () => $De, isNotEmittedStatement: () => Gz, isNullishCoalesce: () => wj, isNumber: () => Cg, isNumericLiteral: () => Vf, isNumericLiteralName: () => Wm, isObjectBindingElementWithoutPropertyName: () => jN, isObjectBindingOrAssignmentElement: () => Dw, isObjectBindingOrAssignmentPattern: () => Uj, isObjectBindingPattern: () => cm, isObjectLiteralElement: () => Xj, isObjectLiteralElementLike: () => Og, isObjectLiteralExpression: () => rs, isObjectLiteralMethod: () => s_, isObjectLiteralOrClassExpressionMethodOrAccessor: () => D6, isObjectTypeDeclaration: () => yS, isOctalDigit: () => hj, isOmittedExpression: () => ol, isOptionalChain: () => Jl, isOptionalChainRoot: () => pI, isOptionalDeclaration: () => WW, isOptionalJSDocPropertyLikeTag: () => zR, isOptionalTypeNode: () => Rz, isOuterExpression: () => S3, isOutermostOptionalChain: () => mI, isOverrideModifier: () => Oue, isPackedArrayLiteral: () => UW, isParameter: () => ha, isParameterDeclaration: () => CT, isParameterOrCatchClauseVariable: () => VW, isParameterPropertyDeclaration: () => Ad, isParameterPropertyModifier: () => yI, isParenthesizedExpression: () => ud, isParenthesizedTypeNode: () => wS, isParseTreeNode: () => dI, isPartOfTypeNode: () => Gm, isPartOfTypeQuery: () => G6, isPartiallyEmittedExpression: () => _3, isPatternMatch: () => h8, isPinnedComment: () => y6, isPlainJsFile: () => h6, isPlusToken: () => Lz, isPossiblyTypeArgumentPosition: () => MN, isPostfixUnaryExpression: () => Nz, isPrefixUnaryExpression: () => tv, isPrivateIdentifier: () => pi, isPrivateIdentifierClassElementDeclaration: () => xu, isPrivateIdentifierPropertyAccessExpression: () => TA, isPrivateIdentifierSymbol: () => Cce, isProgramBundleEmitBuildInfo: () => ame, isProgramUptoDate: () => lq, isPrologueDirective: () => B_, isPropertyAccessChain: () => n6, isPropertyAccessEntityNameExpression: () => LR, isPropertyAccessExpression: () => br, isPropertyAccessOrQualifiedName: () => fse, isPropertyAccessOrQualifiedNameOrImportTypeNode: () => dse, isPropertyAssignment: () => yl, isPropertyDeclaration: () => Na, isPropertyName: () => Ys, isPropertyNameLiteral: () => c_, isPropertySignature: () => $d, isProtoSetter: () => Ice, isPrototypeAccess: () => ub, isPrototypePropertyAssignment: () => nR, isPunctuation: () => Phe, isPushOrUnshiftIdentifier: () => jH, isQualifiedName: () => Yu, isQuestionDotToken: () => s3, isQuestionOrExclamationToken: () => lde, isQuestionOrPlusOrMinusToken: () => fde, isQuestionToken: () => ev, isRawSourceMap: () => B_e, isReadonlyKeyword: () => wue, isReadonlyKeywordOrPlusOrMinusToken: () => dde, isRecognizedTripleSlashComment: () => iH, isReferenceFileLocation: () => F2, isReferencedFile: () => vb, isRegularExpressionLiteral: () => Cz, isRequireCall: () => qu, isRequireVariableStatement: () => DH, isRestParameter: () => Fm, isRestTypeNode: () => Oz, isReturnStatement: () => j_, isReturnStatementWithFixablePromiseHandler: () => r5, isRightSideOfAccessExpression: () => $ce, isRightSideOfPropertyAccess: () => j2, isRightSideOfQualifiedName: () => yhe, isRightSideOfQualifiedNameOrPropertyAccess: () => zI, isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName: () => Qce, isRootedDiskPath: () => qp, isSameEntityName: () => BA, isSatisfiesExpression: () => HRe, isScopeMarker: () => gse, isSemicolonClassElement: () => Bue, isSetAccessor: () => Ng, isSetAccessorDeclaration: () => Sf, isShebangTrivia: () => gj, isShorthandAmbientModuleSymbol: () => CI, isShorthandPropertyAssignment: () => xf, isSignedNumericLiteral: () => X6, isSimpleCopiableExpression: () => Z0, isSimpleInlineableExpression: () => Ap, isSingleOrDoubleQuote: () => Xw, isSourceFile: () => Li, isSourceFileFromLibrary: () => dk, isSourceFileJS: () => Cu, isSourceFileNotJS: () => vwe, isSourceFileNotJson: () => LH, isSourceMapping: () => U_e, isSpecialPropertyDeclaration: () => fce, isSpreadAssignment: () => VS, isSpreadElement: () => Km, isStatement: () => ca, isStatementButNotDeclaration: () => Nw, isStatementOrBlock: () => Ese, isStatementWithLocals: () => Ose, isStatic: () => Ca, isStaticModifier: () => LS, isString: () => Ta, isStringAKeyword: () => Lwe, isStringANonContextualKeyword: () => fS, isStringAndEmptyAnonymousObjectIntersection: () => Nhe, isStringDoubleQuoted: () => V6, isStringLiteral: () => yo, isStringLiteralLike: () => es, isStringLiteralOrJsxExpression: () => Sse, isStringLiteralOrTemplate: () => age, isStringOrNumericLiteralLike: () => yf, isStringOrRegularExpressionOrTemplateLiteral: () => QX, isStringTextContainingNode: () => Fj, isSuperCall: () => OA, isSuperKeyword: () => hL, isSuperOrSuperProperty: () => ywe, isSuperProperty: () => Pu, isSupportedSourceFileName: () => wle, isSwitchStatement: () => pO, isSyntaxList: () => A2, isSyntheticExpression: () => WRe, isSyntheticReference: () => MS, isTagName: () => GX, isTaggedTemplateExpression: () => PT, isTaggedTemplateTag: () => phe, isTemplateExpression: () => d3, isTemplateHead: () => f2, isTemplateLiteral: () => AA, isTemplateLiteralKind: () => Hy, isTemplateLiteralToken: () => rse, isTemplateLiteralTypeNode: () => jRe, isTemplateLiteralTypeSpan: () => Mue, isTemplateMiddle: () => Aue, isTemplateMiddleOrTemplateTail: () => o6, isTemplateSpan: () => xL, isTemplateTail: () => Iz, isTextWhiteSpaceLike: () => Whe, isThis: () => H2, isThisContainerOrFunctionBlock: () => ace, isThisIdentifier: () => LT, isThisInTypeQuery: () => mS, isThisInitializedDeclaration: () => N6, isThisInitializedObjectBindingExpression: () => sce, isThisProperty: () => zw, isThisTypeNode: () => u3, isThisTypeParameter: () => lL, isThisTypePredicate: () => hwe, isThrowStatement: () => Fz, isToken: () => Z1, isTokenKind: () => Nj, isTraceEnabled: () => ov, isTransientSymbol: () => Zp, isTrivia: () => KA, isTryStatement: () => mO, isTupleTypeNode: () => p2, isTypeAlias: () => sR, isTypeAliasDeclaration: () => Ep, isTypeAssertionExpression: () => Fue, isTypeDeclaration: () => o2, isTypeElement: () => _T, isTypeKeyword: () => ik, isTypeKeywordToken: () => rY, isTypeKeywordTokenOrIdentifier: () => b7, isTypeLiteralNode: () => Rd, isTypeNode: () => bi, isTypeNodeKind: () => vW, isTypeOfExpression: () => y2, isTypeOnlyExportDeclaration: () => ise, isTypeOnlyImportDeclaration: () => Mj, isTypeOnlyImportOrExportDeclaration: () => I0, isTypeOperatorNode: () => RS, isTypeParameterDeclaration: () => _c, isTypePredicateNode: () => l3, isTypeQueryNode: () => vL, isTypeReferenceNode: () => m_, isTypeReferenceType: () => _6, isUMDExportSymbol: () => o4, isUnaryExpression: () => jj, isUnaryExpressionWithWrite: () => mse, isUnicodeIdentifierStart: () => W8, isUnionTypeNode: () => DS, isUnparsedNode: () => Oj, isUnparsedPrepend: () => Wue, isUnparsedSource: () => BT, isUnparsedTextLike: () => nse, isUrl: () => doe, isValidBigIntString: () => v4, isValidESSymbolDeclaration: () => ece, isValidTypeOnlyAliasUseSite: () => TS, isValueSignatureDeclaration: () => bce, isVarConst: () => kh, isVariableDeclaration: () => wi, isVariableDeclarationInVariableStatement: () => L6, isVariableDeclarationInitializedToBareOrAccessedRequire: () => N0, isVariableDeclarationInitializedToRequire: () => kH, isVariableDeclarationList: () => pu, isVariableLike: () => PA, isVariableLikeOrAccessor: () => Qse, isVariableStatement: () => Bc, isVoidExpression: () => NS, isWatchSet: () => Jwe, isWhileStatement: () => JRe, isWhiteSpaceLike: () => xh, isWhiteSpaceSingleLine: () => Yp, isWithStatement: () => Uue, isWriteAccess: () => YI, isWriteOnlyAccess: () => hW, isYieldExpression: () => f3, jsxModeNeedsExplicitImport: () => wY, keywordPart: () => _d, last: () => To, lastOrUndefined: () => Os, length: () => Fn, libMap: () => jO, libs: () => VO, lineBreakPart: () => K2, linkNamePart: () => $he, linkPart: () => _Y, linkTextPart: () => k7, listFiles: () => Rq, loadModuleFromGlobalCache: () => s_e, loadWithModeAwareCache: () => hN, makeIdentifierFromModuleName: () => Vse, makeImport: () => Xg, makeImportIfNecessary: () => jhe, makeStringLiteral: () => S7, mangleScopedPackageName: () => UL, map: () => on, mapAllOrFail: () => NU, mapDefined: () => Zi, mapDefinedEntries: () => bke, mapDefinedIterator: () => UD, mapEntries: () => uae, mapIterator: () => RU, mapOneOrMany: () => pge, mapToDisplayParts: () => uv, matchFiles: () => wW, matchPatternOrExact: () => NW, matchedText: () => Dae, matchesExclude: () => G3, maybeBind: () => ho, maybeSetLocalizedDiagnosticMessages: () => mle, memoize: () => zu, memoizeCached: () => Eae, memoizeOne: () => Jp, memoizeWeak: () => wke, metadataHelper: () => P4, min: () => WU, minAndMax: () => Nle, missingFileModifiedTime: () => Eh, modifierToFlag: () => gS, modifiersToFlags: () => im, moduleOptionDeclaration: () => NJ, moduleResolutionIsEqualTo: () => wse, moduleResolutionNameAndModeGetter: () => QL, moduleResolutionOptionDeclarations: () => U3, moduleResolutionSupportsPackageJsonExportsAndImports: () => bS, moduleResolutionUsesNodeModules: () => T7, moduleSpecifiers: () => Q0, moveEmitHelpers: () => gue, moveRangeEnd: () => i4, moveRangePastDecorators: () => $y, moveRangePastModifiers: () => yp, moveRangePos: () => fb, moveSyntheticComments: () => pue, mutateMap: () => e2, mutateMapSkippingNewValues: () => Oh, needsParentheses: () => bY, needsScopeMarker: () => l6, newCaseClauseTracker: () => J7, newPrivateEnvironment: () => Y_e, noEmitNotification: () => cN, noEmitSubstitution: () => zL, noTransformers: () => HK, noTruncationMaximumTruncationLength: () => x4, nodeCanBeDecorated: () => M6, nodeHasName: () => xw, nodeIsDecorated: () => FA, nodeIsMissing: () => rc, nodeIsPresent: () => Pf, nodeIsSynthesized: () => ws, nodeModuleNameResolver: () => zfe, nodeModulesPathPart: () => Wg, nodeNextJsonConfigResolver: () => Jfe, nodeOrChildIsDecorated: () => Kw, nodeOverlapsWithStartEnd: () => HX, nodePosToString: () => swe, nodeSeenTracker: () => W2, nodeStartsNewLexicalEnvironment: () => HH, nodeToDisplayParts: () => B6e, noop: () => Ba, noopFileWatcher: () => B2, noopPush: () => E8, normalizePath: () => So, normalizeSlashes: () => Al, not: () => y8, notImplemented: () => Sa, notImplementedResolver: () => LF, nullNodeConverters: () => dz, nullParenthesizerRules: () => uz, nullTransformationContext: () => Bh, objectAllocator: () => ml, operatorPart: () => ak, optionDeclarations: () => Fh, optionMapToObject: () => bJ, optionsAffectingProgramStructure: () => GJ, optionsForBuild: () => UJ, optionsForWatch: () => HO, optionsHaveChanges: () => LA, optionsHaveModuleResolutionChanges: () => Cse, or: () => Kp, orderedRemoveItem: () => m8, orderedRemoveItemAt: () => y0, outFile: () => Ss, packageIdToPackageName: () => p6, packageIdToString: () => hT, padLeft: () => J1, padRight: () => Mke, paramHelper: () => M4, parameterIsThisKeyword: () => G0, parameterNamePart: () => Khe, parseBaseNodeFactory: () => _J, parseBigInt: () => Ple, parseBuildCommand: () => QOe, parseCommandLine: () => $Oe, parseCommandLineWorker: () => hJ, parseConfigFileTextToJson: () => vJ, parseConfigFileWithSystem: () => L8e, parseConfigHostFromCompilerHostLike: () => FF, parseCustomTypeOption: () => O3, parseIsolatedEntityName: () => zS, parseIsolatedJSDocComment: () => Mde, parseJSDocTypeExpressionForTests: () => zOe, parseJsonConfigFileContent: () => cNe, parseJsonSourceFileConfigFileContent: () => MO, parseJsonText: () => wO, parseListTypeOption: () => Kde, parseNodeFactory: () => fm, parseNodeModuleFromPath: () => XJ, parsePackageName: () => ZJ, parsePseudoBigInt: () => iL, parseValidBigInt: () => BW, patchWriteFileEnsuringDirectory: () => uoe, pathContainsNodeModules: () => JS, pathIsAbsolute: () => nI, pathIsBareSpecifier: () => cj, pathIsRelative: () => Jd, patternText: () => kae, perfLogger: () => fp, performIncrementalCompilation: () => D8e, performance: () => ZD, plainJSErrors: () => jF, positionBelongsToNode: () => WX, positionIsASICandidate: () => N7, positionIsSynthesized: () => vp, positionsAreOnSameLine: () => Bf, preProcessFile: () => qge, probablyUsesSemicolons: () => P7, processCommentPragmas: () => dJ, processPragmasIntoFields: () => fJ, processTaggedTemplateExpression: () => OK, programContainsEsModules: () => Vhe, programContainsModules: () => Uhe, projectReferenceIsEqualTo: () => tH, propKeyHelper: () => X4, propertyNamePart: () => qhe, pseudoBigIntToString: () => j0, punctuationPart: () => Yl, pushIfUnique: () => Of, quote: () => ck, quotePreferenceFromString: () => sY, rangeContainsPosition: () => wN, rangeContainsPositionExclusive: () => RN, rangeContainsRange: () => Od, rangeContainsRangeExclusive: () => bhe, rangeContainsStartEnd: () => ON, rangeEndIsOnSameLineAsRangeStart: () => DR, rangeEndPositionsAreOnSameLine: () => rle, rangeEquals: () => GU, rangeIsOnSingleLine: () => DT, rangeOfNode: () => MW, rangeOfTypeParameters: () => FW, rangeOverlapsWithStartEnd: () => tk, rangeStartIsOnSameLineAsRangeEnd: () => ile, rangeStartPositionsAreOnSameLine: () => a4, readBuilderProgram: () => QF, readConfigFile: () => OO, readHelper: () => K4, readJson: () => JI, readJsonConfigFile: () => $de, readJsonOrUndefined: () => fW, realizeDiagnostics: () => b$, reduceEachLeadingCommentRange: () => goe, reduceEachTrailingCommentRange: () => yoe, reduceLeft: () => ou, reduceLeftIterator: () => yke, reducePathComponents: () => oT, refactor: () => Ok, regExpEscape: () => lRe, relativeComplement: () => fae, removeAllComments: () => ZR, removeEmitHelper: () => GRe, removeExtension: () => UR, removeFileExtension: () => ld, removeIgnoredPath: () => Dq, removeMinAndVersionNumbers: () => Lae, removeOptionality: () => whe, removePrefix: () => QC, removeSuffix: () => pA, removeTrailingDirectorySeparator: () => sT, repeatString: () => UN, replaceElement: () => UU, resolutionExtensionIsTSOrJson: () => VR, resolveConfigFileProjectName: () => Hq, resolveJSModule: () => jfe, resolveModuleName: () => FL, resolveModuleNameFromCache: () => FNe, resolvePackageNameToPackageJson: () => wNe, resolvePath: () => Fy, resolveProjectReferencePath: () => $L, resolveTripleslashReference: () => wF, resolveTypeReferenceDirective: () => HJ, resolvingEmptyArray: () => S4, restHelper: () => H4, returnFalse: () => m0, returnNoopFileWatcher: () => TN, returnTrue: () => h0, returnUndefined: () => Qv, returnsPromise: () => QY, runInitializersHelper: () => G4, sameFlatMap: () => lae, sameMap: () => Tl, sameMapping: () => APe, scanShebangTrivia: () => yj, scanTokenAtPosition: () => Xse, scanner: () => $l, screenStartingMessageCodes: () => $F, semanticDiagnosticsOptionDeclarations: () => PJ, serializeCompilerOptions: () => TJ, server: () => dhe, servicesVersion: () => m$, setCommentRange: () => hl, setConfigFileInOptions: () => xJ, setConstantValue: () => hue, setEachParent: () => i2, setEmitFlags: () => Jn, setFunctionNameHelper: () => Y4, setGetSourceFileAsHashVersioned: () => YF, setIdentifierAutoGenerate: () => iO, setIdentifierGeneratedImportReference: () => bue, setIdentifierTypeArguments: () => Ug, setInternalEmitFlags: () => eO, setLocalizedDiagnosticMessages: () => ple, setModuleDefaultHelper: () => Z4, setNodeFlags: () => Gle, setObjectAllocator: () => _le, setOriginalNode: () => Ir, setParent: () => go, setParentRecursive: () => Zy, setPrivateIdentifier: () => JT, setResolvedModule: () => kse, setResolvedTypeReferenceDirective: () => Dse, setSnippetElement: () => Ez, setSourceMapRange: () => Ho, setStackTraceLimit: () => dDe, setStartsOnNewLine: () => vz, setSyntheticLeadingComments: () => W0, setSyntheticTrailingComments: () => u2, setSys: () => bDe, setSysLog: () => ooe, setTextRange: () => it, setTextRangeEnd: () => r2, setTextRangePos: () => aL, setTextRangePosEnd: () => om, setTextRangePosWidth: () => oL, setTokenSourceMapRange: () => _ue, setTypeNode: () => yue, setUILocale: () => Aae, setValueDeclaration: () => rR, shouldAllowImportingTsExtension: () => VL, shouldPreserveConstEnums: () => U0, shouldUseUriStyleNodeCoreModules: () => W7, showModuleSpecifier: () => lle, signatureHasLiteralTypes: () => _K, signatureHasRestParameter: () => Xl, signatureToDisplayParts: () => pY, single: () => BU, singleElementArray: () => aT, singleIterator: () => Eke, singleOrMany: () => zp, singleOrUndefined: () => Wp, skipAlias: () => wd, skipAssertions: () => fOe, skipConstraint: () => iY, skipOuterExpressions: () => ql, skipParentheses: () => vs, skipPartiallyEmittedExpressions: () => a_, skipTrivia: () => xo, skipTypeChecking: () => rL, skipTypeParentheses: () => FH, skipWhile: () => Nae, sliceAfter: () => PW, some: () => vt, sort: () => XC, sortAndDeduplicate: () => HD, sortAndDeduplicateDiagnostics: () => vA, sourceFileAffectingCompilerOptions: () => V3, sourceFileMayBeEmitted: () => pS, sourceMapCommentRegExp: () => hF, sourceMapCommentRegExpDontCareLineStart: () => TK, spacePart: () => Qs, spanMap: () => c8, spreadArrayHelper: () => q4, stableSort: () => Ag, startEndContainsRange: () => jX, startEndOverlapsWithStartEnd: () => l7, startOnNewLine: () => mu, startTracing: () => eoe, startsWith: () => na, startsWithDirectory: () => fj, startsWithUnderscore: () => DY, startsWithUseStrict: () => nde, stringContains: () => jl, stringContainsAt: () => yge, stringToToken: () => lT, stripQuotes: () => u_, supportedDeclarationExtensions: () => I4, supportedJSExtensions: () => cz, supportedJSExtensionsFlat: () => dL, supportedLocaleDirectories: () => Qj, supportedTSExtensions: () => c2, supportedTSExtensionsFlat: () => sz, supportedTSImplementationExtensions: () => L4, suppressLeadingAndTrailingTrivia: () => pd, suppressLeadingTrivia: () => D7, suppressTrailingTrivia: () => ige, symbolEscapedNameNoDefault: () => A7, symbolName: () => fc, symbolNameNoDefault: () => x7, symbolPart: () => Jhe, symbolToDisplayParts: () => ok, syntaxMayBeASICandidate: () => NY, syntaxRequiresTrailingSemicolonOrASI: () => O7, sys: () => xl, sysLog: () => ow, tagNamesAreEquivalent: () => yb, takeWhile: () => v8, targetOptionDeclaration: () => zO, templateObjectHelper: () => J4, testFormatSettings: () => _he, textChangeRangeIsUnchanged: () => Moe, textChangeRangeNewSpan: () => uI, textChanges: () => nr, textOrKeywordPart: () => fY, textPart: () => tf, textRangeContainsPositionInclusive: () => Y8, textSpanContainsPosition: () => bj, textSpanContainsTextSpan: () => Roe, textSpanEnd: () => wl, textSpanIntersection: () => Poe, textSpanIntersectsWith: () => $8, textSpanIntersectsWithPosition: () => Noe, textSpanIntersectsWithTextSpan: () => FDe, textSpanIsEmpty: () => woe, textSpanOverlap: () => Ooe, textSpanOverlapsWith: () => MDe, textSpansEqual: () => J2, textToKeywordObj: () => Ew, timestamp: () => Ms, toArray: () => qD, toBuilderFileEmit: () => lme, toBuilderStateFileInfoForMultiEmit: () => cme, toEditorSettings: () => tP, toFileNameLowerCase: () => n_, toLowerCase: () => bae, toPath: () => Ts, toProgramEmitPending: () => ume, tokenIsIdentifierOrKeyword: () => Su, tokenIsIdentifierOrKeywordOrGreaterThan: () => moe, tokenToString: () => Xa, trace: () => Xi, tracing: () => ai, tracingEnabled: () => ew, transform: () => p3e, transformClassFields: () => tpe, transformDeclarations: () => UK, transformECMAScriptModule: () => GK, transformES2015: () => mpe, transformES2016: () => _pe, transformES2017: () => ape, transformES2018: () => ope, transformES2019: () => spe, transformES2020: () => cpe, transformES2021: () => lpe, transformES5: () => hpe, transformESDecorators: () => ipe, transformESNext: () => upe, transformGenerators: () => gpe, transformJsx: () => dpe, transformLegacyDecorators: () => rpe, transformModule: () => FK, transformNodeModule: () => bpe, transformNodes: () => lN, transformSystemModule: () => vpe, transformTypeScript: () => Z_e, transpile: () => U4e, transpileModule: () => iye, transpileOptionValueCompilerOptions: () => BJ, trimString: () => v0, trimStringEnd: () => $D, trimStringStart: () => ZC, tryAddToSet: () => _0, tryAndIgnoreErrors: () => B7, tryCast: () => zr, tryDirectoryExists: () => G7, tryExtractTSExtension: () => r4, tryFileExists: () => F7, tryGetClassExtendingExpressionWithTypeArguments: () => lW, tryGetClassImplementingOrExtendingExpressionWithTypeArguments: () => uW, tryGetDirectories: () => M7, tryGetExtensionFromPath: () => Hm, tryGetImportFromModuleSpecifier: () => oR, tryGetJSDocSatisfiesTypeNode: () => T4, tryGetModuleNameFromFile: () => xO, tryGetModuleSpecifierFromDeclaration: () => iR, tryGetNativePerformanceHooks: () => Yae, tryGetPropertyAccessOrIdentifierToString: () => kR, tryGetPropertyNameOfBindingOrAssignmentElement: () => A3, tryGetSourceMappingURL: () => G_e, tryGetTextOfPropertyName: () => T6, tryIOAndConsumeErrors: () => U7, tryParsePattern: () => n2, tryParsePatterns: () => g4, tryParseRawSourceMap: () => bK, tryReadDirectory: () => xY, tryReadFile: () => NO, tryRemoveDirectoryPrefix: () => IW, tryRemoveExtension: () => Ole, tryRemovePrefix: () => KU, tryRemoveSuffix: () => Iae, typeAcquisitionDeclarations: () => H3, typeAliasNamePart: () => Xhe, typeDirectiveIsEqualTo: () => Rse, typeKeywords: () => K7, typeParameterNamePart: () => Yhe, typeReferenceResolutionNameAndModeGetter: () => yN, typeToDisplayParts: () => zN, unchangedPollThresholds: () => lw, unchangedTextChangeRange: () => $j, unescapeLeadingUnderscores: () => Gi, unmangleScopedPackageName: () => iF, unorderedRemoveItem: () => YD, unorderedRemoveItemAt: () => zU, unreachableCodeIsError: () => Tle, unusedLabelIsError: () => Sle, unwrapInnermostStatementOfLabel: () => xH, updateErrorForNoInputFiles: () => CJ, updateLanguageServiceSourceFile: () => _$, updateMissingFilePathsWatch: () => Gpe, updatePackageJsonWatch: () => YMe, updateResolutionField: () => N2, updateSharedExtendedConfigFileWatcher: () => YK, updateSourceFile: () => uJ, updateWatchingWildcardDirectories: () => kF, usesExtensionsOnImports: () => Dle, usingSingleLineStringWriter: () => SI, utf16EncodeAsString: () => lI, validateLocaleAndSetLanguage: () => UDe, valuesHelper: () => $4, version: () => Rf, versionMajorMinor: () => Sg, visitArray: () => vK, visitCommaListElements: () => aN, visitEachChild: () => xn, visitFunctionBody: () => Zd, visitIterationBody: () => jf, visitLexicalEnvironment: () => mF, visitNode: () => $e, visitNodes: () => On, visitParameterList: () => Sc, walkUpBindingElementsAndPatterns: () => bA, walkUpLexicalEnvironments: () => X_e, walkUpOuterExpressions: () => rde, walkUpParenthesizedExpressions: () => qy, walkUpParenthesizedTypes: () => dR, walkUpParenthesizedTypesAndGetParentAndChild: () => Tce, whitespaceOrMapCommentRegExp: () => gF, writeCommentRange: () => $A, writeFile: () => BI, writeFileEnsuringDirectories: () => nW, zipToModeAwareCache: () => qJ, zipWith: () => kU }); var uxe = gt({ "src/typescript/_namespaces/ts.ts"() { "use strict"; fa(), r7(), Fr(), HG() } }), dJe = hs({ "src/typescript/typescript.ts"(e, t) { uxe(), uxe(), typeof console < "u" && (L.loggingHost = { log(r, i) { switch (r) { case 1: return console.error(i); case 2: return console.warn(i); case 3: return console.log(i); case 4: return console.log(i) } } }), t.exports = lxe } }); return dJe()
-        })(); typeof IU < "u" && IU.exports && (IU.exports = f0); var Eit = f0.createClassifier, iae = f0.createLanguageService, Tit = f0.displayPartsToString, Sit = f0.EndOfLineState, xit = f0.flattenDiagnosticMessageText, Ait = f0.IndentStyle, uA = f0.ScriptKind, Cit = f0.ScriptTarget, Iit = f0.TokenClass, aae = f0; var $i = {}; $i["lib.d.ts"] = `/*! *****************************************************************************
+ `,kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return x}}function N1e(e){switch(e.kind){case 170:case 171:case 176:case 173:case 177:case 259:return!0}return!1}function P1e(e,t,r){let i=Vi(e,t),o=jn(i,N1e);if(!o||Ds(o)&&o.body&&wN(o.body,t))return;let s=r.getTypeChecker(),l=o.symbol;if(!l)return;let f=l.declarations;if(Fn(f)<=1||!Ji(f,S=>Gn(S)===e)||!N1e(f[0]))return;let d=f[0].kind;if(!Ji(f,S=>S.kind===d))return;let g=f;if(vt(g,S=>!!S.typeParameters||vt(S.parameters,x=>!!x.modifiers||!Re(x.name))))return;let m=Zi(g,S=>s.getSignatureFromDeclaration(S));if(Fn(m)!==Fn(f))return;let v=s.getReturnTypeOfSignature(m[0]);if(Ji(m,S=>s.getReturnTypeOfSignature(S)===v))return g}var yG,Dee,wee,aje=gt({"src/services/refactors/convertOverloadListToSingleSignature.ts"(){"use strict";Fr(),Qm(),yG="Convert overload list to single signature",Dee=_.Convert_overload_list_to_single_signature.message,wee={name:yG,description:Dee,kind:"refactor.rewrite.function.overloadList"},Vh(yG,{kinds:[wee.kind],getEditsForAction:ije,getAvailableActions:rje})}});function oje(e){let{file:t,startPosition:r,triggerReason:i}=e,o=M1e(t,r,i==="invoked");return o?$m(o)?e.preferences.provideRefactorNotApplicableReason?[{name:vG,description:Ree,actions:[{...RP,notApplicableReason:o.error},{...Lk,notApplicableReason:o.error}]}]:Je:[{name:vG,description:Ree,actions:[o.addBraces?RP:Lk]}]:Je}function sje(e,t){let{file:r,startPosition:i}=e,o=M1e(r,i);L.assert(o&&!$m(o),"Expected applicable refactor info");let{expression:s,returnStatement:l,func:f}=o,d;if(t===RP.name){let m=D.createReturnStatement(s);d=D.createBlock([m],!0),q2(s,m,r,3,!0)}else if(t===Lk.name&&l){let m=s||D.createVoidZero();d=bY(m)?D.createParenthesizedExpression(m):m,qN(l,d,r,3,!1),q2(l,d,r,3,!1),sk(l,d,r,3,!1)}else L.fail("invalid action");return{renameFilename:void 0,renameLocation:void 0,edits:nr.ChangeTracker.with(e,m=>{m.replaceNode(r,f.body,d)})}}function M1e(e,t,r=!0,i){let o=Vi(e,t),s=Xd(o);if(!s)return{error:uo(_.Could_not_find_a_containing_arrow_function)};if(!xs(s))return{error:uo(_.Containing_function_is_not_an_arrow_function)};if(!(!Od(s,o)||Od(s.body,o)&&!r)){if(pv(RP.kind,i)&&ot(s.body))return{func:s,addBraces:!0,expression:s.body};if(pv(Lk.kind,i)&&Va(s.body)&&s.body.statements.length===1){let l=Vo(s.body.statements);if(j_(l))return{func:s,addBraces:!1,expression:l.expression,returnStatement:l}}}}var vG,Ree,RP,Lk,cje=gt({"src/services/refactors/addOrRemoveBracesToArrowFunction.ts"(){"use strict";Fr(),Qm(),vG="Add or remove braces in an arrow function",Ree=_.Add_or_remove_braces_in_an_arrow_function.message,RP={name:"Add braces to arrow function",description:_.Add_braces_to_arrow_function.message,kind:"refactor.rewrite.arrow.braces.add"},Lk={name:"Remove braces from arrow function",description:_.Remove_braces_from_arrow_function.message,kind:"refactor.rewrite.arrow.braces.remove"},Vh(vG,{kinds:[Lk.kind],getEditsForAction:sje,getAvailableActions:oje})}}),lje={},uje=gt({"src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts"(){"use strict";aje(),cje()}});function dje(e){let{file:t,startPosition:r,program:i,kind:o}=e,s=G1e(t,r,i);if(!s)return Je;let{selectedVariableDeclaration:l,func:f}=s,d=[],g=[];if(pv(Dk.kind,o)){let m=l||xs(f)&&wi(f.parent)?void 0:uo(_.Could_not_convert_to_named_function);m?g.push({...Dk,notApplicableReason:m}):d.push(Dk)}if(pv(kk.kind,o)){let m=!l&&xs(f)?void 0:uo(_.Could_not_convert_to_anonymous_function);m?g.push({...kk,notApplicableReason:m}):d.push(kk)}if(pv(wk.kind,o)){let m=ms(f)?void 0:uo(_.Could_not_convert_to_arrow_function);m?g.push({...wk,notApplicableReason:m}):d.push(wk)}return[{name:Oee,description:V1e,actions:d.length===0&&e.preferences.provideRefactorNotApplicableReason?g:d}]}function fje(e,t){let{file:r,startPosition:i,program:o}=e,s=G1e(r,i,o);if(!s)return;let{func:l}=s,f=[];switch(t){case kk.name:f.push(...hje(e,l));break;case Dk.name:let d=mje(l);if(!d)return;f.push(...gje(e,l,d));break;case wk.name:if(!ms(l))return;f.push(...yje(e,l));break;default:return L.fail("invalid action")}return{renameFilename:void 0,renameLocation:void 0,edits:f}}function F1e(e){let t=!1;return e.forEachChild(function r(i){if(H2(i)){t=!0;return}!Yr(i)&&!Jc(i)&&!ms(i)&&pa(i,r)}),t}function G1e(e,t,r){let i=Vi(e,t),o=r.getTypeChecker(),s=pje(e,o,i.parent);if(s&&!F1e(s.body)&&!o.containsArgumentsReference(s))return{selectedVariableDeclaration:!0,func:s};let l=Xd(i);if(l&&(ms(l)||xs(l))&&!Od(l.body,i)&&!F1e(l.body)&&!o.containsArgumentsReference(l))return ms(l)&&U1e(e,o,l)?void 0:{selectedVariableDeclaration:!1,func:l}}function _je(e){return wi(e)||pu(e)&&e.declarations.length===1}function pje(e,t,r){if(!_je(r))return;let o=(wi(r)?r:Vo(r.declarations)).initializer;if(o&&(xs(o)||ms(o)&&!U1e(e,t,o)))return o}function B1e(e){if(ot(e)){let t=D.createReturnStatement(e),r=e.getSourceFile();return it(t,e),pd(t),qN(e,t,r,void 0,!0),D.createBlock([t],!0)}else return e}function mje(e){let t=e.parent;if(!wi(t)||!L6(t))return;let r=t.parent,i=r.parent;if(!(!pu(r)||!Bc(i)||!Re(t.name)))return{variableDeclaration:t,variableDeclarationList:r,statement:i,name:t.name}}function hje(e,t){let{file:r}=e,i=B1e(t.body),o=D.createFunctionExpression(t.modifiers,t.asteriskToken,void 0,t.typeParameters,t.parameters,t.type,i);return nr.ChangeTracker.with(e,s=>s.replaceNode(r,t,o))}function gje(e,t,r){let{file:i}=e,o=B1e(t.body),{variableDeclaration:s,variableDeclarationList:l,statement:f,name:d}=r;D7(f);let g=wg(s)&1|uu(t),m=D.createModifiersFromModifierFlags(g),v=D.createFunctionDeclaration(Fn(m)?m:void 0,t.asteriskToken,d,t.typeParameters,t.parameters,t.type,o);return l.declarations.length===1?nr.ChangeTracker.with(e,S=>S.replaceNode(i,f,v)):nr.ChangeTracker.with(e,S=>{S.delete(i,s),S.insertNodeAfter(i,f,v)})}function yje(e,t){let{file:r}=e,o=t.body.statements[0],s;vje(t.body,o)?(s=o.expression,pd(s),r1(o,s)):s=t.body;let l=D.createArrowFunction(t.modifiers,t.typeParameters,t.parameters,t.type,D.createToken(38),s);return nr.ChangeTracker.with(e,f=>f.replaceNode(r,t,l))}function vje(e,t){return e.statements.length===1&&j_(t)&&!!t.expression}function U1e(e,t,r){return!!r.name&&js.Core.isSymbolReferencedInFile(r.name,t,e)}var Oee,V1e,kk,Dk,wk,bje=gt({"src/services/refactors/convertArrowFunctionOrFunctionExpression.ts"(){"use strict";Fr(),Qm(),Oee="Convert arrow function or function expression",V1e=uo(_.Convert_arrow_function_or_function_expression),kk={name:"Convert to anonymous function",description:uo(_.Convert_to_anonymous_function),kind:"refactor.rewrite.function.anonymous"},Dk={name:"Convert to named function",description:uo(_.Convert_to_named_function),kind:"refactor.rewrite.function.named"},wk={name:"Convert to arrow function",description:uo(_.Convert_to_arrow_function),kind:"refactor.rewrite.function.arrow"},Vh(Oee,{kinds:[kk.kind,Dk.kind,wk.kind],getEditsForAction:fje,getAvailableActions:dje})}}),Eje={},Tje=gt({"src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts"(){"use strict";bje()}});function Sje(e){let{file:t,startPosition:r}=e;return Cu(t)||!W1e(t,r,e.program.getTypeChecker())?Je:[{name:NP,description:Fee,actions:[Gee]}]}function xje(e,t){L.assert(t===NP,"Unexpected action name");let{file:r,startPosition:i,program:o,cancellationToken:s,host:l}=e,f=W1e(r,i,o.getTypeChecker());if(!f||!s)return;let d=Cje(f,o,s);return d.valid?{renameFilename:void 0,renameLocation:void 0,edits:nr.ChangeTracker.with(e,m=>Aje(r,o,l,m,f,d))}:{edits:[]}}function Aje(e,t,r,i,o,s){let l=s.signature,f=on(q1e(o,t,r),m=>cc(m));if(l){let m=on(q1e(l,t,r),v=>cc(v));g(l,m)}g(o,f);let d=HD(s.functionCalls,(m,v)=>Es(m.pos,v.pos));for(let m of d)if(m.arguments&&m.arguments.length){let v=cc(Mje(o,m.arguments),!0);i.replaceNodeRange(Gn(m),Vo(m.arguments),To(m.arguments),v,{leadingTriviaOption:nr.LeadingTriviaOption.IncludeAll,trailingTriviaOption:nr.TrailingTriviaOption.Include})}function g(m,v){i.replaceNodeRangeWithNodes(e,Vo(m.parameters),To(m.parameters),v,{joiner:", ",indentation:0,leadingTriviaOption:nr.LeadingTriviaOption.IncludeAll,trailingTriviaOption:nr.TrailingTriviaOption.Include})}}function Cje(e,t,r){let i=Gje(e),o=Ec(e)?Fje(e):[],s=fA([...i,...o],Zv),l=t.getTypeChecker(),f=Uo(s,v=>js.getReferenceEntriesForNode(-1,v,t,t.getSourceFiles(),r)),d=g(f);return Ji(d.declarations,v=>ya(s,v))||(d.valid=!1),d;function g(v){let S={accessExpressions:[],typeUsages:[]},x={functionCalls:[],declarations:[],classReferences:S,valid:!0},A=on(i,m),w=on(o,m),C=Ec(e),P=on(i,F=>Nee(F,l));for(let F of v){if(F.kind===js.EntryKind.Span){x.valid=!1;continue}if(ya(P,m(F.node))){if(Dje(F.node.parent)){x.signature=F.node.parent;continue}let q=H1e(F);if(q){x.functionCalls.push(q);continue}}let B=Nee(F.node,l);if(B&&ya(P,B)){let q=Pee(F);if(q){x.declarations.push(q);continue}}if(ya(A,m(F.node))||ZL(F.node)){if(j1e(F))continue;let W=Pee(F);if(W){x.declarations.push(W);continue}let Y=H1e(F);if(Y){x.functionCalls.push(Y);continue}}if(C&&ya(w,m(F.node))){if(j1e(F))continue;let W=Pee(F);if(W){x.declarations.push(W);continue}let Y=Ije(F);if(Y){S.accessExpressions.push(Y);continue}if(sl(e.parent)){let R=Lje(F);if(R){S.typeUsages.push(R);continue}}}x.valid=!1}return x}function m(v){let S=l.getSymbolAtLocation(v);return S&&ege(S,l)}}function Nee(e,t){let r=nP(e);if(r){let i=t.getContextualTypeForObjectLiteralElement(r),o=i?.getSymbol();if(o&&!(ac(o)&6))return o}}function j1e(e){let t=e.node;if($u(t.parent)||lm(t.parent)||Nl(t.parent)||nv(t.parent)||Mu(t.parent)||pc(t.parent))return t}function Pee(e){if(Kl(e.node.parent))return e.node}function H1e(e){if(e.node.parent){let t=e.node,r=t.parent;switch(r.kind){case 210:case 211:let i=zr(r,Ih);if(i&&i.expression===t)return i;break;case 208:let o=zr(r,br);if(o&&o.parent&&o.name===t){let l=zr(o.parent,Ih);if(l&&l.expression===o)return l}break;case 209:let s=zr(r,Vs);if(s&&s.parent&&s.argumentExpression===t){let l=zr(s.parent,Ih);if(l&&l.expression===s)return l}break}}}function Ije(e){if(e.node.parent){let t=e.node,r=t.parent;switch(r.kind){case 208:let i=zr(r,br);if(i&&i.expression===t)return i;break;case 209:let o=zr(r,Vs);if(o&&o.expression===t)return o;break}}}function Lje(e){let t=e.node;if(ZT(t)===2||IR(t.parent))return t}function W1e(e,t,r){let i=nk(e,t),o=ice(i);if(!kje(i)&&o&&wje(o,r)&&Od(o,i)&&!(o.body&&Od(o.body,i)))return o}function kje(e){let t=jn(e,IA);if(t){let r=jn(t,i=>!IA(i));return!!r&&Ds(r)}return!1}function Dje(e){return zm(e)&&(ku(e.parent)||Rd(e.parent))}function wje(e,t){var r;if(!Rje(e.parameters,t))return!1;switch(e.kind){case 259:return z1e(e)&&OP(e,t);case 171:if(rs(e.parent)){let i=Nee(e.name,t);return((r=i?.declarations)==null?void 0:r.length)===1&&OP(e,t)}return OP(e,t);case 173:return sl(e.parent)?z1e(e.parent)&&OP(e,t):J1e(e.parent.parent)&&OP(e,t);case 215:case 216:return J1e(e.parent)}return!1}function OP(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function z1e(e){return e.name?!0:!!z2(e,88)}function Rje(e,t){return Nje(e)>=X1e&&Ji(e,r=>Oje(r,t))}function Oje(e,t){if(Fm(e)){let r=t.getTypeAtLocation(e);if(!t.isArrayType(r)&&!t.isTupleType(r))return!1}return!e.modifiers&&Re(e.name)}function J1e(e){return wi(e)&&kh(e)&&Re(e.name)&&!e.type}function Mee(e){return e.length>0&&H2(e[0].name)}function Nje(e){return Mee(e)?e.length-1:e.length}function K1e(e){return Mee(e)&&(e=D.createNodeArray(e.slice(1),e.hasTrailingComma)),e}function Pje(e,t){return Re(t)&&l_(t)===e?D.createShorthandPropertyAssignment(e):D.createPropertyAssignment(e,t)}function Mje(e,t){let r=K1e(e.parameters),i=Fm(To(r)),o=i?t.slice(0,r.length-1):t,s=on(o,(f,d)=>{let g=bG(r[d]),m=Pje(g,f);return pd(m.name),yl(m)&&pd(m.initializer),r1(f,m),m});if(i&&t.length>=r.length){let f=t.slice(r.length-1),d=D.createPropertyAssignment(bG(To(r)),D.createArrayLiteralExpression(f));s.push(d)}return D.createObjectLiteralExpression(s,!1)}function q1e(e,t,r){let i=t.getTypeChecker(),o=K1e(e.parameters),s=on(o,m),l=D.createObjectBindingPattern(s),f=v(o),d;Ji(o,A)&&(d=D.createObjectLiteralExpression());let g=D.createParameterDeclaration(void 0,void 0,l,void 0,f,d);if(Mee(e.parameters)){let w=e.parameters[0],C=D.createParameterDeclaration(void 0,void 0,w.name,void 0,w.type);return pd(C.name),r1(w.name,C.name),w.type&&(pd(C.type),r1(w.type,C.type)),D.createNodeArray([C,g])}return D.createNodeArray([g]);function m(w){let C=D.createBindingElement(void 0,void 0,bG(w),Fm(w)&&A(w)?D.createArrayLiteralExpression():w.initializer);return pd(C),w.initializer&&C.initializer&&r1(w.initializer,C.initializer),C}function v(w){let C=on(w,S);return bp(D.createTypeLiteralNode(C),1)}function S(w){let C=w.type;!C&&(w.initializer||Fm(w))&&(C=x(w));let P=D.createPropertySignature(void 0,bG(w),A(w)?D.createToken(57):w.questionToken,C);return pd(P),r1(w.name,P.name),w.type&&P.type&&r1(w.type,P.type),P}function x(w){let C=i.getTypeAtLocation(w);return lk(C,w,t,r)}function A(w){if(Fm(w)){let C=i.getTypeAtLocation(w);return!i.isTupleType(C)}return i.isOptionalParameter(w)}}function bG(e){return l_(e.name)}function Fje(e){switch(e.parent.kind){case 260:let t=e.parent;return t.name?[t.name]:[L.checkDefined(z2(t,88),"Nameless class declaration should be a default export")];case 228:let i=e.parent,o=e.parent.parent,s=i.name;return s?[s,o.name]:[o.name]}}function Gje(e){switch(e.kind){case 259:return e.name?[e.name]:[L.checkDefined(z2(e,88),"Nameless function declaration should be a default export")];case 171:return[e.name];case 173:let r=L.checkDefined(Yo(e,135,e.getSourceFile()),"Constructor declaration should have constructor keyword");return e.parent.kind===228?[e.parent.parent.name,r]:[r];case 216:return[e.parent.name];case 215:return e.name?[e.name,e.parent.name]:[e.parent.name];default:return L.assertNever(e,`Unexpected function declaration kind ${e.kind}`)}}var NP,X1e,Fee,Gee,Bje=gt({"src/services/refactors/convertParamsToDestructuredObject.ts"(){"use strict";Fr(),Qm(),NP="Convert parameters to destructured object",X1e=1,Fee=uo(_.Convert_parameters_to_destructured_object),Gee={name:NP,description:Fee,kind:"refactor.rewrite.parameters.toDestructured"},Vh(NP,{kinds:[Gee.kind],getEditsForAction:xje,getAvailableActions:Sje})}}),Uje={},Vje=gt({"src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts"(){"use strict";Bje()}});function jje(e){let{file:t,startPosition:r}=e,i=Y1e(t,r),o=Bee(i),s={name:EG,description:TG,actions:[]};return ar(o)&&Uee(o).isValidConcatenation?(s.actions.push(SG),[s]):e.preferences.provideRefactorNotApplicableReason?(s.actions.push({...SG,notApplicableReason:uo(_.Can_only_convert_string_concatenation)}),[s]):Je}function Y1e(e,t){let r=Vi(e,t),i=Bee(r);return!Uee(i).isValidConcatenation&&ud(i.parent)&&ar(i.parent.parent)?i.parent.parent:r}function Hje(e,t){let{file:r,startPosition:i}=e,o=Y1e(r,i);switch(t){case TG:return{edits:Wje(e,o)};default:return L.fail("invalid action")}}function Wje(e,t){let r=Bee(t),i=e.file,o=Kje(Uee(r),i),s=eb(i.text,r.end);if(s){let l=s[s.length-1],f={pos:s[0].pos,end:l.end};return nr.ChangeTracker.with(e,d=>{d.deleteRange(i,f),d.replaceNode(i,r,o)})}else return nr.ChangeTracker.with(e,l=>l.replaceNode(i,r,o))}function zje(e){return e.operatorToken.kind!==63}function Bee(e){return jn(e.parent,r=>{switch(r.kind){case 208:case 209:return!1;case 225:case 223:return!(ar(r.parent)&&zje(r.parent));default:return"quit"}})||e}function Uee(e){let t=l=>{if(!ar(l))return{nodes:[l],operators:[],validOperators:!0,hasString:yo(l)||IS(l)};let{nodes:f,operators:d,hasString:g,validOperators:m}=t(l.left);if(!(g||yo(l.right)||d3(l.right)))return{nodes:[l],operators:[],hasString:!1,validOperators:!0};let v=l.operatorToken.kind===39,S=m&&v;return f.push(l.right),d.push(l.operatorToken),{nodes:f,operators:d,hasString:!0,validOperators:S}},{nodes:r,operators:i,validOperators:o,hasString:s}=t(e);return{nodes:r,operators:i,isValidConcatenation:o&&s}}function Jje(e){return e.replace(/\\.|[$`]/g,t=>t[0]==="\\"?t:"\\"+t)}function $1e(e){let t=f2(e)||Aue(e)?-2:-1;return Qc(e).slice(1,t)}function Q1e(e,t){let r=[],i="",o="";for(;e<t.length;){let s=t[e];if(es(s))i+=s.text,o+=Jje(Qc(s).slice(1,-1)),r.push(e),e++;else if(d3(s)){i+=s.head.text,o+=$1e(s.head);break}else break}return[e,i,o,r]}function Kje({nodes:e,operators:t},r){let i=eSe(t,r),o=tSe(e,r,i),[s,l,f,d]=Q1e(0,e);if(s===e.length){let v=D.createNoSubstitutionTemplateLiteral(l,f);return o(d,v),v}let g=[],m=D.createTemplateHead(l,f);o(d,m);for(let v=s;v<e.length;v++){let S=qje(e[v]);i(v,S);let[x,A,w,C]=Q1e(v+1,e);v=x-1;let P=v===e.length-1;if(d3(S)){let F=on(S.templateSpans,(B,q)=>{Z1e(B);let W=q===S.templateSpans.length-1,Y=B.literal.text+(W?A:""),R=$1e(B.literal)+(W?w:"");return D.createTemplateSpan(B.expression,P&&W?D.createTemplateTail(Y,R):D.createTemplateMiddle(Y,R))});g.push(...F)}else{let F=P?D.createTemplateTail(A,w):D.createTemplateMiddle(A,w);o(C,F),g.push(D.createTemplateSpan(S,F))}}return D.createTemplateExpression(m,g)}function Z1e(e){let t=e.getSourceFile();sk(e,e.expression,t,3,!1),qN(e.expression,e.expression,t,3,!1)}function qje(e){return ud(e)&&(Z1e(e),e=e.expression),e}var EG,TG,SG,eSe,tSe,Xje=gt({"src/services/refactors/convertStringOrTemplateLiteral.ts"(){"use strict";Fr(),Qm(),EG="Convert to template string",TG=uo(_.Convert_to_template_string),SG={name:EG,description:TG,kind:"refactor.rewrite.string"},Vh(EG,{kinds:[SG.kind],getEditsForAction:Hje,getAvailableActions:jje}),eSe=(e,t)=>(r,i)=>{r<e.length&&sk(e[r],i,t,3,!1)},tSe=(e,t,r)=>(i,o)=>{for(;i.length>0;){let s=i.shift();sk(e[s],o,t,3,!1),r(s,o)}}}}),Yje={},$je=gt({"src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts"(){"use strict";Xje()}});function Qje(e){let t=nSe(e,e.triggerReason==="invoked");return t?$m(t)?e.preferences.provideRefactorNotApplicableReason?[{name:PP,description:CG,actions:[{...IG,notApplicableReason:t.error}]}]:Je:[{name:PP,description:CG,actions:[IG]}]:Je}function Zje(e,t){let r=nSe(e);return L.assert(r&&!$m(r),"Expected applicable refactor info"),{edits:nr.ChangeTracker.with(e,o=>sHe(e.file,e.program.getTypeChecker(),o,r,t)),renameFilename:void 0,renameLocation:void 0}}function xG(e){return ar(e)||b2(e)}function eHe(e){return Ol(e)||j_(e)||Bc(e)}function AG(e){return xG(e)||eHe(e)}function nSe(e,t=!0){let{file:r,program:i}=e,o=QS(e),s=o.length===0;if(s&&!t)return;let l=Vi(r,o.start),f=p7(r,o.start+o.length),d=Wc(l.pos,f&&f.end>=l.pos?f.getEnd():l.getEnd()),g=s?aHe(l):iHe(l,d),m=g&&AG(g)?oHe(g):void 0;if(!m)return{error:uo(_.Could_not_find_convertible_access_expression)};let v=i.getTypeChecker();return b2(m)?tHe(m,v):nHe(m)}function tHe(e,t){let r=e.condition,i=jee(e.whenTrue);if(!i||t.isNullableType(t.getTypeAtLocation(i)))return{error:uo(_.Could_not_find_convertible_access_expression)};if((br(r)||Re(r))&&Vee(r,i.expression))return{finalExpression:i,occurrences:[r],expression:e};if(ar(r)){let o=rSe(i.expression,r);return o?{finalExpression:i,occurrences:o,expression:e}:{error:uo(_.Could_not_find_matching_access_expressions)}}}function nHe(e){if(e.operatorToken.kind!==55)return{error:uo(_.Can_only_convert_logical_AND_access_chains)};let t=jee(e.right);if(!t)return{error:uo(_.Could_not_find_convertible_access_expression)};let r=rSe(t.expression,e.left);return r?{finalExpression:t,occurrences:r,expression:e}:{error:uo(_.Could_not_find_matching_access_expressions)}}function rSe(e,t){let r=[];for(;ar(t)&&t.operatorToken.kind===55;){let o=Vee(vs(e),vs(t.right));if(!o)break;r.push(o),e=o,t=t.left}let i=Vee(e,t);return i&&r.push(i),r.length>0?r:void 0}function Vee(e,t){if(!(!Re(t)&&!br(t)&&!Vs(t)))return rHe(e,t)?t:void 0}function rHe(e,t){for(;(Pa(e)||br(e)||Vs(e))&&Rk(e)!==Rk(t);)e=e.expression;for(;br(e)&&br(t)||Vs(e)&&Vs(t);){if(Rk(e)!==Rk(t))return!1;e=e.expression,t=t.expression}return Re(e)&&Re(t)&&e.getText()===t.getText()}function Rk(e){if(Re(e)||yf(e))return e.getText();if(br(e))return Rk(e.name);if(Vs(e))return Rk(e.argumentExpression)}function iHe(e,t){for(;e.parent;){if(AG(e)&&t.length!==0&&e.end>=t.start+t.length)return e;e=e.parent}}function aHe(e){for(;e.parent;){if(AG(e)&&!AG(e.parent))return e;e=e.parent}}function oHe(e){if(xG(e))return e;if(Bc(e)){let t=HA(e),r=t?.initializer;return r&&xG(r)?r:void 0}return e.expression&&xG(e.expression)?e.expression:void 0}function jee(e){if(e=vs(e),ar(e))return jee(e.left);if((br(e)||Vs(e)||Pa(e))&&!Jl(e))return e}function iSe(e,t,r){if(br(t)||Vs(t)||Pa(t)){let i=iSe(e,t.expression,r),o=r.length>0?r[r.length-1]:void 0,s=o?.getText()===t.expression.getText();if(s&&r.pop(),Pa(t))return s?D.createCallChain(i,D.createToken(28),t.typeArguments,t.arguments):D.createCallChain(i,t.questionDotToken,t.typeArguments,t.arguments);if(br(t))return s?D.createPropertyAccessChain(i,D.createToken(28),t.name):D.createPropertyAccessChain(i,t.questionDotToken,t.name);if(Vs(t))return s?D.createElementAccessChain(i,D.createToken(28),t.argumentExpression):D.createElementAccessChain(i,t.questionDotToken,t.argumentExpression)}return t}function sHe(e,t,r,i,o){let{finalExpression:s,occurrences:l,expression:f}=i,d=l[l.length-1],g=iSe(t,s,l);g&&(br(g)||Vs(g)||Pa(g))&&(ar(f)?r.replaceNodeRange(e,d,s,g):b2(f)&&r.replaceNode(e,f,D.createBinaryExpression(g,D.createToken(60),f.whenFalse)))}var PP,CG,IG,cHe=gt({"src/services/refactors/convertToOptionalChainExpression.ts"(){"use strict";Fr(),Qm(),PP="Convert to optional chain expression",CG=uo(_.Convert_to_optional_chain_expression),IG={name:PP,description:CG,kind:"refactor.rewrite.expression.optionalChain"},Vh(PP,{kinds:[IG.kind],getEditsForAction:Zje,getAvailableActions:Qje})}}),lHe={},uHe=gt({"src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts"(){"use strict";cHe()}});function aSe(e){let t=e.kind,r=Hee(e.file,QS(e),e.triggerReason==="invoked"),i=r.targetRange;if(i===void 0){if(!r.errors||r.errors.length===0||!e.preferences.provideRefactorNotApplicableReason)return Je;let A=[];return pv(px.kind,t)&&A.push({name:fx,description:px.description,actions:[{...px,notApplicableReason:x(r.errors)}]}),pv(_x.kind,t)&&A.push({name:fx,description:_x.description,actions:[{..._x,notApplicableReason:x(r.errors)}]}),A}let o=hHe(i,e);if(o===void 0)return Je;let s=[],l=new Map,f,d=[],g=new Map,m,v=0;for(let{functionExtraction:A,constantExtraction:w}of o){if(pv(px.kind,t)){let C=A.description;A.errors.length===0?l.has(C)||(l.set(C,!0),s.push({description:C,name:`function_scope_${v}`,kind:px.kind})):f||(f={description:C,name:`function_scope_${v}`,notApplicableReason:x(A.errors),kind:px.kind})}if(pv(_x.kind,t)){let C=w.description;w.errors.length===0?g.has(C)||(g.set(C,!0),d.push({description:C,name:`constant_scope_${v}`,kind:_x.kind})):m||(m={description:C,name:`constant_scope_${v}`,notApplicableReason:x(w.errors),kind:_x.kind})}v++}let S=[];return s.length?S.push({name:fx,description:uo(_.Extract_function),actions:s}):e.preferences.provideRefactorNotApplicableReason&&f&&S.push({name:fx,description:uo(_.Extract_function),actions:[f]}),d.length?S.push({name:fx,description:uo(_.Extract_constant),actions:d}):e.preferences.provideRefactorNotApplicableReason&&m&&S.push({name:fx,description:uo(_.Extract_constant),actions:[m]}),S.length?S:Je;function x(A){let w=A[0].messageText;return typeof w!="string"&&(w=w.messageText),w}}function oSe(e,t){let i=Hee(e.file,QS(e)).targetRange,o=/^function_scope_(\d+)$/.exec(t);if(o){let l=+o[1];return L.assert(isFinite(l),"Expected to parse a finite number from the function scope index"),pHe(i,e,l)}let s=/^constant_scope_(\d+)$/.exec(t);if(s){let l=+s[1];return L.assert(isFinite(l),"Expected to parse a finite number from the constant scope index"),mHe(i,e,l)}L.fail("Unrecognized action name")}function Hee(e,t,r=!0){let{length:i}=t;if(i===0&&!r)return{errors:[al(e,t.start,i,vl.cannotExtractEmpty)]};let o=i===0&&r,s=Ihe(e,t.start),l=p7(e,wl(t)),f=s&&l&&r?dHe(s,l,e):t,d=o?MHe(s):HN(s,e,f),g=o?d:HN(l,e,f),m=0,v;if(!d||!g)return{errors:[al(e,t.start,i,vl.cannotExtractRange)]};if(d.flags&8388608)return{errors:[al(e,t.start,i,vl.cannotExtractJSDoc)]};if(d.parent!==g.parent)return{errors:[al(e,t.start,i,vl.cannotExtractRange)]};if(d!==g){if(!cSe(d.parent))return{errors:[al(e,t.start,i,vl.cannotExtractRange)]};let F=[];for(let B of d.parent.statements){if(B===d||F.length){let q=P(B);if(q)return{errors:q};F.push(B)}if(B===g)break}return F.length?{targetRange:{range:F,facts:m,thisNode:v}}:{errors:[al(e,t.start,i,vl.cannotExtractRange)]}}if(j_(d)&&!d.expression)return{errors:[al(e,t.start,i,vl.cannotExtractRange)]};let S=A(d),x=w(S)||P(S);if(x)return{errors:x};return{targetRange:{range:fHe(S),facts:m,thisNode:v}};function A(F){if(j_(F)){if(F.expression)return F.expression}else if(Bc(F)||pu(F)){let B=Bc(F)?F.declarationList.declarations:F.declarations,q=0,W;for(let Y of B)Y.initializer&&(q++,W=Y.initializer);if(q===1)return W}else if(wi(F)&&F.initializer)return F.initializer;return F}function w(F){if(Re(Ol(F)?F.expression:F))return[hr(F,vl.cannotExtractIdentifier)]}function C(F,B){let q=F;for(;q!==B;){if(q.kind===169){Ca(q)&&(m|=32);break}else if(q.kind===166){Xd(q).kind===173&&(m|=32);break}else q.kind===171&&Ca(q)&&(m|=32);q=q.parent}}function P(F){let B;if(($=>{$[$.None=0]="None",$[$.Break=1]="Break",$[$.Continue=2]="Continue",$[$.Return=4]="Return"})(B||(B={})),L.assert(F.pos<=F.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)"),L.assert(!vp(F.pos),"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)"),!ca(F)&&!(Dh(F)&&sSe(F))&&!qee(F))return[hr(F,vl.statementOrExpressionExpected)];if(F.flags&16777216)return[hr(F,vl.cannotExtractAmbientBlock)];let q=Zc(F);q&&C(F,q);let W,Y=4,R;if(ie(F),m&8){let $=Ku(F,!1,!1);($.kind===259||$.kind===171&&$.parent.kind===207||$.kind===215)&&(m|=16)}return W;function ie($){if(W)return!0;if(Kl($)){let Z=$.kind===257?$.parent.parent:$;if(Mr(Z,1))return(W||(W=[])).push(hr($,vl.cannotExtractExportedEntity)),!0}switch($.kind){case 269:return(W||(W=[])).push(hr($,vl.cannotExtractImport)),!0;case 274:return(W||(W=[])).push(hr($,vl.cannotExtractExportedEntity)),!0;case 106:if($.parent.kind===210){let Z=Zc($);if(Z===void 0||Z.pos<t.start||Z.end>=t.start+t.length)return(W||(W=[])).push(hr($,vl.cannotExtractSuper)),!0}else m|=8,v=$;break;case 216:pa($,function Z(U){if(H2(U))m|=8,v=$;else{if(Yr(U)||Ia(U)&&!xs(U))return!1;pa(U,Z)}});case 260:case 259:Li($.parent)&&$.parent.externalModuleIndicator===void 0&&(W||(W=[])).push(hr($,vl.functionWillNotBeVisibleInTheNewScope));case 228:case 215:case 171:case 173:case 174:case 175:return!1}let fe=Y;switch($.kind){case 242:Y&=-5;break;case 255:Y=0;break;case 238:$.parent&&$.parent.kind===255&&$.parent.finallyBlock===$&&(Y=4);break;case 293:case 292:Y|=1;break;default:Wy($,!1)&&(Y|=3);break}switch($.kind){case 194:case 108:m|=8,v=$;break;case 253:{let Z=$.label;(R||(R=[])).push(Z.escapedText),pa($,ie),R.pop();break}case 249:case 248:{let Z=$.label;Z?ya(R,Z.escapedText)||(W||(W=[])).push(hr($,vl.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):Y&($.kind===249?1:2)||(W||(W=[])).push(hr($,vl.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break}case 220:m|=4;break;case 226:m|=2;break;case 250:Y&4?m|=1:(W||(W=[])).push(hr($,vl.cannotExtractRangeContainingConditionalReturnStatement));break;default:pa($,ie);break}Y=fe}}}function dHe(e,t,r){let i=e.getStart(r),o=t.getEnd();return r.text.charCodeAt(o)===59&&o++,{start:i,length:o-i}}function fHe(e){if(ca(e))return[e];if(Dh(e))return Ol(e.parent)?[e.parent]:e;if(qee(e))return e}function Wee(e){return xs(e)?Hj(e.body):Ds(e)||Li(e)||Tp(e)||Yr(e)}function _He(e){let t=jh(e.range)?Vo(e.range):e.range;if(e.facts&8&&!(e.facts&16)){let i=Zc(t);if(i){let o=jn(t,Ds);return o?[o,i]:[i]}}let r=[];for(;;)if(t=t.parent,t.kind===166&&(t=jn(t,i=>Ds(i)).parent),Wee(t)&&(r.push(t),t.kind===308))return r}function pHe(e,t,r){let{scopes:i,readsAndWrites:{target:o,usagesPerScope:s,functionErrorsPerScope:l,exposedVariableDeclarations:f}}=zee(e,t);return L.assert(!l[r].length,"The extraction went missing? How?"),t.cancellationToken.throwIfCancellationRequested(),THe(o,i[r],s[r],f,e,t)}function mHe(e,t,r){let{scopes:i,readsAndWrites:{target:o,usagesPerScope:s,constantErrorsPerScope:l,exposedVariableDeclarations:f}}=zee(e,t);L.assert(!l[r].length,"The extraction went missing? How?"),L.assert(f.length===0,"Extract constant accepted a range containing a variable declaration?"),t.cancellationToken.throwIfCancellationRequested();let d=ot(o)?o:o.statements[0].expression;return SHe(d,i[r],s[r],e.facts,t)}function hHe(e,t){let{scopes:r,readsAndWrites:{functionErrorsPerScope:i,constantErrorsPerScope:o}}=zee(e,t);return r.map((l,f)=>{let d=gHe(l),g=yHe(l),m=Ds(l)?vHe(l):Yr(l)?bHe(l):EHe(l),v,S;return m===1?(v=jm(uo(_.Extract_to_0_in_1_scope),[d,"global"]),S=jm(uo(_.Extract_to_0_in_1_scope),[g,"global"])):m===0?(v=jm(uo(_.Extract_to_0_in_1_scope),[d,"module"]),S=jm(uo(_.Extract_to_0_in_1_scope),[g,"module"])):(v=jm(uo(_.Extract_to_0_in_1),[d,m]),S=jm(uo(_.Extract_to_0_in_1),[g,m])),f===0&&!Yr(l)&&(S=jm(uo(_.Extract_to_0_in_enclosing_scope),[g])),{functionExtraction:{description:v,errors:i[f]},constantExtraction:{description:S,errors:o[f]}}})}function zee(e,t){let{file:r}=t,i=_He(e),o=NHe(e,r),s=PHe(e,i,o,r,t.program.getTypeChecker(),t.cancellationToken);return{scopes:i,readsAndWrites:s}}function gHe(e){return Ds(e)?"inner function":Yr(e)?"method":"function"}function yHe(e){return Yr(e)?"readonly field":"constant"}function vHe(e){switch(e.kind){case 173:return"constructor";case 215:case 259:return e.name?`function '${e.name.text}'`:X7;case 216:return"arrow function";case 171:return`method '${e.name.getText()}'`;case 174:return`'get ${e.name.getText()}'`;case 175:return`'set ${e.name.getText()}'`;default:throw L.assertNever(e,`Unexpected scope kind ${e.kind}`)}}function bHe(e){return e.kind===260?e.name?`class '${e.name.text}'`:"anonymous class declaration":e.name?`class expression '${e.name.text}'`:"anonymous class expression"}function EHe(e){return e.kind===265?`namespace '${e.parent.name.getText()}'`:e.externalModuleIndicator?0:1}function THe(e,t,{usages:r,typeParameterUsages:i,substitutions:o},s,l,f){let d=f.program.getTypeChecker(),g=Do(f.program.getCompilerOptions()),m=gu.createImportAdder(f.file,f.program,f.preferences,f.host),v=t.getSourceFile(),S=i1(Yr(t)?"newMethod":"newFunction",v),x=Yn(t),A=D.createIdentifier(S),w,C=[],P=[],F;r.forEach((Ce,Ie)=>{let Be;if(!x){let Le=d.getTypeOfSymbolAtLocation(Ce.symbol,Ce.node);Le=d.getBaseTypeOfLiteralType(Le),Be=gu.typeToAutoImportableTypeNode(d,m,Le,t,g,1)}let Ne=D.createParameterDeclaration(void 0,void 0,Ie,void 0,Be);C.push(Ne),Ce.usage===2&&(F||(F=[])).push(Ce),P.push(D.createIdentifier(Ie))});let q=lo(i.values(),Ce=>({type:Ce,declaration:AHe(Ce)})).sort(CHe),W=q.length===0?void 0:q.map(Ce=>Ce.declaration),Y=W!==void 0?W.map(Ce=>D.createTypeReferenceNode(Ce.name,void 0)):void 0;if(ot(e)&&!x){let Ce=d.getContextualType(e);w=d.typeToTypeNode(Ce,t,1)}let{body:R,returnValueProperty:ie}=LHe(e,s,F,o,!!(l.facts&1));pd(R);let $,fe=!!(l.facts&16);if(Yr(t)){let Ce=x?[]:[D.createModifier(121)];l.facts&32&&Ce.push(D.createModifier(124)),l.facts&4&&Ce.push(D.createModifier(132)),$=D.createMethodDeclaration(Ce.length?Ce:void 0,l.facts&2?D.createToken(41):void 0,A,void 0,W,C,w,R)}else fe&&C.unshift(D.createParameterDeclaration(void 0,void 0,"this",void 0,d.typeToTypeNode(d.getTypeAtLocation(l.thisNode),t,1),void 0)),$=D.createFunctionDeclaration(l.facts&4?[D.createToken(132)]:void 0,l.facts&2?D.createToken(41):void 0,A,W,C,w,R);let Z=nr.ChangeTracker.fromContext(f),U=(jh(l.range)?To(l.range):l.range).end,re=wHe(U,t);re?Z.insertNodeBefore(f.file,re,$,!0):Z.insertNodeAtEndOfScope(f.file,t,$),m.writeFixes(Z);let le=[],_e=IHe(t,l,S);fe&&P.unshift(D.createIdentifier("this"));let ge=D.createCallExpression(fe?D.createPropertyAccessExpression(_e,"call"):_e,Y,P);if(l.facts&2&&(ge=D.createYieldExpression(D.createToken(41),ge)),l.facts&4&&(ge=D.createAwaitExpression(ge)),Kee(e)&&(ge=D.createJsxExpression(void 0,ge)),s.length&&!F)if(L.assert(!ie,"Expected no returnValueProperty"),L.assert(!(l.facts&1),"Expected RangeFacts.HasReturn flag to be unset"),s.length===1){let Ce=s[0];le.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(cc(Ce.name),void 0,cc(Ce.type),ge)],Ce.parent.flags)))}else{let Ce=[],Ie=[],Be=s[0].parent.flags,Ne=!1;for(let Ye of s){Ce.push(D.createBindingElement(void 0,void 0,cc(Ye.name)));let _t=d.typeToTypeNode(d.getBaseTypeOfLiteralType(d.getTypeAtLocation(Ye)),t,1);Ie.push(D.createPropertySignature(void 0,Ye.symbol.name,void 0,_t)),Ne=Ne||Ye.type!==void 0,Be=Be&Ye.parent.flags}let Le=Ne?D.createTypeLiteralNode(Ie):void 0;Le&&Jn(Le,1),le.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(D.createObjectBindingPattern(Ce),void 0,Le,ge)],Be)))}else if(s.length||F){if(s.length)for(let Ie of s){let Be=Ie.parent.flags;Be&2&&(Be=Be&-3|1),le.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(Ie.symbol.name,void 0,Pe(Ie.type))],Be)))}ie&&le.push(D.createVariableStatement(void 0,D.createVariableDeclarationList([D.createVariableDeclaration(ie,void 0,Pe(w))],1)));let Ce=Jee(s,F);ie&&Ce.unshift(D.createShorthandPropertyAssignment(ie)),Ce.length===1?(L.assert(!ie,"Shouldn't have returnValueProperty here"),le.push(D.createExpressionStatement(D.createAssignment(Ce[0].name,ge))),l.facts&1&&le.push(D.createReturnStatement())):(le.push(D.createExpressionStatement(D.createAssignment(D.createObjectLiteralExpression(Ce),ge))),ie&&le.push(D.createReturnStatement(D.createIdentifier(ie))))}else l.facts&1?le.push(D.createReturnStatement(ge)):jh(l.range)?le.push(D.createExpressionStatement(ge)):le.push(ge);jh(l.range)?Z.replaceNodeRangeWithNodes(f.file,Vo(l.range),To(l.range),le):Z.replaceNodeWithNodes(f.file,l.range,le);let X=Z.getChanges(),we=(jh(l.range)?Vo(l.range):l.range).getSourceFile().fileName,ke=KN(X,we,S,!1);return{renameFilename:we,renameLocation:ke,edits:X};function Pe(Ce){if(Ce===void 0)return;let Ie=cc(Ce),Be=Ie;for(;wS(Be);)Be=Be.type;return DS(Be)&&wr(Be.types,Ne=>Ne.kind===155)?Ie:D.createUnionTypeNode([Ie,D.createKeywordTypeNode(155)])}}function SHe(e,t,{substitutions:r},i,o){let s=o.program.getTypeChecker(),l=t.getSourceFile(),f=br(e)&&!Yr(t)&&!s.resolveName(e.name.text,e,111551,!1)&&!pi(e.name)&&!nb(e.name)?e.name.text:i1(Yr(t)?"newProperty":"newLocal",l),d=Yn(t),g=d||!s.isContextSensitive(e)?void 0:s.typeToTypeNode(s.getContextualType(e),t,1),m=kHe(vs(e),r);({variableType:g,initializer:m}=w(g,m)),pd(m);let v=nr.ChangeTracker.fromContext(o);if(Yr(t)){L.assert(!d,"Cannot extract to a JS class");let C=[];C.push(D.createModifier(121)),i&32&&C.push(D.createModifier(124)),C.push(D.createModifier(146));let P=D.createPropertyDeclaration(C,f,void 0,g,m),F=D.createPropertyAccessExpression(i&32?D.createIdentifier(t.name.getText()):D.createThis(),D.createIdentifier(f));Kee(e)&&(F=D.createJsxExpression(void 0,F));let B=e.pos,q=RHe(B,t);v.insertNodeBefore(o.file,q,P,!0),v.replaceNode(o.file,e,F)}else{let C=D.createVariableDeclaration(f,void 0,g,m),P=xHe(e,t);if(P){v.insertNodeBefore(o.file,P,C);let F=D.createIdentifier(f);v.replaceNode(o.file,e,F)}else if(e.parent.kind===241&&t===jn(e,Wee)){let F=D.createVariableStatement(void 0,D.createVariableDeclarationList([C],2));v.replaceNode(o.file,e.parent,F)}else{let F=D.createVariableStatement(void 0,D.createVariableDeclarationList([C],2)),B=OHe(e,t);if(B.pos===0?v.insertNodeAtTopOfFile(o.file,F,!1):v.insertNodeBefore(o.file,B,F,!1),e.parent.kind===241)v.delete(o.file,e.parent);else{let q=D.createIdentifier(f);Kee(e)&&(q=D.createJsxExpression(void 0,q)),v.replaceNode(o.file,e,q)}}}let S=v.getChanges(),x=e.getSourceFile().fileName,A=KN(S,x,f,!0);return{renameFilename:x,renameLocation:A,edits:S};function w(C,P){if(C===void 0)return{variableType:C,initializer:P};if(!ms(P)&&!xs(P)||P.typeParameters)return{variableType:C,initializer:P};let F=s.getTypeAtLocation(e),B=Wp(s.getSignaturesOfType(F,0));if(!B)return{variableType:C,initializer:P};if(B.getTypeParameters())return{variableType:C,initializer:P};let q=[],W=!1;for(let Y of P.parameters)if(Y.type)q.push(Y);else{let R=s.getTypeAtLocation(Y);R===s.getAnyType()&&(W=!0),q.push(D.updateParameterDeclaration(Y,Y.modifiers,Y.dotDotDotToken,Y.name,Y.questionToken,Y.type||s.typeToTypeNode(R,t,1),Y.initializer))}if(W)return{variableType:C,initializer:P};if(C=void 0,xs(P))P=D.updateArrowFunction(P,g_(e)?uT(e):void 0,P.typeParameters,q,P.type||s.typeToTypeNode(B.getReturnType(),t,1),P.equalsGreaterThanToken,P.body);else{if(B&&B.thisParameter){let Y=Sl(q);if(!Y||Re(Y.name)&&Y.name.escapedText!=="this"){let R=s.getTypeOfSymbolAtLocation(B.thisParameter,e);q.splice(0,0,D.createParameterDeclaration(void 0,void 0,"this",void 0,s.typeToTypeNode(R,t,1)))}}P=D.updateFunctionExpression(P,g_(e)?uT(e):void 0,P.asteriskToken,P.name,P.typeParameters,q,P.type||s.typeToTypeNode(B.getReturnType(),t,1),P.body)}return{variableType:C,initializer:P}}}function xHe(e,t){let r;for(;e!==void 0&&e!==t;){if(wi(e)&&e.initializer===r&&pu(e.parent)&&e.parent.declarations.length>1)return e;r=e,e=e.parent}}function AHe(e){let t,r=e.symbol;if(r&&r.declarations)for(let i of r.declarations)(t===void 0||i.pos<t.pos)&&(t=i);return t}function CHe({type:e,declaration:t},{type:r,declaration:i}){return Cae(t,i,"pos",Es)||su(e.symbol?e.symbol.getName():"",r.symbol?r.symbol.getName():"")||Es(e.id,r.id)}function IHe(e,t,r){let i=D.createIdentifier(r);if(Yr(e)){let o=t.facts&32?D.createIdentifier(e.name.text):D.createThis();return D.createPropertyAccessExpression(o,i)}else return i}function LHe(e,t,r,i,o){let s=r!==void 0||t.length>0;if(Va(e)&&!s&&i.size===0)return{body:D.createBlock(e.statements,!0),returnValueProperty:void 0};let l,f=!1,d=D.createNodeArray(Va(e)?e.statements.slice(0):[ca(e)?e:D.createReturnStatement(vs(e))]);if(s||i.size){let m=On(d,g,ca).slice();if(s&&!o&&ca(e)){let v=Jee(t,r);v.length===1?m.push(D.createReturnStatement(v[0].name)):m.push(D.createReturnStatement(D.createObjectLiteralExpression(v)))}return{body:D.createBlock(m,!0),returnValueProperty:l}}else return{body:D.createBlock(d,!0),returnValueProperty:void 0};function g(m){if(!f&&j_(m)&&s){let v=Jee(t,r);return m.expression&&(l||(l="__return"),v.unshift(D.createPropertyAssignment(l,$e(m.expression,g,ot)))),v.length===1?D.createReturnStatement(v[0].name):D.createReturnStatement(D.createObjectLiteralExpression(v))}else{let v=f;f=f||Ds(m)||Yr(m);let S=i.get(zo(m).toString()),x=S?cc(S):xn(m,g,Bh);return f=v,x}}}function kHe(e,t){return t.size?r(e):e;function r(i){let o=t.get(zo(i).toString());return o?cc(o):xn(i,r,Bh)}}function DHe(e){if(Ds(e)){let t=e.body;if(Va(t))return t.statements}else{if(Tp(e)||Li(e))return e.statements;if(Yr(e))return e.members;}return Je}function wHe(e,t){return wr(DHe(t),r=>r.pos>=e&&Ds(r)&&!Ec(r))}function RHe(e,t){let r=t.members;L.assert(r.length>0,"Found no members");let i,o=!0;for(let s of r){if(s.pos>e)return i||r[0];if(o&&!Na(s)){if(i!==void 0)return s;o=!1}i=s}return i===void 0?L.fail():i}function OHe(e,t){L.assert(!Yr(t));let r;for(let i=e;i!==t;i=i.parent)Wee(i)&&(r=i);for(let i=(r||e).parent;;i=i.parent){if(cSe(i)){let o;for(let s of i.statements){if(s.pos>e.pos)break;o=s}return!o&&CL(i)?(L.assert(pO(i.parent.parent),"Grandparent isn't a switch statement"),i.parent.parent):L.checkDefined(o,"prevStatement failed to get set")}L.assert(i!==t,"Didn't encounter a block-like before encountering scope")}}function Jee(e,t){let r=on(e,o=>D.createShorthandPropertyAssignment(o.symbol.name)),i=on(t,o=>D.createShorthandPropertyAssignment(o.symbol.name));return r===void 0?i:i===void 0?r:r.concat(i)}function jh(e){return ba(e)}function NHe(e,t){return jh(e.range)?{pos:Vo(e.range).getStart(t),end:To(e.range).getEnd()}:e.range}function PHe(e,t,r,i,o,s){let l=new Map,f=[],d=[],g=[],m=[],v=[],S=new Map,x=[],A,w=jh(e.range)?e.range.length===1&&Ol(e.range[0])?e.range[0].expression:void 0:e.range,C;if(w===void 0){let re=e.range,le=Vo(re).getStart(),_e=To(re).end;C=al(i,le,_e-le,vl.expressionExpected)}else o.getTypeAtLocation(w).flags&147456&&(C=hr(w,vl.uselessConstantType));for(let re of t){f.push({usages:new Map,typeParameterUsages:new Map,substitutions:new Map}),d.push(new Map),g.push([]);let le=[];C&&le.push(C),Yr(re)&&Yn(re)&&le.push(hr(re,vl.cannotExtractToJSClass)),xs(re)&&!Va(re.body)&&le.push(hr(re,vl.cannotExtractToExpressionArrowFunction)),m.push(le)}let P=new Map,F=jh(e.range)?D.createBlock(e.range):e.range,B=jh(e.range)?Vo(e.range):e.range,q=W(B);if(R(F),q&&!jh(e.range)&&!Sp(e.range)){let re=o.getContextualType(e.range);Y(re)}if(l.size>0){let re=new Map,le=0;for(let _e=B;_e!==void 0&&le<t.length;_e=_e.parent)if(_e===t[le]&&(re.forEach((ge,X)=>{f[le].typeParameterUsages.set(X,ge)}),le++),mH(_e))for(let ge of jy(_e)){let X=o.getTypeAtLocation(ge);l.has(X.id.toString())&&re.set(X.id.toString(),X)}L.assert(le===t.length,"Should have iterated all scopes")}if(v.length){let re=pH(t[0],t[0].parent)?t[0]:tm(t[0]);pa(re,fe)}for(let re=0;re<t.length;re++){let le=f[re];if(re>0&&(le.usages.size>0||le.typeParameterUsages.size>0)){let X=jh(e.range)?e.range[0]:e.range;m[re].push(hr(X,vl.cannotAccessVariablesFromNestedScopes))}e.facts&16&&Yr(t[re])&&g[re].push(hr(e.thisNode,vl.cannotExtractFunctionsContainingThisToMethod));let _e=!1,ge;if(f[re].usages.forEach(X=>{X.usage===2&&(_e=!0,X.symbol.flags&106500&&X.symbol.valueDeclaration&&cd(X.symbol.valueDeclaration,64)&&(ge=X.symbol.valueDeclaration))}),L.assert(jh(e.range)||x.length===0,"No variable declarations expected if something was extracted"),_e&&!jh(e.range)){let X=hr(e.range,vl.cannotWriteInExpression);g[re].push(X),m[re].push(X)}else if(ge&&re>0){let X=hr(ge,vl.cannotExtractReadonlyPropertyInitializerOutsideConstructor);g[re].push(X),m[re].push(X)}else if(A){let X=hr(A,vl.cannotExtractExportedEntity);g[re].push(X),m[re].push(X)}}return{target:F,usagesPerScope:f,functionErrorsPerScope:g,constantErrorsPerScope:m,exposedVariableDeclarations:x};function W(re){return!!jn(re,le=>mH(le)&&jy(le).length!==0)}function Y(re){let le=o.getSymbolWalker(()=>(s.throwIfCancellationRequested(),!0)),{visitedTypes:_e}=le.walkType(re);for(let ge of _e)ge.isTypeParameter()&&l.set(ge.id.toString(),ge)}function R(re,le=1){if(q){let _e=o.getTypeAtLocation(re);Y(_e)}if(Kl(re)&&re.symbol&&v.push(re),Iu(re))R(re.left,2),R(re.right);else if(mse(re))R(re.operand,2);else if(br(re)||Vs(re))pa(re,R);else if(Re(re)){if(!re.parent||Yu(re.parent)&&re!==re.parent.left||br(re.parent)&&re!==re.parent.expression)return;ie(re,le,Gm(re))}else pa(re,R)}function ie(re,le,_e){let ge=$(re,le,_e);if(ge)for(let X=0;X<t.length;X++){let Ve=d[X].get(ge);Ve&&f[X].substitutions.set(zo(re).toString(),Ve)}}function $(re,le,_e){let ge=Z(re);if(!ge)return;let X=$a(ge).toString(),Ve=P.get(X);if(Ve&&Ve>=le)return X;if(P.set(X,le),Ve){for(let Pe of f)Pe.usages.get(re.text)&&Pe.usages.set(re.text,{usage:le,symbol:ge,node:re});return X}let we=ge.getDeclarations(),ke=we&&wr(we,Pe=>Pe.getSourceFile()===i);if(ke&&!ON(r,ke.getStart(),ke.end)){if(e.facts&2&&le===2){let Pe=hr(re,vl.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators);for(let Ce of g)Ce.push(Pe);for(let Ce of m)Ce.push(Pe)}for(let Pe=0;Pe<t.length;Pe++){let Ce=t[Pe];if(o.resolveName(ge.name,Ce,ge.flags,!1)!==ge&&!d[Pe].has(X)){let Be=U(ge.exportSymbol||ge,Ce,_e);if(Be)d[Pe].set(X,Be);else if(_e){if(!(ge.flags&262144)){let Ne=hr(re,vl.typeWillNotBeVisibleInTheNewScope);g[Pe].push(Ne),m[Pe].push(Ne)}}else f[Pe].usages.set(re.text,{usage:le,symbol:ge,node:re})}}return X}}function fe(re){if(re===e.range||jh(e.range)&&e.range.indexOf(re)>=0)return;let le=Re(re)?Z(re):o.getSymbolAtLocation(re);if(le){let _e=wr(v,ge=>ge.symbol===le);if(_e)if(wi(_e)){let ge=_e.symbol.id.toString();S.has(ge)||(x.push(_e),S.set(ge,!0))}else A=A||_e}pa(re,fe)}function Z(re){return re.parent&&xf(re.parent)&&re.parent.name===re?o.getShorthandAssignmentValueSymbol(re.parent):o.getSymbolAtLocation(re)}function U(re,le,_e){if(!re)return;let ge=re.getDeclarations();if(ge&&ge.some(Ve=>Ve.parent===le))return D.createIdentifier(re.name);let X=U(re.parent,le,_e);if(X!==void 0)return _e?D.createQualifiedName(X,D.createIdentifier(re.name)):D.createPropertyAccessExpression(X,re.name)}}function MHe(e){return jn(e,t=>t.parent&&sSe(t)&&!ar(t.parent))}function sSe(e){let{parent:t}=e;switch(t.kind){case 302:return!1}switch(e.kind){case 10:return t.kind!==269&&t.kind!==273;case 227:case 203:case 205:return!1;case 79:return t.kind!==205&&t.kind!==273&&t.kind!==278}return!0}function cSe(e){switch(e.kind){case 238:case 308:case 265:case 292:return!0;default:return!1}}function Kee(e){return qee(e)||(Hg(e)||FS(e)||BS(e))&&(Hg(e.parent)||BS(e.parent))}function qee(e){return yo(e)&&e.parent&&Sp(e.parent)}var fx,_x,px,vl,Xee,FHe=gt({"src/services/refactors/extractSymbol.ts"(){"use strict";Fr(),Qm(),fx="Extract Symbol",_x={name:"Extract Constant",description:uo(_.Extract_constant),kind:"refactor.extract.constant"},px={name:"Extract Function",description:uo(_.Extract_function),kind:"refactor.extract.function"},Vh(fx,{kinds:[_x.kind,px.kind],getEditsForAction:oSe,getAvailableActions:aSe}),(e=>{function t(r){return{message:r,code:0,category:3,key:r}}e.cannotExtractRange=t("Cannot extract range."),e.cannotExtractImport=t("Cannot extract import statement."),e.cannotExtractSuper=t("Cannot extract super call."),e.cannotExtractJSDoc=t("Cannot extract JSDoc."),e.cannotExtractEmpty=t("Cannot extract empty range."),e.expressionExpected=t("expression expected."),e.uselessConstantType=t("No reason to extract constant of type."),e.statementOrExpressionExpected=t("Statement or expression expected."),e.cannotExtractRangeContainingConditionalBreakOrContinueStatements=t("Cannot extract range containing conditional break or continue statements."),e.cannotExtractRangeContainingConditionalReturnStatement=t("Cannot extract range containing conditional return statement."),e.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange=t("Cannot extract range containing labeled break or continue with target outside of the range."),e.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators=t("Cannot extract range containing writes to references located outside of the target range in generators."),e.typeWillNotBeVisibleInTheNewScope=t("Type will not visible in the new scope."),e.functionWillNotBeVisibleInTheNewScope=t("Function will not visible in the new scope."),e.cannotExtractIdentifier=t("Select more than a single identifier."),e.cannotExtractExportedEntity=t("Cannot extract exported declaration"),e.cannotWriteInExpression=t("Cannot write back side-effects when extracting an expression"),e.cannotExtractReadonlyPropertyInitializerOutsideConstructor=t("Cannot move initialization of read-only class property outside of the constructor"),e.cannotExtractAmbientBlock=t("Cannot extract code from ambient contexts"),e.cannotAccessVariablesFromNestedScopes=t("Cannot access variables from nested scopes"),e.cannotExtractToJSClass=t("Cannot extract constant to a class scope in JS"),e.cannotExtractToExpressionArrowFunction=t("Cannot extract constant to an arrow function without a block"),e.cannotExtractFunctionsContainingThisToMethod=t("Cannot extract functions containing this to method")})(vl||(vl={})),Xee=(e=>(e[e.None=0]="None",e[e.HasReturn=1]="HasReturn",e[e.IsGenerator=2]="IsGenerator",e[e.IsAsyncFunction=4]="IsAsyncFunction",e[e.UsesThis=8]="UsesThis",e[e.UsesThisInFunction=16]="UsesThisInFunction",e[e.InStaticRegion=32]="InStaticRegion",e))(Xee||{})}}),lSe={};Mo(lSe,{Messages:()=>vl,RangeFacts:()=>Xee,getRangeToExtract:()=>Hee,getRefactorActionsToExtractSymbol:()=>aSe,getRefactorEditsToExtractSymbol:()=>oSe});var GHe=gt({"src/services/_namespaces/ts.refactor.extractSymbol.ts"(){"use strict";FHe()}}),MP,LG,kG,BHe=gt({"src/services/refactors/generateGetAccessorAndSetAccessor.ts"(){"use strict";Fr(),Qm(),MP="Generate 'get' and 'set' accessors",LG=_.Generate_get_and_set_accessors.message,kG={name:MP,description:LG,kind:"refactor.rewrite.property.generateAccessors"},Vh(MP,{kinds:[kG.kind],getEditsForAction:function(t,r){if(!t.endPosition)return;let i=gu.getAccessorConvertiblePropertyAtPosition(t.file,t.program,t.startPosition,t.endPosition);L.assert(i&&!$m(i),"Expected applicable refactor info");let o=gu.generateAccessorFromProperty(t.file,t.program,t.startPosition,t.endPosition,t,r);if(!o)return;let s=t.file.fileName,l=i.renameAccessor?i.accessorName:i.fieldName,d=(Re(l)?0:-1)+KN(o,s,l.text,ha(i.declaration));return{renameFilename:s,renameLocation:d,edits:o}},getAvailableActions(e){if(!e.endPosition)return Je;let t=gu.getAccessorConvertiblePropertyAtPosition(e.file,e.program,e.startPosition,e.endPosition,e.triggerReason==="invoked");return t?$m(t)?e.preferences.provideRefactorNotApplicableReason?[{name:MP,description:LG,actions:[{...kG,notApplicableReason:t.error}]}]:Je:[{name:MP,description:LG,actions:[kG]}]:Je}})}}),UHe={},VHe=gt({"src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts"(){"use strict";BHe()}});function jHe(e){let t=uSe(e);if(t&&!$m(t))return{renameFilename:void 0,renameLocation:void 0,edits:nr.ChangeTracker.with(e,i=>WHe(e.file,i,t.declaration,t.returnTypeNode))}}function HHe(e){let t=uSe(e);return t?$m(t)?e.preferences.provideRefactorNotApplicableReason?[{name:FP,description:DG,actions:[{...GP,notApplicableReason:t.error}]}]:Je:[{name:FP,description:DG,actions:[GP]}]:Je}function WHe(e,t,r,i){let o=Yo(r,21,e),s=xs(r)&&o===void 0,l=s?Vo(r.parameters):o;l&&(s&&(t.insertNodeBefore(e,l,D.createToken(20)),t.insertNodeAfter(e,l,D.createToken(21))),t.insertNodeAt(e,l.end,i,{prefix:": "}))}function uSe(e){if(Yn(e.file)||!pv(GP.kind,e.kind))return;let t=Vi(e.file,e.startPosition),r=jn(t,l=>Va(l)||l.parent&&xs(l.parent)&&(l.kind===38||l.parent.body===l)?"quit":zHe(l));if(!r||!r.body||r.type)return{error:uo(_.Return_type_must_be_inferred_from_a_function)};let i=e.program.getTypeChecker(),o=JHe(i,r);if(!o)return{error:uo(_.Could_not_determine_function_return_type)};let s=i.typeToTypeNode(o,r,1);if(s)return{declaration:r,returnTypeNode:s}}function zHe(e){switch(e.kind){case 259:case 215:case 216:case 171:return!0;default:return!1}}function JHe(e,t){if(e.isImplementationOfOverload(t)){let i=e.getTypeAtLocation(t).getCallSignatures();if(i.length>1)return e.getUnionType(Zi(i,o=>o.getReturnType()))}let r=e.getSignatureFromDeclaration(t);if(r)return e.getReturnTypeOfSignature(r)}var FP,DG,GP,KHe=gt({"src/services/refactors/inferFunctionReturnType.ts"(){"use strict";Fr(),Qm(),FP="Infer function return type",DG=_.Infer_function_return_type.message,GP={name:FP,description:DG,kind:"refactor.rewrite.function.returnType"},Vh(FP,{kinds:[GP.kind],getEditsForAction:jHe,getAvailableActions:HHe})}}),qHe={},XHe=gt({"src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts"(){"use strict";KHe()}}),Ok={};Mo(Ok,{addOrRemoveBracesToArrowFunction:()=>lje,convertArrowFunctionOrFunctionExpression:()=>Eje,convertParamsToDestructuredObject:()=>Uje,convertStringOrTemplateLiteral:()=>Yje,convertToOptionalChainExpression:()=>lHe,doChangeNamedToNamespaceOrDefault:()=>m1e,extractSymbol:()=>lSe,generateGetAccessorAndSetAccessor:()=>UHe,getApplicableRefactors:()=>oVe,getEditsForRefactor:()=>sVe,inferFunctionReturnType:()=>qHe,isRefactorErrorInfo:()=>$m,refactorKindBeginsWith:()=>pv,registerRefactor:()=>Vh});var Qm=gt({"src/services/_namespaces/ts.refactor.ts"(){"use strict";cVe(),mVe(),bVe(),CVe(),IVe(),nje(),uje(),Tje(),Vje(),$je(),uHe(),GHe(),VHe(),XHe()}});function YHe(e,t,r,i){let o=_7(ef(t,r));if(fSe(o)){let s=$He(o,e.getTypeChecker(),t,e,i);if(s)return s}return wG(_.You_cannot_rename_this_element)}function $He(e,t,r,i,o){let s=t.getSymbolAtLocation(e);if(!s){if(es(e)){let S=f7(e,t);if(S&&(S.flags&128||S.flags&1048576&&Ji(S.types,x=>!!(x.flags&128))))return Yee(e.text,e.text,"string","",e,r)}else if(FX(e)){let S=Qc(e);return Yee(S,S,"label","",e,r)}return}let{declarations:l}=s;if(!l||l.length===0)return;if(l.some(S=>QHe(i,S)))return wG(_.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(Re(e)&&e.escapedText==="default"&&s.parent&&s.parent.flags&1536)return;if(es(e)&&oR(e))return o.allowRenameOfImportPath?eWe(e,r,s):void 0;let f=ZHe(r,s,t,o);if(f)return wG(f);let d=$g.getSymbolKind(t,s,e),g=Zhe(e)||yf(e)&&e.parent.kind===164?u_(l_(e)):void 0,m=g||t.symbolToString(s),v=g||t.getFullyQualifiedName(s);return Yee(m,v,d,$g.getSymbolModifiers(t,s),e,r)}function QHe(e,t){let r=t.getSourceFile();return e.isSourceFileDefaultLibrary(r)&&Gc(r.fileName,".d.ts")}function ZHe(e,t,r,i){if(!i.providePrefixAndSuffixTextForRename&&t.flags&2097152){let l=t.declarations&&wr(t.declarations,f=>$u(f));l&&!l.propertyName&&(t=r.getAliasedSymbol(t))}let{declarations:o}=t;if(!o)return;let s=dSe(e.path);if(s===void 0)return vt(o,l=>dge(l.getSourceFile().path))?_.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:void 0;for(let l of o){let f=dSe(l.getSourceFile().path);if(f){let d=Math.min(s.length,f.length);for(let g=0;g<=d;g++)if(su(s[g],f[g])!==0)return _.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder}}}function dSe(e){let t=Ou(e),r=t.lastIndexOf("node_modules");if(r!==-1)return t.slice(0,r+2)}function eWe(e,t,r){if(!fl(e.text))return wG(_.You_cannot_rename_a_module_via_a_global_import);let i=r.declarations&&wr(r.declarations,Li);if(!i)return;let o=Oc(e.text,"/index")||Oc(e.text,"/index.js")?void 0:Iae(ld(i.fileName),"/index"),s=o===void 0?i.fileName:o,l=o===void 0?"module":"directory",f=e.text.lastIndexOf("/")+1,d=il(e.getStart(t)+1+f,e.text.length-f);return{canRename:!0,fileToRename:s,kind:l,displayName:s,fullDisplayName:s,kindModifiers:"",triggerSpan:d}}function Yee(e,t,r,i,o,s){return{canRename:!0,fileToRename:void 0,kind:r,displayName:e,fullDisplayName:t,kindModifiers:i,triggerSpan:tWe(o,s)}}function wG(e){return{canRename:!1,localizedErrorMessage:uo(e)}}function tWe(e,t){let r=e.getStart(t),i=e.getWidth(t);return es(e)&&(r+=1,i-=2),il(r,i)}function fSe(e){switch(e.kind){case 79:case 80:case 10:case 14:case 108:return!0;case 8:return c7(e);default:return!1}}var nWe=gt({"src/services/rename.ts"(){"use strict";Fr()}}),RG={};Mo(RG,{getRenameInfo:()=>YHe,nodeIsEligibleForRename:()=>fSe});var rWe=gt({"src/services/_namespaces/ts.Rename.ts"(){"use strict";nWe()}});function iWe(e,t,r,i,o){let s=e.getTypeChecker(),l=p7(t,r);if(!l)return;let f=!!i&&i.kind==="characterTyped";if(f&&(n1(t,r,l)||Kg(t,r)))return;let d=!!i&&i.kind==="invoked",g=vWe(l,r,t,s,d);if(!g)return;o.throwIfCancellationRequested();let m=aWe(g,s,t,l,f);return o.throwIfCancellationRequested(),m?s.runWithCancellationToken(o,v=>m.kind===0?vSe(m.candidates,m.resolvedSignature,g,t,v):EWe(m.symbol,g,t,v)):Cu(t)?sWe(g,e,o):void 0}function aWe({invocation:e,argumentCount:t},r,i,o,s){switch(e.kind){case 0:{if(s&&!oWe(o,e.node,i))return;let l=[],f=r.getResolvedSignatureForSignatureHelp(e.node,l,t);return l.length===0?void 0:{kind:0,candidates:l,resolvedSignature:f}}case 1:{let{called:l}=e;if(s&&!_Se(o,i,Re(l)?l.parent:l))return;let f=XX(l,t,r);if(f.length!==0)return{kind:0,candidates:f,resolvedSignature:Vo(f)};let d=r.getSymbolAtLocation(l);return d&&{kind:1,symbol:d}}case 2:return{kind:0,candidates:[e.signature],resolvedSignature:e.signature};default:return L.assertNever(e)}}function oWe(e,t,r){if(!Ih(t))return!1;let i=t.getChildren(r);switch(e.kind){case 20:return ya(i,e);case 27:{let o=d7(e);return!!o&&ya(i,o)}case 29:return _Se(e,r,t.expression);default:return!1}}function sWe(e,t,r){if(e.invocation.kind===2)return;let i=gSe(e.invocation),o=br(i)?i.name.text:void 0,s=t.getTypeChecker();return o===void 0?void 0:ks(t.getSourceFiles(),l=>ks(l.getNamedDeclarations().get(o),f=>{let d=f.symbol&&s.getTypeOfSymbolAtLocation(f.symbol,f),g=d&&d.getCallSignatures();if(g&&g.length)return s.runWithCancellationToken(r,m=>vSe(g,g[0],e,l,m,!0))}))}function _Se(e,t,r){let i=e.getFullStart(),o=e.parent;for(;o;){let s=el(i,t,o,!0);if(s)return Od(r,s);o=o.parent}return L.fail("Could not find preceding token")}function cWe(e,t,r){let i=mSe(e,t,r);return!i||i.isTypeParameterList||i.invocation.kind!==0?void 0:{invocation:i.invocation.node,argumentCount:i.argumentCount,argumentIndex:i.argumentIndex}}function pSe(e,t,r){let i=lWe(e,r);if(!i)return;let{list:o,argumentIndex:s}=i,l=mWe(o,n1(r,t,e));s!==0&&L.assertLessThan(s,l);let f=gWe(o,r);return{list:o,argumentIndex:s,argumentCount:l,argumentsSpan:f}}function lWe(e,t){if(e.kind===29||e.kind===20)return{list:bWe(e.parent,e,t),argumentIndex:0};{let r=d7(e);return r&&{list:r,argumentIndex:pWe(r,e)}}}function mSe(e,t,r){let{parent:i}=e;if(Ih(i)){let o=i,s=pSe(e,t,r);if(!s)return;let{list:l,argumentIndex:f,argumentCount:d,argumentsSpan:g}=s;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===l.pos,invocation:{kind:0,node:o},argumentsSpan:g,argumentIndex:f,argumentCount:d}}else{if(IS(e)&&PT(i))return FN(e,t,r)?Qee(i,0,r):void 0;if(f2(e)&&i.parent.kind===212){let o=i,s=o.parent;L.assert(o.kind===225);let l=FN(e,t,r)?0:1;return Qee(s,l,r)}else if(xL(i)&&PT(i.parent.parent)){let o=i,s=i.parent.parent;if(Iz(e)&&!FN(e,t,r))return;let l=o.parent.templateSpans.indexOf(o),f=hWe(l,e,t,r);return Qee(s,f,r)}else if(Au(i)){let o=i.attributes.pos,s=xo(r.text,i.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:il(o,s-o),argumentIndex:0,argumentCount:1}}else{let o=YX(e,r);if(o){let{called:s,nTypeArguments:l}=o,f={kind:1,called:s},d=Wc(s.getStart(r),e.end);return{isTypeParameterList:!0,invocation:f,argumentsSpan:d,argumentIndex:l,argumentCount:l+1}}return}}}function uWe(e,t,r,i){return dWe(e,t,r,i)||mSe(e,t,r)}function hSe(e){return ar(e.parent)?hSe(e.parent):e}function $ee(e){return ar(e.left)?$ee(e.left)+1:2}function dWe(e,t,r,i){let o=fWe(e,r,t,i);if(!o)return;let{contextualType:s,argumentIndex:l,argumentCount:f,argumentsSpan:d}=o,g=s.getNonNullableType(),m=g.symbol;if(m===void 0)return;let v=Os(g.getCallSignatures());return v===void 0?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:v,node:e,symbol:_We(m)},argumentsSpan:d,argumentIndex:l,argumentCount:f}}function fWe(e,t,r,i){if(e.kind!==20&&e.kind!==27)return;let{parent:o}=e;switch(o.kind){case 214:case 171:case 215:case 216:let s=pSe(e,r,t);if(!s)return;let{argumentIndex:l,argumentCount:f,argumentsSpan:d}=s,g=Nc(o)?i.getContextualTypeForObjectLiteralElement(o):i.getContextualType(o);return g&&{contextualType:g,argumentIndex:l,argumentCount:f,argumentsSpan:d};case 223:{let m=hSe(o),v=i.getContextualType(m),S=e.kind===20?0:$ee(o)-1,x=$ee(m);return v&&{contextualType:v,argumentIndex:S,argumentCount:x,argumentsSpan:Du(o)}}default:return}}function _We(e){return e.name==="__type"&&ks(e.declarations,t=>{var r;return Jm(t)?(r=zr(t.parent,$p))==null?void 0:r.symbol:void 0})||e}function pWe(e,t){let r=0;for(let i of e.getChildren()){if(i===t)break;i.kind!==27&&r++}return r}function mWe(e,t){let r=e.getChildren(),i=Oy(r,o=>o.kind!==27);return!t&&r.length>0&&To(r).kind===27&&i++,i}function hWe(e,t,r,i){return L.assert(r>=t.getStart(),"Assumed 'position' could not occur before node."),rse(t)?FN(t,r,i)?0:e+2:e+1}function Qee(e,t,r){let i=IS(e.template)?1:e.template.templateSpans.length+1;return t!==0&&L.assertLessThan(t,i),{isTypeParameterList:!1,invocation:{kind:0,node:e},argumentsSpan:yWe(e,r),argumentIndex:t,argumentCount:i}}function gWe(e,t){let r=e.getFullStart(),i=xo(t.text,e.getEnd(),!1);return il(r,i-r)}function yWe(e,t){let r=e.template,i=r.getStart(),o=r.getEnd();return r.kind===225&&To(r.templateSpans).literal.getFullWidth()===0&&(o=xo(t.text,o,!1)),il(i,o-i)}function vWe(e,t,r,i,o){for(let s=e;!Li(s)&&(o||!Va(s));s=s.parent){L.assert(Od(s.parent,s),"Not a subspan",()=>`Child: ${L.formatSyntaxKind(s.kind)}, parent: ${L.formatSyntaxKind(s.parent.kind)}`);let l=uWe(s,t,r,i);if(l)return l}}function bWe(e,t,r){let i=e.getChildren(r),o=i.indexOf(t);return L.assert(o>=0&&i.length>o+1),i[o+1]}function gSe(e){return e.kind===0?P6(e.node):e.called}function ySe(e){return e.kind===0?e.node:e.kind===1?e.called:e.node}function vSe(e,t,{isTypeParameterList:r,argumentCount:i,argumentsSpan:o,invocation:s,argumentIndex:l},f,d,g){var m;let v=ySe(s),S=s.kind===2?s.symbol:d.getSymbolAtLocation(gSe(s))||g&&((m=t.declaration)==null?void 0:m.symbol),x=S?ok(d,S,g?f:void 0,void 0):Je,A=on(e,B=>SWe(B,x,r,d,v,f));l!==0&&L.assertLessThan(l,i);let w=0,C=0;for(let B=0;B<A.length;B++){let q=A[B];if(e[B]===t&&(w=C,q.length>1)){let W=0;for(let Y of q){if(Y.isVariadic||Y.parameters.length>=i){w=C+W;break}W++}}C+=q.length}L.assert(w!==-1);let P={items:BD(A,Ks),applicableSpan:o,selectedItemIndex:w,argumentIndex:l,argumentCount:i},F=P.items[w];if(F.isVariadic){let B=Yc(F.parameters,q=>!!q.isRest);-1<B&&B<F.parameters.length-1?P.argumentIndex=F.parameters.length:P.argumentIndex=Math.min(P.argumentIndex,F.parameters.length-1)}return P}function EWe(e,{argumentCount:t,argumentsSpan:r,invocation:i,argumentIndex:o},s,l){let f=l.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return f?{items:[TWe(e,f,l,ySe(i),s)],applicableSpan:r,selectedItemIndex:0,argumentIndex:o,argumentCount:t}:void 0}function TWe(e,t,r,i,o){let s=ok(r,e),l=rE(),f=t.map(v=>bSe(v,r,i,o,l)),d=e.getDocumentationComment(r),g=e.getJsDocTags(r);return{isVariadic:!1,prefixDisplayParts:[...s,Yl(29)],suffixDisplayParts:[Yl(31)],separatorDisplayParts:Zee,parameters:f,documentation:d,tags:g}}function SWe(e,t,r,i,o,s){let l=(r?AWe:CWe)(e,i,o,s);return on(l,({isVariadic:f,parameters:d,prefix:g,suffix:m})=>{let v=[...t,...g],S=[...m,...xWe(e,o,i)],x=e.getDocumentationComment(i),A=e.getJsDocTags();return{isVariadic:f,prefixDisplayParts:v,suffixDisplayParts:S,separatorDisplayParts:Zee,parameters:d,documentation:x,tags:A}})}function xWe(e,t,r){return uv(i=>{i.writePunctuation(":"),i.writeSpace(" ");let o=r.getTypePredicateOfSignature(e);o?r.writeTypePredicate(o,t,void 0,i):r.writeType(r.getReturnTypeOfSignature(e),t,void 0,i)})}function AWe(e,t,r,i){let o=(e.target||e).typeParameters,s=rE(),l=(o||Je).map(d=>bSe(d,t,r,i,s)),f=e.thisParameter?[t.symbolToParameterDeclaration(e.thisParameter,r,Nk)]:[];return t.getExpandedParameters(e).map(d=>{let g=D.createNodeArray([...f,...on(d,v=>t.symbolToParameterDeclaration(v,r,Nk))]),m=uv(v=>{s.writeList(2576,g,i,v)});return{isVariadic:!1,parameters:l,prefix:[Yl(29)],suffix:[Yl(31),...m]}})}function CWe(e,t,r,i){let o=rE(),s=uv(d=>{if(e.typeParameters&&e.typeParameters.length){let g=D.createNodeArray(e.typeParameters.map(m=>t.typeParameterToDeclaration(m,r,Nk)));o.writeList(53776,g,i,d)}}),l=t.getExpandedParameters(e),f=t.hasEffectiveRestParameter(e)?l.length===1?d=>!0:d=>{var g;return!!(d.length&&((g=zr(d[d.length-1],Zp))==null?void 0:g.links.checkFlags)&32768)}:d=>!1;return l.map(d=>({isVariadic:f(d),parameters:d.map(g=>IWe(g,t,r,i,o)),prefix:[...s,Yl(20)],suffix:[Yl(21)]}))}function IWe(e,t,r,i,o){let s=uv(d=>{let g=t.symbolToParameterDeclaration(e,r,Nk);o.writeNode(4,g,i,d)}),l=t.isOptionalParameter(e.valueDeclaration),f=Zp(e)&&!!(e.links.checkFlags&32768);return{name:e.name,documentation:e.getDocumentationComment(t),displayParts:s,isOptional:l,isRest:f}}function bSe(e,t,r,i,o){let s=uv(l=>{let f=t.typeParameterToDeclaration(e,r,Nk);o.writeNode(4,f,i,l)});return{name:e.symbol.name,documentation:e.symbol.getDocumentationComment(t),displayParts:s,isOptional:!1,isRest:!1}}var Nk,Zee,LWe=gt({"src/services/signatureHelp.ts"(){"use strict";Fr(),Nk=70246400,Zee=[Yl(27),Qs()]}}),BP={};Mo(BP,{getArgumentInfoForCompletions:()=>cWe,getSignatureHelpItems:()=>iWe});var kWe=gt({"src/services/_namespaces/ts.SignatureHelp.ts"(){"use strict";LWe()}});function DWe(e,t){var r,i;let o={textSpan:Wc(t.getFullStart(),t.getEnd())},s=t;e:for(;;){let d=RWe(s);if(!d.length)break;for(let g=0;g<d.length;g++){let m=d[g-1],v=d[g],S=d[g+1];if(gT(v,t,!0)>e)break e;let x=Wp(eb(t.text,v.end));if(x&&x.kind===2&&f(x.pos,x.end),wWe(t,e,v)){if(Hj(v)&&Ds(s)&&!Bf(v.getStart(t),v.getEnd(),t)&&l(v.getStart(t),v.getEnd()),Va(v)||xL(v)||f2(v)||Iz(v)||m&&f2(m)||pu(v)&&Bc(s)||A2(v)&&pu(s)||wi(v)&&A2(s)&&d.length===1||UT(v)||X0(v)||LL(v)){s=v;break}if(xL(s)&&S&&o6(S)){let P=v.getFullStart()-2,F=S.getStart()+1;l(P,F)}let A=A2(v)&&OWe(m)&&NWe(S)&&!Bf(m.getStart(),S.getStart(),t),w=A?m.getEnd():v.getStart(),C=A?S.getStart():PWe(t,v);if(Kd(v)&&((r=v.jsDoc)!=null&&r.length)&&l(Vo(v.jsDoc).getStart(),C),A2(v)){let P=v.getChildren()[0];P&&Kd(P)&&((i=P.jsDoc)!=null&&i.length)&&P.getStart()!==v.pos&&(w=Math.min(w,Vo(P.jsDoc).getStart()))}l(w,C),(yo(v)||AA(v))&&l(w+1,C-1),s=v;break}if(g===d.length-1)break e}}return o;function l(d,g){if(d!==g){let m=Wc(d,g);(!o||!J2(m,o.textSpan)&&Noe(m,e))&&(o={textSpan:m,...o&&{parent:o}})}}function f(d,g){l(d,g);let m=d;for(;t.text.charCodeAt(m)===47;)m++;l(m,g)}}function wWe(e,t,r){return L.assert(r.pos<=t),t<r.end?!0:r.getEnd()===t?ef(e,t).pos<r.end:!1}function RWe(e){var t;if(Li(e))return Pk(e.getChildAt(0).getChildren(),ESe);if(EL(e)){let[r,...i]=e.getChildren(),o=L.checkDefined(i.pop());L.assertEqual(r.kind,18),L.assertEqual(o.kind,19);let s=Pk(i,f=>f===e.readonlyToken||f.kind===146||f===e.questionToken||f.kind===57),l=Pk(s,({kind:f})=>f===22||f===165||f===23);return[r,Mk(OG(l,({kind:f})=>f===58)),o]}if($d(e)){let r=Pk(e.getChildren(),l=>l===e.name||ya(e.modifiers,l)),i=((t=r[0])==null?void 0:t.kind)===323?r[0]:void 0,o=i?r.slice(1):r,s=OG(o,({kind:l})=>l===58);return i?[i,Mk(s)]:s}if(ha(e)){let r=Pk(e.getChildren(),o=>o===e.dotDotDotToken||o===e.name),i=Pk(r,o=>o===r[0]||o===e.questionToken);return OG(i,({kind:o})=>o===63)}return Wo(e)?OG(e.getChildren(),({kind:r})=>r===63):e.getChildren()}function Pk(e,t){let r=[],i;for(let o of e)t(o)?(i=i||[],i.push(o)):(i&&(r.push(Mk(i)),i=void 0),r.push(o));return i&&r.push(Mk(i)),r}function OG(e,t,r=!0){if(e.length<2)return e;let i=Yc(e,t);if(i===-1)return e;let o=e.slice(0,i),s=e[i],l=To(e),f=r&&l.kind===26,d=e.slice(i+1,f?e.length-1:void 0),g=WD([o.length?Mk(o):void 0,s,d.length?Mk(d):void 0]);return f?g.concat(l):g}function Mk(e){return L.assertGreaterThanOrEqual(e.length,1),om(fm.createSyntaxList(e),e[0].pos,To(e).end)}function OWe(e){let t=e&&e.kind;return t===18||t===22||t===20||t===283}function NWe(e){let t=e&&e.kind;return t===19||t===23||t===21||t===284}function PWe(e,t){switch(t.kind){case 344:case 341:case 351:case 349:case 346:return e.getLineEndOfPosition(t.getStart());default:return t.getEnd()}}var ESe,MWe=gt({"src/services/smartSelection.ts"(){"use strict";Fr(),ESe=Kp(gl,Nl)}}),ete={};Mo(ete,{getSmartSelectionRange:()=>DWe});var FWe=gt({"src/services/_namespaces/ts.SmartSelectionRange.ts"(){"use strict";MWe()}});function TSe(e,t,r){let i=SSe(e,t,r);if(i!=="")return i;let o=XI(t);return o&32?nc(t,228)?"local class":"class":o&384?"enum":o&524288?"type":o&64?"interface":o&262144?"type parameter":o&8?"enum member":o&2097152?"alias":o&1536?"module":i}function SSe(e,t,r){let i=e.getRootSymbols(t);if(i.length===1&&Vo(i).flags&8192&&e.getTypeOfSymbolAtLocation(t,r).getNonNullableType().getCallSignatures().length!==0)return"method";if(e.isUndefinedSymbol(t))return"var";if(e.isArgumentsSymbol(t))return"local var";if(r.kind===108&&ot(r)||mS(r))return"parameter";let o=XI(t);if(o&3)return dY(t)?"parameter":t.valueDeclaration&&kh(t.valueDeclaration)?"const":mn(t.declarations,II)?"let":CSe(t)?"local var":"var";if(o&16)return CSe(t)?"local function":"function";if(o&32768)return"getter";if(o&65536)return"setter";if(o&8192)return"method";if(o&16384)return"constructor";if(o&131072)return"index";if(o&4){if(o&33554432&&t.links.checkFlags&6){let s=mn(e.getRootSymbols(t),l=>{if(l.getFlags()&98311)return"property"});return s||(e.getTypeOfSymbolAtLocation(t,r).getCallSignatures().length?"method":"property")}return"property"}return""}function xSe(e){if(e.declarations&&e.declarations.length){let[t,...r]=e.declarations,i=Fn(r)&&H7(t)&&vt(r,s=>!H7(s))?8192:0,o=rk(t,i);if(o)return o.split(",")}return[]}function GWe(e,t){if(!t)return"";let r=new Set(xSe(t));if(t.flags&2097152){let i=e.getAliasedSymbol(t);i!==t&&mn(xSe(i),o=>{r.add(o)})}return t.flags&16777216&&r.add("optional"),r.size>0?lo(r.values()).join(","):""}function ASe(e,t,r,i,o,s=ZT(o),l){var f;let d=[],g=[],m=[],v=XI(t),S=s&1?SSe(e,t,o):"",x=!1,A=o.kind===108&&F6(o)||mS(o),w,C,P,F=!1;if(o.kind===108&&!A)return{displayParts:[_d(108)],documentation:[],symbolKind:"primitive type",tags:void 0};if(S!==""||v&32||v&2097152){if(S==="getter"||S==="setter"){let le=wr(t.declarations,_e=>_e.name===o);if(le)switch(le.kind){case 174:S="getter";break;case 175:S="setter";break;case 169:S="accessor";break;default:L.assertNever(le)}else S="property"}let U;if(w=A?e.getTypeAtLocation(o):e.getTypeOfSymbolAtLocation(t,o),o.parent&&o.parent.kind===208){let le=o.parent.name;(le===o||le&&le.getFullWidth()===0)&&(o=o.parent)}let re;if(Ih(o)?re=o:(NX(o)||ZL(o)||o.parent&&(Au(o.parent)||PT(o.parent))&&Ia(t.valueDeclaration))&&(re=o.parent),re){U=e.getResolvedSignature(re);let le=re.kind===211||Pa(re)&&re.expression.kind===106,_e=le?w.getConstructSignatures():w.getCallSignatures();if(U&&!ya(_e,U.target)&&!ya(_e,U)&&(U=_e.length?_e[0]:void 0),U){switch(le&&v&32?(S="constructor",ie(w.symbol,S)):v&2097152?(S="alias",$(S),d.push(Qs()),le&&(U.flags&4&&(d.push(_d(126)),d.push(Qs())),d.push(_d(103)),d.push(Qs())),R(t)):ie(t,S),S){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":d.push(Yl(58)),d.push(Qs()),!(Ur(w)&16)&&w.symbol&&(si(d,ok(e,w.symbol,i,void 0,5)),d.push(K2())),le&&(U.flags&4&&(d.push(_d(126)),d.push(Qs())),d.push(_d(103)),d.push(Qs())),fe(U,_e,262144);break;default:fe(U,_e)}x=!0,F=_e.length>1}}else if(VX(o)&&!(v&98304)||o.kind===135&&o.parent.kind===173){let le=o.parent;if(t.declarations&&wr(t.declarations,ge=>ge===(o.kind===135?le.parent:le))){let ge=le.kind===173?w.getNonNullableType().getConstructSignatures():w.getNonNullableType().getCallSignatures();e.isImplementationOfOverload(le)?U=ge[0]:U=e.getSignatureFromDeclaration(le),le.kind===173?(S="constructor",ie(w.symbol,S)):ie(le.kind===176&&!(w.symbol.flags&2048||w.symbol.flags&4096)?w.symbol:t,S),U&&fe(U,ge),x=!0,F=ge.length>1}}}if(v&32&&!x&&!A&&(W(),nc(t,228)?$("local class"):d.push(_d(84)),d.push(Qs()),R(t),Z(t,r)),v&64&&s&2&&(q(),d.push(_d(118)),d.push(Qs()),R(t),Z(t,r)),v&524288&&s&2&&(q(),d.push(_d(154)),d.push(Qs()),R(t),Z(t,r),d.push(Qs()),d.push(ak(63)),d.push(Qs()),si(d,zN(e,Ch(o.parent)?e.getTypeAtLocation(o.parent):e.getDeclaredTypeOfSymbol(t),i,8388608))),v&384&&(q(),vt(t.declarations,U=>hb(U)&&R0(U))&&(d.push(_d(85)),d.push(Qs())),d.push(_d(92)),d.push(Qs()),R(t)),v&1536&&!A){q();let U=nc(t,264),re=U&&U.name&&U.name.kind===79;d.push(_d(re?143:142)),d.push(Qs()),R(t)}if(v&262144&&s&2)if(q(),d.push(Yl(20)),d.push(tf("type parameter")),d.push(Yl(21)),d.push(Qs()),R(t),t.parent)Y(),R(t.parent,i),Z(t.parent,i);else{let U=nc(t,165);if(U===void 0)return L.fail();let re=U.parent;if(re)if(Ia(re)){Y();let le=e.getSignatureFromDeclaration(re);re.kind===177?(d.push(_d(103)),d.push(Qs())):re.kind!==176&&re.name&&R(re.symbol),si(d,pY(e,le,r,32))}else Ep(re)&&(Y(),d.push(_d(154)),d.push(Qs()),R(re.symbol),Z(re.symbol,r))}if(v&8){S="enum member",ie(t,"enum member");let U=(f=t.declarations)==null?void 0:f[0];if(U?.kind===302){let re=e.getConstantValue(U);re!==void 0&&(d.push(Qs()),d.push(ak(63)),d.push(Qs()),d.push(Qu(Use(re),typeof re=="number"?7:8)))}}if(t.flags&2097152){if(q(),!x){let U=e.getAliasedSymbol(t);if(U!==t&&U.declarations&&U.declarations.length>0){let re=U.declarations[0],le=sa(re);if(le){let _e=b6(re)&&Mr(re,2),ge=t.name!=="default"&&!_e,X=ASe(e,U,Gn(re),re,le,s,ge?t:U);d.push(...X.displayParts),d.push(K2()),C=X.documentation,P=X.tags}else C=U.getContextualDocumentationComment(re,e),P=U.getJsDocTags(e)}}if(t.declarations)switch(t.declarations[0].kind){case 267:d.push(_d(93)),d.push(Qs()),d.push(_d(143));break;case 274:d.push(_d(93)),d.push(Qs()),d.push(_d(t.declarations[0].isExportEquals?63:88));break;case 278:d.push(_d(93));break;default:d.push(_d(100))}d.push(Qs()),R(t),mn(t.declarations,U=>{if(U.kind===268){let re=U;if(ab(re))d.push(Qs()),d.push(ak(63)),d.push(Qs()),d.push(_d(147)),d.push(Yl(20)),d.push(Qu(Qc(wI(re)),8)),d.push(Yl(21));else{let le=e.getSymbolAtLocation(re.moduleReference);le&&(d.push(Qs()),d.push(ak(63)),d.push(Qs()),R(le,i))}return!0}})}if(!x)if(S!==""){if(w){if(A?(q(),d.push(_d(108))):ie(t,S),S==="property"||S==="accessor"||S==="getter"||S==="setter"||S==="JSX attribute"||v&3||S==="local var"||S==="index"||A){if(d.push(Yl(58)),d.push(Qs()),w.symbol&&w.symbol.flags&262144&&S!=="index"){let U=uv(re=>{let le=e.typeParameterToDeclaration(w,i,tte);B().writeNode(4,le,Gn(ea(i)),re)});si(d,U)}else si(d,zN(e,w,i));if(Zp(t)&&t.links.target&&Zp(t.links.target)&&t.links.target.links.tupleLabelDeclaration){let U=t.links.target.links.tupleLabelDeclaration;L.assertNode(U.name,Re),d.push(Qs()),d.push(Yl(20)),d.push(tf(vr(U.name))),d.push(Yl(21))}}else if(v&16||v&8192||v&16384||v&131072||v&98304||S==="method"){let U=w.getNonNullableType().getCallSignatures();U.length&&(fe(U[0],U),F=U.length>1)}}}else S=TSe(e,t,o);if(g.length===0&&!F&&(g=t.getContextualDocumentationComment(i,e)),g.length===0&&v&4&&t.parent&&t.declarations&&mn(t.parent.declarations,U=>U.kind===308))for(let U of t.declarations){if(!U.parent||U.parent.kind!==223)continue;let re=e.getSymbolAtLocation(U.parent.right);if(re&&(g=re.getDocumentationComment(e),m=re.getJsDocTags(e),g.length>0))break}if(g.length===0&&Re(o)&&t.valueDeclaration&&Wo(t.valueDeclaration)){let U=t.valueDeclaration,re=U.parent;if(Re(U.name)&&cm(re)){let le=l_(U.name),_e=e.getTypeAtLocation(re);g=ks(_e.isUnion()?_e.types:[_e],ge=>{let X=ge.getProperty(le);return X?X.getDocumentationComment(e):void 0})||Je}}return m.length===0&&!F&&(m=t.getContextualJsDocTags(i,e)),g.length===0&&C&&(g=C),m.length===0&&P&&(m=P),{displayParts:d,documentation:g,symbolKind:S,tags:m.length===0?void 0:m};function B(){return rE()}function q(){d.length&&d.push(K2()),W()}function W(){l&&($("alias"),d.push(Qs()))}function Y(){d.push(Qs()),d.push(_d(101)),d.push(Qs())}function R(U,re){let le;l&&U===t&&(U=l),S==="index"&&(le=e.getIndexInfosOfIndexSymbol(U));let _e=[];U.flags&131072&&le?(U.parent&&(_e=ok(e,U.parent)),_e.push(Yl(22)),le.forEach((ge,X)=>{_e.push(...zN(e,ge.keyType)),X!==le.length-1&&(_e.push(Qs()),_e.push(Yl(51)),_e.push(Qs()))}),_e.push(Yl(23))):_e=ok(e,U,re||r,void 0,7),si(d,_e),t.flags&16777216&&d.push(Yl(57))}function ie(U,re){q(),re&&($(re),U&&!vt(U.declarations,le=>xs(le)||(ms(le)||_u(le))&&!le.name)&&(d.push(Qs()),R(U)))}function $(U){switch(U){case"var":case"function":case"let":case"const":case"constructor":d.push(fY(U));return;default:d.push(Yl(20)),d.push(fY(U)),d.push(Yl(21));return}}function fe(U,re,le=0){si(d,pY(e,U,i,le|32)),re.length>1&&(d.push(Qs()),d.push(Yl(20)),d.push(ak(39)),d.push(Qu((re.length-1).toString(),7)),d.push(Qs()),d.push(tf(re.length===2?"overload":"overloads")),d.push(Yl(21))),g=U.getDocumentationComment(e),m=U.getJsDocTags(),re.length>1&&g.length===0&&m.length===0&&(g=re[0].getDocumentationComment(e),m=re[0].getJsDocTags().filter(_e=>_e.name!=="deprecated"))}function Z(U,re){let le=uv(_e=>{let ge=e.symbolToTypeParameterDeclarations(U,re,tte);B().writeList(53776,ge,Gn(ea(re)),_e)});si(d,le)}}function CSe(e){return e.parent?!1:mn(e.declarations,t=>{if(t.kind===215)return!0;if(t.kind!==257&&t.kind!==259)return!1;for(let r=t.parent;!bT(r);r=r.parent)if(r.kind===308||r.kind===265)return!1;return!0})}var tte,BWe=gt({"src/services/symbolDisplay.ts"(){"use strict";Fr(),tte=70246400}}),$g={};Mo($g,{getSymbolDisplayPartsDocumentationAndSymbolKind:()=>ASe,getSymbolKind:()=>TSe,getSymbolModifiers:()=>GWe});var UWe=gt({"src/services/_namespaces/ts.SymbolDisplay.ts"(){"use strict";BWe()}});function ISe(e){let t=e.__pos;return L.assert(typeof t=="number"),t}function nte(e,t){L.assert(typeof t=="number"),e.__pos=t}function LSe(e){let t=e.__end;return L.assert(typeof t=="number"),t}function rte(e,t){L.assert(typeof t=="number"),e.__end=t}function kSe(e,t){return xo(e,t,!1,!0)}function VWe(e,t){let r=t;for(;r<e.length;){let i=e.charCodeAt(r);if(Yp(i)){r++;continue}return i===47}return!1}function Fk(e,t,r,i){return{pos:f1(e,t,i),end:mx(e,r,i)}}function f1(e,t,r,i=!1){var o,s;let{leadingTriviaOption:l}=r;if(l===0)return t.getStart(e);if(l===3){let x=t.getStart(e),A=Wf(x,e);return wN(t,A)?A:x}if(l===2){let x=EH(t,e.text);if(x?.length)return Wf(x[0].pos,e)}let f=t.getFullStart(),d=t.getStart(e);if(f===d)return d;let g=Wf(f,e);if(Wf(d,e)===g)return l===1?f:d;if(i){let x=((o=Nm(e.text,f))==null?void 0:o[0])||((s=eb(e.text,f))==null?void 0:s[0]);if(x)return xo(e.text,x.end,!0,!0)}let v=f>0?1:0,S=Ky(UI(e,g)+v,e);return S=kSe(e.text,S),Ky(UI(e,S),e)}function ite(e,t,r){let{end:i}=t,{trailingTriviaOption:o}=r;if(o===2){let s=eb(e.text,i);if(s){let l=UI(e,t.end);for(let f of s){if(f.kind===2||UI(e,f.pos)>l)break;if(UI(e,f.end)>l)return xo(e.text,f.end,!0,!0)}}}}function mx(e,t,r){var i;let{end:o}=t,{trailingTriviaOption:s}=r;if(s===0)return o;if(s===1){let d=Qi(eb(e.text,o),Nm(e.text,o)),g=(i=d?.[d.length-1])==null?void 0:i.end;return g||o}let l=ite(e,t,r);if(l)return l;let f=xo(e.text,o,!0);return f!==o&&(s===2||Wl(e.text.charCodeAt(f-1)))?f:o}function NG(e,t){return!!t&&!!e.parent&&(t.kind===27||t.kind===26&&e.parent.kind===207)}function jWe(e){return ms(e)||Jc(e)}function HWe(e){if(e.kind!==216)return e;let t=e.parent.kind===169?e.parent:e.parent.parent;return t.jsDoc=e.jsDoc,t}function WWe(e,t){if(e.kind===t.kind)switch(e.kind){case 344:{let r=e,i=t;return Re(r.name)&&Re(i.name)&&r.name.escapedText===i.name.escapedText?D.createJSDocParameterTag(void 0,i.name,!1,i.typeExpression,i.isNameFirst,r.comment):void 0}case 345:return D.createJSDocReturnTag(void 0,t.typeExpression,e.comment);case 347:return D.createJSDocTypeTag(void 0,t.typeExpression,e.comment)}}function ate(e,t){return xo(e.text,f1(e,t,{leadingTriviaOption:1}),!1,!0)}function zWe(e,t,r,i){let o=ate(e,i);if(r===void 0||Bf(mx(e,t,{}),o,e))return o;let s=el(i.getStart(e),e);if(NG(t,s)){let l=el(t.getStart(e),e);if(NG(r,l)){let f=xo(e.text,s.getEnd(),!0,!0);if(Bf(l.getStart(e),s.getStart(e),e))return Wl(e.text.charCodeAt(f-1))?f-1:f;if(Wl(e.text.charCodeAt(f)))return f}}return o}function JWe(e,t){let r=Yo(e,18,t),i=Yo(e,19,t);return[r?.end,i?.end]}function PG(e){return rs(e)?e.properties:e.members}function KWe(e,t,r,i){return UP.newFileChangesWorker(void 0,t,e,r,i)}function ote(e,t){for(let r=t.length-1;r>=0;r--){let{span:i,newText:o}=t[r];e=`${e.substring(0,i.start)}${o}${e.substring(wl(i))}`}return e}function qWe(e){return xo(e,0)===e.length}function MG(e){let t=xn(e,MG,RSe,XWe,MG),r=ws(t)?t:Object.create(t);return om(r,ISe(e),LSe(e)),r}function XWe(e,t,r,i,o){let s=On(e,t,r,i,o);if(!s)return s;L.assert(e);let l=s===e?D.createNodeArray(s.slice(0)):s;return om(l,ISe(e),LSe(e)),l}function DSe(e){let t=0,r=SR(e),i=X=>{X&&nte(X,t)},o=X=>{X&&rte(X,t)},s=X=>{X&&nte(X,t)},l=X=>{X&&rte(X,t)},f=X=>{X&&nte(X,t)},d=X=>{X&&rte(X,t)};function g(X,Ve){if(Ve||!qWe(X)){t=r.getTextPos();let we=0;for(;xh(X.charCodeAt(X.length-we-1));)we++;t-=we}}function m(X){r.write(X),g(X,!1)}function v(X){r.writeComment(X)}function S(X){r.writeKeyword(X),g(X,!1)}function x(X){r.writeOperator(X),g(X,!1)}function A(X){r.writePunctuation(X),g(X,!1)}function w(X){r.writeTrailingSemicolon(X),g(X,!1)}function C(X){r.writeParameter(X),g(X,!1)}function P(X){r.writeProperty(X),g(X,!1)}function F(X){r.writeSpace(X),g(X,!1)}function B(X){r.writeStringLiteral(X),g(X,!1)}function q(X,Ve){r.writeSymbol(X,Ve),g(X,!1)}function W(X){r.writeLine(X)}function Y(){r.increaseIndent()}function R(){r.decreaseIndent()}function ie(){return r.getText()}function $(X){r.rawWrite(X),g(X,!1)}function fe(X){r.writeLiteral(X),g(X,!0)}function Z(){return r.getTextPos()}function U(){return r.getLine()}function re(){return r.getColumn()}function le(){return r.getIndent()}function _e(){return r.isAtStartOfLine()}function ge(){r.clear(),t=0}return{onBeforeEmitNode:i,onAfterEmitNode:o,onBeforeEmitNodeArray:s,onAfterEmitNodeArray:l,onBeforeEmitToken:f,onAfterEmitToken:d,write:m,writeComment:v,writeKeyword:S,writeOperator:x,writePunctuation:A,writeTrailingSemicolon:w,writeParameter:C,writeProperty:P,writeSpace:F,writeStringLiteral:B,writeSymbol:q,writeLine:W,increaseIndent:Y,decreaseIndent:R,getText:ie,rawWrite:$,writeLiteral:fe,getTextPos:Z,getLine:U,getColumn:re,getIndent:le,isAtStartOfLine:_e,hasTrailingComment:()=>r.hasTrailingComment(),hasTrailingWhitespace:()=>r.hasTrailingWhitespace(),clear:ge}}function YWe(e){let t;for(let g of e.statements)if(B_(g))t=g;else break;let r=0,i=e.text;if(t)return r=t.end,d(),r;let o=K8(i);o!==void 0&&(r=o.length,d());let s=Nm(i,r);if(!s)return r;let l,f;for(let g of s){if(g.kind===3){if(y6(i,g.pos)){l={range:g,pinnedOrTripleSlash:!0};continue}}else if(iH(i,g.pos,g.end)){l={range:g,pinnedOrTripleSlash:!0};continue}if(l){if(l.pinnedOrTripleSlash)break;let m=e.getLineAndCharacterOfPosition(g.pos).line,v=e.getLineAndCharacterOfPosition(l.range.end).line;if(m>=v+2)break}if(e.statements.length){f===void 0&&(f=e.getLineAndCharacterOfPosition(e.statements[0].getStart()).line);let m=e.getLineAndCharacterOfPosition(g.end).line;if(f<m+2)break}l={range:g,pinnedOrTripleSlash:!1}}return l&&(r=l.range.end,d()),r;function d(){if(r<i.length){let g=i.charCodeAt(r);Wl(g)&&(r++,r<i.length&&g===13&&i.charCodeAt(r)===10&&r++)}}}function wSe(e,t){return!Kg(e,t)&&!n1(e,t)&&!qX(e,t)&&!Dhe(e,t)}function $We(e,t){return($d(e)||Na(e))&&s6(t)&&t.name.kind===164||Nw(e)&&Nw(t)}function Zm(e,t,r,i={leadingTriviaOption:1}){let o=f1(t,r,i),s=mx(t,r,i);e.deleteRange(t,{pos:o,end:s})}function Gk(e,t,r,i){let o=L.checkDefined(tl.SmartIndenter.getContainingList(i,r)),s=DA(o,i);if(L.assert(s!==-1),o.length===1){Zm(e,r,i);return}L.assert(!t.has(i),"Deleting a node twice"),t.add(i),e.deleteRange(r,{pos:ate(r,i),end:s===o.length-1?mx(r,i,{}):zWe(r,i,o[s-1],o[s+1])})}var ste,cte,iC,FG,UP,RSe,lte,QWe=gt({"src/services/textChanges.ts"(){"use strict";Fr(),ste=(e=>(e[e.Exclude=0]="Exclude",e[e.IncludeAll=1]="IncludeAll",e[e.JSDoc=2]="JSDoc",e[e.StartLine=3]="StartLine",e))(ste||{}),cte=(e=>(e[e.Exclude=0]="Exclude",e[e.ExcludeWhitespace=1]="ExcludeWhitespace",e[e.Include=2]="Include",e))(cte||{}),iC={leadingTriviaOption:0,trailingTriviaOption:0},FG=class{constructor(e,t){this.newLineCharacter=e,this.formatContext=t,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new Map,this.deletedNodes=[]}static fromContext(e){return new FG(bb(e.host,e.formatContext.options),e.formatContext)}static with(e,t){let r=FG.fromContext(e);return t(r),r.getChanges()}pushRaw(e,t){L.assertEqual(e.fileName,t.fileName);for(let r of t.textChanges)this.changes.push({kind:3,sourceFile:e,text:r.newText,range:y7(r.span)})}deleteRange(e,t){this.changes.push({kind:0,sourceFile:e,range:t})}delete(e,t){this.deletedNodes.push({sourceFile:e,node:t})}deleteNode(e,t,r={leadingTriviaOption:1}){this.deleteRange(e,Fk(e,t,t,r))}deleteNodes(e,t,r={leadingTriviaOption:1},i){for(let o of t){let s=f1(e,o,r,i),l=mx(e,o,r);this.deleteRange(e,{pos:s,end:l}),i=!!ite(e,o,r)}}deleteModifier(e,t){this.deleteRange(e,{pos:t.getStart(e),end:xo(e.text,t.end,!0)})}deleteNodeRange(e,t,r,i={leadingTriviaOption:1}){let o=f1(e,t,i),s=mx(e,r,i);this.deleteRange(e,{pos:o,end:s})}deleteNodeRangeExcludingEnd(e,t,r,i={leadingTriviaOption:1}){let o=f1(e,t,i),s=r===void 0?e.text.length:f1(e,r,i);this.deleteRange(e,{pos:o,end:s})}replaceRange(e,t,r,i={}){this.changes.push({kind:1,sourceFile:e,range:t,options:i,node:r})}replaceNode(e,t,r,i=iC){this.replaceRange(e,Fk(e,t,t,i),r,i)}replaceNodeRange(e,t,r,i,o=iC){this.replaceRange(e,Fk(e,t,r,o),i,o)}replaceRangeWithNodes(e,t,r,i={}){this.changes.push({kind:2,sourceFile:e,range:t,options:i,nodes:r})}replaceNodeWithNodes(e,t,r,i=iC){this.replaceRangeWithNodes(e,Fk(e,t,t,i),r,i)}replaceNodeWithText(e,t,r){this.replaceRangeWithText(e,Fk(e,t,t,iC),r)}replaceNodeRangeWithNodes(e,t,r,i,o=iC){this.replaceRangeWithNodes(e,Fk(e,t,r,o),i,o)}nodeHasTrailingComment(e,t,r=iC){return!!ite(e,t,r)}nextCommaToken(e,t){let r=t1(t,t.parent,e);return r&&r.kind===27?r:void 0}replacePropertyAssignment(e,t,r){let i=this.nextCommaToken(e,t)?"":","+this.newLineCharacter;this.replaceNode(e,t,r,{suffix:i})}insertNodeAt(e,t,r,i={}){this.replaceRange(e,Gf(t),r,i)}insertNodesAt(e,t,r,i={}){this.replaceRangeWithNodes(e,Gf(t),r,i)}insertNodeAtTopOfFile(e,t,r){this.insertAtTopOfFile(e,t,r)}insertNodesAtTopOfFile(e,t,r){this.insertAtTopOfFile(e,t,r)}insertAtTopOfFile(e,t,r){let i=YWe(e),o={prefix:i===0?void 0:this.newLineCharacter,suffix:(Wl(e.text.charCodeAt(i))?"":this.newLineCharacter)+(r?this.newLineCharacter:"")};ba(t)?this.insertNodesAt(e,i,t,o):this.insertNodeAt(e,i,t,o)}insertFirstParameter(e,t,r){let i=Sl(t);i?this.insertNodeBefore(e,i,r):this.insertNodeAt(e,t.pos,r)}insertNodeBefore(e,t,r,i=!1,o={}){this.insertNodeAt(e,f1(e,t,o),r,this.getOptionsForInsertNodeBefore(t,r,i))}insertModifierAt(e,t,r,i={}){this.insertNodeAt(e,t,D.createToken(r),i)}insertModifierBefore(e,t,r){return this.insertModifierAt(e,r.getStart(e),t,{suffix:" "})}insertCommentBeforeLine(e,t,r,i){let o=Ky(t,e),s=nge(e.text,o),l=wSe(e,s),f=nk(e,l?s:r),d=e.text.slice(o,s),g=`${l?"":this.newLineCharacter}//${i}${this.newLineCharacter}${d}`;this.insertText(e,f.getStart(e),g)}insertJsdocCommentBefore(e,t,r){let i=t.getStart(e);if(t.jsDoc)for(let l of t.jsDoc)this.deleteRange(e,{pos:Wf(l.getStart(e),e),end:mx(e,l,{})});let o=hY(e.text,i-1),s=e.text.slice(o,i);this.insertNodeAt(e,i,r,{suffix:this.newLineCharacter+s})}createJSDocText(e,t){let r=Uo(t.jsDoc,o=>Ta(o.comment)?D.createJSDocText(o.comment):o.comment),i=Wp(t.jsDoc);return i&&Bf(i.pos,i.end,e)&&Fn(r)===0?void 0:D.createNodeArray(DU(r,D.createJSDocText(`
+`)))}replaceJSDocComment(e,t,r){this.insertJsdocCommentBefore(e,HWe(t),D.createJSDocComment(this.createJSDocText(e,t),D.createNodeArray(r)))}addJSDocTags(e,t,r){let i=BD(t.jsDoc,s=>s.tags),o=r.filter(s=>!i.some((l,f)=>{let d=WWe(l,s);return d&&(i[f]=d),!!d}));this.replaceJSDocComment(e,t,[...i,...o])}filterJSDocTags(e,t,r){this.replaceJSDocComment(e,t,Pr(BD(t.jsDoc,i=>i.tags),r))}replaceRangeWithText(e,t,r){this.changes.push({kind:3,sourceFile:e,range:t,text:r})}insertText(e,t,r){this.replaceRangeWithText(e,Gf(t),r)}tryInsertTypeAnnotation(e,t,r){var i;let o;if(Ia(t)){if(o=Yo(t,21,e),!o){if(!xs(t))return!1;o=Vo(t.parameters)}}else o=(i=t.kind===257?t.exclamationToken:t.questionToken)!=null?i:t.name;return this.insertNodeAt(e,o.end,r,{prefix:": "}),!0}tryInsertThisTypeAnnotation(e,t,r){let i=Yo(t,20,e).getStart(e)+1,o=t.parameters.length?", ":"";this.insertNodeAt(e,i,r,{prefix:"this: ",suffix:o})}insertTypeParameters(e,t,r){let i=(Yo(t,20,e)||Vo(t.parameters)).getStart(e);this.insertNodesAt(e,i,r,{prefix:"<",suffix:">",joiner:", "})}getOptionsForInsertNodeBefore(e,t,r){return ca(e)||_l(e)?{suffix:r?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:wi(e)?{suffix:", "}:ha(e)?ha(t)?{suffix:", "}:{}:yo(e)&&gl(e.parent)||jg(e)?{suffix:", "}:$u(e)?{suffix:","+(r?this.newLineCharacter:" ")}:L.failBadSyntaxKind(e)}insertNodeAtConstructorStart(e,t,r){let i=Sl(t.body.statements);!i||!t.body.multiLine?this.replaceConstructorBody(e,t,[r,...t.body.statements]):this.insertNodeBefore(e,i,r)}insertNodeAtConstructorStartAfterSuperCall(e,t,r){let i=wr(t.body.statements,o=>Ol(o)&&OA(o.expression));!i||!t.body.multiLine?this.replaceConstructorBody(e,t,[...t.body.statements,r]):this.insertNodeAfter(e,i,r)}insertNodeAtConstructorEnd(e,t,r){let i=Os(t.body.statements);!i||!t.body.multiLine?this.replaceConstructorBody(e,t,[...t.body.statements,r]):this.insertNodeAfter(e,i,r)}replaceConstructorBody(e,t,r){this.replaceNode(e,t.body,D.createBlock(r,!0))}insertNodeAtEndOfScope(e,t,r){let i=f1(e,t.getLastToken(),{});this.insertNodeAt(e,i,r,{prefix:Wl(e.text.charCodeAt(t.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})}insertMemberAtStart(e,t,r){this.insertNodeAtStartWorker(e,t,r)}insertNodeAtObjectStart(e,t,r){this.insertNodeAtStartWorker(e,t,r)}insertNodeAtStartWorker(e,t,r){var i;let o=(i=this.guessIndentationFromExistingMembers(e,t))!=null?i:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,PG(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,o))}guessIndentationFromExistingMembers(e,t){let r,i=t;for(let o of PG(t)){if(a4(i,o,e))return;let s=o.getStart(e),l=tl.SmartIndenter.findFirstNonWhitespaceColumn(Wf(s,e),s,e,this.formatContext.options);if(r===void 0)r=l;else if(l!==r)return;i=o}return r}computeIndentationForNewMember(e,t){var r;let i=t.getStart(e);return tl.SmartIndenter.findFirstNonWhitespaceColumn(Wf(i,e),i,e,this.formatContext.options)+((r=this.formatContext.options.indentSize)!=null?r:4)}getInsertNodeAtStartInsertOptions(e,t,r){let o=PG(t).length===0,s=V_(this.classesWithNodesInsertedAtStart,zo(t),{node:t,sourceFile:e}),l=rs(t)&&(!Mf(e)||!o),f=rs(t)&&Mf(e)&&o&&!s;return{indentation:r,prefix:(f?",":"")+this.newLineCharacter,suffix:l?",":ku(t)&&o?";":""}}insertNodeAfterComma(e,t,r){let i=this.insertNodeAfterWorker(e,this.nextCommaToken(e,t)||t,r);this.insertNodeAt(e,i,r,this.getInsertNodeAfterOptions(e,t))}insertNodeAfter(e,t,r){let i=this.insertNodeAfterWorker(e,t,r);this.insertNodeAt(e,i,r,this.getInsertNodeAfterOptions(e,t))}insertNodeAtEndOfList(e,t,r){this.insertNodeAt(e,t.end,r,{prefix:", "})}insertNodesAfter(e,t,r){let i=this.insertNodeAfterWorker(e,t,Vo(r));this.insertNodesAt(e,i,r,this.getInsertNodeAfterOptions(e,t))}insertNodeAfterWorker(e,t,r){return $We(t,r)&&e.text.charCodeAt(t.end-1)!==59&&this.replaceRange(e,Gf(t.end),D.createToken(26)),mx(e,t,{})}getInsertNodeAfterOptions(e,t){let r=this.getInsertNodeAfterOptionsWorker(t);return{...r,prefix:t.end===e.end&&ca(t)?r.prefix?`
+${r.prefix}`:`
+`:r.prefix}}getInsertNodeAfterOptionsWorker(e){switch(e.kind){case 260:case 264:return{prefix:this.newLineCharacter,suffix:this.newLineCharacter};case 257:case 10:case 79:return{prefix:", "};case 299:return{suffix:","+this.newLineCharacter};case 93:return{prefix:" "};case 166:return{};default:return L.assert(ca(e)||s6(e)),{suffix:this.newLineCharacter}}}insertName(e,t,r){if(L.assert(!t.name),t.kind===216){let i=Yo(t,38,e),o=Yo(t,20,e);o?(this.insertNodesAt(e,o.getStart(e),[D.createToken(98),D.createIdentifier(r)],{joiner:" "}),Zm(this,e,i)):(this.insertText(e,Vo(t.parameters).getStart(e),`function ${r}(`),this.replaceRange(e,i,D.createToken(21))),t.body.kind!==238&&(this.insertNodesAt(e,t.body.getStart(e),[D.createToken(18),D.createToken(105)],{joiner:" ",suffix:" "}),this.insertNodesAt(e,t.body.end,[D.createToken(26),D.createToken(19)],{joiner:" "}))}else{let i=Yo(t,t.kind===215?98:84,e).end;this.insertNodeAt(e,i,D.createIdentifier(r),{prefix:" "})}}insertExportModifier(e,t){this.insertText(e,t.getStart(e),"export ")}insertImportSpecifierAtIndex(e,t,r,i){let o=r.elements[i-1];o?this.insertNodeInListAfter(e,o,t):this.insertNodeBefore(e,r.elements[0],t,!Bf(r.elements[0].getStart(),r.parent.parent.getStart(),e))}insertNodeInListAfter(e,t,r,i=tl.SmartIndenter.getContainingList(t,e)){if(!i){L.fail("node is not a list element");return}let o=DA(i,t);if(o<0)return;let s=t.getEnd();if(o!==i.length-1){let l=Vi(e,t.end);if(l&&NG(t,l)){let f=i[o+1],d=kSe(e.text,f.getFullStart()),g=`${Xa(l.kind)}${e.text.substring(l.end,d)}`;this.insertNodesAt(e,d,[r],{suffix:g})}}else{let l=t.getStart(e),f=Wf(l,e),d,g=!1;if(i.length===1)d=27;else{let m=el(t.pos,e);d=NG(t,m)?m.kind:27,g=Wf(i[o-1].getStart(e),e)!==f}if(VWe(e.text,t.end)&&(g=!0),g){this.replaceRange(e,Gf(s),D.createToken(d));let m=tl.SmartIndenter.findFirstNonWhitespaceColumn(f,l,e,this.formatContext.options),v=xo(e.text,s,!0,!1);for(;v!==s&&Wl(e.text.charCodeAt(v-1));)v--;this.replaceRange(e,Gf(v),r,{indentation:m,prefix:this.newLineCharacter})}else this.replaceRange(e,Gf(s),r,{prefix:`${Xa(d)} `})}}parenthesizeExpression(e,t){this.replaceRange(e,MW(t),D.createParenthesizedExpression(t))}finishClassesWithNodesInsertedAtStart(){this.classesWithNodesInsertedAtStart.forEach(({node:e,sourceFile:t})=>{let[r,i]=JWe(e,t);if(r!==void 0&&i!==void 0){let o=PG(e).length===0,s=Bf(r,i,t);o&&s&&r!==i-1&&this.deleteRange(t,Gf(r,i-1)),s&&this.insertText(t,i-1,this.newLineCharacter)}})}finishDeleteDeclarations(){let e=new Set;for(let{sourceFile:t,node:r}of this.deletedNodes)this.deletedNodes.some(i=>i.sourceFile===t&&bhe(i.node,r))||(ba(r)?this.deleteRange(t,FW(t,r)):lte.deleteDeclaration(this,e,t,r));e.forEach(t=>{let r=t.getSourceFile(),i=tl.SmartIndenter.getContainingList(t,r);if(t!==To(i))return;let o=s8(i,s=>!e.has(s),i.length-2);o!==-1&&this.deleteRange(r,{pos:i[o].end,end:ate(r,i[o+1])})})}getChanges(e){this.finishDeleteDeclarations(),this.finishClassesWithNodesInsertedAtStart();let t=UP.getTextChangesFromChanges(this.changes,this.newLineCharacter,this.formatContext,e);for(let{oldFile:r,fileName:i,statements:o}of this.newFiles)t.push(UP.newFileChanges(r,i,o,this.newLineCharacter,this.formatContext));return t}createNewFile(e,t,r){this.newFiles.push({oldFile:e,fileName:t,statements:r})}},(e=>{function t(f,d,g,m){return Zi(YC(f,v=>v.sourceFile.path),v=>{let S=v[0].sourceFile,x=Ag(v,(w,C)=>w.range.pos-C.range.pos||w.range.end-C.range.end);for(let w=0;w<x.length-1;w++)L.assert(x[w].range.end<=x[w+1].range.pos,"Changes overlap",()=>`${JSON.stringify(x[w].range)} and ${JSON.stringify(x[w+1].range)}`);let A=Zi(x,w=>{let C=lv(w.range),P=o(w,S,d,g,m);if(!(C.length===P.length&&yge(S.text,P,C.start)))return GN(C,P)});return A.length>0?{fileName:S.fileName,textChanges:A}:void 0})}e.getTextChangesFromChanges=t;function r(f,d,g,m,v){let S=i(f,RW(d),g,m,v);return{fileName:d,textChanges:[GN(il(0,0),S)],isNewFile:!0}}e.newFileChanges=r;function i(f,d,g,m,v){let S=g.map(w=>w===4?"":l(w,f,m).text).join(m),x=DO("any file name",S,99,!0,d),A=tl.formatDocument(x,v);return ote(S,A)+m}e.newFileChangesWorker=i;function o(f,d,g,m,v){var S;if(f.kind===0)return"";if(f.kind===3)return f.text;let{options:x={},range:{pos:A}}=f,w=F=>s(F,d,A,x,g,m,v),C=f.kind===2?f.nodes.map(F=>pA(w(F),g)).join(((S=f.options)==null?void 0:S.joiner)||g):w(f.node),P=x.indentation!==void 0||Wf(A,d)===A?C:C.replace(/^\s+/,"");return(x.prefix||"")+P+(!x.suffix||Oc(P,x.suffix)?"":x.suffix)}function s(f,d,g,{indentation:m,prefix:v,delta:S},x,A,w){let{node:C,text:P}=l(f,d,x);w&&w(C,P);let F=z7(A,d),B=m!==void 0?m:tl.SmartIndenter.getIndentation(g,d,F,v===x||Wf(g,d)===g);S===void 0&&(S=tl.SmartIndenter.shouldIndentChildNode(F,f)&&F.indentSize||0);let q={text:P,getLineAndCharacterOfPosition(Y){return Gs(this,Y)}},W=tl.formatNodeGivenIndentation(C,q,d.languageVariant,B,S,{...A,options:F});return ote(P,W)}function l(f,d,g){let m=DSe(g),v=XN(g);return nE({newLine:v,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},m).writeNode(4,f,d,m),{text:m.getText(),node:MG(f)}}e.getNonformattedText=l})(UP||(UP={})),RSe={...Bh,factory:YR(Bh.factory.flags|1,Bh.factory.baseFactory)},(e=>{function t(s,l,f,d){switch(d.kind){case 166:{let x=d.parent;xs(x)&&x.parameters.length===1&&!Yo(x,20,f)?s.replaceNodeWithText(f,d,"()"):Gk(s,l,f,d);break}case 269:case 268:let g=f.imports.length&&d===Vo(f.imports).parent||d===wr(f.statements,yT);Zm(s,f,d,{leadingTriviaOption:g?0:Kd(d)?2:3});break;case 205:let m=d.parent;m.kind===204&&d!==To(m.elements)?Zm(s,f,d):Gk(s,l,f,d);break;case 257:o(s,l,f,d);break;case 165:Gk(s,l,f,d);break;case 273:let S=d.parent;S.elements.length===1?i(s,f,S):Gk(s,l,f,d);break;case 271:i(s,f,d);break;case 26:Zm(s,f,d,{trailingTriviaOption:0});break;case 98:Zm(s,f,d,{leadingTriviaOption:0});break;case 260:case 259:Zm(s,f,d,{leadingTriviaOption:Kd(d)?2:3});break;default:d.parent?lm(d.parent)&&d.parent.name===d?r(s,f,d.parent):Pa(d.parent)&&ya(d.parent.arguments,d)?Gk(s,l,f,d):Zm(s,f,d):Zm(s,f,d)}}e.deleteDeclaration=t;function r(s,l,f){if(!f.namedBindings)Zm(s,l,f.parent);else{let d=f.name.getStart(l),g=Vi(l,f.name.end);if(g&&g.kind===27){let m=xo(l.text,g.end,!1,!0);s.deleteRange(l,{pos:d,end:m})}else Zm(s,l,f.name)}}function i(s,l,f){if(f.parent.name){let d=L.checkDefined(Vi(l,f.pos-1));s.deleteRange(l,{pos:d.getStart(l),end:f.end})}else{let d=cb(f,269);Zm(s,l,d)}}function o(s,l,f,d){let{parent:g}=d;if(g.kind===295){s.deleteNodeRange(f,Yo(g,20,f),Yo(g,21,f));return}if(g.declarations.length!==1){Gk(s,l,f,d);return}let m=g.parent;switch(m.kind){case 247:case 246:s.replaceNode(f,d,D.createObjectLiteralExpression());break;case 245:Zm(s,f,g);break;case 240:Zm(s,f,m,{leadingTriviaOption:Kd(m)?2:3});break;default:L.assertNever(m)}}})(lte||(lte={}))}}),nr={};Mo(nr,{ChangeTracker:()=>FG,LeadingTriviaOption:()=>ste,TrailingTriviaOption:()=>cte,applyChanges:()=>ote,assignPositionsToNode:()=>MG,createWriter:()=>DSe,deleteNode:()=>Zm,getNewFileText:()=>KWe,isThisTypeAnnotatable:()=>jWe,isValidLocationToAddComment:()=>wSe});var ZWe=gt({"src/services/_namespaces/ts.textChanges.ts"(){"use strict";QWe()}}),ute,dte,eze=gt({"src/services/formatting/formattingContext.ts"(){"use strict";Fr(),ute=(e=>(e[e.FormatDocument=0]="FormatDocument",e[e.FormatSelection=1]="FormatSelection",e[e.FormatOnEnter=2]="FormatOnEnter",e[e.FormatOnSemicolon=3]="FormatOnSemicolon",e[e.FormatOnOpeningCurlyBrace=4]="FormatOnOpeningCurlyBrace",e[e.FormatOnClosingCurlyBrace=5]="FormatOnClosingCurlyBrace",e))(ute||{}),dte=class{constructor(e,t,r){this.sourceFile=e,this.formattingRequestKind=t,this.options=r}updateContext(e,t,r,i,o){this.currentTokenSpan=L.checkDefined(e),this.currentTokenParent=L.checkDefined(t),this.nextTokenSpan=L.checkDefined(r),this.nextTokenParent=L.checkDefined(i),this.contextNode=L.checkDefined(o),this.contextNodeAllOnSameLine=void 0,this.nextNodeAllOnSameLine=void 0,this.tokensAreOnSameLine=void 0,this.contextNodeBlockIsOnOneLine=void 0,this.nextNodeBlockIsOnOneLine=void 0}ContextNodeAllOnSameLine(){return this.contextNodeAllOnSameLine===void 0&&(this.contextNodeAllOnSameLine=this.NodeIsOnOneLine(this.contextNode)),this.contextNodeAllOnSameLine}NextNodeAllOnSameLine(){return this.nextNodeAllOnSameLine===void 0&&(this.nextNodeAllOnSameLine=this.NodeIsOnOneLine(this.nextTokenParent)),this.nextNodeAllOnSameLine}TokensAreOnSameLine(){if(this.tokensAreOnSameLine===void 0){let e=this.sourceFile.getLineAndCharacterOfPosition(this.currentTokenSpan.pos).line,t=this.sourceFile.getLineAndCharacterOfPosition(this.nextTokenSpan.pos).line;this.tokensAreOnSameLine=e===t}return this.tokensAreOnSameLine}ContextNodeBlockIsOnOneLine(){return this.contextNodeBlockIsOnOneLine===void 0&&(this.contextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.contextNode)),this.contextNodeBlockIsOnOneLine}NextNodeBlockIsOnOneLine(){return this.nextNodeBlockIsOnOneLine===void 0&&(this.nextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.nextTokenParent)),this.nextNodeBlockIsOnOneLine}NodeIsOnOneLine(e){let t=this.sourceFile.getLineAndCharacterOfPosition(e.getStart(this.sourceFile)).line,r=this.sourceFile.getLineAndCharacterOfPosition(e.getEnd()).line;return t===r}BlockIsOnOneLine(e){let t=Yo(e,18,this.sourceFile),r=Yo(e,19,this.sourceFile);if(t&&r){let i=this.sourceFile.getLineAndCharacterOfPosition(t.getEnd()).line,o=this.sourceFile.getLineAndCharacterOfPosition(r.getStart(this.sourceFile)).line;return i===o}return!1}}}});function fte(e,t,r,i,o){let s=t===1?NSe:OSe;s.setText(e),s.setTextPos(r);let l=!0,f,d,g,m,v,S=o({advance:x,readTokenInfo:W,readEOFTokenRange:R,isOnToken:ie,isOnEOF:$,getCurrentLeadingTrivia:()=>f,lastTrailingTriviaWasNewLine:()=>l,skipToEndOf:Z,skipToStartOf:U,getStartPos:()=>{var re;return(re=v?.token.pos)!=null?re:s.getTokenPos()}});return v=void 0,s.setText(void 0),S;function x(){v=void 0,s.getStartPos()!==r?l=!!d&&To(d).kind===4:s.scan(),f=void 0,d=void 0;let le=s.getStartPos();for(;le<i;){let _e=s.getToken();if(!KA(_e))break;s.scan();let ge={pos:le,end:s.getStartPos(),kind:_e};le=s.getStartPos(),f=Sn(f,ge)}g=s.getStartPos()}function A(re){switch(re.kind){case 33:case 71:case 72:case 49:case 48:return!0}return!1}function w(re){if(re.parent)switch(re.parent.kind){case 288:case 283:case 284:case 282:return Xu(re.kind)||re.kind===79}return!1}function C(re){return CS(re)||Hg(re)&&v?.token.kind===11}function P(re){return re.kind===13}function F(re){return re.kind===16||re.kind===17}function B(re){return re.parent&&Sp(re.parent)&&re.parent.initializer===re}function q(re){return re===43||re===68}function W(re){L.assert(ie());let le=A(re)?1:P(re)?2:F(re)?3:w(re)?4:C(re)?5:B(re)?6:0;if(v&&le===m)return fe(v,re);s.getStartPos()!==g&&(L.assert(v!==void 0),s.setTextPos(g),s.scan());let _e=Y(re,le),ge=VG(s.getStartPos(),s.getTextPos(),_e);for(d&&(d=void 0);s.getStartPos()<i&&(_e=s.scan(),!!KA(_e));){let X=VG(s.getStartPos(),s.getTextPos(),_e);if(d||(d=[]),d.push(X),_e===4){s.scan();break}}return v={leadingTrivia:f,trailingTrivia:d,token:ge},fe(v,re)}function Y(re,le){let _e=s.getToken();switch(m=0,le){case 1:if(_e===31){m=1;let ge=s.reScanGreaterToken();return L.assert(re.kind===ge),ge}break;case 2:if(q(_e)){m=2;let ge=s.reScanSlashToken();return L.assert(re.kind===ge),ge}break;case 3:if(_e===19)return m=3,s.reScanTemplateToken(!1);break;case 4:return m=4,s.scanJsxIdentifier();case 5:return m=5,s.reScanJsxToken(!1);case 6:return m=6,s.reScanJsxAttributeValue();case 0:break;default:L.assertNever(le)}return _e}function R(){return L.assert($()),VG(s.getStartPos(),s.getTextPos(),1)}function ie(){let re=v?v.token.kind:s.getToken();return re!==1&&!KA(re)}function $(){return(v?v.token.kind:s.getToken())===1}function fe(re,le){return Z1(le)&&re.token.kind!==le.kind&&(re.token.kind=le.kind),re}function Z(re){s.setTextPos(re.end),g=s.getStartPos(),m=void 0,v=void 0,l=!1,f=void 0,d=void 0}function U(re){s.setTextPos(re.pos),g=s.getStartPos(),m=void 0,v=void 0,l=!1,f=void 0,d=void 0}}var OSe,NSe,tze=gt({"src/services/formatting/formattingScanner.ts"(){"use strict";Fr(),Vk(),OSe=kg(99,!1,0),NSe=kg(99,!1,1)}}),VP,_te,pte,nze=gt({"src/services/formatting/rule.ts"(){"use strict";Fr(),VP=Je,_te=(e=>(e[e.None=0]="None",e[e.StopProcessingSpaceActions=1]="StopProcessingSpaceActions",e[e.StopProcessingTokenActions=2]="StopProcessingTokenActions",e[e.InsertSpace=4]="InsertSpace",e[e.InsertNewLine=8]="InsertNewLine",e[e.DeleteSpace=16]="DeleteSpace",e[e.DeleteToken=32]="DeleteToken",e[e.InsertTrailingSemicolon=64]="InsertTrailingSemicolon",e[e.StopAction=3]="StopAction",e[e.ModifySpaceAction=28]="ModifySpaceAction",e[e.ModifyTokenAction=96]="ModifyTokenAction",e))(_te||{}),pte=(e=>(e[e.None=0]="None",e[e.CanDeleteNewLines=1]="CanDeleteNewLines",e))(pte||{})}});function PSe(){let e=[];for(let Y=0;Y<=162;Y++)Y!==1&&e.push(Y);function t(...Y){return{tokens:e.filter(R=>!Y.some(ie=>ie===R)),isSpecific:!1}}let r={tokens:e,isSpecific:!1},i=aC([...e,3]),o=aC([...e,1]),s=FSe(81,162),l=FSe(29,78),f=[101,102,162,128,140,150],d=[45,46,54,53],g=[8,9,79,20,22,18,108,103],m=[79,20,108,103],v=[79,21,23,103],S=[79,20,108,103],x=[79,21,23,103],A=[2,3],w=[79,...K7],C=i,P=aC([79,3,84,93,100]),F=aC([21,3,90,111,96,91]),B=[Lr("IgnoreBeforeComment",r,A,VP,1),Lr("IgnoreAfterLineComment",2,r,VP,1),Lr("NotSpaceBeforeColon",r,58,[mi,jP,USe],16),Lr("SpaceAfterColon",58,r,[mi,jP],4),Lr("NoSpaceBeforeQuestionMark",r,57,[mi,jP,USe],16),Lr("SpaceAfterQuestionMarkInConditionalOperator",57,r,[mi,ize],4),Lr("NoSpaceAfterQuestionMark",57,r,[mi],16),Lr("NoSpaceBeforeDot",r,[24,28],[mi,kze],16),Lr("NoSpaceAfterDot",[24,28],r,[mi],16),Lr("NoSpaceBetweenImportParenInImportType",100,20,[mi,mze],16),Lr("NoSpaceAfterUnaryPrefixOperator",d,g,[mi,jP],16),Lr("NoSpaceAfterUnaryPreincrementOperator",45,m,[mi],16),Lr("NoSpaceAfterUnaryPredecrementOperator",46,S,[mi],16),Lr("NoSpaceBeforeUnaryPostincrementOperator",v,45,[mi,txe],16),Lr("NoSpaceBeforeUnaryPostdecrementOperator",x,46,[mi,txe],16),Lr("SpaceAfterPostincrementWhenFollowedByAdd",45,39,[mi,Qg],4),Lr("SpaceAfterAddWhenFollowedByUnaryPlus",39,39,[mi,Qg],4),Lr("SpaceAfterAddWhenFollowedByPreincrement",39,45,[mi,Qg],4),Lr("SpaceAfterPostdecrementWhenFollowedBySubtract",46,40,[mi,Qg],4),Lr("SpaceAfterSubtractWhenFollowedByUnaryMinus",40,40,[mi,Qg],4),Lr("SpaceAfterSubtractWhenFollowedByPredecrement",40,46,[mi,Qg],4),Lr("NoSpaceAfterCloseBrace",19,[27,26],[mi],16),Lr("NewLineBeforeCloseBraceInBlockContext",i,19,[jSe],8),Lr("SpaceAfterCloseBrace",19,t(21),[mi,sze],4),Lr("SpaceBetweenCloseBraceAndElse",19,91,[mi],4),Lr("SpaceBetweenCloseBraceAndWhile",19,115,[mi],4),Lr("NoSpaceBetweenEmptyBraceBrackets",18,19,[mi,qSe],16),Lr("SpaceAfterConditionalClosingParen",21,22,[HP],4),Lr("NoSpaceBetweenFunctionKeywordAndStar",98,41,[zSe],16),Lr("SpaceAfterStarInGeneratorDeclaration",41,79,[zSe],4),Lr("SpaceAfterFunctionInFuncDecl",98,r,[cE],4),Lr("NewLineAfterOpenBraceInBlockContext",18,r,[jSe],8),Lr("SpaceAfterGetSetInMember",[137,151],79,[cE],4),Lr("NoSpaceBetweenYieldKeywordAndStar",125,41,[mi,exe],16),Lr("SpaceBetweenYieldOrYieldStarAndOperand",[125,41],r,[mi,exe],4),Lr("NoSpaceBetweenReturnAndSemicolon",105,26,[mi],16),Lr("SpaceAfterCertainKeywords",[113,109,103,89,105,112,133],r,[mi],4),Lr("SpaceAfterLetConstInVariableDeclaration",[119,85],r,[mi,vze],4),Lr("NoSpaceBeforeOpenParenInFuncCall",r,20,[mi,uze,dze],16),Lr("SpaceBeforeBinaryKeywordOperator",r,f,[mi,Qg],4),Lr("SpaceAfterBinaryKeywordOperator",f,r,[mi,Qg],4),Lr("SpaceAfterVoidOperator",114,r,[mi,xze],4),Lr("SpaceBetweenAsyncAndOpenParen",132,20,[pze,mi],4),Lr("SpaceBetweenAsyncAndFunctionKeyword",132,[98,79],[mi],4),Lr("NoSpaceBetweenTagAndTemplateString",[79,21],[14,15],[mi],16),Lr("SpaceBeforeJsxAttribute",r,79,[hze,mi],4),Lr("SpaceBeforeSlashInJsxOpeningElement",r,43,[$Se,mi],4),Lr("NoSpaceBeforeGreaterThanTokenInJsxOpeningElement",43,31,[$Se,mi],16),Lr("NoSpaceBeforeEqualInJsxAttribute",r,63,[YSe,mi],16),Lr("NoSpaceAfterEqualInJsxAttribute",63,r,[YSe,mi],16),Lr("NoSpaceAfterModuleImport",[142,147],20,[mi],16),Lr("SpaceAfterCertainTypeScriptKeywords",[126,127,84,136,88,92,93,94,137,117,100,118,142,143,121,123,122,146,151,124,154,158,141,138],r,[mi],4),Lr("SpaceBeforeCertainTypeScriptKeywords",r,[94,117,158],[mi],4),Lr("SpaceAfterModuleName",10,18,[bze],4),Lr("SpaceBeforeArrow",r,38,[mi],4),Lr("SpaceAfterArrow",38,r,[mi],4),Lr("NoSpaceAfterEllipsis",25,79,[mi],16),Lr("NoSpaceAfterOptionalParameters",57,[21,27],[mi,jP],16),Lr("NoSpaceBetweenEmptyInterfaceBraceBrackets",18,19,[mi,Eze],16),Lr("NoSpaceBeforeOpenAngularBracket",w,29,[mi,WP],16),Lr("NoSpaceBetweenCloseParenAndAngularBracket",21,29,[mi,WP],16),Lr("NoSpaceAfterOpenAngularBracket",29,r,[mi,WP],16),Lr("NoSpaceBeforeCloseAngularBracket",r,31,[mi,WP],16),Lr("NoSpaceAfterCloseAngularBracket",31,[20,22,31,27],[mi,WP,oze,Sze],16),Lr("SpaceBeforeAt",[21,79],59,[mi],4),Lr("NoSpaceAfterAt",59,r,[mi],16),Lr("SpaceAfterDecorator",r,[126,79,93,88,84,124,123,121,122,137,151,22,41],[yze],4),Lr("NoSpaceBeforeNonNullAssertionOperator",r,53,[mi,Aze],16),Lr("NoSpaceAfterNewKeywordOnConstructorSignature",103,20,[mi,Tze],16),Lr("SpaceLessThanAndNonJSXTypeAnnotation",29,29,[mi],4)],q=[Lr("SpaceAfterConstructor",135,20,[Nd("insertSpaceAfterConstructor"),mi],4),Lr("NoSpaceAfterConstructor",135,20,[q_("insertSpaceAfterConstructor"),mi],16),Lr("SpaceAfterComma",27,r,[Nd("insertSpaceAfterCommaDelimiter"),mi,Ete,fze,_ze],4),Lr("NoSpaceAfterComma",27,r,[q_("insertSpaceAfterCommaDelimiter"),mi,Ete],16),Lr("SpaceAfterAnonymousFunctionKeyword",[98,41],20,[Nd("insertSpaceAfterFunctionKeywordForAnonymousFunctions"),cE],4),Lr("NoSpaceAfterAnonymousFunctionKeyword",[98,41],20,[q_("insertSpaceAfterFunctionKeywordForAnonymousFunctions"),cE],16),Lr("SpaceAfterKeywordInControl",s,20,[Nd("insertSpaceAfterKeywordsInControlFlowStatements"),HP],4),Lr("NoSpaceAfterKeywordInControl",s,20,[q_("insertSpaceAfterKeywordsInControlFlowStatements"),HP],16),Lr("SpaceAfterOpenParen",20,r,[Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),mi],4),Lr("SpaceBeforeCloseParen",r,21,[Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),mi],4),Lr("SpaceBetweenOpenParens",20,20,[Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),mi],4),Lr("NoSpaceBetweenParens",20,21,[mi],16),Lr("NoSpaceAfterOpenParen",20,r,[q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),mi],16),Lr("NoSpaceBeforeCloseParen",r,21,[q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"),mi],16),Lr("SpaceAfterOpenBracket",22,r,[Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),mi],4),Lr("SpaceBeforeCloseBracket",r,23,[Nd("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),mi],4),Lr("NoSpaceBetweenBrackets",22,23,[mi],16),Lr("NoSpaceAfterOpenBracket",22,r,[q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),mi],16),Lr("NoSpaceBeforeCloseBracket",r,23,[q_("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"),mi],16),Lr("SpaceAfterOpenBrace",18,r,[BSe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),VSe],4),Lr("SpaceBeforeCloseBrace",r,19,[BSe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),VSe],4),Lr("NoSpaceBetweenEmptyBraceBrackets",18,19,[mi,qSe],16),Lr("NoSpaceAfterOpenBrace",18,r,[mte("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),mi],16),Lr("NoSpaceBeforeCloseBrace",r,19,[mte("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"),mi],16),Lr("SpaceBetweenEmptyBraceBrackets",18,19,[Nd("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")],4),Lr("NoSpaceBetweenEmptyBraceBrackets",18,19,[mte("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"),mi],16),Lr("SpaceAfterTemplateHeadAndMiddle",[15,16],r,[Nd("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),XSe],4,1),Lr("SpaceBeforeTemplateMiddleAndTail",r,[16,17],[Nd("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),mi],4),Lr("NoSpaceAfterTemplateHeadAndMiddle",[15,16],r,[q_("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),XSe],16,1),Lr("NoSpaceBeforeTemplateMiddleAndTail",r,[16,17],[q_("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"),mi],16),Lr("SpaceAfterOpenBraceInJsxExpression",18,r,[Nd("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),mi,BG],4),Lr("SpaceBeforeCloseBraceInJsxExpression",r,19,[Nd("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),mi,BG],4),Lr("NoSpaceAfterOpenBraceInJsxExpression",18,r,[q_("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),mi,BG],16),Lr("NoSpaceBeforeCloseBraceInJsxExpression",r,19,[q_("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"),mi,BG],16),Lr("SpaceAfterSemicolonInFor",26,r,[Nd("insertSpaceAfterSemicolonInForStatements"),mi,gte],4),Lr("NoSpaceAfterSemicolonInFor",26,r,[q_("insertSpaceAfterSemicolonInForStatements"),mi,gte],16),Lr("SpaceBeforeBinaryOperator",r,l,[Nd("insertSpaceBeforeAndAfterBinaryOperators"),mi,Qg],4),Lr("SpaceAfterBinaryOperator",l,r,[Nd("insertSpaceBeforeAndAfterBinaryOperators"),mi,Qg],4),Lr("NoSpaceBeforeBinaryOperator",r,l,[q_("insertSpaceBeforeAndAfterBinaryOperators"),mi,Qg],16),Lr("NoSpaceAfterBinaryOperator",l,r,[q_("insertSpaceBeforeAndAfterBinaryOperators"),mi,Qg],16),Lr("SpaceBeforeOpenParenInFuncDecl",r,20,[Nd("insertSpaceBeforeFunctionParenthesis"),mi,cE],4),Lr("NoSpaceBeforeOpenParenInFuncDecl",r,20,[q_("insertSpaceBeforeFunctionParenthesis"),mi,cE],16),Lr("NewLineBeforeOpenBraceInControl",F,18,[Nd("placeOpenBraceOnNewLineForControlBlocks"),HP,bte],8,1),Lr("NewLineBeforeOpenBraceInFunction",C,18,[Nd("placeOpenBraceOnNewLineForFunctions"),cE,bte],8,1),Lr("NewLineBeforeOpenBraceInTypeScriptDeclWithBlock",P,18,[Nd("placeOpenBraceOnNewLineForFunctions"),JSe,bte],8,1),Lr("SpaceAfterTypeAssertion",31,r,[Nd("insertSpaceAfterTypeAssertion"),mi,Ste],4),Lr("NoSpaceAfterTypeAssertion",31,r,[q_("insertSpaceAfterTypeAssertion"),mi,Ste],16),Lr("SpaceBeforeTypeAnnotation",r,[57,58],[Nd("insertSpaceBeforeTypeAnnotation"),mi,yte],4),Lr("NoSpaceBeforeTypeAnnotation",r,[57,58],[q_("insertSpaceBeforeTypeAnnotation"),mi,yte],16),Lr("NoOptionalSemicolon",26,o,[GSe("semicolons","remove"),Ize],32),Lr("OptionalSemicolon",r,o,[GSe("semicolons","insert"),Lze],64)],W=[Lr("NoSpaceBeforeSemicolon",r,26,[mi],16),Lr("SpaceBeforeOpenBraceInControl",F,18,[hte("placeOpenBraceOnNewLineForControlBlocks"),HP,Tte,vte],4,1),Lr("SpaceBeforeOpenBraceInFunction",C,18,[hte("placeOpenBraceOnNewLineForFunctions"),cE,GG,Tte,vte],4,1),Lr("SpaceBeforeOpenBraceInTypeScriptDeclWithBlock",P,18,[hte("placeOpenBraceOnNewLineForFunctions"),JSe,Tte,vte],4,1),Lr("NoSpaceBeforeComma",r,27,[mi],16),Lr("NoSpaceBeforeOpenBracket",t(132,82),22,[mi],16),Lr("NoSpaceAfterCloseBracket",23,r,[mi,gze],16),Lr("SpaceAfterSemicolon",26,r,[mi],4),Lr("SpaceBetweenForAndAwaitKeyword",97,133,[mi],4),Lr("SpaceBetweenStatements",[21,90,91,82],r,[mi,Ete,rze],4),Lr("SpaceAfterTryCatchFinally",[111,83,96],18,[mi],4)];return[...B,...q,...W]}function Lr(e,t,r,i,o,s=0){return{leftTokenRange:MSe(t),rightTokenRange:MSe(r),rule:{debugName:e,context:i,action:o,flags:s}}}function aC(e){return{tokens:e,isSpecific:!0}}function MSe(e){return typeof e=="number"?aC([e]):ba(e)?aC(e):e}function FSe(e,t,r=[]){let i=[];for(let o=e;o<=t;o++)ya(r,o)||i.push(o);return aC(i)}function GSe(e,t){return r=>r.options&&r.options[e]===t}function Nd(e){return t=>t.options&&fs(t.options,e)&&!!t.options[e]}function mte(e){return t=>t.options&&fs(t.options,e)&&!t.options[e]}function q_(e){return t=>!t.options||!fs(t.options,e)||!t.options[e]}function hte(e){return t=>!t.options||!fs(t.options,e)||!t.options[e]||t.TokensAreOnSameLine()}function BSe(e){return t=>!t.options||!fs(t.options,e)||!!t.options[e]}function gte(e){return e.contextNode.kind===245}function rze(e){return!gte(e)}function Qg(e){switch(e.contextNode.kind){case 223:return e.contextNode.operatorToken.kind!==27;case 224:case 191:case 231:case 278:case 273:case 179:case 189:case 190:case 235:return!0;case 205:case 262:case 268:case 274:case 257:case 166:case 302:case 169:case 168:return e.currentTokenSpan.kind===63||e.nextTokenSpan.kind===63;case 246:case 165:return e.currentTokenSpan.kind===101||e.nextTokenSpan.kind===101||e.currentTokenSpan.kind===63||e.nextTokenSpan.kind===63;case 247:return e.currentTokenSpan.kind===162||e.nextTokenSpan.kind===162}return!1}function jP(e){return!Qg(e)}function USe(e){return!yte(e)}function yte(e){let t=e.contextNode.kind;return t===169||t===168||t===166||t===257||nS(t)}function ize(e){return e.contextNode.kind===224||e.contextNode.kind===191}function vte(e){return e.TokensAreOnSameLine()||GG(e)}function VSe(e){return e.contextNode.kind===203||e.contextNode.kind===197||aze(e)}function bte(e){return GG(e)&&!(e.NextNodeAllOnSameLine()||e.NextNodeBlockIsOnOneLine())}function jSe(e){return HSe(e)&&!(e.ContextNodeAllOnSameLine()||e.ContextNodeBlockIsOnOneLine())}function aze(e){return HSe(e)&&(e.ContextNodeAllOnSameLine()||e.ContextNodeBlockIsOnOneLine())}function HSe(e){return WSe(e.contextNode)}function GG(e){return WSe(e.nextTokenParent)}function WSe(e){if(KSe(e))return!0;switch(e.kind){case 238:case 266:case 207:case 265:return!0}return!1}function cE(e){switch(e.contextNode.kind){case 259:case 171:case 170:case 174:case 175:case 176:case 215:case 173:case 216:case 261:return!0}return!1}function oze(e){return!cE(e)}function zSe(e){return e.contextNode.kind===259||e.contextNode.kind===215}function JSe(e){return KSe(e.contextNode)}function KSe(e){switch(e.kind){case 260:case 228:case 261:case 263:case 184:case 264:case 275:case 276:case 269:case 272:return!0}return!1}function sze(e){switch(e.currentTokenParent.kind){case 260:case 264:case 263:case 295:case 265:case 252:return!0;case 238:{let t=e.currentTokenParent.parent;if(!t||t.kind!==216&&t.kind!==215)return!0}}return!1}function HP(e){switch(e.contextNode.kind){case 242:case 252:case 245:case 246:case 247:case 244:case 255:case 243:case 251:case 295:return!0;default:return!1}}function qSe(e){return e.contextNode.kind===207}function cze(e){return e.contextNode.kind===210}function lze(e){return e.contextNode.kind===211}function uze(e){return cze(e)||lze(e)}function dze(e){return e.currentTokenSpan.kind!==27}function fze(e){return e.nextTokenSpan.kind!==23}function _ze(e){return e.nextTokenSpan.kind!==21}function pze(e){return e.contextNode.kind===216}function mze(e){return e.contextNode.kind===202}function mi(e){return e.TokensAreOnSameLine()&&e.contextNode.kind!==11}function XSe(e){return e.contextNode.kind!==11}function Ete(e){return e.contextNode.kind!==281&&e.contextNode.kind!==285}function BG(e){return e.contextNode.kind===291||e.contextNode.kind===290}function hze(e){return e.nextTokenParent.kind===288}function YSe(e){return e.contextNode.kind===288}function $Se(e){return e.contextNode.kind===282}function gze(e){return!cE(e)&&!GG(e)}function yze(e){return e.TokensAreOnSameLine()&&bf(e.contextNode)&&QSe(e.currentTokenParent)&&!QSe(e.nextTokenParent)}function QSe(e){for(;e&&ot(e);)e=e.parent;return e&&e.kind===167}function vze(e){return e.currentTokenParent.kind===258&&e.currentTokenParent.getStart(e.sourceFile)===e.currentTokenSpan.pos}function Tte(e){return e.formattingRequestKind!==2}function bze(e){return e.contextNode.kind===264}function Eze(e){return e.contextNode.kind===184}function Tze(e){return e.contextNode.kind===177}function ZSe(e,t){if(e.kind!==29&&e.kind!==31)return!1;switch(t.kind){case 180:case 213:case 262:case 260:case 228:case 261:case 259:case 215:case 216:case 171:case 170:case 176:case 177:case 210:case 211:case 230:return!0;default:return!1}}function WP(e){return ZSe(e.currentTokenSpan,e.currentTokenParent)||ZSe(e.nextTokenSpan,e.nextTokenParent)}function Ste(e){return e.contextNode.kind===213}function Sze(e){return!Ste(e)}function xze(e){return e.currentTokenSpan.kind===114&&e.currentTokenParent.kind===219}function exe(e){return e.contextNode.kind===226&&e.contextNode.expression!==void 0}function Aze(e){return e.contextNode.kind===232}function txe(e){return!Cze(e)}function Cze(e){switch(e.contextNode.kind){case 242:case 245:case 246:case 247:case 243:case 244:return!0;default:return!1}}function Ize(e){let t=e.nextTokenSpan.kind,r=e.nextTokenSpan.pos;if(KA(t)){let s=e.nextTokenParent===e.currentTokenParent?t1(e.currentTokenParent,jn(e.currentTokenParent,l=>!l.parent),e.sourceFile):e.nextTokenParent.getFirstToken(e.sourceFile);if(!s)return!0;t=s.kind,r=s.getStart(e.sourceFile)}let i=e.sourceFile.getLineAndCharacterOfPosition(e.currentTokenSpan.pos).line,o=e.sourceFile.getLineAndCharacterOfPosition(r).line;return i===o?t===19||t===1:t===237||t===26?!1:e.contextNode.kind===261||e.contextNode.kind===262?!$d(e.currentTokenParent)||!!e.currentTokenParent.type||t!==20:Na(e.currentTokenParent)?!e.currentTokenParent.initializer:e.currentTokenParent.kind!==245&&e.currentTokenParent.kind!==239&&e.currentTokenParent.kind!==237&&t!==22&&t!==20&&t!==39&&t!==40&&t!==43&&t!==13&&t!==27&&t!==225&&t!==15&&t!==14&&t!==24}function Lze(e){return N7(e.currentTokenSpan.end,e.currentTokenParent,e.sourceFile)}function kze(e){return!br(e.contextNode)||!Vf(e.contextNode.expression)||e.contextNode.expression.getText().indexOf(".")!==-1}var Dze=gt({"src/services/formatting/rules.ts"(){"use strict";Fr(),Vk()}});function wze(e,t){return{options:e,getRules:Rze(),host:t}}function Rze(){return xte===void 0&&(xte=Nze(PSe())),xte}function Oze(e){let t=0;return e&1&&(t|=28),e&2&&(t|=96),e&28&&(t|=28),e&96&&(t|=96),t}function Nze(e){let t=Pze(e);return r=>{let i=t[nxe(r.currentTokenSpan.kind,r.nextTokenSpan.kind)];if(i){let o=[],s=0;for(let l of i){let f=~Oze(s);l.action&f&&Ji(l.context,d=>d(r))&&(o.push(l),s|=l.action)}if(o.length)return o}}}function Pze(e){let t=new Array(UG*UG),r=new Array(t.length);for(let i of e){let o=i.leftTokenRange.isSpecific&&i.rightTokenRange.isSpecific;for(let s of i.leftTokenRange.tokens)for(let l of i.rightTokenRange.tokens){let f=nxe(s,l),d=t[f];d===void 0&&(d=t[f]=[]),Mze(d,i.rule,o,r,f)}}return t}function nxe(e,t){return L.assert(e<=162&&t<=162,"Must compute formatting context from tokens"),e*UG+t}function Mze(e,t,r,i,o){let s=t.action&3?r?0:oC.StopRulesAny:t.context!==VP?r?oC.ContextRulesSpecific:oC.ContextRulesAny:r?oC.NoContextRulesSpecific:oC.NoContextRulesAny,l=i[o]||0;e.splice(Fze(l,s),0,t),i[o]=Gze(l,s)}function Fze(e,t){let r=0;for(let i=0;i<=t;i+=hx)r+=e&zP,e>>=hx;return r}function Gze(e,t){let r=(e>>t&zP)+1;return L.assert((r&zP)===r,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),e&~(zP<<t)|r<<t}var xte,hx,zP,UG,oC,Bze=gt({"src/services/formatting/rulesMap.ts"(){"use strict";Fr(),Vk(),hx=5,zP=31,UG=163,oC=(e=>(e[e.StopRulesSpecific=0]="StopRulesSpecific",e[e.StopRulesAny=hx*1]="StopRulesAny",e[e.ContextRulesSpecific=hx*2]="ContextRulesSpecific",e[e.ContextRulesAny=hx*3]="ContextRulesAny",e[e.NoContextRulesSpecific=hx*4]="NoContextRulesSpecific",e[e.NoContextRulesAny=hx*5]="NoContextRulesAny",e))(oC||{})}});function VG(e,t,r){let i={pos:e,end:t,kind:r};return L.isDebugging&&Object.defineProperty(i,"__debugKind",{get:()=>L.formatSyntaxKind(r)}),i}function Uze(e,t,r){let i=t.getLineAndCharacterOfPosition(e).line;if(i===0)return[];let o=Bw(i,t);for(;Yp(t.text.charCodeAt(o));)o--;Wl(t.text.charCodeAt(o))&&o--;let s={pos:Ky(i-1,t),end:o+1};return JP(s,t,r,2)}function Vze(e,t,r){let i=Ate(e,26,t);return rxe(Cte(i),t,r,3)}function jze(e,t,r){let i=Ate(e,18,t);if(!i)return[];let o=i.parent,s=Cte(o),l={pos:Wf(s.getStart(t),t),end:e};return JP(l,t,r,4)}function Hze(e,t,r){let i=Ate(e,19,t);return rxe(Cte(i),t,r,5)}function Wze(e,t){let r={pos:0,end:e.text.length};return JP(r,e,t,0)}function zze(e,t,r,i){let o={pos:Wf(e,r),end:t};return JP(o,r,i,1)}function Ate(e,t,r){let i=el(e,r);return i&&i.kind===t&&e===i.getEnd()?i:void 0}function Cte(e){let t=e;for(;t&&t.parent&&t.parent.end===e.end&&!Jze(t.parent,t);)t=t.parent;return t}function Jze(e,t){switch(e.kind){case 260:case 261:return Od(e.members,t);case 264:let r=e.body;return!!r&&r.kind===265&&Od(r.statements,t);case 308:case 238:case 265:return Od(e.statements,t);case 295:return Od(e.block.statements,t)}return!1}function Kze(e,t){return r(t);function r(i){let o=pa(i,s=>jX(s.getStart(t),s.end,e)&&s);if(o){let s=r(o);if(s)return s}return i}}function qze(e,t){if(!e.length)return o;let r=e.filter(s=>tk(t,s.start,s.start+s.length)).sort((s,l)=>s.start-l.start);if(!r.length)return o;let i=0;return s=>{for(;;){if(i>=r.length)return!1;let l=r[i];if(s.end<=l.start)return!1;if(l7(s.pos,s.end,l.start,l.start+l.length))return!0;i++}};function o(){return!1}}function Xze(e,t,r){let i=e.getStart(r);if(i===t.pos&&e.end===t.end)return i;let o=el(t.pos,r);return!o||o.end>=t.pos?e.pos:o.end}function Yze(e,t,r){let i=-1,o;for(;e;){let s=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(i!==-1&&s!==i)break;if(X_.shouldIndentChildNode(t,e,o,r))return t.indentSize;i=s,o=e,e=e.parent}return 0}function $ze(e,t,r,i,o,s){let l={pos:e.pos,end:e.end};return fte(t.text,r,l.pos,l.end,f=>ixe(l,e,i,o,f,s,1,d=>!1,t))}function rxe(e,t,r,i){if(!e)return[];let o={pos:Wf(e.getStart(t),t),end:e.end};return JP(o,t,r,i)}function JP(e,t,r,i){let o=Kze(e,t);return fte(t.text,t.languageVariant,Xze(o,e,t),e.end,s=>ixe(e,o,X_.getIndentationForNode(o,e,t,r.options),Yze(o,r.options,t),s,r,i,qze(t.parseDiagnostics,e),t))}function ixe(e,t,r,i,o,{options:s,getRules:l,host:f},d,g,m){var v;let S=new dte(m,d,s),x,A,w,C,P,F=-1,B=[];if(o.advance(),o.isOnToken()){let Ne=m.getLineAndCharacterOfPosition(t.getStart(m)).line,Le=Ne;bf(t)&&(Le=m.getLineAndCharacterOfPosition(aH(t,m)).line),ie(t,t,Ne,Le,r,i)}if(!o.isOnToken()){let Ne=X_.nodeWillIndentChild(s,t,void 0,m,!1)?r+s.indentSize:r,Le=o.getCurrentLeadingTrivia();Le&&($(Le,Ne,!1,Ye=>Z(Ye,m.getLineAndCharacterOfPosition(Ye.pos),t,t,void 0)),s.trimTrailingWhitespace!==!1&&we(Le))}if(A&&o.getStartPos()>=e.end){let Ne=o.isOnEOF()?o.readEOFTokenRange():o.isOnToken()?o.readTokenInfo(t).token:void 0;if(Ne&&Ne.pos===x){let Le=((v=el(Ne.end,m,t))==null?void 0:v.parent)||w;U(Ne,m.getLineAndCharacterOfPosition(Ne.pos).line,Le,A,C,w,Le,void 0)}}return B;function q(Ne,Le,Ye,_t,ct){if(tk(_t,Ne,Le)||ON(_t,Ne,Le)){if(ct!==-1)return ct}else{let Rt=m.getLineAndCharacterOfPosition(Ne).line,We=Wf(Ne,m),qe=X_.findFirstNonWhitespaceColumn(We,Ne,m,s);if(Rt!==Ye||Ne===qe){let zt=X_.getBaseIndentation(s);return zt>qe?zt:qe}}return-1}function W(Ne,Le,Ye,_t,ct,Rt){let We=X_.shouldIndentChildNode(s,Ne)?s.indentSize:0;return Rt===Le?{indentation:Le===P?F:ct.getIndentation(),delta:Math.min(s.indentSize,ct.getDelta(Ne)+We)}:Ye===-1?Ne.kind===20&&Le===P?{indentation:F,delta:ct.getDelta(Ne)}:X_.childStartsOnTheSameLineWithElseInIfStatement(_t,Ne,Le,m)||X_.childIsUnindentedBranchOfConditionalExpression(_t,Ne,Le,m)||X_.argumentStartsOnSameLineAsPreviousArgument(_t,Ne,Le,m)?{indentation:ct.getIndentation(),delta:We}:{indentation:ct.getIndentation()+ct.getDelta(Ne),delta:We}:{indentation:Ye,delta:We}}function Y(Ne){if(g_(Ne)){let Le=wr(Ne.modifiers,Ha,Yc(Ne.modifiers,du));if(Le)return Le.kind}switch(Ne.kind){case 260:return 84;case 261:return 118;case 259:return 98;case 263:return 263;case 174:return 137;case 175:return 151;case 171:if(Ne.asteriskToken)return 41;case 169:case 166:let Le=sa(Ne);if(Le)return Le.kind}}function R(Ne,Le,Ye,_t){return{getIndentationForComment:(We,qe,zt)=>{switch(We){case 19:case 23:case 21:return Ye+Rt(zt)}return qe!==-1?qe:Ye},getIndentationForToken:(We,qe,zt,Qt)=>!Qt&&ct(We,qe,zt)?Ye+Rt(zt):Ye,getIndentation:()=>Ye,getDelta:Rt,recomputeIndentation:(We,qe)=>{X_.shouldIndentChildNode(s,qe,Ne,m)&&(Ye+=We?s.indentSize:-s.indentSize,_t=X_.shouldIndentChildNode(s,Ne)?s.indentSize:0)}};function ct(We,qe,zt){switch(qe){case 18:case 19:case 21:case 91:case 115:case 59:return!1;case 43:case 31:switch(zt.kind){case 283:case 284:case 282:return!1}break;case 22:case 23:if(zt.kind!==197)return!1;break}return Le!==We&&!(bf(Ne)&&qe===Y(Ne))}function Rt(We){return X_.nodeWillIndentChild(s,Ne,We,m,!0)?_t:0}}function ie(Ne,Le,Ye,_t,ct,Rt){if(!tk(e,Ne.getStart(m),Ne.getEnd()))return;let We=R(Ne,Ye,ct,Rt),qe=Le;for(pa(Ne,kn=>{zt(kn,-1,Ne,We,Ye,_t,!1)},kn=>{Qt(kn,Ne,Ye,We)});o.isOnToken()&&o.getStartPos()<e.end;){let kn=o.readTokenInfo(Ne);if(kn.token.end>Math.min(Ne.end,e.end))break;tn(kn,Ne,We,Ne)}function zt(kn,_n,Gt,$n,ui,Ni,Pi,gr){if(L.assert(!ws(kn)),rc(kn)||Nse(Gt,kn))return _n;let pt=kn.getStart(m),nn=m.getLineAndCharacterOfPosition(pt).line,Dt=nn;bf(kn)&&(Dt=m.getLineAndCharacterOfPosition(aH(kn,m)).line);let pn=-1;if(Pi&&Od(e,Gt)&&(pn=q(pt,kn.end,ui,e,_n),pn!==-1&&(_n=pn)),!tk(e,kn.pos,kn.end))return kn.end<e.pos&&o.skipToEndOf(kn),_n;if(kn.getFullWidth()===0)return _n;for(;o.isOnToken()&&o.getStartPos()<e.end;){let hi=o.readTokenInfo(Ne);if(hi.token.end>e.end)return _n;if(hi.token.end>pt){hi.token.pos>pt&&o.skipToStartOf(kn);break}tn(hi,Ne,$n,Ne)}if(!o.isOnToken()||o.getStartPos()>=e.end)return _n;if(Z1(kn)){let hi=o.readTokenInfo(kn);if(kn.kind!==11)return L.assert(hi.token.end===kn.end,"Token end is child end"),tn(hi,Ne,$n,kn),_n}let An=kn.kind===167?nn:Ni,Kn=W(kn,nn,pn,Ne,$n,An);return ie(kn,qe,nn,Dt,Kn.indentation,Kn.delta),qe=Ne,gr&&Gt.kind===206&&_n===-1&&(_n=Kn.indentation),_n}function Qt(kn,_n,Gt,$n){L.assert(C0(kn)),L.assert(!ws(kn));let ui=Qze(_n,kn),Ni=$n,Pi=Gt;if(!tk(e,kn.pos,kn.end)){kn.end<e.pos&&o.skipToEndOf(kn);return}if(ui!==0)for(;o.isOnToken()&&o.getStartPos()<e.end;){let nn=o.readTokenInfo(_n);if(nn.token.end>kn.pos)break;if(nn.token.kind===ui){Pi=m.getLineAndCharacterOfPosition(nn.token.pos).line,tn(nn,_n,$n,_n);let Dt;if(F!==-1)Dt=F;else{let pn=Wf(nn.token.pos,m);Dt=X_.findFirstNonWhitespaceColumn(pn,nn.token.pos,m,s)}Ni=R(_n,Gt,Dt,s.indentSize)}else tn(nn,_n,$n,_n)}let gr=-1;for(let nn=0;nn<kn.length;nn++){let Dt=kn[nn];gr=zt(Dt,gr,Ne,Ni,Pi,Pi,!0,nn===0)}let pt=Zze(ui);if(pt!==0&&o.isOnToken()&&o.getStartPos()<e.end){let nn=o.readTokenInfo(_n);nn.token.kind===27&&(tn(nn,_n,Ni,_n),nn=o.isOnToken()?o.readTokenInfo(_n):void 0),nn&&nn.token.kind===pt&&Od(_n,nn.token)&&tn(nn,_n,Ni,_n,!0)}}function tn(kn,_n,Gt,$n,ui){L.assert(Od(_n,kn.token));let Ni=o.lastTrailingTriviaWasNewLine(),Pi=!1;kn.leadingTrivia&&fe(kn.leadingTrivia,_n,qe,Gt);let gr=0,pt=Od(e,kn.token),nn=m.getLineAndCharacterOfPosition(kn.token.pos);if(pt){let Dt=g(kn.token),pn=A;if(gr=Z(kn.token,nn,_n,qe,Gt),!Dt)if(gr===0){let An=pn&&m.getLineAndCharacterOfPosition(pn.end).line;Pi=Ni&&nn.line!==An}else Pi=gr===1}if(kn.trailingTrivia&&(x=To(kn.trailingTrivia).end,fe(kn.trailingTrivia,_n,qe,Gt)),Pi){let Dt=pt&&!g(kn.token)?Gt.getIndentationForToken(nn.line,kn.token.kind,$n,!!ui):-1,pn=!0;if(kn.leadingTrivia){let An=Gt.getIndentationForComment(kn.token.kind,Dt,$n);pn=$(kn.leadingTrivia,An,pn,Kn=>re(Kn.pos,An,!1))}Dt!==-1&&pn&&(re(kn.token.pos,Dt,gr===1),P=nn.line,F=Dt)}o.advance(),qe=_n}}function $(Ne,Le,Ye,_t){for(let ct of Ne){let Rt=Od(e,ct);switch(ct.kind){case 3:Rt&&ge(ct,Le,!Ye),Ye=!1;break;case 2:Ye&&Rt&&_t(ct),Ye=!1;break;case 4:Ye=!0;break}}return Ye}function fe(Ne,Le,Ye,_t){for(let ct of Ne)if(g7(ct.kind)&&Od(e,ct)){let Rt=m.getLineAndCharacterOfPosition(ct.pos);Z(ct,Rt,Le,Ye,_t)}}function Z(Ne,Le,Ye,_t,ct){let Rt=g(Ne),We=0;if(!Rt)if(A)We=U(Ne,Le.line,Ye,A,C,w,_t,ct);else{let qe=m.getLineAndCharacterOfPosition(e.pos);X(qe.line,Le.line)}return A=Ne,x=Ne.end,w=Ye,C=Le.line,We}function U(Ne,Le,Ye,_t,ct,Rt,We,qe){S.updateContext(_t,Rt,Ne,Ye,We);let zt=l(S),Qt=S.options.trimTrailingWhitespace!==!1,tn=0;return zt?sae(zt,kn=>{if(tn=Be(kn,_t,ct,Ne,Le),qe)switch(tn){case 2:Ye.getStart(m)===Ne.pos&&qe.recomputeIndentation(!1,We);break;case 1:Ye.getStart(m)===Ne.pos&&qe.recomputeIndentation(!0,We);break;default:L.assert(tn===0)}Qt=Qt&&!(kn.action&16)&&kn.flags!==1}):Qt=Qt&&Ne.kind!==1,Le!==ct&&Qt&&X(ct,Le,_t),tn}function re(Ne,Le,Ye){let _t=Ite(Le,s);if(Ye)Ce(Ne,0,_t);else{let ct=m.getLineAndCharacterOfPosition(Ne),Rt=Ky(ct.line,m);(Le!==le(Rt,ct.character)||_e(_t,Rt))&&Ce(Rt,ct.character,_t)}}function le(Ne,Le){let Ye=0;for(let _t=0;_t<Le;_t++)m.text.charCodeAt(Ne+_t)===9?Ye+=s.tabSize-Ye%s.tabSize:Ye++;return Ye}function _e(Ne,Le){return Ne!==m.text.substr(Le,Ne.length)}function ge(Ne,Le,Ye,_t=!0){let ct=m.getLineAndCharacterOfPosition(Ne.pos).line,Rt=m.getLineAndCharacterOfPosition(Ne.end).line;if(ct===Rt){Ye||re(Ne.pos,Le,!1);return}let We=[],qe=Ne.pos;for(let _n=ct;_n<Rt;_n++){let Gt=Bw(_n,m);We.push({pos:qe,end:Gt}),qe=Ky(_n+1,m)}if(_t&&We.push({pos:qe,end:Ne.end}),We.length===0)return;let zt=Ky(ct,m),Qt=X_.findFirstNonWhitespaceCharacterAndColumn(zt,We[0].pos,m,s),tn=0;Ye&&(tn=1,ct++);let kn=Le-Qt.column;for(let _n=tn;_n<We.length;_n++,ct++){let Gt=Ky(ct,m),$n=_n===0?Qt:X_.findFirstNonWhitespaceCharacterAndColumn(We[_n].pos,We[_n].end,m,s),ui=$n.column+kn;if(ui>0){let Ni=Ite(ui,s);Ce(Gt,$n.character,Ni)}else Pe(Gt,$n.character)}}function X(Ne,Le,Ye){for(let _t=Ne;_t<Le;_t++){let ct=Ky(_t,m),Rt=Bw(_t,m);if(Ye&&(g7(Ye.kind)||QX(Ye.kind))&&Ye.pos<=Rt&&Ye.end>Rt)continue;let We=Ve(ct,Rt);We!==-1&&(L.assert(We===ct||!Yp(m.text.charCodeAt(We-1))),Pe(We,Rt+1-We))}}function Ve(Ne,Le){let Ye=Le;for(;Ye>=Ne&&Yp(m.text.charCodeAt(Ye));)Ye--;return Ye!==Le?Ye+1:-1}function we(Ne){let Le=A?A.end:e.pos;for(let Ye of Ne)g7(Ye.kind)&&(Le<Ye.pos&&ke(Le,Ye.pos-1,A),Le=Ye.end+1);Le<e.end&&ke(Le,e.end,A)}function ke(Ne,Le,Ye){let _t=m.getLineAndCharacterOfPosition(Ne).line,ct=m.getLineAndCharacterOfPosition(Le).line;X(_t,ct+1,Ye)}function Pe(Ne,Le){Le&&B.push(v7(Ne,Le,""))}function Ce(Ne,Le,Ye){(Le||Ye)&&B.push(v7(Ne,Le,Ye))}function Ie(Ne,Le){Le&&B.push(v7(Ne,0,Le))}function Be(Ne,Le,Ye,_t,ct){let Rt=ct!==Ye;switch(Ne.action){case 1:return 0;case 16:if(Le.end!==_t.pos)return Pe(Le.end,_t.pos-Le.end),Rt?2:0;break;case 32:Pe(Le.pos,Le.end-Le.pos);break;case 8:if(Ne.flags!==1&&Ye!==ct)return 0;if(ct-Ye!==1)return Ce(Le.end,_t.pos-Le.end,bb(f,s)),Rt?0:1;break;case 4:if(Ne.flags!==1&&Ye!==ct)return 0;if(_t.pos-Le.end!==1||m.text.charCodeAt(Le.end)!==32)return Ce(Le.end,_t.pos-Le.end," "),Rt?2:0;break;case 64:Ie(Le.end,";")}return 0}}function axe(e,t,r,i=Vi(e,t)){let o=jn(i,dm);if(o&&(i=o.parent),i.getStart(e)<=t&&t<i.getEnd())return;r=r===null?void 0:r===void 0?el(t,e):r;let l=r&&eb(e.text,r.end),f=bH(i,e),d=Qi(l,f);return d&&wr(d,g=>RN(g,t)||t===g.end&&(g.kind===2||t===e.getFullWidth()))}function Qze(e,t){switch(e.kind){case 173:case 259:case 215:case 171:case 170:case 216:case 176:case 177:case 181:case 182:case 174:case 175:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 210:case 211:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 260:case 228:case 261:case 262:if(e.typeParameters===t)return 29;break;case 180:case 212:case 183:case 230:case 202:if(e.typeArguments===t)return 29;break;case 184:return 18}return 0}function Zze(e){switch(e){case 20:return 21;case 29:return 31;case 18:return 19}return 0}function Ite(e,t){if((!jG||jG.tabSize!==t.tabSize||jG.indentSize!==t.indentSize)&&(jG={tabSize:t.tabSize,indentSize:t.indentSize},Bk=Uk=void 0),t.convertTabsToSpaces){let i,o=Math.floor(e/t.indentSize),s=e%t.indentSize;return Uk||(Uk=[]),Uk[o]===void 0?(i=UN(" ",t.indentSize*o),Uk[o]=i):i=Uk[o],s?i+UN(" ",s):i}else{let i=Math.floor(e/t.tabSize),o=e-i*t.tabSize,s;return Bk||(Bk=[]),Bk[i]===void 0?Bk[i]=s=UN("	",i):s=Bk[i],o?s+UN(" ",o):s}}var jG,Bk,Uk,eJe=gt({"src/services/formatting/formatting.ts"(){"use strict";Fr(),Vk()}}),X_,tJe=gt({"src/services/formatting/smartIndenter.ts"(){"use strict";Fr(),Vk(),(e=>{let t;(X=>{X[X.Unknown=-1]="Unknown"})(t||(t={}));function r(X,Ve,we,ke=!1){if(X>Ve.text.length)return f(we);if(we.indentStyle===0)return 0;let Pe=el(X,Ve,void 0,!0),Ce=axe(Ve,X,Pe||null);if(Ce&&Ce.kind===3)return i(Ve,X,we,Ce);if(!Pe)return f(we);if(QX(Pe.kind)&&Pe.getStart(Ve)<=X&&X<Pe.end)return 0;let Be=Ve.getLineAndCharacterOfPosition(X).line,Ne=Vi(Ve,X),Le=Ne.kind===18&&Ne.parent.kind===207;if(we.indentStyle===1||Le)return o(Ve,X,we);if(Pe.kind===27&&Pe.parent.kind!==223){let _t=m(Pe,Ve,we);if(_t!==-1)return _t}let Ye=q(X,Pe.parent,Ve);if(Ye&&!Od(Ye,Pe)){let ct=[215,216].indexOf(Ne.parent.kind)!==-1?0:we.indentSize;return R(Ye,Ve,we)+ct}return s(Ve,X,Pe,Be,ke,we)}e.getIndentation=r;function i(X,Ve,we,ke){let Pe=Gs(X,Ve).line-1,Ce=Gs(X,ke.pos).line;if(L.assert(Ce>=0),Pe<=Ce)return U(Ky(Ce,X),Ve,X,we);let Ie=Ky(Pe,X),{column:Be,character:Ne}=Z(Ie,Ve,X,we);return Be===0?Be:X.text.charCodeAt(Ie+Ne)===42?Be-1:Be}function o(X,Ve,we){let ke=Ve;for(;ke>0;){let Ce=X.text.charCodeAt(ke);if(!xh(Ce))break;ke--}let Pe=Wf(ke,X);return U(Pe,ke,X,we)}function s(X,Ve,we,ke,Pe,Ce){let Ie,Be=we;for(;Be;){if(WX(Be,Ve,X)&&_e(Ce,Be,Ie,X,!0)){let Le=A(Be,X),Ye=x(we,Be,ke,X),_t=Ye!==0?Pe&&Ye===2?Ce.indentSize:0:ke!==Le.line?Ce.indentSize:0;return d(Be,Le,void 0,_t,X,!0,Ce)}let Ne=ie(Be,X,Ce,!0);if(Ne!==-1)return Ne;Ie=Be,Be=Be.parent}return f(Ce)}function l(X,Ve,we,ke){let Pe=we.getLineAndCharacterOfPosition(X.getStart(we));return d(X,Pe,Ve,0,we,!1,ke)}e.getIndentationForNode=l;function f(X){return X.baseIndentSize||0}e.getBaseIndentation=f;function d(X,Ve,we,ke,Pe,Ce,Ie){var Be;let Ne=X.parent;for(;Ne;){let Le=!0;if(we){let Rt=X.getStart(Pe);Le=Rt<we.pos||Rt>we.end}let Ye=g(Ne,X,Pe),_t=Ye.line===Ve.line||C(Ne,X,Ve.line,Pe);if(Le){let Rt=(Be=B(X,Pe))==null?void 0:Be[0],We=!!Rt&&A(Rt,Pe).line>Ye.line,qe=ie(X,Pe,Ie,We);if(qe!==-1||(qe=v(X,Ne,Ve,_t,Pe,Ie),qe!==-1))return qe+ke}_e(Ie,Ne,X,Pe,Ce)&&!_t&&(ke+=Ie.indentSize);let ct=w(Ne,X,Ve.line,Pe);X=Ne,Ne=X.parent,Ve=ct?Pe.getLineAndCharacterOfPosition(X.getStart(Pe)):Ye}return ke+f(Ie)}function g(X,Ve,we){let ke=B(Ve,we),Pe=ke?ke.pos:X.getStart(we);return we.getLineAndCharacterOfPosition(Pe)}function m(X,Ve,we){let ke=Ehe(X);return ke&&ke.listItemIndex>0?$(ke.list.getChildren(),ke.listItemIndex-1,Ve,we):-1}function v(X,Ve,we,ke,Pe,Ce){return(Kl(X)||Nw(X))&&(Ve.kind===308||!ke)?fe(we,Pe,Ce):-1}let S;(X=>{X[X.Unknown=0]="Unknown",X[X.OpenBrace=1]="OpenBrace",X[X.CloseBrace=2]="CloseBrace"})(S||(S={}));function x(X,Ve,we,ke){let Pe=t1(X,Ve,ke);if(!Pe)return 0;if(Pe.kind===18)return 1;if(Pe.kind===19){let Ce=A(Pe,ke).line;return we===Ce?2:0}return 0}function A(X,Ve){return Ve.getLineAndCharacterOfPosition(X.getStart(Ve))}function w(X,Ve,we,ke){if(!(Pa(X)&&ya(X.arguments,Ve)))return!1;let Pe=X.expression.getEnd();return Gs(ke,Pe).line===we}e.isArgumentAndStartLineOverlapsExpressionBeingCalled=w;function C(X,Ve,we,ke){if(X.kind===242&&X.elseStatement===Ve){let Pe=Yo(X,91,ke);return L.assert(Pe!==void 0),A(Pe,ke).line===we}return!1}e.childStartsOnTheSameLineWithElseInIfStatement=C;function P(X,Ve,we,ke){if(b2(X)&&(Ve===X.whenTrue||Ve===X.whenFalse)){let Pe=Gs(ke,X.condition.end).line;if(Ve===X.whenTrue)return we===Pe;{let Ce=A(X.whenTrue,ke).line,Ie=Gs(ke,X.whenTrue.end).line;return Pe===Ce&&Ie===we}}return!1}e.childIsUnindentedBranchOfConditionalExpression=P;function F(X,Ve,we,ke){if(Ih(X)){if(!X.arguments)return!1;let Pe=wr(X.arguments,Ne=>Ne.pos===Ve.pos);if(!Pe)return!1;let Ce=X.arguments.indexOf(Pe);if(Ce===0)return!1;let Ie=X.arguments[Ce-1],Be=Gs(ke,Ie.getEnd()).line;if(we===Be)return!0}return!1}e.argumentStartsOnSameLineAsPreviousArgument=F;function B(X,Ve){return X.parent&&W(X.getStart(Ve),X.getEnd(),X.parent,Ve)}e.getContainingList=B;function q(X,Ve,we){return Ve&&W(X,X,Ve,we)}function W(X,Ve,we,ke){switch(we.kind){case 180:return Pe(we.typeArguments);case 207:return Pe(we.properties);case 206:return Pe(we.elements);case 184:return Pe(we.members);case 259:case 215:case 216:case 171:case 170:case 176:case 173:case 182:case 177:return Pe(we.typeParameters)||Pe(we.parameters);case 174:return Pe(we.parameters);case 260:case 228:case 261:case 262:case 348:return Pe(we.typeParameters);case 211:case 210:return Pe(we.typeArguments)||Pe(we.arguments);case 258:return Pe(we.declarations);case 272:case 276:return Pe(we.elements);case 203:case 204:return Pe(we.elements)}function Pe(Ce){return Ce&&ON(Y(we,Ce,ke),X,Ve)?Ce:void 0}}function Y(X,Ve,we){let ke=X.getChildren(we);for(let Pe=1;Pe<ke.length-1;Pe++)if(ke[Pe].pos===Ve.pos&&ke[Pe].end===Ve.end)return{pos:ke[Pe-1].end,end:ke[Pe+1].getStart(we)};return Ve}function R(X,Ve,we){return X?fe(Ve.getLineAndCharacterOfPosition(X.pos),Ve,we):-1}function ie(X,Ve,we,ke){if(X.parent&&X.parent.kind===258)return-1;let Pe=B(X,Ve);if(Pe){let Ce=Pe.indexOf(X);if(Ce!==-1){let Ie=$(Pe,Ce,Ve,we);if(Ie!==-1)return Ie}return R(Pe,Ve,we)+(ke?we.indentSize:0)}return-1}function $(X,Ve,we,ke){L.assert(Ve>=0&&Ve<X.length);let Pe=X[Ve],Ce=A(Pe,we);for(let Ie=Ve-1;Ie>=0;Ie--){if(X[Ie].kind===27)continue;if(we.getLineAndCharacterOfPosition(X[Ie].end).line!==Ce.line)return fe(Ce,we,ke);Ce=A(X[Ie],we)}return-1}function fe(X,Ve,we){let ke=Ve.getPositionOfLineAndCharacter(X.line,0);return U(ke,ke+X.character,Ve,we)}function Z(X,Ve,we,ke){let Pe=0,Ce=0;for(let Ie=X;Ie<Ve;Ie++){let Be=we.text.charCodeAt(Ie);if(!Yp(Be))break;Be===9?Ce+=ke.tabSize+Ce%ke.tabSize:Ce++,Pe++}return{column:Ce,character:Pe}}e.findFirstNonWhitespaceCharacterAndColumn=Z;function U(X,Ve,we,ke){return Z(X,Ve,we,ke).column}e.findFirstNonWhitespaceColumn=U;function re(X,Ve,we,ke,Pe){let Ce=we?we.kind:0;switch(Ve.kind){case 241:case 260:case 228:case 261:case 263:case 262:case 206:case 238:case 265:case 207:case 184:case 197:case 186:case 266:case 293:case 292:case 214:case 208:case 210:case 211:case 240:case 274:case 250:case 224:case 204:case 203:case 283:case 286:case 282:case 291:case 170:case 176:case 177:case 166:case 181:case 182:case 193:case 212:case 220:case 276:case 272:case 278:case 273:case 169:return!0;case 257:case 299:case 223:if(!X.indentMultiLineObjectLiteralBeginningOnBlankLine&&ke&&Ce===207)return ge(ke,we);if(Ve.kind===223&&ke&&we&&Ce===281){let Ie=ke.getLineAndCharacterOfPosition(xo(ke.text,Ve.pos)).line,Be=ke.getLineAndCharacterOfPosition(xo(ke.text,we.pos)).line;return Ie!==Be}if(Ve.kind!==223)return!0;break;case 243:case 244:case 246:case 247:case 245:case 242:case 259:case 215:case 171:case 173:case 174:case 175:return Ce!==238;case 216:return ke&&Ce===214?ge(ke,we):Ce!==238;case 275:return Ce!==276;case 269:return Ce!==270||!!we.namedBindings&&we.namedBindings.kind!==272;case 281:return Ce!==284;case 285:return Ce!==287;case 190:case 189:if(Ce===184||Ce===186)return!1;break}return Pe}e.nodeWillIndentChild=re;function le(X,Ve){switch(X){case 250:case 254:case 248:case 249:return Ve.kind!==238;default:return!1}}function _e(X,Ve,we,ke,Pe=!1){return re(X,Ve,we,ke,!1)&&!(Pe&&we&&le(we.kind,Ve))}e.shouldIndentChildNode=_e;function ge(X,Ve){let we=xo(X.text,Ve.pos),ke=X.getLineAndCharacterOfPosition(we).line,Pe=X.getLineAndCharacterOfPosition(Ve.end).line;return ke===Pe}})(X_||(X_={}))}}),tl={};Mo(tl,{FormattingContext:()=>dte,FormattingRequestKind:()=>ute,RuleAction:()=>_te,RuleFlags:()=>pte,SmartIndenter:()=>X_,anyContext:()=>VP,createTextRangeWithKind:()=>VG,formatDocument:()=>Wze,formatNodeGivenIndentation:()=>$ze,formatOnClosingCurly:()=>Hze,formatOnEnter:()=>Uze,formatOnOpeningCurly:()=>jze,formatOnSemicolon:()=>Vze,formatSelection:()=>zze,getAllRules:()=>PSe,getFormatContext:()=>wze,getFormattingScanner:()=>fte,getIndentationString:()=>Ite,getRangeOfEnclosingComment:()=>axe});var Vk=gt({"src/services/_namespaces/ts.formatting.ts"(){"use strict";eze(),tze(),nze(),Dze(),Bze(),eJe(),tJe()}}),Fr=gt({"src/services/_namespaces/ts.ts"(){"use strict";fa(),r7(),v6e(),K6e(),$6e(),l4e(),u4e(),d4e(),y4e(),L4e(),k4e(),w4e(),B4e(),V4e(),_3e(),m3e(),y3e(),E3e(),V3e(),Q3e(),Qa(),QZ(),KTe(),cUe(),_Ue(),wUe(),lye(),wye(),$Ue(),aVe(),Qm(),rWe(),kWe(),FWe(),UWe(),ZWe(),Vk()}});function nJe(){return kte??(kte=new r_(Rf))}function oxe(e,t,r,i,o){let s=t?"DeprecationError: ":"DeprecationWarning: ";return s+=`'${e}' `,s+=i?`has been deprecated since v${i}`:"is deprecated",s+=t?" and can no longer be used.":r?` and will no longer be usable after v${r}.`:".",s+=o?` ${jm(o,[e],0)}`:"",s}function rJe(e,t,r,i){let o=oxe(e,!0,t,r,i);return()=>{throw new TypeError(o)}}function iJe(e,t,r,i){let o=!1;return()=>{sxe&&!o&&(L.log.warn(oxe(e,!1,t,r,i)),o=!0)}}function aJe(e,t={}){var r,i;let o=typeof t.typeScriptVersion=="string"?new r_(t.typeScriptVersion):(r=t.typeScriptVersion)!=null?r:nJe(),s=typeof t.errorAfter=="string"?new r_(t.errorAfter):t.errorAfter,l=typeof t.warnAfter=="string"?new r_(t.warnAfter):t.warnAfter,f=typeof t.since=="string"?new r_(t.since):(i=t.since)!=null?i:l,d=t.error||s&&o.compareTo(s)>=0,g=!l||o.compareTo(l)>=0;return d?rJe(e,s,f,t.message):g?iJe(e,s,f,t.message):Ba}function oJe(e,t){return function(){return e(),t.apply(this,arguments)}}function Lte(e,t){var r;let i=aJe((r=t?.name)!=null?r:L.getFunctionName(e),t);return oJe(i,e)}var sxe,kte,cxe=gt({"src/deprecatedCompat/deprecate.ts"(){"use strict";HG(),sxe=!0}});function Dte(e,t,r,i){if(Object.defineProperty(s,"name",{...Object.getOwnPropertyDescriptor(s,"name"),value:e}),i)for(let l of Object.keys(i)){let f=+l;!isNaN(f)&&fs(t,`${f}`)&&(t[f]=Lte(t[f],{...i[f],name:e}))}let o=sJe(t,r);return s;function s(...l){let f=o(l),d=f!==void 0?t[f]:void 0;if(typeof d=="function")return d(...l);throw new TypeError("Invalid arguments")}}function sJe(e,t){return r=>{for(let i=0;fs(e,`${i}`)&&fs(t,`${i}`);i++){let o=t[i];if(o(r))return i}}}function cJe(e){return{overload:t=>({bind:r=>({finish:()=>Dte(e,t,r),deprecate:i=>({finish:()=>Dte(e,t,r,i)})})})}}var lJe=gt({"src/deprecatedCompat/deprecations.ts"(){"use strict";HG(),cxe()}}),uJe=gt({"src/deprecatedCompat/5.0/identifierProperties.ts"(){"use strict";HG(),cxe(),fle(e=>{let t=e.getIdentifierConstructor();fs(t.prototype,"originalKeywordKind")||Object.defineProperty(t.prototype,"originalKeywordKind",{get:Lte(function(){return nb(this)},{name:"originalKeywordKind",since:"5.0",warnAfter:"5.1",errorAfter:"5.2",message:"Use 'identifierToKeywordKind(identifier)' instead."})}),fs(t.prototype,"isInJSDocNamespace")||Object.defineProperty(t.prototype,"isInJSDocNamespace",{get:Lte(function(){return this.flags&2048?!0:void 0},{name:"isInJSDocNamespace",since:"5.0",warnAfter:"5.1",errorAfter:"5.2",message:"Use '.parent' or the surrounding context to determine this instead."})})})}}),HG=gt({"src/deprecatedCompat/_namespaces/ts.ts"(){"use strict";fa(),lJe(),uJe()}}),lxe={};Mo(lxe,{ANONYMOUS:()=>X7,AccessFlags:()=>IV,AssertionLevel:()=>$U,AssignmentDeclarationKind:()=>PV,AssignmentKind:()=>YW,Associativity:()=>QW,BreakpointResolver:()=>x$,BuilderFileEmit:()=>Iq,BuilderProgramKind:()=>Lq,BuilderState:()=>pm,BundleFileSectionKind:()=>ej,CallHierarchy:()=>rx,CharacterCodes:()=>KV,CheckFlags:()=>TV,CheckMode:()=>_F,ClassificationType:()=>OX,ClassificationTypeNames:()=>RX,CommentDirectiveType:()=>oV,Comparison:()=>LU,CompletionInfoFlags:()=>AX,CompletionTriggerKind:()=>bX,Completions:()=>lx,ConfigFileProgramReloadLevel:()=>QK,ContextFlags:()=>_V,CoreServicesShimHostAdapter:()=>S$,Debug:()=>L,DiagnosticCategory:()=>nw,Diagnostics:()=>_,DocumentHighlights:()=>Q7,ElementFlags:()=>CV,EmitFlags:()=>U8,EmitHint:()=>$V,EmitOnly:()=>cV,EndOfLineState:()=>LX,EnumKind:()=>EV,ExitStatus:()=>uV,ExportKind:()=>GY,Extension:()=>qV,ExternalEmitHelpers:()=>YV,FileIncludeKind:()=>R8,FilePreprocessingDiagnosticsKind:()=>sV,FileSystemEntryKind:()=>oj,FileWatcherEventKind:()=>ij,FindAllReferences:()=>js,FlattenLevel:()=>RK,FlowFlags:()=>tw,ForegroundColorEscapeSequences:()=>pq,FunctionFlags:()=>$W,GeneratedIdentifierFlags:()=>w8,GetLiteralTextFlags:()=>KW,GoToDefinition:()=>xk,HighlightSpanKind:()=>TX,ImportKind:()=>FY,ImportsNotUsedAsValues:()=>VV,IndentStyle:()=>SX,IndexKind:()=>DV,InferenceFlags:()=>OV,InferencePriority:()=>RV,InlayHintKind:()=>EX,InlayHints:()=>fee,InternalEmitFlags:()=>XV,InternalSymbolName:()=>SV,InvalidatedProjectKind:()=>aX,JsDoc:()=>xb,JsTyping:()=>QT,JsxEmit:()=>UV,JsxFlags:()=>iV,JsxReferenceKind:()=>LV,LanguageServiceMode:()=>gX,LanguageServiceShimHostAdapter:()=>T$,LanguageVariant:()=>zV,LexicalEnvironmentFlags:()=>ZV,ListFormat:()=>tj,LogLevel:()=>ZU,MemberOverrideStatus:()=>dV,ModifierFlags:()=>k8,ModuleDetectionKind:()=>MV,ModuleInstanceState:()=>sK,ModuleKind:()=>F8,ModuleResolutionKind:()=>rw,ModuleSpecifierEnding:()=>lz,NavigateTo:()=>cye,NavigationBar:()=>Dye,NewLineKind:()=>jV,NodeBuilderFlags:()=>pV,NodeCheckFlags:()=>xV,NodeFactoryFlags:()=>mz,NodeFlags:()=>L8,NodeResolutionFeatures:()=>aK,ObjectFlags:()=>P8,OperationCanceledException:()=>tI,OperatorPrecedence:()=>ZW,OrganizeImports:()=>b_,OrganizeImportsMode:()=>vX,OuterExpressionKinds:()=>QV,OutliningElementsCollector:()=>See,OutliningSpanKind:()=>CX,OutputFileType:()=>IX,PackageJsonAutoImportPreference:()=>hX,PackageJsonDependencyGroup:()=>mX,PatternMatchKind:()=>n5,PollingInterval:()=>V8,PollingWatchKind:()=>BV,PragmaKindFlags:()=>nj,PrivateIdentifierKind:()=>Az,ProcessLevel:()=>MK,QuotePreference:()=>OY,RelationComparisonResult:()=>D8,Rename:()=>RG,ScriptElementKind:()=>DX,ScriptElementKindModifier:()=>wX,ScriptKind:()=>HV,ScriptSnapshot:()=>pX,ScriptTarget:()=>WV,SemanticClassificationFormat:()=>yX,SemanticMeaning:()=>RY,SemicolonPreference:()=>xX,SignatureCheckMode:()=>pF,SignatureFlags:()=>M8,SignatureHelp:()=>BP,SignatureKind:()=>kV,SmartSelectionRange:()=>ete,SnippetKind:()=>B8,SortKind:()=>XU,StructureIsReused:()=>lV,SymbolAccessibility:()=>gV,SymbolDisplay:()=>$g,SymbolDisplayPartKind:()=>IN,SymbolFlags:()=>O8,SymbolFormatFlags:()=>hV,SyntaxKind:()=>I8,SyntheticSymbolKind:()=>yV,Ternary:()=>NV,ThrottledCancellationToken:()=>g$,TokenClass:()=>kX,TokenFlags:()=>aV,TransformFlags:()=>G8,TypeFacts:()=>dF,TypeFlags:()=>N8,TypeFormatFlags:()=>mV,TypeMapKind:()=>wV,TypePredicateKind:()=>vV,TypeReferenceSerializationKind:()=>bV,TypeScriptServicesFactory:()=>eve,UnionReduction:()=>fV,UpToDateStatusType:()=>Wq,VarianceFlags:()=>AV,Version:()=>r_,VersionRange:()=>mA,WatchDirectoryFlags:()=>JV,WatchDirectoryKind:()=>GV,WatchFileKind:()=>FV,WatchLogLevel:()=>ZK,WatchType:()=>Hf,accessPrivateIdentifier:()=>$_e,addEmitFlags:()=>bp,addEmitHelper:()=>xS,addEmitHelpers:()=>Bg,addInternalEmitFlags:()=>SS,addNodeFactoryPatcher:()=>ARe,addObjectAllocatorPatcher:()=>fle,addRange:()=>si,addRelatedInfo:()=>Ao,addSyntheticLeadingComment:()=>nO,addSyntheticTrailingComment:()=>R4,addToSeen:()=>V_,advancedAsyncSuperHelper:()=>sO,affectsDeclarationPathOptionDeclarations:()=>FJ,affectsEmitOptionDeclarations:()=>MJ,allKeysStartWithDot:()=>nF,altDirectorySeparator:()=>pw,and:()=>g8,append:()=>Sn,appendIfUnique:()=>xg,arrayFrom:()=>lo,arrayIsEqualTo:()=>up,arrayIsHomogeneous:()=>Fle,arrayIsSorted:()=>dae,arrayOf:()=>mae,arrayReverseIterator:()=>Cke,arrayToMap:()=>p0,arrayToMultiMap:()=>KD,arrayToNumericMap:()=>gae,arraysEqual:()=>GD,assertType:()=>Pke,assign:()=>JD,assignHelper:()=>B4,asyncDelegator:()=>V4,asyncGeneratorHelper:()=>U4,asyncSuperHelper:()=>oO,asyncValues:()=>j4,attachFileToDiagnostics:()=>vS,awaitHelper:()=>AS,awaiterHelper:()=>W4,base64decode:()=>nle,base64encode:()=>tle,binarySearch:()=>Py,binarySearchKey:()=>j1,bindSourceFile:()=>c_e,breakIntoCharacterSpans:()=>Hge,breakIntoWordSpans:()=>Wge,buildLinkParts:()=>Qhe,buildOpts:()=>j3,buildOverload:()=>cJe,bundlerModuleNameResolver:()=>Wfe,canBeConvertedToAsync:()=>e$,canHaveDecorators:()=>HS,canHaveExportModifier:()=>WR,canHaveFlowNode:()=>cR,canHaveIllegalDecorators:()=>aJ,canHaveIllegalModifiers:()=>cde,canHaveIllegalType:()=>mOe,canHaveIllegalTypeParameters:()=>sde,canHaveJSDoc:()=>lR,canHaveLocals:()=>Qp,canHaveModifiers:()=>g_,canHaveSymbol:()=>$p,canJsonReportNoInputFiles:()=>FO,canProduceDiagnostics:()=>xF,canUsePropertyAccess:()=>HW,canWatchDirectoryOrFile:()=>vN,cartesianProduct:()=>Rae,cast:()=>Ga,chainBundle:()=>y_,chainDiagnosticMessages:()=>da,changeAnyExtension:()=>uj,changeCompilerHostLikeToUseCache:()=>pN,changeExtension:()=>V0,changesAffectModuleResolution:()=>eH,changesAffectingProgramStructure:()=>Ise,childIsDecorated:()=>kI,classElementOrClassElementParameterIsDecorated:()=>AH,classOrConstructorParameterIsDecorated:()=>O0,classPrivateFieldGetHelper:()=>n3,classPrivateFieldInHelper:()=>i3,classPrivateFieldSetHelper:()=>r3,classicNameResolver:()=>o_e,classifier:()=>T5,cleanExtendedConfigCache:()=>$K,clear:()=>Om,clearMap:()=>Tf,clearSharedExtendedConfigFileWatcher:()=>Fpe,climbPastPropertyAccess:()=>o7,climbPastPropertyOrElementAccess:()=>ghe,clone:()=>VU,cloneCompilerOptions:()=>Mhe,closeFileWatcher:()=>am,closeFileWatcherOf:()=>_m,codefix:()=>gu,collapseTextChangeRangesAcrossMultipleVersions:()=>GDe,collectExternalModuleInfo:()=>xK,combine:()=>_A,combinePaths:()=>vi,commentPragmas:()=>iw,commonOptionsWithBuild:()=>WO,commonPackageFolders:()=>nz,compact:()=>WD,compareBooleans:()=>g0,compareDataObjects:()=>gW,compareDiagnostics:()=>ZI,compareDiagnosticsSkipRelatedInformation:()=>c4,compareEmitHelpers:()=>Sue,compareNumberOfDirectorySeparators:()=>BR,comparePaths:()=>cT,comparePathsCaseInsensitive:()=>LDe,comparePathsCaseSensitive:()=>IDe,comparePatternKeys:()=>tK,compareProperties:()=>Cae,compareStringsCaseInsensitive:()=>_8,compareStringsCaseInsensitiveEslintCompatible:()=>Sae,compareStringsCaseSensitive:()=>su,compareStringsCaseSensitiveUI:()=>XD,compareTextSpans:()=>f8,compareValues:()=>Es,compileOnSaveCommandLineOption:()=>UO,compilerOptionsAffectDeclarationPath:()=>Cle,compilerOptionsAffectEmit:()=>Ale,compilerOptionsAffectSemanticDiagnostics:()=>xle,compilerOptionsDidYouMeanDiagnostics:()=>JO,compilerOptionsIndicateEsModules:()=>aY,compose:()=>Rke,computeCommonSourceDirectoryOfFilenames:()=>jpe,computeLineAndCharacterOfPosition:()=>yw,computeLineOfPosition:()=>aI,computeLineStarts:()=>hw,computePositionOfLineAndCharacter:()=>mj,computeSignature:()=>YT,computeSignatureWithDiagnostics:()=>Tq,computeSuggestionDiagnostics:()=>$Y,concatenate:()=>Qi,concatenateDiagnosticMessageChains:()=>gle,consumesNodeCoreModules:()=>V7,contains:()=>ya,containsIgnoredPath:()=>sL,containsObjectRestOrSpread:()=>IO,containsParseError:()=>Gw,containsPath:()=>Gy,convertCompilerOptionsForTelemetry:()=>TNe,convertCompilerOptionsFromJson:()=>mNe,convertJsonOption:()=>GO,convertToBase64:()=>ele,convertToObject:()=>rfe,convertToObjectWorker:()=>PO,convertToOptionsWithAbsolutePaths:()=>SJ,convertToRelativePath:()=>rI,convertToTSConfig:()=>tNe,convertTypeAcquisitionFromJson:()=>hNe,copyComments:()=>r1,copyEntries:()=>Mw,copyLeadingComments:()=>q2,copyProperties:()=>jU,copyTrailingAsLeadingComments:()=>qN,copyTrailingComments:()=>sk,couldStartTrivia:()=>hoe,countWhere:()=>Oy,createAbstractBuilder:()=>S8e,createAccessorPropertyBackingField:()=>sJ,createAccessorPropertyGetRedirector:()=>gde,createAccessorPropertySetRedirector:()=>yde,createBaseNodeFactory:()=>oue,createBinaryExpressionTrampoline:()=>C3,createBindingHelper:()=>d2,createBuildInfo:()=>dN,createBuilderProgram:()=>Sq,createBuilderProgramUsingProgramBuildInfo:()=>dme,createBuilderStatusReporter:()=>Ame,createCacheWithRedirects:()=>KJ,createCacheableExportInfoMap:()=>Tge,createCachedDirectoryStructureHost:()=>Mpe,createClassifier:()=>Age,createCommentDirectivesMap:()=>Gse,createCompilerDiagnostic:()=>ps,createCompilerDiagnosticForInvalidCustomType:()=>pJ,createCompilerDiagnosticFromMessageChain:()=>s4,createCompilerHost:()=>Hpe,createCompilerHostFromProgramHost:()=>Bq,createCompilerHostWorker:()=>nq,createDetachedDiagnostic:()=>t2,createDiagnosticCollection:()=>XA,createDiagnosticForFileFromMessageChain:()=>yH,createDiagnosticForNode:()=>hr,createDiagnosticForNodeArray:()=>RA,createDiagnosticForNodeArrayFromMessageChain:()=>jw,createDiagnosticForNodeFromMessageChain:()=>Lh,createDiagnosticForNodeInSourceFile:()=>Nu,createDiagnosticForRange:()=>vH,createDiagnosticMessageChainFromDiagnostic:()=>qse,createDiagnosticReporter:()=>bN,createDocumentPositionMapper:()=>H_e,createDocumentRegistry:()=>VY,createDocumentRegistryInternal:()=>Rge,createEmitAndSemanticDiagnosticsBuilderProgram:()=>kq,createEmitHelperFactory:()=>Tue,createEmptyExports:()=>bO,createExpressionForJsxElement:()=>Que,createExpressionForJsxFragment:()=>Zue,createExpressionForObjectLiteralElementLike:()=>ede,createExpressionForPropertyName:()=>Zz,createExpressionFromEntityName:()=>EO,createExternalHelpersImportDeclarationIfNeeded:()=>nJ,createFileDiagnostic:()=>al,createFileDiagnosticFromMessageChain:()=>S6,createForOfBindingStatement:()=>Qz,createGetCanonicalFileName:()=>Dl,createGetSourceFile:()=>eq,createGetSymbolAccessibilityDiagnosticForNode:()=>zg,createGetSymbolAccessibilityDiagnosticForNodeName:()=>Epe,createGetSymbolWalker:()=>f_e,createIncrementalCompilerHost:()=>jq,createIncrementalProgram:()=>xme,createInputFiles:()=>RRe,createInputFilesWithFilePaths:()=>_z,createInputFilesWithFileTexts:()=>pz,createJsxFactoryExpression:()=>$z,createLanguageService:()=>Bye,createLanguageServiceSourceFile:()=>f5,createMemberAccessForPropertyName:()=>VT,createModeAwareCache:()=>WT,createModeAwareCacheKey:()=>ML,createModuleResolutionCache:()=>Y3,createModuleResolutionLoader:()=>cq,createModuleSpecifierResolutionHost:()=>$S,createMultiMap:()=>Nf,createNodeConverters:()=>cue,createNodeFactory:()=>YR,createOptionNameMap:()=>R3,createOverload:()=>Dte,createPackageJsonImportFilter:()=>uk,createPackageJsonInfo:()=>uge,createParenthesizerRules:()=>sue,createPatternMatcher:()=>Fge,createPrependNodes:()=>fq,createPrinter:()=>nE,createPrinterWithDefaults:()=>qK,createPrinterWithRemoveComments:()=>rE,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>XK,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>fN,createProgram:()=>PF,createProgramHost:()=>Uq,createPropertyNameNodeForIdentifierOrLiteral:()=>E4,createQueue:()=>HU,createRange:()=>Gf,createRedirectedBuilderProgram:()=>Cq,createResolutionCache:()=>fme,createRuntimeTypeSerializer:()=>npe,createScanner:()=>kg,createSemanticDiagnosticsBuilderProgram:()=>T8e,createSet:()=>Dke,createSolutionBuilder:()=>U8e,createSolutionBuilderHost:()=>F8e,createSolutionBuilderWithWatch:()=>V8e,createSolutionBuilderWithWatchHost:()=>G8e,createSortedArray:()=>MU,createSourceFile:()=>DO,createSourceMapGenerator:()=>M_e,createSourceMapSource:()=>ORe,createSuperAccessVariableStatement:()=>SF,createSymbolTable:()=>Ua,createSymlinkCache:()=>Ile,createSystemWatchFunctions:()=>loe,createTextChange:()=>GN,createTextChangeFromStartLength:()=>v7,createTextChangeRange:()=>Sw,createTextRangeFromNode:()=>nY,createTextRangeFromSpan:()=>y7,createTextSpan:()=>il,createTextSpanFromBounds:()=>Wc,createTextSpanFromNode:()=>Du,createTextSpanFromRange:()=>lv,createTextSpanFromStringLiteralLikeContent:()=>tY,createTextWriter:()=>SR,createTokenRange:()=>_W,createTypeChecker:()=>k_e,createTypeReferenceDirectiveResolutionCache:()=>$3,createTypeReferenceResolutionLoader:()=>OF,createUnderscoreEscapedMultiMap:()=>vae,createUnparsedSourceFile:()=>fz,createWatchCompilerHost:()=>R8e,createWatchCompilerHostOfConfigFile:()=>Tme,createWatchCompilerHostOfFilesAndCompilerOptions:()=>Sme,createWatchFactory:()=>Gq,createWatchHost:()=>Fq,createWatchProgram:()=>O8e,createWatchStatusReporter:()=>pme,createWriteFileMeasuringIO:()=>tq,declarationNameToString:()=>os,decodeMappings:()=>EK,decodedTextSpanIntersectsWith:()=>Q8,decorateHelper:()=>N4,deduplicate:()=>fA,defaultIncludeSpec:()=>z3,defaultInitCompilerOptions:()=>W3,defaultMaximumTruncationLength:()=>KR,detectSortCaseSensitivity:()=>l8,diagnosticCategoryName:()=>C8,diagnosticToString:()=>ZS,directoryProbablyExists:()=>gp,directorySeparator:()=>_s,displayPart:()=>Qu,displayPartsToString:()=>Mye,disposeEmitNodes:()=>yz,documentSpansEqual:()=>P6e,dumpTracingLegend:()=>toe,elementAt:()=>Ig,elideNodes:()=>hde,emitComments:()=>Vce,emitDetachedComments:()=>jce,emitFiles:()=>CF,emitFilesAndReportErrors:()=>qF,emitFilesAndReportErrorsAndGetExitStatus:()=>vme,emitModuleKindIsNonNodeESM:()=>SW,emitNewLineBeforeLeadingCommentOfPosition:()=>Uce,emitNewLineBeforeLeadingComments:()=>Gce,emitNewLineBeforeLeadingCommentsOfPosition:()=>Bce,emitSkippedWithNoDiagnostics:()=>HF,emitUsingBuildInfo:()=>Ppe,emptyArray:()=>Je,emptyFileSystemEntries:()=>D4,emptyMap:()=>b8,emptyOptions:()=>Cp,emptySet:()=>Pae,endsWith:()=>Oc,ensurePathIsNonModuleName:()=>S0,ensureScriptKind:()=>h4,ensureTrailingDirectorySeparator:()=>cu,entityNameToString:()=>qd,enumerateInsertsAndDeletes:()=>wae,equalOwnProperties:()=>hae,equateStringsCaseInsensitive:()=>W1,equateStringsCaseSensitive:()=>z1,equateValues:()=>Zv,esDecorateHelper:()=>F4,escapeJsxAttributeString:()=>qH,escapeLeadingUnderscores:()=>Bs,escapeNonAsciiString:()=>ER,escapeSnippetText:()=>OT,escapeString:()=>_S,every:()=>Ji,expandPreOrPostfixIncrementOrDecrementExpression:()=>b3,explainFiles:()=>yme,explainIfFileIsRedirectAndImpliedFormat:()=>Oq,exportAssignmentIsAlias:()=>zA,exportStarHelper:()=>t3,expressionResultIsUnused:()=>Ble,extend:()=>d8,extendsHelper:()=>z4,extensionFromPath:()=>jR,extensionIsTS:()=>y4,externalHelpersModuleNameText:()=>_b,factory:()=>D,fileExtensionIs:()=>Gc,fileExtensionIsOneOf:()=>$c,fileIncludeReasonToDiagnostics:()=>Mq,filter:()=>Pr,filterMutate:()=>wU,filterSemanticDiagnostics:()=>MF,find:()=>wr,findAncestor:()=>jn,findBestPatternMatch:()=>JU,findChildOfKind:()=>Yo,findComputedPropertyNameCacheAssignment:()=>L3,findConfigFile:()=>Vpe,findContainingList:()=>d7,findDiagnosticForNode:()=>fge,findFirstNonJsxWhitespaceToken:()=>Ihe,findIndex:()=>Yc,findLast:()=>dA,findLastIndex:()=>s8,findListItemInfo:()=>Ehe,findMap:()=>vke,findModifier:()=>z2,findNextToken:()=>t1,findPackageJson:()=>cge,findPackageJsons:()=>AY,findPrecedingMatchingToken:()=>h7,findPrecedingToken:()=>el,findSuperStatementIndex:()=>bF,findTokenOnLeftOfPosition:()=>p7,findUseStrictPrologue:()=>tJ,first:()=>Vo,firstDefined:()=>ks,firstDefinedIterator:()=>FD,firstIterator:()=>pae,firstOrOnly:()=>LY,firstOrUndefined:()=>Sl,firstOrUndefinedIterator:()=>u8,fixupCompilerOptions:()=>t$,flatMap:()=>Uo,flatMapIterator:()=>OU,flatMapToMutable:()=>BD,flatten:()=>t_,flattenCommaList:()=>vde,flattenDestructuringAssignment:()=>KT,flattenDestructuringBinding:()=>eE,flattenDiagnosticMessageText:()=>sv,forEach:()=>mn,forEachAncestor:()=>Lse,forEachAncestorDirectory:()=>Th,forEachChild:()=>pa,forEachChildRecursively:()=>kO,forEachEmittedFile:()=>WK,forEachEnclosingBlockScopeContainer:()=>Jse,forEachEntry:()=>Ld,forEachExternalModuleToImportFrom:()=>MY,forEachImportClauseDeclaration:()=>z6,forEachKey:()=>TI,forEachLeadingCommentRange:()=>vw,forEachNameInAccessChainWalkingLeft:()=>Xwe,forEachResolvedProjectReference:()=>Kpe,forEachReturnStatement:()=>vT,forEachRight:()=>sae,forEachTrailingCommentRange:()=>bw,forEachUnique:()=>lY,forEachYieldExpression:()=>Yse,forSomeAncestorDirectory:()=>qwe,formatColorAndReset:()=>iE,formatDiagnostic:()=>rq,formatDiagnostics:()=>e8e,formatDiagnosticsWithColorAndContext:()=>Jpe,formatGeneratedName:()=>jT,formatGeneratedNamePart:()=>L2,formatLocation:()=>iq,formatMessage:()=>TW,formatStringFromArgs:()=>jm,formatting:()=>tl,fullTripleSlashAMDReferencePathRegEx:()=>XW,fullTripleSlashReferencePathRegEx:()=>qW,generateDjb2Hash:()=>aw,generateTSConfig:()=>oNe,generatorHelper:()=>Q4,getAdjustedReferenceLocation:()=>zX,getAdjustedRenameLocation:()=>_7,getAliasDeclarationFromName:()=>BH,getAllAccessorDeclarations:()=>kT,getAllDecoratorsOfClass:()=>LK,getAllDecoratorsOfClassElement:()=>TF,getAllJSDocTags:()=>kj,getAllJSDocTagsOfKind:()=>KDe,getAllKeys:()=>Ike,getAllProjectOutputs:()=>AF,getAllSuperTypeNodes:()=>NI,getAllUnscopedEmitHelpers:()=>xz,getAllowJSCompilerOption:()=>PR,getAllowSyntheticDefaultImports:()=>wT,getAncestor:()=>cb,getAnyExtensionFromPath:()=>j8,getAreDeclarationMapsEnabled:()=>d4,getAssignedExpandoInitializer:()=>oS,getAssignedName:()=>xj,getAssignmentDeclarationKind:()=>ic,getAssignmentDeclarationPropertyAccessKind:()=>tR,getAssignmentTargetKind:()=>xT,getAutomaticTypeDirectiveNames:()=>X3,getBaseFileName:()=>Hl,getBinaryOperatorPrecedence:()=>vR,getBuildInfo:()=>IF,getBuildInfoFileVersionMap:()=>Aq,getBuildInfoText:()=>Npe,getBuildOrderFromAnyBuildOrder:()=>ZF,getBuilderCreationParameters:()=>zF,getBuilderFileEmit:()=>cv,getCheckFlags:()=>ac,getClassExtendsHeritageElement:()=>P0,getClassLikeDeclarationOfSymbol:()=>Nh,getCombinedLocalAndExportSymbolFlags:()=>XI,getCombinedModifierFlags:()=>wg,getCombinedNodeFlags:()=>G_,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>Tj,getCommentRange:()=>sm,getCommonSourceDirectory:()=>uN,getCommonSourceDirectoryOfConfig:()=>XL,getCompilerOptionValue:()=>f4,getCompilerOptionsDiffValue:()=>aNe,getConditions:()=>P2,getConfigFileParsingDiagnostics:()=>XT,getConstantValue:()=>mue,getContainerNode:()=>e1,getContainingClass:()=>Zc,getContainingClassStaticBlock:()=>gwe,getContainingFunction:()=>Xd,getContainingFunctionDeclaration:()=>ice,getContainingFunctionOrClassStaticBlock:()=>R6,getContainingNodeArray:()=>Ule,getContainingObjectLiteralElement:()=>nP,getContextualTypeFromParent:()=>w7,getContextualTypeFromParentOrAncestorTypeNode:()=>f7,getCurrentTime:()=>SN,getDeclarationDiagnostics:()=>Tpe,getDeclarationEmitExtensionForPath:()=>QH,getDeclarationEmitOutputFilePath:()=>Rce,getDeclarationEmitOutputFilePathWorker:()=>$H,getDeclarationFromName:()=>fR,getDeclarationModifierFlagsFromSymbol:()=>Ef,getDeclarationOfKind:()=>nc,getDeclarationsOfKind:()=>Ase,getDeclaredExpandoInitializer:()=>$w,getDecorators:()=>Uy,getDefaultCompilerOptions:()=>d5,getDefaultExportInfoWorker:()=>$7,getDefaultFormatCodeSettings:()=>fhe,getDefaultLibFileName:()=>X8,getDefaultLibFilePath:()=>f3e,getDefaultLikeExportInfo:()=>Y7,getDiagnosticText:()=>ZOe,getDiagnosticsWithinSpan:()=>_ge,getDirectoryPath:()=>ni,getDocumentPositionMapper:()=>Yge,getESModuleInterop:()=>f_,getEditsForFileRename:()=>Nge,getEffectiveBaseTypeNode:()=>hp,getEffectiveConstraintOfTypeParameter:()=>EA,getEffectiveContainerForJSDocTemplateTag:()=>J6,getEffectiveImplementsTypeNodes:()=>JA,getEffectiveInitializer:()=>Yw,getEffectiveJSDocHost:()=>WA,getEffectiveModifierFlags:()=>uu,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>Jce,getEffectiveModifierFlagsNoCache:()=>qce,getEffectiveReturnTypeNode:()=>U_,getEffectiveSetAccessorTypeAnnotationNode:()=>Fce,getEffectiveTypeAnnotationNode:()=>Cl,getEffectiveTypeParameterDeclarations:()=>jy,getEffectiveTypeRoots:()=>XO,getElementOrPropertyAccessArgumentExpressionOrName:()=>W6,getElementOrPropertyAccessName:()=>wh,getElementsOfBindingOrAssignmentPattern:()=>I2,getEmitDeclarations:()=>__,getEmitFlags:()=>Ya,getEmitHelpers:()=>O4,getEmitModuleDetectionKind:()=>Ele,getEmitModuleKind:()=>Rl,getEmitModuleResolutionKind:()=>$s,getEmitScriptTarget:()=>Do,getEnclosingBlockScopeContainer:()=>tm,getEncodedSemanticClassifications:()=>BY,getEncodedSyntacticClassifications:()=>UY,getEndLinePosition:()=>Bw,getEntityNameFromTypeNode:()=>Jw,getEntrypointsFromPackageJsonInfo:()=>zNe,getErrorCountForSummary:()=>JF,getErrorSpanForNode:()=>w0,getErrorSummaryText:()=>hme,getEscapedTextOfIdentifierOrLiteral:()=>MI,getExpandoInitializer:()=>ob,getExportAssignmentExpression:()=>UH,getExportInfoMap:()=>YN,getExportNeedsImportStarHelper:()=>z_e,getExpressionAssociativity:()=>WH,getExpressionPrecedence:()=>$6,getExternalHelpersModuleName:()=>SO,getExternalModuleImportEqualsDeclarationExpression:()=>wI,getExternalModuleName:()=>UA,getExternalModuleNameFromDeclaration:()=>Dce,getExternalModuleNameFromPath:()=>YH,getExternalModuleNameLiteral:()=>jS,getExternalModuleRequireArgument:()=>IH,getFallbackOptions:()=>_N,getFileEmitOutput:()=>Ype,getFileMatcherPatterns:()=>tL,getFileNamesFromConfigSpecs:()=>BO,getFileWatcherEventKind:()=>aoe,getFilesInErrorForSummary:()=>KF,getFirstConstructorWithBody:()=>Vm,getFirstIdentifier:()=>Yd,getFirstNonSpaceCharacterPosition:()=>nge,getFirstProjectOutput:()=>JK,getFixableErrorSpanExpression:()=>IY,getFormatCodeSettingsForWriting:()=>z7,getFullWidth:()=>Fw,getFunctionFlags:()=>pl,getHeritageClause:()=>mR,getHostSignatureFromJSDoc:()=>sb,getIdentifierAutoGenerate:()=>BRe,getIdentifierGeneratedImportReference:()=>Eue,getIdentifierTypeArguments:()=>NT,getImmediatelyInvokedFunctionExpression:()=>ET,getImpliedNodeFormatForFile:()=>NF,getImpliedNodeFormatForFileWorker:()=>uq,getImportNeedsImportDefaultHelper:()=>SK,getImportNeedsImportStarHelper:()=>vF,getIndentSize:()=>YA,getIndentString:()=>Q6,getInitializedVariables:()=>qI,getInitializerOfBinaryExpression:()=>OH,getInitializerOfBindingOrAssignmentElement:()=>AO,getInterfaceBaseTypeNodes:()=>PI,getInternalEmitFlags:()=>o_,getInvokedExpression:()=>P6,getIsolatedModules:()=>d_,getJSDocAugmentsTag:()=>Koe,getJSDocClassTag:()=>Aj,getJSDocCommentRanges:()=>EH,getJSDocCommentsAndTags:()=>PH,getJSDocDeprecatedTag:()=>Cj,getJSDocDeprecatedTagNoCache:()=>ese,getJSDocEnumTag:()=>Ij,getJSDocHost:()=>dS,getJSDocImplementsTags:()=>qoe,getJSDocOverrideTagNoCache:()=>Zoe,getJSDocParameterTags:()=>fI,getJSDocParameterTagsNoCache:()=>joe,getJSDocPrivateTag:()=>jDe,getJSDocPrivateTagNoCache:()=>Yoe,getJSDocProtectedTag:()=>HDe,getJSDocProtectedTagNoCache:()=>$oe,getJSDocPublicTag:()=>VDe,getJSDocPublicTagNoCache:()=>Xoe,getJSDocReadonlyTag:()=>WDe,getJSDocReadonlyTagNoCache:()=>Qoe,getJSDocReturnTag:()=>tse,getJSDocReturnType:()=>Aw,getJSDocRoot:()=>OI,getJSDocSatisfiesExpressionType:()=>JW,getJSDocSatisfiesTag:()=>Lj,getJSDocTags:()=>A0,getJSDocTagsNoCache:()=>JDe,getJSDocTemplateTag:()=>zDe,getJSDocThisTag:()=>e6,getJSDocType:()=>Vy,getJSDocTypeAliasName:()=>iJ,getJSDocTypeAssertionType:()=>T3,getJSDocTypeParameterDeclarations:()=>t4,getJSDocTypeParameterTags:()=>Woe,getJSDocTypeParameterTagsNoCache:()=>zoe,getJSDocTypeTag:()=>x0,getJSXImplicitImportBase:()=>_4,getJSXRuntimeImport:()=>p4,getJSXTransformEnabled:()=>AW,getKeyForCompilerOptions:()=>JJ,getLanguageVariant:()=>RR,getLastChild:()=>yW,getLeadingCommentRanges:()=>Nm,getLeadingCommentRangesOfNode:()=>bH,getLeftmostAccessExpression:()=>$I,getLeftmostExpression:()=>QI,getLineAndCharacterOfPosition:()=>Gs,getLineInfo:()=>F_e,getLineOfLocalPosition:()=>UI,getLineOfLocalPositionFromLineMap:()=>IT,getLineStartPositionForPosition:()=>Wf,getLineStarts:()=>Sh,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>sle,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>ole,getLinesBetweenPositions:()=>oI,getLinesBetweenRangeEndAndRangeStart:()=>pW,getLinesBetweenRangeEndPositions:()=>Wwe,getLiteralText:()=>Bse,getLocalNameForExternalImport:()=>C2,getLocalSymbolForExportDefault:()=>QA,getLocaleSpecificMessage:()=>uo,getLocaleTimeString:()=>EN,getMappedContextSpan:()=>zhe,getMappedDocumentSpan:()=>uY,getMappedLocation:()=>WN,getMatchedFileSpec:()=>Nq,getMatchedIncludeSpec:()=>Pq,getMeaningFromDeclaration:()=>LN,getMeaningFromLocation:()=>ZT,getMembersOfDeclaration:()=>$se,getModeForFileReference:()=>mN,getModeForResolutionAtIndex:()=>aq,getModeForUsageLocation:()=>W_,getModifiedTime:()=>$1,getModifiers:()=>uT,getModuleInstanceState:()=>Gh,getModuleNameStringLiteralAt:()=>GF,getModuleSpecifierEndingPreference:()=>OW,getModuleSpecifierResolverHost:()=>oY,getNameForExportedSymbol:()=>j7,getNameFromIndexInfo:()=>Kse,getNameFromPropertyName:()=>VN,getNameOfAccessExpression:()=>ule,getNameOfCompilerOptionValue:()=>EJ,getNameOfDeclaration:()=>sa,getNameOfExpando:()=>wH,getNameOfJSDocTypedef:()=>Uoe,getNameOrArgument:()=>eR,getNameTable:()=>p$,getNamesForExportedSymbol:()=>mge,getNamespaceDeclarationNode:()=>VA,getNewLineCharacter:()=>db,getNewLineKind:()=>XN,getNewLineOrDefaultFromHost:()=>bb,getNewTargetContainer:()=>oce,getNextJSDocCommentLocation:()=>MH,getNodeForGeneratedName:()=>I3,getNodeId:()=>zo,getNodeKind:()=>aE,getNodeModifiers:()=>rk,getNodeModulePathParts:()=>jW,getNonAssignedNameOfDeclaration:()=>Sj,getNonAssignmentOperatorForCompoundAssignment:()=>WL,getNonAugmentationDeclaration:()=>dH,getNonDecoratorTokenPosOfNode:()=>aH,getNormalizedAbsolutePath:()=>_a,getNormalizedAbsolutePathWithoutRoot:()=>lj,getNormalizedPathComponents:()=>fw,getObjectFlags:()=>Ur,getOperator:()=>JH,getOperatorAssociativity:()=>zH,getOperatorPrecedence:()=>yR,getOptionFromName:()=>gJ,getOptionsNameMap:()=>w2,getOrCreateEmitNode:()=>Lu,getOrCreateExternalHelpersModuleNameIfNeeded:()=>ade,getOrUpdate:()=>VD,getOriginalNode:()=>ec,getOriginalNodeId:()=>sc,getOriginalSourceFile:()=>wwe,getOutputDeclarationFileName:()=>qL,getOutputExtension:()=>zK,getOutputFileNames:()=>BMe,getOutputPathsFor:()=>KL,getOutputPathsForBundle:()=>JL,getOwnEmitOutputFilePath:()=>wce,getOwnKeys:()=>bh,getOwnValues:()=>H1,getPackageJsonInfo:()=>KS,getPackageJsonTypesVersionsPaths:()=>q3,getPackageJsonsVisibleToFile:()=>lge,getPackageNameFromTypesPackageName:()=>ZO,getPackageScopeForPath:()=>eF,getParameterSymbolFromJSDoc:()=>uR,getParameterTypeNode:()=>bRe,getParentNodeInSpan:()=>HN,getParseTreeNode:()=>ea,getParsedCommandLineOfConfigFile:()=>RO,getPathComponents:()=>Ou,getPathComponentsRelativeTo:()=>_j,getPathFromPathComponents:()=>T0,getPathUpdater:()=>jY,getPathsBasePath:()=>ZH,getPatternFromSpec:()=>kW,getPendingEmitKind:()=>G2,getPositionOfLineAndCharacter:()=>gw,getPossibleGenericSignatures:()=>XX,getPossibleOriginalInputExtensionForExtension:()=>Oce,getPossibleTypeArgumentsInfo:()=>YX,getPreEmitDiagnostics:()=>ZMe,getPrecedingNonSpaceCharacterPosition:()=>hY,getPrivateIdentifier:()=>kK,getProperties:()=>CK,getProperty:()=>zD,getPropertyArrayElementValue:()=>rce,getPropertyAssignment:()=>MA,getPropertyAssignmentAliasLikeExpression:()=>xce,getPropertyNameForPropertyNameNode:()=>M0,getPropertyNameForUniqueESSymbol:()=>kwe,getPropertyNameOfBindingOrAssignmentElement:()=>rJ,getPropertySymbolFromBindingElement:()=>I7,getPropertySymbolsFromContextualType:()=>_5,getQuoteFromPreference:()=>Hhe,getQuotePreference:()=>J_,getRangesWhere:()=>PU,getRefactorContextSpan:()=>QS,getReferencedFileLocation:()=>YL,getRegexFromPattern:()=>Qy,getRegularExpressionForWildcard:()=>eL,getRegularExpressionsForWildcards:()=>m4,getRelativePathFromDirectory:()=>Xp,getRelativePathFromFile:()=>_w,getRelativePathToDirectoryOrUrl:()=>Q1,getRenameLocation:()=>KN,getReplacementSpanForContextToken:()=>eY,getResolutionDiagnostic:()=>_q,getResolutionModeOverrideForClause:()=>qS,getResolveJsonModule:()=>RT,getResolvePackageJsonExports:()=>xW,getResolvePackageJsonImports:()=>oRe,getResolvedExternalModuleName:()=>Z6,getResolvedModule:()=>kA,getResolvedTypeReferenceDirective:()=>iwe,getRestIndicatorOfBindingOrAssignmentElement:()=>x3,getRestParameterElementType:()=>SH,getRightMostAssignedExpression:()=>Qw,getRootDeclaration:()=>nm,getRootLength:()=>_p,getScriptKind:()=>mY,getScriptKindFromFileName:()=>RW,getScriptTargetFeatures:()=>oH,getSelectedEffectiveModifierFlags:()=>hS,getSelectedSyntacticModifierFlags:()=>zce,getSemanticClassifications:()=>Cge,getSemanticJsxChildren:()=>bR,getSetAccessorTypeAnnotationNode:()=>Pce,getSetAccessorValueParameter:()=>VI,getSetExternalModuleIndicator:()=>OR,getShebang:()=>K8,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>NH,getSingleVariableOfVariableStatement:()=>HA,getSnapshotText:()=>E7,getSnippetElement:()=>bz,getSourceFileOfModule:()=>m6,getSourceFileOfNode:()=>Gn,getSourceFilePathInNewDir:()=>e4,getSourceFilePathInNewDirWorker:()=>tW,getSourceFileVersionAsHashFromText:()=>XF,getSourceFilesToEmit:()=>eW,getSourceMapRange:()=>pb,getSourceMapper:()=>Xge,getSourceTextOfNodeFromSourceFile:()=>k0,getSpanOfTokenAtPosition:()=>Pg,getSpellingSuggestion:()=>$C,getStartPositionOfLine:()=>Ky,getStartPositionOfRange:()=>KI,getStartsOnNewLine:()=>tO,getStaticPropertiesAndClassStaticBlock:()=>EF,getStrictOptionValue:()=>Uf,getStringComparer:()=>p8,getSuperCallFromStatement:()=>AK,getSuperContainer:()=>Ww,getSupportedCodeFixes:()=>Fye,getSupportedExtensions:()=>nL,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>FR,getSwitchedType:()=>TY,getSymbolId:()=>$a,getSymbolNameForPrivateIdentifier:()=>hR,getSymbolTarget:()=>ege,getSyntacticClassifications:()=>Dge,getSyntacticModifierFlags:()=>Yy,getSyntacticModifierFlagsNoCache:()=>sW,getSynthesizedDeepClone:()=>cc,getSynthesizedDeepCloneWithReplacements:()=>JN,getSynthesizedDeepClones:()=>oE,getSynthesizedDeepClonesWithReplacements:()=>gY,getSyntheticLeadingComments:()=>l2,getSyntheticTrailingComments:()=>rO,getTargetLabel:()=>s7,getTargetOfBindingOrAssignmentElement:()=>iv,getTemporaryModuleResolutionState:()=>Z3,getTextOfConstantValue:()=>Use,getTextOfIdentifierOrLiteral:()=>l_,getTextOfJSDocComment:()=>Cw,getTextOfNode:()=>Qc,getTextOfNodeFromSourceText:()=>AI,getTextOfPropertyName:()=>wA,getThisContainer:()=>Ku,getThisParameter:()=>F0,getTokenAtPosition:()=>Vi,getTokenPosOfNode:()=>gT,getTokenSourceMapRange:()=>FRe,getTouchingPropertyName:()=>ef,getTouchingToken:()=>nk,getTrailingCommentRanges:()=>eb,getTrailingSemicolonDeferringWriter:()=>XH,getTransformFlagsSubtreeExclusions:()=>uue,getTransformers:()=>jK,getTsBuildInfoEmitOutputFilePath:()=>Jg,getTsConfigObjectLiteralExpression:()=>LI,getTsConfigPropArray:()=>Hw,getTsConfigPropArrayElementValue:()=>w6,getTypeAnnotationNode:()=>Mce,getTypeArgumentOrTypeParameterList:()=>Ohe,getTypeKeywordOfTypeOnlyImport:()=>cY,getTypeNode:()=>vue,getTypeNodeIfAccessible:()=>lk,getTypeParameterFromJsDoc:()=>yce,getTypeParameterOwner:()=>BDe,getTypesPackageName:()=>rF,getUILocale:()=>xae,getUniqueName:()=>i1,getUniqueSymbolId:()=>tge,getUseDefineForClassFields:()=>MR,getWatchErrorSummaryDiagnosticMessage:()=>wq,getWatchFactory:()=>Upe,group:()=>YC,groupBy:()=>yae,guessIndentation:()=>xse,handleNoEmitOptions:()=>dq,hasAbstractModifier:()=>B0,hasAccessorModifier:()=>rm,hasAmbientModifier:()=>aW,hasChangesInResolutions:()=>nH,hasChildOfKind:()=>NN,hasContextSensitiveParameters:()=>b4,hasDecorators:()=>bf,hasDocComment:()=>Rhe,hasDynamicName:()=>Xy,hasEffectiveModifier:()=>cd,hasEffectiveModifiers:()=>n4,hasEffectiveReadonlyModifier:()=>jI,hasExtension:()=>gA,hasIndexSignature:()=>EY,hasInitializer:()=>Jy,hasInvalidEscape:()=>KH,hasJSDocNodes:()=>Kd,hasJSDocParameterTags:()=>Joe,hasJSFileExtension:()=>ES,hasJsonModuleEmitEnabled:()=>l4,hasOnlyExpressionInitializer:()=>mT,hasOverrideModifier:()=>iW,hasPossibleExternalModuleReference:()=>zse,hasProperty:()=>fs,hasPropertyAccessExpressionWithName:()=>kN,hasQuestionToken:()=>uS,hasRecordedExternalHelpers:()=>ide,hasRestParameter:()=>Yj,hasScopeMarker:()=>yse,hasStaticModifier:()=>zc,hasSyntacticModifier:()=>Mr,hasSyntacticModifiers:()=>Wce,hasTSFileExtension:()=>GR,hasTabstop:()=>jle,hasTrailingDirectorySeparator:()=>My,hasType:()=>f6,hasTypeArguments:()=>Awe,hasZeroOrOneAsteriskCharacter:()=>CW,helperString:()=>Sz,hostGetCanonicalFileName:()=>lb,hostUsesCaseSensitiveFileNames:()=>xR,idText:()=>vr,identifierIsThisKeyword:()=>rW,identifierToKeywordKind:()=>nb,identity:()=>Ks,identitySourceMapConsumer:()=>yF,ignoreSourceNewlines:()=>Tz,ignoredPaths:()=>uw,importDefaultHelper:()=>e3,importFromModuleSpecifier:()=>aR,importNameElisionDisabled:()=>u4,importStarHelper:()=>aO,indexOfAnyCharCode:()=>cae,indexOfNode:()=>DA,indicesOf:()=>jD,inferredTypesContainingFile:()=>VF,insertImports:()=>L7,insertLeadingStatement:()=>sOe,insertSorted:()=>Ny,insertStatementAfterCustomPrologue:()=>L0,insertStatementAfterStandardPrologue:()=>cwe,insertStatementsAfterCustomPrologue:()=>rH,insertStatementsAfterStandardPrologue:()=>em,intersperse:()=>DU,introducesArgumentsExoticObject:()=>tce,inverseJsxOptionMap:()=>NL,isAbstractConstructorSymbol:()=>cle,isAbstractModifier:()=>Rue,isAccessExpression:()=>Us,isAccessibilityModifier:()=>ZX,isAccessor:()=>rb,isAccessorModifier:()=>Nue,isAliasSymbolDeclaration:()=>Cwe,isAliasableExpression:()=>pR,isAmbientModule:()=>lu,isAmbientPropertyDeclaration:()=>_H,isAnonymousFunctionDefinition:()=>FI,isAnyDirectorySeparator:()=>sj,isAnyImportOrBareOrAccessedRequire:()=>Wse,isAnyImportOrReExport:()=>Uw,isAnyImportSyntax:()=>yT,isAnySupportedFileExtension:()=>mRe,isApplicableVersionedTypesKey:()=>QO,isArgumentExpressionOfElementAccess:()=>BX,isArray:()=>ba,isArrayBindingElement:()=>c6,isArrayBindingOrAssignmentElement:()=>ww,isArrayBindingOrAssignmentPattern:()=>Vj,isArrayBindingPattern:()=>g2,isArrayLiteralExpression:()=>fu,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>qg,isArrayTypeNode:()=>wz,isArrowFunction:()=>xs,isAsExpression:()=>fO,isAssertClause:()=>p3,isAssertEntry:()=>jue,isAssertionExpression:()=>pT,isAssertionKey:()=>ase,isAssertsKeyword:()=>Due,isAssignmentDeclaration:()=>RI,isAssignmentExpression:()=>Iu,isAssignmentOperator:()=>Mg,isAssignmentPattern:()=>vI,isAssignmentTarget:()=>Um,isAsteriskToken:()=>cO,isAsyncFunction:()=>qA,isAsyncModifier:()=>mL,isAutoAccessorPropertyDeclaration:()=>Id,isAwaitExpression:()=>v2,isAwaitKeyword:()=>Dz,isBigIntLiteral:()=>a3,isBinaryExpression:()=>ar,isBinaryOperatorToken:()=>pde,isBindableObjectDefinePropertyCall:()=>sS,isBindableStaticAccessExpression:()=>ST,isBindableStaticElementAccessExpression:()=>H6,isBindableStaticNameExpression:()=>cS,isBindingElement:()=>Wo,isBindingElementOfBareOrAccessedRequire:()=>lce,isBindingName:()=>Mm,isBindingOrAssignmentElement:()=>use,isBindingOrAssignmentPattern:()=>kw,isBindingPattern:()=>La,isBlock:()=>Va,isBlockOrCatchScoped:()=>sH,isBlockScope:()=>pH,isBlockScopedContainerTopLevel:()=>Hse,isBooleanLiteral:()=>ose,isBreakOrContinueStatement:()=>hI,isBreakStatement:()=>qRe,isBuildInfoFile:()=>Ipe,isBuilderProgram:()=>gme,isBundle:()=>Bz,isBundleFileTextLike:()=>dle,isCallChain:()=>dT,isCallExpression:()=>Pa,isCallExpressionTarget:()=>NX,isCallLikeExpression:()=>rS,isCallOrNewExpression:()=>Ih,isCallOrNewExpressionTarget:()=>PX,isCallSignatureDeclaration:()=>_2,isCallToHelper:()=>pL,isCaseBlock:()=>hO,isCaseClause:()=>CL,isCaseKeyword:()=>Pue,isCaseOrDefaultClause:()=>Kj,isCatchClause:()=>E2,isCatchClauseVariableDeclaration:()=>Vle,isCatchClauseVariableDeclarationOrBindingElement:()=>cH,isCheckJsEnabledForFile:()=>HR,isChildOfNodeWithKind:()=>TH,isCircularBuildOrder:()=>YS,isClassDeclaration:()=>sl,isClassElement:()=>_l,isClassExpression:()=>_u,isClassLike:()=>Yr,isClassMemberModifier:()=>Gj,isClassOrTypeElement:()=>s6,isClassStaticBlockDeclaration:()=>oc,isCollapsedRange:()=>Hwe,isColonToken:()=>Iue,isCommaExpression:()=>TO,isCommaListExpression:()=>SL,isCommaSequence:()=>wL,isCommaToken:()=>Cue,isComment:()=>g7,isCommonJsExportPropertyAssignment:()=>k6,isCommonJsExportedExpression:()=>Zse,isCompoundAssignment:()=>oN,isComputedNonLiteralName:()=>Vw,isComputedPropertyName:()=>ts,isConciseBody:()=>u6,isConditionalExpression:()=>b2,isConditionalTypeNode:()=>m2,isConstTypeReference:()=>Ch,isConstructSignatureDeclaration:()=>uO,isConstructorDeclaration:()=>Ec,isConstructorTypeNode:()=>yL,isContextualKeyword:()=>K6,isContinueStatement:()=>KRe,isCustomPrologue:()=>A6,isDebuggerStatement:()=>XRe,isDeclaration:()=>Kl,isDeclarationBindingElement:()=>Lw,isDeclarationFileName:()=>Fu,isDeclarationName:()=>Rh,isDeclarationNameOfEnumOrNamespace:()=>wR,isDeclarationReadonly:()=>x6,isDeclarationStatement:()=>bse,isDeclarationWithTypeParameterChildren:()=>hH,isDeclarationWithTypeParameters:()=>mH,isDecorator:()=>du,isDecoratorTarget:()=>mhe,isDefaultClause:()=>yO,isDefaultImport:()=>lS,isDefaultModifier:()=>kue,isDefaultedExpandoInitializer:()=>dce,isDeleteExpression:()=>Gue,isDeleteTarget:()=>GH,isDeprecatedDeclaration:()=>H7,isDestructuringAssignment:()=>Fg,isDiagnosticWithLocation:()=>CY,isDiskPathRoot:()=>TDe,isDoStatement:()=>zRe,isDotDotDotToken:()=>o3,isDottedName:()=>WI,isDynamicName:()=>Y6,isESSymbolIdentifier:()=>Dwe,isEffectiveExternalModule:()=>aS,isEffectiveModuleDeclaration:()=>jse,isEffectiveStrictModeSourceFile:()=>fH,isElementAccessChain:()=>Dj,isElementAccessExpression:()=>Vs,isEmittedFileOfProgram:()=>Bpe,isEmptyArrayLiteral:()=>Zce,isEmptyBindingElement:()=>Goe,isEmptyBindingPattern:()=>Foe,isEmptyObjectLiteral:()=>dW,isEmptyStatement:()=>Pz,isEmptyStringLiteral:()=>CH,isEndOfDeclarationMarker:()=>QRe,isEntityName:()=>Cd,isEntityNameExpression:()=>bc,isEnumConst:()=>R0,isEnumDeclaration:()=>hb,isEnumMember:()=>q0,isEqualityOperatorKind:()=>R7,isEqualsGreaterThanToken:()=>Lue,isExclamationToken:()=>lO,isExcludedFile:()=>gfe,isExclusivelyTypeOnlyImportOrExport:()=>oq,isExportAssignment:()=>pc,isExportDeclaration:()=>Il,isExportModifier:()=>c3,isExportName:()=>E3,isExportNamespaceAsDefaultDeclaration:()=>v6,isExportOrDefaultModifier:()=>oJ,isExportSpecifier:()=>Mu,isExportsIdentifier:()=>TT,isExportsOrModuleExportsOrAlias:()=>$0,isExpression:()=>ot,isExpressionNode:()=>Dh,isExpressionOfExternalModuleImportEqualsDeclaration:()=>vhe,isExpressionOfOptionalChainRoot:()=>r6,isExpressionStatement:()=>Ol,isExpressionWithTypeArguments:()=>Vg,isExpressionWithTypeArgumentsInClassExtendsClause:()=>IR,isExternalModule:()=>Lc,isExternalModuleAugmentation:()=>D0,isExternalModuleImportEqualsDeclaration:()=>ab,isExternalModuleIndicator:()=>Rw,isExternalModuleNameRelative:()=>fl,isExternalModuleReference:()=>um,isExternalModuleSymbol:()=>BN,isExternalOrCommonJsModule:()=>kd,isFileLevelUniqueName:()=>g6,isFileProbablyExternalModule:()=>LO,isFirstDeclarationOfSymbolParameter:()=>dY,isFixablePromiseHandler:()=>ZY,isForInOrOfStatement:()=>CA,isForInStatement:()=>Mz,isForInitializer:()=>pp,isForOfStatement:()=>_O,isForStatement:()=>FT,isFunctionBlock:()=>bT,isFunctionBody:()=>Hj,isFunctionDeclaration:()=>Jc,isFunctionExpression:()=>ms,isFunctionExpressionOrArrowFunction:()=>a2,isFunctionLike:()=>Ia,isFunctionLikeDeclaration:()=>Ds,isFunctionLikeKind:()=>nS,isFunctionLikeOrClassStaticBlockDeclaration:()=>SA,isFunctionOrConstructorTypeNode:()=>lse,isFunctionOrModuleBlock:()=>Bj,isFunctionSymbol:()=>_ce,isFunctionTypeNode:()=>Jm,isFutureReservedKeyword:()=>Iwe,isGeneratedIdentifier:()=>tc,isGeneratedPrivateIdentifier:()=>tS,isGetAccessor:()=>zy,isGetAccessorDeclaration:()=>p_,isGetOrSetAccessorDeclaration:()=>t6,isGlobalDeclaration:()=>J6e,isGlobalScopeAugmentation:()=>mp,isGrammarError:()=>Nse,isHeritageClause:()=>dd,isHoistedFunction:()=>C6,isHoistedVariableStatement:()=>I6,isIdentifier:()=>Re,isIdentifierANonContextualKeyword:()=>q6,isIdentifierName:()=>Sce,isIdentifierOrThisTypeNode:()=>ude,isIdentifierPart:()=>tb,isIdentifierStart:()=>Pm,isIdentifierText:()=>i_,isIdentifierTypePredicate:()=>nce,isIdentifierTypeReference:()=>Mle,isIfStatement:()=>MT,isIgnoredFileFromWildCardWatching:()=>DF,isImplicitGlob:()=>LW,isImportCall:()=>Dd,isImportClause:()=>lm,isImportDeclaration:()=>gl,isImportEqualsDeclaration:()=>Nl,isImportKeyword:()=>gL,isImportMeta:()=>NA,isImportOrExportSpecifier:()=>eS,isImportOrExportSpecifierName:()=>Zhe,isImportSpecifier:()=>$u,isImportTypeAssertionContainer:()=>Vue,isImportTypeNode:()=>Mh,isImportableFile:()=>PY,isInComment:()=>Kg,isInExpressionContext:()=>F6,isInJSDoc:()=>qw,isInJSFile:()=>Yn,isInJSXText:()=>Dhe,isInJsonFile:()=>B6,isInNonReferenceComment:()=>Ghe,isInReferenceComment:()=>Fhe,isInRightSideOfInternalImportEqualsDeclaration:()=>i7,isInString:()=>n1,isInTemplateString:()=>qX,isInTopLevelContext:()=>O6,isIncrementalCompilation:()=>NR,isIndexSignatureDeclaration:()=>kS,isIndexedAccessTypeNode:()=>OS,isInferTypeNode:()=>h2,isInfinityOrNaNString:()=>cL,isInitializedProperty:()=>sN,isInitializedVariable:()=>mW,isInsideJsxElement:()=>m7,isInsideJsxElementOrAttribute:()=>khe,isInsideNodeModules:()=>dge,isInsideTemplateLiteral:()=>FN,isInstantiatedModule:()=>fK,isInterfaceDeclaration:()=>ku,isInternalDeclaration:()=>BK,isInternalModuleImportEqualsDeclaration:()=>GA,isInternalName:()=>eJ,isIntersectionTypeNode:()=>dO,isIntrinsicJsxName:()=>GI,isIterationStatement:()=>Wy,isJSDoc:()=>dm,isJSDocAllType:()=>Kue,isJSDocAugmentsTag:()=>x2,isJSDocAuthorTag:()=>tOe,isJSDocCallbackTag:()=>Vz,isJSDocClassTag:()=>Xue,isJSDocCommentContainingNode:()=>qj,isJSDocConstructSignature:()=>jA,isJSDocDeprecatedTag:()=>Jz,isJSDocEnumTag:()=>vO,isJSDocFunctionType:()=>S2,isJSDocImplementsTag:()=>qz,isJSDocIndexSignature:()=>U6,isJSDocLikeText:()=>cJ,isJSDocLink:()=>zue,isJSDocLinkCode:()=>Jue,isJSDocLinkLike:()=>iS,isJSDocLinkPlain:()=>ZRe,isJSDocMemberName:()=>gb,isJSDocNameReference:()=>IL,isJSDocNamepathType:()=>eOe,isJSDocNamespaceBody:()=>ZDe,isJSDocNode:()=>IA,isJSDocNonNullableType:()=>m3,isJSDocNullableType:()=>T2,isJSDocOptionalParameter:()=>JR,isJSDocOptionalType:()=>Uz,isJSDocOverloadTag:()=>kL,isJSDocOverrideTag:()=>g3,isJSDocParameterTag:()=>xp,isJSDocPrivateTag:()=>Hz,isJSDocPropertyLikeTag:()=>a6,isJSDocPropertyTag:()=>$ue,isJSDocProtectedTag:()=>Wz,isJSDocPublicTag:()=>jz,isJSDocReadonlyTag:()=>zz,isJSDocReturnTag:()=>y3,isJSDocSatisfiesExpression:()=>zW,isJSDocSatisfiesTag:()=>v3,isJSDocSeeTag:()=>nOe,isJSDocSignature:()=>X0,isJSDocTag:()=>EI,isJSDocTemplateTag:()=>H_,isJSDocThisTag:()=>Yue,isJSDocThrowsTag:()=>iOe,isJSDocTypeAlias:()=>Ff,isJSDocTypeAssertion:()=>RL,isJSDocTypeExpression:()=>UT,isJSDocTypeLiteral:()=>LL,isJSDocTypeTag:()=>DL,isJSDocTypedefTag:()=>Kz,isJSDocUnknownTag:()=>rOe,isJSDocUnknownType:()=>que,isJSDocVariadicType:()=>h3,isJSXTagName:()=>DI,isJsonEqual:()=>GW,isJsonSourceFile:()=>Mf,isJsxAttribute:()=>Sp,isJsxAttributeLike:()=>d6,isJsxAttributes:()=>K0,isJsxChild:()=>Pw,isJsxClosingElement:()=>GS,isJsxClosingFragment:()=>Hue,isJsxElement:()=>Hg,isJsxExpression:()=>AL,isJsxFragment:()=>BS,isJsxOpeningElement:()=>Xm,isJsxOpeningFragment:()=>US,isJsxOpeningLikeElement:()=>Au,isJsxOpeningLikeElementTagName:()=>hhe,isJsxSelfClosingElement:()=>FS,isJsxSpreadAttribute:()=>GT,isJsxTagNameExpression:()=>bI,isJsxText:()=>CS,isJumpStatementTarget:()=>DN,isKeyword:()=>Xu,isKnownSymbol:()=>gR,isLabelName:()=>FX,isLabelOfLabeledStatement:()=>MX,isLabeledStatement:()=>J0,isLateVisibilityPaintedStatement:()=>E6,isLeftHandSideExpression:()=>Ju,isLeftHandSideOfAssignment:()=>Bwe,isLet:()=>II,isLineBreak:()=>Wl,isLiteralComputedPropertyDeclarationName:()=>_R,isLiteralExpression:()=>fT,isLiteralExpressionOfObject:()=>Pj,isLiteralImportTypeNode:()=>ib,isLiteralKind:()=>gI,isLiteralLikeAccess:()=>j6,isLiteralLikeElementAccess:()=>Zw,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>c7,isLiteralTypeLikeExpression:()=>hOe,isLiteralTypeLiteral:()=>hse,isLiteralTypeNode:()=>mb,isLocalName:()=>rv,isLogicalOperator:()=>Yce,isLogicalOrCoalescingAssignmentExpression:()=>cW,isLogicalOrCoalescingAssignmentOperator:()=>HI,isLogicalOrCoalescingBinaryExpression:()=>CR,isLogicalOrCoalescingBinaryOperator:()=>AR,isMappedTypeNode:()=>EL,isMemberName:()=>Ah,isMergeDeclarationMarker:()=>$Re,isMetaProperty:()=>TL,isMethodDeclaration:()=>Nc,isMethodOrAccessor:()=>xA,isMethodSignature:()=>zm,isMinusToken:()=>kz,isMissingDeclaration:()=>YRe,isModifier:()=>Ha,isModifierKind:()=>Rg,isModifierLike:()=>Ns,isModuleAugmentationExternal:()=>uH,isModuleBlock:()=>Tp,isModuleBody:()=>vse,isModuleDeclaration:()=>Tc,isModuleExportsAccessExpression:()=>Bm,isModuleIdentifier:()=>RH,isModuleName:()=>_de,isModuleOrEnumDeclaration:()=>Ow,isModuleReference:()=>Tse,isModuleSpecifierLike:()=>C7,isModuleWithStringLiteralName:()=>b6,isNameOfFunctionDeclaration:()=>VX,isNameOfModuleDeclaration:()=>UX,isNamedClassElement:()=>cse,isNamedDeclaration:()=>zl,isNamedEvaluation:()=>vf,isNamedEvaluationSource:()=>VH,isNamedExportBindings:()=>Rj,isNamedExports:()=>h_,isNamedImportBindings:()=>Wj,isNamedImports:()=>jg,isNamedImportsOrExports:()=>bW,isNamedTupleMember:()=>bL,isNamespaceBody:()=>QDe,isNamespaceExport:()=>qm,isNamespaceExportDeclaration:()=>gO,isNamespaceImport:()=>nv,isNamespaceReexportDeclaration:()=>cce,isNewExpression:()=>z0,isNewExpressionTarget:()=>ZL,isNightly:()=>TR,isNoSubstitutionTemplateLiteral:()=>IS,isNode:()=>XDe,isNodeArray:()=>C0,isNodeArrayMultiLine:()=>ale,isNodeDescendantOf:()=>AT,isNodeKind:()=>Iw,isNodeLikeSystem:()=>qU,isNodeModulesDirectory:()=>H8,isNodeWithPossibleHoistedDeclaration:()=>vce,isNonContextualKeyword:()=>Ace,isNonExportDefaultModifier:()=>NOe,isNonGlobalAmbientModule:()=>lH,isNonGlobalDeclaration:()=>vge,isNonNullAccess:()=>Hle,isNonNullChain:()=>i6,isNonNullExpression:()=>PS,isNonStaticMethodOrAccessorWithPrivateName:()=>K_e,isNotEmittedOrPartiallyEmittedNode:()=>$De,isNotEmittedStatement:()=>Gz,isNullishCoalesce:()=>wj,isNumber:()=>Cg,isNumericLiteral:()=>Vf,isNumericLiteralName:()=>Wm,isObjectBindingElementWithoutPropertyName:()=>jN,isObjectBindingOrAssignmentElement:()=>Dw,isObjectBindingOrAssignmentPattern:()=>Uj,isObjectBindingPattern:()=>cm,isObjectLiteralElement:()=>Xj,isObjectLiteralElementLike:()=>Og,isObjectLiteralExpression:()=>rs,isObjectLiteralMethod:()=>s_,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>D6,isObjectTypeDeclaration:()=>yS,isOctalDigit:()=>hj,isOmittedExpression:()=>ol,isOptionalChain:()=>Jl,isOptionalChainRoot:()=>pI,isOptionalDeclaration:()=>WW,isOptionalJSDocPropertyLikeTag:()=>zR,isOptionalTypeNode:()=>Rz,isOuterExpression:()=>S3,isOutermostOptionalChain:()=>mI,isOverrideModifier:()=>Oue,isPackedArrayLiteral:()=>UW,isParameter:()=>ha,isParameterDeclaration:()=>CT,isParameterOrCatchClauseVariable:()=>VW,isParameterPropertyDeclaration:()=>Ad,isParameterPropertyModifier:()=>yI,isParenthesizedExpression:()=>ud,isParenthesizedTypeNode:()=>wS,isParseTreeNode:()=>dI,isPartOfTypeNode:()=>Gm,isPartOfTypeQuery:()=>G6,isPartiallyEmittedExpression:()=>_3,isPatternMatch:()=>h8,isPinnedComment:()=>y6,isPlainJsFile:()=>h6,isPlusToken:()=>Lz,isPossiblyTypeArgumentPosition:()=>MN,isPostfixUnaryExpression:()=>Nz,isPrefixUnaryExpression:()=>tv,isPrivateIdentifier:()=>pi,isPrivateIdentifierClassElementDeclaration:()=>xu,isPrivateIdentifierPropertyAccessExpression:()=>TA,isPrivateIdentifierSymbol:()=>Cce,isProgramBundleEmitBuildInfo:()=>ame,isProgramUptoDate:()=>lq,isPrologueDirective:()=>B_,isPropertyAccessChain:()=>n6,isPropertyAccessEntityNameExpression:()=>LR,isPropertyAccessExpression:()=>br,isPropertyAccessOrQualifiedName:()=>fse,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>dse,isPropertyAssignment:()=>yl,isPropertyDeclaration:()=>Na,isPropertyName:()=>Ys,isPropertyNameLiteral:()=>c_,isPropertySignature:()=>$d,isProtoSetter:()=>Ice,isPrototypeAccess:()=>ub,isPrototypePropertyAssignment:()=>nR,isPunctuation:()=>Phe,isPushOrUnshiftIdentifier:()=>jH,isQualifiedName:()=>Yu,isQuestionDotToken:()=>s3,isQuestionOrExclamationToken:()=>lde,isQuestionOrPlusOrMinusToken:()=>fde,isQuestionToken:()=>ev,isRawSourceMap:()=>B_e,isReadonlyKeyword:()=>wue,isReadonlyKeywordOrPlusOrMinusToken:()=>dde,isRecognizedTripleSlashComment:()=>iH,isReferenceFileLocation:()=>F2,isReferencedFile:()=>vb,isRegularExpressionLiteral:()=>Cz,isRequireCall:()=>qu,isRequireVariableStatement:()=>DH,isRestParameter:()=>Fm,isRestTypeNode:()=>Oz,isReturnStatement:()=>j_,isReturnStatementWithFixablePromiseHandler:()=>r5,isRightSideOfAccessExpression:()=>$ce,isRightSideOfPropertyAccess:()=>j2,isRightSideOfQualifiedName:()=>yhe,isRightSideOfQualifiedNameOrPropertyAccess:()=>zI,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>Qce,isRootedDiskPath:()=>qp,isSameEntityName:()=>BA,isSatisfiesExpression:()=>HRe,isScopeMarker:()=>gse,isSemicolonClassElement:()=>Bue,isSetAccessor:()=>Ng,isSetAccessorDeclaration:()=>Sf,isShebangTrivia:()=>gj,isShorthandAmbientModuleSymbol:()=>CI,isShorthandPropertyAssignment:()=>xf,isSignedNumericLiteral:()=>X6,isSimpleCopiableExpression:()=>Z0,isSimpleInlineableExpression:()=>Ap,isSingleOrDoubleQuote:()=>Xw,isSourceFile:()=>Li,isSourceFileFromLibrary:()=>dk,isSourceFileJS:()=>Cu,isSourceFileNotJS:()=>vwe,isSourceFileNotJson:()=>LH,isSourceMapping:()=>U_e,isSpecialPropertyDeclaration:()=>fce,isSpreadAssignment:()=>VS,isSpreadElement:()=>Km,isStatement:()=>ca,isStatementButNotDeclaration:()=>Nw,isStatementOrBlock:()=>Ese,isStatementWithLocals:()=>Ose,isStatic:()=>Ca,isStaticModifier:()=>LS,isString:()=>Ta,isStringAKeyword:()=>Lwe,isStringANonContextualKeyword:()=>fS,isStringAndEmptyAnonymousObjectIntersection:()=>Nhe,isStringDoubleQuoted:()=>V6,isStringLiteral:()=>yo,isStringLiteralLike:()=>es,isStringLiteralOrJsxExpression:()=>Sse,isStringLiteralOrTemplate:()=>age,isStringOrNumericLiteralLike:()=>yf,isStringOrRegularExpressionOrTemplateLiteral:()=>QX,isStringTextContainingNode:()=>Fj,isSuperCall:()=>OA,isSuperKeyword:()=>hL,isSuperOrSuperProperty:()=>ywe,isSuperProperty:()=>Pu,isSupportedSourceFileName:()=>wle,isSwitchStatement:()=>pO,isSyntaxList:()=>A2,isSyntheticExpression:()=>WRe,isSyntheticReference:()=>MS,isTagName:()=>GX,isTaggedTemplateExpression:()=>PT,isTaggedTemplateTag:()=>phe,isTemplateExpression:()=>d3,isTemplateHead:()=>f2,isTemplateLiteral:()=>AA,isTemplateLiteralKind:()=>Hy,isTemplateLiteralToken:()=>rse,isTemplateLiteralTypeNode:()=>jRe,isTemplateLiteralTypeSpan:()=>Mue,isTemplateMiddle:()=>Aue,isTemplateMiddleOrTemplateTail:()=>o6,isTemplateSpan:()=>xL,isTemplateTail:()=>Iz,isTextWhiteSpaceLike:()=>Whe,isThis:()=>H2,isThisContainerOrFunctionBlock:()=>ace,isThisIdentifier:()=>LT,isThisInTypeQuery:()=>mS,isThisInitializedDeclaration:()=>N6,isThisInitializedObjectBindingExpression:()=>sce,isThisProperty:()=>zw,isThisTypeNode:()=>u3,isThisTypeParameter:()=>lL,isThisTypePredicate:()=>hwe,isThrowStatement:()=>Fz,isToken:()=>Z1,isTokenKind:()=>Nj,isTraceEnabled:()=>ov,isTransientSymbol:()=>Zp,isTrivia:()=>KA,isTryStatement:()=>mO,isTupleTypeNode:()=>p2,isTypeAlias:()=>sR,isTypeAliasDeclaration:()=>Ep,isTypeAssertionExpression:()=>Fue,isTypeDeclaration:()=>o2,isTypeElement:()=>_T,isTypeKeyword:()=>ik,isTypeKeywordToken:()=>rY,isTypeKeywordTokenOrIdentifier:()=>b7,isTypeLiteralNode:()=>Rd,isTypeNode:()=>bi,isTypeNodeKind:()=>vW,isTypeOfExpression:()=>y2,isTypeOnlyExportDeclaration:()=>ise,isTypeOnlyImportDeclaration:()=>Mj,isTypeOnlyImportOrExportDeclaration:()=>I0,isTypeOperatorNode:()=>RS,isTypeParameterDeclaration:()=>_c,isTypePredicateNode:()=>l3,isTypeQueryNode:()=>vL,isTypeReferenceNode:()=>m_,isTypeReferenceType:()=>_6,isUMDExportSymbol:()=>o4,isUnaryExpression:()=>jj,isUnaryExpressionWithWrite:()=>mse,isUnicodeIdentifierStart:()=>W8,isUnionTypeNode:()=>DS,isUnparsedNode:()=>Oj,isUnparsedPrepend:()=>Wue,isUnparsedSource:()=>BT,isUnparsedTextLike:()=>nse,isUrl:()=>doe,isValidBigIntString:()=>v4,isValidESSymbolDeclaration:()=>ece,isValidTypeOnlyAliasUseSite:()=>TS,isValueSignatureDeclaration:()=>bce,isVarConst:()=>kh,isVariableDeclaration:()=>wi,isVariableDeclarationInVariableStatement:()=>L6,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>N0,isVariableDeclarationInitializedToRequire:()=>kH,isVariableDeclarationList:()=>pu,isVariableLike:()=>PA,isVariableLikeOrAccessor:()=>Qse,isVariableStatement:()=>Bc,isVoidExpression:()=>NS,isWatchSet:()=>Jwe,isWhileStatement:()=>JRe,isWhiteSpaceLike:()=>xh,isWhiteSpaceSingleLine:()=>Yp,isWithStatement:()=>Uue,isWriteAccess:()=>YI,isWriteOnlyAccess:()=>hW,isYieldExpression:()=>f3,jsxModeNeedsExplicitImport:()=>wY,keywordPart:()=>_d,last:()=>To,lastOrUndefined:()=>Os,length:()=>Fn,libMap:()=>jO,libs:()=>VO,lineBreakPart:()=>K2,linkNamePart:()=>$he,linkPart:()=>_Y,linkTextPart:()=>k7,listFiles:()=>Rq,loadModuleFromGlobalCache:()=>s_e,loadWithModeAwareCache:()=>hN,makeIdentifierFromModuleName:()=>Vse,makeImport:()=>Xg,makeImportIfNecessary:()=>jhe,makeStringLiteral:()=>S7,mangleScopedPackageName:()=>UL,map:()=>on,mapAllOrFail:()=>NU,mapDefined:()=>Zi,mapDefinedEntries:()=>bke,mapDefinedIterator:()=>UD,mapEntries:()=>uae,mapIterator:()=>RU,mapOneOrMany:()=>pge,mapToDisplayParts:()=>uv,matchFiles:()=>wW,matchPatternOrExact:()=>NW,matchedText:()=>Dae,matchesExclude:()=>G3,maybeBind:()=>ho,maybeSetLocalizedDiagnosticMessages:()=>mle,memoize:()=>zu,memoizeCached:()=>Eae,memoizeOne:()=>Jp,memoizeWeak:()=>wke,metadataHelper:()=>P4,min:()=>WU,minAndMax:()=>Nle,missingFileModifiedTime:()=>Eh,modifierToFlag:()=>gS,modifiersToFlags:()=>im,moduleOptionDeclaration:()=>NJ,moduleResolutionIsEqualTo:()=>wse,moduleResolutionNameAndModeGetter:()=>QL,moduleResolutionOptionDeclarations:()=>U3,moduleResolutionSupportsPackageJsonExportsAndImports:()=>bS,moduleResolutionUsesNodeModules:()=>T7,moduleSpecifiers:()=>Q0,moveEmitHelpers:()=>gue,moveRangeEnd:()=>i4,moveRangePastDecorators:()=>$y,moveRangePastModifiers:()=>yp,moveRangePos:()=>fb,moveSyntheticComments:()=>pue,mutateMap:()=>e2,mutateMapSkippingNewValues:()=>Oh,needsParentheses:()=>bY,needsScopeMarker:()=>l6,newCaseClauseTracker:()=>J7,newPrivateEnvironment:()=>Y_e,noEmitNotification:()=>cN,noEmitSubstitution:()=>zL,noTransformers:()=>HK,noTruncationMaximumTruncationLength:()=>x4,nodeCanBeDecorated:()=>M6,nodeHasName:()=>xw,nodeIsDecorated:()=>FA,nodeIsMissing:()=>rc,nodeIsPresent:()=>Pf,nodeIsSynthesized:()=>ws,nodeModuleNameResolver:()=>zfe,nodeModulesPathPart:()=>Wg,nodeNextJsonConfigResolver:()=>Jfe,nodeOrChildIsDecorated:()=>Kw,nodeOverlapsWithStartEnd:()=>HX,nodePosToString:()=>swe,nodeSeenTracker:()=>W2,nodeStartsNewLexicalEnvironment:()=>HH,nodeToDisplayParts:()=>B6e,noop:()=>Ba,noopFileWatcher:()=>B2,noopPush:()=>E8,normalizePath:()=>So,normalizeSlashes:()=>Al,not:()=>y8,notImplemented:()=>Sa,notImplementedResolver:()=>LF,nullNodeConverters:()=>dz,nullParenthesizerRules:()=>uz,nullTransformationContext:()=>Bh,objectAllocator:()=>ml,operatorPart:()=>ak,optionDeclarations:()=>Fh,optionMapToObject:()=>bJ,optionsAffectingProgramStructure:()=>GJ,optionsForBuild:()=>UJ,optionsForWatch:()=>HO,optionsHaveChanges:()=>LA,optionsHaveModuleResolutionChanges:()=>Cse,or:()=>Kp,orderedRemoveItem:()=>m8,orderedRemoveItemAt:()=>y0,outFile:()=>Ss,packageIdToPackageName:()=>p6,packageIdToString:()=>hT,padLeft:()=>J1,padRight:()=>Mke,paramHelper:()=>M4,parameterIsThisKeyword:()=>G0,parameterNamePart:()=>Khe,parseBaseNodeFactory:()=>_J,parseBigInt:()=>Ple,parseBuildCommand:()=>QOe,parseCommandLine:()=>$Oe,parseCommandLineWorker:()=>hJ,parseConfigFileTextToJson:()=>vJ,parseConfigFileWithSystem:()=>L8e,parseConfigHostFromCompilerHostLike:()=>FF,parseCustomTypeOption:()=>O3,parseIsolatedEntityName:()=>zS,parseIsolatedJSDocComment:()=>Mde,parseJSDocTypeExpressionForTests:()=>zOe,parseJsonConfigFileContent:()=>cNe,parseJsonSourceFileConfigFileContent:()=>MO,parseJsonText:()=>wO,parseListTypeOption:()=>Kde,parseNodeFactory:()=>fm,parseNodeModuleFromPath:()=>XJ,parsePackageName:()=>ZJ,parsePseudoBigInt:()=>iL,parseValidBigInt:()=>BW,patchWriteFileEnsuringDirectory:()=>uoe,pathContainsNodeModules:()=>JS,pathIsAbsolute:()=>nI,pathIsBareSpecifier:()=>cj,pathIsRelative:()=>Jd,patternText:()=>kae,perfLogger:()=>fp,performIncrementalCompilation:()=>D8e,performance:()=>ZD,plainJSErrors:()=>jF,positionBelongsToNode:()=>WX,positionIsASICandidate:()=>N7,positionIsSynthesized:()=>vp,positionsAreOnSameLine:()=>Bf,preProcessFile:()=>qge,probablyUsesSemicolons:()=>P7,processCommentPragmas:()=>dJ,processPragmasIntoFields:()=>fJ,processTaggedTemplateExpression:()=>OK,programContainsEsModules:()=>Vhe,programContainsModules:()=>Uhe,projectReferenceIsEqualTo:()=>tH,propKeyHelper:()=>X4,propertyNamePart:()=>qhe,pseudoBigIntToString:()=>j0,punctuationPart:()=>Yl,pushIfUnique:()=>Of,quote:()=>ck,quotePreferenceFromString:()=>sY,rangeContainsPosition:()=>wN,rangeContainsPositionExclusive:()=>RN,rangeContainsRange:()=>Od,rangeContainsRangeExclusive:()=>bhe,rangeContainsStartEnd:()=>ON,rangeEndIsOnSameLineAsRangeStart:()=>DR,rangeEndPositionsAreOnSameLine:()=>rle,rangeEquals:()=>GU,rangeIsOnSingleLine:()=>DT,rangeOfNode:()=>MW,rangeOfTypeParameters:()=>FW,rangeOverlapsWithStartEnd:()=>tk,rangeStartIsOnSameLineAsRangeEnd:()=>ile,rangeStartPositionsAreOnSameLine:()=>a4,readBuilderProgram:()=>QF,readConfigFile:()=>OO,readHelper:()=>K4,readJson:()=>JI,readJsonConfigFile:()=>$de,readJsonOrUndefined:()=>fW,realizeDiagnostics:()=>b$,reduceEachLeadingCommentRange:()=>goe,reduceEachTrailingCommentRange:()=>yoe,reduceLeft:()=>ou,reduceLeftIterator:()=>yke,reducePathComponents:()=>oT,refactor:()=>Ok,regExpEscape:()=>lRe,relativeComplement:()=>fae,removeAllComments:()=>ZR,removeEmitHelper:()=>GRe,removeExtension:()=>UR,removeFileExtension:()=>ld,removeIgnoredPath:()=>Dq,removeMinAndVersionNumbers:()=>Lae,removeOptionality:()=>whe,removePrefix:()=>QC,removeSuffix:()=>pA,removeTrailingDirectorySeparator:()=>sT,repeatString:()=>UN,replaceElement:()=>UU,resolutionExtensionIsTSOrJson:()=>VR,resolveConfigFileProjectName:()=>Hq,resolveJSModule:()=>jfe,resolveModuleName:()=>FL,resolveModuleNameFromCache:()=>FNe,resolvePackageNameToPackageJson:()=>wNe,resolvePath:()=>Fy,resolveProjectReferencePath:()=>$L,resolveTripleslashReference:()=>wF,resolveTypeReferenceDirective:()=>HJ,resolvingEmptyArray:()=>S4,restHelper:()=>H4,returnFalse:()=>m0,returnNoopFileWatcher:()=>TN,returnTrue:()=>h0,returnUndefined:()=>Qv,returnsPromise:()=>QY,runInitializersHelper:()=>G4,sameFlatMap:()=>lae,sameMap:()=>Tl,sameMapping:()=>APe,scanShebangTrivia:()=>yj,scanTokenAtPosition:()=>Xse,scanner:()=>$l,screenStartingMessageCodes:()=>$F,semanticDiagnosticsOptionDeclarations:()=>PJ,serializeCompilerOptions:()=>TJ,server:()=>dhe,servicesVersion:()=>m$,setCommentRange:()=>hl,setConfigFileInOptions:()=>xJ,setConstantValue:()=>hue,setEachParent:()=>i2,setEmitFlags:()=>Jn,setFunctionNameHelper:()=>Y4,setGetSourceFileAsHashVersioned:()=>YF,setIdentifierAutoGenerate:()=>iO,setIdentifierGeneratedImportReference:()=>bue,setIdentifierTypeArguments:()=>Ug,setInternalEmitFlags:()=>eO,setLocalizedDiagnosticMessages:()=>ple,setModuleDefaultHelper:()=>Z4,setNodeFlags:()=>Gle,setObjectAllocator:()=>_le,setOriginalNode:()=>Ir,setParent:()=>go,setParentRecursive:()=>Zy,setPrivateIdentifier:()=>JT,setResolvedModule:()=>kse,setResolvedTypeReferenceDirective:()=>Dse,setSnippetElement:()=>Ez,setSourceMapRange:()=>Ho,setStackTraceLimit:()=>dDe,setStartsOnNewLine:()=>vz,setSyntheticLeadingComments:()=>W0,setSyntheticTrailingComments:()=>u2,setSys:()=>bDe,setSysLog:()=>ooe,setTextRange:()=>it,setTextRangeEnd:()=>r2,setTextRangePos:()=>aL,setTextRangePosEnd:()=>om,setTextRangePosWidth:()=>oL,setTokenSourceMapRange:()=>_ue,setTypeNode:()=>yue,setUILocale:()=>Aae,setValueDeclaration:()=>rR,shouldAllowImportingTsExtension:()=>VL,shouldPreserveConstEnums:()=>U0,shouldUseUriStyleNodeCoreModules:()=>W7,showModuleSpecifier:()=>lle,signatureHasLiteralTypes:()=>_K,signatureHasRestParameter:()=>Xl,signatureToDisplayParts:()=>pY,single:()=>BU,singleElementArray:()=>aT,singleIterator:()=>Eke,singleOrMany:()=>zp,singleOrUndefined:()=>Wp,skipAlias:()=>wd,skipAssertions:()=>fOe,skipConstraint:()=>iY,skipOuterExpressions:()=>ql,skipParentheses:()=>vs,skipPartiallyEmittedExpressions:()=>a_,skipTrivia:()=>xo,skipTypeChecking:()=>rL,skipTypeParentheses:()=>FH,skipWhile:()=>Nae,sliceAfter:()=>PW,some:()=>vt,sort:()=>XC,sortAndDeduplicate:()=>HD,sortAndDeduplicateDiagnostics:()=>vA,sourceFileAffectingCompilerOptions:()=>V3,sourceFileMayBeEmitted:()=>pS,sourceMapCommentRegExp:()=>hF,sourceMapCommentRegExpDontCareLineStart:()=>TK,spacePart:()=>Qs,spanMap:()=>c8,spreadArrayHelper:()=>q4,stableSort:()=>Ag,startEndContainsRange:()=>jX,startEndOverlapsWithStartEnd:()=>l7,startOnNewLine:()=>mu,startTracing:()=>eoe,startsWith:()=>na,startsWithDirectory:()=>fj,startsWithUnderscore:()=>DY,startsWithUseStrict:()=>nde,stringContains:()=>jl,stringContainsAt:()=>yge,stringToToken:()=>lT,stripQuotes:()=>u_,supportedDeclarationExtensions:()=>I4,supportedJSExtensions:()=>cz,supportedJSExtensionsFlat:()=>dL,supportedLocaleDirectories:()=>Qj,supportedTSExtensions:()=>c2,supportedTSExtensionsFlat:()=>sz,supportedTSImplementationExtensions:()=>L4,suppressLeadingAndTrailingTrivia:()=>pd,suppressLeadingTrivia:()=>D7,suppressTrailingTrivia:()=>ige,symbolEscapedNameNoDefault:()=>A7,symbolName:()=>fc,symbolNameNoDefault:()=>x7,symbolPart:()=>Jhe,symbolToDisplayParts:()=>ok,syntaxMayBeASICandidate:()=>NY,syntaxRequiresTrailingSemicolonOrASI:()=>O7,sys:()=>xl,sysLog:()=>ow,tagNamesAreEquivalent:()=>yb,takeWhile:()=>v8,targetOptionDeclaration:()=>zO,templateObjectHelper:()=>J4,testFormatSettings:()=>_he,textChangeRangeIsUnchanged:()=>Moe,textChangeRangeNewSpan:()=>uI,textChanges:()=>nr,textOrKeywordPart:()=>fY,textPart:()=>tf,textRangeContainsPositionInclusive:()=>Y8,textSpanContainsPosition:()=>bj,textSpanContainsTextSpan:()=>Roe,textSpanEnd:()=>wl,textSpanIntersection:()=>Poe,textSpanIntersectsWith:()=>$8,textSpanIntersectsWithPosition:()=>Noe,textSpanIntersectsWithTextSpan:()=>FDe,textSpanIsEmpty:()=>woe,textSpanOverlap:()=>Ooe,textSpanOverlapsWith:()=>MDe,textSpansEqual:()=>J2,textToKeywordObj:()=>Ew,timestamp:()=>Ms,toArray:()=>qD,toBuilderFileEmit:()=>lme,toBuilderStateFileInfoForMultiEmit:()=>cme,toEditorSettings:()=>tP,toFileNameLowerCase:()=>n_,toLowerCase:()=>bae,toPath:()=>Ts,toProgramEmitPending:()=>ume,tokenIsIdentifierOrKeyword:()=>Su,tokenIsIdentifierOrKeywordOrGreaterThan:()=>moe,tokenToString:()=>Xa,trace:()=>Xi,tracing:()=>ai,tracingEnabled:()=>ew,transform:()=>p3e,transformClassFields:()=>tpe,transformDeclarations:()=>UK,transformECMAScriptModule:()=>GK,transformES2015:()=>mpe,transformES2016:()=>_pe,transformES2017:()=>ape,transformES2018:()=>ope,transformES2019:()=>spe,transformES2020:()=>cpe,transformES2021:()=>lpe,transformES5:()=>hpe,transformESDecorators:()=>ipe,transformESNext:()=>upe,transformGenerators:()=>gpe,transformJsx:()=>dpe,transformLegacyDecorators:()=>rpe,transformModule:()=>FK,transformNodeModule:()=>bpe,transformNodes:()=>lN,transformSystemModule:()=>vpe,transformTypeScript:()=>Z_e,transpile:()=>U4e,transpileModule:()=>iye,transpileOptionValueCompilerOptions:()=>BJ,trimString:()=>v0,trimStringEnd:()=>$D,trimStringStart:()=>ZC,tryAddToSet:()=>_0,tryAndIgnoreErrors:()=>B7,tryCast:()=>zr,tryDirectoryExists:()=>G7,tryExtractTSExtension:()=>r4,tryFileExists:()=>F7,tryGetClassExtendingExpressionWithTypeArguments:()=>lW,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>uW,tryGetDirectories:()=>M7,tryGetExtensionFromPath:()=>Hm,tryGetImportFromModuleSpecifier:()=>oR,tryGetJSDocSatisfiesTypeNode:()=>T4,tryGetModuleNameFromFile:()=>xO,tryGetModuleSpecifierFromDeclaration:()=>iR,tryGetNativePerformanceHooks:()=>Yae,tryGetPropertyAccessOrIdentifierToString:()=>kR,tryGetPropertyNameOfBindingOrAssignmentElement:()=>A3,tryGetSourceMappingURL:()=>G_e,tryGetTextOfPropertyName:()=>T6,tryIOAndConsumeErrors:()=>U7,tryParsePattern:()=>n2,tryParsePatterns:()=>g4,tryParseRawSourceMap:()=>bK,tryReadDirectory:()=>xY,tryReadFile:()=>NO,tryRemoveDirectoryPrefix:()=>IW,tryRemoveExtension:()=>Ole,tryRemovePrefix:()=>KU,tryRemoveSuffix:()=>Iae,typeAcquisitionDeclarations:()=>H3,typeAliasNamePart:()=>Xhe,typeDirectiveIsEqualTo:()=>Rse,typeKeywords:()=>K7,typeParameterNamePart:()=>Yhe,typeReferenceResolutionNameAndModeGetter:()=>yN,typeToDisplayParts:()=>zN,unchangedPollThresholds:()=>lw,unchangedTextChangeRange:()=>$j,unescapeLeadingUnderscores:()=>Gi,unmangleScopedPackageName:()=>iF,unorderedRemoveItem:()=>YD,unorderedRemoveItemAt:()=>zU,unreachableCodeIsError:()=>Tle,unusedLabelIsError:()=>Sle,unwrapInnermostStatementOfLabel:()=>xH,updateErrorForNoInputFiles:()=>CJ,updateLanguageServiceSourceFile:()=>_$,updateMissingFilePathsWatch:()=>Gpe,updatePackageJsonWatch:()=>YMe,updateResolutionField:()=>N2,updateSharedExtendedConfigFileWatcher:()=>YK,updateSourceFile:()=>uJ,updateWatchingWildcardDirectories:()=>kF,usesExtensionsOnImports:()=>Dle,usingSingleLineStringWriter:()=>SI,utf16EncodeAsString:()=>lI,validateLocaleAndSetLanguage:()=>UDe,valuesHelper:()=>$4,version:()=>Rf,versionMajorMinor:()=>Sg,visitArray:()=>vK,visitCommaListElements:()=>aN,visitEachChild:()=>xn,visitFunctionBody:()=>Zd,visitIterationBody:()=>jf,visitLexicalEnvironment:()=>mF,visitNode:()=>$e,visitNodes:()=>On,visitParameterList:()=>Sc,walkUpBindingElementsAndPatterns:()=>bA,walkUpLexicalEnvironments:()=>X_e,walkUpOuterExpressions:()=>rde,walkUpParenthesizedExpressions:()=>qy,walkUpParenthesizedTypes:()=>dR,walkUpParenthesizedTypesAndGetParentAndChild:()=>Tce,whitespaceOrMapCommentRegExp:()=>gF,writeCommentRange:()=>$A,writeFile:()=>BI,writeFileEnsuringDirectories:()=>nW,zipToModeAwareCache:()=>qJ,zipWith:()=>kU});var uxe=gt({"src/typescript/_namespaces/ts.ts"(){"use strict";fa(),r7(),Fr(),HG()}}),dJe=hs({"src/typescript/typescript.ts"(e,t){uxe(),uxe(),typeof console<"u"&&(L.loggingHost={log(r,i){switch(r){case 1:return console.error(i);case 2:return console.warn(i);case 3:return console.log(i);case 4:return console.log(i)}}}),t.exports=lxe}});return dJe()})();typeof IU<"u"&&IU.exports&&(IU.exports=f0);var Eit=f0.createClassifier,iae=f0.createLanguageService,Tit=f0.displayPartsToString,Sit=f0.EndOfLineState,xit=f0.flattenDiagnosticMessageText,Ait=f0.IndentStyle,uA=f0.ScriptKind,Cit=f0.ScriptTarget,Iit=f0.TokenClass,aae=f0;var $i={};$i["lib.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -563,7 +331,7 @@
 /// <reference lib="dom" />
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
-`; $i["lib.decorators.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.decorators.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -935,7 +703,7 @@
      */
     addInitializer(initializer: (this: This) => void): void;
 }
-`; $i["lib.decorators.legacy.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.decorators.legacy.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -957,7 +725,7 @@
 declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;
 declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
 declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;
-`; $i["lib.dom.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.dom.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -19683,7 +19451,7 @@
 type WebGLPowerPreference = "default" | "high-performance" | "low-power";
 type WorkerType = "classic" | "module";
 type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";
-`; $i["lib.dom.iterable.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.dom.iterable.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -20036,7 +19804,7 @@
     uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
     uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
 }
-`; $i["lib.es2015.collection.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.collection.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -20184,7 +19952,7 @@
     readonly prototype: WeakSet<object>;
 }
 declare var WeakSet: WeakSetConstructor;
-`; $i["lib.es2015.core.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.core.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -20741,7 +20509,7 @@
      */
     raw(template: { raw: readonly string[] | ArrayLike<string>}, ...substitutions: any[]): string;
 }
-`; $i["lib.es2015.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -20769,7 +20537,7 @@
 /// <reference lib="es2015.reflect" />
 /// <reference lib="es2015.symbol" />
 /// <reference lib="es2015.symbol.wellknown" />
-`; $i["lib.es2015.generator.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.generator.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -20846,7 +20614,7 @@
      */
     readonly prototype: GeneratorFunction;
 }
-`; $i["lib.es2015.iterable.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.iterable.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -21342,7 +21110,7 @@
      */
     from(arrayLike: Iterable<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;
 }
-`; $i["lib.es2015.promise.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.promise.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -21423,7 +21191,7 @@
 }
 
 declare var Promise: PromiseConstructor;
-`; $i["lib.es2015.proxy.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.proxy.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -21551,7 +21319,7 @@
     new <T extends object>(target: T, handler: ProxyHandler<T>): T;
 }
 declare var Proxy: ProxyConstructor;
-`; $i["lib.es2015.reflect.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.reflect.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -21695,7 +21463,7 @@
      */
     function setPrototypeOf(target: object, proto: object | null): boolean;
 }
-`; $i["lib.es2015.symbol.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2015.symbol.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -21740,7 +21508,7 @@
     keyFor(sym: symbol): string | undefined;
 }
 
-declare var Symbol: SymbolConstructor;`; $i["lib.es2015.symbol.wellknown.d.ts"] = `/*! *****************************************************************************
+declare var Symbol: SymbolConstructor;`;$i["lib.es2015.symbol.wellknown.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22066,7 +21834,7 @@
 interface ArrayBufferConstructor {
     readonly [Symbol.species]: ArrayBufferConstructor;
 }
-`; $i["lib.es2016.array.include.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2016.array.include.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22181,7 +21949,7 @@
      * @param fromIndex The position in this array at which to begin searching for searchElement.
      */
     includes(searchElement: number, fromIndex?: number): boolean;
-}`; $i["lib.es2016.d.ts"] = `/*! *****************************************************************************
+}`;$i["lib.es2016.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22200,7 +21968,7 @@
 /// <reference no-default-lib="true"/>
 
 /// <reference lib="es2015" />
-/// <reference lib="es2016.array.include" />`; $i["lib.es2016.full.d.ts"] = `/*! *****************************************************************************
+/// <reference lib="es2016.array.include" />`;$i["lib.es2016.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22222,7 +21990,7 @@
 /// <reference lib="dom" />
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
-/// <reference lib="dom.iterable" />`; $i["lib.es2017.d.ts"] = `/*! *****************************************************************************
+/// <reference lib="dom.iterable" />`;$i["lib.es2017.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22246,7 +22014,7 @@
 /// <reference lib="es2017.string" />
 /// <reference lib="es2017.intl" />
 /// <reference lib="es2017.typedarrays" />
-`; $i["lib.es2017.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2017.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22268,7 +22036,7 @@
 /// <reference lib="dom" />
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
-/// <reference lib="dom.iterable" />`; $i["lib.es2017.intl.d.ts"] = `/*! *****************************************************************************
+/// <reference lib="dom.iterable" />`;$i["lib.es2017.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22313,7 +22081,7 @@
         formatToParts(date?: Date | number): DateTimeFormatPart[];
     }
 }
-`; $i["lib.es2017.object.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2017.object.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22362,7 +22130,7 @@
      */
     getOwnPropertyDescriptors<T>(o: T): {[P in keyof T]: TypedPropertyDescriptor<T[P]>} & { [x: string]: PropertyDescriptor };
 }
-`; $i["lib.es2017.sharedmemory.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2017.sharedmemory.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22497,7 +22265,7 @@
 }
 
 declare var Atomics: Atomics;
-`; $i["lib.es2017.string.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2017.string.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22542,7 +22310,7 @@
      */
     padEnd(maxLength: number, fillString?: string): string;
 }
-`; $i["lib.es2017.typedarrays.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2017.typedarrays.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22595,7 +22363,7 @@
 interface Float64ArrayConstructor {
     new (): Float64Array;
 }
-`; $i["lib.es2018.asyncgenerator.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2018.asyncgenerator.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22672,7 +22440,7 @@
      */
     readonly prototype: AsyncGeneratorFunction;
 }
-`; $i["lib.es2018.asynciterable.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2018.asynciterable.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22714,7 +22482,7 @@
 
 interface AsyncIterableIterator<T> extends AsyncIterator<T> {
     [Symbol.asyncIterator](): AsyncIterableIterator<T>;
-}`; $i["lib.es2018.d.ts"] = `/*! *****************************************************************************
+}`;$i["lib.es2018.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22738,7 +22506,7 @@
 /// <reference lib="es2018.promise" />
 /// <reference lib="es2018.regexp" />
 /// <reference lib="es2018.intl" />
-`; $i["lib.es2018.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2018.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22760,7 +22528,7 @@
 /// <reference lib="dom" />
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
-/// <reference lib="dom.iterable" />`; $i["lib.es2018.intl.d.ts"] = `/*! *****************************************************************************
+/// <reference lib="dom.iterable" />`;$i["lib.es2018.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22831,7 +22599,7 @@
         formatToParts(number?: number | bigint): NumberFormatPart[];
     }
 }
-`; $i["lib.es2018.promise.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2018.promise.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22861,7 +22629,7 @@
      */
     finally(onfinally?: (() => void) | undefined | null): Promise<T>
 }
-`; $i["lib.es2018.regexp.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2018.regexp.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22897,7 +22665,7 @@
      * Default is false. Read-only.
      */
     readonly dotAll: boolean;
-}`; $i["lib.es2019.array.d.ts"] = `/*! *****************************************************************************
+}`;$i["lib.es2019.array.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -22980,7 +22748,7 @@
         depth?: D
     ): FlatArray<A, D>[]
 }
-`; $i["lib.es2019.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2019.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23004,7 +22772,7 @@
 /// <reference lib="es2019.string" />
 /// <reference lib="es2019.symbol" />
 /// <reference lib="es2019.intl" />
-`; $i["lib.es2019.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2019.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23027,7 +22795,7 @@
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
 /// <reference lib="dom.iterable" />
-`; $i["lib.es2019.intl.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2019.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23050,7 +22818,7 @@
         unknown: any
     }
 }
-`; $i["lib.es2019.object.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2019.object.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23083,7 +22851,7 @@
      */
     fromEntries(entries: Iterable<readonly any[]>): any;
 }
-`; $i["lib.es2019.string.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2019.string.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23120,7 +22888,7 @@
      */
     trimRight(): string;
 }
-`; $i["lib.es2019.symbol.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2019.symbol.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23144,7 +22912,7 @@
      */
     readonly description: string | undefined;
 }
-`; $i["lib.es2020.bigint.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.bigint.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23872,7 +23640,7 @@
         resolvedOptions(): ResolvedNumberFormatOptions;
     }
 }
-`; $i["lib.es2020.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23899,7 +23667,7 @@
 /// <reference lib="es2020.string" />
 /// <reference lib="es2020.symbol.wellknown" />
 /// <reference lib="es2020.intl" />
-`; $i["lib.es2020.date.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.date.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23940,7 +23708,7 @@
      * @param options An object that contains one or more properties that specify comparison options.
      */
     toLocaleTimeString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;
-}`; $i["lib.es2020.full.d.ts"] = `/*! *****************************************************************************
+}`;$i["lib.es2020.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -23963,7 +23731,7 @@
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
 /// <reference lib="dom.iterable" />
-`; $i["lib.es2020.intl.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24394,7 +24162,7 @@
     };
 
 }
-`; $i["lib.es2020.number.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.number.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24422,7 +24190,7 @@
      */
     toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
 }
-`; $i["lib.es2020.promise.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.promise.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24469,7 +24237,7 @@
      */
     allSettled<T>(values: Iterable<T | PromiseLike<T>>): Promise<PromiseSettledResult<Awaited<T>>[]>;
 }
-`; $i["lib.es2020.sharedmemory.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.sharedmemory.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24566,7 +24334,7 @@
      */
     xor(typedArray: BigInt64Array | BigUint64Array, index: number, value: bigint): bigint;
 }
-`; $i["lib.es2020.string.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.string.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24594,7 +24362,7 @@
      */
     matchAll(regexp: RegExp): IterableIterator<RegExpMatchArray>;
 }
-`; $i["lib.es2020.symbol.wellknown.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2020.symbol.wellknown.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24631,7 +24399,7 @@
      */
     [Symbol.matchAll](str: string): IterableIterator<RegExpMatchArray>;
 }
-`; $i["lib.es2021.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2021.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24654,7 +24422,7 @@
 /// <reference lib="es2021.string" />
 /// <reference lib="es2021.weakref" />
 /// <reference lib="es2021.intl" />
-`; $i["lib.es2021.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2021.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24677,7 +24445,7 @@
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
 /// <reference lib="dom.iterable" />
-`; $i["lib.es2021.intl.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2021.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24844,7 +24612,7 @@
         supportedLocalesOf(locales: BCP47LanguageTag | BCP47LanguageTag[], options?: Pick<ListFormatOptions, "localeMatcher">): BCP47LanguageTag[];
     };
 }
-`; $i["lib.es2021.promise.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2021.promise.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24892,7 +24660,7 @@
      */
     any<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>
 }
-`; $i["lib.es2021.string.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2021.string.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24925,7 +24693,7 @@
      */
     replaceAll(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
 }
-`; $i["lib.es2021.weakref.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2021.weakref.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -24998,7 +24766,7 @@
 }
 
 declare var FinalizationRegistry: FinalizationRegistryConstructor;
-`; $i["lib.es2022.array.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.array.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25119,7 +24887,7 @@
      */
     at(index: number): bigint | undefined;
 }
-`; $i["lib.es2022.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25145,7 +24913,7 @@
 /// <reference lib="es2022.sharedmemory" />
 /// <reference lib="es2022.string" />
 /// <reference lib="es2022.regexp" />
-`; $i["lib.es2022.error.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.error.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25218,7 +24986,7 @@
         options?: ErrorOptions
     ): AggregateError;
 }
-`; $i["lib.es2022.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25241,7 +25009,7 @@
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
 /// <reference lib="dom.iterable" />
-`; $i["lib.es2022.intl.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25350,7 +25118,7 @@
         supportedLocalesOf(locales: BCP47LanguageTag | BCP47LanguageTag[], options?: Pick<SegmenterOptions, "localeMatcher">): BCP47LanguageTag[];
     };
 }
-`; $i["lib.es2022.object.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.object.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25376,7 +25144,7 @@
      */
     hasOwn(o: object, v: PropertyKey): boolean;
 }
-`; $i["lib.es2022.regexp.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.regexp.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25415,7 +25183,7 @@
      */
     readonly hasIndices: boolean;
 }
-`; $i["lib.es2022.sharedmemory.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.sharedmemory.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25454,7 +25222,7 @@
      */
     waitAsync(typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false, value: "not-equal" | "timed-out" } | { async: true, value: Promise<"ok" | "timed-out"> };
 }
-`; $i["lib.es2022.string.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2022.string.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25479,7 +25247,7 @@
      */
     at(index: number): string | undefined;
 }
-`; $i["lib.es2023.array.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2023.array.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25821,7 +25589,7 @@
      */
     findLastIndex(predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): number;
 }
-`; $i["lib.es2023.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2023.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25841,7 +25609,7 @@
 
 /// <reference lib="es2022" />
 /// <reference lib="es2023.array" />
-`; $i["lib.es2023.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es2023.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -25864,7 +25632,7 @@
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
 /// <reference lib="dom.iterable" />
-`; $i["lib.es5.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es5.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -30386,7 +30154,7 @@
      */
     toLocaleTimeString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
 }
-`; $i["lib.es6.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.es6.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -30409,7 +30177,7 @@
 /// <reference lib="dom.iterable" />
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
-`; $i["lib.esnext.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.esnext.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -30429,7 +30197,7 @@
 
 /// <reference lib="es2023" />
 /// <reference lib="esnext.intl" />
-`; $i["lib.esnext.full.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.esnext.full.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -30451,7 +30219,7 @@
 /// <reference lib="dom" />
 /// <reference lib="webworker.importscripts" />
 /// <reference lib="scripthost" />
-/// <reference lib="dom.iterable" />`; $i["lib.esnext.intl.d.ts"] = `/*! *****************************************************************************
+/// <reference lib="dom.iterable" />`;$i["lib.esnext.intl.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -30479,7 +30247,7 @@
     formatRangeToParts(start: number | bigint, end: number | bigint): NumberRangeFormatPart[];
   }
 }
-`; $i["lib.scripthost.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.scripthost.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -30804,7 +30572,7 @@
 interface Date {
     getVarDate: () => VarDate;
 }
-`; $i["lib.webworker.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.webworker.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -37032,7 +36800,7 @@
 type WebGLPowerPreference = "default" | "high-performance" | "low-power";
 type WorkerType = "classic" | "module";
 type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";
-`; $i["lib.webworker.importscripts.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.webworker.importscripts.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -37056,7 +36824,7 @@
 /////////////////////////////
 // These are only available in a Web Worker
 declare function importScripts(...urls: string[]): void;
-`; $i["lib.webworker.iterable.d.ts"] = `/*! *****************************************************************************
+`;$i["lib.webworker.iterable.d.ts"]=`/*! *****************************************************************************
 Copyright (c) Microsoft Corporation. All rights reserved.
 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
@@ -37229,21 +36997,20 @@
     uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
     uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
 }
-`; function e_(zd) { return typeof zd == "string" ? /^file:\/\/\//.test(zd) ? !!$i[zd.substr(8)] : !1 : zd.path.indexOf("/lib.") === 0 ? !!$i[zd.path.slice(1)] : !1 } var o8 = class zd { constructor(ti, gt) { this._extraLibs = Object.create(null); this._languageService = iae(this); this._ctx = ti, this._compilerOptions = gt.compilerOptions, this._extraLibs = gt.extraLibs, this._inlayHintsOptions = gt.inlayHintsOptions } getCompilationSettings() { return this._compilerOptions } getLanguageService() { return this._languageService } getExtraLibs() { return this._extraLibs } getScriptFileNames() { return this._ctx.getMirrorModels().map(hs => hs.uri).filter(hs => !e_(hs)).map(hs => hs.toString()).concat(Object.keys(this._extraLibs)) } _getModel(ti) { let gt = this._ctx.getMirrorModels(); for (let hs = 0; hs < gt.length; hs++) { let Mo = gt[hs].uri; if (Mo.toString() === ti || Mo.toString(!0) === ti) return gt[hs] } return null } getScriptVersion(ti) { let gt = this._getModel(ti); return gt ? gt.version.toString() : this.isDefaultLibFileName(ti) ? "1" : ti in this._extraLibs ? String(this._extraLibs[ti].version) : "" } async getScriptText(ti) { return this._getScriptText(ti) } _getScriptText(ti) { let gt, hs = this._getModel(ti), Mo = "lib." + ti + ".d.ts"; if (hs) gt = hs.getValue(); else if (ti in $i) gt = $i[ti]; else if (Mo in $i) gt = $i[Mo]; else if (ti in this._extraLibs) gt = this._extraLibs[ti].content; else return; return gt } getScriptSnapshot(ti) { let gt = this._getScriptText(ti); if (gt !== void 0) return { getText: (hs, Mo) => gt.substring(hs, Mo), getLength: () => gt.length, getChangeRange: () => { } } } getScriptKind(ti) { switch (ti.substr(ti.lastIndexOf(".") + 1)) { case "ts": return uA.TS; case "tsx": return uA.TSX; case "js": return uA.JS; case "jsx": return uA.JSX; default: return this.getCompilationSettings().allowJs ? uA.JS : uA.TS } } getCurrentDirectory() { return "" } getDefaultLibFileName(ti) { switch (ti.target) { case 99: let gt = "lib.esnext.full.d.ts"; if (gt in $i || gt in this._extraLibs) return gt; case 7: case 6: case 5: case 4: case 3: case 2: default: let hs = `lib.es${2013 + (ti.target || 99)}.full.d.ts`; return hs in $i || hs in this._extraLibs ? hs : "lib.es6.d.ts"; case 1: case 0: return "lib.d.ts" } } isDefaultLibFileName(ti) { return ti === this.getDefaultLibFileName(this._compilerOptions) } readFile(ti) { return this._getScriptText(ti) } fileExists(ti) { return this._getScriptText(ti) !== void 0 } async getLibFiles() { return $i } static clearFiles(ti) { let gt = []; for (let hs of ti) { let Mo = { ...hs }; if (Mo.file = Mo.file ? { fileName: Mo.file.fileName } : void 0, hs.relatedInformation) { Mo.relatedInformation = []; for (let Sg of hs.relatedInformation) { let Rf = { ...Sg }; Rf.file = Rf.file ? { fileName: Rf.file.fileName } : void 0, Mo.relatedInformation.push(Rf) } } gt.push(Mo) } return gt } async getSyntacticDiagnostics(ti) { if (e_(ti)) return []; let gt = this._languageService.getSyntacticDiagnostics(ti); return zd.clearFiles(gt) } async getSemanticDiagnostics(ti) { if (e_(ti)) return []; let gt = this._languageService.getSemanticDiagnostics(ti); return zd.clearFiles(gt) } async getSuggestionDiagnostics(ti) { if (e_(ti)) return []; let gt = this._languageService.getSuggestionDiagnostics(ti); return zd.clearFiles(gt) } async getCompilerOptionsDiagnostics(ti) { if (e_(ti)) return []; let gt = this._languageService.getCompilerOptionsDiagnostics(); return zd.clearFiles(gt) } async getCompletionsAtPosition(ti, gt) { if (!e_(ti)) return this._languageService.getCompletionsAtPosition(ti, gt, void 0) } async getCompletionEntryDetails(ti, gt, hs) { return this._languageService.getCompletionEntryDetails(ti, gt, hs, void 0, void 0, void 0, void 0) } async getSignatureHelpItems(ti, gt, hs) { if (!e_(ti)) return this._languageService.getSignatureHelpItems(ti, gt, hs) } async getQuickInfoAtPosition(ti, gt) { if (!e_(ti)) return this._languageService.getQuickInfoAtPosition(ti, gt) } async getDocumentHighlights(ti, gt, hs) { if (!e_(ti)) return this._languageService.getDocumentHighlights(ti, gt, hs) } async getDefinitionAtPosition(ti, gt) { if (!e_(ti)) return this._languageService.getDefinitionAtPosition(ti, gt) } async getReferencesAtPosition(ti, gt) { if (!e_(ti)) return this._languageService.getReferencesAtPosition(ti, gt) } async getNavigationTree(ti) { if (!e_(ti)) return this._languageService.getNavigationTree(ti) } async getFormattingEditsForDocument(ti, gt) { return e_(ti) ? [] : this._languageService.getFormattingEditsForDocument(ti, gt) } async getFormattingEditsForRange(ti, gt, hs, Mo) { return e_(ti) ? [] : this._languageService.getFormattingEditsForRange(ti, gt, hs, Mo) } async getFormattingEditsAfterKeystroke(ti, gt, hs, Mo) { return e_(ti) ? [] : this._languageService.getFormattingEditsAfterKeystroke(ti, gt, hs, Mo) } async findRenameLocations(ti, gt, hs, Mo, Sg) { if (!e_(ti)) return this._languageService.findRenameLocations(ti, gt, hs, Mo, Sg) } async getRenameInfo(ti, gt, hs) { return e_(ti) ? { canRename: !1, localizedErrorMessage: "Cannot rename in lib file" } : this._languageService.getRenameInfo(ti, gt, hs) } async getEmitOutput(ti) { return e_(ti) ? { outputFiles: [], emitSkipped: !0 } : this._languageService.getEmitOutput(ti) } async getCodeFixesAtPosition(ti, gt, hs, Mo, Sg) { if (e_(ti)) return []; let Rf = {}; try { return this._languageService.getCodeFixesAtPosition(ti, gt, hs, Mo, Sg, Rf) } catch { return [] } } async updateExtraLibs(ti) { this._extraLibs = ti } async provideInlayHints(ti, gt, hs) { if (e_(ti)) return []; let Mo = this._inlayHintsOptions ?? {}, Sg = { start: gt, length: hs - gt }; try { return this._languageService.provideInlayHints(ti, Sg, Mo) } catch { return [] } } }; function Lit(zd, ti) { let gt = o8; if (ti.customWorkerPath) if (typeof importScripts > "u") console.warn("Monaco is not using webworkers for background tasks, and that is needed to support the customWorkerPath flag"); else { self.importScripts(ti.customWorkerPath); let hs = self.customTSWorkerFactory; if (!hs) throw new Error(`The script at ${ti.customWorkerPath} does not add customTSWorkerFactory to self`); gt = hs(o8, oae, $i) } return new gt(zd, ti) } globalThis.ts = aae; return bit(kit);
-    })();
-    /*! *****************************************************************************
-    Copyright (c) Microsoft Corporation. All rights reserved.
-    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
-    
-    THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-    WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-    MERCHANTABLITY OR NON-INFRINGEMENT.
-    
-    See the Apache Version 2.0 License for specific language governing permissions
-    and limitations under the License.
-    ***************************************************************************** */
-    return moduleExports;
+`;function e_(zd){return typeof zd=="string"?/^file:\/\/\//.test(zd)?!!$i[zd.substr(8)]:!1:zd.path.indexOf("/lib.")===0?!!$i[zd.path.slice(1)]:!1}var o8=class zd{constructor(ti,gt){this._extraLibs=Object.create(null);this._languageService=iae(this);this._ctx=ti,this._compilerOptions=gt.compilerOptions,this._extraLibs=gt.extraLibs,this._inlayHintsOptions=gt.inlayHintsOptions}getCompilationSettings(){return this._compilerOptions}getLanguageService(){return this._languageService}getExtraLibs(){return this._extraLibs}getScriptFileNames(){return this._ctx.getMirrorModels().map(hs=>hs.uri).filter(hs=>!e_(hs)).map(hs=>hs.toString()).concat(Object.keys(this._extraLibs))}_getModel(ti){let gt=this._ctx.getMirrorModels();for(let hs=0;hs<gt.length;hs++){let Mo=gt[hs].uri;if(Mo.toString()===ti||Mo.toString(!0)===ti)return gt[hs]}return null}getScriptVersion(ti){let gt=this._getModel(ti);return gt?gt.version.toString():this.isDefaultLibFileName(ti)?"1":ti in this._extraLibs?String(this._extraLibs[ti].version):""}async getScriptText(ti){return this._getScriptText(ti)}_getScriptText(ti){let gt,hs=this._getModel(ti),Mo="lib."+ti+".d.ts";if(hs)gt=hs.getValue();else if(ti in $i)gt=$i[ti];else if(Mo in $i)gt=$i[Mo];else if(ti in this._extraLibs)gt=this._extraLibs[ti].content;else return;return gt}getScriptSnapshot(ti){let gt=this._getScriptText(ti);if(gt!==void 0)return{getText:(hs,Mo)=>gt.substring(hs,Mo),getLength:()=>gt.length,getChangeRange:()=>{}}}getScriptKind(ti){switch(ti.substr(ti.lastIndexOf(".")+1)){case"ts":return uA.TS;case"tsx":return uA.TSX;case"js":return uA.JS;case"jsx":return uA.JSX;default:return this.getCompilationSettings().allowJs?uA.JS:uA.TS}}getCurrentDirectory(){return""}getDefaultLibFileName(ti){switch(ti.target){case 99:let gt="lib.esnext.full.d.ts";if(gt in $i||gt in this._extraLibs)return gt;case 7:case 6:case 5:case 4:case 3:case 2:default:let hs=`lib.es${2013+(ti.target||99)}.full.d.ts`;return hs in $i||hs in this._extraLibs?hs:"lib.es6.d.ts";case 1:case 0:return"lib.d.ts"}}isDefaultLibFileName(ti){return ti===this.getDefaultLibFileName(this._compilerOptions)}readFile(ti){return this._getScriptText(ti)}fileExists(ti){return this._getScriptText(ti)!==void 0}async getLibFiles(){return $i}static clearFiles(ti){let gt=[];for(let hs of ti){let Mo={...hs};if(Mo.file=Mo.file?{fileName:Mo.file.fileName}:void 0,hs.relatedInformation){Mo.relatedInformation=[];for(let Sg of hs.relatedInformation){let Rf={...Sg};Rf.file=Rf.file?{fileName:Rf.file.fileName}:void 0,Mo.relatedInformation.push(Rf)}}gt.push(Mo)}return gt}async getSyntacticDiagnostics(ti){if(e_(ti))return[];let gt=this._languageService.getSyntacticDiagnostics(ti);return zd.clearFiles(gt)}async getSemanticDiagnostics(ti){if(e_(ti))return[];let gt=this._languageService.getSemanticDiagnostics(ti);return zd.clearFiles(gt)}async getSuggestionDiagnostics(ti){if(e_(ti))return[];let gt=this._languageService.getSuggestionDiagnostics(ti);return zd.clearFiles(gt)}async getCompilerOptionsDiagnostics(ti){if(e_(ti))return[];let gt=this._languageService.getCompilerOptionsDiagnostics();return zd.clearFiles(gt)}async getCompletionsAtPosition(ti,gt){if(!e_(ti))return this._languageService.getCompletionsAtPosition(ti,gt,void 0)}async getCompletionEntryDetails(ti,gt,hs){return this._languageService.getCompletionEntryDetails(ti,gt,hs,void 0,void 0,void 0,void 0)}async getSignatureHelpItems(ti,gt,hs){if(!e_(ti))return this._languageService.getSignatureHelpItems(ti,gt,hs)}async getQuickInfoAtPosition(ti,gt){if(!e_(ti))return this._languageService.getQuickInfoAtPosition(ti,gt)}async getDocumentHighlights(ti,gt,hs){if(!e_(ti))return this._languageService.getDocumentHighlights(ti,gt,hs)}async getDefinitionAtPosition(ti,gt){if(!e_(ti))return this._languageService.getDefinitionAtPosition(ti,gt)}async getReferencesAtPosition(ti,gt){if(!e_(ti))return this._languageService.getReferencesAtPosition(ti,gt)}async getNavigationTree(ti){if(!e_(ti))return this._languageService.getNavigationTree(ti)}async getFormattingEditsForDocument(ti,gt){return e_(ti)?[]:this._languageService.getFormattingEditsForDocument(ti,gt)}async getFormattingEditsForRange(ti,gt,hs,Mo){return e_(ti)?[]:this._languageService.getFormattingEditsForRange(ti,gt,hs,Mo)}async getFormattingEditsAfterKeystroke(ti,gt,hs,Mo){return e_(ti)?[]:this._languageService.getFormattingEditsAfterKeystroke(ti,gt,hs,Mo)}async findRenameLocations(ti,gt,hs,Mo,Sg){if(!e_(ti))return this._languageService.findRenameLocations(ti,gt,hs,Mo,Sg)}async getRenameInfo(ti,gt,hs){return e_(ti)?{canRename:!1,localizedErrorMessage:"Cannot rename in lib file"}:this._languageService.getRenameInfo(ti,gt,hs)}async getEmitOutput(ti){return e_(ti)?{outputFiles:[],emitSkipped:!0}:this._languageService.getEmitOutput(ti)}async getCodeFixesAtPosition(ti,gt,hs,Mo,Sg){if(e_(ti))return[];let Rf={};try{return this._languageService.getCodeFixesAtPosition(ti,gt,hs,Mo,Sg,Rf)}catch{return[]}}async updateExtraLibs(ti){this._extraLibs=ti}async provideInlayHints(ti,gt,hs){if(e_(ti))return[];let Mo=this._inlayHintsOptions??{},Sg={start:gt,length:hs-gt};try{return this._languageService.provideInlayHints(ti,Sg,Mo)}catch{return[]}}};function Lit(zd,ti){let gt=o8;if(ti.customWorkerPath)if(typeof importScripts>"u")console.warn("Monaco is not using webworkers for background tasks, and that is needed to support the customWorkerPath flag");else{self.importScripts(ti.customWorkerPath);let hs=self.customTSWorkerFactory;if(!hs)throw new Error(`The script at ${ti.customWorkerPath} does not add customTSWorkerFactory to self`);gt=hs(o8,oae,$i)}return new gt(zd,ti)}globalThis.ts=aae;return bit(kit);})();
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+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
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+return moduleExports;
 });
diff --git a/service/base.ts b/service/base.ts
index 43e65f8..22b1a43 100644
--- a/service/base.ts
+++ b/service/base.ts
@@ -1,16 +1,12 @@
-import { API_PREFIX, IS_CE_EDITION, PUBLIC_API_PREFIX, PUBLIC_WEB_PREFIX, WEB_PREFIX } from '@/config'
 import { refreshAccessTokenOrRelogin } from './refresh-token'
+import { API_PREFIX, IS_CE_EDITION, PUBLIC_API_PREFIX } from '@/config'
 import Toast from '@/app/components/base/toast'
 import type { AnnotationReply, MessageEnd, MessageReplace, ThoughtItem } from '@/app/components/base/chat/chat/type'
 import type { VisionFile } from '@/types/app'
 import type {
-  AgentLogResponse,
   IterationFinishedResponse,
   IterationNextResponse,
   IterationStartedResponse,
-  LoopFinishedResponse,
-  LoopNextResponse,
-  LoopStartedResponse,
   NodeFinishedResponse,
   NodeStartedResponse,
   ParallelBranchFinishedResponse,
@@ -21,10 +17,27 @@
   WorkflowStartedResponse,
 } from '@/types/workflow'
 import { removeAccessToken } from '@/app/components/share/utils'
-import type { FetchOptionType, ResponseError } from './fetch'
-import { ContentType, base, baseOptions, getAccessToken } from './fetch'
 import { asyncRunSafe } from '@/utils'
 const TIME_OUT = 100000
+
+const ContentType = {
+  json: 'application/json',
+  stream: 'text/event-stream',
+  audio: 'audio/mpeg',
+  form: 'application/x-www-form-urlencoded; charset=UTF-8',
+  download: 'application/octet-stream', // for download
+  upload: 'multipart/form-data', // for upload
+}
+
+const baseOptions = {
+  method: 'GET',
+  mode: 'cors',
+  credentials: 'include', // always send cookies銆丠TTP Basic authentication.
+  headers: new Headers({
+    'Content-Type': ContentType.json,
+  }),
+  redirect: 'follow',
+}
 
 export type IOnDataMoreInfo = {
   conversationId?: string
@@ -57,14 +70,9 @@
 export type IOnTTSChunk = (messageId: string, audioStr: string, audioType?: string) => void
 export type IOnTTSEnd = (messageId: string, audioStr: string, audioType?: string) => void
 export type IOnTextReplace = (textReplace: TextReplaceResponse) => void
-export type IOnLoopStarted = (workflowStarted: LoopStartedResponse) => void
-export type IOnLoopNext = (workflowStarted: LoopNextResponse) => void
-export type IOnLoopFinished = (workflowFinished: LoopFinishedResponse) => void
-export type IOnAgentLog = (agentLog: AgentLogResponse) => void
 
 export type IOtherOptions = {
   isPublicAPI?: boolean
-  isMarketplaceAPI?: boolean
   bodyStringify?: boolean
   needAllResponseContent?: boolean
   deleteContentType?: boolean
@@ -92,10 +100,17 @@
   onTTSChunk?: IOnTTSChunk
   onTTSEnd?: IOnTTSEnd
   onTextReplace?: IOnTextReplace
-  onLoopStart?: IOnLoopStarted
-  onLoopNext?: IOnLoopNext
-  onLoopFinish?: IOnLoopFinished
-  onAgentLog?: IOnAgentLog
+}
+
+type ResponseError = {
+  code: string
+  message: string
+  status: number
+}
+
+type FetchOptionType = Omit<RequestInit, 'body'> & {
+  params?: Record<string, any>
+  body?: BodyInit | Record<string, any> | null
 }
 
 function unicodeToChar(text: string) {
@@ -103,12 +118,30 @@
     return ''
 
   return text.replace(/\\u[0-9a-f]{4}/g, (_match, p1) => {
-    return String.fromCharCode(Number.parseInt(p1, 16))
+    return String.fromCharCode(parseInt(p1, 16))
   })
 }
 
 function requiredWebSSOLogin() {
-  globalThis.location.href = `${PUBLIC_WEB_PREFIX}/webapp-signin?redirect_url=${globalThis.location.pathname}`
+  globalThis.location.href = `/webapp-signin?redirect_url=${globalThis.location.pathname}`
+}
+
+function getAccessToken(isPublicAPI?: boolean) {
+  if (isPublicAPI) {
+    const sharedToken = globalThis.location.pathname.split('/').slice(-1)[0]
+    const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' })
+    let accessTokenJson = { [sharedToken]: '' }
+    try {
+      accessTokenJson = JSON.parse(accessToken)
+    }
+    catch (e) {
+
+    }
+    return accessTokenJson[sharedToken]
+  }
+  else {
+    return localStorage.getItem('console_token') || ''
+  }
 }
 
 export function format(text: string) {
@@ -134,9 +167,6 @@
   onIterationStart?: IOnIterationStarted,
   onIterationNext?: IOnIterationNext,
   onIterationFinish?: IOnIterationFinished,
-  onLoopStart?: IOnLoopStarted,
-  onLoopNext?: IOnLoopNext,
-  onLoopFinish?: IOnLoopFinished,
   onNodeRetry?: IOnNodeRetry,
   onParallelBranchStarted?: IOnParallelBranchStarted,
   onParallelBranchFinished?: IOnParallelBranchFinished,
@@ -144,7 +174,6 @@
   onTTSChunk?: IOnTTSChunk,
   onTTSEnd?: IOnTTSEnd,
   onTextReplace?: IOnTextReplace,
-  onAgentLog?: IOnAgentLog,
 ) => {
   if (!response.ok)
     throw new Error('Network response was not ok')
@@ -169,7 +198,7 @@
             try {
               bufferObj = JSON.parse(message.substring(6)) as Record<string, any>// remove data: and parse as json
             }
-            catch {
+            catch (e) {
               // mute handle message cut off
               onData('', isFirstMessage, {
                 conversationId: bufferObj?.conversation_id,
@@ -230,15 +259,6 @@
             else if (bufferObj.event === 'iteration_completed') {
               onIterationFinish?.(bufferObj as IterationFinishedResponse)
             }
-            else if (bufferObj.event === 'loop_started') {
-              onLoopStart?.(bufferObj as LoopStartedResponse)
-            }
-            else if (bufferObj.event === 'loop_next') {
-              onLoopNext?.(bufferObj as LoopNextResponse)
-            }
-            else if (bufferObj.event === 'loop_completed') {
-              onLoopFinish?.(bufferObj as LoopFinishedResponse)
-            }
             else if (bufferObj.event === 'node_retry') {
               onNodeRetry?.(bufferObj as NodeFinishedResponse)
             }
@@ -253,9 +273,6 @@
             }
             else if (bufferObj.event === 'text_replace') {
               onTextReplace?.(bufferObj as TextReplaceResponse)
-            }
-            else if (bufferObj.event === 'agent_log') {
-              onAgentLog?.(bufferObj as AgentLogResponse)
             }
             else if (bufferObj.event === 'tts_message') {
               onTTSChunk?.(bufferObj.message_id, bufferObj.audio, bufferObj.audio_type)
@@ -284,11 +301,119 @@
   read()
 }
 
-const baseFetch = base
+const baseFetch = <T>(
+  url: string,
+  fetchOptions: FetchOptionType,
+  {
+    isPublicAPI = false,
+    bodyStringify = true,
+    needAllResponseContent,
+    deleteContentType,
+    getAbortController,
+    silent,
+  }: IOtherOptions,
+): Promise<T> => {
+  const options: typeof baseOptions & FetchOptionType = Object.assign({}, baseOptions, fetchOptions)
+  if (getAbortController) {
+    const abortController = new AbortController()
+    getAbortController(abortController)
+    options.signal = abortController.signal
+  }
+  const accessToken = getAccessToken(isPublicAPI)
+  options.headers.set('Authorization', `Bearer ${accessToken}`)
 
-export const upload = async (options: any, isPublicAPI?: boolean, url?: string, searchParams?: string): Promise<any> => {
+  if (deleteContentType) {
+    options.headers.delete('Content-Type')
+  }
+  else {
+    const contentType = options.headers.get('Content-Type')
+    if (!contentType)
+      options.headers.set('Content-Type', ContentType.json)
+  }
+
   const urlPrefix = isPublicAPI ? PUBLIC_API_PREFIX : API_PREFIX
-  const token = await getAccessToken(isPublicAPI)
+  let urlWithPrefix = (url.startsWith('http://') || url.startsWith('https://'))
+    ? url
+    : `${urlPrefix}${url.startsWith('/') ? url : `/${url}`}`
+
+  const { method, params, body } = options
+  // handle query
+  if (method === 'GET' && params) {
+    const paramsArray: string[] = []
+    Object.keys(params).forEach(key =>
+      paramsArray.push(`${key}=${encodeURIComponent(params[key])}`),
+    )
+    if (urlWithPrefix.search(/\?/) === -1)
+      urlWithPrefix += `?${paramsArray.join('&')}`
+
+    else
+      urlWithPrefix += `&${paramsArray.join('&')}`
+
+    delete options.params
+  }
+
+  if (body && bodyStringify)
+    options.body = JSON.stringify(body)
+
+  // Handle timeout
+  return Promise.race([
+    new Promise((resolve, reject) => {
+      setTimeout(() => {
+        reject(new Error('request timeout'))
+      }, TIME_OUT)
+    }),
+    new Promise((resolve, reject) => {
+      globalThis.fetch(urlWithPrefix, options as RequestInit)
+        .then((res) => {
+          const resClone = res.clone()
+          // Error handler
+          if (!/^(2|3)\d{2}$/.test(String(res.status))) {
+            const bodyJson = res.json()
+            switch (res.status) {
+              case 401:
+                return Promise.reject(resClone)
+              case 403:
+                bodyJson.then((data: ResponseError) => {
+                  if (!silent)
+                    Toast.notify({ type: 'error', message: data.message })
+                  if (data.code === 'already_setup')
+                    globalThis.location.href = `${globalThis.location.origin}/signin`
+                })
+                break
+              // fall through
+              default:
+                bodyJson.then((data: ResponseError) => {
+                  if (!silent)
+                    Toast.notify({ type: 'error', message: data.message })
+                })
+            }
+            return Promise.reject(resClone)
+          }
+
+          // handle delete api. Delete api not return content.
+          if (res.status === 204) {
+            resolve({ result: 'success' })
+            return
+          }
+
+          // return data
+          if (options.headers.get('Content-type') === ContentType.download || options.headers.get('Content-type') === ContentType.audio)
+            resolve(needAllResponseContent ? resClone : res.blob())
+
+          else resolve(needAllResponseContent ? resClone : res.json())
+        })
+        .catch((err) => {
+          if (!silent)
+            Toast.notify({ type: 'error', message: err })
+          reject(err)
+        })
+    }),
+  ]) as Promise<T>
+}
+
+export const upload = (options: any, isPublicAPI?: boolean, url?: string, searchParams?: string): Promise<any> => {
+  const urlPrefix = isPublicAPI ? PUBLIC_API_PREFIX : API_PREFIX
+  const token = getAccessToken(isPublicAPI)
   const defaultOptions = {
     method: 'POST',
     url: (url ? `${urlPrefix}${url}` : `${urlPrefix}/files/upload`) + (searchParams || ''),
@@ -323,7 +448,7 @@
   })
 }
 
-export const ssePost = async (
+export const ssePost = (
   url: string,
   fetchOptions: FetchOptionType,
   otherOptions: IOtherOptions,
@@ -350,28 +475,19 @@
     onTTSChunk,
     onTTSEnd,
     onTextReplace,
-    onAgentLog,
     onError,
     getAbortController,
-    onLoopStart,
-    onLoopNext,
-    onLoopFinish,
   } = otherOptions
   const abortController = new AbortController()
-
-  const token = localStorage.getItem('console_token')
 
   const options = Object.assign({}, baseOptions, {
     method: 'POST',
     signal: abortController.signal,
-    headers: new Headers({
-      Authorization: `Bearer ${token}`,
-    }),
-  } as RequestInit, fetchOptions)
+  }, fetchOptions)
 
-  const contentType = (options.headers as Headers).get('Content-Type')
+  const contentType = options.headers.get('Content-Type')
   if (!contentType)
-    (options.headers as Headers).set('Content-Type', ContentType.json)
+    options.headers.set('Content-Type', ContentType.json)
 
   getAbortController?.(abortController)
 
@@ -384,12 +500,12 @@
   if (body)
     options.body = JSON.stringify(body)
 
-  const accessToken = await getAccessToken(isPublicAPI)
-    ; (options.headers as Headers).set('Authorization', `Bearer ${accessToken}`)
+  const accessToken = getAccessToken(isPublicAPI)
+  options.headers.set('Authorization', `Bearer ${accessToken}`)
 
   globalThis.fetch(urlWithPrefix, options as RequestInit)
     .then((res) => {
-      if (!/^[23]\d{2}$/.test(String(res.status))) {
+      if (!/^(2|3)\d{2}$/.test(String(res.status))) {
         if (res.status === 401) {
           refreshAccessTokenOrRelogin(TIME_OUT).then(() => {
             ssePost(url, fetchOptions, otherOptions)
@@ -424,31 +540,7 @@
           return
         }
         onData?.(str, isFirstMessage, moreInfo)
-      },
-      onCompleted,
-      onThought,
-      onMessageEnd,
-      onMessageReplace,
-      onFile,
-      onWorkflowStarted,
-      onWorkflowFinished,
-      onNodeStarted,
-      onNodeFinished,
-      onIterationStart,
-      onIterationNext,
-      onIterationFinish,
-      onLoopStart,
-      onLoopNext,
-      onLoopFinish,
-      onNodeRetry,
-      onParallelBranchStarted,
-      onParallelBranchFinished,
-      onTextChunk,
-      onTTSChunk,
-      onTTSEnd,
-      onTextReplace,
-      onAgentLog,
-      )
+      }, onCompleted, onThought, onMessageEnd, onMessageReplace, onFile, onWorkflowStarted, onWorkflowFinished, onNodeStarted, onNodeFinished, onIterationStart, onIterationNext, onIterationFinish, onNodeRetry, onParallelBranchStarted, onParallelBranchFinished, onTextChunk, onTTSChunk, onTTSEnd, onTextReplace)
     }).catch((e) => {
       if (e.toString() !== 'AbortError: The user aborted a request.' && !e.toString().errorMessage.includes('TypeError: Cannot assign to read only property'))
         Toast.notify({ type: 'error', message: e })
@@ -466,7 +558,7 @@
     const errResp: Response = err as any
     if (errResp.status === 401) {
       const [parseErr, errRespData] = await asyncRunSafe<ResponseError>(errResp.json())
-      const loginUrl = `${WEB_PREFIX}/signin`
+      const loginUrl = `${globalThis.location.origin}/signin`
       if (parseErr) {
         globalThis.location.href = loginUrl
         return Promise.reject(err)
@@ -498,11 +590,11 @@
         return Promise.reject(err)
       }
       if (code === 'not_init_validated' && IS_CE_EDITION) {
-        globalThis.location.href = `${WEB_PREFIX}/init`
+        globalThis.location.href = `${globalThis.location.origin}/init`
         return Promise.reject(err)
       }
       if (code === 'not_setup' && IS_CE_EDITION) {
-        globalThis.location.href = `${WEB_PREFIX}/install`
+        globalThis.location.href = `${globalThis.location.origin}/install`
         return Promise.reject(err)
       }
 
@@ -510,7 +602,7 @@
       const [refreshErr] = await asyncRunSafe(refreshAccessTokenOrRelogin(TIME_OUT))
       if (refreshErr === null)
         return baseFetch<T>(url, options, otherOptionsForBaseFetch)
-      if (!location.pathname.includes('/signin') || !IS_CE_EDITION) {
+      if (location.pathname !== '/signin' || !IS_CE_EDITION) {
         globalThis.location.href = loginUrl
         return Promise.reject(err)
       }
@@ -541,18 +633,8 @@
   return get<T>(url, options, { ...otherOptions, isPublicAPI: true })
 }
 
-// For Marketplace API
-export const getMarketplace = <T>(url: string, options = {}, otherOptions?: IOtherOptions) => {
-  return get<T>(url, options, { ...otherOptions, isMarketplaceAPI: true })
-}
-
 export const post = <T>(url: string, options = {}, otherOptions?: IOtherOptions) => {
   return request<T>(url, Object.assign({}, options, { method: 'POST' }), otherOptions)
-}
-
-// For Marketplace API
-export const postMarketplace = <T>(url: string, options = {}, otherOptions?: IOtherOptions) => {
-  return post<T>(url, options, { ...otherOptions, isMarketplaceAPI: true })
 }
 
 export const postPublic = <T>(url: string, options = {}, otherOptions?: IOtherOptions) => {
diff --git a/service/common.ts b/service/common.ts
index e76cfb4..5910965 100644
--- a/service/common.ts
+++ b/service/common.ts
@@ -40,7 +40,7 @@
 
 type LoginSuccess = {
   result: 'success'
-  data: { access_token: string; refresh_token: string }
+  data: { access_token: string;refresh_token: string }
 }
 type LoginFail = {
   result: 'fail'
@@ -146,10 +146,6 @@
 
 export const switchWorkspace: Fetcher<CommonResponse & { new_tenant: IWorkspace }, { url: string; body: Record<string, any> }> = ({ url, body }) => {
   return post<CommonResponse & { new_tenant: IWorkspace }>(url, { body })
-}
-
-export const updateWorkspaceInfo: Fetcher<ICurrentWorkspace, { url: string; body: Record<string, any> }> = ({ url, body }) => {
-  return post<ICurrentWorkspace>(url, { body })
 }
 
 export const fetchDataSource: Fetcher<{ data: DataSourceNotion[] }, { url: string }> = ({ url }) => {
@@ -261,6 +257,10 @@
   return get<FileUploadConfigResponse>(url)
 }
 
+export const fetchFreeQuotaVerify: Fetcher<{ result: string; flag: boolean; reason: string }, string> = (url) => {
+  return get(url) as Promise<{ result: string; flag: boolean; reason: string }>
+}
+
 export const fetchNotionConnection: Fetcher<{ data: string }, string> = (url) => {
   return get(url) as Promise<{ data: string }>
 }
@@ -298,7 +298,7 @@
 }
 
 type RetrievalMethodsRes = {
-  retrieval_method: RETRIEVE_METHOD[]
+  'retrieval_method': RETRIEVE_METHOD[]
 }
 export const fetchSupportRetrievalMethods: Fetcher<RetrievalMethodsRes, string> = (url) => {
   return get<RetrievalMethodsRes>(url)
@@ -331,23 +331,20 @@
 export const sendEMailLoginCode = (email: string, language = 'en-US') =>
   post<CommonResponse & { data: string }>('/email-code-login', { body: { email, language } })
 
-export const emailLoginWithCode = (data: { email: string; code: string; token: string }) =>
+export const emailLoginWithCode = (data: { email: string;code: string;token: string }) =>
   post<LoginResponse>('/email-code-login/validity', { body: data })
 
 export const sendResetPasswordCode = (email: string, language = 'en-US') =>
-  post<CommonResponse & { data: string; message?: string; code?: string }>('/forgot-password', { body: { email, language } })
+  post<CommonResponse & { data: string;message?: string ;code?: string }>('/forgot-password', { body: { email, language } })
 
-export const verifyResetPasswordCode = (body: { email: string; code: string; token: string }) =>
-  post<CommonResponse & { is_valid: boolean; token: string }>('/forgot-password/validity', { body })
+export const verifyResetPasswordCode = (body: { email: string;code: string;token: string }) =>
+  post<CommonResponse & { is_valid: boolean }>('/forgot-password/validity', { body })
 
 export const sendDeleteAccountCode = () =>
   get<CommonResponse & { data: string }>('/account/delete/verify')
 
-export const verifyDeleteAccountCode = (body: { code: string; token: string }) =>
+export const verifyDeleteAccountCode = (body: { code: string;token: string }) =>
   post<CommonResponse & { is_valid: boolean }>('/account/delete', { body })
 
-export const submitDeleteAccountFeedback = (body: { feedback: string; email: string }) =>
+export const submitDeleteAccountFeedback = (body: { feedback: string;email: string }) =>
   post<CommonResponse>('/account/delete/feedback', { body })
-
-export const getDocDownloadUrl = (doc_name: string) =>
-  get<{ url: string }>('/compliance/download', { params: { doc_name } }, { silent: true })
diff --git a/service/datasets.ts b/service/datasets.ts
index f9edb2e..f2065de 100644
--- a/service/datasets.ts
+++ b/service/datasets.ts
@@ -5,6 +5,7 @@
   CreateDocumentReq,
   DataSet,
   DataSetListResponse,
+  DocumentListResponse,
   ErrorDocsResponse,
   ExternalAPIDeleteResponse,
   ExternalAPIItem,
@@ -119,6 +120,10 @@
 }
 export const fetchProcessRule: Fetcher<ProcessRuleResponse, { params: { documentId: string } }> = ({ params: { documentId } }) => {
   return get<ProcessRuleResponse>('/datasets/process-rule', { params: { document_id: documentId } })
+}
+
+export const fetchDocuments: Fetcher<DocumentListResponse, { datasetId: string; params: { keyword: string; page: number; limit: number; sort?: SortType } }> = ({ datasetId, params }) => {
+  return get<DocumentListResponse>(`/datasets/${datasetId}/documents`, { params })
 }
 
 export const createFirstDocument: Fetcher<createDocumentResponse, { body: CreateDocumentReq }> = ({ body }) => {
@@ -247,25 +252,6 @@
   return get<CommonResponse>(`website/crawl/status/${jobId}`, {
     params: {
       provider: 'jinareader',
-    },
-  }, {
-    silent: true,
-  })
-}
-
-export const createWatercrawlTask: Fetcher<CommonResponse, Record<string, any>> = (body) => {
-  return post<CommonResponse>('website/crawl', {
-    body: {
-      ...body,
-      provider: DataSourceProvider.waterCrawl,
-    },
-  })
-}
-
-export const checkWatercrawlTaskStatus: Fetcher<CommonResponse, string> = (jobId: string) => {
-  return get<CommonResponse>(`website/crawl/status/${jobId}`, {
-    params: {
-      provider: DataSourceProvider.waterCrawl,
     },
   }, {
     silent: true,
diff --git a/service/knowledge/use-create-dataset.ts b/service/knowledge/use-create-dataset.ts
index 88ef1d9..ecd3f87 100644
--- a/service/knowledge/use-create-dataset.ts
+++ b/service/knowledge/use-create-dataset.ts
@@ -2,7 +2,7 @@
 import type { MutationOptions } from '@tanstack/react-query'
 import { useMutation } from '@tanstack/react-query'
 import { createDocument, createFirstDocument, fetchDefaultProcessRule, fetchFileIndexingEstimate } from '../datasets'
-import type { IndexingType } from '@/app/components/datasets/create/step-two'
+import { type IndexingType } from '@/app/components/datasets/create/step-two'
 import type { ChunkingMode, CrawlOptions, CrawlResultItem, CreateDocumentReq, CustomFile, DataSourceType, FileIndexingEstimateResponse, IndexingEstimateParams, NotionInfo, ProcessRule, ProcessRuleResponse, createDocumentResponse } from '@/models/datasets'
 import type { DataSourceProvider, NotionPage } from '@/models/common'
 
diff --git a/service/knowledge/use-dateset.ts b/service/knowledge/use-dateset.ts
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/service/knowledge/use-dateset.ts
diff --git a/service/knowledge/use-document.ts b/service/knowledge/use-document.ts
index 6dabe7d..02e523b 100644
--- a/service/knowledge/use-document.ts
+++ b/service/knowledge/use-document.ts
@@ -4,37 +4,33 @@
 } from '@tanstack/react-query'
 import { del, get, patch } from '../base'
 import { useInvalid } from '../use-base'
-import type { MetadataType, SortType } from '../datasets'
-import type { DocumentDetailResponse, DocumentListResponse, UpdateDocumentBatchParams } from '@/models/datasets'
+import type { MetadataType } from '../datasets'
+import type { DocumentDetailResponse, SimpleDocumentDetail, UpdateDocumentBatchParams } from '@/models/datasets'
 import { DocumentActionType } from '@/models/datasets'
 import type { CommonResponse } from '@/models/common'
 
 const NAME_SPACE = 'knowledge/document'
 
-export const useDocumentListKey = [NAME_SPACE, 'documentList']
+const useDocumentListKey = [NAME_SPACE, 'documentList']
 export const useDocumentList = (payload: {
   datasetId: string
   query: {
     keyword: string
     page: number
     limit: number
-    sort?: SortType
-  },
-  refetchInterval?: number | false
+  }
 }) => {
-  const { query, datasetId, refetchInterval } = payload
-  const { keyword, page, limit, sort } = query
-  return useQuery<DocumentListResponse>({
-    queryKey: [...useDocumentListKey, datasetId, keyword, page, limit, sort],
-    queryFn: () => get<DocumentListResponse>(`/datasets/${datasetId}/documents`, {
+  const { query, datasetId } = payload
+  return useQuery<{ data: SimpleDocumentDetail[] }>({
+    queryKey: [...useDocumentListKey, datasetId, query],
+    queryFn: () => get<{ data: SimpleDocumentDetail[] }>(`/datasets/${datasetId}/documents`, {
       params: query,
     }),
-    refetchInterval,
   })
 }
 
-export const useInvalidDocumentList = (datasetId?: string) => {
-  return useInvalid(datasetId ? [...useDocumentListKey, datasetId] : useDocumentListKey)
+export const useInvalidDocumentList = () => {
+  return useInvalid(useDocumentListKey)
 }
 
 const useAutoDisabledDocumentKey = [NAME_SPACE, 'autoDisabledDocument']
diff --git a/service/log.ts b/service/log.ts
index 4bb4626..ec22785 100644
--- a/service/log.ts
+++ b/service/log.ts
@@ -17,6 +17,7 @@
   LogMessageAnnotationsResponse,
   LogMessageFeedbacksRequest,
   LogMessageFeedbacksResponse,
+  WorkflowLogsRequest,
   WorkflowLogsResponse,
   WorkflowRunDetailResponse,
 } from '@/models/log'
@@ -63,7 +64,7 @@
   return get<AnnotationsCountResponse>(url)
 }
 
-export const fetchWorkflowLogs: Fetcher<WorkflowLogsResponse, { url: string; params: Record<string, any> }> = ({ url, params }) => {
+export const fetchWorkflowLogs: Fetcher<WorkflowLogsResponse, { url: string; params?: WorkflowLogsRequest }> = ({ url, params }) => {
   return get<WorkflowLogsResponse>(url, { params })
 }
 
diff --git a/service/refresh-token.ts b/service/refresh-token.ts
index 4f295f3..f42b10c 100644
--- a/service/refresh-token.ts
+++ b/service/refresh-token.ts
@@ -5,7 +5,7 @@
 
 let isRefreshing = false
 function waitUntilTokenRefreshed() {
-  return new Promise<void>((resolve) => {
+  return new Promise<void>((resolve, reject) => {
     function _check() {
       const isRefreshingSign = globalThis.localStorage.getItem(LOCAL_STORAGE_KEY)
       if ((isRefreshingSign && isRefreshingSign === '1') || isRefreshing) {
@@ -24,7 +24,7 @@
 const isRefreshingSignAvailable = function (delta: number) {
   const nowTime = new Date().getTime()
   const lastTime = globalThis.localStorage.getItem('last_refresh_time') || '0'
-  return nowTime - Number.parseInt(lastTime) <= delta
+  return nowTime - parseInt(lastTime) <= delta
 }
 
 // only one request can send
diff --git a/service/share.ts b/service/share.ts
index 7cc292e..0e46e30 100644
--- a/service/share.ts
+++ b/service/share.ts
@@ -1,26 +1,4 @@
-import type {
-  IOnCompleted,
-  IOnData,
-  IOnError,
-  IOnFile,
-  IOnIterationFinished,
-  IOnIterationNext,
-  IOnIterationStarted,
-  IOnLoopFinished,
-  IOnLoopNext,
-  IOnLoopStarted,
-  IOnMessageEnd,
-  IOnMessageReplace,
-  IOnNodeFinished,
-  IOnNodeStarted,
-  IOnTTSChunk,
-  IOnTTSEnd,
-  IOnTextChunk,
-  IOnTextReplace,
-  IOnThought,
-  IOnWorkflowFinished,
-  IOnWorkflowStarted,
-} from './base'
+import type { IOnCompleted, IOnData, IOnError, IOnFile, IOnIterationFinished, IOnIterationNext, IOnIterationStarted, IOnMessageEnd, IOnMessageReplace, IOnNodeFinished, IOnNodeStarted, IOnTTSChunk, IOnTTSEnd, IOnTextChunk, IOnTextReplace, IOnThought, IOnWorkflowFinished, IOnWorkflowStarted } from './base'
 import {
   del as consoleDel, get as consoleGet, patch as consolePatch, post as consolePost,
   delPublic as del, getPublic as get, patchPublic as patch, postPublic as post, ssePost,
@@ -100,9 +78,6 @@
     onIterationStart,
     onIterationNext,
     onIterationFinish,
-    onLoopStart,
-    onLoopNext,
-    onLoopFinish,
     onTextChunk,
     onTextReplace,
   }: {
@@ -113,9 +88,6 @@
     onIterationStart: IOnIterationStarted
     onIterationNext: IOnIterationNext
     onIterationFinish: IOnIterationFinished
-    onLoopStart: IOnLoopStarted
-    onLoopNext: IOnLoopNext
-    onLoopFinish: IOnLoopFinished
     onTextChunk: IOnTextChunk
     onTextReplace: IOnTextReplace
   },
@@ -127,21 +99,7 @@
       ...body,
       response_mode: 'streaming',
     },
-  }, {
-    onNodeStarted,
-    onWorkflowStarted,
-    onWorkflowFinished,
-    isPublicAPI: !isInstalledApp,
-    onNodeFinished,
-    onIterationStart,
-    onIterationNext,
-    onIterationFinish,
-    onLoopStart,
-    onLoopNext,
-    onLoopFinish,
-    onTextChunk,
-    onTextReplace,
-  })
+  }, { onNodeStarted, onWorkflowStarted, onWorkflowFinished, isPublicAPI: !isInstalledApp, onNodeFinished, onIterationStart, onIterationNext, onIterationFinish, onTextChunk, onTextReplace })
 }
 
 export const fetchAppInfo = async () => {
@@ -262,9 +220,8 @@
   return (getAction('post', !isPublicAPI))(url, { body, header }, { needAllResponseContent: true })
 }
 
-export const fetchAccessToken = async (appCode: string, userId?: string) => {
+export const fetchAccessToken = async (appCode: string) => {
   const headers = new Headers()
   headers.append('X-App-Code', appCode)
-  const url = userId ? `/passport?user_id=${encodeURIComponent(userId)}` : '/passport'
-  return get(url, { headers }) as Promise<{ access_token: string }>
+  return get('/passport', { headers }) as Promise<{ access_token: string }>
 }
diff --git a/service/tools.ts b/service/tools.ts
index 38dcf38..90221ed 100644
--- a/service/tools.ts
+++ b/service/tools.ts
@@ -10,14 +10,9 @@
 } from '@/app/components/tools/types'
 import type { ToolWithProvider } from '@/app/components/workflow/types'
 import type { Label } from '@/app/components/tools/labels/constant'
-import { buildProviderQuery } from './_tools_util'
 
 export const fetchCollectionList = () => {
   return get<Collection[]>('/workspaces/current/tool-providers')
-}
-
-export const fetchCollectionDetail = (collectionName: string) => {
-  return get<Collection>(`/workspaces/current/tool-provider/${collectionName}/info`)
 }
 
 export const fetchBuiltInToolList = (collectionName: string) => {
@@ -25,13 +20,11 @@
 }
 
 export const fetchCustomToolList = (collectionName: string) => {
-  const query = buildProviderQuery(collectionName)
-  return get<Tool[]>(`/workspaces/current/tool-provider/api/tools?${query}`)
+  return get<Tool[]>(`/workspaces/current/tool-provider/api/tools?provider=${collectionName}`)
 }
 
 export const fetchModelToolList = (collectionName: string) => {
-  const query = buildProviderQuery(collectionName)
-  return get<Tool[]>(`/workspaces/current/tool-provider/model/tools?${query}`)
+  return get<Tool[]>(`/workspaces/current/tool-provider/model/tools?provider=${collectionName}`)
 }
 
 export const fetchWorkflowToolList = (appID: string) => {
@@ -68,8 +61,7 @@
 }
 
 export const fetchCustomCollection = (collectionName: string) => {
-  const query = buildProviderQuery(collectionName)
-  return get<CustomCollectionBackend>(`/workspaces/current/tool-provider/api/get?${query}`)
+  return get<CustomCollectionBackend>(`/workspaces/current/tool-provider/api/get?provider=${collectionName}`)
 }
 
 export const createCustomCollection = (collection: CustomCollectionBackend) => {
diff --git a/service/use-base.ts b/service/use-base.ts
index 37af55a..d5dd908 100644
--- a/service/use-base.ts
+++ b/service/use-base.ts
@@ -13,14 +13,3 @@
     )
   }
 }
-
-export const useReset = (key: QueryKey) => {
-  const queryClient = useQueryClient()
-  return () => {
-    queryClient.resetQueries(
-      {
-        queryKey: key,
-      },
-    )
-  }
-}
diff --git a/service/use-workflow.ts b/service/use-workflow.ts
index 4321552..948a114 100644
--- a/service/use-workflow.ts
+++ b/service/use-workflow.ts
@@ -1,87 +1,12 @@
-import { del, get, patch, post } from './base'
-import { useInfiniteQuery, useMutation, useQuery } from '@tanstack/react-query'
-import type {
-  FetchWorkflowDraftPageParams,
-  FetchWorkflowDraftPageResponse,
-  FetchWorkflowDraftResponse,
-  PublishWorkflowParams,
-  UpdateWorkflowParams,
-  WorkflowConfigResponse,
-} from '@/types/workflow'
-import type { CommonResponse } from '@/models/common'
-import { useReset } from './use-base'
+import { useQuery } from '@tanstack/react-query'
+import { get } from './base'
+import type { WorkflowConfigResponse } from '@/types/workflow'
 
 const NAME_SPACE = 'workflow'
 
-export const useAppWorkflow = (appID: string) => {
-  return useQuery<FetchWorkflowDraftResponse>({
-    enabled: !!appID,
-    queryKey: [NAME_SPACE, 'publish', appID],
-    queryFn: () => get<FetchWorkflowDraftResponse>(`/apps/${appID}/workflows/publish`),
-  })
-}
-
-export const useWorkflowConfig = (appId: string, onSuccess: (v: WorkflowConfigResponse) => void) => {
+export const useWorkflowConfig = (appId: string) => {
   return useQuery({
     queryKey: [NAME_SPACE, 'config', appId],
-    queryFn: async () => {
-      const data = await get<WorkflowConfigResponse>(`/apps/${appId}/workflows/draft/config`)
-      onSuccess(data)
-      return data
-    },
-  })
-}
-
-const WorkflowVersionHistoryKey = [NAME_SPACE, 'versionHistory']
-
-export const useWorkflowVersionHistory = (params: FetchWorkflowDraftPageParams) => {
-  const { appId, initialPage, limit, userId, namedOnly } = params
-  return useInfiniteQuery({
-    queryKey: [...WorkflowVersionHistoryKey, appId, initialPage, limit, userId, namedOnly],
-    queryFn: ({ pageParam = 1 }) => get<FetchWorkflowDraftPageResponse>(`/apps/${appId}/workflows`, {
-      params: {
-        page: pageParam,
-        limit,
-        user_id: userId || '',
-        named_only: !!namedOnly,
-      },
-    }),
-    getNextPageParam: lastPage => lastPage.has_more ? lastPage.page + 1 : null,
-    initialPageParam: initialPage,
-  })
-}
-
-export const useResetWorkflowVersionHistory = (appId: string) => {
-  return useReset([...WorkflowVersionHistoryKey, appId])
-}
-
-export const useUpdateWorkflow = (appId: string) => {
-  return useMutation({
-    mutationKey: [NAME_SPACE, 'update'],
-    mutationFn: (params: UpdateWorkflowParams) => patch(`/apps/${appId}/workflows/${params.workflowId}`, {
-      body: {
-        marked_name: params.title,
-        marked_comment: params.releaseNotes,
-      },
-    }),
-  })
-}
-
-export const useDeleteWorkflow = (appId: string) => {
-  return useMutation({
-    mutationKey: [NAME_SPACE, 'delete'],
-    mutationFn: (workflowId: string) => del(`/apps/${appId}/workflows/${workflowId}`),
-  })
-}
-
-export const usePublishWorkflow = (appId: string) => {
-  return useMutation({
-    mutationKey: [NAME_SPACE, 'publish'],
-    mutationFn: (params: PublishWorkflowParams) => post<CommonResponse & { created_at: number }>(`/apps/${appId}/workflows/publish`, {
-      body: {
-        marked_name: params.title,
-        marked_comment: params.releaseNotes,
-      },
-    }),
+    queryFn: () => get<WorkflowConfigResponse>(`/apps/${appId}/workflows/draft/config`),
   })
 }
diff --git a/service/workflow.ts b/service/workflow.ts
index 7d10394..b2c8d32 100644
--- a/service/workflow.ts
+++ b/service/workflow.ts
@@ -4,6 +4,7 @@
 import type {
   ChatRunHistoryResponse,
   ConversationVariableResponse,
+  FetchWorkflowDraftPageResponse,
   FetchWorkflowDraftResponse,
   NodesDefaultConfigsResponse,
   WorkflowRunHistoryResponse,
@@ -41,14 +42,18 @@
   return `apps/${appId}/${isChatFlow ? 'advanced-chat/' : ''}workflows/draft/iteration/nodes/${nodeId}/run`
 }
 
-export const getLoopSingleNodeRunUrl = (isChatFlow: boolean, appId: string, nodeId: string) => {
-  return `apps/${appId}/${isChatFlow ? 'advanced-chat/' : ''}workflows/draft/loop/nodes/${nodeId}/run`
+export const publishWorkflow = (url: string) => {
+  return post<CommonResponse & { created_at: number }>(url)
 }
 
 export const fetchPublishedWorkflow: Fetcher<FetchWorkflowDraftResponse, string> = (url) => {
   return get<FetchWorkflowDraftResponse>(url)
 }
 
+export const fetchPublishedAllWorkflow: Fetcher<FetchWorkflowDraftPageResponse, string> = (url) => {
+  return get<FetchWorkflowDraftPageResponse>(url)
+}
+
 export const stopWorkflowRun = (url: string) => {
   return post<CommonResponse>(url)
 }
diff --git a/tailwind.config.js b/tailwind.config.js
index a9959e7..0da4968 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,12 +1,126 @@
-// import type { Config } from 'tailwindcss'
-import commonConfig from './tailwind-common-config'
+import tailwindThemeVarDefine from './themes/tailwind-theme-var-define'
+
+/** @type {import('tailwindcss').Config} */
 const config = {
   content: [
     './app/**/*.{js,ts,jsx,tsx}',
     './components/**/*.{js,ts,jsx,tsx}',
     './context/**/*.{js,ts,jsx,tsx}',
   ],
-  ...commonConfig,
+  theme: {
+    typography: require('./typography'),
+    extend: {
+      colors: {
+        gray: {
+          25: '#fcfcfd',
+          50: '#f9fafb',
+          100: '#f2f4f7',
+          200: '#eaecf0',
+          300: '#d0d5dd',
+          400: '#98a2b3',
+          500: '#667085',
+          700: '#475467',
+          600: '#344054',
+          800: '#1d2939',
+          900: '#101828',
+        },
+        primary: {
+          25: '#f5f8ff',
+          50: '#eff4ff',
+          100: '#d1e0ff',
+          200: '#b2ccff',
+          300: '#84adff',
+          400: '#528bff',
+          500: '#2970ff',
+          600: '#155eef',
+          700: '#004eeb',
+          800: '#0040c1',
+          900: '#00359e',
+        },
+        blue: {
+          500: '#E1EFFE',
+        },
+        green: {
+          50: '#F3FAF7',
+          100: '#DEF7EC',
+          800: '#03543F',
+
+        },
+        yellow: {
+          100: '#FDF6B2',
+          800: '#723B13',
+        },
+        purple: {
+          50: '#F6F5FF',
+          200: '#DCD7FE',
+        },
+        indigo: {
+          25: '#F5F8FF',
+          50: '#EEF4FF',
+          100: '#E0EAFF',
+          300: '#A4BCFD',
+          400: '#8098F9',
+          600: '#444CE7',
+          800: '#2D31A6',
+        },
+        ...tailwindThemeVarDefine,
+      },
+      screens: {
+        'mobile': '100px',
+        // => @media (min-width: 100px) { ... }
+        'tablet': '640px', // 391
+        // => @media (min-width: 600px) { ... }
+        'pc': '769px',
+        // => @media (min-width: 769px) { ... }
+        '2k': '2560px',
+      },
+      boxShadow: {
+        'xs': '0px 1px 2px 0px rgba(16, 24, 40, 0.05)',
+        'sm': '0px 1px 2px 0px rgba(16, 24, 40, 0.06), 0px 1px 3px 0px rgba(16, 24, 40, 0.10)',
+        'md': '0px 2px 4px -2px rgba(16, 24, 40, 0.06), 0px 4px 8px -2px rgba(16, 24, 40, 0.10)',
+        'lg': '0px 4px 6px -2px rgba(16, 24, 40, 0.03), 0px 12px 16px -4px rgba(16, 24, 40, 0.08)',
+        'xl': '0px 8px 8px -4px rgba(16, 24, 40, 0.03), 0px 20px 24px -4px rgba(16, 24, 40, 0.08)',
+        '2xl': '0px 24px 48px -12px rgba(16, 24, 40, 0.18)',
+        '3xl': '0px 32px 64px -12px rgba(16, 24, 40, 0.14)',
+        'status-indicator-green-shadow': '0px 2px 6px 0px var(--color-components-badge-status-light-success-halo), 0px 0px 0px 1px var(--color-components-badge-status-light-border-outer)',
+        'status-indicator-warning-shadow': '0px 2px 6px 0px var(--color-components-badge-status-light-warning-halo), 0px 0px 0px 1px var(--color-components-badge-status-light-border-outer)',
+        'status-indicator-red-shadow': '0px 2px 6px 0px var(--color-components-badge-status-light-error-halo), 0px 0px 0px 1px var(--color-components-badge-status-light-border-outer)',
+        'status-indicator-blue-shadow': '0px 2px 6px 0px var(--color-components-badge-status-light-normal-halo), 0px 0px 0px 1px var(--color-components-badge-status-light-border-outer)',
+        'status-indicator-gray-shadow': '0px 1px 2px 0px var(--color-components-badge-status-light-disabled-halo), 0px 0px 0px 1px var(--color-components-badge-status-light-border-outer)',
+      },
+      opacity: {
+        2: '0.02',
+        8: '0.08',
+      },
+      fontSize: {
+        '2xs': '0.625rem',
+      },
+      backgroundImage: {
+        'chatbot-bg': 'var(--color-chatbot-bg)',
+        'chat-bubble-bg': 'var(--color-chat-bubble-bg)',
+        'workflow-process-bg': 'var(--color-workflow-process-bg)',
+        'dataset-chunk-process-success-bg': 'var(--color-dataset-chunk-process-success-bg)',
+        'dataset-chunk-process-error-bg': 'var(--color-dataset-chunk-process-error-bg)',
+        'dataset-chunk-detail-card-hover-bg': 'var(--color-dataset-chunk-detail-card-hover-bg)',
+        'dataset-child-chunk-expand-btn-bg': 'var(--color-dataset-child-chunk-expand-btn-bg)',
+        'dataset-option-card-blue-gradient': 'var(--color-dataset-option-card-blue-gradient)',
+        'dataset-option-card-purple-gradient': 'var(--color-dataset-option-card-purple-gradient)',
+        'dataset-option-card-orange-gradient': 'var(--color-dataset-option-card-orange-gradient)',
+        'dataset-chunk-list-mask-bg': 'var(--color-dataset-chunk-list-mask-bg)',
+      },
+      lineClamp: {
+        '20': '20',
+        'mask-top2bottom-gray-50-to-transparent': 'var(--mask-top2bottom-gray-50-to-transparent)',
+      },
+    },
+  },
+  plugins: [
+    require('@tailwindcss/typography'),
+  ],
+  // https://github.com/tailwindlabs/tailwindcss/discussions/5969
+  corePlugins: {
+    preflight: false,
+  },
 }
 
 export default config
diff --git a/themes/dark.css b/themes/dark.css
index edbd9de..892f48f 100644
--- a/themes/dark.css
+++ b/themes/dark.css
@@ -1,739 +1,737 @@
 /* Attention: Generate by code. Don't update by hand!!! */
 html[data-theme="dark"] {
-  --color-components-input-bg-normal: #ffffff14;
-  --color-components-input-text-placeholder: #c8ceda4d;
-  --color-components-input-bg-hover: #ffffff08;
-  --color-components-input-bg-active: #ffffff0d;
+  --color-components-input-bg-normal: #FFFFFF14;
+  --color-components-input-text-placeholder: #C8CEDA4D;
+  --color-components-input-bg-hover: #FFFFFF08;
+  --color-components-input-bg-active: #FFFFFF0D;
   --color-components-input-border-active: #747481;
-  --color-components-input-border-destructive: #f97066;
-  --color-components-input-text-filled: #f4f4f5;
-  --color-components-input-bg-destructive: #ffffff03;
-  --color-components-input-bg-disabled: #ffffff08;
-  --color-components-input-text-disabled: #c8ceda4d;
-  --color-components-input-text-filled-disabled: #c8ceda99;
-  --color-components-input-border-hover: #3a3a40;
-  --color-components-input-border-active-prompt-1: #36bffa;
-  --color-components-input-border-active-prompt-2: #296dff;
+  --color-components-input-border-destructive: #F97066;
+  --color-components-input-text-filled: #F4F4F5;
+  --color-components-input-bg-destructive: #FFFFFF03;
+  --color-components-input-bg-disabled: #FFFFFF08;
+  --color-components-input-text-disabled: #C8CEDA4D;
+  --color-components-input-text-filled-disabled: #C8CEDA99;
+  --color-components-input-border-hover: #3A3A40;
+  --color-components-input-border-active-prompt-1: #36BFFA;
+  --color-components-input-border-active-prompt-2: #296DFF;
 
-  --color-components-kbd-bg-gray: #ffffff08;
-  --color-components-kbd-bg-white: #ffffff1f;
+  --color-components-kbd-bg-gray: #FFFFFF08;
+  --color-components-kbd-bg-white: #FFFFFF1F;
 
-  --color-components-tooltip-bg: #18181bf2;
+  --color-components-tooltip-bg: #18181BF2;
 
-  --color-components-button-primary-text: #fffffff2;
-  --color-components-button-primary-bg: #155aef;
-  --color-components-button-primary-border: #ffffff1f;
-  --color-components-button-primary-bg-hover: #296dff;
-  --color-components-button-primary-border-hover: #ffffff33;
-  --color-components-button-primary-bg-disabled: #ffffff08;
-  --color-components-button-primary-border-disabled: #ffffff14;
-  --color-components-button-primary-text-disabled: #ffffff33;
+  --color-components-button-primary-text: #FFFFFFF2;
+  --color-components-button-primary-bg: #155AEF;
+  --color-components-button-primary-border: #FFFFFF1F;
+  --color-components-button-primary-bg-hover: #296DFF;
+  --color-components-button-primary-border-hover: #FFFFFF33;
+  --color-components-button-primary-bg-disabled: #FFFFFF08;
+  --color-components-button-primary-border-disabled: #FFFFFF14;
+  --color-components-button-primary-text-disabled: #FFFFFF33;
 
-  --color-components-button-secondary-text: #ffffffcc;
-  --color-components-button-secondary-text-disabled: #ffffff33;
-  --color-components-button-secondary-bg: #ffffff1f;
-  --color-components-button-secondary-bg-hover: #ffffff33;
-  --color-components-button-secondary-bg-disabled: #ffffff08;
-  --color-components-button-secondary-border: #ffffff14;
-  --color-components-button-secondary-border-hover: #ffffff1f;
-  --color-components-button-secondary-border-disabled: #ffffff0d;
+  --color-components-button-secondary-text: #FFFFFFCC;
+  --color-components-button-secondary-text-disabled: #FFFFFF33;
+  --color-components-button-secondary-bg: #FFFFFF1F;
+  --color-components-button-secondary-bg-hover: #FFFFFF33;
+  --color-components-button-secondary-bg-disabled: #FFFFFF08;
+  --color-components-button-secondary-border: #FFFFFF14;
+  --color-components-button-secondary-border-hover: #FFFFFF1F;
+  --color-components-button-secondary-border-disabled: #FFFFFF0D;
 
-  --color-components-button-tertiary-text: #d9d9de;
-  --color-components-button-tertiary-text-disabled: #ffffff33;
-  --color-components-button-tertiary-bg: #ffffff14;
-  --color-components-button-tertiary-bg-hover: #ffffff1f;
-  --color-components-button-tertiary-bg-disabled: #ffffff08;
+  --color-components-button-tertiary-text: #D9D9DE;
+  --color-components-button-tertiary-text-disabled: #FFFFFF33;
+  --color-components-button-tertiary-bg: #FFFFFF14;
+  --color-components-button-tertiary-bg-hover: #FFFFFF1F;
+  --color-components-button-tertiary-bg-disabled: #FFFFFF08;
 
-  --color-components-button-ghost-text: #d9d9de;
-  --color-components-button-ghost-text-disabled: #ffffff33;
-  --color-components-button-ghost-bg-hover: #c8ceda14;
+  --color-components-button-ghost-text: #D9D9DE;
+  --color-components-button-ghost-text-disabled: #FFFFFF33;
+  --color-components-button-ghost-bg-hover: #C8CEDA14;
 
-  --color-components-button-destructive-primary-text: #fffffff2;
-  --color-components-button-destructive-primary-text-disabled: #ffffff33;
-  --color-components-button-destructive-primary-bg: #d92d20;
-  --color-components-button-destructive-primary-bg-hover: #f04438;
-  --color-components-button-destructive-primary-bg-disabled: #f0443824;
-  --color-components-button-destructive-primary-border: #ffffff1f;
-  --color-components-button-destructive-primary-border-hover: #ffffff33;
-  --color-components-button-destructive-primary-border-disabled: #ffffff14;
+  --color-components-button-destructive-primary-text: #FFFFFFF2;
+  --color-components-button-destructive-primary-text-disabled: #FFFFFF33;
+  --color-components-button-destructive-primary-bg: #D92D20;
+  --color-components-button-destructive-primary-bg-hover: #F04438;
+  --color-components-button-destructive-primary-bg-disabled: #F0443824;
+  --color-components-button-destructive-primary-border: #FFFFFF1F;
+  --color-components-button-destructive-primary-border-hover: #FFFFFF33;
+  --color-components-button-destructive-primary-border-disabled: #FFFFFF14;
 
-  --color-components-button-destructive-secondary-text: #f97066;
-  --color-components-button-destructive-secondary-text-disabled: #f0443833;
-  --color-components-button-destructive-secondary-bg: #ffffff1f;
-  --color-components-button-destructive-secondary-bg-hover: #f0443824;
-  --color-components-button-destructive-secondary-bg-disabled: #f0443814;
-  --color-components-button-destructive-secondary-border: #ffffff14;
-  --color-components-button-destructive-secondary-border-hover: #ffffff1f;
-  --color-components-button-destructive-secondary-border-disabled: #f0443814;
+  --color-components-button-destructive-secondary-text: #F97066;
+  --color-components-button-destructive-secondary-text-disabled: #F0443833;
+  --color-components-button-destructive-secondary-bg: #FFFFFF1F;
+  --color-components-button-destructive-secondary-bg-hover: #F0443824;
+  --color-components-button-destructive-secondary-bg-disabled: #F0443814;
+  --color-components-button-destructive-secondary-border: #FFFFFF14;
+  --color-components-button-destructive-secondary-border-hover: #FFFFFF1F;
+  --color-components-button-destructive-secondary-border-disabled: #F0443814;
 
-  --color-components-button-destructive-tertiary-text: #f97066;
-  --color-components-button-destructive-tertiary-text-disabled: #f0443833;
-  --color-components-button-destructive-tertiary-bg: #f0443824;
-  --color-components-button-destructive-tertiary-bg-hover: #f0443840;
-  --color-components-button-destructive-tertiary-bg-disabled: #f0443814;
+  --color-components-button-destructive-tertiary-text: #F97066;
+  --color-components-button-destructive-tertiary-text-disabled: #F0443833;
+  --color-components-button-destructive-tertiary-bg: #F0443824;
+  --color-components-button-destructive-tertiary-bg-hover: #F0443840;
+  --color-components-button-destructive-tertiary-bg-disabled: #F0443814;
 
-  --color-components-button-destructive-ghost-text: #f97066;
-  --color-components-button-destructive-ghost-text-disabled: #f0443833;
-  --color-components-button-destructive-ghost-bg-hover: #f0443824;
+  --color-components-button-destructive-ghost-text: #F97066;
+  --color-components-button-destructive-ghost-text-disabled: #F0443833;
+  --color-components-button-destructive-ghost-bg-hover: #F0443824;
 
-  --color-components-button-secondary-accent-text: #ffffffcc;
-  --color-components-button-secondary-accent-text-disabled: #ffffff33;
-  --color-components-button-secondary-accent-bg: #ffffff0d;
-  --color-components-button-secondary-accent-bg-hover: #ffffff14;
-  --color-components-button-secondary-accent-bg-disabled: #ffffff08;
-  --color-components-button-secondary-accent-border: #ffffff14;
-  --color-components-button-secondary-accent-border-hover: #ffffff1f;
-  --color-components-button-secondary-accent-border-disabled: #ffffff0d;
+  --color-components-button-secondary-accent-text: #FFFFFFCC;
+  --color-components-button-secondary-accent-text-disabled: #FFFFFF33;
+  --color-components-button-secondary-accent-bg: #FFFFFF0D;
+  --color-components-button-secondary-accent-bg-hover: #FFFFFF14;
+  --color-components-button-secondary-accent-bg-disabled: #FFFFFF08;
+  --color-components-button-secondary-accent-border: #FFFFFF14;
+  --color-components-button-secondary-accent-border-hover: #FFFFFF1F;
+  --color-components-button-secondary-accent-border-disabled: #FFFFFF0D;
 
-  --color-components-button-indigo-bg: #444ce7;
-  --color-components-button-indigo-bg-hover: #6172f3;
-  --color-components-button-indigo-bg-disabled: #ffffff08;
+  --color-components-button-indigo-bg: #444CE7;
+  --color-components-button-indigo-bg-hover: #6172F3;
+  --color-components-button-indigo-bg-disabled: #FFFFFF08;
 
-  --color-components-checkbox-icon: #fffffff2;
-  --color-components-checkbox-icon-disabled: #ffffff33;
-  --color-components-checkbox-bg: #296dff;
-  --color-components-checkbox-bg-hover: #5289ff;
-  --color-components-checkbox-bg-disabled: #ffffff08;
-  --color-components-checkbox-border: #ffffff66;
-  --color-components-checkbox-border-hover: #ffffff99;
-  --color-components-checkbox-border-disabled: #ffffff03;
-  --color-components-checkbox-bg-unchecked: #ffffff08;
-  --color-components-checkbox-bg-unchecked-hover: #ffffff0d;
-  --color-components-checkbox-bg-disabled-checked: #155aef33;
+  --color-components-checkbox-icon: #FFFFFFF2;
+  --color-components-checkbox-icon-disabled: #FFFFFF33;
+  --color-components-checkbox-bg: #296DFF;
+  --color-components-checkbox-bg-hover: #5289FF;
+  --color-components-checkbox-bg-disabled: #FFFFFF08;
+  --color-components-checkbox-border: #FFFFFF66;
+  --color-components-checkbox-border-hover: #FFFFFF99;
+  --color-components-checkbox-border-disabled: #FFFFFF03;
+  --color-components-checkbox-bg-unchecked: #FFFFFF08;
+  --color-components-checkbox-bg-unchecked-hover: #FFFFFF0D;
+  --color-components-checkbox-bg-disabled-checked: #155AEF33;
 
-  --color-components-radio-border-checked: #296dff;
-  --color-components-radio-border-checked-hover: #5289ff;
-  --color-components-radio-border-checked-disabled: #155aef33;
-  --color-components-radio-bg-disabled: #ffffff08;
-  --color-components-radio-border: #ffffff66;
-  --color-components-radio-border-hover: #ffffff99;
-  --color-components-radio-border-disabled: #ffffff03;
-  --color-components-radio-bg: #ffffff00;
-  --color-components-radio-bg-hover: #ffffff0d;
+  --color-components-radio-border-checked: #296DFF;
+  --color-components-radio-border-checked-hover: #5289FF;
+  --color-components-radio-border-checked-disabled: #155AEF33;
+  --color-components-radio-bg-disabled: #FFFFFF08;
+  --color-components-radio-border: #FFFFFF66;
+  --color-components-radio-border-hover: #FFFFFF99;
+  --color-components-radio-border-disabled: #FFFFFF03;
+  --color-components-radio-bg: #FFFFFF00;
+  --color-components-radio-bg-hover: #FFFFFF0D;
 
-  --color-components-toggle-knob: #f4f4f5;
-  --color-components-toggle-knob-disabled: #ffffff33;
-  --color-components-toggle-bg: #296dff;
-  --color-components-toggle-bg-hover: #5289ff;
-  --color-components-toggle-bg-disabled: #ffffff14;
-  --color-components-toggle-bg-unchecked: #ffffff33;
-  --color-components-toggle-bg-unchecked-hover: #ffffff4d;
-  --color-components-toggle-bg-unchecked-disabled: #ffffff14;
-  --color-components-toggle-knob-hover: #fefefe;
+  --color-components-toggle-knob: #F4F4F5;
+  --color-components-toggle-knob-disabled: #FFFFFF33;
+  --color-components-toggle-bg: #296DFF;
+  --color-components-toggle-bg-hover: #5289FF;
+  --color-components-toggle-bg-disabled: #FFFFFF14;
+  --color-components-toggle-bg-unchecked: #FFFFFF33;
+  --color-components-toggle-bg-unchecked-hover: #FFFFFF4D;
+  --color-components-toggle-bg-unchecked-disabled: #FFFFFF14;
+  --color-components-toggle-knob-hover: #FEFEFE;
 
   --color-components-card-bg: #222225;
-  --color-components-card-border: #ffffff08;
-  --color-components-card-bg-alt: #27272b;
+  --color-components-card-border: #FFFFFF08;
+  --color-components-card-bg-alt: #27272B;
 
-  --color-components-menu-item-text: #c8ceda99;
-  --color-components-menu-item-text-active: #fffffff2;
-  --color-components-menu-item-text-hover: #c8cedacc;
-  --color-components-menu-item-text-active-accent: #fffffff2;
+  --color-components-menu-item-text: #C8CEDA99;
+  --color-components-menu-item-text-active: #FFFFFFF2;
+  --color-components-menu-item-text-hover: #C8CEDACC;
+  --color-components-menu-item-text-active-accent: #FFFFFFF2;
 
   --color-components-panel-bg: #222225;
-  --color-components-panel-bg-blur: #2c2c30f2;
-  --color-components-panel-border: #c8ceda24;
-  --color-components-panel-border-subtle: #c8ceda14;
+  --color-components-panel-bg-blur: #2C2C30F2;
+  --color-components-panel-border: #C8CEDA24;
+  --color-components-panel-border-subtle: #C8CEDA14;
   --color-components-panel-gradient-2: #222225;
-  --color-components-panel-gradient-1: #27272b;
+  --color-components-panel-gradient-1: #27272B;
   --color-components-panel-bg-alt: #222225;
-  --color-components-panel-on-panel-item-bg: #27272b;
-  --color-components-panel-on-panel-item-bg-hover: #3a3a40;
-  --color-components-panel-on-panel-item-bg-alt: #3a3a40;
-  --color-components-panel-on-panel-item-bg-transparent: #2c2c30f2;
-  --color-components-panel-on-panel-item-bg-hover-transparent: #3a3a4000;
-  --color-components-panel-on-panel-item-bg-destructive-hover-transparent: #fffbfa00;
+  --color-components-panel-on-panel-item-bg: #27272B;
+  --color-components-panel-on-panel-item-bg-hover: #3A3A40;
+  --color-components-panel-on-panel-item-bg-alt: #3A3A40;
+  --color-components-panel-on-panel-item-bg-transparent: #2C2C30F2;
+  --color-components-panel-on-panel-item-bg-hover-transparent: #3A3A4000;
+  --color-components-panel-on-panel-item-bg-destructive-hover-transparent: #FFFBFA00;
 
   --color-components-panel-bg-transparent: #22222500;
 
-  --color-components-main-nav-nav-button-text: #c8ceda99;
-  --color-components-main-nav-nav-button-text-active: #f4f4f5;
-  --color-components-main-nav-nav-button-bg: #ffffff00;
-  --color-components-main-nav-nav-button-bg-active: #c8ceda24;
-  --color-components-main-nav-nav-button-border: #ffffff14;
-  --color-components-main-nav-nav-button-bg-hover: #c8ceda0a;
+  --color-components-main-nav-nav-button-text: #C8CEDA99;
+  --color-components-main-nav-nav-button-text-active: #F4F4F5;
+  --color-components-main-nav-nav-button-bg: #FFFFFF00;
+  --color-components-main-nav-nav-button-bg-active: #C8CEDA24;
+  --color-components-main-nav-nav-button-border: #FFFFFF14;
+  --color-components-main-nav-nav-button-bg-hover: #C8CEDA0A;
 
-  --color-components-main-nav-nav-user-border: #ffffff0d;
+  --color-components-main-nav-nav-user-border: #FFFFFF0D;
 
-  --color-components-slider-knob: #f4f4f5;
-  --color-components-slider-knob-hover: #fefefe;
-  --color-components-slider-knob-disabled: #ffffff33;
-  --color-components-slider-range: #296dff;
-  --color-components-slider-track: #ffffff33;
-  --color-components-slider-knob-border-hover: #1018284d;
+  --color-components-slider-knob: #F4F4F5;
+  --color-components-slider-knob-hover: #FEFEFE;
+  --color-components-slider-knob-disabled: #FFFFFF33;
+  --color-components-slider-range: #296DFF;
+  --color-components-slider-track: #FFFFFF33;
+  --color-components-slider-knob-border-hover: #1018284D;
   --color-components-slider-knob-border: #10182833;
 
-  --color-components-segmented-control-item-active-bg: #ffffff14;
-  --color-components-segmented-control-item-active-border: #c8ceda14;
-  --color-components-segmented-control-bg-normal: #18181bb3;
-  --color-components-segmented-control-item-active-accent-bg: #155aef33;
-  --color-components-segmented-control-item-active-accent-border: #155aef4d;
+  --color-components-segmented-control-item-active-bg: #FFFFFF14;
+  --color-components-segmented-control-item-active-border: #C8CEDA14;
+  --color-components-segmented-control-bg-normal: #18181BB2;
+  --color-components-segmented-control-item-active-accent-bg: #155AEF33;
+  --color-components-segmented-control-item-active-accent-border: #155AEF4D;
 
-  --color-components-option-card-option-bg: #c8ceda0a;
-  --color-components-option-card-option-selected-bg: #ffffff0d;
-  --color-components-option-card-option-selected-border: #5289ff;
-  --color-components-option-card-option-border: #c8ceda33;
-  --color-components-option-card-option-bg-hover: #c8ceda24;
-  --color-components-option-card-option-border-hover: #c8ceda4d;
+  --color-components-option-card-option-bg: #C8CEDA0A;
+  --color-components-option-card-option-selected-bg: #FFFFFF0D;
+  --color-components-option-card-option-selected-border: #5289FF;
+  --color-components-option-card-option-border: #C8CEDA33;
+  --color-components-option-card-option-bg-hover: #C8CEDA24;
+  --color-components-option-card-option-border-hover: #C8CEDA4D;
 
-  --color-components-tab-active: #296dff;
+  --color-components-tab-active: #296DFF;
 
-  --color-components-badge-white-to-dark: #18181bcc;
-  --color-components-badge-status-light-success-bg: #17b26a;
-  --color-components-badge-status-light-success-border-inner: #47cd89;
-  --color-components-badge-status-light-success-halo: #17b26a4d;
+  --color-components-badge-white-to-dark: #18181BCC;
+  --color-components-badge-status-light-success-bg: #17B26A;
+  --color-components-badge-status-light-success-border-inner: #47CD89;
+  --color-components-badge-status-light-success-halo: #17B26A4D;
 
   --color-components-badge-status-light-border-outer: #222225;
-  --color-components-badge-status-light-high-light: #ffffff4d;
-  --color-components-badge-status-light-warning-bg: #f79009;
-  --color-components-badge-status-light-warning-border-inner: #fdb022;
-  --color-components-badge-status-light-warning-halo: #f790094d;
+  --color-components-badge-status-light-high-light: #FFFFFF4D;
+  --color-components-badge-status-light-warning-bg: #F79009;
+  --color-components-badge-status-light-warning-border-inner: #FDB022;
+  --color-components-badge-status-light-warning-halo: #F790094D;
 
-  --color-components-badge-status-light-error-bg: #f04438;
-  --color-components-badge-status-light-error-border-inner: #f97066;
-  --color-components-badge-status-light-error-halo: #f044384d;
+  --color-components-badge-status-light-error-bg: #F04438;
+  --color-components-badge-status-light-error-border-inner: #F97066;
+  --color-components-badge-status-light-error-halo: #F044384D;
 
-  --color-components-badge-status-light-normal-bg: #0ba5ec;
-  --color-components-badge-status-light-normal-border-inner: #36bffa;
-  --color-components-badge-status-light-normal-halo: #0ba5ec4d;
+  --color-components-badge-status-light-normal-bg: #0BA5EC;
+  --color-components-badge-status-light-normal-border-inner: #36BFFA;
+  --color-components-badge-status-light-normal-halo: #0BA5EC4D;
 
-  --color-components-badge-status-light-disabled-bg: #676f83;
-  --color-components-badge-status-light-disabled-border-inner: #98a2b2;
-  --color-components-badge-status-light-disabled-halo: #c8ceda14;
+  --color-components-badge-status-light-disabled-bg: #676F83;
+  --color-components-badge-status-light-disabled-border-inner: #98A2B2;
+  --color-components-badge-status-light-disabled-halo: #C8CEDA14;
 
-  --color-components-badge-bg-green-soft: #17b26a24;
-  --color-components-badge-bg-orange-soft: #f7900924;
-  --color-components-badge-bg-red-soft: #f0443824;
-  --color-components-badge-bg-blue-light-soft: #0ba5ec24;
-  --color-components-badge-bg-gray-soft: #c8ceda14;
-  --color-components-badge-bg-dimm: #ffffff08;
+  --color-components-badge-bg-green-soft: #17B26A24;
+  --color-components-badge-bg-orange-soft: #F7900924;
+  --color-components-badge-bg-red-soft: #F0443824;
+  --color-components-badge-bg-blue-light-soft: #0BA5EC24;
+  --color-components-badge-bg-gray-soft: #C8CEDA14;
 
-  --color-components-chart-line: #5289ff;
-  --color-components-chart-area-1: #155aef33;
-  --color-components-chart-area-2: #155aef0a;
-  --color-components-chart-current-1: #5289ff;
-  --color-components-chart-current-2: #155aef4d;
-  --color-components-chart-bg: #18181bf2;
+  --color-components-chart-line: #5289FF;
+  --color-components-chart-area-1: #155AEF33;
+  --color-components-chart-area-2: #155AEF0A;
+  --color-components-chart-current-1: #5289FF;
+  --color-components-chart-current-2: #155AEF4D;
+  --color-components-chart-bg: #18181BF2;
 
   --color-components-actionbar-bg: #222225;
-  --color-components-actionbar-border: #c8ceda14;
-  --color-components-actionbar-bg-accent: #27272b;
-  --color-components-actionbar-border-accent: #5289ff;
+  --color-components-actionbar-border: #C8CEDA14;
+  --color-components-actionbar-bg-accent: #27272B;
+  --color-components-actionbar-border-accent: #5289FF;
 
-  --color-components-dropzone-bg-alt: #18181bcc;
-  --color-components-dropzone-bg: #18181b66;
-  --color-components-dropzone-bg-accent: #155aef33;
-  --color-components-dropzone-border: #c8ceda24;
-  --color-components-dropzone-border-alt: #c8ceda33;
-  --color-components-dropzone-border-accent: #84abff;
+  --color-components-dropzone-bg-alt: #18181BCC;
+  --color-components-dropzone-bg: #18181B66;
+  --color-components-dropzone-bg-accent: #155AEF33;
+  --color-components-dropzone-border: #C8CEDA24;
+  --color-components-dropzone-border-alt: #C8CEDA33;
+  --color-components-dropzone-border-accent: #84ABFF;
 
-  --color-components-progress-brand-progress: #5289ff;
-  --color-components-progress-brand-border: #5289ff;
-  --color-components-progress-brand-bg: #155aef0a;
+  --color-components-progress-brand-progress: #5289FF;
+  --color-components-progress-brand-border: #5289FF;
+  --color-components-progress-brand-bg: #155AEF0A;
 
-  --color-components-progress-white-progress: #ffffff;
-  --color-components-progress-white-border: #fffffff2;
-  --color-components-progress-white-bg: #ffffff03;
+  --color-components-progress-white-progress: #FFFFFF;
+  --color-components-progress-white-border: #FFFFFFF2;
+  --color-components-progress-white-bg: #FFFFFF03;
 
-  --color-components-progress-gray-progress: #98a2b2;
-  --color-components-progress-gray-border: #98a2b2;
-  --color-components-progress-gray-bg: #c8ceda05;
+  --color-components-progress-gray-progress: #98A2B2;
+  --color-components-progress-gray-border: #98A2B2;
+  --color-components-progress-gray-bg: #C8CEDA05;
 
-  --color-components-progress-warning-progress: #fdb022;
-  --color-components-progress-warning-border: #fdb022;
-  --color-components-progress-warning-bg: #f790090a;
+  --color-components-progress-warning-progress: #FDB022;
+  --color-components-progress-warning-border: #FDB022;
+  --color-components-progress-warning-bg: #F790090A;
 
-  --color-components-progress-error-progress: #f97066;
-  --color-components-progress-error-border: #f97066;
-  --color-components-progress-error-bg: #f044380a;
+  --color-components-progress-error-progress: #F97066;
+  --color-components-progress-error-border: #F97066;
+  --color-components-progress-error-bg: #F044380A;
 
-  --color-components-chat-input-audio-bg: #155aef33;
-  --color-components-chat-input-audio-wave-default: #c8ceda24;
-  --color-components-chat-input-bg-mask-1: #18181b0a;
-  --color-components-chat-input-bg-mask-2: #18181b99;
-  --color-components-chat-input-border: #c8ceda33;
-  --color-components-chat-input-audio-wave-active: #84abff;
-  --color-components-chat-input-audio-bg-alt: #18181be6;
+  --color-components-chat-input-audio-bg: #155AEF33;
+  --color-components-chat-input-audio-wave-default: #C8CEDA24;
+  --color-components-chat-input-bg-mask-1: #18181B0A;
+  --color-components-chat-input-bg-mask-2: #18181B99;
+  --color-components-chat-input-border: #C8CEDA33;
+  --color-components-chat-input-audio-wave-active: #84ABFF;
+  --color-components-chat-input-audio-bg-alt: #18181BE5;
 
-  --color-components-avatar-shape-fill-stop-0: #fffffff2;
-  --color-components-avatar-shape-fill-stop-100: #ffffffcc;
+  --color-components-avatar-shape-fill-stop-0: #FFFFFFF2;
+  --color-components-avatar-shape-fill-stop-100: #FFFFFFCC;
 
-  --color-components-avatar-bg-mask-stop-0: #ffffff33;
-  --color-components-avatar-bg-mask-stop-100: #ffffff08;
+  --color-components-avatar-bg-mask-stop-0: #FFFFFF33;
+  --color-components-avatar-bg-mask-stop-100: #FFFFFF08;
 
   --color-components-avatar-default-avatar-bg: #222225;
-  --color-components-avatar-mask-darkmode-dimmed: #0000001f;
+  --color-components-avatar-mask-darkmode-dimmed: #0000001F;
 
-  --color-components-label-gray: #c8ceda24;
+  --color-components-label-gray: #C8CEDA24;
 
-  --color-components-premium-badge-blue-bg-stop-0: #5289ff;
-  --color-components-premium-badge-blue-bg-stop-100: #296dff;
-  --color-components-premium-badge-blue-stroke-stop-0: #ffffff33;
-  --color-components-premium-badge-blue-stroke-stop-100: #296dff;
-  --color-components-premium-badge-blue-text-stop-0: #eff4ff;
-  --color-components-premium-badge-blue-text-stop-100: #b2caff;
-  --color-components-premium-badge-blue-glow: #004aeb;
-  --color-components-premium-badge-blue-bg-stop-0-hover: #84abff;
-  --color-components-premium-badge-blue-bg-stop-100-hover: #004aeb;
-  --color-components-premium-badge-blue-glow-hover: #d1e0ff;
-  --color-components-premium-badge-blue-stroke-stop-0-hover: #ffffff80;
-  --color-components-premium-badge-blue-stroke-stop-100-hover: #296dff;
+  --color-components-premium-badge-blue-bg-stop-0: #5289FF;
+  --color-components-premium-badge-blue-bg-stop-100: #296DFF;
+  --color-components-premium-badge-blue-stroke-stop-0: #FFFFFF33;
+  --color-components-premium-badge-blue-stroke-stop-100: #296DFF;
+  --color-components-premium-badge-blue-text-stop-0: #EFF4FF;
+  --color-components-premium-badge-blue-text-stop-100: #B2CAFF;
+  --color-components-premium-badge-blue-glow: #004AEB;
+  --color-components-premium-badge-blue-bg-stop-0-hover: #84ABFF;
+  --color-components-premium-badge-blue-bg-stop-100-hover: #004AEB;
+  --color-components-premium-badge-blue-glow-hover: #D1E0FF;
+  --color-components-premium-badge-blue-stroke-stop-0-hover: #FFFFFF80;
+  --color-components-premium-badge-blue-stroke-stop-100-hover: #296DFF;
 
-  --color-components-premium-badge-highlight-stop-0: #ffffff1f;
-  --color-components-premium-badge-highlight-stop-100: #ffffff33;
-  --color-components-premium-badge-indigo-bg-stop-0: #6172f3;
-  --color-components-premium-badge-indigo-bg-stop-100: #3538cd;
-  --color-components-premium-badge-indigo-stroke-stop-0: #ffffff33;
-  --color-components-premium-badge-indigo-stroke-stop-100: #444ce7;
-  --color-components-premium-badge-indigo-text-stop-0: #eef4ff;
-  --color-components-premium-badge-indigo-text-stop-100: #c7d7fe;
-  --color-components-premium-badge-indigo-glow: #3538cd;
-  --color-components-premium-badge-indigo-glow-hover: #e0eaff;
-  --color-components-premium-badge-indigo-bg-stop-0-hover: #a4bcfd;
-  --color-components-premium-badge-indigo-bg-stop-100-hover: #3538cd;
-  --color-components-premium-badge-indigo-stroke-stop-0-hover: #ffffff80;
-  --color-components-premium-badge-indigo-stroke-stop-100-hover: #444ce7;
+  --color-components-premium-badge-highlight-stop-0: #FFFFFF1F;
+  --color-components-premium-badge-highlight-stop-100: #FFFFFF33;
+  --color-components-premium-badge-indigo-bg-stop-0: #6172F3;
+  --color-components-premium-badge-indigo-bg-stop-100: #3538CD;
+  --color-components-premium-badge-indigo-stroke-stop-0: #FFFFFF33;
+  --color-components-premium-badge-indigo-stroke-stop-100: #444CE7;
+  --color-components-premium-badge-indigo-text-stop-0: #EEF4FF;
+  --color-components-premium-badge-indigo-text-stop-100: #C7D7FE;
+  --color-components-premium-badge-indigo-glow: #3538CD;
+  --color-components-premium-badge-indigo-glow-hover: #E0EAFF;
+  --color-components-premium-badge-indigo-bg-stop-0-hover: #A4BCFD;
+  --color-components-premium-badge-indigo-bg-stop-100-hover: #3538CD;
+  --color-components-premium-badge-indigo-stroke-stop-0-hover: #FFFFFF80;
+  --color-components-premium-badge-indigo-stroke-stop-100-hover: #444CE7;
 
-  --color-components-premium-badge-grey-bg-stop-0: #676f83;
+  --color-components-premium-badge-grey-bg-stop-0: #676F83;
   --color-components-premium-badge-grey-bg-stop-100: #495464;
-  --color-components-premium-badge-grey-stroke-stop-0: #ffffff1f;
+  --color-components-premium-badge-grey-stroke-stop-0: #FFFFFF1F;
   --color-components-premium-badge-grey-stroke-stop-100: #495464;
-  --color-components-premium-badge-grey-text-stop-0: #f9fafb;
-  --color-components-premium-badge-grey-text-stop-100: #e9ebf0;
+  --color-components-premium-badge-grey-text-stop-0: #F9FAFB;
+  --color-components-premium-badge-grey-text-stop-100: #E9EBF0;
   --color-components-premium-badge-grey-glow: #354052;
-  --color-components-premium-badge-grey-glow-hover: #f2f4f7;
-  --color-components-premium-badge-grey-bg-stop-0-hover: #98a2b2;
+  --color-components-premium-badge-grey-glow-hover: #F2F4F7;
+  --color-components-premium-badge-grey-bg-stop-0-hover: #98A2B2;
   --color-components-premium-badge-grey-bg-stop-100-hover: #354052;
-  --color-components-premium-badge-grey-stroke-stop-0-hover: #ffffff80;
-  --color-components-premium-badge-grey-stroke-stop-100-hover: #676f83;
+  --color-components-premium-badge-grey-stroke-stop-0-hover: #FFFFFF80;
+  --color-components-premium-badge-grey-stroke-stop-100-hover: #676F83;
 
-  --color-components-premium-badge-orange-bg-stop-0: #ff692e;
-  --color-components-premium-badge-orange-bg-stop-100: #e04f16;
-  --color-components-premium-badge-orange-stroke-stop-0: #ffffff33;
-  --color-components-premium-badge-orange-stroke-stop-100: #ff4405;
-  --color-components-premium-badge-orange-text-stop-0: #fef6ee;
-  --color-components-premium-badge-orange-text-stop-100: #f9dbaf;
-  --color-components-premium-badge-orange-glow: #b93815;
-  --color-components-premium-badge-orange-glow-hover: #fdead7;
-  --color-components-premium-badge-orange-bg-stop-0-hover: #ff692e;
-  --color-components-premium-badge-orange-bg-stop-100-hover: #b93815;
-  --color-components-premium-badge-orange-stroke-stop-0-hover: #ffffff80;
-  --color-components-premium-badge-orange-stroke-stop-100-hover: #ff4405;
+  --color-components-premium-badge-orange-bg-stop-0: #FF692E;
+  --color-components-premium-badge-orange-bg-stop-100: #E04F16;
+  --color-components-premium-badge-orange-stroke-stop-0: #FFFFFF33;
+  --color-components-premium-badge-orange-stroke-stop-100: #FF4405;
+  --color-components-premium-badge-orange-text-stop-0: #FEF6EE;
+  --color-components-premium-badge-orange-text-stop-100: #F9DBAF;
+  --color-components-premium-badge-orange-glow: #B93815;
+  --color-components-premium-badge-orange-glow-hover: #FDEAD7;
+  --color-components-premium-badge-orange-bg-stop-0-hover: #FF692E;
+  --color-components-premium-badge-orange-bg-stop-100-hover: #B93815;
+  --color-components-premium-badge-orange-stroke-stop-0-hover: #FFFFFF80;
+  --color-components-premium-badge-orange-stroke-stop-100-hover: #FF4405;
 
-  --color-components-progress-bar-bg: #c8ceda14;
-  --color-components-progress-bar-progress: #c8ceda24;
-  --color-components-progress-bar-border: #ffffff08;
-  --color-components-progress-bar-progress-solid: #fffffff2;
-  --color-components-progress-bar-progress-highlight: #c8ceda33;
+  --color-components-progress-bar-bg: #C8CEDA14;
+  --color-components-progress-bar-progress: #C8CEDA24;
+  --color-components-progress-bar-border: #FFFFFF08;
+  --color-components-progress-bar-progress-solid: #FFFFFFF2;
+  --color-components-progress-bar-progress-highlight: #C8CEDA33;
 
-  --color-components-icon-bg-red-solid: #d92d20;
-  --color-components-icon-bg-rose-solid: #e31b54;
-  --color-components-icon-bg-pink-solid: #dd2590;
-  --color-components-icon-bg-orange-dark-solid: #ff4405;
-  --color-components-icon-bg-yellow-solid: #eaaa08;
-  --color-components-icon-bg-green-solid: #4ca30d;
-  --color-components-icon-bg-teal-solid: #0e9384;
-  --color-components-icon-bg-blue-light-solid: #0ba5ec;
-  --color-components-icon-bg-blue-solid: #155aef;
-  --color-components-icon-bg-indigo-solid: #444ce7;
-  --color-components-icon-bg-violet-solid: #7839ee;
-  --color-components-icon-bg-midnight-solid: #5d698d;
-  --color-components-icon-bg-rose-soft: #f63d6833;
-  --color-components-icon-bg-pink-soft: #ee46bc33;
-  --color-components-icon-bg-orange-dark-soft: #ff440533;
-  --color-components-icon-bg-yellow-soft: #eaaa0833;
-  --color-components-icon-bg-green-soft: #66c61c33;
-  --color-components-icon-bg-teal-soft: #15b79e33;
-  --color-components-icon-bg-blue-light-soft: #0ba5ec33;
-  --color-components-icon-bg-blue-soft: #155aef33;
-  --color-components-icon-bg-indigo-soft: #6172f333;
-  --color-components-icon-bg-violet-soft: #875bf733;
-  --color-components-icon-bg-midnight-soft: #828dad33;
-  --color-components-icon-bg-red-soft: #f0443833;
-  --color-components-icon-bg-orange-solid: #f79009;
-  --color-components-icon-bg-orange-soft: #f7900933;
+  --color-components-icon-bg-red-solid: #D92D20;
+  --color-components-icon-bg-rose-solid: #E31B54;
+  --color-components-icon-bg-pink-solid: #DD2590;
+  --color-components-icon-bg-orange-dark-solid: #FF4405;
+  --color-components-icon-bg-yellow-solid: #EAAA08;
+  --color-components-icon-bg-green-solid: #4CA30D;
+  --color-components-icon-bg-teal-solid: #0E9384;
+  --color-components-icon-bg-blue-light-solid: #0BA5EC;
+  --color-components-icon-bg-blue-solid: #155AEF;
+  --color-components-icon-bg-indigo-solid: #444CE7;
+  --color-components-icon-bg-violet-solid: #7839EE;
+  --color-components-icon-bg-midnight-solid: #5D698D;
+  --color-components-icon-bg-rose-soft: #F63D6833;
+  --color-components-icon-bg-pink-soft: #EE46BC33;
+  --color-components-icon-bg-orange-dark-soft: #FF440533;
+  --color-components-icon-bg-yellow-soft: #EAAA0833;
+  --color-components-icon-bg-green-soft: #66C61C33;
+  --color-components-icon-bg-teal-soft: #15B79E33;
+  --color-components-icon-bg-blue-light-soft: #0BA5EC33;
+  --color-components-icon-bg-blue-soft: #155AEF33;
+  --color-components-icon-bg-indigo-soft: #6172F333;
+  --color-components-icon-bg-violet-soft: #875BF733;
+  --color-components-icon-bg-midnight-soft: #828DAD33;
+  --color-components-icon-bg-red-soft: #F0443833;
+  --color-components-icon-bg-orange-solid: #F79009;
+  --color-components-icon-bg-orange-soft: #F7900933;
 
-  --color-text-primary: #fbfbfc;
-  --color-text-secondary: #d9d9de;
-  --color-text-tertiary: #c8ceda99;
-  --color-text-quaternary: #c8ceda66;
-  --color-text-destructive: #f97066;
-  --color-text-success: #17b26a;
-  --color-text-warning: #f79009;
-  --color-text-destructive-secondary: #f97066;
-  --color-text-success-secondary: #47cd89;
-  --color-text-warning-secondary: #fdb022;
-  --color-text-accent: #5289ff;
-  --color-text-primary-on-surface: #fffffff2;
-  --color-text-placeholder: #c8ceda4d;
-  --color-text-disabled: #c8ceda4d;
-  --color-text-accent-secondary: #84abff;
-  --color-text-accent-light-mode-only: #d9d9de;
-  --color-text-text-selected: #155aef4d;
-  --color-text-secondary-on-surface: #ffffffe6;
-  --color-text-logo-text: #e9e9ec;
-  --color-text-empty-state-icon: #c8ceda4d;
-  --color-text-inverted: #ffffff;
-  --color-text-inverted-dimmed: #ffffffcc;
+  --color-text-primary: #FBFBFC;
+  --color-text-secondary: #D9D9DE;
+  --color-text-tertiary: #C8CEDA99;
+  --color-text-quaternary: #C8CEDA66;
+  --color-text-destructive: #F97066;
+  --color-text-success: #17B26A;
+  --color-text-warning: #F79009;
+  --color-text-destructive-secondary: #F97066;
+  --color-text-success-secondary: #47CD89;
+  --color-text-warning-secondary: #FDB022;
+  --color-text-accent: #5289FF;
+  --color-text-primary-on-surface: #FFFFFFF2;
+  --color-text-placeholder: #C8CEDA4D;
+  --color-text-disabled: #C8CEDA4D;
+  --color-text-accent-secondary: #84ABFF;
+  --color-text-accent-light-mode-only: #D9D9DE;
+  --color-text-text-selected: #155AEF4D;
+  --color-text-secondary-on-surface: #FFFFFFE5;
+  --color-text-logo-text: #E9E9EC;
+  --color-text-empty-state-icon: #C8CEDA4D;
+  --color-text-inverted: #FFFFFF;
+  --color-text-inverted-dimmed: #FFFFFFCC;
 
-  --color-background-body: #1d1d20;
+  --color-background-body: #1D1D20;
   --color-background-default-subtle: #222225;
-  --color-background-neutral-subtle: #1d1d20;
-  --color-background-sidenav-bg: #27272aeb;
+  --color-background-neutral-subtle: #1D1D20;
+  --color-background-sidenav-bg: #27272AEB;
   --color-background-default: #222225;
-  --color-background-soft: #18181b40;
+  --color-background-soft: #18181B40;
   --color-background-gradient-bg-fill-chat-bg-1: #222225;
-  --color-background-gradient-bg-fill-chat-bg-2: #1d1d20;
-  --color-background-gradient-bg-fill-chat-bubble-bg-1: #c8ceda14;
-  --color-background-gradient-bg-fill-chat-bubble-bg-2: #c8ceda05;
-  --color-background-gradient-bg-fill-debug-bg-1: #c8ceda14;
-  --color-background-gradient-bg-fill-debug-bg-2: #18181b0a;
+  --color-background-gradient-bg-fill-chat-bg-2: #1D1D20;
+  --color-background-gradient-bg-fill-chat-bubble-bg-1: #C8CEDA14;
+  --color-background-gradient-bg-fill-chat-bubble-bg-2: #C8CEDA05;
+  --color-background-gradient-bg-fill-debug-bg-1: #C8CEDA14;
+  --color-background-gradient-bg-fill-debug-bg-2: #18181B0A;
 
-  --color-background-gradient-mask-gray: #18181b14;
+  --color-background-gradient-mask-gray: #18181B14;
   --color-background-gradient-mask-transparent: #00000000;
-  --color-background-gradient-mask-input-clear-2: #393a3e00;
-  --color-background-gradient-mask-input-clear-1: #393a3e;
+  --color-background-gradient-mask-input-clear-2: #393A3E00;
+  --color-background-gradient-mask-input-clear-1: #393A3E;
   --color-background-gradient-mask-transparent-dark: #00000000;
-  --color-background-gradient-mask-side-panel-2: #18181be6;
-  --color-background-gradient-mask-side-panel-1: #18181b0a;
+  --color-background-gradient-mask-side-panel-2: #18181BE5;
+  --color-background-gradient-mask-side-panel-1: #18181B0A;
 
-  --color-background-default-burn: #1d1d20;
-  --color-background-overlay-fullscreen: #27272af7;
-  --color-background-default-lighter: #c8ceda0a;
-  --color-background-section: #18181b66;
-  --color-background-interaction-from-bg-1: #18181b66;
-  --color-background-interaction-from-bg-2: #18181b24;
-  --color-background-section-burn: #18181b99;
-  --color-background-default-dodge: #3a3a40;
-  --color-background-overlay: #18181bcc;
-  --color-background-default-dimmed: #27272b;
-  --color-background-default-hover: #27272b;
-  --color-background-overlay-alt: #18181b66;
-  --color-background-surface-white: #ffffffe6;
-  --color-background-overlay-destructive: #f044384d;
-  --color-background-overlay-backdrop: #18181bf2;
+  --color-background-default-burn: #1D1D20;
+  --color-background-overlay-fullscreen: #27272AF7;
+  --color-background-default-lighter: #C8CEDA0A;
+  --color-background-section: #18181B66;
+  --color-background-interaction-from-bg-1: #18181B66;
+  --color-background-interaction-from-bg-2: #18181B24;
+  --color-background-section-burn: #18181B99;
+  --color-background-default-dodge: #3A3A40;
+  --color-background-overlay: #18181BCC;
+  --color-background-default-dimmed: #27272B;
+  --color-background-default-hover: #27272B;
+  --color-background-overlay-alt: #18181B66;
+  --color-background-surface-white: #FFFFFFE5;
+  --color-background-overlay-destructive: #F044384D;
+  --color-background-overlay-backdrop: #18181BF2;
 
-  --color-shadow-shadow-1: #0000000d;
-  --color-shadow-shadow-3: #0000001a;
-  --color-shadow-shadow-4: #0000001f;
+  --color-shadow-shadow-1: #0000000D;
+  --color-shadow-shadow-3: #0000001A;
+  --color-shadow-shadow-4: #0000001F;
   --color-shadow-shadow-5: #00000029;
   --color-shadow-shadow-6: #00000033;
-  --color-shadow-shadow-7: #0000003d;
+  --color-shadow-shadow-7: #0000003D;
   --color-shadow-shadow-8: #00000047;
-  --color-shadow-shadow-9: #0000005c;
+  --color-shadow-shadow-9: #0000005C;
   --color-shadow-shadow-2: #00000014;
   --color-shadow-shadow-10: #00000066;
 
-  --color-workflow-block-border: #ffffff14;
-  --color-workflow-block-parma-bg: #ffffff0d;
-  --color-workflow-block-bg: #27272b;
-  --color-workflow-block-bg-transparent: #27272bf5;
-  --color-workflow-block-border-highlight: #c8ceda33;
+  --color-workflow-block-border: #FFFFFF14;
+  --color-workflow-block-parma-bg: #FFFFFF0D;
+  --color-workflow-block-bg: #27272B;
+  --color-workflow-block-bg-transparent: #27272BF5;
+  --color-workflow-block-border-highlight: #C8CEDA33;
 
-  --color-workflow-canvas-workflow-dot-color: #8585ad1c;
-  --color-workflow-canvas-workflow-bg: #1d1d20;
+  --color-workflow-canvas-workflow-dot-color: #8585AD26;
+  --color-workflow-canvas-workflow-bg: #1D1D20;
 
-  --color-workflow-link-line-active: #5289ff;
-  --color-workflow-link-line-normal: #676f83;
-  --color-workflow-link-line-handle: #5289ff;
-  --color-workflow-link-line-normal-transparent: #676f8333;
-  --color-workflow-link-line-failure-active: #fdb022;
-  --color-workflow-link-line-failure-handle: #fdb022;
-  --color-workflow-link-line-failure-button-bg: #f79009;
-  --color-workflow-link-line-failure-button-hover: #dc6803;
+  --color-workflow-link-line-active: #5289FF;
+  --color-workflow-link-line-normal: #676F83;
+  --color-workflow-link-line-handle: #5289FF;
+  --color-workflow-link-line-normal-transparent: #676F8333;
+  --color-workflow-link-line-failure-active: #FDB022;
+  --color-workflow-link-line-failure-handle: #FDB022;
+  --color-workflow-link-line-failure-button-bg: #F79009;
+  --color-workflow-link-line-failure-button-hover: #DC6803;
 
-  --color-workflow-link-line-success-active: #47cd89;
-  --color-workflow-link-line-success-handle: #47cd89;
+  --color-workflow-link-line-success-active: #47CD89;
+  --color-workflow-link-line-success-handle: #47CD89;
 
-  --color-workflow-link-line-error-active: #f97066;
-  --color-workflow-link-line-error-handle: #f97066;
+  --color-workflow-link-line-error-active: #F97066;
+  --color-workflow-link-line-error-handle: #F97066;
 
-  --color-workflow-minimap-bg: #27272b;
-  --color-workflow-minimap-block: #c8ceda14;
+  --color-workflow-minimap-bg: #27272B;
+  --color-workflow-minimap-block: #C8CEDA14;
 
-  --color-workflow-display-success-bg: #17b26a33;
-  --color-workflow-display-success-border-1: #17b26ae6;
-  --color-workflow-display-success-border-2: #17b26acc;
-  --color-workflow-display-success-vignette-color: #17b26a40;
-  --color-workflow-display-success-bg-line-pattern: #18181bcc;
+  --color-workflow-display-success-bg: #17B26A33;
+  --color-workflow-display-success-border-1: #17B26AE5;
+  --color-workflow-display-success-border-2: #17B26ACC;
+  --color-workflow-display-success-vignette-color: #17B26A40;
+  --color-workflow-display-success-bg-line-pattern: #18181BCC;
 
-  --color-workflow-display-glass-1: #ffffff08;
-  --color-workflow-display-glass-2: #ffffff0d;
+  --color-workflow-display-glass-1: #FFFFFF08;
+  --color-workflow-display-glass-2: #FFFFFF0D;
   --color-workflow-display-vignette-dark: #00000066;
-  --color-workflow-display-highlight: #ffffff1f;
-  --color-workflow-display-outline: #18181bf2;
-  --color-workflow-display-error-bg: #f0443833;
-  --color-workflow-display-error-bg-line-pattern: #18181bcc;
-  --color-workflow-display-error-border-1: #f04438e6;
-  --color-workflow-display-error-border-2: #f04438cc;
-  --color-workflow-display-error-vignette-color: #f0443840;
+  --color-workflow-display-highlight: #FFFFFF1F;
+  --color-workflow-display-outline: #18181BF2;
+  --color-workflow-display-error-bg: #F0443833;
+  --color-workflow-display-error-bg-line-pattern: #18181BCC;
+  --color-workflow-display-error-border-1: #F04438E5;
+  --color-workflow-display-error-border-2: #F04438CC;
+  --color-workflow-display-error-vignette-color: #F0443840;
 
-  --color-workflow-display-warning-bg: #f7900933;
-  --color-workflow-display-warning-bg-line-pattern: #18181bcc;
-  --color-workflow-display-warning-border-1: #f79009e6;
-  --color-workflow-display-warning-border-2: #f79009cc;
-  --color-workflow-display-warning-vignette-color: #f7900940;
+  --color-workflow-display-warning-bg: #F7900933;
+  --color-workflow-display-warning-bg-line-pattern: #18181BCC;
+  --color-workflow-display-warning-border-1: #F79009E5;
+  --color-workflow-display-warning-border-2: #F79009CC;
+  --color-workflow-display-warning-vignette-color: #F7900940;
 
-  --color-workflow-display-normal-bg: #0ba5ec33;
-  --color-workflow-display-normal-bg-line-pattern: #18181bcc;
-  --color-workflow-display-normal-border-1: #0ba5ece6;
-  --color-workflow-display-normal-border-2: #0ba5eccc;
-  --color-workflow-display-normal-vignette-color: #0ba5ec40;
+  --color-workflow-display-normal-bg: #0BA5EC33;
+  --color-workflow-display-normal-bg-line-pattern: #18181BCC;
+  --color-workflow-display-normal-border-1: #0BA5ECE5;
+  --color-workflow-display-normal-border-2: #0BA5ECCC;
+  --color-workflow-display-normal-vignette-color: #0BA5EC40;
 
-  --color-workflow-display-disabled-bg: #c8ceda33;
-  --color-workflow-display-disabled-bg-line-pattern: #18181bcc;
-  --color-workflow-display-disabled-border-1: #c8ceda99;
-  --color-workflow-display-disabled-border-2: #c8ceda40;
-  --color-workflow-display-disabled-vignette-color: #c8ceda40;
-  --color-workflow-display-disabled-outline: #18181bf2;
+  --color-workflow-display-disabled-bg: #C8CEDA33;
+  --color-workflow-display-disabled-bg-line-pattern: #18181BCC;
+  --color-workflow-display-disabled-border-1: #C8CEDA99;
+  --color-workflow-display-disabled-border-2: #C8CEDA40;
+  --color-workflow-display-disabled-vignette-color: #C8CEDA40;
+  --color-workflow-display-disabled-outline: #18181BF2;
 
-  --color-workflow-workflow-progress-bg-1: #18181b40;
-  --color-workflow-workflow-progress-bg-2: #18181b0a;
+  --color-workflow-workflow-progress-bg-1: #18181B40;
+  --color-workflow-workflow-progress-bg-2: #18181B0A;
 
-  --color-divider-subtle: #c8ceda14;
-  --color-divider-regular: #c8ceda24;
-  --color-divider-deep: #c8ceda33;
-  --color-divider-burn: #18181bf2;
-  --color-divider-intense: #c8ceda66;
-  --color-divider-solid: #3a3a40;
+  --color-divider-subtle: #C8CEDA14;
+  --color-divider-regular: #C8CEDA24;
+  --color-divider-deep: #C8CEDA33;
+  --color-divider-burn: #18181BF2;
+  --color-divider-intense: #C8CEDA66;
+  --color-divider-solid: #3A3A40;
   --color-divider-solid-alt: #747481;
 
-  --color-state-base-hover: #c8ceda14;
-  --color-state-base-active: #c8ceda33;
-  --color-state-base-hover-alt: #c8ceda24;
-  --color-state-base-handle: #c8ceda4d;
-  --color-state-base-handle-hover: #c8ceda80;
-  --color-state-base-hover-subtle: #c8ceda0a;
+  --color-state-base-hover: #C8CEDA14;
+  --color-state-base-active: #C8CEDA33;
+  --color-state-base-hover-alt: #C8CEDA24;
+  --color-state-base-handle: #C8CEDA4D;
+  --color-state-base-handle-hover: #C8CEDA80;
 
-  --color-state-accent-hover: #155aef24;
-  --color-state-accent-active: #155aef24;
-  --color-state-accent-hover-alt: #155aef40;
-  --color-state-accent-solid: #5289ff;
-  --color-state-accent-active-alt: #155aef33;
+  --color-state-accent-hover: #155AEF24;
+  --color-state-accent-active: #155AEF24;
+  --color-state-accent-hover-alt: #155AEF40;
+  --color-state-accent-solid: #5289FF;
+  --color-state-accent-active-alt: #155AEF33;
 
-  --color-state-destructive-hover: #f0443824;
-  --color-state-destructive-hover-alt: #f0443840;
-  --color-state-destructive-active: #f044384d;
-  --color-state-destructive-solid: #f97066;
-  --color-state-destructive-border: #f97066;
+  --color-state-destructive-hover: #F0443824;
+  --color-state-destructive-hover-alt: #F0443840;
+  --color-state-destructive-active: #F044384D;
+  --color-state-destructive-solid: #F97066;
+  --color-state-destructive-border: #F97066;
 
-  --color-state-success-hover: #17b26a24;
-  --color-state-success-hover-alt: #17b26a40;
-  --color-state-success-active: #17b26a4d;
-  --color-state-success-solid: #47cd89;
+  --color-state-success-hover: #17B26A24;
+  --color-state-success-hover-alt: #17B26A40;
+  --color-state-success-active: #17B26A4D;
+  --color-state-success-solid: #47CD89;
 
-  --color-state-warning-hover: #f7900924;
-  --color-state-warning-hover-alt: #f7900940;
-  --color-state-warning-active: #f790094d;
-  --color-state-warning-solid: #f79009;
+  --color-state-warning-hover: #F7900924;
+  --color-state-warning-hover-alt: #F7900940;
+  --color-state-warning-active: #F790094D;
+  --color-state-warning-solid: #F79009;
 
-  --color-effects-highlight: #c8ceda14;
-  --color-effects-highlight-lightmode-off: #c8ceda14;
-  --color-effects-image-frame: #ffffff;
+  --color-effects-highlight: #C8CEDA14;
+  --color-effects-highlight-lightmode-off: #C8CEDA14;
+  --color-effects-image-frame: #FFFFFF;
 
-  --color-util-colors-orange-dark-orange-dark-50: #57130a;
-  --color-util-colors-orange-dark-orange-dark-100: #771a0d;
-  --color-util-colors-orange-dark-orange-dark-200: #97180c;
-  --color-util-colors-orange-dark-orange-dark-300: #bc1b06;
-  --color-util-colors-orange-dark-orange-dark-400: #e62e05;
-  --color-util-colors-orange-dark-orange-dark-500: #ff4405;
-  --color-util-colors-orange-dark-orange-dark-600: #ff692e;
-  --color-util-colors-orange-dark-orange-dark-700: #ff9c66;
+  --color-util-colors-orange-dark-orange-dark-50: #57130A;
+  --color-util-colors-orange-dark-orange-dark-100: #771A0D;
+  --color-util-colors-orange-dark-orange-dark-200: #97180C;
+  --color-util-colors-orange-dark-orange-dark-300: #BC1B06;
+  --color-util-colors-orange-dark-orange-dark-400: #E62E05;
+  --color-util-colors-orange-dark-orange-dark-500: #FF4405;
+  --color-util-colors-orange-dark-orange-dark-600: #FF692E;
+  --color-util-colors-orange-dark-orange-dark-700: #FF9C66;
 
-  --color-util-colors-orange-orange-50: #511c10;
+  --color-util-colors-orange-orange-50: #511C10;
   --color-util-colors-orange-orange-100: #772917;
-  --color-util-colors-orange-orange-200: #932f19;
-  --color-util-colors-orange-orange-300: #b93815;
-  --color-util-colors-orange-orange-400: #e04f16;
-  --color-util-colors-orange-orange-500: #ef6820;
-  --color-util-colors-orange-orange-600: #f38744;
-  --color-util-colors-orange-orange-700: #f7b27a;
+  --color-util-colors-orange-orange-200: #932F19;
+  --color-util-colors-orange-orange-300: #B93815;
+  --color-util-colors-orange-orange-400: #E04F16;
+  --color-util-colors-orange-orange-500: #EF6820;
+  --color-util-colors-orange-orange-600: #F38744;
+  --color-util-colors-orange-orange-700: #F7B27A;
   --color-util-colors-orange-orange-100-transparent: #77291700;
 
-  --color-util-colors-pink-pink-50: #4e0d30;
+  --color-util-colors-pink-pink-50: #4E0D30;
   --color-util-colors-pink-pink-100: #851651;
-  --color-util-colors-pink-pink-200: #9e165f;
-  --color-util-colors-pink-pink-300: #c11574;
-  --color-util-colors-pink-pink-400: #dd2590;
-  --color-util-colors-pink-pink-500: #ee46bc;
-  --color-util-colors-pink-pink-600: #f670c7;
-  --color-util-colors-pink-pink-700: #faa7e0;
+  --color-util-colors-pink-pink-200: #9E165F;
+  --color-util-colors-pink-pink-300: #C11574;
+  --color-util-colors-pink-pink-400: #DD2590;
+  --color-util-colors-pink-pink-500: #EE46BC;
+  --color-util-colors-pink-pink-600: #F670C7;
+  --color-util-colors-pink-pink-700: #FAA7E0;
 
-  --color-util-colors-fuchsia-fuchsia-50: #47104c;
-  --color-util-colors-fuchsia-fuchsia-100: #6f1877;
+  --color-util-colors-fuchsia-fuchsia-50: #47104C;
+  --color-util-colors-fuchsia-fuchsia-100: #6F1877;
   --color-util-colors-fuchsia-fuchsia-200: #821890;
-  --color-util-colors-fuchsia-fuchsia-300: #9f1ab1;
-  --color-util-colors-fuchsia-fuchsia-400: #ba24d5;
-  --color-util-colors-fuchsia-fuchsia-500: #d444f1;
-  --color-util-colors-fuchsia-fuchsia-600: #e478fa;
-  --color-util-colors-fuchsia-fuchsia-700: #eeaafd;
+  --color-util-colors-fuchsia-fuchsia-300: #9F1AB1;
+  --color-util-colors-fuchsia-fuchsia-400: #BA24D5;
+  --color-util-colors-fuchsia-fuchsia-500: #D444F1;
+  --color-util-colors-fuchsia-fuchsia-600: #E478FA;
+  --color-util-colors-fuchsia-fuchsia-700: #EEAAFD;
 
-  --color-util-colors-purple-purple-50: #27115f;
-  --color-util-colors-purple-purple-100: #3e1c96;
-  --color-util-colors-purple-purple-200: #4a1fb8;
-  --color-util-colors-purple-purple-300: #5925dc;
-  --color-util-colors-purple-purple-400: #6938ef;
-  --color-util-colors-purple-purple-500: #7a5af8;
-  --color-util-colors-purple-purple-600: #9b8afb;
-  --color-util-colors-purple-purple-700: #bdb4fe;
+  --color-util-colors-purple-purple-50: #27115F;
+  --color-util-colors-purple-purple-100: #3E1C96;
+  --color-util-colors-purple-purple-200: #4A1FB8;
+  --color-util-colors-purple-purple-300: #5925DC;
+  --color-util-colors-purple-purple-400: #6938EF;
+  --color-util-colors-purple-purple-500: #7A5AF8;
+  --color-util-colors-purple-purple-600: #9B8AFB;
+  --color-util-colors-purple-purple-700: #BDB4FE;
 
-  --color-util-colors-indigo-indigo-50: #1f235b;
-  --color-util-colors-indigo-indigo-100: #2d3282;
-  --color-util-colors-indigo-indigo-200: #2d31a6;
-  --color-util-colors-indigo-indigo-300: #3538cd;
-  --color-util-colors-indigo-indigo-400: #444ce7;
-  --color-util-colors-indigo-indigo-500: #6172f3;
-  --color-util-colors-indigo-indigo-600: #8098f9;
-  --color-util-colors-indigo-indigo-700: #a4bcfd;
+  --color-util-colors-indigo-indigo-50: #1F235B;
+  --color-util-colors-indigo-indigo-100: #2D3282;
+  --color-util-colors-indigo-indigo-200: #2D31A6;
+  --color-util-colors-indigo-indigo-300: #3538CD;
+  --color-util-colors-indigo-indigo-400: #444CE7;
+  --color-util-colors-indigo-indigo-500: #6172F3;
+  --color-util-colors-indigo-indigo-600: #8098F9;
+  --color-util-colors-indigo-indigo-700: #A4BCFD;
 
-  --color-util-colors-blue-blue-50: #102a56;
+  --color-util-colors-blue-blue-50: #102A56;
   --color-util-colors-blue-blue-100: #194185;
-  --color-util-colors-blue-blue-200: #1849a9;
-  --color-util-colors-blue-blue-300: #175cd3;
-  --color-util-colors-blue-blue-400: #1570ef;
-  --color-util-colors-blue-blue-500: #2e90fa;
-  --color-util-colors-blue-blue-600: #53b1fd;
-  --color-util-colors-blue-blue-700: #84caff;
+  --color-util-colors-blue-blue-200: #1849A9;
+  --color-util-colors-blue-blue-300: #175CD3;
+  --color-util-colors-blue-blue-400: #1570EF;
+  --color-util-colors-blue-blue-500: #2E90FA;
+  --color-util-colors-blue-blue-600: #53B1FD;
+  --color-util-colors-blue-blue-700: #84CAFF;
 
-  --color-util-colors-blue-light-blue-light-50: #062c41;
-  --color-util-colors-blue-light-blue-light-100: #0b4a6f;
+  --color-util-colors-blue-light-blue-light-50: #062C41;
+  --color-util-colors-blue-light-blue-light-100: #0B4A6F;
   --color-util-colors-blue-light-blue-light-200: #065986;
-  --color-util-colors-blue-light-blue-light-300: #026aa2;
-  --color-util-colors-blue-light-blue-light-400: #0086c9;
-  --color-util-colors-blue-light-blue-light-500: #0ba5ec;
-  --color-util-colors-blue-light-blue-light-600: #36bffa;
-  --color-util-colors-blue-light-blue-light-700: #7cd4fd;
+  --color-util-colors-blue-light-blue-light-300: #026AA2;
+  --color-util-colors-blue-light-blue-light-400: #0086C9;
+  --color-util-colors-blue-light-blue-light-500: #0BA5EC;
+  --color-util-colors-blue-light-blue-light-600: #36BFFA;
+  --color-util-colors-blue-light-blue-light-700: #7CD4FD;
 
-  --color-util-colors-gray-blue-gray-blue-50: #0d0f1c;
+  --color-util-colors-gray-blue-gray-blue-50: #0D0F1C;
   --color-util-colors-gray-blue-gray-blue-100: #101323;
   --color-util-colors-gray-blue-gray-blue-200: #293056;
-  --color-util-colors-gray-blue-gray-blue-300: #363f72;
-  --color-util-colors-gray-blue-gray-blue-400: #3e4784;
-  --color-util-colors-gray-blue-gray-blue-500: #4e5ba6;
-  --color-util-colors-gray-blue-gray-blue-600: #717bbc;
-  --color-util-colors-gray-blue-gray-blue-700: #b3b8db;
+  --color-util-colors-gray-blue-gray-blue-300: #363F72;
+  --color-util-colors-gray-blue-gray-blue-400: #3E4784;
+  --color-util-colors-gray-blue-gray-blue-500: #4E5BA6;
+  --color-util-colors-gray-blue-gray-blue-600: #717BBC;
+  --color-util-colors-gray-blue-gray-blue-700: #B3B8DB;
 
   --color-util-colors-blue-brand-blue-brand-50: #002066;
-  --color-util-colors-blue-brand-blue-brand-100: #00329e;
-  --color-util-colors-blue-brand-blue-brand-200: #003dc1;
-  --color-util-colors-blue-brand-blue-brand-300: #004aeb;
-  --color-util-colors-blue-brand-blue-brand-400: #155aef;
-  --color-util-colors-blue-brand-blue-brand-500: #296dff;
-  --color-util-colors-blue-brand-blue-brand-600: #5289ff;
-  --color-util-colors-blue-brand-blue-brand-700: #84abff;
+  --color-util-colors-blue-brand-blue-brand-100: #00329E;
+  --color-util-colors-blue-brand-blue-brand-200: #003DC1;
+  --color-util-colors-blue-brand-blue-brand-300: #004AEB;
+  --color-util-colors-blue-brand-blue-brand-400: #155AEF;
+  --color-util-colors-blue-brand-blue-brand-500: #296DFF;
+  --color-util-colors-blue-brand-blue-brand-600: #5289FF;
+  --color-util-colors-blue-brand-blue-brand-700: #84ABFF;
 
-  --color-util-colors-red-red-50: #55160c;
-  --color-util-colors-red-red-100: #7a271a;
+  --color-util-colors-red-red-50: #55160C;
+  --color-util-colors-red-red-100: #7A271A;
   --color-util-colors-red-red-200: #912018;
-  --color-util-colors-red-red-300: #b42318;
-  --color-util-colors-red-red-400: #d92d20;
-  --color-util-colors-red-red-500: #f04438;
-  --color-util-colors-red-red-600: #f97066;
-  --color-util-colors-red-red-700: #fda29b;
+  --color-util-colors-red-red-300: #B42318;
+  --color-util-colors-red-red-400: #D92D20;
+  --color-util-colors-red-red-500: #F04438;
+  --color-util-colors-red-red-600: #F97066;
+  --color-util-colors-red-red-700: #FDA29B;
 
   --color-util-colors-green-green-50: #053321;
-  --color-util-colors-green-green-100: #074d31;
-  --color-util-colors-green-green-200: #085d3a;
+  --color-util-colors-green-green-100: #074D31;
+  --color-util-colors-green-green-200: #085D3A;
   --color-util-colors-green-green-300: #067647;
   --color-util-colors-green-green-400: #079455;
-  --color-util-colors-green-green-500: #17b26a;
-  --color-util-colors-green-green-600: #47cd89;
-  --color-util-colors-green-green-700: #75e0a7;
+  --color-util-colors-green-green-500: #17B26A;
+  --color-util-colors-green-green-600: #47CD89;
+  --color-util-colors-green-green-700: #75E0A7;
 
-  --color-util-colors-warning-warning-50: #4e1d09;
-  --color-util-colors-warning-warning-100: #7a2e0e;
-  --color-util-colors-warning-warning-200: #93370d;
-  --color-util-colors-warning-warning-300: #b54708;
-  --color-util-colors-warning-warning-400: #dc6803;
-  --color-util-colors-warning-warning-500: #f79009;
-  --color-util-colors-warning-warning-600: #fdb022;
-  --color-util-colors-warning-warning-700: #fec84b;
+  --color-util-colors-warning-warning-50: #4E1D09;
+  --color-util-colors-warning-warning-100: #7A2E0E;
+  --color-util-colors-warning-warning-200: #93370D;
+  --color-util-colors-warning-warning-300: #B54708;
+  --color-util-colors-warning-warning-400: #DC6803;
+  --color-util-colors-warning-warning-500: #F79009;
+  --color-util-colors-warning-warning-600: #FDB022;
+  --color-util-colors-warning-warning-700: #FEC84B;
 
-  --color-util-colors-yellow-yellow-50: #542c0d;
-  --color-util-colors-yellow-yellow-100: #713b12;
-  --color-util-colors-yellow-yellow-200: #854a0e;
-  --color-util-colors-yellow-yellow-300: #a15c07;
-  --color-util-colors-yellow-yellow-400: #ca8504;
-  --color-util-colors-yellow-yellow-500: #eaaa08;
-  --color-util-colors-yellow-yellow-600: #fac515;
-  --color-util-colors-yellow-yellow-700: #fde272;
+  --color-util-colors-yellow-yellow-50: #542C0D;
+  --color-util-colors-yellow-yellow-100: #713B12;
+  --color-util-colors-yellow-yellow-200: #854A0E;
+  --color-util-colors-yellow-yellow-300: #A15C07;
+  --color-util-colors-yellow-yellow-400: #CA8504;
+  --color-util-colors-yellow-yellow-500: #EAAA08;
+  --color-util-colors-yellow-yellow-600: #FAC515;
+  --color-util-colors-yellow-yellow-700: #FDE272;
 
-  --color-util-colors-teal-teal-50: #0a2926;
-  --color-util-colors-teal-teal-100: #134e48;
-  --color-util-colors-teal-teal-200: #125d56;
+  --color-util-colors-teal-teal-50: #0A2926;
+  --color-util-colors-teal-teal-100: #134E48;
+  --color-util-colors-teal-teal-200: #125D56;
   --color-util-colors-teal-teal-300: #107569;
-  --color-util-colors-teal-teal-400: #0e9384;
-  --color-util-colors-teal-teal-500: #15b79e;
-  --color-util-colors-teal-teal-600: #2ed3b7;
-  --color-util-colors-teal-teal-700: #5fe9d0;
+  --color-util-colors-teal-teal-400: #0E9384;
+  --color-util-colors-teal-teal-500: #15B79E;
+  --color-util-colors-teal-teal-600: #2ED3B7;
+  --color-util-colors-teal-teal-700: #5FE9D0;
 
-  --color-util-colors-cyan-cyan-50: #0d2d3a;
-  --color-util-colors-cyan-cyan-100: #164c63;
-  --color-util-colors-cyan-cyan-200: #155b75;
-  --color-util-colors-cyan-cyan-300: #0e7090;
-  --color-util-colors-cyan-cyan-400: #088ab2;
-  --color-util-colors-cyan-cyan-500: #06aed4;
-  --color-util-colors-cyan-cyan-600: #22ccee;
-  --color-util-colors-cyan-cyan-700: #67e3f9;
+  --color-util-colors-cyan-cyan-50: #0D2D3A;
+  --color-util-colors-cyan-cyan-100: #164C63;
+  --color-util-colors-cyan-cyan-200: #155B75;
+  --color-util-colors-cyan-cyan-300: #0E7090;
+  --color-util-colors-cyan-cyan-400: #088AB2;
+  --color-util-colors-cyan-cyan-500: #06AED4;
+  --color-util-colors-cyan-cyan-600: #22CCEE;
+  --color-util-colors-cyan-cyan-700: #67E3F9;
 
-  --color-util-colors-violet-violet-50: #2e125e;
-  --color-util-colors-violet-violet-100: #491c96;
-  --color-util-colors-violet-violet-200: #5720b7;
-  --color-util-colors-violet-violet-300: #6927da;
-  --color-util-colors-violet-violet-400: #7839ee;
-  --color-util-colors-violet-violet-500: #875bf7;
-  --color-util-colors-violet-violet-600: #a48afb;
-  --color-util-colors-violet-violet-700: #c3b5fd;
+  --color-util-colors-violet-violet-50: #2E125E;
+  --color-util-colors-violet-violet-100: #491C96;
+  --color-util-colors-violet-violet-200: #5720B7;
+  --color-util-colors-violet-violet-300: #6927DA;
+  --color-util-colors-violet-violet-400: #7839EE;
+  --color-util-colors-violet-violet-500: #875BF7;
+  --color-util-colors-violet-violet-600: #A48AFB;
+  --color-util-colors-violet-violet-700: #C3B5FD;
 
-  --color-util-colors-gray-gray-50: #0c111c;
+  --color-util-colors-gray-gray-50: #0C111C;
   --color-util-colors-gray-gray-100: #101828;
-  --color-util-colors-gray-gray-200: #18222f;
+  --color-util-colors-gray-gray-200: #18222F;
   --color-util-colors-gray-gray-300: #354052;
   --color-util-colors-gray-gray-400: #495464;
-  --color-util-colors-gray-gray-500: #676f83;
-  --color-util-colors-gray-gray-600: #98a2b2;
-  --color-util-colors-gray-gray-700: #d0d5dc;
+  --color-util-colors-gray-gray-500: #676F83;
+  --color-util-colors-gray-gray-600: #98A2B2;
+  --color-util-colors-gray-gray-700: #D0D5DC;
 
-  --color-util-colors-green-light-green-light-50: #15290a;
-  --color-util-colors-green-light-green-light-100: #2b5314;
+  --color-util-colors-green-light-green-light-50: #15290A;
+  --color-util-colors-green-light-green-light-100: #2B5314;
   --color-util-colors-green-light-green-light-200: #326212;
-  --color-util-colors-green-light-green-light-300: #3b7c0f;
-  --color-util-colors-green-light-green-light-500: #66c61c;
-  --color-util-colors-green-light-green-light-400: #4ca30d;
-  --color-util-colors-green-light-green-light-600: #85e13a;
-  --color-util-colors-green-light-green-light-700: #a6ef67;
+  --color-util-colors-green-light-green-light-300: #3B7C0F;
+  --color-util-colors-green-light-green-light-500: #66C61C;
+  --color-util-colors-green-light-green-light-400: #4CA30D;
+  --color-util-colors-green-light-green-light-600: #85E13A;
+  --color-util-colors-green-light-green-light-700: #A6EF67;
 
-  --color-util-colors-rose-rose-50: #510b24;
-  --color-util-colors-rose-rose-100: #89123e;
-  --color-util-colors-rose-rose-200: #a11043;
-  --color-util-colors-rose-rose-300: #c01048;
-  --color-util-colors-rose-rose-400: #e31b54;
-  --color-util-colors-rose-rose-500: #f63d68;
-  --color-util-colors-rose-rose-600: #fd6f8e;
-  --color-util-colors-rose-rose-700: #fea3b4;
+  --color-util-colors-rose-rose-50: #510B24;
+  --color-util-colors-rose-rose-100: #89123E;
+  --color-util-colors-rose-rose-200: #A11043;
+  --color-util-colors-rose-rose-300: #C01048;
+  --color-util-colors-rose-rose-400: #E31B54;
+  --color-util-colors-rose-rose-500: #F63D68;
+  --color-util-colors-rose-rose-600: #FD6F8E;
+  --color-util-colors-rose-rose-700: #FEA3B4;
 
-  --color-util-colors-midnight-midnight-50: #171c22;
+  --color-util-colors-midnight-midnight-50: #171C22;
   --color-util-colors-midnight-midnight-100: #202431;
-  --color-util-colors-midnight-midnight-200: #2f3648;
-  --color-util-colors-midnight-midnight-300: #3e465e;
-  --color-util-colors-midnight-midnight-400: #5d698d;
-  --color-util-colors-midnight-midnight-500: #828dad;
-  --color-util-colors-midnight-midnight-600: #a7aec5;
-  --color-util-colors-midnight-midnight-700: #c6cbd9;
+  --color-util-colors-midnight-midnight-200: #2F3648;
+  --color-util-colors-midnight-midnight-300: #3E465E;
+  --color-util-colors-midnight-midnight-400: #5D698D;
+  --color-util-colors-midnight-midnight-500: #828DAD;
+  --color-util-colors-midnight-midnight-600: #A7AEC5;
+  --color-util-colors-midnight-midnight-700: #C6CBD9;
 
-  --color-third-party-LangChain: #ffffff;
-  --color-third-party-Langfuse: #ffffff;
-  --color-third-party-Github: #ffffff;
-  --color-third-party-Github-tertiary: #c8ceda99;
-  --color-third-party-Github-secondary: #d9d9de;
+  --color-third-party-LangChain: #FFFFFF;
+  --color-third-party-Langfuse: #FFFFFF;
+  --color-third-party-Github: #FFFFFF;
+  --color-third-party-Github-tertiary: #C8CEDA99;
+  --color-third-party-Github-secondary: #D9D9DE;
   --color-third-party-model-bg-openai: #121212;
-  --color-third-party-model-bg-anthropic: #1d1917;
-  --color-third-party-model-bg-default: #0b0b0e;
+  --color-third-party-model-bg-anthropic: #1D1917;
+  --color-third-party-model-bg-default: #0B0B0E;
 
-  --color-third-party-aws: #141f2e;
+  --color-third-party-aws: #141F2E;
   --color-third-party-aws-alt: #192639;
 
-  --color-saas-background: #0b0b0e;
-  --color-saas-pricing-grid-bg: #c8ceda33;
+  --color-saas-background: #0B0B0E;
+  --color-saas-pricing-grid-bg: #C8CEDA33;
 
-}
+}
\ No newline at end of file
diff --git a/themes/light.css b/themes/light.css
index 1d96658..6fb2a6b 100644
--- a/themes/light.css
+++ b/themes/light.css
@@ -1,739 +1,737 @@
 /* Attention: Generate by code. Don't update by hand!!! */
 html[data-theme="light"] {
-  --color-components-input-bg-normal: #c8ceda40;
-  --color-components-input-text-placeholder: #98a2b2;
-  --color-components-input-bg-hover: #c8ceda24;
-  --color-components-input-bg-active: #f9fafb;
-  --color-components-input-border-active: #d0d5dc;
-  --color-components-input-border-destructive: #fda29b;
+  --color-components-input-bg-normal: #C8CEDA40;
+  --color-components-input-text-placeholder: #98A2B2;
+  --color-components-input-bg-hover: #C8CEDA24;
+  --color-components-input-bg-active: #F9FAFB;
+  --color-components-input-border-active: #D0D5DC;
+  --color-components-input-border-destructive: #FDA29B;
   --color-components-input-text-filled: #101828;
-  --color-components-input-bg-destructive: #ffffff;
-  --color-components-input-bg-disabled: #c8ceda24;
-  --color-components-input-text-disabled: #d0d5dc;
-  --color-components-input-text-filled-disabled: #676f83;
-  --color-components-input-border-hover: #d0d5dc;
-  --color-components-input-border-active-prompt-1: #0ba5ec;
-  --color-components-input-border-active-prompt-2: #155aef;
+  --color-components-input-bg-destructive: #FFFFFF;
+  --color-components-input-bg-disabled: #C8CEDA24;
+  --color-components-input-text-disabled: #D0D5DC;
+  --color-components-input-text-filled-disabled: #676F83;
+  --color-components-input-border-hover: #D0D5DC;
+  --color-components-input-border-active-prompt-1: #0BA5EC;
+  --color-components-input-border-active-prompt-2: #155AEF;
 
-  --color-components-kbd-bg-gray: #1018280a;
-  --color-components-kbd-bg-white: #ffffff1f;
+  --color-components-kbd-bg-gray: #1018280A;
+  --color-components-kbd-bg-white: #FFFFFF1F;
 
-  --color-components-tooltip-bg: #fffffff2;
+  --color-components-tooltip-bg: #FFFFFFF2;
 
-  --color-components-button-primary-text: #ffffff;
-  --color-components-button-primary-bg: #155aef;
-  --color-components-button-primary-border: #1018280a;
-  --color-components-button-primary-bg-hover: #004aeb;
+  --color-components-button-primary-text: #FFFFFF;
+  --color-components-button-primary-bg: #155AEF;
+  --color-components-button-primary-border: #1018280A;
+  --color-components-button-primary-bg-hover: #004AEB;
   --color-components-button-primary-border-hover: #10182814;
-  --color-components-button-primary-bg-disabled: #155aef24;
-  --color-components-button-primary-border-disabled: #ffffff00;
-  --color-components-button-primary-text-disabled: #ffffff99;
+  --color-components-button-primary-bg-disabled: #155AEF24;
+  --color-components-button-primary-border-disabled: #FFFFFF00;
+  --color-components-button-primary-text-disabled: #FFFFFF99;
 
   --color-components-button-secondary-text: #354052;
   --color-components-button-secondary-text-disabled: #10182840;
-  --color-components-button-secondary-bg: #ffffff;
-  --color-components-button-secondary-bg-hover: #f9fafb;
-  --color-components-button-secondary-bg-disabled: #f9fafb;
+  --color-components-button-secondary-bg: #FFFFFF;
+  --color-components-button-secondary-bg-hover: #F9FAFB;
+  --color-components-button-secondary-bg-disabled: #F9FAFB;
   --color-components-button-secondary-border: #10182824;
   --color-components-button-secondary-border-hover: #10182833;
-  --color-components-button-secondary-border-disabled: #1018280a;
+  --color-components-button-secondary-border-disabled: #1018280A;
 
   --color-components-button-tertiary-text: #354052;
   --color-components-button-tertiary-text-disabled: #10182840;
-  --color-components-button-tertiary-bg: #f2f4f7;
-  --color-components-button-tertiary-bg-hover: #e9ebf0;
-  --color-components-button-tertiary-bg-disabled: #f9fafb;
+  --color-components-button-tertiary-bg: #F2F4F7;
+  --color-components-button-tertiary-bg-hover: #E9EBF0;
+  --color-components-button-tertiary-bg-disabled: #F9FAFB;
 
   --color-components-button-ghost-text: #354052;
   --color-components-button-ghost-text-disabled: #10182840;
-  --color-components-button-ghost-bg-hover: #c8ceda33;
+  --color-components-button-ghost-bg-hover: #C8CEDA33;
 
-  --color-components-button-destructive-primary-text: #ffffff;
-  --color-components-button-destructive-primary-text-disabled: #ffffff99;
-  --color-components-button-destructive-primary-bg: #d92d20;
-  --color-components-button-destructive-primary-bg-hover: #b42318;
-  --color-components-button-destructive-primary-bg-disabled: #fee4e2;
-  --color-components-button-destructive-primary-border: #18181b0a;
-  --color-components-button-destructive-primary-border-hover: #18181b14;
-  --color-components-button-destructive-primary-border-disabled: #ffffff00;
+  --color-components-button-destructive-primary-text: #FFFFFF;
+  --color-components-button-destructive-primary-text-disabled: #FFFFFF99;
+  --color-components-button-destructive-primary-bg: #D92D20;
+  --color-components-button-destructive-primary-bg-hover: #B42318;
+  --color-components-button-destructive-primary-bg-disabled: #FEE4E2;
+  --color-components-button-destructive-primary-border: #18181B0A;
+  --color-components-button-destructive-primary-border-hover: #18181B14;
+  --color-components-button-destructive-primary-border-disabled: #FFFFFF00;
 
-  --color-components-button-destructive-secondary-text: #d92d20;
-  --color-components-button-destructive-secondary-text-disabled: #f0443833;
-  --color-components-button-destructive-secondary-bg: #ffffff;
-  --color-components-button-destructive-secondary-bg-hover: #fef3f2;
-  --color-components-button-destructive-secondary-bg-disabled: #fef3f2;
-  --color-components-button-destructive-secondary-border: #18181b14;
-  --color-components-button-destructive-secondary-border-hover: #f0443840;
-  --color-components-button-destructive-secondary-border-disabled: #f044380a;
+  --color-components-button-destructive-secondary-text: #D92D20;
+  --color-components-button-destructive-secondary-text-disabled: #F0443833;
+  --color-components-button-destructive-secondary-bg: #FFFFFF;
+  --color-components-button-destructive-secondary-bg-hover: #FEF3F2;
+  --color-components-button-destructive-secondary-bg-disabled: #FEF3F2;
+  --color-components-button-destructive-secondary-border: #18181B14;
+  --color-components-button-destructive-secondary-border-hover: #F0443840;
+  --color-components-button-destructive-secondary-border-disabled: #F044380A;
 
-  --color-components-button-destructive-tertiary-text: #d92d20;
-  --color-components-button-destructive-tertiary-text-disabled: #f0443833;
-  --color-components-button-destructive-tertiary-bg: #fee4e2;
-  --color-components-button-destructive-tertiary-bg-hover: #fecdca;
-  --color-components-button-destructive-tertiary-bg-disabled: #f044380a;
+  --color-components-button-destructive-tertiary-text: #D92D20;
+  --color-components-button-destructive-tertiary-text-disabled: #F0443833;
+  --color-components-button-destructive-tertiary-bg: #FEE4E2;
+  --color-components-button-destructive-tertiary-bg-hover: #FECDCA;
+  --color-components-button-destructive-tertiary-bg-disabled: #F044380A;
 
-  --color-components-button-destructive-ghost-text: #d92d20;
-  --color-components-button-destructive-ghost-text-disabled: #f0443833;
-  --color-components-button-destructive-ghost-bg-hover: #fee4e2;
+  --color-components-button-destructive-ghost-text: #D92D20;
+  --color-components-button-destructive-ghost-text-disabled: #F0443833;
+  --color-components-button-destructive-ghost-bg-hover: #FEE4E2;
 
-  --color-components-button-secondary-accent-text: #155aef;
-  --color-components-button-secondary-accent-text-disabled: #b2caff;
-  --color-components-button-secondary-accent-bg: #ffffff;
-  --color-components-button-secondary-accent-bg-hover: #f2f4f7;
-  --color-components-button-secondary-accent-bg-disabled: #f9fafb;
+  --color-components-button-secondary-accent-text: #155AEF;
+  --color-components-button-secondary-accent-text-disabled: #B2CAFF;
+  --color-components-button-secondary-accent-bg: #FFFFFF;
+  --color-components-button-secondary-accent-bg-hover: #F2F4F7;
+  --color-components-button-secondary-accent-bg-disabled: #F9FAFB;
   --color-components-button-secondary-accent-border: #10182824;
   --color-components-button-secondary-accent-border-hover: #10182824;
-  --color-components-button-secondary-accent-border-disabled: #1018280a;
+  --color-components-button-secondary-accent-border-disabled: #1018280A;
 
-  --color-components-button-indigo-bg: #444ce7;
-  --color-components-button-indigo-bg-hover: #3538cd;
-  --color-components-button-indigo-bg-disabled: #6172f324;
+  --color-components-button-indigo-bg: #444CE7;
+  --color-components-button-indigo-bg-hover: #3538CD;
+  --color-components-button-indigo-bg-disabled: #6172F324;
 
-  --color-components-checkbox-icon: #ffffff;
-  --color-components-checkbox-icon-disabled: #ffffff80;
-  --color-components-checkbox-bg: #155aef;
-  --color-components-checkbox-bg-hover: #004aeb;
-  --color-components-checkbox-bg-disabled: #f2f4f7;
-  --color-components-checkbox-border: #d0d5dc;
-  --color-components-checkbox-border-hover: #98a2b2;
-  --color-components-checkbox-border-disabled: #18181b0a;
-  --color-components-checkbox-bg-unchecked: #ffffff;
-  --color-components-checkbox-bg-unchecked-hover: #ffffff;
-  --color-components-checkbox-bg-disabled-checked: #b2caff;
+  --color-components-checkbox-icon: #FFFFFF;
+  --color-components-checkbox-icon-disabled: #FFFFFF80;
+  --color-components-checkbox-bg: #155AEF;
+  --color-components-checkbox-bg-hover: #004AEB;
+  --color-components-checkbox-bg-disabled: #F2F4F7;
+  --color-components-checkbox-border: #D0D5DC;
+  --color-components-checkbox-border-hover: #98A2B2;
+  --color-components-checkbox-border-disabled: #18181B0A;
+  --color-components-checkbox-bg-unchecked: #FFFFFF;
+  --color-components-checkbox-bg-unchecked-hover: #FFFFFF;
+  --color-components-checkbox-bg-disabled-checked: #B2CAFF;
 
-  --color-components-radio-border-checked: #155aef;
-  --color-components-radio-border-checked-hover: #004aeb;
-  --color-components-radio-border-checked-disabled: #b2caff;
-  --color-components-radio-bg-disabled: #ffffff00;
-  --color-components-radio-border: #d0d5dc;
-  --color-components-radio-border-hover: #98a2b2;
-  --color-components-radio-border-disabled: #18181b0a;
-  --color-components-radio-bg: #ffffff00;
-  --color-components-radio-bg-hover: #ffffff00;
+  --color-components-radio-border-checked: #155AEF;
+  --color-components-radio-border-checked-hover: #004AEB;
+  --color-components-radio-border-checked-disabled: #B2CAFF;
+  --color-components-radio-bg-disabled: #FFFFFF00;
+  --color-components-radio-border: #D0D5DC;
+  --color-components-radio-border-hover: #98A2B2;
+  --color-components-radio-border-disabled: #18181B0A;
+  --color-components-radio-bg: #FFFFFF00;
+  --color-components-radio-bg-hover: #FFFFFF00;
 
-  --color-components-toggle-knob: #ffffff;
-  --color-components-toggle-knob-disabled: #fffffff2;
-  --color-components-toggle-bg: #155aef;
-  --color-components-toggle-bg-hover: #004aeb;
-  --color-components-toggle-bg-disabled: #d1e0ff;
-  --color-components-toggle-bg-unchecked: #e9ebf0;
-  --color-components-toggle-bg-unchecked-hover: #d0d5dc;
-  --color-components-toggle-bg-unchecked-disabled: #f2f4f7;
-  --color-components-toggle-knob-hover: #ffffff;
+  --color-components-toggle-knob: #FFFFFF;
+  --color-components-toggle-knob-disabled: #FFFFFFF2;
+  --color-components-toggle-bg: #155AEF;
+  --color-components-toggle-bg-hover: #004AEB;
+  --color-components-toggle-bg-disabled: #D1E0FF;
+  --color-components-toggle-bg-unchecked: #E9EBF0;
+  --color-components-toggle-bg-unchecked-hover: #D0D5DC;
+  --color-components-toggle-bg-unchecked-disabled: #F2F4F7;
+  --color-components-toggle-knob-hover: #FFFFFF;
 
-  --color-components-card-bg: #fcfcfd;
-  --color-components-card-border: #ffffff;
-  --color-components-card-bg-alt: #ffffff;
+  --color-components-card-bg: #FCFCFD;
+  --color-components-card-border: #FFFFFF;
+  --color-components-card-bg-alt: #FFFFFF;
 
   --color-components-menu-item-text: #495464;
-  --color-components-menu-item-text-active: #18222f;
+  --color-components-menu-item-text-active: #18222F;
   --color-components-menu-item-text-hover: #354052;
-  --color-components-menu-item-text-active-accent: #18222f;
+  --color-components-menu-item-text-active-accent: #18222F;
 
-  --color-components-panel-bg: #ffffff;
-  --color-components-panel-bg-blur: #fffffff2;
+  --color-components-panel-bg: #FFFFFF;
+  --color-components-panel-bg-blur: #FFFFFFF2;
   --color-components-panel-border: #10182814;
   --color-components-panel-border-subtle: #10182814;
-  --color-components-panel-gradient-2: #f9fafb;
-  --color-components-panel-gradient-1: #ffffff;
-  --color-components-panel-bg-alt: #f9fafb;
-  --color-components-panel-on-panel-item-bg: #ffffff;
-  --color-components-panel-on-panel-item-bg-hover: #f9fafb;
-  --color-components-panel-on-panel-item-bg-alt: #f9fafb;
-  --color-components-panel-on-panel-item-bg-transparent: #fffffff2;
-  --color-components-panel-on-panel-item-bg-hover-transparent: #f9fafb00;
-  --color-components-panel-on-panel-item-bg-destructive-hover-transparent: #fef3f200;
+  --color-components-panel-gradient-2: #F9FAFB;
+  --color-components-panel-gradient-1: #FFFFFF;
+  --color-components-panel-bg-alt: #F9FAFB;
+  --color-components-panel-on-panel-item-bg: #FFFFFF;
+  --color-components-panel-on-panel-item-bg-hover: #F9FAFB;
+  --color-components-panel-on-panel-item-bg-alt: #F9FAFB;
+  --color-components-panel-on-panel-item-bg-transparent: #FFFFFFF2;
+  --color-components-panel-on-panel-item-bg-hover-transparent: #F9FAFB00;
+  --color-components-panel-on-panel-item-bg-destructive-hover-transparent: #FEF3F200;
 
-  --color-components-panel-bg-transparent: #ffffff00;
+  --color-components-panel-bg-transparent: #FFFFFF00;
 
   --color-components-main-nav-nav-button-text: #495464;
-  --color-components-main-nav-nav-button-text-active: #155aef;
-  --color-components-main-nav-nav-button-bg: #ffffff00;
-  --color-components-main-nav-nav-button-bg-active: #fcfcfd;
-  --color-components-main-nav-nav-button-border: #fffffff2;
-  --color-components-main-nav-nav-button-bg-hover: #1018280a;
+  --color-components-main-nav-nav-button-text-active: #155AEF;
+  --color-components-main-nav-nav-button-bg: #FFFFFF00;
+  --color-components-main-nav-nav-button-bg-active: #FCFCFD;
+  --color-components-main-nav-nav-button-border: #FFFFFFF2;
+  --color-components-main-nav-nav-button-bg-hover: #1018280A;
 
-  --color-components-main-nav-nav-user-border: #ffffff;
+  --color-components-main-nav-nav-user-border: #FFFFFF;
 
-  --color-components-slider-knob: #ffffff;
-  --color-components-slider-knob-hover: #ffffff;
-  --color-components-slider-knob-disabled: #fffffff2;
-  --color-components-slider-range: #296dff;
-  --color-components-slider-track: #e9ebf0;
+  --color-components-slider-knob: #FFFFFF;
+  --color-components-slider-knob-hover: #FFFFFF;
+  --color-components-slider-knob-disabled: #FFFFFFF2;
+  --color-components-slider-range: #296DFF;
+  --color-components-slider-track: #E9EBF0;
   --color-components-slider-knob-border-hover: #10182833;
   --color-components-slider-knob-border: #10182824;
 
-  --color-components-segmented-control-item-active-bg: #ffffff;
-  --color-components-segmented-control-item-active-border: #ffffff;
-  --color-components-segmented-control-bg-normal: #c8ceda33;
-  --color-components-segmented-control-item-active-accent-bg: #ffffff;
-  --color-components-segmented-control-item-active-accent-border: #ffffff;
+  --color-components-segmented-control-item-active-bg: #FFFFFF;
+  --color-components-segmented-control-item-active-border: #FFFFFF;
+  --color-components-segmented-control-bg-normal: #C8CEDA33;
+  --color-components-segmented-control-item-active-accent-bg: #FFFFFF;
+  --color-components-segmented-control-item-active-accent-border: #FFFFFF;
 
-  --color-components-option-card-option-bg: #fcfcfd;
-  --color-components-option-card-option-selected-bg: #ffffff;
-  --color-components-option-card-option-selected-border: #296dff;
-  --color-components-option-card-option-border: #e9ebf0;
-  --color-components-option-card-option-bg-hover: #ffffff;
-  --color-components-option-card-option-border-hover: #d0d5dc;
+  --color-components-option-card-option-bg: #FCFCFD;
+  --color-components-option-card-option-selected-bg: #FFFFFF;
+  --color-components-option-card-option-selected-border: #296DFF;
+  --color-components-option-card-option-border: #E9EBF0;
+  --color-components-option-card-option-bg-hover: #FFFFFF;
+  --color-components-option-card-option-border-hover: #D0D5DC;
 
-  --color-components-tab-active: #155aef;
+  --color-components-tab-active: #155AEF;
 
-  --color-components-badge-white-to-dark: #ffffff;
-  --color-components-badge-status-light-success-bg: #47cd89;
-  --color-components-badge-status-light-success-border-inner: #17b26a;
-  --color-components-badge-status-light-success-halo: #17b26a40;
+  --color-components-badge-white-to-dark: #FFFFFF;
+  --color-components-badge-status-light-success-bg: #47CD89;
+  --color-components-badge-status-light-success-border-inner: #17B26A;
+  --color-components-badge-status-light-success-halo: #17B26A40;
 
-  --color-components-badge-status-light-border-outer: #ffffff;
-  --color-components-badge-status-light-high-light: #ffffff4d;
-  --color-components-badge-status-light-warning-bg: #fdb022;
-  --color-components-badge-status-light-warning-border-inner: #f79009;
-  --color-components-badge-status-light-warning-halo: #f7900940;
+  --color-components-badge-status-light-border-outer: #FFFFFF;
+  --color-components-badge-status-light-high-light: #FFFFFF4D;
+  --color-components-badge-status-light-warning-bg: #FDB022;
+  --color-components-badge-status-light-warning-border-inner: #F79009;
+  --color-components-badge-status-light-warning-halo: #F7900940;
 
-  --color-components-badge-status-light-error-bg: #f97066;
-  --color-components-badge-status-light-error-border-inner: #f04438;
-  --color-components-badge-status-light-error-halo: #f0443840;
+  --color-components-badge-status-light-error-bg: #F97066;
+  --color-components-badge-status-light-error-border-inner: #F04438;
+  --color-components-badge-status-light-error-halo: #F0443840;
 
-  --color-components-badge-status-light-normal-bg: #36bffa;
-  --color-components-badge-status-light-normal-border-inner: #0ba5ec;
-  --color-components-badge-status-light-normal-halo: #0ba5ec40;
+  --color-components-badge-status-light-normal-bg: #36BFFA;
+  --color-components-badge-status-light-normal-border-inner: #0BA5EC;
+  --color-components-badge-status-light-normal-halo: #0BA5EC40;
 
-  --color-components-badge-status-light-disabled-bg: #98a2b2;
-  --color-components-badge-status-light-disabled-border-inner: #676f83;
-  --color-components-badge-status-light-disabled-halo: #1018280a;
+  --color-components-badge-status-light-disabled-bg: #98A2B2;
+  --color-components-badge-status-light-disabled-border-inner: #676F83;
+  --color-components-badge-status-light-disabled-halo: #1018280A;
 
-  --color-components-badge-bg-green-soft: #17b26a14;
-  --color-components-badge-bg-orange-soft: #f7900914;
-  --color-components-badge-bg-red-soft: #f0443814;
-  --color-components-badge-bg-blue-light-soft: #0ba5ec14;
-  --color-components-badge-bg-gray-soft: #1018280a;
-  --color-components-badge-bg-dimm: #ffffff0d;
+  --color-components-badge-bg-green-soft: #17B26A14;
+  --color-components-badge-bg-orange-soft: #F7900914;
+  --color-components-badge-bg-red-soft: #F0443814;
+  --color-components-badge-bg-blue-light-soft: #0BA5EC14;
+  --color-components-badge-bg-gray-soft: #1018280A;
 
-  --color-components-chart-line: #296dff;
-  --color-components-chart-area-1: #155aef24;
-  --color-components-chart-area-2: #155aef0a;
-  --color-components-chart-current-1: #155aef;
-  --color-components-chart-current-2: #d1e0ff;
-  --color-components-chart-bg: #ffffff;
+  --color-components-chart-line: #296DFF;
+  --color-components-chart-area-1: #155AEF24;
+  --color-components-chart-area-2: #155AEF0A;
+  --color-components-chart-current-1: #155AEF;
+  --color-components-chart-current-2: #D1E0FF;
+  --color-components-chart-bg: #FFFFFF;
 
-  --color-components-actionbar-bg: #fffffff2;
-  --color-components-actionbar-border: #1018280a;
-  --color-components-actionbar-bg-accent: #f5f7ff;
-  --color-components-actionbar-border-accent: #b2caff;
+  --color-components-actionbar-bg: #FFFFFFF2;
+  --color-components-actionbar-border: #1018280A;
+  --color-components-actionbar-bg-accent: #F5F7FF;
+  --color-components-actionbar-border-accent: #B2CAFF;
 
-  --color-components-dropzone-bg-alt: #f2f4f7;
-  --color-components-dropzone-bg: #f9fafb;
-  --color-components-dropzone-bg-accent: #155aef24;
+  --color-components-dropzone-bg-alt: #F2F4F7;
+  --color-components-dropzone-bg: #F9FAFB;
+  --color-components-dropzone-bg-accent: #155AEF24;
   --color-components-dropzone-border: #10182814;
   --color-components-dropzone-border-alt: #10182833;
-  --color-components-dropzone-border-accent: #84abff;
+  --color-components-dropzone-border-accent: #84ABFF;
 
-  --color-components-progress-brand-progress: #296dff;
-  --color-components-progress-brand-border: #296dff;
-  --color-components-progress-brand-bg: #155aef0a;
+  --color-components-progress-brand-progress: #296DFF;
+  --color-components-progress-brand-border: #296DFF;
+  --color-components-progress-brand-bg: #155AEF0A;
 
-  --color-components-progress-white-progress: #ffffff;
-  --color-components-progress-white-border: #fffffff2;
-  --color-components-progress-white-bg: #ffffff03;
+  --color-components-progress-white-progress: #FFFFFF;
+  --color-components-progress-white-border: #FFFFFFF2;
+  --color-components-progress-white-bg: #FFFFFF03;
 
-  --color-components-progress-gray-progress: #98a2b2;
-  --color-components-progress-gray-border: #98a2b2;
-  --color-components-progress-gray-bg: #c8ceda05;
+  --color-components-progress-gray-progress: #98A2B2;
+  --color-components-progress-gray-border: #98A2B2;
+  --color-components-progress-gray-bg: #C8CEDA05;
 
-  --color-components-progress-warning-progress: #f79009;
-  --color-components-progress-warning-border: #f79009;
-  --color-components-progress-warning-bg: #f790090a;
+  --color-components-progress-warning-progress: #F79009;
+  --color-components-progress-warning-border: #F79009;
+  --color-components-progress-warning-bg: #F790090A;
 
-  --color-components-progress-error-progress: #f04438;
-  --color-components-progress-error-border: #f04438;
-  --color-components-progress-error-bg: #f044380a;
+  --color-components-progress-error-progress: #F04438;
+  --color-components-progress-error-border: #F04438;
+  --color-components-progress-error-bg: #F044380A;
 
-  --color-components-chat-input-audio-bg: #eff4ff;
-  --color-components-chat-input-audio-wave-default: #155aef33;
-  --color-components-chat-input-bg-mask-1: #ffffff03;
-  --color-components-chat-input-bg-mask-2: #f2f4f7;
-  --color-components-chat-input-border: #ffffff;
-  --color-components-chat-input-audio-wave-active: #296dff;
-  --color-components-chat-input-audio-bg-alt: #fcfcfd;
+  --color-components-chat-input-audio-bg: #EFF4FF;
+  --color-components-chat-input-audio-wave-default: #155AEF33;
+  --color-components-chat-input-bg-mask-1: #FFFFFF03;
+  --color-components-chat-input-bg-mask-2: #F2F4F7;
+  --color-components-chat-input-border: #FFFFFF;
+  --color-components-chat-input-audio-wave-active: #296DFF;
+  --color-components-chat-input-audio-bg-alt: #FCFCFD;
 
-  --color-components-avatar-shape-fill-stop-0: #ffffff;
-  --color-components-avatar-shape-fill-stop-100: #ffffffe6;
+  --color-components-avatar-shape-fill-stop-0: #FFFFFF;
+  --color-components-avatar-shape-fill-stop-100: #FFFFFFE5;
 
-  --color-components-avatar-bg-mask-stop-0: #ffffff1f;
-  --color-components-avatar-bg-mask-stop-100: #ffffff14;
+  --color-components-avatar-bg-mask-stop-0: #FFFFFF1F;
+  --color-components-avatar-bg-mask-stop-100: #FFFFFF14;
 
-  --color-components-avatar-default-avatar-bg: #d0d5dc;
-  --color-components-avatar-mask-darkmode-dimmed: #ffffff00;
+  --color-components-avatar-default-avatar-bg: #D0D5DC;
+  --color-components-avatar-mask-darkmode-dimmed: #FFFFFF00;
 
-  --color-components-label-gray: #f2f4f7;
+  --color-components-label-gray: #F2F4F7;
 
-  --color-components-premium-badge-blue-bg-stop-0: #5289ff;
-  --color-components-premium-badge-blue-bg-stop-100: #155aef;
-  --color-components-premium-badge-blue-stroke-stop-0: #fffffff2;
-  --color-components-premium-badge-blue-stroke-stop-100: #155aef;
-  --color-components-premium-badge-blue-text-stop-0: #f5f7ff;
-  --color-components-premium-badge-blue-text-stop-100: #d1e0ff;
-  --color-components-premium-badge-blue-glow: #00329e;
-  --color-components-premium-badge-blue-bg-stop-0-hover: #296dff;
-  --color-components-premium-badge-blue-bg-stop-100-hover: #004aeb;
-  --color-components-premium-badge-blue-glow-hover: #84abff;
-  --color-components-premium-badge-blue-stroke-stop-0-hover: #fffffff2;
-  --color-components-premium-badge-blue-stroke-stop-100-hover: #00329e;
+  --color-components-premium-badge-blue-bg-stop-0: #5289FF;
+  --color-components-premium-badge-blue-bg-stop-100: #155AEF;
+  --color-components-premium-badge-blue-stroke-stop-0: #FFFFFFF2;
+  --color-components-premium-badge-blue-stroke-stop-100: #155AEF;
+  --color-components-premium-badge-blue-text-stop-0: #F5F7FF;
+  --color-components-premium-badge-blue-text-stop-100: #D1E0FF;
+  --color-components-premium-badge-blue-glow: #00329E;
+  --color-components-premium-badge-blue-bg-stop-0-hover: #296DFF;
+  --color-components-premium-badge-blue-bg-stop-100-hover: #004AEB;
+  --color-components-premium-badge-blue-glow-hover: #84ABFF;
+  --color-components-premium-badge-blue-stroke-stop-0-hover: #FFFFFFF2;
+  --color-components-premium-badge-blue-stroke-stop-100-hover: #00329E;
 
-  --color-components-premium-badge-highlight-stop-0: #ffffff1f;
-  --color-components-premium-badge-highlight-stop-100: #ffffff4d;
-  --color-components-premium-badge-indigo-bg-stop-0: #8098f9;
-  --color-components-premium-badge-indigo-bg-stop-100: #444ce7;
-  --color-components-premium-badge-indigo-stroke-stop-0: #fffffff2;
-  --color-components-premium-badge-indigo-stroke-stop-100: #6172f3;
-  --color-components-premium-badge-indigo-text-stop-0: #f5f8ff;
-  --color-components-premium-badge-indigo-text-stop-100: #e0eaff;
-  --color-components-premium-badge-indigo-glow: #2d3282;
-  --color-components-premium-badge-indigo-glow-hover: #a4bcfd;
-  --color-components-premium-badge-indigo-bg-stop-0-hover: #6172f3;
-  --color-components-premium-badge-indigo-bg-stop-100-hover: #2d31a6;
-  --color-components-premium-badge-indigo-stroke-stop-0-hover: #fffffff2;
-  --color-components-premium-badge-indigo-stroke-stop-100-hover: #2d31a6;
+  --color-components-premium-badge-highlight-stop-0: #FFFFFF1F;
+  --color-components-premium-badge-highlight-stop-100: #FFFFFF4D;
+  --color-components-premium-badge-indigo-bg-stop-0: #8098F9;
+  --color-components-premium-badge-indigo-bg-stop-100: #444CE7;
+  --color-components-premium-badge-indigo-stroke-stop-0: #FFFFFFF2;
+  --color-components-premium-badge-indigo-stroke-stop-100: #6172F3;
+  --color-components-premium-badge-indigo-text-stop-0: #F5F8FF;
+  --color-components-premium-badge-indigo-text-stop-100: #E0EAFF;
+  --color-components-premium-badge-indigo-glow: #2D3282;
+  --color-components-premium-badge-indigo-glow-hover: #A4BCFD;
+  --color-components-premium-badge-indigo-bg-stop-0-hover: #6172F3;
+  --color-components-premium-badge-indigo-bg-stop-100-hover: #2D31A6;
+  --color-components-premium-badge-indigo-stroke-stop-0-hover: #FFFFFFF2;
+  --color-components-premium-badge-indigo-stroke-stop-100-hover: #2D31A6;
 
-  --color-components-premium-badge-grey-bg-stop-0: #98a2b2;
-  --color-components-premium-badge-grey-bg-stop-100: #676f83;
-  --color-components-premium-badge-grey-stroke-stop-0: #fffffff2;
-  --color-components-premium-badge-grey-stroke-stop-100: #676f83;
-  --color-components-premium-badge-grey-text-stop-0: #fcfcfd;
-  --color-components-premium-badge-grey-text-stop-100: #f2f4f7;
+  --color-components-premium-badge-grey-bg-stop-0: #98A2B2;
+  --color-components-premium-badge-grey-bg-stop-100: #676F83;
+  --color-components-premium-badge-grey-stroke-stop-0: #FFFFFFF2;
+  --color-components-premium-badge-grey-stroke-stop-100: #676F83;
+  --color-components-premium-badge-grey-text-stop-0: #FCFCFD;
+  --color-components-premium-badge-grey-text-stop-100: #F2F4F7;
   --color-components-premium-badge-grey-glow: #101828;
-  --color-components-premium-badge-grey-glow-hover: #d0d5dc;
-  --color-components-premium-badge-grey-bg-stop-0-hover: #676f83;
+  --color-components-premium-badge-grey-glow-hover: #D0D5DC;
+  --color-components-premium-badge-grey-bg-stop-0-hover: #676F83;
   --color-components-premium-badge-grey-bg-stop-100-hover: #354052;
-  --color-components-premium-badge-grey-stroke-stop-0-hover: #fffffff2;
+  --color-components-premium-badge-grey-stroke-stop-0-hover: #FFFFFFF2;
   --color-components-premium-badge-grey-stroke-stop-100-hover: #354052;
 
-  --color-components-premium-badge-orange-bg-stop-0: #ff692e;
-  --color-components-premium-badge-orange-bg-stop-100: #e04f16;
-  --color-components-premium-badge-orange-stroke-stop-0: #fffffff2;
-  --color-components-premium-badge-orange-stroke-stop-100: #e62e05;
-  --color-components-premium-badge-orange-text-stop-0: #fefaf5;
-  --color-components-premium-badge-orange-text-stop-100: #fdead7;
+  --color-components-premium-badge-orange-bg-stop-0: #FF692E;
+  --color-components-premium-badge-orange-bg-stop-100: #E04F16;
+  --color-components-premium-badge-orange-stroke-stop-0: #FFFFFFF2;
+  --color-components-premium-badge-orange-stroke-stop-100: #E62E05;
+  --color-components-premium-badge-orange-text-stop-0: #FEFAF5;
+  --color-components-premium-badge-orange-text-stop-100: #FDEAD7;
   --color-components-premium-badge-orange-glow: #772917;
-  --color-components-premium-badge-orange-glow-hover: #f7b27a;
-  --color-components-premium-badge-orange-bg-stop-0-hover: #ff4405;
-  --color-components-premium-badge-orange-bg-stop-100-hover: #b93815;
-  --color-components-premium-badge-orange-stroke-stop-0-hover: #fffffff2;
-  --color-components-premium-badge-orange-stroke-stop-100-hover: #bc1b06;
+  --color-components-premium-badge-orange-glow-hover: #F7B27A;
+  --color-components-premium-badge-orange-bg-stop-0-hover: #FF4405;
+  --color-components-premium-badge-orange-bg-stop-100-hover: #B93815;
+  --color-components-premium-badge-orange-stroke-stop-0-hover: #FFFFFFF2;
+  --color-components-premium-badge-orange-stroke-stop-100-hover: #BC1B06;
 
-  --color-components-progress-bar-bg: #155aef0a;
-  --color-components-progress-bar-progress: #155aef24;
-  --color-components-progress-bar-border: #1018280a;
-  --color-components-progress-bar-progress-solid: #296dff;
-  --color-components-progress-bar-progress-highlight: #155aef33;
+  --color-components-progress-bar-bg: #155AEF0A;
+  --color-components-progress-bar-progress: #155AEF24;
+  --color-components-progress-bar-border: #1018280A;
+  --color-components-progress-bar-progress-solid: #296DFF;
+  --color-components-progress-bar-progress-highlight: #155AEF33;
 
-  --color-components-icon-bg-red-solid: #d92d20;
-  --color-components-icon-bg-rose-solid: #e31b54;
-  --color-components-icon-bg-pink-solid: #dd2590;
-  --color-components-icon-bg-orange-dark-solid: #ff4405;
-  --color-components-icon-bg-yellow-solid: #eaaa08;
-  --color-components-icon-bg-green-solid: #4ca30d;
-  --color-components-icon-bg-teal-solid: #0e9384;
-  --color-components-icon-bg-blue-light-solid: #0ba5ec;
-  --color-components-icon-bg-blue-solid: #155aef;
-  --color-components-icon-bg-indigo-solid: #444ce7;
-  --color-components-icon-bg-violet-solid: #7839ee;
-  --color-components-icon-bg-midnight-solid: #828dad;
-  --color-components-icon-bg-rose-soft: #fff1f3;
-  --color-components-icon-bg-pink-soft: #fdf2fa;
-  --color-components-icon-bg-orange-dark-soft: #fff4ed;
-  --color-components-icon-bg-yellow-soft: #fefbe8;
-  --color-components-icon-bg-green-soft: #f3fee7;
-  --color-components-icon-bg-teal-soft: #f0fdf9;
-  --color-components-icon-bg-blue-light-soft: #f0f9ff;
-  --color-components-icon-bg-blue-soft: #eff4ff;
-  --color-components-icon-bg-indigo-soft: #eef4ff;
-  --color-components-icon-bg-violet-soft: #f5f3ff;
-  --color-components-icon-bg-midnight-soft: #f0f2f5;
-  --color-components-icon-bg-red-soft: #fef3f2;
-  --color-components-icon-bg-orange-solid: #f79009;
-  --color-components-icon-bg-orange-soft: #fffaeb;
+  --color-components-icon-bg-red-solid: #D92D20;
+  --color-components-icon-bg-rose-solid: #E31B54;
+  --color-components-icon-bg-pink-solid: #DD2590;
+  --color-components-icon-bg-orange-dark-solid: #FF4405;
+  --color-components-icon-bg-yellow-solid: #EAAA08;
+  --color-components-icon-bg-green-solid: #4CA30D;
+  --color-components-icon-bg-teal-solid: #0E9384;
+  --color-components-icon-bg-blue-light-solid: #0BA5EC;
+  --color-components-icon-bg-blue-solid: #155AEF;
+  --color-components-icon-bg-indigo-solid: #444CE7;
+  --color-components-icon-bg-violet-solid: #7839EE;
+  --color-components-icon-bg-midnight-solid: #828DAD;
+  --color-components-icon-bg-rose-soft: #FFF1F3;
+  --color-components-icon-bg-pink-soft: #FDF2FA;
+  --color-components-icon-bg-orange-dark-soft: #FFF4ED;
+  --color-components-icon-bg-yellow-soft: #FEFBE8;
+  --color-components-icon-bg-green-soft: #F3FEE7;
+  --color-components-icon-bg-teal-soft: #F0FDF9;
+  --color-components-icon-bg-blue-light-soft: #F0F9FF;
+  --color-components-icon-bg-blue-soft: #EFF4FF;
+  --color-components-icon-bg-indigo-soft: #EEF4FF;
+  --color-components-icon-bg-violet-soft: #F5F3FF;
+  --color-components-icon-bg-midnight-soft: #F0F2F5;
+  --color-components-icon-bg-red-soft: #FEF3F2;
+  --color-components-icon-bg-orange-solid: #F79009;
+  --color-components-icon-bg-orange-soft: #FFFAEB;
 
   --color-text-primary: #101828;
   --color-text-secondary: #354052;
-  --color-text-tertiary: #676f83;
-  --color-text-quaternary: #1018284d;
-  --color-text-destructive: #d92d20;
+  --color-text-tertiary: #676F83;
+  --color-text-quaternary: #1018284D;
+  --color-text-destructive: #D92D20;
   --color-text-success: #079455;
-  --color-text-warning: #dc6803;
-  --color-text-destructive-secondary: #f04438;
-  --color-text-success-secondary: #17b26a;
-  --color-text-warning-secondary: #f79009;
-  --color-text-accent: #155aef;
-  --color-text-primary-on-surface: #ffffff;
-  --color-text-placeholder: #98a2b2;
-  --color-text-disabled: #d0d5dc;
-  --color-text-accent-secondary: #296dff;
-  --color-text-accent-light-mode-only: #155aef;
-  --color-text-text-selected: #155aef24;
-  --color-text-secondary-on-surface: #ffffffe6;
-  --color-text-logo-text: #18222f;
-  --color-text-empty-state-icon: #d0d5dc;
+  --color-text-warning: #DC6803;
+  --color-text-destructive-secondary: #F04438;
+  --color-text-success-secondary: #17B26A;
+  --color-text-warning-secondary: #F79009;
+  --color-text-accent: #155AEF;
+  --color-text-primary-on-surface: #FFFFFF;
+  --color-text-placeholder: #98A2B2;
+  --color-text-disabled: #D0D5DC;
+  --color-text-accent-secondary: #296DFF;
+  --color-text-accent-light-mode-only: #155AEF;
+  --color-text-text-selected: #155AEF24;
+  --color-text-secondary-on-surface: #FFFFFFE5;
+  --color-text-logo-text: #18222F;
+  --color-text-empty-state-icon: #D0D5DC;
   --color-text-inverted: #000000;
-  --color-text-inverted-dimmed: #000000f2;
+  --color-text-inverted-dimmed: #000000F2;
 
-  --color-background-body: #f2f4f7;
-  --color-background-default-subtle: #fcfcfd;
-  --color-background-neutral-subtle: #f9fafb;
-  --color-background-sidenav-bg: #ffffffcc;
-  --color-background-default: #ffffff;
-  --color-background-soft: #f9fafb;
-  --color-background-gradient-bg-fill-chat-bg-1: #f9fafb;
-  --color-background-gradient-bg-fill-chat-bg-2: #f2f4f7;
-  --color-background-gradient-bg-fill-chat-bubble-bg-1: #ffffff;
-  --color-background-gradient-bg-fill-chat-bubble-bg-2: #ffffff99;
-  --color-background-gradient-bg-fill-debug-bg-1: #ffffff00;
-  --color-background-gradient-bg-fill-debug-bg-2: #c8ceda24;
+  --color-background-body: #F2F4F7;
+  --color-background-default-subtle: #FCFCFD;
+  --color-background-neutral-subtle: #F9FAFB;
+  --color-background-sidenav-bg: #FFFFFFCC;
+  --color-background-default: #FFFFFF;
+  --color-background-soft: #F9FAFB;
+  --color-background-gradient-bg-fill-chat-bg-1: #F9FAFB;
+  --color-background-gradient-bg-fill-chat-bg-2: #F2F4F7;
+  --color-background-gradient-bg-fill-chat-bubble-bg-1: #FFFFFF;
+  --color-background-gradient-bg-fill-chat-bubble-bg-2: #FFFFFF99;
+  --color-background-gradient-bg-fill-debug-bg-1: #FFFFFF00;
+  --color-background-gradient-bg-fill-debug-bg-2: #C8CEDA24;
 
-  --color-background-gradient-mask-gray: #c8ceda33;
-  --color-background-gradient-mask-transparent: #ffffff00;
-  --color-background-gradient-mask-input-clear-2: #e9ebf000;
-  --color-background-gradient-mask-input-clear-1: #e9ebf0;
+  --color-background-gradient-mask-gray: #C8CEDA33;
+  --color-background-gradient-mask-transparent: #FFFFFF00;
+  --color-background-gradient-mask-input-clear-2: #E9EBF000;
+  --color-background-gradient-mask-input-clear-1: #E9EBF0;
   --color-background-gradient-mask-transparent-dark: #00000000;
-  --color-background-gradient-mask-side-panel-2: #1018284d;
+  --color-background-gradient-mask-side-panel-2: #1018284D;
   --color-background-gradient-mask-side-panel-1: #10182805;
 
-  --color-background-default-burn: #e9ebf0;
-  --color-background-overlay-fullscreen: #f9fafbf2;
-  --color-background-default-lighter: #ffffff80;
-  --color-background-section: #f9fafb;
-  --color-background-interaction-from-bg-1: #c8ceda33;
-  --color-background-interaction-from-bg-2: #c8ceda24;
-  --color-background-section-burn: #f2f4f7;
-  --color-background-default-dodge: #ffffff;
+  --color-background-default-burn: #E9EBF0;
+  --color-background-overlay-fullscreen: #F9FAFBF2;
+  --color-background-default-lighter: #FFFFFF80;
+  --color-background-section: #F9FAFB;
+  --color-background-interaction-from-bg-1: #C8CEDA33;
+  --color-background-interaction-from-bg-2: #C8CEDA24;
+  --color-background-section-burn: #F2F4F7;
+  --color-background-default-dodge: #FFFFFF;
   --color-background-overlay: #10182899;
-  --color-background-default-dimmed: #e9ebf0;
-  --color-background-default-hover: #f9fafb;
+  --color-background-default-dimmed: #E9EBF0;
+  --color-background-default-hover: #F9FAFB;
   --color-background-overlay-alt: #10182866;
-  --color-background-surface-white: #fffffff2;
-  --color-background-overlay-destructive: #f044384d;
-  --color-background-overlay-backdrop: #f2f4f7f2;
+  --color-background-surface-white: #FFFFFFF2;
+  --color-background-overlay-destructive: #F044384D;
+  --color-background-overlay-backdrop: #F2F4F7F2;
 
-  --color-shadow-shadow-1: #09090b08;
-  --color-shadow-shadow-3: #09090b0d;
-  --color-shadow-shadow-4: #09090b0f;
-  --color-shadow-shadow-5: #09090b14;
-  --color-shadow-shadow-6: #09090b1a;
-  --color-shadow-shadow-7: #09090b1f;
-  --color-shadow-shadow-8: #09090b24;
-  --color-shadow-shadow-9: #09090b2e;
-  --color-shadow-shadow-2: #09090b0a;
-  --color-shadow-shadow-10: #09090b0d;
+  --color-shadow-shadow-1: #09090B08;
+  --color-shadow-shadow-3: #09090B0D;
+  --color-shadow-shadow-4: #09090B0F;
+  --color-shadow-shadow-5: #09090B14;
+  --color-shadow-shadow-6: #09090B1A;
+  --color-shadow-shadow-7: #09090B1F;
+  --color-shadow-shadow-8: #09090B24;
+  --color-shadow-shadow-9: #09090B2E;
+  --color-shadow-shadow-2: #09090B0A;
+  --color-shadow-shadow-10: #09090B0D;
 
-  --color-workflow-block-border: #ffffff;
-  --color-workflow-block-parma-bg: #f2f4f7;
-  --color-workflow-block-bg: #fcfcfd;
-  --color-workflow-block-bg-transparent: #fcfcfde6;
-  --color-workflow-block-border-highlight: #155aef24;
+  --color-workflow-block-border: #FFFFFF;
+  --color-workflow-block-parma-bg: #F2F4F7;
+  --color-workflow-block-bg: #FCFCFD;
+  --color-workflow-block-bg-transparent: #FCFCFDE5;
+  --color-workflow-block-border-highlight: #155AEF24;
 
-  --color-workflow-canvas-workflow-dot-color: #8585ad26;
-  --color-workflow-canvas-workflow-bg: #f2f4f7;
+  --color-workflow-canvas-workflow-dot-color: #8585AD26;
+  --color-workflow-canvas-workflow-bg: #F2F4F7;
 
-  --color-workflow-link-line-active: #296dff;
-  --color-workflow-link-line-normal: #d0d5dc;
-  --color-workflow-link-line-handle: #296dff;
-  --color-workflow-link-line-normal-transparent: #d0d5dc33;
-  --color-workflow-link-line-failure-active: #f79009;
-  --color-workflow-link-line-failure-handle: #f79009;
-  --color-workflow-link-line-failure-button-bg: #dc6803;
-  --color-workflow-link-line-failure-button-hover: #b54708;
+  --color-workflow-link-line-active: #296DFF;
+  --color-workflow-link-line-normal: #D0D5DC;
+  --color-workflow-link-line-handle: #296DFF;
+  --color-workflow-link-line-normal-transparent: #D0D5DC33;
+  --color-workflow-link-line-failure-active: #F79009;
+  --color-workflow-link-line-failure-handle: #F79009;
+  --color-workflow-link-line-failure-button-bg: #DC6803;
+  --color-workflow-link-line-failure-button-hover: #B54708;
 
-  --color-workflow-link-line-success-active: #17b26a;
-  --color-workflow-link-line-success-handle: #17b26a;
+  --color-workflow-link-line-success-active: #17B26A;
+  --color-workflow-link-line-success-handle: #17B26A;
 
-  --color-workflow-link-line-error-active: #f04438;
-  --color-workflow-link-line-error-handle: #f04438;
+  --color-workflow-link-line-error-active: #F04438;
+  --color-workflow-link-line-error-handle: #F04438;
 
-  --color-workflow-minimap-bg: #e9ebf0;
-  --color-workflow-minimap-block: #c8ceda4d;
+  --color-workflow-minimap-bg: #E9EBF0;
+  --color-workflow-minimap-block: #C8CEDA4D;
 
-  --color-workflow-display-success-bg: #ecfdf3;
-  --color-workflow-display-success-border-1: #17b26acc;
-  --color-workflow-display-success-border-2: #17b26a80;
-  --color-workflow-display-success-vignette-color: #17b26a33;
-  --color-workflow-display-success-bg-line-pattern: #17b26a4d;
+  --color-workflow-display-success-bg: #ECFDF3;
+  --color-workflow-display-success-border-1: #17B26ACC;
+  --color-workflow-display-success-border-2: #17B26A80;
+  --color-workflow-display-success-vignette-color: #17B26A33;
+  --color-workflow-display-success-bg-line-pattern: #17B26A4D;
 
-  --color-workflow-display-glass-1: #ffffff1f;
-  --color-workflow-display-glass-2: #ffffff80;
-  --color-workflow-display-vignette-dark: #0000001f;
-  --color-workflow-display-highlight: #ffffff80;
-  --color-workflow-display-outline: #0000000d;
-  --color-workflow-display-error-bg: #fef3f2;
-  --color-workflow-display-error-bg-line-pattern: #f044384d;
-  --color-workflow-display-error-border-1: #f04438cc;
-  --color-workflow-display-error-border-2: #f0443880;
-  --color-workflow-display-error-vignette-color: #f0443833;
+  --color-workflow-display-glass-1: #FFFFFF1F;
+  --color-workflow-display-glass-2: #FFFFFF80;
+  --color-workflow-display-vignette-dark: #0000001F;
+  --color-workflow-display-highlight: #FFFFFF80;
+  --color-workflow-display-outline: #0000000D;
+  --color-workflow-display-error-bg: #FEF3F2;
+  --color-workflow-display-error-bg-line-pattern: #F044384D;
+  --color-workflow-display-error-border-1: #F04438CC;
+  --color-workflow-display-error-border-2: #F0443880;
+  --color-workflow-display-error-vignette-color: #F0443833;
 
-  --color-workflow-display-warning-bg: #fffaeb;
-  --color-workflow-display-warning-bg-line-pattern: #f790094d;
-  --color-workflow-display-warning-border-1: #f79009cc;
-  --color-workflow-display-warning-border-2: #f7900980;
-  --color-workflow-display-warning-vignette-color: #f7900933;
+  --color-workflow-display-warning-bg: #FFFAEB;
+  --color-workflow-display-warning-bg-line-pattern: #F790094D;
+  --color-workflow-display-warning-border-1: #F79009CC;
+  --color-workflow-display-warning-border-2: #F7900980;
+  --color-workflow-display-warning-vignette-color: #F7900933;
 
-  --color-workflow-display-normal-bg: #f0f9ff;
-  --color-workflow-display-normal-bg-line-pattern: #0ba5ec4d;
-  --color-workflow-display-normal-border-1: #0ba5eccc;
-  --color-workflow-display-normal-border-2: #0ba5ec80;
-  --color-workflow-display-normal-vignette-color: #0ba5ec33;
+  --color-workflow-display-normal-bg: #F0F9FF;
+  --color-workflow-display-normal-bg-line-pattern: #0BA5EC4D;
+  --color-workflow-display-normal-border-1: #0BA5ECCC;
+  --color-workflow-display-normal-border-2: #0BA5EC80;
+  --color-workflow-display-normal-vignette-color: #0BA5EC33;
 
-  --color-workflow-display-disabled-bg: #f9fafb;
-  --color-workflow-display-disabled-bg-line-pattern: #c8ceda4d;
-  --color-workflow-display-disabled-border-1: #c8ceda99;
-  --color-workflow-display-disabled-border-2: #c8ceda66;
-  --color-workflow-display-disabled-vignette-color: #c8ceda66;
+  --color-workflow-display-disabled-bg: #F9FAFB;
+  --color-workflow-display-disabled-bg-line-pattern: #C8CEDA4D;
+  --color-workflow-display-disabled-border-1: #C8CEDA99;
+  --color-workflow-display-disabled-border-2: #C8CEDA66;
+  --color-workflow-display-disabled-vignette-color: #C8CEDA66;
   --color-workflow-display-disabled-outline: #00000000;
 
-  --color-workflow-workflow-progress-bg-1: #c8ceda33;
-  --color-workflow-workflow-progress-bg-2: #c8ceda0a;
+  --color-workflow-workflow-progress-bg-1: #C8CEDA33;
+  --color-workflow-workflow-progress-bg-2: #C8CEDA0A;
 
-  --color-divider-subtle: #1018280a;
+  --color-divider-subtle: #1018280A;
   --color-divider-regular: #10182814;
   --color-divider-deep: #10182824;
-  --color-divider-burn: #1018280a;
-  --color-divider-intense: #1018284d;
-  --color-divider-solid: #d0d5dc;
-  --color-divider-solid-alt: #98a2b2;
+  --color-divider-burn: #1018280A;
+  --color-divider-intense: #1018284D;
+  --color-divider-solid: #D0D5DC;
+  --color-divider-solid-alt: #98A2B2;
 
-  --color-state-base-hover: #c8ceda33;
-  --color-state-base-active: #c8ceda66;
-  --color-state-base-hover-alt: #c8ceda66;
+  --color-state-base-hover: #C8CEDA33;
+  --color-state-base-active: #C8CEDA66;
+  --color-state-base-hover-alt: #C8CEDA66;
   --color-state-base-handle: #10182833;
-  --color-state-base-handle-hover: #1018284d;
-  --color-state-base-hover-subtle: #c8ceda14;
+  --color-state-base-handle-hover: #1018284D;
 
-  --color-state-accent-hover: #eff4ff;
-  --color-state-accent-active: #155aef14;
-  --color-state-accent-hover-alt: #d1e0ff;
-  --color-state-accent-solid: #296dff;
-  --color-state-accent-active-alt: #155aef24;
+  --color-state-accent-hover: #EFF4FF;
+  --color-state-accent-active: #155AEF14;
+  --color-state-accent-hover-alt: #D1E0FF;
+  --color-state-accent-solid: #296DFF;
+  --color-state-accent-active-alt: #155AEF24;
 
-  --color-state-destructive-hover: #fef3f2;
-  --color-state-destructive-hover-alt: #fee4e2;
-  --color-state-destructive-active: #fecdca;
-  --color-state-destructive-solid: #f04438;
-  --color-state-destructive-border: #fda29b;
+  --color-state-destructive-hover: #FEF3F2;
+  --color-state-destructive-hover-alt: #FEE4E2;
+  --color-state-destructive-active: #FECDCA;
+  --color-state-destructive-solid: #F04438;
+  --color-state-destructive-border: #FDA29B;
 
-  --color-state-success-hover: #ecfdf3;
-  --color-state-success-hover-alt: #dcfae6;
-  --color-state-success-active: #abefc6;
-  --color-state-success-solid: #17b26a;
+  --color-state-success-hover: #ECFDF3;
+  --color-state-success-hover-alt: #DCFAE6;
+  --color-state-success-active: #ABEFC6;
+  --color-state-success-solid: #17B26A;
 
-  --color-state-warning-hover: #fffaeb;
-  --color-state-warning-hover-alt: #fef0c7;
-  --color-state-warning-active: #fedf89;
-  --color-state-warning-solid: #f79009;
+  --color-state-warning-hover: #FFFAEB;
+  --color-state-warning-hover-alt: #FEF0C7;
+  --color-state-warning-active: #FEDF89;
+  --color-state-warning-solid: #F79009;
 
-  --color-effects-highlight: #ffffff;
-  --color-effects-highlight-lightmode-off: #ffffff00;
-  --color-effects-image-frame: #ffffff;
+  --color-effects-highlight: #FFFFFF;
+  --color-effects-highlight-lightmode-off: #FFFFFF00;
+  --color-effects-image-frame: #FFFFFF;
 
-  --color-util-colors-orange-dark-orange-dark-50: #fff4ed;
-  --color-util-colors-orange-dark-orange-dark-100: #ffe6d5;
-  --color-util-colors-orange-dark-orange-dark-200: #ffd6ae;
-  --color-util-colors-orange-dark-orange-dark-300: #ff9c66;
-  --color-util-colors-orange-dark-orange-dark-400: #ff692e;
-  --color-util-colors-orange-dark-orange-dark-500: #ff4405;
-  --color-util-colors-orange-dark-orange-dark-600: #e62e05;
-  --color-util-colors-orange-dark-orange-dark-700: #bc1b06;
+  --color-util-colors-orange-dark-orange-dark-50: #FFF4ED;
+  --color-util-colors-orange-dark-orange-dark-100: #FFE6D5;
+  --color-util-colors-orange-dark-orange-dark-200: #FFD6AE;
+  --color-util-colors-orange-dark-orange-dark-300: #FF9C66;
+  --color-util-colors-orange-dark-orange-dark-400: #FF692E;
+  --color-util-colors-orange-dark-orange-dark-500: #FF4405;
+  --color-util-colors-orange-dark-orange-dark-600: #E62E05;
+  --color-util-colors-orange-dark-orange-dark-700: #BC1B06;
 
-  --color-util-colors-orange-orange-50: #fef6ee;
-  --color-util-colors-orange-orange-100: #fdead7;
-  --color-util-colors-orange-orange-200: #f9dbaf;
-  --color-util-colors-orange-orange-300: #f7b27a;
-  --color-util-colors-orange-orange-400: #f38744;
-  --color-util-colors-orange-orange-500: #ef6820;
-  --color-util-colors-orange-orange-600: #e04f16;
-  --color-util-colors-orange-orange-700: #b93815;
-  --color-util-colors-orange-orange-100-transparent: #fdead700;
+  --color-util-colors-orange-orange-50: #FEF6EE;
+  --color-util-colors-orange-orange-100: #FDEAD7;
+  --color-util-colors-orange-orange-200: #F9DBAF;
+  --color-util-colors-orange-orange-300: #F7B27A;
+  --color-util-colors-orange-orange-400: #F38744;
+  --color-util-colors-orange-orange-500: #EF6820;
+  --color-util-colors-orange-orange-600: #E04F16;
+  --color-util-colors-orange-orange-700: #B93815;
+  --color-util-colors-orange-orange-100-transparent: #FDEAD700;
 
-  --color-util-colors-pink-pink-50: #fdf2fa;
-  --color-util-colors-pink-pink-100: #fce7f6;
-  --color-util-colors-pink-pink-200: #fcceee;
-  --color-util-colors-pink-pink-300: #faa7e0;
-  --color-util-colors-pink-pink-400: #f670c7;
-  --color-util-colors-pink-pink-500: #ee46bc;
-  --color-util-colors-pink-pink-600: #dd2590;
-  --color-util-colors-pink-pink-700: #c11574;
+  --color-util-colors-pink-pink-50: #FDF2FA;
+  --color-util-colors-pink-pink-100: #FCE7F6;
+  --color-util-colors-pink-pink-200: #FCCEEE;
+  --color-util-colors-pink-pink-300: #FAA7E0;
+  --color-util-colors-pink-pink-400: #F670C7;
+  --color-util-colors-pink-pink-500: #EE46BC;
+  --color-util-colors-pink-pink-600: #DD2590;
+  --color-util-colors-pink-pink-700: #C11574;
 
-  --color-util-colors-fuchsia-fuchsia-50: #fdf4ff;
-  --color-util-colors-fuchsia-fuchsia-100: #fbe8ff;
-  --color-util-colors-fuchsia-fuchsia-200: #f6d0fe;
-  --color-util-colors-fuchsia-fuchsia-300: #eeaafd;
-  --color-util-colors-fuchsia-fuchsia-400: #e478fa;
-  --color-util-colors-fuchsia-fuchsia-500: #d444f1;
-  --color-util-colors-fuchsia-fuchsia-600: #ba24d5;
-  --color-util-colors-fuchsia-fuchsia-700: #9f1ab1;
+  --color-util-colors-fuchsia-fuchsia-50: #FDF4FF;
+  --color-util-colors-fuchsia-fuchsia-100: #FBE8FF;
+  --color-util-colors-fuchsia-fuchsia-200: #F6D0FE;
+  --color-util-colors-fuchsia-fuchsia-300: #EEAAFD;
+  --color-util-colors-fuchsia-fuchsia-400: #E478FA;
+  --color-util-colors-fuchsia-fuchsia-500: #D444F1;
+  --color-util-colors-fuchsia-fuchsia-600: #BA24D5;
+  --color-util-colors-fuchsia-fuchsia-700: #9F1AB1;
 
-  --color-util-colors-purple-purple-50: #f4f3ff;
-  --color-util-colors-purple-purple-100: #ebe9fe;
-  --color-util-colors-purple-purple-200: #d9d6fe;
-  --color-util-colors-purple-purple-300: #bdb4fe;
-  --color-util-colors-purple-purple-400: #9b8afb;
-  --color-util-colors-purple-purple-500: #7a5af8;
-  --color-util-colors-purple-purple-600: #6938ef;
-  --color-util-colors-purple-purple-700: #5925dc;
+  --color-util-colors-purple-purple-50: #F4F3FF;
+  --color-util-colors-purple-purple-100: #EBE9FE;
+  --color-util-colors-purple-purple-200: #D9D6FE;
+  --color-util-colors-purple-purple-300: #BDB4FE;
+  --color-util-colors-purple-purple-400: #9B8AFB;
+  --color-util-colors-purple-purple-500: #7A5AF8;
+  --color-util-colors-purple-purple-600: #6938EF;
+  --color-util-colors-purple-purple-700: #5925DC;
 
-  --color-util-colors-indigo-indigo-50: #eef4ff;
-  --color-util-colors-indigo-indigo-100: #e0eaff;
-  --color-util-colors-indigo-indigo-200: #c7d7fe;
-  --color-util-colors-indigo-indigo-300: #a4bcfd;
-  --color-util-colors-indigo-indigo-400: #8098f9;
-  --color-util-colors-indigo-indigo-500: #6172f3;
-  --color-util-colors-indigo-indigo-600: #444ce7;
-  --color-util-colors-indigo-indigo-700: #3538cd;
+  --color-util-colors-indigo-indigo-50: #EEF4FF;
+  --color-util-colors-indigo-indigo-100: #E0EAFF;
+  --color-util-colors-indigo-indigo-200: #C7D7FE;
+  --color-util-colors-indigo-indigo-300: #A4BCFD;
+  --color-util-colors-indigo-indigo-400: #8098F9;
+  --color-util-colors-indigo-indigo-500: #6172F3;
+  --color-util-colors-indigo-indigo-600: #444CE7;
+  --color-util-colors-indigo-indigo-700: #3538CD;
 
-  --color-util-colors-blue-blue-50: #eff8ff;
-  --color-util-colors-blue-blue-100: #d1e9ff;
-  --color-util-colors-blue-blue-200: #b2ddff;
-  --color-util-colors-blue-blue-300: #84caff;
-  --color-util-colors-blue-blue-400: #53b1fd;
-  --color-util-colors-blue-blue-500: #2e90fa;
-  --color-util-colors-blue-blue-600: #1570ef;
-  --color-util-colors-blue-blue-700: #175cd3;
+  --color-util-colors-blue-blue-50: #EFF8FF;
+  --color-util-colors-blue-blue-100: #D1E9FF;
+  --color-util-colors-blue-blue-200: #B2DDFF;
+  --color-util-colors-blue-blue-300: #84CAFF;
+  --color-util-colors-blue-blue-400: #53B1FD;
+  --color-util-colors-blue-blue-500: #2E90FA;
+  --color-util-colors-blue-blue-600: #1570EF;
+  --color-util-colors-blue-blue-700: #175CD3;
 
-  --color-util-colors-blue-light-blue-light-50: #f0f9ff;
-  --color-util-colors-blue-light-blue-light-100: #e0f2fe;
-  --color-util-colors-blue-light-blue-light-200: #b9e6fe;
-  --color-util-colors-blue-light-blue-light-300: #7cd4fd;
-  --color-util-colors-blue-light-blue-light-400: #36bffa;
-  --color-util-colors-blue-light-blue-light-500: #0ba5ec;
-  --color-util-colors-blue-light-blue-light-600: #0086c9;
-  --color-util-colors-blue-light-blue-light-700: #026aa2;
+  --color-util-colors-blue-light-blue-light-50: #F0F9FF;
+  --color-util-colors-blue-light-blue-light-100: #E0F2FE;
+  --color-util-colors-blue-light-blue-light-200: #B9E6FE;
+  --color-util-colors-blue-light-blue-light-300: #7CD4FD;
+  --color-util-colors-blue-light-blue-light-400: #36BFFA;
+  --color-util-colors-blue-light-blue-light-500: #0BA5EC;
+  --color-util-colors-blue-light-blue-light-600: #0086C9;
+  --color-util-colors-blue-light-blue-light-700: #026AA2;
 
-  --color-util-colors-gray-blue-gray-blue-50: #f8f9fc;
-  --color-util-colors-gray-blue-gray-blue-100: #eaecf5;
-  --color-util-colors-gray-blue-gray-blue-200: #d5d9eb;
-  --color-util-colors-gray-blue-gray-blue-300: #b3b8db;
-  --color-util-colors-gray-blue-gray-blue-400: #717bbc;
-  --color-util-colors-gray-blue-gray-blue-500: #4e5ba6;
-  --color-util-colors-gray-blue-gray-blue-600: #3e4784;
-  --color-util-colors-gray-blue-gray-blue-700: #363f72;
+  --color-util-colors-gray-blue-gray-blue-50: #F8F9FC;
+  --color-util-colors-gray-blue-gray-blue-100: #EAECF5;
+  --color-util-colors-gray-blue-gray-blue-200: #D5D9EB;
+  --color-util-colors-gray-blue-gray-blue-300: #B3B8DB;
+  --color-util-colors-gray-blue-gray-blue-400: #717BBC;
+  --color-util-colors-gray-blue-gray-blue-500: #4E5BA6;
+  --color-util-colors-gray-blue-gray-blue-600: #3E4784;
+  --color-util-colors-gray-blue-gray-blue-700: #363F72;
 
-  --color-util-colors-blue-brand-blue-brand-50: #f5f7ff;
-  --color-util-colors-blue-brand-blue-brand-100: #d1e0ff;
-  --color-util-colors-blue-brand-blue-brand-200: #b2caff;
-  --color-util-colors-blue-brand-blue-brand-300: #84abff;
-  --color-util-colors-blue-brand-blue-brand-400: #5289ff;
-  --color-util-colors-blue-brand-blue-brand-500: #296dff;
-  --color-util-colors-blue-brand-blue-brand-600: #155aef;
-  --color-util-colors-blue-brand-blue-brand-700: #004aeb;
+  --color-util-colors-blue-brand-blue-brand-50: #F5F7FF;
+  --color-util-colors-blue-brand-blue-brand-100: #D1E0FF;
+  --color-util-colors-blue-brand-blue-brand-200: #B2CAFF;
+  --color-util-colors-blue-brand-blue-brand-300: #84ABFF;
+  --color-util-colors-blue-brand-blue-brand-400: #5289FF;
+  --color-util-colors-blue-brand-blue-brand-500: #296DFF;
+  --color-util-colors-blue-brand-blue-brand-600: #155AEF;
+  --color-util-colors-blue-brand-blue-brand-700: #004AEB;
 
-  --color-util-colors-red-red-50: #fef3f2;
-  --color-util-colors-red-red-100: #fee4e2;
-  --color-util-colors-red-red-200: #fecdca;
-  --color-util-colors-red-red-300: #fda29b;
-  --color-util-colors-red-red-400: #f97066;
-  --color-util-colors-red-red-500: #f04438;
-  --color-util-colors-red-red-600: #d92d20;
-  --color-util-colors-red-red-700: #b42318;
+  --color-util-colors-red-red-50: #FEF3F2;
+  --color-util-colors-red-red-100: #FEE4E2;
+  --color-util-colors-red-red-200: #FECDCA;
+  --color-util-colors-red-red-300: #FDA29B;
+  --color-util-colors-red-red-400: #F97066;
+  --color-util-colors-red-red-500: #F04438;
+  --color-util-colors-red-red-600: #D92D20;
+  --color-util-colors-red-red-700: #B42318;
 
-  --color-util-colors-green-green-50: #ecfdf3;
-  --color-util-colors-green-green-100: #dcfae6;
-  --color-util-colors-green-green-200: #abefc6;
-  --color-util-colors-green-green-300: #75e0a7;
-  --color-util-colors-green-green-400: #47cd89;
-  --color-util-colors-green-green-500: #17b26a;
+  --color-util-colors-green-green-50: #ECFDF3;
+  --color-util-colors-green-green-100: #DCFAE6;
+  --color-util-colors-green-green-200: #ABEFC6;
+  --color-util-colors-green-green-300: #75E0A7;
+  --color-util-colors-green-green-400: #47CD89;
+  --color-util-colors-green-green-500: #17B26A;
   --color-util-colors-green-green-600: #079455;
   --color-util-colors-green-green-700: #067647;
 
-  --color-util-colors-warning-warning-50: #fffaeb;
-  --color-util-colors-warning-warning-100: #fef0c7;
-  --color-util-colors-warning-warning-200: #fedf89;
-  --color-util-colors-warning-warning-300: #fec84b;
-  --color-util-colors-warning-warning-400: #fdb022;
-  --color-util-colors-warning-warning-500: #f79009;
-  --color-util-colors-warning-warning-600: #dc6803;
-  --color-util-colors-warning-warning-700: #b54708;
+  --color-util-colors-warning-warning-50: #FFFAEB;
+  --color-util-colors-warning-warning-100: #FEF0C7;
+  --color-util-colors-warning-warning-200: #FEDF89;
+  --color-util-colors-warning-warning-300: #FEC84B;
+  --color-util-colors-warning-warning-400: #FDB022;
+  --color-util-colors-warning-warning-500: #F79009;
+  --color-util-colors-warning-warning-600: #DC6803;
+  --color-util-colors-warning-warning-700: #B54708;
 
-  --color-util-colors-yellow-yellow-50: #fefbe8;
-  --color-util-colors-yellow-yellow-100: #fef7c3;
-  --color-util-colors-yellow-yellow-200: #feee95;
-  --color-util-colors-yellow-yellow-300: #fde272;
-  --color-util-colors-yellow-yellow-400: #fac515;
-  --color-util-colors-yellow-yellow-500: #eaaa08;
-  --color-util-colors-yellow-yellow-600: #ca8504;
-  --color-util-colors-yellow-yellow-700: #a15c07;
+  --color-util-colors-yellow-yellow-50: #FEFBE8;
+  --color-util-colors-yellow-yellow-100: #FEF7C3;
+  --color-util-colors-yellow-yellow-200: #FEEE95;
+  --color-util-colors-yellow-yellow-300: #FDE272;
+  --color-util-colors-yellow-yellow-400: #FAC515;
+  --color-util-colors-yellow-yellow-500: #EAAA08;
+  --color-util-colors-yellow-yellow-600: #CA8504;
+  --color-util-colors-yellow-yellow-700: #A15C07;
 
-  --color-util-colors-teal-teal-50: #f0fdf9;
-  --color-util-colors-teal-teal-100: #ccfbef;
-  --color-util-colors-teal-teal-200: #99f6e0;
-  --color-util-colors-teal-teal-300: #5fe9d0;
-  --color-util-colors-teal-teal-400: #2ed3b7;
-  --color-util-colors-teal-teal-500: #15b79e;
-  --color-util-colors-teal-teal-600: #0e9384;
+  --color-util-colors-teal-teal-50: #F0FDF9;
+  --color-util-colors-teal-teal-100: #CCFBEF;
+  --color-util-colors-teal-teal-200: #99F6E0;
+  --color-util-colors-teal-teal-300: #5FE9D0;
+  --color-util-colors-teal-teal-400: #2ED3B7;
+  --color-util-colors-teal-teal-500: #15B79E;
+  --color-util-colors-teal-teal-600: #0E9384;
   --color-util-colors-teal-teal-700: #107569;
 
-  --color-util-colors-cyan-cyan-50: #ecfdff;
-  --color-util-colors-cyan-cyan-100: #cff9fe;
-  --color-util-colors-cyan-cyan-200: #a5f0fc;
-  --color-util-colors-cyan-cyan-300: #67e3f9;
-  --color-util-colors-cyan-cyan-400: #22ccee;
-  --color-util-colors-cyan-cyan-500: #06aed4;
-  --color-util-colors-cyan-cyan-600: #088ab2;
-  --color-util-colors-cyan-cyan-700: #0e7090;
+  --color-util-colors-cyan-cyan-50: #ECFDFF;
+  --color-util-colors-cyan-cyan-100: #CFF9FE;
+  --color-util-colors-cyan-cyan-200: #A5F0FC;
+  --color-util-colors-cyan-cyan-300: #67E3F9;
+  --color-util-colors-cyan-cyan-400: #22CCEE;
+  --color-util-colors-cyan-cyan-500: #06AED4;
+  --color-util-colors-cyan-cyan-600: #088AB2;
+  --color-util-colors-cyan-cyan-700: #0E7090;
 
-  --color-util-colors-violet-violet-50: #f5f3ff;
-  --color-util-colors-violet-violet-100: #ece9fe;
-  --color-util-colors-violet-violet-200: #ddd6fe;
-  --color-util-colors-violet-violet-300: #c3b5fd;
-  --color-util-colors-violet-violet-400: #a48afb;
-  --color-util-colors-violet-violet-500: #875bf7;
-  --color-util-colors-violet-violet-600: #7839ee;
-  --color-util-colors-violet-violet-700: #6927da;
+  --color-util-colors-violet-violet-50: #F5F3FF;
+  --color-util-colors-violet-violet-100: #ECE9FE;
+  --color-util-colors-violet-violet-200: #DDD6FE;
+  --color-util-colors-violet-violet-300: #C3B5FD;
+  --color-util-colors-violet-violet-400: #A48AFB;
+  --color-util-colors-violet-violet-500: #875BF7;
+  --color-util-colors-violet-violet-600: #7839EE;
+  --color-util-colors-violet-violet-700: #6927DA;
 
-  --color-util-colors-gray-gray-50: #f9fafb;
-  --color-util-colors-gray-gray-100: #f2f4f7;
-  --color-util-colors-gray-gray-200: #e9ebf0;
-  --color-util-colors-gray-gray-300: #d0d5dc;
-  --color-util-colors-gray-gray-400: #98a2b2;
-  --color-util-colors-gray-gray-500: #676f83;
+  --color-util-colors-gray-gray-50: #F9FAFB;
+  --color-util-colors-gray-gray-100: #F2F4F7;
+  --color-util-colors-gray-gray-200: #E9EBF0;
+  --color-util-colors-gray-gray-300: #D0D5DC;
+  --color-util-colors-gray-gray-400: #98A2B2;
+  --color-util-colors-gray-gray-500: #676F83;
   --color-util-colors-gray-gray-600: #495464;
   --color-util-colors-gray-gray-700: #354052;
 
-  --color-util-colors-green-light-green-light-50: #f3fee7;
-  --color-util-colors-green-light-green-light-100: #e3fbcc;
-  --color-util-colors-green-light-green-light-200: #d0f8ab;
-  --color-util-colors-green-light-green-light-300: #a6ef67;
-  --color-util-colors-green-light-green-light-500: #66c61c;
-  --color-util-colors-green-light-green-light-400: #85e13a;
-  --color-util-colors-green-light-green-light-600: #4ca30d;
-  --color-util-colors-green-light-green-light-700: #3b7c0f;
+  --color-util-colors-green-light-green-light-50: #F3FEE7;
+  --color-util-colors-green-light-green-light-100: #E3FBCC;
+  --color-util-colors-green-light-green-light-200: #D0F8AB;
+  --color-util-colors-green-light-green-light-300: #A6EF67;
+  --color-util-colors-green-light-green-light-500: #66C61C;
+  --color-util-colors-green-light-green-light-400: #85E13A;
+  --color-util-colors-green-light-green-light-600: #4CA30D;
+  --color-util-colors-green-light-green-light-700: #3B7C0F;
 
-  --color-util-colors-rose-rose-50: #fff1f3;
-  --color-util-colors-rose-rose-100: #ffe4e8;
-  --color-util-colors-rose-rose-200: #fecdd6;
-  --color-util-colors-rose-rose-300: #fea3b4;
-  --color-util-colors-rose-rose-400: #fd6f8e;
-  --color-util-colors-rose-rose-500: #f63d68;
-  --color-util-colors-rose-rose-600: #e31b54;
-  --color-util-colors-rose-rose-700: #c01048;
+  --color-util-colors-rose-rose-50: #FFF1F3;
+  --color-util-colors-rose-rose-100: #FFE4E8;
+  --color-util-colors-rose-rose-200: #FECDD6;
+  --color-util-colors-rose-rose-300: #FEA3B4;
+  --color-util-colors-rose-rose-400: #FD6F8E;
+  --color-util-colors-rose-rose-500: #F63D68;
+  --color-util-colors-rose-rose-600: #E31B54;
+  --color-util-colors-rose-rose-700: #C01048;
 
-  --color-util-colors-midnight-midnight-50: #fbfbfc;
-  --color-util-colors-midnight-midnight-100: #f0f2f5;
-  --color-util-colors-midnight-midnight-200: #dfe1ea;
-  --color-util-colors-midnight-midnight-300: #c6cbd9;
-  --color-util-colors-midnight-midnight-400: #a7aec5;
-  --color-util-colors-midnight-midnight-500: #828dad;
-  --color-util-colors-midnight-midnight-600: #5d698d;
-  --color-util-colors-midnight-midnight-700: #3e465e;
+  --color-util-colors-midnight-midnight-50: #FBFBFC;
+  --color-util-colors-midnight-midnight-100: #F0F2F5;
+  --color-util-colors-midnight-midnight-200: #DFE1EA;
+  --color-util-colors-midnight-midnight-300: #C6CBD9;
+  --color-util-colors-midnight-midnight-400: #A7AEC5;
+  --color-util-colors-midnight-midnight-500: #828DAD;
+  --color-util-colors-midnight-midnight-600: #5D698D;
+  --color-util-colors-midnight-midnight-700: #3E465E;
 
-  --color-third-party-LangChain: #1c3c3c;
+  --color-third-party-LangChain: #1C3C3C;
   --color-third-party-Langfuse: #000000;
-  --color-third-party-Github: #1b1f24;
-  --color-third-party-Github-tertiary: #1b1f24;
-  --color-third-party-Github-secondary: #1b1f24;
-  --color-third-party-model-bg-openai: #e3e5e8;
-  --color-third-party-model-bg-anthropic: #eeede7;
-  --color-third-party-model-bg-default: #f9fafb;
+  --color-third-party-Github: #1B1F24;
+  --color-third-party-Github-tertiary: #1B1F24;
+  --color-third-party-Github-secondary: #1B1F24;
+  --color-third-party-model-bg-openai: #E3E5E8;
+  --color-third-party-model-bg-anthropic: #EEEDE7;
+  --color-third-party-model-bg-default: #F9FAFB;
 
-  --color-third-party-aws: #141f2e;
-  --color-third-party-aws-alt: #0f1824;
+  --color-third-party-aws: #141F2E;
+  --color-third-party-aws-alt: #0F1824;
 
-  --color-saas-background: #fcfcfd;
-  --color-saas-pricing-grid-bg: #c8ceda80;
+  --color-saas-background: #FCFCFD;
+  --color-saas-pricing-grid-bg: #C8CEDA80;
 
-}
+}
\ No newline at end of file
diff --git a/themes/manual-dark.css b/themes/manual-dark.css
index 881f9d2..6d4c5f3 100644
--- a/themes/manual-dark.css
+++ b/themes/manual-dark.css
@@ -1,55 +1,24 @@
 html[data-theme="dark"] {
-  --color-premium-yearly-tip-text-background: linear-gradient(91deg, #FDB022 2.18%, #F79009 108.79%);
-  --color-premium-badge-background: linear-gradient(95deg, rgba(103, 111, 131, 0.90) 0%, rgba(73, 84, 100, 0.90) 105.58%), var(--util-colors-gray-gray-200, #18222F);
-  --color-premium-text-background: linear-gradient(92deg, rgba(249, 250, 251, 0.95) 0%, rgba(233, 235, 240, 0.95) 97.78%);
-  --color-premium-badge-border-highlight-color: #ffffff33;
-  --color-price-enterprise-background: linear-gradient(180deg, rgba(185, 211, 234, 0.00) 0%, rgba(180, 209, 234, 0.92) 100%);
-  --color-grid-mask-background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, rgba(24, 24, 25, 0.1) 62.25%, rgba(24, 24, 25, 0.10) 100%);
-  --color-chatbot-bg: linear-gradient(180deg,
-      rgba(34, 34, 37, 0.9) 0%,
-      rgba(29, 29, 32, 0.9) 90.48%);
-  --color-chat-bubble-bg: linear-gradient(180deg,
-      rgba(200, 206, 218, 0.08) 0%,
-      rgba(200, 206, 218, 0.02) 100%);
-  --color-chat-input-mask: linear-gradient(180deg,
-      rgba(24, 24, 27, 0.04) 0%,
-      rgba(24, 24, 27, 0.60) 100%);
-  --color-workflow-process-bg: linear-gradient(90deg,
-      rgba(24, 24, 27, 0.25) 0%,
-      rgba(24, 24, 27, 0.04) 100%);
-  --color-workflow-run-failed-bg: linear-gradient(98deg,
-      rgba(240, 68, 56, 0.12) 0%,
-      rgba(0, 0, 0, 0) 26.01%);
-  --color-workflow-batch-failed-bg: linear-gradient(92deg,
-      rgba(240, 68, 56, 0.3) 0%,
-      rgba(0, 0, 0, 0) 100%);
-  --color-marketplace-divider-bg: linear-gradient(90deg,
-      rgba(200, 206, 218, 0.14) 0%,
-      rgba(0, 0, 0, 0) 100%);
-  --color-marketplace-plugin-empty: linear-gradient(180deg,
-      rgba(0, 0, 0, 0) 0%,
-      #222225 100%);
-  --color-toast-success-bg: linear-gradient(92deg,
-      rgba(23, 178, 106, 0.3) 0%,
-      rgba(0, 0, 0, 0) 100%);
-  --color-toast-warning-bg: linear-gradient(92deg,
-      rgba(247, 144, 9, 0.3) 0%,
-      rgba(0, 0, 0, 0) 100%);
-  --color-toast-error-bg: linear-gradient(92deg,
-      rgba(240, 68, 56, 0.3) 0%,
-      rgba(0, 0, 0, 0) 100%);
-  --color-toast-info-bg: linear-gradient(92deg,
-      rgba(11, 165, 236, 0.3) 0%);
-  --color-account-teams-bg: linear-gradient(271deg,
-      rgba(34, 34, 37, 0.9) -0.1%,
-      rgba(29, 29, 32, 0.9) 98.26%);
-  --color-app-detail-bg: linear-gradient(169deg,
-      #1D1D20 1.18%,
-      #222225 99.52%);
-  --color-app-detail-overlay-bg: linear-gradient(270deg,
-      rgba(0, 0, 0, 0.00) 0%,
-      rgba(24, 24, 27, 0.02) 8%,
-      rgba(24, 24, 27, 0.54) 100%);
+  --color-chatbot-bg: linear-gradient(
+    180deg,
+    rgba(34, 34, 37, 0.9) 0%,
+    rgba(29, 29, 32, 0.9) 90.48%
+  );
+  --color-chat-bubble-bg: linear-gradient(
+    180deg,
+    rgba(200, 206, 218, 0.08) 0%,
+    rgba(200, 206, 218, 0.02) 100%
+  );
+  --color-workflow-process-bg: linear-gradient(
+    90deg,
+    rgba(24, 24, 27, 0.25) 0%,
+    rgba(24, 24, 27, 0.04) 100%
+  );
+  --color-account-teams-bg: linear-gradient(
+    271deg,
+    rgba(34, 34, 37, 0.9) -0.1%,
+    rgba(29, 29, 32, 0.9) 98.26%
+  );
   --color-dataset-chunk-process-success-bg: linear-gradient(92deg, rgba(23, 178, 106, 0.30) 0%, rgba(0, 0, 0, 0.00) 100%);
   --color-dataset-chunk-process-error-bg: linear-gradient(92deg, rgba(240, 68, 56, 0.30) 0%, rgba(0, 0, 0, 0.00) 100%);
   --color-dataset-chunk-detail-card-hover-bg: linear-gradient(180deg, #1D1D20 0%, #222225 100%);
@@ -58,8 +27,9 @@
   --color-dataset-option-card-purple-gradient: linear-gradient(90deg, #25242E 0%, #1E1E21 100%);
   --color-dataset-option-card-orange-gradient: linear-gradient(90deg, #2B2322 0%, #1E1E21 100%);
   --color-dataset-chunk-list-mask-bg: linear-gradient(180deg, rgba(34, 34, 37, 0.00) 0%, #222225 100%);
-  --mask-top2bottom-gray-50-to-transparent: linear-gradient(180deg,
-      rgba(24, 24, 27, 0.08) 0%,
-      rgba(0, 0, 0, 0) 100%);
-  --color-line-divider-bg: linear-gradient(90deg, rgba(200, 206, 218, 0.14) 0%, rgba(0, 0, 0, 0) 100%);
+  --mask-top2bottom-gray-50-to-transparent: linear-gradient(
+    180deg,
+    rgba(24, 24, 27, 0.08) 0%,
+    rgba(0, 0, 0, 0) 100%
+  );
 }
diff --git a/themes/manual-light.css b/themes/manual-light.css
index ab6f144..501f9f1 100644
--- a/themes/manual-light.css
+++ b/themes/manual-light.css
@@ -1,55 +1,24 @@
 html[data-theme="light"] {
-  --color-premium-yearly-tip-text-background: linear-gradient(91deg, #F79009 2.18%, #DC6803 108.79%);
-  --color-premium-badge-background: linear-gradient(95deg, rgba(152, 162, 178, 0.90) 0%, rgba(103, 111, 131, 0.90) 105.58%);
-  --color-premium-text-background: linear-gradient(92deg, rgba(252, 252, 253, 0.95) 0%, rgba(242, 244, 247, 0.95) 97.78%);
-  --color-premium-badge-border-highlight-color: #fffffff2;
-  --color-price-enterprise-background: linear-gradient(180deg, rgba(185, 211, 234, 0.00) 0%, rgba(180, 209, 234, 0.92) 100%);
-  --color-grid-mask-background: linear-gradient(0deg, #FFF 0%, rgba(217, 217, 217, 0.10) 62.25%, rgba(217, 217, 217, 0.10) 100%);
-  --color-chatbot-bg: linear-gradient(180deg,
-      rgba(249, 250, 251, 0.9) 0%,
-      rgba(242, 244, 247, 0.9) 90.48%);
-  --color-chat-bubble-bg: linear-gradient(180deg,
-      #fff 0%,
-      rgba(255, 255, 255, 0.6) 100%);
-  --color-chat-input-mask: linear-gradient(180deg,
-      rgba(255, 255, 255, 0.01) 0%,
-      #F2F4F7 100%);
-  --color-workflow-process-bg: linear-gradient(90deg,
-      rgba(200, 206, 218, 0.2) 0%,
-      rgba(200, 206, 218, 0.04) 100%);
-  --color-workflow-run-failed-bg: linear-gradient(98deg,
-      rgba(240, 68, 56, 0.10) 0%,
-      rgba(255, 255, 255, 0) 26.01%);
-  --color-workflow-batch-failed-bg: linear-gradient(92deg,
-      rgba(240, 68, 56, 0.25) 0%,
-      rgba(255, 255, 255, 0) 100%);
-  --color-marketplace-divider-bg: linear-gradient(90deg,
-      rgba(16, 24, 40, 0.08) 0%,
-      rgba(255, 255, 255, 0) 100%);
-  --color-marketplace-plugin-empty: linear-gradient(180deg,
-      rgba(255, 255, 255, 0) 0%,
-      #fcfcfd 100%);
-  --color-toast-success-bg: linear-gradient(92deg,
-      rgba(23, 178, 106, 0.25) 0%,
-      rgba(255, 255, 255, 0) 100%);
-  --color-toast-warning-bg: linear-gradient(92deg,
-      rgba(247, 144, 9, 0.25) 0%,
-      rgba(255, 255, 255, 0) 100%);
-  --color-toast-error-bg: linear-gradient(92deg,
-      rgba(240, 68, 56, 0.25) 0%,
-      rgba(255, 255, 255, 0) 100%);
-  --color-toast-info-bg: linear-gradient(92deg,
-      rgba(11, 165, 236, 0.25) 0%);
-  --color-account-teams-bg: linear-gradient(271deg,
-      rgba(249, 250, 251, 0.9) -0.1%,
-      rgba(242, 244, 247, 0.9) 98.26%);
-  --color-app-detail-bg: linear-gradient(169deg,
-      #F2F4F7 1.18%,
-      #F9FAFB 99.52%);
-  --color-app-detail-overlay-bg: linear-gradient(270deg,
-      rgba(0, 0, 0, 0.00) 0%,
-      rgba(16, 24, 40, 0.01) 8%,
-      rgba(16, 24, 40, 0.18) 100%);
+  --color-chatbot-bg: linear-gradient(
+    180deg,
+    rgba(249, 250, 251, 0.9) 0%,
+    rgba(242, 244, 247, 0.9) 90.48%
+  );
+  --color-chat-bubble-bg: linear-gradient(
+    180deg,
+    #fff 0%,
+    rgba(255, 255, 255, 0.6) 100%
+  );
+  --color-workflow-process-bg: linear-gradient(
+    90deg,
+    rgba(200, 206, 218, 0.2) 0%,
+    rgba(200, 206, 218, 0.04) 100%
+  );
+  --color-account-teams-bg: linear-gradient(
+    271deg,
+    rgba(249, 250, 251, 0.9) -0.1%,
+    rgba(242, 244, 247, 0.9) 98.26%
+  );
   --color-dataset-chunk-process-success-bg: linear-gradient(92deg, rgba(23, 178, 106, 0.25) 0%, rgba(255, 255, 255, 0.00) 100%);
   --color-dataset-chunk-process-error-bg: linear-gradient(92deg, rgba(240, 68, 56, 0.25) 0%, rgba(255, 255, 255, 0.00) 100%);
   --color-dataset-chunk-detail-card-hover-bg: linear-gradient(180deg, #F2F4F7 0%, #F9FAFB 100%);
@@ -58,8 +27,9 @@
   --color-dataset-option-card-purple-gradient: linear-gradient(90deg, #F0EEFA 0%, #F9FAFB 100%);
   --color-dataset-option-card-orange-gradient: linear-gradient(90deg, #F8F2EE 0%, #F9FAFB 100%);
   --color-dataset-chunk-list-mask-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FCFCFD 100%);
-  --mask-top2bottom-gray-50-to-transparent: linear-gradient(180deg,
-      rgba(200, 206, 218, 0.2) 0%,
-      rgba(255, 255, 255, 0) 100%);
-  --color-line-divider-bg: linear-gradient(90deg, rgba(16, 24, 40, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
+  --mask-top2bottom-gray-50-to-transparent: linear-gradient(
+    180deg,
+    rgba(200, 206, 218, 0.2) 0%,
+    rgba(255, 255, 255, 0) 100%
+  );
 }
diff --git a/themes/tailwind-theme-var-define.ts b/themes/tailwind-theme-var-define.ts
index 62c0ed8..ea5f80b 100644
--- a/themes/tailwind-theme-var-define.ts
+++ b/themes/tailwind-theme-var-define.ts
@@ -206,7 +206,6 @@
   'components-badge-bg-red-soft': 'var(--color-components-badge-bg-red-soft)',
   'components-badge-bg-blue-light-soft': 'var(--color-components-badge-bg-blue-light-soft)',
   'components-badge-bg-gray-soft': 'var(--color-components-badge-bg-gray-soft)',
-  'components-badge-bg-dimm': 'var(--color-components-badge-bg-dimm)',
 
   'components-chart-line': 'var(--color-components-chart-line)',
   'components-chart-area-1': 'var(--color-components-chart-area-1)',
@@ -400,6 +399,7 @@
   'background-default-burn': 'var(--color-background-default-burn)',
   'background-overlay-fullscreen': 'var(--color-background-overlay-fullscreen)',
   'background-default-lighter': 'var(--color-background-default-lighter)',
+  'background-account-teams-bg': 'var(--color-account-teams-bg)',
   'background-section': 'var(--color-background-section)',
   'background-interaction-from-bg-1': 'var(--color-background-interaction-from-bg-1)',
   'background-interaction-from-bg-2': 'var(--color-background-interaction-from-bg-2)',
@@ -503,7 +503,6 @@
   'state-base-hover-alt': 'var(--color-state-base-hover-alt)',
   'state-base-handle': 'var(--color-state-base-handle)',
   'state-base-handle-hover': 'var(--color-state-base-handle-hover)',
-  'state-base-hover-subtle': 'var(--color-state-base-hover-subtle)',
 
   'state-accent-hover': 'var(--color-state-accent-hover)',
   'state-accent-active': 'var(--color-state-accent-active)',
diff --git a/types/app.ts b/types/app.ts
index 39f011d..7be1d30 100644
--- a/types/app.ts
+++ b/types/app.ts
@@ -11,7 +11,6 @@
 export enum Theme {
   light = 'light',
   dark = 'dark',
-  system = 'system',
 }
 
 export enum ProviderType {
@@ -26,14 +25,14 @@
 }
 
 export enum AppType {
-  chat = 'chat',
-  completion = 'completion',
+  'chat' = 'chat',
+  'completion' = 'completion',
 }
 
 export enum ModelModeType {
-  chat = 'chat',
-  completion = 'completion',
-  unset = '',
+  'chat' = 'chat',
+  'completion' = 'completion',
+  'unset' = '',
 }
 
 export enum RETRIEVE_TYPE {
@@ -111,9 +110,9 @@
 export type UserInputFormItem = {
   'text-input': TextTypeFormItem
 } | {
-  select: SelectTypeFormItem
+  'select': SelectTypeFormItem
 } | {
-  paragraph: TextTypeFormItem
+  'paragraph': TextTypeFormItem
 }
 
 export type AgentTool = {
@@ -352,13 +351,6 @@
   /** api site url */
   api_base_url: string
   tags: Tag[]
-  workflow?: {
-    id: string
-    created_at: number
-    created_by?: string
-    updated_at: number
-    updated_by?: string
-  }
 }
 
 export type AppSSO = {
diff --git a/types/feature.ts b/types/feature.ts
index 3d7763b..053ce3d 100644
--- a/types/feature.ts
+++ b/types/feature.ts
@@ -24,7 +24,6 @@
   sso_enforced_for_web: boolean
   sso_enforced_for_web_protocol: SSOProtocol | ''
   enable_web_sso_switch_component: boolean
-  enable_marketplace: boolean
   enable_email_code_login: boolean
   enable_email_password_login: boolean
   enable_social_oauth_login: boolean
@@ -40,7 +39,6 @@
   sso_enforced_for_web: false,
   sso_enforced_for_web_protocol: '',
   enable_web_sso_switch_component: false,
-  enable_marketplace: false,
   enable_email_code_login: false,
   enable_email_password_login: false,
   enable_social_oauth_login: false,
diff --git a/types/workflow.ts b/types/workflow.ts
index bd7334a..ee0c1c6 100644
--- a/types/workflow.ts
+++ b/types/workflow.ts
@@ -3,34 +3,11 @@
 import type { TransferMethod } from '@/types/app'
 import type { ErrorHandleTypeEnum } from '@/app/components/workflow/nodes/_base/components/error-handle/types'
 
-export type AgentLogItem = {
-  node_execution_id: string,
-  id: string,
-  node_id: string,
-  parent_id?: string,
-  label: string,
-  data: object, // debug data
-  error?: string,
-  status: string,
-  metadata?: {
-    elapsed_time?: number
-    provider?: string
-    icon?: string
-  },
-}
-
-export type AgentLogItemWithChildren = AgentLogItem & {
-  hasCircle?: boolean
-  children: AgentLogItemWithChildren[]
-}
-
 export type NodeTracing = {
   id: string
   index: number
   predecessor_node_id: string
   node_id: string
-  iteration_id?: string
-  loop_id?: string
   node_type: BlockEnum
   title: string
   inputs: any
@@ -46,28 +23,17 @@
     currency: string
     iteration_id?: string
     iteration_index?: number
-    loop_id?: string
-    loop_index?: number
     parallel_id?: string
     parallel_start_node_id?: string
     parent_parallel_id?: string
     parent_parallel_start_node_id?: string
     parallel_mode_run_id?: string
     iteration_duration_map?: IterationDurationMap
-    loop_duration_map?: LoopDurationMap
     error_strategy?: ErrorHandleTypeEnum
-    agent_log?: AgentLogItem[]
-    tool_info?: {
-      agent_strategy?: string
-      icon?: string
-    }
-    loop_variable_map?: Record<string, any>
   }
   metadata: {
     iterator_length: number
     iterator_index: number
-    loop_length: number
-    loop_index: number
   }
   created_at: number
   created_by: {
@@ -76,24 +42,16 @@
     email: string
   }
   iterDurationMap?: IterationDurationMap
-  loopDurationMap?: LoopDurationMap
   finished_at: number
   extras?: any
   expand?: boolean // for UI
-  details?: NodeTracing[][] // iteration or loop detail
+  details?: NodeTracing[][] // iteration detail
   retryDetail?: NodeTracing[] // retry detail
-  retry_index?: number
-  parallelDetail?: { // parallel detail. if is in parallel, this field will be set
-    isParallelStartNode?: boolean
-    parallelTitle?: string
-    branchTitle?: string
-    children?: NodeTracing[]
-  }
   parallel_id?: string
   parallel_start_node_id?: string
   parent_parallel_id?: string
   parent_parallel_start_node_id?: string
-  agentLog?: AgentLogItemWithChildren[] // agent log
+  retry_index?: number
 }
 
 export type FetchWorkflowDraftResponse = {
@@ -112,28 +70,13 @@
   }
   hash: string
   updated_at: number
-  updated_by: {
-    id: string
-    name: string
-    email: string
-  },
   tool_published: boolean
   environment_variables?: EnvironmentVariable[]
   conversation_variables?: ConversationVariable[]
   version: string
-  marked_name: string
-  marked_comment: string
 }
 
 export type VersionHistory = FetchWorkflowDraftResponse
-
-export type FetchWorkflowDraftPageParams = {
-  appId: string
-  initialPage: number
-  limit: number
-  userId?: string
-  namedOnly?: boolean
-}
 
 export type FetchWorkflowDraftPageResponse = {
   items: VersionHistory[]
@@ -185,7 +128,18 @@
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
+  data: {
+    id: string
+    node_id: string
+    iteration_id?: string
+    parallel_run_id?: string
+    node_type: string
+    index: number
+    predecessor_node_id?: string
+    inputs: any
+    created_at: number
+    extras?: any
+  }
 }
 
 export type FileResponse = {
@@ -197,70 +151,126 @@
   transfer_method: TransferMethod
   type: string
   url: string
-  upload_file_id: string
 }
 
 export type NodeFinishedResponse = {
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
+  data: {
+    id: string
+    node_id: string
+    iteration_id?: string
+    node_type: string
+    index: number
+    predecessor_node_id?: string
+    inputs: any
+    process_data: any
+    outputs: any
+    status: string
+    error: string
+    elapsed_time: number
+    execution_metadata: {
+      total_tokens: number
+      total_price: number
+      currency: string
+      parallel_id?: string
+      parallel_start_node_id?: string
+      iteration_index?: number
+      iteration_id?: string
+      parallel_mode_run_id: string
+      error_strategy?: ErrorHandleTypeEnum
+    }
+    created_at: number
+    files?: FileResponse[]
+    retry_index?: number
+  }
 }
 
 export type IterationStartedResponse = {
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
+  data: {
+    id: string
+    node_id: string
+    metadata: {
+      iterator_length: number
+      iteration_id: string
+      iteration_index: number
+    }
+    created_at: number
+    extras?: any
+  }
 }
 
 export type IterationNextResponse = {
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
+  data: {
+    id: string
+    node_id: string
+    index: number
+    output: any
+    extras?: any
+    created_at: number
+    parallel_mode_run_id: string
+    execution_metadata: {
+      parallel_id?: string
+      iteration_index: number
+      parallel_mode_run_id?: string
+    }
+    duration?: number
+  }
 }
 
 export type IterationFinishedResponse = {
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
-}
-
-export type LoopStartedResponse = {
-  task_id: string
-  workflow_run_id: string
-  event: string
-  data: NodeTracing
-}
-
-export type LoopNextResponse = {
-  task_id: string
-  workflow_run_id: string
-  event: string
-  data: NodeTracing
-}
-
-export type LoopFinishedResponse = {
-  task_id: string
-  workflow_run_id: string
-  event: string
-  data: NodeTracing
+  data: {
+    id: string
+    node_id: string
+    outputs: any
+    extras?: any
+    status: string
+    created_at: number
+    error: string
+    execution_metadata: {
+      parallel_id?: string
+    }
+  }
 }
 
 export type ParallelBranchStartedResponse = {
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
+  data: {
+    parallel_id: string
+    parallel_start_node_id: string
+    parent_parallel_id: string
+    parent_parallel_start_node_id: string
+    iteration_id?: string
+    created_at: number
+  }
 }
 
 export type ParallelBranchFinishedResponse = {
   task_id: string
   workflow_run_id: string
   event: string
-  data: NodeTracing
+  data: {
+    parallel_id: string
+    parallel_start_node_id: string
+    parent_parallel_id: string
+    parent_parallel_start_node_id: string
+    iteration_id?: string
+    status: string
+    created_at: number
+    error: string
+  }
 }
 
 export type TextChunkResponse = {
@@ -279,12 +289,6 @@
   data: {
     text: string
   }
-}
-
-export type AgentLogResponse = {
-  task_id: string
-  event: string
-  data: AgentLogItemWithChildren
 }
 
 export type WorkflowRunHistory = {
@@ -335,20 +339,7 @@
 }
 
 export type IterationDurationMap = Record<string, number>
-export type LoopDurationMap = Record<string, number>
-export type LoopVariableMap = Record<string, any>
 
 export type WorkflowConfigResponse = {
   parallel_depth_limit: number
-}
-
-export type PublishWorkflowParams = {
-  title: string
-  releaseNotes: string
-}
-
-export type UpdateWorkflowParams = {
-  workflowId: string
-  title: string
-  releaseNotes: string
 }
diff --git a/typography.js b/typography.js
index 92bea1e..706e456 100644
--- a/typography.js
+++ b/typography.js
@@ -38,15 +38,15 @@
       '--tw-prose-invert-td-borders': theme('colors.zinc.700'),
 
       // Base
-      'color': 'var(--tw-prose-body)',
-      'fontSize': theme('fontSize.sm')[0],
-      'lineHeight': theme('lineHeight.7'),
+      color: 'var(--tw-prose-body)',
+      fontSize: theme('fontSize.sm')[0],
+      lineHeight: theme('lineHeight.7'),
 
       // Layout
       '> *': {
-        'maxWidth': theme('maxWidth.2xl'),
-        'marginLeft': 'auto',
-        'marginRight': 'auto',
+        maxWidth: theme('maxWidth.2xl'),
+        marginLeft: 'auto',
+        marginRight: 'auto',
         '@screen lg': {
           maxWidth: theme('maxWidth.3xl'),
           marginLeft: `calc(50% - min(50%, ${theme('maxWidth.lg')}))`,
@@ -55,7 +55,7 @@
       },
 
       // Text
-      'p': {
+      p: {
         marginTop: theme('spacing.6'),
         marginBottom: theme('spacing.6'),
       },
@@ -65,7 +65,7 @@
       },
 
       // Lists
-      'ol': {
+      ol: {
         listStyleType: 'decimal',
         marginTop: theme('spacing.5'),
         marginBottom: theme('spacing.5'),
@@ -98,13 +98,13 @@
       'ol[type="1"]': {
         listStyleType: 'decimal',
       },
-      'ul': {
+      ul: {
         listStyleType: 'disc',
         marginTop: theme('spacing.5'),
         marginBottom: theme('spacing.5'),
         paddingLeft: '1.625rem',
       },
-      'li': {
+      li: {
         marginTop: theme('spacing.2'),
         marginBottom: theme('spacing.2'),
       },
@@ -140,14 +140,14 @@
       },
 
       // Horizontal rules
-      'hr': {
-        'borderColor': 'var(--tw-prose-hr)',
-        'borderTopWidth': 1,
-        'marginTop': theme('spacing.16'),
-        'marginBottom': theme('spacing.16'),
-        'maxWidth': 'none',
-        'marginLeft': `calc(-1 * ${theme('spacing.4')})`,
-        'marginRight': `calc(-1 * ${theme('spacing.4')})`,
+      hr: {
+        borderColor: 'var(--tw-prose-hr)',
+        borderTopWidth: 1,
+        marginTop: theme('spacing.16'),
+        marginBottom: theme('spacing.16'),
+        maxWidth: 'none',
+        marginLeft: `calc(-1 * ${theme('spacing.4')})`,
+        marginRight: `calc(-1 * ${theme('spacing.4')})`,
         '@screen sm': {
           marginLeft: `calc(-1 * ${theme('spacing.6')})`,
           marginRight: `calc(-1 * ${theme('spacing.6')})`,
@@ -159,7 +159,7 @@
       },
 
       // Quotes
-      'blockquote': {
+      blockquote: {
         fontWeight: '500',
         fontStyle: 'italic',
         color: 'var(--tw-prose-quotes)',
@@ -178,14 +178,14 @@
       },
 
       // Headings
-      'h1': {
+      h1: {
         color: 'var(--tw-prose-headings)',
         fontWeight: '700',
         fontSize: theme('fontSize.2xl')[0],
         ...theme('fontSize.2xl')[1],
         marginBottom: theme('spacing.2'),
       },
-      'h2': {
+      h2: {
         color: 'var(--tw-prose-headings)',
         fontWeight: '600',
         fontSize: theme('fontSize.lg')[0],
@@ -193,7 +193,7 @@
         marginTop: theme('spacing.16'),
         marginBottom: theme('spacing.2'),
       },
-      'h3': {
+      h3: {
         color: 'var(--tw-prose-headings)',
         fontSize: theme('fontSize.base')[0],
         ...theme('fontSize.base')[1],
@@ -211,7 +211,7 @@
         marginTop: '0',
         marginBottom: '0',
       },
-      'figcaption': {
+      figcaption: {
         color: 'var(--tw-prose-captions)',
         fontSize: theme('fontSize.xs')[0],
         ...theme('fontSize.xs')[1],
@@ -219,7 +219,7 @@
       },
 
       // Tables
-      'table': {
+      table: {
         width: '100%',
         tableLayout: 'auto',
         textAlign: 'left',
@@ -227,7 +227,7 @@
         marginBottom: theme('spacing.8'),
         lineHeight: theme('lineHeight.6'),
       },
-      'thead': {
+      thead: {
         borderBottomWidth: '1px',
         borderBottomColor: 'var(--tw-prose-th-borders)',
       },
@@ -255,7 +255,7 @@
       'tbody td': {
         verticalAlign: 'baseline',
       },
-      'tfoot': {
+      tfoot: {
         borderTopWidth: '1px',
         borderTopColor: 'var(--tw-prose-th-borders)',
       },
@@ -276,13 +276,13 @@
       },
 
       // Inline elements
-      'a': {
-        'color': 'var(--tw-prose-links)',
-        'textDecoration': 'underline transparent',
-        'fontWeight': '500',
-        'transitionProperty': 'color, text-decoration-color',
-        'transitionDuration': theme('transitionDuration.DEFAULT'),
-        'transitionTimingFunction': theme('transitionTimingFunction.DEFAULT'),
+      a: {
+        color: 'var(--tw-prose-links)',
+        textDecoration: 'underline transparent',
+        fontWeight: '500',
+        transitionProperty: 'color, text-decoration-color',
+        transitionDuration: theme('transitionDuration.DEFAULT'),
+        transitionTimingFunction: theme('transitionTimingFunction.DEFAULT'),
         '&:hover': {
           color: 'var(--tw-prose-links-hover)',
           textDecorationColor: 'var(--tw-prose-links-underline)',
@@ -291,14 +291,14 @@
       ':is(h1, h2, h3) a': {
         fontWeight: 'inherit',
       },
-      'strong': {
+      strong: {
         color: 'var(--tw-prose-bold)',
         fontWeight: '600',
       },
       ':is(a, blockquote, thead th) strong': {
         color: 'inherit',
       },
-      'code': {
+      code: {
         color: 'var(--tw-prose-code)',
         borderRadius: theme('borderRadius.lg'),
         paddingTop: theme('padding.1'),
diff --git a/utils/app-redirection.ts b/utils/app-redirection.ts
index 9327312..534b019 100644
--- a/utils/app-redirection.ts
+++ b/utils/app-redirection.ts
@@ -1,8 +1,6 @@
-import type { AppMode } from '@/types/app'
-
 export const getRedirection = (
   isCurrentWorkspaceEditor: boolean,
-  app: { id: string, mode: AppMode },
+  app: any,
   redirectionFunc: (href: string) => void,
 ) => {
   if (!isCurrentWorkspaceEditor) {
diff --git a/utils/classnames.spec.ts b/utils/classnames.spec.ts
index a0b4068..268981d 100644
--- a/utils/classnames.spec.ts
+++ b/utils/classnames.spec.ts
@@ -18,7 +18,6 @@
   })
 
   test('tailwind-merge', () => {
-    /* eslint-disable tailwindcss/classnames-order */
     expect(cn('p-0')).toBe('p-0')
     expect(cn('text-right text-center text-left')).toBe('text-left')
     expect(cn('pl-4 p-8')).toBe('p-8')
diff --git a/utils/format.spec.ts b/utils/format.spec.ts
index ab1c5c1..f349efa 100644
--- a/utils/format.spec.ts
+++ b/utils/format.spec.ts
@@ -1,5 +1,4 @@
-import { downloadFile, formatFileSize, formatNumber, formatTime } from './format'
-
+import { formatFileSize, formatNumber, formatTime } from './format'
 describe('formatNumber', () => {
   test('should correctly format integers', () => {
     expect(formatNumber(1234567)).toBe('1,234,567')
@@ -58,47 +57,5 @@
   })
   test('should handle large numbers', () => {
     expect(formatTime(7200)).toBe('2.00 h')
-  })
-})
-describe('downloadFile', () => {
-  test('should create a link and trigger a download correctly', () => {
-    // Mock data
-    const blob = new Blob(['test content'], { type: 'text/plain' })
-    const fileName = 'test-file.txt'
-    const mockUrl = 'blob:mockUrl'
-
-    // Mock URL.createObjectURL
-    const createObjectURLMock = jest.fn().mockReturnValue(mockUrl)
-    const revokeObjectURLMock = jest.fn()
-    Object.defineProperty(window.URL, 'createObjectURL', { value: createObjectURLMock })
-    Object.defineProperty(window.URL, 'revokeObjectURL', { value: revokeObjectURLMock })
-
-    // Mock createElement and appendChild
-    const mockLink = {
-      href: '',
-      download: '',
-      click: jest.fn(),
-      remove: jest.fn(),
-    }
-    const createElementMock = jest.spyOn(document, 'createElement').mockReturnValue(mockLink as any)
-    const appendChildMock = jest.spyOn(document.body, 'appendChild').mockImplementation((node: Node) => {
-      return node
-    })
-
-    // Call the function
-    downloadFile({ data: blob, fileName })
-
-    // Assertions
-    expect(createObjectURLMock).toHaveBeenCalledWith(blob)
-    expect(createElementMock).toHaveBeenCalledWith('a')
-    expect(mockLink.href).toBe(mockUrl)
-    expect(mockLink.download).toBe(fileName)
-    expect(appendChildMock).toHaveBeenCalledWith(mockLink)
-    expect(mockLink.click).toHaveBeenCalled()
-    expect(mockLink.remove).toHaveBeenCalled()
-    expect(revokeObjectURLMock).toHaveBeenCalledWith(mockUrl)
-
-    // Clean up mocks
-    jest.restoreAllMocks()
   })
 })
diff --git a/utils/format.ts b/utils/format.ts
index 720c8f6..1eeb6af 100644
--- a/utils/format.ts
+++ b/utils/format.ts
@@ -1,8 +1,8 @@
-/**
- * Formats a number with comma separators.
- * @example formatNumber(1234567) will return '1,234,567'
- * @example formatNumber(1234567.89) will return '1,234,567.89'
- */
+/*
+* Formats a number with comma separators.
+ formatNumber(1234567) will return '1,234,567'
+ formatNumber(1234567.89) will return '1,234,567.89'
+*/
 export const formatNumber = (num: number | string) => {
   if (!num)
     return num
@@ -11,48 +11,26 @@
   return parts.join('.')
 }
 
-/**
- * Format file size into standard string format.
- * @param fileSize file size (Byte)
- * @example formatFileSize(1024) will return '1.00KB'
- * @example formatFileSize(1024 * 1024) will return '1.00MB'
- */
-export const formatFileSize = (fileSize: number) => {
-  if (!fileSize)
-    return fileSize
+export const formatFileSize = (num: number) => {
+  if (!num)
+    return num
   const units = ['', 'K', 'M', 'G', 'T', 'P']
   let index = 0
-  while (fileSize >= 1024 && index < units.length) {
-    fileSize = fileSize / 1024
+  while (num >= 1024 && index < units.length) {
+    num = num / 1024
     index++
   }
-  return `${fileSize.toFixed(2)}${units[index]}B`
+  return `${num.toFixed(2)}${units[index]}B`
 }
 
-/**
- * Format time into standard string format.
- * @example formatTime(60) will return '1.00 min'
- * @example formatTime(60 * 60) will return '1.00 h'
- */
-export const formatTime = (seconds: number) => {
-  if (!seconds)
-    return seconds
+export const formatTime = (num: number) => {
+  if (!num)
+    return num
   const units = ['sec', 'min', 'h']
   let index = 0
-  while (seconds >= 60 && index < units.length) {
-    seconds = seconds / 60
+  while (num >= 60 && index < units.length) {
+    num = num / 60
     index++
   }
-  return `${seconds.toFixed(2)} ${units[index]}`
-}
-
-export const downloadFile = ({ data, fileName }: { data: Blob; fileName: string }) => {
-  const url = window.URL.createObjectURL(data)
-  const a = document.createElement('a')
-  a.href = url
-  a.download = fileName
-  document.body.appendChild(a)
-  a.click()
-  a.remove()
-  window.URL.revokeObjectURL(url)
+  return `${num.toFixed(2)} ${units[index]}`
 }
diff --git a/utils/index.ts b/utils/index.ts
index 263d415..cabad6c 100644
--- a/utils/index.ts
+++ b/utils/index.ts
@@ -55,47 +55,3 @@
     return [null, res]
   }
 }
-
-export const correctModelProvider = (provider: string) => {
-  if (!provider)
-    return ''
-
-  if (provider.includes('/'))
-    return provider
-
-  if (['google'].includes(provider))
-    return 'langgenius/gemini/google'
-
-  return `langgenius/${provider}/${provider}`
-}
-
-export const correctToolProvider = (provider: string, toolInCollectionList?: boolean) => {
-  if (!provider)
-    return ''
-
-  if (toolInCollectionList)
-    return provider
-
-  if (provider.includes('/'))
-    return provider
-
-  if (['stepfun', 'jina', 'siliconflow', 'gitee_ai'].includes(provider))
-    return `langgenius/${provider}_tool/${provider}`
-
-  return `langgenius/${provider}/${provider}`
-}
-
-export const canFindTool = (providerId: string, oldToolId?: string) => {
-  return providerId === oldToolId
-    || providerId === `langgenius/${oldToolId}/${oldToolId}`
-    || providerId === `langgenius/${oldToolId}_tool/${oldToolId}`
-}
-
-export const removeSpecificQueryParam = (key: string | string[]) => {
-  const url = new URL(window.location.href)
-  if (Array.isArray(key))
-    key.forEach(k => url.searchParams.delete(k))
-  else
-    url.searchParams.delete(key)
-  window.history.replaceState(null, '', url.toString())
-}
diff --git a/utils/model-config.ts b/utils/model-config.ts
index 74d8848..a00bcfb 100644
--- a/utils/model-config.ts
+++ b/utils/model-config.ts
@@ -109,7 +109,10 @@
 export const promptVariablesToUserInputsForm = (promptVariables: PromptVariable[]) => {
   const userInputs: UserInputFormItem[] = []
   promptVariables.filter(({ key, name }) => {
-    return key && key.trim() && name && name.trim()
+    if (key && key.trim() && name && name.trim())
+      return true
+
+    return false
   }).forEach((item: any) => {
     if (item.type === 'string' || item.type === 'paragraph') {
       userInputs.push({
diff --git a/utils/timezone.json b/utils/timezone.json
index 80e07ac..f5e578d 100644
--- a/utils/timezone.json
+++ b/utils/timezone.json
@@ -1271,4 +1271,4 @@
 		"name": "+14:00 Line Islands Time - Kiritimati",
 		"value": "Pacific/Kiritimati"
 	}
-]
+]
\ No newline at end of file
diff --git a/utils/var.ts b/utils/var.ts
index 06cb43c..7035933 100644
--- a/utils/var.ts
+++ b/utils/var.ts
@@ -7,7 +7,7 @@
 } from '@/app/components/base/prompt-editor/constants'
 import { InputVarType } from '@/app/components/workflow/types'
 
-const otherAllowedRegex = /^\w+$/
+const otherAllowedRegex = /^[a-zA-Z0-9_]+$/
 
 export const getNewVar = (key: string, type: string) => {
   const { ...rest } = VAR_ITEM_TEMPLATE
@@ -56,7 +56,7 @@
     return 'tooLong'
 
   if (otherAllowedRegex.test(key)) {
-    if (/\d/.test(key[0]))
+    if (/[0-9]/.test(key[0]))
       return 'notStartWithNumber'
 
     return true
@@ -82,7 +82,7 @@
   return { isValid, errorKey, errorMessageKey }
 }
 
-const varRegex = /\{\{([a-zA-Z_]\w*)\}\}/g
+const varRegex = /\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g
 export const getVars = (value: string) => {
   if (!value)
     return []
@@ -104,7 +104,3 @@
   })
   return res
 }
-
-// Set the value of basePath
-// example: /dify
-export const basePath = ''
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..fdeac2e
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,13310 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@adobe/css-tools@^4.4.0":
+  version "4.4.0"
+  resolved "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.4.0.tgz"
+  integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==
+
+"@alloc/quick-lru@^5.2.0":
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz"
+  integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
+
+"@ampproject/remapping@^2.2.0":
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz"
+  integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
+  dependencies:
+    "@jridgewell/gen-mapping" "^0.3.5"
+    "@jridgewell/trace-mapping" "^0.3.24"
+
+"@antfu/eslint-config-basic@0.36.0":
+  version "0.36.0"
+  resolved "https://registry.npmmirror.com/@antfu/eslint-config-basic/-/eslint-config-basic-0.36.0.tgz"
+  integrity sha512-2b3ZB7pO00nxAERDXo82iYPjLQ4l/AOMm0CTKmGmqWbN3RB33EIQWzYheZRboSbAVzWpI1/3rg/Gu+7xYVMYHA==
+  dependencies:
+    eslint-plugin-antfu "0.36.0"
+    eslint-plugin-eslint-comments "^3.2.0"
+    eslint-plugin-html "^7.1.0"
+    eslint-plugin-import "^2.27.5"
+    eslint-plugin-jsonc "^2.6.0"
+    eslint-plugin-markdown "^3.0.0"
+    eslint-plugin-n "^15.6.1"
+    eslint-plugin-no-only-tests "^3.1.0"
+    eslint-plugin-promise "^6.1.1"
+    eslint-plugin-unicorn "^45.0.2"
+    eslint-plugin-unused-imports "^2.0.0"
+    eslint-plugin-yml "^1.5.0"
+    jsonc-eslint-parser "^2.1.0"
+    yaml-eslint-parser "^1.1.0"
+
+"@antfu/eslint-config-ts@0.36.0":
+  version "0.36.0"
+  resolved "https://registry.npmmirror.com/@antfu/eslint-config-ts/-/eslint-config-ts-0.36.0.tgz"
+  integrity sha512-I/h2ZOPBIqgnALG2fQp6lOBsOXk51QwLDumyEayt7GRnitdP4o9D8i+YAPowrMJ8M3kU7puQUyhWuJmZLgo57A==
+  dependencies:
+    "@antfu/eslint-config-basic" "0.36.0"
+    "@typescript-eslint/eslint-plugin" "^5.53.0"
+    "@typescript-eslint/parser" "^5.53.0"
+    eslint-plugin-jest "^27.2.1"
+
+"@antfu/eslint-config-vue@0.36.0":
+  version "0.36.0"
+  resolved "https://registry.npmmirror.com/@antfu/eslint-config-vue/-/eslint-config-vue-0.36.0.tgz"
+  integrity sha512-YuTcNlVlrEWX1ESOiPgr+e2Walfd6xt3Toa0kAKJxq2aBS1RWqIi1l3zIVGCHaX72lOrSXNmQ7bryaZyGADGDg==
+  dependencies:
+    "@antfu/eslint-config-basic" "0.36.0"
+    "@antfu/eslint-config-ts" "0.36.0"
+    eslint-plugin-vue "^9.9.0"
+    local-pkg "^0.4.3"
+
+"@antfu/eslint-config@^0.36.0":
+  version "0.36.0"
+  resolved "https://registry.npmmirror.com/@antfu/eslint-config/-/eslint-config-0.36.0.tgz"
+  integrity sha512-otZ9PfKRT3gnGMMX1gS8URTNPMPCZ69K5jHZvLkYojru0gLBZ3IO5fCvjEZpWqOyIUHtAgg6NWELf1DbEF+NDw==
+  dependencies:
+    "@antfu/eslint-config-vue" "0.36.0"
+    "@typescript-eslint/eslint-plugin" "^5.53.0"
+    "@typescript-eslint/parser" "^5.53.0"
+    eslint-plugin-eslint-comments "^3.2.0"
+    eslint-plugin-html "^7.1.0"
+    eslint-plugin-import "^2.27.5"
+    eslint-plugin-jsonc "^2.6.0"
+    eslint-plugin-n "^15.6.1"
+    eslint-plugin-promise "^6.1.1"
+    eslint-plugin-unicorn "^45.0.2"
+    eslint-plugin-vue "^9.9.0"
+    eslint-plugin-yml "^1.5.0"
+    jsonc-eslint-parser "^2.1.0"
+    yaml-eslint-parser "^1.1.0"
+
+"@antfu/install-pkg@^0.4.1":
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/@antfu/install-pkg/-/install-pkg-0.4.1.tgz"
+  integrity sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==
+  dependencies:
+    package-manager-detector "^0.2.0"
+    tinyexec "^0.3.0"
+
+"@antfu/utils@^0.7.10":
+  version "0.7.10"
+  resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.10.tgz"
+  integrity sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.25.9":
+  version "7.26.2"
+  resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz"
+  integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.25.9"
+    js-tokens "^4.0.0"
+    picocolors "^1.0.0"
+
+"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0":
+  version "7.26.2"
+  resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.2.tgz"
+  integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==
+
+"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.18.9", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0":
+  version "7.25.2"
+  resolved "https://registry.npmmirror.com/@babel/core/-/core-7.25.2.tgz"
+  integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==
+  dependencies:
+    "@ampproject/remapping" "^2.2.0"
+    "@babel/code-frame" "^7.24.7"
+    "@babel/generator" "^7.25.0"
+    "@babel/helper-compilation-targets" "^7.25.2"
+    "@babel/helper-module-transforms" "^7.25.2"
+    "@babel/helpers" "^7.25.0"
+    "@babel/parser" "^7.25.0"
+    "@babel/template" "^7.25.0"
+    "@babel/traverse" "^7.25.2"
+    "@babel/types" "^7.25.2"
+    convert-source-map "^2.0.0"
+    debug "^4.1.0"
+    gensync "^1.0.0-beta.2"
+    json5 "^2.2.3"
+    semver "^6.3.1"
+
+"@babel/generator@^7.25.0", "@babel/generator@^7.25.9", "@babel/generator@^7.7.2":
+  version "7.26.2"
+  resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.2.tgz"
+  integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==
+  dependencies:
+    "@babel/parser" "^7.26.2"
+    "@babel/types" "^7.26.0"
+    "@jridgewell/gen-mapping" "^0.3.5"
+    "@jridgewell/trace-mapping" "^0.3.25"
+    jsesc "^3.0.2"
+
+"@babel/helper-annotate-as-pure@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz"
+  integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
+  dependencies:
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz"
+  integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==
+  dependencies:
+    "@babel/traverse" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.2", "@babel/helper-compilation-targets@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz"
+  integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==
+  dependencies:
+    "@babel/compat-data" "^7.25.9"
+    "@babel/helper-validator-option" "^7.25.9"
+    browserslist "^4.24.0"
+    lru-cache "^5.1.1"
+    semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz"
+  integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-member-expression-to-functions" "^7.25.9"
+    "@babel/helper-optimise-call-expression" "^7.25.9"
+    "@babel/helper-replace-supers" "^7.25.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+    semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz"
+  integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    regexpu-core "^6.1.1"
+    semver "^6.3.1"
+
+"@babel/helper-define-polyfill-provider@^0.6.2":
+  version "0.6.2"
+  resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz"
+  integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.22.6"
+    "@babel/helper-plugin-utils" "^7.22.5"
+    debug "^4.1.1"
+    lodash.debounce "^4.0.8"
+    resolve "^1.14.2"
+
+"@babel/helper-member-expression-to-functions@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz"
+  integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==
+  dependencies:
+    "@babel/traverse" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-module-imports@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz"
+  integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
+  dependencies:
+    "@babel/traverse" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-module-transforms@^7.25.2", "@babel/helper-module-transforms@^7.25.9":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz"
+  integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==
+  dependencies:
+    "@babel/helper-module-imports" "^7.25.9"
+    "@babel/helper-validator-identifier" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/helper-optimise-call-expression@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz"
+  integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==
+  dependencies:
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz"
+  integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==
+
+"@babel/helper-remap-async-to-generator@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz"
+  integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-wrap-function" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/helper-replace-supers@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz"
+  integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==
+  dependencies:
+    "@babel/helper-member-expression-to-functions" "^7.25.9"
+    "@babel/helper-optimise-call-expression" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/helper-simple-access@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz"
+  integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==
+  dependencies:
+    "@babel/traverse" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz"
+  integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==
+  dependencies:
+    "@babel/traverse" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/helper-string-parser@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz"
+  integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
+
+"@babel/helper-validator-identifier@^7.19.1", "@babel/helper-validator-identifier@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz"
+  integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
+
+"@babel/helper-validator-option@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz"
+  integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
+
+"@babel/helper-wrap-function@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz"
+  integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==
+  dependencies:
+    "@babel/template" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/helpers@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.25.0.tgz"
+  integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==
+  dependencies:
+    "@babel/template" "^7.25.0"
+    "@babel/types" "^7.25.0"
+
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3", "@babel/parser@^7.25.4", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2":
+  version "7.26.2"
+  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz"
+  integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==
+  dependencies:
+    "@babel/types" "^7.26.0"
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz"
+  integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz"
+  integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz"
+  integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz"
+  integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+    "@babel/plugin-transform-optional-chaining" "^7.25.9"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz"
+  integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+  version "7.21.0-placeholder-for-preset-env.2"
+  resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz"
+  integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
+
+"@babel/plugin-syntax-async-generators@^7.8.4":
+  version "7.8.4"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"
+  integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-bigint@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz"
+  integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.8.3":
+  version "7.12.13"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz"
+  integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-dynamic-import@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz"
+  integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-import-assertions@^7.24.1", "@babel/plugin-syntax-import-assertions@^7.26.0":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz"
+  integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-syntax-import-attributes@^7.26.0":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz"
+  integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-syntax-import-meta@^7.8.3":
+  version "7.10.4"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz"
+  integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-json-strings@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"
+  integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-jsx@^7.25.9", "@babel/plugin-syntax-jsx@^7.7.2":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz"
+  integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
+  version "7.10.4"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz"
+  integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz"
+  integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.8.3":
+  version "7.10.4"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz"
+  integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-object-rest-spread@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"
+  integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"
+  integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-chaining@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz"
+  integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-top-level-await@^7.8.3":
+  version "7.14.5"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz"
+  integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-typescript@^7.25.9", "@babel/plugin-syntax-typescript@^7.7.2":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz"
+  integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz"
+  integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-arrow-functions@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz"
+  integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-async-generator-functions@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz"
+  integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-remap-async-to-generator" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/plugin-transform-async-to-generator@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz"
+  integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==
+  dependencies:
+    "@babel/helper-module-imports" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-remap-async-to-generator" "^7.25.9"
+
+"@babel/plugin-transform-block-scoped-functions@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz"
+  integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-block-scoping@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz"
+  integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-class-properties@^7.24.1", "@babel/plugin-transform-class-properties@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz"
+  integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-class-static-block@^7.26.0":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz"
+  integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-classes@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz"
+  integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-compilation-targets" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-replace-supers" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+    globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz"
+  integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/template" "^7.25.9"
+
+"@babel/plugin-transform-destructuring@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz"
+  integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-dotall-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz"
+  integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-duplicate-keys@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz"
+  integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz"
+  integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-dynamic-import@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz"
+  integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-exponentiation-operator@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz"
+  integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==
+  dependencies:
+    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-export-namespace-from@^7.24.1", "@babel/plugin-transform-export-namespace-from@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz"
+  integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-for-of@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz"
+  integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+
+"@babel/plugin-transform-function-name@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz"
+  integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/plugin-transform-json-strings@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz"
+  integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-literals@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz"
+  integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-logical-assignment-operators@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz"
+  integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-member-expression-literals@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz"
+  integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-modules-amd@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz"
+  integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-modules-commonjs@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz"
+  integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-simple-access" "^7.25.9"
+
+"@babel/plugin-transform-modules-systemjs@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz"
+  integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-validator-identifier" "^7.25.9"
+    "@babel/traverse" "^7.25.9"
+
+"@babel/plugin-transform-modules-umd@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz"
+  integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz"
+  integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-new-target@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz"
+  integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz"
+  integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-numeric-separator@^7.24.1", "@babel/plugin-transform-numeric-separator@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz"
+  integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-object-rest-spread@^7.24.1", "@babel/plugin-transform-object-rest-spread@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz"
+  integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/plugin-transform-parameters" "^7.25.9"
+
+"@babel/plugin-transform-object-super@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz"
+  integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-replace-supers" "^7.25.9"
+
+"@babel/plugin-transform-optional-catch-binding@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz"
+  integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-optional-chaining@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz"
+  integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+
+"@babel/plugin-transform-parameters@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz"
+  integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-private-methods@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz"
+  integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-private-property-in-object@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz"
+  integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-create-class-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-property-literals@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz"
+  integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-react-display-name@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz"
+  integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-react-jsx-development@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz"
+  integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==
+  dependencies:
+    "@babel/plugin-transform-react-jsx" "^7.25.9"
+
+"@babel/plugin-transform-react-jsx@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz"
+  integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-module-imports" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/plugin-syntax-jsx" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/plugin-transform-react-pure-annotations@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz"
+  integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-regenerator@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz"
+  integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    regenerator-transform "^0.15.2"
+
+"@babel/plugin-transform-regexp-modifiers@^7.26.0":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz"
+  integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-reserved-words@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz"
+  integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-runtime@^7.24.3":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz"
+  integrity sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==
+  dependencies:
+    "@babel/helper-module-imports" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    babel-plugin-polyfill-corejs2 "^0.4.10"
+    babel-plugin-polyfill-corejs3 "^0.10.6"
+    babel-plugin-polyfill-regenerator "^0.6.1"
+    semver "^6.3.1"
+
+"@babel/plugin-transform-shorthand-properties@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz"
+  integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-spread@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz"
+  integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+
+"@babel/plugin-transform-sticky-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz"
+  integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-template-literals@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz"
+  integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-typeof-symbol@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz"
+  integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-typescript@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz"
+  integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.25.9"
+    "@babel/helper-create-class-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
+    "@babel/plugin-syntax-typescript" "^7.25.9"
+
+"@babel/plugin-transform-unicode-escapes@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz"
+  integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-unicode-property-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz"
+  integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-unicode-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz"
+  integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/plugin-transform-unicode-sets-regex@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz"
+  integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/preset-env@^7.24.4":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.26.0.tgz"
+  integrity sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==
+  dependencies:
+    "@babel/compat-data" "^7.26.0"
+    "@babel/helper-compilation-targets" "^7.25.9"
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-validator-option" "^7.25.9"
+    "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9"
+    "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9"
+    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9"
+    "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+    "@babel/plugin-syntax-import-assertions" "^7.26.0"
+    "@babel/plugin-syntax-import-attributes" "^7.26.0"
+    "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+    "@babel/plugin-transform-arrow-functions" "^7.25.9"
+    "@babel/plugin-transform-async-generator-functions" "^7.25.9"
+    "@babel/plugin-transform-async-to-generator" "^7.25.9"
+    "@babel/plugin-transform-block-scoped-functions" "^7.25.9"
+    "@babel/plugin-transform-block-scoping" "^7.25.9"
+    "@babel/plugin-transform-class-properties" "^7.25.9"
+    "@babel/plugin-transform-class-static-block" "^7.26.0"
+    "@babel/plugin-transform-classes" "^7.25.9"
+    "@babel/plugin-transform-computed-properties" "^7.25.9"
+    "@babel/plugin-transform-destructuring" "^7.25.9"
+    "@babel/plugin-transform-dotall-regex" "^7.25.9"
+    "@babel/plugin-transform-duplicate-keys" "^7.25.9"
+    "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9"
+    "@babel/plugin-transform-dynamic-import" "^7.25.9"
+    "@babel/plugin-transform-exponentiation-operator" "^7.25.9"
+    "@babel/plugin-transform-export-namespace-from" "^7.25.9"
+    "@babel/plugin-transform-for-of" "^7.25.9"
+    "@babel/plugin-transform-function-name" "^7.25.9"
+    "@babel/plugin-transform-json-strings" "^7.25.9"
+    "@babel/plugin-transform-literals" "^7.25.9"
+    "@babel/plugin-transform-logical-assignment-operators" "^7.25.9"
+    "@babel/plugin-transform-member-expression-literals" "^7.25.9"
+    "@babel/plugin-transform-modules-amd" "^7.25.9"
+    "@babel/plugin-transform-modules-commonjs" "^7.25.9"
+    "@babel/plugin-transform-modules-systemjs" "^7.25.9"
+    "@babel/plugin-transform-modules-umd" "^7.25.9"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9"
+    "@babel/plugin-transform-new-target" "^7.25.9"
+    "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9"
+    "@babel/plugin-transform-numeric-separator" "^7.25.9"
+    "@babel/plugin-transform-object-rest-spread" "^7.25.9"
+    "@babel/plugin-transform-object-super" "^7.25.9"
+    "@babel/plugin-transform-optional-catch-binding" "^7.25.9"
+    "@babel/plugin-transform-optional-chaining" "^7.25.9"
+    "@babel/plugin-transform-parameters" "^7.25.9"
+    "@babel/plugin-transform-private-methods" "^7.25.9"
+    "@babel/plugin-transform-private-property-in-object" "^7.25.9"
+    "@babel/plugin-transform-property-literals" "^7.25.9"
+    "@babel/plugin-transform-regenerator" "^7.25.9"
+    "@babel/plugin-transform-regexp-modifiers" "^7.26.0"
+    "@babel/plugin-transform-reserved-words" "^7.25.9"
+    "@babel/plugin-transform-shorthand-properties" "^7.25.9"
+    "@babel/plugin-transform-spread" "^7.25.9"
+    "@babel/plugin-transform-sticky-regex" "^7.25.9"
+    "@babel/plugin-transform-template-literals" "^7.25.9"
+    "@babel/plugin-transform-typeof-symbol" "^7.25.9"
+    "@babel/plugin-transform-unicode-escapes" "^7.25.9"
+    "@babel/plugin-transform-unicode-property-regex" "^7.25.9"
+    "@babel/plugin-transform-unicode-regex" "^7.25.9"
+    "@babel/plugin-transform-unicode-sets-regex" "^7.25.9"
+    "@babel/preset-modules" "0.1.6-no-external-plugins"
+    babel-plugin-polyfill-corejs2 "^0.4.10"
+    babel-plugin-polyfill-corejs3 "^0.10.6"
+    babel-plugin-polyfill-regenerator "^0.6.1"
+    core-js-compat "^3.38.1"
+    semver "^6.3.1"
+
+"@babel/preset-modules@0.1.6-no-external-plugins":
+  version "0.1.6-no-external-plugins"
+  resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz"
+  integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/types" "^7.4.4"
+    esutils "^2.0.2"
+
+"@babel/preset-react@^7.24.1":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.25.9.tgz"
+  integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-validator-option" "^7.25.9"
+    "@babel/plugin-transform-react-display-name" "^7.25.9"
+    "@babel/plugin-transform-react-jsx" "^7.25.9"
+    "@babel/plugin-transform-react-jsx-development" "^7.25.9"
+    "@babel/plugin-transform-react-pure-annotations" "^7.25.9"
+
+"@babel/preset-typescript@^7.24.1":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz"
+  integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.25.9"
+    "@babel/helper-validator-option" "^7.25.9"
+    "@babel/plugin-syntax-jsx" "^7.25.9"
+    "@babel/plugin-transform-modules-commonjs" "^7.25.9"
+    "@babel/plugin-transform-typescript" "^7.25.9"
+
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.22.3", "@babel/runtime@^7.24.4", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz"
+  integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
+  dependencies:
+    regenerator-runtime "^0.14.0"
+
+"@babel/template@^7.25.0", "@babel/template@^7.25.9", "@babel/template@^7.3.3":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz"
+  integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
+  dependencies:
+    "@babel/code-frame" "^7.25.9"
+    "@babel/parser" "^7.25.9"
+    "@babel/types" "^7.25.9"
+
+"@babel/traverse@^7.18.9", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.9":
+  version "7.25.9"
+  resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.25.9.tgz"
+  integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==
+  dependencies:
+    "@babel/code-frame" "^7.25.9"
+    "@babel/generator" "^7.25.9"
+    "@babel/parser" "^7.25.9"
+    "@babel/template" "^7.25.9"
+    "@babel/types" "^7.25.9"
+    debug "^4.3.1"
+    globals "^11.1.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.4", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+  version "7.26.0"
+  resolved "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz"
+  integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==
+  dependencies:
+    "@babel/helper-string-parser" "^7.25.9"
+    "@babel/helper-validator-identifier" "^7.25.9"
+
+"@bcoe/v8-coverage@^0.2.3":
+  version "0.2.3"
+  resolved "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz"
+  integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+
+"@braintree/sanitize-url@^7.0.1":
+  version "7.1.0"
+  resolved "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz"
+  integrity sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==
+
+"@chevrotain/cst-dts-gen@11.0.3":
+  version "11.0.3"
+  resolved "https://registry.npmmirror.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz"
+  integrity sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==
+  dependencies:
+    "@chevrotain/gast" "11.0.3"
+    "@chevrotain/types" "11.0.3"
+    lodash-es "4.17.21"
+
+"@chevrotain/gast@11.0.3":
+  version "11.0.3"
+  resolved "https://registry.npmmirror.com/@chevrotain/gast/-/gast-11.0.3.tgz"
+  integrity sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==
+  dependencies:
+    "@chevrotain/types" "11.0.3"
+    lodash-es "4.17.21"
+
+"@chevrotain/regexp-to-ast@11.0.3":
+  version "11.0.3"
+  resolved "https://registry.npmmirror.com/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz"
+  integrity sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==
+
+"@chevrotain/types@11.0.3":
+  version "11.0.3"
+  resolved "https://registry.npmmirror.com/@chevrotain/types/-/types-11.0.3.tgz"
+  integrity sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==
+
+"@chevrotain/utils@11.0.3":
+  version "11.0.3"
+  resolved "https://registry.npmmirror.com/@chevrotain/utils/-/utils-11.0.3.tgz"
+  integrity sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==
+
+"@chromatic-com/storybook@^1.9.0":
+  version "1.9.0"
+  resolved "https://registry.npmmirror.com/@chromatic-com/storybook/-/storybook-1.9.0.tgz"
+  integrity sha512-vYQ+TcfktEE3GHnLZXHCzXF/sN9dw+KivH8a5cmPyd9YtQs7fZtHrEgsIjWpYycXiweKMo1Lm1RZsjxk8DH3rA==
+  dependencies:
+    chromatic "^11.4.0"
+    filesize "^10.0.12"
+    jsonfile "^6.1.0"
+    react-confetti "^6.1.0"
+    strip-ansi "^7.1.0"
+
+"@cspotcode/source-map-support@^0.8.0":
+  version "0.8.1"
+  resolved "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz"
+  integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
+  dependencies:
+    "@jridgewell/trace-mapping" "0.3.9"
+
+"@dagrejs/dagre@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/@dagrejs/dagre/-/dagre-1.1.2.tgz"
+  integrity sha512-F09dphqvHsbe/6C2t2unbmpr5q41BNPEfJCdn8Z7aEBpVSy/zFQ/b4SWsweQjWNsYMDvE2ffNUN8X0CeFsEGNw==
+  dependencies:
+    "@dagrejs/graphlib" "2.2.2"
+
+"@dagrejs/graphlib@2.2.2":
+  version "2.2.2"
+  resolved "https://registry.npmmirror.com/@dagrejs/graphlib/-/graphlib-2.2.2.tgz"
+  integrity sha512-CbyGpCDKsiTg/wuk79S7Muoj8mghDGAESWGxcSyhHX5jD35vYMBZochYVFzlHxynpE9unpu6O+4ZuhrLxASsOg==
+
+"@emoji-mart/data@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/@emoji-mart/data/-/data-1.1.2.tgz"
+  integrity sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg==
+
+"@esbuild/win32-x64@0.24.0":
+  version "0.24.0"
+  resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz"
+  integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==
+
+"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0":
+  version "4.4.0"
+  resolved "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
+  integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
+  dependencies:
+    eslint-visitor-keys "^3.3.0"
+
+"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1":
+  version "4.12.1"
+  resolved "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz"
+  integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
+
+"@eslint/eslintrc@^2.1.4":
+  version "2.1.4"
+  resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz"
+  integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
+  dependencies:
+    ajv "^6.12.4"
+    debug "^4.3.2"
+    espree "^9.6.0"
+    globals "^13.19.0"
+    ignore "^5.2.0"
+    import-fresh "^3.2.1"
+    js-yaml "^4.1.0"
+    minimatch "^3.1.2"
+    strip-json-comments "^3.1.1"
+
+"@eslint/js@8.57.1":
+  version "8.57.1"
+  resolved "https://registry.npmmirror.com/@eslint/js/-/js-8.57.1.tgz"
+  integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
+
+"@faker-js/faker@^7.6.0":
+  version "7.6.0"
+  resolved "https://registry.npmmirror.com/@faker-js/faker/-/faker-7.6.0.tgz"
+  integrity sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==
+
+"@floating-ui/core@^1.1.0", "@floating-ui/core@^1.4.1":
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-1.4.1.tgz"
+  integrity sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==
+  dependencies:
+    "@floating-ui/utils" "^0.1.1"
+
+"@floating-ui/dom@^1.5.1":
+  version "1.5.1"
+  resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.5.1.tgz"
+  integrity sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==
+  dependencies:
+    "@floating-ui/core" "^1.4.1"
+    "@floating-ui/utils" "^0.1.1"
+
+"@floating-ui/dom@1.1.1":
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.1.1.tgz"
+  integrity sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==
+  dependencies:
+    "@floating-ui/core" "^1.1.0"
+
+"@floating-ui/react-dom@^2.0.1":
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz"
+  integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==
+  dependencies:
+    "@floating-ui/dom" "^1.5.1"
+
+"@floating-ui/react@^0.25.2":
+  version "0.25.2"
+  resolved "https://registry.npmmirror.com/@floating-ui/react/-/react-0.25.2.tgz"
+  integrity sha512-3e10G9LFOgl32/SMWLBOwT7oVCtB+d5zBsU2GxTSVOvRgZexwno5MlYbc0BaXr+TR5EEGpqe9tg9OUbjlrVRnQ==
+  dependencies:
+    "@floating-ui/react-dom" "^2.0.1"
+    "@floating-ui/utils" "^0.1.1"
+    tabbable "^6.0.1"
+
+"@floating-ui/utils@^0.1.1":
+  version "0.1.1"
+  resolved "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.1.tgz"
+  integrity sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==
+
+"@formatjs/intl-localematcher@^0.5.4":
+  version "0.5.4"
+  resolved "https://registry.npmmirror.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz"
+  integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==
+  dependencies:
+    tslib "^2.4.0"
+
+"@headlessui/react@^1.7.13":
+  version "1.7.15"
+  resolved "https://registry.npmmirror.com/@headlessui/react/-/react-1.7.15.tgz"
+  integrity sha512-OTO0XtoRQ6JPB1cKNFYBZv2Q0JMqMGNhYP1CjPvcJvjz8YGokz8oAj89HIYZGN0gZzn/4kk9iUpmMF4Q21Gsqw==
+  dependencies:
+    client-only "^0.0.1"
+
+"@heroicons/react@^2.0.16":
+  version "2.0.18"
+  resolved "https://registry.npmmirror.com/@heroicons/react/-/react-2.0.18.tgz"
+  integrity sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==
+
+"@hookform/resolvers@^3.3.4":
+  version "3.4.2"
+  resolved "https://registry.npmmirror.com/@hookform/resolvers/-/resolvers-3.4.2.tgz"
+  integrity sha512-1m9uAVIO8wVf7VCDAGsuGA0t6Z3m6jVGAN50HkV9vYLl0yixKK/Z1lr01vaRvYCkIKGoy1noVRxMzQYb4y/j1Q==
+
+"@humanwhocodes/config-array@^0.13.0":
+  version "0.13.0"
+  resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz"
+  integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==
+  dependencies:
+    "@humanwhocodes/object-schema" "^2.0.3"
+    debug "^4.3.1"
+    minimatch "^3.0.5"
+
+"@humanwhocodes/module-importer@^1.0.1":
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
+  integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
+
+"@humanwhocodes/object-schema@^2.0.3":
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz"
+  integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
+
+"@iconify/types@^2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz"
+  integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
+
+"@iconify/utils@^2.1.32":
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/@iconify/utils/-/utils-2.2.0.tgz"
+  integrity sha512-9A5eZQV9eKlNCXlI/SgYsGRS7YmGmB1oAsRpNVIYBmIzGJRgH+hfG+lo4069s+GFWFNnBAtDg10c53vQZBLfnA==
+  dependencies:
+    "@antfu/install-pkg" "^0.4.1"
+    "@antfu/utils" "^0.7.10"
+    "@iconify/types" "^2.0.0"
+    debug "^4.4.0"
+    globals "^15.13.0"
+    kolorist "^1.8.0"
+    local-pkg "^0.5.1"
+    mlly "^1.7.3"
+
+"@img/sharp-win32-x64@0.33.5":
+  version "0.33.5"
+  resolved "https://registry.npmmirror.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz"
+  integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==
+
+"@istanbuljs/load-nyc-config@^1.0.0":
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz"
+  integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
+  dependencies:
+    camelcase "^5.3.1"
+    find-up "^4.1.0"
+    get-package-type "^0.1.0"
+    js-yaml "^3.13.1"
+    resolve-from "^5.0.0"
+
+"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
+  version "0.1.3"
+  resolved "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz"
+  integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
+
+"@jest/console@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/console/-/console-29.7.0.tgz"
+  integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
+    slash "^3.0.0"
+
+"@jest/core@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/core/-/core-29.7.0.tgz"
+  integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==
+  dependencies:
+    "@jest/console" "^29.7.0"
+    "@jest/reporters" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    ansi-escapes "^4.2.1"
+    chalk "^4.0.0"
+    ci-info "^3.2.0"
+    exit "^0.1.2"
+    graceful-fs "^4.2.9"
+    jest-changed-files "^29.7.0"
+    jest-config "^29.7.0"
+    jest-haste-map "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-regex-util "^29.6.3"
+    jest-resolve "^29.7.0"
+    jest-resolve-dependencies "^29.7.0"
+    jest-runner "^29.7.0"
+    jest-runtime "^29.7.0"
+    jest-snapshot "^29.7.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
+    jest-watcher "^29.7.0"
+    micromatch "^4.0.4"
+    pretty-format "^29.7.0"
+    slash "^3.0.0"
+    strip-ansi "^6.0.0"
+
+"@jest/environment@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/environment/-/environment-29.7.0.tgz"
+  integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==
+  dependencies:
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    jest-mock "^29.7.0"
+
+"@jest/expect-utils@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz"
+  integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==
+  dependencies:
+    jest-get-type "^29.6.3"
+
+"@jest/expect@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/expect/-/expect-29.7.0.tgz"
+  integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==
+  dependencies:
+    expect "^29.7.0"
+    jest-snapshot "^29.7.0"
+
+"@jest/fake-timers@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz"
+  integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    "@sinonjs/fake-timers" "^10.0.2"
+    "@types/node" "*"
+    jest-message-util "^29.7.0"
+    jest-mock "^29.7.0"
+    jest-util "^29.7.0"
+
+"@jest/globals@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/globals/-/globals-29.7.0.tgz"
+  integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/expect" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    jest-mock "^29.7.0"
+
+"@jest/reporters@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/reporters/-/reporters-29.7.0.tgz"
+  integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==
+  dependencies:
+    "@bcoe/v8-coverage" "^0.2.3"
+    "@jest/console" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@jridgewell/trace-mapping" "^0.3.18"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    collect-v8-coverage "^1.0.0"
+    exit "^0.1.2"
+    glob "^7.1.3"
+    graceful-fs "^4.2.9"
+    istanbul-lib-coverage "^3.0.0"
+    istanbul-lib-instrument "^6.0.0"
+    istanbul-lib-report "^3.0.0"
+    istanbul-lib-source-maps "^4.0.0"
+    istanbul-reports "^3.1.3"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
+    jest-worker "^29.7.0"
+    slash "^3.0.0"
+    string-length "^4.0.1"
+    strip-ansi "^6.0.0"
+    v8-to-istanbul "^9.0.1"
+
+"@jest/schemas@^29.6.3":
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz"
+  integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
+  dependencies:
+    "@sinclair/typebox" "^0.27.8"
+
+"@jest/source-map@^29.6.3":
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/@jest/source-map/-/source-map-29.6.3.tgz"
+  integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.18"
+    callsites "^3.0.0"
+    graceful-fs "^4.2.9"
+
+"@jest/test-result@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/test-result/-/test-result-29.7.0.tgz"
+  integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==
+  dependencies:
+    "@jest/console" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/istanbul-lib-coverage" "^2.0.0"
+    collect-v8-coverage "^1.0.0"
+
+"@jest/test-sequencer@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz"
+  integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==
+  dependencies:
+    "@jest/test-result" "^29.7.0"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^29.7.0"
+    slash "^3.0.0"
+
+"@jest/transform@^29.7.0":
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/@jest/transform/-/transform-29.7.0.tgz"
+  integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
+  dependencies:
+    "@babel/core" "^7.11.6"
+    "@jest/types" "^29.6.3"
+    "@jridgewell/trace-mapping" "^0.3.18"
+    babel-plugin-istanbul "^6.1.1"
+    chalk "^4.0.0"
+    convert-source-map "^2.0.0"
+    fast-json-stable-stringify "^2.1.0"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^29.7.0"
+    jest-regex-util "^29.6.3"
+    jest-util "^29.7.0"
+    micromatch "^4.0.4"
+    pirates "^4.0.4"
+    slash "^3.0.0"
+    write-file-atomic "^4.0.2"
+
+"@jest/types@^29.6.3":
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz"
+  integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
+  dependencies:
+    "@jest/schemas" "^29.6.3"
+    "@types/istanbul-lib-coverage" "^2.0.0"
+    "@types/istanbul-reports" "^3.0.0"
+    "@types/node" "*"
+    "@types/yargs" "^17.0.8"
+    chalk "^4.0.0"
+
+"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5":
+  version "0.3.5"
+  resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz"
+  integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
+  dependencies:
+    "@jridgewell/set-array" "^1.2.1"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+    "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0":
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
+  integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+
+"@jridgewell/set-array@^1.2.1":
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz"
+  integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
+
+"@jridgewell/source-map@^0.3.3":
+  version "0.3.3"
+  resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.3.tgz"
+  integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==
+  dependencies:
+    "@jridgewell/gen-mapping" "^0.3.0"
+    "@jridgewell/trace-mapping" "^0.3.9"
+
+"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
+  version "1.5.0"
+  resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz"
+  integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
+
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9":
+  version "0.3.25"
+  resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
+  integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
+  dependencies:
+    "@jridgewell/resolve-uri" "^3.1.0"
+    "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@jridgewell/trace-mapping@0.3.9":
+  version "0.3.9"
+  resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
+  integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
+  dependencies:
+    "@jridgewell/resolve-uri" "^3.0.3"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@lexical/clipboard@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/clipboard/-/clipboard-0.16.1.tgz"
+  integrity sha512-0dWs/SwKS5KPpuf6fUVVt9vSCl6HAqcDGhSITw/okv0rrIlXTUT6WhVsMJtXfFxTyVvwMeOecJHvQH3i/jRQtA==
+  dependencies:
+    "@lexical/html" "0.16.1"
+    "@lexical/list" "0.16.1"
+    "@lexical/selection" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/code@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/code/-/code-0.16.1.tgz"
+  integrity sha512-pOC28rRZ2XkmI2nIJm50DbKaCJtk5D0o7r6nORYp4i0z+lxt5Sf2m82DL9ksUHJRqKy87pwJDpoWvJ2SAI0ohw==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+    prismjs "^1.27.0"
+
+"@lexical/devtools-core@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/devtools-core/-/devtools-core-0.16.1.tgz"
+  integrity sha512-8CvGERGL7ySDVGLU+YPeq+JupIXsOFlXa3EuJ88koLKqXxYenwMleZgGqayFp6lCP78xqPKnATVeoOZUt/NabQ==
+  dependencies:
+    "@lexical/html" "0.16.1"
+    "@lexical/link" "0.16.1"
+    "@lexical/mark" "0.16.1"
+    "@lexical/table" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/dragon@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/dragon/-/dragon-0.16.1.tgz"
+  integrity sha512-Rvd60GIYN5kpjjBumS34EnNbBaNsoseI0AlzOdtIV302jiHPCLH0noe9kxzu9nZy+MZmjZy8Dx2zTbQT2mueRw==
+  dependencies:
+    lexical "0.16.1"
+
+"@lexical/hashtag@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/hashtag/-/hashtag-0.16.1.tgz"
+  integrity sha512-G+YOxStAKs3q1utqm9KR4D4lCkwIH52Rctm4RgaVTI+4lvTaybeDRGFV75P/pI/qlF7/FvAYHTYEzCjtC3GNMQ==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/history@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/history/-/history-0.16.1.tgz"
+  integrity sha512-WQhScx0TJeKSQAnEkRpIaWdUXqirrNrom2MxbBUc/32zEUMm9FzV7nRGknvUabEFUo7vZq6xTZpOExQJqHInQA==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/html@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/html/-/html-0.16.1.tgz"
+  integrity sha512-vbtAdCvQ3PaAqa5mFmtmrvbiAvjCu1iXBAJ0bsHqFXCF2Sba5LwHVe8dUAOTpfEZEMbiHfjul6b5fj4vNPGF2A==
+  dependencies:
+    "@lexical/selection" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/link@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/link/-/link-0.16.1.tgz"
+  integrity sha512-zG36gEnEqbIe6tK/MhXi7wn/XMY/zdivnPcOY5WyC3derkEezeLSSIFsC1u5UNeK5pbpNMSy4LDpLhi1Ww4Y5w==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/list@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/list/-/list-0.16.1.tgz"
+  integrity sha512-i9YhLAh5N6YO9dP+R1SIL9WEdCKeTiQQYVUzj84vDvX5DIBxMPUjTmMn3LXu9T+QO3h1s2L/vJusZASrl45eAw==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/mark@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/mark/-/mark-0.16.1.tgz"
+  integrity sha512-CZRGMLcxn5D+jzf1XnH+Z+uUugmpg1mBwTbGybCPm8UWpBrKDHkrscfMgWz62iRWz0cdVjM5+0zWpNElxFTRjQ==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/markdown@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/markdown/-/markdown-0.16.1.tgz"
+  integrity sha512-0sBLttMvfQO/hVaIqpHdvDowpgV2CoRuWo2CNwvRLZPPWvPVjL4Nkb73wmi8zAZsAOTbX2aw+g4m/+k5oJqNig==
+  dependencies:
+    "@lexical/code" "0.16.1"
+    "@lexical/link" "0.16.1"
+    "@lexical/list" "0.16.1"
+    "@lexical/rich-text" "0.16.1"
+    "@lexical/text" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/offset@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/offset/-/offset-0.16.1.tgz"
+  integrity sha512-/i2J04lQmFeydUZIF8tKXLQTXiJDTQ6GRnkfv1OpxU4amc0rwGa7+qAz/PuF1n58rP6InpLmSHxgY5JztXa2jw==
+  dependencies:
+    lexical "0.16.1"
+
+"@lexical/overflow@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/overflow/-/overflow-0.16.1.tgz"
+  integrity sha512-xh5YpoxwA7K4wgMQF/Sjl8sdjaxqesLCtH5ZrcMsaPlmucDIEEs+i8xxk+kDUTEY7y+3FvRxs4lGNgX8RVWkvQ==
+  dependencies:
+    lexical "0.16.1"
+
+"@lexical/plain-text@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/plain-text/-/plain-text-0.16.1.tgz"
+  integrity sha512-GjY4ylrBZIaAVIF8IFnmW0XGyHAuRmWA6gKB8iTTlsjgFrCHFIYC74EeJSp309O0Hflg9rRBnKoX1TYruFHVwA==
+  dependencies:
+    "@lexical/clipboard" "0.16.1"
+    "@lexical/selection" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/react@^0.16.0":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/react/-/react-0.16.1.tgz"
+  integrity sha512-SsGgLt9iKfrrMRy9lFb6ROVPUYOgv6b+mCn9Al+TLqs/gBReDBi3msA7m526nrtBUKYUnjHdQ1QXIJzuKgOxcg==
+  dependencies:
+    "@lexical/clipboard" "0.16.1"
+    "@lexical/code" "0.16.1"
+    "@lexical/devtools-core" "0.16.1"
+    "@lexical/dragon" "0.16.1"
+    "@lexical/hashtag" "0.16.1"
+    "@lexical/history" "0.16.1"
+    "@lexical/link" "0.16.1"
+    "@lexical/list" "0.16.1"
+    "@lexical/mark" "0.16.1"
+    "@lexical/markdown" "0.16.1"
+    "@lexical/overflow" "0.16.1"
+    "@lexical/plain-text" "0.16.1"
+    "@lexical/rich-text" "0.16.1"
+    "@lexical/selection" "0.16.1"
+    "@lexical/table" "0.16.1"
+    "@lexical/text" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    "@lexical/yjs" "0.16.1"
+    lexical "0.16.1"
+    react-error-boundary "^3.1.4"
+
+"@lexical/rich-text@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/rich-text/-/rich-text-0.16.1.tgz"
+  integrity sha512-4uEVXJur7tdSbqbmsToCW4YVm0AMh4y9LK077Yq2O9hSuA5dqpI8UbTDnxZN2D7RfahNvwlqp8eZKFB1yeiJGQ==
+  dependencies:
+    "@lexical/clipboard" "0.16.1"
+    "@lexical/selection" "0.16.1"
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/selection@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/selection/-/selection-0.16.1.tgz"
+  integrity sha512-+nK3RvXtyQvQDq7AZ46JpphmM33pwuulwiRfeXR5T9iFQTtgWOEjsAi/KKX7vGm70BxACfiSxy5QCOgBWFwVJg==
+  dependencies:
+    lexical "0.16.1"
+
+"@lexical/table@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/table/-/table-0.16.1.tgz"
+  integrity sha512-GWb0/MM1sVXpi1p2HWWOBldZXASMQ4c6WRNYnRmq7J/aB5N66HqQgJGKp3m66Kz4k1JjhmZfPs7F018qIBhnFQ==
+  dependencies:
+    "@lexical/utils" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/text@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/text/-/text-0.16.1.tgz"
+  integrity sha512-Os/nKQegORTrKKN6vL3/FMVszyzyqaotlisPynvTaHTUC+yY4uyjM2hlF93i5a2ixxyiPLF9bDroxUP96TMPXg==
+  dependencies:
+    lexical "0.16.1"
+
+"@lexical/utils@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/utils/-/utils-0.16.1.tgz"
+  integrity sha512-BVyJxDQi/rIxFTDjf2zE7rMDKSuEaeJ4dybHRa/hRERt85gavGByQawSLeQlTjLaYLVsy+x7wCcqh2fNhlLf0g==
+  dependencies:
+    "@lexical/list" "0.16.1"
+    "@lexical/selection" "0.16.1"
+    "@lexical/table" "0.16.1"
+    lexical "0.16.1"
+
+"@lexical/yjs@0.16.1":
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/@lexical/yjs/-/yjs-0.16.1.tgz"
+  integrity sha512-QHw1bmzB/IypIV1tRWMH4hhwE1xX7wV+HxbzBS8oJAkoU5AYXM/kyp/sQicgqiwVfpai1Px7zatOoUDFgbyzHQ==
+  dependencies:
+    "@lexical/offset" "0.16.1"
+    lexical "0.16.1"
+
+"@mapbox/node-pre-gyp@^1.0.0":
+  version "1.0.11"
+  resolved "https://registry.npmmirror.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz"
+  integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==
+  dependencies:
+    detect-libc "^2.0.0"
+    https-proxy-agent "^5.0.0"
+    make-dir "^3.1.0"
+    node-fetch "^2.6.7"
+    nopt "^5.0.0"
+    npmlog "^5.0.1"
+    rimraf "^3.0.2"
+    semver "^7.3.5"
+    tar "^6.1.11"
+
+"@mdx-js/loader@^2.3.0", "@mdx-js/loader@>=0.15.0":
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/@mdx-js/loader/-/loader-2.3.0.tgz"
+  integrity sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg==
+  dependencies:
+    "@mdx-js/mdx" "^2.0.0"
+    source-map "^0.7.0"
+
+"@mdx-js/mdx@^2.0.0":
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/@mdx-js/mdx/-/mdx-2.3.0.tgz"
+  integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    "@types/mdx" "^2.0.0"
+    estree-util-build-jsx "^2.0.0"
+    estree-util-is-identifier-name "^2.0.0"
+    estree-util-to-js "^1.1.0"
+    estree-walker "^3.0.0"
+    hast-util-to-estree "^2.0.0"
+    markdown-extensions "^1.0.0"
+    periscopic "^3.0.0"
+    remark-mdx "^2.0.0"
+    remark-parse "^10.0.0"
+    remark-rehype "^10.0.0"
+    unified "^10.0.0"
+    unist-util-position-from-estree "^1.0.0"
+    unist-util-stringify-position "^3.0.0"
+    unist-util-visit "^4.0.0"
+    vfile "^5.0.0"
+
+"@mdx-js/react@^2.3.0", "@mdx-js/react@>=0.15.0":
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/@mdx-js/react/-/react-2.3.0.tgz"
+  integrity sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==
+  dependencies:
+    "@types/mdx" "^2.0.0"
+    "@types/react" ">=16"
+
+"@mdx-js/react@^3.0.0":
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/@mdx-js/react/-/react-3.1.0.tgz"
+  integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==
+  dependencies:
+    "@types/mdx" "^2.0.0"
+
+"@mermaid-js/parser@^0.3.0":
+  version "0.3.0"
+  resolved "https://registry.npmmirror.com/@mermaid-js/parser/-/parser-0.3.0.tgz"
+  integrity sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA==
+  dependencies:
+    langium "3.0.0"
+
+"@monaco-editor/loader@^1.4.0":
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/@monaco-editor/loader/-/loader-1.4.0.tgz"
+  integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==
+  dependencies:
+    state-local "^1.0.6"
+
+"@monaco-editor/react@^4.6.0":
+  version "4.6.0"
+  resolved "https://registry.npmmirror.com/@monaco-editor/react/-/react-4.6.0.tgz"
+  integrity sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==
+  dependencies:
+    "@monaco-editor/loader" "^1.4.0"
+
+"@next/env@14.2.17":
+  version "14.2.17"
+  resolved "https://registry.npmmirror.com/@next/env/-/env-14.2.17.tgz"
+  integrity sha512-MCgO7VHxXo8sYR/0z+sk9fGyJJU636JyRmkjc7ZJY8Hurl8df35qG5hoAh5KMs75FLjhlEo9bb2LGe89Y/scDA==
+
+"@next/eslint-plugin-next@14.0.4":
+  version "14.0.4"
+  resolved "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.4.tgz"
+  integrity sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==
+  dependencies:
+    glob "7.1.7"
+
+"@next/mdx@^14.0.4":
+  version "14.0.4"
+  resolved "https://registry.npmmirror.com/@next/mdx/-/mdx-14.0.4.tgz"
+  integrity sha512-w0b+A2LRdlqqTIzmaeqPOaafid2cYYYjETA+G+3ZFwkNbBQjvZp57P1waOexF3MGHzcCEoXEnhYpAc+FO6S0Rg==
+  dependencies:
+    source-map "^0.7.0"
+
+"@next/swc-win32-x64-msvc@14.2.17":
+  version "14.2.17"
+  resolved "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.17.tgz"
+  integrity sha512-vkQfN1+4V4KqDibkW2q0sJ6CxQuXq5l2ma3z0BRcfIqkAMZiiW67T9yCpwqJKP68QghBtPEFjPAlaqe38O6frw==
+
+"@nodelib/fs.scandir@2.1.5":
+  version "2.1.5"
+  resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
+  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
+  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
+  version "1.2.8"
+  resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
+  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+  dependencies:
+    "@nodelib/fs.scandir" "2.1.5"
+    fastq "^1.6.0"
+
+"@pkgr/utils@^2.3.1":
+  version "2.4.1"
+  resolved "https://registry.npmmirror.com/@pkgr/utils/-/utils-2.4.1.tgz"
+  integrity sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==
+  dependencies:
+    cross-spawn "^7.0.3"
+    fast-glob "^3.2.12"
+    is-glob "^4.0.3"
+    open "^9.1.0"
+    picocolors "^1.0.0"
+    tslib "^2.5.0"
+
+"@pmmmwh/react-refresh-webpack-plugin@^0.5.11":
+  version "0.5.15"
+  resolved "https://registry.npmmirror.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz"
+  integrity sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==
+  dependencies:
+    ansi-html "^0.0.9"
+    core-js-pure "^3.23.3"
+    error-stack-parser "^2.0.6"
+    html-entities "^2.1.0"
+    loader-utils "^2.0.4"
+    schema-utils "^4.2.0"
+    source-map "^0.7.3"
+
+"@reactflow/background@11.3.13":
+  version "11.3.13"
+  resolved "https://registry.npmmirror.com/@reactflow/background/-/background-11.3.13.tgz"
+  integrity sha512-hkvpVEhgvfTDyCvdlitw4ioKCYLaaiRXnuEG+1QM3Np+7N1DiWF1XOv5I8AFyNoJL07yXEkbECUTsHvkBvcG5A==
+  dependencies:
+    "@reactflow/core" "11.11.3"
+    classcat "^5.0.3"
+    zustand "^4.4.1"
+
+"@reactflow/controls@11.2.13":
+  version "11.2.13"
+  resolved "https://registry.npmmirror.com/@reactflow/controls/-/controls-11.2.13.tgz"
+  integrity sha512-3xgEg6ALIVkAQCS4NiBjb7ad8Cb3D8CtA7Vvl4Hf5Ar2PIVs6FOaeft9s2iDZGtsWP35ECDYId1rIFVhQL8r+A==
+  dependencies:
+    "@reactflow/core" "11.11.3"
+    classcat "^5.0.3"
+    zustand "^4.4.1"
+
+"@reactflow/core@11.11.3":
+  version "11.11.3"
+  resolved "https://registry.npmmirror.com/@reactflow/core/-/core-11.11.3.tgz"
+  integrity sha512-+adHdUa7fJSEM93fWfjQwyWXeI92a1eLKwWbIstoCakHpL8UjzwhEh6sn+mN2h/59MlVI7Ehr1iGTt3MsfcIFA==
+  dependencies:
+    "@types/d3" "^7.4.0"
+    "@types/d3-drag" "^3.0.1"
+    "@types/d3-selection" "^3.0.3"
+    "@types/d3-zoom" "^3.0.1"
+    classcat "^5.0.3"
+    d3-drag "^3.0.0"
+    d3-selection "^3.0.0"
+    d3-zoom "^3.0.0"
+    zustand "^4.4.1"
+
+"@reactflow/minimap@11.7.13":
+  version "11.7.13"
+  resolved "https://registry.npmmirror.com/@reactflow/minimap/-/minimap-11.7.13.tgz"
+  integrity sha512-m2MvdiGSyOu44LEcERDEl1Aj6x//UQRWo3HEAejNU4HQTlJnYrSN8tgrYF8TxC1+c/9UdyzQY5VYgrTwW4QWdg==
+  dependencies:
+    "@reactflow/core" "11.11.3"
+    "@types/d3-selection" "^3.0.3"
+    "@types/d3-zoom" "^3.0.1"
+    classcat "^5.0.3"
+    d3-selection "^3.0.0"
+    d3-zoom "^3.0.0"
+    zustand "^4.4.1"
+
+"@reactflow/node-resizer@2.2.13":
+  version "2.2.13"
+  resolved "https://registry.npmmirror.com/@reactflow/node-resizer/-/node-resizer-2.2.13.tgz"
+  integrity sha512-X7ceQ2s3jFLgbkg03n2RYr4hm3jTVrzkW2W/8ANv/SZfuVmF8XJxlERuD8Eka5voKqLda0ywIZGAbw9GoHLfUQ==
+  dependencies:
+    "@reactflow/core" "11.11.3"
+    classcat "^5.0.4"
+    d3-drag "^3.0.0"
+    d3-selection "^3.0.0"
+    zustand "^4.4.1"
+
+"@reactflow/node-toolbar@1.3.13":
+  version "1.3.13"
+  resolved "https://registry.npmmirror.com/@reactflow/node-toolbar/-/node-toolbar-1.3.13.tgz"
+  integrity sha512-aknvNICO10uWdthFSpgD6ctY/CTBeJUMV9co8T9Ilugr08Nb89IQ4uD0dPmr031ewMQxixtYIkw+sSDDzd2aaQ==
+  dependencies:
+    "@reactflow/core" "11.11.3"
+    classcat "^5.0.3"
+    zustand "^4.4.1"
+
+"@remixicon/react@^4.5.0":
+  version "4.5.0"
+  resolved "https://registry.npmmirror.com/@remixicon/react/-/react-4.5.0.tgz"
+  integrity sha512-Xr20SxMpRNlgXZnoF5BCMyZuQEhXY3yJCyms8kxB/vJCCiV1nWdiO48XqRG5LBd1192iSHC4m658AIWi6rmBFg==
+
+"@rgrove/parse-xml@^4.1.0":
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/@rgrove/parse-xml/-/parse-xml-4.1.0.tgz"
+  integrity sha512-pBiltENdy8SfI0AeR1e5TRpS9/9Gl0eiOEt6ful2jQfzsgvZYWqsKiBWaOCLdocQuk0wS7KOHI37n0C1pnKqTw==
+
+"@rushstack/eslint-patch@^1.3.3":
+  version "1.6.1"
+  resolved "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.6.1.tgz"
+  integrity sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==
+
+"@sentry-internal/feedback@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry-internal/feedback/-/feedback-7.120.1.tgz"
+  integrity sha512-t13r4vYtc+/3mUz6PMlW63TkqPasOreGO01elr5ZsrhaCE/1QgHGYXd+wwSPN83qfTfaCvhptMXbNOxevuA35Q==
+  dependencies:
+    "@sentry/core" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+
+"@sentry-internal/replay-canvas@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry-internal/replay-canvas/-/replay-canvas-7.120.1.tgz"
+  integrity sha512-615YoAajF81OsqpKPe9JSBb4CPEAIFqr8LKTcT0A6/qmyNn22unOhmWSMHSJ7DvLUvsXGNO4meU1RHI9EopvWg==
+  dependencies:
+    "@sentry/core" "7.120.1"
+    "@sentry/replay" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+
+"@sentry-internal/tracing@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry-internal/tracing/-/tracing-7.120.1.tgz"
+  integrity sha512-MwZlhQY27oM4V05m2Q46WB2F7jqFu8fewg14yRcjCuK3tdxvQoLsXOEPMZxLxpoXPTqPCm3Ig7mA4GwdlCL41w==
+  dependencies:
+    "@sentry/core" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+
+"@sentry/browser@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/browser/-/browser-7.120.1.tgz"
+  integrity sha512-MSd35oyl8hmRTxrdtwC0CHWdZEPpFxhK2VXPRXvhpeRPxARpbYkXI0qUyEK4kAI0x1bjooshWeq0rzmgnqa6xA==
+  dependencies:
+    "@sentry-internal/feedback" "7.120.1"
+    "@sentry-internal/replay-canvas" "7.120.1"
+    "@sentry-internal/tracing" "7.120.1"
+    "@sentry/core" "7.120.1"
+    "@sentry/integrations" "7.120.1"
+    "@sentry/replay" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+
+"@sentry/core@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/core/-/core-7.120.1.tgz"
+  integrity sha512-tXpJlf/8ngsSCpcRD+4DDvh4TqUbY0MlvE9Mpc/jO5GgYl/goAH2H1COw6W/UNfkr/l80P2jejS0HLPk0moi0A==
+  dependencies:
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+
+"@sentry/integrations@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/integrations/-/integrations-7.120.1.tgz"
+  integrity sha512-dshhLZUN+pYpyZiS5QRYKaYSqvWYtmsbwmBlH4SCGOnN9sbY4nZn0h8njr+xKT8UFnPxoTlbZmkcrVY3qPVMfg==
+  dependencies:
+    "@sentry/core" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+    localforage "^1.8.1"
+
+"@sentry/react@^7.54.0":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/react/-/react-7.120.1.tgz"
+  integrity sha512-P6vbcB/GNoklDU04w4HVOZklaOD31r3PC44R0o6XB98Sfz/HzJfgWDzf8sVkRLdiYXp+f6hwOIIRsGA2mP1yYA==
+  dependencies:
+    "@sentry/browser" "7.120.1"
+    "@sentry/core" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+    hoist-non-react-statics "^3.3.2"
+
+"@sentry/replay@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/replay/-/replay-7.120.1.tgz"
+  integrity sha512-dv1k8fTeppsO3VQMqciKwD1xSOUugXtjhy5Hid2Lev3S3JxPIrt32GJLEENTaLbOmMbraLdLN0P/wTFDtQzXZQ==
+  dependencies:
+    "@sentry-internal/tracing" "7.120.1"
+    "@sentry/core" "7.120.1"
+    "@sentry/types" "7.120.1"
+    "@sentry/utils" "7.120.1"
+
+"@sentry/types@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/types/-/types-7.120.1.tgz"
+  integrity sha512-f/WT7YUH8SA2Jhez/hYz/dA351AJqr1Eht/URUdYsqMFecXr/blAcNKRVFccSsvQeTqWVV9HVQ9BXUSjPJOvFA==
+
+"@sentry/utils@^7.54.0", "@sentry/utils@7.120.1":
+  version "7.120.1"
+  resolved "https://registry.npmmirror.com/@sentry/utils/-/utils-7.120.1.tgz"
+  integrity sha512-4boeo5Y3zw3gFrWZmPHsYOIlTh//eBaGBgWL25FqLbLObO23gFE86G6O6knP1Gamm1DGX2IWH7w4MChYuBm6tA==
+  dependencies:
+    "@sentry/types" "7.120.1"
+
+"@sinclair/typebox@^0.27.8":
+  version "0.27.8"
+  resolved "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz"
+  integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
+
+"@sindresorhus/is@^4.0.0":
+  version "4.6.0"
+  resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz"
+  integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==
+
+"@sinonjs/commons@^3.0.0":
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz"
+  integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==
+  dependencies:
+    type-detect "4.0.8"
+
+"@sinonjs/fake-timers@^10.0.2":
+  version "10.3.0"
+  resolved "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz"
+  integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==
+  dependencies:
+    "@sinonjs/commons" "^3.0.0"
+
+"@storybook/addon-actions@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-actions/-/addon-actions-8.4.2.tgz"
+  integrity sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    "@types/uuid" "^9.0.1"
+    dequal "^2.0.2"
+    polished "^4.2.2"
+    uuid "^9.0.0"
+
+"@storybook/addon-backgrounds@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.2.tgz"
+  integrity sha512-s4uag5VKuk8q2MSnuNS7Sv+v1/mykzGPXe/zZRW2ammtkdHp8Uy78eQS2G0aiG02chXCX+qQgWMyy5QItDcTFQ==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    memoizerific "^1.11.3"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-controls@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-controls/-/addon-controls-8.4.2.tgz"
+  integrity sha512-raCbHEj1xl4F3wKH6IdfEXNRaxKpY4QGhjSTE8Pte5iJSVhKG86taLqqRr+4dC7H1/LVMPU1XCGV4mkgDGtyxQ==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    dequal "^2.0.2"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-docs@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-docs/-/addon-docs-8.4.2.tgz"
+  integrity sha512-jIpykha7hv2Inlrq31ZoYg2QhuCuvcO+Q+uvhT45RDTB+2US/fg3rJINKlw2Djq8RPPOXvty5W0yvE6CrWKhnQ==
+  dependencies:
+    "@mdx-js/react" "^3.0.0"
+    "@storybook/blocks" "8.4.2"
+    "@storybook/csf-plugin" "8.4.2"
+    "@storybook/react-dom-shim" "8.4.2"
+    react "^16.8.0 || ^17.0.0 || ^18.0.0"
+    react-dom "^16.8.0 || ^17.0.0 || ^18.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-essentials@^8.3.5":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-essentials/-/addon-essentials-8.4.2.tgz"
+  integrity sha512-+/vfPrXM/GWU3Kbrg92PepwAZr7lOeulTTYF4THK0CL3DfUUlkGNpBPLP5PtjCuIkVrTCjXiIEdVWk47d5m2+w==
+  dependencies:
+    "@storybook/addon-actions" "8.4.2"
+    "@storybook/addon-backgrounds" "8.4.2"
+    "@storybook/addon-controls" "8.4.2"
+    "@storybook/addon-docs" "8.4.2"
+    "@storybook/addon-highlight" "8.4.2"
+    "@storybook/addon-measure" "8.4.2"
+    "@storybook/addon-outline" "8.4.2"
+    "@storybook/addon-toolbars" "8.4.2"
+    "@storybook/addon-viewport" "8.4.2"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-highlight@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-highlight/-/addon-highlight-8.4.2.tgz"
+  integrity sha512-vTtwp7nyJ09SXrsMnH+pukCjHjRMjQXgHZHxvbrv09uoH8ldQMv9B7u+X+9Wcy/jYSKFz/ng7pWo4b4a2oXHkg==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+
+"@storybook/addon-interactions@^8.3.5":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-interactions/-/addon-interactions-8.4.2.tgz"
+  integrity sha512-+/NTENTApeOcONgFNQ6Olbk0GH3pTDG3w0eh00slCB+2agD1BcVKg8SSlHQV0lQF1cK3vWL/X3jeaxdFLYOjjg==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    "@storybook/instrumenter" "8.4.2"
+    "@storybook/test" "8.4.2"
+    polished "^4.2.2"
+    ts-dedent "^2.2.0"
+
+"@storybook/addon-links@^8.3.5":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-links/-/addon-links-8.4.2.tgz"
+  integrity sha512-8nncReA/drR2cyAcUz484FIv+MXbyCQxYrA6yfWHthZfGu+vMIETvhh+eP4OpluVnxySoQ+hCVK/V8G2jcyAZg==
+  dependencies:
+    "@storybook/csf" "^0.1.11"
+    "@storybook/global" "^5.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-measure@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-measure/-/addon-measure-8.4.2.tgz"
+  integrity sha512-z+j6xQwcUBSpgzl1XDU+xU4YYgLraLMljECW7NvRNyJ/PYixvol8R3wtzWbr+CBpxmvbXjEJCPlF+EjF9/mBWQ==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    tiny-invariant "^1.3.1"
+
+"@storybook/addon-onboarding@^8.3.5":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-onboarding/-/addon-onboarding-8.4.2.tgz"
+  integrity sha512-zWzOyRASnIPt2AcaEl1KhI+aOaKDuoIcNB7u1GoABj0YM+V9d6o3lvcsmOAQG5pgwgFyqyOnLwpTfvRSEyzGFA==
+  dependencies:
+    react-confetti "^6.1.0"
+
+"@storybook/addon-outline@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-outline/-/addon-outline-8.4.2.tgz"
+  integrity sha512-oTMlPEyT4CBqzcQbfemoJzJ6yzeRAmvrAx9ssaBcnQQRsKxo0D2Ri/Jmm6SNcR0yBHxYRkvIH+2phLw8aiflCQ==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-themes@^8.3.5":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-themes/-/addon-themes-8.4.2.tgz"
+  integrity sha512-SEeADvNxdkgfCEK4kxuV5w0ZFkdWQjJ3GySgLaXZM7FkEySfHyRIvkcoJml6Q0zJdChywVYNTRXonL0hmBlo7Q==
+  dependencies:
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-toolbars@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.2.tgz"
+  integrity sha512-DidzW/NQS224niMJIjcJI2ls83emqygUcS9GYNGgdc5Xwro/TPgGYOXP2qnXgYUxXQTHbrxmIbHdEehxC7CcYQ==
+
+"@storybook/addon-viewport@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/addon-viewport/-/addon-viewport-8.4.2.tgz"
+  integrity sha512-qVQ2UaxCNsUSFHnAAAizNPIJ/QwfMg7p5bBdpYROTZXJe+bxVp0rFzZmQgHZ3/sn+lzE4ItM4QEfxkfQUWi1ag==
+  dependencies:
+    memoizerific "^1.11.3"
+
+"@storybook/blocks@^8.3.5", "@storybook/blocks@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/blocks/-/blocks-8.4.2.tgz"
+  integrity sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA==
+  dependencies:
+    "@storybook/csf" "^0.1.11"
+    "@storybook/icons" "^1.2.12"
+    ts-dedent "^2.0.0"
+
+"@storybook/builder-webpack5@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/builder-webpack5/-/builder-webpack5-8.4.2.tgz"
+  integrity sha512-Pqa0/sqqEujzcvs+/Cwf/5qRLC+atmceROCFokMOgpIaorTXlbmiQdJ2dBhMFNugLvXfL7dVQBjBfiuzhsQ57g==
+  dependencies:
+    "@storybook/core-webpack" "8.4.2"
+    "@types/node" "^22.0.0"
+    "@types/semver" "^7.3.4"
+    browser-assert "^1.2.1"
+    case-sensitive-paths-webpack-plugin "^2.4.0"
+    cjs-module-lexer "^1.2.3"
+    constants-browserify "^1.0.0"
+    css-loader "^6.7.1"
+    es-module-lexer "^1.5.0"
+    fork-ts-checker-webpack-plugin "^8.0.0"
+    html-webpack-plugin "^5.5.0"
+    magic-string "^0.30.5"
+    path-browserify "^1.0.1"
+    process "^0.11.10"
+    semver "^7.3.7"
+    style-loader "^3.3.1"
+    terser-webpack-plugin "^5.3.1"
+    ts-dedent "^2.0.0"
+    url "^0.11.0"
+    util "^0.12.4"
+    util-deprecate "^1.0.2"
+    webpack "5"
+    webpack-dev-middleware "^6.1.2"
+    webpack-hot-middleware "^2.25.1"
+    webpack-virtual-modules "^0.6.0"
+
+"@storybook/components@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/components/-/components-8.4.2.tgz"
+  integrity sha512-+W59oF7D73LAxLNmCfFrfs98cH9pyNHK9HlJoO5/lKbK4IdWhhOoqUR/AJ3ueksoLuetFat4DxyE8SN1H4Bvrg==
+
+"@storybook/core-webpack@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/core-webpack/-/core-webpack-8.4.2.tgz"
+  integrity sha512-bzGvzrLK/oDE9YlKayDEplcECURSa1oRkvV7rxI2sOTNfwuoxHJapvxFxazEKAHMVeSwfWDf4uKK0XeG2R/arA==
+  dependencies:
+    "@types/node" "^22.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/core@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/core/-/core-8.4.2.tgz"
+  integrity sha512-hF8GWoUZTjwwuV5j4OLhMHZtZQL/NYcVUBReC2Ba06c8PkFIKqKZwATr1zKd301gQ5Qwcn9WgmZxJTMgdKQtOg==
+  dependencies:
+    "@storybook/csf" "^0.1.11"
+    better-opn "^3.0.2"
+    browser-assert "^1.2.1"
+    esbuild "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0"
+    esbuild-register "^3.5.0"
+    jsdoc-type-pratt-parser "^4.0.0"
+    process "^0.11.10"
+    recast "^0.23.5"
+    semver "^7.6.2"
+    util "^0.12.5"
+    ws "^8.2.3"
+
+"@storybook/csf-plugin@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/csf-plugin/-/csf-plugin-8.4.2.tgz"
+  integrity sha512-1f0t6W5xbC1sSAHHs3uXYPIQs2NXAEtIGqn6X9i3xbbub6hDS8PF8BIm7dOjQ8dZOPp7d9ltR64V5CoLlsOigA==
+  dependencies:
+    unplugin "^1.3.1"
+
+"@storybook/csf@^0.0.1":
+  version "0.0.1"
+  resolved "https://registry.npmmirror.com/@storybook/csf/-/csf-0.0.1.tgz"
+  integrity sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==
+  dependencies:
+    lodash "^4.17.15"
+
+"@storybook/csf@^0.1.11":
+  version "0.1.11"
+  resolved "https://registry.npmmirror.com/@storybook/csf/-/csf-0.1.11.tgz"
+  integrity sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==
+  dependencies:
+    type-fest "^2.19.0"
+
+"@storybook/global@^5.0.0":
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/@storybook/global/-/global-5.0.0.tgz"
+  integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==
+
+"@storybook/icons@^1.2.12":
+  version "1.2.12"
+  resolved "https://registry.npmmirror.com/@storybook/icons/-/icons-1.2.12.tgz"
+  integrity sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==
+
+"@storybook/instrumenter@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/instrumenter/-/instrumenter-8.4.2.tgz"
+  integrity sha512-gPYCZ/0O6gRLI3zmenu2N6QtKzxDZFdT2xf4RWcNUSZyp28RZkRCIgKFMt3fTmvE0yMzAjQyRSkBdrONjQ44HA==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+    "@vitest/utils" "^2.1.1"
+
+"@storybook/manager-api@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/manager-api/-/manager-api-8.4.2.tgz"
+  integrity sha512-rhPc4cgQDKDH8NUyRh/ZaJW7QIhR/PO5MNX4xc+vz71sM2nO7ONA/FrgLtCuu4SULdwilEPvGefYvLK0dE+Caw==
+
+"@storybook/nextjs@^8.3.5":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/nextjs/-/nextjs-8.4.2.tgz"
+  integrity sha512-HySwS9zfenurk+O+SX9gKskotkHo8mFRBKAIlEROIWi7iipp5GCVPyqb8gFWjvN81dKfEIAZs+fB/7ySulJ4rg==
+  dependencies:
+    "@babel/core" "^7.24.4"
+    "@babel/plugin-syntax-bigint" "^7.8.3"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-syntax-import-assertions" "^7.24.1"
+    "@babel/plugin-transform-class-properties" "^7.24.1"
+    "@babel/plugin-transform-export-namespace-from" "^7.24.1"
+    "@babel/plugin-transform-numeric-separator" "^7.24.1"
+    "@babel/plugin-transform-object-rest-spread" "^7.24.1"
+    "@babel/plugin-transform-runtime" "^7.24.3"
+    "@babel/preset-env" "^7.24.4"
+    "@babel/preset-react" "^7.24.1"
+    "@babel/preset-typescript" "^7.24.1"
+    "@babel/runtime" "^7.24.4"
+    "@pmmmwh/react-refresh-webpack-plugin" "^0.5.11"
+    "@storybook/builder-webpack5" "8.4.2"
+    "@storybook/preset-react-webpack" "8.4.2"
+    "@storybook/react" "8.4.2"
+    "@storybook/test" "8.4.2"
+    "@types/node" "^22.0.0"
+    "@types/semver" "^7.3.4"
+    babel-loader "^9.1.3"
+    css-loader "^6.7.3"
+    find-up "^5.0.0"
+    image-size "^1.0.0"
+    loader-utils "^3.2.1"
+    node-polyfill-webpack-plugin "^2.0.1"
+    pnp-webpack-plugin "^1.7.0"
+    postcss "^8.4.38"
+    postcss-loader "^8.1.1"
+    react-refresh "^0.14.0"
+    resolve-url-loader "^5.0.0"
+    sass-loader "^13.2.0"
+    semver "^7.3.5"
+    style-loader "^3.3.1"
+    styled-jsx "^5.1.6"
+    ts-dedent "^2.0.0"
+    tsconfig-paths "^4.0.0"
+    tsconfig-paths-webpack-plugin "^4.0.1"
+  optionalDependencies:
+    sharp "^0.33.3"
+
+"@storybook/preset-react-webpack@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/preset-react-webpack/-/preset-react-webpack-8.4.2.tgz"
+  integrity sha512-Gt9hQRo1ythGFzATNV4WgQDlMDzBgiq7ks+YkW2/Xu5ZkrRrM/gK75fhmbICrknZl2pPPfNFXlECPWKAeTmwFA==
+  dependencies:
+    "@storybook/core-webpack" "8.4.2"
+    "@storybook/react" "8.4.2"
+    "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0"
+    "@types/node" "^22.0.0"
+    "@types/semver" "^7.3.4"
+    find-up "^5.0.0"
+    magic-string "^0.30.5"
+    react-docgen "^7.0.0"
+    resolve "^1.22.8"
+    semver "^7.3.7"
+    tsconfig-paths "^4.2.0"
+    webpack "5"
+
+"@storybook/preview-api@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/preview-api/-/preview-api-8.4.2.tgz"
+  integrity sha512-5X/xvIvDPaWJKUBCo5zVeBbbjkhnwcI2KPkuOgrHVRRhuQ5WqD0RYxVtOOFNyQXme7g0nNl5RFNgvT7qv9qGeg==
+
+"@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0":
+  version "1.0.6--canary.9.0c3f3b7.0"
+  resolved "https://registry.npmmirror.com/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz"
+  integrity sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==
+  dependencies:
+    debug "^4.1.1"
+    endent "^2.0.1"
+    find-cache-dir "^3.3.1"
+    flat-cache "^3.0.4"
+    micromatch "^4.0.2"
+    react-docgen-typescript "^2.2.2"
+    tslib "^2.0.0"
+
+"@storybook/react-dom-shim@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.2.tgz"
+  integrity sha512-FZVTM1f34FpGnf6e3MDIKkz05gmn8H9wEccvQAgr8pEFe8VWfrpVWeUrmatSAfgrCMNXYC1avDend8UX6IM8Fg==
+
+"@storybook/react@^8.3.5", "@storybook/react@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/react/-/react-8.4.2.tgz"
+  integrity sha512-rO5/aVKBVhIKENcL7G8ud4QKC5OyWBPCkJIvY6XUHIuhErJy9/4pP+sZ85jypVwx5kq+EqCPF8AEOWjIxB/4/Q==
+  dependencies:
+    "@storybook/components" "8.4.2"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "8.4.2"
+    "@storybook/preview-api" "8.4.2"
+    "@storybook/react-dom-shim" "8.4.2"
+    "@storybook/theming" "8.4.2"
+
+"@storybook/test@^8.3.5", "@storybook/test@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/test/-/test-8.4.2.tgz"
+  integrity sha512-MipTdboStv0hsqF2Sw8TZgP0YnxCcDYwxkTOd4hmRzev/7Brtvpi4pqjqh8k98ZCvhrCPAPVIoX5drk+oi3YUA==
+  dependencies:
+    "@storybook/csf" "^0.1.11"
+    "@storybook/global" "^5.0.0"
+    "@storybook/instrumenter" "8.4.2"
+    "@testing-library/dom" "10.4.0"
+    "@testing-library/jest-dom" "6.5.0"
+    "@testing-library/user-event" "14.5.2"
+    "@vitest/expect" "2.0.5"
+    "@vitest/spy" "2.0.5"
+
+"@storybook/theming@8.4.2":
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/@storybook/theming/-/theming-8.4.2.tgz"
+  integrity sha512-9j4fnu5LcV+qSs1rdwf61Bt14lms0T1LOZkHxGNcS1c1oH+cPS+sxECh2lxtni+mvOAHUlBs9pKhVZzRPdWpvg==
+
+"@svgdotjs/svg.js@^3.2.4":
+  version "3.2.4"
+  resolved "https://registry.npmmirror.com/@svgdotjs/svg.js/-/svg.js-3.2.4.tgz"
+  integrity sha512-BjJ/7vWNowlX3Z8O4ywT58DqbNRyYlkk6Yz/D13aB7hGmfQTvGX4Tkgtm/ApYlu9M7lCQi15xUEidqMUmdMYwg==
+
+"@swc/counter@^0.1.3":
+  version "0.1.3"
+  resolved "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz"
+  integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
+
+"@swc/helpers@0.5.5":
+  version "0.5.5"
+  resolved "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.5.tgz"
+  integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==
+  dependencies:
+    "@swc/counter" "^0.1.3"
+    tslib "^2.4.0"
+
+"@szmarczak/http-timer@^4.0.5":
+  version "4.0.6"
+  resolved "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz"
+  integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==
+  dependencies:
+    defer-to-connect "^2.0.0"
+
+"@tailwindcss/line-clamp@^0.4.4":
+  version "0.4.4"
+  resolved "https://registry.npmmirror.com/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz"
+  integrity sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g==
+
+"@tailwindcss/typography@^0.5.9":
+  version "0.5.9"
+  resolved "https://registry.npmmirror.com/@tailwindcss/typography/-/typography-0.5.9.tgz"
+  integrity sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==
+  dependencies:
+    lodash.castarray "^4.4.0"
+    lodash.isplainobject "^4.0.6"
+    lodash.merge "^4.6.2"
+    postcss-selector-parser "6.0.10"
+
+"@tanstack/query-core@5.62.3":
+  version "5.62.3"
+  resolved "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.62.3.tgz"
+  integrity sha512-Jp/nYoz8cnO7kqhOlSv8ke/0MJRJVGuZ0P/JO9KQ+f45mpN90hrerzavyTKeSoT/pOzeoOUkv1Xd0wPsxAWXfg==
+
+"@tanstack/query-devtools@5.61.4":
+  version "5.61.4"
+  resolved "https://registry.npmmirror.com/@tanstack/query-devtools/-/query-devtools-5.61.4.tgz"
+  integrity sha512-21Tw+u8E3IJJj4A/Bct4H0uBaDTEu7zBrR79FeSyY+mS2gx5/m316oDtJiKkILc819VSTYt+sFzODoJNcpPqZQ==
+
+"@tanstack/react-query-devtools@^5.60.5":
+  version "5.62.3"
+  resolved "https://registry.npmmirror.com/@tanstack/react-query-devtools/-/react-query-devtools-5.62.3.tgz"
+  integrity sha512-4iaQap/iP5ErS094u1WehFntHtjRo6g5HJMvyHovBVbsxnvgPc6AtKAw7qxPPoKy6Wj5Bew0045eYP5phiiBmw==
+  dependencies:
+    "@tanstack/query-devtools" "5.61.4"
+
+"@tanstack/react-query@^5.60.5", "@tanstack/react-query@^5.62.3":
+  version "5.62.3"
+  resolved "https://registry.npmmirror.com/@tanstack/react-query/-/react-query-5.62.3.tgz"
+  integrity sha512-y2zDNKuhgiuMgsKkqd4AcsLIBiCfEO8U11AdrtAUihmLbRNztPrlcZqx2lH1GacZsx+y1qRRbCcJLYTtF1vKsw==
+  dependencies:
+    "@tanstack/query-core" "5.62.3"
+
+"@testing-library/dom@^10.0.0", "@testing-library/dom@^10.3.2", "@testing-library/dom@>=7.21.4", "@testing-library/dom@10.4.0":
+  version "10.4.0"
+  resolved "https://registry.npmmirror.com/@testing-library/dom/-/dom-10.4.0.tgz"
+  integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==
+  dependencies:
+    "@babel/code-frame" "^7.10.4"
+    "@babel/runtime" "^7.12.5"
+    "@types/aria-query" "^5.0.1"
+    aria-query "5.3.0"
+    chalk "^4.1.0"
+    dom-accessibility-api "^0.5.9"
+    lz-string "^1.5.0"
+    pretty-format "^27.0.2"
+
+"@testing-library/jest-dom@^6.4.6", "@testing-library/jest-dom@6.5.0":
+  version "6.5.0"
+  resolved "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz"
+  integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==
+  dependencies:
+    "@adobe/css-tools" "^4.4.0"
+    aria-query "^5.0.0"
+    chalk "^3.0.0"
+    css.escape "^1.5.1"
+    dom-accessibility-api "^0.6.3"
+    lodash "^4.17.21"
+    redent "^3.0.0"
+
+"@testing-library/react@^16.0.0":
+  version "16.0.0"
+  resolved "https://registry.npmmirror.com/@testing-library/react/-/react-16.0.0.tgz"
+  integrity sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+
+"@testing-library/user-event@14.5.2":
+  version "14.5.2"
+  resolved "https://registry.npmmirror.com/@testing-library/user-event/-/user-event-14.5.2.tgz"
+  integrity sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==
+
+"@tootallnate/once@2":
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.0.tgz"
+  integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+
+"@tsconfig/node10@^1.0.7":
+  version "1.0.11"
+  resolved "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.11.tgz"
+  integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==
+
+"@tsconfig/node12@^1.0.7":
+  version "1.0.11"
+  resolved "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz"
+  integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
+
+"@tsconfig/node14@^1.0.0":
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz"
+  integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
+
+"@tsconfig/node16@^1.0.2":
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.4.tgz"
+  integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
+
+"@types/acorn@^4.0.0":
+  version "4.0.6"
+  resolved "https://registry.npmmirror.com/@types/acorn/-/acorn-4.0.6.tgz"
+  integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==
+  dependencies:
+    "@types/estree" "*"
+
+"@types/aria-query@^5.0.1":
+  version "5.0.4"
+  resolved "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz"
+  integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==
+
+"@types/babel__core@^7.1.14", "@types/babel__core@^7.18.0":
+  version "7.20.5"
+  resolved "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz"
+  integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
+  dependencies:
+    "@babel/parser" "^7.20.7"
+    "@babel/types" "^7.20.7"
+    "@types/babel__generator" "*"
+    "@types/babel__template" "*"
+    "@types/babel__traverse" "*"
+
+"@types/babel__generator@*":
+  version "7.6.8"
+  resolved "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz"
+  integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==
+  dependencies:
+    "@babel/types" "^7.0.0"
+
+"@types/babel__template@*":
+  version "7.4.4"
+  resolved "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz"
+  integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
+  dependencies:
+    "@babel/parser" "^7.1.0"
+    "@babel/types" "^7.0.0"
+
+"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.18.0":
+  version "7.20.6"
+  resolved "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz"
+  integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==
+  dependencies:
+    "@babel/types" "^7.20.7"
+
+"@types/cacheable-request@^6.0.1":
+  version "6.0.3"
+  resolved "https://registry.npmmirror.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz"
+  integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==
+  dependencies:
+    "@types/http-cache-semantics" "*"
+    "@types/keyv" "^3.1.4"
+    "@types/node" "*"
+    "@types/responselike" "^1.0.0"
+
+"@types/crypto-js@^4.1.1":
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/@types/crypto-js/-/crypto-js-4.1.1.tgz"
+  integrity sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==
+
+"@types/d3-array@*":
+  version "3.2.1"
+  resolved "https://registry.npmmirror.com/@types/d3-array/-/d3-array-3.2.1.tgz"
+  integrity sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==
+
+"@types/d3-axis@*":
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/@types/d3-axis/-/d3-axis-3.0.6.tgz"
+  integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==
+  dependencies:
+    "@types/d3-selection" "*"
+
+"@types/d3-brush@*":
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/@types/d3-brush/-/d3-brush-3.0.6.tgz"
+  integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==
+  dependencies:
+    "@types/d3-selection" "*"
+
+"@types/d3-chord@*":
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/@types/d3-chord/-/d3-chord-3.0.6.tgz"
+  integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==
+
+"@types/d3-color@*":
+  version "3.1.3"
+  resolved "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.3.tgz"
+  integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==
+
+"@types/d3-contour@*":
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/@types/d3-contour/-/d3-contour-3.0.6.tgz"
+  integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==
+  dependencies:
+    "@types/d3-array" "*"
+    "@types/geojson" "*"
+
+"@types/d3-delaunay@*":
+  version "6.0.4"
+  resolved "https://registry.npmmirror.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz"
+  integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==
+
+"@types/d3-dispatch@*":
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz"
+  integrity sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==
+
+"@types/d3-drag@*", "@types/d3-drag@^3.0.1":
+  version "3.0.7"
+  resolved "https://registry.npmmirror.com/@types/d3-drag/-/d3-drag-3.0.7.tgz"
+  integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==
+  dependencies:
+    "@types/d3-selection" "*"
+
+"@types/d3-dsv@*":
+  version "3.0.7"
+  resolved "https://registry.npmmirror.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz"
+  integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==
+
+"@types/d3-ease@*":
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/@types/d3-ease/-/d3-ease-3.0.2.tgz"
+  integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==
+
+"@types/d3-fetch@*":
+  version "3.0.7"
+  resolved "https://registry.npmmirror.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz"
+  integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==
+  dependencies:
+    "@types/d3-dsv" "*"
+
+"@types/d3-force@*":
+  version "3.0.9"
+  resolved "https://registry.npmmirror.com/@types/d3-force/-/d3-force-3.0.9.tgz"
+  integrity sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==
+
+"@types/d3-format@*":
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/@types/d3-format/-/d3-format-3.0.4.tgz"
+  integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==
+
+"@types/d3-geo@*":
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/@types/d3-geo/-/d3-geo-3.1.0.tgz"
+  integrity sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==
+  dependencies:
+    "@types/geojson" "*"
+
+"@types/d3-hierarchy@*":
+  version "3.1.7"
+  resolved "https://registry.npmmirror.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz"
+  integrity sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==
+
+"@types/d3-interpolate@*":
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz"
+  integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==
+  dependencies:
+    "@types/d3-color" "*"
+
+"@types/d3-path@*":
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/@types/d3-path/-/d3-path-3.1.0.tgz"
+  integrity sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==
+
+"@types/d3-polygon@*":
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz"
+  integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==
+
+"@types/d3-quadtree@*":
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz"
+  integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==
+
+"@types/d3-random@*":
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/@types/d3-random/-/d3-random-3.0.3.tgz"
+  integrity sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==
+
+"@types/d3-scale-chromatic@*":
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz"
+  integrity sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==
+
+"@types/d3-scale@*":
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/@types/d3-scale/-/d3-scale-4.0.4.tgz"
+  integrity sha512-eq1ZeTj0yr72L8MQk6N6heP603ubnywSDRfNpi5enouR112HzGLS6RIvExCzZTraFF4HdzNpJMwA/zGiMoHUUw==
+  dependencies:
+    "@types/d3-time" "*"
+
+"@types/d3-selection@*", "@types/d3-selection@^3.0.3":
+  version "3.0.10"
+  resolved "https://registry.npmmirror.com/@types/d3-selection/-/d3-selection-3.0.10.tgz"
+  integrity sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==
+
+"@types/d3-shape@*":
+  version "3.1.6"
+  resolved "https://registry.npmmirror.com/@types/d3-shape/-/d3-shape-3.1.6.tgz"
+  integrity sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==
+  dependencies:
+    "@types/d3-path" "*"
+
+"@types/d3-time-format@*":
+  version "4.0.3"
+  resolved "https://registry.npmmirror.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz"
+  integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==
+
+"@types/d3-time@*":
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/@types/d3-time/-/d3-time-3.0.0.tgz"
+  integrity sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==
+
+"@types/d3-timer@*":
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-3.0.2.tgz"
+  integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==
+
+"@types/d3-transition@*":
+  version "3.0.8"
+  resolved "https://registry.npmmirror.com/@types/d3-transition/-/d3-transition-3.0.8.tgz"
+  integrity sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==
+  dependencies:
+    "@types/d3-selection" "*"
+
+"@types/d3-zoom@*", "@types/d3-zoom@^3.0.1":
+  version "3.0.8"
+  resolved "https://registry.npmmirror.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz"
+  integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==
+  dependencies:
+    "@types/d3-interpolate" "*"
+    "@types/d3-selection" "*"
+
+"@types/d3@^7.4.0", "@types/d3@^7.4.3":
+  version "7.4.3"
+  resolved "https://registry.npmmirror.com/@types/d3/-/d3-7.4.3.tgz"
+  integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==
+  dependencies:
+    "@types/d3-array" "*"
+    "@types/d3-axis" "*"
+    "@types/d3-brush" "*"
+    "@types/d3-chord" "*"
+    "@types/d3-color" "*"
+    "@types/d3-contour" "*"
+    "@types/d3-delaunay" "*"
+    "@types/d3-dispatch" "*"
+    "@types/d3-drag" "*"
+    "@types/d3-dsv" "*"
+    "@types/d3-ease" "*"
+    "@types/d3-fetch" "*"
+    "@types/d3-force" "*"
+    "@types/d3-format" "*"
+    "@types/d3-geo" "*"
+    "@types/d3-hierarchy" "*"
+    "@types/d3-interpolate" "*"
+    "@types/d3-path" "*"
+    "@types/d3-polygon" "*"
+    "@types/d3-quadtree" "*"
+    "@types/d3-random" "*"
+    "@types/d3-scale" "*"
+    "@types/d3-scale-chromatic" "*"
+    "@types/d3-selection" "*"
+    "@types/d3-shape" "*"
+    "@types/d3-time" "*"
+    "@types/d3-time-format" "*"
+    "@types/d3-timer" "*"
+    "@types/d3-transition" "*"
+    "@types/d3-zoom" "*"
+
+"@types/dagre@^0.7.52":
+  version "0.7.52"
+  resolved "https://registry.npmmirror.com/@types/dagre/-/dagre-0.7.52.tgz"
+  integrity sha512-XKJdy+OClLk3hketHi9Qg6gTfe1F3y+UFnHxKA2rn9Dw+oXa4Gb378Ztz9HlMgZKSxpPmn4BNVh9wgkpvrK1uw==
+
+"@types/debug@^4.0.0":
+  version "4.1.8"
+  resolved "https://registry.npmmirror.com/@types/debug/-/debug-4.1.8.tgz"
+  integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==
+  dependencies:
+    "@types/ms" "*"
+
+"@types/doctrine@^0.0.9":
+  version "0.0.9"
+  resolved "https://registry.npmmirror.com/@types/doctrine/-/doctrine-0.0.9.tgz"
+  integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==
+
+"@types/eslint-scope@^3.7.7":
+  version "3.7.7"
+  resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz"
+  integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==
+  dependencies:
+    "@types/eslint" "*"
+    "@types/estree" "*"
+
+"@types/eslint@*":
+  version "9.6.1"
+  resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-9.6.1.tgz"
+  integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==
+  dependencies:
+    "@types/estree" "*"
+    "@types/json-schema" "*"
+
+"@types/estree-jsx@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz"
+  integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==
+  dependencies:
+    "@types/estree" "*"
+
+"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6":
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz"
+  integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
+
+"@types/geojson@*":
+  version "7946.0.14"
+  resolved "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.14.tgz"
+  integrity sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==
+
+"@types/graceful-fs@^4.1.3":
+  version "4.1.9"
+  resolved "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz"
+  integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==
+  dependencies:
+    "@types/node" "*"
+
+"@types/hast@^2.0.0":
+  version "2.3.4"
+  resolved "https://registry.npmmirror.com/@types/hast/-/hast-2.3.4.tgz"
+  integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
+  dependencies:
+    "@types/unist" "*"
+
+"@types/hast@^3.0.0":
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz"
+  integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==
+  dependencies:
+    "@types/unist" "*"
+
+"@types/html-minifier-terser@^6.0.0":
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz"
+  integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==
+
+"@types/http-cache-semantics@*":
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz"
+  integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==
+
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz"
+  integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==
+
+"@types/istanbul-lib-report@*":
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz"
+  integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==
+  dependencies:
+    "@types/istanbul-lib-coverage" "*"
+
+"@types/istanbul-reports@^3.0.0":
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz"
+  integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==
+  dependencies:
+    "@types/istanbul-lib-report" "*"
+
+"@types/jest@^29.5.12":
+  version "29.5.12"
+  resolved "https://registry.npmmirror.com/@types/jest/-/jest-29.5.12.tgz"
+  integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==
+  dependencies:
+    expect "^29.0.0"
+    pretty-format "^29.0.0"
+
+"@types/js-cookie@^2.x.x":
+  version "2.2.7"
+  resolved "https://registry.npmmirror.com/@types/js-cookie/-/js-cookie-2.2.7.tgz"
+  integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==
+
+"@types/js-cookie@^3.0.3":
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/@types/js-cookie/-/js-cookie-3.0.3.tgz"
+  integrity sha512-Xe7IImK09HP1sv2M/aI+48a20VX+TdRJucfq4vfRVy6nWN8PYPOEnlMRSgxJAgYQIXJVL8dZ4/ilAM7dWNaOww==
+
+"@types/jsdom@^20.0.0":
+  version "20.0.1"
+  resolved "https://registry.npmmirror.com/@types/jsdom/-/jsdom-20.0.1.tgz"
+  integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==
+  dependencies:
+    "@types/node" "*"
+    "@types/tough-cookie" "*"
+    parse5 "^7.0.0"
+
+"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
+  version "7.0.12"
+  resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.12.tgz"
+  integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
+
+"@types/json5@^0.0.29":
+  version "0.0.29"
+  resolved "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz"
+  integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
+
+"@types/katex@^0.14.0":
+  version "0.14.0"
+  resolved "https://registry.npmmirror.com/@types/katex/-/katex-0.14.0.tgz"
+  integrity sha512-+2FW2CcT0K3P+JMR8YG846bmDwplKUTsWgT2ENwdQ1UdVfRk3GQrh6Mi4sTopy30gI8Uau5CEqHTDZ6YvWIUPA==
+
+"@types/katex@^0.16.0":
+  version "0.16.0"
+  resolved "https://registry.npmmirror.com/@types/katex/-/katex-0.16.0.tgz"
+  integrity sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==
+
+"@types/keyv@^3.1.4":
+  version "3.1.4"
+  resolved "https://registry.npmmirror.com/@types/keyv/-/keyv-3.1.4.tgz"
+  integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==
+  dependencies:
+    "@types/node" "*"
+
+"@types/lodash-es@^4.17.7":
+  version "4.17.7"
+  resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.7.tgz"
+  integrity sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==
+  dependencies:
+    "@types/lodash" "*"
+
+"@types/lodash@*":
+  version "4.14.195"
+  resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.195.tgz"
+  integrity sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==
+
+"@types/mdast@^3.0.0":
+  version "3.0.11"
+  resolved "https://registry.npmmirror.com/@types/mdast/-/mdast-3.0.11.tgz"
+  integrity sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==
+  dependencies:
+    "@types/unist" "*"
+
+"@types/mdast@^4.0.0":
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz"
+  integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==
+  dependencies:
+    "@types/unist" "*"
+
+"@types/mdx@^2.0.0":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@types/mdx/-/mdx-2.0.5.tgz"
+  integrity sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==
+
+"@types/ms@*":
+  version "0.7.31"
+  resolved "https://registry.npmmirror.com/@types/ms/-/ms-0.7.31.tgz"
+  integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
+
+"@types/negotiator@^0.6.1":
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/@types/negotiator/-/negotiator-0.6.1.tgz"
+  integrity sha512-c4mvXFByghezQ/eVGN5HvH/jI63vm3B7FiE81BUzDAWmuiohRecCO6ddU60dfq29oKUMiQujsoB2h0JQC7JHKA==
+
+"@types/node@*", "@types/node@18.15.0":
+  version "18.15.0"
+  resolved "https://registry.npmmirror.com/@types/node/-/node-18.15.0.tgz"
+  integrity sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==
+
+"@types/node@^22.0.0":
+  version "22.9.0"
+  resolved "https://registry.npmmirror.com/@types/node/-/node-22.9.0.tgz"
+  integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==
+  dependencies:
+    undici-types "~6.19.8"
+
+"@types/normalize-package-data@^2.4.0":
+  version "2.4.1"
+  resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz"
+  integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
+
+"@types/papaparse@^5.3.1":
+  version "5.3.7"
+  resolved "https://registry.npmmirror.com/@types/papaparse/-/papaparse-5.3.7.tgz"
+  integrity sha512-f2HKmlnPdCvS0WI33WtCs5GD7X1cxzzS/aduaxSu3I7TbhWlENjSPs6z5TaB9K0J+BH1jbmqTaM+ja5puis4wg==
+  dependencies:
+    "@types/node" "*"
+
+"@types/parse-json@^4.0.0":
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz"
+  integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
+
+"@types/prop-types@*", "@types/prop-types@^15.0.0":
+  version "15.7.5"
+  resolved "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.5.tgz"
+  integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
+
+"@types/qs@^6.9.7":
+  version "6.9.7"
+  resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz"
+  integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
+
+"@types/react-dom@^18.0.0", "@types/react-dom@~18.2.0":
+  version "18.2.25"
+  resolved "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.2.25.tgz"
+  integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==
+  dependencies:
+    "@types/react" "*"
+
+"@types/react-slider@^1.3.1":
+  version "1.3.1"
+  resolved "https://registry.npmmirror.com/@types/react-slider/-/react-slider-1.3.1.tgz"
+  integrity sha512-4X2yK7RyCIy643YCFL+bc6XNmcnBtt8n88uuyihvcn5G7Lut23eNQU3q3KmwF7MWIfKfsW5NxCjw0SeDZRtgaA==
+  dependencies:
+    "@types/react" "*"
+
+"@types/react-syntax-highlighter@^15.5.6":
+  version "15.5.7"
+  resolved "https://registry.npmmirror.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.7.tgz"
+  integrity sha512-bo5fEO5toQeyCp0zVHBeggclqf5SQ/Z5blfFmjwO5dkMVGPgmiwZsJh9nu/Bo5L7IHTuGWrja6LxJVE2uB5ZrQ==
+  dependencies:
+    "@types/react" "*"
+
+"@types/react-window-infinite-loader@^1.0.6":
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.6.tgz"
+  integrity sha512-V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q==
+  dependencies:
+    "@types/react" "*"
+    "@types/react-window" "*"
+
+"@types/react-window@*", "@types/react-window@^1.8.5":
+  version "1.8.5"
+  resolved "https://registry.npmmirror.com/@types/react-window/-/react-window-1.8.5.tgz"
+  integrity sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==
+  dependencies:
+    "@types/react" "*"
+
+"@types/react@*", "@types/react@^18.0.0", "@types/react@>=16", "@types/react@>=16.8", "@types/react@~18.2.0":
+  version "18.2.79"
+  resolved "https://registry.npmmirror.com/@types/react/-/react-18.2.79.tgz"
+  integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==
+  dependencies:
+    "@types/prop-types" "*"
+    csstype "^3.0.2"
+
+"@types/recordrtc@^5.6.11":
+  version "5.6.11"
+  resolved "https://registry.npmmirror.com/@types/recordrtc/-/recordrtc-5.6.11.tgz"
+  integrity sha512-X4XD5nltz0cjmyzsPNegQReOPF+C5ARTfSPAPhqnKV7SsfRta/M4FBJ5AtSInCaEveL71FLLSVQE9mg8Uuo++w==
+
+"@types/resolve@^1.20.2":
+  version "1.20.6"
+  resolved "https://registry.npmmirror.com/@types/resolve/-/resolve-1.20.6.tgz"
+  integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==
+
+"@types/responselike@^1.0.0":
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/@types/responselike/-/responselike-1.0.3.tgz"
+  integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==
+  dependencies:
+    "@types/node" "*"
+
+"@types/semver@^7.3.12", "@types/semver@^7.3.4":
+  version "7.5.0"
+  resolved "https://registry.npmmirror.com/@types/semver/-/semver-7.5.0.tgz"
+  integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
+
+"@types/sortablejs@^1.15.1", "@types/sortablejs@1":
+  version "1.15.1"
+  resolved "https://registry.npmmirror.com/@types/sortablejs/-/sortablejs-1.15.1.tgz"
+  integrity sha512-g/JwBNToh6oCTAwNS8UGVmjO7NLDKsejVhvE4x1eWiPTC3uCuNsa/TD4ssvX3du+MLiM+SHPNDuijp8y76JzLQ==
+
+"@types/stack-utils@^2.0.0":
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz"
+  integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==
+
+"@types/tough-cookie@*":
+  version "4.0.5"
+  resolved "https://registry.npmmirror.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz"
+  integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
+
+"@types/trusted-types@^2.0.7":
+  version "2.0.7"
+  resolved "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz"
+  integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
+
+"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/@types/unist/-/unist-2.0.6.tgz"
+  integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
+
+"@types/unist@^3.0.0":
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz"
+  integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==
+
+"@types/uuid@^9.0.1", "@types/uuid@^9.0.8":
+  version "9.0.8"
+  resolved "https://registry.npmmirror.com/@types/uuid/-/uuid-9.0.8.tgz"
+  integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==
+
+"@types/yargs-parser@*":
+  version "21.0.3"
+  resolved "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz"
+  integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==
+
+"@types/yargs@^17.0.8":
+  version "17.0.33"
+  resolved "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.33.tgz"
+  integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==
+  dependencies:
+    "@types/yargs-parser" "*"
+
+"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@^5.53.0":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz"
+  integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==
+  dependencies:
+    "@eslint-community/regexpp" "^4.4.0"
+    "@typescript-eslint/scope-manager" "5.59.9"
+    "@typescript-eslint/type-utils" "5.59.9"
+    "@typescript-eslint/utils" "5.59.9"
+    debug "^4.3.4"
+    grapheme-splitter "^1.0.4"
+    ignore "^5.2.0"
+    natural-compare-lite "^1.4.0"
+    semver "^7.3.7"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^5.53.0":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.59.9.tgz"
+  integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==
+  dependencies:
+    "@typescript-eslint/scope-manager" "5.59.9"
+    "@typescript-eslint/types" "5.59.9"
+    "@typescript-eslint/typescript-estree" "5.59.9"
+    debug "^4.3.4"
+
+"@typescript-eslint/scope-manager@5.59.9":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz"
+  integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==
+  dependencies:
+    "@typescript-eslint/types" "5.59.9"
+    "@typescript-eslint/visitor-keys" "5.59.9"
+
+"@typescript-eslint/scope-manager@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz"
+  integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
+  dependencies:
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/visitor-keys" "5.62.0"
+
+"@typescript-eslint/type-utils@5.59.9":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz"
+  integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==
+  dependencies:
+    "@typescript-eslint/typescript-estree" "5.59.9"
+    "@typescript-eslint/utils" "5.59.9"
+    debug "^4.3.4"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/types@5.59.9":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.59.9.tgz"
+  integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==
+
+"@typescript-eslint/types@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.62.0.tgz"
+  integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
+
+"@typescript-eslint/typescript-estree@5.59.9":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz"
+  integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==
+  dependencies:
+    "@typescript-eslint/types" "5.59.9"
+    "@typescript-eslint/visitor-keys" "5.59.9"
+    debug "^4.3.4"
+    globby "^11.1.0"
+    is-glob "^4.0.3"
+    semver "^7.3.7"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/typescript-estree@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz"
+  integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
+  dependencies:
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/visitor-keys" "5.62.0"
+    debug "^4.3.4"
+    globby "^11.1.0"
+    is-glob "^4.0.3"
+    semver "^7.3.7"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.53.0", "@typescript-eslint/utils@5.59.9":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.59.9.tgz"
+  integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
+    "@types/json-schema" "^7.0.9"
+    "@types/semver" "^7.3.12"
+    "@typescript-eslint/scope-manager" "5.59.9"
+    "@typescript-eslint/types" "5.59.9"
+    "@typescript-eslint/typescript-estree" "5.59.9"
+    eslint-scope "^5.1.1"
+    semver "^7.3.7"
+
+"@typescript-eslint/utils@^5.62.0":
+  version "5.62.0"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.62.0.tgz"
+  integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
+    "@types/json-schema" "^7.0.9"
+    "@types/semver" "^7.3.12"
+    "@typescript-eslint/scope-manager" "5.62.0"
+    "@typescript-eslint/types" "5.62.0"
+    "@typescript-eslint/typescript-estree" "5.62.0"
+    eslint-scope "^5.1.1"
+    semver "^7.3.7"
+
+"@typescript-eslint/visitor-keys@5.59.9":
+  version "5.59.9"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz"
+  integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==
+  dependencies:
+    "@typescript-eslint/types" "5.59.9"
+    eslint-visitor-keys "^3.3.0"
+
+"@typescript-eslint/visitor-keys@5.62.0":
+  version "5.62.0"
+  resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz"
+  integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
+  dependencies:
+    "@typescript-eslint/types" "5.62.0"
+    eslint-visitor-keys "^3.3.0"
+
+"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0":
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
+  integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
+
+"@vitest/expect@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@vitest/expect/-/expect-2.0.5.tgz"
+  integrity sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==
+  dependencies:
+    "@vitest/spy" "2.0.5"
+    "@vitest/utils" "2.0.5"
+    chai "^5.1.1"
+    tinyrainbow "^1.2.0"
+
+"@vitest/pretty-format@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@vitest/pretty-format/-/pretty-format-2.0.5.tgz"
+  integrity sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==
+  dependencies:
+    tinyrainbow "^1.2.0"
+
+"@vitest/pretty-format@2.1.4":
+  version "2.1.4"
+  resolved "https://registry.npmmirror.com/@vitest/pretty-format/-/pretty-format-2.1.4.tgz"
+  integrity sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==
+  dependencies:
+    tinyrainbow "^1.2.0"
+
+"@vitest/spy@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@vitest/spy/-/spy-2.0.5.tgz"
+  integrity sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==
+  dependencies:
+    tinyspy "^3.0.0"
+
+"@vitest/utils@^2.1.1":
+  version "2.1.4"
+  resolved "https://registry.npmmirror.com/@vitest/utils/-/utils-2.1.4.tgz"
+  integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==
+  dependencies:
+    "@vitest/pretty-format" "2.1.4"
+    loupe "^3.1.2"
+    tinyrainbow "^1.2.0"
+
+"@vitest/utils@2.0.5":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@vitest/utils/-/utils-2.0.5.tgz"
+  integrity sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==
+  dependencies:
+    "@vitest/pretty-format" "2.0.5"
+    estree-walker "^3.0.3"
+    loupe "^3.1.1"
+    tinyrainbow "^1.2.0"
+
+"@vue/compiler-core@3.5.13":
+  version "3.5.13"
+  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz"
+  integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==
+  dependencies:
+    "@babel/parser" "^7.25.3"
+    "@vue/shared" "3.5.13"
+    entities "^4.5.0"
+    estree-walker "^2.0.2"
+    source-map-js "^1.2.0"
+
+"@vue/compiler-dom@^3.2.47":
+  version "3.5.13"
+  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz"
+  integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==
+  dependencies:
+    "@vue/compiler-core" "3.5.13"
+    "@vue/shared" "3.5.13"
+
+"@vue/shared@3.5.13":
+  version "3.5.13"
+  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz"
+  integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==
+
+"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz"
+  integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
+  dependencies:
+    "@webassemblyjs/helper-numbers" "1.13.2"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+
+"@webassemblyjs/floating-point-hex-parser@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz"
+  integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==
+
+"@webassemblyjs/helper-api-error@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz"
+  integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==
+
+"@webassemblyjs/helper-buffer@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz"
+  integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==
+
+"@webassemblyjs/helper-numbers@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz"
+  integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==
+  dependencies:
+    "@webassemblyjs/floating-point-hex-parser" "1.13.2"
+    "@webassemblyjs/helper-api-error" "1.13.2"
+    "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/helper-wasm-bytecode@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz"
+  integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==
+
+"@webassemblyjs/helper-wasm-section@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz"
+  integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==
+  dependencies:
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-buffer" "1.14.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/wasm-gen" "1.14.1"
+
+"@webassemblyjs/ieee754@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz"
+  integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==
+  dependencies:
+    "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz"
+  integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==
+  dependencies:
+    "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz"
+  integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==
+
+"@webassemblyjs/wasm-edit@^1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz"
+  integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==
+  dependencies:
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-buffer" "1.14.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/helper-wasm-section" "1.14.1"
+    "@webassemblyjs/wasm-gen" "1.14.1"
+    "@webassemblyjs/wasm-opt" "1.14.1"
+    "@webassemblyjs/wasm-parser" "1.14.1"
+    "@webassemblyjs/wast-printer" "1.14.1"
+
+"@webassemblyjs/wasm-gen@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz"
+  integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==
+  dependencies:
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/ieee754" "1.13.2"
+    "@webassemblyjs/leb128" "1.13.2"
+    "@webassemblyjs/utf8" "1.13.2"
+
+"@webassemblyjs/wasm-opt@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz"
+  integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==
+  dependencies:
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-buffer" "1.14.1"
+    "@webassemblyjs/wasm-gen" "1.14.1"
+    "@webassemblyjs/wasm-parser" "1.14.1"
+
+"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz"
+  integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
+  dependencies:
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-api-error" "1.13.2"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/ieee754" "1.13.2"
+    "@webassemblyjs/leb128" "1.13.2"
+    "@webassemblyjs/utf8" "1.13.2"
+
+"@webassemblyjs/wast-printer@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz"
+  integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==
+  dependencies:
+    "@webassemblyjs/ast" "1.14.1"
+    "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz"
+  integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+  version "4.2.2"
+  resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz"
+  integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+abab@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz"
+  integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
+
+abbrev@1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz"
+  integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+abort-controller@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/abort-controller/-/abort-controller-3.0.0.tgz"
+  integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+  dependencies:
+    event-target-shim "^5.0.0"
+
+acorn-globals@^7.0.0:
+  version "7.0.1"
+  resolved "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-7.0.1.tgz"
+  integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==
+  dependencies:
+    acorn "^8.1.0"
+    acorn-walk "^8.0.2"
+
+acorn-jsx@^5.0.0, acorn-jsx@^5.3.2:
+  version "5.3.2"
+  resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
+  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn-walk@^8.0.2, acorn-walk@^8.1.1:
+  version "8.3.3"
+  resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.3.tgz"
+  integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==
+  dependencies:
+    acorn "^8.11.0"
+
+"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.0.0, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
+  version "8.14.0"
+  resolved "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz"
+  integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
+
+adjust-sourcemap-loader@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz"
+  integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==
+  dependencies:
+    loader-utils "^2.0.0"
+    regex-parser "^2.2.11"
+
+agent-base@6:
+  version "6.0.2"
+  resolved "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz"
+  integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+  dependencies:
+    debug "4"
+
+aggregate-error@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz"
+  integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+  dependencies:
+    clean-stack "^2.0.0"
+    indent-string "^4.0.0"
+
+ahooks-v3-count@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/ahooks-v3-count/-/ahooks-v3-count-1.0.0.tgz"
+  integrity sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ==
+
+ahooks@^3.7.5:
+  version "3.7.7"
+  resolved "https://registry.npmmirror.com/ahooks/-/ahooks-3.7.7.tgz"
+  integrity sha512-5e5WlPq81Y84UnTLOKIQeq2cJw4aa7yj8fR2Nb/oMmXPrWMjIMCbPS1o+fpxSfCaNA3AzOnnMc8AehWRZltkJQ==
+  dependencies:
+    "@babel/runtime" "^7.21.0"
+    "@types/js-cookie" "^2.x.x"
+    ahooks-v3-count "^1.0.0"
+    dayjs "^1.9.1"
+    intersection-observer "^0.12.0"
+    js-cookie "^2.x.x"
+    lodash "^4.17.21"
+    resize-observer-polyfill "^1.5.1"
+    screenfull "^5.0.0"
+    tslib "^2.4.1"
+
+ajv-formats@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz"
+  integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+  dependencies:
+    ajv "^8.0.0"
+
+ajv-keywords@^3.5.2:
+  version "3.5.2"
+  resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
+  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv-keywords@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz"
+  integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
+  dependencies:
+    fast-deep-equal "^3.1.3"
+
+ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
+  version "6.12.6"
+  resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
+ajv@^8.0.0:
+  version "8.17.1"
+  resolved "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz"
+  integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+  dependencies:
+    fast-deep-equal "^3.1.3"
+    fast-uri "^3.0.1"
+    json-schema-traverse "^1.0.0"
+    require-from-string "^2.0.2"
+
+ajv@^8.8.2, ajv@^8.9.0:
+  version "8.17.1"
+  resolved "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz"
+  integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+  dependencies:
+    fast-deep-equal "^3.1.3"
+    fast-uri "^3.0.1"
+    json-schema-traverse "^1.0.0"
+    require-from-string "^2.0.2"
+
+ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
+  version "4.3.2"
+  resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
+  integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+  dependencies:
+    type-fest "^0.21.3"
+
+ansi-html-community@0.0.8:
+  version "0.0.8"
+  resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz"
+  integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
+
+ansi-html@^0.0.9:
+  version "0.0.9"
+  resolved "https://registry.npmmirror.com/ansi-html/-/ansi-html-0.0.9.tgz"
+  integrity sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==
+
+ansi-regex@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz"
+  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-regex@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz"
+  integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
+ansi-styles@^5.0.0:
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz"
+  integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+
+ansi-styles@^6.0.0:
+  version "6.2.1"
+  resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz"
+  integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+
+any-promise@^1.0.0:
+  version "1.3.0"
+  resolved "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz"
+  integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
+
+anymatch@^3.0.3, anymatch@~3.1.2:
+  version "3.1.3"
+  resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz"
+  integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+  dependencies:
+    normalize-path "^3.0.0"
+    picomatch "^2.0.4"
+
+"aproba@^1.0.3 || ^2.0.0":
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/aproba/-/aproba-2.0.0.tgz"
+  integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
+are-we-there-yet@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz"
+  integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
+  dependencies:
+    delegates "^1.0.0"
+    readable-stream "^3.6.0"
+
+arg@^4.1.0:
+  version "4.1.3"
+  resolved "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz"
+  integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
+arg@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz"
+  integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
+
+argparse@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz"
+  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+  dependencies:
+    sprintf-js "~1.0.2"
+
+argparse@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz"
+  integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+aria-query@^5.0.0, aria-query@^5.1.3, aria-query@5.3.0:
+  version "5.3.0"
+  resolved "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.0.tgz"
+  integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
+  dependencies:
+    dequal "^2.0.3"
+
+array-buffer-byte-length@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz"
+  integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
+  dependencies:
+    call-bind "^1.0.2"
+    is-array-buffer "^3.0.1"
+
+array-includes@^3.1.5, array-includes@^3.1.6, array-includes@^3.1.7:
+  version "3.1.7"
+  resolved "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.7.tgz"
+  integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+    is-string "^1.0.7"
+
+array-union@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz"
+  integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+array.prototype.findlastindex@^1.2.3:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz"
+  integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    es-shim-unscopables "^1.0.0"
+    get-intrinsic "^1.2.1"
+
+array.prototype.flat@^1.3.2:
+  version "1.3.2"
+  resolved "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz"
+  integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    es-shim-unscopables "^1.0.0"
+
+array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2:
+  version "1.3.2"
+  resolved "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz"
+  integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    es-shim-unscopables "^1.0.0"
+
+array.prototype.tosorted@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz"
+  integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    es-shim-unscopables "^1.0.0"
+    get-intrinsic "^1.2.1"
+
+arraybuffer.prototype.slice@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz"
+  integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==
+  dependencies:
+    array-buffer-byte-length "^1.0.0"
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+    is-array-buffer "^3.0.2"
+    is-shared-array-buffer "^1.0.2"
+
+asn1.js@^4.10.1:
+  version "4.10.1"
+  resolved "https://registry.npmmirror.com/asn1.js/-/asn1.js-4.10.1.tgz"
+  integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
+  dependencies:
+    bn.js "^4.0.0"
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+
+assert@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/assert/-/assert-2.1.0.tgz"
+  integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==
+  dependencies:
+    call-bind "^1.0.2"
+    is-nan "^1.3.2"
+    object-is "^1.1.5"
+    object.assign "^4.1.4"
+    util "^0.12.5"
+
+assertion-error@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/assertion-error/-/assertion-error-2.0.1.tgz"
+  integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==
+
+ast-types-flow@^0.0.7:
+  version "0.0.7"
+  resolved "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz"
+  integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==
+
+ast-types@^0.16.1:
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/ast-types/-/ast-types-0.16.1.tgz"
+  integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==
+  dependencies:
+    tslib "^2.0.1"
+
+astral-regex@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz"
+  integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
+astring@^1.8.0:
+  version "1.8.6"
+  resolved "https://registry.npmmirror.com/astring/-/astring-1.8.6.tgz"
+  integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==
+
+async@^2.6.4:
+  version "2.6.4"
+  resolved "https://registry.npmmirror.com/async/-/async-2.6.4.tgz"
+  integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
+  dependencies:
+    lodash "^4.17.14"
+
+asynciterator.prototype@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz"
+  integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==
+  dependencies:
+    has-symbols "^1.0.3"
+
+asynckit@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz"
+  integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+autoprefixer@^10.4.14:
+  version "10.4.14"
+  resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz"
+  integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==
+  dependencies:
+    browserslist "^4.21.5"
+    caniuse-lite "^1.0.30001464"
+    fraction.js "^4.2.0"
+    normalize-range "^0.1.2"
+    picocolors "^1.0.0"
+    postcss-value-parser "^4.2.0"
+
+available-typed-arrays@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
+  integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+
+axe-core@^4.6.2:
+  version "4.7.2"
+  resolved "https://registry.npmmirror.com/axe-core/-/axe-core-4.7.2.tgz"
+  integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==
+
+axobject-query@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/axobject-query/-/axobject-query-3.1.1.tgz"
+  integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==
+  dependencies:
+    deep-equal "^2.0.5"
+
+babel-jest@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/babel-jest/-/babel-jest-29.7.0.tgz"
+  integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
+  dependencies:
+    "@jest/transform" "^29.7.0"
+    "@types/babel__core" "^7.1.14"
+    babel-plugin-istanbul "^6.1.1"
+    babel-preset-jest "^29.6.3"
+    chalk "^4.0.0"
+    graceful-fs "^4.2.9"
+    slash "^3.0.0"
+
+babel-loader@^9.1.3:
+  version "9.2.1"
+  resolved "https://registry.npmmirror.com/babel-loader/-/babel-loader-9.2.1.tgz"
+  integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==
+  dependencies:
+    find-cache-dir "^4.0.0"
+    schema-utils "^4.0.0"
+
+babel-plugin-istanbul@^6.1.1:
+  version "6.1.1"
+  resolved "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz"
+  integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@istanbuljs/load-nyc-config" "^1.0.0"
+    "@istanbuljs/schema" "^0.1.2"
+    istanbul-lib-instrument "^5.0.4"
+    test-exclude "^6.0.0"
+
+babel-plugin-jest-hoist@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz"
+  integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==
+  dependencies:
+    "@babel/template" "^7.3.3"
+    "@babel/types" "^7.3.3"
+    "@types/babel__core" "^7.1.14"
+    "@types/babel__traverse" "^7.0.6"
+
+babel-plugin-polyfill-corejs2@^0.4.10:
+  version "0.4.11"
+  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz"
+  integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==
+  dependencies:
+    "@babel/compat-data" "^7.22.6"
+    "@babel/helper-define-polyfill-provider" "^0.6.2"
+    semver "^6.3.1"
+
+babel-plugin-polyfill-corejs3@^0.10.6:
+  version "0.10.6"
+  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz"
+  integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==
+  dependencies:
+    "@babel/helper-define-polyfill-provider" "^0.6.2"
+    core-js-compat "^3.38.0"
+
+babel-plugin-polyfill-regenerator@^0.6.1:
+  version "0.6.2"
+  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz"
+  integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==
+  dependencies:
+    "@babel/helper-define-polyfill-provider" "^0.6.2"
+
+babel-preset-current-node-syntax@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz"
+  integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
+  dependencies:
+    "@babel/plugin-syntax-async-generators" "^7.8.4"
+    "@babel/plugin-syntax-bigint" "^7.8.3"
+    "@babel/plugin-syntax-class-properties" "^7.8.3"
+    "@babel/plugin-syntax-import-meta" "^7.8.3"
+    "@babel/plugin-syntax-json-strings" "^7.8.3"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+    "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+    "@babel/plugin-syntax-top-level-await" "^7.8.3"
+
+babel-preset-jest@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
+  integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
+  dependencies:
+    babel-plugin-jest-hoist "^29.6.3"
+    babel-preset-current-node-syntax "^1.0.0"
+
+bail@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz"
+  integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
+
+balanced-match@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz"
+  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1:
+  version "1.5.1"
+  resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+better-opn@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/better-opn/-/better-opn-3.0.2.tgz"
+  integrity sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==
+  dependencies:
+    open "^8.0.4"
+
+big-integer@^1.6.44:
+  version "1.6.51"
+  resolved "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.51.tgz"
+  integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
+
+big.js@^5.2.2:
+  version "5.2.2"
+  resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz"
+  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz"
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bing-translate-api@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/bing-translate-api/-/bing-translate-api-4.0.2.tgz"
+  integrity sha512-JJ8XUehnxzOhHU91oy86xEtp8OOMjVEjCZJX042fKxoO19NNvxJ5omeCcxQNFoPbDqVpBJwqiGVquL0oPdQm1Q==
+  dependencies:
+    got "^11.8.6"
+
+bn.js@^4.0.0:
+  version "4.12.0"
+  resolved "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz"
+  integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+bn.js@^4.1.0:
+  version "4.12.0"
+  resolved "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz"
+  integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+bn.js@^4.11.9:
+  version "4.12.0"
+  resolved "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz"
+  integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+bn.js@^5.2.1:
+  version "5.2.1"
+  resolved "https://registry.npmmirror.com/bn.js/-/bn.js-5.2.1.tgz"
+  integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
+
+boolbase@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz"
+  integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+bplist-parser@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/bplist-parser/-/bplist-parser-0.2.0.tgz"
+  integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==
+  dependencies:
+    big-integer "^1.6.44"
+
+brace-expansion@^1.1.7:
+  version "1.1.11"
+  resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz"
+  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  dependencies:
+    balanced-match "^1.0.0"
+    concat-map "0.0.1"
+
+braces@^3.0.3, braces@~3.0.2:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz"
+  integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
+  dependencies:
+    fill-range "^7.1.1"
+
+brorand@^1.0.1, brorand@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/brorand/-/brorand-1.1.0.tgz"
+  integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
+
+browser-assert@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/browser-assert/-/browser-assert-1.2.1.tgz"
+  integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==
+
+browserify-aes@^1.0.4, browserify-aes@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/browserify-aes/-/browserify-aes-1.2.0.tgz"
+  integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+  dependencies:
+    buffer-xor "^1.0.3"
+    cipher-base "^1.0.0"
+    create-hash "^1.1.0"
+    evp_bytestokey "^1.0.3"
+    inherits "^2.0.1"
+    safe-buffer "^5.0.1"
+
+browserify-cipher@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz"
+  integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
+  dependencies:
+    browserify-aes "^1.0.4"
+    browserify-des "^1.0.0"
+    evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/browserify-des/-/browserify-des-1.0.2.tgz"
+  integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
+  dependencies:
+    cipher-base "^1.0.1"
+    des.js "^1.0.0"
+    inherits "^2.0.1"
+    safe-buffer "^5.1.2"
+
+browserify-rsa@^4.0.0, browserify-rsa@^4.1.0:
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz"
+  integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==
+  dependencies:
+    bn.js "^5.2.1"
+    randombytes "^2.1.0"
+    safe-buffer "^5.2.1"
+
+browserify-sign@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.npmmirror.com/browserify-sign/-/browserify-sign-4.2.3.tgz"
+  integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==
+  dependencies:
+    bn.js "^5.2.1"
+    browserify-rsa "^4.1.0"
+    create-hash "^1.2.0"
+    create-hmac "^1.1.7"
+    elliptic "^6.5.5"
+    hash-base "~3.0"
+    inherits "^2.0.4"
+    parse-asn1 "^5.1.7"
+    readable-stream "^2.3.8"
+    safe-buffer "^5.2.1"
+
+browserify-zlib@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz"
+  integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+  dependencies:
+    pako "~1.0.5"
+
+browserslist@^4.21.5, browserslist@^4.24.0, browserslist@^4.24.2, "browserslist@>= 4.21.0":
+  version "4.24.2"
+  resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.2.tgz"
+  integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==
+  dependencies:
+    caniuse-lite "^1.0.30001669"
+    electron-to-chromium "^1.5.41"
+    node-releases "^2.0.18"
+    update-browserslist-db "^1.1.1"
+
+bser@2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz"
+  integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+  dependencies:
+    node-int64 "^0.4.0"
+
+buffer-from@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz"
+  integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer-xor@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/buffer-xor/-/buffer-xor-1.0.3.tgz"
+  integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
+
+buffer@^6.0.3:
+  version "6.0.3"
+  resolved "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz"
+  integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+  dependencies:
+    base64-js "^1.3.1"
+    ieee754 "^1.2.1"
+
+builtin-modules@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz"
+  integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
+
+builtin-status-codes@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"
+  integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
+
+builtins@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/builtins/-/builtins-5.0.1.tgz"
+  integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==
+  dependencies:
+    semver "^7.0.0"
+
+bundle-name@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/bundle-name/-/bundle-name-3.0.0.tgz"
+  integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==
+  dependencies:
+    run-applescript "^5.0.0"
+
+busboy@1.6.0:
+  version "1.6.0"
+  resolved "https://registry.npmmirror.com/busboy/-/busboy-1.6.0.tgz"
+  integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
+  dependencies:
+    streamsearch "^1.1.0"
+
+cacheable-lookup@^5.0.3:
+  version "5.0.4"
+  resolved "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz"
+  integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
+
+cacheable-request@^7.0.2:
+  version "7.0.4"
+  resolved "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-7.0.4.tgz"
+  integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==
+  dependencies:
+    clone-response "^1.0.2"
+    get-stream "^5.1.0"
+    http-cache-semantics "^4.0.0"
+    keyv "^4.0.0"
+    lowercase-keys "^2.0.0"
+    normalize-url "^6.0.1"
+    responselike "^2.0.0"
+
+call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5, call-bind@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz"
+  integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
+  dependencies:
+    es-define-property "^1.0.0"
+    es-errors "^1.3.0"
+    function-bind "^1.1.2"
+    get-intrinsic "^1.2.4"
+    set-function-length "^1.2.1"
+
+callsites@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz"
+  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camel-case@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz"
+  integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
+  dependencies:
+    pascal-case "^3.1.2"
+    tslib "^2.0.3"
+
+camelcase-css@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz"
+  integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+
+camelcase@^5.3.1:
+  version "5.3.1"
+  resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz"
+  integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+camelcase@^6.2.0:
+  version "6.3.0"
+  resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz"
+  integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
+caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001669:
+  version "1.0.30001678"
+  resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz"
+  integrity sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==
+
+canvas@^2.11.2, canvas@^2.5.0:
+  version "2.11.2"
+  resolved "https://registry.npmmirror.com/canvas/-/canvas-2.11.2.tgz"
+  integrity sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==
+  dependencies:
+    "@mapbox/node-pre-gyp" "^1.0.0"
+    nan "^2.17.0"
+    simple-get "^3.0.3"
+
+case-sensitive-paths-webpack-plugin@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz"
+  integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
+
+ccount@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz"
+  integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
+
+chai@^5.1.1:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/chai/-/chai-5.1.2.tgz"
+  integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==
+  dependencies:
+    assertion-error "^2.0.1"
+    check-error "^2.1.1"
+    deep-eql "^5.0.1"
+    loupe "^3.1.0"
+    pathval "^2.0.0"
+
+chalk@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz"
+  integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+chalk@4.1.1:
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.1.tgz"
+  integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+chalk@5.2.0:
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/chalk/-/chalk-5.2.0.tgz"
+  integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
+
+char-regex@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz"
+  integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+
+character-entities-html4@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz"
+  integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
+
+character-entities-legacy@^1.0.0:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz"
+  integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
+
+character-entities-legacy@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz"
+  integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
+
+character-entities@^1.0.0:
+  version "1.2.4"
+  resolved "https://registry.npmmirror.com/character-entities/-/character-entities-1.2.4.tgz"
+  integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
+
+character-entities@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz"
+  integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
+
+character-reference-invalid@^1.0.0:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz"
+  integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+
+character-reference-invalid@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz"
+  integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
+
+check-error@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/check-error/-/check-error-2.1.1.tgz"
+  integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==
+
+chevrotain-allstar@~0.3.0:
+  version "0.3.1"
+  resolved "https://registry.npmmirror.com/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz"
+  integrity sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==
+  dependencies:
+    lodash-es "^4.17.21"
+
+chevrotain@^11.0.0, chevrotain@~11.0.3:
+  version "11.0.3"
+  resolved "https://registry.npmmirror.com/chevrotain/-/chevrotain-11.0.3.tgz"
+  integrity sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==
+  dependencies:
+    "@chevrotain/cst-dts-gen" "11.0.3"
+    "@chevrotain/gast" "11.0.3"
+    "@chevrotain/regexp-to-ast" "11.0.3"
+    "@chevrotain/types" "11.0.3"
+    "@chevrotain/utils" "11.0.3"
+    lodash-es "4.17.21"
+
+chokidar@^3.5.3, "chokidar@>=3.0.0 <4.0.0":
+  version "3.5.3"
+  resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz"
+  integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+  dependencies:
+    anymatch "~3.1.2"
+    braces "~3.0.2"
+    glob-parent "~5.1.2"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.6.0"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+chownr@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz"
+  integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
+chromatic@^11.4.0:
+  version "11.16.5"
+  resolved "https://registry.npmmirror.com/chromatic/-/chromatic-11.16.5.tgz"
+  integrity sha512-wUEKXyu3GYmUg6Jq13uyRE9iC8ph5gbfDHdyHH0vQathkGQrcjHHdoxI/GXKIjU6d+xupLon8sxRV9NuZKTWbA==
+
+chrome-trace-event@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz"
+  integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+
+ci-info@^3.2.0, ci-info@^3.6.1:
+  version "3.8.0"
+  resolved "https://registry.npmmirror.com/ci-info/-/ci-info-3.8.0.tgz"
+  integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/cipher-base/-/cipher-base-1.0.4.tgz"
+  integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+  dependencies:
+    inherits "^2.0.1"
+    safe-buffer "^5.0.1"
+
+cjs-module-lexer@^1.0.0, cjs-module-lexer@^1.2.3:
+  version "1.3.1"
+  resolved "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz"
+  integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==
+
+class-variance-authority@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.npmmirror.com/class-variance-authority/-/class-variance-authority-0.7.0.tgz"
+  integrity sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==
+  dependencies:
+    clsx "2.0.0"
+
+classcat@^5.0.3, classcat@^5.0.4:
+  version "5.0.5"
+  resolved "https://registry.npmmirror.com/classcat/-/classcat-5.0.5.tgz"
+  integrity sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==
+
+classnames@^2.2.1, classnames@^2.3.2:
+  version "2.3.2"
+  resolved "https://registry.npmmirror.com/classnames/-/classnames-2.3.2.tgz"
+  integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==
+
+classnames@2.3.1:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/classnames/-/classnames-2.3.1.tgz"
+  integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
+
+clean-css@^5.2.2:
+  version "5.3.3"
+  resolved "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz"
+  integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==
+  dependencies:
+    source-map "~0.6.0"
+
+clean-regexp@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/clean-regexp/-/clean-regexp-1.0.0.tgz"
+  integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==
+  dependencies:
+    escape-string-regexp "^1.0.5"
+
+clean-stack@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz"
+  integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-cursor@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz"
+  integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+  dependencies:
+    restore-cursor "^3.1.0"
+
+cli-truncate@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-2.1.0.tgz"
+  integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+  dependencies:
+    slice-ansi "^3.0.0"
+    string-width "^4.2.0"
+
+cli-truncate@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-3.1.0.tgz"
+  integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==
+  dependencies:
+    slice-ansi "^5.0.0"
+    string-width "^5.0.0"
+
+client-only@^0.0.1, client-only@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.npmmirror.com/client-only/-/client-only-0.0.1.tgz"
+  integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
+
+cliui@^8.0.1:
+  version "8.0.1"
+  resolved "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz"
+  integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
+  dependencies:
+    string-width "^4.2.0"
+    strip-ansi "^6.0.1"
+    wrap-ansi "^7.0.0"
+
+clone-response@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz"
+  integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==
+  dependencies:
+    mimic-response "^1.0.0"
+
+clsx@^1.1.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/clsx/-/clsx-1.2.1.tgz"
+  integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
+
+clsx@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/clsx/-/clsx-2.0.0.tgz"
+  integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==
+
+co@^4.6.0:
+  version "4.6.0"
+  resolved "https://registry.npmmirror.com/co/-/co-4.6.0.tgz"
+  integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+
+code-inspector-core@0.18.2:
+  version "0.18.2"
+  resolved "https://registry.npmmirror.com/code-inspector-core/-/code-inspector-core-0.18.2.tgz"
+  integrity sha512-2fnBXAF5apwrhvih6mseoklbcveMRulAByZiO2BNdfK77LjaBnbLZAxZqUVdgZhXmewkMBrVrPRQVRoldhdpIQ==
+  dependencies:
+    "@vue/compiler-dom" "^3.2.47"
+    chalk "^4.1.1"
+    dotenv "^16.1.4"
+    launch-ide "1.0.0"
+    portfinder "^1.0.28"
+
+code-inspector-plugin@^0.18.1:
+  version "0.18.2"
+  resolved "https://registry.npmmirror.com/code-inspector-plugin/-/code-inspector-plugin-0.18.2.tgz"
+  integrity sha512-LKOhA4YsoUZ6Dq4OQKP7G+kPcfeYGLoIQz7EDG4yoL5mqSu+uWR+0QvzoDc4HGXQ0jpkzEwlatbH6fBlbPiwKQ==
+  dependencies:
+    chalk "4.1.1"
+    code-inspector-core "0.18.2"
+    dotenv "^16.3.1"
+    esbuild-code-inspector-plugin "0.18.2"
+    vite-code-inspector-plugin "0.18.2"
+    webpack-code-inspector-plugin "0.18.2"
+
+collect-v8-coverage@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz"
+  integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==
+
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
+color-name@^1.0.0, color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.9.0:
+  version "1.9.1"
+  resolved "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz"
+  integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+  dependencies:
+    color-name "^1.0.0"
+    simple-swizzle "^0.2.2"
+
+color-support@^1.1.2:
+  version "1.1.3"
+  resolved "https://registry.npmmirror.com/color-support/-/color-support-1.1.3.tgz"
+  integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+color@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.npmmirror.com/color/-/color-4.2.3.tgz"
+  integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
+  dependencies:
+    color-convert "^2.0.1"
+    color-string "^1.9.0"
+
+colorette@^2.0.10, colorette@^2.0.19:
+  version "2.0.20"
+  resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz"
+  integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+
+combined-stream@^1.0.8:
+  version "1.0.8"
+  resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz"
+  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+  dependencies:
+    delayed-stream "~1.0.0"
+
+comma-separated-tokens@^1.0.0:
+  version "1.0.8"
+  resolved "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz"
+  integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
+
+comma-separated-tokens@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz"
+  integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
+
+commander@^10.0.0:
+  version "10.0.1"
+  resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz"
+  integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
+
+commander@^2.20.0:
+  version "2.20.3"
+  resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz"
+  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^4.0.0:
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz"
+  integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+
+commander@^8.3.0:
+  version "8.3.0"
+  resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz"
+  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
+commander@7:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz"
+  integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
+common-path-prefix@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz"
+  integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==
+
+commondir@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz"
+  integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz"
+  integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+confbox@^0.1.8:
+  version "0.1.8"
+  resolved "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz"
+  integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==
+
+console-browserify@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.2.0.tgz"
+  integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+
+console-control-strings@^1.0.0, console-control-strings@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz"
+  integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+
+constants-browserify@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/constants-browserify/-/constants-browserify-1.0.0.tgz"
+  integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
+
+convert-source-map@^1.7.0:
+  version "1.9.0"
+  resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz"
+  integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
+
+convert-source-map@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz"
+  integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
+copy-to-clipboard@^3.3.3:
+  version "3.3.3"
+  resolved "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz"
+  integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==
+  dependencies:
+    toggle-selection "^1.0.6"
+
+core-js-compat@^3.38.0, core-js-compat@^3.38.1:
+  version "3.39.0"
+  resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.39.0.tgz"
+  integrity sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==
+  dependencies:
+    browserslist "^4.24.2"
+
+core-js-pure@^3.23.3:
+  version "3.39.0"
+  resolved "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.39.0.tgz"
+  integrity sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==
+
+core-util-is@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz"
+  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cose-base@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/cose-base/-/cose-base-1.0.3.tgz"
+  integrity sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==
+  dependencies:
+    layout-base "^1.0.0"
+
+cose-base@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/cose-base/-/cose-base-2.2.0.tgz"
+  integrity sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==
+  dependencies:
+    layout-base "^2.0.0"
+
+cosmiconfig@^7.0.1:
+  version "7.1.0"
+  resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz"
+  integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
+  dependencies:
+    "@types/parse-json" "^4.0.0"
+    import-fresh "^3.2.1"
+    parse-json "^5.0.0"
+    path-type "^4.0.0"
+    yaml "^1.10.0"
+
+cosmiconfig@^9.0.0:
+  version "9.0.0"
+  resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz"
+  integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==
+  dependencies:
+    env-paths "^2.2.1"
+    import-fresh "^3.3.0"
+    js-yaml "^4.1.0"
+    parse-json "^5.2.0"
+
+create-ecdh@^4.0.4:
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz"
+  integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
+  dependencies:
+    bn.js "^4.1.0"
+    elliptic "^6.5.3"
+
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/create-hash/-/create-hash-1.2.0.tgz"
+  integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+  dependencies:
+    cipher-base "^1.0.1"
+    inherits "^2.0.1"
+    md5.js "^1.3.4"
+    ripemd160 "^2.0.1"
+    sha.js "^2.4.0"
+
+create-hmac@^1.1.4, create-hmac@^1.1.7:
+  version "1.1.7"
+  resolved "https://registry.npmmirror.com/create-hmac/-/create-hmac-1.1.7.tgz"
+  integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+  dependencies:
+    cipher-base "^1.0.3"
+    create-hash "^1.1.0"
+    inherits "^2.0.1"
+    ripemd160 "^2.0.0"
+    safe-buffer "^5.0.1"
+    sha.js "^2.4.8"
+
+create-jest@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/create-jest/-/create-jest-29.7.0.tgz"
+  integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    chalk "^4.0.0"
+    exit "^0.1.2"
+    graceful-fs "^4.2.9"
+    jest-config "^29.7.0"
+    jest-util "^29.7.0"
+    prompts "^2.0.1"
+
+create-require@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz"
+  integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
+cross-env@^7.0.3:
+  version "7.0.3"
+  resolved "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz"
+  integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
+  dependencies:
+    cross-spawn "^7.0.1"
+
+cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+  version "7.0.6"
+  resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz"
+  integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
+  dependencies:
+    path-key "^3.1.0"
+    shebang-command "^2.0.0"
+    which "^2.0.1"
+
+crypto-browserify@^3.12.0:
+  version "3.12.1"
+  resolved "https://registry.npmmirror.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz"
+  integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==
+  dependencies:
+    browserify-cipher "^1.0.1"
+    browserify-sign "^4.2.3"
+    create-ecdh "^4.0.4"
+    create-hash "^1.2.0"
+    create-hmac "^1.1.7"
+    diffie-hellman "^5.0.3"
+    hash-base "~3.0.4"
+    inherits "^2.0.4"
+    pbkdf2 "^3.1.2"
+    public-encrypt "^4.0.3"
+    randombytes "^2.1.0"
+    randomfill "^1.0.4"
+
+crypto-js@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz"
+  integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
+
+css-loader@^6.7.1, css-loader@^6.7.3:
+  version "6.11.0"
+  resolved "https://registry.npmmirror.com/css-loader/-/css-loader-6.11.0.tgz"
+  integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==
+  dependencies:
+    icss-utils "^5.1.0"
+    postcss "^8.4.33"
+    postcss-modules-extract-imports "^3.1.0"
+    postcss-modules-local-by-default "^4.0.5"
+    postcss-modules-scope "^3.2.0"
+    postcss-modules-values "^4.0.0"
+    postcss-value-parser "^4.2.0"
+    semver "^7.5.4"
+
+css-select@^4.1.3:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz"
+  integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+  dependencies:
+    boolbase "^1.0.0"
+    css-what "^6.0.1"
+    domhandler "^4.3.1"
+    domutils "^2.8.0"
+    nth-check "^2.0.1"
+
+css-what@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz"
+  integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
+css.escape@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz"
+  integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==
+
+cssesc@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz"
+  integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
+cssom@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.npmmirror.com/cssom/-/cssom-0.5.0.tgz"
+  integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==
+
+cssom@~0.3.6:
+  version "0.3.8"
+  resolved "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz"
+  integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+cssstyle@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz"
+  integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
+  dependencies:
+    cssom "~0.3.6"
+
+csstype@^3.0.2:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz"
+  integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
+
+cytoscape-cose-bilkent@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz"
+  integrity sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==
+  dependencies:
+    cose-base "^1.0.0"
+
+cytoscape-fcose@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz"
+  integrity sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==
+  dependencies:
+    cose-base "^2.2.0"
+
+cytoscape@^3.2.0, cytoscape@^3.29.2:
+  version "3.30.3"
+  resolved "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.30.3.tgz"
+  integrity sha512-HncJ9gGJbVtw7YXtIs3+6YAFSSiKsom0amWc33Z7QbylbY2JGMrA0yz4EwrdTScZxnwclXeEZHzO5pxoy0ZE4g==
+
+d3-array@^3.2.0, "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3:
+  version "3.2.4"
+  resolved "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz"
+  integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
+  dependencies:
+    internmap "1 - 2"
+
+"d3-array@1 - 2":
+  version "2.12.1"
+  resolved "https://registry.npmmirror.com/d3-array/-/d3-array-2.12.1.tgz"
+  integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==
+  dependencies:
+    internmap "^1.0.0"
+
+d3-axis@3:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/d3-axis/-/d3-axis-3.0.0.tgz"
+  integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==
+
+d3-brush@3:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/d3-brush/-/d3-brush-3.0.0.tgz"
+  integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==
+  dependencies:
+    d3-dispatch "1 - 3"
+    d3-drag "2 - 3"
+    d3-interpolate "1 - 3"
+    d3-selection "3"
+    d3-transition "3"
+
+d3-chord@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-chord/-/d3-chord-3.0.1.tgz"
+  integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==
+  dependencies:
+    d3-path "1 - 3"
+
+"d3-color@1 - 3", d3-color@3:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz"
+  integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
+
+d3-contour@4:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/d3-contour/-/d3-contour-4.0.2.tgz"
+  integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==
+  dependencies:
+    d3-array "^3.2.0"
+
+d3-delaunay@6:
+  version "6.0.4"
+  resolved "https://registry.npmmirror.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz"
+  integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==
+  dependencies:
+    delaunator "5"
+
+"d3-dispatch@1 - 3", d3-dispatch@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz"
+  integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==
+
+d3-drag@^3.0.0, "d3-drag@2 - 3", d3-drag@3:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz"
+  integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==
+  dependencies:
+    d3-dispatch "1 - 3"
+    d3-selection "3"
+
+"d3-dsv@1 - 3", d3-dsv@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-dsv/-/d3-dsv-3.0.1.tgz"
+  integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==
+  dependencies:
+    commander "7"
+    iconv-lite "0.6"
+    rw "1"
+
+"d3-ease@1 - 3", d3-ease@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz"
+  integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
+
+d3-fetch@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-fetch/-/d3-fetch-3.0.1.tgz"
+  integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==
+  dependencies:
+    d3-dsv "1 - 3"
+
+d3-force@3:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz"
+  integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==
+  dependencies:
+    d3-dispatch "1 - 3"
+    d3-quadtree "1 - 3"
+    d3-timer "1 - 3"
+
+"d3-format@1 - 3", d3-format@3:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz"
+  integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==
+
+d3-geo@3:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/d3-geo/-/d3-geo-3.1.1.tgz"
+  integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==
+  dependencies:
+    d3-array "2.5.0 - 3"
+
+d3-hierarchy@3:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz"
+  integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==
+
+"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz"
+  integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
+  dependencies:
+    d3-color "1 - 3"
+
+d3-path@^3.1.0, "d3-path@1 - 3", d3-path@3:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz"
+  integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==
+
+d3-path@1:
+  version "1.0.9"
+  resolved "https://registry.npmmirror.com/d3-path/-/d3-path-1.0.9.tgz"
+  integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==
+
+d3-polygon@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-3.0.1.tgz"
+  integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==
+
+"d3-quadtree@1 - 3", d3-quadtree@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz"
+  integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==
+
+d3-random@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-random/-/d3-random-3.0.1.tgz"
+  integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==
+
+d3-sankey@^0.12.3:
+  version "0.12.3"
+  resolved "https://registry.npmmirror.com/d3-sankey/-/d3-sankey-0.12.3.tgz"
+  integrity sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==
+  dependencies:
+    d3-array "1 - 2"
+    d3-shape "^1.2.0"
+
+d3-scale-chromatic@3:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz"
+  integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==
+  dependencies:
+    d3-color "1 - 3"
+    d3-interpolate "1 - 3"
+
+d3-scale@4:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz"
+  integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==
+  dependencies:
+    d3-array "2.10.0 - 3"
+    d3-format "1 - 3"
+    d3-interpolate "1.2.0 - 3"
+    d3-time "2.1.1 - 3"
+    d3-time-format "2 - 4"
+
+d3-selection@^3.0.0, "d3-selection@2 - 3", d3-selection@3:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz"
+  integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
+
+d3-shape@^1.2.0:
+  version "1.3.7"
+  resolved "https://registry.npmmirror.com/d3-shape/-/d3-shape-1.3.7.tgz"
+  integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==
+  dependencies:
+    d3-path "1"
+
+d3-shape@3:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/d3-shape/-/d3-shape-3.2.0.tgz"
+  integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==
+  dependencies:
+    d3-path "^3.1.0"
+
+"d3-time-format@2 - 4", d3-time-format@4:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz"
+  integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==
+  dependencies:
+    d3-time "1 - 3"
+
+"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz"
+  integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
+  dependencies:
+    d3-array "2 - 3"
+
+"d3-timer@1 - 3", d3-timer@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz"
+  integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
+
+"d3-transition@2 - 3", d3-transition@3:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz"
+  integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==
+  dependencies:
+    d3-color "1 - 3"
+    d3-dispatch "1 - 3"
+    d3-ease "1 - 3"
+    d3-interpolate "1 - 3"
+    d3-timer "1 - 3"
+
+d3-zoom@^3.0.0, d3-zoom@3:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz"
+  integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==
+  dependencies:
+    d3-dispatch "1 - 3"
+    d3-drag "2 - 3"
+    d3-interpolate "1 - 3"
+    d3-selection "2 - 3"
+    d3-transition "2 - 3"
+
+d3@^7.9.0:
+  version "7.9.0"
+  resolved "https://registry.npmmirror.com/d3/-/d3-7.9.0.tgz"
+  integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==
+  dependencies:
+    d3-array "3"
+    d3-axis "3"
+    d3-brush "3"
+    d3-chord "3"
+    d3-color "3"
+    d3-contour "4"
+    d3-delaunay "6"
+    d3-dispatch "3"
+    d3-drag "3"
+    d3-dsv "3"
+    d3-ease "3"
+    d3-fetch "3"
+    d3-force "3"
+    d3-format "3"
+    d3-geo "3"
+    d3-hierarchy "3"
+    d3-interpolate "3"
+    d3-path "3"
+    d3-polygon "3"
+    d3-quadtree "3"
+    d3-random "3"
+    d3-scale "4"
+    d3-scale-chromatic "3"
+    d3-selection "3"
+    d3-shape "3"
+    d3-time "3"
+    d3-time-format "4"
+    d3-timer "3"
+    d3-transition "3"
+    d3-zoom "3"
+
+dagre-d3-es@7.0.11:
+  version "7.0.11"
+  resolved "https://registry.npmmirror.com/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz"
+  integrity sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==
+  dependencies:
+    d3 "^7.9.0"
+    lodash-es "^4.17.21"
+
+damerau-levenshtein@^1.0.8:
+  version "1.0.8"
+  resolved "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz"
+  integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
+
+data-urls@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/data-urls/-/data-urls-3.0.2.tgz"
+  integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==
+  dependencies:
+    abab "^2.0.6"
+    whatwg-mimetype "^3.0.0"
+    whatwg-url "^11.0.0"
+
+dayjs@^1.11.10, dayjs@^1.11.7, dayjs@^1.9.1:
+  version "1.11.13"
+  resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz"
+  integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
+
+debug@^3.2.7:
+  version "3.2.7"
+  resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz"
+  integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+  dependencies:
+    ms "^2.1.1"
+
+debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4:
+  version "4.3.4"
+  resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+  dependencies:
+    ms "2.1.2"
+
+debug@^4.4.0:
+  version "4.4.0"
+  resolved "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz"
+  integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
+  dependencies:
+    ms "^2.1.3"
+
+decimal.js@^10.4.2, decimal.js@^10.4.3:
+  version "10.4.3"
+  resolved "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz"
+  integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
+
+decode-named-character-reference@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz"
+  integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==
+  dependencies:
+    character-entities "^2.0.0"
+
+decompress-response@^4.2.0:
+  version "4.2.1"
+  resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-4.2.1.tgz"
+  integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
+  dependencies:
+    mimic-response "^2.0.0"
+
+decompress-response@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz"
+  integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
+  dependencies:
+    mimic-response "^3.1.0"
+
+dedent@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz"
+  integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
+
+dedent@^1.0.0:
+  version "1.5.3"
+  resolved "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz"
+  integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==
+
+deep-eql@^5.0.1:
+  version "5.0.2"
+  resolved "https://registry.npmmirror.com/deep-eql/-/deep-eql-5.0.2.tgz"
+  integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==
+
+deep-equal@^2.0.5:
+  version "2.2.1"
+  resolved "https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.1.tgz"
+  integrity sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==
+  dependencies:
+    array-buffer-byte-length "^1.0.0"
+    call-bind "^1.0.2"
+    es-get-iterator "^1.1.3"
+    get-intrinsic "^1.2.0"
+    is-arguments "^1.1.1"
+    is-array-buffer "^3.0.2"
+    is-date-object "^1.0.5"
+    is-regex "^1.1.4"
+    is-shared-array-buffer "^1.0.2"
+    isarray "^2.0.5"
+    object-is "^1.1.5"
+    object-keys "^1.1.1"
+    object.assign "^4.1.4"
+    regexp.prototype.flags "^1.5.0"
+    side-channel "^1.0.4"
+    which-boxed-primitive "^1.0.2"
+    which-collection "^1.0.1"
+    which-typed-array "^1.1.9"
+
+deep-is@^0.1.3:
+  version "0.1.4"
+  resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz"
+  integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+deepmerge@^4.2.2:
+  version "4.3.1"
+  resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz"
+  integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
+
+default-browser-id@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-3.0.0.tgz"
+  integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==
+  dependencies:
+    bplist-parser "^0.2.0"
+    untildify "^4.0.0"
+
+default-browser@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/default-browser/-/default-browser-4.0.0.tgz"
+  integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==
+  dependencies:
+    bundle-name "^3.0.0"
+    default-browser-id "^3.0.0"
+    execa "^7.1.1"
+    titleize "^3.0.0"
+
+defer-to-connect@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz"
+  integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
+
+define-data-property@^1.0.1, define-data-property@^1.1.4:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz"
+  integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
+  dependencies:
+    es-define-property "^1.0.0"
+    es-errors "^1.3.0"
+    gopd "^1.0.1"
+
+define-lazy-prop@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz"
+  integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
+
+define-lazy-prop@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz"
+  integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==
+
+define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz"
+  integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
+  dependencies:
+    define-data-property "^1.0.1"
+    has-property-descriptors "^1.0.0"
+    object-keys "^1.1.1"
+
+delaunator@5:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/delaunator/-/delaunator-5.0.1.tgz"
+  integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==
+  dependencies:
+    robust-predicates "^3.0.2"
+
+delayed-stream@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz"
+  integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz"
+  integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+
+dequal@^2.0.0, dequal@^2.0.2, dequal@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz"
+  integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
+des.js@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/des.js/-/des.js-1.1.0.tgz"
+  integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==
+  dependencies:
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+
+detect-libc@^2.0.0, detect-libc@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.0.3.tgz"
+  integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==
+
+detect-newline@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz"
+  integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+
+devlop@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz"
+  integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==
+  dependencies:
+    dequal "^2.0.0"
+
+didyoumean@^1.2.2:
+  version "1.2.2"
+  resolved "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz"
+  integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
+
+diff-sequences@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-29.6.3.tgz"
+  integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
+
+diff@^4.0.1:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz"
+  integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
+diff@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.npmmirror.com/diff/-/diff-5.1.0.tgz"
+  integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
+
+diffie-hellman@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.npmmirror.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz"
+  integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
+  dependencies:
+    bn.js "^4.1.0"
+    miller-rabin "^4.0.0"
+    randombytes "^2.0.0"
+
+dir-glob@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz"
+  integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+  dependencies:
+    path-type "^4.0.0"
+
+dlv@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz"
+  integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
+
+doctrine@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz"
+  integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+  dependencies:
+    esutils "^2.0.2"
+
+doctrine@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz"
+  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+  dependencies:
+    esutils "^2.0.2"
+
+dom-accessibility-api@^0.5.9:
+  version "0.5.16"
+  resolved "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz"
+  integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==
+
+dom-accessibility-api@^0.6.3:
+  version "0.6.3"
+  resolved "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz"
+  integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==
+
+dom-converter@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz"
+  integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
+  dependencies:
+    utila "~0.4"
+
+dom-serializer@^1.0.1:
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz"
+  integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.2.0"
+    entities "^2.0.0"
+
+dom-serializer@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz"
+  integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+  dependencies:
+    domelementtype "^2.3.0"
+    domhandler "^5.0.2"
+    entities "^4.2.0"
+
+domain-browser@^4.22.0:
+  version "4.23.0"
+  resolved "https://registry.npmmirror.com/domain-browser/-/domain-browser-4.23.0.tgz"
+  integrity sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==
+
+domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz"
+  integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domexception@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/domexception/-/domexception-4.0.0.tgz"
+  integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==
+  dependencies:
+    webidl-conversions "^7.0.0"
+
+domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
+  version "4.3.1"
+  resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz"
+  integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+  dependencies:
+    domelementtype "^2.2.0"
+
+domhandler@^5.0.2, domhandler@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz"
+  integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+  dependencies:
+    domelementtype "^2.3.0"
+
+dompurify@^3.2.1:
+  version "3.2.2"
+  resolved "https://registry.npmmirror.com/dompurify/-/dompurify-3.2.2.tgz"
+  integrity sha512-YMM+erhdZ2nkZ4fTNRTSI94mb7VG7uVF5vj5Zde7tImgnhZE3R6YW/IACGIHb2ux+QkEXMhe591N+5jWOmL4Zw==
+  optionalDependencies:
+    "@types/trusted-types" "^2.0.7"
+
+domutils@^2.5.2:
+  version "2.8.0"
+  resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz"
+  integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.2.0"
+    domhandler "^4.2.0"
+
+domutils@^2.8.0:
+  version "2.8.0"
+  resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz"
+  integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.2.0"
+    domhandler "^4.2.0"
+
+domutils@^3.0.1:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz"
+  integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
+  dependencies:
+    dom-serializer "^2.0.0"
+    domelementtype "^2.3.0"
+    domhandler "^5.0.3"
+
+dot-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz"
+  integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
+
+dotenv@^16.1.4, dotenv@^16.3.1:
+  version "16.4.7"
+  resolved "https://registry.npmmirror.com/dotenv/-/dotenv-16.4.7.tgz"
+  integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==
+
+eastasianwidth@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
+  integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
+echarts-for-react@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz"
+  integrity sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==
+  dependencies:
+    fast-deep-equal "^3.1.3"
+    size-sensor "^1.0.1"
+
+"echarts@^3.0.0 || ^4.0.0 || ^5.0.0", echarts@^5.5.1:
+  version "5.5.1"
+  resolved "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz"
+  integrity sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==
+  dependencies:
+    tslib "2.3.0"
+    zrender "5.6.0"
+
+electron-to-chromium@^1.5.41:
+  version "1.5.52"
+  resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz"
+  integrity sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==
+
+elkjs@^0.9.3:
+  version "0.9.3"
+  resolved "https://registry.npmmirror.com/elkjs/-/elkjs-0.9.3.tgz"
+  integrity sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==
+
+elliptic@^6.5.3, elliptic@^6.5.5:
+  version "6.6.0"
+  resolved "https://registry.npmmirror.com/elliptic/-/elliptic-6.6.0.tgz"
+  integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==
+  dependencies:
+    bn.js "^4.11.9"
+    brorand "^1.1.0"
+    hash.js "^1.0.0"
+    hmac-drbg "^1.0.1"
+    inherits "^2.0.4"
+    minimalistic-assert "^1.0.1"
+    minimalistic-crypto-utils "^1.0.1"
+
+emittery@^0.13.1:
+  version "0.13.1"
+  resolved "https://registry.npmmirror.com/emittery/-/emittery-0.13.1.tgz"
+  integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
+
+emoji-mart@^5.5.2:
+  version "5.5.2"
+  resolved "https://registry.npmmirror.com/emoji-mart/-/emoji-mart-5.5.2.tgz"
+  integrity sha512-Sqc/nso4cjxhOwWJsp9xkVm8OF5c+mJLZJFoFfzRuKO+yWiN7K8c96xmtughYb0d/fZ8UC6cLIQ/p4BR6Pv3/A==
+
+emoji-regex@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz"
+  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.2.2:
+  version "9.2.2"
+  resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz"
+  integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+emojis-list@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz"
+  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+end-of-stream@^1.1.0:
+  version "1.4.4"
+  resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz"
+  integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+  dependencies:
+    once "^1.4.0"
+
+endent@^2.0.1:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/endent/-/endent-2.1.0.tgz"
+  integrity sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==
+  dependencies:
+    dedent "^0.7.0"
+    fast-json-parse "^1.0.3"
+    objectorarray "^1.0.5"
+
+enhanced-resolve@^5.12.0, enhanced-resolve@^5.17.1, enhanced-resolve@^5.7.0:
+  version "5.17.1"
+  resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz"
+  integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==
+  dependencies:
+    graceful-fs "^4.2.4"
+    tapable "^2.2.0"
+
+entities@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz"
+  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^4.2.0, entities@^4.4.0, entities@^4.5.0:
+  version "4.5.0"
+  resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz"
+  integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
+env-paths@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz"
+  integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
+
+error-ex@^1.3.1:
+  version "1.3.2"
+  resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz"
+  integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+  dependencies:
+    is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.6:
+  version "2.1.4"
+  resolved "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz"
+  integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==
+  dependencies:
+    stackframe "^1.3.4"
+
+es-abstract@^1.20.4, es-abstract@^1.22.1:
+  version "1.22.3"
+  resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.22.3.tgz"
+  integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==
+  dependencies:
+    array-buffer-byte-length "^1.0.0"
+    arraybuffer.prototype.slice "^1.0.2"
+    available-typed-arrays "^1.0.5"
+    call-bind "^1.0.5"
+    es-set-tostringtag "^2.0.1"
+    es-to-primitive "^1.2.1"
+    function.prototype.name "^1.1.6"
+    get-intrinsic "^1.2.2"
+    get-symbol-description "^1.0.0"
+    globalthis "^1.0.3"
+    gopd "^1.0.1"
+    has-property-descriptors "^1.0.0"
+    has-proto "^1.0.1"
+    has-symbols "^1.0.3"
+    hasown "^2.0.0"
+    internal-slot "^1.0.5"
+    is-array-buffer "^3.0.2"
+    is-callable "^1.2.7"
+    is-negative-zero "^2.0.2"
+    is-regex "^1.1.4"
+    is-shared-array-buffer "^1.0.2"
+    is-string "^1.0.7"
+    is-typed-array "^1.1.12"
+    is-weakref "^1.0.2"
+    object-inspect "^1.13.1"
+    object-keys "^1.1.1"
+    object.assign "^4.1.4"
+    regexp.prototype.flags "^1.5.1"
+    safe-array-concat "^1.0.1"
+    safe-regex-test "^1.0.0"
+    string.prototype.trim "^1.2.8"
+    string.prototype.trimend "^1.0.7"
+    string.prototype.trimstart "^1.0.7"
+    typed-array-buffer "^1.0.0"
+    typed-array-byte-length "^1.0.0"
+    typed-array-byte-offset "^1.0.0"
+    typed-array-length "^1.0.4"
+    unbox-primitive "^1.0.2"
+    which-typed-array "^1.1.13"
+
+es-define-property@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz"
+  integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
+  dependencies:
+    get-intrinsic "^1.2.4"
+
+es-errors@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz"
+  integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
+es-get-iterator@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz"
+  integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.3"
+    has-symbols "^1.0.3"
+    is-arguments "^1.1.1"
+    is-map "^2.0.2"
+    is-set "^2.0.2"
+    is-string "^1.0.7"
+    isarray "^2.0.5"
+    stop-iteration-iterator "^1.0.0"
+
+es-iterator-helpers@^1.0.12:
+  version "1.0.15"
+  resolved "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz"
+  integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==
+  dependencies:
+    asynciterator.prototype "^1.0.0"
+    call-bind "^1.0.2"
+    define-properties "^1.2.1"
+    es-abstract "^1.22.1"
+    es-set-tostringtag "^2.0.1"
+    function-bind "^1.1.1"
+    get-intrinsic "^1.2.1"
+    globalthis "^1.0.3"
+    has-property-descriptors "^1.0.0"
+    has-proto "^1.0.1"
+    has-symbols "^1.0.3"
+    internal-slot "^1.0.5"
+    iterator.prototype "^1.1.2"
+    safe-array-concat "^1.0.1"
+
+es-module-lexer@^1.2.1, es-module-lexer@^1.5.0:
+  version "1.5.4"
+  resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz"
+  integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==
+
+es-set-tostringtag@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz"
+  integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
+  dependencies:
+    get-intrinsic "^1.1.3"
+    has "^1.0.3"
+    has-tostringtag "^1.0.0"
+
+es-shim-unscopables@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz"
+  integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
+  dependencies:
+    has "^1.0.3"
+
+es-to-primitive@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz"
+  integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+  dependencies:
+    is-callable "^1.1.4"
+    is-date-object "^1.0.1"
+    is-symbol "^1.0.2"
+
+esbuild-code-inspector-plugin@0.18.2:
+  version "0.18.2"
+  resolved "https://registry.npmmirror.com/esbuild-code-inspector-plugin/-/esbuild-code-inspector-plugin-0.18.2.tgz"
+  integrity sha512-q9Qh1xfUhHEtnmYt8eXCAzdbFLaBMgC6wrwmGH7JI2nztYlcpVD4HeAnheQ9ZTaoRGu+2L+qkpM5XQMd6xhUcQ==
+  dependencies:
+    code-inspector-core "0.18.2"
+
+esbuild-register@^3.5.0:
+  version "3.6.0"
+  resolved "https://registry.npmmirror.com/esbuild-register/-/esbuild-register-3.6.0.tgz"
+  integrity sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==
+  dependencies:
+    debug "^4.3.4"
+
+"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", "esbuild@>=0.12 <1":
+  version "0.24.0"
+  resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.24.0.tgz"
+  integrity sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==
+  optionalDependencies:
+    "@esbuild/aix-ppc64" "0.24.0"
+    "@esbuild/android-arm" "0.24.0"
+    "@esbuild/android-arm64" "0.24.0"
+    "@esbuild/android-x64" "0.24.0"
+    "@esbuild/darwin-arm64" "0.24.0"
+    "@esbuild/darwin-x64" "0.24.0"
+    "@esbuild/freebsd-arm64" "0.24.0"
+    "@esbuild/freebsd-x64" "0.24.0"
+    "@esbuild/linux-arm" "0.24.0"
+    "@esbuild/linux-arm64" "0.24.0"
+    "@esbuild/linux-ia32" "0.24.0"
+    "@esbuild/linux-loong64" "0.24.0"
+    "@esbuild/linux-mips64el" "0.24.0"
+    "@esbuild/linux-ppc64" "0.24.0"
+    "@esbuild/linux-riscv64" "0.24.0"
+    "@esbuild/linux-s390x" "0.24.0"
+    "@esbuild/linux-x64" "0.24.0"
+    "@esbuild/netbsd-x64" "0.24.0"
+    "@esbuild/openbsd-arm64" "0.24.0"
+    "@esbuild/openbsd-x64" "0.24.0"
+    "@esbuild/sunos-x64" "0.24.0"
+    "@esbuild/win32-arm64" "0.24.0"
+    "@esbuild/win32-ia32" "0.24.0"
+    "@esbuild/win32-x64" "0.24.0"
+
+escalade@^3.1.1, escalade@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz"
+  integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+
+escape-string-regexp@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+  integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+escape-string-regexp@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"
+  integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+escape-string-regexp@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
+  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escape-string-regexp@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz"
+  integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
+
+escodegen@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz"
+  integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==
+  dependencies:
+    esprima "^4.0.1"
+    estraverse "^5.2.0"
+    esutils "^2.0.2"
+  optionalDependencies:
+    source-map "~0.6.1"
+
+eslint-config-next@^14.0.4:
+  version "14.0.4"
+  resolved "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-14.0.4.tgz"
+  integrity sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==
+  dependencies:
+    "@next/eslint-plugin-next" "14.0.4"
+    "@rushstack/eslint-patch" "^1.3.3"
+    "@typescript-eslint/parser" "^5.4.2 || ^6.0.0"
+    eslint-import-resolver-node "^0.3.6"
+    eslint-import-resolver-typescript "^3.5.2"
+    eslint-plugin-import "^2.28.1"
+    eslint-plugin-jsx-a11y "^6.7.1"
+    eslint-plugin-react "^7.33.2"
+    eslint-plugin-react-hooks "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705"
+
+eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9:
+  version "0.3.9"
+  resolved "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz"
+  integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==
+  dependencies:
+    debug "^3.2.7"
+    is-core-module "^2.13.0"
+    resolve "^1.22.4"
+
+eslint-import-resolver-typescript@^3.5.2:
+  version "3.5.5"
+  resolved "https://registry.npmmirror.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz"
+  integrity sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==
+  dependencies:
+    debug "^4.3.4"
+    enhanced-resolve "^5.12.0"
+    eslint-module-utils "^2.7.4"
+    get-tsconfig "^4.5.0"
+    globby "^13.1.3"
+    is-core-module "^2.11.0"
+    is-glob "^4.0.3"
+    synckit "^0.8.5"
+
+eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0:
+  version "2.8.0"
+  resolved "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz"
+  integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
+  dependencies:
+    debug "^3.2.7"
+
+eslint-plugin-antfu@0.36.0:
+  version "0.36.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-antfu/-/eslint-plugin-antfu-0.36.0.tgz"
+  integrity sha512-qLYtjZC2y6d1fvVtG4nvVGoBUDEuUwQsS4E1RwjoEZyONZAkHYDPfeoeULDlPS0IqumSW8uGR6zGSAXi5rrVMg==
+  dependencies:
+    "@typescript-eslint/utils" "^5.53.0"
+
+eslint-plugin-es@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz"
+  integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==
+  dependencies:
+    eslint-utils "^2.0.0"
+    regexpp "^3.0.0"
+
+eslint-plugin-eslint-comments@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz"
+  integrity sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==
+  dependencies:
+    escape-string-regexp "^1.0.5"
+    ignore "^5.0.5"
+
+eslint-plugin-html@^7.1.0:
+  version "7.1.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-html/-/eslint-plugin-html-7.1.0.tgz"
+  integrity sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==
+  dependencies:
+    htmlparser2 "^8.0.1"
+
+eslint-plugin-import@*, eslint-plugin-import@^2.27.5, eslint-plugin-import@^2.28.1:
+  version "2.29.1"
+  resolved "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz"
+  integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==
+  dependencies:
+    array-includes "^3.1.7"
+    array.prototype.findlastindex "^1.2.3"
+    array.prototype.flat "^1.3.2"
+    array.prototype.flatmap "^1.3.2"
+    debug "^3.2.7"
+    doctrine "^2.1.0"
+    eslint-import-resolver-node "^0.3.9"
+    eslint-module-utils "^2.8.0"
+    hasown "^2.0.0"
+    is-core-module "^2.13.1"
+    is-glob "^4.0.3"
+    minimatch "^3.1.2"
+    object.fromentries "^2.0.7"
+    object.groupby "^1.0.1"
+    object.values "^1.1.7"
+    semver "^6.3.1"
+    tsconfig-paths "^3.15.0"
+
+eslint-plugin-jest@^27.2.1:
+  version "27.2.1"
+  resolved "https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz"
+  integrity sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==
+  dependencies:
+    "@typescript-eslint/utils" "^5.10.0"
+
+eslint-plugin-jsonc@^2.6.0:
+  version "2.8.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.8.0.tgz"
+  integrity sha512-K4VsnztnNwpm+V49CcCu5laq8VjclJpuhfI9LFkOrOyK+BKdQHMzkWo43B4X4rYaVrChm4U9kw/tTU5RHh5Wtg==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
+    jsonc-eslint-parser "^2.0.4"
+    natural-compare "^1.4.0"
+
+eslint-plugin-jsx-a11y@^6.7.1:
+  version "6.7.1"
+  resolved "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz"
+  integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==
+  dependencies:
+    "@babel/runtime" "^7.20.7"
+    aria-query "^5.1.3"
+    array-includes "^3.1.6"
+    array.prototype.flatmap "^1.3.1"
+    ast-types-flow "^0.0.7"
+    axe-core "^4.6.2"
+    axobject-query "^3.1.1"
+    damerau-levenshtein "^1.0.8"
+    emoji-regex "^9.2.2"
+    has "^1.0.3"
+    jsx-ast-utils "^3.3.3"
+    language-tags "=1.0.5"
+    minimatch "^3.1.2"
+    object.entries "^1.1.6"
+    object.fromentries "^2.0.6"
+    semver "^6.3.0"
+
+eslint-plugin-markdown@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-markdown/-/eslint-plugin-markdown-3.0.0.tgz"
+  integrity sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==
+  dependencies:
+    mdast-util-from-markdown "^0.8.5"
+
+eslint-plugin-n@^15.6.1:
+  version "15.7.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz"
+  integrity sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==
+  dependencies:
+    builtins "^5.0.1"
+    eslint-plugin-es "^4.1.0"
+    eslint-utils "^3.0.0"
+    ignore "^5.1.1"
+    is-core-module "^2.11.0"
+    minimatch "^3.1.2"
+    resolve "^1.22.1"
+    semver "^7.3.8"
+
+eslint-plugin-no-only-tests@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz"
+  integrity sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==
+
+eslint-plugin-promise@^6.1.1:
+  version "6.1.1"
+  resolved "https://registry.npmmirror.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz"
+  integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
+
+"eslint-plugin-react-hooks@^4.5.0 || 5.0.0-canary-7118f5dd7-20230705":
+  version "5.0.0-canary-7118f5dd7-20230705"
+  resolved "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz"
+  integrity sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==
+
+eslint-plugin-react@^7.33.2:
+  version "7.33.2"
+  resolved "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz"
+  integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==
+  dependencies:
+    array-includes "^3.1.6"
+    array.prototype.flatmap "^1.3.1"
+    array.prototype.tosorted "^1.1.1"
+    doctrine "^2.1.0"
+    es-iterator-helpers "^1.0.12"
+    estraverse "^5.3.0"
+    jsx-ast-utils "^2.4.1 || ^3.0.0"
+    minimatch "^3.1.2"
+    object.entries "^1.1.6"
+    object.fromentries "^2.0.6"
+    object.hasown "^1.1.2"
+    object.values "^1.1.6"
+    prop-types "^15.8.1"
+    resolve "^2.0.0-next.4"
+    semver "^6.3.1"
+    string.prototype.matchall "^4.0.8"
+
+eslint-plugin-storybook@^0.9.0:
+  version "0.9.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.9.0.tgz"
+  integrity sha512-qOT/2vQBo0VqrG/BhZv8IdSsKQiyzJw+2Wqq+WFCiblI/PfxLSrGkF/buiXF+HumwfsCyBdaC94UhqhmYFmAvA==
+  dependencies:
+    "@storybook/csf" "^0.0.1"
+    "@typescript-eslint/utils" "^5.62.0"
+    requireindex "^1.2.0"
+    ts-dedent "^2.2.0"
+
+eslint-plugin-unicorn@^45.0.2:
+  version "45.0.2"
+  resolved "https://registry.npmmirror.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz"
+  integrity sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.19.1"
+    "@eslint-community/eslint-utils" "^4.1.2"
+    ci-info "^3.6.1"
+    clean-regexp "^1.0.0"
+    esquery "^1.4.0"
+    indent-string "^4.0.0"
+    is-builtin-module "^3.2.0"
+    jsesc "^3.0.2"
+    lodash "^4.17.21"
+    pluralize "^8.0.0"
+    read-pkg-up "^7.0.1"
+    regexp-tree "^0.1.24"
+    regjsparser "^0.9.1"
+    safe-regex "^2.1.1"
+    semver "^7.3.8"
+    strip-indent "^3.0.0"
+
+eslint-plugin-unused-imports@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz"
+  integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==
+  dependencies:
+    eslint-rule-composer "^0.3.0"
+
+eslint-plugin-vue@^9.9.0:
+  version "9.14.1"
+  resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.14.1.tgz"
+  integrity sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.3.0"
+    natural-compare "^1.4.0"
+    nth-check "^2.0.1"
+    postcss-selector-parser "^6.0.9"
+    semver "^7.3.5"
+    vue-eslint-parser "^9.3.0"
+    xml-name-validator "^4.0.0"
+
+eslint-plugin-yml@^1.5.0:
+  version "1.7.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-yml/-/eslint-plugin-yml-1.7.0.tgz"
+  integrity sha512-qq61FQJk+qIgWl0R06bec7UQQEIBrUH22jS+MroTbFUKu+3/iVlGRpZd8mjpOAm/+H/WEDFwy4x/+kKgVGbsWw==
+  dependencies:
+    debug "^4.3.2"
+    lodash "^4.17.21"
+    natural-compare "^1.4.0"
+    yaml-eslint-parser "^1.2.1"
+
+eslint-rule-composer@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.npmmirror.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz"
+  integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
+
+eslint-scope@^5.1.1, eslint-scope@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz"
+  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^4.1.1"
+
+eslint-scope@^7.1.1:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.0.tgz"
+  integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^5.2.0"
+
+eslint-scope@^7.2.2:
+  version "7.2.2"
+  resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz"
+  integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^5.2.0"
+
+eslint-utils@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz"
+  integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
+  dependencies:
+    eslint-visitor-keys "^1.1.0"
+
+eslint-utils@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz"
+  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+  dependencies:
+    eslint-visitor-keys "^2.0.0"
+
+eslint-visitor-keys@^1.1.0:
+  version "1.3.0"
+  resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
+  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+
+eslint-visitor-keys@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
+  integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
+  version "3.4.3"
+  resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
+  integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
+
+eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.23.0 || ^8.0.0", eslint@^8.0.0, eslint@^8.36.0, eslint@>=4.19.1, eslint@>=5, eslint@>=6, eslint@>=6.0.0, eslint@>=7.0.0, eslint@>=7.4.0, eslint@>=8.28.0:
+  version "8.57.1"
+  resolved "https://registry.npmmirror.com/eslint/-/eslint-8.57.1.tgz"
+  integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
+    "@eslint-community/regexpp" "^4.6.1"
+    "@eslint/eslintrc" "^2.1.4"
+    "@eslint/js" "8.57.1"
+    "@humanwhocodes/config-array" "^0.13.0"
+    "@humanwhocodes/module-importer" "^1.0.1"
+    "@nodelib/fs.walk" "^1.2.8"
+    "@ungap/structured-clone" "^1.2.0"
+    ajv "^6.12.4"
+    chalk "^4.0.0"
+    cross-spawn "^7.0.2"
+    debug "^4.3.2"
+    doctrine "^3.0.0"
+    escape-string-regexp "^4.0.0"
+    eslint-scope "^7.2.2"
+    eslint-visitor-keys "^3.4.3"
+    espree "^9.6.1"
+    esquery "^1.4.2"
+    esutils "^2.0.2"
+    fast-deep-equal "^3.1.3"
+    file-entry-cache "^6.0.1"
+    find-up "^5.0.0"
+    glob-parent "^6.0.2"
+    globals "^13.19.0"
+    graphemer "^1.4.0"
+    ignore "^5.2.0"
+    imurmurhash "^0.1.4"
+    is-glob "^4.0.0"
+    is-path-inside "^3.0.3"
+    js-yaml "^4.1.0"
+    json-stable-stringify-without-jsonify "^1.0.1"
+    levn "^0.4.1"
+    lodash.merge "^4.6.2"
+    minimatch "^3.1.2"
+    natural-compare "^1.4.0"
+    optionator "^0.9.3"
+    strip-ansi "^6.0.1"
+    text-table "^0.2.0"
+
+espree@^9.0.0, espree@^9.3.1, espree@^9.6.0, espree@^9.6.1:
+  version "9.6.1"
+  resolved "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz"
+  integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
+  dependencies:
+    acorn "^8.9.0"
+    acorn-jsx "^5.3.2"
+    eslint-visitor-keys "^3.4.1"
+
+esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz"
+  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.4.0, esquery@^1.4.2:
+  version "1.5.0"
+  resolved "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz"
+  integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
+  dependencies:
+    estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz"
+  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+  dependencies:
+    estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz"
+  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
+  version "5.3.0"
+  resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz"
+  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+estree-util-attach-comments@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz"
+  integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==
+  dependencies:
+    "@types/estree" "^1.0.0"
+
+estree-util-build-jsx@^2.0.0:
+  version "2.2.2"
+  resolved "https://registry.npmmirror.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz"
+  integrity sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    estree-util-is-identifier-name "^2.0.0"
+    estree-walker "^3.0.0"
+
+estree-util-is-identifier-name@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz"
+  integrity sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==
+
+estree-util-to-js@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz"
+  integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    astring "^1.8.0"
+    source-map "^0.7.0"
+
+estree-util-visit@^1.0.0:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/estree-util-visit/-/estree-util-visit-1.2.1.tgz"
+  integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    "@types/unist" "^2.0.0"
+
+estree-walker@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz"
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+estree-walker@^3.0.0, estree-walker@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz"
+  integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
+  dependencies:
+    "@types/estree" "^1.0.0"
+
+esutils@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+event-target-shim@^5.0.0:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz"
+  integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
+events@^3.2.0, events@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz"
+  integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"
+  integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+  dependencies:
+    md5.js "^1.3.4"
+    safe-buffer "^5.1.1"
+
+execa@^5.0.0:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz"
+  integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+  dependencies:
+    cross-spawn "^7.0.3"
+    get-stream "^6.0.0"
+    human-signals "^2.1.0"
+    is-stream "^2.0.0"
+    merge-stream "^2.0.0"
+    npm-run-path "^4.0.1"
+    onetime "^5.1.2"
+    signal-exit "^3.0.3"
+    strip-final-newline "^2.0.0"
+
+execa@^7.0.0:
+  version "7.1.1"
+  resolved "https://registry.npmmirror.com/execa/-/execa-7.1.1.tgz"
+  integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==
+  dependencies:
+    cross-spawn "^7.0.3"
+    get-stream "^6.0.1"
+    human-signals "^4.3.0"
+    is-stream "^3.0.0"
+    merge-stream "^2.0.0"
+    npm-run-path "^5.1.0"
+    onetime "^6.0.0"
+    signal-exit "^3.0.7"
+    strip-final-newline "^3.0.0"
+
+execa@^7.1.1:
+  version "7.1.1"
+  resolved "https://registry.npmmirror.com/execa/-/execa-7.1.1.tgz"
+  integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==
+  dependencies:
+    cross-spawn "^7.0.3"
+    get-stream "^6.0.1"
+    human-signals "^4.3.0"
+    is-stream "^3.0.0"
+    merge-stream "^2.0.0"
+    npm-run-path "^5.1.0"
+    onetime "^6.0.0"
+    signal-exit "^3.0.7"
+    strip-final-newline "^3.0.0"
+
+exit@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz"
+  integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
+
+expect@^29.0.0, expect@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/expect/-/expect-29.7.0.tgz"
+  integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
+  dependencies:
+    "@jest/expect-utils" "^29.7.0"
+    jest-get-type "^29.6.3"
+    jest-matcher-utils "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
+
+extend@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz"
+  integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
+  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9, fast-glob@^3.3.0:
+  version "3.3.2"
+  resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz"
+  integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
+  dependencies:
+    "@nodelib/fs.stat" "^2.0.2"
+    "@nodelib/fs.walk" "^1.2.3"
+    glob-parent "^5.1.2"
+    merge2 "^1.3.0"
+    micromatch "^4.0.4"
+
+fast-json-parse@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz"
+  integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==
+
+fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
+  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
+  integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fast-uri@^3.0.1:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.3.tgz"
+  integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==
+
+fastq@^1.6.0:
+  version "1.15.0"
+  resolved "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz"
+  integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
+  dependencies:
+    reusify "^1.0.4"
+
+fault@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/fault/-/fault-1.0.4.tgz"
+  integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
+  dependencies:
+    format "^0.2.0"
+
+fb-watchman@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz"
+  integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
+  dependencies:
+    bser "2.1.1"
+
+file-entry-cache@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
+  integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+  dependencies:
+    flat-cache "^3.0.4"
+
+filesize@^10.0.12:
+  version "10.1.6"
+  resolved "https://registry.npmmirror.com/filesize/-/filesize-10.1.6.tgz"
+  integrity sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==
+
+fill-range@^7.1.1:
+  version "7.1.1"
+  resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz"
+  integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
+  dependencies:
+    to-regex-range "^5.0.1"
+
+filter-obj@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/filter-obj/-/filter-obj-2.0.2.tgz"
+  integrity sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg==
+
+find-cache-dir@^3.3.1:
+  version "3.3.2"
+  resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz"
+  integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
+  dependencies:
+    commondir "^1.0.1"
+    make-dir "^3.0.2"
+    pkg-dir "^4.1.0"
+
+find-cache-dir@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz"
+  integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==
+  dependencies:
+    common-path-prefix "^3.0.0"
+    pkg-dir "^7.0.0"
+
+find-up@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz"
+  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+  dependencies:
+    locate-path "^5.0.0"
+    path-exists "^4.0.0"
+
+find-up@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz"
+  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+  dependencies:
+    locate-path "^5.0.0"
+    path-exists "^4.0.0"
+
+find-up@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz"
+  integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+  dependencies:
+    locate-path "^6.0.0"
+    path-exists "^4.0.0"
+
+find-up@^6.3.0:
+  version "6.3.0"
+  resolved "https://registry.npmmirror.com/find-up/-/find-up-6.3.0.tgz"
+  integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==
+  dependencies:
+    locate-path "^7.1.0"
+    path-exists "^5.0.0"
+
+flat-cache@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz"
+  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+  dependencies:
+    flatted "^3.1.0"
+    rimraf "^3.0.2"
+
+flatted@^3.1.0:
+  version "3.2.7"
+  resolved "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz"
+  integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
+
+for-each@^0.3.3:
+  version "0.3.3"
+  resolved "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz"
+  integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+  dependencies:
+    is-callable "^1.1.3"
+
+fork-ts-checker-webpack-plugin@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz"
+  integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    chalk "^4.1.2"
+    chokidar "^3.5.3"
+    cosmiconfig "^7.0.1"
+    deepmerge "^4.2.2"
+    fs-extra "^10.0.0"
+    memfs "^3.4.1"
+    minimatch "^3.0.4"
+    node-abort-controller "^3.0.1"
+    schema-utils "^3.1.1"
+    semver "^7.3.5"
+    tapable "^2.2.1"
+
+form-data@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz"
+  integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
+
+format@^0.2.0:
+  version "0.2.2"
+  resolved "https://registry.npmmirror.com/format/-/format-0.2.2.tgz"
+  integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
+
+fraction.js@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz"
+  integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+
+fs-extra@^10.0.0:
+  version "10.1.0"
+  resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz"
+  integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+  dependencies:
+    graceful-fs "^4.2.0"
+    jsonfile "^6.0.1"
+    universalify "^2.0.0"
+
+fs-minipass@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz"
+  integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+  dependencies:
+    minipass "^3.0.0"
+
+fs-monkey@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.6.tgz"
+  integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
+  integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+function-bind@^1.1.1, function-bind@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz"
+  integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
+function.prototype.name@^1.1.5, function.prototype.name@^1.1.6:
+  version "1.1.6"
+  resolved "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz"
+  integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    functions-have-names "^1.2.3"
+
+functions-have-names@^1.2.3:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz"
+  integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+
+gauge@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/gauge/-/gauge-3.0.2.tgz"
+  integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
+  dependencies:
+    aproba "^1.0.3 || ^2.0.0"
+    color-support "^1.1.2"
+    console-control-strings "^1.0.0"
+    has-unicode "^2.0.1"
+    object-assign "^4.1.1"
+    signal-exit "^3.0.0"
+    string-width "^4.2.3"
+    strip-ansi "^6.0.1"
+    wide-align "^1.1.2"
+
+gensync@^1.0.0-beta.2:
+  version "1.0.0-beta.2"
+  resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz"
+  integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz"
+  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz"
+  integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
+  dependencies:
+    es-errors "^1.3.0"
+    function-bind "^1.1.2"
+    has-proto "^1.0.1"
+    has-symbols "^1.0.3"
+    hasown "^2.0.0"
+
+get-package-type@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz"
+  integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
+get-stream@^5.1.0:
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz"
+  integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+  dependencies:
+    pump "^3.0.0"
+
+get-stream@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz"
+  integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+get-stream@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz"
+  integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+get-symbol-description@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
+  integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.1"
+
+get-tsconfig@^4.5.0:
+  version "4.6.0"
+  resolved "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.6.0.tgz"
+  integrity sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg==
+  dependencies:
+    resolve-pkg-maps "^1.0.0"
+
+glob-parent@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
+glob-parent@^6.0.2:
+  version "6.0.2"
+  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz"
+  integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+  dependencies:
+    is-glob "^4.0.3"
+
+glob-parent@~5.1.2:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
+glob-to-regexp@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
+  integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
+glob@^7.1.3, glob@^7.1.4, glob@7.1.7:
+  version "7.1.7"
+  resolved "https://registry.npmmirror.com/glob/-/glob-7.1.7.tgz"
+  integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+glob@7.1.6:
+  version "7.1.6"
+  resolved "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz"
+  integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+globals@^11.1.0:
+  version "11.12.0"
+  resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz"
+  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globals@^13.19.0:
+  version "13.24.0"
+  resolved "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz"
+  integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
+  dependencies:
+    type-fest "^0.20.2"
+
+globals@^15.13.0:
+  version "15.13.0"
+  resolved "https://registry.npmmirror.com/globals/-/globals-15.13.0.tgz"
+  integrity sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==
+
+globalthis@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz"
+  integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
+  dependencies:
+    define-properties "^1.1.3"
+
+globby@^11.1.0:
+  version "11.1.0"
+  resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz"
+  integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+  dependencies:
+    array-union "^2.1.0"
+    dir-glob "^3.0.1"
+    fast-glob "^3.2.9"
+    ignore "^5.2.0"
+    merge2 "^1.4.1"
+    slash "^3.0.0"
+
+globby@^13.1.3:
+  version "13.1.4"
+  resolved "https://registry.npmmirror.com/globby/-/globby-13.1.4.tgz"
+  integrity sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==
+  dependencies:
+    dir-glob "^3.0.1"
+    fast-glob "^3.2.11"
+    ignore "^5.2.0"
+    merge2 "^1.4.1"
+    slash "^4.0.0"
+
+gopd@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz"
+  integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
+  dependencies:
+    get-intrinsic "^1.1.3"
+
+got@^11.8.6:
+  version "11.8.6"
+  resolved "https://registry.npmmirror.com/got/-/got-11.8.6.tgz"
+  integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==
+  dependencies:
+    "@sindresorhus/is" "^4.0.0"
+    "@szmarczak/http-timer" "^4.0.5"
+    "@types/cacheable-request" "^6.0.1"
+    "@types/responselike" "^1.0.0"
+    cacheable-lookup "^5.0.3"
+    cacheable-request "^7.0.2"
+    decompress-response "^6.0.0"
+    http2-wrapper "^1.0.0-beta.5.2"
+    lowercase-keys "^2.0.0"
+    p-cancelable "^2.0.0"
+    responselike "^2.0.0"
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+  version "4.2.11"
+  resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz"
+  integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+
+grapheme-splitter@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz"
+  integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
+graphemer@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz"
+  integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
+
+hachure-fill@^0.5.2:
+  version "0.5.2"
+  resolved "https://registry.npmmirror.com/hachure-fill/-/hachure-fill-0.5.2.tgz"
+  integrity sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==
+
+has-bigints@^1.0.1, has-bigints@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz"
+  integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
+
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
+  integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
+  dependencies:
+    es-define-property "^1.0.0"
+
+has-proto@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz"
+  integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
+
+has-symbols@^1.0.2, has-symbols@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz"
+  integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
+has-tostringtag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
+  integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+  dependencies:
+    has-symbols "^1.0.2"
+
+has-unicode@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz"
+  integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
+
+has@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz"
+  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+  dependencies:
+    function-bind "^1.1.1"
+
+hash-base@^3.0.0, hash-base@~3.0, hash-base@~3.0.4:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/hash-base/-/hash-base-3.0.4.tgz"
+  integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==
+  dependencies:
+    inherits "^2.0.1"
+    safe-buffer "^5.0.1"
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+  version "1.1.7"
+  resolved "https://registry.npmmirror.com/hash.js/-/hash.js-1.1.7.tgz"
+  integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+  dependencies:
+    inherits "^2.0.3"
+    minimalistic-assert "^1.0.1"
+
+hasown@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz"
+  integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
+  dependencies:
+    function-bind "^1.1.2"
+
+hast-util-from-dom@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/hast-util-from-dom/-/hast-util-from-dom-4.2.0.tgz"
+  integrity sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==
+  dependencies:
+    hastscript "^7.0.0"
+    web-namespaces "^2.0.0"
+
+hast-util-from-html-isomorphic@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-1.0.0.tgz"
+  integrity sha512-Yu480AKeOEN/+l5LA674a+7BmIvtDj24GvOt7MtQWuhzUwlaaRWdEPXAh3Qm5vhuthpAipFb2vTetKXWOjmTvw==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    hast-util-from-dom "^4.0.0"
+    hast-util-from-html "^1.0.0"
+    unist-util-remove-position "^4.0.0"
+
+hast-util-from-html@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/hast-util-from-html/-/hast-util-from-html-1.0.2.tgz"
+  integrity sha512-LhrTA2gfCbLOGJq2u/asp4kwuG0y6NhWTXiPKP+n0qNukKy7hc10whqqCFfyvIA1Q5U5d0sp9HhNim9gglEH4A==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    hast-util-from-parse5 "^7.0.0"
+    parse5 "^7.0.0"
+    vfile "^5.0.0"
+    vfile-message "^3.0.0"
+
+hast-util-from-parse5@^7.0.0:
+  version "7.1.2"
+  resolved "https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz"
+  integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/unist" "^2.0.0"
+    hastscript "^7.0.0"
+    property-information "^6.0.0"
+    vfile "^5.0.0"
+    vfile-location "^4.0.0"
+    web-namespaces "^2.0.0"
+
+hast-util-from-parse5@^8.0.0:
+  version "8.0.1"
+  resolved "https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz"
+  integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==
+  dependencies:
+    "@types/hast" "^3.0.0"
+    "@types/unist" "^3.0.0"
+    devlop "^1.0.0"
+    hastscript "^8.0.0"
+    property-information "^6.0.0"
+    vfile "^6.0.0"
+    vfile-location "^5.0.0"
+    web-namespaces "^2.0.0"
+
+hast-util-is-element@^2.0.0:
+  version "2.1.3"
+  resolved "https://registry.npmmirror.com/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz"
+  integrity sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/unist" "^2.0.0"
+
+hast-util-parse-selector@^2.0.0:
+  version "2.2.5"
+  resolved "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz"
+  integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
+
+hast-util-parse-selector@^3.0.0:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz"
+  integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==
+  dependencies:
+    "@types/hast" "^2.0.0"
+
+hast-util-parse-selector@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz"
+  integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==
+  dependencies:
+    "@types/hast" "^3.0.0"
+
+hast-util-raw@^9.0.0:
+  version "9.0.4"
+  resolved "https://registry.npmmirror.com/hast-util-raw/-/hast-util-raw-9.0.4.tgz"
+  integrity sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==
+  dependencies:
+    "@types/hast" "^3.0.0"
+    "@types/unist" "^3.0.0"
+    "@ungap/structured-clone" "^1.0.0"
+    hast-util-from-parse5 "^8.0.0"
+    hast-util-to-parse5 "^8.0.0"
+    html-void-elements "^3.0.0"
+    mdast-util-to-hast "^13.0.0"
+    parse5 "^7.0.0"
+    unist-util-position "^5.0.0"
+    unist-util-visit "^5.0.0"
+    vfile "^6.0.0"
+    web-namespaces "^2.0.0"
+    zwitch "^2.0.0"
+
+hast-util-to-estree@^2.0.0:
+  version "2.3.3"
+  resolved "https://registry.npmmirror.com/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz"
+  integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==
+  dependencies:
+    "@types/estree" "^1.0.0"
+    "@types/estree-jsx" "^1.0.0"
+    "@types/hast" "^2.0.0"
+    "@types/unist" "^2.0.0"
+    comma-separated-tokens "^2.0.0"
+    estree-util-attach-comments "^2.0.0"
+    estree-util-is-identifier-name "^2.0.0"
+    hast-util-whitespace "^2.0.0"
+    mdast-util-mdx-expression "^1.0.0"
+    mdast-util-mdxjs-esm "^1.0.0"
+    property-information "^6.0.0"
+    space-separated-tokens "^2.0.0"
+    style-to-object "^0.4.1"
+    unist-util-position "^4.0.0"
+    zwitch "^2.0.0"
+
+hast-util-to-parse5@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.npmmirror.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz"
+  integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==
+  dependencies:
+    "@types/hast" "^3.0.0"
+    comma-separated-tokens "^2.0.0"
+    devlop "^1.0.0"
+    property-information "^6.0.0"
+    space-separated-tokens "^2.0.0"
+    web-namespaces "^2.0.0"
+    zwitch "^2.0.0"
+
+hast-util-to-text@^3.1.0:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz"
+  integrity sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/unist" "^2.0.0"
+    hast-util-is-element "^2.0.0"
+    unist-util-find-after "^4.0.0"
+
+hast-util-whitespace@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz"
+  integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==
+
+hastscript@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/hastscript/-/hastscript-6.0.0.tgz"
+  integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    comma-separated-tokens "^1.0.0"
+    hast-util-parse-selector "^2.0.0"
+    property-information "^5.0.0"
+    space-separated-tokens "^1.0.0"
+
+hastscript@^7.0.0:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/hastscript/-/hastscript-7.2.0.tgz"
+  integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    comma-separated-tokens "^2.0.0"
+    hast-util-parse-selector "^3.0.0"
+    property-information "^6.0.0"
+    space-separated-tokens "^2.0.0"
+
+hastscript@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.npmmirror.com/hastscript/-/hastscript-8.0.0.tgz"
+  integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==
+  dependencies:
+    "@types/hast" "^3.0.0"
+    comma-separated-tokens "^2.0.0"
+    hast-util-parse-selector "^4.0.0"
+    property-information "^6.0.0"
+    space-separated-tokens "^2.0.0"
+
+he@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz"
+  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+highlight.js@^10.4.1, highlight.js@~10.7.0:
+  version "10.7.3"
+  resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.7.3.tgz"
+  integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
+
+hmac-drbg@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz"
+  integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
+  dependencies:
+    hash.js "^1.0.3"
+    minimalistic-assert "^1.0.0"
+    minimalistic-crypto-utils "^1.0.1"
+
+hoist-non-react-statics@^3.3.2:
+  version "3.3.2"
+  resolved "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
+  integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+  dependencies:
+    react-is "^16.7.0"
+
+hosted-git-info@^2.1.4:
+  version "2.8.9"
+  resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz"
+  integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+
+html-encoding-sniffer@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz"
+  integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==
+  dependencies:
+    whatwg-encoding "^2.0.0"
+
+html-entities@^2.1.0:
+  version "2.5.2"
+  resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.5.2.tgz"
+  integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==
+
+html-escaper@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz"
+  integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+
+html-minifier-terser@^6.0.2:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz"
+  integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==
+  dependencies:
+    camel-case "^4.1.2"
+    clean-css "^5.2.2"
+    commander "^8.3.0"
+    he "^1.2.0"
+    param-case "^3.0.4"
+    relateurl "^0.2.7"
+    terser "^5.10.0"
+
+html-parse-stringify@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz"
+  integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==
+  dependencies:
+    void-elements "3.1.0"
+
+html-void-elements@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz"
+  integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==
+
+html-webpack-plugin@^5.5.0:
+  version "5.6.3"
+  resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz"
+  integrity sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==
+  dependencies:
+    "@types/html-minifier-terser" "^6.0.0"
+    html-minifier-terser "^6.0.2"
+    lodash "^4.17.21"
+    pretty-error "^4.0.0"
+    tapable "^2.0.0"
+
+htmlparser2@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz"
+  integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.0.0"
+    domutils "^2.5.2"
+    entities "^2.0.0"
+
+htmlparser2@^8.0.1:
+  version "8.0.2"
+  resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.2.tgz"
+  integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
+  dependencies:
+    domelementtype "^2.3.0"
+    domhandler "^5.0.3"
+    domutils "^3.0.1"
+    entities "^4.4.0"
+
+http-cache-semantics@^4.0.0:
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz"
+  integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
+
+http-proxy-agent@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz"
+  integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
+  dependencies:
+    "@tootallnate/once" "2"
+    agent-base "6"
+    debug "4"
+
+http2-wrapper@^1.0.0-beta.5.2:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz"
+  integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
+  dependencies:
+    quick-lru "^5.1.1"
+    resolve-alpn "^1.0.0"
+
+https-browserify@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz"
+  integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
+
+https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz"
+  integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+  dependencies:
+    agent-base "6"
+    debug "4"
+
+human-signals@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz"
+  integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+human-signals@^4.3.0:
+  version "4.3.1"
+  resolved "https://registry.npmmirror.com/human-signals/-/human-signals-4.3.1.tgz"
+  integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==
+
+husky@^8.0.3:
+  version "8.0.3"
+  resolved "https://registry.npmmirror.com/husky/-/husky-8.0.3.tgz"
+  integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
+
+i18next-resources-to-backend@^1.1.3:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/i18next-resources-to-backend/-/i18next-resources-to-backend-1.1.4.tgz"
+  integrity sha512-hMyr9AOmIea17AOaVe1srNxK/l3mbk81P7Uf3fdcjlw3ehZy3UNTd0OP3EEi6yu4J02kf9jzhCcjokz6AFlEOg==
+  dependencies:
+    "@babel/runtime" "^7.21.5"
+
+i18next@^22.4.13, "i18next@>= 19.0.0":
+  version "22.5.1"
+  resolved "https://registry.npmmirror.com/i18next/-/i18next-22.5.1.tgz"
+  integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==
+  dependencies:
+    "@babel/runtime" "^7.20.6"
+
+iconv-lite@0.6, iconv-lite@0.6.3:
+  version "0.6.3"
+  resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz"
+  integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+  dependencies:
+    safer-buffer ">= 2.1.2 < 3.0.0"
+
+icss-utils@^5.0.0, icss-utils@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz"
+  integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+
+ieee754@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore@^5.0.5, ignore@^5.1.1, ignore@^5.2.0:
+  version "5.2.4"
+  resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz"
+  integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
+
+image-size@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/image-size/-/image-size-1.1.1.tgz"
+  integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==
+  dependencies:
+    queue "6.0.2"
+
+immediate@~3.0.5:
+  version "3.0.6"
+  resolved "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz"
+  integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
+
+immer@^9.0.19, immer@>=9.0.6:
+  version "9.0.21"
+  resolved "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz"
+  integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==
+
+immutable@^4.0.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/immutable/-/immutable-4.3.0.tgz"
+  integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==
+
+import-fresh@^3.2.1, import-fresh@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz"
+  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+  dependencies:
+    parent-module "^1.0.0"
+    resolve-from "^4.0.0"
+
+import-local@^3.0.2:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz"
+  integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==
+  dependencies:
+    pkg-dir "^4.2.0"
+    resolve-cwd "^3.0.0"
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz"
+  integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+indent-string@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz"
+  integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz"
+  integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4, inherits@2:
+  version "2.0.4"
+  resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz"
+  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inline-style-parser@0.1.1:
+  version "0.1.1"
+  resolved "https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz"
+  integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
+
+internal-slot@^1.0.4, internal-slot@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.5.tgz"
+  integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
+  dependencies:
+    get-intrinsic "^1.2.0"
+    has "^1.0.3"
+    side-channel "^1.0.4"
+
+internmap@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/internmap/-/internmap-1.0.1.tgz"
+  integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==
+
+"internmap@1 - 2":
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz"
+  integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==
+
+intersection-observer@^0.12.0:
+  version "0.12.2"
+  resolved "https://registry.npmmirror.com/intersection-observer/-/intersection-observer-0.12.2.tgz"
+  integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==
+
+is-alphabetical@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz"
+  integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
+
+is-alphabetical@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz"
+  integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
+
+is-alphanumerical@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz"
+  integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
+  dependencies:
+    is-alphabetical "^1.0.0"
+    is-decimal "^1.0.0"
+
+is-alphanumerical@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz"
+  integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
+  dependencies:
+    is-alphabetical "^2.0.0"
+    is-decimal "^2.0.0"
+
+is-arguments@^1.0.4, is-arguments@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz"
+  integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
+is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz"
+  integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.2.0"
+    is-typed-array "^1.1.10"
+
+is-arrayish@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz"
+  integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-arrayish@^0.3.1:
+  version "0.3.2"
+  resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz"
+  integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
+is-async-function@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.0.0.tgz"
+  integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-bigint@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz"
+  integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
+  dependencies:
+    has-bigints "^1.0.1"
+
+is-binary-path@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz"
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+  dependencies:
+    binary-extensions "^2.0.0"
+
+is-boolean-object@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz"
+  integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
+is-buffer@^2.0.0:
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-2.0.5.tgz"
+  integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+
+is-builtin-module@^3.2.0:
+  version "3.2.1"
+  resolved "https://registry.npmmirror.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz"
+  integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==
+  dependencies:
+    builtin-modules "^3.3.0"
+
+is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
+  version "1.2.7"
+  resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz"
+  integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
+
+is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1:
+  version "2.13.1"
+  resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz"
+  integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
+  dependencies:
+    hasown "^2.0.0"
+
+is-date-object@^1.0.1, is-date-object@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz"
+  integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-decimal@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/is-decimal/-/is-decimal-1.0.4.tgz"
+  integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
+
+is-decimal@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/is-decimal/-/is-decimal-2.0.1.tgz"
+  integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
+
+is-docker@^2.0.0, is-docker@^2.1.1:
+  version "2.2.1"
+  resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz"
+  integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-docker@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz"
+  integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
+
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz"
+  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-finalizationregistry@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz"
+  integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==
+  dependencies:
+    call-bind "^1.0.2"
+
+is-fullwidth-code-point@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
+  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-fullwidth-code-point@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz"
+  integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
+
+is-generator-fn@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz"
+  integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
+
+is-generator-function@^1.0.10, is-generator-function@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.0.10.tgz"
+  integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+  version "4.0.3"
+  resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz"
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+  dependencies:
+    is-extglob "^2.1.1"
+
+is-hexadecimal@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz"
+  integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+
+is-hexadecimal@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz"
+  integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
+
+is-inside-container@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz"
+  integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==
+  dependencies:
+    is-docker "^3.0.0"
+
+is-map@^2.0.1, is-map@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/is-map/-/is-map-2.0.2.tgz"
+  integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
+
+is-nan@^1.3.2:
+  version "1.3.2"
+  resolved "https://registry.npmmirror.com/is-nan/-/is-nan-1.3.2.tgz"
+  integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==
+  dependencies:
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+
+is-negative-zero@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz"
+  integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+
+is-number-object@^1.0.4:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz"
+  integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-number@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz"
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-path-inside@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz"
+  integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
+is-plain-obj@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz"
+  integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
+
+is-potential-custom-element-name@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz"
+  integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
+
+is-reference@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/is-reference/-/is-reference-3.0.1.tgz"
+  integrity sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==
+  dependencies:
+    "@types/estree" "*"
+
+is-regex@^1.1.4:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz"
+  integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
+is-set@^2.0.1, is-set@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/is-set/-/is-set-2.0.2.tgz"
+  integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
+
+is-shared-array-buffer@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz"
+  integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
+  dependencies:
+    call-bind "^1.0.2"
+
+is-stream@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz"
+  integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-stream@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz"
+  integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
+
+is-string@^1.0.5, is-string@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz"
+  integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz"
+  integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
+  dependencies:
+    has-symbols "^1.0.2"
+
+is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9:
+  version "1.1.12"
+  resolved "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.12.tgz"
+  integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==
+  dependencies:
+    which-typed-array "^1.1.11"
+
+is-weakmap@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.1.tgz"
+  integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
+
+is-weakref@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz"
+  integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
+  dependencies:
+    call-bind "^1.0.2"
+
+is-weakset@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.2.tgz"
+  integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.1"
+
+is-wsl@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz"
+  integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+  dependencies:
+    is-docker "^2.0.0"
+
+isarray@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz"
+  integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
+isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
+  integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
+
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz"
+  integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+isomorphic.js@^0.2.4:
+  version "0.2.5"
+  resolved "https://registry.npmmirror.com/isomorphic.js/-/isomorphic.js-0.2.5.tgz"
+  integrity sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==
+
+istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
+  version "3.2.2"
+  resolved "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz"
+  integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
+
+istanbul-lib-instrument@^5.0.4:
+  version "5.2.1"
+  resolved "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz"
+  integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
+  dependencies:
+    "@babel/core" "^7.12.3"
+    "@babel/parser" "^7.14.7"
+    "@istanbuljs/schema" "^0.1.2"
+    istanbul-lib-coverage "^3.2.0"
+    semver "^6.3.0"
+
+istanbul-lib-instrument@^6.0.0:
+  version "6.0.3"
+  resolved "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz"
+  integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==
+  dependencies:
+    "@babel/core" "^7.23.9"
+    "@babel/parser" "^7.23.9"
+    "@istanbuljs/schema" "^0.1.3"
+    istanbul-lib-coverage "^3.2.0"
+    semver "^7.5.4"
+
+istanbul-lib-report@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz"
+  integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
+  dependencies:
+    istanbul-lib-coverage "^3.0.0"
+    make-dir "^4.0.0"
+    supports-color "^7.1.0"
+
+istanbul-lib-source-maps@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz"
+  integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
+  dependencies:
+    debug "^4.1.1"
+    istanbul-lib-coverage "^3.0.0"
+    source-map "^0.6.1"
+
+istanbul-reports@^3.1.3:
+  version "3.1.7"
+  resolved "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz"
+  integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==
+  dependencies:
+    html-escaper "^2.0.0"
+    istanbul-lib-report "^3.0.0"
+
+iterator.prototype@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz"
+  integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==
+  dependencies:
+    define-properties "^1.2.1"
+    get-intrinsic "^1.2.1"
+    has-symbols "^1.0.3"
+    reflect.getprototypeof "^1.0.4"
+    set-function-name "^2.0.1"
+
+jest-changed-files@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz"
+  integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==
+  dependencies:
+    execa "^5.0.0"
+    jest-util "^29.7.0"
+    p-limit "^3.1.0"
+
+jest-circus@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-circus/-/jest-circus-29.7.0.tgz"
+  integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/expect" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    co "^4.6.0"
+    dedent "^1.0.0"
+    is-generator-fn "^2.0.0"
+    jest-each "^29.7.0"
+    jest-matcher-utils "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-runtime "^29.7.0"
+    jest-snapshot "^29.7.0"
+    jest-util "^29.7.0"
+    p-limit "^3.1.0"
+    pretty-format "^29.7.0"
+    pure-rand "^6.0.0"
+    slash "^3.0.0"
+    stack-utils "^2.0.3"
+
+jest-cli@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-cli/-/jest-cli-29.7.0.tgz"
+  integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==
+  dependencies:
+    "@jest/core" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    chalk "^4.0.0"
+    create-jest "^29.7.0"
+    exit "^0.1.2"
+    import-local "^3.0.2"
+    jest-config "^29.7.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
+    yargs "^17.3.1"
+
+jest-config@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-config/-/jest-config-29.7.0.tgz"
+  integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==
+  dependencies:
+    "@babel/core" "^7.11.6"
+    "@jest/test-sequencer" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    babel-jest "^29.7.0"
+    chalk "^4.0.0"
+    ci-info "^3.2.0"
+    deepmerge "^4.2.2"
+    glob "^7.1.3"
+    graceful-fs "^4.2.9"
+    jest-circus "^29.7.0"
+    jest-environment-node "^29.7.0"
+    jest-get-type "^29.6.3"
+    jest-regex-util "^29.6.3"
+    jest-resolve "^29.7.0"
+    jest-runner "^29.7.0"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
+    micromatch "^4.0.4"
+    parse-json "^5.2.0"
+    pretty-format "^29.7.0"
+    slash "^3.0.0"
+    strip-json-comments "^3.1.1"
+
+jest-diff@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-diff/-/jest-diff-29.7.0.tgz"
+  integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
+  dependencies:
+    chalk "^4.0.0"
+    diff-sequences "^29.6.3"
+    jest-get-type "^29.6.3"
+    pretty-format "^29.7.0"
+
+jest-docblock@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-29.7.0.tgz"
+  integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==
+  dependencies:
+    detect-newline "^3.0.0"
+
+jest-each@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-each/-/jest-each-29.7.0.tgz"
+  integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    chalk "^4.0.0"
+    jest-get-type "^29.6.3"
+    jest-util "^29.7.0"
+    pretty-format "^29.7.0"
+
+jest-environment-jsdom@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz"
+  integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/jsdom" "^20.0.0"
+    "@types/node" "*"
+    jest-mock "^29.7.0"
+    jest-util "^29.7.0"
+    jsdom "^20.0.0"
+
+jest-environment-node@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz"
+  integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    jest-mock "^29.7.0"
+    jest-util "^29.7.0"
+
+jest-get-type@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-29.6.3.tgz"
+  integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==
+
+jest-haste-map@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz"
+  integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    "@types/graceful-fs" "^4.1.3"
+    "@types/node" "*"
+    anymatch "^3.0.3"
+    fb-watchman "^2.0.0"
+    graceful-fs "^4.2.9"
+    jest-regex-util "^29.6.3"
+    jest-util "^29.7.0"
+    jest-worker "^29.7.0"
+    micromatch "^4.0.4"
+    walker "^1.0.8"
+  optionalDependencies:
+    fsevents "^2.3.2"
+
+jest-leak-detector@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz"
+  integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==
+  dependencies:
+    jest-get-type "^29.6.3"
+    pretty-format "^29.7.0"
+
+jest-matcher-utils@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz"
+  integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==
+  dependencies:
+    chalk "^4.0.0"
+    jest-diff "^29.7.0"
+    jest-get-type "^29.6.3"
+    pretty-format "^29.7.0"
+
+jest-message-util@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-29.7.0.tgz"
+  integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==
+  dependencies:
+    "@babel/code-frame" "^7.12.13"
+    "@jest/types" "^29.6.3"
+    "@types/stack-utils" "^2.0.0"
+    chalk "^4.0.0"
+    graceful-fs "^4.2.9"
+    micromatch "^4.0.4"
+    pretty-format "^29.7.0"
+    slash "^3.0.0"
+    stack-utils "^2.0.3"
+
+jest-mock@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-mock/-/jest-mock-29.7.0.tgz"
+  integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    jest-util "^29.7.0"
+
+jest-pnp-resolver@^1.2.2:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz"
+  integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
+
+jest-regex-util@^29.6.3:
+  version "29.6.3"
+  resolved "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
+  integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
+
+jest-resolve-dependencies@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz"
+  integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==
+  dependencies:
+    jest-regex-util "^29.6.3"
+    jest-snapshot "^29.7.0"
+
+jest-resolve@*, jest-resolve@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-29.7.0.tgz"
+  integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
+  dependencies:
+    chalk "^4.0.0"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^29.7.0"
+    jest-pnp-resolver "^1.2.2"
+    jest-util "^29.7.0"
+    jest-validate "^29.7.0"
+    resolve "^1.20.0"
+    resolve.exports "^2.0.0"
+    slash "^3.0.0"
+
+jest-runner@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-runner/-/jest-runner-29.7.0.tgz"
+  integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==
+  dependencies:
+    "@jest/console" "^29.7.0"
+    "@jest/environment" "^29.7.0"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    emittery "^0.13.1"
+    graceful-fs "^4.2.9"
+    jest-docblock "^29.7.0"
+    jest-environment-node "^29.7.0"
+    jest-haste-map "^29.7.0"
+    jest-leak-detector "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-resolve "^29.7.0"
+    jest-runtime "^29.7.0"
+    jest-util "^29.7.0"
+    jest-watcher "^29.7.0"
+    jest-worker "^29.7.0"
+    p-limit "^3.1.0"
+    source-map-support "0.5.13"
+
+jest-runtime@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-29.7.0.tgz"
+  integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==
+  dependencies:
+    "@jest/environment" "^29.7.0"
+    "@jest/fake-timers" "^29.7.0"
+    "@jest/globals" "^29.7.0"
+    "@jest/source-map" "^29.6.3"
+    "@jest/test-result" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    cjs-module-lexer "^1.0.0"
+    collect-v8-coverage "^1.0.0"
+    glob "^7.1.3"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-mock "^29.7.0"
+    jest-regex-util "^29.6.3"
+    jest-resolve "^29.7.0"
+    jest-snapshot "^29.7.0"
+    jest-util "^29.7.0"
+    slash "^3.0.0"
+    strip-bom "^4.0.0"
+
+jest-snapshot@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz"
+  integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==
+  dependencies:
+    "@babel/core" "^7.11.6"
+    "@babel/generator" "^7.7.2"
+    "@babel/plugin-syntax-jsx" "^7.7.2"
+    "@babel/plugin-syntax-typescript" "^7.7.2"
+    "@babel/types" "^7.3.3"
+    "@jest/expect-utils" "^29.7.0"
+    "@jest/transform" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    babel-preset-current-node-syntax "^1.0.0"
+    chalk "^4.0.0"
+    expect "^29.7.0"
+    graceful-fs "^4.2.9"
+    jest-diff "^29.7.0"
+    jest-get-type "^29.6.3"
+    jest-matcher-utils "^29.7.0"
+    jest-message-util "^29.7.0"
+    jest-util "^29.7.0"
+    natural-compare "^1.4.0"
+    pretty-format "^29.7.0"
+    semver "^7.5.3"
+
+jest-util@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz"
+  integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    chalk "^4.0.0"
+    ci-info "^3.2.0"
+    graceful-fs "^4.2.9"
+    picomatch "^2.2.3"
+
+jest-validate@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-validate/-/jest-validate-29.7.0.tgz"
+  integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==
+  dependencies:
+    "@jest/types" "^29.6.3"
+    camelcase "^6.2.0"
+    chalk "^4.0.0"
+    jest-get-type "^29.6.3"
+    leven "^3.1.0"
+    pretty-format "^29.7.0"
+
+jest-watcher@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-29.7.0.tgz"
+  integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
+  dependencies:
+    "@jest/test-result" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    "@types/node" "*"
+    ansi-escapes "^4.2.1"
+    chalk "^4.0.0"
+    emittery "^0.13.1"
+    jest-util "^29.7.0"
+    string-length "^4.0.1"
+
+jest-worker@^27.4.5:
+  version "27.5.1"
+  resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz"
+  integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+  dependencies:
+    "@types/node" "*"
+    merge-stream "^2.0.0"
+    supports-color "^8.0.0"
+
+jest-worker@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.7.0.tgz"
+  integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
+  dependencies:
+    "@types/node" "*"
+    jest-util "^29.7.0"
+    merge-stream "^2.0.0"
+    supports-color "^8.0.0"
+
+jest@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/jest/-/jest-29.7.0.tgz"
+  integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==
+  dependencies:
+    "@jest/core" "^29.7.0"
+    "@jest/types" "^29.6.3"
+    import-local "^3.0.2"
+    jest-cli "^29.7.0"
+
+jiti@^1.20.0, jiti@^1.21.0:
+  version "1.21.6"
+  resolved "https://registry.npmmirror.com/jiti/-/jiti-1.21.6.tgz"
+  integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==
+
+js-audio-recorder@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/js-audio-recorder/-/js-audio-recorder-1.0.7.tgz"
+  integrity sha512-JiDODCElVHGrFyjGYwYyNi7zCbKk9va9C77w+zCPMmi4C6ix7zsX2h3ddHugmo4dOTOTCym9++b/wVW9nC0IaA==
+
+js-cookie@^2.x.x:
+  version "2.2.1"
+  resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-2.2.1.tgz"
+  integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
+
+js-cookie@^3.0.1:
+  version "3.0.5"
+  resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz"
+  integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz"
+  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1:
+  version "3.14.1"
+  resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz"
+  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^4.0.0"
+
+js-yaml@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz"
+  integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+  dependencies:
+    argparse "^2.0.1"
+
+jsdoc-type-pratt-parser@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz"
+  integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==
+
+jsdom@^20.0.0:
+  version "20.0.3"
+  resolved "https://registry.npmmirror.com/jsdom/-/jsdom-20.0.3.tgz"
+  integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==
+  dependencies:
+    abab "^2.0.6"
+    acorn "^8.8.1"
+    acorn-globals "^7.0.0"
+    cssom "^0.5.0"
+    cssstyle "^2.3.0"
+    data-urls "^3.0.2"
+    decimal.js "^10.4.2"
+    domexception "^4.0.0"
+    escodegen "^2.0.0"
+    form-data "^4.0.0"
+    html-encoding-sniffer "^3.0.0"
+    http-proxy-agent "^5.0.0"
+    https-proxy-agent "^5.0.1"
+    is-potential-custom-element-name "^1.0.1"
+    nwsapi "^2.2.2"
+    parse5 "^7.1.1"
+    saxes "^6.0.0"
+    symbol-tree "^3.2.4"
+    tough-cookie "^4.1.2"
+    w3c-xmlserializer "^4.0.0"
+    webidl-conversions "^7.0.0"
+    whatwg-encoding "^2.0.0"
+    whatwg-mimetype "^3.0.0"
+    whatwg-url "^11.0.0"
+    ws "^8.11.0"
+    xml-name-validator "^4.0.0"
+
+jsesc@^3.0.2, jsesc@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz"
+  integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
+
+jsesc@~0.5.0:
+  version "0.5.0"
+  resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz"
+  integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
+
+json-buffer@3.0.1:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz"
+  integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
+  integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
+  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema-traverse@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
+  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
+  integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+json5@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz"
+  integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
+  dependencies:
+    minimist "^1.2.0"
+
+json5@^2.1.2, json5@^2.2.2, json5@^2.2.3:
+  version "2.2.3"
+  resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz"
+  integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonc-eslint-parser@^2.0.4, jsonc-eslint-parser@^2.1.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.3.0.tgz"
+  integrity sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==
+  dependencies:
+    acorn "^8.5.0"
+    eslint-visitor-keys "^3.0.0"
+    espree "^9.0.0"
+    semver "^7.3.5"
+
+jsonfile@^6.0.1, jsonfile@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz"
+  integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+  dependencies:
+    universalify "^2.0.0"
+  optionalDependencies:
+    graceful-fs "^4.1.6"
+
+"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3:
+  version "3.3.3"
+  resolved "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz"
+  integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
+  dependencies:
+    array-includes "^3.1.5"
+    object.assign "^4.1.3"
+
+jwt-decode@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/jwt-decode/-/jwt-decode-4.0.0.tgz"
+  integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==
+
+katex@^0.16.0, katex@^0.16.21, katex@^0.16.9:
+  version "0.16.21"
+  resolved "https://registry.npmmirror.com/katex/-/katex-0.16.21.tgz"
+  integrity sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==
+  dependencies:
+    commander "^8.3.0"
+
+keyv@^4.0.0:
+  version "4.5.4"
+  resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz"
+  integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
+  dependencies:
+    json-buffer "3.0.1"
+
+khroma@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/khroma/-/khroma-2.1.0.tgz"
+  integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==
+
+kleur@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz"
+  integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+
+kleur@^4.0.3:
+  version "4.1.5"
+  resolved "https://registry.npmmirror.com/kleur/-/kleur-4.1.5.tgz"
+  integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
+
+kolorist@^1.8.0:
+  version "1.8.0"
+  resolved "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz"
+  integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==
+
+lamejs@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/lamejs/-/lamejs-1.2.1.tgz"
+  integrity sha512-s7bxvjvYthw6oPLCm5pFxvA84wUROODB8jEO2+CE1adhKgrIvVOlmMgY8zyugxGrvRaDHNJanOiS21/emty6dQ==
+  dependencies:
+    use-strict "1.0.1"
+
+langium@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/langium/-/langium-3.0.0.tgz"
+  integrity sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==
+  dependencies:
+    chevrotain "~11.0.3"
+    chevrotain-allstar "~0.3.0"
+    vscode-languageserver "~9.0.1"
+    vscode-languageserver-textdocument "~1.0.11"
+    vscode-uri "~3.0.8"
+
+language-subtag-registry@~0.3.2:
+  version "0.3.22"
+  resolved "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz"
+  integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==
+
+language-tags@=1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.5.tgz"
+  integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==
+  dependencies:
+    language-subtag-registry "~0.3.2"
+
+launch-ide@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/launch-ide/-/launch-ide-1.0.0.tgz"
+  integrity sha512-VnVnFZK97DySVgidvlHlbPYOgf0hWjYowdqPu5P9iw1vyA+JUPu7ldJdL3cQm0ILC+4Wf1jtOv/x2f/67ePIfQ==
+  dependencies:
+    chalk "^4.1.1"
+    dotenv "^16.1.4"
+
+layout-base@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/layout-base/-/layout-base-1.0.2.tgz"
+  integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==
+
+layout-base@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/layout-base/-/layout-base-2.0.1.tgz"
+  integrity sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==
+
+leven@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz"
+  integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
+levn@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz"
+  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+  dependencies:
+    prelude-ls "^1.2.1"
+    type-check "~0.4.0"
+
+lexical@^0.16.0, lexical@0.16.1:
+  version "0.16.1"
+  resolved "https://registry.npmmirror.com/lexical/-/lexical-0.16.1.tgz"
+  integrity sha512-+R05d3+N945OY8pTUjTqQrWoApjC+ctzvjnmNETtx9WmVAaiW0tQVG+AYLt5pDGY8dQXtd4RPorvnxBTECt9SA==
+
+lib0@^0.2.99:
+  version "0.2.99"
+  resolved "https://registry.npmmirror.com/lib0/-/lib0-0.2.99.tgz"
+  integrity sha512-vwztYuUf1uf/1zQxfzRfO5yzfNKhTtgOByCruuiQQxWQXnPb8Itaube5ylofcV0oM0aKal9Mv+S1s1Ky0UYP1w==
+  dependencies:
+    isomorphic.js "^0.2.4"
+
+lie@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/lie/-/lie-3.1.1.tgz"
+  integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==
+  dependencies:
+    immediate "~3.0.5"
+
+lilconfig@^2.0.5, lilconfig@^2.1.0, lilconfig@2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz"
+  integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
+
+line-clamp@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/line-clamp/-/line-clamp-1.0.0.tgz"
+  integrity sha512-dCDlvMj572RIRBQ3x9aIX0DTdt2St1bMdpi64jVTAi5vqBck7wf+J97//+J7+pS80rFJaYa8HiyXCTp0flpnBA==
+
+lines-and-columns@^1.1.6:
+  version "1.2.4"
+  resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
+  integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+lint-staged@^13.2.2:
+  version "13.2.2"
+  resolved "https://registry.npmmirror.com/lint-staged/-/lint-staged-13.2.2.tgz"
+  integrity sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA==
+  dependencies:
+    chalk "5.2.0"
+    cli-truncate "^3.1.0"
+    commander "^10.0.0"
+    debug "^4.3.4"
+    execa "^7.0.0"
+    lilconfig "2.1.0"
+    listr2 "^5.0.7"
+    micromatch "^4.0.5"
+    normalize-path "^3.0.0"
+    object-inspect "^1.12.3"
+    pidtree "^0.6.0"
+    string-argv "^0.3.1"
+    yaml "^2.2.2"
+
+listr2@^5.0.7:
+  version "5.0.8"
+  resolved "https://registry.npmmirror.com/listr2/-/listr2-5.0.8.tgz"
+  integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==
+  dependencies:
+    cli-truncate "^2.1.0"
+    colorette "^2.0.19"
+    log-update "^4.0.0"
+    p-map "^4.0.0"
+    rfdc "^1.3.0"
+    rxjs "^7.8.0"
+    through "^2.3.8"
+    wrap-ansi "^7.0.0"
+
+loader-runner@^4.2.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz"
+  integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
+
+loader-utils@^2.0.0:
+  version "2.0.4"
+  resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz"
+  integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
+  dependencies:
+    big.js "^5.2.2"
+    emojis-list "^3.0.0"
+    json5 "^2.1.2"
+
+loader-utils@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz"
+  integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
+  dependencies:
+    big.js "^5.2.2"
+    emojis-list "^3.0.0"
+    json5 "^2.1.2"
+
+loader-utils@^3.2.1:
+  version "3.3.1"
+  resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.3.1.tgz"
+  integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==
+
+local-pkg@^0.4.3:
+  version "0.4.3"
+  resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz"
+  integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==
+
+local-pkg@^0.5.1:
+  version "0.5.1"
+  resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.1.tgz"
+  integrity sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==
+  dependencies:
+    mlly "^1.7.3"
+    pkg-types "^1.2.1"
+
+localforage@^1.8.1:
+  version "1.10.0"
+  resolved "https://registry.npmmirror.com/localforage/-/localforage-1.10.0.tgz"
+  integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==
+  dependencies:
+    lie "3.1.1"
+
+locate-path@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz"
+  integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+  dependencies:
+    p-locate "^4.1.0"
+
+locate-path@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz"
+  integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+  dependencies:
+    p-locate "^5.0.0"
+
+locate-path@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/locate-path/-/locate-path-7.2.0.tgz"
+  integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==
+  dependencies:
+    p-locate "^6.0.0"
+
+lodash-es@^4.17.21, lodash-es@4.17.21:
+  version "4.17.21"
+  resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz"
+  integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
+lodash.castarray@^4.4.0:
+  version "4.4.0"
+  resolved "https://registry.npmmirror.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz"
+  integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==
+
+lodash.debounce@^4.0.8:
+  version "4.0.8"
+  resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
+  integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.isplainobject@^4.0.6:
+  version "4.0.6"
+  resolved "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz"
+  integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
+lodash.merge@^4.6.2:
+  version "4.6.2"
+  resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz"
+  integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21:
+  version "4.17.21"
+  resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-update@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/log-update/-/log-update-4.0.0.tgz"
+  integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
+  dependencies:
+    ansi-escapes "^4.3.0"
+    cli-cursor "^3.1.0"
+    slice-ansi "^4.0.0"
+    wrap-ansi "^6.2.0"
+
+longest-streak@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz"
+  integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==
+
+loose-envify@^1.1.0, loose-envify@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz"
+  integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+  dependencies:
+    js-tokens "^3.0.0 || ^4.0.0"
+
+loupe@^3.1.0, loupe@^3.1.1, loupe@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/loupe/-/loupe-3.1.2.tgz"
+  integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==
+
+lower-case@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz"
+  integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+  dependencies:
+    tslib "^2.0.3"
+
+lowercase-keys@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
+  integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+lowlight@^1.17.0:
+  version "1.20.0"
+  resolved "https://registry.npmmirror.com/lowlight/-/lowlight-1.20.0.tgz"
+  integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
+  dependencies:
+    fault "^1.0.0"
+    highlight.js "~10.7.0"
+
+lru-cache@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz"
+  integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+  dependencies:
+    yallist "^3.0.2"
+
+lru-cache@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz"
+  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  dependencies:
+    yallist "^4.0.0"
+
+lz-string@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.npmmirror.com/lz-string/-/lz-string-1.5.0.tgz"
+  integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==
+
+magic-string@^0.30.5:
+  version "0.30.12"
+  resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.12.tgz"
+  integrity sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==
+  dependencies:
+    "@jridgewell/sourcemap-codec" "^1.5.0"
+
+magicast@^0.3.4:
+  version "0.3.5"
+  resolved "https://registry.npmmirror.com/magicast/-/magicast-0.3.5.tgz"
+  integrity sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==
+  dependencies:
+    "@babel/parser" "^7.25.4"
+    "@babel/types" "^7.25.4"
+    source-map-js "^1.2.0"
+
+make-dir@^3.0.2, make-dir@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz"
+  integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+  dependencies:
+    semver "^6.0.0"
+
+make-dir@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz"
+  integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
+  dependencies:
+    semver "^7.5.3"
+
+make-error@^1.1.1:
+  version "1.3.6"
+  resolved "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz"
+  integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
+makeerror@1.0.12:
+  version "1.0.12"
+  resolved "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz"
+  integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
+  dependencies:
+    tmpl "1.0.5"
+
+map-or-similar@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.npmmirror.com/map-or-similar/-/map-or-similar-1.5.0.tgz"
+  integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==
+
+markdown-extensions@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz"
+  integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==
+
+markdown-table@^3.0.0:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.3.tgz"
+  integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==
+
+marked@^13.0.2:
+  version "13.0.3"
+  resolved "https://registry.npmmirror.com/marked/-/marked-13.0.3.tgz"
+  integrity sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==
+
+md5.js@^1.3.4:
+  version "1.3.5"
+  resolved "https://registry.npmmirror.com/md5.js/-/md5.js-1.3.5.tgz"
+  integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+  dependencies:
+    hash-base "^3.0.0"
+    inherits "^2.0.1"
+    safe-buffer "^5.1.2"
+
+mdast-util-definitions@^5.0.0:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz"
+  integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    "@types/unist" "^2.0.0"
+    unist-util-visit "^4.0.0"
+
+mdast-util-find-and-replace@^2.0.0:
+  version "2.2.2"
+  resolved "https://registry.npmmirror.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz"
+  integrity sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    escape-string-regexp "^5.0.0"
+    unist-util-is "^5.0.0"
+    unist-util-visit-parents "^5.0.0"
+
+mdast-util-from-markdown@^0.8.5:
+  version "0.8.5"
+  resolved "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz"
+  integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-to-string "^2.0.0"
+    micromark "~2.11.0"
+    parse-entities "^2.0.0"
+    unist-util-stringify-position "^2.0.0"
+
+mdast-util-from-markdown@^1.0.0:
+  version "1.3.1"
+  resolved "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz"
+  integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    "@types/unist" "^2.0.0"
+    decode-named-character-reference "^1.0.0"
+    mdast-util-to-string "^3.1.0"
+    micromark "^3.0.0"
+    micromark-util-decode-numeric-character-reference "^1.0.0"
+    micromark-util-decode-string "^1.0.0"
+    micromark-util-normalize-identifier "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    unist-util-stringify-position "^3.0.0"
+    uvu "^0.5.0"
+
+mdast-util-from-markdown@^1.1.0:
+  version "1.3.1"
+  resolved "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz"
+  integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    "@types/unist" "^2.0.0"
+    decode-named-character-reference "^1.0.0"
+    mdast-util-to-string "^3.1.0"
+    micromark "^3.0.0"
+    micromark-util-decode-numeric-character-reference "^1.0.0"
+    micromark-util-decode-string "^1.0.0"
+    micromark-util-normalize-identifier "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    unist-util-stringify-position "^3.0.0"
+    uvu "^0.5.0"
+
+mdast-util-gfm-autolink-literal@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz"
+  integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    ccount "^2.0.0"
+    mdast-util-find-and-replace "^2.0.0"
+    micromark-util-character "^1.0.0"
+
+mdast-util-gfm-footnote@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz"
+  integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-to-markdown "^1.3.0"
+    micromark-util-normalize-identifier "^1.0.0"
+
+mdast-util-gfm-strikethrough@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz"
+  integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-to-markdown "^1.3.0"
+
+mdast-util-gfm-table@^1.0.0:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz"
+  integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    markdown-table "^3.0.0"
+    mdast-util-from-markdown "^1.0.0"
+    mdast-util-to-markdown "^1.3.0"
+
+mdast-util-gfm-task-list-item@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz"
+  integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-to-markdown "^1.3.0"
+
+mdast-util-gfm@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz"
+  integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==
+  dependencies:
+    mdast-util-from-markdown "^1.0.0"
+    mdast-util-gfm-autolink-literal "^1.0.0"
+    mdast-util-gfm-footnote "^1.0.0"
+    mdast-util-gfm-strikethrough "^1.0.0"
+    mdast-util-gfm-table "^1.0.0"
+    mdast-util-gfm-task-list-item "^1.0.0"
+    mdast-util-to-markdown "^1.0.0"
+
+mdast-util-math@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/mdast-util-math/-/mdast-util-math-2.0.2.tgz"
+  integrity sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    longest-streak "^3.0.0"
+    mdast-util-to-markdown "^1.3.0"
+
+mdast-util-mdx-expression@^1.0.0:
+  version "1.3.2"
+  resolved "https://registry.npmmirror.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz"
+  integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    "@types/hast" "^2.0.0"
+    "@types/mdast" "^3.0.0"
+    mdast-util-from-markdown "^1.0.0"
+    mdast-util-to-markdown "^1.0.0"
+
+mdast-util-mdx-jsx@^2.0.0:
+  version "2.1.4"
+  resolved "https://registry.npmmirror.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz"
+  integrity sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    "@types/hast" "^2.0.0"
+    "@types/mdast" "^3.0.0"
+    "@types/unist" "^2.0.0"
+    ccount "^2.0.0"
+    mdast-util-from-markdown "^1.1.0"
+    mdast-util-to-markdown "^1.3.0"
+    parse-entities "^4.0.0"
+    stringify-entities "^4.0.0"
+    unist-util-remove-position "^4.0.0"
+    unist-util-stringify-position "^3.0.0"
+    vfile-message "^3.0.0"
+
+mdast-util-mdx@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz"
+  integrity sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==
+  dependencies:
+    mdast-util-from-markdown "^1.0.0"
+    mdast-util-mdx-expression "^1.0.0"
+    mdast-util-mdx-jsx "^2.0.0"
+    mdast-util-mdxjs-esm "^1.0.0"
+    mdast-util-to-markdown "^1.0.0"
+
+mdast-util-mdxjs-esm@^1.0.0:
+  version "1.3.1"
+  resolved "https://registry.npmmirror.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz"
+  integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==
+  dependencies:
+    "@types/estree-jsx" "^1.0.0"
+    "@types/hast" "^2.0.0"
+    "@types/mdast" "^3.0.0"
+    mdast-util-from-markdown "^1.0.0"
+    mdast-util-to-markdown "^1.0.0"
+
+mdast-util-newline-to-break@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/mdast-util-newline-to-break/-/mdast-util-newline-to-break-1.0.0.tgz"
+  integrity sha512-491LcYv3gbGhhCrLoeALncQmega2xPh+m3gbsIhVsOX4sw85+ShLFPvPyibxc1Swx/6GtzxgVodq+cGa/47ULg==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-find-and-replace "^2.0.0"
+
+mdast-util-phrasing@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz"
+  integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    unist-util-is "^5.0.0"
+
+mdast-util-to-hast@^12.1.0:
+  version "12.3.0"
+  resolved "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz"
+  integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/mdast" "^3.0.0"
+    mdast-util-definitions "^5.0.0"
+    micromark-util-sanitize-uri "^1.1.0"
+    trim-lines "^3.0.0"
+    unist-util-generated "^2.0.0"
+    unist-util-position "^4.0.0"
+    unist-util-visit "^4.0.0"
+
+mdast-util-to-hast@^13.0.0:
+  version "13.2.0"
+  resolved "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz"
+  integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==
+  dependencies:
+    "@types/hast" "^3.0.0"
+    "@types/mdast" "^4.0.0"
+    "@ungap/structured-clone" "^1.0.0"
+    devlop "^1.0.0"
+    micromark-util-sanitize-uri "^2.0.0"
+    trim-lines "^3.0.0"
+    unist-util-position "^5.0.0"
+    unist-util-visit "^5.0.0"
+    vfile "^6.0.0"
+
+mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0:
+  version "1.5.0"
+  resolved "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz"
+  integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    "@types/unist" "^2.0.0"
+    longest-streak "^3.0.0"
+    mdast-util-phrasing "^3.0.0"
+    mdast-util-to-string "^3.0.0"
+    micromark-util-decode-string "^1.0.0"
+    unist-util-visit "^4.0.0"
+    zwitch "^2.0.0"
+
+mdast-util-to-string@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz"
+  integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==
+
+mdast-util-to-string@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz"
+  integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+
+mdast-util-to-string@^3.1.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz"
+  integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+
+memfs@^3.4.1, memfs@^3.4.12:
+  version "3.5.3"
+  resolved "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz"
+  integrity sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==
+  dependencies:
+    fs-monkey "^1.0.4"
+
+"memoize-one@>=3.1.1 <6":
+  version "5.2.1"
+  resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-5.2.1.tgz"
+  integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==
+
+memoizerific@^1.11.3:
+  version "1.11.3"
+  resolved "https://registry.npmmirror.com/memoizerific/-/memoizerific-1.11.3.tgz"
+  integrity sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==
+  dependencies:
+    map-or-similar "^1.5.0"
+
+merge-stream@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz"
+  integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz"
+  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+mermaid@11.4.1:
+  version "11.4.1"
+  resolved "https://registry.npmmirror.com/mermaid/-/mermaid-11.4.1.tgz"
+  integrity sha512-Mb01JT/x6CKDWaxigwfZYuYmDZ6xtrNwNlidKZwkSrDaY9n90tdrJTV5Umk+wP1fZscGptmKFXHsXMDEVZ+Q6A==
+  dependencies:
+    "@braintree/sanitize-url" "^7.0.1"
+    "@iconify/utils" "^2.1.32"
+    "@mermaid-js/parser" "^0.3.0"
+    "@types/d3" "^7.4.3"
+    cytoscape "^3.29.2"
+    cytoscape-cose-bilkent "^4.1.0"
+    cytoscape-fcose "^2.2.0"
+    d3 "^7.9.0"
+    d3-sankey "^0.12.3"
+    dagre-d3-es "7.0.11"
+    dayjs "^1.11.10"
+    dompurify "^3.2.1"
+    katex "^0.16.9"
+    khroma "^2.1.0"
+    lodash-es "^4.17.21"
+    marked "^13.0.2"
+    roughjs "^4.6.6"
+    stylis "^4.3.1"
+    ts-dedent "^2.2.0"
+    uuid "^9.0.1"
+
+micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz"
+  integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==
+  dependencies:
+    decode-named-character-reference "^1.0.0"
+    micromark-factory-destination "^1.0.0"
+    micromark-factory-label "^1.0.0"
+    micromark-factory-space "^1.0.0"
+    micromark-factory-title "^1.0.0"
+    micromark-factory-whitespace "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-chunked "^1.0.0"
+    micromark-util-classify-character "^1.0.0"
+    micromark-util-html-tag-name "^1.0.0"
+    micromark-util-normalize-identifier "^1.0.0"
+    micromark-util-resolve-all "^1.0.0"
+    micromark-util-subtokenize "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.1"
+    uvu "^0.5.0"
+
+micromark-extension-gfm-autolink-literal@^1.0.0:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz"
+  integrity sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-sanitize-uri "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-extension-gfm-footnote@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz"
+  integrity sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==
+  dependencies:
+    micromark-core-commonmark "^1.0.0"
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-normalize-identifier "^1.0.0"
+    micromark-util-sanitize-uri "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-extension-gfm-strikethrough@^1.0.0:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz"
+  integrity sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==
+  dependencies:
+    micromark-util-chunked "^1.0.0"
+    micromark-util-classify-character "^1.0.0"
+    micromark-util-resolve-all "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-extension-gfm-table@^1.0.0:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz"
+  integrity sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==
+  dependencies:
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-extension-gfm-tagfilter@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz"
+  integrity sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==
+  dependencies:
+    micromark-util-types "^1.0.0"
+
+micromark-extension-gfm-task-list-item@^1.0.0:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz"
+  integrity sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==
+  dependencies:
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-extension-gfm@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz"
+  integrity sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==
+  dependencies:
+    micromark-extension-gfm-autolink-literal "^1.0.0"
+    micromark-extension-gfm-footnote "^1.0.0"
+    micromark-extension-gfm-strikethrough "^1.0.0"
+    micromark-extension-gfm-table "^1.0.0"
+    micromark-extension-gfm-tagfilter "^1.0.0"
+    micromark-extension-gfm-task-list-item "^1.0.0"
+    micromark-util-combine-extensions "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-extension-math@^2.0.0:
+  version "2.1.2"
+  resolved "https://registry.npmmirror.com/micromark-extension-math/-/micromark-extension-math-2.1.2.tgz"
+  integrity sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==
+  dependencies:
+    "@types/katex" "^0.16.0"
+    katex "^0.16.0"
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-extension-mdx-expression@^1.0.0:
+  version "1.0.8"
+  resolved "https://registry.npmmirror.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz"
+  integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==
+  dependencies:
+    "@types/estree" "^1.0.0"
+    micromark-factory-mdx-expression "^1.0.0"
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-events-to-acorn "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-extension-mdx-jsx@^1.0.0:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz"
+  integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==
+  dependencies:
+    "@types/acorn" "^4.0.0"
+    "@types/estree" "^1.0.0"
+    estree-util-is-identifier-name "^2.0.0"
+    micromark-factory-mdx-expression "^1.0.0"
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+    vfile-message "^3.0.0"
+
+micromark-extension-mdx-md@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz"
+  integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==
+  dependencies:
+    micromark-util-types "^1.0.0"
+
+micromark-extension-mdxjs-esm@^1.0.0:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz"
+  integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==
+  dependencies:
+    "@types/estree" "^1.0.0"
+    micromark-core-commonmark "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-events-to-acorn "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    unist-util-position-from-estree "^1.1.0"
+    uvu "^0.5.0"
+    vfile-message "^3.0.0"
+
+micromark-extension-mdxjs@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz"
+  integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==
+  dependencies:
+    acorn "^8.0.0"
+    acorn-jsx "^5.0.0"
+    micromark-extension-mdx-expression "^1.0.0"
+    micromark-extension-mdx-jsx "^1.0.0"
+    micromark-extension-mdx-md "^1.0.0"
+    micromark-extension-mdxjs-esm "^1.0.0"
+    micromark-util-combine-extensions "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-factory-destination@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz"
+  integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-factory-label@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz"
+  integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-factory-mdx-expression@^1.0.0:
+  version "1.0.9"
+  resolved "https://registry.npmmirror.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz"
+  integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==
+  dependencies:
+    "@types/estree" "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-events-to-acorn "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    unist-util-position-from-estree "^1.0.0"
+    uvu "^0.5.0"
+    vfile-message "^3.0.0"
+
+micromark-factory-space@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz"
+  integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-factory-title@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz"
+  integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==
+  dependencies:
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-factory-whitespace@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz"
+  integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==
+  dependencies:
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-util-character@^1.0.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz"
+  integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==
+  dependencies:
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-util-character@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.0.tgz"
+  integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==
+  dependencies:
+    micromark-util-symbol "^2.0.0"
+    micromark-util-types "^2.0.0"
+
+micromark-util-chunked@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz"
+  integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==
+  dependencies:
+    micromark-util-symbol "^1.0.0"
+
+micromark-util-classify-character@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz"
+  integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-util-combine-extensions@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz"
+  integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==
+  dependencies:
+    micromark-util-chunked "^1.0.0"
+    micromark-util-types "^1.0.0"
+
+micromark-util-decode-numeric-character-reference@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz"
+  integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==
+  dependencies:
+    micromark-util-symbol "^1.0.0"
+
+micromark-util-decode-string@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz"
+  integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==
+  dependencies:
+    decode-named-character-reference "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-decode-numeric-character-reference "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+
+micromark-util-encode@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz"
+  integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==
+
+micromark-util-encode@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz"
+  integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==
+
+micromark-util-events-to-acorn@^1.0.0:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz"
+  integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==
+  dependencies:
+    "@types/acorn" "^4.0.0"
+    "@types/estree" "^1.0.0"
+    "@types/unist" "^2.0.0"
+    estree-util-visit "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+    vfile-message "^3.0.0"
+
+micromark-util-html-tag-name@^1.0.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz"
+  integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==
+
+micromark-util-normalize-identifier@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz"
+  integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==
+  dependencies:
+    micromark-util-symbol "^1.0.0"
+
+micromark-util-resolve-all@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz"
+  integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==
+  dependencies:
+    micromark-util-types "^1.0.0"
+
+micromark-util-sanitize-uri@^1.0.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz"
+  integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-encode "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+
+micromark-util-sanitize-uri@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz"
+  integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==
+  dependencies:
+    micromark-util-character "^1.0.0"
+    micromark-util-encode "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+
+micromark-util-sanitize-uri@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz"
+  integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==
+  dependencies:
+    micromark-util-character "^2.0.0"
+    micromark-util-encode "^2.0.0"
+    micromark-util-symbol "^2.0.0"
+
+micromark-util-subtokenize@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz"
+  integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==
+  dependencies:
+    micromark-util-chunked "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.0"
+    uvu "^0.5.0"
+
+micromark-util-symbol@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz"
+  integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==
+
+micromark-util-symbol@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz"
+  integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==
+
+micromark-util-types@^1.0.0, micromark-util-types@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz"
+  integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==
+
+micromark-util-types@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz"
+  integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==
+
+micromark@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/micromark/-/micromark-3.2.0.tgz"
+  integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==
+  dependencies:
+    "@types/debug" "^4.0.0"
+    debug "^4.0.0"
+    decode-named-character-reference "^1.0.0"
+    micromark-core-commonmark "^1.0.1"
+    micromark-factory-space "^1.0.0"
+    micromark-util-character "^1.0.0"
+    micromark-util-chunked "^1.0.0"
+    micromark-util-combine-extensions "^1.0.0"
+    micromark-util-decode-numeric-character-reference "^1.0.0"
+    micromark-util-encode "^1.0.0"
+    micromark-util-normalize-identifier "^1.0.0"
+    micromark-util-resolve-all "^1.0.0"
+    micromark-util-sanitize-uri "^1.0.0"
+    micromark-util-subtokenize "^1.0.0"
+    micromark-util-symbol "^1.0.0"
+    micromark-util-types "^1.0.1"
+    uvu "^0.5.0"
+
+micromark@~2.11.0:
+  version "2.11.4"
+  resolved "https://registry.npmmirror.com/micromark/-/micromark-2.11.4.tgz"
+  integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==
+  dependencies:
+    debug "^4.0.0"
+    parse-entities "^2.0.0"
+
+micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
+  version "4.0.8"
+  resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz"
+  integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
+  dependencies:
+    braces "^3.0.3"
+    picomatch "^2.3.1"
+
+miller-rabin@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/miller-rabin/-/miller-rabin-4.0.1.tgz"
+  integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+  dependencies:
+    bn.js "^4.0.0"
+    brorand "^1.0.1"
+
+mime-db@1.52.0:
+  version "1.52.0"
+  resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz"
+  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31:
+  version "2.1.35"
+  resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+  dependencies:
+    mime-db "1.52.0"
+
+mime@^4.0.4:
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/mime/-/mime-4.0.4.tgz"
+  integrity sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==
+
+mimic-fn@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz"
+  integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-fn@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz"
+  integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
+
+mimic-response@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz"
+  integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+mimic-response@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-2.1.0.tgz"
+  integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
+
+mimic-response@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz"
+  integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
+
+min-indent@^1.0.0, min-indent@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz"
+  integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
+  integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimalistic-crypto-utils@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
+  integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
+
+minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz"
+  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+  dependencies:
+    brace-expansion "^1.1.7"
+
+minimist@^1.2.0, minimist@^1.2.6:
+  version "1.2.8"
+  resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz"
+  integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+minipass@^3.0.0:
+  version "3.3.6"
+  resolved "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz"
+  integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
+  dependencies:
+    yallist "^4.0.0"
+
+minipass@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz"
+  integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
+
+minizlib@^2.1.1:
+  version "2.1.2"
+  resolved "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz"
+  integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+  dependencies:
+    minipass "^3.0.0"
+    yallist "^4.0.0"
+
+mkdirp@^0.5.6:
+  version "0.5.6"
+  resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
+  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+  dependencies:
+    minimist "^1.2.6"
+
+mkdirp@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz"
+  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mlly@^1.7.2, mlly@^1.7.3:
+  version "1.7.3"
+  resolved "https://registry.npmmirror.com/mlly/-/mlly-1.7.3.tgz"
+  integrity sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==
+  dependencies:
+    acorn "^8.14.0"
+    pathe "^1.1.2"
+    pkg-types "^1.2.1"
+    ufo "^1.5.4"
+
+"monaco-editor@>= 0.21.0 < 1", "monaco-editor@>= 0.25.0 < 1":
+  version "0.52.2"
+  resolved "https://registry.npmmirror.com/monaco-editor/-/monaco-editor-0.52.2.tgz"
+  integrity sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==
+
+mri@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/mri/-/mri-1.2.0.tgz"
+  integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
+ms@^2.1.1, ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@^2.1.3:
+  version "2.1.3"
+  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+mz@^2.7.0:
+  version "2.7.0"
+  resolved "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz"
+  integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
+  dependencies:
+    any-promise "^1.0.0"
+    object-assign "^4.0.1"
+    thenify-all "^1.0.0"
+
+nan@^2.17.0:
+  version "2.22.0"
+  resolved "https://registry.npmmirror.com/nan/-/nan-2.22.0.tgz"
+  integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==
+
+nanoid@^3.3.6, nanoid@^3.3.7:
+  version "3.3.8"
+  resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz"
+  integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
+
+natural-compare-lite@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz"
+  integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
+
+natural-compare@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz"
+  integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
+negotiator@^0.6.3:
+  version "0.6.3"
+  resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz"
+  integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+neo-async@^2.6.2:
+  version "2.6.2"
+  resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz"
+  integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+"next@^13.5.0 || ^14.0.0", next@^14.2.10:
+  version "14.2.17"
+  resolved "https://registry.npmmirror.com/next/-/next-14.2.17.tgz"
+  integrity sha512-hNo/Zy701DDO3nzKkPmsLRlDfNCtb1OJxFUvjGEl04u7SFa3zwC6hqsOUzMajcaEOEV8ey1GjvByvrg0Qr5AiQ==
+  dependencies:
+    "@next/env" "14.2.17"
+    "@swc/helpers" "0.5.5"
+    busboy "1.6.0"
+    caniuse-lite "^1.0.30001579"
+    graceful-fs "^4.2.11"
+    postcss "8.4.31"
+    styled-jsx "5.1.1"
+  optionalDependencies:
+    "@next/swc-darwin-arm64" "14.2.17"
+    "@next/swc-darwin-x64" "14.2.17"
+    "@next/swc-linux-arm64-gnu" "14.2.17"
+    "@next/swc-linux-arm64-musl" "14.2.17"
+    "@next/swc-linux-x64-gnu" "14.2.17"
+    "@next/swc-linux-x64-musl" "14.2.17"
+    "@next/swc-win32-arm64-msvc" "14.2.17"
+    "@next/swc-win32-ia32-msvc" "14.2.17"
+    "@next/swc-win32-x64-msvc" "14.2.17"
+
+no-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz"
+  integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+  dependencies:
+    lower-case "^2.0.2"
+    tslib "^2.0.3"
+
+node-abort-controller@^3.0.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz"
+  integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==
+
+node-fetch@^2.6.7:
+  version "2.7.0"
+  resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz"
+  integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
+  dependencies:
+    whatwg-url "^5.0.0"
+
+node-int64@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz"
+  integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
+
+node-polyfill-webpack-plugin@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz"
+  integrity sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==
+  dependencies:
+    assert "^2.0.0"
+    browserify-zlib "^0.2.0"
+    buffer "^6.0.3"
+    console-browserify "^1.2.0"
+    constants-browserify "^1.0.0"
+    crypto-browserify "^3.12.0"
+    domain-browser "^4.22.0"
+    events "^3.3.0"
+    filter-obj "^2.0.2"
+    https-browserify "^1.0.0"
+    os-browserify "^0.3.0"
+    path-browserify "^1.0.1"
+    process "^0.11.10"
+    punycode "^2.1.1"
+    querystring-es3 "^0.2.1"
+    readable-stream "^4.0.0"
+    stream-browserify "^3.0.0"
+    stream-http "^3.2.0"
+    string_decoder "^1.3.0"
+    timers-browserify "^2.0.12"
+    tty-browserify "^0.0.1"
+    type-fest "^2.14.0"
+    url "^0.11.0"
+    util "^0.12.4"
+    vm-browserify "^1.1.2"
+
+node-releases@^2.0.18:
+  version "2.0.18"
+  resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz"
+  integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
+
+nopt@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/nopt/-/nopt-5.0.0.tgz"
+  integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+  dependencies:
+    abbrev "1"
+
+normalize-package-data@^2.5.0:
+  version "2.5.0"
+  resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz"
+  integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+  dependencies:
+    hosted-git-info "^2.1.4"
+    resolve "^1.10.0"
+    semver "2 || 3 || 4 || 5"
+    validate-npm-package-license "^3.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz"
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-range@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz"
+  integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
+normalize-url@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz"
+  integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
+
+normalize-wheel@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz"
+  integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==
+
+npm-run-path@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz"
+  integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+  dependencies:
+    path-key "^3.0.0"
+
+npm-run-path@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.1.0.tgz"
+  integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==
+  dependencies:
+    path-key "^4.0.0"
+
+npmlog@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/npmlog/-/npmlog-5.0.1.tgz"
+  integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
+  dependencies:
+    are-we-there-yet "^2.0.0"
+    console-control-strings "^1.1.0"
+    gauge "^3.0.0"
+    set-blocking "^2.0.0"
+
+nth-check@^2.0.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz"
+  integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+  dependencies:
+    boolbase "^1.0.0"
+
+nwsapi@^2.2.2:
+  version "2.2.12"
+  resolved "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.12.tgz"
+  integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==
+
+object-assign@^4.0.1, object-assign@^4.1.1:
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz"
+  integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-hash@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz"
+  integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
+
+object-inspect@^1.12.3, object-inspect@^1.13.1:
+  version "1.13.1"
+  resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz"
+  integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
+
+object-is@^1.1.5:
+  version "1.1.5"
+  resolved "https://registry.npmmirror.com/object-is/-/object-is-1.1.5.tgz"
+  integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+
+object-keys@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz"
+  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.3, object.assign@^4.1.4:
+  version "4.1.4"
+  resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz"
+  integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.4"
+    has-symbols "^1.0.3"
+    object-keys "^1.1.1"
+
+object.entries@^1.1.6:
+  version "1.1.6"
+  resolved "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.6.tgz"
+  integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.4"
+    es-abstract "^1.20.4"
+
+object.fromentries@^2.0.6, object.fromentries@^2.0.7:
+  version "2.0.7"
+  resolved "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.7.tgz"
+  integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+
+object.groupby@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/object.groupby/-/object.groupby-1.0.1.tgz"
+  integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+
+object.hasown@^1.1.2:
+  version "1.1.3"
+  resolved "https://registry.npmmirror.com/object.hasown/-/object.hasown-1.1.3.tgz"
+  integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==
+  dependencies:
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+
+object.values@^1.1.6, object.values@^1.1.7:
+  version "1.1.7"
+  resolved "https://registry.npmmirror.com/object.values/-/object.values-1.1.7.tgz"
+  integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+
+objectorarray@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/objectorarray/-/objectorarray-1.0.5.tgz"
+  integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz"
+  integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+  dependencies:
+    wrappy "1"
+
+onetime@^5.1.0, onetime@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz"
+  integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+  dependencies:
+    mimic-fn "^2.1.0"
+
+onetime@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/onetime/-/onetime-6.0.0.tgz"
+  integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
+  dependencies:
+    mimic-fn "^4.0.0"
+
+open@^8.0.4:
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz"
+  integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==
+  dependencies:
+    define-lazy-prop "^2.0.0"
+    is-docker "^2.1.1"
+    is-wsl "^2.2.0"
+
+open@^9.1.0:
+  version "9.1.0"
+  resolved "https://registry.npmmirror.com/open/-/open-9.1.0.tgz"
+  integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==
+  dependencies:
+    default-browser "^4.0.0"
+    define-lazy-prop "^3.0.0"
+    is-inside-container "^1.0.0"
+    is-wsl "^2.2.0"
+
+optionator@^0.9.3:
+  version "0.9.4"
+  resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz"
+  integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
+  dependencies:
+    deep-is "^0.1.3"
+    fast-levenshtein "^2.0.6"
+    levn "^0.4.1"
+    prelude-ls "^1.2.1"
+    type-check "^0.4.0"
+    word-wrap "^1.2.5"
+
+os-browserify@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.npmmirror.com/os-browserify/-/os-browserify-0.3.0.tgz"
+  integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
+
+p-cancelable@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-2.1.1.tgz"
+  integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
+
+p-limit@^2.2.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz"
+  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+  dependencies:
+    p-try "^2.0.0"
+
+p-limit@^3.0.2, p-limit@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz"
+  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+  dependencies:
+    yocto-queue "^0.1.0"
+
+p-limit@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz"
+  integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
+  dependencies:
+    yocto-queue "^1.0.0"
+
+p-locate@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz"
+  integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+  dependencies:
+    p-limit "^2.2.0"
+
+p-locate@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz"
+  integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+  dependencies:
+    p-limit "^3.0.2"
+
+p-locate@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/p-locate/-/p-locate-6.0.0.tgz"
+  integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==
+  dependencies:
+    p-limit "^4.0.0"
+
+p-map@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz"
+  integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+  dependencies:
+    aggregate-error "^3.0.0"
+
+p-try@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz"
+  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+package-manager-detector@^0.2.0:
+  version "0.2.7"
+  resolved "https://registry.npmmirror.com/package-manager-detector/-/package-manager-detector-0.2.7.tgz"
+  integrity sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==
+
+pako@~1.0.5:
+  version "1.0.11"
+  resolved "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz"
+  integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+
+papaparse@^5.3.1:
+  version "5.4.1"
+  resolved "https://registry.npmmirror.com/papaparse/-/papaparse-5.4.1.tgz"
+  integrity sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==
+
+param-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz"
+  integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
+  dependencies:
+    dot-case "^3.0.4"
+    tslib "^2.0.3"
+
+parent-module@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz"
+  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+  dependencies:
+    callsites "^3.0.0"
+
+parse-asn1@^5.0.0, parse-asn1@^5.1.7:
+  version "5.1.7"
+  resolved "https://registry.npmmirror.com/parse-asn1/-/parse-asn1-5.1.7.tgz"
+  integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==
+  dependencies:
+    asn1.js "^4.10.1"
+    browserify-aes "^1.2.0"
+    evp_bytestokey "^1.0.3"
+    hash-base "~3.0"
+    pbkdf2 "^3.1.2"
+    safe-buffer "^5.2.1"
+
+parse-entities@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/parse-entities/-/parse-entities-2.0.0.tgz"
+  integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+  dependencies:
+    character-entities "^1.0.0"
+    character-entities-legacy "^1.0.0"
+    character-reference-invalid "^1.0.0"
+    is-alphanumerical "^1.0.0"
+    is-decimal "^1.0.0"
+    is-hexadecimal "^1.0.0"
+
+parse-entities@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.1.tgz"
+  integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    character-entities "^2.0.0"
+    character-entities-legacy "^3.0.0"
+    character-reference-invalid "^2.0.0"
+    decode-named-character-reference "^1.0.0"
+    is-alphanumerical "^2.0.0"
+    is-decimal "^2.0.0"
+    is-hexadecimal "^2.0.0"
+
+parse-json@^5.0.0, parse-json@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz"
+  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+  dependencies:
+    "@babel/code-frame" "^7.0.0"
+    error-ex "^1.3.1"
+    json-parse-even-better-errors "^2.3.0"
+    lines-and-columns "^1.1.6"
+
+parse5@^7.0.0, parse5@^7.1.1:
+  version "7.1.2"
+  resolved "https://registry.npmmirror.com/parse5/-/parse5-7.1.2.tgz"
+  integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
+  dependencies:
+    entities "^4.4.0"
+
+pascal-case@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz"
+  integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
+
+path-browserify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz"
+  integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
+path-data-parser@^0.1.0, path-data-parser@0.1.0:
+  version "0.1.0"
+  resolved "https://registry.npmmirror.com/path-data-parser/-/path-data-parser-0.1.0.tgz"
+  integrity sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==
+
+path-exists@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz"
+  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-exists@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/path-exists/-/path-exists-5.0.0.tgz"
+  integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
+
+path-is-absolute@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+  integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-key@^3.0.0, path-key@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz"
+  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-key@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz"
+  integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
+
+path-parse@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz"
+  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-type@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz"
+  integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+path2d@^0.2.0:
+  version "0.2.2"
+  resolved "https://registry.npmmirror.com/path2d/-/path2d-0.2.2.tgz"
+  integrity sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==
+
+pathe@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz"
+  integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==
+
+pathval@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/pathval/-/pathval-2.0.0.tgz"
+  integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==
+
+pbkdf2@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.2.tgz"
+  integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
+  dependencies:
+    create-hash "^1.1.2"
+    create-hmac "^1.1.4"
+    ripemd160 "^2.0.1"
+    safe-buffer "^5.0.1"
+    sha.js "^2.4.8"
+
+pdfjs-dist@4.4.168:
+  version "4.4.168"
+  resolved "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-4.4.168.tgz"
+  integrity sha512-MbkAjpwka/dMHaCfQ75RY1FXX3IewBVu6NGZOcxerRFlaBiIkZmUoR0jotX5VUzYZEXAGzSFtknWs5xRKliXPA==
+  optionalDependencies:
+    canvas "^2.11.2"
+    path2d "^0.2.0"
+
+periscopic@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/periscopic/-/periscopic-3.1.0.tgz"
+  integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==
+  dependencies:
+    "@types/estree" "^1.0.0"
+    estree-walker "^3.0.0"
+    is-reference "^3.0.0"
+
+picocolors@^1.0.0, picocolors@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz"
+  integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pidtree@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz"
+  integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==
+
+pify@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz"
+  integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
+pinyin-pro@^3.23.0:
+  version "3.24.2"
+  resolved "https://registry.npmmirror.com/pinyin-pro/-/pinyin-pro-3.24.2.tgz"
+  integrity sha512-5tPyLhxT4CZ9dWqQRqm3X5ADdS18Sb2w0ranNBgr6jCrqO4O8gtfuyqG7Y6+1Mre+0n2VlhKDz+3P5oqSLrkOw==
+
+pirates@^4.0.1, pirates@^4.0.4:
+  version "4.0.5"
+  resolved "https://registry.npmmirror.com/pirates/-/pirates-4.0.5.tgz"
+  integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
+
+pkg-dir@^4.1.0, pkg-dir@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz"
+  integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+  dependencies:
+    find-up "^4.0.0"
+
+pkg-dir@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-7.0.0.tgz"
+  integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==
+  dependencies:
+    find-up "^6.3.0"
+
+pkg-types@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.2.1.tgz"
+  integrity sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==
+  dependencies:
+    confbox "^0.1.8"
+    mlly "^1.7.2"
+    pathe "^1.1.2"
+
+pluralize@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.npmmirror.com/pluralize/-/pluralize-8.0.0.tgz"
+  integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
+
+pnp-webpack-plugin@^1.7.0:
+  version "1.7.0"
+  resolved "https://registry.npmmirror.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz"
+  integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==
+  dependencies:
+    ts-pnp "^1.1.6"
+
+points-on-curve@^0.2.0, points-on-curve@0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/points-on-curve/-/points-on-curve-0.2.0.tgz"
+  integrity sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==
+
+points-on-path@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.npmmirror.com/points-on-path/-/points-on-path-0.2.1.tgz"
+  integrity sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==
+  dependencies:
+    path-data-parser "0.1.0"
+    points-on-curve "0.2.0"
+
+polished@^4.2.2:
+  version "4.3.1"
+  resolved "https://registry.npmmirror.com/polished/-/polished-4.3.1.tgz"
+  integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==
+  dependencies:
+    "@babel/runtime" "^7.17.8"
+
+portfinder@^1.0.28:
+  version "1.0.32"
+  resolved "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.32.tgz"
+  integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==
+  dependencies:
+    async "^2.6.4"
+    debug "^3.2.7"
+    mkdirp "^0.5.6"
+
+postcss-import@^15.1.0:
+  version "15.1.0"
+  resolved "https://registry.npmmirror.com/postcss-import/-/postcss-import-15.1.0.tgz"
+  integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
+  dependencies:
+    postcss-value-parser "^4.0.0"
+    read-cache "^1.0.0"
+    resolve "^1.1.7"
+
+postcss-js@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.1.tgz"
+  integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
+  dependencies:
+    camelcase-css "^2.0.1"
+
+postcss-load-config@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz"
+  integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==
+  dependencies:
+    lilconfig "^2.0.5"
+    yaml "^2.1.1"
+
+postcss-loader@^8.1.1:
+  version "8.1.1"
+  resolved "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-8.1.1.tgz"
+  integrity sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==
+  dependencies:
+    cosmiconfig "^9.0.0"
+    jiti "^1.20.0"
+    semver "^7.5.4"
+
+postcss-modules-extract-imports@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz"
+  integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==
+
+postcss-modules-local-by-default@^4.0.5:
+  version "4.0.5"
+  resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz"
+  integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==
+  dependencies:
+    icss-utils "^5.0.0"
+    postcss-selector-parser "^6.0.2"
+    postcss-value-parser "^4.1.0"
+
+postcss-modules-scope@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz"
+  integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==
+  dependencies:
+    postcss-selector-parser "^6.0.4"
+
+postcss-modules-values@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz"
+  integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+  dependencies:
+    icss-utils "^5.0.0"
+
+postcss-nested@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.0.1.tgz"
+  integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==
+  dependencies:
+    postcss-selector-parser "^6.0.11"
+
+postcss-selector-parser@^6.0.11:
+  version "6.0.13"
+  resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz"
+  integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
+  dependencies:
+    cssesc "^3.0.0"
+    util-deprecate "^1.0.2"
+
+postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9, postcss-selector-parser@6.0.10:
+  version "6.0.10"
+  resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz"
+  integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
+  dependencies:
+    cssesc "^3.0.0"
+    util-deprecate "^1.0.2"
+
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
+  integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.31, postcss@^8.4.33, postcss@^8.4.38, postcss@>=8.0.9:
+  version "8.4.47"
+  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.47.tgz"
+  integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==
+  dependencies:
+    nanoid "^3.3.7"
+    picocolors "^1.1.0"
+    source-map-js "^1.2.1"
+
+postcss@8.4.31:
+  version "8.4.31"
+  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.31.tgz"
+  integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
+  dependencies:
+    nanoid "^3.3.6"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
+prelude-ls@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz"
+  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+pretty-error@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz"
+  integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==
+  dependencies:
+    lodash "^4.17.20"
+    renderkid "^3.0.0"
+
+pretty-format@^27.0.2:
+  version "27.5.1"
+  resolved "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz"
+  integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
+  dependencies:
+    ansi-regex "^5.0.1"
+    ansi-styles "^5.0.0"
+    react-is "^17.0.1"
+
+pretty-format@^29.0.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz"
+  integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
+  dependencies:
+    "@jest/schemas" "^29.6.3"
+    ansi-styles "^5.0.0"
+    react-is "^18.0.0"
+
+pretty-format@^29.7.0:
+  version "29.7.0"
+  resolved "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz"
+  integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
+  dependencies:
+    "@jest/schemas" "^29.6.3"
+    ansi-styles "^5.0.0"
+    react-is "^18.0.0"
+
+prismjs@^1.27.0:
+  version "1.29.0"
+  resolved "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz"
+  integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
+
+prismjs@~1.27.0:
+  version "1.27.0"
+  resolved "https://registry.npmmirror.com/prismjs/-/prismjs-1.27.0.tgz"
+  integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
+
+process-nextick-args@~2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
+  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+process@^0.11.10:
+  version "0.11.10"
+  resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz"
+  integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
+prompts@^2.0.1:
+  version "2.4.2"
+  resolved "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz"
+  integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
+  dependencies:
+    kleur "^3.0.3"
+    sisteransi "^1.0.5"
+
+prop-types@^15.0.0, prop-types@^15.5.8, prop-types@^15.8.1:
+  version "15.8.1"
+  resolved "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz"
+  integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+  dependencies:
+    loose-envify "^1.4.0"
+    object-assign "^4.1.1"
+    react-is "^16.13.1"
+
+property-information@^5.0.0:
+  version "5.6.0"
+  resolved "https://registry.npmmirror.com/property-information/-/property-information-5.6.0.tgz"
+  integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
+  dependencies:
+    xtend "^4.0.0"
+
+property-information@^6.0.0:
+  version "6.2.0"
+  resolved "https://registry.npmmirror.com/property-information/-/property-information-6.2.0.tgz"
+  integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==
+
+psl@^1.1.33:
+  version "1.9.0"
+  resolved "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz"
+  integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
+
+public-encrypt@^4.0.3:
+  version "4.0.3"
+  resolved "https://registry.npmmirror.com/public-encrypt/-/public-encrypt-4.0.3.tgz"
+  integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+  dependencies:
+    bn.js "^4.1.0"
+    browserify-rsa "^4.0.0"
+    create-hash "^1.1.0"
+    parse-asn1 "^5.0.0"
+    randombytes "^2.0.1"
+    safe-buffer "^5.1.2"
+
+pump@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/pump/-/pump-3.0.2.tgz"
+  integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
+punycode@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz"
+  integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
+punycode@^2.1.0, punycode@^2.1.1:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz"
+  integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
+
+pure-rand@^6.0.0:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/pure-rand/-/pure-rand-6.1.0.tgz"
+  integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==
+
+qrcode.react@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz"
+  integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==
+
+qs@^6.11.1, qs@^6.12.3:
+  version "6.13.0"
+  resolved "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz"
+  integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
+  dependencies:
+    side-channel "^1.0.6"
+
+querystring-es3@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.npmmirror.com/querystring-es3/-/querystring-es3-0.2.1.tgz"
+  integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==
+
+querystringify@^2.1.1:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz"
+  integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+
+queue-microtask@^1.2.2:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz"
+  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+queue@6.0.2:
+  version "6.0.2"
+  resolved "https://registry.npmmirror.com/queue/-/queue-6.0.2.tgz"
+  integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
+  dependencies:
+    inherits "~2.0.3"
+
+quick-lru@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz"
+  integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz"
+  integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+  dependencies:
+    safe-buffer "^5.1.0"
+
+randomfill@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/randomfill/-/randomfill-1.0.4.tgz"
+  integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
+  dependencies:
+    randombytes "^2.0.5"
+    safe-buffer "^5.1.0"
+
+range-parser@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz"
+  integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+rc-input@~1.3.5:
+  version "1.3.11"
+  resolved "https://registry.npmmirror.com/rc-input/-/rc-input-1.3.11.tgz"
+  integrity sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ==
+  dependencies:
+    "@babel/runtime" "^7.11.1"
+    classnames "^2.2.1"
+    rc-util "^5.18.1"
+
+rc-resize-observer@^1.0.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz"
+  integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==
+  dependencies:
+    "@babel/runtime" "^7.20.7"
+    classnames "^2.2.1"
+    rc-util "^5.38.0"
+    resize-observer-polyfill "^1.5.1"
+
+rc-textarea@^1.5.2:
+  version "1.5.3"
+  resolved "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.5.3.tgz"
+  integrity sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+    classnames "^2.2.1"
+    rc-input "~1.3.5"
+    rc-resize-observer "^1.0.0"
+    rc-util "^5.27.0"
+
+rc-util@^5.18.1, rc-util@^5.27.0, rc-util@^5.38.0:
+  version "5.38.1"
+  resolved "https://registry.npmmirror.com/rc-util/-/rc-util-5.38.1.tgz"
+  integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==
+  dependencies:
+    "@babel/runtime" "^7.18.3"
+    react-is "^18.2.0"
+
+re-resizable@6.10.0:
+  version "6.10.0"
+  resolved "https://registry.npmmirror.com/re-resizable/-/re-resizable-6.10.0.tgz"
+  integrity sha512-hysSK0xmA5nz24HBVztlk4yCqCLCvS32E6ZpWxVKop9x3tqCa4yAj1++facrmkOf62JsJHjmjABdKxXofYioCw==
+
+react-18-input-autosize@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/react-18-input-autosize/-/react-18-input-autosize-3.0.0.tgz"
+  integrity sha512-7tsUc9PJWg6Vsp8qYuzlKKBf7hbCoTBdNfjYZSprEPbxf3meuhjklg9QPBe9rIyoR3uDAzmG7NpoJ1+kP5ns+w==
+  dependencies:
+    prop-types "^15.5.8"
+
+react-confetti@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/react-confetti/-/react-confetti-6.1.0.tgz"
+  integrity sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==
+  dependencies:
+    tween-functions "^1.2.0"
+
+react-docgen-typescript@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.npmmirror.com/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz"
+  integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==
+
+react-docgen@^7.0.0:
+  version "7.1.0"
+  resolved "https://registry.npmmirror.com/react-docgen/-/react-docgen-7.1.0.tgz"
+  integrity sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==
+  dependencies:
+    "@babel/core" "^7.18.9"
+    "@babel/traverse" "^7.18.9"
+    "@babel/types" "^7.18.9"
+    "@types/babel__core" "^7.18.0"
+    "@types/babel__traverse" "^7.18.0"
+    "@types/doctrine" "^0.0.9"
+    "@types/resolve" "^1.20.2"
+    doctrine "^3.0.0"
+    resolve "^1.22.1"
+    strip-indent "^4.0.0"
+
+react-dom@*, "react-dom@^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", "react-dom@^16 || ^17 || ^18", "react-dom@^16.13.1 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 16.3.0", react-dom@>=16.0.0, react-dom@>=16.14.0, react-dom@>=16.3.0, react-dom@>=16.4.0, react-dom@>=16.8.0, react-dom@>=16.8.1, react-dom@>=16.9.0, react-dom@>=17, react-dom@>=17.x, react-dom@>=18.0.0, react-dom@~18.2.0:
+  version "18.2.0"
+  resolved "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz"
+  integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
+  dependencies:
+    loose-envify "^1.1.0"
+    scheduler "^0.23.0"
+
+react-draggable@4.4.6:
+  version "4.4.6"
+  resolved "https://registry.npmmirror.com/react-draggable/-/react-draggable-4.4.6.tgz"
+  integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==
+  dependencies:
+    clsx "^1.1.1"
+    prop-types "^15.8.1"
+
+react-easy-crop@^5.0.8:
+  version "5.0.8"
+  resolved "https://registry.npmmirror.com/react-easy-crop/-/react-easy-crop-5.0.8.tgz"
+  integrity sha512-KjulxXhR5iM7+ATN2sGCum/IyDxGw7xT0dFoGcqUP+ysaPU5Ka7gnrDa2tUHFHUoMNyPrVZ05QA+uvMgC5ym/g==
+  dependencies:
+    normalize-wheel "^1.0.1"
+    tslib "^2.0.1"
+
+react-error-boundary@^3.1.4:
+  version "3.1.4"
+  resolved "https://registry.npmmirror.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz"
+  integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+
+react-error-boundary@^4.0.2:
+  version "4.0.9"
+  resolved "https://registry.npmmirror.com/react-error-boundary/-/react-error-boundary-4.0.9.tgz"
+  integrity sha512-f6DcHVdTDZmc9ixmRmuLDZpkdghYR/HKZdUzMLHD58s4cR2C4R6y4ktYztCosM6pyeK4/C8IofwqxgID25W6kw==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+
+react-hook-form@^7.0.0, react-hook-form@^7.51.4:
+  version "7.51.5"
+  resolved "https://registry.npmmirror.com/react-hook-form/-/react-hook-form-7.51.5.tgz"
+  integrity sha512-J2ILT5gWx1XUIJRETiA7M19iXHlG74+6O3KApzvqB/w8S5NQR7AbU8HVZrMALdmDgWpRPYiZJl0zx8Z4L2mP6Q==
+
+react-hotkeys-hook@^4.6.1:
+  version "4.6.1"
+  resolved "https://registry.npmmirror.com/react-hotkeys-hook/-/react-hotkeys-hook-4.6.1.tgz"
+  integrity sha512-XlZpbKUj9tkfgPgT9gA+1p7Ey6vFIZHttUjPqpTdyT5nqQ8mHL7elxvSbaC+dpSiHUSmr21Ya1mDxBZG3aje4Q==
+
+react-i18next@^12.2.0:
+  version "12.3.1"
+  resolved "https://registry.npmmirror.com/react-i18next/-/react-i18next-12.3.1.tgz"
+  integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==
+  dependencies:
+    "@babel/runtime" "^7.20.6"
+    html-parse-stringify "^3.0.1"
+
+react-infinite-scroll-component@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.npmmirror.com/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz"
+  integrity sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==
+  dependencies:
+    throttle-debounce "^2.1.0"
+
+react-is@^16.13.1, react-is@^16.7.0:
+  version "16.13.1"
+  resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz"
+  integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+react-is@^17.0.1:
+  version "17.0.2"
+  resolved "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz"
+  integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+
+react-is@^18.0.0:
+  version "18.3.1"
+  resolved "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz"
+  integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
+
+react-is@^18.2.0:
+  version "18.2.0"
+  resolved "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz"
+  integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+
+react-markdown@^8.0.6:
+  version "8.0.7"
+  resolved "https://registry.npmmirror.com/react-markdown/-/react-markdown-8.0.7.tgz"
+  integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/prop-types" "^15.0.0"
+    "@types/unist" "^2.0.0"
+    comma-separated-tokens "^2.0.0"
+    hast-util-whitespace "^2.0.0"
+    prop-types "^15.0.0"
+    property-information "^6.0.0"
+    react-is "^18.0.0"
+    remark-parse "^10.0.0"
+    remark-rehype "^10.0.0"
+    space-separated-tokens "^2.0.0"
+    style-to-object "^0.4.0"
+    unified "^10.0.0"
+    unist-util-visit "^4.0.0"
+    vfile "^5.0.0"
+
+react-multi-email@^1.0.14:
+  version "1.0.16"
+  resolved "https://registry.npmmirror.com/react-multi-email/-/react-multi-email-1.0.16.tgz"
+  integrity sha512-dgg4TY3P5FWz6c4ghgxH1bjZOgYL3S/HN+EUNe6dqHbLMVzeyud1ztDUlqvft4NX1sUxKx2IF2zDq1yAJQA5yQ==
+
+react-papaparse@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/react-papaparse/-/react-papaparse-4.1.0.tgz"
+  integrity sha512-sGJqK+OE2rVVQPxQUCCDW2prLIglv9kTdizhNe2awXvKo0gLShmhpRN3BwA+ujw5M2gSJ/KGNEwtgII0OsLgkg==
+  dependencies:
+    "@types/papaparse" "^5.3.1"
+    papaparse "^5.3.1"
+
+react-pdf-highlighter@^8.0.0-rc.0:
+  version "8.0.0-rc.0"
+  resolved "https://registry.npmmirror.com/react-pdf-highlighter/-/react-pdf-highlighter-8.0.0-rc.0.tgz"
+  integrity sha512-zYHDq5XxsXA02UbFUoMdo7Cex1l42vHJxszywXmct2kUMZm6TmU3b/a5zOS6ssXWqdjEx5Vpq6/gW+Mek9rDTQ==
+  dependencies:
+    pdfjs-dist "4.4.168"
+    react-rnd "^10.4.11"
+    ts-debounce "^4.0.0"
+
+react-refresh@^0.14.0, "react-refresh@>=0.10.0 <1.0.0":
+  version "0.14.2"
+  resolved "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.14.2.tgz"
+  integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
+
+react-rnd@^10.4.11:
+  version "10.4.13"
+  resolved "https://registry.npmmirror.com/react-rnd/-/react-rnd-10.4.13.tgz"
+  integrity sha512-Vgbf0iihspcQ6nkaFhpOGWfmnuVbhkhoB0hBbYl8aRDA4horsQHESc4E1z7O/P27kFFjK2aqM0u5CGzfr9gEZA==
+  dependencies:
+    re-resizable "6.10.0"
+    react-draggable "4.4.6"
+    tslib "2.6.2"
+
+react-slider@^2.0.4:
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/react-slider/-/react-slider-2.0.5.tgz"
+  integrity sha512-MU5gaK1yYCKnbDDN3CMiVcgkKZwMvdqK2xUEW7fFU37NAzRgS1FZbF9N7vP08E3XXNVhiuZnwVzUa3PYQAZIMg==
+  dependencies:
+    prop-types "^15.8.1"
+
+react-sortablejs@^6.1.4:
+  version "6.1.4"
+  resolved "https://registry.npmmirror.com/react-sortablejs/-/react-sortablejs-6.1.4.tgz"
+  integrity sha512-fc7cBosfhnbh53Mbm6a45W+F735jwZ1UFIYSrIqcO/gRIFoDyZeMtgKlpV4DdyQfbCzdh5LoALLTDRxhMpTyXQ==
+  dependencies:
+    classnames "2.3.1"
+    tiny-invariant "1.2.0"
+
+react-syntax-highlighter@^15.5.0:
+  version "15.5.0"
+  resolved "https://registry.npmmirror.com/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz"
+  integrity sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==
+  dependencies:
+    "@babel/runtime" "^7.3.1"
+    highlight.js "^10.4.1"
+    lowlight "^1.17.0"
+    prismjs "^1.27.0"
+    refractor "^3.6.0"
+
+react-tooltip@5.8.3:
+  version "5.8.3"
+  resolved "https://registry.npmmirror.com/react-tooltip/-/react-tooltip-5.8.3.tgz"
+  integrity sha512-h7maAlm2Xeymc14gWKhhrzsENeB83N65EzZ+AcQIGrOpNE0yefVRJIHhNcWHEJ0FEtf7VZXxtsj5glVXKxEtvA==
+  dependencies:
+    "@floating-ui/dom" "1.1.1"
+    classnames "^2.3.2"
+
+react-window-infinite-loader@^1.0.9:
+  version "1.0.9"
+  resolved "https://registry.npmmirror.com/react-window-infinite-loader/-/react-window-infinite-loader-1.0.9.tgz"
+  integrity sha512-5Hg89IdU4Vrp0RT8kZYKeTIxWZYhNkVXeI1HbKo01Vm/Z7qztDvXljwx16sMzsa9yapRJQW3ODZfMUw38SOWHw==
+
+react-window@^1.8.9:
+  version "1.8.9"
+  resolved "https://registry.npmmirror.com/react-window/-/react-window-1.8.9.tgz"
+  integrity sha512-+Eqx/fj1Aa5WnhRfj9dJg4VYATGwIUP2ItwItiJ6zboKWA6EX3lYDAXfGF2hyNqplEprhbtjbipiADEcwQ823Q==
+  dependencies:
+    "@babel/runtime" "^7.0.0"
+    memoize-one ">=3.1.1 <6"
+
+"react@^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^15.0.0 || >=16.0.0", "react@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", "react@^16 || ^17 || ^18", "react@^16.11.0 || ^17.0.0 || ^18.0.0", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.3.0 || ^17.0.0 || ^18.0.0", "react@^16.3.0 || ^17.0.1 || ^18.0.0", "react@^16.8.0 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react@^18 || ^19", react@^18.0.0, react@^18.2.0, "react@>= 0.14.0", "react@>= 16", "react@>= 16.3.0", "react@>= 16.8.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", react@>=16, react@>=16.0.0, react@>=16.13.1, react@>=16.14.0, react@>=16.3.0, react@>=16.4.0, react@>=16.8, react@>=16.8.0, react@>=16.8.1, react@>=16.9.0, react@>=17, react@>=17.x, react@>=18.0.0, react@>=18.2.0, react@~18.2.0, "react@15.x || 16.x || 17.x || 18.x":
+  version "18.2.0"
+  resolved "https://registry.npmmirror.com/react/-/react-18.2.0.tgz"
+  integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
+  dependencies:
+    loose-envify "^1.1.0"
+
+reactflow@^11.11.3:
+  version "11.11.3"
+  resolved "https://registry.npmmirror.com/reactflow/-/reactflow-11.11.3.tgz"
+  integrity sha512-wusd1Xpn1wgsSEv7UIa4NNraCwH9syBtubBy4xVNXg3b+CDKM+sFaF3hnMx0tr0et4km9urIDdNvwm34QiZong==
+  dependencies:
+    "@reactflow/background" "11.3.13"
+    "@reactflow/controls" "11.2.13"
+    "@reactflow/core" "11.11.3"
+    "@reactflow/minimap" "11.7.13"
+    "@reactflow/node-resizer" "2.2.13"
+    "@reactflow/node-toolbar" "1.3.13"
+
+read-cache@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz"
+  integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
+  dependencies:
+    pify "^2.3.0"
+
+read-pkg-up@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz"
+  integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
+  dependencies:
+    find-up "^4.1.0"
+    read-pkg "^5.2.0"
+    type-fest "^0.8.1"
+
+read-pkg@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz"
+  integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
+  dependencies:
+    "@types/normalize-package-data" "^2.4.0"
+    normalize-package-data "^2.5.0"
+    parse-json "^5.0.0"
+    type-fest "^0.6.0"
+
+readable-stream@^2.3.8:
+  version "2.3.8"
+  resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
+  integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.3"
+    isarray "~1.0.0"
+    process-nextick-args "~2.0.0"
+    safe-buffer "~5.1.1"
+    string_decoder "~1.1.1"
+    util-deprecate "~1.0.1"
+
+readable-stream@^3.5.0:
+  version "3.6.2"
+  resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz"
+  integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+  dependencies:
+    inherits "^2.0.3"
+    string_decoder "^1.1.1"
+    util-deprecate "^1.0.1"
+
+readable-stream@^3.6.0:
+  version "3.6.2"
+  resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz"
+  integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+  dependencies:
+    inherits "^2.0.3"
+    string_decoder "^1.1.1"
+    util-deprecate "^1.0.1"
+
+readable-stream@^4.0.0:
+  version "4.5.2"
+  resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-4.5.2.tgz"
+  integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==
+  dependencies:
+    abort-controller "^3.0.0"
+    buffer "^6.0.3"
+    events "^3.3.0"
+    process "^0.11.10"
+    string_decoder "^1.3.0"
+
+readdirp@~3.6.0:
+  version "3.6.0"
+  resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz"
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+  dependencies:
+    picomatch "^2.2.1"
+
+recast@^0.23.5:
+  version "0.23.9"
+  resolved "https://registry.npmmirror.com/recast/-/recast-0.23.9.tgz"
+  integrity sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==
+  dependencies:
+    ast-types "^0.16.1"
+    esprima "~4.0.0"
+    source-map "~0.6.1"
+    tiny-invariant "^1.3.3"
+    tslib "^2.0.1"
+
+recordrtc@^5.6.2:
+  version "5.6.2"
+  resolved "https://registry.npmmirror.com/recordrtc/-/recordrtc-5.6.2.tgz"
+  integrity sha512-1QNKKNtl7+KcwD1lyOgP3ZlbiJ1d0HtXnypUy7yq49xEERxk31PHvE9RCciDrulPCY7WJ+oz0R9hpNxgsIurGQ==
+
+redent@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz"
+  integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+  dependencies:
+    indent-string "^4.0.0"
+    strip-indent "^3.0.0"
+
+reflect.getprototypeof@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz"
+  integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+    globalthis "^1.0.3"
+    which-builtin-type "^1.1.3"
+
+refractor@^3.6.0:
+  version "3.6.0"
+  resolved "https://registry.npmmirror.com/refractor/-/refractor-3.6.0.tgz"
+  integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==
+  dependencies:
+    hastscript "^6.0.0"
+    parse-entities "^2.0.0"
+    prismjs "~1.27.0"
+
+regenerate-unicode-properties@^10.2.0:
+  version "10.2.0"
+  resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz"
+  integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==
+  dependencies:
+    regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+  version "1.4.2"
+  resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz"
+  integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regenerator-runtime@^0.14.0:
+  version "0.14.1"
+  resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
+  integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
+
+regenerator-transform@^0.15.2:
+  version "0.15.2"
+  resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz"
+  integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==
+  dependencies:
+    "@babel/runtime" "^7.8.4"
+
+regex-parser@^2.2.11:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.3.0.tgz"
+  integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==
+
+regexp-tree@^0.1.24, regexp-tree@~0.1.1:
+  version "0.1.27"
+  resolved "https://registry.npmmirror.com/regexp-tree/-/regexp-tree-0.1.27.tgz"
+  integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==
+
+regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz"
+  integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    set-function-name "^2.0.0"
+
+regexpp@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz"
+  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
+regexpu-core@^6.1.1:
+  version "6.1.1"
+  resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.1.1.tgz"
+  integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==
+  dependencies:
+    regenerate "^1.4.2"
+    regenerate-unicode-properties "^10.2.0"
+    regjsgen "^0.8.0"
+    regjsparser "^0.11.0"
+    unicode-match-property-ecmascript "^2.0.0"
+    unicode-match-property-value-ecmascript "^2.1.0"
+
+regjsgen@^0.8.0:
+  version "0.8.0"
+  resolved "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz"
+  integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.11.0:
+  version "0.11.2"
+  resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.11.2.tgz"
+  integrity sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==
+  dependencies:
+    jsesc "~3.0.2"
+
+regjsparser@^0.9.1:
+  version "0.9.1"
+  resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz"
+  integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
+  dependencies:
+    jsesc "~0.5.0"
+
+rehype-katex@^6.0.2:
+  version "6.0.3"
+  resolved "https://registry.npmmirror.com/rehype-katex/-/rehype-katex-6.0.3.tgz"
+  integrity sha512-ByZlRwRUcWegNbF70CVRm2h/7xy7jQ3R9LaY4VVSvjnoVWwWVhNL60DiZsBpC5tSzYQOCvDbzncIpIjPZWodZA==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/katex" "^0.14.0"
+    hast-util-from-html-isomorphic "^1.0.0"
+    hast-util-to-text "^3.1.0"
+    katex "^0.16.0"
+    unist-util-visit "^4.0.0"
+
+rehype-raw@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmmirror.com/rehype-raw/-/rehype-raw-7.0.0.tgz"
+  integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==
+  dependencies:
+    "@types/hast" "^3.0.0"
+    hast-util-raw "^9.0.0"
+    vfile "^6.0.0"
+
+relateurl@^0.2.7:
+  version "0.2.7"
+  resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz"
+  integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==
+
+remark-breaks@^3.0.2:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/remark-breaks/-/remark-breaks-3.0.3.tgz"
+  integrity sha512-C7VkvcUp1TPUc2eAYzsPdaUh8Xj4FSbQnYA5A9f80diApLZscTDeG7efiWP65W8hV2sEy3JuGVU0i6qr5D8Hug==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-newline-to-break "^1.0.0"
+    unified "^10.0.0"
+
+remark-gfm@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/remark-gfm/-/remark-gfm-3.0.1.tgz"
+  integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-gfm "^2.0.0"
+    micromark-extension-gfm "^2.0.0"
+    unified "^10.0.0"
+
+remark-math@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/remark-math/-/remark-math-5.1.1.tgz"
+  integrity sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-math "^2.0.0"
+    micromark-extension-math "^2.0.0"
+    unified "^10.0.0"
+
+remark-mdx@^2.0.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/remark-mdx/-/remark-mdx-2.3.0.tgz"
+  integrity sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==
+  dependencies:
+    mdast-util-mdx "^2.0.0"
+    micromark-extension-mdxjs "^1.0.0"
+
+remark-parse@^10.0.0:
+  version "10.0.2"
+  resolved "https://registry.npmmirror.com/remark-parse/-/remark-parse-10.0.2.tgz"
+  integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==
+  dependencies:
+    "@types/mdast" "^3.0.0"
+    mdast-util-from-markdown "^1.0.0"
+    unified "^10.0.0"
+
+remark-rehype@^10.0.0:
+  version "10.1.0"
+  resolved "https://registry.npmmirror.com/remark-rehype/-/remark-rehype-10.1.0.tgz"
+  integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==
+  dependencies:
+    "@types/hast" "^2.0.0"
+    "@types/mdast" "^3.0.0"
+    mdast-util-to-hast "^12.1.0"
+    unified "^10.0.0"
+
+renderkid@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz"
+  integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==
+  dependencies:
+    css-select "^4.1.3"
+    dom-converter "^0.2.0"
+    htmlparser2 "^6.1.0"
+    lodash "^4.17.21"
+    strip-ansi "^6.0.1"
+
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz"
+  integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+require-from-string@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz"
+  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
+requireindex@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/requireindex/-/requireindex-1.2.0.tgz"
+  integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==
+
+requires-port@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz"
+  integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+
+resize-observer-polyfill@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz"
+  integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
+resolve-alpn@^1.0.0:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz"
+  integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==
+
+resolve-cwd@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz"
+  integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+  dependencies:
+    resolve-from "^5.0.0"
+
+resolve-from@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz"
+  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-from@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz"
+  integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-pkg-maps@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz"
+  integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
+
+resolve-url-loader@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz"
+  integrity sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==
+  dependencies:
+    adjust-sourcemap-loader "^4.0.0"
+    convert-source-map "^1.7.0"
+    loader-utils "^2.0.0"
+    postcss "^8.2.14"
+    source-map "0.6.1"
+
+resolve.exports@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-2.0.2.tgz"
+  integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==
+
+resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4, resolve@^1.22.8:
+  version "1.22.8"
+  resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz"
+  integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
+  dependencies:
+    is-core-module "^2.13.0"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
+
+resolve@^2.0.0-next.4:
+  version "2.0.0-next.5"
+  resolved "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz"
+  integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==
+  dependencies:
+    is-core-module "^2.13.0"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
+
+responselike@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/responselike/-/responselike-2.0.1.tgz"
+  integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==
+  dependencies:
+    lowercase-keys "^2.0.0"
+
+restore-cursor@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz"
+  integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+  dependencies:
+    onetime "^5.1.0"
+    signal-exit "^3.0.2"
+
+reusify@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz"
+  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rfdc@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz"
+  integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
+
+rimraf@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/ripemd160/-/ripemd160-2.0.2.tgz"
+  integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+  dependencies:
+    hash-base "^3.0.0"
+    inherits "^2.0.1"
+
+robust-predicates@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz"
+  integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==
+
+roughjs@^4.6.6:
+  version "4.6.6"
+  resolved "https://registry.npmmirror.com/roughjs/-/roughjs-4.6.6.tgz"
+  integrity sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==
+  dependencies:
+    hachure-fill "^0.5.2"
+    path-data-parser "^0.1.0"
+    points-on-curve "^0.2.0"
+    points-on-path "^0.2.1"
+
+run-applescript@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/run-applescript/-/run-applescript-5.0.0.tgz"
+  integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==
+  dependencies:
+    execa "^5.0.0"
+
+run-parallel@^1.1.9:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz"
+  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+  dependencies:
+    queue-microtask "^1.2.2"
+
+rw@1:
+  version "1.3.3"
+  resolved "https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz"
+  integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==
+
+rxjs@^7.8.0:
+  version "7.8.1"
+  resolved "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.1.tgz"
+  integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
+  dependencies:
+    tslib "^2.1.0"
+
+sade@^1.7.3:
+  version "1.8.1"
+  resolved "https://registry.npmmirror.com/sade/-/sade-1.8.1.tgz"
+  integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==
+  dependencies:
+    mri "^1.1.0"
+
+safe-array-concat@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz"
+  integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.2.1"
+    has-symbols "^1.0.3"
+    isarray "^2.0.5"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+  version "5.2.1"
+  resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz"
+  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@~5.1.0:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
+  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@~5.1.1:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
+  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-regex-test@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz"
+  integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.3"
+    is-regex "^1.1.4"
+
+safe-regex@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/safe-regex/-/safe-regex-2.1.1.tgz"
+  integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==
+  dependencies:
+    regexp-tree "~0.1.1"
+
+"safer-buffer@>= 2.1.2 < 3.0.0":
+  version "2.1.2"
+  resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz"
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sass-loader@^13.2.0:
+  version "13.3.3"
+  resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-13.3.3.tgz"
+  integrity sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==
+  dependencies:
+    neo-async "^2.6.2"
+
+sass@^1.3.0, sass@^1.61.0:
+  version "1.62.1"
+  resolved "https://registry.npmmirror.com/sass/-/sass-1.62.1.tgz"
+  integrity sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==
+  dependencies:
+    chokidar ">=3.0.0 <4.0.0"
+    immutable "^4.0.0"
+    source-map-js ">=0.6.2 <2.0.0"
+
+saxes@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/saxes/-/saxes-6.0.0.tgz"
+  integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
+  dependencies:
+    xmlchars "^2.2.0"
+
+scheduler@^0.23.0, scheduler@>=0.19.0:
+  version "0.23.0"
+  resolved "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz"
+  integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
+  dependencies:
+    loose-envify "^1.1.0"
+
+schema-utils@^3.1.1:
+  version "3.3.0"
+  resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz"
+  integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
+  dependencies:
+    "@types/json-schema" "^7.0.8"
+    ajv "^6.12.5"
+    ajv-keywords "^3.5.2"
+
+schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.0.tgz"
+  integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    ajv "^8.9.0"
+    ajv-formats "^2.1.1"
+    ajv-keywords "^5.1.0"
+
+screenfull@^5.0.0:
+  version "5.2.0"
+  resolved "https://registry.npmmirror.com/screenfull/-/screenfull-5.2.0.tgz"
+  integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==
+
+semver@^6.0.0:
+  version "6.3.1"
+  resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
+  integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^6.3.0:
+  version "6.3.1"
+  resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
+  integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^6.3.1:
+  version "6.3.1"
+  resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz"
+  integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.0.0, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
+  version "7.6.0"
+  resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz"
+  integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
+  dependencies:
+    lru-cache "^6.0.0"
+
+semver@^7.6.2:
+  version "7.6.3"
+  resolved "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz"
+  integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
+
+semver@^7.6.3:
+  version "7.6.3"
+  resolved "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz"
+  integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
+
+"semver@2 || 3 || 4 || 5":
+  version "5.7.2"
+  resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz"
+  integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
+
+serialize-javascript@^6.0.2:
+  version "6.0.2"
+  resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz"
+  integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
+  dependencies:
+    randombytes "^2.1.0"
+
+server-only@^0.0.1:
+  version "0.0.1"
+  resolved "https://registry.npmmirror.com/server-only/-/server-only-0.0.1.tgz"
+  integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==
+
+set-blocking@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz"
+  integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
+set-function-length@^1.2.1:
+  version "1.2.2"
+  resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz"
+  integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
+  dependencies:
+    define-data-property "^1.1.4"
+    es-errors "^1.3.0"
+    function-bind "^1.1.2"
+    get-intrinsic "^1.2.4"
+    gopd "^1.0.1"
+    has-property-descriptors "^1.0.2"
+
+set-function-name@^2.0.0, set-function-name@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.1.tgz"
+  integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==
+  dependencies:
+    define-data-property "^1.0.1"
+    functions-have-names "^1.2.3"
+    has-property-descriptors "^1.0.0"
+
+setimmediate@^1.0.4:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz"
+  integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+
+sha.js@^2.4.0, sha.js@^2.4.8:
+  version "2.4.11"
+  resolved "https://registry.npmmirror.com/sha.js/-/sha.js-2.4.11.tgz"
+  integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+  dependencies:
+    inherits "^2.0.1"
+    safe-buffer "^5.0.1"
+
+sharp@^0.33.2, sharp@^0.33.3:
+  version "0.33.5"
+  resolved "https://registry.npmmirror.com/sharp/-/sharp-0.33.5.tgz"
+  integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==
+  dependencies:
+    color "^4.2.3"
+    detect-libc "^2.0.3"
+    semver "^7.6.3"
+  optionalDependencies:
+    "@img/sharp-darwin-arm64" "0.33.5"
+    "@img/sharp-darwin-x64" "0.33.5"
+    "@img/sharp-libvips-darwin-arm64" "1.0.4"
+    "@img/sharp-libvips-darwin-x64" "1.0.4"
+    "@img/sharp-libvips-linux-arm" "1.0.5"
+    "@img/sharp-libvips-linux-arm64" "1.0.4"
+    "@img/sharp-libvips-linux-s390x" "1.0.4"
+    "@img/sharp-libvips-linux-x64" "1.0.4"
+    "@img/sharp-libvips-linuxmusl-arm64" "1.0.4"
+    "@img/sharp-libvips-linuxmusl-x64" "1.0.4"
+    "@img/sharp-linux-arm" "0.33.5"
+    "@img/sharp-linux-arm64" "0.33.5"
+    "@img/sharp-linux-s390x" "0.33.5"
+    "@img/sharp-linux-x64" "0.33.5"
+    "@img/sharp-linuxmusl-arm64" "0.33.5"
+    "@img/sharp-linuxmusl-x64" "0.33.5"
+    "@img/sharp-wasm32" "0.33.5"
+    "@img/sharp-win32-ia32" "0.33.5"
+    "@img/sharp-win32-x64" "0.33.5"
+
+shave@^5.0.4:
+  version "5.0.4"
+  resolved "https://registry.npmmirror.com/shave/-/shave-5.0.4.tgz"
+  integrity sha512-AnvEI1wM2rQmrwCl364LVLLhzCzSHJ7DQmdd+fHJTnNzbD2mjsUAOcxWLLYKam7Q63skwyQf2CB2TCdJ2O5c8w==
+
+shebang-command@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz"
+  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+  dependencies:
+    shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz"
+  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+side-channel@^1.0.4, side-channel@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz"
+  integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
+  dependencies:
+    call-bind "^1.0.7"
+    es-errors "^1.3.0"
+    get-intrinsic "^1.2.4"
+    object-inspect "^1.13.1"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+  version "3.0.7"
+  resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz"
+  integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+simple-concat@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz"
+  integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
+
+simple-get@^3.0.3:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/simple-get/-/simple-get-3.1.1.tgz"
+  integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
+  dependencies:
+    decompress-response "^4.2.0"
+    once "^1.3.1"
+    simple-concat "^1.0.0"
+
+simple-swizzle@^0.2.2:
+  version "0.2.2"
+  resolved "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz"
+  integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
+  dependencies:
+    is-arrayish "^0.3.1"
+
+sisteransi@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz"
+  integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+
+size-sensor@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/size-sensor/-/size-sensor-1.0.1.tgz"
+  integrity sha512-QTy7MnuugCFXIedXRpUSk9gUnyNiaxIdxGfUjr8xxXOqIB3QvBUYP9+b51oCg2C4dnhaeNk/h57TxjbvoJrJUA==
+
+slash@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz"
+  integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slash@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz"
+  integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+
+slice-ansi@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-3.0.0.tgz"
+  integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+  dependencies:
+    ansi-styles "^4.0.0"
+    astral-regex "^2.0.0"
+    is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz"
+  integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+  dependencies:
+    ansi-styles "^4.0.0"
+    astral-regex "^2.0.0"
+    is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz"
+  integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
+  dependencies:
+    ansi-styles "^6.0.0"
+    is-fullwidth-code-point "^4.0.0"
+
+sortablejs@^1.15.0, sortablejs@1:
+  version "1.15.0"
+  resolved "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.0.tgz"
+  integrity sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==
+
+source-map-js@^1.0.2, source-map-js@^1.2.0, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0":
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz"
+  integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+
+source-map-support@~0.5.20:
+  version "0.5.21"
+  resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz"
+  integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+  dependencies:
+    buffer-from "^1.0.0"
+    source-map "^0.6.0"
+
+source-map-support@0.5.13:
+  version "0.5.13"
+  resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.13.tgz"
+  integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
+  dependencies:
+    buffer-from "^1.0.0"
+    source-map "^0.6.0"
+
+source-map@^0.6.0:
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@^0.6.1:
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@^0.7.0, source-map@^0.7.3:
+  version "0.7.4"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz"
+  integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
+
+source-map@~0.6.0:
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@0.6.1:
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+space-separated-tokens@^1.0.0:
+  version "1.1.5"
+  resolved "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz"
+  integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
+
+space-separated-tokens@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz"
+  integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
+
+spdx-correct@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz"
+  integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==
+  dependencies:
+    spdx-expression-parse "^3.0.0"
+    spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"
+  integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+
+spdx-expression-parse@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz"
+  integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+  dependencies:
+    spdx-exceptions "^2.1.0"
+    spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+  version "3.0.13"
+  resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz"
+  integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==
+
+sprintf-js@~1.0.2:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz"
+  integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+stack-utils@^2.0.3:
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz"
+  integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==
+  dependencies:
+    escape-string-regexp "^2.0.0"
+
+stackframe@^1.3.4:
+  version "1.3.4"
+  resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz"
+  integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+
+state-local@^1.0.6:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/state-local/-/state-local-1.0.7.tgz"
+  integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==
+
+stop-iteration-iterator@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz"
+  integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==
+  dependencies:
+    internal-slot "^1.0.4"
+
+"storybook@^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0", storybook@^8.3.5, storybook@^8.4.2:
+  version "8.4.2"
+  resolved "https://registry.npmmirror.com/storybook/-/storybook-8.4.2.tgz"
+  integrity sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA==
+  dependencies:
+    "@storybook/core" "8.4.2"
+
+stream-browserify@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/stream-browserify/-/stream-browserify-3.0.0.tgz"
+  integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
+  dependencies:
+    inherits "~2.0.4"
+    readable-stream "^3.5.0"
+
+stream-http@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/stream-http/-/stream-http-3.2.0.tgz"
+  integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==
+  dependencies:
+    builtin-status-codes "^3.0.0"
+    inherits "^2.0.4"
+    readable-stream "^3.6.0"
+    xtend "^4.0.2"
+
+streamsearch@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/streamsearch/-/streamsearch-1.1.0.tgz"
+  integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
+
+string_decoder@^1.1.1, string_decoder@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz"
+  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+  dependencies:
+    safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz"
+  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+  dependencies:
+    safe-buffer "~5.1.0"
+
+string-argv@^0.3.1:
+  version "0.3.2"
+  resolved "https://registry.npmmirror.com/string-argv/-/string-argv-0.3.2.tgz"
+  integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
+
+string-length@^4.0.1:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz"
+  integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
+  dependencies:
+    char-regex "^1.0.2"
+    strip-ansi "^6.0.0"
+
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz"
+  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+  dependencies:
+    emoji-regex "^8.0.0"
+    is-fullwidth-code-point "^3.0.0"
+    strip-ansi "^6.0.1"
+
+string-width@^5.0.0:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz"
+  integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+  dependencies:
+    eastasianwidth "^0.2.0"
+    emoji-regex "^9.2.2"
+    strip-ansi "^7.0.1"
+
+string.prototype.matchall@^4.0.8:
+  version "4.0.10"
+  resolved "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz"
+  integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+    get-intrinsic "^1.2.1"
+    has-symbols "^1.0.3"
+    internal-slot "^1.0.5"
+    regexp.prototype.flags "^1.5.0"
+    set-function-name "^2.0.0"
+    side-channel "^1.0.4"
+
+string.prototype.trim@^1.2.8:
+  version "1.2.8"
+  resolved "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz"
+  integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+
+string.prototype.trimend@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz"
+  integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+
+string.prototype.trimstart@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz"
+  integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.2.0"
+    es-abstract "^1.22.1"
+
+stringify-entities@^4.0.0:
+  version "4.0.3"
+  resolved "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.3.tgz"
+  integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==
+  dependencies:
+    character-entities-html4 "^2.0.0"
+    character-entities-legacy "^3.0.0"
+
+strip-ansi@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+  dependencies:
+    ansi-regex "^5.0.1"
+
+strip-ansi@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+  dependencies:
+    ansi-regex "^5.0.1"
+
+strip-ansi@^7.0.1, strip-ansi@^7.1.0:
+  version "7.1.0"
+  resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz"
+  integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
+  dependencies:
+    ansi-regex "^6.0.1"
+
+strip-bom@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz"
+  integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
+
+strip-bom@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz"
+  integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
+
+strip-final-newline@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
+  integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-final-newline@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz"
+  integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
+
+strip-indent@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz"
+  integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+  dependencies:
+    min-indent "^1.0.0"
+
+strip-indent@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-4.0.0.tgz"
+  integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==
+  dependencies:
+    min-indent "^1.0.1"
+
+strip-json-comments@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
+  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+style-loader@^3.3.1:
+  version "3.3.4"
+  resolved "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.4.tgz"
+  integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==
+
+style-to-object@^0.4.0, style-to-object@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/style-to-object/-/style-to-object-0.4.1.tgz"
+  integrity sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==
+  dependencies:
+    inline-style-parser "0.1.1"
+
+styled-jsx@^5.1.6:
+  version "5.1.6"
+  resolved "https://registry.npmmirror.com/styled-jsx/-/styled-jsx-5.1.6.tgz"
+  integrity sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==
+  dependencies:
+    client-only "0.0.1"
+
+styled-jsx@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/styled-jsx/-/styled-jsx-5.1.1.tgz"
+  integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==
+  dependencies:
+    client-only "0.0.1"
+
+stylis@^4.3.1:
+  version "4.3.4"
+  resolved "https://registry.npmmirror.com/stylis/-/stylis-4.3.4.tgz"
+  integrity sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==
+
+sucrase@^3.32.0:
+  version "3.32.0"
+  resolved "https://registry.npmmirror.com/sucrase/-/sucrase-3.32.0.tgz"
+  integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==
+  dependencies:
+    "@jridgewell/gen-mapping" "^0.3.2"
+    commander "^4.0.0"
+    glob "7.1.6"
+    lines-and-columns "^1.1.6"
+    mz "^2.7.0"
+    pirates "^4.0.1"
+    ts-interface-checker "^0.1.9"
+
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-color@^8.0.0:
+  version "8.1.1"
+  resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz"
+  integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+swr@^2.1.0:
+  version "2.1.5"
+  resolved "https://registry.npmmirror.com/swr/-/swr-2.1.5.tgz"
+  integrity sha512-/OhfZMcEpuz77KavXST5q6XE9nrOBOVcBLWjMT+oAE/kQHyE3PASrevXCtQDZ8aamntOfFkbVJp7Il9tNBQWrw==
+  dependencies:
+    use-sync-external-store "^1.2.0"
+
+symbol-tree@^3.2.4:
+  version "3.2.4"
+  resolved "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz"
+  integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+
+synckit@^0.8.5:
+  version "0.8.5"
+  resolved "https://registry.npmmirror.com/synckit/-/synckit-0.8.5.tgz"
+  integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==
+  dependencies:
+    "@pkgr/utils" "^2.3.1"
+    tslib "^2.5.0"
+
+tabbable@^6.0.1:
+  version "6.2.0"
+  resolved "https://registry.npmmirror.com/tabbable/-/tabbable-6.2.0.tgz"
+  integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
+
+tailwind-merge@^2.4.0:
+  version "2.5.2"
+  resolved "https://registry.npmmirror.com/tailwind-merge/-/tailwind-merge-2.5.2.tgz"
+  integrity sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==
+
+tailwindcss@^3.4.4, "tailwindcss@>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1", "tailwindcss@>=3.0.0 || insiders":
+  version "3.4.9"
+  resolved "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.9.tgz"
+  integrity sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg==
+  dependencies:
+    "@alloc/quick-lru" "^5.2.0"
+    arg "^5.0.2"
+    chokidar "^3.5.3"
+    didyoumean "^1.2.2"
+    dlv "^1.1.3"
+    fast-glob "^3.3.0"
+    glob-parent "^6.0.2"
+    is-glob "^4.0.3"
+    jiti "^1.21.0"
+    lilconfig "^2.1.0"
+    micromatch "^4.0.5"
+    normalize-path "^3.0.0"
+    object-hash "^3.0.0"
+    picocolors "^1.0.0"
+    postcss "^8.4.23"
+    postcss-import "^15.1.0"
+    postcss-js "^4.0.1"
+    postcss-load-config "^4.0.1"
+    postcss-nested "^6.0.1"
+    postcss-selector-parser "^6.0.11"
+    resolve "^1.22.2"
+    sucrase "^3.32.0"
+
+tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz"
+  integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
+
+tar@^6.1.11:
+  version "6.2.1"
+  resolved "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz"
+  integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
+  dependencies:
+    chownr "^2.0.0"
+    fs-minipass "^2.0.0"
+    minipass "^5.0.0"
+    minizlib "^2.1.1"
+    mkdirp "^1.0.3"
+    yallist "^4.0.0"
+
+terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.11:
+  version "5.3.13"
+  resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.13.tgz"
+  integrity sha512-JG3pBixF6kx2o0Yfz2K6pqh72DpwTI08nooHd06tcj5WyIt5SsSiUYqRT+kemrGUNSuSzVhwfZ28aO8gogajNQ==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.25"
+    jest-worker "^27.4.5"
+    schema-utils "^4.3.0"
+    serialize-javascript "^6.0.2"
+    terser "^5.31.1"
+
+terser@^5.10.0, terser@^5.31.1:
+  version "5.37.0"
+  resolved "https://registry.npmmirror.com/terser/-/terser-5.37.0.tgz"
+  integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==
+  dependencies:
+    "@jridgewell/source-map" "^0.3.3"
+    acorn "^8.8.2"
+    commander "^2.20.0"
+    source-map-support "~0.5.20"
+
+test-exclude@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz"
+  integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
+  dependencies:
+    "@istanbuljs/schema" "^0.1.2"
+    glob "^7.1.4"
+    minimatch "^3.0.4"
+
+text-table@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz"
+  integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+thenify-all@^1.0.0:
+  version "1.6.0"
+  resolved "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz"
+  integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
+  dependencies:
+    thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4":
+  version "3.3.1"
+  resolved "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz"
+  integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
+  dependencies:
+    any-promise "^1.0.0"
+
+throttle-debounce@^2.1.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz"
+  integrity sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==
+
+through@^2.3.8:
+  version "2.3.8"
+  resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz"
+  integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
+timers-browserify@^2.0.12:
+  version "2.0.12"
+  resolved "https://registry.npmmirror.com/timers-browserify/-/timers-browserify-2.0.12.tgz"
+  integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+  dependencies:
+    setimmediate "^1.0.4"
+
+tiny-invariant@^1.3.1, tiny-invariant@^1.3.3:
+  version "1.3.3"
+  resolved "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz"
+  integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
+
+tiny-invariant@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz"
+  integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==
+
+tinyexec@^0.3.0:
+  version "0.3.1"
+  resolved "https://registry.npmmirror.com/tinyexec/-/tinyexec-0.3.1.tgz"
+  integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==
+
+tinyrainbow@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz"
+  integrity sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==
+
+tinyspy@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/tinyspy/-/tinyspy-3.0.2.tgz"
+  integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==
+
+titleize@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/titleize/-/titleize-3.0.0.tgz"
+  integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==
+
+tmpl@1.0.5:
+  version "1.0.5"
+  resolved "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz"
+  integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+
+to-regex-range@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  dependencies:
+    is-number "^7.0.0"
+
+toggle-selection@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz"
+  integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
+
+tough-cookie@^4.1.2:
+  version "4.1.4"
+  resolved "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.4.tgz"
+  integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==
+  dependencies:
+    psl "^1.1.33"
+    punycode "^2.1.1"
+    universalify "^0.2.0"
+    url-parse "^1.5.3"
+
+tr46@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/tr46/-/tr46-3.0.0.tgz"
+  integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==
+  dependencies:
+    punycode "^2.1.1"
+
+tr46@~0.0.3:
+  version "0.0.3"
+  resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz"
+  integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
+trim-lines@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz"
+  integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
+
+trough@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/trough/-/trough-2.1.0.tgz"
+  integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
+
+ts-debounce@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/ts-debounce/-/ts-debounce-4.0.0.tgz"
+  integrity sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==
+
+ts-dedent@^2.0.0, ts-dedent@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/ts-dedent/-/ts-dedent-2.2.0.tgz"
+  integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==
+
+ts-interface-checker@^0.1.9:
+  version "0.1.13"
+  resolved "https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
+  integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
+
+ts-node@^10.9.2, ts-node@>=9.0.0:
+  version "10.9.2"
+  resolved "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.2.tgz"
+  integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
+  dependencies:
+    "@cspotcode/source-map-support" "^0.8.0"
+    "@tsconfig/node10" "^1.0.7"
+    "@tsconfig/node12" "^1.0.7"
+    "@tsconfig/node14" "^1.0.0"
+    "@tsconfig/node16" "^1.0.2"
+    acorn "^8.4.1"
+    acorn-walk "^8.1.1"
+    arg "^4.1.0"
+    create-require "^1.1.0"
+    diff "^4.0.1"
+    make-error "^1.1.1"
+    v8-compile-cache-lib "^3.0.1"
+    yn "3.1.1"
+
+ts-pnp@^1.1.6:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/ts-pnp/-/ts-pnp-1.2.0.tgz"
+  integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
+
+tsconfig-paths-webpack-plugin@^4.0.1:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz"
+  integrity sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==
+  dependencies:
+    chalk "^4.1.0"
+    enhanced-resolve "^5.7.0"
+    tsconfig-paths "^4.1.2"
+
+tsconfig-paths@^3.15.0:
+  version "3.15.0"
+  resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz"
+  integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==
+  dependencies:
+    "@types/json5" "^0.0.29"
+    json5 "^1.0.2"
+    minimist "^1.2.6"
+    strip-bom "^3.0.0"
+
+tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2, tsconfig-paths@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz"
+  integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==
+  dependencies:
+    json5 "^2.2.2"
+    minimist "^1.2.6"
+    strip-bom "^3.0.0"
+
+tslib@^1.8.1:
+  version "1.14.1"
+  resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz"
+  integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.5.0, tslib@2.6.2:
+  version "2.6.2"
+  resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz"
+  integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
+
+tslib@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
+
+tsutils@^3.21.0:
+  version "3.21.0"
+  resolved "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz"
+  integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+  dependencies:
+    tslib "^1.8.1"
+
+tty-browserify@^0.0.1:
+  version "0.0.1"
+  resolved "https://registry.npmmirror.com/tty-browserify/-/tty-browserify-0.0.1.tgz"
+  integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==
+
+tween-functions@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/tween-functions/-/tween-functions-1.2.0.tgz"
+  integrity sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==
+
+type-check@^0.4.0, type-check@~0.4.0:
+  version "0.4.0"
+  resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz"
+  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+  dependencies:
+    prelude-ls "^1.2.1"
+
+type-detect@4.0.8:
+  version "4.0.8"
+  resolved "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz"
+  integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
+type-fest@^0.20.2:
+  version "0.20.2"
+  resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+type-fest@^0.21.3:
+  version "0.21.3"
+  resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz"
+  integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+type-fest@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz"
+  integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+
+type-fest@^0.8.1:
+  version "0.8.1"
+  resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz"
+  integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
+type-fest@^2.14.0, type-fest@^2.19.0, "type-fest@>=0.17.0 <5.0.0":
+  version "2.19.0"
+  resolved "https://registry.npmmirror.com/type-fest/-/type-fest-2.19.0.tgz"
+  integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
+
+typed-array-buffer@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz"
+  integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.2.1"
+    is-typed-array "^1.1.10"
+
+typed-array-byte-length@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz"
+  integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
+  dependencies:
+    call-bind "^1.0.2"
+    for-each "^0.3.3"
+    has-proto "^1.0.1"
+    is-typed-array "^1.1.10"
+
+typed-array-byte-offset@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz"
+  integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
+  dependencies:
+    available-typed-arrays "^1.0.5"
+    call-bind "^1.0.2"
+    for-each "^0.3.3"
+    has-proto "^1.0.1"
+    is-typed-array "^1.1.10"
+
+typed-array-length@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.4.tgz"
+  integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
+  dependencies:
+    call-bind "^1.0.2"
+    for-each "^0.3.3"
+    is-typed-array "^1.1.9"
+
+"typescript@>= 4.2.x", "typescript@>= 4.3.x", "typescript@>= 4.x", typescript@>=2.7, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=3.3.1, typescript@>=3.9, typescript@>=4.9.5, typescript@>3.6.0, typescript@4.9.5:
+  version "4.9.5"
+  resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz"
+  integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+
+ufo@^1.5.4:
+  version "1.5.4"
+  resolved "https://registry.npmmirror.com/ufo/-/ufo-1.5.4.tgz"
+  integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==
+
+uglify-js@^3.17.4:
+  version "3.17.4"
+  resolved "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.17.4.tgz"
+  integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==
+
+unbox-primitive@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
+  integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
+  dependencies:
+    call-bind "^1.0.2"
+    has-bigints "^1.0.2"
+    has-symbols "^1.0.3"
+    which-boxed-primitive "^1.0.2"
+
+undici-types@~6.19.8:
+  version "6.19.8"
+  resolved "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz"
+  integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz"
+  integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
+
+unicode-match-property-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz"
+  integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+  dependencies:
+    unicode-canonical-property-names-ecmascript "^2.0.0"
+    unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.1.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz"
+  integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz"
+  integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+
+unified@^10.0.0:
+  version "10.1.2"
+  resolved "https://registry.npmmirror.com/unified/-/unified-10.1.2.tgz"
+  integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    bail "^2.0.0"
+    extend "^3.0.0"
+    is-buffer "^2.0.0"
+    is-plain-obj "^4.0.0"
+    trough "^2.0.0"
+    vfile "^5.0.0"
+
+unist-util-find-after@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.npmmirror.com/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz"
+  integrity sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-is "^5.0.0"
+
+unist-util-generated@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz"
+  integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==
+
+unist-util-is@^5.0.0:
+  version "5.2.1"
+  resolved "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-5.2.1.tgz"
+  integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==
+  dependencies:
+    "@types/unist" "^2.0.0"
+
+unist-util-is@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.0.tgz"
+  integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==
+  dependencies:
+    "@types/unist" "^3.0.0"
+
+unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz"
+  integrity sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==
+  dependencies:
+    "@types/unist" "^2.0.0"
+
+unist-util-position@^4.0.0:
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-4.0.4.tgz"
+  integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==
+  dependencies:
+    "@types/unist" "^2.0.0"
+
+unist-util-position@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz"
+  integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==
+  dependencies:
+    "@types/unist" "^3.0.0"
+
+unist-util-remove-position@^4.0.0:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz"
+  integrity sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-visit "^4.0.0"
+
+unist-util-stringify-position@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz"
+  integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
+  dependencies:
+    "@types/unist" "^2.0.2"
+
+unist-util-stringify-position@^3.0.0:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz"
+  integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
+  dependencies:
+    "@types/unist" "^2.0.0"
+
+unist-util-stringify-position@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz"
+  integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==
+  dependencies:
+    "@types/unist" "^3.0.0"
+
+unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1:
+  version "5.1.3"
+  resolved "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz"
+  integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-is "^5.0.0"
+
+unist-util-visit-parents@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz"
+  integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==
+  dependencies:
+    "@types/unist" "^3.0.0"
+    unist-util-is "^6.0.0"
+
+unist-util-visit@^4.0.0:
+  version "4.1.2"
+  resolved "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz"
+  integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-is "^5.0.0"
+    unist-util-visit-parents "^5.1.1"
+
+unist-util-visit@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz"
+  integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==
+  dependencies:
+    "@types/unist" "^3.0.0"
+    unist-util-is "^6.0.0"
+    unist-util-visit-parents "^6.0.0"
+
+universalify@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz"
+  integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
+
+universalify@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz"
+  integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+
+unplugin@^1.3.1:
+  version "1.15.0"
+  resolved "https://registry.npmmirror.com/unplugin/-/unplugin-1.15.0.tgz"
+  integrity sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==
+  dependencies:
+    acorn "^8.14.0"
+    webpack-virtual-modules "^0.6.2"
+
+untildify@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/untildify/-/untildify-4.0.0.tgz"
+  integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
+
+update-browserslist-db@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz"
+  integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==
+  dependencies:
+    escalade "^3.2.0"
+    picocolors "^1.1.0"
+
+uri-js@^4.2.2:
+  version "4.4.1"
+  resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+  dependencies:
+    punycode "^2.1.0"
+
+url-parse@^1.5.3:
+  version "1.5.10"
+  resolved "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz"
+  integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
+  dependencies:
+    querystringify "^2.1.1"
+    requires-port "^1.0.0"
+
+url@^0.11.0:
+  version "0.11.4"
+  resolved "https://registry.npmmirror.com/url/-/url-0.11.4.tgz"
+  integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==
+  dependencies:
+    punycode "^1.4.1"
+    qs "^6.12.3"
+
+use-context-selector@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/use-context-selector/-/use-context-selector-1.4.1.tgz"
+  integrity sha512-Io2ArvcRO+6MWIhkdfMFt+WKQX+Vb++W8DS2l03z/Vw/rz3BclKpM0ynr4LYGyU85Eke+Yx5oIhTY++QR0ZDoA==
+
+use-strict@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/use-strict/-/use-strict-1.0.1.tgz"
+  integrity sha512-IeiWvvEXfW5ltKVMkxq6FvNf2LojMKvB2OCeja6+ct24S1XOmQw2dGr2JyndwACWAGJva9B7yPHwAmeA9QCqAQ==
+
+use-sync-external-store@^1.2.0, use-sync-external-store@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz"
+  integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz"
+  integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+util@^0.12.4, util@^0.12.5:
+  version "0.12.5"
+  resolved "https://registry.npmmirror.com/util/-/util-0.12.5.tgz"
+  integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
+  dependencies:
+    inherits "^2.0.3"
+    is-arguments "^1.0.4"
+    is-generator-function "^1.0.7"
+    is-typed-array "^1.1.3"
+    which-typed-array "^1.1.2"
+
+utila@~0.4:
+  version "0.4.0"
+  resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz"
+  integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==
+
+uuid@^9.0.0, uuid@^9.0.1:
+  version "9.0.1"
+  resolved "https://registry.npmmirror.com/uuid/-/uuid-9.0.1.tgz"
+  integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
+
+uvu@^0.5.0:
+  version "0.5.6"
+  resolved "https://registry.npmmirror.com/uvu/-/uvu-0.5.6.tgz"
+  integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==
+  dependencies:
+    dequal "^2.0.0"
+    diff "^5.0.0"
+    kleur "^4.0.3"
+    sade "^1.7.3"
+
+v8-compile-cache-lib@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"
+  integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
+
+v8-to-istanbul@^9.0.1:
+  version "9.3.0"
+  resolved "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz"
+  integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.12"
+    "@types/istanbul-lib-coverage" "^2.0.1"
+    convert-source-map "^2.0.0"
+
+validate-npm-package-license@^3.0.1:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"
+  integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+  dependencies:
+    spdx-correct "^3.0.0"
+    spdx-expression-parse "^3.0.0"
+
+vfile-location@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/vfile-location/-/vfile-location-4.1.0.tgz"
+  integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    vfile "^5.0.0"
+
+vfile-location@^5.0.0:
+  version "5.0.3"
+  resolved "https://registry.npmmirror.com/vfile-location/-/vfile-location-5.0.3.tgz"
+  integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==
+  dependencies:
+    "@types/unist" "^3.0.0"
+    vfile "^6.0.0"
+
+vfile-message@^3.0.0:
+  version "3.1.4"
+  resolved "https://registry.npmmirror.com/vfile-message/-/vfile-message-3.1.4.tgz"
+  integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-stringify-position "^3.0.0"
+
+vfile-message@^4.0.0:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.2.tgz"
+  integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==
+  dependencies:
+    "@types/unist" "^3.0.0"
+    unist-util-stringify-position "^4.0.0"
+
+vfile@^5.0.0:
+  version "5.3.7"
+  resolved "https://registry.npmmirror.com/vfile/-/vfile-5.3.7.tgz"
+  integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    is-buffer "^2.0.0"
+    unist-util-stringify-position "^3.0.0"
+    vfile-message "^3.0.0"
+
+vfile@^6.0.0:
+  version "6.0.3"
+  resolved "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz"
+  integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==
+  dependencies:
+    "@types/unist" "^3.0.0"
+    vfile-message "^4.0.0"
+
+vite-code-inspector-plugin@0.18.2:
+  version "0.18.2"
+  resolved "https://registry.npmmirror.com/vite-code-inspector-plugin/-/vite-code-inspector-plugin-0.18.2.tgz"
+  integrity sha512-MfHvere+71vL0BOposwgbHKZ8o973mYnMhGmU4uzOMt+gsmIjqHxcUkak9K2RMkRB1mG7/Gehvyy28SkUuhg3A==
+  dependencies:
+    code-inspector-core "0.18.2"
+
+vm-browserify@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.npmmirror.com/vm-browserify/-/vm-browserify-1.1.2.tgz"
+  integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
+void-elements@3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz"
+  integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==
+
+vscode-jsonrpc@8.2.0:
+  version "8.2.0"
+  resolved "https://registry.npmmirror.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz"
+  integrity sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==
+
+vscode-languageserver-protocol@3.17.5:
+  version "3.17.5"
+  resolved "https://registry.npmmirror.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz"
+  integrity sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==
+  dependencies:
+    vscode-jsonrpc "8.2.0"
+    vscode-languageserver-types "3.17.5"
+
+vscode-languageserver-textdocument@~1.0.11:
+  version "1.0.12"
+  resolved "https://registry.npmmirror.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz"
+  integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==
+
+vscode-languageserver-types@3.17.5:
+  version "3.17.5"
+  resolved "https://registry.npmmirror.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz"
+  integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==
+
+vscode-languageserver@~9.0.1:
+  version "9.0.1"
+  resolved "https://registry.npmmirror.com/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz"
+  integrity sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==
+  dependencies:
+    vscode-languageserver-protocol "3.17.5"
+
+vscode-uri@~3.0.8:
+  version "3.0.8"
+  resolved "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.0.8.tgz"
+  integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==
+
+vue-eslint-parser@^9.3.0:
+  version "9.3.0"
+  resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.3.0.tgz"
+  integrity sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==
+  dependencies:
+    debug "^4.3.4"
+    eslint-scope "^7.1.1"
+    eslint-visitor-keys "^3.3.0"
+    espree "^9.3.1"
+    esquery "^1.4.0"
+    lodash "^4.17.21"
+    semver "^7.3.6"
+
+w3c-xmlserializer@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz"
+  integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==
+  dependencies:
+    xml-name-validator "^4.0.0"
+
+walker@^1.0.8:
+  version "1.0.8"
+  resolved "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz"
+  integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
+  dependencies:
+    makeerror "1.0.12"
+
+watchpack@^2.4.1:
+  version "2.4.2"
+  resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz"
+  integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==
+  dependencies:
+    glob-to-regexp "^0.4.1"
+    graceful-fs "^4.1.2"
+
+web-namespaces@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/web-namespaces/-/web-namespaces-2.0.1.tgz"
+  integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
+
+webidl-conversions@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
+  integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
+webidl-conversions@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz"
+  integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
+
+webpack-code-inspector-plugin@0.18.2:
+  version "0.18.2"
+  resolved "https://registry.npmmirror.com/webpack-code-inspector-plugin/-/webpack-code-inspector-plugin-0.18.2.tgz"
+  integrity sha512-sSUgrISb8KqKGiX+AvKA5FAdiOh41nEX/EU+c/d1ChYQmwLDdWXxsMyAs494R3r+ihVUchhLalb9V6TvDKTOCA==
+  dependencies:
+    code-inspector-core "0.18.2"
+
+webpack-dev-middleware@^6.1.2:
+  version "6.1.3"
+  resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-6.1.3.tgz"
+  integrity sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==
+  dependencies:
+    colorette "^2.0.10"
+    memfs "^3.4.12"
+    mime-types "^2.1.31"
+    range-parser "^1.2.1"
+    schema-utils "^4.0.0"
+
+webpack-hot-middleware@^2.25.1, webpack-hot-middleware@2.x:
+  version "2.26.1"
+  resolved "https://registry.npmmirror.com/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz"
+  integrity sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==
+  dependencies:
+    ansi-html-community "0.0.8"
+    html-entities "^2.1.0"
+    strip-ansi "^6.0.0"
+
+webpack-sources@^3, webpack-sources@^3.2.3:
+  version "3.2.3"
+  resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz"
+  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
+webpack-virtual-modules@^0.6.0, webpack-virtual-modules@^0.6.2:
+  version "0.6.2"
+  resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz"
+  integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==
+
+webpack@^5.0.0, webpack@^5.1.0, webpack@^5.11.0, webpack@^5.20.0, "webpack@>= 4", webpack@>=4, "webpack@>=4.43.0 <6.0.0", webpack@>=5, webpack@5:
+  version "5.98.0"
+  resolved "https://registry.npmmirror.com/webpack/-/webpack-5.98.0.tgz"
+  integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==
+  dependencies:
+    "@types/eslint-scope" "^3.7.7"
+    "@types/estree" "^1.0.6"
+    "@webassemblyjs/ast" "^1.14.1"
+    "@webassemblyjs/wasm-edit" "^1.14.1"
+    "@webassemblyjs/wasm-parser" "^1.14.1"
+    acorn "^8.14.0"
+    browserslist "^4.24.0"
+    chrome-trace-event "^1.0.2"
+    enhanced-resolve "^5.17.1"
+    es-module-lexer "^1.2.1"
+    eslint-scope "5.1.1"
+    events "^3.2.0"
+    glob-to-regexp "^0.4.1"
+    graceful-fs "^4.2.11"
+    json-parse-even-better-errors "^2.3.1"
+    loader-runner "^4.2.0"
+    mime-types "^2.1.27"
+    neo-async "^2.6.2"
+    schema-utils "^4.3.0"
+    tapable "^2.1.1"
+    terser-webpack-plugin "^5.3.11"
+    watchpack "^2.4.1"
+    webpack-sources "^3.2.3"
+
+whatwg-encoding@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz"
+  integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==
+  dependencies:
+    iconv-lite "0.6.3"
+
+whatwg-mimetype@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz"
+  integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==
+
+whatwg-url@^11.0.0:
+  version "11.0.0"
+  resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-11.0.0.tgz"
+  integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==
+  dependencies:
+    tr46 "^3.0.0"
+    webidl-conversions "^7.0.0"
+
+whatwg-url@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz"
+  integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+  dependencies:
+    tr46 "~0.0.3"
+    webidl-conversions "^3.0.0"
+
+which-boxed-primitive@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
+  integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+  dependencies:
+    is-bigint "^1.0.1"
+    is-boolean-object "^1.1.0"
+    is-number-object "^1.0.4"
+    is-string "^1.0.5"
+    is-symbol "^1.0.3"
+
+which-builtin-type@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz"
+  integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==
+  dependencies:
+    function.prototype.name "^1.1.5"
+    has-tostringtag "^1.0.0"
+    is-async-function "^2.0.0"
+    is-date-object "^1.0.5"
+    is-finalizationregistry "^1.0.2"
+    is-generator-function "^1.0.10"
+    is-regex "^1.1.4"
+    is-weakref "^1.0.2"
+    isarray "^2.0.5"
+    which-boxed-primitive "^1.0.2"
+    which-collection "^1.0.1"
+    which-typed-array "^1.1.9"
+
+which-collection@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.1.tgz"
+  integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
+  dependencies:
+    is-map "^2.0.1"
+    is-set "^2.0.1"
+    is-weakmap "^2.0.1"
+    is-weakset "^2.0.1"
+
+which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9:
+  version "1.1.13"
+  resolved "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.13.tgz"
+  integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==
+  dependencies:
+    available-typed-arrays "^1.0.5"
+    call-bind "^1.0.4"
+    for-each "^0.3.3"
+    gopd "^1.0.1"
+    has-tostringtag "^1.0.0"
+
+which@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
+wide-align@^1.1.2:
+  version "1.1.5"
+  resolved "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.5.tgz"
+  integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+  dependencies:
+    string-width "^1.0.2 || 2 || 3 || 4"
+
+word-wrap@^1.2.5:
+  version "1.2.5"
+  resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz"
+  integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+
+wrap-ansi@^6.2.0:
+  version "6.2.0"
+  resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
+  integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz"
+  integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz"
+  integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
+  dependencies:
+    imurmurhash "^0.1.4"
+    signal-exit "^3.0.7"
+
+ws@^8.11.0, ws@^8.2.3:
+  version "8.18.0"
+  resolved "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz"
+  integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
+
+xml-name-validator@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz"
+  integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
+
+xmlchars@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz"
+  integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+
+xtend@^4.0.0, xtend@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz"
+  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^5.0.5:
+  version "5.0.8"
+  resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz"
+  integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yallist@^3.0.2:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz"
+  integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml-eslint-parser@^1.1.0, yaml-eslint-parser@^1.2.1:
+  version "1.2.2"
+  resolved "https://registry.npmmirror.com/yaml-eslint-parser/-/yaml-eslint-parser-1.2.2.tgz"
+  integrity sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==
+  dependencies:
+    eslint-visitor-keys "^3.0.0"
+    lodash "^4.17.21"
+    yaml "^2.0.0"
+
+yaml@^1.10.0:
+  version "1.10.2"
+  resolved "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz"
+  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yaml@^2.0.0:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/yaml/-/yaml-2.3.1.tgz"
+  integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
+
+yaml@^2.1.1:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/yaml/-/yaml-2.3.1.tgz"
+  integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
+
+yaml@^2.2.2:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/yaml/-/yaml-2.3.1.tgz"
+  integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
+
+yargs-parser@^21.1.1:
+  version "21.1.1"
+  resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz"
+  integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
+yargs@^17.3.1:
+  version "17.7.2"
+  resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz"
+  integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
+  dependencies:
+    cliui "^8.0.1"
+    escalade "^3.1.1"
+    get-caller-file "^2.0.5"
+    require-directory "^2.1.1"
+    string-width "^4.2.3"
+    y18n "^5.0.5"
+    yargs-parser "^21.1.1"
+
+yjs@>=13.5.22:
+  version "13.6.24"
+  resolved "https://registry.npmmirror.com/yjs/-/yjs-13.6.24.tgz"
+  integrity sha512-xn/pYLTZa3uD1uDG8lpxfLRo5SR/rp0frdASOl2a71aYNvUXdWcLtVL91s2y7j+Q8ppmjZ9H3jsGVgoFMbT2VA==
+  dependencies:
+    lib0 "^0.2.99"
+
+yn@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz"
+  integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+yocto-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz"
+  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+yocto-queue@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.1.1.tgz"
+  integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==
+
+zod@^3.23.6:
+  version "3.23.8"
+  resolved "https://registry.npmmirror.com/zod/-/zod-3.23.8.tgz"
+  integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==
+
+zrender@5.6.0:
+  version "5.6.0"
+  resolved "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz"
+  integrity sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==
+  dependencies:
+    tslib "2.3.0"
+
+zundo@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/zundo/-/zundo-2.1.0.tgz"
+  integrity sha512-IMhYXDZWbyGu/p3rQb1d3orhCfAyi9hGkx6N579ZtO7mWrzvBdNyGEcxciv1jtIYPKBqLSAgzKqjLguau09f9g==
+
+zustand@^4.3.0, zustand@^4.4.1, zustand@^4.5.2:
+  version "4.5.2"
+  resolved "https://registry.npmmirror.com/zustand/-/zustand-4.5.2.tgz"
+  integrity sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==
+  dependencies:
+    use-sync-external-store "1.2.0"
+
+zwitch@^2.0.0:
+  version "2.0.4"
+  resolved "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz"
+  integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==

--
Gitblit v1.8.0